@charset "utf-8";

/* ============================
	page（2026-09-10 新規）
	汎用固定ページ専用。is_page() && !is_front_page() のときのみ読み込まれる。
	見出しは下層MVに出るため、ここでは本文の体裁のみを扱う。
	.entry-content の見た目は entry.css（お知らせ詳細）と揃えている。
============================ */

.section[id^="post-"] {
	background: var(--c-white);
}

.section[id^="post-"] .content-box {
	margin: 0;
}

/* ============================
	entry-content（固定ページ本文）
============================ */
.entry-content {
	font-family: var(--f-body);
	font-size: var(--fs-17);
	line-height: var(--lh-body);
	color: var(--c-text);
}

.entry-content > *:first-child {
	margin-top: 0;
}

.entry-content > *:last-child {
	margin-bottom: 0;
}

.entry-content p {
	margin: 1.8em 0;
}

.entry-content h2 {
	margin: 2.5em 0 1em;
	padding: 0 0 14px;
	border-bottom: 2px solid var(--c-primary);
	font-family: var(--f-base);
	font-size: var(--fs-30);
	font-weight: 700;
	line-height: var(--lh-heading);
	letter-spacing: var(--ls-h2-narrow);
	color: var(--c-ink);
}

.entry-content h3 {
	position: relative;
	margin: 2.2em 0 1em;
	padding: 0 0 0 16px;
	font-family: var(--f-base);
	font-size: var(--fs-22);
	font-weight: 700;
	line-height: var(--lh-heading);
	color: var(--c-ink);
}

.entry-content h3::before {
	content: "";
	position: absolute;
	top: 0.25em;
	left: 0;
	width: 4px;
	height: 1.1em;
	background: var(--c-primary);
}

.entry-content h4 {
	margin: 2em 0 0.8em;
	font-family: var(--f-base);
	font-size: var(--fs-20);
	font-weight: 700;
	line-height: var(--lh-heading);
	color: var(--c-ink);
}

.entry-content a {
	color: var(--c-primary);
	text-decoration: underline;
}

.entry-content a:hover {
	color: var(--c-primary-hover);
}

.entry-content ul,
.entry-content ol {
	margin: 1.8em 0;
	padding: 0;
}

.entry-content li {
	position: relative;
	margin: 0.4em 0;
	padding-left: 20px;
}

.entry-content ul > li::before {
	content: "";
	position: absolute;
	top: 0.7em;
	left: 0;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--c-primary);
}

.entry-content ol {
	counter-reset: my-ol;
}

.entry-content ol > li {
	padding-left: 28px;
	counter-increment: my-ol;
}

.entry-content ol > li::before {
	content: counter(my-ol) ".";
	position: absolute;
	left: 0;
	font-family: var(--f-en);
	color: var(--c-primary);
}

.entry-content table {
	margin: 1.8em 0;
	border-top: 1px solid var(--c-border);
	border-left: 1px solid var(--c-border);
}

.entry-content th,
.entry-content td {
	padding: 14px 16px;
	border-right: 1px solid var(--c-border);
	border-bottom: 1px solid var(--c-border);
	font-size: var(--fs-17);
	line-height: var(--lh-heading);
	text-align: left;
	vertical-align: top;
}

.entry-content th {
	background: var(--c-bg-light);
	font-weight: 700;
	color: var(--c-ink);
}

.entry-content blockquote {
	margin: 2em 0;
	padding: 20px 24px;
	border-left: 4px solid var(--c-border);
	background: var(--c-bg-light);
	font-size: var(--fs-17);
	color: var(--c-text-sub);
}

.entry-content hr {
	margin: 3em 0;
	border: none;
	border-top: 1px solid var(--c-border);
}

.entry-content img {
	max-width: 100%;
	height: auto;
}

.entry-content .wp-caption {
	max-width: 100%;
	margin: 2em 0;
	padding: 10px;
	background: var(--c-bg-light);
	text-align: center;
}

.entry-content .wp-caption p.wp-caption-text {
	margin: 10px 0 0;
	font-size: var(--fs-14);
	color: var(--c-text-sub);
}

/* ============================
	SP
============================ */
@media screen and (max-width: 767px) {
	.entry-content h2 {
		margin: 2em 0 0.8em;
		padding-bottom: 10px;
	}

	.entry-content h3 {
		margin: 1.8em 0 0.8em;
	}

	.entry-content th,
	.entry-content td {
		padding: 10px 12px;
	}

	.entry-content table {
		display: block;
		overflow-x: auto;
	}
}
