/* ----------------------------------------------------
	header
---------------------------------------------------- */
.header {
	margin-bottom: min(9rem, 7.031vw);
	width: 100%;
	height: 60.938vw;
	position: relative;
}

.header::before,
.header::after {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	z-index: 2;
	content: "";
}

.header::before {
	background-image: url(../img/header-obj01.svg);
	width: 21.328vw;
	height: 19.453vw;
	top: 1.563vw;
	right: 2.5vw;
}

.header::after {
	background-image: url(../img/header-obj02.svg);
	width: 17.656vw;
	height: 16.875vw;
	bottom: -11.25vw;
	left: 1.563vw;
}

.header__title {
	width: 67.188vw;
	position: absolute;
	top: 2.891vw;
	left: 7.813vw;
}

.header__image {
	width: 92.344vw;
	position: absolute;
	right: 0;
	bottom: 0;
}

.header-slide .header-pagination {
	padding-right: 4.688vw;
	height: min(0.9rem, 0.703vw);
	display: flex;
	justify-content: flex-end;
	align-items: center;
	position: absolute;
	right: 0;
	bottom: 1.172vw;
	left: auto;
	z-index: 1;
}

.header-slide .header-pagination .swiper-pagination-bullet {
	background-color: #D9D9D9 !important;
	width: 0.703vw;
	height: 0.703vw;
	opacity: 1;
	border-radius: 0.703vw;
}

.header-slide .header-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background-color: rgb(var(--pnk)) !important;
}

@media screen and (max-width: 768px) {
	.header {
		margin-bottom: 10.133vw;
		height: 136.267vw;
	}

	.header::before {
		width: 28.533vw;
		height: 26.133vw;
		top: 2.667vw;
		right: 1.867vw;
	}

	.header::after {
		width: 29.867vw;
		height: 28.533vw;
		bottom: -6.133vw;
		bottom: -1.6vw;
		left: 0.8vw;
	}

	.header__title {
		width: 94.133vw;
		top: 12vw;
		left: 4.267vw;
	}

	.header__image {
		width: 94.933vw;
	}

	.header-slide {
		padding-bottom: 4.8vw;
	}

	.header-slide .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
	.header-slide .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
		margin: 0 0 0 1.6vw !important;
	}

	.header-slide .header-pagination {
		padding-right: 4.267vw;
		height: 2.4vw;
		bottom: 0;
	}

	.header-slide .header-pagination .swiper-pagination-bullet {
		width: 2.4vw;
		height: 2.4vw;
		border-radius: 2.4vw;
	}
}

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

.about__title {
	margin-bottom: min(1.8rem, 1.406vw);
	color: rgb(var(--pnk));
	font-family: var(--mincho);
	font-size: min(3.2rem, 2.5vw);
	font-weight: 600;
}

.about__text {
	line-height: 2.1;
	font-size: min(2rem, 1.563vw);
	font-weight: 500;
}

@media screen and (max-width: 768px) {
	.about__title {
		margin-bottom: min(1.8rem, 1.406vw);
		font-size: 6.4vw;
	}

	.about__text {
		line-height: 2;
		font-size: 4.267vw;
		font-weight: 400;
	}
}

/* ----------------------------------------------------
	content
---------------------------------------------------- */
.content {
	padding: min(12.5rem, 9.766vw) 0 min(20rem, 15.625vw);
}

.content__title {
	margin-bottom: min(4.5rem, 3.516vw);
	line-height: 1;
	font-family: var(--eng);
	font-size: min(8.8rem, 6.875vw);
	font-weight: 400;
	text-align: center;
}

.content__title--small {
	font-size: min(5.8rem, 4.531vw);
	display: block;
}

.content__date {
	margin-bottom: min(4.5rem, 3.516vw);
	text-align: center;
}

.content__date img {
	width: auto;
	height: min(3rem, 2.344vw);
}

@media screen and (max-width: 768px) {
	.content {
		padding: 20vw 0 26.667vw;
	}

	.content__title {
		margin-bottom: 4vw;
		font-size: 12.8vw;
	}

	.content__title--small {
		font-size: 8vw;
	}

	.content__date {
		margin-bottom: 8vw;
	}

	.content__date img {
		width: 82.667vw;
		height: auto;
	}
}

/*
	menu
------------------------------ */
.content .menu:not(:last-of-type) {
	margin-bottom: min(14rem, 10.938vw);
}

.menu__title {
	background-color: rgb(var(--pnk));
	clip-path: polygon(0 0, 100% 0, 95% 50%, 100% 100%, 0 100%, 5% 50%);
	margin: 0 auto min(4rem, 3.125vw);
	width: min(40rem, 31.25vw);
	height: min(5rem, 3.906vw);
	font-size: min(2.4rem, 1.875vw);
	font-weight: 600;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}

.menu__title--inner {
	color: rgb(var(--wht));
	display: inline-block;
}

.menu__wrapper {
	position: relative;
}

.menu .menu__wrapper:not(:last-of-type) {
	margin-bottom: min(16rem, 12.5vw);
}

.menu__image {
	margin: 0 auto min(2rem, 1.563vw);
	width: 75vw;
}

.menu__content {
	margin: 0 auto;
	width: min(96rem, 75vw);
}

.menu__content .collaboration {
	background-color: rgba(84, 111, 35, 1);
	clip-path: polygon(0 0, 100% 0, 95% 50%, 100% 100%, 0 100%, 0 50%);
	margin-bottom: min(1rem, 0.781vw);
	padding-left: min(1rem, 0.781vw);
	width: min(29rem, 22.656vw);
	height: min(3.8rem, 2.969vw);
	color: rgb(var(--wht));
	font-family: var(--mincho);
	font-size: min(1.6rem, 1.25vw);
	font-weight: 600;
	display: flex;
	align-items: center;
}

.menu__content--title {
	margin-bottom: min(1rem, 0.781vw);
	line-height: normal;
	font-family: var(--mincho);
	font-size: min(2.9rem, 2.266vw);
	font-weight: 600;
}

.menu__content--text {
	font-size: min(1.6rem, 1.25vw);
}

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

.menu__content--text .price span {
	margin-left: 1em;
	display: inline-block;
}

@media screen and (max-width: 768px) {
	.content .menu:not(:last-of-type) {
		margin-bottom: 26.667vw;
	}

	.menu__title {
		margin-bottom: 6.4vw;
		width: 84vw;
		height: 9.333vw;
		font-size: 4.267vw;
	}

	.menu .menu__wrapper:not(:last-of-type) {
		margin-bottom: 26.667vw;
	}

	.menu__image {
		margin-bottom: 4vw;
		width: 91.467vw;
	}

	.menu__content {
		width: 91.467vw;
	}

	.menu__content .collaboration {
		margin-bottom: 2.667vw;
		padding-left: 2.667vw;
		width: 72vw;
		height: 9.333vw;
		font-size: 4vw;
	}

	.menu__content--title {
		margin-bottom: 2.667vw;
		font-size: 5.333vw;
	}

	.menu__content--text {
		font-size: 3.733vw;
	}

	.menu__content--text .text {
		margin-bottom: 2.667vw;
	}
}

/*
	menu__slide
------------------------------ */
.menu-slide {
	width: auto;
	overflow-x: hidden;
	display: flex;
	justify-content: center;
	position: relative;
}

.menu-slide .swiper-wrapper {
	width: 100%;
}

.menu-slide .swiper-slide {
	margin: 0 3.125vw;
	width: 75vw;
	height: auto;
}

.menu-slide .swiper-slide__inner {
	height: 100%;
	display: flex;
	flex-direction: column;
}

.menu-slide .swiper-slide__inner .menu__content {
	margin-bottom: min(4rem, 3.125vw);
}

.menu-slide .swiper-slide__inner .link-button {
	margin-top: auto;
}

.menu-slide .menu-pagination,
.event-slide .event-pagination {
	width: 100%;
	height: min(0.9rem, 0.703vw);
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 40.625vw;
	left: 50%;
	z-index: 1;
	transform: translateX(-50%);
}

.menu-slide .menu-pagination .swiper-pagination-bullet,
.event-slide .event-pagination .swiper-pagination-bullet {
	background-color: #D9D9D9 !important;
	width: 0.703vw;
	height: 0.703vw;
	opacity: 1;
	border-radius: 0.703vw;
}

.menu-slide .menu-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active,
.event-slide .event-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background-color: rgb(var(--pnk)) !important;
}

.menu-slide .menu-button-prev,
.menu-slide .menu-button-next {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: 5.313vw;
	height: 5.313vw;
	opacity: 1;
	position: absolute;
	top: 18.438vw;
	z-index: 1;
	transition: all 0.5s ease 0s;
	cursor: pointer;
}

.menu-slide .menu-button-prev {
	background-image: url(../img/arrow-slide-prev.svg);
	left: 9.844vw;
}

.menu-slide .menu-button-next {
	background-image: url(../img/arrow-slide-next.svg);
	right: 9.844vw;
}

.menu-slide .swiper-button-disabled {
	opacity: 0;
}

@media screen and (max-width: 768px) {
	.menu-slide .swiper-slide {
		margin: 0 1.333vw;
		width: 91.467vw;
	}

	.menu-slide .swiper-slide__inner .menu__content {
		margin-bottom: 10.667vw;
	}

	.menu-slide .menu-pagination,
	.event-slide .event-pagination {
		width: 100%;
		height: 1.6vw;
		top: 48.533vw;
	}

	.menu-slide .menu-pagination .swiper-pagination-bullet,
	.event-slide .event-pagination .swiper-pagination-bullet {
		width: 1.6vw;
		height: 1.6vw;
		border-radius: 1.6vw;
	}

	.menu-slide .menu-button-prev,
	.menu-slide .menu-button-next {
		width: 10.4vw;
		height: 10.4vw;
		top: 20.533vw;
	}

	.menu-slide .menu-button-prev {
		left: 1.067vw;
	}

	.menu-slide .menu-button-next {
		right: 1.067vw;
	}
}

/* ----------------------------------------------------
	restaurant
---------------------------------------------------- */
.restaurant .content__title {
	color: rgb(var(--pnk));
}

.restaurant .menu__wrapper::before,
.restaurant .menu__wrapper::after {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	top: max(-20rem, -15.625vw);
	content: "";
}

.restaurant .menu__wrapper.type1::before {
	background-image: url(../img/menu-obj-pnk01.svg);
	width: min(21.2rem, 16.563vw);
	height: min(15.6rem, 12.188vw);
	right: min(4.6rem, 3.594vw);
}

.restaurant .menu__wrapper.type2::before {
	background-image: url(../img/menu-obj-pnk02.svg);
	width: min(21.2rem, 16.563vw);
	height: min(15.6rem, 12.188vw);
	left: min(5rem, 3.906vw);
}

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

	.restaurant .menu__wrapper::before,
	.restaurant .menu__wrapper::after {
		display: none;
	}
}

/* ----------------------------------------------------
	events
---------------------------------------------------- */
.events {
	background-color: #666;
	background: linear-gradient(-73deg, #F8DBC8 -77.67%, #EA617C 99.34%);
	color: rgb(var(--wht));
	position: relative;
}

.events::before,
.events::after {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	z-index: 2;
	content: "";
}

.events::before {
	background-image: url(../img/menu-obj-wht01.svg);
	width: min(19rem, 14.844vw);
	height: min(19.6rem, 15.313vw);
	top: min(11rem, 8.594vw);
	right: min(4.6rem, 3.594vw);
}

.events::after {
	background-image: url(../img/menu-obj-wht02.svg);
	width: min(19rem, 14.844vw);
	height: min(19.7rem, 15.391vw);
	bottom: 3.906vw;
	left: 2.969vw;
}

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

	.events::before,
	.events::after {
		display: none;
	}

	.events .menu__content--title {
		letter-spacing: -0.005em;
	}
}

/* ----------------------------------------------------
	notes
---------------------------------------------------- */
.notes {
	background-color: rgb(var(--wht));
	padding: min(4rem, 3.125vw) 0 min(6.5rem, 5.078vw);
}

.notes .list {
	margin: 0 auto;
	width: min(96rem, 75vw);
}

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

	.notes .list {
		width: 91.467vw;
	}
}

/* ----------------------------------------------------
	hotels
---------------------------------------------------- */
.hotels {
	background-color: rgb(var(--wht));
	text-align: center;
}

.hotels__logo {
	margin: 0 auto min(4.5rem, 3.516vw);
	width: min(27.7rem, 21.641vw);
}

.hotels__content {
	margin-bottom: min(5rem, 3.906vw);
	line-height: 1.5;
	font-size: min(2rem, 1.563vw);
}

.hotels__sns {
	display: flex;
	justify-content: center;
	align-items: center;
}

.hotels__sns--item {
	margin: 0 min(1.5rem, 1.172vw);
	width: min(5rem, 3.906vw);
}

@media screen and (max-width: 768px) {
	.hotels__logo {
		margin-bottom: 7.2vw;
		width: 58.667vw;
	}

	.hotels__content {
		margin-bottom: 7.2vw;
		font-size: 4.267vw;
	}

	.hotels__sns--item {
		margin: 0 3.2vw;
		width: 12vw;
	}
}

/* ----------------------------------------------------
	footer
---------------------------------------------------- */
.footer {
	background-color: rgb(var(--wht));
	padding: min(5rem, 3.906vw) 0;
}

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

/* 
	hotel-nav 
------------------------------ */
.footer .hotel-nav {
	line-height: 1;
	font-size: min(1.6rem, 1.25vw);
	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;
}

@media screen and (max-width: 768px) {
	.footer .hotel-nav {
		font-size: 4.267vw;
		flex-direction: column;
	}

	.footer .hotel-nav::before {
		content: "";
	}

	.footer .hotel-nav__item {
		margin-bottom: 1em;
	}

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

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

/* 
	copy
------------------------------ */
.footer .copy {
	margin-top: 1em;
	font-size: min(1.4rem, 1.094vw);
	text-align: center;
}

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