:root{--ink:#0F172A;--text:#334155;--muted:#64748B;--border:#E2E8F0;--bg:#FFFFFF;--bg-alt:#F8FAFC;--p50:#F0F9FF;--p100:#E0F2FE;--p500:#0EA5E9;--p600:#0284C7;--p700:#0369A1;}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI','Noto Sans','Nirmala UI','Leelawadee UI','Yu Gothic UI','Meiryo',Tahoma,sans-serif;color:var(--text);background:var(--bg);line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
h1,h2,h3{color:var(--ink);font-family:'Outfit',-apple-system,BlinkMacSystemFont,'Segoe UI','Noto Sans','Nirmala UI','Leelawadee UI','Yu Gothic UI','Meiryo',Tahoma,sans-serif;letter-spacing:-0.01em;line-height:1.25;}
a{color:var(--p600);text-decoration:none;}
a:hover{text-decoration:underline;}
.wrap{max-width:760px;margin:0 auto;padding:0 22px;}
header.site{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:60px;max-width:980px;}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;color:var(--ink);}
.brand:hover{text-decoration:none;}
.brand .logo{width:34px;height:34px;border-radius:10px;display:block;}
header.site nav a{font-weight:700;font-size:14px;color:var(--text);}
main{padding:36px 0 56px;}
.crumbs{font-size:13px;margin-bottom:14px;}
h1{font-size:33px;font-weight:800;margin-bottom:12px;}
.byline{font-size:13px;color:var(--muted);margin-bottom:22px;}
.lead{font-size:18px;color:var(--text);margin-bottom:28px;}
section{margin-bottom:28px;}
h2{font-size:23px;font-weight:800;margin:30px 0 10px;}
h3{font-size:17px;font-weight:800;margin:18px 0 6px;}
p{margin-bottom:14px;font-size:16.5px;}
.mention{background:var(--p50);border:1px solid var(--p100);border-inline-start:4px solid var(--p500);border-radius:14px;padding:18px 20px 6px;margin:26px 0;}
.mention .badge{display:inline-block;font-size:12px;font-weight:800;color:var(--p700);background:var(--p100);border-radius:999px;padding:3px 11px;margin-bottom:10px;}
.checklist ul{list-style:none;}
.checklist li{position:relative;padding-block:8px;padding-inline-start:34px;border-bottom:1px solid var(--border);font-size:16px;}
.checklist li::before{content:"✓";position:absolute;inset-inline-start:0;top:8px;width:22px;height:22px;border-radius:50%;background:var(--p100);color:var(--p700);font-weight:900;font-size:13px;display:flex;align-items:center;justify-content:center;}
.faq h3{border-top:1px solid var(--border);padding-top:16px;}
.cta{background:linear-gradient(135deg,#0B2544,#0F3A63);color:#DCEBF8;border-radius:20px;padding:30px 28px;margin:36px 0;}
.cta h2{color:#fff;margin:0 0 8px;font-size:22px;}
.cta p{color:#B9D4EA;margin-bottom:18px;}
.btn{display:inline-block;background:linear-gradient(135deg,var(--p500),var(--p600));color:#fff;font-weight:800;padding:13px 24px;border-radius:13px;font-size:15px;}
.btn:hover{text-decoration:none;filter:brightness(1.05);}
.langs h2{font-size:15px;color:var(--muted);margin:30px 0 10px;font-weight:700;}
.langs ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;}
.langs li a,.langs li span{display:inline-block;font-size:14px;padding:6px 13px;border-radius:999px;border:1px solid var(--border);color:var(--text);}
.langs li span{background:var(--p100);border-color:var(--p100);color:var(--p700);font-weight:800;}
.langs li a:hover{border-color:var(--p500);text-decoration:none;}
.cards{display:grid;gap:14px;margin-top:22px;}
.card{display:block;border:1px solid var(--border);border-radius:16px;padding:20px 22px;background:#fff;color:var(--text);}
.card:hover{border-color:var(--p500);text-decoration:none;box-shadow:0 10px 24px -14px rgba(14,165,233,.5);}
.card h2{font-size:18px;margin:0 0 6px;}
.card p{font-size:14.5px;color:var(--muted);margin-bottom:8px;}
.card span{font-size:14px;font-weight:800;color:var(--p600);}
footer{border-top:1px solid var(--border);padding:28px 0;font-size:13px;color:var(--muted);}
footer .wrap{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;max-width:980px;}
footer .flinks{display:flex;gap:20px;}
footer a{color:var(--muted);font-weight:700;}
@media (max-width:600px){h1{font-size:26px;}h2{font-size:20px;}.lead{font-size:16.5px;}}
header.site nav{display:flex;gap:18px;}
.btn-alt{background:#fff;color:var(--p700);border:1.5px solid var(--p500);}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px;}
.actions .btn{border:0;cursor:pointer;font-family:inherit;}
.actions .btn-alt{border:1.5px solid var(--p500);}
.tt h2{margin-top:30px;}
.qgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin:12px 0 22px;direction:ltr;}
.qbox table,.tplan table{width:100%;border-collapse:collapse;font-size:14.5px;}
.qbox caption{text-align:start;font-weight:800;color:var(--ink);padding:0 2px 6px;font-size:15px;}
.qbox th,.qbox td{border:1px solid var(--border);padding:6px 9px;text-align:center;}
.qbox thead th{background:var(--p50);color:var(--p700);font-weight:800;}
.qbox tbody th{text-align:start;font-weight:600;color:var(--text);background:#fff;}
.pal{display:inline-block;min-width:24px;padding:1px 6px;border:0 solid var(--ink);font-weight:700;line-height:1.3;}
.pal.ur{border-bottom-width:2px;border-right-width:2px;}
.pal.ul{border-bottom-width:2px;border-left-width:2px;}
.pal.ll{border-top-width:2px;border-left-width:2px;}
.pal.lr{border-top-width:2px;border-right-width:2px;}
.note{font-size:13.5px;color:var(--muted);}
.tplan{border:1.5px solid var(--border);border-radius:14px;padding:22px 22px 14px;background:#fff;margin:6px 0 26px;}
.tplan h2{margin:0 0 14px;font-size:22px;}
.tplan .fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px 18px;margin-bottom:16px;}
.tplan .fld{display:block;}
.tplan .fld span{display:block;font-size:12px;font-weight:700;color:var(--muted);}
.tplan .fld i{display:block;height:26px;border-bottom:1.5px solid #94A3B8;}
.tplan table{margin:6px 0 16px;}
.tplan th,.tplan td{border:1px solid #94A3B8;padding:6px 8px;text-align:start;font-size:13px;height:30px;}
.tplan thead th{background:var(--p50);color:var(--ink);}
.tplan th:first-child,.tplan td:first-child{width:34px;text-align:center;}
.tplan .totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px 18px;margin-bottom:14px;}
.tplan .notes{margin-bottom:14px;}
.tplan .sigs{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:10px;}
.tplan .tp-foot{margin:14px 0 0;font-size:11px;color:var(--muted);text-align:end;}
@media (max-width:600px){.tplan{padding:14px;overflow-x:auto}.tplan table{min-width:520px}.tplan .sigs{grid-template-columns:1fr}}
@media print{
  header.site,footer,.crumbs,h1,.byline,.lead,.actions,.mention,.checklist,.faq,.cta,.langs,main>section:not(.tplan){display:none!important}
  body{background:#fff}main{padding:0}.wrap{max-width:none;padding:0}
  .tplan{border:0;padding:0;margin:0}.tplan th,.tplan td{height:34px}
}
