@layer pages {
	/* 連合会概要：会長あいさつ */
	.greet { display: grid; grid-template-columns: 1fr; gap: 24px; }
	/* スマホ（1列）では写真を中央に置く（10/22 田原さんの指示）。768px 以上は左の列に入る */
	.greet__photo { width: 200px; aspect-ratio: 200 / 260; margin-inline: auto; }
	@media (min-width: 768px) { .greet__photo { margin-inline: 0; } }
	.greet__photo img { width: 100%; height: 100%; object-fit: cover; }
	/* 署名（日付・団体名・会長名）は、3行のまとまりごと右に寄せる。行頭は左で揃える（10/22 田原さんの指示） */
	.greet__sign { margin-top: 18px; font-size: 14px; color: var(--ink-soft); width: fit-content; margin-inline-start: auto; }
	/* 原稿の小見出し（.entry h3）が先頭に来るので、上の余白を消して写真の上端に揃える */
	.greet .entry > :first-child { margin-top: 0; }
	@media (min-width: 768px) { .greet { grid-template-columns: 200px 1fr; gap: 48px; } }

	/* 個人情報保護方針：お問い合わせ窓口の連絡先（10/29）。本文の段落と同じ文字色 */
	.entry .pp-contact { color: var(--ink-soft); }

	/* 関連団体 */
	.orgs .rows li { align-items: flex-start; }
	.orgs .org-body { flex: 1; min-width: 0; }
	.orgs .org-name { font-size: 16px; font-weight: 700; }
	.orgs .org-name a:hover { text-decoration: underline; text-underline-offset: .25em; }
	/* 関連団体ページのロゴマーク（10/26 田原の案。10/26 小杉さんの確認で OK）。枠の中に縦横比を保って収め、団体名の左に置く。
	   スマホ（767px まで）は 40px 四方。団体名が1行でも2行でも、ロゴは団体名のまとまり全体の上下中央にそろえる。
	   768px 以上は 56px 四方で、団体名と上下中央そろえ */
	.orgs .org-head { display: flex; align-items: center; gap: 12px; }
	.orgs .org-logo { width: 40px; height: 40px; flex: none; display: grid; place-items: center; }
	.orgs .org-logo img { max-width: 100%; max-height: 100%; width: auto; height: auto; }
	@media (max-width: 767px) { .orgs .org-head .org-name { flex: 1; min-width: 0; } }
	@media (min-width: 768px) {
		.orgs .org-head { gap: 20px; }
		.orgs .org-logo { width: 56px; height: 56px; }
	}
	.orgs .org-contact { margin-top: 4px; font-size: 13px; color: var(--ink-soft); display: flex; flex-wrap: wrap; column-gap: 1em; }
	.orgs .org-desc { margin-top: 6px; font-size: 14px; }
	.orgs .org-url { margin-top: 4px; font-size: 13px; color: var(--ink-faint); }
	/* トップの団体名だけの一覧（デザイン .rows .tt: スマホ 14.5px・PC 15px、普通の太さ）。関連団体ページはデザインがないので 16px の太字のまま */
	.orgs--names .org-name { font-size: 14.5px; font-weight: 400; }
	@media (min-width: 768px) { .orgs--names .org-name { font-size: 15px; } }
	/* スマホは番号の下に団体名（デザイン .sp .rows .tt と同じ flex-basis: 100%）。PC は従来どおり横並び */
	@media (max-width: 767px) { .orgs .org-body { flex-basis: 100%; } }

	/* お問い合わせ */
	.contact-pick { margin-bottom: 56px; }
	.contact-pick h2 { font-size: 22px; margin-bottom: 12px; }
	.contact-pick p { color: var(--ink-soft); margin-bottom: 24px; }
	.contact-office h2 { font-size: 19px; margin-bottom: 16px; }

	/* ページ送り */
	.pager { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 40px; justify-content: center; }
	.pager a, .pager span { min-width: 44px; height: 44px; display: grid; place-items: center; padding-inline: 14px; border: 1px solid var(--line-mid); font-size: 14px; }
	.pager .current { background: var(--mint); color: #fff; border-color: var(--mint); }
	.pager a:hover { background: var(--mint-tint); }
	.pager .page-numbers.dots { border: 0; }
	@media (max-width: 767px) { .pager .page-numbers:not(.current):not(.prev):not(.next) { display: none; } }

	/* お知らせ詳細・404 */
	.post-meta { color: var(--ink-faint); font-size: 13px; letter-spacing: .06em; margin-bottom: 8px; }
	.post-nav { margin-top: 56px; }
	.nf { text-align: center; }
	.nf p { margin-block: 20px 32px; color: var(--ink-soft); }
}
