*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:#fff;background:#000;margin:0;font-family:Noto Serif JP,serif}a{color:inherit;text-decoration:none}.page{background:#000;min-height:100vh}.topbar{z-index:20;background:#000000eb;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;height:88px;padding:0 28px;display:flex;position:sticky;top:0}.logo-area{flex-direction:column;justify-content:center;min-width:160px;line-height:1.05;display:flex}.logo-main{letter-spacing:.08em;font-size:1.8rem;font-weight:700}.logo-sub{color:#ffffffb8;letter-spacing:.14em;margin-top:4px;font-size:.72rem}.nav{flex:1;justify-content:center;align-items:center;display:flex}.nav a{letter-spacing:.1em;white-space:nowrap;padding:10px 18px;font-size:1.15rem;font-weight:700}.hero{background-image:linear-gradient(#0003,#000000b8),url(/top.png);background-position:50%;background-repeat:no-repeat;background-size:cover;min-height:calc(100vh - 88px)}.hero-overlay{background:linear-gradient(90deg,#00000085,#0003,#00000085);justify-content:center;align-items:center;min-height:calc(100vh - 88px);padding:56px 20px 72px;display:flex}.hero-inner{text-align:center;width:100%;max-width:960px;padding:48px 24px}.mini{letter-spacing:.3em;color:#ffffffc7;margin:0 0 16px;font-size:.82rem}.hero h1{letter-spacing:.08em;text-shadow:0 2px 12px #0000008c;margin:0;font-size:clamp(2.8rem,7vw,5.8rem);font-weight:700}.desc{color:#ffffffe0;text-shadow:0 2px 10px #00000080;width:100%;max-width:720px;margin:24px auto 0;font-size:1.2rem;line-height:1.9}.hero-button{letter-spacing:.08em;background:#00000047;border:1px solid #ffffff80;margin-top:32px;padding:14px 28px;font-weight:700;transition:all .2s;display:inline-block}.hero-button:hover{color:#000;background:#fff}.news{max-width:1100px;margin:0 auto;padding:90px 20px 40px}.news-list{gap:18px;display:grid}.news-card{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff0a;border:1px solid #ffffff1f;padding:22px 24px;transition:transform .2s,border-color .2s}.news-card:hover{border-color:#ffffff47;transform:translateY(-2px)}.news-date{letter-spacing:.14em;color:#fff9;margin:0 0 8px;font-size:.9rem}.news-heading{letter-spacing:.08em;margin:0 0 10px;font-size:1.35rem}.news-text{color:#ffffffd1;margin:0;line-height:1.9}@media (width<=768px){.news{padding:72px 16px 24px}.news-card{padding:18px 16px}.news-heading{font-size:1.1rem}}.characters{width:100%;max-width:1120px;margin:0 auto;padding:56px 20px 80px}.character-label{letter-spacing:.2em;color:#ffffffb3;margin-bottom:10px;font-size:1.5rem}.section-title-wrap{margin-bottom:32px}.section-mini{letter-spacing:.28em;color:#ffffff8c;margin:0 0 8px;font-size:.78rem}.section-title{letter-spacing:.08em;margin:0;font-size:2rem}.character-feature{background:#ffffff0a;border:1px solid #ffffff1a;grid-template-columns:420px 1fr;align-items:center;gap:32px;padding:28px;display:grid}.character-image{object-fit:cover;width:100%;height:520px}.character-text h3{letter-spacing:.08em;font-size:clamp(2rem,4vw,3rem)}.character-desc{line-height:2}@media (width<=900px){.character-feature{grid-template-columns:1fr}.character-image{height:360px}}.portal{max-width:1100px;margin:0 auto;padding:90px 20px 40px}.portal-card{background:#ffffff0a;border:1px solid #ffffff1f;margin-top:24px;text-decoration:none;transition:all .2s;display:block}.portal-card:hover{border-color:#ffffff4d;transform:translateY(-4px)}.portal-card img{object-fit:cover;width:100%;height:260px}.portal-content{padding:20px}.portal-content h3{margin:0 0 10px;font-size:1.4rem}.portal-content p{color:#fffc;margin:0;line-height:1.8}
