/* 本日のお悔やみ欄: 添付デザイン用のページ専用スタイル */
/* 市区町村・日付の見出し。このCSSを読むページは全て新カードなので .municipality-block で限定しない
   （都道府県・市区町村ページの見出しは .municipality-block で囲まれていないため）。
   クラスを2回書いているのは詳細度(0,2,0)の確保用。文字サイズ変更機能の
   `body.text-standard p`(0,1,2) に font-size を上書きされるのを防ぐ。 */
.muni-head::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: .5rem;
	left: 0;
	width: 4px;
	background: #0c225f;
}

/*
 * 市区町村・都道府県ページの画面外セクションは、HTMLとアクセシビリティツリーを
 * 保持したままレイアウト・描画を必要になるまで延期する。
 * auto + 推定値により、一度描画した後は実際の高さが再利用される。
 */
@supports (content-visibility: auto) {
  .tax-tax_municipality .oky-render-deferred,
  .tax-tax_prefectures .oky-render-deferred {
    content-visibility: auto;
    contain-intrinsic-block-size: auto var(--oky-deferred-block-size, 600px);
  }

  .tax-tax_municipality .oky-render-deferred-history {
    --oky-deferred-block-size: 2000px;
  }

  .tax-tax_prefectures .oky-render-deferred-history {
    --oky-deferred-block-size: 1800px;
  }

  .tax-tax_municipality .oky-render-deferred-funerals {
    --oky-deferred-block-size: 650px;
  }

  .tax-tax_prefectures .oky-render-deferred-funerals {
    --oky-deferred-block-size: 650px;
  }

  .tax-tax_municipality .oky-render-deferred-adjacent {
    --oky-deferred-block-size: 350px;
  }

  .tax-tax_prefectures .oky-render-deferred-adjacent {
    --oky-deferred-block-size: 900px;
  }

  .tax-tax_prefectures .oky-render-deferred-search {
    --oky-deferred-block-size: 1200px;
  }

  .tax-tax_municipality .oky-render-deferred-push,
  .tax-tax_prefectures .oky-render-deferred-push {
    --oky-deferred-block-size: 1000px;
  }

  .tax-tax_municipality .oky-render-deferred-source,
  .tax-tax_prefectures .oky-render-deferred-source {
    --oky-deferred-block-size: 750px;
  }

  .tax-tax_municipality .oky-render-deferred-faq,
  .tax-tax_prefectures .oky-render-deferred-faq {
    --oky-deferred-block-size: 1200px;
  }

  /* アーカイブは先頭3件を即時描画し、以降のカード描画を画面接近時まで延期する。 */
  .tax-tax_municipality .municipality-archive-day .obituary-item:nth-of-type(n + 4),
  .tax-tax_prefectures .prefecture-archive-day .obituary-item:nth-of-type(n + 4) {
    content-visibility: auto;
    contain-intrinsic-block-size: auto 340px;
  }

  @media (min-width: 768px) {
    .tax-tax_municipality .oky-render-deferred-history {
      --oky-deferred-block-size: 1400px;
    }

    .tax-tax_prefectures .oky-render-deferred-history {
      --oky-deferred-block-size: 1100px;
    }

    .tax-tax_municipality .oky-render-deferred-funerals {
      --oky-deferred-block-size: 450px;
    }

    .tax-tax_prefectures .oky-render-deferred-funerals {
      --oky-deferred-block-size: 450px;
    }

    .tax-tax_municipality .oky-render-deferred-adjacent {
      --oky-deferred-block-size: 200px;
    }

    .tax-tax_prefectures .oky-render-deferred-adjacent {
      --oky-deferred-block-size: 500px;
    }

    .tax-tax_prefectures .oky-render-deferred-search {
      --oky-deferred-block-size: 850px;
    }

    .tax-tax_municipality .oky-render-deferred-push,
    .tax-tax_prefectures .oky-render-deferred-push {
      --oky-deferred-block-size: 700px;
    }

    .tax-tax_municipality .oky-render-deferred-source,
    .tax-tax_prefectures .oky-render-deferred-source {
      --oky-deferred-block-size: 420px;
    }

    .tax-tax_municipality .oky-render-deferred-faq,
    .tax-tax_prefectures .oky-render-deferred-faq {
      --oky-deferred-block-size: 920px;
    }

    .tax-tax_municipality .municipality-archive-day .obituary-item:nth-of-type(n + 4),
    .tax-tax_prefectures .prefecture-archive-day .obituary-item:nth-of-type(n + 4) {
      contain-intrinsic-block-size: auto 230px;
    }
  }
}

/* 都道府県の通知欄も市区町村ページと同じ左揃え・操作配置にする */
.tax-tax_prefectures .prefecture-today-page-title,
.tax-tax_prefectures .prefecture-today-obituary-title {
	text-align: left;
}

/* 都道府県ページも市区町村ページと同じ本文幅に揃える。背景の全幅表示は維持する。 */
.tax-tax_prefectures .section-container > .tile,
.tax-tax_prefectures .push-container > .tile,
.tax-tax_prefectures .prefecture-search-tools,
.tax-tax_prefectures .city-content {
	width: 100%;
	max-width: 50.5rem;
	margin-right: auto;
	margin-left: auto;
	box-sizing: border-box;
}

.tax-tax_prefectures .prefecture-search-tools,
.tax-tax_prefectures .city-content {
	padding-right: 2.5rem;
	padding-left: 2.5rem;
}

/* 親の768pxコンテナから外し、市区町村と同じ外枠808px・実幅728pxにする。 */
.tax-tax_prefectures .prefecture-search-tools {
	position: relative;
	left: 50%;
	width: min(50.5rem, calc(100vw - 2rem));
	max-width: none;
	margin-right: 0;
	margin-left: 0;
	transform: translateX(-50%);
}

/* パンくずとファーストビュー広告は、本文と同じ実幅728pxに揃える。 */
.tax-tax_prefectures .breadcrumb-section > .tile {
	width: 100%;
	max-width: 50.5rem;
	margin-right: auto;
	margin-left: auto;
	padding-right: 2.5rem;
	padding-left: 2.5rem;
	box-sizing: border-box;
}

.tax-tax_prefectures .breadcrumb-section .breadcrumb {
	width: 100%;
	max-width: none;
	margin-right: 0;
	margin-left: 0;
}

.tax-tax_prefectures .prefecture-obituary-intro + .ad-container {
	width: 100%;
	max-width: 728px;
	margin-right: auto;
	margin-left: auto;
	box-sizing: border-box;
}

@media (max-width: 768px) {
	.tax-tax_prefectures .breadcrumb-section > .tile {
		padding-right: 1rem;
		padding-left: 1rem;
	}
}

.tax-tax_prefectures .prefecture-obituary-intro + .ad-container {
	margin-bottom: 1.5rem;
	padding: 0;
}

.tax-tax_prefectures .prefecture-obituary-intro + .ad-container + .prefecture-update-status {
	margin-top: 0;
}

.tax-tax_prefectures .oky-push-tile,
.tax-tax_prefectures .oky-push-detail,
.tax-tax_prefectures .oky-push-tile [data-oky-push-note],
.tax-tax_prefectures .oky-push-tile [data-oky-push-openbtn],
.tax-tax_prefectures .oky-push-tile .oky-steps__vtitle,
.tax-tax_prefectures .oky-push-tile .oky-steps__more {
	text-align: left;
}

.tax-tax_prefectures .push-container img {
	margin-left: 0;
	margin-right: auto;
}

.tax-tax_prefectures .oky-push-tile .js-oky-push-subscribe,
.tax-tax_prefectures .oky-push-tile .oky-open-external {
	margin-left: 0;
	margin-right: 0;
}

/* 都道府県トップの掲載情報・FAQも市区町村ページと同じ表示にする */
.tax-tax_prefectures .prefecture-post-information h2 {
	margin: 0 0 1rem;
	text-align: left;
}

.tax-tax_prefectures .prefecture-post-information .obituary-source-note,
.tax-tax_prefectures .prefecture-post-information .municipality-faq-content {
	width: 100%;
	max-width: 50.5rem;
	margin-right: auto;
	margin-left: auto;
	box-sizing: border-box;
}

.tax-tax_prefectures .prefecture-post-information .municipality-faq .ad-container {
	width: 100%;
	max-width: 728px;
	margin: 0 auto 2.5rem;
	padding-right: 0;
	padding-left: 0;
}

.tax-tax_prefectures .prefecture-post-information .municipality-faq .ad-container > .ad {
	width: 100%;
	max-width: 728px;
	margin-right: auto;
	margin-left: auto;
}

/* 都道府県の主な斎場は、市区町村版と同じ本文幅・表組みにする */
.tax-tax_prefectures .prefecture-featured-funerals .tile {
	width: 100%;
	max-width: 50.5rem;
	margin-right: auto;
	margin-left: auto;
	padding-top: 2.5rem;
	padding-bottom: 2.5rem;
	box-sizing: border-box;
}

.tax-tax_prefectures .prefecture-featured-funerals h2 {
	margin-top: 0;
	text-align: left;
}

.tax-tax_prefectures .prefecture-featured-funerals .municipality-featured-funerals-table th:first-child,
.tax-tax_prefectures .prefecture-featured-funerals .municipality-featured-funerals-table td:first-child {
	width: 58%;
}

/* 都道府県トップ下部：市区町村ページと同じ交互背景と左揃えにする。 */
.tax-tax_prefectures .prefecture-featured-funerals {
	background: #fff;
	margin-top: -2.5rem;
	margin-bottom: -2.5rem;
}

.tax-tax_prefectures .city-content {
	position: relative;
	left: 50%;
	width: min(50.5rem, 100vw);
	max-width: none;
	margin-right: 0;
	margin-left: 0;
	padding-top: 2.5rem;
	padding-bottom: 2.5rem;
	transform: translateX(-50%);
	align-items: stretch;
	text-align: left;
	background: #f7f6fb;
	box-shadow: 0 0 0 100vmax #f7f6fb;
	clip-path: inset(0 -100vmax);
}

.tax-tax_prefectures .city-content > h2,
.tax-tax_prefectures .city-content-wrap,
.tax-tax_prefectures .city-content .row-group,
.tax-tax_prefectures .city-content .row-content {
	width: 100%;
	text-align: left;
}

.tax-tax_prefectures .prefecture-post-information .municipality-source-note {
	background: #fff;
	margin-top: -2.5rem;
}

.tax-tax_prefectures .prefecture-post-information .obituary-source-note {
	padding-top: 2.5rem;
	padding-bottom: 2.5rem;
}

.tax-tax_prefectures .prefecture-post-information .municipality-faq {
	margin-top: 0;
}

.tax-tax_prefectures .prefecture-post-information .municipality-faq-content {
	padding: 2.5rem 2.5rem 1rem;
	margin-bottom: -1rem;
}

/* FAQ本文と広告を通常フローで描画し、仮高さや負の余白による重なりを防ぐ。 */
.tax-tax_prefectures .prefecture-post-information .oky-render-deferred-source,
.tax-tax_prefectures .prefecture-post-information .oky-render-deferred-faq {
	content-visibility: visible !important;
	contain: none !important;
	contain-intrinsic-size: none !important;
}

.tax-tax_prefectures .prefecture-footer-navigation {
	padding-top: 0;
	padding-bottom: 0;
	background: #fff;
}

.tax-tax_prefectures .prefecture-footer-navigation > .tile {
	padding-top: 2.5rem;
	padding-bottom: 2.5rem;
}

.tax-tax_prefectures .prefecture-footer-navigation .accordion {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .5rem 1rem;
}

.tax-tax_prefectures .prefecture-footer-navigation .accordion > li {
	flex: 0 0 auto;
	margin-bottom: 0;
}

.tax-tax_prefectures .prefecture-footer-navigation .accordion-header {
	white-space: nowrap;
}

.tax-tax_prefectures footer {
	margin-top: 0;
}

/* アーカイブ用の後続指定より優先し、都道府県トップだけを白いナビに固定する。 */
body.tax-tax_prefectures:has(.prefecture-post-information) .prefecture-footer-navigation {
	padding-top: 0;
	padding-bottom: 0;
	background: #fff;
	margin-top: -2.5rem;
}

body.tax-tax_prefectures:has(.prefecture-post-information) .prefecture-footer-navigation > .tile {
	padding-top: 2.5rem;
	padding-bottom: 2.5rem;
}
.muni-head a {
	color: var(--link-color);
	font-weight: inherit;
	text-decoration: none;
}
.muni-head a:hover { text-decoration: underline; }

/* 過去履歴プレビューを市区町村ページの標準コンテンツ幅に揃える */
.municipality-advanced-search .filter-item:has(.municipality-archive-cta) {
	width: 100%;
	max-width: 728px;
}

/* 検索エリアの見出しを、直下の検索UIと同じ本文幅に揃える。 */
.tax-tax_municipality .municipality-search-tools-title {
	width: 100%;
	max-width: 728px;
	margin-right: auto;
	margin-left: auto;
	box-sizing: border-box;
}

/* 都道府県ページの検索機能を、1つのH2配下にまとめる */
.tax-tax_prefectures .prefecture-search-tools-title {
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	box-sizing: border-box;
}

.tax-tax_prefectures .prefecture-search-tools-title + .filter-container .filter-item > h3 {
	margin-top: 0;
	padding-bottom: 0;
	font-size: clamp(1.3125rem, 1.0781rem + .75vw, 1.5rem);
}

/* 都道府県の検索エリアを市区町村トップと同じ構成にする。 */
.tax-tax_prefectures .prefecture-search-tools .filter-container:has(.prefecture-monthly-archive) {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1rem;
	width: 100%;
	max-width: 728px;
	margin-right: auto;
	margin-left: auto;
	justify-content: start;
}

.tax-tax_prefectures .prefecture-search-tools .filter-container:has(.prefecture-monthly-archive) > .filter-item {
	width: 100%;
	padding: 1.3rem 1rem 1rem;
	border: 5px solid #ddd;
	background: #fff;
}

.tax-tax_prefectures .prefecture-search-tools .filter-container:has(.prefecture-monthly-archive) > .filter-item > h3,
.tax-tax_prefectures .prefecture-search-tools .filter-container:has(.prefecture-monthly-archive) > .filter-right > .filter-item > h3 {
	margin: 0 0 1rem;
	text-align: left;
}

.tax-tax_prefectures .prefecture-search-tools .filter-container:has(.prefecture-monthly-archive) > .filter-right {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.tax-tax_prefectures .prefecture-search-tools .filter-container:has(.prefecture-monthly-archive) > .filter-right > .filter-item {
	min-width: 0;
	width: 100%;
	padding: 1rem;
	border: 5px solid #ddd;
	background: #fff;
}

.tax-tax_prefectures .prefecture-search-tools .filter-container:has(.prefecture-monthly-archive) > .filter-right > .filter-item:has(.search-keyword) {
	grid-column: 1 / -1;
	order: 0;
}

.tax-tax_prefectures .prefecture-search-tools .filter-container:has(.prefecture-monthly-archive) > .filter-right > .filter-item:has(.age-filter-form) {
	order: 1;
}

.tax-tax_prefectures .prefecture-search-tools .filter-container:has(.prefecture-monthly-archive) > .filter-right > .filter-item:has(#classmate-search) {
	order: 2;
}

.tax-tax_prefectures .prefecture-search-tools .search-keyword button,
.tax-tax_prefectures .prefecture-search-tools .age-filter-form button[type="submit"] {
	background: #664fa1;
}

.tax-tax_prefectures .prefecture-search-tools #classmate-search,
.tax-tax_prefectures .prefecture-search-tools .classmate-search-wrap,
.tax-tax_prefectures .prefecture-search-tools .age-filter-form {
	width: 100%;
	min-width: 0 !important;
}

.tax-tax_prefectures .prefecture-search-tools .calendar-description {
	display: none;
}

.tax-tax_prefectures .prefecture-search-bottom-adsense {
	width: min(728px, calc(100vw - 2rem));
	margin-top: 1rem;
	margin-right: auto;
	margin-bottom: 0;
	margin-left: auto;
	overflow: hidden;
}

.tax-tax_prefectures .prefecture-search-bottom-adsense .ad-container,
.tax-tax_prefectures .prefecture-search-bottom-adsense .ad,
.tax-tax_prefectures .prefecture-search-bottom-adsense ins.adsbygoogle,
.tax-tax_prefectures .prefecture-search-bottom-adsense iframe {
	width: 100% !important;
	max-width: 728px !important;
	box-sizing: border-box;
}

.tax-tax_prefectures .prefecture-search-bottom-adsense .ad-container {
	margin-bottom: 0;
	padding-right: 0;
	padding-bottom: 0;
	padding-left: 0;
	padding-top: 0;
}

@media (max-width: 768px) {
	.tax-tax_prefectures .prefecture-search-tools {
		width: calc(100vw - 2rem);
		padding-right: 1rem;
		padding-left: 1rem;
	}

	.tax-tax_prefectures .prefecture-search-tools .filter-container:has(.prefecture-monthly-archive) > .filter-right {
		grid-template-columns: minmax(0, 1fr);
	}

	.tax-tax_prefectures .prefecture-search-tools .filter-container:has(.prefecture-monthly-archive) > .filter-right > .filter-item:has(.search-keyword) {
		grid-column: auto;
	}
}

/* 都道府県の本日一覧に10件ごとに挿入する広告 */
.tax-tax_prefectures .prefecture-today-list-adsense {
	width: 100%;
	margin: 1rem 0;
}

.tax-tax_prefectures .prefecture-national-today-link {
	margin: 1rem 0 1.5rem;
	text-align: left;
}

.tax-tax_prefectures #view-today .oky-push-unsubline {
	margin: 0;
	text-align: left;
}

.tax-tax_prefectures .prefecture-today-bottom-adsense {
	width: 100%;
	margin: 1rem 0 -2rem;
}

.tax-tax_prefectures .prefecture-today-bottom-adsense .ad-container {
	width: 100%;
	max-width: 728px;
	margin: 0;
	padding: 0;
}

.tax-tax_prefectures .prefecture-today-list-adsense .ad-container-list {
	padding: 0;
}

/* 都道府県トップの「昨日までのお悔やみ掲載履歴」5件プレビュー */
.tax-tax_prefectures .prefecture-history-preview-section {
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
	padding: 0;
	background: #f7f6fb;
}

.tax-tax_prefectures .prefecture-history-preview {
	width: min(100%, 50.5rem);
	margin-right: auto;
	margin-left: auto;
	padding-bottom: 0;
}

.tax-tax_prefectures .prefecture-history-preview-content > h2,
.tax-tax_prefectures .prefecture-history-date-heading,
.tax-tax_prefectures .prefecture-history-municipality-heading {
	text-align: left;
}

/* 履歴見出しはセクション上端から2.5rem。h2既定マージンによる上乗せを防ぐ。 */
.tax-tax_prefectures .prefecture-history-preview-content > h2 {
	margin-top: 0;
	margin-bottom: 1rem;
}

.tax-tax_prefectures .prefecture-history-date-heading {
	margin: 1rem 0;
}

.tax-tax_prefectures .prefecture-history-municipality-heading {
	margin: .5rem 0;
	padding-left: 0;
	border-left: 0;
	border-image: none;
	text-align: left;
	font-size: clamp(1.09375rem, .8984rem + .625vw, 1.25rem);
	line-height: 1.5;
}

.tax-tax_prefectures .prefecture-history-municipality-heading a {
	color: var(--link-color);
	font-weight: 700;
	text-decoration: none;
}

.tax-tax_prefectures .prefecture-history-municipality-heading a:hover {
	text-decoration: underline;
}

.tax-tax_prefectures .prefecture-history-archive-button {
	display: flex;
	margin: 0 0 1rem !important;
	text-align: left;
}

.tax-tax_prefectures .prefecture-history-archive-button .link-btn {
	display: inline-flex;
	align-items: center;
	width: auto;
	min-height: 0;
	line-height: 1.5;
}

.tax-tax_prefectures .prefecture-history-preview > .ad-container {
	margin: 0 auto;
	padding: 0;
}

/* 都道府県の過去のお悔やみ一覧 */
.tax-tax_prefectures .prefecture-archive-intro,
.tax-tax_prefectures .prefecture-archive-recent,
.tax-tax_prefectures .prefecture-archive-information,
.tax-tax_prefectures .prefecture-footer-navigation,
.tax-tax_prefectures .prefecture-archive-filters {
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
}

.tax-tax_prefectures .prefecture-archive-intro,
.tax-tax_prefectures .prefecture-archive-recent,
.tax-tax_prefectures .prefecture-archive-information,
.tax-tax_prefectures .prefecture-footer-navigation {
	padding-top: 2.5rem;
}

.tax-tax_prefectures .prefecture-archive-intro,
.tax-tax_prefectures .prefecture-archive-recent {
	background: #f7f6fb;
}

.tax-tax_prefectures .prefecture-archive-filters,
.tax-tax_prefectures .prefecture-archive-information,
.tax-tax_prefectures .prefecture-footer-navigation {
	background: #fff;
}

.tax-tax_prefectures.paged .prefecture-footer-navigation {
	background: #f7f6fb;
}

.tax-tax_prefectures.paged footer {
	margin-top: 0;
	background: #fff;
	box-shadow: 0 0 0 100vmax #fff;
}

.tax-tax_prefectures .prefecture-archive-intro > .tile,
.tax-tax_prefectures .prefecture-archive-recent > .tile,
.tax-tax_prefectures .prefecture-archive-filters > .tile,
.tax-tax_prefectures .prefecture-archive-information > .tile,
.tax-tax_prefectures .prefecture-footer-navigation > .tile {
	width: min(100%, 50.5rem);
	margin-right: auto;
	margin-left: auto;
}

@media (max-width: 767px) {
	.tax-tax_prefectures .prefecture-search-tools,
	.tax-tax_prefectures .city-content {
		padding-right: 1rem;
		padding-left: 1rem;
	}
}

.tax-tax_prefectures .prefecture-archive-intro h1,
.tax-tax_prefectures .prefecture-archive-recent h1,
.tax-tax_prefectures .prefecture-archive-recent h2,
.tax-tax_prefectures .prefecture-search-tools-title,
.tax-tax_prefectures .prefecture-archive-information h2 {
	text-align: left;
}

.tax-tax_prefectures .prefecture-archive-lead-adsense {
	margin-bottom: 2.5rem;
}

.tax-tax_prefectures .prefecture-archive-filters {
	padding: 2.5rem 0;
}

.tax-tax_prefectures .prefecture-archive-filter-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1rem;
}

.tax-tax_prefectures .prefecture-archive-filter-grid .filter-item {
	padding: 1.25rem;
	border: 4px solid #ddd;
	background: #fff;
}

.tax-tax_prefectures .prefecture-archive-filter-grid .filter-item > h3 {
	margin: 0 0 1rem;
	padding: 0;
	text-align: left;
	font-size: clamp(1.3125rem, 1.0781rem + .75vw, 1.5rem);
}

/* 都道府県アーカイブの検索UIを市区町村アーカイブと同じ構成にする。 */
.tax-tax_prefectures .prefecture-archive-search-layout {
	display: grid;
	grid-template-columns: minmax(0, 728px);
	gap: 1rem;
	width: 100%;
	max-width: 728px;
	margin-right: auto;
	margin-left: auto;
}

.tax-tax_prefectures .prefecture-archive-search-layout > .filter-item,
.tax-tax_prefectures .prefecture-archive-search-layout > .filter-right > .filter-item {
	width: 100%;
	padding: 1rem;
	border: 5px solid #ddd;
	background: #fff;
}

.tax-tax_prefectures .prefecture-archive-search-layout .filter-item > h3 {
	margin: 0 0 1rem;
	padding: 0;
	text-align: left;
	font-size: clamp(1.3125rem, 1.0781rem + .75vw, 1.5rem);
}

.tax-tax_prefectures .prefecture-archive-search-layout .calendar-container {
	display: grid;
	grid-template-columns: minmax(0, 370px) minmax(0, 1fr);
	grid-template-rows: 1fr;
	gap: 1rem;
	align-items: stretch;
	width: 100%;
}

.tax-tax_prefectures .prefecture-archive-search-layout .calendar-widget,
.tax-tax_prefectures .prefecture-archive-search-layout .calendar-month,
.tax-tax_prefectures .prefecture-archive-search-layout .prefecture-monthly-archive {
	height: 100%;
}

.tax-tax_prefectures .prefecture-archive-search-layout > .filter-right {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.tax-tax_prefectures .prefecture-archive-keyword-filter {
	grid-column: 1 / -1;
}

.tax-tax_prefectures .prefecture-archive-search-layout .search-keyword button,
.tax-tax_prefectures .prefecture-archive-search-layout .age-filter-form button[type="submit"] {
	background: #664fa1;
}

.tax-tax_prefectures .prefecture-archive-search-layout .search-keyword button:hover,
.tax-tax_prefectures .prefecture-archive-search-layout .age-filter-form button[type="submit"]:hover {
	background: #7865ad;
}

.tax-tax_prefectures .prefecture-archive-search-layout .classmate-search-wrap,
.tax-tax_prefectures .prefecture-archive-search-layout #prefecture-archive-classmate {
	width: 100%;
	min-width: 0;
}

@media (max-width: 768px) {
	.tax-tax_prefectures .prefecture-archive-search-layout .calendar-container,
	.tax-tax_prefectures .prefecture-archive-search-layout > .filter-right {
		display: flex;
		flex-direction: column;
	}
}

.tax-tax_prefectures .prefecture-archive-date-form,
.tax-tax_prefectures .prefecture-archive-age-form {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .75rem;
}

.tax-tax_prefectures .prefecture-archive-date-form input,
.tax-tax_prefectures .prefecture-archive-age-form input,
.tax-tax_prefectures #prefecture-archive-classmate {
	min-height: 3rem;
	padding: .5rem .75rem;
	border: 1px solid #d5d8df;
	border-radius: .25rem;
}

.tax-tax_prefectures .prefecture-archive-date-form button,
.tax-tax_prefectures .prefecture-archive-age-form button {
	min-height: 3rem;
	padding: .5rem 1rem;
	border: 0;
	border-radius: .25rem;
	background: #6c50ae;
	color: #fff;
	font-weight: 700;
}

.tax-tax_prefectures .prefecture-archive-day {
	margin-top: 1rem;
}

.tax-tax_prefectures .prefecture-archive-date-heading {
	margin: 1rem 0;
	text-align: left;
}

.tax-tax_prefectures .prefecture-archive-municipality-heading {
	margin: 1rem 0;
	padding-left: 1rem;
	border-left: 4px solid #0c225f;
	text-align: left;
	font-size: clamp(1.3125rem, 1.0781rem + .75vw, 1.5rem);
}

.tax-tax_prefectures .prefecture-archive-mid-adsense {
	margin: 1rem 0 1.75rem;
}

.tax-tax_prefectures .prefecture-archive-list-adsense {
	margin: 1rem 0 2.5rem;
}

.tax-tax_prefectures .prefecture-archive-mid-adsense .ad-container,
.tax-tax_prefectures .prefecture-archive-list-adsense .ad-container,
.tax-tax_prefectures .prefecture-archive-lead-adsense .ad-container {
	padding-top: 0;
	padding-bottom: 0;
}

.tax-tax_prefectures .prefecture-archive-recent .number-item {
	margin-top: 1rem;
}

.tax-tax_prefectures .prefecture-archive-pagination .pagination {
	justify-content: flex-start;
}

.tax-tax_prefectures .prefecture-archive-information {
	padding-bottom: 0;
}

.tax-tax_prefectures .prefecture-source-note,
.tax-tax_prefectures .prefecture-archive-faq {
	padding-top: 2.5rem;
	padding-bottom: 2.5rem;
}

.tax-tax_prefectures .prefecture-source-note {
	background: #fff;
}

.tax-tax_prefectures .prefecture-archive-faq {
	background: #f7f6fb;
	box-shadow: 0 0 0 100vmax #f7f6fb;
	clip-path: inset(0 -100vmax);
}

.tax-tax_prefectures .prefecture-footer-navigation {
	padding-bottom: 2.5rem;
}

.tax-tax_prefectures .prefecture-archive-footer-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .5rem 1rem;
}

.tax-tax_prefectures .prefecture-archive-footer-links li {
	margin-bottom: 0;
}

@media (min-width: 768px) {
	.tax-tax_prefectures .prefecture-archive-filter-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/*
 * 市区町村トップの背景色は、実際に表示された通常セクションの順番で交互にする。
 * 任意の通夜・葬儀、掲載履歴、斎場、周辺地域などが欠けても配色を維持するため、
 * PHPテンプレートが付けるクラスで既存の固定背景色を上書きする。
 * 通知セクションは黄色固定のため、このクラスの対象外。
 */
.tax-tax_municipality .oky-alternating-section {
	background: var(--oky-alternating-section-bg) !important;
	box-shadow: 0 0 0 100vmax var(--oky-alternating-section-bg) !important;
	clip-path: inset(0 -100vmax) !important;
}
.tax-tax_municipality .oky-section-tone-muted {
	--oky-alternating-section-bg: #f7f6fb;
}
.tax-tax_municipality .oky-section-tone-white {
	--oky-alternating-section-bg: #fff;
}

/* アーカイブ検索末尾の広告から次の見出しまでを合計2.5remにする。 */
.tax-tax_municipality .municipality-archive-filters > .tile {
	padding-bottom: 0;
}
.tax-tax_municipality .municipality-archive-filters .municipality-filter-adsense {
	margin-bottom: 0;
}
.tax-tax_municipality .municipality-archive-filters .municipality-filter-adsense .ad-container {
	padding-bottom: 0;
}
.tax-tax_municipality .municipality-archive-recent > .tile {
	padding-top: 2.5rem;
	padding-bottom: 0;
}
.tax-tax_municipality .municipality-archive-recent > .tile > h2:first-child {
	margin-top: 0;
}
.tax-tax_municipality .municipality-archive-recent .number-item {
	margin-top: 1rem;
}

/* アーカイブ2ページ目以降：各セクション自身の内余白だけを残し、flexの2.5rem gapを相殺する。 */
.tax-tax_municipality
	.municipality-archive-intro
	+ .municipality-archive-recent:has(+ .municipality-archive-filters-after-list),
.tax-tax_municipality
	.municipality-archive-recent + .municipality-archive-filters-after-list {
	margin-top: -2.5rem;
}
.tax-tax_municipality
	.municipality-archive-filters-after-list > .tile,
.tax-tax_municipality
	.municipality-archive-filters-after-list > section.tile:has(.calendar-widget) {
	padding-top: 2.5rem !important;
	padding-bottom: 2.5rem !important;
}

/* 親市区町村のアーカイブ2ページ目以降：検索見出しとセクション末尾の余白を整える。 */
.tax-tax_municipality
	.municipality-archive-filters-after-list--parent {
	padding-bottom: 2.5rem !important;
}
.tax-tax_municipality
	.municipality-archive-filters-after-list--parent > .tile {
	padding-bottom: 0 !important;
}
.tax-tax_municipality
	.municipality-archive-filters-after-list--parent .municipality-search-tools-title {
	margin: 0 auto 1rem !important;
	font-size: clamp(1.3125rem, 1.0781rem + .75vw, 1.5rem) !important;
	line-height: 1.5;
}
/*
 * アーカイブ2ページ目以降：検索末尾広告の下を2.5rem、
 * 続くナビゲーションの内側上余白を2.5remに固定する。
 * primary-article の既定gapはここでは重複するため相殺する。
 */
.tax-tax_municipality
	.municipality-archive-filters-after-list
	+ .municipality-footer-navigation {
	margin-top: -2.5rem;
}
.tax-tax_municipality
	.municipality-archive-filters-after-list
	+ .municipality-footer-navigation > .tile {
	padding-top: 2.5rem !important;
}
.tax-tax_municipality .municipality-archive-lead-adsense {
	margin-bottom: 1.75rem;
}
.tax-tax_municipality .municipality-archive-lead-adsense .ad-container {
	padding-bottom: 0;
}
.tax-tax_municipality
	.municipality-archive-lead-adsense + .municipality-archive-day > .muni-head {
	margin-top: 0;
}

/* アーカイブ一覧末尾の広告は、上1rem・下2.5remの実余白を確保する。 */
.tax-tax_municipality .municipality-archive-list-adsense {
	margin: 1rem 0 2.5rem !important;
	display: grid !important;
	grid-template-areas: "oky-archive-ad";
	width: 100%;
	height: auto !important;
	min-height: 280px !important;
	content-visibility: visible !important;
	contain: none !important;
}
/* 熊本県内のアーカイブは、ページネーション→1rem→追悼文→1rem→広告の順にする。 */
.tax-tax_municipality .municipality-archive-pagination + .kumamoto-earthquake-condolence {
	margin: 1rem 0 0;
}
.tax-tax_municipality
	.kumamoto-earthquake-condolence + .municipality-archive-list-adsense {
	margin-top: 1rem !important;
}
.tax-tax_municipality .municipality-archive-mid-adsense {
	margin: 1rem 0 1.75rem !important;
	display: grid !important;
	grid-template-areas: "oky-archive-mid-ad";
	width: 100%;
	height: auto !important;
	min-height: 280px !important;
	content-visibility: visible !important;
	contain: none !important;
}
.tax-tax_municipality .municipality-archive-mid-adsense::before {
	content: "";
	grid-area: oky-archive-mid-ad;
	width: 100%;
	min-height: 280px;
	pointer-events: none;
}
.tax-tax_municipality .municipality-archive-mid-adsense .ad-container {
	grid-area: oky-archive-mid-ad;
	align-self: stretch;
	width: 100%;
	height: auto !important;
	min-height: 280px !important;
	margin: 0;
	padding-top: 0;
	padding-bottom: 0;
}
/* 一覧途中の広告に隣接する既定余白を除き、広告の上下を実寸1remに揃える。 */
.tax-tax_municipality
	.municipality-archive-day:has(+ .municipality-archive-mid-adsense)
	.obituary-item:last-child {
	margin-bottom: 0;
}
.tax-tax_municipality
	.municipality-archive-mid-adsense + .municipality-archive-day > .muni-head {
	margin-top: 0;
}
.tax-tax_municipality .municipality-archive-list-adsense::before {
	content: "";
	grid-area: oky-archive-ad;
	width: 100%;
	min-height: 280px;
	pointer-events: none;
}
.tax-tax_municipality .municipality-archive-list-adsense .ad-container {
	grid-area: oky-archive-ad;
	align-self: stretch;
	height: auto !important;
	min-height: 280px !important;
	padding-top: 0;
	padding-bottom: 0;
}
.tax-tax_municipality .municipality-archive-recent
	.municipality-archive-day:last-of-type
	.today-municipality-list-wrap:last-child,
.tax-tax_municipality .municipality-archive-recent
	.municipality-archive-day:last-of-type
	.obituary-item:last-child {
	margin-bottom: 0;
}

/* アーカイブ下部を白・薄紫で交互に区切る。 */
body.tax-tax_municipality:has(.municipality-archive-information)
	.municipality-archive-information .municipality-source-note {
	background: #fff !important;
}
body.tax-tax_municipality:has(.municipality-archive-information)
	.municipality-archive-information {
	margin-top: -2.5rem;
	padding-top: 0;
}
/*
 * アーカイブ末尾の掲載情報・FAQは、長い親市区町村ページでも実寸で描画する。
 * content-visibility の仮高さ（420px / 920px）が残ることによる余白崩れを防ぐ。
 */
body.tax-tax_municipality:has(.municipality-archive-information)
	.municipality-archive-information .municipality-source-note,
body.tax-tax_municipality:has(.municipality-archive-information)
	.municipality-archive-information .municipality-faq {
	content-visibility: visible !important;
	contain: none !important;
	contain-intrinsic-size: none !important;
}
body.tax-tax_municipality:has(.municipality-archive-information)
	.municipality-archive-information .obituary-source-note {
	padding-top: 2.5rem !important;
}
body.tax-tax_municipality:has(.municipality-archive-information)
	.municipality-archive-information .municipality-faq-content {
	padding-top: 2.5rem !important;
}
body.tax-tax_municipality:has(.municipality-archive-information)
	.municipality-archive-information .obituary-source-note > h2,
body.tax-tax_municipality:has(.municipality-archive-information)
	.municipality-archive-information .municipality-faq-content > h2 {
	margin: 0 0 1rem !important;
	font-size: clamp(1.3125rem, 1.0781rem + .75vw, 1.5rem) !important;
	line-height: 1.5;
}
body.tax-tax_municipality:has(.municipality-archive-information)
	.municipality-archive-information .municipality-faq {
	background: #f7f6fb !important;
}

/* 親市区町村アーカイブ：掲載情報とFAQ末尾の実余白を各2.5remに固定する。 */
body.tax-tax_municipality:has(.municipality-archive-information)
	.municipality-archive-information--parent .obituary-source-note {
	padding-top: 5rem !important;
}
body.tax-tax_municipality
	.municipality-archive-information--parent .municipality-faq {
	padding-bottom: 2.5rem !important;
}
body.tax-tax_municipality:has(.municipality-archive-information)
	.municipality-archive-information + .municipality-footer-navigation,
body.tax-tax_municipality:has(.municipality-archive-information)
	.municipality-archive-information + .municipality-footer-navigation > .tile {
	background: #fff !important;
}
body.tax-tax_municipality:has(.municipality-archive-information)
	.municipality-archive-information + .municipality-footer-navigation {
	margin-top: -2.5rem;
	padding-top: 2.5rem !important;
}
body.tax-tax_municipality:has(.municipality-archive-information)
	.municipality-archive-information + .municipality-footer-navigation > .tile {
	padding-top: 0 !important;
}
body.tax-tax_municipality:has(.municipality-archive-information) footer {
	background: #f7f6fb !important;
	box-shadow: 0 0 0 100vmax #f7f6fb !important;
}

/* 親市区町村アーカイブ：掲載日は通常の市区町村と同じ装飾、区名は一段小さいリンク見出しにする。 */
.tax-tax_municipality .municipality-archive-district-heading {
	margin: .5rem 0 1rem;
	font-size: clamp(1.09375rem, .8984rem + .625vw, 1.25rem);
	line-height: 1.5;
}
.tax-tax_municipality .municipality-archive-district-heading a {
	color: var(--link-color);
	font-weight: 700;
	text-decoration: none;
}
.tax-tax_municipality .municipality-archive-district-heading a:hover {
	text-decoration: underline;
}

/* 親市区町村アーカイブ：区のカードと次の区見出しの間を1rem空ける。 */
.tax-tax_municipality
	.municipality-archive-day .today-municipality-list-wrap + .municipality-archive-district-heading {
	margin-top: 1.75rem !important;
}

/* 市区町村トップ：FAQ末尾広告からナビゲーションまでの実余白を2.5remにする。 */
.tax-tax_municipality
	.municipality-post-search-sections:not(.municipality-archive-information)
	.municipality-faq .ad-container {
	margin-bottom: 0;
}

/* 市区町村トップ：ナビゲーションの内側上余白を2.5remにする。 */
.tax-tax_municipality
	.municipality-post-search-sections:not(.municipality-archive-information)
	+ .municipality-footer-navigation > .tile {
	padding-top: 2.5rem;
}

/*
 * AdSenseが親要素へ min-height:0 !important を付けても広告枠を確保する。
 * 疑似要素と広告を同じグリッドセルへ重ね、広告が280pxを超える場合は自然に拡張する。
 */
.tax-tax_municipality .ad-container:has(> .ad.inner-ad) {
	display: grid;
	grid-template-areas: "oky-ad-slot";
}
.tax-tax_municipality .ad-container:has(> .ad.inner-ad)::before {
	content: "";
	grid-area: oky-ad-slot;
	width: 100%;
	min-height: 280px;
	pointer-events: none;
}
.tax-tax_municipality .ad-container:has(> .ad.inner-ad) > .ad.inner-ad {
	grid-area: oky-ad-slot;
	align-self: stretch;
}

.today-obituary-cards .obituary-item {
	--oky-navy: #0c225f;
	--oky-muted: #f1f2f6;
	--oky-rule: #dfe3eb;
	/* 下段（通夜葬儀／式場／喪主）の3カラム比率。上段もこの灰色の縦線に揃える */
	--oky-col1: calc(100% * 1 / 3.1);
	--oky-col2: calc(100% * 1.3 / 3.1);
	--oky-col3: calc(100% * 0.8 / 3.1);
	display: grid !important;
	/* 1列目=氏名 / 2列目=年齢 / 3列目=住所 は下段2列目の幅を分け合う / 4列目=死去の日 */
	grid-template-columns: minmax(var(--oky-col1), max-content) max-content minmax(0, 1fr) var(--oky-col3) !important;
	grid-template-rows: auto auto;
	grid-template-areas:
		"name age town death"
		"bottom bottom bottom bottom" !important;
	row-gap: 0;
	column-gap: 0;
	align-items: center;
	padding: 1.275rem;
	margin-bottom: 1rem;
	background: #fff;
	border: 1px solid var(--oky-rule);
	border-radius: .35rem;
	box-shadow: 0 0 1rem rgb(12 34 95 / 10%);
	overflow: hidden;
}
/* dl の各プロパティをカード本体のグリッド項目として配置する */
.today-obituary-cards .obituary-item > .obituary-summary { display: contents; }
.today-obituary-cards .obituary-item dd { margin: 0; }
.today-obituary-cards .obituary-item .obituary-schedule > .schedule-detail { display: contents; }
/* 上下の区切り線は下段の border-top で描くので、共通CSS側の ::after は使わない */
.today-obituary-cards .obituary-item::before,
.today-obituary-cards .obituary-item::after { display: none !important; }
.today-obituary-cards .obituary-item > .obituary-summary > div { min-width: 0; margin: 0; }
.today-obituary-cards .obituary-item .name {
	grid-area: name;
	margin: 0;
	padding: 0;
	font-size: clamp(1.3125rem, 1.0781rem + .75vw, 1.5rem);
	line-height: 1.25;
	color: #08142e;
	white-space: nowrap;
}
.today-obituary-cards .obituary-item .name {
	font-weight: 700;
}
.today-obituary-cards .obituary-item .name .font-size-s { 
	font-size: .62em;
	margin-left: .2em;
	font-weight: 500;
}
.today-obituary-cards .obituary-item .age,
.today-obituary-cards .obituary-item .chief-mourner-label {
	background: var(--oky-muted);
	border-radius: .35rem;
	color: #17223b;
}
.today-obituary-cards .obituary-item .age {
	grid-area: age;
	justify-self: start;
	padding: .3rem .6rem;
	font-size: .8rem;
	white-space: nowrap;
}
.today-obituary-cards .obituary-item .town,
.today-obituary-cards .obituary-item .date_of_passing {
	display: flex;
	/* 値が2行になっても、アイコンと「住所：」はブロック全体の上下中央に置く */
	align-items: center;
	gap: 0;
	font-size: 0.8rem;
	line-height: 1.5;
}
.today-obituary-cards .obituary-item .town {
	grid-area: town;
	/* 年齢バッジとの間隔をあけ、死去の日の列の手前で折り返す */
	margin-left: 1.275rem !important;
	padding-right: 1.275rem;
}
.today-obituary-cards .obituary-item .date_of_passing { grid-area: death; }
/* ラベルと値を別要素にして、値だけが折り返す（2行目の先頭が値の1文字目の真下にくる） */
.today-obituary-cards .obituary-item .meta-label { flex: 0 0 auto; }
.today-obituary-cards .obituary-item .meta-value { min-width: 0; }
.today-obituary-cards .obituary-item .town::before,
.today-obituary-cards .obituary-item .date_of_passing::before {
	content: "";
	flex: 0 0 0.8rem;
	width: 0.8rem;
	height: 0.8rem;
	/* 隙間はアイコンの右だけ。ラベルと値の間はあけない */
	margin-right: .65rem;
	background: center / contain no-repeat;
}
.today-obituary-cards .obituary-item .town::before { background-image: url("/wp-content/themes/okuyami/img/pin-icon.webp"); }
.today-obituary-cards .obituary-item .date_of_passing::before { background-image: url("/wp-content/themes/okuyami/img/calendar-icon.webp"); }
.today-obituary-cards .obituary-item .visitation,
.today-obituary-cards .obituary-item .funeral {
	grid-column: schedule-start / schedule-end;
	margin-top: 0;
	padding-left: 0;
	align-self: center;
	font-size: 1rem;
	line-height: 1.45;
	text-indent: 0;
	overflow: visible;
	white-space: normal;
}
.today-obituary-cards .obituary-item .visitation { grid-row: 3; }
.today-obituary-cards .obituary-item .funeral { grid-row: 4; }
.today-obituary-cards .obituary-item .visitation::before,
.today-obituary-cards .obituary-item .funeral::before { content: none !important; display: none !important; }
.today-obituary-cards .obituary-item .visitation,
.today-obituary-cards .obituary-item .funeral { display: flex; align-items: center; gap: .5rem; }
.today-obituary-cards .obituary-item .event-label {
	flex: 0 0 3.5rem;
    padding: .3rem 0;
    border-radius: .35rem;
    background: var(--oky-navy);
    color: #fff;
    font-size: .8rem;
    text-align: center;
}
.today-obituary-cards .obituary-item .event-date { min-width: 0; }
.today-obituary-cards .obituary-item .event-time {
	white-space: nowrap;
}
.today-obituary-cards .obituary-item .place,
.today-obituary-cards .obituary-item .chief_mourner_name {
	grid-row: 3 / 5;
	align-self: stretch;
}
.today-obituary-cards .obituary-item .place {
	grid-column: place-start / place-end;
	display: flex;
	align-items: center;
	padding: 0 1.5rem;
	border-left: 1px solid var(--oky-rule);
	border-right: 1px solid var(--oky-rule);
	font-size: .95rem;
	line-height: 1.55;
}
.today-obituary-cards .obituary-item .place a { 
	font-weight: 700;
}
.today-obituary-cards .obituary-item .chief_mourner_name {
	grid-column: chief-start / chief-end;
	display: flex;
	align-items: center;
	gap: 1rem;
	font-size: .95rem;
	line-height: 1.5;
}
.today-obituary-cards .chief-mourner-label { 
	flex: 0 0 auto;
	padding: .3rem .6rem;
	text-align: center;
	font-size: .8rem;
 }
.today-obituary-cards .chief-mourner-colon { display: none; }
.today-obituary-cards .chief-mourner-detail { min-width: 0; }
.today-obituary-cards .chief-mourner-detail .font-size-s { margin-left: 0; }

/* 下段は、通夜・葬儀 / 式場 / 喪主の3等分グリッド */
.today-obituary-cards .obituary-item > .obituary-bottom {
	grid-area: bottom;
	display: grid;
	grid-template-columns: var(--oky-col1) var(--oky-col2) var(--oky-col3);
	align-self: stretch;
	min-width: 0;
	margin: .5rem 0 0;
	padding-top: 1rem;
	border-top: 1px dashed var(--oky-rule);
}
.today-obituary-cards .obituary-bottom .obituary-schedule {
	display: flex;
	flex-direction: column;
	justify-content: center;
	justify-self: left;
	gap: .5rem;
	min-width: 0;
	margin: 0;
	padding: 0;
}
.today-obituary-cards .obituary-bottom .visitation,
.today-obituary-cards .obituary-bottom .funeral {
	grid-column: auto;
	grid-row: auto;
	display: flex;
	align-items: center;
	align-self: stretch;
	/* 日付が4桁（12/22 など）でも収まるように狭める */
	gap: .5rem;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 1rem;
	line-height: 1.45;
	text-indent: 0;
	overflow: visible;
	white-space: normal;
	transform: none !important;
}
.today-obituary-cards .obituary-bottom .place {
	grid-column: auto;
	grid-row: auto;
	display: flex;
	align-self: stretch;
	align-items: center;
	padding: 0 1rem;
	border-left: 1px solid var(--oky-rule);
	border-right: 1px solid var(--oky-rule);
	font-size: .95rem;
	line-height: 1.55;
}
.today-obituary-cards .obituary-bottom .chief_mourner_name {
	/* 式場を出さないページでも右端（死去の日の列）に揃える */
	grid-column: 3;
	grid-row: auto;
	align-self: stretch;
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding-left: 1rem;
	font-size: .8rem;
}
.today-obituary-cards .is-funeral-completed .obituary-bottom .place {
	grid-column: 1;
	grid-row: auto;
	justify-self: start;
	align-self: center;
	width: auto;
	border: 0;
}
.today-obituary-cards .is-funeral-completed .obituary-bottom .obituary-schedule {
	display: none;
}
.today-obituary-cards .is-funeral-completed .obituary-bottom .chief_mourner_name {
	grid-column: 3;
	border-left: 1px solid var(--oky-rule);
}

/* 葬儀済み: チェック付きのグレーバッジと喪主列のみを表示 */
.today-obituary-cards .is-funeral-completed .place {
	grid-column: schedule-start / schedule-end;
	grid-row: 3 / 5;
	justify-self: start;
	align-self: center;
	display: inline-flex;
	align-items: center;
	width: auto;
	padding: .3rem 1rem .3rem 2rem;
	border: 0;
	border-radius: 999px;
	background: #aab0b8;
	color: #fff;
	font-size: 0.8rem;
	position: relative;
}
.today-obituary-cards .is-funeral-completed .place::before {
	content: "✓";
	position: absolute;
	left: .9rem;
	font-size: 1.2em;
	font-weight: 700;
}
.today-obituary-cards .is-funeral-completed .place a { color: inherit; }
.today-obituary-cards .is-funeral-completed .chief_mourner_name {
	border-left: 1px solid var(--oky-rule);
}
/* 通夜・葬儀・式場・喪主がいずれも無い場合は下段ごと省く（点線も出さない） */
.today-obituary-cards .obituary-item.is-summary-only > .obituary-bottom {
	display: none;
}
@media (min-width: 769px) {
	/* 喪主は「続柄」を1行目、「氏名」を2行目に */
	.today-obituary-cards .chief-mourner-detail {
		display: flex;
		flex-direction: column;
		gap: .1rem;
	}
	/* 式場欄が無いカードは、その枠線の代わりに喪主の左へ区切り線を引く */
	.today-obituary-cards .obituary-item.is-no-place > .obituary-bottom .chief_mourner_name {
		border-left: 1px solid var(--oky-rule);
	}
	.today-obituary-cards .obituary-item.is-chief-only > .obituary-bottom .chief_mourner_name {
		grid-column: 1;
		padding-left: 0;
		border-left: 0;
	}
}
@media (max-width: 768px) {
	.muni-head.muni-head {
		margin-bottom: 1.25rem;
		padding-bottom: .5rem;
		padding-left: .7rem;
		border-left-width: 4px;
		font-size: 1.35rem;
	}
	.today-obituary-cards .obituary-item {
		/* 2列目（年齢・死去の日）を下段の式場列（灰色の縦線）と同じ位置から始める */
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
		grid-template-rows: auto auto auto;
		grid-template-areas:
			"name age"
			"town death"
			"bottom bottom" !important;
		row-gap: 1rem;
		column-gap: 0;
		padding: 1rem;
		margin-bottom: 1rem;
		border-radius: .4rem;
	}
	/* 下段が無いカードは3行目を作らない（下だけ row-gap 分の余白が残るため） */
	.today-obituary-cards .obituary-item.is-summary-only {
		grid-template-rows: auto auto;
		grid-template-areas:
			"name age"
			"town death" !important;
	}
	.today-obituary-cards .obituary-item .name {
		font-size: 1.25rem;
		align-self: center;
		/* 極端に長い氏名でも列からはみ出して切れないように折り返しを許可 */
		white-space: normal;
	}
	.today-obituary-cards .obituary-item .age {
		justify-self: start;
		align-self: center;
		padding: .3rem .6rem;
		font-size: .85rem;
	}
	.today-obituary-cards .obituary-item .town,
	.today-obituary-cards .obituary-item .date_of_passing {
		gap: 0;
		font-size: .78rem;
		white-space: normal;
	}
	.today-obituary-cards .obituary-item .town {
		margin-left: 0 !important;
		padding-right: 0;
	}
	.today-obituary-cards .obituary-item .date_of_passing { justify-self: start; }
	.today-obituary-cards .obituary-item .town::before,
	.today-obituary-cards .obituary-item .date_of_passing::before { flex-basis: 1.1rem; width: 1.1rem; height: 1.1rem; margin-right: .35rem; }
	.today-obituary-cards .obituary-item .visitation,
	.today-obituary-cards .obituary-item .funeral {
		grid-column: schedule-start / schedule-end;
		padding-left: 0;
		font-size: .85rem;
		text-indent: 0;
	}
	.today-obituary-cards .obituary-item .visitation { grid-row: 3; }
	.today-obituary-cards .obituary-item .funeral { grid-row: 4; }
	.today-obituary-cards .obituary-item .visitation,
	.today-obituary-cards .obituary-item .funeral { gap: .5rem; }
	.today-obituary-cards .obituary-item .event-label { flex-basis: 3.7rem; padding: .3rem .2rem; font-size: .85rem; }
	.today-obituary-cards .obituary-item .place {
		grid-column: place-start / place-end;
		grid-row: 3 / 5;
		padding: .5rem 0 .5rem 1rem;
		border-right: 0;
		font-size: .95rem;
	}
	.today-obituary-cards .obituary-item .chief_mourner_name {
		grid-row: 5;
		grid-column: 1 / -1;
		padding-top: .8rem;
		border-top: 1px dashed var(--oky-rule);
		font-size: .95rem;
	}
	.today-obituary-cards .is-funeral-completed .place {
		grid-column: schedule-start / schedule-end;
		grid-row: 3 / 5;
		font-size: .9rem;
	}
	.today-obituary-cards .is-funeral-completed .chief_mourner_name {
		border-left: 0;
		padding-left: 0;
	}

	/* 下段: 日時 / 場所を2列、喪主をその下の全幅にする */
	.today-obituary-cards .obituary-item > .obituary-bottom {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		grid-template-rows: auto auto auto;
		align-self: stretch;
		/* 上の row-gap(1rem) を点線の上余白として使い、下も同じ1remあける */
		margin-top: 0;
	}
	.today-obituary-cards .obituary-bottom .obituary-schedule {
		grid-column: 1;
		grid-row: 1 / 3;
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: .45rem;
		margin: 0;
		padding: 0;
		transform: none;
	}
	.today-obituary-cards .obituary-bottom .visitation,
	.today-obituary-cards .obituary-bottom .funeral {
		align-self: stretch;
		gap: .5rem;
		font-size: .9rem;
	}
	.today-obituary-cards .obituary-bottom .event-label {
		flex-basis: 3.7rem;
		padding: .3rem .2rem;
		font-size: .85rem;
	}
	.today-obituary-cards .obituary-bottom .event-date {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}
	.today-obituary-cards .obituary-bottom .event-time {
		display: block;
		margin: .15rem 0 0;
	}
	.today-obituary-cards .obituary-bottom .place {
		grid-column: 2;
		grid-row: 1 / 3;
		display: flex;
		align-self: stretch;
		align-items: center;
		padding: .5rem 0 .5rem 1rem;
		border-right: 0;
		font-size: .95rem;
		overflow-wrap: anywhere;
	}
	.today-obituary-cards .obituary-bottom .chief_mourner_name {
		grid-column: 1 / -1;
		grid-row: 3;
		display: flex;
		align-self: stretch;
		align-items: center;
		padding: .8rem 0 0;
		border-top: 0;
		border-left: 0;
		font-size: .95rem;
	}
	/* 下段が喪主・世帯主だけのときは、上に離すための padding が余白の二重取りになる */
	.today-obituary-cards .obituary-item.is-chief-only > .obituary-bottom .chief_mourner_name {
		padding-top: 0;
	}
	.today-obituary-cards .is-funeral-completed .obituary-bottom {
		grid-template-rows: auto auto;
	}
	.today-obituary-cards .is-funeral-completed .obituary-bottom .obituary-schedule {
		display: none;
	}
	.today-obituary-cards .is-funeral-completed .obituary-bottom .place {
		grid-column: 1;
		grid-row: 1;
		align-self: center;
		/* 上の .obituary-bottom .place の padding に勝たせる（バッジ形状を保つ） */
		padding: .3rem 1rem .3rem 2rem;
	}
	.today-obituary-cards .is-funeral-completed .obituary-bottom .chief_mourner_name {
		grid-column: 1 / -1;
		grid-row: 2;
		border-left: 0;
	}
}
