/* 一覧は雑誌の表紙と目次、本文は一行を追える幅のままにする。 */
.stories-masthead { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 20px; padding: clamp(24px, 3.7vw, 50px) 0 18px; border-bottom: 1px solid var(--ink); }
.stories-masthead h1 { margin: 0; font: 500 clamp(44px, 6vw, 76px)/1 Georgia, "Times New Roman", serif; letter-spacing: -.055em; }
.stories-masthead p { margin: 0; font-size: 14px; letter-spacing: .07em; }
.story-feature { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); margin: 24px 0; background: #f5f3ed; color: var(--ink); text-decoration: none; }
.feature-photo { display: block; min-height: 100%; }
.feature-photo img { width: 100%; height: 100%; aspect-ratio: 16/9; display: block; object-fit: cover; }
.feature-copy { align-self: center; padding: clamp(18px,3vw,42px); }
.feature-category, .feature-read { display: block; font-size: 12px; font-weight: 600; }
.feature-category { color: #605b50; letter-spacing: .08em; }
.feature-copy strong { display: block; margin: 12px 0; font: 600 clamp(23px, 2.7vw, 37px)/1.45 "Hiragino Mincho ProN", "Yu Mincho", serif; letter-spacing: .015em; text-wrap: balance; }
.feature-description { color: #514f49; display: block; font-size: 14px; line-height: 1.85; }
.feature-read { margin-top: 20px; }
.feature-read span { margin-left: 4px; }
.story-feature:hover .feature-read, .story-feature:focus-visible .feature-read { color: var(--accent); text-decoration: underline; }
.story-filters { display: flex; flex-wrap: wrap; column-gap: clamp(14px,2vw,26px); margin: 8px 0 24px; border-bottom: 1px solid var(--rule); }
.story-filters a { display: inline-flex; align-items: center; padding-block: 10px; min-height: 44px; border-bottom: 2px solid transparent; margin-bottom: -1px; font-size: 13px; color: var(--ink-muted); text-decoration: none; }
.story-filters a[aria-current] { color: var(--ink); border-color: var(--ink); font-weight: 650; }
.story-filters a:hover { color: var(--accent); }
.story-cover, .story-hero img { border-radius: 3px; }
.story-title { margin-top: 5px; text-wrap: pretty; }
.story-meta { font-size: 12px; }
.story-crumb { display: flex; gap: 10px; align-items: center; color: var(--ink-muted); font-size: 13px; }
.story-crumb a { color: inherit; text-decoration: none; }
.story-crumb a:hover { text-decoration: underline; }
.story-head h1 { margin: 18px 0 14px; font-family: "Hiragino Mincho ProN", "Yu Mincho", serif; text-wrap: pretty; }
.story-head h1 span { display: block; font: 500 clamp(17px,2vw,22px)/1.6 var(--font); margin-top: 5px; }
.story-head .lede { font-size: 15px; }
.story-head .story-meta { margin-top: 14px; }
.story .prose { line-height: 1.95; }
.story .prose figure > img { width: 100%; height: auto; display: block; border-radius: 2px; }
.story .prose figcaption { margin: 8px 0 0; line-height: 1.65; }
.story .prose .story-spread ol { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); list-style: none; margin: 0; padding: 0; border: 1px solid var(--rule); background: var(--rule); gap: 1px; }
.story-spread ol li { margin: 0; padding: clamp(14px,2.5vw,24px); background: #f8f7f3; }
.spread-label { display: block; font: 600 12px/1.5 var(--font); color: #625e53; }
.story .story-spread li p { margin: .8em 0 .25em; font: 500 clamp(16px,2vw,21px)/1.75 "Hiragino Mincho ProN", "Yu Mincho", serif; }
@media (max-width: 650px) {
  .story-feature { grid-template-columns: 1fr; margin-top: 16px; }
  .feature-copy { padding: 18px 20px 20px; }
  .feature-copy strong { margin: 6px 0; }
  .feature-read { margin-top: 12px; }
  .story-filters { column-gap: 14px; }
}
