:root{
  --sumi:#0E1319; --yoru:#272A2D;
  --hakuji:#EDEFEE; --kinu:#F6F7F6;
  --ai:#1E3348; --akari:#D6B254; --akari-d:#C6A244; --akari-t:#1C1810;
  --yorui:#2E3F56; --yorui-d:#253346; --hanada:#4F6A83; --usu:#A3B6C6;
  --mincho:"Zen Old Mincho","Yu Mincho",serif;
  --gothic:"Noto Sans JP","Hiragino Sans",sans-serif;
  --pad:clamp(22px,5vw,60px);
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--gothic);font-weight:300;background:var(--kinu);color:var(--ai);
  -webkit-font-smoothing:antialiased;line-height:2}
a{color:inherit}
.wrap{max-width:760px;margin:0 auto;padding:clamp(54px,8vw,96px) var(--pad) clamp(72px,10vw,120px)}
.brand{display:block;text-align:center;font-family:var(--mincho);font-size:15px;
  letter-spacing:.3em;text-indent:.3em;text-decoration:none;margin-bottom:clamp(34px,5vw,54px);opacity:.8}
h1{font-family:var(--mincho);font-weight:400;font-size:clamp(21px,4.4vw,28px);
  letter-spacing:.14em;line-height:1.9;text-align:center;margin-bottom:clamp(26px,4vw,40px)}
h2{font-family:var(--mincho);font-weight:400;font-size:15px;letter-spacing:.12em;
  margin:clamp(30px,4vw,44px) 0 10px}
p{font-size:13.5px;letter-spacing:.04em;margin-bottom:1.1em}
.lead{text-align:center;opacity:.8;margin-bottom:clamp(28px,4vw,40px)}
.note{font-size:12px;opacity:.6;line-height:2.1}
dl.kv{display:grid;grid-template-columns:9em 1fr;font-size:13px;letter-spacing:.04em}
dl.kv dt{opacity:.55;padding:10px 0;border-top:1px solid rgba(30,51,72,.12)}
dl.kv dd{padding:10px 0;border-top:1px solid rgba(30,51,72,.12)}
@media(max-width:560px){
  dl.kv{grid-template-columns:1fr}
  dl.kv dt{padding-bottom:0;border-top:1px solid rgba(30,51,72,.12)}
  dl.kv dd{padding-top:2px;border-top:0}
}
ol,ul{margin:0 0 1.2em 1.3em;font-size:13.5px;letter-spacing:.04em}
li{margin-bottom:.4em}
.btn{display:block;width:100%;max-width:360px;margin:0 auto;text-align:center;
  text-decoration:none;border:0;cursor:pointer;background:var(--akari);color:var(--akari-t);
  font-family:var(--gothic);font-size:14.5px;letter-spacing:.18em;text-indent:.18em;
  padding:19px;transition:background .25s}
.btn:hover{background:var(--akari-d)}
.btn.night{background:var(--yorui);color:#F2F5F8}
.btn.night:hover{background:var(--yorui-d)}
.btn .sub{display:block;font-size:10.5px;letter-spacing:.06em;text-indent:0;margin-top:7px;opacity:.72}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.field{max-width:360px;margin:0 auto 18px}
.field input{width:100%;padding:15px 16px;font-size:14px;font-family:var(--gothic);
  border:1px solid rgba(30,51,72,.22);background:#fff;color:var(--ai);letter-spacing:.04em}
.field input:focus{outline:1px solid var(--ai);outline-offset:1px}
.foot{margin-top:clamp(44px,6vw,64px);text-align:center;font-size:11.5px;letter-spacing:.1em;opacity:.55;line-height:2.4}
.foot a{text-underline-offset:3px}
.msg{max-width:360px;margin:0 auto 18px;padding:13px 16px;font-size:12.5px;line-height:1.9;
  background:#fff;border-left:2px solid var(--akari)}
.msg.err{border-left-color:#B4553F}
