@charset "utf-8";



/* @ Base Custom */
:root{
	--g3-scroll-margin-top: calc( var(--g3-header-height) + var(--g3-gnav-second-height) );
	--g3-shortmenu-top: calc(1.25em + var(--g3-header-height) + var(--g3-gnav-second-height));
}

@media (max-width: 1366px){
	.g3-gnav{
		display: inherit;
	}
	.g3-gnav-list__item--news,
	.g3-gnav-list__item--around,
	.g3-gnav-list__item--access{
		display: none;
	}
}

#g3-is-ui-menu:checked ~ * .l3-important-news,
#g3-is-ui-search:checked ~ * .l3-important-news{
	display: none;
}
.h3-toolbar__item.h3-sns{
	display: none;
}

.g3s-personal-menu--shotels{
	transition: 333ms ease;
	
	&:where(.is-hidden){
		opacity: 0;
		visibility: hidden;
	}
}

/* ヘッダー短縮 @ 250404 */
@media (max-width: 768px){
	:root{
		--g3-header-height: 50px;
	}
	.g3s-sitelogo-sh__concept{
		display: none;
	}
	.g3s-sitelogo-sh__icon{
		width: calc(16.66em * .8);
	}
}
/* ヘッダー短縮 */

/* @ Components */
.l3-title1{
	line-height: 1.33;
	font-weight: bold;
	border-bottom: .1875rem solid;
	margin: 0 0 1.875rem;
	padding-bottom: 1.875rem;
}
.l3-title1.g3-with-icon{
	display: flex;
	justify-content: flex-start;
}
.l3-title1.g3-with-icon:has(.l3-ruby){
	display: grid;
	grid-template-columns: auto 1fr;
	padding-bottom: 1.25em;
}
.l3-title1.g3-with-icon:has(.l3-ruby) .l3-ruby{
	line-height: 1;
	font-size: .666em;
	grid-column: 2;
}
@media (min-width: 769px){
	.l3-title1{
		font-size: 1.25em;
	}
}
@media (max-width: 768px){
	.l3-title1{
		font-size: 1em;
		margin-left: -5vw;
		margin-right: -5vw;
		padding-left: 6vw;
		padding-right: 6vw;
	}
}



/* @ wrap */
.g3-shotels > *{
	margin-top: 0;
	margin-bottom: 0;
}
.g3-shotels > * + *{
	margin-top: 5.625rem;
}



/* @ Hotel Header */
.l3-hotel__gallery{
	position: relative;
	z-index: 0;
}
/* .l3-hotel__gallery::before{
	content: "";
	background: #fff;
	position: absolute;
	z-index: 1;
} */
@media (min-width: 769px){
	.l3-header{
		display: flex;
		position: relative;
		z-index: 0;
		max-height: 48.75rem;
	}
	.l3-header > *{
		box-sizing: border-box;
	}
	.l3-header > .l3-hotel__gallery{
		order: 1;
		flex: 1 1 60%;
		border-radius: 0 0 1.5rem;
		overflow: hidden;
	}
	.l3-header > .l3-hotel__summary{
		flex: 1 1 40%;
		align-self: flex-end;
		z-index: 1;
		background: #fff;
		border-top-right-radius: 1.25rem;
		margin: 5.5rem -5.5rem 0 0;
		padding: 3.75rem 1.75rem 3.75rem 0;
	}
}
@media (max-width: 768px){
	.l3-header > * + *{
		margin-top: 1.5em;
	}
	.l3-header > .l3-hotel__gallery{
		margin-right: -5vw;
	}
	.l3-hotel__gallery::before{
		content: "";
		background: #fff;
		position: absolute;
		z-index: 1;
		left: -1px;
		bottom: -1px;
		width: 64%;
		height: 3.125em;
		border-radius: 0 1.25rem 0 0;
	}
}

/* @ Hotel Header reserve */
@media (min-width: 769px){
	.l3-hotel__reserve{
		margin-right: calc(5.5rem - 1.75rem);
	}
}

/* & Slick */
.l3-hotel__slide.slick-slider{}
@media (min-width: 769px){
	.l3-hotel__slide.slick-slider,
	.l3-hotel__slide.slick-slider .slick-list,
	.l3-hotel__slide.slick-slider .slick-track,
	.l3-hotel__slide.slick-slider .slick-slide > div,
	.l3-hotel__slide.slick-slider .slick-slide > div > *,
	.l3-hotel__slide.slick-slider .slick-slide > div > * img{
		height: 100%;
	}
	.l3-hotel__slide.slick-slider .slick-slide > div > * img{
		width: 100%;
		object-fit: cover;
	}
}
.l3-hotel__slide.slick-slider .slick-dots{
	color: #fff;
	
	display: flex;
	justify-content: center;
	
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	
	list-style: none;
	margin: 0;
	padding: 0;
}
.l3-hotel__slide.slick-slider .slick-dots > *{
	flex: 0 0 auto;
}
.l3-hotel__slide.slick-slider .slick-dots > * + *{
	margin-left: .75rem;
}
.l3-hotel__slide.slick-slider .slick-dots button{
	text-indent: -100vw;
	overflow: hidden;
	border: 2px solid #fff;
	border-radius: 100vw;
	background: inherit;
	width: 1rem;
	height: 1rem;
	padding: 0;
}
.l3-hotel__slide.slick-slider .slick-dots button:hover{
	background: rgba(255,255,255,.5);
}
.l3-hotel__slide.slick-slider .slick-dots .slick-active button{
	background: #fff;
}
@media (max-width: 768px){
	.l3-hotel__slide.slick-slider .slick-dots{
		left: 64%;
	}
	.l3-hotel__slide.slick-slider .slick-list{
		/* aspect-ratio: 1; */
		aspect-ratio: 7 / 5;
	}
	@supports not (aspect-ratio: 1){
		.l3-hotel__slide.slick-slider .slick-list{
			min-height: 100vw;
		}
	}
	.l3-hotel__slide.slick-slider .slick-list,
	.l3-hotel__slide.slick-slider .slick-track,
	.l3-hotel__slide.slick-slider .slick-slide,
	.l3-hotel__slide.slick-slider .slick-slide > div,
	.l3-hotel__slide.slick-slider .slick-slide > div > li{
		display: flex;
	}
	.l3-hotel__slide.slick-slider .slick-slide{
		height: auto !important;
	}
	.l3-hotel__slide.slick-slider .slick-slide > div{
		flex: 1 1 auto;
	}
	.l3-hotel__slide.slick-slider .slick-slide img{
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: right center;
	}
	.l3-hotel__slide.slick-slider *{
		box-sizing: border-box;
	}
}



/* @ Header > Slide */
.l3-hotel__slide{
	list-style: none;
	margin: 0;
	padding: 0;
}
.l3-hotel__slide .slick-dots{
	display: flex;
	justify-content: center;
}



/* @ Header > Free HTML area */
.l3-free-html{}
.l3-free-html a[href]{
	color: inherit;
}
.l3-free-html a[href]:hover{
	text-decoration: none;
}



.l3-hotel__summary{}
.l3-hotel__summary > *{
	margin-top: 0;
	margin-bottom: 0;
}
.l3-hotel__summary > * + *{
	margin-top: 2.5rem !important;
}
.l3-hotel__catch{
	/* line-height: 1.5;
	font-size: 1.125em;
	font-weight: bold;
	color: #F6AB00;
	margin: 0; */
}
.l3-hotel__contact{
	font-style: normal;
}
.l3-hotel__contact > *{
	margin: 0;
}
.l3-hotel__contact a{
	color: inherit;
}
.l3-hotel__contact a:not(:hover){
	text-decoration: none;
}
.l3-hotel__contact .g3-with-icon > img{
	margin-top: .25rem;
	margin-bottom: .25rem;
}
.l3-hotel__checkin{}

.l3-hotel-name{
	line-height: 1.33;
	font-weight: normal;
	margin: 0;
}
.l3-hotel-name::first-line{
	font-size: .9em;
}
.l3-hotel-name__ruby{
	font-size: .4375em;
	margin-top: .75em;
}

.l3-hotel-facility{
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 0 0 -1em -1em;
	padding: 0;
}
.l3-hotel-facility > *{
	line-height: 1.33;
	font-weight: bold;
	color: #fff;
	background: #000;
	border-radius: 100vw;
	overflow: hidden;
	display: table;
	margin: 0 0 1em 1em;
	padding: .75em 1.25em;
}
/* .l3-hotel-facility__more{
	color: inherit;
}
.l3-hotel-facility__more:not(:hover){
	text-decoration: none;
} */
.g3-btn--hotel-facility{
	border-radius: 100vw;
	margin: -.75em -1.25em;
	padding: .75em 1.25em;
}
.l3-hotel-tel{
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
}
.l3-hotel-tel > * + *{
	margin-left: 2.5em;
}
@media (min-width: 769px){
	.l3-hotel-name{
		font-size: 1.8em;
	}
	.l3-hotel__contact{
		font-size: .875em;
	}
	.l3-hotel__address{
		font-size: 1.28em;
	}
	.l3-hotel-facility > *{
		font-size: .75em;
	}
}
@media (max-width: 768px){
	.l3-hotel-name{
		font-size: 1.66em;
	}
	.l3-hotel-facility > *{
		font-size: .833em;
	}
}



/* @ Feature */
.l3-feature-list{
	list-style: none;
	margin: 0;
	padding: 0;
}
/* @media (max-width: 768px){
	.l3-feature-list{
		display: flex;
		overflow: auto;
		margin-left: -5vw;
		margin-right: -5vw;
		padding-left: 6vw;
		padding-right: 6vw;
		scroll-snap-type: x mandatory;
	}
	.l3-feature-list > *{
		scroll-snap-align: center;
	}
} */



.l3-feature{
	flex: 1 1 0;
}
.l3-feature:not(:first-child){
	margin-left: 2.5rem;
}
@media (max-width: 768px){
	.l3-feature:not(:first-child){
		margin-left: 0;
	}
}
.l3-feature > *{
	margin: 0;
}
/* .l3-feature > * + *{
	margin-top: 1rem;
} */
.l3-feature__more{
	color: inherit;
	text-decoration: inherit;
	display: flex;
	flex-direction: column;
}
.l3-feature__more > * + *{
	margin-top: 1rem;
}
.l3-feature__title{
	line-height: 1.33;
	display: flex;
	flex-direction: column;
}
.l3-feature__number{
	font-size: .7em;
}
.l3-feature__desc{
	/* overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3; */
}
.l3-feature__more[href]:not(:hover) .l3-feature__desc{
	text-decoration: underline;
}
.g3-zoom-img--feature{
	border-radius: .375rem;
}
.l3-feature__image{
	width: 100%;
	object-fit: cover;
	aspect-ratio: 1 / .75;
	border-radius: .375rem;
}
.l3-feature__note{}
@media (min-width: 769px){
	.l3-feature{
		font-size: .875em;
	}
	.l3-feature__title{
		font-size: 1.42em;
	}
}
@media (max-width: 768px){
	.l3-feature{
		flex: 0 0 60%;
	}
	.l3-feature__title{
		font-size: 1.25em;
		font-weight: normal;
	}
	.l3-feature__more{
		height: 100%;
	}
	.g3-zoom-img--feature{
		margin-top: auto;
	}
}

/* & Slick */
.l3-feature-list.slick-slider{
	z-index: 0;
}
.l3-feature-list.slick-slider .slick-slide > div{
	flex: 1 1 auto;
	margin-left: 20px;
	margin-right: 20px;
}
.l3-feature-list.slick-slider .slick-list,
.l3-feature-list.slick-slider .slick-track,
.l3-feature-list.slick-slider .slick-slide,
.l3-feature-list.slick-slider .slick-slide > div{
	box-sizing: border-box;
	display: flex;
}
.l3-feature-list.slick-slider .l3-feature,
.l3-feature-list.slick-slider .l3-feature__more{
	height: 100%;
}
.l3-feature-list.slick-slider .g3-zoom-img--feature{
	margin-top: auto;
}
.l3-feature-list.slick-slider .slick-dots{
	display: flex;
	justify-content: center;
	list-style: none;
	margin: 2.5em 0 0;
	padding: 0;
}
.l3-feature-list.slick-slider .slick-dots > * + *{
	margin-left: 1em;
}
.l3-feature-list.slick-slider .slick-dots button{
	text-indent: -100vw;
	overflow: hidden;
	background: #ddd;
	border: inherit;
	border-radius: 100vw;
	display: block;
	width: 1.25rem;
	height: .5rem;
}
.l3-feature-list.slick-slider .slick-dots button:hover{
	background: #bbb;
}
.l3-feature-list.slick-slider .slick-dots .slick-active button{
	background: #435259;
}
.l3-feature-list.slick-slider .slick-arrow{
	text-indent: -100vw;
	overflow: hidden;
	border-radius: 2.5rem;
	width: 2.5rem;
	height: 2.5rem;
	border: inherit;
	background: #fff;
	position: absolute;
	z-index: 1;
	top: 2rem;
	bottom: 0;
	margin: auto 0;
	
	transition: 333ms cubic-bezier(.25, 1, .5, 1);
	transition-property: color background opacity visibility;
}
.l3-feature-list.slick-slider .slick-arrow::before{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: .33em;
	height: .33em;
	margin: auto;
	border: solid;
	border-width: 2px 2px 0 0;
}
.l3-feature-list.slick-slider .slick-arrow:hover{
	color: #fff;
	background: #F6AB00;
}
.l3-feature-list.slick-slider .slick-prev{
	left: 0;
}
.l3-feature-list.slick-slider .slick-next{
	right: 0;
}
.l3-feature-list.slick-slider .slick-prev::before{
	transform: rotate(-135deg);
}
.l3-feature-list.slick-slider .slick-next::before{
	transform: rotate(45deg);
}
.l3-feature-list.slick-slider .slick-arrow.slick-disabled{
	opacity: 0;
	visibility: hidden;
}

.l3-btn-gallery{
	line-height: 1.25;
	display: grid;
	grid-template-columns: 1fr auto;
	border-radius: 3em;
	overflow: hidden;
}
.l3-btn-gallery::after{
	content: "";
	width: .5em;
	height: .5em;
	border-style: solid;
	border-width: 2px 2px 0 0;
	align-self: center;
	transform: rotate(45deg);
}

/* v2 */
.g3-nav--gallery2 > *{
	max-width: fit-content;
}
.l3-btn-gallery2{
	line-height: 1.5;
	font-size: 1.455em;
	font-weight: bold;
	border: 1px solid #B3B3B3;
	border-radius: .5em;
	box-shadow: 0 .3em .4375em 0 rgb(0 0 0 / .1);
	padding: 1.25em 1.25em 1.25em 0;
	
	display: flex;
	align-items: center;
	gap: .75em;
	
	transition: 333ms cubic-bezier(0.34, 1.56, 0.64, 1);
	
	@media (max-width: 768px){
		font-size: 1em;
	}
	
	&:hover{
		scale: 1.05;
	}
	
	&::before{
		content: "";
		width: 1.718em;
		aspect-ratio: 1;
		background: url(../_img3/s_hotels/icon-gallery.svg) no-repeat center / contain;
	}
	&::after{
		content: "";
		width: .5em;
		aspect-ratio: 1;
		border-style: solid;
		border-width: 2px 2px 0 0;
		rotate: 45deg;
	}
}

.l3-btn-gallery2__photo{
	order: -1;
	margin-block: -100%;
	margin-inline-start: -1.25em;
	max-width: 30%;
}



/* @ Information */
.l3-information{
	position: relative;
	z-index: 0;
}
.l3-information::before{
	content: "";
	display: block;
	position: absolute;
	z-index: -1;
	inset: 0 50% 0 0;
	background: #F5F2ED;
}
.g3-sitewidth--information{
	background: #F5F2ED;
	border-radius: 0 2.25rem 2.25rem 0;
	box-sizing: border-box;
}
.l3-info-header{
	line-height: 1;
	letter-spacing: .333em;
	color: #B29A73;
	border-right: 1px solid;
	align-self: start;
	-ms-writing-mode: tb-lr;
	writing-mode: vertical-lr;
	margin: 0;
	padding-right: 1em;
}
@media (min-width: 769px){
	.g3-sitewidth--information{
		padding: 3.75rem;
		padding-left: 0;
	}
}
@media (max-width: 768px){
	.g3-sitewidth--information{
		padding: 1.875rem;
		padding-left: 0;
	}
	.l3-info-header{
		font-size: 1em;
	}
}



/* @ Information > Grid */
.l3-info-grid{
	display: grid;
	grid-template-columns: auto 1fr;
}
.l3-info-grid > .l3-info-header{
	grid-area: info-header;
}
.l3-info-grid > .l3-info-facility{
	grid-area: info-facility;
}
.l3-info-grid > .l3-info-news{
	grid-area: info-news;
}
.l3-info-grid > .l3-info-plan{
	grid-area: info-plan;
}

@media (min-width: 769px){
	.l3-info-grid{
		grid-gap: 3.75rem;
		grid-template-areas: "info-header info-facility" "info-header info-news" "info-header info-plan";
	}
}
@media (max-width: 768px){
	.l3-info-grid{
		grid-gap: 2.5rem 1.25rem;
		grid-template-areas: "info-header info-facility" "info-news info-news" "info-plan info-plan";
	}
}



/* @ Information > Facility */
.l3-info-facility{}
.l3-info-facility__item{
	font-size: .875em;
}
.l3-info-facility__item > *{
	margin: 0;
}
.l3-info-facility__item > * + *{
	margin-top: .5rem;
}
.g3-btn--facility-title{
	font-size: .875em;
	overflow: hidden;
	border-radius: 100vw;
	align-self: flex-start;
}
.l3-info-facility__title{
	line-height: 1.33;
	font-size: .875em;
	color: #fff;
	background: #000;
	border-radius: 100vw;
	display: table;
	padding: .75em 1.25em;
}
.l3-info-facility__more{
	text-decoration: inherit;
	color: inherit;
}
.l3-info-facility__more > *{
	flex: 0 0 auto;
}
@media (min-width: 769px){
	.l3-info-facility{
		display: flex;
		flex-wrap: wrap;
	}
	.l3-info-facility > *{
		flex: 1 1 25%;
		max-width: 50%;
		box-sizing: border-box;
	}
	.l3-info-facility > *:not(:nth-child(3n+1)){
		border-left: 1px solid;
		margin-left: 3rem;
		padding-left: 3rem;
	}
	.l3-info-facility > *:nth-child(n + 4){
		margin-top: 1.5rem;
	}
}
@media (max-width: 768px){
	.l3-info-facility{}
	.l3-info-facility__item{}
	.l3-info-facility__item:not(:first-child){
		border-top: 1px solid;
		margin-top: 1.25rem;
		padding-top: 1.25rem;
	}
}



/* @ Information > News */
.l3-info-news{
	overflow: hidden;
}
.l3-news-list{
	border: solid #888;
	border-width: 1px 0;
	list-style: none;
	margin: 0;
	padding: 0;
}
.l3-news-list > *{
	padding: 1rem .5rem;
}
.l3-news-list > * + *{
	border-top: 1px solid #888;
}
.l3-news__more{
	color: inherit;
	overflow: hidden;
}
.l3-news__date{
	font-size: .75em;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
	color: #333;
}
.l3-news__summary{
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.l3-news__more.js3-news__toggle{
	cursor: pointer;
}
.l3-news__more:not(:hover){
	text-decoration: none;
}
@media (min-width: 769px){
	.l3-news,
	.l3-news__more{
		display: flex;
		align-items: center;
		gap: 1rem;
	}
}
@media (max-width: 768px){
	.l3-news,
	.l3-news__more{
		display: grid;
		grid-template-areas: "news-date news-icon" "news-note news-icon";
		grid-template-columns: 1fr auto;
		grid-template-rows: auto 1fr;
		grid-auto-flow: column;
		grid-gap: 0 1em;
	}
	.l3-news__more{
		grid-column: 1 / span 2;
		grid-row: 1 / span 2;
	}
	.l3-news__date{
		grid-area: news-date;
	}
	.l3-news__icon{
		grid-area: news-icon;
		align-self: center;
		max-height: 1.5rem;
	}
}



/* @ Information > News detail */
.l3-news-detail{}
.l3-news-detail__head{
	background: #fff;
	display: flex;
	justify-content: space-between;
	position: sticky;
	top: -1.875rem;
	margin: -1.875rem -1.875rem 1.875rem -1.875rem;
	padding: 1.5em;
}
.l3-news-detail__title{
	margin: 0;
	padding-right: 1.5em;
}
.l3-news-detail__body > *{
	margin: 0;
}
.l3-news-detail__body > * + *{
	margin-top: 2.5rem;
}

@media (max-width: 768px){
	.g3-modal--news-detail{
		align-items: flex-end;
		padding-bottom: 10vw;
	}
}



/* @ Information > Plan */
@media (min-width: 769px){
	.l3-info-plan{
		display: flex;
		flex-wrap: wrap;
		margin: 0 0 -5% -5%;
	}
	.l3-info-plan > *{
		flex: 0 0 45%;
		margin: 0 0 5% 5%;
	}
}
@media (max-width: 768px){
	.l3-info-plan > * + *{
		margin-top: 2rem;
	}
}

.l3-plan{
	text-decoration: inherit;
	color: inherit;
	display: block;
}
.l3-plan > *{
	margin: 0;
}
.l3-plan > * + *{
	margin-top: .25rem;
}
.l3-plan__title{
	line-height: 1.33;
	font-weight: bold;
}
.g3-zoom-img--plan{
	border-radius: .5rem;
}
.l3-plan__banner{
	border-radius: .5rem;
	width: 100%;
}
.l3-plan__note{}
@media (min-width: 769px){
	.l3-plan__title{
		font-size: 1.25em;
	}
}
@media (max-width: 768px){
	.l3-plan__title{
		font-size: 1.125em;
	}
}



/* @ Facility */
.l3-facility{}
.l3-facility__icon{}



.l3-facility-tab{
	display: flex;
	margin: 0 0 0 -3.75rem;
}
.l3-facility-tab > *{
	font-weight: bold;
}
@media (min-width: 769px){
	.l3-facility-tab{
		margin: 0 0 0 -3.75rem;
	}
	.l3-facility-tab > *{
		margin: 0 0 0 3.75rem;
	}
}
@media (max-width: 768px){
	.l3-facility-tab{
		margin: 0 0 0 -1.875rem;
	}
	.l3-facility-tab > *{
		margin: 0 0 0 1.875rem;
	}
}

#l3-facility-switch--equip:checked ~ * [for=l3-facility-switch--equip],
#l3-facility-switch--rental:checked ~ * [for=l3-facility-switch--rental],
#l3-facility-switch--supply:checked ~ * [for=l3-facility-switch--supply]{
	color: #F6AB00;
}



.l3-facility-list{
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 0 0 -1rem -1rem;
	padding: 0;
}
.l3-facility-list > *{
	line-height: 1.33;
	border: 1px solid #ccc;
	border-radius: .375rem;
	margin: 0 0 1rem 1rem;
	padding: .5rem 1rem;
	animation: g3-fadein 666ms cubic-bezier(.25, 1, .5, 1);
}
#l3-facility-switch--equip:not(:checked) ~ #l3-facility--equip,
#l3-facility-switch--rental:not(:checked) ~ #l3-facility--rental,
#l3-facility-switch--supply:not(:checked) ~ #l3-facility--supply{
	display: none;
}
@media (min-width: 769px){
	.l3-facility-list > *{
		font-size: 1.125em;
	}
}
@media (max-width: 768px){
	.l3-facility-list > *{
		font-size: .825em;
	}
}






/* @ Reserve */
.g3-sitewidth--reserve{
	max-width: 760px;
}

.l3-reserve{
	background: #f5f2ed;
	padding: 3.75rem 0;
}
.l3-reserve-button{
	line-height: 1.33;
	font-weight: bold;
	text-align: center;
	text-decoration: inherit;
	color: #fff;
	background: linear-gradient(#F6AB00, #EF8400);
	box-shadow: 0 2px 4px rgba(0,0,0,.5);
	border-radius: .625rem;
	position: relative;
	z-index: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 1em;
	
	transition: transform 333ms cubic-bezier(0.34, 1.56, 0.64, 1);
}
.l3-reserve-button:hover{
	transform: scale(1.05);
}
.l3-reserve-button::after{
	content: "";
	border: solid;
	border-width: .25em .25em 0 0;
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	right: 1em;
	bottom: 0;
	width: .5em;
	height: .5em;
	margin: auto 0;
}
.l3-reserve-button__lead{
	font-size: .75em;
	color: #EF8600;
	background: #fff;
	border-radius: .5rem;
	position: absolute;
	top: 0;
	transform: translateY(-50%);
	padding: .5em 1em;
}
@media (min-width: 769px){
	.l3-reserve-button{
		font-size: 1.75rem;
	}
}
@media (max-width: 768px){
	.l3-reserve-button{
		font-size: 1.25rem;
	}
}


.l3-reserve-aside{
	display: flex;
}
.l3-reserve-aside__more{
	line-height: 1.33;
	color: inherit;
}
.l3-reserve-aside__more:hover{
	text-decoration: none;
}
@media (min-width: 769px){
	.l3-reserve-aside{
		justify-content: space-between;
	}
	.l3-reserve-aside > * + *{
		margin-left: 1em;
	}
	.l3-reserve-aside__more{
		font-size: 1.3125em;
	}
}
@media (max-width: 768px){
	.l3-reserve-aside{
		flex-direction: column;
	}
	.l3-reserve-aside > *{
		text-align: center;
		text-decoration: none;
		background: #fff;
		border: 1px solid #ccc;
		border-radius: .375em;
		margin-left: 14%;
		margin-right: 14%;
		padding: .75em;
	}
	.l3-reserve-aside > * + *{
		margin-top: .75em;
	}
}



/* @ reserve (Optima Renewal) */
.l3-reserve__optima-renewal{
	background: #E4DED4;
	margin-top: -3.75rem;
	margin-bottom: 3.75rem;
	padding-block: 1.875em;
}



/* @ Enjoy */
.l3-enjoy{
	
}
.l3-enjoy-nav{
	display: flex;
}
.l3-enjoy__more{
	line-height: 1.33;
	text-decoration: inherit;
	color: inherit;
	flex: 1 1 0;
	background: #fff;
	border-radius: .375rem;
	box-shadow: 0 2px 4px rgba(0,0,0,.25);
	padding: 1.875rem;
}
@media (min-width: 769px){
	.l3-enjoy-nav > * + *{
		margin-left: 1.66%;
	}
	.l3-enjoy__more{
		font-size: 1.5em;
	}
	.l3-enjoy__more.g3-with-icon > img{
		max-width: none;
	}
}
@media (max-width: 768px){
	.l3-enjoy-nav{
		flex-direction: column;
	}
	.l3-enjoy-nav > * + *{
		margin-top: 1rem;
	}
	.l3-enjoy__more.g3-with-icon > img{
		max-width: 3em;
	}
}



/* Enjoy > Old Style */
.l3-around-info{
	position: relative;
	z-index: 0;
	padding-top: 4em;
	padding-bottom: 4em;
	margin-bottom: 4em;
	background-color: #e8e8e8;
}
.l3-around-info__category{
	margin-top: 2.5em;
	margin-bottom: 2.5em;
	animation: kf-fadein 640ms ease-out;
}

.l3-around-info__title{
	font-size: 1.75em;
	font-weight: normal;
}
.l3-around-info__items{
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
}
.l3-around-info__item{
	flex: 0 0 auto;
	overflow: hidden;
	border-radius: .75em;
	background-color: #fff;
	box-shadow: 0 0 .6em rgba(0, 0, 0, .6);
}
.l3-around-info__item:not(:first-child){
	margin-left: 3em;
}
.l3-around-info__more{
	display: block;
	padding: 1.5em;
	color: inherit;
	text-decoration: inherit;
}
.l3-around-info__figure{
	margin-top: -1.5em;
	margin-left: -1.5em;
	margin-right: -1.5em;
	margin-bottom: 1em;
}
.l3-around-info__thumb{
	height: 240px;
	margin-left: auto;
	margin-right: auto;
}
@supports (object-fit: cover){
	.l3-around-info__thumb{
		min-width: 100%;
		object-fit: cover;
	}
}
@media all and (-ms-high-contrast:none){
	.l3-around-info__figure{
		background-size: cover;
		background-repeat: no-repeat;
		background-position: center center;
	}
	.l3-around-info__thumb{
		visibility: hidden;
	}
}
.l3-around-info__name{
	margin: 0;
	padding: 0;
}
.l3-around-info__button{
	display: inline-flex;
	align-items: center;
	color: #A28137;
}
.l3-around-info__button:before{
	content: "→";
	display: block;
	border: 1px solid;
	font-size: .8em;
	width: 1em;
	height: 1em;
	line-height: 1em;
	margin-right: .5em;
	padding: .25em;
	border-radius: 999em;
}

@media (min-width: 769px){
	.l3-around-info{
		overflow: hidden;
	}
	.l3-around-info__category:nth-child(even) .l3-around-info__item{
		width: 400px !important;
	}
	.l3-around-info__category:nth-child(odd) .l3-around-info__item{
		width: 600px !important;
	}
}

@media (max-width: 768px){
	.l3-around-info__items{
		padding: .6em;
	}
	.l3-around-info__item{
		max-width: 60vw;
	}
	.l3-around-info__thumb{
		width: 100%;
		height: 120px;
		object-fit: cover;
	}
	.l3-around-info__scroller{
		overflow: auto;
	}
}

/* slick custom */
.l3-around-info__items.slick-slider .slick-slide > div{
	padding: .6em;
	margin-left: 1em;
	margin-right: 1em;
}

.l3-around-info__items.slick-slider .slick-arrow{
	cursor: pointer;
	position: absolute;
	z-index: 1;
	top: 0;
	bottom: 0;
	margin-top: auto;
	margin-bottom: auto;
	text-indent: -999em;
	overflow: hidden;
	color: #fff;
	width: 3em;
	height: 3em;
	box-sizing: border-box;
	padding: 0;
	border: 0;
	background-color: transparent;
	border-style: solid;
	border-width: 0 0 1px 1px;
}
.l3-around-info__items.slick-slider .slick-prev{
	left: 1.5em;
	transform: rotate(45deg);
}
.l3-around-info__items.slick-slider .slick-next{
	right: 1.5em;
	transform: rotate(-135deg);
}



/* @ Access */
#navitime-package{
	width: 100%;
	border: 0;
}



/* @ Important news */
.l3-important-news{
	position: sticky;
	z-index: 1;
	bottom: 1rem;
	transition: 666ms cubic-bezier(.25, 1, .5, 1);
}
@media (max-width: 768px){
	.l3-important-news{
		bottom: calc(1rem + var(--g3-footer-psnmenu-height));
	}
}
#important-news:checked ~ .l3-important-preview{
	opacity: 0;
	visibility: hidden;
}
.l3-important-news:has(#important-news:checked){
	position: static;
}



/* @ Important news > Preview */
.l3-important-preview{
	display: flex;
	align-items: center;
	border-radius: .5rem;
	background: rgba(255, 255, 255, .9);
	box-shadow: 0 2px 4px rgba(0, 0, 0, .5);
	margin-left: auto;
	padding: 1rem;
	transition: background 333ms cubic-bezier(.25, 1, .5, 1);
}
.l3-important-preview:hover{
	outline: 3px solid #f6ab00;
}
@supports (backdrop-filter: blur(1px)){
	.l3-important-preview{
		-webkit-backdrop-filter: blur(.25rem);
		backdrop-filter: blur(.25rem);
		background: rgba(255, 255, 255, .8);
	}
}
/* .l3-important-preview:hover{
	background: linear-gradient(90deg, rgba(255, 255, 255, .8) 33%, #f6ab00 66%, rgba(255, 255, 255, .8)) repeat-x left top / 200% auto;
	animation: scroller 3s linear infinite;
}
@keyframes scroller{
	from{ background-position: 0 0; }
	to{ background-position: -200% 0; }
} */
.l3-important-preview::after{
	content: "";
	border: solid;
	border-width: .125rem .125rem 0 0;
	flex: 0 0 auto;
	display: block;
	width: .5em;
	height: .5em;
	transform: rotate(-45deg) translateY(33%);
	margin-left: 1rem;
}
.l3-important-preview > * + *{
	margin-left: 1rem;
}
.l3-important-preview__head{
	flex: 0 0 auto;
}
.l3-important-preview__note{
	flex: 1 1 auto;
	/* text-overflow: ellipsis; */
	white-space: nowrap;
	overflow: hidden;
	opacity: .6;
}
.l3-important-preview__note br{
	display: none;
}
.l3-important-preview__marquee{
	animation: g3-marquee 18s linear infinite;
	display: inline-block;
	margin: 0;
	padding-left: 100%;
}
@media (min-width: 769px){
	.l3-important-preview{
		max-width: 25rem;
	}
}
@keyframes g3-marquee{
	/* from{ text-indent: 100%; }
	to	{ text-indent: -100% } */
	from{ transform: translateX(0); }
	to	{ transform: translateX(-100%); }
}



/* @ Around */
.l3-around{
	
}
.l3-around-list{
	display: flex;
	margin-left: -1%;
}
.l3-around__more{
	text-decoration: inherit;
	color: inherit;
	margin-left: 1%;
}
.l3-around__more > *{
	margin: 0;
}
.l3-around__more > * + *{
	margin-top: .25rem;
}
.g3-zoom-img--around{
	border-radius: .3125rem;
}
.l3-around__thumb{
	border-radius: .3125rem;
	width: 100%;
}
.l3-around__name{
	line-height: 1.33;
	font-weight: bold;
}
.l3-around__desc{
	font-size: .8125em;
}

.l3-around__pageback{
	margin-top: 1.875rem;
}
.g3-btn--around-hotel{
	box-sizing: border-box;
	width: fit-content;
	min-width: min(18em, 100%);
	margin-inline: auto;
}

@media (min-width: 769px){
	.l3-around__more{
		flex: 0 0 19%;
	}
}
@media (max-width: 768px){
	.l3-around-list{
		overflow: auto;
		margin-left: -5vw;
		margin-right: -5vw;
		padding-left: 6vw;
		padding-right: 6vw;
	}
	.l3-around__more{
		flex: 0 0 45%;
	}
}



/* @ FAQ */
.faq-fold{
	&:where(.faq-fold[open]) > summary + *{
		animation: g3-fadein 333ms ease;
	}
}
.faq-fold__toggle{
	cursor: pointer;
	list-style: none;
	background: #f8f8f8;
	padding-inline: 1rem;
	display: flex;
	justify-content: space-between;
	gap: 1em;
	
	&::after{
		content: "＋";
	}
	&:where(.faq-fold[open] *)::after{
		content: "－";
		padding-bottom: 1rem;
	}
}
.faq-fold__toggle::-webkit-details-marker{
	display: none;
}


.l3-faq{
	--faq-gutter: 1.875rem;
}
@media (max-width: 768px){
	.l3-faq{
		--faq-gutter: 1rem;
	}
}

.l3-faq__list:where(ul, ol){
	list-style: none;
	padding-left: 0;
}
.l3-faq__list > *{
	border: var(--faq-gutter) solid #f8f8f8;
	border-radius: 1em;
}
.l3-faq__list > * + *{
	margin-top: calc(var(--faq-gutter) * .5);
}
.l3-faq__list > * > *{
	margin-block: 0;
}
.l3-faq__title{
	font-size: 1.125em;
	font-weight: bold;
	display: flex;
	margin: 0;
}
.l3-faq__title::before{
	content: "Q";
	font-family: serif;
	margin-right: .75em;
}
.l3-faq__body{
	padding: 1rem;
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0 .75rem;
	
	& > *{
		grid-column: 2;
	}
}
.l3-faq__body::before{
	content: "A";
	font-size: 1.25em;
	font-family: serif;
	grid-column: 1;
}
.l3-faq__body > *{
	margin-block: 0;
}
.l3-faq__body > * + *{
	margin-top: 1rem;
}



/* @ cross link banner */
.g3-sitewidth--crosslinkbanner{
	/* max-width: 760px; */
}
.l3-crosslink-banner{
	margin-block: 0;
	padding-left: 0;
	list-style: none;
}
.l3-crosslink-banner img{
	width: 100%;
	max-width: 340px;
	box-shadow: 0 4px 6px rgb(0 0 0 / .1);
	margin-bottom: 10px;
}

.l3-crosslink-banner .slick-dots{
	margin-block: 1.875em 0;
	padding-left: 0;
	
	display: flex;
	justify-content: center;
	gap: .666em;
}
.l3-crosslink-banner .slick-dots li{
	list-style: none;
}
.l3-crosslink-banner .slick-dots button{
	color: orange;
	color: #113881;
	color: #999;
	
	display: block;
	padding: unset;
	text-indent: -100vmax;
	overflow: hidden;
	
	background: unset;
	border: 1px solid;
	border-radius: 100vmax;
	
	width: 1em;
	height: 1em;
}
.l3-crosslink-banner .slick-dots .slick-active button{
	background: currentColor;
}
.l3-crosslink-banner .slick-slide div{
	text-align: center;
	margin-inline: .5em;
}



/* 仙台ABテスト(結びスタ) @ 250829
______________________________ */

/* tab */
.h3-toolbar-tab{
	font-weight: bold;
	text-decoration: none;
	writing-mode: vertical-lr;
	color: inherit;
	background: white;
	border-style: solid;
	border-width: 1px 0 1px 1px;
	border-color: #ddd;
	border-radius: .5em 0 0 .5em;
	box-shadow: 0 0 .5em rgb(0 0 0 / .25);
	padding: .75em;
	
	display: flex;
	align-items: center;
	gap: .75em;
	box-sizing: border-box;
}
@media (min-width: 769px){
	.h3-toolbar-tab{
		min-width: 4.5em;
	}
}
.h3-toolbar-tab--sightsee{
	background: #efe089;
}
.h3-toolbar-tab__icon{
	max-width: 2em;
}


/* pr banner */
.pr-banner{
	--radius: .75em;
	/* --gutter: 1.25em; */
	--gutter: 4.651162790697675vw;
	
	max-width: fit-content;
	margin-inline: auto var(--gutter);
	position: sticky;
	bottom: var(--gutter);
	margin-top: 3.75rem;
}
@media (max-width: 768px){
	.pr-banner{
		max-width: 50vw;
		bottom: calc(var(--g3-footer-psnmenu-height) + 1em);
	}
}
.pr-banner + *{
	margin-top: 0;
}
.pr-banner__toggle{
	line-height: 1;
	font-weight: bold;
	color: white;
	background: black;
	border: 3px solid;
	border-radius: 100vmax;
	width: 2em;
	height: 2em;
	position: absolute;
	top: 0;
	right: 0;
	translate: 22.5% -22.5%;
	
	display: grid;
	place-items: center;
}
.pr-banner__toggle:hover{
	border-color: #f6ab00;
}
#pr-banner:not(:checked) ~ * > .pr-banner__icon--close,
#pr-banner:checked ~ * > .pr-banner__icon--open{
	display: none;
}
#pr-banner:not(:checked) ~ .pr-banner__more{
	display: none;
}
.pr-banner__more{
	text-decoration: none;
	color: inherit;
	background: white;
	border: 3px solid white;
	border-radius: var(--radius);
	box-shadow: 0 .25em .25em rgb(0 0 0 / .25);
	box-sizing: border-box;
	max-width: 320px;
	display: block;
	/* padding: .625em; */
}
.pr-banner__more:hover{
	border-color: #f6ab00;
}
.pr-banner__more > *{
	margin-block: 0;
}
/* .pr-banner__more > * + *{
	margin-top: .5rem;
} */
.pr-banner__image{
	--rad: calc(var(--radius) * .75);
	border-radius: var(--rad) var(--rad) 0 0;
	width: 100%;
}
.pr-banner__note{
	line-height: 1.5;
	font-size: .75em;
	padding: 1em;
	
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: end;
	gap: 1em;
}
@media (max-width: 768px){
	.pr-banner__note{
		display: none;
	}
}




/* @ hotel spec information */
.l3-hotelspec-grid{
	border-style: solid;
	border-width: 1px 0 0 1px;
	border-color: #b29a73;
}
.l3-hotelspec-grid > *{
	align-content: center;
	border-style: solid;
	border-width: 0 1px 1px 0;
	border-color: #b29a73;
	padding: 1em;
}
.l3-hotelspec-grid__title{
	font-size: 1em;
	text-align: center;
	margin-block: 0;
	background: #f5f2ed;
}

.l3-hotelspec-grid__body :any-link{
	color: inherit;
	&:hover{
		text-decoration: none;
	}
}

@media (min-width: 1024px){
	.l3-hotelspec-grid{
		display: grid;
		grid-template-columns: repeat(2, .4fr .6fr);
	}
	.l3-hotelspec-grid__body{
		&:nth-child(4n + 2):last-child{
			grid-column: span 3;
		}
	}
}
@media (max-width: 1023px) and (min-width: 769px){
	.l3-hotelspec-grid{
		display: grid;
		grid-template-columns: repeat(1, .4fr .6fr);
	}
	.l3-hotelspec-grid__body{
		&:nth-child(4n + 2):last-child{
			grid-column: span 1;
		}
	}
}

/* @ hotel spec information > credit card */
.l3-creditcards{
	margin: 0;
	padding: 0;
	list-style: none;
	
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5em;
}
.l3-creditcards__item{
	max-width: 3.75em;
	max-height: 3.75em;
}



/* @ hotel spec information v2 */

/* for base.css */
.g3-link{
	text-decoration: underline;
	color: inherit;
	
	&:hover{
		text-decoration: none;
	}
}
/* for base.css */

.l3s-hotelspec-grid{
	border-image: linear-gradient(#F5F2ED 0 0) 1 fill / 1 / 0 100vw;
	padding-block: 2em;
	
	columns: 2;
	column-rule: 1px solid #8B867F;
	column-gap: 4em;
}

@media (max-width: 1180px){
	.l3s-hotelspec-grid{
		columns: 1;
	}
}

.l3s-hotelspec-grid__item{
	page-break-inside: avoid;
	
	&:not(:first-child){
		margin-top: 1.75em;
	}
	
	& > *{
		margin-block: 0;
	}
	
	& > :not(.l3s-hotelspec-grid__title) + *{
		margin-top: 1rem;
	}
}
.l3s-hotelspec-grid__title{
	
}
.l3s-hotelspec-grid__note{
	&:where(address){
		font-style: normal;
	}
}


.l3s-hotelspec__tel-fax{
	display: flex;
	flex-wrap: wrap;
	gap: 2em;
	
	&:where(ul, ol){
		padding-left: 0;
		list-style: none;
	}
}

.l3s-hotelspec__phone-icon{
	width: 1.5em !important;
}

.l3s-hotelspec-grid__alert{
	font-size: .875em;
	color: #933;
}

.l3s-creditcards{
	margin: 0;
	padding: 0;
	list-style: none;
	
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5em;
}
.l3s-creditcards__item{
	max-width: 3em;
	max-height: 3em;
	mix-blend-mode: multiply;
}



/* 2025 @ Custom
__________________ */

.g3-shotels--r7shotels{
	
	& > *{
		margin-block: 0;
	}
	& > * + *{
		margin-top: 7.5rem;
		
		&:where(nav){
			margin-top: 0;
		}
	}
	
	
	& :where(.l3-news-detail__title){
		padding-right: 0;
	}
	& :where(.l3-news-detail__head){
		gap: 1.5em;
	}
	& :where(.l3-news-detail__body > * + *){
		margin-top: 2.5rem;
	}
	
	
	& :where(.l3-news-list){
		border-block: none;
		
		& > *{
			border-top: none;
			border-bottom: 1px dashed #888;
		}
		
		& > :first-child{
			padding-top: 0;
		}
	}
	
	& :where(.l3-around){
		
		& :where(.l3-around-list){
			margin-inline: unset;
			
			display: grid;
			grid-template-columns: repeat(4, 1fr);
			gap: 2.5em;
			
			@media (max-width: 768px){
				padding-inline: unset;
				grid-template-columns: repeat(2, 1fr);
			}
		}
		
		& :where(.l3-around__more){
			line-height: 1.5;
			background: white;
			box-shadow: 0 .25em .25em rgba(0 0 0 / .15);
			border-radius: .333em;
			overflow: hidden;
			margin-left: unset;
			padding: 1em;
		}
		
		& :where(.g3-zoom-img--around){
			border-radius: unset;
			margin: -1em -1em 1em -1em;
		}
		& :where(.l3-around__thumb){
			border-radius: unset;
			width: 100%;
		}
		
	}
	
	
	& :where(.faq-fold__toggle){
		background: #F5F2ED;
	}
	
	& :where(.l3-faq__list > *){
		border: var(--faq-gutter) solid #F5F2ED;
	}
	
	
	& :where(.l3-hotel__address){
		font-size: 1em;
	}
	
	& :where(.l3-hotel__contact .g3-with-icon) > img{
		width: auto;
		max-width: 1.875em;
	}
	
}



/* 2025 @ Contents
__________________ */

/* hotel header */
.r7-hotel-header{
	margin-top: 2.5em;
}

.r7-basicinfo{
	display: grid;
	grid-template-columns: 1fr 64%;
	gap: 1em 3.75em;
}

@media (max-width: 768px){
	.r7-basicinfo{
		grid-template-columns: none;
	}
}

.r7-basicinfo__gallery{
	overflow: hidden;
}

.r7-basicinfo__summary{
	
}

@media (min-width: 769px){
	.r7-basicinfo__summary{
		order: -1;
	}
}

/* 一旦保留 */
/* @media (min-width: 769px){
	.r7-hotel-reserve{
		position: sticky;
		bottom: 1em;
	}
} */



/* hotel name */
.r7-ttl--hotelname{
	line-height: 1.25;
	font-size: 1.75em;
	
	position: relative;
	z-index: 0;
	
	display: grid;
	gap: .25em;
	
	&::before{
		content: "";
		border: 3px solid;
		border-image: linear-gradient(#404040 70%, #896743 0) 1;
		display: block;
		position: absolute;
		inset: 0 auto 0 -.75em;
	}
}

.r7-hotelname{
	
}
.r7-hotelname--main{
	
}
.r7-hotelname--ruby{
	font-size: max(.5em, .875rem);
	color: #5C5B5B;
}


/* hotel gallery */
.r7-hotelgallery{
	list-style: none;
	padding-left: 0;
	margin-block: 0;
}

.r7-hotelgallery__image{
	border-radius: .5em;
	width: 100%;
	object-fit: cover;
	aspect-ratio: 767 / 461;
	transition: 333ms ease;
	
	&:where(:any-link:hover *){
		filter: brightness(1.1);
	}
}

.r7-hotelgallery:not(.slick-slider){
	& > :nth-child(n + 2){
		display: none;
	}
}

.r7-hotelgallery:is(.slick-slider){
	
	& .slick-dots{
		list-style: none;
		padding-left: 0;
		
		max-width: 50%;
		margin: 1em auto 0;
		
		display: flex;
		gap: .5em;
	}
	
	& .slick-dots > *{
		flex: 1 1 0;
	}
	
	& .slick-dots button{
		font-size: 0;
		background: #D9D9D9;
		
		width: 100%;
		height: .5rem;
		border: none;
		border-radius: 100vmax;
		
		margin: 0;
		padding: 0;
		display: block;
		
		&:where(.slick-active *){
			background: #4B4B4B;
		}
	}
}



/* reserve form */
.r7-ttl--bestrate{
	font-weight: bold;
	color: white;
	background: #F6AA00;
	max-width: fit-content;
	border-radius: 100vmax;
	/* margin: 0 0 -1em 1.5em; */
	margin-block: 0;
	padding: .25em 1em;
	position: relative;
	z-index: 0;
}

.r7-ttl--hotel-reserve-form{
	font-size: 1.5em;
	font-weight: bold;
	margin-block: 0;
	align-self: center;
}

.r7-hotel-reserve{
	& > *{
		margin-block: 0;
	}
	& > * + *{
		margin-top: 1rem;
	}
}

.r7-hotel-reserve-form-wrap{
	display: grid;
	
	& > *{
		grid-area: 1/1;
	}
	
	& > :where(.r7-ttl){
		place-self: start;
		translate: 0 -50%;
		margin-left: 1.5em;
	}
}

.r7-hotel-reserve__form{
	background: #F8F8F8;
	border: 1px solid #D9D9D9;
	box-shadow: 0px 5px 15px 3px #0000001A;
	padding: 1.5em;
	
	display: flex;
	gap: 1.5em;
	
	& > *{
		flex: 1 1 fit-content;
	}
}

@media (max-width: 768px){
	.r7-hotel-reserve__form{
		flex-direction: column;
	}
}

.r7-hotel-reserve__fields{
	display: flex;
	flex-wrap: wrap;
	gap: .5em;
	
	& > *{
		border: 1px solid;
		flex: 1 1 fit-content;
		margin: 0;
	}
}

@media (max-width: 768px){
	.r7-hotel-reserve__fields{
		flex-wrap: wrap;
		flex: 1 1 fit-content;
	}
}

.r7-btn--hotel-reserve{
	background: #113881;
	color: white;
	border-radius: .5em;
}

.r7-list--hotel-reserve-notices{
	font-size: .875em;
	font-weight: bold;
	text-align: right;
	list-style: none;
}


/* htoel features */
.r7-hotelfeatures{
	list-style: none;
	padding-left: 0;
	
	counter-reset: i;
	
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2.5em 5.625em;
}

@media (max-width: 768px){
	.r7-hotelfeatures{
		grid-template-columns: none;
	}
}

.r7-hotelfeatures > *{
	counter-increment: i;
}

/* hotel feature */
.r7-hotelfeature__fig{
	position: relative;
	z-index: 0;
}
.r7-hotelfeature__fig::before{
	content: counter(i, decimal-leading-zero);
	line-height: 1;
	font-size: 4em;
	color: white;
	
	position: absolute;
	inset: .125em auto auto .125em;
}

.r7-hotelfeature__image{
	background: #eee;
	
	display: grid;
	place-items: center;
	width: 100%;
	
	border-radius: .25em;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.r7-ttl--hotelfeature{
	font-weight: bold;
}



/* amenities */
.r7-amenities{
	padding-left: 0;
	
	max-width: 950px;
	margin-inline: auto;
	
	display: grid;
	/* grid-template-columns: repeat(auto-fill, minmax(min(444px, 100%), 1fr)); */
	grid-template-columns: repeat(auto-fill, minmax(min(400px, 100%), 1fr));
	gap: 3.75em;
}

.r7-amenities > *{
	flex: 0 1 444px;
}


/* amenity grid */
.r7-amenity-grid{
	display: grid;
	grid-template-columns: 1fr 2fr;
	gap: 1.5em;
}
.r7-amenity-grid__image{
	
}
.r7-amenity-grid__body{
	
}
.r7-amenity-grid__body > *{
	margin-block: 0;
}
.r7-amenity-grid__body > * + *{
	margin-top: .25rem;
}


/* amenity */
.r7-amenity__image{
	border-radius: .25em;
	object-fit: cover;
	aspect-ratio: 1;
	width: 100%;
}
.r7-ttl--amenities{
	font-weight: bold;
}
.r7-list--amenity-notices{
	list-style: "※";
	font-size: .875em;
}


/* facilities group */
.r7-facilities-group{
	display: grid;
	grid-template-columns: auto 1fr;
}

.r7-facilities-group__item{
	border-bottom: 1px solid #ccc;
	margin-bottom: 1.25em;
	padding-bottom: 1.25em;
	
	display: grid;
	/* grid-template-columns: auto 1fr; */
	grid-template-columns: subgrid;
	grid-column: span 2;
	gap: 1em 3.75em;
}

@media (max-width: 768px){
	.r7-facilities-group__item{
		grid-template-columns: none;
	}
}

.r7-ttl--facilities-group{
	font-size: 1.25em;
	font-weight: bold;
	margin-block: 0;
}

.r7-facilities__icon{
	max-width: 64px;
	/* max-width: 40px; */
	/* max-width: 100%; */
	aspect-ratio: 1;
	object-fit: contain;
}


/* facilities */
.r7-facilities{
	list-style: none;
	padding-left: 0;
	
	display: grid;
	/* grid-template-columns: repeat(auto-fill, 7.5em); */
	/* grid-template-columns: repeat(auto-fill, minmax(7.5em, 1fr)); */
	/* grid-template-columns: repeat(auto-fill, minmax(6.75em, 1fr)); */
	/* grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); */
	grid-template-columns: repeat(auto-fill, minmax(min(120px, 100%), 1fr));
	/* grid-template-columns: repeat(auto-fill, minmax(9em, 1fr)); */
	gap: 1em;
}

@media (max-width: 768px){
	.r7-facilities{
		grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
	}
}

.r7-facilities > *{
	line-height: 1.5;
	font-size: .875em;
	text-align: center;
	text-wrap: balance;
	
	border: 1px solid #999;
	border-radius: .25em;
	padding: 1em;
	
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	align-self: stretch;
	gap: .25em;
	
	&:where([inert]){
		color: #999;
		background: #e3e3e3;
		
		& > *{
			opacity: .3;
		}
	}
}

/* facility notices */
.r7-list--facility-notices{
	list-style: "※";
	display: flex;
	flex-wrap: wrap;
	gap: 0 2.5em;
}

.r7-list--facility-notices > *{
	font-size: .75em;
}


/* @ Information > Facility */
.r7-info-facility{
	display: flex;
	gap: 1.5em 3.75em;
}
.r7-info-facility__item{
	font-size: .875em;
}
.r7-info-facility__item > *{
	margin: 0;
}
.r7-info-facility__item > * + *{
	margin-top: .5rem;
}
.g3-btn--facility-title{
	font-size: .875em;
	overflow: hidden;
	border-radius: 100vw;
	align-self: flex-start;
}
.r7-info-facility__title{
	line-height: 1.33;
	font-size: .875em;
	color: #fff;
	background: #000;
	border-radius: 100vw;
	display: table;
	padding: .75em 1.25em;
}
.r7-info-facility__more{
	text-decoration: inherit;
	color: inherit;
}
.r7-info-facility__more > *{
	flex: 0 0 auto;
}
@media (min-width: 769px){
	.r7-info-facility{
		flex-wrap: wrap;
	}
	.r7-info-facility > *{
		flex: 1 1 25%;
		max-width: 50%;
		box-sizing: border-box;
	}
}
@media (max-width: 768px){
	.r7-info-facility{
		flex-direction: column;
	}
	.r7-info-facility__item{}
}


/* important news @ custom */
/* .r7-important-news--not-modal{
	& .g3-btn-ghost1{
		border-color: currentColor;
	}
} */


/* important news */
.r7-important-news{
	background: #f8f8f8;
	border-radius: .5em;
	padding: 1.5em;
}

.r7-important-news--not-modal{
	line-height: 1.5;
	font-size: .875em;
	background: #F6C3C3;
	
	& :where(.l3-news-detail__head){
		background: none;
		
		margin: 0 0 1rem;
		padding: 0;
	}
}

.r7-important-news--top{
	& :where(.l3-news-detail__body > * + *){
		margin-top: 1rem;
	}
}


/* important news (list ver) */
.l3-news--important{
	background: #f6c3c3;
	border-bottom: 0;
	border-radius: .5em;
	padding: 1em 1.75em !important;
	
	&:not(:first-child){
		margin-top: 1em;
	}
	
	& .l3-news__more{
		flex-wrap: wrap;
		align-items: flex-start;
		row-gap: 0;
	}
	
	& .l3-news__summary{
		flex: 1 1 0;
	}
	
	& .l3-news__date{
		font-size: 1em;
		flex: 1 1 100%;
	}
	
}



/* manager news */
.g3-sitewidth--manager-news{
	max-width: 600px;
}


/* related news */
.g3-sitewidth--related-news{
	max-width: 950px;
}
.r7-related-news{
	padding-left: 0;
	list-style: none;
	
	/* display: flex; */
	/* flex-wrap: wrap; */
	display: grid;
	grid-template-columns: repeat(auto-fit, min(375px, 100%));
	justify-content: center;
	gap: 1em;
}

.r7-related-news :where(:any-link){
	font-size: 1.25em;
	font-weight: bold;
	border: 1px solid #B3B3B3;
	box-shadow: 0px .25em .25em 0px rgb(0 0 0 / .1);
	border-radius: .25em;
	
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 1em;
}

.r7-related-news :where(:any-link)::after{
	content: "";
	border-style: solid;
	border-width: 1px 1px 0 0;
	width: .5em;
	height: .5em;
	transform-origin: right top;
	translate: 0 50%;
	rotate: 45deg;
}

.r7-btn--related-news{
	background: white;
}
.r7-btn--syokutohaku{
	background: white;
}
.r7-btn--musubista{
	background: #EFE089;
}


/* cross link banner */
.g3-liquid--servicebanner{
	container-type: inline-size;
}
.js-crosslink-banner{
	z-index: 0;
	
	& :where(.slick-arrow){
		--banner-size: 340px;
		--button-size: 2.5em;
		--offset: max(50cqw - var(--button-size) - var(--banner-size) * 1.5, var(--button-size) / -2.5);
		
		text-indent: -100vmax;
		overflow: hidden;
		
		color: white;
		background: #393838;
		border: 0;
		border-radius: 100vmax;
		
		position: absolute;
		z-index: 1;
		margin: auto;
		inset-block: 0;
		
		width: var(--button-size);
		height: var(--button-size);
		
		&:hover{
			background: orange;
		}
	}
	& :where(.slick-arrow)::before{
		content: "";
		position: absolute;
		inset: 0;
		
		width: .5em;
		height: .5em;
		margin: auto;
		
		border-style: solid;
		border-width: 1px 1px 0 0;
		
		
	}
	& :where(.slick-prev){
		inset-inline: var(--offset) auto;
		rotate: 225deg;
	}
	& :where(.slick-next){
		inset-inline: auto var(--offset);
		rotate: 45deg;
	}
}


/* event */
/* for components */
.r7-cards{
	display: grid;
	grid-template-columns: var(--cards-columns, none);
	gap: var(--cards-gap, 0);
	
	&:where(ul, ol){
		padding-left: 0;
		list-style: none;
	}
}
/* for components */
.r7-cards--events{
	--cards-columns: repeat(4, 1fr);
	--cards-gap: 1.5em;
	
	margin-block: 0;
}
@media (max-width: 768px){
	.r7-cards--events{
		--cards-columns: repeat(2, 1fr);
	}
}

.r7-event{
	line-height: 1.5;
	font-size: .875em;
	
	& > *{
		margin-block: 0;
	}
	& > * + *{
		margin-top: .666rem;
	}
	
}

.r7-event__fig{
	
}

.r7-event__image{
	
}

.r7-ttl r7-ttl--event{
	
}

.r7-note r7-note--event{
	
}

/* for components */
.r7-btnlist{
	display: flex;
	flex-wrap: wrap;
	justify-content: var(--btnlist-justify, center);
	gap: var(--btnlist-gap, 1em);
	
	& > *{
		flex: 0 1 200px;
	}
}
.r7-btnlist--insta{}
/* for components */

.r7-note--insta-header{
	font-size: .75em;
	text-align: center;
}

.r7-btn--event{
	border: 1px solid;
	
	
	&:where(.is-active){
		color: white;
		background: #686565;
		border: none;
	}
}
