@charset "utf-8";



/* @ Base Custom */
.g3-header:not(.g3-header--short) .g3-sitelogo{
	display: block;
}
.h3-sns{
	display: none;
}

.g3-fhotel-list{
	display: none;
}



/* @ Hero */
.g3-sitewidth--hero{
	overflow: hidden;
	max-width: 80.625rem;
	border-radius: 0 0 0 2.5rem;
}
.g3-liquid--hero{
	overflow: hidden;
	width: 92vw;
	border-radius: 0 0 0 2.5rem;
}
.l3-hero{
	background: #f1f1f1;
	padding-block: 2.5rem;
}

/* & Slick */
.l3-hero__list:not(.slick-initialized){
	background: #eee;
	height: 48.54vw;
}
@media (min-width: 769px){
	.l3-hero__list:not(.slick-initialized){
		background: none;
		height: 37.629vw;
	}
}
@media (max-width: 768px){
	.l3-hero__list:not(.slick-initialized){
		background: none;
		height: 85.504vw;
	}
}
.l3-hero__list:not(.slick-initialized) > *{
	display: none;
}
.l3-hero__list img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.l3-hero__list .slick-dots{
	line-height: 1;
	display: flex;
	justify-content: center;
	list-style: none;
	margin: 1.25rem 0 0;
	padding: 0;
}
.l3-hero__list .slick-dots > * + *{
	margin-left: .75rem;
}
.l3-hero__list .slick-dots button{
	text-indent: -100vw;
	background: inherit;
	overflow: hidden;
	border: inherit;
	border: 2px solid;
	border-radius: 100vw;
	width: 1em;
	height: 1em;
	padding: 0;
}
.l3-hero__list .slick-dots .slick-active button{
	background: #000;
}
.l3-hero__list.slick-slider .slick-arrow{
	text-indent: -100vw;
	color: #fff;
	background: #000;
	overflow: hidden;
	border: 0;
	border-radius: 100vw;
	position: absolute;
	z-index: 1;
	inset-block: 0;
	display: block;
	font-size: 2em;
	width: 2.8125rem;
	height: 2.8125rem;
	margin-block: auto;
	box-sizing: border-box;
	padding: .5em;
}
.l3-hero__list.slick-slider .slick-prev{
	left: calc(13.15vw - 1.25rem - (2.8125rem / 2));
}
.l3-hero__list.slick-slider .slick-next{
	right: calc(13.15vw - 1.25rem - (2.8125rem / 2));
}
.l3-hero__list.slick-slider .slick-arrow::before{
	content: "";
	border-style: solid;
	border-width: 1px 1px 0 0;
	position: absolute;
	inset: 0;
	width: .333em;
	height: .333em;
	margin: auto;
}
.l3-hero__list.slick-slider .slick-prev::before{
	transform: translateX(33.3%) rotate(-135deg);
}
.l3-hero__list.slick-slider .slick-next::before{
	transform: translateX(-33.3%) rotate(45deg);
}
.l3-hero__list.slick-slider .slick-slide:not(.slick-active) > div{
	background: #000;
}
.l3-hero__list.slick-slider .slick-slide:not(.slick-active) img{
	opacity: .5;
}
@media (min-width: 769px){
	.l3-hero__list.slick-slider .slick-slide{
		width: 73.7vw;
	}
	.l3-hero__list.slick-slider .slick-slide > div{
		overflow: hidden;
		border-radius: 1.25rem;
		margin-inline: 1.25em;
	}
}
@media (max-width: 768px){
	.l3-hero__list.slick-slider .slick-slide{
		width: 73.7vw;
	}
	.l3-hero__list.slick-slider .slick-slide > div{
		overflow: hidden;
		border-radius: 1.25rem;
		margin-inline: 1.25em;
	}
	.l3-hero__list .slick-dots{
		/* width: 50vw; */
		/* bottom: 7rem; */
	}
}



/* @ News */
.l3-news{
	margin-top: 3.75rem;
	margin-bottom: 3.75rem;
}
.l3-news-head{
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	
	border-bottom: .25em solid;
	margin-bottom: 2em;
	padding-bottom: .5em;
}
.g3-ttl--news{
	margin: 0;
}
.l3-news__archive{
	color: inherit;
}
.l3-news__archive:not(:hover){
	text-decoration: none;
}
.l3-news__more{
	text-align: right;
	display: flex;
	justify-content: flex-end;
	gap: 1.5em;
	margin: 1rem 0 0;
}

/* & Anti Contents Shift */
.l3-news__permalink:where([aria-loading="true"] *){
	width: 100%;
}
:is(.l3-news__permalink > *):where([aria-loading="true"] *){
	min-height: 1em;
	background: #eee;
	text-indent: -100vw;
	overflow: hidden;
}
.l3-news__date:where([aria-loading="true"] *){
	min-width: 5.5em;
}
.l3-news__important:where([aria-loading="true"] *){
	min-width: 5em;
}
.g3-underline:where([aria-loading="true"] *){
	flex: 1 1 auto;
}
.g3-zoom-img--news:where([aria-loading="true"] *){
	aspect-ratio: 1 / 0.44587155963302755;
}



@media (min-width: 769px){
	.l3-news-grid{
		display: flex;
	}
	.l3-news-grid .l3-news-list--info{
		flex: 1 1 auto;
		overflow: hidden;
	}
	.l3-news-grid .l3-news-list--open{
		flex: 0 0 40%;
		overflow: hidden;
	}
	.l3-news-grid .l3-news-list--info + .l3-news-list--open{
		margin-left: 2.5em;
	}
}
@media (max-width: 768px){
	.l3-news-grid > * + *{
		margin-top: 2.5rem !important;
	}
}



.l3-news-list,
.l3-news-open-list{
	list-style: none;
	margin: 0;
	padding: 0;
}
.l3-news-list--info{}
.l3-news-list--open{}
.l3-news-list__item{}
.l3-news-list--info > .l3-news-list > *{
	border-bottom: 1px solid #888;
	padding: 1em 0;
}



.l3-news__permalink{
	line-height: 1.5;
	font-size: 1.125em;
	font-weight: bold;
	text-decoration: none;
	color: inherit;
}
.l3-news-list--info .l3-news__permalink{
	display: inline-flex;
	align-items: center;
}
.l3-news-list--info .l3-news__permalink > *{
	margin-right: 1em;
}
.l3-news-list--open .l3-news__permalink{
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-areas: "banner banner" "date note";
	grid-gap: 1em;
}
.l3-news__date{
	grid-area: date;
	font-size: .666em;
}
.l3-news__title{
	grid-area: note;
}
.l3-news__important{
	font-size: .625em;
	color: #fff;
	background: #fc4850;
	border-radius: .25em;
	padding: .125em .75em;
}
.g3-zoom-img--news,
.l3-news__banner{
	grid-area: banner;
	border-radius: .5em;
}
.l3-news__banner{
	width: 100%;
}

/* test */
.l3-news-list--open .l3-news__permalink{
	flex-wrap: wrap;
}

.l3-news-open-list:not(.slick-initialized) > .l3-news-list__item:not(:first-child){
	display: none;
}



/* @ new open (modal) */
.l3-new-open{
	list-style: none;
	margin: 0;
	padding: 0;
}
.l3-new-open > * + *{
	margin-top: 1rem;
}
.l3-new-open__more{
	color: inherit;
	display: flex;
	align-items: center;
	gap: 1rem;
}
.l3-new-open__more:not(:hover){
	text-decoration: none;
}
.l3-new-open__fig{
	flex: 0 0 40%;
	position: relative;
	z-index: 0;
	margin: 0;
}
.l3-new-open__date{
	flex: 1 1 auto;
	line-height: 1.125;
	font-size: .75em;
	text-align: center;
	color: #fff;
	background: #f6ab00;
	border-radius: 100em;
	position: absolute;
	right: 6%;
	bottom: 6%;
	width: 3em;
	height: 3em;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: .75em;
}



/* @ Concept */
.l3-concept{
	list-style: none;
	margin: 0;
	padding: 0;
}
.l3-concept__more{
	line-height: 1.33;
	text-align: center;
	text-decoration: none;
	color: inherit;
	display: grid;
	grid-gap: 1.875rem;
}
.g3-zoom-img--concept,
.l3-concept__thumb{
	border-radius: .75rem;
}
.l3-concept__thumb{
	width: 100%;
}
@media (min-width: 769px){
	.l3-concept{
		display: grid;
		grid-gap: 2.5rem;
		grid-template-columns: repeat(3, 1fr);
	}
}
@media (max-width: 768px){
	.l3-concept > * + *{
		margin-top: 2.5rem;
	}
}



/* @ Content Nav */
.l3-content{}
.l3-content-nav__title,
.l3-content-nav__lead{
	margin: 0;
}

.l3-content-nav{
	display: grid;
	grid-gap: 1.875rem;
	grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
}
.l3-content-nav__more{
	box-shadow: 0 .5rem .5rem 0 rgba(0,0,0,.2);
	font-size: .75rem;
	text-decoration: none;
	color: inherit;
	display: block;
	overflow: hidden;
	border-radius: .75rem;
	padding: 1rem;
}
.l3-content-nav__header{
	line-height: 1.33;
	text-align: center;
	
	color: #fff;
	position: relative;
	z-index: 0;
	
	overflow: hidden;
	min-height: 14rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	
	margin: -1rem -1rem 1rem -1rem;
}
.l3-content-nav__header::after,
.l3-content-nav__bg{
	position: absolute;
	z-index: -2;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}
.l3-content-nav__header::after{
	content: "";
	display: block;
	z-index: -1;
	background: rgba(0,0,0,.333);
}
.l3-content-nav__bg{
	z-index: -2;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.l3-content-nav__title{
	font-size: 2.4em;
}
.l3-content-nav__title > img{
	max-width: 18rem;
}
.l3-content-nav__lead{
	margin-top: 1rem;
}

@media (max-width: 768px){
	.l3-pick.g3-liquid{
		width: auto;
	}
	.l3-content-nav{
		display: block;
	}
	
	/* & slick */
	.l3-content-nav.slick-slider .slick-list{
		padding-bottom: 1rem;
	}
	.l3-content-nav.slick-slider .slick-track{
		display: flex;
	}
	.l3-content-nav.slick-slider .slick-slide{
		width: 90vw;
	}
	.l3-content-nav.slick-slider .slick-slide > div{
		margin-left: 1rem;
		margin-right: 1rem;
	}
	.l3-content-nav.slick-slider .slick-slide > * + *{
		margin-top: 1.5rem;
	}
	.l3-content-nav.slick-slider .slick-slide > div:nth-child(even){
		transform: translateX(10vw);
	}
	
	.l3-content-nav__more{
		box-sizing: border-box;
	}
	
	/* & slick */
	.l3-content-nav.slick-slider .slick-dots{
		display: flex;
		justify-content: center;
		list-style: none;
		margin: 1rem 0 0;
		padding: 0;
	}
	.l3-content-nav.slick-slider .slick-dots > * + *{
		margin-left: .75rem;
	}
	.l3-content-nav.slick-slider .slick-dots button{
		text-indent: -100vw;
		background: inherit;
		overflow: hidden;
		border: inherit;
		border: 2px solid;
		border-radius: 100vw;
		width: 1em;
		height: 1em;
		padding: 0;
	}
	.l3-content-nav.slick-slider .slick-dots .slick-active button{
		background: #000;
	}
}




/* @ Experience */
.l3-experience{
	position: relative;
	z-index: 0;
	padding-top: 3.75rem;
}
.l3-experience::before{
	content: "";
	display: block;
	background: #F5F2ED;
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 2em;
	border-radius: 0 3.75rem 0 0;
}
@media (min-width: 1240px){
	.l3-experience::before{
		/* right: calc((100vw - 1100px) / 2 - 3.75rem); */
		right: 2vw;
	}
}
:where(html:not([lang=ja])) .l3-experience{
	padding-bottom: 3.75rem;
}
:where(html:not([lang=ja])) .l3-experience::before{
	bottom: 0;
}
.g3-btn--experience{
	background: #fff;
}
.g3-nav--hotel-concept{
	
}



/* @ Concept */
.g3-nav--hotel-concept{
	width: 88vw;
	max-width: 61.25rem;
	margin-left: auto;
	margin-right: auto;
}



/* @ Concept Room */
.g3-notice--rooms{
	font-size: .75em;
}
.l3-rooms-note__name,
.l3-rooms-note__lead,
.l3-rooms-note__text{
	margin: 0;
}
.l3-rooms-note,
.l3-rooms-gallery{
	list-style: none;
	margin: 0;
	padding: 0;
}
.l3-room-note__index{
	font-size: 1rem;
}
.l3-rooms-note__name{
	line-height: 1.33;
	font-size: 1.625em;
	font-weight: bold;
	display: grid;
	grid-gap: .33em;
}
@media (min-width: 769px){
	.l3-rooms-note__name{
		margin-right: 6.25rem;
	}
	.l3-rooms-note__body{
		padding-right: 3.125rem;
	}
}
.l3-rooms-note__ruby{
	font-size: .5em;
}
.l3-rooms-note__lead,
.l3-rooms-note__text{
	font-weight: bold;
	font-family: serif;
}
.l3-rooms-note__lead{
	line-height: 1.33;
	font-size: 1.5em;
	margin-bottom: 1em;
}
.l3-rooms-note__em{
	color: #ED989B;
}
@media (max-width: 768px){
	.l3-rooms-note__item{
		text-align: center;
	}
}



/* @ Concept Room > Grid Lv1 */
@media (min-width: 769px){
	.l3-rooms{
		display: grid;
		grid-template-areas: "empty notes gallery";
		grid-template-columns: 4vw 26.875rem 1fr;
		margin-left: 6vw;
	}
	.l3-rooms-note{
		grid-area: notes;
		margin-right: -3.125rem;
		z-index: 0;
	}
	.l3-rooms-gallery{
		grid-area: gallery;
		overflow: hidden;
		z-index: -1;
	}
}

.l3-rooms-note__item,
.l3-rooms-note__more{
	height: 100%;
}
.l3-rooms-note__more{
	text-decoration: none;
	color: inherit;
	display: grid;
	grid-template-rows: repeat(2, 1fr);
	position: relative;
	z-index: 0;
}
.l3-rooms-note__more::after,
.l3-rooms-note__more::before{
	content: "";
	display: block;
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #fff;
}
.l3-rooms-note__more::after{
	right: 3.125rem;
}
.l3-rooms-note__more::before{
	top: 50%;
	border-radius: 0 1.875rem 0 0;
}
.l3-rooms-note__more > *{
	align-self: center;
	/* justify-self: center; */
}

/* & Slick 1 */
.l3-rooms-note:not(.slick-initialized) > .l3-rooms-note__item:not(:first-child){
	display: none;
}
.l3-rooms-note.slick-slider,
.l3-rooms-note.slick-slider .slick-list,
.l3-rooms-note.slick-slider .slick-track{
	display: flex;
}
.l3-rooms-note.slick-slider .slick-slide > div{
	height: 100%;
}
.l3-rooms-note.slick-slider .slick-dots{
	display: flex;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
}
.l3-rooms-note.slick-slider .slick-dots > * + *{
	margin-left: .5em;
}
.l3-rooms-note.slick-slider .slick-dots button{
	background: inherit;
	border: inherit;
}
.l3-rooms-note.slick-slider .slick-dots li:not(:nth-child(n + 10)) button::before{
	content: "0";
}
.l3-rooms-note.slick-slider .slick-dots :not(.slick-active) button{
	color: #999;
}
@media (min-width: 769px){
	.l3-rooms-note.slick-slider .slick-dots{
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
	}
}
@media (max-width: 768px){
	.l3-rooms-note.slick-slider{
		flex-direction: column;
	}
	.l3-rooms-note.slick-slider .slick-dots{
		margin: 2rem 0;
	}
}

/* & Slick 2 */
.l3-rooms-gallery.slick-slider .slick-list,
.l3-rooms-gallery.slick-slider .slick-track{
	display: flex;
}
.l3-rooms-gallery.slick-slider .slick-slide > div,
.l3-rooms-gallery.slick-slider .slick-slide > div > img{
	height: 100%;
}
.l3-rooms-gallery.slick-slider .slick-slide > div > img{
	object-fit: cover;
	border-radius: 1.25rem;
}
@media (min-width: 769px){
	.l3-rooms-gallery:not(.slick-initialized){
		border: 9px solid blue;
		display: none;
	}
	.l3-rooms-gallery.slick-slider .slick-slide{
		width: 47.5vw;
	}
	.l3-rooms-gallery.slick-slider .slick-slide > div{
		margin-right: 5vw;
	}
}
@media (max-width: 768px){
	.l3-rooms-gallery:not(.slick-initialized){
		background: #eee;
		height: 75vw;
	}
	.l3-rooms-gallery:not(.slick-initialized) > *{
		display: none;
	}
	.l3-rooms-gallery.slick-slider .slick-slide{
		width: 100vw;
	}
	.l3-rooms-gallery.slick-slider .slick-slide > div{
		margin-left: 2.5vw;
		margin-right: 2.5vw;
	}
}



/* @ Hotels */
.l3-hotels{
	background: #f5f5f5;
	margin-top: 3.75rem;
}
html:not([lang=ja]) .l3-hotels{
	padding-bottom: 3.75rem;
}
.g3-tab--hotels{
	transform: translateY(-50%);
}
.l3-hotel-area__name{
	margin: 0;
}
.l3-hotel-area__more{
	color: inherit;
	
	&:not(:hover){
		text-decoration: none;
	}
}
.l3-hotel-facility,
.l3-hotel-list{
	list-style: none;
	margin: 0;
	padding: 0;
}
.l3-hotel-list__more{
	color: inherit;
}
.l3-hotel-list__more:not(:hover){
	text-decoration: none;
}
@media (min-width: 769px){
	.l3-hotel-list__item:not(:first-child){
		margin-top: .75em;
	}
}
@media (max-width: 768px){
	.l3-hotel-list__more{
		box-sizing: border-box;
		display: block;
		height: 100%;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: .25em;
		padding: 1em;
	}
}

.l3-hotels-pref{
	& > *{
		margin-block: 0;
	}
}
@media (min-width: 769px){
	.l3-hotels-pref{
		& + &{
			margin-top: 1rem;
		}
		& > * + *{
			margin-top: .5rem;
		}
	}
}

.l3-hotels-pref__name{
	font-size: .875em;
}
@media (max-width: 768px){
	.l3-hotels-pref__name{
		font-size: 1em;
		border-bottom: 1px solid #333;
		/* background: #f5f5f5; */
		padding: .5em;
	}
}
.l3-hotels-pref__more{
	color: inherit;
	
	&:not(:hover){
		text-decoration: none;
	}
	&::after{
		content: "›";
	}
}
@media (min-width: 769px){
	.l3-hotels-pref__more{
		display: inline-flex;
		align-items: center;
		gap: .25em;
	}
}
@media (max-width: 768px){
	.l3-hotels-pref__more{
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	
}


/* @ Hotels > Header */
.l3-hotels-header{
	text-align: center;
}
.l3-hotel-facility{
	line-height: 1.33;
	font-size: .875em;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1em 2em;
}
/* .l3-hotel-facility > :not(:first-of-type){
	margin-left: 2em;
} */
.l3-hotel-facility__item > .g3-with-icon{
	white-space: nowrap;
}
@media (max-width: 768px){
	.l3-hotel-facility{
		flex-wrap: wrap;
	}
}



.l3-hotel-areas{}
.l3-hotel-area{}
.l3-hotel-area__name{
	line-height: 1.33;
	font-size: 1.25rem;
	font-weight: bold;
	border-bottom: 1px solid;
	padding: .5em;
}
@media (min-width: 769px){
	.l3-hotel-areas{
		columns: 5 auto;
		column-gap: 3.125rem;
		margin-bottom: 3em;
	}
	.l3-hotel-areas > *{
		break-inside: avoid;
	}
	.l3-hotel-area__name{
		margin-bottom: .5em;
	}
}
@media (max-width: 768px){
	.l3-hotel-area__name.js3-hotel-list__toggle{
		display: flex;
		justify-content: space-between;
		padding: .75em;
	}
	.js3-hotel-list .l3-hotel-list{
		animation: g3-fadein 666ms cubic-bezier(.25, 1, .5, 1);
	}
	.js3-hotel-list.js3-hotel-list--active{
		background: #fff;
	}
	.l3-hotel-area__name.js3-hotel-list__toggle{
		cursor: pointer;
	}
	.l3-hotel-area__name.js3-hotel-list__toggle::after{
		content: "";
		display: block;
		width: .33em;
		height: .33em;
		border: solid;
		border-width: 0 2px 2px 0;
		transform: translateY(.66em) rotate(45deg);
	}
	.js3-hotel-list--active .l3-hotel-area__name.js3-hotel-list__toggle::after{
		transform: translateY(.66em) rotate(225deg);
	}
	.js3-hotel-list:not(.js3-hotel-list--active) .l3-hotels-pref{
		display: none;
	}
}



.l3-hotel-list{
	line-height: 1.33;
	font-size: .875em;
}
.l3-hotel-list__icon{
	width: 1.125em;
	margin-left: .25em;
}
@media (max-width: 768px){
	.l3-hotel-list{
		display: flex;
		flex-wrap: wrap;
	}
	.l3-hotel-list > *{
		box-sizing: border-box;
		flex: 1 1 50%;
		border-bottom: 1px solid;
	}
	.l3-hotel-list > *:nth-child(even){
		border-left: 1px solid;
	}
}

/* & kw search */
html:not([lang=ja]) .l3-kw-search{
	max-width: 30em;
	margin-inline: auto;
	border: 1px solid #999;
	border-radius: 4px;
	box-shadow: 0 .125em .25em rgba(100, 100, 100, .5);
	background: #f0f0f0;
}
html:not([lang=ja]) .l3-kw-search .g3s-kw-search__form{
	max-width: none;
	background: none;
	border: 0;
	border-radius: 0;
	overflow: visible;
}
html:not([lang=ja]) .g3s-kw-search__input{
	max-width: none;
}



/* @ Map > SP */
.l3-navitime-map{
	width: 100%;
	border: 0;
}



/* @ Map > PC */
.l3-map{}
@media (max-width: 1260px){
	.l3-map{
		font-size: 1.26984126984127vw;
	}
}
.l3-map-page{
	list-style: none;
	margin: 0;
	padding: 0;
}
.l3-map-page:not(.slick-initialized) .l3-map-page__item:not(:first-child){
	display: none;
}



/* map3 index */
.l3-map-area{
	position: relative;
	z-index: 0;
}
.l3-map-area{}
.l3-map-area__title{
	font-size: 2.25em;
	font-weight: normal;
	
	position: absolute;
	top: 0;
	left: 0;
	
	margin: 0;
}
.l3-map-area__back{
	cursor: pointer;
	
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	
	border: 1px solid;
	background-color: inherit;
	
	margin: 0;
	padding: .25em 1em;
}
.l3-map-area__back:hover{
	color: #fff;
	background-color: #333;
	border-color: #333;
}
.l3-map-area__back:before{
	content: "×";
	margin-right: .25em;
}
.l3-map-index-title{
	font-size: 1em;
	text-align: center;
	position: absolute;
	top: 2.5em;
	left: 0;
	right: 0;
	
	margin: 0;
}
.l3-map-index-title__main{
	font-size: 2.625em;
}
.l3-map-index-title__sub{
	font-size: 1em;
}


.l3-map__button{
	box-sizing: border-box;
	cursor: pointer;
	display: block;
	
	font-size: 1.125em;
	font-weight: bold;
	text-align: center;
	text-decoration: inherit;
	
	color: #fff;
	background-color: #333;
	border: 0;
	
	position: absolute;
	top: 0;
	left: 0;
	transform: translate(-50%, -50%);
	
	margin: 0;
	padding: .25em .75em;
}
.l3-map__button:hover{
	background-color: #f33;
}
.l3-map__button--index-hokkaido{
	top: 15%;
	left: 88%;
}
.l3-map__button--index-touhoku{
	top: 45%;
	left: 80%;
}
.l3-map__button--index-kanto{
	top: 63%;
	left: 77%;
}
.l3-map__button--index-koshinetsu{
	top: 56%;
	left: 71%;
}
.l3-map__button--index-hokuriku{
	top: 63%;
	left: 65%;
}
.l3-map__button--index-toukai{
	top: 72%;
	left: 69%;
}
.l3-map__button--index-kinki{
	top: 72%;
	left: 62%;
}
.l3-map__button--index-tyugoku{
	top: 72%;
	left: 54%;
}
.l3-map__button--index-shikoku{
	top: 80%;
	left: 54%;
}
.l3-map__button--index-kyushu{
	top: 86%;
	left: 46%;
}
.l3-map__button--index-okinawa{
	top: 89%;
	left: 24%;
}
.l3-map__button--index-candle{
	top: 22%;
	left: 28%;
}
.l3-map__button--index-thilawa{
	top: 15%;
	left: 20%;
}

.l3-map__button--index-tokyo{
	top: 69%;
	left: 77%;
}
.l3-map__button--index-osaka{
	top: 78%;
	left: 62%;
}

.l3-map__button--pref-hokkaido{
	top: 50%;
	left: 50%;
}
.l3-map__button--pref-aomori{
	top: 17%;
	left: 51%;
}
.l3-map__button--pref-iwate{
	top: 40%;
	left: 58%;
}
.l3-map__button--pref-miyagi{
	top: 67%;
	left: 54%;
}
.l3-map__button--pref-akita{
	top: 40%;
	left: 44%;
}
.l3-map__button--pref-yamagata{
	top: 67%;
	left: 42%;
}
.l3-map__button--pref-fukushima{
	top: 87%;
	left: 45%;
}
.l3-map__button--pref-ibaraki{
	top: 45%;
	left: 67%;
}
.l3-map__button--pref-tochigi{
	top: 21%;
	left: 56%;
}
.l3-map__button--pref-gunma{
	top: 30%;
	left: 37%;
}
.l3-map__button--pref-saitama{
	top: 51%;
	left: 46%;
}
.l3-map__button--pref-chiba{
	top: 63%;
	left: 67%;
}
.l3-map__button--pref-tokyo{
	top: 65%;
	left: 46%;
}
.l3-map__button--pref-kanagawa{
	top: 77%;
	left: 46%;
}
.l3-map__button--pref-niigata{
	top: 30%;
	left: 56%;
}
.l3-map__button--pref-yamanashi{
	top: 86%;
	left: 50%;
}
.l3-map__button--pref-nagano{
	top: 66%;
	left: 40%;
}
.l3-map__button--pref-toyama{
	top: 43%;
	left: 66%;
}
.l3-map__button--pref-ishikawa{
	top: 56%;
	left: 48%;
}
.l3-map__button--pref-fukui{
	top: 72%;
	left: 44%;
}
.l3-map__button--pref-gifu{
	top: 30%;
	left: 46%;
}
.l3-map__button--pref-shizuoka{
	top: 53%;
	left: 67%;
}
.l3-map__button--pref-aichi{
	top: 53%;
	left: 50%;
}
.l3-map__button--pref-mie{
	top: 73%;
	left: 35%;
}
.l3-map__button--pref-shiga{
	top: 25%;
	left: 68%;
}
.l3-map__button--pref-kyoto{
	top: 25%;
	left: 55%;
}
.l3-map__button--pref-osaka{
	top: 51%;
	left: 55%;
}
.l3-map__button--pref-hyogo{
	top: 31%;
	left: 38%;
}
.l3-map__button--pref-nara{
	top: 61%;
	left: 63%;
}
.l3-map__button--pref-wakayama{
	top: 88%;
	left: 56%;
}
.l3-map__button--pref-tottori{
	top: 18%;
	left: 82%;
}
.l3-map__button--pref-shimane{
	top: 36%;
	left: 42%;
}
.l3-map__button--pref-okayama{
	top: 42%;
	left: 80%;
}
.l3-map__button--pref-hiroshima{
	top: 57%;
	left: 54%;
}
.l3-map__button--pref-yamaguchi{
	top: 74%;
	left: 18%;
}
.l3-map__button--pref-tokushima{
	top: 28%;
	left: 77%;
}
.l3-map__button--pref-kagawa{
	top: 8%;
	left: 70%;
}
.l3-map__button--pref-ehime{
	top: 43%;
	left: 31%;
}
.l3-map__button--pref-kochi{
	top: 45%;
	left: 51%;
}
.l3-map__button--pref-fukuoka{
	top: 12%;
	left: 48%;
}
.l3-map__button--pref-saga{
	top: 22%;
	left: 36%;
}
.l3-map__button--pref-nagasaki{
	top: 38%;
	left: 36%;
}
.l3-map__button--pref-kumamoto{
	top: 47%;
	left: 50%;
}
.l3-map__button--pref-oita{
	top: 27%;
	left: 63%;
}
.l3-map__button--pref-miyazaki{
	top: 57%;
	left: 61%;
}
.l3-map__button--pref-kagoshima{
	top: 79%;
	left: 47%;
}
.l3-map__button--pref-okinawa{
	top: 43%;
	left: 44%;
}

.l3-map__bg{
	max-width: 100%;
	position: relative;
	z-index: -2;
}
.l3-map-index__area{
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	max-width: 100%;
	visibility: hidden;
	content-visibility: hidden;
}
.l3-map__button--index-hokkaido:hover ~ .l3-map-index__area--hokkaido,
.l3-map__button--index-touhoku:hover ~ .l3-map-index__area--touhoku,
.l3-map__button--index-kanto:hover ~ .l3-map-index__area--kanto,
.l3-map__button--index-tokyo:hover ~ .l3-map-index__area--kanto,
.l3-map__button--index-koshinetsu:hover ~ .l3-map-index__area--koshinetsu,
.l3-map__button--index-hokuriku:hover ~ .l3-map-index__area--hokuriku,
.l3-map__button--index-toukai:hover ~ .l3-map-index__area--toukai,
.l3-map__button--index-kinki:hover ~ .l3-map-index__area--kinki,
.l3-map__button--index-osaka:hover ~ .l3-map-index__area--kinki,
.l3-map__button--index-tyugoku:hover ~ .l3-map-index__area--tyugoku,
.l3-map__button--index-shikoku:hover ~ .l3-map-index__area--shikoku,
.l3-map__button--index-kyushu:hover ~ .l3-map-index__area--kyushu,
.l3-map__button--index-okinawa:hover ~ .l3-map-index__area--okinawa,
.l3-map__button--index-candle:hover ~ .l3-map-index__area--oversea,
.l3-map__button--index-thilawa:hover ~ .l3-map-index__area--oversea{
	visibility: visible;
	content-visibility: visible;
}




/* @ search category */
.l3-home-category{
	margin-top: 3.75rem !important;
}
.l3-home-category > *{
	margin: 0;
}
.l3-home-category > * + *{
	margin-top: 32px !important;
}
.l3-home-category__title{
	text-align: center;
}
.l3-home-category__title > img{
	max-height: 53px;
}
.l3-home-category__list:where(ul, ol){
	list-style: none;
	margin: 0;
	padding: 0;
}
.l3-home-category__list{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(6rem, 1fr));
	gap: 22px;
}
.l3-home-category__more{
	color: inherit;
}
.l3-home-category__more:not(:hover){
	text-decoration: none;
}
.l3-home-category__thumb{
	border-radius: .333em;
}