/* Glitch Echo AUDITION page */
:root{
  --night:#0a0f2c;
  --ice:#a9dcff;
  --ice-deep:#6fa8ff;
  --lavender:#c9c2ff;
  --frost:#e6f4ff;
  --mute:#a4b4dd;
  --display:"Chakra Petch",sans-serif;
  --jp:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic","YuGothic","Meiryo","Noto Sans CJK JP",sans-serif;
  --header-h:72px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html,body{height:100%;}
body{background:var(--night);color:#fff;font-family:var(--jp);-webkit-font-smoothing:antialiased;overflow-x:hidden;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}

/* ---------- header（元サイトと同じ構成・モーション） ---------- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;height:var(--header-h);transition:transform .4s ease;
  background:linear-gradient(180deg,rgba(0,0,0,.62),rgba(0,0,0,.42));
  -webkit-backdrop-filter:blur(14px) saturate(1.1);backdrop-filter:blur(14px) saturate(1.1);
  border-bottom:1px solid rgba(169,220,255,.3);}
.site-header.is-hidden{transform:translateY(-110%);}
.site-header__inner{max-width:1500px;height:100%;margin:0 auto;padding:0 32px;
  display:flex;align-items:center;justify-content:space-between;}

.logo{display:inline-flex;align-items:center;padding:4px 0;}
.logo__img{height:42px;width:auto;display:block;
  filter:hue-rotate(45deg) drop-shadow(0 0 14px rgba(111,168,255,.55)) drop-shadow(0 0 4px rgba(169,220,255,.45));
  transition:filter .25s,transform .25s;}
.logo:hover .logo__img{filter:hue-rotate(45deg) drop-shadow(0 0 22px rgba(169,220,255,.75)) drop-shadow(0 0 8px rgba(201,194,255,.55));transform:translateY(-1px);}
.logo:focus-visible{outline:2px solid var(--ice);outline-offset:4px;}

.gnav ul{display:flex;gap:4px;align-items:center;}
.gnav__link{position:relative;display:inline-flex;flex-direction:column;align-items:center;padding:12px 14px;
  font-family:var(--display);font-size:15px;font-weight:600;letter-spacing:.18em;color:#fff;transition:color .2s;}
.gnav__link span{position:relative;display:inline-block;}
.gnav__link span::after{content:attr(data-text);position:absolute;top:0;left:0;
  color:var(--ice);clip-path:inset(0 100% 0 0);transition:clip-path .25s;mix-blend-mode:screen;
  text-shadow:1px 0 var(--lavender);}
.gnav__link:hover span::after,.gnav__link:focus-visible span::after{clip-path:inset(0 0 0 0);}
.gnav__link small{margin-top:3px;font-family:var(--jp);font-size:11px;font-weight:500;letter-spacing:.18em;color:var(--mute);}
.gnav__link::before{content:"";position:absolute;left:50%;bottom:4px;height:2px;width:0;
  background:linear-gradient(90deg,var(--ice),var(--lavender));transform:translateX(-50%);transition:width .25s;}
.gnav__link:hover,.gnav__link:focus-visible{color:var(--ice);}
.gnav__link:hover::before,.gnav__link:focus-visible::before{width:60%;}
.gnav__link:focus-visible{outline:1px solid rgba(169,220,255,.6);outline-offset:-2px;}
.gnav__link span::before{content:attr(data-text);position:absolute;top:0;left:0;color:var(--lavender);
  opacity:0;pointer-events:none;mix-blend-mode:screen;}
.gnav__link:hover span::before,.gnav__link:focus-visible span::before{animation:navSplit .42s steps(1) 1;}
.gnav__link:hover span,.gnav__link:focus-visible span{animation:navJitter .42s steps(1) 1;}
@keyframes navSplit{
  0%{opacity:1;transform:translate(-3px,0);clip-path:inset(0 0 55% 0);}
  20%{opacity:1;transform:translate(3px,1px);clip-path:inset(45% 0 0 0);}
  40%{opacity:1;transform:translate(-2px,-1px);clip-path:inset(20% 0 40% 0);}
  60%{opacity:1;transform:translate(2px,0);clip-path:inset(0 0 70% 0);}
  80%{opacity:0;}
  100%{opacity:0;transform:none;}
}
@keyframes navJitter{
  0%{transform:translate(2px,0) skewX(-8deg);}
  20%{transform:translate(-2px,0);}
  40%{transform:translate(1px,-1px) skewX(6deg);}
  60%{transform:translate(-1px,1px);}
  80%,100%{transform:none;}
}
.gnav__link--cta{flex-direction:row;margin-left:10px;padding:14px 22px;font-size:14px;font-weight:700;letter-spacing:.14em;color:var(--night);
  background:linear-gradient(120deg,var(--ice),var(--lavender));clip-path:polygon(8% 0,100% 0,92% 100%,0 100%);
  box-shadow:0 0 18px rgba(169,220,255,.3);}
.gnav__link--cta:hover,.gnav__link--cta:focus-visible{color:var(--night);filter:brightness(1.12);}
.gnav__link--cta::before{display:none;}

.menu-btn{display:none;}

@media (max-width:1180px){
  .gnav__link{padding:10px 8px;font-size:12px;letter-spacing:.12em;}
  .gnav__link small{font-size:9px;letter-spacing:.1em;}
  .gnav__link--cta{padding:10px 14px;}
}
@media (max-width:900px){
  .site-header__inner{padding:0 18px;}
  .logo__img{height:34px;}
  .menu-btn{display:flex;width:44px;height:44px;flex-direction:column;justify-content:center;align-items:center;gap:6px;
    background:none;border:0;cursor:pointer;}
  .menu-btn span{display:block;width:24px;height:2px;background:#fff;transition:transform .25s,opacity .25s;}
  .site-header.is-open .menu-btn span:nth-child(1){transform:translateY(8px) rotate(45deg);}
  .site-header.is-open .menu-btn span:nth-child(2){opacity:0;}
  .site-header.is-open .menu-btn span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}
  .menu-btn:focus-visible{outline:2px solid var(--ice);}
  .gnav{position:fixed;top:var(--header-h);left:0;right:0;max-height:calc(100vh - var(--header-h));overflow:auto;
    background:rgba(0,0,0,.86);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
    visibility:hidden;opacity:0;transition:opacity .25s,visibility .25s;}
  .site-header.is-open .gnav{visibility:visible;opacity:1;}
  .gnav ul{flex-direction:column;align-items:stretch;gap:0;padding:8px 20px 28px;}
  .gnav__link{flex-direction:row;align-items:baseline;justify-content:space-between;gap:16px;width:100%;
    padding:16px 6px;font-size:20px;letter-spacing:.16em;border-bottom:1px solid rgba(255,255,255,.1);}
  .gnav__link::before{display:none;}
  .gnav__link small{margin:0;font-size:12px;letter-spacing:.14em;color:var(--ice);}
  .gnav__link--cta{justify-content:center;margin:20px 0 0;padding:16px;font-size:16px;border-bottom:0;}
}

/* ---------- first view ---------- */
.fv{position:relative;height:100vh;height:100svh;min-height:600px;overflow:hidden;isolation:isolate;}
.fv__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 30%;z-index:-2;}
.fv::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(ellipse 60% 70% at 0% 0%,rgba(10,15,44,.72) 0%,rgba(10,15,44,.3) 55%,rgba(10,15,44,0) 80%),
    linear-gradient(180deg,rgba(10,15,44,0) 70%,rgba(10,15,44,.6) 100%);}

.fv__inner{position:absolute;left:clamp(24px,4.5vw,90px);top:calc(var(--header-h) + clamp(28px,8vh,100px));
  display:flex;flex-direction:column;align-items:center;}
.fv__logo{margin-bottom:clamp(18px,2.4vw,36px);opacity:0;}
.fv__logo img{display:block;width:clamp(240px,32vw,500px);height:auto;
  filter:hue-rotate(45deg) drop-shadow(0 0 22px rgba(111,168,255,.6)) drop-shadow(0 0 8px rgba(169,220,255,.5));
  animation:logoFloat 6s ease-in-out infinite alternate;}
@keyframes logoFloat{from{transform:translateY(0);}to{transform:translateY(-6px);}}

.fv__catch{position:relative;left:clamp(16px,3.2vw,64px);display:flex;flex-direction:column;align-items:flex-start;gap:clamp(22px,2.2vw,36px);margin-top:clamp(4px,.6vw,10px);}
.fv__line{display:inline-block;font-weight:900;line-height:1;letter-spacing:.02em;
  font-size:clamp(24px,3.3vw,54px);padding:.24em .5em .28em;
  transform:skew(-6deg);opacity:0;clip-path:inset(0 100% 0 0);}
.fv__line > span{display:inline-block;transform:skew(6deg);}
.fv__line--2{margin-left:4.2em;}
.fv__key{position:relative;display:inline-block;font-style:normal;padding:0 .04em;
  background:linear-gradient(100deg,#2f6bff 0%,#7b4dff 45%,#ff3fae 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 6px rgba(123,77,255,.35));}
.fv__key::before,.fv__key::after{content:attr(data-text);position:absolute;inset:0;padding:0 .04em;pointer-events:none;opacity:0;}
.fv__key::before{color:#29d3ff;clip-path:inset(0 0 55% 0);}
.fv__key::after{color:#ff3fae;clip-path:inset(55% 0 0 0);}
html.ge-unlocked .fv__key::before{animation:keyGlitchA 4.2s steps(1) 3s infinite;}
html.ge-unlocked .fv__key::after{animation:keyGlitchB 4.2s steps(1) 3s infinite;}
@keyframes keyGlitchA{0%,86%,100%{opacity:0;transform:none;}87%{opacity:.9;transform:translate(-3px,0);}90%{opacity:.9;transform:translate(2px,-1px);}93%{opacity:0;}}
@keyframes keyGlitchB{0%,86%,100%{opacity:0;transform:none;}88%{opacity:.9;transform:translate(3px,0);}91%{opacity:.9;transform:translate(-2px,1px);}94%{opacity:0;}}
@media (prefers-reduced-motion:reduce){ html.ge-unlocked .fv__key::before,html.ge-unlocked .fv__key::after{animation:none;} }
.fv__line--1{background:linear-gradient(135deg,#ffffff 0%,#e3f2ff 100%);color:var(--night);
  box-shadow:.12em .12em 0 rgba(10,15,44,.55),0 0 30px rgba(200,232,255,.28);}
.fv__line--2{background:linear-gradient(120deg,#cfeaff 0%,#7fb2ff 55%,#b8b2ff 100%);color:#fff;
  text-shadow:0 2px 10px rgba(10,15,44,.35);
  box-shadow:.12em .12em 0 rgba(10,15,44,.55),0 0 30px rgba(169,220,255,.32);}

/* 登場：ロゴ → 1行目 → 少し遅れて2行目（パスワード解除後に再生） */
html.ge-unlocked .fv__logo{animation:logoFade 1.6s ease-out .2s forwards;}
html.ge-unlocked .fv__line--1{animation:fvIn 1.4s ease-out 1.2s forwards;}
html.ge-unlocked .fv__line--2{animation:fvIn 1.4s ease-out 2.4s forwards;}
@keyframes logoFade{0%{opacity:0;filter:blur(8px);}60%{filter:blur(0);}100%{opacity:1;filter:none;}}
@keyframes logoIn{
  0%{opacity:0;transform:translateX(-10px);}
  30%{opacity:1;transform:translateX(6px);filter:drop-shadow(-5px 0 0 rgba(169,220,255,.9)) drop-shadow(5px 0 0 rgba(201,194,255,.9));}
  40%{opacity:.4;transform:translateX(-4px);}
  55%{opacity:1;transform:translateX(0);filter:none;}
  100%{opacity:1;transform:none;}
}
@keyframes fvIn{
  0%  {opacity:0;clip-path:inset(0 100% 0 0);transform:translateX(-16px) skew(-6deg);}
  15% {opacity:1;}
  100%{opacity:1;clip-path:inset(0 0 0 0);transform:translateX(0) skew(-6deg);}
}


/* ---------- ABOUT（ポスター風・クリスタルカラー） ---------- */
.about{position:relative;overflow:hidden;isolation:isolate;color:#fff;
  padding:clamp(64px,6.5vw,96px) clamp(20px,5vw,72px) clamp(90px,10vw,130px);
  background-color:#101a4a;
  background-image:
    radial-gradient(ellipse 760px 560px at 12% 18%,rgba(169,220,255,.26),transparent 70%),
    radial-gradient(ellipse 720px 600px at 74% 42%,rgba(111,168,255,.26),transparent 70%),
    radial-gradient(ellipse 640px 520px at 96% 96%,rgba(201,194,255,.24),transparent 70%),
    linear-gradient(rgba(169,220,255,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(169,220,255,.06) 1px,transparent 1px),
    radial-gradient(0.9px 1.2px at 412px 190px,#ffffff,transparent),radial-gradient(1.5px 0.7px at 285px 396px,#ffffff,transparent),radial-gradient(0.7px 1px at 188px 13px,#ffffff,transparent),radial-gradient(1.2px 1.2px at 344px 57px,#dcecff,transparent),radial-gradient(0.9px 1px at 93px 129px,#dcecff,transparent),radial-gradient(1.5px 0.9px at 90px 441px,#ffffff,transparent),radial-gradient(0.9px 1.5px at 278px 65px,#ffffff,transparent),radial-gradient(0.9px 0.7px at 32px 277px,#cfe2ff,transparent),radial-gradient(1px 1.5px at 41px 380px,#ffffff,transparent),radial-gradient(1.2px 0.7px at 406px 122px,#ffffff,transparent),radial-gradient(0.7px 1.5px at 77px 259px,#ffffff,transparent),radial-gradient(1px 0.7px at 358px 303px,#ffffff,transparent),radial-gradient(0.7px 0.9px at 353px 1px,#ffffff,transparent),radial-gradient(1.2px 0.7px at 301px 377px,#cfe2ff,transparent),radial-gradient(1.2px 0.7px at 381px 371px,#ffffff,transparent),radial-gradient(1.5px 1.2px at 376px 220px,#ffffff,transparent),radial-gradient(0.7px 1.5px at 5px 429px,#ffffff,transparent),radial-gradient(1.5px 1.5px at 275px 284px,#cfe2ff,transparent),radial-gradient(0.9px 1.5px at 218px 208px,#dcecff,transparent),radial-gradient(0.9px 1.2px at 62px 315px,#cfe2ff,transparent),radial-gradient(1px 1.5px at 144px 174px,#ffffff,transparent),radial-gradient(0.9px 0.9px at 424px 95px,#dcecff,transparent),radial-gradient(1px 0.7px at 257px 277px,#cfe2ff,transparent),radial-gradient(1.5px 0.7px at 295px 107px,#dcecff,transparent),radial-gradient(0.7px 0.7px at 282px 227px,#ffffff,transparent),radial-gradient(1.2px 1px at 265px 20px,#ffffff,transparent),radial-gradient(1.5px 1px at 260px 433px,#ffffff,transparent),radial-gradient(0.7px 1.5px at 138px 207px,#ffffff,transparent),radial-gradient(1px 0.7px at 267px 309px,#ffffff,transparent),radial-gradient(1.2px 1.5px at 5px 444px,#ffffff,transparent),radial-gradient(1.2px 0.9px at 264px 333px,#dcecff,transparent),radial-gradient(0.7px 0.9px at 97px 87px,#dcecff,transparent),radial-gradient(0.9px 0.7px at 427px 192px,#dcecff,transparent),radial-gradient(0.9px 0.9px at 454px 16px,#cfe2ff,transparent);
  background-size:100% 100%,100% 100%,100% 100%,48px 48px,48px 48px,460px 460px,460px 460px,460px 460px,460px 460px,460px 460px,460px 460px,460px 460px,460px 460px,460px 460px,460px 460px,460px 460px,460px 460px,460px 460px,460px 460px,460px 460px,460px 460px,460px 460px,460px 460px,460px 460px,460px 460px,460px 460px,460px 460px,460px 460px,460px 460px,460px 460px,460px 460px,460px 460px,460px 460px,460px 460px,460px 460px,460px 460px,460px 460px,460px 460px,460px 460px;}
.about::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:repeating-linear-gradient(180deg,rgba(255,255,255,.035) 0 1px,transparent 1px 3px);}
/* FVとABOUTの境目の光るライン（クリスタルカラー） */
.about::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;
  background:linear-gradient(90deg,transparent,#a9dcff 20%,#ffffff 50%,#c9c2ff 80%,transparent);
  box-shadow:0 0 18px rgba(169,220,255,.75),0 0 40px rgba(201,194,255,.35);}
.about__inner{position:relative;max-width:1280px;margin:0 auto;display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);column-gap:clamp(32px,4vw,64px);align-items:start;}
.about__visual{margin-top:clamp(0px,1.5vw,24px);}

.about__title{position:relative;display:inline-block;
  font-family:var(--display);font-weight:700;font-size:clamp(46px,6.2vw,92px);line-height:1;letter-spacing:.02em;
  background:linear-gradient(180deg,#ffffff 30%,#b9ddff 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 22px rgba(169,220,255,.45));}
.about__title::before,.about__title::after{content:attr(data-text);position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;}
.about__title::before{color:var(--ice);transform:translate(-3px,0);clip-path:inset(0 0 58% 0);animation:glitchTop 3s infinite steps(2);}
.about__title::after{color:var(--lavender);transform:translate(3px,0);clip-path:inset(56% 0 0 0);animation:glitchBottom 2.4s infinite steps(2);}
@keyframes glitchTop{0%,80%,100%{transform:translate(-2px,0);}82%{transform:translate(-6px,-2px);clip-path:inset(0 0 60% 0);}84%{transform:translate(4px,1px);clip-path:inset(0 0 40% 0);}86%{transform:translate(-3px,-1px);clip-path:inset(0 0 70% 0);}88%{transform:translate(2px,2px);clip-path:inset(0 0 30% 0);}90%{transform:translate(-2px,0);}}
@keyframes glitchBottom{0%,72%,100%{transform:translate(2px,0);}74%{transform:translate(6px,2px);clip-path:inset(50% 0 0 0);}76%{transform:translate(-4px,-1px);clip-path:inset(70% 0 0 0);}78%{transform:translate(3px,1px);clip-path:inset(45% 0 0 0);}80%{transform:translate(2px,0);}}
.about__en{display:flex;align-items:center;gap:14px;margin-top:16px;
  font-family:var(--display);font-size:clamp(13px,1.2vw,16px);font-weight:600;letter-spacing:.38em;color:var(--ice);}
.about__en::after{content:"";flex:1;max-width:220px;height:1px;background:linear-gradient(90deg,var(--ice),transparent);box-shadow:0 0 8px var(--ice);}
.about__body{margin-top:clamp(28px,3vw,40px);max-width:33em;}
.about__body p{font-size:clamp(15px,1.25vw,17px);font-weight:500;line-height:2.1;letter-spacing:.05em;color:#dbe4ff;}
.about__body p + p{margin-top:1.2em;}
.about__body strong{font-weight:900;color:#fff;text-shadow:0 0 14px rgba(169,220,255,.8);}

.about__visual{position:relative;padding-bottom:clamp(40px,5vw,70px);}
.about__frame{position:relative;padding:1.5px;
  background:linear-gradient(150deg,#ffffff,rgba(169,220,255,.55) 35%,rgba(201,194,255,.4) 70%,#e6f4ff);
  clip-path:polygon(0 0,calc(100% - 30px) 0,100% 30px,100% 100%,30px 100%,0 calc(100% - 30px));
  filter:drop-shadow(0 0 28px rgba(111,168,255,.4));}
.about__frame img{display:block;width:100%;aspect-ratio:16/10.5;object-fit:cover;
  clip-path:polygon(0 0,calc(100% - 29px) 0,100% 29px,100% 100%,29px 100%,0 calc(100% - 29px));}
.about__frame::after{content:"";position:absolute;inset:1.5px;pointer-events:none;
  clip-path:polygon(0 0,calc(100% - 29px) 0,100% 29px,100% 100%,29px 100%,0 calc(100% - 29px));
  background:repeating-linear-gradient(180deg,rgba(255,255,255,.05) 0 1px,transparent 1px 3px),
    linear-gradient(125deg,rgba(255,255,255,.2) 0%,rgba(255,255,255,0) 30%);}
.about__spark{position:absolute;width:22px;height:22px;color:#fff;pointer-events:none;z-index:3;
  filter:drop-shadow(0 0 6px rgba(169,220,255,.9));animation:geSpark 3.2s ease-in-out infinite;}
.about__spark--1{top:-11px;left:44px;}
.about__spark--2{right:-10px;top:30%;width:16px;height:16px;animation-delay:-1.2s;}
.about__spark--3{top:52%;left:-8px;width:14px;height:14px;animation-delay:-2.1s;}

.about-file{position:absolute;right:-12px;bottom:0;width:min(330px,70%);padding:16px 18px 18px;z-index:2;
  background:linear-gradient(150deg,rgba(60,86,170,.62),rgba(22,34,92,.86));
  border:1px solid rgba(205,232,255,.45);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 0 30px rgba(169,220,255,.18);
  clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px));}
.about-file__head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;
  padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid rgba(205,232,255,.3);
  font-family:var(--display);font-size:14px;font-weight:700;letter-spacing:.2em;color:var(--ice);}
.about-file__head span{font-family:"VT323",ui-monospace,monospace;font-size:15px;font-weight:400;letter-spacing:.1em;color:var(--lavender);}
.about-file dl{display:grid;grid-template-columns:auto 1fr;gap:7px 14px;font-size:13px;}
.about-file dt{font-family:"VT323",ui-monospace,monospace;font-size:15px;letter-spacing:.12em;color:#a4b4dd;}
.about-file dd{font-weight:700;letter-spacing:.05em;}

@media (max-width:900px){
  .about__inner{grid-template-columns:1fr;}
  .about__visual{margin-top:44px;padding-bottom:0;}
  .about-file{position:relative;right:auto;bottom:auto;width:auto;margin:-48px 12px 0;}
  .about-file dl{gap:7px 10px;font-size:12px;}
  .about-file dt{font-size:14px;letter-spacing:.06em;}
}
@media (prefers-reduced-motion:reduce){
  .about__title::before,.about__title::after,.about__spark{animation:none;}
}

/* ---------- SUBJECT（被検体要項）: ポスター風・このセクションだけピンク差し色 ---------- */
.specimen{--pink:#ff5fc8;--cyan:#62e6ff;--glass:rgba(16,10,44,.58);
  position:relative;overflow:hidden;isolation:isolate;color:#fff;
  padding:clamp(100px,11vw,160px) clamp(20px,5vw,72px) clamp(90px,10vw,140px);
  background-color:#07051a;
  background-image:
    radial-gradient(ellipse 700px 600px at 72% 40%,rgba(98,230,255,.20),transparent 70%),
    radial-gradient(ellipse 620px 520px at 92% 85%,rgba(255,95,200,.22),transparent 70%),
    radial-gradient(ellipse 700px 600px at 0% 10%,rgba(120,80,255,.20),transparent 70%),
    linear-gradient(rgba(98,230,255,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(98,230,255,.05) 1px,transparent 1px);
  background-size:100% 100%,100% 100%,100% 100%,48px 48px,48px 48px;}
.specimen::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:repeating-linear-gradient(180deg,rgba(255,255,255,.035) 0 1px,transparent 1px 3px);}
.specimen::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--cyan),var(--pink),transparent);box-shadow:0 0 18px rgba(255,95,200,.6);}

.specimen__inner{position:relative;max-width:1280px;margin:0 auto;display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);grid-template-areas:"head visual" "crit visual";
  column-gap:clamp(32px,4vw,64px);row-gap:0;align-items:start;}
.specimen__head{grid-area:head;}
.criteria{grid-area:crit;}
.specimen__visual{grid-area:visual;align-self:center;}

/* title */
.specimen__title{position:relative;display:inline-block;font-family:var(--jp);font-weight:900;
  font-size:clamp(38px,5.2vw,78px);line-height:1;letter-spacing:0;white-space:nowrap;color:#fff;
  text-shadow:0 0 24px rgba(98,230,255,.45),0 0 60px rgba(255,95,200,.25);}
.specimen__title::before,.specimen__title::after{content:attr(data-text);position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;text-shadow:none;}
.specimen__title::before{color:var(--cyan);transform:translate(-4px,0);clip-path:inset(0 0 58% 0);animation:glitchTop 2.8s infinite steps(2);}
.specimen__title::after{color:var(--pink);transform:translate(4px,0);clip-path:inset(56% 0 0 0);animation:glitchBottom 2.2s infinite steps(2);}
.specimen__en{display:flex;align-items:center;gap:14px;margin-top:16px;
  font-family:var(--display);font-size:clamp(13px,1.2vw,16px);font-weight:600;letter-spacing:.38em;color:var(--cyan);}
.specimen__en::after{content:"";flex:1;max-width:220px;height:1px;background:linear-gradient(90deg,var(--cyan),transparent);box-shadow:0 0 8px var(--cyan);}
.specimen__intro{margin-top:26px;max-width:32em;font-size:15px;font-weight:500;line-height:2.05;letter-spacing:.04em;color:#cfd6f5;}

/* criteria panel */
.hud-panel{position:relative;background:linear-gradient(150deg,rgba(98,230,255,.10),rgba(255,95,200,.05) 60%,var(--glass));
  border:1px solid rgba(98,230,255,.38);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 0 30px rgba(98,230,255,.12);
  clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,20px 100%,0 calc(100% - 20px));}
.criteria{margin-top:clamp(36px,4vw,52px);padding:26px 28px 28px;}
.criteria__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  padding-bottom:14px;border-bottom:1px solid rgba(98,230,255,.25);}
.criteria__head h3{font-size:clamp(19px,1.8vw,23px);font-weight:900;letter-spacing:.14em;}
.criteria__head span{font-family:"VT323",ui-monospace,monospace;font-size:16px;letter-spacing:.1em;color:var(--pink);}
.criteria__list li{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 16px;
  padding:16px 2px;border-bottom:1px dashed rgba(255,255,255,.14);}
.criteria__code{grid-column:1;font-family:"VT323",ui-monospace,monospace;font-size:15px;letter-spacing:.12em;color:var(--cyan);}
.criteria__text{grid-column:1;font-size:clamp(15px,1.35vw,17px);font-weight:700;letter-spacing:.06em;line-height:1.6;}
.criteria__mark{grid-column:2;grid-row:1 / span 2;font-family:var(--display);font-size:12px;font-weight:700;letter-spacing:.16em;
  padding:6px 10px;color:rgba(255,255,255,.35);border:1px solid rgba(255,255,255,.2);transition:color .3s,border-color .3s,box-shadow .3s,background .3s;}
.criteria__list li.is-on .criteria__mark{color:#fff;border-color:var(--pink);background:rgba(255,95,200,.18);box-shadow:0 0 14px rgba(255,95,200,.55);}
.criteria__tag{margin-top:22px;padding-left:16px;border-left:2px solid var(--pink);
  font-size:clamp(17px,1.7vw,21px);font-weight:900;letter-spacing:.08em;line-height:1.6;
  text-shadow:0 0 16px rgba(255,95,200,.55);}

/* visual */
.specimen__visual{position:relative;display:flex;justify-content:flex-end;padding-right:clamp(56px,6vw,96px);}
.capsule{position:relative;width:min(480px,100%);}
.capsule__frame{position:relative;padding:1.5px;
  background:linear-gradient(160deg,var(--cyan),rgba(98,230,255,.2) 40%,rgba(255,95,200,.6) 100%);
  clip-path:polygon(0 0,calc(100% - 34px) 0,100% 34px,100% 100%,34px 100%,0 calc(100% - 34px));
  filter:drop-shadow(0 0 30px rgba(98,230,255,.35));}
.capsule__frame img{display:block;width:100%;aspect-ratio:2/3;object-fit:cover;object-position:50% 35%;
  clip-path:polygon(0 0,calc(100% - 33px) 0,100% 33px,100% 100%,33px 100%,0 calc(100% - 33px));}
.capsule__frame::after{content:"";position:absolute;inset:1.5px;pointer-events:none;
  clip-path:polygon(0 0,calc(100% - 33px) 0,100% 33px,100% 100%,33px 100%,0 calc(100% - 33px));
  background:repeating-linear-gradient(180deg,rgba(255,255,255,.05) 0 1px,transparent 1px 3px),
    linear-gradient(180deg,rgba(7,5,26,0) 62%,rgba(7,5,26,.75) 100%);}
.capsule__scan{position:absolute;left:1.5px;right:1.5px;top:0;height:70px;pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(98,230,255,.35),transparent);mix-blend-mode:screen;
  animation:capScan 4.2s linear infinite;}
@keyframes capScan{from{transform:translateY(0);}to{transform:translateY(680px);opacity:0;}}
.capsule__rec{position:absolute;right:48px;top:14px;display:flex;align-items:center;gap:8px;
  font-family:var(--display);font-size:12px;font-weight:700;letter-spacing:.2em;}
.capsule__rec::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--pink);box-shadow:0 0 10px var(--pink);animation:blinkSoft 1.2s steps(2) infinite;}
@keyframes blinkSoft{50%{opacity:.25;}}

/* profile HUD */
.profile{position:absolute;left:0;bottom:9%;width:min(300px,62%);padding:14px 16px 16px;z-index:2;}
.profile__row{display:flex;gap:12px;align-items:center;}
.profile__thumb{flex:none;width:66px;height:66px;object-fit:cover;border:1px solid rgba(98,230,255,.6);
  filter:saturate(1.1) contrast(1.05);box-shadow:0 0 12px rgba(98,230,255,.4);}
.profile__id{font-family:var(--display);font-size:16px;font-weight:700;letter-spacing:.14em;color:var(--cyan);}
.profile__id small{display:block;font-family:"VT323",ui-monospace,monospace;font-size:14px;letter-spacing:.1em;color:#b8c2ea;}
.profile dl{margin-top:12px;display:grid;grid-template-columns:auto 1fr;gap:6px 12px;font-size:13px;}
.profile dt{font-family:"VT323",ui-monospace,monospace;font-size:15px;letter-spacing:.12em;color:#8f9cd0;}
.profile dd{font-weight:700;letter-spacing:.06em;}
.profile dd.is-live{color:var(--pink);text-shadow:0 0 10px rgba(255,95,200,.7);}

/* vertical copy */
.specimen__vertical{position:absolute;right:0;top:9%;z-index:2;
  writing-mode:vertical-rl;font-size:clamp(17px,1.6vw,22px);font-weight:700;letter-spacing:.3em;line-height:1.9;
  text-shadow:0 0 14px rgba(98,230,255,.55);}
.specimen__vertical > span{display:block;}
.specimen__vertical > span + span{padding-top:2.6em;} /* 2行目は1行目の「声」あたりから */
/* 縦書きコピー：上から下へ 水色→ピンク のグラデーション（1文字ずつ色を変える） */
.specimen__vertical .ch{color:color-mix(in srgb,#ff5fc8 calc(var(--i,0) * 5%),#62e6ff);
  text-shadow:0 0 12px color-mix(in srgb,#ff5fc8 calc(var(--i,0) * 5%),#62e6ff),0 0 26px rgba(255,95,200,.25);}

/* scroll reveal：見出しだけチカチカ／縦書きは1文字ずつ（JSが動くときだけ隠す） */
html.js [data-reveal] .reveal{opacity:0;}
html.js [data-reveal].is-in .reveal{animation:hudIn .8s steps(1) forwards;}
.typein .ch{display:inline;}
html.js .typein .ch{opacity:0;}
html.js [data-reveal].is-in .typein .ch{animation:chIn .6s ease-out forwards;animation-delay:calc(.5s + var(--i) * 90ms);}
@keyframes chIn{from{opacity:0;filter:blur(6px);}to{opacity:1;filter:blur(0);}}
@keyframes hudIn{0%{opacity:0;}15%{opacity:1;}25%{opacity:.2;}40%{opacity:1;}55%{opacity:.5;}70%,100%{opacity:1;}}

@media (max-width:900px){
  .specimen__inner{grid-template-columns:1fr;grid-template-areas:"head" "visual" "crit";}
  @media (max-width:720px){
    .specimen__inner{grid-template-areas:"head" "crit" "visual";}
    .criteria{margin-top:28px;}
  }
  .specimen__visual{justify-content:center;padding-right:0;margin-top:40px;}
  .capsule{width:min(420px,100%);}
  .profile{position:relative;left:auto;top:auto;width:auto;margin:-60px 12px 0;}
  .specimen__vertical{position:static;writing-mode:horizontal-tb;letter-spacing:.14em;margin-top:22px;text-align:center;font-size:17px;}
  .specimen__vertical > span{display:block;}
  .specimen__visual{flex-direction:column;align-items:center;}
}
@media (prefers-reduced-motion:reduce){
  .specimen__title::before,.specimen__title::after,.capsule__scan,.capsule__rec::before{animation:none;}
  html.js [data-reveal] .reveal,html.js .typein .ch{opacity:1;animation:none!important;}
}

/* ---------- REWARD（報酬プロトコル） ---------- */
.reward{position:relative;overflow:hidden;isolation:isolate;color:#fff;
  padding:clamp(100px,11vw,160px) clamp(20px,5vw,72px) clamp(100px,11vw,160px);
  background-color:#0b1236;
  background-image:
    radial-gradient(ellipse 800px 520px at 50% 0%,rgba(111,168,255,.22),transparent 70%),
    radial-gradient(ellipse 700px 520px at 100% 100%,rgba(201,194,255,.18),transparent 70%),
    radial-gradient(ellipse 600px 500px at 0% 80%,rgba(169,220,255,.14),transparent 70%),
    linear-gradient(rgba(169,220,255,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(169,220,255,.055) 1px,transparent 1px),
    radial-gradient(1px 0.6px at 8px 303px,#dcecff,transparent),radial-gradient(1.2px 1.2px at 271px 183px,#ffffff,transparent),radial-gradient(0.8px 1px at 227px 7px,#ffffff,transparent),radial-gradient(1.5px 1.2px at 12px 54px,#ffffff,transparent),radial-gradient(1.2px 1.2px at 10px 262px,#cfe2ff,transparent),radial-gradient(1.2px 1px at 29px 105px,#ffffff,transparent),radial-gradient(1.5px 1px at 88px 317px,#ffffff,transparent),radial-gradient(1px 1.5px at 188px 292px,#dcecff,transparent),radial-gradient(1px 1.5px at 43px 242px,#ffffff,transparent),radial-gradient(1.2px 1.5px at 229px 83px,#ffffff,transparent),radial-gradient(0.8px 1.5px at 165px 266px,#ffffff,transparent),radial-gradient(1.5px 0.6px at 42px 50px,#dcecff,transparent),radial-gradient(0.6px 1.5px at 141px 293px,#dcecff,transparent),radial-gradient(1.5px 1px at 55px 189px,#dcecff,transparent),radial-gradient(1.5px 1px at 232px 281px,#ffffff,transparent),radial-gradient(1px 0.8px at 54px 317px,#ffffff,transparent),radial-gradient(1.2px 0.8px at 168px 279px,#ffffff,transparent),radial-gradient(1.5px 0.6px at 196px 85px,#dcecff,transparent),radial-gradient(0.6px 0.6px at 213px 201px,#ffffff,transparent),radial-gradient(0.8px 0.8px at 6px 113px,#cfe2ff,transparent),radial-gradient(0.6px 1.5px at 227px 47px,#dcecff,transparent),radial-gradient(0.6px 1.2px at 251px 98px,#ffffff,transparent);
  background-size:100% 100%,100% 100%,100% 100%,48px 48px,48px 48px,320px 320px;}
.reward::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:repeating-linear-gradient(180deg,rgba(255,255,255,.03) 0 1px,transparent 1px 3px);}
.reward::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;
  background:linear-gradient(90deg,transparent,#a9dcff 20%,#ffffff 50%,#c9c2ff 80%,transparent);
  box-shadow:0 0 18px rgba(169,220,255,.75),0 0 40px rgba(201,194,255,.35);}
.reward__inner{max-width:1280px;margin:0 auto;}
.reward__title{position:relative;display:inline-block;white-space:nowrap;
  font-family:var(--jp);font-weight:900;font-size:clamp(38px,5.2vw,78px);line-height:1;letter-spacing:0;
  background:linear-gradient(180deg,#ffffff 30%,#b9ddff 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 22px rgba(169,220,255,.4));}
.reward__title::before,.reward__title::after{content:attr(data-text);position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;}
.reward__title::before{color:var(--ice);transform:translate(-3px,0);clip-path:inset(0 0 58% 0);animation:glitchTop 3.2s infinite steps(2);}
.reward__title::after{color:var(--lavender);transform:translate(3px,0);clip-path:inset(56% 0 0 0);animation:glitchBottom 2.6s infinite steps(2);}
.reward__en{display:flex;align-items:center;gap:14px;margin-top:16px;
  font-family:var(--display);font-size:clamp(13px,1.2vw,16px);font-weight:600;letter-spacing:.38em;color:var(--ice);}
.reward__en::after{content:"";flex:1;max-width:220px;height:1px;background:linear-gradient(90deg,var(--ice),transparent);box-shadow:0 0 8px var(--ice);}

.reward__grid{margin-top:clamp(48px,5vw,72px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,1.6vw,24px);}
.r-card{position:relative;padding:1.5px;
  background:linear-gradient(160deg,#ffffff,rgba(169,220,255,.6) 30%,rgba(111,168,255,.25) 65%,rgba(201,194,255,.75));
  clip-path:polygon(0 0,calc(100% - 26px) 0,100% 26px,100% 100%,26px 100%,0 calc(100% - 26px));
  filter:drop-shadow(0 18px 30px rgba(3,6,30,.5));}
.r-card__body{position:relative;height:100%;display:flex;flex-direction:column;overflow:hidden;
  padding:26px 24px 22px;
  background:linear-gradient(160deg,rgba(40,62,150,.9) 0%,rgba(18,28,82,.95) 55%,rgba(12,18,58,.97) 100%);
  clip-path:polygon(0 0,calc(100% - 25px) 0,100% 25px,100% 100%,25px 100%,0 calc(100% - 25px));}
.r-card__body::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(125deg,rgba(255,255,255,.14) 0%,rgba(255,255,255,0) 32%),
    repeating-linear-gradient(180deg,rgba(255,255,255,.035) 0 1px,transparent 1px 3px);}
.r-card__top{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
.r-card__icon{width:74px;height:84px;flex:none;filter:drop-shadow(0 0 12px rgba(169,220,255,.55));}
.r-card__code{font-family:"VT323",ui-monospace,monospace;font-size:15px;line-height:1.3;letter-spacing:.1em;color:var(--ice);text-align:right;}
.r-card__code b{display:block;font-weight:400;color:var(--lavender);}
.r-card__title{position:relative;margin-top:22px;font-size:clamp(16px,1.3vw,20px);font-weight:900;letter-spacing:.03em;line-height:1.45;white-space:nowrap;}
@media (max-width:1100px){.r-card__title{font-size:clamp(17px,2.2vw,21px);}}
.r-card__desc{position:relative;margin-top:14px;padding-top:14px;border-top:1px solid rgba(205,232,255,.22);
  font-size:14px;font-weight:500;line-height:1.9;letter-spacing:.04em;color:#cdd8f6;flex:1;}
.r-card__status{position:relative;margin-top:18px;display:flex;align-items:center;gap:8px;
  font-family:"VT323",ui-monospace,monospace;font-size:15px;letter-spacing:.14em;color:#8f9cd0;}
.r-card__status::before{content:"";width:7px;height:7px;transform:rotate(45deg);background:currentColor;box-shadow:0 0 8px currentColor;}
.r-card__status .on{display:none;}
.r-card.is-in .r-card__status{color:var(--ice);}
.r-card.is-in .r-card__status .off{display:none;}
.r-card.is-in .r-card__status .on{display:inline;}

/* 1枚ずつ表示（JSが動くときだけ隠す） */
html.js .r-card{opacity:0;transform:translateY(36px);}
html.js .r-card.is-in{opacity:1;transform:none;transition:opacity 1.3s ease,transform 1.3s cubic-bezier(.16,.8,.2,1);}
.r-card__scan{position:absolute;inset:0;pointer-events:none;opacity:0;
  background:linear-gradient(100deg,transparent 30%,rgba(230,244,255,.45) 50%,transparent 70%);transform:translateX(-100%);}
.r-card.is-in .r-card__scan{animation:cardScan 1.8s ease-out .9s 1 both;}
@keyframes cardScan{0%{opacity:1;transform:translateX(-100%);}100%{opacity:1;transform:translateX(100%);}}


/* PC：カードが出てくると同時に、左上→右下の斜めの光が1回流れる */
@media (min-width:901px){
  .r-card__scan{opacity:1;transform:none;
    background:linear-gradient(135deg,transparent 36%,rgba(169,220,255,.18) 43%,rgba(255,255,255,.7) 49%,rgba(255,255,255,.85) 50%,rgba(201,194,255,.18) 57%,transparent 64%);mix-blend-mode:screen;
    background-size:260% 260%;background-position:100% 100%;background-repeat:no-repeat;}
  .r-card.is-in .r-card__scan{animation:cardDiag 1.6s ease-out .25s 1 both;}
}
@keyframes cardDiag{from{background-position:100% 100%;}to{background-position:0% 0%;}}
@media (max-width:1100px){ .reward__grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:600px){ .reward__grid{grid-template-columns:1fr;} }
@media (prefers-reduced-motion:reduce){
  .reward__title::before,.reward__title::after{animation:none;}
  html.js .r-card{opacity:1;transform:none;}
  .r-card.is-in .r-card__scan{animation:none;}
}

/* ---------- MEMBER ---------- */
.member{--pink:#ff5fc8;--cyan:#62e6ff;position:relative;overflow:hidden;isolation:isolate;color:#fff;
  padding:clamp(100px,11vw,160px) clamp(20px,5vw,72px);
  background-color:#07051a;
  background-image:
    radial-gradient(ellipse 700px 600px at 80% 20%,rgba(255,95,200,.22),transparent 70%),
    radial-gradient(ellipse 700px 600px at 5% 90%,rgba(98,230,255,.18),transparent 70%),
    radial-gradient(ellipse 600px 500px at 45% 55%,rgba(120,80,255,.16),transparent 70%),
    linear-gradient(rgba(98,230,255,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(98,230,255,.05) 1px,transparent 1px);
  background-size:100% 100%,100% 100%,100% 100%,48px 48px,48px 48px;}
.member::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:repeating-linear-gradient(180deg,rgba(255,255,255,.035) 0 1px,transparent 1px 3px);}
.member::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--cyan),var(--pink),transparent);box-shadow:0 0 18px rgba(255,95,200,.6);}
.member__inner{max-width:1280px;margin:0 auto;}
.member__title{position:relative;display:inline-block;
  font-family:var(--display);font-weight:700;font-size:clamp(46px,6.2vw,92px);line-height:1;letter-spacing:.02em;
  color:#fff;text-shadow:0 0 24px rgba(98,230,255,.45),0 0 60px rgba(255,95,200,.25);}
.member__title::before,.member__title::after{content:attr(data-text);position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;}
.member__title::before{color:var(--cyan);text-shadow:none;transform:translate(-3px,0);clip-path:inset(0 0 58% 0);animation:glitchTop 3s infinite steps(2);}
.member__title::after{color:var(--pink);text-shadow:none;transform:translate(3px,0);clip-path:inset(56% 0 0 0);animation:glitchBottom 2.4s infinite steps(2);}
.member__en{display:flex;align-items:center;gap:14px;margin-top:16px;
  font-family:var(--display);font-size:clamp(13px,1.2vw,16px);font-weight:600;letter-spacing:.38em;color:var(--cyan);}
.member__en::after{content:"";flex:1;max-width:220px;height:1px;background:linear-gradient(90deg,var(--cyan),transparent);box-shadow:0 0 8px var(--cyan);}

.member__grid{margin-top:clamp(48px,5vw,72px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,1.6vw,24px);}
.m-card{display:block;width:100%;padding:1.5px;border:0;cursor:pointer;text-align:left;color:inherit;font:inherit;
  --mc:#62e6ff;
  background:linear-gradient(160deg,var(--mc),color-mix(in srgb,var(--mc) 35%,transparent) 45%,var(--mc));
  clip-path:polygon(0 0,calc(100% - 24px) 0,100% 24px,100% 100%,24px 100%,0 calc(100% - 24px));
  filter:drop-shadow(0 18px 30px rgba(3,6,30,.5)) drop-shadow(0 0 14px color-mix(in srgb,var(--mc) 45%,transparent));transition:transform .3s ease,filter .3s ease;}
.member__grid li:nth-child(1) .m-card{--mc:#62e6ff;}
.member__grid li:nth-child(2) .m-card{--mc:#ff5fc8;}
.member__grid li:nth-child(3) .m-card{--mc:#b99cff;}
.member__grid li:nth-child(4) .m-card{--mc:#a9dcff;}
.m-card:hover,.m-card:focus-visible{transform:translateY(-6px);filter:drop-shadow(0 22px 34px rgba(3,6,30,.55)) drop-shadow(0 0 24px color-mix(in srgb,var(--mc) 70%,transparent));}
.m-card:focus-visible{outline:none;}
.m-card:focus-visible .m-card__inner{box-shadow:inset 0 0 0 2px #fff;}
.m-card__inner{position:relative;display:block;overflow:hidden;
  background:linear-gradient(170deg,rgba(34,22,84,.96),rgba(10,8,34,.98));
  clip-path:polygon(0 0,calc(100% - 23px) 0,100% 23px,100% 100%,23px 100%,0 calc(100% - 23px));}
.m-card__photo{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;}
.m-card__photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.m-card:hover .m-card__photo img{transform:scale(1.04);}
.m-card__photo::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(180deg,rgba(255,255,255,.05) 0 1px,transparent 1px 3px),
    linear-gradient(180deg,rgba(12,18,58,0) 55%,rgba(12,18,58,.9) 100%);}
.m-card__scan{position:absolute;left:0;right:0;top:0;height:60px;pointer-events:none;z-index:2;
  background:linear-gradient(180deg,transparent,rgba(169,220,255,.4),transparent);mix-blend-mode:screen;
  animation:mScan 4.2s linear infinite;animation-delay:var(--dl,0s);}
@keyframes mScan{0%{transform:translateY(-60px);opacity:0;}8%{opacity:1;}92%{opacity:1;}100%{transform:translateY(calc(var(--h,400px)));opacity:0;}}
.m-card__corner{position:absolute;z-index:2;width:18px;height:18px;border-color:rgba(230,244,255,.85);border-style:solid;pointer-events:none;}
.m-card__corner--tl{top:12px;left:12px;border-width:1.5px 0 0 1.5px;}
.m-card__corner--br{bottom:12px;right:12px;border-width:0 1.5px 1.5px 0;}
.m-card__ch{position:absolute;top:12px;right:34px;z-index:2;font-family:"VT323",ui-monospace,monospace;font-size:15px;letter-spacing:.12em;color:var(--mc);
  text-shadow:0 0 8px var(--mc);}
.m-card__meta{position:relative;display:block;padding:14px 18px 18px;}
.m-card__name{display:block;font-size:clamp(17px,1.5vw,21px);font-weight:900;letter-spacing:.08em;}
.m-card__en{display:block;margin-top:4px;font-family:var(--display);font-size:12px;font-weight:600;letter-spacing:.24em;color:var(--mc);}
.m-card__more{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding-top:10px;border-top:1px solid rgba(205,232,255,.2);
  font-family:"VT323",ui-monospace,monospace;font-size:15px;letter-spacing:.14em;color:#a4b4dd;}
.m-card__more::after{content:"›";font-size:20px;color:var(--mc);transition:transform .25s;}
.m-card:hover .m-card__more::after{transform:translateX(4px);}

/* 未登録スロット */
.m-card--empty .m-card__photo{display:grid;place-items:center;
  background:radial-gradient(ellipse at 50% 40%,rgba(169,220,255,.18),transparent 70%),
    repeating-linear-gradient(45deg,rgba(169,220,255,.05) 0 10px,transparent 10px 20px);}
.m-card--empty .m-card__photo svg{width:52%;opacity:.8;filter:drop-shadow(0 0 12px rgba(169,220,255,.5));}
.m-card__q{position:absolute;left:0;right:0;bottom:22%;text-align:center;z-index:2;
  font-family:"VT323",ui-monospace,monospace;font-size:22px;letter-spacing:.2em;color:var(--frost);animation:blinkSoft 1.4s steps(2) infinite;}

/* modal */
.m-modal{width:min(920px,calc(100vw - 32px));max-height:calc(100vh - 48px);margin:auto;padding:0;border:0;background:transparent;color:#fff;overflow:visible;}
.m-modal::backdrop{background:rgba(4,6,22,.78);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);}
.m-modal[open]{animation:modalIn .45s cubic-bezier(.2,.8,.2,1);}
@keyframes modalIn{from{opacity:0;transform:translateY(18px) scale(.98);}to{opacity:1;transform:none;}}
.m-modal__frame{padding:1.5px;
  background:linear-gradient(150deg,#62e6ff,rgba(98,230,255,.3) 40%,#ff5fc8 100%);
  clip-path:polygon(0 0,calc(100% - 32px) 0,100% 32px,100% 100%,32px 100%,0 calc(100% - 32px));
  filter:drop-shadow(0 0 40px rgba(111,168,255,.45));}
.m-modal__body{position:relative;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);max-height:calc(100vh - 52px);overflow:auto;
  background:linear-gradient(160deg,#241a5e 0%,#110b36 60%,#07051a 100%);
  clip-path:polygon(0 0,calc(100% - 31px) 0,100% 31px,100% 100%,31px 100%,0 calc(100% - 31px));}
.m-modal__photo{position:relative;min-height:460px;overflow:hidden;}
.m-modal__photo img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 20%;}
.m-modal__photo::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(180deg,rgba(255,255,255,.05) 0 1px,transparent 1px 3px);}
.m-modal__photo .m-card__scan{--h:640px;}
.m-modal__photo--empty{display:grid;place-items:center;min-height:420px;
  background:radial-gradient(ellipse at 50% 40%,rgba(169,220,255,.2),transparent 70%),repeating-linear-gradient(45deg,rgba(169,220,255,.05) 0 10px,transparent 10px 20px);}
.m-modal__photo--empty svg{width:50%;}
.m-modal__info{padding:clamp(28px,3.2vw,44px);}
.m-modal__ch{font-family:"VT323",ui-monospace,monospace;font-size:17px;letter-spacing:.14em;color:var(--ice);}
.m-modal__name{margin-top:6px;font-size:clamp(28px,3vw,40px);font-weight:900;letter-spacing:.08em;line-height:1.2;}
.m-modal__en{margin-top:6px;font-family:var(--display);font-size:13px;font-weight:600;letter-spacing:.3em;color:var(--ice);}
.m-modal__role{display:inline-block;margin-top:16px;padding:5px 12px;font-family:var(--display);font-size:12px;font-weight:700;letter-spacing:.2em;
  color:var(--night);background:linear-gradient(120deg,var(--ice),var(--lavender));clip-path:polygon(6% 0,100% 0,94% 100%,0 100%);}
.m-modal__quote{margin-top:22px;padding-left:14px;border-left:2px solid var(--ice);font-size:17px;font-weight:700;line-height:1.8;letter-spacing:.06em;
  text-shadow:0 0 14px rgba(169,220,255,.5);}
.m-modal__desc{margin-top:18px;font-size:14px;line-height:2;letter-spacing:.04em;color:#cdd8f6;}
.m-modal__spec{margin-top:22px;padding:16px 18px;display:grid;grid-template-columns:auto 1fr;gap:8px 18px;font-size:14px;
  background:rgba(169,220,255,.06);border:1px solid rgba(205,232,255,.2);}
.m-modal__spec dt{font-family:"VT323",ui-monospace,monospace;font-size:15px;letter-spacing:.14em;color:#a4b4dd;}
.m-modal__spec dd{font-weight:700;letter-spacing:.05em;}
.m-modal__cta{display:inline-flex;margin-top:24px;padding:14px 26px;font-weight:900;letter-spacing:.14em;color:var(--night);
  background:linear-gradient(120deg,var(--ice),var(--lavender));clip-path:polygon(5% 0,100% 0,95% 100%,0 100%);}
.m-modal__kana{margin-top:6px;font-size:14px;font-weight:700;letter-spacing:.22em;color:#cdd8f6;}
.m-modal__sns{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;}
.m-modal__sns a{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(169,220,255,.6);border-radius:50%;color:var(--ice);
  background:rgba(10,15,44,.5);box-shadow:0 0 12px rgba(98,230,255,.18);transition:background .25s,color .25s,box-shadow .25s,transform .25s;}
.m-modal__sns a svg{width:18px;height:18px;}
.m-modal__sns a:hover,.m-modal__sns a:focus-visible{background:linear-gradient(120deg,var(--ice),var(--lavender));color:var(--night);outline:none;transform:translateY(-2px);box-shadow:0 0 18px rgba(169,220,255,.55);}
.m-modal__close{position:absolute;top:10px;right:14px;z-index:5;width:44px;height:44px;display:grid;place-items:center;
  border:1px solid rgba(205,232,255,.5);background:rgba(10,15,44,.7);color:#fff;font-size:22px;cursor:pointer;}
.m-modal__close:hover,.m-modal__close:focus-visible{background:rgba(169,220,255,.2);outline:none;border-color:#fff;}

@media (max-width:1100px){ .member__grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:720px){
  .m-modal__body{grid-template-columns:1fr;}
  .m-modal__photo{min-height:0;aspect-ratio:4/3;}
  .m-modal__photo--empty{min-height:0;}
}
@media (max-width:420px){ .m-card__more{white-space:nowrap;letter-spacing:.06em;} .member__grid{gap:12px;} .m-card__meta{padding:12px 12px 14px;} .m-card__en{letter-spacing:.12em;font-size:11px;} }
@media (prefers-reduced-motion:reduce){
  .member__title::before,.member__title::after,.m-card__q{animation:none;}
  .m-modal[open]{animation:none;}
}

/* ---------- NEWS ---------- */
.news{position:relative;overflow:hidden;isolation:isolate;color:#fff;
  padding:clamp(100px,11vw,160px) clamp(20px,5vw,72px);
  background-color:#101a4a;
  background-image:
    radial-gradient(ellipse 760px 520px at 15% 10%,rgba(169,220,255,.22),transparent 70%),
    radial-gradient(ellipse 700px 520px at 95% 90%,rgba(201,194,255,.2),transparent 70%),
    linear-gradient(rgba(169,220,255,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(169,220,255,.06) 1px,transparent 1px),
    radial-gradient(1.5px 0.8px at 233px 257px,#cfe2ff,transparent),radial-gradient(1.2px 1.5px at 184px 232px,#cfe2ff,transparent),radial-gradient(0.6px 0.6px at 86px 176px,#cfe2ff,transparent),radial-gradient(0.8px 1px at 28px 86px,#ffffff,transparent),radial-gradient(1px 0.8px at 225px 101px,#ffffff,transparent),radial-gradient(0.8px 0.8px at 179px 259px,#cfe2ff,transparent),radial-gradient(1px 1.5px at 206px 28px,#dcecff,transparent),radial-gradient(1px 0.8px at 46px 283px,#dcecff,transparent),radial-gradient(1.2px 1.2px at 126px 79px,#ffffff,transparent),radial-gradient(1.2px 1.2px at 118px 176px,#cfe2ff,transparent),radial-gradient(0.8px 0.8px at 40px 16px,#cfe2ff,transparent),radial-gradient(0.6px 0.6px at 244px 202px,#cfe2ff,transparent),radial-gradient(1px 1px at 120px 28px,#dcecff,transparent),radial-gradient(1.2px 0.8px at 95px 101px,#cfe2ff,transparent),radial-gradient(1px 1px at 97px 242px,#ffffff,transparent),radial-gradient(1.5px 1.2px at 179px 88px,#dcecff,transparent),radial-gradient(0.8px 1.5px at 154px 49px,#cfe2ff,transparent),radial-gradient(1.2px 0.6px at 199px 193px,#ffffff,transparent),radial-gradient(1px 0.8px at 204px 117px,#dcecff,transparent),radial-gradient(1.5px 0.8px at 159px 120px,#ffffff,transparent),radial-gradient(1.5px 1.2px at 249px 218px,#ffffff,transparent),radial-gradient(0.8px 0.8px at 287px 170px,#ffffff,transparent);
  background-size:100% 100%,100% 100%,48px 48px,48px 48px,320px 320px;}
.news::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:repeating-linear-gradient(180deg,rgba(255,255,255,.035) 0 1px,transparent 1px 3px);}
.news::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;
  background:linear-gradient(90deg,transparent,#a9dcff 20%,#ffffff 50%,#c9c2ff 80%,transparent);
  box-shadow:0 0 18px rgba(169,220,255,.75),0 0 40px rgba(201,194,255,.35);}
.news__inner{max-width:1100px;margin:0 auto;}
.news__head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.news__title{position:relative;display:inline-block;
  font-family:var(--display);font-weight:700;font-size:clamp(46px,6.2vw,92px);line-height:1;letter-spacing:.02em;
  background:linear-gradient(180deg,#ffffff 30%,#b9ddff 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 22px rgba(169,220,255,.45));}
.news__title::before,.news__title::after{content:attr(data-text);position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;}
.news__title::before{color:var(--ice);transform:translate(-3px,0);clip-path:inset(0 0 58% 0);animation:glitchTop 3s infinite steps(2);}
.news__title::after{color:var(--lavender);transform:translate(3px,0);clip-path:inset(56% 0 0 0);animation:glitchBottom 2.4s infinite steps(2);}
.news__en{display:flex;align-items:center;gap:14px;margin-top:16px;
  font-family:var(--display);font-size:clamp(13px,1.2vw,16px);font-weight:600;letter-spacing:.38em;color:var(--ice);}
.news__en::after{content:"";width:160px;height:1px;background:linear-gradient(90deg,var(--ice),transparent);box-shadow:0 0 8px var(--ice);}
.news__filter{display:flex;gap:6px;flex-wrap:wrap;}
.news__filter button{padding:8px 14px;border:1px solid rgba(205,232,255,.35);background:rgba(10,15,44,.4);color:#cdd8f6;cursor:pointer;
  font-family:var(--display);font-size:12px;font-weight:700;letter-spacing:.18em;transition:background .2s,color .2s,border-color .2s;}
.news__filter button:hover,.news__filter button:focus-visible{border-color:#fff;color:#fff;outline:none;}
.news__filter button[aria-pressed="true"]{background:linear-gradient(120deg,var(--ice),var(--lavender));color:var(--night);border-color:transparent;}

.news__list{margin-top:clamp(36px,4vw,56px);border-top:1px solid rgba(205,232,255,.25);}
.news__item[hidden]{display:none;}
.news__link{position:relative;display:grid;grid-template-columns:120px 110px minmax(0,1fr) 28px;align-items:center;gap:20px;
  padding:24px 12px;border-bottom:1px solid rgba(205,232,255,.18);transition:background .25s;}
.news__link::before{content:"";position:absolute;left:0;top:-1px;bottom:-1px;width:0;background:linear-gradient(90deg,rgba(169,220,255,.16),transparent);transition:width .35s ease;}
.news__link:hover::before,.news__link:focus-visible::before{width:100%;}
.news__link:focus-visible{outline:1px solid rgba(169,220,255,.7);outline-offset:-1px;}
.news__date{position:relative;font-family:"VT323",ui-monospace,monospace;font-size:19px;letter-spacing:.1em;color:#b8c7ef;}
.news__cat{position:relative;justify-self:start;padding:4px 10px;font-family:var(--display);font-size:11px;font-weight:700;letter-spacing:.18em;
  color:var(--c);border:1px solid var(--c);box-shadow:0 0 10px color-mix(in srgb,var(--c) 40%,transparent);}
.news__cat--event{--c:#62e6ff;} .news__cat--media{--c:#c9c2ff;} .news__cat--release{--c:#a9dcff;} .news__cat--info{--c:#e6f4ff;}
.news__text{position:relative;font-size:clamp(15px,1.3vw,17px);font-weight:700;line-height:1.7;letter-spacing:.04em;}
.news__text small{display:block;margin-top:4px;font-size:13px;font-weight:500;color:#aebbe2;letter-spacing:.04em;}
.news__arrow{position:relative;font-family:"VT323",ui-monospace,monospace;font-size:24px;color:var(--ice);transition:transform .25s;}
.news__link:hover .news__arrow{transform:translateX(5px);}
.news__more{display:flex;justify-content:center;margin-top:44px;}
.news__more a{display:inline-flex;align-items:center;gap:14px;padding:16px 34px;border:1px solid rgba(205,232,255,.5);
  font-family:var(--display);font-size:14px;font-weight:700;letter-spacing:.24em;background:rgba(10,15,44,.45);
  clip-path:polygon(5% 0,100% 0,95% 100%,0 100%);transition:background .25s,color .25s;}
.news__more a:hover,.news__more a:focus-visible{background:linear-gradient(120deg,var(--ice),var(--lavender));color:var(--night);outline:none;}
@media (max-width:720px){
  .news__link{grid-template-columns:auto 1fr 20px;grid-template-areas:"date cat arrow" "text text arrow";gap:10px 14px;padding:20px 6px;}
  .news__date{grid-area:date;} .news__cat{grid-area:cat;} .news__text{grid-area:text;} .news__arrow{grid-area:arrow;align-self:center;}
}
@media (prefers-reduced-motion:reduce){ .news__title::before,.news__title::after{animation:none;} }

/* ---------- ENTRY FLOW（被検体接続プロトコル） ---------- */
.flow{--pink:#ff5fc8;--cyan:#62e6ff;position:relative;overflow:hidden;isolation:isolate;color:#fff;
  padding:clamp(100px,11vw,160px) clamp(20px,5vw,72px);
  background-color:#07051a;
  background-image:
    radial-gradient(ellipse 700px 600px at 85% 15%,rgba(98,230,255,.16),transparent 70%),
    radial-gradient(ellipse 700px 600px at 10% 85%,rgba(255,95,200,.18),transparent 70%),
    linear-gradient(rgba(98,230,255,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(98,230,255,.05) 1px,transparent 1px);
  background-size:100% 100%,100% 100%,48px 48px,48px 48px;}
.flow::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:repeating-linear-gradient(180deg,rgba(255,255,255,.035) 0 1px,transparent 1px 3px);}
.flow::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--cyan),var(--pink),transparent);box-shadow:0 0 18px rgba(255,95,200,.6);}
.flow__inner{max-width:1080px;margin:0 auto;}
.flow__title{position:relative;display:inline-block;
  font-family:var(--display);font-weight:700;font-size:clamp(46px,6.2vw,92px);line-height:1;letter-spacing:.02em;
  color:#fff;text-shadow:0 0 24px rgba(98,230,255,.45),0 0 60px rgba(255,95,200,.25);}
.flow__title::before,.flow__title::after{content:attr(data-text);position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;text-shadow:none;}
.flow__title::before{color:var(--cyan);transform:translate(-3px,0);clip-path:inset(0 0 58% 0);animation:glitchTop 3s infinite steps(2);}
.flow__title::after{color:var(--pink);transform:translate(3px,0);clip-path:inset(56% 0 0 0);animation:glitchBottom 2.4s infinite steps(2);}
.flow__en{display:flex;align-items:center;gap:14px;margin-top:16px;
  font-size:clamp(14px,1.3vw,17px);font-weight:700;letter-spacing:.3em;color:var(--cyan);}
.flow__en{white-space:nowrap;}
.flow__en::after{content:"";flex:0 1 180px;min-width:24px;height:1px;background:linear-gradient(90deg,var(--cyan),transparent);box-shadow:0 0 8px var(--cyan);}
.flow__lead{margin-top:18px;font-size:clamp(15px,1.3vw,17px);font-weight:500;letter-spacing:.08em;color:#cfd6f5;}

.flow__track{position:relative;margin-top:clamp(48px,5vw,72px);}
/* 縦のライン：未接続は暗く、進むと光で満たされる */
.flow__track::before{content:"";position:absolute;left:43px;top:44px;bottom:44px;width:2px;background:rgba(98,230,255,.15);}
.flow__rail{position:absolute;left:43px;top:44px;width:2px;height:0;
  background:linear-gradient(180deg,var(--cyan),var(--pink));box-shadow:0 0 10px var(--cyan),0 0 20px rgba(255,95,200,.5);
  transition:height .9s cubic-bezier(.3,.7,.2,1);}
.flow__step{position:relative;display:grid;grid-template-columns:88px minmax(0,1fr);gap:clamp(18px,2.4vw,32px);align-items:center;}
.flow__step + .flow__step{margin-top:22px;}

.flow__node{position:relative;z-index:1;width:88px;height:88px;display:grid;place-items:center;}
.flow__node svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;}
.flow__node polygon{fill:#0b0822;stroke:rgba(98,230,255,.35);stroke-width:1.5;transition:stroke .5s,fill .5s,filter .5s;}
.flow__num{position:relative;font-family:var(--display);font-size:26px;font-weight:700;letter-spacing:.04em;color:rgba(255,255,255,.35);transition:color .5s,text-shadow .5s;}
.flow__step.is-on .flow__node polygon{stroke:var(--cyan);fill:#130c36;filter:drop-shadow(0 0 10px rgba(98,230,255,.7));}
.flow__step.is-on .flow__num{color:#fff;text-shadow:0 0 12px var(--cyan);}

.flow__panel{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;
  padding:22px clamp(20px,2.4vw,32px);
  background:linear-gradient(110deg,rgba(98,230,255,.08),rgba(255,95,200,.04) 60%,rgba(11,8,34,.6));
  border:1px solid rgba(98,230,255,.2);
  clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px));
  transition:border-color .5s,background .5s;}
.flow__panel::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:rgba(98,230,255,.25);transition:background .5s,box-shadow .5s;}
.flow__step.is-on .flow__panel{border-color:rgba(98,230,255,.5);background:linear-gradient(110deg,rgba(98,230,255,.14),rgba(255,95,200,.07) 60%,rgba(11,8,34,.6));}
.flow__step.is-on .flow__panel::before{background:linear-gradient(180deg,var(--cyan),var(--pink));box-shadow:0 0 12px var(--cyan);}
.flow__signal{font-family:"VT323",ui-monospace,monospace;font-size:15px;letter-spacing:.14em;color:var(--pink);}
.flow__name{margin-top:4px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;}
.flow__name h3{font-size:clamp(19px,1.9vw,24px);font-weight:900;letter-spacing:.1em;}
.flow__name span{font-family:var(--display);font-size:12px;font-weight:600;letter-spacing:.26em;color:var(--cyan);}
.flow__desc{margin-top:8px;font-size:14px;font-weight:500;line-height:1.85;letter-spacing:.04em;color:#c5cdee;}
.flow__status{justify-self:end;display:flex;align-items:center;gap:8px;padding:8px 12px;white-space:nowrap;
  font-family:"VT323",ui-monospace,monospace;font-size:15px;letter-spacing:.14em;color:rgba(255,255,255,.35);
  border:1px solid rgba(255,255,255,.14);transition:color .5s,border-color .5s,box-shadow .5s;}
.flow__status::before{content:"";width:6px;height:6px;background:currentColor;transform:rotate(45deg);}
.flow__step.is-on .flow__status{color:var(--cyan);border-color:rgba(98,230,255,.55);box-shadow:0 0 12px rgba(98,230,255,.25);}
.flow__step:last-child.is-on .flow__status{color:#fff;border-color:var(--pink);background:rgba(255,95,200,.16);box-shadow:0 0 14px rgba(255,95,200,.5);}

.flow__cta{margin-top:clamp(44px,5vw,64px);display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;}
.flow__cta p{font-family:"VT323",ui-monospace,monospace;font-size:18px;letter-spacing:.16em;color:var(--cyan);}
.flow__btn{display:inline-flex;align-items:center;gap:16px;padding:18px 44px;font-size:17px;font-weight:900;letter-spacing:.16em;color:#fff;
  background:linear-gradient(120deg,#06c755,#04a544);clip-path:polygon(5% 0,100% 0,95% 100%,0 100%);
  box-shadow:0 0 22px rgba(6,199,85,.45);transition:filter .2s,transform .2s;}
.flow__btn:hover,.flow__btn:focus-visible{filter:brightness(1.1);transform:translateY(-2px);outline:none;}
.flow__btn small{font-size:12px;font-weight:700;letter-spacing:.06em;opacity:.9;}

@media (max-width:720px){
  .flow__track::before,.flow__rail{left:27px;top:28px;}
  .flow__track::before{bottom:28px;}
  .flow__step{grid-template-columns:56px minmax(0,1fr);gap:14px;align-items:start;}
  .flow__node{width:56px;height:56px;}
  .flow__num{font-size:18px;}
  .flow__panel{grid-template-columns:1fr;gap:12px;padding:18px 18px 18px 20px;}
  .flow__status{justify-self:start;}
  .flow__btn{padding:16px 28px;font-size:15px;}
  .flow__en{letter-spacing:.18em;}
  .flow__cta p{font-size:15px;letter-spacing:.08em;}
}
@media (prefers-reduced-motion:reduce){ .flow__title::before,.flow__title::after{animation:none;} .flow__rail{transition:none;} }

/* ---------- FAQ ---------- */
.faq{position:relative;overflow:hidden;isolation:isolate;color:#fff;
  padding:clamp(100px,11vw,160px) clamp(20px,5vw,72px) clamp(110px,12vw,170px);
  background-color:#101a4a;
  background-image:
    radial-gradient(ellipse 760px 520px at 85% 10%,rgba(169,220,255,.22),transparent 70%),
    radial-gradient(ellipse 700px 520px at 5% 95%,rgba(201,194,255,.2),transparent 70%),
    linear-gradient(rgba(169,220,255,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(169,220,255,.06) 1px,transparent 1px),
    radial-gradient(1.2px 0.8px at 285px 110px,#dcecff,transparent),radial-gradient(1px 1px at 14px 248px,#dcecff,transparent),radial-gradient(1px 0.6px at 207px 236px,#dcecff,transparent),radial-gradient(0.8px 1px at 3px 257px,#cfe2ff,transparent),radial-gradient(0.6px 0.8px at 172px 13px,#dcecff,transparent),radial-gradient(0.8px 0.8px at 206px 151px,#dcecff,transparent),radial-gradient(1px 1.2px at 163px 316px,#dcecff,transparent),radial-gradient(0.8px 1.5px at 132px 214px,#dcecff,transparent),radial-gradient(0.8px 0.8px at 92px 29px,#cfe2ff,transparent),radial-gradient(1px 1.2px at 7px 276px,#dcecff,transparent),radial-gradient(0.6px 1px at 3px 216px,#ffffff,transparent),radial-gradient(0.6px 1.2px at 177px 32px,#dcecff,transparent),radial-gradient(0.8px 0.6px at 318px 181px,#cfe2ff,transparent),radial-gradient(1px 0.6px at 249px 137px,#dcecff,transparent),radial-gradient(1.2px 0.8px at 69px 36px,#dcecff,transparent),radial-gradient(1.2px 0.6px at 157px 250px,#cfe2ff,transparent),radial-gradient(1.2px 0.6px at 188px 104px,#cfe2ff,transparent),radial-gradient(1px 0.8px at 257px 238px,#dcecff,transparent),radial-gradient(0.6px 0.6px at 107px 91px,#ffffff,transparent),radial-gradient(1.5px 0.6px at 203px 121px,#cfe2ff,transparent),radial-gradient(0.8px 1px at 290px 232px,#dcecff,transparent),radial-gradient(1px 1.2px at 39px 131px,#ffffff,transparent);
  background-size:100% 100%,100% 100%,48px 48px,48px 48px,320px 320px;}
.faq::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:repeating-linear-gradient(180deg,rgba(255,255,255,.035) 0 1px,transparent 1px 3px);}
.faq::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;
  background:linear-gradient(90deg,transparent,#a9dcff 20%,#ffffff 50%,#c9c2ff 80%,transparent);
  box-shadow:0 0 18px rgba(169,220,255,.75),0 0 40px rgba(201,194,255,.35);}
.faq__inner{max-width:1000px;margin:0 auto;}
.faq__title{position:relative;display:inline-block;
  font-family:var(--display);font-weight:700;font-size:clamp(46px,6.2vw,92px);line-height:1;letter-spacing:.02em;
  background:linear-gradient(180deg,#ffffff 30%,#b9ddff 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 22px rgba(169,220,255,.45));}
.faq__title::before,.faq__title::after{content:attr(data-text);position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;}
.faq__title::before{color:var(--ice);transform:translate(-3px,0);clip-path:inset(0 0 58% 0);animation:glitchTop 3s infinite steps(2);}
.faq__title::after{color:var(--lavender);transform:translate(3px,0);clip-path:inset(56% 0 0 0);animation:glitchBottom 2.4s infinite steps(2);}
.faq__en{display:flex;align-items:center;gap:14px;margin-top:16px;white-space:nowrap;
  font-size:clamp(14px,1.3vw,17px);font-weight:700;letter-spacing:.3em;color:var(--ice);}
.faq__en::after{content:"";flex:0 1 180px;min-width:24px;height:1px;background:linear-gradient(90deg,var(--ice),transparent);box-shadow:0 0 8px var(--ice);}

.faq__list{margin-top:clamp(40px,4.5vw,64px);display:flex;flex-direction:column;gap:14px;}
.faq-q{position:relative;
  background:linear-gradient(110deg,rgba(169,220,255,.10),rgba(201,194,255,.05) 60%,rgba(12,18,58,.6));
  border:1px solid rgba(205,232,255,.22);
  clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px));
  transition:border-color .3s,background .3s;}
.faq-q::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:rgba(169,220,255,.3);transition:background .3s,box-shadow .3s;}
.faq-q[open]{border-color:rgba(205,232,255,.55);background:linear-gradient(110deg,rgba(169,220,255,.16),rgba(201,194,255,.08) 60%,rgba(12,18,58,.65));}
.faq-q[open]::before{background:linear-gradient(180deg,#ffffff,var(--ice),var(--lavender));box-shadow:0 0 12px var(--ice);}
.faq-q summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;
  padding:20px clamp(18px,2.4vw,30px);}
.faq-q summary::-webkit-details-marker{display:none;}
.faq-q summary:focus-visible{outline:1px solid rgba(230,244,255,.8);outline-offset:-4px;}
.faq-q__mark{font-family:var(--display);font-size:22px;font-weight:700;color:var(--ice);text-shadow:0 0 10px rgba(169,220,255,.7);line-height:1;}
.faq-q__text{font-size:clamp(15px,1.4vw,17px);font-weight:700;letter-spacing:.05em;line-height:1.6;}
.faq-q__icon{position:relative;width:18px;height:18px;flex:none;}
.faq-q__icon::before,.faq-q__icon::after{content:"";position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;background:var(--ice);transition:transform .3s;}
.faq-q__icon::after{transform:rotate(90deg);}
.faq-q[open] .faq-q__icon::after{transform:rotate(0deg);}
.faq-q__a{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;padding:0 clamp(18px,2.4vw,30px) 22px;}
.faq-q__a::before{content:"A";font-family:var(--display);font-size:22px;font-weight:700;color:var(--lavender);line-height:1.3;text-shadow:0 0 10px rgba(201,194,255,.7);}
.faq-q__a p{padding-top:16px;border-top:1px solid rgba(205,232,255,.18);font-size:14px;font-weight:500;line-height:1.95;letter-spacing:.04em;color:#d3ddf7;}
.faq-q[open] .faq-q__a{animation:faqIn .45s ease;}
@keyframes faqIn{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:none;}}
.faq__note{margin-top:36px;text-align:center;font-size:14px;color:#aebbe2;letter-spacing:.04em;}
.faq__note a{color:var(--ice);border-bottom:1px solid rgba(169,220,255,.5);}
.faq__note a:hover,.faq__note a:focus-visible{color:#fff;outline:none;}
.faq__a-grid{display:contents;}
@media (max-width:720px){
  .faq-q summary{gap:12px;padding:18px 16px;}
  .faq-q__a{gap:12px;padding:0 16px 18px;}
  .faq__en{letter-spacing:.18em;}
}
@media (prefers-reduced-motion:reduce){ .faq__title::before,.faq__title::after{animation:none;} .faq-q[open] .faq-q__a{animation:none;} }

/* ---------- ENTRY BANNER + FOOTER ---------- */
.cta-band{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);min-height:clamp(240px,22vw,320px);
  background:#07051a;overflow:hidden;isolation:isolate;}
.cta-band::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;z-index:3;
  background:linear-gradient(90deg,transparent,#62e6ff,#ff5fc8,transparent);box-shadow:0 0 18px rgba(255,95,200,.6);}
.cta-band__text{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  padding:clamp(40px,4vw,56px) clamp(20px,4vw,56px) clamp(40px,4vw,56px) clamp(20px,13vw,260px);
  background:linear-gradient(115deg,#07051a 0%,#110b36 100%);}
.cta-band__text::after{content:"";position:absolute;top:0;bottom:0;right:-120px;width:240px;z-index:-1;
  background:linear-gradient(115deg,#110b36 50%,transparent 50%);}
.cta-band__label{font-family:var(--display);font-size:12px;font-weight:600;letter-spacing:.3em;color:#62e6ff;}
.cta-band__title{position:relative;display:inline-block;margin-top:10px;font-size:clamp(30px,3.4vw,50px);font-weight:900;letter-spacing:.06em;line-height:1.2;
  text-shadow:0 0 22px rgba(98,230,255,.45),0 0 50px rgba(255,95,200,.25);}
.cta-band__text .line-btn{margin-top:26px;}
.cta-band__title::before,.cta-band__title::after{content:attr(data-text);position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;text-shadow:none;}
.cta-band__title::before{color:#62e6ff;transform:translate(-3px,0);clip-path:inset(0 0 58% 0);animation:glitchTop 3s infinite steps(2);}
.cta-band__title::after{color:#ff5fc8;transform:translate(3px,0);clip-path:inset(56% 0 0 0);animation:glitchBottom 2.4s infinite steps(2);}
.cta-band__btn{margin-top:24px;display:inline-flex;align-items:center;gap:26px;padding:12px 14px 12px 30px;min-width:min(100%,380px);justify-content:space-between;
  background:#fff;color:#0a0f2c;clip-path:polygon(4% 0,100% 0,96% 100%,0 100%);transition:filter .25s,transform .25s;}
.cta-band__btn:hover,.cta-band__btn:focus-visible{filter:drop-shadow(0 0 16px rgba(98,230,255,.6));transform:translateY(-2px);outline:none;}
.cta-band__btn span{display:flex;flex-direction:column;gap:2px;}
.cta-band__btn small{font-family:var(--display);font-size:10px;font-weight:700;letter-spacing:.24em;color:#4a78d0;}
.cta-band__btn b{font-size:15px;font-weight:900;letter-spacing:.1em;}
.cta-band__btn i{flex:none;display:grid;place-items:center;width:40px;height:40px;font-style:normal;font-size:18px;color:#fff;
  background:linear-gradient(135deg,#06c755,#04a544);clip-path:polygon(20% 0,100% 0,80% 100%,0 100%);}
.cta-band__img{position:relative;}
.cta-band__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%;}
.cta-band__img::after{content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(180deg,rgba(255,255,255,.05) 0 1px,transparent 1px 3px),linear-gradient(90deg,rgba(7,5,26,.35),transparent 35%);}

.site-footer{background:#000;color:#fff;}
.site-footer__inner{max-width:1160px;margin:0 auto;padding:clamp(48px,5vw,64px) clamp(20px,4vw,40px) 0;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:clamp(32px,5vw,80px);align-items:start;}
.site-footer__brand .logo__img{height:52px;}
.site-footer__tag{margin-top:14px;font-family:var(--display);font-size:11px;font-weight:600;letter-spacing:.26em;color:#8f9cd0;}
.f-mail{display:inline-flex;align-items:center;gap:14px;margin-top:22px;padding:14px 18px;
  font-family:"VT323",ui-monospace,monospace;font-size:18px;letter-spacing:.04em;color:#fff;white-space:nowrap;
  border:1px solid rgba(169,220,255,.35);background:rgba(4,8,26,.6);transition:border-color .25s,color .25s,box-shadow .25s;}
.f-mail small{font-family:var(--display);font-size:10px;letter-spacing:.22em;color:var(--ice);}
.f-mail:hover,.f-mail:focus-visible{border-color:var(--ice);color:var(--ice);box-shadow:0 0 14px rgba(169,220,255,.25);outline:none;}
.f-sitemap__label{font-family:var(--display);font-size:12px;font-weight:700;letter-spacing:.3em;color:#8f9cd0;margin-bottom:14px;}
.f-sitemap ul{display:grid;grid-template-columns:repeat(4,auto);justify-content:space-between;gap:14px 24px;}
.f-sitemap a{position:relative;display:inline-block;padding:4px 0;font-family:var(--display);font-size:14px;font-weight:600;letter-spacing:.14em;color:#dbe4ff;transition:color .2s;}
.f-sitemap a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--ice);transition:width .25s;}
.f-sitemap a:hover,.f-sitemap a:focus-visible{color:#fff;outline:none;}
.f-sitemap a:hover::after,.f-sitemap a:focus-visible::after{width:100%;}
.site-footer__bottom{max-width:1160px;margin:clamp(36px,4vw,52px) auto 0;padding:22px clamp(20px,4vw,40px) 30px;
  display:flex;align-items:center;gap:18px 28px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.14);
  font-size:12px;letter-spacing:.06em;color:#9aa6cc;}
.site-footer__bottom nav{display:flex;gap:10px;}
.site-footer__bottom nav a:hover,.site-footer__bottom nav a:focus-visible{color:#fff;outline:none;}
.f-sns{display:flex;gap:14px;margin-left:auto;}
.f-sns a{display:grid;place-items:center;width:34px;height:34px;color:#dbe4ff;transition:color .2s;}
.f-sns a:hover,.f-sns a:focus-visible{color:var(--ice);outline:none;}
.f-sns svg{width:22px;height:22px;}
@media (max-width:900px){
  .cta-band{grid-template-columns:1fr;}
  .cta-band__img{order:-1;height:220px;}
  .cta-band__text{padding:36px 20px 40px;}
  .cta-band__text::after{display:none;}
  .cta-band__btn{min-width:0;width:100%;}
  .site-footer__inner{grid-template-columns:1fr;}
  .f-sitemap ul{grid-template-columns:repeat(2,1fr);}
  .f-sns{margin-left:0;}
}
@media (max-width:420px){ .f-mail{flex-direction:column;align-items:flex-start;gap:4px;font-size:17px;padding:12px 16px;max-width:100%;} }

/* 元サイトと同じLINEエントリーボタン */
.line-btn{position:relative;display:inline-flex;flex-direction:column;align-items:flex-start;gap:6px;overflow:hidden;
  padding:18px 56px 18px 40px;color:#fff;
  background:linear-gradient(120deg,#06c755 0%,#04a544 100%);
  clip-path:polygon(6% 0,100% 0,94% 100%,0 100%);
  box-shadow:0 0 22px rgba(6,199,85,.45);transition:filter .2s,transform .2s;}
.line-btn::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(180deg,rgba(255,255,255,.07) 0 1px,transparent 1px 4px);}
.line-btn::after{content:"";position:absolute;top:0;bottom:0;left:-40%;width:30%;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);transition:left .6s ease;}
.line-btn:hover,.line-btn:focus-visible{filter:brightness(1.08);transform:translateY(-2px);outline:none;}
.line-btn:hover::after,.line-btn:focus-visible::after{left:120%;}
.line-btn__txt{position:relative;font-size:clamp(18px,1.7vw,22px);font-weight:900;letter-spacing:.1em;line-height:1.2;}
.line-btn__sub{position:relative;font-size:12px;font-weight:700;letter-spacing:.06em;opacity:.95;}
@media (max-width:720px){ .line-btn{padding:16px 40px 16px 30px;} }

/* ===== スマホ版の調整 ===== */
@media (max-width:720px){
  /* 1. FV：イラストを引きで見せる */
  .fv{background:linear-gradient(180deg,#1a1450 0%,#0a0f2c 100%);}
  .fv__img{top:var(--header-h);bottom:auto;height:60%;object-position:60% 28%;
    -webkit-mask-image:linear-gradient(180deg,#000 72%,transparent 100%);mask-image:linear-gradient(180deg,#000 72%,transparent 100%);}
  /* 2. 縦書きコピーをイラストの左上に重ねる（2行目は段差） */
  .specimen__visual{position:relative;}
  .specimen__vertical{position:absolute;top:18px;left:12px;right:auto;margin:0;z-index:3;
    writing-mode:vertical-rl;text-align:start;font-size:21px;font-weight:900;letter-spacing:.18em;line-height:1.6;
    padding:0;background:none;}
  .specimen__vertical > span{display:block;}
  .specimen__vertical > span + span{padding-top:2.2em;}
  .specimen__vertical .ch{
    text-shadow:1px 1px 0 #07051a,-1px 1px 0 #07051a,1px -1px 0 #07051a,-1px -1px 0 #07051a,
      2px 0 0 #07051a,-2px 0 0 #07051a,0 2px 0 #07051a,0 -2px 0 #07051a,
      0 0 8px rgba(7,5,26,.95),0 0 16px color-mix(in srgb,#ff5fc8 calc(var(--i,0) * 5%),#62e6ff);}
  /* スキャンの光をイラストの中に収める */
  .capsule__scan{animation:capScanSp 4.2s linear infinite;}
  /* 4. 募集バナーの文字を中央揃え */
  .cta-band__text{align-items:center;text-align:center;}
  /* 5. 「被検体、募集中。」を左から1文字ずつ */
  html.js .cta-band .cta-band__title{clip-path:inset(-40% 100% -40% -6%);}
  html.js .cta-band.is-in .cta-band__title{animation:ctaType .8s steps(8,end) forwards;}
}
@keyframes capScanSp{0%{top:0;opacity:1;}90%{opacity:1;}100%{top:calc(100% - 70px);opacity:0;}}
@keyframes ctaType{to{clip-path:inset(-40% -6% -40% -6%);}}
@media (max-width:720px) and (prefers-reduced-motion:reduce){ html.js .cta-band .cta-band__title{clip-path:none;animation:none;} }

@media (max-width:720px){
  .fv::after{background:linear-gradient(180deg,rgba(10,15,44,0) 40%,rgba(10,15,44,.75) 100%);}
  .fv__inner{left:0;right:0;top:auto;bottom:calc(56px + env(safe-area-inset-bottom));}
  .fv__logo img{width:min(64vw,280px);}
  .fv__line{font-size:clamp(21px,6.6vw,30px);}
  .fv__catch{left:0;gap:18px;}
}
@media (prefers-reduced-motion:reduce){
  .ge-spark,.fv__logo img{animation:none;}
  .gnav__link:hover span,.gnav__link:focus-visible span{animation:none;}
  html.ge-unlocked .fv__logo,html.ge-unlocked .fv__line{animation:none;opacity:1;clip-path:none;}
}

/* WordPress 管理バー表示時のヘッダー位置 */
.admin-bar .site-header{top:32px;}
@media (max-width:782px){.admin-bar .site-header{top:46px;}}

/* NEWS：記事なし／リンクなし */
.news__empty{margin-top:clamp(36px,4vw,56px);padding:28px 12px;border-top:1px solid rgba(205,232,255,.25);border-bottom:1px solid rgba(205,232,255,.18);
  font-family:"VT323",ui-monospace,monospace;font-size:19px;letter-spacing:.12em;color:#b8c7ef;}
.news__link--static::before{display:none;}

/* ===== NEWS 記事ポップアップ ===== */
button.news__link{width:100%;border-width:0 0 1px;border-style:solid;border-color:rgba(205,232,255,.18);background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;}
.n-modal{width:min(780px,calc(100vw - 32px));}
.n-modal .m-modal__body.n-modal__body{display:block;padding:clamp(30px,4.4vw,56px);}
.n-modal__meta{display:flex;align-items:center;gap:16px;padding-right:48px;}
.n-modal__meta time{font-family:"VT323",ui-monospace,monospace;font-size:20px;letter-spacing:.1em;color:#b8c7ef;}
.n-modal__title{margin-top:16px;padding-bottom:20px;border-bottom:1px solid rgba(205,232,255,.22);font-size:clamp(20px,2.4vw,28px);font-weight:900;line-height:1.55;letter-spacing:.06em;
  text-shadow:0 0 18px rgba(169,220,255,.35);}
.n-modal__text{margin-top:24px;font-size:15px;line-height:2.1;letter-spacing:.04em;color:#dbe4fb;}
.n-modal__text p + p{margin-top:1.1em;}
.n-modal__link{margin-top:28px;}
@media (max-width:720px){
  .n-modal__text{font-size:14px;line-height:2;}
}
.m-card__ch{padding:1px 6px;background:rgba(8,10,34,.55);text-shadow:0 0 4px rgba(6,8,30,.9);}

/* ===== 空き枠（募集中）カード ===== */
.member__grid li:nth-child(n) .m-card.m-card--vacant{--mc:#4dffb4;animation:vacantPulse 2.6s ease-in-out infinite;}
@keyframes vacantPulse{
  0%,100%{filter:drop-shadow(0 18px 30px rgba(3,6,30,.5)) drop-shadow(0 0 4px rgba(77,255,180,.2));}
  50%{filter:drop-shadow(0 18px 30px rgba(3,6,30,.5)) drop-shadow(0 0 22px rgba(77,255,180,.85)) drop-shadow(0 0 6px rgba(77,255,180,.9));}}
.m-card--vacant .m-card__more{color:#b9ffe4;}
/* スキャンの光の帯（上から下へゆっくり通過） */
.m-card__band{position:absolute;left:-10%;right:-10%;top:-30%;height:26%;pointer-events:none;z-index:2;
  background:linear-gradient(180deg,transparent 0%,rgba(169,220,255,.10) 30%,rgba(230,244,255,.55) 50%,rgba(169,220,255,.10) 70%,transparent 100%);
  mix-blend-mode:screen;filter:blur(1px);animation:bandScan 3.6s cubic-bezier(.45,.05,.55,.95) infinite;}
.m-card__band::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(255,255,255,.85);box-shadow:0 0 10px rgba(169,220,255,.9);}
@keyframes bandScan{0%{top:-30%;opacity:0;}12%{opacity:1;}88%{opacity:1;}100%{top:104%;opacity:0;}}
.m-modal__photo--empty{position:relative;overflow:hidden;}
@media (prefers-reduced-motion:reduce){
  .member__grid li:nth-child(n) .m-card.m-card--vacant{animation:none;filter:drop-shadow(0 18px 30px rgba(3,6,30,.5)) drop-shadow(0 0 16px rgba(77,255,180,.6));}
  .m-card__band{animation:none;top:42%;}
}
.m-modal__sns a.sns--x{color:#fff;}
.m-modal__sns a img{width:20px;height:20px;object-fit:contain;}

/* 空き枠カード：クリックしたくなる見せ方 */
.m-card--vacant .m-card__photo svg{width:46%;transform:translateY(-12%);}
.m-card__call{position:absolute;left:10px;right:10px;bottom:10%;z-index:3;text-align:center;
  font-size:clamp(14px,1.35vw,18px);font-weight:900;letter-spacing:.08em;line-height:1.5;color:#fff;
  text-shadow:0 0 14px rgba(77,255,180,.95),0 0 3px rgba(255,255,255,.8);}
.m-card__call i{font-style:normal;margin-left:2px;color:#9dffd6;animation:blinkSoft 1s steps(2) infinite;}
.m-card--vacant .m-card__more{position:relative;overflow:hidden;margin-top:14px;padding:12px 16px;border-top:0;
  font-family:var(--display);font-size:14px;font-weight:700;letter-spacing:.2em;color:var(--night);
  background:linear-gradient(120deg,#4dffb4,#b9fff0);
  clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%);
  box-shadow:0 0 18px rgba(77,255,180,.5);transition:filter .25s;}
.m-card--vacant .m-card__more::after{color:var(--night);font-weight:700;animation:nudgeR 1.2s ease-in-out infinite;}
.m-card--vacant .m-card__more::before{content:"";position:absolute;top:0;bottom:0;left:-45%;width:35%;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);transform:skewX(-20deg);animation:shineSweep 2.8s ease-in-out infinite;}
.m-card--vacant:hover .m-card__more{filter:brightness(1.12);}
@keyframes nudgeR{0%,100%{transform:translateX(0);}50%{transform:translateX(5px);}}
@keyframes shineSweep{0%,55%{left:-45%;}100%{left:130%;}}
/* ポップアップの閉じるボタン：角の斜めカットに被らない位置へ */
.m-modal__close{top:22px;right:38px;}
@media (max-width:720px){ .m-modal__close{top:16px;right:30px;} .m-card--vacant .m-card__more{padding:10px 12px;font-size:12px;letter-spacing:.12em;} }
@media (prefers-reduced-motion:reduce){ .m-card--vacant .m-card__more::before,.m-card--vacant .m-card__more::after,.m-card__call i{animation:none;} }
@media (max-width:720px){ .m-card__call{font-size:13px;left:6px;right:6px;word-break:keep-all;letter-spacing:.04em;} }
@media (max-width:420px){ .m-card__name{font-size:15px;letter-spacing:.03em;overflow-wrap:anywhere;} }

/* 空き枠カードのエントリーボタンを少しだけ強調（光る縁＋ゆっくり拡大縮小） */
.m-card--vacant .m-card__more{clip-path:none;border-radius:2px;margin-top:16px;padding:14px 18px;font-size:15px;
  box-shadow:0 0 0 1px rgba(185,255,240,.9),0 0 22px rgba(77,255,180,.55);animation:vacantBtn 1.6s ease-in-out infinite;}
.m-card--vacant .m-card__meta{padding-bottom:22px;}
@media (max-width:720px){ .m-card--vacant .m-card__more{padding:11px 12px;font-size:12px;} }
@media (prefers-reduced-motion:reduce){ .m-card--vacant .m-card__more{animation:none;} }
/* カードの高さを揃える */
.member__grid > li{display:flex;}
.member__grid > li > .m-card{height:100%;}
.member__grid > li > .m-card > .m-card__inner{height:100%;}
@media (max-width:720px){ .m-card__call i{display:none;} }
@keyframes vacantBtn{0%,100%{box-shadow:0 0 0 1px rgba(185,255,240,.9),0 0 10px rgba(77,255,180,.35);}
  50%{box-shadow:0 0 0 1px #fff,0 0 28px rgba(77,255,180,.9);}}
/* 「生命を同期する」ボタン：拡大縮小なしで、光がゆっくり強弱（ボタンは角が斜めなので外側の枠に光を付ける） */
.glow-wrap{display:inline-block;--glow:rgba(169,220,255,.9);animation:glowPulse 1.6s ease-in-out infinite;}
.glow-wrap--line{--glow:rgba(0,214,110,.95);}
@keyframes glowPulse{0%,100%{filter:drop-shadow(0 0 2px var(--glow));}50%{filter:drop-shadow(0 0 16px var(--glow)) drop-shadow(0 0 4px var(--glow));}}
.cta-band__text .glow-wrap{margin-top:26px;} .cta-band__text .glow-wrap .line-btn{margin-top:0;}
@media (prefers-reduced-motion:reduce){ .glow-wrap{animation:none;filter:drop-shadow(0 0 10px var(--glow));} }
/* 縦書きのダッシュ（――）はすき間なくつなげて長い線に */
.specimen__vertical .ch--dash{letter-spacing:0;}
.specimen__vertical .ch--dash{position:relative;display:inline-block;inline-size:1em;block-size:1em;color:transparent !important;text-shadow:none !important;vertical-align:top;}
.specimen__vertical .ch--dash::after{content:"";position:absolute;top:8%;bottom:-2%;left:50%;width:2px;margin-left:-1px;
  background:color-mix(in srgb,#ff5fc8 calc(var(--i,0) * 5%),#62e6ff);box-shadow:0 0 8px color-mix(in srgb,#ff5fc8 calc(var(--i,0) * 5%),#62e6ff);}
.specimen__vertical .ch--dash + .ch--dash::after{top:-2%;}
@media (max-width:720px){
  .specimen__vertical .ch--dash::after{width:3px;margin-left:-1.5px;box-shadow:0 0 0 1.5px #07051a,0 0 8px color-mix(in srgb,#ff5fc8 calc(var(--i,0) * 5%),#62e6ff);}
}
/* 光の強さを少し控えめに */
.glow-wrap{--glow:rgba(169,220,255,.6);}
.glow-wrap--line{--glow:rgba(0,214,110,.65);}
@keyframes glowPulse{0%,100%{filter:drop-shadow(0 0 1px var(--glow));}50%{filter:drop-shadow(0 0 9px var(--glow));}}
@keyframes vacantBtn{0%,100%{box-shadow:0 0 0 1px rgba(185,255,240,.8),0 0 6px rgba(77,255,180,.25);}
  50%{box-shadow:0 0 0 1px rgba(255,255,255,.9),0 0 16px rgba(77,255,180,.55);}}
/* 縦棒を文字の中心に揃える（ブロック化せず、文字と同じ行の中で線を引く） */
.specimen__vertical .ch--dash{display:inline;inline-size:auto;block-size:auto;vertical-align:baseline;}
@media (max-width:720px){ .specimen__vertical .ch--dash::after{box-shadow:0 0 3px #07051a,0 0 8px color-mix(in srgb,#ff5fc8 calc(var(--i,0) * 5%),#62e6ff);} }
/* 縦書きコピー：ゆっくり表示／2行目は少し間をあけてから */
html.js [data-reveal].is-in .typein .ch{animation-duration:.9s;animation-delay:calc(.6s + var(--i) * 150ms);}
html.js [data-reveal].is-in .typein > span + span .ch{animation-delay:calc(1.5s + var(--i) * 150ms);}
/* 「生命を同期する」の光：少しだけ強く */
.glow-wrap{--glow:rgba(169,220,255,.75);}
.glow-wrap--line{--glow:rgba(0,214,110,.8);}
@keyframes glowPulse{0%,100%{filter:drop-shadow(0 0 2px var(--glow));}50%{filter:drop-shadow(0 0 13px var(--glow)) drop-shadow(0 0 3px var(--glow));}}
html.js [data-reveal].is-in .typein > span + span .ch{animation-delay:calc(1.1s + var(--i) * 150ms);}
/* 連続した「―」を1本の線に（1本ぶんの枠でまとめて囲む） */
.specimen__vertical .ch--dash::after{top:10%;bottom:calc(-100% * (var(--n,1) - 1) + 4%);transform-origin:top;}
.specimen__vertical .ch--dash.ch--dash-cont::after{display:none;}
html.js [data-reveal].is-in .specimen__vertical .ch--dash::after{animation:dashGrow calc(var(--n,1) * 150ms + .5s) ease-out both;animation-delay:calc(1.1s + var(--i) * 150ms);}
@keyframes dashGrow{from{transform:scaleY(0);}to{transform:scaleY(1);}}
@media (max-width:720px){
  .specimen__vertical .ch--dash::after{width:3px;margin-left:-1.5px;
    box-shadow:0 0 0 2px #07051a,0 0 10px color-mix(in srgb,#ff5fc8 calc(var(--i,0) * 5%),#62e6ff);}
}
@media (prefers-reduced-motion:reduce){ html.js [data-reveal].is-in .specimen__vertical .ch--dash::after{animation:none;} }
/* 「る」と縦棒の間を少しあける */
.specimen__vertical .ch--dash::after{top:32%;}

/* =========================================================
 * FV：小見出し・サブコピー
 * ======================================================= */
.fv__label{position:relative;left:clamp(16px,3.2vw,64px);align-self:flex-start;display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;
  margin:0 0 clamp(16px,1.6vw,24px);opacity:0;}
.fv__label-en{font-family:var(--display);font-size:clamp(12px,1vw,15px);font-weight:700;letter-spacing:.28em;color:var(--ice);
  text-shadow:0 0 10px rgba(169,220,255,.7);}
.fv__label-jp{padding:3px 12px;font-size:clamp(12px,1vw,14px);font-weight:900;letter-spacing:.12em;color:var(--night);
  background:linear-gradient(120deg,var(--ice),var(--lavender));clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%);}
.fv__sub{position:relative;left:clamp(16px,3.2vw,64px);align-self:flex-start;max-width:30em;margin-top:clamp(22px,2.2vw,34px);
  padding:14px 18px;font-size:clamp(14px,1.1vw,16px);font-weight:700;line-height:1.95;letter-spacing:.05em;color:#eef4ff;
  background:linear-gradient(90deg,rgba(10,15,44,.72),rgba(10,15,44,.35));border-left:2px solid var(--ice);
  text-shadow:0 1px 6px rgba(10,15,44,.8);opacity:0;}
html.ge-unlocked .fv__label{animation:fadeUp .9s ease-out .9s forwards;}
html.ge-unlocked .fv__sub{animation:fadeUp 1s ease-out 3.4s forwards;}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
@media (prefers-reduced-motion:reduce){ html.ge-unlocked .fv__label,html.ge-unlocked .fv__sub{animation:none;opacity:1;} }

/* ===== FV：PCの調整 ===== */
@media (min-width:721px){
  .fv{background:#0c1238;}
  .fv__img{left:9%;width:100%;
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16%);mask-image:linear-gradient(90deg,transparent 0,#000 16%);}
  .fv__line--2{margin-left:6.4em;}
}
/* 小見出しを目立たせる */
.fv__label{gap:10px 16px;padding:8px 14px 8px 12px;
  background:linear-gradient(90deg,rgba(10,15,44,.78),rgba(10,15,44,.25));border-left:3px solid #62e6ff;
  box-shadow:-6px 0 18px -6px rgba(98,230,255,.8);}
.fv__label-en{position:relative;padding-left:16px;font-size:clamp(14px,1.2vw,18px);letter-spacing:.26em;color:#bff4ff;
  text-shadow:0 0 12px rgba(98,230,255,.9),0 0 2px #fff;}
.fv__label-en::before{content:"";position:absolute;left:0;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;
  background:#ff5fc8;box-shadow:0 0 8px #ff5fc8,0 0 16px #ff5fc8;animation:blinkSoft 1.2s steps(2) infinite;}
.fv__label-jp{padding:5px 16px;font-size:clamp(14px,1.2vw,17px);
  background:linear-gradient(120deg,#62e6ff,#b99cff 60%,#ff8fd8);box-shadow:0 0 18px rgba(185,156,255,.6);}
/* ボタン1行のとき */
.line-btn__txt:only-child{font-size:clamp(19px,1.8vw,23px);}

/* =========================================================
 * FV直下：バッジ（大きめカード・順番に表示）・ボタン・補足
 * ======================================================= */
.fv-info{position:relative;padding:clamp(44px,4.6vw,68px) 20px clamp(46px,4.6vw,64px);
  background:radial-gradient(ellipse 60% 80% at 50% 0%,rgba(98,230,255,.10),transparent 70%),linear-gradient(180deg,#0a0f2c 0%,#0e1440 100%);
  border-top:1px solid rgba(169,220,255,.25);}
.fv-info__inner{max-width:1160px;margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center;}
.fv-info__badges{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.4vw,20px);width:100%;}
.fv-info__badges li{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  min-height:clamp(150px,13vw,176px);padding:26px 14px 20px;color:#fff;
  background:
    linear-gradient(#62e6ff,#62e6ff) top left/20px 2px no-repeat,linear-gradient(#62e6ff,#62e6ff) top left/2px 20px no-repeat,
    linear-gradient(#ff5fc8,#ff5fc8) bottom right/20px 2px no-repeat,linear-gradient(#ff5fc8,#ff5fc8) bottom right/2px 20px no-repeat,
    repeating-linear-gradient(180deg,rgba(255,255,255,.025) 0 1px,transparent 1px 3px),
    radial-gradient(ellipse at 50% 30%,rgba(98,230,255,.16),transparent 70%),
    linear-gradient(160deg,rgba(52,76,170,.32),rgba(12,16,54,.78));
  border:1px solid rgba(169,220,255,.18);box-shadow:0 14px 34px rgba(3,6,30,.45);}
.badge__no{position:absolute;top:10px;right:14px;font-family:"VT323",ui-monospace,monospace;font-size:15px;letter-spacing:.1em;color:#ff8fd8;}
.badge__icon{width:44px;height:44px;color:#62e6ff;filter:drop-shadow(0 0 8px rgba(98,230,255,.8));}
.badge__text{font-size:clamp(17px,1.55vw,21px);font-weight:900;letter-spacing:.08em;text-shadow:0 0 14px rgba(169,220,255,.45);}
.badge__en{font-family:"Chakra Petch",sans-serif;font-size:11px;font-weight:700;letter-spacing:.22em;color:#8fe9ff;opacity:.85;}
html.js .fv-info__badges li{opacity:0;transform:translateY(18px);}
html.js .fv-info.is-in .fv-info__badges li{animation:badgeIn .7s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(.15s + var(--d) * .28s);}
@keyframes badgeIn{0%{opacity:0;transform:translateY(18px);filter:brightness(2);}60%{filter:brightness(1.4);}100%{opacity:1;transform:none;filter:none;}}
.fv-info__cta{margin-top:clamp(30px,3vw,42px);}
.fv-info__note{margin-top:16px;font-size:12px;letter-spacing:.06em;color:#a4b4dd;}

/* =========================================================
 * ABOUT：配信が続く・伸びる、3つの仕組み
 * ======================================================= */
.sys{position:relative;overflow:hidden;isolation:isolate;color:#fff;
  padding:clamp(64px,6.5vw,100px) clamp(20px,5vw,72px) clamp(80px,8vw,120px);
  background:
    radial-gradient(ellipse 620px 480px at 30% 64%,rgba(185,156,255,.18),transparent 70%),
    radial-gradient(ellipse 520px 420px at 10% 10%,rgba(98,230,255,.14),transparent 70%),
    radial-gradient(ellipse 520px 420px at 92% 90%,rgba(255,95,200,.12),transparent 70%),
    linear-gradient(rgba(169,220,255,.05) 1px,transparent 1px) 0 0/48px 48px,
    linear-gradient(90deg,rgba(169,220,255,.05) 1px,transparent 1px) 0 0/48px 48px,
    #0b1034;}
.sys::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;
  background:linear-gradient(90deg,transparent,#a9dcff 20%,#ffffff 50%,#c9c2ff 80%,transparent);
  box-shadow:0 0 18px rgba(169,220,255,.75),0 0 40px rgba(201,194,255,.35);}
.sys__inner{max-width:1180px;margin:0 auto;text-align:center;}
.sys__title{position:relative;display:inline-block;font-family:var(--display);font-weight:700;font-size:clamp(46px,6.2vw,92px);line-height:1;letter-spacing:.02em;
  background:linear-gradient(180deg,#ffffff 30%,#b9ddff 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 22px rgba(169,220,255,.45));}
.sys__title::before,.sys__title::after{content:attr(data-text);position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;}
.sys__title::before{color:var(--ice);transform:translate(-3px,0);clip-path:inset(0 0 58% 0);animation:glitchTop 3s infinite steps(2);}
.sys__title::after{color:var(--lavender);transform:translate(3px,0);clip-path:inset(56% 0 0 0);animation:glitchBottom 2.4s infinite steps(2);}
.sys__en{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:16px;
  font-family:var(--display);font-size:clamp(13px,1.2vw,16px);font-weight:600;letter-spacing:.38em;color:var(--ice);}
.sys__en::before,.sys__en::after{content:"";width:80px;height:1px;background:linear-gradient(90deg,transparent,var(--ice));box-shadow:0 0 8px var(--ice);}
.sys__en::after{background:linear-gradient(90deg,var(--ice),transparent);}
/* 見出し：グラデーション＋光 */
.sys__heading{position:relative;display:inline-block;margin-top:clamp(30px,3vw,44px);padding-bottom:14px;
  font-size:clamp(24px,2.7vw,38px);font-weight:900;letter-spacing:.08em;line-height:1.5;
  background:linear-gradient(95deg,#8fe9ff 0%,#ffffff 30%,#c9b6ff 62%,#ff8fd8 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 14px rgba(185,156,255,.55));}
.sys__heading::after{content:"";position:absolute;left:10%;right:10%;bottom:0;height:2px;
  background:linear-gradient(90deg,transparent,#62e6ff 25%,#b99cff 50%,#ff5fc8 75%,transparent);box-shadow:0 0 10px rgba(185,156,255,.8);}
.sys__heading span{display:inline-block;}
.sys__lead{max-width:36em;margin:22px auto 0;font-size:clamp(15px,1.2vw,17px);font-weight:500;line-height:2;letter-spacing:.05em;color:#dbe4ff;}

/* 左：トライアングル／右：説明カード */
.sys__diagram{margin-top:clamp(44px,4.4vw,64px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(28px,4vw,64px);align-items:center;text-align:left;}
.sys-tri svg{display:block;width:100%;max-width:520px;height:auto;margin:0 auto;overflow:visible;}
.sys-tri__outer{fill:rgba(111,168,255,.05);stroke:url(#sysG);stroke-width:2.2;stroke-linejoin:round;filter:drop-shadow(0 0 6px rgba(169,220,255,.7));
  stroke-dasharray:300;stroke-dashoffset:300;}
.sys-tri__links path{fill:none;stroke:rgba(169,220,255,.7);stroke-width:1.6;stroke-dasharray:4 4;opacity:0;}
.sys-tri__core{opacity:0;}
.sys-tri__core polygon{fill:url(#sysCoreFill);filter:drop-shadow(0 0 14px rgba(185,156,255,.8));}
.sys-tri__core-ic{fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;}
.sys-tri__core-ic circle{fill:#fff;stroke:none;}
.sys-tri__center{fill:#fff;font-family:var(--jp);font-size:12.5px;font-weight:900;letter-spacing:.02em;text-anchor:middle;}
.sys-tri__corner{cursor:pointer;opacity:0;outline:none;transition:filter .3s;}
.sys-tri__corner polygon{fill:#141b52;stroke:url(#sysG);stroke-width:2;stroke-linejoin:round;}
.sys-tri__ic{fill:none;stroke:#8fe9ff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}
.sys-tri__corner text{fill:#fff;font-family:var(--jp);font-size:13px;font-weight:900;letter-spacing:.04em;text-anchor:middle;}
.sys-tri__corner.is-active polygon,.sys-tri__corner:hover polygon,.sys-tri__corner:focus-visible polygon{fill:url(#sysFill);}
.sys-tri__corner.is-active .sys-tri__ic,.sys-tri__corner:hover .sys-tri__ic,.sys-tri__corner:focus-visible .sys-tri__ic{stroke:#0a0f2c;}
.sys-tri__corner.is-active text,.sys-tri__corner:hover text,.sys-tri__corner:focus-visible text{fill:#0a0f2c;}
.sys-tri__corner.is-active{filter:drop-shadow(0 0 14px rgba(98,230,255,.9));}

/* 説明カード */
.sys-cards{display:flex;flex-direction:column;gap:clamp(14px,1.4vw,20px);list-style:none;}
.sys-item{position:relative;padding:22px 26px 20px 28px;cursor:pointer;border:1px solid rgba(169,220,255,.14);
  background:
    linear-gradient(#62e6ff,#62e6ff) top left/22px 2px no-repeat,
    linear-gradient(#62e6ff,#62e6ff) top left/2px 22px no-repeat,
    linear-gradient(#ff5fc8,#ff5fc8) bottom right/22px 2px no-repeat,
    linear-gradient(#ff5fc8,#ff5fc8) bottom right/2px 22px no-repeat,
    repeating-linear-gradient(180deg,rgba(255,255,255,.025) 0 1px,transparent 1px 3px),
    linear-gradient(150deg,rgba(52,76,170,.32),rgba(12,16,54,.72) 70%);
  box-shadow:0 14px 40px rgba(3,6,30,.45);transition:border-color .35s,box-shadow .35s,transform .35s;}
.sys-item::before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:2px;
  background:linear-gradient(180deg,#62e6ff,#b99cff,#ff5fc8);box-shadow:0 0 10px rgba(169,220,255,.7);opacity:.5;transition:opacity .35s,width .35s;}
.sys-item.is-active{border-color:rgba(143,233,255,.55);transform:translateX(6px);
  box-shadow:0 14px 40px rgba(3,6,30,.45),0 0 26px rgba(98,230,255,.22),inset 0 0 30px rgba(98,230,255,.06);}
.sys-item.is-active::before{opacity:1;width:3px;}
.sys-item__head{display:flex;align-items:center;gap:18px;}
.sys-item__num{position:relative;flex:none;font-family:"Chakra Petch",sans-serif;font-size:clamp(46px,4.2vw,60px);font-weight:700;line-height:.9;letter-spacing:-.02em;
  color:transparent;-webkit-text-stroke:1.4px #8fe9ff;filter:drop-shadow(0 0 8px rgba(98,230,255,.55));}
.sys-item__num::after{content:attr(data-n);position:absolute;inset:0;color:transparent;-webkit-text-stroke:0;
  background:linear-gradient(180deg,rgba(143,233,255,.55),rgba(255,95,200,0) 75%);-webkit-background-clip:text;background-clip:text;}
.sys-item.is-active .sys-item__num::after{background:linear-gradient(180deg,#8fe9ff,#ff8fd8);-webkit-background-clip:text;background-clip:text;}
.sys-item__en{font-family:"Chakra Petch",sans-serif;font-size:clamp(15px,1.3vw,18px);font-weight:700;letter-spacing:.3em;color:#62e6ff;text-shadow:0 0 10px rgba(98,230,255,.6);}
.sys-item__jp{margin-top:4px;font-size:clamp(19px,1.7vw,23px);font-weight:900;letter-spacing:.1em;}
.sys-item__desc{margin-top:14px;padding-top:12px;border-top:1px dashed rgba(169,220,255,.22);font-size:14px;line-height:1.95;letter-spacing:.04em;color:#cfd8f6;}

/* 表示の動き：外枠 → 角が順番に → 中央 → カードが1枚ずつ */
html.js .sys-item{opacity:0;transform:translateX(30px);}
.sys.is-in .sys-tri__outer{animation:triDraw 1.4s ease-out .2s forwards;}
.sys.is-in .sys-tri__corner{animation:nodeIn .5s ease-out forwards;animation-delay:calc(.5s + var(--d) * .35s);}
.sys.is-in .sys-tri__links path{animation:fadeIn .6s ease-out 1.5s forwards;}
.sys.is-in .sys-tri__core{animation:fadeIn .8s ease-out 1.6s forwards;}
html.js .sys.is-in .sys-item{animation:cardIn .8s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(.9s + var(--d) * .45s);}
html.js .sys.is-in .sys-item.is-active{transform:translateX(6px);}
@keyframes cardIn{from{opacity:0;transform:translateX(30px);}to{opacity:1;transform:none;}}
@keyframes triDraw{to{stroke-dashoffset:0;}}
@keyframes nodeIn{from{opacity:0;}to{opacity:1;}}
@keyframes fadeIn{to{opacity:1;}}
@media (prefers-reduced-motion:reduce){
  .sys-tri__outer{stroke-dashoffset:0;} .sys-tri__corner,.sys-tri__links path,.sys-tri__core{opacity:1;}
  html.js .sys-item,html.js .fv-info__badges li{opacity:1;transform:none;}
  .sys.is-in *,.fv-info.is-in *{animation:none !important;} .sys__title::before,.sys__title::after{animation:none;}
}

@media (max-width:900px){
  .sys__diagram{grid-template-columns:1fr;gap:24px;}
  .sys-tri svg{max-width:340px;}
  .sys-item.is-active,html.js .sys.is-in .sys-item.is-active{transform:none;}
}
@media (max-width:720px){
  .fv__label{left:0;align-self:center;justify-content:center;margin-bottom:14px;padding:7px 10px;}
  .fv__label-en{font-size:12px;letter-spacing:.16em;}
  .fv__label-jp{font-size:13px;padding:4px 12px;}
  .fv__sub{left:0;align-self:stretch;margin:18px 16px 0;padding:12px 14px;font-size:13px;line-height:1.85;}
  .fv-info__badges{grid-template-columns:1fr 1fr;gap:10px;}
  .fv-info__badges li{min-height:128px;padding:22px 8px 16px;}
  .badge__icon{width:36px;height:36px;}
  .badge__text{font-size:16px;letter-spacing:.04em;}
  .badge__en{font-size:9.5px;letter-spacing:.14em;}
  .sys__heading{font-size:21px;letter-spacing:.05em;}
  .sys__lead{font-size:14px;}
  .sys-item{padding:18px 18px 16px 20px;}
  .sys-item__num{font-size:44px;}
}
@media (max-width:720px){
  .fv__label{background:none;border-left:0;box-shadow:none;padding:0;}
}
/* FV：2行目の位置／サブコピー2行 */
@media (min-width:721px){ .fv__line--2{margin-left:4.1em;} }
@media (min-width:1100px){ .fv__sub{max-width:none;white-space:nowrap;font-size:clamp(14px,1.05vw,16px);margin-right:-60vw;} }

/* ===== FV小見出し：ロゴの下に大きく（暗い帯なし） ===== */
.fv__label{flex-direction:column;align-items:flex-start;gap:12px;padding:0;background:none;border:0;box-shadow:none;margin-bottom:clamp(22px,2.2vw,32px);}
.fv__label-en{padding-left:22px;font-family:"Chakra Petch",sans-serif;font-size:clamp(20px,2.3vw,34px);font-weight:700;letter-spacing:.16em;line-height:1;
  background:linear-gradient(90deg,#bff4ff 0%,#ffffff 45%,#d6c8ff 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;
  filter:drop-shadow(0 0 10px rgba(98,230,255,.75)) drop-shadow(0 0 2px rgba(10,15,44,.9));}
.fv__label-en::before{width:11px;height:11px;margin-top:-5.5px;}
.fv__label-jp{margin-left:22px;padding:7px 22px 7px 18px;font-size:clamp(16px,1.5vw,21px);letter-spacing:.14em;
  clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);box-shadow:none;filter:drop-shadow(0 0 14px rgba(185,156,255,.7));}
@media (max-width:720px){
  .fv__label{align-items:center;gap:10px;margin-bottom:16px;}
  .fv__label-en{font-size:clamp(15px,4.6vw,19px);letter-spacing:.1em;padding-left:18px;}
  .fv__label-en::before{width:8px;height:8px;margin-top:-4px;}
  .fv__label-jp{margin-left:0;font-size:14px;padding:5px 16px;}
}

/* ===== ABOUT見出し：左にABOUT、右に見出し＋リード ===== */
.sys__inner{text-align:left;}
.sys__head{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:end;column-gap:clamp(40px,6vw,96px);}
.sys__en{justify-content:flex-start;}
.sys__en::before{display:none;}
.sys__en::after{width:auto;flex:1;max-width:160px;}
.sys__head-r{padding-left:clamp(28px,3vw,44px);border-left:1px solid rgba(169,220,255,.25);}
.sys__heading{margin-top:0;}
.sys__heading::after{left:0;right:auto;width:100%;}
.sys__lead{margin:18px 0 0;max-width:none;}
@media (max-width:900px){
  .sys__head{grid-template-columns:1fr;row-gap:26px;}
  .sys__head-r{padding-left:18px;}
}

/* ===== 説明カード：余白を広く＋ホバーで拡大 ===== */
.sys-cards{gap:clamp(20px,2vw,28px);}
.sys-item{padding:30px 34px 28px 36px;transition:border-color .35s,box-shadow .35s,transform .35s cubic-bezier(.2,.8,.2,1),filter .35s;}
.sys-item__desc{margin-top:18px;padding-top:16px;line-height:2.05;}
.sys-item:hover{transform:translateY(-6px) scale(1.03) !important;z-index:2;border-color:rgba(143,233,255,.7);
  filter:drop-shadow(0 22px 34px rgba(3,6,30,.55)) drop-shadow(0 0 22px rgba(98,230,255,.35));}
@media (max-width:720px){ .sys-item{padding:24px 22px 22px 24px;} .sys-item:hover{transform:translateY(-4px) scale(1.02) !important;} }
/* 角：アイコンをやめて光る英字＋日本語 */
.sys-tri__corner .sys-tri__en{fill:#bff4ff;font-family:"Chakra Petch",sans-serif;font-size:17px;font-weight:700;letter-spacing:.06em;
  filter:drop-shadow(0 0 5px rgba(98,230,255,.95)) drop-shadow(0 0 1px #fff);}
.sys-tri__corner .sys-tri__jp{fill:#fff;font-size:11.5px;letter-spacing:.08em;opacity:.9;}
.sys-tri__corner.is-active .sys-tri__en,.sys-tri__corner:hover .sys-tri__en,.sys-tri__corner:focus-visible .sys-tri__en{fill:#0a0f2c;filter:none;}
.sys-tri__corner.is-active .sys-tri__jp,.sys-tri__corner:hover .sys-tri__jp,.sys-tri__corner:focus-visible .sys-tri__jp{fill:#0a0f2c;opacity:1;}
.sys-tri__corner .sys-tri__en{font-size:14.5px;letter-spacing:.04em;}

/* ===== 2026-09-30 調整 ===== */
/* FV：ロゴ → 小見出し（ゆっくり）→ キャッチ → サブコピー の順 */
.fv__logo{position:relative;top:-28px;}
html.ge-unlocked .fv__label{animation:fadeUp 1.6s ease-out 1.3s forwards;}
html.ge-unlocked .fv__line--1{animation:fvIn 1.4s ease-out 3.0s forwards;}
html.ge-unlocked .fv__line--2{animation:fvIn 1.4s ease-out 4.1s forwards;}
html.ge-unlocked .fv__sub{animation:fadeUp 1.2s ease-out 5.5s forwards;}
@media (min-width:721px){ .fv__line--2{margin-left:5.1em;} }
@media (max-width:720px){ .fv__logo{top:-14px;} }

/* バッジ：番号なし／報酬プロトコル風アイコン／ゆっくり表示 */
.badge__no{display:none;}
.fv-info__badges .badge__icon{width:56px;height:64px;color:inherit;filter:drop-shadow(0 0 10px rgba(169,220,255,.55));}
html.js .fv-info.is-in .fv-info__badges li{animation:badgeIn 1.3s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(.3s + var(--d) * .6s);}
@media (max-width:720px){ .fv-info__badges .badge__icon{width:46px;height:52px;} }

/* トライアングル：ゆっくり表示 */
.sys.is-in .sys-tri__outer{animation:triDraw 2.4s ease-out .3s forwards;}
.sys.is-in .sys-tri__corner{animation:nodeIn 1s ease-out forwards;animation-delay:calc(1s + var(--d) * .7s);}
.sys.is-in .sys-tri__links path{animation:fadeIn 1s ease-out 3.2s forwards;}
.sys.is-in .sys-tri__core{animation:fadeIn 1.4s ease-out 3.4s forwards;}
html.js .sys.is-in .sys-item{animation:cardIn 1.2s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(1.4s + var(--d) * .8s);}

/* ===== FV：キャッチを速めに ===== */
html.ge-unlocked .fv__label{animation:fadeUp 1.4s ease-out 1.2s forwards;}
html.ge-unlocked .fv__line--1{animation:fvIn .75s ease-out 2.7s forwards;}
html.ge-unlocked .fv__line--2{animation:fvIn 1s ease-out 3.3s forwards;}
html.ge-unlocked .fv__sub{animation:fadeUp 1.1s ease-out 4.3s forwards;}

/* ===== ABOUT：トライアングルを中央、各項目のそばにカード（PC） ===== */
@media (min-width:901px){
  .sys__diagram{grid-template-columns:minmax(0,1fr) minmax(380px,460px) minmax(0,1fr);
    grid-template-areas:". top ." "left tri right";column-gap:clamp(28px,3vw,48px);row-gap:28px;align-items:end;}
  .sys-cards{display:contents;}
  .sys-tri{grid-area:tri;align-self:center;}
  .sys-item[data-sys="0"]{grid-area:top;justify-self:center;width:min(560px,160%);}
  .sys-item[data-sys="1"]{grid-area:right;margin-bottom:10px;}
  .sys-item[data-sys="2"]{grid-area:left;margin-bottom:10px;}
  html.js .sys.is-in .sys-item.is-active,.sys-item.is-active{transform:none;}
  /* 角とカードをつなぐ光る線 */
  .sys-item::after{content:"";position:absolute;pointer-events:none;opacity:.35;transition:opacity .35s,box-shadow .35s;
    background:linear-gradient(90deg,#62e6ff,#ff5fc8);}
  .sys-item[data-sys="0"]::after{left:50%;bottom:-28px;width:2px;height:28px;margin-left:-1px;background:linear-gradient(180deg,#62e6ff,#b99cff);}
  .sys-item[data-sys="1"]::after{right:100%;bottom:44px;width:clamp(28px,3vw,48px);height:2px;background:linear-gradient(90deg,#ff5fc8,#b99cff);}
  .sys-item[data-sys="2"]::after{left:100%;bottom:44px;width:clamp(28px,3vw,48px);height:2px;background:linear-gradient(90deg,#b99cff,#62e6ff);}
  .sys-item.is-active::after{opacity:1;box-shadow:0 0 10px rgba(169,220,255,.9);}
  .sys-item[data-sys="0"]{--from:translateY(-24px);} .sys-item[data-sys="1"]{--from:translateX(30px);} .sys-item[data-sys="2"]{--from:translateX(-30px);}
  html.js .sys-item{transform:var(--from);}
  @keyframes cardIn{from{opacity:0;transform:var(--from,translateX(30px));}to{opacity:1;transform:none;}}
}

/* トライアングル：少しだけ速く */
.sys.is-in .sys-tri__outer{animation:triDraw 1.9s ease-out .25s forwards;}
.sys.is-in .sys-tri__corner{animation:nodeIn .8s ease-out forwards;animation-delay:calc(.8s + var(--d) * .55s);}
.sys.is-in .sys-tri__links path{animation:fadeIn .8s ease-out 2.5s forwards;}
.sys.is-in .sys-tri__core{animation:fadeIn 1.1s ease-out 2.6s forwards;}
html.js .sys.is-in .sys-item{animation:cardIn 1s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(1.1s + var(--d) * .55s);}
/* キャッチ：小見出しから約1秒後に */
html.ge-unlocked .fv__line--1{animation:fvIn .75s ease-out 2.2s forwards;}
html.ge-unlocked .fv__line--2{animation:fvIn 1s ease-out 2.8s forwards;}
html.ge-unlocked .fv__sub{animation:fadeUp 1.1s ease-out 3.8s forwards;}
/* トライアングル：少しだけゆっくりに */
.sys.is-in .sys-tri__outer{animation:triDraw 2.2s ease-out .3s forwards;}
.sys.is-in .sys-tri__corner{animation:nodeIn .9s ease-out forwards;animation-delay:calc(.9s + var(--d) * .62s);}
.sys.is-in .sys-tri__links path{animation:fadeIn .9s ease-out 2.9s forwards;}
.sys.is-in .sys-tri__core{animation:fadeIn 1.25s ease-out 3s forwards;}
html.js .sys.is-in .sys-item{animation:cardIn 1.1s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(1.25s + var(--d) * .68s);}

/* ===== バッジ：大きな英字・数字を背景に ===== */
.fv-info__badges li{overflow:hidden;isolation:isolate;justify-content:center;gap:10px;}
.badge__big{position:absolute;left:50%;top:44%;z-index:-1;transform:translate(-50%,-50%);white-space:nowrap;pointer-events:none;
  font-family:"Chakra Petch",sans-serif;font-size:clamp(52px,5.6vw,84px);font-weight:700;line-height:1;letter-spacing:.02em;
  background:linear-gradient(135deg,rgba(98,230,255,.55) 0%,rgba(185,156,255,.42) 55%,rgba(255,95,200,.5) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 14px rgba(98,230,255,.35));opacity:.55;}
.badge__big::after{content:attr(data-t);position:absolute;inset:0;color:transparent;-webkit-text-stroke:1px rgba(191,244,255,.45);}
.badge__text{font-size:clamp(19px,1.75vw,24px);text-shadow:0 0 12px rgba(10,15,44,.9),0 0 18px rgba(169,220,255,.45);}
.badge__en{text-shadow:0 0 8px rgba(10,15,44,.9);}
.fv-info__badges li:hover .badge__big{opacity:.8;}
@media (max-width:720px){ .badge__big{font-size:clamp(40px,12vw,54px);} .badge__text{font-size:17px;} }
/* 大きい文字は上側に、日本語はその下（重なりすぎないように） */
.fv-info__badges li{justify-content:flex-end;padding:18px 12px 22px;min-height:clamp(168px,14vw,190px);}
.badge__big{top:14%;transform:translateX(-50%);opacity:.75;font-size:clamp(58px,6vw,88px);}
.badge__big--long{font-size:clamp(40px,3.9vw,58px);top:20%;}
@media (max-width:720px){
  .fv-info__badges li{min-height:140px;padding:14px 8px 18px;}
  .badge__big{font-size:clamp(44px,13vw,56px);top:12%;}
  .badge__big--long{font-size:clamp(28px,8.4vw,36px);top:20%;}
}

/* ===== 「探しています。」を少し遅らせる ===== */
html.ge-unlocked .fv__line--2{animation:fvIn 1s ease-out 3.2s forwards;}
html.ge-unlocked .fv__sub{animation:fadeUp 1.1s ease-out 4.2s forwards;}

/* ===== バッジ：被検体IDカード風（案C） ===== */
.badge__big{display:none;}
.fv-info__badges li{justify-content:center;align-items:center;gap:6px;padding:40px 16px 44px;min-height:clamp(168px,14vw,188px);}
.badge__tag{position:absolute;top:14px;left:18px;display:inline-flex;align-items:center;gap:5px;padding:3px 9px 3px 6px;
  font-family:"Chakra Petch",sans-serif;font-size:11px;font-weight:700;letter-spacing:.2em;color:#0a0f2c;
  background:linear-gradient(120deg,#62e6ff,#b9f6ff);box-shadow:0 0 12px rgba(98,230,255,.55);
  clip-path:polygon(0 0,100% 0,calc(100% - 6px) 100%,0 100%);}
.badge__tag svg{width:12px;height:12px;}
.badge__id{position:absolute;top:15px;right:18px;font-family:"VT323",ui-monospace,monospace;font-size:15px;letter-spacing:.12em;color:#ff8fd8;opacity:.9;}
.badge__text{font-size:clamp(19px,1.75vw,24px);margin-top:6px;}
.badge__code{position:absolute;left:18px;right:18px;bottom:16px;height:14px;opacity:.55;
  background:repeating-linear-gradient(90deg,#bff4ff 0 2px,transparent 2px 4px,#bff4ff 4px 5px,transparent 5px 8px,#bff4ff 8px 11px,transparent 11px 13px,#bff4ff 13px 14px,transparent 14px 18px);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);}
/* 認証スキャン：表示時に光のラインが上から下へ1回 */
.fv-info__badges li::after{content:"";position:absolute;left:0;right:0;top:-20%;height:18%;pointer-events:none;opacity:0;
  background:linear-gradient(180deg,transparent,rgba(98,230,255,.35),transparent);}
html.js .fv-info.is-in .fv-info__badges li::after{animation:idScan 1.1s ease-out forwards;animation-delay:calc(.5s + var(--d) * .6s);}
@keyframes idScan{0%{top:-20%;opacity:1;}100%{top:110%;opacity:0;}}
.fv-info__badges li:hover .badge__tag{box-shadow:0 0 18px rgba(98,230,255,.9);}
@media (max-width:720px){
  .fv-info__badges li{min-height:146px;padding:36px 8px 36px;}
  .badge__tag{top:10px;left:10px;font-size:9px;letter-spacing:.12em;padding:2px 7px 2px 5px;}
  .badge__tag svg{width:10px;height:10px;}
  .badge__id{top:10px;right:10px;font-size:13px;}
  .badge__text{font-size:17px;}
  .badge__code{left:12px;right:12px;bottom:12px;height:11px;}
}
@media (prefers-reduced-motion:reduce){ html.js .fv-info.is-in .fv-info__badges li::after{animation:none;} }

/* ===== トライアングル：光っている項目のカードもホバー時と同じ見た目に ===== */
.sys-item.is-active,html.js .sys.is-in .sys-item.is-active{transform:translateY(-6px) scale(1.03);z-index:2;border-color:rgba(143,233,255,.7);
  filter:drop-shadow(0 22px 34px rgba(3,6,30,.55)) drop-shadow(0 0 22px rgba(98,230,255,.35));}
@media (max-width:720px){ .sys-item.is-active,html.js .sys.is-in .sys-item.is-active{transform:translateY(-4px) scale(1.02);} }

/* サブコピーをさらに0.4秒遅らせる */
html.ge-unlocked .fv__sub{animation:fadeUp 1.1s ease-out 4.6s forwards;}

/* ===== バッジ：上部ラベル＋信号アイコン／下部は周波数の波形（カードごとに色違い） ===== */
.badge__id,.badge__code{display:none;}
.fv-info__badges li:nth-child(1){--wc:#62e6ff;} .fv-info__badges li:nth-child(2){--wc:#b99cff;}
.fv-info__badges li:nth-child(3){--wc:#ff5fc8;} .fv-info__badges li:nth-child(4){--wc:#4dffb4;}
.badge__tag{background:none;box-shadow:none;clip-path:none;padding:0;top:16px;left:20px;gap:7px;
  font-family:"VT323",ui-monospace,monospace;font-size:16px;font-weight:400;letter-spacing:.14em;color:var(--wc);text-shadow:0 0 8px var(--wc);}
.badge__tag i{width:7px;height:7px;border-radius:50%;background:var(--wc);box-shadow:0 0 8px var(--wc);animation:blinkSoft 1.4s steps(2) infinite;}
.badge__sig{position:absolute;top:16px;right:20px;display:flex;align-items:flex-end;gap:2px;height:14px;}
.badge__sig i{width:3px;background:var(--wc);box-shadow:0 0 6px var(--wc);opacity:.85;}
.badge__sig i:nth-child(1){height:30%;} .badge__sig i:nth-child(2){height:55%;} .badge__sig i:nth-child(3){height:80%;} .badge__sig i:nth-child(4){height:100%;opacity:.35;}
.fv-info__badges li:hover .badge__tag{box-shadow:none;}
.badge__wave{position:absolute;left:14px;right:14px;bottom:12px;width:calc(100% - 28px);height:30px;overflow:visible;
  filter:drop-shadow(0 0 5px color-mix(in srgb,var(--wc) 70%,transparent));}
.badge__wave .w-mid{stroke:var(--wc);stroke-width:.6;opacity:.35;}
.badge__wave .w-bars rect{fill:var(--wc);opacity:.75;transform-box:fill-box;transform-origin:center;
  animation:wBar 1.6s ease-in-out infinite;animation-delay:calc(var(--k) * -73ms);}
.badge__wave .w-line{fill:none;stroke:var(--wc);stroke-width:1.1;stroke-dasharray:3 3;opacity:.8;vector-effect:non-scaling-stroke;}
@keyframes wBar{0%,100%{transform:scaleY(1);}50%{transform:scaleY(.45);}}
.fv-info__badges li{padding-bottom:50px;}
@media (max-width:720px){
  .badge__tag{top:10px;left:12px;font-size:13px;letter-spacing:.08em;}
  .badge__sig{top:11px;right:12px;height:11px;}
  .badge__wave{left:10px;right:10px;width:calc(100% - 20px);bottom:10px;height:22px;}
  .fv-info__badges li{padding-bottom:40px;}
}
@media (prefers-reduced-motion:reduce){ .badge__wave .w-bars rect,.badge__tag i{animation:none;} }
.cta-band__img img{object-position:50% 25%;}
/* 小見出しを少し上へ */
.fv__label{top:-14px;}
@media (max-width:720px){ .fv__label{top:-8px;} }
/* バッジ：さらにゆっくり1枚ずつ */
html.js .fv-info.is-in .fv-info__badges li{animation:badgeIn 1.6s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(.4s + var(--d) * 1s);}
html.js .fv-info.is-in .fv-info__badges li::after{animation-delay:calc(.7s + var(--d) * 1s);}
/* バッジ3枚：青・ピンク・グリーン */
.fv-info__badges{grid-template-columns:repeat(3,minmax(0,1fr));max-width:980px;margin:0 auto;}
.fv-info__badges li:nth-child(1){--wc:#62e6ff;} .fv-info__badges li:nth-child(2){--wc:#ff5fc8;} .fv-info__badges li:nth-child(3){--wc:#4dffb4;}
@media (max-width:720px){
  .fv-info__badges{grid-template-columns:1fr;gap:10px;}
  .fv-info__badges li{min-height:0;padding:44px 16px 48px;}
}
/* トライアングル：△ → 詳細カード → 1秒後に次の△ → 詳細…の順に */
.sys.is-in .sys-tri__outer{animation:triDraw 1.4s ease-out .2s forwards;}
.sys.is-in .sys-tri__corner{animation:nodeIn .8s ease-out forwards;animation-delay:calc(1.2s + var(--d) * 2.6s);}
html.js .sys.is-in .sys-item{animation:cardIn 1s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(1.8s + var(--d) * 2.6s);}
.sys.is-in .sys-tri__links path{animation:fadeIn .8s ease-out 8.2s forwards;}
.sys.is-in .sys-tri__core{animation:fadeIn 1.2s ease-out 8.2s forwards;}
/* 間隔を0.5秒に */
.sys.is-in .sys-tri__corner{animation-delay:calc(1.2s + var(--d) * 2.1s);}
html.js .sys.is-in .sys-item{animation-delay:calc(1.8s + var(--d) * 2.1s);}
.sys.is-in .sys-tri__links path{animation:fadeIn .8s ease-out 7.2s forwards;}
.sys.is-in .sys-tri__core{animation:fadeIn 1.2s ease-out 7.2s forwards;}
/* 間隔を0.2秒に */
.sys.is-in .sys-tri__corner{animation-delay:calc(1.2s + var(--d) * 1.8s);}
html.js .sys.is-in .sys-item{animation-delay:calc(1.8s + var(--d) * 1.8s);}
.sys.is-in .sys-tri__links path{animation:fadeIn .8s ease-out 6.6s forwards;}
.sys.is-in .sys-tri__core{animation:fadeIn 1.2s ease-out 6.6s forwards;}
/* FVとバッジの区切り：他のセクションと同じ光るライン */
.fv-info{border-top:0;}
.fv-info::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;z-index:1;
  background:linear-gradient(90deg,transparent,#a9dcff 20%,#ffffff 50%,#c9c2ff 80%,transparent);
  box-shadow:0 0 18px rgba(169,220,255,.75),0 0 40px rgba(201,194,255,.35);}
/* PC：3枚のカードを同じ横幅に */
@media (min-width:901px){
  .sys__inner{max-width:1400px;}
  .sys__diagram{--tri:clamp(340px,26vw,400px);--gap:clamp(28px,2.6vw,44px);
    grid-template-columns:minmax(0,1fr) var(--tri) minmax(0,1fr);grid-template-areas:"top top top" "left tri right";column-gap:var(--gap);}
  .sys-item[data-sys="0"]{width:calc((100% - var(--tri) - var(--gap) * 2) / 2);justify-self:center;}
  .sys-item[data-sys="1"]::after,.sys-item[data-sys="2"]::after{width:var(--gap);}
}
/* 被検体要項の画像：元の縦横比（3:4）のまま */
.capsule__frame img{aspect-ratio:1232/1648;object-position:50% 50%;}
/* ENTERのカードだけ横幅を広げて、説明文を2行に */
@media (min-width:901px){
  .sys-item[data-sys="0"]{width:auto;min-width:calc((100% - var(--tri) - var(--gap) * 2) / 2);max-width:100%;}
  .sys-item[data-sys="0"] .sys-item__desc{white-space:nowrap;}
}
@media (min-width:1200px){
  .sys-item{padding-left:30px;padding-right:28px;}
  .sys-item__desc{letter-spacing:.01em;}
}
/* SHARE・OBSERVEも1行目を折り返さない（カードが少し広がる） */
@media (min-width:901px){
  .sys-item[data-sys="1"],.sys-item[data-sys="2"]{width:max-content;min-width:100%;max-width:none;}
  .sys-item[data-sys="2"]{justify-self:end;}
  .sys-item[data-sys="1"]{justify-self:start;}
  .sys-item[data-sys="1"] .sys-item__desc,.sys-item[data-sys="2"] .sys-item__desc{white-space:nowrap;}
}
/* メンバー枠の色：みあり=紫／しろく=青／凛香=ピンク */
.member__grid li:nth-child(1) .m-card:not(.m-card--vacant){--mc:#b99cff;}
.member__grid li:nth-child(2) .m-card:not(.m-card--vacant){--mc:#62e6ff;}
.member__grid li:nth-child(3) .m-card:not(.m-card--vacant){--mc:#ff5fc8;}
/* スマホ：ポップアップが画面からはみ出さないように（アドレスバーを除いた高さに収め、中だけスクロール） */
.m-modal{max-height:calc(100dvh - 32px);}
.m-modal__body{max-height:calc(100dvh - 36px);overscroll-behavior:contain;}
@media (max-width:720px){
  .m-modal{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);}
  .m-modal__body{max-height:calc(100dvh - 28px);}
  .m-modal__photo{aspect-ratio:16/10;}
  .m-modal__photo--empty{aspect-ratio:16/9;}
  .m-modal__photo--empty svg{width:34%;}
  .m-modal__info{padding:22px 20px 26px;}
  .m-modal__name{font-size:26px;}
  .m-modal__quote{margin-top:16px;font-size:15px;}
  .m-modal__desc{margin-top:12px;font-size:13px;line-height:1.85;}
  .m-modal__spec{margin-top:16px;padding:12px 14px;font-size:13px;}
  .m-modal__cta{margin-top:18px;padding:12px 22px;}
  .m-modal__close{top:10px;right:22px;width:40px;height:40px;}
}
/* メンバー画像：アップにしすぎない（全身寄りの画像を、枠に合わせて縮めて表示） */
.m-card__photo img{object-fit:cover;object-position:50% 0;}
.m-modal__photo{background:radial-gradient(ellipse at 50% 60%,rgba(169,220,255,.16),transparent 70%),linear-gradient(180deg,#1d1858,#0e0a33);}
.m-modal__photo img[data-from]{object-fit:contain;object-position:50% 100%;}
@media (max-width:720px){
  .m-modal__photo:not(.m-modal__photo--empty){aspect-ratio:auto;height:min(46dvh,360px);}
}
/* メンバーのポップアップ：枠と差し色を、そのメンバーのカードと同じ色に */
#mModal{--mc:#62e6ff;}
#mModal .m-modal__frame{background:linear-gradient(150deg,var(--mc),color-mix(in srgb,var(--mc) 30%,transparent) 45%,var(--mc) 100%);
  filter:drop-shadow(0 0 34px color-mix(in srgb,var(--mc) 50%,transparent));}
#mModal .m-modal__ch,#mModal .m-modal__en{color:var(--mc);}
#mModal .m-modal__kana{color:color-mix(in srgb,var(--mc) 55%,#ffffff);}
#mModal .m-modal__role{background:linear-gradient(120deg,var(--mc),color-mix(in srgb,var(--mc) 45%,#ffffff));}
#mModal .m-modal__quote{border-left-color:var(--mc);}
#mModal .m-modal__sns a{border-color:color-mix(in srgb,var(--mc) 70%,transparent);box-shadow:0 0 12px color-mix(in srgb,var(--mc) 25%,transparent);}
#mModal .m-modal__cta{background:linear-gradient(120deg,var(--mc),color-mix(in srgb,var(--mc) 45%,#ffffff));}
#mModal .m-modal__close{border-color:color-mix(in srgb,var(--mc) 60%,transparent);}

/* ===== スマホ：FVのロゴは普段は消し、グリッチしながら時々だけ現れる ===== */
.fv__logo-ghost{display:none;}
@media (max-width:720px){
  .fv__logo{position:relative;}
  .fv__logo img{opacity:.85;}
  .fv__logo-ghost{display:block;position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;opacity:0;
    -webkit-mask:var(--logo) center/contain no-repeat;mask:var(--logo) center/contain no-repeat;}
  .fv__logo-ghost--c{background:#29d3ff;}
  .fv__logo-ghost--m{background:#ff3fae;}
  /* 1回目：ノイズとともに現れて約2秒 → 消える。以降：約7秒ごとに一瞬チラッと */
  html.ge-unlocked .fv__logo{animation:logoIntroSp 3.2s steps(1,end) .3s 1 both, logoBlinkSp 7s steps(1,end) 4.5s infinite;}
  html.ge-unlocked .fv__logo-ghost--c{animation:ghostC 3.2s steps(1,end) .3s 1 both, ghostCBlink 7s steps(1,end) 4.5s infinite;}
  html.ge-unlocked .fv__logo-ghost--m{animation:ghostM 3.2s steps(1,end) .3s 1 both, ghostMBlink 7s steps(1,end) 4.5s infinite;}
}
@keyframes logoIntroSp{
  0%{opacity:0;transform:none;clip-path:inset(0 0 0 0);}
  3%{opacity:1;transform:translateX(-6px) skewX(-8deg);clip-path:inset(30% 0 45% 0);}
  6%{opacity:.4;transform:translateX(5px);clip-path:inset(0 0 60% 0);}
  9%{opacity:1;transform:translateX(-2px);clip-path:inset(55% 0 0 0);}
  12%{opacity:1;transform:none;clip-path:inset(0 0 0 0);}
  78%{opacity:1;transform:none;clip-path:inset(0 0 0 0);}
  81%{opacity:.7;transform:translateX(6px) skewX(10deg);clip-path:inset(20% 0 50% 0);}
  84%{opacity:1;transform:translateX(-4px);clip-path:inset(60% 0 5% 0);}
  87%{opacity:.3;transform:translateX(3px);clip-path:inset(0 0 70% 0);}
  90%,100%{opacity:0;transform:none;clip-path:inset(0 0 0 0);}
}
@keyframes logoBlinkSp{
  0%,88%{opacity:0;transform:none;clip-path:inset(0 0 0 0);}
  89%{opacity:.9;transform:translateX(-5px) skewX(-8deg);clip-path:inset(35% 0 30% 0);}
  90%{opacity:.5;transform:translateX(4px);clip-path:inset(0 0 55% 0);}
  91%{opacity:1;transform:none;clip-path:inset(0 0 0 0);}
  94%{opacity:.8;transform:translateX(3px);clip-path:inset(50% 0 10% 0);}
  95.5%,100%{opacity:0;transform:none;clip-path:inset(0 0 0 0);}
}
@keyframes ghostC{0%,100%{opacity:0;transform:none;}3%{opacity:.8;transform:translate(-7px,1px);}9%{opacity:.6;transform:translate(-3px,0);}12%{opacity:0;}81%{opacity:.8;transform:translate(-8px,-1px);}87%{opacity:.6;transform:translate(-4px,1px);}90%{opacity:0;}}
@keyframes ghostM{0%,100%{opacity:0;transform:none;}3%{opacity:.8;transform:translate(7px,-1px);}9%{opacity:.6;transform:translate(3px,0);}12%{opacity:0;}81%{opacity:.8;transform:translate(8px,1px);}87%{opacity:.6;transform:translate(4px,-1px);}90%{opacity:0;}}
@keyframes ghostCBlink{0%,88%,100%{opacity:0;transform:none;}89%{opacity:.8;transform:translate(-6px,1px);}91%{opacity:.4;transform:translate(-2px,0);}94%{opacity:.7;transform:translate(-5px,0);}95.5%{opacity:0;}}
@keyframes ghostMBlink{0%,88%,100%{opacity:0;transform:none;}89%{opacity:.8;transform:translate(6px,-1px);}91%{opacity:.4;transform:translate(2px,0);}94%{opacity:.7;transform:translate(5px,0);}95.5%{opacity:0;}}
@media (max-width:720px) and (prefers-reduced-motion:reduce){
  html.ge-unlocked .fv__logo{animation:none;opacity:0;}
  html.ge-unlocked .fv__logo-ghost{animation:none;}
}
/* スマホのFVロゴ：「ノイズで現れる → 約2.5秒表示 → ノイズで消える」を、約3秒あけてくり返す */
@media (max-width:720px){
  html.ge-unlocked .fv__logo{animation:logoLoopSp 5s steps(1,end) .3s infinite both;}
  html.ge-unlocked .fv__logo-ghost--c{animation:ghostCLoop 5s steps(1,end) .3s infinite both;}
  html.ge-unlocked .fv__logo-ghost--m{animation:ghostMLoop 5s steps(1,end) .3s infinite both;}
}
@keyframes logoLoopSp{
  0%{opacity:0;transform:none;clip-path:inset(0 0 0 0);}
  1.92%{opacity:1;transform:translateX(-6px) skewX(-8deg);clip-path:inset(30% 0 45% 0);}
  3.84%{opacity:.4;transform:translateX(5px);clip-path:inset(0 0 60% 0);}
  5.76%{opacity:1;transform:translateX(-2px);clip-path:inset(55% 0 0 0);}
  7.68%{opacity:1;transform:none;clip-path:inset(0 0 0 0);}
  49.92%{opacity:1;transform:none;clip-path:inset(0 0 0 0);}
  51.84%{opacity:.7;transform:translateX(6px) skewX(10deg);clip-path:inset(20% 0 50% 0);}
  53.76%{opacity:1;transform:translateX(-4px);clip-path:inset(60% 0 5% 0);}
  55.68%{opacity:.3;transform:translateX(3px);clip-path:inset(0 0 70% 0);}
  57.6%,100%{opacity:0;transform:none;clip-path:inset(0 0 0 0);}
}
@keyframes ghostCLoop{0%,100%{opacity:0;transform:none;}1.92%{opacity:.8;transform:translate(-7px,1px);}5.76%{opacity:.6;transform:translate(-3px,0);}7.68%{opacity:0;}51.84%{opacity:.8;transform:translate(-8px,-1px);}55.68%{opacity:.6;transform:translate(-4px,1px);}57.6%{opacity:0;}}
@keyframes ghostMLoop{0%,100%{opacity:0;transform:none;}1.92%{opacity:.8;transform:translate(7px,-1px);}5.76%{opacity:.6;transform:translate(3px,0);}7.68%{opacity:0;}51.84%{opacity:.8;transform:translate(8px,1px);}55.68%{opacity:.6;transform:translate(4px,-1px);}57.6%{opacity:0;}}
@media (max-width:720px) and (prefers-reduced-motion:reduce){ html.ge-unlocked .fv__logo,html.ge-unlocked .fv__logo-ghost{animation:none;opacity:0;} }

/* v1.2.8: PC版もロゴをループ（ノイズで出現→約2.5秒表示→ノイズで消える→約3秒空く） */
@media (min-width:721px){
  .fv__logo{position:relative;}
  .fv__logo img{opacity:.9;}
  .fv__logo-ghost{display:block;position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;opacity:0;
    -webkit-mask:var(--logo) left center/contain no-repeat;mask:var(--logo) left center/contain no-repeat;}
  .fv__logo-ghost--c{background:#29d3ff;}
  .fv__logo-ghost--m{background:#ff3fae;}
  html.ge-unlocked .fv__logo{animation:logoLoopSp 5s steps(1,end) .3s infinite both;}
  html.ge-unlocked .fv__logo-ghost--c{animation:ghostCLoop 5s steps(1,end) .3s infinite both;}
  html.ge-unlocked .fv__logo-ghost--m{animation:ghostMLoop 5s steps(1,end) .3s infinite both;}
}
@media (min-width:721px) and (prefers-reduced-motion:reduce){
  html.ge-unlocked .fv__logo{animation:none;opacity:1;}
  html.ge-unlocked .fv__logo-ghost{animation:none;opacity:0;}
}

/* v1.2.9: スマホはどの機種でもイラストとロゴの位置関係を固定（ロゴは常にあごの下） */
@media (max-width:720px){
  .fv{height:auto;min-height:0;padding-top:calc(var(--header-h) + 118vw * .37);padding-bottom:calc(48px + env(safe-area-inset-bottom));}
  .fv__img{top:var(--header-h);height:118vw;}
  .fv__inner{position:relative;left:auto;right:auto;top:auto;bottom:auto;}
  .fv__logo{top:0;}
}

/* v1.3.1: ロゴは基本ずっと表示。定期的にグリッチ（ズレ・欠け・色ずれ）、ループの切れ目で一瞬だけ消える */
html.ge-unlocked .fv__logo{animation:logoLive 5s steps(1,end) .3s infinite both;}
html.ge-unlocked .fv__logo-ghost--c{animation:ghostCLive 5s steps(1,end) .3s infinite both;}
html.ge-unlocked .fv__logo-ghost--m{animation:ghostMLive 5s steps(1,end) .3s infinite both;}
@keyframes logoLive{
  0%{opacity:0;transform:none;clip-path:inset(0 0 0 0);}
  2%{opacity:1;transform:translateX(-6px) skewX(-8deg);clip-path:inset(30% 0 45% 0);}
  4%{opacity:.5;transform:translateX(5px);clip-path:inset(0 0 60% 0);}
  6%{opacity:1;transform:translateX(-2px);clip-path:inset(55% 0 0 0);}
  8%{opacity:1;transform:none;clip-path:inset(0 0 0 0);}
  44%{opacity:1;transform:none;clip-path:inset(0 0 0 0);}
  45%{opacity:1;transform:translateX(5px);clip-path:inset(0 0 0 0);}
  46%{opacity:1;transform:translateX(-4px) skewX(6deg);clip-path:inset(38% 0 30% 0);}
  47.5%{opacity:1;transform:translateX(2px);clip-path:inset(0 0 0 0);}
  48.5%{opacity:1;transform:none;clip-path:inset(0 0 0 0);}
  72%{opacity:1;transform:translateX(-5px);clip-path:inset(0 0 0 0);}
  73.5%{opacity:.75;transform:translateX(3px) skewX(-5deg);clip-path:inset(0 0 0 0);}
  75%{opacity:1;transform:none;clip-path:inset(0 0 0 0);}
  92%{opacity:1;transform:none;clip-path:inset(0 0 0 0);}
  94%{opacity:.7;transform:translateX(6px) skewX(10deg);clip-path:inset(20% 0 50% 0);}
  96%{opacity:1;transform:translateX(-4px);clip-path:inset(60% 0 5% 0);}
  98%{opacity:.35;transform:translateX(3px);clip-path:inset(0 0 70% 0);}
  100%{opacity:0;transform:none;clip-path:inset(0 0 0 0);}
}
@keyframes ghostCLive{0%,100%{opacity:0;transform:none;}2%{opacity:.8;transform:translate(-7px,1px);}6%{opacity:.6;transform:translate(-3px,0);}8%{opacity:0;}
  45%{opacity:.75;transform:translate(-6px,0);}47.5%{opacity:.5;transform:translate(-3px,1px);}48.5%{opacity:0;}
  72%{opacity:.7;transform:translate(-8px,-1px);}75%{opacity:0;}
  94%{opacity:.8;transform:translate(-8px,-1px);}98%{opacity:.6;transform:translate(-4px,1px);}}
@keyframes ghostMLive{0%,100%{opacity:0;transform:none;}2%{opacity:.8;transform:translate(7px,-1px);}6%{opacity:.6;transform:translate(3px,0);}8%{opacity:0;}
  45%{opacity:.75;transform:translate(6px,0);}47.5%{opacity:.5;transform:translate(3px,-1px);}48.5%{opacity:0;}
  72%{opacity:.7;transform:translate(8px,1px);}75%{opacity:0;}
  94%{opacity:.8;transform:translate(8px,1px);}98%{opacity:.6;transform:translate(4px,-1px);}}
@media (prefers-reduced-motion:reduce){
  html.ge-unlocked .fv__logo{animation:none;opacity:1;}
  html.ge-unlocked .fv__logo-ghost{animation:none;opacity:0;}
}

/* v1.3.4（消えている時間 約0.5秒）: 「ノイズで出現→ノイズで消える」を短い周期で繰り返す */
html.ge-unlocked .fv__logo{animation:logoPulse 2.8s steps(1,end) .3s infinite both;}
html.ge-unlocked .fv__logo-ghost--c{animation:ghostCPulse 2.8s steps(1,end) .3s infinite both;}
html.ge-unlocked .fv__logo-ghost--m{animation:ghostMPulse 2.8s steps(1,end) .3s infinite both;}
@keyframes logoPulse{
  0%{opacity:0;transform:none;clip-path:inset(0 0 0 0);}
  3.43%{opacity:1;transform:translateX(-6px) skewX(-8deg);clip-path:inset(30% 0 45% 0);}
  6.86%{opacity:.4;transform:translateX(5px);clip-path:inset(0 0 60% 0);}
  10.29%{opacity:1;transform:translateX(-2px);clip-path:inset(55% 0 0 0);}
  13.71%{opacity:1;transform:none;clip-path:inset(0 0 0 0);}
  68.57%{opacity:1;transform:none;clip-path:inset(0 0 0 0);}
  72%{opacity:.7;transform:translateX(6px) skewX(10deg);clip-path:inset(20% 0 50% 0);}
  75.43%{opacity:1;transform:translateX(-4px);clip-path:inset(60% 0 5% 0);}
  78.86%{opacity:.3;transform:translateX(3px);clip-path:inset(0 0 70% 0);}
  81.43%,100%{opacity:0;transform:none;clip-path:inset(0 0 0 0);}
}
@keyframes ghostCPulse{0%,100%{opacity:0;transform:none;}3.43%{opacity:.8;transform:translate(-7px,1px);}10.29%{opacity:.6;transform:translate(-3px,0);}13.71%{opacity:0;}72%{opacity:.8;transform:translate(-8px,-1px);}78.86%{opacity:.6;transform:translate(-4px,1px);}81.43%{opacity:0;}}
@keyframes ghostMPulse{0%,100%{opacity:0;transform:none;}3.43%{opacity:.8;transform:translate(7px,-1px);}10.29%{opacity:.6;transform:translate(3px,0);}13.71%{opacity:0;}72%{opacity:.8;transform:translate(8px,1px);}78.86%{opacity:.6;transform:translate(4px,-1px);}81.43%{opacity:0;}}
@media (prefers-reduced-motion:reduce){
  html.ge-unlocked .fv__logo{animation:none;opacity:1;}
  html.ge-unlocked .fv__logo-ghost{animation:none;opacity:0;}
}

/* v1.3.5: JSでグリッチ制御するときはCSSアニメを止める */
html.ge-unlocked .fv__logo.is-js,html.ge-unlocked .fv__logo.is-js .fv__logo-ghost{animation:none;}
.fv__logo.is-js{opacity:0;transform:none;clip-path:none;}
.fv__logo.is-js .fv__logo-ghost{display:block;position:absolute;pointer-events:none;mix-blend-mode:screen;opacity:0;
  -webkit-mask:var(--logo) 0 0/100% 100% no-repeat;mask:var(--logo) 0 0/100% 100% no-repeat;}
.fv__logo-slices{position:absolute;inset:0;visibility:hidden;pointer-events:none;}
.fv__logo-slice{position:absolute;inset:0;}
.fv__logo-slice img{display:block;width:100% !important;height:100% !important;opacity:1;}
.fv__logo.is-js .fv__logo-ghost{background:none !important;-webkit-mask:none !important;mask:none !important;}
.fv__logo-ghost img{display:block;width:100% !important;height:100% !important;}
.fv__logo-ghost--c img{filter:brightness(0) saturate(100%) invert(68%) sepia(81%) saturate(2400%) hue-rotate(160deg) brightness(105%);}
.fv__logo-ghost--m img{filter:brightness(0) saturate(100%) invert(45%) sepia(90%) saturate(4000%) hue-rotate(300deg) brightness(105%);}

/* v1.3.6: ロゴの濃さを最初と同じ（不透明度100%）に戻す */
.fv__logo img,.fv__logo .fv__logo-slice img{opacity:1;}

/* v1.3.7: 色ずれはロゴ本体の「後ろ」に。文字そのものは元の白さのまま、ふちにだけ色が出る */
.fv__logo.is-js{isolation:isolate;}
.fv__logo.is-js .fv__logo-ghost{z-index:-1;}
.fv__logo.is-js > img{position:relative;z-index:1;}
.fv__logo.is-js .fv__logo-slices{z-index:2;}

/* =========================================================
 * v1.3.8 MEMBER：人数が増えたとき（5枠以上）の並び
 *   PC 8列 / ノートPC 6列 / タブレット 4列 / スマホ 2列（枠の中で縦スクロール）
 *   4枠以下（今の3人＋空き枠）は従来どおり
 * ======================================================= */
.member__en::after{order:1;}
.member__count{order:2;margin-left:auto;font-size:.72em;letter-spacing:.2em;color:#a4b4dd;white-space:nowrap;}
.member__scroll{position:relative;}
.member__hint{display:none;}
.member__bar{display:none;}

.member__grid--many{grid-template-columns:repeat(8,minmax(0,1fr));gap:14px;}
@media (max-width:1399px){ .member__grid--many{grid-template-columns:repeat(6,minmax(0,1fr));} }
@media (max-width:1100px){ .member__grid--many{grid-template-columns:repeat(4,minmax(0,1fr));} }
/* 小さいカード用の文字サイズ（PC・タブレット） */
@media (min-width:721px){
  .member__grid--many .m-card__name{font-size:14px;letter-spacing:.04em;}
  .member__grid--many .m-card__en{font-size:10px;letter-spacing:.12em;}
  .member__grid--many .m-card__meta{padding:10px 12px 12px;}
  .member__grid--many .m-card__more{margin-top:8px;padding-top:7px;font-size:10px;letter-spacing:.08em;}
  .member__grid--many .m-card__ch{font-size:10px;}
  .member__grid--many .m-card__call{font-size:11px;}
  .member__grid--many .m-card--vacant .m-card__more{padding:8px 10px;font-size:10px;letter-spacing:.1em;}
}

/* スマホ：2列のまま、4枚＋3段目を半分見せて枠の中で縦スクロール */
@media (max-width:720px){
  .member__grid--many{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;
    overflow-y:auto;overscroll-behavior:auto;-webkit-overflow-scrolling:touch;
    padding:2px 14px 36px 2px;margin-right:-8px;scrollbar-width:none;
    -webkit-mask-image:linear-gradient(180deg,#000 0,#000 82%,transparent 100%);mask-image:linear-gradient(180deg,#000 0,#000 82%,transparent 100%);}
  .member__grid--many::-webkit-scrollbar{display:none;}
  .member__grid--many .m-card:not(.m-card--vacant) .m-card__photo{aspect-ratio:1/1;}
  .member__grid--many .m-card--vacant .m-card__photo{aspect-ratio:1/1;}
  .member__grid--many .m-card--vacant .m-card__photo svg{width:40%;transform:translateY(-18%);}
  .member__grid--many .m-card__meta{padding:10px 12px 12px;}
  .member__grid--many .m-card:not(.m-card--vacant) .m-card__en{font-size:9.5px;letter-spacing:.08em;margin-top:2px;}
  .member__grid--many .m-card:not(.m-card--vacant) .m-card__more{margin-top:8px;padding-top:7px;font-size:10.5px;letter-spacing:.08em;}
  /* 常に見えるスクロールバー（iPhoneでも表示） */
  .member__scroll.is-many .member__bar{display:block;position:absolute;top:4px;bottom:36px;right:-10px;width:3px;border-radius:3px;background:rgba(98,230,255,.15);}
  .member__bar b{position:absolute;left:-1px;top:0;width:5px;height:40px;border-radius:5px;background:#62e6ff;box-shadow:0 0 10px #62e6ff,0 0 3px #fff;}
  .member__hint{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:6px;
    font:600 11px/1 var(--display);letter-spacing:.3em;color:#62e6ff;}
  .member__hint i{font-style:normal;animation:memHint 1.4s ease-in-out infinite;}
  .member__count{font-size:10px;letter-spacing:.12em;}
}
@keyframes memHint{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
@media (prefers-reduced-motion:reduce){ .member__hint i{animation:none;} }

/* =========================================================
 * v1.3.8 PICK UP MEMBER（モーダルなし・小さめ・枠の色は固定）
 * ======================================================= */
.pickup{--pk:#8fb8ff;padding-top:clamp(60px,7vw,110px);padding-bottom:clamp(70px,8vw,120px);}
.pickup__grid{margin-top:clamp(32px,4vw,52px);display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;max-width:1080px;}
@media (max-width:1100px){ .pickup__grid{grid-template-columns:repeat(4,minmax(0,1fr));} }
@media (max-width:720px){ .pickup__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;} }
.p-card{position:relative;display:flex;flex-direction:column;
  background:linear-gradient(180deg,rgba(20,24,64,.85),rgba(10,12,40,.92));
  clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%);}
.p-card::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;
  border:1px solid color-mix(in srgb,var(--pk) 55%,transparent);
  clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%);}
.p-card::after{content:"";position:absolute;top:0;right:0;width:20px;height:1px;z-index:2;background:var(--pk);
  transform-origin:right top;transform:rotate(45deg) translate(1px,-1px);opacity:.7;}
.p-card__photo{display:block;aspect-ratio:1/1;overflow:hidden;background:#0b1035;}
.p-card__photo img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.95);}
.p-card__photo svg{display:block;width:60%;margin:20% auto 0;opacity:.6;}
.p-card__meta{display:block;padding:8px 10px 10px;}
.p-card__name{display:block;font-size:13px;font-weight:900;letter-spacing:.04em;line-height:1.35;overflow-wrap:anywhere;}
.p-card__kana{display:block;margin-top:2px;font-size:9.5px;letter-spacing:.08em;color:var(--pk);}
@media (max-width:720px){ .p-card__name{font-size:11.5px;} .p-card__kana{font-size:9px;} .p-card__meta{padding:6px 8px 8px;} }

/* いないときの表示 */
.pickup__empty{position:relative;margin-top:clamp(28px,3.6vw,44px);max-width:720px;padding:clamp(28px,4vw,44px) clamp(20px,4vw,40px);
  border:1px dashed color-mix(in srgb,var(--pk) 50%,transparent);
  background:repeating-linear-gradient(180deg,rgba(143,184,255,.05) 0 1px,transparent 1px 4px),rgba(8,10,34,.55);
  text-align:center;overflow:hidden;}
.pickup__empty::before{content:"";position:absolute;left:0;right:0;height:40%;top:-40%;pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(143,184,255,.12),transparent);animation:pkScan 4.5s linear infinite;}
.pickup__empty-head{position:relative;display:inline-block;font-family:var(--display);font-size:clamp(20px,2.4vw,28px);font-weight:700;letter-spacing:.32em;color:var(--pk);
  text-shadow:0 0 14px color-mix(in srgb,var(--pk) 60%,transparent);}
.pickup__empty-head::before,.pickup__empty-head::after{content:attr(data-text);position:absolute;inset:0;pointer-events:none;opacity:0;}
.pickup__empty-head::before{color:#29d3ff;animation:pkGlA 3.6s steps(1) infinite;}
.pickup__empty-head::after{color:#ff3fae;animation:pkGlB 3.6s steps(1) infinite;}
.pickup__empty-main{margin-top:16px;font-size:clamp(14px,1.3vw,16px);font-weight:700;letter-spacing:.08em;line-height:1.8;color:#e6f0ff;}
.pickup__empty-sub{margin-top:8px;font-family:var(--display);font-size:12px;letter-spacing:.18em;color:#a4b4dd;}
.pickup__empty-sub i{font-style:normal;animation:pkBlink 1s steps(1) infinite;}
@keyframes pkScan{to{top:100%;}}
@keyframes pkBlink{50%{opacity:0;}}
@keyframes pkGlA{0%,86%,100%{opacity:0;transform:none;}88%{opacity:.8;transform:translate(-3px,0);clip-path:inset(0 0 55% 0);}92%{opacity:.6;transform:translate(2px,0);clip-path:inset(40% 0 0 0);}}
@keyframes pkGlB{0%,86%,100%{opacity:0;transform:none;}88%{opacity:.8;transform:translate(3px,0);clip-path:inset(50% 0 0 0);}92%{opacity:.6;transform:translate(-2px,0);clip-path:inset(0 0 45% 0);}}
@media (prefers-reduced-motion:reduce){ .pickup__empty::before,.pickup__empty-head::before,.pickup__empty-head::after,.pickup__empty-sub i{animation:none;} }
/* スマホ：CH.01 などの番号を小さくして右上へ */
@media (max-width:720px){
  .m-card__ch{top:6px;right:20px;padding:0 4px;font-size:11px;letter-spacing:.06em;line-height:1.3;}
}
/* PICK UP 0人のときの本文：改行はスマホのときだけ */
.pickup__br{display:none;}
@media (max-width:720px){ .pickup__br{display:inline;} }

/* =========================================================
 * v1.3.9 列数を人数に合わせる（カードが横幅いっぱいに並ぶ）
 * ======================================================= */
.member__grid--many{grid-template-columns:repeat(var(--mc-xl,8),minmax(0,1fr));}
@media (max-width:1399px){ .member__grid--many{grid-template-columns:repeat(var(--mc-lg,6),minmax(0,1fr));} }
@media (max-width:1100px){ .member__grid--many{grid-template-columns:repeat(var(--mc-md,4),minmax(0,1fr));} }
@media (max-width:720px){ .member__grid--many{grid-template-columns:repeat(2,minmax(0,1fr));} }
/* 5〜6列のときは中くらいの文字、7〜8列（大きめのPC）だけ小さい文字 */
@media (min-width:721px){
  .member__grid--many .m-card__name{font-size:16px;letter-spacing:.05em;}
  .member__grid--many .m-card__en{font-size:11px;letter-spacing:.16em;}
  .member__grid--many .m-card__meta{padding:12px 14px 14px;}
  .member__grid--many .m-card__more{margin-top:10px;padding-top:8px;font-size:11px;letter-spacing:.1em;}
  .member__grid--many .m-card__ch{font-size:12px;}
}
@media (min-width:1400px){
  .member__grid--dense .m-card__name{font-size:14px;letter-spacing:.04em;}
  .member__grid--dense .m-card__en{font-size:10px;letter-spacing:.12em;}
  .member__grid--dense .m-card__meta{padding:10px 12px 12px;}
  .member__grid--dense .m-card__more{margin-top:8px;padding-top:7px;font-size:10px;letter-spacing:.08em;}
  .member__grid--dense .m-card__ch{font-size:10px;}
}

/* PICK UP：メンバーより常に小さい幅。人数が少ないときは中央に寄せる */
.pickup__grid{max-width:none;--pg:14px;gap:var(--pg);justify-content:center;
  grid-template-columns:repeat(var(--pk-xl,6),calc((100% - (var(--pc-xl,6) - 1) * var(--pg)) / var(--pc-xl,6)));}
@media (max-width:1399px){ .pickup__grid{grid-template-columns:repeat(var(--pk-lg,6),calc((100% - (var(--pc-lg,6) - 1) * var(--pg)) / var(--pc-lg,6)));} }
@media (max-width:1100px){ .pickup__grid{grid-template-columns:repeat(var(--pk-md,4),calc((100% - (var(--pc-md,4) - 1) * var(--pg)) / var(--pc-md,4)));} }
@media (max-width:720px){ .pickup__grid{--pg:10px;grid-template-columns:repeat(var(--pk-sp,3),calc((100% - (var(--pc-sp,3) - 1) * var(--pg)) / var(--pc-sp,3)));} }
