:root{--ink: #1a1530;--violet: #6d28d9;--violet-bright: #8b5cf6;--violet-deep: #4c1d95;--bg: #ffffff;--bg-tint: #faf8ff;--soft: #f3effe;--muted: #5c5570;--border: #e9e4f5;--grad: linear-gradient(135deg, #7c3aed 0%, #4c1d95 100%);--maxw: 1120px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans JP", Roboto, sans-serif}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.75;font-size:16px;-webkit-font-smoothing:antialiased}.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(1.25rem,5vw,2.5rem)}a{color:var(--violet);text-decoration:none}a:hover{text-decoration:underline}.portal-header{position:sticky;top:0;z-index:20;background:#ffffffd9;backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--border)}.portal-header .inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.85rem}.brand{display:flex;align-items:center;gap:.55rem;font-weight:800;font-size:1.1rem;color:var(--ink);letter-spacing:.01em}.brand .mark{width:1.6rem;height:1.6rem;border-radius:7px;background:var(--grad);display:inline-grid;place-items:center;color:#fff;font-size:.85rem}.pnav{display:flex;align-items:center;gap:clamp(.6rem,2.2vw,1.6rem);font-size:.95rem;font-weight:600}.pnav a{color:var(--muted)}.pnav a:hover{color:var(--violet);text-decoration:none}.pnav a.muted{color:#b3abc9;pointer-events:none}.pnav .tag{font-size:.62rem;font-weight:700;color:var(--violet);border:1px solid var(--border);border-radius:999px;padding:.05rem .4rem;margin-left:.25rem;vertical-align:middle}@media(max-width:720px){.pnav{gap:.7rem;font-size:.82rem}.pnav .label-full{display:none}}.phero{position:relative;overflow:hidden;background:radial-gradient(1200px 400px at 80% -10%,rgba(139,92,246,.18),transparent 60%),radial-gradient(800px 300px at 0% 0%,rgba(76,29,149,.1),transparent 55%),var(--bg-tint);border-bottom:1px solid var(--border)}.phero .inner{padding-block:clamp(3.5rem,9vw,6.5rem)}.phero .eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--violet)}.phero h1{font-size:clamp(2.1rem,5.5vw,3.6rem);line-height:1.12;font-weight:850;letter-spacing:-.01em;margin-top:.8rem;max-width:18ch}.phero h1 .accent{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.phero .lead{margin-top:1.4rem;font-size:clamp(1rem,1.7vw,1.18rem);color:var(--muted);max-width:54ch}.phero .cta-row{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2.2rem}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.8rem 1.5rem;border-radius:10px;font-weight:700;font-size:.97rem;border:1.5px solid transparent;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease}.btn-primary{background:var(--grad);color:#fff;box-shadow:0 6px 20px #6d28d947}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 26px #6d28d957;text-decoration:none}.btn-ghost{border-color:var(--border);color:var(--ink);background:#fff}.btn-ghost:hover{border-color:var(--violet);color:var(--violet);text-decoration:none}section{padding-block:clamp(3rem,7vw,5rem)}.section-head h2{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;letter-spacing:-.01em}.section-head .sub{color:var(--muted);margin-top:.5rem;max-width:60ch}.rule{width:2.5rem;height:3px;background:var(--grad);border-radius:2px;margin-top:.7rem}.pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.1rem;margin-top:2.4rem}.pillar{display:block;border:1px solid var(--border);border-radius:16px;padding:1.5rem;background:#fff;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;position:relative}.pillar:hover{transform:translateY(-3px);box-shadow:0 14px 34px #1a15301a;border-color:#d9cffa;text-decoration:none}.pillar .ico{width:2.6rem;height:2.6rem;border-radius:12px;background:var(--soft);display:grid;place-items:center;font-size:1.3rem}.pillar h3{font-size:1.18rem;font-weight:800;margin-top:1rem;color:var(--ink)}.pillar .en{font-size:.72rem;font-weight:700;letter-spacing:.08em;color:var(--violet);text-transform:uppercase}.pillar p{color:var(--muted);font-size:.93rem;margin-top:.5rem}.pillar .go{margin-top:.9rem;font-weight:700;font-size:.9rem;color:var(--violet)}.pillar.soon{opacity:.7}.pillar.soon .badge{position:absolute;top:1.1rem;right:1.1rem;font-size:.65rem;font-weight:700;color:var(--muted);background:var(--soft);border-radius:999px;padding:.1rem .55rem}.feature{background:var(--bg-tint);border-block:1px solid var(--border)}.feature .grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(1.5rem,4vw,3rem);align-items:center}@media(max-width:800px){.feature .grid{grid-template-columns:1fr}}.feature .eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--violet)}.feature h2{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:800;margin-top:.5rem}.feature p{color:var(--muted);margin-top:.9rem}.feature .shot{border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:0 12px 30px #1a15301a;background:#fff}.feature .shot img{display:block;width:100%;height:auto}.cta{background:var(--ink);color:#fff;border-radius:0}.cta .inner{padding-block:clamp(2.5rem,6vw,4rem);text-align:center}.cta h2{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:800}.cta p{color:#c8c0e0;margin-top:.8rem;max-width:56ch;margin-inline:auto}.cta .cta-row{justify-content:center;margin-top:1.8rem;display:flex;gap:.8rem;flex-wrap:wrap}.cta .btn-ghost{background:transparent;color:#fff;border-color:#fff6}.cta .btn-ghost:hover{border-color:#fff;color:#fff}.pfooter{border-top:1px solid var(--border);padding-block:2.5rem;font-size:.88rem;color:var(--muted)}.pfooter .inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem}.pfooter a{color:var(--muted)}.pfooter a:hover{color:var(--violet)}.embed-head{padding-block:2rem 1rem}.embed-head h1{font-size:clamp(1.6rem,3.2vw,2.2rem);font-weight:800}.embed-head .crumb{font-size:.85rem;color:var(--muted);margin-bottom:.6rem}.embed-head p{color:var(--muted);margin-top:.7rem;max-width:70ch}.embed-frame{width:100%;height:78vh;min-height:560px;border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:0 10px 30px #1a153014}.embed-note{font-size:.82rem;color:var(--muted);margin-top:.8rem}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.pillar{transition:none}}
