@charset "utf-8";
/* ===================================================
	Home CSS
====================================================== */
/* ---------------------------------------------------
	common
------------------------------------------------------ */
#g_header .h_logo {
	opacity: 0;
	pointer-events: none;
}


/* ---------------------------------------------------
	Swiper Style
------------------------------------------------------ */
.cmn_swiper .swiper_card {
	position: relative;
	display: flex;
	flex-direction: column;
	text-decoration: none;
}
.cmn_swiper .swiper_card span:has(img) {
	display: block;
	border: 4px solid var(--color);
	border-radius: 25px;
	overflow: hidden;
}
.cmn_swiper .swiper_card img {
	aspect-ratio: 29 / 27;
	width: 100%;
	object-fit: cover;
	transition: transform 0.5s;
}
.cmn_swiper .swiper_card:hover {
	opacity: 1;
}
.cmn_swiper .swiper_card:hover img {
	transform: scale(1.05);
}

.cmn_swiper .card-name {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0 10px;
	margin-top: 15px;
	font-size: clamp(16px,1.4vw,24px);
	text-align: center;
	line-height: 1.4;
	color: #fff;
}
.cmn_swiper .card-name::after {
	content: '›';
	font-family: Arial, sans-serif;
}
@media screen and (hover: hover) and (min-width: 601px) {
	.swiper_arrows .arrow.next:hover,
	.swiper_arrows .arrow.prev:hover {
		background-color: #fff;
	}
	.swiper_arrows .arrow:hover::before {
		border-color: var(--color);
	}
	/* .swiper_arrows .arrow.prev:hover::before {
		border-color: #999;
	} */
}
@media screen and (max-width: 600px) {
	.swiper_arrows {
		justify-content: center;
		gap: 0 15px;
	}
	.swiper_arrows .arrow {
		width: 40px;
		height: 40px;
		touch-action: manipulation;
	}
	.swiper_arrows .arrow::before {
		width: 6px;
		height: 6px;
	}
	.cmn_swiper .card-name {
		font-size: min(4vw,16px);
	}
}


/* ---------------------------------------------------
	#main_img
------------------------------------------------------ */
#main_img { padding: 0;}
#main_img .photo .ofi { width: 100%; }
#main_img .objects {
	position: absolute;
	z-index: 1;
	display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    width: 100%;
    height: 100%;
	padding: 49.3px 5% clamp(150px, 18.5vw, 200px);
}
#main_img .main-title {
	position: absolute;
	top: 45%;
	transform: translateY(-50%);
	text-align: center;
	color: #fff;
	text-shadow: 0 0 12px rgba(0,0,0,0.6);
	letter-spacing: 0.2em;
}
#main_img .main-title .sub {
	font-size: clamp(42px, 4vw, 50px);
}
#main_img .main-title .logo {
	width: clamp(570px, 55vw, 710px);
	margin: 10px auto;
}
#main_img .main-title .cap {
	font-size: 30px;
}
#main_img .cmn_nav {
	justify-content: center;
	gap: 15px 1.1%;
	width: min(100%,1200px);
	margin: 0 auto;
}
#main_img .cmn_nav li {
	width: 13.3%;
    filter: drop-shadow(2px 2px 5px rgba(0, 0, 0, 0.5));
}
#main_img .cmn_nav a {
	color: var(--nav-color);
	background-color: #fff;
}

@media screen and (min-width: 601px) {
	#main_img .cmn_nav a {
		padding: clamp(16px, 1.5vw, 25px) 10px;
	}
	#main_img .photo .ofi {
		height: 100svh;
		min-height: 980px;
	}
}
@media screen and (max-width: 600px) {
	#main_img .objects {
		padding: 20px 5%;
	}
	#main_img .main-title {
		letter-spacing: 0.12em;
		padding-bottom: calc(45vw + 40px);
		top: auto;
		bottom: 0;
		transform: none;
		text-shadow: 0 0 5px rgba(0, 0, 0, 0.75);
	}
	#main_img .main-title .sub {
		font-size: min(6.3vw, 37.5px);
	}
	#main_img .main-title .logo {
		width: 68vw;
	}
	#main_img .main-title .cap {
		font-size: min(3.8vw, 22.5px);
	}
	#main_img .cmn_nav {
		justify-content: center;
		gap: 10px 2%;
	}
	#main_img .cmn_nav li {
		width: 32%;
	}
	#main_img .photo .ofi {
		min-height: 500px;
	}
}


/* ---------------------------------------------------
	#weather-forecast
------------------------------------------------------ */
.weather_wrapper {
	position: relative;
}
#weather-forecast {
	display: flex;
	align-items: center;
	justify-content: center;
	width: min(100%, 722px);
	padding: 15px 10px;
	font-size: 20px;
	font-weight: 600;
}
.weather_item {
	width: calc((100% - 20px) / 5);
	padding: 0 15px;
	text-align: center;
	color: #0f8c2f;
	line-height: 1.2;
}
.weather_item i {
	display: block;
	line-height: 1;
	font-size: clamp(35px, 3.8vw, 3rem)
}
.weather_item .type {
	font-size: 1rem;
}

@media screen and (min-width: 601px) {
	#weather-forecast {
		position: absolute;
		bottom: clamp(20px, 4vw, 50px);
		left: 50%;
		transform: translateX(-50%);
		z-index: 1;
		border-radius: var(--border-radius);
        margin: 40px auto 0;
		padding: 1rem 0.5rem;
		font-size: clamp(16px, 1.67vw, 20px);
		background-color: rgba(255,255,255,0.9);
	}
	.weather_item+.weather_item {
		border-left: 1px solid #ccc;
	}
}
@media screen and (max-width: 600px) {
	.weather_wrapper {
		width: 100%;
		background-color: #c5d69b;
		overflow: auto;
	}
	#weather-forecast::-webkit-scrollbar {
		display: none;
	}
	#weather-forecast {
		width: 100%;
		min-width: 675px;
		gap: 0 10px;
		padding: 25px 12px;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	.weather_item {
		flex: 1;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 0 5px;
		width: 120px;
		padding: 15px 10px;
		border-radius: var(--border-radius);
		font-size: 15px;
		background-color: #fff;
		letter-spacing: 0.04em;
	}
	.weather_item i {
		font-size: 1.5rem;
	}
}


/* ---------------------------------------------------
	#sec_news
------------------------------------------------------ */
#sec_news {
	position: relative;
	background-color: #f6fbf1;
	padding: 100px 0;
	background: url(../../img/news_bg.jpg)no-repeat center/cover;
}
#sec_news .inner_lg {
	margin: 0 auto;
	display: flex;
	gap: 0 6%;
}
#sec_news .en_tit{
	font-size: 180px;
	font-weight: 700;
	color: #9bbf30;
	opacity: 0.5;
	width: 1em;
	line-height: 1;
	word-break: break-all;
	text-transform: uppercase;
}
.news_content {
	flex: 1;
	display: flex;
	flex-direction: column;
	min-width: 0;
}
.news-swiper {
	width: 100%;
}
/* #sec_news .item {
	max-width: 360px;
} */
.news_thumb {
	border: 4px solid #14803c;
	border-radius: 25px;
	overflow: hidden;
	margin-bottom: 16px;
	background-color: #fff;
}
.news_thumb .ofi {
	aspect-ratio: 37 / 27;
	width: 100%;
	height: 100%;
	transition: transform 0.5s;
}
.news-heading {
	font-weight: bold;
	margin: 0 0 12px 0;
	line-height: 1.5;
}
.news_meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 5px 16px;
	color: #666;
	font-weight: normal;
}
.news_meta .tag {
	padding: 0 25px;
	border-radius: var(--border-radius);
	color: #fff;
}
.news_meta .tag-event {
	background-color: #f38f31;
}
.news_meta .tag-info {
	background-color: #00a0e9;
}

/* コントロールエリア (矢印とボタン) */
#sec_news .swiper_controls {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 60px;
	padding-right: max(4%,calc(50vw - 600px));
}
#sec_news .swiper_controls .news-arrows {
	display: flex;
	gap: 16px;
}

@media screen and (hover: hover) and (min-width: 601px) {
	#sec_news .item:hover {
		opacity: 1;
	}
	#sec_news .item:hover .ofi {
		transform: scale(1.05);
	}
}
@media screen and (min-width: 601px) {
	#sec_news {
		min-height: 700px;
	}
	#sec_news .inner_lg {
		width: 100%;
		padding-left: max(4%,calc(50vw - 800px));
	}
	#sec_news .en_tit {
		/* position: absolute;
		top: 20px; */
		position: relative;
		top: -20px;
	}
	/* .news_content {
		margin-left: 270px;
	} */
	.news-heading {
		font-size: 18px;
	}
	#sec_news .cmn_btn {
		font-size: 22px;
	}
}
@media screen and (max-width: 600px) {
	#sec_news {
		padding: 40px 0;
	}
	#sec_news .inner_lg {
		flex-direction: column;
		padding: 0 20px;
		gap: 0;
	}
	#sec_news .en_tit {
		writing-mode: horizontal-tb;
		font-size: min(20vw,80px);
		width: auto;
		word-break: normal;
		letter-spacing: 5px;
		text-align: center;
		letter-spacing: 0;
	}
	.news_content {
		margin-top: -0.5em;
	}
	#sec_news .swiper_controls {
		flex-direction: column;
		gap: 30px;
		padding-right: 0;
	}
	#sec_news .item {
		width: 280px; 
	}
	#sec_news .swiper_controls {
		margin-top: 20px;
	}
	.news_meta {
		font-size: 13px;
	}
	.news_meta .tag {
		padding: 2px 12px;
	}
}

@media screen and (max-width: 600px) {
}


/* ---------------------------------------------------
	#sec_lead
------------------------------------------------------ */
/* Animation */
@keyframes laggy {
	0% { transform: rotateZ(2deg);}
	10% { transform: rotateZ(-2deg);}
	20% { transform: rotateZ(2deg);}
	30% { transform: rotateZ(0);}
	100% { transform: rotateZ(0);}
}
@keyframes laggy_2 {
	0% { transform: rotateZ(-3deg);}
	10% { transform: rotateZ(2deg);}
	20% { transform: rotateZ(-3deg);}
	30% { transform: rotateZ(0);}
	100% { transform: rotateZ(0);}
}
.anim1::after {
	animation: laggy 2000ms 1500ms infinite step-end;
}
.anim2::after {
	animation: laggy_2 2000ms 2000ms infinite step-end;
}

/* トラック（ここでスクロールする距離＝アニメーションの長さを決める） */
.scroll-track {
	position: relative;
	/* 200vh = 画面2つ分の高さを確保 */
	height: 90vh;
	min-height: 1000px;
}

/* 画面に固定されるセクション */
.sticky-section {
	position: sticky;
	top: 0;
	width: 100%;
	height: 90vh;
	min-height: 1000px;
	overflow: hidden;
}

/* 背景 */
.lead-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(../../img/lead_bg.jpg)no-repeat center/cover var(--col-gr04);
	z-index: 0;
}
#sec_lead .inner_lg {
	height: 100%;
	position: relative;
	display: flex;
	justify-content: center;
}
.lead-center {
	position: relative;
	z-index: 10;
	text-align: center;
}
.lead-title {
	color: var(--col-gr03);
}
.lead-title .en_tit {
	display: block;
	font-size: 110px;
	font-weight: 700;
	line-height: 1;
	margin: 0 0 20px 0;
	letter-spacing: 0.1em;
}
.lead-subtitle {
	font-size: 40px;
	font-weight: bold;
	text-shadow:
	2px 2px 0 #fff, -2px -2px 0 #fff,
	-2px 2px 0 #fff,  2px -2px 0 #fff,
	2px 0 0 #fff, -2px  0 0 #fff,
	0 2px 0 #fff,  0 -2px 0 #fff;
}
.lead-desc {
	line-height: 2.2;
	margin-top: 20px;
}
#sec_lead .cmn_btn {
	margin-top: 20px;
}
.lead-side {
	position: absolute;
	top: 0;
	height: 100%;
	pointer-events: none;
	display: flex;
    flex-direction: column;
	justify-content: center;
	width: clamp(300px,30vw,496px);
}
.lead-side-left {
	align-items: flex-start;
	left: 0;
}
.lead-side-right {
	align-items: flex-end;
	right: 0;
}
.pic-wrap {
	position: relative;
}
.pic-wrap img {
	display: block;
	max-width: 100%;
	height: auto;
}
.pic-l1::after,
.pic-l2::after,
.pic-r2::after,
.pic-r3::after {
	content: '';
	display: block;
	position: absolute;
	max-width: max(120px,10vw);
}
.pic-l1 {
	z-index: 3;
}
.pic-l1::after {
	right: 15px;
	bottom: -15px;
	width: 220px;
	height: 145px;
	background: url(../../img/ill_spa.svg)no-repeat center/contain;
}
.pic-l2 {
	z-index: 2;
	top: -70px;
	right: 10px;
}
.pic-l2::after {
	right: -3vw;
	bottom: 0;
	transform: rotate(10deg);
	width: 125px;
	height: 115px;
	background: url(../../img/ill_bag.svg)no-repeat center/contain;
}
.pic-l3 {
	top: -160px;
}
.pic-r1 {
	top: -50px;
	z-index: 2;
}
.pic-r2 {
	top: -70px;
	z-index: 3;
}
.pic-r2::after {
	left: -5vw;
    top: calc(50% - 50px);
    width: 160px;
    height: 120px;
	background: url(../../img/ill_flag.svg)no-repeat center/contain;
}
.pic-r3 {
    top: -120px;
    right: -4%;
}
.pic-r3::after {
	bottom: 2vw;
	left: -2vw;
	transform: rotate(-5deg);
	width: 135px;
	height: 125px;
	background: url(../../img/ill_oke.svg)no-repeat center/contain;
}

@media screen and (min-width: 601px) {
	#sec_lead .inner_lg {
		min-height: 770px;
		padding: 120px 0;
	}
	#sec_lead .cmn_btn {
		margin-top: 40px;
		font-size: 22px;
	}
	.lead-desc {
		text-shadow:
			2px 2px 0 #fff, -2px -2px 0 #fff,
			-2px 2px 0 #fff,  2px -2px 0 #fff,
			2px 0 0 #fff, -2px  0 0 #fff,
			0 2px 0 #fff,  0 -2px 0 #fff;
	}
}
@media screen and (max-width: 600px) {
	.scroll-track {
		height: auto;
		min-height: unset;
	}
	.sticky-section {
		position: relative;
		height: auto;
		padding: 60px 20px;
	}
	.lead-bg {
		background: url(../../img/lead_bg_sp.jpg)no-repeat top center/contain;
	}
	#sec_lead {
		padding: 60px 0 50px;
	}
	#sec_lead .inner_lg {
		flex-direction: column;
	}
	.lead-title .en_tit {
		margin-bottom: 0;
		font-size: min(14.5vw,75px);
		letter-spacing: 0.04em;
	}
	.lead-side {
		top: min(calc(19vw * (536 / 210)), 220px);
		justify-content: stretch;
		width: 51vw;
	}
	.pic-l1,
	.pic-l2,
	.pic-l3,
	.pic-r1,
	.pic-r2,
	.pic-r3 {
		top: 0;
	}
	.pic-l2,
	.pic-l3,
	.pic-r2,
	.pic-r3 {
		top: -3vw;
	}
	.pic-l2,
	.pic-r2 {
		width: 80%;
	}
	.pic-l3,
	.pic-r3 {
		top: -9vw;
	}
	.pic-l1::after {
		width: 24vw;
		height: 16vw;
	}
	.pic-l2::after {
        width: 14vw;
        height: 14vw;
        right: -20%;
        bottom: 5%;
	}
	.pic-r2::after {
		left: -15%;
		top: 22%;
		width: 16vw;
		height: 16vw;
	}
	.pic-r3::after {
		left: -5%;
        bottom: 10%;
		width: 13vw;
		height: 13vw;
	}
	.lead-title {
		font-size: 40px;
	}
	.lead-subtitle {
		font-size: min(5vw, 25px);
	}
	.lead-desc {
		margin-top: calc(46.5vw * (373.5 / 496) * 3);
		padding: 0 5%;
		text-align: left;
	}
}


/* ---------------------------------------------------
	#sec_category
------------------------------------------------------ */
#sec_activity {
	position: relative;
}
.activity-container {
	max-width: 1600px;
	margin: 0 auto;
}

@media screen and (min-width: 601px) {
	#sec_activity {
		margin-top: -95px;
		container-type: inline-size;
	}
}
@media screen and (max-width: 600px) {
	#sec_activity {
		padding-bottom: 40px;
	}
}


/* =========================================
	タブナビゲーション
========================================= */
.tab-nav {
	list-style: none;
	padding: 0;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	gap: 20px;
	width: 1280px;
	max-width: 100%;
}
.tab-item {
	flex: 1;
	background-color: #fff;
	color: var(--color);
	font-weight: bold;
	font-size: 26px;
	text-align: center;
	height: 95px;
	padding: 20px 10px;
	border-radius: 15px 15px 0 0;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	transition: all 0.3s ease;
}
.tab-item span {
	line-height: 1;
}
#sec_activity svg[class^="icon-"] {
	fill: #fff;
}
#sec_activity svg.icon-ux {
	width: 48px;
    height: 47px;
}
#sec_activity svg.icon-cutlery {
	width: 40px;
    height: 46px;
}
#sec_activity svg.icon-beer {
	width: 35px;
    height: 45px;
}
#sec_activity svg.icon-camera {
	width: 45px;
    height: 34px;
}
#sec_activity svg.icon-fun {
	width: 45px;
    height: 45px;
}
.tab-item.active {
	background-color: var(--color);
	color: #fff;
}
@media screen and (min-width: 601px) {
	.tab-nav {
		position: relative;
	}
	.tab-item::after {
		content: '';
		display: block;
		position: absolute;
		z-index: 1;
		bottom: -4px;
		left: calc(50% - 50cqw);
		width: 100cqw;
		height: 4px;
		background-color: var(--color);
		transition: transform 0.6s 0.3s;
		transform-origin: center;
		transform: scaleX(0);
	}
	.tab-item.active::after {
		transform: scaleX(1);
	}
}
@media screen and (max-width: 600px) {
	#sec_activity svg[class^="icon-"] {
		width: 1.8em;
		height: 1.8em;
	}
}


/* =========================================
	タブコンテンツ
========================================= */
@keyframes fadeIn {
	from { opacity: 0; transform: translateY(10px); }
	to { opacity: 1; transform: translateY(0); }
}

.tab-pane {
	position: relative;
	animation: fadeIn 0.3s ease;
	color: #fff;
}
.tab-pane.active {
	display: block;
}
.tab-pane .accordion_tit {
	position: relative;
	gap: 0 0.75em;
	align-items: center;
	border-radius: 15px 15px 0 0;
    padding: 12px 2em 12px 5%;
    font-size: 18px;
	background-color: var(--color);
}
.tab-pane .accordion_tit::after {
	position: absolute;
	right: 5%;
	content: '';
	display: block;
	width: 6px;
	height: 6px;
	border-bottom: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	transition: transform 0.3s ease;
}
.tab-pane .accordion_tit.active::after {
	transform: rotate(225deg);
}
.tab-pane .accordion_tit span {
	line-height: 1;
}
.tab-pane .inner {
	display: grid;
	grid-template-rows: auto;
	grid-template-columns: repeat(2,48%);
	align-items: flex-start;
	gap: 0 4%;
	width: 1250px;
	max-width: 92%;
	margin: 0 auto;
	padding: 100px 0 90px;
}
.tab-pane .inner .cmn_btn {
	float: right;
	margin: 1.5em 0 0 auto;
	background-color: var(--color);
}
.tab_title {
	grid-column: 1;
	grid-row: 1;
	width: max-content;
	min-height: 210px;
	position: relative
}
.tab_title .en_tit {
	position: relative;
    left: -20px;
}
.tab_title .en_tit .md {
	display: block;
	padding-right: 0.25em;
	font-size: 60px;
	text-align: right;
}
.tab-pane .desc_col {
	grid-column: 2;
	grid-row: 1;
	line-height: 2.2;
}

/* --- バナーエリア --- */
.pane-banner {
	position: relative;
	width: 100%;
	height: 500px;
	background-size: cover;
	background-position: center;
	display: flex;
	align-items: center;
}

.banner-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.4);
}
.tab-pane .swiper_arrows {
	grid-column: 1/3;
	grid-row: 2;
	clear: both;
}
.activity-swiper {
	grid-column: 1/3;
	grid-row: 3;
	width: 100%;
	margin-top: 40px;
}
/* #tab-gourmet .tab_title .en_tit .md {
	text-align: left;
} */

@media screen and (min-width: 601px) {
	.tab-pane {
		display: none;
	}
	.tab_title .ja {
		position: absolute;
		bottom: 0.25em;
		left: 0;
	}
	/* #tab-gourmet .tab_title .en_tit .md {
		position: absolute;
		transform: translateY(-100%);
	} */
	.tab-pane.active::before {
		transform: scaleX(1);
	}
	#tab-experience .tab_contents {
		background: url(../../img/act_ux_bg.jpg)no-repeat center/cover;
	}
	#tab-gourmet .tab_contents {
		background: url(../../img/act_drink_bg.jpg)no-repeat center/cover;
	}
	#tab-sightsee .tab_contents {
		background: url(../../img/act_sight_bg.jpg)no-repeat center/cover;
	}
	#tab-enjoy .tab_contents {
		background: url(../../img/act_enjoy_bg.jpg)no-repeat center/cover;
	}
}
@media screen and (max-width: 600px) {
	.tab-nav {
		flex-wrap: wrap;
	}
	.tab-item {
		font-size: 14px;
		padding: 10px 5px;
		border-radius: 8px 8px 0 0;
	}
	.tab-pane+.tab-pane {
		margin-top: 10px;
	}
	.tab-pane .accordion_tit {
		display: flex;
	}
	.tab-pane .inner {
		display: block;
		max-width: 100%;
		padding: 40px 4% 50px;
	}
	.tab_title {
		min-height: 0;
		line-height: 1.1;
		margin: 0 auto;
	}
	.tab_title .en_tit {
		left: 0;
	}
	.tab_title .en_tit .md {
		font-size: min(6vw, 36px);
	}
	.tab_title .ja {
		padding-left: 0.25em;
	}
	.tab_contents {
		/* display: none; */
		border-radius: 0 0 15px 15px;
	}
	.tab-pane .desc_col {
		margin-top: 30px;
		line-height: 1.8;
		text-align: center;
	}
	.tab-pane .desc_col p {
		text-align: left;
	}
	.tab-pane .swiper_arrows {
		margin-top: 20px;
	}
	.tab-pane .inner .cmn_btn {
		float: none;
	}
	.pane-banner {
		height: auto;
		padding: 40px 0;
	}
	.banner-inner {
		flex-direction: column;
		padding: 0 20px;
		text-align: center;
	}
	.banner-title-en {
		font-size: 50px;
	}
	
	#tab-experience .tab_contents .inner {
		background: url(../../img/act_ux_bg_sp.jpg)no-repeat center/cover;
	}
	#tab-gourmet .tab_contents .inner {
		background: url(../../img/act_drink_bg_sp.jpg)no-repeat center/cover;
	}
	#tab-sightsee .tab_contents .inner {
		background: url(../../img/act_sight_bg_sp.jpg)no-repeat center/cover;
	}
	#tab-enjoy .tab_contents .inner {
		background: url(../../img/act_enjoy_bg_sp.jpg)no-repeat center/cover;
	}
	#tab-experience .tab_title .ja,
	#tab-gourmet .tab_title .ja,
	#tab-sightsee .tab_title .ja {
		position: absolute;
		bottom: 0.25em;
	}
}


/* ---------------------------------------------------
	Modal Window // リンク元用
------------------------------------------------------ */
body.isAttached {
    overflow: hidden;
}
.iziModal .iziModal-header {
	box-shadow: none !important;
}
.iziModal .iziModal-header.iziModal-noSubtitle {
	padding: 0 !important;
}
.iziModal .iziModal-header.iziModal-noSubtitle .iziModal-header-title {
	margin: 0 !important;
	font-size: 0 !important;
}
#modal-iframe .iziModal-button-close {
    position: fixed;
    z-index: 9999 !important;
    top: 20px;
    right: 2%;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-size: 0;
    width: 70px;
    height: 70px;
	border-radius: 50%;
    transition: transform .7s, background-color .5s;
    color: #fff;
    background: var(--col-gr01);
	opacity: 1;
	transform: translateZ(0); /* Safariバグ対策 */
}
#modal-iframe .iziModal-button-close:hover {
    transform: none;
    opacity: 1;
	background-color: #128f4e;
}
#modal-iframe .iziModal-button-close::before,
#modal-iframe .iziModal-button-close::after {
    content: '';
    display: block;
    width: 42.8%;
    height: 2px;
    background-color: #fff;
}
#modal-iframe .iziModal-button-close::before {
    transform: rotate(45deg);
}
#modal-iframe .iziModal-button-close::after {
    transform: rotate(-45deg);
    margin-top: -2px;
}
@media screen and (max-width: 600px) {
    .iziModal .iziModal-iframe {
        min-height: 100dvh;
    }
    #modal-iframe .iziModal-button-close {
        width: 50px;
        height: 50px;
    }
}


/* ---------------------------------------------------
	#sec_stay
------------------------------------------------------ */
#sec_stay {
	position: relative;
	padding: 90px 3% 100px;
	background: url(../../img/stay_bg.jpg)no-repeat center/cover;
}
#sec_stay .cmn_tit_01 {
	text-align: center;
}
#sec_stay .cmn_tit_01 .en_tit {
	color: var(--col-gr03);
}
#sec_stay .cmn_tit_01 .en_tit::after,
#sec_stay .cmn_tit_01 .ja::after {
	content: '';
	display: block;
	position: absolute;
	top: 70px;
	max-width: max(250px,23vw);
}
#sec_stay .cmn_tit_01 .en_tit::after {
	left: max(3%, calc(50vw - 680px));
	width: 345px;
	height: 230px;
	background: url(../../img/stay_illust01.png)no-repeat center/contain;
}
#sec_stay .cmn_tit_01 .ja::after {
	right: max(3%, calc(50vw - 680px));
	width: 325px;
	height: 230px;
	background: url(../../img/stay_illust02.png)no-repeat center/contain;
}
#sec_stay .card-name {
	color: #000;
}
.stay-swiper {
	margin-top: 80px;
}
#sec_stay .swiper_arrows {
	justify-content: center;
	margin-top: 40px;
}

@media screen and (min-width: 601px) {
	#sec_stay {
		position: relative;
	}
	#sec_stay .cmn_btn {
		position: absolute;
		bottom: 100px;
		right: max(3%, calc(50vw - 600px));
	}
}
@media screen and (max-width: 600px) {
	#sec_stay {
		padding: 40px 4% 50px;
	}
	#sec_stay .inner_lg {
		display: flex;
		flex-direction: column;
	}
	#sec_stay .cmn_tit_01 {
		order: 1;
		position: relative;
		padding-bottom: calc(45vw * (2 / 3));
	}
	#sec_stay .cmn_tit_01 .en_tit::after,
	#sec_stay .cmn_tit_01 .ja::after {
		top: auto;
		bottom: 0;
		width: 42vw;
		max-width: 100%;
		height: auto;
		aspect-ratio: 3 / 2;
	}
	#sec_stay .cmn_tit_01 .en_tit::after {
		left: -1%;
	}
	#sec_stay .cmn_tit_01 .ja::after {
		right: -1%;
	}
	#sec_stay .swiper_arrows {
		order: 2;
		margin: 15px 0 30px;
	}
	.stay-swiper {
		order: 3;
		width: 100%;
		margin: 0 0 30px;
	}
	#sec_stay .cmn_btn {
		order: 4;
		align-self: center;
	}
}


/* ---------------------------------------------------
	#sec_access
------------------------------------------------------ */
#sec_access {
	position: relative;
	padding: 100px 0;
	background: url(../../img/acc_bg.jpg) no-repeat center center/cover;
	color: #fff;
	overflow: hidden;
}
.access-title {
	grid-column: 1/3;
	grid-row: 1;
}
.access-desc {
	grid-column: 1;
	grid-row: 2;
	margin-top: 60px;
}
.access-desc p {
	line-height: 2.2;
}
.access-map {
	position: relative;
	grid-column: 2;
	grid-row: 2;
}
.access-map::after,
.access-map>span::after {
	content: '';
	display: block;
	position: absolute;
	top: 12px;
}
.access-map::after {
	right: 36.5%;
	width: 160px;
	height: 80px;
	max-width: max(135px, 13vw);
	background: url(../../img/illust_car.png)no-repeat center/contain;
}
.access-map>span::after {
	right: 10.3%;
	width: 184px;
	height: 90px;
	max-width: max(150px, 14.5vw);
	background: url(../../img/illust_train.png)no-repeat center/contain;
}
#sec_access .cmn_btn {
	margin-top: 40px;
	background-color: var(--col-access);
}

@media screen and (min-width: 601px) {
	.access-wrap {
		display: grid;
		grid-template-rows: repeat(2, auto);
		grid-template-columns: 330px 1fr;
		gap: 0 50px;
	}
	.access-map {
		margin-top: -170px;
	}
}
@media screen and (max-width: 600px) {
	#sec_access {
		padding: 40px 0 50px;
		background-size: auto 48%;
		background-position: top left;
		background-color: #14121d;
	}
	.access-wrap {
		container-type: inline-size;
		flex-direction: column;
		gap: 40px;
	}
	.access-title {
		width: max-content;
		margin: 0 auto;
		line-height: 1.2;
	}
	.access-map::after,
	.access-map>span::after {
		width: 18vw;
		height: auto;
		aspect-ratio: 2/1;
	}
	.access-map::after {
		right: 35vw;
	}
	.access-map>span::after {
		right: 13vw;
	}
	.access-map {
		width: 108vw;
		position: relative;
		left: -4vw;
	}
	.access-desc {
		margin-top: 20px;
		text-align: center;
	}
	.access-desc p {
		text-align: left;
	}
	#sec_access .cmn_btn {
		margin-top: 20px;
	}
}


/* ---------------------------------------------------
	#sec_link
------------------------------------------------------ */
#sec_link {
	padding: 80px 0 110px;
	background-color: #fff;
}
#sec_link .montserrat {
	margin-bottom: 30px;
	font-size: 40px;
    text-align: center;
    color: #aaa;
}
#sec_link ul {
	display: flex;
	justify-content: center;
	gap: 0 30px;
}

@media screen and (max-width: 600px) {
	#sec_link {
		padding: 40px 0 50px;
	}
	#sec_link .montserrat {
		font-size: 32px;
	}
	#sec_link ul {
		flex-direction: column;
		align-items: center;
		gap: 10px 0;
	}
}


/* ---------------------------------------------------

------------------------------------------------------ */

@media screen and (max-width: 600px) {
}


/* ---------------------------------------------------

------------------------------------------------------ */

@media screen and (max-width: 600px) {
}
