:root{--bg: #ffffff;--fg: #0b1220;--muted: #667085;--line: #e5e7eb;--accent: #0f2a5f;--accent-2: #365486;--radius: 16px;--wrap: 1120px;--header-h: 200px;--logo-h: 80px;--logo-offset-x: -20px;--nav-pill-w: 180px;--nav-pill-h: 62px;--nav-pill-radius: 10px}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--fg);font-family:Noto Sans JP,Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scrollbar-gutter:stable both-edges}:lang(ja){font-family:Noto Sans JP,Inter,sans-serif;font-weight:300;font-feature-settings:"palt" 1}:lang(en){font-family:Inter,Noto Sans JP,sans-serif;font-weight:400;letter-spacing:.01em}h1,h2,h3{font-family:Noto Sans JP,Inter,sans-serif;font-weight:300;letter-spacing:.01em;color:inherit}h1:lang(en),h2:lang(en),h3:lang(en){font-family:Inter,Noto Sans JP,sans-serif;font-weight:700}strong,b{font-weight:500}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}.row{display:flex;align-items:center;justify-content:space-between;gap:24px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}@media (max-width: 900px){.grid-3{grid-template-columns:1fr}.grid-4{grid-template-columns:1fr 1fr}}.site-header{min-height:var(--header-h);height:auto;display:flex;align-items:center;position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line);backdrop-filter:none}.site-header .wrap{max-width:var(--wrap);width:100%;margin:0 auto;padding:20px auto;box-sizing:border-box}.site-header .wrap.row{justify-content:flex-start;flex-wrap:wrap;row-gap:8px}.logo{font-weight:900;font-size:20px;letter-spacing:.2px;display:flex;align-items:center;gap:10px;margin-left:var(--logo-offset-x);min-width:0}.logo img,.logo .logo-mark{display:block;height:clamp(48px,12vw,var(--logo-h));width:auto;max-width:100%}.logo .logo-mark svg{display:block;height:100%;width:auto}.main-nav{margin-left:auto}.menu-toggle{display:none;margin-left:auto;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:10px;background:#fff;color:#0f172a;line-height:0;cursor:pointer}.menu-toggle__bars{width:18px;display:inline-flex;flex-direction:column;gap:4px}.menu-toggle__bar{display:block;width:100%;height:2px;border-radius:999px;background:currentColor;transform-origin:center;transition:transform .2s ease,opacity .2s ease}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.main-nav ul{display:flex;flex-wrap:wrap;gap:7px 10px;list-style:none;margin:0;padding:0}.main-nav a{font-size:14px;color:#334155;justify-content:center;align-items:center;min-width:var(--nav-pill-w);height:var(--nav-pill-h);line-height:1;padding:0 16px;border-radius:var(--nav-pill-radius);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-flex;transition:background .15s ease,color .15s ease,box-shadow .2s ease}@media (max-width: 780px){:root{--header-h: 88px;--logo-h: 52px}.site-header{min-height:var(--header-h)}.site-header .wrap.row{position:relative;align-items:center;row-gap:0;flex-wrap:nowrap}.logo .logo-mark{height:clamp(32px,8vw,46px)}.logo{max-width:calc(100% - 60px)}.menu-toggle{display:inline-flex;align-items:center;justify-content:center}.main-nav{position:absolute;top:100%;left:0;right:0;width:auto;margin-left:0;margin-top:8px;max-height:0;opacity:0;visibility:hidden;overflow:hidden;pointer-events:none;transform:translateY(-8px);transition:max-height .25s ease,opacity .2s ease,transform .2s ease}.site-header[data-menu-open=true] .main-nav{max-height:calc(100dvh - var(--header-h) - 12px);opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.site-header[data-menu-open=true] .menu-toggle__bar:nth-child(1){transform:translateY(6px) rotate(45deg)}.site-header[data-menu-open=true] .menu-toggle__bar:nth-child(2){opacity:0}.site-header[data-menu-open=true] .menu-toggle__bar:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.main-nav ul{flex-direction:column;gap:4px;padding:8px;border-radius:12px;border:1px solid var(--line);background:#fff;max-height:calc(100dvh - var(--header-h) - 24px);overflow-y:auto;overscroll-behavior:contain}.main-nav li{width:100%}.main-nav a{width:100%;min-width:0;justify-content:flex-start;height:46px;padding:0 14px;border-radius:8px}:root{--nav-pill-w: 0;--nav-pill-h: 38px}}.main-nav a:hover,.main-nav a:focus-visible,.main-nav a[aria-current=page],.main-nav a.is-active{background:var(--accent);color:#fff;text-decoration:none;box-shadow:0 6px 16px #0f2a5f2e}.site-footer{border-top:1px solid var(--line);margin-top:80px;padding-top:32px;color:#475569}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:20px;align-items:start}.footer-logo{font-size:18px;letter-spacing:.02em;color:#0b1220}.footer-heading{margin:0 0 8px;font-size:13px;font-weight:600;color:#334155}.footer-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.footer-list a{display:inline-block;padding:6px 0}.footer-legal{border-top:1px solid var(--line);margin-top:20px;padding:14px 0 18px}@media (max-width: 900px){.footer-grid{grid-template-columns:1fr 1fr;gap:18px 24px}}@media (max-width: 640px){.site-footer{margin-top:56px;padding-top:24px}.footer-grid{grid-template-columns:1fr;gap:16px}.footer-heading{margin-bottom:6px}.footer-list a{padding:8px 0}}.small{font-size:12px}.muted{color:var(--muted)}.hero{padding:calc(var(--header-h) + 8px) 0 56px}.hero .eyebrow{color:var(--accent-2);text-transform:uppercase;letter-spacing:.12em;font-weight:700;font-size:12px}.hero h1{font-size:56px;line-height:1.15;margin:10px 0 14px}.lead{font-size:18px;color:#0f172a;max-width:60ch}.btn{display:inline-block;padding:10px 16px;border:1px solid var(--accent);border-radius:12px;font-weight:600;background:var(--accent);color:#fff;transition:transform .06s ease,box-shadow .2s ease,background .2s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #0f2a5f2e}.btn.ghost{background:transparent;color:var(--accent);border-color:var(--accent)}.btn.ghost:hover{background:#0f2a5f0f}.page-title{padding:28px 0 8px}.page-title h1{font-size:36px;margin:0}.breadcrumb{color:var(--muted);font-size:14px;padding-top:16px}.breadcrumb ol{list-style:none;display:flex;gap:8px;padding:0;margin:0}.breadcrumb li:after{content:"/";margin:0 6px;color:#94a3b8}.breadcrumb li:last-child:after{content:""}.two-col{display:grid;grid-template-columns:260px 1fr;gap:28px;align-items:start;padding:8px 0 64px}@media (max-width: 900px){.two-col{grid-template-columns:1fr}}.section-nav{position:sticky;top:calc(var(--header-h) + 10px);border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff}.section-nav h2{font-size:14px;margin:0 0 6px;color:#334155}.section-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.section-nav a{display:block;padding:10px 8px;border-top:1px solid var(--line);color:#0f172a}.section-nav li:first-child a{border-top:none}.section-nav a:hover{background:#f2f6ff;text-decoration:none}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}@media (max-width: 900px){.cards{grid-template-columns:1fr}}.card{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;transition:box-shadow .2s ease,transform .06s ease;will-change:transform}.card:hover{box-shadow:0 10px 20px #0000000f,0 2px 6px #0000000a;transform:translateY(-2px)}.card h3{margin:0 0 6px;font-size:18px;font-weight:600;color:#0b1220}.card p{margin:0;color:#475569;line-height:1.7}.cta-row{margin-top:22px;display:flex;gap:12px}@media (max-width: 720px){.hero{padding:calc(var(--header-h) + 4px) 0 36px}.wrap{padding:0 24px}.hero h1{font-size:38px}.lead{font-size:16px}.cta-row{flex-direction:column;align-items:flex-start}.cta-row .btn{width:100%;text-align:center}}@media (max-width: 1125px) and (min-width: 721px){.wrap{padding:0 24px}}@media (max-width: 770px){.logo{margin-left:0}}.card .thumblink{background:linear-gradient(135deg,#e6ecff,#f4f7ff)}
