@charset "utf-8";
/* ============================================================
   bizon ネットワークセキュリティ対策 記事 専用スタイル
   https://www.ntt.com/etc/designs/nttcom/hq/jp/bizon/network-ict_security/css/style.css
   ------------------------------------------------------------
   設計方針（bizon 記事共通）：
   - 見出し(title-c2 等)・パンくず・ヘッダー/フッターは bizon 共通CSS に従う。
   - 記事固有コンポーネントのみを集約。クラス接頭辞：nws- で名前空間を分離。
   - 配色：navy #001F4E / red #CC0033 / gray #3C4043（共通トーン）。
   - 関連サービス（.related-services / .related-services-solo）と
     関連資料（related_useful_materials）は共通CSS・共通JSの部品をそのまま使う。
   ------------------------------------------------------------
   1. 箇条書き（nws-list）
   2. 出典注釈（nws-src）
   3. 事例のまとめ：この事例から／対応する対策／関連サービス（nws-case）・最初の一手（nws-first）
   4. 4つの領域の表（nws-tbl：SPは行ごとの縦カード）
   5. 図解：HTML/CSSで組む図1・図2（nws-fig：SPは縦積み）
   6. 本文中のサービス紹介（nws-cta）
   7. お役立ち資料バナー（guidebook-banner：ransomware-routes.html と共通の部品）
   8. FAQアコーディオン（nws-faq）
   ============================================================ */

/* ============================================================
   1. 箇条書き
   ============================================================ */
.article-contents .nws-list {
	list-style-position: outside !important;
	margin: 0 0 1.4em 1.6em !important;
	padding: 0 !important;
	font-size: 15.5px !important;
	line-height: 1.9 !important;
	color: #333 !important;
}
.article-contents ul.nws-list,
.article-contents ul.nws-list li { list-style-type: disc !important; }
.article-contents ol.nws-list,
.article-contents ol.nws-list li { list-style-type: decimal !important; }
.article-contents .nws-list li { display: list-item !important; margin: 0 0 .35em !important; padding: 0 !important; text-align: left !important; }
/* 共通CSSが li::before で付ける「・」と、ブラウザ標準の黒丸が重なるため、::before を消す */
.article-contents .nws-list li::before,
.article-contents .nws-list li::after { content: none !important; display: none !important; }

/* ============================================================
   2. 出典注釈
   ============================================================ */
.article-contents .nws-src {
	font-size: 12.5px !important;
	line-height: 1.7 !important;
	color: #666 !important;
	margin: -4px 0 20px !important;
	padding-left: 1em !important;
	text-indent: -1em !important;
}
.article-contents .nws-src a {
	color: #0a59b0 !important;
	text-decoration: underline !important;
}
/* ============================================================
   3. 事例のまとめ（nws-case）・最初の一手（nws-first）
   ============================================================ */
.article-contents .nws-case {
	border: 1px solid #dfe4ec !important;
	border-radius: 10px !important;
	background: #fff !important;
	box-shadow: 0 2px 8px rgba(0, 31, 78, .06) !important;
	overflow: hidden !important;
	margin: 18px 0 12px !important;
}
.article-contents .nws-case-row {
	display: flex !important;
	gap: 14px !important;
	align-items: flex-start !important;
	padding: 16px 18px !important;
}
.article-contents .nws-case-row + .nws-case-row { border-top: 1px dashed #dfe4ec !important; }
.article-contents .nws-case-ico {
	flex: 0 0 36px !important;
	width: 36px !important;
	height: 36px !important;
	border-radius: 50% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}
.article-contents .nws-case-ico svg { width: 20px !important; height: 20px !important; fill: #fff !important; }
.article-contents .nws-case-ico--lesson { background: #CC0033 !important; }
.article-contents .nws-case-ico--measure { background: #001F4E !important; }
.article-contents .nws-case-body { flex: 1 1 auto !important; min-width: 0 !important; }
.article-contents .nws-case-label {
	font-size: 13px !important;
	font-weight: 700 !important;
	color: #001F4E !important;
	margin: 0 0 4px !important;
	line-height: 1.5 !important;
}
.article-contents .nws-case-row:first-child .nws-case-label { color: #CC0033 !important; }
.article-contents .nws-case-text {
	font-size: 15px !important;
	line-height: 1.85 !important;
	color: #333 !important;
	margin: 0 !important;
}
.article-contents .nws-measures { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; margin-top: 4px !important; }
.article-contents .nws-measure {
	display: inline-flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 4px 8px !important;
	border: 1px solid #001F4E !important;
	border-radius: 6px !important;
	padding: 6px 12px 6px 6px !important;
	background: #e9eef5 !important;
	text-decoration: none !important;
	color: #001F4E !important;
	line-height: 1.4 !important;
}
.article-contents .nws-measure:hover { background: #dbe3ef !important; }
.article-contents .nws-measure-no {
	background: #001F4E !important;
	color: #fff !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	border-radius: 4px !important;
	padding: 2px 8px !important;
}
.article-contents .nws-measure-name { font-size: 15px !important; font-weight: 700 !important; color: #001F4E !important; }
.article-contents .nws-measure-note { font-size: 12.5px !important; color: #4a5a7a !important; }
.article-contents .nws-case-foot {
	background: #f4f5f7 !important;
	padding: 12px 18px 14px !important;
	border-top: 1px solid #dfe4ec !important;
}
.article-contents .nws-case-foot-label {
	font-size: 12.5px !important;
	font-weight: 700 !important;
	color: #666 !important;
	margin: 0 0 6px !important;
}
.article-contents .nws-case-svcs { display: flex !important; flex-direction: column !important; gap: 6px !important; }
.article-contents .nws-case-svc {
	position: relative !important;
	display: block !important;
	background: #fff !important;
	border: 1px solid #dfe4ec !important;
	border-radius: 6px !important;
	padding: 9px 36px 9px 14px !important;
	text-decoration: none !important;
	line-height: 1.5 !important;
	transition: border-color .2s ease !important;
}
.article-contents .nws-case-svc::after {
	content: "" !important;
	position: absolute !important;
	right: 16px !important;
	top: 50% !important;
	width: 8px !important;
	height: 8px !important;
	border-top: 2px solid #CC0033 !important;
	border-right: 2px solid #CC0033 !important;
	transform: translateY(-50%) rotate(45deg) !important;
}
.article-contents .nws-case-svc:hover { border-color: #CC0033 !important; }
.article-contents .nws-case-svc-name { display: block !important; font-size: 15px !important; font-weight: 700 !important; color: #CC0033 !important; }
.article-contents .nws-case-svc-note { display: block !important; font-size: 12.5px !important; color: #666 !important; }

.article-contents .nws-first {
	display: flex !important;
	gap: 14px !important;
	align-items: flex-start !important;
	border: 1px solid #dfe4ec !important;
	border-radius: 10px !important;
	background: #f4f7fb !important;
	padding: 14px 18px !important;
	margin: 16px 0 20px !important;
}
.article-contents .nws-first-ico {
	flex: 0 0 36px !important;
	width: 36px !important;
	height: 36px !important;
	border-radius: 50% !important;
	background: #001F4E !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}
.article-contents .nws-first-ico svg { display: block !important; width: 18px !important; height: 18px !important; fill: #fff !important; }
.article-contents .nws-first-body { flex: 1 1 auto !important; min-width: 0 !important; }
.article-contents .nws-first-head {
	font-size: 13px !important;
	font-weight: 700 !important;
	color: #001F4E !important;
	line-height: 1.5 !important;
	margin: 0 0 4px !important;
}
.article-contents .nws-first-text {
	font-size: 15px !important;
	line-height: 1.85 !important;
	color: #333 !important;
	margin: 0 !important;
}

/* ============================================================
   4. 4つの領域の表
   ============================================================ */
.article-contents .nws-tbl-wrap {
	overflow-x: auto !important;
	-webkit-overflow-scrolling: touch !important;
	margin: 18px 0 10px !important;
}
.article-contents .nws-tbl {
	width: 100% !important;
	min-width: 0 !important;
	border-collapse: collapse !important;
	font-size: 14px !important;
	line-height: 1.7 !important;
	color: #333 !important;
	table-layout: fixed !important;
}
.article-contents .nws-tbl th,
.article-contents .nws-tbl td {
	border: 1px solid #d9d9d9 !important;
	padding: 10px 12px !important;
	vertical-align: top !important;
	text-align: left !important;
	overflow-wrap: anywhere !important;
	word-break: normal !important;
}
.article-contents .nws-tbl thead th {
	background: #001F4E !important;
	color: #fff !important;
	font-weight: 700 !important;
	font-size: 13.5px !important;
}
.article-contents .nws-tbl thead th:nth-child(1) { width: 21% !important; }
.article-contents .nws-tbl thead th:nth-child(2) { width: 27% !important; }
.article-contents .nws-tbl thead th:nth-child(3) { width: 26% !important; }
.article-contents .nws-tbl thead th:nth-child(4) { width: 26% !important; }
.article-contents .nws-tbl tbody th {
	background: #e9eef5 !important;
	color: #001F4E !important;
	font-weight: 700 !important;
}
.article-contents .nws-tbl tbody td:last-child {
	background: #fbeaee !important;
	font-weight: 700 !important;
	color: #CC0033 !important;
}

/* ============================================================
   5. 図解（nws-fig：HTML/CSSで組む）
   ------------------------------------------------------------
   画像やSVG1枚にせず、文字はHTMLで持つ（拡大・読み上げ・SPの縦積みに対応）。
   構成：見出し → 補足 → 図版本体 → 補足ボックス → 注記（※）
   5-1. 共通（nws-figwrap／nws-fig-note／nws-fig-cap）
   5-2. 図1 4つの領域（nws-areas）
   5-3. 図2 侵入経路の変化（nws-route）
   ============================================================ */
.article-contents .nws-fig { margin: 24px 0 28px !important; padding: 0 !important; }
.article-contents .nws-figwrap { font-family: "Meiryo", "メイリオ", sans-serif; color: #222; }
.article-contents .nws-figwrap * { box-sizing: border-box; }
.article-contents .nws-figwrap p { margin: 0; }
.article-contents .nws-fig-title {
	font-size: 20px !important;
	font-weight: 700 !important;
	color: #001F4E !important;
	text-align: center !important;
	line-height: 1.5 !important;
	margin: 0 0 4px !important;
}
.article-contents .nws-fig-sub {
	font-size: 13px !important;
	color: #666 !important;
	text-align: center !important;
	line-height: 1.7 !important;
	margin: 0 0 18px !important;
}
.article-contents .nws-fig-note {
	background: #fbeaee !important;
	border-radius: 8px !important;
	padding: 14px 18px !important;
	margin-top: 16px !important;
}
.article-contents .nws-fig-note.is-navy { background: #e9eef5 !important; }
.article-contents .nws-fig-note p { font-size: 13.5px !important; line-height: 1.75 !important; color: #222 !important; text-align: left !important; }
.article-contents .nws-fig-note .nws-fig-note-ttl { font-size: 14px !important; font-weight: 700 !important; margin-bottom: 4px !important; }
.article-contents .nws-fig-note.is-navy .nws-fig-note-ttl { color: #001F4E !important; }
.article-contents .nws-fig-cap {
	font-size: 12.5px !important;
	color: #666 !important;
	text-align: left !important;
	margin: 8px 0 0 !important;
	line-height: 1.6 !important;
}

/* 5-2. 図1 4つの領域：PCは4列（カード間に⇔）、SPは1列 */
.article-contents .nws-areas {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px;
}
.article-contents .nws-area {
	position: relative;
	display: flex;
	flex-direction: column;
	background: #f4f5f7;
	border: 1px solid #d9d9d9;
	border-radius: 8px;
}
.article-contents .nws-area + .nws-area::before {
	content: "";
	position: absolute;
	left: -21px;
	top: 50%;
	width: 20px;
	height: 12px;
	margin-top: -6px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 12'%3E%3Cpath d='M4 6h12' stroke='%23001F4E' stroke-width='2.4'/%3E%3Cpath d='M0 6l6-5.5v11zM20 6l-6-5.5v11z' fill='%23001F4E'/%3E%3C/svg%3E") no-repeat center / contain;
}
.article-contents .nws-area-head {
	background: #001F4E !important;
	color: #fff !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	padding: 10px 12px !important;
	border-radius: 7px 7px 0 0 !important;
}
.article-contents .nws-area-no { margin-right: 6px; }
.article-contents .nws-area-body { flex: 1 1 auto; display: flex; flex-direction: column; padding: 12px 12px 14px; }
.article-contents .nws-area-ico { display: block; width: 66px; height: 44px; margin: 0 auto 10px; color: #001F4E; }
.article-contents .nws-area-ico svg { display: block; width: 100%; height: 100%; }
.article-contents .nws-area-lab { font-size: 11.5px !important; font-weight: 700 !important; color: #CC0033 !important; line-height: 1.5 !important; }
.article-contents .nws-area-txt { font-size: 13px !important; line-height: 1.6 !important; color: #222 !important; margin-bottom: 10px !important; }
.article-contents a.nws-area-chip {
	display: block;
	margin-top: auto;
	background: #CC0033;
	color: #fff !important;
	font-size: 12px;
	font-weight: 700;
	font-feature-settings: "palt" 1;
	letter-spacing: -0.01em;
	white-space: nowrap;
	text-align: center;
	text-decoration: none !important;
	line-height: 1.4;
	padding: 8px 4px;
	border-radius: 999px;
	transition: background .2s ease;
}
.article-contents a.nws-area-chip:hover { background: #a3002a; }

/* 5-3. 図2 侵入経路の変化：PCは「過去 → 現在」の横並び、SPは縦積み */
.article-contents .nws-route {
	display: grid;
	grid-template-columns: 1fr 40px 1.55fr;
	gap: 10px;
	align-items: stretch;
}
.article-contents .nws-route-head {
	color: #fff !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	padding: 10px 14px !important;
}
.article-contents .nws-route-past { background: #f4f5f7; border: 1px solid #d9d9d9; border-radius: 8px; overflow: hidden; display: flex; flex-direction: column; }
.article-contents .nws-route-past .nws-route-head { background: #666 !important; }
.article-contents .nws-route-pbody { flex: 1 1 auto; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 16px 14px; }
.article-contents .nws-route-mail { display: block; width: 76px; height: 52px; color: #8a93a6; margin-bottom: 10px; }
.article-contents .nws-route-mail svg { display: block; width: 100%; height: 100%; }
.article-contents .nws-route-pname { font-size: 15px !important; font-weight: 700 !important; color: #222 !important; line-height: 1.5 !important; margin-bottom: 4px !important; }
.article-contents .nws-route-pdesc { font-size: 12.5px !important; color: #555 !important; line-height: 1.6 !important; margin-bottom: 10px !important; }
.article-contents .nws-route-down { display: inline-block; background: #666; color: #fff; font-size: 12px; font-weight: 700; border-radius: 999px; padding: 3px 14px; }
.article-contents .nws-route-arrow { position: relative; align-self: center; height: 40px; }
.article-contents .nws-route-arrow::before {
	content: "";
	position: absolute;
	left: 0; right: 14px; top: 50%;
	height: 12px;
	margin-top: -6px;
	background: #CC0033;
}
.article-contents .nws-route-arrow::after {
	content: "";
	position: absolute;
	right: 0; top: 50%;
	margin-top: -16px;
	border: 16px solid transparent;
	border-left: 16px solid #CC0033;
	border-right: 0;
}
.article-contents .nws-route-now { border: 2px solid #CC0033; border-radius: 8px; overflow: hidden; background: #fff; }
.article-contents .nws-route-now .nws-route-head { background: #CC0033 !important; }
.article-contents .nws-route-nbody { display: grid; grid-template-columns: 1fr 150px; gap: 12px; padding: 14px; }
.article-contents .nws-route-items { display: flex; flex-direction: column; gap: 8px; }
.article-contents .nws-route-item { display: flex; align-items: center; gap: 10px; text-align: left; background: #f4f5f7; border-radius: 6px; padding: 9px 12px; }
.article-contents .nws-route-item.is-key { background: #fbeaee; }
.article-contents .nws-route-ico { flex: 0 0 30px; width: 30px; height: 30px; color: #001F4E; }
.article-contents .nws-route-item.is-key .nws-route-ico { color: #CC0033; }
.article-contents .nws-route-ico svg { display: block; width: 100%; height: 100%; }
.article-contents .nws-route-iname { font-size: 14.5px !important; font-weight: 700 !important; color: #222 !important; line-height: 1.4 !important; }
.article-contents .nws-route-idesc { font-size: 12px !important; color: #555 !important; line-height: 1.5 !important; }
.article-contents .nws-route-stat {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	background: #001F4E;
	color: #fff;
	border-radius: 6px;
	padding: 12px 10px;
	line-height: 1.5;
}
.article-contents .nws-route-stat-when { font-size: 12px; font-weight: 700; }
.article-contents .nws-route-stat-num { font-size: 34px; font-weight: 700; line-height: 1.3; margin: 2px 0; }
.article-contents .nws-route-stat-txt { font-size: 12px; }
.article-contents .nws-route-stat-src { font-size: 11px; color: #c9d2e0; margin-top: 6px; }

/* ============================================================
   6. 本文中のサービス紹介（共通部品 .related-services-solo を静的記述）
   ============================================================ */
.article-contents .nws-cta { margin: 28px 0 32px !important; }

/* ============================================================
   7. お役立ち資料バナー（ransomware-routes.html と同じ定義）
   ============================================================ */
.guidebook-banner {
	display: block;
	max-width: 800px;
	margin: 40px auto;
	border: 1px solid #ddd;
	border-radius: 8px;
	overflow: hidden;
	font-family: 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif;
	background: #fff;
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	cursor: pointer;
}
.guidebook-banner, .guidebook-banner *, .guidebook-banner:hover, .guidebook-banner:visited, .guidebook-banner:focus {
	text-decoration: none !important;
	color: inherit;
}
.guidebook-banner:hover {
	transform: translateY(-5px);
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.13);
}
.guidebook-btn {
	display: inline-block;
	background: #CC0033;
	color: #fff;
	font-size: 12px;
	font-weight: bold;
	text-decoration: none;
	padding: 10px 28px;
	border-radius: 50px;
	letter-spacing: 0.8px;
	transition: background 0.2s ease, transform 0.2s ease;
}
.guidebook-banner:hover .guidebook-btn {
	background: #a3002a;
	transform: scale(1.04);
}

/* ============================================================
   8. FAQアコーディオン
   回答全文は常にHTML内に存在（JSで生成しない＝構造化データと整合）。
   JSが読み込まれない環境でも、CSSの max-height 内で冒頭2行は必ず読める。
   ============================================================ */
.article-contents .nws-faq {
	margin: 1.4em 0 !important;
	font-family: "Meiryo", "メイリオ", sans-serif;
	color: #333 !important;
}
.article-contents .nws-faq-item {
	border: 1px solid #e1e6ef !important;
	border-radius: 10px !important;
	background: #fff !important;
	overflow: hidden !important;
	margin: 0 0 14px !important;
}
.article-contents .nws-faq-q {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	background: #eaf0f8 !important;
	padding: 12px 15px !important;
	margin: 0 !important;
	border: 0 !important;
	font-size: 16px !important;
	line-height: 1.6 !important;
	color: #001F4E !important;
	font-weight: 700 !important;
}
.article-contents .nws-faq-q::before,
.article-contents .nws-faq-q::after { content: none !important; display: none !important; }
.article-contents .nws-faq-badge {
	flex: 0 0 28px !important;
	width: 28px !important;
	height: 28px !important;
	border-radius: 50% !important;
	background: #001F4E !important;
	color: #fff !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}
.article-contents .nws-faq-qtext { flex: 1 1 auto !important; }
.article-contents .nws-faq-body { padding: 12px 16px 0 !important; }
.article-contents .nws-faq-peek {
	position: relative !important;
	overflow: hidden !important;
	max-height: 56px;
	transition: max-height .35s ease !important;
}
.article-contents .nws-faq-atext p,
.article-contents .nws-faq-atext .nws-list {
	font-size: 14.5px !important;
	color: #333 !important;
	line-height: 1.95 !important;
	margin: 0 0 .6em !important;
}
.article-contents .nws-faq-atext .nws-list { margin-left: 1.6em !important; }
.article-contents .nws-faq-atext b { color: #001F4E !important; }
.article-contents .nws-faq-atext a { color: #0a59b0 !important; text-decoration: underline !important; }
.article-contents .nws-faq-fade {
	position: absolute !important;
	left: 0 !important; right: 0 !important; bottom: 0 !important;
	height: 34px !important;
	background: linear-gradient(rgba(255,255,255,0), #fff) !important;
	transition: opacity .25s !important;
	pointer-events: none !important;
}
.article-contents .nws-faq-item.nws-open .nws-faq-fade { opacity: 0 !important; }
.article-contents .nws-faq-more { text-align: right !important; padding: 6px 16px 13px !important; }
.article-contents .nws-faq-more-btn {
	background: none !important;
	border: none !important;
	color: #586a8f !important;
	font-size: 13.5px !important;
	cursor: pointer !important;
	font-family: inherit !important;
	padding: 4px 2px !important;
}
.article-contents .nws-faq-more-btn::after { content: "▼" !important; font-size: 9px !important; margin-left: 6px !important; }
.article-contents .nws-faq-item.nws-open .nws-faq-more-btn::after { content: "▲" !important; }

/* ============================================================
   SP
   ============================================================ */
@media screen and (max-width: 767px) {
	.article-contents .nws-list { font-size: 14.5px !important; margin-left: 1.4em !important; }
	.article-contents .nws-src { font-size: 12px !important; }
	.article-contents .nws-case-row { padding: 14px !important; gap: 10px !important; }
	.article-contents .nws-case-ico { flex-basis: 30px !important; width: 30px !important; height: 30px !important; }
	.article-contents .nws-case-ico svg { width: 17px !important; height: 17px !important; }
	.article-contents .nws-case-text,
	.article-contents .nws-first-text { font-size: 14px !important; }
	.article-contents .nws-first { padding: 14px !important; gap: 10px !important; }
	.article-contents .nws-first-ico { flex-basis: 30px !important; width: 30px !important; height: 30px !important; }
	.article-contents .nws-first-ico svg { width: 15px !important; height: 15px !important; }
	.article-contents .nws-measure-name,
	.article-contents .nws-case-svc-name { font-size: 14px !important; }
	.article-contents .nws-case-foot { padding: 12px 14px !important; }
	/* 表：行ごとの縦カード（横スクロールさせない） */
	.article-contents .nws-tbl-wrap { overflow: visible !important; }
	.article-contents .nws-tbl { min-width: 0 !important; table-layout: auto !important; font-size: 13.5px !important; }
	.article-contents .nws-tbl thead { display: none !important; }
	.article-contents .nws-tbl,
	.article-contents .nws-tbl tbody,
	.article-contents .nws-tbl tr,
	.article-contents .nws-tbl th,
	.article-contents .nws-tbl td { display: block !important; width: 100% !important; box-sizing: border-box !important; }
	.article-contents .nws-tbl tr { border: 1px solid #d9d9d9 !important; border-radius: 8px !important; overflow: hidden !important; margin-bottom: 12px !important; }
	.article-contents .nws-tbl tbody th { background: #001F4E !important; color: #fff !important; border: 0 !important; padding: 9px 12px !important; white-space: normal !important; }
	.article-contents .nws-tbl tbody td { border: 0 !important; border-top: 1px solid #eee !important; padding: 9px 12px !important; }
	.article-contents .nws-tbl tbody td::before {
		content: attr(data-label);
		display: block;
		font-size: 11px;
		font-weight: 700;
		color: #888;
		margin-bottom: 2px;
	}
	.article-contents .nws-tbl tbody td:last-child::before { color: #CC0033; }

	/* 図1：1列。カード間の⇔は縦向き */
	.article-contents .nws-fig-title { font-size: 17px !important; }
	.article-contents .nws-fig-sub { text-align: left !important; }
	.article-contents .nws-areas { grid-template-columns: 1fr; gap: 26px; }
	.article-contents .nws-area + .nws-area::before { left: 50%; top: -20px; margin: 0 0 0 -10px; transform: rotate(90deg); }
	.article-contents .nws-area-body { display: grid; grid-template-columns: 66px 1fr; column-gap: 12px; }
	.article-contents .nws-area-ico { grid-row: 1 / 5; margin: 2px 0 0; }
	.article-contents .nws-area-lab,
	.article-contents .nws-area-txt,
	.article-contents a.nws-area-chip { grid-column: 2; }
	.article-contents .nws-fig-note { padding: 12px 14px !important; }

	/* 図2：過去 → 現在 を縦積み。矢印は下向き */
	.article-contents .nws-route { grid-template-columns: 1fr; gap: 6px; }
	.article-contents .nws-route-pbody { padding: 12px; }
	.article-contents .nws-route-arrow { height: 34px; width: 40px; justify-self: center; }
	.article-contents .nws-route-arrow::before { left: 50%; right: auto; top: 0; bottom: 14px; width: 12px; height: auto; margin: 0 0 0 -6px; }
	.article-contents .nws-route-arrow::after { left: 50%; right: auto; top: auto; bottom: 0; margin: 0 0 0 -16px; border: 16px solid transparent; border-top: 16px solid #CC0033; border-bottom: 0; }
	.article-contents .nws-route-nbody { grid-template-columns: 1fr; padding: 12px; }
	.article-contents .nws-route-stat { flex-direction: row; flex-wrap: wrap; column-gap: 10px; }
	.article-contents .nws-route-stat-num { font-size: 28px; }
	.article-contents .nws-route-stat-txt { flex: 1 1 100%; }
	.article-contents .nws-faq-q { font-size: 15px !important; }
	.article-contents .nws-faq-atext p,
	.article-contents .nws-faq-atext .nws-list { font-size: 14px !important; }
	.guidebook-banner > div:first-child > div:last-child { flex: 1 1 100% !important; }
	.guidebook-banner p[style*="font-size:28px"] { font-size: 22px !important; }
}