/* 熟す、醸す、ほぐす。 第9版（2026-10-25）→10-27 Gemini監修のうち採用分を反映（枠線を減らす・ヒーローの空白・見出しの改行）：温かい白・墨色・3色は差し色だけ */
:root{
  --bg:#FAF7F0; --surface:#FFFFFF; --soft:#F3F0E8; --text:#2B2A27; --muted:#6B675E; --line:#E3DED3; --plate:#F3F0E8; --wait:#F1EEE6;
  --juku:#B5453A; --kamo:#826834; --hogu:#6F6597; --leaf:#587355; /* 2026-10-28 金継ぎ：黄土・藤・葉は色みを保って濃くし、文字が読める濃さ（比4.5以上）へ。元＝#9C7C3E・#837AA6・#5E7A5A */
  --font-head:"Hiragino Mincho ProN","Yu Mincho","YuMincho","Noto Serif JP",serif;
  --font-body:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic","YuGothic","Noto Sans JP",sans-serif;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#1A1917; --surface:#22211E; --soft:#262420; --text:#ECE9E2; --muted:#ADA89C; --line:#3A3731; --plate:#F3F0E8; --wait:#2A2824;
    --juku:#DA7A6E; --kamo:#D2B477; --hogu:#B3ABD3; --leaf:#9DBB97;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#1A1917; --surface:#22211E; --soft:#262420; --text:#ECE9E2; --muted:#ADA89C; --line:#3A3731; --plate:#F3F0E8; --wait:#2A2824;
  --juku:#DA7A6E; --kamo:#D2B477; --hogu:#B3ABD3; --leaf:#9DBB97;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:2;letter-spacing:.02em;-webkit-text-size-adjust:100%}
h1,h2,h3{font-family:var(--font-head);font-weight:700;line-height:1.55;text-wrap:balance;margin:0}
p{margin:0 0 16px}
a{color:var(--text)}
img{max-width:100%}
:focus-visible{outline:2px solid var(--text);outline-offset:3px}
.juku{--c:var(--juku)} .kamo{--c:var(--kamo)} .hogu{--c:var(--hogu)}
.edge{padding-left:max(20px, env(safe-area-inset-left,0px));padding-right:max(20px, env(safe-area-inset-right,0px));overflow-x:clip}
.wrap{max-width:680px;margin:0 auto}
.wide{max-width:1040px}
.band{background:var(--soft);border-bottom:1px solid var(--line);font-size:12px;line-height:1.7;padding-block:8px;color:var(--muted)}
.band b{background:var(--wait);border:1px dashed var(--muted);padding:0 6px;font-weight:400}

/* ヒーロー：水彩画の上に3つの言葉を重ねる。画像の紙の色に合わせて、暗い画面でも明るいまま */
.hero{position:relative;background:#FAF7F0;color:#2B2A27;padding-block:44px 0;overflow:hidden}
.hero .inner{position:relative;z-index:1}
.kotoba{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:max-content 1fr;column-gap:16px;row-gap:22px;align-items:center}
.kotoba li{display:contents}
.kotoba .w{font-family:var(--font-head);font-weight:700;font-size:clamp(42px,12.5vw,84px);line-height:1;letter-spacing:.04em}
.kotoba .juku .w,.kotoba li.juku .w{color:#B5453A} .kotoba li.kamo .w{color:#9C7C3E} .kotoba li.hogu .w{color:#837AA6}
.kotoba .d{word-break:keep-all;overflow-wrap:anywhere;font-size:13.5px;line-height:1.8;color:#5F5B52;border-left:1px solid #DCD5C6;padding-left:14px}
.hero .sub{margin:28px 0 0;font-size:14.5px;line-height:1.9;color:#2B2A27}
.hero-img{display:block;margin:-32% calc(-1 * max(20px, env(safe-area-inset-left,0px))) 0;position:relative;z-index:0}
.hero-img img{display:block;width:100%;height:auto}
@media (min-width:820px){
  .hero{padding-block:0;min-height:min(78vh,720px);display:flex;align-items:center}
  .hero .inner{width:100%;padding-block:64px}
  .hero .inner>div{max-width:470px}
  .hero-img{position:absolute;inset:0;margin:0}
  .hero-img img{width:100%;height:100%;object-fit:cover;object-position:right center}
}

/* 共通の節 */
section{padding-block:56px}
.sec-label{font-size:12px;letter-spacing:.2em;color:var(--leaf);margin:0 0 10px}
section h2{font-size:clamp(24px,6vw,32px);margin:0 0 24px}
.rule{border:0;border-top:1px solid var(--line);margin:0 auto;max-width:680px}

/* 思い */
.omoi p{font-size:16px}
.kawaru{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:12px}
.kawaru li{background:var(--surface);border:0;border-radius:6px;padding:14px 18px 14px 44px;position:relative;line-height:1.8}
.kawaru li::before{content:"";position:absolute;left:18px;top:24px;width:10px;height:10px;border-radius:50%;background:var(--c,var(--leaf))}

/* 3人 */
.cards{display:grid;grid-template-columns:1fr;gap:24px}
.card{background:var(--surface);border:0;border-top:3px solid var(--c);padding:24px;display:flex;flex-direction:column;gap:12px}
.card .plate,.author .plate{background:var(--plate);border-radius:2px;padding:8px}
.card .plate img,.author .plate img{display:block;width:100%;height:auto;max-height:160px;object-fit:contain}
.job{margin:0;font-size:13px;color:var(--c);font-weight:700;letter-spacing:.06em}
.name{font-size:22px}
.card p{margin:0}
.suisen{background:var(--soft);border-left:3px solid var(--c);padding:12px 14px;font-size:14px;line-height:1.8}
.suisen small{display:block;color:var(--muted);font-size:12px}
.gets{font-size:14px;line-height:1.8;background:var(--bg);padding:10px 14px;border-radius:4px}
.gets small{display:block;font-size:12px;color:var(--muted)}
.wait{background:var(--wait);border:1px dashed var(--muted);color:var(--muted);font-size:13px;line-height:1.7;padding:8px 12px}
.btn{display:block;text-align:center;background:var(--c);color:#fff;border:0;border-radius:999px;padding:13px 18px;font:700 15px/1.5 var(--font-body);text-decoration:none;cursor:pointer;margin-top:auto}
.btn:hover{filter:brightness(1.06)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .btn{color:#1A1917}}
:root[data-theme="dark"] .btn{color:#1A1917}

/* コラム */
.cols{display:grid;grid-template-columns:1fr;gap:16px}
.col-card{display:flex;flex-direction:column;gap:6px;background:var(--surface);border:0;border-top:3px solid var(--c);padding:18px 20px;text-decoration:none;line-height:1.6}
.col-card .by{font-size:12px;color:var(--c);font-weight:700;letter-spacing:.06em}
.col-card .t{font-family:var(--font-head);font-weight:700;font-size:19px}
.col-card .more{font-size:13px;color:var(--muted)}

/* 冬の一品 */
.ippin{background:var(--surface);border:0;padding:24px}
.ippin .photo{background:var(--plate);aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:13px;margin-bottom:20px;border:1px dashed var(--muted)}
.ippin h3{font-size:24px;margin-bottom:6px}
.ippin .duo{font-size:13px;color:var(--muted);margin-bottom:16px}
.ippin h4{font-family:var(--font-head);font-size:16px;margin:20px 0 8px}

/* 約束・フッター */
.values{margin:0;padding-left:20px}
.values li{margin-bottom:8px}
footer{border-top:1px solid var(--line);padding-block:28px 48px;font-size:13px;color:var(--muted)}
footer p{margin:0 0 6px}

/* コラムのページ */
.back{font-size:14px;margin:0 0 16px}
.article h1{font-size:clamp(23px,6vw,30px);margin:8px 0 20px}
.article .by{font-size:13px;color:var(--c);font-weight:700}
.block{border-top:1px solid var(--line);padding-top:24px;margin-top:28px}
.block h2{font-size:clamp(19px,4.8vw,22px);margin:0 0 12px}
.author{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--c);padding:22px;display:flex;flex-direction:column;gap:12px}
.author p{margin:0}

@media (min-width:820px){
  .cards,.cols{grid-template-columns:repeat(3,1fr)}
}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.suisen .cite{display:block;color:var(--muted);font-size:13px;margin-top:4px}
.nw{display:inline-block}
.to-col{font-size:14px;line-height:1.7;color:var(--c);text-underline-offset:4px}

/* ---- 第12版（2026-10-28）：ヘッダー・絵・LINEボタン・開業準備中・メール登録 ---- */
.sitehead{padding-block:10px;background:var(--bg)}
.sitehead .brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--font-head);font-weight:700;font-size:15px;letter-spacing:.06em;line-height:1}
.sym{display:block;height:28px;width:28px;border-radius:6px;object-fit:contain}
.foot-sym{height:32px;width:32px;margin-bottom:10px}
.cline{display:block;width:100%;max-width:420px;height:auto;margin:0 0 18px}
.line-btn{display:flex;justify-content:center;align-items:center;margin-top:auto;min-height:36px}
.line-btn a{display:inline-block;line-height:0}
.line-btn img{height:36px;width:auto;display:block}
.hp-link{margin:0;text-align:center;font-size:13px}
.hp-link a{color:var(--muted);text-underline-offset:4px}
.soon{margin:0}
.soon span{display:inline-block;border:1.5px solid var(--kamo);border-radius:999px;color:var(--kamo);font-size:13px;font-weight:700;line-height:1.5;padding:2px 14px;letter-spacing:.06em}
.line-wait,.slot-wait{margin:0;text-align:center;font-size:13px;color:var(--muted);line-height:1.7}
.line-slot{flex-direction:column;gap:6px}
.line-slot .slot-wait{background:var(--wait);border:1px dashed var(--muted);padding:8px 12px;width:100%}
.kasanaru{text-align:center}
.kasanaru .sec-label{text-align:center}
.e-img{display:block;width:100%;max-width:520px;height:auto;margin:0 auto 12px}
.e-line{font-family:var(--font-head);font-weight:700;font-size:clamp(18px,4.8vw,22px);line-height:1.8;margin:0;text-wrap:balance}
.mailform{display:grid;gap:10px;margin:20px 0 12px;position:relative}
.mailform label{font-size:13px;color:var(--muted)}
.mailform input[type=email]{font:inherit;font-size:16px;padding:12px 14px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);width:100%}
.mailform input:disabled{opacity:.6}
.mailform button{font:700 14px/1.5 var(--font-body);border:0;border-radius:999px;padding:13px 18px;background:var(--hogu);color:#fff}
.mailform button:disabled{opacity:.5;cursor:not-allowed}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .mailform button{color:#1A1917}}
:root[data-theme="dark"] .mailform button{color:#1A1917}
.mail-wait{margin:0;font-size:13px;color:var(--muted);background:var(--wait);border:1px dashed var(--muted);padding:8px 12px}
.mail-note{font-size:13px;color:var(--muted);line-height:1.8}
.sym[src*="B_symbol"]{background:#FAF7F0}
.e-img{border-radius:20px;background:#FAF7F0;box-shadow:0 0 0 1px var(--line)}

/* ---- ヒーロー作り直し（2026-10-28・§11）：重ね絵＋一行＋紹介文。動きは site.js ---- */
.hero2{padding-block:28px 8px;background:var(--bg)}
.hero2-in{max-width:960px}
.stage{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:20px;background:#FAF7F0;box-shadow:0 0 0 1px var(--line)}
.stack{position:absolute;left:0;top:0;width:100%;aspect-ratio:16/9}
.stack .layer{position:absolute;left:0;top:0;width:100%;height:100%;display:block;max-width:none}
.circ{--k:.5;opacity:calc(.88 + .12*var(--k));filter:saturate(calc((.85 + .4*var(--k))*var(--sat,1))) brightness(calc(1 + .06*var(--k)));transform:scale(calc(1 + .03*var(--k)))}
.circ.hogu{--sat:1.6} /* 藤は素材の色が淡い（彩度0.21・赤は0.73）ので強める */
.circ.juku{transform-origin:42.2% 45.1%} .circ.kamo{transform-origin:52.8% 30.4%} .circ.hogu{transform-origin:57.1% 50.0%}
.lineart{overflow:visible}
.hero2-title{text-align:center;font-size:clamp(30px,8.4vw,64px);line-height:1.3;margin:22px 0 10px;letter-spacing:.04em;font-weight:500;white-space:nowrap}
.hero2-title .hw:last-child{margin-right:-.5em} /* 末尾の「。」の右の空きぶん、文字の見た目を絵の中心へ寄せる（2026-10-28 ぶる「センターがずれている」） */
.hw{color:var(--text)} /* 3語は墨のまま（2026-10-28 ぶる修正） */
.hero2-sub{text-align:center;font-size:16px;line-height:1.9;margin:0 auto;max-width:34em}
.desc3{list-style:none;margin:0 0 36px;padding:0;display:grid;grid-template-columns:max-content 1fr;column-gap:16px;row-gap:16px;align-items:center}
.desc3 li{display:contents}
.desc3 .w{font-family:var(--font-head);font-weight:700;font-size:26px;line-height:1;letter-spacing:.04em;color:var(--c)}
.desc3 .d{word-break:keep-all;overflow-wrap:anywhere;font-size:14px;line-height:1.8;color:var(--muted);border-left:1px solid var(--line);padding-left:14px}
.tail{padding-block:40px 0}
.tail-img{display:block;max-width:1040px;margin:0 auto}
.tail-img img{display:block;width:100%;height:auto;border-radius:20px}
@media (max-width:600px){
  .hero2{padding-block:16px 0}
  .stage{aspect-ratio:5/4}
  .stack{width:200%;left:50%;top:50%;transform:translate(-49.8%,-40%)}
}
@media (min-width:601px){
  .stage{aspect-ratio:16/7}
  .hero2-sub{max-width:none}
  .stack{width:137%;left:50%;top:50%;transform:translate(-49.5%,-40%)}
}
@media (max-width:600px){ .hero2-sub{font-size:14px;letter-spacing:0} }
.foot-note{font-size:12px}
.plate.logo{background:#FFFFFF;border:0}
.plate,.card .plate,.author .plate{background:#FFFFFF;border:0}
.e-text{max-width:30em;margin:0 auto}
.e-p{margin:0 0 20px;line-height:2}
.e-colors{list-style:none;margin:0 auto 20px;padding:0;display:table;text-align:left}
.e-colors li{position:relative;padding:2px 0 2px 22px;line-height:1.9;font-size:15px}
.e-colors li::before{content:"";position:absolute;left:2px;top:.95em;width:10px;height:10px;border-radius:50%;background:var(--c)}
.e-colors .cw{color:var(--c);font-weight:700}
.e-end{font-size:17px;margin:0}
.e-end strong{font-family:var(--font-head);font-weight:700}
.e-colors li,.e-end{text-wrap:balance} @media (max-width:600px){.e-end{font-size:15.5px}}

/* ---- 画面下の固定バー（メール登録への案内）。markupとJSは mail-bar.js が正本。左に印C・中に本文2行・右に小さいボタンと×。PC・スマホ同じ並び ---- */
.mail-bar{position:fixed;left:0;right:0;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:60;margin-inline:auto;width:fit-content;display:flex;align-items:center;gap:12px;max-width:min(calc(100% - 24px),820px);padding:7px 8px 7px 14px;background:var(--surface);border:1px solid var(--line);border-radius:999px;box-shadow:0 8px 28px rgba(43,42,39,.18);animation:mailbar-in .28s ease-out}
@keyframes mailbar-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.mail-bar[hidden]{display:none}
body{padding-bottom:var(--mail-bar-h,0px)}
.mail-bar-mark{flex:none;display:block;line-height:0}
.mail-bar-mark img{display:block;height:28px;width:auto}
.mail-bar-text{flex:1 1 auto;min-width:0;margin:0;color:var(--text);font-size:15px;line-height:1.4}
.mail-bar-text br{display:block}
.mail-bar-text strong{font-family:var(--font-head);white-space:nowrap}
.mail-bar-sub{font-size:13px;color:var(--muted);white-space:nowrap}
.mail-bar-cta{flex:none;display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 14px;border-radius:999px;background:var(--text);color:var(--bg);font-size:13px;font-weight:700;line-height:1;white-space:nowrap;text-decoration:none}
.mail-bar-cta:hover{opacity:.88}
.mail-bar-close{flex:none;position:relative;width:26px;height:26px;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:17px;line-height:1;cursor:pointer}
.mail-bar-close::before{content:"";position:absolute;left:50%;top:50%;width:44px;height:44px;transform:translate(-50%,-50%)}
.mail-bar-close:hover{background:var(--soft)}
.mail-bar-cta:focus-visible,.mail-bar-close:focus-visible{outline:2px solid var(--text);outline-offset:2px}
@media (max-width:760px){
  .mail-bar{left:8px;right:8px;bottom:calc(10px + env(safe-area-inset-bottom,0px));max-width:calc(100% - 16px);gap:6px;padding:6px 5px 6px 9px;border-radius:16px}
  .mail-bar-mark img{height:18px}
  .mail-bar-text{font-size:13.5px;letter-spacing:0}
  .mail-bar-sub{font-size:12px;letter-spacing:0}
  .mail-bar-cta{height:32px;padding:0 9px;font-size:12px}
  .mail-bar-close{width:20px;height:20px;font-size:15px}
}
@media (prefers-reduced-motion:reduce){.mail-bar{animation:none}}
.e-colors .sp{display:none}
@media (max-width:600px){.e-colors .sp{display:inline}}
@media (max-width:400px){.mail-bar{gap:5px}.mail-bar-mark img{height:16px}.mail-bar-cta{padding:0 8px}}
@media (max-width:400px){
  .mail-bar{padding-right:8px}
  .mail-bar-close{position:absolute;top:-9px;right:-3px;width:18px;height:18px;font-size:13px;background:var(--surface);border:1px solid var(--line);box-shadow:0 1px 4px rgba(43,42,39,.15)}
  .mail-bar-close::before{width:28px;height:28px}
}
@media (max-width:370px){.mail-bar{left:6px;right:6px;max-width:calc(100% - 12px);gap:4px;padding-left:7px}.mail-bar-cta{padding:0 7px}}

/* ══ 金継ぎの直し（2026-10-28・ぶる「修正も実装して」）══
   文字サイズの段を役割ごとに揃え、角丸を3種（6・20・丸）にした。naoshi の自動処方のうち文字と角丸だけを採用。
   文字色を灰色へ置き換える処方は採らず、:root で3人の色を濃くした（色みは保つ）。
   地の色（#FAF7F0・#F3F0E8・#F1EEE6）は、地・帯・準備中の枠の役割があるので統合しない。 */
.suisen{font-size:13px}
.gets{font-size:13px;border-radius:6px}
.band{font-size:13px}
.sitehead .brand{font-size:14px}
.col-card .more{font-size:14px}
.col-card .by{font-size:14px}
.e-end{font-size:16px}
.e-colors li{font-size:16px}
.desc3 .d{font-size:16px}
.sec-label{font-size:13px}
.foot-note{font-size:13px}
.ippin h3{font-size:22px}
.mailform label{font-size:12px}
.card .plate,.author .plate{border-radius:6px}
.suisen .cite{word-break:auto-phrase}
.mail-status{margin:0;font-size:14px;color:var(--text)}
.mail-status:empty{display:none}
/* スマホの水彩画は縦長の絵の上半分が空の紙（もとヒーローの文字用）＝下の絵の部分だけ見せる（2026-10-28 ぶる「空白を詰めて」） */
@media (max-width:819px){ .tail{padding-block:16px 0} .tail-img img{aspect-ratio:880/620;object-fit:cover;object-position:50% 100%} }
.ippin .recipe{margin:0 0 20px;padding-left:1.4em}
.ippin .recipe li{margin:0 0 6px;line-height:1.9}
.ippin .photo-img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:6px;margin-bottom:20px}
