:root{
  --bg:#120625;--bg2:#1a0a32;--bg3:#0b0717;--ink:#fff;--muted:#c5bcd4;
  --pink:#ff39d6;--purple:#7d25da;--cyan:#13e5e9;--yellow:#fff87b;
  --line:rgba(255,255,255,.16);--shadow:0 30px 80px rgba(4,0,12,.45)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg3);color:var(--ink);font-family:'Noto Sans JP',sans-serif;overflow-x:hidden}a{color:inherit}.grain{position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}.ambient{position:fixed;border-radius:50%;filter:blur(110px);pointer-events:none;opacity:.15;z-index:-1}.ambient--a{width:460px;height:460px;background:var(--pink);top:22%;left:-180px}.ambient--b{width:520px;height:520px;background:var(--cyan);right:-220px;bottom:10%}
.hero{min-height:100svh;position:relative;display:grid;place-items:center;overflow:hidden;background:#0c0618;isolation:isolate}.hero__media{position:absolute;inset:0;z-index:-3;background:url('assets/images/hero-poster-pc.webp') center/cover no-repeat}.hero__video{width:100%;height:100%;display:block;object-fit:cover;object-position:center;opacity:.38;filter:saturate(.95) contrast(.98) brightness(.72);transform:scale(1.03)}.hero__veil{
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            180deg,
            rgba(10,2,25,.01),
            rgba(10,2,25,.08)
        ),
        radial-gradient(
            circle at 50% 42%,
            rgba(255,57,214,.01),
            rgba(8,2,18,.08) 75%
        );
}.hero__frame{position:absolute;inset:24px;border:1px solid rgba(255,255,255,.18)}.hero__frame:before,.hero__frame:after{content:"";position:absolute;top:-1px;width:15%;height:2px}.hero__frame:before{left:8%;background:linear-gradient(90deg,var(--cyan),transparent)}.hero__frame:after{right:8%;background:linear-gradient(90deg,transparent,var(--pink))}.hero__content{position:relative;z-index:3;text-align:center;width:min(920px,80vw);transform:translateY(-5vh)}.hero__eyebrow{font:700 10px/1 'Montserrat',sans-serif;letter-spacing:.42em;color:var(--cyan);margin:0 0 26px}.hero__logo{display:block;width:min(760px,72vw);max-height:40vh;object-fit:contain;margin:0 auto;filter:drop-shadow(0 16px 32px rgba(0,0,0,.28))}.hero__tagline{font:800 clamp(20px,2.2vw,32px)/1 'Montserrat',sans-serif;letter-spacing:.12em;margin:25px 0 10px;text-transform:uppercase}.hero__sub{font:600 10px/1 'Montserrat',sans-serif;letter-spacing:.34em;color:#e4dcef}.scrollGuide{position:absolute;z-index:4;left:50%;bottom:28px;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;text-decoration:none;gap:8px;font:600 9px/1 'Montserrat';letter-spacing:.34em;color:#dfd7ed}.scrollGuide i{display:block;height:38px;width:1px;background:linear-gradient(var(--pink),var(--cyan))}.scrollGuide b{font-size:14px;animation:bob 1.8s ease-in-out infinite}.heroMembers{position:absolute;inset:auto 2vw 0;z-index:2;height:54vh;display:flex;align-items:flex-end;justify-content:center;gap:clamp(0px,1vw,18px);pointer-events:none;opacity:.72}.heroMember{height:100%;width:min(19vw,300px);display:flex;align-items:flex-end;justify-content:center;filter:drop-shadow(0 15px 30px rgba(0,0,0,.35))}.heroMember img{max-width:100%;max-height:100%;object-fit:contain;object-position:center bottom}.heroMember--placeholder{position:relative}.heroMember--placeholder:before{content:"";width:55%;height:84%;border-radius:46% 46% 20% 20%/24% 24% 12% 12%;background:linear-gradient(180deg,rgba(255,255,255,.2),rgba(255,255,255,.04));box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);clip-path:polygon(27% 0,73% 0,87% 15%,94% 40%,82% 100%,18% 100%,6% 40%,13% 15%)}.heroMember:nth-child(1),.heroMember:nth-child(5){height:82%;opacity:.72}.heroMember:nth-child(2),.heroMember:nth-child(4){height:92%}.heroMember:nth-child(3){height:100%;z-index:2}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
.header{position:fixed;top:0;left:0;right:0;height:78px;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;background:rgba(12,4,26,.78);border-bottom:1px solid var(--line);backdrop-filter:blur(18px);opacity:0;transform:translateY(-100%);pointer-events:none;transition:.45s ease}.header--visible{opacity:1;transform:none;pointer-events:auto}.header__brand img{display:block;width:150px;max-height:54px;object-fit:contain}.nav{display:flex;gap:28px}.nav a{text-decoration:none;font:700 10px/1 'Montserrat';letter-spacing:.18em;position:relative}.nav a:after{content:"";position:absolute;left:0;bottom:-9px;width:0;height:2px;background:linear-gradient(90deg,var(--pink),var(--cyan));transition:.25s}.nav a:hover:after{width:100%}.menuButton{display:none;border:0;background:none;padding:10px}.menuButton span{display:block;width:26px;height:2px;background:#fff;margin:6px}
.section{min-height:100vh;padding:140px 7vw 100px;display:grid;grid-template-columns:minmax(260px,34%) 1fr;gap:7vw;position:relative}.section--dark{background:linear-gradient(180deg,#0c0718,#160827)}.sectionHeading{position:sticky;top:120px;align-self:start}.sectionHeading>p,.audition__inner>p{font:700 10px/1 'Montserrat';letter-spacing:.32em;color:var(--cyan)}.sectionHeading h2{font:800 clamp(58px,7vw,112px)/.78 'Montserrat',sans-serif;letter-spacing:-.06em;margin:30px 0}.sectionHeading h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.7)}.about__body{align-self:center;max-width:780px}.about__lead{font-size:clamp(24px,2.6vw,40px);line-height:1.75;font-weight:700;margin:0 0 40px}.about__body>p:not(.about__lead){line-height:2;color:var(--muted)}.about__values{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:55px}.about__values article{padding:28px 22px;border:1px solid var(--line);background:rgba(255,255,255,.025)}.about__values b{font:800 12px 'Montserrat';color:var(--pink)}.about__values h3{font:800 12px 'Montserrat';letter-spacing:.1em;margin:25px 0 14px}.about__values p{font-size:12px;line-height:1.8;color:var(--muted)}
.talent{grid-template-columns:1fr}.talent .sectionHeading{position:relative;top:auto}.talentGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.talentCard{position:relative;border:1px solid var(--line);background:rgba(255,255,255,.025);overflow:hidden;min-width:0;transition:.3s}.talentCard:hover{transform:translateY(-6px);border-color:rgba(255,57,214,.65);box-shadow:var(--shadow)}.talentCard__portrait{aspect-ratio:2/3;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 26%,rgba(19,229,233,.24),transparent 35%),linear-gradient(160deg,#231046,#0d0718 70%)}.talentCard:nth-child(3n+2) .talentCard__portrait{background:radial-gradient(circle at 50% 26%,rgba(255,57,214,.24),transparent 35%),linear-gradient(160deg,#3a103d,#0d0718 70%)}.talentCard:nth-child(3n+3) .talentCard__portrait{background:radial-gradient(circle at 50% 26%,rgba(125,37,218,.28),transparent 35%),linear-gradient(160deg,#20114a,#0d0718 70%)}.talentCard__portrait img{width:100%;height:100%;object-fit:contain;object-position:center bottom;display:block}.talentPlaceholder{position:absolute;inset:10% 18% 0;border-radius:48% 48% 18% 18%;background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.04));clip-path:polygon(26% 0,74% 0,88% 17%,96% 43%,84% 100%,16% 100%,4% 43%,12% 17%)}.talentCard__info{padding:20px}.talentCard__info small{font:700 9px 'Montserrat';letter-spacing:.18em;color:var(--cyan)}.talentCard__info h3{font:800 clamp(24px,2.2vw,38px)/1 'Montserrat';margin:10px 0}.talentCard__info>p{font-size:12px;line-height:1.7;color:var(--muted);min-height:3.4em}.talentCard__actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px}.profileButton{border:0;background:none;padding:0;color:#fff;font:700 9px 'Montserrat';letter-spacing:.14em;cursor:pointer}.talentSocials{display:flex;gap:7px}.talentSocials a{width:34px;height:34px;border:1px solid var(--line);display:grid;place-items:center;transition:.25s}.talentSocials a:hover{border-color:var(--cyan);transform:translateY(-2px)}.talentSocials svg,.modal__socials svg{width:15px;height:15px;fill:currentColor}
.newsList{align-self:center}.newsList a{display:grid;grid-template-columns:120px 95px 1fr 20px;align-items:center;gap:24px;padding:26px 0;border-bottom:1px solid var(--line);text-decoration:none}.newsList a:first-child{border-top:1px solid var(--line)}.newsList time,.newsList span{font:700 9px 'Montserrat';letter-spacing:.12em}.newsList span{color:var(--pink)}.newsList h3{font-size:15px;font-weight:500;margin:0}.newsList i{font-style:normal;color:var(--cyan)}
.event{grid-template-columns:1fr}.event .sectionHeading{position:relative;top:auto}.eventGrid{display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:1fr 1fr;gap:18px}.eventCard{min-height:220px;padding:34px;border:1px solid var(--line);background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.015));display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}.eventCard:before{content:"";position:absolute;width:230px;height:230px;border-radius:50%;background:var(--purple);filter:blur(80px);opacity:.23;right:-90px;top:-100px}.eventCard--large{grid-row:1/3;min-height:458px;background:linear-gradient(145deg,rgba(255,57,214,.12),rgba(19,229,233,.035))}.eventCard p{font:700 9px 'Montserrat';letter-spacing:.22em;color:var(--cyan)}.eventCard h3{font:800 clamp(30px,4vw,66px)/.95 'Montserrat';margin:10px 0}.eventCard span{font-size:12px;color:var(--muted)}.eventCard a{margin-top:25px;font:700 9px 'Montserrat';letter-spacing:.18em;text-decoration:none}
.audition{min-height:88vh;display:grid;place-items:center;padding:100px 7vw;position:relative;overflow:hidden;background:linear-gradient(135deg,#ff2fd0 0%,#8b2be2 45%,#0fdde4 140%)}.audition:before{content:"";position:absolute;inset:30px;border:1px solid rgba(255,255,255,.46)}.audition__inner{text-align:center;position:relative}.audition__inner>p{color:#fff}.audition h2{font-size:clamp(54px,8vw,120px);line-height:1.1;margin:30px 0 20px}.audition__inner>span{display:block;font:700 10px 'Montserrat';letter-spacing:.25em}.audition a{display:inline-flex;align-items:center;justify-content:center;width:170px;height:58px;margin-top:40px;background:#fff;color:#40105f;text-decoration:none;font:800 11px 'Montserrat';letter-spacing:.18em}.audition a i{font-style:normal;margin-left:10px}.contact{padding:110px 7vw 35px;background:#080511}.contact__inner{text-align:center}.contact__inner img{width:min(430px,72vw);max-height:180px;object-fit:contain}.contact__inner p{color:var(--muted);margin:30px 0}.contact__inner>a{display:inline-block;padding:17px 28px;border:1px solid var(--line);text-decoration:none;font:700 10px 'Montserrat';letter-spacing:.16em}.contact footer{border-top:1px solid var(--line);margin-top:90px;padding-top:25px;display:flex;justify-content:space-between;font:600 8px 'Montserrat';letter-spacing:.14em;color:#9d92ae}
.modal{position:fixed;inset:0;z-index:80;background:rgba(4,1,10,.9);backdrop-filter:blur(12px);display:none;place-items:center;padding:3vw}.modal.show{display:grid}.modal__panel{width:min(1120px,94vw);max-height:92vh;overflow:auto;display:grid;grid-template-columns:44% 56%;background:#120725;border:1px solid var(--line);position:relative;box-shadow:var(--shadow)}.modal__close{position:absolute;right:18px;top:14px;z-index:3;border:0;background:none;color:#fff;font-size:32px;cursor:pointer}.modal__visual{min-height:680px;background:radial-gradient(circle at 50% 30%,rgba(19,229,233,.28),transparent 38%),linear-gradient(160deg,#2d1253,#0e0718);display:grid;place-items:end center;overflow:hidden}.modal__visual img{max-width:100%;max-height:100%;object-fit:contain;object-position:center bottom}.modal__copy{padding:70px 60px}.modal__copy small{font:700 10px 'Montserrat';letter-spacing:.2em;color:var(--cyan)}.modal__copy h2{font:800 clamp(48px,6vw,90px)/.9 'Montserrat';margin:22px 0 8px}.modal__kana{color:var(--pink);font-weight:700}.modal__copy>p:not(.modal__kana){line-height:2;color:var(--muted)}.modal dl{margin:40px 0}.modal dl div{display:grid;grid-template-columns:110px 1fr;padding:14px 0;border-top:1px solid var(--line)}.modal dt{font:700 9px 'Montserrat';letter-spacing:.14em;color:var(--pink)}.modal dd{margin:0;font-size:13px}.modal__socials{display:flex;gap:10px}.modal__socials a{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border:1px solid var(--line);text-decoration:none;font:700 10px 'Montserrat'}body.modalOpen{overflow:hidden}
.reveal{opacity:0;transform:translateY(28px);transition:.8s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:1180px){.talentGrid{grid-template-columns:repeat(3,1fr)}.section{grid-template-columns:1fr}.sectionHeading{position:relative;top:auto}.about__body{max-width:none}.heroMembers{height:49vh}}
@media(max-width:800px){.hero__media{background-image:url('assets/images/hero-poster-sp.webp')}.hero__video{opacity:.32;object-position:center}.hero__frame{inset:12px}.hero__content{width:88vw;transform:translateY(-11vh)}.hero__eyebrow{font-size:8px;margin-bottom:18px}.hero__logo{width:90vw;max-height:30vh}.hero__tagline{font-size:18px;margin-top:20px}.hero__sub{font-size:8px;letter-spacing:.22em}.heroMembers{height:42vh;inset:auto -8vw 0;gap:0;opacity:.68}.heroMember{width:24vw}.heroMember:nth-child(1),.heroMember:nth-child(5){display:none}.heroMember:nth-child(2),.heroMember:nth-child(4){height:82%}.heroMember:nth-child(3){height:94%}.scrollGuide{bottom:18px}.header{height:68px;padding:0 18px}.header__brand img{width:116px}.menuButton{display:block}.nav{position:fixed;inset:68px 0 auto;background:rgba(12,4,26,.97);display:none;flex-direction:column;padding:30px}.nav.open{display:flex}.nav a{font-size:12px;padding:8px 0}.section{padding:105px 20px 75px}.sectionHeading h2{font-size:15vw}.about__lead{font-size:23px}.about__values{grid-template-columns:1fr}.talentGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.talentCard__info{padding:14px}.talentCard__info h3{font-size:22px}.talentCard__info>p{display:none}.talentCard__actions{align-items:flex-end}.profileButton{font-size:7px}.talentSocials a{width:30px;height:30px}.newsList a{grid-template-columns:72px 1fr 16px;gap:10px}.newsList span{display:none}.newsList h3{font-size:12px;line-height:1.6}.eventGrid{grid-template-columns:1fr;grid-template-rows:auto}.eventCard--large{grid-row:auto;min-height:300px}.eventCard{min-height:220px;padding:25px}.audition{min-height:72vh;padding:70px 20px}.audition:before{inset:14px}.audition h2{font-size:14vw}.contact{padding:80px 20px 25px}.contact footer{flex-direction:column;gap:12px;text-align:center}.modal{padding:0}.modal__panel{width:100vw;max-height:100vh;min-height:100vh;grid-template-columns:1fr}.modal__visual{min-height:46vh}.modal__copy{padding:35px 24px 60px}.modal dl div{grid-template-columns:92px 1fr}}
@media(max-width:480px){.talentGrid{grid-template-columns:1fr 1fr}.talentCard__info small{font-size:7px}.talentCard__info h3{font-size:18px}.talentSocials{gap:5px}.talentSocials a{width:28px;height:28px}.hero__tagline{letter-spacing:.06em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero__video{display:none}.scrollGuide b{animation:none}.reveal{opacity:1;transform:none;transition:none}}


/* =========================================================
   TOP：上下に寄せて中央の動画を見せる配置
   ========================================================= */

.hero__content {
  position: absolute;
  inset: 0;
  z-index: 3;

  width: 100%;
  height: 100%;

  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;

  padding: clamp(38px, 5vh, 70px) 4vw
           clamp(70px, 8vh, 105px);

  transform: none;
  pointer-events: none;
}

/* 上側：ロゴ＋キャッチコピー */
.hero__brandBlock {
  width: min(860px, 76vw);
  text-align: center;
}

.hero__brandBlock .hero__logo {
  width: min(650px, 58vw);
  max-height: 28vh;
  margin: 0 auto;
  object-fit: contain;
}

.hero__brandBlock .hero__tagline {
  margin: clamp(10px, 1.5vh, 20px) 0 7px;
  font-size: clamp(18px, 2vw, 30px);
}

.hero__brandBlock .hero__sub {
  margin: 0;
}

/* 下側：メンバー集合画像 */
.hero__membersVisual {
  width: 100%;
  height: clamp(120px, 20vh, 230px);

  display: flex;
  justify-content: center;
  align-items: flex-end;

  margin: 0;
}

.hero__membersImage {
  display: block;

  width: min(960px, 82vw);
  height: 100%;
  max-width: none;
  max-height: none;

  object-fit: contain;
  object-position: center bottom;

  filter:
    drop-shadow(0 12px 18px rgba(0, 0, 0, .38));
}

/* スクロール案内は集合画像より手前・下側 */
.scrollGuide {
  z-index: 5;
  bottom: 14px;
}






/* スマホ・アプリ内ブラウザ向けTOP高さ対策 */
.hero {
  min-height: 100vh;
  min-height: 100svh;
  min-height: 100dvh;
}





@media (max-width: 800px) and (max-height: 750px) {

  .hero__content {
    padding-top: 18px;
    padding-bottom: 54px;
  }

  .hero__brandBlock .hero__logo {
    width: 72vw;
    max-height: 19vh;
  }

  .hero__brandBlock .hero__tagline {
    margin-top: 5px;
    font-size: 14px;
  }

  .hero__membersVisual {
    height: 12vh;
    min-height: 70px;
  }

  .scrollGuide {
    bottom: 4px;
  }

  .scrollGuide i {
    height: 18px;
  }
}






/* スマホ・Xアプリ内ブラウザ用 集合画像 */
@media (max-width: 800px) {

  .hero__membersVisual {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 72px;

    width: 100%;
    height: auto;
    margin: 0;

    display: flex;
    justify-content: center;
    align-items: flex-end;

    overflow: hidden;
  }

  .hero__membersImage {
    display: block;

    width: calc(100% - 28px) !important;
    max-width: calc(100% - 28px) !important;

    height: auto !important;
    max-height: none !important;

    margin: 0 auto;
    object-fit: contain;
    object-position: center bottom;
    transform: none !important;
  }
}



@media (max-width: 800px) {
  .hero__membersVisual {
    display: none !important;
  }
}



@media (max-width: 800px) {
  .hero__subline {
    display: none !important;
  }
}



.musicButton{

position:fixed;

right:24px;

bottom:24px;

z-index:999;

background:rgba(18,6,37,.75);

border:1px solid rgba(255,255,255,.18);

color:#fff;

padding:12px 18px;

border-radius:999px;

cursor:pointer;

backdrop-filter:blur(12px);

font:700 12px 'Montserrat';

transition:.3s;

}

.musicButton:hover{

transform:translateY(-2px);

border-color:#13e5e9;

}





