/* ----------------------------------------------------
	header
---------------------------------------------------- */
.header figcaption {
	padding: 0 1.83vw;
	line-height: 3.16;
	font-family: var(--gothic);
	font-size: 0.878vw;
	text-align: right;
}

@media screen and (max-width: 768px) {
	.header figcaption {
		padding: 0 0.8vw;
		line-height: 2;
		font-size: 2.133vw;
	}
}

/* ---------------------------------------------------
	gnav
---------------------------------------------------- */
.gnav {
	background: rgb(var(--gold));
	padding: 0 1em;
	width: 100%;
	height: min(8rem, 5.857vw);
	line-height: 1;
	font-family: var(--eng);
	font-size: min(2.7rem, 1.977vw);
	font-weight: 600;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
}

.gnav__list {
	display: flex;
	justify-content: flex-end;
}

.gnav__list--item {
	margin: 0 1em;
	position: relative;
}

.gnav__link {
	color: rgb(var(--wht));
	text-decoration: none;
	height: min(8rem, 5.857vw);
	display: flex;
	justify-content: center;
	align-items: center;
}

.gnav__list--item span.gnav__link {
	background-image: url(../img/arrow-gnav.svg);
	background-position: center right;
	background-repeat: no-repeat;
	background-size: min(1.2rem, 0.878vw) auto;
	padding-right: min(2.2rem, 1.611vw);
}

.gnav__list--item span.gnav__link+.collaboration-list {
	background-color: rgba(250, 240, 228, 0.8);
	width: min(19.5rem, 14.275vw);
	width: min(26.5rem, 19.4vw);
	line-height: 1.45;
	font-size: min(1.4rem, 1.025vw);
	font-weight: 600;
	text-align: center;
	display: none;
	position: absolute;
	top: min(8rem, 5.857vw);
	left: 50%;
	transform: translate(-50%);
	z-index: 1;
}

.gnav__list--item:hover span.gnav__link+.collaboration-list,
.gnav__list--item:focus-within span.gnav__link+.collaboration-list {
	display: block;
}

.gnav__list--item span.gnav__link+.collaboration-list a {
	text-decoration: none;
	padding: min(1.2rem, 0.878vw) 0;
	height: auto;
	display: block;
	border-bottom: solid 1px #A6A6A6;
}

.gnav__list--item span.gnav__link+.collaboration-list a:hover {
	background: rgb(var(--gold));
	color: rgb(var(--wht));
	opacity: 1;
}

@media screen and (max-width: 768px) {
	.gnav {
		padding-top: 16vw;
		width: 100%;
		height: 100%;
		overflow: auto;
		position: fixed;
		top: 0;
		right: 0;
		left: auto;
		transform: translateX(100%);
		transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1);
	}

	.gnav__list {
		padding: 0 6.4vw;
		display: block;
	}

	.gnav__list--item {
		margin: 0 0 30px;
	}

	.gnav__link {
		font-size: 6.4vw;
		justify-content: flex-start;
	}

	.gnav__list--item span.gnav__link {
		background-position: center right 40vw;
		background-size: 3.2vw auto;
		padding-right: 5.867vw;
	}

	.gnav__list--item span.gnav__link+.collaboration-list {
		background: none;
		padding: 4vw 0 0 4vw;
		width: 100%;
		line-height: 2;
		color: rgb(var(--wht));
		font-size: 3.733vw;
		text-align: left;
		display: block;
		position: static;
		transform: translateX(0);
	}

	.gnav__list--item span.gnav__link+.collaboration-list a {
		text-decoration: none;
		padding: min(1.2rem, 0.878vw) 0;
		color: rgb(var(--wht));
		border-bottom: none;
	}

	.gnav__list--item span.gnav__link+.collaboration-list a .space {
		width: 0.5em;
		display: inline-block;
	}

	/* is-open */
	body.is-open {
		overflow: hidden;
	}

	.is-open .gnav {
		z-index: 999;
		transform: translateX(0);
	}
}

/*
	toggle
------------------------------ */
.toggle {
	display: none;
}

@media screen and (max-width: 768px) {
	.toggle {
		background: rgb(var(--gold));
		padding-right: 6.4vw;
		width: 100%;
		height: 14.4vw;
		display: flex;
		justify-content: flex-end;
		position: fixed;
		top: 0;
		right: 0;
		z-index: 1000;
	}

	.toggle__inner {
		width: 14.4vw;
		height: 6.4vw;
		position: relative;
		top: 4vw;
		cursor: pointer;
	}

	.toggle__inner--item {
		background: rgb(var(--wht));
		width: 100%;
		height: 1px;
		display: block;
		position: absolute;
		left: 50%;
		transition: all 0.6s;
	}

	.toggle__inner--item:nth-child(1) {
		top: 0;
		transform: translateX(-50%);
	}

	.toggle__inner--item:nth-child(2) {
		top: 50%;
		transform: translate(-50%, -50%);
	}

	.toggle__inner--item:nth-child(3) {
		bottom: 0;
		transform: translateX(-50%);
	}

	/* is-open */
	.is-open .toggle__inner--item {
		background: rgb(var(--wht));
		transform-origin: 0 0;
	}

	.is-open .toggle__inner--item:nth-child(1) {
		top: 50%;
		transform: rotate(30deg) translate(-50%, -50%);
	}

	.is-open .toggle__inner--item:nth-child(2) {
		opacity: 0;
	}

	.is-open .toggle__inner--item:nth-child(3) {
		top: 50%;
		bottom: auto;
		transform: rotate(-30deg) translate(-50%, -50%);
	}
}

/* ----------------------------------------------------
	container
---------------------------------------------------- */
.container {
	margin: 0 auto;
	position: relative;
	z-index: 2;
}

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

/* ----------------------------------------------------
	modal
---------------------------------------------------- */
.modal-overlay {
	background: rgba(var(--blk), 0.5);
	display: none;
	position: fixed;
	inset: 0;
	z-index: 1000;
}

.modal-overlay.is-open {
	display: block;
}

.modal-content {
	display: none;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1001;
}

.modal-content__inner {
	width: 100%;
	height: 100%;
	max-height: 90dvh;
	color: rgb(var(--blk));
	overflow: auto;
}

.modal-close {
	background-image: url(../img/modal-close01.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: min(4.5rem, 3.294vw);
	height: min(4.5rem, 3.294vw);
	position: absolute;
	top: max(-2.3rem, -1.684vw);
	right: max(-2.3rem, -1.684vw);
	cursor: pointer;
}

/* is-modal-open */
body.is-modal-open {
	overflow: hidden;
}

.modal-content.is-open {
	display: block;
}

@media screen and (max-width: 768px) {
	.modal-close {
		width: 8vw;
		height: 8vw;
		top: -4vw;
		right: -4vw;
	}
}

/*
	hulu
------------------------------ */
.hulu {
	background-color: rgba(249, 253, 245, 1);
	width: min(84rem, 61.493vw);
	border: solid 1px rgba(102, 174, 46, 1);
}

.hulu .modal-content__inner {
	padding: min(7rem, 5.124vw) min(5rem, 3.66vw);
}

.hulu__logo {
	margin: 0 auto min(2.4rem, 1.757vw);
	width: min(18rem, 13.177vw);
}

.hulu__title {
	margin-bottom: min(2rem, 1.464vw);
	color: rgb(var(--gold));
	font-size: min(4rem, 2.928vw);
	font-weight: 600;
	text-align: center;
}

.hulu__title .jp {
	color: rgb(var(--blk));
	font-family: var(--gothic);
	font-size: min(1.6rem, 1.171vw);
	font-weight: 500;
	display: block;
}

.hulu__content {
	margin-bottom: min(3rem, 2.196vw);
}

.hulu__content--title {
	margin-bottom: 1em;
	font-size: min(1.8rem, 1.318vw);
	font-weight: 600;
	text-align: center;
}

.hulu__content--detail .text {
	line-height: 2;
	font-size: min(1.6rem, 1.171vw);
}

.hulu__content--detail .text i {
	color: rgba(102, 174, 46, 1);
}

.hulu .link-button {
	background-color: rgba(102, 174, 46, 1);
	background-image: url(../img/arrow-link-blk.svg);
	width: min(32rem, 24.615vw);
	color: rgb(var(--blk));
	letter-spacing: -0.005em;
}

@media screen and (max-width: 768px) {
	.hulu {
		width: 90.667vw;
	}

	.hulu .modal-content__inner {
		padding: 12vw 4vw;
	}

	.hulu__logo {
		margin-bottom: 6.4vw;
		width: 30.933vw;
	}

	.hulu__title {
		margin-bottom: 4vw;
		font-size: 6.933vw;
	}

	.hulu__title .jp {
		font-size: 3.733vw;
	}

	.hulu__content {
		margin-bottom: 6.4vw;
	}

	.hulu__content--title {
		line-height: normal;
		font-size: 4.267vw;
	}

	.hulu__content--detail .text {
		line-height: 1.8;
		font-size: 3.467vw;
	}

	.hulu .link-button {
		background-position: bottom 2.667vw center;
		background-size: 5.6vw auto;
		width: 80%;
		height: 16vw;
		font-size: 3.733vw;
	}
}

/*
	kioichoModal
------------------------------ */
.kioichoModal {
	background-color: rgba(250, 240, 228, 1);
	width: min(112.2rem, 82.138vw);
}

.kioichoModal__title {
	margin-bottom: min(6rem, 4.392vw);
	color: rgb(var(--gold));
	font-size: min(3.8rem, 2.782vw);
	font-weight: 600;
	text-align: center;
}

.kioichoModal__title i {
	font-size: min(4.5rem, 3.294vw);
	font-weight: 700;
}

.kioichoModal .modal-content__inner {
	margin: 0 auto;
	padding: min(8rem, 5.857vw) calc((100% - min(92rem, 67.35vw)) / 2);
}

.kioichoModal__inner:not(:last-of-type) {
	margin-bottom: min(12rem, 8.785vw);
}

.kioichoModal__inner--title {
	font-family: var(--eng);
	font-size: min(3.4rem, 2.489vw);
	font-weight: 600;
}

.kioichoModal__inner--title i {
	font-size: min(4.8rem, 3.514vw);
}

.kioichoModal .levita {
	margin-top: min(10rem, 7.321vw);
}

@media screen and (max-width: 768px) {
	.kioichoModal {
		width: 90.667vw;
	}

	.kioichoModal__title {
		margin-bottom: 8vw;
		font-size: 5.6vw;
	}

	.kioichoModal__title i {
		font-size: 6.933vw;
	}

	.kioichoModal .modal-content__inner {
		padding: 13.333vw 4vw;
	}

	.kioichoModal__inner:not(:last-of-type) {
		margin-bottom: 16vw;
	}

	.kioichoModal__inner--title {
		font-size: 4.8vw;
	}

	.kioichoModal__inner--title i {
		font-size: 8.533vw;
	}

	.kioichoModal__inner .wine__content {
		width: 100%;
	}

	.kioichoModal .levita {
		background-size: 100% auto;
		margin-top: 8vw;
	}

	.kioichoModal .levita * {
		transform: scale(0.96875);
	}
}

/*
	wineModal
------------------------------ */
.wineModal {
	background-color: rgba(250, 240, 228, 1);
	padding: min(6rem, 4.392vw) min(8rem, 5.857vw);
	width: min(65rem, 47.584vw);
	border: solid 1px rgb(var(--gold));
}

.wineModal__title {
	margin-bottom: min(3rem, 2.196vw);
	line-height: normal;
	color: rgba(127, 17, 32, 1);
	font-family: var(--eng);
	font-size: min(4rem, 2.928vw);
	font-weight: 600;
	text-align: center;
}

.wineModal__title--jp {
	color: rgb(var(--blk));
	font-family: var(--gothic);
	font-size: min(1.6rem, 1.171vw);
	font-weight: 500;
	display: block;
}

.wineModal__content--name {
	margin-bottom: min(2rem, 1.464vw);
	padding: 0.5em 0;
	line-height: normal;
	font-size: min(2rem, 1.464vw);
	font-weight: 600;
	text-align: center;
	border-top: solid 1px rgb(var(--gold));
	border-bottom: solid 1px rgb(var(--gold));
}

.wineModal__content--detail {
	font-size: min(1.6rem, 1.171vw);
}

@media screen and (max-width: 768px) {
	.wineModal {
		padding: 10.667vw 4vw;
		width: 90.667vw;
	}

	.wineModal__title {
		margin-bottom: 5.333vw;
		font-size: 8vw;
	}

	.wineModal__title--jp {
		font-size: 3.733vw;
	}

	.wineModal__content--name {
		margin-bottom: 1em;
		font-size: 4.267vw;
	}

	.wineModal__content--detail {
		font-size: 3.467vw;
	}
}

/* ----------------------------------------------------
	about
---------------------------------------------------- */
.about {
	background-image: url(../img/about-bg.webp);
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: cover;
	padding: min(11rem, 8.053vw) 0 min(20rem, 14.641vw);
	position: relative;
}

.about::before {
	background: linear-gradient(180deg, rgb(var(--wht)) 50%, rgba(var(--wht), 0) 100%);
	width: 100%;
	height: min(110rem, 80.527vw);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	content: "";
}

.about .container {
	width: min(80rem, 58.565vw);
}

.about__logo {
	margin: 0 auto min(6rem, 4.392vw);
	width: min(59rem, 43.192vw);
}

.about__date {
	margin: 0 auto min(5rem, 3.66vw);
	padding: min(1rem, 0.732vw) 0;
	width: min(63rem, 46.12vw);
	line-height: normal;
	font-family: var(--mincho);
	font-size: min(2.2rem, 1.611vw);
	font-weight: 700;
	text-align: center;
	border-top: solid 1px rgb(var(--blk));
	border-bottom: solid 1px rgb(var(--blk));
}

.about__title {
	margin-bottom: min(3rem, 2.196vw);
	line-height: normal;
	color: rgb(var(--gold));
	font-size: min(4.1rem, 3.001vw);
	font-weight: 700;
	text-align: center;
}

.about__title .carattere {
	font-size: min(9.1rem, 6.662vw);
	font-weight: 400;
	display: block;
}

.about__collaboration {
	margin-bottom: min(4rem, 2.928vw);
	text-align: center;
}

.about__collaboration--title {
	font-size: min(2.2rem, 1.611vw);
	font-weight: 700;
}

.about__collaboration--date {
	font-size: min(3.6rem, 2.635vw);
	font-weight: 700;
}

.about__collaboration--date .week {
	font-size: min(2.8rem, 2.05vw);
}

.about__text {
	margin-bottom: min(9rem, 6.589vw);
	line-height: 2;
	font-size: min(2.2rem, 1.611vw);
	text-align: center;
	font-weight: 700;
}

.season {
	background-image: url(../img/season-bg.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: min(80rem, 58.565vw);
	height: min(148rem, 108.346vw);
	height: min(132.2rem, 96.779vw);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.season__title {
	margin-bottom: 0.5em;
	color: rgb(var(--gold));
	font-size: min(3rem, 2.196vw);
	font-weight: 600;
}

.season__date {
	margin-bottom: min(2rem, 1.464vw);
	font-size: min(2.2rem, 1.611vw);
	font-weight: 600;
	text-align: center;
}

.season__date small {
	font-size: min(1.6rem, 1.171vw);
	font-weight: 700;
	display: block;
}

.season__cast {
	margin-bottom: min(3rem, 2.196vw);
	font-size: min(2rem, 1.464vw);
	font-weight: 600;
}

.season__image {
	margin: 0 auto min(3rem, 2.196vw);
	width: min(47rem, 34.407vw);
}

.season__link {
	margin: 0 auto min(6rem, 4.392vw);
	padding-bottom: min(6rem, 4.392vw);
	width: min(50rem, 36.603vw);
	text-align: center;
	border-bottom: solid 1px rgb(var(--blk));
}

.season__link .link-button {
	margin-bottom: min(4rem, 2.928vw);
}

.season__link .link-button.twitter {
	background-color: rgb(var(--blk));
	background-image: url(../img/icon-x.webp), url(../img/arrow-link-wht.svg);
	background-position: center left min(3rem, 2.196vw), center right min(1.8rem, 1.318vw);
	background-repeat: no-repeat;
	background-size: min(2.4rem, 1.757vw) auto, min(2.6rem, 1.903vw) auto;
}

.season__link--text {
	margin-bottom: min(1rem, 0.732vw);
	line-height: 1.5;
	font-size: min(2.2rem, 1.611vw);
	font-weight: 600;
}

.season__link .hulu-switch {
	color: rgba(102, 174, 46, 1);
	font-size: min(1.8rem, 1.318vw);
	font-weight: 700;
	text-decoration: underline;
	cursor: pointer;
}

.season__link .hulu-switch:hover {
	text-decoration: none;
}

/* introduction */
.introduction {
	text-align: center;
}

.introduction__title {
	margin-bottom: min(2rem, 1.464vw);
	line-height: normal;
	color: rgb(var(--gold));
	font-size: min(4rem, 2.928vw);
	font-weight: 600;
}

.introduction__content--title {
	margin-bottom: min(1.6rem, 1.171vw);
	font-size: min(2.5rem, 1.83vw);
	font-weight: 600;
}

.introduction__content--detail .cast {
	margin-bottom: min(2.4rem, 1.757vw);
	color: rgba(127, 17, 32, 1);
	font-size: min(2.2rem, 1.611vw);
	font-weight: 600;
}

.introduction__content--detail .text {
	margin-top: 1em;
	font-size: min(1.6rem, 1.171vw);
	font-weight: 500;
}

@media screen and (max-width: 768px) {
	.about {
		background-image: url(../img/about-bg_sp.webp);
		padding: 12vw 0 21.333vw;
	}

	.about::before {
		background: linear-gradient(180deg, rgb(var(--wht)) 35%, rgba(var(--wht), 0) 100%);
		height: 216vw;
	}

	.about .container {
		width: 90.667vw;
	}

	.about__logo {
		margin-bottom: 8vw;
		width: 89.333vw;
	}

	.about__date {
		margin-bottom: 10.667vw;
		padding: 2.667vw 0;
		width: 71.467vw;
		font-size: 4.267vw;
	}

	.about__title {
		margin-bottom: 6.4vw;
		font-size: 4.8vw;
	}

	.about__title .carattere {
		margin-top: 0.15em;
		font-size: 13.333vw;
	}

	.about__collaboration {
		margin-bottom: 4vw;
	}

	.about__collaboration--title {
		font-size: 3.467vw;
	}

	.about__collaboration--date {
		font-size: 7.467vw;
	}

	.about__collaboration--date .week {
		font-size: 4.8vw;
	}

	.about__text {
		margin-bottom: 10.133vw;
		line-height: 1.8;
		font-size: 4.267vw;
		text-align: left;
	}

	/* season */
	.season {
		background-image: url(../img/season-bg_sp_.webp);
		background-size: 100% auto;
		width: 100%;
		height: 299.467vw;
	}

	.season__title {
		margin-bottom: 2.667vw;
		line-height: normal;
		font-size: 5.867vw;
		font-size: 4.8vw;
		text-align: center;
	}

	.season__date {
		margin-bottom: 3.2vw;
		font-size: 4vw;
		letter-spacing: -0.005em;
	}

	.season__date small {
		margin-top: 1.6vw;
		font-size: 3.467vw;
	}

	.season__cast {
		margin-bottom: 6.4vw;
		font-size: 4vw;
	}

	.season__image {
		margin-bottom: 4vw;
		width: 78.933vw;
	}

	.season__link {
		margin-bottom: 9.6vw;
		padding-bottom: 9.6vw;
		width: 78.933vw;
		border: none;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		position: relative;
	}

	.season__link::after {
		background-color: rgb(var(--blk));
		width: 48vw;
		height: 1px;
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
		content: "";
	}

	.season__link--text {
		line-height: 2;
	}

	.season__link .link-button {
		background-position: bottom 2.667vw center;
		background-size: 5.6vw auto;
		margin: 0;
		width: 38.5vw;
		height: 19.733vw;
		font-size: 2.933vw;
		text-align: center;
		letter-spacing: -0.005em;
	}

	.season__link .link-button.twitter {
		background-position: top 2.667vw center, bottom 2.667vw center;
		background-size: 4vw auto, 5.6vw auto;
	}

	.season__link--text {
		margin: 10.667vw 0 1em;
		width: 100%;
		font-size: 4.267vw;
		text-align: center;
	}

	.season__link .hulu-switch {
		margin: 0 auto;
		font-size: 3.733vw;
	}

	/* introduction */
	.introduction__title {
		margin-bottom: 5.333vw;
		font-size: 8vw;
	}

	.introduction__content--title {
		margin-bottom: 4vw;
		font-size: 4.8vw;
	}

	.introduction__content--detail .cast {
		margin-bottom: 6.4vw;
		line-height: 1.6;
		font-size: 4.267vw;
		letter-spacing: -0.005em;
	}

	.introduction__content--detail .text {
		padding: 0 7.2vw;
		font-size: 3.733vw;
		text-align: left;
	}
}


/* ----------------------------------------------------
	collaboration
---------------------------------------------------- */
.collaboration {
	background-color: rgb(var(--gold));
	padding: min(15rem, 10.981vw) 0;
}

.collaboration .container {
	width: min(88rem, 64.422vw);
}

.collaboration__title,
.collaboration__text {
	color: rgb(var(--wht));
	font-weight: 600;
	text-align: center;
}

.collaboration__title {
	margin-bottom: min(2.5rem, 1.83vw);
	font-size: min(6.5rem, 4.758vw);
}

.collaboration__text {
	font-size: min(2rem, 1.464vw);
}

.collaboration__nav--list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.collaboration__nav--list li {
	margin-top: min(5rem, 3.66vw);
	width: min(41.8rem, 30.6vw);
}

.collaboration__nav--list li a {
	background: linear-gradient(180deg, rgba(255, 252, 248, 0.7) 0%, rgba(219, 207, 191, 0.7) 100%);
	height: min(9.2rem, 6.735vw);
	font-size: min(2rem, 1.464vw);
	font-weight: 700;
	text-decoration: none;
	display: flex;
	justify-content: center;
	align-items: center;
}

.collaboration__nav--list li a .text {
	background-image: url(../img/arrow-nav.svg);
	background-position: bottom center;
	background-repeat: no-repeat;
	background-size: min(2rem, 1.464vw) auto;
	height: min(6rem, 4.392vw);
	display: inline-block;
}

@media screen and (max-width: 768px) {
	.collaboration {
		padding: 20.267vw 0;
	}

	.collaboration .container {
		width: 90.667vw;
	}

	.collaboration__title {
		margin-bottom: 6.4vw;
		font-size: 9.333vw;
	}

	.collaboration__text {
		font-size: 4.267vw;
		text-align: left;
	}

	.collaboration__nav--list li {
		margin-top: 4.8vw;
		width: 42.667vw;
	}

	.collaboration__nav--list li a {
		height: 12vw;
		font-size: 3.467vw;
		text-align: center;
		letter-spacing: -0.005em;
	}

	.collaboration__nav--list li a .text {
		background: none;
		padding: 0;
		line-height: 1.25;
		height: auto;
		display: flex;
		justify-content: center;
		align-items: center;
	}
}

/* ----------------------------------------------------
	hotels
---------------------------------------------------- */
.hotels {
	background-color: rgba(250, 240, 228, 1);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 100% auto;
	padding: min(12rem, 8.785vw) 0;
	border-bottom: solid 2px rgb(var(--gold));
	position: relative;
}

.hotels .container {
	width: min(92rem, 67.35vw);
}

.hotels__name {
	margin-bottom: min(5rem, 3.66vw);
	line-height: normal;
	color: rgb(var(--gold));
	font-size: min(4rem, 2.928vw);
	font-weight: 700;
	text-align: center;
}

.hotels__content {
	text-align: center;
}

.hotels__image {
	margin-bottom: min(6rem, 4.392vw);
}

.hotels__menu {
	font-weight: 500;
}

.hotels__menu--name {
	font-size: min(2.8rem, 2.05vw);
	font-weight: 700;
}

.hotels__menu--name small {
	line-height: 1;
	font-size: min(2rem, 1.464vw);
	display: block;
}

.hotels__menu--name .category {
	margin: 0 auto min(3rem, 2.196vw);
	width: min(31rem, 22.694vw);
	display: block;
}

.hotels__menu--price {
	margin-bottom: min(1.6rem, 1.171vw);
	font-size: min(2rem, 1.464vw);
}

.hotels__menu--price .space {
	width: 0.5em;
	display: inline-block;
}

.hotels__menu--date {
	margin: 0 auto min(1.6rem, 1.171vw);
	padding: 0 3em;
	line-height: 2;
	font-size: min(1.4rem, 1.025vw);
	border-top: solid 1px rgb(var(--blk));
	border-bottom: solid 1px rgb(var(--blk));
	display: inline-block;
}

.hotels__menu--text {
	margin-bottom: min(1.6rem, 1.171vw);
	font-size: min(1.6rem, 1.171vw);
}

.hotels__menu--place {
	font-size: min(1.6rem, 1.171vw);
}

.hotels__menu--place dt {
	color: rgb(var(--gold));
}

.hotels__menu--link {
	margin-top: min(4rem, 2.928vw);
	display: flex;
	justify-content: center;
}

.hotels__menu .link-button {
	background-color: rgba(127, 17, 32, 1);
	margin: 0 min(2.5rem, 1.83vw);
	transition: all 0.5s ease 0s;
}

.hotels__menu .link-button:hover {
	opacity: 0.6;
}

.hotels__menu .link-button.modal-switch {
	background-color: transparent;
	background-image: url(../img/arrow-link-blk.svg);
	color: rgb(var(--blk));
	border: solid 1px rgb(var(--blk));
	cursor: pointer;
}

/* slick */
.hotels__slide--item {
	line-height: 1.8;
}

.hotels__slide .slick-dots {
	top: min(56rem, 40.996vw);
}

.hotels__slide .slick-arrow {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: min(6.4rem, 4.685vw);
	height: min(6.4rem, 4.685vw);
	top: min(23.4rem, 17.13vw);
	transform: translate(0);
	transition: all 0.5s ease 0s;
	z-index: 1;
}

.hotels__slide .slick-prev {
	background-image: url(../img/btn-prev.svg);
	left: max(-13rem, -9.517vw);
}

.hotels__slide .slick-next {
	background-image: url(../img/btn-next.svg);
	right: max(-13rem, -9.517vw);
}

.hotels__slide .slick-arrow.slick-disabled {
	visibility: hidden;
	opacity: 0;
}

@media screen and (max-width: 768px) {
	.hotels {
		padding: 13.333vw 0;
	}

	.hotels .container {
		width: 90.667vw;
	}

	.hotels__name {
		margin-bottom: 6.4vw;
		font-size: 6.4vw;
	}

	.hotels__image {
		margin: 0 auto 8vw;
		width: 78.933vw;
	}

	.hotels__image img {
		border: solid 1px rgb(var(--gold));
	}

	.hotels__menu--name {
		font-size: 4.8vw;
	}

	.hotels__menu--name small {
		font-size: 3.733vw;
	}

	.hotels__menu--name .category {
		margin-bottom: 4vw;
		width: 62.933vw;
	}

	.hotels__menu--price {
		margin-bottom: 4vw;
		font-size: 3.733vw;
	}

	.hotels__menu--date {
		margin-bottom: 4vw;
		padding: 0.5em 1.5em;
		line-height: normal;
		font-size: 3.733vw;
	}

	.hotels__menu--date.flex {
		text-align: left;
		display: flex;
		justify-content: center;
	}

	.hotels__menu--text {
		margin-bottom: 4vw;
		font-size: 3.733vw;
		text-align: left;
	}

	.hotels__menu--place {
		font-size: 3.733vw;
	}

	.hotels__menu--link {
		margin-top: 6.4vw;
	}

	.hotels__menu .link-button {
		background-position: bottom 2.667vw center;
		background-size: 5.333vw auto;
		margin: 0;
		width: 42.667vw;
		height: 16vw;
		font-size: 3.733vw;
	}

	.hotels__menu .link-button.modal-switch {
		margin-right: 5.333vw;
	}

	/* slick */
	.hotels__slide .slick-dots {
		top: 49.067vw;
	}

	.hotels__slide .slick-arrow {
		width: 8vw;
		height: 8vw;
		top: 19.2vw;
	}

	.hotels__slide .slick-prev {
		left: -3.2vw;
	}

	.hotels__slide .slick-next {
		right: -3.2vw;
	}
}

/*
	kioicho
------------------------------ */
.kioicho {
	background-image: url(../img/kioicho-bg.webp);
	background-size: cover;
	padding: min(15rem, 10.981vw) 0;
	border-bottom: none;
}

.kioicho .hotels__name {
	margin-bottom: min(7rem, 5.124vw);
	color: rgb(var(--wht));
}

.kioicho__image {
	margin-bottom: min(7rem, 5.124vw);
	position: relative;
	cursor: pointer;
}

.kioicho__image::before {
	background-color: rgba(var(--blk), 0);
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	transition: all 0.5s ease 0s;
	content: "";
}

.kioicho__image:hover::before {
	background-color: rgba(var(--blk), 0.5);
}

.kioicho__image--caption {
	background-color: rgb(var(--gold));
	padding: 0.5em 0;
	color: rgb(var(--wht));
	font-size: min(2.7rem, 1.977vw);
	text-align: center;
	position: relative;
	z-index: 2;
}

.kioicho__image--caption span {
	background-image: url(../img/arrow-right-wht.svg);
	background-position: center right;
	background-repeat: no-repeat;
	background-size: min(1.2rem, 0.878vw) auto;
	padding-right: min(2.2rem, 1.611vw);
	display: inline-block;
}

/* levita */
.levita {
	background-image: url(../img/levita-bg.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	height: min(100.7rem, 73.719vw);
	display: flex;
	justify-content: center;
	align-items: center;
}

.levita__inner {
	width: min(82.6rem, 60.469vw);
	text-align: center;
}

.levita__title {
	color: rgb(var(--gold));
	font-family: var(--eng);
	font-size: min(4.6rem, 3.367vw);
	font-weight: 600;
}

.levita__image {
	margin-bottom: min(2rem, 1.538vw);
	position: relative;
}

.levita__image img {
	border: solid 1px rgb(var(--gold));
}

.levita__image figcaption {
	line-height: 2;
	font-family: var(--gothic);
	font-size: min(1.2rem, 0.923vw);
	text-align: right;
}

.levita__spot {
	margin-bottom: min(2.7rem, 1.977vw);
	padding-bottom: min(2.7rem, 1.977vw);
	border-bottom: solid 1px rgb(var(--gold));
}

.levita__spot--title {
	margin-bottom: min(1.6rem, 1.171vw);
	line-height: 1.5;
	font-size: min(2rem, 1.464vw);
	font-weight: 700;
}

.levita__spot--content {}

.levita__spot--content dt {
	margin-bottom: min(1rem, 0.732vw);
	font-size: min(1.6rem, 1.171vw);
}

.levita__spot--content dt span {
	background-color: rgb(var(--gold));
	margin-right: min(1.2rem, 0.878vw);
	padding: 0.2em 1em;
	color: rgb(var(--wht));
	font-size: min(1.4rem, 1.025vw);
}

.levita__spot--content dd {
	font-size: min(1.6rem, 1.171vw);
	font-weight: 500;
}

.levita__place {
	font-size: min(1.4rem, 1.025vw);
	font-weight: 500;
}

.levita__place--title {
	margin-bottom: min(1rem, 0.732vw);
	font-size: min(1.6rem, 1.171vw);
	font-weight: 700;
}

.levita__place--title a {
	color: rgb(var(--blk));
}

.levita__place--title a i {
	color: rgb(var(--gold));
}

.levita__place--text .text {
	margin-bottom: min(1rem, 0.732vw);
}

.levita__place--text a {
	color: rgb(var(--gold));
}

@media screen and (max-width: 768px) {
	.kioicho {
		padding: 16vw 0;
	}

	.kioicho .hotels__name {
		margin-bottom: 8vw;
	}

	.kioicho__image {
		margin-bottom: 5.333vw;
		border: solid 1px rgb(var(--gold));
	}

	.kioicho__image--caption {
		font-size: 4.8vw;
	}

	.kioicho__image--caption span {
		background-size: 1.867vw auto;
		padding-right: 7.2vw;
	}

	/* levita */
	.levita {
		background-image: url(../img/levita-bg_sp.webp);
		height: 205.867vw;
	}

	.levita__inner {
		width: 78.933vw;
		letter-spacing: -0.005em;
	}

	.levita__title {
		margin-bottom: 2.667vw;
		font-size: 6.933vw;
	}

	.levita__image {
		margin-bottom: 5.333vw;
	}

	.levita__image img {
		border: solid 1px rgb(var(--gold));
	}

	.levita__image figcaption {
		font-size: 2.133vw;
	}

	.levita__spot {
		margin-bottom: 5.333vw;
		padding-bottom: 5.333vw;
	}

	.levita__spot--title {
		margin-bottom: 4.267vw;
		font-size: 4.267vw;
	}

	.levita__spot--content dt {
		margin-bottom: 4.267vw;
		font-size: 3.733vw;
	}

	.levita__spot--content dt span {
		margin-right: 2.133vw;
		font-size: 3.467vw;
	}

	.levita__spot--content dd {
		font-size: 3.733vw;
		text-align: left;
	}

	.levita__place {
		font-size: 3.733vw;
	}

	.levita__place--title {
		margin-bottom: 2.667vw;
		font-size: 4vw;
	}

	.levita__place--text .text {
		text-align: left;
	}
}

/*
	kawagoe
------------------------------ */
#kawagoe {
	background-image: url(../img/kawagoe-bg.webp);
}

/*
	yokohama
------------------------------ */
#yokohama {
	background-image: url(../img/yokohama-bg.webp);
}

/*
	hiroshima
------------------------------ */
#hiroshima {
	background-image: url(../img/hiroshima01-bg.webp);
}

#hiroshima::after {
	background-image: url(../img/hiroshima02-bg.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100% auto;
	width: 100%;
	height: 66.764vw;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 1;
	content: "";
}

/*
	wine
------------------------------ */
.wine {
	margin-top: min(7rem, 5.124vw);
}

.wine__title {
	line-height: 1;
	color: rgb(var(--gold));
	font-size: min(2.1rem, 1.537vw);
	display: flex;
	justify-content: center;
	align-items: baseline;
}

.wine__title--jp {
	font-weight: 700;
}

.wine__title--pickup {
	font-size: min(3.3rem, 2.416vw);
	font-weight: 400;
}

.wine__title--en {
	font-family: var(--eng);
	font-size: min(4.9rem, 3.587vw);
	font-weight: 600;
}

.wine__content {
	margin: 0 auto;
	padding: min(3.2rem, 2.343vw) min(4.5rem, 3.294vw);
	color: rgb(var(--wht));
	width: min(92rem, 67.35vw);
	border: solid 1px rgb(var(--gold));
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
}

.wine__content::before {
	background-color: rgb(var(--gold));
	width: calc(100% - min(0.5rem, 0.366vw));
	height: calc(100% - min(0.5rem, 0.366vw));
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: -1;
	transform: translate(-50%, -50%);
	content: "";
}

.wine__content--detail {
	width: min(45.6rem, 33.382vw);
	text-align: left;
}

.wine__content--detail .title {
	margin-bottom: min(2rem, 1.464vw);
	font-size: min(2rem, 1.464vw);
	font-weight: 600;
}

.wine__content--detail .content .scene {
	margin-bottom: min(1rem, 0.732vw);
	font-size: min(1.6rem, 1.171vw);
}

.wine__content--detail .content .scene__title {
	background-color: rgb(var(--wht));
	margin-right: 0.5em;
	padding: 0 1em;
	color: rgb(var(--gold));
	font-size: min(1.4rem, 1.025vw);
}

.wine__content--detail .content .text {
	font-size: min(1.6rem, 1.171vw);
}

.wine__content--image {
	width: min(33.7rem, 24.671vw);
}

.wine__content--image figcaption {
	font-family: var(--gothic);
	font-size: min(1rem, 0.732vw);
	font-weight: 400;
	text-align: right;
}

@media screen and (max-width: 768px) {
	.wine {
		margin-top: 13.333vw;
	}

	.wine__title {
		font-size: 3.467vw;
	}

	.wine__title--jp {
		line-height: 2;
	}

	.wine__title--pickup {
		font-size: 5.333vw;
	}

	.wine__title--en {
		font-size: 8vw;
	}

	.wine__content {
		padding: 5.867vw;
		width: 90.667vw;
		flex-direction: column-reverse;
	}

	.wine__content::before {
		width: calc(100% - 1.333vw);
		height: calc(100% - 1.333vw);
	}

	.wine__content--detail {
		width: 100%;
	}

	.wine__content--detail .title {
		margin-bottom: min(2rem, 1.464vw);
		font-size: 4.267vw;
		text-align: center;
	}

	.wine__content--detail .content .scene {
		margin-bottom: 2.667vw;
		font-size: 3.733vw;
		text-align: center;
	}

	.wine__content--detail .content .scene__title {
		font-size: 3.467vw;
	}

	.wine__content--detail .content .text {
		font-size: 3.733vw;
	}

	.wine__content--image {
		margin-bottom: 2.667vw;
		width: 100%;
	}

	.wine__content--image figcaption {
		font-size: 2.133vw;
	}
}

/* ----------------------------------------------------
	original
---------------------------------------------------- */
.original {
	background-color: rgb(var(--gold));
	padding: min(9rem, 6.589vw) 0;
}

.original .container {
	background-color: rgba(250, 240, 228, 1);
	padding: min(6.6rem, 4.832vw) min(5rem, 3.66vw);
	width: min(100rem, 73.206vw);
	box-shadow: 0 0 6px 0 rgba(var(--blk), 0.25);
}

.original__title {
	margin-bottom: min(4rem, 2.928vw);
	line-height: normal;
	color: rgba(127, 17, 32, 1);
	font-size: min(4rem, 2.928vw);
	font-weight: 600;
	text-align: center;
}

.original__title--jp {
	color: rgb(var(--blk));
	font-family: var(--gothic);
	font-size: min(1.6rem, 1.171vw);
	display: block;
}

.original__content {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.original__image {
	width: min(27rem, 19.766vw);
	font-family: var(--gothic);
	font-size: min(1rem, 0.732vw);
	font-weight: 400;
}

.original__table {
	width: min(60rem, 43.924vw);
	font-family: var(--gothic);
	font-size: min(1.6rem, 1.171vw);
}

.original__table--row {}

.original__table--row:not(:last-of-type) .original__table--th,
.original__table--row:not(:last-of-type) .original__table--td {
	border-bottom: solid 1px rgba(113, 113, 113, 1);
}

.original__table--row .original__table--th,
.original__table--row .original__table--td {
	padding: 0.55em 0;
}

.original__table--row:first-of-type .original__table--th,
.original__table--row:first-of-type .original__table--td {
	padding-top: 0;
}

.original__table--th {
	width: min(15rem, 10.981vw);
	color: rgb(var(--gold));
	font-weight: 600;
	vertical-align: top;
}

.original__table--td {
	font-weight: 400;
}

.original__table--td .area {
	font-size: min(1.4rem, 1.025vw);
}

@media screen and (max-width: 768px) {
	.original {
		padding: 16vw 0;
	}

	.original .container {
		padding: 8vw 5.6vw;
		width: 90.667vw;
	}

	.original__title {
		margin-bottom: 6.4vw;
		font-size: 8vw;
	}

	.original__title--jp {
		font-size: 3.733vw;
	}

	.original__content {
		display: block;
	}

	.original__image {
		margin: 0 auto 4.8vw;
		width: 61.333vw;
		line-height: 2;
		font-size: 2.133vw;
		text-align: center;
	}

	.original__table,
	.original__table tbody,
	.original__table--row,
	.original__table--row .original__table--th,
	.original__table--row .original__table--td {
		display: block;
	}

	.original__table {
		width: 100%;
		font-size: 3.733vw;
	}

	.original__table--row:not(:last-of-type) .original__table--th {
		border: none;
	}

	.original__table--row .original__table--th,
	.original__table--row .original__table--td {
		padding: 0;
	}

	.original__table--th {
		width: 100%;
	}

	.original__table--td {
		font-size: 3.467vw;
		letter-spacing: -0.005em;
	}

	.original__table--row:not(:last-of-type) .original__table--td {
		margin-bottom: 1em;
		padding-bottom: 1em;
	}

	.original__table--td .area {
		font-size: 2.933vw;
	}
}

/* ----------------------------------------------------
	footer
---------------------------------------------------- */
.footer {
	background-color: rgb(var(--footer));
	padding: min(7rem, 5.124vw) 0;
	color: rgb(var(--wht));
	font-family: var(--gothic);
}

.footer__note {
	margin: 0 auto min(7rem, 5.124vw);
	width: min(100rem, 73.206vw);
}

.footer .hotel-list {
	margin-bottom: min(5rem, 3.66vw);
	font-size: min(1.6rem, 1.171vw);
	display: flex;
	justify-content: center;
}

.footer .hotel-list__item {
	margin: 0 1em;
}

.footer .hotel-list__item a {
	text-decoration: none;
	display: inline-flex;
}

.footer .hotel-list__item a::before {
	content: "＞";
}

@media screen and (max-width: 768px) {
	.footer {
		padding: 8vw 0;
	}

	.footer__note {
		margin-bottom: 9.6vw;
		width: 90.667vw;
	}

	.footer .hotel-list {
		margin: 0 auto 10.667vw;
		width: 90.667vw;
		font-size: 3.467vw;
		display: block;
	}

	.footer .hotel-list__item {
		margin: 0;
	}

	.footer .hotel-list__item:not(:last-of-type) {
		margin-bottom: 1em;
	}

	.footer .hotel-list__item a .space {
		width: 0.5em;
		display: inline-block;
	}
}

/* 
	hotel-nav 
------------------------------ */
.footer .hotel-nav {
	margin-bottom: min(2rem, 1.464vw);
	line-height: 1;
	font-size: min(1.8rem, 1.318vw);
	display: flex;
	justify-content: center;
	align-items: center;
}

.footer .hotel-nav::before,
.footer .hotel-nav__item::after {
	content: "|";
}

.footer .hotel-nav__item a {
	padding: 0 1em;
	text-decoration: none;
	letter-spacing: normal;
}

@media screen and (max-width: 768px) {
	.footer .hotel-nav {
		margin-bottom: 2.667vw;
		font-size: 4vw;
	}
}

/* 
	copy
------------------------------ */
.footer .copy {
	text-align: center;
}

@media screen and (max-width: 768px) {
	.footer .copy {
		font-size: 2.133vw;
	}
}