/* うちいくTV トップ
   ものさし：幅=画面の%（原寸 SP375 / PC1280、切替751px）／余白5px刻み
   色：data/colors.json の1か所だけ。ここに色を直接書かない
   線：構造2px・区切り1px ／ 角丸：ピル100px・カード12px ／ 影：ベタ1種 */

:root{--u:0.2666666667vw;--ink:#111;--bg:#fff;--line:#e4e4e4;--mute:#767676;color-scheme:light;
 /* ロゴから取った3色 */
 --brand:#3FB9EC;            /* うちいくブルー。番組・出演者には使わない */
 --brand-ink:#111;
 --a1:var(--brand); --a2:var(--brand); --aink:var(--brand-ink);
 /* 線は2種類だけ。角丸は2種類だけ */
 --bd:calc(2*var(--u));      /* 構造の線：ヘッダー下線・帯・カード枠・ピル縁 */
 --bd-thin:1px;              /* 内容の区切り：一覧の罫線 */
 --r-pill:100px;             /* ピル・丸ボタン */
 --r-card:calc(12*var(--u))} /* カード・箱もの */
@media (min-width:751px){:root{--u:0.078125vw}}
*{box-sizing:border-box}
body{margin:0;background:#fff;color:var(--ink);overflow-x:hidden;
 font-family:"Figtree","Zen Kaku Gothic New","Noto Sans JP",-apple-system,"Hiragino Kaku Gothic ProN",sans-serif;
 font-size:calc(13*var(--u));line-height:1.9;letter-spacing:.02em;-webkit-font-smoothing:antialiased}
@media (min-width:751px){body{font-size:calc(17*var(--u))}}
h1,h2,h3,p,ul{margin:0}ul{list-style:none;padding:0}
img{display:block;max-width:100%}
.w{width:93.75%;max-width:2000px;margin:0 auto}
a{color:inherit;text-decoration:none}

/* ── ヘッダ（近大は左上にロゴが大きく居座る） ── */
/* ══ ヘッダー（近大型） ══
   ・ロゴが左上に大きくはみ出す ・中央にワードマーク ・右にピルと丸ボタン
   ・スクロールすると白帯＋黒い下線になり、丸ボタンが帯の下へ降りる */
.hd{position:fixed;top:0;left:0;right:0;z-index:70;height:calc(56*var(--u));
 transition:background .25s,box-shadow .25s;background:transparent}
@media (min-width:751px){.hd{height:calc(74*var(--u))}}
.hd.stuck{background:#fff;box-shadow:0 var(--bd) 0 var(--ink)}
.hd .mark{position:absolute;left:50%;top:calc(18*var(--u));transform:translateX(-50%);
 font-family:"Figtree";font-weight:900;font-style:italic;letter-spacing:.02em;line-height:1;
 font-size:calc(14*var(--u));white-space:nowrap}
@media (min-width:751px){.hd .mark{font-size:calc(22*var(--u));top:calc(24*var(--u))}}
.hd .lg{position:absolute;left:calc(10*var(--u));top:calc(6*var(--u));z-index:2;transition:transform .25s}
@media (min-width:751px){.hd .lg{left:calc(28*var(--u));top:calc(8*var(--u))}}
.hd .lg img{width:calc(104*var(--u))}
@media (min-width:751px){.hd .lg img{width:calc(176*var(--u))}}
.hd .lg b{display:none;font-family:"Figtree";font-weight:900;font-style:italic;font-size:calc(13*var(--u));
 line-height:1;letter-spacing:.02em;margin-top:calc(6*var(--u))}
@media (min-width:751px){.hd .lg b{display:block}}
.hd .rt{position:absolute;right:calc(10*var(--u));top:calc(8*var(--u));display:flex;align-items:center;
 gap:calc(8*var(--u))}
@media (min-width:751px){.hd .rt{right:calc(28*var(--u));top:calc(12*var(--u));gap:calc(12*var(--u))}}
.hd .pill{border-radius:var(--r-pill);font-weight:900;line-height:1;white-space:nowrap;
 font-size:calc(11*var(--u));padding:calc(10*var(--u)) calc(16*var(--u))}
@media (min-width:751px){.hd .pill{font-size:calc(13*var(--u));padding:calc(12*var(--u)) calc(26*var(--u))}}
.hd .pill.brand{background:var(--brand);color:#111}
.hd .pill.dark{background:var(--ink);color:#fff;display:none}
@media (min-width:751px){.hd .pill.dark{display:block}}
.hd .sns{display:none;width:calc(42*var(--u));height:calc(42*var(--u));border-radius:var(--r-pill);
 background:var(--ink);color:#fff;align-items:center;justify-content:center;
 font-family:"Figtree";font-weight:900;font-size:calc(14*var(--u));line-height:1;flex:none}
@media (min-width:751px){.hd .sns{display:flex}}
.hd .sns svg{width:calc(21*var(--u));height:calc(21*var(--u))}
.hd .circ#srch{display:none}
@media (min-width:751px){.hd .circ#srch{display:flex}}
.hd .circ{width:calc(40*var(--u));height:calc(40*var(--u));border-radius:var(--r-pill);background:var(--ink);color:#fff;
 display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .25s;flex:none}
@media (min-width:751px){.hd .circ{width:calc(50*var(--u));height:calc(50*var(--u))}}
.hd.stuck .circ{transform:translateY(calc(28*var(--u)))}
@media (min-width:751px){.hd.stuck .circ{transform:translateY(calc(36*var(--u)))}}
.hd .circ svg{width:calc(17*var(--u));height:calc(17*var(--u));stroke:#fff;fill:none;stroke-width:2.2}
@media (min-width:751px){.hd .circ svg{width:calc(21*var(--u));height:calc(21*var(--u))}}
.burger i{display:block;width:calc(16*var(--u));height:2px;background:#fff;margin:calc(2*var(--u)) 0}
@media (min-width:751px){.burger i{width:calc(20*var(--u))}}
/* メニュー */
.menu{position:fixed;inset:0;z-index:75;background:var(--ink);color:#fff;display:none;
 flex-direction:column;justify-content:center;padding:0 8%}
.menu.open{display:flex}
.menu a{font-size:calc(24*var(--u));font-weight:900;line-height:1;padding:calc(16*var(--u)) 0;
 border-bottom:var(--bd-thin) solid rgba(255,255,255,.18)}
@media (min-width:751px){.menu a{font-size:calc(34*var(--u));padding:calc(22*var(--u)) 0}}
.menu .cls{position:absolute;top:calc(14*var(--u));right:calc(14*var(--u));width:calc(44*var(--u));
 height:calc(44*var(--u));border-radius:var(--r-pill);border:var(--bd) solid rgba(255,255,255,.4);
 display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:calc(18*var(--u))}

/* ── ヒーロー ── */
.hero{position:relative;overflow:hidden;padding-top:calc(76*var(--u))}
@media (min-width:751px){.hero{padding-top:calc(120*var(--u))}}
/* 背景の巨大文字 */
.ghost{position:absolute;top:calc(16*var(--u));right:calc(-10*var(--u));pointer-events:none;user-select:none;
 font-family:"Figtree";font-weight:900;font-size:calc(64*var(--u));line-height:.9;letter-spacing:-.02em;
 color:#efeeeb;text-align:right}
@media (min-width:751px){.ghost{font-size:calc(110*var(--u));top:calc(30*var(--u));right:calc(40*var(--u))}}
/* 左右の縦帯 */
.bar{position:absolute;top:0;bottom:0;width:calc(26*var(--u));background:var(--a1);overflow:hidden;z-index:30;
 display:flex;align-items:center;justify-content:center}
@media (min-width:751px){.bar{width:calc(34*var(--u))}}
.bar.l{left:calc(14*var(--u))}
.bar.r{right:calc(14*var(--u));background:var(--a2)}
@media (min-width:751px){.bar.l{left:calc(28*var(--u))}.bar.r{right:calc(28*var(--u))}}
.bar span{writing-mode:vertical-rl;font-family:"Figtree";font-weight:900;font-size:calc(15*var(--u));
 letter-spacing:.32em;line-height:1;white-space:nowrap;color:var(--aink);opacity:.85}
@media (min-width:751px){.bar span{font-size:calc(20*var(--u))}}
/* 吹き出し */
.bub{position:relative;z-index:20;margin:calc(20*var(--u)) auto 0;width:max-content;max-width:70%;
 background:var(--bc,#111);color:#fff;border-radius:var(--r-pill);padding:calc(11*var(--u)) calc(24*var(--u));
 font-size:calc(11*var(--u));font-weight:900;line-height:1.4;text-align:center;
 transition:background .3s}
.bub span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (min-width:751px){.bub{font-size:calc(16*var(--u));padding:calc(14*var(--u)) calc(34*var(--u));
 margin-top:calc(30*var(--u))}}
.bub:after{content:"";position:absolute;left:50%;bottom:calc(-11*var(--u));margin-left:calc(-11*var(--u));
 width:0;height:0;border-left:calc(11*var(--u)) solid transparent;border-right:calc(11*var(--u)) solid transparent;
 border-top:calc(12*var(--u)) solid var(--bc,#111)}
/* 位置ドット */
.dots{position:absolute;right:calc(52*var(--u));top:50%;transform:translateY(-50%);z-index:30;
 display:none;flex-direction:column;gap:calc(9*var(--u))}
@media (min-width:751px){.dots{display:flex;right:calc(74*var(--u))}}
.dots i{width:calc(7*var(--u));height:calc(7*var(--u));border-radius:var(--r-pill);border:var(--bd) solid var(--ink);
 cursor:pointer;transition:background .2s}
.dots i.on{background:var(--ink)}

/* ── 扇（下端そろえ・右に向かって小さくなる） ── */
.deck{position:relative;margin-top:calc(10*var(--u));touch-action:pan-y;cursor:grab;overflow:hidden;z-index:10}
/* 高さはカードの実寸から決める。手で決めると余白がずれる */
.deck.wide{height:calc(250*var(--u)*9/16 + 14*var(--u))}
@media (min-width:751px){
  .deck.wide{height:calc(430*var(--u)*9/16 + 20*var(--u))}
}
@media (min-width:751px){.deck{margin-top:calc(15*var(--u))}}
.deck.drag{cursor:grabbing}
.cd{position:absolute;left:50%;bottom:calc(8*var(--u));width:calc(190*var(--u));margin-left:calc(-95*var(--u));
 transform-origin:50% 100%;transition:transform .5s cubic-bezier(.2,.8,.25,1),opacity .3s;will-change:transform}
@media (min-width:751px){.cd{width:calc(300*var(--u));margin-left:calc(-150*var(--u));bottom:calc(12*var(--u))}}
.deck.drag .cd{transition:none}
.card{background:#fff;border:var(--bd) solid var(--ink);border-radius:var(--r-card);overflow:hidden;
 box-shadow:calc(5*var(--u)) calc(5*var(--u)) 0 var(--ink)}
@media (min-width:751px){.card{
 box-shadow:calc(8*var(--u)) calc(8*var(--u)) 0 var(--ink)}}
.card .th{background:#000;overflow:hidden}
.card .th img{width:100%;height:100%;object-fit:cover;object-position:center}
.deck.wide .cd{width:calc(250*var(--u));margin-left:calc(-125*var(--u))}
@media (min-width:751px){.deck.wide .cd{width:calc(430*var(--u));margin-left:calc(-215*var(--u))}}
.deck.wide .card .th{aspect-ratio:16/9}

.cd:not(.on) .card:after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.42)}
.cd:not(.on) .card{filter:saturate(.7)}
.cd .card{position:relative}
.cd.on .card{box-shadow:calc(5*var(--u)) calc(5*var(--u)) 0 var(--c)}
@media (min-width:751px){.cd.on .card{box-shadow:calc(8*var(--u)) calc(8*var(--u)) 0 var(--c)}}

/* ── 番組ピル ── */
.pills{position:relative;z-index:30;background:#fff;border-top:var(--bd) solid var(--ink);
 border-bottom:var(--bd) solid var(--ink);padding:calc(10*var(--u)) 0;overflow:hidden;white-space:nowrap}
.pills .run{display:inline-flex;gap:calc(10*var(--u));animation:run 50s linear infinite}
.pills span{border:var(--bd) solid var(--ink);border-radius:var(--r-pill);padding:calc(8*var(--u)) calc(18*var(--u));
 font-size:calc(10*var(--u));font-weight:700;line-height:1}
@media (min-width:751px){.pills span{font-size:calc(14*var(--u));padding:calc(11*var(--u)) calc(26*var(--u))}}
@keyframes run{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.pills .run{animation:none}}

.st{width:93.75%;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:calc(20*var(--u));
 padding:calc(40*var(--u)) 0 calc(50*var(--u))}
@media (min-width:751px){.st{grid-template-columns:repeat(4,1fr);gap:calc(30*var(--u));padding:calc(60*var(--u)) 0 calc(70*var(--u))}}
.st b{display:block;font-family:"Figtree";font-weight:900;font-size:calc(26*var(--u));line-height:1;font-variant-numeric:tabular-nums}
@media (min-width:751px){.st b{font-size:calc(40*var(--u))}}
.st span{display:block;font-size:calc(10*var(--u));color:var(--mute);margin-top:calc(10*var(--u));line-height:1}
@media (min-width:751px){.st span{font-size:calc(12*var(--u))}}



/* ══ 以下、各セクション ══ */
/* ── セクション見出し ─────────────────── */
.sec{padding:calc(60*var(--u)) 0}
@media (min-width:751px){ .sec{padding:calc(80*var(--u)) 0} }
.sh{display:flex;align-items:flex-end;justify-content:space-between;gap:calc(20*var(--u));
  border-bottom:var(--bd) solid var(--ink);padding-bottom:calc(15*var(--u));margin-bottom:calc(30*var(--u))}
@media (min-width:751px){ .sh{margin-bottom:calc(40*var(--u))} }
.sh .lf{min-width:0}
.sh .en{display:block;font-family:"Figtree",sans-serif;font-weight:900;line-height:1;
  font-size:calc(10*var(--u));letter-spacing:.2em;color:var(--mute)}
@media (min-width:751px){ .sh .en{font-size:calc(12*var(--u))} }
.sh h2{font-size:calc(20*var(--u));font-weight:900;line-height:1.4;margin-top:calc(10*var(--u))}
@media (min-width:751px){ .sh h2{font-size:calc(26*var(--u))} }
.sh .lead{font-size:calc(12*var(--u));line-height:1.8;color:var(--mute);margin-top:calc(5*var(--u))}
@media (min-width:751px){ .sh .lead{font-size:calc(14*var(--u))} }
.sh .more{flex:none;font-size:calc(11*var(--u));line-height:1;font-weight:700;white-space:nowrap;
  border:var(--bd) solid var(--ink);border-radius:var(--r-pill);padding:calc(10*var(--u)) calc(20*var(--u))}
@media (min-width:751px){ .sh .more{font-size:calc(13*var(--u));padding:calc(12*var(--u)) calc(25*var(--u))} }
.sh .more:hover{background:var(--ink);color:#fff}

/* ── 番組（弧に並べる） ─────────────────── */
.prog-sec{padding:calc(20*var(--u)) 0 calc(50*var(--u))}
@media (min-width:751px){.prog-sec{padding:calc(30*var(--u)) 0 calc(70*var(--u))}}
.prog-sec .w{margin-top:calc(20*var(--u))}
@media (min-width:751px){.prog-sec .w{margin-top:calc(30*var(--u))}}
.arcwrap{position:relative;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;
 padding:calc(30*var(--u)) 0 calc(10*var(--u))}
@media (min-width:751px){.arcwrap{padding-top:calc(46*var(--u));overflow:visible}}
/* カードの上を通す弧の線 */
.arcline{position:absolute;left:6%;right:6%;top:calc(10*var(--u));height:calc(70*var(--u));
 border-top:var(--bd) solid var(--brand);border-radius:50% 50% 0 0 / 100% 100% 0 0;pointer-events:none}
@media (min-width:751px){.arcline{top:calc(18*var(--u));height:calc(96*var(--u))}}
.arc{display:flex;align-items:flex-start;justify-content:center;gap:calc(10*var(--u));
 width:max-content;min-width:100%;padding:0 3.125%}
@media (min-width:751px){.arc{gap:calc(16*var(--u))}}
.ar{display:block;width:calc(126*var(--u));flex:none;
 transform:rotate(var(--a)) translateY(calc(var(--y)*var(--u)));transition:transform .25s}
@media (min-width:751px){.ar{width:calc(160*var(--u))}}
@media (hover:hover){.ar:hover{transform:rotate(0deg) translateY(calc(-6*var(--u)))}}
.card2{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;background:#111;
 border:var(--bd) solid var(--ink);border-radius:var(--r-card);
 box-shadow:calc(5*var(--u)) calc(5*var(--u)) 0 var(--ink)}
.ar:hover .card2{box-shadow:calc(5*var(--u)) calc(5*var(--u)) 0 var(--c)}
.card2 .th2{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.card2 .sh2{position:absolute;inset:0;
 background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.45) 55%,rgba(0,0,0,.72))}
.card2 .lg2{position:absolute;left:8%;right:8%;top:50%;transform:translateY(-50%);width:84%;height:auto;
 max-height:62%;object-fit:contain;
 filter:drop-shadow(0 0 calc(2*var(--u)) rgba(255,255,255,.9))
        drop-shadow(0 0 calc(5*var(--u)) rgba(255,255,255,.55))
        drop-shadow(0 calc(2*var(--u)) calc(5*var(--u)) rgba(0,0,0,.55))}

.card2 .on3{position:absolute;left:calc(8*var(--u));top:calc(8*var(--u));
 font-family:"Figtree";font-weight:900;font-size:calc(8*var(--u));line-height:1;letter-spacing:.1em;
 background:var(--c);color:var(--ci,#fff);border-radius:var(--r-pill);padding:calc(5*var(--u)) calc(9*var(--u))}
@media (min-width:751px){.card2 .on3{font-size:calc(10*var(--u));left:calc(11*var(--u));top:calc(11*var(--u));
 padding:calc(6*var(--u)) calc(12*var(--u))}}
.ar .tx2{display:block;margin-top:calc(12*var(--u));padding-left:calc(10*var(--u));
 border-left:var(--bd) solid var(--c)}
@media (min-width:751px){.ar .tx2{margin-top:calc(16*var(--u));padding-left:calc(12*var(--u))}}
.ar .tx2 b{display:block;font-size:calc(11*var(--u));font-weight:900;line-height:1.4}
@media (min-width:751px){.ar .tx2 b{font-size:calc(14*var(--u))}}
.ar .tx2 span{display:block;font-size:calc(9*var(--u));line-height:1.5;color:var(--mute);margin-top:calc(5*var(--u))}
@media (min-width:751px){.ar .tx2 span{font-size:calc(11*var(--u))}}
.ar .tx2 i{font-style:normal;font-family:"Figtree";font-variant-numeric:tabular-nums}

/* ── 出演者（近大の SNAP 型） ───────────── */
.cast-sec{padding:calc(20*var(--u)) 0 calc(50*var(--u))}
@media (min-width:751px){.cast-sec{padding:calc(30*var(--u)) 0 calc(70*var(--u))}}
/* 流れる大見出し。塗りと白抜きを交互に */
.secmq{overflow:hidden;white-space:nowrap}
.secmq .run{display:inline-flex;gap:calc(20*var(--u));animation:run 30s linear infinite}
.secmq span,.secmq i{font-family:"Figtree";font-style:normal;font-weight:900;
 font-size:calc(52*var(--u));line-height:1.05;letter-spacing:-.02em}
@media (min-width:751px){.secmq span,.secmq i{font-size:calc(96*var(--u))}}
.secmq span{color:var(--ink)}
.secmq i{color:transparent;-webkit-text-stroke:calc(1.5*var(--u)) var(--ink)}
/* 横並び。はみ出したら横スクロール */
.castwrap{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;
 padding:calc(20*var(--u)) 3.125% calc(10*var(--u))}
@media (min-width:751px){.castwrap{padding-top:calc(25*var(--u))}}
.cast{display:flex;gap:calc(16*var(--u));width:max-content;min-width:100%;justify-content:center;
 align-items:flex-end}
@media (min-width:751px){.cast{gap:calc(28*var(--u))}}
.sn{display:block;width:calc(140*var(--u));flex:none;position:relative}
@media (min-width:751px){.sn{width:calc(200*var(--u))}}
/* 全身写真。切り抜き素材が入るまでは胸から上の写真を下寄せで置いている */
/* 全身写真。切り抜き素材が入るまでは胸から上の写真を下寄せで置いている */
.sn .ph{display:block;width:100%;aspect-ratio:3/5;background:#fff;overflow:hidden}
.sn .ph img{width:100%;height:100%;object-fit:contain;object-position:center bottom;
 transition:transform .3s;transform-origin:center bottom}
@media (hover:hover){.sn:hover .ph img{transform:scale(1.04)}}
/* 手書き風の縦書き一言 */
.sn .say{position:absolute;left:calc(-4*var(--u));top:calc(8*var(--u));writing-mode:vertical-rl;
 font-family:"Yomogi","Zen Kaku Gothic New",sans-serif;font-size:calc(10*var(--u));line-height:1.5;
 letter-spacing:.08em;padding-left:calc(6*var(--u));border-left:var(--bd-thin) solid var(--ink);
 max-height:calc(100*var(--u));z-index:2;background:#fff}
@media (min-width:751px){.sn .say{font-size:calc(14*var(--u));max-height:calc(150*var(--u));
 left:calc(-6*var(--u));top:calc(14*var(--u))}}
.sn .say:before{content:"";position:absolute;left:0;top:calc(-4*var(--u));width:calc(9*var(--u));
 height:var(--bd-thin);background:var(--ink);transform-origin:left;transform:rotate(38deg)}
/* 下のプロフィール。近大と同じく斜めの罫でくくる */
.sn .inf{display:block;position:relative;margin-top:calc(12*var(--u));padding-left:calc(14*var(--u))}
@media (min-width:751px){.sn .inf{margin-top:calc(16*var(--u));padding-left:calc(18*var(--u))}}
.sn .inf:before{content:"";position:absolute;left:calc(4*var(--u));top:calc(3*var(--u));bottom:calc(3*var(--u));
 width:var(--bd);background:var(--c)}
.sn .inf:after{content:"";position:absolute;left:0;top:0;width:calc(11*var(--u));height:var(--bd);
 background:var(--c);transform-origin:left top;transform:rotate(52deg)}
.sn .inf b{display:block;font-size:calc(14*var(--u));font-weight:900;line-height:1.3}
@media (min-width:751px){.sn .inf b{font-size:calc(20*var(--u))}}
.sn .lbl2{display:block;font-size:calc(9*var(--u));line-height:1;color:var(--mute);margin-top:calc(8*var(--u))}
@media (min-width:751px){.sn .lbl2{font-size:calc(12*var(--u));margin-top:calc(10*var(--u))}}
.sn .pgs{display:block;margin-top:calc(4*var(--u))}
.sn .pgs span{display:block;font-size:calc(10*var(--u));line-height:1.6;font-weight:700}
@media (min-width:751px){.sn .pgs span{font-size:calc(13*var(--u))}}
/* 全部見る */
.more2{text-align:center;margin-top:calc(25*var(--u))}
@media (min-width:751px){.more2{margin-top:calc(40*var(--u))}}
.more2 a{display:inline-flex;align-items:center;gap:calc(14*var(--u));background:var(--ink);color:#fff;
 border-radius:var(--r-pill);font-size:calc(13*var(--u));font-weight:900;line-height:1;
 padding:calc(12*var(--u)) calc(14*var(--u)) calc(12*var(--u)) calc(28*var(--u))}
@media (min-width:751px){.more2 a{font-size:calc(17*var(--u));gap:calc(20*var(--u));
 padding:calc(14*var(--u)) calc(16*var(--u)) calc(14*var(--u)) calc(40*var(--u))}}
.more2 a span{display:flex;align-items:center;justify-content:center;width:calc(32*var(--u));
 height:calc(32*var(--u));border-radius:var(--r-pill);background:var(--brand);color:var(--brand-ink);
 font-size:calc(15*var(--u));transition:transform .2s}
@media (min-width:751px){.more2 a span{width:calc(42*var(--u));height:calc(42*var(--u));font-size:calc(19*var(--u))}}
@media (hover:hover){.more2 a:hover span{transform:translateX(calc(4*var(--u)))}}

/* ── どこに来る？（地図） ───────────────── */
.sched-sec{padding:calc(20*var(--u)) 0 calc(50*var(--u))}
@media (min-width:751px){.sched-sec{padding:calc(30*var(--u)) 0 calc(70*var(--u))}}
.sched-sec .w{margin-top:calc(25*var(--u))}
@media (min-width:751px){.sched-sec .w{margin-top:calc(35*var(--u))}}
.mapw{display:grid;gap:calc(30*var(--u))}
@media (min-width:751px){.mapw{grid-template-columns:1fr calc(400*var(--u));gap:calc(50*var(--u));align-items:start}}
/* 予定リスト（主役） */
.pk{min-width:0}
.slist{display:grid;gap:0}
.slist li.mo{border:0;padding:calc(16*var(--u)) 0 calc(8*var(--u));display:block;position:static}
.slist li.mo:first-child{padding-top:0}
.slist li.mo span{font-family:"Figtree";font-weight:900;font-size:calc(11*var(--u));line-height:1;
 letter-spacing:.14em;color:var(--mute)}
@media (min-width:751px){.slist li.mo span{font-size:calc(13*var(--u))}}
.slist li{position:relative;display:grid;grid-template-columns:calc(44*var(--u)) calc(40*var(--u)) 1fr;
 gap:calc(12*var(--u));align-items:center;border-top:var(--bd-thin) solid var(--line);
 padding:calc(12*var(--u)) 0 calc(12*var(--u)) calc(12*var(--u));transition:background .2s}
/* 左端にその人の色 */
.slist li:not(.mo):before{content:"";position:absolute;left:0;top:calc(10*var(--u));bottom:calc(10*var(--u));
 width:calc(4*var(--u));border-radius:var(--r-pill);background:var(--c)}
@media (min-width:751px){.slist li{grid-template-columns:calc(62*var(--u)) calc(52*var(--u)) 1fr;
 gap:calc(20*var(--u));padding:calc(15*var(--u)) 0 calc(15*var(--u)) calc(16*var(--u))}}
@media (hover:hover){.slist li:hover{background:#FAFAF8}}
.slist .dt{text-align:center;line-height:1}
.slist .dt b{display:block;font-family:"Figtree";font-weight:900;font-size:calc(24*var(--u));
 font-variant-numeric:tabular-nums}
@media (min-width:751px){.slist .dt b{font-size:calc(34*var(--u))}}
.slist .dt span{display:block;font-size:calc(9*var(--u));color:var(--mute);margin-top:calc(5*var(--u))}
@media (min-width:751px){.slist .dt span{font-size:calc(11*var(--u))}}
.slist .fc3{display:block;width:calc(40*var(--u));height:calc(40*var(--u));border-radius:var(--r-pill);
 overflow:hidden;border:var(--bd) solid var(--c);background:var(--soft)}
@media (min-width:751px){.slist .fc3{width:calc(52*var(--u));height:calc(52*var(--u))}}
.slist .fc3 img{width:100%;height:100%;object-fit:cover}
.slist .pl{min-width:0}
.slist .tag3{display:inline-block;font-size:calc(9*var(--u));line-height:1;font-weight:700;
 letter-spacing:.03em;background:var(--c);color:var(--ci,#fff);border-radius:var(--r-pill);
 padding:calc(5*var(--u)) calc(11*var(--u));max-width:100%;white-space:nowrap;overflow:hidden;
 text-overflow:ellipsis}
@media (min-width:751px){.slist .tag3{font-size:calc(11*var(--u));padding:calc(6*var(--u)) calc(14*var(--u))}}
.slist .pl b{display:block;font-size:calc(13*var(--u));font-weight:700;line-height:1.5;
 margin-top:calc(6*var(--u));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (min-width:751px){.slist .pl b{font-size:calc(17*var(--u))}}
.slist .sub3{display:block;font-size:calc(9*var(--u));line-height:1;color:var(--mute);margin-top:calc(6*var(--u))}
@media (min-width:751px){.slist .sub3{font-size:calc(12*var(--u))}}
.slist .sub3 i{font-style:normal;margin-left:calc(10*var(--u));padding-left:calc(10*var(--u));
 border-left:var(--bd-thin) solid var(--line)}
/* 地図（飾り。押せない） */
.jpwrap{min-width:0}
.jpmap{width:100%;height:auto;display:block;pointer-events:none}
.jpmap .pf{fill:#F1F0EE;stroke:#fff;stroke-width:1.6}
.jpmap .pf.has{stroke-width:1.6}
.jpmap .okibox{fill:none;stroke:var(--line);stroke-width:2}
.jpmap .okilbl{font-size:26px;fill:var(--mute);font-weight:700}
/* 予定件数の印 */
.jpmap .mk circle{fill:var(--ink)}
.jpmap .mk text{fill:#fff;font-family:"Figtree",sans-serif;font-weight:900;font-size:22px;
 text-anchor:middle}
.jpnote{font-size:calc(9*var(--u));line-height:1.6;color:var(--mute);margin-top:calc(12*var(--u));
 display:flex;flex-wrap:wrap;gap:calc(6*var(--u)) calc(16*var(--u));align-items:center}
@media (min-width:751px){.jpnote{font-size:calc(11*var(--u))}}
.jpnote .cntnote{display:inline-flex;align-items:center;gap:calc(6*var(--u))}
.jpnote .cntnote:before{content:"";width:calc(10*var(--u));height:calc(10*var(--u));
 border-radius:calc(3*var(--u));background:var(--brand)}
.jpsrc{font-size:calc(8*var(--u));line-height:1.6;color:#b3b3af;margin-top:calc(8*var(--u))}
@media (min-width:751px){.jpsrc{font-size:calc(10*var(--u))}}

/* ── うちメン（唯一の反転ブロック） ──────── */
.mem{background:var(--ink);color:#fff;padding:calc(30*var(--u)) calc(20*var(--u))}
@media (min-width:751px){ .mem{padding:calc(55*var(--u));
  display:grid;grid-template-columns:1fr calc(320*var(--u));gap:calc(55*var(--u));align-items:start} }
.mem h2{font-size:calc(22*var(--u));font-weight:900;line-height:1.5;letter-spacing:.01em}
@media (min-width:751px){ .mem h2{font-size:calc(32*var(--u))} }
.mem .ml>p{margin-top:calc(18*var(--u));color:rgba(255,255,255,.72);
  font-size:calc(12*var(--u));line-height:2}
@media (min-width:751px){ .mem .ml>p{font-size:calc(14*var(--u))} }
.mem .perks{margin-top:calc(22*var(--u));display:flex;flex-wrap:wrap;gap:calc(8*var(--u))}
.mem .perks div{font-size:calc(10*var(--u));line-height:1;color:rgba(255,255,255,.85);
  border:var(--bd-thin) solid rgba(255,255,255,.3);border-radius:var(--r-pill);
  padding:calc(8*var(--u)) calc(14*var(--u))}
@media (min-width:751px){ .mem .perks div{font-size:calc(12*var(--u));padding:calc(10*var(--u)) calc(18*var(--u))} }

.mem .buy{margin-top:calc(28*var(--u));background:#fff;color:var(--ink);padding:calc(22*var(--u))}
@media (min-width:751px){ .mem .buy{margin-top:0} }
.mem .row{display:flex;align-items:baseline;justify-content:space-between;
  border-bottom:var(--bd-thin) solid var(--line);padding-bottom:calc(12*var(--u));margin-bottom:calc(12*var(--u))}
.mem .row.sm{border:0;margin-bottom:0}
.mem .row span{font-size:calc(11*var(--u));line-height:1;color:var(--mute)}
@media (min-width:751px){ .mem .row span{font-size:calc(12*var(--u))} }
.mem .row b{font-family:"Figtree",sans-serif;font-weight:900;font-size:calc(30*var(--u));line-height:1;
  font-variant-numeric:tabular-nums}
.mem .row b i{font-style:normal;font-size:.42em;margin:0 .12em}
.mem .row.sm b{font-size:calc(17*var(--u));color:#b3b3af}
.mem .buy .note{font-size:calc(9.5*var(--u));line-height:1.7;color:var(--mute);margin-top:calc(12*var(--u))}
@media (min-width:751px){ .mem .buy .note{font-size:calc(11*var(--u))} }
.mem .btn{display:block;text-align:center;margin-top:calc(16*var(--u));background:var(--brand);
  color:var(--brand-ink);font-size:calc(13*var(--u));font-weight:900;line-height:1;
  padding:calc(16*var(--u));border-radius:var(--r-pill)}
@media (min-width:751px){ .mem .btn{font-size:calc(15*var(--u))} }
.mem .btn:hover{opacity:.85}

/* 限定動画のサムネ。横スクロールで並べる（スマホは指で流す） */
.mem .mth{margin-top:calc(30*var(--u));border-top:var(--bd-thin) solid rgba(255,255,255,.2);
  padding-top:calc(22*var(--u))}
@media (min-width:751px){ .mem .mth{grid-column:1/-1;margin-top:calc(15*var(--u))} }
.mem .mthh{font-size:calc(10*var(--u));line-height:1;letter-spacing:.08em;
  color:rgba(255,255,255,.5);margin-bottom:calc(14*var(--u))}
@media (min-width:751px){ .mem .mthh{font-size:calc(12*var(--u))} }
.mem .mtl{display:flex;gap:calc(12*var(--u));overflow-x:auto;padding-bottom:calc(8*var(--u));
  scrollbar-width:none;-webkit-overflow-scrolling:touch}
.mem .mtl::-webkit-scrollbar{display:none}
@media (min-width:751px){ .mem .mtl{display:grid;grid-template-columns:repeat(6,1fr);
  gap:calc(16*var(--u));overflow:visible} }
.mem .mt{flex:0 0 calc(180*var(--u));min-width:0}
@media (min-width:751px){ .mem .mt{flex:none} }
.mem .mt .im{position:relative;aspect-ratio:16/9;overflow:hidden;background:#000;
  border-radius:calc(4*var(--u))}
.mem .mt .im img{width:100%;height:100%;object-fit:cover;display:block}
/* 鍵マーク＝メンバー限定であることの目印 */
.mem .mt .im:after{content:"";position:absolute;right:calc(6*var(--u));top:calc(6*var(--u));
  width:calc(20*var(--u));height:calc(20*var(--u));border-radius:var(--r-pill);
  background:rgba(0,0,0,.65) center/calc(10*var(--u)) no-repeat;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E")}
.mem .mt b{display:block;font-size:calc(9.5*var(--u));font-weight:500;line-height:1.6;
  margin-top:calc(8*var(--u));color:rgba(255,255,255,.72);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media (min-width:751px){ .mem .mt b{font-size:calc(11*var(--u))} }

.mem2{display:flex;align-items:center;gap:calc(15*var(--u));margin-top:calc(20*var(--u));
  border:var(--bd-thin) solid var(--line);padding:calc(15*var(--u))}
.mem2:hover{border-color:var(--ink)}
.mem2 img{width:calc(40*var(--u));height:calc(40*var(--u));border-radius:var(--r-pill);flex:none}
.mem2 .tt b{display:block;font-size:calc(12*var(--u));font-weight:700;line-height:1.5}
@media (min-width:751px){ .mem2 .tt b{font-size:calc(14*var(--u))} }
.mem2 .tt span{display:block;font-size:calc(10*var(--u));line-height:1.5;color:var(--mute)}
@media (min-width:751px){ .mem2 .tt span{font-size:calc(12*var(--u))} }
.mem2 .go{margin-left:auto;font-size:calc(11*var(--u));white-space:nowrap;color:var(--mute)}

/* ── グッズ ───────────────────────────── */
.glead{font-size:calc(12*var(--u));line-height:1.9;color:var(--mute);margin-bottom:calc(22*var(--u))}
@media (min-width:751px){ .glead{font-size:calc(14*var(--u));margin-bottom:calc(35*var(--u))} }
.goods{display:grid;grid-template-columns:1fr 1fr;gap:calc(25*var(--u)) calc(15*var(--u))}
@media (min-width:751px){ .goods{grid-template-columns:repeat(3,1fr);gap:calc(45*var(--u)) calc(30*var(--u))} }
.gi .im{position:relative;aspect-ratio:1;background:var(--soft);overflow:hidden;
  border-radius:var(--r-card)}
.gi .im img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.gi:hover .im img{transform:scale(1.04)}
/* 受注生産などの注記。左上に小さく貼る */
.gi .bo{position:absolute;left:calc(8*var(--u));top:calc(8*var(--u));background:var(--ink);color:#fff;
  font-size:calc(8.5*var(--u));line-height:1;font-weight:700;letter-spacing:.04em;
  padding:calc(6*var(--u)) calc(9*var(--u));border-radius:var(--r-pill)}
@media (min-width:751px){ .gi .bo{font-size:calc(10*var(--u));padding:calc(7*var(--u)) calc(12*var(--u))} }
.gi .lb{display:inline-block;margin-top:calc(12*var(--u));font-size:calc(9*var(--u));line-height:1;
  font-weight:700;padding:calc(5*var(--u)) calc(9*var(--u));border-radius:var(--r-pill)}
@media (min-width:751px){ .gi .lb{font-size:calc(10.5*var(--u));padding:calc(6*var(--u)) calc(12*var(--u))} }
.gi b{display:block;font-size:calc(12*var(--u));font-weight:700;line-height:1.6;margin-top:calc(8*var(--u))}
@media (min-width:751px){ .gi b{font-size:calc(15*var(--u))} }
.gi .pr{font-family:"Figtree",sans-serif;font-weight:900;font-size:calc(15*var(--u));line-height:1;
  margin-top:calc(7*var(--u));font-variant-numeric:tabular-nums}
@media (min-width:751px){ .gi .pr{font-size:calc(18*var(--u))} }
.gi .pr i{font-style:normal;font-size:.55em;color:var(--mute);margin-left:.5em;font-weight:400;
  font-family:inherit}

/* ── アプリ ───────────────────────────── */
.apps{display:grid;gap:calc(15*var(--u))}
@media (min-width:751px){ .apps{grid-template-columns:repeat(3,1fr);gap:calc(30*var(--u))} }
.app{border:var(--bd) solid var(--ink);border-radius:var(--r-card);
  padding:calc(22*var(--u));display:flex;flex-direction:column;background:#fff;
  transition:transform .2s,box-shadow .2s}
.app:hover{transform:translate(calc(-3*var(--u)),calc(-3*var(--u)));
  box-shadow:calc(5*var(--u)) calc(5*var(--u)) 0 var(--ink)}
.app .ah{display:flex;align-items:center;gap:calc(14*var(--u))}
.app img{width:calc(60*var(--u));height:calc(60*var(--u));border-radius:calc(14*var(--u));flex:none;
  border:var(--bd-thin) solid var(--line)}
@media (min-width:751px){ .app img{width:calc(68*var(--u));height:calc(68*var(--u))} }
.app .an{min-width:0}
.app b{display:block;font-size:calc(15*var(--u));font-weight:900;line-height:1.4}
@media (min-width:751px){ .app b{font-size:calc(17*var(--u))} }
.app .free{display:inline-block;margin-top:calc(7*var(--u));font-size:calc(9*var(--u));line-height:1;
  font-weight:700;letter-spacing:.06em;padding:calc(5*var(--u)) calc(10*var(--u));
  border-radius:var(--r-pill);background:var(--brand);color:var(--brand-ink)}
@media (min-width:751px){ .app .free{font-size:calc(10.5*var(--u))} }
.app q{display:block;font-size:calc(12*var(--u));line-height:1.9;color:var(--mute);
  margin-top:calc(16*var(--u));quotes:none;flex:1}
@media (min-width:751px){ .app q{font-size:calc(13*var(--u))} }
.app .dl{margin-top:calc(18*var(--u));display:flex;align-items:center;justify-content:space-between;
  font-size:calc(11*var(--u));line-height:1;font-weight:700;
  border-top:var(--bd-thin) solid var(--line);padding-top:calc(16*var(--u))}
@media (min-width:751px){ .app .dl{font-size:calc(12.5*var(--u))} }
.app .dl i{font-style:normal;transition:transform .2s}
.app:hover .dl i{transform:translateX(calc(4*var(--u)))}

/* ── フッター ─────────────────────────── */
.foot{background:var(--ink);color:#fff;margin-top:calc(60*var(--u));overflow:hidden}
@media (min-width:751px){ .foot{margin-top:calc(90*var(--u))} }
/* 締めの大文字。切れて見えるくらい大きく置く */
.fmark{display:flex;gap:calc(30*var(--u));white-space:nowrap;padding-top:calc(30*var(--u));
  opacity:.13;user-select:none;pointer-events:none}
.fmark span{font-family:"Figtree",sans-serif;font-weight:900;font-size:calc(76*var(--u));
  line-height:.9;letter-spacing:-.02em}
@media (min-width:751px){ .fmark{padding-top:calc(45*var(--u));gap:calc(50*var(--u))}
  .fmark span{font-size:calc(130*var(--u))} }

.foot .cols{display:grid;gap:calc(35*var(--u));padding-top:calc(35*var(--u))}
@media (min-width:751px){ .foot .cols{grid-template-columns:calc(300*var(--u)) 1fr;
  gap:calc(60*var(--u));padding-top:calc(50*var(--u))} }
.foot .lg img{width:calc(110*var(--u))}
@media (min-width:751px){ .foot .lg img{width:calc(130*var(--u))} }
.foot .lg p{font-size:calc(11*var(--u));line-height:2;color:rgba(255,255,255,.55);
  margin-top:calc(16*var(--u))}
@media (min-width:751px){ .foot .lg p{font-size:calc(12.5*var(--u))} }
.foot .sns{display:flex;gap:calc(10*var(--u));margin-top:calc(22*var(--u))}
.foot .sns a{display:flex;align-items:center;justify-content:center;
  width:calc(42*var(--u));height:calc(42*var(--u));
  border:var(--bd-thin) solid rgba(255,255,255,.3);border-radius:var(--r-pill);color:#fff}
.foot .sns svg{width:calc(19*var(--u));height:calc(19*var(--u));fill:currentColor}
.foot .sns svg .p{fill:var(--ink)}
.foot .sns a:hover{background:#fff;color:var(--ink)}
.foot .sns a:hover svg .p{fill:#fff}

.fnav{display:grid;grid-template-columns:1fr 1fr;gap:calc(25*var(--u)) calc(20*var(--u))}
@media (min-width:751px){ .fnav{grid-template-columns:repeat(3,1fr);gap:calc(30*var(--u))} }
.fnav b{display:block;font-size:calc(10*var(--u));line-height:1;letter-spacing:.1em;font-weight:700;
  color:rgba(255,255,255,.4);padding-bottom:calc(12*var(--u));margin-bottom:calc(6*var(--u));
  border-bottom:var(--bd-thin) solid rgba(255,255,255,.18)}
@media (min-width:751px){ .fnav b{font-size:calc(11*var(--u))} }
.fnav a{display:block;font-size:calc(12*var(--u));line-height:1;padding:calc(9*var(--u)) 0;
  color:rgba(255,255,255,.85)}
@media (min-width:751px){ .fnav a{font-size:calc(13.5*var(--u));padding:calc(10*var(--u)) 0} }
.fnav a:hover{color:#fff;text-decoration:underline;text-underline-offset:.3em}

.fbot{display:flex;align-items:center;justify-content:space-between;
  margin-top:calc(35*var(--u));border-top:var(--bd-thin) solid rgba(255,255,255,.15);
  padding:calc(20*var(--u)) 0 calc(28*var(--u))}
@media (min-width:751px){ .fbot{margin-top:calc(55*var(--u));padding:calc(22*var(--u)) 0 calc(35*var(--u))} }
.cr{font-size:calc(10*var(--u));line-height:1;color:rgba(255,255,255,.45);
  font-family:"Figtree",sans-serif;letter-spacing:.1em}
.totop{display:flex;align-items:center;justify-content:center;
  width:calc(40*var(--u));height:calc(40*var(--u));border-radius:var(--r-pill);
  border:var(--bd-thin) solid rgba(255,255,255,.3);color:#fff}
.totop svg{width:calc(16*var(--u));height:calc(16*var(--u));fill:none;stroke:currentColor;
  stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.totop:hover{background:#fff;color:var(--ink)}

/* hidden 属性は必ず効かせる。display を持つクラス（.more など）に負けていたため */
[hidden]{display:none!important}

/* ══ 下層ページ（番組・出演者・一覧）════════════════
   ものさし・色・線・角丸はトップと共通。ここでは形だけ足す */
body.sub .hd{position:sticky}
/* ロゴは帯から下へはみ出すので、その分だけ本文を下げる
   （スマホでロゴ下端は約65px、PCはワードマーク込みで約130px） */
body.sub .sec:first-of-type{padding-top:calc(92*var(--u))}
@media (min-width:751px){ body.sub .sec:first-of-type{padding-top:calc(152*var(--u))} }
.crumb{display:flex;flex-wrap:wrap;align-items:center;gap:calc(6*var(--u));
  font-size:calc(10*var(--u));line-height:1.6;color:var(--mute)}
@media (min-width:751px){ .crumb{font-size:calc(12*var(--u));gap:calc(8*var(--u))} }
.crumb a:hover{text-decoration:underline}
.crumb i{font-style:normal;color:#c9c9c5}
.crumb span{color:var(--ink);font-weight:700}

/* ── 番組ページの頭 ─────────────────── */
.phero{padding:calc(92*var(--u)) 0 calc(30*var(--u));
  border-bottom:var(--bd) solid var(--ink);position:relative;overflow:hidden}
@media (min-width:751px){ .phero{padding:calc(152*var(--u)) 0 calc(50*var(--u))} }
/* 番組色は帯として下端だけに置く（塗る面積は5%まで。D11） */
.phero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:calc(6*var(--u));background:var(--c)}
.ph2{margin-top:calc(22*var(--u))}
@media (min-width:751px){ .ph2{display:grid;grid-template-columns:1fr calc(300*var(--u));
  gap:calc(50*var(--u));align-items:center;margin-top:calc(30*var(--u))} }
.phero .badge{display:inline-block;font-size:calc(9.5*var(--u));line-height:1;font-weight:900;
  letter-spacing:.06em;padding:calc(7*var(--u)) calc(13*var(--u));border-radius:var(--r-pill);
  background:var(--c);color:var(--ci)}
@media (min-width:751px){ .phero .badge{font-size:calc(11*var(--u));padding:calc(8*var(--u)) calc(16*var(--u))} }
.phero h1{font-size:calc(26*var(--u));font-weight:900;line-height:1.35;margin-top:calc(14*var(--u));
  letter-spacing:.01em;text-wrap:balance}
@media (min-width:751px){ .phero h1{font-size:calc(46*var(--u))} }
.pmeta{display:flex;flex-wrap:wrap;align-items:center;gap:calc(8*var(--u));
  font-size:calc(11*var(--u));line-height:1;color:var(--mute);margin-top:calc(14*var(--u))}
@media (min-width:751px){ .pmeta{font-size:calc(13.5*var(--u));gap:calc(10*var(--u))} }
.pmeta i{font-style:normal;color:#c9c9c5}
.pmeta b{font-family:"Figtree",sans-serif;font-weight:900;font-size:1.25em;color:var(--ink);
  font-variant-numeric:tabular-nums}
.pcast{display:flex;flex-wrap:wrap;gap:calc(8*var(--u));margin-top:calc(20*var(--u))}
.pcast a{display:flex;align-items:center;gap:calc(8*var(--u));border:var(--bd-thin) solid var(--line);
  border-radius:var(--r-pill);padding:calc(5*var(--u)) calc(14*var(--u)) calc(5*var(--u)) calc(5*var(--u));
  font-size:calc(11*var(--u));line-height:1;font-weight:700}
@media (min-width:751px){ .pcast a{font-size:calc(13*var(--u))} }
.pcast a:hover{border-color:var(--ink)}
.pcast img{width:calc(28*var(--u));height:calc(28*var(--u));border-radius:var(--r-pill);object-fit:cover}
@media (min-width:751px){ .pcast img{width:calc(34*var(--u));height:calc(34*var(--u))} }
.phero .pr{margin-top:calc(25*var(--u));display:flex;justify-content:center}
@media (min-width:751px){ .phero .pr{margin-top:0;justify-content:flex-end} }
.phero .pr img{width:calc(190*var(--u));height:auto;max-height:calc(150*var(--u));object-fit:contain}
@media (min-width:751px){ .phero .pr img{width:100%;max-height:calc(210*var(--u))} }

/* ── 出演者ページの頭 ───────────────── */
.thero{padding:calc(92*var(--u)) 0 0;border-bottom:var(--bd) solid var(--ink);
  position:relative;overflow:hidden}
@media (min-width:751px){ .thero{padding-top:calc(152*var(--u))} }
.thero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:calc(6*var(--u));background:var(--c)}
.thin{margin-top:calc(22*var(--u))}
@media (min-width:751px){ .thin{display:grid;grid-template-columns:calc(360*var(--u)) 1fr;
  gap:calc(55*var(--u));align-items:end;margin-top:calc(30*var(--u))} }
.tph{position:relative;aspect-ratio:3/4;background:var(--soft);overflow:hidden;
  border:var(--bd) solid var(--ink);border-bottom:0}
.tph:before{content:"";position:absolute;inset:auto 0 0 0;height:38%;
  background:linear-gradient(transparent,color-mix(in srgb,var(--c) 22%,transparent))}
.tph img{position:relative;width:100%;height:100%;object-fit:contain;object-position:bottom}
.tl{padding:calc(24*var(--u)) 0 calc(30*var(--u))}
@media (min-width:751px){ .tl{padding-bottom:calc(45*var(--u))} }
.thero h1{font-size:calc(30*var(--u));font-weight:900;line-height:1.3;letter-spacing:.02em}
@media (min-width:751px){ .thero h1{font-size:calc(54*var(--u))} }
.tcatch{font-family:"Yomogi",cursive;font-size:calc(13*var(--u));line-height:2;
  margin-top:calc(14*var(--u));max-width:calc(560*var(--u))}
@media (min-width:751px){ .tcatch{font-size:calc(17*var(--u))} }
.tfacts{display:grid;grid-template-columns:1fr 1fr;gap:calc(12*var(--u)) calc(20*var(--u));
  margin-top:calc(22*var(--u));max-width:calc(560*var(--u))}
@media (min-width:751px){ .tfacts{grid-template-columns:repeat(3,1fr)} }
.tfacts dt{font-size:calc(9.5*var(--u));line-height:1;letter-spacing:.06em;color:var(--mute);font-weight:700}
@media (min-width:751px){ .tfacts dt{font-size:calc(11*var(--u))} }
.tfacts dd{margin:calc(6*var(--u)) 0 0;font-size:calc(12*var(--u));line-height:1.5;font-weight:700}
@media (min-width:751px){ .tfacts dd{font-size:calc(14.5*var(--u))} }
.tx{display:inline-block;margin-top:calc(22*var(--u));font-family:"Figtree",sans-serif;
  font-size:calc(11*var(--u));line-height:1;font-weight:700;
  border:var(--bd) solid var(--ink);border-radius:var(--r-pill);padding:calc(11*var(--u)) calc(20*var(--u))}
@media (min-width:751px){ .tx{font-size:calc(13*var(--u))} }
.tx:hover{background:var(--ink);color:#fff}

/* ── 年表 ─────────────────────────── */
.career{max-width:calc(820*var(--u));margin:0 auto;padding-left:calc(14*var(--u));
  border-left:var(--bd) solid var(--line)}
.career li{position:relative;padding:0 0 calc(24*var(--u)) calc(14*var(--u))}
.career li:last-child{padding-bottom:0}
.career li:before{content:"";position:absolute;left:calc(-20*var(--u));top:calc(6*var(--u));
  width:calc(11*var(--u));height:calc(11*var(--u));border-radius:var(--r-pill);
  background:#fff;border:var(--bd) solid var(--ink)}
.career b{display:block;font-family:"Figtree",sans-serif;font-weight:900;font-size:calc(14*var(--u));
  line-height:1;font-variant-numeric:tabular-nums}
@media (min-width:751px){ .career b{font-size:calc(18*var(--u))} }
.career span{display:block;font-size:calc(12*var(--u));line-height:1.9;color:var(--mute);
  margin-top:calc(7*var(--u))}
@media (min-width:751px){ .career span{font-size:calc(14.5*var(--u))} }

/* ── 動画のグリッド ──────────────────── */
.vgrid{display:grid;grid-template-columns:1fr 1fr;gap:calc(20*var(--u)) calc(12*var(--u))}
@media (min-width:751px){ .vgrid{grid-template-columns:repeat(4,1fr);gap:calc(35*var(--u)) calc(22*var(--u))} }
.vc .th{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--soft);
  border-radius:calc(4*var(--u))}
.vc .th img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.vc:hover .th img{transform:scale(1.05)}
.vc b{display:block;font-size:calc(11*var(--u));font-weight:700;line-height:1.6;
  margin-top:calc(9*var(--u));
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media (min-width:751px){ .vc b{font-size:calc(13.5*var(--u))} }
.vc .mt{display:block;font-size:calc(9.5*var(--u));line-height:1.5;color:var(--mute);
  margin-top:calc(5*var(--u))}
@media (min-width:751px){ .vc .mt{font-size:calc(11.5*var(--u))} }

/* ── ほかの番組・ほかの出演者 ───────────── */
.othh{font-size:calc(10*var(--u));line-height:1;letter-spacing:.1em;font-weight:700;
  color:var(--mute);padding-bottom:calc(14*var(--u));border-bottom:var(--bd) solid var(--ink)}
@media (min-width:751px){ .othh{font-size:calc(12*var(--u))} }
.others{display:flex;flex-wrap:wrap;gap:calc(8*var(--u));margin-top:calc(18*var(--u))}
.others a{font-size:calc(11*var(--u));line-height:1;font-weight:700;
  border:var(--bd-thin) solid var(--line);border-left:calc(5*var(--u)) solid var(--c);
  padding:calc(11*var(--u)) calc(15*var(--u))}
@media (min-width:751px){ .others a{font-size:calc(13*var(--u));padding:calc(13*var(--u)) calc(18*var(--u))} }
.others a:hover{border-color:var(--ink);border-left-color:var(--c)}

/* ── 番組一覧 ───────────────────────── */
.pgrid{display:grid;gap:calc(12*var(--u))}
@media (min-width:751px){ .pgrid{grid-template-columns:repeat(3,1fr);gap:calc(20*var(--u))} }
.pcard{position:relative;display:flex;align-items:center;gap:calc(14*var(--u));
  border:var(--bd-thin) solid var(--line);border-radius:var(--r-card);padding:calc(14*var(--u));
  transition:transform .2s,box-shadow .2s}
.pcard:hover{transform:translate(calc(-3*var(--u)),calc(-3*var(--u)));
  box-shadow:calc(5*var(--u)) calc(5*var(--u)) 0 var(--c);border-color:var(--ink)}
.pcard .im{flex:none;width:calc(72*var(--u));height:calc(56*var(--u));background:var(--soft);
  border-radius:calc(6*var(--u));display:flex;align-items:center;justify-content:center;overflow:hidden}
@media (min-width:751px){ .pcard .im{width:calc(96*var(--u));height:calc(72*var(--u))} }
.pcard .im img{width:100%;height:100%;object-fit:contain;padding:calc(6*var(--u))}
.pcard .tt{min-width:0}
.pcard b{display:block;font-size:calc(12.5*var(--u));font-weight:900;line-height:1.5}
@media (min-width:751px){ .pcard b{font-size:calc(15*var(--u))} }
.pcard .mt{display:block;font-size:calc(10*var(--u));line-height:1.5;color:var(--mute);
  margin-top:calc(6*var(--u));font-variant-numeric:tabular-nums}
@media (min-width:751px){ .pcard .mt{font-size:calc(12*var(--u))} }
.pcard .ob{position:absolute;right:calc(12*var(--u));top:calc(12*var(--u));
  font-size:calc(8.5*var(--u));line-height:1;font-weight:900;letter-spacing:.04em;
  padding:calc(5*var(--u)) calc(9*var(--u));border-radius:var(--r-pill);
  background:var(--c);color:var(--ci)}
@media (min-width:751px){ .pcard .ob{font-size:calc(10*var(--u))} }

/* ── 出演者ページの来店予定 ──────────────── */
.tsched .tlist{margin-top:calc(18*var(--u));display:grid;gap:calc(2*var(--u))}
@media (min-width:751px){ .tsched .tlist{grid-template-columns:1fr 1fr;gap:calc(2*var(--u)) calc(20*var(--u))} }
.tlist li{display:flex;align-items:center;gap:calc(14*var(--u));
  border-bottom:var(--bd-thin) solid var(--line);padding:calc(14*var(--u)) 0;position:relative}
.tlist li:before{content:"";position:absolute;left:calc(-9*var(--u));top:calc(18*var(--u));bottom:calc(18*var(--u));
  width:calc(3*var(--u));background:var(--c)}
.tlist .dt{flex:none;width:calc(52*var(--u));text-align:center}
@media (min-width:751px){ .tlist .dt{width:calc(64*var(--u))} }
.tlist .dt b{display:block;font-family:"Figtree",sans-serif;font-weight:900;font-size:calc(17*var(--u));
  line-height:1;font-variant-numeric:tabular-nums}
@media (min-width:751px){ .tlist .dt b{font-size:calc(21*var(--u))} }
.tlist .dt>span{display:block;font-size:calc(9*var(--u));line-height:1;color:var(--mute);
  margin-top:calc(5*var(--u))}
@media (min-width:751px){ .tlist .dt>span{font-size:calc(10.5*var(--u))} }
.tlist .pl{min-width:0}
.tlist .tag3{display:inline-block;font-size:calc(8.5*var(--u));line-height:1;font-weight:700;
  padding:calc(5*var(--u)) calc(9*var(--u));border-radius:var(--r-pill);
  background:var(--c);color:var(--ci)}
@media (min-width:751px){ .tlist .tag3{font-size:calc(10*var(--u));padding:calc(6*var(--u)) calc(11*var(--u))} }
.tlist .pl b{display:block;font-size:calc(12*var(--u));font-weight:700;line-height:1.5;
  margin-top:calc(6*var(--u))}
@media (min-width:751px){ .tlist .pl b{font-size:calc(14.5*var(--u))} }
.tlist .sub3{display:block;font-size:calc(9.5*var(--u));line-height:1.5;color:var(--mute);
  margin-top:calc(3*var(--u))}
@media (min-width:751px){ .tlist .sub3{font-size:calc(11.5*var(--u))} }
.tnone{margin-top:calc(18*var(--u));font-size:calc(11.5*var(--u));line-height:1.9;color:var(--mute)}
@media (min-width:751px){ .tnone{font-size:calc(13.5*var(--u))} }
.tnone a{text-decoration:underline;text-underline-offset:.3em}

/* ── 来店予定ページ ───────────────────── */
.shd{display:flex;flex-wrap:wrap;align-items:baseline;gap:calc(12*var(--u));
  padding-bottom:calc(14*var(--u))}
.shd h1{font-size:calc(20*var(--u));font-weight:900;line-height:1.4;letter-spacing:.01em}
@media (min-width:751px){ .shd h1{font-size:calc(32*var(--u))} }
.shd .cnt{font-family:"Figtree",sans-serif;font-weight:900;font-size:calc(13*var(--u));
  line-height:1;color:var(--mute);font-variant-numeric:tabular-nums}
@media (min-width:751px){ .shd .cnt{font-size:calc(17*var(--u))} }
.golink{margin-left:auto;font-size:calc(10.5*var(--u));line-height:1;font-weight:700;
  border:var(--bd) solid var(--ink);border-radius:var(--r-pill);
  padding:calc(9*var(--u)) calc(16*var(--u))}
@media (min-width:751px){ .golink{font-size:calc(12.5*var(--u))} }
.golink:hover{background:var(--ink);color:#fff}

.sfil{display:grid;gap:calc(14*var(--u));border-top:var(--bd) solid var(--ink);
  border-bottom:var(--bd-thin) solid var(--line);padding:calc(18*var(--u)) 0;
  margin:calc(18*var(--u)) 0 calc(28*var(--u))}
@media (min-width:751px){ .sfil{gap:calc(16*var(--u));padding:calc(24*var(--u)) 0;
  margin:calc(22*var(--u)) 0 calc(40*var(--u))} }
.sfrow{display:grid;gap:calc(9*var(--u))}
@media (min-width:751px){ .sfrow{grid-template-columns:calc(72*var(--u)) 1fr;
  gap:calc(20*var(--u));align-items:center} }
.sfl{font-size:calc(9.5*var(--u));line-height:1;letter-spacing:.1em;font-weight:700;color:var(--mute)}
@media (min-width:751px){ .sfl{font-size:calc(11*var(--u))} }

/* 出演者は顔で選ぶ */
.castfil{display:flex;flex-wrap:wrap;gap:calc(8*var(--u))}
.cb{font:inherit;cursor:pointer;background:#fff;color:var(--ink);
  border:var(--bd-thin) solid var(--line);border-radius:var(--r-pill);
  display:flex;align-items:center;gap:calc(7*var(--u));
  padding:calc(4*var(--u)) calc(13*var(--u)) calc(4*var(--u)) calc(4*var(--u))}
.cb:hover{border-color:var(--ink)}
.cb.on{background:var(--c,var(--ink));color:var(--ci,#fff);border-color:transparent}
.cb .av{width:calc(30*var(--u));height:calc(30*var(--u));border-radius:var(--r-pill);
  overflow:hidden;flex:none;background:var(--soft);display:block}
@media (min-width:751px){ .cb .av{width:calc(34*var(--u));height:calc(34*var(--u))} }
.cb .av img{width:100%;height:100%;object-fit:cover;display:block}
.cb .av.all{background:var(--ink)}
.cb.on .av.all{background:#fff}
.cb .lb{font-size:calc(11*var(--u));line-height:1;font-weight:700}
@media (min-width:751px){ .cb .lb{font-size:calc(13*var(--u))} }
.cb .qt{font-family:"Figtree",sans-serif;font-weight:900;font-size:calc(10*var(--u));
  line-height:1;opacity:.55;font-variant-numeric:tabular-nums}
@media (min-width:751px){ .cb .qt{font-size:calc(12*var(--u))} }

.abs{display:flex;flex-wrap:wrap;gap:calc(6*var(--u))}
.ab{font:inherit;cursor:pointer;background:#fff;color:var(--ink);
  border:var(--bd-thin) solid var(--line);border-radius:var(--r-pill);
  font-size:calc(10.5*var(--u));line-height:1;font-weight:700;
  padding:calc(9*var(--u)) calc(14*var(--u));display:flex;align-items:center;gap:calc(5*var(--u))}
@media (min-width:751px){ .ab{font-size:calc(12.5*var(--u));padding:calc(10*var(--u)) calc(16*var(--u))} }
.ab i{font-style:normal;font-family:"Figtree",sans-serif;font-weight:900;font-size:.85em;
  color:var(--mute);font-variant-numeric:tabular-nums}
.ab:hover{border-color:var(--ink)}
.ab.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.ab.on i{color:rgba(255,255,255,.6)}

.sels{display:flex;flex-wrap:wrap;gap:calc(8*var(--u));align-items:center}
.sels select{font:inherit;font-size:calc(11*var(--u));line-height:1;font-weight:700;color:var(--ink);
  background:#fff;border:var(--bd-thin) solid var(--line);border-radius:var(--r-pill);
  padding:calc(10*var(--u)) calc(30*var(--u)) calc(10*var(--u)) calc(14*var(--u));
  -webkit-appearance:none;appearance:none;cursor:pointer;max-width:calc(200*var(--u));
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right calc(11*var(--u)) center;
  background-size:calc(12*var(--u))}
@media (min-width:751px){ .sels select{font-size:calc(12.5*var(--u))} }
.shd .vsw{margin-left:calc(6*var(--u))}
.vsw{display:flex;border:var(--bd) solid var(--ink);border-radius:var(--r-pill);overflow:hidden}
.vsw button{font:inherit;cursor:pointer;background:#fff;color:var(--ink);border:0;
  font-size:calc(10.5*var(--u));line-height:1;font-weight:700;padding:calc(10*var(--u)) calc(16*var(--u))}
@media (min-width:751px){ .vsw button{font-size:calc(12.5*var(--u))} }
.vsw button.on{background:var(--ink);color:#fff}

/* ── リスト（月 → 日 → 予定）───────────── */
.mon{display:flex;align-items:baseline;gap:calc(8*var(--u));
  border-bottom:var(--bd) solid var(--ink);padding-bottom:calc(10*var(--u));
  margin:calc(28*var(--u)) 0 calc(6*var(--u))}
.mon:first-child{margin-top:0}
.mon b{font-family:"Figtree",sans-serif;font-weight:900;font-size:calc(24*var(--u));line-height:1;
  font-variant-numeric:tabular-nums}
@media (min-width:751px){ .mon b{font-size:calc(32*var(--u))} }
.mon b:after{content:"月";font-family:"Zen Kaku Gothic New",sans-serif;font-size:.45em;margin-left:.1em}
.mon i{font-style:normal;font-family:"Figtree",sans-serif;font-size:calc(11*var(--u));
  color:var(--mute);font-weight:700}
.mon em{font-style:normal;margin-left:auto;font-size:calc(10*var(--u));color:var(--mute)}
@media (min-width:751px){ .mon em{font-size:calc(12*var(--u))} }
.day{display:flex;gap:calc(12*var(--u));border-bottom:var(--bd-thin) solid var(--line);
  padding:calc(14*var(--u)) 0}
@media (min-width:751px){ .day{gap:calc(20*var(--u));padding:calc(16*var(--u)) 0} }
.day.tdy{background:linear-gradient(90deg,color-mix(in srgb,var(--brand) 12%,transparent),transparent 40%)}
.dd{flex:none;width:calc(38*var(--u));text-align:center;padding-top:calc(2*var(--u))}
@media (min-width:751px){ .dd{width:calc(50*var(--u))} }
.dn{display:block;font-family:"Figtree",sans-serif;font-weight:900;font-size:calc(20*var(--u));
  line-height:1;font-variant-numeric:tabular-nums}
@media (min-width:751px){ .dn{font-size:calc(26*var(--u))} }
.dw{display:block;font-size:calc(9*var(--u));line-height:1;color:var(--mute);margin-top:calc(4*var(--u))}
@media (min-width:751px){ .dw{font-size:calc(10.5*var(--u))} }
.dw.sat{color:#3D6FD6}.dw.sun{color:#D8352F}
.evs{flex:1;min-width:0;display:grid;gap:calc(8*var(--u))}
.ev{display:flex;align-items:center;gap:calc(10*var(--u));
  border-left:calc(4*var(--u)) solid var(--c);padding-left:calc(11*var(--u))}
.avs{display:flex;flex:none}
.avs img,.avs .gu{width:calc(28*var(--u));height:calc(28*var(--u));border-radius:var(--r-pill);
  object-fit:cover;border:calc(2*var(--u)) solid #fff;margin-left:calc(-8*var(--u));display:block}
@media (min-width:751px){ .avs img,.avs .gu{width:calc(34*var(--u));height:calc(34*var(--u))} }
.avs img:first-child,.avs .gu:first-child{margin-left:0}
.avs .gu{background:var(--soft);color:var(--mute);font-size:calc(10*var(--u));
  display:flex;align-items:center;justify-content:center;font-weight:900}
.ev .mid{min-width:0}
.stn{font-size:calc(12.5*var(--u));font-weight:700;line-height:1.5}
@media (min-width:751px){ .stn{font-size:calc(15*var(--u))} }
.ev .sub{display:flex;flex-wrap:wrap;align-items:center;gap:calc(6*var(--u));
  margin-top:calc(5*var(--u));font-size:calc(9.5*var(--u));line-height:1;color:var(--mute)}
@media (min-width:751px){ .ev .sub{font-size:calc(11.5*var(--u));gap:calc(8*var(--u))} }
.ev .pg{background:var(--c);color:var(--ci);font-weight:700;
  padding:calc(5*var(--u)) calc(9*var(--u));border-radius:var(--r-pill)}
.more{display:block;width:100%;margin-top:calc(24*var(--u));font:inherit;cursor:pointer;
  background:#fff;color:var(--ink);border:var(--bd) solid var(--ink);border-radius:var(--r-pill);
  font-size:calc(12*var(--u));line-height:1;font-weight:900;padding:calc(16*var(--u))}
@media (min-width:751px){ .more{font-size:calc(14*var(--u))} }
.more:hover{background:var(--ink);color:#fff}
.snone2{font-size:calc(12*var(--u));line-height:1.9;color:var(--mute);
  padding:calc(40*var(--u)) 0;text-align:center}

/* ── カレンダー ─────────────────────── */
.mnav{display:flex;align-items:center;justify-content:center;gap:calc(20*var(--u));
  padding-bottom:calc(16*var(--u))}
.mnav b{font-family:"Figtree",sans-serif;font-weight:900;font-size:calc(16*var(--u));line-height:1}
@media (min-width:751px){ .mnav b{font-size:calc(20*var(--u))} }
.mnav button{font:inherit;cursor:pointer;background:#fff;color:var(--ink);
  border:var(--bd) solid var(--ink);border-radius:var(--r-pill);
  width:calc(34*var(--u));height:calc(34*var(--u));font-size:calc(16*var(--u));line-height:1}
.mnav button:hover{background:var(--ink);color:#fff}
.calsc{overflow-x:auto;-webkit-overflow-scrolling:touch}
.calin{min-width:calc(660*var(--u))}
@media (min-width:751px){ .calin{min-width:0} }
.wkh,.cal .grid{display:grid;grid-template-columns:repeat(7,1fr)}
.wkh{gap:1px;font-size:calc(9*var(--u));line-height:1;color:var(--mute);text-align:center;
  padding-bottom:calc(8*var(--u))}
@media (min-width:751px){ .wkh{font-size:calc(11*var(--u))} }
.cal .grid{gap:1px;background:var(--line);border:var(--bd-thin) solid var(--line)}
.cday{background:#fff;min-height:calc(72*var(--u));padding:calc(5*var(--u));
  display:flex;flex-direction:column;gap:calc(3*var(--u));position:relative;min-width:0}
@media (min-width:751px){ .cday{min-height:calc(118*var(--u));padding:calc(8*var(--u));
  gap:calc(4*var(--u))} }
.cday.out{background:var(--soft)}
.cday.tdy{outline:calc(2*var(--u)) solid var(--brand);outline-offset:calc(-2*var(--u))}
.cday .n{font-family:"Figtree",sans-serif;font-weight:900;font-size:calc(11*var(--u));
  line-height:1;color:var(--mute)}
@media (min-width:751px){ .cday .n{font-size:calc(15*var(--u))} }
.cday.has .n{color:var(--ink)}
.cday .n.sun{color:#D8352F}.cday .n.sat{color:#3D6FD6}
/* 右上の丸＝その日の件数。2件以上のときだけ出す */
.cq{position:absolute;right:calc(4*var(--u));top:calc(4*var(--u));
  width:calc(15*var(--u));height:calc(15*var(--u));border-radius:var(--r-pill);
  background:var(--ink);color:#fff;font-family:"Figtree",sans-serif;font-weight:900;
  font-size:calc(8.5*var(--u));line-height:1;display:flex;align-items:center;justify-content:center}
@media (min-width:751px){ .cq{width:calc(19*var(--u));height:calc(19*var(--u));
  font-size:calc(11*var(--u));right:calc(6*var(--u));top:calc(6*var(--u))} }
/* 予定1件。出演者カラーの縦線＋薄い下地 */
.ce{display:block;min-width:0;border-left:calc(3*var(--u)) solid var(--c);
  background:color-mix(in srgb, var(--c) 11%, #fff);
  padding:calc(3*var(--u)) calc(4*var(--u))}
@media (min-width:751px){ .ce{padding:calc(5*var(--u)) calc(6*var(--u))} }
.cp{display:flex;align-items:center;gap:calc(4*var(--u));min-width:0}
.cp img,.cp .gu{width:calc(13*var(--u));height:calc(13*var(--u));border-radius:var(--r-pill);
  object-fit:cover;flex:none;display:block;background:var(--soft)}
@media (min-width:751px){ .cp img,.cp .gu{width:calc(17*var(--u));height:calc(17*var(--u))} }
.cp b{font-size:calc(8.5*var(--u));line-height:1;font-weight:700;color:var(--c);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (min-width:751px){ .cp b{font-size:calc(11*var(--u))} }
.cs{display:block;font-size:calc(8*var(--u));line-height:1.4;margin-top:calc(2*var(--u));
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (min-width:751px){ .cs{font-size:calc(11*var(--u));margin-top:calc(3*var(--u))} }
/* スマホは1マスが狭いので、横スクロールにして中身は省かない */
.calhint{font-size:calc(9.5*var(--u));line-height:1.6;color:var(--mute);
  text-align:center;padding-top:calc(10*var(--u))}
@media (min-width:751px){ .calhint{display:none} }
/* 共演者。自社のタレントではないのでリンクを張らない */
.pcast .gst{display:flex;align-items:center;border:var(--bd-thin) dashed var(--line);
  border-radius:var(--r-pill);padding:calc(9*var(--u)) calc(15*var(--u));
  font-size:calc(11*var(--u));line-height:1;font-weight:700;color:var(--mute)}
@media (min-width:751px){ .pcast .gst{font-size:calc(13*var(--u));
  padding:calc(11*var(--u)) calc(18*var(--u))} }

/* ── 動画一覧 ─────────────────────────── */
.sels input[type="search"]{font:inherit;font-size:calc(11*var(--u));line-height:1;color:var(--ink);
  background:#fff;border:var(--bd-thin) solid var(--line);border-radius:var(--r-pill);
  padding:calc(10*var(--u)) calc(16*var(--u));width:calc(160*var(--u));-webkit-appearance:none}
@media (min-width:751px){ .sels input[type="search"]{font-size:calc(12.5*var(--u));
  width:calc(240*var(--u))} }
.sels input[type="search"]:focus{outline:none;border-color:var(--ink)}
.arch-sec .shd .cnt:after{content:""}

/* ── 一枚もののページ（法人向け・歩み）───────── */
.ph1{font-size:calc(24*var(--u));font-weight:900;line-height:1.4;margin-top:calc(20*var(--u));
  text-wrap:balance}
@media (min-width:751px){ .ph1{font-size:calc(40*var(--u));margin-top:calc(26*var(--u))} }
.plead{font-size:calc(12.5*var(--u));line-height:2;color:var(--mute);margin-top:calc(16*var(--u));
  max-width:calc(760*var(--u))}
@media (min-width:751px){ .plead{font-size:calc(15*var(--u))} }
.bnums{display:grid;grid-template-columns:1fr 1fr;gap:calc(16*var(--u));
  margin-top:calc(30*var(--u))}
@media (min-width:751px){ .bnums{grid-template-columns:repeat(4,1fr);gap:calc(26*var(--u));
  margin-top:calc(45*var(--u))} }
.bnums div{border-top:var(--bd) solid var(--ink);padding-top:calc(12*var(--u))}
.bnums b{display:block;font-family:"Figtree",sans-serif;font-weight:900;font-size:calc(28*var(--u));
  line-height:1;font-variant-numeric:tabular-nums}
@media (min-width:751px){ .bnums b{font-size:calc(46*var(--u))} }
.bnums span{display:block;font-size:calc(10*var(--u));line-height:1.5;color:var(--mute);
  margin-top:calc(8*var(--u))}
@media (min-width:751px){ .bnums span{font-size:calc(12.5*var(--u))} }
.bwrap{display:grid;gap:calc(14*var(--u));margin-top:calc(35*var(--u))}
@media (min-width:751px){ .bwrap{grid-template-columns:repeat(3,1fr);gap:calc(24*var(--u));
  margin-top:calc(55*var(--u))} }
.bcard{border:var(--bd) solid var(--ink);border-radius:var(--r-card);padding:calc(22*var(--u))}
.bcard b{display:block;font-size:calc(15*var(--u));font-weight:900;line-height:1.4}
@media (min-width:751px){ .bcard b{font-size:calc(18*var(--u))} }
.bcard p{font-size:calc(11.5*var(--u));line-height:1.9;color:var(--mute);margin-top:calc(12*var(--u))}
@media (min-width:751px){ .bcard p{font-size:calc(13.5*var(--u))} }
.bcta{background:var(--ink);color:#fff;border-radius:var(--r-card);padding:calc(28*var(--u));
  margin-top:calc(35*var(--u));display:grid;gap:calc(18*var(--u));justify-items:start}
@media (min-width:751px){ .bcta{display:flex;align-items:center;justify-content:space-between;
  padding:calc(40*var(--u));margin-top:calc(50*var(--u))} }
.bcta p{font-size:calc(14*var(--u));font-weight:900;line-height:1.6}
@media (min-width:751px){ .bcta p{font-size:calc(20*var(--u))} }
.bbtn{background:var(--brand);color:var(--brand-ink);font-size:calc(13*var(--u));font-weight:900;
  line-height:1;padding:calc(16*var(--u)) calc(28*var(--u));border-radius:var(--r-pill);
  white-space:nowrap}
@media (min-width:751px){ .bbtn{font-size:calc(15*var(--u))} }
.bbtn:hover{opacity:.85}
.bnote{font-size:calc(11*var(--u));line-height:2;color:var(--mute);margin-top:calc(24*var(--u))}
@media (min-width:751px){ .bnote{font-size:calc(13*var(--u))} }
.bnote a{text-decoration:underline;text-underline-offset:.3em}

/* 年表 */
.hist{margin-top:calc(35*var(--u));border-left:var(--bd) solid var(--line);
  padding-left:calc(16*var(--u))}
@media (min-width:751px){ .hist{margin-top:calc(50*var(--u));padding-left:calc(24*var(--u))} }
.hy{position:relative;padding-bottom:calc(28*var(--u))}
.hy:before{content:"";position:absolute;left:calc(-22*var(--u));top:calc(4*var(--u));
  width:calc(11*var(--u));height:calc(11*var(--u));border-radius:var(--r-pill);
  background:#fff;border:var(--bd) solid var(--ink)}
@media (min-width:751px){ .hy:before{left:calc(-30*var(--u))} }
.hy>b{display:block;font-family:"Figtree",sans-serif;font-weight:900;font-size:calc(20*var(--u));
  line-height:1;font-variant-numeric:tabular-nums}
@media (min-width:751px){ .hy>b{font-size:calc(28*var(--u))} }
.hy ul{display:grid;gap:calc(6*var(--u));margin-top:calc(12*var(--u))}
.hy li{display:flex;flex-wrap:wrap;align-items:baseline;gap:calc(10*var(--u));
  border-left:calc(4*var(--u)) solid var(--c);padding-left:calc(11*var(--u))}
.hy li a,.hy li b{font-size:calc(12.5*var(--u));font-weight:700;line-height:1.6}
@media (min-width:751px){ .hy li a,.hy li b{font-size:calc(15*var(--u))} }
.hy li a:hover{text-decoration:underline;text-underline-offset:.3em}
.hy li span{font-size:calc(10*var(--u));line-height:1;color:var(--mute);
  font-variant-numeric:tabular-nums}
@media (min-width:751px){ .hy li span{font-size:calc(12*var(--u))} }

/* SNSリンク（出演者ページ） */
.thero .tl .tx{display:inline-flex;align-items:center;gap:calc(8*var(--u));
  margin:calc(20*var(--u)) calc(8*var(--u)) 0 0;
  font-family:"Figtree",sans-serif;font-size:calc(11*var(--u));line-height:1;font-weight:700;
  border:var(--bd) solid var(--ink);border-radius:var(--r-pill);
  padding:calc(10*var(--u)) calc(16*var(--u))}
@media (min-width:751px){ .thero .tl .tx{font-size:calc(12.5*var(--u));
  padding:calc(11*var(--u)) calc(18*var(--u))} }
.thero .tl .tx svg{width:calc(14*var(--u));height:calc(14*var(--u));fill:currentColor}
.thero .tl .tx svg .p{fill:#fff}
.thero .tl .tx:hover{background:var(--ink);color:#fff}
.thero .tl .tx:hover svg .p{fill:var(--ink)}

/* 経歴の動画リンク */
.career .cvs{display:flex;flex-wrap:wrap;gap:calc(8*var(--u));margin-top:calc(9*var(--u))}
.career .cv{font-size:calc(10*var(--u));line-height:1;font-weight:700;
  border:var(--bd-thin) solid var(--line);border-radius:var(--r-pill);
  padding:calc(8*var(--u)) calc(13*var(--u))}
@media (min-width:751px){ .career .cv{font-size:calc(12*var(--u));
  padding:calc(9*var(--u)) calc(16*var(--u))} }
.career .cv:hover{border-color:var(--ink);background:var(--ink);color:#fff}
.career .cv.yt{border-color:#D8352F;color:#D8352F}
.career .cv.yt:hover{background:#D8352F;color:#fff;border-color:#D8352F}
.othh.gap{margin-top:calc(45*var(--u))}
@media (min-width:751px){ .othh.gap{margin-top:calc(65*var(--u))} }
.pgrid{margin-top:calc(18*var(--u))}
/* 放送中は少し大きく、目立たせる */
@media (min-width:751px){ .pgrid.onair{grid-template-columns:repeat(2,1fr)} }
.pgrid.onair .pcard{border-color:var(--ink);border-width:var(--bd)}
.pgrid.onair .pcard .im{width:calc(90*var(--u));height:calc(68*var(--u))}
@media (min-width:751px){ .pgrid.onair .pcard .im{width:calc(130*var(--u));height:calc(96*var(--u))} }
@media (min-width:751px){ .pgrid.onair .pcard b{font-size:calc(18*var(--u))} }
.pdesc{font-size:calc(12*var(--u));line-height:2;color:var(--mute);margin-top:calc(16*var(--u));
  max-width:calc(680*var(--u))}
@media (min-width:751px){ .pdesc{font-size:calc(14.5*var(--u));margin-top:calc(20*var(--u))} }
.tbio{margin-top:calc(18*var(--u));max-width:calc(760*var(--u))}
.tbio p{font-size:calc(12*var(--u));line-height:2.1;margin-bottom:calc(12*var(--u))}
@media (min-width:751px){ .tbio p{font-size:calc(14.5*var(--u))} }
.tbio p:last-child{margin-bottom:0}
/* 特技や趣味は長くなるので、その2つだけ横幅をとる */
.tfacts div:has(dt:is(.wide)){grid-column:1/-1}

/* 大見出しの下に置くパンくず（ヒーローを持たないページ） */
.crumb:first-child{margin-bottom:calc(16*var(--u))}
@media (min-width:751px){ .crumb:first-child{margin-bottom:calc(20*var(--u))} }
