:root{
  --brand-sky:#f5fbff;
  --c-primary:#0da2e7;
  --c-primary-strong:#0786c6;
  --c-surface:#ffffff;
  --c-border:#d8effa;
  --text-strong:#073048;
  --radius:14px;
  --shadow:0 10px 26px rgba(7,134,198,.10);
}
*{box-sizing:border-box}
html,body{height:100%}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  line-height:1.6;
  color:var(--text-strong);
  background:var(--brand-sky);
  padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
}
.skip{position:absolute;left:-1000px;top:-1000px}
.skip:focus{left:16px;top:16px;z-index:1000;background:#fff;color:#000;padding:8px 12px;border-radius:8px}
.container{max-width:960px;margin:0 auto;padding:24px}
.site-header{position:sticky;top:0;z-index:10;background:#ffffffcc;backdrop-filter:blur(8px);border-bottom:1px solid var(--c-border)}
.nav{display:flex;align-items:center;min-height:56px;padding:0 16px}
.nav__home{color:var(--c-primary);font-weight:700;text-decoration:none}
.nav__home:hover{text-decoration:underline}
.hero{display:grid;gap:12px;margin:24px 0}
.hero__tagline{margin:0;opacity:.9}
.hero__cover{margin:8px 0 0}
.hero__cover img{width:100%;height:auto;border-radius:var(--radius);background:var(--c-surface);border:1px solid var(--c-border);box-shadow:var(--shadow)}
.section{margin:28px 0}
.section>h2{margin:0 0 12px;font-size:1.25rem;position:relative}
.section>h2::after{content:"";position:absolute;left:0;bottom:-6px;width:72px;height:3px;border-radius:3px;background:var(--c-primary)}
.list{margin:0;padding-left:1.1em}
.list li+li{margin-top:6px}
.grid{display:grid;grid-template-columns:1fr;gap:16px}
@media (min-width:720px){.grid{grid-template-columns:1fr 1fr}}
.card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:8px 10px;border-bottom:1px dashed var(--c-border);text-align:left}
.table th{white-space:nowrap}
.cta{display:grid;place-items:center;gap:8px;margin:36px 0;text-align:center}
.btn{display:inline-block;text-decoration:none;font-weight:800;padding:14px 22px;border-radius:999px;border:0;cursor:pointer;transition:transform .06s ease,box-shadow .2s ease,background-color .2s ease,filter .2s ease}
.btn--primary{color:#fff;background:var(--c-primary);box-shadow:0 10px 24px rgba(13,162,231,.25)}
.btn--primary:hover{transform:translateY(-1px);filter:brightness(1.03)}
.btn--primary:active{transform:translateY(0)}
.cta__note{opacity:.75;font-size:.9rem}
.accordion{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.accordion>summary{list-style:none;display:flex;align-items:center;gap:8px;cursor:pointer;padding:14px 16px;font-weight:700}
.accordion>summary::-webkit-details-marker{display:none}
.acc-icon{transition:transform .2s ease}
.accordion[open] .acc-icon{transform:rotate(90deg)}
.accordion__body{border-top:1px solid var(--c-border);padding:16px}
.h3{margin:0 0 6px;font-size:1.05rem}
.site-footer{border-top:1px solid var(--c-border);padding:24px;text-align:center;opacity:.85;font-size:.9rem}
.site-footer__sns{margin-top:6px;font-size:.9rem;opacity:.72}
.sns-link{text-decoration:none;color:var(--c-primary);transition:opacity .2s ease,text-decoration-color .2s ease}
.sns-link:hover{opacity:1;text-decoration:underline;text-decoration-color:var(--c-primary)}
.sns-link--x::before{content:"X";display:inline-block;font-weight:800;margin-right:6px;line-height:1}
a{color:var(--c-primary)}
a:hover{color:var(--c-primary-strong)}
