/* ============================================================
   Protagonist — ニュースルーム（/news/・/news/{slug}/・/press/）固有 CSS
   共有トークン・コンポーネント（page-hero / chips / prose / pager / about / page-cta）は
   design-system.css。ここにはニュース一覧・リリースの型・メディア掲載の構造のみ。
   ============================================================ */

/* 一覧（ニュース・メディア掲載・関連リリース共通の行） */
.news-list,.coverage-list{list-style:none;border-top:1px solid var(--line);max-width:860px}
.news-item,.coverage-item{padding:clamp(20px,2.6vw,30px) 0;border-bottom:1px solid var(--line)}
.news-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;color:var(--muted)}
.news-cat{padding:.3rem .55rem;border:1px solid var(--hair);color:var(--ink);line-height:1;text-transform:uppercase}
.news-cat.is-muted{border-color:var(--line);color:var(--muted)}
.coverage-outlet{color:var(--graphite);letter-spacing:.04em}
.news-title{font-family:var(--jp);font-weight:500;font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.5;letter-spacing:-.005em;margin-top:.6rem}
.news-title a{transition:color .3s}
.news-title a:hover{color:var(--graphite)}
.news-title .nw-tail{white-space:nowrap}
.news-title svg{width:.8em;height:.8em;margin-left:.35em;vertical-align:baseline}
.news-title svg path{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.news-ex{color:var(--graphite);font-size:.92rem;line-height:1.8;margin-top:.5rem}
.news-empty{color:var(--graphite)}

/* 個別: Hero */
.page-hero .news-h1{font-size:clamp(1.6rem,3.8vw,2.8rem);line-height:1.3}
.news-dates{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;margin-top:clamp(16px,2.2vw,24px);font-size:.7rem;letter-spacing:.08em;color:var(--muted)}

/* 個別: リリースの型 */
.news-body .shell > *{max-width:760px}
.news-issuer-note{font-size:.9rem;line-height:1.8;color:var(--graphite);border:1px solid var(--line);padding:1rem 1.2rem;margin-bottom:clamp(24px,3vw,36px)}
.news-issuer-note a,.news-origin a,.news-contact a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--hair)}
.news-summary{border:1px solid var(--ink);padding:clamp(18px,2.4vw,28px);margin-bottom:clamp(28px,3.6vw,44px)}
.news-label{font-size:.66rem;letter-spacing:.14em;color:var(--muted);margin-bottom:.7rem}
.news-summary ul{padding-left:1.2rem;display:grid;gap:.45rem}
.news-summary li{font-size:1rem;line-height:1.7;color:var(--ink)}
.news-quote{margin:clamp(32px,4vw,48px) 0;padding-left:1.2rem;border-left:2px solid var(--ink)}
.news-quote blockquote{font-size:1rem;line-height:1.9;color:var(--ink-2)}
.news-quote figcaption{margin-top:.8rem;font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;color:var(--muted)}
.news-faq{margin:clamp(32px,4vw,48px) 0}
.news-faq h2,.news-boiler h2{font-family:var(--jp);font-weight:500;font-size:clamp(1.2rem,2.2vw,1.5rem);letter-spacing:-.01em;margin-bottom:1rem}
.news-faq dl{border-top:1px solid var(--line)}
.news-faq dl > div{padding:1rem 0;border-bottom:1px solid var(--line)}
.news-faq dt{font-weight:700;color:var(--ink);line-height:1.7}
.news-faq dt::before{content:"Q. ";font-family:var(--mono);color:var(--muted)}
.news-faq dd{margin-top:.4rem;color:var(--graphite);line-height:1.8}
.news-notes{margin-top:clamp(24px,3vw,36px)}
.news-notes p{font-size:.8rem;line-height:1.7;color:var(--muted)}
.news-origin{margin-top:1.2rem;font-size:.9rem;color:var(--graphite)}

/* 個別: ボイラープレート（会社概要・自動付与） */
.news-boiler{margin-top:clamp(40px,5vw,64px);padding-top:clamp(28px,3.4vw,40px);border-top:1px solid var(--line)}
.news-boiler dl{display:grid;gap:.5rem}
.news-boiler dl > div{display:grid;grid-template-columns:7.5em 1fr;gap:1rem;font-size:.88rem;line-height:1.7}
.news-boiler dt{color:var(--muted)}
.news-boiler dd{color:var(--graphite);overflow-wrap:anywhere}
.news-contact{margin-top:1.2rem;font-size:.88rem;color:var(--graphite);line-height:1.8}
@media(max-width:520px){.news-boiler dl > div{grid-template-columns:1fr;gap:.1rem}}

.case-actions{margin-top:clamp(36px,5vw,56px);padding-top:clamp(28px,3.4vw,40px);border-top:1px solid var(--line);display:flex;gap:.9rem;flex-wrap:wrap}
