:root{--navy:#061b3a;--red:#d8202f;--ink:#10213a;--muted:#52647b;--line:#dce4ee;--bg:#f5f8fc}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Noto Sans JP',Meiryo,sans-serif;color:var(--ink);line-height:1.8;background:#fff}
a{color:inherit;text-decoration:none}
.wrap{max-width:1120px;margin:auto;padding:0 24px}
header{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:10}
.head{height:74px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.logo{font-size:30px;font-weight:1000;letter-spacing:-.06em}
.back{border:1px solid var(--line);border-radius:999px;padding:9px 16px;font-weight:800}
.hero{background:linear-gradient(135deg,#061b3a,#0a3a78);color:#fff;padding:78px 0}
.hero .eyebrow{font-weight:900;letter-spacing:.12em;color:#ffb7bd;font-size:13px}
h1{font-size:clamp(38px,6vw,62px);line-height:1.15;margin:10px 0 18px}
.hero p{max-width:780px;margin:0;font-size:17px}
main section{padding:72px 0}
.intro{text-align:center;max-width:830px;margin:auto}
.intro h2{font-size:34px;margin:0 0 12px}
.intro p{color:var(--muted)}
.spec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;margin-top:38px}
.spec-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 12px 30px rgba(6,27,58,.08)}
.spec-card img{width:100%;height:330px;object-fit:contain;background:#f5f7fb;display:block}
.spec-copy{padding:22px}
.spec-copy h2{font-size:22px;margin:0 0 6px}
.spec-copy p{margin:0;color:var(--muted);font-weight:600}
.note{margin-top:30px;background:#fff7f7;border:1px solid #f1c8cc;border-radius:16px;padding:22px}
.note strong{color:var(--red)}
footer{background:#041329;color:#dce8f7;padding:38px 0;margin-top:30px}
footer p{margin:0;color:#aab9cf}
@media(max-width:760px){.spec-grid{grid-template-columns:1fr}.spec-card img{height:280px}}

/* v58: top-page header/footer visual match */
.sticky{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);box-shadow:0 1px 18px rgba(6,27,58,.12);border-bottom:0}
.sticky .header{height:78px;display:flex;align-items:center;gap:18px;min-width:0}
.sticky .logo{width:112px;height:auto;display:block;flex:0 0 auto}
.sticky .toplink{border:1px solid #c7d3e2;border-radius:999px;padding:8px 13px;font-weight:700;font-size:13px;background:#fff;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;line-height:1.2;flex:0 0 auto}
.sticky .nav{display:flex;gap:18px;margin-left:auto;font-size:13px;font-weight:800;white-space:nowrap;min-width:0;overflow:hidden}
.sticky .nav a{white-space:nowrap;flex:0 0 auto}
.sticky .nav a:hover{color:var(--red)}
.sticky .cta{background:var(--red);color:#fff;border-radius:999px;padding:13px 22px;font-weight:900;box-shadow:0 10px 24px rgba(216,32,47,.25);white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;line-height:1.2;min-width:max-content;flex:0 0 auto}
.sticky .blackCta{background:#000;color:#fff;border-radius:999px;padding:13px 18px;font-weight:900;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;line-height:1.2;min-width:max-content;flex:0 0 auto}
.sticky .outlineRed{border:2px solid var(--red);color:var(--red);background:#fff;border-radius:999px;padding:11px 18px;font-weight:900;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;line-height:1.2;min-width:max-content;flex:0 0 auto}
.footer{background:#041329;color:#dce8f7;padding:56px 0 24px;margin-top:30px}
.footer .footerGrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1.2fr;gap:34px}
.footer h4{color:#fff;margin:0 0 12px}
.footer ul{margin:0;padding:0;list-style:none}
.footer li{margin:7px 0;color:#aab9cf;font-size:13px}
.footer .footerLogoBox{display:inline-flex;background:#fff;border-radius:12px;padding:10px 14px;margin-bottom:14px}
.footer .footLogo{width:120px;height:auto;display:block}
.footer a{color:inherit}
.footer .ghost{border:1px solid #c8d2df;border-radius:999px;padding:12px 20px;font-weight:900;background:#fff;color:var(--navy);white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;line-height:1.2;flex:0 0 auto}
.footer .ghost:hover{color:var(--navy);text-decoration:none;background:#f5f8fc}
.footer a:hover{color:#fff;text-decoration:underline}
.footer .legalLinks{display:flex;gap:18px;flex-wrap:wrap}
@media(max-width:1180px){.sticky .header{gap:12px}.sticky .nav{gap:14px;font-size:12px}.sticky .outlineRed,.sticky .cta,.sticky .blackCta{padding:10px 14px;font-size:13px}.sticky .toplink{padding:8px 12px;font-size:12px}.sticky .logo{width:104px}}
@media(max-width:1020px){.sticky .header{height:auto;min-height:76px;padding-top:10px;padding-bottom:10px;flex-wrap:wrap}.sticky .nav{order:10;flex:1 0 100%;margin-left:0;overflow-x:auto;overflow-y:hidden;padding:6px 0 2px;-webkit-overflow-scrolling:touch}.sticky .outlineRed,.sticky .cta,.sticky .blackCta,.sticky .toplink{min-height:42px}}
@media(max-width:900px){.sticky .nav{display:none}.footer .footerGrid{grid-template-columns:1fr}.sticky .header{gap:8px}.sticky .logo{width:96px}.sticky .toplink,.sticky .outlineRed,.sticky .cta,.sticky .blackCta{padding:9px 11px;font-size:12px}}
