@charset "UTF-8";
html {
	font-size: 62.5%;
}

body {
	font-family: "Zen Maru Gothic", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "MS Pゴシック", "MS PGothic", sans-serif;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.5;
	color: #002B14;
}
body.open {
	height: 100%;
	overflow: hidden;
}

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

.sp {
	display: block;
}

.pc {
	display: none;
}

#wrap {
	width: 100%;
	overflow: hidden;
}

.section {
	padding: 64px 0;
}

.inner_section {
	width: 87.4666666667vw;
	margin: 0 auto;
}

button {
	border: none;
	background: none;
	font-family: "Zen Maru Gothic", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "MS Pゴシック", "MS PGothic", sans-serif;
}

/* header
------------------------------------------------------------------------- */
#header {
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	background: #fff;
}
#header .ul_header_global_nav {
	display: none;
}

.wrap_header {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	height: 64px;
	padding: 0 8px;
}

/* ロゴ */
.header_logo {
	max-width: 197px;
}

/* PCボタン */
.ul_header_btn {
	display: none;
}

/* ハンバーガーメニュー ここから*/
#nav_toggle {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 80px;
	height: 48px;
	background: #00853E;
	border-radius: 8px;
	position: relative;
	z-index: 10;
}

#nav_toggle > span {
	width: 44px;
	height: 36px;
	margin: 0 auto;
	position: relative;
}

#nav_toggle span span:not(:last-child) {
	display: block;
	width: 32px;
	height: 4px;
	border-radius: 5px;
	background: #fff;
	position: absolute;
	right: 0;
	-webkit-transition: top 0.2s ease, -webkit-transform 0.2s ease-in-out;
	transition: top 0.2s ease, -webkit-transform 0.2s ease-in-out;
	transition: transform 0.2s ease-in-out, top 0.2s ease;
	transition: transform 0.2s ease-in-out, top 0.2s ease, -webkit-transform 0.2s ease-in-out;
}
#nav_toggle span span:not(:last-child)::before {
	content: "";
	display: block;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: #fff;
	position: absolute;
	top: 50%;
	left: -4px;
	-webkit-transform: translate(-100%, -50%);
	transform: translate(-100%, -50%);
}

#nav_toggle span span:nth-child(1) {
	top: 0;
}

#nav_toggle span span:nth-child(2) {
	top: 8px;
}

#nav_toggle span:nth-child(3) {
	text-align: center;
	font-weight: bold;
	font-size: 16px;
	font-size: 1.6rem;
	position: absolute;
	bottom: 0;
	left: 0;
	color: #fff;
}

.open #nav_toggle span span:not(:last-child) {
	width: 40px;
}
.open #nav_toggle span span:not(:last-child)::before {
	content: none;
}

.open #nav_toggle span span:nth-child(1) {
	-webkit-transform: rotate(20deg);
	transform: rotate(20deg);
	top: 4px;
}

.open #nav_toggle span span:nth-child(2) {
	-webkit-transform: rotate(-20deg);
	transform: rotate(-20deg);
	top: 4px;
}

/* ========== ハンバーガーメニュー内 ========= */
.header_nav {
	width: 100%;
	height: 100vh;
	background: url(../images/header_bg_sp.svg) repeat-y top left #002B14;
	background-size: 16px 32px;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	visibility: hidden;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	z-index: 1;
}

.open .header_nav {
	opacity: 1;
	visibility: visible;
}

.header_scroll_area {
	overflow-y: scroll;
	height: calc(100vh - 64px);
	padding: 0 24px 88px 7px;
}

.inner_header_nav {
	height: 100%;
	background: #EBFAD9;
	padding-top: 64px;
	margin-left: 16px;
}

/* 言語 */
.language {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 8px;
	font-weight: 900;
	color: #065A2D;
	position: absolute;
	top: 8px;
	right: 104px;
}
.language::before, .language::after {
	content: "";
	display: block;
}
.language::before {
	width: 24px;
	height: 24px;
	background: url(../images/icon_language.svg) no-repeat;
	background-size: contain;
}
.language::after {
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 4px solid transparent;
	border-left: 4px solid transparent;
	border-top: 6px solid #065A2D;
	border-bottom: 0;
}

/* 検索窓 */
.search_box {
	padding: 8px;
	background: #00853E;
	border-radius: 8px;
	margin-bottom: 24px;
}

.vkfs__labels {
	display: block;
}

.vkfs__label-name {
	display: none;
}

.vkfs:where(:not(.vkfs__layout--min)) .vkfs__outer-wrap {
	margin: 0;
}

.vkfs__input-wrap {
	position: relative;
}

.vkfs__input-wrap::before {
	content: "";
	display: block;
	width: 24px;
	height: 24px;
	background: url(../images/icon_search.svg) no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	left: 16px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	pointer-events: none;
}

.vkfs input[type=text] {
	width: 100%;
	font-weight: bold;
	font-size: 16px;
	font-size: 1.6rem;
	font-family: "Zen Maru Gothic", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "MS Pゴシック", "MS PGothic", sans-serif;
	color: rgba(0, 43, 20, 0.64);
	padding: 12px 0 12px 48px;
	border-radius: 8px;
	border: none;
}

/* 検索ボタン */
.vkfs {
	position: relative;
	margin: 0!important;
}

.vkfs .btn[type=submit] {
	width: 64px;
	height: 32px;
	color: #fff;
	background: #00853E;
	border: 1px solid #EBFAD9;
	border-radius: 16px;
	font-weight: bold;
	font-family: "Zen Maru Gothic", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "MS Pゴシック", "MS PGothic", sans-serif;
	position: absolute;
	top: 50%;
	right: 16px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	padding: 0;
	letter-spacing: 0;
	margin: 0;
}

/* ナビゲーション */
.ul_global_nav {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.ul_global_nav li {
	width: 50%;
	text-align: center;
	border-bottom: 1px dashed #00853E;
	position: relative;
}
.ul_global_nav li:nth-child(odd)::before {
	content: "";
	display: block;
	width: 100%;
	height: 80%;
	border-right: 1px dashed #00853E;
	position: absolute;
	top: 50%;
	right: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	pointer-events: none;
}
.ul_global_nav li:nth-last-child(1), .ul_global_nav li:nth-last-child(2) {
	border: none;
}
.ul_global_nav li a {
	display: block;
	width: 100%;
	height: 100%;
	font-weight: bold;
	font-size: 14px;
	font-size: 1.4rem;
	padding: 10px 0;
}
.ul_global_nav li a::before {
	content: "";
	display: block;
	width: 24px;
	height: 24px;
	margin: 0 auto;
	background-size: contain;
	background-repeat: no-repeat;
}
.ul_global_nav li:nth-child(1) a::before {
	background-image: url(../images/nav_icon01.svg);
}
.ul_global_nav li:nth-child(2) a::before {
	background-image: url(../images/nav_icon02.svg);
}
.ul_global_nav li:nth-child(3) a::before {
	background-image: url(../images/nav_icon03.svg);
}
.ul_global_nav li:nth-child(4) a::before {
	background-image: url(../images/nav_icon04.svg);
}
.ul_global_nav li:nth-child(5) a::before {
	background-image: url(../images/nav_icon05.svg);
}
.ul_global_nav li:nth-child(6) a::before {
	background-image: url(../images/nav_icon06.svg);
}
.ul_global_nav li:nth-child(7) a::before {
	background-image: url(../images/nav_icon07.svg);
}
.ul_global_nav li:nth-child(8) a::before {
	background-image: url(../images/nav_icon08.svg);
}

/* ボタン */
.ul_global_nav_btn {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 16px;
	margin: 24px 0;
}
.ul_global_nav_btn li {
	width: calc(50% - 8px);
}
.ul_global_nav_btn li a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 8px;
	font-weight: bold;
	font-size: 18px;
	font-size: 1.8rem;
	color: #fff;
	background: #00853E;
	border: 2px solid #C9E595;
	border-radius: 40px;
	padding: 15px 0;
}
.ul_global_nav_btn li a::before {
	content: "";
	display: block;
	min-width: 24px;
	max-width: 24px;
	height: 24px;
	background-size: contain;
	background-repeat: no-repeat;
}
.ul_global_nav_btn li:nth-child(1) a::before {
	background-image: url(../images/nav_icon_parking.svg);
}
.ul_global_nav_btn li:nth-child(2) a::before {
	background-image: url(../images/icon_access.svg);
}
.ul_global_nav_btn li:nth-child(3) a::before {
	background-image: url(../images/icon_fee.svg);
}
.ul_global_nav_btn li:nth-child(4) a::before {
	background-image: url(../images/icon_news.svg);
}

/* バナー */
.ul_global_nav_bnr li {
	margin-bottom: 16px;
}
.ul_global_nav_bnr li:last-child {
	margin-bottom: 0;
}

/* 公式SNS */
.header_sns_ttl {
	font-weight: bold;
	padding-bottom: 8px;
	margin: 40px 0 16px;
	border-bottom: 1px dashed #00853E;
}

.ul_header_sns {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 16px 6px;
}
.ul_header_sns li {
	width: calc(50% - 6px);
}
.ul_header_sns li a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 8px;
	font-weight: bold;
	background: #fff;
	border: 2px solid #00853E;
	border-radius: 8px;
	padding: 10px 14px;
}
.ul_header_sns li a::before {
	content: "";
	display: block;
	width: 24px;
	height: 24px;
	background-repeat: no-repeat;
	background-size: contain;
}
.ul_header_sns li:nth-child(1) a::before {
	background-image: url(../images/icon_instagram.svg);
}
.ul_header_sns li:nth-child(2) a::before {
	background-image: url(../images/icon_facebook.svg);
}
.ul_header_sns li:nth-child(3) a::before {
	background-image: url(../images/icon_x.svg);
}

/* お問い合わせボタン */
.btn_global_nav_contact {
	margin: 40px 0;
}
.btn_global_nav_contact a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 8px;
	font-weight: bold;
	font-size: 18px;
	font-size: 1.8rem;
	color: #fff;
	background: #00853E;
	border: 2px solid #C9E595;
	border-radius: 40px;
	padding: 15px 0;
}
.btn_global_nav_contact a::before {
	content: "";
	display: block;
	min-width: 24px;
	max-width: 24px;
	height: 24px;
	background: url(../images/icon_mail.svg) no-repeat;
	background-size: contain;
}

a[target=_blank] {
	position: relative;
}
a[target=_blank]::after {
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	right: 24px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.target_white a[target=_blank]::after {
	background-image: url(../images/icon_external_link_white.svg);
}

/* 閉じるボタン */
.btn_close {
	width: 87.4666666667vw;
	padding: 8px 0;
	font-weight: bold;
	font-size: 24px;
	font-size: 2.4rem;
	color: #00853E;
	border: 2px solid #00853E;
	border-radius: 8px;
}

/* main
------------------------------------------------------------------------- */
/* ========== 背景色 ========== */
.bg_light_green {
	background: #EBFAD9;
}

/* ========== 見出し ========== */
.ttl_heading01 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 32px;
	font-size: 3.2rem;
	margin-bottom: 40px;
}
.ttl_heading01 .en {
	font-family: "Fugaz One", sans-serif;
	color: #00853E;
}
.ttl_heading01 .ja {
	font-weight: bold;
	letter-spacing: 0.05em;
}
.ttl_heading01.ttl_heading01_2 {
	/* inner_sectionが入れられない場合の見出し */
	width: 87.4666666667vw;
	margin-left: auto;
	margin-right: auto;
}

.ttl_column {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.ttl_row {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}

.ttl_heading02 {
	color: #00853E;
	font-weight: bold;
	font-size: 24px;
	font-size: 2.4rem;
	line-height: 1.25;
	margin-bottom: 16px;
	position: relative;
}
.ttl_heading02::after {
	content: "";
	display: block;
	width: 100%;
	height: 8px;
	border-radius: 40px;
	background: #E9F9BA;
	margin-top: 16px;
}

.ttl_heading03 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 8px;
	font-weight: bold;
	font-size: 24px;
	font-size: 2.4rem;
	padding-bottom: 16px;
	margin-bottom: 16px;
	position: relative;
}
.ttl_heading03::before, .ttl_heading03::after {
	content: "";
	display: block;
}
.ttl_heading03::before {
	background: url(../images/icon_ttl02.svg) no-repeat;
	background-size: contain;
	min-width: 24px;
	max-width: 24px;
	height: 24px;
	margin-top: 8px;
}
.ttl_heading03::after {
	background: url(../images/icon_ttl02_line.png) repeat-x;
	background-size: contain;
	width: 100%;
	height: 4px;
	position: absolute;
	bottom: 0;
	left: 0;
}

.ttl_heading04 {
	font-weight: bold;
	font-size: 18px;
	font-size: 1.8rem;
	padding-left: 16px;
	margin-bottom: 16px;
	position: relative;
}
.ttl_heading04::before {
	content: "";
	display: block;
	width: 4px;
	height: 100%;
	background: #0EA36D;
	border-radius: 40px;
	position: absolute;
	top: 0;
	left: 0;
}

/*　========== ボタン ==========　*/
.btn a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 87.4666666667vw;
	height: 64px;
	padding: 0 48px 0 24px;
	margin: 0 auto;
	border: 2px solid #00853E;
	background: #00853E;
	color: #fff;
	border-radius: 2.1333333333vw;
	font-size: 18px;
	font-size: 1.8rem;
	position: relative;
}
.btn a::after {
	content: "";
	display: block;
	width: 24px;
	height: 24px;
	background: url(../images/arrow_white.svg) no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	right: 16px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.btn.btn_before_icon a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 8px;
	padding: 25px 48px 25px 16px;
}
.btn.btn_before_icon a::before {
	content: "";
	display: block;
	min-width: 32px;
	max-width: 32px;
	height: 32px;
	background-repeat: no-repeat;
	background-size: contain;
}
.btn.btn_before_icon.btn_facility a::before {
	background-image: url(../images/icon_facility.svg);
}
.btn.btn_before_icon.btn_map a::before {
	background-image: url(../images/icon_map.svg);
}
.btn.btn_before_icon.btn_bus a::before {
	background-image: url(../images/icon_bus.svg);
}
.btn.btn_before_icon.btn_youtube a::before {
	background-image: url(../images/icon_youtube_white.svg);
}
.btn.btn_before_icon.btn_attempt a::before {
	background-image: url(../images/icon_attempt.svg);
}
.btn.btn_before_icon.btn_about a::before {
	background-image: url(../images/icon_about.svg);
}
.btn.btn_before_icon.btn_faq a::before {
	background-image: url(../images/icon_faq.svg);
}
.btn.btn_before_icon.btn_news a::before {
	background-image: url(../images/icon_news.svg);
}
.btn.btn_before_icon.btn_parking a::before {
	background-image: url(../images/nav_icon_parking.svg);
}
.btn.btn_before_icon.btn_child_free a::before {
	background-image: url(../images/nav_icon_child_free.svg);
}
.btn.btn_before_icon.btn_medical a::before {
	background-image: url(../images/icon_medical.svg);
}

.wrap_btn .btn {
	margin-bottom: 16px;
}
.wrap_btn .btn:last-child {
	margin-bottom: 0;
}

.btn a[download]::after {
	background-image: url(../images/icon_download.svg);
	width: 16px;
	height: 16px;
}
.btn a[target=_blank]::after {
	background-image: url(../images/icon_external_link_white.svg);
	width: 16px;
	height: 16px;
}

/* ========== お知らせ ========== */
.news_list_contents {
	margin-bottom: 16px;
}
.news_list_contents:last-child {
	margin-bottom: 0;
}
.news_list_contents a {
	display: block;
	background: #fff;
	border: 1px solid #C9E595;
	border-radius: 8px;
	padding: 15px;
}
.news_list_contents .news_head {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 8px 0;
}
.news_list_contents .news_head time {
	color: #00853E;
}
.news_list_contents .news_ttl {
	font-weight: bold;
	margin-top: 8px;
}

/* カテゴリー */
.category {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 8px;
}
.category span {
	font-size: 14px;
	font-size: 1.4rem;
	border-radius: 4px;
	padding: 3px;
	background: #E9F9BA;
}
.category span.main_category {
	border: 1px solid #002B14;
	background: none;
}

/* ========== イベントカード ========== */
.event_list_contents a {
	display: block;
}

/* 画像 */
.event_list_img {
	border: 2px solid #00853E;
	border-radius: 24px;
	position: relative;
	overflow: hidden;
	margin-bottom: 8px;
}
.event_contents.passed_day .event_list_img::after {
	content: "終了しました";
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	background: rgba(0, 43, 20, 0.8);
	color: #fff;
	font-size: 20px;font-size: 2.0rem;
	position: absolute;
	top: 0;
	left: 0;

}
.event_list_img img {
	height: 49.3333333333vw;
	-o-object-fit: cover;
	object-fit: cover;
}
.event_list_img .pickup {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 110px;
	height: 35px;
	border-radius: 24px 27px 27px 0;
	background: #CE4600;
	border: 2px solid #00853E;
	color: #fff;
	font-family: "Fugaz One", sans-serif;
	position: absolute;
	top: -2px;
	left: -2px;
}

/* タイトル */
.ttl_event_list {
	font-weight: bold;
	margin-top: 5px;
	padding-bottom: 16px;
}
.ttl_event_list span {
	display: -webkit-box;
	-webkit-box-orient: vertical; /* 垂直方向に配置 */
	overflow: hidden; /* 溢れた部分を隠す */
	text-overflow: ellipsis; /* 溢れた部分に「...」を表示 */
	-webkit-line-clamp: 2; /* 最大行数を2行に設定 */
}

/* 開催日、開催時間、開催場所 */
.ul_event_list_detail {
	border-top: 1px dashed #002B14;
	border-bottom: 1px dashed #002B14;
	padding: 16px 0;
}
.ul_event_list_detail li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-bottom: 8px;
	position: relative;
	padding-left: 24px;
}
.ul_event_list_detail li.event_day:has(.long_event) {
	flex-wrap: wrap;
}
.ul_event_list_detail li:last-child {
	margin-bottom: 0;
}
.ul_event_list_detail li::before {
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	top: 5px;
	left: 0;
}
.long_event:not(:last-child)::after,
.short_event:not(:last-of-type)::after {
	content: ",";
}
.event_day::before {
	background-image: url(../images/icon_event_day.svg);
}

.event_time::before {
	background-image: url(../images/icon_event_time.svg);
}

.event_venue::before {
	background-image: url(../images/icon_event_venue.svg);
}

/* ========== FV ========== */
.fv {
	position: relative;
	margin-top: 64px;
}

/* 下層ページ */
.fv_lower {
	height: 71.7333333333vw;
	background: #EBFAD9;
	padding-top: 64px;
	position: relative;
}
.fv_lower::before {
	content: "";
	display: block;
	width: 100%;
	height: 6.4vw;
	background: url(../images/fv_lower_bg_circle_sp.svg) no-repeat;
	background-size: 100% 6.4vw;
	position: absolute;
	bottom: 0;
}

.inner_fv_lower {
	height: 100%;
	position: relative;
}
.inner_fv_lower::before, .inner_fv_lower::after {
	content: "";
	display: block;
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	bottom: 0;
}
.inner_fv_lower::before {
	width: 152px;
	height: 93px;
	background-image: url(../images/lower_fv_icon01.svg);
	left: 8px;
}
.inner_fv_lower::after {
	width: 129px;
	height: 104px;
	background-image: url(../images/lower_fv_icon02.svg);
	right: 8px;
}

/* FV見出し */
.fv_lower_ttl {
	font-weight: bold;
	font-size: 32px;
	font-size: 3.2rem;
	color: #065A2D;
	text-align: center;
}

/* ========== ページナビゲーション ========== */
.wp-pagenavi {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	gap: 10px;
	margin-top: 40px;
}

.wp-pagenavi span,
.wp-pagenavi a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 32px;
	height: 32px;
	border: 1px solid #002B14;
	background: #fff;
	color: #002B14;
	border-radius: 4px;
	font-weight: bold;
	font-size: 24px;
	font-size: 2.4rem;
	-webkit-box-shadow: 0 1px 0 #002B14;
	box-shadow: 0 1px 0 #002B14;
}

.wp-pagenavi a[rel="prev"],
.wp-pagenavi a[rel="next"] {
	padding-bottom: 8px;
}

.wp-pagenavi span {
	background: #002B14;
	color: #fff;
}

.wp-pagenavi span.extend {
	background: none;
	color: #002B14;
	border: none;
	width: 1px;
	box-shadow: none;
}

/* ========== パンくず ========== */
.wrap_breadcrumbs {
	background: #EBFAD9;
}

.breadcrumbs {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	gap: 4px 16px;
	width: 87.4666666667vw;
	margin: 0 auto;
}
.breadcrumbs span {
	font-weight: bold;
}
.breadcrumbs > span {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 16px;
}
.breadcrumbs > span:not(:last-child)::after {
	content: "＞";
	display: block;
}

.breadcrumbs a:hover {
	text-decoration: underline;
}

/* footer
------------------------------------------------------------------------- */
#footer {
	padding: 40px 0 64px;
	background: url(../images/footer_bg_forest.png) no-repeat left bottom;
	background-size: 1800px 224px;
	position: relative;
	border-bottom: 16px solid #00853E;
}

.wrap_footer_contents {
	width: 87.4666666667vw;
	margin: 0 auto;
}

/* フッターナビ */
.footer_nav {
	margin-bottom: 32px;
}
.footer_nav:last-child {
	margin-bottom: 0;
}

.footer_nav_item {
	margin-bottom: 32px;
}
.footer_nav_item:last-child {
	margin-bottom: 0;
}

.footer_nav_ttl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 16px;
	font-weight: bold;
	font-size: 24px;
	font-size: 2.4rem;
	padding-bottom: 8px;
	margin-bottom: 16px;
	border-bottom: 1px dashed #1F9E60;
}
.footer_nav_ttl::before {
	content: "";
	display: block;
	min-width: 32px;
	max-width: 32px;
	height: 32px;
	background-repeat: no-repeat;
	background-size: contain;
}
.footer_nav_ttl.nav_camp::before {
	background-image: url(../images/nav_icon01.svg);
}
.footer_nav_ttl.nav_stay::before {
	background-image: url(../images/nav_icon02.svg);
}
.footer_nav_ttl.nav_shop::before {
	background-image: url(../images/nav_icon03.svg);
}
.footer_nav_ttl.nav_events::before {
	background-image: url(../images/nav_icon04.svg);
}
.footer_nav_ttl.nav_leisure::before {
	background-image: url(../images/nav_icon05.svg);
}
.footer_nav_ttl.nav_sports::before {
	background-image: url(../images/nav_icon06.svg);
}
.footer_nav_ttl.nav_guide::before {
	background-image: url(../images/nav_icon07.svg);
}
.footer_nav_ttl.nav_about::before {
	background-image: url(../images/nav_icon08.svg);
}
.footer_nav_ttl.nav_access::before {
	background-image: url(../images/nav_icon09.svg);
}
.footer_nav_ttl.nav_news::before {
	background-image: url(../images/nav_icon10.svg);
}
.footer_nav_ttl.nav_course::before {
	background-image: url(../images/nav_icon11.svg);
}

.ul_footer_nav li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 8px;
	margin-bottom: 8px;
}
.ul_footer_nav li:last-child {
	margin-bottom: 0;
}
.ul_footer_nav li::before {
	content: "";
	display: block;
	min-width: 4px;
	max-width: 4px;
	height: 4px;
	border-radius: 1px;
	background: #002B14;
	margin-top: 10px;
}
.ul_footer_nav li a[target=_blank] {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 8px;
	position: relative;
}
.ul_footer_nav li a[target=_blank]::after {
	content: "";
	display: block;
	width: 14px;
	height: 14px;
	background: url(../images/icon_external_link_black.svg) no-repeat;
	background-size: contain;
	position: static;
	-webkit-transform: translateY(0);
	transform: translateY(0);
}

/* フッター下部 */
.wrap_footer_information {
	margin-top: 64px;
}

.footer_logo {
	width: 68.2666666667vw;
	margin-bottom: 8px;
}

.footer_tel span:first-child {
	margin-right: 1em;
}

.footer_information_right {
	margin-top: 8px;
}

.copyright {
	margin-top: 24px;
}

/* =====================================
アクセス
======================================== */
.access .ttl_heading01 {
	position: relative;
}
.access .ttl_heading01::before {
	content: "";
	display: block;
	width: 89px;
	height: 64px;
	background: url(../images/access_icon.svg) no-repeat;
	background-size: contain;
	position: absolute;
	top: 0;
	left: -20px;
	-webkit-transform: translateY(-100%);
	transform: translateY(-100%);
}

.wrap_access_map {
	position: relative;
	margin-bottom: 32px;
	height: 128vw;
	border-radius: 16px;
	border: 4px solid #00853E;
	overflow: hidden;
}

.wrap_access_map iframe {
	width: 100%;
	height: calc(100% + 72px);
	margin-top: -72px;
}
/* .wrap_access_map {
position: relative;
margin-bottom: 32px;
} */
/* .wrap_access_map iframe {
width: 100%;
height: 128vw;
border-radius: 16px;
border: 4px solid #00853E;
} */
.wrap_access_map .btn {
	width: 68.2666666667vw;
	position: absolute;
	bottom: 0;
	right: 0;
}
.wrap_access_map .btn a {
	width: 100%;
	border: none;
}

/* =====================================
検索結果画面
======================================== */
.ttl_result {
	font-weight: bold;
	text-align: center;
	margin-bottom: 2em;
	color: #065A2D;
}

.search_result li:not(:last-child) {
	margin-bottom: 8px;
}

.search_result li a {
	display: block;
	border: 2px solid #00853E;
	padding: 24px;
	border-radius: 16px;
}

.search_result li a:hover {
	text-decoration: underline;
}

.search_result li a .title {
	font-weight: bold;
	color: #065A2D;
}

.search_result li a .excerpt {
	font-size: 12px;font-size: 1.2rem;
	margin-top: 8px;
}

/* =====================================
アクセシビリティガイドライン
======================================== */
.ol_list {
	counter-reset: listnum; /* カウンターをリセット */
	margin-top: 32px;
}

.ol_list li {
	display: flex;
	gap: 8px;
	margin-bottom: 8px;
}

.ol_list li:last-child {
	margin-bottom: 0;
}

.ol_list li::before {
	counter-increment: listnum; /* counter-resetと同じ文字列 */
	content: counter(listnum) "."; /* カウントした数に応じて番号を表示 */
}

@media (min-width: 769px) {
	.sp {
		display: none;
	}
	.pc {
		display: block;
	}
	.section {
		padding: 80px 0;
	}
	.inner_section {
		width: 95%;
		max-width: 1120px;
	}
	.inner_section_928 {
		width: 95%;
		max-width: 928px;
	}
	/* header
	------------------------------------------------------------------------- */
	#header {
		background: #EBFAD9;
	}
	#header .ul_header_global_nav {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
	#header .ul_header_global_nav li {
		width: 170px;
	}
	#header .ul_header_global_nav li a {
		gap: 8px;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		line-height: 1.2857142857;
	}
	#header .ul_header_global_nav li a::before {
		width: 24px;
		min-width: 24px;
		max-width: 24px;
		height: 24px;
		margin: 0;
	}

	/* header右側 */
	.wrap_header_right {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		gap: 24px;
	}
	/* PCボタン */
	.ul_header_btn {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		gap: 24px;
		position: relative;
		z-index: 10;
	}
	.open .ul_header_btn,
	.open .wrap_ul_global_nav {
		display: none;
	}
	.ul_header_btn li a,
	.ul_header_btn li button {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		gap: 8px;
		height: 56px;
		background: #00853E;
		color: #fff;
		border-radius: 16px;
		padding: 0 16px;
		font-size: 18px;
		font-size: 1.8rem;
	}
	.ul_header_btn li a::before,
	.ul_header_btn li button::before {
		content: "";
		display: block;
		width: 10px;
		height: 16px;
		background-repeat: no-repeat;
		background-size: contain;
	}
	.ul_header_btn li:nth-child(1) a::before {
		background-image: url(../images/header_nav_icon01.svg);
	}
	.ul_header_btn li:nth-child(2) a::before {
		background-image: url(../images/header_nav_icon02.svg);
	}
	.ul_header_btn li:nth-child(3) button::before {
		background-image: url(../images/header_nav_icon03.svg);
		width: 16px;
		height: 16px;
	}
	.ul_header_btn li:nth-child(3):hover .search_box {
		opacity: 1;
		visibility: visible;
	}
	.ul_header_btn .search_box {
		width: 504px;
		position: absolute;
		top: 8px;
		left: 0;
		margin: 0;
		-webkit-transform: translateY(100%);
		transform: translateY(100%);
		opacity: 0;
		visibility: hidden;
		z-index: 1;
	}
	.ul_header_btn .search_box.open {
		opacity: 1;
		visibility: visible;
	}
	.ul_header_btn .search_box::before {
		content: "";
		display: block;
		width: 0;
		height: 0;
		border-style: solid;
		border-right: 16px solid transparent;
		border-left: 16px solid transparent;
		border-bottom: 16px solid #00853e;
		border-top: 0;
		position: absolute;
		top: 0;
		right: 134px;
		-webkit-transform: translateY(-100%);
		transform: translateY(-100%);
	}
	.ul_header_btn .search_box::after {
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		background: transparent;
		position: absolute;
		top: -24px;
		left: 0;
		z-index: -1;
	}
	.ul_header_btn .search_box button {
		padding: 0;
	}
	.ul_header_btn .search_box button::before {
		content: none;
	}
	/* ハンバーガーメニュー ここから*/
	#nav_toggle {
		width: 80px;
		height: 56px;
		border-radius: 16px;
		cursor: pointer;
		transition: 0.2s;
		border: 2px solid transparent;
	}
	#nav_toggle:hover {
		border-color: #fff;
		background: #065A2D;
	}
	/* ========== ハンバーガーメニュー内 ========= */
	.header_nav {
		background-image: none;
		position: absolute;
		top: 0;
		left: auto;
		right: 0;
	}
	.header_scroll_area {
		overflow-y: scroll;
		height: calc(100vh - 96px);
		padding: 0 48px 88px 24px;
	}
	.inner_header_nav {
		width: 632px;
		padding-top: 96px;
		margin-left: auto;
		position: relative;
	}
	.inner_header_nav::after {
		content: "";
		display: block;
		width: 24px;
		height: 100%;
		background: url(../images/header_bg_sp.svg) repeat-y top left;
		background-size: 24px 48px;
		position: absolute;
		top: 0;
		left: 1px;
		-webkit-transform: translateX(-100%);
		transform: translateX(-100%);
	}
	/* 言語 */
	.language {
		font-size: 16px;
		font-size: 1.6rem;
		top: 24px;
		right: 120px;
	}
	/* 検索ボタン */
	.vkfs .btn[type=submit] {
		font-size: 16px;
		font-size: 1.6rem;
	}
	/* ナビゲーション */
	.ul_global_nav li {
		width: 25%;
		border: none;
	}
	.ul_global_nav li:nth-child(even)::before {
		content: "";
		display: block;
		width: 100%;
		height: 80%;
		border-right: 1px dashed #00853E;
		position: absolute;
		top: 50%;
		right: 0;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		pointer-events: none;
	}
	.ul_global_nav li:nth-child(4n+4)::before {
		content: none;
	}
	.ul_global_nav li a {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		font-size: 16px;
		font-size: 1.6rem;
		padding: 8px 0;
		line-height: 1;
	}
	.ul_global_nav li a::before {
		width: 40px;
		height: 40px;
		margin: 0 auto 8px;
	}
	/* ボタン */
	.ul_global_nav_btn {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		gap: 16px 32px;
		margin: 24px 0;
	}
	.ul_global_nav_btn li {
		width: 240px;
	}
	.ul_global_nav_btn li:nth-child(1) a::before {
		background-image: url(../images/nav_icon_parking.svg);
	}
	.ul_global_nav_btn li:nth-child(2) a::before {
		background-image: url(../images/icon_access.svg);
	}
	.ul_global_nav_btn li:nth-child(3) a::before {
		background-image: url(../images/icon_fee.svg);
	}
	.ul_global_nav_btn li:nth-child(4) a::before {
		background-image: url(../images/icon_news.svg);
	}
	/* バナー */
	.ul_global_nav_bnr {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		gap: 16px 32px;
	}
	.ul_global_nav_bnr li {
		width: 240px;
		margin-bottom: 0;
	}
	/* 公式SNS */
	.header_sns_ttl {
		margin: 24px 0 16px;
	}
	.ul_header_sns {
		gap: 16px;
	}
	.ul_header_sns li {
		width: calc(33.3333333333% - 10.6666666667px);
	}
	.ul_header_sns li a {
		height: 64px;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
	/* お問い合わせボタン */
	.btn_global_nav_contact {
		width: 256px;
		margin: 24px auto;
	}
	.btn_global_nav_contact a {
		height: 56px;
	}
	/* 閉じるボタン */
	.btn_close {
		display: block;
		width: 512px;
		margin: 0 auto;
		cursor: pointer;
	}
	/* main
	------------------------------------------------------------------------- */
	/* ========== 見出し ========== */
	.ttl_heading01 {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		font-size: 32px;
		font-size: 3.2rem;
		margin-bottom: 48px;
	}
	.ttl_heading01 .en {
		font-size: 40px;
		font-size: 4rem;
	}
	.ttl_heading01.ttl_heading01_2 {
		/* inner_sectionが入れられない場合の見出し */
		width: min(95%, 1120px);
		margin-left: auto;
		margin-right: auto;
	}
	.ttl_row {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row;
		gap: 32px;
	}
	.ttl_heading02 {
		font-size: 32px;
		font-size: 3.2rem;
		line-height: 1.25;
	}
	/*　========== ボタン ==========　*/
	.btn {
		width: 100%;
		max-width: 352px;
	}
	.btn a {
		width: 100%;
		padding: 25px 64px 25px 24px;
		border-radius: 8px;
	}
	.wrap_btn {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		gap: 32px;
	}
	.wrap_btn.row_center {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
	.wrap_btn .btn {
		margin-bottom: 0;
	}
	/* ========== お知らせ ========== */
	.news_list_contents .news_head {
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
		gap: 8px 24px;
	}
	/* ========== イベントカード ========== */
	.event_list_contents a {
		display: block;
	}
	/* 画像 */
	.event_list_img {
		border-radius: min(1.7647058824vw, 24px);
	}
	.event_list_img img {
		height: min(14.5588235294vw, 198px);
	}
	/* タイトル */
	.ttl_event_list {
		font-size: 18px;
		font-size: 1.8rem;
	}
	/* ========== FV ========== */
	.fv {
		margin-top: 0;
	}
	/* 下層ページ */
	.fv_lower {
		height: 400px;
		background: #EBFAD9;
		padding-top: 200px;
	}
	.fv_lower::before {
		height: 4.7058823529vw;
		background: url(../images/fv_lower_bg_circle_pc.svg) no-repeat;
		background-size: 100vw 4.7058823529vw;
	}
	.inner_fv_lower {
		width: min(95%, 1120px);
		margin: 0 auto;
	}
	.inner_fv_lower::before, .inner_fv_lower::after {
		content: "";
		display: block;
		background-size: contain;
		background-repeat: no-repeat;
		position: absolute;
		bottom: 0;
	}
	.inner_fv_lower::before {
		width: 192px;
		height: 118px;
		left: 0;
	}
	.inner_fv_lower::after {
		width: 208px;
		height: 168px;
		right: 0;
	}
	/* FV見出し */
	.fv_lower_ttl {
		font-weight: bold;
		font-size: 32px;
		font-size: 3.2rem;
		color: #065A2D;
		text-align: center;
	}
	/* =====================================
	アクセス
	======================================== */
	.access {
		padding-top: 120px;
	}
	.access .ttl_heading01 {
		position: relative;
	}
	.access .ttl_heading01::before {
		width: 366px;
		height: 264px;
		top: -120px;
		left: -192px;
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
	.access .wrap_btn {
		max-width: 928px;
		margin: 0 auto;
	}
	.wrap_access_map {
		max-width: 928px;
		height: 480px;
		margin: 0 auto 48px;
	}
	.wrap_access_map .btn {
		width: 256px;
	}
	/* ========== パンくず ========== */
	.breadcrumbs {
		width: min(95%, 1312px);
	}
	/* footer
	------------------------------------------------------------------------- */
	#footer {
		padding: 64px 0 104px;
		background: url(../images/footer_bg_forest.png) no-repeat center bottom;
		background-size: contain;
	}
	.wrap_footer_contents {
		width: min(95%, 1120px);
	}
	/* フッターナビ */
	.wrap_footer_nav {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		gap: 32px;
	}
	.footer_nav {
		width: calc(33.3333333333% - 21.3333333333px);
		margin-bottom: 0;
	}
	.footer_nav:last-child {
		width: 100%;
	}
	.footer_nav:last-child .ul_footer_nav {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		gap: 8px 32px;
	}
	.footer_nav:last-child .ul_footer_nav li {
		width: calc(50% - 16px);
	}
	.ul_footer_nav li a[target=_blank]::after {
		-webkit-transform: translateY(1px);
		transform: translateY(1px);
	}
	/* フッター下部 */
	.wrap_footer_information {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		gap: 32px;
		margin-top: 80px;
	}
	.footer_logo {
		width: 256px;
		margin-bottom: 8px;
	}
	.footer_information_right {
		margin-top: 24px;
	}
	.footer_information_right .ul_footer_nav {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-pack: end;
		-ms-flex-pack: end;
		justify-content: flex-end;
		gap: 8px 24px;
	}
	.footer_information_right .ul_footer_nav li {
		margin-bottom: 0;
	}
	.copyright {
		text-align: right;
	}

	/* =====================================
	検索結果画面
	======================================== */
	.ttl_result {
		font-size: 24px;font-size: 2.4rem;
	}
	.search_result li:not(:last-child) {
		margin-bottom: 16px;
	}
	.search_result li a {
		padding: 40px;
	}
	.search_result li a .title {
		font-size: 20px;font-size: 2.0rem;
	}
	.search_result li a .excerpt {
		font-size: 14px;font-size: 1.4rem;
	}
}

/* マップ上のhover */
.parking-map-wrap {
	position: relative;
	display: inline-block;   /* 必要なら */
}

.parking-map-highlight {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: calc(10 / 375 * 100vw);
	font-weight: 900;
	position: absolute;
	background: rgba(0, 0, 0, .6); /* 好きな色・透明度に調整 */
	color: #fff;
	pointer-events: none;
	opacity: 0;
	transition: opacity .2s ease;
	border-radius: 4px; /* 角丸にしたくなければ消してOK */
	border: 2px solid #fff;
}

.parking-map-highlight.is-active {
	opacity: 1;
}

@media (min-width: 769px) {
	/* マップ上のhover */
	.parking-map-highlight {
		font-size: min(calc(12 / 1360 * 100vw), 12px);
	}
}

/* =====================================
施設マップ
======================================== */
.map {
	background-image: url(../images/top/map_bg_wave_sp.png);
	background-repeat: repeat-x;
	background-size: 474px 80px;
	background-position: bottom left;
	position: relative;
	z-index: 1;
}
.map.bg_light_green::before {
	content: "";
	display: block;
	width: 359px;
	height: 209px;
	background: url(../images/top/map_bg_img_sp.svg) no-repeat;
	background-size: contain;
	position: absolute;
	top: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	z-index: -1;
}

.map_img {
	width: calc(360 / 375 * 100vw);
	margin-left: calc(-15.5 / 375 * 100vw);
	margin-bottom: 32px;
	position: relative;
}

/* ========= モーダル ========= */
.modal {
	width: 100%;
	height: 100%;
	padding: calc(164 / 375 * 100vw) 8px 0;
	background: rgba(0, 43, 20, 0.8);
	border-radius: calc(16 / 375 * 100vw);
	position: absolute;
	top: 0;
	left: 0;
	display: none;
}

.modal_contents {
	padding: 56px 0 24px;
	background: rgba(255, 255, 255, 0.8);
	border-radius: calc(16 / 375 * 100vw);
	position: relative;
}

.modal_ttl {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%);
}

.modal_ttl img {
	width: auto;
	height: calc(59 / 375 * 100vw);
}

.ul_modal {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin: 0 auto;
}

.ul_modal li img {
	width: auto;
	height: calc(40 / 375 * 100vw);
}

.ul_modal li a:hover img {
	opacity: 0.6;
}

#honkan .ul_modal {
	width: calc(272 / 375 * 100vw);
}

#onsen .ul_modal {
	width: calc(325 / 375 * 100vw);
}

/* CLOSEボタン */
.btn_modal_close button {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 80px;
	height: 48px;
	font-weight: 900;
	color: #fff;
	background: #00853E;
	border-radius: 2.1333333333vw;
	font-size: 16px;
	font-size: 1.6rem;
	position: absolute;
	top: 8px;
	right: 8px;
}
.btn_modal_close button::before {
	content: "";
	display: block;
	width: 32px;
	height: 16px;
	background: url(../images/parking/icon_close.svg) no-repeat;
	background-size: contain;
}

@media (min-width: 769px) {
	/* =====================================
	施設マップ
	======================================== */
	.map {
		background-image: url(../images/top/map_bg_wave_pc.png);
		background-size: 1920px 324px;
		padding-bottom: 204px;
	}
	.map.bg_light_green::before {
		width: 1264px;
		height: 249px;
		background-image: url(../images/top/map_bg_img_pc.svg);
	}
	.map .wrap_btn {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		width: 352px;
	}
	.wrap_map_contents {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		gap: min(2.3529411765vw, 32px);
	}
	.map_img {
		width: min(40vw, 544px);
		margin: 0;
	}
	.guide_map .map_img {
		width: 544px;
	}
	/* ========= モーダル ========= */
	.modal {
		padding: min(calc(272 / 1360 * 100vw), 272px) 8px 0;
		border-radius: min(calc(16 / 1360 * 100vw), 16px);
	}

	.modal_contents {
		padding: min(calc(64 / 1360 * 100vw), 64px) 0 min(calc(48 / 1360 * 100vw), 48px);
		border-radius: min(calc(16 / 1360 * 100vw), 16px);
	}

	.modal_ttl img {
		width: auto;
		height: min(calc(89 / 1360 * 100vw), 89px);
	}

	.ul_modal li img {
		height: min(calc(56 / 1360 * 100vw), 56px);
	}

	#honkan .ul_modal {
		width: min(calc(380 / 1360 * 100vw), 380px);
	}

	#onsen .ul_modal {
		width: min(calc(486 / 1360 * 100vw), 486px);
	}

	/* CLOSEボタン */
	.btn_modal_close button {
		border-radius: 8px;
		cursor: pointer;
	}

	/* お問い合わせ完了ページ */
	.wrap_thanks_text {
		width: 760px;
		margin: 0 auto;
	}
	.wrap_thanks_text .btn {
		margin-left: auto;
		margin-right: auto;
	}
}

/* headerナビゲーション改修 */
.ul_header_global_nav:nth-child(1) li:nth-child(1) a::before {
	background-image: url(../images/nav_icon01.svg);
}
.ul_header_global_nav:nth-child(1) li:nth-child(2) a::before {
	background-image: url(../images/nav_icon02.svg);
}
.ul_header_global_nav:nth-child(1) li:nth-child(3) a::before {
	background-image: url(../images/nav_icon03.svg);
}
.ul_header_global_nav:nth-child(1) li:nth-child(4) a::before {
	background-image: url(../images/nav_icon04.svg);
}
.ul_header_global_nav:nth-child(2) li:nth-child(1) a::before {
	background-image: url(../images/nav_icon05.svg);
}
.ul_header_global_nav:nth-child(2) li:nth-child(2) a::before {
	background-image: url(../images/nav_icon06.svg);
}
.ul_header_global_nav:nth-child(2) li:nth-child(3) a::before {
	background-image: url(../images/nav_icon07.svg);
}
.ul_header_global_nav:nth-child(2) li:nth-child(4) a::before {
	background-image: url(../images/nav_icon08.svg);
}

@media (min-width: 769px) {
	.wrap_ul_global_nav {
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		flex-wrap: wrap;
	}

	#header .ul_header_global_nav {
		flex-wrap: nowrap;
	}

	#header .ul_header_global_nav li {
		width: 170px;
	}
}

@media (min-width: 1375px) {
	#header .ul_header_global_nav:first-child li:nth-last-child(1)::before {
		content: "";
	}
}

/* ========== HOVER ========== */
/* transition設定 */
.btn_global_nav_contact a,
.ul_global_nav_btn li a,
.ul_header_btn li a,
.ul_header_btn li button,
.vkfs .btn[type=submit],
.btn_close,
.ul_header_sns li a,
.ul_global_nav_bnr li::after,
.ul_global_nav a::after,
#bnr_slider .splide__slide a::after,
#fv_slider .splide__arrow--stop,
#fv_slider .splide__arrow--stop::before,
#fv_slider .splide__arrow--stop::after,
.splide-controller .splide__arrow,
.splide-controller .splide__arrow::after,
.news_list_contents a,
.event_list_contents a .event_list_img,
.btn a,
.recommended_img img,
.ul_about_link li a,
.ul_sns_link a,
.ul_facility_instagram li a,
.anchor_link a,
.facility_contents a::before,
.btn_single01 a,
.ul_recommend_course li a span::after,
.btn_single01 a,
.wpforms-page-button,
.wp-pagenavi a {
	transition: 0.2s;
	cursor: pointer;
}

/* ボタン系基本 */
.btn_global_nav_contact a:hover,
.ul_global_nav_btn li a:hover,
.ul_header_btn li a:hover,
.ul_header_btn li button:hover,
.vkfs .btn[type=submit]:hover,
.btn a:hover,
.wrap_single_btn .btn_single02 a:hover,
.contact .wrap_contact_form .wpforms-submit:hover,
.contact .wrap_contact_form .wpforms-page-button:hover {
	border-color: #fff!important;
	background: #065A2D!important;
}

/* PCグローバルナビ */
.ul_header_btn li a,
.ul_header_btn li button {
	border: 2px solid transparent;
}

/* ハンバーガーメニュー内　閉じるボタン */
.btn_close:hover {
	background: #00853E;
	color: #fff;
}

/* ハンバーガーメニュー内　SNS */
.ul_header_sns li a:hover {
	border-width: 4px;
}

/* ハンバーガーメニュー内　バナー *//* トップページ バナースライダー */
.ul_global_nav_bnr li {
	position: relative;
	border-radius: 8px;
	overflow: hidden;
}

.ul_global_nav_bnr li::after,
#bnr_slider .splide__slide a::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	border: 4px solid transparent;
	position: absolute;
	top: 0;
	left: 0;
	pointer-events: none;
}

.ul_global_nav_bnr li:hover::after {
	border-color: #00853E;
}

/* グローバルナビ */
.ul_global_nav a {
	position: relative;
	z-index: 1;
}

.ul_global_nav a::after {
	content: "";
	display: block;
	width: calc(100% - 16px);
	height: 100%;
	background: #C9E595;
	border-radius: 8px;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
	opacity: 0;
}

.ul_global_nav a:hover::after {
	opacity: 1;
}

/* トップページ バナースライダー */
#bnr_slider .splide__slide a {
	display: block;
	border-radius: 16px;
	overflow: hidden;
}

#bnr_slider .splide__slide a::after {
	border-radius: 16px;
}

#bnr_slider .splide__slide a:hover::after {
	border-color: #065A2D;
}

/* トップページ FV停止ボタン */
#fv_slider .splide__arrow--stop:hover {
	background: #00853E;
	border-color: #fff;
	color: #fff;
}

#fv_slider .splide__arrow--stop::before {
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	background: url(../images/icon_stop_white.svg) no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	right: 16px;
	transform: translateY(-50%);
	opacity: 0;
}

#fv_slider .splide__arrow--stop:hover::before {
	opacity: 1;
}

#fv_slider .splide__arrow--stop:hover::after {
	opacity: 0;
}

#fv_slider .splide__arrow--stop.is-paused::before {
	background-image: url(../images/icon_play_white.svg);
}

#fv_slider .splide__arrow--stop.is-paused::after {
	background-image: url(../images/icon_play.svg);
}

/* スライダー　矢印 */
.splide-controller .splide__arrow::after {
	content: "";
	display: block;
	width: 48px;
	height: 48px;
	background: url(../images/arrow_green2.svg) no-repeat;
	background-size: contain;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
}

.splide-controller .splide__arrow:hover {
	background: none;
}

.splide-controller .splide__arrow:hover::after {
	opacity: 1;
}

.splide-controller .splide__arrow--stop::after {
	background-image: url(../images/icon_stop_green2.svg);
}

.splide-controller .splide__arrow--stop.is-paused {
	background-image: url(../images/icon_play_green.svg);
}

.splide-controller .splide__arrow--stop.is-paused::after {
	background-image: url(../images/icon_play_green2.svg);
}

/* お知らせ */
.news_list_contents a:hover {
	border-color: #065A2D;
}

.news_list_contents a:hover .news_ttl {
	text-decoration: underline;
}

/* イベント情報 */
.event_list_contents a:hover .event_list_img {
	border-width: 8px;
}

.event_list_contents a:hover .ttl_event_list {
	text-decoration: underline;
}

/* おすすめコース一覧 */
.recommended_img::before {
	z-index: 1;
}

.recommended_img span {
	display: block;
	overflow: hidden;
	border-radius: 16px;
}

.recommend_course_list_contents a:hover .recommended_img  img {
	transform: scale(1.2);
}

.recommend_course_list_contents a:hover .ttl_recommend_course_list {
	text-decoration: underline;
}

/* トップページ　関連サイトリンク */
.ul_about_link li a:hover {
	border-width: 4px;
	text-decoration: underline;
}

/* トップページ　SNSリンク */
.ul_sns_link a:hover {
	border-width: 4px;
	text-decoration: underline;
}
/* トップページ　施設のinstagramリンク */
.ul_facility_instagram li a:hover {
	text-decoration: underline;
	border-color: #065A2D;
}

/* footerリンク */
.ul_footer_nav a:hover {
	text-decoration: underline;
}

/* 目次リンク */
.single_contents .ez-toc-list li a:hover {
	text-decoration: underline;
}

/* シングルページ　テキストリンク */
.single_contents a:hover,
.facility_information_contents a:hover,
.ttl_list a:hover,
.ul_parking_map li:hover .parking_name {
	text-decoration-thickness: 3px;
}

.anchor_link a:hover {
	border-width: 4px;
	text-decoration: underline;
}

/* 施設一覧 */
.facility_contents a {
	position: relative;
}

.facility_contents a::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	border: 4px solid transparent;
	position: absolute;
	top: 0;
	left: 0;
	pointer-events: none;
	border-radius: 16px;
}

.facility_contents a:hover {
	text-decoration: underline;
}

.facility_contents a:hover::before {
	border-color: #00853E;
}

/* 近くのおすすめ施設・おすすめコース */
.ul_recommend_course li a:hover {
	text-decoration: underline;
}

.ul_recommend_course li a span {
	display: block;
	position: relative;
	z-index: 1;
}

.ul_recommend_course li a span::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	border: 4px solid transparent;
	position: absolute;
	top: 0;
	left: 0;
	pointer-events: none;
	border-radius: 16px;
}
.ul_recommend_course li a:hover span::after {
	border-color: #00853E; 
}

/* シングルページボタン */
.btn_single01 a:hover {
	background: #00853E;
	border-color: #fff;
	color: #fff;
}

.btn_single01 a[target=_blank]:hover::after {
	background-image: url(../images/icon_external_link_white.svg);
}

/* ページネーション */
.wp-pagenavi a:hover {
	background: #C9E595;
}