/* ---------------------------------------------------
  header
--------------------------------------------------- */
.header {
	background-color: rgb(var(--orn));
	background-image: url(../img/under-header-bg.webp);
	background-position: left center;
	background-repeat: no-repeat;
	background-size: auto 100%;
	margin-top: min(7.7rem, 6.016vw);
	width: 100%;
	height: min(28.5rem, 22.266vw);
	color: rgb(var(--wht));
	display: flex;
	justify-content: center;
	align-items: center;
}

.header__title {
	line-height: 0.8;
	font-family: var(--zain);
	font-size: min(8rem, 6.25vw);
	font-weight: 800;
	text-align: center;
}

.header__title--jp {
	line-height: 1.8;
	font-family: var(--gothic);
	font-size: min(2rem, 1.563vw);
	font-weight: 600;
	display: block;
}

@media screen and (max-width: 768px) {
	.header {
		margin-top: 0;
		height: 34.667vw;
		align-items: flex-end;
	}

	.header__title {
		padding-bottom: 4vw;
		font-size: 12vw;
	}

	.entertainment .header__title,
	.restaurant .header__title {
		padding-bottom: 8vw;
	}

	.plan .header__title {
		padding-bottom: 5.6vw;
	}

	.header__title--jp {
		font-size: 4.267vw;
	}
}

/* ---------------------------------------------------
  gnav
--------------------------------------------------- */
.gnav {
	position: fixed;
}

/* ---------------------------------------------------
  about
--------------------------------------------------- */
.about {
	margin: 0 auto;
	padding: min(8rem, 6.25vw) 0;
	width: min(100rem, 78.125vw);
	text-align: center;
	position: relative;
}

.about__title {
	color: rgb(var(--orn));
	font-family: var(--zain);
	font-size: min(3.5rem, 2.734vw);
	font-weight: 800;
}

.about__content {
	margin: 0 auto;
	padding: min(2.5rem, 1.953vw) 0;
	width: min(52.5rem, 41.016vw);
	border: solid 1px;
}

.about__content:not(:last-of-type) {
	margin-bottom: 1.6em;
}

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

.about__content--title-inner {
	padding: 0.25em 0.5em;
	line-height: 1;
	font-size: min(1.6rem, 1.25vw);
	font-weight: 600;
	border-radius: min(2.4rem, 1.875vw);
	display: inline-block;
}

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

/*.type01 */
.about__content.type01 {
	background: rgb(var(--light-lmn));
	border: solid 1px rgb(var(--yel));
}

.type01 .about__content--title-inner {
	background: rgb(var(--lmn));
}

.type01 .about__content--text {
	color: #d49000;
}

/*.type02 */
.about__content.type02 {
	background: rgb(var(--beg));
	border: solid 1px rgb(var(--orn));
}

.type02 .about__content--title-inner {
	background: rgb(var(--orn));
	color: rgb(var(--wht));
}

.type02 .about__content--text {
	color: rgb(var(--orn));
}

/*.type03 */
.about__content.type03 {
	background: rgb(var(--aqu));
	border: solid 1px rgb(var(--nvy));
}

.type03 .about__content--title-inner {
	background: rgb(var(--nvy));
	color: rgb(var(--wht));
}

.type03 .about__content--text {
	color: rgb(var(--nvy));
}

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

	.about__title {
		font-size: 8vw;
	}

	.about__content {
		padding: 6.933vw 0;
		width: 100%;
	}

	.about__content--title {
		margin-bottom: 2.667vw;
	}

	.about__content--title-inner {
		font-size: 4.267vw;
		border-radius: 6.4vw;
	}

	.about__content--text {
		font-size: 4.267vw;
	}

	.about__content .note {
		padding: 0 3.2vw;
		text-align: left;
	}
}

/* ---------------------------------------------------
  main__content
--------------------------------------------------- */
.main__content {
	background: rgb(var(--beg));
	padding: min(11rem, 8.594vw) 0;
	overflow-x: hidden;
}

.main__content--title {
	line-height: 1;
	color: rgb(var(--orn));
	font-family: var(--zain);
	font-size: min(6.5rem, 5.078vw);
	font-weight: 800;
	text-align: center;
	position: relative;
}

.main__content--title.ribbon::before {
	background-image: url(../img/ribbon02.webp);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: min(14.3rem, 11.172vw);
	height: min(15.3rem, 11.953vw);
	position: absolute;
	top: max(-5.2rem, -4.063vw);
	left: min(6.2rem, 4.844vw);
	transform: rotate(90deg);
	content: "";
}

.main__content--inner {
	margin: 0 auto;
	width: min(100rem, 78.125vw);
	position: relative;
}

.main__content .note {
	margin-top: min(1rem, 0.781vw);
}

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

	.main__content--title {
		font-size: 11.2vw;
	}

	.main__content--title.ribbon::before {
		display: none;
	}

	.main__content--inner {
		width: 85.333vw;
	}

	.main__content .note {
		margin-top: 2.667vw;
	}
}

/* ---------------------------------------------------
  decoration
--------------------------------------------------- */
.decoration {
	margin: 0 auto;
	width: min(100rem, 78.125vw);
	position: relative;
}

.ribbon01::before {
	background-image: url(../img/ribbon02.webp);
	width: min(14.3rem, 11.172vw);
	height: min(15.3rem, 11.953vw);
	right: 0;
	bottom: max(-7.7rem, -6.016vw);
}

.decoration::before {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	content: "";
}

.decoration01::before {
	background-image: url(../img/decoration-o01.webp);
	width: min(45.4rem, 35.469vw);
	height: min(16.6rem, 12.969vw);
	top: max(-11rem, -8.594vw);
	left: min(68.1rem, 53.203vw);
}

.decoration02::before {
	background-image: url(../img/decoration-o01.webp);
	width: min(45.4rem, 35.469vw);
	height: min(16.6rem, 12.969vw);
	top: max(-16.2rem, -12.656vw);
	top: min(15.7rem, 12.266vw);
	right: min(82.4rem, 64.375vw);
}

@media screen and (max-width: 768px) {
	.decoration {
		display: none;
	}
}

/* ---------------------------------------------------
  show-section
--------------------------------------------------- */
.show-section {
	/* font-size: min(1.8rem, 1.406vw); */
	font-size: min(1.6rem, 1.25vw);
	position: relative;
	z-index: 2;
}

.show__reservations {
	margin-bottom: min(1rem, 0.781vw);
	line-height: 1;
	text-align: center;
}

.show__reservations--inner {
	background: rgb(var(--wht)) url(../img/event/icon-tel.svg) center left min(0.6rem, 0.469vw) no-repeat;
	background-size: auto min(1.3rem, 1.016vw);
	padding: 0.25em 0.5em 0.25em 2em;
	color: rgb(var(--orn));
	font-family: var(--gothic);
	font-size: min(1.5rem, 1.172vw);
	border: solid 1px rgb(var(--orn));
	border-radius: min(2.4rem, 1.875vw);
	display: inline-flex;
	justify-content: center;
	align-items: center;
}

.show__place {
	margin-bottom: min(6rem, 4.688vw);
	font-size: min(1.6rem, 1.25vw);
	text-align: center;
}

.show-content {
	margin-top: min(3rem, 2.344vw);
}

.show-content-split {
	display: flex;
	justify-content: space-between;
}

.show-content__date {
	background: rgb(var(--orn));
	margin-bottom: min(3.6rem, 2.813vw);
	padding: 0.25em 0.5em;
	line-height: 1.5;
	color: rgb(var(--wht));
	font-size: min(2.4rem, 1.875vw);
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}

.show-content__detail {}

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

.show__list--item {
	margin-bottom: min(9rem, 7.031vw);
}

.show-section .one-column {
	margin: 0 auto min(12rem, 9.375vw);
	width: min(70rem, 54.688vw);
}

.show-section .two-column {
	width: min(44.4rem, 34.688vw);
}

.show__title {
	margin-top: min(1rem, 0.781vw);
	color: rgb(var(--orn));
	font-size: min(2.4rem, 1.875vw);
	font-weight: 600;
	display: flex;
	align-items: center;
}

.show__title.blk {
	color: rgb(var(--blk));
}

.show__title .category {
	margin-left: 1em;
	padding: 0.25em 0.5em;
	line-height: 1;
	color: rgb(var(--wht));
	font-size: min(1.4rem, 1.094vw);
	font-weight: 500;
	border-radius: min(2.4rem, 1.875vw);
}

.show__title .category.type01 {
	background: rgb(var(--orn));
}

.show__title .category.type02 {
	background: rgb(var(--nvy));
}

.show__table {
	margin-top: min(1rem, 0.781vw);
}

.show__table--th {
	white-space: nowrap;
	vertical-align: top;
}

.show__table--td {}

.show__text {
	margin-top: min(1rem, 0.781vw);
}

.show__performer {
	margin-top: min(2rem, 1.563vw);
}

.show__performer--name {
	line-height: 1;
	color: rgb(var(--orn));
	font-size: min(2.2rem, 1.719vw);
	font-weight: 600;
}

.show__performer--profile {
	margin-top: min(1rem, 0.781vw);
	font-size: min(1.6rem, 1.25vw);
}

.show-section+.note {
	margin-top: min(12rem, 9.375vw);
}

.show-section--center {
	margin-bottom: min(3rem, 2.344vw);
	text-align: center;
}

.show-section--center .show__title {
	justify-content: center;
}

.show-section--center .show__table {
	margin: 0 auto;
}

.event-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.event-list__item {
	margin-bottom: min(5rem, 3.906vw);
	width: min(30rem, 23.438vw);
}

.event-list__item:not(:nth-child(3n)) {
	margin-right: min(5rem, 3.906vw);
}

.event-list__item:last-of-type {
	margin-right: 0;
}

@media screen and (max-width: 768px) {
	.show-section {
		font-size: 3.733vw;
	}

	.show__reservations {
		margin-bottom: 2.667vw;
	}

	.show__reservations--inner {
		background: rgb(var(--wht)) url(../img/event/icon-tel.svg) center left 1.6vw no-repeat;
		background-size: auto 3.2vw;
		font-size: 3.733vw;
		border-radius: 6.4vw;
	}

	.show__place {
		margin-bottom: 8vw;
		font-size: 4.267vw;
	}

	.show-content {
		margin-top: 8vw;
	}

	.show-content-split {
		display: block;
	}

	.show-content-split .show-content {
		margin-top: 16vw;
	}

	.show-content__date {
		margin-bottom: 5.333vw;
		font-size: 5.333vw;
	}

	.show__list {
		display: block;
	}

	.show__list--item {
		margin-bottom: 16vw;
	}

	.show-section .one-column {
		margin-bottom: 16vw;
		width: 100%;
	}

	.show-section .two-column {
		width: 100%;
	}

	.show__title {
		margin-top: 2.667vw;
		font-size: 5.333vw;
	}

	.show__title.blk {
		color: rgb(var(--blk));
	}

	.show__title .category {
		font-size: 3.2vw;
		border-radius: 6.4vw;
	}

	.show__table {
		margin-top: 2.667vw;
	}

	.show__text {
		margin-top: 2.667vw;
	}

	.show__performer {
		margin-top: 6.4vw;
	}

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

	.show__performer--profile {
		margin-top: 2.667vw;
		font-size: 3.733vw;
	}

	.show-section+.note {
		margin-top: 16vw;
	}

	.show-section--center {
		margin-bottom: 8vw;
		text-align: left;
	}

	.show-section--center .show__title {
		justify-content: center;
	}

	.show-section--center .show__table {
		width: 100%;
	}

	.event-list {
		display: block;
	}

	.event-list__item {
		margin-bottom: 16vw;
		width: 100%;
	}

	.event-list__item:not(:nth-child(3n)) {
		margin-right: 0;
	}
}