:root{--color-primary: #ffdd00;--color-primary-dark: #a38d00;--color-primary-bg: rgba(255, 221, 0, .1);--color-primary-hero-bg: rgba(250, 246, 0, .4);--color-secondary: #006eff;--color-secondary-dark: #0046a3;--color-secondary-light: #3d91ff;--color-secondary-bg: rgba(0, 110, 255, .06);--color-secondary-hero-bg: rgba(0, 100, 255, .1);--color-text: #1a1a2e;--color-text-light: #1a1a2e;--color-text-muted: #94a3b8;--color-bg: #ffffff;--color-bg-light: #f5f9f7;--color-border: #e2e8f0;--color-header-bg: rgba(255, 255, 255, .72);--font-family: "Noto Sans JP", sans-serif;--font-size-base: 16px;--font-weight-normal: 400;--font-weight-bold: 700;--font-weight-black: 900;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 32px;--space-xl: 48px;--space-2xl: 80px;--max-width: 1200px;--header-height: 64px;--border-radius: 8px;--border-radius-lg: 12px;--hero-grid-size: 64px;--hero-grid-w: 3px;--bp-sm: 640px;--bp-md: 768px;--bp-lg: 1024px;--bp-xl: 1280px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:var(--font-size-base)}body{font-family:var(--font-family);color:var(--color-text);background:var(--color-bg);line-height:1.7;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4{line-height:1.3;font-weight:var(--font-weight-bold)}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-xl)}@media(max-width:768px){.container{padding:0 var(--space-md)}}.btn-primary{display:inline-flex;align-items:center;gap:var(--space-sm);background:var(--color-primary);color:var(--color-text);padding:14px 32px;border-radius:10px;font-weight:var(--font-weight-bold);font-size:14px;border:none;cursor:pointer;transition:opacity .2s}.btn-primary:hover{opacity:.85}.btn-secondary{display:inline-flex;align-items:center;gap:var(--space-sm);background:transparent;color:var(--color-secondary);padding:14px 32px;border-radius:10px;font-weight:600;font-size:14px;border:1px solid var(--color-secondary);cursor:pointer;transition:background .2s}.btn-secondary:hover{background:var(--color-secondary-bg)}.section-label{font-size:12px;font-weight:var(--font-weight-bold);color:var(--color-secondary);letter-spacing:3px;text-transform:uppercase;margin-bottom:var(--space-md)}
