:root{
  --ink:#1c1f23; --mute:#5c646c; --rule:#dfe3e7; --bg:#ffffff; --soft:#f6f7f9;
  --accent:#8f2f34;
}
*{box-sizing:border-box}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",YuGothic,Meiryo,sans-serif;
  font-size:15px; line-height:1.85; -webkit-font-smoothing:antialiased;
}
.wrap{max-width:760px; margin:0 auto; padding:0 24px 80px}
header.site{border-bottom:2px solid var(--ink); padding:40px 0 18px; margin-bottom:34px}
header.site .co{font-size:12px; letter-spacing:.14em; color:var(--accent); margin:0 0 10px}
header.site h1{font-size:24px; line-height:1.4; margin:0 0 8px; font-weight:700}
header.site p{margin:0; color:var(--mute); font-size:14px}
h2{font-size:16px; margin:34px 0 10px; padding-bottom:6px; border-bottom:1px solid var(--rule)}
h3{font-size:14px; margin:22px 0 6px}
p{margin:0 0 12px}
ul{margin:0 0 14px; padding-left:22px}
li{margin-bottom:5px}
dl.info{margin:0; border-top:1px solid var(--rule)}
dl.info div{display:flex; gap:16px; border-bottom:1px solid var(--rule); padding:11px 0}
dl.info dt{flex:0 0 130px; color:var(--mute); font-size:13.5px; margin:0}
dl.info dd{margin:0; flex:1}
.box{background:var(--soft); border:1px solid var(--rule); padding:16px 18px; margin:0 0 16px}
.box p:last-child{margin-bottom:0}
nav.pages{margin:30px 0 0; padding-top:18px; border-top:1px solid var(--rule); font-size:14px}
nav.pages a{color:var(--accent); margin-right:18px}
footer.site{margin-top:46px; padding-top:16px; border-top:2px solid var(--ink);
  color:var(--mute); font-size:12.5px}
a{color:var(--accent)}
.date{color:var(--mute); font-size:13px; margin-bottom:24px}
