:root{
  --blue:#0757c9;--blue-d:#0a3f8f;--blue-l:#e8f1fe;
  --cyan:#06add2;--cyan-l:#e4f7fc;
  --mint:#78d2aa;--mint-d:#23845c;--mint-l:#e8f8f0;
  --coral:#ff7157;--coral-d:#c8462f;--coral-l:#fff0ec;
  --amber:#ffc400;--amber-l:#fff7d6;
  --ink:#12314f;--ink-2:#34526c;--muted:#5d7589;--line:#d9e5ef;--line-2:#eaf1f7;
  --bg:#f4f8fc;--paper:#fff;
  --radius:14px;--radius-s:9px;
  --shadow:0 1px 2px rgba(18,49,79,.06),0 8px 24px -10px rgba(18,49,79,.18);
  --shadow-l:0 2px 4px rgba(18,49,79,.06),0 24px 48px -18px rgba(18,49,79,.3);
  --ease:cubic-bezier(.2,.75,.25,1);
  --spring:cubic-bezier(.34,1.56,.64,1);
  --font:"Noto Sans JP","Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  --en:"Barlow","Arial",sans-serif;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:120px}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.7;font-feature-settings:"palt" 1;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{display:block;max-width:100%}
img{height:auto}
h1,h2,h3,h4,p,figure,ol,ul{margin:0}
ol,ul{padding:0;list-style:none}
button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
button:disabled{cursor:not-allowed}
a{color:inherit}
:focus-visible{outline:3px solid var(--amber);outline-offset:3px;border-radius:6px}
[hidden]{display:none!important}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:#fff;padding:8px 14px;border-radius:8px}
.skip:focus{left:8px}
.eyebrow{font-family:var(--en);font-weight:800;font-size:12px;letter-spacing:.14em;color:var(--blue);text-transform:uppercase}
.btn-primary,.btn-next{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:12px 26px;border:0;border-radius:999px;background:var(--blue);color:#fff;font-weight:700;font-size:16px;letter-spacing:.02em;white-space:nowrap;box-shadow:0 6px 0 -1px var(--blue-d);transition:transform .15s var(--ease),box-shadow .15s,background .15s;text-decoration:none}
.btn-primary:hover:not(:disabled),.btn-next:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 0 -1px var(--blue-d)}
.btn-primary:active:not(:disabled),.btn-next:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px 0 -1px var(--blue-d)}
.btn-primary:disabled,.btn-next:disabled{background:#b9c8d6;box-shadow:0 6px 0 -1px #9aabbb}
.btn-ghost{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 16px;border:1.5px solid var(--line);border-radius:999px;background:#fff;font-weight:700;font-size:14px;color:var(--ink-2)}
.btn-ghost:hover:not(:disabled){border-color:var(--blue);color:var(--blue)}
.btn-ghost:disabled{opacity:.4}
.note{background:var(--blue-l);border-left:4px solid var(--blue);border-radius:8px;padding:12px 16px;font-size:13.5px;color:var(--ink-2)}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}

.btn-primary svg,.btn-next svg{width:20px;height:20px;flex:none}
