@charset "utf-8";
:root {
  --main-color: #206f2e;
  --white-color:#fff;
  --text-color:#3c3c3c;
}
html.fontawesome-i2svg-active{margin-top:0px!important;}

body{
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  color:var(--text-color);
}
body.home{background-color:#f5f5f5!important;}
body.navOpen{overflow:hidden;}
menu,figcaption,figure{margin:0;padding:0;}
*[lang="en"]{
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-weight: bold;
  font-style: normal;
  font-variation-settings:"wdth" 100;
}
*[hidden]{display:none!important;}
input[type="submit"]{
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
a,label,button{
  display:block;
  cursor:pointer;
  transition:all 0.4s ease;
}
a:hover,
label:hover,
button:hover{opacity:0.7;}
*[data-btn]{
  display:table;
  margin:0 auto;
  background-color:var(--text-color);
  color:var(--white-color);
  text-align:center;
  text-decoration:none;
  line-height:1.0;
}
html[data-sticky-footer=true] .l-container{
  display:block;
  z-index:0;
}
.grHeader{
  display:grid;
  width:100%;
  position:fixed;
  top:0;
  left:0;
  background-color:var(--white-color);
  box-shadow: 0px 5px 5px -6px rgba(0, 0, 0, 0.2);
  z-index:1000;
}
.globalMenu menu,
.globalMenu li,
.grFooter menu,
.grFooter li{list-style:none;}
.grHeader a,
.globalMenu a,
.grFooter a{display:block;}
.hdLogo a,
.ftLogo a{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.hdLogo svg{
  display:inline-block;
  vertical-align:middle;
}
.globalMenu{
  display:grid;
  width:100%;
  position:fixed;
  right:0;
}
.globalMenu a{
  line-height:1.0;
  text-decoration:none;
  font-weight:500;
}
.hdTel,
.hdTel *{
  display:block;
  line-height:1.0;
}
.l-container,
.l-contents{width:100%;}
.l-contents > *:not(.newsSec){width:100%;}
.grFooter{
	position:relative;
  width:100%;
  background-color:var(--main-color);
  color:var(--white-color);
}
.grFooter a,
.grFooter svg{color:var(--white-color);}
.grFooter use{fill:var(--white-color);}
.returnTop{
	display:block;
	position:fixed;
	right:2vw;
	bottom:100px;
}
.returnTop a{
	width:100%;
	height:100%;
	display:flex;
	justify-content: center;
	align-items: center;
	border-radius:8px;
	background-color: var(--main-color);
	line-height:1.0;
	font-weight:bold;
	text-decoration:none;
	color:var(--white-color);
}
.snsMenu{
  display:flex;
  z-index:1002;
}
.ftMenu{display:flex;}
.floatSide{
	position:fixed;
	bottom:0;
	right:0;
	width:100%;
	transition:all 0.4s ease;
}
body:not(.home) .floatSide{display:none;}
body.floatHide .floatSide{
	opacity:0;
	pointer-events:none;
}
.floatBtnList{
	display:flex;
	justify-content:center;
	padding:0;
	background-color:#3c3c3c;
}
.floatBtnList li{list-style:none;}
.floatBtnList a{
	display:flex;
	align-items:center;
	justify-content:center;
	border:1px solid var(--main-color);
	text-decoration:none;
	white-space:nowrap;
	font-weight:bold;
	line-height:1.0;
}
.floatBtnList a:hover{opacity:1.0;}
.mailLink a{
  background-color:var(--main-color);
  color:var(--white-color);
}
.mailLink a:hover{
  background-color:var(--white-color);
  color:var(--main-color);
}
.mailLink a use{fill:var(--white-color);}
.mailLink a:hover use{fill:var(--main-color);}
.docLink a{
  background-color:var(--white-color);
  color:var(--main-color);
}
.docLink a:hover{
  background-color:var(--main-color);
  color:var(--white-color);
}
.docLink a use{fill:var(--main-color);}
.docLink a:hover use{fill:var(--white-color);}
.langTtl,
.langTtl *{
  display:block;
  line-height:1.0;
}
.langTtl span[lang="en"]{color:rgba(32,111,46,0.1);}

@media screen and (max-width:1023.98px){
  body{padding-top:80px!important;}
  *[data-pc]{display:none!important;}
  .grHeader{
    grid-template-columns:1fr 48px;
    padding:16px 4vw;
  }
  .hdLogo{
    width:140px;
    align-self:center;
  }
  .hdLogo .logoMark{width:33px;}
  .hdLogo .logoTxt{width:95px;}
  .gNavBtn{
    position:relative;
    width:48px;
    height:48px;
    background-color:var(--main-color);
    border-radius:8px;
    cursor:pointer;
  }
  .gNavBtn:hover{opacity:1.0;}
  .gNavBtn:before,
  .gNavBtn:after{
    content:"";
    position:absolute;
    left:calc(50% - 13px);
    display:block;
    width:26px;
    height:2px;
    background-color:var(--white-color);
    transition:all 0.4s ease;
  }
  .gNavBtn:before{top:17px;}
  .gNavBtn:after{bottom:17px;}
  #gNavCheck:checked ~ .grHeader .gNavBtn:before{transform: translateY(6px) rotate(45deg);}
  #gNavCheck:checked ~ .grHeader .gNavBtn:after{transform: translateY(-6px) rotate(-45deg);}
  .globalMenu{
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:0fr;
    top:80px;
    width:100%;
    padding:0 13.333vw;
    background-color:var(--main-color);
    color:var(--white-color);
    font-size:15px;
    transition:all 0.4s ease;
    z-index:1001;
  }
  #gNavCheck:checked ~ .globalMenu{
    grid-template-rows:1fr;
    padding:76px 13.333vw;
  }
  .globalMenu .inner{overflow:hidden;}
  .globalMenu li+li{margin-top:30px;}
  .globalMenu a{color:var(--white-color);}
  .hdTel{margin-top:38px;}
  .hdTelNum a{font-size:28px;}
  .hdTelTime{
    margin-top:8px;
    font-size:12px;
  }
  .grFooter{
    margin-top:112px;
    padding:46px 2vw 25px;
    text-align:center;
  }
	.returnTop{
		width:40px;
		height:40px;
		text-align:center;
	}
	.returnTop a{font-size:15px;}
  .ftLogo{
    width:140px;
    margin:0 auto;
  }
  .ftLogo .logoMark{width:33px;}
  .ftLogo .logoTxt{width:95px;}
  .snsMenu{
    justify-content:center;
    margin-top:38px;
  }
  .snsMenu li+li{margin-left:24px;}
  .snsMenu svg{width:30px;}
  .copyright{
    margin-top:40px;
    font-size:min(13px,1.0833vw);
  }
	.floatBtnList{padding:12px 1%;}
  .floatBtnList li{
	  width:min(45vw,170px);
	  font-size:15px;
	}
  .floatBtnList li:nth-child(2){margin-left:10px;}
  .floatBtnList a{
    padding:10px;
    border-radius:4px;
  }
  .floatBtnList svg{
    width:20px;
    margin-right:10px;
  }
  .langTtl{margin-bottom:28px;}
  .langTtl span[lang="en"]{font-size:40px;}
  .langTtl strong{
    margin-top:-15px;
    font-size:18px;
  }
  *[data-btn]{
    width:min(100%,480px);
    padding:16px 6vw;
    font-size:16px;
    border-radius:5px;
  }
}
@media screen and (min-width:1024px){
  body{padding-top:93px!important;}
  *[data-sp]{display:none!important;}
  .grHeader,
  .globalMenu{padding:20px min(50px,3.472vw);}
  .hdLogo{width:198px;}
  .hdLogo .logoMark{width:46px;}
  .hdLogo .logoTxt{width:136px;}
  .globalMenu{
    top:0;
    width:max(100% - 248px,calc(100% - 3.472vw - 198px));
    margin-left:min(248px,calc(3.472vw + 198px));
    padding-left:0;
    font-size:min(15px,1.4648vw);
    z-index:1001;
  }
  .globalMenu .inner{
    display:grid;
    grid-template-columns:1fr auto;
  }
  .globalMenu a{color:#000;}
  .mainMenu{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    padding-left:20px;
  }
  .mainMenu li{margin-right:min(40px,3.90625vw);}
  .mainMenu a:hover{text-decoration:underline;}
  .hdTel{
    margin-left:min(26px,2.5390625vw);
    text-align:right;
  }
  .hdTelNum a{
    font-size:min(28px,2.734375vw);
    color:var(--main-color);
  }
  .hdTelTime{
    margin-top:5px;
    font-size:min(12px,1.171875vw);
  }
  .grFooter{
    display:grid;
    margin-top:188px;
  }
	.returnTop{
		width:50px;
		height:50px;
	}
	.returnTop a{
		font-size:min(16px,1.25vw);
	}
  .ftLogo{
    grid-area:ftLogo;
    width:198px;
  }
  .ftLogo .logoMark{width:46px;}
  .ftLogo .logoTxt{width:136px;}
  .snsMenu{
    grid-area:ftSns;
    justify-content:flex-end;
  }
  .snsMenu li+li{margin-left:36px;}
  .snsMenu svg{width:36px;}
  .ftMenu{
    grid-area:ftMenu;
    align-self:center;
    font-size:min(15px,1.25vw);
  }
  .ftMenu li+li{margin-left:40px;}
  .copyright{
    grid-area:copy;
    align-self:center;
    font-size:min(13px,1.0833vw);
  }
	.floatBtnList{padding:16px 1%;}
  .floatBtnList li{
	  width:min(31.25vw,400px);
	  font-size:min(20px,1.667vw);
	}
  .floatBtnList li:nth-child(2){margin-left:10px;}
  .floatBtnList a{
    padding:min(16px,1.333vw) min(38px,3.167vw);
    border-radius:min(8px,0.667vw);
  }
  .floatBtnList svg{
    width:24px;
    margin-right:12px;
  }
  .langTtl{margin-bottom:64px;}
  .langTtl span[lang="en"]{font-size:min(80px,6.666vw);}
  .langTtl strong{
    margin-top:max(-32px,-2.666vw);
    font-size:min(32px,2.666vw);
  }
  *[data-btn]{
    padding:min(18px,1.5vw) min(56px,4.667vw);
    font-size:min(18px,1.5vw);
    border-radius:min(10px,0.833vw);
  }
}
@media screen and (min-width:1024px) and (max-width:1239.98px){
  .grFooter{
    grid-template:"ftLogo ftSns" auto "ftMenu ftMenu" auto "copy copy" auto / 198px 1fr;
    padding:65px 2vw 60px;
  }
  .ftMenu{
    margin-top:45px;
    justify-content:center;
  }
  .copyright{
    margin-top:20px;
    text-align:center;
  }
}
@media screen and (min-width:1240px){
  .grFooter{
    grid-template:"ftLogo ftSns ftSns" auto "ftMenu ftMenu copy" auto / 198px 1fr 340px;
    row-gap:45px;
    padding:65px calc(50% - 600px) 60px;
  }
  .copyright{text-align:right;}
}


