@charset "utf-8";

/* Header
-------------------------*/
#header{ position:fixed; display:flex; justify-content:space-between; align-items:center; top:0; width:100%; padding:0 15px; z-index:10; height:60px; background:#FFF; box-shadow:0 0 20px 0 rgba(0, 0, 0, 0.15); }
.headimg .headgrid{ margin:0 auto; width:100%; }
.head-logo{ margin:0; }
.head-logo a{ line-height:0; }
.head-logo img{ height:auto; width:auto; max-height:50px; overflow:hidden; transition-property:opacity; transition-duration:0.25s; transition-timing-function:ease; }
.headgrid{ display:flex; justify-content:space-between; align-items:center; }
#nav-input{ display:none; }
#mainNav{ display:flex; justify-content:inherit; align-items:center; flex-wrap:wrap; }
#gnavi{ padding:0; margin:0; }
#gnavi li{ padding:0; list-style:none; text-align:center; margin:0; }
#gnavi li::before{ display:none; }
#gnavi a{ transition:0.4s; color:#292523; font-weight:bold; text-decoration:none; font-size:clamp(14px, 1.4vw, 16px); }
#gnavi a:hover{ color:#19499d; }
.headbtn{ margin:0 46px 0 0; width:100%; z-index:2; }
.headbtn a{ display:flex; align-items:center; justify-content:center; padding:0 15px; text-decoration:none; text-align:center; background:#19499d; position:relative; border:1px solid #19499d; font-weight:bold; color:#FFF; transition:0.3s; font-size:14px; }
.headbtn a .head-tel{ transition:0.3s; font-family:"Oswald", sans-serif; }
.headbtn a:hover{ background:#FFF; color:#19499d; }
.headbtn a:hover .head-tel{ color:#19499d; }
.head_inner{ margin:0 auto; width:100%; }
.sp-logo{ display:none; }
@media only screen and (min-width:1200px){
	.head_inner{ margin:0 auto; }
}
@media screen and (min-width:1024px){
	#header{ padding:0; height:90px; box-sizing:border-box; box-shadow:none; padding:0 20px; box-shadow:0 0 20px 0 rgba(0, 0, 0, 0.15); }
	.head_inner{ padding:0; width:auto; }
	#menu{ display:none; }
	#nav-drawer{ order:1; }
	#gnavi{ display:flex; justify-content:end; width:100%; }
	#gnavi li{ margin:0 0 0 20px; font-size:15px; text-align:center; }
	#gnavi li:first-child{ margin:0; }
	#gnavi a{ display:block; line-height:1.2; height:80px; line-height:80px; letter-spacing:0; }
	#gnavi span{ color:#a5a5a5; }
	#gnavi ul{ opacity:0; visibility:hidden; transition:opacity 0.4s ease, visibility 0.4s ease; }
	#gnavi .menu-ckeck,
	#gnavi .menu-pull{ display:none; }
	#gnavi li:hover ul{ opacity:1; visibility:visible; position:absolute; top:80px; left:0; z-index:500; padding:0; }
	#gnavi li li{ margin:0; float:none; width:100%; text-align:left; background:#000; border:none!important; }
	#gnavi li li a{ padding:16px 10px; border:0; height:auto; color:#fff; line-height:normal; text-align:center; font-size:14px; }
	#gnavi li.current-menu-item li a,
	#gnavi li li a{ border-bottom-width:1px; }
	#gnavi li li.current-menu-item a,
	#gnavi li li a:hover{ background:#333; }
	#gnavi > li.has-children{ position:relative; }
	li.has-children ul.sub-menu{ position:absolute; top:80px; width:100%; margin-left:-70px; width:200px; padding:0; background:#033AC7; -webkit-transition:all .2s ease; transition:all .2s ease; }
	li.has-children:hover ul.sub-menu{ top:50px; visibility:visible; opacity:1; }
	.headbtn{ width:auto; margin:0 0 0 30px; order:2; }
	.headbtn a{ font-size:14px; border-radius:40px; line-height:40px; }
	.headbtn a .head-tel{ font-weight:bold; font-size:25px; font-family:"Oswald", sans-serif; margin:0 0 0 10px; }
}
@media only screen and (max-width:1023px){
	.head-logo{ height:40px; line-height:40px; font-size:30px; margin:0; display:flex; align-items:center; }
	.head-logo img{ max-height:40px;  }
	#nav-drawer{ position:absolute; display:block; width:60px; height:60px; right:0; top:0; }
	.nav-unshown{ display:none; }
	#nav-open{ display:inline-block; width:60px; height:60px; margin:auto; vertical-align:middle; z-index:99; position:relative; }
	#nav-open span,
	#nav-open span:before,
	#nav-open span:after{ position:absolute; height:5px; top:16px; left:0; right:0; margin:auto; width:38px; background:#292523; display:block; content:''; cursor:pointer; transition:all .4s; }
	#nav-open span:before{ top:12px; }
	#nav-open span:after{ top:24px; }
	#nav-input:checked ~ #nav-open span{ transform:translateY(8px) rotate(-45deg); }
	#nav-input:checked ~ #nav-open span:before{ opacity:0; }
	#nav-input:checked ~ #nav-open span:after{ transform:translateY(-16px) rotate(90deg); top:16px; }
	#gnavi .menu-pull::before,
	#gnavi .menu-pull::after{ content:''; display:block; background:#000; position:absolute; top:0; left:0; right:0; bottom:0; margin:auto; }
	#gnavi .menu-pull:before{ width:1px; height:15px; transition:transform .2s ease; }
	#gnavi .menu-pull:after{ width:15px; height:1px; }
	#gnavi .menu-ckeck:checked ~ .menu-pull::before{ transform:rotate(90deg); }
	#nav-close{ display:none; position:fixed; z-index:98; top:0; left:0; width:100%; height:100%; opacity:0; transition:.3s ease-in-out; }
	#mainNav{ overflow:auto; position:fixed; align-items:unset; top:60px; left:0; z-index:9999; width:100%; transition:.3s ease-in-out; -webkit-transform:translateX(-105%); transform:translateX(-105%); overflow:auto; scroll-snap-type:y mandatory; max-height:100vh; }
	#nav-input:checked~#nav-close{ display:block; opacity:.5; }
	#nav-input:checked~#mainNav{ -webkit-transform:translateX(0%); transform:translateX(0%); background:#231815; }
	#gnavi{ padding:0; margin:0; }
	#gnavi .menu-ckeck{ position:absolute; opacity:0; }
	#gnavi .menu-pull{ font-weight:bold; line-height:1.6; position:absolute; display:block; margin:auto; top:12px; right:20px; height:40px; width:40px; cursor:pointer; z-index:2; }
	#gnavi li{ position:relative; }
	#gnavi li a{ position:relative; padding:15px 0; font-size:16px; text-align:left; display:block; width:calc(100% - 40px); margin:auto; box-sizing:border-box; border-bottom:1px solid #ccc; color:#FFF; }
	#gnavi li.drawer-nav-item.has-children a:before{ display:none; }
	#gnavi .sub-menu{ height:0; transition:all 0.5s ease; opacity:0; position:relative; z-index:-1; padding:0; }
	#gnavi .sub-menu li{ opacity:0; height:0; width:calc(100% - 40px); margin:auto; background:#000; }
	#gnavi .sub-menu li a{ border-bottom:1px solid #FFF; color:#FFF; }
	#gnavi .sub-menu li a{ position:relative; }
	#gnavi .menu-ckeck:checked ~ .sub-menu{ height:auto; opacity:1; z-index:1; }
	#gnavi .menu-ckeck:checked ~ .sub-menu li{ height:auto; opacity:1; }
	#gnavi li li:last-child a{ border-bottom:none; }
	.headbtn a{ text-align:center; margin:auto; font-size:9px; height:25px; line-height:25px; width:160px; padding:0; border-radius:4px; }
	.headbtn a .head-tel{ font-size:16px; margin:0 0 0 6px; }
}

/* Footer
-------------------------*/
footer{ background:#FFF; }
footer p,
footer a{ color:#292523; }
footer address p{ text-align:center; }
footer address .title{ margin:0; font-size:20px; }
.f-bale{ padding:50px 20px; }
.f-block{ max-width:1100px; margin:0 auto; width:100%; }
.f-logo,
.f-logo a{ text-align:center; line-height:0; }
.f-logo{ margin:0 0 25px; }
#copyright{ font-size:12px; text-align:center; padding:5px 20px; background:#231815; color:#FFF; }
@media only screen and (min-width:768px){
	footer address p{ text-align:left; line-height:1.5; }
	.f-bale{ padding:16px 20px; }
	.f-block{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; }
	.f-logo{ margin:0 45px 0 0; }
}
@media only screen and (min-width:1024px){
	footer address .br-add{ display:none; }
	.f-logo{ margin:0 65px 0 0; }
}
@media (min-width:768px) and (max-width:835px){
	footer address .br-add{ display:block; }
}