/* ----------------------------------------------------
	header
---------------------------------------------------- */
.header {
	background-color: rgba(254, 253, 238, 1);
	background-image: url(../img/header-bg.webp);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 100% auto;
	color: rgb(var(--gld));
}

.header__content {
	background-color: rgba(var(--wht), 0.65);
	margin: 0 auto;
	padding: 5rem 0 10rem;
	width: 99.2rem;
	text-align: center;
}

.header__title {
	margin: 0 auto 5rem;
	width: 65.6rem;
}

.header__place {
	margin-bottom: 3rem;
	font-size: 2.8rem;
}

.header__lead {
	margin-bottom: 9rem;
	font-size: 2rem;
}

.header__kv {
	margin: 0 auto;
	width: 79rem;
	display: flex;
	justify-content: space-between;
}

.header__kv--item {
	width: 32rem;
}

.header__kv--item .cap {
	margin-top: 2.4rem;
	line-height: normal;
	font-size: 2rem;
}

.header__kv--item .cap b {
	font-weight: 700;
	display: block;
}

@media screen and (max-width: 768px) {
	.header {
		background-image: url(../img/header-bg_sp.webp);
	}

	.header__content {
		background-color: rgba(var(--wht), 0);
		padding: 21.8rem 0 5rem;
		width: 100%;
	}

	.header__title {
		margin-bottom: 3rem;
		width: 34.5rem;
	}

	.header__place {
		margin-bottom: 3rem;
		line-height: normal;
		font-size: 2rem;
	}

	.header__lead {
		margin-bottom: 4.5rem;
		font-size: 1.5rem;
	}

	.header__kv {
		width: 28.7rem;
		display: block;
	}

	.header__kv--item {
		width: 100%;
	}

	.header__kv--item:not(:last-of-type) {
		margin-bottom: 2.5rem;
	}

	.header__kv--item .cap {
		margin-top: 1rem;
		font-size: 1.8rem;
	}
}

/* ----------------------------------------------------
	show
---------------------------------------------------- */
.show {
	background-image: url(../img/show-bg.webp);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 100% auto;
	padding: 6rem 0 16rem;
}

.show__title {
	margin-bottom: 10rem;
	line-height: normal;
	color: rgb(var(--gld));
	font-family: var(--italianno);
	font-size: 10rem;
	text-align: center;
}

.show__list {
	margin: 0 auto;
	width: 136.6rem;
}

.show__list--item {
	position: relative;
}

.show__list--item:not(:last-of-type) {
	margin-bottom: 12rem;
}

.show__list--item .object {
	z-index: 1;
}

.show__list--item .obj01 {
	background-image: url(../img/obj-show01.webp);
	mix-blend-mode: multiply;
	width: 31.1rem;
	height: 29.8rem;
	top: -9.6rem;
	right: 4rem;
}

.show__list--item .obj02 {
	background-image: url(../img/obj-show02.webp);
	width: 19.2rem;
	height: 37.2rem;
	bottom: -9.6rem;
	left: 0;
}

.show__list--item .obj03 {
	background-image: url(../img/obj-show03.webp);
	mix-blend-mode: multiply;
	width: 33.5rem;
	height: 34.5rem;
	top: -10.3rem;
	right: 4rem;
}

.show__list--item .obj04 {
	background-image: url(../img/obj-show02.webp);
	width: 19.2rem;
	height: 37.2rem;
	bottom: -14rem;
	left: 0;
}

.show__content {
	margin: 0 auto;
	width: 97.6rem;
	display: flex;
	justify-content: space-between;
	position: relative;
	z-index: 2;
}

.show__content .artist {
	width: 39rem;
}

.show__content .artist__profile {
	background-color: rgba(172, 158, 101, 0.30);
	margin-top: 2.5rem;
	padding: 1rem 1.2rem;
	line-height: normal;
	font-family: var(--gothic);
	font-size: 1.4rem;
}

.show__detail {
	width: 50rem;
}

.show__detail--date {
	background: linear-gradient(90deg, var(--Gold01, #9B883E) 35%, rgba(255, 255, 255, 0.00) 100%);
	margin-bottom: 2rem;
	padding-left: 1rem;
	height: 3.2rem;
	color: rgb(var(--wht));
	font-size: 2rem;
	display: flex;
	align-items: center;
}

.show__detail--date .week {
	font-size: 1.5rem;
}

.show__artist {
	margin-bottom: 1.5rem;
	line-height: normal;
	color: rgba(124, 104, 21, 1);
	font-size: 3rem;
	font-weight: 700;
}

.show__name {
	color: rgb(var(--gld));
	font-size: 2rem;
	display: block;
}

.show__price {
	margin-bottom: 2rem;
	font-size: 1.6rem;
	font-weight: 700;
}

.show__schedule {
	margin-bottom: 2.5rem;
	font-size: 1.4rem;
}

.show__reservation {
	margin-bottom: 1rem;
	width: 100%;
	font-weight: 700;
	display: flex;
}

.show__reservation-title {
	background-color: rgb(var(--gld));
	width: 11rem;
	height: 5rem;
	color: rgb(var(--wht));
	font-size: 1.6rem;
	letter-spacing: -0.005em;
	display: flex;
	justify-content: center;
	align-items: center;
}

.show__reservation-target {
	padding: 0 0 0 1rem;
	width: calc(100% - 11rem);
	line-height: normal;
	font-size: 1.3rem;
	border: solid 1px rgb(var(--gld));
	display: flex;
	align-items: center;
}

.show__detail .circle {
	font-size: 1.6rem;
}

.show__detail .link-button {
	background-image: url(../img/link-bg.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	margin-top: 2rem;
	width: 25rem;
	height: 5rem;
	color: rgb(var(--wht));
	font-size: 1.4rem;
}

.show__detail .link-button.comingsoon {
	pointer-events: none;
}

.show__detail .link-button.comingsoon::before {
	background-image: url(../img/coming-soon.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	left: 0;
	content: "coming soon";
}

.show__detail .general {
	margin-top: 3rem;
	padding-top: 3rem;
	border-top: solid 0.2rem rgb(var(--gld));
}

@media screen and (max-width: 768px) {
	.show {
		background-image: url(../img/show-bg_sp.webp);
		padding: 6rem 0 5rem;
	}

	.show__title {
		margin-bottom: 2rem;
		font-size: 7rem;
	}

	.show__list {
		width: 34.5rem;
	}

	.show__list--item:not(:last-of-type) {
		margin-bottom: 5rem;
	}

	.show__list--item .obj01,
	.show__list--item .obj02,
	.show__list--item .obj03,
	.show__list--item .obj04 {
		display: none;
	}

	.show__content {
		width: 100%;
		display: block;
	}

	.show__content .artist {
		margin-bottom: 2rem;
		width: 100%;
	}

	.show__content .artist__profile {
		margin-top: 2rem;
		padding: 0.8rem 1rem;
	}

	.show__detail {
		width: 100%;
	}

	.show__price {
		font-size: 1.6rem;
	}

	.show__reservation {
		margin-bottom: 1rem;
		width: 100%;
		font-weight: 700;
		display: flex;
	}

	.show__reservation-title {
		width: 10rem;
		font-size: 1.4rem;
	}

	.show__reservation-target {
		width: calc(100% - 10rem);
		font-size: 1.2rem;
	}

	.show__detail .circle {
		font-size: 1.4rem;
	}

	.show__detail .link-button {
		margin: 2rem auto 0;
	}
}

/* ----------------------------------------------------
	contact
---------------------------------------------------- */
.contact {
	background-color: rgba(246, 242, 227, 1);
	margin-bottom: 15rem;
	padding: 5rem 0;
}

.contact__content,
.contact .note {
	margin: 0 auto;
	width: 80rem;
}

.contact__content {
	margin-bottom: 7rem;
	padding-bottom: 2rem;
	color: rgb(var(--gld));
	text-align: center;
	border-bottom: solid 0.2rem rgb(var(--gld));
}

.contact__content--title {
	line-height: normal;
	font-size: 1.8rem;
	font-weight: 700;
}

.contact__content--tel {
	line-height: normal;
}

.contact__content--tel .number {
	margin-bottom: 1.5rem;
	font-size: 3rem;
	font-weight: 700;
}

.contact__content--tel .number .telephone {
	font-size: 3.3rem;
}

.contact__content--tel .time {
	line-height: normal;
	font-family: var(--gothic);
	font-size: 1.5rem;
}

@media screen and (max-width: 768px) {
	.contact {
		margin-bottom: 5rem;
		padding: 5rem 1.5rem;
	}

	.contact__content,
	.contact .note {
		width: 100%;
	}

	.contact__content {
		margin-bottom: 3rem;
		padding-bottom: 3rem;
	}
}

/* ----------------------------------------------------
	plan
---------------------------------------------------- */
.plan {
	background-color: rgb(var(--gld));
	background-image: url(../img/plan-bg.webp);
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 100% auto;
	padding: 6rem 0 10rem;
	color: rgb(var(--wht));
	text-align: center;
}

.plan__title {
	margin-bottom: 7rem;
	line-height: normal;
	font-family: var(--italianno);
	font-size: 10rem;
}

.plan__lead {
	margin-bottom: 5rem;
	font-size: 1.6rem;
}

.plan__content {
	margin: 0 auto 10rem;
	width: 80rem;
}

.plan__content--image {
	margin-bottom: 5rem;
}

.plan__content--table {
	margin-bottom: 2rem;
}

.plan__content .note {
	text-align: left;
}

.plan__contact {
	background-color: rgba(221, 211, 171, 1);
	padding: 5rem 0;
	line-height: normal;
	color: rgb(var(--gld));
	text-align: center;
}

.plan__contact--title {
	font-family: var(--mincho);
	font-size: 1.8rem;
	font-weight: 700;
}

.plan__contact--tel .number {
	margin: 1rem 0 1.2rem;
	font-family: var(--mincho);
	font-size: 3rem;
	font-weight: 700;
}

.plan__contact--tel .number .telephone {
	font-size: 3.3rem;
}

.plan__contact--tel .time {
	font-size: 1.6rem;
}

@media screen and (max-width: 768px) {
	.plan {
		background-image: url(../img/plan-bg_sp.webp);
		padding: 6rem 0 5rem;
	}

	.plan__title {
		margin-bottom: 5rem;
		font-size: 7rem;
	}

	.plan__lead {
		margin-bottom: 3rem;
		font-size: 1.6rem;
	}

	.plan__content {
		margin-bottom: 5rem;
		width: 100%;
	}

	.plan__content--image {
		margin-bottom: 3rem;
	}

	.plan__content--table {
		margin: 0 auto 3rem;
		width: 34.6rem;
	}

	.plan__content .note {
		margin: 0 auto;
		width: 34.6rem;
	}

	.plan__contact {
		padding: 3rem 0;
	}

	.plan__contact--title {
		font-size: 1.8rem;
	}

	.plan__contact--tel .number {
		margin: 0.5rem 0 1rem;
	}
}

/* ----------------------------------------------------
	access
---------------------------------------------------- */
.access {
	background: linear-gradient(180deg, #FFFCEE 40.87%, #F3EBC6 100%);
	padding: 6rem 0 8rem;
	color: rgb(var(--gld));
	font-family: var(--gothic);
	text-align: center;
}

.access__title {
	margin-bottom: 12rem;
	line-height: normal;
	font-family: var(--italianno);
	font-size: 10rem;
}

.access__hotel-name {
	font-size: 2.5rem;
	font-weight: 700;
}

.access__hotel-address,
.access__link {
	font-size: 1.8rem;
	font-weight: 700;
}

.access__hotel-address {
	margin-bottom: 5rem;
}

.access__link a {
	text-decoration: none;
}

.access__map {
	margin: 7rem 0 10rem;
}

.access__map iframe {
	width: 100%;
	height: 35rem;
}

.access__detail {
	margin-bottom: 12rem;
}

.access__detail--title {
	margin-bottom: 4rem;
	font-size: 1.8rem;
	font-weight: 700;
}

.access__detail--link .link-button {
	background: linear-gradient(0deg, #B36E6E 0%, #A32626 100%);
	margin: 0 auto;
	padding: 1rem;
	width: 35rem;
	height: 8rem;
	color: rgb(var(--wht));
	font-family: var(--mincho);
	font-size: 1.4rem;
}

.access__detail--link .link-button span {
	width: 100%;
	height: 100%;
	border: solid 1px rgb(var(--wht));
	display: flex;
	justify-content: center;
	align-items: center;
}

.access__logo {
	margin: 0 auto;
	width: 17.3rem;
}

@media screen and (max-width: 768px) {
	.access {
		padding: 4rem 0 5rem;
	}

	.access__title {
		margin-bottom: 6rem;
		font-size: 7rem;
	}

	.access__hotel-name {
		font-size: 2rem;
	}

	.access__hotel-address,
	.access__link {
		font-size: 1.6rem;
	}

	.access__hotel-address {
		margin-bottom: 0.5rem;
	}

	.access__map {
		margin: 4rem 0 5rem;
	}

	.access__map iframe {
		height: 20rem;
	}

	.access__detail {
		margin-bottom: 5rem;
	}

	.access__detail--title {
		margin-bottom: 2rem;
		font-size: 1.6rem;
	}

	.access__detail--link .link-button {
		padding: 0.8rem;
		width: 30rem;
		height: 6.8rem;
	}
}

/* ----------------------------------------------------
	footer
---------------------------------------------------- */
.footer {
	background-color: rgb(var(--wht));
	padding: 2rem 0;
	font-family: var(--gothic);
}

/* 
	hotel-nav 
------------------------------ */
.footer .hotel-nav {
	line-height: 1;
	font-size: 1.6rem;
	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;
		text-align: center;
		display: block;
	}

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

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

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

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

/* 
	copy
------------------------------ */
.footer .copy {
	margin-top: 2em;
	line-height: normal;
	font-size: 1.1rem;
	text-align: center;
}

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