/* ── RESET & BASE ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Noto Sans JP',sans-serif;overflow-x:hidden}

/* ── SWITCHER ── */
#psw{position:fixed;top:0;left:0;right:0;z-index:9999;background:#000;height:44px;display:flex;align-items:center;border-bottom:1px solid #1c1c1c;padding:0 16px}
#psw .lbl{font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:.18em;color:#3a3a3a;text-transform:uppercase;margin-right:16px;white-space:nowrap}
#psw button{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.08em;color:#4a4a4a;background:none;border:none;cursor:pointer;padding:0 14px;height:44px;border-right:1px solid #161616;transition:color .2s,background .2s;white-space:nowrap}
#psw button:hover{color:#fff;background:#111}
#psw button.active{color:#fff;background:#111}
.pw{padding-top:44px;min-height:100vh}

/* ── TWEAKS ── */
#tp{display:none;position:fixed;bottom:24px;right:24px;z-index:9998;background:rgba(5,5,5,.97);backdrop-filter:blur(20px);border:1px solid #222;border-radius:12px;padding:20px;width:240px;color:#fff;font-family:'IBM Plex Mono',monospace;font-size:11px}
#tp h4{font-size:9px;letter-spacing:.18em;color:#3a3a3a;margin-bottom:14px;text-transform:uppercase}
#tp label{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;color:#666;font-size:10px}
#tp select{background:#111;border:1px solid #333;color:#fff;border-radius:4px;padding:2px 6px;font-family:inherit;font-size:10px}

/* ── SCROLL REVEAL ── */
.sr{opacity:0;transform:translateY(36px);transition:opacity .8s ease,transform .8s ease}
.sr.visible{opacity:1;transform:none}
.sr-d1{transition-delay:.1s}.sr-d2{transition-delay:.2s}.sr-d3{transition-delay:.3s}.sr-d4{transition-delay:.4s}.sr-d5{transition-delay:.5s}

/* ═══════════════════════════════════════
   P6 — KINETIC TYPE
   Black #0d0d0d · Acid Yellow #d4ff00
   Font: Syne 800 + Noto Serif JP
═══════════════════════════════════════ */
.p6{background:#0d0d0d;color:#f0ebe0;font-family:'Syne',sans-serif}
.p6-nav{display:flex;justify-content:space-between;align-items:center;padding:0 60px;height:68px;position:sticky;top:44px;z-index:100;background:#0d0d0d;border-bottom:1px solid #1e1e1e}
.p6-logo{font-size:13px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#f0ebe0}
.p6-nl{display:flex;gap:32px;align-items:center}
.p6-nl a{color:#444;text-decoration:none;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;transition:color .2s}
.p6-nl a:hover{color:#f0ebe0}
.p6-cta{background:#d4ff00!important;color:#0d0d0d!important;padding:10px 24px;font-weight:800!important}

.p6-hero{display:grid;grid-template-columns:1fr 320px;min-height:calc(100vh - 112px);border-bottom:1px solid #1e1e1e;overflow:hidden}
.p6-hl{padding:80px 60px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid #1e1e1e;overflow:hidden}
.p6-lw{overflow:hidden;margin-bottom:2px}
.p6-line{font-size:clamp(60px,8vw,116px);font-weight:800;line-height:.93;letter-spacing:-.03em;text-transform:uppercase;color:#f0ebe0;display:block;transform:translateY(110%);animation:p6sl .85s cubic-bezier(.16,1,.3,1) forwards}
.p6-lw:nth-child(1) .p6-line{animation-delay:.05s}
.p6-lw:nth-child(2) .p6-line{animation-delay:.18s}
.p6-lw:nth-child(3) .p6-line{color:#d4ff00;animation-delay:.31s}
.p6-lw:nth-child(4) .p6-line{animation-delay:.44s}
@keyframes p6sl{to{transform:translateY(0)}}
.p6-sub{font-family:'Noto Serif JP',serif;font-size:14px;color:#484848;line-height:2;max-width:400px;margin-top:48px;animation:p6fd 1s .7s both}
.p6-hbtns{display:flex;gap:16px;margin-top:36px;animation:p6fd 1s .85s both}
@keyframes p6fd{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.p6-btn{background:#d4ff00;color:#0d0d0d;padding:14px 36px;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;border:none;cursor:pointer;font-family:'Syne',sans-serif;transition:opacity .2s}
.p6-btn:hover{opacity:.82}
.p6-btn-o{background:none;border:1px solid #2a2a2a;color:#555;padding:14px 36px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;font-family:'Syne',sans-serif;transition:all .2s}
.p6-btn-o:hover{border-color:#f0ebe0;color:#f0ebe0}

.p6-hr{display:flex;flex-direction:column;overflow:hidden;position:relative}
.p6-ticker{flex:1;overflow:hidden}
.p6-ti{display:flex;flex-direction:column;animation:p6tv 22s linear infinite}
.p6-tick{padding:18px 28px;border-bottom:1px solid #1e1e1e;font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:.18em;color:#363636;text-transform:uppercase;white-space:nowrap}
@keyframes p6tv{0%{transform:translateY(0)}100%{transform:translateY(-50%)}}
.p6-yr{position:absolute;bottom:28px;right:24px;font-size:88px;font-weight:800;color:#171717;line-height:1;user-select:none;pointer-events:none}

.p6-svc{border-bottom:1px solid #1e1e1e}
.p6-svch{padding:60px 60px 40px;display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1px solid #1e1e1e}
.p6-svch h2{font-size:34px;font-weight:800;text-transform:uppercase;letter-spacing:-.02em}
.p6-svch p{font-family:'Noto Sans JP',sans-serif;font-size:13px;color:#4a4a4a;max-width:340px;line-height:1.9}
.p6-si{display:grid;grid-template-columns:72px 1fr 280px 100px;align-items:center;padding:0 60px;height:80px;border-bottom:1px solid #1e1e1e;cursor:pointer;transition:background .2s,padding .3s}
.p6-si:hover{background:#111}
.p6-si.open{grid-template-columns:72px 1fr;grid-template-rows:auto auto;height:auto;min-height:80px;padding:32px 60px;background:#0f0f0f}
.p6-si.open .p6-sdesc,.p6-si.open .p6-st{display:flex}
.p6-sdesc,.p6-st{display:none}
.p6-snum{font-family:'IBM Plex Mono',monospace;font-size:11px;color:#d4ff00;letter-spacing:.1em}
.p6-sname{font-size:19px;font-weight:800;text-transform:uppercase;letter-spacing:-.01em}
.p6-sdesc{font-family:'Noto Sans JP',sans-serif;font-size:13px;color:#4a4a4a;line-height:1.9;grid-column:2;margin-top:12px}
.p6-st{gap:8px;flex-wrap:wrap;grid-column:2;margin-top:12px}
.p6-stag{font-family:'IBM Plex Mono',monospace;font-size:9px;border:1px solid #2a2a2a;padding:3px 10px;color:#4a4a4a;letter-spacing:.08em}
.p6-sarrow{font-size:20px;color:#2a2a2a;justify-self:end;transition:transform .3s}
.p6-si.open .p6-sarrow{transform:rotate(45deg);color:#d4ff00}

.p6-why{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #1e1e1e;border-bottom:1px solid #1e1e1e}
.p6-wc{padding:60px 48px;border-right:1px solid #1e1e1e;position:relative;overflow:hidden}
.p6-wc:last-child{border-right:none}
.p6-wc::before{content:attr(data-n);position:absolute;top:-20px;right:-8px;font-size:120px;font-weight:800;color:#151515;line-height:1;z-index:0;transition:color .3s}
.p6-wc:hover::before{color:#1e1e1e}
.p6-wc>*{position:relative;z-index:1}
.p6-wtitle{font-size:18px;font-weight:800;text-transform:uppercase;margin-bottom:16px}
.p6-wtext{font-family:'Noto Sans JP',sans-serif;font-size:13px;color:#4a4a4a;line-height:2}

.p6-ct{padding:100px 60px;background:#d4ff00;color:#0d0d0d}
.p6-ct h2{font-size:52px;font-weight:800;text-transform:uppercase;letter-spacing:-.02em;margin-bottom:52px}
.p6-ctg{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.p6-ctl p{font-family:'Noto Sans JP',sans-serif;font-size:14px;color:rgba(13,13,13,.55);line-height:2}
.p6-form .fr{margin-bottom:20px}
.p6-form label{display:block;font-size:9px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:rgba(13,13,13,.4);margin-bottom:6px}
.p6-form input,.p6-form select,.p6-form textarea{width:100%;background:rgba(13,13,13,.07);border:none;border-bottom:2px solid rgba(13,13,13,.2);color:#0d0d0d;padding:12px 0;font-family:'Noto Sans JP',sans-serif;font-size:14px;outline:none;transition:border-color .2s}
.p6-form input:focus,.p6-form select:focus,.p6-form textarea:focus{border-color:#0d0d0d}
.p6-form textarea{height:96px;resize:none}
.p6-bdk{background:#0d0d0d;color:#d4ff00;padding:16px 40px;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;border:none;cursor:pointer;font-family:'Syne',sans-serif;transition:opacity .2s}
.p6-bdk:hover{opacity:.82}
.p6-ft{padding:32px 60px;background:#0d0d0d;border-top:1px solid #1e1e1e;display:flex;justify-content:space-between;align-items:center}
.p6-ftc{font-family:'IBM Plex Mono',monospace;font-size:9px;color:#282828;letter-spacing:.12em}

/* ═══════════════════════════════════════
   P7 — PARTICLE COSMOS
   Deep space #060a10 · Cyan #00ffd0
   Font: Space Grotesk + IBM Plex Mono
═══════════════════════════════════════ */
.p7{background:#060a10;color:#d0eeff;font-family:'Space Grotesk',sans-serif}
#p7cv{position:fixed;top:44px;left:0;right:0;bottom:0;z-index:0;pointer-events:none}
.p7c{position:relative;z-index:1}
.p7-nav{display:flex;justify-content:space-between;align-items:center;padding:0 64px;height:72px;position:sticky;top:44px;z-index:100;border-bottom:1px solid rgba(0,220,200,.07);background:rgba(6,10,16,.85);backdrop-filter:blur(24px)}
.p7-logo{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.2em;color:#00ffd0;text-transform:uppercase}
.p7-nl{display:flex;gap:36px;align-items:center}
.p7-nl a{color:rgba(208,238,255,.3);text-decoration:none;font-size:12px;letter-spacing:.06em;transition:color .2s}
.p7-nl a:hover{color:#00ffd0}
.p7-cta{border:1px solid rgba(0,255,208,.35)!important;color:#00ffd0!important;padding:8px 20px;font-size:11px!important;transition:all .2s}
.p7-cta:hover{background:rgba(0,255,208,.07)!important}

.p7-hero{padding:140px 64px 120px;min-height:calc(100vh - 116px);display:flex;flex-direction:column;justify-content:center}
.p7-ey{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.25em;color:rgba(0,255,208,.55);text-transform:uppercase;margin-bottom:40px;display:flex;align-items:center;gap:16px;animation:p7up 1s .2s both}
.p7-ey::before{content:'';width:40px;height:1px;background:rgba(0,255,208,.35)}
@keyframes p7up{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.p7-title{font-size:clamp(50px,7vw,96px);font-weight:700;line-height:1.02;letter-spacing:-.03em;color:#d0eeff;max-width:840px;animation:p7up 1s .35s both}
.p7-title span{color:#00ffd0}
.p7-sub{font-size:16px;color:rgba(208,238,255,.42);line-height:1.8;max-width:520px;margin-top:32px;margin-bottom:52px;animation:p7up 1s .5s both}
.p7-hb{display:flex;gap:16px;animation:p7up 1s .65s both}
.p7-bp{background:#00ffd0;color:#060a10;padding:14px 40px;font-size:13px;font-weight:700;border:none;cursor:pointer;font-family:'Space Grotesk',sans-serif;letter-spacing:.04em;transition:opacity .2s}
.p7-bp:hover{opacity:.82}
.p7-bo{background:none;border:1px solid rgba(208,238,255,.18);color:rgba(208,238,255,.55);padding:14px 40px;font-size:13px;cursor:pointer;font-family:'Space Grotesk',sans-serif;transition:all .2s}
.p7-bo:hover{border-color:#00ffd0;color:#00ffd0}

.p7-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(0,220,200,.07);border-top:1px solid rgba(0,220,200,.07);border-bottom:1px solid rgba(0,220,200,.07)}
.p7-stat{background:#060a10;padding:48px 40px}
.p7-sv{font-size:46px;font-weight:700;color:#00ffd0;margin-bottom:8px;letter-spacing:-.02em}
.p7-sl{font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:.18em;color:rgba(208,238,255,.28);text-transform:uppercase}

.p7-svc{padding:100px 64px;border-top:1px solid rgba(0,220,200,.07)}
.p7-stag{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.2em;color:rgba(0,255,208,.45);text-transform:uppercase;margin-bottom:16px}
.p7-stitle{font-size:28px;font-weight:600;color:#d0eeff;margin-bottom:56px}
.p7-sg{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.p7-sc{background:rgba(255,255,255,.025);border:1px solid rgba(0,220,200,.09);padding:36px 28px;cursor:pointer;transition:border-color .3s,transform .3s,box-shadow .3s}
.p7-sc:hover{border-color:rgba(0,255,208,.4);transform:translateY(-6px);box-shadow:0 24px 64px rgba(0,255,208,.07)}
.p7-sglow{width:28px;height:28px;border-radius:50%;background:radial-gradient(circle,rgba(0,255,208,.5),transparent);margin-bottom:24px;box-shadow:0 0 24px rgba(0,255,208,.25)}
.p7-sn{font-size:17px;font-weight:600;margin-bottom:14px;color:#d0eeff}
.p7-sd{font-family:'Noto Sans JP',sans-serif;font-size:12px;color:rgba(208,238,255,.38);line-height:1.9;margin-bottom:20px}
.p7-st2{display:flex;flex-wrap:wrap;gap:6px}
.p7-sg2{font-family:'IBM Plex Mono',monospace;font-size:9px;border:1px solid rgba(0,255,208,.14);padding:3px 8px;color:rgba(0,255,208,.45)}

.p7-why{padding:100px 64px;border-top:1px solid rgba(0,220,200,.07)}
.p7-wg{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px}
.p7-wc{border:1px solid rgba(0,220,200,.09);padding:44px;position:relative;transition:border-color .3s,transform .3s}
.p7-wc:hover{border-color:rgba(0,255,208,.3);transform:translateY(-4px)}
.p7-wn{font-family:'IBM Plex Mono',monospace;font-size:44px;font-weight:300;color:rgba(0,255,208,.07);line-height:1;margin-bottom:16px}
.p7-wt{font-size:17px;font-weight:600;margin-bottom:12px;color:#d0eeff}
.p7-wtx{font-family:'Noto Sans JP',sans-serif;font-size:13px;color:rgba(208,238,255,.38);line-height:1.9}

.p7-ct{padding:100px 64px;border-top:1px solid rgba(0,220,200,.07)}
.p7-ct h2{font-size:34px;font-weight:700;color:#d0eeff;margin-bottom:12px}
.p7-ct>p{font-family:'Noto Sans JP',sans-serif;font-size:14px;color:rgba(208,238,255,.38);margin-bottom:48px}
.p7-form .fr{margin-bottom:24px}
.p7-form label{display:block;font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:.18em;color:rgba(208,238,255,.22);text-transform:uppercase;margin-bottom:8px}
.p7-form input,.p7-form select,.p7-form textarea{width:100%;background:rgba(0,255,208,.028);border:1px solid rgba(0,220,200,.11);color:#d0eeff;padding:12px 16px;font-family:'Space Grotesk',sans-serif;font-size:14px;outline:none;transition:border-color .2s}
.p7-form input:focus,.p7-form select:focus,.p7-form textarea:focus{border-color:#00ffd0}
.p7-form textarea{height:110px;resize:vertical}
.p7-form select option{background:#060a10}
.p7-ft{padding:32px 64px;border-top:1px solid rgba(0,220,200,.07);display:flex;justify-content:space-between;align-items:center}
.p7-ftl{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.2em;color:#00ffd0;text-transform:uppercase}
.p7-ftc{font-family:'IBM Plex Mono',monospace;font-size:9px;color:rgba(208,238,255,.14)}

/* ═══════════════════════════════════════
   P8 — CINEMATIC
   Near black #090705 · Amber #f5a623
   Font: DM Serif Display + Noto Serif JP
═══════════════════════════════════════ */
.p8{background:#090705;color:#f0e8d8;font-family:'Noto Serif JP',serif}
.p8-nav{display:flex;justify-content:space-between;align-items:center;padding:0 72px;height:72px;position:sticky;top:44px;z-index:100;background:rgba(9,7,5,.88);backdrop-filter:blur(20px);border-bottom:1px solid rgba(245,166,35,.09)}
.p8-logo{font-family:'DM Serif Display',serif;font-size:17px;letter-spacing:.06em;color:#f0e8d8}
.p8-nl{display:flex;gap:40px;align-items:center}
.p8-nl a{color:rgba(240,232,216,.3);text-decoration:none;font-family:'Noto Sans JP',sans-serif;font-size:12px;letter-spacing:.08em;transition:color .2s}
.p8-nl a:hover{color:#f5a623}
.p8-cta{background:#f5a623!important;color:#090705!important;padding:10px 24px;font-family:'Noto Sans JP',sans-serif!important;font-size:12px!important;font-weight:700!important;letter-spacing:.06em!important}

.p8-hero{position:relative;min-height:calc(100vh - 116px);display:flex;align-items:flex-end;overflow:hidden;border-bottom:1px solid rgba(245,166,35,.09)}
.p8-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 65% 35%,rgba(245,166,35,.14) 0%,transparent 55%),radial-gradient(ellipse at 15% 85%,rgba(180,80,0,.1) 0%,transparent 50%)}
.p8-grain{position:absolute;inset:0;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%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)' opacity='.05'/%3E%3C/svg%3E")}
.p8-hc{position:relative;z-index:1;padding:80px 72px;width:100%}
.p8-hlabel{font-family:'Noto Sans JP',sans-serif;font-size:10px;letter-spacing:.3em;color:rgba(245,166,35,.55);text-transform:uppercase;margin-bottom:48px;animation:p8up 1s .2s both}
@keyframes p8up{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.p8-title{font-family:'DM Serif Display',serif;font-size:clamp(58px,8vw,118px);line-height:.95;color:#f0e8d8;margin-bottom:52px;animation:p8up 1s .38s both}
.p8-title em{font-style:italic;color:#f5a623}
.p8-hbottom{display:flex;justify-content:space-between;align-items:flex-end;animation:p8up 1s .56s both}
.p8-hsub{font-family:'Noto Sans JP',sans-serif;font-size:14px;color:rgba(240,232,216,.45);line-height:2;max-width:360px}
.p8-hbtns{display:flex;gap:16px}
.p8-btn{background:#f5a623;color:#090705;padding:16px 40px;font-family:'Noto Sans JP',sans-serif;font-size:13px;font-weight:700;letter-spacing:.06em;border:none;cursor:pointer;transition:opacity .2s}
.p8-btn:hover{opacity:.82}
.p8-btn-o{background:none;border:1px solid rgba(240,232,216,.18);color:rgba(240,232,216,.55);padding:16px 40px;font-family:'Noto Sans JP',sans-serif;font-size:13px;cursor:pointer;transition:all .2s}
.p8-btn-o:hover{border-color:#f5a623;color:#f5a623}

.p8-quote{padding:100px 72px;border-bottom:1px solid rgba(245,166,35,.09)}
.p8-qtxt{font-family:'DM Serif Display',serif;font-size:clamp(26px,3.8vw,50px);line-height:1.3;color:#f0e8d8;max-width:900px}
.p8-qtxt em{font-style:italic;color:#f5a623}
.p8-qattr{font-family:'Noto Sans JP',sans-serif;font-size:11px;color:rgba(240,232,216,.28);letter-spacing:.12em;margin-top:32px}

.p8-svc{padding:100px 72px;border-bottom:1px solid rgba(245,166,35,.09)}
.p8-sh{margin-bottom:60px}
.p8-stag{font-family:'Noto Sans JP',sans-serif;font-size:10px;letter-spacing:.28em;color:rgba(245,166,35,.45);text-transform:uppercase;margin-bottom:16px}
.p8-stitle{font-family:'DM Serif Display',serif;font-size:34px;color:#f0e8d8}
.p8-sl{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(245,166,35,.09)}
.p8-sc{background:#090705;padding:52px;cursor:pointer;transition:background .3s}
.p8-sc:hover{background:#0e0b07}
.p8-snum{font-family:'Noto Sans JP',sans-serif;font-size:9px;letter-spacing:.22em;color:rgba(245,166,35,.38);text-transform:uppercase;margin-bottom:24px}
.p8-sname{font-family:'DM Serif Display',serif;font-size:26px;margin-bottom:16px;color:#f0e8d8}
.p8-sdesc{font-family:'Noto Sans JP',sans-serif;font-size:13px;color:rgba(240,232,216,.45);line-height:2;margin-bottom:24px}
.p8-stags{display:flex;gap:8px;flex-wrap:wrap}
.p8-stg{font-family:'Noto Sans JP',sans-serif;font-size:11px;background:rgba(245,166,35,.09);padding:4px 12px;color:rgba(245,166,35,.55)}

.p8-why{padding:100px 72px;border-bottom:1px solid rgba(245,166,35,.09)}
.p8-wg{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:60px;margin-top:60px}
.p8-wi{font-family:'DM Serif Display',serif;font-size:24px;color:rgba(240,232,216,.3);line-height:1.4}
.p8-witem{}
.p8-wnum{font-family:'Noto Sans JP',sans-serif;font-size:9px;letter-spacing:.22em;color:rgba(245,166,35,.38);text-transform:uppercase;margin-bottom:16px}
.p8-wtitle{font-family:'DM Serif Display',serif;font-size:20px;color:#f0e8d8;margin-bottom:12px}
.p8-wtext{font-family:'Noto Sans JP',sans-serif;font-size:13px;color:rgba(240,232,216,.42);line-height:2}

.p8-ct{padding:100px 72px;background:#f5a623;color:#090705}
.p8-ct h2{font-family:'DM Serif Display',serif;font-size:46px;color:#090705;margin-bottom:12px}
.p8-ct>p{font-family:'Noto Sans JP',sans-serif;font-size:14px;color:rgba(9,7,5,.48);margin-bottom:52px}
.p8-ctg{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.p8-form .fr{margin-bottom:24px}
.p8-form label{display:block;font-family:'Noto Sans JP',sans-serif;font-size:10px;letter-spacing:.15em;color:rgba(9,7,5,.38);text-transform:uppercase;margin-bottom:6px}
.p8-form input,.p8-form select,.p8-form textarea{width:100%;background:none;border:none;border-bottom:1.5px solid rgba(9,7,5,.18);color:#090705;padding:12px 0;font-family:'Noto Sans JP',sans-serif;font-size:14px;outline:none;transition:border-color .2s}
.p8-form input:focus,.p8-form select:focus,.p8-form textarea:focus{border-color:#090705}
.p8-form textarea{height:100px;resize:none}
.p8-bdk{background:#090705;color:#f5a623;padding:16px 40px;font-family:'Noto Sans JP',sans-serif;font-size:13px;font-weight:700;border:none;cursor:pointer;transition:opacity .2s}
.p8-bdk:hover{opacity:.82}
.p8-ft{padding:32px 72px;border-top:1px solid rgba(245,166,35,.09);background:#090705;display:flex;justify-content:space-between;align-items:center}
.p8-ftl{font-family:'DM Serif Display',serif;font-size:14px;color:#f0e8d8}
.p8-ftc{font-family:'Noto Sans JP',sans-serif;font-size:11px;color:rgba(240,232,216,.18)}

/* ═══════════════════════════════════════
   P9 — GLASS VIVID
   #0d0118 mesh · Purple/Pink/Orange
   Font: Outfit + Noto Sans JP
═══════════════════════════════════════ */
.p9{background:#0d0118;font-family:'Outfit',sans-serif;color:#f0eaff;position:relative}
.p9-bg{position:fixed;top:44px;left:0;right:0;bottom:0;z-index:0;overflow:hidden}
.p9b{position:absolute;border-radius:50%;filter:blur(80px)}
.p9b1{width:700px;height:700px;top:-200px;left:-200px;background:radial-gradient(circle,rgba(124,58,237,.5),transparent 70%);animation:p9d1 12s ease-in-out infinite}
.p9b2{width:600px;height:600px;top:200px;right:-200px;background:radial-gradient(circle,rgba(236,72,153,.4),transparent 70%);animation:p9d2 15s ease-in-out infinite}
.p9b3{width:500px;height:500px;bottom:-100px;left:40%;background:radial-gradient(circle,rgba(249,115,22,.3),transparent 70%);animation:p9d3 18s ease-in-out infinite}
@keyframes p9d1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(60px,40px) scale(1.1)}}
@keyframes p9d2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-40px,60px) scale(.9)}}
@keyframes p9d3{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(30px,-50px) scale(1.05)}}
.p9c{position:relative;z-index:1}
.p9-nav{display:flex;justify-content:space-between;align-items:center;padding:0 64px;height:72px;position:sticky;top:44px;z-index:100;border-bottom:1px solid rgba(255,255,255,.07);background:rgba(13,1,24,.65);backdrop-filter:blur(24px)}
.p9-logo{font-size:16px;font-weight:700;letter-spacing:.04em;color:#f0eaff}
.p9-nl{display:flex;gap:36px;align-items:center}
.p9-nl a{color:rgba(240,234,255,.3);text-decoration:none;font-size:13px;font-weight:400;transition:color .2s}
.p9-nl a:hover{color:#f0eaff}
.p9-cta{background:linear-gradient(135deg,rgba(124,58,237,.7),rgba(236,72,153,.7))!important;color:#fff!important;padding:10px 24px;border:1px solid rgba(255,255,255,.14)!important;backdrop-filter:blur(8px);font-weight:600!important;font-size:13px!important}

.p9-hero{padding:120px 64px 100px;min-height:calc(100vh - 116px);display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.p9-kicker{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;background:linear-gradient(135deg,#a78bfa,#f472b6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:32px;animation:p9up 1s .2s both}
@keyframes p9up{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.p9-title{font-size:clamp(46px,5.5vw,78px);font-weight:800;line-height:1.05;letter-spacing:-.02em;color:#f0eaff;margin-bottom:28px;animation:p9up 1s .35s both}
.p9-title em{font-style:italic;background:linear-gradient(135deg,#a78bfa,#f472b6,#fb923c);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.p9-sub{font-size:16px;color:rgba(240,234,255,.48);line-height:1.8;margin-bottom:48px;animation:p9up 1s .5s both}
.p9-hb{display:flex;gap:16px;animation:p9up 1s .65s both}
.p9-btn{background:linear-gradient(135deg,#7c3aed,#ec4899);color:#fff;padding:16px 40px;font-size:14px;font-weight:700;border:none;cursor:pointer;font-family:'Outfit',sans-serif;transition:opacity .2s}
.p9-btn:hover{opacity:.82}
.p9-btn-o{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.11);color:rgba(240,234,255,.65);padding:16px 40px;font-size:14px;cursor:pointer;font-family:'Outfit',sans-serif;backdrop-filter:blur(8px);transition:all .2s}
.p9-btn-o:hover{background:rgba(255,255,255,.11);color:#f0eaff}
.p9-hr{display:flex;flex-direction:column;gap:20px;animation:p9up 1s .4s both}
.p9-gc{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.11);backdrop-filter:blur(20px);padding:28px 32px;transition:transform .3s,box-shadow .3s}
.p9-gc:hover{transform:translateY(-4px);box-shadow:0 24px 64px rgba(124,58,237,.18)}
.p9-gcl{font-size:10px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:rgba(240,234,255,.32);margin-bottom:8px}
.p9-gcv{font-size:22px;font-weight:700;color:#f0eaff}
.p9-gcs{font-size:13px;color:rgba(240,234,255,.42);margin-top:4px}

.p9-svc{padding:100px 64px;border-top:1px solid rgba(255,255,255,.06)}
.p9-stag{font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#a78bfa;margin-bottom:16px}
.p9-stitle{font-size:34px;font-weight:800;color:#f0eaff;margin-bottom:56px;line-height:1.2}
.p9-sg{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.p9-sc{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);backdrop-filter:blur(16px);padding:44px 40px;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start;transition:border-color .3s,transform .3s;cursor:pointer}
.p9-sc:hover{border-color:rgba(167,139,250,.35);transform:translateY(-4px)}
.p9-snum{font-size:10px;font-weight:600;letter-spacing:.15em;color:rgba(167,139,250,.45);margin-bottom:8px}
.p9-sname{font-size:23px;font-weight:800;color:#f0eaff;margin-bottom:12px}
.p9-sdesc{font-family:'Noto Sans JP',sans-serif;font-size:13px;color:rgba(240,234,255,.42);line-height:1.9;margin-bottom:20px}
.p9-stags{display:flex;flex-wrap:wrap;gap:6px}
.p9-stg{font-size:11px;background:rgba(124,58,237,.18);border:1px solid rgba(167,139,250,.18);padding:4px 12px;color:rgba(167,139,250,.75);font-weight:500}

.p9-why{padding:100px 64px;border-top:1px solid rgba(255,255,255,.06)}
.p9-wg{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px}
.p9-wc{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);backdrop-filter:blur(16px);padding:44px 36px;position:relative;overflow:hidden;transition:transform .3s}
.p9-wc:hover{transform:translateY(-6px)}
.p9-wgl{position:absolute;top:-60px;right:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(124,58,237,.18),transparent 70%)}
.p9-wnum{font-size:48px;font-weight:800;background:linear-gradient(135deg,rgba(167,139,250,.28),rgba(244,114,182,.28));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:16px;line-height:1}
.p9-wtitle{font-size:19px;font-weight:700;color:#f0eaff;margin-bottom:12px}
.p9-wtext{font-family:'Noto Sans JP',sans-serif;font-size:13px;color:rgba(240,234,255,.42);line-height:2}

.p9-ct{padding:100px 64px;border-top:1px solid rgba(255,255,255,.06)}
.p9-ctw{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);backdrop-filter:blur(24px);padding:64px;display:grid;grid-template-columns:1fr 1fr;gap:80px}
.p9-ct h2{font-size:36px;font-weight:800;color:#f0eaff;margin-bottom:12px;line-height:1.2}
.p9-ct h2 em{font-style:italic;background:linear-gradient(135deg,#a78bfa,#f472b6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.p9-ct .p9-ctdesc{font-family:'Noto Sans JP',sans-serif;font-size:14px;color:rgba(240,234,255,.38);line-height:2;margin-top:16px}
.p9-form .fr{margin-bottom:24px}
.p9-form label{display:block;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(240,234,255,.28);margin-bottom:8px}
.p9-form input,.p9-form select,.p9-form textarea{width:100%;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);color:#f0eaff;padding:14px 18px;font-family:'Outfit',sans-serif;font-size:14px;outline:none;transition:border-color .2s;backdrop-filter:blur(8px)}
.p9-form input:focus,.p9-form select:focus,.p9-form textarea:focus{border-color:#a78bfa}
.p9-form textarea{height:110px;resize:vertical}
.p9-form select option{background:#1a0030}
.p9-ft{padding:32px 64px;border-top:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-between;align-items:center}
.p9-ftl{font-size:15px;font-weight:700;color:#f0eaff}
.p9-ftc{font-size:11px;color:rgba(240,234,255,.18)}

/* ═══════════════════════════════════════
   P10 — NEOBRUTALIST
   White · Yellow #ffe500 · Red #ff3300
   Font: Syne 800 + Noto Sans JP
═══════════════════════════════════════ */
.p10{background:#fff;color:#000;font-family:'Syne',sans-serif}
.p10-nav{display:flex;justify-content:space-between;align-items:center;padding:0 64px;height:64px;position:sticky;top:44px;z-index:100;background:#ffe500;border-bottom:3px solid #000}
.p10-logo{font-size:14px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.p10-nl{display:flex;gap:32px;align-items:center}
.p10-nl a{color:rgba(0,0,0,.45);text-decoration:none;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:color .15s}
.p10-nl a:hover{color:#000}
.p10-cta{background:#000!important;color:#ffe500!important;padding:10px 24px;font-weight:800!important;font-size:11px!important;letter-spacing:.1em!important;text-transform:uppercase;box-shadow:3px 3px 0 #555;transition:transform .15s,box-shadow .15s!important}
.p10-cta:hover{transform:translate(-2px,-2px)!important;box-shadow:5px 5px 0 #555!important}

.p10-hero{display:grid;grid-template-columns:2fr 1fr;border-bottom:3px solid #000}
.p10-hm{padding:80px 64px;border-right:3px solid #000}
.p10-hlabel{font-size:10px;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:rgba(0,0,0,.3);margin-bottom:32px}
.p10-title{font-size:clamp(54px,7.5vw,110px);font-weight:800;line-height:.92;letter-spacing:-.04em;text-transform:uppercase;margin-bottom:40px}
.p10-title span{color:#ff3300}
.p10-sub{font-family:'Noto Sans JP',sans-serif;font-size:15px;color:rgba(0,0,0,.5);line-height:1.9;max-width:420px;margin-bottom:48px}
.p10-hbtns{display:flex}
.p10-btn{background:#000;color:#ffe500;padding:18px 48px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;border:3px solid #000;cursor:pointer;font-family:'Syne',sans-serif;box-shadow:4px 4px 0 #444;transition:transform .15s,box-shadow .15s}
.p10-btn:hover{transform:translate(-3px,-3px);box-shadow:7px 7px 0 #444}
.p10-btn-o{background:#ffe500;color:#000;padding:18px 48px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;border:3px solid #000;border-left:none;cursor:pointer;font-family:'Syne',sans-serif;box-shadow:4px 4px 0 #888;transition:transform .15s,box-shadow .15s,background .15s}
.p10-btn-o:hover{transform:translate(-3px,-3px);box-shadow:7px 7px 0 #888;background:#adff2f}
.p10-hs{padding:64px 48px;background:#ff3300;display:flex;flex-direction:column;justify-content:space-between}
.p10-hsl{font-size:9px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.45)}
.p10-htv{font-family:'Noto Serif JP',serif;font-size:12px;writing-mode:vertical-rl;letter-spacing:.22em;color:rgba(255,255,255,.65)}
.p10-hbig{font-size:78px;font-weight:800;color:rgba(255,255,255,.13);line-height:1}

.p10-mq{border-top:3px solid #000;border-bottom:3px solid #000;background:#ffe500;overflow:hidden;padding:14px 0}
.p10-mqi{display:flex;animation:p10mq 18s linear infinite;white-space:nowrap}
.p10-mqitem{font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:0 40px;color:#000}
.p10-mqdot{color:#ff3300}
@keyframes p10mq{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

.p10-svc{border-bottom:3px solid #000}
.p10-svch{display:grid;grid-template-columns:1fr 2fr;border-bottom:3px solid #000}
.p10-svchl{padding:52px 64px;border-right:3px solid #000}
.p10-svchl h2{font-size:28px;font-weight:800;text-transform:uppercase;letter-spacing:-.01em;line-height:1.2}
.p10-svcht{font-size:9px;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:rgba(0,0,0,.28);margin-bottom:12px}
.p10-svchr{padding:52px 64px}
.p10-svchr p{font-family:'Noto Sans JP',sans-serif;font-size:14px;color:rgba(0,0,0,.5);line-height:2;max-width:500px}
.p10-sg{display:grid;grid-template-columns:repeat(4,1fr)}
.p10-sc{padding:48px 40px;border-right:3px solid #000;cursor:pointer;transition:background .15s;position:relative;overflow:hidden}
.p10-sc:last-child{border-right:none}
.p10-sc:hover{background:#adff2f}
.p10-sc:hover .p10-stags-wrap{display:flex}
.p10-snum{font-size:10px;font-weight:800;letter-spacing:.22em;color:rgba(0,0,0,.22);margin-bottom:24px}
.p10-sname{font-size:20px;font-weight:800;text-transform:uppercase;margin-bottom:16px;line-height:1.15;letter-spacing:-.01em}
.p10-sdesc{font-family:'Noto Sans JP',sans-serif;font-size:12px;color:rgba(0,0,0,.5);line-height:1.9;margin-bottom:20px}
.p10-stags-wrap{display:flex;flex-wrap:wrap;gap:6px}
.p10-stag{font-size:9px;font-weight:800;border:2px solid #000;padding:3px 10px;letter-spacing:.08em;text-transform:uppercase}

.p10-why{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;border-top:3px solid #000;border-bottom:3px solid #000}
.p10-wh{background:#000;padding:60px 48px;color:#ffe500}
.p10-wh h2{font-size:26px;font-weight:800;text-transform:uppercase;line-height:1.2}
.p10-whtag{font-size:9px;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:rgba(255,229,0,.35);margin-bottom:12px}
.p10-wi{padding:60px 40px;border-right:3px solid #000}
.p10-wi:last-child{border-right:none}
.p10-win{font-size:58px;font-weight:800;color:rgba(0,0,0,.06);line-height:1;margin-bottom:16px}
.p10-wit{font-size:16px;font-weight:800;text-transform:uppercase;margin-bottom:14px}
.p10-witx{font-family:'Noto Sans JP',sans-serif;font-size:12px;color:rgba(0,0,0,.5);line-height:1.9}

.p10-ct{display:grid;grid-template-columns:1fr 1fr}
.p10-ctl{padding:80px 64px;background:#ff3300;color:#fff;border-right:3px solid #000}
.p10-ctl h2{font-size:40px;font-weight:800;text-transform:uppercase;line-height:1.1;margin-bottom:16px;letter-spacing:-.02em}
.p10-ctl p{font-family:'Noto Sans JP',sans-serif;font-size:14px;color:rgba(255,255,255,.6);line-height:2}
.p10-ctr{padding:80px 64px}
.p10-form .fr{margin-bottom:24px}
.p10-form label{display:block;font-size:9px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:rgba(0,0,0,.3);margin-bottom:6px}
.p10-form input,.p10-form select,.p10-form textarea{width:100%;background:none;border:none;border-bottom:3px solid #000;color:#000;padding:12px 0;font-family:'Noto Sans JP',sans-serif;font-size:14px;outline:none;transition:border-color .15s}
.p10-form input:focus,.p10-form select:focus,.p10-form textarea:focus{border-color:#ff3300}
.p10-form textarea{height:100px;resize:none}
.p10-bsub{background:#000;color:#ffe500;padding:18px 48px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;border:3px solid #000;cursor:pointer;font-family:'Syne',sans-serif;box-shadow:4px 4px 0 #444;transition:transform .15s,box-shadow .15s}
.p10-bsub:hover{transform:translate(-3px,-3px);box-shadow:7px 7px 0 #444}
.p10-ft{padding:32px 64px;border-top:3px solid #000;display:flex;justify-content:space-between;align-items:center;background:#ffe500}
.p10-ftl{font-size:14px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.p10-ftc{font-size:10px;font-weight:700;color:rgba(0,0,0,.35);letter-spacing:.1em;text-transform:uppercase}

@keyframes fadepw{from{opacity:0}to{opacity:1}}
.pw{animation:fadepw .3s ease both}
