@CHARSET "UTF-8";
#header{ border-top:5px solid #2F5D50; position:fixed; top:0; width:100%; padding:0 15px; z-index:10; height:60px; background:#FFF; font-family:'Noto Sans CJK JP', sans-serif; }
.headimg .headgrid{ margin:0 auto; width:100%; }
h1.head-logo { margin:0; }
.head-logo img{ width:135px; }
#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 li li a:where(:where(a)[target=_blank]):after{ display:none; } */
#gnavi a{ transition:0.4s; text-decoration:none; font-size:clamp(14px, 1.4vw, 16px); }
.headbtn{ margin:auto; width:100%; z-index:2; }
.headbtn a{ width:130px; height:50px; border-radius:50px; padding:0 30px 0 0; display:flex; align-items:center; justify-content:center; text-decoration:none; text-align:center; background:#2F5D50; border:1px solid #2F5D50; position:relative; color:#FFF; }
.headbtn a::before{ position:absolute; content:""; display:block; width:22px; height:22px; right:15px; top:0; bottom:0; margin:auto; background-repeat:no-repeat; background-image:url(../other/btn_arw_hv.svg); transition:0.3s; }
.headbtn a:hover{ background:#FFF; color:#021E43; }
.head_inner{ margin:0 auto; width:100%; }
.sp-logo{ display:none; }
@media screen and (min-width:1024px){
	#header{ display:flex; justify-content:space-between; align-items:center; padding:0; height:80px; box-sizing:border-box; box-shadow:none; padding:0 20px; }
	.head_inner{ padding:0; width:auto; }
	#menu{ display:none; }
	#gnavi{ display:flex; justify-content:end; width:100%; }
	#gnavi li{ margin:0 0 0 16px; font-size:14px; 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:77px; left:0; z-index:500; padding:0; }
	#gnavi li li{ margin:0; float:none; width:100%; text-align:left; background:#2f5d50; border:none!important; }
	#gnavi li li a{ padding:16px 8px; 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:#497e6f; }
	#gnavi > li.has-children{ position:relative; }
	li.has-children ul.sub-menu{ position:absolute; top:77px; width:100%; margin-left:-70px; width:220px; 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; }
}
@media only screen and (min-width:1200px){
	.head_inner{ margin:0 auto; }
}
@media only screen and (min-width:1260px){
	#gnavi li{ margin:0 0 0 30px; font-size:15px; }
	.head-logo img{ width:155px; }
	.headbtn a{ width:140px; }
}
@media only screen and (max-width:1023px){
	.headimg{ z-index:500; width:100%; top:0; height:50px; }
	.head-logo{ height:50px; line-height:50px; font-size:30px; margin:0; }
	.headimg img{ width:120px!important; }
	#nav-drawer{ position:fixed; display:block; width:70px; height:60px; right:0; top:0; border-radius:0 0 0 10px; background:#2E5D50; }
	.nav-unshown{ display:none; }
	#nav-open{ display:inline-block; width:70px; 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:2px; top:22px; left:0; right:0; margin:auto; width:20px; border-radius:3px; background:#FFF; display:block; content:''; cursor:pointer; transition:all .4s; }
	#nav-open span:before{ top:7px; }
	#nav-open span:after{ top:14px; }
	#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:#2E5D50; position:absolute; top:0; left:0; right:0; bottom:0; margin:auto; }
	#gnavi .menu-pull:before{ width:2px; height:15px; transition:transform .2s ease; }
	#gnavi .menu-pull:after{ width:15px; height:2px; }
	#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:#FFF; }
	#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:5px; right:20px; height:40px; width:40px; cursor:pointer; z-index:2; }
	#gnavi li{ position:relative; }
	#gnavi li a{ position:relative; padding:15px 10px; font-size:14px; text-align:left; display:block; width:calc(100% - 40px); margin:auto; box-sizing:border-box; border-bottom:1px solid #ccc; }
	#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:#2E5D50; }
	#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{ padding:20px; }
	.headbtn a{ text-align:center; width:240px; margin:auto; }
	.headbtn a:before{ right:auto;top:0; right:20px; bottom:0; }
}

/* FOOTER */
#footer{ border-top:1px solid #eee; padding:40px 20px 20px; }
.footer-container { max-width:1300px; margin:auto; }
.footer-left{ margin:0 0 35px; }
.footer-left img{ max-width:150px; }
.footer-left p{ margin:10px 0 0; font-size:14px; line-height:1.6; }
.footer-menu{ display:flex; flex-wrap:wrap; }
.footer-nav{ width:50%; }
.footer-nav:last-child{ margin:0; }
.footer-menu h4{ font-size:16px; margin-bottom:10px; font-weight:normal; }
.footer-menu h4::before{ display:none; }
.footer-menu ul{ list-style:none; padding:0; margin:0; }
.footer-menu li{ margin-bottom:6px; }
.footer-menu li:before{ margin-bottom:6px; background-color:#000; border-radius:0; height:1px; top:.8em; }
.footer-menu a{ text-decoration:none; }
.footer-menu a:hover{ text-decoration:underline; }
/* .footer-menu a:where(:where(a)[target=_blank]):after{ display:none; } */
.footer-btn { display:flex; flex-direction:column; margin:40px 0 0; }
.footer-btn a{ display:inline-flex; align-items:center; justify-content:space-between; padding:16px 2em; border-radius:30px; font-size:14px; color:#fff; text-decoration:none; width:185px; }
.footer-btn a::after{ content:""; display:block; width:22px; height:22px; background-repeat:no-repeat; transition:0.3s; }
.footer-btn .support{ background-color:#9b7c3f; margin:0 auto 15px; }
.footer-btn .contact{ margin:auto; background-color:#285046; }
.footer-btn .support::after{ background-image:url(../other/form_arw1.svg); }
.footer-btn .contact::after{ background-image:url(../other/btn_arw_hv.svg); }
.footer-btn span{ font-size:16px; }
.footer-bottom{ max-width:1300px; margin:auto; margin:40px auto 0; display:flex; flex-direction:column-reverse; }
.footer-bottom p { text-align:left; font-size:14px; margin:10px 0 0; }
.footer-bottom ul li { text-align:left; padding:0; margin:0 0 5px;}
.footer-bottom ul li:last-child {  margin:0; }
.footer-bottom ul li:before{ display:none; }
.footer-bottom a{ text-decoration:none; font-size:14px; }
.footer-bottom a:hover{ text-decoration:underline; }
@media only screen and (min-width:768px){
	#footer{ padding:80px 20px 30px; }
	.footer-container { display:flex; }
	.footer-left { margin:0; }
	.footer-right { width:75%; margin:0; display:flex; justify-content:space-between; }
	.footer-nav { width:auto; margin:0 30px 0 0; }
	.footer-menu a { font-size:14px; }
	.footer-btn { margin:0; }
	.footer-btn a { width:150px; }
	.footer-btn .contact{ margin:0; background-color:#285046; }
	.footer-bottom { justify-content:space-between; flex-direction:row; align-items:center; }
	.footer-bottom p { margin:0; }
	.footer-bottom ul { display:flex; }
	.footer-bottom ul li { margin:0 12px 0 0; }
}
@media only screen and (min-width:1024px){
	#footer{ padding:100px 20px 40px; }
	.footer-container { justify-content:space-between; }
	.footer-right { justify-content:right; width:auto; }
	.footer-nav { margin:0 65px 0 0; }
	.footer-menu a { font-size:16px; }
	.footer-btn { margin:0 0 0 90px; }
	.footer-btn a { width:185px; }
	.footer-bottom ul li { margin:0 35px 0 0; }
}