/* ============================================
   ブロックエディタで組んだ固定ページ用パーツ（フロント＋エディタ共通）
   - 編集方針パネル（.kujo-policy）：TOP＝コンパクト版（-compact）／運営者情報＝通常版
   - 運営者プロフィールカード（.kujo-profile）
   マークアップはコアのグループ／見出し／段落／画像ブロック＋「追加CSSクラス」。
   アイコン（SVG）はこのCSSの疑似要素で描画するため、ブロック側にはテキストだけを置く。
   このファイルは wp_enqueue_style（フロント）と add_editor_style（エディタ）の両方で読み込む。
   ============================================ */

/* ---------- 編集方針パネル ---------- */
.wp-block-group.kujo-policy {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0;
	margin: 0 0 2em;
	border: 2px solid #B9CEC6;
	border-radius: 16px;
	background: #fff;
	overflow: hidden;
}

/* 帯：段落2つ（タイトル・サブ）を縦積み。左に書類アイコン */
.kujo-policy .kujo-policy__head {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	padding: 14px 24px 14px 58px;
	background: #1E6B54;
	color: #fff;
}
.kujo-policy .kujo-policy__head::before {
	content: "";
	position: absolute;
	left: 24px;
	top: 50%;
	width: 22px;
	height: 22px;
	margin-top: -11px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h14v16H5z'/%3E%3Cpath d='M9 9h6M9 12.5h6M9 16h4'/%3E%3C/svg%3E") center / contain no-repeat;
}
.kujo-policy .kujo-policy__t {
	margin: 0;
	font-family: 'Zen Maru Gothic', 'Noto Sans JP', sans-serif;
	font-size: 1.06rem;
	font-weight: 700;
	color: #fff;
	line-height: 1.4;
}
.kujo-policy .kujo-policy__s { margin: 0; font-size: .8rem; color: #E3EDE8; line-height: 1.6; }

/* 行：グリッド1列目に丸アイコン（疑似要素）、2列目に見出し＋説明 */
.kujo-policy .kujo-policy__rows { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
.kujo-policy .kujo-policy__row {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr);
	column-gap: 18px;
	row-gap: 0;
	align-items: start;
	padding: 20px 24px;
}
.kujo-policy .kujo-policy__row > * { grid-column: 2; margin: 0; }
.kujo-policy .kujo-policy__row + .kujo-policy__row { border-top: 1px dotted #C6D8D1; }
.kujo-policy .kujo-policy__row::before {
	content: "";
	grid-column: 1;
	grid-row: 1 / span 2;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background-color: #EAF4F0;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 28px 28px;
}
.kujo-policy .kujo-policy__row.-check::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E6B54' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5L21 21'/%3E%3Cpath d='M8 10.5l1.8 1.8L13 9'/%3E%3C/svg%3E");
}
.kujo-policy .kujo-policy__row.-chat::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E6B54' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v11H9l-5 4z'/%3E%3Cpath d='M7 7l12 8'/%3E%3C/svg%3E");
}
.kujo-policy .kujo-policy__row.-tag::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E6B54' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12l9-9h9v9l-9 9z'/%3E%3Ccircle cx='16.5' cy='7.5' r='1.3'/%3E%3C/svg%3E");
}
.kujo-policy .kujo-policy__row.-refresh::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E6B54' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12a8 8 0 1 1-2.3-5.7'/%3E%3Cpath d='M20 4v5h-5'/%3E%3Cpath d='M12 8v4l2.5 1.5'/%3E%3C/svg%3E");
}
.kujo-policy .kujo-policy__h,
.kujo-policy h3.kujo-policy__h {
	margin: 0;
	padding: 0;
	border: none;
	background: none;
	font-family: 'Zen Maru Gothic', 'Noto Sans JP', sans-serif;
	font-size: 1.06rem;
	font-weight: 700;
	color: #14493A;
	line-height: 1.45;
	text-align: left;
}
.kujo-policy .kujo-policy__h::before,
.kujo-policy .kujo-policy__h::after { content: none; }
.kujo-policy .kujo-policy__p { margin: 4px 0 0; font-size: .9rem; line-height: 1.85; }

/* フッター（TOPのみ）：注記＋ボタン */
.kujo-policy .kujo-policy__foot {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 14px 24px;
	background: #F4F9F7;
	border-top: 1px solid #E3EDE8;
}
.kujo-policy .kujo-policy__note { margin: 0; font-size: .85rem; color: #4A5551; line-height: 1.7; }
.kujo-policy .kujo-policy__btns { flex: none; margin: 0; }
.kujo-policy .kujo-policy__btn { margin: 0; }
.kujo-policy .kujo-policy__btn .wp-block-button__link {
	display: inline-block;
	padding: 10px 24px;
	border: 1px solid #1E6B54;
	border-radius: 999px;
	background: #fff;
	color: #1E6B54;
	font-weight: 700;
	font-size: .9rem;
	line-height: 1.6;
	text-decoration: none;
	white-space: nowrap;
	box-shadow: none;
	transition: background-color .18s ease, color .18s ease;
}
.kujo-policy .kujo-policy__btn .wp-block-button__link:hover { background: #1E6B54; color: #fff; }

/* コンパクト版（TOP）：説明文なし・アイコン＋見出しを2列×2段 */
.kujo-policy.-compact .kujo-policy__rows {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
.kujo-policy.-compact .kujo-policy__row {
	grid-template-columns: 44px minmax(0, 1fr);
	column-gap: 14px;
	align-items: center;
	padding: 14px 24px;
}
.kujo-policy.-compact .kujo-policy__row::before { grid-row: auto; width: 44px; height: 44px; background-size: 24px 24px; }
.kujo-policy.-compact .kujo-policy__row + .kujo-policy__row { border-top: none; }
.kujo-policy.-compact .kujo-policy__row:nth-child(n+3) { border-top: 1px dotted #C6D8D1; }
.kujo-policy.-compact .kujo-policy__row:nth-child(even) { border-left: 1px dotted #C6D8D1; }
.kujo-policy.-compact .kujo-policy__h { font-size: 1rem; }
@media (max-width: 600px) {
	.kujo-policy.-compact .kujo-policy__rows { grid-template-columns: minmax(0, 1fr); }
	.kujo-policy.-compact .kujo-policy__row { padding: 12px 16px; }
	.kujo-policy.-compact .kujo-policy__row:nth-child(even) { border-left: none; }
	.kujo-policy.-compact .kujo-policy__row:nth-child(n+2) { border-top: 1px dotted #C6D8D1; }
}

@media (max-width: 600px) {
	.kujo-policy .kujo-policy__head { padding: 12px 16px 12px 50px; }
	.kujo-policy .kujo-policy__head::before { left: 16px; }
	.kujo-policy .kujo-policy__row { grid-template-columns: 44px minmax(0, 1fr); column-gap: 12px; padding: 16px; }
	.kujo-policy .kujo-policy__row::before { width: 44px; height: 44px; background-size: 24px 24px; }
	.kujo-policy .kujo-policy__foot { flex-direction: column; align-items: stretch; padding: 14px 16px; }
	.kujo-policy .kujo-policy__btns,
	.kujo-policy .kujo-policy__btn,
	.kujo-policy .kujo-policy__btn .wp-block-button__link { width: 100%; text-align: center; }
}


/* ---------- 運営者プロフィールカード ---------- */
.wp-block-group.kujo-profile {
	display: grid;
	grid-template-columns: 160px minmax(0, 1fr);
	gap: 28px;
	align-items: center;
	margin: 0 0 2em;
	padding: 0;   /* 外枠なし（本人指示） */
	background: #fff;
}
/* ロゴ：画像ブロック（figure）が角丸の枠、中の img は128px */
.kujo-profile .kujo-profile__logo {
	width: 160px; height: 160px;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #E1EAE6;
	border-radius: 16px;
	background: #fff;
	overflow: hidden;
}
.kujo-profile .kujo-profile__logo img { width: 128px; height: 128px; max-width: none; object-fit: contain; }
.kujo-profile .kujo-profile__body { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; min-width: 0; }
.kujo-profile .kujo-profile__head { display: flex; flex-direction: row; align-items: center; justify-content: flex-start; gap: 10px; flex-wrap: wrap; }
.kujo-profile .kujo-profile__chip {
	display: inline-block;
	margin: 0;
	padding: 2px 10px;
	border-radius: 4px;
	background: #EAF4F0;
	color: #14493A;
	font-size: .78rem;
	font-weight: 700;
	line-height: 1.7;
}
.kujo-profile .kujo-profile__name {
	margin: 0;
	padding: 0;
	border: none;
	background: none;
	font-family: 'Zen Maru Gothic', 'Noto Sans JP', sans-serif;
	font-size: 1.25rem;
	font-weight: 700;
	color: #14493A;
	line-height: 1.4;
	text-align: left;
}
.kujo-profile .kujo-profile__text { margin: 0; font-size: .97rem; line-height: 1.9; }
@media (max-width: 600px) {
	.wp-block-group.kujo-profile { grid-template-columns: minmax(0, 1fr); gap: 16px; justify-items: center; }
	.kujo-profile .kujo-profile__logo { width: 120px; height: 120px; border-radius: 12px; }
	.kujo-profile .kujo-profile__logo img { width: 96px; height: 96px; }
	.kujo-profile .kujo-profile__body { width: 100%; }
}

/* ============================================
   記事内グラフ [kujo_chart]（inc/chart.php）
   HTML/CSSだけで描く積み上げ棒グラフ。画像より軽く、数値がテキストとして残る。
   ============================================ */
.kujo-chart { margin: 1.6em 0 2em; padding: 18px 16px 12px; border: 1px solid #DCE7E2; border-radius: 10px; background: #fff; }
.kujo-chart__title { font-weight: 700; font-size: 1em; color: #1F2A26; margin: 0 0 .6em; text-align: left; }
.kujo-chart__unit { font-weight: 400; font-size: .8em; color: #6B7A74; margin-left: .4em; }
.kujo-chart__legend { display: flex; flex-wrap: wrap; gap: .3em 1.2em; list-style: none; margin: 0 0 .8em; padding: 0; font-size: .8em; color: #3C4A45; }
.kujo-chart__legend li { display: inline-flex; align-items: center; gap: .4em; margin: 0; padding: 0; }
.kujo-chart__legend li::before { content: none; }
.kujo-chart__legend i { width: 12px; height: 12px; border-radius: 3px; background: var(--c); flex: none; }
.kujo-chart__plot { position: relative; height: 260px; padding-left: 44px; padding-top: 14px; }
.kujo-chart__grid { position: absolute; left: 44px; right: 0; top: 14px; bottom: 26px; }
.kujo-chart__tick { position: absolute; left: 0; right: 0; bottom: var(--y); border-top: 1px solid #E6EEEA; }
.kujo-chart__tick:first-child { border-top-color: #B9CEC6; }
.kujo-chart__tick em { position: absolute; right: calc(100% + 8px); top: -.7em; font-style: normal; font-size: .72em; color: #7A8884; white-space: nowrap; font-variant-numeric: tabular-nums; }
.kujo-chart__bars { position: relative; display: flex; align-items: flex-end; gap: 6px; height: 100%; margin: 0; padding: 0 2px; list-style: none; box-sizing: border-box; }
.kujo-chart__col { position: relative; flex: 1 1 0; min-width: 0; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; margin: 0; padding: 0; }
.kujo-chart__col::before { content: none; }
.kujo-chart__stack { display: flex; flex-direction: column-reverse; gap: 2px; height: calc(100% - 26px); justify-content: flex-start; }
.kujo-chart__seg { display: block; height: var(--h); background: var(--c); border-radius: 2px 2px 0 0; min-height: 1px; transition: opacity .2s; }
.kujo-chart__stack .kujo-chart__seg:first-child { border-radius: 0; }
.kujo-chart__stack .kujo-chart__seg:last-child { border-radius: 4px 4px 0 0; }
.kujo-chart__col:hover .kujo-chart__seg { opacity: .85; }
.kujo-chart__total { position: absolute; left: 50%; bottom: calc(30px + (100% - 26px) * var(--y)); transform: translateX(-50%); font-size: .7em; color: #3C4A45; white-space: nowrap; font-variant-numeric: tabular-nums; line-height: 1; }
.kujo-chart__x { height: 26px; line-height: 26px; text-align: center; font-size: .72em; color: #5C6B66; white-space: nowrap; overflow: hidden; }
.kujo-chart__table { margin: .6em 0 0; font-size: .8em; }
.kujo-chart__table summary { cursor: pointer; color: #1E6B54; font-weight: 600; }
.kujo-chart__tableWrap { overflow-x: auto; margin-top: .5em; }
.kujo-chart__table table { border-collapse: collapse; width: auto; min-width: 100%; margin: 0; }
.kujo-chart__table th, .kujo-chart__table td { border: 1px solid #DCE7E2; padding: .35em .5em; text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.kujo-chart__table th { background: #F2F7F5; text-align: center; font-weight: 600; }
.kujo-chart__table tbody th { text-align: left; }
.kujo-chart__table tr.is-total td { font-weight: 700; }
.kujo-chart__note { margin: .8em 0 0; font-size: .78em; color: #5C6B66; }
.kujo-chart__source { margin: .3em 0 0; font-size: .74em; color: #7A8884; }
@media (max-width: 599px) {
	.kujo-chart { padding: 14px 10px 10px; }
	.kujo-chart__plot { height: 230px; padding-left: 36px; }
	.kujo-chart__grid { left: 36px; }
	.kujo-chart__tick em { font-size: .62em; right: calc(100% + 5px); }
	.kujo-chart__bars { gap: 3px; }
	.kujo-chart__x { font-size: .6em; }
	/* 棒が細くなるので合計値は縦書きにして重なりを防ぐ */
	.kujo-chart__total { font-size: .6em; writing-mode: vertical-rl; transform: translateX(-50%) rotate(180deg); transform-origin: center; bottom: calc(29px + (100% - 26px) * var(--y)); }
}

/* ============================================
   出典・注記の段落（段落ブロックの「追加CSSクラス」= kujo-source）
   本文より2段小さく、控えめな色。グラフや表の直下に置く「出典：…」に使う。
   ============================================ */
.post_content p.kujo-source { font-size: .75em !important; line-height: 1.6; color: #6B7A74; margin-top: .4em; } /* SWELL の has-xs-font-size が !important のため同じ強さで指定 */
.post_content p.kujo-source a { color: inherit; }
@media (max-width: 599px) {
	.post_content p.kujo-source { font-size: .7em !important; }
}

/* --- [kujo_chart] 初回表示アニメーション（js/kujo-chart.js が is-pending → is-visible を付ける） --- */
/* 遷移は is-visible になった後だけ（初期化時に一度 0 に縮む動きを見せない） */
.kujo-chart.is-visible .kujo-chart__seg { transition: height .9s cubic-bezier(.2, .75, .2, 1); transition-delay: calc(var(--i, 0) * 55ms); }
.kujo-chart.is-visible .kujo-chart__total { transition: opacity .45s ease; transition-delay: calc(var(--i, 0) * 55ms + .55s); }
.kujo-chart.is-pending .kujo-chart__seg { height: 0; min-height: 0; }
.kujo-chart.is-pending .kujo-chart__total { opacity: 0; }
@media (prefers-reduced-motion: reduce) {
	.kujo-chart__seg, .kujo-chart__total { transition: none; }
}

/* --- [kujo_chart] highlight="ラベル" で指定した列の強調 --- */
.kujo-chart__col.is-highlight .kujo-chart__total { font-weight: 700; color: #1E6B54; font-size: .78em; }
.kujo-chart__col.is-highlight .kujo-chart__x { font-weight: 700; color: #1E6B54; }
/* 1系列のときは他の棒を薄くして強調列を目立たせる（複数系列は色構成を保つためラベルの強調のみ） */
.kujo-chart.is-single.has-highlight .kujo-chart__col:not(.is-highlight) .kujo-chart__seg { opacity: .45; }
.kujo-chart.is-single.has-highlight .kujo-chart__col:not(.is-highlight):hover .kujo-chart__seg { opacity: .7; }
@media (max-width: 599px) {
	.kujo-chart__col.is-highlight .kujo-chart__total { font-size: .66em; }
}

/* ============================================
   縦長の差し込みイラスト（画像ブロックの「追加CSSクラス」= kujo-fig-portrait）
   スマホは本文幅いっぱい、PC（960px〜）は幅560pxに抑えて中央寄せ。拡大表示はそのまま使える。
   ============================================ */
@media (min-width: 960px) {
	.post_content .wp-block-image.kujo-fig-portrait { text-align: center; }
	.post_content .wp-block-image.kujo-fig-portrait img { max-width: 560px; width: 100%; height: auto; }
}

/* ============================================
   フッターコンテンツ（ブログパーツ ID 1060・C案「深緑＋検索帯」）
   上：検索帯（#1E6B54・橙の上罫線・[kujo_footer_search]）／下：深緑（#14493A）のリンク群。
   ウィジェット経由の描画では flex-wrap が出力されないため、必要な箇所は明示する。
   ============================================ */
/* --- 検索帯 --- */
.kujo-footer-band { background: #1E6B54 !important; border-top: 4px solid #F5842B; color: #fff; }
.kujo-footer-band .swell-block-columns__inner { align-items: center; }
.kujo-footer-band .kujo-footer-band__title { font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif; font-size: 1.5em; font-weight: 900; line-height: 1.4; color: #fff; margin: 0 0 .5em; }
.kujo-footer-band .kujo-footer-band__lead { font-size: .9em; line-height: 1.7; color: #D9E9E2; margin: 0; }
.kujo-fsearch { display: flex; align-items: center; gap: 10px; background: #fff; border-radius: 12px; padding: 10px; margin: 0 0 0 auto; max-width: 720px; }
/* PC：左（見出し＋リード）38%／右（検索フォーム）62% にして、獣種セレクトの文字が切れないようにする（2026-09-20） */
@media (min-width: 960px) {
	.kujo-footer-band .swell-block-columns__inner { flex-wrap: nowrap; }
	.kujo-footer-band .swell-block-columns__inner > .swell-block-column:first-child { flex: 0 0 36% !important; max-width: 36% !important; }
	.kujo-footer-band .swell-block-columns__inner > .swell-block-column:last-child { flex: 1 1 0% !important; max-width: none !important; min-width: 0; }
}
.kujo-fsearch__field { position: relative; flex: 1 1 auto; min-width: 0; display: flex; align-items: center; border: 1px solid #DCE7E2; border-radius: 8px; background: #fff; color: #26312D; margin: 0; }
.kujo-fsearch__icon { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: #1E6B54; display: inline-flex; pointer-events: none; }
.kujo-fsearch__select { width: 100%; appearance: none; -webkit-appearance: none; border: 0; background: transparent url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236E7A76' stroke-width='2.2' stroke-linecap='round'><path d='M6 9l6 6 6-6'/></svg>") no-repeat right 12px center; padding: 11px 32px 11px 38px; font-size: 14px; color: #26312D; line-height: 1.4; cursor: pointer; }
.kujo-fsearch__select:focus { outline: 2px solid #1E6B54; outline-offset: 1px; border-radius: 8px; }
.kujo-fsearch__btn { flex: none; display: inline-flex; align-items: center; gap: 8px; padding: 12px 20px; border: 0; border-radius: 8px; background: #F5842B; color: #fff; font-size: 15px; font-weight: 700; cursor: pointer; line-height: 1; }
.kujo-fsearch__btn:hover { background: #E0741F; }
/* --- 深緑のリンク群 --- */
.kujo-footer-dark { background: #14493A !important; color: #fff; }
.kujo-footer-dark .kujo-footer-logo { max-width: 230px; margin: 0 0 14px; }
.kujo-footer-dark .kujo-footer-logo img { width: 100%; height: auto; }
.kujo-footer-dark .kujo-footer-desc { color: #B9CEC6; line-height: 1.8; }
.kujo-footer-dark h4 { font-size: .9em; font-weight: 700; color: #7FD6B4; letter-spacing: .04em; margin: 0 0 .8em; padding: 0; border: 0; }
.kujo-footer-dark .swell-block-linkList { font-size: .92em; margin: 0; }
.kujo-footer-dark .swell-block-linkList li { margin-bottom: .35em; }
.kujo-footer-dark .swell-block-linkList__link { color: #D9E9E2; }
.kujo-footer-dark .swell-block-linkList__link:hover { color: #fff; }
.kujo-footer-dark .swell-block-linkList__link::before { color: #7FD6B4; }
.kujo-footer-dark .kujo-footer-note { color: #8FA69C; margin-top: .6em; }
.kujo-footer-dark .wp-block-separator { border-color: rgba(255,255,255,.14); margin: 1.6em 0 1em; }
.kujo-footer-dark .sublink { display: flex; flex-wrap: wrap; gap: 4px 28px; font-size: .85em; margin: 0; }
.kujo-footer-dark .sublink .swell-block-linkList__link { color: #B9CEC6; }
.kujo-footer-dark .sublink li { margin: 0; }
@media (max-width: 959px) {
	.kujo-footer-band .swell-block-columns__inner { flex-direction: column; align-items: stretch; }
	/* 縦積みのときは列を全幅にする（SWELL の flex-basis 50% が残り、検索フォームが半分の幅になっていた・2026-09-28）。
	   幅は 100% ではなく auto（＋stretch）にする。SWELL の列には左マージンがあり、100% だとその分だけ右にはみ出す・2026-10-04 */
	.kujo-footer-band .swell-block-columns__inner > .swell-block-column { flex: 0 0 auto !important; width: auto !important; max-width: none !important; }
	.kujo-fsearch { max-width: none; }
}
@media (max-width: 599px) {
	.kujo-footer-band .kujo-footer-band__title { font-size: 1.25em; }
	.kujo-fsearch { flex-direction: column; align-items: stretch; gap: 8px; }
	.kujo-fsearch__btn { justify-content: center; padding: 13px 20px; }
	.kujo-footer-dark .sublink { gap: 4px 18px; }
}
/* SWELL のリンクリストは hover 色に --the-color（既定＝メイン色の深緑）を使い、詳細度も高い（.swell-block-linkList.is-style-default … :hover）。
   濃い背景では文字が同化するため、詳細度を上げて白にし、アイコン色の変数も明るい緑にする */
.kujo-footer-dark .swell-block-linkList { --the-color: #7FD6B4; }
.kujo-footer-dark .swell-block-linkList.is-style-default .swell-block-linkList__link:hover,
.kujo-footer-dark .swell-block-linkList.is-style-default.-flex .swell-block-linkList__link:hover { color: #fff; text-decoration: underline; }
.kujo-footer-dark a:hover { color: #fff; }
.kujo-footer-band a:hover { color: #fff; }
/* 地域別リンク（リンクリストの追加CSSクラス kujo-footer-areas）：県が増えても縦に伸びないよう段組みにする（2026-09-28）。
   PC は地域の列を広げて3段、タブレットは2段、スマホは全幅で3段。並びは上から下→次の段（関東→中部→関西…の順が保たれる） */
.kujo-footer-dark .kujo-footer-areas { display: block; column-count: 2; column-gap: 18px; } /* SWELL のリンクリストは flex のため block に戻して段組みを効かせる */
.kujo-footer-dark .kujo-footer-areas li { break-inside: avoid; -webkit-column-break-inside: avoid; }
@media (min-width: 600px) { .kujo-footer-dark .kujo-footer-areas li { margin-bottom: 1.1em; } } /* 他の列（flex の gap あり）と行間をそろえる */
@media (min-width: 960px) {
	.kujo-footer-dark .swell-block-columns > .swell-block-columns__inner { flex-wrap: nowrap; }
	.kujo-footer-dark .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(1) { flex: 0 0 27% !important; max-width: 27% !important; }
	.kujo-footer-dark .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(2) { flex: 0 0 15% !important; max-width: 15% !important; }
	.kujo-footer-dark .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(3) { flex: 1 1 0% !important; max-width: none !important; min-width: 0; }
	.kujo-footer-dark .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(4) { flex: 0 0 21% !important; max-width: 21% !important; }
	.kujo-footer-dark .kujo-footer-areas { column-count: 3; column-gap: 20px; }
}
/* スマホ：下段は1列に積み、リストの中を段組みにして横幅を使う（獣種別＝3段、地域別＝3段、基礎知識＝2段） */
@media (max-width: 599px) {
	.kujo-footer-dark .swell-block-columns > .swell-block-columns__inner { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px 16px; margin: 0; }
	.kujo-footer-dark .swell-block-columns > .swell-block-columns__inner > .swell-block-column { width: auto; max-width: none; flex: none; margin: 0 !important; padding: 0; min-width: 0; }
	.kujo-footer-dark .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(2) .swell-block-linkList { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 12px; }
	.kujo-footer-dark .swell-block-columns > .swell-block-columns__inner > .swell-block-column:nth-child(4) .swell-block-linkList { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
	.kujo-footer-dark .kujo-footer-areas { column-count: 3; column-gap: 12px; }
	.kujo-footer-dark .swell-block-linkList { font-size: .9em; }
	.kujo-footer-dark .swell-block-linkList li { margin-bottom: .2em; }
	.kujo-footer-dark .kujo-footer-desc { font-size: .84em; }
	.kujo-footer-dark .kujo-footer-note { margin-top: .3em; }
	.kujo-footer-dark .wp-block-separator { margin: 1.2em 0 .8em; }
}

/* ============================================
   TOP「地域別 おすすめの害獣・害虫駆除業者」サイトマップ風リスト（グループ .kujo-area-map）
   都道府県ごとの枠に、見出し（一覧へのリンク）＋獣種のテキストリンク。県が増えたら枠を1つ足すだけ。
   ============================================ */
/* グループの直下は WP の内部コンテナ（.wp-block-group__inner-container）なので、そちらをグリッドにする */
.post_content .kujo-area-map { margin: 1.2em 0 1em; }
.post_content .kujo-area-map > .wp-block-group__inner-container { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.post_content .kujo-area-map > .wp-block-group__inner-container > * { margin: 0; }
.post_content .kujo-area-map__pref { margin: 0; padding: 16px 18px 14px; border: 1px solid #DCE7E2; border-radius: 10px; background: #fff; }
.post_content .kujo-area-map__title { font-size: 1.05em; margin: 0 0 .6em; padding: 0 0 .5em; border: 0; border-bottom: 2px solid #1E6B54; background: none; line-height: 1.4; }
.post_content .kujo-area-map__title::before, .post_content .kujo-area-map__title::after { content: none; }
.post_content .kujo-area-map__title a { color: #1E6B54; text-decoration: none; display: inline-flex; align-items: center; gap: .4em; }
.post_content .kujo-area-map__title a::before { content: ""; display: inline-block; flex: none; width: 1em; height: 1em; background: currentColor; -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 21s7-6 7-11a7 7 0 0 0-14 0c0 5 7 11 7 11z'/><circle cx='12' cy='10' r='2.5'/></svg>") center / contain no-repeat; mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 21s7-6 7-11a7 7 0 0 0-14 0c0 5 7 11 7 11z'/><circle cx='12' cy='10' r='2.5'/></svg>") center / contain no-repeat; }
.post_content .kujo-area-map__title a:hover { text-decoration: underline; }
.post_content ul.kujo-area-map__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 10px; font-size: .95em; }
.post_content ul.kujo-area-map__list li { margin: 0; padding: 0 0 0 1.1em; position: relative; line-height: 1.7; }
.post_content ul.kujo-area-map__list li::before { content: ""; position: absolute; left: 0; top: .55em; width: .45em; height: .45em; border-right: 2px solid #7FB8A0; border-bottom: 2px solid #7FB8A0; transform: rotate(-45deg); }
.post_content ul.kujo-area-map__list a { color: #26312D; text-decoration: none; }
.post_content ul.kujo-area-map__list a:hover { color: #1E6B54; text-decoration: underline; }
.post_content .kujo-area-map__note { color: #5C6B66; }
@media (max-width: 959px) { .post_content .kujo-area-map > .wp-block-group__inner-container { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 599px) {
	.post_content .kujo-area-map > .wp-block-group__inner-container { grid-template-columns: 1fr; gap: 12px; }
	.post_content .kujo-area-map__pref { padding: 14px 14px 12px; }
	.post_content ul.kujo-area-map__list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2px 8px; font-size: .9em; }
}

/* ============================================
   TOP 地域×獣種マトリクス（標準テーブルブロック＋追加CSSクラス kujo-matrix）
   列＝地方｜都道府県｜獣種6。マスの「✓」リンクが記事、「—」は準備中。獣種アイコンは列見出しの背景。
   スマホは表を畳み、県ごとのカードに獣種チップを並べる（横スクロールにしない）。
   ============================================ */
.post_content .kujo-matrix { margin: 1.2em 0 .8em; }
.post_content .kujo-matrix table { width: 100%; border-collapse: separate; border-spacing: 0; border: 1px solid #DCE7E2; border-radius: 12px; overflow: hidden; font-size: .95em; }
.post_content .kujo-matrix th, .post_content .kujo-matrix td { border: 0; border-bottom: 1px solid #E1EAE6; border-right: 1px solid #E1EAE6; padding: 10px 6px; text-align: center; vertical-align: middle; background: #fff; }
.post_content .kujo-matrix tr > :last-child { border-right: 0; }
.post_content .kujo-matrix tbody tr:last-child > * { border-bottom: 0; }
.post_content .kujo-matrix thead th { background: #EAF4F0; color: #1E6B54; font-size: .85em; font-weight: 700; padding: 8px 4px 10px; border-bottom-color: #DCE7E2; }
.post_content .kujo-matrix thead th:nth-child(n+3)::before { content: ""; display: block; width: 40px; height: 40px; margin: 0 auto 4px; background: center / contain no-repeat; }
.post_content .kujo-matrix thead th:nth-child(3)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E %3Ccircle cx='100' cy='100' r='90' fill='%23EAF4F0'/%3E  %3Cpath d='M148 128 q34 6 30 -32 q-2 -16 -14 -20' fill='none' stroke='%236E6257' stroke-width='13' stroke-linecap='round'/%3E  %3Cellipse cx='108' cy='128' rx='46' ry='32' fill='%238A7D6F'/%3E  %3Ccircle cx='76' cy='86' r='30' fill='%238A7D6F'/%3E  %3Ccircle cx='56' cy='64' r='10' fill='%236E6257'/%3E %3Ccircle cx='96' cy='64' r='10' fill='%236E6257'/%3E  %3Cpath d='M52 82 a26 26 0 0 1 20 -22 q4 10 0 22 q-10 6 -20 0z' fill='%234A4139'/%3E %3Cpath d='M100 82 a26 26 0 0 0 -20 -22 q-4 10 0 22 q10 6 20 0z' fill='%234A4139'/%3E  %3Crect x='70' y='58' width='12' height='44' rx='6' fill='%23F4EFE7'/%3E  %3Ccircle cx='62' cy='88' r='4.5' fill='%2326312D'/%3E %3Ccircle cx='90' cy='88' r='4.5' fill='%2326312D'/%3E  %3Cellipse cx='76' cy='104' rx='6' ry='4.5' fill='%2326312D'/%3E  %3Crect x='86' y='148' width='11' height='16' rx='5.5' fill='%236E6257'/%3E %3Crect x='122' y='148' width='11' height='16' rx='5.5' fill='%236E6257'/%3E %3C/svg%3E "); }
.post_content .kujo-matrix thead th:nth-child(4)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E %3Ccircle cx='100' cy='100' r='90' fill='%23EAF4F0'/%3E  %3Cpath d='M150 130 q30 4 26 -26 q-2 -12 -12 -14' fill='none' stroke='%23B98F80' stroke-width='8' stroke-linecap='round'/%3E  %3Cpath d='M50 138 q4 -44 54 -44 q46 0 50 44 q-2 12 -18 12 l-70 0 q-14 -2 -16 -12z' fill='%239AA0A6'/%3E  %3Ccircle cx='62' cy='78' r='17' fill='%239AA0A6'/%3E %3Ccircle cx='62' cy='78' r='9' fill='%23E8C9C0'/%3E %3Ccircle cx='102' cy='70' r='17' fill='%239AA0A6'/%3E %3Ccircle cx='102' cy='70' r='9' fill='%23E8C9C0'/%3E  %3Cpath d='M46 118 q4 -28 36 -30 q26 -2 34 22 q2 10 -8 12z' fill='%23AEB4BA'/%3E  %3Ccircle cx='74' cy='104' r='4.5' fill='%2326312D'/%3E  %3Ccircle cx='49' cy='117' r='4.5' fill='%23E08A8A'/%3E  %3Cpath d='M46 112 l-14 -5 M46 118 l-15 0 M46 124 l-14 5' stroke='%236E7A74' stroke-width='2' stroke-linecap='round' fill='none'/%3E  %3Crect x='74' y='146' width='10' height='12' rx='5' fill='%23B98F80'/%3E %3Crect x='112' y='146' width='10' height='12' rx='5' fill='%23B98F80'/%3E %3C/svg%3E "); }
.post_content .kujo-matrix thead th:nth-child(5)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E %3Ccircle cx='100' cy='100' r='90' fill='%23EAF4F0'/%3E  %3Cpath d='M152 120 q26 -4 24 -30' fill='none' stroke='%23A5642E' stroke-width='14' stroke-linecap='round'/%3E  %3Cpath d='M40 118 q10 -26 40 -24 q26 2 44 14 q20 12 28 14 q8 4 6 12 q-2 8 -12 8 l-88 0 q-16 0 -18 -12 q-2 -8 0 -12z' fill='%23B5773A'/%3E  %3Cpath d='M58 142 q40 -10 88 0 l0 0 q-44 8 -88 0z' fill='%23EAD9B8'/%3E  %3Ccircle cx='52' cy='92' r='22' fill='%23B5773A'/%3E  %3Cpath d='M34 96 q8 -8 20 -6 l0 10 q-12 4 -20 -4z' fill='%23EAD9B8'/%3E  %3Ccircle cx='42' cy='72' r='7' fill='%238A4E20'/%3E %3Ccircle cx='66' cy='72' r='7' fill='%238A4E20'/%3E  %3Ccircle cx='50' cy='90' r='4' fill='%2326312D'/%3E %3Ccircle cx='34' cy='98' r='3.5' fill='%2326312D'/%3E  %3Crect x='66' y='146' width='9' height='14' rx='4.5' fill='%238A4E20'/%3E %3Crect x='94' y='146' width='9' height='14' rx='4.5' fill='%238A4E20'/%3E %3Crect x='122' y='146' width='9' height='14' rx='4.5' fill='%238A4E20'/%3E %3C/svg%3E "); }
.post_content .kujo-matrix thead th:nth-child(6)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E %3Ccircle cx='100' cy='100' r='90' fill='%23EAF4F0'/%3E  %3Cg stroke-linecap='round'%3E %3Cpath d='M146 126 q34 2 32 -34' fill='none' stroke='%237C7369' stroke-width='15'/%3E %3Cpath d='M162 124 l6 -10 M172 112 l4 -12 M176 96 l0 -12' stroke='%234A4139' stroke-width='15' fill='none'/%3E %3C/g%3E  %3Cellipse cx='104' cy='130' rx='46' ry='30' fill='%238C8377'/%3E  %3Cpath d='M46 92 q0 -26 30 -26 q30 0 30 26 q0 24 -30 24 q-30 0 -30 -24z' fill='%239C948A'/%3E  %3Cpath d='M50 72 l6 -16 l12 10z' fill='%237C7369'/%3E %3Cpath d='M102 72 l-6 -16 l-12 10z' fill='%237C7369'/%3E  %3Cpath d='M50 96 q26 14 52 0 q-4 18 -26 18 q-22 0 -26 -18z' fill='%23EFEAE2'/%3E  %3Cpath d='M50 86 q10 -8 20 -2 q4 8 -2 12 q-12 2 -18 -10z' fill='%233B342D'/%3E %3Cpath d='M102 86 q-10 -8 -20 -2 q-4 8 2 12 q12 2 18 -10z' fill='%233B342D'/%3E  %3Ccircle cx='64' cy='90' r='3.6' fill='%23FFFFFF'/%3E %3Ccircle cx='88' cy='90' r='3.6' fill='%23FFFFFF'/%3E  %3Cellipse cx='76' cy='104' rx='5.5' ry='4.5' fill='%2326312D'/%3E  %3Crect x='84' y='150' width='11' height='14' rx='5.5' fill='%234A4139'/%3E %3Crect x='118' y='150' width='11' height='14' rx='5.5' fill='%234A4139'/%3E %3C/svg%3E "); }
.post_content .kujo-matrix thead th:nth-child(7)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E %3Ccircle cx='100' cy='100' r='90' fill='%23EAF4F0'/%3E  %3Cpath d='M100 96 q-14 -34 -62 -28 q10 10 8 24 q14 -6 20 6 q12 -6 20 4 q8 -4 14 -6z' fill='%235B5566'/%3E %3Cpath d='M100 96 q14 -34 62 -28 q-10 10 -8 24 q-14 -6 -20 6 q-12 -6 -20 4 q-8 -4 -14 -6z' fill='%235B5566'/%3E  %3Cellipse cx='100' cy='112' rx='22' ry='26' fill='%236E6880'/%3E  %3Cpath d='M86 92 l2 -16 l12 10z' fill='%235B5566'/%3E %3Cpath d='M114 92 l-2 -16 l-12 10z' fill='%235B5566'/%3E  %3Ccircle cx='93' cy='106' r='4' fill='%2326312D'/%3E %3Ccircle cx='107' cy='106' r='4' fill='%2326312D'/%3E %3Cellipse cx='100' cy='116' rx='4.5' ry='3.5' fill='%2326312D'/%3E  %3Cpath d='M78 128 q6 10 14 4 q6 8 16 0 q8 8 14 -4' fill='none' stroke='%235B5566' stroke-width='6' stroke-linecap='round'/%3E %3C/svg%3E "); }
.post_content .kujo-matrix thead th:nth-child(8)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E %3Ccircle cx='100' cy='100' r='90' fill='%23EAF4F0'/%3E  %3Cpath d='M140 128 l28 14 l-6 -20 l14 -6 l-24 -10z' fill='%237A8593'/%3E  %3Cpath d='M52 110 q6 -30 44 -30 q40 0 52 28 q6 20 -14 30 q-30 14 -60 2 q-24 -10 -22 -30z' fill='%239AA5B1'/%3E  %3Cpath d='M84 100 q34 -10 54 12 q-16 22 -44 14 q-18 -6 -10 -26z' fill='%237A8593'/%3E  %3Ccircle cx='62' cy='82' r='17' fill='%239AA5B1'/%3E %3Cpath d='M52 94 q12 8 22 2 l-2 12 q-10 4 -18 -2z' fill='%235D8B6F'/%3E  %3Ccircle cx='58' cy='80' r='3.8' fill='%2326312D'/%3E %3Ccircle cx='58' cy='80' r='1.2' fill='%23F4A93C'/%3E  %3Cpath d='M45 84 l-10 3 l10 5z' fill='%23F4A93C'/%3E  %3Cpath d='M92 142 l0 14 m-6 0 l12 0 M116 142 l0 14 m-6 0 l12 0' stroke='%23C4534B' stroke-width='4' stroke-linecap='round' fill='none'/%3E %3C/svg%3E "); }
.post_content .kujo-matrix th:nth-child(1), .post_content .kujo-matrix td:nth-child(1) { width: 3.2em; }
.post_content .kujo-matrix th:nth-child(2), .post_content .kujo-matrix td:nth-child(2) { width: 7.5em; }
.post_content .kujo-matrix td:nth-child(1) { font-size: .78em; font-weight: 700; letter-spacing: .08em; color: #6E7A76; }
.post_content .kujo-matrix td:nth-child(2) { background: #F4F9F7; text-align: left; padding-left: 14px; font-weight: 700; white-space: nowrap; }
.post_content .kujo-matrix td:nth-child(2) a { color: #1E6B54; text-decoration: none; }
.post_content .kujo-matrix td:nth-child(2) a:hover { text-decoration: underline; }
.post_content .kujo-matrix td:nth-child(n+3) { color: #C9D9D2; }
.post_content .kujo-matrix td:nth-child(n+3) a { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: #1E6B54; color: #fff; text-decoration: none; font-weight: 700; line-height: 1; transition: background .2s; }
.post_content .kujo-matrix td:nth-child(n+3) a:hover { background: #14493A; }
@media (max-width: 599px) {
	.post_content .kujo-matrix table, .post_content .kujo-matrix tbody, .post_content .kujo-matrix tr, .post_content .kujo-matrix td { display: block; }
	.post_content .kujo-matrix thead { display: none; }
	.post_content .kujo-matrix table { border: 0; border-radius: 0; overflow: visible; }
	.post_content .kujo-matrix tbody tr { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; padding: 12px 12px 12px; margin-bottom: 10px; border: 1px solid #DCE7E2; border-radius: 10px; background: #fff; }
	.post_content .kujo-matrix td { border: 0; padding: 0; background: transparent; text-align: left; width: auto !important; }
	.post_content .kujo-matrix td:nth-child(1) { width: 100% !important; font-size: .7em; margin: 0; }
	.post_content .kujo-matrix td:nth-child(1):empty { display: none; }
	.post_content .kujo-matrix td:nth-child(2) { width: 100% !important; padding: 0 0 4px; font-size: 1.05em; background: transparent; }
	.post_content .kujo-matrix td:nth-child(n+3) a { width: auto; height: auto; border-radius: 999px; padding: 5px 11px; font-size: .85em; font-weight: 500; }
	.post_content .kujo-matrix td:nth-child(n+3) a::before { content: attr(data-pest); }
	/* 「✓」の代わりに獣種名を出す（列見出しが消えるため） */
	.post_content .kujo-matrix td:nth-child(3) a { font-size: 0; }
	.post_content .kujo-matrix td:nth-child(3) a::before { content: "ハクビシン"; font-size: 13px; }
	.post_content .kujo-matrix td:nth-child(4) a { font-size: 0; }
	.post_content .kujo-matrix td:nth-child(4) a::before { content: "ネズミ"; font-size: 13px; }
	.post_content .kujo-matrix td:nth-child(5) a { font-size: 0; }
	.post_content .kujo-matrix td:nth-child(5) a::before { content: "イタチ"; font-size: 13px; }
	.post_content .kujo-matrix td:nth-child(6) a { font-size: 0; }
	.post_content .kujo-matrix td:nth-child(6) a::before { content: "アライグマ"; font-size: 13px; }
	.post_content .kujo-matrix td:nth-child(7) a { font-size: 0; }
	.post_content .kujo-matrix td:nth-child(7) a::before { content: "コウモリ"; font-size: 13px; }
	.post_content .kujo-matrix td:nth-child(8) a { font-size: 0; }
	.post_content .kujo-matrix td:nth-child(8) a::before { content: "ハト"; font-size: 13px; }
	.post_content .kujo-matrix td:nth-child(n+3):not(:has(a)) { display: none; }
}
/* マウスオーバーで行と列を強調（2026-09-28）：いま指しているマスの「県の行」と「獣種の列」を薄い緑で示し、
   交点のマスと見出し（県名・獣種名）を一段濃くする。CSS だけで実装（列は :has() で判定）。
   表形式で表示する600px以上、かつマウスなど hover できる端末のみ */
@media (min-width: 600px) and (hover: hover) {
	.post_content .kujo-matrix th, .post_content .kujo-matrix td { transition: background-color .15s; }
	.post_content .kujo-matrix tbody tr:hover > td { background: #F1F8F5; }
	.post_content .kujo-matrix tbody tr:hover > td:nth-child(2) { background: #DCEDE6; }
	.post_content .kujo-matrix table:has(tbody td:nth-child(3):hover) tbody td:nth-child(3) { background: #F1F8F5; }
	.post_content .kujo-matrix table:has(tbody td:nth-child(3):hover) thead th:nth-child(3) { background: #D3E9E0; }
	.post_content .kujo-matrix table:has(tbody td:nth-child(4):hover) tbody td:nth-child(4) { background: #F1F8F5; }
	.post_content .kujo-matrix table:has(tbody td:nth-child(4):hover) thead th:nth-child(4) { background: #D3E9E0; }
	.post_content .kujo-matrix table:has(tbody td:nth-child(5):hover) tbody td:nth-child(5) { background: #F1F8F5; }
	.post_content .kujo-matrix table:has(tbody td:nth-child(5):hover) thead th:nth-child(5) { background: #D3E9E0; }
	.post_content .kujo-matrix table:has(tbody td:nth-child(6):hover) tbody td:nth-child(6) { background: #F1F8F5; }
	.post_content .kujo-matrix table:has(tbody td:nth-child(6):hover) thead th:nth-child(6) { background: #D3E9E0; }
	.post_content .kujo-matrix table:has(tbody td:nth-child(7):hover) tbody td:nth-child(7) { background: #F1F8F5; }
	.post_content .kujo-matrix table:has(tbody td:nth-child(7):hover) thead th:nth-child(7) { background: #D3E9E0; }
	.post_content .kujo-matrix table:has(tbody td:nth-child(8):hover) tbody td:nth-child(8) { background: #F1F8F5; }
	.post_content .kujo-matrix table:has(tbody td:nth-child(8):hover) thead th:nth-child(8) { background: #D3E9E0; }
	.post_content .kujo-matrix tbody td:nth-child(n+3):hover { background: #DCEDE6 !important; }
	.post_content .kujo-matrix td:nth-child(n+3) a { transition: background .2s, transform .15s, box-shadow .15s; }
	.post_content .kujo-matrix td:nth-child(n+3):hover a { background: #14493A; transform: scale(1.12); box-shadow: 0 0 0 4px rgba(30, 107, 84, .18); }
}
/* 列幅：子テーマの汎用ルール（.wp-block-table:not(.compare-table) … thead th:first-child { width: 11.5em }）と
   SWELL の --swl-cell1-width に負けないよう、詳細度を上げて指定する */
.post_content .wp-block-table.kujo-matrix { --swl-cell1-width: 3.2em; }
.post_content .wp-block-table.kujo-matrix table.has-fixed-layout thead th:first-child,
.post_content .wp-block-table.kujo-matrix table.has-fixed-layout tbody td:first-child { width: 3.2em; min-width: 0; max-width: none; }
.post_content .wp-block-table.kujo-matrix table.has-fixed-layout thead th:nth-child(2),
.post_content .wp-block-table.kujo-matrix table.has-fixed-layout tbody td:nth-child(2) { width: 7.5em; }
@media (max-width: 599px) {
	.post_content .wp-block-table.kujo-matrix table.has-fixed-layout tbody td:first-child,
	.post_content .wp-block-table.kujo-matrix table.has-fixed-layout tbody td:nth-child(2) { width: 100%; max-width: none; }
}

/* ===== 全ページ：白背景に害獣の足跡のシームレスパターン（かなり薄く。濃さは SVG 側の opacity で調整）
   2026-10-11 本人指示で TOP だけ（#body_wrap.home）から全ページに ===== */
#body_wrap { background-image: url(../img/pattern-footprints.svg); background-size: 360px 360px; background-repeat: repeat; }
@media (max-width: 599px) {
	#body_wrap { background-size: 260px 260px; }
}

/* ===== スマホメニュー：地方名を左・都道府県を横並びのボタンにして、縦スクロールを抑える =====
   メニュー項目は管理画面「外観 > メニュー」のまま（子項目を足せばボタンが増える）。見た目だけ CSS で変えている */
.p-spMenu .c-spnav > .menu-item-has-children { display: grid; grid-template-columns: 74px 1fr; align-items: start; column-gap: 8px; padding: 7px 0; border-bottom: 1px solid var(--color_border); }
.p-spMenu .c-spnav > .menu-item-has-children > a { border: 0; padding: 8px 0; font-size: 12px; font-weight: 700; line-height: 1.5; letter-spacing: 0; color: #1E6B54; }   /* 字間0＝「獣種別ガイド」が1行に収まる */
.p-spMenu .c-spnav > .menu-item-has-children > a::before,
.p-spMenu .c-spnav .sub-menu a::before,
.p-spMenu .c-spnav > .kujo-nav-search > a::before { content: none; }
.p-spMenu .c-spnav .sub-menu { display: flex; flex-wrap: wrap; gap: 6px; }
.p-spMenu .c-spnav .sub-menu a { border: 1px solid #C9DDD5; border-radius: 999px; background: #fff; padding: 7px 8px; font-size: 13px; line-height: 1.5; }
.p-spMenu .c-spnav > .kujo-nav-search > a { margin-top: 12px; border: 0; border-radius: 999px; background: #F5842B; color: #fff; font-weight: 700; text-align: center; padding: 11px 12px; }
/* 3段目（おすすめ駆除業者 ＞ 地方 ＞ 都府県・2026-10-25）：地方名は札にせず小見出しにし、その下に都府県の札を並べる */
.p-spMenu .c-spnav .sub-menu > .menu-item-has-children { flex-basis: 100%; }
.p-spMenu .c-spnav .sub-menu > .menu-item-has-children > a { border: 0; border-radius: 0; background: none; padding: 6px 0 2px; font-size: 12px; font-weight: 700; color: #14493A; }
.p-spMenu .c-spnav .sub-menu .sub-menu { margin-top: 4px; }

/* スマホメニューの下：運営者情報・プライバシーポリシー・お問い合わせ（ブログパーツ 390 のリストブロック kujo-spmenu-links） */
.p-spMenu .kujo-spmenu-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 2px 16px; margin: 14px 0 0; padding: 0; list-style: none; font-size: 12px; }
.p-spMenu .kujo-spmenu-links li { margin: 0; padding: 0; }
.p-spMenu .kujo-spmenu-links li::before { content: none; }
.p-spMenu .kujo-spmenu-links a { display: block; padding: 8px 0; color: #555; text-decoration: underline; text-underline-offset: 2px; }

/* PC ヘッダーのナビ：項目が8つになったので、画面幅 960〜1099px では間隔と文字を少し詰める（右端の「駆除業者検索」が切れないように・2026-10-04） */
@media (min-width: 960px) and (max-width: 1099px) {
	.l-header .c-gnav > .menu-item > a { padding-left: 6px; padding-right: 6px; }
	.l-header .c-gnav > .menu-item > a .ttl { font-size: 13px; }
}
