@charset "utf-8";
:root{
	--main-color:#206f2e;
	--white-color:#fff;
	--text-color:#3c3c3c;
	--gray-color:#dcdcdc;
}
*, *::before, *::after{box-sizing:border-box}html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}body, h1, h2, h3, h4, h5, h6, p, figure, blockquote, dl, dd{margin:0}ul, ol{padding-left:0;}ul[role='list'], ol[role='list']{list-style:none}body{min-height:100vh;line-height:1.5;}h1, h2, h3, h4, h5, h6, button, input, label{line-height:1.1}a:not([class]){text-decoration-skip-ink:auto;}img, picture{max-width:100%;display:block}input, button, textarea, select{font:inherit}textarea:not([rows]){min-height:10em}:target{scroll-margin-block:5ex}

html{scroll-behavior:smooth;}
html.fontawesome-i2svg-active{margin-top:0px !important;}
body{
	position:relative;
	margin:0;
	background-color:#f5f5f5;
	font-family:"Noto Sans JP", sans-serif;
	font-optical-sizing:auto;
	font-weight:400;
	font-style:normal;
	color:var(--text-color);
	overflow-x:hidden;
}
body.navOpen{overflow:hidden;}
menu, figcaption, figure{
	margin:0;
	padding:0;
}
img{
	max-width:initial;
	width:100%;
}
fieldset{display:none !important;}
*[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"]{
	border:none;
	font-family:"Noto Sans JP", sans-serif;
	font-optical-sizing:auto;
	font-weight:400;
	font-style:normal;
	cursor:pointer;
}
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-contents{margin:0 auto;}
.grFooter{
	position:relative;
	width:100%;
	background-color:var(--main-color);
	color:var(--white-color);
}
.grFooter a{
	text-decoration:none;
	line-height:1.0;
}
.grFooter a, .grFooter svg{color:var(--white-color);}
.grFooter use{fill:var(--white-color);}
.returnTop{
	display:block;
	position:fixed;
	right:2vw;
	bottom:100px;
	z-index:100001;
}
.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;
	z-index:10000;
}
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 !important;
}
.langTtl span[lang="en"]{color:rgba(32, 111, 46, 0.1);}
.breadcrumbsList{
	margin-top:18px;
	margin-bottom:0;
	padding-left:0;
}
.breadcrumbsList li{
	position:relative;
	display:inline-block;
	font-size:12px;
}
.p-entry-content > ol.breadcrumbsList li + li{margin:0;}
.breadcrumbsList li + li:before{
	content:"\03e";
	display:inline-block;
	margin:0 6px;
}
.breadcrumbsList a{
	display:inline-block;
	color:var(--text-color);
}
.titleBox{
	position:relative;
	color:var(--white-color);
}
.titleBox picture, .titleBox picture img{
	position:relative;
	max-width:initial;
	z-index:0;
}
.titleBox .langTtl span[lang="en"]{color:rgba(255, 255, 255, 0.4);}
.titleBox figcaption{
	position:absolute;
	top:0;
	left:0;
	display:flex;
	align-items:center;
	width:100%;
	height:100%;
	z-index:2;
}
.titleBox .langTtl{margin:0;}
.pageContent{margin:0 auto;}
.pageContent *{line-height:1.6;}
.pageContent > *{margin-bottom:0;}
.contactLinkBox a{
	display:block;
	background-color:var(--white-color);
	border:2px solid var(--main-color);
	text-align:center;
	line-height:1.0;
	text-decoration:none;
}
.contactLinkBox a *{display:block;}
.contactLinkBox a small{
	color:#000;
	font-weight:600;
}
.contactLinkBox a strong{
	color:var(--main-color);
	font-weight:bold;
}
@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;
	}
	.l-contents{width:84vw;}
	.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;
	}
	.breadcrumbsList{display:none;}
	.pageContent{
		width:84vw;
		margin-top:36px;
	}
	.titleBox{
		width:100vw;
		margin:0 -8vw;
	}
	.p-entry-content > .titleBox{margin-top:0 !important;}
	.titleBox img{width:100%;}
	.titleBox figcaption{padding:0 8vw;}
	.pageContent{width:84vw;}
	.pageContent > * + *{margin-top:24px;}
	.pageContent h1{font-size:28px;}
	.pageContent h2{font-size:24px;}
	.pageContent > * + h1, .pageContent > * + h2{margin-top:48px;}
	.pageContent h3{font-size:22px;}
	.pageContent h4{font-size:20px;}
	.pageContent h5{font-size:18px;}
	.pageContent h6{font-size:16px;}
	.pageContent > * + h3, .pageContent > * + h4, .pageContent > * + h5, .pageContent > * + h6{margin-top:36px;}
	.pageContent img + img{margin-top:24px;}
	.pageContent > ul, .pageContent > ol{padding-left:24px;}
	.pageContent > dl dd{padding-left:24px;}
	.contactLinkBox a{
		padding:24px 4vw;
		border-radius:10px;
	}
	.contactLinkBox small{font-size:14px;}
	.contactLinkBox strong{
		margin-top:10px;
		font-size:20px;
	}
}
@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));
		height:92px;
		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);
	}
	.l-contents{width:min(92vw,1200px);}
	.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(14px,1.1666vw);
	}
	.ftMenu li + li{margin-left:min(30px,2.5vw);}
	.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:20px;}
	.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);
	}
	.pageContent{
		width:min(1000px, 92%);
		margin-top:min(36px, 2.8125vw);
	}
	.titleBox{margin-top:min(24px, 1.875vw);}
	.titleBox img{
		width:min(96vw, 1320px);
		margin-right:max(calc(-50vw + 600px), -4vw);
		border-radius:min(20px, 1.666vw) 0 0 min(20px, 1.666vw);
	}
	.titleBox figcaption{padding-left:8.333%;}
	.pageContent > * + *{margin-top:min(1.875vw, 24px);}
	.pageContent h1{font-size:min(2.188vw, 28px);}
	.pageContent h2{font-size:min(1.875vw, 24px);}
	.pageContent > * + h1, .pageContent > * + h2{margin-top:min(3.75vw, 48px);}
	.pageContent h3{font-size:min(1.719vw, 22px);}
	.pageContent h4{font-size:min(1.563vw, 20px);}
	.pageContent h5{font-size:min(1.406vw, 18px);}
	.pageContent h6{font-size:min(1.25vw, 16px);}
	.pageContent > * + h3, .pageContent > * + h4, .pageContent > * + h5, .pageContent > * + h6{margin-top:min(2.813vw, 36px);}
	.pageContent img + img{margin-top:min(1.875vw, 24px);}
	.pageContent > ul, .pageContent > ol{padding-left:min(1.875vw, 24px);}
	.pageContent > dl dd{padding-left:min(1.875vw, 24px);}
	.contactLinkBox a{
		padding:min(40px,3.333vw) 20px min(36px,3vw);
		border-radius:min(20px,1.667vw);
	}
	.contactLinkBox small{font-size:min(18px,1.5vw);}
	.contactLinkBox strong{
		margin-top:min(14px,1.167vw);
		font-size:min(32px,2.667vw);
	}
}
@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;
	}
}
@media screen and (min-width:1440px){
	.titleBox:before{
		content:"";
		display:block;
		width:1320px;
		height:100%;
		position:absolute;
		top:0;
		left:0;
		background:linear-gradient(90deg, rgba(255, 255, 255, 0) 96%, #f5f5f5 100%);
		z-index:1;
	}
}