@charset "UTF-8";
body {
	--menu-page-color-text: #f0e8de;
	--menu-page-color-dark: #131313;
	--menu-page-color-accent: #caa366;
	--menu-page-content-width: 1216px;
}

.menu-section {
	box-sizing: border-box;
	color: var(--menu-page-color-text);
}

.menu-section__heading {
	margin: 0;
	font-family: "Noto Serif JP", serif;
	font-weight: 700;
	line-height: 1;
	text-align: center;
}

.menu-page-mv {
	position: relative;
	box-sizing: border-box;
	height: 428px;
	color: var(--menu-page-color-text);
	overflow: hidden;
}

.menu-page-mv__title {
	position: absolute;
	top: 173px;
	left: 48px;
	font-family: "Noto Serif JP", serif;
	font-weight: 700;
	line-height: 1.2;
}

.menu-page-mv__lead,
.menu-page-mv__heading {
	margin: 0;
	font: inherit;
	white-space: nowrap;
}

.menu-page-mv__lead {
	font-size: 26px;
	letter-spacing: -1.3px;
}

.menu-page-mv__heading {
	font-size: 80px;
	letter-spacing: -4px;
}

.menu-page-mv__breadcrumb {
	position: absolute;
	top: 380px;
	left: 48px;
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1;
	white-space: nowrap;
}

.menu-page-mv__breadcrumb a {
	color: inherit;
	text-decoration: none;
}

.menu-page-mv__breadcrumb-separator {
	display: block;
	width: 8px;
	height: 1px;
	background-color: currentColor;
}

.menu-page-mv__decoration {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 20px;
	background: var(--menu-page-color-dark) url("../imgs/common/separator.png") center bottom / 1920px 20px repeat-x;
}

.menu-page-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	height: 92px;
	background-color: var(--menu-page-color-dark);
	color: var(--menu-page-color-text);
}

.menu-page-nav__list {
	display: flex;
	align-items: center;
	gap: 40px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.menu-page-nav__item a {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: "Noto Serif JP", serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.8px;
	color: var(--menu-page-color-text);
	transition: color 0.3s ease;
	white-space: nowrap;
}

.menu-page-nav__item a:hover {
	color: #CAA366;
}

.menu-page-nav__item img {
	display: block;
	flex: 0 0 auto;
	width: 10px;
	height: 8px;
	max-width: none;
	transition: none;
}

.menu-page-nav__item a:hover img {
	opacity: 1;
}

.menu-limited {
	padding-top: 80px;
}

.menu-limited__heading {
	font-size: 80px;
	letter-spacing: -4px;
}

.menu-limited__card {
	position: relative;
	display: flex;
	align-items: center;
	gap: 104px;
	box-sizing: border-box;
	width: min(var(--menu-page-content-width), calc(100% - 48px));
	min-height: 763px;
	margin: 93px auto 0;
	padding-left: 68px;
}

.menu-limited__border {
	position: absolute;
	top: 57px;
	left: 0;
	z-index: 0;
	box-sizing: border-box;
	width: 100%;
	height: 636px;
	border: 1px solid var(--menu-page-color-accent);
	pointer-events: none;
}

.menu-limited__image {
	position: relative;
	z-index: 1;
	display: block;
	flex: 0 1 540px;
	width: min(540px, 45%);
	height: auto;
}

.menu-limited__content {
	position: relative;
	z-index: 1;
	display: flex;
	flex: 0 1 398px;
	flex-direction: column;
	gap: 32px;
	width: min(398px, 34%);
}

.menu-limited-product {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	margin: 0;
}

.menu-limited-product__name,
.menu-limited-product__price,
.menu-limited-product__description,
.menu-limited__note {
	margin: 0;
}

.menu-limited-product__name {
	font-family: "Noto Serif JP", serif;
	font-size: 40px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -2px;
	white-space: nowrap;
}

.menu-limited-product__name span {
	color: var(--menu-page-color-accent);
}

.menu-limited-product__price {
	display: flex;
	align-items: flex-end;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
}

.menu-limited-product__price-number {
	font-family: "Outfit", sans-serif;
	font-size: 40px;
}

.menu-limited-product__price-unit {
	font-size: 24px;
}

.menu-limited-product__price-tax {
	font-size: 14px;
	font-weight: 500;
}

.menu-limited-product__description {
	width: 100%;
	font-size: 18px;
	font-weight: 400;
	line-height: 2;
}

.menu-limited__note {
	width: 100%;
	font-size: 14px;
	font-weight: 400;
	line-height: 2;
}

.menu-limited__date {
	position: absolute;
	top: -34px;
	left: 827px;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	width: 160px;
	height: 160px;
	font-family: "Noto Serif JP", serif;
	font-weight: 900;
	line-height: 0.7;
	text-align: center;
}

.menu-limited__date img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
}

.menu-limited__date span {
	position: relative;
	white-space: nowrap;
}

.menu-limited__date-period {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	margin: 0;
	font-size: 20px;
	letter-spacing: -1px;
	white-space: nowrap;
}

.menu-limited__date-period span {
	font-size: 50px;
	letter-spacing: -2.5px;
}

.menu-regular {
	padding-top: 133px;
}

.menu-regular__header {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
	height: 97px;
	margin-bottom: 24px;
	font-family: "Noto Serif JP", serif;
	line-height: 1;
	text-align: center;
}

.menu-regular__heading,
.menu-regular__note {
	margin: 0;
}

.menu-regular__heading {
	font-size: 50px;
	letter-spacing: -2.5px;
}

.menu-regular__note {
	font-size: 20px;
	font-weight: 500;
}

.menu-regular-main {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
	width: min(800px, calc(100% - 48px));
	margin: 0 auto;
}

.menu-regular-main__visual,
.menu-regular-card__visual {
	position: relative;
	width: 100%;
}

.menu-regular-main__visual {
	height: 680px;
}

.menu-regular-main__background-text,
.menu-regular-card__background-text {
	position: absolute;
	top: 0;
	z-index: 0;
	font-family: "DNPShuei4goBStd", "Noto Serif JP", serif;
	font-weight: 900;
	line-height: 1;
	color: #2d2d2d;
	white-space: nowrap;
}

.menu-regular-main__background-text {
	left: 50%;
	font-size: 200px;
	letter-spacing: -20px;
	transform: translateX(-50%);
}

.menu-regular-main__image,
.menu-regular-card__image {
	position: absolute;
	z-index: 1;
	display: block;
	width: 100%;
	height: auto;
}

.menu-regular-main__image {
	top: 108px;
	left: 0;
	width: 800px;
	height: auto;
}
.menu-regular-badge {
	position: absolute;
	z-index: 2;
	display: grid;
	place-items: center;
	font-family: "Noto Serif JP", serif;
	font-weight: 900;
	line-height: 1.2;
	text-align: center;
	color: #fff;
}

.menu-regular-badge img,
.menu-regular-badge span {
	grid-area: 1 / 1;
}

.menu-regular-badge img {
	display: block;
	width: 100%;
	height: 100%;
}

.menu-regular-badge--main {
	top: 108px;
	left: 1px;
	width: 160px;
	height: 160px;
	font-size: 30px;
	letter-spacing: -1.5px;
}

.menu-regular-main__content,
.menu-regular-card__content {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.menu-regular-main__content {
	gap: 16px;
}

.menu-regular-catch {
	display: grid;
	place-items: center;
	width: 224px;
	height: 36px;
	margin: 0;
	background: url("../imgs/menu/regular-catch-bg.png") center / 100% 100% no-repeat;
	font-family: "Noto Serif JP", serif;
	font-size: 18px;
	font-weight: 900;
	line-height: 1;
	color: #131313;
}

.menu-regular__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 508px));
	gap: 80px;
	justify-content: center;
	width: min(1096px, calc(100% - 48px));
	margin: 80px auto 0;
}

.menu-regular-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
	min-width: 0;
}

.menu-regular-card__visual {
	flex: 0 0 auto;
	height: 460px;
}

.menu-regular-card__background-text {
	left: 0;
	width: 100%;
	font-size: 170px;
	letter-spacing: -20px;
	text-align: center;
	transform: none;
}

.menu-regular-card__image {
	top: 108px;
	left: 50%;
	width: min(500px, 100%);
	height: calc(100% - 108px);
	object-fit: contain;
	object-position: center top;
	transform: translateX(-50%);
}

.menu-regular-badge--card {
	top: 108px;
	left: 0;
	width: 120px;
	height: 120px;
	font-size: 24px;
	letter-spacing: -1.2px;
}

.menu-regular-card__content {
	gap: 16px;
	width: min(390px, 100%);
}

.menu-regular-card__description {
	width: 100%;
}

.menu-side {
	padding-top: 120px;
}

.menu-side__heading {
	font-size: 50px;
	letter-spacing: -2.5px;
}

.menu-compact-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 286px));
	gap: 64px 24px;
	width: min(var(--menu-page-content-width), calc(100% - 48px));
	margin: 64px auto 0;
}

.menu-product-card {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.menu-compact-card {
	gap: 24px;
	min-width: 0;
	width: 100%;
	height: 247px;
}

.menu-side-card:nth-child(n + 7) {
	width: 260px;
}

.menu-side-card--has-detail {
	height: 283px;
}

.menu-product-card__image {
	display: block;
	height: auto;
}

.menu-side-card__image {
	flex: 0 0 auto;
	width: min(240px, 100%);
	height: 157px;
	object-fit: contain;
	object-position: center;
}

.menu-product-card__content {
	display: flex;
	flex-direction: column;
	align-items: center;
	font-weight: 700;
	white-space: nowrap;
}

.menu-side-card__content {
	gap: 8px;
}

.menu-side-card--has-detail .menu-side-card__content {
	gap: 12px;
}

.menu-side-card__name,
.menu-side-card__detail,
.menu-side-card__price {
	margin: 0;
}

.menu-side-card__name {
	font-family: "Noto Serif JP", serif;
	font-size: 30px;
	line-height: 1;
	letter-spacing: -1.5px;
}

.menu-side-card__detail {
	font-family: "Noto Serif JP", serif;
	font-size: 20px;
	line-height: 1;
	letter-spacing: -1px;
}

.menu-side-card__price .menu-limited-product__price-number {
	font-size: 28px;
}

.menu-side-card__price .menu-limited-product__price-unit {
	font-size: 18px;
}

.menu-side-card__price .menu-limited-product__price-tax {
	font-size: 12px;
}

.menu-topping {
	padding-top: 120px;
}

.menu-topping__header {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
	height: 104px;
	font-family: "Noto Serif JP", serif;
	text-align: center;
}

.menu-topping__heading,
.menu-topping__lead {
	margin: 0;
	line-height: 1;
}

.menu-topping__heading {
	font-size: 50px;
	letter-spacing: -2.5px;
}

.menu-topping__lead {
	font-size: 30px;
	font-weight: 700;
	letter-spacing: -1.5px;
}

.menu-topping__features {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 360px));
	gap: 40px;
	width: min(1160px, calc(100% - 48px));
	margin: 64px auto 0;
}

.menu-topping-feature {
	gap: 24px;
	height: 367px;
}

.menu-topping-feature__image {
	width: 100%;
	height: 236px;
	object-fit: contain;
	object-position: center;
}

.menu-topping-feature__content {
	gap: 16px;
}

.menu-topping-feature__content .menu-side-card__name,
.menu-topping-feature__content .menu-side-card__detail,
.menu-topping-feature__price {
	margin: 0;
}

.menu-topping-feature__price .menu-limited-product__price-number {
	font-size: 36px;
}

.menu-topping-feature__price .menu-limited-product__price-unit {
	font-size: 18px;
}

.menu-topping-feature__price .menu-limited-product__price-tax {
	font-size: 12px;
}

.menu-topping-card:last-child {
	height: 289px;
}

.menu-topping-card:last-child .menu-side-card__name {
	line-height: 1;
	text-align: center;
}

.menu-knowledge {
	padding: 120px 0;
	overflow-x: clip;
}

.menu-knowledge__inner {
	position: relative;
	width: min(1244px, calc(100% - 48px));
	height: 1616px;
	margin-inline: auto;
}

.menu-knowledge__eyecatch {
	position: absolute;
	top: 0;
	left: 50%;
	width: 380px;
	height: 200px;
	transform: translateX(-50%);
}

.menu-knowledge__eyecatch img {
	display: block;
	width: 100%;
	height: auto;
}

.menu-knowledge__eyecatch span {
	position: absolute;
	top: 64px;
	left: 50%;
	font-family: Arial, sans-serif;
	font-size: 40px;
	font-weight: 700;
	line-height: 1;
	color: #a90000;
	transform: translateX(-50%);
}

.menu-knowledge__header {
	position: absolute;
	top: 142px;
	left: 50%;
	z-index: 3;
	width: min(960px, 100%);
	text-align: center;
	transform: translateX(-50%);
}

.menu-knowledge__heading,
.menu-knowledge__lead,
.menu-knowledge__message,
.menu-knowledge-point h3,
.menu-knowledge-point p {
	margin: 0;
}

.menu-knowledge__heading {
	font-family: "Noto Serif JP", serif;
	font-size: 80px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -4px;
}

.menu-knowledge__heading span,
.menu-knowledge__message span {
	color: var(--menu-page-color-accent);
}

.menu-knowledge__heading-image {
	display: inline-block;
	width: 152px;
	height: auto;
	vertical-align: middle;
}

.menu-knowledge__lead {
	margin-top: 24px;
	font-family: "Noto Serif JP", serif;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.4;
}

.menu-knowledge__tabs {
	display: flex;
	justify-content: center;
	gap: 12px;
	width: 100%;
	margin-top: 24px;
}

.menu-knowledge__tab {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1 1 0;
	width: 100%;
	max-width: 200px;
	min-width: 0;
	height: 48px;
	padding: 0 20px;
	border: 1px solid var(--menu-page-color-accent);
	border-radius: 4px;
	background-color: transparent;
	font-family: "Noto Serif JP", serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	color: var(--menu-page-color-text);
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
	box-sizing: border-box;
}

.menu-knowledge__tab:hover,
.menu-knowledge__tab:focus-visible,
.menu-knowledge__tab.is-active {
	background-color: var(--menu-page-color-accent);
	color: var(--menu-page-color-dark);
}

.menu-knowledge__tab:focus-visible {
	outline: 2px solid var(--menu-page-color-text);
	outline-offset: 3px;
}

.menu-knowledge__panel {
	width: 100%;
}

.menu-knowledge__panel[hidden] {
	display: none;
}

.menu-knowledge__logo {
	position: absolute;
	top: 392px;
	left: 50%;
	z-index: 2;
	display: block;
	width: 159px;
	height: auto;
	transform: translateX(-50%);
}

.menu-knowledge__visual {
	position: absolute;
	top: 660px;
	left: 50%;
	display: block;
	z-index: 1;
	width: min(598px, 48.1%);
	height: auto;
	transform: translateX(-50%);
}

.menu-knowledge__points {
	position: absolute;
	inset: 0;
}

.menu-knowledge-point {
	position: absolute;
	z-index: 2;
	width: 300px;
	font-weight: 400;
}

.menu-knowledge-point__number {
	position: absolute;
	top: -40px;
	left: 50%;
	z-index: -1;
	display: block;
	width: 110px;
	height: auto;
	transform: translateX(-50%);
}

.menu-knowledge-point__icon {
	position: absolute;
	z-index: 1;
	display: block;
	height: auto;
}

.menu-knowledge-point__icon--rice {
	top: -64px;
	left: 43px;
	width: 88px;
}

.menu-knowledge-point__icon--garlic {
	top: -52px;
	left: -6px;
	width: 81px;
}

.menu-knowledge-point__icon--onion {
	top: -72px;
	left: 47px;
	width: 79px;
}

.menu-knowledge-point__icon--chili {
	top: 234px;
	left: 94px;
	width: 80px;
}

.menu-knowledge-point h3 {
	position: relative;
	padding-top: 24px;
	font-family: "Noto Serif JP", serif;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.6;
	text-align: center;
	color: var(--menu-page-color-accent);
}

.menu-knowledge-point p {
	width: 230px;
	margin: 10px auto 0;
	font-size: 16px;
	line-height: 1.6;
	color: #8d8d8d;
	letter-spacing: -0.5px;
}

.menu-knowledge-point--01 { top: 504px; right: 211px; }
.menu-knowledge-point--02 { top: 795px; right: 0; }
.menu-knowledge-point--03 { top: 1068px; right: 100px; }
.menu-knowledge-point--04 { top: 1211px; left: 483px; }
.menu-knowledge-point--05 { top: 1068px; left: 125px; }
.menu-knowledge-point--06 { top: 754px; left: 0; }
.menu-knowledge-point--07 { top: 504px; left: 233px; }

.menu-knowledge__message {
	position: absolute;
	bottom: 0;
	left: 50%;
	width: min(960px, 100%);
	font-family: "Noto Serif JP", serif;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.67;
	text-align: center;
	transform: translateX(-50%);
}

@media (min-width: 768px) and (max-width: 1199px) {
	.menu-limited {
		padding-top: clamp(56px, 6.67vw, 80px);
	}

	.menu-limited__heading {
		font-size: clamp(56px, 6.67vw, 80px);
		letter-spacing: clamp(-4px, -0.33vw, -2.8px);
	}

	.menu-limited__card {
		gap: clamp(40px, 5vw, 72px);
		width: calc(100% - 48px);
		min-height: auto;
		margin-top: clamp(64px, 7.75vw, 93px);
		padding: 48px clamp(32px, 4vw, 52px);
	}

	.menu-limited__border {
		top: 8%;
		height: 84%;
	}

	.menu-limited__image {
		width: 47%;
	}

	.menu-limited__content {
		gap: 24px;
		width: auto;
	}

	.menu-limited-product {
		gap: 12px;
	}

	.menu-limited-product__name {
		font-size: clamp(28px, 3.3vw, 40px);
	}

	.menu-limited-product__price-number {
		font-size: clamp(28px, 3.3vw, 40px);
	}

	.menu-limited-product__description {
		font-size: clamp(14px, 1.5vw, 18px);
	}

	.menu-limited__date {
		top: 1%;
		right: calc(clamp(32px, 4vw, 52px) + min(199px, 17.8vw));
		left: auto;
		width: clamp(104px, 13.33vw, 160px);
		height: clamp(104px, 13.33vw, 160px);
		transform: translateX(50%) scale(0.8);
		transform-origin: top center;
	}

	.menu-regular {
		padding-top: clamp(96px, 11.1vw, 133px);
	}

	.menu-regular__heading {
		font-size: clamp(36px, 4.17vw, 50px);
	}

	.menu-regular__note {
		font-size: clamp(16px, 1.67vw, 20px);
	}

	.menu-regular-main {
		width: min(66.67vw, 800px);
	}

	.menu-regular-main__visual {
		height: 52.75vw;
		max-height: 633px;
	}

	.menu-regular-main__background-text,
	.menu-regular-card__background-text {
		font-size: clamp(120px, 16.67vw, 200px);
		letter-spacing: clamp(-20px, -1.67vw, -12px);
	}

	.menu-regular-main__image,
	.menu-regular-card__image,
	.menu-regular-badge--main,
	.menu-regular-badge--card {
		top: 9vw;
	}

	.menu-regular-badge--main {
		width: clamp(96px, 13.33vw, 160px);
		height: clamp(96px, 13.33vw, 160px);
		font-size: clamp(18px, 2.5vw, 30px);
	}

	.menu-regular__grid {
		gap: clamp(48px, 6.67vw, 80px);
	}

	.menu-regular-card {
		height: auto;
	}

	.menu-regular-card__visual {
		height: min(calc((50vw - 52px) * 0.906), 460px);
		max-height: none;
	}

	.menu-regular-card__image {
		height: calc(100% - 9vw);
	}

	.menu-regular-badge--card {
		width: clamp(72px, 10vw, 120px);
		height: clamp(72px, 10vw, 120px);
		font-size: clamp(15px, 2vw, 24px);
	}

	.menu-regular-card__name,
	.menu-regular-main__name {
		font-size: clamp(28px, 3.33vw, 40px);
	}

	.menu-side {
		padding-top: clamp(88px, 10vw, 120px);
	}

	.menu-side__heading {
		font-size: clamp(36px, 4.17vw, 50px);
	}

	.menu-compact-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: clamp(48px, 5.34vw, 64px) 24px;
	}

	.menu-side-card__name {
		font-size: clamp(20px, 2.5vw, 30px);
	}

	.menu-side-card:nth-child(n + 7) {
		width: 100%;
	}

	.menu-side-card__detail {
		font-size: clamp(15px, 1.67vw, 20px);
	}

	.menu-topping {
		padding-top: clamp(88px, 10vw, 120px);
	}

	.menu-topping__features {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: clamp(24px, 3.34vw, 40px);
	}

	.menu-topping-feature {
		height: auto;
	}

	.menu-topping-feature__content .menu-side-card__name {
		font-size: clamp(20px, 2.5vw, 30px);
	}

	.menu-topping-feature__content .menu-side-card__detail {
		font-size: clamp(13px, 1.67vw, 20px);
	}

	.menu-topping-card,
	.menu-topping-card:last-child {
		width: 100%;
		height: auto;
	}

	.menu-knowledge {
		padding-top: clamp(88px, 10vw, 120px);
	}

	.menu-knowledge__inner {
		left: 50%;
		width: 1244px;
		margin-left: -622px;
		transform: scale(calc((100vw - 48px) / 1244));
		transform-origin: top center;
		margin-bottom: calc((1536px * ((100vw - 48px) / 1244)) - 1536px);
	}
}

@media (max-width: 767px) {
	.menu-page-mv {
		height: 203px;
	}

	.menu-page-mv__title {
		top: 100px;
		left: 15px;
		line-height: 1.2;
	}

	.menu-page-mv__lead {
		font-size: 12px;
		letter-spacing: -0.6px;
	}

	.menu-page-mv__heading {
		font-size: 28px;
		letter-spacing: -1.4px;
	}

	.menu-page-mv__breadcrumb {
		top: 164px;
		left: 15px;
		gap: 4px;
		font-size: 12px;
	}

	.menu-page-mv__decoration {
		height: 14px;
		background-size: 1344px 14px;
	}

	.menu-page-nav {
		height: 96px;
		padding: 24px 15px;
	}

	.menu-page-nav__list {
		display: grid;
		grid-template-columns: minmax(0, 160fr) minmax(0, 172fr);
		gap: 16px 13px;
		width: min(345px, 100%);
	}

	.menu-page-nav__item a {
		flex-direction: row-reverse;
		justify-content: flex-end;
		gap: clamp(4px, 1.6vw, 6px);
		font-size: clamp(10px, 3.2vw, 12px);
		line-height: 1.3;
		letter-spacing: -0.6px;
	}

	.menu-limited {
		padding-top: 40px;
	}

	.menu-limited__heading {
		font-size: 40px;
		letter-spacing: -2px;
	}

	.menu-limited__card {
		flex-direction: column;
		gap: 24px;
		width: min(346px, calc(100% - 30px));
		min-height: 0;
		margin-top: 35px;
		padding: 0 10px;
	}

	.menu-limited__border {
		top: 20px;
		height: 381px;
	}

	.menu-limited__image {
		flex: none;
		width: min(295px, calc(100% - 20px));
	}

	.menu-limited__content {
		flex: none;
		gap: 32px;
		width: 100%;
	}

	.menu-limited-product {
		gap: 16px;
	}

	.menu-limited-product__name {
		font-size: 30px;
		letter-spacing: -1.5px;
	}

	.menu-limited-product__price-number {
		font-size: 24px;
	}

	.menu-limited-product__price-unit {
		font-size: 16px;
	}

	.menu-limited-product__price-tax {
		font-size: 12px;
	}

	.menu-limited-product__description,
	.menu-limited__note {
		font-size: 14px;
		line-height: 2;
	}

	.menu-limited__date {
		top: clamp(305px, calc(141.296vw - 146.907px), 369px);
		right: calc(clamp(20px, 6.8vw, 25.5px) - 32px);
		left: auto;
		gap: 6px;
		width: 80px;
		height: 80px;
	}

	.menu-limited__date-period {
		gap: 6px;
		font-size: 10px;
		letter-spacing: -0.5px;
	}

	.menu-limited__date-period span {
		font-size: 25px;
		letter-spacing: -1.25px;
	}

	.menu-regular {
		padding-top: 80px;
	}

	.menu-regular__header {
		margin-bottom: 40px;
	}

	.menu-regular__heading {
		font-size: clamp(26px, 8vw, 36px);
		letter-spacing: -0.4vw;
	}

	.menu-regular__note {
		font-size: clamp(14px, 4.27vw, 19px);
		line-height: 1.4;
	}

	.menu-regular__note span {
		display: block;
		height: 0;
	}

	.menu-regular-main {
		gap: 16px;
		width: 85.33%;
	}

	.menu-regular-main__visual {
		height: auto;
		aspect-ratio: 320 / 253;
	}

	.menu-regular-main__background-text {
		font-size: clamp(68px, 21.33vw, 96px);
		letter-spacing: -2.13vw;
	}

	.menu-regular-main__image {
		top: 17%;
		width: 100%;
		height: 83%;
		object-fit: contain;
		object-position: center top;
	}

	.menu-regular-badge--main {
		top: 11.86%;
		left: 2.34%;
		width: 25%;
		height: auto;
		aspect-ratio: 1;
		font-size: clamp(14px, 4.27vw, 19px);
		letter-spacing: -0.21vw;
	}

	.menu-regular-main__content {
		gap: 8px;
		width: 100%;
	}

	.menu-regular-catch {
		width: 42.82%;
		height: auto;
		aspect-ratio: 162 / 26;
		font-size: clamp(10px, 3.2vw, 14px);
	}

	.menu-regular-main__name {
		font-size: clamp(18px, 5.33vw, 24px);
		letter-spacing: -0.27vw;
	}

	.menu-regular-main__price .menu-limited-product__price-number {
		font-size: clamp(18px, 5.33vw, 24px);
	}

	.menu-regular-main__price .menu-limited-product__price-unit {
		font-size: clamp(12px, 3.73vw, 17px);
	}

	.menu-regular-main__price .menu-limited-product__price-tax {
		font-size: clamp(10px, 3.2vw, 14px);
	}

	.menu-regular__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10.67vw 7.51%;
		width: 92.27%;
		margin-top: 40px;
	}

	.menu-regular-card {
		gap: 16px;
	}

	.menu-regular-card__visual {
		height: auto;
		aspect-ratio: 160 / 145;
	}

	.menu-regular-card__background-text {
		font-size: clamp(50px, 16vw, 72px);
		letter-spacing: -1.6vw;
	}

	.menu-regular-card__image {
		top: 29.66%;
		height: 70.34%;
	}

	.menu-regular-badge--card {
		top: 8.97%;
		left: 0;
		width: 37.5%;
		height: auto;
		aspect-ratio: 1;
		font-size: clamp(10px, 3.2vw, 14px);
		letter-spacing: -0.16vw;
	}

	.menu-regular-card__content {
		gap: 8px;
		width: 100%;
	}

	.menu-regular-card .menu-regular-catch {
		width: 85.63%;
		height: auto;
		aspect-ratio: 137 / 22;
	}

	.menu-regular-card__name {
		font-size: clamp(14px, 4.27vw, 19px);
		letter-spacing: -0.21vw;
	}

	.menu-regular-card__price .menu-limited-product__price-number {
		font-size: clamp(16px, 4.8vw, 21px);
	}

	.menu-regular-card__price .menu-limited-product__price-unit {
		font-size: clamp(10px, 3.2vw, 14px);
	}

	.menu-regular-card__price .menu-limited-product__price-tax {
		font-size: clamp(9px, 2.67vw, 12px);
	}

	.menu-regular-card__description {
		font-size: clamp(10px, 3.2vw, 14px);
		line-height: 1.8;
	}

	.menu-side {
		padding-top: 80px;
	}

	.menu-side__heading {
		font-size: clamp(21px, 6.4vw, 29px);
		letter-spacing: -0.32vw;
	}

	.menu-compact-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 32px clamp(12px, 6.12vw, 23px);
		justify-content: center;
		width: 92.27%;
	}

	.menu-side__grid {
		margin-top: 24px;
	}

	.menu-side-card,
	.menu-side-card--has-detail {
		gap: 16px;
		height: auto;
	}

	.menu-side-card:nth-child(n + 7) {
		width: 100%;
	}

	.menu-side-card__image {
		width: 81.25%;
		height: auto;
		aspect-ratio: 130 / 85;
	}

	.menu-side-card__content {
		gap: 8px;
	}

	.menu-side-card__name {
		font-size: clamp(14px, 4.27vw, 19px);
		letter-spacing: -0.21vw;
		white-space: normal;
		text-align: center;
		overflow-wrap: anywhere;
	}

	.menu-side-card__detail {
		font-size: clamp(11px, 3.73vw, 16px);
		letter-spacing: -0.19vw;
	}

	.menu-side-card__price .menu-limited-product__price-number,
	.menu-topping-feature__price .menu-limited-product__price-number {
		font-size: clamp(16px, 4.8vw, 21px);
	}

	.menu-side-card__price .menu-limited-product__price-unit,
	.menu-topping-feature__price .menu-limited-product__price-unit {
		font-size: clamp(10px, 3.2vw, 14px);
	}

	.menu-side-card__price .menu-limited-product__price-tax,
	.menu-topping-feature__price .menu-limited-product__price-tax {
		font-size: clamp(9px, 2.67vw, 12px);
	}

	.menu-topping {
		padding-top: 80px;
	}

	.menu-topping__header {
		gap: 16px;
		height: auto;
	}

	.menu-topping__heading {
		font-size: clamp(26px, 8vw, 36px);
		letter-spacing: -0.4vw;
	}

	.menu-topping__lead {
		font-size: clamp(16px, 4.8vw, 21px);
		letter-spacing: -0.24vw;
	}

	.menu-topping__features {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 32px clamp(12px, 6.12vw, 23px);
		justify-content: center;
		width: 92.27%;
		margin-top: 40px;
	}

	.menu-topping-feature {
		gap: 16px;
		width: 100%;
		height: auto;
	}

	.menu-topping-feature__image {
		width: 81.25%;
		height: auto;
		aspect-ratio: 130 / 85;
	}

	.menu-topping-feature__content {
		gap: 8px;
		width: 100%;
		white-space: normal;
	}

	.menu-topping-feature__content .menu-side-card__name {
		font-size: clamp(14px, 4.27vw, 19px);
		letter-spacing: -0.21vw;
		white-space: normal;
	}

	.menu-topping-feature__content .menu-side-card__detail {
		min-height: 2.8em;
		font-size: clamp(10px, 3.2vw, 14px);
		line-height: 1.4;
		letter-spacing: -0.13vw;
		text-align: center;
	}

	.menu-topping__grid {
		margin-top: 48px;
	}

	.menu-topping-card,
	.menu-topping-card:last-child {
		width: 100%;
		height: auto;
	}

}

@media (max-width: 768px) {
	.menu-knowledge {
		padding-top: 80px;
		overflow: visible;
	}

	.menu-knowledge__inner {
		position: relative;
		left: auto;
		display: flex;
		flex-direction: column;
		align-items: center;
		width: calc(100% - 40px);
		max-width: 600px;
		height: auto;
		margin: 0 auto;
		transform: none;
	}

	.menu-knowledge__eyecatch,
	.menu-knowledge__header,
	.menu-knowledge__logo,
	.menu-knowledge__visual,
	.menu-knowledge__points,
	.menu-knowledge__message {
		position: relative;
		top: auto;
		right: auto;
		bottom: auto;
		left: auto;
		transform: none;
	}

	.menu-knowledge__eyecatch {
		width: 190px;
		height: 100px;
	}

	.menu-knowledge__eyecatch span {
		top: 64px;
		font-size: 20px;
	}

	.menu-knowledge__header {
		width: 100%;
		margin-top: 16px;
	}

	.menu-knowledge__heading {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 4px;
		font-size: 40px;
		letter-spacing: -2px;
	}

	.menu-knowledge__heading-image {
		display: block;
		width: 76px;
		max-width: 25%;
		height: auto;
	}

	.menu-knowledge__lead {
		margin-top: 16px;
		font-size: 14px;
		line-height: 1.4;
	}

	.menu-knowledge__tabs {
		gap: 4px;
		margin-top: 20px;
	}

	.menu-knowledge__tab {
		flex: 1 1 0;
		min-width: 0;
		height: 40px;
		padding: 0 4px;
		font-size: clamp(10px, 3.2vw, 14px);
		white-space: nowrap;
	}

	.menu-knowledge__logo {
		width: 80px;
		max-width: 100%;
		height: auto;
		margin-top: 32px;
	}

	.menu-knowledge__visual {
		width: 100%;
		max-width: 300px;
		height: auto;
		margin-top: -64px;
	}

	.menu-knowledge__points {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 96px;
		width: 100%;
		margin-top: 96px;
	}

	.menu-knowledge-point,
	.menu-knowledge-point--01,
	.menu-knowledge-point--02,
	.menu-knowledge-point--03,
	.menu-knowledge-point--04,
	.menu-knowledge-point--05,
	.menu-knowledge-point--06,
	.menu-knowledge-point--07 {
		position: relative;
		top: auto;
		right: auto;
		bottom: auto;
		left: auto;
		width: 100%;
		height: auto;
		min-height: 0;
		margin-inline: auto;
		padding: 24px 0 32px;
	}

	.menu-knowledge-point__number {
		top: 8px;
		width: 70px;
		max-width: 100%;
		height: auto;
	}

	.menu-knowledge-point__icon,
	.menu-knowledge-point__icon--rice,
	.menu-knowledge-point__icon--garlic,
	.menu-knowledge-point__icon--onion,
	.menu-knowledge-point__icon--chili {
		position: absolute;
		top: 72px;
		right: auto;
		bottom: auto;
		left: 0;
		display: block;
		width: clamp(64px, 22vw, 88px);
		max-width: 30%;
		height: auto;
		margin: 0;
	}

	.menu-knowledge-point h3 {
		padding-top: 0;
		font-size: clamp(20px, 6.93vw, 26px);
		line-height: 1.5;
		overflow-wrap: anywhere;
	}



	.menu-knowledge-point p {
		width: 100%;
		max-width: 260px;
		margin: 20px auto 0;
		font-size: 14px;
		line-height: 1.8;
		text-align: left;
		overflow-wrap: anywhere;
	}

	.menu-knowledge-point p br {
		display: none;
	}

	.menu-knowledge__message {
		width: 100%;
		margin-top: 80px;
		font-size: clamp(14px, 4.27vw, 16px);
		line-height: 1.6;
	}
}
/* =========================================================
   油そばの心得：SP調整
========================================================= */

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

	.menu-knowledge {
		width: 100%;
		max-width: 100%;
		height: auto;
		min-height: 0;
		padding-top: 96px;
		overflow-x: clip;
		overflow-y: visible;
	}

	.menu-knowledge__inner {
		width: 100%;
		max-width: 100%;
		height: auto;
		min-height: 0;
		padding-inline: 5.33%;
		overflow-x: clip;
		overflow-y: visible;
		box-sizing: border-box;
	}

	.menu-knowledge__eyecatch {
		width: 40%;
		height: auto;
		aspect-ratio: 737 / 374;
	}

	.menu-knowledge__eyecatch span {
		top: 67%;
		font-size: clamp(12px, 4vw, 18px);
	}

	.menu-knowledge__header {
		margin-top: 12px;
	}

	.menu-knowledge__heading {
		gap: 0;
		font-size: clamp(28px, 8.53vw, 40px);
		line-height: 1;
		letter-spacing: -0.43vw;
	}

	.menu-knowledge__lead {
		width: 100%;
		margin-top: 12px;
		font-size: clamp(11px, 3.2vw, 15px);
		line-height: 1.6;
	}

	.menu-knowledge__logo {
		width: 18.67%;
		margin-top: 32px;
	}

	.menu-knowledge__visual {
		width: 89.33%;
		max-width: none;
		margin-top: -18.67vw;
	}

	.menu-knowledge__points {
		display: flex;
		flex-direction: column;
		width: 100%;
		height: auto;
		min-height: 0;
		margin-top: 36px;
		gap: 0;
		overflow: visible;
	}

	.menu-knowledge-point {
		position: relative;
		display: block;
		width: 100%;
		max-width: none;
		height: auto;
		min-height: 0;
		margin: 0;
		padding: 8.53vw 0 11.73vw;
		box-sizing: border-box;
		overflow: visible;
	}

	/*
	 * 既存CSSで各項目に指定されている
	 * top / left / right / bottom / transformを解除
	 */
	.menu-knowledge-point--01,
	.menu-knowledge-point--02,
	.menu-knowledge-point--03,
	.menu-knowledge-point--04,
	.menu-knowledge-point--05,
	.menu-knowledge-point--06,
	.menu-knowledge-point--07 {
		position: relative;
		inset: auto;
		top: auto;
		right: auto;
		bottom: auto;
		left: auto;
		transform: none;
	}

	

	.menu-knowledge-point__number {
		position: absolute;
		z-index: 0;
		top: 1.07vw;
		left: 50%;
		width: 21.87%;
		max-width: none;
		height: auto;
		margin: 0;
		transform: translateX(-50%);
		pointer-events: none;
	}

	.menu-knowledge-point__content {
		position: relative;
		z-index: 1;
		width: 84%;
		max-width: none;
		margin-inline: auto;
	}

	.menu-knowledge-point__heading {
		
		width: 100%;
		position: relative;
	}
	.menu-knowledge-point__heading img{
		position: absolute;
		
	}
	.menu-knowledge-point__icon.menu-knowledge-point__icon--garlic{
		top: -13.87vw;
		right: -7.62%;
		width: 19.05%;
	}
	.menu-knowledge-point__icon.menu-knowledge-point__icon--chili{
		top: -4.27vw;
		left: -7.62%;
		width: 19.05%;
	}
	.menu-knowledge-point__icon.menu-knowledge-point__icon--onion{
		top: -17.07vw;
		right: -7.62%;
		width: 19.05%;
	}
	.menu-knowledge-point__icon.menu-knowledge-point__icon--rice{
		top: -10.67vw;
		left: -7.62%;
		width: 19.05%;
	}

	.menu-knowledge-point__icon {
		position: absolute;
		inset: auto;
		display: block;
		width: 58px;
		max-width: 100%;
		height: auto;
		margin: 0;
		transform: none;
		object-fit: contain;
	}

	.menu-knowledge-point h3 {
		
		font-size: clamp(19px, 5.87vw, 27px);
		line-height: 1.45;
		letter-spacing: 0;
		text-align: center;
	}

	.menu-knowledge-point p {
		position: static;
		inset: auto;
		width: 100%;
		max-width: none;
		margin: 12px 0 0;
		padding: 0;
		font-size: clamp(12px, 3.73vw, 17px);
		line-height: 1.8;
		letter-spacing: 0;
		text-align: left;
		transform: none;
		box-sizing: border-box;
	}




	.menu-knowledge__message {
		position: relative;
		inset: auto;
		
		height: auto;
		margin: 24px auto 0;
		font-size: clamp(13px, 4vw, 18px);
		line-height: 1.8;
		text-align: center;
		transform: none;
	}

	
}
