:root{--color-bg: #050003;--color-bg-deep: #1a0000;--color-bg-elevated: #170308;--color-accent: #7f0000;--color-accent-soft: #b71c1c;--color-accent-glow: rgba(255, 80, 80, .55);--color-text-main: #f5f1ea;--color-text-muted: #b9a7a0;--color-border-soft: rgba(255, 255, 255, .08);--shadow-soft: 0 18px 40px rgba(0, 0, 0, .8);--header-height: 68px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body.site-body{min-height:100vh;background:radial-gradient(circle at top,#4a0000 0,transparent 55%),radial-gradient(circle at bottom,#100000 0,#050003 55%);color:var(--color-text-main);font-family:Noto Sans JP,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.7}.wrapper{width:100%;max-width:1120px;margin:0 auto;padding-inline:16px}.site-body{position:relative}.site-body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(circle at top left,rgba(255,255,255,.05),transparent),radial-gradient(circle at bottom right,rgba(255,0,0,.18),transparent);mix-blend-mode:screen;opacity:.16;z-index:-1}.skip-link{position:absolute;left:-999px;top:8px;padding:8px 12px;background:#000;color:#fff;z-index:1000}.skip-link:focus{left:8px}.site-header{position:fixed;inset-inline:0;top:0;height:var(--header-height);z-index:50;background:linear-gradient(to bottom,rgba(5,0,3,.9),rgba(5,0,3,.7),transparent);backdrop-filter:blur(10px)}.site-header-inner{display:flex;align-items:center;justify-content:space-between;height:100%}.site-logo img{height:40px;width:auto;display:block;filter:drop-shadow(0 0 12px rgba(0,0,0,.8))}.site-nav{display:flex;gap:20px;font-size:.85rem;letter-spacing:.18em;text-transform:uppercase}.site-nav a{color:var(--color-text-muted);text-decoration:none;position:relative;padding-block:4px}.site-nav a:after{content:"";position:absolute;left:0;bottom:-3px;width:0;height:2px;background:linear-gradient(to right,var(--color-accent-soft),var(--color-accent-glow));transition:width .2s ease-out}.site-nav a:hover,.site-nav a:focus-visible{color:var(--color-text-main)}.site-nav a:hover:after,.site-nav a:focus-visible:after{width:100%}.kv-banner{margin-top:var(--header-height);position:relative;overflow:hidden;background:#000;box-shadow:0 18px 40px #000000e6}.kv-banner-image{display:block;width:100%;height:auto;object-fit:cover}.hero{position:relative;min-height:520px;padding-top:32px;display:flex;align-items:stretch;justify-content:center;overflow:hidden;background:radial-gradient(circle at top,#2a0000 0,#050003 60%)}.hero-bg{position:absolute;inset:0;z-index:0;background:radial-gradient(circle at center,rgba(255,80,80,.28),transparent 55%),linear-gradient(to bottom,#000000e6,#050003fa)}.hero-overlay{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle at center,transparent 0,rgba(0,0,0,.7) 60%)}.hero-content{position:relative;z-index:2;padding-block:64px 56px;display:flex;flex-direction:column;justify-content:flex-end;gap:24px}.hero-title-block{max-width:460px}.hero-logo{width:min(100%,420px);height:auto;display:block;filter:drop-shadow(0 10px 30px rgba(0,0,0,.9))}.hero-tagline{margin-top:20px;font-family:Shippori Mincho,Yu Mincho,Hiragino Mincho ProN,MS PMincho,serif;font-size:1.4rem;letter-spacing:.3em;text-indent:.3em;color:#ffe5d6;text-shadow:0 0 10px rgba(0,0,0,.8)}.hero-copy{margin:0;max-width:600px;font-size:.98rem;color:var(--color-text-main);text-shadow:0 0 12px rgba(0,0,0,.9)}.hero-copy-sub{color:var(--color-text-muted)}.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1.8rem;border-radius:999px;border:1px solid rgba(255,255,255,.3);font-size:.92rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--color-text-main);position:relative;overflow:hidden;cursor:pointer;backdrop-filter:blur(4px);transition:transform .12s ease-out,box-shadow .12s ease-out,border-color .12s ease-out,background .12s ease-out}.btn:before{content:"";position:absolute;inset:0;opacity:0;background:radial-gradient(circle at top left,rgba(255,255,255,.18),transparent 55%);transition:opacity .15s ease-out}.btn-primary{background:linear-gradient(to right,var(--color-accent),var(--color-accent-soft));box-shadow:0 0 24px #ff404073;border-color:#ffc8c899}.btn-ghost{background:#0006}.btn:hover,.btn:focus-visible{transform:translateY(-1px);box-shadow:0 0 26px #000000d9;border-color:#ffffffb3}.btn:hover:before,.btn:focus-visible:before{opacity:1}.section{padding-block:64px;position:relative}.section-dark{background:radial-gradient(circle at top center,rgba(120,0,0,.4),transparent 55%),linear-gradient(to bottom,#050003,#120004)}.section-border{background:linear-gradient(to bottom,#120004,#050003);border-top:1px solid var(--color-border-soft);border-bottom:1px solid var(--color-border-soft)}.section-inner{display:flex;flex-direction:column;gap:28px}.section-flex{gap:40px}.section-header{display:flex;flex-direction:column;gap:6px}.section-kicker{font-size:.72rem;letter-spacing:.25em;text-transform:uppercase;color:var(--color-text-muted)}.section-title{font-family:Shippori Mincho,Yu Mincho,Hiragino Mincho ProN,serif;font-size:1.6rem;letter-spacing:.18em}.section-title-ja{font-size:1.4rem}.section-body{font-size:.96rem;color:var(--color-text-main)}.section-body p{margin:0 0 .9em}.lead-text{font-size:1.02rem;color:#ffe1d0}.section-block{flex:1 1 0}.spec-list{margin:0;padding:16px 18px;border-radius:14px;border:1px solid var(--color-border-soft);background:linear-gradient(145deg,#0a0002f2,#230005f5);box-shadow:var(--shadow-soft);font-size:.9rem}.spec-list>div{display:grid;grid-template-columns:minmax(80px,120px) 1fr;gap:4px 18px;padding-block:8px;border-bottom:1px solid rgba(255,255,255,.06)}.spec-list>div:last-child{border-bottom:none}.spec-list dt{color:var(--color-text-muted);font-size:.8rem}.spec-list dd{margin:0}.feature-card{border-radius:14px;padding:18px 18px 16px;border:1px solid var(--color-border-soft);background:radial-gradient(circle at top,rgba(255,115,115,.12),transparent 55%),radial-gradient(circle at bottom,rgba(0,0,0,.8),transparent 55%),linear-gradient(145deg,#050002f2,#1e0004fa);box-shadow:var(--shadow-soft);font-size:.9rem}.feature-title{font-family:Shippori Mincho,Yu Mincho,Hiragino Mincho ProN,serif;font-size:1.1rem;margin:0 0 10px}.feature-list{margin:0 0 8px;padding-left:1.1em}.feature-list li{margin-bottom:4px}.feature-note{margin:0;font-size:.76rem;color:var(--color-text-muted)}.character-slider{position:relative;overflow:hidden;padding-top:8px}.character-track{display:flex;transition:transform .4s ease-out}.character-card{position:relative;flex:0 0 100%;max-width:420px;margin-inline:auto;border-radius:18px;padding:16px 16px 20px;border:1px solid var(--color-border-soft);background:radial-gradient(circle at top,rgba(255,120,120,.16),transparent 55%),linear-gradient(145deg,#050003,#220006);box-shadow:var(--shadow-soft);display:flex;flex-direction:column;align-items:center}.character-image{width:100%;max-width:360px;margin-bottom:14px}.character-image img{display:block;width:100%;height:auto;object-fit:contain;filter:drop-shadow(0 18px 32px rgba(0,0,0,.95))}.character-meta{text-align:center}.character-tag{margin:0 0 4px;font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;color:var(--color-text-muted)}.character-name{margin:0 0 6px;font-family:Shippori Mincho,Yu Mincho,serif;font-size:1.1rem}.character-text{margin:0;font-size:.86rem;color:var(--color-text-main);opacity:.9}.character-controls{position:absolute;inset-block:50%;inset-inline:0;display:flex;justify-content:space-between;pointer-events:none}.character-arrow{pointer-events:auto;border:none;border-radius:50%;width:32px;height:32px;margin-inline:8px;background:#0009;color:#fff;font-size:1.4rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease-out,transform .1s ease-out,opacity .15s ease-out}.character-arrow:hover,.character-arrow:focus-visible{background:#ffffff2e;transform:translateY(-1px)}.character-arrow:disabled{opacity:.25;cursor:default}@media(min-width:768px){.character-card{flex:0 0 50%;max-width:none;padding-inline:20px}.character-slider{padding-inline:8px}.character-arrow{width:36px;height:36px;font-size:1.6rem}}.links-grid{display:grid;gap:20px}.link-card{display:block;padding:18px 18px 16px;border-radius:16px;border:1px solid var(--color-border-soft);text-decoration:none;background:radial-gradient(circle at top left,rgba(255,120,120,.18),transparent 55%),linear-gradient(145deg,#050003,#190005);box-shadow:var(--shadow-soft);color:var(--color-text-main);transition:transform .14s ease-out,box-shadow .14s ease-out,border-color .14s ease-out,background .14s ease-out}.link-card:hover,.link-card:focus-visible{transform:translateY(-2px);border-color:#ffb4b4b3;box-shadow:0 18px 40px #000000f2;background:radial-gradient(circle at top left,rgba(255,160,160,.28),transparent 60%),linear-gradient(145deg,#120004,#250007)}.link-label{font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--color-text-muted);margin:0 0 4px}.link-title{font-family:Shippori Mincho,serif;font-size:1.1rem;margin:0 0 6px}.link-desc{margin:0;font-size:.86rem}.site-footer{padding-block:26px 28px;background:#050003;border-top:1px solid var(--color-border-soft)}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.footer-logo{display:inline-flex;align-items:center}.footer-logo img{height:48px;width:auto;display:block;filter:drop-shadow(0 0 10px rgba(0,0,0,.8));transition:height .2s ease-out}@media(max-width:767px){.footer-logo img{height:36px}}.footer-copy{font-size:.74rem;color:var(--color-text-muted)}.sp-only{display:inline}@media(min-width:768px){.hero-content{padding-block:96px 80px}.hero-tagline{font-size:1.6rem}.hero-copy{font-size:1.02rem}.section{padding-block:80px}.section-inner.section-flex{flex-direction:row;align-items:flex-start}#spec .section-inner.section-flex .section-block:last-child{margin-top:135px}.links-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-only{display:none}}@media(max-width:767px){.site-header-inner{justify-content:space-between}.site-nav{gap:12px;font-size:.7rem}.hero{min-height:100vh}.hero-content{padding-block:70px 40px}.hero-logo{width:min(100%,340px)}.hero-tagline{font-size:1.2rem}.section{padding-block:52px}.spec-list>div{grid-template-columns:minmax(72px,100px) 1fr}}
