/* ============================================================
   ヨイビ ／ 案件のCSS（site.css のあとに読む）
   クラス名は y で始める（雛形 site.css の同名ルールを踏まない。clash.mjs が見ている）
   値はトークン（site.css 上部）と段階の一覧から選ぶ。その場で値を作らない
   動き：主の1語「灯る」／派生「重なる」。0.9〜1.2秒・一度きり・緩急は --ease 1種
   ============================================================ */
:root{
  /* 写真の明るさ（本人が3段階の見本から選択：案1 1.55倍と案2 1.8倍の間 2026-10-05）。暗部も少し持ち上げる */
  --photo:brightness(1.68) contrast(.85) saturate(1.05);
  --glow:rgba(242,210,122,.55);   /* 灯の色の光（--accent と同じ色の半透明） */
}
body{font-size:var(--t-body);line-height:1.9}
.ib{display:inline-block}
.ysr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- 雛形のヘッダーを案件の形に（ロゴは左・予約ボタンはピル） ---------- */
.hd{color:var(--ink);justify-content:flex-start;padding-left:var(--pad)}
.hd__logo{display:flex;align-items:baseline;gap:12px;text-align:left;padding-top:10px}
.hd__logo b{font-family:var(--en);font-size:22px;font-weight:400;letter-spacing:.24em}
.hd__logo small{font-family:var(--ja);font-size:var(--t-cap);letter-spacing:.2em;margin:0;opacity:1;color:var(--sub)}
.menu i{background:var(--ink);opacity:.85}
.menu.is-dark i,html.hd-solid .menu i,body.p .menu i{background:var(--ink);opacity:.85}
.hd.is-dark,body.p .hd{color:var(--ink)}
.hd__cta{border-radius:var(--r-f);font-family:var(--ja);font-size:var(--t-cap);letter-spacing:.08em;
         background:var(--accent);color:var(--bg);transition:box-shadow .3s var(--ease),transform .38s var(--ease)}
@media (hover:hover){ .hd__cta:hover{background:var(--accent);box-shadow:0 0 0 6px rgba(242,210,122,.22)} }

/* ---------- 共通の器 ---------- */
.ys{position:relative;padding:var(--sec) 0;background:var(--bg)}
.yw{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.yw>*,.y2>*,.ywh__grid>*,.ypeople__grid>*,.ynews__grid>*,.yfv__pin>*{min-width:0}

/* 見出しの形式（全ページ共通・1種だけ）：大きな欧文 ＋ その下に和文の見出し1行 */
.yh__en{font-family:var(--dsp);font-weight:300;font-size:var(--t-dsp);line-height:1;letter-spacing:-.02em;margin:0;white-space:nowrap}
.yh__ja{font-family:var(--ja);font-weight:400;font-size:var(--t-h);line-height:1.6;letter-spacing:.04em;margin:24px 0 0}
.ylead{font-size:var(--t-body);line-height:2;letter-spacing:.04em;color:var(--sub);max-width:var(--measure);margin:20px 0 0}
.ylead p{margin:0 0 1em}
/* 副導線：下線が左から伸び直す（主ボタンは .ypill の1系統だけ） */
.ylink{display:inline-flex;align-items:center;gap:10px;min-height:44px;margin-top:20px;font-size:var(--t-body);
       position:relative;padding-bottom:2px}
.ylink::before{content:"";position:absolute;left:0;right:22px;bottom:8px;height:1px;background:currentColor;opacity:.5}
.ylink::after{content:"→";transition:transform .5s var(--ease)}
@media (hover:hover){
  .ylink:hover::before{animation:yline .6s var(--ease)}
  .ylink:hover::after{transform:translateX(4px)}
  .ylink:hover{color:var(--accent)}
}
@keyframes yline{0%{transform:scaleX(0);transform-origin:left}100%{transform:scaleX(1);transform-origin:left}}
.ypill{display:inline-flex;align-items:center;min-height:52px;padding:0 30px;margin-top:32px;border-radius:var(--r-f);
       background:var(--accent);color:var(--bg);font-size:var(--t-body);letter-spacing:.08em;transition:box-shadow .3s var(--ease)}
@media (hover:hover){ .ypill:hover{box-shadow:0 0 0 8px rgba(242,210,122,.22)} }

/* 写真の枠 */
.yfig{position:relative;margin:0;overflow:hidden;border-radius:var(--r-l);background:var(--face);max-width:100%}
.yfig__z{position:absolute;inset:0;display:block}
.yfig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* 2カラム（T-02） */
.y2{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(40px,6vw,112px);align-items:center;position:relative}
.y2--rev{grid-template-columns:minmax(0,6fr) minmax(0,5fr)}
.y2--rev .y2__txt{padding-right:56px}

/* ---------- 出現の動き（JSが .is-in を付ける。JSが無ければ最初から見える） ---------- */
/* .yr 欧文が一字ずつせり上がる：動く間だけJSが1字ずつ包み、動き終わったら元の文字列に戻す（検査が最終形を測れるように） */
html.js .yr:not(.is-in){opacity:0}
.yr .yc{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .08em .14em 0;margin:0 -.08em -.14em 0}   /* 斜体は右に傾くので、右にも余白を取って字の端を切らない */
.yr .yc i{display:inline-block;font-style:normal;transform:translateY(112%);transition:transform 1.1s var(--ease)}
.yr.is-go .yc i{transform:none}
/* .yf フェード（--d で順番） */
html.js .yf{opacity:0;transform:translate3d(0,24px,0);transition:opacity 1.1s var(--ease) var(--d,0s),transform 1.2s var(--ease) var(--d,0s)}
html.js .yf.is-in{opacity:1;transform:none}
/* .ym 和文の見出しが帯の中を下から上へ抜ける */
.ym{overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}
.ym>span{display:block}
html.js .ym>span{transition:transform 1.1s var(--ease) var(--d,0s)}
html.js .ym:not(.is-in)>span{transform:translate3d(0,110%,0)}
/* .yp 写真が灯る：暗くぼけた状態から、静かに像を結ぶ（FVのような光と円は使わない。本人の指摘でうるさすぎたため）。
   .is-in だけが付いた状態（JSなし・検査）は最終形＝そのまま見える */
.yp{position:relative;overflow:hidden}
.yp img{filter:var(--photo)}
html.js .yp:not(.is-in) img{opacity:0}
.yp.is-lighting img{filter:blur(14px) brightness(.5);transform:scale(1.06)}
.yp.is-lighting.is-go img{filter:var(--photo);transform:none;transition:filter 1.6s var(--ease),transform 1.8s var(--ease)}
.yp.is-in .yfig__z{animation:yzoom 24s linear 1.6s infinite alternate}
@keyframes yzoom{to{transform:scale(1.05)}}
/* .yl 罫線が左から引かれ → 行の文字が上がる */
.yl{position:relative}
.yl::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:currentColor;opacity:.25}
html.js .yl::before{transform:scaleX(0);transform-origin:left;transition:transform .9s var(--ease) var(--d,0s)}
html.js .yl.is-in::before{transform:none}
html.js .yl>*{opacity:0;transform:translate3d(0,10px,0);transition:opacity .9s var(--ease) calc(var(--d,0s) + .3s),transform .9s var(--ease) calc(var(--d,0s) + .3s)}
html.js .yl.is-in>*{opacity:1;transform:none}

/* ============================================================
   01 FV
   ============================================================ */
.yfv{position:relative;height:420svh;background:var(--bg)}
.yfv__pin{position:sticky;top:0;height:100svh;min-height:620px;overflow:hidden;display:grid;grid-template-columns:56fr 44fr}
.yfv__l{position:relative;overflow:hidden}
.yfv__r{position:relative;overflow:hidden}
.yfv__r::after{content:"";position:absolute;left:0;right:0;bottom:0;height:170px;z-index:3;pointer-events:none;
  background:linear-gradient(to top,rgba(23,19,15,.72),rgba(23,19,15,0))}
.yfv__m{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;
  transform:scale(var(--z,1));filter:blur(22px) brightness(.3);transition:filter 1.2s var(--ease)}
.yfv__m.is-cur{opacity:1}
.yfv__m img,.yfv__tx .p img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.yfv.is-in .yfv__m.is-cur{filter:var(--photo)}
.yfv.is-in .yfv__m.is-out{filter:brightness(.5) blur(2px);transform:scale(calc(var(--z,1) * 1.07));transition:filter 1s var(--ease),transform 1.3s var(--ease)}
/* 切り替え：中心から灯る。中心に灯の色の光がともり、縁をぼかした円が広がって次の写真が現れる（円の大きさはJSが毎フレーム） */
.yfv__tx{position:absolute;inset:0;z-index:2;pointer-events:none}
.yfv__tx .p{position:absolute;inset:0;background-size:cover;background-position:center;
  -webkit-mask-image:radial-gradient(circle farthest-corner at 50% 50%,#000 0%,transparent 0%);
          mask-image:radial-gradient(circle farthest-corner at 50% 50%,#000 0%,transparent 0%);
  filter:brightness(1.8) blur(10px);transform:scale(1.08);transition:filter 1.4s var(--ease),transform 1.6s var(--ease)}
.yfv__tx.is-go .p{filter:var(--photo);transform:scale(1)}
.yfv__tx .g{position:absolute;inset:-20%;opacity:0;transform:scale(.35);background:radial-gradient(circle at 50% 50%,var(--glow),rgba(242,210,122,0) 42%)}
.yfv__tx.is-go .g{animation:yglow 1.4s var(--ease)}
@keyframes yglow{0%{opacity:0;transform:scale(.35)}30%{opacity:.9}100%{opacity:0;transform:scale(1.35)}}
/* 小窓の舞台（ヘッダーの帯と下の時刻・軸には入れない） */
.yfv__stage{position:absolute;left:0;right:0;top:96px;bottom:124px;overflow:hidden}
.yfv__dw,.yfv__sw{position:absolute;left:0;top:0;width:var(--w);transform-origin:0 0;opacity:0;transition:opacity .9s var(--ease)}
.yfv__dw{aspect-ratio:var(--r)}
.yfv__sw{aspect-ratio:3/4}
.yfv.is-in .yfv__dw,.yfv.is-in .yfv__sw{opacity:1}
.yfv__dw img,.yfv__sw img{width:100%;height:100%;object-fit:cover;border-radius:var(--r-s)}
.yfv__dw img{filter:brightness(.9) saturate(.9)}
.yfv__sw img{filter:brightness(.8) saturate(.9);transition:filter .6s var(--ease)}
.yfv__sw.is-on img{filter:var(--photo)}
.yfv__copy{position:absolute;left:var(--pad);right:24px;top:50%;transform:translateY(-52%);z-index:3;pointer-events:none}   /* 文字の影は使わない（本人の指示 2026-10-05） */
.yfv__en{font-family:var(--dsp);font-weight:300;font-size:var(--t-dsp);line-height:1;letter-spacing:-.02em;margin:0;white-space:nowrap}
.yfv__h{font-family:var(--ja);font-weight:400;font-size:var(--t-h);line-height:1.6;letter-spacing:.04em;margin:24px 0 0}
.yfv__now{position:absolute;left:var(--pad);bottom:72px;z-index:3;font-size:var(--t-cap);color:var(--sub);display:flex;gap:14px;align-items:baseline;margin:0}
.yfv__now b{font-family:var(--en);font-weight:400;font-size:var(--t-lead);color:var(--accent);font-variant-numeric:tabular-nums;min-width:3.2em}
/* 時刻の軸：画面の下端に横いっぱい。30分ごとの目盛り（実際の時間の長さで配置） */
.yfv__axis{position:absolute;left:var(--pad);right:var(--pad);bottom:46px;height:1px;z-index:5}
/* 線は疑似要素で描く。親に背景色を置くと、目盛りの文字が「明るい地の上」と判定される */
.yfv__axis::before{content:"";position:absolute;inset:0;background:rgba(239,230,216,.22)}
.yfv__axis span{position:absolute;top:14px;font-family:var(--en);font-weight:300;font-size:var(--t-lead);line-height:1;color:var(--sub);
  font-variant-numeric:tabular-nums;transform:translateX(-50%);transition:color .4s var(--ease)}
.yfv__axis span:first-of-type{transform:none}.yfv__axis span:last-of-type{transform:translateX(-100%)}
.yfv__axis span.is-past{color:#cfc4b5}
.yfv__axis span.is-cur{color:var(--ink)}
.yfv__axis i{position:absolute;top:-3px;left:0;width:7px;height:7px;margin-left:-3px;border-radius:var(--r-f);background:var(--accent)}
/* FVの中の文字：幕明け（.yfv.is-in）に合わせて出す（.yf は付けない。下端の要素は監視で発火しないため） */
html.js .yfv__h,html.js .yfv__now,html.js .yfv__axis{opacity:0;transform:translate3d(0,14px,0);transition:opacity 1s var(--ease) .5s,transform 1s var(--ease) .5s}
html.js .yfv.is-in .yfv__h,html.js .yfv.is-in .yfv__now,html.js .yfv.is-in .yfv__axis{opacity:1;transform:none}
html.js .yfv__en:not(.is-in){opacity:0}
/* 時刻が進むオープニング（ヘッダーの上も覆う） */
.yop{position:fixed;inset:0;z-index:60;background:var(--bg);display:grid;place-content:center;justify-items:center;gap:18px;
  transition:opacity .7s var(--ease),visibility 0s .7s}
.yop b{font-family:var(--en);font-weight:300;font-size:var(--t-h);line-height:1;letter-spacing:.08em;font-variant-numeric:tabular-nums}   /* 本人の指示で小さく（112px → 和文見出しと同じ段 28px） */
.yop i{width:7px;height:7px;border-radius:var(--r-f);background:var(--line);transition:background-color .4s,box-shadow .4s}
.yop.is-on i{background:var(--accent);box-shadow:0 0 18px 4px rgba(242,210,122,.45)}
.yop.is-out,.yfv.is-in .yop,html:not(.js) .yop{opacity:0;visibility:hidden}

/* ============================================================
   02 The Night. ／ 04 Fire.
   ============================================================ */
.ynight{padding-bottom:calc(var(--sec) * .7)}

/* 写真主体（文字と余白で見せる構成から、写真で見せる構成へ）
   2カラムでは写真のほうを広く取り、写真を版面の外（画面の端）まで出す */
.y2--photo{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.y2--photo .y2__txt{position:relative;z-index:2}
.y2--photo .yh__en{text-shadow:0 0 28px rgba(23,19,15,.75)}
.y2--photo.y2--rev{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.y2--photo .yfig{margin-right:calc(var(--pad) * -1)}
.y2--photo.y2--rev .yfig{margin-right:0;margin-left:calc(var(--pad) * -1)}
.ynight .yfig{aspect-ratio:4/5!important}
/* 全幅の写真（T-01） */
.ywide{position:relative;background:var(--bg)}
.ywide__fig{position:relative;margin:0;height:min(88svh,900px);overflow:hidden}
.ywide__fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ywide__cap{max-width:var(--measure);display:flex;gap:16px;align-items:baseline;margin-top:20px;font-size:var(--t-body);color:var(--sub)}
.ywide__cap b{font-family:var(--en);font-weight:400;font-size:var(--t-lead);color:var(--accent)}
/* 料理の4皿 */
.yplates{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:clamp(56px,7vw,96px);align-items:start}
.yplates .yfig{aspect-ratio:1/1}
.yplates figcaption{position:absolute;left:12px;bottom:10px;z-index:2;font-size:var(--t-cap);color:var(--ink);text-shadow:0 0 12px rgba(23,19,15,.9)}

/* ============================================================
   03 Warehouse.（重ね札）：右の写真は1枚＝1画面ぶん sticky。後の写真が前の写真の上に重なって止まる
   ============================================================ */
.ywh{padding-top:calc(var(--sec) * .7)}
.ywh__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,5vw,96px)}
.ywh__stick{position:sticky;top:0;height:100svh;display:flex;flex-direction:column;justify-content:center}
.ywh__card{position:sticky;top:0;height:100svh;margin:0;overflow:hidden;background:var(--face);transform:scale(calc(1 - var(--cv,0) * .06));transform-origin:50% 0}
.ywh__card::after{content:"";position:absolute;inset:0;z-index:1;background:#0d0a08;opacity:calc(var(--cv,0) * .55);pointer-events:none}
.ywh__card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ywh__card figcaption{position:absolute;right:20px;top:112px;z-index:2;font-size:var(--t-cap);color:var(--ink);
  display:flex;gap:12px;align-items:baseline;text-shadow:0 0 16px rgba(23,19,15,.9)}
.ywh__card figcaption b{font-family:var(--en);font-weight:400}

/* ============================================================
   05 Reports.（横送り）：PCは縦のスクロールで横へ流れる（JSが高さと位置を決める）
   ============================================================ */
.yrep{padding:0;background:var(--bg)}
.yrep__pin{position:sticky;top:0;min-height:100svh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:120px 0 64px}
.yrep__hd{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;width:100%;flex-wrap:wrap}
.yrep__track{margin-top:48px;padding:0 var(--pad);will-change:transform}
.yrep .g3{display:flex;gap:32px;width:max-content;margin:0}
.yrep .g3__i{display:block;width:min(44vw,640px)}
.yrep .plx{position:relative;display:block;aspect-ratio:3/2;overflow:hidden;background:var(--face);border-radius:var(--r-l)}
.yrep .plx__i{position:absolute;inset:0;display:block}
.yrep .plx__i img{width:100%;height:100%;object-fit:cover;filter:var(--photo);transition:transform .9s var(--ease)}
.yrep .plx__lb{display:none}
.yrep .g3__t{display:block;margin-top:18px;font-size:var(--t-body);color:var(--sub)}
.yrep .g3__t b{display:block;font-family:var(--dsp);font-weight:400;font-size:var(--t-lead);color:var(--ink);line-height:1.4;margin-bottom:4px}
@media (hover:hover){
  .yrep a.g3__i:hover img{transform:scale(1.04)}
  .yrep a.g3__i:hover .g3__t b{color:var(--accent)}
}
html.js .yrep .stagger>*{opacity:1}

/* ============================================================
   07 Plans.（明るい面・1ページ1回）：地が灯るように明るくなる
   ============================================================ */
.ylight{background:var(--paper);color:var(--paper-ink);transition:background-color 1.1s var(--ease)}
html.js .ylight:not(.is-in){background:var(--bg)}
.ylight .ylead{color:#4a4037}
.ylight .ylink{color:var(--paper-ink)}
@media (hover:hover){ .ylight .ylink:hover{color:#6b4d00} }
.yplans{align-items:start}
.yplans__rows{display:grid;padding-top:12px}
.yplans__r{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:24px;align-items:baseline;margin:0;padding:26px 0}
.yplans__r b{font-weight:400;font-size:var(--t-lead)}
.yplans__r span{font-size:var(--t-body);color:#4a4037}
.yplans__r em{font-style:normal;font-family:var(--en);font-weight:300;font-size:var(--t-h);text-align:right;min-width:4.5em;font-variant-numeric:tabular-nums}
.yplans__r em small{font-family:var(--ja);font-size:var(--t-cap);margin-left:4px}
.yplans__r:last-of-type{border-bottom:1px solid rgba(31,26,21,.25)}
.yplans__note{font-size:var(--t-cap);color:#4a4037;margin:16px 0 0}

/* ============================================================
   08 People.
   ============================================================ */
.ypeople__grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(40px,5vw,96px);align-items:start}
.ypeople__list{display:grid;grid-template-columns:minmax(0,3fr) repeat(2,minmax(0,2fr));grid-template-rows:auto auto;gap:24px 20px}
.ypeople__p{margin:0}
.ypeople__p .yfig{display:block}
.ypeople__p .yp img,.ypeople__p .yp.is-lighting.is-go img{filter:none}
.ypeople__p--lead{grid-row:span 2}
.ypeople__p figcaption{margin-top:12px;font-size:var(--t-cap);color:var(--sub)}
.ypeople__p figcaption b{display:block;font-weight:400;font-size:var(--t-body);color:var(--ink)}

/* ============================================================
   09 News.（雛形の .rows を案件の形に）
   ============================================================ */
.ynews__grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(40px,5vw,96px);align-items:start}
.ynews .rows{border-top:1px solid var(--line)}
.ynews .rows__r{display:grid;grid-template-columns:8em minmax(0,1fr) auto;gap:24px;align-items:baseline;padding:22px 0;border-bottom:1px solid var(--line);min-height:44px}
.ynews .rows__r.yl{border-bottom:0}
.ynews .rows__r.yl::before{top:auto;bottom:0;background:var(--line);opacity:1}
.ynews .rows__r b{font-family:var(--en);font-weight:400;font-size:var(--t-body);color:var(--sub);font-variant-numeric:tabular-nums}
.ynews .rows__r .bd{margin:0;font-size:var(--t-body)}
.ynews .rows__r .aux{font-size:var(--t-cap);color:var(--sub);transition:transform .5s var(--ease)}
@media (hover:hover){
  .ynews a.rows__r:hover .bd{color:var(--accent)}
  .ynews a.rows__r:hover .aux{transform:translateX(4px)}
}
.yart__date{font-family:var(--en);color:var(--sub);margin:0}

/* ============================================================
   結びの面（全ページ共通・フッターの上）
   参考の実測：写真4列（25%ずつ）・列ごとに上下へ交互に流れ続ける（1周45秒）／
   背景の層は文字より遅れて動く（-50% → 0）／下の帯は横に流れ、マウスの左右で速さと向きが変わる
   ============================================================ */
.yft{position:relative;overflow:hidden;background:var(--bg);min-height:100svh;display:flex;flex-direction:column;justify-content:center;text-align:center}
.yft__bg{position:absolute;left:0;right:0;top:-30%;height:130%;display:flex;gap:16px;padding:0 16px;
  transform:translate3d(0,var(--py,0px),0);will-change:transform}
.yft__col{flex:1 1 0;min-width:0;overflow:hidden}
.yft__grp{display:flex;flex-direction:column;gap:16px;animation:yftUp 45s linear infinite}
.yft__col:nth-child(odd) .yft__grp{animation-name:yftDown}
.yft__grp img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-s);filter:brightness(.8) saturate(.95)}
@keyframes yftUp{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,calc(-50% - 8px),0)}}
@keyframes yftDown{from{transform:translate3d(0,calc(-50% - 8px),0)}to{transform:translate3d(0,0,0)}}
/* 文字が読めるよう、写真の上に夜の地をかぶせる（中央ほど濃く） */
.yft::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(ellipse 60% 55% at 50% 48%,rgba(23,19,15,.82),rgba(23,19,15,.42) 70%),linear-gradient(rgba(23,19,15,.25),rgba(23,19,15,.25))}
.yft__in{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;width:100%;padding-top:var(--sec);padding-bottom:calc(var(--sec) + 40px)}
.yft .ylead{color:var(--ink);margin-inline:auto}
/* 下の帯：文字が横に流れ続ける。区切りはダッシュ（点の列はやめた） */
.yft__run{position:absolute;left:0;right:0;bottom:0;z-index:2;height:96px;overflow:hidden;border-top:1px solid rgba(239,230,216,.2);background:rgba(23,19,15,.6)}
.yft__track{display:flex;width:max-content;height:100%;align-items:center;will-change:transform}
.yft__seg{display:flex;align-items:center;gap:40px;padding-right:40px;white-space:nowrap;font-family:var(--en);font-weight:300;font-size:var(--t-lead);color:var(--ink)}
.yft__seg i{font-style:normal;color:var(--sub)}

/* ============================================================
   幅ごとの形
   ============================================================ */
@media (max-width:1099px){
  .yrep .g3__i{width:min(56vw,560px)}
  .ypeople__grid,.ynews__grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
}
@media (max-width:820px){
  /* スマホのFV：参考サイトの実測どおり、2分割にせず1画面に収める（本人の指示 2026-10-05）。
     主写真を画面いっぱいに敷き、小窓を画面全体に散らし、見出しは中央、いまの時刻は左下、最下部に時刻の軸 */
  .yfv__pin{display:block}
  .yfv__r{position:absolute;inset:0;z-index:0}
  .yfv__r::after{display:block;inset:0;height:auto;
    background:linear-gradient(to bottom,rgba(23,19,15,.6),rgba(23,19,15,.12) 28%,rgba(23,19,15,.12) 58%,rgba(23,19,15,.8))}
  .yfv__l{position:absolute;inset:0;z-index:1}
  .yfv__stage{top:72px;bottom:120px}
  .yfv__dw{width:calc(var(--w) * .6)}
  .yfv__copy{top:50%;left:var(--pad);right:var(--pad);transform:translateY(-50%);text-align:center}
  /* コピーの後ろだけ楕円に暗くする（A案・本人の選択 2026-10-05）。写真の上下はいまの明るさのまま。
     主写真の切り替え（.yfv__tx）より上・コピーより下に置く */
  .yfv__r::before{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;
    background:radial-gradient(ellipse 120% 30% at 50% 50%,rgba(23,19,15,.86),rgba(23,19,15,.66) 55%,rgba(23,19,15,0) 100%)}
  /* コピーの帯に重なる飾りの小窓は消す（JS が .is-hit を付ける） */
  .yfv__dw.is-hit{opacity:0!important}
  .yfv__now{bottom:64px}
  .yfv__axis{bottom:34px}
  .yfv__axis span{font-size:var(--t-cap);top:12px}
  .yfv__axis span.is-half{display:none}

  .y2,.y2--rev,.ywh__grid,.ypeople__grid,.ynews__grid{grid-template-columns:minmax(0,1fr)}
  .y2--rev .y2__txt{padding-right:0}
  .y2--photo,.y2--photo.y2--rev{grid-template-columns:minmax(0,1fr)}
  .y2--photo .yfig,.y2--photo.y2--rev .yfig{margin-left:calc(var(--pad) * -1);margin-right:calc(var(--pad) * -1)}
  .ywide__fig{height:auto;aspect-ratio:4/5}
  .yplates{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .y2--rev .yfig{order:0}
  .ynight .yfig{justify-self:stretch;max-width:none;aspect-ratio:4/5!important}
  .yh__en{white-space:normal}

  .ywh__stick{position:static;height:auto}
  .ywh__card{top:88px;height:auto;aspect-ratio:4/5}
  .ywh__stack{display:grid;gap:0}
  .ywh__card figcaption{top:16px;right:16px}

  .yrep__pin{position:static;min-height:0;padding:var(--sec) 0}
  .yrep__track{overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:var(--pad);-webkit-overflow-scrolling:touch;padding-bottom:8px;transform:none!important}
  .yrep .g3{gap:16px}
  .yrep .g3__i{width:78vw;scroll-snap-align:start}

  .yft__col:nth-child(n+3){display:none}
  .yft__bg{gap:12px;padding:0 12px}
  .yft__grp{gap:12px}
  .yft__run{height:72px}
  .yft{min-height:0}   /* 列の3枚ぶんより見える高さを低くし、同じ写真が同時に2回見えないようにする */

  .yplans__r{grid-template-columns:minmax(0,1fr) auto;gap:4px 16px}
  .yplans__r span{grid-column:1;grid-row:2}
  .yplans__r em{grid-row:1 / span 2;grid-column:2;align-self:center}

  .ypeople__list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ypeople__p--lead{grid-column:1 / -1;grid-row:auto}

  .ynews .rows__r{grid-template-columns:minmax(0,1fr) auto;gap:4px 16px}
  .ynews .rows__r b{grid-column:1}
  .ynews .rows__r .bd{grid-column:1;grid-row:2}
  .ynews .rows__r .aux{grid-column:2;grid-row:1 / span 2;align-self:center}
}

@media (prefers-reduced-motion:reduce){
  .yfv{height:auto}.yfv__pin{position:relative}
  .yrep__pin{position:static}
  .yfv__m,.yfv__dw,.yfv__sw,.yfv__sw img,.yop,.yf,.yp img,.yl::before,.yl>*,.ylight{transition:none!important}
  .yft__grp{animation:none}
  .yp.is-in .yfig__z{animation:none}
}

/* ---------- 雛形のフッター・全画面ナビを案件の色に（雛形に前の案件の色が直書きされているため） ---------- */
.ft{background:var(--bg);color:var(--ink);border-top:1px solid var(--line)}
.ft__nav a{font-size:var(--t-body)}
.ft address{font-size:var(--t-body);color:var(--sub)}
.ft__logo small{font-family:var(--ja);font-size:var(--t-cap);letter-spacing:.2em;color:var(--sub)}
.ft__note{font-size:var(--t-cap);opacity:1;color:var(--sub)}
@media (hover:hover){ .ft__nav a:hover,.ft__bottom a:hover{color:var(--accent)} }
/* 03 Warehouse. の欧文は、写真の上に重ねて描く（見出しの形式：欧文が写真に食い込む） */
.ywh__txt{position:relative;z-index:3}
.ywh__stick .yh__en{text-shadow:0 0 28px rgba(23,19,15,.75)}
/* 文字が小さくなったぶん、箱が広いと1行の文字数が増えすぎる（audit A6）。箱を文字の幅に寄せる */
.yplans__note,.ft address{max-width:var(--measure)}

/* ============================================================
   全画面メニュー：写真とイタリックの目次（「4列の小さなリンク」から形を変えた 2026-10-05）
   左に大きな写真（layout の .ygn__ph）、右にページ名を1行ずつ。欧文の斜体を大きく、和文を小さく添える
   ============================================================ */
.ygn__ph{position:fixed;left:0;top:0;bottom:0;width:40vw;z-index:61;overflow:hidden;pointer-events:none;
  visibility:hidden;clip-path:inset(0 0 100% 0);transition:clip-path .78s var(--ease),visibility 0s .78s}
html.gn-open .ygn__ph{visibility:visible;clip-path:inset(0 0 0 0);transition:clip-path .78s var(--ease),visibility 0s}
.ygn__ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;
  filter:blur(10px) brightness(.5);transition:opacity .7s var(--ease),filter .9s var(--ease)}
.ygn__ph img.is-on{opacity:1;filter:var(--photo)}
.gn__in{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px;max-width:none;
  padding:120px var(--pad) 72px calc(40vw + 64px);align-content:center}
.gn__col,.gn__list{display:contents}
.gn .gn__col>.lb,.gn__side>.lb{display:none}
.gn__list li{list-style:none;border-top:1px solid var(--line)}
.gn__a{display:flex;align-items:baseline;justify-content:space-between;gap:16px;min-height:64px;padding:10px 0;font-size:var(--t-body);color:var(--sub)}
.gn__a span{order:2;font-size:var(--t-body);letter-spacing:.06em}
.gn__a em{order:1;font-family:var(--dsp);font-style:normal;font-weight:300;font-size:36px;line-height:1.1;letter-spacing:-.01em;
  text-transform:none;color:var(--ink);white-space:nowrap}
.gn__a.is-here em,.gn__a.is-here span{color:var(--accent)}
@media (hover:hover){ .gn__a:hover em,.gn__a:hover span{color:var(--accent)} }
.gn__side{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:16px 40px;margin-top:40px;padding-top:28px;border-top:1px solid var(--line)}
.gn__side .btn{width:auto;border-radius:var(--r-f);background:var(--accent);color:var(--bg);border:0;padding:0 26px;min-height:48px;font-size:var(--t-body)}
.gn__side address{margin:0;font-size:var(--t-cap)}
.gn__pp{margin:0}
@media (max-width:900px){
  .ygn__ph{width:100%;bottom:auto;height:30svh}
  .gn__in{grid-template-columns:minmax(0,1fr);padding:calc(30svh + 32px) var(--pad) calc(56px + env(safe-area-inset-bottom,0px))}
  .gn__a{min-height:52px}
  .gn__a em{font-size:26px}
  .gn__a em{display:block}
  .gn__col+.gn__col{margin-top:0}
}

/* ============================================================
   フッター：リンクは段落のように並べ、住所と時間は右に。最後に画面幅いっぱいの「Yoibi」で締める
   ============================================================ */
.ft{padding-bottom:0;overflow:hidden}
.ft__grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 64px;align-items:start}
.ft__nav{grid-column:1;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:0 28px}
.ft__nav a{min-height:44px;font-size:var(--t-body);align-self:center}
.ft__info{grid-column:2;grid-row:1 / span 3;text-align:right;margin:0}
.ft__info .ft__logo{display:none}
.ft__info address{margin-left:auto}
.ft__bottom{margin-top:56px;font-size:var(--t-cap);color:var(--sub)}
/* 飾りの大きな文字（読ませない文字なので疑似要素に置く：検査にも読み上げにも入らない） */
.ft::after{content:"Yoibi";display:block;font-family:var(--dsp);font-weight:300;font-size:clamp(120px,27vw,440px);line-height:.78;
  letter-spacing:-.04em;color:var(--ink);padding:0 var(--pad);margin-top:48px;white-space:nowrap;transform:translateY(10%)}
@media (max-width:820px){
  .ft__grid{grid-template-columns:minmax(0,1fr)}
  .ft__info{grid-column:1;grid-row:auto;text-align:left;margin-top:28px}
  .ft__info address{margin-left:0}
  .ft__nav{gap:0 20px}
}

/* ============================================================
   下層：パーティレポートの詳細（工程3d の代表1枚）
   ============================================================ */
/* T-01 全幅の写真。欧文の題の下端を写真の下端に重ねる（見出しの形式） */
.yrhero{position:relative;background:var(--bg);padding-bottom:calc(var(--sec) * .6)}
.yrhero__fig{position:relative;margin:0;height:min(78svh,820px);overflow:hidden}
.yrhero__fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.yrhero__fig::after{content:"";position:absolute;left:0;right:0;bottom:0;height:40%;pointer-events:none;
  background:linear-gradient(to top,rgba(23,19,15,.7),rgba(23,19,15,0))}
.yrhero__txt{position:relative;z-index:2;margin-top:calc(var(--t-dsp) * -.62)}
.yrhero__txt .yh__en{text-shadow:0 0 28px rgba(23,19,15,.6)}
.yrhero__meta{display:flex;width:fit-content;gap:16px;align-items:baseline;margin:16px 0 0;font-size:var(--t-body);color:var(--sub)}
.yrhero__meta b{font-family:var(--en);font-weight:400;color:var(--accent)}
/* T-04 時刻の行リスト */
.yhours__grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(40px,5vw,96px);align-items:start}
.yhours__list{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--line)}
.yhours__r{display:grid;grid-template-columns:5.5em minmax(0,1fr);gap:24px;align-items:baseline;padding:22px 0}
.yhours__r::before{background:var(--line);opacity:1}
.yhours__r b{font-family:var(--en);font-weight:300;font-size:var(--t-lead);color:var(--accent);font-variant-numeric:tabular-nums}
.yhours__r span{font-size:var(--t-body);line-height:1.9}
/* T-05 写真の横送り */
.yphotos__track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:var(--pad);
  padding:48px var(--pad) 16px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.yphotos__i{flex:0 0 auto;height:min(52svh,520px);margin:0;scroll-snap-align:start;border-radius:var(--r-l)}
.yphotos__i img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* 前後の記事への送り（雛形の .pn を案件の形に） */
.pn{margin-top:0}
.pn a{min-height:clamp(140px,16vw,220px);font-family:var(--dsp);font-weight:300;font-size:var(--t-h);letter-spacing:-.01em}
.pn a>span{transition:color .4s}
.pn em{font-family:var(--en);font-style:normal;font-size:var(--t-cap)}
@media (hover:hover){.pn a:hover>span{color:var(--accent)}}
@media (max-width:575px){.pn{gap:0}.pn>*+*{border-top:1px solid var(--line)}.pn>span:empty{display:none}.pn>span:empty+a{border-top:0}}
@media (max-width:820px){
  .yrhero__fig{height:auto;aspect-ratio:4/5}
  .yhours__grid{grid-template-columns:minmax(0,1fr)}
  .yhours__r{grid-template-columns:4.5em minmax(0,1fr);gap:16px}
  .yphotos__i{height:56vw}
}

/* ============================================================
   下層の量産（工程4）：型は構成表の10種から。見出しの形式は1つ
   ============================================================ */
/* 写真の扉（T-01）の下にリードを置く */
.yrhero .ylead{margin-top:16px}
/* 写真の無いページの頭：見出しの形式だけ（欧文＋和文の見出し1行＋リード） */
.yph{padding:calc(var(--sec) * .55) 0 calc(var(--sec) * .5);background:var(--bg)}
.yph .yh__ja{margin-top:20px}
/* 左に見出し・右に中身（T-04 と T-08 の器） */
.ysplit{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(40px,5vw,96px);align-items:start}
.ysplit>*{min-width:0}
.ysplit .ypill{margin-top:28px}
/* T-08 行リスト：項目／中身／添え字。罫線が左から引かれて行が上がる（.yl） */
.yrows{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--line)}
.yrows__r{display:grid;grid-template-columns:10em minmax(0,1fr) auto;gap:24px;align-items:baseline;padding:22px 0;margin:0}
.yrows__r::before{background:var(--line);opacity:1}
.yrows__r>b{font-weight:400;font-size:var(--t-body);color:var(--ink)}
.yrows__r>b.n{font-family:var(--en);font-weight:300;font-size:var(--t-lead);color:var(--accent);font-variant-numeric:tabular-nums}
.yrows__r>b.n small{font-family:var(--ja);font-size:var(--t-cap);margin-left:2px}
.yrows__r>span{font-size:var(--t-body);line-height:1.9;color:var(--sub)}
.yrows__r>em{font-style:normal;font-size:var(--t-cap);color:var(--sub);white-space:nowrap}
.yrows__r>em.is-in-plan{color:var(--accent)}
.yrows__r a{text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(239,230,216,.4)}
.yrows+.yrows__h,.yrows__h{font-weight:400;font-size:var(--t-lead);margin:56px 0 12px}
.yrows__h:first-child{margin-top:0}
/* T-08 の開閉（よくある質問）。<summary> の <b> が質問（build が FAQ の構造化データに使う） */
.yacc{border-bottom:1px solid var(--line)}
.yacc details{position:relative}
.yacc details::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--line)}
.yacc summary{display:flex;align-items:center;gap:20px;min-height:72px;padding:18px 0;cursor:pointer;list-style:none}
.yacc summary::-webkit-details-marker{display:none}
.yacc summary b{font-weight:400;font-size:var(--t-body);color:var(--ink);transition:color .3s}
.yacc summary::after{content:"";flex:0 0 auto;width:12px;height:12px;margin-left:auto;
  background:linear-gradient(var(--sub),var(--sub)) center/100% 1px no-repeat,linear-gradient(var(--sub),var(--sub)) center/1px 100% no-repeat;
  transition:transform .5s var(--ease)}
.yacc details[open] summary::after{transform:rotate(45deg)}
.yacc details[open] summary b{color:var(--accent)}
@media (hover:hover){ .yacc summary:hover b{color:var(--accent)} }
.yacc .ylead{margin:0;padding:0 40px 28px 0}
/* プランの行に一言を添える（明るい面） */
.yplans__r i{grid-column:1 / -1;font-style:normal;font-size:var(--t-body);color:#4a4037;margin-top:-12px}
.ylight .ypill{background:var(--paper-ink);color:var(--paper)}
@media (hover:hover){ .ylight .ypill:hover{box-shadow:0 0 0 8px rgba(31,26,21,.14)} }
/* 写真の横送りに一言を重ねる */
.yphotos__i figcaption{position:absolute;left:14px;bottom:12px;z-index:2;font-size:var(--t-cap);color:var(--ink);text-shadow:0 0 12px rgba(23,19,15,.9)}
.yphotos__i figcaption b{font-family:var(--en);font-weight:400;margin-right:10px;color:var(--accent)}
/* 人の一覧（スタッフのページは6人：1人を大きく・ほかは右と下に） */
.ypeople__p>a{display:block}
@media (hover:hover){ .ypeople__p>a:hover figcaption b{color:var(--accent)} }
.ystaff .ypeople__list{grid-template-columns:repeat(3,minmax(0,1fr))}
.ystaff .ypeople__p--lead{grid-column:span 2;grid-row:span 2}
/* 結びの面を出さないページ（見学・お問い合わせ・完了）：自分自身への導線になるため */
body:has(.ynoft) .yft{display:none}
/* フォーム（雛形の .form を本文14pxの段に合わせる） */
.form{max-width:none}
.form__l{font-size:var(--t-body)}
.form__l i{font-size:var(--t-cap);border-radius:var(--r-f);padding:0 10px}
.form__n,.form__c span{font-size:var(--t-body)}
.form input[type=text],.form input[type=tel],.form input[type=email],.form input[type=date],.form select,.form textarea{font-size:16px;background:var(--face)}
.form__e{display:block;font-size:var(--t-cap);color:var(--accent);margin-top:8px;min-height:1em}
.form__go .ypill{margin-top:0;border:0;cursor:pointer;font-family:inherit}
.form__go .ylink{margin-top:0;background:none;border:0;color:var(--ink);cursor:pointer;font-family:inherit}
.steps li{font-size:var(--t-body)}
.steps li em{font-size:var(--t-lead)}
.conf dt{font-size:var(--t-cap);color:var(--sub);padding-top:22px;border-top:1px solid var(--line)}
.conf dd{margin:6px 0 22px;font-size:var(--t-body)}
.conf{border-top:0}
/* 文章のページ（プライバシーポリシー・お知らせの記事） */
.ytext{max-width:var(--measure)}
.ytext h2{font-weight:400;font-size:var(--t-lead);margin:48px 0 12px}
.ytext h2:first-child{margin-top:0}
.ytext p,.ytext li{font-size:var(--t-body);line-height:2;color:var(--sub)}
.ytext ul{padding-left:1.2em}
@media (max-width:820px){
  .ysplit{grid-template-columns:minmax(0,1fr)}
  .yrows__r{grid-template-columns:minmax(0,1fr) auto;gap:4px 16px}
  .yrows__r>b{grid-column:1}
  .yrows__r>span{grid-column:1 / -1;grid-row:2}
  .yrows__r>em{grid-column:2;grid-row:1}
  .ystaff .ypeople__list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ystaff .ypeople__p--lead{grid-column:1 / -1;grid-row:auto}
  .yacc .ylead{padding-right:0}
}
.yrhero__meta b.j{font-family:var(--ja)}
.ysplit:has(>.yacc){row-gap:56px}
/* 左に見出し・右に中身の節では、欧文だけを一段上に横いっぱいで置く（長い語が右の列に食い込まないように） */
.ysplit{row-gap:32px}
.ysplit__en{grid-column:1 / -1}
.ysplit__en+div .yh__ja{margin-top:0}
/* スタッフの写真は明るく撮れているので、写真の補正（--photo）をかけない（トップの People. と同じ） */
.ystaffd .yp img,.ystaffd .yp.is-lighting.is-go img{filter:none}
.ysplit .form,.ysplit .steps{margin-top:0}
/* スマホの行リスト：項目と中身を横に並べたまま（縦に積むと1行が2段になり、丈が倍になる） */
@media (max-width:820px){
  .yrows__r{grid-template-columns:6.5em minmax(0,1fr);gap:6px 16px;padding:18px 0}
  .yrows__r>b{grid-column:1;grid-row:1 / span 2}
  .yrows__r>span{grid-column:2;grid-row:1}
  .yrows__r>em{grid-column:2;grid-row:2}
}
.steps li em{color:var(--sub)}
.steps li[aria-current] em{color:var(--accent)}
.form__c a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.yph{padding-bottom:max(88px,calc(var(--sec) * .5))}
/* 写真が左・文が右の節では、長い欧文（The Kitchen. など）が画面の右端の外へ出るので、語の切れ目で折り返す */
.y2--rev .yh__en{white-space:normal}
/* フォームの項目名は短いので、箱を文字の幅に寄せる（audit A6） */
.form__l{width:fit-content}

/* ============================================================
   磨き 1周目（2026-10-05・本人の選択：1・3・4・5。2は「1 / 3」の番号ごと削除）
   ============================================================ */
/* 4 和文の見出しと行の項目名は、約物のアキを詰める */
.yh__ja,.yfv__h,.yrows__r>b,.yrows__h,.yplans__r b,.yacc summary b{font-feature-settings:"palt"}
/* 3 人のカード：マウスを乗せると写真がわずかに寄る（名前は灯の色に） */
.ypeople__p .yfig img{transition:transform .9s var(--ease)}
@media (hover:hover){ .ypeople__p>a:hover .yfig img{transform:scale(1.04)} }

/* ============================================================
   下位プラン（工程8・削ぎ落とし表 2026-10-05 承認）
   作り分けない。build が body に plan-lite（60万）／plan-none（30万）を付け、ここで演出だけを打ち消す。
   文字サイズ・余白・配色は3プランとも同じ
   ============================================================ */
/* ---------- 60万：フェード／帯の流れ／hover／慣性スクロールを残す ---------- */
/* FV：オープニングなし・1画面で止まる。飾りの小窓7枚を外し、時刻の4枚だけ（静止画で分かる差） */
.plan-lite .yfv{height:auto}
.plan-lite .yfv__pin{position:relative}
.plan-lite .yop,.plan-lite .yfv__dw{display:none}
.plan-lite .yfv__m{transition:opacity 1.4s var(--ease),filter 1.4s var(--ease)}
.plan-lite .yfv__axis i{transition:left 1.2s var(--ease)}
/* 一字ずつのせり上がり・帯から抜ける見出し・写真が灯る・罫線が引かれる → どれもフェードに */
html.js .plan-lite .yr{transition:opacity 1.1s var(--ease)}
.plan-lite .ym>span{transform:none!important}
html.js .plan-lite .ym>span{transition:opacity 1.1s var(--ease) var(--d,0s)}
html.js .plan-lite .ym:not(.is-in)>span{opacity:0}
html.js .plan-lite .yp img{transition:opacity 1.2s var(--ease) var(--d,0s)}
.plan-lite .yp.is-in .yfig__z{animation:none}
.plan-lite .yl::before{transform:none!important;transition:none!important}
/* 明るい面は灯らず、最初から明るい */
.plan-lite .ylight,html.js .plan-lite .ylight:not(.is-in){background:var(--paper);transition:none}
/* 重ね札 → 縦に並べるだけ */
.plan-lite .ywh__stick,.plan-none .ywh__stick{position:static;height:auto}
.plan-lite .ywh__txt,.plan-none .ywh__txt{align-self:center}
.plan-lite .ywh__stack,.plan-none .ywh__stack{display:grid;gap:20px}
.plan-lite .ywh__card,.plan-none .ywh__card{position:relative;top:auto;height:auto;aspect-ratio:3/2;transform:none}
.plan-lite .ywh__card::after,.plan-none .ywh__card::after{display:none}
.plan-lite .ywh__card figcaption,.plan-none .ywh__card figcaption{top:16px}
/* レポート：縦スクロールで横へ流す動きを外し、指・トラックパッドで送る横並び */
.plan-lite .yrep__pin,.plan-none .yrep__pin{position:static;min-height:0;padding:var(--sec) 0}
.plan-lite .yrep__track{overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:var(--pad);transform:none!important;
  padding-bottom:16px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.plan-lite .yrep .g3__i{scroll-snap-align:start}

/* ---------- 30万：hover だけ残す（Lenis は site.js が止める） ---------- */
.plan-none .yfv{height:auto}
.plan-none .yfv__pin{position:relative}
.plan-none .yop,.plan-none .yfv__dw,.plan-none .yfv__sw,.plan-none .yfv__now,.plan-none .yfv__axis{display:none}
.plan-none .yr,.plan-none .yf,.plan-none .ym>span,.plan-none .yp img,.plan-none .yl::before,.plan-none .yl>*,.plan-none .ylight,
.plan-none .yfv__m,.plan-none .yfv__h,.plan-none .yfv__en{transition:none!important}
.plan-none .yp.is-in .yfig__z,.plan-none .yft__grp{animation:none}
.plan-none .ylight{background:var(--paper)}
/* レポートはトップに3件の静的な並び（スマホは1件目を大きく、残りを2列） */
.plan-none .yrep__track{transform:none!important;overflow:visible}
.plan-none .yrep .g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;width:auto}
.plan-none .yrep .g3__i{width:auto}
/* スタッフは代表1名だけ */
.plan-none .ypeople__list{grid-template-columns:minmax(0,1fr);max-width:440px}
@media (max-width:820px){
  .plan-none .yrep .g3{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .plan-none .yrep .g3__i{width:auto}
  .plan-none .yrep .g3__i:first-child{grid-column:1 / -1}
}
/* 30万：全画面メニューの写真の幕と、写真の切り替えも動かさない（hover だけ残す） */
.plan-none .ygn__ph,.plan-none .ygn__ph img,html.gn-open .plan-none .ygn__ph{transition:none!important}
/* お知らせ一覧：見出し（.yph）の直後は、雛形の行リストの上余白（34px）が外へ抜けて半端な帯になるので0に（60万で audit H2） */
.yph+.ynews .rows{margin-top:0}
