/* 漢字ソリティア：和紙の地に墨の文字、朱は見出しの印だけ */
:root { --paper:#f4f0e6; --card:#fbf9f3; --ink:#1c1b1f; --sub:#5b5850; --line:#ddd5c4; --shu:#c23a2b; --navy:#18202e;
  --k:"Shippori Mincho B1","Hiragino Mincho ProN","Yu Mincho",serif; --ui:"Zen Kaku Gothic New","Hiragino Sans","Yu Gothic",sans-serif; }
@media (prefers-color-scheme: dark) { :root { --paper:#18202e; --card:#222c3d; --ink:#e8ecf4; --sub:#a9b2c4; --line:#34405a; } }
* { box-sizing: border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.85 var(--ui); -webkit-text-size-adjust:100%; }
.wrap { max-width:720px; margin:0 auto; padding:28px max(20px, env(safe-area-inset-left)) 64px; }
header { display:flex; align-items:center; gap:14px; margin-bottom:28px; }
header img { width:64px; height:64px; border-radius:15px; flex:none; }
header .t { font:800 24px/1.3 var(--k); margin:0; }
header .s { color:var(--sub); font-size:13px; margin:2px 0 0; }
nav { display:flex; gap:8px; margin:-8px 0 28px; flex-wrap:wrap; }
nav a { font-size:14px; color:var(--ink); text-decoration:none; border:1px solid var(--line); border-radius:999px; padding:5px 14px; }
nav a[aria-current="page"] { background:var(--ink); color:var(--paper); border-color:var(--ink); }
h1 { font:800 26px/1.4 var(--k); margin:0 0 6px; }
.updated { color:var(--sub); font-size:13px; margin:0 0 24px; }
h2 { font:800 19px/1.5 var(--k); margin:36px 0 10px; padding-left:14px; border-left:5px solid var(--shu); }
h3 { font-size:16px; margin:22px 0 6px; }
p, li { max-width:65ch; }
ul, ol { padding-left:1.4em; }
li { margin:4px 0; }
table { width:100%; border-collapse:collapse; font-size:14px; margin:10px 0; }
th, td { text-align:left; vertical-align:top; padding:9px 10px; border-bottom:1px solid var(--line); }
th { width:30%; color:var(--sub); font-weight:700; }
.box { background:var(--card); border:1px solid var(--line); border-radius:12px; padding:16px 18px; margin:14px 0; }
.faq details { background:var(--card); border:1px solid var(--line); border-radius:12px; padding:2px 16px; margin:10px 0; }
.faq summary { cursor:pointer; font-weight:700; padding:12px 0; }
.faq details p { margin:0 0 14px; }
a { color:var(--shu); }
.mail { font-weight:700; user-select:all; }
footer { margin-top:48px; padding-top:16px; border-top:1px solid var(--line); color:var(--sub); font-size:13px; }
