/*
 * 記事ページ・固定ページ（新デザイン時のみ）
 * 本文は1行が長くなりすぎないよう幅を制限する。見出しは大きく、本文は読みやすさ優先。
 */

.snw-singular #content.l-content { padding-top: var(--space-lg); }

.snw-singular .l-mainContent__inner {
	max-width: var(--wrap-narrow);
	margin-inline: auto;
}

/* ---------- 記事ヘッダー ---------- */
.snw-singular .p-articleHead { margin-bottom: var(--space-lg); }
.snw-singular .p-articleMetas { gap: var(--space-xs) var(--space-sm); font-size: var(--font-size-sm); color: var(--snw-muted); }
.snw-singular .c-categoryList__link {
	border-radius: 0;
	background: none;
	padding: 0;
	color: var(--snw-coral-ink);
	font-weight: 700;
}
.snw-singular .c-postTitle { margin-top: var(--space-sm); }
.snw-singular .c-postTitle__ttl {
	font-size: var(--font-size-h1);
	font-weight: 800;
	line-height: var(--leading-tight);
	letter-spacing: 0.01em;
	color: var(--snw-navy);
	text-wrap: pretty;
}
.snw-singular .c-postTitle__date { display: none; } /* 日付はメタ行に出ているので重複させない */
.snw-singular .c-postTimes { font-family: var(--font-accent); letter-spacing: 0.04em; }
.snw-singular .p-articleThumb { margin-bottom: var(--space-lg); }
.snw-singular .p-articleThumb__img { border-radius: 0; }

/* ---------- 本文 ---------- */
.snw-singular .post_content {
	font-size: var(--font-size-article);
	line-height: var(--leading-body);
	letter-spacing: 0.02em;
	color: var(--snw-ink);
}
.snw-singular .post_content > * + * { margin-top: 1.4em; }
.snw-singular .post_content p { margin-bottom: 0; }
.snw-singular .post_content a { color: var(--snw-navy); text-decoration: underline; text-decoration-color: var(--snw-coral); text-decoration-thickness: 1px; }
.snw-singular .post_content a:hover { text-decoration-thickness: 2px; }
.snw-singular .post_content strong { font-weight: 700; background: linear-gradient(transparent 62%, color-mix(in srgb, var(--snw-coral) 22%, transparent) 62%); }

/* 見出し：SWELL の装飾（帯・吹き出し等）を外し、罫線と余白で組む */
.snw-singular .post_content h2,
.snw-singular .post_content h3,
.snw-singular .post_content h4 {
	position: relative;
	background: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	padding: 0;
	color: var(--snw-navy);
	font-weight: 800;
	letter-spacing: 0.01em;
}
.snw-singular .post_content h2::before,
.snw-singular .post_content h2::after,
.snw-singular .post_content h3::before,
.snw-singular .post_content h3::after,
.snw-singular .post_content h4::before,
.snw-singular .post_content h4::after { content: none; }

.snw-singular .post_content h2 {
	margin-top: 2.8em;
	padding-top: var(--space-md);
	border-top: var(--rule-strong);
	font-size: var(--font-size-h2);
	line-height: var(--leading-tight);
}
.snw-singular .post_content h3 {
	margin-top: 2.2em;
	padding-left: var(--space-sm);
	border-left: 4px solid var(--snw-coral);
	font-size: var(--font-size-h3);
	line-height: var(--leading-heading);
}
.snw-singular .post_content h4 { margin-top: 1.8em; font-size: 1.0625rem; line-height: var(--leading-heading); }

/* リスト */
.snw-singular .post_content :where(ul, ol) { padding-left: 1.4em; }
.snw-singular .post_content li + li { margin-top: 0.4em; }
.snw-singular .post_content ul li::marker { color: var(--snw-coral); }

/* 区切り線 */
.snw-singular .post_content hr.wp-block-separator {
	margin-block: var(--space-lg);
	border: 0;
	border-top: var(--rule);
	opacity: 1;
}

/* 既存記事の「要するに」「〔重要〕」は引用ブロックで組まれている → 左罫線のボックスとして読ませる */
.snw-singular .post_content blockquote.wp-block-quote {
	margin-inline: 0;
	padding: var(--space-md) var(--space-md) var(--space-md) calc(var(--space-md) + 4px);
	border: 0;
	border-left: 4px solid var(--snw-navy);
	border-radius: 0;
	background: var(--snw-white);
	font-style: normal;
	font-size: 1rem;
	line-height: var(--leading-body);
	color: var(--snw-ink);
}
.snw-singular .post_content blockquote.wp-block-quote::before,
.snw-singular .post_content blockquote.wp-block-quote::after { content: none; }
.snw-singular .post_content blockquote.wp-block-quote > * + * { margin-top: 0.8em; }
.snw-singular .post_content blockquote.wp-block-quote cite { color: var(--snw-muted); font-style: normal; }

/* 表 */
.snw-singular .post_content .wp-block-table { overflow-x: auto; }
.snw-singular .post_content table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.9375rem;
	line-height: 1.7;
	background: var(--snw-white);
}
.snw-singular .post_content :where(th, td) { padding: 12px 14px; border: 0; border-bottom: var(--rule); vertical-align: top; text-align: left; }
.snw-singular .post_content thead th,
.snw-singular .post_content tr:first-child th { border-bottom: var(--rule-strong); background: var(--snw-ivory-deep); color: var(--snw-navy); font-weight: 700; }

/* ---------- 図解（画像） ---------- */
.snw-singular .post_content figure.wp-block-image {
	margin-block: var(--space-lg);
}
.snw-singular .post_content figure.wp-block-image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 0;
	background: var(--snw-white);
}
.snw-singular .post_content figure.wp-block-image figcaption,
.snw-singular .post_content .wp-element-caption {
	margin-top: var(--space-xs);
	padding-top: var(--space-xs);
	border-top: var(--rule);
	font-size: var(--font-size-sm);
	line-height: 1.7;
	color: var(--snw-muted);
	text-align: left;
}
/* PCでは図解を本文幅より少しだけ広げ、図の存在感を出す */
@media (min-width: 1024px) {
	.snw-singular .post_content figure.wp-block-image.size-large,
	.snw-singular .post_content figure.wp-block-image.snw-figure {
		margin-inline: -48px;
	}
	.snw-singular .post_content figure.wp-block-image.size-large figcaption,
	.snw-singular .post_content figure.wp-block-image.snw-figure figcaption { margin-inline: 48px; }
}

/* ---------- 目次 ---------- */
.snw-singular .p-toc {
	margin-block: var(--space-lg);
	padding: var(--space-md);
	border: 0;
	border-top: var(--rule-strong);
	border-radius: 0;
	background: var(--snw-white);
	box-shadow: none;
}
.snw-singular .p-toc__ttl { font-weight: 800; color: var(--snw-navy); }
.snw-singular .p-toc__ttl::before { color: var(--snw-coral); }
.snw-singular .p-toc__list a { color: var(--snw-ink); text-decoration: none; }
.snw-singular .p-toc__list a:hover { color: var(--snw-navy); text-decoration: underline; text-decoration-color: var(--snw-coral); }

/* ---------- 記事の下 ---------- */
.snw-singular .l-articleBottom__title,
.snw-singular .c-secTitle {
	border: 0;
	border-top: var(--rule-strong);
	border-radius: 0;
	background: none;
	padding: var(--space-sm) 0 0;
	font-size: var(--font-size-h3);
	font-weight: 800;
	color: var(--snw-navy);
	text-align: left;
}
.snw-singular .l-articleBottom__title::before,
.snw-singular .l-articleBottom__title::after,
.snw-singular .c-secTitle::before,
.snw-singular .c-secTitle::after { content: none; }
.snw-singular .p-authorBox { border: 0; border-radius: 0; background: var(--snw-white); padding: var(--space-md); }
.snw-singular .p-pnLinks__link { border-radius: 0; background: var(--snw-white); box-shadow: none; }
.snw-singular .p-relatedPosts .p-postList__link { border-radius: 0; box-shadow: none; background: none; }
.snw-singular .p-relatedPosts .p-postList__title { color: var(--snw-navy); font-weight: 700; }
.snw-singular .c-shareBtns__btn { border-radius: var(--radius-sm); }
