/* ============================================================
   PUPPY choux&coffee — A案「乳白の贈答室」 skin
   正本: research/SYNTHESIS.md §④A / BUILD-BRIEF.md
   乳白#FAF7F0 × 焼き色琥珀#B67B2E × 珈琲焦茶#3E2F28 / Shippori Mincho B1
   ============================================================ */

/* ===== Osmo scaling (ideal 1440) ===== */
:root{
  --size-unit:16;
  --size-container-ideal:1440;
  --size-container-min:992px;
  --size-container-max:1920px;
  --size-container:clamp(var(--size-container-min),100vw,var(--size-container-max));
  --size-font:calc(var(--size-container) / (var(--size-container-ideal) / var(--size-unit)));

  --bg:#faf7f0;            /* 乳白 */
  --bg2:#f5f2ea;           /* 生成りの二枚目 */
  --paper:#fffdf8;         /* 額縁のマット */
  --ink:#211b15;           /* 珈琲の墨 */
  --ink-60:#5f554d;
  --ink-30:rgba(33,27,21,.30);
  --hairline:rgba(33,27,21,.14);
  --line:#e7dfd2;          /* 折り目 */
  --amber:#b67b2e;         /* 焼き色琥珀(線・飾り) */
  --amber-deep:#8e5e1b;    /* 琥珀の文字色(AA) */
  --brown:#3e2f28;         /* 珈琲焦茶(ボタン) */
  --brown-deep:#2e211b;

  --mincho:"YakuHanMP","Shippori Mincho B1",serif;
  --en:"Cormorant Garamond",serif;
  --sans:"YakuHanJP","Noto Sans JP",sans-serif;

  --ease-wrap:cubic-bezier(.16,1,.3,1);
  --sink:.55s var(--ease-wrap);
  --hd-h:4.6rem;
}
@media screen and (max-width:991px){:root{--size-container-ideal:834;--size-container-min:768px;--size-container-max:991px}}
@media screen and (max-width:767px){:root{--size-container-ideal:550;--size-container-min:480px;--size-container-max:767px}}
@media screen and (max-width:479px){:root{--size-container-ideal:390;--size-container-min:320px;--size-container-max:479px}}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{font-size:var(--size-font);scroll-behavior:auto}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{
  background:var(--bg);color:var(--ink);
  font-family:var(--sans);font-weight:400;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  font-feature-settings:"palt" 1;
  overflow-x:hidden;
}
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(115deg,rgba(255,255,255,.9) 0%,rgba(255,255,255,0) 36%,rgba(182,123,46,.04) 74%,rgba(182,123,46,.08) 100%)}
::selection{background:var(--brown);color:var(--bg)}
img,video{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
main{position:relative;z-index:1}
section{scroll-margin-top:calc(var(--hd-h) + 1rem)}

/* 紙の粒子 (feTurbulence) */
.grain{position:fixed;inset:0;pointer-events:none;z-index:64;opacity:.042;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E")}

/* 行マスク (罠7: padding-bottomでディセンダ切れ回避) */
.lm{display:block;overflow:hidden;padding-bottom:.14em;margin-bottom:-.14em}
.lm-in{display:inline-block;will-change:transform}

/* ===== header (不透明・罠2) ===== */
.hd{position:fixed;top:0;left:0;right:0;z-index:60;background:var(--bg);border-bottom:1px solid var(--hairline)}
.hd__row{display:flex;justify-content:space-between;align-items:center;padding:1.15rem 3rem;gap:2rem}
.hd__brand{display:flex;align-items:baseline;gap:.9rem;white-space:nowrap}
.hd__brand b{font-family:var(--en);font-weight:500;font-size:1.16rem;letter-spacing:.32em}
.hd__brand span{font-family:var(--en);font-style:italic;font-size:.84rem;letter-spacing:.08em;color:var(--ink-60)}
.hd__nav{display:flex;align-items:center;gap:1.9rem;font-size:.7rem;letter-spacing:.24em;color:var(--ink-60);overflow-x:auto;scrollbar-width:none}
.hd__nav::-webkit-scrollbar{display:none}
.hd__nav a{white-space:nowrap;padding:.35rem 0;border-bottom:1px solid transparent;transition:color .35s,border-color .35s}
.hd__nav a:hover{color:var(--ink);border-color:var(--amber)}
.hd__cartbtn{position:relative;display:inline-flex;align-items:center;gap:.7rem;color:var(--ink);
  font-size:.7rem;letter-spacing:.26em;padding:.55rem .2rem .55rem .9rem;white-space:nowrap}
.hd__cartbtn svg{width:1.25rem;height:1.25rem;stroke:var(--ink);fill:none;stroke-width:1.3}
.hd__count{min-width:1.15rem;height:1.15rem;padding:0 .28rem;border-radius:.6rem;background:var(--amber);color:#fff;
  font-family:var(--en);font-size:.72rem;font-weight:500;display:grid;place-items:center;transform:scale(0);transition:transform .3s var(--ease-wrap)}
.hd__count.on{transform:scale(1)}

/* ===== 章ラベル・見出し ===== */
.sec{position:relative;padding:9rem 3rem}
.sec__label{display:flex;align-items:center;gap:1.2rem;margin-bottom:4.2rem;font-size:.72rem;letter-spacing:.4em;color:var(--ink-60)}
.sec__label::after{content:"";flex:0 0 4rem;height:1px;background:var(--ink-30)}
.sec__label .en{font-family:var(--en);font-style:italic;font-size:.92rem;letter-spacing:.1em}
.h2{font-family:var(--mincho);font-weight:500;font-size:2.85rem;line-height:1.72;letter-spacing:.13em}
.note{font-size:.74rem;letter-spacing:.16em;line-height:2.2;color:var(--ink-60)}

/* ===== buttons ===== */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.8rem;
  background:var(--brown);color:var(--bg);border:1px solid var(--brown);
  padding:1.18rem 2.7rem;font-family:var(--sans);font-weight:500;font-size:.8rem;letter-spacing:.3em;text-indent:.3em;
  overflow:hidden;transition:color .45s var(--ease-wrap);will-change:transform}
.btn::before{content:"";position:absolute;inset:0;background:var(--amber);transform:translateY(101%);transition:transform var(--sink)}
.btn>*{position:relative;z-index:2}
.btn:hover::before{transform:translateY(0)}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--ink-30)}
.btn--ghost::before{background:var(--brown)}
.btn--ghost:hover{color:var(--bg)}
.tlink{display:inline-block;font-size:.74rem;letter-spacing:.28em;color:var(--ink-60);
  border-bottom:1px solid var(--ink-30);padding-bottom:.4rem;transition:color .4s,border-color .4s;cursor:pointer}
.tlink:hover{color:var(--amber-deep);border-color:var(--amber-deep)}

/* ===== hero ===== */
.hero{position:relative;min-height:100svh;padding:calc(var(--hd-h) + 3.2rem) 0 2.4rem 3rem;overflow:hidden;contain:paint;
  display:grid;grid-template-columns:.9fr 1.1fr;gap:2rem;align-items:center}
.hero::after{content:"";position:absolute;top:0;right:0;bottom:0;width:56%;pointer-events:none;z-index:1;
  background:linear-gradient(150deg,rgba(244,231,207,0) 4%,rgba(240,222,188,.34) 52%,rgba(232,208,163,.46) 100%)}
.fold-v{position:absolute;top:0;bottom:0;left:44%;width:1px;background:var(--line);transform-origin:top}
.fold-h{position:absolute;left:0;right:0;top:76%;height:1px;background:var(--line);transform-origin:left}
.hero__label{display:flex;align-items:center;gap:1.2rem;font-size:.72rem;letter-spacing:.42em;color:var(--ink-60);margin-bottom:2.6rem}
.hero__label::before{content:"";width:2.6rem;height:1px;background:var(--amber)}
.hero__label .en{font-family:var(--en);font-style:italic;letter-spacing:.12em;font-size:.9rem}
.hero__title{font-family:var(--mincho);font-weight:500;font-size:4.5rem;line-height:1.5;letter-spacing:.12em}
.hero__lede{margin-top:2.4rem;max-width:30em;font-size:.9rem;line-height:2.35;letter-spacing:.12em;color:var(--ink-60)}
.hero__cta{display:flex;align-items:center;gap:2.2rem;margin-top:3rem;flex-wrap:wrap}
.hero__note{display:flex;align-items:baseline;gap:1.4rem;margin-top:2.8rem;font-size:.72rem;letter-spacing:.26em;color:var(--ink-60)}
.hero__note .num{font-family:var(--en);font-style:italic;font-size:1.05rem;letter-spacing:.1em;color:var(--ink)}
.hero__tate{position:absolute;right:2.5rem;top:8.9rem;writing-mode:vertical-rl;z-index:5;
  font-family:var(--mincho);font-size:.84rem;letter-spacing:.5em;color:var(--ink-60)}
.hero__scroll{position:absolute;right:3rem;bottom:2.2rem;display:flex;align-items:center;gap:1rem;font-size:.68rem;letter-spacing:.34em;color:var(--ink-60)}
.hero__scroll i{display:block;width:1px;height:3.2rem;background:var(--ink-30)}

/* 乳白の額縁 */
.frame{background:var(--paper);border:1px solid var(--line);padding:1.15rem;
  box-shadow:0 34px 70px -34px rgba(62,47,40,.22)}
.frame__inner{position:relative;overflow:hidden}
.frame__inner img{width:100%;height:100%;object-fit:cover}
.hero__art{position:relative;z-index:2;justify-self:stretch;width:100%;max-width:none}
.hero__wash{position:relative;
  -webkit-mask-image:radial-gradient(112% 106% at 50% 50%,#000 56%,rgba(0,0,0,.9) 68%,transparent 96%);
  mask-image:radial-gradient(112% 106% at 50% 50%,#000 56%,rgba(0,0,0,.9) 68%,transparent 96%)}
.hero__wash img{width:100%;transform:scale(1.06);filter:sepia(.2) saturate(1.12) brightness(1.02) contrast(.99)}
.hero__wash::after{content:"";position:absolute;inset:0;background:#f2e5c9;mix-blend-mode:multiply}
.hero__cap{display:flex;justify-content:space-between;align-items:baseline;margin-top:.2rem;padding-right:3rem;
  font-size:.68rem;letter-spacing:.24em;color:var(--ink-60)}
.hero__cap .en{font-family:var(--en);font-style:italic;letter-spacing:.08em}

/* ===== 一 口上 ===== */
.kojo__grid{display:grid;grid-template-columns:1.05fr 1fr;gap:5rem;align-items:start;max-width:78rem}
.kojo__body{max-width:33em;font-size:.94rem;line-height:2.5;letter-spacing:.11em}
.kojo__body + .kojo__body{margin-top:2rem}
.kojo__stats{display:flex;gap:3.2rem;margin-top:4rem;border-top:1px solid var(--hairline);padding-top:2rem;max-width:34em}
.kojo__stat .num{font-family:var(--en);font-size:1.95rem;letter-spacing:.04em;display:block}
.kojo__stat .num i{font-style:italic;font-size:1rem;color:var(--ink-60);margin-left:.25rem}
.kojo__stat .lbl{font-size:.66rem;letter-spacing:.22em;color:var(--ink-60);display:block;margin-top:.6rem}

/* ===== 二 断面 (主役シズル映像) ===== */
.danmen{position:relative;height:130vh}
.danmen__stage{position:sticky;top:0;height:100svh;overflow:hidden}
.danmen__stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.danmen__scrim{position:absolute;inset:0;background:linear-gradient(100deg,rgba(250,247,240,.96) 0%,rgba(250,247,240,.72) 30%,rgba(250,247,240,.18) 55%,rgba(250,247,240,0) 72%)}
.danmen__copy{position:absolute;left:3rem;top:50%;transform:translateY(-50%);z-index:3;max-width:44rem}
.danmen__copy .h2{font-size:3.4rem}
.danmen__sub{margin-top:2.2rem;max-width:27em;font-size:.88rem;line-height:2.4;letter-spacing:.12em;color:var(--ink)}
.danmen__cap{position:absolute;right:3rem;bottom:2.4rem;z-index:3;font-size:.68rem;letter-spacing:.3em;color:var(--ink-60);
  background:rgba(250,247,240,.82);padding:.7rem 1.2rem}

/* ===== 三 お包み(品書き) ===== */
.hako__list{border-top:1px solid var(--hairline);max-width:86rem}
.hako__row{position:relative;display:grid;grid-template-columns:4.6rem 9rem minmax(15rem,.72fr) 1.2fr auto;align-items:center;gap:2.4rem;
  padding:2.5rem 1.2rem;border-bottom:1px solid var(--hairline);transition:background var(--sink)}
.hako__row:hover{background:var(--bg2)}
.hako__no{font-family:var(--en);font-style:italic;font-size:.95rem;letter-spacing:.1em;color:var(--ink-60)}
.hako__ph{width:9rem}
.hako__ph .frame{padding:.55rem;box-shadow:0 16px 34px -18px rgba(62,47,40,.25)}
.hako__ph .frame__inner{aspect-ratio:4/3}
.hako__name{font-family:var(--mincho);font-weight:500;font-size:1.9rem;letter-spacing:.2em;white-space:nowrap}
.hako__name small{display:block;font-family:var(--sans);font-weight:500;font-size:.64rem;letter-spacing:.3em;color:var(--amber-deep);margin-top:.85rem}
.hako__desc{font-size:.8rem;line-height:2.1;letter-spacing:.1em;color:var(--ink-60);max-width:30em}
.hako__buy{display:flex;flex-direction:column;align-items:flex-end;gap:1.1rem;justify-self:end}
.hako__price{font-family:var(--en);font-size:1.5rem;letter-spacing:.06em;white-space:nowrap}
.hako__price i{font-style:italic;font-size:.85rem;color:var(--ink-60);margin-left:.5rem}
.hako__actions{display:flex;align-items:center;gap:1.6rem}
.hako__actions .btn{padding:.95rem 1.9rem;font-size:.72rem}
.hako__foot{margin-top:2.6rem;max-width:86rem;display:flex;justify-content:space-between;gap:2rem;font-size:.72rem;letter-spacing:.2em;line-height:2.1;color:var(--ink-60)}

/* ペアリングの上置き */
.hako__pair{margin-top:4.6rem;max-width:86rem;background:var(--bg2);border:1px solid var(--line);
  display:grid;grid-template-columns:1fr auto;gap:2.5rem;align-items:center;padding:2.6rem 2.8rem}
.hako__pair-kind{font-size:.66rem;letter-spacing:.4em;color:var(--amber-deep);display:block;margin-bottom:1.2rem}
.hako__pair-name{font-family:var(--mincho);font-weight:500;font-size:1.6rem;letter-spacing:.18em;line-height:1.9}
.hako__pair-tx{margin-top:1.1rem;font-size:.8rem;line-height:2.2;letter-spacing:.1em;color:var(--ink-60);max-width:44em}
.hako__pair-buy{display:flex;flex-direction:column;align-items:flex-end;gap:1.2rem}

/* ===== 四 十六の色 ===== */
.irodori{background:var(--bg2)}
.irodori__strip{display:grid;grid-template-columns:repeat(8,1fr);max-width:78rem;border:1px solid var(--line);background:var(--paper);padding:.55rem;gap:.55rem}
.irodori__sw{display:block;min-width:0}
.irodori__sw i{display:block;height:2.6rem}
.irodori__sw b{display:block;margin-top:.5rem;font-family:var(--sans);font-weight:500;font-size:.6rem;letter-spacing:.1em;
  color:var(--ink-60);text-align:center;white-space:nowrap}
.irodori__stripcap{max-width:78rem;display:flex;justify-content:space-between;align-items:baseline;margin-top:1.1rem;margin-bottom:4rem;
  font-size:.68rem;letter-spacing:.24em;color:var(--ink-60)}
.irodori__stripcap .en{font-family:var(--en);font-style:italic;letter-spacing:.08em}
.irodori__list{max-width:78rem;columns:2;column-gap:5rem;border-top:1px solid var(--hairline)}
.irodori__item{display:grid;grid-template-columns:3.4rem 1fr auto;align-items:baseline;gap:1.2rem;
  padding:1.5rem .4rem;border-bottom:1px solid var(--hairline);break-inside:avoid}
.irodori__no{font-family:var(--en);font-style:italic;font-size:.82rem;color:var(--ink-30)}
.irodori__nm{font-family:var(--mincho);font-weight:500;font-size:1.12rem;letter-spacing:.2em}
.irodori__nm small{font-family:var(--sans);font-weight:500;font-size:.6rem;letter-spacing:.26em;color:var(--amber-deep);margin-left:1rem;white-space:nowrap}
.irodori__kcal{font-family:var(--en);font-style:italic;font-size:.85rem;letter-spacing:.06em;color:var(--ink-60);white-space:nowrap}
.irodori__note{margin-top:2.8rem;max-width:78rem;display:flex;justify-content:space-between;gap:2.5rem;font-size:.72rem;letter-spacing:.18em;line-height:2.2;color:var(--ink-60)}

/* ===== 五 包み (wrap映像) ===== */
.tsutsumi__grid{display:grid;grid-template-columns:1fr 44rem;gap:5.5rem;align-items:center;max-width:86rem}
.tsutsumi__art .frame__inner{aspect-ratio:16/9}
.tsutsumi__art video{width:100%;height:100%;object-fit:cover}
.tsutsumi__tx{max-width:30em;font-size:.92rem;line-height:2.5;letter-spacing:.11em;margin-top:2.2rem}
.tsutsumi__note{margin-top:2.2rem;border-top:1px solid var(--hairline);padding-top:1.6rem}
/* 実物の白箱(映像=演出との役割分離) */
.tsutsumi__real{display:grid;grid-template-columns:10rem 1fr;gap:1.7rem;align-items:center;margin-top:2.6rem;max-width:30em}
.tsutsumi__real-ph{padding:.55rem;box-shadow:0 16px 34px -18px rgba(62,47,40,.25)}
.tsutsumi__real-ph .frame__inner{aspect-ratio:1/1}
.tsutsumi__real-tx b{display:block;font-family:var(--mincho);font-weight:500;font-size:1rem;letter-spacing:.14em;line-height:1.9}
.tsutsumi__real-tx span{display:block;margin-top:.7rem;font-size:.72rem;line-height:2;letter-spacing:.08em;color:var(--ink-60)}
.tsutsumi__vcap{display:flex;justify-content:space-between;align-items:baseline;margin-top:1rem;
  font-size:.64rem;letter-spacing:.24em;color:var(--ink-60)}
.tsutsumi__vcap .en{font-family:var(--en);font-style:italic;letter-spacing:.08em}

/* ===== 六 三つの食べかた (sticky儀式) ===== */
.rit{position:relative;height:300vh}
.rit__stage{position:sticky;top:0;height:100svh;display:grid;grid-template-columns:1fr 1.15fr;gap:4rem;align-items:center;
  padding:calc(var(--hd-h) + 1.5rem) 3rem 3rem;overflow:hidden}
.rit__art{position:relative;justify-self:end;width:100%;max-width:34rem}
.rit__art .frame__inner{aspect-ratio:4/5}
.rit__ph{position:absolute;inset:0;opacity:0}
.rit__ph:first-child{position:relative;opacity:1}
.rit__ph img{width:100%;height:100%;object-fit:cover}
.rit__cap{margin-top:1rem;font-size:.66rem;letter-spacing:.28em;color:var(--ink-60);text-align:right;min-height:1.2em}
.rit__steps{max-width:36rem}
.rit__step{display:grid;grid-template-columns:4.4rem 1fr;gap:1.8rem;border-top:1px solid var(--hairline);padding:1.9rem .3rem;transition:opacity .45s}
.rit__step:last-child{border-bottom:1px solid var(--hairline)}
.rit__num{font-family:var(--en);font-style:italic;font-size:1rem;color:var(--ink-30);transition:color .45s}
.rit__nm{font-family:var(--mincho);font-weight:500;font-size:1.32rem;letter-spacing:.24em}
.rit__nm small{font-family:var(--sans);font-weight:500;font-size:.62rem;letter-spacing:.26em;color:var(--amber-deep);margin-left:1.1rem}
.rit__tx{margin-top:.9rem;font-size:.82rem;line-height:2.2;letter-spacing:.1em;color:var(--ink-60);max-width:30em}
.rit__step{opacity:.38}
.rit__step.on{opacity:1}
.rit__step.on .rit__num{color:var(--amber-deep)}
.rit__tail{margin-top:2.2rem;font-family:var(--mincho);font-size:1rem;letter-spacing:.22em}
.rit__h2{font-size:2.3rem;margin-bottom:2.2rem}

/* ===== 七 くらべる (before/after) ===== */
.hikaku__ba{position:relative;max-width:66rem;aspect-ratio:16/9;overflow:hidden;border:1px solid var(--line);
  background:var(--paper);cursor:ew-resize;touch-action:none}
.hikaku__face{position:absolute;inset:0}
.hikaku__face img{width:100%;height:100%;object-fit:cover}
.hikaku__face--after{clip-path:inset(0 0 0 var(--split,50%))}
.hikaku__lb{position:absolute;top:1.4rem;font-size:.66rem;letter-spacing:.3em;color:var(--ink);background:rgba(250,247,240,.88);padding:.6rem 1.1rem}
.hikaku__lb--b{left:1.4rem}
.hikaku__lb--a{right:1.4rem;color:var(--amber-deep)}
.hikaku__handle{position:absolute;top:0;bottom:0;left:var(--split,50%);width:1px;background:var(--paper);box-shadow:0 0 0 1px var(--ink-30)}
.hikaku__knob{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:3rem;height:3rem;border-radius:50%;
  background:var(--paper);border:1px solid var(--ink-30);display:grid;place-items:center;font-size:.8rem;color:var(--ink-60)}
.hikaku__note{margin-top:1.6rem;max-width:66rem;display:flex;justify-content:space-between;gap:2rem}

/* ===== 八 幕間 (cream-fold: 厨房のカスタード折り込み・被写体を見せる) ===== */
.creamband{position:relative;min-height:64vh;display:grid;place-items:center;text-align:center;overflow:hidden;padding:8rem 3rem}
.creamband video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;filter:saturate(.96) brightness(1.05)}
.creamband::after{content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse 62% 56% at 50% 46%,rgba(250,247,240,.72) 0%,rgba(250,247,240,.28) 58%,rgba(250,247,240,0) 78%),
             linear-gradient(180deg,rgba(250,247,240,.9) 0%,rgba(250,247,240,0) 22%,rgba(250,247,240,0) 78%,rgba(250,247,240,.9) 100%)}
.creamband__poem{position:relative;z-index:2;font-family:var(--mincho);font-weight:500;font-size:2.1rem;line-height:2.15;letter-spacing:.2em}
.creamband__en{position:relative;z-index:2;margin-top:2rem;font-family:var(--en);font-style:italic;font-size:.95rem;letter-spacing:.12em;color:var(--ink-60)}
.creamband__cap{position:absolute;right:3rem;bottom:2rem;z-index:2;font-size:.64rem;letter-spacing:.28em;color:var(--ink-60);
  background:rgba(250,247,240,.82);padding:.6rem 1.1rem}

/* ===== 九 開封の手元 (静止+パララックス) ===== */
.unbox{position:relative;padding:9rem 3rem}
.unbox__grid{display:grid;grid-template-columns:1fr 1fr;gap:0;max-width:86rem;align-items:stretch}
.unbox__art{position:relative;overflow:hidden;border:1px solid var(--line)}
.unbox__art img{width:100%;height:112%;object-fit:cover;transform:translateY(-5%)}
.unbox__card{background:var(--paper);border:1px solid var(--line);border-left:0;padding:4.5rem 4rem;display:flex;flex-direction:column;justify-content:center}
.unbox__poem{font-family:var(--mincho);font-weight:500;font-size:2.3rem;line-height:1.95;letter-spacing:.16em}
.unbox__tx{margin-top:2.2rem;max-width:26em;font-size:.88rem;line-height:2.45;letter-spacing:.11em;color:var(--ink-60)}
.unbox__cap{margin-top:auto;padding-top:2.5rem;font-size:.66rem;letter-spacing:.26em;color:var(--ink-60)}
/* 開封のあと — kid-bite(感情の山場・人の気配) */
.unbox__reel{max-width:86rem;margin-top:4rem}
.unbox__reel-media{position:relative;overflow:hidden;border:1px solid var(--line);background:var(--paper);aspect-ratio:21/9}
.unbox__reel-media video{width:100%;height:100%;object-fit:cover;object-position:52% 32%}
.unbox__reel-cap{display:flex;justify-content:space-between;align-items:baseline;margin-top:1.1rem;
  font-size:.68rem;letter-spacing:.26em;color:var(--ink-60)}
.unbox__reel-cap .en{font-family:var(--en);font-style:italic;letter-spacing:.08em}

/* ===== 十 進物の設え ===== */
.shitsurae{background:var(--bg2);padding-bottom:5.5rem} /* おことわり→九章の空走を圧縮 */
.duo{padding-top:6rem}
.shitsurae__rows{max-width:78rem;border-top:1px solid var(--hairline)}
.shitsurae__row{display:grid;grid-template-columns:4.4rem 13rem 1fr;gap:2.4rem;align-items:baseline;padding:2.4rem .4rem;border-bottom:1px solid var(--hairline)}
.shitsurae__no{font-family:var(--en);font-style:italic;font-size:.95rem;color:var(--ink-60)}
.shitsurae__nm{font-family:var(--mincho);font-weight:500;font-size:1.35rem;letter-spacing:.28em}
.shitsurae__tx{font-size:.84rem;line-height:2.3;letter-spacing:.1em;color:var(--ink-60);max-width:36em}
.shitsurae__honest{margin-top:4rem;max-width:78rem;border:1px solid var(--amber);background:var(--paper);padding:2.6rem 2.8rem}
.shitsurae__honest-t{display:flex;align-items:center;gap:1.2rem;font-family:var(--mincho);font-weight:500;font-size:1.05rem;letter-spacing:.3em;margin-bottom:1.6rem}
.shitsurae__honest-t::before{content:"";width:2.2rem;height:1px;background:var(--amber)}
.shitsurae__honest ul{list-style:none}
.shitsurae__honest li{position:relative;padding:.55rem 0 .55rem 1.6rem;font-size:.8rem;line-height:2;letter-spacing:.1em;color:var(--ink-60)}
.shitsurae__honest li::before{content:"—";position:absolute;left:0;color:var(--amber-deep)}

/* ===== 十一 添えの二品 ===== */
.duo__row{display:grid;grid-template-columns:34rem 1fr;gap:6rem;align-items:center;max-width:86rem;margin-bottom:8rem}
.duo__row:last-child{margin-bottom:0}
.duo__row--rev{grid-template-columns:1fr 34rem}
.duo__row--rev .duo__art{order:2}
.duo__art{perspective:60rem}
.duo__art .frame__inner{aspect-ratio:1/1}
.duo__kind{font-size:.68rem;letter-spacing:.4em;color:var(--amber-deep);display:block;margin-bottom:1.7rem}
.duo__nm{font-family:var(--mincho);font-weight:500;font-size:2.15rem;letter-spacing:.16em;line-height:1.7}
.duo__tx{margin-top:1.9rem;font-size:.88rem;line-height:2.4;letter-spacing:.1em;color:var(--ink-60);max-width:30em}
.duo__spec{margin-top:2.2rem;border-top:1px solid var(--hairline);max-width:30em}
.duo__spec div{display:flex;justify-content:space-between;align-items:baseline;padding:1rem .2rem;border-bottom:1px solid var(--hairline);font-size:.8rem;letter-spacing:.12em}
.duo__spec dt{color:var(--ink-60);letter-spacing:.26em}
.duo__spec dd .en{font-family:var(--en);font-size:1.05rem;letter-spacing:.05em}
.duo__buy{display:flex;align-items:center;gap:2.2rem;margin-top:2.6rem;flex-wrap:wrap}

/* ===== 十二 店 ===== */
.visit__grid{display:grid;grid-template-columns:1.1fr 1fr;gap:6rem;max-width:82rem;align-items:start}
.visit__poem{font-family:var(--mincho);font-weight:500;font-size:1.55rem;line-height:2.35;letter-spacing:.2em}
.visit__poem small{display:block;font-family:var(--sans);font-weight:400;font-size:.8rem;letter-spacing:.14em;line-height:2.3;color:var(--ink-60);margin-top:2rem;max-width:27em}
.visit__ph{margin-top:3rem;max-width:26rem}
.visit__ph .frame__inner{aspect-ratio:4/3}
.visit__addr{font-size:.9rem;line-height:2.4;letter-spacing:.12em}
.visit__addr dt{font-size:.66rem;letter-spacing:.34em;color:var(--ink-60);margin-top:2.1rem}
.visit__addr dt:first-child{margin-top:0}
.visit__addr .en{font-family:var(--en);font-size:1.05rem;letter-spacing:.04em}
.visit__stars{display:flex;gap:2.8rem;margin-top:2.4rem;border-top:1px solid var(--hairline);padding-top:1.9rem}
.visit__star .num{font-family:var(--en);font-size:1.6rem;display:block}
.visit__star .num i{font-style:italic;font-size:.9rem;color:var(--ink-60);margin-left:.2rem}
.visit__star .lbl{font-size:.62rem;letter-spacing:.2em;color:var(--ink-60);display:block;margin-top:.5rem}
.visit__links{margin-top:2.8rem;display:flex;gap:2.4rem;flex-wrap:wrap}
/* 右カラムの締め: 略地図 + 店主のライブ感(Instagram) */
.visit__cards{display:grid;grid-template-columns:1fr 1fr;gap:1.8rem;margin-top:3rem;align-items:start}
.visit__map{margin:0}
.visit__map-frame{padding:.6rem}
.visit__map-cap{display:block;margin-top:.8rem;font-size:.62rem;letter-spacing:.2em;color:var(--ink-60)}
.visit__ig{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);padding:.6rem;
  box-shadow:0 24px 50px -30px rgba(62,47,40,.2);transition:border-color .4s,transform .5s var(--ease-wrap)}
.visit__ig:hover{border-color:var(--amber);transform:translateY(-.25rem)}
.visit__ig-ph{display:block;overflow:hidden}
.visit__ig-ph img{width:100%;aspect-ratio:16/10;object-fit:cover;filter:sepia(.14) saturate(1.06) brightness(1.01)}
.visit__ig-tx{display:block;padding:1.2rem .6rem .7rem}
.visit__ig-tx b{display:block;font-family:var(--mincho);font-weight:500;font-size:.98rem;letter-spacing:.12em;line-height:1.8;color:var(--ink)}
.visit__ig-tx span{display:block;margin-top:.65rem;font-size:.66rem;line-height:1.95;letter-spacing:.06em;color:var(--ink-60)}
.visit__ig-tx i{display:block;margin-top:.8rem;font-family:var(--en);font-style:italic;font-size:.88rem;letter-spacing:.05em;color:var(--amber-deep)}

/* ===== footer ===== */
.ft{position:relative;margin-top:5rem;padding:5.5rem 3rem 10.5rem;border-top:1px solid var(--hairline)} /* 購入バー分の逃げ */
.ft__logo{width:5.2rem;margin-bottom:1.9rem;transform-origin:50% 80%}
.ft__logo img{width:100%;filter:brightness(0) saturate(100%) invert(42%) sepia(29%) saturate(760%) hue-rotate(357deg) brightness(.96)}
.ft__brand{font-family:var(--en);font-weight:500;font-size:1.1rem;letter-spacing:.4em}
.ft__tag{font-size:.72rem;letter-spacing:.26em;color:var(--ink-60);margin-top:1rem}
.ft__meta{display:flex;justify-content:space-between;align-items:baseline;margin-top:3.6rem;padding-top:1.7rem;border-top:1px solid var(--hairline);
  font-size:.66rem;letter-spacing:.22em;color:var(--ink-60)}
.ft__meta .en{font-family:var(--en);font-style:italic;letter-spacing:.08em}

/* ===== カートドロワー ===== */
.cover{position:fixed;inset:0;z-index:70;background:rgba(33,27,21,.34);opacity:0;pointer-events:none;transition:opacity .5s}
.cover.on{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;bottom:0;z-index:80;width:min(30rem,94vw);background:var(--bg);border-left:1px solid var(--line);
  display:flex;flex-direction:column;transform:translateX(104%);transition:transform .65s var(--ease-wrap)}
.drawer.on{transform:translateX(0)}
.drawer__hd{display:flex;justify-content:space-between;align-items:center;padding:1.7rem 2rem;border-bottom:1px solid var(--hairline)}
.drawer__t{font-family:var(--mincho);font-weight:500;font-size:1.05rem;letter-spacing:.34em}
.drawer__t .en{font-family:var(--en);font-style:italic;font-size:.8rem;letter-spacing:.08em;color:var(--ink-60);margin-left:1rem}
.drawer__close{font-size:.7rem;letter-spacing:.26em;color:var(--ink-60);padding:.6rem;transition:color .3s}
.drawer__close:hover{color:var(--ink)}
.drawer__list{flex:1;overflow-y:auto;padding:.4rem 2rem}
.drawer__empty{padding:3.4rem 0;text-align:center;font-size:.8rem;letter-spacing:.2em;line-height:2.4;color:var(--ink-60)}
.ditem{display:grid;grid-template-columns:4.6rem 1fr auto;gap:1.4rem;align-items:center;padding:1.5rem 0;border-bottom:1px solid var(--hairline)}
.ditem__ph{width:4.6rem;height:4.6rem;background:var(--paper);border:1px solid var(--line);padding:.3rem}
.ditem__ph img{width:100%;height:100%;object-fit:cover}
.ditem__nm{font-size:.8rem;letter-spacing:.12em;line-height:1.8}
.ditem__var{display:block;font-size:.66rem;letter-spacing:.14em;color:var(--ink-60);margin-top:.25rem}
.ditem__qty{display:inline-flex;align-items:center;gap:.1rem;margin-top:.7rem;border:1px solid var(--hairline)}
.ditem__qty button{width:1.9rem;height:1.9rem;display:grid;place-items:center;font-size:.85rem;color:var(--ink-60);transition:color .3s,background .3s}
.ditem__qty button:hover{color:var(--ink);background:var(--bg2)}
.ditem__qty b{min-width:1.9rem;text-align:center;font-family:var(--en);font-weight:500;font-size:.9rem}
.ditem__right{text-align:right}
.ditem__price{font-family:var(--en);font-size:1rem;letter-spacing:.05em}
.ditem__rm{display:inline-block;margin-top:.8rem;font-size:.62rem;letter-spacing:.22em;color:var(--ink-60);border-bottom:1px solid var(--ink-30);padding-bottom:.2rem;transition:color .3s}
.ditem__rm:hover{color:#a2432f}
.drawer__ft{border-top:1px solid var(--hairline);padding:1.8rem 2rem 2rem;background:var(--bg)}
.drawer__total{display:flex;justify-content:space-between;align-items:baseline;font-size:.74rem;letter-spacing:.3em;color:var(--ink-60)}
.drawer__total b{font-family:var(--en);font-weight:500;font-size:1.7rem;letter-spacing:.04em;color:var(--ink)}
.drawer__checkout{display:flex;width:100%;margin-top:1.5rem;text-align:center}
.drawer__checkout.is-off{opacity:.35;pointer-events:none}
.drawer__note{margin-top:1.2rem;font-size:.64rem;letter-spacing:.14em;line-height:1.9;color:var(--ink-60);text-align:center}

/* ===== スティッキー購入バー ===== */
.buybar{position:fixed;left:0;right:0;bottom:0;z-index:66;background:var(--bg);border-top:1px solid var(--line);
  transform:translateY(110%);transition:transform .6s var(--ease-wrap)}
.buybar.on{transform:translateY(0)}
.buybar__in{display:flex;align-items:center;gap:1.6rem;padding:.85rem 3rem}
.buybar__t{font-size:.66rem;letter-spacing:.3em;color:var(--ink-60);white-space:nowrap}
.buybar__adds{display:flex;gap:.8rem;flex:1}
.qadd{display:inline-flex;align-items:baseline;gap:.7rem;border:1px solid var(--ink-30);padding:.72rem 1.3rem;
  font-size:.7rem;letter-spacing:.2em;white-space:nowrap;transition:border-color .3s,background .3s,color .3s}
.qadd b{font-family:var(--mincho);font-weight:500;font-size:.95rem}
.qadd .en{font-family:var(--en);font-size:.85rem;letter-spacing:.04em;color:var(--ink-60)}
.qadd:hover{border-color:var(--brown);background:var(--brown);color:var(--bg)}
.qadd:hover .en{color:var(--bg)}
.buybar__cart{display:inline-flex;align-items:baseline;gap:1rem;background:var(--brown);color:var(--bg);
  padding:.95rem 1.9rem;font-size:.7rem;letter-spacing:.26em;white-space:nowrap;transition:background .3s}
.buybar__cart:hover{background:var(--brown-deep)}
.buybar__cart b{font-family:var(--en);font-weight:500;font-size:1.05rem;letter-spacing:.04em}

/* ===== flyer (カート飛翔クローン) ===== */
.flyer{position:fixed;z-index:90;pointer-events:none;object-fit:cover;border:1px solid var(--line);background:var(--paper)}

/* ============================================================
   PDP skin (.pdp-*)
   ============================================================ */
.pdp-wrap{padding:calc(var(--hd-h) + 3.2rem) 3rem 7rem;max-width:92rem;margin:0 auto}
.pdp-crumb{display:flex;align-items:center;gap:1.1rem;font-size:.68rem;letter-spacing:.24em;color:var(--ink-60);margin-bottom:2.8rem}
.pdp-crumb a{border-bottom:1px solid var(--ink-30);padding-bottom:.2rem;transition:color .3s}
.pdp-crumb a:hover{color:var(--amber-deep)}
.pdp-root{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);gap:5.5rem;align-items:start}
.pdp-media,.pdp-info{min-width:0;max-width:100%}
.pdp-media{position:sticky;top:calc(var(--hd-h) + 1.6rem)}
.pdp-gallery-main{background:var(--paper);border:1px solid var(--line);padding:1.1rem}
.pdp-gallery-main .pdp-gallery-img{width:100%;aspect-ratio:1/1;object-fit:cover}
.pdp-gallery-thumbs{display:flex;gap:.8rem;margin-top:.9rem;flex-wrap:wrap}
.pdp-thumb{width:4.6rem;height:4.6rem;padding:.3rem;background:var(--paper);border:1px solid var(--line);opacity:.55;transition:opacity .3s,border-color .3s}
.pdp-thumb[data-active="true"]{opacity:1;border-color:var(--amber)}
.pdp-thumb-img{width:100%;height:100%;object-fit:cover}
.pdp-badge{display:inline-block;font-size:.62rem;letter-spacing:.3em;color:var(--amber-deep);border:1px solid var(--amber);padding:.5rem 1rem;margin-bottom:1.6rem}
.pdp-title{font-family:var(--mincho);font-weight:500;font-size:2.15rem;line-height:1.7;letter-spacing:.14em}
.pdp-price{display:flex;align-items:baseline;gap:1rem;margin-top:1.6rem}
.pdp-price-value{font-family:var(--en);font-size:1.85rem;letter-spacing:.05em}
.pdp-price-note{font-size:.68rem;letter-spacing:.2em;color:var(--ink-60)}
.pdp-evidence{display:flex;gap:2.6rem;margin-top:2rem;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);padding:1.4rem .2rem}
.pdp-evidence span{font-size:.64rem;letter-spacing:.18em;color:var(--ink-60)}
.pdp-evidence b{font-family:var(--en);font-weight:500;font-size:1.15rem;letter-spacing:.04em;color:var(--ink);display:block;margin-bottom:.35rem}
.pdp-options{margin-top:2.2rem}
.pdp-option{border:0;margin-top:1.4rem}
.pdp-option-name{font-size:.66rem;letter-spacing:.3em;color:var(--ink-60);margin-bottom:.9rem}
.pdp-option-values{display:flex;gap:.7rem;flex-wrap:wrap}
.pdp-option-value{position:relative;display:inline-block;border:1px solid var(--ink-30);padding:.7rem 1.4rem;font-size:.74rem;letter-spacing:.16em;cursor:pointer;transition:border-color .3s,background .3s,color .3s}
.pdp-option-value[data-checked="true"]{background:var(--brown);border-color:var(--brown);color:var(--bg)}
.pdp-option-input{position:absolute;opacity:0;pointer-events:none}
.pdp-flavors{margin-top:2.6rem;border-top:1px solid var(--hairline);padding-top:2rem}
.pdp-flavors-title{font-family:var(--mincho);font-weight:500;font-size:1rem;letter-spacing:.26em;margin-bottom:.7rem}
.pdp-flavor-list{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.2rem}
.pdp-flavor{border:1px solid var(--ink-30);padding:.62rem 1.15rem;font-size:.7rem;letter-spacing:.14em;color:var(--ink-60);transition:border-color .3s,background .3s,color .3s}
.pdp-flavor[data-selected="true"]{background:var(--amber);border-color:var(--amber);color:#fff}
.pdp-flavor-note{margin-top:1.2rem;font-size:.66rem;letter-spacing:.14em;line-height:2;color:var(--ink-60)}
.pdp-buy{display:flex;gap:1.2rem;margin-top:2.6rem;align-items:stretch}
.pdp-qty{display:inline-flex;align-items:center;border:1px solid var(--ink-30)}
.pdp-qty-minus,.pdp-qty-plus{width:3rem;align-self:stretch;display:grid;place-items:center;color:var(--ink-60);transition:background .3s,color .3s}
.pdp-qty-minus:hover,.pdp-qty-plus:hover{background:var(--bg2);color:var(--ink)}
.pdp-qty-input{width:3.2rem;border:0;background:transparent;text-align:center;font-family:var(--en);font-size:1.05rem;color:var(--ink)}
.pdp-qty-input:focus{outline:none}
.pdp-add{flex:1;display:inline-flex;align-items:center;justify-content:center;background:var(--brown);color:var(--bg);
  border:1px solid var(--brown);padding:1.15rem 1rem;font-weight:500;font-size:.8rem;letter-spacing:.3em;text-indent:.3em;transition:background .45s var(--ease-wrap),border-color .45s}
.pdp-add:hover{background:var(--amber);border-color:var(--amber)}
.pdp-desc{margin-top:2.6rem;font-size:.86rem;line-height:2.4;letter-spacing:.1em;color:var(--ink-60);max-width:36em}
.pdp-shipping{margin-top:2.6rem;border:1px solid var(--line);background:var(--bg2);padding:2rem 2.2rem}
.pdp-shipping-title{font-family:var(--mincho);font-weight:500;font-size:1rem;letter-spacing:.26em;margin-bottom:1.2rem}
.pdp-shipping-list{margin:0}
.pdp-shipping-item{display:grid;grid-template-columns:9rem 1fr;gap:1.4rem;padding:.85rem 0;border-top:1px solid var(--hairline);font-size:.78rem;line-height:2;letter-spacing:.1em}
.pdp-shipping-term{color:var(--amber-deep);letter-spacing:.2em}
.pdp-shipping-desc{color:var(--ink-60)}
.pdp-spec{margin-top:2.4rem;border-top:1px solid var(--hairline);max-width:40em}
.pdp-spec div{display:grid;grid-template-columns:9rem 1fr;gap:1.4rem;padding:1rem .2rem;border-bottom:1px solid var(--hairline);font-size:.78rem;line-height:2;letter-spacing:.1em}
.pdp-spec dt{color:var(--ink-60);letter-spacing:.24em}
.pdp-related{grid-column:1/-1;margin-top:5rem;border-top:1px solid var(--hairline);padding-top:3.4rem}
.pdp-related-title{font-family:var(--mincho);font-weight:500;font-size:1.3rem;letter-spacing:.3em;margin-bottom:2.2rem}
.pdp-related-list{list-style:none;display:flex;gap:2.2rem;overflow-x:auto;padding-bottom:1rem}
.pdp-related-item{flex:0 0 15rem}
.pdp-related-link{display:block}
.pdp-related-img{width:100%;aspect-ratio:1/1;object-fit:cover;background:var(--paper);border:1px solid var(--line);padding:.5rem;transition:border-color .3s}
.pdp-related-link:hover .pdp-related-img{border-color:var(--amber)}
.pdp-related-name{display:block;margin-top:1rem;font-size:.76rem;letter-spacing:.14em;line-height:1.9}
.pdp-related-price{display:block;margin-top:.4rem;font-family:var(--en);font-size:.92rem;letter-spacing:.05em;color:var(--ink-60)}
.pdp-error{padding:6rem 2rem;text-align:center;font-size:.85rem;letter-spacing:.2em;color:var(--ink-60)}
/* PDP用スティッキー購入バー */
.pdpbar{position:fixed;left:0;right:0;bottom:0;z-index:66;background:var(--bg);border-top:1px solid var(--line);transform:translateY(110%);transition:transform .55s var(--ease-wrap)}
.pdpbar.on{transform:translateY(0)}
.pdpbar__in{display:flex;align-items:center;gap:1.6rem;padding:.9rem 3rem}
.pdpbar__nm{font-size:.72rem;letter-spacing:.18em;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pdpbar__price{font-family:var(--en);font-size:1.1rem;letter-spacing:.04em}
.pdpbar__btn{background:var(--brown);color:var(--bg);padding:.9rem 2rem;font-size:.72rem;letter-spacing:.26em;white-space:nowrap;transition:background .3s}
.pdpbar__btn:hover{background:var(--brown-deep)}

/* ============================================================
   reduced motion
   ============================================================ */
@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important}
  .rit{height:auto}
  .rit__stage{position:static;height:auto;grid-template-columns:1fr;padding:6rem 1.4rem}
  .rit__ph{position:relative;opacity:1;margin-bottom:1rem}
  .rit__step{opacity:1}
  .danmen{height:auto}
  .danmen__stage{position:static;height:100svh}
  .drawer,.buybar,.pdpbar,.cover,.btn::before,.pdp-add::before{transition:none}
}

/* ============================================================
   tablet / SP
   ============================================================ */
@media screen and (max-width:991px){
  .hero{grid-template-columns:1fr;align-items:start;gap:2.2rem;padding:calc(var(--hd-h) + 2.6rem) 3rem 2.4rem}
  .hero::after{display:none}
  .hero__scroll{display:none}
  .hero__art{max-width:100%;justify-self:stretch}
  .hero__cap{padding-right:0}
  .hero__tate{display:none}
  .kojo__grid{grid-template-columns:1fr;gap:3rem}
  .tsutsumi__grid{grid-template-columns:1fr;gap:3rem}
  .rit__stage{grid-template-columns:1fr;gap:2rem;align-content:center}
  .rit__art{max-width:24rem;justify-self:start}
  .rit__art .frame__inner{aspect-ratio:5/4}
  .unbox__grid{grid-template-columns:1fr}
  .unbox__card{border-left:1px solid var(--line);border-top:0}
  .duo__row,.duo__row--rev{grid-template-columns:1fr;gap:3rem}
  .duo__row--rev .duo__art{order:0}
  .visit__grid{grid-template-columns:1fr;gap:3.6rem}
  .pdp-root{grid-template-columns:minmax(0,1fr);gap:3.4rem}
  .pdp-media{position:static}
}
@media screen and (max-width:767px){
  :root{--hd-h:5.7rem}
  .hd__row{padding:1rem 1.3rem .7rem;flex-wrap:wrap;row-gap:.2rem}
  .hd__brand span{display:none}
  .hd__nav{order:3;width:100%;gap:1.5rem;padding-bottom:.75rem}
  .sec{padding:6.2rem 1.3rem}
  .sec__label{margin-bottom:2.8rem}
  .h2{font-size:1.92rem;line-height:1.85}

  .hero{padding:calc(var(--hd-h) + 1.6rem) 1.3rem 4.6rem;min-height:100svh;gap:1.6rem;align-content:start}
  .fold-v{left:auto;right:2.6rem}
  .hero__label{margin-bottom:1.4rem}
  .hero__label .en{display:none}
  .hero__title{font-size:2.2rem;line-height:1.62;letter-spacing:.06em}
  .hero__cap .en{display:none}
  .hero__art{order:2;margin:0 -1.3rem;width:calc(100% + 2.6rem)}
  .hero__wash{-webkit-mask-image:radial-gradient(120% 116% at 50% 50%,#000 60%,rgba(0,0,0,.92) 72%,transparent 98%);
    mask-image:radial-gradient(120% 116% at 50% 50%,#000 60%,rgba(0,0,0,.92) 72%,transparent 98%)}
  .hero__wash img{aspect-ratio:16/10;object-fit:cover;object-position:50% 62%}
  .hero__cap{margin:.4rem 1.3rem 0}
  .hero__body{order:3}
  .hero__lede{margin-top:0;font-size:.8rem;line-height:2.15;letter-spacing:.08em}
  .hero__cta{margin-top:1.7rem;gap:1.3rem}
  .hero__cta .btn{width:100%}
  .hero__note{display:block;margin-top:1.8rem;font-size:.66rem;line-height:2.1}
  .hero__note .num{margin:0 .5rem}
  .hero__scroll{display:none}

  .kojo__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}

  /* 断面SP: 被写体を上帯に見せ、コピーは下のクリーム帯へオーバーレイ(死に余白ゼロ) */
  .danmen{height:100svh}
  .danmen__stage{height:100svh}
  .danmen__stage video{object-position:50% 30%}
  .danmen__scrim{background:linear-gradient(180deg,rgba(250,247,240,.34) 0%,rgba(250,247,240,0) 24%,rgba(250,247,240,0) 46%,rgba(250,247,240,.62) 70%,rgba(250,247,240,.96) 100%)}
  .danmen__copy{left:1.3rem;right:1.3rem;top:auto;bottom:10%;transform:none}
  .danmen__copy .h2{font-size:2.05rem}
  .danmen__sub{margin-top:1.3rem;font-size:.78rem;max-width:none}
  .danmen__cap{right:1.3rem;bottom:auto;top:calc(var(--hd-h) + 1.1rem)}

  .hako__row{grid-template-columns:7.2rem 1fr;grid-template-rows:auto auto auto;gap:1rem 1.4rem;padding:2rem .2rem}
  .hako__no{display:none}
  .hako__ph{grid-row:1/3;width:7.2rem}
  .hako__name{font-size:1.5rem}
  .hako__desc{grid-column:2;max-width:none}
  .hako__buy{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center;width:100%}
  .hako__foot{flex-direction:column;gap:1rem}
  .hako__pair{grid-template-columns:1fr;padding:2rem 1.5rem}
  .hako__pair-buy{align-items:flex-start}

  .irodori__list{columns:1}
  .irodori__item{grid-template-columns:1fr auto;gap:1rem;padding:1.25rem .2rem}
  .irodori__no{display:none}
  .irodori__nm{font-size:1rem;letter-spacing:.12em}
  .irodori__nm small{display:block;margin-left:0;margin-top:.4rem}
  .irodori__kcal{font-size:.78rem}
  .irodori__note{flex-direction:column;gap:1rem}
  /* パレットSP: 4×2グリッドで面積回復+和名 */
  .irodori__strip{grid-template-columns:repeat(4,1fr);padding:.5rem;gap:.5rem}
  .irodori__sw i{height:3.6rem}
  .irodori__sw b{margin-top:.4rem;font-size:.56rem;letter-spacing:.04em}
  .irodori__stripcap{margin-bottom:3rem}
  .irodori__stripcap .en{display:none}

  .rit{height:280vh}
  .rit__stage{padding:calc(var(--hd-h) + .8rem) 1.3rem 5.4rem;gap:1rem;align-content:start}
  .rit__h2{font-size:1.45rem;margin-bottom:.8rem;line-height:1.75}
  .rit__stage .sec__label{margin-bottom:1rem}
  .rit__art{max-width:9.2rem}
  .rit__art .frame{padding:.5rem}
  .rit__art .frame__inner{aspect-ratio:1/1}
  .rit__cap{display:none}
  .rit__step{padding:.95rem .1rem;grid-template-columns:2.2rem 1fr;gap:.9rem}
  .rit__tx{margin-top:.45rem;font-size:.7rem;line-height:1.85;letter-spacing:.06em}
  .rit__nm{font-size:1rem;letter-spacing:.16em}
  .rit__nm small{margin-left:.6rem;font-size:.56rem}
  .rit__tail{margin-top:1rem;font-size:.8rem}

  .hikaku__ba{aspect-ratio:4/3}
  .hikaku__note{flex-direction:column;gap:1rem}

  .creamband{min-height:52vh;padding:6rem 1.3rem}
  .creamband__poem{font-size:1.5rem}
  .creamband__cap{right:1.3rem;bottom:1.3rem}

  .unbox{padding:6.2rem 1.3rem}
  .unbox__card{padding:2.8rem 1.7rem}
  .unbox__poem{font-size:1.46rem;letter-spacing:.1em}
  .unbox__reel{margin-top:2.6rem}
  .unbox__reel-media{aspect-ratio:3/2}
  .unbox__reel-media video{object-position:56% 30%}
  .unbox__reel-cap{flex-direction:column;gap:.3rem}

  .tsutsumi__real{grid-template-columns:7.6rem 1fr;gap:1.2rem;margin-top:2.2rem}

  .shitsurae{padding-bottom:4.2rem}
  .duo{padding-top:4.6rem}

  .shitsurae__row{grid-template-columns:1fr;gap:.8rem;padding:1.9rem .2rem}
  .shitsurae__no{display:none}
  .shitsurae__honest{padding:1.9rem 1.5rem}

  .duo__nm{font-size:1.7rem}
  .duo__buy{gap:1.4rem}
  .duo__buy .btn{width:100%}

  .visit__links{gap:1.6rem}
  .visit__cards{grid-template-columns:1fr;gap:1.6rem;margin-top:2.4rem}

  .ft{padding:4rem 1.3rem 7.5rem}
  .ft__meta{flex-direction:column;gap:.9rem}

  .buybar__in{padding:.7rem 1rem;gap:.7rem}
  .buybar__t{display:none}
  .buybar__adds{gap:.45rem;justify-content:flex-start}
  .qadd{padding:.6rem .7rem;gap:.4rem;font-size:.6rem;letter-spacing:.08em}
  .qadd b{font-size:.8rem}
  .qadd .en{font-size:.7rem}
  .buybar__cart{padding:.78rem 1rem;gap:.55rem;font-size:.62rem;letter-spacing:.14em}
  .buybar__cart b{font-size:.9rem}

  .drawer__hd{padding:1.4rem 1.3rem}
  .drawer__list{padding:.2rem 1.3rem}
  .drawer__ft{padding:1.4rem 1.3rem 1.6rem}

  .pdp-wrap{padding:calc(var(--hd-h) + 2rem) 1.3rem 5rem}
  .pdp-title{font-size:1.7rem}
  .pdp-evidence{gap:1.6rem;flex-wrap:wrap}
  .pdp-buy{flex-wrap:wrap}
  .pdp-add{flex-basis:100%}
  .pdp-shipping{padding:1.6rem 1.4rem}
  .pdp-shipping-item,.pdp-spec div{grid-template-columns:7rem 1fr;gap:1rem}
  .pdp-related-item{flex-basis:11.5rem}
  .pdpbar__in{padding:.8rem 1.3rem;gap:1rem}
  .pdpbar__nm{display:none}
}

/* ===== 狭幅SP (≤479px): 購入バーは縦二段で価格を常時表示(L6) ===== */
@media screen and (max-width:479px){
  .buybar__in{padding:.55rem .7rem;gap:.55rem}
  .buybar__adds{gap:.4rem}
  .qadd{flex:1;flex-direction:column;align-items:center;gap:.18rem;padding:.5rem .3rem}
  .qadd b{font-size:.8rem}
  .qadd .en{font-size:.62rem;letter-spacing:.02em;line-height:1}
  .buybar__cart{flex-direction:column;align-items:center;gap:.18rem;padding:.5rem .9rem;font-size:.58rem;letter-spacing:.1em}
  .buybar__cart b{font-size:.82rem;line-height:1}
}

/* final polish (Sol検問反映 2026-07-21): ギフト機能の即時理解+可読性の床 */
.hero__facts{margin-top:1.4rem;font-size:.78rem;letter-spacing:.16em;color:var(--ink-60);border-top:1px solid rgba(34,31,26,.12);padding-top:1.2rem;max-width:30em}
.hero__lede{font-size:.95rem}
.note{font-size:.8rem}
