/* ==========================================================================
   リニューアル版トップ（template-parts/home/main.php 専用）
   配色 A-5：黒・白＋パウダーブルー（淡い青みのグレーはその薄い色として使う）
   ========================================================================== */
.l-home {
	--c-text: #1A1A1A;
	--c-bg: #fff;
	--c-brand: #a9c4dc;
	--c-brand-deep: #6f8aa3; /* 白地に置く小さな英字・番号用（淡い青だと読めないため） */
	--c-mist: #eef2f5;
	--band-w: 4.5em;

	margin: 0;
	font-size: clamp(0px, calc(100vw / 80), 16px);
	font-family: 'Google Sans', 'Noto Sans JP', sans-serif;
	color: var(--c-text);
	background: var(--c-bg);
	line-height: 1.6;
	letter-spacing: 0.02em;
}
@media (max-width: 769px) {
	.l-home {
		font-size: clamp(0px, calc(100vw / 25), 14px);
		--band-w: 0em;
	}
}
.l-home *, .l-home *::before, .l-home *::after { box-sizing: border-box; }
:where(.l-home) a { color: inherit; text-decoration: none; }
.l-home img { display: block; max-width: 100%; height: auto; }
/* リセットは :where() で詳細度を0にして、各部品の余白指定が負けないようにする */
:where(.l-home) :where(ul, ol, dl, dd) { list-style: none; margin: 0; padding: 0; }
:where(.l-home) :where(h1, h2, p) { margin: 0; }
html.is-drawer-open { overflow: hidden; }

/* ---------- ボタン ---------- */
.c-home-btn {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1em;
	padding: 0.875em 1.25em;
	border-radius: 2em;
	font-size: 0.875em;
	font-weight: 500;
	white-space: nowrap;
	transition: opacity .2s;
}
.c-home-btn::after { content: "→"; }
.c-home-btn:hover { opacity: .8; }
.c-home-btn--primary { background: var(--c-brand); }
.c-home-btn--dark { background: var(--c-text); color: #fff; }
.c-home-btn--plain { background: var(--c-mist); }

/* ---------- 左の縦帯（スマホでは上の帯） ---------- */
.l-home-band {
	position: fixed;
	inset: 0 auto 0 0;
	z-index: 20;
	width: 4.5em;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2em;
	padding: 1.5em 0;
	background: var(--c-mist);
}
.l-home-band__menu {
	display: grid;
	gap: 0.375em;
	width: 1.75em;
	padding: 0.25em 0;
	background: none;
	border: 0;
	color: var(--c-text);
	cursor: pointer;
}
.l-home-band__menu span { display: block; height: 0.125em; background: currentColor; }
.l-home-band__line { width: 0.0625em; height: 8em; background: var(--c-brand); }
.l-home-band__label {
	writing-mode: vertical-rl;
	font-size: 0.6875em;
	font-weight: 500;
	letter-spacing: 0.3em;
	color: var(--c-brand-deep);
}
.l-home-band__reserve { display: none; }
.l-home-main, .l-home-footer { margin-left: var(--band-w); }

@media (max-width: 769px) {
	.l-home-band {
		inset: 0 0 auto 0;
		width: auto;
		height: 3.75em;
		flex-direction: row;
		justify-content: space-between;
		padding: 0 4%;
	}
	.l-home-band__line, .l-home-band__label { display: none; }
	.l-home-band__reserve {
		display: block;
		padding: 0.5em 1.25em;
		border-radius: 2em;
		background: var(--c-brand);
		font-size: 0.875em;
		font-weight: 500;
	}
	.l-home-main { padding-top: 3.75em; }
}

/* ---------- メニュー（ドロワー） ---------- */
.c-drawer { position: fixed; inset: 0; z-index: 30; }
.c-drawer[hidden] { display: none; }
.c-drawer__bg { position: absolute; inset: 0; background: rgba(0, 0, 0, .5); opacity: 0; transition: opacity .4s ease; }
.c-drawer__body {
	position: relative;
	width: min(100%, 24em);
	height: 100%;
	overflow-y: auto;
	padding: 4.5em 2.5em 2.5em;
	background: #fff;
	transform: translateX(-100%);
	transition: transform .6s cubic-bezier(.22, 1, .36, 1);
}
.c-drawer__body:focus { outline: none; }
/* 開くとき：本体が左からすべり出て、項目が上から順に少し遅れて出てくる（2026-10-31 児島指定「ニュルっと」）。開け閉めは assets/js/home.js */
.c-drawer__list li, .c-drawer__btns { opacity: 0; transform: translateX(-1.5em); transition: opacity .45s ease, transform .6s cubic-bezier(.22, 1, .36, 1); }
.c-drawer.is-open .c-drawer__bg { opacity: 1; }
.c-drawer.is-open .c-drawer__body { transform: none; }
.c-drawer.is-open .c-drawer__list li, .c-drawer.is-open .c-drawer__btns { opacity: 1; transform: none; }
.c-drawer.is-open .c-drawer__list li:nth-child(1) { transition-delay: .12s; }
.c-drawer.is-open .c-drawer__list li:nth-child(2) { transition-delay: .16s; }
.c-drawer.is-open .c-drawer__list li:nth-child(3) { transition-delay: .2s; }
.c-drawer.is-open .c-drawer__list li:nth-child(4) { transition-delay: .24s; }
.c-drawer.is-open .c-drawer__list li:nth-child(5) { transition-delay: .28s; }
.c-drawer.is-open .c-drawer__list li:nth-child(6) { transition-delay: .32s; }
.c-drawer.is-open .c-drawer__list li:nth-child(7) { transition-delay: .36s; }
.c-drawer.is-open .c-drawer__list li:nth-child(8) { transition-delay: .4s; }
.c-drawer.is-open .c-drawer__list li:nth-child(n+9) { transition-delay: .44s; }
.c-drawer.is-open .c-drawer__btns { transition-delay: .5s; }
@media (prefers-reduced-motion: reduce) {
	.c-drawer__bg, .c-drawer__body, .c-drawer__list li, .c-drawer__btns { transition: none; }
}
.c-drawer__close {
	position: absolute;
	top: 1.25em;
	right: 1.25em;
	width: 2.5em;
	height: 2.5em;
	border: 0;
	border-radius: 50%;
	background: var(--c-mist);
	cursor: pointer;
}
.c-drawer__close::before, .c-drawer__close::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 1em;
	height: 0.125em;
	background: var(--c-text);
	transform: translate(-50%, -50%) rotate(45deg);
}
.c-drawer__close::after { transform: translate(-50%, -50%) rotate(-45deg); }
.c-drawer__list li a { display: flex; align-items: baseline; gap: 1em; padding: 0.75em 0; }
.c-nav-en { font-size: 1.125em; font-weight: 500; letter-spacing: 0.15em; }
.c-nav-ja { font-size: 0.75em; }
.c-drawer__btns { display: grid; gap: 0.5em; margin-top: 2em; }

/* ---------- ファーストビュー ---------- */
.p-home-fv { position: relative; height: 100vh; min-height: 40em; }
.p-home-fv__slides { position: relative; height: 100%; overflow: hidden; }
/* 写真は重ねておき、is-active の1枚だけ見せる（切り替えは assets/js/home.js） */
.p-home-fv__img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; opacity: 0; transition: opacity 1.5s ease; }
.p-home-fv__img.is-active { opacity: 1; }
/* 右下の小さな写真。今の1枚は濃く、下の線で次に切り替わるまでの進み具合を見せる */
.p-home-fv__thumbs { position: absolute; right: 2.5em; bottom: 2.5em; z-index: 2; display: flex; gap: 0.75em; }
.p-home-fv__thumb { display: grid; gap: 0.5em; width: 6.5em; padding: 0; border: 0; background: none; color: var(--c-text); cursor: pointer; }
.p-home-fv__thumb img { width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 0.5em; opacity: .55; transition: opacity .3s; }
.p-home-fv__thumb.is-active img, .p-home-fv__thumb:hover img { opacity: 1; }
.p-home-fv__bar { display: block; height: 0.1875em; border-radius: 1em; background: rgba(255, 255, 255, .6); overflow: hidden; }
.p-home-fv__bar::before { content: ""; display: block; width: 0; height: 100%; background: var(--c-text); }
.p-home-fv__thumb.is-active .p-home-fv__bar::before { width: 100%; }
.is-fv-playing .p-home-fv__thumb.is-active .p-home-fv__bar::before { animation: fv-progress 6s linear; }
@keyframes fv-progress { from { width: 0; } to { width: 100%; } }
.p-home-fv__thumb-en { font-size: 0.6875em; font-weight: 500; letter-spacing: 0.15em; text-align: left; }
/* 写真の下の端の大きな白い「8080」。下を少し切り、開くと下からせり上がって止まる（1回だけ）。右下の小さな写真はこれより上に出る */
.p-home-fv__mark { position: absolute; left: 50%; bottom: -9%; z-index: 1; width: 88%; font-size: 1em; opacity: .35; pointer-events: none; transform: translateX(-50%); animation: fv-mark-rise 1.6s cubic-bezier(.22, 1, .36, 1) .2s both; }
.p-home-fv__mark img { width: 100%; height: auto; }
@keyframes fv-mark-rise { from { transform: translate(-50%, 40%); opacity: 0; } to { transform: translate(-50%, 0); opacity: .35; } }
@media (prefers-reduced-motion: reduce) { .p-home-fv__mark { animation: none; } }
/* キャッチは写真の左上に直接（2026-10-31 児島指定。写真の左上は背景の無地の部分） */
.p-home-fv__copy { position: absolute; top: 2.75em; left: 3em; }
.p-home-fv__catch { font-size: 2.25em; font-weight: 500; line-height: 1.55; letter-spacing: 0.08em; }
/* キャッチの英語（2026-10-31 児島指定の案A） */
.p-home-fv__catch-en { margin-top: 1em; font-size: 0.875em; line-height: 1.7; letter-spacing: 0.04em; }
.c-home-sns { display: flex; gap: 1.25em; margin-top: 2em; }
.c-home-sns a { display: flex; align-items: center; gap: 0.375em; font-size: 0.8125em; font-weight: 500; }
.c-home-sns img { width: 1.375em; height: 1.375em; filter: brightness(0); }
.p-salon-info__link { text-decoration: underline; }
.p-home-fv__panel {
	position: absolute;
	top: 0;
	right: 0;
	width: 24em;
	padding: 2.25em 2.25em 2.5em;
	border-radius: 0 0 0 1em; /* 写真に出ている左下の角だけ少し丸く（2026-10-31 児島指定） */
	background: #fff;
}
.p-home-fv__reserve { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5em; }
/* ホットペッパーの2店舗は横に並べ、見出しと受付前の2つは1行ずつ（2026-10-31 児島指定） */
.p-home-fv__reserve .p-home-fv__panel-title, .p-home-fv__reserve .is-soon { grid-column: 1 / -1; }
.p-home-fv__reserve a.c-reserve-link { padding: 0.75em 0.875em 0.75em 1em; border-radius: 1em; font-size: 0.8125em; column-gap: 0.375em; }
/* 予約先のボタン。ホットペッパーは青の塗り＋矢印、受付前（公式サイト・LINE）は淡い面に薄い文字＋「近日受付開始」の札で押せない */
.c-reserve-link { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: 0.75em; padding: 0.625em 1.25em; border-radius: 2em; background: var(--c-brand); font-size: 0.875em; font-weight: 500; white-space: nowrap; transition: opacity .2s; }
a.c-reserve-link::after { content: "→"; grid-column: 2; grid-row: 1 / span 2; }
a.c-reserve-link:hover { opacity: .8; }
.c-reserve-link__note { grid-column: 1; font-size: 0.75em; line-height: 1.3; }
.c-reserve-link__label { grid-column: 1; font-weight: 700; line-height: 1.4; }
.c-reserve-link.is-soon { padding: 0.875em 1.25em; background: var(--c-mist); cursor: default; }
.c-reserve-link.is-soon .c-reserve-link__label { opacity: .45; }
.c-reserve-link__badge { grid-column: 2; padding: 0.25em 0.75em; border-radius: 2em; background: var(--c-text); color: #fff; font-size: 0.6875em; font-weight: 700; }
/* LINE予約は LINE の色（2026-10-31 児島指定・LINE のブランド色に限った例外）。受付前は「近日受付開始」の札で示す */
.c-reserve-link--line { --c-line: #06c755; }
.c-reserve-link.is-soon.c-reserve-link--line { background: var(--c-line); color: #fff; }
.c-reserve-link.is-soon.c-reserve-link--line .c-reserve-link__label { opacity: 1; }
.c-reserve-link--line .c-reserve-link__badge { background: #fff; color: var(--c-line); }
.p-home-fv__panel-title { margin-bottom: 0.5em; font-size: 0.9375em; font-weight: 700; }
.p-home-fv__panel-en {
	margin-left: 0.75em;
	font-size: 0.6875em;
	font-weight: 500;
	letter-spacing: 0.15em;
	color: var(--c-brand-deep);
}
@media (max-width: 769px) {
	.p-home-fv { height: auto; min-height: 0; }
	.p-home-fv__slides { height: auto; aspect-ratio: 4 / 5; }
	.p-home-fv__img { object-position: 60% center; }
	.p-home-fv__thumbs { right: 4%; bottom: 1em; gap: 0.5em; }
	.p-home-fv__thumb { width: 3.75em; }
	.p-home-fv__thumb-en { display: none; }
	.p-home-fv__mark { width: 96%; bottom: -7%; }
	.p-home-fv__copy { position: static; padding: 1.5em 4% 0; }
	.p-home-fv__catch { font-size: 1.5em; }
	.p-home-fv__catch-en { margin-top: 0.75em; font-size: 0.8125em; }
	.c-home-sns { margin-top: 1em; }
	.p-home-fv__panel { position: static; width: auto; padding: 1.5em 4%; border-radius: 0; }
	.p-home-fv__reserve { grid-template-columns: 1fr 1fr; }
	.p-home-fv__panel-title { grid-column: 1 / -1; }
}

/* ---------- セクション共通 ---------- */
.p-home-sec { padding: 6em 0; }
.p-home-sec__inner { width: min(92%, 80em); margin: 0 auto; }
.c-home-head { display: flex; align-items: flex-end; gap: 1.5em; margin-bottom: 2.5em; }
/* トップの欄の見出しの頭に付ける大きな「#」（2026-10-31 児島指定の案F。以前は「/ 01」などの番号） */
.c-home-head:has(.c-home-head__mark) { align-items: center; gap: 0.875em; }
.c-home-head__mark { font-size: 4.25em; font-weight: 400; line-height: 1; color: var(--c-text); }
.c-home-head__en { font-size: 1.75em; font-weight: 500; line-height: 1; letter-spacing: 0.25em; }
.c-home-head__ja {
	display: inline-block;
	margin-left: 1.25em;
	font-size: 0.4375em;
	letter-spacing: 0.05em;
	vertical-align: middle;
}
.c-home-more {
	display: inline-flex;
	gap: 0.75em;
	margin-left: auto;
	padding: 0.5em 1.25em;
	border-radius: 2em;
	background: var(--c-mist);
	font-size: 0.8125em;
	font-weight: 500;
	white-space: nowrap;
}
.c-home-more::after { content: "→"; }
@media (max-width: 769px) {
	.p-home-sec { padding: 3.5em 0; }
	.c-home-head { gap: 0.75em; margin-bottom: 1.5em; }
	.c-home-head__en { font-size: 1.375em; }
	.c-home-head__ja { display: block; margin: 0.75em 0 0; font-size: 0.5625em; }
	.c-home-head:has(.c-home-head__mark) { gap: 0.5em; }
	.c-home-head__mark { font-size: 3em; }
}

/* ---------- STYLE（カタログ）：横にスクロールする一列 ---------- */
.p-home-style__list {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - 4 * 1.25em) / 5.4);
	gap: 1.25em;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding-bottom: 1em;
	scrollbar-width: thin;
}
.p-home-style__item { scroll-snap-align: start; }
.p-home-style__item img { width: 100%; aspect-ratio: 2 / 3; object-fit: cover; }
/* 人気のスタイル（manage の台帳の写真は 3:4）。押すと後ろ・横・前のポップアップ */
.p-home-style__btn { position: relative; width: 100%; padding: 0; border: 0; background: none; color: inherit; text-align: left; cursor: pointer; }
.p-home-style__btn img { aspect-ratio: 3 / 4; border-radius: 0.5em; background: #f5f5f5; }
.p-home-style__btn { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: end; column-gap: 0.625em; }
.p-home-style__btn img { grid-column: 1 / -1; grid-row: 1; }
/* 順位は写真の下に大きな細い数字（「No.」を小さく添える）、名前と横に並べる（2026-10-31 児島指定の案B）。1〜3位は黒、4位からは淡い青 */
.p-home-style__rank {
	grid-row: 2;
	grid-column: 1;
	display: inline-flex;
	align-items: baseline;
	gap: 0.125em;
	margin-top: 0.375em;
	font-size: 2em;
	font-weight: 300;
	line-height: 1;
	color: var(--c-brand-deep);
}
.p-home-style__rank::before { content: "No."; font-size: 0.4375em; font-weight: 500; letter-spacing: 0.05em; }
.p-home-style__item:nth-child(-n+3) .p-home-style__rank { color: var(--c-text); }
.p-home-style__btn .p-home-style__name { grid-row: 2; grid-column: 2; margin-top: 0; padding-bottom: 0.25em; }
.p-home-style__name { display: block; margin-top: 0.75em; font-size: 0.8125em; }
@media (max-width: 769px) {
	.p-home-style__list { grid-auto-columns: 40%; gap: 0.75em; }
	.p-home-style__rank { font-size: 1.625em; }
}

/* ---------- NEWS ---------- */
.p-home-news { background: var(--c-mist); }
.p-home-news__list li + li { margin-top: 0.5em; }
.p-home-news__item {
	display: flex;
	align-items: center;
	gap: 1.5em;
	padding: 1.25em 1.5em;
	background: #fff;
	border-radius: 0.5em;
	transition: opacity .2s;
}
.p-home-news__item:hover { opacity: .8; }
.p-home-news__item time { font-size: 0.8125em; font-weight: 500; letter-spacing: 0.05em; white-space: nowrap; }
.p-home-news__cat {
	padding: 0.25em 0.875em;
	border-radius: 2em;
	background: var(--c-brand);
	font-size: 0.75em;
	white-space: nowrap;
}
.p-home-news__title { font-size: 0.9375em; }
@media (max-width: 769px) {
	.p-home-news__item { flex-wrap: wrap; gap: 0.5em 0.75em; padding: 1em 1.25em; }
	.p-home-news__title { width: 100%; }
}

/* ---------- フッター ---------- */
.l-home-footer { padding: 4em 0 2em; }
.l-home-footer__inner {
	display: flex;
	justify-content: space-between;
	gap: 3em;
	width: min(92%, 80em);
	margin: 0 auto;
}
.l-home-footer__logo { width: 6em; }
.l-home-footer__name { margin-top: 1em; font-weight: 700; font-size: 0.9375em; }
.l-home-footer__info {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.25em 1em;
	margin-top: 0.75em;
	font-size: 0.8125em;
}
.l-home-footer__info dt { font-weight: 500; }
.l-home-footer__nav { display: flex; gap: 4em; font-size: 0.875em; }
.l-home-footer__nav li + li { margin-top: 0.5em; }
.l-home-footer__nav .c-nav-en { margin-right: 0.75em; font-size: 0.875em; }
.l-home-footer__copy { margin-top: 3em; text-align: center; font-size: 0.75em; }
@media (max-width: 769px) {
	.l-home-footer { padding: 3em 0 2em; }
	.l-home-footer__inner { flex-direction: column; gap: 2em; }
	.l-home-footer__nav { gap: 2em; }
}

/* ==========================================================================
   下層ページ共通（ページ見出し・パンくず・ページ送り）
   ========================================================================== */
.c-page-head { background: var(--c-mist); }
.c-page-head__inner { width: min(92%, 80em); margin: 0 auto; padding: 5em 0 3.5em; }
.c-page-head__en { font-size: 3em; font-weight: 500; line-height: 1; letter-spacing: 0.25em; }
.c-page-head__ja { margin-top: 1em; font-size: 1em; font-weight: 700; }
.c-page-head__lead { margin-top: 1.25em; font-size: 0.875em; }
@media (max-width: 769px) {
	.c-page-head__inner { padding: 3em 0 2em; }
	.c-page-head__en { font-size: 2em; }
}

/* 見出しの帯を写真にする版（MODE K's の下層ページの見出しを参考）。白い文字が読めるよう黒の半透明を重ねる */
.c-page-head--photo {
	position: relative;
	background-color: var(--c-text);
	background-position: center;
	background-size: cover;
	color: #fff;
}
.c-page-head--photo::before { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, .4); }
.c-page-head--photo .c-page-head__inner { position: relative; padding: 6em 0 4.5em; }
/* 写真を差し替えたら ?v= の日付も変える（ブラウザに古い写真が残らないように） */
.c-page-head--style { background-image: url(../images/home/head-style.jpg?v=20261031); background-position: 70% 40%; }
.c-page-head--accessory { background-image: url(../images/home/head-accessory.jpg?v=20261031); background-position: 70% center; }
.c-page-head--salon { background-image: url(../images/home/head-salon.jpg?v=20261031); background-position: 70% center; }
.c-page-head--kitsuke { background-image: url(../images/home/head-kitsuke.jpg?v=20261031); background-position: 70% center; }
.c-page-head--faq { background-image: url(../images/home/head-faq.jpg?v=20261031); background-position: 70% center; }
.c-page-head--make { background-image: url(../images/home/head-make.jpg?v=20261031); background-position: 70% center; }
.c-page-head--magazine { background-image: url(../images/home/head-magazine.jpg?v=20261031); background-position: 70% center; }
@media (max-width: 769px) {
	.c-page-head--photo .c-page-head__inner { padding: 4em 0 3em; }
}

.c-breadcrumb { width: min(92%, 80em); margin: 1.25em auto 0; }
.c-breadcrumb ol { display: flex; flex-wrap: wrap; gap: 0.5em; font-size: 0.75em; }
.c-breadcrumb li + li::before { content: "＞"; margin-right: 0.5em; }

.c-pager { margin-top: 3em; }
.c-pager ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5em; }
.c-pager .page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 2.75em;
	height: 2.75em;
	padding: 0 1em;
	border-radius: 2em;
	background: var(--c-mist);
	font-size: 0.875em;
	font-weight: 500;
}
.c-pager .page-numbers.current { background: var(--c-text); color: #fff; }
.c-pager .page-numbers.dots { background: none; }
/* paginate_links( type=list ) は外側の ul にも page-numbers が付くので、丸い面を付けない */
.c-pager ul.page-numbers { display: flex; min-width: 0; height: auto; padding: 0; border-radius: 0; background: none; }

/* ==========================================================================
   スタイル一覧（template-parts/style/archive.php）
   ========================================================================== */
.p-style { width: min(92%, 80em); margin: 0 auto; padding: 3em 0 6em; }
.p-style { scroll-margin-top: 1em; transition: opacity .2s; }
.p-style.is-loading { opacity: .4; pointer-events: none; }
@media (max-width: 769px) { .p-style { scroll-margin-top: 4.75em; } }
.p-style__filters { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1em; }
.p-style-filter { display: flex; align-items: center; gap: 1.5em; }
.p-style-filter__label { display: flex; align-items: baseline; gap: 0.75em; width: 11em; flex-shrink: 0; }
.p-style-filter__label .c-nav-en { font-size: 0.875em; }
.p-style-filter__tabs { display: flex; flex-wrap: wrap; gap: 0.5em; }
.p-style-filter__tab {
	display: block;
	padding: 0.5em 1.375em;
	border-radius: 2em;
	background: var(--c-mist);
	font-size: 0.875em;
	font-weight: 500;
	white-space: nowrap;
	transition: opacity .2s;
}
.p-style-filter__tab:hover { opacity: .8; }
.p-style-filter__tab.is-current { background: var(--c-text); color: #fff; }
.p-style__count { margin-top: 2.5em; font-size: 0.8125em; }
.p-style__grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 2.25em 1.25em;
	margin-top: 1em;
}
.p-style-card a { display: block; transition: opacity .2s; }
.p-style-card a:hover { opacity: .85; }
.p-style-card__img { width: 100%; aspect-ratio: 2 / 3; object-fit: cover; }
.p-style-card__name { margin-top: 0.75em; font-size: 0.875em; font-weight: 500; line-height: 1.5; }
.p-style-card__meta { margin-top: 0.25em; font-size: 0.75em; color: var(--c-brand-deep); }
.p-style__empty { display: grid; justify-items: start; gap: 1.25em; margin-top: 2em; }
@media (max-width: 769px) {
	.p-style { padding: 2em 0 4em; }
	.p-style-filter { flex-direction: column; align-items: flex-start; gap: 0.5em; }
	.p-style-filter__label { width: auto; }
	/* タブは折り返さず横にスクロール */
	.p-style-filter__tabs { flex-wrap: nowrap; width: 100%; max-width: 100%; overflow-x: auto; padding-bottom: 0.25em; }
	.p-style-filter { min-width: 0; align-items: stretch; }
	.p-style__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.75em 0.75em; }
}

/* スタイル一覧の下：アクセサリーへの案内 */
.p-style-more { background: var(--c-mist); }
.p-style-more__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5em;
	width: min(92%, 80em);
	margin: 0 auto;
	padding: 2.5em 0;
}
.p-style-more__text { font-size: 0.9375em; }
.p-style-more .c-home-btn--plain { background: #fff; }
@media (max-width: 769px) {
	.p-style-more__inner { flex-direction: column; align-items: stretch; gap: 1em; padding: 2em 0; }
}

/* ==========================================================================
   アクセサリー（template-parts/accessory/page.php）
   2店舗まとめた一覧＋置いている店舗の印
   ========================================================================== */
.p-acc { width: min(92%, 80em); margin: 0 auto; padding: 3em 0 6em; }
.p-acc__count { font-size: 0.8125em; }
.p-acc__grid {
	display: grid;
	grid-template-columns: repeat(8, minmax(0, 1fr));
	gap: 2em 1em;
	margin-top: 1em;
}
.c-acc-card__img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 0.5em; }
.c-acc-card__body { padding-top: 0.75em; }
.c-acc-card__name { font-size: 0.875em; font-weight: 500; line-height: 1.5; }
.c-acc-card__name small { font-size: 0.857em; font-weight: 400; }
.c-acc-card__price { margin-top: 0.25em; font-size: 0.875em; }
/* 店舗ごとの在庫（2行の小さな表・行の間は表の罫線）
   ⚠️ 在庫の状態を示す緑・黄・グレーは、2026-10-31 児島指定でこの表示に限って使う色（黒・白＋ブランド色1色の例外） */
.c-acc-stock {
	--c-stock-in: #3e9e6b;
	--c-stock-low: #e6b422;
	--c-stock-none: #9a9a9a;
	margin-top: 0.75em;
	font-size: 0.6875em;
}
.c-acc-stock__row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0.5em;
	padding: 0.375em 0;
	border-top: 0.0625em solid #eee;
	white-space: nowrap;
}
.c-acc-stock__row:last-child { border-bottom: 0.0625em solid #eee; }
.c-acc-stock dd { display: flex; align-items: center; gap: 0.375em; margin: 0; font-weight: 700; }
.c-acc-stock dd::before { content: ""; width: 0.625em; height: 0.625em; border-radius: 50%; background: var(--c-stock-in); flex-shrink: 0; }
.c-acc-stock__row.is-low dd::before { background: var(--c-stock-low); }
.c-acc-stock__row.is-none dd { color: var(--c-stock-none); font-weight: 400; text-decoration: line-through; }
.c-acc-stock__row.is-none dd::before { background: var(--c-stock-none); }
.p-acc__note { margin-top: 3em; font-size: 0.8125em; }
.p-acc__empty { padding: 3em 0; }
@media (max-width: 769px) {
	.p-acc { padding: 2em 0 4em; }
	.p-acc__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2em 0.75em; }
}

/* スタイル一覧（manage のスタイル台帳版）：写真はボタン */
.p-style-card__btn {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	color: inherit;
	text-align: left;
	cursor: pointer;
	transition: opacity .2s;
}
.p-style-card__btn:hover { opacity: .85; }
.p-style-card__btn .p-style-card__name,
.p-style-card__btn .p-style-card__meta { display: block; }
/* スマホはタップで :hover が残り、写真が薄いままになるので付けない（2026-11-01 児島指摘） */
@media (max-width: 769px) {
	.p-style-card a:hover,
	.p-style-card__btn:hover { opacity: 1; }
	.p-style-card a,
	.p-style-card__btn { -webkit-tap-highlight-color: transparent; }
}

/* ==========================================================================
   モーダル（大）：背景は黒の半透明・本体は白・右上の丸い×
   ========================================================================== */
.c-modal { position: fixed; inset: 0; z-index: 40; display: flex; align-items: center; justify-content: center; }
.c-modal[hidden] { display: none; }
.c-modal__bg { position: absolute; inset: 0; background: rgba(0, 0, 0, .5); }
.c-modal__body {
	position: relative;
	width: min(92%, 64em);
	max-height: 92vh;
	overflow-y: auto;
	padding: 2.5em;
	background: #fff;
	border-radius: 0.75em;
	box-shadow: 0 1em 3em rgba(0, 0, 0, .2);
}
.c-modal__close {
	position: absolute;
	top: 1em;
	right: 1em;
	width: 2.5em;
	height: 2.5em;
	border: 0;
	border-radius: 50%;
	background: var(--c-mist);
	cursor: pointer;
}
.c-modal__close::before, .c-modal__close::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 1em;
	height: 0.125em;
	background: var(--c-text);
	transform: translate(-50%, -50%) rotate(45deg);
}
.c-modal__close::after { transform: translate(-50%, -50%) rotate(-45deg); }
.c-modal__title { font-size: 1.25em; font-weight: 700; padding-right: 2.5em; }
.c-modal__desc { margin-top: 0.5em; font-size: 0.8125em; }
.c-modal__imgs {
	display: grid;
	/* 写真が1〜2枚でも3列の幅にそろえる（大きくなりすぎて予約ボタンが画面外に出ないように） */
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.75em;
	margin-top: 1.5em;
}
.c-modal__imgs img { width: 100%; aspect-ratio: 2 / 3; object-fit: cover; border-radius: 0.375em; }
.c-modal__btns { display: flex; justify-content: flex-end; margin-top: 1.5em; }
@media (max-width: 769px) {
	.c-modal { align-items: stretch; }
	.c-modal__body { width: 100%; max-height: none; border-radius: 0; padding: 4em 4% 2em; }
	.c-modal__imgs { gap: 0.375em; }
	.c-modal__btns .c-home-btn { flex: 1; }
}

/* ==========================================================================
   サロン（template-parts/salon/page.php）：店舗ごとに 写真＋店舗情報の表 → 地図
   ========================================================================== */
.p-salon { width: min(92%, 80em); margin: 0 auto; padding: 3em 0 6em; }
.p-salon-shop { margin-top: 5em; scroll-margin-top: 2em; }
/* 店舗の詳細ページでは最初の要素なので上の余白はいらない */
.p-salon > .p-salon-shop:first-child { margin-top: 0; }
.p-salon-shop__en { font-size: 0.8125em; font-weight: 500; letter-spacing: 0.25em; color: var(--c-brand-deep); }
.p-salon-shop__name { margin-top: 0.25em; font-size: 1.75em; font-weight: 700; }
.p-salon-shop__station { margin-top: 0.25em; font-size: 0.875em; }
.p-salon-shop__body {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 3em;
	margin-top: 2em;
	align-items: start;
}
.p-salon-shop__photos { display: grid; gap: 0.75em; }
.p-salon-shop__photos img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 0.5em; }
/* 店舗情報の表（行の間は表の罫線） */
.p-salon-info { margin: 0; font-size: 0.875em; }
.p-salon-info__row {
	display: grid;
	grid-template-columns: 7em minmax(0, 1fr);
	gap: 1em;
	padding: 1em 0;
	border-top: 0.0625em solid #eee;
}
.p-salon-info__row:last-child { border-bottom: 0.0625em solid #eee; }
.p-salon-info dt { font-weight: 700; white-space: nowrap; }
.p-salon-info dd { margin: 0; line-height: 1.8; }
.p-salon-info__route { margin-top: 0.5em; font-size: 0.928em; }
.p-salon-shop__map { margin-top: 2.5em; }
.p-salon-shop__map iframe { display: block; width: 100%; height: 26em; border: 0; border-radius: 0.5em; }
.p-salon-shop__btns { display: flex; flex-wrap: wrap; gap: 0.75em; margin-top: 1.5em; }
@media (max-width: 769px) {
	.p-salon { padding: 2em 0 4em; }
	.p-salon-shop { margin-top: 3.5em; }
	.p-salon-shop__name { font-size: 1.5em; }
	.p-salon-shop__body { grid-template-columns: minmax(0, 1fr); gap: 1.5em; margin-top: 1.5em; }
	.p-salon-shop__photos { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0.5em; }
	.p-salon-info__row { grid-template-columns: 5.5em minmax(0, 1fr); gap: 0.75em; }
	.p-salon-shop__map iframe { height: 18em; }
	.p-salon-shop__btns .c-home-btn { flex: 1 1 100%; }
}

/* サロン：周辺マップ（MapLibre GL＋OpenFreeMap positron） */
.p-salon-top {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 3em;
	align-items: stretch;
}
/* 右の地図は左（2店舗の紹介）と同じ高さまで伸ばす */
.p-salon-area { display: flex; flex-direction: column; }
.p-salon-intro__cards { display: grid; gap: 1.25em; margin-top: 1.5em; }
.c-salon-card {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
	gap: 1.25em;
	padding: 1em;
	border-radius: 0.75em;
	background: var(--c-mist);
}
.c-salon-card__img { width: 100%; height: 100%; min-height: 10em; object-fit: cover; border-radius: 0.5em; }
.c-salon-card__en { font-size: 0.6875em; font-weight: 500; letter-spacing: 0.2em; color: var(--c-brand-deep); }
.c-salon-card__name { margin-top: 0.125em; font-size: 1.125em; font-weight: 700; }
.c-salon-card__station { margin-top: 0.375em; font-size: 0.8125em; font-weight: 500; }
.c-salon-card__address { margin-top: 0.25em; font-size: 0.75em; line-height: 1.6; }
.c-salon-card__btns { display: flex; flex-wrap: wrap; gap: 0.5em; margin-top: 0.875em; }
.c-salon-card__btns .c-home-btn { padding: 0.625em 1em; font-size: 0.8125em; }
.c-salon-card__btns .c-home-btn--plain { background: #fff; }
.p-salon-spots { margin-top: 1em; }
.p-salon-area__filters { display: flex; flex-wrap: wrap; gap: 0.5em; margin-top: 1.5em; }
.p-salon-area__filters .p-style-filter__tab { display: inline-flex; align-items: center; gap: 0.5em; border: 0; font: inherit; font-size: 0.875em; font-weight: 500; color: var(--c-text); cursor: pointer; }
.p-salon-area__filters .p-style-filter__tab.is-current { color: #fff; }
.p-salon-area__map { flex: 1; min-height: 30em; margin-top: 1.25em; border-radius: 0.5em; overflow: hidden; background: var(--c-mist); }
.p-salon-area__lists { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1em 2.5em; margin-top: 2em; align-items: start; }
.p-salon-area__list[hidden] { display: none; }
.p-salon-area__list-title { display: flex; align-items: center; gap: 0.5em; font-size: 0.9375em; font-weight: 700; }
.p-salon-area__list ul { margin-top: 0.5em; font-size: 0.8125em; }
.p-salon-area__list li { display: flex; justify-content: space-between; gap: 1em; padding: 0.625em 0; border-top: 0.0625em solid #eee; }
.p-salon-area__list li:last-child { border-bottom: 0.0625em solid #eee; }
.p-salon-area__walk { white-space: nowrap; }
.p-salon-area__note { margin-top: 1em; font-size: 0.75em; }
/* ピン：結婚式場＝ブランド色の点、イベント会場＝白地に黒い縁の点、おでかけ＝黒い点、店舗＝黒い札 */
.c-map-dot { display: inline-block; width: 0.875em; height: 0.875em; border-radius: 50%; box-sizing: border-box; flex-shrink: 0; cursor: pointer; }
.c-map-dot[hidden] { display: none; }
/* 場所の種類の色（2026-10-31 児島指定：結婚式＝ピンク・ライブ/イベント＝ブルー・デート/おでかけ＝オレンジ）。
   見分けるための色なので、配色（黒・白＋ブルー）の例外としてこの地図の点と凡例に限って使う */
.l-home {
	--c-spot-wedding: #f2a0b8;
	--c-spot-wedding-deep: #cf5f82;
	--c-spot-event: #6da2e3;
	--c-spot-event-deep: #3b6fb8;
	--c-spot-outing: #f5a65b;
	--c-spot-outing-deep: #d07a26;
}
.c-map-dot--wedding { background: var(--c-spot-wedding); box-shadow: 0 0 0 0.125em #fff, 0 0 0 0.1875em var(--c-spot-wedding-deep); }
.c-map-dot--event { background: var(--c-spot-event); box-shadow: 0 0 0 0.125em #fff, 0 0 0 0.1875em var(--c-spot-event-deep); }
.c-map-dot--outing { background: var(--c-spot-outing); box-shadow: 0 0 0 0.125em #fff, 0 0 0 0.1875em var(--c-spot-outing-deep); }
.c-map-shop {
	position: relative;
	padding: 0.375em 0.875em;
	border: 0;
	border-radius: 2em;
	background: var(--c-text);
	color: #fff;
	font: inherit;
	font-size: 0.8125em;
	font-weight: 700;
	white-space: nowrap;
	cursor: pointer;
}
.c-map-shop::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -0.375em;
	border: 0.375em solid transparent;
	border-bottom: 0;
	border-top-color: var(--c-text);
	transform: translateX(-50%);
}
.l-home .maplibregl-popup-content { padding: 0.75em 1em; border-radius: 0.5em; font-family: 'Google Sans', 'Noto Sans JP', sans-serif; font-size: 0.8125em; line-height: 1.6; }
/* 点に乗せたときだけ出す説明。説明の上にマウスが乗って点から外れたことにならないよう、マウスを通す */
.l-home .c-map-tip { pointer-events: none; }
@media (max-width: 769px) {
	.p-salon-top { grid-template-columns: minmax(0, 1fr); gap: 3em; }
	.p-salon-area__map { flex: none; height: 26em; min-height: 0; }
	.c-salon-card { grid-template-columns: minmax(0, 1fr); }
	.c-salon-card__img { height: auto; aspect-ratio: 4 / 3; }
	.c-salon-card__btns .c-home-btn { flex: 1; }
	.p-salon-area__lists { grid-template-columns: minmax(0, 1fr); }
}

/* ==========================================================================
   着付け（template-parts/kitsuke/page.php）：料金表＋写真の2カラム（案B）
   ========================================================================== */
.p-kitsuke { width: min(92%, 80em); margin: 0 auto; padding: 3em 0 6em; }
.p-kitsuke__lead { max-width: 44em; font-size: 0.9375em; line-height: 1.9; }
.p-kitsuke__sec { margin-top: 4.5em; }
.p-kitsuke__price { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 3em; align-items: start; }
.p-kitsuke__photo { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 0.75em; }
.p-kitsuke-table { margin: 0; }
.p-kitsuke-table__row {
	display: grid;
	grid-template-columns: 7em minmax(0, 1fr) auto;
	gap: 1em;
	align-items: baseline;
	padding: 1.25em 0;
	border-top: 0.0625em solid #eee;
}
.p-kitsuke-table__row:last-child { border-bottom: 0.0625em solid #eee; }
.p-kitsuke-table__row dt { font-size: 1.125em; font-weight: 700; }
.p-kitsuke-table__ruby { display: block; font-size: 0.5625em; font-weight: 500; letter-spacing: 0.15em; color: var(--c-brand-deep); }
.p-kitsuke-table__scene { margin: 0; font-size: 0.8125em; }
.p-kitsuke-table__price { margin: 0; font-size: 1.125em; font-weight: 700; white-space: nowrap; }
.p-kitsuke__note { margin-top: 0.75em; font-size: 0.8125em; }
.p-kitsuke__note a { font-weight: 700; text-decoration: underline; }
.p-kitsuke-set {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1.5em;
	margin-top: 2em;
	padding: 1.5em 1.75em;
	border-radius: 0.75em;
	background: var(--c-mist);
}
.p-kitsuke-set__name { font-size: 1.0625em; font-weight: 700; }
.p-kitsuke-set__text { margin-top: 0.25em; font-size: 0.8125em; }
.p-kitsuke-set__price { font-size: 1.25em; font-weight: 700; white-space: nowrap; }
.p-kitsuke__gallery { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1.25em; }
.p-kitsuke__gallery img { width: 100%; aspect-ratio: 2 / 3; object-fit: cover; border-radius: 0.375em; }
.p-kitsuke-faq { margin: 0; }
.p-kitsuke-faq__row { padding: 1.25em 0; border-top: 0.0625em solid #eee; }
.p-kitsuke-faq__row:last-child { border-bottom: 0.0625em solid #eee; }
.p-kitsuke-faq dt { font-size: 0.9375em; font-weight: 700; }
.p-kitsuke-faq dd { margin: 0.5em 0 0; font-size: 0.875em; line-height: 1.8; }
.p-kitsuke-cta {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.25em;
	margin-top: 4.5em;
	padding: 3em 2em;
	border-radius: 0.75em;
	background: var(--c-mist);
	text-align: center;
}
.p-kitsuke-cta__text { font-weight: 700; }
.p-kitsuke-cta__text span { font-weight: 400; font-size: 0.875em; }
.p-kitsuke-cta__tel { font-size: 1.0625em; padding: 1em 2em; }
@media (max-width: 769px) {
	.p-kitsuke { padding: 2em 0 4em; }
	.p-kitsuke__sec { margin-top: 3.5em; }
	.p-kitsuke__price { grid-template-columns: minmax(0, 1fr); gap: 2em; }
	.p-kitsuke-table__row { grid-template-columns: 4.5em minmax(0, 1fr) auto; gap: 0.75em; }
	.p-kitsuke-set { flex-direction: column; align-items: flex-start; gap: 0.5em; }
	.p-kitsuke__gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75em; }
	.p-kitsuke-cta { padding: 2em 1.25em; }
	.p-kitsuke-cta__text span { display: block; }
	.p-kitsuke-cta__tel { width: 100%; justify-content: center; }
}

/* ==========================================================================
   よくある質問（template-parts/faq/）：分類のカード（案C）・1問・検索・分類のページ
   ========================================================================== */
.p-faq { width: min(92%, 80em); margin: 0 auto; padding: 3em 0 6em; }
.p-faq--single { max-width: 50em; margin-left: max(4%, calc((100% - 80em) / 2)); }
.p-faq__count { margin-top: 0.75em; font-size: 0.8125em; }
.c-faq-search { max-width: 40em; }
.c-faq-search__label { margin-bottom: 0.75em; font-size: 0.9375em; font-weight: 700; }
.c-faq-search__row { display: flex; }
.c-faq-search input[type="search"] {
	flex: 1;
	min-width: 0;
	padding: 0.875em 1.25em;
	border: 0;
	border-radius: 2em 0 0 2em;
	background: var(--c-mist);
	font: inherit;
	font-size: 0.9375em;
	color: var(--c-text);
	outline: none;
}
.c-faq-search button {
	padding: 0 1.75em;
	border: 0;
	border-radius: 0 2em 2em 0;
	background: var(--c-text);
	color: #fff;
	font: inherit;
	font-size: 0.875em;
	font-weight: 700;
	white-space: nowrap;
	cursor: pointer;
}
/* Q の印（質問の行・見出し） */
.c-faq-q { display: flex; gap: 0.75em; }
.c-faq-q::before { content: "Q"; flex-shrink: 0; font-family: 'Google Sans', sans-serif; font-weight: 700; color: var(--c-brand-deep); }
/* 分類のカード */
.p-faq__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25em; margin-top: 2.5em; }
.c-faq-card { display: flex; flex-direction: column; padding: 1.75em; border-radius: 0.75em; background: var(--c-mist); }
.c-faq-card__title { display: flex; justify-content: space-between; align-items: baseline; gap: 1em; font-size: 1.125em; font-weight: 700; }
.c-faq-card__title span { font-size: 0.6875em; font-weight: 500; color: var(--c-brand-deep); white-space: nowrap; }
.c-faq-card__list { flex: 1; margin-top: 1em; }
.c-faq-card__list li a { display: block; margin-top: 0.5em; padding: 0.75em 1em; border-radius: 0.5em; background: #fff; font-size: 0.875em; transition: opacity .2s; }
.c-faq-card__list li a:hover { opacity: .8; }
.c-faq-card__more { align-self: flex-start; margin-top: 1em; font-size: 0.8125em; font-weight: 500; }
.c-faq-card__more::after { content: " →"; }
/* 質問の一覧（分類・検索・関連） */
.c-faq-list { margin-top: 1em; border-bottom: 0.0625em solid #eee; }
.c-faq-list li a { display: flex; justify-content: space-between; gap: 1em; padding: 1.125em 0.25em; border-top: 0.0625em solid #eee; font-size: 0.9375em; transition: opacity .2s; }
.c-faq-list li a:hover { opacity: .7; }
.c-faq-list li a::after { content: "→"; flex-shrink: 0; }
.c-faq-back { display: block; width: max-content; margin-bottom: 1.5em; font-size: 0.8125em; }
.c-faq-back::before { content: "← "; }
.c-faq-cat { display: inline-block; padding: 0.25em 0.875em; border-radius: 2em; background: var(--c-mist); font-size: 0.75em; font-weight: 500; }
/* 1問のページ */
.p-faq__question { margin-top: 0.75em; font-size: 1.5em; font-weight: 700; line-height: 1.5; }
.p-faq__answer { display: flex; gap: 0.75em; margin-top: 1.5em; padding: 1.75em 2em; border-radius: 0.75em; background: var(--c-mist); font-size: 0.9375em; line-height: 1.9; }
.p-faq__a { flex-shrink: 0; font-family: 'Google Sans', sans-serif; font-weight: 700; }
.p-faq__answer-body > :first-child { margin-top: 0; }
.p-faq__answer-body p + p { margin-top: 1em; }
.p-faq__memo { margin-top: 1.5em; padding: 1.25em 1.5em; border-radius: 0.5em; background: #fdf0f0; font-size: 0.8125em; }
.p-faq__memo-title { font-weight: 700; margin-bottom: 0.25em; }
.p-faq__memo a { display: inline-block; margin-top: 0.5em; text-decoration: underline; }
.p-faq__related { margin-top: 3.5em; }
.p-faq__related-title { font-size: 1.0625em; font-weight: 700; }
.p-faq__search { margin-top: 3em; }
/* 分類のページ・検索結果 */
.p-faq__others { margin-top: 3em; }
.p-faq__others-title { font-size: 0.875em; font-weight: 700; }
.p-faq__others ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin-top: 0.75em; }
.p-faq__result-title { display: flex; align-items: baseline; gap: 0.75em; margin-top: 2.5em; font-size: 1.25em; font-weight: 700; }
.p-faq__result-title span { font-size: 0.6em; font-weight: 500; color: var(--c-brand-deep); }
.p-faq__empty { margin-top: 1.5em; font-size: 0.9375em; }
.p-faq__empty a { text-decoration: underline; }
.p-faq__back-bottom { margin-top: 2em; }
/* 問い合わせ（電話のみ） */
.c-faq-contact {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 2em;
	margin-top: 4em;
	padding: 2em 2.5em;
	border-radius: 0.75em;
	background: var(--c-mist);
}
.c-faq-contact__text { font-weight: 700; }
.c-faq-contact__text span { display: block; margin-top: 0.25em; font-size: 0.8125em; font-weight: 400; }
@media (max-width: 769px) {
	.p-faq { padding: 2em 0 4em; }
	.p-faq--single { margin-left: auto; }
	.p-faq__cards { grid-template-columns: minmax(0, 1fr); }
	.c-faq-card { padding: 1.25em; }
	.c-faq-search input[type="search"] { font-size: 1em; }
	.p-faq__question { font-size: 1.25em; }
	.p-faq__answer { padding: 1.25em; }
	.c-faq-contact { flex-direction: column; align-items: stretch; gap: 1em; padding: 1.75em 1.25em; text-align: center; }
	.c-faq-contact__tel { justify-content: center; }
}

/* ==========================================================================
   トップ：/02 ACCESSORY・/03 KIMONO・/04 SALON（2026-10-31 児島指定の案A）
   ========================================================================== */
.p-home-acc__lead { margin: -1.25em 0 1.5em; font-size: 0.8125em; }
.p-home-acc__list {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - 7 * 1em) / 8.4);
	gap: 1em;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding-bottom: 1em;
	scrollbar-width: thin;
}
.p-home-acc__item { scroll-snap-align: start; }
.p-home-acc__item a { display: block; transition: opacity .2s; }
.p-home-acc__item a:hover { opacity: .85; }
.p-home-acc__item img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 0.5em; }
.p-home-acc__name { display: block; margin-top: 0.5em; font-size: 0.75em; font-weight: 700; line-height: 1.5; }
.p-home-acc__name small { font-size: 0.85em; font-weight: 400; }
.p-home-acc__price { display: block; font-size: 0.75em; }
.p-home-kimono { background: var(--c-mist); }
.p-home-kimono__body { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 3em; align-items: center; }
.p-home-kimono__photo { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 0.75em; }
.p-home-kimono__lead { font-size: 0.9375em; line-height: 1.9; }
.p-home-kimono__price { margin: 1.5em 0 0; border-bottom: 0.0625em solid #dde3e8; }
.p-home-kimono__price div { display: flex; justify-content: space-between; padding: 0.875em 0.25em; border-top: 0.0625em solid #dde3e8; }
.p-home-kimono__price dt, .p-home-kimono__price dd { margin: 0; font-weight: 700; }
.p-home-kimono__note { margin-top: 0.75em; font-size: 0.8125em; }
.p-home-kimono__note a { text-decoration: underline; }
.p-home-salon__body { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 3em; align-items: stretch; }
.p-home-salon__cards { display: grid; gap: 1em; align-content: start; }
.p-home-salon__card {
	display: grid;
	grid-template-columns: 9em minmax(0, 1fr);
	gap: 1.25em;
	align-items: center;
	padding: 1em;
	border-radius: 0.75em;
	background: var(--c-mist);
}
.p-home-salon__card img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 0.5em; }
.p-home-salon__en { font-size: 0.6875em; font-weight: 500; letter-spacing: 0.2em; color: var(--c-brand-deep); }
.p-home-salon__name { font-size: 1.125em; font-weight: 700; }
.p-home-salon__station { margin-top: 0.25em; font-size: 0.8125em; }
.p-home-salon__more { display: inline-block; margin-top: 0.5em; font-size: 0.8125em; font-weight: 500; }
.p-home-salon__more::after { content: " →"; }
.p-home-salon__map { flex: none; height: auto; min-height: 24em; margin-top: 0; }
@media (max-width: 769px) {
	.p-home-acc__lead { margin-top: -0.5em; }
	.p-home-acc__list { grid-auto-columns: 38%; gap: 0.75em; }
	.p-home-kimono__body, .p-home-salon__body { grid-template-columns: minmax(0, 1fr); gap: 1.5em; }
	.p-home-salon__card { grid-template-columns: 7em minmax(0, 1fr); gap: 1em; }
	.p-home-salon__map { min-height: 0; height: 22em; }
}

/* ==========================================================================
   マガジン（template-parts/magazine/）。写真は横長 21:9・文字なし
   ========================================================================== */
.c-mag-noimg { display: block; aspect-ratio: 21 / 9; background: var(--c-mist); }
.c-mag-tag {
	display: inline-block;
	padding: 0.125em 0.875em;
	border-radius: 2em;
	background: var(--c-mist);
	font-size: 0.75em;
	font-weight: 500;
	white-space: nowrap;
}
.c-mag-card a { display: block; }
.c-mag-card__img { display: block; width: 100%; height: auto; aspect-ratio: 21 / 9; object-fit: cover; border-radius: 0.5em; }
.c-mag-card__meta { display: flex; align-items: center; gap: 0.75em; margin-top: 1em; }
.c-mag-card__meta time { font-size: 0.75em; }
.c-mag-card__title { margin-top: 0.5em; font-size: 0.9375em; font-weight: 700; line-height: 1.6; }

.p-mag { width: min(92%, 80em); margin: 0 auto; padding: 3em 0 6em; }
.p-mag-pick a { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 3em; align-items: center; }
.p-mag-pick__img { display: block; width: 100%; height: auto; aspect-ratio: 21 / 9; object-fit: cover; border-radius: 0.75em; }
.p-mag-pick__label { font-size: 0.75em; font-weight: 500; letter-spacing: 0.2em; color: var(--c-brand-deep); }
.p-mag-pick__title { margin-top: 0.75em; font-size: 1.5em; font-weight: 700; line-height: 1.5; }
.p-mag-pick__excerpt { margin-top: 1em; font-size: 0.875em; line-height: 1.9; }
.p-mag-pick time { display: block; margin-top: 1em; font-size: 0.75em; }
.p-mag-tabs { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 4.5em 0 2em; }
.p-mag-tabs a {
	padding: 0.625em 1.5em;
	border-radius: 2em;
	background: var(--c-mist);
	font-size: 0.875em;
	font-weight: 500;
	white-space: nowrap;
}
.p-mag > .p-mag-tabs:first-child { margin-top: 0; }
.p-mag-tabs a.is-active { background: var(--c-text); color: #fff; }
.p-mag-pick + .p-mag__grid { margin-top: 4.5em; }
.p-mag__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3em 1.75em; }
.p-mag__empty { padding: 3em 0; text-align: center; }

.c-mag-rank { margin-top: 6em; padding: 3.5em 0; border-radius: 1em; background: var(--c-mist); }
.c-mag-rank__inner { width: min(90%, 72em); margin: 0 auto; }
.c-mag-rank .c-home-head { margin-bottom: 2em; }
.c-mag-rank__list { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1.5em; }
.c-mag-rank__list a { position: relative; display: grid; gap: 0.625em; }
.c-mag-rank__no {
	position: absolute;
	top: -0.75em;
	left: -0.5em;
	z-index: 1;
	display: grid;
	place-items: center;
	width: 2em;
	height: 2em;
	border-radius: 50%;
	background: var(--c-text);
	color: #fff;
	font-size: 0.8125em;
	font-weight: 700;
}
.c-mag-rank__img { display: block; width: 100%; height: auto; aspect-ratio: 21 / 9; object-fit: cover; border-radius: 0.375em; }
.c-mag-rank .c-mag-noimg { background: #fff; }
.c-mag-rank__title { font-size: 0.8125em; font-weight: 500; line-height: 1.55; }

/* 記事（案1＝1列） */
.p-mag-single__photo { width: min(92%, 80em); margin: 1.5em auto 0; }
.p-mag-single__img { display: block; width: 100%; height: auto; aspect-ratio: 21 / 9; object-fit: cover; border-radius: 1em; }
.p-mag-single { width: min(92%, 46em); margin: 0 auto; padding: 2.5em 0 0; }
.p-mag-single__title { font-size: 1.75em; font-weight: 700; line-height: 1.5; }
.p-mag-single__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75em; margin-top: 1em; }
.p-mag-single__date, .p-mag-single__edit { font-size: 0.8125em; }
.p-mag-single__edit { text-decoration: underline; }
.c-mag-toc { margin-top: 2.5em; padding: 1.75em 2em; border-radius: 0.75em; background: var(--c-mist); }
.c-mag-toc__title { font-size: 0.8125em; font-weight: 700; letter-spacing: 0.15em; }
.c-mag-toc__title span { margin-left: 1em; letter-spacing: 0; }
.c-mag-toc ol { margin-top: 0.75em; padding-left: 1.5em; list-style: decimal; font-size: 0.875em; line-height: 1.7; }
.c-mag-toc li + li { margin-top: 0.375em; }
.c-mag-toc a:hover { text-decoration: underline; }
.c-mag-body { margin-top: 1em; line-height: 2; }
.c-mag-body > * + * { margin-top: 1.5em; }
.c-mag-body h2 {
	margin-top: 3.5em;
	padding: 0.875em 1.25em;
	border-radius: 0.5em;
	background: var(--c-mist);
	font-size: 1.25em;
	font-weight: 700;
	line-height: 1.5;
	scroll-margin-top: 1em;
}
.c-mag-body h3 { margin-top: 2.5em; font-size: 1.0625em; font-weight: 700; line-height: 1.6; }
.c-mag-body h2 + *, .c-mag-body h3 + * { margin-top: 1em; }
.c-mag-body ul { padding-left: 1.5em; list-style: disc; }
.c-mag-body ol { padding-left: 1.5em; list-style: decimal; }
.c-mag-body li + li { margin-top: 0.375em; }
.c-mag-body strong { background: linear-gradient(transparent 62%, var(--c-mist) 62%); }
.c-mag-body a { text-decoration: underline; }
.c-mag-body img { max-width: 100%; height: auto; border-radius: 0.5em; }
.c-mag-body p:empty { display: none; }
.c-mag-cta { margin-top: 5em; padding: 3em 2em; border-radius: 1em; background: var(--c-text); color: #fff; text-align: center; }
.c-mag-cta__en { font-size: 0.75em; letter-spacing: 0.25em; color: var(--c-brand); }
.c-mag-cta__text { margin-top: 0.75em; font-size: 1.125em; font-weight: 700; line-height: 1.7; }
.c-mag-cta__btns { display: flex; justify-content: center; gap: 0.75em; margin-top: 1.75em; }
.c-mag-cta .c-home-btn { min-width: 11em; }
.c-home-btn--light { background: #fff; color: var(--c-text); }
.p-mag-single__more { width: min(92%, 80em); margin: 0 auto; padding: 6em 0; }

@media (max-width: 769px) {
	.p-mag { padding: 2em 0 4em; }
	.p-mag-pick a { grid-template-columns: minmax(0, 1fr); gap: 1.25em; }
	.p-mag-pick__title { font-size: 1.125em; }
	.p-mag-pick__excerpt { font-size: 0.8125em; }
	.p-mag-tabs { flex-wrap: nowrap; overflow-x: auto; margin: 3em 0 1.5em; padding-bottom: 0.25em; }
	.p-mag__grid { grid-template-columns: minmax(0, 1fr); gap: 2.25em; }
	.c-mag-rank { margin-top: 4em; padding: 2.5em 0; }
	.c-mag-rank__list { grid-template-columns: minmax(0, 1fr); gap: 1em; }
	.c-mag-rank__list a { grid-template-columns: 2em 7em minmax(0, 1fr); gap: 0.875em; align-items: center; }
	.c-mag-rank__no { position: static; }
	.p-mag-single__photo { width: 100%; margin-top: 1em; }
	.p-mag-single__img { border-radius: 0; }
	.p-mag-single { padding-top: 1.75em; }
	.p-mag-single__title { font-size: 1.3125em; }
	.c-mag-toc { padding: 1.25em; }
	.c-mag-body h2 { font-size: 1.125em; padding: 0.75em 1em; scroll-margin-top: 5em; }
	.c-mag-cta { padding: 2.5em 1.25em; }
	.c-mag-cta__text { font-size: 1em; }
	.c-mag-cta__btns { display: grid; grid-template-columns: 1fr 1fr; }
	.c-mag-cta .c-home-btn { min-width: 0; }
	.p-mag-single__more { padding: 4em 0; }
}

/* ==========================================================================
   着付けの持ち物（template-parts/kitsuke/belongings.php）。2026-10-31 案A
   ========================================================================== */
.p-belong { width: min(92%, 80em); margin: 0 auto; padding: 3em 0 6em; }
.p-belong__lead { font-size: 0.9375em; line-height: 1.9; }
.p-belong__tabs { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 2.5em 0 2em; }
.p-belong__tabs a { display: grid; padding: 0.75em 1.75em; border-radius: 2em; background: var(--c-mist); text-align: center; }
.p-belong__tabs b { font-size: 0.9375em; }
.p-belong__tabs small { font-size: 0.6875em; white-space: nowrap; }
.p-belong__tabs a.is-active { background: var(--c-text); color: #fff; }
.p-belong__kind { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 4em; align-items: start; scroll-margin-top: 1em; }
.p-belong__kind + .p-belong__kind { margin-top: 4em; }
/* JS が動くときは選んだ種類だけ見せる（JS が無いときは全種類が縦に並ぶ） */
.is-tabbed .p-belong__kind { display: none; }
.is-tabbed .p-belong__kind.is-active { display: grid; margin-top: 0; }
.p-belong__head { display: flex; align-items: baseline; gap: 1em; margin-bottom: 1em; }
.p-belong__en { font-size: 0.75em; font-weight: 500; letter-spacing: 0.2em; color: var(--c-brand-deep); white-space: nowrap; }
.p-belong__head h2 { font-size: 1.375em; font-weight: 700; }
.p-belong__head small { font-size: 0.8125em; }
.p-belong__venue { margin: 2em 0 0.5em; font-size: 0.875em; font-weight: 700; }
.p-belong__photo { position: sticky; top: 2em; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 1em; }
.c-belong-list li { border-top: 0.0625em solid #eee; }
.c-belong-list li:last-child { border-bottom: 0.0625em solid #eee; }
.c-belong-list label { display: grid; grid-template-columns: 1.5em minmax(0, 1fr); gap: 0.875em; align-items: start; padding: 0.875em 0.25em; cursor: pointer; }
.c-belong-list input { position: absolute; opacity: 0; pointer-events: none; }
.c-belong-list__box { display: grid; place-items: center; width: 1.5em; height: 1.5em; border-radius: 0.375em; background: #ebebeb; }
.c-belong-list input:checked + .c-belong-list__box { background: var(--c-text); }
.c-belong-list input:checked + .c-belong-list__box::after {
	content: "";
	width: 0.375em;
	height: 0.75em;
	border: solid #fff;
	border-width: 0 0.15em 0.15em 0;
	transform: rotate(45deg) translate(-0.05em, -0.1em);
}
.c-belong-list input:focus-visible + .c-belong-list__box { outline: 0.125em solid var(--c-brand-deep); outline-offset: 0.125em; }
.c-belong-list input:checked ~ .c-belong-list__name { opacity: .45; }
.c-belong-list__name { font-size: 0.9375em; font-weight: 700; line-height: 1.5; }
.c-belong-list__opt {
	display: inline-block;
	margin-left: 0.75em;
	padding: 0.0625em 0.625em;
	border-radius: 2em;
	background: var(--c-mist);
	font-size: 0.6875em;
	font-weight: 500;
	vertical-align: 0.1em;
	white-space: nowrap;
}
.c-belong-list__note { display: block; margin-top: 0.125em; font-size: 0.8125em; font-weight: 400; }
.p-belong__common { margin-top: 4em; padding: 2.25em 2.5em; border-radius: 1em; background: var(--c-mist); }
.p-belong__common h2, .p-belong__gloss h2 { font-size: 1.25em; font-weight: 700; }
.p-belong__common ol { display: grid; gap: 1em; margin-top: 1.25em; counter-reset: belong; }
.p-belong__common li { display: grid; grid-template-columns: 2em minmax(0, 1fr); column-gap: 0.75em; counter-increment: belong; }
.p-belong__common li::before {
	content: counter(belong);
	grid-row: span 2;
	display: grid;
	place-items: center;
	width: 2em;
	height: 2em;
	border-radius: 50%;
	background: var(--c-text);
	color: #fff;
	font-size: 0.8125em;
	font-weight: 700;
}
.p-belong__common b { font-size: 0.9375em; }
.p-belong__common li span { font-size: 0.8125em; }
.p-belong__gloss { margin-top: 4em; }
.p-belong__gloss dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1em; margin-top: 1.25em; }
.p-belong__gloss dl div { padding: 1.25em 1.5em; border-radius: 0.75em; background: var(--c-mist); }
.p-belong__gloss dt { font-weight: 700; }
.p-belong__gloss dt span { margin-left: 0.75em; font-size: 0.75em; font-weight: 400; }
.p-belong__gloss dd { margin-top: 0.375em; font-size: 0.8125em; line-height: 1.8; }
.p-belong .p-kitsuke-cta { margin-top: 4em; }
.p-belong__back { margin-top: 2em; text-align: center; font-size: 0.875em; font-weight: 500; }
.p-belong__back a::after { content: " →"; }
@media (max-width: 769px) {
	.p-belong { padding: 2em 0 4em; }
	.p-belong__tabs { display: grid; grid-template-columns: 1fr 1fr; }
	.p-belong__tabs a { padding: 0.625em 1em; }
	.p-belong__kind { grid-template-columns: minmax(0, 1fr); gap: 2em; scroll-margin-top: 5em; }
	.p-belong .p-belong__photo { display: none; } /* .l-home img の display: block より強く */
	.p-belong__common { padding: 1.75em 1.25em; }
	.p-belong__gloss dl { grid-template-columns: minmax(0, 1fr); }
}

/* ==========================================================================
   メニュー・料金（template-parts/menu/page.php）。2026-10-31 案A（ヘアセットは manage のスタイル写真3枚のカード）
   ========================================================================== */
.p-menu { width: min(92%, 80em); margin: 0 auto; padding: 3em 0 6em; }
.p-menu__jump { display: flex; flex-wrap: wrap; gap: 0.5em; }
.p-menu__jump a { padding: 0.625em 1.5em; border-radius: 2em; background: var(--c-mist); font-size: 0.875em; font-weight: 500; white-space: nowrap; }
.p-menu__sec { margin-top: 5em; scroll-margin-top: 1em; }
.p-menu__head { margin-bottom: 1em; }
.p-menu__lead { margin-bottom: 2em; font-size: 0.875em; }
.p-menu__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3em 1.75em; }
/* 写真は 大1枚＋小2枚。台帳の写真の下に入っているロゴが見えにくいよう上寄せで切り取る */
.p-menu__photos { display: grid; grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; gap: 0.25em; aspect-ratio: 4 / 3; border-radius: 0.75em; overflow: hidden; }
.p-menu__photos img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; background: #f5f5f5; }
.p-menu__photos img:first-child { grid-row: span 2; }
.p-menu__top { display: flex; justify-content: space-between; align-items: baseline; gap: 1em; margin-top: 1em; }
.p-menu__name { font-size: 1.125em; font-weight: 700; }
.p-menu__price { font-size: 1.125em; font-weight: 700; white-space: nowrap; }
.p-menu__price small, .p-menu__rows dd small { font-size: 0.6875em; font-weight: 500; }
.p-menu__scene { margin-top: 0.375em; font-size: 0.75em; font-weight: 500; color: var(--c-brand-deep); }
.p-menu__text { margin-top: 0.5em; font-size: 0.8125em; line-height: 1.8; }
.p-menu__link { display: inline-block; margin-top: 0.75em; font-size: 0.8125em; font-weight: 500; }
.p-menu__link::after { content: " →"; }
.p-menu__two { display: grid; grid-template-columns: 1fr 1fr; gap: 4em; }
.p-menu__rows div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1em; align-items: baseline; padding: 1em 0.25em; border-top: 0.0625em solid #eee; }
.p-menu__rows div:last-child { border-bottom: 0.0625em solid #eee; }
.p-menu__rows dt { font-weight: 700; }
.p-menu__rows dt small { display: block; margin-top: 0.125em; font-size: 0.8125em; font-weight: 400; }
.p-menu__rows dt .p-menu__link { margin-top: 0.25em; }
.p-menu__rows dd { margin: 0; font-weight: 700; white-space: nowrap; }
.p-menu__notes { display: grid; gap: 0.375em; margin-top: 3em; padding: 1.5em 2em; border-radius: 0.75em; background: var(--c-mist); font-size: 0.8125em; }
.p-menu__notes li::before { content: "・"; }
.p-menu__cta { margin-top: 3em; }
.p-menu__cta-btns { display: flex; justify-content: center; gap: 0.75em; margin-top: 1.25em; }
.p-menu__cta-btns .c-home-btn { min-width: 11em; }
@media (max-width: 769px) {
	.p-menu { padding: 2em 0 4em; }
	.p-menu__jump { display: grid; grid-template-columns: 1fr 1fr; }
	.p-menu__jump a { text-align: center; }
	.p-menu__sec { margin-top: 3.5em; scroll-margin-top: 5em; }
	.p-menu__cards { grid-template-columns: minmax(0, 1fr); gap: 2.5em; }
	.p-menu__two { grid-template-columns: minmax(0, 1fr); gap: 0; }
	.p-menu__notes { padding: 1.25em; }
	.p-menu__cta-btns { display: grid; grid-template-columns: 1fr 1fr; }
	.p-menu__cta-btns .c-home-btn { min-width: 0; }
}

/* ==========================================================================
   淡い面のテクスチャ（2026-10-31 児島指定の案C＝雲のようなやわらかいムラ）
   淡い青グレー（--c-mist）の大きな面にだけ重ねる。ボタン・タブ・札などの小さな部品には付けない。
   画像は使わず SVG のノイズで描く（タイルは 62.5em＝1000px 四方。継ぎ目が出ないよう stitchTiles）
   ========================================================================== */
.l-home-band,
.p-home-kimono,
.p-home-news,
.c-page-head:not(.c-page-head--photo),
.p-style-more,
.c-salon-card,
.p-home-salon__card,
.p-kitsuke-set,
.p-kitsuke-cta,
.c-faq-card,
.p-faq__answer,
.c-faq-contact,
.c-mag-rank,
.c-mag-toc,
.c-mag-body h2,
.p-belong__common,
.p-belong__gloss dl div,
.p-menu__notes {
	background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%271000%27%20height%3D%271000%27%3E%3Cfilter%20id%3D%27n%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%27.003%27%20numOctaves%3D%274%27%20seed%3D%277%27%20stitchTiles%3D%27stitch%27/%3E%3CfeColorMatrix%20values%3D%270%200%200%200%20.44%20%200%200%200%200%20.54%20%200%200%200%200%20.64%20%200%200%200%20.55%20-.2%27/%3E%3C/filter%3E%3Crect%20width%3D%27100%25%27%20height%3D%27100%25%27%20filter%3D%27url%28%23n%29%27/%3E%3C/svg%3E");
	background-size: 62.5em 62.5em;
}

/* ==========================================================================
   メイク（template-parts/make/page.php）。着付けのページ（.p-kitsuke）の部品を使い、メイク専用の表だけ足す
   ========================================================================== */
.u-visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.p-make-table__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.375em 2em; align-items: baseline; padding: 1.25em 0; border-top: 0.0625em solid #eee; }
.p-make-table__row:last-child { border-bottom: 0.0625em solid #eee; }
.p-make-table__row dt { font-size: 1.125em; font-weight: 700; }
.p-make-table__what { display: block; margin-top: 0.25em; font-size: 0.6667em; font-weight: 500; color: var(--c-brand-deep); }
.p-make-table__price { margin: 0; font-size: 1.125em; font-weight: 700; white-space: nowrap; }
.p-make-table__text { grid-column: 1 / -1; margin: 0; font-size: 0.8125em; line-height: 1.8; }
.p-make-sets { overflow-x: auto; }
.p-make-sets table { width: 100%; min-width: 36em; border-collapse: collapse; font-size: 0.875em; }
.p-make-sets th, .p-make-sets td { padding: 0.875em 0.75em; border-bottom: 0.0625em solid #eee; text-align: right; white-space: nowrap; }
.p-make-sets thead th { font-weight: 700; }
.p-make-sets tbody th { text-align: left; font-weight: 700; }
.p-make-sets th small { display: block; font-size: 0.8125em; font-weight: 400; }
.p-make-sets td { font-weight: 700; }
.p-make-gallery { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0.75em; }
.p-make-gallery img { width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; object-position: center 30%; border-radius: 0.5em; background: #f5f5f5; }
.p-make-cta__btns { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5em; width: min(100%, 28em); }
.p-make-cta__btns .c-reserve-link { padding: 0.75em 1em; border-radius: 1em; text-align: left; }
@media (max-width: 769px) {
	.p-make-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.5em; }
}
