/* ==========================================================
   KOSAIJI Renewal 画面用スタイル
   色・文字・余白の基本は theme.json。ここでは配置を指定する。
   ========================================================== */

/* 寺号「広済寺」の書体（判断の記録 29.）。装甲明朝から「広済寺」の3文字だけを取り出したもの。約束は assets/fonts/OFL.txt */
@font-face {
	font-family: "KosaijiJigou";
	src: url("../fonts/kosaiji-jigou.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
	unicode-range: U+5E83, U+6E08, U+5BFA;
}

:root {
	--kosaiji-radius: 12px;
	--kosaiji-focus: #b07d2a;
	--kosaiji-gutter: clamp(1rem, 4vw, 2rem);
}

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

/* 動画などの埋め込みの枠を、画面の幅に収める（判断の記録 26-2） */
iframe,
embed,
object,
video {
	max-width: 100%;
}

/* 本文に直接書いた YouTube の枠は、幅に合わせて高さも縮める（ブロックの「埋め込み」は WordPress が整える） */
iframe[src*="youtube.com/embed"],
iframe[src*="youtube-nocookie.com/embed"] {
	height: auto;
	aspect-ratio: 16 / 9;
}

/* ---------- 共通 ---------- */

/* キーボード操作の位置を見やすくする */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--kosaiji-focus);
	outline-offset: 3px;
	border-radius: 2px;
}

/* 見出しや短い文は、日本語の文節の切れ目で改行する（対応ブラウザーのみ） */
h1,
h2,
h3,
.kosaiji-hero__panel p,
.kosaiji-card__text,
.kosaiji-lead,
.kosaiji-placeholder p,
.kosaiji-photo-placeholder,
.kosaiji-page-header__lead,
.kosaiji-provisional,
.kosaiji-sns__lead,
.kosaiji-breadcrumbs,
.post-navigation-link__title,
h1.kosaiji-page-header__title,
h2.kosaiji-post-list__title,
h2.kosaiji-kawaraban-item__title,
h3.kosaiji-notice__title {
	word-break: auto-phrase;
	/* 文節が1行に入りきらないときだけ、文節の途中でも折り返す（横へのはみ出しを防ぐ） */
	overflow-wrap: anywhere;
}

.screen-reader-text {
	border: 0;
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

/* ひとまとまりで読む言葉（「PDFで読む」など）は、途中で折り返さない */
.kosaiji-nowrap {
	white-space: nowrap;
}

/* ヘッダー・フッター・本文の間に余計なすき間を作らない */
.wp-site-blocks > footer,
header.wp-block-template-part > *,
footer.wp-block-template-part > * {
	margin-block: 0;
}

/* 仮であることの注記 */
.kosaiji-provisional {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--sumi-sub);
}

.kosaiji-badge {
	display: inline-block;
	margin-left: 0.5rem;
	padding: 0.05rem 0.5rem;
	border-radius: 999px;
	background: var(--wp--preset--color--line);
	color: var(--wp--preset--color--sumi);
	font-family: var(--wp--preset--font-family--gothic);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0;
	vertical-align: middle;
}

.kosaiji-more {
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
}

.kosaiji-more a::after {
	content: " →";
}

/* 輪郭線だけのボタン */
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--fukamidori);
	border: 2px solid currentColor;
	padding: calc(0.75rem - 2px) calc(1.5rem - 2px);
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--fukamidori);
	color: var(--wp--preset--color--white);
	border-color: var(--wp--preset--color--fukamidori);
}

/* ---------- ヘッダー ---------- */

.kosaiji-header {
	background: var(--wp--preset--color--white);
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.kosaiji-header .kosaiji-header__inner {
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-areas: "brand nav";
	align-items: center;
	gap: 0.5rem 1.5rem;
	padding-block: 0.75rem;
}

.kosaiji-brand {
	grid-area: brand;
	gap: 0.75rem;
}

.kosaiji-brand figure {
	margin: 0;
}

.kosaiji-brand img {
	display: block;
}

.kosaiji-brand__text p {
	margin: 0;
	line-height: 1.3;
}

.kosaiji-brand__sect {
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	color: var(--wp--preset--color--sumi-sub);
}

/* 「広済寺」は装甲明朝（KosaijiJigou）。読み込めないときは、しっぽり明朝で出る */
.kosaiji-brand__name {
	font-family: "KosaijiJigou", var(--wp--preset--font-family--mincho);
	font-size: 1.85rem;
	font-weight: 400;
	letter-spacing: 0.18em;
}

.kosaiji-brand__name a {
	color: var(--wp--preset--color--sumi);
	text-decoration: none;
}

/* WordPressの配置用CSS（.is-layout-flex）より優先させるため、クラスを重ねて指定する */
.wp-block-group.kosaiji-utility {
	grid-area: utility;
	display: none;
	gap: 0.5rem;
	justify-self: end;
}

.kosaiji-utility p {
	margin: 0;
}

.kosaiji-utility a {
	display: inline-block;
	padding: 0.3rem 0.9rem;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 999px;
	color: var(--wp--preset--color--sumi);
	font-size: var(--wp--preset--font-size--small);
	text-decoration: none;
}

.kosaiji-utility a:hover {
	border-color: var(--wp--preset--color--fukamidori);
	color: var(--wp--preset--color--fukamidori);
}

/* 今いるページは、塗りつぶして示す */
.kosaiji-utility a[aria-current="page"] {
	background: var(--wp--preset--color--fukamidori);
	border-color: var(--wp--preset--color--fukamidori);
	color: var(--wp--preset--color--white);
}

.kosaiji-nav {
	grid-area: nav;
}

.kosaiji-nav .wp-block-navigation__container {
	gap: 0.25rem 1.4rem;
}

.kosaiji-nav .wp-block-navigation-item__content {
	color: var(--wp--preset--color--sumi);
	text-decoration: none;
	padding-block: 0.35rem;
}

.kosaiji-nav .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--fukamidori);
	text-decoration: underline;
	text-underline-offset: 0.35em;
}

/* 今いるページの項目（色だけに頼らず、太い下線でも示す）。記事のページでは、その記事の区分の項目にも同じ印 */
.kosaiji-nav .current-menu-item > .wp-block-navigation-item__content,
.kosaiji-nav .current-menu-ancestor > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--fukamidori);
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.35em;
}

/* スマートフォンのメニューボタン（文字も添えて分かりやすく） */
.kosaiji-nav .wp-block-navigation__responsive-container-open {
	flex-direction: column;
	align-items: center;
	gap: 0.1rem;
	min-width: 48px;
	min-height: 48px;
	padding: 0.35rem 0.5rem;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--kosaiji-radius);
	color: var(--wp--preset--color--sumi);
}

.kosaiji-nav .wp-block-navigation__responsive-container-open::after {
	content: "メニュー";
	font-size: 0.6875rem;
	font-weight: 600;
	line-height: 1;
}

/* 開いたメニュー */
.kosaiji-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--kinari);
	color: var(--wp--preset--color--sumi);
	padding: 1.25rem var(--kosaiji-gutter);
}

.kosaiji-nav .is-menu-open .wp-block-navigation__container {
	gap: 0;
	width: 100%;
}

.kosaiji-nav .is-menu-open .wp-block-navigation-item {
	width: 100%;
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.kosaiji-nav .is-menu-open .wp-block-navigation-item__content {
	display: block;
	width: 100%;
	padding-block: 0.9rem;
	font-size: var(--wp--preset--font-size--large);
}

.kosaiji-nav .wp-block-navigation__responsive-container-close {
	min-width: 48px;
	min-height: 48px;
	display: grid;
	place-items: center;
}

/* よく使う入口（スマートフォンだけ表示） */
.kosaiji-quickbar {
	gap: 0.5rem;
	padding: 0.5rem var(--kosaiji-gutter);
	background: var(--wp--preset--color--white);
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.kosaiji-quickbar p {
	flex: 1 1 0;
	margin: 0;
}

/* 「お問い合わせ」は字が多いので、幅を多めに配り、2行にしない（判断の記録 44-3。幅320pxでも収まる） */
.kosaiji-quickbar p:last-child {
	flex-grow: 1.4;
}

.kosaiji-quickbar a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0.4rem 0.25rem;
	border: 1px solid var(--wp--preset--color--fukamidori);
	border-radius: var(--kosaiji-radius);
	color: var(--wp--preset--color--fukamidori);
	font-size: 0.9375rem;
	font-weight: 600;
	text-decoration: none;
	text-align: center;
	white-space: nowrap;
}

.kosaiji-quickbar a[aria-current="page"] {
	background: var(--wp--preset--color--fukamidori);
	color: var(--wp--preset--color--white);
}

@media (min-width: 600px) {
	.kosaiji-header .kosaiji-header__inner {
		grid-template-areas:
			"brand utility"
			"nav nav";
	}

	.wp-block-group.kosaiji-utility {
		display: flex;
	}

	.kosaiji-nav .kosaiji-nav__mobile-only {
		display: none;
	}

	.wp-block-group.kosaiji-quickbar {
		display: none;
	}
}

@media (min-width: 1100px) {
	.kosaiji-header .kosaiji-header__inner {
		grid-template-columns: auto 1fr;
		grid-template-areas:
			"brand utility"
			"brand nav";
	}

	.kosaiji-nav {
		justify-self: end;
	}
}

/* ---------- ヒーロー ---------- */

.kosaiji-hero {
	position: relative;
	margin-block: 0;
}

.kosaiji-hero > * {
	margin-block: 0;
}

.kosaiji-hero__image {
	margin: 0;
}

.kosaiji-hero__image img {
	display: block;
	width: 100%;
	height: clamp(220px, 52vw, 620px);
	object-fit: cover;
	object-position: 50% 72%;
}

.kosaiji-hero__panel {
	padding: 1.5rem var(--kosaiji-gutter) 1.75rem;
	background: var(--wp--preset--color--white);
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.kosaiji-hero__panel > * {
	margin-block: 0;
}

.kosaiji-hero__panel > * + * {
	margin-block-start: 0.85rem;
}

.kosaiji-hero__lead {
	font-size: var(--wp--preset--font-size--small);
	letter-spacing: 0.12em;
	color: var(--wp--preset--color--sumi-sub);
}

.kosaiji-hero__title {
	line-height: 1.4;
	letter-spacing: 0.08em;
}

/* 中心の言葉 B3 の「（お西）」。見出しの後ろに小さく添え、途中で折り返さない（判断の記録 43-1） */
.kosaiji-hero__title-note {
	margin-inline-start: 0.2em;
	font-size: 0.5em;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

/* 幅360pxより狭い画面では、字の間を少し詰めて、「（お西）」が3行目に回らないようにする（320pxで4pxほどはみ出していた） */
@media (max-width: 359px) {
	.kosaiji-hero__title {
		letter-spacing: 0.04em;
	}
}

@media (min-width: 782px) {
	.kosaiji-hero__panel {
		position: absolute;
		left: max(var(--kosaiji-gutter), calc((100% - 1200px) / 2));
		bottom: clamp(1.5rem, 4vw, 3rem);
		max-width: 31rem;
		padding: 2rem 2.25rem;
		background: rgba(255, 255, 255, 0.95);
		border: 0;
		border-radius: 16px;
		box-shadow: 0 8px 28px rgba(51, 48, 43, 0.1);
	}

	/* B3 のときは、「（お西）」が3行目に回らないよう、枠の上限を少し広げる（1280pxで25pxほど足りなかった。A は今のまま） */
	.kosaiji-hero__panel:has(.kosaiji-hero__title-note) {
		max-width: 34rem;
	}
}

/* ---------- 各セクション ---------- */

.kosaiji-section {
	margin-block: 0;
	padding-block: var(--wp--preset--spacing--60);
}

.kosaiji-section__title {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-block: 0 1rem;
}

.kosaiji-section__title::before {
	content: "";
	flex: 0 0 auto;
	width: 0.35rem;
	height: 1.1em;
	border-radius: 2px;
	background: var(--wp--preset--color--fukamidori);
}

/* お知らせ */
.kosaiji-notices {
	background: var(--wp--preset--color--white);
	border-bottom: 1px solid var(--wp--preset--color--line);
	padding-block: var(--wp--preset--spacing--50);
}

.kosaiji-notices__inner {
	display: grid;
	gap: 0.75rem;
}

.kosaiji-notices__inner > * {
	margin: 0;
}

.kosaiji-notices__title {
	font-size: var(--wp--preset--font-size--large);
}

.kosaiji-notices__list,
.kosaiji-kawaraban__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* 一覧の2件目以降に自動で付く上の余白を消し、カードの高さをそろえる */
.kosaiji-notices__list > li,
.kosaiji-kawaraban__list > li {
	margin-block: 0;
}

.kosaiji-notice {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0 1rem;
	padding-block: 0.6rem;
	border-bottom: 1px dashed var(--wp--preset--color--line);
}

.kosaiji-notice > * {
	margin: 0;
}

.kosaiji-notice .wp-block-post-date {
	flex: 0 0 6.5em;
}

.kosaiji-notice__title {
	flex: 1 1 16rem;
	font-family: var(--wp--preset--font-family--gothic);
	font-size: var(--wp--preset--font-size--regular);
	font-weight: 500;
	letter-spacing: 0.02em;
}

/* 最新情報（お知らせとかわら版を混ぜて並べる） */
.kosaiji-notices__lists > * {
	margin: 0;
}

.kosaiji-notice .kosaiji-term {
	flex: 0 0 auto;
}

/* 先頭に固定した記事（重要なお知らせ）。色だけでなく、言葉でも示す */
.kosaiji-notice--sticky {
	padding: 0.6rem 0.75rem;
	background: var(--wp--preset--color--kinari);
	border-bottom: 0;
	border-left: 3px solid var(--wp--preset--color--kincha);
}

.kosaiji-notice__flag {
	flex: 0 0 100%;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	color: var(--wp--preset--color--kincha);
}

.kosaiji-notices__query--sticky {
	margin-bottom: 0.25rem;
}

.kosaiji-notices__more {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 1.5rem;
}

.kosaiji-notices__more > * {
	margin: 0;
}

@media (min-width: 900px) {
	.kosaiji-notices__inner {
		grid-template-columns: 13rem 1fr auto;
		align-items: start;
		gap: 0 2rem;
	}

	.kosaiji-notices__title {
		padding-top: 0.5rem;
	}

	.kosaiji-notices__more {
		flex-direction: column;
		padding-top: 0.7rem;
	}
}

/* 行事予定 */
.kosaiji-events__list {
	display: grid;
	gap: 1rem;
	margin-block: 1rem;
}

.kosaiji-event {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	margin: 0;
	padding: 1.1rem 1.25rem;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--kosaiji-radius);
}

.kosaiji-event__date {
	flex: 0 0 auto;
	min-width: 5.5rem;
	margin: 0;
	padding-right: 1rem;
	border-right: 1px solid var(--wp--preset--color--line);
	font-family: var(--wp--preset--font-family--mincho);
	text-align: center;
	line-height: 1.4;
}

.kosaiji-event__md {
	display: block;
	font-size: 1.375rem;
	font-weight: 600;
	color: var(--wp--preset--color--fukamidori);
}

.kosaiji-event__dow {
	display: block;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--sumi-sub);
}

/* 行事名を日付と同じ高さから始める（WordPressが2つ目の要素に付ける上の余白を打ち消す） */
.kosaiji-event__body {
	margin: 0;
}

.kosaiji-event__body > * {
	margin: 0;
}

.kosaiji-event__body > * + * {
	margin-top: 0.35rem;
}

.kosaiji-event__meta {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--sumi-sub);
}

/* 行事の説明（Googleカレンダーの説明欄。「午後２時より」など）。時刻や場所より少し濃く */
.kosaiji-event__note {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--sumi);
}

@media (min-width: 782px) {
	.kosaiji-events__list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* 各ページへの入口 */
.kosaiji-entrances {
	padding-block-start: 0;
}

/* スマホの幅（2枚ずつ）では、最後に1枚だけ残るカードを中央に寄せる。
   細い列を4つ作ってカード1枚に2列ずつ使い、残った1枚を2列目から始める */
.kosaiji-cards {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.75rem;
}

.kosaiji-cards > * {
	grid-column: span 2;
}

.kosaiji-cards > :last-child:nth-child(odd) {
	grid-column: 2 / span 2;
}

.kosaiji-card {
	position: relative;
	margin: 0;
	padding: 1.25rem 0.75rem;
	background: var(--wp--preset--color--white);
	border: 1px solid transparent;
	border-radius: var(--kosaiji-radius);
	box-shadow: 0 2px 10px rgba(51, 48, 43, 0.06);
	text-align: center;
	transition: border-color 0.2s, box-shadow 0.2s;
}

.kosaiji-card:hover,
.kosaiji-card:focus-within {
	border-color: var(--wp--preset--color--fukamidori);
	box-shadow: 0 4px 14px rgba(61, 107, 87, 0.12);
}

.kosaiji-card__icon {
	display: block;
	width: 40px;
	height: 40px;
	margin: 0 auto 0.5rem;
	color: var(--wp--preset--color--fukamidori);
}

.kosaiji-card__title {
	margin: 0;
	font-size: var(--wp--preset--font-size--large);
}

.kosaiji-card__title a {
	color: var(--wp--preset--color--sumi);
	text-decoration: none;
}

/* カード全体を押せるようにする */
.kosaiji-card__title a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.kosaiji-card__text {
	display: none;
	margin: 0.5rem 0 0;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--sumi-sub);
	line-height: 1.7;
}

.kosaiji-cards + .kosaiji-provisional {
	margin-top: 0.75rem;
}

/* タブレットの幅（3枚ずつ）では、2段目の2枚を中央に寄せる（判断の記録 ⑤-3）。
   細い列を6つ作ってカード1枚に2列ずつ使い、2段目の1枚目を2列目から始める。1024px以上では5列に戻す */
@media (min-width: 600px) {
	.kosaiji-cards {
		grid-template-columns: repeat(6, minmax(0, 1fr));
		gap: 1rem;
	}

	.kosaiji-cards > * {
		grid-column: span 2;
	}

	/* スマホの幅で中央に寄せた最後の1枚は、ふつうの並びに戻す */
	.kosaiji-cards > :last-child:nth-child(odd) {
		grid-column: span 2;
	}

	/* カードがちょうど5枚のときの4枚目（2段目の1枚目） */
	.kosaiji-cards > :nth-child(4):nth-last-child(2) {
		grid-column: 2 / span 2;
	}

	.kosaiji-card {
		padding: 1.5rem 1rem;
	}

	.kosaiji-card__text {
		display: block;
	}
}

@media (min-width: 1024px) {
	.kosaiji-cards {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}

	.kosaiji-cards > *,
	.kosaiji-cards > :last-child:nth-child(odd),
	.kosaiji-cards > :nth-child(4):nth-last-child(2) {
		grid-column: auto;
	}
}

/* 2列のまとまり */
.kosaiji-two-col {
	display: grid;
	gap: 1.25rem;
}

.kosaiji-two-col > * {
	margin: 0;
}

.kosaiji-panel {
	margin: 0;
	padding: 1.5rem;
	background: var(--wp--preset--color--kinari);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--kosaiji-radius);
}

.kosaiji-panel > :first-child {
	margin-top: 0;
}

.kosaiji-panel__title {
	font-size: var(--wp--preset--font-size--x-large);
}

@media (min-width: 782px) {
	.kosaiji-two-col {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.5rem;
	}
}

/* 法語・寺報 */
.kosaiji-hogo-jiho {
	background: var(--wp--preset--color--white);
}

.kosaiji-placeholder {
	display: grid;
	place-items: center;
	min-height: 9rem;
	padding: 1rem;
	border: 2px dashed var(--wp--preset--color--line);
	border-radius: var(--kosaiji-radius);
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--sumi-sub);
	text-align: center;
}

.kosaiji-placeholder p {
	margin: 0;
}

/* 広済寺の公式SNS（判断の記録 11.）。前後の欄（生成り）と分けるため、白い地にする */
.kosaiji-sns {
	background: var(--wp--preset--color--white);
}

.kosaiji-sns__lead {
	margin-block: 0 1.25rem;
	color: var(--wp--preset--color--sumi-sub);
}

/* Instagramの写真（プラグインが作る欄）。並べ方（枚数・列）は、プラグインのフィードの設定で決める */
.kosaiji-sns .kosaiji-instagram {
	margin: 0;
	padding-bottom: 0 !important;
}

/* 写真がゆっくり浮かび上がる動きを止め、すぐに見えるようにする。角はほかの枠と合わせて少し丸く */
.kosaiji-sns #sb_instagram #sbi_images .sbi_item {
	transition: none;
}

.kosaiji-sns #sb_instagram .sbi_photo_wrap {
	overflow: hidden;
	border-radius: 8px;
}

.kosaiji-sns__instagram > * {
	margin-block: 0;
}

.kosaiji-sns__instagram > * + * {
	margin-block-start: 0.5rem;
}

/* SNSの名前と一言。カード全体を押せるようにし、最後に1枚だけ残る段は中央に寄せる */
.kosaiji-sns__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem;
	margin: 1.5rem 0 0;
	padding: 0;
	list-style: none;
}

.kosaiji-sns__list > li {
	display: flex;
	flex: 0 1 100%;
}

.kosaiji-sns__item {
	flex: 1 1 auto;
	padding: 0.85rem 1rem;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--kosaiji-radius);
	background: var(--wp--preset--color--kinari);
	color: var(--wp--preset--color--sumi);
	text-decoration: none;
	transition: border-color 0.2s;
}

.kosaiji-sns__item:hover,
.kosaiji-sns__item:focus-visible {
	border-color: var(--wp--preset--color--fukamidori);
}

/* SNSのロゴ（各社の正式なロゴを、形と色を変えずに使う）。
   各社の決まりに合わせ、ロゴと名前のあいだは、ロゴの幅の半分（20px）以上あける */
.kosaiji-sns__logo {
	display: block;
	width: 40px;
	height: 40px;
	margin-bottom: 20px;
	object-fit: contain;
	object-position: left center;
}

.kosaiji-sns__name {
	display: block;
	font-weight: 600;
	color: var(--wp--preset--color--fukamidori);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.kosaiji-sns__role {
	display: block;
	margin-top: 0.25rem;
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.6;
	color: var(--wp--preset--color--sumi-sub);
	/* 言葉の切れ目（<wbr>）でだけ折り返す。入りきらないときは、はみ出さないよう途中でも折り返す */
	word-break: keep-all;
	overflow-wrap: anywhere;
}

@media (min-width: 600px) {
	.kosaiji-sns__list > li {
		flex-basis: calc((100% - 0.75rem) / 2);
	}
}

@media (min-width: 1024px) {
	.kosaiji-sns__list > li {
		flex-basis: calc((100% - 3rem) / 5);
	}
}

/* 広済寺について */
.kosaiji-about__inner {
	display: grid;
	gap: 1.25rem;
	align-items: center;
	max-width: 900px;
}

.kosaiji-about__kamon {
	margin: 0;
}

.kosaiji-about__text > :first-child {
	margin-top: 0;
}

@media (min-width: 782px) {
	.kosaiji-about__inner {
		grid-template-columns: auto 1fr;
		gap: 2.5rem;
	}
}

/* かわら版 */
.kosaiji-kawaraban {
	background: var(--wp--preset--color--white);
}

.kosaiji-kawaraban__list {
	display: grid;
	gap: 1rem;
	margin-block: 1rem;
}

.kosaiji-article {
	height: 100%;
	margin: 0;
	padding: 1.25rem;
	background: var(--wp--preset--color--kinari);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--kosaiji-radius);
}

.kosaiji-article > * {
	margin: 0;
}

.kosaiji-article__title {
	margin-block: 0.25rem 0.5rem;
	font-size: var(--wp--preset--font-size--large);
}

.kosaiji-article__title a {
	color: var(--wp--preset--color--sumi);
	text-decoration: none;
}

.kosaiji-article__title a:hover {
	text-decoration: underline;
}

.kosaiji-article__excerpt p {
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--sumi-sub);
}

.kosaiji-article__excerpt .wp-block-post-excerpt__more-text {
	display: none;
}

@media (min-width: 782px) {
	.kosaiji-kawaraban__list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* アクセス */
.kosaiji-access .kosaiji-panel {
	background: var(--wp--preset--color--white);
}

.kosaiji-access .wp-block-buttons {
	margin-top: 1.5rem;
}

.kosaiji-access__list {
	margin: 0;
	padding-left: 1.25em;
}

.kosaiji-tel {
	font-size: var(--wp--preset--font-size--large);
	font-weight: 600;
}

/* ---------- フッター ---------- */

.kosaiji-footer {
	padding-block: 3rem 1.5rem;
	background: var(--wp--preset--color--fukamidori);
	color: var(--wp--preset--color--kinari);
}

.kosaiji-footer a {
	color: var(--wp--preset--color--kinari);
}

.kosaiji-footer :focus-visible {
	outline-color: var(--wp--preset--color--kinari);
}

.kosaiji-footer .kosaiji-brand__sect {
	color: var(--wp--preset--color--line);
}

.kosaiji-footer .kosaiji-footer__inner {
	gap: 2rem 3rem;
}

.kosaiji-footer__address {
	margin-top: 1rem;
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.8;
}

/* フッターのLINE公式アカウントへのリンク。スマートフォンで押しやすい高さ（44px以上）にする */
.kosaiji-footer__line {
	margin: 0.75rem 0 0;
	font-size: var(--wp--preset--font-size--small);
}

.kosaiji-footer__line a {
	display: inline-flex;
	align-items: center;
	gap: 20px;
	min-height: 44px;
	font-weight: 600;
}

/* 「LINE公式アカウント」と「（友だち追加）」の切れ目でだけ折り返す */
.kosaiji-footer__line-text {
	word-break: keep-all;
	overflow-wrap: anywhere;
}

/* フッターの「広済寺の公式SNS」。押しやすいよう、上下に余白を取る */
.kosaiji-footer__sns {
	margin-top: 1rem;
}

.kosaiji-footer__sns > * {
	margin-block: 0;
}

.kosaiji-footer__sns-title {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--line);
}

/* スマホの幅では、4つを同じ幅の列に横一列で並べる。タブレット以上は、左から詰めて横一列 */
.kosaiji-footer__sns-list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.75rem 0.5rem;
	margin-top: 0.5rem;
	padding: 0;
	list-style: none;
	font-size: var(--wp--preset--font-size--small);
}

.kosaiji-footer__sns-list > li {
	display: flex;
	justify-content: center;
}

@media (min-width: 600px) {
	.kosaiji-footer__sns-list {
		display: flex;
		flex-wrap: wrap;
		gap: 0.75rem 1rem;
	}

	.kosaiji-footer__sns-list > li {
		display: block;
	}
}

/* 各社のロゴが緑の地で見えにくくならないよう、白い台にのせる。ロゴと名前のあいだは20px（台の余白10px＋すき間10px） */
.kosaiji-footer__sns-list a {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	min-width: 60px;
	font-weight: 600;
	text-decoration: none;
}

.kosaiji-footer__sns-list a:hover .kosaiji-footer__sns-name {
	text-decoration: underline;
}

.kosaiji-footer__sns-tile {
	display: grid;
	flex: none;
	place-items: center;
	width: 60px;
	height: 60px;
	border-radius: 12px;
	background: #FFFFFF;
}

.kosaiji-footer__sns-tile img {
	width: 40px;
	height: 40px;
	object-fit: contain;
}

.kosaiji-footer__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 2rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* 長い名前（プライバシーポリシー）は、言葉の途中で折り返さないよう、1行を使う */
.kosaiji-footer__list .kosaiji-footer__item--wide {
	grid-column: 1 / -1;
}

.kosaiji-footer__list a {
	display: inline-block;
	padding-block: 0.4rem;
	text-decoration: none;
}

.kosaiji-footer__list a:hover {
	text-decoration: underline;
}

.kosaiji-footer__copy {
	margin-top: 2rem;
	padding-top: 1rem;
	border-top: 1px solid rgba(248, 244, 236, 0.35);
	font-size: var(--wp--preset--font-size--small);
}

@media (min-width: 782px) {
	.kosaiji-footer__list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* ---------- 下層ページ ---------- */

/* 本文の中の長いURLなどは、入りきらないときだけ途中で折り返し、横にはみ出さないようにする */
.kosaiji-content a {
	overflow-wrap: anywhere;
}

.kosaiji-page {
	padding-block: var(--wp--preset--spacing--60);
}

/* ページ名の帯（今いる場所の表示と大見出し） */
.kosaiji-page-header {
	margin-block: 0;
	padding-block: clamp(1.25rem, 0.9rem + 1.5vw, 2rem) clamp(1.75rem, 1.2rem + 2vw, 2.75rem);
	background: var(--wp--preset--color--white);
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.kosaiji-page-header > * {
	margin-block: 0;
}

.kosaiji-page-header > * + * {
	margin-block-start: 1rem;
}

.kosaiji-breadcrumbs {
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.6;
	color: var(--wp--preset--color--sumi-sub);
}

.kosaiji-breadcrumbs li:not(:last-child)::after {
	margin: 0 0.6em;
}

.kosaiji-breadcrumbs a {
	color: var(--wp--preset--color--fukamidori);
}

/* 見出しの左の縦線は、トップの各見出しと同じ形。見出しが2行以上になっても、縦線は1行目の横に置く */
.kosaiji-page-header__title,
.kosaiji-content h2 {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
}

.kosaiji-page-header__title {
	letter-spacing: 0.08em;
}

.kosaiji-page-header__title::before,
.kosaiji-content h2::before {
	content: "";
	flex: 0 0 auto;
	width: 0.35rem;
	height: 1.1em;
	margin-top: calc((1.45em - 1.1em) / 2);
	border-radius: 2px;
	background: var(--wp--preset--color--fukamidori);
}

.kosaiji-page-body {
	margin-block: 0;
	padding-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--60);
}

/* 本文の文字の見た目 */
.kosaiji-content > :first-child {
	margin-block-start: 0;
}

/* 導入の文は、スマートフォンでは少し小さくする（PCでは「大」） */
.kosaiji-lead {
	font-size: clamp(1.0625rem, 0.95rem + 0.6vw, 1.25rem);
	line-height: 1.9;
}

.kosaiji-content h2 {
	margin-block: 3rem 1rem;
}

/* 印（#first・#history）で移ってきたとき、見出しが画面の上の端にくっつかないように */
.kosaiji-content h2[id] {
	scroll-margin-top: 1.5rem;
}

.kosaiji-content h3 {
	margin-block: 2.25rem 0.75rem;
	padding-bottom: 0.35rem;
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.kosaiji-content :where(ul, ol) {
	padding-left: 1.5em;
}

.kosaiji-content li + li {
	margin-top: 0.35em;
}

.kosaiji-content .wp-block-table {
	overflow-x: auto;
}

.kosaiji-content .wp-block-table table {
	background: var(--wp--preset--color--white);
}

.kosaiji-content .wp-block-table :where(th, td) {
	padding: 0.75rem 1rem;
	border: 1px solid var(--wp--preset--color--line);
	text-align: left;
	vertical-align: top;
}

.kosaiji-content .wp-block-table th {
	background: var(--wp--preset--color--kinari);
	font-weight: 600;
}

.kosaiji-info-table th {
	width: 6em;
}

/* 浄土真宗の教章（私の歩む道）。白い枠に入れて、ほかの文と区別する。
   左に項目（宗名・宗祖など）、右に中身。スマホは項目の下に中身を並べる */
.kosaiji-kyosho {
	box-sizing: border-box;
	padding: 0.25rem 1.25rem;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-top: 4px solid var(--wp--preset--color--fukamidori);
	border-radius: var(--kosaiji-radius);
}

.kosaiji-kyosho__table {
	width: 100%;
	border-collapse: collapse;
}

.kosaiji-kyosho__table th,
.kosaiji-kyosho__table td {
	display: block;
	padding: 0;
	text-align: left;
	vertical-align: top;
}

.kosaiji-kyosho__table th {
	padding-top: 1rem;
	font-family: var(--wp--preset--font-family--mincho);
	font-weight: 700;
	color: var(--wp--preset--color--fukamidori-dark);
}

.kosaiji-kyosho__table td {
	padding: 0.25rem 0 1rem;
	line-height: 2.2;
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.kosaiji-kyosho__table tr:last-child td {
	border-bottom: 0;
}

.kosaiji-content .kosaiji-kyosho__table td p {
	margin: 0;
}

/* ふりがな（本願寺派の公式ページと同じ読み）。小さく、うすめの色で。
   ふりがなが漢字より長いときも、漢字のあいだを広げず、まとまりの中央にそろえる */
.kosaiji-kyosho ruby {
	ruby-align: center;
	white-space: nowrap; /* ふりがな付きの言葉は、行の途中で分けない */
}

.kosaiji-kyosho ruby rt {
	font-size: 0.5em;
	font-weight: 400;
	color: var(--wp--preset--color--sumi-sub);
}

/* 項目（宗名・宗祖（ご開山）など）は1行で */
.kosaiji-kyosho__table th {
	white-space: nowrap;
}

/* 和暦の括弧の中は、途中で折り返さない（文字は変えない） */
.kosaiji-nowrap {
	white-space: nowrap;
}

.kosaiji-content .kosaiji-kyosho__table td p + p {
	margin-top: 0.75rem;
}

@media (min-width: 600px) {
	.kosaiji-kyosho {
		padding: 0.25rem 1.5rem;
	}

	.kosaiji-kyosho__table th,
	.kosaiji-kyosho__table td {
		display: table-cell;
		padding: 1rem 0;
		border-bottom: 1px solid var(--wp--preset--color--line);
	}

	.kosaiji-kyosho__table th {
		width: 8em;
		padding-right: 1rem;
	}

	.kosaiji-kyosho__table tr:last-child th,
	.kosaiji-kyosho__table tr:last-child td {
		border-bottom: 0;
	}
}

.kosaiji-content .wp-block-quote {
	margin-inline: 0;
	padding: 1rem 1.25rem;
	border-left: 4px solid var(--wp--preset--color--fukamidori);
	background: var(--wp--preset--color--white);
}

.kosaiji-content figcaption {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--sumi-sub);
	text-align: center;
}

.kosaiji-content .wp-block-separator {
	border: 0;
	border-top: 1px solid var(--wp--preset--color--line);
}

.kosaiji-content .kosaiji-placeholder {
	min-height: 6rem;
}

.kosaiji-content > .kosaiji-provisional {
	margin-block-start: 3rem;
}

/* 地図の枠は、地図らしい高さにする */
.kosaiji-content .kosaiji-placeholder--map {
	min-height: clamp(12rem, 8rem + 15vw, 20rem);
}

/* 本文の中の囲み（電話番号など） */
.kosaiji-content .kosaiji-panel {
	background: var(--wp--preset--color--white);
}

.kosaiji-content .kosaiji-panel > * + * {
	margin-block-start: 0.75rem;
}

.kosaiji-content .kosaiji-more {
	margin-block-start: 0.5rem;
}

/* 電話番号は、スマートフォンで押しやすい高さ（44px以上）にする */
.kosaiji-content .kosaiji-tel a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}

/* お問い合わせ：基本の連絡先（電話とLINE公式アカウント）を2つ並べる。スマートフォンでは縦に並べる */
.kosaiji-contact-main {
	display: grid;
	gap: 1.25rem;
	margin-block-start: 1.5rem;
}

.kosaiji-contact-main > * {
	margin: 0;
}

.kosaiji-content .kosaiji-contact-card h2 {
	font-size: var(--wp--preset--font-size--large);
}

.kosaiji-content .kosaiji-contact-card .wp-block-buttons {
	margin-block-start: 1rem;
}

/* LINE公式アカウントのボタン：白地に、LINEの緑に近い濃い緑の枠と文字。両端を丸くする（判断の記録 ⑤-5a） */
.kosaiji-line-button .wp-block-button__link {
	background: #FFFFFF;
	color: #007A3D;
	border: 2px solid #007A3D;
	border-radius: 999px;
}

.kosaiji-line-button .wp-block-button__link:hover {
	background: #007A3D;
	color: #FFFFFF;
}

.kosaiji-contact-card__note {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--sumi-sub);
}

/* メールアドレスは押しやすい高さにし、長くても横にはみ出さないようにする */
.kosaiji-contact-mail a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-size: var(--wp--preset--font-size--large);
	font-weight: 600;
	overflow-wrap: anywhere;
}

@media (min-width: 782px) {
	.kosaiji-contact-main {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.5rem;
	}
}

/* 記事の一覧（お知らせ・検索結果。かわら版は写真のカード） */
.kosaiji-post-list {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--wp--preset--color--line);
}

.kosaiji-post-list > li {
	margin-block: 0;
}

.kosaiji-post-list__item {
	padding-block: 1.25rem;
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.kosaiji-post-list__item > * {
	margin: 0;
}

.kosaiji-post-list__item > * + * {
	margin-top: 0.35rem;
}

.kosaiji-post-list__title {
	font-size: var(--wp--preset--font-size--large);
}

.kosaiji-post-list__title a {
	color: var(--wp--preset--color--sumi);
	text-decoration: none;
}

.kosaiji-post-list__title a:hover {
	color: var(--wp--preset--color--fukamidori);
	text-decoration: underline;
}

.kosaiji-post-list__excerpt p {
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--sumi-sub);
}

.kosaiji-post-list__meta {
	gap: 0.25rem 0.75rem;
	align-items: center;
}

.kosaiji-post-list__meta > * {
	margin: 0;
}

/* 分類名の小さな札（札が2つ以上のときは、区切りの「,」を出さずに並べる） */
.kosaiji-term {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	font-size: var(--wp--preset--font-size--small);
}

.kosaiji-term .wp-block-post-terms__separator {
	display: none;
}

.kosaiji-term a {
	display: inline-block;
	padding: 0.1rem 0.6rem;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 999px;
	color: var(--wp--preset--color--sumi);
	line-height: 1.6;
	text-decoration: none;
}

.kosaiji-term a:hover {
	border-color: var(--wp--preset--color--fukamidori);
	color: var(--wp--preset--color--fukamidori);
}

/* 目印（タグ）の札は、分類の札と見分けられるよう塗りつぶす */
.kosaiji-term--tag a {
	background: var(--wp--preset--color--kinari);
	border-color: var(--wp--preset--color--kinari);
}

/* 一覧の説明（分類の説明文） */
.kosaiji-page-header__lead p {
	margin: 0;
	color: var(--wp--preset--color--sumi-sub);
}

/* ページ送り（押しやすい大きさ 44px 以上） */
.kosaiji-pagination {
	margin-top: 2rem;
	gap: 0.5rem;
}

.kosaiji-pagination .wp-block-query-pagination-numbers {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.kosaiji-pagination :is(.page-numbers, .wp-block-query-pagination-previous, .wp-block-query-pagination-next) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0 0.85rem;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--kosaiji-radius);
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--fukamidori);
	font-weight: 600;
	text-decoration: none;
}

.kosaiji-pagination a:hover {
	border-color: var(--wp--preset--color--fukamidori);
}

.kosaiji-pagination .page-numbers.current {
	background: var(--wp--preset--color--fukamidori);
	border-color: var(--wp--preset--color--fukamidori);
	color: var(--wp--preset--color--white);
}

.kosaiji-pagination .page-numbers.dots {
	border-color: transparent;
	background: transparent;
	color: var(--wp--preset--color--sumi-sub);
}

/* 記事の題名と「ページが見つかりませんでした」は長くなりやすいので、固定ページより一段小さくする */
.single-post .kosaiji-page-header__title,
.error404 .kosaiji-page-header__title {
	font-size: var(--wp--preset--font-size--x-large);
}

.kosaiji-single__meta {
	gap: 0.5rem 1rem;
	align-items: center;
	font-size: var(--wp--preset--font-size--small);
}

.kosaiji-single__meta > * {
	margin: 0;
}

.kosaiji-post-footer {
	margin-block: 3rem 0;
}

.kosaiji-post-footer > * + * {
	margin-block-start: 1.5rem;
}

.kosaiji-post-nav {
	display: grid;
	gap: 0.75rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--wp--preset--color--line);
}

.kosaiji-post-nav > * {
	margin: 0;
}

.kosaiji-post-nav .wp-block-post-navigation-link:empty {
	display: none;
}

.kosaiji-post-nav .wp-block-post-navigation-link a {
	display: block;
	box-sizing: border-box;
	height: 100%;
	padding: 1rem 1.25rem;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--kosaiji-radius);
	color: var(--wp--preset--color--sumi);
	text-decoration: none;
}

.kosaiji-post-nav .wp-block-post-navigation-link a:hover {
	border-color: var(--wp--preset--color--fukamidori);
}

.kosaiji-post-nav .post-navigation-link__label {
	display: block;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	color: var(--wp--preset--color--fukamidori);
}

.kosaiji-post-nav .post-navigation-link-next {
	text-align: right;
}

@media (min-width: 600px) {
	.kosaiji-post-nav {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	/* 前の記事がないときも、次の記事は右側に置く */
	.kosaiji-post-nav .post-navigation-link-next {
		grid-column: 2;
	}
}

.kosaiji-back {
	margin-bottom: 0;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
}

.kosaiji-back a::before {
	content: "← ";
}

/* サイト内検索 */
.kosaiji-search {
	margin-block-end: 2rem;
}

.kosaiji-search .wp-block-search__label {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
}

.kosaiji-search .wp-block-search__input {
	min-height: 44px;
	padding: 0.5rem 0.75rem;
	border: 1px solid var(--wp--preset--color--sumi-sub);
	border-radius: 4px;
	background: var(--wp--preset--color--white);
	font-size: 1rem;
}

.kosaiji-search .wp-block-search__button {
	min-height: 44px;
	margin-left: 0.5rem;
}

/* フッターのサイト内検索（判断の記録 28-2）。深緑の地に合わせて、ボタンを生成りにする */
.kosaiji-footer__search {
	margin-block: 1.5rem 0;
}

.kosaiji-footer__search .wp-block-search__label {
	color: var(--wp--preset--color--kinari);
}

.kosaiji-footer__search .wp-block-search__input {
	border-color: var(--wp--preset--color--kinari);
	color: var(--wp--preset--color--sumi);
}

.kosaiji-footer__search .wp-block-search__button {
	border: 1px solid var(--wp--preset--color--kinari);
	background: var(--wp--preset--color--kinari);
	color: var(--wp--preset--color--fukamidori);
	font-weight: 600;
}

.kosaiji-footer__search .wp-block-search__button:hover {
	background: var(--wp--preset--color--white);
}

/* ページが見つからないとき */
.kosaiji-notfound > * + * {
	margin-block-start: 1.5rem;
}

/* 年中行事（月ごとの並び。見本） */
.kosaiji-month__list {
	display: grid;
	gap: 0.75rem;
}

.kosaiji-month__list > * {
	margin: 0;
}

.kosaiji-month__list .kosaiji-event__title {
	font-size: var(--wp--preset--font-size--large);
}

/* 寺報のバックナンバー（見本） */
.kosaiji-content .kosaiji-backnumbers {
	list-style: none;
	padding: 0;
	border-top: 1px solid var(--wp--preset--color--line);
}

.kosaiji-content .kosaiji-backnumbers li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.25rem 1rem;
	margin: 0;
	padding-block: 0.85rem;
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.kosaiji-backnumbers__no {
	font-family: var(--wp--preset--font-family--mincho);
	font-weight: 600;
}

.kosaiji-backnumbers__date {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--sumi-sub);
}

.kosaiji-backnumbers .kosaiji-badge {
	margin-left: 0;
}

/* 法語掲示板（見本） */
.kosaiji-hogo-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
}

.kosaiji-hogo-grid > * {
	margin: 0;
}

.kosaiji-hogo-card {
	display: grid;
	place-content: center;
	min-height: 9rem;
	padding: 1rem;
	border: 2px dashed var(--wp--preset--color--line);
	border-radius: var(--kosaiji-radius);
	background: var(--wp--preset--color--white);
	text-align: center;
}

.kosaiji-hogo-card > * {
	margin: 0;
}

.kosaiji-hogo-card__words {
	font-family: var(--wp--preset--font-family--mincho);
	color: var(--wp--preset--color--sumi-sub);
}

.kosaiji-hogo-card__date {
	margin-top: 0.5rem;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--sumi-sub);
}

@media (min-width: 782px) {
	.kosaiji-hogo-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 1rem;
	}
}

/* ---------- 寺報と法語掲示板（②の反映） ---------- */

/* 画像や表紙がまだないときの枠 */
.kosaiji-photo-placeholder {
	display: grid;
	place-items: center;
	aspect-ratio: 1.414 / 1;
	padding: 0.5rem;
	border: 2px dashed var(--wp--preset--color--line);
	border-radius: var(--kosaiji-radius);
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--sumi-sub);
	font-size: var(--wp--preset--font-size--small);
	text-align: center;
}

.kosaiji-photo-placeholder--portrait {
	aspect-ratio: 1 / 1.414;
}

/* 「広済寺について」の写真（本堂・境内）。3:2 で、角を少し丸くする */
.kosaiji-about-photo {
	margin: 0;
}

.kosaiji-about-photo img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border-radius: var(--kosaiji-radius);
}

.kosaiji-about-photo figcaption {
	margin-top: 0.5rem;
}

/* 「広済寺について」の「日々の広済寺」（判断の記録 40.）。かわら版のカードと同じ雰囲気で、写真は 3:2。スマホは2列、タブレットとパソコンは3列。カードのどこを押しても、その記事が開く */
.kosaiji-content .kosaiji-days {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.75rem 1rem;
	margin: 1.25rem 0 0;
	padding: 0;
	list-style: none;
}

.kosaiji-content .kosaiji-days > li {
	position: relative;
	margin: 0;
}

.kosaiji-days__photo {
	margin: 0;
}

.kosaiji-days__photo img,
.kosaiji-days__photo .kosaiji-photo-placeholder {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border-radius: 6px;
}

.kosaiji-content .kosaiji-days__title {
	margin: 0.65rem 0 0;
	padding-bottom: 0.4rem;
	border-bottom: 1px solid var(--wp--preset--color--fukamidori);
	font-family: var(--wp--preset--font-family--mincho);
	font-size: var(--wp--preset--font-size--regular);
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0.04em;
}

.kosaiji-days__title a {
	color: var(--wp--preset--color--sumi);
	text-decoration: none;
}

.kosaiji-days__title a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.kosaiji-days__item:hover .kosaiji-days__title a {
	color: var(--wp--preset--color--fukamidori);
	text-decoration: underline;
}

@supports selector(:has(a)) {
	.kosaiji-days__item:has(a:focus-visible) {
		outline: 3px solid var(--kosaiji-focus);
		outline-offset: 4px;
		border-radius: 6px;
	}

	.kosaiji-days__title a:focus-visible {
		outline: none;
	}
}

.kosaiji-content .kosaiji-days__text {
	margin: 0.45rem 0 0;
	font-size: 0.8125rem;
	line-height: 1.7;
	color: var(--wp--preset--color--sumi-sub);
}

.kosaiji-days__more {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.75rem;
	margin-top: 1.75rem;
}

.kosaiji-content .kosaiji-days__more .kosaiji-more {
	margin: 0;
}

@media (min-width: 600px) {
	.kosaiji-content .kosaiji-days {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 2.25rem 1.5rem;
	}
}

/* 「広済寺について」の歴史：時代ごとに、左の縦の線と丸い印でつなぐ年表の形（文は現行サイトのまま） */
.kosaiji-timeline {
	position: relative;
	margin-block-start: 1.5rem;
	padding-left: 1.75rem;
}

.kosaiji-timeline::before {
	content: "";
	position: absolute;
	top: 0.75rem;
	bottom: 0;
	left: 7px;
	width: 2px;
	background: var(--wp--preset--color--line);
}

.kosaiji-content .kosaiji-timeline > .kosaiji-timeline__era + .kosaiji-timeline__era {
	margin-block-start: 2rem;
}

.kosaiji-content .kosaiji-timeline__title {
	position: relative;
	margin: 0;
	padding: 0;
	border: 0;
	color: var(--wp--preset--color--fukamidori-dark);
}

.kosaiji-timeline__title::before {
	content: "";
	position: absolute;
	top: 50%;
	left: -1.75rem;
	width: 16px;
	height: 16px;
	margin-top: -8px;
	box-sizing: border-box;
	border: 3px solid var(--wp--preset--color--fukamidori);
	border-radius: 50%;
	background: var(--wp--preset--color--kinari);
}

.kosaiji-content .kosaiji-timeline__era > p {
	margin-block: 0.5rem 0;
}

/* 年の部分だけ色と太さを変える（文字は変えない） */
.kosaiji-timeline__when {
	font-weight: 700;
	color: var(--wp--preset--color--fukamidori-dark);
}

/* 明治時代の側面図。白い紙の絵なので、細い枠で囲む */
.kosaiji-history-figure {
	margin: 1rem 0 0;
}

.kosaiji-history-figure img {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--kosaiji-radius);
	background: var(--wp--preset--color--white);
}

.kosaiji-history-figure figcaption {
	margin-top: 0.5rem;
}

/* リンク：1つずつカードにして、名前の下に住所を小さく。スマホは1列、PCは2列 */
.kosaiji-content .kosaiji-links {
	display: grid;
	gap: 0.5rem;
	margin-block-start: 1.5rem;
	padding: 0;
	list-style: none;
}

.kosaiji-content .kosaiji-links > li {
	margin: 0;
}

.kosaiji-content .kosaiji-links__item {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	height: 100%;
	box-sizing: border-box;
	padding: 1rem 2.75rem 1rem 1.25rem;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--kosaiji-radius);
	color: var(--wp--preset--color--sumi);
	text-decoration: none;
}

/* 右の「›」の印 */
.kosaiji-content .kosaiji-links__item::after {
	content: "›";
	position: absolute;
	top: 50%;
	right: 1.25rem;
	transform: translateY(-50%);
	color: var(--wp--preset--color--fukamidori);
	font-size: 1.5rem;
	line-height: 1;
}

.kosaiji-content .kosaiji-links__item:hover {
	border-color: var(--wp--preset--color--fukamidori);
}

.kosaiji-content .kosaiji-links__item:hover .kosaiji-links__name {
	text-decoration: underline;
}

.kosaiji-links__name {
	font-weight: 700;
	color: var(--wp--preset--color--fukamidori-dark);
}

.kosaiji-links__host {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--sumi-sub);
	overflow-wrap: anywhere;
}

@media (min-width: 782px) {
	.kosaiji-content .kosaiji-links {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* よくあるご質問：問いの頭に、緑の丸の「Q」の印。問いの下の線はつけない */
.kosaiji-content .kosaiji-faq-q {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	margin-block: 2rem 0.5rem;
	padding-bottom: 0;
	border-bottom: 0;
}

.kosaiji-faq-q::before {
	content: "Q";
	flex: none;
	display: inline-grid;
	place-items: center;
	width: 1.7em;
	height: 1.7em;
	margin-top: 0.1em;
	border-radius: 50%;
	background: var(--wp--preset--color--fukamidori);
	color: var(--wp--preset--color--white);
	font-family: var(--wp--preset--font-family--gothic);
	font-size: 0.8em;
	font-weight: 700;
}

.kosaiji-content .kosaiji-faq-q + p {
	margin-block-start: 0;
	padding-left: calc(1.7em * 0.8 * 1.25 + 0.6rem);
}

/* アクセス：地図。押すまでは、ボタンと一言だけの枠（Googleに接続しない）。押すと、同じ大きさで地図が出る。
   スマホは高さを決めて（18rem）、一言とボタンが必ず収まるようにする。タブレットは4:3、PCは16:9 */
.kosaiji-map {
	display: grid;
	height: 18rem;
	overflow: hidden;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--kosaiji-radius);
}

.kosaiji-map__consent {
	display: grid;
	place-content: center;
	justify-items: center;
	gap: 1rem;
	padding: 1.5rem 1rem;
	text-align: center;
}

.kosaiji-content .kosaiji-map__note {
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--sumi-sub);
}

.kosaiji-map__button {
	min-height: 48px;
	padding: 0.75rem 1.5rem;
	border: 0;
	border-radius: 10px;
	background: var(--wp--preset--color--fukamidori);
	color: var(--wp--preset--color--white);
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

/* 「（Googleマップ）」は、ボタンの2行目に小さく */
.kosaiji-map__via {
	display: block;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 400;
}

.kosaiji-map__button:hover {
	background: var(--wp--preset--color--fukamidori-dark);
}

.kosaiji-map__button:focus-visible {
	outline: 3px solid var(--wp--preset--color--kincha);
	outline-offset: 3px;
}

.kosaiji-map__frame {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.kosaiji-content .kosaiji-map__open {
	margin-block-start: 0.75rem;
	text-align: right;
}

@media (min-width: 600px) {
	.kosaiji-map {
		height: auto;
		aspect-ratio: 4 / 3;
	}
}

@media (min-width: 782px) {
	.kosaiji-map {
		aspect-ratio: 16 / 9;
	}
}

/* アクセス：交通のご案内。行ごとのカードに、札（電車・新幹線・車）、出発する所、かかる時間 */
.kosaiji-content .kosaiji-routes {
	display: grid;
	gap: 0.5rem;
	padding: 0;
	list-style: none;
}

/* スマホは、札・出発する所・時間を縦に並べる。駅名などは、空白のところでだけ折り返す */
.kosaiji-content .kosaiji-routes > li {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	justify-items: start;
	align-items: center;
	gap: 0.25rem 0.75rem;
	margin: 0;
	padding: 0.875rem 1rem;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--kosaiji-radius);
}

.kosaiji-routes__from {
	word-break: keep-all;
	overflow-wrap: anywhere;
}

.kosaiji-routes__by {
	min-width: 4.5em;
	padding: 0.25rem 0.5rem;
	border-radius: 999px;
	background: var(--wp--preset--color--kinari);
	color: var(--wp--preset--color--fukamidori-dark);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	text-align: center;
}

.kosaiji-routes__time {
	font-weight: 700;
}

/* タブレットは、左に札、右に出発する所と時間の2段。PCは、札・出発する所・時間を横一列に */
@media (min-width: 600px) {
	.kosaiji-content .kosaiji-routes > li {
		grid-template-columns: auto minmax(0, 1fr);
		justify-items: stretch;
	}

	.kosaiji-routes__by {
		grid-row: span 2;
	}
}

@media (min-width: 782px) {
	.kosaiji-content .kosaiji-routes > li {
		grid-template-columns: auto minmax(0, 1fr) auto;
	}

	.kosaiji-routes__by {
		grid-row: auto;
	}
}

/* アクセス：駐車場の一文は、左に緑の線を引いた帯で */
.kosaiji-content .kosaiji-parking {
	padding: 0.875rem 1.25rem;
	background: var(--wp--preset--color--white);
	border-left: 4px solid var(--wp--preset--color--fukamidori);
	border-radius: 0 var(--kosaiji-radius) var(--kosaiji-radius) 0;
}

/* 年中行事：一年の行事を、四月から月ごとのます目に並べる（中身は現行サイトの表と同じ）。
   スマホは2列、タブレットは3列、PCは4列（四月〜七月／八月〜十一月／十二月〜三月） */
.kosaiji-year {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.5rem;
	margin: 1rem 0 0;
}

.kosaiji-year__month {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	min-height: 5.5rem;
	padding: 0.75rem 1rem;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--kosaiji-radius);
}

/* 行事のない月は、白い地を付けずに控えめに */
.kosaiji-year__month.is-empty {
	background: transparent;
}

.kosaiji-year__month dt {
	font-family: var(--wp--preset--font-family--mincho);
	font-weight: 700;
	color: var(--wp--preset--color--fukamidori-dark);
}

.kosaiji-year__month dd {
	margin: 0;
	line-height: 1.7;
}

/* スマホの2列では、いちばん長い「永代祠堂経法要」が途中で折り返さないよう、余白と文字を少し詰める */
@media (max-width: 599px) {
	.kosaiji-year__month {
		padding-inline: 0.75rem;
	}

	.kosaiji-year__month dd {
		font-size: 0.9375rem;
	}
}

@media (min-width: 600px) {
	.kosaiji-year {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 782px) {
	.kosaiji-year {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

/* 毎月の婦人会は、ます目の下に、左に緑の線を引いた帯で */
.kosaiji-content .kosaiji-year-note {
	margin-block-start: 1rem;
	padding: 0.875rem 1.25rem;
	background: var(--wp--preset--color--white);
	border-left: 4px solid var(--wp--preset--color--fukamidori);
	border-radius: 0 var(--kosaiji-radius) var(--kosaiji-radius) 0;
}

.kosaiji-year-note strong {
	margin-right: 0.5em;
	color: var(--wp--preset--color--fukamidori-dark);
}

/* 寺報：最新号の大きなカード */
.kosaiji-content .kosaiji-jiho-latest {
	display: grid;
	gap: 1.25rem;
	margin-block-start: 1rem;
	padding: 1.25rem;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--kosaiji-radius);
}

.kosaiji-jiho-latest__cover {
	display: block;
	max-width: 14rem;
}

.kosaiji-jiho-latest__cover img,
.kosaiji-jiho-card__cover img,
.kosaiji-top-jiho__cover img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1.414;
	object-fit: cover;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 4px;
	background: var(--wp--preset--color--white);
}

.kosaiji-jiho-latest__body > * {
	margin: 0;
}

.kosaiji-jiho-latest__body > * + * {
	margin-top: 0.5rem;
}

.kosaiji-content .kosaiji-jiho-latest__title {
	padding-bottom: 0;
	border-bottom: 0;
	font-size: var(--wp--preset--font-size--x-large);
}

.kosaiji-jiho-latest__date {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--sumi-sub);
}

.kosaiji-content .kosaiji-jiho-latest__label {
	margin-top: 1rem;
	padding-top: 0.75rem;
	border-top: 1px solid var(--wp--preset--color--line);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--sumi-sub);
}

.kosaiji-jiho-latest__body .wp-block-list {
	padding-left: 1.25em;
}

.kosaiji-jiho-latest__pdf a {
	font-weight: 600;
}

/* 表紙の高さが右の文字の高さに近くなるよう、表紙の幅を決める（PCで約260px）。文字は上下の真ん中にそろえる */
@media (min-width: 600px) {
	.kosaiji-content .kosaiji-jiho-latest {
		grid-template-columns: clamp(11rem, 34%, 17rem) minmax(0, 1fr);
		align-items: center;
	}

	.kosaiji-jiho-latest__cover {
		max-width: none;
	}
}

/* 寺報：過去の号の小さなカード（カードのどこを押しても、その号のページが開く。判断の記録 32-4） */
.kosaiji-content .kosaiji-jiho-year__title {
	margin-block: 1.75rem 0.75rem;
	padding-bottom: 0;
	border-bottom: 0;
	font-size: var(--wp--preset--font-size--large);
}

.kosaiji-content .kosaiji-jiho-cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.kosaiji-content .kosaiji-jiho-cards > li {
	margin: 0;
}

.kosaiji-jiho-card {
	position: relative;
	padding: 0.6rem;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--kosaiji-radius);
}

.kosaiji-jiho-card:hover,
.kosaiji-jiho-card:focus-within {
	border-color: var(--wp--preset--color--fukamidori);
}

.kosaiji-jiho-card > * {
	margin: 0;
}

.kosaiji-jiho-card__cover {
	margin-bottom: 0.5rem;
}

.kosaiji-jiho-card__title {
	font-weight: 600;
}

.kosaiji-jiho-card__title a {
	color: var(--wp--preset--color--sumi);
	text-decoration: none;
}

.kosaiji-jiho-card__title a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.kosaiji-jiho-card__meta {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--sumi-sub);
}

/* それより前の号（押すと開く） */
.kosaiji-jiho-older {
	margin-block-start: 1.75rem;
}

.kosaiji-jiho-older summary {
	display: flex;
	align-items: center;
	min-height: 44px;
	padding: 0.5rem 1rem;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--kosaiji-radius);
	font-weight: 600;
	cursor: pointer;
}

/* 五位組だより（押すと開く。判断の記録 34.） */
.kosaiji-content .kosaiji-sohou__lead {
	margin-block: 1rem 0.75rem;
}

/* 五位組だよりのお知らせのページの、本文の前の枠（寺報の号のページと同じ形。判断の記録 35.） */
.kosaiji-sohou-issue > .kosaiji-jiho-latest:first-child {
	margin-block-start: 0;
}

.kosaiji-sohou-issue h2.kosaiji-jiho-latest__title {
	margin: 0;
}

.kosaiji-sohou-issue h2.kosaiji-jiho-latest__title::before {
	content: none;
}

@media (min-width: 600px) {
	.kosaiji-content .kosaiji-jiho-cards {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.kosaiji-content .kosaiji-jiho-cards {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

/* 法語掲示板の一覧（写真のカード。カードのどこを押しても、その法語のページが開く） */
.kosaiji-hogo-items {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.kosaiji-hogo-items > li {
	margin: 0;
}

.kosaiji-hogo-item {
	position: relative;
	height: 100%;
	margin: 0;
	padding: 0.6rem;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--kosaiji-radius);
	box-sizing: border-box;
}

.kosaiji-hogo-item:hover,
.kosaiji-hogo-item:focus-within {
	border-color: var(--wp--preset--color--fukamidori);
}

.kosaiji-hogo-item > * {
	margin: 0;
}

.kosaiji-hogo-item__photo {
	margin-bottom: 0.5rem;
}

.kosaiji-hogo-item__photo img,
.kosaiji-top-hogo img,
.kosaiji-single__photo img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1.414 / 1;
	object-fit: contain;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 4px;
	background: var(--wp--preset--color--white);
}

.kosaiji-hogo-item__title {
	margin-top: 0.5rem;
	font-family: var(--wp--preset--font-family--gothic);
	font-size: var(--wp--preset--font-size--regular);
	font-weight: 500;
	letter-spacing: 0.02em;
}

.kosaiji-hogo-item__title a {
	color: var(--wp--preset--color--sumi);
	text-decoration: none;
}

.kosaiji-hogo-item__title a::after {
	content: "";
	position: absolute;
	inset: 0;
}

@media (min-width: 600px) {
	.kosaiji-hogo-items {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 1rem;
	}
}

/* ---------- かわら版の一覧（写真のカード。判断の記録 30.） ---------- */

/* 一覧の上の切り替え「すべて｜行事報告｜雑感」。選んでいる項目は、深緑の太字と下線 */
.kosaiji-tabs ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin: 0 0 var(--wp--preset--spacing--50);
	padding: 0;
	list-style: none;
	font-family: var(--wp--preset--font-family--mincho);
	font-size: var(--wp--preset--font-size--regular);
}

.kosaiji-tabs li {
	display: flex;
	align-items: center;
	margin: 0;
}

.kosaiji-tabs li + li::before {
	content: "";
	width: 1px;
	height: 1em;
	background: var(--wp--preset--color--sumi-sub);
	opacity: 0.4;
}

/* 押しやすい大きさ（高さ 44px 以上） */
.kosaiji-tabs a {
	display: block;
	box-sizing: border-box;
	min-height: 44px;
	padding: 0.6rem 0.9rem;
	line-height: 1.5;
	color: var(--wp--preset--color--sumi);
	text-decoration: none;
}

.kosaiji-tabs a:hover {
	color: var(--wp--preset--color--fukamidori);
	text-decoration: underline;
}

.kosaiji-tabs a[aria-current] {
	color: var(--wp--preset--color--fukamidori);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.45em;
}

/* カードの並び：スマホは2列、タブレットとパソコンは3列。カードのどこを押しても、その記事が開く */
.kosaiji-kawaraban-items {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 2rem 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.kosaiji-kawaraban-items > li {
	margin: 0;
}

.kosaiji-kawaraban-item {
	position: relative;
	height: 100%;
	margin: 0;
}

.kosaiji-kawaraban-item > * {
	margin: 0;
}

/* 写真は 3:2 に切りそろえる */
.kosaiji-kawaraban-item__photo img,
.kosaiji-kawaraban-item__nophoto {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border-radius: 6px;
	background: var(--wp--preset--color--line);
}

/* 写真のない記事は、生成りの枠に寺紋 */
.kosaiji-kawaraban-item__nophoto {
	display: grid;
	place-items: center;
	box-sizing: border-box;
	border: 1px solid var(--wp--preset--color--line);
	background: var(--wp--preset--color--kinari);
}

.kosaiji-kawaraban-item__nophoto img {
	width: 28%;
	height: auto;
	opacity: 0.25;
}

/* タグ（行事報告・雑感）と日付 */
.kosaiji-kawaraban-item__meta {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: baseline;
	gap: 0 0.5rem;
	margin-top: 0.65rem;
	font-size: 0.8125rem;
	letter-spacing: 0.04em;
}

.kosaiji-kawaraban-item__meta > * {
	margin: 0;
}

.kosaiji-kawaraban-item__meta .kosaiji-kawaraban-item__tag {
	font-weight: 700;
	color: var(--wp--preset--color--fukamidori);
}

.kosaiji-kawaraban-item__meta .kosaiji-kawaraban-item__date {
	font-size: inherit;
	color: var(--wp--preset--color--sumi-sub);
}

.kosaiji-kawaraban-item__title {
	margin-top: 0.3rem;
	padding-bottom: 0.45rem;
	border-bottom: 1px solid var(--wp--preset--color--fukamidori);
	font-family: var(--wp--preset--font-family--mincho);
	font-size: var(--wp--preset--font-size--regular);
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0.04em;
}

/* 題名は2行まで（入りきらないときは「…」） */
.kosaiji-kawaraban-item__title a {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
	color: var(--wp--preset--color--sumi);
	text-decoration: none;
}

.kosaiji-kawaraban-item__title a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.kosaiji-kawaraban-item:hover .kosaiji-kawaraban-item__title a {
	color: var(--wp--preset--color--fukamidori);
	text-decoration: underline;
}

/* キーボードで選んだときは、カード全体を囲む（対応していないブラウザーでは、題名を囲む） */
@supports selector(:has(a)) {
	.kosaiji-kawaraban-item:has(a:focus-visible) {
		outline: 3px solid var(--kosaiji-focus);
		outline-offset: 4px;
		border-radius: 6px;
	}

	.kosaiji-kawaraban-item__title a:focus-visible {
		outline: none;
	}
}

/* 一言（抜粋。書いていないときは本文の書き出し）は2行まで */
.kosaiji-kawaraban-item__lead {
	margin-top: 0.5rem;
}

.kosaiji-kawaraban-item__lead p {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
	margin: 0;
	font-size: 0.8125rem;
	line-height: 1.65;
	color: var(--wp--preset--color--sumi-sub);
}

.kosaiji-kawaraban-list .kosaiji-pagination {
	margin-top: 2.5rem;
}

@media (min-width: 600px) {
	.kosaiji-kawaraban-items {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 2.5rem 1.5rem;
	}
}

/* 法語のページ（写真と「一言」） */
.kosaiji-single__lead-wrap:not(:has(.kosaiji-single__lead)) {
	display: none;
}

.kosaiji-single__lead-wrap {
	margin-block-end: 1.5rem;
}

.kosaiji-single__lead > * {
	margin: 0;
}

.kosaiji-single__photo {
	margin: 0;
}

.kosaiji-single__photo img {
	aspect-ratio: auto;
}

/* 法語の PDF（判断の記録 33.）。画像の下に、寺報の「PDFで読む」と同じ太さで */
.kosaiji-single__lead > .kosaiji-hogo-pdf {
	margin-top: 0.75rem;
}

.kosaiji-hogo-pdf a {
	font-weight: 600;
}

.kosaiji-hogo-label {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	margin-block: 2rem 0;
}

.kosaiji-hogo-label::before {
	content: "";
	flex: 0 0 auto;
	width: 0.35rem;
	height: 1.1em;
	margin-top: calc((1.45em - 1.1em) / 2);
	border-radius: 2px;
	background: var(--wp--preset--color--fukamidori);
}

/* トップ：最新の法語と寺報 最新号。1つの欄にまとめ、法語を主役に、寺報の最新号を小さく添える（案B） */
.kosaiji-hogo-jiho__panel {
	display: grid;
	gap: 1.5rem;
}

.kosaiji-hogo-jiho__panel > *,
.kosaiji-hogo-jiho__hogo > :first-child,
.kosaiji-hogo-jiho__jiho > :first-child {
	margin: 0;
}

.kosaiji-hogo-jiho__jiho {
	padding-top: 1.25rem;
	border-top: 1px solid var(--wp--preset--color--line);
}

.kosaiji-panel__title--sub {
	font-size: var(--wp--preset--font-size--large);
}

.kosaiji-top-hogo > *,
.kosaiji-top-jiho__body > * {
	margin: 0;
}

.kosaiji-top-hogo__title {
	margin-top: 0.75rem;
	font-weight: 600;
}

/* スマートフォンでは、小さな表紙の横に号数と発行日を並べる */
.kosaiji-top-jiho {
	display: grid;
	grid-template-columns: 5rem minmax(0, 1fr);
	gap: 1rem;
	align-items: start;
}

/* PCでは、法語を左に大きく（3分の2）、寺報を右に（3分の1）。寺報は表紙の下に号数と発行日を並べる */
@media (min-width: 782px) {
	.kosaiji-hogo-jiho__panel {
		grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
		gap: 2rem;
		align-items: start;
	}

	.kosaiji-hogo-jiho__jiho {
		padding-top: 0;
		padding-left: 2rem;
		border-top: 0;
		border-left: 1px solid var(--wp--preset--color--line);
	}

	.kosaiji-top-jiho {
		grid-template-columns: minmax(0, 1fr);
	}

	.kosaiji-top-jiho__cover {
		max-width: 12rem;
	}
}

.kosaiji-top-jiho__body > * + * {
	margin-top: 0.35rem;
}

.kosaiji-top-jiho__title {
	font-family: var(--wp--preset--font-family--mincho);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 600;
}

.kosaiji-top-jiho__date {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--sumi-sub);
}

.kosaiji-top-jiho__pdf a {
	font-weight: 600;
}

/* かわら版の記事のコメント欄（ほかの記事では中身がないので、囲みごと出さない） */
.kosaiji-comments-wrap:not(:has(.kosaiji-comments)) {
	display: none;
}

.kosaiji-comments-wrap {
	margin-block: 3rem 0;
}

.kosaiji-comments {
	padding-top: 2rem;
	border-top: 1px solid var(--wp--preset--color--line);
}

.kosaiji-comments > * {
	margin-block: 0;
}

.kosaiji-comments__title {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	font-size: var(--wp--preset--font-size--x-large);
}

.kosaiji-comments__title::before {
	content: "";
	flex: 0 0 auto;
	width: 0.35rem;
	height: 1.1em;
	margin-top: calc((1.45em - 1.1em) / 2);
	border-radius: 2px;
	background: var(--wp--preset--color--fukamidori);
}

.kosaiji-comments__empty {
	margin-top: 1rem;
	color: var(--wp--preset--color--sumi-sub);
}

/* コメントを送った直後の「受け付けました」。色だけでなく、言葉で伝える */
.kosaiji-comments__received {
	margin-top: 1rem;
	padding: 0.75rem 1rem;
	background: var(--wp--preset--color--kinari);
	border-left: 3px solid var(--wp--preset--color--fukamidori);
	border-radius: 0;
	font-weight: 600;
}

.kosaiji-comments__list {
	margin: 1rem 0 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--wp--preset--color--line);
}

.kosaiji-comment {
	padding-block: 1rem;
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.kosaiji-comment > * {
	margin: 0;
}

.kosaiji-comment__meta {
	gap: 0.25rem 1rem;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--sumi-sub);
}

.kosaiji-comment__meta .wp-block-comment-author-name {
	font-weight: 600;
	color: var(--wp--preset--color--sumi);
}

.kosaiji-comment .wp-block-comment-content {
	margin-top: 0.5rem;
}

.kosaiji-comment .wp-block-comment-content > * {
	margin: 0.5rem 0 0;
}

/* 書き込み欄。入力欄とボタンは、押しやすい高さ（44px以上）にし、何を書く欄かを文字で示す */
.kosaiji-comments .comment-respond {
	margin-top: 2rem;
	padding: 1.5rem;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--kosaiji-radius);
}

.kosaiji-comments .comment-reply-title {
	margin: 0 0 0.75rem;
	font-size: var(--wp--preset--font-size--large);
}

.kosaiji-comments .comment-form > p {
	margin: 0 0 1rem;
}

.kosaiji-comments .comment-notes {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--sumi-sub);
}

.kosaiji-comments .comment-form label {
	display: block;
	margin-bottom: 0.35rem;
	font-weight: 600;
}

.kosaiji-field-tag {
	display: inline-block;
	margin-left: 0.5rem;
	padding: 0.05rem 0.5rem;
	border-radius: 999px;
	background: var(--wp--preset--color--line);
	color: var(--wp--preset--color--sumi);
	font-size: 0.75rem;
	font-weight: 600;
	vertical-align: middle;
}

.kosaiji-field-tag--required {
	background: var(--wp--preset--color--fukamidori);
	color: var(--wp--preset--color--white);
}

.kosaiji-comments .comment-form input[type="text"],
.kosaiji-comments .comment-form input[type="email"],
.kosaiji-comments .comment-form textarea {
	box-sizing: border-box;
	width: 100%;
	min-height: 44px;
	padding: 0.5rem 0.75rem;
	border: 1px solid var(--wp--preset--color--sumi-sub);
	border-radius: 4px;
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--sumi);
	font: inherit;
}

.kosaiji-comments .form-submit {
	margin: 1.5rem 0 0;
}

.kosaiji-comments .form-submit input[type="submit"] {
	min-height: 44px;
	border: 0;
	cursor: pointer;
}

/* お問い合わせフォーム（Snow Monkey Forms）。コメントの書き込み欄と同じ形にそろえ、
   入力欄・選ぶ欄・ボタンは押しやすい大きさ（44px以上）にする */
.kosaiji-content .snow-monkey-form {
	--_form-control-border-color: var(--wp--preset--color--sumi-sub);
	--_form-control-border-color-hover: var(--wp--preset--color--sumi);
	--_form-control-border-color-focus: var(--wp--preset--color--fukamidori);
	--_global--border-radius: 4px;
	--_color-text: var(--wp--preset--color--sumi);
	margin-block: 1.5rem;
	padding: 1.5rem;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--kosaiji-radius);
}

/* 入力画面・確認画面・完了画面の、いまどこかを示す印 */
.kosaiji-content .snow-monkey-form .smf-progress-tracker {
	margin: 0 0 1.5rem;
	padding: 0;
}

.kosaiji-content .snow-monkey-form .smf-progress-tracker__item {
	margin: 0;
}

.kosaiji-content .snow-monkey-form .smf-progress-tracker__item::before,
.kosaiji-content .snow-monkey-form .smf-progress-tracker__item::after {
	background-color: var(--wp--preset--color--line);
}

.kosaiji-content .snow-monkey-form .smf-progress-tracker__item__number {
	background-color: var(--wp--preset--color--line);
	color: var(--wp--preset--color--sumi);
	font-family: var(--wp--preset--font-family--gothic);
	font-size: 0.8rem;
}

.kosaiji-content .snow-monkey-form .smf-progress-tracker__item__text {
	color: var(--wp--preset--color--sumi-sub);
	font-size: var(--wp--preset--font-size--small);
}

.kosaiji-content .snow-monkey-form .smf-progress-tracker__item[aria-current="true"] .smf-progress-tracker__item__number {
	background-color: var(--wp--preset--color--fukamidori);
	color: var(--wp--preset--color--white);
}

.kosaiji-content .snow-monkey-form .smf-progress-tracker__item[aria-current="true"] .smf-progress-tracker__item__text {
	color: var(--wp--preset--color--fukamidori);
}

.kosaiji-content .snow-monkey-form .kosaiji-form-note {
	margin: 0 0 1.25rem;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--sumi-sub);
}

.kosaiji-content .snow-monkey-form .smf-item {
	margin: 0 0 1.25rem;
}

.kosaiji-content .snow-monkey-form .smf-item__label {
	margin-bottom: 0.35rem;
	font-weight: 600;
}

.kosaiji-content .snow-monkey-form .smf-item__description {
	margin: 0 0 0.35rem;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--sumi-sub);
}

.kosaiji-content .snow-monkey-form .smf-text-control__control,
.kosaiji-content .snow-monkey-form .smf-textarea-control__control {
	box-sizing: border-box;
	width: 100%;
	min-height: 44px;
	padding: 0.5rem 0.75rem;
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--sumi);
	font: inherit;
	line-height: 1.6;
}

/* ご用件（ひとつ選ぶ）。文字のところを押しても選べ、1行ずつ押しやすい高さにする */
.kosaiji-content .snow-monkey-form .smf-radio-buttons-control__control > .smf-label {
	display: block;
}

.kosaiji-content .snow-monkey-form .smf-radio-buttons-control__control > .smf-label > label {
	display: flex;
	align-items: center;
	min-height: 44px;
	cursor: pointer;
}

.kosaiji-content .snow-monkey-form .smf-radio-button-control {
	align-items: center;
	gap: 0.6rem;
}

.kosaiji-content .snow-monkey-form .smf-radio-button-control__control {
	width: 1.25rem;
	height: 1.25rem;
	margin: 0;
}

.kosaiji-content .snow-monkey-form .smf-radio-button-control__control:checked {
	background-color: var(--wp--preset--color--fukamidori);
	border-color: var(--wp--preset--color--fukamidori);
}

.kosaiji-content .snow-monkey-form .smf-radio-button-control__control::before {
	top: calc(50% - 4px);
	left: calc(50% - 4px);
	width: 8px;
	height: 8px;
}

/* 書き間違いのお知らせ */
.kosaiji-content .snow-monkey-form .smf-error-messages {
	margin-top: 0.35rem;
	color: #b3261e;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
}

/* ボタン（確認する・戻る・送信する）。サイトのほかのボタンと同じ形 */
.kosaiji-content .snow-monkey-form .smf-action {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem;
	margin-top: 1.5rem;
}

.kosaiji-content .snow-monkey-form .smf-button-control__control {
	min-height: 44px;
	padding: 0.75rem 1.5rem;
	border: 1px solid var(--wp--preset--color--fukamidori);
	border-radius: 10px;
	background: var(--wp--preset--color--fukamidori);
	background-image: none;
	color: var(--wp--preset--color--white);
	font: inherit;
	font-size: var(--wp--preset--font-size--regular);
	font-weight: 600;
	line-height: 1.5;
	cursor: pointer;
}

.kosaiji-content .snow-monkey-form .smf-button-control__control:hover {
	background: var(--wp--preset--color--fukamidori-dark);
}

.kosaiji-content .snow-monkey-form .smf-button-control__control[data-action="back"] {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--fukamidori);
}

.kosaiji-content .snow-monkey-form .smf-button-control__control[data-action="back"]:hover {
	background: var(--wp--preset--color--kinari);
}

/* フォームのプラグインが消している、キーボードで動かしたときの枠を、サイトのほかの部分と同じ形で出す */
.kosaiji-content .snow-monkey-form :is(input, textarea, button):focus-visible {
	outline: 3px solid var(--kosaiji-focus);
	outline-offset: 3px;
}

@media (max-width: 599px) {
	.kosaiji-content .snow-monkey-form {
		padding: 1.25rem 1rem;
	}

	.kosaiji-content .snow-monkey-form .smf-button-control {
		flex: 1 1 100%;
	}

	.kosaiji-content .snow-monkey-form .smf-button-control__control {
		width: 100%;
	}
}

/* 迷惑な書き込みを見分けるための、人には見えない入力欄 */
.kosaiji-trap {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
