





@font-face{
  font-family:'M PLUS 1p';
  font-style:normal;
  font-weight:800;
  font-display:swap;
  src:url('../fonts/mplus1p-800.woff2') format('woff2');
}


.spot-name,.dl-head,.zz-text h3,.zz-num,.article-title,.spec-platform,.section-subtitle,.spec2-value{
  font-family:'Noto Sans JP',"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  font-weight:900;
}

:root{
  --line:#999;
  --line-strong:#555;
  --ink:#333;
  --muted:#777;
  --bg:#000;
  --bg-alt:#f3f3f3;
  --box:#e6e6e6;
  --box-d:#d8d8d8;
  --dark:#222;
  --accent:#e9e3c8;
  --header-h:64px;
  --wrap:1120px;
  --wrap-wide:1320px;
  --anim-dur:600ms;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif;
  color:var(--ink);background:var(--bg);line-height:1.6;
}
html{overflow-x:hidden;}
a{color:inherit;}
img{max-width:100%;display:block;}
ul{list-style:none;margin:0;padding:0;}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 20px;}
.wrap-wide{width:100%;max-width:var(--wrap-wide);margin:0 auto;padding:0 20px;}


.wf-box{
  background:var(--box);border:1px dashed var(--line);
  display:flex;align-items:center;justify-content:center;
  color:var(--muted);font-size:12px;letter-spacing:.04em;position:relative;text-align:center;
}
.wf-box[data-label]::after{
  content:attr(data-label);position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;padding:8px;
}




[data-anim]{opacity:0;transition:opacity var(--anim-dur) ease, transform var(--anim-dur) ease;}
[data-anim="rise"]{transform:translateY(40px);}
[data-anim="fade"]{transform:none;}
[data-anim="left"]{transform:translateX(-40px);}
[data-anim="right"]{transform:translateX(40px);}
[data-anim].in{opacity:1;transform:none;}

@media (prefers-reduced-motion:reduce){
  [data-anim]{opacity:1;transform:none;transition:none;}
}


img[loading="lazy"]:not(.loaded){background:var(--box);}
.lazy-pulse{animation:lazyPulse 1.4s ease-in-out infinite;}
@keyframes lazyPulse{0%,100%{opacity:.6;}50%{opacity:1;}}




.site-header{
  position:fixed;top:0;left:0;right:0;height:var(--header-h);z-index:100;
  display:flex;align-items:center;justify-content:space-between;padding:0 24px;
  background:transparent;transition:background .25s ease;
}
.site-header::before{
  content:"";position:absolute;top:0;left:0;right:0;height:96px;
  background:linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,0));
  pointer-events:none;
}
.site-header.is-scrolled{background:#1c1c1c repeating-linear-gradient(180deg, rgba(255,255,255,.025) 0 1px, transparent 1px 3px);}
.site-header.is-scrolled::before{opacity:0;}
@supports (backdrop-filter:blur(1px)){
  .site-header.is-scrolled{backdrop-filter:blur(8px);}
}
.header-logo{
  position:relative;z-index:1;display:flex;align-items:center;height:32px;flex:0 0 auto;
  opacity:0;transition:opacity .25s ease;
}
.header-logo img{height:32px;width:auto;display:block;}
.site-header.is-scrolled .header-logo{opacity:1;}
.global-nav{position:relative;z-index:1;margin-right:216px;} 
.global-nav ul{display:flex;gap:0;align-items:center;}
.global-nav li{display:flex;align-items:center;}
.global-nav a{
  color:rgba(255,255,255,.85);text-decoration:none;
  font-family:'M PLUS 1p',"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif;
  font-size:13px;font-weight:800;letter-spacing:.08em;
  padding:12px 16px;display:block;position:relative;
  text-shadow:0 1px 8px rgba(0,0,0,.35);
}

.global-nav a::before,
.global-nav a::after{
  content:"";position:absolute;width:8px;height:8px;opacity:0;transition:opacity .15s ease;
}
.global-nav a::before{top:4px;left:4px;border-top:2px solid #13d5df;border-left:2px solid #13d5df;}
.global-nav a::after{bottom:4px;right:4px;border-bottom:2px solid #f70fff;border-right:2px solid #f70fff;}
@media (hover:hover){
  .global-nav a:hover{color:#fff;}
  .global-nav a:hover::before,
  .global-nav a:hover::after{opacity:1;}
}
.global-nav a.is-current{color:#fff;background:rgba(19,213,223,.08);}
.global-nav a.is-current::before,
.global-nav a.is-current::after{opacity:1;}
.nav-toggle{display:none;width:48px;height:var(--header-h);background:none;border:none;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px;z-index:101;position:relative;}
.nav-toggle span{display:block;width:22px;height:2px;background:#fff;transition:.25s;}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}


.fixed-cta{
  position:fixed;top:0;right:0;z-index:102; 
  width:230px;height:68px;padding:0 14px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:linear-gradient(135deg, rgba(247,15,255,.95), rgba(19,213,223,.95));
  border:1px solid rgba(255,255,255,.4);
  clip-path:polygon(0 0, 100% 0, 100% 100%, 12px 100%, 0 calc(100% - 12px));
  color:#fff;text-decoration:none;
  transition:filter .2s ease;
}
.fixed-cta .cta-txt{display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left;}
.fixed-cta .cta-en{display:inline-block;padding:2px 8px;background:rgba(0,0,0,.28);color:#fff;font-size:9px;letter-spacing:.3em;font-weight:bold;line-height:1.3;}
.fixed-cta .cta-ja{
  font-family:'Noto Sans JP',"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  font-weight:900;font-size:15px;letter-spacing:.02em;line-height:1.2;white-space:nowrap;
  text-shadow:0 1px 3px rgba(0,0,0,.55);
}
.fixed-cta .cta-ico{flex:0 0 auto;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;font-size:15px;font-weight:bold;}
.fixed-cta .cta-ico span{display:inline-block;background:linear-gradient(135deg,#f70fff,#13d5df);-webkit-background-clip:text;background-clip:text;color:transparent;transition:transform .3s ease;}
.fixed-cta .cta-ico .ico-chev{display:none;} 
.fixed-cta.is-passed .cta-ico span{transform:rotate(180deg);} 
@media (hover:hover){
  .fixed-cta:hover{filter:brightness(1.15);}
}


.fixed-x-cta{
  position:fixed;right:16px;bottom:16px;z-index:98;
  width:56px;height:56px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:rgba(8,16,28,.72);
  border:1px solid rgba(19,213,223,.6);
  text-decoration:none;color:#fff;
  transition:transform .2s ease, background .2s ease, border-color .2s ease;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.25));
}
.fixed-x-cta img{width:44px;height:44px;border-radius:50%;object-fit:cover;display:block;}

.hud-chip{
  position:absolute;top:50%;
  background:rgba(8,16,28,.92);border:1px solid rgba(19,213,223,.4);
  color:#fff;font-size:11px;font-weight:bold;letter-spacing:.04em;
  padding:6px 10px;white-space:nowrap;
  opacity:0;pointer-events:none;
  transition:opacity .2s ease, transform .2s ease;
}
.fixed-x-cta .hud-chip{right:calc(100% + 10px);transform:translateY(-50%) translateX(8px);}
.to-top .hud-chip{left:calc(100% + 10px);transform:translateY(-50%) translateX(-8px);}
@media (hover:hover){
  .fixed-x-cta:hover,.to-top:hover{
    transform:translateY(-2px);border-color:transparent;
    background:linear-gradient(rgba(8,16,28,.8), rgba(8,16,28,.8)) padding-box, linear-gradient(90deg,#f70fff,#13d5df) border-box;
  }
  .fixed-x-cta:hover .hud-chip,
  .to-top:hover .hud-chip{opacity:1;transform:translateY(-50%) translateX(0);}
}


.sns-ico-x{
  display:inline-flex;align-items:center;justify-content:center;
  width:40px;height:40px;background:#1c1c1c;color:#fff;border-radius:50%;
  text-decoration:none;transition:background .2s;
}
.sns-ico-x:hover{background:#333;}
.sns-ico-x svg{width:18px;height:18px;display:block;}




section[id]:not(#hero){scroll-margin-top:var(--header-h);}
.section{padding:80px 0;}
.section-bg{background:var(--bg-alt);}

#movie.section-bg{background:#e8e8e8;}
.section-light{background:#fafafa;}
.section-accent{background:var(--accent);padding-bottom:0;}


#character.section-accent{position:relative;background:#1e030f;}
#character.section-accent::before{ 
  content:"";position:absolute;inset:0;z-index:0;
  background:linear-gradient(180deg, rgba(30,3,15,0) 0%, rgba(30,3,15,0) 55%, rgba(30,3,15,.8) 100%), url('../img/bg_utahime.jpg') center/cover no-repeat;
}
#character.section-accent::after{ 
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:#030f23;opacity:var(--tint-opacity, .75);
}
#character > .wrap{position:relative;z-index:1;}
@keyframes utahimeSparkle{
  0%{filter:brightness(1) saturate(1);}
  35%{filter:brightness(1.3) saturate(1.35);}
  100%{filter:brightness(1) saturate(1);}
}
@keyframes utahimeTwinkle{ 
  0%,100%{filter:brightness(1) saturate(1);}
  50%{filter:brightness(1.08) saturate(1.1);}
}
#character.section-accent.is-peak::before{
  animation:utahimeSparkle 1.2s ease-out 1, utahimeTwinkle 2.6s ease-in-out 1.2s infinite;
}
#character .spot-tagline{color:#13d5df;font-size:13px;font-weight:normal;letter-spacing:.08em;margin:0 0 10px;}
#character .spot-credit dt{color:#13d5df;font-size:12px;font-weight:800;}
#character .spot-credit dd{color:rgba(255,255,255,.92);line-height:1.8;}
.section-dark{background:var(--dark);color:#ddd;}
.section-title{font-size:28px;letter-spacing:.12em;margin:0 0 36px;padding-left:12px;border-left:6px solid var(--line-strong);}
.section-title.center{text-align:center;padding-left:0;border-left:none;}
.section-title.watermark{color:#bdbdbd;letter-spacing:.3em;font-size:36px;}


.section-title-img{height:56px;width:auto;margin:0 auto;filter:drop-shadow(0 2px 12px rgba(0,0,0,.35));}


#news.section-bg{
  background:linear-gradient(180deg, rgba(7,9,32,.58), rgba(7,9,32,.8)), url('../img/bg_news.jpg') center/cover no-repeat;
  background-color:#0a0c23;
}



body.subpage{background-color:#0a0c23;}
body.subpage::before{
  content:"";position:fixed;inset:0;z-index:-1;
  background:linear-gradient(180deg, rgba(7,9,32,.58), rgba(7,9,32,.8)), url('../img/bg_news.jpg') center/cover no-repeat;
  background-color:#0a0c23;
}
#newsList.section-bg, .news-article.section-bg{background:none;}
#news .news-card{box-shadow:0 8px 24px rgba(0,0,0,.4);}
#news .more .wf-btn{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.6);color:#fff;}
#news .more .wf-btn:hover{background:rgba(255,255,255,.22);}


.hero{padding:0;}
.hero-mv{position:relative;}
.hero-mv-img{width:100%;height:auto;display:block;opacity:0;transition:opacity .4s ease;}
.hero-mv-img.is-shown{opacity:1;}
.hero-mv-sp{display:none;width:100%;height:auto;}


.download-band{
  position:relative;
  background:linear-gradient(180deg, #b045cf, #172094);
  padding:20px 0;text-align:center;
}
.download-band::before{ 
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:repeating-linear-gradient(0deg, rgba(255,255,255,.05) 0, rgba(255,255,255,.05) 1px, transparent 1px, transparent 4px);
}
.download-band > .wrap{position:relative;z-index:1;}
.dl-head{
  font-size:48px;letter-spacing:.02em;margin:0 0 16px;
  color:#fff;
}
.store-buttons{display:flex;gap:20px;justify-content:center;align-items:center;flex-wrap:wrap;}
.store-buttons a{display:flex;align-items:center;height:64px;transition:transform .2s ease;}
.store-buttons a:hover{transform:translateY(-3px);}
.store-buttons img{height:100%;width:auto;display:block;}

.store-buttons .store-google{height:83.3px;}
.store-steam{
  gap:10px;padding:0 20px;background:#000;border:1px solid #a6a6a6;border-radius:8px;box-sizing:border-box;
  color:#fff;font-weight:bold;font-size:15px;text-decoration:none;letter-spacing:.03em;
}
.store-buttons .store-steam img{height:29px;}
.store-steam:hover{background:#1a1a1a;}




.news-carousel{display:flex;align-items:center;gap:12px;position:relative;}
.news-viewport{flex:1;overflow:hidden;}        
.news-track{display:flex;gap:28px;padding:8px 0;transition:transform .45s ease;will-change:transform;}
.news-card{
  position:relative;overflow:hidden;
  flex:0 0 calc((100% - 56px)/3);min-width:0;background:#fff;border:1px solid #ddd;
  padding:0 0 18px;
  box-shadow:0 10px 26px rgba(0,0,0,.18);
  transition:transform .25s ease, box-shadow .25s ease;cursor:pointer;
}
.news-card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:4px;z-index:1;
  background:linear-gradient(90deg, #f70fff, #13d5df);
}
@media (hover: hover) {
  .news-card:hover{transform:translateY(-6px);box-shadow:0 16px 32px rgba(0,0,0,.24);}
  
  @media (hover: none){
    .news-card:hover{transform:none;box-shadow:none;}
    .news-listgrid .news-card:hover{transform:none;box-shadow:none;}
  }
}
.news-thumb{width:100%;aspect-ratio:16/9;margin-bottom:14px;overflow:hidden;background:#000;}
.news-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.news-body{padding:0 18px;}
.news-date{font-size:14px;color:var(--muted);margin:0 0 8px;font-weight:bold;}
.news-card-title{font-size:17px;font-weight:bold;margin:0 0 10px;line-height:1.5;}
.news-excerpt{font-size:14px;color:var(--muted);margin:0;}
.more{margin-top:36px;text-align:center;}
.more .wf-btn{display:inline-flex;}




.movie-flow .cf-viewport{flex:1;overflow:hidden;}
.movie-flow .cf-item{flex:0 0 64%;padding:0 12px;opacity:.35;transform:scale(.78);transition:.4s;cursor:pointer;}
.movie-flow .cf-item.is-center{opacity:1;transform:scale(1);}
.movie-flow .wf-video{width:100%;aspect-ratio:16/9;background:#cfcfcf;overflow:hidden;}
.movie-flow .wf-video iframe{width:100%;height:100%;border:0;display:block;}
.movie-flow .cf-item iframe{pointer-events:none;}
.movie-flow .cf-item.is-center iframe{pointer-events:auto;}


#movie.section-bg{
  background:linear-gradient(180deg, rgba(20,12,0,.55), rgba(20,12,0,.78)), url('../img/bg_movie.jpg') center/cover no-repeat;
  background-color:#140c00;
}
#movie .dot{background:rgba(255,255,255,.4);border-color:rgba(255,255,255,.7);}
#movie .dot.is-active{background:#fff;}



#plates{
  background:linear-gradient(180deg, rgba(20,10,0,.5), rgba(15,6,0,.75)), url('../img/bg_plate.jpg') center/cover no-repeat;
  background-color:#0f0600;
}
#plates .cf-item{flex:0 0 64%;padding:0 12px;opacity:.35;transform:scale(.82);transition:.4s;cursor:pointer;}
#plates .cf-item.is-center{opacity:1;transform:scale(1);}
#plates .dot{background:rgba(255,255,255,.4);border-color:rgba(255,255,255,.7);}
#plates .dot.is-active{background:#fff;}
.wf-plate{width:100%;aspect-ratio:1280/760;background:#0a0f0c;overflow:hidden;}
.wf-plate img{width:100%;height:100%;object-fit:contain;display:block;}
.wf-plate.is-placeholder{background:#d8d8d8;border:1px dashed #999;color:#888;display:flex;align-items:center;justify-content:center;font-size:13px;}
.wf-plate.is-placeholder::after{content:attr(data-label);}


.diva-display .char-art-stage > .outfit-toggle{
  position:absolute;left:16px;bottom:96px;z-index:6; 
  padding:11px 16px;border-radius:2px;
  display:inline-flex;align-items:center;gap:12px;
  background:rgba(8,16,28,.72);color:#fff;border:1px solid rgba(19,213,223,.5);cursor:pointer;
  font-family:'M PLUS 1p',"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif;
  font-weight:800;letter-spacing:.06em;
  transition:background .2s, border-color .2s, transform .15s, box-shadow .2s;
  box-shadow:0 4px 14px rgba(0,0,0,.35);
}
.diva-display .char-art-stage > .outfit-toggle::before{content:"";position:absolute;top:-2px;left:-2px;width:8px;height:8px;border-top:2px solid #13d5df;border-left:2px solid #13d5df;}
.diva-display .char-art-stage > .outfit-toggle::after{content:"";position:absolute;bottom:-2px;right:-2px;width:8px;height:8px;border-bottom:2px solid #f70fff;border-right:2px solid #f70fff;}
@media (hover:hover){
  .diva-display .char-art-stage > .outfit-toggle:hover{
    transform:translateY(-2px);border-color:transparent;
    background:linear-gradient(rgba(8,16,28,.85), rgba(8,16,28,.85)) padding-box, linear-gradient(90deg,#f70fff,#13d5df) border-box;
    box-shadow:0 6px 18px rgba(0,0,0,.4);
  }
}
.diva-display .char-art-stage > .outfit-toggle:active{transform:translateY(0);box-shadow:0 2px 8px rgba(0,0,0,.35);}
.outfit-toggle-label{font-size:12px;}
.outfit-dots{display:inline-flex;align-items:center;gap:6px;}
.outfit-dots i{width:7px;height:7px;border-radius:50%;border:1px solid rgba(255,255,255,.3);box-sizing:border-box;}
.outfit-dots i.is-active{background:linear-gradient(90deg,#f70fff,#13d5df);border-color:transparent;}


.coverflow{display:flex;align-items:center;gap:8px;}
.cf-viewport{flex:1;overflow:hidden;}
.cf-track{display:flex;align-items:center;transition:transform .4s ease;will-change:transform;}
.cf-item{flex:0 0 46%;padding:0 1%;opacity:.45;transform:scale(.82);transition:.35s;}
.cf-item.is-center{opacity:1;transform:scale(1);}


.car-arrow{width:48px;height:48px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;transition:transform .2s;}
.car-arrow:hover{transform:scale(1.1);}
.car-arrow img{height:32px;width:auto;display:block;}
.car-arrow.prev img{margin-right:2px;}
.car-arrow.next img{margin-left:2px;}
.dots{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:24px;}

#newsCarousel.is-single .news-track{justify-content:center;}
#newsCarousel.is-single .car-arrow{visibility:hidden;}
.coverflow.is-single .cf-track{justify-content:center;}
.coverflow.is-single .car-arrow{visibility:hidden;}
.dot{width:12px;height:12px;border-radius:50%;background:#ccc;border:1px solid var(--line);cursor:pointer;padding:0;transition:.2s;}
.dot.is-active{background:var(--line-strong);transform:scale(1.2);}


.zigzag{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;margin-bottom:88px;}
.zigzag:last-child{margin-bottom:0;}

.zz-media{aspect-ratio:16/9;}
.zz-num{
  display:block;font-size:64px;letter-spacing:.04em;line-height:1;margin-bottom:4px;
  background:linear-gradient(90deg, #f70fff, #13d5df);-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.zz-num[data-anim].in{opacity:.85;}
.zz-text h3{font-size:32px;letter-spacing:.04em;margin:0 0 18px;}

#system .zz-num,#system .zz-text h3,#about .zz-num,#about .zz-text h3{transform:skewX(-8deg);}
#system .zz-num[data-anim="rise"],#system .zz-text h3[data-anim="rise"],#about .zz-num[data-anim="rise"],#about .zz-text h3[data-anim="rise"]{transform:translateY(40px) skewX(-8deg);}
#system .zz-num[data-anim].in,#system .zz-text h3[data-anim].in,#about .zz-num[data-anim].in,#about .zz-text h3[data-anim].in{transform:skewX(-8deg);}


#system.section-light,#about.section-light{
  background:linear-gradient(180deg, rgba(3,15,35,.5), rgba(3,15,35,.72)), url('../img/bg_system.jpg') center/cover no-repeat;
  background-color:#030f23;
}
#system .zz-text h3,#about .zz-text h3{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.4);}
#system .zz-text p,#about .zz-text p{color:rgba(255,255,255,.85);text-shadow:0 1px 6px rgba(0,0,0,.35);}
.zz-text p{color:var(--muted);margin:0 0 18px;font-size:16px;line-height:1.8;}


.zz-media-frame{position:relative;aspect-ratio:1577/926;filter:drop-shadow(0 0 20px rgba(0,216,212,.2));}
.zz-frame-svg{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;}
.zz-media-frame .zz-media{
  position:absolute;left:2.22%;top:4.21%;right:2.28%;bottom:4.32%;
  aspect-ratio:auto;border-radius:2px;border:none;background:rgba(3,15,35,.55);color:rgba(255,255,255,.7);
}
.zz-media-frame img.zz-media{right:auto;bottom:auto;width:95.5%;height:91.47%;object-fit:cover;} 
.wf-btn{min-width:140px;height:48px;background:var(--box-d);border:1px solid var(--line);text-decoration:none;cursor:pointer;display:inline-flex;transition:background .2s, transform .2s;}
.wf-btn:hover{background:#c5c5c5;transform:translateY(-2px);}
.wf-btn.wide{width:100%;max-width:400px;height:56px;font-weight:bold;}


.diva-section{padding-bottom:0;}
.diva-stage{
  display:grid;grid-template-columns:236px 1fr;gap:32px;
  align-items:stretch;min-height:560px;padding-bottom:40px;
}

.diva-thumbs{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-self:start;}
.diva-thumbs .char-cell{width:100%;}


.diva-display{display:flex;flex-direction:column;align-items:center;gap:0;} 
.diva-display .char-art-stage{position:relative;display:flex;align-items:flex-end;justify-content:center;min-height:520px;width:100%;}
.diva-display .wf-charart{width:100%;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;}
.diva-display .wf-charart img{
  max-width:100%;max-height:640px;width:auto;height:auto;object-fit:contain;object-position:bottom center;
  
  -webkit-mask-image:linear-gradient(180deg,#000 calc(100% - 36px),transparent);
  mask-image:linear-gradient(180deg,#000 calc(100% - 36px),transparent);
}

.diva-display .char-art-stage > .car-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;}
.diva-display .char-art-stage > .car-arrow.prev{left:8px;}
.diva-display .char-art-stage > .car-arrow.next{right:8px;}
.diva-display .char-art-stage > .car-arrow:hover{transform:translateY(-50%) scale(1.08);}


.diva-info{padding:0 0 32px;width:100%;max-width:520px;text-align:center;}

.diva-info.spot-info{
  position:relative;
  background:rgba(8,16,28,.5);
  border:1px solid rgba(19,213,223,.35);
  padding:32px 36px 40px;
  min-height:326px; 
  margin-top:-80px;z-index:2; 
}
.diva-info.spot-info::before,
.diva-info.spot-info::after{
  content:"";position:absolute;width:12px;height:12px;
}
.diva-info.spot-info::before{top:-2px;left:-2px;border-top:2px solid #13d5df;border-left:2px solid #13d5df;}
.diva-info.spot-info::after{bottom:-2px;right:-2px;border-bottom:2px solid #f70fff;border-right:2px solid #f70fff;}

.spot-ticks{position:absolute;top:-3px;left:50%;transform:translateX(-50%);width:140px;height:5px;background:repeating-linear-gradient(90deg, rgba(19,213,223,.8) 0 2px, transparent 2px 6px);}
.diva-info .spot-tagline{font-size:15px;font-weight:bold;margin:0 0 14px;color:#3a2e08;}

.spot-name{
  color:#fff;
  font-size:26px;letter-spacing:.06em;text-align:center;margin:0 0 16px;
}
.spot-name::after{content:"";display:block;width:64px;height:2px;background:linear-gradient(90deg,#f70fff,#13d5df);margin:10px auto 0;}
.diva-info .spot-credit{display:grid;grid-template-columns:64px 1fr;gap:10px 16px;margin:0 auto;font-size:14px;max-width:520px;text-align:left;}
.diva-info .spot-credit dt{font-weight:bold;color:#5c4a14;letter-spacing:.05em;}
.diva-info .spot-credit dd{margin:0;color:#1c1c1c;line-height:1.75;}


.char-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:6px;padding-bottom:40px;max-width:760px;margin:0 auto;}
.char-cell{
  aspect-ratio:1/1;background:#fff;border:1px solid #b9ad74;cursor:pointer;
  position:relative;overflow:hidden;
  transition:transform .15s, outline .15s, box-shadow .15s;
}

.char-cell img{
  width:100%;height:100%;
  object-fit:cover;object-position:center center;
  transition:transform .25s ease;
}
.char-cell:hover, .char-cell.is-active{transform:scale(1.08);box-shadow:0 4px 10px rgba(0,0,0,.18);}
.char-cell:hover{z-index:3;}
.char-cell::after{ 
  content:"";position:absolute;inset:0;border:3px solid transparent;
  border-image:linear-gradient(90deg, #f70fff, #13d5df) 1;
  opacity:0;transition:opacity .2s ease;pointer-events:none;
}
.char-cell.is-active{z-index:2;}
.char-cell.is-active::after{opacity:1;}
.char-cell.is-placeholder{
  background:#e8dfb0;border-color:#c7b770;cursor:default;
}
.char-cell.is-placeholder:hover{transform:none;box-shadow:none;}


.char-spotlight{
  background:var(--accent);
  border-top:1px solid #b9ad74;position:relative;overflow:hidden;
}
.spotlight-inner{
  display:grid;grid-template-columns:340px 1fr;gap:24px;position:relative;
  min-height:560px;padding-top:48px;padding-bottom:0;     
  align-items:end;
}


.spot-info{padding-bottom:48px;}
.spot-tagline{font-size:15px;font-weight:bold;margin:0 0 16px;line-height:1.6;color:#3a2e08;}
.spot-credit{display:grid;grid-template-columns:64px 1fr;gap:8px 16px;margin:0;font-size:14px;}
.spot-credit dt{font-weight:bold;color:#5c4a14;letter-spacing:.05em;}
.spot-credit dd{margin:0;color:#1c1c1c;}


.char-art-stage{
  position:relative;display:flex;align-items:flex-end;justify-content:center;
  align-self:stretch;            
}
.wf-charart{
  width:100%;
  display:flex;align-items:flex-end;justify-content:center;
}
.wf-charart img{
  width:auto;height:auto;
  max-width:100%;max-height:720px;
  object-fit:contain;object-position:bottom center;
  transition:opacity .25s ease;
}


.char-spotlight.is-changing .wf-charart img{opacity:0;}




.music-groups{display:flex;flex-direction:column;gap:28px;max-width:960px;margin:0 auto;}
.music-group{display:grid;grid-template-columns:100px 1fr;gap:12px 24px;align-items:center;} 
.music-series-logo{height:44px;display:flex;align-items:center;}
.music-series-logo-text{font-size:14px;font-weight:bold;letter-spacing:.08em;color:var(--muted);}

.music-series-logo-img{height:100%;width:auto;max-width:100%;object-fit:contain;display:block;background:#fff;padding:5px 12px;border-radius:2px;box-sizing:border-box;}
.music-songlist{display:grid;grid-template-columns:1fr 1fr;gap:8px 32px;}
.music-songlist li{font-size:14px;color:var(--ink);line-height:1.8;padding:4px 0;border-bottom:1px dashed #ddd;}


#music.section-bg{
  background:linear-gradient(180deg, rgba(35,5,40,.55), rgba(25,4,30,.8)), url('../img/bg_music.jpg') center/cover no-repeat;
  background-color:#1a0420;
}
#music .music-series-logo-text{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.4);}
#music .music-songlist li{color:#fff;border-bottom-color:rgba(255,255,255,.25);text-shadow:0 1px 6px rgba(0,0,0,.35);}




.cero-line{color:#bbb;font-size:14px;margin:0 0 12px;text-align:center;}
.spec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.spec-card{background:#2a2a2a;border:1px solid #444;padding:28px 24px;text-align:left;}
.spec-platform{margin:0 0 18px;font-size:20px;color:#fff;padding-bottom:12px;border-bottom:2px solid #555;letter-spacing:.05em;}
.spec-list{display:grid;grid-template-columns:auto 1fr;gap:10px 18px;margin:0;font-size:14px;}
.spec-list dt{color:#aaa;font-weight:bold;}
.spec-list dd{margin:0;color:#ddd;}
.spec-notes{margin:32px 0 0;display:flex;flex-direction:column;gap:6px;font-size:13px;color:#aaa;text-align:center;}


.spec2-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;max-width:560px;margin:0 auto;}
.spec2-card{background:#2a2a2a;border:1px solid #444;padding:20px 18px;text-align:center;}
.spec2-label{margin:0 0 8px;font-size:11px;color:#13d5df;letter-spacing:.08em;font-weight:700;}
.spec2-value{margin:0;font-size:16px;color:#fff;line-height:1.5;}
.section-subtitle{font-size:22px;letter-spacing:.08em;margin:64px 0 24px;}
.section-subtitle.light{color:#fff;}

.section-note{font-size:12px;letter-spacing:.06em;text-align:center;margin:-24px 0 32px;}
#music .section-note{color:rgba(255,255,255,.85);text-shadow:0 1px 6px rgba(0,0,0,.35);}

.dlc-hero{position:relative;height:280px;border:1px solid rgba(255,255,255,.12);overflow:hidden;margin:0 0 16px;}
.dlc-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.dlc-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg, rgba(6,8,16,.55) 0%, rgba(6,8,16,.38) 40%, rgba(6,8,16,0) 62%);}
.dlc-hero-body{position:absolute;z-index:2;left:34px;top:50%;transform:translateY(-50%);max-width:55%;display:flex;flex-direction:column;align-items:flex-start;gap:12px;}
.dlc-hero-name{margin:0;font-family:'Noto Sans JP',"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-weight:900;font-size:28px;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.6);}
.dlc-hero-desc{margin:0;font-size:14px;line-height:1.7;color:rgba(255,255,255,.85);text-shadow:0 1px 6px rgba(0,0,0,.6);}
.dlc-badge{display:inline-flex;align-items:center;justify-content:center;padding:3px 12px;background:linear-gradient(90deg,#f70fff,#13d5df);color:#fff;font-size:11px;font-weight:bold;letter-spacing:.06em;border-radius:2px;}
.dlc-badge.coming{background:#333;color:#999;}
.dlc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.dlc-card{background:#1d1d22;border:1px solid rgba(255,255,255,.12);overflow:hidden;transition:transform .2s ease, border-color .2s ease;}
@media (hover:hover){
  .dlc-card:hover{transform:translateY(-3px);border-color:rgba(19,213,223,.7);}
  .dlc-card.is-coming:hover{transform:none;border-color:rgba(255,255,255,.35);}
}
.dlc-thumb{position:relative;aspect-ratio:16/9;overflow:hidden;}
.dlc-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.dlc-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, transparent 45%, rgba(0,0,0,.55));}
.dlc-thumb .dlc-badge,.dlc-q .dlc-badge{position:absolute;top:8px;left:8px;z-index:2;font-size:10px;padding:2px 9px;}
.dlc-card-name{margin:0;padding:10px 12px 4px;font-family:'Noto Sans JP',"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-weight:900;font-size:13px;color:#fff;}
.dlc-card-desc{margin:0;padding:0 12px 12px;font-size:12px;color:rgba(255,255,255,.6);}
.dlc-card.is-coming{background:transparent;border-style:dashed;border-color:rgba(255,255,255,.35);opacity:.75;}
.dlc-q{position:relative;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:bold;color:rgba(255,255,255,.35);}





#sns.section-light{
  background:linear-gradient(180deg, rgba(4,6,20,.5), rgba(4,6,20,.75)), url('../img/bg_sns.jpg') center/cover no-repeat;
  background-color:#04061a;
}
.sns-lead{text-align:center;margin:0 0 32px;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.4);}


#news, #movie, #system, #about, #plates, #music, #sns{position:relative;}
#news::before, #movie::before, #system::before, #about::before, #plates::before, #music::before, #sns::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:repeating-linear-gradient(0deg, rgba(255,255,255,.05) 0, rgba(255,255,255,.05) 1px, transparent 1px, transparent 4px);
}
#news > .wrap-wide, #movie > .wrap-wide, #system > .wrap, #about > .wrap, #plates > .wrap-wide, #music > .wrap, #sns > .wrap{
  position:relative;z-index:1;
}

.sns-console{position:relative;width:100%;max-width:600px;margin:0 auto;aspect-ratio:1617 / 851;}
.sns-frame{
  position:absolute;inset:0;width:100%;height:100%;display:block;
  filter:drop-shadow(0 0 10px rgba(125,255,171,.55)) drop-shadow(0 0 26px rgba(125,255,171,.30));
}

.sns-screen{
  position:absolute;left:12.2%;top:5.6%;right:11.8%;bottom:7%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  overflow:hidden;border-radius:16px;text-decoration:none;
}
.sns-screen::before{ 
  content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background:repeating-linear-gradient(0deg, rgba(125,255,171,.08) 0, rgba(125,255,171,.08) 1px, transparent 1px, transparent 4px);
}
.sns-screen::after{ 
  content:"";position:absolute;inset:0;pointer-events:none;z-index:2;opacity:.10;mix-blend-mode:screen;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.sns-screen > *{position:relative;z-index:3;}
.sns-mark{display:flex;align-items:center;justify-content:center;width:108px;height:108px;flex:0 0 auto;aspect-ratio:1/1;border-radius:50%;overflow:hidden;background:#1c1c1c;border:3px solid rgba(125,255,171,.75);box-shadow:0 0 20px rgba(125,255,171,.55);} 
.sns-mark img{width:100%;height:100%;object-fit:cover;display:block;}
.sns-name{font-weight:bold;font-size:17px;margin-top:6px;color:#e2ffee;text-shadow:0 0 10px rgba(125,255,171,.65);}
.sns-id{font-size:13px;color:rgba(226,255,238,.75);}
.sns-cta{display:inline-block;margin-top:6px;font-size:13px;font-weight:bold;color:#9dffc2;padding:6px 14px;border:1px solid rgba(125,255,171,.75);border-radius:999px;text-decoration:none;text-shadow:0 0 8px rgba(125,255,171,.55);transition:background .2s ease, color .2s ease, box-shadow .2s ease, text-shadow .2s ease, transform .2s ease;}
.sns-cta:hover,
.sns-cta:focus-visible{
  background:rgba(125,255,171,.18);color:#eafff3;
  border-color:#9dffc2;
  box-shadow:0 0 14px rgba(125,255,171,.7), inset 0 0 12px rgba(125,255,171,.35);
  text-shadow:0 0 12px rgba(125,255,171,.9);
  transform:translateY(-3px);
  outline:none;
}


.site-footer{background:#161616;color:#aaa;padding:48px 0;font-size:13px;text-align:center;}
.site-footer .wf-box{color:#bbb;background:#333;border-color:#555;}
.foot-note{font-size:12px;color:#888;margin:0 0 28px;}
.foot-store{display:flex;gap:16px;justify-content:center;align-items:center;margin-bottom:24px;flex-wrap:wrap;}
.foot-store a{display:flex;align-items:center;height:44px;}
.foot-store img{height:100%;width:auto;display:block;}
.foot-store .store-google{height:57.3px;}
.foot-store .store-steam{gap:8px;padding:0 18px;border-radius:6px;font-size:14px;}
.foot-store .store-steam img{height:22px;}
.trademark-note{font-size:11px;color:#888;line-height:1.6;margin:0 0 12px;}
.foot-sns{display:flex;gap:14px;justify-content:center;margin-bottom:24px;}
.foot-sns .sns-ico{display:flex;width:40px;height:40px;background:#333;color:#ccc;border:1px solid #555;border-radius:50%;font-size:11px;font-weight:bold;text-decoration:none;}
.foot-sns .sns-ico:hover{background:#555;color:#fff;}
.copyright{color:#888;font-size:12px;margin:0 0 18px;}

.copyright span{white-space:nowrap;}
.foot-nav{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-bottom:24px;}
.foot-nav a{text-decoration:none;font-size:12px;}
.foot-nav a:hover{text-decoration:underline;}
.foot-company{display:inline-flex;width:160px;height:40px;}


.to-top{
  position:fixed;left:16px;bottom:16px;z-index:90;
  width:56px;height:56px;border-radius:50%;padding:0;
  display:flex;align-items:center;justify-content:center;
  background:rgba(8,16,28,.72);
  border:1px solid rgba(19,213,223,.6);
  color:#fff;cursor:pointer;opacity:0;pointer-events:none;
  transition:opacity .3s, transform .2s, background .2s ease, border-color .2s ease;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.25));
}
.to-top.show{opacity:1;pointer-events:auto;}
.to-top .tt-arrow{font-size:16px;line-height:1;color:#fff;}





.cookie-banner{
  display:none;
  position:fixed;left:0;right:0;bottom:0;z-index:150;
  background:var(--bg-alt);border-top:2px solid var(--line-strong);
  padding:18px 0;
}
.cookie-banner.is-visible{display:block;}
.cookie-banner .wrap{display:flex;align-items:center;gap:24px;flex-wrap:wrap;}
.cb-text{flex:1 1 360px;margin:0;font-size:14px;color:var(--ink);line-height:1.7;}
.cb-text a{color:#2563eb;text-decoration:underline;}
.cb-text a:hover{color:#1d4ed8;}
.cb-agree{
  flex:0 0 auto;min-width:140px;height:48px;padding:0 28px;
  background:#d32f2f;color:#fff;border:none;
  font-size:14px;font-weight:bold;letter-spacing:.05em;cursor:pointer;
  transition:background .2s, transform .2s;
}
.cb-agree:hover{background:#b71c1c;transform:translateY(-2px);}





@media (max-width:1180px){
  
  .nav-toggle{display:flex;margin-left:auto;}
  
  .global-nav{
    position:fixed;top:0;right:0;width:100%;height:100vh;
    background:linear-gradient(rgba(10,8,22,.84),rgba(10,8,22,.94)), url('../img/mv.jpg?v=20260827a') center/cover no-repeat;
    transform:translateX(100%);transition:transform .32s ease;overflow-y:auto;
    margin-right:0; 
    padding:76px 30px 90px; 
  }
  .global-nav.open{transform:translateX(0);}
  .global-nav ul{flex-direction:column;gap:0;}
  .global-nav li{border:none;width:100%;}
  .global-nav a{
    padding:11px 0;line-height:1.15;text-shadow:none;
    font-family:'Noto Sans JP',"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
    font-weight:900;font-size:26px;letter-spacing:.06em;color:#fff;
  }
  .global-nav a::before{display:none;} 
  .global-nav a::after{ 
    content:attr(data-jp);display:block;position:static;width:auto;height:auto;border:none;opacity:1;transition:none;
    font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
    font-size:10px;font-weight:bold;letter-spacing:.14em;color:rgba(255,255,255,.55);margin-top:3px;
  }
  
  .global-nav a.is-current{background:linear-gradient(90deg,#f70fff,#13d5df);-webkit-background-clip:text;background-clip:text;color:transparent;border:none;padding-left:0;}
  .global-nav a.is-current::before{display:none;}
  .global-nav a.is-current::after{color:#13d5df;}

  
  .fixed-cta{
    top:auto;bottom:0;left:0;right:0;
    width:100%;height:56px;padding:0 16px;
    clip-path:none;border:none;border-top:1px solid rgba(255,255,255,.2);
    justify-content:center;gap:14px;
    z-index:99;
  }
  .fixed-cta .cta-txt{flex-direction:row;align-items:center;gap:10px;}
  
  .fixed-cta .cta-ico{width:auto;height:auto;background:none;border-radius:0;}
  .fixed-cta .cta-ico .ico-arrow{display:none;}
  .fixed-cta .cta-ico .ico-chev{display:inline-block;background:none;-webkit-text-fill-color:#fff;color:#fff;font-size:20px;font-weight:800;letter-spacing:-2px;text-shadow:0 1px 3px rgba(0,0,0,.4);}
  .fixed-cta.is-passed .cta-ico span{transform:none;}
  
  .to-top{bottom:68px;}
  .fixed-x-cta{bottom:68px;}
  .site-footer{padding-bottom:80px;}

  
  .zigzag,.zigzag.reverse{display:flex;flex-direction:column;direction:ltr;gap:14px;margin-bottom:56px;}
  .zigzag > *,.zigzag.reverse > *{width:100%;}
  .zigzag .zz-media-frame{order:2;}
  .zigzag .zz-text{order:1;}

  
  
  .diva-stage{grid-template-columns:150px 1fr;gap:20px;min-height:0;padding-bottom:32px;}
  .diva-thumbs{gap:8px;}
  .diva-display .char-art-stage{min-height:440px;width:100%;}
  .diva-display .wf-charart img{max-height:60vh;}
  .diva-info{text-align:center;padding-bottom:24px;width:100%;}
  .diva-info .spot-name{margin-bottom:14px;}
  .diva-info .spot-credit{max-width:340px;margin:0 auto;}

  
  .car-arrow{display:none;}
  .news-card{flex:0 0 86%;} 
}
@media (max-width:1000px){
  .section-title.watermark{font-size:30px;}
  .section-title-img{height:46px;}
  .spec-grid{grid-template-columns:1fr;}
}
@media (max-width:900px){
  .spotlight-inner{grid-template-columns:1fr;min-height:0;gap:24px;}
  .spot-info{padding-bottom:0;text-align:center;}
  .spot-credit{max-width:360px;margin:0 auto;}
  .char-art-stage{min-height:420px;}
  .wf-charart img{max-height:440px;}
  .movie-flow .cf-item{flex:0 0 86%;}
  .char-grid{grid-template-columns:repeat(10,1fr);max-width:560px;}
}
@media (max-width:680px){
  .char-grid{grid-template-columns:repeat(5,1fr);max-width:360px;}
}
@media (max-width:680px){
  
  :root{--header-h:48px;}

  
  .section{padding:56px 0;}
  .section-title{font-size:22px;margin-bottom:24px;}
  .section-title.watermark{font-size:26px;letter-spacing:.2em;}
  .section-title-img{height:36px;}
  .dl-head{font-size:32px;}

  
  .spec2-grid{grid-template-columns:1fr;max-width:340px;}

  
  .hero-mv-img{display:none;}
  .hero-mv-sp{display:block;}

  
  .download-band{padding:20px 0;}
  .store-buttons{flex-wrap:wrap;justify-content:center;gap:10px;padding:0 10px;}
  .store-buttons a{height:56px;}
  .store-buttons .store-google{height:72.9px;}
  .store-steam{padding:0 16px;font-size:13px;}
  .store-buttons .store-steam img{height:26.7px;}

  
  .news-carousel{position:relative;gap:0;}
  .news-viewport{width:100%;}
  .news-track{gap:12px;padding:6px 0;}
  .news-thumb{margin-bottom:12px;}

  
  .movie-flow,#plates .coverflow{position:relative;}
  .movie-flow .cf-viewport,#plates .cf-viewport{width:100% !important;overflow:hidden;}
  .movie-flow .cf-item,#plates .cf-item{flex:0 0 88% !important;padding:0 8px !important;box-sizing:border-box;opacity:1 !important;transform:none !important;}
  .movie-flow .cf-item.is-center{transform:none !important;}

  
  .diva-stage{grid-template-columns:1fr;gap:12px;padding-bottom:20px;}
  .diva-thumbs{grid-template-columns:repeat(5,1fr);gap:6px;width:100%;max-width:320px;margin:0 auto;justify-self:center;}
  .diva-display .char-art-stage{min-height:340px;}

  
  .diva-display .char-art-stage > .outfit-toggle{padding:10px 14px;left:12px;bottom:92px;gap:8px;} 
  .diva-display .char-art-stage > .outfit-toggle .outfit-toggle-label{font-size:12px;}

  
  .zz-num{font-size:44px;}
  .zz-text h3{font-size:24px;}

  
  .char-grid{grid-template-columns:repeat(5,1fr);max-width:320px;}
  
  .diva-info.spot-info{padding:20px 16px 28px;min-height:376px;} 
  
  .spotlight-inner{grid-template-columns:1fr;gap:16px;padding-top:24px;}
  .char-art-stage{order:1;min-height:0;}
  .wf-charart img{max-height:62vh;height:auto;}
  .spot-info{order:2;text-align:center;padding-bottom:32px;}
  .char-spotlight{padding-bottom:0;}

  
  .music-group{grid-template-columns:1fr;gap:10px;}
  .music-songlist{grid-template-columns:1fr;}

  
  .sns-grid{grid-template-columns:repeat(2,1fr);gap:14px;}
  .sns-name{font-size:13px;}
  .sns-mark{width:60px;height:60px;}

  
  .fixed-x-cta{right:10px;width:48px;height:48px;}
  .fixed-x-cta img{width:38px;height:38px;}
  .to-top{left:10px;width:48px;height:48px;}
  .to-top .tt-arrow{font-size:14px;}
  .hud-chip{display:none;}

  
  .dlc-hero{height:200px;}
  .dlc-hero-body{left:18px;max-width:75%;gap:8px;}
  .dlc-hero-name{font-size:20px;}
  .dlc-hero-desc{font-size:12px;}
  .dlc-grid{grid-template-columns:repeat(2,1fr);}

  
  .cookie-banner{padding:14px 0;}
  .cookie-banner .wrap{flex-direction:column;align-items:stretch;gap:12px;text-align:center;}
  .cb-text{flex:0 0 auto;font-size:12.5px;}
  .cb-agree{width:100%;height:44px;}
}




.wrap-narrow{width:100%;max-width:820px;margin:0 auto;padding:0 20px;}


body.subpage .site-header{background:#1c1c1c repeating-linear-gradient(180deg, rgba(255,255,255,.025) 0 1px, transparent 1px 3px);}
body.subpage .site-header::before{opacity:0;}
body.subpage .header-logo{opacity:1;}
body.subpage main{padding-top:var(--header-h);} 



.breadcrumb{padding-top:24px;}
.breadcrumb ol{
  list-style:none;margin:0;display:inline-flex;max-width:100%;align-items:center;flex-wrap:nowrap;
  font-size:12px;color:rgba(255,255,255,.55);
  background:rgba(8,16,28,.6);border:1px solid rgba(255,255,255,.12);
  padding:8px 16px 8px 0;position:relative;overflow:hidden;
}
.breadcrumb ol::before{content:"";align-self:stretch;flex:0 0 3px;width:3px;background:linear-gradient(180deg,#f70fff,#13d5df);margin-right:12px;}
.breadcrumb li{display:flex;align-items:center;min-width:0;}
.breadcrumb li::marker{content:none;} 
.breadcrumb li:not(:last-child)::after{content:"/";margin:0 10px;color:rgba(255,255,255,.25);}
.breadcrumb a{color:rgba(255,255,255,.55);font-weight:bold;letter-spacing:.05em;text-decoration:none;white-space:nowrap;}
.breadcrumb a:hover{color:#fff;}
.breadcrumb .current{color:#fff;font-weight:bold;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}


.news-listgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:0 0 40px;}
.news-listgrid .news-card{position:relative;overflow:hidden;background:#fff;border:1px solid #ddd;padding:0 0 18px;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.4);transition:transform .25s ease, box-shadow .25s ease;}
.news-listgrid .news-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;z-index:1;background:linear-gradient(90deg, #f70fff, #13d5df);}
@media (hover: hover) {
  .news-listgrid .news-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,0,0,.5);}
}
.news-listgrid .news-card-link{text-decoration:none;color:inherit;display:block;}
.news-listgrid .news-thumb{width:100%;aspect-ratio:16/9;margin-bottom:14px;}
.news-listgrid .news-body{padding:0 18px;}
.news-listgrid .news-date{font-size:13px;color:var(--muted);margin:0 0 6px;font-weight:bold;}
.news-listgrid .news-cat{margin-bottom:8px;display:inline-block;}
.news-listgrid .news-card-title{font-size:16px;font-weight:bold;margin:6px 0 10px;line-height:1.5;}
.news-listgrid .news-excerpt{font-size:13px;color:var(--muted);margin:0;}


.news-tabs{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:32px;}
.news-tabs .tab{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.3);padding:8px 18px;font-size:13px;cursor:pointer;color:rgba(255,255,255,.85);}
.news-tabs .tab:hover{border-color:rgba(255,255,255,.7);}
.news-tabs .tab.is-active{background:linear-gradient(90deg,#f70fff,#13d5df);color:#fff;border:none;padding:9px 19px;}
.wf-pill{display:inline-block;background:#fff;border:1px solid var(--line);border-radius:999px;padding:2px 12px;font-size:11px;color:var(--muted);font-weight:bold;}
.news-cat{display:inline-block;padding:2px 12px;font-size:11px;font-weight:bold;color:#fff;background:linear-gradient(90deg,#f70fff,#13d5df);border-radius:2px;}


.pagination{display:flex;justify-content:center;align-items:center;gap:8px;margin:32px 0 16px;flex-wrap:wrap;}
.pagination .pg-arrow{padding:8px 14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.3);text-decoration:none;font-size:13px;color:#fff;}
.pagination .pg-arrow.disabled{opacity:.4;pointer-events:none;color:rgba(255,255,255,.3);}
.pagination .pg-arrow:hover{background:rgba(255,255,255,.14);}
.pagination .pg-nums{display:flex;gap:4px;}
.pagination .pg-nums li{list-style:none;}
.pagination .pg-nums a{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.3);text-decoration:none;font-size:13px;color:#fff;}
.pagination .pg-nums li.is-active a{background:linear-gradient(90deg,#f70fff,#13d5df);color:#fff;border:none;}
.pagination .pg-nums a:hover{background:rgba(255,255,255,.14);}
.pagination .pg-dots{display:inline-flex;align-items:center;padding:0 4px;color:rgba(255,255,255,.5);}


#newsList .more .wf-btn, .news-article .more .wf-btn{
  background:transparent;border:1px solid rgba(255,255,255,.6);color:#fff;
  align-items:center;justify-content:center;padding:0 28px;
}
#newsList .more .wf-btn:hover, .news-article .more .wf-btn:hover{
  background:rgba(255,255,255,.06);border-color:transparent;
  border-image:linear-gradient(90deg,#f70fff,#13d5df) 1;
}


.news-article .article-header{margin-bottom:24px;}
.news-article .wrap-narrow{
  background:rgba(10,12,30,.88);border:1px solid rgba(255,255,255,.08);border-radius:4px;
  padding:48px 56px;
}
.article-meta{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.article-date{font-size:14px;color:#fff;font-weight:bold;}
.article-date::before{content:"";display:inline-block;width:4px;height:1em;background:linear-gradient(180deg,#f70fff,#13d5df);margin-right:10px;vertical-align:middle;}
.article-title{font-size:30px;line-height:1.4;margin:0;color:#fff;}
.article-divider{border:none;border-top:1px solid rgba(255,255,255,.15);margin:0 0 24px;}
.wf-eyecatch{width:100%;aspect-ratio:16/9;margin-bottom:32px;}
.news-article .wf-box{background:rgba(255,255,255,.04);border:1px dashed rgba(255,255,255,.35);color:rgba(255,255,255,.6);}
.article-body{font-size:15px;line-height:1.9;color:rgba(255,255,255,.88);}
.article-lead{font-size:16px;font-weight:bold;color:rgba(255,255,255,.88);margin:0 0 28px;}
.article-body a{color:#13d5df;}
.article-body h2{position:relative;font-size:20px;font-weight:bold;color:#13d5df;margin:40px 0 16px;padding:0 0 0 14px;}
.article-body h2::before{content:"";position:absolute;left:0;top:0.2em;width:4px;height:1.2em;background:linear-gradient(180deg,#f70fff,#13d5df);}
.article-body h3{font-size:16px;margin:32px 0 12px;color:#fff;font-weight:bold;border-bottom:1px dashed rgba(255,255,255,.25);padding-bottom:6px;}
.article-body p{margin:0 0 16px;}
.article-body .article-list{padding-left:1.4em;margin:0 0 20px;list-style:none;}
.article-body .article-list li{position:relative;margin-bottom:6px;}
.article-body .article-list li::before{content:"▸";position:absolute;left:-1.2em;color:#13d5df;}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;} 
.article-table{width:100%;border-collapse:collapse;font-size:14px;min-width:380px;background:transparent;margin-bottom:20px;color:rgba(255,255,255,.85);}
.article-table th,.article-table td{border:1px solid rgba(255,255,255,.18);padding:10px 14px;text-align:left;}
.article-table th{background:rgba(255,255,255,.08);color:#fff;}
.article-figure{aspect-ratio:16/9;margin:20px 0;}
.article-quote{margin:0 0 20px;padding:14px 18px;border-left:4px solid #13d5df;background:rgba(255,255,255,.05);color:rgba(255,255,255,.8);font-style:normal;}
.article-signature{font-size:12px;color:var(--muted);margin-top:32px;}


.share-block{margin:48px 0 24px;text-align:center;}
.share-label{font-size:13px;color:rgba(255,255,255,.7);font-weight:bold;margin:0 0 12px;}
.share-list{display:flex;justify-content:center;gap:12px;}
.share-list .sns-ico{display:flex;width:44px;height:44px;background:#1c1c1c;color:#fff;border:1px solid #555;border-radius:50%;font-size:13px;font-weight:bold;text-decoration:none;}


.article-nav{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:stretch;margin:32px 0 28px;}
.art-nav{display:flex;flex-direction:column;gap:4px;padding:14px 18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.2);text-decoration:none;color:inherit;transition:transform .2s, box-shadow .2s, border-color .2s;min-height:74px;}
.art-nav:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.3);border-color:#13d5df;}
.art-nav.next{text-align:right;}
.art-nav-label{font-size:12px;color:#13d5df;font-weight:bold;}
.art-nav-title{font-size:14px;color:#fff;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}

.back-to-list{min-width:240px;height:56px;font-weight:bold;background:var(--line-strong);color:#fff;border-color:var(--line-strong);}


@media (max-width:900px){
  .news-listgrid{grid-template-columns:repeat(2,1fr);gap:20px;}
}
@media (max-width:680px){
  .news-listgrid{grid-template-columns:1fr;gap:16px;}
  .news-article .wrap-narrow{padding:24px 18px;}
  .article-title{font-size:22px;}
  .article-body{font-size:14px;}
  .article-body h2{font-size:19px;}
  .article-body h3{font-size:16px;}
  .article-nav{grid-template-columns:1fr;text-align:center;}
  .art-nav.next{text-align:center;}
}


.dlc-lead{text-align:center;font-size:14px;letter-spacing:.04em;color:rgba(255,255,255,.9);margin:-8px 0 22px;}
.dlc-hero{height:auto;min-height:280px;display:flex;align-items:center;}
.dlc-hero-body{position:relative;left:auto;top:auto;transform:none;margin:28px 34px;max-width:58%;}
.dlc-hero-list{list-style:none;margin:0;padding:0;font-size:13.5px;line-height:1.9;color:rgba(255,255,255,.9);text-shadow:0 1px 6px rgba(0,0,0,.6);}
.dlc-hero-list li::before{content:"・";}
.dlc2-intro{margin:30px auto 16px;max-width:760px;}
.dlc2-title{font-family:'Noto Sans JP',"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-weight:900;font-size:18px;color:#fff;text-align:center;margin:0 0 10px;}
.dlc2-desc{font-size:13.5px;color:#ddd;line-height:1.9;margin:0;}
.dlc2-note{font-size:12.5px;color:#aaa;margin:8px 0 0;}
@media (max-width:680px){
  .dlc-hero{min-height:200px;}
  .dlc-hero-body{margin:16px 18px;max-width:88%;}
  .dlc2-title{font-size:16px;}
}


#about .zz-text h3{font-size:clamp(19px,2.05vw,26px);text-wrap:balance;}
@media (max-width:680px){
  #about .zz-text h3{font-size:clamp(17px,4.5vw,24px);}
}
