/* お知らせ専用。既存ページの部品には適用しない。 */
.site-news { margin: 24px 0; padding: 8px 0 16px; border-block: 1px solid var(--line); }
.news-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 16px; }
.news-head h2 { font-size: 1rem; margin: 0; }
.news-more { display: inline-flex; align-items: center; min-height: var(--tap, 44px); font-size: 14px; }
.news-empty { margin: 8px 0 0; color: var(--ink-sub); font-size: 16px; }
.news-summary { list-style: none; padding: 0; margin: 0; }
.news-summary li { display: grid; grid-template-columns: 10em minmax(0, 1fr); gap: 0 16px; align-items: baseline; }
.news-summary time, .news-entry time { font-size: 14px; color: var(--ink-sub); }
.news-summary a, .news-links a { display: inline-flex; align-items: center; min-height: var(--tap, 44px); overflow-wrap: anywhere; }
.news-list { margin-top: 24px; }
.news-entry { padding: 24px 0; border-bottom: 1px solid var(--line); scroll-margin-top: 24px; }
.news-entry:first-child { padding-top: 0; }
.news-entry h2 { margin: 8px 0 16px; font-size: 1.2rem; overflow-wrap: anywhere; }
.news-body { white-space: pre-line; overflow-wrap: anywhere; }
.news-links { list-style: none; margin: 20px 0 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; }
.news-store-link { border-radius: 8px; }
.news-store-link img { display: block; height: 48px; width: auto; max-width: 100%; }
.news-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.news-new { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; padding: 3px 8px; border-radius: 999px; background: #ba3028; color: #fff; font: 800 11px/1.4 system-ui, sans-serif; letter-spacing: .08em; vertical-align: middle; }
.news-new[hidden] { display: none; }
.news-summary a { gap: 8px; }
@media (max-width: 600px) {
  .news-summary li { grid-template-columns: minmax(0, 1fr); padding-top: 8px; }
}
