:root{--bg-primary: #FFFFFF;--bg-secondary: #F8FAFC;--bg-tertiary: #F1F5F9;--bg-dark: #0F172A;--bg-dark-accent: #064E3B;--border-subtle: #E2E8F0;--border-strong: #CBD5E1;--border-focus: #065F46;--text-primary: #0F172A;--text-secondary: #475569;--text-muted: #94A3B8;--text-inverse: #FFFFFF;--text-inverse-muted: #CBD5E1;--accent-primary: #065F46;--accent-hover: #047857;--accent-dark: #022C22;--accent-light: #10B981;--accent-subtle: #ECFDF5;--accent-border: #A7F3D0;--status-success: #10B981;--status-warning: #F59E0B;--font-sans: "Inter", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--text-display-2xl: 3.25rem;--text-display-xl: clamp(2.25rem, 4vw, 2.75rem);--text-heading-lg: clamp(2.125rem, 3.8vw, 2.625rem);--text-heading-md: clamp(1.375rem, 2.5vw, 1.625rem);--text-heading-sm: 1.25rem;--text-lead: 1.35rem;--text-body-lg: 1.125rem;--text-body-md: 1rem;--text-body-sm: .875rem;--text-caption: .75rem;--leading-tight: 1.2;--leading-snug: 1.35;--leading-normal: 1.65;--leading-relaxed: 1.8;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-14: 3.5rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--container-max: 1200px;--container-narrow: 800px;--container-padding: 1.5rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -4px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .08), 0 8px 10px -6px rgba(0, 0, 0, .04);--shadow-elevated: 0 25px 50px -12px rgba(0, 0, 0, .25)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}html{font-family:var(--font-sans);color:var(--text-primary);background-color:var(--bg-primary);scroll-behavior:smooth;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;overscroll-behavior-x:none;width:100%;scroll-padding-top:88px}body{line-height:var(--leading-normal);font-size:var(--text-body-md);min-height:100vh;overflow-x:hidden;overscroll-behavior-x:none;width:100%;padding-top:72px}img,svg{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:var(--leading-snug);color:var(--text-primary);letter-spacing:-.015em;line-break:strict;word-break:normal;overflow-wrap:normal;text-wrap:balance}p{color:var(--text-secondary);line-break:strict;word-break:normal;overflow-wrap:normal;text-wrap:pretty}.no-break{white-space:nowrap}.mobile-break{display:none}@media(max-width:640px){.mobile-break{display:block}}.major-heading-line{display:block}.container{width:100%;max-width:var(--container-max);margin-left:auto;margin-right:auto;padding-left:var(--container-padding);padding-right:var(--container-padding)}.container-narrow{width:100%;max-width:var(--container-narrow);margin-left:auto;margin-right:auto;padding-left:var(--container-padding);padding-right:var(--container-padding)}.section{padding-top:var(--space-24);padding-bottom:var(--space-24)}section[id]{scroll-margin-top:88px}@media(max-width:768px){html{scroll-padding-top:80px}section[id]{scroll-margin-top:80px}.section{padding-top:var(--space-14);padding-bottom:var(--space-14)}}.bg-white{background-color:var(--bg-primary)}.bg-slate{background-color:var(--bg-secondary);border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}.bg-deep-green{background-color:var(--bg-dark-accent);color:var(--text-inverse)}.bg-dark{background-color:var(--bg-dark);color:var(--text-inverse)}.section-header{text-align:center;max-width:860px;margin-left:auto;margin-right:auto;margin-bottom:var(--space-14)}@media(max-width:768px){.section-header{margin-bottom:var(--space-8)}}.section-tag{display:inline-flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:700;letter-spacing:.04em;color:var(--accent-primary);background-color:var(--accent-subtle);border:1px solid var(--accent-border);padding:.5rem 1.25rem;border-radius:var(--radius-full);margin-bottom:var(--space-4);line-height:1.2}.bg-deep-green .section-tag{color:var(--accent-border);background-color:#065f4666;border:1px solid rgba(167,243,208,.3)}.bg-dark .section-tag{color:#a7f3d0;background-color:#ffffff14;border:1px solid rgba(167,243,208,.2)}@media(max-width:640px){.section-tag{font-size:.875rem;padding:.375rem 1rem}}.section-title{font-size:var(--text-heading-lg);margin-bottom:var(--space-4);line-height:var(--leading-snug);letter-spacing:-.02em;font-feature-settings:"palt" 1}.bg-deep-green .section-title,.bg-dark .section-title{color:var(--text-inverse)}.section-description{font-size:var(--text-body-lg);color:var(--text-secondary);line-height:var(--leading-relaxed);max-width:820px;margin-left:auto;margin-right:auto;text-wrap:pretty}.bg-deep-green .section-description,.bg-dark .section-description{color:var(--text-inverse-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-size:var(--text-body-md);font-weight:700;padding:.9375rem 2rem;border-radius:var(--radius-md);transition:all .2s ease-in-out;cursor:pointer;border:1px solid transparent;white-space:nowrap}.btn-primary{background-color:var(--accent-primary);color:var(--text-inverse);box-shadow:var(--shadow-md)}.btn-primary:hover{background-color:var(--accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-lg)}.btn-secondary{background-color:var(--bg-primary);color:var(--text-primary);border-color:var(--border-strong)}.btn-secondary:hover{background-color:var(--bg-secondary);border-color:var(--text-secondary)}.btn-white{background-color:#fff;color:var(--accent-primary);font-weight:700}.btn-white:hover{background-color:#f8fafc;transform:translateY(-1px)}.btn-block{width:100%}.card{background-color:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:var(--space-8);transition:border-color .2s ease,box-shadow .2s ease}.card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}
