/* 共通ヘッダー/フッターは main.css。ここはページ固有スタイルのみ */
  main .wrap { max-width:820px; }
  main { padding:48px 0 72px; }
  h1 { font-family:var(--font-display); font-size:28px; color:var(--rose-ink); margin-bottom:8px; }
  .lead { color:var(--ink-soft); font-size:14px; margin-bottom:28px; }
  .news-list { display:flex; flex-direction:column; gap:12px; }
  .news-item { display:flex; align-items:flex-start; gap:14px; background:#fff; border:1px solid var(--line); border-radius:16px; padding:16px 18px; box-shadow:var(--shadow-card); }
  .news-item .date { font-family:var(--font-num); font-size:12px; color:var(--ink-soft); white-space:nowrap; padding-top:2px; }
  .news-item .tag { font-size:11px; font-weight:700; padding:3px 10px; border-radius:999px; white-space:nowrap; }
  .tag.info { background:#E8EEF7; color:#5b7fa6; }
  .tag.new { background:#FCE4EA; color:var(--blush-deep); }
  .tag.camp { background:#EEF6EC; color:var(--sage-deep); }
  .news-item .body { flex:1; }
  .news-item .nt { font-size:15px; font-weight:500; color:var(--ink); }
  .news-item .nd { font-size:13px; color:var(--ink-soft); margin-top:4px; }
  @media (max-width:600px){ .news-item{flex-wrap:wrap; gap:8px;} .news-item .body{flex-basis:100%;} }
  .note { background:#fff; border:1px solid var(--line); border-radius:12px; padding:16px 18px; font-size:13px; color:var(--ink-soft); margin-top:28px; }
