@charset "utf-8";
*{margin:0;padding:0;box-sizing:border-box;-webkit-appearance: none;-webkit-text-size-adjust: 100%;}
*:before, *:after {box-sizing: border-box;}
html, body, div, span, object, iframe,h1, h2, h3, h4, h5, p, blockquote, pre,em, img, strong,b,dl, dt, dd, ol, ul, li,fieldset, form, label, table, caption, tbody, tfoot, thead, tr, th, td,canvas, details,figure,footer, header, hgroup, menu, nav, section, summary,mark, audio, video {margin:0;padding:0;border:0;outline:0;vertical-align: baseline;background: transparent;font-weight: normal;font-style: normal;}
img{max-width: 100%;height:auto;vertical-align: middle;}
ul {list-style: none;}
ol {padding-left: 20px;}
a {color: #1eaa39;vertical-align:baseline;background:transparent;text-decoration: none;}
a:hover{transition-property: all;transition: 0.2s linear;opacity: 0.6;}
a[href^="tel:"] {pointer-events: none;}
a.link{text-decoration:underline;}
a:visited{color: #4B0082;}
mark {background: linear-gradient(transparent 60%, #ff9 0%);color:#394044;font-weight:bold;}
table {border-collapse:collapse;border-spacing:0;}
hr {display:block;height:1px;border:0;border-top:1px solid #cccccc;margin:1em 0;padding:0;}
input, select {vertical-align:middle;}

/* 共通 */

body {position: relative;margin:0 auto;font-feature-settings: "palt";font-family:Alial,"新丸ゴ R",'メイリオ','Meiryo','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','ＭＳ ゴシック',sans-serif;color: #4d4d4d;line-height: 1.6;letter-spacing: 0.1rem;font-size: max(1rem,16px);}

.inner-box{max-width: 1280px;width: 95% !important;margin: 0 auto;padding:80px 0;}
.content-box{padding:80px 0;}
.mb15{margin-bottom: 15px !important;}
.mb20{margin-bottom: 20px !important;}
.mb30{margin-bottom: 30px!important;}
.mb60{margin-bottom: 60px !important;}
.pd30{padding:30px;}
.fs18{font-size:1.125rem;}
.fs20{font-size:1.25rem;}
.fs22{font-size:1.375rem;}
.center,.center_l{text-align: center;}
.right{text-align: right;}
.wb{font-weight: bold;}
.fcg{color:#1eaa39 !important;}
.fcbl{color:#0d250c !important;}
.bgg{background:#eeefea;}
.br{border-radius:15px;}
.border{text-decoration: underline;}
.flexbox{
	display: flex;
    flex-wrap: wrap;
	width: 100%;
	justify-content: space-between;
}
.c2s > *{width: 47%;}
.c2 > *{width: 48.5%;}
.c3 > *{width: 32%;}
.c2 > *:not(:nth-last-child(-n+2)) ,.c2s > *:not(:nth-last-child(-n+2)){margin-bottom: 30px;}
.c3 > *:not(:nth-last-child(-n+3)) {margin-bottom: 30px;}
.sp_on,.tab_on{display: none;}

/*見出し*/
.tiS{position: relative;color:#000;margin-bottom: 20px;font-size:1.25rem;}
.tiS::after{position: absolute; top:-25px; left:0; color:#d4eaca;font-size: 33px;font-weight: bold;letter-spacing: 0px; z-index: -1;}
/*h2*/
.ti2{position: relative;display: flex;justify-content: center;font-size:1.25rem;color:#000;margin-bottom: 60px;}
.ti2::before,.ti2::after{display:block;content: "";background:url("../images/bg_ti2.webp") no-repeat bottom;width:87px; height: 40px;}
.ti2::after{transform:scale(-1, 1);}
.ti2 span{padding:0 2rem;}
.ti2 span::before{position: absolute;top:-40px;left:50%;transform: translateX(-50%);color:#d4eaca;font-size: 33px;font-weight: bold;letter-spacing: 0px;}
/*h3 ライン*/
.ti3{position: relative;font-size:20px;color:#000;margin-bottom: 30px;z-index: 3;}
.ti3::before{border-top:1px solid #1eaa39; content:"";position: absolute;top:50%;left:0;width:100%;z-index: -1;}
.ti3 span{background: #FFF;padding-right:1rem;z-index: 2;}
/*h3 bg四角*/
.ti3-sq{font-size:20px;color:#000;margin-bottom: 20px;}
.ti3-sq::before{content:url("../images/bg_ti3sq.webp");display: block;margin-bottom:-10px;}
/*リンク*/
a.maru{position: relative;padding-right: 15px;color:#0d250c;z-index: 3;}
a.maru:hover {color:#59b55b;z-index: 2;}
a.maru::after{content:"";display:inline-block;width:1.8rem;height:1.8rem;border-radius: 50%; background:#d4eaca;position:absolute;right:0px;;z-index: -1;}

/* ヘッダー
------------------------------------------------------------*/
h1{font-size:.875rem;font-weight: normal;margin-left:4vw;padding:5px 0;}
header .header-box{
    width: 95%;
	margin: 0 auto 10px;
	flex-wrap: nowrap;
	align-items: center;
}
header .logo{
	max-width:300px;
	width:17vw;
}
header .tel{
	max-width:250px;
	width:14.5vw;
}
.yoyaku{position:fixed;right:0;top:300px;z-index: 99;}
/* ナビゲーション
------------------------------------------------------------*/
/* pc-nav */
/*固定追従時CSS*/
.pcnav .drawer-nav.fixed{
	position:fixed;
	top:0;
	left:0;
	inset:0;
	margin: 0 auto;
	padding:20px;
	justify-content: center;
	background:rgba(255,255,255,1.0);
	height:60px;
	width:1000px;
	border:1px solid #1eaa39;
	border-radius: 0 0 10px 10px;
	z-index: 999!important;
	animation: slideDownFade 0.4s ease-out;
}
@keyframes slideDownFade {
  from {
    opacity: 0;
    transform: translateY(-50px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/*----固定追従用ここまで*/
.pcnav .drawer-nav{display: flex;font-size:max(1.0vw,14px);font-size:min(1.0vw,16px);}
.pcnav .drawer-nav > li:not(:first-child){margin-left: 1.7vw;}
.pcnav .drawer-nav > li:last-child{display:none;}
.pcnav .drawer-nav a,.pcnav .drawer-nav span{
	color:#000;
	padding-bottom: 1px;
	background-image: linear-gradient(#59b55b, #59b55b);
	text-decoration: none;
	background-repeat: no-repeat;
	background-position: bottom right;
	background-size: 0 2px;
	transition: background-size 0.3s;
}
.pcnav .drawer-nav >li a.current,.pcnav .drawer-nav >li span.current{color: #59b55b;}
.pcnav .drawer-nav >li a:hover,.pcnav .drawer-nav span:hover{
	color: #aaa;
	opacity: 1.0;
	background-position: bottom left;
	background-size: 100% 1px;
}
/*ドロップダウンメニュー*/
.pcnav .subnav{position:relative;}
.pcnav .subnav::after{content:""; display:block;background-image: url("../images/nav_arrow.webp"); background-position: center bottom;height:5px; background-repeat: no-repeat;}
.pcnav .subnav ul {
    display: none;/*デフォルトでは非表示の状態にしておく*/
    position: absolute;
    top: 25px;
    left: 0;
	width: 17em;
	border:1px solid #dee;
	z-index: 999!important;
}
.pcnav .subnav:hover::after{display: none;}
.pcnav .subnav:hover ul  {
    display: block;/*Gナビメニューにホバーしたら表示*/
	border-radius: 0 0 5px 5px;
	box-shadow: 3px 3px 5px 0px rgba(0, 0, 0, 0.4);
}
.pcnav .subnav:hover ul li{
	border-bottom: 1px dotted #ddd;
}
.pcnav .subnav:hover ul li a{
	display: block;
    background-color: #FFF;
	padding:10px!important;
}
/* ドロワー */
.hamburger-button,.hamburger-input,.hamburger-button {display: none;}


/* フッター
------------------------------------------------------------*/
main{position: relative;}
main.wave{padding-bottom: 220px;}
main.wave::after{content:"";background:url("../images/bg_cont.svg") left bottom /cover no-repeat ;display: block;width:100%;height: 200px;position: absolute;bottom: 0; left: 0;}
footer{position: relative;background-color:#eef7ea;}
footer h2 img{display:block;margin:auto;}
footer dl div{display:flex;padding:5px 0;}
footer dl dt:not(:last-child){width:6em;color:#000000;}
footer dl dt:last-child{max-width:320px; width:100%;margin:15px auto 0;}
footer dl.access{background:#FFF;padding:20px;border-radius:15px;}
footer dl.access div:not(:last-child){padding-bottom:20px;}
footer dl.access dt{width:12rem;}
footer dl.access dd{width:calc( 100% - 12rem);}
footer .contact{align-items: center;}
footer .btn{position: relative;transition: .4s cubic-bezier(0.37, 0, 0.63, 1);background-color:#8dc21f;color:#FFF;border:1px solid #8dc21f;text-align: center;padding:10px;border-radius: 10px;}
footer .btn::after{position: absolute; right:10px;top:50%;transform: translateY(-50%);content:">";}
footer .btn:hover{background-color:#FFF;border:1px solid #1eaa39;color:#1eaa39;letter-spacing: 0.15em;}
.map iframe{width:100%; border-radius: 15px;}
footer .copy{text-align:center;background:#1eaa39;padding:15px 0;color:#FFF;}
#pagetop {
	position:fixed;
	bottom:50px;
	right:30px;
	opacity: 0;
	transition: 0.8s ease;
	transform: translateY(30px);
	pointer-events: none;
	z-index: 99!important;
}
#pagetop a:hover {opacity: 0.5;}
#pagetop.visible {
  opacity: 1;
  pointer-events: auto;
}
/* 1400px以下から
------------------------------------------------------------*/
@media screen and (max-width: 1400px) {
	img.logo,img.tel{width: 20vw;}
}
/* 1280px以下から
------------------------------------------------------------*/
@media screen and (max-width: 1280px) {

}
/* 1180px以下から
------------------------------------------------------------*/
@media screen and (max-width: 1180px) {

	header .header-box{display:block;width:100%;}
	img.logo{width:300px !important;}
	img.tel{display:none;}
	/*ドロワーメニュー*/
	.drawer .drawer-nav > li{border-bottom:1px solid #ccc;font-size:18px;}
	.drawer .drawer-nav > li a,.drawer .drawer-nav span{display:block;text-align: left;padding:10px 0 !important;color:#000;font-weight: bold;}
	.drawer .drawer-nav li li a{color:#0d250c; font-weight: normal;font-size:16px;margin-left:1rem;}
	.drawer .drawer-nav > li:last-child{border:none;margin-top:20px;}
	.drawer .drawer-nav > li:last-child a{text-align: center;padding-bottom:10px;}
	.drawer{ position: relative;}
	.hamburger-input {display: none;}
	.hamburger-mark {
		background-color: #000; /* カスタム */
		display: block;
		height: 1px; /* カスタム */
		transition: 0.3s; /* カスタム */
		width: 30px; /* カスタム */
	}
	.drawer .drawer-nav {
		position: absolute;
		bottom:0;
		transform: translateY(-100%); /* 縦Y・横Xカスタム */
	}
	#hamburger:checked ~ ul.drawer-nav {
		position:fixed;
		top:0;
		bottom:inherit;
		width: 100%;
		inset:0;
		height: 100%;
		margin:auto;
		padding:50px 20px 0;
		background-color: #FFF; /* カスタム */
		transform: translateY(0%); /* 縦Y・横Xカスタム */
		transition: 0.5s;
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch;
		z-index: 998;
	}
	.hamburger-button {
		position: fixed;
		top:5px;
		right:5px;
		align-items: center;
		background-color: #ededed; /* カスタム */
		border: 1px solid #333; /* カスタム */
		border-radius: 3px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 7px; /* カスタム */
		height: 80px; /* カスタム */
		width: 80px; /* カスタム */
		z-index: 999;
	}
	#hamburger:checked	~ .hamburger-button	.hamburger-mark:nth-of-type(1) {transform:translate(4px, -3px) rotate(45deg); transform-origin: 0%;}
	#hamburger:checked ~ .hamburger-button .hamburger-mark:nth-of-type(2) {opacity: 0;}
	#hamburger:checked ~ .hamburger-button .hamburger-mark:nth-of-type(3) {transform:translate(4px, 3px) rotate(-45deg); transform-origin: 0%;}
}

/* 768px以下から
------------------------------------------------------------*/
@media only screen and (max-width:768px){
	body {min-width: 718px!important;}
	.inner-box,.content-box{padding:50px 0;}
	.yoyaku{width:50px;}
	/* 共通 */
	.mb30{margin-bottom: 20px!important;}
	.mb60{margin-bottom: 30px !important;}
	.mb80{margin-bottom: 50px!important;}
	.pd30{padding:20px;}
	.fs18{font-size:1rem;}
	.fs20,.fs22,.ti2,footer h2{font-size:1.125rem;}
	.br{border-radius:10px;}
	.center_l{text-align: inherit;}
	.c2 > *,.c2s > *{width: 100%;margin: 0;}
	.c2 > *:not(:last-child),.c2s > *:not(:last-child){margin-bottom: 30px;}
	.c3 > *{width: 48%;}
	.c3 > *:not(:nth-last-child(-n+2)) {margin-bottom: 30px;}
	.tab_on{display: inherit;}
	.sp_non{display: none;}


	/*見出し*/
	.tiS{margin-bottom: 20px;font-size:1.125rem;}
	.tiS::after{top:-15px;font-size: 1.375rem;}

	.ti2{font-size:1.125rem;}
	.ti2::before,.ti2::after{background-size: contain;width:40px; height: 20px;}
	.ti2 span{padding:0 1rem;}
	.ti2 span::before{top:-30px; font-size: 1.375rem;font-weight: bold;letter-spacing: 0px;width:100%;text-align: center;}

	.ti3{font-size:1.125rem;margin-bottom: 20px;}
	
	/* ヘッダー
	--------------------------------------*/
	h1{font-size:0.875rem;margin-left:1.5vw;}
	header div{width:100%;}
	a[href^="tel:"] {pointer-events: auto;}
	img.logo{width:250px !important;}
	/* フッター
	--------------------------------------*/
	footer .flexbox > div{width:100% !important;}
	footer .flexbox img {margin:auto;display:block;}
	footer dl{max-width:100%;padding:10px 0;margin:auto;border-radius:10px;}
	footer dl div{display:block;padding:10px 0; }
	footer dl div:not(:last-child){border-bottom:2px dotted #8dc21f;}
	footer dl dt,footer dl dd{width:100% !important;padding:5px 0;}
	footer .ftel{margin-bottom:30px;}
	.map iframe{border-radius: 10px;}
	footer .copy{padding:10px 0;}
	.copy{font-size: 14px;}
	#pagetop {width: 50px;right:10px;bottom:50px;}
}

/* 500px以下から
------------------------------------------------------------*/
@media only screen and (max-width:500px){
    body {min-width: inherit!important;width: 100%;color:#2d2d2d;}
	header .logo{width:50vw;height: auto;}
	.yoyaku{max-width: 200px; width:100%;left:50%;top:inherit;bottom:0;transform: translateX(-50%);}
	#pagetop {bottom:35px;}
	footer .copy{padding-bottom: 46px;}
	h1{width:calc(100% - 54px); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
	.sp_on{display: inherit;}
	
	/* 共通 */
	.c3 > *{width: 100%;margin: 0;}
	.c3 > *:not(:last-child){margin-bottom: 20px;}

	.hamburger-button {
		height: 52px; /* カスタム */
		width: 52px; /* カスタム */
	}
	.map iframe{width:100%; height:500px;  border-radius: 10px;}

}