/* =========================================================
   お知らせ（投稿）詳細ページ専用スタイル（single.php）
   クラス名はすべて.p-single-*で、front.css／page-news.css等の
   他ページのCSSとは完全に分離している。他ページの見た目には影響しない。
========================================================= */
.p-single {
	background: var(--wp--preset--color--base-alt);
	padding-block: 56px;
}
.p-single__wrap {
	max-width: 960px;
	margin-inline: auto;
	padding-inline: 40px;
}

/* ---------- ヘッダー（NEWSラベル・お知らせ・日付＋カテゴリー・タイトル） ---------- */
.p-single__label {
	display: block;
	color: var(--wp--preset--color--river);
	margin-bottom: 8px;
}
.p-single__kicker {
	font-family: var(--wp--preset--font-family--zen-old-mincho);
	font-weight: 500;
	font-size: 15px;
	color: var(--wp--preset--color--ink);
	margin-bottom: 32px;
}
.p-single__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-bottom: 16px;
}
.p-single__date {
	font-family: var(--wp--preset--font-family--jost);
	font-size: 13px;
	color: var(--wp--preset--color--ink-soft);
}
.p-single__category {
	font-size: 11px;
	letter-spacing: 0.05em;
	color: var(--wp--preset--color--river);
	border: 1px solid var(--wp--preset--color--river);
	border-radius: 3px;
	padding: 2px 7px;
}
.p-single__title {
	font-family: var(--wp--preset--font-family--zen-old-mincho);
	font-weight: 500;
	font-size: 32px;
	line-height: 1.4;
	color: var(--wp--preset--color--ink);
}

.p-single__divider {
	height: 1px;
	background: var(--wp--preset--color--sand);
	margin-block: 40px;
}

/* ---------- 本文（WordPressの標準ブロックを自然に整える） ---------- */
.p-single__content {
	max-width: 760px;
	font-size: 16px;
	line-height: 1.9;
	color: var(--wp--preset--color--ink);
}
.p-single__content > * + * {
	margin-top: 28px;
}
.p-single__content h2 {
	font-family: var(--wp--preset--font-family--zen-old-mincho);
	font-weight: 500;
	font-size: 24px;
	line-height: 1.5;
	margin-top: 48px;
}
.p-single__content h3 {
	font-family: var(--wp--preset--font-family--zen-old-mincho);
	font-weight: 500;
	font-size: 19px;
	line-height: 1.5;
	margin-top: 40px;
}
.p-single__content p {
	margin: 0;
}
.p-single__content ul,
.p-single__content ol {
	padding-left: 1.4em;
}
.p-single__content ul {
	list-style: disc;
}
.p-single__content ol {
	list-style: decimal;
}
.p-single__content li + li {
	margin-top: 8px;
}
.p-single__content a {
	color: var(--wp--preset--color--forest);
	text-decoration: underline;
	text-underline-offset: 0.15em;
}
.p-single__content a:hover {
	color: var(--wp--preset--color--river);
}
.p-single__content img {
	border-radius: 4px;
}
.p-single__content figcaption {
	font-size: 13px;
	color: var(--wp--preset--color--ink-soft);
	margin-top: 8px;
	text-align: center;
}
.p-single__content blockquote {
	border-left: 3px solid var(--wp--preset--color--sand);
	padding-left: 20px;
	color: var(--wp--preset--color--ink-soft);
}
.p-single__content hr {
	border: none;
	border-top: 1px solid var(--wp--preset--color--sand);
}

/* ---------- 記事下部（一覧へ戻るボタン） ---------- */
.p-single__back {
	margin-top: 32px;
}

@media (max-width: 768px) {
	.p-single {
		padding-block: 40px;
	}
	.p-single__wrap {
		padding-inline: 20px;
	}
	.p-single__title {
		font-size: 24px;
	}
	.p-single__divider {
		margin-block: 32px;
	}
	.p-single__content {
		font-size: 15px;
	}
	.p-single__content h2 {
		font-size: 21px;
		margin-top: 40px;
	}
	.p-single__content h3 {
		font-size: 17px;
		margin-top: 32px;
	}
	.p-single__back {
		margin-top: 24px;
	}
}
