.news-page { background: #ececec; color: #111; }
.news-page .site-header { background: rgba(105,105,105,.96); border-color: rgba(255,255,255,.38); }
.news-page .site-header.scrolled { background: rgba(85,85,85,.96); }
.news-main { min-height: 100vh; padding: 165px 8.5vw 120px; background: #ececec; }
.news-breadcrumb { margin: 0 0 72px; color: #6c6c6c; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
.news-breadcrumb a { border-bottom: 1px solid #999; }
.news-hero { max-width: 1120px; }
.news-hero .kicker { color: #666; }
.news-hero h1 { max-width: 1050px; margin: 0; font-size: clamp(38px,5.5vw,78px); font-weight: 500; line-height: 1.4; letter-spacing: -.035em; }
.news-date { display: flex; gap: 28px; align-items: center; margin: 38px 0 0; font: 500 14px var(--serif); letter-spacing: .08em; }
.news-date span { color: #777; font: 600 10px var(--sans); letter-spacing: .15em; text-transform: uppercase; }
.news-rule { height: 1px; margin: 74px 0; background: #aaa; }
.news-kv { margin: 36px auto 0; max-width: 640px; }
.news-kv a { display: block; }
.news-kv img { width: 100%; height: auto; max-height: 560px; object-fit: contain; }
.news-kv figcaption { margin-top: 16px; color: #666; font-size: 13px; text-align: center; }
.news-kv + .news-rule { margin-top: 48px; }
.news-article { display: grid; grid-template-columns: minmax(150px,230px) minmax(0,720px); gap: 8vw; }
.news-article-label { color: #777; font: 500 12px var(--serif); letter-spacing: .14em; text-transform: uppercase; }
.news-copy { font-size: 17px; line-height: 2.15; }
.news-copy p { margin: 0 0 1.5em; }
.news-archive-body { max-width: 800px; margin: 0 auto; }
.news-archive-body .news-kv { margin: 32px auto; }
.news-copy a { text-decoration: underline; text-underline-offset: 4px; overflow-wrap: anywhere; }
.news-archive-note { margin: 32px 0; padding: 24px; border: 1px solid #aaa; font-size: 14px; }
.news-source { display: inline-flex; gap: 22px; align-items: center; margin-top: 24px; padding: 16px 0; border-bottom: 1px solid #333; font-size: 14px; }
.news-source span { font-size: 20px; }
.news-back { display: inline-flex; margin-top: 90px; padding-bottom: 7px; border-bottom: 1px solid #333; font-size: 13px; letter-spacing: .08em; }
.news-index-head { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 68px; }
.news-index-head h1 { margin: 0; font: 500 clamp(76px,12vw,170px)/.65 var(--serif); letter-spacing: -.04em; }
.news-index-head p { max-width: 420px; margin: 0; color: #686868; line-height: 2; }
.news-page .news-list { border-color: #999; }
.news-page .news-item { grid-template-columns: 135px 130px 1fr 40px; }
.news-page .news-item h2 { margin: 0; font-size: 20px; font-weight: 500; line-height: 1.7; }
.news-page .news-item:hover { background: #ddd9d1; }
.news-page .site-footer { background: #898989; color: rgba(255,255,255,.72); }
.news-page .site-footer .footer-brand { color: #fff; }

@media (max-width: 800px) {
  .news-main { padding: 125px 24px 80px; }
  .news-breadcrumb { margin-bottom: 48px; }
  .news-hero h1 { font-size: 34px; line-height: 1.5; }
  .news-rule { margin: 52px 0; }
  .news-article { grid-template-columns: 1fr; gap: 22px; }
  .news-copy { font-size: 16px; }
  .news-back { margin-top: 60px; }
  .news-index-head { display: block; margin-bottom: 48px; }
  .news-index-head h1 { font-size: 82px; }
  .news-index-head p { margin-top: 35px; }
  .news-page .news-item { grid-template-columns: 94px 1fr 25px; }
  .news-page .news-item h2 { grid-column: 1/3; font-size: 16px; }
  .news-page .news-item b { grid-column: 3; grid-row: 1/3; }
}
