/* ---------------------------------------------------
  chef
--------------------------------------------------- */
.chef {
	background: rgb(var(--blk));
	color: rgb(var(--wht));
	overflow: hidden;
	position: relative;
}

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

.chef::before {
	background-image: url(../img/restaurant/decoration01.webp);
	width: min(95.6rem, 74.688vw);
	height: min(66.9rem, 52.266vw);
	top: min(11.5rem, 8.984vw);
	left: max(-21.4rem, -16.719vw);
}

.chef::after {
	background-image: url(../img/restaurant/decoration02.webp);
	width: min(47.5rem, 37.109vw);
	height: min(38.2rem, 29.844vw);
	top: min(3.8rem, 2.969vw);
	right: max(-21.2rem, -16.563vw);
}

.chef__inner {
	margin: 0 auto;
	width: min(100rem, 78.125vw);
	display: flex;
	align-items: center;
	position: relative;
	z-index: 2;
}

.chef__content {
	width: min(57rem, 44.531vw);
}

.chef__content--title {
	margin-bottom: min(2rem, 1.563vw);
	font-size: min(3rem, 2.344vw);
}

.chef__content--text {
	margin-bottom: 1.5em;
	font-size: min(1.8rem, 1.406vw);
	font-weight: 400;
}

.chef__detail {
	margin-top: 6em;
	font-weight: 400;
}

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

.chef__detail--post .en {
	line-height: 1;
	font-family: var(--zain);
	font-size: min(2.2rem, 1.719vw);
	font-weight: 800;
	display: block;
}

.chef__detail--name {
	font-size: min(2rem, 1.563vw);
}

.chef__image {
	padding-top: min(5rem, 3.906vw);
	width: min(41rem, 32.031vw);
}

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

	.chef::after {
		background-image: url(../img/restaurant/decoration02_sp.webp);
		width: 171.235vw;
		height: 97.502vw;
		top: auto;
		right: auto;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
	}

	.chef__inner {
		padding-top: 0;
		width: 85.333vw;
		display: block;
	}

	.chef__content {
		padding-top: 18.133vw;
		width: 85.333vw;
		/* height: 242.667vw; */
		height: 232vw;
		position: relative;
		z-index: 3;
	}

	.chef__content--title {
		margin-bottom: 5.333vw;
		font-size: 6.933vw;
	}

	.chef__content--text {
		margin-bottom: 1em;
		font-size: 4.267vw;
	}

	.chef__detail--post {
		font-size: 4.267vw;
	}

	.chef__detail--post .en {
		font-size: 5.867vw;
	}

	.chef__detail--name {
		font-size: 5.333vw;
	}

	.chef__image {
		padding-top: 0;
		width: 50vw;
		position: absolute;
		right: 0;
		bottom: 0;
	}
}

/* ---------------------------------------------------
  decoration
--------------------------------------------------- */
.restaurant .decoration::before {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	margin: 0 auto;
	width: min(100rem, 78.125vw);
	position: absolute;
	z-index: 1;
	content: "";
}

.restaurant .ribbon01::before {
	background-image: url(../img/ribbon02.webp);
	width: 113px;
	height: 121px;
	top: -40px;
	right: -100px;
}

.restaurant .ribbon02::before {
	background-image: url(../img/ribbon06.webp);
	width: 154px;
	height: 104px;
	bottom: -20px;
	left: -100px;
}

@media screen and (max-width: 768px) {
	.restaurant .decoration::before {
		width: 100%;
	}

	.restaurant .decoration.ribbon02 {
		display: block;
	}

	.restaurant .decoration.ribbon02::before {
		width: 32.533vw;
		height: 22.133vw;
		bottom: 4vw;
		left: -8vw;
	}
}

/* ---------------------------------------------------
  restaurant-section
--------------------------------------------------- */
.restaurant-section {
	margin: min(12rem, 9.375vw) auto 0;
	width: min(100rem, 78.125vw);
}

.restaurant-section__title {
	margin-bottom: min(7rem, 5.469vw);
	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;
}

.restaurant-section__title::after {
	background: url(../img/ribbon02.webp) center no-repeat;
	background-size: cover;
	width: min(11.3rem, 8.828vw);
	height: min(12.1rem, 9.453vw);
	position: absolute;
	top: 50%;
	right: min(12.3rem, 9.609vw);
	transform: translateY(-60%);
	content: "";
}

.restaurant-section__list {}

.restaurant-section__list--item {
	margin-bottom: min(10rem, 7.813vw);
}

.restaurant-section__list--title {
	background: rgb(var(--gry));
	margin-bottom: min(3rem, 2.344vw);
	padding: 0.25em 0.5em;
	color: rgb(var(--wht));
	font-size: min(2.4rem, 1.875vw);
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}

.restaurant-section__list--title .note {
	margin-left: 1em;
	font-size: min(1.2rem, 0.938vw);
}

.restaurant-section__list--title .place {
	margin-left: 0.5em;
	font-size: min(1.6rem, 1.25vw);
}

.restaurant-section__lead {
	font-size: min(2.6rem, 2.031vw);
	text-align: center;
}

.restaurant-section__memo,
.restaurant-section__note {
	margin-bottom: 0.5em;
	font-size: min(1.4rem, 1.094vw);
	text-align: center;
}

@media screen and (max-width: 768px) {
	.restaurant-section {
		margin-top: 16vw;
		width: 85.333vw;
	}

	.restaurant-section__title {
		margin-bottom: 8vw;
		font-size: 11.2vw;
	}

	.restaurant-section__title::after {
		display: none;
	}

	.restaurant-section__list--item {
		margin-bottom: 21.333vw;
	}

	.restaurant-section__list--title {
		margin-bottom: 4.267vw;
		padding: 0.25em 0;
		line-height: 1.5;
		font-size: 5.333vw;
		display: block;
	}

	.restaurant-section__list--title .note,
	.restaurant-section__list--title .place {
		margin-left: 0;
		font-size: 3.2vw;
		display: block;
	}

	.restaurant-section__lead {
		margin-bottom: 4.267vw;
		line-height: 1.5;
		font-size: 4.8vw;
	}

	.restaurant-section__memo,
	.restaurant-section__note {
		margin-bottom: 1em;
		font-size: 3.733vw;
	}
}

/*
	menu
------------------------------ */
.menu__content {
	font-size: min(1.8rem, 1.406vw);
	display: flex;
	justify-content: space-between;
}

.menu__content--image {
	width: min(57.4rem, 44.844vw);
}

.menu__content--detail {
	width: min(39.6rem, 30.938vw);
}

.menu__content--title {
	margin-bottom: min(2rem, 1.563vw);
	line-height: 1.5;
	font-size: min(3rem, 2.344vw);
	font-weight: 600;
}

.menu__title,
.menu__text,
.menu__table {
	margin-bottom: min(1.5rem, 1.172vw);
}

.menu__title--inner {
	background: rgb(var(--nvy));
	padding: 0.5em 1em;
	line-height: 1;
	color: rgb(var(--wht));
	display: inline-flex;
	align-items: center;
}

.menu__title--inner .reservations {
	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);
	margin-left: 0.5em;
	padding: 0.25em 0.5em 0.25em 2em;
	color: rgb(var(--orn));
	font-size: min(1.5rem, 1.172vw);
	border: solid 1px rgb(var(--orn));
	border-radius: min(2.4rem, 1.875vw);
	display: flex;
	align-items: center;
}

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

.menu__link,
.menu__link--item:not(:last-of-type) {
	margin-bottom: min(1.4rem, 1.094vw);
}

.menu__link .link-button {
	padding-top: 0;
	width: min(23.6rem, 18.438vw);
	font-family: var(--gothic);
	font-size: min(1.6rem, 1.25vw);
}

.menu__detail {
	margin-bottom: min(1.4rem, 1.094vw);
}

.menu__detail--title {
	line-height: 1;
	color: rgb(var(--orn));
	font-size: min(2.4rem, 1.875vw);
	font-family: var(--zain);
	font-weight: 800;
}

.topics {
	background-position: center top;
	background-repeat: repeat-y;
	background-size: 100% auto;
	margin: min(6rem, 4.688vw) auto 0;
	padding: min(3rem, 2.344vw) 0;
	width: min(100rem, 78.125vw);
	position: relative;
}

.topics::before,
.topics::after {
	background-repeat: no-repeat;
	background-size: 100% auto;
	width: 100%;
	height: min(2rem, 1.563vw);
	position: absolute;
	left: 0;
	content: "";
}

.topics::before {
	background-position: center bottom;
	top: max(-1.6rem, -1.25vw);
}

.topics::after {
	background-position: center top;
	bottom: max(-1.6rem, -1.25vw);
}

.topics.type01 {
	background-image: url(../img/plan/offer-bg.webp);
}

.topics.type01::before {
	background-image: url(../img/plan/offer-bg-top.webp);
}

.topics.type01::after {
	background-image: url(../img/plan/offer-bg-bottom.webp);
}

.topics.type02 {
	background-image: url(../img/restaurant/topics-bg.webp);
}

.topics.type02::before {
	background-image: url(../img/restaurant/topics-bg-top.webp);
}

.topics.type02::after {
	background-image: url(../img/restaurant/topics-bg-bottom.webp);
}

.topics__title {
	margin-bottom: min(2rem, 1.563vw);
	line-height: 1;
	font-family: var(--zain);
	font-size: min(4.5rem, 3.516vw);
	font-weight: 800;
	display: flex;
	justify-content: center;
	align-items: center;
}

.type01 .topics__title {
	color: rgb(var(--orn));
}

.type02 .topics__title {
	color: rgb(var(--nvy));
}

.type02 .menu__table {
	margin: 0 auto min(1.5rem, 1.172vw);
}

.type02 .menu__table,
.type02 .menu__text {
	margin-bottom: 0;
	font-size: min(1.8rem, 1.406vw);
}

.type02 .menu__table+.menu__text {
	margin-bottom: min(2rem, 1.563vw);
	text-align: center;
}

.topics__title .category {
	background: rgb(var(--orn));
	margin: 0 0 0.5em 1em;
	padding: 0.25em 0.75em;
	font-family: var(--gothic);
	color: rgb(var(--wht));
	font-size: min(1.6rem, 1.25vw);
	border-radius: min(2.4rem, 1.875vw);
}

.topics__content {
	padding: 0 min(4.2rem, 3.281vw);
	display: flex;
	justify-content: space-between;
}

.type01 .topics__content--detail {
	width: min(49rem, 38.281vw);
	font-size: min(1.8rem, 1.406vw);
}

.type01 .topics__content--image {
	width: min(39rem, 30.469vw);
}

.type02 .topics__list {
	width: 100%;
	display: flex;
}

.type02 .topics__list--item:not(:last-of-type) {
	margin-right: min(3rem, 2.344vw);
}

.type02 .topics__list--item .wrap {
	display: flex;
	flex-wrap: wrap;
}

.type02 .topics__list--item.type01 {
	width: min(59.1rem, 46.172vw);
	border-right: dotted 2px rgb(var(--nvy));
}

.type02 .topics__list--item.type02 {
	width: min(28.8rem, 22.5vw);
	justify-content: flex-end;
}

.type02 .topics__list--item .month {
	margin-bottom: min(0.5rem, 0.391vw);
	font-size: min(2rem, 1.563vw);
	font-weight: 600;
}

.type02 .topics__unit {
	width: min(28.8rem, 22.5vw);
}

.type02 .topics__unit.small {
	margin-left: min(3rem, 2.344vw);
	width: min(23.8rem, 18.594vw);
}

.topics .decoration::before {
	background-image: url(../img/ribbon02.webp);
	width: min(8.1rem, 6.328vw);
	height: min(8.1rem, 6.328vw);
	z-index: 5;
}

.type02 .topics__unit .title {
	color: rgb(var(--nvy));
	font-size: min(2.4rem, 1.875vw);
	font-weight: 600;
}

.type02 .topics__unit .menu__table {
	margin: 0;
}

.topics.type01 .ribbon03::before {
	top: max(-7rem, -5.469vw);
	left: max(-2rem, -1.563vw);
	transform: rotate(90deg);
}

.topics.type02 .ribbon04::before {
	top: max(-10rem, -7.813vw);
	right: max(-4rem, -3.125vw);
}

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

	.menu__content--image {
		margin-bottom: 4vw;
		width: 100%;
	}

	.menu__content--detail {
		width: 100%;
	}

	.menu__content--title {
		margin-bottom: min(2rem, 1.563vw);
		font-size: 6.4vw;
	}

	.menu__title,
	.menu__text,
	.menu__table {
		margin-bottom: 4vw;
	}

	.menu__title {
		font-size: 4.8vw;
	}

	.menu__title--inner .reservations {
		background-position: center left 1.6vw;
		background-size: auto 3.467vw;
		font-size: 3.2vw;
		border-radius: 3.2vw;
	}

	.menu__link,
	.menu__link--item:not(:last-of-type) {
		margin-bottom: 4vw;
	}

	.menu__link .link-button {
		margin: 0 auto;
		width: 62.933vw;
		font-size: 3.733vw;
	}

	.menu__detail {
		margin-bottom: 4vw;
	}

	.menu__detail--title {
		font-size: 6.4vw;
	}

	.topics {
		margin-top: 12vw;
		padding: 5.333vw 8vw;
		width: 100%;
	}

	.topics::before,
	.topics::after {
		height: 5.333vw;

		background-repeat: no-repeat;
		background-size: 100% auto;
	}

	.topics::before {
		background-position: center bottom;
		top: -5.333vw;
	}

	.topics::after {
		background-position: center top;
		bottom: -5.333vw;
	}

	.topics.type01 {
		background-image: url(../img/plan/offer-bg_sp.webp);
	}

	.topics.type01::before {
		background-image: url(../img/plan/offer-bg-top_sp.webp);
	}

	.topics.type01::after {
		background-image: url(../img/plan/offer-bg-bottom_sp.webp);
	}

	.topics.type02 {
		background-image: url(../img/restaurant/topics-bg_sp.webp);
	}

	.topics.type02::before {
		background-image: url(../img/restaurant/topics-bg-top_sp.webp);
	}

	.topics.type02::after {
		background-image: url(../img/restaurant/topics-bg-bottom_sp.webp);
	}

	.topics__title {
		margin-bottom: 4.267vw;
		line-height: 1;
		font-size: 8vw;
		text-align: center;
		display: block;
	}

	.type02 .menu__table,
	.type02 .menu__table tbody,
	.type02 .menu__table tr,
	.type02 .menu__table--th,
	.type02 .menu__table--td {
		width: 100%;
		text-align: center;
		display: block;
	}

	.type02 .menu__table {
		margin-bottom: 4vw;
	}

	.type02 .menu__table,
	.type02 .menu__text {
		font-size: 3.733vw;
	}

	.type02 .menu__table+.menu__text {
		margin-bottom: 4vw;
		text-align: left;
	}

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

	.topics__content {
		padding: 0;
		display: block;
	}

	.type01 .topics__content--detail {
		width: 100%;
		font-size: 3.733vw;
	}

	.type01 .topics__content--image {
		width: 100%;
	}

	.type02 .topics__list {
		width: 100%;
		display: block;
	}

	.type02 .topics__list--item:not(:last-of-type) {
		margin-right: 0;
	}

	.type02 .topics__list--item .wrap {
		display: block;
	}

	.type02 .topics__list--item.type01 {
		margin-bottom: 6.4vw;
		width: 100%;
		border-right: none;
		border-bottom: dotted 2px rgb(var(--nvy));
	}

	.type02 .topics__list--item.type02 {
		width: 100%;
	}

	.type02 .topics__list--item .month {
		margin-bottom: 1.333vw;
		font-size: 4.8vw;
		text-align: center;
	}

	.type02 .topics__unit {
		margin-bottom: 6.4vw;
		width: 100%;
	}

	.type02 .topics__unit.small {
		margin-left: 0;
		width: 100%;
	}

	.topics .decoration::before {
		display: none;
	}

	.type02 .topics__unit .title {
		font-size: 4.8vw;
		text-align: center;
	}
}

/*
	dinner
------------------------------ */
.dinner__nav {
	margin-bottom: min(7.5rem, 5.859vw);
}

.dinner__nav-list {
	display: flex;
	justify-content: space-between;
}

.dinner__nav-list--item {
	width: min(23rem, 17.969vw);
}

.dinner__nav-link {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: min(11.6rem, 9.063vw) 0 min(2.9rem, 2.266vw);
	height: min(19.8rem, 15.469vw);
	line-height: 1.2;
	color: rgb(var(--blk));
	font-size: min(1.8rem, 1.406vw);
	text-align: center;
	text-decoration: none;
	display: flex;
	justify-content: center;
	align-items: center;
}

.dinner__nav-link.dinner01 {
	background-image: url(../img/restaurant/dinner-nav01.webp);
}

.dinner__nav-link.dinner02 {
	background-image: url(../img/restaurant/dinner-nav02.webp);
}

.dinner__nav-link.dinner03 {
	background-image: url(../img/restaurant/dinner-nav03.webp);
}

.dinner__nav-link.dinner04 {
	background-image: url(../img/restaurant/dinner-nav04.webp);
}

.dinner__lead {
	margin-bottom: min(8rem, 6.25vw);
	font-size: min(1.8rem, 1.406vw);
	text-align: center;
}

.dinner__lead--text {}

.dinner__lead--note {
	margin-bottom: 2em;
}

.mark {
	color: rgb(var(--nvy));
}

.marker {
	background: rgb(var(--beg));
	padding: 0.25em 0.5em;
	display: inline-block;
}

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

	.dinner__nav-list {
		flex-wrap: wrap;
	}

	.dinner__nav-list--item {
		margin-bottom: 4.8vw;
		width: 40vw;
	}

	.dinner__nav-link {
		padding: 20.267vw 0 5.067vw;
		height: 34.667vw;
		font-size: 3.2vw;
	}

	.dinner__lead {
		margin-bottom: 24vw;
		font-size: 3.733vw;
		text-align: center;
	}

	.dinner__lead--text {
		margin-bottom: 0.5em;
	}

	.dinner__lead--note {
		margin-bottom: 2em;
		display: inline-block;
		position: relative;
	}

	.dinner__lead--note::before,
	.dinner__lead--note::after {
		background-position: center;
		background-repeat: no-repeat;
		background-size: auto 100%;
		width: 4vw;
		height: 100%;
		position: absolute;
		top: 0;
		content: "";
	}

	.dinner__lead--note::before {
		background-image: url(../img/parentheses-left.webp);
		left: -5.333vw;
	}

	.dinner__lead--note::after {
		background-image: url(../img/parentheses-right.webp);
		right: -5.333vw;
	}

	.dinner__lead--note.sp-left {
		text-align: left;
	}
}

/*
	diiner__content
------------------------------ */
.dinner__content {
	margin-top: min(3rem, 2.344vw);
}

.dinner__content--list {
	display: flex;
	justify-content: space-between;
}

.dinner__content--list-item {
	width: min(48rem, 37.5vw);
}

.dinner__content--image {
	margin: 0 auto;
	width: min(48rem, 37.5vw);
}

.dinner__content--image .caption {
	margin: 1em 0 0;
	line-height: 1;
	font-size: min(2.4rem, 1.875vw);
	text-align: center;
}

.dinner__content--link {
	margin: 0 auto;
	display: flex;
	justify-content: center;
}

.dinner__content--link-item {
	margin: 0 2em;
}

.dinner .restaurant-section__list--item .link-button {
	margin: min(5rem, 3.906vw) auto 0;
	padding-top: 0;
	width: min(23.6rem, 18.438vw);
	font-family: var(--gothic);
	font-size: min(1.5rem, 1.172vw);
}

.dinner .restaurant-section__list--item .link-button.long {
	margin-top: 0;
	width: min(38.6rem, 30.156vw);
}

@media screen and (max-width: 768px) {
	.dinner__content {
		margin-top: 12vw;
	}

	.dinner__content.one-column {
		margin-top: 8vw;
	}

	.dinner__content--list {
		display: block;
	}

	.dinner__content--list-item,
	.dinner__content--image {
		margin: 0 auto;
		width: 100%;
	}

	.dinner__content--list-item {
		margin-bottom: 16vw;
	}

	.dinner__content--image .caption {
		font-size: 4.8vw;
	}

	.dinner__content--link {
		display: block;
	}

	.dinner__content--link-item {
		margin: 0 0 1em;
	}

	.dinner .restaurant-section__list--item .link-button {
		margin-top: 6.4vw;
		width: 62.933vw;
		font-size: 3.733vw;
	}

	.dinner .restaurant-section__list--item .link-button.long {
		width: 100%;
		height: 16vw;
		text-align: center;
	}
}

/*
	comment
------------------------------ */
.dinner .comment {
	background: url(../img/restaurant/comment-bg.webp) center repeat-y;
	background-size: 100% auto;
	margin: min(7rem, 5.469vw) auto min(10rem, 7.813vw);
	padding: 0 min(3.3rem, 2.578vw) min(2.2rem, 1.719vw);
	max-width: min(80.4rem, 62.813vw);
	font-size: min(1.6rem, 1.25vw);
	display: flex;
	justify-content: space-between;
	position: relative;
}

.dinner .comment::before,
.dinner .comment::after {
	background-repeat: no-repeat;
	background-size: 100% auto;
	width: 100%;
	position: absolute;
	left: 0;
	content: "";
}

.dinner .comment::before {
	background-image: url(../img/restaurant/comment-bg-top.webp);
	background-position: center bottom;
	height: min(2.5rem, 1.953vw);
	top: max(-2.5rem, -1.953vw);
}

.dinner .comment::after {
	background-image: url(../img/restaurant/comment-bg-bottom.webp);
	background-position: center top;
	height: min(0.5rem, 0.391vw);
	bottom: max(-0.5rem, -0.391vw);
}

.dinner .comment.half {
	background: url(../img/restaurant/comment-bg-half.webp) center repeat-y;
	background-size: 100% auto;
}

.dinner .comment.half::before {
	background-image: url(../img/restaurant/comment-bg-top-half.webp);
}

.dinner .comment.half::after {
	background-image: url(../img/restaurant/comment-bg-bottom-half.webp);
}

.dinner .comment__title {
	width: min(18rem, 14.063vw);
	position: absolute;
	top: 0;
	left: 0;
}

.dinner .comment__image {
	margin-left: min(2rem, 1.563vw);
	width: min(18rem, 14.063vw);
	height: 100%;
}

.comment__content {
	margin-top: min(4rem, 3.125vw);
	width: min(52.3rem, 40.859vw);
	width: 100%;
}

.comment__content--name,
.comment__content--name .name i {
	font-size: min(1.6rem, 1.25vw);
	font-weight: 600;
}

.comment__content--name .name {
	margin-left: 2em;
	font-size: min(2rem, 1.563vw);
}

@media screen and (max-width: 768px) {
	.dinner .comment {
		background: url(../img/restaurant/comment-bg_sp.webp) center repeat-y;
		background-size: 100% auto;
		margin: 16vw auto;
		padding: 13.333vw 5.333vw 8vw;
		max-width: 100%;
		font-size: min(1.6rem, 1.25vw);
		font-size: 3.733vw;
		display: block;
	}

	.dinner .comment::before {
		background-image: url(../img/restaurant/comment-bg-top_sp.webp);
		height: 8vw;
		top: -8vw;
	}

	.dinner .comment::after {
		background-image: url(../img/restaurant/comment-bg-bottom_sp.webp);
		height: 8vw;
		bottom: -8vw;
	}

	.dinner .comment.half {
		background: url(../img/restaurant/comment-bg_sp.webp) center repeat-y;
		background-size: 100% auto;
	}

	.dinner .comment.half::before {
		background-image: url(../img/restaurant/comment-bg-top_sp.webp);
	}

	.dinner .comment.half::after {
		background-image: url(../img/restaurant/comment-bg-bottom_sp.webp);
	}

	.dinner .comment__title {
		width: 40vw;
	}

	.dinner .comment__image {
		margin: 8vw auto 0;
		width: 40vw;
	}

	.comment__content {
		margin-top: 0;
		width: 100%;
	}

	.comment__content--name,
	.comment__content--name .name i {
		font-size: 3.733vw;
	}

	.comment__content--name .name {
		margin-left: 0;
		font-size: 4.8vw;
		display: block;
	}
}

/* ---------------------------------------------------
  popup
--------------------------------------------------- */
/* 初期状態は非表示 */
.popup-layer {
	background: rgba(var(--blk), 0.75);
	display: none;
	position: fixed;
	inset: 0;
	place-items: center;
	z-index: 9999;
}

body.is-popup-open {
	overflow: hidden;
}

body.is-popup-open .popup-layer {
	display: flex;
	justify-content: center;
	align-items: center;
}

.popup-dialog {
	background: rgb(var(--wht));
	width: min(70rem, 54.688vw);
	border: solid min(0.4rem, 0.313vw) rgb(var(--orn));
	position: relative;
}

.popup-close {
	background: rgb(var(--orn));
	width: min(4rem, 3.125vw);
	height: min(4rem, 3.125vw);
	color: rgb(var(--wht));
	font-size: min(2rem, 1.563vw);
	border: none;
	border-radius: min(2rem, 1.563vw);
	position: absolute;
	top: max(-2rem, -1.563vw);
	right: max(-2rem, -1.563vw);
	cursor: pointer;
}

.popup-src {
	display: none;
}

.popup {
	padding: min(6rem, 4.688vw);
	width: 100%;
	max-height: 80vh;
	overflow: auto;
}

.popup__title {
	margin-bottom: 2em;
	font-weight: 600;
	text-align: center;
	border-bottom: solid 1px rgb(var(--orn));
}

.popup__title .shop {
	font-size: min(2rem, 1.563vw);
	display: block;
}

.popup__title .title {
	color: rgb(var(--orn));
	font-family: var(--zain);
	font-size: min(3.6rem, 2.813vw);
	font-weight: 800;
}

.popup__title .title small {
	font-family: var(--gothic);
	font-size: 0.7em;
}

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

.popup-talbe__th {
	padding-right: 1em;
	width: 5em;
	color: rgb(var(--orn));
	white-space: nowrap;
	display: flex;
	justify-content: space-between;
}

.long .popup-talbe__th {
	width: 6.5em;
}

.popup-list--item {
	display: flex;
}

.popup-list--item::before {
	margin: 0.65em 0.5em 0 0;
	color: #888;
	font-size: min(1rem, 0.781vw);
	content: "●";
}

.popup-image {
	margin: 0 auto 1.5em;
	width: min(50rem, 39.063vw);
}

.popup-menu__title {
	margin-bottom: min(0.5rem, 0.391vw);
}

.popup-menu__title--inner {
	padding: 0.25em 1em;
	color: rgb(var(--orn));
	border: solid 1px rgb(var(--orn));
	display: inline-block;
}

@media screen and (max-width: 768px) {
	.popup-dialog {
		width: 85.333vw;
		border: solid 1.067vw rgb(var(--orn));
	}

	.popup-close {
		width: 8vw;
		height: 8vw;
		font-size: 4vw;
		border-radius: 8vw;
		top: -4vw;
		right: -4vw;
	}

	.popup {
		padding: 9.6vw 6.4vw;
	}

	.popup__title .shop {
		font-size: 4.267vw;
	}

	.popup__title .title {
		font-size: 8.533vw;
	}

	.popup__content {
		font-size: 3.733vw;
	}

	.popup-talbe__th {
		padding-right: 1em;
		width: 5em;
		color: rgb(var(--orn));
		white-space: nowrap;
		display: flex;
		justify-content: space-between;
	}

	.long .popup-talbe__th {
		width: 6.5em;
	}

	.popup-talbe,
	.popup-talbe tbody,
	.popup-talbe tr,
	.popup-talbe__th,
	.popup-talbe__td {
		display: block;
	}

	.popup-talbe__td {
		margin-bottom: 1em;
	}

	.popup-list--item::before {
		font-size: 2.133vw;
	}

	.popup-image {
		width: 100%;
	}

	.popup-menu__title {
		margin-bottom: 0.5em;
	}
}