@charset "utf-8";
/* CSS Document */

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, button{border:0;font-family:inherit;font-style:inherit;font-weight:inherit;margin:0;outline:0;padding:0;vertical-align:baseline;}

body, html{width:100%;}
body{
	font-size:100%;
	line-height:1.6;
	letter-spacing:0.025em;
	font-family:"Noto Sans JP";
	color:#333333;
}

p{margin-bottom:16px;}
ol, ul{list-style:none;}
table{width:100%;margin-bottom:16px;border-collapse:collapse;border-spacing:0;}
caption, th, td{font-weight:normal;text-align:left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";content:none;}
blockquote, q{quotes:none;}
a{font-size:100%;vertical-align:baseline;background:transparent;color:#0000FF;transition:0.4s;}
a:hover{text-decoration:none;}
img{max-width: 100%;height: auto;width /***/:auto;vertical-align:bottom;}
a img{border: 0;}
a:hover img,a:active img{-moz-opacity:0.8;opacity:0.8;filter:alpha(opacity=80);}
input, select{vertical-align:middle;}

.txt_r{text-align:right;}
.txt_c{text-align:center;}
.red{color:#FF0000;}

/* ===== 全体 ===== */
.wrap{max-width:1024px;margin:0 auto;}
.s_wrap{max-width:800px;margin:0 auto;}
.pc{display: block;}
.sp{display: none;}
.mobile{display:none;}
.clear:after{content:"";display:block;clear:both;}

.flex_box{margin-bottom:40px;display:flex;justify-content:space-between;flex-wrap:wrap;}
.two_flex .item{width:48%;box-sizing:border-box;position:relative;}
.three_flex .item{width:32%;box-sizing:border-box;position:relative;}
.three_flex::after{content:"";display: block;width:32%;}
.four_flex .item{width:24%;box-sizing:border-box;position:relative;}
.four_flex::before{content:"";display: block;width:24%;order:1;}
.four_flex::after{content:"";display: block;width:24%;}
.box_link{width:100%;height:100%;position:absolute;top:0;left:0;text-indent:-9999px;white-space:nowrap;overflow:hidden;}
.list_center{display:block;text-align:center;}
.list_center li{display:inline-block;}
/* ボタンデザイン */
.btn_dsn1{text-align:center;}
.btn_dsn1 a{padding:16px;font-size:15px;font-weight:600;background:#006837;color:#FFFFFF;border:1px solid #006837;display:block;transition:0.4s;text-decoration:none;}
.btn_dsn1 a:hover{background:#FFFFFF;color:#006837;}
.btn_dsn2{max-width:640px;margin:0 auto 40px;text-align:center;}
.btn_dsn2 a{padding:16px;font-size:15px;font-weight:600;color:#006837;border:1px solid #006837;background:#FFFFFF;display:block;transition:0.4s;text-decoration:none;}
.btn_dsn2 a:hover{background:#006837;color:#FFFFFF;}
/* youtube埋め込みレスポンシブ */
.movie{height:0;padding-bottom:56.25%;position:relative;overflow: hidden;}
.movie iframe{width:100%;height:100%;position:absolute;top:0;left:0;}

#page-top{position:fixed;bottom:5%;right:16px;background-color:rgba(0,0,0,0.6);font-size:12px;}
#page-top a{width:40px;height:40px;line-height:40px;color:#FFFFFF;text-decoration: none;text-align: center;display: block;position:relative;}

/* ===== header ===== */
#header{padding:16px 3%;position: relative;display:flex;justify-content:space-between;flex-wrap:wrap;}
#header > h1{width:50%;}
/* global_menu */
#global_menu{width:calc(50% - 128px);}
#global_menu ul{margin-right:16px;float:right;}
#global_menu ul li{margin:0 8px;float:left;}
#global_menu ul li a{padding:12px 0;color:#000000;font-weight:600;text-decoration:none;display:block;}
#global_menu ul li:last-of-type a{padding:12px 24px;background:#006837;color:#FFFFFF;border-radius:4px;}

.language{width:128px;}
.language select{
	width:100%;
	padding:14px 24px;
	cursor: pointer;
	text-overflow: ellipsis;
	border:2px solid #000000;
	border-radius:4px;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
	box-sizing:border-box;
	font-size:16px;
	font-weight:700;
	text-align:center;
}
.language select option{text-align:left;}

/* main_image */
.main_image{margin-bottom:16px;text-align:center;position:relative;}
.main_image img{width:100%;}
.main_image .main_catch{width:640px;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);-webkit-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);}
.main_image .main_catch p{margin-bottom:24px;color:#42210B;font-weight:700;text-shadow:2px 2px 10px #FFFFFF,-2px 2px 10px #FFFFFF,2px -2px 10px #FFFFFF,-2px -2px 10px #FFFFFF;}
.main_image .main_catch p.catch{margin-bottom:40px;font-size:36px;color:#FFFFFF;text-shadow:2px 2px 10px #006837,-2px 2px 10px #006837,2px -2px 10px #006837,-2px -2px 10px #006837;letter-spacing:0.1em;}
.main_image .main_catch .btn_dsn2{width:280px;margin-bottom:0;}

/* ===== contents ===== */
#contents{margin-bottom:40px;}
#contents section{padding:24px 0;}
#contents h2{margin-bottom:28px;font-size:24px;font-weight:600;letter-spacing:0.1em;text-align:center;line-height:1.4;}
#contents h2 small{font-size:15px;font-weight:500;color:#333333;letter-spacing:0.025em;display:block;}
#contents dl.content_box dt{margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid #000000;font-size:18px;font-weight:600;color:#000000;}
#contents dl.content_box dd{margin-bottom:32px;}

/* acc */
#acc{max-width:640px;margin:0 auto 24px;display:flex;justify-content:space-between;flex-wrap:wrap;}
#acc dt{width:140px;padding:8px 8px 8px 24px;text-align:center;background:#006837 url("image/map.svg") no-repeat left 24px center / 20px;color:#FFFFFF;box-sizing:border-box;}
#acc dd{width:calc(100% - 140px);padding:8px 24px;background:#F2F2F2;color:#006837;font-weight:600;box-sizing:border-box;}
/* access */
#access .map{margin-bottom:40px;}
#access .acc_box{margin-bottom:40px;}
#access .acc_box h3{margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid #000000;font-size:18px;font-weight:600;color:#000000;}
#access .acc_box ul{margin-bottom:24px;}
#access .acc_box ul li{margin-left:24px;list-style:disc;}
#access .acc_box ol{margin-bottom:24px;}
#access .acc_box ol li{margin-left:24px;list-style:decimal;}
#access .acc_box dl dt{margin-bottom:4px;color:#006837;font-weight:600;}
#access .acc_box dl dd{margin-bottom:24px;}
/* local_menu */
#local_menu{margin-bottom:40px;padding:40px 0;background:#F2F2F2;}
#local_menu li{width:240px;margin:4px 8px;font-size:14px;}

/* gallery */
#gallery{margin-bottom:24px;display:flex;justify-content:space-between;flex-wrap:wrap;}
#gallery li{width:25%;}
/* about */
#about .relax_corner{padding-top:24px;}
#about .relax_corner p.catch{margin-bottom:24px;font-size:20px;font-weight:700;color:#000000;}
/* faq */
#faq h3{margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid #000000;font-size:18px;font-weight:600;color:#000000;}
#faq h4{margin-bottom:16px;padding:12px 12px;font-size:15px;font-weight:600;background:#006837;color:#FFFFFF;}
#faq dl{margin-bottom:24px;}
#faq dl dt{margin-bottom:8px;padding:8px 40px;font-size:15px;font-weight:600;background:#F2F2F2 url("image/open.svg") no-repeat center right 12px / 16px;color:#000000;position:relative;cursor:pointer;transition:0.4s;}
#faq dl dt.open{background-image:url("image/close.svg");}
#faq dl dt:before{content:"Q";display:block;position:absolute;top:8px;left:12px;color:#006837;}
#faq dl dd{padding-bottom:12px;font-size:15px;display:none;}
/* guide */
#guide dd h3{margin-bottom:8px;padding:8px 12px;font-size:15px;font-weight:600;background:#F2F2F2;}
#guide dd table caption{padding:8px 0;caption-side:bottom;font-size:13px;}
#guide dd table tr,#guide dd table td{padding:8px 0;}
#guide dd table tr{border-bottom:1px dashed #CCCCCC;}
#guide dd table td{width:140px;text-align:right;}
#guide dd ul li{padding-left:32px;position:relative;}
#guide dd ul li:before{content:"●";display:block;color:#006837;position:absolute;top:0;left:0;}

/* ===== footer ===== */
#footer{padding:40px 3% 24px;background:#006837;color:#FFFFFF;display:flex;justify-content:space-between;flex-wrap:wrap;}
#footer .f_acc{width:50%;}
#footer .f_acc h2{margin-bottom:16px;font-size:20px;font-weight:700;}
#footer .f_acc h2 a{color:#FFFFFF;text-decoration:none;}
#footer .f_acc ul li{display:inline-block;width:24px;}
#footer .f_acc ul li:first-of-type{margin-right:4px;}
#footer .f_acc a{color:#FFFFFF;}
#footer div.copy{width:50%;margin-top:auto;font-size:11px;text-align:right;}

@media screen and (min-width: 1025px) {
	#global_menu{display:block !important;}
}
@media screen and (min-width: 741px) {
	a[href^="tel:"]{pointer-events:none;cursor:default;text-decoration: none;}
}

@media screen and (max-width: 1024px) {
	.pc{display: none;}
	.sp{display:block;}
	.wrap{width:90%;}
	
	#header{position:sticky;top:0;background-color:#FFFFFF;z-index:1;}
	#header > h1{width:80%;}
	
	.overlayMenuBtn{
		position: absolute;
		top: 24px;
		right: 3%;
		height: 50px;
		cursor: pointer;
		z-index: 100001;
	}
	.overlayMenuBtn span{
		position: relative;
		display: block;
		width: 40px;
		border: 2px solid #006837;
		transition: .5s;
		background-color:#006837;
	}
	.overlayMenuBtn span:nth-child(1){top: 0;}
	.overlayMenuBtn span:nth-child(2){top: 10px;}
	.overlayMenuBtn span:nth-child(3){top: 20px;}
	.open .overlayMenuBtn span{
		border:2px solid #FFFFFF;
	}

	.overlayMenu{display:none;position:fixed;width:100%;height:100vh;overflow: auto;background-color:#FFFFFF;z-index: 100000;color:#333333;top:0;left:0;}
	.overlayMenuInner{padding:64px 4% 40px;}

	.overlayMenuItem ul.sp_menu{
		margin: 20px 0 40px 0;
		padding: 0;
		list-style-type: none;
	}
	.overlayMenuItem ul.sp_menu li{border-top: 1px solid #ccc;}
	.overlayMenuItem ul.sp_menu li:last-child{border-bottom: 1px solid #ccc;}
	.overlayMenuItem ul.sp_menu li a{
		width: 100%;
		padding:12px 0 12px 24px;
		color: #333333;
		text-decoration: none;
		transition: .5s;
		display: block;
		box-sizing:border-box;
	}
	.overlayMenuItem ul.sp_menu li a:hover{background-color:#006837;color:#FFFFFF;}
	.overlayMenuItem ul.list_center{margin-bottom:40px;}
	.overlayMenuItem ul.list_center li{width:30%;margin:0 1% 1%;text-align:center;}
	.overlayMenuItem ul.list_center li a{padding:8px 0;background:#006837;color:#FFFFFF;font-weight:700;display:block;border-radius:4px;text-decoration:none;}
	.overlayMenuItem .head_add{text-align:center;}
	.overlayMenuItem .head_add #sp_logo{margin-bottom:16px;font-size:21px;font-weight:600;letter-spacing:0.1em;}
	.overlayMenuItem .head_add #sp_logo small{display:block;font-size:12px;letter-spacing:0;}
	.overlayMenuItem .head_add p{font-size:14px;}

	/* ===== global_menu ===== */
	#global_menu{display:none;}
	.language{display:none;}
	
	#about,#access,#guide,#facilities,#about{margin-top:-80px;padding-top:80px!important;}
}

@media screen and (max-width: 800px) {
	.s_wrap{width:90%;}
}

@media screen and (max-width: 740px) {
	.mobile{display:block;}
	.table_scroll{overflow: auto;white-space: nowrap;display:block;}
	.table_scroll::-webkit-scrollbar{height: 5px;}
	.table_scroll::-webkit-scrollbar-track{background: #333;}
	.table_scroll::-webkit-scrollbar-thumb {background: #999;}
	.table-scroll table{width:100%;}
	a[href^="tel:"]{text-decoration:none;color:#000000;}
	
	.two_flex .item{width:100%;margin:8px 0;}
	.three_flex .item{width:100%;}
	.four_flex .item{width:48%;}
	.four_flex::before{content:"";display: block;width:48%;order:1;}
	.four_flex::after{content:"";display: block;width:48%;}
	
	.alignleft,.alignright{float:none;}
	.nav-previous,.nav-next{float:none;width:100%;text-align:left;}
	.btn_dsn2{width:90%;}
	/* main_image */
	.main_image img{height:90vw;object-fit:cover;}
	.main_image .main_catch{width:90%;}
	.main_image .main_catch p.catch{font-size:28px;}
	/* gallery */
	#gallery li{width:50%;}
	/* acc */
	#acc{width:90%;}
	#acc dt{background:#006837 url("image/map.svg") no-repeat left 24px top 8px / 20px;}
	#acc dd{width:100%;padding:8px 16px;}
	/* ===== footer ===== */
	#footer .f_acc{width:100%;margin-bottom:40px;text-align:center;}
	/* #footer .f_acc ul li{;} */
	#footer div.copy{width:100%;text-align:center;}
}

@media screen and (max-width: 640px) {
}
