
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:Georgia,"Noto Serif SC","SimSun",serif; color:#171310; background:#faf9f7; }
a { color:#171310; text-decoration:none; }
a:hover { color:#c11e3b; }
.wrap { width:1080px; max-width:95%; margin:0 auto; }
.mast { text-align:center; padding:26px 0 14px; }
.mast .date { font-size:12px; color:#8a8378; letter-spacing:2px; margin-bottom:10px; }
.mast h1 { font-size:44px; letter-spacing:10px; font-weight:900; }
.mast h1 span { color:#c11e3b; }
.mast .slogan { font-size:12px; color:#8a8378; letter-spacing:6px; margin-top:8px; }
.navline { border-top:3px double #171310; border-bottom:1px solid #171310; margin-top:14px; }
.nav { display:flex; justify-content:center; flex-wrap:wrap; }
.nav a { padding:11px 16px; font-size:15px; letter-spacing:1px; }
.nav a.on { color:#c11e3b; font-weight:bold; }
.rule { border-top:1px solid #d8d2c8; margin:26px 0; }
.lead { display:grid; grid-template-columns:2fr 1fr; gap:34px; margin-top:28px; }
.lead-main { border-right:1px solid #d8d2c8; padding-right:34px; }
.lead-main .cat { color:#c11e3b; font-size:13px; letter-spacing:4px; margin-bottom:12px; }
.lead-main h2 { font-size:34px; line-height:1.45; font-weight:900; margin-bottom:14px; }
.lead-main p.summary { font-size:15px; color:#555049; line-height:2; margin-bottom:12px; }
.lead-main .byline { font-size:12px; color:#8a8378; letter-spacing:1px; }
.lead-sub { margin-top:22px; padding-top:18px; border-top:1px solid #d8d2c8;
  display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.lead-sub h3 { font-size:17px; line-height:1.55; font-weight:bold; margin-bottom:6px; }
.lead-sub p { font-size:13px; color:#78716a; line-height:1.8;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.edit h4 { font-size:14px; letter-spacing:4px; color:#c11e3b; border-bottom:2px solid #171310;
  padding-bottom:8px; margin-bottom:6px; }
.edit ol { list-style:none; counter-reset:ed; }
.edit li { counter-increment:ed; padding:11px 0; border-bottom:1px dotted #cfc8bc; font-size:15px; line-height:1.6; }
.edit li:before { content:counter(ed,decimal-leading-zero); font-size:12px; color:#c11e3b;
  margin-right:10px; font-style:italic; }
.sec { margin-top:30px; }
.sec-h { border-top:3px double #171310; padding-top:10px; margin-bottom:16px;
  display:flex; justify-content:space-between; align-items:baseline; }
.sec-h b { font-size:21px; letter-spacing:3px; }
.sec-h b:before { content:"◆"; color:#c11e3b; font-size:13px; margin-right:9px; vertical-align:2px; }
.sec-h a { font-size:12px; color:#8a8378; letter-spacing:2px; }
.col3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; }
.col3 .cell { padding:0 22px; border-right:1px solid #d8d2c8; }
.col3 .cell:first-child { padding-left:0; }
.col3 .cell:last-child { border-right:none; padding-right:0; }
.cell h3 { font-size:16px; line-height:1.6; font-weight:bold; margin-bottom:6px; }
.cell p { font-size:13px; color:#78716a; line-height:1.8; margin-bottom:8px;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.cell .dt { font-size:11px; color:#a49c8f; letter-spacing:1px; }
.cell + .cellrule { border-top:1px dotted #cfc8bc; margin:14px 0; }
.cellitem { padding:12px 0; border-bottom:1px dotted #cfc8bc; }
.cellitem:last-child { border-bottom:none; }
.crumb { font-size:13px; color:#8a8378; margin:22px 0 6px; letter-spacing:1px; }
.crumb a { color:#8a8378; }
.listpage h2.pagetitle { font-size:30px; font-weight:900; letter-spacing:6px;
  border-bottom:3px double #171310; padding-bottom:14px; margin-bottom:6px; }
.lirow { padding:20px 0; border-bottom:1px solid #e2dcd2; }
.lirow h3 { font-size:19px; font-weight:bold; line-height:1.55; margin-bottom:8px; }
.lirow p { font-size:14px; color:#6f695f; line-height:1.9; margin-bottom:8px; }
.lirow .dt { font-size:12px; color:#a49c8f; letter-spacing:1px; }
.lirow .dt em { font-style:normal; color:#c11e3b; margin-right:12px; }
.pager { text-align:center; padding:26px 0 8px; font-size:14px; }
.pager a, .pager b { display:inline-block; min-width:32px; padding:6px 9px; margin:0 3px;
  border:1px solid #d8d2c8; background:#fff; }
.pager b { background:#171310; color:#fff; border-color:#171310; }
.article { max-width:860px; margin:0 auto; }
.article h1 { font-size:32px; line-height:1.5; font-weight:900; margin:10px 0 14px; }
.article .meta { font-size:12px; color:#8a8378; letter-spacing:1px; padding-bottom:14px;
  border-bottom:3px double #171310; margin-bottom:22px; }
.article .meta span { margin-right:18px; }
.article h2 { font-size:20px; margin:26px 0 12px; font-weight:900; }
.article h2:before { content:"◆"; color:#c11e3b; font-size:12px; margin-right:9px; vertical-align:2px; }
.article p { font-size:16px; line-height:2.1; margin-bottom:16px; color:#2e2a24; }
.endmark { text-align:center; color:#c11e3b; letter-spacing:6px; font-size:12px; margin:24px 0 6px; }
.pn { max-width:860px; margin:20px auto 0; display:flex; gap:24px; font-size:14px; }
.pn a, .pn span { flex:1; padding:12px 0; border-top:1px solid #d8d2c8; color:#555049;
  overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.rel { max-width:860px; margin:30px auto 0; }
.adbox { margin:22px 0; text-align:center; overflow:hidden; }
.article .adbox { margin:16px 0; }
.footer { border-top:3px double #171310; margin-top:40px; padding:22px 0 30px; font-size:13px;
  text-align:center; line-height:2.2; color:#6f695f; }
.footer a { color:#6f695f; }
@media (max-width:900px){
  .mast h1 { font-size:30px; letter-spacing:5px; }
  .lead { grid-template-columns:1fr; }
  .lead-main { border-right:none; padding-right:0; }
  .col3 { grid-template-columns:1fr; }
  .col3 .cell { padding:0; border-right:none; }
  .lead-sub { grid-template-columns:1fr; }
}
