/* ----------------------------------------------------
	header
---------------------------------------------------- */
.header {
	background-color: #f6f1f7;
	background-image: url(../img/header-bg.webp);
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: 100% auto;
	padding: min(32.3rem, 23.646vw) 0 min(8.4rem, 6.149vw);
	overflow-x: hidden;
	position: relative;
}

.header::before {
	background: linear-gradient(90deg, rgba(213, 186, 229, 0.3) 0%, rgba(133, 67, 172, 0.3) 100%);
	width: 100%;
	height: min(64.2rem, 46.999vw);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	content: "";
}

.header .obj01 {
	background-image: url(../img/header-obj01.webp);
	width: min(35.5rem, 25.988vw);
	height: min(46.6rem, 34.114vw);
	top: 0;
	right: 0;
	z-index: 1;
}

.header .obj02 {
	background-image: url(../img/header-obj02.webp);
	width: min(47.5rem, 34.773vw);
	height: min(59.7rem, 43.704vw);
	top: min(80.7rem, 59.078vw);
	left: 0;
	z-index: 1;
}

.header__content {
	margin: 0 auto;
	width: min(114rem, 83.455vw);
	position: relative;
	z-index: 3;
}

.header__title {
	width: min(89.1rem, 65.227vw);
	position: absolute;
	top: max(-17.4rem, -12.738vw);
	left: max(-3.1rem, -2.269vw);
	z-index: 4;
}

.header__slide {
	line-height: 0;
	position: relative;
	z-index: 3;
}

.header__slide.slick-dotted.slick-slider {
	margin-bottom: min(7.4rem, 5.417vw);
}

.header__slide--item {
	width: 100%;
	overflow: hidden;
	position: relative;
}

.header__slide--item img {
	width: 100%;
	height: auto;
	object-fit: cover;
	transform-origin: center;
	transition: opacity 2s ease-in-out;
}

.add-animation .header__slide--item img {
	animation: zoomUp 10s linear 0s normal both;
}

/* ズームアニメーション */
@keyframes zoomUp {
	0% {
		transform: scale(1);
	}

	100% {
		transform: scale(1.15);
	}
}

.header__slide .slick-dots {
	display: flex;
	justify-content: flex-end;
	bottom: max(-2.2rem, -1.611vw);
}

.header__slide .slick-dots li {
	margin: 0;
	width: auto;
	height: auto;
}

.header__slide .slick-dots li button {
	background-color: #E8E7E8;
	padding: 0;
	width: min(7rem, 5.124vw);
	height: min(0.2rem, 0.146vw);
}

.header__slide .slick-dots li.slick-active button {
	background-color: #874A91;
}

@media screen and (max-width: 768px) {
	.header {
		padding: 29.6vw 0 14.933vw;
	}

	.header::before {
		height: 102.4vw;
	}

	.header .obj01 {
		width: 30.4vw;
		height: 40vw;
	}

	.header .obj02 {
		width: 53.067vw;
		height: 66.933vw;
		top: 141.867vw;
		left: -8vw;
	}

	.header__content {
		width: 89.333vw;
	}

	.header__title {
		width: 89.333vw;
		top: -17.867vw;
		left: -0.8vw;
		z-index: 4;
	}

	.header__slide.slick-slider {
		margin-bottom: 7.467vw;
	}
}

/*
  collaboration
------------------------------ */
.collaboration {
	margin: 0 auto;
	width: min(90rem, 65.886vw);
	color: rgb(var(--ppl));
	font-family: var(--ivypresto);
	text-align: center;
}

.collaboration__logo {
	margin: 0 auto min(6rem, 4.392vw);
	width: min(31rem, 22.694vw);
}

.collaboration__detail--title {
	margin-bottom: min(1.1rem, 0.805vw);
	font-size: min(3.3rem, 2.416vw);
}

.collaboration__detail--content {
	line-height: 1.4;
	font-size: min(1.8rem, 1.318vw);
}

.collaboration__list {
	background-image: url(../img/icon-x.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: min(1.6rem, 1.171vw) auto;
	margin-bottom: min(4.2rem, 3.075vw);
}

.collaboration__list--item:not(:last-of-type) {
	margin-bottom: min(3rem, 2.196vw);
}

.collaboration__date {
	margin-bottom: min(4.2rem, 3.075vw);
	font-size: min(3.3rem, 2.416vw);
}

.collaboration__text {
	color: rgb(var(--blk));
	font-family: var(--gothic);
	font-size: min(1.8rem, 1.318vw);
	text-align: left;
}

.collaboration__text .text.eng {
	margin-top: min(2rem, 1.464vw);
}

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

	.collaboration__logo {
		margin-bottom: 11.2vw;
		width: 49.067vw;
	}

	.collaboration__detail--title {
		margin-bottom: 2.4vw;
		font-size: 6.667vw;
	}

	.collaboration__detail--content {
		font-size: 3.2vw;
	}

	.collaboration__list {
		background-size: 3.2vw auto;
		margin-bottom: 8.267vw;
	}

	.collaboration__list--item:not(:last-of-type) {
		margin-bottom: 5.333vw;
	}

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

	.collaboration__text {
		font-size: 4vw;
	}

	.collaboration__text .text.eng {
		margin-top: 4vw;
	}
}

/* ---------------------------------------------------
	gnav
---------------------------------------------------- */
.gnav {
	width: 100%;
	line-height: 1;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	transition: all 0.5s ease 0s;
}

.gnav.scrolled {
	background: rgba(var(--wht), 0.75);
	/* background: linear-gradient(90deg, rgba(213, 186, 229, 0.3) 0%, rgba(133, 67, 172, 0.3) 100%); */
}

.gnav__list {
	height: min(8rem, 5.857vw);
	font-size: min(2rem, 1.464vw);
	display: flex;
	justify-content: center;
	align-items: center;
}

.gnav__list--item {
	padding: 0 1em;

}

.gnav__list--item a {
	color: rgb(var(--ppl));
	font-family: var(--ivypresto);
	text-decoration: none;
}

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

	.gnav,
	.gnav.scrolled {
		background-color: #856A8A;
		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 39px;
		display: block;
	}

	.gnav__list--item {
		margin-bottom: 16vw;
		text-align: center;
	}

	.gnav__list--item a {
		color: rgb(var(--wht));
		font-size: 5.333vw;
	}

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

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

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

@media screen and (max-width: 768px) {
	.toggle {
		width: 11.2vw;
		height: 8.533vw;
		display: block;
		position: fixed;
		top: 4vw;
		right: 4vw;
		z-index: 101;
	}

	.toggle__inner {
		width: 100%;
		height: 100%;
		position: relative;
		cursor: pointer;
	}

	.toggle__inner--item,
	.toggle__inner--text {
		width: 100%;
		display: block;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		transition: all 0.6s;
	}

	.toggle__inner--item {
		background: rgb(var(--ppl));
		height: 1px;
	}

	.toggle__inner--item:nth-child(1) {
		top: 0;
	}

	.toggle__inner--item:nth-child(2) {
		top: 2.667vw;
	}

	.toggle__inner--text {
		line-height: 1;
		color: rgb(var(--ppl));
		font-family: var(--ivypresto);
		font-size: 3.467vw;
		text-align: center;
		bottom: 0;
	}

	/* 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(45deg) translate(-50%, -50%);
	}

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

	.is-open .toggle__inner--text {
		opacity: 0;
	}
}

/* ----------------------------------------------------
	main
---------------------------------------------------- */
.main {
	overflow-x: hidden;
}

/* ----------------------------------------------------
	about
---------------------------------------------------- */
.about {
	padding: min(7.5rem, 5.49vw) 0 min(13.2rem, 9.663vw);
	position: relative;
}

.about::before {
	background-image: url(../img/about-bg.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	height: min(45rem, 32.943vw);
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	content: "";
}

.about__content {
	margin: 0 auto;
	width: min(96.5rem, 70.644vw);
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
}

.about__detail {
	padding-left: min(5rem, 3.66vw);
	width: calc(100% - min(50.4rem, 36.896vw));
}

.about__title {
	margin: min(8.6rem, 6.296vw) 0 min(12.1rem, 8.858vw);
	line-height: 1.6;
	color: rgb(var(--wht));
	font-family: var(--ivypresto);
	font-size: min(3rem, 2.196vw);
	font-weight: 400;
}

.about__title .ja {
	margin-top: min(2.1rem, 1.537vw);
	font-family: var(--gothic);
	font-size: min(1.8rem, 1.318vw);
	font-weight: 600;
	display: block;
}

.about__text {
	font-family: var(--gothic);
	font-size: min(1.6rem, 1.171vw);
}

.about__text .eng {
	margin-top: min(1.8rem, 1.318vw);
}

.about__image {
	width: min(50.4rem, 36.896vw);
}

.about__image--item:not(:last-of-type) {
	margin-bottom: min(1.5rem, 1.098vw);
}

@media screen and (max-width: 768px) {
	.about {
		padding: 12.8vw 5.6vw 22.4vw;
		position: relative;
	}

	.about::before {
		background-image: url(../img/about-bg_sp.webp);
		height: 120vw;
	}

	.about__content {
		width: 100%;
		display: block;
		position: relative;
	}

	.about__detail {
		padding-left: 0;
		width: 100%;
	}

	.about__title {
		margin: 0 0 193.067vw;
		font-size: 6.667vw;
	}

	.about__title .ja {
		margin-top: 2.933vw;
		font-size: 4vw;
	}

	.about__text {
		font-size: 3.733vw;
	}

	.about__text .eng {
		margin-top: 2.933vw;
	}

	.about__image {
		width: 100%;
		position: absolute;
		top: 53.333vw;
		left: 0;
	}

	.about__image--item:not(:last-of-type) {
		margin-bottom: 1.333vw;
	}
}

/* ----------------------------------------------------
	message
---------------------------------------------------- */
.message {
	background: linear-gradient(90deg, rgba(213, 186, 229, 0.3) 0%, rgba(133, 67, 172, 0.3) 100%);
	padding: min(9rem, 6.589vw) 0 min(9.6rem, 7.028vw);
}

.message__title {
	margin: 0 auto;
	width: min(22.6rem, 16.545vw);
}

.message__content {
	margin: 0 auto min(2.3rem, 1.684vw);
	padding-bottom: min(5.7rem, 4.173vw);
	width: min(96.5rem, 70.644vw);
	border-bottom: solid 1px rgb(var(--ppl));
	display: flex;
	justify-content: space-between;
	position: relative;
}

.message__detail {
	width: min(63.8rem, 46.706vw);
}

.message__detail--name {
	margin-bottom: min(0.5rem, 0.366vw);
	color: rgb(var(--ppl));
	font-family: var(--ivypresto);
	font-size: min(2.5rem, 1.83vw);
	font-weight: 400;
}

.message__detail--name .post,
.message__detail--name .ja {
	font-size: min(1.8rem, 1.318vw);
	display: block;
}

.message__detail--hotel {
	margin-bottom: min(2.3rem, 1.684vw);
	color: rgb(var(--ppl));
	font-family: var(--gothic);
	font-size: min(1.6rem, 1.171vw);
	font-weight: 600;
}

.message__detail--name .ja {
	font-family: var(--gothic);
	font-weight: 600;
}

.message__detail--text {
	font-family: var(--gothic);
	font-size: min(1.6rem, 1.171vw);
}

.message__detail--text .text.eng {
	margin-top: min(1rem, 0.732vw);
}

.message__image {
	width: min(29.1rem, 21.303vw);
}

.message__sign {
	width: min(28.8rem, 21.083vw);
	position: absolute;
	right: max(-3.7rem, -2.709vw);
	bottom: min(7.5rem, 5.49vw);
}

@media screen and (max-width: 768px) {
	.message {
		padding: 21.067vw 0 22.4vw;
		position: relative;
	}

	.message__title {
		margin-bottom: 4.267vw;
		width: 43.733vw;
	}

	.message .object {
		background-image: url(../img/message-obj.webp);
		background-position: center;
		background-repeat: no-repeat;
		background-size: cover;
		width: 40vw;
		height: 76.267vw;
		display: block;
		position: absolute;
		top: -28.267vw;
		right: 0;
	}

	.message__content {
		margin-bottom: 6.4vw;
		padding-bottom: 34.667vw;
		width: 89.333vw;
		flex-direction: column-reverse;
	}

	.message__detail {
		width: 100%;
	}

	.message__detail--name {
		margin-bottom: 1.333vw;
		font-size: 6.667vw;
		text-align: center;
	}

	.message__detail--name .post,
	.message__detail--name .ja {
		font-size: 4.8vw;
	}

	.message__detail--hotel {
		margin-bottom: 4.267vw;
		font-size: 4.267vw;
		text-align: center;
	}

	.message__detail--name .ja {
		font-family: var(--gothic);
		font-weight: 600;
	}

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

	.message__detail--text .text.eng {
		margin-top: 4.267vw;
	}

	.message__image {
		margin: 0 auto 4.267vw;
		width: 61.067vw;
	}

	.message__sign {
		width: 62.933vw;
		right: auto;
		bottom: 13.867vw;
		left: 50%;
		transform: translateX(-50%);
	}
}

/*
	profile
------------------------------ */
.message .profile {
	margin: 0 auto;
	padding-bottom: min(3.3rem, 2.416vw);
	width: min(96.5rem, 70.644vw);
	font-family: var(--gothic);
	border-bottom: solid 1px rgb(var(--ppl));
}

.message .profile__title {
	margin-bottom: min(0.7rem, 0.512vw);
	color: rgb(var(--ppl));
	font-size: min(1.8rem, 1.318vw);
	font-weight: 600;
}

.message .profile__text {
	font-size: min(1.6rem, 1.171vw);
	display: flex;
	justify-content: space-between;
	position: relative;
}

.message .profile__text .text {
	width: min(42.9rem, 31.406vw);
}

.message .profile__text .text.eng {
	width: min(49.8rem, 36.457vw);
}

@media screen and (max-width: 768px) {
	.message .profile {
		padding-bottom: 8.8vw;
		width: 89.333vw;
	}

	.message .profile__title {
		margin-bottom: 0;
		font-size: 4.8vw;
	}

	.message .profile__text {
		font-size: 3.733vw;
		display: block;
	}

	.message .profile__text .text,
	.message .profile__text .text.eng {
		width: 100%;
	}

	.message .profile__text .text.eng {
		margin-top: 2.667vw;
	}
}

/* ----------------------------------------------------
	dinner
---------------------------------------------------- */
.dinner {
	background-color: rgb(67, 54, 91);
	padding: min(13.3rem, 9.736vw) 0 min(21.3rem, 15.593vw);
	color: rgb(var(--wht));
}

.dinner__title {
	margin: 0 auto min(4.2rem, 3.075vw);
	width: min(42.6rem, 31.186vw);
}

.dinner__image {
	margin: 0 auto min(4.2rem, 3.075vw);
	width: min(114rem, 83.455vw);
}

.dinner__content {
	margin: 0 auto;
	width: min(96.5rem, 70.644vw);
	position: relative;
}

.dinner__content--title {
	margin-bottom: min(1.6rem, 1.171vw);
	color: rgb(var(--yel));
	font-family: var(--ivypresto);
	font-size: min(3rem, 2.196vw);
	font-weight: 400;
}

.dinner__content--date {
	color: rgb(var(--yel));
	font-size: min(2rem, 1.464vw);
}

.dinner__content--place,
.dinner__content--time {
	font-family: var(--gothic);
	font-size: min(1.8rem, 1.318vw);
}

.dinner__content--note {
	margin-bottom: min(1.2rem, 0.878vw);
}

.dinner__content--table {
	margin-bottom: min(3rem, 2.196vw);
	font-family: var(--gothic);
	font-size: min(1.8rem, 1.318vw);
}

.dinner__content--th {
	display: flex;
}

.dinner__content--th::before {
	color: rgb(var(--yel));
	content: "●";
}

.dinner__content--td {
	padding-left: 0.5em;
}

.dinner__content--price {
	margin-bottom: 1em;
	font-family: var(--gothic);
	font-size: min(1.8rem, 1.318vw);
}

.dinner__content--text {
	margin-bottom: min(3rem, 2.196vw);
	font-family: var(--gothic);
	font-size: min(1.6rem, 1.171vw);
}

.dinner__content--text .text {
	width: min(62.8rem, 45.974vw);
}

.dinner__content--text .text.eng {
	margin-top: min(0.5rem, 0.366vw);
	width: min(37.2rem, 27.233vw);
}

.dinner__content--title.wine {
	margin-top: min(5rem, 3.66vw);
}

.dinner__content--text.wine .text {
	width: 100%;
}

.image01 {
	width: min(30.3rem, 22.182vw);
	top: min(7rem, 5.124vw);
	right: 0;
	z-index: 1;
}

.image02 {
	width: min(34.5rem, 25.256vw);
	top: min(50.6rem, 37.042vw);
	right: min(14.6rem, 10.688vw);
	z-index: 1;
}

@media screen and (max-width: 768px) {
	.dinner {
		padding: 22.933vw 0 min(21.3rem, 15.593vw);
	}

	.dinner__title {
		margin-bottom: 8.533vw;
		width: 67.2vw;
	}

	.dinner__image {
		margin-bottom: 4.267vw;
		width: 89.333vw;
	}

	.dinner__content {
		width: 89.333vw;
	}

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

	.dinner__content--date {
		font-size: 5.333vw;
	}

	.dinner__content--place,
	.dinner__content--time {
		font-size: 4vw;
	}

	.dinner__content--note {
		margin-bottom: 4.267vw;
	}

	.dinner__content--table {
		margin-bottom: 4.267vw;
		font-size: 4vw;
	}

	.dinner__content--text {
		margin-bottom: 4.8vw;
		font-size: 4vw;
	}

	.dinner__content--text .text {
		width: 100%;
	}

	.dinner__content--price {
		font-size: 4vw;
	}

	.dinner__content--text .text.eng {
		margin-top: 4vw;
		width: 100%;
	}

	.dinner__content--title.wine {
		margin-top: 16vw;
	}

	.dinner__content--text.wine .text {
		width: 100%;
	}

	.dinner .object {
		position: relative;
		top: auto;
		right: auto;
	}

	.image01 {
		margin-left: auto;
		width: 55.2vw;
	}

	.image02 {
		margin: 3.2vw 0 8vw;
		width: 52vw;
	}

	.dinner .link-button {
		margin: 0 auto;
	}
}

/*
	modal
------------------------------ */
.dinner .modal-switch {
	cursor: pointer;
}

.modal-content {
	background: rgb(var(--wht));
	width: min(80rem, 58.565vw);
	/* max-height: 80vh; */
	color: rgb(var(--blk));
	font-size: min(1.6rem, 1.171vw);
	display: none;
	position: fixed;
	top: 50%;
	left: 50%;
	z-index: 3000;
	transform: translate(-50%, -50%);
}

.modal-content__inner {
	padding: min(6rem, 4.392vw);
	width: 100%;
	max-height: 80vh;
	overflow-y: scroll;
}

.modal-content .close {
	width: min(6rem, 4.392vw);
	height: min(6rem, 4.392vw);
	position: absolute;
	top: max(-6.5rem, -4.758vw);
	right: 0;
	cursor: pointer;
}

.modal-content .close::before,
.modal-content .close::after {
	background-color: rgb(var(--wht));
	width: 100%;
	height: 2px;
	position: absolute;
	top: 50%;
	left: 0;
	content: "";
}

.modal-content .close::before {
	transform: rotate(45deg);
}

.modal-content .close::after {
	transform: rotate(-45deg);
}

.modal-overlay {
	background: rgba(var(--blk), 0.5);
	width: 100vw;
	height: 100vh;
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 2999;
	cursor: pointer;
}

body.modal-open {
	overflow: hidden;
}

@media screen and (max-width: 768px) {
	.modal-content {
		width: 90%;
		font-size: 3.733vw;
	}

	.modal-content__inner {
		padding: 6.4vw;
	}

	.modal-content .close {
		width: 12vw;
		height: 12vw;
		top: -13.333vw;
	}
}

/*
	menu-table
------------------------------ */
.menu-table {
	width: 100%;
	font-family: var(--gothic);
}

.menu-table__row:not(:last-of-type) {
	border-bottom: solid 1px rgba(var(--blk), 0.1);
}

.menu-table__th,
.menu-table__td {
	padding-top: 1em;
}

.menu-table__th {
	padding-right: 2em;
	color: rgb(var(--ppl));
	font-family: var(--ivypresto);
	font-weight: 600;
	vertical-align: top;
}

.menu-table__td .menu-list {
	margin-bottom: 1em;
}

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

	.menu-table,
	.menu-table__row,
	.menu-table__th,
	.menu-table__td {
		display: block;
	}

	.menu-table__th {
		padding-right: 0;
	}

	.menu-table__td .menu-list {
		margin-bottom: 1.5em;
	}

	.menu-table__td .menu-list__item.eng {
		margin-top: 1.333vw;
	}
}

/* ----------------------------------------------------
	section
---------------------------------------------------- */
.section {
	font-family: var(--gothic);
	position: relative;
}

.section__title {
	margin: 0 auto min(1.4rem, 1.025vw);
}

.section__place {
	margin-bottom: min(2.3rem, 1.684vw);
	color: rgb(var(--ppl));
	font-size: min(1.8rem, 1.318vw);
	font-weight: 600;
	text-align: center;
}

.section__place .pc-only {
	display: inline-block;
}

.section__text {
	margin: 0 auto min(1.6rem, 1.171vw);
	font-size: min(1.6rem, 1.171vw);
}

.section__text .text.eng {
	margin-top: min(0.7rem, 0.512vw);
}

.section__price-table,
.section__price {
	margin: 0 auto;
	font-size: min(1.8rem, 1.318vw);
	font-weight: 600;
}

.section__price {
	text-align: center;
}

.section__price-table--th {
	font-weight: 600;
	display: flex;
}

.section__price-table--th::before {
	color: rgb(var(--ppl));
	content: "●";
}

.section__price-table--td {
	padding-left: 0.5em;
}

.section__slide,
.section__no-slide {
	margin: min(4rem, 2.928vw) auto 0;
	width: min(96.5rem, 70.644vw);
	line-height: 0;
	position: relative;
	z-index: 2;
}

.section__slide--item {
	text-align: center;
}

.section__slide--image {
	margin-bottom: min(2rem, 1.464vw);
}

.section__slide--content {
	line-height: 1.8;
}

.section__slide--title {
	margin-bottom: min(2rem, 1.464vw);
	color: rgb(var(--ppl));
	font-size: min(1.8rem, 1.318vw);
}

.section__slide--title .eng {
	display: block;
}

.section__slide--text {
	margin: 0 auto;
	width: min(63rem, 46.12vw);
	font-size: min(1.6rem, 1.171vw);
	text-align: left;
}

.section__slide--text .text.eng {
	margin-top: min(2rem, 1.464vw);
}

.section__slide--item .section__price-table,
.section__slide--price {
	margin-top: min(2rem, 1.464vw);
	font-size: min(1.8rem, 1.318vw);
	font-weight: 600;
}

/* slick */
.section__slide .slick-arrow {
	background-image: url(../img/icon-arrow.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: min(2.7rem, 1.977vw);
	height: min(9.7rem, 7.101vw);
	z-index: 1;
}

.section__slide .slick-prev {
	top: min(26rem, 19.034vw);
	left: max(-5rem, -3.66vw);
}

.section__slide .slick-next {
	top: min(21.2rem, 15.52vw);
	right: max(-5rem, -3.66vw);
	transform: rotate(180deg);
}

@media screen and (max-width: 768px) {
	.section__title {
		margin-bottom: 2.667vw;
	}

	.section__place {
		margin: 3.2vw 0;
		font-size: 4vw;
	}

	.section__place .pc-only {
		display: none;
	}

	.section__text {
		margin-bottom: 6.667vw;
		font-size: 4vw;
	}

	.section__text .text.eng {
		margin-top: 1.333vw;
	}

	.section__price-table,
	.section__price {
		font-size: 4vw;
	}

	.section__slide {
		margin-top: 6.667vw;
		width: 100%;
	}

	.section__slide--image {
		margin-bottom: 6.667vw;
	}

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

	.section__slide--text {
		width: 89.333vw;
		font-size: 4vw;
	}

	.section__slide--text .text.eng {
		margin-top: 1.333vw;
	}

	.section__slide--item .section__price-table,
	.section__slide--price {
		margin-top: 4.8vw;
		font-size: 4vw;
	}

	/* slick */
	.section__slide .slick-arrow {
		background-image: url(../img/icon-arrow-wht.svg);
		width: 2.133vw;
		height: 6.133vw;
	}

	.section__slide .slick-prev {
		top: 29.333vw;
		left: 1.867vw;
	}

	.section__slide .slick-next {
		top: 26.133vw;
		right: 1.867vw;
	}
}

/* ----------------------------------------------------
	lunch
---------------------------------------------------- */
.lunch {
	padding-top: min(13.4rem, 9.81vw);
}

.lunch .section__title {
	width: min(45.3rem, 33.163vw);
}

.lunch .object {
	background-image: url(../img/lunch-obj.webp);
	width: min(39.5rem, 28.917vw);
	height: min(70.2rem, 51.391vw);
	top: min(10.2rem, 7.467vw);
	left: 0;
}

.lunch .section__text {
	width: min(62.8rem, 45.974vw);
}

.lunch .link-button {
	margin: min(3.5rem, 2.562vw) auto 0;
}

@media screen and (max-width: 768px) {
	.lunch {
		padding-top: 22.933vw;
	}

	.lunch .section__title {
		width: 69.6vw;
	}

	.lunch .object {
		background-image: url(../img/lunch-obj_sp.webp);
		width: 36.267vw;
		height: 55.2vw;
		top: -11.467vw;
	}

	.lunch .section__text {
		width: 89.333vw;
	}

	.lunch .link-button {
		margin-top: 5.867vw;
	}
}

/* ----------------------------------------------------
	breakfast
---------------------------------------------------- */
.breakfast {
	padding-top: min(13.4rem, 9.81vw);
}

.breakfast .section__title {
	width: min(31.3rem, 22.914vw);
}

.breakfast .object {
	background-image: url(../img/breakfast-obj.webp);
	width: min(39.5rem, 28.917vw);
	height: min(70.2rem, 51.391vw);
	top: 0;
	right: 0;
}

@media screen and (max-width: 768px) {
	.breakfast {
		padding-top: 22.933vw;
	}

	.breakfast .section__title {
		width: 48vw;
	}

	.breakfast .object {
		background-image: url(../img/breakfast-obj_sp.webp);
		width: 25.867vw;
		height: 54.133vw;
	}
}

/* ----------------------------------------------------
	sweets
---------------------------------------------------- */
.sweets {
	padding: min(13.4rem, 9.81vw) 0 min(20rem, 14.641vw);
}

.sweets .section__title {
	text-align: center;
}

.sweets .section__title img {
	width: auto;
	height: min(6.2rem, 4.539vw);
}

.sweets .object {
	background-image: url(../img/sweets-obj.webp);
	width: min(37rem, 27.086vw);
	height: min(68rem, 49.78vw);
	top: 0;
	left: 0;
}

@media screen and (max-width: 768px) {
	.sweets {
		padding: 22.933vw 0 27.467vw;
	}

	.sweets .section__title img {
		height: 9.6vw;
	}

	.sweets .object {
		background-image: url(../img/sweets-obj_sp.webp);
		width: 25.067vw;
		height: 54.4vw;
	}
}

/* ----------------------------------------------------
	cocktails
---------------------------------------------------- */
.cocktails {
	background: linear-gradient(90deg, rgba(213, 186, 229, 0.3) 0%, rgba(133, 67, 172, 0.3) 100%);
	padding: min(11.6rem, 8.492vw) 0 min(9.7rem, 7.101vw);
}

.cocktails .section__title {
	width: min(29.8rem, 21.816vw);
}

.cocktails .object {
	background-image: url(../img/cocktails-obj.webp);
	width: min(37.7rem, 27.599vw);
	height: min(58.6rem, 42.899vw);
	top: max(-14.2rem, -10.395vw);
	right: 0;
	z-index: -1;
}

.cocktails .section__text {
	width: min(71.7rem, 52.489vw);
	text-align: center;
}

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

	.cocktails .section__title {
		width: 46.4vw;
	}

	.cocktails .object {
		background-image: url(../img/cocktail-obj_sp.webp);
		width: 45.067vw;
		height: 71.2vw;
		top: -22.667vw;
	}

	.cocktails .section__text {
		width: 89.333vw;
	}
}

/* ----------------------------------------------------
	reservation
---------------------------------------------------- */
.reservation {
	padding-top: min(5.1rem, 3.734vw);
	margin: 0 auto;
	width: min(136.6rem, 100vw);
	text-align: center;
	position: relative;
}

.reservation .obj01 {
	background-image: url(../img/reservation-obj01.webp);
	width: min(34.8rem, 25.476vw);
	height: min(37.1rem, 27.16vw);
	top: max(-18.4rem, -13.47vw);
	right: min(93.3rem, 68.302vw);
}

.reservation__title {
	line-height: 1.5;
	color: rgb(var(--ppl));
	font-family: var(--ivypresto);
	font-size: min(4.5rem, 3.294vw);
	font-weight: normal;
}

.reservation__tel {
	font-size: min(4.5rem, 3.294vw);
}

.reservation__tel--number {
	font-family: var(--ivypresto);
}

.reservation__tel--time {
	font-family: var(--gothic);
	font-size: min(1.8rem, 1.318vw);
	display: block;
}

@media screen and (max-width: 768px) {
	.reservation {
		padding-top: 10.4vw;
		width: 100%;
	}

	.reservation .obj01 {
		display: none;
	}

	.reservation__title,
	.reservation__tel {
		font-size: 8vw;
	}

	.reservation__tel--time {
		font-size: 3.733vw;
	}
}

/* ----------------------------------------------------
	corporation
---------------------------------------------------- */
.corporation {
	padding: min(7.3rem, 5.344vw) 0 min(8.7rem, 6.369vw);
	font-size: min(1.6rem, 1.171vw);
	text-align: center;
}

.corporation__title {
	margin-bottom: min(1.4rem, 1.025vw);
	color: rgb(var(--ppl));
	font-family: var(--ivypresto);
	font-size: min(4rem, 2.928vw);
	font-weight: 400;
}

.corporation__list {
	font-family: var(--gothic);
	display: flex;
	justify-content: center;
}

.corporation__list--item:not(:last-of-type) {
	margin-right: 1em;
}

.corporation__logo {
	margin-top: min(3.4rem, 2.489vw);
	display: flex;
	justify-content: center;
	align-items: center;
}

.corporation__logo--item {
	margin: 0 min(2.5rem, 1.83vw);
}

.corporation__logo--item img {
	width: auto;
}

.corporation__logo--item.logo01 img {
	height: min(7.7rem, 5.637vw);
}

.corporation__logo--item.logo02 img {
	height: min(7.2rem, 5.271vw);
}

.corporation__logo--item.logo03 img {
	height: min(7.5rem, 5.49vw);
}

@media screen and (max-width: 768px) {
	.corporation {
		padding: 9.067vw 0 12vw;
		font-size: 3.2vw;
	}

	.corporation__title {
		margin-bottom: 3.2vw;
		font-size: 6.667vw;
	}

	.corporation__list {
		display: block;
	}

	.corporation__list--item:not(:last-of-type) {
		margin-right: 1em;
	}

	.corporation__logo {
		margin-top: 3.2vw;
	}

	.corporation__logo--item {
		margin: 0 3.2vw;
	}

	.corporation__logo--item img {
		width: auto;
	}

	.corporation__logo--item.logo01 img {
		height: 16.267vw;
	}

	.corporation__logo--item.logo02 img {
		height: 15.2vw;
	}

	.corporation__logo--item.logo03 img {
		height: 15.733vw;
	}
}

/* ----------------------------------------------------
	footer
---------------------------------------------------- */
.footer {
	background-color: rgba(190, 187, 192, 0.30);
	padding-top: min(6.6rem, 4.832vw);
	font-family: var(--gothic);
}

.footer__note {
	margin: 0 auto min(5.2rem, 3.807vw);
	width: min(96.5rem, 70.644vw);
	font-size: min(1.2rem, 0.878vw);
}

.footer__note .eng {
	margin-top: min(2.5rem, 1.83vw);
}

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

	.footer__note {
		margin-bottom: 8vw;
		width: 89.333vw;
		font-size: 3.2vw;
	}

	.footer__note .eng {
		margin-top: 6.4vw;
	}
}

/* 
	hotel-nav 
------------------------------ */
.footer .hotel-nav {
	margin-bottom: min(3.2rem, 2.343vw);
	line-height: 1;
	font-size: min(1.6rem, 1.171vw);
	display: flex;
	justify-content: center;
	align-items: center;
}

.footer .hotel-nav__item:not(:last-of-type)::after {
	content: "|";
}

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

@media screen and (max-width: 768px) {
	.footer .hotel-nav {
		margin-bottom: 8vw;
		padding: 6.4vw 0;
		line-height: 1.5;
		font-size: 4vw;
		text-align: center;
		display: block;
	}

	.footer .hotel-nav__item:not(:last-of-type) {
		margin-bottom: 4vw;
	}

	.footer .hotel-nav__item:not(:last-of-type)::after {
		content: "";
	}

	.footer .hotel-nav__item a {
		padding: 0;
		text-decoration: underline;
	}

	.footer .hotel-nav__item a:hover {
		text-decoration: none;
	}
}

/* 
	copy
------------------------------ */
.footer .copy {
	padding-bottom: min(3.2rem, 2.343vw);
	font-size: min(1.3rem, 0.952vw);
	text-align: center;
}

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