@charset "UTF-8";
/* =========================================
   お知らせ(/news/)専用CSS — design/news.html 準拠
   数値・色はモックのインラインstyleをそのまま移植
========================================= */

/* ---------- 一覧 (/news/) ---------- */
.stream-news {
	background: #f2f8ff;
	/* 上余白は固定ヘッダー(88px)込みのモック値(design/news.html と同一) */
	padding: clamp(96px, 10vw, 150px) 0 clamp(64px, 8vw, 110px);
	font-family: 'Noto Sans JP', sans-serif;
}
.stream-news__inner { width: min(1000px, 90vw); margin: 0 auto; }

.stream-news__eyebrow {
	display: flex; align-items: center; gap: 12px; margin: 0 0 18px;
	font-family: 'Outfit', sans-serif; font-size: 12px; font-weight: 500;
	letter-spacing: .32em; text-transform: uppercase; color: #2470cf;
}
.stream-news__eyebrow-line { width: 30px; height: 1px; background: #2470cf; }
.stream-news__title {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: clamp(25px, 2.8vw, 38px); font-weight: 600; color: #0a1656; margin: 0 0 14px;
}
.stream-news__lead {
	font-size: 14.5px; line-height: 2; color: #5a6378;
	margin: 0 0 clamp(30px, 3.6vw, 48px); max-width: 620px;
}

/* 白帯リスト: 日付 / ピル / タイトル / → */
.stream-news__list { background: #fff; border-top: 1px solid #dbe6f3; overflow: hidden; }
.stream-news__row {
	display: flex; align-items: center; flex-wrap: wrap;
	gap: clamp(16px, 2.4vw, 32px);
	padding: clamp(18px, 1.8vw, 24px) clamp(22px, 3vw, 40px);
	border-bottom: 1px solid #eef4fb; text-decoration: none;
	transition: background .25s ease;
}
.stream-news__row:hover { background: #f5faff; }
.stream-news__date {
	font-family: 'Outfit', sans-serif; font-size: 14.5px; color: #7e93b3;
	letter-spacing: .04em; min-width: 92px; font-variant-numeric: tabular-nums;
}
.stream-news__pill {
	font-family: 'Outfit', sans-serif; font-size: 11px; font-weight: 600;
	letter-spacing: .12em; text-transform: uppercase; color: #2470cf;
	border: 1px solid #cfe0f2; border-radius: 999px; padding: 5px 15px;
	min-width: 66px; text-align: center;
}
.stream-news__row-title { font-size: 15px; color: #0a1656; line-height: 1.6; flex: 1; min-width: 220px; }
.stream-news__arrow { color: #b7c6dc; font-size: 16px; }

.stream-news__back {
	margin: clamp(34px, 4vw, 48px) 0 0; display: flex; width: fit-content;
	align-items: center; gap: 10px;
	font-family: 'Noto Sans JP', sans-serif; font-weight: 700;
	font-size: 14.5px; color: #2470cf; text-decoration: none;
}
.stream-news__empty { color: #5a6378; }

/* WPのページネーション(the_posts_pagination)をトーンに合わせる */
.stream-news__pagination { margin-top: clamp(28px, 3vw, 40px); }
.stream-news__pagination .nav-links { display: flex; justify-content: center; gap: 8px; }
.stream-news__pagination .page-numbers {
	font-family: 'Outfit', sans-serif; font-size: 13.5px; color: #5a6378;
	background: #fff; border: 1px solid #dbe6f3; border-radius: 8px;
	padding: 8px 14px; text-decoration: none;
}
.stream-news__pagination .page-numbers.current { background: #2470cf; border-color: #2470cf; color: #fff; }
.stream-news__pagination .page-numbers:hover:not(.current) { border-color: #2470cf; color: #2470cf; }
.stream-news__pagination .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.stream-news__pagination h2 { display: none; }

/* ---------- 個別 (/news/xxx/) ---------- */
/* お知らせは短文なのでSWELL自動挿入の目次(.p-toc)は不要 → 非表示 */
.stream-single--news .p-toc { display: none; }
.stream-single--news {
	background: #fff; color: #0a1656;
	font-family: 'Noto Sans JP', sans-serif;
	max-width: 840px; margin: 0 auto;
	padding: clamp(110px, 10vw, 150px) 20px clamp(64px, 8vw, 110px); /* 上=固定ヘッダー分 */
}
.stream-single--news .stream-single__label {
	display: flex; align-items: center; gap: 12px; margin: 0 0 12px;
	font-family: 'Outfit', sans-serif; font-size: 12px; font-weight: 500;
	letter-spacing: .32em; text-transform: uppercase; color: #2470cf;
}
.stream-single--news .stream-single__label::before { content: ""; width: 30px; height: 1px; background: #2470cf; }
.stream-single__date { font-family: 'Outfit', sans-serif; font-size: 13.5px; color: #7e93b3; font-variant-numeric: tabular-nums; }
.stream-single--news .stream-single__title {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: clamp(21px, 2.4vw, 29px); font-weight: 600; line-height: 1.7;
	margin: 10px 0 30px; text-wrap: balance;
}
.stream-single--news .stream-single__body { line-height: 1.8; color: #3a4256; font-size: 16px; max-width: 800px; }
/* 見出し(参考サイト準拠・editor.css共通): h2=紺32px装飾なし / h3=紺20px+下線 */
.stream-single--news .stream-single__body h2 {
	color: #0a1656; font-family: 'Noto Sans JP', sans-serif; font-size: 32px; font-weight: 700;
	line-height: 1.6; margin: 48px 0 35px; padding: 0; background: none; border: 0;
}
.stream-single--news .stream-single__body h3 {
	color: #0a1656; font-family: 'Noto Sans JP', sans-serif; font-size: 20px; font-weight: 700;
	line-height: 1.3; margin: 40px 0 30px; padding: 0 0 10px; background: none;
	border: 0; border-bottom: 2px solid #0a1656;
}
/* 記事内の表: editor.css の実描画に合わせる（紺ヘッダ・ゼブラなし・th左/本文1列目左他中央） */
.stream-single--news .stream-single__body table {
	width: 100%; border-collapse: collapse; font-size: 13.5px; margin: 1.6em 0; line-height: 1.7;
}
.stream-single--news .stream-single__body th,
.stream-single--news .stream-single__body td {
	border: 1px solid #dbe6f3; padding: 10px 12px; text-align: center;
}
.stream-single--news .stream-single__body th { background: #eef5fc; color: #0a1656; font-weight: 700; text-align: left; }
.stream-single--news .stream-single__body td:first-child { text-align: left; }
.stream-single--news .stream-single__foot { margin-top: 48px; padding-top: 22px; border-top: 1px solid #eef4fb; }
.stream-single--news .stream-single__back {
	font-family: 'Noto Sans JP', sans-serif; font-weight: 700;
	font-size: 14.5px; color: #2470cf; text-decoration: none;
}
.stream-single--news .stream-single__back:hover { text-decoration: underline; }

/* 本文の箇条書き(SWELLリセット対策) */
.stream-single--news .stream-single__body ul { list-style: disc; padding-left: 1.5em; margin: 0 0 1.6em; }
.stream-single--news .stream-single__body ol { list-style: decimal; padding-left: 1.5em; margin: 0 0 1.6em; }
.stream-single--news .stream-single__body li { margin: 6px 0; }
