@charset "UTF-8";
:root{--navy:#2b4268;--deep:#15263f;--lime:#c4e51d;--white:#e8efee;--muted:#a9bdce}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--navy);color:var(--white);font-family:"Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--lime);outline-offset:7px}main{position:relative;overflow:hidden}.background{position:absolute;inset:0;z-index:-1;overflow:hidden}.brick-wall{position:absolute;inset:0;background-image:url('../../../images/portal/2611fangamer/bg.svg');background-position:center top;background-size:min(100%,1000px) auto;background-repeat:repeat;transform:none}.brick-wall:after{content:none}.ornament{position:absolute;top:-25px;bottom:0;width:270px;background:url('../../../images/portal/2611fangamer/game-pattern.svg') top center/270px auto repeat-y;opacity:.35}.ornament.left{left:-75px;transform:rotate(2deg)}.ornament.right{right:-75px;transform:rotate(182deg)}.hero{height:min(880px,100svh);min-height:640px;position:relative;isolation:isolate;background:radial-gradient(ellipse at 50% 48%,transparent 13%,#0b17275e 70%,#0b1727c9 100%)}.topbar{position:absolute;top:32px;left:40px;right:40px;display:flex;justify-content:space-between;align-items:center;z-index:2}.edition,.replay{font-family:Arial,sans-serif;font-size:10px;letter-spacing:2px}.edition{color:var(--muted)}.replay{border:0;background:none;color:var(--muted);cursor:pointer;padding:8px 0}.replay:hover{color:var(--lime)}.replay-icon{font-size:16px;margin-right:6px}.hero-inner{position:absolute;top:43%;left:50%;transform:translate(-50%,-50%);width:min(940px,85%);text-align:center}.hero-eyebrow{font:11px Arial,sans-serif;letter-spacing:5px;color:var(--lime);margin:0 0 38px}.brand-lockup{display:grid;grid-template-columns:1fr 80px 1fr;align-items:center;gap:35px}.brand-lockup img{display:block;width:100%;height:auto;filter:drop-shadow(0 0 25px #a3d9e511)}.cross{height:78px;width:78px;position:relative}.cross:before,.cross:after{content:"";position:absolute;top:50%;left:0;width:100%;height:1px;background:#e4eeee}.cross:before{transform:rotate(45deg)}.cross:after{transform:rotate(-45deg)}.hero-note{font-size:13px;letter-spacing:5px;margin:40px 0 0;color:#c4d7dd}.scroll-cue{position:absolute;bottom:170px;left:50%;transform:translateX(-50%);text-decoration:none;text-align:center}.scroll-cue span{font:9px Arial,sans-serif;letter-spacing:3px;color:var(--muted)}.scroll-cue i{display:block;height:37px;width:1px;background:linear-gradient(var(--lime),transparent);margin:15px auto 0;animation:scroll 2s ease-in-out infinite}.marquee{position:absolute;left:0;bottom:10px;width:100%;overflow:hidden;line-height:1.1}.marquee-track{display:flex;width:max-content;animation:marquee 38s linear infinite}.marquee-track>span{font-family:Arial,Helvetica,sans-serif;font-weight:900;font-style:italic;font-size:clamp(80px,9vw,160px);white-space:nowrap;letter-spacing:-5px;color:transparent;-webkit-text-stroke:1px var(--lime);padding-right:.22em}.marquee b{font-style:normal;font-weight:400;font-size:.8em;margin:0 .14em}.motion-toggle{position:absolute;right:20px;bottom:3px;border:1px solid #a3bd6455;background:var(--deep);color:var(--lime);font:12px Arial,sans-serif;width:27px;height:27px;cursor:pointer}.paused .marquee-track{animation-play-state:paused}.lime{background:transparent url('../../../images/portal/2611fangamer/obi.svg') center top/100% 100% no-repeat;color:var(--navy);position:relative}.lime:before,.lime:after{content:none}.lime:before{top:-7px}.lime:after{bottom:-7px;transform:rotate(180deg)}.about{padding:65px 20px 66px;text-align:center}.small-label{font:10px Arial,sans-serif;font-weight:700;letter-spacing:3px}.about .small-label{font-size:9px;opacity:.8}.about p{font-size:clamp(15px,1.65vw,22px);font-weight:700;line-height:1.8;letter-spacing:1px;margin:28px 0}.about p:last-child{margin-bottom:0}.first{max-width:1100px;margin:auto;padding:100px 40px 0}.section-heading{text-align:center;margin:0 -20px 40px;padding:22px 0 20px;position:relative}.section-heading:before{content:"";position:absolute;inset:0 -100vw;z-index:-1;background:#14253d92}.section-heading>.small-label{color:var(--muted);font-size:9px}.section-heading h1{margin:9px 0 4px;font:italic 900 clamp(66px,9vw,122px)/1 Arial,Helvetica,sans-serif;letter-spacing:-4px;-webkit-text-stroke:1px var(--lime);color:transparent}.section-heading p{color:var(--lime);font-weight:500;font-size:13px;letter-spacing:5px;margin:10px 0 0}.visual-wrap{position:relative}.main-visual{display:block;width:100%;height:auto;box-shadow:0 20px 60px #12243e42}.visual-number{position:absolute;top:16px;left:22px;font:9px Arial,sans-serif;letter-spacing:2px;color:var(--muted);z-index:1}.project-info{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;max-width:760px;margin:26px auto 0;gap:45px}.game-logo{width:100%;height:auto}.project-copy{border-left:1px solid #a9bdce55;padding-left:35px}.project-copy .small-label{color:var(--lime);font-size:10px;letter-spacing:2px}.project-copy p{font-size:16px;line-height:1.75;letter-spacing:1px;margin:13px 0}.coming{display:flex;align-items:center;justify-content:center;gap:18px;color:#ff324c;font-size:23px;letter-spacing:4px;font-weight:800;margin:32px 0}.coming span{height:1px;width:35px;background:#ff324c}.more{text-align:center;padding:115px 0 135px}.more .plus{color:var(--lime);font-size:26px;font-weight:200}.more p{font:600 36px Georgia,serif;letter-spacing:4px;margin:12px 0 20px}.more>.small-label{color:var(--muted);font-size:8px;letter-spacing:3px}.footer{text-align:center;padding:40px 30px 35px}.footer>img{display:block;width:185px;height:auto;margin:0 auto 8px;filter:brightness(0) saturate(100%) invert(22%) sepia(22%) saturate(1102%) hue-rotate(178deg) brightness(95%) contrast(91%)}.footer p{font-size:10px;letter-spacing:.5px}.footer small{font:9px Arial,sans-serif;letter-spacing:.2px}.back-top{position:absolute;right:35px;top:45px;border:1px solid #2b426850;width:40px;height:40px;text-decoration:none;display:grid;place-items:center;font-size:20px}.back-top:hover{background:var(--navy);color:var(--lime)}.reveal{opacity:0;transform:translateY(26px);transition:opacity 1s ease,transform 1s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:translateY(0)}
.intro{position:fixed;inset:0;z-index:50;pointer-events:none;animation:intro-hide .1s 2.4s forwards}.intro-half{position:absolute;left:0;right:0;background:#12223b;height:50.2%;animation:open-top 1s 1.65s cubic-bezier(.77,0,.18,1) forwards}.intro-half.top{top:0}.intro-half.bottom{bottom:0;animation-name:open-bottom}.intro-content{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;animation:intro-content-out .35s 1.4s both}.intro-content>span{font:9px Arial,sans-serif;letter-spacing:3px;color:var(--muted);animation:fade-in .5s .15s both}.intro-content strong{font:italic 900 clamp(22px,5vw,64px)/1.2 Arial,sans-serif;letter-spacing:-1px;color:var(--white);margin:24px 0;animation:fade-in .5s .3s both}.intro-content i{width:220px;height:2px;background:var(--lime);transform-origin:left;animation:line-grow 1.2s .1s both}.intro-content small{color:var(--lime);font:8px Arial,sans-serif;letter-spacing:4px;margin-top:20px;animation:fade-in .5s .5s both}.entering .hero-inner{animation:hero-in 1.4s 1.65s both}.entering .marquee{animation:fade-in 1s 2s both}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes scroll{50%{transform:translateY(7px);opacity:.5}}@keyframes line-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes fade-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes open-top{to{transform:translateY(-101%)}}@keyframes open-bottom{to{transform:translateY(101%)}}@keyframes intro-content-out{to{opacity:0;transform:scale(1.04)}}@keyframes intro-hide{to{visibility:hidden}}@keyframes hero-in{from{opacity:0;filter:blur(12px);transform:translate(-50%,-45%) scale(1.05)}to{opacity:1;filter:blur(0);transform:translate(-50%,-50%) scale(1)}}
@media(min-width:1500px){.ornament{width:350px;background-size:350px}.ornament.left{left:-30px}.ornament.right{right:-30px}}@media(max-width:700px){.hero{height:87svh;min-height:540px;max-height:760px}.topbar{top:20px;left:20px;right:20px}.edition{font-size:7px;letter-spacing:1.2px}.replay{font-size:7px;letter-spacing:1px}.hero-inner{top:44%;width:88%}.hero-eyebrow{font-size:8px;letter-spacing:2.8px;margin-bottom:25px}.brand-lockup{grid-template-columns:1fr 40px 1fr;gap:10px}.cross{width:40px;height:40px}.hero-note{font-size:10px;letter-spacing:3px;margin-top:26px}.scroll-cue{bottom:115px}.scroll-cue span{font-size:7px;letter-spacing:2px}.scroll-cue i{height:25px;margin-top:10px}.marquee-track>span{font-size:88px;letter-spacing:-4px}.ornament{width:180px;background-size:180px}.ornament.left{left:-89px}.ornament.right{right:-89px}.about{padding:40px 14px 43px}.about p{font-size:14px;line-height:1.9;letter-spacing:.4px;margin:23px 0}.about .small-label{font-size:7px}.first{padding:65px 24px 0}.section-heading{margin:0 -24px 25px}.section-heading h1{font-size:clamp(60px,14vw,96px);letter-spacing:-2px}.section-heading p{font-size:11px}.section-heading>.small-label{font-size:7px}.visual-number{font-size:6px;left:13px;top:12px;letter-spacing:1px}.project-info{gap:15px;margin-top:19px;grid-template-columns:.95fr 1.05fr}.project-copy{padding-left:14px}.project-copy .small-label{font-size:8px;letter-spacing:.5px}.project-copy p{font-size:11px;line-height:1.65;letter-spacing:0;margin:8px 0}.coming{font-size:19px;letter-spacing:2px;gap:12px;margin-top:25px}.coming span{width:18px}.more{padding:80px 0 100px}.more p{font-size:29px}.more>.small-label{font-size:7px;letter-spacing:2px}.footer{padding:30px 15px 28px}.footer>img{width:155px}.footer p{font-size:8px}.footer small{font-size:7px}.back-top{right:20px;top:25px;width:30px;height:30px;font-size:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.intro{display:none}.reveal{opacity:1;transform:none}}

/* Ethnocentric outline artwork: two identical units form one seamless loop. */
.marquee-track{animation-duration:48s;align-items:center}
.marquee-track>span{display:flex;flex:none;align-items:center;padding:0 52px 0 0;font-size:0;line-height:0;letter-spacing:0;-webkit-text-stroke:0}
.marquee-track img{display:block;flex:none;height:clamp(64px,7.5vw,118px);width:auto;max-width:none}
@media(max-width:700px){.marquee-track>span{padding-right:32px}}

/* Use the complete obi for the introduction and its upper half for the footer. */
.about{min-height:500px;display:grid;place-items:center}
.footer{background-size:100% 200%;background-position:center top;min-height:250px}
@media(max-width:700px){.about{min-height:390px}.footer{min-height:195px}}

/* SVG section title and hero frame */
.section-heading{padding:0}
.section-heading::before{content:none}
.section-heading h1{margin:0;font-size:0;line-height:0;letter-spacing:0;-webkit-text-stroke:0}
.section-heading h1 img{display:block;width:100%;height:auto;margin:0 auto}
.hero{background:none}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:url('../../../images/portal/2611fangamer/bg_top.svg') center/100% 100% no-repeat;pointer-events:none}
.background .ornament{top:clamp(640px,100svh,880px)}
@media(max-width:700px){.background .ornament{top:clamp(540px,87svh,760px)}}

/* One complete background image below the hero. */
.background .ornament{display:none}
.background::after{content:"";position:absolute;top:clamp(640px,100svh,880px);right:0;bottom:0;left:0;background:url('../../../images/portal/2611fangamer/game-pattern.svg') center top/100% auto repeat-y;pointer-events:none}
@media(max-width:700px){.background::after{top:clamp(540px,87svh,760px)}}

/* Current background placement and cleaned presentation. */
.hero::before{background-image:url('../../../images/portal/2611fangamer/bg_top_pc.svg');background-size:cover;background-position:center;background-repeat:no-repeat}
.footer>img{filter:none}
.background::after{display:none}
.first{position:relative;isolation:isolate}
.first::before{content:"";position:absolute;top:0;left:50%;width:100vw;height:100%;transform:translateX(-50%);z-index:-1;background:url('../../../images/portal/2611fangamer/game-pattern.svg') center top/100% auto repeat-y;pointer-events:none}
.project-copy{border-left:0;padding-left:0}
.scroll-cue{display:block;color:var(--muted);line-height:0}
.scroll-cue:hover{color:var(--lime)}
.scroll-cue svg{display:block;width:32px;height:32px}
.intro-content>span{font-size:clamp(9px,1.4vw,15px);letter-spacing:2px;text-align:center}
.intro-content strong{font-size:clamp(20px,5vw,64px);text-align:center;white-space:nowrap}
@media(max-width:700px){.hero::before{background-image:url('../../../images/portal/2611fangamer/bg_top_sp.svg')}.project-copy{padding-left:0}.intro-content>span{letter-spacing:1px}}

/* フッターのロゴを横並びに */
.footer-logos {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
  margin: 0 auto 20px;
}

.footer-logos a {
  display: block;
  width: 185px;
}

.footer-logos img {
  display: block;
  width: 100%;
  height: auto;
  filter: none;
}

@media (max-width: 700px) {
  .footer-logos {
    gap: 24px;
  }

  .footer-logos a {
    width: min(36vw, 155px);
  }
}

/* 入場演出のメイン文字を緑に */
.intro-content strong {
  color: var(--lime);
}