:root{
  --ink:#ebe8f0;--head:#ffffff;--muted:#bdb7c6;--line:#ffffff24;--bg:#0f0e11;--soft:#1a181f;--card:#16151a;
  --green:#c9a4ff;--accent:#d9bfff;
  --spectrum:linear-gradient(105deg,#ffb177 0%,#f779b2 38%,#c080fc 70%,#9b91ff 100%);
  --rim:linear-gradient(145deg,#a295ff 4%,#d263ed 40%,#ffa666 70%,#b861ff 93%);
  --serif:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;
  --sans:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans",system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  color-scheme:dark;
}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);letter-spacing:.02em;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0 0 auto 0;height:420px;pointer-events:none;z-index:-1;background:radial-gradient(ellipse 60% 70% at 85% 0,#7a3fb12e,transparent 70%)}
a{color:var(--accent);text-underline-offset:3px}
a:hover{color:#fff}
:focus-visible{outline:3px solid #d4b5ff;outline-offset:3px;border-radius:4px}
body{word-break:auto-phrase}
p,li,dd,dt,td,th,h2{text-wrap:pretty}

.site-top{border-bottom:1px solid var(--line)}
.site-top .in{max-width:760px;margin:0 auto;padding:0 16px;min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.site-mark{display:flex;flex-direction:column;gap:3px;color:#fff;text-decoration:none}
.site-mark svg{width:115px;height:26px;overflow:visible}
.site-mark small{font-size:7.5px;letter-spacing:.28em;color:var(--muted);font-weight:500}
.site-top .kind{font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--muted);text-transform:uppercase}

.wrap{max-width:760px}
.back{display:inline-flex;align-items:center;min-height:40px;font-size:13px;color:var(--muted);text-decoration:none}
.back:hover{color:#fff}
h1{font-family:var(--serif);font-weight:700;color:var(--head);font-size:clamp(26px,4.4vw,36px);letter-spacing:.06em;line-height:1.45;margin:18px 0 10px}
h1:after{content:"";display:block;width:40px;height:2px;border-radius:2px;background:var(--spectrum);margin-top:18px}
.lead{color:var(--muted);font-size:14px;line-height:2}
section{border:0;border-top:1px solid var(--line);border-radius:0;padding:22px 0 18px;margin-top:0}
section:last-of-type{border-bottom:1px solid var(--line)}
h2{font-family:var(--serif);font-weight:700;color:var(--head);font-size:17px;letter-spacing:.05em;margin:0 0 8px}
p,li{font-size:15px;line-height:2}
ol,ul{padding-left:1.4em}
li+li{margin-top:6px}
li::marker{color:var(--muted)}
dl{border:1px solid var(--line);border-radius:14px;background:var(--card)}
dl>div{border-top:1px solid var(--line)}
dt{background:var(--soft);color:var(--head);font-size:14px}
dd{color:var(--ink);font-size:14.5px;line-height:1.95}
table{font-size:14px}
th,td{border:1px solid var(--line);padding:11px 12px;line-height:1.85}
th{background:var(--soft);color:var(--head);font-weight:700}
.date{color:var(--muted)}
footer{color:var(--muted);border-color:var(--line)}
footer a{color:var(--ink)}

.top{border-bottom:1px solid var(--line);background:transparent}
.top .wrap{min-height:72px}
.brand{font-family:var(--serif);font-weight:700;color:#fff;letter-spacing:.08em}
.top small{color:var(--muted)}
.steps li{background:#1c1a21;color:var(--muted);border:1px solid var(--line);border-radius:12px}
.steps li[aria-current="step"]{background:linear-gradient(#211b2a,#211b2a) padding-box,var(--spectrum) border-box;border:1px solid transparent;color:#fff}
.steps li.done{background:#1f2a24;color:#bfe3cc;border-color:#2f5a42}
.card{background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:0 20px 50px #0007}
.card h2{color:var(--head)}
input[type=text],input[type=email],input[type=tel]{background:#121115;color:var(--ink);border:1px solid #4a4453;border-radius:12px}
input::placeholder{color:#8f8999}
input:focus-visible{outline:3px solid #c9a4ff40;border-color:#c9a4ff}
.req{background:#f779b2;color:#201527}
.hint,.note{color:var(--muted)}
.btn{border-radius:999px;letter-spacing:.04em}
.btn-main{background:var(--spectrum);color:#201527;font-weight:800;border:1px solid #ffffff2e;box-shadow:0 10px 30px #c45fd033}
.btn-main:hover:not(:disabled){filter:brightness(1.08)}
.btn-main:disabled{background:#2b2831;color:#9d97a7;box-shadow:none;filter:none;opacity:1}
.btn-sub{background:transparent;color:var(--ink);border:1px solid #ffffff3a}
.btn-sub:hover{border-color:#c9a4ff99}
dl.sum{border-color:var(--line);border-radius:14px}
dl.sum dt{background:var(--soft);color:var(--head)}
dl.sum dd{color:var(--ink)}
.total{font-family:var(--serif);color:#fff}
.alert{background:#2a2216;border-color:#6b5631;color:#f3dfb4}
.co{border-color:#ff9a8f;color:#ffc2bb;background:#2a1715}
.agree-box{background:#141318;border-color:var(--line);border-radius:14px}
.agree-box legend{color:var(--head)}
.agree+.agree{border-top-color:#ffffff1a}
.agree input{accent-color:#c9a4ff}
footer{border-top:1px solid var(--line)}

h1{text-wrap:balance;word-break:auto-phrase}
.site-top .in{gap:12px}
.count{border-collapse:collapse;width:100%;margin:12px 0 6px;font-size:13.5px;border-radius:0}
.count caption{caption-side:top;text-align:left;font-weight:700;color:var(--head);padding:0 0 6px;font-size:13.5px}
.count th,.count td{border:1px solid var(--line);padding:7px 10px;text-align:left;vertical-align:top;line-height:1.7;font-size:13.5px;width:auto}
.count th{background:var(--soft);color:var(--head);font-weight:700}
.count td:first-child{white-space:nowrap}
@media (max-width:380px){.count td:first-child{white-space:normal}}
.btn{white-space:nowrap}
.nw{white-space:nowrap}
@media (max-width:480px){
  table:not(.count),table:not(.count) tbody,table:not(.count) tr,table:not(.count) th,table:not(.count) td{display:block;width:auto!important}
  table:not(.count) tr+tr{margin-top:10px}
  table:not(.count) td{border-top:0}
}
.count tr>:first-child{width:46%}
.count td:first-child .tbd{white-space:nowrap}
