/*
Theme Name: Matoi Sushi
Theme URI: https://matoisushi.localhost:8080/wp
Description: Standalone block theme for Matoi Sushi.
Author: Codex
Version: 0.5.22
Text Domain: matoisushi
*/

:root {
	--matoi-bg: #f5f1e8;
	--matoi-surface: #fbf7f0;
	--matoi-ink: #16110f;
	--matoi-muted: #6e635c;
	--matoi-gold: #b88b3b;
	--matoi-carmine: #8f2d2d;
	--matoi-brown: #34241d;
	--matoi-line: rgba(22, 17, 15, 0.12);
	--matoi-shadow: 0 24px 60px rgba(22, 17, 15, 0.12);
	--matoi-scrollbar-width: 16px;
}

hr.dashed {
	border: 0;
	border-top: 1px dashed rgba(22, 17, 15, 0.86);
	margin: 18px 0;
}

body {
	display: flex;
	justify-content: flex-start;
	min-height: 100vh;
	overflow: hidden;
	font-family: var(--wp--preset--font-family--matoi-serif);
	color: var(--matoi-ink);
	/* background: #f8f4ed; */
	/* background: white; */
}

.app-bg {
	position: fixed;
	inset: 0;
	/* background:
		radial-gradient(circle at 15% 20%, rgba(143, 45, 45, 0.12), transparent 24%),
		radial-gradient(circle at 80% 15%, rgba(184, 139, 59, 0.18), transparent 26%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(22, 17, 15, 0.04)); */
	pointer-events: none;
	z-index: 0;
}

.app-bg-brand {
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	width: max(0px, calc(100vw - 480px));
	pointer-events: auto;
	z-index: 1;
	overflow: hidden;
}

.app-bg-brand::after {
	content: "";
	position: absolute;
	inset: 0;
	/* background:
		linear-gradient(180deg, rgba(22, 17, 15, 0.42), rgba(22, 17, 15, 0.2)),
		radial-gradient(circle at top left, rgba(184, 139, 59, 0.14), transparent 26%); */
	pointer-events: none;
}

.app-bg-brand__slides,
.matoi-hero-photo__slides {
	position: absolute;
	inset: 0;
}

.app-bg-brand__slide,
.matoi-hero-photo__slide {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	opacity: 0;
	animation: matoiFadeSlides 50s ease-in-out infinite;
	animation-fill-mode: both;
}

.app-bg-brand__slide.is-slide-1 {
	background-image: url("assets/images/bg_photo_01.jpg");
	animation-delay: 0s;
}

.app-bg-brand__slide.is-slide-2 {
	background-image: url("assets/images/bg_photo_02.jpg");
	animation-delay: 10s;
}

.app-bg-brand__slide.is-slide-3 {
	background-image: url("assets/images/bg_photo_03.jpg");
	animation-delay: 20s;
}

.app-bg-brand__slide.is-slide-4 {
	background-image: url("assets/images/bg_photo_04.jpg");
	animation-delay: 30s;
}

.app-bg-brand__slide.is-slide-5 {
	background-image: url("assets/images/bg_photo_05.jpg");
	animation-delay: 40s;
}

.app-bg-brand__content {
	position: absolute;
	left: 32px;
	right: 32px;
	bottom: 32px;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: 18px;
	color: #fff;
	width: 440px;
}

.app-bg-brand__logo-wrap {
	width: 100%;
	text-align: center;
}

.app-bg-brand__logo-box {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 132px;
	height: 132px;
	background: rgba(255, 255, 255, 1);
	text-decoration: none;
}

.app-bg-brand__logo-box img {
	width: 100px;
	height: auto;
}

.app-bg-brand__links {
	display: flex;
	flex-flow: nowrap;
	justify-content: space-between;
	/* gap: 6px 10px; */
	gap: 0;
	font-size: 0.7rem;
	line-height: 1.7;
}

.app-bg-brand__links a,
.app-bg-brand__links .separator_slash {
	color: #fff;
	text-decoration: none;
}

.app-bg-brand__divider {
	width: 100%;
	margin: 0;
	border: 0;
	border-top: 1px solid rgba(255, 255, 255, 0.5);
}

.app-bg-brand__tel img {
	display: block;
	max-width: 100%;
	height: auto;
}

.app-container {
	position: relative;
	width: 100%;
	max-width: 480px;
	height: 100vh;
	margin-left: auto;
	overflow-y: auto;
	overflow-x: hidden;
	scrollbar-gutter: stable;
	z-index: 2;
}

.app-cta {
	display: none;
}

:root :where(.is-layout-constrained) > * {
	margin-block-start: 0 !important;
}

/* .matoi-site-header,
.matoi-site-footer {
	padding-left: clamp(20px, 4vw, 48px);
	padding-right: clamp(20px, 4vw, 48px);
} */

.matoi-site-header {
	position: fixed;
	top: 0;
	left: auto;
	right: 0;
	z-index: 50;
	min-height: 56px;
	width: min(100%, 480px);
	background: transparent;
	border-bottom: 0;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

.matoi-site-header__inner {
	display: flex;
	justify-content: flex-end;
	width: 100%;
	min-height: 56px;
	padding-top: 0;
	padding-bottom: 0;
}

.matoi-site-header__nav {
	position: relative;
	display: flex;
	justify-content: flex-end;
	width: 100%;
	margin-left: auto;
	align-items: center;
}

.matoi-site-header .wp-block-site-title {
	font-size: clamp(1rem, 1.8vw, 1.2rem);
	letter-spacing: 0.08em;
	margin: 0;
}

.matoi-site-header .wp-block-navigation__responsive-container-open,
.matoi-site-header .wp-block-navigation__responsive-container-close {
	width: 42px;
	height: 42px;
	border-radius: 0;
	background: #111;
	color: var(--matoi-carmine);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.matoi-site-header .wp-block-navigation__responsive-container-close {
	top: 7px;
	right: 0;
	position: absolute;
	background-image: none;
}

.matoi-site-header .wp-block-navigation__responsive-container-close svg {
	display: none;
}

.matoi-site-header .wp-block-navigation__responsive-container-open svg {
	display: none;
}

.matoi-site-header .wp-block-navigation__responsive-container-open {
	position: relative;
	background-image: none;
}

.matoi-site-header .wp-block-navigation__responsive-container-open::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 18px;
	height: 2px;
	background: var(--matoi-carmine);
	transform: translate(-50%, -50%) rotate(0deg);
	box-shadow: 0 -7px 0 var(--matoi-carmine), 0 7px 0 var(--matoi-carmine);
	transform-origin: center;
	transition: transform 0.32s ease;
}

.matoi-site-header .wp-block-navigation__responsive-container-close::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 18px;
	height: 2px;
	background: var(--matoi-carmine);
	opacity: 0;
	transform: translate(-50%, -50%) rotate(180deg) scale(0.3);
	transform-origin: center;
}

.matoi-site-header .wp-block-navigation__responsive-container-close::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 18px;
	height: 2px;
	background: var(--matoi-carmine);
	opacity: 0;
	transform: translate(-50%, -50%) rotate(180deg) scale(0.3);
	transform-origin: center;
}

html.has-modal-open .matoi-site-header .wp-block-navigation__responsive-container-close::before {
	animation: matoiMenuCloseBeforeIn 0.28s ease forwards;
}

html.has-modal-open .matoi-site-header .wp-block-navigation__responsive-container-close::after {
	animation: matoiMenuCloseAfterIn 0.28s ease forwards;
}

html.has-modal-open .matoi-site-header .wp-block-navigation__responsive-container-open::before {
	transform: translate(-50%, -50%) rotate(-180deg);
}

.matoi-site-header .wp-block-navigation__responsive-container.is-menu-open {
	background:
		linear-gradient(180deg, rgba(22, 17, 15, 0.52), rgba(22, 17, 15, 0.68)),
		url("assets/images/background_b_1-100.jpg") center / cover no-repeat !important;
}

.matoi-site-header .wp-block-navigation__responsive-container-content {
	padding-top: 72px;
}

.matoi-site-header .wp-block-navigation__responsive-container {
	position: fixed;
	left: auto;
	right: 0;
	width: min(100%, 480px);
	top: 0;
	bottom: 0;
	height: 100vh;
	box-sizing: border-box;
	z-index: 55;
}

.matoi-custom-menu[hidden] {
	display: none !important;
}

.matoi-menu-toggle,
.matoi-menu-close {
	z-index: 56;
}

html.has-modal-open .matoi-menu-toggle {
	opacity: 0;
	pointer-events: none;
}

html:not(.has-modal-open) .matoi-menu-close {
	opacity: 0;
	pointer-events: none;
}

.matoi-custom-menu__content {
	height: 100%;
}

.matoi-custom-menu__inner {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	padding: 0 24px 28px;
}

.matoi-custom-menu__row {
	display: flex;
	flex-direction: row-reverse;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: flex-start;
	gap: 12px;
}

.matoi-custom-menu__row + .matoi-custom-menu__row {
	margin-top: 24px;
}

.matoi-custom-menu__link {
	display: inline-flex;
	writing-mode: vertical-rl;
	margin: 0 10px;
	text-orientation: mixed;
	color: #f4eadb;
	text-decoration: none;
	font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
	font-size: 1rem;
	letter-spacing: 0.12em;
	line-height: 1.7;
	min-height: 180px;
	transition: color 0.2s ease, opacity 0.2s ease;
}

.matoi-custom-menu__link:hover,
.matoi-custom-menu__link:focus-visible {
	color: #fff;
	opacity: 0.8;
}

.matoi-custom-menu__logo {
	width: 100%;
	height: 143px;
	margin-top: auto;
	background: url("assets/images/logo_02W.png") center / contain no-repeat;
}

.matoi-custom-menu__tel {
	display: block;
	width: 90%;
	min-height: 54px;
	margin: 18px auto 100px;
	background: url("assets/images/tel_number.png") left center / contain no-repeat;
	text-decoration: none;
}

.matoi-hero {
	position: relative;
	overflow: hidden;
	/* padding: clamp(64px, 9vw, 120px) clamp(20px, 4vw, 48px) clamp(42px, 6vw, 72px); */
}

.matoi-hero--mock {
	padding-top: 0;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0, rgba(255, 255, 255, 0.96) 40px, transparent 40px),
		linear-gradient(180deg, rgba(248, 244, 237, 1) 0%, rgba(243, 237, 228, 1) 100%);
}

.matoi-phone-topbar {
	font-size: 0.75rem;
	line-height: 1;
	padding: 4px 6px 10px;
	color: var(--matoi-ink);
}

.matoi-hero-cover {
	position: relative;
	width: 100%;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	height: 240px;
	border-radius: 0;
	background-image:
		linear-gradient(180deg, rgba(22,17,15,0.25), rgba(22,17,15,0.45)),
		url("assets/images/matoisushi_01.jpg");
	background-size: cover;
	background-position: center;
	display: flex;
	align-items: center;
	justify-content: center;
}

.matoi-brand-badge {
	width: 132px;
	height: 132px;
	border-radius: 4px;
	background: rgba(22, 17, 15, 0.92) url("assets/images/logo_bl.jpg") center / 100% no-repeat;
	/* background-image: url("assets/images/logo_02.png");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center; */
	display: grid;
	place-items: center;
	box-shadow: 0 18px 30px rgba(0, 0, 0, 0.22);
}

.matoi-brand-mark {
	font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
	font-size: 1.55rem;
	line-height: 1.2;
	color: #fff;
	letter-spacing: 0.08em;
	margin: 0;
	display: none;
}

.matoi-hero-caption {
	position: absolute;
	left: 20px;
	bottom: 12px;
	color: rgba(255, 255, 255, 0.85);
	font-size: 0.76rem;
	margin: 0;
}

.matoi-hero-links {
	position: absolute;
	left: 16px;
	right: 16px;
	bottom: 10px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 8px;
	justify-content: center;
	font-size: 0.72rem;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.92);
	text-shadow: 0 1px 8px rgba(0, 0, 0, 0.28);
}

.matoi-hero-links a,
.matoi-hero-links span {
	color: inherit;
	text-decoration: none;
}

.matoi-hero-photo {
	display: none;
	position: relative;
	min-height: 320px;
	overflow: hidden;
	background: linear-gradient(160deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0));
}

.matoi-hero-photo__slides {
	z-index: 0;
}

.matoi-hero-photo__slide {
	background-image:
		linear-gradient(160deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0));
}

.matoi-hero-photo__slide.is-slide-1 {
	background-image:
		linear-gradient(160deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0)),
		url("assets/images/bg_photo_01.jpg");
	animation-delay: 0s;
}

.matoi-hero-photo__slide.is-slide-2 {
	background-image:
		linear-gradient(160deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0)),
		url("assets/images/bg_photo_02.jpg");
	animation-delay: 10s;
}

.matoi-hero-photo__slide.is-slide-3 {
	background-image:
		linear-gradient(160deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0)),
		url("assets/images/bg_photo_03.jpg");
	animation-delay: 20s;
}

.matoi-hero-photo__slide.is-slide-4 {
	background-image:
		linear-gradient(160deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0)),
		url("assets/images/bg_photo_04.jpg");
	animation-delay: 30s;
}

.matoi-hero-photo__slide.is-slide-5 {
	background-image:
		linear-gradient(160deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0)),
		url("assets/images/bg_photo_05.jpg");
	animation-delay: 40s;
}

.matoi-thumb-strip {
	gap: 10px;
	padding-top: 14px;
}

.matoi-thumb-card {
	min-height: 84px;
	border-radius: 4px;
	background-size: cover;
	background-position: center;
}

.matoi-thumb-card.is-thumb-1 {
	background-image: linear-gradient(160deg, rgba(255,255,255,0.08), rgba(255,255,255,0)), url("assets/images/thumb-1.svg");
}

.matoi-thumb-card.is-thumb-2 {
	background-image: linear-gradient(160deg, rgba(255,255,255,0.08), rgba(255,255,255,0)), url("assets/images/thumb-2.svg");
}

.matoi-thumb-card.is-thumb-3 {
	background-image: linear-gradient(160deg, rgba(255,255,255,0.08), rgba(255,255,255,0)), url("assets/images/thumb-3.svg");
}

.matoi-thumb-card.is-thumb-4 {
	background-image: linear-gradient(160deg, rgba(255,255,255,0.08), rgba(255,255,255,0)), url("assets/images/thumb-4.svg");
}

.matoi-hero::before,
.matoi-hero::after {
	content: "";
	position: absolute;
	inset: auto;
	border-radius: 999px;
	filter: blur(4px);
	pointer-events: none;
}

.matoi-hero::before {
	width: 320px;
	height: 320px;
	right: -120px;
	top: -80px;
	/* background: radial-gradient(circle, rgba(143, 45, 45, 0.18), transparent 68%); */
}

.matoi-hero::after {
	width: 360px;
	height: 360px;
	left: -160px;
	bottom: -140px;
	/* background: radial-gradient(circle, rgba(184, 139, 59, 0.22), transparent 70%); */
}

.matoi-hero-panel,
.matoi-card,
.matoi-note-card,
.matoi-photo-card {
	background: rgba(251, 247, 240, 0.84);
	border: 1px solid rgba(22, 17, 15, 0.08);
	box-shadow: var(--matoi-shadow);
}

.matoi-hero-panel {
	border-radius: 28px;
	padding: clamp(28px, 4vw, 42px);
}

.matoi-overline {
	display: inline-block;
	font-size: 0.85rem;
	letter-spacing: 0.26em;
	text-transform: uppercase;
	color: var(--matoi-carmine);
}

.matoi-display {
	font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
	font-size: clamp(2.6rem, 7vw, 5.8rem);
	line-height: 0.95;
	letter-spacing: 0.02em;
	margin: 0;
}

.matoi-lead {
	font-size: clamp(1rem, 2vw, 1.18rem);
	line-height: 1.9;
	color: var(--matoi-brown);
}

.matoi-stat-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.matoi-card {
	border-radius: 22px;
	padding: 18px 18px 16px;
}

.matoi-card strong,
.matoi-price {
	font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
	font-size: clamp(1.4rem, 2vw, 1.8rem);
	line-height: 1.1;
}

.matoi-card p,
.matoi-note-card p,
.matoi-site-footer p,
.matoi-site-footer li {
	color: var(--matoi-muted);
}

.matoi-section {
	/* padding: clamp(44px, 6vw, 76px) clamp(20px, 4vw, 48px); */
	margin-bottom: 50px;
	display: flex;
	justify-content: center;
}

.matoi-section-title {
	position: relative;
	max-width: 480px;
	text-align: center;
	/* font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
	font-size: 2rem; 
	line-height: 1.05;
	letter-spacing: 0.03em;
	margin-bottom: 0.5rem;
	text-align: center; */
}
.matoi-section-title img {
	position: relative;
	width: calc(480px - 36px);
}

/* .matoi-message-title {
	font-family: inherit;
	font-size: 1rem !important;
	line-height: 1.9;
	font-weight: 400;
	letter-spacing: normal;
	text-align: left !important;
	justify-self: start;
	width: 100%;
	margin-bottom: 1em;
} */

/* .matoi-eyebrow {
	font-size: 0.82rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--matoi-carmine);
} */

/* .matoi-soft-surface {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.66), rgba(255, 255, 255, 0.36));
} */

/* .matoi-dark-band {
	background:
		linear-gradient(145deg, rgba(22, 17, 15, 0.96), rgba(52, 36, 29, 0.94)),
		radial-gradient(circle at top right, rgba(184, 139, 59, 0.22), transparent 25%);
	color: #f6efe4;
}

.matoi-dark-band p,
.matoi-dark-band li {
	color: rgba(246, 239, 228, 0.78);
}

.matoi-dark-band .matoi-eyebrow {
	color: #e8b96b;
}

.matoi-dark-band .matoi-card,
.matoi-dark-band .matoi-note-card {
	background: rgba(255, 255, 255, 0.06);
	border-color: rgba(255, 255, 255, 0.12);
	box-shadow: none;
} */

.matoi-photo-card {
	min-height: 320px;
	border-radius: 32px;
	padding: 0;
	background:
		linear-gradient(140deg, rgba(22, 17, 15, 0.1), rgba(22, 17, 15, 0.55)),
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='900' viewBox='0 0 900 900'%3E%3Crect width='900' height='900' fill='%23b88b3b'/%3E%3Cg opacity='0.35'%3E%3Ccircle cx='190' cy='220' r='160' fill='%23f5f1e8'/%3E%3Ccircle cx='650' cy='260' r='210' fill='%238f2d2d'/%3E%3Ccircle cx='520' cy='670' r='260' fill='%2334241d'/%3E%3C/g%3E%3C/svg%3E");
	background-size: cover;
	background-position: center;
}

.matoi-photo-card.is-counter {
	background:
		linear-gradient(140deg, rgba(22, 17, 15, 0.08), rgba(22, 17, 15, 0.6)),
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='900' viewBox='0 0 1200 900'%3E%3Crect width='1200' height='900' fill='%23281712'/%3E%3Crect x='60' y='120' width='1080' height='540' rx='28' fill='%23443229'/%3E%3Crect x='120' y='180' width='960' height='420' rx='20' fill='%23b88b3b' opacity='0.3'/%3E%3Ccircle cx='280' cy='420' r='120' fill='%23f5f1e8' opacity='0.28'/%3E%3Ccircle cx='760' cy='360' r='170' fill='%23fbf7f0' opacity='0.16'/%3E%3C/svg%3E");
	background-size: cover;
}

.matoi-photo-card.is-chef {
	background:
		linear-gradient(140deg, rgba(22, 17, 15, 0.08), rgba(22, 17, 15, 0.58)),
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='1000' viewBox='0 0 900 1000'%3E%3Crect width='900' height='1000' fill='%2334241d'/%3E%3Cellipse cx='450' cy='240' rx='170' ry='190' fill='%23f1dfc8' opacity='0.92'/%3E%3Crect x='250' y='420' width='400' height='420' rx='80' fill='%23f5f1e8' opacity='0.84'/%3E%3Crect x='190' y='490' width='520' height='120' rx='60' fill='%23b88b3b' opacity='0.72'/%3E%3C/svg%3E");
	background-size: cover;
}

.matoi-note-card {
	border-radius: 24px;
	padding: 24px;
}

.matoi-notice-card,
.matoi-message-card,
.matoi-first-visit__card,
.matoi-list-card,
.matoi-paper-card,
.matoi-info-card {
	/* 
	background: rgba(255,255,255,0.94);
	border: 1px solid rgba(22, 17, 15, 0.08);
	border-radius: 4px; */
	padding: 18px;
	max-width: calc(480px - 36px);
	/* box-shadow: 0 12px 24px rgba(22, 17, 15, 0.06); */
}

.matoi-notice-card {
	margin-top: 18px;
	margin-bottom: 18px;
}

.matoi-notice-card > .wp-block-group {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0;
}

.matoi-notice-query {
	display: grid;
	gap: 12px;
}

.matoi-notice-entry {
	display: grid;
	gap: 2px;
	justify-items: start;
}

.matoi-notice-entry__date {
	margin: 0;
	width: 100%;
	font-size: 0.74rem;
	letter-spacing: 0.08em;
	color: black;
	text-align: left;
}

.matoi-notice-entry__title {
	margin: 0;
	width: 100%;
	padding-bottom: 10px;
	border-bottom: 1px solid black;
	font-size: 0.95rem;
	line-height: 1.6;
	text-align: left;
}

.matoi-notice-entry__title a {
	color: var(--matoi-brown);
	text-decoration: none;
}

.matoi-notice-entry__title a:hover,
.matoi-notice-entry__title a:focus-visible {
	color: var(--matoi-carmine);
}

.matoi-notice-card .wp-block-button__link {
	padding: 0.1rem 2rem;
	border-radius: 0;
	border-width: 1px;
	font-size: 1rem;
	font-weight: normal;
	background: rgba(255,255,255,0.3);
	border: 1px solid black;
	color: black;
}

.matoi-notice-card .wp-block-buttons {
	display: flex;
	justify-content: center;
	width: 100%;
	padding-top: 30px;
	padding-bottom: 30px;
	border-bottom: 1px solid black;
}

.matoi-notice-pagination {
	margin-top: 18px;
}

.matoi-notice-pagination__inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 8px;
	width: 100%;
}

.matoi-notice-pagination a.page-numbers,
.matoi-notice-pagination span.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.25rem;
	min-height: 2.25rem;
	padding: 0.35rem 0.7rem;
	border: 1px solid rgba(22, 17, 15, 0.12);
	box-sizing: border-box;
	color: var(--matoi-brown);
	text-decoration: none;
	vertical-align: middle;
}

.matoi-notice-pagination a.page-numbers.prev,
.matoi-notice-pagination a.page-numbers.next,
.matoi-notice-pagination span.page-numbers.prev,
.matoi-notice-pagination span.page-numbers.next {
	padding: 0;
	font-size: 0;
	line-height: 0;
}

.matoi-notice-pagination a.page-numbers.prev::before,
.matoi-notice-pagination a.page-numbers.next::before,
.matoi-notice-pagination span.page-numbers.prev::before,
.matoi-notice-pagination span.page-numbers.next::before {
	content: "";
	display: block;
	width: 0;
	height: 0;
	margin: 0 auto;
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
}

.matoi-notice-pagination a.page-numbers.prev::before {
	border-right: 8px solid var(--matoi-brown);
}

.matoi-notice-pagination span.page-numbers.prev::before {
	border-right: 8px solid rgba(22, 17, 15, 0.24);
}

.matoi-notice-pagination a.page-numbers.next::before {
	border-left: 8px solid var(--matoi-brown);
}

.matoi-notice-pagination span.page-numbers.next::before {
	border-left: 8px solid rgba(22, 17, 15, 0.24);
}

.matoi-notice-pagination span.page-numbers.current {
	background: rgba(22, 17, 15, 0.08);
}

.matoi-notice-pagination .page-numbers.is-disabled {
	border-color: rgba(22, 17, 15, 0.08);
	background: rgba(22, 17, 15, 0.03);
}
.matoi-notice-card .wp-block-button__link:hover {
	background-color: #dbc9aa;
}

.matoi-notice-divider {
	margin: 14px 0 12px;
	border-color: rgba(22, 17, 15, 0.14);
}

.matoi-message-card {
	position: relative;
	overflow: hidden;
}

.matoi-message-layout {
	display: flex !important;
	flex-direction: row !important;
	align-items: flex-start !important;
	justify-content: center !important;
	gap: 18px !important;
	/* display: grid !important;
	grid-template-columns: 56px minmax(0, 1fr) !important;
	grid-auto-flow: column !important;
	align-items: flex-start !important;
	justify-content: stretch !important;
	gap: 18px !important; */
}

.matoi-message-layout__title {
	width: 56px !important;
	min-width: 56px !important;
	max-width: 56px !important;
}

.matoi-message-layout__body {
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
}

.matoi-message-layout > * {
	margin-block-start: 0 !important;
}

.matoi-message-card::after,
.matoi-list-card::after,
.matoi-info-card::after {
	content: "";
	position: absolute;
	right: -36px;
	bottom: -28px;
	width: 160px;
	height: 160px;
	border-radius: 50%;
	/* background: radial-gradient(circle, rgba(184, 139, 59, 0.11), transparent 62%); */
	pointer-events: none;
}

/* h2.wp-block-heading {
	width: 100%;
	text-align: center;
	font-size: 1.8rem;
	line-height: 1.5;
	padding: 8px 0;
	margin-bottom: 0.55rem;
	border-top: 1px solid black;
	border-bottom: 1px solid black;
} */
h3.wp-block-heading {
	width: 100%;
	text-align: left;
	padding-bottom: 0.45rem;
	margin-bottom: 0.35rem;
	border-bottom: 1px solid rgba(22, 17, 15, 0.16);
}

.matoi-subtitle_emphasis {
	font-size: 1.8rem;
	font-weight: 600;
}

.matoi-menu-content {
	font-size: 1.2rem;
	font-weight: 500;
}
.matoi-menu-attention {
	font-size: 0.95rem;
}

.matoi-title-image {
	width: 480px;
	text-align: center;
	/* margin: 0;
	font-size: 0 !important;
	line-height: 0 !important;
	color: transparent;
	overflow: hidden; */
	/* text-indent: -9999px; */
}

.matoi-title-image img {
	width: 100%;
}

.matoi-title-image--first-visit {
	width: 100%;
	height: 30px;
	margin-inline: auto;
	/* margin-bottom: 1.2rem;
	font-size: 0 !important;
	line-height: 0 !important;
	color: transparent;
	overflow: hidden;
	text-indent: -9999px; */
	background: url("assets/images/title_h01.svg") center center / contain no-repeat;
}

.matoi-title-image--notice {
	content: "";
	width: 100%;
	height: 30px;
	margin-bottom: 18px;
	margin-inline: auto;
	background: url("assets/images/title_h02.svg") center center / contain no-repeat;
}

.matoi-title-image--course {
	/* max-width: 480px; */
	/* width: 100%;
	height: 26px;
	margin-inline: auto;
	background: url("assets/images/title_h04.svg") center center / contain no-repeat; */
}
/* .matoi-title-image--course img {
	max-width: calc(480px - 36px);
} */

.matoi-title-image--menu {
	width: 100%;
	height: 26px;
	margin-inline: auto;
	background: url("assets/images/title_h05.svg") center center / contain no-repeat;
}

.matoi-title-image--store {
	/* max-width: 480px; */
	/* width: 100%;
	height: 26px;
	margin-inline: auto;
	background: url("assets/images/title_banner_10.jpg") center center / contain no-repeat; */
}

.matoi-title-image--seat {
	width: 100%;
	height: 26px;
	margin-inline: auto;
	background: url("assets/images/title_h06.svg") center center / contain no-repeat;
}

.matoi-title-image--delivery {
	width: 100%;
	height: 26px;
	margin-inline: auto;
	background: url("assets/images/title_h08.svg") center center / contain no-repeat;
}

.matoi-title-image--catering {
	width: 100%;
	height: 26px;
	margin-inline: auto;
	background: url("assets/images/title_h09.svg") center center / contain no-repeat;
}

.matoi-title-image--bento {
	width: 100%;
	height: 26px;
	margin-inline: auto;
	background: url("assets/images/title_h10.svg") center center / contain no-repeat;
}

.wp-block-buttons {
	justify-content: center;
}

.matoi-vertical-copy {
	width: 42px;
	min-height: 308px;
	margin: 0 auto;
	/* background: url("assets/images/omoi_title.svg") center / 20px auto no-repeat; */
	background-image: url("assets/images/omoi_title.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}

.matoi-owner-photo {
	position: relative;
	/* margin-top: 18px; */
	min-height: 460px;
	/* background:
		linear-gradient(180deg, rgba(255,255,255,0), rgba(22,17,15,0.08)),
		url("assets/images/taisyo_01_dummy.jpg"); */
	background-image: url("assets/images/staff_photo_01.jpg");
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
}

/* .matoi-owner-photo::after {
	content: "";
	position: absolute;
	left: 16px;
	bottom: 30px;
	width: 140px;
	height: 140px;
	background: url("assets/images/seki masanari.svg") left bottom / contain no-repeat;
	pointer-events: none;
} */

.matoi-list-section {
	display: grid;
	gap: 18px;
	max-width: 480px;
}

.matoi-seat-section {
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px;
	max-width: 100%;
	box-sizing: border-box;
}

.matoi-seat-section__title {
	text-align: center;
}

.matoi-seat-card {
	padding: 16px;
	max-width: 100%;
	box-sizing: border-box;
	width: 100%;
	/* background: rgba(251, 247, 240, 0.92);
	border: 1px solid rgba(22, 17, 15, 0.08);
	box-shadow: var(--matoi-shadow); */
}

.matoi-seat-photo {
	min-height: 180px;
	margin-bottom: 14px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.matoi-seat-photo--counter {
	background-image:
		linear-gradient(0deg, rgba(184, 139, 59, 0.10), rgba(184, 139, 59, 0.10)),
		url("assets/images/matoisushi_01.jpg");
	background-size: cover;
}

.matoi-seat-photo--koagari {
	background-image:
		linear-gradient(0deg, rgba(22, 17, 15, 0.06), rgba(22, 17, 15, 0.06)),
		url("assets/images/matoisushi_05.jpg");
	background-size: cover;
	min-height: 180px;
	margin-bottom: 14px;
	background-position: center;
	background-repeat: no-repeat;
}

.matoi-seat-photo--tatami {
	background-image:
		linear-gradient(0deg, rgba(22, 17, 15, 0.06), rgba(22, 17, 15, 0.06)),
		url("assets/images/matoisushi_06.jpg");
	background-size: cover;
}

.matoi-seat-card h3 {
	margin-bottom: 0.35rem;
	text-align: left;
	font-size: 1.18rem;
}

/* .matoi-seat-meta {
	margin-top: 0;
	margin-bottom: 0.8rem;
	font-size: 0.95rem;
	color: var(--matoi-muted);
} */

.matoi-seat-gallery {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin-top: 14px;
}

.matoi-seat-gallery__item {
	aspect-ratio: 1 / 1;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.matoi-seat-gallery__item--counter-1,
.matoi-seat-gallery__item--counter-2,
.matoi-seat-gallery__item--counter-3,
.matoi-seat-gallery__item--tatami-1,
.matoi-seat-gallery__item--tatami-2,
.matoi-seat-gallery__item--tatami-3 {
	background-image:
		linear-gradient(0deg, rgba(184, 139, 59, 0.14), rgba(184, 139, 59, 0.14)),
		url("assets/images/list-photo.svg");
}

.matoi-list-card h4 {
	text-align: left;
	font-size: 1.18rem;
	line-height: 1.5;
}

.matoi-list-card ul {
	padding-left: 0;
	list-style: none;
}

.matoi-list-card h3 {
	text-align: center;
	font-size: 1.8rem;
	line-height: 1.5;
	padding: 8px 0;
	margin-bottom: 0.55rem;
	border-top: 1px solid black;
	border-bottom: 1px solid black;
}

.matoi-menu-table {
	width: 100%;
}
.matoi-menu-table .tbl_col1 {
	font-size: 1.8rem;
	line-height: 1.4;
	width: 75%;
}
.matoi-menu-table .tbl_col2 {
	font-size: 1.8rem;
	line-height: 1.4;
	width: 25%;
}

.matoi-course-price {
	font-size: 1.28rem;
	line-height: 1.4;
}

.matoi-course-price__tax {
	font-size: 1rem;
	font-weight: 400;
}

.matoi-first-visit {
	display: grid;
}

/* .matoi-first-visit__card {
	padding: 22px 18px;
} */

.matoi-first-visit__card .description {
	margin-top: 30px;
	margin-bottom: 30px;
}

.matoi-first-visit__title {
	width: 220px;
	height: 28px;
	margin-inline: auto;
	margin-bottom: 1.2rem;
	font-size: 0 !important;
	line-height: 0 !important;
	color: transparent;
	overflow: hidden;
	text-indent: -9999px;
	background: url("assets/images/title_h01.svg") center center / contain no-repeat;
}

.matoi-first-visit__block + .matoi-first-visit__block {
	margin-top: 1.5rem;
	padding-top: 1.2rem;
	border-top: 1px solid rgba(22, 17, 15, 0.12);
}

.matoi-first-visit__block--plain + .matoi-first-visit__block--plain {
	margin-top: 1rem;
	padding-top: 0;
	border-top: 0;
}

.matoi-first-visit__block--plain + .matoi-first-visit__block:not(.matoi-first-visit__block--plain) {
	padding-top: 1.2rem;
	border-top: 1px solid rgba(22, 17, 15, 0.12);
}

.matoi-first-visit__block h3 {
	margin: 0 0 0.55rem;
	font-size: 1.25rem;
	line-height: 1.5;
	text-align: center;
	padding: 2px 0;
	border-top: 1px solid black;
	border-bottom: 1px solid black;
}

.matoi-first-visit__block--emphasis h3 {
	font-size: 1.12rem;
}

.matoi-first-visit__block p {
	margin: 0;
	line-height: 1.9;
}

.matoi-first-visit__note {
	margin-top: 0.7rem !important;
	font-size: 0.9rem;
	color: var(--matoi-muted);
}

.matoi-payment-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 0.9rem;
}

.matoi-payment-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.45rem 0.75rem;
	border: 1px solid rgba(22, 17, 15, 0.12);
	background: rgba(255, 255, 255, 0.75);
	font-size: 0.85rem;
	line-height: 1;
}

.matoi-first-visit__policy {
	margin: 0.8rem 0 0;
	padding-left: 0;
	list-style: none;
	line-height: 1.9;
}

.matoi-list-photo {
	overflow: hidden;
	/* min-height: 132px;
	border-radius: 2px;
	background:
		linear-gradient(0deg, rgba(184, 139, 59, 0.18), rgba(184, 139, 59, 0.18)),
		url("assets/images/list-photo.svg");
	background-size: cover;
	background-position: center;
	margin-bottom: 14px; */
}
.matoi-list-photo img {
	width: calc(480px - 36px);
}
.matoi-list-photo.small img {
	width: 30%;
	height: auto;
}

.matoi-list-photo.is-soft {
	opacity: 0.84;
}

.matoi-list-photo.is-menu,
.matoi-list-photo.is-room {
	min-height: 146px;
}

.matoi-list-photo.is-delivery,
.matoi-list-photo.is-catering,
.matoi-list-photo.is-bento {
	min-height: 146px;
}

/* め組 代表紹介ブロック（弁当・仕出しセクション） */
.matoi-megumi-representative {
	margin: 18px 0 6px;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	gap: 22px;
	flex-wrap: wrap;
}
.matoi-representative-photo {
	width: 200px;
	height: 250px;
	object-fit: cover;
	border-radius: 10px;
	display: block;
	flex-shrink: 0;
}
.matoi-megumi-info {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
}
.matoi-megumi-logo {
	width: 120px;
	height: 120px;
	object-fit: contain;
	border-radius: 50%;
	display: block;
}
.matoi-megumi-representative-text {
	margin: 0;
	font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
	letter-spacing: 0.08em;
	color: #2b2b2b;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
}
.matoi-megumi-name {
	font-size: 22px;
	font-weight: 600;
}
.matoi-megumi-role {
	font-size: 15px;
}

.matoi-map-card {
	min-height: 170px;
	margin-top: 14px;
	margin-bottom: 14px;
	overflow: hidden;
}

.matoi-price-table .matoi-card {
	height: 100%;
}

.matoi-sticky-cta {
	position: fixed;
	left: 14px;
	right: 14px;
	bottom: 14px;
	z-index: 40;
	margin-top: 0;
	padding: 12px;
	border-radius: 18px;
	background: rgba(22, 17, 15, 0.94);
	box-shadow: 0 18px 36px rgba(22, 17, 15, 0.3);
}

main {
	/* padding-top: 56px; */
	background-image: url("assets/images/background_w_1-100.jpg");
	background-size: cover;
	/* background-size: contain; */
	background-position: top;
	background-repeat: repeat-y;
	/* background-color: rgba(255, 255, 255, 0.3); */
	/* height: 100vh; */
}

main > .matoi-sticky-cta {
	margin-block-start: 0 !important;
}

main.is-layout-flow > .matoi-sticky-cta,
main.is-layout-flow > * + .matoi-sticky-cta,
.wp-block-group.is-layout-flow > .matoi-sticky-cta,
.wp-block-group.is-layout-flow > * + .matoi-sticky-cta {
	margin-block-start: 0 !important;
}

main > .matoi-section:last-of-type {
	padding-bottom: 0;
}

.matoi-sticky-cta .wp-block-button {
	flex: 1 1 0;
}

.matoi-sticky-cta .wp-block-button__link {
	width: 100%;
	justify-content: center;
}

.matoi-sticky-cta .is-style-outline .wp-block-button__link {
	color: #f6efe4;
	border-color: rgba(246, 239, 228, 0.4);
}

.matoi-site-footer {
	position: fixed;
	left: auto;
	right: 0;
	bottom: 0;
	width: min(100%, 480px);
	z-index: 40;
	background: transparent;
	color: #f6efe4;
}

.matoi-site-footer__actions {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
}

.matoi-site-footer__button,
.matoi-site-footer__button .wp-block-button__link {
	margin: 0;
	padding-top: 0;
	padding-bottom: 0;
}

.matoi-site-footer__button .wp-block-button__link {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	height: 80px;
	padding: 8px 4px;
	border-radius: 0;
	color: #fff;
	letter-spacing: 0;
	text-decoration: none;
	transition: filter 0.15s ease;
}

.matoi-site-footer__button .wp-block-button__link:hover,
.matoi-site-footer__button .wp-block-button__link:focus {
	filter: brightness(1.08);
	color: #fff;
}

.matoi-site-footer__icon {
	display: block;
	width: 44px;
	height: 44px;
	max-width: 44px;
	max-height: 44px;
	object-fit: contain;
	background: transparent;
}

.matoi-site-footer__label {
	display: block;
	font-family: var(--wp--preset--font-family--matoi-sans), "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif;
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
	color: #fff;
	letter-spacing: 0.04em;
}

.matoi-site-footer__button.is-phone .wp-block-button__link {
	background: linear-gradient(180deg, #9b1e1f 0%, #701516 100%);
}

.matoi-site-footer__button.is-reserve .wp-block-button__link {
	background: linear-gradient(180deg, #f0821e 0%, #c66610 100%);
}

.matoi-site-footer__button.is-form .wp-block-button__link {
	background: linear-gradient(180deg, #42403E 0%, #302D2C 100%);
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.matoi-sticky-cta--triple {
	gap: 8px;
}

.matoi-sticky-cta--triple .wp-block-button__link {
	padding-left: 0.8rem;
	padding-right: 0.8rem;
	font-size: 0.82rem;
	letter-spacing: 0.04em;
}

/* .matoi-page-main {
	padding: calc(clamp(28px, 4vw, 48px) + 56px) clamp(20px, 4vw, 48px) clamp(56px, 7vw, 92px);
} */

main {
	padding-bottom: 24px;
	min-height: calc(100vh - 24px);
}

.matoi-page-shell {
	/* background: rgba(255, 255, 255, 0.68);
	border: 1px solid rgba(22, 17, 15, 0.08);
	border-radius: 30px;
	padding: clamp(28px, 5vw, 52px);
	box-shadow: var(--matoi-shadow); */
	/* padding: 36px 18px; */
	padding: 50px 0 36px;
}

/* .matoi-news-shell {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(248, 244, 237, 0.92));
} */

.matoi-news-header {
	margin-bottom: 24px;
}

.matoi-news-eyebrow {
	margin: 0 0 8px;
	font-size: 0.78rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--matoi-carmine);
}

.matoi-news-query {
	display: grid;
	gap: 18px;
}

.wp-block-post-template {
	width: 100%;
}

.matoi-news-card {
	padding: 20px 0;
	border-bottom: 1px solid rgba(22, 17, 15, 0.08);
}

.matoi-news-card:first-child {
	padding-top: 0;
}

.matoi-news-date,
.matoi-news-meta {
	margin: 0 0 8px;
	font-size: 0.82rem;
	letter-spacing: 0.08em;
	/* color: var(--matoi-carmine); */
	color: black;
	margin-top: 30px;
}

.matoi-news-title {
	margin: 0 0 10px;
	font-size: 1.35rem;
	line-height: 1.5;
}

.matoi-news-title a {
	color: var(--matoi-brown);
	text-decoration: none;
}

.matoi-news-title a:hover,
.matoi-news-title a:focus-visible {
	color: var(--matoi-carmine);
}

.matoi-news-excerpt {
	margin: 0;
	color: var(--matoi-muted);
}

.matoi-news-pagination {
	margin-top: 24px;
	padding-top: 12px;
	border-top: 1px solid rgba(22, 17, 15, 0.08);
}

.matoi-news-single-title {
	margin-top: 0;
	margin-bottom: 16px;
	font-size: 1.5rem;
}

.matoi-news-divider {
	margin: 18px 0 24px;
	border-color: rgba(22, 17, 15, 0.1);
}

.matoi-news-content {
	color: var(--matoi-brown);
	line-height: 1.95;
	margin-top: 20px;
}

.matoi-news-content p:first-child {
	margin-top: 0;
}

.matoi-news-single .wp-block-buttons {
	justify-content: center;
}

.matoi-news-post-nav {
	margin-bottom: 18px;
}

.matoi-news-post-nav .page-numbers.current {
	min-width: 5.5rem;
	padding-left: 0.9rem;
	padding-right: 0.9rem;
}

.matoi-news-back-button {
	display: flex;
	justify-content: center;
	width: 100%;
}

.matoi-news-single .wp-block-button__link {
    padding: 0.1rem 2rem;
    border-radius: 0;
    border-width: 1px;
    font-size: .8rem;
    font-weight: normal;
    background: rgba(255, 255, 255, 0.3);
    border: 1px solid black;
    color: black;
}
.matoi-news-single .wp-block-button__link:hover {
    background-color: #dbc9aa;
}

.matoi-inline-list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.matoi-inline-list li {
	padding: 8px 12px;
	border: 1px solid var(--matoi-line);
	border-radius: 999px;
	font-size: 0.88rem;
}

.matoi-paper-photo.is-menu {
	min-height: 132px;
	background-image:
		linear-gradient(180deg, rgba(184, 139, 59, 0.16), rgba(184, 139, 59, 0.16)),
		url("assets/images/list-photo.svg");
	background-size: cover;
    background-position: center;
}


.wpcf7 {
	width: 100%;
}
.wpcf7 input[name="your-name"],
.wpcf7 input[name="your-nameKana"],
.wpcf7 input[name="your-company"],
.wpcf7 input[name="your-companyKana"],
.wpcf7 input[name="your-email"],
.wpcf7 input[name="your-tel"] {
	width: calc(100% - 16px);
	/* border-radius: 4px; */
	padding: 5px;
}
.wpcf7 textarea {
	width: calc(100% - 16px);
	/* border-radius: 4px; */
	padding: 5px;
}
.wpcf7 input[type="checkbox"].accept-large{
  transform: scale(1.6);
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
  margin-right:8px;
}

.wpcf7 input[type="submit"] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    font-size: 20px;
    font-weight: bold;
    width: 300px;
    padding: 10px;
    border-radius: 32px;
    background-color: #328f4a;
	color: white;
    border: none;
}
.wpcf7 .wpcf7-submit:disabled {
	background-color: #a5a5a5;
	cursor: not-allowed;
}
.wpcf7 .required {
	background-color: var(--matoi-carmine);
	color: white;
    border-radius: 4px;
    padding: 2px 6px;
    font-size: 0.65rem;
    font-weight: 500;
    margin-left: 6px;
}
.wpcf7 .optional {
    background-color: gray;
    color: white;
    border-radius: 4px;
    padding: 2px 6px;
    font-size: 0.65rem;
    font-weight: 500;
    margin-left: 6px;
}
.wpcf7 .submit_wrap {
    text-align: center;
	width: 100%;
	margin-bottom: 2rem;
}

#matoi-privacy-policy {
	font-size: 1.8rem;
	line-height: 1.6;
	color: black;
	text-align: center;
}
.privacy-policy-contact {
	padding:20px;
	border-radius: 10px;
	background-color: #f4ede2;
}
.privacy-policy-date {
	text-align: right;
}

@media (min-width: 901px) {
	.matoi-sticky-cta {
		display: none;
	}
}

@media (min-width: 980px) {
	body {
		padding: 0;
		display: grid;
		grid-template-columns: minmax(0, 1fr) 560px 60px;  /* 480 → 560 でコンテンツ左右 40px ずつ空気 */
		grid-template-rows: 100vh;
		justify-content: stretch;
		align-items: stretch;
	}

	.app-cta {
		grid-column: 3;
		grid-row: 1;
		position: relative;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		width: 60px;
		height: 100vh;
		margin-left: 0;
		z-index: 41;
		box-shadow: none;
		border-radius: 0;
		overflow: visible;
		gap: 8px;
		background: url("assets/images/background_b_1-100.jpg") center / cover no-repeat;
	}

	.app-cta__link {
		display: flex;
		align-items: center;
		justify-content: center;
		flex: 0 0 auto;
		padding: 0;
		color: inherit;
		text-decoration: none;
		text-align: center;
		line-height: 0;
	}

	.app-cta__link img {
		display: block;
		width: 60px;
		max-width: 100%;
		height: auto;
	}

	.matoi-site-header {
		top: 0;
		padding-top: 0;
		left: auto;
		right: calc(60px + var(--matoi-scrollbar-width));
		width: calc(560px - var(--matoi-scrollbar-width));
		transform: none;
	}

	.matoi-site-header .alignwide,
	.matoi-site-footer .alignwide,
	.matoi-section .alignwide,
	.matoi-hero .alignwide,
	.matoi-page-main .alignwide {
		max-width: none !important;
	}

	.matoi-site-header__inner {
		padding-left: 0;
		padding-right: 0;
	}

	.matoi-site-footer {
		right: 60px;
		width: min(100%, 560px);
		display: none;
	}

	.app-bg-brand {
		grid-column: 1;
		grid-row: 1;
		position: relative;
		width: auto;
		width: calc(100vw - 560px - 60px);
		max-width: none;
		min-width: 0;
		height: 100vh;
	}

	.app-container {
		grid-column: 2;
		grid-row: 1;
		width: 560px;
		max-width: 560px;
		height: 100vh;
		margin-left: 0;
	}
}

@keyframes matoiFadeSlides {
	0% {
		opacity: 0;
	}

	8%,
	16% {
		opacity: 1;
	}

	30%,
	100% {
		opacity: 0;
	}
}

@keyframes matoiMenuCloseBeforeIn {
	from {
		opacity: 0;
		transform: translate(-50%, -50%) rotate(180deg) scale(0.3);
	}

	to {
		opacity: 1;
		transform: translate(-50%, -50%) rotate(45deg) scale(1);
	}
}

@keyframes matoiMenuCloseAfterIn {
	from {
		opacity: 0;
		transform: translate(-50%, -50%) rotate(180deg) scale(0.3);
	}

	to {
		opacity: 1;
		transform: translate(-50%, -50%) rotate(-45deg) scale(1);
	}
}


@media (max-width: 900px) {
	html,
	body {
		max-width: 100%;
		overflow-x: hidden;
	}

	body {
		overflow: auto;
	}

	.app-bg-brand {
		display: none;
	}

	.app-cta {
		display: none !important;
	}

	.app-container {
		width: 100%;
		/* height: auto; */
		min-height: 100vh;
		max-width: none;
		overflow-x: hidden;
		overflow-y: visible;
	}

	/* .matoi-page-main {
		padding-left: 16px;
		padding-right: 16px;
	} */

	/* .matoi-page-shell {
		padding-left: 20px;
		padding-right: 20px;
	} */

	.matoi-notice-card,
	.matoi-message-card,
	.matoi-list-card {
		max-width: 100%;
	}
	/* .matoi-message-layout {
		max-width: 480px;
	} */

	.matoi-title-image {
		width: 100%;
	}
	.matoi-title-image img {
		width: 100%;
		max-width: 480px;
	}

	.matoi-site-header {
		width: 100%;
		left: 0;
		right: 0;
		transform: none;
	}

	.matoi-site-header .wp-block-navigation__responsive-container-open {
		display: inline-flex !important;
		opacity: 1 !important;
		visibility: visible !important;
	}

	.matoi-site-header .wp-block-navigation__responsive-container {
		left: 0;
		right: 0;
		width: 100%;
	}

	.matoi-custom-menu__inner {
		padding-left: 20px;
		padding-right: 20px;
	}

	.matoi-custom-menu__link {
		font-size: 0.92rem;
		min-height: 148px;
	}

	/* .matoi-owner-photo {
		min-height: 100vw;
	} */

	.matoi-message-layout {
		grid-template-columns: 40px minmax(0, 1fr) !important;
		gap: 12px !important;
	}

	.matoi-message-layout__title {
		width: 40px !important;
		min-width: 40px !important;
		max-width: 40px !important;
	}

	.matoi-vertical-copy {
		width: 40px;
		min-height: 260px;
	}

	.matoi-hero-links {
		display: flex !important;
		visibility: visible !important;
		opacity: 1 !important;
		z-index: 2;
	}

	.matoi-hero-photo {
		min-height: 320px;
	}

	.matoi-hero-photo__slides {
		display: block !important;
		z-index: 1;
	}

	.matoi-custom-menu__row {
		max-width: 100%;
		overflow-x: hidden;
	}

	.matoi-seat-gallery {
		gap: 8px;
	}

	.matoi-site-header__nav,
	.matoi-site-header .wp-block-navigation,
	.matoi-site-header .matoi-site-header__nav {
		width: auto;
	}

	.matoi-stat-grid {
		grid-template-columns: 1fr;
	}

	.matoi-site-footer {
		left: 0;
		right: 0;
		width: 100%;
		display: block;
	}

	main {
		padding-bottom: 88px;
	}

	main > .matoi-section:last-of-type,
	main > .matoi-page-shell:last-of-type {
		padding-bottom: 12px;
	}
}

@media (min-width: 980px) {
	.matoi-site-header .wp-block-navigation__responsive-container {
		right: 60px;
	}

	.matoi-site-header .wp-block-navigation__responsive-container-close {
		right: 0;
	}
}

@media (max-width: 640px) {
	.matoi-display {
		font-size: clamp(2.35rem, 13vw, 4.3rem);
	}

	.matoi-section-title {
		font-size: clamp(1.8rem, 10vw, 2.6rem);
	}
}

/* ===== 2026-05-13 追加: PDF原稿フル流し込み対応 ===== */

/* 季節コース、お肉コースの「期間限定」キャプション */
.matoi-menu-period {
	display: inline-block;
	background: #f4ede0;
	border-left: 3px solid #a87f3a;
	padding: 6px 14px;
	margin: 12px 0;
	font-size: 0.95em;
	color: #5d4220;
	line-height: 1.7;
}

/* 2 列メニューテーブル（単品にぎり、おつまみ等） */
.matoi-menu-table--two-col {
	width: 100%;
	border-collapse: collapse;
	margin: 8px 0;
}

.matoi-menu-table--two-col tr {
	border-bottom: 1px dotted #c8b890;
}

.matoi-menu-table--two-col tr:last-child {
	border-bottom: none;
}

.matoi-menu-table--two-col .tbl_col1 {
	padding: 8px 4px;
	font-size: 0.98em;
}

.matoi-menu-table--two-col .tbl_col2 {
	padding: 8px 4px;
	text-align: right;
	font-weight: 600;
	white-space: nowrap;
	color: #6a4a18;
}

/* 出張ケータリングなどの ul 箇条書き */
.matoi-list-card .matoi-list,
.matoi-list-card ul.matoi-list {
	list-style: none;
	padding: 0;
	margin: 12px 0;
}

.matoi-list-card .matoi-list li {
	padding: 8px 0 8px 20px;
	position: relative;
	border-bottom: 1px dotted #d9c7a0;
	line-height: 1.7;
}

.matoi-list-card .matoi-list li:last-child {
	border-bottom: none;
}

.matoi-list-card .matoi-list li::before {
	content: '✦';
	position: absolute;
	left: 0;
	top: 8px;
	color: #a87f3a;
}

/* お品書きセクションのカード内 h4 をやや控えめに */
.matoi-paper-card h4,
.matoi-list-card h4 {
	margin: 18px 0 4px;
	font-size: 1.1em;
	color: #6a4a18;
	letter-spacing: 0.04em;
}

/* matoi-list-photo の img 表示安定化（既存上書き） */
.matoi-list-card .matoi-list-photo {
	margin: 16px auto;
	max-width: 480px;
}

.matoi-list-card .matoi-list-photo img {
	width: 100%;
	height: auto;
	border-radius: 6px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.12);
}

/* 店内のご案内: img タグで切替表示（背景は非表示にする） */
.matoi-seat-photo--koagari,
.matoi-seat-photo--tatami,
.matoi-seat-photo--counter {
	background-image: none;
	min-height: 0;
}

.matoi-seat-photo--koagari img,
.matoi-seat-photo--tatami img,
.matoi-seat-photo--counter img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 6px;
	margin-bottom: 14px;
}

/* スマホ対応 */
@media (max-width: 640px) {
	.matoi-menu-table--two-col .tbl_col1 {
		font-size: 0.92em;
	}
	.matoi-menu-period {
		font-size: 0.88em;
		padding: 5px 10px;
	}
}

/* ===== 2026-05-14 v2 修正: フィードバック反映 ===== */

/* 「（税込）」をグレーに落とす */
.matoi-subtitle_normal {
	color: #8a7964;
	font-size: 0.92rem;
	letter-spacing: 0.02em;
	margin-left: 0.4em;
}

/* お品書きカード内の h4 サブヘッダの見た目改善 */
.matoi-paper-card h4,
.matoi-list-card h4 {
	margin: 22px 0 6px;
	font-size: 1.08em;
	color: #5d4220;
	letter-spacing: 0.06em;
	border-left: 3px solid #a87f3a;
	padding-left: 10px;
	line-height: 1.5;
}

/* 長文ブロック (店舗情報, ご利用の前に等) の行間を広げる */
.matoi-list-card p,
.matoi-info-card p,
.matoi-first-visit__block p,
.matoi-message-layout__body p {
	line-height: 2.0;
	margin-bottom: 1em;
}

/* 価格表記の改善: emphasis 削減気味、normal は柔らかく */
.matoi-subtitle {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 4px 8px;
}

.matoi-subtitle_emphasis {
	font-size: 1.7rem;
	font-weight: 600;
	color: #1f140a;
}

/* matoi-info-card に matoi-title-image を綺麗に */
.matoi-info-section .matoi-title-image {
	margin-bottom: 24px;
}

/* ===== セクションインジケーター（非表示 — 2026-05-14 v4 で削除指示） ===== */
.app-bg-brand__indicator {
	display: none !important;
}

.app-bg-brand__indicator-bar {
	display: flex;
	gap: 8px;
	margin-bottom: 12px;
}

.app-bg-brand__indicator-dot {
	flex: 1 1 0;
	height: 2px;
	background: rgba(255, 255, 255, 0.28);
	border-radius: 2px;
	transition: background 0.4s ease, height 0.4s ease;
}

.app-bg-brand__indicator-dot.is-active {
	background: #d4af6a;
	height: 4px;
}

.app-bg-brand__indicator-label {
	font-size: 0.95rem;
	letter-spacing: 0.18em;
	text-align: center;
	opacity: 0.88;
	transition: opacity 0.4s ease;
}

/* モバイルではインジケーター非表示 */
@media (max-width: 900px) {
	.app-bg-brand__indicator {
		display: none;
	}
}

/* ===== 2026-05-14 v3 修正: 高橋さん追加指示 ===== */

/* (1) 価格 / 品数行を中央寄せ */
.matoi-list-card .matoi-subtitle,
.matoi-paper-card .matoi-subtitle {
	justify-content: center;
	text-align: center;
}

/* (2) matoi-menu-period (期間限定キャプション) を タイトルと同じ幅まで伸ばす */
.matoi-menu-period {
	display: block !important;          /* inline-block を解除 */
	width: 100%;
	max-width: 480px;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
	text-align: left;
	background: #f4ede0;
	border-left: 3px solid #a87f3a;
	padding: 10px 16px;
	margin-top: 14px;
	margin-bottom: 14px;
	font-size: 0.95em;
	color: #5d4220;
	line-height: 1.8;
}

/* (3) PC のみ ヒーロー上部のカウンター写真を旧白黒アプローチ通路写真に戻す */
@media (min-width: 901px) {
	.matoi-hero-cover {
		background-image:
			linear-gradient(180deg, rgba(255,255,255,0.96) 0, rgba(255,255,255,0.96) 40px, transparent 40px),
			url("assets/images/hd_banner_01.jpg") !important;
	}
}

/* (4) モバイル左右に余裕を持たせる */
@media (max-width: 900px) {
	/* matoi-section の中身全体に左右パディング */
	.matoi-section > .alignwide,
	.matoi-section > .matoi-list-section,
	.matoi-section > .matoi-seat-section,
	.matoi-section > .matoi-info-section,
	.matoi-hero > .matoi-hero-cover,
	.matoi-hero > .matoi-hero-photo {
		padding-left: 18px !important;
		padding-right: 18px !important;
		box-sizing: border-box;
	}

	/* alignwide 系の box-sizing 統一 */
	.matoi-section .alignwide {
		max-width: 100% !important;
		box-sizing: border-box;
	}

	/* card 系のさらに内側に少しゆとり */
	.matoi-list-card,
	.matoi-paper-card,
	.matoi-info-card,
	.matoi-notice-card,
	.matoi-message-card,
	.matoi-first-visit__card,
	.matoi-seat-card {
		padding-left: 16px;
		padding-right: 16px;
		box-sizing: border-box;
	}

	/* menu-period もモバイルで余白に合わせる */
	.matoi-menu-period {
		max-width: 100%;
	}

	/* hero の中身余白 */
	.matoi-hero--mock .matoi-hero-cover {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}

/* ===== 2026-05-14 v4 修正 ===== */

/* トップへ戻るボタン */
.matoi-back-to-top {
	position: fixed;
	right: clamp(20px, 3vw, 32px);
	bottom: clamp(30px, 5vh, 56px);
	z-index: 800;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	padding: 0;
	border: 1px solid rgba(168, 127, 58, 0.45);
	border-radius: 50%;
	background: rgba(22, 17, 15, 0.78);
	color: #d4af6a;
	font-family: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.35s ease, visibility 0.35s ease, transform 0.2s ease, background 0.2s ease;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
}

.matoi-back-to-top.is-visible {
	opacity: 0.92;
	visibility: visible;
}

.matoi-back-to-top:hover,
.matoi-back-to-top:focus-visible {
	background: rgba(22, 17, 15, 0.92);
	transform: translateY(-2px);
	opacity: 1;
	outline: none;
}

.matoi-back-to-top__arrow {
	width: 10px;
	height: 10px;
	border-top: 2px solid #d4af6a;
	border-right: 2px solid #d4af6a;
	transform: rotate(-45deg);
	margin-top: 4px;
}

.matoi-back-to-top__label {
	font-size: 0.62rem;
	letter-spacing: 0.15em;
	margin-top: 2px;
	opacity: 0.85;
}

/* モバイルではフッタ電話 CTA と重ならないように少し上に */
@media (max-width: 900px) {
	.matoi-back-to-top {
		right: 14px;
		bottom: 96px; /* matoi-site-footer の高さ分を避ける */
		width: 46px;
		height: 46px;
	}
}

/* お知らせ（記事）ページの修正 v4 */
.matoi-news-single .matoi-page-shell,
.matoi-news-single.matoi-news-shell,
.matoi-news-main .matoi-page-shell {
	padding-left: 18px !important;
	padding-right: 18px !important;
	max-width: 480px;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

@media (max-width: 900px) {
	.matoi-news-single .matoi-page-shell,
	.matoi-news-single.matoi-news-shell,
	.matoi-news-main .matoi-page-shell {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}
	.matoi-news-content {
		font-size: 0.98rem;
		line-height: 2.0;
	}
}

/* archive.php （カテゴリー / アーカイブ表示）にも余白付ける */
.matoi-page-main .matoi-page-shell {
	padding-left: 18px;
	padding-right: 18px;
	max-width: 480px;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

@media (max-width: 900px) {
	.matoi-page-main .matoi-page-shell {
		padding-left: 20px;
		padding-right: 20px;
	}
}

/* ===== 2026-05-14 修正パッチ ===== */

/* ② 各セクションのタイトルバナーと本文(card)の間にスペース (1文字分以上) */
.matoi-section-title.matoi-title-image {
	margin-bottom: 1.5em;
}
@media (max-width: 640px) {
	.matoi-section-title.matoi-title-image {
		margin-bottom: 1.5em;
	}
}

/* バナー img を h2 内に正しく収める → h2 の高さを img と一致させる */
.matoi-section-title.matoi-title-image {
	display: block;
	line-height: 0;
	font-size: 0;
	height: auto;          /* h2 を img のサイズに従わせる */
	overflow: visible;     /* img が見切れないように */
}
.matoi-section-title.matoi-title-image img {
	display: block;
	margin-bottom: 0;
	vertical-align: top;
	width: auto;
	height: auto;
	max-width: 100%;
	position: relative;
	z-index: 2;            /* card より前面 = 重ならずに表示される */
}

/* h2 の直後にくるカード類にも 1 文字分の上マージンを保証 */
.matoi-section-title.matoi-title-image + .matoi-paper-card,
.matoi-section-title.matoi-title-image + .matoi-list-card,
.matoi-section-title.matoi-title-image + .matoi-info-card,
.matoi-section-title.matoi-title-image + .matoi-seat-card,
.matoi-section-title.matoi-title-image + .matoi-list-photo {
	margin-top: 1em !important;
}

/* ⑥ 120分飲み放題テーブル: スマホ時は「飲み放題名」を 1 行で表示 + 改行 →「金額」を右寄せ */
@media (max-width: 640px) {
	.matoi-drink-table,
	.matoi-drink-table tbody {
		display: block !important;
		width: 100% !important;
	}
	.matoi-drink-table tr {
		display: block !important;
		width: 100% !important;
		margin-bottom: 1em;
		padding-bottom: 0.6em;
		border-bottom: 1px dashed rgba(22, 17, 15, 0.18);
	}
	.matoi-drink-table tr:last-child {
		border-bottom: none;
	}
	.matoi-drink-table td,
	.matoi-drink-table td.tbl_col1,
	.matoi-drink-table td.tbl_col2 {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 !important;
	}
	.matoi-drink-table td.tbl_col1 {
		text-align: left;
		font-size: 0.95rem;
		letter-spacing: 0.04em;
		line-height: 1.6;
		white-space: nowrap;          /* 「アルコール飲み放題」を絶対 1 行に */
		overflow: visible;
	}
	.matoi-drink-table td.tbl_col2 {
		text-align: right;
		font-weight: 600;
		font-size: 1.7rem;       /* お品書きの matoi-subtitle_emphasis と揃える */
		color: #1f140a;          /* お品書きと同じ濃い黒 */
		letter-spacing: 0.02em;
		margin-top: 0.2em;
		line-height: 1.3;
	}
}

/* もし viewport が更に狭い (340px 等) で「ソフトドリンク飲み放題」が
   フォントサイズで弾かれた場合、自動でフォントを縮める */
@media (max-width: 360px) {
	.matoi-drink-table td.tbl_col1 {
		font-size: 0.88rem;
	}
}
/* ===== 2026-05-14 修正パッチ ここまで ===== */

/* ===== 2026-05-14 品格チューニング ===== */

/* body 全体: 字間と行送りで和文を上品に */
body {
	font-size: 15px;
	letter-spacing: 0.04em;
	line-height: 1.85;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-feature-settings: "palt" 1;  /* 和文プロポーショナル */
}

/* 本文 p の引き締め (見栄え最重要) */
.matoi-list-card p,
.matoi-info-card p,
.matoi-first-visit__block p,
.matoi-message-layout__body p {
	font-size: 0.95rem;
	line-height: 1.9;
	letter-spacing: 0.03em;
}

/* <strong> が太すぎて品格を損ねる → ウェイトを落として朱色寄り */
.matoi-info-card strong,
.matoi-list-card strong,
.matoi-first-visit__block strong {
	font-weight: 500;
	color: var(--matoi-brown);
	letter-spacing: 0.08em;
}

/* 見出し (h3 / h4) を品の良いミンチョに */
.matoi-list-card h3,
.matoi-list-card h4,
.matoi-info-card h3,
.matoi-info-card h4 {
	font-family: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
	font-weight: 500;
	letter-spacing: 0.08em;
}

.matoi-list-card h3,
.matoi-info-card h3 {
	font-size: 1.15rem;
	margin-top: 0.4em;
	margin-bottom: 0.6em;
}

.matoi-list-card h4,
.matoi-info-card h4 {
	font-size: 1.0rem;
	color: var(--matoi-brown);
}

/* テーブル内テキストの引き締め */
.matoi-menu-table {
	font-size: 0.95rem;
	letter-spacing: 0.03em;
}

/* スマホ向け追加調整 */
@media (max-width: 640px) {
	body {
		font-size: 14px;
		line-height: 1.8;
	}
	.matoi-list-card p,
	.matoi-info-card p,
	.matoi-first-visit__block p,
	.matoi-message-layout__body p {
		font-size: 0.9rem;
		line-height: 1.85;
	}
	.matoi-list-card h3,
	.matoi-info-card h3 {
		font-size: 1.05rem;
	}
	.matoi-menu-table {
		font-size: 0.88rem;
	}
}

/* ボタンを上品に: 「店舗情報・アクセスを見る」など */
.matoi-info-section .wp-block-buttons,
.matoi-list-section .wp-block-buttons {
	margin-left: auto;
	margin-right: auto;
	max-width: 100%;
}

.matoi-info-section .wp-block-button.is-style-outline .wp-block-button__link,
.matoi-list-section .wp-block-button.is-style-outline .wp-block-button__link {
	font-family: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
	font-size: 0.92rem;
	font-weight: 400;
	letter-spacing: 0.12em;
	padding: 14px 28px;
	border-radius: 999px;
	border-width: 1px !important;
	transition: background 0.25s ease, color 0.25s ease, transform 0.2s ease;
}

@media (max-width: 640px) {
	.matoi-info-section .wp-block-button.is-style-outline .wp-block-button__link,
	.matoi-list-section .wp-block-button.is-style-outline .wp-block-button__link {
		font-size: 0.85rem;
		padding: 12px 22px;
		letter-spacing: 0.1em;
	}
}

/* wp-block-button が親幅を超えないように (はみ出し防止の二重安全策) */
.matoi-info-section .wp-block-buttons,
.matoi-list-section .wp-block-buttons {
	box-sizing: border-box;
	padding-left: 4px;
	padding-right: 4px;
}
.matoi-info-section .wp-block-button,
.matoi-list-section .wp-block-button {
	max-width: 100%;
}

/* ===== 品格チューニング ここまで ===== */

/* ===== 2026-05-14 fix3 ===== */

/* ④ 店舗情報セクション: 中身空っぽの .matoi-list-photo.is-room が
   min-height: 146px で巨大な空白を作っていたため非表示
   (将来 img が入った時は別途有効化) */
.matoi-info-card > .matoi-list-photo.is-room:empty {
	display: none;
}

/* ③ 店内のご案内: バナーとカウンター写真の間に 1em のゆとり */
@media (max-width: 640px) {
	.matoi-seat-section .matoi-seat-card {
		margin-top: 0.5em;
	}
	.matoi-seat-section .matoi-seat-card:first-of-type {
		margin-top: 1em;  /* バナー直後の最初のカードは 1 文字分 */
	}
	.matoi-seat-section .matoi-seat-photo {
		margin-bottom: 1em;
	}
}

/* ① お品書きカード内 h3 が img の透過下端と重なって見えるのを防ぐ */
.matoi-paper-card > h3:first-child,
.matoi-paper-card > .wp-block-heading:first-child {
	margin-top: 0;
	padding-top: 0.3em;
}

/* h2 が h3 と離れて見えるようにバナー img 末尾を完全に閉じる */
.matoi-title-image img {
	max-width: 100%;
	height: auto;
}

/* ===== fix3 ここまで ===== */

/* ===== 2026-05-15 price-style fix ===== */
/* 高橋さん指示 2026-05-14:
   - 「円」を「（税込）」と同サイズに小さく
   - 「円」と「（税込）」を近づける
   - 「XX円（税込）」の間で改行禁止
*/

/* matoi-subtitle 全体は flex のまま、ただし子要素間の隙間ゼロに */
.matoi-subtitle {
	gap: 0 4px;
}

/* 数字+円 = 「5,500円」 を 1 まとまりとして改行禁止 */
.matoi-subtitle_emphasis {
	white-space: nowrap;
	margin-right: 0;  /* (税込) との間隔を CSS で制御 */
}

/* 「円」を (税込) と同サイズに */
.matoi-yen {
	font-size: 0.92rem;        /* matoi-subtitle_normal と同じ */
	font-weight: 500;
	letter-spacing: 0;
	margin-left: 0.08em;       /* 数字との隙間を最小限 */
	vertical-align: baseline;
}

/* 「（税込）」を「円」のすぐ右に近づけ、絶対に改行させない */
.matoi-subtitle_tax {
	font-size: 0.92rem;
	color: #8a7964;            /* 旧 normal と同じグレー */
	letter-spacing: 0.02em;
	margin-left: 0.1em;        /* 「円」とのほぼゼロ間隔 */
	white-space: nowrap;
}

/* matoi-subtitle_emphasis の直後に matoi-subtitle_tax が来た時、
   flex で改行されないようにブロック化解除 → 同一フレックスアイテム扱いに変える */
.matoi-subtitle_emphasis + .matoi-subtitle_tax {
	margin-left: 0.1em;
}

/* matoi-subtitle_normal (本文: お料理5品 / 1名様〜 等) は税込の右、改行可 */
.matoi-subtitle_normal {
	color: #8a7964;
	font-size: 0.92rem;
	letter-spacing: 0.02em;
	margin-left: 0.5em;
}

/* === 「XX円（税込）」を絶対 1 行にするための core 仕掛け ===
   flexbox は子アイテム間で wrap するため、emphasis と tax を
   inline-block の連結ペアにする
*/
.matoi-subtitle {
	display: block;            /* flex 解除 */
}
.matoi-subtitle_emphasis,
.matoi-subtitle_tax,
.matoi-subtitle_normal {
	display: inline;
}

/* テーブル内の「円」も改行されないように nowrap */
.matoi-menu-table .tbl_col2,
.matoi-menu-table--two-col .tbl_col2 {
	white-space: nowrap;
}

/* ===== price-style fix ここまで ===== */

/* =================================================================== */
/* ===== 2026-05-15 Plan B: 宝善亭参考 書体置換 + 余白拡大 ============= */
/* =================================================================== */

/* CSS Variables 追加: フォントスタック */
:root {
	--matoi-font-jp: "Shippori Mincho", "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN",
	                 "游明朝", serif;
	--matoi-font-en: "Inter Tight", "Karla", "Roboto", "Helvetica Neue", Arial, sans-serif;
	--matoi-font-num: "Inter Tight", "Shippori Mincho", "Noto Serif JP", serif;
}

/* === body 全体: 和文を Shippori Mincho に === */
body {
	font-family: var(--matoi-font-jp);
	font-feature-settings: "palt" 1, "ss03" 1;  /* palt = 和文プロポーショナル */
}

/* === 見出し系: 完全に Shippori Mincho へ === */
h1, h2, h3, h4, h5, h6,
.wp-block-heading,
.matoi-section-title,
.matoi-paper-card h3, .matoi-paper-card h4,
.matoi-list-card h3, .matoi-list-card h4,
.matoi-info-card h3, .matoi-info-card h4,
.matoi-seat-card h3 {
	font-family: var(--matoi-font-jp);
	font-weight: 500;
	letter-spacing: 0.1em;
}

/* h3 系の小見出しは少し細めで、letter-spacing を広めに(品格) */
.matoi-paper-card h3,
.matoi-list-card h3,
.matoi-info-card h3,
.matoi-seat-card h3 {
	font-weight: 500;
	letter-spacing: 0.12em;
	line-height: 1.7;
}

/* h4 (料理名等) は字間を絞めて重心ある明朝へ */
.matoi-paper-card h4,
.matoi-list-card h4,
.matoi-info-card h4 {
	font-family: var(--matoi-font-jp);
	font-weight: 500;
	letter-spacing: 0.08em;
}

/* === 価格表示: 数字を Inter Tight (細身ミンチョ) で品良く === */
.matoi-subtitle_emphasis {
	font-family: var(--matoi-font-num);
	font-weight: 500;       /* 太字すぎないようにトーンダウン */
	letter-spacing: 0.02em;
}
.matoi-menu-table .tbl_col2,
.matoi-menu-table--two-col .tbl_col2 {
	font-family: var(--matoi-font-num);
	font-weight: 500;
}

/* 「円」は和文だが、数字に寄せて細身ミンチョ */
.matoi-yen {
	font-family: var(--matoi-font-jp);
	font-weight: 400;
}

/* 「(税込)」は控えめなグレー和文 */
.matoi-subtitle_tax {
	font-family: var(--matoi-font-jp);
	font-weight: 400;
}

/* matoi-subtitle_normal (本文添え書き) もミンチョ */
.matoi-subtitle_normal {
	font-family: var(--matoi-font-jp);
	font-weight: 400;
}

/* === 本文の文字組: 字間と行送りを上品に === */
.matoi-list-card p,
.matoi-info-card p,
.matoi-first-visit__block p,
.matoi-message-layout__body p,
.matoi-seat-card p,
.matoi-paper-card p {
	font-family: var(--matoi-font-jp);
	font-weight: 400;
	letter-spacing: 0.05em;   /* 0.03 → 0.05 で字間を広めに(品格 UP) */
	line-height: 2.0;          /* 1.9 → 2.0 (空気感) */
}

/* === 余白拡大: 「空気感」を演出 === */
.matoi-section {
	padding-top: 4rem;
	padding-bottom: 4rem;
}

/* 大きすぎる場合の SP 調整 */
@media (max-width: 640px) {
	.matoi-section {
		padding-top: 2.6rem;
		padding-bottom: 2.6rem;
	}
}

/* バナーと本文カードの間隔をより広く (1em → 1.8em) */
.matoi-section-title.matoi-title-image {
	margin-bottom: 2em;
}
@media (max-width: 640px) {
	.matoi-section-title.matoi-title-image {
		margin-bottom: 1.8em;
	}
}

/* h2 直後カードの追加マージン */
.matoi-section-title.matoi-title-image + .matoi-paper-card,
.matoi-section-title.matoi-title-image + .matoi-list-card,
.matoi-section-title.matoi-title-image + .matoi-info-card,
.matoi-section-title.matoi-title-image + .matoi-seat-card,
.matoi-section-title.matoi-title-image + .matoi-list-photo {
	margin-top: 1.5em !important;
}

/* セクション内のカード同士の間隔も拡大 */
.matoi-list-section {
	gap: 2em;
}
.matoi-seat-section .matoi-seat-card {
	margin-top: 1.5em;
}
.matoi-seat-section .matoi-seat-card + .matoi-seat-card {
	margin-top: 2em;
}

/* h3 と次の段落の間 (見出しと本文の呼吸) */
.matoi-paper-card h3,
.matoi-list-card h3,
.matoi-info-card h3,
.matoi-seat-card h3 {
	margin-bottom: 0.6em;
}

/* === ボタン: 細身ミンチョで上品に === */
.matoi-info-section .wp-block-button.is-style-outline .wp-block-button__link,
.matoi-list-section .wp-block-button.is-style-outline .wp-block-button__link {
	font-family: var(--matoi-font-jp);
	font-weight: 400;
	letter-spacing: 0.14em;     /* 0.12 → 0.14 (高級感) */
	padding: 16px 32px;
	border-width: 1px !important;
}
@media (max-width: 640px) {
	.matoi-info-section .wp-block-button.is-style-outline .wp-block-button__link,
	.matoi-list-section .wp-block-button.is-style-outline .wp-block-button__link {
		padding: 14px 24px;
		letter-spacing: 0.12em;
	}
}

/* === TOP に戻るボタンもミンチョに === */
.matoi-back-to-top {
	font-family: var(--matoi-font-jp);
}

/* === ハンバーガーメニュー内テキストもミンチョに === */
.matoi-custom-menu__link {
	font-family: var(--matoi-font-jp);
	letter-spacing: 0.08em;
}

/* === コース料金や価格を含む見出しの行間も少しゆとり === */
.matoi-list-card h3,
.matoi-info-card h3,
.matoi-paper-card h3 {
	line-height: 1.8;
}

/* === ヒーロー (トップ) のキャッチコピーも明朝へ === */
.matoi-hero,
.matoi-hero h1,
.matoi-hero h2,
.matoi-hero p {
	font-family: var(--matoi-font-jp);
}

/* === 1 文字目に強調する縦線などはそのまま、ただし字間広め === */
.matoi-menu-content,
.matoi-menu-attention {
	font-family: var(--matoi-font-jp);
	letter-spacing: 0.05em;
}

/* === SP の body サイズはそのまま 14px、和文プロポーショナルで詰まる分の調整 === */
@media (max-width: 640px) {
	body {
		font-size: 14px;
		line-height: 1.95;
	}
}

/* ===== Plan B チューニング ここまで ===== */

/* =================================================================== */
/* ===== 2026-05-15 PC コンテンツ左右余白 (アプローチ B) =============== */
/* =================================================================== */
/* app-container を 480px → 560px に拡大、内部コンテンツは 480px のまま中央寄せ
   → コンテンツの左右に 40px ずつ空気が生まれる */

@media (min-width: 980px) {
	/* main コンテンツを中央寄せ */
	.app-container > main,
	.app-container > .matoi-page-main,
	.app-container > header,
	.app-container > footer {
		max-width: 480px;
		margin-left: auto;
		margin-right: auto;
	}

	/* matoi-section 自体が flex で center だが、念のため確保 */
	.matoi-section {
		max-width: 480px;
		margin-left: auto;
		margin-right: auto;
	}

	/* hero (トップビジュアル) も同様に */
	.matoi-hero {
		max-width: 480px;
		margin-left: auto;
		margin-right: auto;
	}
}

/* ===== アプローチ B ここまで ===== */

/* =================================================================== */
/* ===== 2026-05-15 fix7: 背景白化 + お品書き重なり + はじめての写真詰め === */
/* =================================================================== */

/* ① サイト全体の下地をクリーム色 → 白 に変更
   body の背景 #f5f1e8 → #ffffff、app-container も白で覆って統一感 */
body {
	background: #ffffff !important;
}
.app-container {
	background: #ffffff;
}
.app-bg-brand {
	background: #ffffff;
}

/* ② お品書きセクション: バナー画像「お品書き／お寿司」と
   カード内 h3「お品書き／お寿司」が重複して見苦しい
   → バナー画像に既にテキストが含まれているため、card 内 h3 を非表示 */
.matoi-paper-card > h3:first-child {
	display: none;
}
.matoi-section-title.matoi-title-image + .matoi-paper-card {
	margin-top: 1.5em !important;
}

/* ③ 「はじめてのお客様へ」セクション: 写真と見出しの間の空白を削減
   原因: 写真セクションの padding-bottom 64 + margin-bottom 50 +
         次セクションの padding-top 64 = 計 178px の巨大な空白
   → 「matoi-first-visit を含むセクション」と「その前のセクション」の余白を縮める */

.matoi-owner-photo {
	margin-bottom: 0 !important;
	min-height: 280px;          /* 460 → 280: contain 写真の下に出る空白を削減 */
	background-position: center bottom;  /* 写真を下端寄せにして見出しに近づける */
}

@media (max-width: 640px) {
	.matoi-owner-photo {
		min-height: 240px;
	}
}

/* matoi-first-visit を含むセクションの上余白を 64px → 24px に */
.matoi-section:has(.matoi-first-visit) {
	padding-top: 1.5rem !important;
}

/* 写真を含む section (matoi-owner-photo を持つ) の下余白も縮める */
.matoi-section:has(.matoi-owner-photo) {
	padding-bottom: 1.5rem !important;
	margin-bottom: 0 !important;
}

/* ===== fix7 ここまで ===== */

/* =================================================================== */
/* ===== 2026-05-15 fix10: バナーと特上にぎりの重なり最終修正 ========= */
/* =================================================================== */

/* card に白背景を保持 (背景透けの防止) */
.matoi-paper-card,
.matoi-list-card,
.matoi-info-card,
.matoi-first-visit__card,
.matoi-notice-card,
.matoi-message-card {
	background: #ffffff !important;
	position: relative;
	z-index: 1;
}

/* ===== fix10 ここまで ===== */

/* ===== 出張・ケータリング サブ画像 3枚横並び (2026-06-03) ===== */
.matoi-catering-subphotos {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
	margin-top: 10px;
}

.matoi-catering-subphotos .matoi-list-photo {
	margin: 0;
}

.matoi-catering-subphotos .matoi-list-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 6px;
}
/* ===== 出張・ケータリング サブ画像 ここまで ===== */

/* ===== 2026-06-06 SP「店内のご案内」カード横はみ出し修正 ===== */
/* 真因: .matoi-seat-section が display:grid で grid-template-columns が
   固定 423px になっていて、カードを viewport(390px) 超の 423px に押し広げ
   横スクロールが発生していた。SP では列を minmax(0,1fr) にして親幅に収める。
   (min-width:0 を併用しないとグリッドアイテムが縮まないので注意) */
@media (max-width: 640px) {
	.matoi-seat-section {
		grid-template-columns: minmax(0, 1fr) !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}
	.matoi-seat-section .matoi-seat-card {
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
	}
	.matoi-seat-section .matoi-seat-photo img,
	.matoi-seat-section .matoi-seat-card img {
		max-width: 100% !important;
		height: auto !important;
	}
	.matoi-seat-section .matoi-title-image--seat {
		max-width: 100% !important;
	}
}
/* ===== 2026-06-06 SP 修正 ここまで ===== */
