:root{
  --bg:#F3ECDD; --paper:#FBF7EF; --ink:#201812; --ink-2:#4A3A28;
  --muted:#8A7A66; --line:#D2C3A6; --accent:#A16A38;
  --serif:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;
  --sans:"Zen Kaku Gothic New","Hiragino Sans","Yu Gothic",sans-serif;
}
*{ box-sizing:border-box; }
body{ margin:0; background:var(--bg); color:var(--ink); font-family:var(--sans);
  line-height:1.95; letter-spacing:.03em; }
.wrap{ max-width:820px; margin:0 auto; padding:64px 24px 96px; }
.back{ display:inline-block; font-family:var(--sans); font-size:14px; color:var(--accent);
  text-decoration:none; margin-bottom:32px; letter-spacing:.08em; }
.back:hover{ text-decoration:underline; }
h1{ font-family:var(--serif); font-weight:500; font-size:28px; letter-spacing:.06em; margin:0 0 8px; }
.sub{ font-family:"Cormorant Garamond",serif; font-style:italic; color:var(--muted);
  margin-bottom:40px; font-size:15px; }
h2{ font-family:var(--serif); font-weight:600; font-size:18px; margin:40px 0 12px; letter-spacing:.05em; }
p{ margin:0 0 14px; font-size:15px; color:var(--ink-2); }
ul{ margin:0 0 14px; padding-left:1.4em; }
li{ font-size:15px; color:var(--ink-2); margin-bottom:6px; }
a{ color:var(--accent); }
table{ border-collapse:collapse; width:100%; margin:8px 0; font-size:14.5px; }
th,td{ text-align:left; vertical-align:top; padding:14px 16px; border-bottom:1px solid var(--line); }
th{ width:34%; font-weight:600; color:var(--ink); background:rgba(232,222,200,.4); }
td{ color:var(--ink-2); }
.todo{ color:#b4552e; font-weight:600; }
.foot{ margin-top:56px; padding-top:24px; border-top:1px solid var(--line); font-size:13px; color:var(--muted); }
@media(max-width:560px){ th,td{ display:block; width:100%; } th{ border-bottom:none; padding-bottom:4px; } }
