
:root{
  --bg:#f5f7fb;
  --panel:#ffffff;
  --text:#1b2430;
  --muted:#5f6b7a;
  --line:#dbe2ea;
  --accent:#0a66c2;
  --accent2:#0e8a6d;
  --shadow:0 10px 30px rgba(17,24,39,.08);
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Meiryo,"Hiragino Kaku Gothic ProN",sans-serif;background:var(--bg);color:var(--text);line-height:1.75}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}
header.site-header{background:linear-gradient(135deg,#0b1b2b,#163a5f);color:#fff;padding:18px 0 0;box-shadow:var(--shadow)}
.container{max-width:var(--max);margin:0 auto;padding:0 18px}
.topbar{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding-bottom:14px}
.brand a{color:#fff;text-decoration:none}
.brand .title{font-size:1.5rem;font-weight:800;display:block;line-height:1.2}
.brand .sub{display:block;font-size:.92rem;opacity:.88}
.header-links{display:flex;gap:12px;flex-wrap:wrap;font-size:.95rem}
.header-links a{color:#d9ecff}
.banner-box{background:#fff;border-radius:18px;padding:14px;margin:8px 0 18px;overflow:auto}
.main-nav{background:rgba(255,255,255,.08);backdrop-filter:blur(5px)}
.main-nav ul{list-style:none;margin:0;padding:10px 0;display:flex;gap:10px;overflow:auto}
.main-nav a{display:inline-block;padding:9px 14px;background:rgba(255,255,255,.1);color:#fff;border-radius:999px;white-space:nowrap}
.hero{padding:34px 0 26px}
.hero-box{background:linear-gradient(135deg,#fff,#eef6ff);border-radius:28px;padding:30px;box-shadow:var(--shadow);border:1px solid var(--line)}
.hero h1{margin:0 0 12px;font-size:2rem;line-height:1.25}
.hero p{margin:0;color:var(--muted);font-size:1.02rem}
.quicklinks{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:18px}
.quicklinks a{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;display:block;box-shadow:var(--shadow)}
main{padding:24px 0 40px}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px}
.content section{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:24px;margin-bottom:20px;box-shadow:var(--shadow)}
.content h2{margin:0 0 14px;font-size:1.35rem;line-height:1.3}
.content p,.content li,.content dd,.content td,.content th,.content summary{font-size:1rem}
.content ul,.content ol{padding-left:1.25em}
.content li+li{margin-top:.35em}
.sidebar .panel{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:20px;margin-bottom:20px;box-shadow:var(--shadow)}
.sidebar h2,.sidebar h3{margin-top:0;font-size:1.1rem}
.breadcrumbs{font-size:.9rem;color:var(--muted);margin:0 0 16px}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.card{background:linear-gradient(180deg,#fff,#f7fbff);border:1px solid var(--line);border-radius:18px;padding:18px;display:block;box-shadow:var(--shadow)}
.card strong{display:block;color:var(--text);margin-bottom:6px}
.card span{color:var(--muted);font-size:.95rem}
.table-wrap{overflow:auto}
table{border-collapse:collapse;width:100%;background:#fff}
.shortcut-table th,.shortcut-table td,.simple-table th,.simple-table td{border:1px solid var(--line);padding:10px 12px;vertical-align:top}
.shortcut-table th,.simple-table th{background:#eef6ff;text-align:left}
.shortcut-tools{background:#f7fbff;border:1px dashed #b6d7f5;padding:16px;border-radius:18px;margin-bottom:18px}
.shortcut-tools input{width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:14px;font-size:1rem;margin-top:8px}
.search-note{margin:.5em 0 0;color:var(--muted);font-size:.92rem}
.glossary dt{font-weight:800;margin-top:14px}
.glossary dd{margin:6px 0 0;color:var(--muted)}
.faq details{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px;margin:12px 0}
.cta-note{background:#eefbf4;border-left:4px solid var(--accent2);padding:14px 16px;border-radius:12px}
footer.site-footer{padding:10px 0 36px}
.footer-panel{background:var(--panel);border:1px solid var(--line);border-radius:26px;padding:26px;box-shadow:var(--shadow)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr;gap:24px}
.footer-links ul,.sidebar ul,.sitemap-list{padding-left:1.2em;margin:0}
.footer-links li+li,.sidebar li+li,.sitemap-list li+li{margin-top:.4em}
.ad-note{color:var(--muted);font-size:.95rem;margin-bottom:12px}
.bottom-banner-wrap{background:#fff7eb;border:1px solid #f2d2a3;border-radius:18px;padding:18px;margin-top:16px;overflow:auto}
.mini-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:.92rem;color:var(--muted);margin-top:10px}
.tag-row{display:flex;gap:10px;flex-wrap:wrap}
.tag{display:inline-block;padding:6px 10px;border-radius:999px;background:#eef6ff;color:#214c7a;font-size:.88rem}
@media (max-width: 980px){
  .layout{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
}
@media (max-width: 640px){
  .hero h1{font-size:1.6rem}
  .hero-box{padding:22px}
  .content section,.sidebar .panel,.footer-panel{padding:18px}
}
