/* お知らせ（/news/）用スタイル */
.news-page .header { background: #2c334a; }
.news-hero { padding: 140px 0 48px; background: linear-gradient(135deg, #1b2d4b 0%, #26497f 60%, #2c334a 100%); color: #fff; }
.news-hero h1 { color: #fff; font-weight: 700; font-size: clamp(1.7rem, 3.4vw, 2.4rem); line-height: 1.5; margin: .4rem 0 0; }
.news-eyebrow { font-size: .78rem; font-weight: 700; letter-spacing: .18em; color: #e3a127; }
.news-meta { margin: .6rem 0 .4rem; display: flex; gap: .8rem; align-items: center; color: rgba(255,255,255,.75); font-family: 'Roboto', 'Noto Sans JP', sans-serif; }
.news-meta .cat, .news-list .cat { font-size: .74rem; font-weight: 700; padding: .15rem .65rem; border-radius: 999px; background: rgba(227,161,39,.18); color: #e3a127; }
.news-sub { color: rgba(255,255,255,.82); margin: 1rem 0 0; line-height: 1.9; max-width: 900px; }

.news-body { background: #f5f7fa; padding: 56px 0 80px; color: #3d4a5c; }
.news-body p, .news-body li, .news-body dd, .news-body td { color: #3d4a5c; }

.news-list { list-style: none; margin: 0 auto; padding: 0; max-width: 960px; background: #fff; border: 1px solid #dfe5ec; border-radius: 16px; }
.news-list li { display: flex; flex-wrap: wrap; gap: .4rem 1rem; align-items: center; padding: 20px 24px; border-bottom: 1px solid #dfe5ec; }
.news-list li:last-child { border-bottom: 0; }
.news-list time { color: #6a7789; font-family: 'Roboto', sans-serif; font-size: .9rem; }
.news-list .cat { background: #fff1e5; color: #c2410c; }
.news-list a { color: #1f2a3d; font-weight: 700; text-decoration: none; flex: 1 1 360px; }
.news-list a:hover { color: #0875ad; }

.news-article { max-width: 880px; margin: 0 auto; background: #fff; border: 1px solid #dfe5ec; border-radius: 18px; padding: clamp(24px, 4vw, 48px); }
.news-article p, .news-article li { line-height: 2; }
.news-article h2 { color: #1f2a3d; font-size: 1.3rem; font-weight: 700; margin: 2.4rem 0 1rem; padding-left: .8rem; border-left: 4px solid #2c334a; }
.news-article ol { padding-left: 1.3rem; }
.news-article ol li { margin-bottom: .6rem; }
.news-article strong { color: #1f2a3d; }
.news-article a { color: #0875ad; }
.news-table-wrap { overflow-x: auto; margin: 1rem 0; }
.news-table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.news-table th { background: #2c334a; color: #fff; padding: 10px 14px; text-align: left; font-weight: 700; }
.news-table td { border-bottom: 1px solid #dfe5ec; padding: 12px 14px; }
.news-link-box { background: #e7f5fc; border-radius: 12px; padding: 14px 18px; }
.news-link-box a { font-weight: 700; text-decoration: none; }
.news-comment { background: #f5f7fa; border-radius: 12px; padding: 20px 24px; }
.news-comment .who { font-weight: 700; color: #1f2a3d; margin-bottom: .4rem; }
.news-org dt { color: #1f2a3d; font-weight: 700; margin-top: 1rem; }
.news-org dd { margin: .3rem 0 0; line-height: 1.9; }
.news-note { font-size: .84rem; color: #6a7789 !important; margin-top: 2rem; line-height: 1.8 !important; }
.news-contact { margin-top: 1.6rem; border-top: 1px solid #dfe5ec; padding-top: 1.2rem; }
.news-contact .ttl { font-weight: 700; color: #1f2a3d; margin-bottom: .2rem; }
.news-back { margin-top: 2rem; }
.news-back a { text-decoration: none; font-weight: 700; }
.news-partner { margin-bottom: 1.8rem; padding-bottom: 1.6rem; border-bottom: 1px solid #dfe5ec; text-align: center; }
.news-partner img { display: inline-block; width: 100%; max-width: 440px; height: auto; }

/* 記事内の画面例（2026-10 トスアップ版で追加） */
.news-fig { margin: 1.6rem 0; }
.news-fig img { display: block; max-width: 100%; height: auto; margin: 0 auto; border: 1px solid #dfe5ec; border-radius: 10px; box-shadow: 0 10px 24px rgba(27,45,75,.08); }
.news-fig figcaption { margin-top: .6rem; text-align: center; font-size: .84rem; color: #6a7789; }
