@charset "UTF-8";

/*-------------------------------------------------
	Reset
-------------------------------------------------*/
*,*::before,*::after{box-sizing:border-box;}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,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;background:none;}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section{display:block;}body{line-height:1;color:#000;background:#fff;}ul,ol{list-style:none;}table{border-collapse:collapse;border-spacing:0;}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto;}button,input,select,textarea{font:inherit;color:inherit;margin:0;background:none;border:none;padding:0;appearance:none;box-shadow:none;}a{color:inherit;text-decoration:none;background:none;}blockquote,q{quotes:none;}blockquote::before,blockquote::after,q::before,q::after{content:'';}hr{border:0;border-top:1px solid #ccc;margin:2em 0;}mark{background:#ff9;color:#222;}:focus:not(:focus-visible){outline:none;}

/*-------------------------------------------------
	Base
-------------------------------------------------*/
:root {
	--font-en: "EB Garamond", serif;
	--font-en-spacing: .08em;
	--font-ja: "Zen Old Mincho", serif;
	--font-ja-spacing: .05em;
	--font-ja-ttl-spacing: .1em;
	--font-size-10px: clamp(10px, 0.666vw, 9999px);
	--font-size-12px: clamp(10px, 0.8vw, 9999px); /* use */
	--font-size-13px: clamp(10px, 0.867vw, 9999px); /* use */
	--font-size-14px: clamp(10px, 0.933vw, 9999px); /* use */
	--font-size-15px: clamp(10px, 1vw, 9999px); /* use */
	--font-size-16px: clamp(10px, 1.067vw, 9999px); /* use */
	--font-size-17px: clamp(10px, 1.134vw, 9999px); /* use */
	--font-size-18px: clamp(10px, 1.2vw, 9999px); /* use */
	--font-size-20px: clamp(10px, 1.333vw, 9999px);
	--font-size-21px: clamp(10px, 1.4vw, 9999px);
	--font-size-22px: clamp(10px, 1.466vw, 9999px); /* use */
	--font-size-24px: clamp(10px, 1.6vw, 9999px);
	--font-size-26px: clamp(10px, 1.733vw, 9999px); /* use */
	--font-size-30px: clamp(10px, 2vw, 9999px);
	--color-black: #000;
	--color-white: #E7E6E4;
	--color-dark-green: #1D2C31;
	--bg-sumi: #171F1D;
	--line-1px: clamp(1px, .066vw, .066vw);
}
@media screen and (max-width: 768px) {
	:root {
		--font-size-10px-sm: clamp(10px, 2.564vw, 9999px);
		--font-size-11px-sm: clamp(10px, 2.821vw, 9999px); /* use */
		--font-size-12px-sm: clamp(10px, 3.076vw, 9999px); /* use */
		--font-size-13px-sm: clamp(10px, 3.333vw, 9999px); /* use */
		--font-size-14px-sm: clamp(10px, 3.589vw, 9999px); /* use */
		--font-size-15px-sm: clamp(10px, 3.846vw, 9999px); /* use */
		--font-size-16px-sm: clamp(10px, 4.102vw, 9999px); /* use */
		--font-size-17px-sm: clamp(10px, 4.358vw, 9999px);
		--font-size-18px-sm: clamp(10px, 4.615vw, 9999px); /* use */
		--font-size-20px-sm: clamp(10px, 5.128vw, 9999px); /* use */
		--font-size-22px-sm: clamp(10px, 5.641vw, 9999px); /* use */
		--font-size-28px-sm: clamp(10px, 7.18vw, 9999px);
		--line-1px: clamp(1px, .2564vw, .066vw);
	}
}

body {
	position: relative;
	margin: 0;
	padding: 0;
	width: 100%;
	font-family: var(--font-ja);
	font-weight: 500;
	font-style: normal;
	font-size: 100%;
	line-height: 1;
	color: var(--color-txt);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.loading {
	width: 100%;
	height: 100%;
	background: #fff;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
}
a:link, a:visited {
	color: var(--color-txt);
	text-decoration: none;
	outline: none;
	opacity: 1;
	transition: opacity .3s;
}
a:hover {
	text-decoration: none;
	opacity: .8;
	cursor: pointer;
}
img {
	width: 100%;
	height: auto;
}
@media screen and (max-width: 666px) {
}

/*-------------------------------------------------
	Commons
-------------------------------------------------*/
/* Layout */
.ly_flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.ly_flex.rev {
	flex-direction: row-reverse;
}
.ly_flex.jcC {
	justify-content: center;
}
.ly_flex.aiC {
	align-items: center;
}
.ly_w_100 {
	width: 100%;
}
@media screen and (max-width: 768px) {
	.sm_flexNone {
		display: block;
	}
}

/* Helper */
.la_dn, .la_dn_ib {
	display: none !important;
}
.sm_dn {
	display: block !important;
}
.sm_dn_ib {
	display: inline-block;
}
span.ib {
	display: inline-block;
}
.hp_pos_rel {
	position: relative;
}
@media screen and (max-width: 768px) {
	.la_dn {
		display: block !important;
	}
	.la_dn_ib {
		display: inline-block !important;
	}
	.sm_dn, .sm_dn_ib {
		display: none !important;
	}
	.sm_w_100 {
		width: 100% !important;
	}
	.sm_w_100vw {
		margin-left: calc( - ( var(--pd-side) ));
		width: 100vw !important;
	}
}

/* Margin */
.hp_miA {
	margin-inline: auto;
}

/* Padding */

/* Heading + Text */
.el_lv1H {
	font-family: var(--font-en);
	font-weight: 400;
	font-size: var(--font-size-22px);
	line-height: 1;
	letter-spacing: var(--font-en-spacing);
	color: #CAC2B7;
}
.el_lv1H.under-bar {
	margin-bottom: 3vw;
	text-align: center;
}
.el_lv1H.under-bar::after {
	content: '';
	display: block;
	margin-top: 3vw;
	margin-inline: auto;
	width: 1.333vw;
	height: var(--line-1px);
	background-color: #A1A1A1;
}
.el_lv2H {
	margin-bottom: 1.2em;
	font-size: var(--font-size-26px);
	line-height: 1.8;
	letter-spacing: var(--font-ja-ttl-spacing);
}
p {
	font-size: var(--font-size-16px);
	line-height: 2;
	letter-spacing: var(--font-ja-spacing);
	color: var(--color-black);
}
p:not(:last-of-type) {
	padding-bottom: 1.25em;
}
.hp_txtA_c {
	text-align: center !important;
}
.hp_font_en {
	font-family: var(--font-en);
	letter-spacing: var(--font-en-spacing);
}
.hp_font_ja {
	font-family: var(--font-ja);
	letter-spacing: var(--font-ja-spacing);
}
.hp_color_white {
	color: var(--color-white);
}
.hp_fontW_400 {
	font-weight: 400;
}
.hp_lineH_1_5 {
	line-height: 1.5;
}
.hp_lineH_1_6 {
	line-height: 1.6;
}
.hp_letterS_0_05 {
	letter-spacing: 0.05em !important;
}
.hp_letterS_0_07 {
	letter-spacing: 0.07em !important;
}
@media screen and (max-width: 768px) {
	.el_lv1H {
		font-size: var(--font-size-20px-sm);
	}
	.el_lv1H.under-bar {
		margin-bottom: 7.692vw;
	}
	.el_lv1H.under-bar::after {
		margin-top: 6.923vw;
		width: 3.846vw;
	}
	.el_lv2H  {
		font-size: var(--font-size-18px-sm);
	}
	p {
		font-size: var(--font-size-13px-sm);
	}
	p:not(:last-of-type) {
		padding-bottom: 1.4em;
	}
	.sm_txtA_c {
		text-align: center !important;
	}
}

/* Fade */
.hp_fadeIn {
	opacity: 0;
	transition: 900ms ease-in-out;
}
.hp_fadeIn.in {
	opacity: 1;
}

/* Text Animation */
.js_scalechar {
    position: relative;
    opacity: 0;
    -webkit-transition: opacity 1s;
    transition: opacity 1s
}
.js_scalechar .s_t {
    position: relative
}
.js_scalechar .s_t .s_t_in {
    position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-transition: all 1s;
    transition: all 1s;
    opacity: 0;
    -webkit-transform: scale(1.5);
    -ms-transform: scale(1.5);
    transform: scale(1.5)
}
.js_scalechar.is-show {
    visibility: visible;
    opacity: 1
}
.js_scalechar.is-show .s_t_in {
    opacity: 1;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1)
}
.js_fadechar,.js_fadechar .s_t {
    display: inline-block;
    position: relative
}
.js_fadechar {
    visibility: hidden;
    opacity: 0;
    -webkit-transition: opacity 1s;
    transition: opacity 1s
}
.js_fadechar .s_t .s_t_in,.js_fadechar.ly_fv_bg {
    position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-align: center;
    -webkit-box-align: center;
    align-items: center;
    -webkit-transition: all 1s;
    transition: all 1s;
    opacity: 0;
    -webkit-filter: blur(10px);
    filter: blur(10px)
}
.js_fadechar.is-show,.js_fadechar.ly_fv_bg.is-show {
    visibility: visible;
    opacity: 1
}
.js_fadechar.is-show .s_t_in,.js_fadechar.ly_fv_bg.is-show {
    opacity: 1;
    -webkit-filter: blur(0);
    filter: blur(0)
}

/*-------------------------------------------------
	Header
-------------------------------------------------*/
.ly_hdr {
	position: fixed;
	padding: 0 6.4vw 0 4vw;
	width: 100%;
	height: 5.333vw;
	z-index: 100;
	pointer-events: none;
}
.el_hdr_logo {
	width: 6.666vw;
	height: 1.4vw;
	z-index: 102;
	pointer-events: all;
	opacity: 0;
	transition: opacity .5s;
}
.el_hdr_logo.show {
	opacity: 1;
}
.ly_hdr_btns {
	gap: 1.333vw;
	pointer-events: all;
}
a.un_btn_rsv {
	width: 14.666vw;
	height: 2.666vw;
	font-size: var(--font-size-18px);
	line-height: 1;
	color: var(--color-dark-green);
	border: 1px solid var(--color-dark-green);
	border-radius: 9999px;
	background-color: #e4e0db;
}
a.un_btn_rsv span.hp_font_ja {
	font-size: var(--font-size-14px);
	margin-left: 0.7em;
	padding-left: 0.75em;
	border-left: 1px solid var(--color-dark-green);
}
.ly_btn_lang {
	margin-left: .666vw;
	z-index: 102;
}
.ly_btn_lang,
.ly_btn_lang a {
	font-size: var(--font-size-16px);
	color: var(--color-white);
}
.ly_btn_lang > span.current {
	color: #A1A1A1;
}
.ly_btn_lang > span:first-of-type::after {
	content: '';
	display: inline-block;
	margin: 0 .5em;
	width: 7px;
	height: 11px;
	background: url('../img/fig_slash.svg') no-repeat center center;
}
/* Global Navigation */
.ly_gNav {
	display: none;
	position: fixed;
	top: 0;
	right: 0;
	width: 30vw;
	min-height: 100vh;
	min-height: 100lvh;
	background-color: var(--bg-sumi);
	z-index: 101;
	pointer-events: all;
}
.bl_gNav_inner {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding-top: 8vw;
	height: 100%;
	min-height: 100vh;
	min-height: 100lvh;
}
.bl_gNav {
	flex: 0 0 auto;
	width: 100%;
	border-top: var(--line-1px) solid rgba(255, 251, 251, .1);
}
.el_gNav a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 1.1vw 2.667vw;
	font-weight: 400;
	font-size: var(--font-size-15px);
	line-height: 1;
	letter-spacing: var(--font-ja-spacing);
	color: var(--color-white);
	border-bottom: var(--line-1px) solid rgba(255, 251, 251, .1);
}
.el_gNav a span {
	display: block;
	width: 50%;
}
.el_gNav a span.hp_font_en {
	font-weight: 500;
	font-size: var(--font-size-16px);
	color: rgba(228, 222, 216, .7);
}
.el_gNav.insta a {
	justify-content: center;
	align-items: flex-start;
	padding-top: 3.6vw;
	padding-bottom: 3.6vw;
}
.el_gNav.insta span.icon {
	width: 1.067vw;
	height: 1.067vw;
}
.el_gNav.insta span.txt {
	width: auto;
	margin-left: .8vw;
}
a.un_btn_gNav_rsv {
	flex: 1 1 auto;
	flex-direction: column;
	gap: .533vw;
	height: 100%;
	line-height: 1;
	color: var(--color-white);
	background: center / cover no-repeat url("../img/bg_gnav.jpg");
}
.un_btn_gNav_rsv span.hp_font_en {
	display: block;
	font-weight: 400;
	font-size: var(--font-size-22px);
}
.un_btn_gNav_rsv span.hp_font_ja {
	display: block;
	margin-top: .5em;
	font-size: var(--font-size-12px);
}
/* Hamburger Menu */
body.no_scroll {
	overflow-y: hidden !important;
}
.un_btn_hbg {
	display: block;
	position: absolute;
	top: 50%;
	right: 2.133vw;
	transform: translateY(-50%);
	width: 3.6vw;
	height: 1.866vw;
	z-index: 102;
	cursor: pointer;
	pointer-events: all;
}
.un_btn_hbg > span {
	display: block;
	position: absolute;
	left: .666vw;
	width:  2.333vw;
	height: .066vw;
	background-color: #fff;
	transition: all .3s;
}
.un_btn_hbg span:nth-of-type(1) {
	top: .666vw;
}
.un_btn_hbg span:nth-of-type(2) {
	top: 1.133vw;
}
.un_btn_hbg.active span:nth-of-type(1) {
	transform: translateY(.266vw) translateX(0) rotate(20deg);
}
.un_btn_hbg.active span:nth-of-type(2) {
	transform: translateY(-.2vw) translateX(0) rotate(-20deg);
}
@media screen and (max-width: 768px) {
	.ly_hdr {
		padding: 0 20.513vw 0 6.41vw;
		height: 14.872vw;
	}
	.el_hdr_logo {
		width: 21.538vw;
		height: 4.615vw;
	}
	a.un_btn_rsv {
		position: fixed;
		left: 50%;
		transform: translateX(-50%);
		bottom: 11.538vw;
		width: 44.872vw;
		height: 8.974vw;
		font-size: var(--font-size-16px-sm);
	}
	a.un_btn_rsv span.hp_font_ja {
		font-size: var(--font-size-13px-sm);
	}
	.ly_btn_lang, .ly_btn_lang a {
		font-size: var(--font-size-16px-sm);
	}
	/* Global Navigation */
	.ly_gNav {
		width: 100%;
	}
	.bl_gNav_inner {
		padding-top: 25.641vw;
	}
	.el_gNav a {
		padding: 15px 7.692vw;
		font-size: var(--font-size-13px-sm);
	}
	.el_gNav a span.hp_font_en {
		font-size: var(--font-size-15px-sm);
	}
	.el_gNav.insta a {
		padding-top: 13.59vw;
		padding-bottom: 13.59vw;
	}
	.el_gNav.insta span.icon {
		width: 3.846vw;
		height: 3.846vw;
	}
	.el_gNav.insta span.txt {
		margin-left: 3.077vw;
	}
	.un_btn_gNav_rsv span.hp_font_en {
		font-size: var(--font-size-22px-sm);
	}
	.un_btn_gNav_rsv span.hp_font_ja {
		margin-top: 1em;
		font-size: var(--font-size-13px-sm);
	}
	/* Hamburger Menu */
	.un_btn_hbg {
		right: 3.846vw;
		width: 13.846vw;
		height: 7.179vw;
	}
	.un_btn_hbg > span {
		left: 2.564vw;
		width: 8.974vw;
		height: .2564vw;
	}
	.un_btn_hbg span:nth-of-type(1) {
		top: 2.564vw;
	}
		.un_btn_hbg span:nth-of-type(2) {
		top: 4.359vw;
	}
	.un_btn_hbg.active span:nth-of-type(1) {
		transform: translateY(1.026vw) translateX(0) rotate(20deg);
	}
	.un_btn_hbg.active span:nth-of-type(2) {
		transform: translateY(-.769vw) translateX(0) rotate(-20deg);
	}
}

/*-------------------------------------------------
	Top
-------------------------------------------------*/
/* #first-view */
.ly_fv {
	position: relative;
	width: 100%;
	height: auto;
}
.bl_fv_slider {
	position: relative;
	min-height: 600px !important;
	overflow: hidden;
}
.bl_fv_slider .bl_fv_slide {
	position: relative;
	width: 100%;
	height: 100%;
	opacity: 0;
	transform: scale(1.1);
	transition: opacity 2s linear, transform 7.5s linear;
	overflow: hidden;
	z-index: 1;
}
.bl_fv_slider .bl_fv_slide:not(:first-child) {
	position: absolute;
	top: 0;
	left: 0;
}
.bl_fv_slider .bl_fv_slide.show_ {
	opacity: 1;
}
.bl_fv_slider .bl_fv_slide.zoom_ {
	transform: scale(1);
}
.bl_fv_slider .bl_fv_slide img {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	object-fit: cover;
    object-position: center;
}
.un_fv_mark {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 19.333vw;
	height: 18.733vw;
	z-index: 10;
}
@media screen and (max-width: 768px) {
	.bl_fv_slider {
		min-height: 300px !important;
		max-height: 210vw !important;
	}
	.un_fv_mark {
		width: 44.872vw;
		height: 43.590vw;
	}
}

/* #about */
.ly_about {
	position: relative;
	padding:  0 11.667vw;
	width: 100%;
	height: 50vw;
	background: center / cover no-repeat url("../img/bg_about_fix.jpg");
}
.bl_about .el_lv2H {
	margin-bottom: 2.2em;
}
@media screen and (max-width: 768px) {
	.ly_about {
		padding: 24.359vw 8.974vw 29.487vw;
		height: auto;
		background-image: url("../img/bg_about_fix_sm.jpg");
	}
	.bl_about .el_lv2H {
		margin-bottom: 2.8em;
		line-height: 2;
	}
}

/* #stay */
.ly_stay {
	position: relative;
	padding: 8vw 0 9vw;
	width: 100%;
	height: auto;
	background-color: #B4AEA6;
	overflow: hidden;
}
.ly_floor-plan {
	gap: 4.666vw;
}
.ly_floor-plan .el_lv2H {
	font-weight: 400;
}
.bl_floor-plan__img {
	width: 20vw;
	height: 100%;
}
.bl_floor-plan__txt {
	max-width: 34.667vw;
}
.bl_floor-plan__txt p {
	line-height: 1.8;
}
.bl_floor-plan__txt p:not(:last-of-type) {
	padding-bottom: .8em;
}
@media screen and (max-width: 768px) {
	.ly_stay {
		padding: 23.077vw 6.41vw;
	}
	.bl_floor-plan__img {
		margin: 8.461vw auto;
		width: 100%;
		max-width: 300px;
	}
	.bl_floor-plan__txt {
		max-width: 100%;
	}
}

/* Stay Gallery | PC ver */
:root {
	--slideH: 37.333vw; /* 画像の共通高さ */
	--dot-color: transparent;
	--dot-active-color: #D9D9D9;
	--dot-border-color: #7D7D7D;
}
.wrap_stay-gallery {
	position: relative;
	margin-bottom: 11.333vw;
}
.ly_stay-gallery {
	position: relative;
	margin-left: -1.6vw; /* ボタンパネル分を左にずらす */
	width: 100%;
	max-width: 78.334vw;
	height: 37.333vw;
	margin-bottom: 2.667vw;
	background: transparent;
	overflow: visible; /* ↓ ページネーションを下に出すため visible に変更 */
}
.ly_stay-gallery_switch {
	position: absolute;
	top: 0;
	right: 0;
	padding: 0;
	width: 37.334vw;
	height: 37.334vw;
	--cut: 34%;
	background: linear-gradient(
		90deg,
		rgb(180 174 166 / 0) 0%,
		rgb(180 174 166 / 0.03) calc(var(--cut) * 0.12),
		rgb(180 174 166 / 0.08) calc(var(--cut) * 0.24),
		rgb(180 174 166 / 0.16) calc(var(--cut) * 0.38),
		rgb(180 174 166 / 0.28) calc(var(--cut) * 0.52),
		rgb(180 174 166 / 0.45) calc(var(--cut) * 0.68),
		rgb(180 174 166 / 0.68) calc(var(--cut) * 0.84),
		rgb(180 174 166 / 1) var(--cut),
		rgb(180 174 166 / 1) 100%
	);
	z-index: 2;
	pointer-events: none; /* 背景はクリック不可 */
}
.bl_stay-gallery_switch {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 1.667vw;
	margin-left: 34%;
	padding: 0 2vw 0 6vw;
	height: 100%;
	pointer-events: all;
}
.el_stay-gallery_switch {
	display: block;
	position: relative;
	padding: 0;
	font-family: var(--font-en);
	font-weight: 400;
	font-size:  var(--font-size-22px);
	line-height: 2;
	letter-spacing: var(--font-en-spacing);
	text-align: left;
	color: #515151;
	background: none;
	border: none;
	cursor: pointer;
	transition: opacity .3s;
	pointer-events: all; /* ボタンはクリック可 */
}
.el_stay-gallery_switch:hover {
	opacity: .7;
}
.el_stay-gallery_switch span.hp_font_ja {
	display: block;
	margin-top: -.5em;
	font-size: var(--font-size-16px);
	letter-spacing: var(--font-ja-spacing);
	color: #000;
}
.el_stay-gallery_switch::before {
	content: '';
	display: block;
	position: absolute;
	top: 2vw;
	left: -1.667vw;
	width: 0.667vw;
	height: 0.667vw;
	border: var(--line-1px) solid var(--dot-border-color);
	border-radius: 50%;
	background-color: var(--dot-active-color);
	opacity: 0;
	transition: opacity .3s;
}
.el_stay-gallery_switch.is-current::before,
.el_stay-gallery_switch.is-current:hover {
	opacity: 1;
}
.el_stay-gallery_switch.is-current:hover {
	cursor: default;
}
.bl_stay-gallery.swiper {
	position: absolute;
	inset: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity .35s ease;
	z-index: 1;
	height: 100%;
}
.bl_stay-gallery.is-active {
	opacity: 1;
	visibility: visible;
}
.bl_stay-gallery .swiper-wrapper { align-items: center; }
.bl_stay-gallery .swiper-slide {
	height: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: auto;       /* content 幅に合わせる */
	flex: 0 0 auto;    /* 縮まない */
}
.bl_stay-gallery .swiper-slide.landscape {
	width: calc(var(--slideH) * 6 / 4.5);
}
.bl_stay-gallery .swiper-slide.square {
	width: calc(var(--slideH) * 1 / 1);
}
.bl_stay-gallery .swiper-slide.portrait {
	width: calc(var(--slideH) * 3 / 4);
}
.bl_stay-gallery__item {
	height: var(--slideH);
}
.el_stay-gallery__item {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.bl_stay-gallery.is-clickable .swiper-slide { cursor: pointer; }
.bl_stay-gallery .swiper-pagination {
	position: absolute;
	left: 0;
	right: 0;
	bottom: -3.733vw !important;
	text-align: center;
}
.bl_stay-gallery .swiper-pagination-bullet {
	margin: 0 .5vw !important;
	width: 0.667vw;
	height: 0.667vw;
	border: var(--line-1px) solid var(--dot-border-color);
	background: var(--dot-color);
	opacity: 1;
	transition: background-color .3s;
}
.bl_stay-gallery .swiper-pagination-bullet-active {
	background: var(--dot-active-color);
}
.ly_stay-gallery .bl_stay-gallery.swiper {
	overflow: visible;
}
.bl_stay-gallery .swiper-pagination {
	pointer-events: auto;
}

/* Stay Gallery | SP ver */
@media screen and (max-width: 768px) {
	:root {
		--stay-sm-h: 95.641vw;   /* スライドの高さ（390px時 373px） */
		--gap: 1.282vw;          /* スライド間隔（390px時 5px） */
		--pagi-gap: 6.51vw;      /* 画像底辺からドットまでの距離 */
		--pagi-size: 1.795vw;    /* ドット直径（390px時 ≈8px） */
	}
	.ly_stay-gallery_sm {
		display: grid;
		/* margin-top: 23.077vw; */
		margin-bottom: 23.077vw;
		margin-left: -6.41vw; /* ボタンパネル分を左にずらす */
		width: 100vw;
	}
	.el_stay-gallery_ttl {
		padding: 0 6.41vw 5.641vw;
		font-weight: 400;
		font-size: var(--font-size-20px-sm);
		line-height: 1;
		color: #515151;
	}
	.el_stay-gallery_ttl span.hp_font_ja {
		display: inline-block;
		margin-left: 1em;
		font-weight: 500;
		font-size: var(--font-size-13px-sm);
		color: var(--color-dark-green);
	}
	.bl_stay-gallery_sm + .el_stay-gallery_ttl {
		margin-top: 16.667vw;
	}
	p + .el_stay-gallery_ttl {
		margin-top: 14.359vw;
	}
	.bl_stay-gallery_sm.swiper {
		position: relative;
		width: 100%;
		height: calc(var(--stay-sm-h) + var(--pagi-gap) + var(--pagi-size));
		overflow: hidden; /* Swiper標準 */
	}
	.bl_stay-gallery_sm .swiper-wrapper {
		align-items: stretch;
	}
	.bl_stay-gallery_sm .swiper-slide {
		height: var(--stay-sm-h);
		flex-shrink: 0;
	}
	.bl_stay-gallery__item_sm.portrait { /* 280:373 */
		width: calc(var(--stay-sm-h) * 280 / 373);
	}
	.bl_stay-gallery__item_sm.square {   /* 380:373 */
		width: calc(var(--stay-sm-h) * 380 / 373);
	}
	.el_stay-gallery__item {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.bl_stay-gallery_sm .swiper-pagination {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 2;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: calc(var(--gap) * 2); /* 390px時 ≈10px */
		height: var(--pagi-size);
		pointer-events: auto;
	}
	.bl_stay-gallery_sm .swiper-pagination-bullet {
		width: var(--pagi-size);
		height: var(--pagi-size);
		border: .179vw solid #7D7D7D;
		border-radius: 50%;
		background: #E6E6E6;
		opacity: 1;
		margin: 0 !important;
		transition: background-color .3s;
	}
	.bl_stay-gallery_sm .swiper-pagination-bullet-active {
		background: #B2B2B2;
	}
	.bl_stay-gallery_sm.is-single {
		height: var(--stay-sm-h); /* 余分な pagination 領域は無し */
	}
	.bl_stay-gallery_sm.is-single .swiper-wrapper {
		display: block;
		transform: none !important;
	}
	.bl_stay-gallery_sm.is-single .swiper-slide {
		width: calc(var(--stay-sm-h) * 380 / 373);
		height: var(--stay-sm-h);
		margin-left: var(--gap);
		margin-right: var(--gap);
	}
	.bl_stay-gallery_sm.is-single .swiper-pagination {
		display: none;
	}
	.bl_stay-gallery__cap_sm {
		margin: 4.615vw 6.41vw 0;
		color: #515151;
		font-size: var(--font-size-11px-sm);
		line-height: 1.8;
	}
	p.bl_stay-gallery__cap_sm:not(:last-of-type) {
		padding-bottom: 0;
	}
	.bl_stay-gallery_sm {
		touch-action: pan-y;
		/* -webkit-overflow-scrolling: touch; */
	}
}

/* #facilities-amenities */
.ly_fac-ame {
	position: relative;
	padding: 7.333vw 0 0;
	width: 100%;
	height: auto;
	background-color: var(--bg-sumi);
}
.ly_facility-spec {
	margin-inline: auto;
	width: 100%;
	max-width: 56vw;
}
.bl_facility-spec {
	display: grid;
	grid-template-columns: 15.733vw 1fr;
	border: var(--line-1px) solid #E7E6E4;
	border-radius: 0.667vw;
	background-color: #BBB6AF;
	overflow: hidden;
}
.bl_facility-spec__term,
.bl_facility-spec__desc {
	padding: 3.5em;
	border-top: var(--line-1px) solid #A49B9B;
}
.bl_facility-spec__term {
	padding-left: 1em;
	padding-right: 1em;
}
.bl_facility-spec__term:first-of-type,
.bl_facility-spec__desc:first-of-type {
	border-top: none;
}
.bl_facility-spec__term {
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 500;
	font-size: var(--font-size-14px);
	letter-spacing: var(--font-ja-ttl-spacing);
	color: var(--color-dark-green);
	background-color: #ACA8A3;
}
.bl_facility-spec__desc {
	font-size: var(--font-size-13px);
	line-height: 2;
	letter-spacing: var(--font-ja-spacing);
}
@media screen and (max-width: 768px) {
	.ly_fac-ame {
		padding: 14.359vw 6.41vw 25.641vw;
	}
	.bl_facility-spec {
		grid-template-columns: 1fr;
	}
	.ly_facility-spec {
		max-width: 100%;
	}
	.bl_facility-spec {
		border: none;
		border-radius: 2.564vw;
	}
	.bl_facility-spec__term {
		font-size: var(--font-size-12px-sm);
		padding: 5.897vw 7.692vw;
		border: none;
	}
	.bl_facility-spec__desc {
		font-size: var(--font-size-11px-sm);
		padding: 5.128vw 7.692vw;
		border: none;
	}
}

/* #photo-gallery */
:root {
	--arrow-color: #878787;
}
.ly_photo-gallery {
	position: relative;
	padding: 11.333vw 0 8.533vw;
	width: 100%;
	height: auto;
	background-color: var(--bg-sumi);
}
.ly_photo-gallery .el_lv1H {
	margin-bottom: 3.333vw;
	margin-left: 8vw;
}
.bl_gallerySlider {
	position: relative;
	overflow: hidden;
}
.bl_slider.swiper {
	width: 100%;
}
.bl_slider_item {
	background: transparent;
	overflow: hidden;
}
.bl_slider_img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}
.bl_sliderControls {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 2.133vw;
	padding: 0 8.667vw;
}
.bl_sliderNav_btn {
	position: relative;
	width: 6.667vw;
	height: 2vw;
	background: none;
	border: 0;
	cursor: pointer;
	flex: 0 0 auto;
}
.bl_sliderNav_btn::before {
	content: "";
	position: absolute;
	left: 0;
	right: .667vw;
	top: 1vw;
	height: var(--line-1px);
	background: var(--arrow-color);
	opacity: 1;
}
.bl_sliderNav_btn--prev::before {
	right: 0;
	left: .667vw;
}
.bl_sliderNav_btn--prev::after,
.bl_sliderNav_btn--next::after {
	content: "";
	position: absolute;
	top: .733vw;
	width: .667vw;
	height: .333vw;
	background: var(--arrow-color);
}
.bl_sliderNav_btn--prev::after {
	left: 0;
	clip-path: polygon(100% 0, 0 100%, 100% 100%);
}
.bl_sliderNav_btn--next::after {
	right: 0;
	clip-path: polygon(0 0, 100% 100%, 0 100%);
}
.bl_sliderNav_btn:hover::before,
.bl_sliderNav_btn:focus-visible::before {
	opacity: .7;
}
.bl_sliderDots {
	display: none;
}
.bl_sliderDots .swiper-pagination {
	position: static;
	display: flex;
	justify-content: center;
	align-items: center;
}
.bl_sliderDots .swiper-pagination-bullets {
	display: flex;
	gap: 10px;
}
.bl_sliderDots .swiper-pagination-bullet {
	width: 6px;
	height: 6px;
	background: #A4A4A4;
	opacity: .55;
	transition: opacity .2s, transform .2s, background-color .2s;
}
.bl_sliderDots .swiper-pagination-bullet-active {
	background: #737373;
	opacity: 1;
	transform: scale(1.2);
}
@media screen and (max-width: 768px) {
	.ly_photo-gallery {
		margin-left: -6.41vw;
		padding: 25.641vw 0 0;
		width: 100vw;
	}
	.ly_photo-gallery .el_lv1H {
		margin-left: 6.41vw;
		margin-bottom: 10.256vw;
	}
	.bl_sliderControls {
		padding: 5.128vw 6.41vw 0;
	}
	.bl_sliderNav_btn {
		width: 10.256vw;
		height: 1.795vw;
	}
	.bl_sliderNav_btn--prev::after,
	.bl_sliderNav_btn--next::after {
		top: .513vw;
		width: 1.154vw;
		height: .769vw;
	}
	.bl_sliderDots {
		flex: 1 1 auto;
		display: flex;
		justify-content: center;
		align-items: center;
		min-height: 1.795vw; /* 矢印と高さ合わせ */
	}
	.bl_sliderDots .swiper-pagination-bullet {
		margin: 0 !important;
		width: 1.795vw;
		height: 1.795vw;
		border: var(--line-1px) solid #797979;
		border-radius: 50%;
		background-color: #a9a9a9;
		opacity: 1;
	}
	.bl_sliderDots .swiper-pagination-bullet-active {
		background-color: #7a7a7a;
		transform: scale(1);
	}
}

/* #reservation */
.ly_rvs {
	position: relative;
	padding: 0 10.667vw;
	width: 100%;
	height: 40vw;
	background: center / cover no-repeat url("../img/bg_reservation.jpg");
}
.ly_rvs .el_lv1H {
	font-size: var(--font-size-30px);
}
.el_lv1H span.sub {
	display: block;
	margin-top: 1.5em;
	font-size: var(--font-size-15px);
	letter-spacing: var(--font-ja-ttl-spacing);
	color: var(--color-white);
}
@media screen and (max-width: 768px) {
	.ly_rvs {
		padding: 0 8.974vw;
		height: 76.923vw;
		background-image: url("../img/bg_reservation_sm.jpg");
	}
	.ly_rvs .el_lv1H {
		font-size: var(--font-size-20px-sm);
	}
	.el_lv1H span.sub {
		margin-top: 1em;
		font-size: var(--font-size-13px-sm);
	}
}

/* #access */
.ly_access {
	position: relative;
	padding: 7.333vw 0 12vw;
	width: 100%;
	height: auto;
	background-color: var(--bg-sumi);
}
.bl_access {
	margin-inline: auto;
	width: 100%;
	max-width: 79.333vw;
}
.bl_access p {
	font-size: var(--font-size-14px);
	color: #E4DED8;
}
.bl_access__map {
	position: relative;
    aspect-ratio: 1 / 1;
	margin-top: 1.467vw;
	width: 40vw;
    overflow: hidden;
}
.bl_access__map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	max-height: 40vw;
	border: none;
	-webkit-filter:grayscale(100%);
	filter: grayscale(100%);
	will-change:filter;
	transform:translateZ(0);
}
.bl_access__txt {
	margin-top: -3.8vw;
	width: 33.333vw;
}
.el_access_lv2H {
	margin-bottom: 1em;
	padding-bottom: .2em;
	font-size: var(--font-size-17px);
	line-height: 2;
	letter-spacing: var(--font-ja-spacing);
	color: #B2B2B2;
	border-bottom: var(--line-1px) solid #515151;
}
p + .el_access_lv2H {
	margin-top: 1.35em;
}
.bl_access p.hp_lh_low {
	padding-bottom: .5em;
}
.bl_access p span.small {
	font-size: .928em;
}
.el_access_img {
	margin-top: 4vw;
	margin-left: 2.667vw;
	width: 28vw;
}
@media screen and (max-width: 768px) {
	.ly_access {
		padding: 20.513vw 6.41vw 29.487vw;
	}
	.bl_access {
		max-width: 100%;
	}
	.bl_access p {
		font-size: var(--font-size-12px-sm);
	}
	.bl_access p.sm_txtA_c {
		margin-top: -.6em;
	}
	.bl_access__map {
		aspect-ratio: 39 / 25;
		margin-top: 8.462vw;
		margin-left: -6.41vw;
		margin-bottom: 12.821vw;
		width: 100vw;
	}
	.bl_access__map iframe {
		max-height: none;
		height: 64.103vw;
	}
	.bl_access__txt {
		margin-top: 0;
		margin-top: 3.589vw;
		width: 100%;
	}
	.el_access_lv2H {
		font-size: var(--font-size-14px-sm);
	}
	.bl_access p span.small {
		font-size: .8336em;
	}
	.el_access_img {
		margin-top: 14.103vw;
		margin-left: 0;
		margin-inline: auto;
		width: 76.923vw;
		/* max-width: 340px; */
	}
}

/*-------------------------------------------------
	Footer
-------------------------------------------------*/
.ly_ftr {
	position: relative;
	padding: 6.334vw 8vw 8.667vw;
	width: 100%;
	height: 50vw;
	background: center / cover no-repeat url("../img/bg_footer.jpg");
}
.bl_ftr {
	position: relative;
	width: 100%;
	height: 100%;
}
.bl_ftr_nav {
	display: flex;
	gap: 2em;
	margin-bottom: 3vw;
}
.el_ftr_nav a {
	font-weight: 400;
	font-size: var(--font-size-17px);
	line-height: 1;
	letter-spacing: var(--font-en-spacing);
	color: var(--color-white);
}
.bl_ftr_subNav {
	display: flex;
	align-items: center;
	gap: 1.667vw;
}
.el_ftr_subNav_icon {
	width: 1.533vw;
	height: 1.533vw;
}
.bl_ftr_subNav .ly_btn_lang,
.bl_ftr_subNav .ly_btn_lang a {
	font-weight: 400;
	font-size: var(--font-size-18px);
}
.ly_btn_lang > span:first-of-type::after {
	width: 8px;
	height: 12px;
	background-size: contain;
}
.bl_ftr_utNav {
	display: flex;
	flex-direction: column;
	gap: 1.334vw;
	position: absolute;
	bottom: 0;
	left: 0;
}
a.el_ftr_utNav {
	display: inline-block;
	font-size: var(--font-size-12px);
	line-height: 1;
	letter-spacing: var(--font-ja-ttl-spacing);
	color: var(--color-white);
}
.un_ftr_copyright {
	margin-top: 1.2vw;
	font-weight: 400;
	font-size: var(--font-size-13px);
	line-height: 1;
	letter-spacing: var(--font-en-spacing);
	color: var(--color-white);
}
.un_ftr_mark {
	display: block;
	position: absolute;
	bottom: 0;
	right: 0;
	width: 13.333vw;
	height: 13vw;
}
@media screen and (max-width: 768px) {
	.ly_ftr {
		padding: 8.974vw 6.41vw 32.051vw;
		height: 143.590vw;
		background-image: url("../img/bg_footer_sm.jpg");
	}
	.bl_ftr {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}
	.bl_ftr_nav {
		flex-direction: column;
		gap: 1.5em;
	}
	.el_ftr_nav a {
		font-size: var(--font-size-14px-sm);
	}
	.bl_ftr_subNav {
		flex-direction: column-reverse;
		align-items: flex-end;
	}
	.el_ftr_subNav_icon {
		margin-top: 4.615vw;
		margin-right: .256vw;
		width: 5.897vw;
		height: 5.897vw;
	}
	.bl_ftr_subNav .ly_btn_lang,
	.bl_ftr_subNav .ly_btn_lang a {
		font-size: var(--font-size-16px-sm);
	}
	.bl_ftr_utNav {
		position: absolute;
		bottom: 0;
		left: 0;
	}
	.un_ftr_copyright {
		font-size: var(--font-size-11px-sm);
	}
	.un_ftr_mark {
		width: 25.897vw;
		height: 25.128vw;
	}
}