*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}:root{--primary:#0f172a;--primary-container:#1e293b;--secondary:#14b8a6;--on-secondary:#042f2e;--tertiary:#0891b2;--surface:#fff;--surface-dim:#f1f5f9;--surface-hi:#f0fdfa;--on-surface:#0f172a;--on-surface-var:#475569;--outline:#cbd5e1;--outline-var:#e2e8f0;--ff-ja:'Noto Sans JP' , sans-serif;--ff-display:'Zen Kaku Gothic New' , 'Noto Sans JP' , sans-serif;--ff-en:'Outfit' , sans-serif}html{scroll-behavior:smooth;overflow-x:hidden}body{font-family:var(--ff-ja);color:var(--on-surface);background:var(--surface);overflow-x:hidden}body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.025;background-image:url(data:image/svg+xml,%3Csvg\ viewBox=\'0\ 0\ 256\ 256\'\ xmlns=\'http://www.w3.org/2000/svg\'%3E%3Cfilter\ id=\'n\'%3E%3CfeTurbulence\ type=\'fractalNoise\'\ baseFrequency=\'.85\'\ numOctaves=\'4\'\ stitchTiles=\'stitch\'/%3E%3C/filter%3E%3Crect\ width=\'100%25\'\ height=\'100%25\'\ filter=\'url\(%23n\)\'/%3E%3C/svg%3E);background-repeat:repeat;background-size:180px}.skip-link{position:absolute;top:-100%;left:16px;z-index:200;background:var(--primary);color:var(--secondary);padding:12px 24px;border-radius:0 0 8px 8px;font-family:var(--ff-en);font-weight:700;font-size:14px;text-decoration:none;transition:top .2s}.skip-link:focus{top:0}:focus-visible{outline:2px solid var(--secondary);outline-offset:2px}.nav{position:fixed;top:0;left:0;width:100%;z-index:100;padding:0 48px;height:72px;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);box-shadow:0 1px 3px rgba(0,0,0,.04);transition:all .4s}.nav--hero{background:transparent;backdrop-filter:none;box-shadow:none}.nav--hero.scrolled{background:rgba(255,255,255,.94);backdrop-filter:blur(12px);box-shadow:0 1px 3px rgba(0,0,0,.04)}.nav-logo{font-family:var(--ff-en);font-weight:800;font-size:16px;letter-spacing:.25em;text-transform:uppercase;color:var(--primary);text-decoration:none}.nav-logo span{color:var(--secondary)}.nav-links{display:flex;gap:32px;align-items:center}.nav-links a{font-family:var(--ff-en);font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--on-surface-var);text-decoration:none;transition:color .2s}.nav-links a:hover,.nav-links a:focus-visible,.nav-links a.active{color:var(--secondary)}.nav-cta{display:inline-block;background:var(--primary);color:var(--secondary);font-family:var(--ff-en);font-weight:700;font-size:14px;letter-spacing:.08em;padding:12px 28px;border-radius:8px;text-decoration:none;transition:all .25s}.nav-cta:hover,.nav-cta:focus-visible{background:var(--primary-container)}.nav-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;z-index:101;background:none;border:none;-webkit-appearance:none;appearance:none}.nav-hamburger span{display:block;width:22px;height:2px;background:var(--primary);transition:all .3s;pointer-events:none}.nav-hamburger[aria-expanded="true"] span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.nav-hamburger[aria-expanded="true"] span:nth-child(2){opacity:0}.nav-hamburger[aria-expanded="true"] span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.nav-mobile{display:none;position:fixed;inset:0;background:rgba(255,255,255,.98);backdrop-filter:blur(20px);z-index:99;flex-direction:column;align-items:center;justify-content:center;gap:32px}.nav-mobile[aria-hidden="false"]{display:flex}.nav-mobile a{font-family:var(--ff-en);font-size:16px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--on-surface);text-decoration:none;transition:color .2s}.nav-mobile a:hover,.nav-mobile a:focus-visible,.nav-mobile a.active{color:var(--secondary)}.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease , transform .8s ease}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-left{opacity:0;transform:translateX(-40px);transition:opacity .8s ease , transform .8s ease}.reveal-left.visible{opacity:1;transform:translateX(0)}.reveal-scale{opacity:0;transform:scale(.92);transition:opacity .8s ease , transform .8s ease}.reveal-scale.visible{opacity:1;transform:scale(1)}.stagger>.reveal:nth-child(1){transition-delay:0s}.stagger>.reveal:nth-child(2){transition-delay:.12s}.stagger>.reveal:nth-child(3){transition-delay:.24s}.stagger>.reveal:nth-child(4){transition-delay:.36s}.btn-primary{display:inline-block;background:var(--secondary);color:#fff;font-family:var(--ff-en);font-weight:700;font-size:14px;letter-spacing:.08em;padding:18px 44px;border-radius:8px;text-decoration:none;transition:background .25s}.btn-primary:hover,.btn-primary:focus-visible{background:#2dd4bf}.breadcrumb{max-width:1600px;margin:0 auto;padding:0 80px 48px;display:flex;align-items:center;gap:8px;font-size:12px}.breadcrumb a{color:var(--on-surface-var);text-decoration:none;font-family:var(--ff-en);font-weight:500;letter-spacing:.04em;transition:color .2s}.breadcrumb a:hover,.breadcrumb a:focus-visible{color:var(--secondary)}.breadcrumb span{color:var(--outline)}.section-tag{font-family:var(--ff-en);font-weight:700;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--secondary);display:flex;align-items:center;gap:14px;margin-bottom:24px}.section-tag::before{content:'';width:32px;height:2px;background:var(--secondary)}.footer{background:var(--primary);color:rgba(255,255,255,.6);position:relative;overflow:hidden}.footer-top{max-width:1600px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;padding:56px 80px}.footer-brand{}.footer-logo{font-family:var(--ff-en);font-weight:800;font-size:20px;letter-spacing:.25em;text-transform:uppercase;color:#fff;margin-bottom:12px}.footer-logo span{color:var(--secondary)}.footer-meta{font-family:var(--ff-en);font-size:12px;letter-spacing:.14em;color:rgba(255,255,255,.35);text-transform:uppercase;margin-bottom:16px}.footer-tagline{font-family:var(--ff-display);font-weight:900;font-size:18px;color:rgba(255,255,255,.12);letter-spacing:.08em;margin-top:20px}.footer-col-title{font-family:var(--ff-en);font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--secondary);margin-bottom:20px}.footer-col-links{display:flex;flex-direction:column;gap:14px}.footer-col-links a{font-size:14px;color:rgba(255,255,255,.45);text-decoration:none;transition:color .2s;letter-spacing:.02em}.footer-col-links a:hover,.footer-col-links a:focus-visible{color:var(--secondary)}.footer-bottom{max-width:1600px;margin:0 auto;padding:24px 80px 32px;border-top:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-between;align-items:center}.footer-copy{font-family:var(--ff-en);font-size:12px;letter-spacing:.1em;color:rgba(255,255,255,.25)}.footer-social{display:flex;gap:20px}.footer-social a{color:rgba(255,255,255,.35);text-decoration:none;font-family:var(--ff-en);font-size:12px;letter-spacing:.1em;text-transform:uppercase;transition:color .2s}.footer-social a:hover,.footer-social a:focus-visible{color:var(--secondary)}@media (max-width:880px){.nav{padding:0 24px}.nav-links{display:none}.nav-hamburger{display:flex}.breadcrumb{padding:0 24px 32px}.footer-top{grid-template-columns:1fr;gap:32px;padding:40px 24px}.footer-bottom{flex-direction:column;gap:16px;align-items:flex-start;padding:20px 24px 24px}}@media (prefers-reduced-motion:reduce){.reveal,.reveal-left,.reveal-scale{opacity:1;transform:none;transition:none}}