/**
 * 固定ページ — 本文エリア（幅・ブロック間隔）
 *
 * @package Sankoudenki
 */

/* 投稿詳細 — パンくず直下 H1（日付は横並び） */
.post-single-header {
	margin: clamp(1.25rem, 1rem + 0.75vw, 1.75rem) 0 clamp(1.5rem, 1.2rem + 1vw, 2rem);
	padding-bottom: clamp(0.875rem, 0.75rem + 0.5vw, 1.125rem);
	border-bottom: 1px solid #e2e8f0;
}

.post-single-header__row {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.625rem clamp(1rem, 0.75rem + 0.8vw, 1.5rem);
}

.post-single-header__date {
	display: flex;
	align-items: center;
	gap: 0.625rem;
	margin: 0;
	flex: 0 0 auto;
	font-size: 0.875rem;
	font-weight: 700;
	color: #155c89;
	letter-spacing: 0.02em;
}

.post-single-header__date time {
	font-variant-numeric: tabular-nums;
}

.post-single-header__date::before {
	content: "";
	display: block;
	width: 3px;
	height: 1.125rem;
	background-color: #155c89;
	border-radius: 1px;
	flex-shrink: 0;
}

.post-single-header__title {
	margin: 0;
	flex: 1 1 14rem;
	min-width: 0;
	font-family: "Noto Sans JP", var(--font-sans, sans-serif);
	font-size: clamp(1.25rem, 1.05rem + 0.75vw, 1.625rem);
	font-weight: 900;
	line-height: 1.4;
	color: #0f172a;
}

:root {
	/* 一般固定ページ・会社案内・施工実績一覧（16px基準で 62em ≒ 992px） */
	--doc-prose-max-width: 62em;
	/* 表・多列向け：l-inner 全幅を利用（--max-width は main.css） */
	--doc-section-gap: clamp(2.75rem, 2rem + 2vw, 3.75rem);
}

.doc-prose:not(.doc-prose--company):not(.doc-prose--efforts):not(.doc-prose--privacy):not(.doc-prose--service-page):not(.doc-prose--service-denki) {
	max-width: var(--doc-prose-max-width);
	margin-inline: auto;
	color: #475569;
	line-height: 1.75;
}

.doc-prose:not(.doc-prose--company):not(.doc-prose--efforts):not(.doc-prose--service-page):not(.doc-prose--service-denki) p + p {
	margin-top: 1.25em;
}

/* 投稿・お知らせ等 — 本文内テキストリンク（ボタンブロックは除外） */
.doc-prose:not(.doc-prose--company):not(.doc-prose--efforts):not(.doc-prose--privacy):not(.doc-prose--service-page):not(.doc-prose--service-denki)
	:where(p, li, td, th, blockquote, .wp-block-paragraph, .wp-block-list) a:where(:not(.wp-element-button)):not(.wp-block-button__link),
.doc-prose.news-single__content
	:where(p, li, td, th, blockquote, .wp-block-paragraph, .wp-block-list) a:where(:not(.wp-element-button)):not(.wp-block-button__link) {
	color: var(--color-primary, #155c89);
	font-weight: 700;
	text-decoration: underline;
	text-decoration-color: rgba(21, 92, 137, 0.55);
	text-underline-offset: 0.2em;
}

.doc-prose:not(.doc-prose--company):not(.doc-prose--efforts):not(.doc-prose--privacy):not(.doc-prose--service-page):not(.doc-prose--service-denki)
	:where(p, li, td, th, blockquote, .wp-block-paragraph, .wp-block-list) a:where(:not(.wp-element-button)):not(.wp-block-button__link):hover,
.doc-prose:not(.doc-prose--company):not(.doc-prose--efforts):not(.doc-prose--privacy):not(.doc-prose--service-page):not(.doc-prose--service-denki)
	:where(p, li, td, th, blockquote, .wp-block-paragraph, .wp-block-list) a:where(:not(.wp-element-button)):not(.wp-block-button__link):focus-visible,
.doc-prose.news-single__content
	:where(p, li, td, th, blockquote, .wp-block-paragraph, .wp-block-list) a:where(:not(.wp-element-button)):not(.wp-block-button__link):hover,
.doc-prose.news-single__content
	:where(p, li, td, th, blockquote, .wp-block-paragraph, .wp-block-list) a:where(:not(.wp-element-button)):not(.wp-block-button__link):focus-visible {
	color: var(--color-primary-hover-deep, #0c5f8f);
	text-decoration-color: currentColor;
}

/* 会社案内セクション間隔（罫線は company.css） */
.doc-prose:not(.doc-prose--company):not(.doc-prose--efforts):not(.doc-prose--service-page):not(.doc-prose--service-denki) .is-style-doc-story + .is-style-doc-story,
.editor-styles-wrapper .is-style-doc-story + .is-style-doc-story {
	margin-top: var(--doc-section-gap);
}

.doc-prose .is-style-doc-story > :is(h2, h3, h4, h5, h6).is-style-doc-subhead:first-child,
.doc-prose .is-style-doc-story > :is(h2, h3, h4, h5, h6):first-child,
.doc-prose--company .is-style-doc-story > :is(h2, h3, h4, h5, h6).is-style-doc-subhead:first-child,
.doc-prose--company .is-style-doc-story > :is(h2, h3, h4, h5, h6):first-child,
.doc-prose--efforts .is-style-doc-story > :is(h2, h3, h4, h5, h6).is-style-doc-subhead:first-child,
.doc-prose--efforts .is-style-doc-story > :is(h2, h3, h4, h5, h6):first-child,
.editor-styles-wrapper .is-style-doc-story > :is(h2, h3, h4, h5, h6).is-style-doc-subhead:first-child,
.editor-styles-wrapper .is-style-doc-story > :is(h2, h3, h4, h5, h6):first-child {
	margin-top: 0;
}

/* 表・画像の直後に見出し */
.doc-prose :is(.wp-block-table, .wp-block-image, figure) + :is(h2, h3, h4, h5, h6),
.doc-prose--company :is(.wp-block-table, .wp-block-image, figure) + :is(h2, h3, h4, h5, h6),
.doc-prose--efforts :is(.wp-block-table, .wp-block-image, figure) + :is(h2, h3, h4, h5, h6) {
	margin-top: var(--doc-section-gap);
}
