@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 !important;vertical-align: middle;}
ul {list-style: none;}
ol {padding-left: 20px;}
a {color: #8dc21f;vertical-align:baseline;background:transparent;text-decoration: none;}
a:hover{transition-property: all;transition: 0.2s linear;opacity: 0.8;}
a[href^="tel:"] {pointer-events: none;}
a.link{text-decoration:underline;}
mark {background: linear-gradient(transparent 65%, #fef1e6 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, "メイリオ", Meiryo, Tahoma, Verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, sans-serif;color: #332f2f;line-height: 1.6;font-size:clamp(1rem, 0.932rem + 0.24vw, 1.125rem); letter-spacing: 0.1rem;}
.target{scroll-margin-top: 120px;scroll-behavior: smooth;}

.inner-box{max-width:1280px;padding:80px 0; margin:auto;}
.mb30{margin-bottom:30px !important;}
.mb40{margin-bottom:40px !important;}
.mb80{margin-bottom:80px !important;}
.bg_g{background:#e6f2ce;}
.center,.has-text-align-center{text-align: center;}
.right,.has-text-align-right{text-align: right;}
.sp_on{display:none;}
.flexbox{
	display: flex;
    flex-wrap: wrap;
	row-gap:max(1.5em,30px);
	margin:auto;
}
.flexbox.c2{column-gap: 3%;}
.flexbox.c3{column-gap: 2.75%;}
.flexbox.c4{column-gap: 2%;}
.c2{justify-content: space-between;}
.c2 > *{width: 48.5%;}
.c3 > *{width: 31.5%;}
.c4 > *{width:23.5%;}
.c2 >img ,.c3 > img,.c4 > img{align-self: flex-start;}
/*ボタン*/
.btn_berge{position: relative;	display: block;	border:1px solid #8dc21f;border-radius: 5px;background:#f6f2ee;text-align: center;padding:20px;color:#1e2410;}
.btn_berge::after{content:url("../images/arrow_white2.webp");display:block;position:absolute;top:50%;transform: translateY(-50%);right:10px;}
.btn_berge:hover{background:#8dc21f;color:#FFF;}
.telbtn {display:block;border:1px solid #8dc21f;text-align: center;width:300px;padding:10px 0 10px 30px; border-radius:30px;margin:auto;color:#1e2410;background:#FFF url("../images/icon_tel.webp") no-repeat 20px center ;}

/*見出し*/
h2{color:#1e2410;font-size:clamp(1.125rem, 0.989rem + 0.48vw, 1.375rem);text-align: center;padding-bottom:10px;margin-bottom: 60px;border-bottom:1px solid #8dc21f;}
h3{text-align:cener;color:#FFF; background:#8dc21f;font-size:clamp(1.125rem, 1.057rem + 0.24vw, 1.25rem);margin-bottom: 30px;padding:20px 10px;border-radius: 10px;}
h4{color:#1e2410;font-size:clamp(1.125rem, 1.057rem + 0.24vw, 1.25rem);margin-bottom: 20px;border-left:5px solid #8dc21f; padding:12px 0 12px 15px;}

/* ヘッダー
------------------------------------------------------------*/
.inner-header{max-width:1580px;margin: auto;position: relative;margin-bottom: 30px;}
h1{font-size:14px;}
.head-bnr{position: absolute;top:18px;right:0;display: flex; gap: 15px;align-items: center;}


/* ナビゲーション
------------------------------------------------------------*/
/* pc-nav */
/*固定追従時CSS*/
.pcnav .spnavbtn.fixed{
	position:fixed;
	top:0;
	left:0;
	inset:0;
	margin: 0 auto;
	justify-content: center;
	background:rgba(255,255,255,1.0);
	height:60px;
	width:100%;
	border:1px solid #a67c52;
	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);
  }
}
/*----固定追従用ここまで*/
.hamburger-button,.hamburger-input,.hamburger-button {display: none;}
.pcnav .drawer-nav{position: relative;font-size:max(0.93vw,18px);width:min(1280px 67vw);margin:0 auto;text-align: center;}
.pcnav .drawer-nav > li{display: inline-block;}
.pcnav .drawer-nav a,.pcnav .drawer-nav span{
	display:block;
	color:#000;
	padding:10px 1vw;
}
.pcnav .drawer-nav >li a:hover,.pcnav .drawer-nav > span:hover{
	color: #aaa;
}
.spnavbtn > li:nth-child(-n+4){display:none;}
.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:hover::after{visibility: hidden;}

/*ドロップダウンメニュー*/
.pcnav .subnav > ul,.pcnav .subnav div{display:none; /* 下層メニューを非表示 */}
.pcnav .subnav > ul li{
	border-bottom:1px dotted #a67c52;
	width:48%;
}
.pcnav .subnav > ul.last{right:0; /*右側にはみ出すメニューを回避*/}
.pcnav .subnav:hover > ul{
	position: absolute;
	top: 100%; /* 親項目の直下に配置 */
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width:clamp(37.5rem, 46.88vw, 56.25rem);
	border:1px solid #a67c52;
	border-radius: 0 0 10px 10px;
	background:#f6f2ee;
	padding:20px 10px;
	z-index: 999!important;
}
.pcnav .subnav:hover div  {
	display:flex;
	justify-content: center;
	gap:15px;
	padding:0;
	width:100%;
	position: absolute;
	top: 100%; /* 親項目の直下に配置 */
    left: 50%;
	transform: translateX(-50%);
	background:#f6f2ee;
	border:1px solid #a67c52;
	border-radius: 0 0 10px 10px;
	z-index: 999!important;
}
.pcnav span.panel{display:none;}
.pcnav .subnav div {

}
.child{padding:20px 0;width:min(20vw,15em);}
.child li{border-bottom:1px dotted #a67c52;}
.child li:first-child{border:none;background:#FFF;}
.child li:first-child a{background:#a67c52;color:#FFF !important;border-radius:5px; }

/* ドロワー */
@media screen and (max-width: 1025px) {
	.spnavbtn{max-width:400px;margin:auto;}
	.hamburger-input {display: none;}
	.hamburger-mark {
		background-color: #000; /* カスタム */
		display: block;
		height: 1px; /* カスタム */
		transition: 0.3s; /* カスタム */
		width: 30px; /* カスタム */
	}
	.drawer .drawer-nav {
		position: absolute;
		top:0;
		transform: translateY(-100%); /* 縦Y・横Xカスタム */
	}
	#hamburger:checked ~ ul.drawer-nav {
		position:fixed;
		top:0;
		bottom:inherit;
		width: 100%!important;
		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: 9998;
	}
	.hamburger-button {
		position: relative;
		align-items: center;
		background-color: #f6f2ee; /* カスタム */
		border: 1px solid #e6e6e6; /* カスタム */
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 7px; /* カスタム */
		height: 80px; /* カスタム */
		width: 80px; /* カスタム */
	}
	.hamburger-button span:last-child {position:absolute;bottom:0; left:50%; transform: translateX(-50%);font-size:13px;font-family:"メイリオ", Meiryo, Tahoma, Verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, sans-serif;}
	#hamburger:checked ~ .hamburger-button{position: fixed;top:5px;right:5px;z-index: 9999;width:40px;height: 40px;}
	#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%;}
	#hamburger:checked ~ .hamburger-button span:last-child{display:none;}
	.drawer-nav > li{border-bottom:1px solid #ccc;}
	.drawer-nav > li a,.drawer-nav span{display:block;text-align: left;padding:10px !important;color:#0d250c;}/*子階層*/
	.drawer-nav li li a,.drawer-nav li li span{display:block;color:#0d250c; font-weight: normal;font-size:16px;border-bottom: 1px dotted #a67c52; }/*孫階層*/
	/*固定追従時CSS*/
	.spnavbtn.fixed{
		position:fixed;
		top:0;
		left:0;
		inset:0;
		margin: 0 auto;
		justify-content: center;
		background:rgba(255,255,255,1.0);
		height:80px;
		max-width:400px;
		z-index: 999!important;
		animation: slideDownFade 0.4s ease-out;
	}
	.spnavbtn > li:nth-child(-n+5){display:table-cell;vertical-align: top;}
	/*開閉パネル*/
	.drawer-nav a.pc{display:none;}
	.subnav ul {
		display: none;
		margin: 0;
		padding: 0;
		list-style: none;
	}
	.subnav.open ul {display: block;background:#f6f2ee;width:100%;}
	.subnav.open ul span {display: block;background:#a68c56;text-align: center;border-radius: 0;}
	.subnav .panel {
		cursor: pointer;
	}
	/* ボタンに記号を追加 */
	.subnav .panel::after {
		content: "＋";
		margin-left: 0.5em;
		font-weight: bold;
		transition: transform 0.3s ease;
	}
	/* 開いているときは「−」に変更 */
	.subnav.open .panel::after {
		content: "−";
	}
	.open .panel {
		background:#a67c52;color:#FFF;
	}
}
/*サイドバナー*/
.side-nav{position:fixed;right:0;top:13%;z-index: 99;}
.side-nav li{width:clamp(2.813rem, 1.739rem + 1.68vw, 3.75rem) ;}
.side-nav li:not(:last-child){margin-bottom:10px;}


/* フッター
------------------------------------------------------------*/
footer{background-color:#e6f2ce;}
footer::before{display: block;width:100%;height:min(15vh,190px);content:"";background:url(../images/wave.webp) no-repeat top left /100%;}
footer .copy{text-align:center;background:#8dc21f;padding:15px 0;color:#FFF;}
.fhour{width:100%; height: auto;margin-bottom: 40px;}
.access{border-radius:10px 0 0 10px;overflow: hidden;font-size:16px; }
.access div{display:flex;}
.access div:not(:last-child){border-bottom: 1px solid #e6e6e6;}
.access dt,.access dd{display:table-cell; padding:20px 0;vertical-align: middle;}
.access dt{width:160px;color:#FFF;background:#8dc21f;text-align: center;}
.access dd{width:calc(100% - 160px);background:#FFF;padding:20px 10px;}
.access dd span{display:block;text-align: right;height:24px;}
.access dd a{position:relative;display:inline-block;padding-right:25px;background:url("../images/arrow_white.webp") no-repeat right center;}
.map iframe{width:100%;height: 100%; border-radius: 15px;}

#pagetop {
	position:fixed;
	bottom:0px;
	right:20px;
	opacity: 0;
	transition: 0.8s ease;
	pointer-events: none;
	z-index: 99!important;
}
#pagetop a:hover {opacity: 0.5;}
#pagetop.visible {
  opacity: 1;
  pointer-events: auto;
}
/* 1280px以下から
------------------------------------------------------------*/
@media screen and (max-width: 1280px) {
	.inner-box{padding:80px 2.6vw;}
}
/* 1180px以下から
------------------------------------------------------------*/
@media screen and (max-width: 1180px) {
	/*フッター*/
	footer::before{background-size:contain;height: 100px;}
}

/* 1025px以下から
------------------------------------------------------------*/
@media only screen and (max-width:1025px){
	/* 共通 
	--------------------------------------*/
	.mb30{margin-bottom:15px !important;}
	.mb40{margin-bottom:20px !important;}
	.mb80{margin-bottom:40px !important;}
	.center_l{text-align: inherit;}
	a[href^="tel:"] {pointer-events: auto;}
	.sp_on{display: block !important;}
	.sp_non{display: none !important;}

	/*見出し*/
	h2{margin-bottom: 40px;}
	h3{margin-bottom: 20px;}
	h4{margin-bottom: 15px;}
	
	/* ヘッダー
	--------------------------------------*/
	.inner-header{text-align:center;}
	h1{font-size:14px;}
	.head-bnr{position: inherit;display: flex;justify-content: center;gap: 15px;align-items: center;width:85%;margin:auto;}
	.head-bnr li:first-child{display: none;}
	/*右サイド固定ボタン*/
	.side-nav{bottom:0; top:inherit;right:inherit;display:flex;width:100%;justify-content: center;}
	.side-nav li{width:auto;margin-bottom:0 !important;}
	.side-nav img{width:auto; height: 40px !important;}
	/* フッター
	--------------------------------------*/
	footer .flexbox > div{width:100% !important;}
	footer .copy{padding:10px 0 40px;font-size: 14px;}
	.fhour{display:block;max-width:600px;width:100%;margin:0 auto 20px !important;}
	.access{border-radius:0px;}
	.access div{display:block;}
	.access dt,.access dd{display:block;width:100%;padding:8px 0;}
	.access dd{width:100%;background:#FFF;padding:10px;}
	.map iframe{height:500px;border-radius: 10px;}
	#pagetop {bottom:50px;right:5px;}
	#pagetop img{width:13px;height: auto;}
}
/* 768px以下から
------------------------------------------------------------*/
@media only screen and (max-width:768px){
	.c2 > *{width: 100%;}
	.c3 > *{width: 48.5%;}
	.c4 > *{width:31.5%;}
	.flexbox.c3{column-gap: 3%;}
	.flexbox.c4{column-gap: 2.75%;}
}
/* 450px以下から
------------------------------------------------------------*/
@media only screen and (max-width:450px){
	.inner-box{padding:50px 5vw;}
	main img{display:block;margin-right:auto;margin-left:auto;max-width:100%;}

	h1{width:100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
	.sp_on{display: inherit;}
	.sp_non{display: none;}
	
	/* 共通 */
	.c3 > *{width: 100%;}
	.c4 > *{width:48.5%;}
	.flexbox.c4{column-gap: 3%;}
	.c2,.c3,.c4{row-gap: 15px;}
	/*ドロワー*/
	.drawer-nav li{width:90%;margin:auto;}
	.child{padding-top:10px !important;}

	/*フッター*/
	footer::before{display: block;width:100%;height:54px;content:"";background:url("../images/waveSP.webp") no-repeat top left/100%;}
}
/* 400px以下から
------------------------------------------------------------*/
@media only screen and (max-width:400px){
	.hamburger-button {
		height: 75px; /* カスタム */
		width: 75px; /* カスタム */
	}
	/*右サイド固定ボタン*/
	.side-nav{width:100%;}
}