@charset "UTF-8";
/* CSS Document */

/*--------------------------------------------------------
　基本設定
--------------------------------------------------------*/
html{}

body {
	width: 100%;
	height: 100%;
	font-family:"Noto Sans Japanese", 'Karla', "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	color:#333;
	font-size: 10px;
	font-size: 1rem;
	background:#FFF;
	line-height:1.3em;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
	position: relative;
	overflow: hidden;
}
#wrapper{overflow: hidden;}
*{ box-sizing:border-box; -webkit-box-sizing:border-box; -moz-box-sizing:border-box;}

img{
	width: 100%;
	height: auto;
}
a{
	text-decoration: none;
	-webkit-backface-visibility: hidden; /* Chrome:hover欠け対策 */
    backface-visibility: hidden; /* Chrome:hover欠け対策 */
	padding: 1px; /* Chrome:hover欠け対策 */
}
a {
	transition-duration: 0.5s;
}
a:hover {
	opacity: 0.7;
}

/*--------------------------------------
フォーム
---------------------------------------*/
input[type=text],
input[type=tel],
input[type=email] {
  background: #fff;
  border: 1px solid #999999;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  font-size: 16px;
  padding: 0 10px;
  height: 40px;
  line-height: 40px;
  width: 100%;
}
select {
  appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -webkit-appearance: none;
  background:#FFFFFF;
  border: 1px solid #999999;
  border-radius: 0;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  cursor: pointer;
  padding: 0 10px;
  position:relative;
  height: 40px;
  line-height: 40px;
  width: 100%;
  font-size: 16px;
}
textarea {
  border: 1px solid #999999;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  font-size: 16px;
  padding: 10px;
  height: 210px;
  width: 100%;
}
/*label {
    position: relative;
    word-break: break-all;
}*/
/*label input[type="checkbox"] {
 position: absolute;
 top: 0;
 left: 0;
 opacity: 0;
}
label input[type="checkbox"] + span::before, label input[type="checkbox"] + span::after {
 position: absolute;
 top: 50%;
 left: 0;
 display: inline-block;
 content: '';
 box-sizing: border-box;
}
label input[type="checkbox"] + span::before {
 z-index: 0;
 background-color: transparent;
 width: 20px;
 height: 20px;
 border: 1px #024021 solid;
 border-radius: 5px;
 top: 50%;
 margin: -12.5px 0 0 0;
}
label input[type="checkbox"] + span::after {
 z-index: 1;
 margin: -8px 8px 0 8px;
 width: 6px;
 height: 14px;
}
label input[type="checkbox"]:checked + span::before {
 background-color: #0058bf;
}
label input[type="checkbox"]:checked + span::after {
 border: 4px solid #fff;
 border-width: 0 4px 4px 0;
 -webkit-transform: rotate(45deg);
 -ms-transform: rotate(45deg);
 transform: rotate(45deg);
}
*/
header #hero h2{
	font-weight:bold;
	text-shadow: 1px 2px 3px #808080;
}
header #hero h3{
	text-shadow: 1px 2px 3px #808080;
}

/*--------------------------------------------------------
　PC
--------------------------------------------------------*/

@media print, screen and (min-width: 768px){
.sp{display: none!important;}
.inner{width: 960px;margin: auto;}
#navHead{
    position: fixed;
    width: 100%;
    padding: 10px 0;
    z-index: 900;
    background-color: rgba(0,0,0,0.6);
}
#navHead h2{
	float: left;
	width: 280px;
	z-index: 999;
	line-height: 1em;
}
nav{
}
nav h2.logo{float: left;width: 200px;}
nav h2.logo img{
	width: 100%;
}
nav ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	float: right;
}
nav ul li{}
nav ul li a{
    color: #fff;
    display: block;
    padding: 5px 10px;
}
	
header{
	overflow: hidden;
}
footer{
	background: #2F2F2F;
	color: #fff;
}
footer{
	background: #2F2F2F;
	color: #fff;
}
footer a{
	color: #fff;
}
footer .f-box1{
    overflow: hidden;
    padding: 20px 0;
}
footer .f-box1 h2{
    width: 300px;
    float: left;
}
footer .f-box1 p.contact-btn{
    float: right;
    width: 200px;
}
footer .f-box1 p.contact-btn a{
	display: block;
	border: 1px solid #fff;
	text-align: center;
	padding: 10px;
}
footer .f-box2{}
footer .f-box2 ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 90%;
    margin: auto;
}
footer .f-box2 ul li{
    /* width: 20%; */
    padding: 5px 5px;
}
footer .f-box2 ul li a{
    text-decoration: underline;
}
footer .f-box3{}
footer .f-box3 p{text-align: center;padding: 10px 0;}

}


/*--------------------------------------------------------
　SP
--------------------------------------------------------*/

@media print, screen and (max-width: 767px){
	.pc{
		display: none!important;
	}

#navHead{
    position: fixed;
    width: 100%;
    padding: 10px 0;
    z-index: 900;
    background-color: rgba(0,0,0,0.6);
}
#navHead h2{
	float: left;
	width: 240px;
	z-index: 999;
	margin-left: 10px;
}

#navHead nav {
	position:absolute;
	right:0;
	top: -80vh;
	background: rgba(0,0,0,.6);
	width: 100%;
	padding: 4% 4%;
	-webkit-transition:.5s ease-in-out;
	-moz-transition:.5s ease-in-out;
	-o-transition:.5s ease-in-out;
	transition:.5s ease-in-out;
	text-align:left;
	}
#navHead nav  ul {margin:0;display:  inherit;width: 100%;}
#navHead nav  ul li {width:100%;display:block;margin:0;border-bottom: dotted 1px #666;border-right: none;line-height:3;}
#navHead nav  ul li.sele {background:#666;color:#fff;}
#navHead nav  ul li a {
	display:block;
	color: #fff;
	background: url("../img/common/icon_arrow1.png") no-repeat 95%;
	background-size:10px;
}
#navHead nav  ul li::after {content:''}
#navHead nav  ul li:last-child {/* border-bottom:none */}
#navHead nav.fixed{
	position: absolute;
	width: 100%;
	z-index: 999;
	background-color: rgba(0,0,0,0.6);
	right: 0;
	top: -80vh;
}
#navHead nav.fixed ul{width: 100%;margin: 0 auto;}
#navToggle {
	display: none;
	position:absolute;
	right:13px;
	top:13px;
	width:30px;
	height:25px;
	cursor:pointer}
#navToggle div {position:relative}
#navToggle span {
	display:block;
	position:absolute;
	width:100%;
	border-bottom: solid 3px #fff;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
	}
#navToggle span:nth-child(1) {top:0}
#navToggle span:nth-child(2) {top:11px}
#navToggle span:nth-child(3) {top:22px}
#navToggle {display: block}
.openNav #navToggle span:nth-child(1) {
	top: 11px;
	-webkit-transform:rotate(-45deg);
	-moz-transform:rotate(-45deg);
	transform:rotate(-45deg)}
.openNav #navToggle span:nth-child(2),
.openNav #navToggle span:nth-child(3) {
	top: 11px;
	-webkit-transform:rotate(45deg);
	-moz-transform:rotate(45deg);
	transform:rotate(45deg)}
.openNav nav {
	-moz-transform: translateY(calc( 80vh + 50px ) );
	-webkit-transform: translateY(calc( 80vh + 50px ) );
	transform: translateY(calc( 80vh + 50px ) );
	}


footer{
	background: #2F2F2F;
	color: #fff;
}
footer{
	background: #2F2F2F;
	color: #fff;
}
footer a{
	color: #fff;
}
footer .f-box1{
    overflow: hidden;
    padding: 6% 0;
}
footer .f-box1 h2{
    width: 80%;
    margin: auto;
}
footer .f-box1 p.contact-btn{
    width: 80%;
    margin: 4% auto 0 auto;
}
footer .f-box1 p.contact-btn a{
	display: block;
	border: 1px solid #fff;
	text-align: center;
	padding: 10px;
}
footer .f-box2{}
footer .f-box2 ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 94%;
    margin: auto;
}
footer .f-box2 ul li{
    /* width: 20%; */
    padding: 5px 5px;
}
footer .f-box2 ul li a{
    text-decoration: underline;
}
footer .f-box3{}
footer .f-box3 p{text-align: center;padding: 5% 2%;font-size: 4vw;}
}

@media print, screen and (max-width: 480px){

}

/*--------------------------------------------------------
　フォント
--------------------------------------------------------*/

@font-face {
font-family: 'Noto Serif Japanese';
font-style: normal;
font-weight: 400;
src: url(https://maruokeikaku.co.jp/css/fonts/NotoSerifCJKjp-Regular.otf) format('opentype')
}

/*--------------------------------------------------------
　空き設定
--------------------------------------------------------*/
.mt05 { margin-top: 5px !important; }
.mt06 { margin-top: 6px !important; }
.mt07 { margin-top: 7px !important; }
.mt08 { margin-top: 8px !important; }
.mt10 { margin-top: 10px !important; }
.mt12 { margin-top: 12px !important; }
.mt15 { margin-top: 15px !important; }
.mt18 { margin-top: 15px !important; }
.mt20 { margin-top: 20px !important; }
.mt25 { margin-top: 25px !important; }
.mt30 { margin-top: 30px !important; }
.mt35 { margin-top: 30px !important; }
.mt40 { margin-top: 50px !important; }
.mt50 { margin-top: 50px !important; }
.mt60 { margin-top: 60px !important; }
.mt80 { margin-top: 80px !important; }
.mt100 { margin-top: 100px !important; }

.mu03 { margin-bottom: 3px !important; }
.mu05 { margin-bottom: 5px !important; }
.mu08 { margin-bottom: 8px !important; }
.mu10 { margin-bottom: 10px !important; }
.mu15 { margin-bottom: 15px !important; }
.mu20 { margin-bottom: 20px !important; }
.mu25 { margin-bottom: 25px !important; }
.mu30 { margin-bottom: 30px !important; }
.mu50 { margin-bottom: 50px !important; }
.mu40 { margin-bottom: 40px !important; }
.mu60 { margin-bottom: 60px !important; }
.mu70 { margin-bottom: 80px !important; }
.mu80 { margin-bottom: 80px !important; }
.mu100 { margin-bottom: 100px !important; }
.mu150 { margin-bottom: 100px !important; }

.mr02 { margin-right: 2px !important; }
.mr05 { margin-right: 5px !important; }
.mr10 { margin-right: 10px !important; }
.mr13 { margin-right: 13px !important; }
.mr14 { margin-right: 14px !important; }
.mr15 { margin-right: 15px !important; }
.mr20 { margin-right: 20px !important; }
.mr25 { margin-right: 25px !important; }
.mr30 { margin-right: 30px !important; }
.mr35 { margin-right: 35px !important; }
.mr40 { margin-right: 40px !important; }
.mr45 { margin-right: 45px !important; }
.mr50 { margin-right: 50px !important; }

.ml02 { margin-left: 2px !important; }
.ml05 { margin-left: 5px !important; }
.ml10 { margin-left: 10px !important; }
.ml15 { margin-left: 15px !important; }
.ml20 { margin-left: 20px !important; }
.ml25 { margin-left: 25px !important; }
.ml30 { margin-left: 30px !important; }
.ml35 { margin-left: 35px !important; }
.ml40 { margin-left: 40px !important; }
.ml45 { margin-left: 45px !important; }
.ml50 { margin-left: 50px !important; }
