@charset "UTF-8";
/* ==========================================================================
   下層ページ共通（404 / プライバシーポリシー）
   トークンは style.css / DESIGN.md に準拠。LPの stage/rail レイアウトは使わない。
   ========================================================================== */
:root{
  --blue:#1823FF;
  --blue-deep:#0D16C9;
  --bg:#F6EFE9;
  --surface:#FFFFFF;
  --tx:#14191D;
  --head:#282D32;
  --muted:#6F6C66;
  --line:#E1DFDE;
  --r-pill:128px;
  --ff-jp:"Murecho","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
}
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;background:var(--bg);color:var(--tx);
  font-family:var(--ff-jp);font-size:16px;line-height:1.9;letter-spacing:.03em;
  font-weight:400;-webkit-font-smoothing:antialiased;
}
a{color:var(--blue);text-decoration:underline;text-underline-offset:2px;}
a:hover{color:var(--blue-deep);}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:4px;}

.page-header{
  padding:20px 22px;border-bottom:1px solid var(--line);
}
.page-header a{
  font-weight:700;letter-spacing:.08em;color:var(--head);text-decoration:none;
}

.page{max-width:760px;margin:0 auto;padding:56px 22px 96px;}

.page h1{
  font-size:1.75rem;line-height:1.45;color:var(--head);font-weight:700;
  margin:0 0 .4em;letter-spacing:.02em;
}
.page h2{
  font-size:1.2rem;line-height:1.5;color:var(--head);font-weight:700;
  margin:2.2em 0 .5em;padding-top:.2em;
}
.page p{margin:0 0 1em;}
.page ul,.page ol{margin:0 0 1em;padding-left:1.4em;}
.page li{margin:.2em 0;}
.page small,.page .meta{color:var(--muted);font-size:.875rem;}

.page table{
  width:100%;border-collapse:collapse;margin:0 0 1.4em;font-size:.95rem;
}
.page th,.page td{
  border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top;
}
.page th{background:#fff;white-space:nowrap;}

.btn{
  display:inline-block;margin-top:8px;padding:14px 34px;
  background:var(--blue);color:#fff;border-radius:var(--r-pill);
  font-weight:700;letter-spacing:.05em;text-decoration:none;
}
.btn:hover{background:var(--blue-deep);color:#fff;}

/* 404 */
.error{max-width:640px;margin:0 auto;padding:88px 22px;text-align:center;}
.error__code{font-size:clamp(56px,12vw,104px);font-weight:700;color:var(--blue);line-height:1;margin:0;}
.error__lead{font-size:1.05rem;color:var(--head);margin:18px 0 8px;}
.error__note{color:var(--muted);margin:0 0 28px;}
