@charset "UTF-8";

/* ----------------------------------------------------
	header
---------------------------------------------------- */
.header {
	box-shadow: 0 min(2rem, 1.563vw) min(3rem, 2.344vw) rgba(var(--blk), 0.2);
	position: relative;
	z-index: 2;
}

@media screen and (max-width: 768px) {}

/* ----------------------------------------------------
	lead
---------------------------------------------------- */
.lead {
	background-image: url(../img/lead_bg-illustration.webp), url(../img/lead_bg.webp);
	background-position: center bottom, center top;
	background-repeat: no-repeat, no-repeat;
	background-size: 100% auto, cover;
}

.lead__inner {
	margin: 0 auto;
	width: min(90rem, 70.313vw);
}

.lead__content {
	background-image: url(../img/lead-title_bg.webp);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 100% auto;
	margin-bottom: min(10rem, 7.813vw);
	padding-top: min(5.3rem, 4.141vw);
	width: 100%;
	height: min(79.6rem, 62.188vw);
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.lead__content--logo {
	margin-bottom: min(4rem, 3.125vw);
	width: min(71.5rem, 55.859vw);
}

.lead__content--title {
	margin-bottom: min(2rem, 1.563vw);
	display: flex;
	flex-direction: column;
}

.lead__content--title img {
	margin-bottom: min(2rem, 1.563vw);
	width: min(64rem, 50vw);
}

.lead__content--title-text {
	color: rgb(var(--yel));
	font-size: min(3rem, 2.344vw);
	font-weight: 700;
}

.lead__content--text {
	line-height: 2;
	color: rgb(var(--wht));
	font-size: min(2.2rem, 1.719vw);
	font-weight: 600;
}

@media screen and (max-width: 768px) {
	/* .lead {
		background-image: url(../img/lead_bg-illustration.webp), url(../img/lead_bg.webp);
		background-position: center bottom, center top;
		background-repeat: no-repeat, no-repeat;
		background-size: 100% auto, cover;
	} */

	.lead__inner {
		width: 100%;
	}

	.lead__content {
		background-image: url(../img/lead-title_bg_sp.webp);
		margin-bottom: 13.333vw;
		padding-top: 13.333vw;
		width: 100%;
		height: 150.443vw;
	}

	.lead__content--logo {
		margin-bottom: 13.333vw;
		width: 80vw;
	}

	.lead__content--title {
		margin-bottom: 2.667vw;
		align-items: center;
	}

	.lead__content--title img {
		margin-bottom: 5.333vw;
		width: 85.333vw;
	}

	.lead__content--title-text {
		line-height: 1.4;
		font-size: 6.667vw;
	}

	.lead__content--text {
		line-height: 1.5;
		font-size: 5.333vw;
	}
}

/*
	story
------------------------------ */
.story {
	padding-bottom: 14.063vw;
}

.story__switch {
	margin: 0 auto;
	width: min(31.5rem, 24.609vw);
	position: relative;
	z-index: 2;
	cursor: pointer;
}

.story__switch::before {
	background: rgb(var(--yel));
	width: min(2.1rem, 1.641vw);
	height: min(1rem, 0.781vw);
	clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
	position: absolute;
	top: 50%;
	right: min(2.9rem, 2.266vw);
	transform: translateY(-50%) rotate(180deg);
	content: "";
}

.story__content {
	background: rgb(var(--wht));
	padding: min(7rem, 5.469vw) min(4.5rem, 3.516vw) min(6.3rem, 4.922vw) min(7rem, 5.469vw);
	position: relative;
	top: max(-2.7rem, -2.109vw);
	z-index: 1;
	visibility: hidden;
	opacity: 0;
	transition: all 0.5s ease 0s;
}

.story__content--text,
.story .character {
	font-size: min(1.8rem, 1.406vw);
}

.story .character {
	background: url(../img/character-bg.webp) center right no-repeat;
	background-size: min(48rem, 37.5vw) auto;
}

.story__content--text:not(:first-of-type),
.story__character {
	margin-top: 1em;
}

.story__character {
	display: flex;
	align-items: center;
}

.story__character img {
	width: min(6rem, 4.688vw);
}

.story__character img:not(:first-of-type) {
	margin-left: min(1rem, 0.781vw);
}

.story__character--icon {}

.story__character--text {
	margin-left: 1em;
}

/* is-open */
.is-open.story {
	padding-bottom: 32.813vw;
}

.is-open .story__switch::before {
	transform: translateY(-50%) rotate(0);
}

.is-open .story__content {
	visibility: visible;
	opacity: 1;
}

@media screen and (max-width: 768px) {
	.story {
		padding-bottom: 96vw;
	}

	.story__switch {
		width: 84vw;
	}

	.story__switch::before {
		width: 5.6vw;
		height: 2.667vw;
		right: 7.467vw;
	}

	.story__content {
		margin: 0 auto;
		padding: 10.667vw 8vw;
		display: none;
		width: 84vw;
		top: 0;
	}

	.story__content--text,
	.story .character {
		font-size: 4.267vw;
	}

	.story .character {
		background: none;
	}

	.story__character img {
		width: 12.8vw;
	}

	.story__character img:not(:first-of-type) {
		margin-left: 2.667vw;
	}

	/* is-open */
	.is-open.story {
		padding-bottom: 0;
	}

	.is-open.story {
		padding-bottom: 96vw;
	}

	.is-open .story__content {
		display: block;
	}
}

/* ----------------------------------------------------
	plan
---------------------------------------------------- */
.plan {
	background-image: url(../img/plan_bg.webp);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	margin-bottom: -31.25vw;
	padding-bottom: 12.188vw;
	position: relative;
	top: -31.25vw;
}

.plan__inner {
	margin: 0 auto;
	width: min(90rem, 70.313vw);
}

.plan__title {
	margin-bottom: min(7rem, 5.469vw);
	display: flex;
	flex-direction: column;
	align-items: center;
}

.plan__title--text {
	margin-top: min(3.2rem, 2.5vw);
	color: rgb(var(--wht));
	font-size: min(2.5rem, 1.953vw);
}

@media screen and (max-width: 768px) {
	.plan {
		margin-bottom: -32vw;
		padding-bottom: 20vw;
		top: -32vw;
	}

	.plan__inner {
		width: 90.667vw;
	}

	.plan__title {
		margin-bottom: 13.333vw;
		text-align: center;
	}

	.plan__title--text {
		margin-top: 5.333vw;
		font-size: 4vw;
	}
}

/*
	plan__about
------------------------------ */
.plan__about {
	background: rgb(var(--wht));
	margin: 0 auto min(9.5rem, 7.422vw);
	padding: min(5rem, 3.906vw) min(3.5rem, 2.734vw);
	width: min(70rem, 54.688vw);
	text-align: center;
}

.plan__about--title {
	margin-bottom: min(1rem, 0.781vw);
	font-size: min(3.5rem, 2.734vw);
}

.plan__about--text {
	font-size: min(2.2rem, 1.719vw);
}

.plan__about--date {
	margin: 1em 0;
	padding: 0.5em 0;
	font-size: min(2.5rem, 1.953vw);
	border-top: solid 1px rgb(var(--blk));
	border-bottom: solid 1px rgb(var(--blk));
}

.plan__about--date small {
	font-size: 0.7em;
}

.plan__about .link-button {
	margin: 0 auto min(2rem, 1.563vw);
}

.plan__about .note {
	text-align: left;
}

@media screen and (max-width: 768px) {
	.plan__about {
		margin-bottom: 13.333vw;
		padding: 8vw 6.4vw;
		width: 85.333vw;
	}

	.plan__about--title {
		margin-bottom: 5.333vw;
		line-height: 1;
		font-size: 6.667vw;
	}

	.plan__about--text {
		line-height: 1.5;
		font-size: 4.8vw;
	}

	.plan__about--date {
		line-height: 1.5;
		font-size: 5.333vw;
	}

	.plan__about .link-button {
		margin-bottom: 5.333vw;
	}
}

/*
	plan__list
------------------------------ */
.plan__list {
	margin: 0 auto;
	width: min(70rem, 54.688vw);
	color: rgb(var(--wht));
}

.plan__list--title {
	margin-bottom: min(5rem, 3.906vw);
	padding: 0.5em 0;
	font-size: min(2.2rem, 1.719vw);
	font-weight: 600;
	text-align: center;
	border-top: solid 1px rgb(var(--wht));
	border-bottom: solid 1px rgb(var(--wht));
}

.plan__list--content {
	margin-bottom: min(9rem, 7.031vw);
	text-align: center;
}

.plan__list--content-inner {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

.plan__list--content-inner .plan__list--detail {
	width: min(33rem, 25.781vw);
}

.plan__list--detail-text {
	line-height: 1.5;
	font-size: min(2rem, 1.563vw);
}

.plan__list--detail-text b {
	font-size: 1.14em;
}

.plan__list--detail-text small {
	font-size: 0.7em;
}

.plan__list--detail-text:not(:last-of-type) {
	margin-bottom: 1em;
}

.plan__list--detail .link-button {
	margin: min(5rem, 3.906vw) auto 0;
}

.plan .faq {
	margin: 0 auto min(8rem, 6.25vw);
	width: min(54.1rem, 42.266vw);
}

@media screen and (max-width: 768px) {
	.plan__list {
		width: 85.333vw;
	}

	.plan__list--title {
		margin-bottom: 13.333vw;
		font-size: 5.867vw;
	}

	.plan__list--content {
		margin-bottom: 13.333vw;
		text-align: center;
	}

	.plan__list--content-inner {
		display: block;
	}

	.plan__list--content-inner .plan__list--detail {
		margin-bottom: 13.333vw;
		width: 100%;
	}

	.plan__list--detail-text {
		font-size: 5.867vw;
	}

	.plan__list--detail-text b {
		font-size: 1.14em;
	}

	.plan__list--detail .link-button {
		margin-top: 13.333vw;
	}

	.plan .faq {
		margin-bottom: 13.333vw;
		width: 85.333vw;
	}
}

/*
	spgr
------------------------------ */
.spgr {
	background: rgb(var(--wht));
	margin: 0 auto;
	padding: min(0.8rem, 0.625vw);
	width: min(70rem, 54.688vw);
	border: solid 2px #91813e;
}

.spgr__inner {
	padding: min(4.8rem, 3.75vw) min(3.6rem, 2.813vw);
	border: solid 1px #91813e;
}

.spgr__logo {
	margin: 0 auto min(3rem, 2.344vw);
	width: min(17.4rem, 13.594vw);
}

.spgr__content {
	text-align: center;
}

.spgr__content--title {
	color: #91813e;
	font-size: min(2rem, 1.563vw);
	font-weight: 700;
}

.spgr__content--detail .text {
	margin: 0.5em 0;
	font-size: min(1.6rem, 1.25vw);
}

.spgr__content--detail .note {
	margin-bottom: 1em;
}

.spgr__content--detail .link-button {
	margin: 0 auto;
}

@media screen and (max-width: 768px) {
	.spgr {
		padding: 2.133vw;
		width: 85.333vw;
	}

	.spgr__inner {
		padding: 6.933vw 0;
	}

	.spgr__logo {
		margin-bottom: min(3rem, 2.344vw);
		width: 46.4vw;
	}

	.spgr__content--title {
		line-height: 1.5;
		font-size: 4.8vw;
	}

	.spgr__content--detail .text {
		font-size: 4.267vw;
	}
}

/* ----------------------------------------------------
	room
---------------------------------------------------- */
.room {
	background: #001735;
	background: linear-gradient(0deg, rgba(0, 23, 53, 1) 0%, rgba(145, 0, 65, 1) 100%);
	padding-bottom: min(19rem, 14.844vw);
	color: rgb(var(--wht));
	text-align: center;
	position: relative;
}

.room::before,
.room::after {
	width: 100%;
	position: absolute;
	left: 0;
	z-index: 1;
	content: "";
}

.room::before {
	background: url(../img/room-bg.webp) center top no-repeat;
	background-size: 100% auto;
	height: 7.031vw;
	top: -7.031vw;
}

.room::after {
	background: url(../img/drink-bg-bubble.webp) center no-repeat;
	background-size: cover;
	height: 158.438vw;
	mix-blend-mode: screen;
	opacity: 0.5;
	bottom: 0;
	content: "";
}

.room__title {
	margin: 0 auto min(3rem, 2.344vw);
	width: min(87.7rem, 68.516vw);
}

.room__lead {
	margin-bottom: min(10rem, 7.813vw);
	font-size: min(1.8rem, 1.406vw);
}

@media screen and (max-width: 768px) {
	.room {
		padding-bottom: 26.667vw;
	}

	.room::before {
		background: url(../img/room-bg.webp) center top no-repeat;
		background-size: 100% auto;
		height: 7.031vw;
		top: -7.031vw;
	}

	.room::after {
		background: url(../img/bubble_sp.webp) center no-repeat;
		background-size: cover;
		height: 401.752vw;
		mix-blend-mode: screen;
		opacity: 0.5;
		bottom: 24vw;
		content: "";
	}

	.room__title {
		margin-bottom: 8vw;
		width: 91.733vw;
	}

	.room__lead {
		margin-bottom: 8vw;
		font-size: 4.8vw;
	}
}

/*
	room__slide
------------------------------ */
.room__slide {
	margin: 0 auto min(5rem, 3.906vw);
	width: min(70rem, 54.688vw);
}

.room .slick-arrow {
	width: min(3rem, 2.344vw);
	height: min(3rem, 2.344vw);
	border-top: solid 2px rgb(var(--yel));
	border-right: solid 2px rgb(var(--yel));
	top: auto;
	bottom: 0;
	z-index: 10;
}

.room .slick-arrow::before {
	content: "";
}

.room .slick-prev {
	left: 40%;
	transform: rotate(-135deg);
}

.room .slick-next {
	right: 40%;
	transform: rotate(45deg);
}

.room .slick-num {
	margin-top: min(2rem, 1.563vw);
	height: min(3rem, 2.344vw);
	font-size: min(1.8rem, 1.406vw);
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}

@media screen and (max-width: 768px) {
	.room__slide {
		margin-bottom: 13.333vw;
		width: 80vw;
	}

	.room .slick-arrow {
		width: 5.333vw;
		height: 5.333vw;
	}

	.room .slick-prev {
		left: 35%;
	}

	.room .slick-next {
		right: 35%;
	}

	.room .slick-num {
		margin-top: 3.2vw;
		height: 5.333vw;
		font-size: 4.267vw;
	}
}

/*
	room__goods
------------------------------ */
.room__goods {
	background: url(../img/room-goods-bg.webp) center no-repeat;
	background-size: auto 100%;
	margin-bottom: min(10rem, 7.813vw);
}

.room__goods--content {
	background: rgba(0, 23, 53, 0.3);
	margin: 0 auto;
	padding: min(8rem, 6.25vw) 0;
	width: min(90rem, 70.313vw);
	position: relative;
	z-index: 2;
}

.room__goods--title {
	margin: 0 auto min(2rem, 1.563vw);
	width: min(29rem, 22.656vw);
}

.room__goods--lead {
	margin-bottom: min(6rem, 4.688vw);
	font-size: min(1.8rem, 1.406vw);
}

.room__goods--list {
	margin: 0 auto min(5rem, 3.906vw);
	width: min(72rem, 56.25vw);
	display: flex;
	justify-content: space-between;
}

.room__goods--list-item {}

.room__goods--list-item .image__inner {
	height: min(22.6rem, 17.656vw);
	display: flex;
	justify-content: center;
	align-items: center;
}

.room__goods--list-item.goods01 img {
	width: min(20.9rem, 16.328vw);
}

.room__goods--list-item.goods02 img {
	width: min(20.5rem, 16.016vw);
}

.room__goods--list-item.goods03 img {
	width: min(22.6rem, 17.656vw);
}

.room__goods--list-item figcaption {
	font-size: min(1.7rem, 1.328vw);
}

.room__goods--text {
	background: #6a4099;
	margin: 0 auto min(6rem, 4.688vw);
	width: min(72rem, 56.25vw);
	font-size: min(1.7rem, 1.328vw);
}

.room__goods .note {
	margin: 0 auto;
	width: min(72rem, 56.25vw);
	text-align: left;
}

@media screen and (max-width: 768px) {
	.room__goods {
		background: none;
		margin-bottom: 13.333vw;
	}

	.room__goods--content {
		padding: 13.333vw 0;
		width: 100%;
	}

	.room__goods--title {
		margin-bottom: 6.4vw;
		width: 67.733vw;
	}

	.room__goods--lead {
		margin-bottom: 13.333vw;
		font-size: 4.8vw;
	}

	.room__goods--list {
		margin-bottom: 13.333vw;
		width: 80vw;
		display: block;
	}

	.room__goods--list-item:not(:last-of-type) {
		margin-bottom: 8vw;
	}

	.room__goods--list-item .image__inner {
		height: auto;
	}

	.room__goods--list-item.goods01 img {
		width: 44.267vw;
	}

	.room__goods--list-item.goods02 img {
		width: 44vw;
	}

	.room__goods--list-item.goods03 img {
		width: 48.267vw;
	}

	.room__goods--list-item figcaption {
		margin-top: 0.5em;
		font-size: 4.267vw;
	}

	.room__goods--text {
		margin-bottom: 2em;
		padding: 0.25em 0;
		width: 80vw;
		line-height: 1.5;
		font-size: 4.267vw;
		text-align: center;
	}

	.room__goods .note {
		width: 80vw;
	}
}

/*
	schedule
------------------------------ */
.schedule {
	margin: 0 auto;
	width: min(80rem, 62.5vw);
	position: relative;
	z-index: 2;
}

.schedule__title {
	margin: 0 auto 2rem;
	width: min(34rem, 26.563vw);
}

.schedule__title-member {
	margin-bottom: min(3rem, 2.344vw);
	font-size: min(2.2rem, 1.719vw);
}

.price {}

.price__title {
	margin-bottom: 1rem;
	font-size: min(1.8rem, 1.406vw);
}

.price__content {
	margin-bottom: min(8rem, 6.25vw);
	font-size: min(2.4rem, 1.875vw);
}

.price__content--inner {
	margin-bottom: min(5rem, 3.906vw);
	padding: 1rem 0;
	border-top: solid 1px rgb(var(--wht));
	border-bottom: solid 1px rgb(var(--wht));
}

.price__table {
	margin: 0 auto;
}

.price__table small {
	font-size: 0.7em;
}

.price__table small.space {
	padding-left: 1em;
	display: inline-block;
}

.price__table--th,
.price__table--td {
	text-align: left;
	vertical-align: baseline;
}

.price__table--th {
	padding-right: 1em;
	font-size: 0.7em;
	white-space: nowrap;
}

.price__content .link-button {
	margin: 0 auto;
}

@media screen and (max-width: 768px) {
	.schedule {
		margin: 0 auto;
		width: 80vw;
	}

	.schedule__title {
		margin-bottom: 8vw;
		width: 100%;
	}

	.schedule__title-member {
		margin-bottom: 4vw;
		font-size: 4.267vw;
	}

	.price__title {
		font-size: 4vw;
	}

	.price__content {
		margin-bottom: 16vw;
		font-size: 5.333vw;
	}

	.price__content--inner {
		margin-bottom: 8vw;
		padding: 1em 0;
	}

	.price__table {
		margin: 0;
		line-height: 1.5;
		text-align: left;
	}

	.price__table small.space {
		padding-left: 0;
	}
}

/*
	calendar
------------------------------ */
.calendar {
	margin: 0 auto min(5rem, 3.906vw);
	width: min(80rem, 62.5vw);
	position: relative;
	z-index: 2;
}

.calendar__tab {
	border-bottom: solid min(1.3rem, 1.016vw) #5e0052;
	display: flex;
}

.calendar__tab--item {
	background: #35353e;
	width: calc((100% - min(0.9rem, 0.703vw)) / 4);
	height: min(5.8rem, 4.531vw);
	font-size: min(2.3rem, 1.797vw);
	font-weight: 800;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: all 0.5s ease 0s;
	cursor: pointer;
}

.calendar__tab--item:hover,
.calendar__tab--item.is-active {
	background: #5e0052;
	color: rgb(var(--yel));
}

.calendar__tab--item b {
	font-size: 1.3em;
	font-weight: 800;
}

.calendar__tab--item:not(:last-of-type) {
	margin-right: min(0.3rem, 0.234vw);
}

.calendar__content {
	background: rgb(var(--wht));
	padding: min(0.8rem, 0.625vw);
	display: none;
}

.calendar__content.is-active {
	display: block;
}

.calendar__note {
	margin: 1em auto 0;
	font-size: min(2rem, 1.563vw);
	display: flex;
	justify-content: center;
}

.calendar__note+.note li {
	font-size: min(2rem, 1.563vw);
}

.calendar+.note {
	margin: 0 auto;
	width: min(80rem, 62.5vw);
	text-align: left;
}

@media screen and (max-width: 768px) {
	.calendar {
		margin-bottom: 12vw;
		width: 80vw;
	}

	.calendar__tab {
		border-bottom-width: 1.333vw;
		display: flex;
	}

	.calendar__tab--item {
		width: calc((100% - 0.8vw) / 4);
		height: 8vw;
		font-size: 2.667vw;
	}

	.calendar__tab--item:not(:last-of-type) {
		margin-right: 0.267vw;
	}

	.calendar__content {
		padding: 1.333vw;
	}

	.calendar__note,
	.calendar__note+.note li {
		font-size: 4vw;
	}

	.calendar__note {
		margin: 1em 0 0;
		justify-content: flex-start;
	}

	.calendar__note--title {
		white-space: nowrap;
	}

	.calendar__note--content {
		text-align: left;
	}

	.calendar__note+.note li {
		text-align: left;
	}

	.calendar+.note {
		width: 80vw;
	}
}

/* ----------------------------------------------------
	tea
---------------------------------------------------- */
.tea {
	background: #001735;
	background: linear-gradient(0deg, rgba(0, 23, 53, 1) 0%, rgba(106, 64, 153, 1) 100%);
	color: rgb(var(--wht));
	text-align: center;
	position: relative;
}

.tea::before {
	background: url(../img/tea-bg.webp) center top no-repeat;
	background-size: 100% auto;
	width: 100%;
	height: 7.031vw;
	position: absolute;
	top: -7.031vw;
	left: 0;
	content: "";
}

.tea__title {
	margin: 0 auto min(3rem, 2.344vw);
	width: min(92.6rem, 72.344vw);
}

.tea__date-list {
	margin-bottom: min(3rem, 2.344vw);
	color: rgb(var(--yel));
	font-size: min(2.5rem, 1.953vw);
	font-weight: 600;
	text-align: center;
	display: flex;
	justify-content: center;
}

.tea__date-list--item {
	margin: 0 min(4rem, 3.125vw);
}

.tea__date-list--item small {
	font-size: 0.7em;
}

.tea__lead {
	margin-bottom: min(15rem, 11.719vw);
	font-size: min(1.8rem, 1.406vw);
}

@media screen and (max-width: 768px) {
	.tea::before {
		height: 12vw;
		top: -12vw;
	}

	.tea__title {
		margin-bottom: 8vw;
		width: 96.8vw;
	}

	.tea__date-list {
		margin-bottom: 0;
		font-size: 5.333vw;
		display: block;
	}

	.tea__date-list--item {
		margin: 0 0 1em;
		line-height: 1.5;
	}

	.tea__date-list--item small {
		font-size: 0.7em;
	}

	.tea__lead {
		margin-bottom: 21.333vw;
		font-size: 4.8vw;
	}
}

/*
	tab
------------------------------ */
.tab {
	position: relative;
}

.tab__switch {
	margin: 0 auto;
	width: min(88rem, 68.75vw);
	display: flex;
	justify-content: space-between;
	position: absolute;
	top: max(-6rem, -4.688vw);
	left: 50%;
	transform: translateX(-50%);
}

.tab__switch--item {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: min(28rem, 21.875vw);
}

.tab__switch--item img {
	opacity: 0;
	transition: all 0.5s ease 0s;
	cursor: pointer;
}

.tab__switch--item:hover img,
.tab__switch--item.is-active img {
	opacity: 1;
}

.tab__content {
	padding: min(12rem, 9.375vw) 0;
	display: none;
}

.tab__content.is-active {
	display: block;
}

.tab__content--inner {
	margin: 0 auto;
	width: min(70rem, 54.688vw);
}

.tea__name {
	margin-bottom: min(10rem, 7.813vw);
	font-size: min(2.6rem, 2.031vw);
	font-weight: 600;
	text-align: left;
}

.tea__name small {
	font-size: min(2rem, 1.563vw);
	display: block;
}

.tab__image figcaption {
	margin-top: min(6rem, 4.688vw);
	font-size: min(2rem, 1.563vw);
	text-align: center;
}

/* first */
.tab__content.first {
	background: #2C1084;
	background: linear-gradient(0deg, rgba(44, 16, 132, 1) 0%, rgba(156, 143, 255, 1) 100%);
}

.tab__switch--item.first {
	background-image: url(../img/tab-first_half_off.webp);
}


/*
.first .tab__image {
	text-align: left;
}

.first .tab__image img {
	width: min(19.6rem, 15.313vw);
}
*/
/* second */
.tab__switch--item.second {
	background-image: url(../img/tab-second_half_off.webp);
}

.tab__content.second {
	background: #5E0052;
	background: linear-gradient(0deg, rgba(94, 0, 82, 1) 0%, rgba(159, 23, 0, 1) 100%);
}
.first .tab__image img,
.second .tab__image img {
	width: min(64.4rem, 50.313vw);
}

@media screen and (max-width: 768px) {
	.tab__switch {
		width: 93.333vw;
		top: -9.067vw;
	}

	.tab__switch--item {
		width: 41.867vw;
	}

	.tab__content {
		padding: 18.667vw 0;
	}

	.tab__content--inner {
		width: 80vw;
	}

	.tea__name {
		margin-bottom: 13.333vw;
		font-size: 4.8vw;
		font-weight: 600;
		text-align: left;
	}

	.tea__name small {
		font-size: 4vw;
	}

	.tab__image figcaption {
		margin-top: 6.4vw;
		font-size: 4vw;
	}

	.first .tab__image img,
	.second .tab__image img {
		width: 60.267vw;
	}

	.first .tab__image {
		text-align: center;
	}
}

/*
	tab__slide
------------------------------ */
.tab__slide {
	position: relative;
}

.tab .slick-arrow {
	width: min(3rem, 2.344vw);
	height: min(3rem, 2.344vw);
	border-top: solid 2px rgb(var(--yel));
	border-right: solid 2px rgb(var(--yel));
	top: auto;
	bottom: max(-5rem, -3.906vw);
	z-index: 10;
}

.tab .slick-arrow::before {
	content: "";
}

.tab .slick-prev {
	left: 40%;
	transform: rotate(-135deg);
}

.tab .slick-next {
	right: 40%;
	transform: rotate(45deg);
}

.tab__counter {
	margin: min(2rem, 1.563vw) 0 min(5rem, 3.906vw);
	height: min(3rem, 2.344vw);
	font-size: min(1.8rem, 1.406vw);
	display: flex;
	justify-content: center;
	align-items: center;
}

@media screen and (max-width: 768px) {
	.tab .slick-arrow {
		width: 5.333vw;
		height: 5.333vw;
		bottom: -10.133vw;
	}

	.tab .slick-prev {
		left: 35%;
	}

	.tab .slick-next {
		right: 35%;
	}

	.tab__counter {
		margin: 0 0 4.8vw;
		height: 15.467vw;
		font-size: 4.267vw;
	}
}

/* ----------------------------------------------------
	drink
---------------------------------------------------- */
.drink {
	background: #000F31;
	background: linear-gradient(0deg, rgba(0, 15, 49, 1) 0%, rgba(41, 36, 94, 1) 100%);
	color: rgb(var(--wht));
	position: relative;
}

.drink::before {
	background: url(../img/drink-bg-bubble.webp) center no-repeat;
	background-size: cover;
	width: 100%;
	height: 158.438vw;
	mix-blend-mode: screen;
	opacity: 0.5;
	position: absolute;
	top: 7.578vw;
	left: 0;
	content: "";
}

.drink__inner {
	padding: min(9rem, 7.031vw) 0;
	position: relative;
	z-index: 2;
}

.drink__title {
	margin: 0 auto min(7rem, 5.469vw);
	width: min(66.4rem, 51.875vw);
	position: relative;
}

.drink__title::before {
	background: url(../img/drink-title-obj.webp);
	background-size: cover;
	width: min(12.8rem, 10vw);
	height: min(7.8rem, 6.094vw);
	position: absolute;
	top: min(2rem, 1.563vw);
	right: max(-11rem, -8.594vw);
	content: "";
}

.drink__content {
	margin: 0 auto;
	width: min(70rem, 54.688vw);
}

@media screen and (max-width: 768px) {
	.drink::before {
		background-image: url(../img/drink-bg-bubble_sp.webp);
		height: 414vw;
		top: auto;
		bottom: 0;
	}

	.drink__inner {
		padding: 13.333vw 0;
	}

	.drink__title {
		margin-bottom: 5.333vw;
		width: 75.2vw;
	}

	.drink__title img {
		position: relative;
		right: 4vw;
	}

	.drink__title::before {
		width: 17.333vw;
		height: 10.667vw;
		top: 1.6vw;
		right: -8vw;
	}

	.drink__content {
		width: 80vw;
	}
}

/*
	drink__slide
------------------------------ */
.drink__slide--item {
	padding: 0 min(1rem, 0.781vw);
}

.drink .slick-arrow {
	width: min(3rem, 2.344vw);
	height: min(3rem, 2.344vw);
	border-top: solid 2px rgb(var(--yel));
	border-right: solid 2px rgb(var(--yel));
	top: auto;
	bottom: 0;
	z-index: 10;
}

.drink .slick-arrow::before {
	content: "";
}

.drink .slick-prev {
	left: 45%;
	transform: rotate(-135deg);
}

.drink .slick-next {
	right: 45%;
	transform: rotate(45deg);
}

.drink .slick-num {
	margin-top: min(2rem, 1.563vw);
	height: min(3rem, 2.344vw);
	font-size: min(1.8rem, 1.406vw);
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}

@media screen and (max-width: 768px) {
	.drink__slide--item {
		padding: 0 0.8vw;
	}

	.drink .slick-arrow {
		width: 5.333vw;
		height: 5.333vw;
	}

	.drink .slick-prev {
		left: 35%;
	}

	.drink .slick-next {
		right: 35%;
	}

	.drink .slick-num {
		margin-top: 3.2vw;
		height: 5.333vw;
		font-size: 4.267vw;
	}

}

/*
	coaster
------------------------------ */
.coaster {
	margin: min(5rem, 3.906vw) 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.coaster__detail--text {
	font-size: min(2rem, 1.563vw);
	font-weight: 600;
}

.coaster__detail .note {
	margin-top: 1em;
}

.coaster__image {
	width: min(43rem, 33.594vw);
}

@media screen and (max-width: 768px) {
	.coaster {
		margin: 13.333vw 0;
		display: block;
	}

	.coaster__detail--text {
		font-size: 4.267vw;
	}

	.coaster__detail .note {
		margin-top: 1em;
	}

	.coaster__image {
		margin-top: 4.267vw;
		width: 100%;
	}
}

/*
	drink__link
------------------------------ */
.drink__link {
	margin-bottom: min(10rem, 7.813vw);
	display: flex;
	justify-content: space-between;
}

.drink__link.center {
	justify-content: center;
}
.drink__link.top {
	margin-bottom: 0;
	margin-top: min(5rem, 3.913vw);
}

@media screen and (max-width: 768px) {
	.drink__link {
		margin-bottom: 13.333vw;
		display: block;
	}
	.drink__link.top {
		margin-bottom: 0;
		margin-top: 7.333vw;
	}

	.drink__link--item:not(:last-of-type) {
		margin-bottom: 4vw;
	}

	.drink__link .link-button {
		margin: 0 auto;
	}
}

/*
	drink__table
------------------------------ */
.drink__table {
	margin-bottom: min(10rem, 7.813vw);
	font-size: min(1.8rem, 1.406vw);
}

.drink__table--th,
.drink__table--td {
	vertical-align: top;
}

.drink__table--th {
	padding-right: 1em;
	white-space: nowrap;
}

@media screen and (max-width: 768px) {

	.drink__table,
	.drink__table--row,
	.drink__table--th,
	.drink__table--td {
		display: block;
	}

	.drink__table {
		margin-bottom: min(10rem, 7.813vw);
		font-size: 3.733vw;
	}

	.drink__table--th {
		padding-right: 0;
	}
}

/* ----------------------------------------------------
	goods
---------------------------------------------------- */
.goods {
	background: #6A4099;
	background: linear-gradient(0deg, rgba(106, 64, 153, 1) 0%, rgba(79, 62, 148, 1) 100%);
	padding-bottom: min(9rem, 7.031vw);
	color: rgb(var(--wht));
	position: relative;
}

.goods::before {
	background: url(../img/goods-title_bg.webp) center top no-repeat;
	background-size: 100% auto;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	content: "";
}

.goods__inner {
	text-align: center;
	position: relative;
	z-index: 2;
}

.goods__title {
	margin: 0 auto 9.375vw;
	padding-top: min(2rem, 1.563vw);
	width: min(68rem, 53.125vw);
	height: 14.063vw;
	display: flex;
	justify-content: center;
	align-items: center;
}

.goods__date {
	font-size: min(3rem, 2.344vw);
	font-weight: 600;
}

.goods__text {
	margin-bottom: min(8rem, 6.25vw);
	font-size: min(1.8rem, 1.406vw);
}

.goods__list {
	margin-bottom: min(8rem, 6.25vw);
	display: flex;
	justify-content: center;
}

.goods__list--item {
	margin: 0 min(2.2rem, 1.719vw);
	line-height: 1.5;
	font-size: min(2rem, 1.563vw);
	font-weight: 600;
}

.goods__list--item.goods01 img {
	width: min(17.1rem, 13.359vw);
}

.goods__list--item.goods02 img {
	width: min(38.8rem, 30.313vw);
}

.goods__list--item.goods03 img {
	width: min(21.3rem, 16.641vw);
}

.goods__image {
	height: min(32rem, 25vw);
	display: flex;
	justify-content: center;
	align-items: center;
}

.goods__list--detail {
	margin-top: min(1rem, 0.781vw);
}

.goods__content {
	line-height: 1.5;
	font-size: min(1.8rem, 1.406vw);
	display: flex;
	justify-content: center;
}

.goods__content:last-of-type {
	margin-bottom: 2em;
}

.goods .note {
	margin: 0 auto;
	width: min(48rem, 37.5vw);
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.goods .note li:nth-child(odd) {
	margin-right: 1em;
}

@media screen and (max-width: 768px) {
	.goods {
		padding-bottom: 16vw;
	}

	.goods::before {
		background-image: url(../img/goods-title_bg_sp.webp);
	}

	.goods__title {
		margin-bottom: 21.333vw;
		padding-top: 2.667vw;
		width: 74.667vw;
		height: 20vw;
	}

	.goods__date {
		font-size: 5.333vw;
	}

	.goods__text {
		margin-bottom: 12vw;
		font-size: 4.267vw;
	}

	.goods__list {
		margin-bottom: 12vw;
		display: block;
	}

	.goods__list--item {
		margin: 0 0 8vw;
		font-size: 4.267vw;
	}

	.goods__list--item.goods01 img {
		width: 36.533vw;
	}

	.goods__list--item.goods02 img {
		width: 80vw;
	}

	.goods__list--item.goods03 img {
		width: 49.333vw;
	}

	.goods__image {
		height: auto;
	}

	.goods__list--detail {
		margin-top: 4vw;
	}

	.goods__content {
		margin: 0 auto;
		width: 74.667vw;
		font-size: 4vw;
		text-align: left;
		display: block;
	}

	.goods .note {
		width: 74.667vw;
		text-align: left;
		display: block;
	}

	.goods .note li:nth-child(odd) {
		margin-right: 0;
	}
}

/* ----------------------------------------------------
	footer
---------------------------------------------------- */
.footer {
	background: url(../img/footer-bg.webp) center no-repeat;
	background-size: cover;
	padding-top: min(13rem, 10.156vw);
	color: rgb(var(--wht));
}

.footer__copyright {
	background: rgb(var(--wht));
	padding: min(3rem, 2.344vw) 0;
	text-align: center;
}

.footer__copyright--text {
	color: rgb(var(--blk));
	font-size: min(1.2rem, 0.938vw);
}

.footer__logo {
	margin: 0 auto min(2.5rem, 1.953vw);
	width: min(39.6rem, 30.938vw);
}

.footer__logo figcaption {
	margin: min(4rem, 3.125vw) auto 0;
	width: min(39.6rem, 30.938vw);
	font-size: min(1.4rem, 1.094vw);
	text-align: center;
}

.official {
	margin-bottom: min(6rem, 4.688vw);
	text-align: center;
}

.official a {
	color: rgb(var(--wht));
	font-size: min(1.8rem, 1.406vw);
}

.hotel__logo {
	margin: 0 auto min(3.5rem, 2.734vw);
	width: min(17rem, 13.281vw);
}

.hotel__detail {
	text-align: center;
	margin-bottom: min(3.5rem, 2.734vw);
}

.hotel__detail--title {
	font-size: min(2.5rem, 1.953vw);
}

.hotel__detail--address {
	font-size: min(2rem, 1.563vw);
}

.hotel__detail--address a {
	text-decoration: none;
}

.hotel__sns {
	margin-bottom: min(5rem, 3.906vw);
	display: flex;
	justify-content: center;
	align-items: center;
}

.hotel__sns--item {
	margin: 0 min(1.5rem, 1.172vw);
	width: min(3rem, 2.344vw);
}

@media screen and (max-width: 768px) {
	.footer {
		padding-top: 17.333vw;
	}

	.footer__copyright {
		padding: 6.4vw 0;
	}

	.footer__copyright--text {
		font-size: 2.4vw;
	}


	.footer__logo {
		margin-bottom: 5.333vw;
		width: 80vw;
	}

	.footer__logo figcaption {
		margin-top: 13.333vw;
		width: 100%;
		font-size: 3.733vw;
	}

	.official {
		margin-bottom: 13.333vw;
		text-align: center;
	}

	.official a {
		font-size: 4vw
	}

	.hotel__logo {
		margin-bottom: 8vw;
		width: 36.267vw;
	}

	.hotel__detail {
		margin-bottom: 8vw;
	}

	.hotel__detail--title {
		font-size: 5.333vw;
	}

	.hotel__detail--address {
		font-size: 4.267vw;
	}

	.hotel__sns {
		margin-bottom: 8vw;
	}

	.hotel__sns--item {
		margin: 0 4vw;
		width: 6.4vw;
	}
}

/*
	hotel-list
------------------------------ */
.footer__hotel-list {
	padding-bottom: min(3rem, 2.344vw);
	font-size: min(1.6rem, 1.25vw);
	display: flex;
	justify-content: center;
}

.footer__hotel-list--item {
	padding: 0 1.5em;
	position: relative;
}

.footer__hotel-list--item::before,
.footer__hotel-list--item::after {
	color: rgb(var(--wht));
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	content: "|";
}

.footer__hotel-list--item::before {
	left: 0;
}

.footer__hotel-list--item::after {
	right: 0;
}

.footer__hotel-list--item:last-of-type:before {
	content: "";
}

.footer__hotel-list--link {
	color: rgb(var(--wht));
	text-decoration: none;
}

@media screen and (max-width: 768px) {
	.footer__hotel-list {
		margin: 0 auto;
		padding-bottom: 8vw;
		font-size: 4.267vw;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}

	.footer__hotel-list--item:not(:last-of-type) {
		margin-bottom: 0.5em;
	}

	.footer__hotel-list--item:last-of-type:before {
		content: "|";
	}
}