@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500;700;900&display=swap');
:root{--ink:#13263b;--bg:#fff;--soft:#f4f8ff;--surf:#fff;--surf2:#f7fafe;--mut:#5a6b7d;--faint:#93a3b5;--bd:#e2eaf4;--ac:#1766e6;--ac-d:#0f53c4;--ac-s:#e8f1ff;--sky:#36a7f0;--sky-s:#e3f4ff;--navy:#0e2742}
*{box-sizing:border-box}html{overflow-x:hidden}
body{margin:0;font-family:"Zen Kaku Gothic New",system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.8;overflow-x:hidden}
a{color:var(--ac)}
.promo{background:linear-gradient(110deg,#0f2f7a,#1766e6 52%,#2f9bf0);color:#fff;position:relative;overflow:hidden}
.promo .in{max-width:1080px;margin:0 auto;padding:9px 20px;display:flex;align-items:center;justify-content:center;gap:12px;font-size:13px;font-weight:600;flex-wrap:wrap;text-align:center}
.promo .bdg{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.32);padding:3px 11px;border-radius:999px;font-size:11px;font-weight:800}
.promo a{color:#fff;font-weight:700;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.55)}
.hdr{background:var(--surf);border-bottom:1px solid var(--bd);position:sticky;top:0;z-index:20}
.hdr .in{max-width:1080px;margin:0 auto;padding:13px 20px;display:flex;align-items:center;gap:12px}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none}
.brand .mk{width:33px;height:33px;border-radius:10px;background:linear-gradient(135deg,#1766e6,#36c6f0);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:16px;box-shadow:0 4px 12px -3px rgba(23,102,230,.55)}
.brand .nm{font-weight:700;font-size:15px;color:var(--ink)}
.hdr .sp{flex:1}
.hdr .nav{display:flex;gap:4px;flex-wrap:wrap}
.hdr .nav a{font-size:12.5px;font-weight:700;color:var(--mut);text-decoration:none;padding:7px 11px;border-radius:999px}
.hdr .nav a:hover{background:var(--surf2)}
.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#eaf2ff,#fff 70%);border-bottom:1px solid var(--bd)}
.hero::before{content:"";position:absolute;top:-130px;right:-70px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(54,167,240,.24),transparent 68%)}
.hero .in{position:relative;max-width:1080px;margin:0 auto;padding:46px 20px 36px}
.hero .ey{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:#1b4fb8;background:#fff;border:1px solid #d6e4fb;padding:6px 15px;border-radius:999px;margin-bottom:16px;box-shadow:0 3px 12px -3px rgba(23,102,230,.18)}
.hero .ey::before{content:"";width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#1766e6,#36c6f0);box-shadow:0 0 0 4px rgba(54,167,240,.18)}
.hero h1{font-size:clamp(25px,4.2vw,40px);line-height:1.25;margin:0 0 13px;font-weight:900;letter-spacing:-.02em;background:linear-gradient(100deg,#132742 15%,#1b56c9 75%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{color:var(--mut);font-size:15.5px;margin:0 0 20px;max-width:62ch}
.btn{display:inline-flex;align-items:center;gap:8px;font-size:15.5px;font-weight:800;border:none;border-radius:12px;padding:14px 26px;background:linear-gradient(120deg,#1766e6,#2f8cf0 60%,#36b0f0);color:#fff;text-decoration:none;box-shadow:0 8px 22px -6px rgba(23,102,230,.5);transition:transform .12s,filter .12s}
.btn:hover{filter:brightness(1.05);transform:translateY(-1px)}
.btn.sm{font-size:14px;padding:11px 20px}
.art{max-width:820px;margin:0 auto;padding:40px 20px 10px}
.art h2{font-size:22px;font-weight:900;margin:34px 0 12px;padding-left:12px;border-left:4px solid var(--ac)}
.art h3{font-size:16.5px;font-weight:700;margin:22px 0 8px}
.art p{font-size:15px;color:#2b3a4b;margin:0 0 12px}
.art ul{margin:0 0 14px;padding-left:1.3em}
.art li{font-size:15px;color:#2b3a4b;margin:5px 0}
.art .lead{font-size:16px;color:var(--mut)}
.note{background:var(--sky-s);border:1px solid #cfe6fb;border-radius:12px;padding:14px 18px;font-size:14px;color:#245a86;margin:16px 0}
.steps{display:grid;gap:10px;margin:14px 0}
.step{display:flex;gap:12px;align-items:flex-start;background:var(--surf);border:1px solid var(--bd);border-radius:12px;padding:14px 16px}
.step .n{flex:none;width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,#1766e6,#36c6f0);color:#fff;font-weight:900;font-size:13px;display:flex;align-items:center;justify-content:center}
.step .t{font-size:14.5px;color:#2b3a4b}
.ctaband{max-width:820px;margin:28px auto;padding:0 20px}
.ctaband .in{position:relative;overflow:hidden;background:linear-gradient(115deg,#0f2f7a,#1766e6 52%,#2f9bf0);color:#fff;border-radius:18px;padding:28px 30px;text-align:center;box-shadow:0 20px 44px -20px rgba(23,102,230,.5)}
.ctaband h3{margin:0 0 6px;font-size:19px;font-weight:900}
.ctaband p{margin:0 0 16px;font-size:13.5px;opacity:.94}
.ctaband .btn{background:#fff;color:#1256cf}
.faq{max-width:820px;margin:0 auto;padding:24px 20px 44px}
.faq h2{font-size:20px;font-weight:900;margin:0 0 16px;text-align:center}
.faq .q{background:var(--surf);border:1px solid #e8eef7;border-radius:13px;padding:16px 18px;margin-bottom:11px;box-shadow:0 6px 18px -12px rgba(19,38,59,.2)}
.faq .q h3{margin:0 0 6px;font-size:14.5px;font-weight:700;display:flex;align-items:center;gap:9px}
.faq .q h3::before{content:"Q";flex:none;width:22px;height:22px;background:linear-gradient(135deg,#1766e6,#36c6f0);color:#fff;border-radius:7px;font-size:12px;font-weight:900;display:flex;align-items:center;justify-content:center}
.faq .q p{margin:0 0 0 31px;font-size:13.5px;color:var(--mut);line-height:1.75}
.ft{background:linear-gradient(180deg,#123154,#0b1f38);color:#c6d4e2;border-top:3px solid transparent;border-image:linear-gradient(90deg,#1766e6,#36c6f0) 1}
.ft .in{max-width:1080px;margin:0 auto;padding:30px 20px 24px;font-size:12.5px;line-height:1.9}
.ft a{color:#c6d4e2;text-decoration:none}.ft a:hover{color:#fff}
.ft .row{margin-bottom:6px}

/* ===== ブラッシュアップ：差し色・立体感（共通） ===== */
:root{--mint:#10b981;--mint-s:#e7f8f1}
.hero{background:
  radial-gradient(circle at 1px 1px, rgba(23,102,230,.08) 1px, transparent 0) 0 0/22px 22px,
  linear-gradient(180deg,#eaf2ff,#fff 70%)}
.hero .ey::before{background:linear-gradient(135deg,#10b981,#36c6f0)}
.step .n{background:linear-gradient(135deg,#10b981,#36c6f0)}
.art h2{border-left-color:var(--mint)}
.faq .q{box-shadow:0 10px 26px -16px rgba(19,38,59,.22)}
.step{box-shadow:0 8px 22px -16px rgba(19,38,59,.18)}
