:root{--dark:#060c17;--dark-2:#0b1422;--brand:#3b82f6;--brand-dark:#2563eb;--violet:#8b5cf6;--surface:#fff;--surface-2:#f8fafc;--border:#e2e8f0;--border-dark:#ffffff17;--ink:#0f172a;--ink-2:#475569;--ink-3:#94a3b8;--grad-brand:linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);--grad-text:linear-gradient(100deg, #fff 0%, #bae6fd 55%, #c4b5fd 100%);--grad-cta:linear-gradient(135deg, #2563eb 0%, #7c3aed 100%);--shadow-card:0 2px 8px #0f172a0d, 0 8px 24px #0f172a12;--shadow-pop:0 16px 48px #0f172a24, 0 4px 12px #0f172a14;--shadow-xl:0 32px 80px #060c1780}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--surface);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Noto Sans JP,sans-serif;line-height:1.75;overflow-x:hidden}.container{max-width:1120px;margin:0 auto;padding:0 1.5rem}.section{padding:5rem 0}.section.is-featured{padding:6.25rem 0}@media (width<=767px){.section{padding:3.5rem 0}.section.is-featured{padding:4rem 0}}.grad-text{background:var(--grad-text);-webkit-text-fill-color:transparent;background-clip:text}.grad-text-brand{background:var(--grad-brand);-webkit-text-fill-color:transparent;background-clip:text}.label{letter-spacing:.04em;width:fit-content;color:var(--brand-dark);background:#eff6ff;border:1px solid #3b82f633;border-radius:999px;align-items:center;gap:.45rem;padding:.44rem .78rem;font-size:.72rem;font-weight:900;line-height:1;display:inline-flex;box-shadow:0 8px 20px #2563eb14}.label:before{content:"";background:currentColor;border-radius:99px;width:.42rem;height:.42rem;display:inline-block}section.page-hero .label{color:#bfdbfe;background:#93c5fd1f;border-color:#93c5fd47;box-shadow:0 12px 26px #00000029}.h1{letter-spacing:-.03em;font-size:clamp(2.125rem,5.5vw,4rem);font-weight:900;line-height:1.17}.h2{letter-spacing:-.025em;font-size:clamp(1.625rem,3.2vw,2.5rem);font-weight:800;line-height:1.22}.h3{font-size:1.125rem;font-weight:700;line-height:1.4}.btn{cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:.4rem;font-family:inherit;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s,opacity .2s;display:inline-flex}.btn:active{transform:translateY(1px)!important}.btn-primary{background:var(--grad-cta);color:#fff;border-radius:.5rem;padding:.875rem 2rem;font-size:.9375rem;box-shadow:0 4px 20px #7c3aed59}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 32px #7c3aed73}.btn-ghost-dark{color:#ffffffd9;backdrop-filter:blur(8px);background:#ffffff0f;border:1px solid #ffffff24;border-radius:.5rem;padding:.875rem 1.625rem;font-size:.9375rem}.btn-ghost-dark:hover{color:#fff;background:#ffffff1c;border-color:#ffffff47;transform:translateY(-1px)}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:1rem;transition:transform .25s,box-shadow .25s}.card:hover{box-shadow:var(--shadow-pop);transform:translateY(-4px)}.glass{backdrop-filter:blur(16px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:1rem}.nav-link{color:var(--ink-2);border-bottom:1.5px solid #0000;padding-bottom:.125rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:color .2s,border-color .2s}.nav-link:hover,.nav-link.active{color:var(--ink);border-bottom-color:var(--brand)}#mmenu{z-index:200;opacity:0;visibility:hidden;background:#060c17f7;flex-direction:column;justify-content:center;align-items:center;gap:2rem;transition:opacity .28s,visibility .28s;display:flex;position:fixed;inset:0}#mmenu.open{opacity:1;visibility:visible}.reveal{opacity:0;transition:opacity .65s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1);transform:translateY(18px)}.reveal.visible{opacity:1;transform:none}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}}section[id]{scroll-margin-top:80px}#site-header{z-index:100;-webkit-backdrop-filter:blur(20px)saturate(180%);background:#ffffffe0;border-bottom:1px solid #e2e8f0b3;padding:.625rem 0;transition:box-shadow .3s;position:sticky;top:0}.md\:flex,.md\:block{display:none}.md\:hidden{display:flex}@media (width>=768px){.md\:flex{display:flex}.md\:block{display:block}.md\:hidden{display:none}}
