/* ==========================================================
   子ページをまとめる親ページ（障害年金Q&A /co/qa/ ・ 社労士に依頼するメリット /co/sr/）
   テーマの .entry-content の ul / li / a / h2 装飾に負けないよう .qa 配下で指定
   ========================================================== */
.qa {
	--qa-cta: var(--cta, #EF7D1A);
	--qa-ink: #20262B;
	--qa-sub: #5B646B;
	--qa-line: #E7E1D6;
	--qa-bg: #FFF8EA;
	color: var(--qa-ink);
	line-height: 1.8;
}
.qa * { box-sizing: border-box; }
.qa [hidden] { display: none !important; }

/* リスト装飾のリセット */
.qa ul.qa-list,
.qa ul.qa-chips { margin: 0; padding: 0; list-style: none; }
.qa ul.qa-list > li,
.qa ul.qa-chips > li { margin: 0; padding: 0; list-style: none; background: none; }
.qa ul.qa-list > li::before, .qa ul.qa-list > li::after,
.qa ul.qa-chips > li::before, .qa ul.qa-chips > li::after { content: none; display: none; }
.qa ul.qa-list > li::marker,
.qa ul.qa-chips > li::marker { content: none; }

/* 見出し（共通パターン） */
.qa .section-title { display: flex; flex-direction: column; gap: 8px; margin: 0 0 18px; }
.qa .section-title-kicker { display: inline-flex; width: fit-content; color: var(--qa-cta); font-size: 12.5px; font-weight: 700; letter-spacing: 1px; }
.qa .section-title-heading { margin: 0; padding: 0; border: 0; background: none; font-size: 23px; font-weight: 700; color: var(--qa-ink); line-height: 1.4; }
.qa .section-title-heading::before,
.qa .section-title-heading::after { content: none; }

/* ---------- 一覧 ---------- */
.qa .qa-lead { margin: 0 0 24px; font-size: 15px; }
.qa .qa-lead p { margin: 0 0 1em; }
.qa .qa-lead p:last-child { margin-bottom: 0; }

/* 検索 */
.qa .qa-search { margin: 0 0 20px; padding: 18px 20px; border-radius: 12px; background: var(--qa-bg); }
.qa .qa-search__label { display: block; margin: 0 0 8px; font-size: 13px; font-weight: 700; }
.qa .qa-search__box { position: relative; }
.qa .qa-search__box svg { position: absolute; top: 50%; left: 14px; width: 20px; height: 20px; color: var(--qa-sub); transform: translateY(-50%); pointer-events: none; }
.qa .qa-search__input { width: 100%; height: 48px; margin: 0; padding: 0 14px 0 44px; border: 2px solid var(--qa-line); border-radius: 8px; background: #fff; font: inherit; font-size: 16px; color: var(--qa-ink); outline: none; transition: border-color .2s; }
.qa .qa-search__input:focus { border-color: var(--qa-cta); }
.qa .qa-search__count { margin: 8px 0 0; font-size: 13px; color: var(--qa-sub); }
.qa .qa-search__count span { margin-right: 2px; font-size: 16px; font-weight: 700; color: var(--qa-cta); }

/* テーマへのジャンプ */
.qa ul.qa-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 44px; }
.qa .qa-chips a,
.qa .qa-chips a:visited { display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px; border: 1px solid var(--qa-cta); border-radius: 999px; background: #fff; color: var(--qa-ink); font-size: 13.5px; font-weight: 700; line-height: 1.4; text-decoration: none; transition: background .2s, color .2s; }
.qa .qa-chips a span { min-width: 20px; padding: 0 6px; border-radius: 999px; background: var(--qa-bg); color: var(--qa-cta); font-size: 12px; text-align: center; }
.qa .qa-chips a:hover { background: var(--qa-cta); color: #fff; }
.qa .qa-chips a:hover span { background: #fff; }

/* グループ */
.qa .qa-group { margin: 0 0 44px; scroll-margin-top: 90px; }

/* Q リスト */
.qa ul.qa-list > li + li { margin-top: 8px; }
.qa .qa-list a,
.qa .qa-list a:visited { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border: 1px solid var(--qa-line); border-radius: 10px; background: #fff; color: var(--qa-ink); font-weight: 700; line-height: 1.6; text-decoration: none; transition: border-color .2s, background .2s; }
.qa .qa-list a:hover { border-color: var(--qa-cta); background: var(--qa-bg); }
.qa .qa-q,
.qa .qa-a { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 32px; height: 32px; border-radius: 50%; font-family: Arial, sans-serif; font-size: 16px; font-weight: 700; line-height: 1; }
.qa .qa-q { background: var(--qa-cta); color: #fff; }
.qa .qa-list__title { flex: 1; font-size: 15px; }
.qa .qa-arrow { flex: none; width: 8px; height: 8px; border-top: 2px solid var(--qa-cta); border-right: 2px solid var(--qa-cta); transform: rotate(45deg); transition: transform .2s; }
.qa .qa-list a:hover .qa-arrow { transform: translateX(3px) rotate(45deg); }

/* 該当なし */
.qa .qa-empty { padding: 24px; border-radius: 12px; background: var(--qa-bg); text-align: center; }
.qa .qa-empty p { margin: 0; }
.qa .qa-empty p + p { margin-top: 6px; font-size: 14px; }
.qa .qa-empty a,
.qa .qa-empty a:visited { color: var(--qa-cta); font-weight: 700; }

/* ---------- 各Q&A ---------- */
.qa .qa-single__tag { margin: 0 0 16px; }
.qa .qa-single__tag a,
.qa .qa-single__tag a:visited { display: inline-block; padding: 3px 12px; border-radius: 999px; background: var(--qa-bg); color: var(--qa-cta); font-size: 12.5px; font-weight: 700; text-decoration: none; }
.qa .qa-single__tag a:hover { background: var(--qa-cta); color: #fff; }

.qa .qa-answer { display: flex; gap: 16px; align-items: flex-start; margin: 0; }

/* Q&A カード（質問＝帯、回答＝白地） */
.qa .qa-card { margin: 0 0 48px; border: 1px solid var(--qa-line); border-radius: 14px; background: #fff; overflow: hidden; }
.qa .qa-card__q { display: flex; align-items: center; gap: 14px; padding: 20px 24px; background: var(--qa-bg); border-bottom: 1px solid var(--qa-line); }
.qa .qa-card__q .qa-q { width: 38px; height: 38px; font-size: 19px; }
.qa .qa-card__question { flex: 1; margin: 0; font-size: 19px; font-weight: 700; line-height: 1.55; color: var(--qa-ink); }
.qa .qa-card .qa-answer { padding: 26px 24px 10px; }
.qa .qa-card .qa-a { width: 38px; height: 38px; font-size: 19px; margin-top: -2px; }
.qa .qa-a { margin-top: 2px; border: 2px solid var(--qa-cta); background: #fff; color: var(--qa-cta); }
.qa .qa-answer__body { flex: 1; min-width: 0; }
.qa .qa-answer__body > :first-child { margin-top: 0; }
.qa .qa-answer--plain { display: block; }

/* ---------- 本文（旧サイトから移した HTML を整える） ---------- */
.qa .qa-answer__body { font-size: 15.5px; line-height: 1.9; }
.qa .qa-answer__body p { margin: 0 0 1em; }
.qa .qa-answer__body p:empty { display: none; }

/* 小見出し（カードの中なので「枠」は使わず、下線＋オレンジのアクセントで区切る） */
.qa .qa-answer__body h2,
.qa .qa-answer__body h3 {
	position: relative;
	margin: 2.4em 0 .9em;
	padding: 0 0 10px;
	border: 0;
	border-bottom: 1px solid var(--qa-line);
	border-radius: 0;
	background: none;
	font-size: 17.5px;
	font-weight: 700;
	line-height: 1.55;
	color: var(--qa-ink);
}
.qa .qa-answer__body h2::before,
.qa .qa-answer__body h3::before { content: none; }
.qa .qa-answer__body h2::after,
.qa .qa-answer__body h3::after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 48px;
	height: 2px;
	background: var(--qa-cta);
}

/* 3段目の見出し（h4、または h2 の直後に続く h3）：オレンジの点＋太字 */
.qa .qa-answer__body h4,
.qa .qa-answer__body h2 ~ h3 {
	position: relative;
	margin: 1.6em 0 .5em;
	padding: 0 0 0 16px;
	border: 0;
	background: none;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.6;
	color: var(--qa-ink);
}
.qa .qa-answer__body h4::after,
.qa .qa-answer__body h2 ~ h3::after { content: none; }
.qa .qa-answer__body h4::before,
.qa .qa-answer__body h2 ~ h3::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: .6em;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--qa-cta);
}
.qa .qa-answer__body > h2:first-child,
.qa .qa-answer__body > h3:first-child { margin-top: 0; }

/* 旧サイトのインライン色（赤・青など）はブランドのオレンジ＋太字に統一 */
.qa .qa-answer__body span[style*="color"],
.qa .qa-answer__body font[color],
.qa .qa-answer__body strong[style*="color"],
.qa .qa-answer__body b[style*="color"] { color: var(--qa-cta) !important; font-weight: 700; }
.qa .qa-answer__body span[style*="font-size"] { font-size: inherit !important; }

/* リンク */
.qa .qa-answer__body a,
.qa .qa-answer__body a:visited { color: var(--qa-cta); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.qa .qa-answer__body a:hover { text-decoration: none; }

/* リスト */
.qa .qa-answer__body ul,
.qa .qa-answer__body ol { margin: 0 0 1.2em; padding-left: 1.4em; }
.qa .qa-answer__body li { margin: 0 0 .3em; }
.qa .qa-answer__body ul li::marker { color: var(--qa-cta); }

/* 表（旧サイトの背景色・罫線をリセット） */
.qa .qa-table { margin: 0 0 1.6em; overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--qa-line); border-radius: 10px; }
.qa .qa-table table { width: 100% !important; height: auto !important; margin: 0; border: 0; border-collapse: collapse; font-size: 14px; line-height: 1.75; }
.qa .qa-table th,
.qa .qa-table td {
	width: auto !important;
	height: auto !important;
	padding: 12px 14px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--qa-line) !important;
	background: #fff !important;
	color: var(--qa-ink) !important;
	text-align: left !important;
	vertical-align: top !important;
}
.qa .qa-table td + td,
.qa .qa-table th + td,
.qa .qa-table td + th,
.qa .qa-table th + th { border-left: 1px solid var(--qa-line) !important; }
.qa .qa-table tr:last-child th,
.qa .qa-table tr:last-child td { border-bottom: 0 !important; }
/* 本物の見出しセル（th）は常にベージュの太字 */
.qa .qa-table th { background: var(--qa-bg) !important; font-weight: 700; }
/* 1行目＝列見出し（短い見出しが並ぶ表だけ） */
.qa .qa-table--head-row tr:first-child th,
.qa .qa-table--head-row tr:first-child td { background: var(--qa-cta) !important; color: #fff !important; font-weight: 700; vertical-align: middle !important; }
.qa .qa-table--head-row tr:first-child th *,
.qa .qa-table--head-row tr:first-child td * { color: #fff !important; }
/* 1列目＝行見出し（短い項目名が並ぶ表だけ） */
.qa .qa-table--head-col tr > :first-child { width: 7em !important; background: var(--qa-bg) !important; font-weight: 700; white-space: nowrap; }
.qa .qa-table--head-row.qa-table--head-col tr:first-child > :first-child { background: var(--qa-cta) !important; }
/* 見出しのない表（比較表など）：白地。セル内の太字1行目を小見出しとして扱う */
.qa .qa-table:not(.qa-table--head-row):not(.qa-table--head-col) td { background: #fff !important; }
.qa .qa-table:not(.qa-table--head-row):not(.qa-table--head-col) tr:nth-child(even) td { background: #FCFAF6 !important; }
.qa .qa-table p { margin: 0 0 .5em; }
.qa .qa-table p:last-child { margin-bottom: 0; }

/* 前後 */
.qa .qa-pager { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0 0 40px; }
.qa .qa-pager__link,
.qa .qa-pager__link:visited { display: flex; flex-direction: column; gap: 4px; padding: 14px 18px; border: 1px solid var(--qa-line); border-radius: 10px; background: #fff; color: var(--qa-ink); text-decoration: none; transition: border-color .2s, background .2s; }
.qa a.qa-pager__link:hover { border-color: var(--qa-cta); background: var(--qa-bg); }
.qa .qa-pager__link.is-empty { border: 0; background: none; }
.qa .qa-pager__link--next { text-align: right; }
.qa .qa-pager__dir { font-size: 12px; font-weight: 700; color: var(--qa-cta); }
.qa .qa-pager__link--prev .qa-pager__dir::before { content: "‹ "; }
.qa .qa-pager__link--next .qa-pager__dir::after { content: " ›"; }
.qa .qa-pager__title { font-size: 14px; font-weight: 700; line-height: 1.5; }

/* 同じテーマ */
.qa .qa-related { margin: 0 0 32px; }
.qa .qa-related__title { margin: 0 0 14px; padding: 0 0 0 12px; border: 0; border-left: 4px solid var(--qa-cta); background: none; font-size: 17px; font-weight: 700; line-height: 1.5; color: var(--qa-ink); }
.qa .qa-related__title::before,
.qa .qa-related__title::after { content: none; }
.qa .qa-list--compact a { padding: 11px 14px; }
.qa .qa-list--compact .qa-q { width: 26px; height: 26px; font-size: 13px; }
.qa .qa-list--compact .qa-list__title { font-size: 14px; }

/* 一覧へ戻る */
.qa .qa-back { margin: 0; text-align: center; }
.qa .qa-back a,
.qa .qa-back a:visited { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 280px; min-height: 52px; padding: 10px 24px; border: 2px solid var(--qa-cta); border-radius: 999px; background: #fff; color: var(--qa-cta); font-weight: 700; text-decoration: none; transition: background .2s, color .2s; }
.qa .qa-back a::before { content: ""; width: 7px; height: 7px; border-left: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); }
.qa .qa-back a:hover { background: var(--qa-cta); color: #fff; }


/* ==========================================================
   記事タイプ（社労士に依頼するメリット など）
   ========================================================== */

/* リストの reset（グリッド） */
.qa ul.sub-grid { margin: 0; padding: 0; list-style: none; }
.qa ul.sub-grid > li { margin: 0; padding: 0; list-style: none; background: none; }
.qa ul.sub-grid > li::before, .qa ul.sub-grid > li::after { content: none; display: none; }
.qa ul.sub-grid > li::marker { content: none; }

/* 大きなバナー（メリット） */
.qa .sub-group--feature { margin-bottom: 48px; }
.qa a.sub-feature,
.qa a.sub-feature:visited {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 28px 30px 26px;
	border-radius: 16px;
	background: linear-gradient(135deg, var(--qa-cta) 0%, color-mix(in srgb, var(--qa-cta) 78%, #fff) 100%);
	color: #fff;
	text-decoration: none;
	overflow: hidden;
	transition: transform .2s, box-shadow .2s;
}
.qa a.sub-feature::after {
	content: "";
	position: absolute;
	right: -40px;
	bottom: -60px;
	width: 200px;
	height: 200px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .12);
	pointer-events: none;
}
.qa a.sub-feature:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(239, 125, 26, .25); }
.qa .sub-feature__kicker { font-size: 12.5px; font-weight: 700; letter-spacing: 1.5px; opacity: .9; }
.qa .sub-feature__title { font-size: 22px; font-weight: 700; line-height: 1.45; }
.qa .sub-feature__more {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	width: fit-content;
	margin-top: 10px;
	padding: 7px 18px;
	border-radius: 999px;
	background: #fff;
	color: var(--qa-cta);
	font-size: 13.5px;
	font-weight: 700;
}
.qa .sub-feature__more::after { content: ""; width: 7px; height: 7px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); }

/* 番号付きカード（5つの特徴） */
.qa ul.sub-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.qa .sub-grid a,
.qa .sub-grid a:visited {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 8px;
	height: 100%;
	padding: 20px 44px 20px 20px;
	border: 1px solid var(--qa-line);
	border-radius: 12px;
	background: #fff;
	color: var(--qa-ink);
	text-decoration: none;
	transition: border-color .2s, background .2s;
}
.qa .sub-grid a:hover { border-color: var(--qa-cta); background: var(--qa-bg); }
.qa .sub-grid__num { display: flex; align-items: baseline; gap: 6px; font-family: Arial, sans-serif; font-size: 30px; font-weight: 700; line-height: 1; color: var(--qa-cta); }
.qa .sub-grid__num small { font-family: inherit; font-size: 12px; letter-spacing: 1px; }
.qa .sub-grid__title { font-size: 15.5px; font-weight: 700; line-height: 1.6; }
.qa .sub-grid .qa-arrow { position: absolute; right: 20px; top: 50%; margin-top: -4px; }
.qa .sub-grid a:hover .qa-arrow { transform: translateX(3px) rotate(45deg); }
/* 5件など奇数のとき、最後の1枚は横いっぱい */
.qa ul.sub-grid > li:last-child:nth-child(odd) { grid-column: 1 / -1; }

/* 記号なしのリスト（センター長・研究会など） */
.qa .qa-list--plain a { padding-left: 20px; }

/* 子ページ：記事カード */
.qa .sub-article { padding: 30px 30px 26px; }
.qa .sub-article .qa-answer__body img { max-width: 100%; height: auto; border-radius: 8px; }
.qa .sub-article .qa-answer__body .aligncenter { display: block; margin-left: auto; margin-right: auto; }
.qa .sub-article .qa-answer__body .alignleft { float: left; margin: 4px 20px 12px 0; }
.qa .sub-article .qa-answer__body .alignright { float: right; margin: 4px 0 12px 20px; }
.qa .sub-article .qa-answer__body::after { content: ""; display: block; clear: both; }

.qa .qa-single__tag { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.qa .sub-num-badge { display: inline-block; padding: 3px 12px; border-radius: 999px; background: var(--qa-cta); color: #fff; font-family: Arial, sans-serif; font-size: 12.5px; font-weight: 700; }
.qa .sub-mini-num { flex: none; min-width: 26px; font-family: Arial, sans-serif; font-size: 15px; font-weight: 700; color: var(--qa-cta); }

/* ---------- スマホ ---------- */

/* タイル（ここがポイント！障害年金の話） */
.qa ul.sub-tiles { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin: 0; padding: 0; list-style: none; }
.qa ul.sub-tiles > li { margin: 0; padding: 0; list-style: none; background: none; }
.qa ul.sub-tiles > li::before, .qa ul.sub-tiles > li::after { content: none; display: none; }
.qa ul.sub-tiles > li::marker { content: none; }
.qa .sub-tiles a,
.qa .sub-tiles a:visited {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 10px;
	height: 100%;
	padding: 26px 24px 22px;
	border: 1px solid var(--qa-line);
	border-radius: 14px;
	background: #fff;
	color: var(--qa-ink);
	text-decoration: none;
	transition: border-color .2s, transform .2s, box-shadow .2s;
}
.qa .sub-tiles a:hover { border-color: var(--qa-cta); transform: translateY(-2px); box-shadow: 0 8px 20px rgba(32, 38, 43, .08); }
.qa .sub-tiles a.is-pickup { border: 2px solid var(--qa-cta); }
.qa .sub-tiles__badge { position: absolute; top: -12px; left: 20px; padding: 3px 12px; border-radius: 999px; background: var(--qa-cta); color: #fff; font-size: 12px; font-weight: 700; line-height: 1.5; }
.qa .sub-tiles__icon { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 14px; background: var(--qa-bg); color: var(--qa-cta); }
.qa .sub-tiles__icon svg { width: 28px; height: 28px; }
.qa .sub-tiles__title { font-size: 18px; font-weight: 700; line-height: 1.5; }
.qa .sub-tiles__desc { flex: 1; font-size: 14px; line-height: 1.8; color: var(--qa-sub); }
.qa .sub-tiles__more { display: inline-flex; align-items: center; gap: 8px; margin-top: 4px; font-size: 14px; font-weight: 700; color: var(--qa-cta); }
.qa .sub-tiles__more::after { content: ""; width: 7px; height: 7px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); transition: transform .2s; }
.qa .sub-tiles a:hover .sub-tiles__more::after { transform: translateX(3px) rotate(45deg); }

/* 一覧の下の案内バナー */
.qa .sub-cta { display: flex; align-items: center; gap: 20px; margin: 8px 0 0; padding: 24px 26px; border-radius: 14px; background: var(--qa-bg); }
.qa .sub-cta__text { flex: 1; min-width: 0; }
.qa .sub-cta__kicker { display: block; font-size: 12.5px; font-weight: 700; color: var(--qa-cta); }
.qa .sub-cta__title { margin: 2px 0 4px; font-size: 19px; font-weight: 700; line-height: 1.5; }
.qa .sub-cta__desc { margin: 0; font-size: 14px; line-height: 1.75; color: var(--qa-sub); }
.qa a.sub-cta__btn,
.qa a.sub-cta__btn:visited { flex: none; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; padding: 10px 24px; border-radius: 999px; background: var(--qa-cta); color: #fff; font-size: 15px; font-weight: 700; text-decoration: none; transition: opacity .2s; }
.qa a.sub-cta__btn::after { content: ""; width: 7px; height: 7px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); }
.qa a.sub-cta__btn:hover { opacity: .85; }


/* エリア別（市町村のグリッド） */
.qa ul.sub-cities { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 0; padding: 0; list-style: none; }
.qa ul.sub-cities > li { margin: 0; padding: 0; list-style: none; background: none; }
.qa ul.sub-cities > li::before, .qa ul.sub-cities > li::after { content: none; display: none; }
.qa ul.sub-cities > li::marker { content: none; }
.qa .sub-cities a,
.qa .sub-cities a:visited { position: relative; display: flex; flex-direction: column; gap: 0; height: 100%; padding: 16px 36px 14px 18px; border: 1px solid var(--qa-line); border-radius: 12px; background: #fff; color: var(--qa-ink); text-decoration: none; transition: border-color .2s, background .2s; }
.qa .sub-cities a:hover { border-color: var(--qa-cta); background: var(--qa-bg); }
.qa .sub-cities__name { font-size: 19px; font-weight: 700; line-height: 1.4; }
.qa .sub-cities__sub { font-size: 12.5px; font-weight: 700; color: var(--qa-sub); }
.qa .sub-cities .qa-arrow { position: absolute; right: 16px; top: 50%; margin-top: -4px; }
.qa .sub-cities a:hover .qa-arrow { transform: translateX(3px) rotate(45deg); }
.qa .sub-group__office { margin: -6px 0 14px; font-size: 13.5px; color: var(--qa-sub); }
.qa .sub-group__office b { color: var(--qa-ink); }

/* 最寄りの事務所（エリア別の子ページ） */
.qa .sub-office { display: flex; align-items: center; gap: 20px; margin: -24px 0 40px; padding: 20px 22px; border: 2px solid var(--qa-cta); border-radius: 14px; background: #fff; }
.qa .sub-office__info { flex: 1; min-width: 0; }
.qa .sub-office__label { display: inline-block; padding: 1px 10px; border-radius: 999px; background: var(--qa-cta); color: #fff; font-size: 12px; font-weight: 700; line-height: 1.8; }
.qa .sub-office__name { margin: 6px 0 2px; font-size: 18px; font-weight: 700; line-height: 1.5; }
.qa .sub-office__addr { margin: 0; font-size: 13.5px; line-height: 1.7; color: var(--qa-sub); }
.qa .sub-office__btns { flex: none; display: flex; flex-direction: column; gap: 8px; min-width: 210px; }
.qa a.sub-office__tel,
.qa a.sub-office__tel:visited { display: flex; align-items: center; justify-content: center; min-height: 48px; padding: 6px 16px; border-radius: 999px; background: var(--qa-cta); color: #fff; font-family: Arial, sans-serif; font-size: 19px; font-weight: 700; letter-spacing: .5px; text-decoration: none; }
.qa a.sub-office__map,
.qa a.sub-office__map:visited { display: flex; align-items: center; justify-content: center; min-height: 40px; padding: 6px 16px; border: 1px solid var(--qa-cta); border-radius: 999px; background: #fff; color: var(--qa-cta); font-size: 13.5px; font-weight: 700; text-decoration: none; }
.qa a.sub-office__tel:hover, .qa a.sub-office__map:hover { opacity: .85; }


/* 白枠なしの本文（エリア別など） */
.qa .sub-article--plain { margin: 0 0 40px; padding: 0; border: 0; border-radius: 0; background: none; }
.qa .sub-article--plain + .sub-office { margin-top: 0; }
.qa .sub-article--plain .qa-answer__body iframe { display: block; max-width: 100%; }
.qa .sub-article--plain .qa-answer__body iframe[src*="youtube"] { width: 100% !important; height: auto !important; aspect-ratio: 16 / 9; border: 0; border-radius: 12px; }

/* エリア別ページの見出し
   旧サイトの本文に入っている明るいオレンジ（#FC9C2F 系）の文字色・下線・帯を打ち消し、
   サイト共通の「濃い文字＋細い下線＋左端だけブランド色」にそろえる */
.qa .sub-article--plain .qa-answer__body h2,
.qa .sub-article--plain .qa-answer__body h3 {
	position: relative !important;
	margin: 2.4em 0 1em !important;
	padding: 0 0 12px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--qa-line) !important;
	border-radius: 0 !important;
	background: none !important;
	box-shadow: none !important;
	color: var(--qa-ink) !important;
	font-size: 21px !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;
	text-align: left !important;
}
.qa .sub-article--plain .qa-answer__body h3 { font-size: 18px !important; }
.qa .sub-article--plain .qa-answer__body h2 *,
.qa .sub-article--plain .qa-answer__body h3 * { color: inherit !important; }
.qa .sub-article--plain .qa-answer__body h2::before,
.qa .sub-article--plain .qa-answer__body h3::before { content: none !important; display: none !important; }
.qa .sub-article--plain .qa-answer__body h2::after,
.qa .sub-article--plain .qa-answer__body h3::after {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	left: 0 !important;
	right: auto !important;
	top: auto !important;
	bottom: -1px !important;
	width: 48px !important;
	height: 3px !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 2px !important;
	background: var(--qa-cta) !important;
}
.qa .sub-article--plain .qa-answer__body > h2:first-child,
.qa .sub-article--plain .qa-answer__body > h3:first-child { margin-top: 0 !important; }

@media (max-width: 600px) {
	.qa .section-title-heading { font-size: 20px; }
	.qa .qa-search { padding: 16px; }
	.qa ul.qa-chips { margin-bottom: 36px; }
	.qa .qa-group { margin-bottom: 36px; }
	.qa .qa-list a { gap: 12px; padding: 13px 14px; }
	.qa .qa-q { width: 28px; height: 28px; font-size: 14px; }
	.qa .qa-answer { gap: 12px; }
	.qa .qa-card { border-radius: 12px; }
	.qa .qa-card__q { gap: 12px; padding: 16px; }
	.qa .qa-card__q .qa-q,
	.qa .qa-card .qa-a { width: 32px; height: 32px; font-size: 16px; }
	.qa .qa-card__question { font-size: 16.5px; }
	.qa .qa-card .qa-answer { padding: 20px 16px 6px; }
	.qa .qa-a { width: 28px; height: 28px; font-size: 14px; }
	.qa .qa-answer__body { font-size: 15px; }
	.qa .qa-answer__body h2,
	.qa .qa-answer__body h3 { margin-top: 2.2em; margin-bottom: .8em; font-size: 16.5px; }
	.qa .qa-answer__body h4,
	.qa .qa-answer__body h2 ~ h3 { margin-top: 1.4em; font-size: 15.5px; }
	.qa .qa-table table { min-width: 560px; font-size: 13.5px; }
	.qa .qa-table--head-col tr > :first-child { width: 5.5em !important; white-space: normal; }
	.qa .qa-table th,
	.qa .qa-table td { padding: 10px 12px !important; }
	.qa .qa-pager { grid-template-columns: 1fr; }
	.qa .qa-pager__link.is-empty { display: none; }
	.qa .qa-back a { width: 100%; min-width: 0; }
	.qa a.sub-feature { padding: 22px 20px 20px; border-radius: 14px; }
	.qa .sub-feature__title { font-size: 18.5px; }
	.qa ul.sub-grid { grid-template-columns: 1fr; gap: 8px; }
	.qa .sub-grid a { flex-direction: row; align-items: center; gap: 14px; padding: 14px 40px 14px 16px; }
	.qa .sub-grid__num { flex-direction: column; align-items: center; gap: 2px; min-width: 40px; font-size: 22px; }
	.qa .sub-grid__num small { font-size: 9.5px; }
	.qa .sub-grid__title { font-size: 14.5px; }
	.qa .sub-grid .qa-arrow { right: 16px; }
	.qa .sub-article { padding: 22px 18px 18px; }
	.qa .sub-article .qa-answer__body .alignleft,
	.qa .sub-article .qa-answer__body .alignright { float: none; margin: 0 auto 12px; display: block; }
	.qa ul.sub-tiles { grid-template-columns: 1fr; gap: 18px; }
	.qa .sub-tiles a { padding: 24px 20px 20px; }
	.qa .sub-tiles__title { font-size: 17px; }
	.qa .sub-cta { flex-direction: column; align-items: stretch; padding: 22px 20px; }
	.qa a.sub-cta__btn { width: 100%; }
	.qa ul.sub-cities { grid-template-columns: repeat(2, 1fr); gap: 8px; }
	.qa .sub-cities a { padding: 14px 32px 12px 14px; }
	.qa .sub-cities__name { font-size: 17px; }
	.qa .sub-office { flex-direction: column; align-items: stretch; gap: 14px; margin-top: -24px; padding: 18px 16px; }
	.qa .sub-office__btns { min-width: 0; }
	.qa .sub-article--plain { padding: 0; }
	.qa .sub-article--plain .qa-answer__body h2 { font-size: 18.5px !important; }
	.qa .sub-article--plain .qa-answer__body h3 { font-size: 16.5px !important; }
}