@charset "UTF-8";
/* CSS Document */
@use 'config' as *;
/* 初期設定 */
/* 基本設定 */
/* ----rem設定---- */
:root { --liquid-lgDesignRatio: calc(1440 / 10); --liquid-lmdDesignRatio: calc(1024 / 10); --liquid-mdDesignRatio: calc(840 / 10); --liquid-smDesignRatio: calc(390 / 10); }

html { font-size: 62.5%; }

@media screen and (max-width: 1440px) { :root { --liquid-htmlroot: calc(100vw / var(--liquid-lgDesignRatio)); }
	html { font-size: var(--liquid-htmlroot); } }
@media screen and (max-width: 1024px) { :root { --liquid-htmlroot: calc(100vw / var(--liquid-lmdDesignRatio)); } }
@media screen and (max-width: 840px) { :root { --liquid-htmlroot: calc(100vw / var(--liquid-mdDesignRatio)); } }
@media screen and (max-width: 520px) { :root { --liquid-htmlroot: calc(100vw / var(--liquid-smDesignRatio)); } }
/* --------- */
html { scroll-behavior: smooth; overflow-x: clip; }

body {
	font-family: "Noto Sans JP", serif;
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1.75;
	letter-spacing: 0.1em;
	font-feature-settings: "palt";
	color: #333;
	position: relative;
	overflow-x: clip;
}

.ja {
	font-family: "Noto Sans JP",serif;
	font-weight: 400;
}

.en {
	font-family: "Oswald", serif;
	font-weight: 600;
}

.num {
	font-family: "Oswald", serif;
	font-weight: 500;
}

a {
	text-decoration: none;
	transition-duration: 0.3s;
	transition-timing-function: ease;
}
a:hover { opacity: 0.5; }

img { max-width: 100%; height: auto; }

/* ----レスポンシブの表示非表示---- */
.sp1440, .sp1024, .sp840, .sp520, .sp375 { display: none; }
@media (max-width: 1440px) { .pc1440 { display: none !important; }
	.sp1440 { display: block; } }
@media (max-width: 1440px) and (max-width: 1024px) { .pc1024 { display: none !important; }
	.sp1024 { display: block; } }
@media (max-width: 1440px) and (max-width: 1024px) and (max-width: 840px) { .pc840 { display: none !important; }
	.sp840 { display: block; } }
@media (max-width: 1440px) and (max-width: 1024px) and (max-width: 840px) and (max-width: 520px) { .pc520 { display: none !important; }
	.sp520 { display: block; } }
@media (max-width: 1440px) and (max-width: 1024px) and (max-width: 840px) and (max-width: 520px) and (max-width: 375px) { .pc375 { display: none !important; }
	.sp375 { display: block; } }

/* ----------------------------------------------------------------------
クラス名設定
---------------------------------------------------------------------- */
.inner {
	max-width: 133rem;
	width: 86%;
	margin: 0 auto;
}
.flex-wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.abs {
	position: absolute;
}
.obcover {
	max-width: none;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.gre-bg{
	background: url(../img/common/gre-bg.webp) repeat top;
	background-size: 100%;
}
.wh-bg{
	background: url(../img/common/wh-bg.webp) repeat top;
	background-size: 100%;
}

/* ----------------------------------------------------------------------
共通パーツ
---------------------------------------------------------------------- */
/* 詳しくはこちら */
.common-btn01{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 1.8em;
	font-size: 1.6rem;
	line-height: 1.75;
	letter-spacing: 0.1em;
}
.common-btn01 .btn{
	width: 7em;
	aspect-ratio: 1;
	border-radius: 50%;
	border: 1px solid #606360;
	background: url(../img/common/arrow.svg) no-repeat center / 25%;
}
.common-btn01 .txt{
	border-bottom: 0.1em solid #606360;
	padding: 0.1em 0.3em;
}
.common-btn01.wh .btn{
	border-color: #fff;
	filter: brightness(0) saturate(100%) invert(100%) sepia(51%) saturate(0%) hue-rotate(31deg) brightness(111%) contrast(101%);
}
.common-btn01.wh .txt{
	color: #fff;
	border-color: #fff;
}
@media (max-width: 520px) {
	.common-btn01 {font-size: 1.2rem;}
}

/* 英語の小さいタイトル */
.common-sttl{
	color:#295b31;
	font-size: 2rem;
	line-height: 1;
	letter-spacing: 0.1em;
	width: fit-content;
	margin: 0 auto .5em;
	position: relative;
}
.common-sttl:before{
	content: '';
	display: block;
	width: 1.5em;
	aspect-ratio: 1;
	position: absolute;
	inset: 50% calc(100% + 0.5em) auto auto;
	transform: translatey(-50%);
	background: url(../img/common/leaf.svg) no-repeat center;
}
.common-sttl.wh:before{
	filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7499%) hue-rotate(183deg) brightness(98%) contrast(99%);
}

/* ----------------------------------------------------------------------
ヘッダー
---------------------------------------------------------------------- */
#header .mb-area{
	width: 100%;
	background-color: #295b31;
	color: #fff;
	text-align: center;
	font-size: 1.2rem;
}
#header .header-inner{
	padding-left: 2.7rem;
	background-color: #fff;
	align-items: center;
	flex-wrap: nowrap;
}
#header .header-inner .left-box{
	align-items: center;
	gap: 4rem;
	flex-wrap: nowrap;
}
#header .header-inner .left-box .logo-box{
	width: 21.9rem;
}
#header .header-inner .left-box .txt-logo{
	font-size: 2rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
	font-weight: 600;
}
#header .header-inner .left-box .txt-logo span{
	font-size: 1.5rem;
	font-weight: 400;
}
#header .header-inner .left-box .txt-logo span.blue-bg{
	background-color: #295b31;
	color: #fff;
	padding: 0.3em 0.6em;
	margin-right: 0.9em;
}
#header .header-inner .right-box{
	align-items: center;
	gap: 3.3rem;
}
#header .header-inner .right-box .img-box{
	width: 21.9rem;
}
#header .header-inner .right-box .nav-btn{
	z-index:5;
	width: 11.2rem;
	height: 11.2rem;
}
#header .header-inner .right-box .nav-btn .nav-toggle {
	width: 11.2rem;
	height: 11.2rem;
	position: fixed;
	background-color: #295b31;
	cursor: pointer;
	box-sizing: border-box;
	display: inline-block;
	transition: all .5s;
}
#header .header-inner .right-box .nav-btn .nav-toggle i {
	position: absolute;
	width: 37%;
	height: 0.2rem;
	inset: 0 0;
	margin: auto;
	background-color: #fff;
	transition: all .5s;
}
#header .header-inner .right-box .nav-btn .nav-toggle i:nth-of-type(1) {transform: translateY(1.5rem)}
#header .header-inner .right-box .nav-btn .nav-toggle i:nth-of-type(3) {transform: translateY(-1.5rem)}
#header .header-inner .right-box .nav-btn.active .nav-toggle{background-color: #295b31;}
#header .header-inner .right-box .nav-btn.active .nav-toggle i:nth-of-type(1) {-webkit-transform: translateY(0) rotate(-45deg);transform: translateY(0) rotate(-45deg);}
#header .header-inner .right-box .nav-btn.active .nav-toggle i:nth-of-type(2) {opacity: 0;}
#header .header-inner .right-box .nav-btn.active .nav-toggle i:nth-of-type(3) {-webkit-transform: translateY(0) rotate(45deg);transform: translateY(0) rotate(45deg);}

@media (max-width: 1024px) {
	#header .burger-btn{width: 9rem;height: 9rem;}
	@media (max-width: 520px) {
		#header .burger-btn{width: 6rem;height: 6rem;}
		#header .burger-btn i {width: 45%;}
		#header .burger-btn i:nth-of-type(1) {transform: translateY(.7rem)}
		#header .burger-btn i:nth-of-type(3) {transform: translateY(-.7rem)}
	}
}
@media (max-width: 1024px) {
	#header .header-inner {padding-left: 2rem;}
	#header .header-inner .left-box {gap: 3rem;}
	#header .header-inner .left-box .logo-box {width: 18rem;}
	#header .header-inner .left-box .txt-logo {font-size: 1.8rem;}
	#header .header-inner .left-box .txt-logo span {font-size: 1.2rem;}

	#header .header-inner .right-box .img-box {width: 18rem;}
	#header .header-inner .right-box .nav-btn,#header .header-inner .right-box .nav-btn .nav-toggle {width: 9rem;height: 9rem;}
	#header .header-inner .right-box .nav-btn .nav-toggle i {width: 45%;}

	@media (max-width: 840px) {
		#header .header-inner .left-box {gap: 2rem;}

		@media (max-width: 520px) {
			#header .header-inner {padding-left: 0.8rem;}
			#header .header-inner .left-box {gap: 1rem;}
			#header .header-inner .left-box .logo-box {width: 11rem;}
			#header .header-inner .left-box .txt-logo {font-size: 1.1rem;line-height: 1.1;}
			#header .header-inner .left-box .txt-logo span {font-size: 1rem;}
			#header .header-inner .right-box .img-box {width: 11rem;}
			#header .header-inner .right-box .nav-btn,#header .header-inner .right-box .nav-btn .nav-toggle {width: 6rem;height: 6rem;}
			#header .header-inner .right-box .nav-btn.scrolled .nav-toggle{inset: 0 0 auto auto;}
			#header .header-inner .right-box .nav-btn .nav-toggle i:nth-of-type(1) {transform: translateY(0.7rem);}
			#header .header-inner .right-box .nav-btn .nav-toggle i:nth-of-type(3) {transform: translateY(-0.7rem);}
		}
	}
}

/* ドロワー */
#header-nav {
	max-width: 90.4rem;
	width: 100%;
	height: 100vh;
	background-color: #fff;
	overflow: scroll;
	position: fixed;
	top: 0;
	right: -100%;
	z-index: 4;
	transition: all 0.3s;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
}
#header-nav.active { right: 0; }
#header-nav .nav-header {
	width: 100%;
	background-color: #f0f3f7;
	padding: 5rem 0;
}
#header-nav .nav-header .logo-box {
	display: block;
	width: 60%;
	max-width: 30rem;
	margin: 0 auto;
}
#header-nav .nav-list {
	width: 86%;
	max-width: 62.6rem;
	margin: 5rem auto;
	justify-content: flex-start;
	gap: 4rem 4%;
}
#header-nav .nav-list .nav-item{
	width: 48%;
}
#header-nav .nav-list .nav-item a{
	display: block;
	border-radius: 5%;
	overflow: hidden;
}
#header-nav .nav-list .nav-item a .img-box{
	width: 100%;
	background-color: #505050;
	aspect-ratio: 1.2;
	overflow: hidden;
}
#header-nav .nav-list .nav-item a .img-box img{transition: .3s;}
#header-nav .nav-list .nav-item a .txt-box{
	font-size: 1.5rem;
	line-height: 1.1;
	padding: 1em 1em;
	align-items: center;
	background-color: #e0e0e0;
	color: #295b31;
	font-weight: bold;
}
#header-nav .nav-list .nav-item a .txt-box .view-more{
	width: .6em;
	aspect-ratio: .5;
	background: url(../img/common/arrow03.svg) no-repeat;
	background-size: cover;
	filter: brightness(0) saturate(100%) invert(24%) sepia(54%) saturate(538%) hue-rotate(78deg) brightness(98%) contrast(84%);
}
#header-nav .nav-list .nav-item a:hover{
	opacity: 1;
}
#header-nav .nav-list .nav-item a:hover .img-box img{
	transform: scale(1.05);
}
#header-nav .nav-list .nav-contact{
	width: 100%;
	background-color: #295b31;
	font-size: 2.5rem;
	line-height: 1;
	letter-spacing: 0.1em;
	padding: 1.5em 0.5em;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
}
#header-nav .nav-list .nav-contact span.en{
	font-size: 160%;
}
#header-nav .nav-list .nav-contact span.line{
	height: 1em;
	width: 1px;
	background-color: #fff;
	margin: 0 0.5em;
}
#header-nav .nav-footer{
	width: 100%;
	padding: 3.5rem 0;
	background-color: #f0f3f7;
}
@media (max-width: 520px) {
	#header-nav .nav-list .nav-item a .txt-box {font-size: 1.2rem;}
	#header-nav .nav-list .nav-contact {font-size: 1.8rem;}
}

/* ドロワー */
.fixed-btn {
	font-size: 2.5rem;
	background-color: #eaa732;
	position: fixed;
	right: 0;
	top: 45.9%;
	padding: 1em;
	border-radius: 1.3em 0 0 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	transition: all .3s;
	gap: 0.6em;
	z-index: 3;
	opacity: 0;
	pointer-events: none;
	transform: translateY(-3%);
	transition: .3s;
}
.fixed-btn.scrolled{
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}
.fixed-btn .img-box {
	width: 1.6em;
}
.fixed-btn .vertical-txt {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	color: #fff;
}
.fixed-btn:hover{
	background-color: #295b31
}
@media (max-width: 1024px) {
	.fixed-btn { font-size: 2rem; }
	@media (max-width: 840px) {
		.fixed-btn { font-size: 1.6rem; top: 52%; }
	}
}

/* モバイル時の下固定ボタン */
.nav-fixed { position: fixed; inset: auto 0 0; margin: 0 auto; width: 100%; z-index: 3; }
.nav-fixed .flex-link li { width: 50%; border-right: 1px solid #fff; }
.nav-fixed .flex-link li:last-of-type { border: none; }
.nav-fixed .flex-link li a { font-size: 1.8rem; height: 100%; align-items: center; justify-content: center; padding: 1em 0; gap: .4em; }
.nav-fixed .flex-link li a img { width: 1.3em; }
.nav-fixed .flex-link li a p { font-weight: 600; color: #fff; }
.nav-fixed .flex-link li a p.en { font-size: 110%; font-weight: 400; }
.nav-fixed .flex-link li.mail { background: #eaa732; }
.nav-fixed .flex-link li.tel { background: #295b31; }

/* ----------------------------------------------------------------------
フッター
---------------------------------------------------------------------- */
/* 問い合わせはこちら */
#f-con{
	padding: 13rem 0;
}
#f-con .inner{
	max-width: 114rem;
	align-items: center;
	row-gap: 3rem;
}
#f-con .inner .txt-box{
	width: fit-content;
	max-width: 47%;
	font-size: 1.6rem;
	line-height: 1.75;
	letter-spacing: 0.1em;
}
#f-con .inner .txt-box .ttl-box h2{
	font-size: 375%;
	line-height: 1;
	font-weight: 500;
	letter-spacing: 0.1em;
}
#f-con .inner .txt-box .info-txt{
	padding: 1.3em 0;
}
#f-con .inner .txt-box .tel{
	display: block;
	font-size: 250%;
	line-height: 1;
	padding-left: 2.1em;
	position: relative;
	color: #295b31;
}
#f-con .inner .txt-box .tel:before{
	content: '';
	display: block;
	width: 1.8em;
	aspect-ratio: 1.76;
	position: absolute;
	inset: 50% auto auto 0;
	transform: translatey(-50%);
	background: url(../img/common/free-num.svg);
	background-size: cover;
}
#f-con .inner .txt-box .common-btn01{
	margin-top: 4em;
}
#f-con .inner .img-box{
	width: 51%;
	aspect-ratio: 120 / 80;
	background-color: #505050;
	overflow: hidden;
}
@media (max-width: 840px) {
	#f-con .inner .txt-box {max-width: 100%;}
	#f-con .inner .img-box {width: 100%;}
	#f-con .inner {justify-content: center;}
	@media (max-width: 520px) {
		#f-con .inner .txt-box {font-size: 1.2rem;}
	}
}


/* フッター */
/* #footer{
padding: 12rem 0;
position: relative;
}
#footer .inner{
align-items: stretch;
max-width: 160rem;
row-gap: 5rem;
}
#footer .inner .info-block{
width: 70%;
}
#footer .inner .info-block .text-area{
font-size: 1.7rem;
letter-spacing: 0.1em;
color: #fff;
align-items: flex-end;
margin-bottom: 3em;
row-gap: 3em;
}
#footer .inner .info-block .text-area .left-box{
width: 47%;
}
#footer .inner .info-block .text-area .left-box .img-box{
max-width: 17em;
}
#footer .inner .info-block .text-area .left-box > h3{
font-size: 200%;
line-height: 1.3;
padding: 0.5em 0;
}
#footer .inner .info-block .text-area .left-box > p{
}
#footer .inner .info-block .text-area .right-box{
width: 47%;
}
#footer .inner .info-block .text-area .right-box > h4{
font-size: 120%;
margin-bottom: .2em;
}
#footer .inner .info-block .text-area .right-box .fnav-list .fnav-item{
width: 50%;
}
#footer .inner .info-block .text-area .right-box .fnav-list .fnav-item a{
display: block;
padding: .2em .2em;
}
#footer .inner .info-block .bnr-area{
row-gap: 2rem;
}
#footer .inner .info-block .bnr-item{
width: 24%;
}
#footer .inner .map-block{
width: 28%;
}
#footer .copy-right{
inset: auto 0 1em 0;
width: fit-content;
font-size: 1.2rem;
color: #fff;
margin: 0 auto;
}
@media (max-width: 1600px) {
#footer .inner .info-block .text-area {font-size: 1.4rem;}

@media (max-width: 1024px) {
#footer .inner .info-block {width: 100%;}
#footer .inner .map-block{width: 100%;height: 30rem;}

@media (max-width: 840px) {
#footer .inner .info-block .bnr-item {width: 48.5%;}
#footer .inner .info-block .text-area .left-box,#footer .inner .info-block .text-area .right-box {width: 100%;}
#footer .inner .info-block .text-area .right-box .fnav-list .fnav-item {width: 33%;}

@media (max-width: 520px) {
#footer {padding: 12rem 0 16rem;}
#footer .inner .info-block .text-area {font-size: 1.4rem;}
#footer .inner .info-block .text-area .right-box .fnav-list .fnav-item {width: 100%;}
#footer .inner .info-block .text-area .right-box .fnav-list .fnav-item a {padding: 0.7em .2em;}
#footer .inner .info-block .text-area .right-box > h4 {margin-bottom: 0.5em;font-size: 160%;}

#footer .inner .info-block .bnr-item {width: 100%;}
#footer .inner .map-block {height: 40rem;}
#footer .copy-right {inset: auto 0 9em 0;font-size: 1rem;}

}
}
}
} */








footer {
	background-color: $main-color;
	padding: 23rem 0 6.3rem;
}
footer .inner {
	max-width: 139rem;
}
footer .inner.info {
	margin-bottom: 4rem;
	row-gap: 3rem;
}
footer .inner.info .txt-box {
	width: 48%;
	color: #fff;
}
footer .inner.info .txt-box .logo-box {
	width: 100%;
	max-width: 37rem;
	margin-bottom: 5rem;
}
footer .inner.info .txt-box > h2 {
	font-size: 3.2rem;
	line-height: 1.1;
	letter-spacing: 0.1em;
	margin-bottom: 0.3em;
}
footer .inner.info .txt-box > p.addr {
	font-size: 2.5rem;
	line-height: 1.4;
	letter-spacing: 0.1em;
}
footer .inner.info .txt-box > p.tel {
	font-size: 2.5rem;
	line-height: 1.4;
	font-weight: 400;
	letter-spacing: 0.02em;
}
footer .inner.info .map-box {
	width: 50%;
}
footer .inner.biz-content {
	margin-bottom: 11rem;
	justify-content: space-between;
	align-items: center;
	color: #fff;
	row-gap: 1em;
	font-size: 1.6rem;
	font-weight: bold;
}

footer .inner.biz-content > h4{
	font-size: 120%;
	margin: 0 auto .6em;
	border: 2px solid #fff;
	padding: .3em 4em;
	text-align: center;
	border-radius: 0.2em;
	font-weight: bold;

}
footer .inner.biz-content .fnav-list{
	justify-content: flex-start;
}
footer .inner.biz-content .fnav-list .fnav-item{
	width: 25%;
}
footer .inner.biz-content .fnav-list .fnav-item a{
	display: block;
	width: fit-content;
	padding: .2em 2em;
}

footer .inner.bnr-list {
	margin-bottom: 6.6rem;
	row-gap: 2rem;
}
footer .inner.bnr-list li.bnr-item {
	width: 24%;
}
footer .inner.bnr-list li.bnr-item a {
	display: block;
}
footer .inner.copyright {
	text-align: center;
	font-size: 1.2rem;
	letter-spacing: 0.1em;
	color: #fff;
}

@media (max-width: 1024px) {
	footer .inner.biz-content {
		margin-bottom: 8rem;
		font-size: 1.5rem;
	}
	footer .inner.info .txt-box .logo-box {
		margin-bottom: 3rem;
	}
	footer .inner.info .txt-box > h2 {
		font-size: 2.8rem;
	}
	footer .inner.info .txt-box > p.addr {
		font-size: 1.8rem;
	}
	footer .inner.info .txt-box > p.tel {
		font-size: 2.2rem;
	}
	footer .inner.biz-content dt {
		font-size: 2rem;
		width: 15rem;
	}
	footer .inner.biz-content dd {
		width: calc(100% - 17rem);
		font-size: 1.8rem;
		line-height: 1.5;
	}
}
@media (max-width: 840px) {
	footer .inner.biz-content .fnav-list .fnav-item {
		width: 33.33%;
	}
	footer .inner.info .txt-box > h2 {
		font-size: 2.5rem;
	}
	footer .inner.bnr-list li.bnr-item {
		width: 48.6%;
	}
}
@media (max-width: 520px) {
	footer {
		padding: 12rem 0 10rem;
	}
	footer .inner.info,
	footer .inner.biz-content {
		margin-bottom: 4rem;
	}
	footer .inner.info .txt-box {
		width: 100%;
	}
	footer .inner.info .txt-box > h2 {
		font-size: 1.8rem;
	}
	footer .inner.info .txt-box > p.addr {
		font-size: 1.4rem;
	}
	footer .inner.info .txt-box > p.tel {
		font-size: 1.6rem;
	}
	footer .inner.info .map-box {
		width: 100%;
		height: 35rem;
	}
	footer .inner.biz-content{
		font-size: 1.4rem;
	}
	footer .inner.biz-content .fnav-list .fnav-item{
		width: 100%;
	}
	footer .inner.biz-content .fnav-list .fnav-item a{
		padding: 0.6em 1em;
	}
	footer .inner.bnr-list {
		row-gap: 1rem;
		margin-bottom: 3rem;
	}
	footer .inner.bnr-list li.bnr-item {
		width: 100%;
	}
	footer .inner.copyright {
		font-size: 1.1rem;
	}
}











/* ----------------------------------------------------------------------
404
---------------------------------------------------------------------- */
#pp-block{
	padding: 10em 0;
	font-size: 1.8rem;
	line-height: 1.75;
	letter-spacing: 0.1em;
}
#pp-block .inner{
	text-align: center;
}
#pp-block .inner > h3{
	font-size: 330%;
	font-weight: bold;
	line-height: 1;
	letter-spacing: 0;
	margin-bottom: 1em;
	color: #295b31;
}
@media (max-width: 840px) {
	#pp-block{font-size: 1.6rem;}
	@media (max-width: 520px) {
		#pp-block{font-size: 1.2rem;}
	}
}

