/* =========================================================
   Yumega Night — main stylesheet v1.1
   基本フォント: Noto Sans JP
   キャッチコピー: Shippori Mincho B1（英字含む）
   英字ラベル: Space Grotesk
   ======================================================= */
:root{
  --night:#070b18;
  --navy:#0c1226;
  --navy2:#101a38;
  --dusk-orange:#ff9d5c;
  --dusk-pink:#e0679a;
  --dusk-purple:#6b4fa0;
  --blue:#4da8ff;
  --cyan:#7fe3ff;
  --moon:#f3ecd8;
  --text:#e8edf8;
  --text-dim:#9aa7c7;
  --line:rgba(127,190,255,.18);
  --font-jp:"Noto Sans JP",sans-serif;
  --font-min:"Shippori Mincho B1",serif;
  --font-en:"Space Grotesk",sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
body{
  background:var(--night);
  color:var(--text);
  font-family:var(--font-jp);
  overflow-x:hidden;
  line-height:1.8;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}

/* =========================================================
   全ページ共通の固定背景レイヤー
   夜空グラデ ＋ ドットグリッド ＋ 斜めライン（幾何学）
   セクション背景はこの上に半透明で重ね、サイト全体で一貫させる
   ======================================================= */
.site-bg{position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(1300px 900px at 88% -5%, rgba(107,79,160,.22), transparent 60%),
    radial-gradient(1100px 800px at -5% 75%, rgba(77,168,255,.12), transparent 60%),
    radial-gradient(800px 600px at 70% 110%, rgba(224,103,154,.10), transparent 60%),
    linear-gradient(180deg,#070b18 0%,#0a1128 55%,#0b1224 100%)}
.site-bg::before{content:"";position:absolute;inset:0;
  background-image:radial-gradient(rgba(127,190,255,.13) 1px, transparent 1.5px);
  background-size:36px 36px;
  -webkit-mask-image:radial-gradient(1200px 900px at 50% 30%, #000, transparent 75%);
  mask-image:radial-gradient(1200px 900px at 50% 30%, #000, transparent 75%)}
.site-bg::after{content:"";position:absolute;inset:0;opacity:.5;
  background:repeating-linear-gradient(115deg, rgba(127,190,255,.05) 0 1px, transparent 1px 140px)}

/* ===== scroll reveal ===== */
.rv{opacity:0;transform:translateY(42px);transition:opacity 1s cubic-bezier(.22,.8,.3,1),transform 1s cubic-bezier(.22,.8,.3,1)}
.rv.on{opacity:1;transform:none}
.rv-d1{transition-delay:.12s}.rv-d2{transition-delay:.24s}.rv-d3{transition-delay:.36s}
@media (prefers-reduced-motion: reduce){
  .rv{opacity:1;transform:none;transition:none}
  .sec-head .en,.sec-head .jp{opacity:1!important;clip-path:none!important;transform:none!important}
  *{animation-duration:.01s!important;animation-iteration-count:1!important}
}

/* ===== header ===== */
.site-header{
  position:fixed;inset:0 0 auto 0;z-index:100;
  display:flex;justify-content:space-between;align-items:center;
  padding:16px 28px;
  background:linear-gradient(to bottom, rgba(7,11,24,.75), rgba(7,11,24,0));
  backdrop-filter:blur(2px);
}
.logo-link{display:flex;align-items:center}
.logo-link svg{height:40px;width:auto;display:block}
.logo-link img,.custom-logo{height:40px;width:auto;display:block}
.global-nav{display:flex;gap:26px;font-family:var(--font-en);font-size:12px;letter-spacing:.22em;align-items:center}
.global-nav a{position:relative;padding:4px 0;opacity:.85}
.global-nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--cyan);transition:width .35s}
.global-nav a:hover::after{width:100%}
.global-nav .nav-aud{color:var(--night);background:linear-gradient(90deg,var(--dusk-orange),var(--dusk-pink));
  padding:8px 18px;border-radius:999px;font-weight:700;opacity:1}
.global-nav .nav-aud::after{display:none}
@media(max-width:820px){.global-nav a:not(.nav-aud){display:none}}

/* ===== FV (scroll-driven / pinned) ===== */
.fv-wrap{position:relative;height:300vh}
.fv{position:sticky;top:0;height:100vh;min-height:600px;overflow:hidden;
  background:linear-gradient(to bottom,
    #05070f 0%, #0a1128 34%, #1b2350 58%, #4a3a72 74%, #a05377 86%, #d97a56 96%, #f0a058 100%);
}
.fv-nightfall{position:absolute;inset:0;pointer-events:none;opacity:0;
  background:linear-gradient(to bottom,rgba(5,7,15,.98) 0%,rgba(10,17,40,.9) 55%,rgba(11,18,36,.6) 100%)}
.stars{position:absolute;inset:0;pointer-events:none}
.stars i{position:absolute;width:2px;height:2px;border-radius:50%;background:#fff;opacity:.7;
  animation:tw 3.4s ease-in-out infinite}
@keyframes tw{0%,100%{opacity:.15}50%{opacity:.9}}
.fv-moon{position:absolute;top:14%;right:12%;width:min(150px,18vw);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle at 38% 32%, #fffbe9, var(--moon) 45%, #d8c48f 100%);
  box-shadow:0 0 60px 18px rgba(243,236,216,.35), 0 0 140px 60px rgba(243,236,216,.12);
  will-change:transform}
.fv-city{position:absolute;left:0;right:0;bottom:0;height:26vh;min-height:170px;pointer-events:none;will-change:transform}
.fv-city svg{width:100%;height:100%;display:block}
.fv-visual{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;
  will-change:transform,filter,opacity}
.fv-visual .ph{
  width:min(880px,92vw);aspect-ratio:16/10;border:1px dashed rgba(127,227,255,.4);border-radius:8px;
  display:grid;place-items:center;color:rgba(232,237,248,.55);
  font-family:var(--font-en);font-size:12px;letter-spacing:.28em;text-align:center;
  background:rgba(12,18,38,.2);
  transform:translateY(-4%);
}
.fv-visual .fv-main-img{width:min(1080px,94vw);max-height:76vh;object-fit:contain;border-radius:8px;
  box-shadow:0 30px 90px rgba(0,0,0,.5);transform:translateY(-4%)}
.fv-inner{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;justify-content:flex-end;
  padding:0 6vw 14vh;will-change:transform,opacity}
.fv-copy{font-family:var(--font-min);font-weight:600;
  font-size:clamp(30px,5.4vw,66px);line-height:1.5;letter-spacing:.06em;
  text-shadow:0 4px 40px rgba(7,11,24,.8)}
.fv-copy .l{display:block;overflow:hidden}
.fv-copy .l span{display:inline-block;transform:translateY(110%);animation:rise 1.1s cubic-bezier(.2,.8,.2,1) forwards}
.fv-copy .l:nth-child(2) span{animation-delay:.25s}
@keyframes rise{to{transform:none}}
.fv-sub{margin-top:20px;color:var(--text-dim);letter-spacing:.12em;font-size:clamp(11px,1.4vw,15px);
  opacity:0;animation:fade 1.2s .8s forwards}
@keyframes fade{to{opacity:1}}
.fv-copy2{position:absolute;inset:0;z-index:6;display:grid;place-items:center;text-align:center;
  opacity:0;will-change:transform,opacity;pointer-events:none}
.fv-copy2 h2{font-family:var(--font-min);font-weight:600;font-size:clamp(26px,4.6vw,52px);
  letter-spacing:.14em;line-height:1.9;
  text-shadow:0 4px 50px rgba(7,11,24,.9)}
/* キャッチコピー内の英字もShippori Mincho（フォント混在を解消） */
.fv-copy2 h2 em{font-style:normal;font-family:inherit;
  background:linear-gradient(120deg,var(--cyan),var(--blue) 55%,var(--dusk-pink));
  -webkit-background-clip:text;background-clip:text;color:transparent}
.fv-copy2 p{font-family:var(--font-en);font-size:11px;letter-spacing:.5em;color:var(--text-dim);margin-top:22px}
.fv-en{position:absolute;top:50%;left:24px;transform:translateY(-50%) rotate(180deg);z-index:6;
  writing-mode:vertical-rl;font-family:var(--font-en);font-size:11px;letter-spacing:.5em;color:var(--text-dim);
  opacity:0;animation:fade 1.2s 1.1s forwards}
.scroll-cue{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:6;
  font-family:var(--font-en);font-size:10px;letter-spacing:.4em;color:var(--text-dim);text-align:center;
  will-change:opacity}
.scroll-cue::after{content:"";display:block;width:1px;height:44px;margin:10px auto 0;
  background:linear-gradient(var(--cyan),transparent);animation:cue 1.8s ease-in-out infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* =========================================================
   セクション共通
   背景は固定レイヤーを活かして半透明。境目にグロー水平線。
   見出しはワイプ＋スライドで出現（参考: cho-kaguyahime）
   ======================================================= */
section{position:relative}
.sec-head{display:flex;align-items:baseline;gap:18px;margin-bottom:44px}
.sec-head.center{justify-content:center}
.sec-head .en{font-family:var(--font-en);font-weight:700;font-size:clamp(34px,5vw,58px);letter-spacing:.06em;
  background:linear-gradient(120deg,var(--cyan),var(--blue) 60%,var(--dusk-pink));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  display:inline-block;
  clip-path:inset(-10% 100% -20% 0);transform:translateX(-28px);opacity:0;
  transition:clip-path 1.1s cubic-bezier(.22,.8,.3,1) .1s,transform 1.1s cubic-bezier(.22,.8,.3,1) .1s,opacity .5s .1s}
.sec-head.on .en{clip-path:inset(-10% -5% -20% 0);transform:none;opacity:1}
.sec-head .jp{font-size:13px;color:var(--text-dim);letter-spacing:.3em;
  opacity:0;transform:translateY(12px);transition:opacity .8s .55s,transform .8s .55s}
.sec-head.on .jp{opacity:1;transform:none}
.wrap{max-width:1160px;margin:0 auto;padding:0 6vw}
/* 背景アウトライン英字（JSでスクロール連動の横ドリフト） */
.bg-en{position:absolute;top:8px;left:-4%;width:120%;overflow:hidden;pointer-events:none;
  font-family:var(--font-en);font-weight:700;font-size:clamp(70px,13vw,170px);line-height:1;white-space:nowrap;
  color:transparent;-webkit-text-stroke:1px rgba(127,190,255,.10);letter-spacing:.04em;
  will-change:transform}
.empty-note{color:var(--text-dim);font-size:13px;padding:20px 6vw}

/* セクション上端のグロー水平線（FVの地平線モチーフを継承） */
.audition::before,.news::before,.about::before,.contact::before{
  content:"";position:absolute;top:0;left:50%;transform:translateX(-50%) scaleX(0);
  width:min(1160px,88vw);height:1px;transition:transform 1.4s cubic-bezier(.22,.8,.3,1) .2s}
.audition::before{background:linear-gradient(90deg,transparent,var(--dusk-orange),var(--dusk-pink),transparent)}
.news::before,.contact::before{background:linear-gradient(90deg,transparent,rgba(127,227,255,.5),transparent)}
.about::before{background:linear-gradient(90deg,transparent,rgba(77,168,255,.5),transparent)}
section.line-on::before{transform:translateX(-50%) scaleX(1)}

/* 幾何学デコレーション（平行四辺形＝メンバーカードのモチーフ／月のリング） */
.geo{position:absolute;pointer-events:none;z-index:0}
.geo-para{clip-path:polygon(22% 0,100% 0,78% 100%,0 100%);
  background:linear-gradient(160deg,rgba(127,227,255,.09),rgba(224,103,154,.04) 70%,transparent);
  animation:geoFloat 9s ease-in-out infinite}
.geo-ring{border-radius:50%;border:1px solid rgba(243,236,216,.14);
  animation:geoFloat 12s ease-in-out infinite reverse}
.geo-ring::after{content:"";position:absolute;inset:16%;border-radius:50%;border:1px dashed rgba(127,190,255,.12)}
@keyframes geoFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-24px) rotate(2deg)}}

/* ===== members ===== */
.members{padding:120px 0 90px}
.members .geo-para.g1{top:6%;right:-70px;width:230px;height:300px}
.members .geo-para.g2{bottom:4%;left:-80px;width:180px;height:240px;animation-delay:2s}
.members .sec-head{padding:0 6vw;max-width:1160px;margin-left:auto;margin-right:auto}
.mem-legend{max-width:1160px;margin:-24px auto 26px;padding:0 6vw;display:flex;gap:22px;flex-wrap:wrap;
  font-size:12px;color:var(--text-dim);letter-spacing:.1em}
.mem-legend b{font-family:var(--font-en);letter-spacing:.2em;font-weight:700}
.mem-legend .lg-liver b{color:var(--dusk-pink)}
.mem-legend .lg-vtuber b{color:var(--cyan)}
.mem-track-outer{overflow:hidden;padding:30px 0 10px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
/* 平行四辺形のクリップで見た目の間隔が広がるため、gapは詰めて重なり気味に */
.mem-track{display:flex;gap:8px;width:max-content;animation:slide 52s linear infinite;will-change:transform}
.mem-track:hover{animation-play-state:paused}
@keyframes slide{to{transform:translateX(-50%)}}
.mem-card{position:relative;width:min(310px,72vw);aspect-ratio:3/4.1;flex-shrink:0;cursor:pointer;display:block;
  clip-path:polygon(14% 0, 100% 0, 86% 100%, 0 100%);
  transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.mem-card:hover{transform:translateY(-12px)}
.mem-card .bg{position:absolute;inset:0}
.mem-card .fig{position:absolute;inset:0;display:grid;place-items:end center}
.mem-card .fig svg{width:78%;height:auto;opacity:.92;filter:drop-shadow(0 6px 18px rgba(0,0,0,.4))}
.mem-card .fig .mem-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 0}
.mem-card .info{position:absolute;left:0;right:0;bottom:0;padding:18px 22% 18px 18%;
  background:linear-gradient(transparent, rgba(7,11,24,.85) 55%)}
.mem-card .name{font-family:var(--font-min);font-weight:600;font-size:19px;letter-spacing:.08em}
.mem-card .role{font-family:var(--font-en);font-size:10px;letter-spacing:.26em}
.mem-card .role.liver{color:var(--dusk-pink)}
.mem-card .role.vtuber{color:var(--cyan)}
.mem-card .frame{position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.mem-card.hiatus .bg,.mem-card.hiatus .fig{filter:grayscale(.85) brightness(.6)}
.mem-card .badge{position:absolute;top:14px;right:24%;z-index:2;
  font-size:10px;letter-spacing:.2em;color:var(--text);background:rgba(7,11,24,.7);
  border:1px solid rgba(255,255,255,.3);border-radius:3px;padding:2px 10px}
.mem-more{display:flex;justify-content:center;margin-top:38px}

/* ===== buttons =====
   isolation:isolate で ::before(グラデ)がセクション背景の裏へ
   回り込むバグを修正（hoverで真っ黒になっていた不具合） */
.btn{position:relative;isolation:isolate;display:inline-flex;align-items:center;gap:14px;
  font-family:var(--font-en);font-weight:700;font-size:13px;letter-spacing:.24em;
  padding:16px 44px;border-radius:999px;overflow:hidden;
  color:var(--text);border:1px solid rgba(127,227,255,.45);
  background:rgba(7,11,24,.3);
  transition:color .35s,border-color .35s}
.btn::before{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,var(--blue),var(--cyan));
  transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.2,.8,.2,1);z-index:-1}
.btn:hover{color:var(--night);border-color:transparent}
.btn:hover::before{transform:scaleX(1)}
.btn .arw{transition:transform .35s}
.btn:hover .arw{transform:translateX(6px)}
.btn-dusk{border-color:rgba(255,157,92,.55)}
.btn-dusk::before{background:linear-gradient(90deg,var(--dusk-orange),var(--dusk-pink))}

/* ===== audition ===== */
.audition{padding:150px 0;text-align:center;overflow:hidden;
  background:
    radial-gradient(900px 420px at 50% 115%, rgba(255,157,92,.16), transparent 65%),
    radial-gradient(700px 300px at 50% 120%, rgba(224,103,154,.14), transparent 60%)}
.audition .glowline{position:absolute;left:0;right:0;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--dusk-orange),var(--dusk-pink),transparent);opacity:.6}
.audition .geo-para.g1{top:14%;left:6%;width:120px;height:160px;opacity:.7}
.audition .geo-para.g2{bottom:12%;right:7%;width:150px;height:200px;animation-delay:3s;opacity:.7}
.aud-en{font-family:var(--font-en);font-weight:700;letter-spacing:.3em;font-size:12px;color:var(--dusk-orange);margin-bottom:22px}
.aud-copy{font-family:var(--font-min);font-weight:600;font-size:clamp(26px,4.6vw,48px);line-height:1.7;letter-spacing:.08em;margin-bottom:22px}
.aud-copy em{font-style:normal;
  background:linear-gradient(120deg,var(--dusk-orange),var(--dusk-pink));
  -webkit-background-clip:text;background-clip:text;color:transparent}
.aud-lead{color:var(--text-dim);font-size:14px;letter-spacing:.1em;margin-bottom:44px}

/* ===== news ===== */
.news{padding:130px 0;
  background:linear-gradient(rgba(16,26,56,.55),rgba(16,26,56,.15))}
.news .geo-ring.g1{top:-70px;right:8%;width:150px;height:150px}
.news-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:54px;align-items:start}
.news-main .thumb,.news-item .thumb{position:relative;overflow:hidden;border-radius:6px;
  box-shadow:0 10px 40px rgba(0,0,0,.35)}
.thumb .ph-img{width:100%;display:grid;place-items:center;
  color:rgba(232,237,248,.5);font-family:var(--font-en);font-size:11px;letter-spacing:.25em}
.thumb .thumb-img{width:100%;height:100%;object-fit:cover}
.news-main .ph-img,.news-main .thumb-img{aspect-ratio:16/9}
.news-main .ph-img{background:linear-gradient(135deg,#1b2350,#4a3a72 55%,#a05377)}
.news-item .ph-img,.news-item .thumb-img{aspect-ratio:16/10}
.news-item .ph-img{background:linear-gradient(135deg,#101a38,#274a7a)}
.thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 40%,rgba(127,227,255,.18),transparent 60%);
  transform:translateX(-100%);transition:transform .8s}
.news-main:hover .thumb::after,.news-item:hover .thumb::after{transform:translateX(100%)}
.news-date{font-family:var(--font-en);font-size:12px;letter-spacing:.2em;color:var(--cyan);margin:16px 0 6px}
.news-title{font-size:16px;font-weight:700;letter-spacing:.04em;line-height:1.7}
.news-main .news-title{font-size:clamp(17px,1.8vw,21px)}
.news-list{display:flex;flex-direction:column;gap:30px}
.news-item{display:grid;grid-template-columns:150px 1fr;gap:20px;align-items:center}
.news-item .news-title{font-size:14px}
.news-more{margin-top:52px;display:flex;justify-content:flex-end}
@media(max-width:860px){
  .news-grid{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;
    padding-bottom:14px;margin:0 -6vw;padding-left:6vw;padding-right:6vw;
    scrollbar-width:none}
  .news-grid::-webkit-scrollbar{display:none}
  .news-main,.news-item{flex:0 0 82%;scroll-snap-align:center;display:block}
  .news-item .ph-img,.news-item .thumb-img{aspect-ratio:16/9}
  .news-item .news-title{font-size:15px}
  .news-list{display:contents}
  .news-more{justify-content:center}
}

/* ===== about ===== */
.about{padding:150px 0;overflow:hidden}
.about .geo-ring.g1{top:8%;left:-90px;width:280px;height:280px}
.about .geo-para.g1{bottom:6%;right:-60px;width:190px;height:250px;animation-delay:1.5s}
.about-lead{font-family:var(--font-min);font-weight:600;font-size:clamp(22px,3.2vw,34px);
  line-height:2;letter-spacing:.1em;margin-bottom:70px;max-width:760px}
.about-brands{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-bottom:80px}
.brand-card{border:1px solid var(--line);border-radius:8px;padding:34px 30px;
  background:rgba(16,26,56,.5);backdrop-filter:blur(2px)}
.brand-card .tag{font-family:var(--font-en);font-size:10px;letter-spacing:.3em;margin-bottom:12px}
.brand-card.liver .tag{color:var(--dusk-pink)}
.brand-card.vtuber .tag{color:var(--cyan)}
.brand-card h3{font-family:var(--font-min);font-size:clamp(19px,2.2vw,24px);font-weight:600;letter-spacing:.08em;margin-bottom:10px}
.brand-card p{color:var(--text-dim);font-size:13px}
@media(max-width:700px){.about-brands{grid-template-columns:1fr}}
.about-block{display:grid;grid-template-columns:200px 1fr;gap:34px;align-items:start;
  padding:44px 0;border-top:1px solid var(--line)}
.about-block:last-of-type{border-bottom:1px solid var(--line)}
.about-block .label{font-family:var(--font-en);font-weight:700;font-size:22px;letter-spacing:.16em;color:var(--cyan)}
.about-block .label small{display:block;font-family:var(--font-jp);font-size:11px;color:var(--text-dim);letter-spacing:.3em;margin-top:4px}
.about-block h3{font-family:var(--font-min);font-size:clamp(17px,2vw,22px);font-weight:600;letter-spacing:.08em;margin-bottom:14px}
.about-block p{color:var(--text-dim);font-size:14px;max-width:620px}
@media(max-width:700px){.about-block{grid-template-columns:1fr;gap:14px}}
.value-list{list-style:none;counter-reset:val;max-width:620px}
.value-list li{counter-increment:val;position:relative;padding:16px 0 16px 58px;
  border-bottom:1px dashed rgba(127,190,255,.14);font-size:15px;letter-spacing:.04em}
.value-list li:last-child{border-bottom:none}
.value-list li::before{content:"0" counter(val);position:absolute;left:0;top:14px;
  font-family:var(--font-en);font-weight:700;font-size:17px;letter-spacing:.06em;
  background:linear-gradient(120deg,var(--cyan),var(--dusk-pink));
  -webkit-background-clip:text;background-clip:text;color:transparent}
.value-list li b{font-weight:700}
.value-list li span{display:block;color:var(--text-dim);font-size:12.5px;margin-top:2px}

/* ===== contact ===== */
.contact{padding:150px 0 170px;text-align:center;
  background:radial-gradient(900px 400px at 50% -20%, rgba(77,168,255,.10), transparent 60%)}
.contact .geo-para.g1{top:16%;right:8%;width:110px;height:150px;opacity:.6}
.contact .geo-ring.g1{bottom:10%;left:6%;width:130px;height:130px;opacity:.8}
.ct-copy{font-family:var(--font-min);font-weight:600;font-size:clamp(24px,4vw,42px);letter-spacing:.1em;line-height:1.8;margin-bottom:18px}
.ct-lead{color:var(--text-dim);font-size:14px;letter-spacing:.08em;margin-bottom:44px}

/* ===== footer ===== */
.site-footer{padding:56px 6vw 90px;background:rgba(5,7,15,.85);border-top:1px solid var(--line);
  display:flex;flex-direction:column;gap:20px;align-items:center;text-align:center}
.site-footer .copy{font-family:var(--font-en);font-size:11px;letter-spacing:.2em;color:var(--text-dim)}
.site-footer .footer-logo img,.site-footer .footer-logo-svg{height:44px;width:auto}

/* ===== fixed audition pop ===== */
.aud-pop{position:fixed;right:18px;bottom:18px;z-index:90;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  width:104px;height:104px;border-radius:50%;text-align:center;
  background:linear-gradient(140deg,var(--dusk-orange),var(--dusk-pink));
  color:#fff;font-weight:700;font-size:12px;letter-spacing:.06em;line-height:1.5;
  box-shadow:0 8px 30px rgba(224,103,154,.45);
  transition:transform .3s}
.aud-pop:hover{transform:scale(1.07)}
.aud-pop small{font-family:var(--font-en);font-size:8px;letter-spacing:.25em;opacity:.85}
.aud-pop::before{content:"";position:absolute;inset:-6px;border-radius:50%;
  border:1px solid rgba(255,157,92,.7);animation:pulse 2.2s ease-out infinite}
@keyframes pulse{0%{transform:scale(.9);opacity:.9}100%{transform:scale(1.25);opacity:0}}
@media(max-width:600px){.aud-pop{width:88px;height:88px;font-size:11px;right:12px;bottom:12px}}

/* =========================================================
   下層ページ共通
   ======================================================= */
.page-body{padding:170px 0 120px;min-height:70vh}
.page-title{font-family:var(--font-min);font-weight:600;font-size:clamp(26px,4vw,44px);
  letter-spacing:.08em;margin-bottom:14px}
.page-title-en{font-family:var(--font-en);font-size:12px;letter-spacing:.3em;color:var(--cyan);margin-bottom:44px}
.entry-content{max-width:760px;color:var(--text);font-size:15px}
.entry-content p{margin-bottom:1.6em;color:var(--text-dim)}
.entry-content h2{font-family:var(--font-min);font-size:22px;margin:2em 0 .8em;letter-spacing:.06em}
.entry-content h3{font-size:17px;margin:1.6em 0 .6em}
.entry-content a{color:var(--cyan);text-decoration:underline;text-underline-offset:3px}
.entry-content img{border-radius:6px;margin:1.5em 0}
.entry-content ul,.entry-content ol{margin:0 0 1.6em 1.4em;color:var(--text-dim)}

.archive-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:40px 34px;max-width:1160px}
.archive-item .news-date{margin-top:14px}
.pagination{margin-top:60px;display:flex;gap:8px;font-family:var(--font-en);letter-spacing:.1em}
.pagination .page-numbers{padding:8px 16px;border:1px solid var(--line);border-radius:4px;color:var(--text-dim)}
.pagination .page-numbers.current{color:var(--night);background:var(--cyan);border-color:var(--cyan)}

.member-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:26px 12px}
.member-grid .mem-card{width:auto}

.member-single{display:grid;grid-template-columns:minmax(260px,380px) 1fr;gap:60px;align-items:start;max-width:1000px}
.member-single .visual{position:relative;clip-path:polygon(10% 0,100% 0,90% 100%,0 100%);
  aspect-ratio:3/4;overflow:hidden}
.member-single .visual img{width:100%;height:100%;object-fit:cover}
.member-single .visual .fallback{position:absolute;inset:0;display:grid;place-items:end center}
.member-single .visual .fallback svg{width:70%}
.member-single .m-role{font-family:var(--font-en);font-size:11px;letter-spacing:.3em;margin-bottom:10px}
.member-single .m-role.liver{color:var(--dusk-pink)}
.member-single .m-role.vtuber{color:var(--cyan)}
.member-single .m-name{font-family:var(--font-min);font-weight:600;font-size:clamp(28px,4vw,42px);letter-spacing:.08em;line-height:1.4}
.member-single .m-catch{font-family:var(--font-min);color:var(--text-dim);font-size:15px;letter-spacing:.08em;margin:12px 0 30px}
.member-single .m-hiatus{display:inline-block;font-size:11px;letter-spacing:.2em;border:1px solid rgba(255,255,255,.35);
  border-radius:3px;padding:2px 12px;margin-bottom:16px;color:var(--text-dim)}
@media(max-width:760px){.member-single{grid-template-columns:1fr}}
