:root{--bg:#f6f8fc;--ink:#14203b;--muted:#5e6a83;--line:#dfe5f0;--panel:#fff;--brand:#4b56d8;--accent:#ef4e8b;--yellow:#f5bc39;--shadow:0 18px 50px rgba(34,48,90,.12);--radius:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;line-height:1.75}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font:inherit}.container{width:min(1120px,calc(100% - 40px));margin:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.header-inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-weight:900;letter-spacing:.03em;display:flex;align-items:center;gap:10px}.brand-mark{width:38px;height:38px;border-radius:13px;background:linear-gradient(135deg,var(--brand),var(--accent));color:#fff;display:grid;place-items:center}.nav{display:flex;align-items:center;gap:26px;font-weight:700;font-size:.95rem}.nav a:hover{color:var(--brand)}.menu-btn{display:none;border:0;background:transparent;width:44px;height:44px;border-radius:12px}.menu-btn span,.menu-btn span:before,.menu-btn span:after{display:block;width:24px;height:2px;background:var(--ink);position:relative;margin:auto}.menu-btn span:before,.menu-btn span:after{content:"";position:absolute;left:0}.menu-btn span:before{top:-7px}.menu-btn span:after{top:7px}.mobile-nav{display:none;border-top:1px solid var(--line);padding:12px 20px 20px}.mobile-nav.open{display:grid;gap:10px}.mobile-nav a{padding:12px;border-radius:12px;background:#f2f5fb;font-weight:700}
main{min-height:62vh}.page-hero{padding:82px 0 42px}.eyebrow{font-size:.8rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--brand)}h1{font-size:clamp(2.15rem,6vw,4.4rem);line-height:1.08;margin:.35em 0 .25em;letter-spacing:-.045em}h2{font-size:clamp(1.55rem,3vw,2.2rem);line-height:1.25;margin:0 0 18px}.lead{font-size:clamp(1rem,2vw,1.15rem);color:var(--muted);max-width:720px}.section{padding:42px 0 90px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:clamp(26px,5vw,54px)}.center{text-align:center}.status-icon{width:68px;height:68px;border-radius:22px;background:linear-gradient(135deg,#eef0ff,#ffeaf3);display:grid;place-items:center;margin:0 auto 24px;font-size:30px}.actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:999px;font-weight:900;border:1px solid var(--line);background:#fff}.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn:hover{transform:translateY(-1px)}
.legal{max-width:880px}.legal h2{margin-top:40px}.legal h3{font-size:1.08rem;margin-top:30px}.legal p,.legal li{color:#34405a}.legal ul{padding-left:1.4em}.meta-note{display:inline-block;padding:8px 12px;background:#eef1f9;border-radius:999px;color:#58647b;font-size:.88rem}
.company-grid{display:grid;grid-template-columns:180px 1fr;border-top:1px solid var(--line)}.company-grid dt,.company-grid dd{margin:0;padding:18px 0;border-bottom:1px solid var(--line)}.company-grid dt{font-weight:800}.company-grid dd{color:#34405a}.contact-box{margin-top:34px;padding:24px;border-radius:18px;background:#f2f5fb}
.site-footer{background:#121a30;color:#e9eefb;padding:52px 0 32px}.footer-grid{display:flex;justify-content:space-between;gap:36px;align-items:flex-start}.footer-links{display:flex;flex-wrap:wrap;gap:18px;color:#c8d0e2}.footer-note{margin-top:30px;color:#8f9ab2;font-size:.86rem;border-top:1px solid rgba(255,255,255,.12);padding-top:24px}
@media(max-width:760px){.nav{display:none}.menu-btn{display:block}.header-inner{height:68px}.page-hero{padding-top:58px}.footer-grid{display:grid}.company-grid{grid-template-columns:1fr}.company-grid dt{padding-bottom:4px;border-bottom:0}.company-grid dd{padding-top:0}.container{width:min(100% - 28px,1120px)}}


/* Global header logo replacement v0.1 */
.site-header .brand{display:flex;align-items:center;flex:0 1 auto}
.site-header .brand-logo{display:block;width:210px;height:auto;max-width:none;object-fit:contain}
@media(max-width:760px){.site-header .brand-logo{width:168px}}
