/* XQ. subpages — same tokens as the home page */
:root{
  --bg:#0c141e;
  --bg-2:#08101a;
  --glass:rgba(16,26,38,.6);
  --line:rgba(190,220,245,.16);
  --fg:#f3f6fa;
  --muted:#9eabba;
  --blue:#9fd8ff;
  --navy:#0c141e;
  --f-mincho:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho","Noto Serif JP",serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--fg);font-family:var(--f-mincho);font-size:17px;line-height:1.95;-webkit-font-smoothing:antialiased;font-feature-settings:"palt";min-height:100vh;display:flex;flex-direction:column;
  background-image:radial-gradient(60vw 50vh at 85% 0%,rgba(63,134,189,.18),transparent 70%),radial-gradient(50vw 40vh at 0% 100%,rgba(159,216,255,.07),transparent 70%);background-attachment:fixed}
a{color:inherit}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:4px}

.top{padding:calc(20px + env(safe-area-inset-top,0px)) 20px 16px}
.top .in{max-width:1080px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:20px}
.top .logo{line-height:0}
.top .logo img{height:28px;width:auto}
.top nav{display:flex;gap:24px;font-size:14px;letter-spacing:.08em}
.top nav a{text-decoration:none;color:var(--muted)}
.top nav a:hover,.top nav a[aria-current]{color:var(--fg)}
@media (max-width:560px){.top nav{gap:16px;font-size:13px}}

main{flex:1 0 auto;padding:0 20px}
.wrap{max-width:880px;margin:0 auto;padding-block:56px 96px}
.wide{max-width:1080px}
.label{font-family:var(--f-mono);font-size:12px;letter-spacing:.2em;color:var(--blue);text-transform:uppercase;margin:0 0 14px}
h1{font-size:clamp(30px,5vw,48px);font-weight:600;line-height:1.45;letter-spacing:.04em;margin:0 0 20px;text-wrap:balance}
h2{font-size:clamp(22px,3vw,28px);font-weight:600;line-height:1.55;letter-spacing:.04em;margin:0 0 16px;text-wrap:balance}
h3{font-size:18px;font-weight:600;margin:0 0 6px}
p{margin:0 0 14px}
.lead{color:var(--muted);max-width:36em}
.muted{color:var(--muted)}
.small{font-size:14px}
.glass{background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:22px;padding:36px 36px}
@media (max-width:600px){.glass{padding:26px 20px;border-radius:18px}}
section + section{margin-top:72px}

.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:15.5px}
th,td{text-align:left;padding:18px 4px;border-bottom:1px solid var(--line);vertical-align:top}
tr:last-child th,tr:last-child td{border-bottom:0}
th{width:11em;color:var(--muted);font-weight:500;padding-right:24px}
@media (max-width:600px){th,td{display:block;padding:4px 0;border:0;width:auto}th{padding-top:16px}tr{display:block;border-bottom:1px solid var(--line);padding-bottom:14px}tr:last-child{border-bottom:0}}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 30px;border-radius:999px;font-family:var(--f-mincho);font-weight:600;font-size:16px;letter-spacing:.06em;text-decoration:none;transition:background .2s,color .2s,transform .2s;border:0;cursor:pointer}
.btn-light{background:var(--fg);color:var(--navy)}
.btn-light:hover{background:var(--blue);transform:translateY(-1px)}
.btn-line{background:#06c755;color:#fff}
.btn-line:hover{filter:brightness(1.08);transform:translateY(-1px)}
@media (max-width:520px){.btn{width:100%}}

.notes{padding:14px 18px;border:1px solid var(--line);border-radius:14px;font-size:14px}
.notes p{margin:0}
ul.plain{list-style:none;margin:0;padding:0}
ul.dots{margin:0;padding-left:1.2em}
ul.dots li{margin:6px 0}

footer{padding:40px 20px calc(40px + env(safe-area-inset-bottom,0px));background:var(--bg-2);border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
footer .in{max-width:1080px;margin:0 auto;display:flex;flex-wrap:wrap;gap:18px 28px;justify-content:space-between;align-items:center}
footer img{height:22px;width:auto;display:block;margin-bottom:8px}
footer nav{display:flex;flex-wrap:wrap;gap:10px 24px}
footer a{text-decoration:none}
footer a:hover{color:var(--fg)}
.copy{min-height:44px;padding:0 20px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--muted);font:500 13px var(--f-mincho);letter-spacing:.08em;cursor:pointer}
.copy:hover{border-color:var(--blue);color:var(--blue)}
@media (prefers-reduced-motion:reduce){.btn{transition:none}}
