/* ============================================================
   公開記事デザインv2（2026-10-07 オーナー依頼・プレビュー専用）
   - 読み込み: inc/article-design-v2.php（?design=preview の個別記事のみ。body.article-v2）
   - 既存の style.css は改変せず、同等以上の詳細度で上書きする
   - 方向性: ビジネス誌調（控えめな罫線・下線／左ボーダーの見出し・広めの行間）。絵文字・グラデーション・派手な影・丸い装飾は使わない
   - 色は既存の :root トークンを再利用。新規は --a2-mark / --a2-radius の2つだけ
   ============================================================ */

body.article-v2 {
	--a2-ink: var(--r2-ink, #16201d);
	--a2-ink-soft: var(--r2-ink-soft, #45524d);
	--a2-ink-mute: var(--r2-ink-mute, #6a7771);
	--a2-green: var(--r2-green-800, #004d40);
	--a2-green-deep: var(--r2-green-900, #003d33);
	--a2-green-mid: var(--r2-green-600, #00796b);
	--a2-line: var(--r2-line, #e1eae5);
	--a2-line-strong: var(--pastel-border, #d0e4dc);
	--a2-panel: var(--r2-mint-50, #f1f7f4);
	--a2-mark: rgba(201, 162, 39, .2);
	--a2-radius: 2px;
}

/* ---------- 本文の基本（行間・字間・折り返し） ---------- */
body.article-v2 .entry-content {
	color: var(--a2-ink);
	line-height: 1.95;
	letter-spacing: .03em;
	line-break: strict;
	overflow-wrap: break-word;
}
body.article-v2 .entry-content p {
	margin: 0 0 1.6em;
	text-wrap: pretty;
}
body.article-v2 .entry-content :is(h2, h3, h4, h5, h6) {
	font-feature-settings: "palt";
	text-wrap: balance;
}

/* ---------- 見出し ---------- */
body.article-v2 .entry-content h2:not(.abb__h) {
	position: relative;
	margin: 2.9em 0 1em;
	padding: 0 0 .55em;
	font-size: clamp(1.28rem, 1.12rem + .8vw, 1.5rem);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .02em;
	color: var(--a2-green-deep);
	border: 0;
	border-bottom: 1px solid var(--a2-line-strong);
}
body.article-v2 .entry-content h2:not(.abb__h)::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 3em;
	height: 3px;
	background: var(--a2-green);
}
body.article-v2 .entry-content h3 {
	margin: 2.3em 0 .8em;
	padding: .1em 0 .1em .75em;
	font-size: clamp(1.1rem, 1.04rem + .3vw, 1.2rem);
	font-weight: 700;
	line-height: 1.55;
	letter-spacing: .02em;
	color: var(--a2-ink);
	border: 0;
	border-left: 4px solid var(--a2-green-mid);
}
body.article-v2 .entry-content h4 {
	margin: 2em 0 .6em;
	padding: 0;
	font-size: 1.02rem;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: .03em;
	color: var(--a2-green);
	border: 0;
}
body.article-v2 .entry-content h4::before {
	content: "";
	display: inline-block;
	width: 1.1em;
	height: 2px;
	margin-right: .55em;
	vertical-align: .32em;
	background: var(--a2-green-mid);
}
body.article-v2 .entry-content :is(h5, h6) {
	margin: 1.8em 0 .5em;
	font-size: .98rem;
	font-weight: 700;
	color: var(--a2-ink-soft);
}
body.article-v2 .entry-content :is(h2, h3, h4) .ss-ico { display: none; }

/* ---------- 強調 ---------- */
body.article-v2 .entry-content :is(strong, b) {
	background: none;
	font-weight: 700;
	color: inherit;
}
body.article-v2 .entry-content em {
	font-style: normal;
	font-weight: 600;
	color: var(--a2-green);
}
body.article-v2 .entry-content mark {
	padding: .05em .2em;
	background: var(--a2-mark);
	color: inherit;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}
body.article-v2 .entry-content :is(p, li, dd, dt, td, th, blockquote, figcaption) a:not([class]) {
	color: var(--a2-green);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-decoration-color: rgba(0, 77, 64, .4);
	text-underline-offset: .22em;
	overflow-wrap: anywhere;
}
body.article-v2 .entry-content :is(p, li, dd, dt, td, th, blockquote, figcaption) a:not([class]):hover {
	color: var(--a2-green-deep);
	text-decoration-color: currentColor;
}
body.article-v2 .entry-content :is(p, li, dd, dt, td, th, blockquote, figcaption) a:not([class]):visited { color: var(--a2-green); }

/* ---------- 箇条書き・番号リスト ---------- */
body.article-v2 .entry-content :is(ul, ol):is(:not([class]), .wp-block-list) {
	margin: 0 0 1.7em;
	padding-left: 1.5em;
	list-style-position: outside;
}
body.article-v2 .entry-content ul:is(:not([class]), .wp-block-list) { list-style-type: disc; }
body.article-v2 .entry-content ol:is(:not([class]), .wp-block-list) { list-style-type: decimal; }
body.article-v2 .entry-content li {
	list-style-position: outside;
	margin: 0 0 .55em;
	padding-left: .15em;
	line-height: 1.85;
}
body.article-v2 .entry-content li::marker { color: var(--a2-green-mid); }
body.article-v2 .entry-content ol > li::marker {
	color: var(--a2-green);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}
body.article-v2 .entry-content li > :is(ul, ol):is(:not([class]), .wp-block-list) { margin: .55em 0 .1em; }
body.article-v2 .entry-content li ul:is(:not([class]), .wp-block-list) { list-style-type: circle; }
body.article-v2 .entry-content li li ul:is(:not([class]), .wp-block-list) { list-style-type: square; }
body.article-v2 .entry-content li > p { margin: 0 0 .5em; }
body.article-v2 .entry-content li > :is(ul, ol) > li:last-child { margin-bottom: 0; }
body.article-v2 .entry-content dl:not([class]) { margin: 0 0 1.7em; }
body.article-v2 .entry-content dl:not([class]) dt { margin: 0 0 .2em; font-weight: 700; color: var(--a2-ink); }
body.article-v2 .entry-content dl:not([class]) dd { margin: 0 0 .9em; padding-left: 1em; color: var(--a2-ink-soft); }

/* ---------- 引用 ---------- */
body.article-v2 .entry-content blockquote {
	margin: 0 0 1.9em;
	padding: 1.1em 1.3em;
	background: var(--a2-panel);
	border: 0;
	border-left: 3px solid var(--a2-green-mid);
	border-radius: 0;
	font-size: .96em;
	color: var(--a2-ink-soft);
}
body.article-v2 .entry-content blockquote p { margin: 0 0 .8em; }
body.article-v2 .entry-content blockquote > :last-child { margin-bottom: 0; }
body.article-v2 .entry-content blockquote strong { color: var(--a2-ink); }
body.article-v2 .entry-content blockquote cite,
body.article-v2 .entry-content .wp-block-quote cite {
	display: block;
	margin-top: .7em;
	font-size: .86em;
	font-style: normal;
	text-align: right;
	color: var(--a2-ink-mute);
}
body.article-v2 .entry-content blockquote cite::before { content: "― "; }

/* ---------- 区切り線 ---------- */
body.article-v2 .entry-content :is(hr, .wp-block-separator) {
	width: 100%;
	max-width: none;
	height: 0;
	margin: 3em 0;
	background: none;
	border: 0;
	border-top: 1px solid var(--a2-line-strong);
	opacity: 1;
}

/* ---------- コード ---------- */
body.article-v2 .entry-content :is(code, kbd, samp) {
	padding: .1em .4em;
	background: #eef3f1;
	border-radius: 3px;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Noto Sans Mono CJK JP", monospace;
	font-size: .88em;
	letter-spacing: 0;
	color: var(--a2-green-deep);
}
body.article-v2 .entry-content pre {
	margin: 0 0 1.9em;
	padding: 1.1em 1.3em;
	overflow-x: auto;
	background: #f4f6f5;
	border: 1px solid var(--a2-line);
	border-radius: var(--a2-radius);
	font-size: .86rem;
	line-height: 1.7;
	letter-spacing: 0;
	color: var(--a2-ink);
	-webkit-overflow-scrolling: touch;
}
body.article-v2 .entry-content pre code {
	padding: 0;
	background: none;
	font-size: inherit;
	color: inherit;
}

/* ---------- 画像・図・キャプション ---------- */
body.article-v2 .entry-content figure { margin: 0 0 1.9em; }
body.article-v2 .entry-content figure img,
body.article-v2 .entry-content .wp-block-image img {
	display: block;
	max-width: 100%;
	height: auto;
	border-radius: var(--a2-radius);
}
body.article-v2 .entry-content figcaption {
	margin: .7em 0 0;
	font-size: .84rem;
	line-height: 1.6;
	letter-spacing: .02em;
	text-align: center;
	color: var(--a2-ink-mute);
}

/* ---------- 表（横スクロール枠は the_content フィルターが付ける .a2-table-scroll） ---------- */
body.article-v2 .entry-content figure.wp-block-table { margin: 0 0 1.9em; overflow: visible; }
body.article-v2 .entry-content .a2-table-scroll {
	max-width: 100%;
	margin: 0 0 1.9em;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
	scrollbar-color: #9bb8ae var(--a2-line-soft, #eef2ef);
}
body.article-v2 .entry-content .wp-block-table .a2-table-scroll { margin: 0; }
body.article-v2 .entry-content table {
	display: table;
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	border-spacing: 0;
	border-radius: 0;
	overflow: visible;
	border-width: 2px 0 1px;
	border-style: solid;
	border-color: var(--a2-green) transparent var(--a2-line-strong);
	font-size: .92rem;
	line-height: 1.75;
	letter-spacing: .02em;
	background: #fff;
}
body.article-v2 .entry-content table :is(th, td) {
	min-width: 7.5em;
	padding: .75em .95em;
	border: 0;
	border-bottom: 1px solid var(--a2-line);
	background: transparent;
	color: var(--a2-ink);
	font-weight: 400;
	text-align: left;
	vertical-align: top;
	white-space: normal;
}
body.article-v2 .entry-content table :is(thead :is(th, td), tr:first-child > th) {
	background: var(--a2-panel);
	border-bottom: 1px solid var(--a2-line-strong);
	color: var(--a2-green-deep);
	font-weight: 700;
}
body.article-v2 .entry-content table :is(thead, tfoot) { border: 0; }
body.article-v2 .entry-content table tbody th { font-weight: 700; color: var(--a2-ink); background: transparent; }
body.article-v2 .entry-content table tr:last-child > :is(th, td) { border-bottom: 0; }
body.article-v2 .entry-content table tr:nth-child(even) td { background: transparent; }
body.article-v2 .entry-content table caption {
	caption-side: top;
	padding: 0 0 .6em;
	font-size: .86rem;
	text-align: left;
	color: var(--a2-ink-mute);
}
body.article-v2 .entry-content .wp-block-table figcaption { text-align: left; }

/* ---------- ボタン ---------- */
body.article-v2 .entry-content .wp-block-buttons { display: flex; flex-wrap: wrap; margin: 0 0 1.9em; gap: .75em; }
body.article-v2 .entry-content .wp-block-button { margin: 0; }
body.article-v2 .entry-content .wp-block-button__link { display: inline-block; }
body.article-v2 .entry-content .wp-block-button__link {
	padding: .75em 1.7em;
	background: var(--a2-green);
	border: 1px solid var(--a2-green);
	border-radius: var(--a2-radius);
	box-shadow: none;
	font-size: .95rem;
	font-weight: 700;
	letter-spacing: .06em;
	line-height: 1.5;
	color: #fff;
	text-decoration: none;
}
body.article-v2 .entry-content .wp-block-button__link:hover { background: var(--a2-green-deep); border-color: var(--a2-green-deep); color: #fff; }
body.article-v2 .entry-content .is-style-outline > .wp-block-button__link,
body.article-v2 .entry-content .wp-block-button__link.is-style-outline {
	background: transparent;
	color: var(--a2-green);
}
body.article-v2 .entry-content .is-style-outline > .wp-block-button__link:hover { background: var(--a2-panel); color: var(--a2-green-deep); }

/* ============================================================
   記事内ボックス（本文のあとに出る自前パーツ）
   2系統に整理: A=参照パネル（白地・上に太罫）／B=要点ボックス（淡緑地・左に太罫）
   ============================================================ */

/* ---------- A. 参照パネル ---------- */
body.article-v2 .entry-content :is(.term-glossary, .seiseiai-kwbox, .seiseiai-related-links, .seiseiai-pillar-cluster, .abb, .supplementary-info, .summary-box, .seiseiai-newsletter-box, .sns-share, .author-eeat-box) {
	position: relative;
	margin: 2.6em 0;
	padding: 1.2em 1.3em 1.3em;
	background: #fff;
	border: 1px solid var(--a2-line);
	border-top: 3px solid var(--a2-green);
	border-radius: 0;
	box-shadow: none;
	overflow: visible;
	color: var(--a2-ink);
	font-size: .95rem;
	line-height: 1.8;
	letter-spacing: .02em;
}
body.article-v2 .entry-content :is(.sns-share, .seiseiai-newsletter-box)::before { display: none; }

/* パネルの見出しラベル */
body.article-v2 .entry-content :is(.term-glossary__title, .seiseiai-kwbox__title, .seiseiai-related-links__title, .seiseiai-pillar-cluster__title, .abb__h, .comment-cta__title, .sns-share__label, .seiseiai-newsletter-box__head, .summary-box > h3, .action-card > h3) {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: .1em .8em;
	margin: 0 0 .9em;
	padding: 0 0 .65em;
	background: none;
	border: 0;
	border-bottom: 1px solid var(--a2-line);
	border-radius: 0;
	font-size: .95rem;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .08em;
	text-transform: none;
	color: var(--a2-green-deep);
}
body.article-v2 .entry-content :is(.term-glossary__title, .seiseiai-kwbox__title, .abb__h, .sns-share__label, .seiseiai-newsletter-box__head) .ss-ico,
body.article-v2 .entry-content .seiseiai-newsletter-box__head [data-icon] { display: none; }
body.article-v2 .entry-content .abb__h::after { display: none; }
body.article-v2 .entry-content .seiseiai-kwbox__title small,
body.article-v2 .entry-content .sns-share__sub {
	font-size: .8rem;
	font-weight: 400;
	letter-spacing: .03em;
	color: var(--a2-ink-mute);
}

/* 用語ミニ解説 */
body.article-v2 .entry-content .term-glossary { margin: 0 0 2.4em; }
body.article-v2 .entry-content .term-glossary__list { display: block; margin: 0; padding: 0; }
body.article-v2 .entry-content .term-glossary__t {
	margin: 1em 0 .15em;
	padding: 0;
	font-weight: 700;
	white-space: normal;
	color: var(--a2-ink);
	border: 0;
}
body.article-v2 .entry-content .term-glossary__t::after { content: none; }
body.article-v2 .entry-content .term-glossary__t:first-child { margin-top: 0; }
body.article-v2 .entry-content .term-glossary__d {
	margin: 0;
	padding: 0;
	font-size: .92rem;
	line-height: 1.8;
	color: var(--a2-ink-soft);
}
body.article-v2 .entry-content .term-alias-note {
	font-size: .84rem;
	font-weight: 400;
	color: var(--a2-ink-mute);
}

/* キーワード（本文中のハイライト・用語リスト） */
body.article-v2 .entry-content .seiseiai-kw {
	background: none;
	border: 0;
	font-weight: 700;
	color: var(--a2-ink);
}
body.article-v2 .entry-content .seiseiai-kwlist__t { margin: 1em 0 .15em; padding: 0; font-weight: 700; }
body.article-v2 .entry-content .seiseiai-kwlist__t:first-child { margin-top: 0; }
body.article-v2 .entry-content .seiseiai-kwlist__sfx { margin-left: .3em; white-space: nowrap; font-size: .85em; font-weight: 400; color: var(--a2-ink-mute); }
body.article-v2 .entry-content .seiseiai-kwlist__d { margin: 0; padding: 0; font-size: .92rem; color: var(--a2-ink-soft); }

/* キーワードと言いかえ */
body.article-v2 .entry-content .seiseiai-kwbox__list { margin: 0; padding: 0; }
body.article-v2 .entry-content .seiseiai-kwbox__item {
	margin: 0;
	padding: .9em 0;
	background: none;
	border: 0;
	border-bottom: 1px solid var(--a2-line);
	border-radius: 0;
	box-shadow: none;
}
body.article-v2 .entry-content .seiseiai-kwbox__item:first-child { padding-top: 0; }
body.article-v2 .entry-content .seiseiai-kwbox__item:last-child { padding-bottom: 0; border-bottom: 0; }
body.article-v2 .entry-content .seiseiai-kwbox__term {
	margin: 0 0 .25em;
	padding: 0;
	background: none;
	border: 0;
	border-radius: 0;
	font-size: 1rem;
	font-weight: 700;
	color: var(--a2-ink);
}
body.article-v2 .entry-content .seiseiai-kwbox__en {
	display: inline-block;
	margin-left: .7em;
	font-size: .78rem;
	font-weight: 400;
	letter-spacing: .02em;
	color: var(--a2-ink-mute);
}
body.article-v2 .entry-content .seiseiai-kwbox__body { margin: 0; padding: 0; display: block; }
body.article-v2 .entry-content .seiseiai-kwbox__mean { display: block; font-size: .93rem; color: var(--a2-ink-soft); }
body.article-v2 .entry-content .seiseiai-kwbox__row {
	display: block;
	margin-top: .3em;
	font-size: .88rem;
	line-height: 1.7;
	color: var(--a2-ink-soft);
}
body.article-v2 .entry-content .seiseiai-kwbox__row b {
	display: inline-block;
	margin-right: .7em;
	padding: 0 .55em;
	background: none;
	border: 1px solid var(--a2-line-strong);
	border-radius: var(--a2-radius);
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .06em;
	line-height: 1.7;
	color: var(--a2-green);
}

/* 関連記事・ピラー記事リンク */
body.article-v2 .entry-content :is(.seiseiai-related-links, .seiseiai-pillar-cluster) ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
body.article-v2 .entry-content :is(.seiseiai-related-links, .seiseiai-pillar-cluster) li {
	margin: 0;
	padding: .65em 0;
	border-bottom: 1px solid var(--a2-line);
	line-height: 1.7;
}
body.article-v2 .entry-content :is(.seiseiai-related-links, .seiseiai-pillar-cluster) li:first-child { padding-top: 0; }
body.article-v2 .entry-content :is(.seiseiai-related-links, .seiseiai-pillar-cluster) li:last-child { padding-bottom: 0; border-bottom: 0; }
body.article-v2 .entry-content :is(.seiseiai-related-links, .seiseiai-pillar-cluster) a {
	color: var(--a2-green);
	font-weight: 500;
	text-decoration: none;
}
body.article-v2 .entry-content :is(.seiseiai-related-links, .seiseiai-pillar-cluster) a:hover { color: var(--a2-green-deep); text-decoration: underline; text-underline-offset: .2em; }

/* 掲示板への導線（abb） */
body.article-v2 .entry-content .abb__lead { margin: 0 0 .8em; font-size: .92rem; color: var(--a2-ink-soft); }
body.article-v2 .entry-content .abb__list { margin: 0; padding: 0; list-style: none; }
body.article-v2 .entry-content .abb__item { margin: 0; padding: 0; border-bottom: 1px solid var(--a2-line); }
body.article-v2 .entry-content .abb__link {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 1em;
	padding: .65em 0;
	background: none;
	border: 0;
	border-radius: 0;
	color: var(--a2-ink);
	text-decoration: none;
}
body.article-v2 .entry-content .abb__link:hover { color: var(--a2-green); }
body.article-v2 .entry-content .abb__title { font-weight: 500; }
body.article-v2 .entry-content .abb__meta { flex-shrink: 0; font-size: .8rem; color: var(--a2-ink-mute); }
body.article-v2 .entry-content .abb__cta { margin: 1.1em 0 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: .6em 1em; }
body.article-v2 .entry-content .abb__btn,
body.article-v2 .comment-cta__btn {
	display: inline-block;
	padding: .65em 1.5em;
	background: var(--a2-green);
	border: 1px solid var(--a2-green);
	border-radius: var(--a2-radius);
	box-shadow: none;
	font-size: .9rem;
	font-weight: 700;
	letter-spacing: .06em;
	line-height: 1.5;
	text-decoration: none;
	color: #fff;
	transform: none;
}
body.article-v2 :is(.entry-content .abb__btn, .comment-cta__btn):hover { background: var(--a2-green-deep); border-color: var(--a2-green-deep); color: #fff; transform: none; }
body.article-v2 .entry-content .abb__note { font-size: .8rem; color: var(--a2-ink-mute); }

/* コメント誘導（本文の外に出る記事もあるため .entry-content に縛らない） */
body.article-v2 .comment-cta__title {
	display: block;
	margin: 0 0 .5em;
	padding: 0;
	border: 0;
	font-size: .95rem;
	font-weight: 700;
	letter-spacing: .08em;
	color: var(--a2-green-deep);
}
body.article-v2 .comment-cta {
	display: block;
	margin: 2.6em 0;
	padding: 1.2em 1.3em 1.3em;
	background: var(--a2-panel);
	border: 0;
	border-left: 4px solid var(--a2-green);
	border-radius: 0;
	text-align: left;
}
body.article-v2 .comment-cta__icon,
body.article-v2 .comment-cta__btn .ss-ico { display: none; }
body.article-v2 .comment-cta__text { margin: 0 0 1em; font-size: .9rem; line-height: 1.8; color: var(--a2-ink-soft); }
body.article-v2 .comment-cta__btn { width: auto; }

/* 著者ボックス */
body.article-v2 .entry-content .author-eeat-box {
	display: flex;
	align-items: flex-start;
	gap: 1em;
	background: #fff;
}
body.article-v2 .entry-content .author-eeat-box__avatar { width: 48px; height: 48px; font-size: .95rem; font-weight: 700; letter-spacing: .04em; }
body.article-v2 .entry-content .author-eeat-box__name { margin: 0 0 .3em; font-size: .95rem; font-weight: 700; color: var(--a2-green-deep); }
body.article-v2 .entry-content .author-eeat-box__bio { margin: 0; font-size: .85rem; line-height: 1.8; color: var(--a2-ink-soft); }
body.article-v2 .entry-content .author-eeat-box__actions { margin: .7em 0 0; font-size: .84rem; display: flex; flex-wrap: wrap; gap: .3em 1.4em; }
body.article-v2 .entry-content .author-eeat-box__actions a { color: var(--a2-green); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }

/* メルマガ登録（MailPoetが高詳細度のインラインstyleを出すため、見た目の上書きは !important） */
body.article-v2 .entry-content .seiseiai-newsletter-box__head { display: block; }
body.article-v2 .entry-content .seiseiai-newsletter-box__title { font-size: .95rem; font-weight: 700; letter-spacing: .08em; }
body.article-v2 .entry-content .seiseiai-newsletter-box__lead { margin: 0 0 1em; font-size: .9rem; line-height: 1.8; color: var(--a2-ink-soft); }
body.article-v2 .entry-content .seiseiai-newsletter-box .mailpoet_text {
	border: 1px solid var(--a2-line-strong) !important;
	border-radius: var(--a2-radius) !important;
	background: #fff !important;
	padding: .7em .8em !important;
	font-size: .95rem !important;
}
body.article-v2 .entry-content .seiseiai-newsletter-box .mailpoet_submit,
body.article-v2 .entry-content .seiseiai-newsletter-box input[type="submit"] {
	background: var(--a2-green) !important;
	border: 1px solid var(--a2-green) !important;
	border-radius: var(--a2-radius) !important;
	box-shadow: none !important;
	color: #fff !important;
	font-weight: 700 !important;
	letter-spacing: .06em !important;
	padding: .75em 1em !important;
}

/* シェア */
body.article-v2 .entry-content .sns-share__head { margin: 0 0 .9em; }
body.article-v2 .entry-content .sns-share__label { margin-bottom: .35em; padding-bottom: 0; border-bottom: 0; }
body.article-v2 .entry-content .sns-share__sub { display: block; margin: 0; }
body.article-v2 .entry-content .sns-share__btns { gap: .6em; }
body.article-v2 .entry-content .sns-share__btn {
	height: 44px;
	min-height: 44px;
	background: #fff;
	border: 1px solid var(--a2-line-strong);
	border-radius: var(--a2-radius);
	box-shadow: none;
	font-size: .88rem;
	font-weight: 700;
	letter-spacing: .04em;
	color: var(--a2-green);
	filter: none;
	transform: none;
}
body.article-v2 .entry-content .sns-share__btn:hover { background: var(--a2-green); border-color: var(--a2-green); color: #fff; filter: none; transform: none; box-shadow: none; }

/* ---------- B. 要点ボックス（結論・まとめ・行動・補足） ---------- */
body.article-v2 .entry-content :is(.chiebukuro-opening-box, .conclusion-box, .conclusion, .article-conclusion, .action-card, .comment-invitation-box, .seiseiai-kwlist) {
	position: relative;
	margin: 2.4em 0;
	padding: 1.2em 1.3em 1.3em;
	background: var(--a2-panel) !important;
	border: 0 !important;
	border-left: 4px solid var(--a2-green) !important;
	border-radius: 0 !important;
	box-shadow: none;
	font-size: .98rem;
	line-height: 1.9;
	color: var(--a2-ink) !important;
	text-align: left;
}
body.article-v2 .entry-content :is(.chiebukuro-opening-box, .conclusion-box, .conclusion, .article-conclusion) :is(p, li) { margin: 0 0 .8em; color: var(--a2-ink) !important; }
body.article-v2 .entry-content :is(.chiebukuro-opening-box, .conclusion-box, .conclusion, .article-conclusion) > :last-child { margin-bottom: 0; }
/* 「結論ファースト」ラベルの絵文字（CSS content）を外し、文字だけにする */
body.article-v2 .entry-content :is(.chiebukuro-opening-box, .conclusion-box)::before,
body.article-v2 .entry-content .conclusion__label,
body.article-v2 .entry-content .article-conclusion::before {
	content: "結論ファースト";
	position: static;
	display: block;
	margin: 0 0 .6em;
	padding: 0;
	background: none;
	border: 0;
	border-radius: 0;
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .12em;
	color: var(--a2-green-deep);
}
body.article-v2 .entry-content .article-conclusion::before { content: "結論"; }
body.article-v2 .entry-content .action-card > h3 {
	border-left: 0 !important;
	border-bottom: 1px solid var(--a2-line-strong) !important;
	padding: 0 0 .65em !important;
	margin: 0 0 .9em !important;
	color: var(--a2-green-deep) !important;
}
body.article-v2 .entry-content .action-card :is(p, li, td) { color: var(--a2-ink) !important; }
body.article-v2 .entry-content .action-card :is(p, li):last-child { margin-bottom: 0; }
body.article-v2 .entry-content .action-card a,
body.article-v2 .entry-content .action-card a:link,
body.article-v2 .entry-content .action-card a:visited { color: var(--a2-green) !important; text-decoration: underline; text-underline-offset: .22em; }
body.article-v2 .entry-content .comment-invitation-box h4 { margin: 0 0 .5em; font-size: 1rem; color: var(--a2-green-deep); }
body.article-v2 .entry-content .comment-invitation-box h4::before { display: none; }
body.article-v2 .entry-content .comment-invitation-box p { margin: 0; font-size: .92rem; color: var(--a2-ink-soft); }

/* 「この記事でわかること」の箇条書き */
body.article-v2 .entry-content .summary-box ul { margin: 0; padding-left: 1.4em; }
body.article-v2 .entry-content .summary-box li:last-child { margin-bottom: 0; }

/* 補助金などの補足（自動更新）ブロック内の見出しは控えめに */
body.article-v2 .entry-content .supplementary-info h2 {
	margin: 1.8em 0 .6em;
	padding: 0 0 .4em;
	font-size: 1.05rem;
	letter-spacing: .04em;
}
body.article-v2 .entry-content .supplementary-info > h2:first-child { margin-top: 0; }
body.article-v2 .entry-content .supplementary-info h2::after { width: 2em; height: 2px; }

/* ---------- OPAL記事の外枠・深掘り・FAQ（枠をはずして本文として読ませる） ---------- */
body.article-v2 .entry-content .opal-news-container { display: block; gap: 0; }
body.article-v2 .entry-content .opal-news-container > * { margin-top: 0; }
body.article-v2 .entry-content :is(.deep-dive-box, .faq-section) {
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}
body.article-v2 .entry-content .deep-dive-box > h3 {
	display: block;
	margin: 2.3em 0 .8em;
	padding: .1em 0 .1em .75em;
	font-size: clamp(1.1rem, 1.04rem + .3vw, 1.2rem);
	font-weight: 700;
	letter-spacing: .02em;
	text-transform: none;
	color: var(--a2-ink);
	border: 0;
	border-left: 4px solid var(--a2-green-mid);
}
body.article-v2 .entry-content .faq-section h2 { margin-top: 2.9em; }
body.article-v2 .entry-content .faq-item { margin: 0; padding: 1em 0; border-bottom: 1px solid var(--a2-line); }
body.article-v2 .entry-content .faq-q { margin: 0 0 .4em; padding-left: 1.9em; font-size: 1rem; font-weight: 700; color: var(--a2-ink); }
body.article-v2 .entry-content .faq-q::before {
	width: 1.35em;
	height: 1.35em;
	top: .3em;
	border-radius: var(--a2-radius);
	background: var(--a2-green);
	font-size: .72rem;
	letter-spacing: 0;
}
body.article-v2 .entry-content .faq-a { margin: 0; padding-left: 1.9em; font-size: .95rem; line-height: 1.85; color: var(--a2-ink-soft); }

/* ---------- 注記・出典 ---------- */
body.article-v2 .entry-content :is(.source-note, .subsidy-auto-note) {
	margin: 2.2em 0 1.8em;
	padding: .9em 0 0;
	background: none;
	border: 0;
	border-top: 1px solid var(--a2-line-strong);
	border-radius: 0;
	font-size: .84rem;
	line-height: 1.8;
	letter-spacing: .02em;
	color: var(--a2-ink-mute);
}
body.article-v2 .entry-content .subsidy-auto-note { margin: 1.2em 0 1.8em; padding: 0 0 0 .9em; border-top: 0; border-left: 2px solid var(--a2-line-strong); }
body.article-v2 .entry-content .source-note a {
	color: var(--a2-green);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: .2em;
	overflow-wrap: anywhere;
	word-break: break-all;
}

/* ---------- PC幅 ---------- */
@media (min-width: 768px) {
	body.article-v2 .entry-content :is(.term-glossary, .seiseiai-kwbox, .seiseiai-related-links, .seiseiai-pillar-cluster, .abb, .supplementary-info, .summary-box, .seiseiai-newsletter-box, .sns-share, .author-eeat-box) {
		padding: 1.4em 1.7em 1.5em;
	}
	body.article-v2 .entry-content :is(.chiebukuro-opening-box, .conclusion-box, .conclusion, .article-conclusion, .action-card, .comment-invitation-box, .seiseiai-kwlist) {
		padding: 1.4em 1.7em 1.5em;
	}
	body.article-v2 .comment-cta { padding: 1.4em 1.7em 1.5em; }
	body.article-v2 .entry-content .sns-share__btns { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* ---------- スマホ幅 ---------- */
@media (max-width: 480px) {
	body.article-v2 .entry-content .abb__link { flex-direction: column; gap: .15em; }
	body.article-v2 .entry-content .abb__btn,
	body.article-v2 .comment-cta__btn { display: block; width: 100%; text-align: center; box-sizing: border-box; }
	body.article-v2 .entry-content .author-eeat-box { flex-direction: row; }
	body.article-v2 .entry-content .sns-share__btn { padding: 0 .5em; }
	body.article-v2 .entry-content table:has(tr > :nth-child(3)) { min-width: 38em; }
	body.article-v2 .entry-content table:has(tr > :nth-child(4)) { min-width: 50em; }
}
