:root{
  --washi:#F5F0E6;--card:#FCFAF4;--sunken:#ECE5D8;--line:#E3D9C7;
  --sumi:#1F1B16;--sumi2:#5A5148;--muted:#6E6559;--faint:#8C8377;
  --kuwa:#3E2C1D;--ameDeep:#9E5A24;--ai:#2E5E7E;
  --font:"Inter","Zen Kaku Gothic New","Hiragino Sans",system-ui,sans-serif;
  --serif:"Zen Old Mincho","Hiragino Mincho ProN",serif;
}
html[lang="en"]{--font:"Inter",system-ui,-apple-system,sans-serif;--serif:"Zen Old Mincho",Georgia,serif}
*{box-sizing:border-box}
body{margin:0;background:var(--washi);color:var(--sumi);font-family:var(--font);line-height:1.9;
  -webkit-font-smoothing:antialiased}
.wrap{max-width:760px;margin:0 auto;padding:0 24px}
.nav{border-bottom:1px solid var(--line);background:var(--card)}
.nav .wrap{display:flex;align-items:center;gap:16px;height:60px;max-width:1000px}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-weight:700;
  font-size:16px;color:var(--sumi);text-decoration:none;letter-spacing:.04em}
.brand img{width:26px;height:26px;border-radius:7px;display:block;flex:none}
.brand span{white-space:nowrap}
.nav .spacer{flex:1}
.lang{display:flex;gap:2px;border:1px solid var(--line);border-radius:999px;padding:3px;background:var(--washi)}
.lang a{text-decoration:none;font-size:12px;color:var(--muted);padding:4px 11px;
  border-radius:999px;line-height:1;white-space:nowrap}
.lang a.on{background:var(--kuwa);color:var(--washi)}
.doc{padding:56px 24px 80px}
.doc h1{font-family:var(--serif);font-size:30px;line-height:1.5;letter-spacing:.02em;margin:0;text-wrap:balance}
.doc h2{font-size:17px;margin:42px 0 12px;letter-spacing:.01em;text-wrap:balance}
.doc h3{font-size:15px;margin:26px 0 8px;color:var(--sumi2)}
.doc p{margin:0 0 14px;font-size:15px;color:var(--sumi2);text-wrap:pretty}
.doc ul{margin:0 0 14px;padding-left:22px}
.doc li{font-size:15px;color:var(--sumi2);margin-bottom:9px}
.doc a{color:var(--ai);overflow-wrap:anywhere}
.updated{font-size:13px;color:var(--faint);margin:14px 0 0}
.doc .box{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin:0 0 18px}
.doc .box p:last-child{margin-bottom:0}
footer{border-top:1px solid var(--line);padding:34px 0 52px;background:var(--sunken)}
footer .wrap{display:flex;flex-wrap:wrap;gap:16px;align-items:center;font-size:13px;max-width:1000px}
footer a{color:var(--sumi2);text-decoration:none}
footer a:hover{color:var(--sumi)}
footer .sp{flex:1}
footer .cr{color:var(--muted);font-size:12px}
.mail{overflow-wrap:anywhere}
@media(max-width:620px){
  .doc{padding:40px 20px 64px}
  .doc h1{font-size:25px}
  .wrap{padding:0 20px}
}
