/* v3 — ワイヤー画像の寸法（_ref/参考_Codex構成ワイヤー_20260929.md の「寸法の書き起こし」）から新規に書いた。
   ほかのCSSは見ていない。依頼節だけ request-poster.css を別に読む。 */
:root{
  --k:#232326;--mute:#50505c;--pale:#e9e9ec;--teal:#7fe3e6;--org:#ffa26b;--red:#fd3c26;--acc:#7fe3d9;--acc2:#ff6a00;--ghost:#d8d8dd;--paper:#efeff0;--acc-soft:#d3f6f2;--acc2-soft:#ffd8bd;
  --pad:3.2vw;--fd:"Outfit","Noto Sans JP",sans-serif;--fb:"Noto Sans JP",sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--k);font:500 16px/1.8 var(--fb);overflow-x:clip}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul,ol{list-style:none}
:focus-visible{outline:3px solid var(--k);outline-offset:3px}
.skip{position:fixed;left:8px;top:8px;z-index:99;padding:8px 12px;background:#fff;border:2px solid var(--k);translate:0 -150%}
.skip:focus{translate:0 0}

/* 節と節のあいだは、全幅の細い黒線 */
main{overflow-x:clip}
.band{position:relative;isolation:isolate;border-top:1px solid var(--k)}
.edge{position:relative;height:46px}
.edge::before{content:"";position:absolute;left:0;right:0;top:12px;height:22px;background:radial-gradient(circle,#4a4a50 0 7.5px,transparent 8px) 0 0/44px 22px repeat-x;filter:drop-shadow(1.5px 0 0 var(--acc2)) drop-shadow(-1.5px 0 0 var(--acc));pointer-events:none}
.band[data-dots]::before{content:"";position:absolute;z-index:-1;left:0;right:0;top:14px;height:22px;background:radial-gradient(circle,#4a4a50 0 7.5px,transparent 8px) 0 0/44px 22px repeat-x;filter:drop-shadow(1.5px 0 0 var(--acc2)) drop-shadow(-1.5px 0 0 var(--acc));pointer-events:none}
.band[data-g]::after{content:"";position:absolute;z-index:-1;right:-1vw;top:50%;translate:0 -50%;height:min(clamp(67px,11.9vw,189px),calc(96vw / var(--gr)));aspect-ratio:var(--gr);background:var(--gh) no-repeat right center/100% 100%;pointer-events:none}
.inner{padding-inline:var(--pad)}

/* ─── 1 ヒーロー（高さ＝幅の51%） ─── */
.kv{position:relative;height:clamp(560px,51vw,900px);overflow:hidden;isolation:isolate}
.kv-bar{position:absolute;z-index:9;left:0;right:0;top:0;display:flex;justify-content:space-between;align-items:center;padding:1.6vw var(--pad)}
.kv-logo{display:block;background:var(--k);color:#fff;padding:.5em .9em;font:900 max(15px,1.4vw)/1 var(--fd);text-decoration:none}
.kv-logo svg,.g-bar .logo svg{display:block;height:.58em;width:auto;margin-block:.21em}
.kv-nav{display:flex;align-items:center;gap:2.4vw}
.kv-nav a{font:800 max(13px,.95vw)/1 var(--fb);text-decoration:none;padding:.5em 0;border-bottom:3px solid transparent}
.kv-nav a:hover{border-color:var(--k)}
.kv-nav .live{background:var(--acc);color:var(--k);padding:.7em 1.1em;border:2px solid var(--k);border-radius:999px;box-shadow:3px 3px 0 var(--k)}
.kv-burger{display:none;width:44px;height:44px;border:2px solid var(--k);background:#fff;position:relative}
.kv-burger i,.kv-burger::before,.kv-burger::after{content:"";position:absolute;left:10px;right:10px;height:3px;background:var(--k)}
.kv-burger::before{top:12px}.kv-burger i{top:19px}.kv-burger::after{top:26px}
.kv-ghost{position:absolute;z-index:0;left:4.6vw;top:20%;user-select:none;pointer-events:none}
.kv-ghost svg{display:block;height:16.5vw;width:auto;overflow:visible}
.kv-dot{position:absolute;z-index:1;left:83%;top:8%;width:9vw;aspect-ratio:1;border-radius:50%;background:var(--acc-soft)}
.kv-slash{position:absolute;z-index:1;right:-7vw;bottom:-2vw;width:46vw;height:6vw;border-radius:999px;background:var(--acc2-soft);rotate:-48deg}
.kv-fig{position:absolute;z-index:2;left:61%;bottom:0;height:95%;width:auto;translate:-50% 0;max-width:none}
.kv-text{position:absolute;z-index:3;left:5.2%;top:43%;width:34%}
.kv-text h1{font-size:5.1vw;line-height:1}
.kv-wm{display:block;width:7.6em;max-width:100%;height:auto;overflow:visible}
.kv-text .sub{margin-top:1.1vw;font:900 1.35vw/1.4 var(--fd)}
.kv-text .copy{margin-top:.8vw;font:700 max(13px,1.05vw)/1.85 var(--fb);color:var(--mute)}
.kv-text .tag{margin-top:.3vw;font:900 max(14px,1.15vw)/1.7 var(--fb)}
.kv-icons{display:flex;flex-wrap:wrap;gap:.4em 1.6vw;margin-top:1.4vw}
.kv-icons a{display:inline-flex;align-items:center;gap:.55em;min-height:32px;color:var(--acc2);font:800 max(13px,.95vw)/1.2 var(--fd);letter-spacing:.04em;text-decoration:none}
.kv-icons a::before{content:"";flex:none;width:.7em;height:.7em;background:var(--acc2);rotate:45deg}
.kv-icons a:hover{text-decoration:underline;text-underline-offset:.25em}
.kv-deco{position:absolute;z-index:3;right:4vw;bottom:5%;text-align:right;font:900 italic clamp(16px,1.7vw,28px)/1.12 var(--fd);letter-spacing:-.01em;color:var(--acc2);pointer-events:none;user-select:none}
.kv-deco span{display:block;margin-bottom:.22em}
.kv-deco svg{display:block;height:.7em;width:auto;max-width:100%;margin-left:auto}
.kv-qr{position:absolute;z-index:3;left:5.2%;bottom:4.5%;display:flex;align-items:flex-end;gap:10px;text-decoration:none;color:var(--acc2)}
.kv-qr-img{display:block;width:clamp(96px,7.6vw,124px);height:auto;box-shadow:0 0 0 2px var(--k)}
.kv-qr-label{writing-mode:vertical-rl;font:800 italic 13px/1 var(--fd);letter-spacing:.08em}

/* ─── 共通の見出し・部品 ─── */
.grp{display:flex;align-items:center;gap:.8vw;padding:.33em var(--pad);border-top:1px solid var(--k);color:var(--k);font:900 italic clamp(48px,5.8vw,80px)/1 var(--fd);letter-spacing:.04em}
.gw{display:block;width:var(--w);height:auto;margin-block:.15em;overflow:visible}
#works[data-g]::after,#illust[data-g]::after{top:1vw;translate:0 0}
.js .grp{position:relative;overflow:hidden;border-top:0}
.js .grp::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--k);transform-origin:left;transition:transform .9s cubic-bezier(.7,0,.2,1)}
.js .grp-t{display:block;transition:transform .8s cubic-bezier(.2,.7,.2,1) .4s}
.js .grp:not(.in)::before{transform:scaleX(0)}
.js .grp:not(.in) .grp-t{transform:translateY(160%)}
.h{margin-bottom:2.4vw}
.h small{display:block;color:var(--acc2);font:800 max(12px,.85vw)/1 var(--fd)}
.h small svg,.vid-txt .eb svg{display:block;height:.7em;width:auto}
.h .ol,.vid-txt .ol{margin-top:12px;user-select:none}
.h .ol img,.vid-txt .ol img{display:block;height:clamp(16px,1.6vw,22px);width:auto;max-width:100%}
.h h2{margin-top:.5vw;font:900 clamp(30px,3.6vw,60px)/1.15 var(--fb);text-shadow:3px 0 0 var(--acc2),-3px 0 0 var(--acc)}
.dots{display:flex;justify-content:center;gap:.8vw;padding-top:1.6vw}
.dots button{box-sizing:content-box;width:2vw;min-width:22px;height:.6vw;min-height:8px;padding:8px 0;margin-block:-8px;background:#c9c9cf;background-clip:content-box;transition:background .2s,width .2s}
.dots button:hover{background:#8a8a92}
.dots button.on{background:var(--k);width:3.2vw;min-width:34px}
.chip{display:inline-block;padding:.25em .8em;border:1.5px solid var(--k);border-radius:999px;font:800 12px/1.6 var(--fd);letter-spacing:.05em}
.chip.o{background:var(--acc2-soft)}.chip.t{background:var(--acc-soft)}
.btn{display:inline-flex;align-items:center;min-height:44px;padding:.6em 1.5em;border:2px solid var(--k);border-radius:999px;background:var(--paper);font:800 14px/1.2 var(--fb);text-decoration:none;transition:background .15s,color .15s,border-color .15s,translate .15s cubic-bezier(.34,1.56,.64,1),box-shadow .15s}
.btn:hover{background:var(--acc);border-color:var(--k);color:var(--k)}
.btn.red{background:var(--acc);border-color:var(--k);color:var(--k);box-shadow:3px 3px 0 var(--k)}
.btn.red:hover{translate:-2px -2px;box-shadow:5px 5px 0 var(--k)}
.bul li{display:flex;gap:.7em;font:800 max(13px,.95vw)/1.5 var(--fb);padding:.25em 0}
.bul li::before{content:"";flex:none;width:.55em;height:.55em;margin-top:.55em;background:var(--acc2);rotate:45deg}
.bul a{padding-block:.25em;margin-block:-.25em;text-decoration:none}.bul a:hover{text-decoration:underline}

/* ─── 2 LIVE｜画像2枚｜ART（高さ＝幅の43%） ─── */
.pair{display:grid;grid-template-columns:17fr 33fr 33fr 17fr;min-height:43vw}
.pair-col{display:flex;flex-direction:column;gap:2.4vw;padding:3vw 2.3vw}
.pair-col h2{font:900 4.7vw/1 var(--fd)}
.pw{display:block;width:min(100%,var(--w));height:auto;margin-block:.15em}
.pair-col .ball{width:3vw;aspect-ratio:1;border-radius:50%}
.pair-col.live .ball{background:var(--acc)}.pair-col.art .ball{background:var(--acc2)}
.pair-col p{font:700 max(13px,.95vw)/1.85 var(--fb);color:var(--mute)}
.pair-col .deco{margin-top:auto;font:900 italic clamp(15px,1.5vw,24px)/1.12 var(--fd);letter-spacing:-.01em;color:var(--acc2);user-select:none}
.pair-col .deco span{display:block;margin-bottom:.22em}
.pair-col .deco svg{display:block;height:.7em;width:auto;max-width:100%}
.pair-pic{position:relative;overflow:hidden;background:#eee}
.pair-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* ─── 3 動画（左に動画・右に文字） ─── */
.vid{display:grid;grid-template-columns:418fr 372fr;gap:3.6vw;padding:3.4vw var(--pad);align-items:center}
.vid-a{position:relative}
.vid-frame{position:relative;display:block;width:100%;padding:0;border:0;aspect-ratio:16/9;background:#000;cursor:pointer;overflow:hidden;rotate:-1.5deg;outline:4px solid #fff;box-shadow:8px 8px 0 rgba(127,227,217,.6)}
.vid-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vid-frame img{width:100%;height:100%;object-fit:cover}
.vid-go{position:absolute;left:50%;top:50%;translate:-50% -50%;width:6vw;min-width:56px;aspect-ratio:1;border-radius:50%;background:#fff;border:2px solid var(--k)}
.vid-go::after{content:"";position:absolute;left:38%;top:50%;translate:0 -50%;border-left:1.4vw solid var(--k);border-block:.9vw solid transparent}
.vid-cap{display:flex;justify-content:space-between;gap:1vw;padding-top:.9vw;font:800 max(14px,1.05vw)/1.5 var(--fb)}
.vid-cap a{flex:none;font:700 12px var(--fd);color:var(--mute);text-decoration:none;padding:.3em 0}
.vid-cap a:hover{color:var(--k);text-decoration:underline}
.vid-txt .eb{display:block;color:var(--acc2);font:800 max(12px,.85vw)/1 var(--fd)}
.vid-txt h3{margin-top:.5vw;font:900 clamp(30px,3.6vw,60px)/1.15 var(--fb);text-shadow:3px 0 0 var(--acc2),-3px 0 0 var(--acc)}
.vid-txt .note::before{content:"";display:inline-block;width:.6em;height:.6em;margin-right:.6em;background:var(--acc2);rotate:45deg;vertical-align:.05em}
.vid-txt .note{margin:.5vw 0 1.4vw;font:700 max(13px,.95vw)/1.8 var(--fb);color:var(--mute)}
.vid-list{border-top:2px solid var(--k);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1vw;padding-top:1.2vw}
.vid-list a{display:block;text-decoration:none}
.vid-list .chip{white-space:nowrap}
.vid-list img{aspect-ratio:16/9;width:100%;object-fit:cover;margin-bottom:.5vw}
.vid-list strong{display:block;margin-top:.3vw;font:700 max(12px,.85vw)/1.55 var(--fb)}
.vid-list a:hover strong{text-decoration:underline}
.vid-txt .btn{margin-top:1.6vw}

/* ─── 4 画像の帯（4枚を端から端まで／約1.45:1） ─── */
.strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--pad);scrollbar-width:none;padding:0 var(--pad)}
.strip::-webkit-scrollbar{display:none}
.strip>li{flex:0 0 25%;scroll-snap-align:start;padding:0 .25vw}
.pic{display:block;width:100%;text-align:left}
.pic .ph{display:block;aspect-ratio:1.45/1;overflow:hidden;background:#eee}
.pic img{width:100%;height:100%;object-fit:cover;transition:scale .3s}
.pic:hover img{scale:1.04}
.pic .cap{display:block;padding:.7vw 0 0;font:800 max(12px,.85vw)/1.5 var(--fb)}
.pic .cap b{display:block;font:900 italic 12px/1 var(--fd);letter-spacing:.1em;color:var(--mute);margin-bottom:.2em}
.pad-b{padding-bottom:2.6vw}
.ctl{display:flex;justify-content:center;align-items:center;gap:1.6vw;padding-top:1.4vw}
.ctl .dots{padding-top:0}
.ctl[hidden]{display:none}
.arr{flex:none;width:46px;height:46px;border:2px solid var(--k);border-radius:50%;background:#fff;font:900 18px/1 var(--fd);transition:background .15s,color .15s,opacity .15s}
.arr:hover:not(:disabled){background:var(--k);color:#fff}
.arr:disabled{opacity:.28;cursor:default}
.strip{cursor:grab}.strip.drag{cursor:grabbing;user-select:none}.strip img{-webkit-user-drag:none;user-select:none}

/* ─── 5 キャラの左右分割（中央に縦線） ─── */
.two{display:grid;grid-template-columns:1fr 1fr}
.two>article+article{border-left:2px solid var(--k)}
.who{position:relative;overflow:hidden;display:grid;align-items:end;min-height:26vw;padding:2.6vw 2.6vw 0}
.who.l{grid-template-columns:1.05fr .95fr}
.who.r{grid-template-columns:.95fr 1.05fr}
.who-t{position:relative;z-index:2;align-self:start;padding-bottom:2.6vw}
.who.r .who-t{order:2}
.who-t h3{margin-top:.4vw;font:900 3vw/1.1 var(--fb)}
.who-t .r{display:inline-block;margin-top:.7vw;padding:.3em .8em;border:1.5px solid var(--k);font:800 12px/1.5 var(--fd);letter-spacing:.1em}
.who-t p{margin:1vw 0;font:700 max(13px,.9vw)/1.85 var(--fb);color:var(--mute)}
.who-t dl div{display:flex;gap:.7em;font:700 max(13px,.9vw)/1.6 var(--fb);padding:.15em 0}
.who-t dl div::before{content:"";flex:none;width:.55em;height:.55em;margin-top:.55em;background:var(--acc2);rotate:45deg}
.who-t dt{flex:none;min-width:5.8em;font:800 12px/1.9 var(--fd);letter-spacing:.1em;color:var(--mute)}
.who-t .btns{display:flex;flex-wrap:wrap;gap:.7vw;margin-top:1.4vw}
.who-fig{position:relative;align-self:stretch;margin-top:-2.6vw}
.who.l .who-fig{margin-right:-2.6vw}
.who.r .who-fig{margin-left:-2.6vw}
.who-fig img{position:relative;width:100%}
.bust-clip{position:absolute;inset:0;clip-path:inset(0 -70px 0 -70px)}
.who-fig .bust{position:absolute;left:0;top:0;width:100%;height:auto;max-width:none;margin:0}
.who-fig .bust{filter:drop-shadow(12px 4px 14px rgba(0,0,0,.4))}

/* ─── 6 ギャラリー（5列×2行／約1.45:1／隙間4px） ─── */
.filters{display:flex;flex-wrap:wrap;gap:.6vw;margin-bottom:1.4vw}
.filters button{padding:.5em 1.4em;border:2px solid var(--k);border-radius:999px;font:800 13px/1.2 var(--fb)}
.filters button[aria-pressed="true"]{background:var(--k);color:#fff}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.grid button{display:block;aspect-ratio:1.45/1;overflow:hidden;background:#eee}
.grid img{width:100%;height:100%;object-fit:cover;object-position:50% 6%;transition:scale .3s}
.grid button:hover img{scale:1.05}
.grid button[hidden]{display:none}

/* ─── 活動記録 ─── */
.years{display:grid;grid-template-columns:1fr 1fr;gap:3.2vw}
.yr>header{display:flex;justify-content:space-between;align-items:baseline;border-bottom:2px solid var(--k);padding-bottom:.6vw}
.yr h3{font:900 italic 3vw/1 var(--fd)}
.yr>header span{font:800 12px var(--fd);letter-spacing:.1em;color:var(--mute)}
.yr li{padding:1.1vw 0;border-bottom:1px solid var(--k)}
.yr .when{display:flex;align-items:center;flex-wrap:wrap;gap:.7em}
.yr time{display:inline-flex;align-items:center;gap:.6em;font:800 13px var(--fd)}
.yr time::before{content:"";flex:none;width:.55em;height:.55em;background:var(--acc2);rotate:45deg}
.yr .chip{background:var(--acc2-soft)}
.yr h4{margin-top:.3vw;font:800 max(15px,1.1vw)/1.5 var(--fb)}
.yr li p{margin-top:.3vw;font:500 max(13px,.9vw)/1.85 var(--fb);color:var(--mute)}
.yr .to{display:flex;flex-wrap:wrap;gap:.5vw;margin-top:.7vw}
.yr .to a{padding:.3em 1em;border:1.5px solid var(--k);border-radius:999px;font:800 12px/1.7 var(--fb);text-decoration:none}
.yr .to a:hover{background:var(--k);color:#fff}

/* ─── フッター ─── */
.end{background:var(--paper);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:2.6vw var(--pad)}
.end span{font:700 14px var(--fd);color:var(--mute)}
.end nav{display:flex;flex-wrap:wrap;gap:12px}

/* ─── 拡大表示 ─── */
.zoom{border:0;padding:0;background:transparent;width:100%;height:100%;max-width:100vw;max-height:100vh}
.zoom::backdrop{background:rgba(14,14,18,.9)}
.zoom-in{position:fixed;inset:0;display:grid;grid-template-rows:1fr auto;gap:12px;padding:clamp(12px,3vw,32px)}
.zoom-pic{position:relative;min-height:28svh}
.zoom-pic img{position:absolute;inset:0;margin:auto;max-width:100%;max-height:100%;width:auto;height:auto;background:#fff}
.zoom-bar{display:flex;align-items:center;gap:12px;color:#fff;font:800 14px/1.5 var(--fb)}
.zoom-bar .t{flex:1;min-width:0;display:grid;gap:4px;padding:2px 8px;max-height:36svh;overflow-y:auto;overscroll-behavior:contain}
.zoom-bar .t strong{font:900 clamp(17px,1.7vw,24px)/1.4 var(--fb)}
.zoom-bar .t #zm{font:700 clamp(12px,1vw,14px)/1.5 var(--fd);letter-spacing:.06em;opacity:.85}
.zoom-bar .t p{font:500 clamp(14px,1.15vw,17px)/1.85 var(--fb);max-width:56em;white-space:pre-line}
.zoom-bar .t a{justify-self:start;margin-top:6px;padding:.55em 1.3em;border:2px solid #fff;border-radius:999px;background:#fff;color:var(--k);font:800 14px/1.2 var(--fb);text-decoration:none}
.zoom-bar .t a:hover{background:var(--red)}
.zoom-bar [hidden]{display:none}
#zn{flex:none;font:700 13px var(--fd);opacity:.85}
.zoom-b{flex:none;min-width:46px;height:46px;border:2px solid #fff;border-radius:50%;background:var(--k);color:#fff;font:900 18px/1 var(--fd)}
.zoom-b[hidden]{display:none}
@media(max-width:700px){.zoom-bar{flex-wrap:wrap}.zoom-bar .t{order:-1;flex:1 0 100%;padding:0}#zn{margin-right:auto}}

/* ─── 狭い画面 ─── */
@media(max-width:900px){
  .kv{height:auto;padding-top:84px;display:flex;flex-direction:column}
  .kv-nav{display:none}.kv-burger{display:block}
  .kv-bar.open .kv-nav{display:flex;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;padding:6px var(--pad) 18px;background:var(--paper);border-bottom:2px solid var(--k)}
  .kv-bar.open .kv-nav a{padding:14px 0;border-bottom:1px solid var(--k)}
  .kv-bar.open .kv-nav .live{margin-top:12px}
  .kv-text{position:relative;left:auto;top:auto;width:auto;padding:0 var(--pad)}
  .kv-text h1{font-size:16vw}.kv-text .sub{font-size:4.4vw}.kv-text .copy,.kv-text .tag{font-size:14px}
  .kv-icons a{min-height:40px;font-size:14px}
  .kv-qr{position:relative;left:auto;bottom:auto;order:1;padding:14px var(--pad) 0}
  .kv-qr-img{width:104px}
  .kv-deco{position:relative;left:auto;right:auto;bottom:auto;text-align:left;order:1;padding:8px var(--pad) 0;font-size:16px}.kv-deco svg{margin-left:0}.kv-icons{gap:10px;margin-top:16px}
  .kv-fig{position:relative;left:auto;right:auto;bottom:auto;translate:none;align-self:flex-start;height:auto;width:136vw;margin:6px 0 0 -30vw;order:2}
  .kv-text{order:1}
  .kv-ghost{top:52%}.kv-ghost svg{height:26vw}
  .kv-dot{left:auto;right:6vw;top:270px;width:20vw}
  .kv-slash{right:-16vw;bottom:2vw;width:70vw;height:15vw}
  .pair{grid-template-columns:1fr 1fr;min-height:0}
  .pair-col{padding:6vw 5vw;gap:16px}
  .pair-col h2{font-size:12vw}.pair-col .ball{width:8vw}
  .pair-col.live{grid-column:1;grid-row:1}.pair-col.art{grid-column:2;grid-row:1}
  .pair-pic{aspect-ratio:3/4;grid-row:2}
  .vid{grid-template-columns:1fr;gap:24px;padding:92px var(--pad) 8vw}
  .vid[data-g]::after{top:8px;translate:0 0}
  .vid-cap{padding-top:30px}
  .vid-txt h3{font-size:34px}.vid-list{gap:12px}.vid-list strong{font-size:12px}
  .strip{--sw:min(72vw,420px);padding-inline:calc((100% - var(--sw))/2);scroll-padding-inline:0}
  .strip>li{flex:0 0 var(--sw);padding:0 4px;scroll-snap-align:center}.pic .cap{font-size:13px;padding-top:8px}
  .two{grid-template-columns:1fr}.two>article+article{border-left:0;border-top:2px solid var(--k)}
  .who{min-height:0;padding:8vw var(--pad) 0}
  .who-t h3{font-size:30px}.who-t p,.who-t dl div{font-size:14px}
  .who-t .btns{gap:10px}
  .grid{grid-template-columns:repeat(2,1fr)}
  .years{grid-template-columns:1fr;gap:32px}
  .yr h3{font-size:34px}.yr li{padding:14px 0}.yr h4{font-size:16px}.yr li p{font-size:14px}
  .grp{gap:10px}
  .h{margin-bottom:24px}.h h2{font-size:34px}
  .dots{gap:8px;padding-top:16px}.dots i{width:22px}.dots i.on{width:34px}
  .filters{gap:8px;margin-bottom:16px}
  .bul li{font-size:14px}
}
@media(max-width:560px){.kv-fig{width:156vw;margin:-126px 0 0 -39vw}.who{grid-template-columns:1fr!important}.who.r .who-t{order:0}.who-fig{margin:0!important;height:clamp(300px,92vw,440px);width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* 依頼節（request-poster.css）の中身の幅 */
#request .wrap{position:relative;z-index:2;width:min(100% - var(--pad)*2,1240px);margin-inline:auto}

/* ─── 動き：スクロールで各節が現れる（はっきり）。JSが無い・動きを減らす設定のときは、すべて最初から表示 ─── */
.js .rv{transition:opacity .9s cubic-bezier(.2,.7,.2,1) var(--d,0s),transform .9s cubic-bezier(.2,.7,.2,1) var(--d,0s),translate .9s cubic-bezier(.2,.7,.2,1) var(--d,0s),clip-path 1.05s cubic-bezier(.7,0,.2,1) var(--d,0s)}
.js .rv-up:not(.in){opacity:0;transform:translateY(64px)}
.js .rv-left:not(.in){opacity:0;transform:translateX(-96px)}
.js .rv-right:not(.in){opacity:0;transform:translateX(96px)}
.js .rv-down:not(.in){opacity:0;transform:translateY(-40px)}
.js .rv-mask:not(.in){clip-path:inset(0 100% 0 0)}
.js .rv-wipe:not(.in){clip-path:inset(100% 0 0 0)}
.js .rv-wipe img{transition:scale 1.1s cubic-bezier(.2,.7,.2,1) var(--d,0s),transform .3s}
.js .rv-wipe:not(.in) img{scale:1.07}
.js .rv-pop:not(.in){transform:scale(0)}
.js .rv-pop{transition-timing-function:cubic-bezier(.34,1.56,.64,1)}
.js .rv-fade:not(.in){opacity:0}
.js .rv-slash:not(.in){translate:34vw 34vw}
.js .rv-rise:not(.in){translate:0 5%;opacity:0}
.js .kv-fig.rv-rise:not(.in){translate:-50% 5%}
@media(max-width:900px){.js .rv-rise:not(.in),.js .kv-fig.rv-rise:not(.in){translate:0 14px}}
@media(prefers-reduced-motion:reduce){.js .grp::before,.js .grp-t{transition:none!important}.js .grp:not(.in)::before{transform:none}.js .grp:not(.in) .grp-t{transform:none}}
@media(prefers-reduced-motion:reduce){.js .rv{transition:none!important}.js .rv:not(.in){opacity:1!important;transform:none!important;clip-path:none!important;translate:none!important}}

/* 作品07「無題（青）」だけ、顔が入るように上に揃える */
.strip img[src*="work-mudai-blue"]{object-position:50% 0}

@media(max-width:480px){.ctl{gap:8px}.dots{gap:0}.dots button{min-width:10px;padding-inline:7px}.dots button.on{min-width:22px}}
@media(max-width:560px){.vid-list .chip{font-size:min(12px,2.95vw);padding:.25em .45em;letter-spacing:0}}
