﻿@charset "utf-8";


/* common */
/* -------------------------------------------------------- */
html,body {font-variant-ligatures:none;}
html {font-size:62.5%;}
html.fontM {font-size:62.5%;}
html.fontL {font-size:92.5%;}
body {font-size:1.4rem; font-family:Meiryo,'MS PGothic',Osaka,arial,helvetica,sans-serif; color:#333; text-align:center; -webkit-text-size-adjust:100%; text-size-adjust:100%; background:none;}


h1, h2, h3, h4, h5, h6, h7 {line-height:1.2;}
p, li, dt, dd, th, td, address, blockquote, div {line-height:1.6;}
input, select, textarea, button {font-size:1.4rem; font-family:Meiryo,'MS PGothic',Osaka,arial,helvetica,sans-serif; line-height:1.4; vertical-align:middle;}
input[type='submit'],input[type='reset'],input[type='button'], button {cursor:pointer; -ms-appearance:none; -webkit-appearance:none; appearance:none;}
:placeholder-shown {color:#ccc;}
::-webkit-input-placeholder {color:#ccc;}
:-moz-placeholder {color:#ccc; opacity:1;}
::-moz-placeholder {color:#ccc; opacity:1;}
:-ms-input-placeholder {color:#ccc;}

strong {font-weight:bold;}
ol {list-style-type:decimal; margin-left:2.2em;}
img {max-width:100%; width:auto; height:auto; line-height:0; vertical-align:top; border:0; display:inline;}

a {color:#628946; text-decoration:underline; opacity:1;}
a:hover {color:#628946; text-decoration:none; opacity:0.7;}
button:hover, input[type='submit']:hover, input[type='reset']:hover {opacity:0.7;}
body.load a, body.load button, body.load input[type='submit'], body.load input[type='reset'] {transition:all 0.3s ease;}


/* decision */
/* -------------------------------------------------------- */
#bpCheck {display:none;}

body .pc {display:block;}
br.pc, span.pc, img.pc {display:inline;}
body .sp, br.sp, span.sp, img.sp {display:none;}

a.off {pointer-events:none; cursor:default; opacity:0.3;}
a.tel {pointer-events:none; cursor:default;}
body.mobile a.tel {pointer-events:auto; cursor:pointer;}

.cfix:before,
.cfix:after {display:table; content:" ";}
.cfix:after {clear:both;}

@media screen and (max-width:767px){
	#bpCheck {display:block;}

	body .pc, br.pc, span.pc, img.pc {display:none;}
	body .sp {display:block;}
	br.sp, span.sp, img.sp {display:inline;}
}


/* container */
/* -------------------------------------------------------- */
#container {width:100%; overflow:hidden;}


/* header */
/* -------------------------------------------------------- */
#header {margin:0 0 87px 0; position:relative; z-index:305;}
#header .inr1 {background-color:#fff; border-bottom:solid 2px #d3d3d3; box-sizing:border-box;}
#header .inr1 .clm1 {height:32px; display:flex; justify-content:space-between; align-items:center;}
#header .inr1 .clm2 {display:flex; align-items:center;}
#header .fontSize {display:flex; align-items:center;}
#header .fontSize dt {font-size:10px; line-height:1; white-space:nowrap; color:#000; padding:0 10px 0 0;}
#header .fontSize dd {padding:0 6px 0 0;}
#header .fontSize dd a {width:40px; height:20px; font-size:1px; line-height:1px; text-decoration:none; background-size:cover; background-position:center center; background-size:cover; display:block; position:relative;}
#header .fontSize dd a:before {content:''; width:100%; height:100%; background-size:cover; background-position:center center; background-size:cover; display:block; position:absolute; top:0; left:0; opacity:0;}
#header .fontSize dd a.fontM {background-image:url(../img/btn_font_m.png);}
#header .fontSize dd a.fontM:before {background-image:url(../img/btn_font_m_on.png);}
#header .fontSize dd a.fontL {background-image:url(../img/btn_font_l.png);}
#header .fontSize dd a.fontL:before {background-image:url(../img/btn_font_l_on.png);}
#header .fontSize dd a.on:before {opacity:1;}
#header .sns {font-size:1px; line-height:1px; padding:0 15px 0 0;}
#header .sns img {width:27px;}
#header .search > label {display:none;}
#header .search > input {display:none;}
#header .search ul {padding:0 15px 0 0; display:flex; align-items:center;}
#header .search ul > li {padding:0 3px 0 0;}
#header .search ul > li.box input {width:124px; font-size:14px; line-height:16px; background-color:#fff; border:solid 1px #a5a5a5;}
#header .search ul > li.btn button {width:18px; height:18px; background:url(../img/icon_search.png) no-repeat center center; background-size:cover; border:none;}
#header .lng {display:flex; align-items:center;}
#header .lng > li {font-size:1px; line-height:1px; padding:0 4px 0 0;}
#header .lng > li img {width:66px;}

#gNav {width:100%; background-color:#c9e1a3; position:absolute; top:34px; left:0;}
#gNav .sec {padding:0;}
#gNav .nav {border-left:solid 5px #fff; display:flex; flex-wrap:wrap; justify-content:space-between;}
#gNav .nav > li {width:18.2%; border-right:solid 5px #fff; box-sizing:border-box; position:relative;}
#gNav .nav > li.home {width:9%;}
#gNav .nav > li.home > a {background-repeat:no-repeat; background-position:center center; background-image:url(../img/icon_home.png); background-size:22px auto;}
#gNav .nav > li > a {height:82px; font-size:13px; font-weight:bold; line-height:1.2; text-decoration:none; color:#fff; background-color:#83b93b; display:flex; justify-content:center; align-items:center;}
#gNav .nav > li > a:hover,
#gNav .nav > li.on > a {background-color:#87d91b; opacity:1;}
#gNav .nav > li > ul {width:200px; padding:12px 0; background-color:rgba(0,0,0,0.6); box-sizing:border-box; position:absolute; top:82px; left:0;}
#gNav .nav > li:last-of-type > ul {left:auto; right:0;}
#gNav .nav > li > ul > li {position:relative;}
#gNav .nav > li > ul > li > a {font-size:12px; font-weight:bold; line-height:1.2; text-align:left; text-decoration:none; color:#fff; padding:5px 10px 5px 20px; display:block;}
#gNav .nav > li > ul > li > a:hover,
#gNav .nav > li > ul > li.on > a {background-color:rgba(0,0,0,0.3); opacity:1; position:relative;}
#gNav .nav > li > ul > li.sub > a:before {content:''; width:12px; height:12px; margin:-6px 0 0 0; background:url(../img/arrow_01.png) no-repeat center center; background-size:cover; display:block; position:absolute; top:50%; right:5px; transform:rotate(180deg); transition:transform 0.3s ease;}
#gNav .nav > li > ul > li > ul {width:180px; background-color:rgba(0,0,0,0.6); box-sizing:border-box; position:absolute; top:0; left:201px;}
#gNav .nav > li > ul > li > ul > li > a {font-size:12px; font-weight:bold; line-height:1.2; text-align:left; text-decoration:none; color:#fff; padding:5px 10px; display:block;}
#gNav .nav > li > ul > li > ul > li > a:hover {background-color:rgba(0,0,0,0.3); opacity:1;}
#gNav .nav ul {display:none;}
#gNav .nav1 {display:none;}

#gNavBtn {width:56px; height:48px; background-color:#006b33; position:fixed; top:6px; right:6px; z-index:310; cursor:pointer; display:none; transition-property:opacity;}
#gNavBtn > span {width:82%; height:1px; margin:-1px 0 0 0; background-color:rgba(255,255,255,1); display:block; position:absolute; top:50%; left:9%; transition-property:background-color;}
#gNavBtn > span:before,
#gNavBtn > span:after {content:''; width:100%; height:1px; background-color:rgba(255,255,255,1); display:block; position:absolute; left:0;}
#gNavBtn > span:before {top:-12px; transition-property:top;}
#gNavBtn > span:after {bottom:-12px; transition-property:bottom;}
#gNavBtn:hover {opacity:0.7;}
body.load #gNavBtn,
body.load #gNavBtn > span:before,
body.load #gNavBtn > span:after {transition-duration:0.3s; transition-delay:0s; transition-timing-function:ease;}

#gNavCheck {display:none;}
#gNavCheck:checked + #header #gNavBtn > span {background-color:rgba(0,0,0,0);}
#gNavCheck:checked + #header #gNavBtn > span:before {top:0; transform:rotate(45deg); transition-property:transform;}
#gNavCheck:checked + #header #gNavBtn > span:after {bottom:0; transform:rotate(-45deg); transition-property:transform;}

body.en #header .fontSize dd a.fontM {width:75px; background-image:url(../../english/img/btn_font_m.png);}
body.en #header .fontSize dd a.fontM:before {background-image:url(../../english/img/btn_font_m_on.png);}
body.en #header .fontSize dd a.fontL {width:51px; background-image:url(../../english/img/btn_font_l.png);}
body.en #header .fontSize dd a.fontL:before {background-image:url(../../english/img/btn_font_l_on.png);}
body.en #gNav .nav > li > a > span {text-align:left; display:inline-block;}

@media screen and (max-width:767px){
	#header {width:100%; margin:0; position:relative; top:0; left:0; z-index:305;}
	#header .inr1 {background-color:#fff; border-bottom:solid 2px #d3d3d3; box-sizing:border-box;}
	#header .inr1 .clm1 {height:55px; padding:0 60px 0 0; justify-content:center;}
	#header .inr1 .clm2 {display:flex; align-items:center;}
	#header .fontSize {display:none;}
	#header .sns {padding:0 10px 0 0;}
	#header .sns img {width:30px;}
	#header .search {padding:0 20px 0 0;}
	#header .search > label {width:28px; height:28px; background:url(../img/icon_search.png) no-repeat center center; background-size:cover; border:none; display:block; cursor:pointer;}
	#header .search > form {width:100%; padding:10px; background-color:rgba(255,255,255,0.7); box-sizing:border-box; display:block; position:absolute; top:57px; left:100%; transition:left 0.3s ease;}
	#header .search ul {padding:0;}
	#header .search ul > li {padding:0;}
	#header .search ul > li.box {flex:1;}
	#header .search ul > li.box input {width:100%; padding:5px 10px; box-sizing:border-box;}
	#header .search ul > li.btn {width:35px; padding:0 0 0 5px; box-sizing:border-box;}
	#header .search ul > li.btn button {width:30px; height:30px;}
	#header .search > input:checked + form {left:0;}
	#header .lng > li {padding:0 4px 0 0;}
	#header .lng > li img {width:70px;}

	#gNav {width:100%; height:100%; background-color:rgba(255,255,255,0.7); position:fixed; top:0 !important; left:0;}
	#gNav .sec {height:calc(100% - 54px); margin:54px 0 0 0; padding:0; overflow:auto;}
	#gNav .nav {border-left:none; display:block;}
	#gNav .nav > li {width:auto; text-align:left; border-right:none; border-top:solid 1px #9ac660; border-bottom:solid 1px #84b83c;}
	#gNav .nav > li.home {width:auto;}
	#gNav .nav > li.home > a {background-position:25px center;}
	#gNav .nav > li.home > a:before {display:none;}
	#gNav .nav > li > a {height:58px; font-size:13px; padding:0 50px 0 25px; background-color:#83b93b; justify-content:start; position:relative;}
	#gNav .nav > li > a:before {content:''; width:20px; height:20px; margin:-10px 0 0 0; background:url(../img/arrow_03.png) no-repeat center center; background-size:cover; display:block; position:absolute; top:50%; right:20px;}
	#gNav .nav > li > a:hover,
	#gNav .nav > li.on > a {background-color:#83b93b; opacity:1;}
	#gNav .nav > li.on > a:before {background-image:url(../img/arrow_03_g.png);}
	#gNav .nav > li > ul {width:auto; padding:0; background-color:#bfdb9a; border-top:solid 1px #9ac660; position:static;}
	#gNav .nav > li > ul > li {border-top:solid 1px #9ac660; border-bottom:solid 1px #84b83c;}
	#gNav .nav > li > ul > li > a {font-size:12px; color:#000; padding:12px 10px 12px 40px; position:relative;}
	#gNav .nav > li > ul > li > a:hover,
	#gNav .nav > li > ul > li.on > a {background-color:#bfdb9a;}
	#gNav .nav > li > ul > li.sub > a:before {content:''; width:12px; height:12px; margin:-6px 0 0 0; background:url(../img/arrow_03_g.png) no-repeat center center; background-size:cover; display:block; position:absolute; top:50%; right:20px; transform:rotate(0deg); transition:transform 0.3s ease;}
	#gNav .nav > li > ul > li.sub.on > a:before {transform:rotate(180deg);}
	#gNav .nav > li > ul > li > ul {width:auto; padding:0; background-color:#bfdb9a; border-top:solid 1px #9ac660; position:static;}
	#gNav .nav > li > ul > li > ul > li {border-top:solid 1px #9ac660; border-bottom:solid 1px #84b83c;}
	#gNav .nav > li > ul > li > ul > li > a {font-size:12px; color:#000; padding:12px 10px 12px 60px;}
	#gNav .nav > li > ul > li > ul > li > a:hover {background-color:#bfdb9a;}
	#gNav .nav ul {display:none;}
	#gNav .nav1 {padding:15px 25px; background-color:#fff; border-bottom:solid 1px #a5c870; display:block; display:flex; flex-wrap:wrap;}
	#gNav .nav1 > li {font-size:1.4rem; text-decoration:none; color:#000; margin:0 0 3px 0;}
	#gNav .nav1 > li:after {content:'／'; padding:0 2px; display:inline-block;}
	#gNav .nav1 > li:last-of-type:after {display:none;}
	#gNav .nav1 > li a {text-decoration:none; color:#000; display:inline-block;}
	#gNav .nav1 > li a:hover {text-decoration:underline; opacity:1;}

	#header #gNavBtn {display:block;}
	#gNav {width:100%; height:0; overflow:hidden; transition:all 0.6s ease;}
	#gNavCheck:checked + #header #gNav {height:100vh; overflow:auto;}
}


/* contents */
/* -------------------------------------------------------- */
#contents {}


/* footer */
/* -------------------------------------------------------- */
#footer {padding:85px 0 0 0; position:relative;}
#footer .inr1 {background-color:#83b93b;}
#footer .inr1 .sec {padding-top:15px; padding-bottom:15px; background:url(../img/bg_01.png) no-repeat right center;}
#footer .inr1 .nav {max-width:600px; margin:0 0 30px 0; text-align:left; display:flex; flex-wrap:wrap;}
#footer .inr1 .nav > li {font-size:1.4rem; text-decoration:none; color:#fff; margin:0 0 10px 0;}
#footer .inr1 .nav > li:after {content:'／'; padding:0 2px; display:inline-block;}
#footer .inr1 .nav > li:last-of-type:after {display:none;}
#footer .inr1 .nav > li a {text-decoration:none; color:#fff; display:inline-block;}
#footer .inr1 .nav > li a:hover {text-decoration:underline; opacity:1;}
#footer .inr1 .txt {text-align:left; color:#fff;}
#footer .inr1 .txt dt {font-size:1.6rem; line-height:1.2; margin:0 0 5px 0;}
#footer .inr1 .txt dt > span {font-size:1.4rem;}
#footer .inr1 .txt dd {font-size:1.2rem; line-height:1.4;}
#footer .inr1 .txt a {text-decoration:none; color:#fff;}
#footer .inr1 .txt a:hover {text-decoration:underline; opacity:1;}
#footer .inr2 {padding:10px 0 5px 0;}
#footer .inr2 p {font-size:1.1rem; line-height:1.3; text-align:left; color:#000;}
#footer .inr3 {width:100%; position:absolute; top:38px; left:0;}
#footer .inr3 p {text-align:right;}
#footer .inr3 p a {width:48px; height:48px; margin:0 0 0 auto; background:#83b93b url(../img/arrow_02.png) no-repeat center center; background-size:34px auto; display:block;}

@media screen and (max-width:767px){
	#footer {padding:70px 0 0 0;}
	#footer .inr1 {padding:0;}
	#footer .inr1 .sec {padding-top:30px; padding-bottom:60px; background-size:auto 175px;}
	#footer .inr1 .nav {display:none;}
	#footer .inr1 .txt dt {font-size:1.7rem;}
	#footer .inr1 .txt dt > span {font-size:1.5rem;}
	#footer .inr1 .txt dd {font-size:1.3rem;}
	#footer .inr2 {margin:10px 0 0 0; padding:10px 0 5px 0; border-top:solid 1px #c3c0c3;}
	#footer .inr2 p {font-size:1.1rem;}
	#footer .inr3 {top:23px;}
}