:root{--color-bg:#fff;--color-bg-alt:#f7f8fa;--color-section-alt:#eceef2;--color-text:#1a1f27;--color-text-muted:#5b6472;--color-border:#e3e6eb;--color-primary:#1f3a5f;--color-primary-light:#2f537f;--color-hero-bg:#10233c;--color-hero-text:#fff;--color-hero-text-muted:#a9c0d9;--color-hero-eyebrow:#7fa8d4;--color-accent-line:#2d5580;--color-accent-dot:#4a7fb5;--max-width:960px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;margin:0;font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Yu Gothic,Noto Sans JP,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.8}a{color:var(--color-primary)}.container{max-width:var(--max-width);margin:0 auto;padding:0 24px}header.site-header{border-bottom:1px solid var(--color-border);backdrop-filter:blur(6px);z-index:10;background:#ffffffeb;position:sticky;top:0}.site-header .container{justify-content:space-between;align-items:center;height:64px;display:flex}.site-header .brand{letter-spacing:.02em;color:var(--color-text);font-size:1.05rem;font-weight:700;text-decoration:none}.site-header nav a{color:var(--color-text-muted);white-space:nowrap;margin-left:28px;font-size:.9rem;text-decoration:none}.site-header nav a:hover{color:var(--color-primary)}.hero{background:var(--color-hero-bg);border-bottom:none;padding:96px 0 88px;position:relative;overflow:hidden}.hero .container{text-align:center;z-index:1;position:relative}.hero .eyebrow{letter-spacing:.1em;color:var(--color-hero-eyebrow);margin:0 0 16px;font-size:.8rem;display:block}.hero h1{color:var(--color-hero-text);letter-spacing:.02em;margin:0 0 24px;font-size:2.2rem;font-weight:500}.hero .lead{color:var(--color-hero-text);margin:0 0 20px;font-size:1.2rem;font-weight:500}.hero .sub{color:var(--color-hero-text-muted);max-width:700px;margin:0 auto;font-size:1rem;line-height:1.9}.hero .sub+.sub{margin-top:20px}.hero .notice{color:var(--color-hero-text);background:#ffffff14;border:1px solid #fff3;border-radius:999px;margin-top:32px;padding:6px 16px;font-size:.85rem;display:inline-block}.hero-decoration{opacity:.5;pointer-events:none;width:220px;height:220px;position:absolute;top:-30px;right:-30px}@media (width<=600px){.hero-decoration{display:none}}section{padding:72px 0}section+section{border-top:1px solid var(--color-border)}.section-title{text-align:center;letter-spacing:.02em;margin:0 0 20px;font-size:1.5rem;font-weight:700}.section-title:after{content:"";background:var(--color-primary);width:32px;height:2px;margin:16px auto 0;display:block}.section-alt{background:var(--color-section-alt)}.business-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px;display:grid}.business-item{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:10px;padding:28px}.business-item h3{color:var(--color-primary);align-items:baseline;gap:10px;margin:0 0 12px;font-size:1.05rem;display:flex}.business-item h3 .num{color:#fff;background:var(--color-primary);border-radius:999px;justify-content:center;align-items:center;width:22px;min-width:22px;height:22px;font-size:.8rem;font-weight:700;display:inline-flex}.business-item p{color:var(--color-text-muted);margin:0;font-size:.92rem}.profile-table{border-collapse:collapse;width:100%;max-width:640px;margin:0 auto}.profile-table tr{border-bottom:1px solid var(--color-border)}.profile-table th,.profile-table td{text-align:left;vertical-align:top;padding:18px 12px;font-weight:400}.profile-table th{width:9em;color:var(--color-text-muted);white-space:nowrap;font-size:.9rem}.contact-box{text-align:center;background:var(--color-bg-alt);border:1px solid var(--color-border);max-width:640px;color:var(--color-text-muted);border-radius:10px;margin:0 auto;padding:36px}footer.site-footer{text-align:center;color:var(--color-text-muted);border-top:1px solid var(--color-border);padding:32px 0;font-size:.82rem}@media (width<=600px){.site-header .container{flex-wrap:wrap;justify-content:center;gap:8px;height:auto;padding:12px 24px}.site-header nav{flex-wrap:wrap;justify-content:center;gap:4px 20px;display:flex}.site-header nav a{margin:0}.hero{padding:64px 0 56px}.hero h1{font-size:1.6rem}section{padding:56px 0}}
