*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#fff;--bg-secondary:#f5f5f7;--bg-tertiary:#eeeef0;--text-primary:#1a1a1a;--text-secondary:#0000008c;--text-tertiary:#00000059;--border:#00000014;--font-sans:"Inter", "Noto Sans JP", -apple-system, sans-serif}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}ul,ol{list-style:none}img{max-width:100%;display:block}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}::selection{color:#1a1a1a;background:#00000014}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:#0000001f;border-radius:3px}.fade-in{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(40px)}.fade-in.visible{opacity:1;transform:translateY(0)}.section{max-width:1200px;margin:0 auto;padding:120px 24px}@media (width<=768px){.section{padding:80px 20px}}.section-label{letter-spacing:.2em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:16px;font-size:.75rem;font-weight:600}.section-title{letter-spacing:-.02em;color:var(--text-primary);margin-bottom:24px;font-size:clamp(2rem,5vw,3.5rem);font-weight:800;line-height:1.15}.section-description{color:var(--text-secondary);max-width:640px;font-size:1.05rem;line-height:1.8}
