/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/

/* =========================================================
   BallSpotMAP 個別ページ専用CSS 初版 v1
   対象: single-spot.php（.bs-spot-single）
   ========================================================= */

/* -----------------------------
   1. 調整しやすい基本値
----------------------------- */
.bs-spot-single {
	--bs-max-width: 980px;
	--bs-bg: #f5f7fb;
	--bs-card-bg: #ffffff;
	--bs-border: #dbe3ee;
	--bs-border-strong: #cfd8e6;
	--bs-text: #243447;
	--bs-subtext: #607086;
	--bs-heading: #14547C;
	--bs-link: #14547C;
	--bs-star: #f5b301;
	--bs-star-empty: #c9d0dd;
	--bs-shadow: 0 8px 24px rgba(20, 84, 124, 0.06);
	--bs-radius: 16px;
	--bs-radius-sm: 10px;
	--bs-space-1: 8px;
	--bs-space-2: 12px;
	--bs-space-3: 16px;
	--bs-space-4: 20px;
	--bs-space-5: 28px;
	--bs-space-6: 40px;
	--bs-title-size: 2rem;
	--bs-subtitle-size: 1rem;
	--bs-h2-size: 1.45rem;
	--bs-body-size: 1rem;
	--bs-line: 1.8;
	--bs-rating-icon-size: 28px;
	--bs-rating-star-size: 1.05rem;
	--bs-spec-th-width: 34%;
}

/* -----------------------------
   2. ページ全体
----------------------------- */
.bs-spot-single {
	background: var(--bs-bg);
	color: var(--bs-text);
	padding: var(--bs-space-5) 0 var(--bs-space-6);
}

.bs-spot-single .bs-spot-wrap {
	max-width: var(--bs-max-width);
	margin: 0 auto;
	padding: 0 var(--bs-space-4);
	box-sizing: border-box;
}

.bs-spot-single p,
.bs-spot-single li,
.bs-spot-single td,
.bs-spot-single th {
	font-size: var(--bs-body-size);
	line-height: var(--bs-line);
}

.bs-spot-single a {
	color: var(--bs-link);
	text-decoration: none;
}

.bs-spot-single a:hover {
	text-decoration: underline;
}

/* -----------------------------
   3. 共通セクション
----------------------------- */
.bs-spot-single .bs-spot-section,
.bs-spot-single .bs-spot-toc,
.bs-spot-single .bs-spot-ball-tools,
.bs-spot-single .bs-spot-survey-meta,
.bs-spot-single .bs-spot-bottom-links,
.bs-spot-single .bs-spot-bottom-search {
	background: var(--bs-card-bg);
	border: 1px solid var(--bs-border);
	border-radius: var(--bs-radius);
	box-shadow: var(--bs-shadow);
	padding: var(--bs-space-5);
	margin-top: var(--bs-space-5);
}

.bs-spot-single .bs-spot-section h2,
.bs-spot-single .bs-spot-toc h2,
.bs-spot-single .bs-spot-ball-tools h2,
.bs-spot-single .bs-spot-bottom-search h2 {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--bs-space-3);
	margin: 0 0 var(--bs-space-4);
	font-size: var(--bs-h2-size);
	line-height: 1.4;
	color: var(--bs-heading);
	border-left: 5px solid var(--bs-heading);
	padding-left: 12px;
}

.bs-spot-single .bs-back-to-toc {
	font-size: 0.92rem;
	font-weight: 600;
	color: var(--bs-subtext);
	text-decoration: none;
	white-space: nowrap;
}

.bs-spot-single .bs-back-to-toc:hover {
	color: var(--bs-heading);
	text-decoration: none;
}

/* -----------------------------
   4. ヘッダー
----------------------------- */
.bs-spot-single .bs-spot-header {
	margin-bottom: var(--bs-space-5);
}

.bs-spot-single .bs-spot-park-name {
	margin: 0 0 var(--bs-space-2);
	font-size: var(--bs-title-size);
	line-height: 1.3;
	color: var(--bs-text);
	font-weight: 700;
}

.bs-spot-single .bs-spot-area-name {
	margin: 0 0 var(--bs-space-4);
	color: var(--bs-subtext);
	font-size: var(--bs-subtitle-size);
	font-weight: 600;
}

.bs-spot-single .bs-spot-main-image {
	background: var(--bs-card-bg);
	border: 1px solid var(--bs-border);
	border-radius: var(--bs-radius);
	box-shadow: var(--bs-shadow);
	overflow: hidden;
}

.bs-spot-single .bs-spot-main-image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

/* -----------------------------
   5. 使用可能なボール・用具
----------------------------- */
.bs-spot-single .bs-info-icon {
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--bs-subtext);
}

.bs-spot-single .bs-ball-tools-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--bs-space-3);
}

.bs-spot-single .bs-ball-tools-item {
	border: 1px solid var(--bs-border);
	border-radius: var(--bs-radius-sm);
	background: #fbfcfe;
	padding: 14px 16px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--bs-space-3);
	min-height: 64px;
	box-sizing: border-box;
}

.bs-spot-single .bs-ball-tools-label {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	flex: 1 1 auto;
}

.bs-spot-single .bs-ball-tools-icon {
	width: var(--bs-rating-icon-size);
	text-align: center;
	font-size: 1.2rem;
	line-height: 1;
	flex: 0 0 var(--bs-rating-icon-size);
}

.bs-spot-single .bs-ball-tools-label span:last-child {
	font-size: 0.98rem;
	font-weight: 600;
	color: var(--bs-text);
	line-height: 1.4;
	word-break: keep-all;
}

.bs-spot-single .bs-ball-tools-stars {
	flex: 0 0 auto;
	white-space: nowrap;
}

.bs-spot-single .bs-star {
	font-size: var(--bs-rating-star-size);
	line-height: 1;
}

.bs-spot-single .bs-star-full {
	color: var(--bs-star);
}

.bs-spot-single .bs-star-half {
	color: var(--bs-star);
	opacity: 0.6;
}

.bs-spot-single .bs-star-empty {
	color: var(--bs-star-empty);
}

/* -----------------------------
   6. 目次
----------------------------- */
.bs-spot-single .bs-spot-toc ul {
	margin: 0;
	padding-left: 1.2em;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px 24px;
}

.bs-spot-single .bs-spot-toc li {
	margin: 0;
}

.bs-spot-single .bs-spot-toc a {
	font-weight: 600;
}

/* -----------------------------
   7. 本文
----------------------------- */
.bs-spot-single .bs-spot-section p {
	margin: 0;
	color: var(--bs-text);
}

.bs-spot-single .bs-spot-section p + p {
	margin-top: var(--bs-space-3);
}

/* -----------------------------
   8. ギャラリー / 動画
----------------------------- */
.bs-spot-single .bs-spot-gallery {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--bs-space-3);
}

.bs-spot-single .bs-spot-gallery-item {
	border-radius: var(--bs-radius-sm);
	overflow: hidden;
	border: 1px solid var(--bs-border);
	background: #fff;
}

.bs-spot-single .bs-spot-gallery-item img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.bs-spot-single .bs-spot-video {
	margin-top: var(--bs-space-4);
}

.bs-spot-single .bs-spot-video iframe,
.bs-spot-single .bs-spot-video video {
	width: 100%;
	max-width: 100%;
	border: 0;
	border-radius: var(--bs-radius-sm);
}

/* -----------------------------
   9. 基本スペック表
----------------------------- */
.bs-spot-single .bs-spec-table {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid var(--bs-border);
	border-radius: var(--bs-radius-sm);
	overflow: hidden;
	background: #fff;
}

.bs-spot-single .bs-spec-table tbody tr:not(:last-child) th,
.bs-spot-single .bs-spec-table tbody tr:not(:last-child) td {
	border-bottom: 1px solid var(--bs-border);
}

.bs-spot-single .bs-spec-table th,
.bs-spot-single .bs-spec-table td {
	padding: 14px 16px;
	vertical-align: top;
}

.bs-spot-single .bs-spec-table th {
	width: var(--bs-spec-th-width);
	background: #f7f9fc;
	color: var(--bs-subtext);
	font-weight: 700;
	text-align: left;
	border-right: 1px solid var(--bs-border);
}

.bs-spot-single .bs-spec-table td {
	color: var(--bs-text);
	background: #fff;
}

/* -----------------------------
   10. 設備リスト
----------------------------- */
.bs-spot-single .bs-list {
	margin: 0;
	padding-left: 1.2em;
}

.bs-spot-single .bs-list li + li {
	margin-top: 8px;
}

/* -----------------------------
   11. アクセス
----------------------------- */
.bs-spot-single .bs-map-wrap {
	margin-top: var(--bs-space-4);
	border: 1px solid var(--bs-border);
	border-radius: var(--bs-radius-sm);
	overflow: hidden;
	background: #fff;
}

.bs-spot-single .bs-map-wrap iframe {
	display: block;
	width: 100%;
	height: 340px;
}

.bs-spot-single #access p + p {
	margin-top: 10px;
}

/* -----------------------------
   12. 調査条件表示
----------------------------- */
.bs-spot-single .bs-spot-survey-meta {
	padding-top: 18px;
	padding-bottom: 18px;
}

.bs-spot-single .bs-spot-survey-meta p {
	margin: 0;
	color: var(--bs-subtext);
	font-size: 0.95rem;
}

/* -----------------------------
   13. 下部導線
----------------------------- */
.bs-spot-single .bs-spot-bottom-links ul {
	margin: 0;
	padding-left: 1.2em;
}

.bs-spot-single .bs-spot-bottom-links li + li {
	margin-top: 10px;
}

.bs-spot-single .bs-spot-bottom-links a {
	font-weight: 700;
}

/* -----------------------------
   14. 下部検索ブロック（仮）
----------------------------- */
.bs-spot-single .bs-spot-bottom-search p {
	margin: 0;
	color: var(--bs-subtext);
}

/* -----------------------------
   15. 余白の微調整
----------------------------- */
.bs-spot-single .bs-spot-section:first-of-type {
	margin-top: 0;
}

/* -----------------------------
   16. タブレット
----------------------------- */
@media (max-width: 1024px) {
	.bs-spot-single {
		--bs-max-width: 920px;
		--bs-space-5: 24px;
		--bs-space-6: 32px;
		--bs-title-size: 1.8rem;
		--bs-h2-size: 1.3rem;
	}
}

/* -----------------------------
   17. スマホ
----------------------------- */
@media (max-width: 768px) {
	.bs-spot-single {
		--bs-space-4: 16px;
		--bs-space-5: 20px;
		--bs-space-6: 24px;
		--bs-title-size: 1.65rem;
		--bs-subtitle-size: 0.95rem;
		--bs-h2-size: 1.2rem;
		--bs-body-size: 0.96rem;
		--bs-rating-icon-size: 24px;
		--bs-rating-star-size: 1rem;
		--bs-spec-th-width: 42%;
	}

	.bs-spot-single .bs-spot-wrap {
		padding: 0 14px;
	}

	.bs-spot-single .bs-spot-section,
	.bs-spot-single .bs-spot-toc,
	.bs-spot-single .bs-spot-ball-tools,
	.bs-spot-single .bs-spot-survey-meta,
	.bs-spot-single .bs-spot-bottom-links,
	.bs-spot-single .bs-spot-bottom-search {
		padding: 18px;
		border-radius: 14px;
		margin-top: 18px;
	}

	.bs-spot-single .bs-spot-ball-tools h2,
	.bs-spot-single .bs-spot-toc h2,
	.bs-spot-single .bs-spot-section h2,
	.bs-spot-single .bs-spot-bottom-search h2 {
		padding-left: 10px;
		margin-bottom: 14px;
	}

	.bs-spot-single .bs-ball-tools-grid {
		grid-template-columns: 1fr;
	}

	.bs-spot-single .bs-spot-toc ul {
		grid-template-columns: 1fr;
		gap: 8px 0;
	}

	.bs-spot-single .bs-spot-gallery {
		grid-template-columns: 1fr;
	}

	.bs-spot-single .bs-spec-table th,
	.bs-spot-single .bs-spec-table td {
		padding: 12px 12px;
	}

	.bs-spot-single .bs-map-wrap iframe {
		height: 280px;
	}
}

/* -----------------------------
   18. 極小画面
----------------------------- */
@media (max-width: 480px) {
	.bs-spot-single {
		--bs-title-size: 1.45rem;
		--bs-h2-size: 1.1rem;
		--bs-body-size: 0.93rem;
	}

	.bs-spot-single .bs-ball-tools-item {
		padding: 12px 12px;
		min-height: 58px;
	}

	.bs-spot-single .bs-ball-tools-label span:last-child {
		font-size: 0.92rem;
	}

	.bs-spot-single .bs-back-to-toc {
		font-size: 0.82rem;
	}
}

/* ========================================
   BallSpotMAP 個別ページ 微調整 v2
   既存CSSの末尾に追記
======================================== */

/* 1. メイン画像枠の余白を詰める */
.bs-spot-single .bs-spot-main-image {
	padding: 0;
	min-height: 0;
}

.bs-spot-single .bs-spot-main-image img {
	height: auto;
	min-height: 0;
	aspect-ratio: auto;
	object-fit: cover;
}

/* 2. ボール・用具を少し広く見せる */
.bs-spot-single .bs-ball-tools-item {
	min-height: 72px;
	padding: 16px 18px;
}

.bs-spot-single .bs-ball-tools-label {
	gap: 12px;
}

.bs-spot-single .bs-ball-tools-stars {
	margin-left: 12px;
}

/* 3. 見出し右の▲をもっと控えめにする */
.bs-spot-single .bs-back-to-toc {
	font-size: 0.72rem;
	color: #9aa7b8;
	font-weight: 500;
	margin-left: auto;
	opacity: 0.8;
}

.bs-spot-single .bs-back-to-toc:hover {
	color: #607086;
	opacity: 1;
}

/* 4. 本文カードは少しだけ読みやすく */
.bs-spot-single .bs-spot-section p {
	line-height: 1.9;
}

/* 5. アクセス下と調査条件表示の詰まりを少し緩める */
.bs-spot-single .bs-spot-survey-meta {
	margin-top: 20px;
}

/* 6. スマホでボール・用具の窮屈さをさらに緩和 */
@media (max-width: 768px) {
	.bs-spot-single .bs-ball-tools-item {
		min-height: 76px;
		padding: 14px 14px;
	}

	.bs-spot-single .bs-ball-tools-label span:last-child {
		line-height: 1.45;
	}

	.bs-spot-single .bs-back-to-toc {
		font-size: 0.68rem;
	}
}

/* ========================================
   BallSpotMAP 個別ページ 2カラム化差分 v1
   style.css の末尾に追記
======================================== */

/* まずは共通で1カラム */
.bs-spot-single .bs-page-layout {
	display: block;
}

.bs-spot-single .bs-main-column,
.bs-spot-single .bs-side-column {
	width: 100%;
	box-sizing: border-box;
}

/* サイドの仮検索ブロック */
.bs-spot-single .bs-sidebar-block {
	background: #ffffff;
	border: 1px solid var(--bs-border, #dbe3ee);
	border-radius: var(--bs-radius, 16px);
	box-shadow: var(--bs-shadow, 0 8px 24px rgba(20, 84, 124, 0.06));
	padding: 20px;
}

.bs-spot-single .bs-sidebar-search h2 {
	margin: 0 0 12px;
	font-size: 1.2rem;
	line-height: 1.4;
	color: var(--bs-heading, #14547C);
	border-left: 5px solid var(--bs-heading, #14547C);
	padding-left: 10px;
}

.bs-spot-single .bs-sidebar-search p {
	margin: 0;
	color: var(--bs-subtext, #607086);
	line-height: 1.8;
}

/* モバイル/タブレット用 詳細検索ボタン */
.bs-spot-single .bs-mobile-search-trigger-wrap {
	margin-bottom: 16px;
}

.bs-spot-single .bs-mobile-search-trigger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 14px;
	border: 1px solid #14547C;
	border-radius: 999px;
	background: #14547C;
	color: #fff;
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
}

/* モーダルは今は非表示のままでOK */
.bs-spot-single .bs-search-modal[hidden] {
	display: none !important;
}

/* PCで2カラム化 */
@media (min-width: 1025px) {
	.bs-spot-single .bs-page-layout {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 320px;
		gap: 32px;
		align-items: start;
	}

	.bs-spot-single .bs-side-column {
		position: sticky;
		top: 24px;
		align-self: start;
	}

	/* PCでは下部検索ブロックを非表示 */
	.bs-spot-single .bs-main-column .bs-spot-bottom-search {
		display: none;
	}

	/* PCでは上部の詳細検索ボタンも不要 */
	.bs-spot-single .bs-mobile-search-trigger-wrap {
		display: none;
	}
}

/* タブレット以下はサイドを消して1カラム */
@media (max-width: 1024px) {
	.bs-spot-single .bs-side-column {
		display: none;
	}

	.bs-spot-single .bs-mobile-search-trigger-wrap {
		display: block;
	}
}

/* ========================================
   BallSpotMAP 個別ページ パンくず
======================================== */
.bs-spot-single .bs-breadcrumb {
	margin: 0 0 14px;
}

.bs-spot-single .bs-breadcrumb__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 0.9rem;
	color: var(--bs-subtext, #607086);
}

.bs-spot-single .bs-breadcrumb__item {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.bs-spot-single .bs-breadcrumb__item:not(:last-child)::after {
	content: ">";
	color: #9aa7b8;
	font-size: 0.85rem;
}

.bs-spot-single .bs-breadcrumb__item a {
	color: var(--bs-link, #14547C);
	text-decoration: none;
}

.bs-spot-single .bs-breadcrumb__item a:hover {
	text-decoration: underline;
}

.bs-spot-single .bs-breadcrumb__item--current span {
	color: var(--bs-text, #243447);
	font-weight: 600;
}

@media (max-width: 768px) {
	.bs-spot-single .bs-breadcrumb {
		margin-bottom: 12px;
	}

	.bs-spot-single .bs-breadcrumb__list {
		font-size: 0.84rem;
		gap: 4px 8px;
	}
}

/* ========================================
   BallSpotMAP 個別ページ パンくず 微調整 v3
======================================== */
.bs-spot-single .bs-breadcrumb {
	margin: 0 0 10px;
}

.bs-spot-single .bs-breadcrumb__list {
	font-size: 0.82rem;
	gap: 4px 8px;
	color: #8a97a8;
}

.bs-spot-single .bs-breadcrumb__item:not(:last-child)::after {
	color: #aab4c1;
	font-size: 0.78rem;
}

.bs-spot-single .bs-breadcrumb__item a {
	color: #7f8da0;
	font-weight: 400;
}

.bs-spot-single .bs-breadcrumb__item a:hover {
	color: #607086;
}

.bs-spot-single .bs-breadcrumb__item--current span {
	color: #7f8da0;
	font-weight: 500;
}

@media (max-width: 768px) {
	.bs-spot-single .bs-breadcrumb {
		margin-bottom: 8px;
	}

	.bs-spot-single .bs-breadcrumb__list {
		font-size: 0.78rem;
		gap: 3px 7px;
	}
}

/* =========================================================
   BallSpotMAP 共通検索ブロック 初版 v1
   対象:
   - template-parts/search-block-common.php
   - PCサイド / モーダル / 下部で共通利用
   ========================================================= */

/* -----------------------------
   1. 共通ラッパー
----------------------------- */
.bs-search-block-wrap {
	width: 100%;
	box-sizing: border-box;
}

.bs-search-block {
	display: block;
}

.bs-search-block__section + .bs-search-block__section {
	margin-top: 20px;
}

.bs-search-block__title {
	margin: 0 0 12px;
	font-size: 1.05rem;
	line-height: 1.4;
	font-weight: 700;
	color: #243447;
}

.bs-search-block .bs-info-icon {
	font-size: 0.9em;
	color: #607086;
	font-weight: 600;
}

/* -----------------------------
   2. フィールド共通
----------------------------- */
.bs-search-block__row {
	display: block;
}

.bs-search-block__row--2col {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
}

.bs-search-block__field {
	display: block;
}

.bs-search-block__field label {
	display: block;
	margin: 0 0 6px;
	font-size: 0.9rem;
	line-height: 1.5;
	color: #4f6278;
	font-weight: 600;
}

.bs-search-block select,
.bs-search-block input[type="text"] {
	width: 100%;
	height: 42px;
	padding: 0 12px;
	border: 1px solid #dbe3ee;
	border-radius: 10px;
	background: #fff;
	color: #243447;
	font-size: 0.95rem;
	line-height: 1.4;
	box-sizing: border-box;
}

.bs-search-block select:focus,
.bs-search-block input[type="text"]:focus {
	outline: none;
	border-color: #14547C;
	box-shadow: 0 0 0 3px rgba(20, 84, 124, 0.10);
}

/* -----------------------------
   3. ボール・用具チェック群
----------------------------- */
.bs-search-ball-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 8px;
}

.bs-search-ball-option {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	padding: 8px 10px;
	border: 1px solid #e4e9f1;
	border-radius: 10px;
	background: #fbfcfe;
	cursor: pointer;
	font-size: 0.94rem;
	line-height: 1.5;
	color: #243447;
	box-sizing: border-box;
}

.bs-search-ball-option:hover {
	border-color: #cfd8e6;
	background: #f7f9fc;
}

.bs-search-ball-option input[type="checkbox"] {
	margin: 2px 0 0;
	flex: 0 0 auto;
}

.bs-search-ball-option span {
	display: block;
	word-break: keep-all;
}

/* -----------------------------
   4. チェックリスト共通
----------------------------- */
.bs-search-check-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 8px;
	margin-top: 12px;
}

.bs-search-check-list label {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	padding: 8px 10px;
	border: 1px solid #e4e9f1;
	border-radius: 10px;
	background: #fbfcfe;
	cursor: pointer;
	font-size: 0.94rem;
	line-height: 1.5;
	color: #243447;
	box-sizing: border-box;
}

.bs-search-check-list label:hover {
	border-color: #cfd8e6;
	background: #f7f9fc;
}

.bs-search-check-list input[type="checkbox"] {
	margin: 2px 0 0;
	flex: 0 0 auto;
}

/* -----------------------------
   5. アコーディオン見た目
----------------------------- */
.bs-search-accordion-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 12px 14px;
	border: 1px solid #dbe3ee;
	border-radius: 12px;
	background: #f7f9fc;
	color: #243447;
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.4;
	cursor: pointer;
	box-sizing: border-box;
}

.bs-search-accordion-toggle:hover {
	background: #f2f6fb;
}

.bs-search-accordion-toggle::after {
	content: "▼";
	font-size: 0.72rem;
	color: #607086;
	margin-left: 12px;
}

.bs-search-accordion-body {
	margin-top: 12px;
}

.bs-search-subsection + .bs-search-subsection {
	margin-top: 12px;
}

/* -----------------------------
   6. 送信ボタン
----------------------------- */
.bs-search-block__submit {
	margin-top: 20px;
}

.bs-search-submit-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 46px;
	padding: 0 16px;
	border: none;
	border-radius: 999px;
	background: #14547C;
	color: #fff;
	font-size: 0.98rem;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	box-sizing: border-box;
}

.bs-search-submit-button:hover {
	background: #114767;
}

/* -----------------------------
   7. PCサイド版
----------------------------- */
.bs-search-block-wrap.is-sidebar .bs-search-block__section + .bs-search-block__section {
	margin-top: 18px;
}

.bs-search-block-wrap.is-sidebar .bs-search-block__title {
	font-size: 1rem;
	margin-bottom: 10px;
}

.bs-search-block-wrap.is-sidebar .bs-search-block__field label {
	font-size: 0.88rem;
}

.bs-search-block-wrap.is-sidebar select,
.bs-search-block-wrap.is-sidebar input[type="text"] {
	height: 40px;
	font-size: 0.92rem;
}

.bs-search-block-wrap.is-sidebar .bs-search-ball-option,
.bs-search-block-wrap.is-sidebar .bs-search-check-list label {
	font-size: 0.9rem;
	padding: 8px 10px;
}

.bs-search-block-wrap.is-sidebar .bs-search-accordion-toggle {
	font-size: 0.92rem;
	padding: 11px 12px;
}

.bs-search-block-wrap.is-sidebar .bs-search-submit-button {
	min-height: 44px;
	font-size: 0.95rem;
}

/* -----------------------------
   8. モーダル版
----------------------------- */
.bs-search-block-wrap.is-modal .bs-search-block__row--2col {
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}

.bs-search-block-wrap.is-modal .bs-search-ball-grid {
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}

/* -----------------------------
   9. 下部版
----------------------------- */
.bs-search-block-wrap.is-bottom .bs-search-block__row--2col {
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}

.bs-search-block-wrap.is-bottom .bs-search-ball-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

/* -----------------------------
   10. タブレット以下
----------------------------- */
@media (max-width: 1024px) {
	.bs-search-block-wrap.is-modal .bs-search-block__row--2col,
	.bs-search-block-wrap.is-bottom .bs-search-block__row--2col {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.bs-search-block-wrap.is-modal .bs-search-ball-grid,
	.bs-search-block-wrap.is-bottom .bs-search-ball-grid {
		grid-template-columns: 1fr;
	}
}

/* -----------------------------
   11. 極小画面
----------------------------- */
@media (max-width: 480px) {
	.bs-search-block__title {
		font-size: 1rem;
	}

	.bs-search-ball-option,
	.bs-search-check-list label {
		font-size: 0.9rem;
	}

	.bs-search-submit-button {
		min-height: 44px;
		font-size: 0.94rem;
	}
}

/* ========================================
   BallSpotMAP サイド検索 使いやすさ改善 v2
======================================== */

/* 1. サイドカラム内で検索ブロックが画面内に収まりやすくする */
@media (min-width: 1025px) {
	.bs-spot-single .bs-side-column {
		position: sticky;
		top: 24px;
		align-self: start;
	}

	.bs-spot-single .bs-sidebar-search {
		max-height: calc(100vh - 48px);
		overflow: auto;
		padding-right: 10px; /* スクロールバー分の窮屈さを軽減 */
	}

	/* スクロールバーが目立ちすぎないように */
	.bs-spot-single .bs-sidebar-search::-webkit-scrollbar {
		width: 8px;
	}

	.bs-spot-single .bs-sidebar-search::-webkit-scrollbar-thumb {
		background: #d0d8e4;
		border-radius: 999px;
	}

	.bs-spot-single .bs-sidebar-search::-webkit-scrollbar-track {
		background: transparent;
	}
}

/* 2. サイド検索の縦長さを少し圧縮 */
.bs-search-block-wrap.is-sidebar .bs-search-block__section + .bs-search-block__section {
	margin-top: 14px;
}

.bs-search-block-wrap.is-sidebar .bs-search-block__title {
	margin-bottom: 8px;
	font-size: 0.96rem;
}

.bs-search-block-wrap.is-sidebar .bs-search-block__field label {
	margin-bottom: 4px;
	font-size: 0.84rem;
}

.bs-search-block-wrap.is-sidebar select,
.bs-search-block-wrap.is-sidebar input[type="text"] {
	height: 38px;
	font-size: 0.9rem;
}

.bs-search-block-wrap.is-sidebar .bs-search-ball-grid {
	gap: 6px;
}

.bs-search-block-wrap.is-sidebar .bs-search-ball-option,
.bs-search-block-wrap.is-sidebar .bs-search-check-list label {
	padding: 6px 8px;
	font-size: 0.86rem;
	line-height: 1.4;
}

.bs-search-block-wrap.is-sidebar .bs-search-check-list {
	gap: 6px;
	margin-top: 10px;
}

.bs-search-block-wrap.is-sidebar .bs-search-accordion-toggle {
	padding: 10px 12px;
	font-size: 0.88rem;
}

.bs-search-block-wrap.is-sidebar .bs-search-accordion-body {
	margin-top: 10px;
}

.bs-search-block-wrap.is-sidebar .bs-search-subsection + .bs-search-subsection {
	margin-top: 10px;
}

.bs-search-block-wrap.is-sidebar .bs-search-block__submit {
	margin-top: 14px;
}

.bs-search-block-wrap.is-sidebar .bs-search-submit-button {
	min-height: 42px;
	font-size: 0.92rem;
}

/* =========================================================
   BallSpotMAP 検索ブロック
   ボール・用具 単一選択ラジオUI
   ========================================================= */

.bs-search-ball-radio-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}

.bs-search-ball-radio-option {
	display: block;
	margin: 0;
	cursor: pointer;
}

.bs-search-ball-radio-option input[type="radio"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.bs-search-ball-radio-card {
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: 46px;
	padding: 8px 10px;
	border: 1px solid #e4e9f1;
	border-radius: 10px;
	background: #fbfcfe;
	box-sizing: border-box;
	transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.bs-search-ball-radio-option:hover .bs-search-ball-radio-card {
	border-color: #cfd8e6;
	background: #f7f9fc;
}

.bs-search-ball-radio-icon {
	flex: 0 0 22px;
	width: 22px;
	text-align: center;
	font-size: 1rem;
	line-height: 1;
}

.bs-search-ball-radio-label {
	display: block;
	font-size: 0.88rem;
	line-height: 1.35;
	color: #243447;
	font-weight: 600;
	word-break: keep-all;
}

.bs-search-ball-radio-option input[type="radio"]:checked + .bs-search-ball-radio-card {
	border-color: #14547C;
	background: rgba(20, 84, 124, 0.08);
	box-shadow: 0 0 0 2px rgba(20, 84, 124, 0.10);
}

.bs-search-ball-radio-option input[type="radio"]:focus + .bs-search-ball-radio-card {
	border-color: #14547C;
	box-shadow: 0 0 0 3px rgba(20, 84, 124, 0.12);
}

/* サイド版は少しだけ詰める */
.bs-search-block-wrap.is-sidebar .bs-search-ball-radio-grid {
	gap: 6px;
}

.bs-search-block-wrap.is-sidebar .bs-search-ball-radio-card {
	min-height: 44px;
	padding: 7px 8px;
}

.bs-search-block-wrap.is-sidebar .bs-search-ball-radio-icon {
	flex-basis: 20px;
	width: 20px;
	font-size: 0.95rem;
}

.bs-search-block-wrap.is-sidebar .bs-search-ball-radio-label {
	font-size: 0.83rem;
	line-height: 1.3;
}

/* モーダル / 下部は少し余裕を持たせる */
.bs-search-block-wrap.is-modal .bs-search-ball-radio-card,
.bs-search-block-wrap.is-bottom .bs-search-ball-radio-card {
	min-height: 48px;
	padding: 9px 12px;
}

.bs-search-block-wrap.is-modal .bs-search-ball-radio-label,
.bs-search-block-wrap.is-bottom .bs-search-ball-radio-label {
	font-size: 0.9rem;
}

/* 極小画面では1列 */
@media (max-width: 480px) {
	.bs-search-ball-radio-grid {
		grid-template-columns: 1fr;
	}
}

/* ========================================
   BallSpotMAP 検索ブロック 文言整理 + 微調整
======================================== */

/* ボール選択カード内のラベルを少し見やすく */
.bs-search-ball-radio-label {
	font-size: 0.84rem;
	letter-spacing: 0.01em;
}

/* サイド版ではさらに少しだけ詰める */
.bs-search-block-wrap.is-sidebar .bs-search-ball-radio-label {
	font-size: 0.8rem;
}

/* スコアセレクトがdisabledの時の見た目 */
.bs-search-block select:disabled {
	background: #f3f5f8;
	color: #98a5b5;
	cursor: not-allowed;
}

/* 指定したボール・道具の適性スコア 見出しは少しだけ詰める */
.bs-search-block__section--score .bs-search-block__title {
	line-height: 1.35;
}

/* ========================================
   BallSpotMAP 検索モーダル
======================================== */
.bs-search-modal[hidden] {
	display: none !important;
}

.bs-search-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
}

.bs-search-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(20, 30, 40, 0.5);
}

.bs-search-modal__dialog {
	position: relative;
	width: min(92vw, 760px);
	max-height: 86vh;
	margin: 5vh auto 0;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 18px 50px rgba(0, 0, 0, 0.18);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.bs-search-modal__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 18px;
	border-bottom: 1px solid #dbe3ee;
	background: #f7f9fc;
}

.bs-search-modal__header h2 {
	margin: 0;
	font-size: 1.1rem;
	line-height: 1.4;
	color: #14547C;
}

.bs-search-modal__close {
	border: none;
	background: transparent;
	font-size: 1.5rem;
	line-height: 1;
	cursor: pointer;
	color: #607086;
	padding: 0;
}

.bs-search-modal__body {
	padding: 18px;
	overflow: auto;
}

body.bs-search-modal-open {
	overflow: hidden;
}

/* ========================================
   BallSpotMAP 検索ブロック 第1段階調整 v2
   目的：
   ・横方向の窮屈さ改善
   ・縦方向の詰まり改善
   ・情報階層の明確化
======================================== */

/* -----------------------------
   1. 検索ブロック全体の縦リズム
----------------------------- */
.bs-search-block__section + .bs-search-block__section {
	margin-top: 26px;
}

.bs-search-block__title {
	margin: 0 0 14px;
	font-size: 1.08rem;
	line-height: 1.45;
	font-weight: 700;
	color: #243447;
}

.bs-search-block__field + .bs-search-block__field {
	margin-top: 12px;
}

/* -----------------------------
   2. 中項目ラベルの階層を少し下げる
----------------------------- */
.bs-search-block__field label {
	display: block;
	margin: 0 0 7px;
	padding-left: 2px;
	font-size: 0.88rem;
	line-height: 1.5;
	color: #607086;
	font-weight: 600;
}

/* -----------------------------
   3. 入力要素の横・縦の窮屈さを緩和
----------------------------- */
.bs-search-block select,
.bs-search-block input[type="text"] {
	width: 100%;
	height: 44px;
	padding: 0 14px;
	border: 1px solid #dbe3ee;
	border-radius: 10px;
	background: #fff;
	color: #243447;
	font-size: 0.95rem;
	line-height: 1.4;
	box-sizing: border-box;
}

/* -----------------------------
   4. ボール・用具ラジオカード
----------------------------- */
.bs-search-ball-radio-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}

.bs-search-ball-radio-card {
	display: flex;
	align-items: center;
	gap: 9px;
	min-height: 50px;
	padding: 10px 12px;
	border: 1px solid #e4e9f1;
	border-radius: 10px;
	background: #fbfcfe;
	box-sizing: border-box;
	transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.bs-search-ball-radio-icon {
	flex: 0 0 22px;
	width: 22px;
	text-align: center;
	font-size: 1rem;
	line-height: 1;
}

.bs-search-ball-radio-label {
	display: block;
	font-size: 0.84rem;
	line-height: 1.38;
	color: #243447;
	font-weight: 600;
	word-break: keep-all;
}

/* -----------------------------
   5. 適性スコアセクション
----------------------------- */
.bs-search-block__section--score .bs-search-block__title {
	margin-bottom: 10px;
	line-height: 1.4;
}

/* disabled 状態をもう少し分かりやすく */
.bs-search-block select:disabled {
	background: #f3f5f8;
	color: #98a5b5;
	border-color: #e1e6ee;
	cursor: not-allowed;
}

/* -----------------------------
   6. オプションまわり
----------------------------- */
.bs-search-accordion-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 12px 14px;
	border: 1px solid #dbe3ee;
	border-radius: 12px;
	background: #f7f9fc;
	color: #243447;
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.4;
	cursor: pointer;
	box-sizing: border-box;
}

.bs-search-accordion-body {
	margin-top: 14px;
}

.bs-search-subsection + .bs-search-subsection {
	margin-top: 14px;
}

.bs-search-check-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 9px;
	margin-top: 12px;
}

.bs-search-check-list label {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	padding: 9px 11px;
	border: 1px solid #e4e9f1;
	border-radius: 10px;
	background: #fbfcfe;
	cursor: pointer;
	font-size: 0.92rem;
	line-height: 1.5;
	color: #243447;
	box-sizing: border-box;
}

/* -----------------------------
   7. 検索ボタンまわり
----------------------------- */
.bs-search-block__submit {
	margin-top: 22px;
}

.bs-search-submit-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 46px;
	padding: 0 16px;
	border: none;
	border-radius: 999px;
	background: #14547C;
	color: #fff;
	font-size: 0.98rem;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	box-sizing: border-box;
}

/* -----------------------------
   8. サイド版は少しだけ圧縮しつつ余白は確保
----------------------------- */
.bs-search-block-wrap.is-sidebar .bs-search-block__section + .bs-search-block__section {
	margin-top: 22px;
}

.bs-search-block-wrap.is-sidebar .bs-search-block__title {
	margin-bottom: 12px;
	font-size: 0.98rem;
}

.bs-search-block-wrap.is-sidebar .bs-search-block__field label {
	margin-bottom: 6px;
	padding-left: 2px;
	font-size: 0.84rem;
}

.bs-search-block-wrap.is-sidebar select,
.bs-search-block-wrap.is-sidebar input[type="text"] {
	height: 40px;
	padding: 0 12px;
	font-size: 0.9rem;
}

.bs-search-block-wrap.is-sidebar .bs-search-ball-radio-grid {
	gap: 8px;
}

.bs-search-block-wrap.is-sidebar .bs-search-ball-radio-card {
	min-height: 46px;
	padding: 8px 10px;
}

.bs-search-block-wrap.is-sidebar .bs-search-ball-radio-icon {
	flex-basis: 20px;
	width: 20px;
	font-size: 0.95rem;
}

.bs-search-block-wrap.is-sidebar .bs-search-ball-radio-label {
	font-size: 0.79rem;
	line-height: 1.32;
}

.bs-search-block-wrap.is-sidebar .bs-search-check-list {
	gap: 8px;
	margin-top: 10px;
}

.bs-search-block-wrap.is-sidebar .bs-search-check-list label {
	padding: 8px 10px;
	font-size: 0.88rem;
	line-height: 1.45;
}

.bs-search-block-wrap.is-sidebar .bs-search-accordion-toggle {
	padding: 11px 12px;
	font-size: 0.9rem;
}

.bs-search-block-wrap.is-sidebar .bs-search-accordion-body {
	margin-top: 12px;
}

.bs-search-block-wrap.is-sidebar .bs-search-subsection + .bs-search-subsection {
	margin-top: 12px;
}

.bs-search-block-wrap.is-sidebar .bs-search-block__submit {
	margin-top: 18px;
}

.bs-search-block-wrap.is-sidebar .bs-search-submit-button {
	min-height: 42px;
	font-size: 0.93rem;
}

/* -----------------------------
   9. モーダル版・下部版は少しゆったり
----------------------------- */
.bs-search-block-wrap.is-modal .bs-search-block__row--2col,
.bs-search-block-wrap.is-bottom .bs-search-block__row--2col {
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.bs-search-block-wrap.is-modal .bs-search-ball-radio-grid,
.bs-search-block-wrap.is-bottom .bs-search-ball-radio-grid {
	gap: 10px;
}

.bs-search-block-wrap.is-modal .bs-search-ball-radio-card,
.bs-search-block-wrap.is-bottom .bs-search-ball-radio-card {
	min-height: 52px;
	padding: 10px 13px;
}

.bs-search-block-wrap.is-modal .bs-search-ball-radio-label,
.bs-search-block-wrap.is-bottom .bs-search-ball-radio-label {
	font-size: 0.88rem;
}

/* -----------------------------
   10. タブレット以下
----------------------------- */
@media (max-width: 1024px) {
	.bs-search-block__section + .bs-search-block__section {
		margin-top: 24px;
	}

	.bs-search-block-wrap.is-modal .bs-search-block__row--2col,
	.bs-search-block-wrap.is-bottom .bs-search-block__row--2col {
		grid-template-columns: 1fr;
		gap: 12px;
	}
}

/* -----------------------------
   11. 極小画面
----------------------------- */
@media (max-width: 480px) {
	.bs-search-ball-radio-grid {
		grid-template-columns: 1fr;
	}

	.bs-search-block__title {
		font-size: 1rem;
	}

	.bs-search-block__field label {
		font-size: 0.84rem;
	}
}

/* ========================================
   BallSpotMAP 検索ブロック 文言・構造調整 v3
======================================== */

/* エリアは1項目ずつなので縦余白を少し整える */
.bs-search-block__section--area .bs-search-block__field + .bs-search-block__field {
	margin-top: 18px;
}

/* 詳細条件を開いた中の縦リズム */
.bs-search-block__section--detail .bs-search-accordion-body > .bs-search-block__field,
.bs-search-block__section--detail .bs-search-accordion-body > .bs-search-check-list {
	margin-top: 14px;
}

.bs-search-block__section--detail .bs-search-accordion-body > .bs-search-block__field:first-child,
.bs-search-block__section--detail .bs-search-accordion-body > .bs-search-check-list:first-child {
	margin-top: 0;
}

/* 金属バットなど長めの文言に対応 */
.bs-search-ball-radio-label {
	word-break: normal;
	overflow-wrap: anywhere;
}

/* 詳細条件ボタンは少し弱めに */
.bs-search-block__section--detail .bs-search-accordion-toggle {
	font-weight: 600;
}

/* ========================================
   BallSpotMAP 一覧カード 共通初版
   対象：
   ・市区ページ
   ・検索結果一覧ページ
======================================== */

/* 1. グリッド */
.bs-spot-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	align-items: stretch;
}

/* 2. カード本体 */
.bs-spot-card {
	min-width: 0;
}

.bs-spot-card__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	border: 1px solid #dbe3ee;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(20, 84, 124, 0.06);
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.bs-spot-card__link:hover {
	transform: translateY(-2px);
	border-color: #cfd8e6;
	box-shadow: 0 12px 28px rgba(20, 84, 124, 0.10);
}

/* 3. 写真 */
.bs-spot-card__image-wrap {
	aspect-ratio: 16 / 9;
	background: #eef3f8;
	overflow: hidden;
}

.bs-spot-card__image-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.bs-spot-card__image-placeholder {
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, #eef3f8 0%, #dde7f1 100%);
}

/* 4. 本文 */
.bs-spot-card__body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	padding: 12px 14px 13px;
	min-width: 0;
}

/* 5. 公園名 2行枠固定 */
.bs-spot-card__title {
	margin: 0 0 10px;
	font-size: 1rem;
	line-height: 1.4;
	font-weight: 700;
	color: #243447;

	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;

	min-height: calc(1.4em * 2);
}

/* 6. ボール表示 */
.bs-spot-card__ball {
	margin-bottom: 9px;
	font-size: 0.92rem;
	line-height: 1.4;
	color: #243447;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.bs-spot-card__ball-item + .bs-spot-card__ball-item {
	margin-left: 10px;
}

/* 7. スコア表示 */
.bs-spot-card__scores {
	margin-bottom: 9px;
	font-size: 0.88rem;
	line-height: 1.45;
	color: #4f6278;

	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;

	min-height: calc(1.45em * 2);
}

.bs-spot-card__score-item {
	white-space: nowrap;
}

.bs-spot-card__score-separator {
	margin: 0 4px;
	color: #90a0b2;
}

/* 8. 駅情報は最下段固定 */
.bs-spot-card__station {
	margin-top: auto;
	padding-top: 6px;
	font-size: 0.86rem;
	line-height: 1.4;
	color: #607086;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* 9. タブレット以下 */
@media (max-width: 1024px) {
	.bs-spot-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px;
	}

	.bs-spot-card__body {
		padding: 10px 11px 11px;
	}

	.bs-spot-card__title {
		font-size: 0.92rem;
		margin-bottom: 8px;
	}

	.bs-spot-card__ball {
		font-size: 0.84rem;
		margin-bottom: 7px;
	}

	.bs-spot-card__scores {
		font-size: 0.8rem;
		line-height: 1.38;
		margin-bottom: 7px;
		min-height: calc(1.38em * 2);
	}

	.bs-spot-card__station {
		font-size: 0.78rem;
	}
}

/* 10. 極小画面でも2列維持 */
@media (max-width: 480px) {
	.bs-spot-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.bs-spot-card__body {
		padding: 9px 9px 10px;
	}

	.bs-spot-card__title {
		font-size: 0.86rem;
		line-height: 1.35;
		min-height: calc(1.35em * 2);
	}

	.bs-spot-card__ball {
		font-size: 0.78rem;
		line-height: 1.3;
	}

	.bs-spot-card__scores {
		font-size: 0.74rem;
		line-height: 1.32;
		min-height: calc(1.32em * 2);
	}

	.bs-spot-card__station {
		font-size: 0.72rem;
		line-height: 1.3;
	}
}

/* ========================================
   BallSpotMAP 市区ページテスト 初版レイアウト
======================================== */

/* ページ全体 */
.bs-municipality-page {
	max-width: 1320px;
	margin: 0 auto;
	padding: 24px 20px 40px;
	box-sizing: border-box;
}

/* パンくず */
.bs-municipality-page .bs-breadcrumb {
	margin-bottom: 18px;
}

.bs-municipality-page .bs-breadcrumb__list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 0.88rem;
	color: #607086;
}

.bs-municipality-page .bs-breadcrumb__item:not(:last-child)::after {
	content: ">";
	margin-left: 8px;
	color: #90a0b2;
}

/* モバイル検索ボタン */
.bs-municipality-page .bs-mobile-search-trigger {
	display: none;
	margin-bottom: 16px;
	padding: 10px 14px;
	border: none;
	border-radius: 10px;
	background: #4b4f5c;
	color: #fff;
	font-size: 0.9rem;
	cursor: pointer;
}

/* 2カラム */
.bs-municipality-page .bs-page-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 32px;
	align-items: start;
}

/* メイン */
.bs-municipality-page .bs-main-column {
	min-width: 0;
}

.bs-municipality-page .bs-page-header {
	margin-bottom: 24px;
}

.bs-municipality-page .bs-page-title {
	margin: 0 0 14px;
	font-size: 2rem;
	line-height: 1.3;
	color: #243447;
}

.bs-municipality-page .bs-page-lead {
	margin: 0;
	font-size: 0.98rem;
	line-height: 1.7;
	color: #4f6278;
}

/* 件数 + 並び順 */
.bs-municipality-page .bs-list-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 18px;
}

.bs-municipality-page .bs-list-toolbar__count {
	font-size: 1rem;
	font-weight: 700;
	color: #243447;
}

.bs-municipality-page .bs-list-toolbar__sort {
	display: flex;
	align-items: center;
	gap: 10px;
}

.bs-municipality-page .bs-list-toolbar__sort label {
	font-size: 0.9rem;
	color: #607086;
}

.bs-municipality-page .bs-list-toolbar__sort select {
	min-width: 180px;
	height: 40px;
	padding: 0 12px;
	border: 1px solid #dbe3ee;
	border-radius: 10px;
	background: #fff;
}

/* 一覧カード */
.bs-municipality-page .bs-spot-list-section {
	margin-bottom: 24px;
}

/* 下部導線 */
.bs-municipality-page .bs-page-bottom-links {
	margin: 0 0 28px;
}

.bs-municipality-page .bs-page-bottom-links a {
	color: #14547C;
	text-decoration: underline;
}

/* 下部検索 */
.bs-municipality-page .bs-page-bottom-search {
	margin-top: 20px;
}

.bs-municipality-page .bs-page-bottom-search h2 {
	margin: 0 0 14px;
	font-size: 1.5rem;
	line-height: 1.4;
	color: #243447;
}

/* サイド */
.bs-municipality-page .bs-side-column {
	position: sticky;
	top: 24px;
	align-self: start;
}

.bs-municipality-page .bs-sidebar-block {
	padding: 22px 20px;
	border: 1px solid #dbe3ee;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(20, 84, 124, 0.06);
}

.bs-municipality-page .bs-sidebar-search > h2 {
	margin: 0 0 16px;
	font-size: 1.5rem;
	line-height: 1.3;
	color: #243447;
}

/* PCでは下部検索を隠す */
@media (min-width: 1025px) {
	.bs-municipality-page .bs-page-bottom-search {
		display: none;
	}
}

/* タブレット以下 */
@media (max-width: 1024px) {
	.bs-municipality-page {
		padding: 18px 14px 32px;
	}

	.bs-municipality-page .bs-mobile-search-trigger {
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.bs-municipality-page .bs-page-layout {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.bs-municipality-page .bs-side-column {
		display: none;
	}

	.bs-municipality-page .bs-page-title {
		font-size: 1.7rem;
		margin-bottom: 12px;
	}

	.bs-municipality-page .bs-list-toolbar {
		flex-direction: column;
		align-items: flex-start;
	}

	.bs-municipality-page .bs-list-toolbar__sort {
		width: 100%;
		flex-wrap: wrap;
	}

	.bs-municipality-page .bs-list-toolbar__sort select {
		width: 100%;
	}
}

/* ========================================
   BallSpotMAP 市区ページ イメージ写真
======================================== */
.bs-municipality-page .bs-area-hero {
	margin: 0 0 18px;
	border-radius: 18px;
	overflow: hidden;
	background: #eef3f8;
	box-shadow: 0 8px 24px rgba(20, 84, 124, 0.06);
}

.bs-municipality-page .bs-area-hero__image {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1200 / 420;
	object-fit: cover;
}

@media (max-width: 1024px) {
	.bs-municipality-page .bs-area-hero {
		margin-bottom: 16px;
		border-radius: 14px;
	}
}

/* ========================================
   BallSpotMAP 都道府県ページテスト 初版
======================================== */

.bs-prefecture-page {
	max-width: 1100px;
	margin: 0 auto;
	padding: 24px 20px 40px;
	box-sizing: border-box;
}

.bs-prefecture-page .bs-page-header {
	margin-bottom: 28px;
}

.bs-prefecture-page .bs-page-title {
	margin: 0 0 14px;
	font-size: 2rem;
	line-height: 1.3;
	color: #243447;
}

.bs-prefecture-page .bs-page-lead {
	margin: 0 0 14px;
	font-size: 0.98rem;
	line-height: 1.7;
	color: #4f6278;
}

.bs-prefecture-page .bs-area-hero {
	margin: 0 0 18px;
	border-radius: 18px;
	overflow: hidden;
	background: #eef3f8;
	box-shadow: 0 8px 24px rgba(20, 84, 124, 0.06);
}

.bs-prefecture-page .bs-area-hero__image {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1200 / 420;
	object-fit: cover;
}

.bs-prefecture-page .bs-prefecture-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	font-size: 0.92rem;
	color: #607086;
}

.bs-prefecture-page .bs-section-title {
	margin: 0 0 16px;
	font-size: 1.5rem;
	line-height: 1.35;
	color: #243447;
}

.bs-prefecture-page .bs-prefecture-municipality-list-section,
.bs-prefecture-page .bs-prefecture-search-section,
.bs-prefecture-page .bs-prefecture-theme-section {
	margin-top: 32px;
}

.bs-prefecture-page .bs-prefecture-municipality-list {
	display: grid;
	gap: 14px;
}

.bs-prefecture-page .bs-prefecture-municipality-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 18px 20px;
	border: 1px solid #dbe3ee;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(20, 84, 124, 0.05);
}

.bs-prefecture-page .bs-prefecture-municipality-item__main {
	display: flex;
	align-items: baseline;
	gap: 12px;
	flex-wrap: wrap;
}

.bs-prefecture-page .bs-prefecture-municipality-item__name {
	margin: 0;
	font-size: 1.08rem;
	line-height: 1.4;
	color: #243447;
}

.bs-prefecture-page .bs-prefecture-municipality-item__count {
	font-size: 0.92rem;
	color: #607086;
}

.bs-prefecture-page .bs-prefecture-municipality-item__link a {
	color: #14547C;
	text-decoration: underline;
	white-space: nowrap;
}

.bs-prefecture-page .bs-theme-shortcut-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.bs-prefecture-page .bs-theme-shortcut-card {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 88px;
	padding: 14px 16px;
	border: 1px solid #dbe3ee;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(20, 84, 124, 0.05);
	text-align: center;
	text-decoration: none;
	color: #243447;
	font-weight: 700;
	line-height: 1.5;
}

@media (max-width: 768px) {
	.bs-prefecture-page {
		padding: 18px 14px 32px;
	}

	.bs-prefecture-page .bs-page-title {
		font-size: 1.7rem;
		margin-bottom: 12px;
	}

	.bs-prefecture-page .bs-area-hero {
		margin-bottom: 16px;
		border-radius: 14px;
	}

	.bs-prefecture-page .bs-prefecture-meta {
		flex-direction: column;
		gap: 6px;
	}

	.bs-prefecture-page .bs-prefecture-municipality-item {
		flex-direction: column;
		align-items: flex-start;
	}

	.bs-prefecture-page .bs-theme-shortcut-grid {
		grid-template-columns: 1fr;
	}
}

/* ========================================
   BallSpotMAP 検索結果ページテスト 初版
======================================== */

.bs-search-result-page {
	max-width: 1100px;
	margin: 0 auto;
	padding: 24px 20px 40px;
	box-sizing: border-box;
}

.bs-search-result-page .bs-page-header {
	margin-bottom: 22px;
}

.bs-search-result-page .bs-page-title {
	margin: 0 0 10px;
	font-size: 2rem;
	line-height: 1.3;
	color: #243447;
}

.bs-search-result-page .bs-search-result-summary {
	margin: 0 0 12px;
	font-size: 0.96rem;
	line-height: 1.7;
	color: #4f6278;
}

.bs-search-result-page .bs-search-result-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	font-size: 0.95rem;
	color: #607086;
}

.bs-search-result-page .bs-search-result-change-trigger {
	padding: 9px 14px;
	border: 1px solid #dbe3ee;
	border-radius: 10px;
	background: #fff;
	color: #243447;
	font-size: 0.9rem;
	cursor: pointer;
}

.bs-search-result-page .bs-search-result-toolbar {
	margin-bottom: 18px;
}

.bs-search-result-page .bs-search-result-toolbar__sort {
	display: flex;
	align-items: center;
	gap: 10px;
}

.bs-search-result-page .bs-search-result-toolbar__sort label {
	font-size: 0.9rem;
	color: #607086;
}

.bs-search-result-page .bs-search-result-toolbar__sort select {
	min-width: 220px;
	height: 40px;
	padding: 0 12px;
	border: 1px solid #dbe3ee;
	border-radius: 10px;
	background: #fff;
}

.bs-search-result-page .bs-search-result-list-section {
	margin-bottom: 32px;
}

.bs-search-result-page .bs-section-title {
	margin: 0 0 16px;
	font-size: 1.5rem;
	line-height: 1.35;
	color: #243447;
}

@media (max-width: 768px) {
	.bs-search-result-page {
		padding: 18px 14px 32px;
	}

	.bs-search-result-page .bs-page-title {
		font-size: 1.7rem;
		margin-bottom: 10px;
	}

	.bs-search-result-page .bs-search-result-meta {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}

	.bs-search-result-page .bs-search-result-toolbar__sort {
		flex-direction: column;
		align-items: flex-start;
	}

	.bs-search-result-page .bs-search-result-toolbar__sort select {
		width: 100%;
		min-width: 0;
	}
}

/* ========================================
   BallSpotMAP 検索ブロック 詳細条件ポップアップ
======================================== */

.bs-search-detail-open {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 44px;
	padding: 0 14px;
	border: 1px solid #dbe3ee;
	border-radius: 12px;
	background: #f7f9fc;
	color: #243447;
	font-size: 0.94rem;
	font-weight: 600;
	line-height: 1.4;
	cursor: pointer;
	box-sizing: border-box;
}

.bs-search-detail-open:hover {
	background: #f2f6fb;
}

.bs-search-detail-modal[hidden] {
	display: none !important;
}

.bs-search-detail-modal {
	position: fixed;
	inset: 0;
	z-index: 10020;
}

.bs-search-detail-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(20, 30, 40, 0.48);
}

.bs-search-detail-modal__dialog {
	position: relative;
	width: min(92vw, 560px);
	max-height: 84vh;
	margin: 7vh auto 0;
	background: #fff;
	border-radius: 18px;
	box-shadow: 0 18px 50px rgba(0, 0, 0, 0.18);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.bs-search-detail-modal__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 18px;
	border-bottom: 1px solid #dbe3ee;
	background: #f7f9fc;
}

.bs-search-detail-modal__header h4 {
	margin: 0;
	font-size: 1.05rem;
	line-height: 1.4;
	color: #14547C;
}

.bs-search-detail-modal__close {
	border: none;
	background: transparent;
	font-size: 1.5rem;
	line-height: 1;
	cursor: pointer;
	color: #607086;
	padding: 0;
}

.bs-search-detail-modal__body {
	padding: 18px;
	overflow: auto;
}

.bs-search-detail-modal__body .bs-search-block__field + .bs-search-block__field,
.bs-search-detail-modal__body .bs-search-check-list + .bs-search-block__field,
.bs-search-detail-modal__body .bs-search-block__field + .bs-search-check-list {
	margin-top: 14px;
}

body.bs-search-detail-modal-open {
	overflow: hidden;
}

@media (max-width: 1024px) {
	.bs-search-detail-modal__dialog {
		width: min(94vw, 560px);
		margin-top: 5vh;
		max-height: 88vh;
	}
}

/* ========================================
   BallSpotMAP 検索ブロック エリア1段レイアウト
======================================== */

.bs-search-block__field--inline {
	display: grid;
	grid-template-columns: 88px minmax(0, 1fr);
	align-items: center;
	column-gap: 12px;
	row-gap: 0;
}

.bs-search-block__field--inline label {
	margin: 0;
	padding-left: 0;
	font-size: 0.88rem;
	line-height: 1.4;
	font-weight: 600;
	color: #607086;
}

.bs-search-block__field--inline .bs-search-block__field-control {
	min-width: 0;
}

.bs-search-block__field--inline .bs-search-block__field-control select {
	width: 100%;
}

/* サイド検索では少し詰める */
.bs-search-block-wrap.is-sidebar .bs-search-block__field--inline {
	grid-template-columns: 72px minmax(0, 1fr);
	column-gap: 10px;
}

.bs-search-block-wrap.is-sidebar .bs-search-block__field--inline label {
	font-size: 0.84rem;
}

/* モーダル・下部検索では少しゆったり */
.bs-search-block-wrap.is-modal .bs-search-block__field--inline,
.bs-search-block-wrap.is-bottom .bs-search-block__field--inline {
	grid-template-columns: 96px minmax(0, 1fr);
	column-gap: 14px;
}

/* スマホでは可読性優先で2段に戻す */
@media (max-width: 768px) {
	.bs-search-block__field--inline {
		grid-template-columns: 1fr;
		row-gap: 7px;
	}

	.bs-search-block__field--inline label {
		font-size: 0.84rem;
	}
}

/* ========================================
   BallSpotMAP 都道府県ページ 2カラム版
   目的：
   ・PCではメイン + 右サイド検索
   ・スマホでは1カラム + 下部検索
   ・テーマ別カードは一旦非表示
======================================== */

.bs-prefecture-page {
	max-width: 1320px;
	margin: 0 auto;
	padding: 24px 20px 40px;
	box-sizing: border-box;
}

.bs-prefecture-page .bs-page-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 32px;
	align-items: start;
}

.bs-prefecture-page .bs-main-column {
	min-width: 0;
}

.bs-prefecture-page .bs-page-header {
	margin-bottom: 28px;
}

.bs-prefecture-page .bs-page-title {
	margin: 0 0 14px;
	font-size: 2rem;
	line-height: 1.3;
	color: #243447;
}

.bs-prefecture-page .bs-page-lead {
	margin: 0 0 14px;
	font-size: 0.98rem;
	line-height: 1.7;
	color: #4f6278;
}

.bs-prefecture-page .bs-area-hero {
	margin: 0 0 18px;
	border-radius: 18px;
	overflow: hidden;
	background: #eef3f8;
	box-shadow: 0 8px 24px rgba(20, 84, 124, 0.06);
}

.bs-prefecture-page .bs-area-hero__image {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1200 / 420;
	object-fit: cover;
}

.bs-prefecture-page .bs-prefecture-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	font-size: 0.92rem;
	color: #607086;
}

.bs-prefecture-page .bs-section-title {
	margin: 0 0 16px;
	font-size: 1.5rem;
	line-height: 1.35;
	color: #243447;
}

.bs-prefecture-page .bs-prefecture-municipality-list-section,
.bs-prefecture-page .bs-prefecture-search-section {
	margin-top: 32px;
}

.bs-prefecture-page .bs-prefecture-municipality-list {
	display: grid;
	gap: 14px;
}

.bs-prefecture-page .bs-prefecture-municipality-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 18px 20px;
	border: 1px solid #dbe3ee;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(20, 84, 124, 0.05);
}

.bs-prefecture-page .bs-prefecture-municipality-item__main {
	display: flex;
	align-items: baseline;
	gap: 12px;
	flex-wrap: wrap;
}

.bs-prefecture-page .bs-prefecture-municipality-item__name {
	margin: 0;
	font-size: 1.08rem;
	line-height: 1.4;
	color: #243447;
}

.bs-prefecture-page .bs-prefecture-municipality-item__count {
	font-size: 0.92rem;
	color: #607086;
}

.bs-prefecture-page .bs-prefecture-municipality-item__link a {
	color: #14547C;
	text-decoration: underline;
	white-space: nowrap;
}

.bs-prefecture-page .bs-side-column {
	position: sticky;
	top: 24px;
	align-self: start;
}

.bs-prefecture-page .bs-sidebar-block {
	padding: 22px 20px;
	border: 1px solid #dbe3ee;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(20, 84, 124, 0.06);
}

.bs-prefecture-page .bs-sidebar-search > h2 {
	margin: 0 0 16px;
	font-size: 1.5rem;
	line-height: 1.3;
	color: #243447;
}

/* PCでは下部検索を隠す */
@media (min-width: 1025px) {
	.bs-prefecture-page .bs-prefecture-search-section {
		display: none;
	}
}

/* スマホ・タブレットでは1カラム化し、下部検索を使う */
@media (max-width: 1024px) {
	.bs-prefecture-page {
		padding: 18px 14px 32px;
	}

	.bs-prefecture-page .bs-page-layout {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.bs-prefecture-page .bs-side-column {
		display: none;
	}

	.bs-prefecture-page .bs-page-title {
		font-size: 1.7rem;
		margin-bottom: 12px;
	}

	.bs-prefecture-page .bs-area-hero {
		margin-bottom: 16px;
		border-radius: 14px;
	}

	.bs-prefecture-page .bs-prefecture-meta {
		flex-direction: column;
		gap: 6px;
	}

	.bs-prefecture-page .bs-prefecture-municipality-item {
		flex-direction: column;
		align-items: flex-start;
	}
}


/* ========================================
   BallSpotMAP 検索結果ページ 2カラム
======================================== */
.bs-search-result-page--two-column {
	max-width: 1280px;
	margin: 0 auto;
	padding: 24px 20px 40px;
	box-sizing: border-box;
}

.bs-search-result-page__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	gap: 36px;
	align-items: start;
}

.bs-search-result-page__sidebar {
	position: sticky;
	top: 24px;
}

.bs-search-result-page__sidebar .bs-search-block-wrap.is-sidebar {
	margin-bottom: 0;
}

.bs-search-result-page .bs-search-result-research-section {
	display: none;
	margin-top: 36px;
}

.bs-search-result-page .bs-search-result-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}

.bs-search-result-page .bs-search-result-toolbar__sort-form {
	margin: 0;
}

.bs-search-result-page .bs-search-result-list-section {
	margin-top: 10px;
}

@media (max-width: 1024px) {
	.bs-search-result-page--two-column {
		padding: 18px 14px 32px;
	}

	.bs-search-result-page__grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.bs-search-result-page__sidebar {
		display: none;
	}

	.bs-search-result-page .bs-search-result-research-section {
		display: block;
	}
}

/* ========================================
   BallSpotMAP 検索結果ページ 右カラム統一調整
======================================== */

/* PC2カラム：都道府県ページ / 市区ページと近いバランスに寄せる */
.bs-search-result-page {
	max-width: 1320px;
}

.bs-search-result-page .bs-page-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 32px;
	align-items: start;
}

.bs-search-result-page .bs-main-column {
	min-width: 0;
}

.bs-search-result-page .bs-side-column {
	position: sticky;
	top: 24px;
	align-self: start;
}

.bs-search-result-page .bs-sidebar-block {
	padding: 22px 20px;
	border: 1px solid #dbe3ee;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(20, 84, 124, 0.06);
}

.bs-search-result-page .bs-sidebar-search > h2 {
	margin: 0 0 16px;
	font-size: 1.5rem;
	line-height: 1.3;
	color: #243447;
}

/* 左カラム上部の余白と並び順まわり */
.bs-search-result-page .bs-page-header {
	margin-bottom: 20px;
}

.bs-search-result-page .bs-page-title {
	margin-bottom: 12px;
}

.bs-search-result-page .bs-search-result-summary {
	margin-bottom: 14px;
}

.bs-search-result-page .bs-search-result-meta {
	margin-bottom: 4px;
}

.bs-search-result-page .bs-search-result-toolbar {
	margin-bottom: 20px;
}

.bs-search-result-page .bs-search-result-toolbar__sort-form {
	margin: 0;
}

.bs-search-result-page .bs-search-result-toolbar__sort {
	display: flex;
	align-items: center;
	gap: 10px;
}

.bs-search-result-page .bs-search-result-toolbar__sort label {
	font-size: 0.9rem;
	color: #607086;
}

.bs-search-result-page .bs-search-result-toolbar__sort select {
	min-width: 220px;
	height: 40px;
	padding: 0 12px;
	border: 1px solid #dbe3ee;
	border-radius: 10px;
	background: #fff;
}

/* 再検索セクションはPCでは右カラムが主役なので控えめに */
@media (min-width: 1025px) {
	.bs-search-result-page .bs-search-result-research-section {
		display: none;
	}
}

/* スマホ / タブレット */
@media (max-width: 1024px) {
	.bs-search-result-page {
		padding: 18px 14px 32px;
	}

	.bs-search-result-page .bs-page-layout {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.bs-search-result-page .bs-side-column {
		display: none;
	}

	.bs-search-result-page .bs-page-title {
		font-size: 1.7rem;
		margin-bottom: 10px;
	}

	.bs-search-result-page .bs-search-result-meta {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}

	.bs-search-result-page .bs-search-result-toolbar__sort {
		flex-direction: column;
		align-items: flex-start;
	}

	.bs-search-result-page .bs-search-result-toolbar__sort select {
		width: 100%;
		min-width: 0;
	}

	.bs-search-result-page .bs-search-result-research-section {
		display: block;
		margin-top: 28px;
	}
}

/* ========================================
   BallSpotMAP 検索結果 0件時導線
======================================== */

.bs-search-result-empty {
	padding: 28px 24px;
	border: 1px solid #dbe3ee;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(20, 84, 124, 0.06);
}

.bs-search-result-empty__title {
	margin: 0 0 10px;
	font-size: 1.35rem;
	line-height: 1.4;
	color: #243447;
}

.bs-search-result-empty__lead {
	margin: 0;
	color: #607086;
	line-height: 1.8;
}

.bs-search-result-empty__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 18px;
}

.bs-search-result-empty__button,
.bs-search-result-empty__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 18px;
	border-radius: 999px;
	font-weight: 600;
	text-decoration: none;
}

.bs-search-result-empty__button {
	border: 1px solid #14547c;
	background: #14547c;
	color: #fff;
	cursor: pointer;
}

.bs-search-result-empty__link {
	border: 1px solid #dbe3ee;
	background: #fff;
	color: #14547c;
}

@media (max-width: 768px) {
	.bs-search-result-empty {
		padding: 22px 18px;
	}

	.bs-search-result-empty__actions {
		flex-direction: column;
	}

	.bs-search-result-empty__button,
	.bs-search-result-empty__link {
		width: 100%;
	}
}

/* ========================================
   BallSpotMAP 検索結果 0件時導線：PCでは「検索条件を見直す」を非表示
======================================== */

@media (min-width: 1025px) {
	.bs-search-result-empty__button {
		display: none;
	}
}

/* ========================================
   BallSpotMAP 検索結果ページ 微調整 v2
   目的：
   ・メイン上部を2段構成に整理
   ・サイド検索の存在感をやや抑える
   ・エリア選択を1行2プルダウンに揃える
======================================== */

.bs-search-result-page {
	padding-top: 20px;
	padding-bottom: 36px;
}

.bs-search-result-page .bs-page-layout {
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 28px;
}

.bs-search-result-page .bs-page-header {
	margin-bottom: 8px;
}

.bs-search-result-page .bs-page-title {
	display: none;
}

.bs-search-result-page .bs-search-result-header-lines {
	display: block;
}

.bs-search-result-page .bs-search-result-summary {
	margin: 0;
	font-size: 1rem;
	line-height: 1.55;
	color: #4f6278;
}

.bs-search-result-page .bs-search-result-summary__label,
.bs-search-result-page .bs-search-result-meta__label {
	display: inline-block;
	margin-right: 8px;
	font-size: 0.95rem;
	font-weight: 700;
	color: #607086;
}

.bs-search-result-page .bs-search-result-summary__value,
.bs-search-result-page .bs-search-result-meta__value {
	font-weight: 500;
	color: #4f6278;
}

.bs-search-result-page .bs-search-result-toolbar {
	margin-bottom: 14px;
}

.bs-search-result-page .bs-search-result-toolbar__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

.bs-search-result-page .bs-search-result-meta {
	margin: 0;
	font-size: 1rem;
	line-height: 1.55;
	color: #4f6278;
}

.bs-search-result-page .bs-search-result-change-trigger {
	display: none;
}

.bs-search-result-page .bs-search-result-toolbar__sort-form {
	margin: 0;
	display: block;
}

.bs-search-result-page .bs-search-result-toolbar__sort {
	display: flex;
	align-items: center;
	gap: 10px;
}

.bs-search-result-page .bs-search-result-toolbar__sort label {
	font-size: 0.9rem;
	font-weight: 600;
	color: #607086;
}

.bs-search-result-page .bs-search-result-toolbar__sort select {
	min-width: 180px;
	height: 38px;
	padding: 0 12px;
	font-size: 0.92rem;
	border-radius: 10px;
}

.bs-search-result-page .bs-search-result-list-section {
	margin-top: 0;
	margin-bottom: 24px;
}

.bs-search-result-page .bs-side-column {
	top: 20px;
}

.bs-search-result-page .bs-sidebar-block {
	padding: 16px 16px 18px;
	border-radius: 18px;
	box-shadow: 0 6px 20px rgba(20, 84, 124, 0.05);
	background: #f8fbff;
}

.bs-search-result-page .bs-sidebar-search > h2 {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 12px;
	padding: 10px 12px;
	border-radius: 12px;
	background: #14547c;
	color: #fff;
	font-size: 1rem;
	line-height: 1.35;
}

.bs-search-result-page .bs-sidebar-search__icon {
	font-size: 0.95rem;
	line-height: 1;
}

.bs-search-result-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-block__section + .bs-search-block__section {
	margin-top: 16px;
}

.bs-search-result-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-block__title {
	font-size: 0.9rem;
	margin-bottom: 8px;
}

.bs-search-result-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-block__field label {
	font-size: 0.8rem;
}

.bs-search-result-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar select,
.bs-search-result-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar input[type="text"] {
	height: 38px;
	font-size: 0.88rem;
}

.bs-search-result-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-ball-radio-card {
	min-height: 42px;
	padding: 7px 9px;
}

.bs-search-result-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-ball-radio-label {
	font-size: 0.76rem;
	line-height: 1.28;
}

.bs-search-result-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-check-list label {
	padding: 7px 9px;
	font-size: 0.84rem;
}

.bs-search-result-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-accordion-toggle {
	padding: 10px 12px;
	font-size: 0.86rem;
}

.bs-search-result-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-submit-button {
	min-height: 40px;
	font-size: 0.9rem;
}

.bs-search-result-page .bs-sidebar-search .bs-search-block__row--area {
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}

.bs-search-result-page .bs-sidebar-search .bs-search-block__field--compact label {
	display: none;
}

.bs-search-result-page .bs-sidebar-search .bs-info-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: #d9e8f4;
	color: #14547c;
	font-size: 0.7rem;
	font-weight: 700;
	line-height: 1;
	vertical-align: middle;
}

@media (min-width: 1025px) {
	.bs-search-result-page .bs-search-result-research-section {
		display: none;
	}
}

@media (max-width: 1024px) {
	.bs-search-result-page {
		padding: 18px 14px 32px;
	}

	.bs-search-result-page .bs-page-layout {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.bs-search-result-page .bs-search-result-summary,
	.bs-search-result-page .bs-search-result-meta {
		font-size: 0.96rem;
		line-height: 1.5;
	}

	.bs-search-result-page .bs-search-result-summary__label,
	.bs-search-result-page .bs-search-result-meta__label {
		font-size: 0.88rem;
		margin-right: 6px;
	}

	.bs-search-result-page .bs-search-result-toolbar__meta {
		display: block;
	}

	.bs-search-result-page .bs-search-result-change-trigger {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		margin-top: 10px;
		padding: 9px 14px;
		border: 1px solid #dbe3ee;
		border-radius: 10px;
		background: #fff;
		color: #243447;
		font-size: 0.88rem;
		cursor: pointer;
	}

	.bs-search-result-page .bs-search-result-toolbar {
		margin-bottom: 12px;
	}

	.bs-search-result-page .bs-search-result-toolbar__sort {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
		margin-top: 10px;
	}

	.bs-search-result-page .bs-search-result-toolbar__sort select {
		width: 100%;
		min-width: 0;
	}
}

/* ========================================
   BallSpotMAP 検索結果ページ 微調整 v6-safe
   目的：
   ・検索条件 / 検索結果のラベルと値を同一テキスト塊として扱う
   ・スマホで「検索結果：3件のスポット」を1行維持する
   ・PCで並び順を右寄せする
   ・右カラム見出し色を1箇所で調整できるようにする
   ======================================== */

/* -----------------------------
   1. 検索結果ページ：基本幅と上部2段
----------------------------- */
.bs-search-result-page {
	max-width: 1320px;
	padding-top: 20px;
	padding-bottom: 36px;
}

.bs-search-result-page .bs-page-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 28px;
	align-items: start;
}

.bs-search-result-page .bs-page-title {
	display: none;
}

.bs-search-result-page .bs-page-header {
	margin-bottom: 6px;
}

.bs-search-result-page .bs-search-result-header-lines {
	display: block;
}

.bs-search-result-page .bs-search-result-summary,
.bs-search-result-page .bs-search-result-meta {
	margin: 0;
	font-size: 0.98rem;
	line-height: 1.55;
	color: #4f6278;
}

.bs-search-result-page .bs-search-result-summary__text,
.bs-search-result-page .bs-search-result-meta__text {
	display: inline-flex;
	align-items: baseline;
	gap: 0;
	white-space: nowrap;
}

.bs-search-result-page .bs-search-result-summary__label,
.bs-search-result-page .bs-search-result-meta__label {
	display: inline;
	margin: 0;
	padding: 0;
	font-size: 0.92rem;
	font-weight: 700;
	color: #607086;
	white-space: nowrap;
}

.bs-search-result-page .bs-search-result-summary__value,
.bs-search-result-page .bs-search-result-meta__value {
	display: inline;
	margin: 0;
	padding: 0;
	font-weight: 500;
	color: #4f6278;
	white-space: nowrap;
}

/* -----------------------------
   2. 検索結果 + 並び順：PCは左に件数、右に並び順
----------------------------- */
.bs-search-result-page .bs-search-result-toolbar {
	margin: 6px 0 14px;
}

.bs-search-result-page .bs-search-result-toolbar__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
}

.bs-search-result-page .bs-search-result-meta {
	flex: 0 1 auto;
	min-width: 0;
}

.bs-search-result-page .bs-search-result-toolbar__sort-form {
	flex: 0 0 auto;
	margin: 0 0 0 auto;
}

.bs-search-result-page .bs-search-result-toolbar__sort {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	white-space: nowrap;
}

.bs-search-result-page .bs-search-result-toolbar__sort label {
	font-size: 0.9rem;
	font-weight: 600;
	color: #607086;
	white-space: nowrap;
}

.bs-search-result-page .bs-search-result-toolbar__sort select {
	width: auto;
	min-width: 178px;
	height: 38px;
	padding: 0 12px;
	font-size: 0.9rem;
	line-height: 1.2;
	border: 1px solid #dbe3ee;
	border-radius: 10px;
	background: #fff;
	color: #243447;
}

.bs-search-result-page .bs-search-result-change-trigger {
	display: none;
}

.bs-search-result-page .bs-search-result-list-section {
	margin-top: 0;
	margin-bottom: 24px;
}

/* -----------------------------
   3. 右カラム：見出し色はここだけ変更
----------------------------- */
.bs-search-result-page .bs-side-column {
	position: sticky;
	top: 20px;
	align-self: start;
}

.bs-search-result-page .bs-sidebar-block {
	padding: 16px;
	border: 1px solid #dbe3ee;
	border-radius: 18px;
	background: #f8fbff;
	box-shadow: 0 6px 20px rgba(20, 84, 124, 0.05);
}

.bs-search-result-page .bs-sidebar-search > h2,
.bs-search-result-page .bs-sidebar-search__title {
	display: flex;
	align-items: center;
	gap: 8px;
	width: auto;
	margin: -16px -16px 16px;
	padding: 12px 16px;
	border: 0;
	border-bottom: 1px solid #cfd8e6;
	border-radius: 18px 18px 0 0;
	background: #e7edf3;
	color: #243447;
	font-size: 1rem;
	line-height: 1.35;
	font-weight: 700;
	box-sizing: border-box;
}

.bs-search-result-page .bs-sidebar-search__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #ffffff;
	color: #14547c;
	font-size: 0.82rem;
	line-height: 1;
	flex: 0 0 20px;
}

.bs-search-result-page .bs-sidebar-search__title-text {
	min-width: 0;
}

.bs-search-result-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-block__section + .bs-search-block__section {
	margin-top: 16px;
}

.bs-search-result-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-block__title {
	font-size: 0.9rem;
	margin-bottom: 8px;
}

.bs-search-result-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-block__field label {
	font-size: 0.8rem;
}

.bs-search-result-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar select,
.bs-search-result-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar input[type="text"] {
	height: 40px;
	padding: 0 10px;
	font-size: 0.86rem;
	line-height: 1.2;
	border-radius: 9px;
}

.bs-search-result-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-ball-radio-card {
	min-height: 42px;
	padding: 7px 9px;
}

.bs-search-result-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-ball-radio-label {
	font-size: 0.76rem;
	line-height: 1.28;
}

.bs-search-result-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-check-list label {
	padding: 7px 9px;
	font-size: 0.84rem;
}

.bs-search-result-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-accordion-toggle {
	padding: 10px 12px;
	font-size: 0.86rem;
}

.bs-search-result-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-submit-button {
	min-height: 40px;
	font-size: 0.9rem;
}

/* -----------------------------
   4. 右カラム：都道府県 / 市区を上下ズレなく1行2列
----------------------------- */
.bs-search-result-page .bs-sidebar-search .bs-search-block__section--area .bs-search-block__field + .bs-search-block__field {
	margin-top: 0;
}

.bs-search-result-page .bs-sidebar-search .bs-search-block__row--area {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	align-items: start;
}

.bs-search-result-page .bs-sidebar-search .bs-search-block__field--compact {
	display: block;
	min-width: 0;
	margin: 0;
}

.bs-search-result-page .bs-sidebar-search .bs-search-block__field--compact label {
	display: none;
}

.bs-search-result-page .bs-sidebar-search .bs-search-block__field--compact .bs-search-block__field-control {
	display: block;
	width: 100%;
	min-width: 0;
	line-height: 0;
}

.bs-search-result-page .bs-sidebar-search .bs-search-block__field--compact .bs-search-block__field-control select {
	display: block;
	width: 100%;
	height: 40px;
	margin: 0;
	box-sizing: border-box;
}

/* -----------------------------
   5. ? アイコン
----------------------------- */
.bs-search-result-page .bs-sidebar-search .bs-info-icon,
.bs-search-result-page .bs-search-result-research-section .bs-info-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	margin-left: 4px;
	border-radius: 50%;
	background: #dce9f4;
	color: #14547c;
	font-size: 0.72rem;
	font-weight: 700;
	line-height: 1;
	vertical-align: text-bottom;
}

/* -----------------------------
   6. PCでは下部再検索を非表示
----------------------------- */
@media (min-width: 1025px) {
	.bs-search-result-page .bs-search-result-research-section {
		display: none;
	}
}

/* -----------------------------
   7. スマホ / タブレット
----------------------------- */
@media (max-width: 1024px) {
	.bs-search-result-page {
		padding: 18px 14px 32px;
	}

	.bs-search-result-page .bs-page-layout {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.bs-search-result-page .bs-side-column {
		display: none;
	}

	.bs-search-result-page .bs-search-result-summary,
	.bs-search-result-page .bs-search-result-meta {
		font-size: 0.96rem;
		line-height: 1.5;
	}

	.bs-search-result-page .bs-search-result-summary__text,
	.bs-search-result-page .bs-search-result-meta__text {
		display: inline-flex;
		align-items: baseline;
		gap: 0;
		max-width: 100%;
		white-space: nowrap;
	}

	.bs-search-result-page .bs-search-result-summary__label,
	.bs-search-result-page .bs-search-result-meta__label {
		font-size: 0.88rem;
	}

	.bs-search-result-page .bs-search-result-toolbar__meta {
		display: block;
	}

	.bs-search-result-page .bs-search-result-toolbar__sort-form {
		margin-left: 0;
		margin-top: 10px;
	}

	.bs-search-result-page .bs-search-result-toolbar__sort {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		align-items: center;
		gap: 8px;
		width: 100%;
		white-space: nowrap;
	}

	.bs-search-result-page .bs-search-result-toolbar__sort select {
		width: 100%;
		min-width: 0;
	}

	.bs-search-result-page .bs-search-result-change-trigger {
		display: none;
	}

	.bs-search-result-page .bs-search-result-research-section {
		display: block;
		margin-top: 28px;
	}

	.bs-search-result-page .bs-search-result-research-section .bs-search-block__section--area .bs-search-block__field + .bs-search-block__field {
		margin-top: 0;
	}

	.bs-search-result-page .bs-search-result-research-section .bs-search-block__row--area {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
		align-items: start;
	}

	.bs-search-result-page .bs-search-result-research-section .bs-search-block__field--compact {
		margin: 0;
		min-width: 0;
	}

	.bs-search-result-page .bs-search-result-research-section .bs-search-block__field--compact .bs-search-block__field-control select {
		width: 100%;
	}
}

@media (max-width: 480px) {
	.bs-search-result-page .bs-search-result-summary__text,
	.bs-search-result-page .bs-search-result-meta__text {
		white-space: nowrap;
	}

	.bs-search-result-page .bs-search-result-summary__value {
		overflow-wrap: anywhere;
		white-space: normal;
	}
}

/* ========================================
   BallSpotMAP 検索結果ページ 微調整 v12-safe
   目的：
   ・条件未指定/search/の対象エリア2プルダウンをPC/スマホとも1行表示に固定
   ・都道府県・市区の両方必須仕様に合わせた検索開始画面を整える
   ・検索条件サマリーの都道府県/市区リンクを下線つき通常リンクにする
   ・スマホの再検索ボタンは条件ありの検索結果ページだけに表示
======================================== */

/* 条件未指定の /search/ */
.bs-search-result-page--start {
	max-width: 920px;
	padding-top: 28px;
}

.bs-search-result-page--start .bs-search-start-main {
	width: 100%;
}

.bs-search-result-page--start .bs-search-start-card {
	padding: 26px 24px 28px;
	border: 1px solid #dbe3ee;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(20, 84, 124, 0.06);
}

.bs-search-result-page--start .bs-search-start-title {
	margin: 0 0 10px;
	font-size: 1.5rem;
	line-height: 1.4;
	color: #243447;
}

.bs-search-result-page--start .bs-search-start-lead {
	margin: 0 0 22px;
	font-size: 0.96rem;
	line-height: 1.7;
	color: #607086;
}

.bs-search-result-page--start .bs-search-start-form {
	margin-top: 0;
}

/* 条件未指定/search/の対象エリアをPC/スマホとも横並びに固定 */
.bs-search-result-page--start .bs-search-start-form .bs-search-block-wrap.is-bottom .bs-search-block__section--area .bs-search-block__field + .bs-search-block__field {
	margin-top: 0;
}

.bs-search-result-page--start .bs-search-start-form .bs-search-block-wrap.is-bottom .bs-search-block__row--2col.bs-search-block__row--area {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	align-items: start;
}

.bs-search-result-page--start .bs-search-start-form .bs-search-block__field--compact {
	margin: 0;
	min-width: 0;
}

.bs-search-result-page--start .bs-search-start-form .bs-search-block__field--compact .bs-search-block__field-control {
	display: block;
	width: 100%;
	min-width: 0;
	line-height: 0;
}

.bs-search-result-page--start .bs-search-start-form .bs-search-block__field--compact .bs-search-block__field-control select {
	display: block;
	width: 100%;
	height: 44px;
	margin: 0;
	box-sizing: border-box;
}

/* 検索条件サマリー内リンク */
.bs-search-result-page .bs-search-summary-link {
	color: #14547c;
	font-weight: 500;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.bs-search-result-page .bs-search-summary-link:hover {
	color: #0f425f;
	text-decoration: underline;
}

.bs-search-result-page .bs-search-summary-separator {
	display: inline-block;
	margin: 0 6px;
	color: #90a0b2;
}

/* 検索ブロック下部：初めから検索する */
.bs-search-block__reset {
	margin-top: 10px;
	text-align: center;
}

.bs-search-reset-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 28px;
	padding: 0 4px;
	color: #607086;
	font-size: 0.86rem;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
}

.bs-search-reset-link:hover {
	color: #14547c;
	text-decoration: underline;
}

/* PCでは再検索ボタンを出さない */
.bs-search-result-page .bs-search-result-change-trigger {
	display: none;
}

/* PCでは検索結果行 + 並び順を左右に配置 */
.bs-search-result-page .bs-search-result-toolbar__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
}

.bs-search-result-page .bs-search-result-meta-row {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
}

.bs-search-result-page .bs-search-result-meta {
	margin: 0;
}

.bs-search-result-page .bs-search-result-toolbar__sort-form {
	margin: 0 0 0 auto;
	flex: 0 0 auto;
}

/* スマホでは検索結果行の右端に再検索ボタンを出す */
@media (max-width: 1024px) {
	.bs-search-result-page--start {
		padding: 18px 14px 32px;
	}

	.bs-search-result-page--start .bs-search-start-card {
		padding: 22px 18px 24px;
		border-radius: 18px;
	}

	.bs-search-result-page--start .bs-search-start-title {
		font-size: 1.25rem;
	}

	.bs-search-result-page--start .bs-search-start-form .bs-search-block-wrap.is-bottom .bs-search-block__row--2col.bs-search-block__row--area {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
		align-items: start;
	}

	.bs-search-result-page--start .bs-search-start-form .bs-search-block-wrap.is-bottom .bs-search-block__section--area .bs-search-block__field + .bs-search-block__field {
		margin-top: 0;
	}

	.bs-search-result-page .bs-search-result-toolbar__meta {
		display: block;
	}

	.bs-search-result-page .bs-search-result-meta-row {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 10px;
		width: 100%;
	}

	.bs-search-result-page .bs-search-result-meta {
		display: inline-flex;
		align-items: baseline;
		gap: 0;
		min-width: 0;
		margin: 0;
		white-space: nowrap;
	}

	.bs-search-result-page .bs-search-result-meta__text {
		display: inline-flex;
		align-items: baseline;
		gap: 0;
		white-space: nowrap;
	}

	.bs-search-result-page .bs-search-result-change-trigger {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex: 0 0 auto;
		min-height: 32px;
		padding: 0 12px;
		border: 1px solid #dbe3ee;
		border-radius: 999px;
		background: #fff;
		color: #14547c;
		font-size: 0.82rem;
		font-weight: 700;
		line-height: 1;
		cursor: pointer;
	}

	.bs-search-result-page .bs-search-result-toolbar__sort-form {
		margin: 10px 0 0;
	}
}

@media (max-width: 480px) {
	.bs-search-result-page--start .bs-search-start-form .bs-search-block-wrap.is-bottom .bs-search-block__row--2col.bs-search-block__row--area {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
	}
}

/* ========================================
   BallSpotMAP 検索ブロック 補足説明・詳細条件 v17-safe
   目的：
   ・はてな補足説明を既存メニューの上に重ねて表示する
   ・詳細条件ポップアップ表示時に上部メニューもページ本体と同じ暗幕色で覆う
   ・詳細条件ポップアップ下部ボタンを「決定」にする
======================================== */

.bs-search-required-note {
	font-size: 0.78rem;
	font-weight: 600;
	color: #7a8796;
}

.bs-search-block__section--ball,
.bs-search-block__section--score {
	position: relative;
}

.bs-search-block__title--with-help {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 6px;
	position: relative;
}

.bs-info-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #dce9f4;
	color: #14547c;
	font-size: 0.72rem;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	vertical-align: text-bottom;
	flex: 0 0 18px;
}

.bs-info-button:hover,
.bs-info-button[aria-expanded="true"] {
	background: #14547c;
	color: #ffffff;
}

.bs-info-popover {
	position: absolute;
	left: 0;
	right: 0;
	top: 34px;
	z-index: 30;
	margin: 0;
	padding: 10px 12px;
	border: 1px solid #dbe3ee;
	border-radius: 10px;
	background: #ffffff;
	color: #4f6278;
	font-size: 0.82rem;
	line-height: 1.65;
	box-shadow: 0 12px 28px rgba(20, 84, 124, 0.16);
	box-sizing: border-box;
}

.bs-info-popover::before {
	content: "";
	position: absolute;
	top: -7px;
	left: 130px;
	width: 12px;
	height: 12px;
	border-left: 1px solid #dbe3ee;
	border-top: 1px solid #dbe3ee;
	background: #ffffff;
	transform: rotate(45deg);
}

.bs-search-block-wrap.is-sidebar .bs-info-popover {
	top: 30px;
	font-size: 0.78rem;
	line-height: 1.55;
}

.bs-search-block-wrap.is-sidebar .bs-info-popover::before {
	left: 120px;
}

/* 詳細条件モーダル：固定ヘッダーより前面に出し、暗幕を画面全体にかける */
.bs-search-detail-modal {
	position: fixed !important;
	inset: 0 !important;
	z-index: 2147483600 !important;
	width: 100vw !important;
	height: 100vh !important;
	pointer-events: auto !important;
}

.bs-search-detail-modal__overlay {
	position: fixed !important;
	inset: 0 !important;
	z-index: 2147483601 !important;
	background: rgba(20, 30, 40, 0.34);
}

.bs-search-detail-modal__dialog {
	position: fixed !important;
	left: 50% !important;
	top: 128px !important;
	transform: translateX(-50%) !important;
	width: min(92vw, 560px);
	max-height: calc(100vh - 164px);
	margin: 0 !important;
	z-index: 2147483602 !important;
}

/* 詳細条件モーダルの暗幕を全画面に1枚だけかける。
   ヘッダー/ナビ個別の補助暗幕は使わず、暗さの二重化を防ぐ。 */
.bs-search-detail-modal__header h4 {
	font-weight: 700;
}

.bs-search-detail-modal__lead {
	margin: 0 0 16px;
	font-size: 0.9rem;
	line-height: 1.7;
	color: #607086;
}

.bs-search-detail-group {
	padding: 14px 14px 16px;
	border: 1px solid #dbe3ee;
	border-radius: 14px;
	background: #fbfcfe;
}

.bs-search-detail-group + .bs-search-detail-group {
	margin-top: 14px;
}

.bs-search-detail-group__title {
	margin: 0 0 4px;
	font-size: 0.98rem;
	line-height: 1.45;
	font-weight: 700;
	color: #243447;
}

.bs-search-detail-group__lead {
	margin: 0 0 12px;
	font-size: 0.82rem;
	line-height: 1.6;
	color: #607086;
}

.bs-search-detail-group .bs-search-block__field + .bs-search-block__field,
.bs-search-detail-score-grid .bs-search-block__field + .bs-search-block__field {
	margin-top: 0;
}

.bs-search-check-list--compact {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}

.bs-search-detail-score-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.bs-search-detail-modal__footer {
	margin-top: 16px;
	padding-top: 14px;
	border-top: 1px solid #e4e9f1;
	text-align: right;
}

.bs-search-detail-modal__close-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 0 22px;
	border: 1px solid #14547c;
	border-radius: 999px;
	background: #14547c;
	color: #ffffff;
	font-size: 0.9rem;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
}

.bs-search-detail-modal__close-button:hover {
	background: #114767;
}

.bs-search-accordion-body .bs-search-detail-group {
	background: #ffffff;
}

@media (max-width: 768px) {
	.bs-info-popover {
		top: 32px;
		font-size: 0.8rem;
		line-height: 1.6;
	}

	.bs-search-detail-modal__dialog {
		width: min(94vw, 560px);
		max-height: calc(100vh - 100px);
		top: 76px !important;
	}

	.bs-search-check-list--compact,
	.bs-search-detail-score-grid {
		grid-template-columns: 1fr;
	}

	.bs-search-detail-group {
		padding: 13px 12px 14px;
	}

	.bs-search-detail-modal__footer {
		text-align: center;
	}

	.bs-search-detail-modal__close-button {
		width: 100%;
	}
}

/* ========================================
   BallSpotMAP 詳細条件モーダル v21-safe
   目的：
   ・上部ナビメニューの明るさをヘッダーの暗幕色に近づける
   ・ヘッダー全体はv19/v20の自然な暗さを維持する
   ・ポップアップ位置・決定ボタン・はてな説明は維持する
======================================== */

/* 上部ナビだけにヘッダーと同程度の暗幕を重ねる。ヘッダー全体には追加しない。 */
body.bs-search-detail-modal-open .main-navigation,
body.bs-search-detail-modal-open #site-navigation,
body.bs-search-detail-modal-open .navigation-stick,
body.bs-search-detail-modal-open .sticky-enabled .main-navigation.is_stuck {
	position: relative;
	isolation: isolate;
}

body.bs-search-detail-modal-open .main-navigation::after,
body.bs-search-detail-modal-open #site-navigation::after,
body.bs-search-detail-modal-open .navigation-stick::after,
body.bs-search-detail-modal-open .sticky-enabled .main-navigation.is_stuck::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2147483599;
	pointer-events: none;
	background: rgba(20, 30, 40, 0.34);
}

/* ========================================
   BallSpotMAP 検索ブロック ボール・用具アイコン差し替え v22-safe
   目的：
   ・検索UI内のボール・用具アイコンを画像素材で表示する
   ・既存レイアウトを崩さず、CSS側で表示サイズを制御する
   ・ボール・用具アイコンの表示サイズはこのブロックで調整する
======================================== */

/* 全レイアウト共通：ボール・用具アイコン画像の外枠サイズ */
.bs-search-ball-radio-icon--image {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 24px;
	width: 24px;
	height: 24px;
	line-height: 1;
}

/* 全レイアウト共通：ボール・用具アイコン画像そのものの表示サイズ */
.bs-search-ball-radio-icon--image img {
	display: block;
	width: 24px;
	height: 24px;
	object-fit: contain;
}

/* PC右カラム検索ブロック内だけのアイコン外枠サイズ */
.bs-search-block-wrap.is-sidebar .bs-search-ball-radio-icon--image {
	flex-basis: 22px;
	width: 22px;
	height: 22px;
}

/* PC右カラム検索ブロック内だけのアイコン画像表示サイズ */
.bs-search-block-wrap.is-sidebar .bs-search-ball-radio-icon--image img {
	width: 22px;
	height: 22px;
}

/* モーダル検索・下部検索ブロック内のアイコン外枠サイズ */
.bs-search-block-wrap.is-modal .bs-search-ball-radio-icon--image,
.bs-search-block-wrap.is-bottom .bs-search-ball-radio-icon--image {
	flex-basis: 26px;
	width: 26px;
	height: 26px;
}

/* モーダル検索・下部検索ブロック内のアイコン画像表示サイズ */
.bs-search-block-wrap.is-modal .bs-search-ball-radio-icon--image img,
.bs-search-block-wrap.is-bottom .bs-search-ball-radio-icon--image img {
	width: 26px;
	height: 26px;
}


/* ========================================
   BallSpotMAP 検索UI 微調整 v23-minimal
   目的：
   ・詳細条件内の小見出しラベル先頭に小さなアイコンを表示する
   ・スマホ検索結果ページ下部のボール/用具を2列表示にする
   注意：既存の検索ブロック機能・既存コメントは変更しない
======================================== */

/* 詳細条件内：小見出しラベルのアイコン表示 */
.bs-search-detail-modal__body .bs-search-block__field label,
.bs-search-accordion-body .bs-search-block__field label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.bs-search-detail-label-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #e7edf3;
	color: #14547c;
	font-size: 0.74rem;
	font-weight: 700;
	line-height: 1;
	flex: 0 0 18px;
}

/* スマホ検索結果ページ下部：ボール/用具を1行2個で表示 */
@media (max-width: 1024px) {
	.bs-search-result-page .bs-search-result-research-section .bs-search-block-wrap.is-bottom .bs-search-ball-radio-grid {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}
}

/* 480px以下でも検索結果ページ下部のボール/用具は2列を維持 */
@media (max-width: 480px) {
	.bs-search-result-page .bs-search-result-research-section .bs-search-block-wrap.is-bottom .bs-search-ball-radio-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
	}

	.bs-search-result-page .bs-search-result-research-section .bs-search-block-wrap.is-bottom .bs-search-ball-radio-card {
		gap: 7px;
		padding: 8px 9px;
	}

	.bs-search-result-page .bs-search-result-research-section .bs-search-block-wrap.is-bottom .bs-search-ball-radio-label {
		font-size: 0.8rem;
		line-height: 1.3;
	}
}

/* ========================================
   BallSpotMAP 検索UI 微調整 v23.1-minimal
   目的：
   ・スマホ検索結果ページ下部のボール/用具を2列表示にする指定を強化
   ・既存の検索ブロック機能・既存コメントは変更しない
======================================== */

/* スマホ検索結果ページ下部：親セクション名に依存しすぎず、is-bottom検索ブロック内のボール/用具を2列維持 */
@media (max-width: 1024px) {
	.bs-search-result-page .bs-search-block-wrap.is-bottom .bs-search-ball-radio-grid {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}
}

/* 480px以下でも検索結果ページ下部のボール/用具は2列を維持 */
@media (max-width: 480px) {
	.bs-search-result-page .bs-search-block-wrap.is-bottom .bs-search-ball-radio-grid {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
	}

	.bs-search-result-page .bs-search-block-wrap.is-bottom .bs-search-ball-radio-card {
		gap: 7px;
		padding: 8px 9px;
	}

	.bs-search-result-page .bs-search-block-wrap.is-bottom .bs-search-ball-radio-label {
		font-size: 0.8rem;
		line-height: 1.3;
	}
}

/* ========================================
   BallSpotMAP 検索UI 微調整 v23.2-minimal
   目的：
   ・詳細条件内の小見出しアイコンだけを色分けして視認性を上げる
   ・当該アイコン以外の検索ブロック機能・レイアウト・既存コメントは変更しない
======================================== */

/* 地面素材アイコン：地面・素材を連想しやすい青緑系 */
.bs-search-detail-label-icon--surface {
	background: #dff4ef;
	color: #1b7f72;
}

/* 雨天適性スコアアイコン：雨を連想しやすい青系 */
.bs-search-detail-label-icon--rain {
	background: #e1f0ff;
	color: #1f6fb2;
}

/* 夜間適性スコアアイコン：夜を連想しやすい紺紫系 */
.bs-search-detail-label-icon--night {
	background: #e9e7ff;
	color: #4d56b3;
}

/* 広さスコアアイコン：広がりを連想しやすいオレンジ系 */
.bs-search-detail-label-icon--size {
	background: #fff0d8;
	color: #b66500;
}

/* 安全性スコアアイコン：安全・確認を連想しやすいグリーン系 */
.bs-search-detail-label-icon--safety {
	background: #e4f6e8;
	color: #238047;
}

/* ========================================
   BallSpotMAP 検索UI 微調整 v23.3-minimal
   目的：
   ・詳細条件内の「地面素材」アイコンだけを非表示にする
   ・その他のアイコン・検索ブロック機能・レイアウト・既存コメントは変更しない
======================================== */

.bs-search-detail-label-icon--surface {
	display: none;
}


/* ========================================
   BallSpotMAP 検索UI 微調整 v23.7-minimal
   目的：
   ・詳細条件内の「環境スコア」見出し右横に補足説明のはてなボタンを追加する
   ・既存の検索ブロック機能・レイアウト・既存コメントは変更しない
======================================== */

.bs-search-detail-group--score {
	position: relative;
}

.bs-search-detail-group__title--with-help {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 6px;
}

.bs-search-detail-group--score .bs-info-popover--detail-score {
	left: 14px;
	right: 14px;
	top: 42px;
	z-index: 40;
}

.bs-search-detail-group--score .bs-info-popover--detail-score::before {
	left: 92px;
}

@media (max-width: 768px) {
	.bs-search-detail-group--score .bs-info-popover--detail-score {
		top: 40px;
	}
}


/* ========================================
   BallSpotMAP 一覧カード スコア★表示 v27-minimal
   目的：
   ・カード内のボール適性スコア / 環境スコアを0.5刻みの★表示にする
   ・星色を参考画像に近いゴールド系にする
   ・一覧カード内の星表示だけに限定し、検索ブロックや個別ページには影響させない
======================================== */

.bs-spot-card .bs-spot-card-star {
	display: inline-block;
	position: relative;
	width: 1em;
	line-height: 1;
	letter-spacing: 0;
}

.bs-spot-card .bs-spot-card-star--full {
	color: #f4bf32;
}

.bs-spot-card .bs-spot-card-star--empty {
	color: #d7dee8;
}

.bs-spot-card .bs-spot-card-star--half {
	color: #d7dee8;
}

.bs-spot-card .bs-spot-card-star--half::before {
	content: "★";
	position: absolute;
	left: 0;
	top: 0;
	width: 50%;
	overflow: hidden;
	color: #f4bf32;
}

.bs-spot-card .bs-spot-card__ball-stars,
.bs-spot-card .bs-spot-card__score-stars {
	display: inline-flex;
	align-items: center;
	gap: 1px;
	white-space: nowrap;
}

.bs-spot-card .bs-spot-card__score-label {
	white-space: nowrap;
}


/* ========================================
   BallSpotMAP 一覧カード スコア表示レイアウト微調整 v28-safe
   目的：
   ・公園名とボールスコア表示の間隔を少し詰める
   ・ボールアイコンと星の間隔を少し広げる
   ・ボールスコア表示エリアに淡い背景色を付ける
   ・既存のカード構造と検索ブロックには影響させない
======================================== */

/* 公園名とボールスコア表示の間隔を詰める */
.bs-spot-card__title {
	margin-bottom: 7px;
	min-height: auto;
}

/* ボールスコア表示エリアを淡い背景つきのまとまりにする */
.bs-spot-card__ball {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 38px;
	margin-bottom: 10px;
	padding: 8px 10px;
	border-radius: 12px;
	background: #f8fafc;
	box-sizing: border-box;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* flexのgapで間隔を管理するため、既存の隣接marginを無効化 */
.bs-spot-card__ball-item + .bs-spot-card__ball-item {
	margin-left: 0;
}

/* ボールアイコンと星の間隔を少し広げる */
.bs-spot-card__ball-item {
	display: inline-flex;
	align-items: center;
	white-space: nowrap;
}

.bs-spot-card__ball-icon-img {
	margin-right: 0.34em !important;
}

/* タブレット以下はカード幅に合わせて背景内の余白を少しだけ詰める */
@media (max-width: 1024px) {
	.bs-spot-card__title {
		margin-bottom: 6px;
	}

	.bs-spot-card__ball {
		gap: 10px;
		min-height: 34px;
		margin-bottom: 8px;
		padding: 7px 8px;
	}
}

/* 極小画面でもボールスコア背景が窮屈になりすぎないよう微調整 */
@media (max-width: 480px) {
	.bs-spot-card__ball {
		gap: 8px;
		padding: 6px 7px;
	}

	.bs-spot-card__ball-icon-img {
		margin-right: 0.28em !important;
	}
}


/* ========================================
   BallSpotMAP 一覧カード 補助情報レイアウト微調整 v31-safe
   目的：
   ・カード内の補助情報をボールスコア表示エリアと近い幅感で中央揃えにする
   ・「広さ」と「防球柵」の区切りをスラッシュではなく縦線にする
   ・検索ブロックやボール表示ルールには影響させない
======================================== */

.bs-spot-card__scores {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	min-height: 0;
	margin: 0 0 12px;
	padding: 0 10px;
	box-sizing: border-box;
	font-size: 0.86rem;
	line-height: 1.5;
	color: #607086;
	text-align: center;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.bs-spot-card__scores .bs-spot-card__score-item {
	display: inline-flex;
	align-items: baseline;
	white-space: nowrap;
}

.bs-spot-card__scores .bs-spot-card__score-separator {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0 2px;
	color: #b6c1cf;
	font-weight: 600;
}

@media (max-width: 1024px) {
	.bs-spot-card__scores {
		gap: 6px;
		margin-bottom: 10px;
		padding: 0 8px;
		font-size: 0.78rem;
		line-height: 1.45;
	}

	.bs-spot-card__scores .bs-spot-card__score-separator {
		margin: 0 1px;
	}
}

@media (max-width: 480px) {
	.bs-spot-card__scores {
		gap: 5px;
		padding: 0 6px;
		font-size: 0.72rem;
	}
}


/* ========================================
   BallSpotMAP 一覧カード 公園名2行枠復元 v32-safe
   目的：
   ・v28で詰めた公園名とボールスコアの間隔は維持する
   ・一方で、カードごとの高さが揺れないよう公園名の2行枠固定を復活する
   ・検索ブロック、ボール表示ルール、補助情報、既存コメントには影響させない
======================================== */

/* PC・タブレット：公園名は2行分の高さを確保 */
.bs-spot-card__title {
	min-height: calc(1.4em * 2);
}

/* 極小画面：既存のline-height 1.35に合わせて2行分を確保 */
@media (max-width: 480px) {
	.bs-spot-card__title {
		min-height: calc(1.35em * 2);
	}
}

/* ========================================
   BallSpotMAP 一覧カード 住所・最寄り駅表示 v35-safe
   目的：
   ・広さ/防球柵の下に区切り線を配置する
   ・区切り線の開始位置を住所/駅アイコンと揃え、左右余白を均等にする
   ・カード下部に住所と最寄り駅をフラットなアイコン付きで表示する
   ・住所/最寄り駅のアイコン位置をボールスコア行の先頭アイコン位置に近づける
   ・検索ブロック、ボール表示ルール、補助情報、既存コメントには影響させない
======================================== */

.bs-spot-card__station {
	position: relative;
	margin-top: auto;
	padding: 14px 10px 0;
	border-top: 0;
	font-size: 0.86rem;
	line-height: 1.45;
	color: #607086;
	white-space: normal;
	overflow: visible;
	text-overflow: clip;
}

.bs-spot-card__station::before {
	content: "";
	position: absolute;
	top: 0;
	left: 10px;
	right: 10px;
	border-top: 1px solid #e4e9f1;
}

.bs-spot-card__access-row {
	display: grid;
	grid-template-columns: 1.05em minmax(0, 1fr);
	align-items: center;
	column-gap: 10px;
	min-width: 0;
}

.bs-spot-card__access-row + .bs-spot-card__access-row {
	margin-top: 6px;
}

.bs-spot-card__access-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.05em;
	height: 1.05em;
	line-height: 1;
	color: #5f86ad;
	flex: 0 0 1.05em;
}

.bs-spot-card__access-icon--address::before {
	content: "〒";
	font-size: 0.96em;
	font-weight: 800;
	line-height: 1;
}

/* 最寄り駅アイコン：CSSで描くシンプルな電車正面アイコン */
.bs-spot-card__access-icon--station {
	position: relative;
	width: 1.05em;
	height: 1.08em;
	color: #5f86ad;
	border: 2px solid currentColor;
	border-radius: 0.16em 0.16em 0.24em 0.24em;
	box-sizing: border-box;
}

.bs-spot-card__access-icon--station::before {
	content: "";
	position: absolute;
	left: 0.18em;
	right: 0.18em;
	top: 0.16em;
	height: 0.35em;
	border: 2px solid currentColor;
	border-radius: 0.08em;
	box-sizing: border-box;
}

.bs-spot-card__access-icon--station::after {
	content: "";
	position: absolute;
	left: 0.18em;
	right: 0.18em;
	bottom: 0.1em;
	height: 0.22em;
	background:
		radial-gradient(circle at 0.08em 50%, currentColor 0 0.055em, transparent 0.06em),
		radial-gradient(circle at calc(100% - 0.08em) 50%, currentColor 0 0.055em, transparent 0.06em),
		linear-gradient(currentColor, currentColor) 50% 100% / 62% 2px no-repeat;
}

.bs-spot-card__access-text {
	display: block;
	min-width: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

@media (max-width: 1024px) {
	.bs-spot-card__station {
		padding: 12px 8px 0;
		font-size: 0.78rem;
		line-height: 1.4;
	}

	.bs-spot-card__station::before {
		left: 8px;
		right: 8px;
	}

	.bs-spot-card__access-row {
		column-gap: 8px;
	}

	.bs-spot-card__access-row + .bs-spot-card__access-row {
		margin-top: 5px;
	}
}

@media (max-width: 480px) {
	.bs-spot-card__station {
		padding: 11px 6px 0;
		font-size: 0.72rem;
		line-height: 1.35;
	}

	.bs-spot-card__station::before {
		left: 6px;
		right: 6px;
	}

	.bs-spot-card__access-row {
		column-gap: 7px;
	}
}

/* ========================================
   BallSpotMAP 一覧カード 住所・最寄り駅アイコン画像化 v39-safe
   目的：
   ・カード下部の住所/最寄り駅アイコンをCSS描画から提供SVG画像に差し替える
   ・住所/最寄り駅の表示ロジック、ボール表示、検索ブロック、既存コメントには影響させない
======================================== */

.bs-spot-card__access-icon--address,
.bs-spot-card__access-icon--station {
	display: inline-block;
	width: 1.12em;
	height: 1.12em;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	border: 0;
	border-radius: 0;
	box-sizing: border-box;
	color: inherit;
}

.bs-spot-card__access-icon--address {
	background-image: url("assets/img/card-icons/address-icon.svg");
}

.bs-spot-card__access-icon--station {
	background-image: url("assets/img/card-icons/station-icon.svg");
}

.bs-spot-card__access-icon--address::before,
.bs-spot-card__access-icon--station::before,
.bs-spot-card__access-icon--station::after {
	content: none;
	display: none;
}

/* ========================================
   BallSpotMAP 検索UI アイコンSVG差し替え v40.1-safe
   目的：
   ・詳細条件ポップアップ内の環境スコア系アイコンを指定SVGに差し替える
   ・アイコンと項目名を1行で表示する
   ・はてなボタンの外枠・タップ領域は維持し、中身だけ指定SVGに差し替える
   ・カード下部の住所/最寄り駅SVGアイコン表示には影響させない
======================================== */

/* 詳細条件内：雨天/夜間/広さ/安全性のラベルはアイコンとテキストを必ず1行に揃える */
.bs-search-detail-score-grid .bs-search-block__field label {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	flex-wrap: nowrap;
	gap: 6px;
	white-space: nowrap;
}

/* 詳細条件内：雨天/夜間/広さ/安全性アイコンをSVGマスクで表示 */
.bs-search-detail-score-grid .bs-search-detail-label-icon--rain,
.bs-search-detail-score-grid .bs-search-detail-label-icon--night,
.bs-search-detail-score-grid .bs-search-detail-label-icon--size,
.bs-search-detail-score-grid .bs-search-detail-label-icon--safety {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	line-height: 1;
	border-radius: 50%;
	background: none;
	font-size: 0;
	overflow: hidden;
}

.bs-search-detail-score-grid .bs-search-detail-label-icon--rain::before,
.bs-search-detail-score-grid .bs-search-detail-label-icon--night::before,
.bs-search-detail-score-grid .bs-search-detail-label-icon--size::before,
.bs-search-detail-score-grid .bs-search-detail-label-icon--safety::before {
	content: "";
	display: block;
	width: 15px;
	height: 15px;
	background-color: currentColor;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.bs-search-detail-score-grid .bs-search-detail-label-icon--rain {
	color: #3aabd2;
}

.bs-search-detail-score-grid .bs-search-detail-label-icon--rain::before {
	-webkit-mask-image: url("assets/img/search-icons/rain-score.svg");
	mask-image: url("assets/img/search-icons/rain-score.svg");
}

.bs-search-detail-score-grid .bs-search-detail-label-icon--night {
	color: #3b3d72;
}

.bs-search-detail-score-grid .bs-search-detail-label-icon--night::before {
	-webkit-mask-image: url("assets/img/search-icons/night-score.svg");
	mask-image: url("assets/img/search-icons/night-score.svg");
}

.bs-search-detail-score-grid .bs-search-detail-label-icon--size {
	color: #bf6248;
}

.bs-search-detail-score-grid .bs-search-detail-label-icon--size::before {
	-webkit-mask-image: url("assets/img/search-icons/size-score.svg");
	mask-image: url("assets/img/search-icons/size-score.svg");
}

.bs-search-detail-score-grid .bs-search-detail-label-icon--safety {
	color: #28824b;
}

.bs-search-detail-score-grid .bs-search-detail-label-icon--safety::before {
	-webkit-mask-image: url("assets/img/search-icons/safety-score.svg");
	mask-image: url("assets/img/search-icons/safety-score.svg");
}

/* はてなボタン：ボタンの外枠・タップ領域は維持し、中身だけSVGに差し替える */
.bs-info-button {
	font-size: 0;
}

.bs-info-button::before {
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	background-color: currentColor;
	-webkit-mask-image: url("assets/img/search-icons/help-icon.svg");
	mask-image: url("assets/img/search-icons/help-icon.svg");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}


/* ========================================
   BallSpotMAP 検索UI アイコン色管理 v40.2-safe
   目的：
   ・詳細条件ポップアップ内のSVGアイコン色をstyle.css側で一元管理する
   ・はてなボタンは通常時を青系、ホバー時/開いた状態を白系にする
   ・検索機能、カード表示、既存コメントには影響させない
======================================== */

/* はてなボタン：通常時は青系 */
.bs-info-button {
	color: #14547c;
}

/* はてなボタン：ホバー時・開いた状態は白系 */
.bs-info-button:hover,
.bs-info-button[aria-expanded="true"] {
	color: #ffffff;
}


/* ========================================
   BallSpotMAP 検索結果ページ v48
   目的：検索条件サマリー内の都道府県・市区リンク色を本文色に戻す
   対象：検索結果ページ上部「検索条件：東京都 / 中央区」のリンクのみ
======================================== */
.bs-search-result-page .bs-search-result-summary__value a,
.bs-search-result-page .bs-search-result-summary__value a:visited {
	color: #4f6278;
	text-decoration: underline;
	text-underline-offset: 0.16em;
}

.bs-search-result-page .bs-search-result-summary__value a:hover,
.bs-search-result-page .bs-search-result-summary__value a:focus {
	color: #4f6278;
	text-decoration: underline;
}


/* ========================================
   BallSpotMAP 市区ページ UI同期 v51-safe
   目的：
   ・検索結果ページで確定した一覧/右カラム/下部検索の見た目を市区ページにも最小範囲で反映
   ・カード表示ロジック、検索機能、既存コメントは変更しない
======================================== */

/* PC：検索結果ページと同じ2カラム幅感に近づける */
.bs-municipality-page .bs-page-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 28px;
	align-items: start;
}

.bs-municipality-page .bs-main-column {
	min-width: 0;
}

.bs-municipality-page .bs-side-column {
	position: sticky;
	top: 20px;
	align-self: start;
}

/* 件数/並び順：検索結果ページの上部UIに寄せる */
.bs-municipality-page .bs-list-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	margin: 6px 0 14px;
}

.bs-municipality-page .bs-list-toolbar__count {
	margin: 0;
	font-size: 0.98rem;
	line-height: 1.55;
	font-weight: 700;
	color: #607086;
}

.bs-municipality-page .bs-list-toolbar__sort {
	margin-left: auto;
}

.bs-municipality-page .bs-municipality-sort-form {
	margin: 0;
	display: block;
}

.bs-municipality-page .bs-municipality-sort-form label,
.bs-municipality-page .bs-list-toolbar__sort label {
	font-size: 0.9rem;
	font-weight: 600;
	color: #607086;
	white-space: nowrap;
}

.bs-municipality-page .bs-municipality-sort-form select,
.bs-municipality-page .bs-list-toolbar__sort select {
	width: auto;
	min-width: 178px;
	height: 38px;
	padding: 0 12px;
	font-size: 0.9rem;
	line-height: 1.2;
	border: 1px solid #dbe3ee;
	border-radius: 10px;
	background: #fff;
	color: #243447;
}

/* 右カラム検索：検索結果ページの最新UIに寄せる */
.bs-municipality-page .bs-sidebar-block {
	padding: 16px;
	border: 1px solid #dbe3ee;
	border-radius: 18px;
	background: #f8fbff;
	box-shadow: 0 6px 20px rgba(20, 84, 124, 0.05);
}

.bs-municipality-page .bs-sidebar-search > h2,
.bs-municipality-page .bs-sidebar-search__title {
	display: flex;
	align-items: center;
	gap: 8px;
	width: auto;
	margin: -16px -16px 16px;
	padding: 12px 16px;
	border: 0;
	border-bottom: 1px solid #cfd8e6;
	border-radius: 18px 18px 0 0;
	background: #e7edf3;
	color: #243447;
	font-size: 1rem;
	line-height: 1.35;
	font-weight: 700;
	box-sizing: border-box;
}

.bs-municipality-page .bs-sidebar-search__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #ffffff;
	color: #14547c;
	font-size: 0.82rem;
	line-height: 1;
	flex: 0 0 20px;
}

.bs-municipality-page .bs-sidebar-search__title-text {
	min-width: 0;
}

.bs-municipality-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-block__section + .bs-search-block__section {
	margin-top: 16px;
}

.bs-municipality-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-block__title {
	font-size: 0.9rem;
	margin-bottom: 8px;
}

.bs-municipality-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-block__field label {
	font-size: 0.8rem;
}

.bs-municipality-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar select,
.bs-municipality-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar input[type="text"] {
	height: 40px;
	padding: 0 10px;
	font-size: 0.86rem;
	line-height: 1.2;
	border-radius: 9px;
}

.bs-municipality-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-ball-radio-card {
	min-height: 42px;
	padding: 7px 9px;
}

.bs-municipality-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-ball-radio-label {
	font-size: 0.76rem;
	line-height: 1.28;
}

.bs-municipality-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-check-list label {
	padding: 7px 9px;
	font-size: 0.84rem;
}

.bs-municipality-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-accordion-toggle {
	padding: 10px 12px;
	font-size: 0.86rem;
}

.bs-municipality-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-submit-button {
	min-height: 40px;
	font-size: 0.9rem;
}

.bs-municipality-page .bs-sidebar-search .bs-search-block__section--area .bs-search-block__field + .bs-search-block__field {
	margin-top: 0;
}

.bs-municipality-page .bs-sidebar-search .bs-search-block__row--area {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	align-items: start;
}

.bs-municipality-page .bs-sidebar-search .bs-search-block__field--compact {
	display: block;
	min-width: 0;
	margin: 0;
}

.bs-municipality-page .bs-sidebar-search .bs-search-block__field--compact label {
	display: none;
}

.bs-municipality-page .bs-sidebar-search .bs-search-block__field--compact .bs-search-block__field-control {
	display: block;
	width: 100%;
	min-width: 0;
	line-height: 0;
}

.bs-municipality-page .bs-sidebar-search .bs-search-block__field--compact .bs-search-block__field-control select {
	display: block;
	width: 100%;
	height: 40px;
	margin: 0;
	box-sizing: border-box;
}

/* PCでは下部検索を非表示 */
@media (min-width: 1025px) {
	.bs-municipality-page .bs-page-bottom-search {
		display: none;
	}
}

/* スマホ/タブレット：右カラムは隠し、下部検索を検索結果ページに近い表示へ */
@media (max-width: 1024px) {
	.bs-municipality-page {
		padding: 18px 14px 32px;
	}

	.bs-municipality-page .bs-page-layout {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.bs-municipality-page .bs-side-column {
		display: none;
	}

	.bs-municipality-page .bs-list-toolbar {
		display: block;
		margin-bottom: 12px;
	}

	.bs-municipality-page .bs-list-toolbar__count {
		font-size: 0.96rem;
		line-height: 1.5;
	}

	.bs-municipality-page .bs-list-toolbar__sort {
		width: 100%;
		margin-top: 10px;
		margin-left: 0;
	}

	.bs-municipality-page .bs-municipality-sort-form {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		align-items: center;
		gap: 8px;
		width: 100%;
		white-space: nowrap;
	}

	.bs-municipality-page .bs-municipality-sort-form select,
	.bs-municipality-page .bs-list-toolbar__sort select {
		width: 100%;
		min-width: 0;
	}

	.bs-municipality-page .bs-page-bottom-search {
		display: block;
		margin-top: 28px;
	}

	.bs-municipality-page .bs-page-bottom-search .bs-search-block__section--area .bs-search-block__field + .bs-search-block__field {
		margin-top: 0;
	}

	.bs-municipality-page .bs-page-bottom-search .bs-search-block__row--area {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
		align-items: start;
	}

	.bs-municipality-page .bs-page-bottom-search .bs-search-block__field--compact {
		margin: 0;
		min-width: 0;
	}

	.bs-municipality-page .bs-page-bottom-search .bs-search-block__field--compact .bs-search-block__field-control select {
		width: 100%;
	}

	.bs-municipality-page .bs-page-bottom-search .bs-search-block-wrap.is-bottom .bs-search-ball-radio-grid {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}
}

/* 480px以下でも市区ページ下部のボール/用具は2列を維持 */
@media (max-width: 480px) {
	.bs-municipality-page .bs-page-bottom-search .bs-search-block-wrap.is-bottom .bs-search-ball-radio-grid {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
	}

	.bs-municipality-page .bs-page-bottom-search .bs-search-block-wrap.is-bottom .bs-search-ball-radio-card {
		gap: 7px;
		padding: 8px 9px;
	}

	.bs-municipality-page .bs-page-bottom-search .bs-search-block-wrap.is-bottom .bs-search-ball-radio-label {
		font-size: 0.8rem;
		line-height: 1.3;
	}
}


/* ========================================
   BallSpotMAP 市区ページ 微調整 v52-safe
   目的：
   ・市区ページの文言/パンくず/掲載数/スマホ絞り込みボタン/エリア導線だけを調整
   ・検索ブロックPHP、カード部品、検索結果ページ、並び順ロジックは変更しない
======================================== */

/* パンくずリンク：本文色に近い控えめなリンク色へ固定 */
.bs-municipality-page .bs-breadcrumb a,
.bs-municipality-page .bs-breadcrumb a:visited,
.bs-municipality-page .bs-breadcrumb a:hover,
.bs-municipality-page .bs-breadcrumb a:focus {
	color: #4f6278;
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* 掲載数行：スマホの「絞り込む」ボタン配置にも使う */
.bs-municipality-page .bs-list-toolbar__count-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-width: 0;
}

/* PCでは掲載数行の絞り込みボタンは非表示 */
.bs-municipality-page .bs-mobile-filter-trigger {
	display: none;
}

/* 「東京都の他のエリアを見る」導線：上下コンテンツを区切る控えめなボタン風パネル */
.bs-municipality-page .bs-area-more-link-panel {
	margin: 24px 0 0;
	padding: 18px 20px;
	border-top: 1px solid #dbe3ee;
	border-bottom: 1px solid #dbe3ee;
	background: #f6f9fc;
	text-align: center;
}

.bs-municipality-page .bs-area-more-link-panel .bs-area-more-link-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 22px;
	border-radius: 999px;
	border: 1px solid #c8d6e5;
	background: #fff;
	color: #14547c;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none;
	box-shadow: 0 4px 12px rgba(20, 84, 124, 0.06);
}

.bs-municipality-page .bs-area-more-link-panel .bs-area-more-link-button:hover,
.bs-municipality-page .bs-area-more-link-panel .bs-area-more-link-button:focus {
	background: #eef6fb;
	color: #14547c;
	text-decoration: none;
}

@media (max-width: 1024px) {
	/* スマホでは掲載数行の右端に「絞り込む」ボタンを出す */
	.bs-municipality-page .bs-list-toolbar__count-row {
		width: 100%;
		margin-bottom: 10px;
	}

	.bs-municipality-page .bs-mobile-filter-trigger {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-height: 34px;
		padding: 0 14px;
		border: 0;
		border-radius: 999px;
		background: #14547c;
		color: #fff;
		font-size: 0.82rem;
		font-weight: 700;
		line-height: 1.2;
		white-space: nowrap;
		box-shadow: 0 4px 12px rgba(20, 84, 124, 0.16);
	}

	.bs-municipality-page .bs-mobile-filter-trigger:hover,
	.bs-municipality-page .bs-mobile-filter-trigger:focus {
		background: #14547c;
		color: #fff;
	}

	.bs-municipality-page .bs-area-more-link-panel {
		margin-top: 22px;
		padding: 16px 12px;
	}

	.bs-municipality-page .bs-area-more-link-panel .bs-area-more-link-button {
		width: 100%;
		min-height: 42px;
		padding: 0 14px;
		font-size: 0.9rem;
	}
}


/* ========================================
   BallSpotMAP 市区ページ 微調整 v53-safe
   目的：
   ・市区ページのリード文/スマホ絞り込みボタン/他エリア導線/スマホツールバー間隔だけを調整
   ・検索結果ページ、検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */

/* 「東京都の他のエリアを見る」導線：白背景から淡い暖色系へ変更 */
.bs-municipality-page .bs-area-more-link-panel {
	background: #fff7ec;
	border-top-color: #f0dcc2;
	border-bottom-color: #f0dcc2;
}

.bs-municipality-page .bs-area-more-link-panel .bs-area-more-link-button {
	border-color: #efc98f;
	background: #fff0d8;
	color: #7a4b12;
	box-shadow: 0 4px 12px rgba(122, 75, 18, 0.08);
}

.bs-municipality-page .bs-area-more-link-panel .bs-area-more-link-button:hover,
.bs-municipality-page .bs-area-more-link-panel .bs-area-more-link-button:focus {
	background: #ffe6bf;
	color: #7a4b12;
}

@media (max-width: 1024px) {
	/* 掲載数行と並び順の間隔を詰める */
	.bs-municipality-page .bs-list-toolbar__count-row {
		align-items: center;
		margin-bottom: 4px;
	}

	.bs-municipality-page .bs-list-toolbar__count {
		display: flex;
		align-items: center;
		min-height: 32px;
	}

	/* 「絞り込む」ボタン：検索ボタンより薄いパステル系 */
	.bs-municipality-page .bs-mobile-filter-trigger {
		min-height: 32px;
		background: #edf7fb;
		color: #14547c;
		border: 1px solid #cfe7f3;
		box-shadow: 0 3px 10px rgba(20, 84, 124, 0.06);
		text-decoration: none;
	}

	.bs-municipality-page .bs-mobile-filter-trigger:hover,
	.bs-municipality-page .bs-mobile-filter-trigger:focus {
		background: #e4f2f8;
		color: #14547c;
		text-decoration: none;
	}

	.bs-municipality-page .bs-list-toolbar__sort {
		margin-top: 0;
	}
}


/* ========================================
   BallSpotMAP 市区ページ 微調整 v54-safe
   目的：
   ・スマホの「絞り込む」スクロール先がヘッダーに隠れにくいようにする
   ・検索結果ページ、検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */
.bs-municipality-page #bs-municipality-bottom-search {
	scroll-margin-top: 88px;
}

/* ========================================
   BallSpotMAP 市区ページ 微調整 v55-safe
   目的：
   ・市区ページのスマホ絞り込みボタン色、他エリア導線色、下部検索エリア背景だけを調整
   ・検索結果ページ、検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */

/* 「東京都の他のエリアを見る」導線：横線間の背景をカード一覧エリアと同じ背景にする */
.bs-municipality-page .bs-area-more-link-panel {
	background: transparent;
	border-top-color: #dbe3ee;
	border-bottom-color: #dbe3ee;
}

/* 「東京都の他のエリアを見る」ボタン：暖色は維持しつつ、ボタン内と文字色を少し薄める */
.bs-municipality-page .bs-area-more-link-panel .bs-area-more-link-button {
	border-color: #f0d6b4;
	background: #fff5e8;
	color: #9a6a2e;
	box-shadow: 0 4px 12px rgba(154, 106, 46, 0.06);
}

.bs-municipality-page .bs-area-more-link-panel .bs-area-more-link-button:hover,
.bs-municipality-page .bs-area-more-link-panel .bs-area-more-link-button:focus {
	background: #ffefd9;
	color: #8d5f25;
}

@media (max-width: 1024px) {
	/* 「絞り込む」ボタン：控えめなグレー系へ変更 */
	.bs-municipality-page .bs-mobile-filter-trigger {
		background: #eef2f6;
		color: #556779;
		border-color: #d6e0ea;
		box-shadow: 0 3px 10px rgba(85, 103, 121, 0.06);
	}

	.bs-municipality-page .bs-mobile-filter-trigger:hover,
	.bs-municipality-page .bs-mobile-filter-trigger:focus {
		background: #e6edf4;
		color: #4f6278;
	}

	/* スマホ下部の「詳細条件で絞り込む」エリア：PC右カラムと同じ背景色へ */
	.bs-municipality-page .bs-page-bottom-search {
		padding: 18px 14px 20px;
		border: 1px solid #dbe3ee;
		border-radius: 18px;
		background: #f8fbff;
		box-shadow: 0 6px 20px rgba(20, 84, 124, 0.05);
	}
}

/* ========================================
   BallSpotMAP 市区ページ 微調整 v57-safe
   目的：
   ・PC画面の「東京都の他のエリアを見る」ボタンのフォントサイズだけを調整
   ・フォントカラー、ボタン色、周囲背景、スマホ表示、検索機能には影響させない
======================================== */
@media (min-width: 1025px) {
	.bs-municipality-page .bs-area-more-link-panel .bs-area-more-link-button {
		font-size: 0.9rem;
	}
}


/* ========================================
   BallSpotMAP 都道府県ページ UI同期 v59-safe
   目的：
   ・都道府県ページのパンくず、右カラム検索、スマホ下部検索、市区一覧表示を最新UIに寄せる
   ・検索結果ページ、市区ページ、検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */

/* 都道府県ページ：パンくず */
.bs-prefecture-page .bs-breadcrumb {
	margin: 0 0 18px;
}

.bs-prefecture-page .bs-breadcrumb__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 0.88rem;
	color: #607086;
}

.bs-prefecture-page .bs-breadcrumb__item {
	display: inline-flex;
	align-items: center;
}

.bs-prefecture-page .bs-breadcrumb__item:not(:last-child)::after {
	content: ">";
	margin-left: 8px;
	color: #90a0b2;
}

.bs-prefecture-page .bs-breadcrumb a,
.bs-prefecture-page .bs-breadcrumb a:visited,
.bs-prefecture-page .bs-breadcrumb a:hover,
.bs-prefecture-page .bs-breadcrumb a:focus {
	color: #4f6278;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.bs-prefecture-page .bs-breadcrumb__item--current span {
	color: #4f6278;
	font-weight: 500;
}

/* 都道府県ページ：メタ情報 */
.bs-prefecture-page .bs-prefecture-meta {
	gap: 18px;
	font-size: 0.92rem;
	color: #607086;
}

.bs-prefecture-page .bs-prefecture-meta strong {
	font-weight: 700;
	color: #607086;
}

/* 都道府県ページ：市区一覧をPC/スマホとも読みやすい1行表示にする */
.bs-prefecture-page .bs-prefecture-municipality-list {
	display: grid;
	gap: 12px;
}

.bs-prefecture-page .bs-prefecture-municipality-item {
	padding: 0;
	border: 1px solid #dbe3ee;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(20, 84, 124, 0.05);
	overflow: hidden;
}

.bs-prefecture-page .bs-prefecture-municipality-item__one-line {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	width: 100%;
	min-height: 54px;
	padding: 0 20px;
	box-sizing: border-box;
	color: #243447;
	text-decoration: none;
	font-weight: 700;
}

.bs-prefecture-page .bs-prefecture-municipality-item__one-line:hover,
.bs-prefecture-page .bs-prefecture-municipality-item__one-line:focus {
	background: #f8fbff;
	color: #14547c;
	text-decoration: none;
}

.bs-prefecture-page .bs-prefecture-municipality-item__name {
	margin: 0;
	font-size: 1rem;
	line-height: 1.4;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.bs-prefecture-page .bs-prefecture-municipality-item__count {
	flex: 0 0 auto;
	font-size: 0.92rem;
	line-height: 1.4;
	color: #607086;
	white-space: nowrap;
}

/* 都道府県ページ：検索結果ページ・市区ページと同じ2カラム幅感に近づける */
.bs-prefecture-page .bs-page-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 28px;
	align-items: start;
}

.bs-prefecture-page .bs-main-column {
	min-width: 0;
}

.bs-prefecture-page .bs-side-column {
	position: sticky;
	top: 20px;
	align-self: start;
}

/* 都道府県ページ：右カラム検索を最新UIに寄せる */
.bs-prefecture-page .bs-sidebar-block {
	padding: 16px;
	border: 1px solid #dbe3ee;
	border-radius: 18px;
	background: #f8fbff;
	box-shadow: 0 6px 20px rgba(20, 84, 124, 0.05);
}

.bs-prefecture-page .bs-sidebar-search > h2,
.bs-prefecture-page .bs-sidebar-search__title {
	display: flex;
	align-items: center;
	gap: 8px;
	width: auto;
	margin: -16px -16px 16px;
	padding: 12px 16px;
	border: 0;
	border-bottom: 1px solid #cfd8e6;
	border-radius: 18px 18px 0 0;
	background: #e7edf3;
	color: #243447;
	font-size: 1rem;
	line-height: 1.35;
	font-weight: 700;
	box-sizing: border-box;
}

.bs-prefecture-page .bs-sidebar-search__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #ffffff;
	color: #14547c;
	font-size: 0.82rem;
	line-height: 1;
	flex: 0 0 20px;
}

.bs-prefecture-page .bs-sidebar-search__title-text {
	min-width: 0;
}

.bs-prefecture-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-block__section + .bs-search-block__section {
	margin-top: 16px;
}

.bs-prefecture-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-block__title {
	font-size: 0.9rem;
	margin-bottom: 8px;
}

.bs-prefecture-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-block__field label {
	font-size: 0.8rem;
}

.bs-prefecture-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar select,
.bs-prefecture-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar input[type="text"] {
	height: 40px;
	padding: 0 10px;
	font-size: 0.86rem;
	line-height: 1.2;
	border-radius: 9px;
}

.bs-prefecture-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-ball-radio-card {
	min-height: 42px;
	padding: 7px 9px;
}

.bs-prefecture-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-ball-radio-label {
	font-size: 0.76rem;
	line-height: 1.28;
}

.bs-prefecture-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-check-list label {
	padding: 7px 9px;
	font-size: 0.84rem;
}

.bs-prefecture-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-accordion-toggle {
	padding: 10px 12px;
	font-size: 0.86rem;
}

.bs-prefecture-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-submit-button {
	min-height: 40px;
	font-size: 0.9rem;
}

.bs-prefecture-page .bs-sidebar-search .bs-search-block__section--area .bs-search-block__field + .bs-search-block__field {
	margin-top: 0;
}

.bs-prefecture-page .bs-sidebar-search .bs-search-block__row--area {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	align-items: start;
}

.bs-prefecture-page .bs-sidebar-search .bs-search-block__field--compact {
	display: block;
	min-width: 0;
	margin: 0;
}

.bs-prefecture-page .bs-sidebar-search .bs-search-block__field--compact label {
	display: none;
}

.bs-prefecture-page .bs-sidebar-search .bs-search-block__field--compact .bs-search-block__field-control {
	display: block;
	width: 100%;
	min-width: 0;
	line-height: 0;
}

.bs-prefecture-page .bs-sidebar-search .bs-search-block__field--compact .bs-search-block__field-control select {
	display: block;
	width: 100%;
	height: 40px;
	margin: 0;
	box-sizing: border-box;
}

@media (min-width: 1025px) {
	.bs-prefecture-page .bs-prefecture-search-section {
		display: none;
	}
}

/* 都道府県ページ：スマホ/タブレット下部検索を市区ページに寄せる */
@media (max-width: 1024px) {
	.bs-prefecture-page {
		padding: 18px 14px 32px;
	}

	.bs-prefecture-page .bs-breadcrumb {
		margin-bottom: 14px;
	}

	.bs-prefecture-page .bs-page-layout {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.bs-prefecture-page .bs-side-column {
		display: none;
	}

	.bs-prefecture-page .bs-page-title {
		font-size: 1.7rem;
		margin-bottom: 12px;
	}

	.bs-prefecture-page .bs-prefecture-meta {
		flex-direction: column;
		gap: 6px;
	}

	.bs-prefecture-page .bs-prefecture-municipality-item {
		border-radius: 14px;
	}

	.bs-prefecture-page .bs-prefecture-municipality-item__one-line {
		min-height: 56px;
		padding: 0 16px;
	}

	.bs-prefecture-page .bs-prefecture-municipality-item__name {
		font-size: 0.98rem;
	}

	.bs-prefecture-page .bs-prefecture-search-section {
		display: block;
		margin-top: 28px;
		padding: 18px 14px 20px;
		border: 1px solid #dbe3ee;
		border-radius: 18px;
		background: #f8fbff;
		box-shadow: 0 6px 20px rgba(20, 84, 124, 0.05);
	}

	.bs-prefecture-page .bs-prefecture-search-section .bs-search-block__section--area .bs-search-block__field + .bs-search-block__field {
		margin-top: 0;
	}

	.bs-prefecture-page .bs-prefecture-search-section .bs-search-block__row--area {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
		align-items: start;
	}

	.bs-prefecture-page .bs-prefecture-search-section .bs-search-block__field--compact {
		margin: 0;
		min-width: 0;
	}

	.bs-prefecture-page .bs-prefecture-search-section .bs-search-block__field--compact .bs-search-block__field-control select {
		width: 100%;
	}

	.bs-prefecture-page .bs-prefecture-search-section .bs-search-block-wrap.is-bottom .bs-search-ball-radio-grid {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}
}

@media (max-width: 480px) {
	.bs-prefecture-page .bs-prefecture-search-section .bs-search-block-wrap.is-bottom .bs-search-ball-radio-grid {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
	}

	.bs-prefecture-page .bs-prefecture-search-section .bs-search-block-wrap.is-bottom .bs-search-ball-radio-card {
		gap: 7px;
		padding: 8px 9px;
	}

	.bs-prefecture-page .bs-prefecture-search-section .bs-search-block-wrap.is-bottom .bs-search-ball-radio-label {
		font-size: 0.8rem;
		line-height: 1.3;
	}
}

/* ========================================
   BallSpotMAP 都道府県ページ 微調整 v60-safe
   目的：
   ・掲載市区数/掲載スポット数の表記変更後も市区ページの掲載数と同じサイズ感に揃える
   ・市区一覧の見出しを削除した上で、市区並び順プルダウンを追加する
   ・検索結果ページ、検索ブロックPHP、カード部品、並び順ロジックには影響させない
======================================== */

/* 都道府県ページのメタ情報を市区ページの「掲載数」と同じサイズ感にする */
.bs-prefecture-page .bs-prefecture-meta {
	font-size: 0.98rem;
	line-height: 1.55;
}

/* 市区一覧の並び順操作 */
.bs-prefecture-page .bs-prefecture-municipality-toolbar {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	margin: 0 0 12px;
}

.bs-prefecture-page .bs-prefecture-municipality-sort-form {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	white-space: nowrap;
}

.bs-prefecture-page .bs-prefecture-municipality-sort-form label {
	font-size: 0.9rem;
	font-weight: 600;
	color: #607086;
}

.bs-prefecture-page .bs-prefecture-municipality-sort-form select {
	width: auto;
	min-width: 178px;
	height: 38px;
	padding: 0 12px;
	font-size: 0.9rem;
	line-height: 1.2;
	border: 1px solid #dbe3ee;
	border-radius: 10px;
	background: #fff;
	color: #243447;
}

@media (max-width: 1024px) {
	.bs-prefecture-page .bs-prefecture-meta {
		font-size: 0.96rem;
		line-height: 1.5;
	}

	.bs-prefecture-page .bs-prefecture-municipality-toolbar {
		justify-content: stretch;
		margin-bottom: 10px;
	}

	.bs-prefecture-page .bs-prefecture-municipality-sort-form {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		align-items: center;
		gap: 8px;
		width: 100%;
	}

	.bs-prefecture-page .bs-prefecture-municipality-sort-form select {
		width: 100%;
		min-width: 0;
	}
}


/* ========================================
   BallSpotMAP 都道府県ページ 微調整 v61-safe
   目的：
   ・PCで掲載市区数/掲載スポット数を市区並び順プルダウンと同じ行に配置する
   ・スマホでも掲載市区数/掲載スポット数を1行表示にする
   ・検索結果ページ、検索ブロックPHP、カード部品、並び順ロジックには影響させない
======================================== */

/* 掲載数と並び順を同じツールバー内に配置 */
.bs-prefecture-page .bs-prefecture-municipality-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	margin: 0 0 12px;
}

.bs-prefecture-page .bs-prefecture-municipality-toolbar .bs-prefecture-meta {
	display: flex;
	align-items: center;
	gap: 18px;
	margin: 0;
	font-size: 0.98rem;
	line-height: 1.55;
	color: #607086;
	white-space: nowrap;
}

.bs-prefecture-page .bs-prefecture-municipality-toolbar .bs-prefecture-meta span {
	display: inline-flex;
	align-items: center;
	white-space: nowrap;
}

.bs-prefecture-page .bs-prefecture-municipality-toolbar .bs-prefecture-municipality-sort-form {
	flex: 0 0 auto;
	margin-left: auto;
}

@media (max-width: 1024px) {
	.bs-prefecture-page .bs-prefecture-municipality-toolbar {
		display: block;
		margin-bottom: 10px;
	}

	.bs-prefecture-page .bs-prefecture-municipality-toolbar .bs-prefecture-meta {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		gap: 14px;
		width: 100%;
		margin: 0 0 8px;
		font-size: 0.96rem;
		line-height: 1.5;
		white-space: nowrap;
	}

	.bs-prefecture-page .bs-prefecture-municipality-toolbar .bs-prefecture-municipality-sort-form {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		align-items: center;
		gap: 8px;
		width: 100%;
		margin: 0;
	}
}

@media (max-width: 480px) {
	.bs-prefecture-page .bs-prefecture-municipality-toolbar .bs-prefecture-meta {
		gap: 12px;
		font-size: 0.9rem;
	}
}

/* ========================================
   BallSpotMAP 都道府県ページ 微調整 v62-safe
   目的：
   ・スマホ画面で掲載市区数/掲載スポット数を必ず1行表示にする
   ・既存の並び順プルダウン、検索ブロック、カード部品には影響させない
======================================== */

@media (max-width: 1024px) {
	.bs-prefecture-page .bs-prefecture-municipality-toolbar .bs-prefecture-meta {
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: flex-start;
		gap: 14px;
		width: 100%;
		white-space: nowrap;
	}

	.bs-prefecture-page .bs-prefecture-municipality-toolbar .bs-prefecture-meta span {
		display: inline-flex;
		align-items: center;
		white-space: nowrap;
	}
}

@media (max-width: 480px) {
	.bs-prefecture-page .bs-prefecture-municipality-toolbar .bs-prefecture-meta {
		flex-direction: row;
		flex-wrap: nowrap;
		gap: 10px;
		font-size: 0.86rem;
	}
}

/* ========================================
   BallSpotMAP 都道府県ページ 微調整 v63-safe
   目的：
   ・メイン画像下の掲載情報/市区並び順を縦型レイアウトに整理する
   ・掲載市区数/掲載スポット数/市区の並び順に指定SVGアイコンを表示する
   ・アイコン色はCSS側で管理し、検索結果ページ/市区ページ/検索ブロックPHPには影響させない
======================================== */

/* 画像下の説明・掲載情報・並び順をひとまとまりにする */
.bs-prefecture-page .bs-prefecture-info-block {
	margin: 0;
}

.bs-prefecture-page .bs-prefecture-info-block .bs-page-lead {
	margin: 0 0 18px;
}

/* 掲載情報はPC/スマホ共通で縦並び */
.bs-prefecture-page .bs-prefecture-meta-list {
	display: grid;
	grid-template-columns: 1fr;
	gap: 8px;
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.5;
	color: #607086;
}

.bs-prefecture-page .bs-prefecture-meta-item {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
	white-space: nowrap;
}

/* 都道府県ページ専用：指定SVGアイコン */
.bs-prefecture-page .bs-prefecture-info-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	line-height: 1;
	color: #607086;
}

.bs-prefecture-page .bs-prefecture-info-icon::before {
	content: "";
	display: block;
	width: 18px;
	height: 18px;
	background-color: currentColor;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.bs-prefecture-page .bs-prefecture-info-icon--municipality-count {
	color: #3a8fb7;
}

.bs-prefecture-page .bs-prefecture-info-icon--municipality-count::before {
	-webkit-mask-image: url("assets/img/prefecture-icons/municipality-count.svg");
	mask-image: url("assets/img/prefecture-icons/municipality-count.svg");
}

.bs-prefecture-page .bs-prefecture-info-icon--spot-count {
	color: #2f8a55;
}

.bs-prefecture-page .bs-prefecture-info-icon--spot-count::before {
	-webkit-mask-image: url("assets/img/prefecture-icons/spot-count.svg");
	mask-image: url("assets/img/prefecture-icons/spot-count.svg");
}

.bs-prefecture-page .bs-prefecture-info-icon--municipality-sort {
	color: #8a97a8;
}

.bs-prefecture-page .bs-prefecture-info-icon--municipality-sort::before {
	-webkit-mask-image: url("assets/img/prefecture-icons/municipality-sort.svg");
	mask-image: url("assets/img/prefecture-icons/municipality-sort.svg");
}

/* 並び順：掲載情報の下に1行分の間隔を空けて配置 */
.bs-prefecture-page .bs-prefecture-info-block .bs-prefecture-municipality-sort-form {
	display: grid;
	grid-template-columns: auto minmax(0, 220px);
	align-items: center;
	justify-content: start;
	gap: 10px;
	width: 100%;
	margin: 18px 0 0;
	white-space: nowrap;
}

.bs-prefecture-page .bs-prefecture-info-block .bs-prefecture-municipality-sort-form label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 0.9rem;
	font-weight: 700;
	line-height: 1.5;
	color: #607086;
	white-space: nowrap;
}

.bs-prefecture-page .bs-prefecture-info-block .bs-prefecture-municipality-sort-form select {
	width: 100%;
	min-width: 0;
	height: 38px;
	padding: 0 12px;
	font-size: 0.9rem;
	line-height: 1.2;
	border: 1px solid #dbe3ee;
	border-radius: 10px;
	background: #fff;
	color: #243447;
	box-sizing: border-box;
}

/* 旧ツールバー用CSSの影響を受けないよう、市区一覧セクション側の余白だけ整える */
.bs-prefecture-page .bs-prefecture-municipality-list-section {
	margin-top: 12px;
}

@media (max-width: 1024px) {
	.bs-prefecture-page .bs-prefecture-info-block .bs-page-lead {
		margin-bottom: 18px;
	}

	.bs-prefecture-page .bs-prefecture-meta-list {
		gap: 8px;
		font-size: 0.9rem;
	}

	.bs-prefecture-page .bs-prefecture-info-block .bs-prefecture-municipality-sort-form {
		grid-template-columns: auto minmax(0, 1fr);
		gap: 8px;
		margin-top: 18px;
	}

	.bs-prefecture-page .bs-prefecture-info-block .bs-prefecture-municipality-sort-form label,
	.bs-prefecture-page .bs-prefecture-info-block .bs-prefecture-municipality-sort-form select {
		font-size: 0.9rem;
	}
}

@media (max-width: 480px) {
	.bs-prefecture-page .bs-prefecture-meta-list {
		font-size: 0.9rem;
	}

	.bs-prefecture-page .bs-prefecture-info-icon {
		flex-basis: 17px;
		width: 17px;
		height: 17px;
	}

	.bs-prefecture-page .bs-prefecture-info-icon::before {
		width: 17px;
		height: 17px;
	}
}

/* ========================================
   BallSpotMAP 都道府県ページ 微調整 v65-safe
   目的：
   ・「市区の並び順」プルダウンと市区カード一覧の間隔を各カード間と同じ幅に揃える
   ・検索結果ページ、市区ページ、検索ブロックPHP、カード部品には影響させない
======================================== */

/* v63では header の下余白 + list-section の上余白が合算されていたため、ここで市区一覧直前だけを最小化する */
.bs-prefecture-page .bs-page-header {
	margin-bottom: 0;
}

.bs-prefecture-page .bs-prefecture-municipality-list-section {
	margin-top: 12px !important;
}

/* ========================================
   BallSpotMAP 都道府県ページ 微調整 v66-safe
   目的：
   ・「市区の並び順」ラベルとプルダウンを右寄せにする
   ・検索結果ページ、市区ページ、検索ブロックPHP、カード部品には影響させない
======================================== */

.bs-prefecture-page .bs-prefecture-info-block .bs-prefecture-municipality-sort-form {
	justify-content: end;
}

@media (max-width: 1024px) {
	.bs-prefecture-page .bs-prefecture-info-block .bs-prefecture-municipality-sort-form {
		justify-content: end;
	}
}


/* ========================================
   BallSpotMAP 都道府県ページ 微調整 v67-safe
   目的：
   ・「市区の並び順：」テキストを画面上は非表示にし、アイコンの右横にプルダウンを配置する
   ・検索結果ページ、市区ページ、検索ブロックPHP、カード部品には影響させない
======================================== */

.bs-prefecture-page .bs-prefecture-info-block .bs-prefecture-municipality-sort-form {
	grid-template-columns: auto minmax(0, 220px);
	gap: 8px;
	align-items: center;
}

.bs-prefecture-page .bs-prefecture-info-block .bs-prefecture-municipality-sort-form label {
	gap: 0;
}

.bs-prefecture-page .bs-prefecture-info-block .bs-prefecture-municipality-sort-form .bs-prefecture-info-icon--municipality-sort {
	margin: 0;
}

@media (max-width: 1024px) {
	.bs-prefecture-page .bs-prefecture-info-block .bs-prefecture-municipality-sort-form {
		grid-template-columns: auto minmax(0, 1fr);
		gap: 8px;
	}
}

/* ========================================
   BallSpotMAP 都道府県ページ 微調整 v68-safe
   目的：
   ・スマホ画面の市区並び順プルダウンを内容が読める範囲で小さくし、右寄せにする
   ・検索結果ページ、市区ページ、検索ブロックPHP、カード部品には影響させない
======================================== */

@media (max-width: 1024px) {
	.bs-prefecture-page .bs-prefecture-info-block .bs-prefecture-municipality-sort-form {
		grid-template-columns: auto minmax(180px, 220px);
		justify-content: end;
		width: 100%;
	}

	.bs-prefecture-page .bs-prefecture-info-block .bs-prefecture-municipality-sort-form select {
		width: 100%;
		min-width: 0;
	}
}

@media (max-width: 480px) {
	.bs-prefecture-page .bs-prefecture-info-block .bs-prefecture-municipality-sort-form {
		grid-template-columns: auto minmax(170px, 210px);
	}
}

/* ========================================
   BallSpotMAP 都道府県ページ 微調整 v69-safe
   目的：
   ・市区並び順プルダウンを、通常selectのまま添付イメージに近い見た目へ調整する
   ・開いた時のOS標準メニュー挙動は維持し、安全性を優先する
   ・検索結果ページ、市区ページ、検索ブロックPHP、カード部品には影響させない
======================================== */

.bs-prefecture-page .bs-prefecture-info-block .bs-prefecture-municipality-sort-form select {
	-webkit-appearance: none;
	appearance: none;
	height: 42px;
	padding: 0 42px 0 16px;
	border: 1px solid #d8e2ee;
	border-radius: 12px;
	background-color: #ffffff;
	background-image:
		linear-gradient(45deg, transparent 50%, #4f6278 50%),
		linear-gradient(135deg, #4f6278 50%, transparent 50%);
	background-position:
		calc(100% - 21px) 50%,
		calc(100% - 15px) 50%;
	background-size: 6px 6px, 6px 6px;
	background-repeat: no-repeat;
	box-shadow: 0 3px 10px rgba(20, 84, 124, 0.05);
	color: #243447;
	font-size: 0.92rem;
	font-weight: 500;
	line-height: 1.2;
	cursor: pointer;
}

.bs-prefecture-page .bs-prefecture-info-block .bs-prefecture-municipality-sort-form select:hover {
	border-color: #c7d5e5;
	box-shadow: 0 5px 14px rgba(20, 84, 124, 0.07);
}

.bs-prefecture-page .bs-prefecture-info-block .bs-prefecture-municipality-sort-form select:focus {
	outline: none;
	border-color: #14547c;
	box-shadow: 0 0 0 3px rgba(20, 84, 124, 0.12);
}

@media (max-width: 1024px) {
	.bs-prefecture-page .bs-prefecture-info-block .bs-prefecture-municipality-sort-form select {
		height: 40px;
		padding-left: 14px;
		padding-right: 38px;
		font-size: 0.9rem;
		background-position:
			calc(100% - 19px) 50%,
			calc(100% - 13px) 50%;
	}
}

/* ========================================
   BallSpotMAP 都道府県ページ 微調整 v70-safe
   目的：
   ・市区並び順プルダウンを通常selectのまま、枠感を抑えたテキスト風表示に近づける
   ・開いた時のOS標準メニュー挙動は維持し、安全性を優先する
   ・検索結果ページ、市区ページ、検索ブロックPHP、カード部品には影響させない
======================================== */

.bs-prefecture-page .bs-prefecture-info-block .bs-prefecture-municipality-sort-form select {
	-webkit-appearance: none;
	appearance: none;
	height: 32px;
	padding: 0 24px 0 4px;
	border: 1px solid transparent;
	border-radius: 8px;
	background-color: transparent;
	background-image:
		linear-gradient(45deg, transparent 50%, #607086 50%),
		linear-gradient(135deg, #607086 50%, transparent 50%);
	background-position:
		calc(100% - 13px) 50%,
		calc(100% - 8px) 50%;
	background-size: 5px 5px, 5px 5px;
	background-repeat: no-repeat;
	box-shadow: none;
	color: #243447;
	font-size: 0.92rem;
	font-weight: 500;
	line-height: 1.2;
	cursor: pointer;
}

.bs-prefecture-page .bs-prefecture-info-block .bs-prefecture-municipality-sort-form select:hover {
	border-color: transparent;
	background-color: rgba(96, 112, 134, 0.06);
	box-shadow: none;
}

.bs-prefecture-page .bs-prefecture-info-block .bs-prefecture-municipality-sort-form select:focus {
	outline: none;
	border-color: rgba(20, 84, 124, 0.28);
	background-color: rgba(255, 255, 255, 0.6);
	box-shadow: 0 0 0 2px rgba(20, 84, 124, 0.08);
}

@media (max-width: 1024px) {
	.bs-prefecture-page .bs-prefecture-info-block .bs-prefecture-municipality-sort-form select {
		height: 32px;
		padding-left: 4px;
		padding-right: 24px;
		font-size: 0.9rem;
		background-position:
			calc(100% - 13px) 50%,
			calc(100% - 8px) 50%;
	}
}

/* ========================================
   BallSpotMAP 都道府県ページ 微調整 v71-safe
   目的：
   ・市区並び順プルダウンを通常selectのまま、表示幅をコンパクトにする
   ・中身が読めないほど狭くせず、最長項目も収まりやすい幅にする
   ・検索結果ページ、市区ページ、検索ブロックPHP、カード部品には影響させない
======================================== */

.bs-prefecture-page .bs-prefecture-info-block .bs-prefecture-municipality-sort-form {
	grid-template-columns: auto 10.8em;
	justify-content: end;
}

.bs-prefecture-page .bs-prefecture-info-block .bs-prefecture-municipality-sort-form select {
	width: 10.8em;
	min-width: 0;
	max-width: 100%;
}

@media (max-width: 1024px) {
	.bs-prefecture-page .bs-prefecture-info-block .bs-prefecture-municipality-sort-form {
		grid-template-columns: auto 10.6em;
		justify-content: end;
	}

	.bs-prefecture-page .bs-prefecture-info-block .bs-prefecture-municipality-sort-form select {
		width: 10.6em;
		min-width: 0;
		max-width: 100%;
	}
}

@media (max-width: 480px) {
	.bs-prefecture-page .bs-prefecture-info-block .bs-prefecture-municipality-sort-form {
		grid-template-columns: auto 10.4em;
	}

	.bs-prefecture-page .bs-prefecture-info-block .bs-prefecture-municipality-sort-form select {
		width: 10.4em;
	}
}

/* ========================================
   BallSpotMAP 都道府県ページ 微調整 v73-safe
   目的：
   ・市区並び順プルダウン左のアイコン削除に合わせて、プルダウン単体を右寄せする
   ・select内の表示テキストを右寄せ寄りにする
   ・検索結果ページ、市区ページ、検索ブロックPHP、カード部品には影響させない
======================================== */

.bs-prefecture-page .bs-prefecture-info-block .bs-prefecture-municipality-sort-form {
	grid-template-columns: auto;
	justify-content: end;
}

.bs-prefecture-page .bs-prefecture-info-block .bs-prefecture-municipality-sort-form select {
	text-align: right;
	text-align-last: right;
	padding-left: 4px;
	padding-right: 24px;
}

.bs-prefecture-page .bs-prefecture-info-block .bs-prefecture-municipality-sort-form select option {
	text-align: right;
}

@media (max-width: 1024px) {
	.bs-prefecture-page .bs-prefecture-info-block .bs-prefecture-municipality-sort-form {
		grid-template-columns: auto;
		justify-content: end;
	}
}

/* ========================================
   BallSpotMAP 一覧系ページ 並び順プルダウンUI統一 v75-safe
   目的：
   ・都道府県ページで確定したテキスト風selectを、市区ページ/検索結果ページの並び順にも横展開する
   ・通常のselectは維持し、並び順ロジック・検索条件・カード表示には影響させない
   ・検索ブロック内の通常プルダウンには適用しない
======================================== */

/* 市区ページ / 検索結果ページ：並び順selectをテキスト風にする */
.bs-municipality-page .bs-municipality-sort-form select,
.bs-search-result-page .bs-search-result-toolbar__sort select {
    width: auto;
    min-width: 190px;
    max-width: 100%;
    height: 32px;
    padding: 0 22px 0 4px;
    border: 0;
    border-radius: 8px;
    background-color: transparent;
    color: #243447;
    box-shadow: none;
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.2;
    text-align: right;
    text-align-last: right;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    background-image:
        linear-gradient(45deg, transparent 50%, #7f8da0 50%),
        linear-gradient(135deg, #7f8da0 50%, transparent 50%);
    background-position:
        calc(100% - 12px) 50%,
        calc(100% - 7px) 50%;
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
}

.bs-municipality-page .bs-municipality-sort-form select:hover,
.bs-search-result-page .bs-search-result-toolbar__sort select:hover {
    background-color: rgba(20, 84, 124, 0.04);
}

.bs-municipality-page .bs-municipality-sort-form select:focus,
.bs-search-result-page .bs-search-result-toolbar__sort select:focus {
    outline: none;
    border: 1px solid #cfd8e6;
    box-shadow: 0 0 0 3px rgba(20, 84, 124, 0.08);
    background-color: #ffffff;
}

/* 開いた後のoption右寄せはブラウザ/OSにより反映差あり */
.bs-municipality-page .bs-municipality-sort-form select option,
.bs-search-result-page .bs-search-result-toolbar__sort select option {
    text-align: right;
}

/* 市区ページ / 検索結果ページ：ラベルは維持しつつ、selectとの間隔だけ少し詰める */
.bs-municipality-page .bs-municipality-sort-form,
.bs-search-result-page .bs-search-result-toolbar__sort {
    gap: 4px;
}

/* PCでは右側に寄せる */
@media (min-width: 1025px) {
    .bs-municipality-page .bs-list-toolbar__sort,
    .bs-search-result-page .bs-search-result-toolbar__sort-form {
        margin-left: auto;
    }

    .bs-municipality-page .bs-municipality-sort-form,
    .bs-search-result-page .bs-search-result-toolbar__sort {
        justify-content: flex-end;
    }
}

/* スマホでは幅を確保しつつ、通常selectよりコンパクトにする */
@media (max-width: 1024px) {
    .bs-municipality-page .bs-municipality-sort-form,
    .bs-search-result-page .bs-search-result-toolbar__sort {
        grid-template-columns: auto minmax(160px, 1fr);
        align-items: center;
        gap: 6px;
    }

    .bs-municipality-page .bs-municipality-sort-form select,
    .bs-search-result-page .bs-search-result-toolbar__sort select {
        width: 100%;
        min-width: 0;
        height: 32px;
    }
}


/* ========================================
   BallSpotMAP 一覧系ページ 並び順プルダウン微調整 v76-safe
   目的：
   ・市区ページ/検索結果ページの「並び順：」表示テキストを画面上から除去する
   ・select内の表示を標準ウェイトに戻す
   ・スマホの「絞り込む」「再検索」ボタンを件数行の右横に揃える
   ・検索ブロック、カード部品、並び順ロジックには影響させない
======================================== */

/* 画面には出さないが、label自体はアクセシビリティ用に残す */
.bs-sort-label-screen-reader {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* 市区ページ/検索結果ページ：並び順selectの文字を標準ウェイトへ */
.bs-municipality-page .bs-municipality-sort-form select,
.bs-search-result-page .bs-search-result-toolbar__sort select {
	font-weight: 400;
}

/* label非表示後もプルダウン単体を右寄せで維持 */
.bs-municipality-page .bs-municipality-sort-form,
.bs-search-result-page .bs-search-result-toolbar__sort {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0;
}

/* スマホ：市区ページの「掲載数」行の右横に絞り込みボタンを固定 */
@media (max-width: 1024px) {
	.bs-municipality-page .bs-list-toolbar__count-row {
		display: flex !important;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		width: 100%;
	}

	.bs-municipality-page .bs-mobile-filter-trigger {
		flex: 0 0 auto;
		margin-left: auto;
	}

	.bs-municipality-page .bs-list-toolbar__sort {
		margin-top: 4px;
	}

	/* スマホ：検索結果ページの「検索結果」行の右横に再検索ボタンを固定 */
	.bs-search-result-page .bs-search-result-meta-row {
		display: flex !important;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		width: 100%;
	}

	.bs-search-result-page .bs-search-result-change-trigger {
		flex: 0 0 auto;
		margin: 0 0 0 auto;
		background: #eef2f6;
		color: #556779;
		border-color: #d6e0ea;
		box-shadow: 0 3px 10px rgba(85, 103, 121, 0.06);
		font-weight: 700;
	}

	.bs-search-result-page .bs-search-result-change-trigger:hover,
	.bs-search-result-page .bs-search-result-change-trigger:focus {
		background: #e6edf4;
		color: #4f6278;
	}

	.bs-search-result-page .bs-search-result-toolbar__sort-form {
		margin-top: 4px;
	}
}

/* ========================================
   BallSpotMAP 市区/検索結果ページ 微調整 v77-safe
   目的：
   ・スマホの「絞り込む」「再検索」ボタンを件数テキストの直後に配置する
   ・検索結果ページ下部の再検索ブロックを市区ページ下部検索と同系デザインにする
   ・検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */

@media (max-width: 1024px) {
	/* 市区ページ：掲載数テキストのすぐ右横に「絞り込む」を置く */
	.bs-municipality-page .bs-list-toolbar__count-row {
		display: inline-flex !important;
		align-items: center;
		justify-content: flex-start !important;
		gap: 10px;
		width: auto !important;
		max-width: 100%;
	}

	.bs-municipality-page .bs-mobile-filter-trigger {
		flex: 0 0 auto;
		margin-left: 0 !important;
	}

	/* 検索結果ページ：検索結果テキストのすぐ右横に「再検索」を置く */
	.bs-search-result-page .bs-search-result-meta-row {
		display: inline-flex !important;
		align-items: center;
		justify-content: flex-start !important;
		gap: 10px;
		width: auto !important;
		max-width: 100%;
	}

	.bs-search-result-page .bs-search-result-change-trigger {
		flex: 0 0 auto;
		margin: 0 !important;
	}

	/* 検索結果ページ下部の検索ブロック：市区ページ下部検索と同系デザインに揃える */
	.bs-search-result-page .bs-search-result-research-section {
		display: block;
		margin-top: 28px;
		padding: 18px 14px 20px;
		border: 1px solid #dbe3ee;
		border-radius: 18px;
		background: #f8fbff;
		box-shadow: 0 6px 20px rgba(20, 84, 124, 0.05);
		box-sizing: border-box;
	}

	.bs-search-result-page .bs-search-result-research-section .bs-section-title {
		margin: 0 0 14px;
		font-size: 1.25rem;
		line-height: 1.4;
		color: #243447;
	}
}

/* ========================================
   BallSpotMAP 市区/検索結果ページ 微調整 v78-safe
   目的：
   ・スマホで並び順プルダウンを左端・左寄せ表示にする
   ・スマホの「絞り込む」「再検索」ボタンを並び順プルダウンと同じ行の右端に配置する
   ・検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */

@media (max-width: 1024px) {
	/* 市区ページ：1行目=掲載数、2行目=左に並び順、右に絞り込む */
	.bs-municipality-page .bs-list-toolbar {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-areas:
			"count count"
			"sort  button";
		align-items: center;
		column-gap: 12px;
		row-gap: 6px;
		width: 100%;
	}

	.bs-municipality-page .bs-list-toolbar__count-row {
		display: contents !important;
	}

	.bs-municipality-page .bs-list-toolbar__count {
		grid-area: count;
		min-width: 0;
	}

	.bs-municipality-page .bs-list-toolbar__sort {
		grid-area: sort;
		justify-self: start;
		width: auto;
		min-width: 0;
		margin: 0 !important;
	}

	.bs-municipality-page .bs-municipality-sort-form {
		display: flex !important;
		align-items: center;
		justify-content: flex-start !important;
		width: auto;
		margin: 0;
	}

	.bs-municipality-page .bs-municipality-sort-form select {
		width: auto;
		min-width: 178px;
		max-width: min(64vw, 230px);
		text-align: left;
		text-align-last: left;
		padding-left: 0;
		padding-right: 22px;
		background-position:
			calc(100% - 12px) 50%,
			calc(100% - 7px) 50%;
	}

	.bs-municipality-page .bs-municipality-sort-form select option {
		text-align: left;
	}

	.bs-municipality-page .bs-mobile-filter-trigger {
		grid-area: button;
		justify-self: end;
		align-self: center;
		margin: 0 !important;
	}

	/* 検索結果ページ：1行目=検索結果、2行目=左に並び順、右に再検索 */
	.bs-search-result-page .bs-search-result-toolbar__meta {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-areas:
			"count count"
			"sort  button";
		align-items: center;
		column-gap: 12px;
		row-gap: 6px;
		width: 100%;
	}

	.bs-search-result-page .bs-search-result-meta-row {
		display: contents !important;
	}

	.bs-search-result-page .bs-search-result-meta {
		grid-area: count;
		min-width: 0;
	}

	.bs-search-result-page .bs-search-result-toolbar__sort-form {
		grid-area: sort;
		justify-self: start;
		width: auto;
		min-width: 0;
		margin: 0 !important;
	}

	.bs-search-result-page .bs-search-result-toolbar__sort {
		display: flex !important;
		align-items: center;
		justify-content: flex-start !important;
		width: auto;
		margin: 0;
	}

	.bs-search-result-page .bs-search-result-toolbar__sort select {
		width: auto;
		min-width: 178px;
		max-width: min(64vw, 230px);
		text-align: left;
		text-align-last: left;
		padding-left: 0;
		padding-right: 22px;
		background-position:
			calc(100% - 12px) 50%,
			calc(100% - 7px) 50%;
	}

	.bs-search-result-page .bs-search-result-toolbar__sort select option {
		text-align: left;
	}

	.bs-search-result-page .bs-search-result-change-trigger {
		grid-area: button;
		justify-self: end;
		align-self: center;
		margin: 0 !important;
	}
}

@media (max-width: 480px) {
	.bs-municipality-page .bs-municipality-sort-form select,
	.bs-search-result-page .bs-search-result-toolbar__sort select {
		min-width: 170px;
		max-width: 62vw;
	}
}


/* ========================================
   BallSpotMAP 市区/検索結果 スマホツールバー微調整 v79-safe
   目的：
   ・市区ページの掲載数をアイコン付きの「掲載スポット数：◯件」にする
   ・スマホの並び順行直下の余白を少し詰める
   ・検索結果ページ、検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */

/* 市区ページ：掲載スポット数アイコン */
.bs-municipality-page .bs-list-toolbar__count--with-icon {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.bs-municipality-page .bs-municipality-count-icon {
	display: inline-block;
	width: 1.05em;
	height: 1.05em;
	flex: 0 0 1.05em;
	color: #28824b;
	background-color: currentColor;
	-webkit-mask-image: url("assets/img/prefecture-icons/spot-count.svg");
	mask-image: url("assets/img/prefecture-icons/spot-count.svg");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}

@media (max-width: 1024px) {
	/* 市区ページ：並び順プルダウン/絞り込む行の直下余白を少し詰める */
	.bs-municipality-page .bs-list-toolbar {
		margin-bottom: 6px;
	}

	.bs-municipality-page .bs-spot-list-section {
		margin-top: 0;
	}

	/* 検索結果ページ：並び順プルダウン/再検索行の直下余白を少し詰める */
	.bs-search-result-page .bs-search-result-toolbar {
		margin-bottom: 6px;
	}

	.bs-search-result-page .bs-search-result-list-section {
		margin-top: 0;
	}
}

/* ========================================
   BallSpotMAP 市区/検索結果 スマホツールバー余白調整 v80-safe
   目的：
   ・市区ページのリード文→掲載スポット数、掲載スポット数→並び順行の余白を同じ幅に揃える
   ・検索結果ページの検索結果件数→並び順行の余白も市区ページと同じ幅に揃える
   ・PHP、検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */

@media (max-width: 1024px) {
	/* 市区ページ：リード文と掲載スポット数の間隔 */
	.bs-municipality-page .bs-page-header {
		margin-bottom: 12px;
	}

	/* 市区ページ：掲載スポット数と並び順行の間隔 */
	.bs-municipality-page .bs-list-toolbar {
		row-gap: 12px;
	}

	/* 検索結果ページ：検索結果件数と並び順行の間隔 */
	.bs-search-result-page .bs-search-result-toolbar__meta {
		row-gap: 12px;
	}
}

/* ========================================
   BallSpotMAP 微調整 v81-safe
   目的：
   ・市区ページのパンくずフォントサイズを都道府県ページと統一
   ・検索結果ページの検索条件/検索結果のフォントサイズを統一し、太字を解除
   ・都道府県ページのスマホ下部検索見出しをラベル風にして検索ブロック開始位置を明確化
   ・PHP、検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */

/* 市区ページ：パンくずを都道府県ページと同じサイズ感に統一 */
.bs-municipality-page .bs-breadcrumb {
	margin: 0 0 18px;
}

.bs-municipality-page .bs-breadcrumb__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 0.88rem;
	color: #607086;
}

.bs-municipality-page .bs-breadcrumb__item {
	display: inline-flex;
	align-items: center;
}

.bs-municipality-page .bs-breadcrumb__item:not(:last-child)::after {
	content: ">";
	margin-left: 8px;
	color: #90a0b2;
}

.bs-municipality-page .bs-breadcrumb__item--current span {
	color: #4f6278;
	font-weight: 500;
}

/* 検索結果ページ：検索条件/検索結果の文字サイズを揃え、ラベルの太字を解除 */
.bs-search-result-page .bs-search-result-summary,
.bs-search-result-page .bs-search-result-meta,
.bs-search-result-page .bs-search-result-summary__label,
.bs-search-result-page .bs-search-result-meta__label,
.bs-search-result-page .bs-search-result-summary__value,
.bs-search-result-page .bs-search-result-meta__value {
	font-size: 0.95rem;
	font-weight: 400;
}

.bs-search-result-page .bs-search-result-summary__value a,
.bs-search-result-page .bs-search-result-summary__value a:visited,
.bs-search-result-page .bs-search-result-summary__value a:hover,
.bs-search-result-page .bs-search-result-summary__value a:focus {
	font-weight: 400;
}

@media (max-width: 1024px) {
	.bs-search-result-page .bs-search-result-summary,
	.bs-search-result-page .bs-search-result-meta,
	.bs-search-result-page .bs-search-result-summary__label,
	.bs-search-result-page .bs-search-result-meta__label,
	.bs-search-result-page .bs-search-result-summary__value,
	.bs-search-result-page .bs-search-result-meta__value {
		font-size: 0.9rem;
		font-weight: 400;
	}
}

/* 都道府県ページ：スマホ下部検索の見出しを検索ブロック全幅のラベルバーにする */
@media (max-width: 1024px) {
	.bs-prefecture-page .bs-prefecture-search-section .bs-section-title {
		display: block;
		width: auto;
		margin: -18px -14px 18px;
		padding: 14px 16px;
		border: 0;
		border-bottom: 1px solid #dbe3ee;
		border-radius: 18px 18px 0 0;
		background: #eef3f7;
		color: #243447;
		font-size: 1.05rem;
		font-weight: 700;
		line-height: 1.45;
		text-align: left;
	}
}

/* ========================================
   BallSpotMAP 都道府県ページ スマホ下部検索ラベル色/見出し太さ調整 v83-safe
   目的：
   ・スマホ下部検索ブロックの全幅ラベルバー色を落ち着いたブルーグレーに微調整
   ・検索ブロック開始見出し「詳細条件で絞り込む」は太字を維持
   ・検索ブロック内の小見出しは太字を弱め、フォーム内の視線負荷を下げる
   ・PHP、検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */

@media (max-width: 1024px) {
	/* 都道府県ページ：スマホ下部検索ブロックの開始ラベル */
	.bs-prefecture-page .bs-prefecture-search-section .bs-section-title {
		background: #e7f2f8;
		color: #26384c;
		font-weight: 700;
	}

	/* 都道府県ページ：検索ブロック内の小見出しは少し軽くする */
	.bs-prefecture-page .bs-prefecture-search-section .bs-search-block__title {
		font-weight: 500;
	}

	/* 小見出し内の補足テキストはさらに控えめにする */
	.bs-prefecture-page .bs-prefecture-search-section .bs-search-block__title small,
	.bs-prefecture-page .bs-prefecture-search-section .bs-search-block__title .bs-search-block__required {
		font-weight: 400;
	}
}

/* ========================================
   BallSpotMAP 都道府県ページ 検索ブロック文字階層調整 v85-safe
   目的：
   ・都道府県ページのPC右カラム検索 / スマホ下部検索だけを対象に文字サイズと太さを整理
   ・検索ブロック開始見出しは強め、フォーム内ラベルは中太〜標準へ弱める
   ・スマホ下部検索の見出しバーを少しだけ視認性のあるブルー系に調整
   ・PHP、検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */

/* PC右カラム：検索ブロック全体の文字階層を整理 */
@media (min-width: 1025px) {
	.bs-prefecture-page .bs-sidebar-search > h2,
	.bs-prefecture-page .bs-sidebar-search__title {
		font-size: 0.98rem;
		font-weight: 700;
		letter-spacing: 0.01em;
	}

	.bs-prefecture-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-block__title,
	.bs-prefecture-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-block__title--with-help {
		font-size: 0.86rem;
		font-weight: 500;
		line-height: 1.45;
		color: #25364a;
	}

	.bs-prefecture-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-block__field label,
	.bs-prefecture-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-block__title small,
	.bs-prefecture-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-block__required {
		font-size: 0.78rem;
		font-weight: 400;
		color: #6a7a90;
	}

	.bs-prefecture-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar select,
	.bs-prefecture-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar input[type="text"] {
		font-size: 0.84rem;
		font-weight: 400;
		color: #25364a;
	}

	.bs-prefecture-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-ball-radio-label,
	.bs-prefecture-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-check-list label,
	.bs-prefecture-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-detail-open,
	.bs-prefecture-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-accordion-toggle {
		font-size: 0.8rem;
		font-weight: 500;
		line-height: 1.35;
	}

	.bs-prefecture-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-submit-button {
		font-size: 0.9rem;
		font-weight: 700;
	}
}

/* スマホ下部：検索ブロック見出しバーは少しだけ視認性を上げる */
@media (max-width: 1024px) {
	.bs-prefecture-page .bs-prefecture-search-section .bs-section-title {
		background: #dcecf5;
		color: #23364a;
		font-size: 1.04rem;
		font-weight: 700;
		letter-spacing: 0.01em;
	}

	.bs-prefecture-page .bs-prefecture-search-section .bs-search-block__title,
	.bs-prefecture-page .bs-prefecture-search-section .bs-search-block__title--with-help {
		font-size: 0.96rem;
		font-weight: 500;
		line-height: 1.5;
		color: #25364a;
	}

	.bs-prefecture-page .bs-prefecture-search-section .bs-search-block__field label,
	.bs-prefecture-page .bs-prefecture-search-section .bs-search-block__title small,
	.bs-prefecture-page .bs-prefecture-search-section .bs-search-block__required {
		font-weight: 400;
		color: #6a7a90;
	}

	.bs-prefecture-page .bs-prefecture-search-section select,
	.bs-prefecture-page .bs-prefecture-search-section input[type="text"] {
		font-weight: 400;
		color: #25364a;
	}

	.bs-prefecture-page .bs-prefecture-search-section .bs-search-ball-radio-label,
	.bs-prefecture-page .bs-prefecture-search-section .bs-search-check-list label,
	.bs-prefecture-page .bs-prefecture-search-section .bs-search-detail-open,
	.bs-prefecture-page .bs-prefecture-search-section .bs-search-accordion-toggle {
		font-weight: 500;
		line-height: 1.4;
	}

	.bs-prefecture-page .bs-prefecture-search-section .bs-search-submit-button {
		font-weight: 700;
	}
}

/* ========================================
   BallSpotMAP 都道府県ページ フォントサイズ/太さ微調整 v86-safe
   目的：
   ・掲載市区数/掲載スポット数を市区一覧行と同じサイズに揃える
   ・市区一覧行は太字にしない
   ・検索ブロック内の主要小見出しは太字、必須表示は標準にする
   ・詳細条件ボタンは太字にする
   ・PHP、検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */

/* 掲載市区数/掲載スポット数：市区一覧の行タイトルと同じサイズ感に揃える */
.bs-prefecture-page .bs-prefecture-meta-list,
.bs-prefecture-page .bs-prefecture-meta-item {
	font-size: 1rem;
	font-weight: 700;
}

/* 市区一覧行：テキストを標準ウェイトに戻す */
.bs-prefecture-page .bs-prefecture-municipality-item__one-line,
.bs-prefecture-page .bs-prefecture-municipality-item__name,
.bs-prefecture-page .bs-prefecture-municipality-item__count {
	font-weight: 400;
}

/* PC右カラム：主要小見出しは太字、必須などの補足は標準 */
@media (min-width: 1025px) {
	.bs-prefecture-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-block__title,
	.bs-prefecture-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-block__title--with-help {
		font-weight: 700;
	}

	.bs-prefecture-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-block__title small,
	.bs-prefecture-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-block__required {
		font-weight: 400;
	}

	.bs-prefecture-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-detail-open {
		font-weight: 700;
	}
}

/* スマホ下部：主要小見出しは太字、必須などの補足は標準 */
@media (max-width: 1024px) {
	.bs-prefecture-page .bs-prefecture-meta-list,
	.bs-prefecture-page .bs-prefecture-meta-item {
		font-size: 0.98rem;
		font-weight: 700;
	}

	.bs-prefecture-page .bs-prefecture-search-section .bs-search-block__title,
	.bs-prefecture-page .bs-prefecture-search-section .bs-search-block__title--with-help {
		font-weight: 700;
	}

	.bs-prefecture-page .bs-prefecture-search-section .bs-search-block__title small,
	.bs-prefecture-page .bs-prefecture-search-section .bs-search-block__required {
		font-weight: 400;
	}

	.bs-prefecture-page .bs-prefecture-search-section .bs-search-detail-open {
		font-weight: 700;
	}
}


/* ========================================
   BallSpotMAP 都道府県ページ フォント太さ微調整 v87-safe
   目的：
   ・掲載市区数/掲載スポット数はサイズを維持したまま太字解除
   ・市区一覧の「◯◯区のスポット（◯件）」は全体を太字化
   ・PHP、検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */

/* 掲載市区数/掲載スポット数：フォントサイズはv86を維持し、太字だけ解除 */
.bs-prefecture-page .bs-prefecture-meta-list,
.bs-prefecture-page .bs-prefecture-meta-item,
.bs-prefecture-page .bs-prefecture-meta-item strong {
	font-weight: 400;
}

/* 市区一覧行：「◯◯区のスポット（◯件）」全体を太字にする */
.bs-prefecture-page .bs-prefecture-municipality-item__one-line,
.bs-prefecture-page .bs-prefecture-municipality-item__name,
.bs-prefecture-page .bs-prefecture-municipality-item__count {
	font-weight: 700;
}


/* ========================================
   BallSpotMAP 都道府県ページ 市区一覧カラー微調整 v88-safe
   目的：
   ・市区一覧の「◯◯区のスポット（◯件）」だけを #2f5f78 に変更
   ・PHP、検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */

.bs-prefecture-page .bs-prefecture-municipality-item__one-line,
.bs-prefecture-page .bs-prefecture-municipality-item__one-line:visited,
.bs-prefecture-page .bs-prefecture-municipality-item__name,
.bs-prefecture-page .bs-prefecture-municipality-item__count {
	color: #2f5f78;
}

.bs-prefecture-page .bs-prefecture-municipality-item__one-line:hover,
.bs-prefecture-page .bs-prefecture-municipality-item__one-line:focus {
	color: #2f5f78;
}


/* ========================================
   BallSpotMAP 都道府県ページ 市区一覧カラー再調整 v89-safe
   目的：
   ・市区一覧の「◯◯区のスポット（◯件）」だけを #13547C に変更
   ・PHP、検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */

.bs-prefecture-page .bs-prefecture-municipality-item__one-line,
.bs-prefecture-page .bs-prefecture-municipality-item__one-line:visited,
.bs-prefecture-page .bs-prefecture-municipality-item__name,
.bs-prefecture-page .bs-prefecture-municipality-item__count {
	color: #13547C;
}

.bs-prefecture-page .bs-prefecture-municipality-item__one-line:hover,
.bs-prefecture-page .bs-prefecture-municipality-item__one-line:focus {
	color: #13547C;
}


/* ========================================
   BallSpotMAP 都道府県ページ 検索ブロック見出しカラー調整 v90-safe
   目的：
   ・「詳細条件で絞り込む」は濃いめのグレーに変更
   ・検索ブロック内の小見出しは、それより少し薄いグレーに変更
   ・リンク/遷移要素の濃い青 #13547C とは役割を分ける
   ・PHP、検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */

/* スマホ下部検索：検索ブロック全体の見出し */
@media (max-width: 1024px) {
	.bs-prefecture-page .bs-prefecture-search-section .bs-section-title {
		color: #3f4650;
	}

	/* スマホ下部検索：フォーム内の小見出し */
	.bs-prefecture-page .bs-prefecture-search-section .bs-search-block__title,
	.bs-prefecture-page .bs-prefecture-search-section .bs-search-block__title--with-help {
		color: #5b6470;
	}
}

/* PC右カラム検索：フォーム内の小見出し */
@media (min-width: 1025px) {
	.bs-prefecture-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-block__title,
	.bs-prefecture-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-block__title--with-help {
		color: #5b6470;
	}
}


/* ========================================
   BallSpotMAP 都道府県ページ 検索ブロック色統一 v91-safe
   目的：
   ・「詳細条件を選択＋」を検索ブロック内小見出しと同じ #5b6470 にする
   ・PCサイドカラムの「ボールスポット検索」を「詳細条件で絞り込む」と同じ #3f4650 にする
   ・PCサイドカラム小見出しをスマホ下部検索小見出しと同じ #5b6470 にする
   ・PHP、検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */

/* PC右カラム：検索ブロック全体見出し */
@media (min-width: 1025px) {
	.bs-prefecture-page .bs-sidebar-search .bs-sidebar-title,
	.bs-prefecture-page .bs-sidebar-search .bs-sidebar-block__title,
	.bs-prefecture-page .bs-sidebar-search .bs-search-sidebar-title,
	.bs-prefecture-page .bs-sidebar-search .bs-search-block-heading,
	.bs-prefecture-page .bs-sidebar-search h2,
	.bs-prefecture-page .bs-sidebar-search h3:first-child {
		color: #3f4650;
	}

	/* PC右カラム：検索ブロック内小見出し */
	.bs-prefecture-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-block__title,
	.bs-prefecture-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-block__title--with-help {
		color: #5b6470;
	}

	/* PC右カラム：「詳細条件を選択＋」 */
	.bs-prefecture-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-detail-open {
		color: #5b6470;
	}
}

/* スマホ下部検索：「詳細条件を選択＋」 */
@media (max-width: 1024px) {
	.bs-prefecture-page .bs-prefecture-search-section .bs-search-detail-open {
		color: #5b6470;
	}
}


/* ========================================
   BallSpotMAP 都道府県ページ スマホ下部検索ブロック視認性調整 v92-safe
   目的：
   ・スマホ下部検索ブロックの枠線を少し濃くする
   ・スマホ下部検索ブロックの横幅を少し狭め、まとまりを識別しやすくする
   ・PC表示、PHP、検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */

@media (max-width: 1024px) {
	.bs-prefecture-page .bs-prefecture-search-section {
		width: calc(100% - 20px);
		max-width: 720px;
		margin-left: auto;
		margin-right: auto;
		border-color: #cbd8e4;
	}
}

@media (max-width: 480px) {
	.bs-prefecture-page .bs-prefecture-search-section {
		width: calc(100% - 16px);
		border-color: #c6d5e2;
	}
}


/* ========================================
   BallSpotMAP 都道府県ページ スマホ下部検索ブロック幅調整 v93-safe
   目的：
   ・スマホ下部検索ブロックを市区リンク行より明確に狭く見せる
   ・PC表示、PHP、検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */

@media (max-width: 1024px) {
	.bs-prefecture-page .bs-prefecture-search-section {
		width: calc(100% - 40px);
		max-width: 680px;
	}
}

@media (max-width: 480px) {
	.bs-prefecture-page .bs-prefecture-search-section {
		width: calc(100% - 32px);
	}
}


/* ========================================
   BallSpotMAP 都道府県ページ スマホ下部検索見出しアイコン追加 v94-safe
   目的：
   ・スマホ下部検索ブロックの「詳細条件で絞り込む」冒頭に虫眼鏡アイコンを追加
   ・PC表示、市区ページ、検索結果ページ、PHP、検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */

@media (max-width: 1024px) {
	.bs-prefecture-page .bs-prefecture-search-section .bs-section-title {
		display: flex;
		align-items: center;
		gap: 8px;
	}

	.bs-prefecture-page .bs-prefecture-search-section .bs-section-title::before {
		content: "";
		display: inline-block;
		flex: 0 0 16px;
		width: 16px;
		height: 16px;
		background-color: currentColor;
		opacity: 0.9;
		-webkit-mask-image: url("data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%2024%2024%27%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%3E%3Cpath%20d%3D%27M10.5%204C6.91%204%204%206.91%204%2010.5S6.91%2017%2010.5%2017c1.55%200%202.97-.54%204.08-1.45l4.43%204.43c.39.39%201.02.39%201.41%200s.39-1.02%200-1.41l-4.43-4.43A6.47%206.47%200%200%200%2017%2010.5C17%206.91%2014.09%204%2010.5%204Zm0%202C12.99%206%2015%208.01%2015%2010.5S12.99%2015%2010.5%2015%206%2012.99%206%2010.5%208.01%206%2010.5%206Z%27/%3E%3C/svg%3E");
		mask-image: url("data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%2024%2024%27%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%3E%3Cpath%20d%3D%27M10.5%204C6.91%204%204%206.91%204%2010.5S6.91%2017%2010.5%2017c1.55%200%202.97-.54%204.08-1.45l4.43%204.43c.39.39%201.02.39%201.41%200s.39-1.02%200-1.41l-4.43-4.43A6.47%206.47%200%200%200%2017%2010.5C17%206.91%2014.09%204%2010.5%204Zm0%202C12.99%206%2015%208.01%2015%2010.5S12.99%2015%2010.5%2015%206%2012.99%206%2010.5%208.01%206%2010.5%206Z%27/%3E%3C/svg%3E");
		-webkit-mask-repeat: no-repeat;
		mask-repeat: no-repeat;
		-webkit-mask-position: center;
		mask-position: center;
		-webkit-mask-size: contain;
		mask-size: contain;
	}
}


/* ========================================
   BallSpotMAP 都道府県ページ スマホ下部検索見出しアイコンサイズ調整 v95-safe
   目的：
   ・スマホ下部検索ブロックの「詳細条件で絞り込む」虫眼鏡アイコンを少し大きくする
   ・PC表示、市区ページ、検索結果ページ、PHP、検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */

@media (max-width: 1024px) {
	.bs-prefecture-page .bs-prefecture-search-section .bs-section-title::before {
		flex-basis: 19px;
		width: 19px;
		height: 19px;
	}
}


/* ========================================
   BallSpotMAP 都道府県ページ 市区一覧カード背景色調整 v96-safe
   目的：
   ・市区一覧の「◯◯区のスポット（◯件）」カードを淡いグリーン系に変更
   ・下部検索ブロックや「東京都の他のエリアを見る」ボタンと役割を分ける
   ・PHP、検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */

.bs-prefecture-page .bs-prefecture-municipality-item {
	background: #f1f8f4;
	border-color: #cfe4d7;
}

.bs-prefecture-page .bs-prefecture-municipality-item:hover,
.bs-prefecture-page .bs-prefecture-municipality-item:focus-within {
	background: #edf7f1;
	border-color: #bddcc9;
}


/* ========================================
   BallSpotMAP 都道府県ページ 市区一覧カード背景色差し戻し v97-safe
   目的：
   ・市区一覧の「◯◯区のスポット（◯件）」カード背景を白に戻す
   ・文字色 #13547C は維持
   ・下部検索ブロック、PHP、検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */

.bs-prefecture-page .bs-prefecture-municipality-item {
	background: #ffffff;
	border-color: #dbe3ee;
}

.bs-prefecture-page .bs-prefecture-municipality-item:hover,
.bs-prefecture-page .bs-prefecture-municipality-item:focus-within {
	background: #ffffff;
	border-color: #cbd8e4;
}


/* ========================================
   BallSpotMAP 都道府県ページ スマホ下部検索ブロック グレー系調整 v98-safe
   目的：
   ・市区カードは白のまま維持
   ・スマホ下部検索ブロックだけを薄いグレー系にして、エリアの役割を分ける
   ・PC表示、市区ページ、検索結果ページ、PHP、検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */

@media (max-width: 1024px) {
	.bs-prefecture-page .bs-prefecture-search-section {
		background: #f4f6f8;
		border-color: #cfd8e3;
	}

	.bs-prefecture-page .bs-prefecture-search-section .bs-section-title {
		background: #e6ebf0;
		color: #3f4650;
		border-bottom-color: #cfd8e3;
	}

	.bs-prefecture-page .bs-prefecture-search-section .bs-search-block__title,
	.bs-prefecture-page .bs-prefecture-search-section .bs-search-block__title--with-help {
		color: #5b6470;
	}
}


/* ========================================
   BallSpotMAP 都道府県ページ スマホ下部検索ブロック浮き上がり調整 v99-safe
   目的：
   ・スマホ下部検索ブロックを画面背景からもう少し浮かび上がらせる
   ・背景色差ではなく、白系背景＋やや濃い枠線＋控えめな影で分離する
   ・PC表示、市区ページ、検索結果ページ、PHP、検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */

@media (max-width: 1024px) {
	.bs-prefecture-page .bs-prefecture-search-section {
		background: #ffffff;
		border-color: #c3d0dc;
		box-shadow: 0 10px 28px rgba(36, 52, 71, 0.08);
	}

	.bs-prefecture-page .bs-prefecture-search-section .bs-section-title {
		background: #edf1f5;
		border-bottom-color: #c3d0dc;
	}
}


/* ========================================
   BallSpotMAP 都道府県ページ スマホ下部検索見出し調整 v100-safe
   目的：
   ・スマホ下部検索ブロックの見出し背景を白にする
   ・見出し下に控えめな区切り線を入れ、添付イメージ寄りにする
   ・PC表示、市区ページ、検索結果ページ、検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */

@media (max-width: 1024px) {
	.bs-prefecture-page .bs-prefecture-search-section .bs-section-title {
		background: #ffffff;
		border-bottom-color: #dbe3ee;
	}
}


/* ========================================
   BallSpotMAP 都道府県ページ スマホ下部検索ブロック メリハリ調整 v101-safe
   目的：
   ・スマホ下部検索ブロックの「条件で絞り込む」見出しを少し目立たせる
   ・検索ブロック内の未選択エリアを白に寄せ、画面背景との差を出す
   ・PC表示、市区ページ、検索結果ページ、検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */

@media (max-width: 1024px) {
	/* 検索ブロック本体は白で浮かせる */
	.bs-prefecture-page .bs-prefecture-search-section {
		background: #ffffff;
		border-color: #c3d0dc;
		box-shadow: 0 10px 28px rgba(36, 52, 71, 0.08);
	}

	/* 見出しバーは白のまま、下線と文字で少しだけ強調 */
	.bs-prefecture-page .bs-prefecture-search-section .bs-section-title {
		background: #ffffff;
		color: #303844;
		border-bottom: 2px solid #d4dee8;
	}

	/* 検索ブロック内のフォーム領域も白に統一 */
	.bs-prefecture-page .bs-prefecture-search-section .bs-search-block,
	.bs-prefecture-page .bs-prefecture-search-section .bs-search-block-wrap,
	.bs-prefecture-page .bs-prefecture-search-section .bs-search-block-form,
	.bs-prefecture-page .bs-prefecture-search-section .bs-search-block__section {
		background: #ffffff;
	}

	/* 未選択ボールカードやselectは白を維持し、周囲背景との差を出す */
	.bs-prefecture-page .bs-prefecture-search-section select,
	.bs-prefecture-page .bs-prefecture-search-section .bs-search-ball-radio-card,
	.bs-prefecture-page .bs-prefecture-search-section .bs-search-detail-open {
		background-color: #ffffff;
	}

	/* 選択中のボールだけは既存の強調を残す */
	.bs-prefecture-page .bs-prefecture-search-section .bs-search-ball-radio-option input:checked + .bs-search-ball-radio-card {
		background-color: #eaf2f7;
	}
}


/* ========================================
   BallSpotMAP 都道府県ページ スマホ下部検索見出し線調整 v102-safe
   目的：
   ・スマホ下部検索ブロックの「条件で絞り込む」下線に左右余白を設ける
   ・PC表示、市区ページ、検索結果ページ、検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */

@media (max-width: 1024px) {
	.bs-prefecture-page .bs-prefecture-search-section .bs-section-title {
		position: relative;
		border-bottom: none;
	}

	.bs-prefecture-page .bs-prefecture-search-section .bs-section-title::after {
		content: "";
		position: absolute;
		left: 18px;
		right: 18px;
		bottom: 0;
		height: 2px;
		background: #d4dee8;
	}
}


/* ========================================
   BallSpotMAP 都道府県ページ スマホ下部検索見出し線・自動リンク対策 v103-safe
   目的：
   ・スマホ下部検索ブロックの「条件で絞り込む」下線を細くする
   ・iOS等が地名を自動リンク化した場合でも、都道府県ページ内の見出し/パンくず/リードではリンク風表示とタップを抑制する
   ・PC表示、市区ページ、検索結果ページ、検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */

/* 「条件で絞り込む」下線を細くする */
@media (max-width: 1024px) {
	.bs-prefecture-page .bs-prefecture-search-section .bs-section-title::after {
		height: 1px;
	}
}

/* iOS等の自動データ検出リンク対策：都道府県ページの主要テキスト内に限定 */
.bs-prefecture-page .bs-page-title a[x-apple-data-detectors],
.bs-prefecture-page .bs-page-lead a[x-apple-data-detectors],
.bs-prefecture-page .bs-breadcrumb a[x-apple-data-detectors],
.bs-prefecture-page .bs-breadcrumb span a[x-apple-data-detectors],
.bs-prefecture-page .bs-breadcrumb__item--current a[x-apple-data-detectors] {
	color: inherit !important;
	text-decoration: none !important;
	pointer-events: none !important;
	cursor: default !important;
}

.bs-prefecture-page .bs-page-title a[href^="x-apple-data-detectors:"],
.bs-prefecture-page .bs-page-lead a[href^="x-apple-data-detectors:"],
.bs-prefecture-page .bs-breadcrumb a[href^="x-apple-data-detectors:"] {
	color: inherit !important;
	text-decoration: none !important;
	pointer-events: none !important;
	cursor: default !important;
}


/* ========================================
   BallSpotMAP 詳細条件ポップアップ見出し色調整 v104-safe
   目的：
   ・「詳細条件を選択＋」押下後のポップアップ最上部「詳細条件」を黒にする
   ・PC/スマホ両方に適用
   ・PHP、検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */

.bs-search-detail-modal__header h4,
.bs-search-detail-modal__header .bs-search-detail-modal__title {
	color: #111111;
}


/* ========================================
   BallSpotMAP 都道府県ページ PC右カラム検索ブロック軽微統一 v105-safe
   目的：
   ・PC右カラム検索ブロックは構造を変えず、色と文字ルールだけスマホ下部検索と軽く揃える
   ・背景、枠、見出しバー構造、横幅、PHP、検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */

@media (min-width: 1025px) {
	/* PC右カラム：全体見出し「ボールスポット検索」 */
	.bs-prefecture-page .bs-sidebar-search .bs-sidebar-search__title,
	.bs-prefecture-page .bs-sidebar-search .bs-sidebar-search__title-text {
		color: #3f4650;
	}

	/* PC右カラム：検索ブロック内小見出し */
	.bs-prefecture-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-block__title,
	.bs-prefecture-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-block__title--with-help {
		color: #5b6470;
		font-weight: 700;
	}

	/* PC右カラム：必須など補足表示は太字にしない */
	.bs-prefecture-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-block__title small,
	.bs-prefecture-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-block__required {
		font-weight: 400;
	}

	/* PC右カラム：「詳細条件を選択＋」 */
	.bs-prefecture-page .bs-sidebar-search .bs-search-block-wrap.is-sidebar .bs-search-detail-open {
		color: #5b6470;
		font-weight: 700;
	}
}


/* ========================================
   BallSpotMAP 都道府県ページ PC右カラム検索見出し線・アイコン背景調整 v106-safe
   目的：
   ・PC右カラム「ボールスポット検索」の下線を、スマホ下部検索と同様に左右余白つきの横線にする
   ・虫眼鏡アイコンの白丸を見出し背景色と同じにする
   ・PC右カラムの検索ブロック構造、PHP、検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */

@media (min-width: 1025px) {
	.bs-prefecture-page .bs-sidebar-search .bs-sidebar-search__title {
		position: relative;
		border-bottom: none;
	}

	.bs-prefecture-page .bs-sidebar-search .bs-sidebar-search__title::after {
		content: "";
		position: absolute;
		left: 18px;
		right: 18px;
		bottom: 0;
		height: 1px;
		background: #d4dee8;
	}

	.bs-prefecture-page .bs-sidebar-search .bs-sidebar-search__icon {
		background: inherit;
	}
}


/* ========================================
   BallSpotMAP 都道府県ページ PC右カラム検索見出し色調整 v107-safe
   目的：
   ・PC右カラム「ボールスポット検索」の見出し背景をスマホ下部検索ブロック見出しと同じ白系にする
   ・虫眼鏡アイコンの背景も同じ白系にする
   ・PC右カラムの検索ブロック構造、スマホ下部検索、PHP、検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */

@media (min-width: 1025px) {
	.bs-prefecture-page .bs-sidebar-search .bs-sidebar-search__title {
		background: #ffffff;
	}

	.bs-prefecture-page .bs-sidebar-search .bs-sidebar-search__icon {
		background: #ffffff;
	}
}


/* ========================================
   BallSpotMAP 都道府県ページ PC右カラム検索ブロック背景統一 v108-safe
   目的：
   ・PC右カラム検索ブロックの背景/枠線/影をスマホ下部検索ブロック寄りに揃える
   ・検索フォーム内の未選択部分は白系にして、外側の淡い背景と分離する
   ・スマホ下部検索、PHP、検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */

@media (min-width: 1025px) {
	/* PC右カラム：検索ブロック外枠 */
	.bs-prefecture-page .bs-sidebar-search {
		background: #ffffff;
		border-color: #c3d0dc;
		box-shadow: 0 10px 28px rgba(36, 52, 71, 0.08);
	}

	/* PC右カラム：見出し部分 */
	.bs-prefecture-page .bs-sidebar-search .bs-sidebar-search__title {
		background: #ffffff;
		border-bottom: none;
	}

	.bs-prefecture-page .bs-sidebar-search .bs-sidebar-search__title::after {
		background: #d4dee8;
	}

	.bs-prefecture-page .bs-sidebar-search .bs-sidebar-search__icon {
		background: #ffffff;
	}

	/* PC右カラム：検索フォーム内も白系に統一 */
	.bs-prefecture-page .bs-sidebar-search .bs-search-block,
	.bs-prefecture-page .bs-sidebar-search .bs-search-block-wrap,
	.bs-prefecture-page .bs-sidebar-search .bs-search-block-form,
	.bs-prefecture-page .bs-sidebar-search .bs-search-block__section {
		background: #ffffff;
	}

	/* PC右カラム：未選択カード/プルダウン/詳細条件ボタンも白系に統一 */
	.bs-prefecture-page .bs-sidebar-search select,
	.bs-prefecture-page .bs-sidebar-search .bs-search-ball-radio-card,
	.bs-prefecture-page .bs-sidebar-search .bs-search-detail-open {
		background-color: #ffffff;
	}

	/* PC右カラム：選択中のボールだけ淡い青系強調を維持 */
	.bs-prefecture-page .bs-sidebar-search .bs-search-ball-radio-option input:checked + .bs-search-ball-radio-card {
		background-color: #eaf2f7;
	}
}


/* ========================================
   BallSpotMAP 都道府県ページ 検索アイコンSVG差し替え v109-safe
   目的：
   ・PC右カラム「ボールスポット検索」の検索アイコンを search-icon.svg に差し替える
   ・スマホ下部検索ブロック「条件で絞り込む」の検索アイコンも search-icon.svg に差し替える
   ・SVGは currentColor 前提
   ・PHP、検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */

/* PC右カラム：検索アイコン */
@media (min-width: 1025px) {
	.bs-prefecture-page .bs-sidebar-search .bs-sidebar-search__icon {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex: 0 0 22px;
		width: 22px;
		height: 22px;
		margin-right: 8px;
		overflow: hidden;
		color: #6f8798;
		font-size: 0;
		line-height: 1;
		background: transparent;
	}

	.bs-prefecture-page .bs-sidebar-search .bs-sidebar-search__icon::before {
		content: "";
		display: block;
		width: 20px;
		height: 20px;
		background-color: currentColor;
		-webkit-mask-image: url("/wp-content/themes/generatepress_child/assets/img/search-icons/search-icon.svg");
		mask-image: url("/wp-content/themes/generatepress_child/assets/img/search-icons/search-icon.svg");
		-webkit-mask-repeat: no-repeat;
		mask-repeat: no-repeat;
		-webkit-mask-position: center;
		mask-position: center;
		-webkit-mask-size: contain;
		mask-size: contain;
	}
}

/* スマホ下部検索：検索アイコン */
@media (max-width: 1024px) {
	.bs-prefecture-page .bs-prefecture-search-section .bs-section-title::before {
		flex: 0 0 20px;
		width: 20px;
		height: 20px;
		background-color: currentColor;
		-webkit-mask-image: url("/wp-content/themes/generatepress_child/assets/img/search-icons/search-icon.svg");
		mask-image: url("/wp-content/themes/generatepress_child/assets/img/search-icons/search-icon.svg");
		-webkit-mask-repeat: no-repeat;
		mask-repeat: no-repeat;
		-webkit-mask-position: center;
		mask-position: center;
		-webkit-mask-size: contain;
		mask-size: contain;
	}
}


/* ========================================
   BallSpotMAP 都道府県ページ PC右カラム検索アイコン余白調整 v110-safe
   目的：
   ・PC右カラム「ボールスポット検索」の検索アイコンとテキストの余白を少し狭める
   ・スマホ下部検索、PHP、検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */

@media (min-width: 1025px) {
	.bs-prefecture-page .bs-sidebar-search .bs-sidebar-search__icon {
		margin-right: 5px;
	}
}


/* ========================================
   BallSpotMAP 都道府県ページ PC右カラム検索アイコン色統一 v111-safe
   目的：
   ・PC右カラム「ボールスポット検索」の検索アイコン色をスマホ下部検索と同系の濃いグレーに揃える
   ・スマホ下部検索、PHP、検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */

@media (min-width: 1025px) {
	.bs-prefecture-page .bs-sidebar-search .bs-sidebar-search__icon {
		color: #303844;
	}
}


/* ========================================
   BallSpotMAP 都道府県ページ PC右カラム検索アイコン余白再調整 v112-safe
   目的：
   ・PC右カラム「検索アイコン」と「ボールスポット検索」テキストの余白をさらに少し狭める
   ・スマホ下部検索、PHP、検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */

@media (min-width: 1025px) {
	.bs-prefecture-page .bs-sidebar-search .bs-sidebar-search__icon {
		margin-right: 2px;
	}
}


/* ========================================
   BallSpotMAP 都道府県ページ スマホ下部検索アイコン余白調整 v113-safe
   目的：
   ・スマホ下部検索ブロックの「検索アイコン」と「条件で絞り込む」テキストの余白を少し広げる
   ・PC右カラム、PHP、検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */

@media (max-width: 1024px) {
	.bs-prefecture-page .bs-prefecture-search-section .bs-section-title {
		gap: 11px;
	}
}


/* ========================================
   BallSpotMAP 都道府県ページ 検索ブロック見出し反転カラー調整 v114-safe
   目的：
   ・PC右カラム「ボールスポット検索」とスマホ下部「条件で絞り込む」の見出しを濃いグレー背景＋白文字にする
   ・添付イメージのように、検索ブロックの入口を明確化する
   ・PHP、検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */

/* PC右カラム：見出し反転カラー */
@media (min-width: 1025px) {
	.bs-prefecture-page .bs-sidebar-search .bs-sidebar-search__title {
		background: #55585c;
		color: #ffffff;
		border-bottom: none;
	}

	.bs-prefecture-page .bs-sidebar-search .bs-sidebar-search__title-text,
	.bs-prefecture-page .bs-sidebar-search .bs-sidebar-search__icon {
		color: #ffffff;
	}

	.bs-prefecture-page .bs-sidebar-search .bs-sidebar-search__title::after {
		display: none;
	}
}

/* スマホ下部検索：見出し反転カラー */
@media (max-width: 1024px) {
	.bs-prefecture-page .bs-prefecture-search-section .bs-section-title {
		background: #55585c;
		color: #ffffff;
		border-bottom: none;
	}

	.bs-prefecture-page .bs-prefecture-search-section .bs-section-title::before {
		color: #ffffff;
		background-color: currentColor;
	}

	.bs-prefecture-page .bs-prefecture-search-section .bs-section-title::after {
		display: none;
	}
}


/* ========================================
   BallSpotMAP 都道府県ページ 検索ブロック見出し反転カラー再調整 v115-safe
   目的：
   ・v114の濃すぎるグレーを、少し軽いグレーブルー系に調整する
   ・PC右カラム「ボールスポット検索」とスマホ下部「条件で絞り込む」の見出し色を統一
   ・PHP、検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */

/* PC右カラム：見出し反転カラーを少し軽くする */
@media (min-width: 1025px) {
	.bs-prefecture-page .bs-sidebar-search .bs-sidebar-search__title {
		background: #68717a;
		color: #ffffff;
	}

	.bs-prefecture-page .bs-sidebar-search .bs-sidebar-search__title-text,
	.bs-prefecture-page .bs-sidebar-search .bs-sidebar-search__icon {
		color: #ffffff;
	}
}

/* スマホ下部検索：見出し反転カラーを少し軽くする */
@media (max-width: 1024px) {
	.bs-prefecture-page .bs-prefecture-search-section .bs-section-title {
		background: #68717a;
		color: #ffffff;
	}

	.bs-prefecture-page .bs-prefecture-search-section .bs-section-title::before {
		color: #ffffff;
		background-color: currentColor;
	}
}


/* ========================================
   BallSpotMAP 都道府県ページ 検索ブロック見出しカラー再調整 v116-safe
   目的：
   ・PC右カラム「ボールスポット検索」とスマホ下部「条件で絞り込む」の背景を #D3D3D3 にする
   ・検索アイコンと見出し文字色を #16160e にする
   ・PHP、検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */

/* PC右カラム：見出しカラー */
@media (min-width: 1025px) {
	.bs-prefecture-page .bs-sidebar-search .bs-sidebar-search__title {
		background: #D3D3D3;
		color: #16160e;
	}

	.bs-prefecture-page .bs-sidebar-search .bs-sidebar-search__title-text,
	.bs-prefecture-page .bs-sidebar-search .bs-sidebar-search__icon {
		color: #16160e;
	}
}

/* スマホ下部検索：見出しカラー */
@media (max-width: 1024px) {
	.bs-prefecture-page .bs-prefecture-search-section .bs-section-title {
		background: #D3D3D3;
		color: #16160e;
	}

	.bs-prefecture-page .bs-prefecture-search-section .bs-section-title::before {
		color: #16160e;
		background-color: currentColor;
	}
}


/* ========================================
   BallSpotMAP 真の復旧版 v131-clean
   目的：
   ・v117以降の市区ページ検索ブロック調整CSSを完全に含めない状態へ戻す
   ・都道府県ページ検索見出しの確定色だけ維持する
   ・市区ページ検索ブロックの異常な太字/色上書きをいったん排除する
   ・市区ページPHPはスマホ下部見出し文言のみ「条件で絞り込む」に変更
======================================== */

/* 都道府県ページ：確定色だけ維持 */
@media (min-width: 1025px) {
	.bs-prefecture-page .bs-sidebar-search .bs-sidebar-search__title {
		background: #f1f1f1 !important;
		color: #242424 !important;
	}

	.bs-prefecture-page .bs-sidebar-search .bs-sidebar-search__title-text,
	.bs-prefecture-page .bs-sidebar-search .bs-sidebar-search__icon {
		color: #242424 !important;
	}
}

@media (max-width: 1024px) {
	.bs-prefecture-page .bs-prefecture-search-section .bs-section-title {
		background: #f1f1f1 !important;
		color: #242424 !important;
	}

	.bs-prefecture-page .bs-prefecture-search-section .bs-section-title::before {
		color: #242424 !important;
		background-color: currentColor !important;
	}
}


/* ========================================
   BallSpotMAP 検索ブロック共通コンポーネント v132-clean
   変更タイプ：
   ・検索ブロック外枠/見出し/フォーム部品の共通化
   ・都道府県ページと市区ページの検索ブロックだけ対象
   ・カード一覧、並び順、パンくず、タイトル、リード文、検索結果ページ、検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */

/* 共通検索パネル：ページ別の古い見出し・アイコン指定を無効化して、共通クラスだけで表示する */
.bs-prefecture-page .bs-search-panel,
.bs-municipality-page .bs-search-panel {
	background: #ffffff !important;
	border: 1px solid #c3d0dc !important;
	box-shadow: 0 10px 28px rgba(36, 52, 71, 0.08) !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
}

.bs-prefecture-page .bs-search-panel__heading,
.bs-municipality-page .bs-search-panel__heading {
	display: flex !important;
	align-items: center !important;
	width: 100% !important;
	margin: 0 !important;
	background: #f1f1f1 !important;
	color: #242424 !important;
	border: 0 !important;
	border-bottom: 1px solid #dbe3ee !important;
	border-radius: 0 !important;
	box-sizing: border-box !important;
	text-align: left !important;
	letter-spacing: 0 !important;
}

.bs-prefecture-page .bs-search-panel__heading::before,
.bs-prefecture-page .bs-search-panel__heading::after,
.bs-municipality-page .bs-search-panel__heading::before,
.bs-municipality-page .bs-search-panel__heading::after {
	content: none !important;
	display: none !important;
}

.bs-prefecture-page .bs-search-panel__icon,
.bs-municipality-page .bs-search-panel__icon {
	display: inline-block !important;
	margin: 0 !important;
	padding: 0 !important;
	background-color: currentColor !important;
	-webkit-mask-image: url("/wp-content/themes/generatepress_child/assets/img/search-icons/search-icon.svg") !important;
	mask-image: url("/wp-content/themes/generatepress_child/assets/img/search-icons/search-icon.svg") !important;
	-webkit-mask-repeat: no-repeat !important;
	mask-repeat: no-repeat !important;
	-webkit-mask-position: center !important;
	mask-position: center !important;
	-webkit-mask-size: contain !important;
	mask-size: contain !important;
	box-sizing: border-box !important;
}

.bs-prefecture-page .bs-search-panel__text,
.bs-municipality-page .bs-search-panel__text {
	display: inline-block !important;
	min-width: 0 !important;
	color: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;
}

/* PC右カラム */
@media (min-width: 1025px) {
	.bs-prefecture-page .bs-search-panel--sidebar,
	.bs-municipality-page .bs-search-panel--sidebar {
		padding: 0 !important;
		border-radius: 18px !important;
	}

	.bs-prefecture-page .bs-search-panel--sidebar .bs-search-panel__heading,
	.bs-municipality-page .bs-search-panel--sidebar .bs-search-panel__heading {
		gap: 8px !important;
		min-height: 47px !important;
		padding: 12px 16px !important;
		font-size: 0.98rem !important;
		font-weight: 700 !important;
		line-height: 1.35 !important;
	}

	.bs-prefecture-page .bs-search-panel--sidebar .bs-search-panel__icon,
	.bs-municipality-page .bs-search-panel--sidebar .bs-search-panel__icon {
		flex: 0 0 20px !important;
		width: 20px !important;
		height: 20px !important;
	}

	.bs-prefecture-page .bs-search-panel--sidebar .bs-search-panel__body,
	.bs-municipality-page .bs-search-panel--sidebar .bs-search-panel__body {
		padding: 16px !important;
		background: #ffffff !important;
		box-sizing: border-box !important;
	}
}

/* スマホ下部 */
@media (max-width: 1024px) {
	.bs-prefecture-page .bs-search-panel--bottom,
	.bs-municipality-page .bs-search-panel--bottom {
		width: calc(100% - 40px) !important;
		max-width: 680px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding: 0 !important;
		border-radius: 18px !important;
	}

	.bs-prefecture-page .bs-search-panel--bottom .bs-search-panel__heading,
	.bs-municipality-page .bs-search-panel--bottom .bs-search-panel__heading {
		gap: 11px !important;
		min-height: 55px !important;
		padding: 14px 16px !important;
		font-size: 1.05rem !important;
		font-weight: 700 !important;
		line-height: 1.45 !important;
	}

	.bs-prefecture-page .bs-search-panel--bottom .bs-search-panel__icon,
	.bs-municipality-page .bs-search-panel--bottom .bs-search-panel__icon {
		flex: 0 0 20px !important;
		width: 20px !important;
		height: 20px !important;
	}

	.bs-prefecture-page .bs-search-panel--bottom .bs-search-panel__body,
	.bs-municipality-page .bs-search-panel--bottom .bs-search-panel__body {
		padding: 18px 14px 20px !important;
		background: #ffffff !important;
		box-sizing: border-box !important;
	}
}

@media (max-width: 480px) {
	.bs-prefecture-page .bs-search-panel--bottom,
	.bs-municipality-page .bs-search-panel--bottom {
		width: calc(100% - 32px) !important;
	}
}

/* 共通フォーム部品：検索パネル内はページ差を出さない */
.bs-prefecture-page .bs-search-panel .bs-search-block,
.bs-prefecture-page .bs-search-panel .bs-search-block-wrap,
.bs-prefecture-page .bs-search-panel .bs-search-block-form,
.bs-prefecture-page .bs-search-panel .bs-search-block__section,
.bs-municipality-page .bs-search-panel .bs-search-block,
.bs-municipality-page .bs-search-panel .bs-search-block-wrap,
.bs-municipality-page .bs-search-panel .bs-search-block-form,
.bs-municipality-page .bs-search-panel .bs-search-block__section {
	background: #ffffff !important;
}

/* selectの文字色・太さを共通化：市区ページだけ明るくなる問題を潰す */
.bs-prefecture-page .bs-search-panel select,
.bs-municipality-page .bs-search-panel select {
	color: #243447 !important;
	font-weight: 400 !important;
	background-color: #ffffff !important;
}

/* disabled風の見た目が必要な場合も、文字だけ極端に薄くしない */
.bs-prefecture-page .bs-search-panel select:disabled,
.bs-municipality-page .bs-search-panel select:disabled {
	color: #8a98aa !important;
	-webkit-text-fill-color: #8a98aa !important;
	opacity: 1 !important;
}

/* ボール選択ラベルは太字にしない */
.bs-prefecture-page .bs-search-panel .bs-search-ball-radio-label,
.bs-municipality-page .bs-search-panel .bs-search-ball-radio-label {
	font-weight: 400 !important;
}

/* ボールカード本体に太字が残っていてもラベル側で止める */
.bs-prefecture-page .bs-search-panel .bs-search-ball-radio-card,
.bs-municipality-page .bs-search-panel .bs-search-ball-radio-card {
	background-color: #ffffff !important;
	font-weight: 400 !important;
}

/* 選択中ボールだけ淡い青背景を維持 */
.bs-prefecture-page .bs-search-panel .bs-search-ball-radio-option input:checked + .bs-search-ball-radio-card,
.bs-municipality-page .bs-search-panel .bs-search-ball-radio-option input:checked + .bs-search-ball-radio-card {
	background-color: #eaf2f7 !important;
}

/* フォーム内小見出しは太字、補足だけ標準 */
.bs-prefecture-page .bs-search-panel .bs-search-block__title,
.bs-prefecture-page .bs-search-panel .bs-search-block__title--with-help,
.bs-municipality-page .bs-search-panel .bs-search-block__title,
.bs-municipality-page .bs-search-panel .bs-search-block__title--with-help {
	color: #5b6470 !important;
	font-weight: 700 !important;
}

.bs-prefecture-page .bs-search-panel .bs-search-block__title small,
.bs-prefecture-page .bs-search-panel .bs-search-block__required,
.bs-municipality-page .bs-search-panel .bs-search-block__title small,
.bs-municipality-page .bs-search-panel .bs-search-block__required {
	font-weight: 400 !important;
}

/* 詳細条件ボタン */
.bs-prefecture-page .bs-search-panel .bs-search-detail-open,
.bs-municipality-page .bs-search-panel .bs-search-detail-open {
	background-color: #ffffff !important;
	color: #5b6470 !important;
	font-weight: 700 !important;
}


/* ========================================
   BallSpotMAP 検索ブロック内部フォント/余白共通固定 v133-safe
   目的：
   ・都道府県ページと市区ページで、検索ブロック内部の文字サイズ/太さ/行高/縦位置を揃える
   ・対象は .bs-search-panel 配下のみ
   ・PHP、カード一覧、並び順、パンくず、タイトル、リード文、検索結果ページ、カード部品、並び順ロジックは変更しない
======================================== */

.bs-prefecture-page .bs-search-panel,
.bs-municipality-page .bs-search-panel {
	font-family: inherit !important;
	color: #243447 !important;
}

.bs-prefecture-page .bs-search-panel .bs-search-block-wrap,
.bs-municipality-page .bs-search-panel .bs-search-block-wrap,
.bs-prefecture-page .bs-search-panel .bs-search-block,
.bs-municipality-page .bs-search-panel .bs-search-block,
.bs-prefecture-page .bs-search-panel .bs-search-block-form,
.bs-municipality-page .bs-search-panel .bs-search-block-form {
	font-family: inherit !important;
	font-size: 1rem !important;
	line-height: 1.5 !important;
	color: #243447 !important;
}

.bs-prefecture-page .bs-search-panel .bs-search-block__section,
.bs-municipality-page .bs-search-panel .bs-search-block__section {
	margin: 0 !important;
	padding: 0 !important;
	background: #ffffff !important;
}

.bs-prefecture-page .bs-search-panel .bs-search-block__section + .bs-search-block__section,
.bs-municipality-page .bs-search-panel .bs-search-block__section + .bs-search-block__section {
	margin-top: 22px !important;
}

.bs-prefecture-page .bs-search-panel .bs-search-block__title,
.bs-prefecture-page .bs-search-panel .bs-search-block__title--with-help,
.bs-municipality-page .bs-search-panel .bs-search-block__title,
.bs-municipality-page .bs-search-panel .bs-search-block__title--with-help {
	margin: 0 0 10px !important;
	padding: 0 !important;
	color: #5b6470 !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	line-height: 1.45 !important;
	letter-spacing: 0 !important;
}

.bs-prefecture-page .bs-search-panel .bs-search-block__title small,
.bs-prefecture-page .bs-search-panel .bs-search-block__required,
.bs-municipality-page .bs-search-panel .bs-search-block__title small,
.bs-municipality-page .bs-search-panel .bs-search-block__required {
	color: #7a8796 !important;
	font-size: 0.82rem !important;
	font-weight: 400 !important;
	line-height: 1.45 !important;
}

.bs-prefecture-page .bs-search-panel .bs-info-icon,
.bs-municipality-page .bs-search-panel .bs-info-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 18px !important;
	height: 18px !important;
	margin-left: 5px !important;
	border-radius: 50% !important;
	background: #d9e8f4 !important;
	color: #14547c !important;
	font-size: 0.78rem !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	vertical-align: middle !important;
}

.bs-prefecture-page .bs-search-panel .bs-search-block__row--area,
.bs-municipality-page .bs-search-panel .bs-search-block__row--area {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 12px !important;
	align-items: start !important;
}

.bs-prefecture-page .bs-search-panel .bs-search-block__field,
.bs-municipality-page .bs-search-panel .bs-search-block__field,
.bs-prefecture-page .bs-search-panel .bs-search-block__field--compact,
.bs-municipality-page .bs-search-panel .bs-search-block__field--compact {
	margin: 0 !important;
	min-width: 0 !important;
}

.bs-prefecture-page .bs-search-panel select,
.bs-municipality-page .bs-search-panel select {
	width: 100% !important;
	height: 44px !important;
	min-height: 44px !important;
	padding: 0 38px 0 16px !important;
	border: 1px solid #dbe3ee !important;
	border-radius: 10px !important;
	background-color: #ffffff !important;
	color: #243447 !important;
	font-family: inherit !important;
	font-size: 1rem !important;
	font-weight: 400 !important;
	line-height: 44px !important;
	text-align: left !important;
	text-align-last: left !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	opacity: 1 !important;
	-webkit-text-fill-color: #243447 !important;
}

.bs-prefecture-page .bs-search-panel select:disabled,
.bs-municipality-page .bs-search-panel select:disabled {
	color: #9aa7b6 !important;
	-webkit-text-fill-color: #9aa7b6 !important;
	opacity: 1 !important;
	background-color: #f8fafc !important;
}

.bs-prefecture-page .bs-search-panel .bs-search-ball-radio-grid,
.bs-municipality-page .bs-search-panel .bs-search-ball-radio-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 10px !important;
}

.bs-prefecture-page .bs-search-panel .bs-search-ball-radio-card,
.bs-municipality-page .bs-search-panel .bs-search-ball-radio-card {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	min-height: 54px !important;
	padding: 10px 12px !important;
	border: 1px solid #dbe3ee !important;
	border-radius: 10px !important;
	background-color: #ffffff !important;
	color: #243447 !important;
	font-family: inherit !important;
	font-size: 1rem !important;
	font-weight: 400 !important;
	line-height: 1.35 !important;
	box-sizing: border-box !important;
}

.bs-prefecture-page .bs-search-panel .bs-search-ball-radio-option input:checked + .bs-search-ball-radio-card,
.bs-municipality-page .bs-search-panel .bs-search-ball-radio-option input:checked + .bs-search-ball-radio-card {
	background-color: #eaf2f7 !important;
	border-color: #14547c !important;
	box-shadow: 0 0 0 1px #14547c inset !important;
}

.bs-prefecture-page .bs-search-panel .bs-search-ball-radio-icon,
.bs-municipality-page .bs-search-panel .bs-search-ball-radio-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 30px !important;
	width: 30px !important;
	height: 30px !important;
	margin: 0 !important;
	font-size: 1.45rem !important;
	font-weight: 400 !important;
	line-height: 1 !important;
}

.bs-prefecture-page .bs-search-panel .bs-search-ball-radio-label,
.bs-municipality-page .bs-search-panel .bs-search-ball-radio-label {
	display: inline-block !important;
	min-width: 0 !important;
	color: #243447 !important;
	font-family: inherit !important;
	font-size: 0.95rem !important;
	font-weight: 400 !important;
	line-height: 1.35 !important;
	letter-spacing: 0 !important;
}

.bs-prefecture-page .bs-search-panel .bs-search-detail-open,
.bs-municipality-page .bs-search-panel .bs-search-detail-open {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 46px !important;
	margin: 0 !important;
	padding: 0 16px !important;
	border: 1px solid #dbe3ee !important;
	border-radius: 10px !important;
	background-color: #ffffff !important;
	color: #5b6470 !important;
	font-family: inherit !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	box-sizing: border-box !important;
}

.bs-prefecture-page .bs-search-panel .bs-search-submit-button,
.bs-municipality-page .bs-search-panel .bs-search-submit-button {
	min-height: 56px !important;
	font-size: 1.05rem !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
}

@media (min-width: 1025px) {
	.bs-prefecture-page .bs-search-panel--sidebar .bs-search-block__section + .bs-search-block__section,
	.bs-municipality-page .bs-search-panel--sidebar .bs-search-block__section + .bs-search-block__section {
		margin-top: 16px !important;
	}

	.bs-prefecture-page .bs-search-panel--sidebar .bs-search-block__title,
	.bs-prefecture-page .bs-search-panel--sidebar .bs-search-block__title--with-help,
	.bs-municipality-page .bs-search-panel--sidebar .bs-search-block__title,
	.bs-municipality-page .bs-search-panel--sidebar .bs-search-block__title--with-help {
		font-size: 0.86rem !important;
		margin-bottom: 8px !important;
	}

	.bs-prefecture-page .bs-search-panel--sidebar .bs-search-block__title small,
	.bs-prefecture-page .bs-search-panel--sidebar .bs-search-block__required,
	.bs-municipality-page .bs-search-panel--sidebar .bs-search-block__title small,
	.bs-municipality-page .bs-search-panel--sidebar .bs-search-block__required {
		font-size: 0.78rem !important;
	}

	.bs-prefecture-page .bs-search-panel--sidebar select,
	.bs-municipality-page .bs-search-panel--sidebar select {
		height: 40px !important;
		min-height: 40px !important;
		padding-left: 10px !important;
		padding-right: 32px !important;
		font-size: 0.84rem !important;
		line-height: 40px !important;
		border-radius: 9px !important;
	}

	.bs-prefecture-page .bs-search-panel--sidebar .bs-search-ball-radio-card,
	.bs-municipality-page .bs-search-panel--sidebar .bs-search-ball-radio-card {
		min-height: 42px !important;
		padding: 7px 9px !important;
		gap: 8px !important;
		border-radius: 9px !important;
	}

	.bs-prefecture-page .bs-search-panel--sidebar .bs-search-ball-radio-icon,
	.bs-municipality-page .bs-search-panel--sidebar .bs-search-ball-radio-icon {
		flex-basis: 24px !important;
		width: 24px !important;
		height: 24px !important;
		font-size: 1.15rem !important;
	}

	.bs-prefecture-page .bs-search-panel--sidebar .bs-search-ball-radio-label,
	.bs-municipality-page .bs-search-panel--sidebar .bs-search-ball-radio-label {
		font-size: 0.76rem !important;
		line-height: 1.28 !important;
		font-weight: 400 !important;
	}

	.bs-prefecture-page .bs-search-panel--sidebar .bs-search-detail-open,
	.bs-municipality-page .bs-search-panel--sidebar .bs-search-detail-open {
		min-height: 42px !important;
		font-size: 0.8rem !important;
	}

	.bs-prefecture-page .bs-search-panel--sidebar .bs-search-submit-button,
	.bs-municipality-page .bs-search-panel--sidebar .bs-search-submit-button {
		min-height: 40px !important;
		font-size: 0.9rem !important;
	}
}

@media (max-width: 480px) {
	.bs-prefecture-page .bs-search-panel--bottom .bs-search-ball-radio-grid,
	.bs-municipality-page .bs-search-panel--bottom .bs-search-ball-radio-grid {
		gap: 8px !important;
	}

	.bs-prefecture-page .bs-search-panel--bottom .bs-search-ball-radio-card,
	.bs-municipality-page .bs-search-panel--bottom .bs-search-ball-radio-card {
		gap: 7px !important;
		padding: 8px 9px !important;
	}

	.bs-prefecture-page .bs-search-panel--bottom .bs-search-ball-radio-label,
	.bs-municipality-page .bs-search-panel--bottom .bs-search-ball-radio-label {
		font-size: 0.8rem !important;
		line-height: 1.3 !important;
		font-weight: 400 !important;
	}
}


/* ========================================
   BallSpotMAP 詳細条件ポップアップ 環境スコア4項目のみ太字修正 v136-safe
   目的：
   ・実際の詳細条件ポップアップ .bs-search-detail-modal を対象にする
   ・太字にするのは環境スコア4項目だけ
     - 雨天適性スコア
     - 夜間適性スコア
     - 広さスコア
     - 安全性スコア
   ・設備条件のチェック項目は太字化しない
   ・v134/v135の誤ったセレクタ指定は含めない
======================================== */

/* 詳細条件ポップアップ内のチェック項目は標準ウェイト */
.bs-search-detail-modal .bs-search-check-list label,
.bs-search-detail-modal .bs-search-check-list label span {
	font-weight: 400 !important;
}

/* 詳細条件ポップアップ内の通常フィールドラベルも標準を基本にする */
.bs-search-detail-modal .bs-search-block__field > label {
	font-weight: 400 !important;
}

/* 環境スコア4項目だけ太字 */
.bs-search-detail-modal label[for^="bs-search-score-rain-"],
.bs-search-detail-modal label[for^="bs-search-score-night-"],
.bs-search-detail-modal label[for^="bs-search-score-size-"],
.bs-search-detail-modal label[for^="bs-search-score-safety-"] {
	font-weight: 700 !important;
	color: #5b6470 !important;
}

/* セクション見出しは太字維持 */
.bs-search-detail-modal .bs-search-block__title,
.bs-search-detail-modal .bs-search-block__title--with-help {
	font-weight: 700 !important;
	color: #5b6470 !important;
}

/* 補足テキストや必須表示は太字にしない */
.bs-search-detail-modal .bs-search-block__title small,
.bs-search-detail-modal .bs-search-block__required {
	font-weight: 400 !important;
}


/* ========================================
   BallSpotMAP 検索ブロック微調整 v137-safe
   変更タイプ：
   ・PC右カラム検索見出しの文字/アイコン色を少し薄くする
   ・都道府県ページの掲載市区数/掲載スポット数を市区ページ掲載数と同じ色・サイズ・太字にする
   ・詳細条件ポップアップ内のフォントサイズ/太さ/行高を共通化する
   ・スマホ市区ページの「絞り込む」スクロールは municipality-page-layout.php 側で調整
======================================== */

/* PC右カラムのみ：検索見出しの文字/アイコンを少し薄くする。スマホ下部検索は現状維持 */
@media (min-width: 1025px) {
	.bs-prefecture-page .bs-search-panel--sidebar .bs-search-panel__heading,
	.bs-municipality-page .bs-search-panel--sidebar .bs-search-panel__heading {
		color: #3f4650 !important;
	}

	.bs-prefecture-page .bs-search-panel--sidebar .bs-search-panel__icon,
	.bs-prefecture-page .bs-search-panel--sidebar .bs-search-panel__text,
	.bs-municipality-page .bs-search-panel--sidebar .bs-search-panel__icon,
	.bs-municipality-page .bs-search-panel--sidebar .bs-search-panel__text {
		color: inherit !important;
	}
}

/* 都道府県ページ：掲載市区数/掲載スポット数を市区ページの掲載スポット数と同じ色・サイズ・太字に戻す */
.bs-prefecture-page .bs-prefecture-meta-list,
.bs-prefecture-page .bs-prefecture-meta-item,
.bs-prefecture-page .bs-prefecture-meta-item span,
.bs-prefecture-page .bs-prefecture-meta-item strong {
	font-size: 0.98rem !important;
	line-height: 1.55 !important;
	font-weight: 700 !important;
	color: #607086 !important;
}

/* 詳細条件ポップアップ：都道府県ページ/市区ページでフォントサイズ・縦位置を共通化 */
.bs-search-detail-modal,
.bs-search-detail-modal .bs-search-detail-modal__dialog,
.bs-search-detail-modal .bs-search-detail-modal__body,
.bs-search-detail-modal .bs-search-block-wrap,
.bs-search-detail-modal .bs-search-block,
.bs-search-detail-modal .bs-search-block-form {
	font-family: inherit !important;
	color: #243447 !important;
	font-size: 1rem !important;
	line-height: 1.5 !important;
}

.bs-search-detail-modal .bs-search-detail-modal__header h4 {
	color: #111827 !important;
	font-size: 1.2rem !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
}

.bs-search-detail-modal .bs-search-block__field {
	margin: 0 0 18px !important;
}

.bs-search-detail-modal .bs-search-block__field:last-child {
	margin-bottom: 0 !important;
}

.bs-search-detail-modal .bs-search-block__field > label,
.bs-search-detail-modal .bs-search-check-list label,
.bs-search-detail-modal .bs-search-check-list label span {
	color: #5b6470 !important;
	font-size: 0.95rem !important;
	line-height: 1.45 !important;
}

/* 通常の詳細条件ラベル・設備チェック項目は標準ウェイト */
.bs-search-detail-modal .bs-search-block__field > label,
.bs-search-detail-modal .bs-search-check-list label,
.bs-search-detail-modal .bs-search-check-list label span {
	font-weight: 400 !important;
}

/* 環境スコア4項目だけ太字 */
.bs-search-detail-modal label[for^="bs-search-score-rain-"],
.bs-search-detail-modal label[for^="bs-search-score-night-"],
.bs-search-detail-modal label[for^="bs-search-score-size-"],
.bs-search-detail-modal label[for^="bs-search-score-safety-"] {
	font-weight: 700 !important;
	color: #5b6470 !important;
}

/* 詳細条件ポップアップ内selectも共通化 */
.bs-search-detail-modal select {
	width: 100% !important;
	height: 44px !important;
	min-height: 44px !important;
	padding: 0 38px 0 16px !important;
	border: 1px solid #dbe3ee !important;
	border-radius: 10px !important;
	background-color: #ffffff !important;
	color: #243447 !important;
	font-family: inherit !important;
	font-size: 1rem !important;
	font-weight: 400 !important;
	line-height: 44px !important;
	box-sizing: border-box !important;
	-webkit-text-fill-color: #243447 !important;
	opacity: 1 !important;
}

.bs-search-detail-modal .bs-search-check-list {
	display: grid !important;
	gap: 10px !important;
}

.bs-search-detail-modal .bs-search-check-list label {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	min-height: 44px !important;
	padding: 9px 12px !important;
	border: 1px solid #dbe3ee !important;
	border-radius: 10px !important;
	background-color: #ffffff !important;
	box-sizing: border-box !important;
}


/* ========================================
   BallSpotMAP フッターリンク構造 v138-safe
   目的：
   ・利用規約 / プライバシーポリシー / お問い合わせ / 運営者情報 のリンク枠を用意
   ・最終デザイン前のため、控えめな中央配置に留める
   ・検索ブロック、カード一覧、並び順、パンくず、タイトル、リード文には影響させない
======================================== */

.bs-site-footer-links {
	width: 100%;
	padding: 18px 16px 22px;
	background: #ffffff;
	border-top: 1px solid #e2e8f0;
	box-sizing: border-box;
}

.bs-site-footer-links__nav {
	max-width: 1080px;
	margin: 0 auto;
}

.bs-site-footer-links__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 10px 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.bs-site-footer-links__item {
	margin: 0;
	padding: 0;
	line-height: 1.4;
}

.bs-site-footer-links__link,
.bs-site-footer-links__link:visited {
	color: #607086;
	font-size: 0.86rem;
	font-weight: 400;
	text-decoration: none;
}

.bs-site-footer-links__link:hover,
.bs-site-footer-links__link:focus {
	color: #14547c;
	text-decoration: underline;
}

@media (max-width: 480px) {
	.bs-site-footer-links {
		padding: 16px 14px 20px;
	}

	.bs-site-footer-links__list {
		gap: 8px 14px;
	}

	.bs-site-footer-links__link,
	.bs-site-footer-links__link:visited {
		font-size: 0.82rem;
	}
}


/* ========================================
   BallSpotMAP 検索結果ページ v146 正本検索ブロック完全適用
   方針：
   ・市区ページで確定した v132/v133 の検索パネルCSSを、検索結果ページにも同じ値で適用
   ・検索ブロック内部を検索結果ページ用に似せる指定はしない
   ・検索結果ページ専用で触るのは、検索条件/検索結果カードと、並び順＋再検索行だけ
======================================== */

/* ========================================
   BallSpotMAP 検索ブロック共通コンポーネント v132-clean
   変更タイプ：
   ・検索ブロック外枠/見出し/フォーム部品の共通化
   ・都道府県ページと市区ページの検索ブロックだけ対象
   ・カード一覧、並び順、パンくず、タイトル、リード文、検索結果ページ、検索ブロックPHP、カード部品、並び順ロジックは変更しない
======================================== */

/* 共通検索パネル：ページ別の古い見出し・アイコン指定を無効化して、共通クラスだけで表示する */
.bs-search-result-page .bs-search-panel,
.bs-search-result-page .bs-search-panel {
	background: #ffffff !important;
	border: 1px solid #c3d0dc !important;
	box-shadow: 0 10px 28px rgba(36, 52, 71, 0.08) !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
}

.bs-search-result-page .bs-search-panel__heading,
.bs-search-result-page .bs-search-panel__heading {
	display: flex !important;
	align-items: center !important;
	width: 100% !important;
	margin: 0 !important;
	background: #f1f1f1 !important;
	color: #242424 !important;
	border: 0 !important;
	border-bottom: 1px solid #dbe3ee !important;
	border-radius: 0 !important;
	box-sizing: border-box !important;
	text-align: left !important;
	letter-spacing: 0 !important;
}

.bs-search-result-page .bs-search-panel__heading::before,
.bs-search-result-page .bs-search-panel__heading::after,
.bs-search-result-page .bs-search-panel__heading::before,
.bs-search-result-page .bs-search-panel__heading::after {
	content: none !important;
	display: none !important;
}

.bs-search-result-page .bs-search-panel__icon,
.bs-search-result-page .bs-search-panel__icon {
	display: inline-block !important;
	margin: 0 !important;
	padding: 0 !important;
	background-color: currentColor !important;
	-webkit-mask-image: url("/wp-content/themes/generatepress_child/assets/img/search-icons/search-icon.svg") !important;
	mask-image: url("/wp-content/themes/generatepress_child/assets/img/search-icons/search-icon.svg") !important;
	-webkit-mask-repeat: no-repeat !important;
	mask-repeat: no-repeat !important;
	-webkit-mask-position: center !important;
	mask-position: center !important;
	-webkit-mask-size: contain !important;
	mask-size: contain !important;
	box-sizing: border-box !important;
}

.bs-search-result-page .bs-search-panel__text,
.bs-search-result-page .bs-search-panel__text {
	display: inline-block !important;
	min-width: 0 !important;
	color: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;
}

/* PC右カラム */
@media (min-width: 1025px) {
	.bs-search-result-page .bs-search-panel--sidebar,
	.bs-search-result-page .bs-search-panel--sidebar {
		padding: 0 !important;
		border-radius: 18px !important;
	}

	.bs-search-result-page .bs-search-panel--sidebar .bs-search-panel__heading,
	.bs-search-result-page .bs-search-panel--sidebar .bs-search-panel__heading {
		gap: 8px !important;
		min-height: 47px !important;
		padding: 12px 16px !important;
		font-size: 0.98rem !important;
		font-weight: 700 !important;
		line-height: 1.35 !important;
	}

	.bs-search-result-page .bs-search-panel--sidebar .bs-search-panel__icon,
	.bs-search-result-page .bs-search-panel--sidebar .bs-search-panel__icon {
		flex: 0 0 20px !important;
		width: 20px !important;
		height: 20px !important;
	}

	.bs-search-result-page .bs-search-panel--sidebar .bs-search-panel__body,
	.bs-search-result-page .bs-search-panel--sidebar .bs-search-panel__body {
		padding: 16px !important;
		background: #ffffff !important;
		box-sizing: border-box !important;
	}
}

/* スマホ下部 */
@media (max-width: 1024px) {
	.bs-search-result-page .bs-search-panel--bottom,
	.bs-search-result-page .bs-search-panel--bottom {
		width: calc(100% - 40px) !important;
		max-width: 680px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding: 0 !important;
		border-radius: 18px !important;
	}

	.bs-search-result-page .bs-search-panel--bottom .bs-search-panel__heading,
	.bs-search-result-page .bs-search-panel--bottom .bs-search-panel__heading {
		gap: 11px !important;
		min-height: 55px !important;
		padding: 14px 16px !important;
		font-size: 1.05rem !important;
		font-weight: 700 !important;
		line-height: 1.45 !important;
	}

	.bs-search-result-page .bs-search-panel--bottom .bs-search-panel__icon,
	.bs-search-result-page .bs-search-panel--bottom .bs-search-panel__icon {
		flex: 0 0 20px !important;
		width: 20px !important;
		height: 20px !important;
	}

	.bs-search-result-page .bs-search-panel--bottom .bs-search-panel__body,
	.bs-search-result-page .bs-search-panel--bottom .bs-search-panel__body {
		padding: 18px 14px 20px !important;
		background: #ffffff !important;
		box-sizing: border-box !important;
	}
}

@media (max-width: 480px) {
	.bs-search-result-page .bs-search-panel--bottom,
	.bs-search-result-page .bs-search-panel--bottom {
		width: calc(100% - 32px) !important;
	}
}

/* 共通フォーム部品：検索パネル内はページ差を出さない */
.bs-search-result-page .bs-search-panel .bs-search-block,
.bs-search-result-page .bs-search-panel .bs-search-block-wrap,
.bs-search-result-page .bs-search-panel .bs-search-block-form,
.bs-search-result-page .bs-search-panel .bs-search-block__section,
.bs-search-result-page .bs-search-panel .bs-search-block,
.bs-search-result-page .bs-search-panel .bs-search-block-wrap,
.bs-search-result-page .bs-search-panel .bs-search-block-form,
.bs-search-result-page .bs-search-panel .bs-search-block__section {
	background: #ffffff !important;
}

/* selectの文字色・太さを共通化：市区ページだけ明るくなる問題を潰す */
.bs-search-result-page .bs-search-panel select,
.bs-search-result-page .bs-search-panel select {
	color: #243447 !important;
	font-weight: 400 !important;
	background-color: #ffffff !important;
}

/* disabled風の見た目が必要な場合も、文字だけ極端に薄くしない */
.bs-search-result-page .bs-search-panel select:disabled,
.bs-search-result-page .bs-search-panel select:disabled {
	color: #8a98aa !important;
	-webkit-text-fill-color: #8a98aa !important;
	opacity: 1 !important;
}

/* ボール選択ラベルは太字にしない */
.bs-search-result-page .bs-search-panel .bs-search-ball-radio-label,
.bs-search-result-page .bs-search-panel .bs-search-ball-radio-label {
	font-weight: 400 !important;
}

/* ボールカード本体に太字が残っていてもラベル側で止める */
.bs-search-result-page .bs-search-panel .bs-search-ball-radio-card,
.bs-search-result-page .bs-search-panel .bs-search-ball-radio-card {
	background-color: #ffffff !important;
	font-weight: 400 !important;
}

/* 選択中ボールだけ淡い青背景を維持 */
.bs-search-result-page .bs-search-panel .bs-search-ball-radio-option input:checked + .bs-search-ball-radio-card,
.bs-search-result-page .bs-search-panel .bs-search-ball-radio-option input:checked + .bs-search-ball-radio-card {
	background-color: #eaf2f7 !important;
}

/* フォーム内小見出しは太字、補足だけ標準 */
.bs-search-result-page .bs-search-panel .bs-search-block__title,
.bs-search-result-page .bs-search-panel .bs-search-block__title--with-help,
.bs-search-result-page .bs-search-panel .bs-search-block__title,
.bs-search-result-page .bs-search-panel .bs-search-block__title--with-help {
	color: #5b6470 !important;
	font-weight: 700 !important;
}

.bs-search-result-page .bs-search-panel .bs-search-block__title small,
.bs-search-result-page .bs-search-panel .bs-search-block__required,
.bs-search-result-page .bs-search-panel .bs-search-block__title small,
.bs-search-result-page .bs-search-panel .bs-search-block__required {
	font-weight: 400 !important;
}

/* 詳細条件ボタン */
.bs-search-result-page .bs-search-panel .bs-search-detail-open,
.bs-search-result-page .bs-search-panel .bs-search-detail-open {
	background-color: #ffffff !important;
	color: #5b6470 !important;
	font-weight: 700 !important;
}


/* ========================================
   BallSpotMAP 検索ブロック内部フォント/余白共通固定 v133-safe
   目的：
   ・都道府県ページと市区ページで、検索ブロック内部の文字サイズ/太さ/行高/縦位置を揃える
   ・対象は .bs-search-panel 配下のみ
   ・PHP、カード一覧、並び順、パンくず、タイトル、リード文、検索結果ページ、カード部品、並び順ロジックは変更しない
======================================== */

.bs-search-result-page .bs-search-panel,
.bs-search-result-page .bs-search-panel {
	font-family: inherit !important;
	color: #243447 !important;
}

.bs-search-result-page .bs-search-panel .bs-search-block-wrap,
.bs-search-result-page .bs-search-panel .bs-search-block-wrap,
.bs-search-result-page .bs-search-panel .bs-search-block,
.bs-search-result-page .bs-search-panel .bs-search-block,
.bs-search-result-page .bs-search-panel .bs-search-block-form,
.bs-search-result-page .bs-search-panel .bs-search-block-form {
	font-family: inherit !important;
	font-size: 1rem !important;
	line-height: 1.5 !important;
	color: #243447 !important;
}

.bs-search-result-page .bs-search-panel .bs-search-block__section,
.bs-search-result-page .bs-search-panel .bs-search-block__section {
	margin: 0 !important;
	padding: 0 !important;
	background: #ffffff !important;
}

.bs-search-result-page .bs-search-panel .bs-search-block__section + .bs-search-block__section,
.bs-search-result-page .bs-search-panel .bs-search-block__section + .bs-search-block__section {
	margin-top: 22px !important;
}

.bs-search-result-page .bs-search-panel .bs-search-block__title,
.bs-search-result-page .bs-search-panel .bs-search-block__title--with-help,
.bs-search-result-page .bs-search-panel .bs-search-block__title,
.bs-search-result-page .bs-search-panel .bs-search-block__title--with-help {
	margin: 0 0 10px !important;
	padding: 0 !important;
	color: #5b6470 !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	line-height: 1.45 !important;
	letter-spacing: 0 !important;
}

.bs-search-result-page .bs-search-panel .bs-search-block__title small,
.bs-search-result-page .bs-search-panel .bs-search-block__required,
.bs-search-result-page .bs-search-panel .bs-search-block__title small,
.bs-search-result-page .bs-search-panel .bs-search-block__required {
	color: #7a8796 !important;
	font-size: 0.82rem !important;
	font-weight: 400 !important;
	line-height: 1.45 !important;
}

.bs-search-result-page .bs-search-panel .bs-info-icon,
.bs-search-result-page .bs-search-panel .bs-info-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 18px !important;
	height: 18px !important;
	margin-left: 5px !important;
	border-radius: 50% !important;
	background: #d9e8f4 !important;
	color: #14547c !important;
	font-size: 0.78rem !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	vertical-align: middle !important;
}

.bs-search-result-page .bs-search-panel .bs-search-block__row--area,
.bs-search-result-page .bs-search-panel .bs-search-block__row--area {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 12px !important;
	align-items: start !important;
}

.bs-search-result-page .bs-search-panel .bs-search-block__field,
.bs-search-result-page .bs-search-panel .bs-search-block__field,
.bs-search-result-page .bs-search-panel .bs-search-block__field--compact,
.bs-search-result-page .bs-search-panel .bs-search-block__field--compact {
	margin: 0 !important;
	min-width: 0 !important;
}

.bs-search-result-page .bs-search-panel select,
.bs-search-result-page .bs-search-panel select {
	width: 100% !important;
	height: 44px !important;
	min-height: 44px !important;
	padding: 0 38px 0 16px !important;
	border: 1px solid #dbe3ee !important;
	border-radius: 10px !important;
	background-color: #ffffff !important;
	color: #243447 !important;
	font-family: inherit !important;
	font-size: 1rem !important;
	font-weight: 400 !important;
	line-height: 44px !important;
	text-align: left !important;
	text-align-last: left !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	opacity: 1 !important;
	-webkit-text-fill-color: #243447 !important;
}

.bs-search-result-page .bs-search-panel select:disabled,
.bs-search-result-page .bs-search-panel select:disabled {
	color: #9aa7b6 !important;
	-webkit-text-fill-color: #9aa7b6 !important;
	opacity: 1 !important;
	background-color: #f8fafc !important;
}

.bs-search-result-page .bs-search-panel .bs-search-ball-radio-grid,
.bs-search-result-page .bs-search-panel .bs-search-ball-radio-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 10px !important;
}

.bs-search-result-page .bs-search-panel .bs-search-ball-radio-card,
.bs-search-result-page .bs-search-panel .bs-search-ball-radio-card {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	min-height: 54px !important;
	padding: 10px 12px !important;
	border: 1px solid #dbe3ee !important;
	border-radius: 10px !important;
	background-color: #ffffff !important;
	color: #243447 !important;
	font-family: inherit !important;
	font-size: 1rem !important;
	font-weight: 400 !important;
	line-height: 1.35 !important;
	box-sizing: border-box !important;
}

.bs-search-result-page .bs-search-panel .bs-search-ball-radio-option input:checked + .bs-search-ball-radio-card,
.bs-search-result-page .bs-search-panel .bs-search-ball-radio-option input:checked + .bs-search-ball-radio-card {
	background-color: #eaf2f7 !important;
	border-color: #14547c !important;
	box-shadow: 0 0 0 1px #14547c inset !important;
}

.bs-search-result-page .bs-search-panel .bs-search-ball-radio-icon,
.bs-search-result-page .bs-search-panel .bs-search-ball-radio-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 30px !important;
	width: 30px !important;
	height: 30px !important;
	margin: 0 !important;
	font-size: 1.45rem !important;
	font-weight: 400 !important;
	line-height: 1 !important;
}

.bs-search-result-page .bs-search-panel .bs-search-ball-radio-label,
.bs-search-result-page .bs-search-panel .bs-search-ball-radio-label {
	display: inline-block !important;
	min-width: 0 !important;
	color: #243447 !important;
	font-family: inherit !important;
	font-size: 0.95rem !important;
	font-weight: 400 !important;
	line-height: 1.35 !important;
	letter-spacing: 0 !important;
}

.bs-search-result-page .bs-search-panel .bs-search-detail-open,
.bs-search-result-page .bs-search-panel .bs-search-detail-open {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 46px !important;
	margin: 0 !important;
	padding: 0 16px !important;
	border: 1px solid #dbe3ee !important;
	border-radius: 10px !important;
	background-color: #ffffff !important;
	color: #5b6470 !important;
	font-family: inherit !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	box-sizing: border-box !important;
}

.bs-search-result-page .bs-search-panel .bs-search-submit-button,
.bs-search-result-page .bs-search-panel .bs-search-submit-button {
	min-height: 56px !important;
	font-size: 1.05rem !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
}

@media (min-width: 1025px) {
	.bs-search-result-page .bs-search-panel--sidebar .bs-search-block__section + .bs-search-block__section,
	.bs-search-result-page .bs-search-panel--sidebar .bs-search-block__section + .bs-search-block__section {
		margin-top: 16px !important;
	}

	.bs-search-result-page .bs-search-panel--sidebar .bs-search-block__title,
	.bs-search-result-page .bs-search-panel--sidebar .bs-search-block__title--with-help,
	.bs-search-result-page .bs-search-panel--sidebar .bs-search-block__title,
	.bs-search-result-page .bs-search-panel--sidebar .bs-search-block__title--with-help {
		font-size: 0.86rem !important;
		margin-bottom: 8px !important;
	}

	.bs-search-result-page .bs-search-panel--sidebar .bs-search-block__title small,
	.bs-search-result-page .bs-search-panel--sidebar .bs-search-block__required,
	.bs-search-result-page .bs-search-panel--sidebar .bs-search-block__title small,
	.bs-search-result-page .bs-search-panel--sidebar .bs-search-block__required {
		font-size: 0.78rem !important;
	}

	.bs-search-result-page .bs-search-panel--sidebar select,
	.bs-search-result-page .bs-search-panel--sidebar select {
		height: 40px !important;
		min-height: 40px !important;
		padding-left: 10px !important;
		padding-right: 32px !important;
		font-size: 0.84rem !important;
		line-height: 40px !important;
		border-radius: 9px !important;
	}

	.bs-search-result-page .bs-search-panel--sidebar .bs-search-ball-radio-card,
	.bs-search-result-page .bs-search-panel--sidebar .bs-search-ball-radio-card {
		min-height: 42px !important;
		padding: 7px 9px !important;
		gap: 8px !important;
		border-radius: 9px !important;
	}

	.bs-search-result-page .bs-search-panel--sidebar .bs-search-ball-radio-icon,
	.bs-search-result-page .bs-search-panel--sidebar .bs-search-ball-radio-icon {
		flex-basis: 24px !important;
		width: 24px !important;
		height: 24px !important;
		font-size: 1.15rem !important;
	}

	.bs-search-result-page .bs-search-panel--sidebar .bs-search-ball-radio-label,
	.bs-search-result-page .bs-search-panel--sidebar .bs-search-ball-radio-label {
		font-size: 0.76rem !important;
		line-height: 1.28 !important;
		font-weight: 400 !important;
	}

	.bs-search-result-page .bs-search-panel--sidebar .bs-search-detail-open,
	.bs-search-result-page .bs-search-panel--sidebar .bs-search-detail-open {
		min-height: 42px !important;
		font-size: 0.8rem !important;
	}

	.bs-search-result-page .bs-search-panel--sidebar .bs-search-submit-button,
	.bs-search-result-page .bs-search-panel--sidebar .bs-search-submit-button {
		min-height: 40px !important;
		font-size: 0.9rem !important;
	}
}

@media (max-width: 480px) {
	.bs-search-result-page .bs-search-panel--bottom .bs-search-ball-radio-grid,
	.bs-search-result-page .bs-search-panel--bottom .bs-search-ball-radio-grid {
		gap: 8px !important;
	}

	.bs-search-result-page .bs-search-panel--bottom .bs-search-ball-radio-card,
	.bs-search-result-page .bs-search-panel--bottom .bs-search-ball-radio-card {
		gap: 7px !important;
		padding: 8px 9px !important;
	}

	.bs-search-result-page .bs-search-panel--bottom .bs-search-ball-radio-label,
	.bs-search-result-page .bs-search-panel--bottom .bs-search-ball-radio-label {
		font-size: 0.8rem !important;
		line-height: 1.3 !important;
		font-weight: 400 !important;
	}
}


/* ========================================
   

/* PC右カラム見出し色：都道府県/市区と同じ薄めの色 */
@media (min-width: 1025px) {
	.bs-search-result-page .bs-search-panel--sidebar .bs-search-panel__heading {
		color: #3f4650 !important;
	}

	.bs-search-result-page .bs-search-panel--sidebar .bs-search-panel__icon,
	.bs-search-result-page .bs-search-panel--sidebar .bs-search-panel__text {
		color: inherit !important;
	}
}

/* 詳細条件ポップアップ：環境スコア4項目にだけ余白制御を追加 */
.bs-search-detail-modal .bs-search-block__field--env-score {
	margin: 0 !important;
}

.bs-search-detail-modal .bs-search-block__field--env-score > label {
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
	margin: 0 0 8px !important;
	font-weight: 700 !important;
	color: #5b6470 !important;
}

.bs-search-detail-modal .bs-search-block__field--env-score > select {
	margin: 0 !important;
}

/* 検索結果ページ：検索条件/検索結果を1つの情報カードにまとめる */
@media (max-width: 768px) {
	.bs-search-result-page .bs-page-header {
		margin-bottom: 12px !important;
	}

	.bs-search-result-page .bs-search-result-info-card {
		display: block !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 1px solid #dbe3ee !important;
		border-radius: 14px !important;
		background: #f8fbff !important;
		box-shadow: 0 6px 18px rgba(36, 52, 71, 0.04) !important;
		overflow: hidden !important;
		box-sizing: border-box !important;
	}

	.bs-search-result-page .bs-search-result-header-lines {
		margin: 0 !important;
		padding: 12px 14px !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
	}

	.bs-search-result-page .bs-search-result-meta-row {
		display: block !important;
		margin: 0 !important;
		padding: 12px 14px !important;
		border: 0 !important;
		border-top: 1px solid #dbe3ee !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
	}

	.bs-search-result-page .bs-search-result-summary,
	.bs-search-result-page .bs-search-result-meta {
		margin: 0 !important;
		font-size: 0.9rem !important;
		line-height: 1.6 !important;
		color: #607086 !important;
	}

	.bs-search-result-page .bs-search-result-summary__label,
	.bs-search-result-page .bs-search-result-meta__label {
		font-weight: 700 !important;
		color: #5b6470 !important;
	}

	.bs-search-result-page .bs-search-result-summary__value {
		font-weight: 400 !important;
		color: #607086 !important;
	}

	.bs-search-result-page .bs-search-result-meta__value {
		font-weight: 700 !important;
		color: #14547c !important;
	}

	.bs-search-result-page .bs-search-result-toolbar {
		margin: 0 0 16px !important;
	}

	.bs-search-result-page .bs-search-result-toolbar__meta {
		display: block !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
	}

	.bs-search-result-page .bs-search-result-toolbar__sort-form {
		width: 100% !important;
		margin: 0 !important;
	}

	.bs-search-result-page .bs-search-result-toolbar__sort {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 12px !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
	}

	.bs-search-result-page .bs-search-result-toolbar__sort-inner {
		display: block !important;
		flex: 1 1 auto !important;
		min-width: 0 !important;
		width: auto !important;
		max-width: none !important;
	}

	.bs-search-result-page .bs-search-result-toolbar__sort select {
		display: block !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		height: 38px !important;
		min-height: 38px !important;
		padding: 0 32px 0 12px !important;
		font-size: 0.9rem !important;
		line-height: 38px !important;
		box-sizing: border-box !important;
	}

	.bs-search-result-page .bs-search-result-change-trigger {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		flex: 0 0 auto !important;
		width: auto !important;
		min-width: 82px !important;
		max-width: 110px !important;
		min-height: 38px !important;
		margin: 0 !important;
		padding: 7px 14px !important;
		border: 1px solid #cfe1ef !important;
		border-radius: 999px !important;
		background: #eef7fd !important;
		color: #14547c !important;
		font-size: 0.82rem !important;
		font-weight: 700 !important;
		line-height: 1.2 !important;
		white-space: nowrap !important;
		box-sizing: border-box !important;
	}
}


/* ========================================
   BallSpotMAP 検索結果ページ 上部情報/並び順/再検索 微調整 v147-safe
   変更タイプ：
   ・スマホの並び順プルダウン幅を市区ページ相当へ縮小
   ・並び順＋再検索行の上下余白を調整
   ・再検索ボタンを市区ページの「絞り込む」ボタンと同じ見た目へ寄せる
   ・スマホの検索条件/検索結果カードの背景色を変更し、中央区切り線を消す
   ・PCの検索条件と検索結果の間隔を少し広げる
   ・検索ブロック本体、詳細条件ポップアップ、カード一覧、検索ロジック、PHPは変更しない
======================================== */

/* PC：検索条件と検索結果の間隔を少し広げる */
@media (min-width: 769px) {
	.bs-search-result-page .bs-search-result-header-lines {
		margin-bottom: 16px !important;
	}

	.bs-search-result-page .bs-search-result-toolbar {
		margin-top: 0 !important;
	}

	.bs-search-result-page .bs-search-result-meta-row {
		margin-top: 0 !important;
	}
}

/* スマホ：検索条件/検索結果カードの色変更と区切り線削除 */
@media (max-width: 768px) {
	.bs-search-result-page .bs-search-result-info-card {
		background: #f6f8fb !important;
		border-color: #d8e2ec !important;
		box-shadow: 0 6px 18px rgba(36, 52, 71, 0.035) !important;
	}

	.bs-search-result-page .bs-search-result-header-lines {
		background: transparent !important;
	}

	.bs-search-result-page .bs-search-result-meta-row {
		border-top: 0 !important;
		background: transparent !important;
		padding-top: 6px !important;
	}

	/* 並び順＋再検索行：市区ページの「名前順＋絞り込む」行に近い余白へ */
	.bs-search-result-page .bs-search-result-toolbar {
		margin-top: 14px !important;
		margin-bottom: 18px !important;
	}

	.bs-search-result-page .bs-search-result-toolbar__sort {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 12px !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	/* 並び順プルダウン：長すぎない幅へ固定 */
	.bs-search-result-page .bs-search-result-toolbar__sort-inner {
		flex: 0 1 auto !important;
		width: 210px !important;
		max-width: calc(100% - 112px) !important;
		min-width: 0 !important;
	}

	.bs-search-result-page .bs-search-result-toolbar__sort select {
		width: 100% !important;
		max-width: 100% !important;
		height: 38px !important;
		min-height: 38px !important;
		padding: 0 32px 0 12px !important;
		font-size: 0.9rem !important;
		line-height: 38px !important;
		border: 0 !important;
		background-color: transparent !important;
		color: #243447 !important;
		box-shadow: none !important;
	}

	/* 再検索ボタン：市区ページの「絞り込む」ボタン系に統一 */
	.bs-search-result-page .bs-search-result-change-trigger {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		flex: 0 0 auto !important;
		min-width: 84px !important;
		min-height: 36px !important;
		margin: 0 !important;
		padding: 6px 14px !important;
		border: 1px solid #dbeaf5 !important;
		border-radius: 999px !important;
		background: #f3f9fd !important;
		color: #607086 !important;
		font-size: 0.86rem !important;
		font-weight: 700 !important;
		line-height: 1.2 !important;
		white-space: nowrap !important;
		box-shadow: none !important;
		box-sizing: border-box !important;
	}
}

@media (max-width: 480px) {
	.bs-search-result-page .bs-search-result-toolbar__sort-inner {
		width: 190px !important;
		max-width: calc(100% - 104px) !important;
	}

	.bs-search-result-page .bs-search-result-change-trigger {
		min-width: 78px !important;
		padding-left: 12px !important;
		padding-right: 12px !important;
	}
}


/* ========================================
   BallSpotMAP 検索結果ページ 並び順/再検索/情報カード 再調整 v148-safe
   変更タイプ：
   ・スマホの並び順プルダウン幅を市区ページの値と同じにする
   ・再検索ボタンを市区ページの「絞り込む」ボタンと同じ配色にする
   ・検索条件/検索結果カード内の上下余白を少し詰める
   ・PCの検索条件/検索結果の間隔をv147よりほんの少し狭める
   ・検索ブロック本体、詳細条件ポップアップ、PHP、カード一覧、検索ロジックは変更しない
======================================== */

/* PC：検索条件と検索結果の間隔をv147より少しだけ狭める */
@media (min-width: 769px) {
	.bs-search-result-page .bs-search-result-header-lines {
		margin-bottom: 12px !important;
	}
}

/* スマホ：市区ページの並び順プルダウン/絞り込むボタン値に合わせる */
@media (max-width: 1024px) {
	.bs-search-result-page .bs-search-result-toolbar__sort-inner {
		flex: 0 1 auto !important;
		width: auto !important;
		min-width: 0 !important;
		max-width: none !important;
	}

	.bs-search-result-page .bs-search-result-toolbar__sort select {
		width: auto !important;
		min-width: 178px !important;
		max-width: min(64vw, 230px) !important;
		text-align: left !important;
		text-align-last: left !important;
		padding-left: 0 !important;
		padding-right: 22px !important;
		background-position:
			calc(100% - 12px) 50%,
			calc(100% - 7px) 50% !important;
	}

	/* 再検索ボタン：市区ページの「絞り込む」ボタンと同じ配色 */
	.bs-search-result-page .bs-search-result-change-trigger {
		min-height: 32px !important;
		background: #eef2f6 !important;
		color: #556779 !important;
		border: 1px solid #d6e0ea !important;
		box-shadow: 0 3px 10px rgba(85, 103, 121, 0.06) !important;
		text-decoration: none !important;
		font-size: 0.82rem !important;
		font-weight: 700 !important;
		line-height: 1.2 !important;
	}

	.bs-search-result-page .bs-search-result-change-trigger:hover,
	.bs-search-result-page .bs-search-result-change-trigger:focus {
		background: #e6edf4 !important;
		color: #4f6278 !important;
		text-decoration: none !important;
	}

	/* 情報カード内：検索条件と検索結果の間の余白を少し詰める */
	.bs-search-result-page .bs-search-result-header-lines {
		padding-bottom: 6px !important;
	}

	.bs-search-result-page .bs-search-result-meta-row {
		padding-top: 4px !important;
		padding-bottom: 12px !important;
	}

	/* 並び順＋再検索行の上下余白：市区ページのツールバー感に寄せる */
	.bs-search-result-page .bs-search-result-toolbar {
		margin-top: 12px !important;
		margin-bottom: 6px !important;
	}

	.bs-search-result-page .bs-search-result-toolbar__sort {
		row-gap: 0 !important;
	}
}

@media (max-width: 480px) {
	.bs-search-result-page .bs-search-result-toolbar__sort select {
		min-width: 170px !important;
		max-width: 62vw !important;
	}
}


/* ========================================
   BallSpotMAP 検索結果ページ 回遊導線/スマホ余白調整 v149-safe
   変更タイプ：
   ・スマホの並び順プルダウン＋再検索ボタン上の余白を少し広げる
   ・カード一覧と下部検索ブロックの間に、横線付きの回遊ボタンエリアを追加
   ・検索ブロック本体、詳細条件ポップアップ、カード一覧、検索ロジックは変更しない
======================================== */

/* スマホ：並び順＋再検索行の上余白を少し広げる */
@media (max-width: 1024px) {
	.bs-search-result-page .bs-search-result-toolbar {
		margin-top: 16px !important;
	}
}

/* 検索結果ページ：カード一覧と下部検索ブロックの間の回遊導線 */
.bs-search-result-page .bs-search-result-area-link-panel {
	width: 100%;
	max-width: 100%;
	margin: 26px 0 28px;
	padding: 18px 0;
	border-top: 1px solid #dbe3ee;
	border-bottom: 1px solid #dbe3ee;
	box-sizing: border-box;
}

.bs-search-result-page .bs-search-result-area-link-panel__inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 12px;
	width: 100%;
	box-sizing: border-box;
}

.bs-search-result-page .bs-search-result-area-link-button,
.bs-search-result-page .bs-search-result-area-link-button:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	min-width: 220px;
	padding: 0 22px;
	border: 1px solid #f0d6b4;
	border-radius: 999px;
	background: #fff5e8;
	color: #9a6a2e;
	font-size: 0.9rem;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none;
	box-shadow: 0 4px 12px rgba(154, 106, 46, 0.06);
	box-sizing: border-box;
}

.bs-search-result-page .bs-search-result-area-link-button:hover,
.bs-search-result-page .bs-search-result-area-link-button:focus {
	background: #ffefd9;
	color: #8d5f25;
	text-decoration: none;
}

@media (max-width: 768px) {
	.bs-search-result-page .bs-search-result-area-link-panel {
		margin: 24px 0 28px;
		padding: 16px 12px;
	}

	.bs-search-result-page .bs-search-result-area-link-panel__inner {
		display: grid;
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.bs-search-result-page .bs-search-result-area-link-button,
	.bs-search-result-page .bs-search-result-area-link-button:visited {
		width: 100%;
		min-width: 0;
		min-height: 42px;
		padding: 0 14px;
		font-size: 0.9rem;
	}
}


/* ========================================
   BallSpotMAP 検索結果ページ PC回遊導線幅調整 v150-safe
   変更タイプ：
   ・PC画面でカード一覧下の回遊導線が右カラム側へはみ出さないようにする
   ・横線とボタン配置をメインカラム内に限定する
   ・スマホ表示、検索ブロック本体、詳細条件ポップアップ、カード一覧、検索ロジックは変更しない
======================================== */

@media (min-width: 1025px) {
	.bs-search-result-page .bs-search-result-area-link-panel {
		width: 100%;
		max-width: 100%;
		margin: 26px 0 28px;
		padding: 18px 0;
		border-top: 1px solid #dbe3ee;
		border-bottom: 1px solid #dbe3ee;
		box-sizing: border-box;
	}

	.bs-search-result-page .bs-search-result-area-link-panel__inner {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		gap: 12px;
		width: 100%;
		max-width: 100%;
		margin: 0 auto;
		box-sizing: border-box;
	}

	.bs-search-result-page .bs-search-result-area-link-button,
	.bs-search-result-page .bs-search-result-area-link-button:visited {
		min-width: 220px;
		max-width: 320px;
	}
}


/* ========================================
   BallSpotMAP 検索結果ページ PC回遊導線 配置修正 v151-safe
   変更タイプ：
   ・回遊導線をHTML上でメインカラム内へ移動
   ・PC画面で横線が右カラムへ伸びないようにする
   ・スマホ表示、検索ブロック本体、詳細条件ポップアップ、カード一覧、検索ロジックは変更しない
======================================== */

.bs-search-result-page .bs-main-column .bs-search-result-area-link-panel {
	width: 100% !important;
	max-width: 100% !important;
	margin: 26px 0 28px !important;
	padding: 18px 0 !important;
	border-top: 1px solid #dbe3ee !important;
	border-bottom: 1px solid #dbe3ee !important;
	box-sizing: border-box !important;
}

.bs-search-result-page .bs-main-column .bs-search-result-area-link-panel__inner {
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	align-items: center !important;
	gap: 12px !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 auto !important;
	box-sizing: border-box !important;
}

@media (min-width: 1025px) {
	.bs-search-result-page .bs-main-column .bs-search-result-area-link-button,
	.bs-search-result-page .bs-main-column .bs-search-result-area-link-button:visited {
		min-width: 220px !important;
		max-width: 320px !important;
	}
}

@media (max-width: 768px) {
	.bs-search-result-page .bs-main-column .bs-search-result-area-link-panel {
		margin: 24px 0 28px !important;
		padding: 16px 12px !important;
	}

	.bs-search-result-page .bs-main-column .bs-search-result-area-link-panel__inner {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 10px !important;
	}
}


/* ========================================
   BallSpotMAP 個別スポットページ 検索パネル共通化 v152-safe
   変更タイプ：
   ・個別スポットページのPC右カラム検索ブロックを、都道府県/市区/検索結果ページの共通検索パネルに合わせる
   ・個別スポットページのスマホ下部検索ブロックも同じ共通検索パネル構造にする
   ・search-block-common.php、検索ロジック、詳細条件ポップアップ、本文セクション、カード一覧、ACF項目は変更しない
======================================== */

/* 個別ページ：検索パネル外枠 */
.bs-spot-single .bs-search-panel {
	background: #ffffff !important;
	border: 1px solid #c3d0dc !important;
	border-radius: 18px !important;
	box-shadow: 0 10px 28px rgba(36, 52, 71, 0.08) !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
	color: #243447 !important;
	font-family: inherit !important;
}

/* 既存の個別ページ用サイド検索CSSを共通パネル側では無効化 */
.bs-spot-single .bs-sidebar-search.bs-search-panel {
	max-height: none !important;
	overflow: hidden !important;
	padding: 0 !important;
	padding-right: 0 !important;
	background: #ffffff !important;
}

/* 個別ページ：検索パネル見出し */
.bs-spot-single .bs-search-panel__heading {
	display: flex !important;
	align-items: center !important;
	width: 100% !important;
	margin: 0 !important;
	background: #f1f1f1 !important;
	color: #242424 !important;
	border: 0 !important;
	border-bottom: 1px solid #dbe3ee !important;
	border-radius: 0 !important;
	box-sizing: border-box !important;
	text-align: left !important;
	letter-spacing: 0 !important;
}

.bs-spot-single .bs-search-panel__heading::before,
.bs-spot-single .bs-search-panel__heading::after {
	content: none !important;
	display: none !important;
}

.bs-spot-single .bs-search-panel__icon {
	display: inline-block !important;
	margin: 0 !important;
	padding: 0 !important;
	background-color: currentColor !important;
	-webkit-mask-image: url("/wp-content/themes/generatepress_child/assets/img/search-icons/search-icon.svg") !important;
	mask-image: url("/wp-content/themes/generatepress_child/assets/img/search-icons/search-icon.svg") !important;
	-webkit-mask-repeat: no-repeat !important;
	mask-repeat: no-repeat !important;
	-webkit-mask-position: center !important;
	mask-position: center !important;
	-webkit-mask-size: contain !important;
	mask-size: contain !important;
	box-sizing: border-box !important;
}

.bs-spot-single .bs-search-panel__text {
	display: inline-block !important;
	min-width: 0 !important;
	color: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;
}

/* PC右カラム：共通検索パネルのコンパクト版 */
@media (min-width: 1025px) {
	.bs-spot-single .bs-search-panel--sidebar {
		padding: 0 !important;
		border-radius: 18px !important;
	}

	.bs-spot-single .bs-search-panel--sidebar .bs-search-panel__heading {
		gap: 8px !important;
		min-height: 47px !important;
		padding: 12px 16px !important;
		font-size: 0.98rem !important;
		font-weight: 700 !important;
		line-height: 1.35 !important;
		color: #3f4650 !important;
	}

	.bs-spot-single .bs-search-panel--sidebar .bs-search-panel__icon {
		flex: 0 0 20px !important;
		width: 20px !important;
		height: 20px !important;
	}

	.bs-spot-single .bs-search-panel--sidebar .bs-search-panel__body {
		padding: 16px !important;
		background: #ffffff !important;
		box-sizing: border-box !important;
	}
}

/* スマホ下部：市区/検索結果ページの下部検索パネルと同じ外枠/見出し */
@media (max-width: 1024px) {
	.bs-spot-single .bs-search-panel--bottom {
		width: calc(100% - 40px) !important;
		max-width: 680px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding: 0 !important;
		border-radius: 18px !important;
	}

	.bs-spot-single .bs-search-panel--bottom .bs-search-panel__heading {
		gap: 11px !important;
		min-height: 55px !important;
		padding: 14px 16px !important;
		font-size: 1.05rem !important;
		font-weight: 700 !important;
		line-height: 1.45 !important;
		color: #242424 !important;
	}

	.bs-spot-single .bs-search-panel--bottom .bs-search-panel__icon {
		flex: 0 0 20px !important;
		width: 20px !important;
		height: 20px !important;
	}

	.bs-spot-single .bs-search-panel--bottom .bs-search-panel__body {
		padding: 18px 14px 20px !important;
		background: #ffffff !important;
		box-sizing: border-box !important;
	}
}

@media (max-width: 480px) {
	.bs-spot-single .bs-search-panel--bottom {
		width: calc(100% - 32px) !important;
	}
}

/* 個別ページ：検索パネル内部は共通値に固定 */
.bs-spot-single .bs-search-panel .bs-search-block-wrap,
.bs-spot-single .bs-search-panel .bs-search-block,
.bs-spot-single .bs-search-panel .bs-search-block-form {
	font-family: inherit !important;
	font-size: 1rem !important;
	line-height: 1.5 !important;
	color: #243447 !important;
}

.bs-spot-single .bs-search-panel .bs-search-block__section {
	margin: 0 !important;
	padding: 0 !important;
	background: #ffffff !important;
}

.bs-spot-single .bs-search-panel .bs-search-block__section + .bs-search-block__section {
	margin-top: 22px !important;
}

.bs-spot-single .bs-search-panel select {
	color: #243447 !important;
	font-weight: 400 !important;
	-webkit-text-fill-color: #243447 !important;
	opacity: 1 !important;
}

.bs-spot-single .bs-search-panel select:disabled {
	color: #9aa7b6 !important;
	font-weight: 400 !important;
	-webkit-text-fill-color: #9aa7b6 !important;
	opacity: 1 !important;
}

.bs-spot-single .bs-search-panel .bs-search-ball-radio-label {
	font-weight: 400 !important;
}

.bs-spot-single .bs-search-panel .bs-search-ball-radio-card {
	background-color: #ffffff !important;
}

.bs-spot-single .bs-search-panel .bs-search-ball-radio-option input:checked + .bs-search-ball-radio-card {
	background-color: #eaf2f7 !important;
}

/* フォーム内小見出しは太字、補足だけ標準 */
.bs-spot-single .bs-search-panel .bs-search-block__title,
.bs-spot-single .bs-search-panel .bs-search-block__title--with-help {
	color: #5b6470 !important;
	font-weight: 700 !important;
}

.bs-spot-single .bs-search-panel .bs-search-block__title small,
.bs-spot-single .bs-search-panel .bs-search-block__required {
	font-weight: 400 !important;
}

/* 詳細条件ボタン */
.bs-spot-single .bs-search-panel .bs-search-detail-open {
	background-color: #ffffff !important;
	color: #5b6470 !important;
	font-weight: 700 !important;
}

/* PC右カラムだけフォーム内部をコンパクト表示 */
@media (min-width: 1025px) {
	.bs-spot-single .bs-search-panel--sidebar .bs-search-block__section + .bs-search-block__section {
		margin-top: 16px !important;
	}

	.bs-spot-single .bs-search-panel--sidebar .bs-search-block__title,
	.bs-spot-single .bs-search-panel--sidebar .bs-search-block__title--with-help {
		font-size: 0.86rem !important;
		margin-bottom: 8px !important;
		line-height: 1.35 !important;
	}

	.bs-spot-single .bs-search-panel--sidebar .bs-search-block__title small,
	.bs-spot-single .bs-search-panel--sidebar .bs-search-block__required {
		font-size: 0.78rem !important;
	}

	.bs-spot-single .bs-search-panel--sidebar select {
		height: 40px !important;
		min-height: 40px !important;
		padding-left: 10px !important;
		padding-right: 32px !important;
		font-size: 0.84rem !important;
		line-height: 40px !important;
		border-radius: 9px !important;
	}

	.bs-spot-single .bs-search-panel--sidebar .bs-search-ball-radio-card {
		min-height: 42px !important;
		padding: 7px 9px !important;
		gap: 8px !important;
		border-radius: 9px !important;
	}

	.bs-spot-single .bs-search-panel--sidebar .bs-search-ball-radio-icon,
	.bs-spot-single .bs-search-panel--sidebar .bs-search-ball-radio-icon--image {
		flex-basis: 24px !important;
		width: 24px !important;
		height: 24px !important;
		font-size: 1.15rem !important;
	}

	.bs-spot-single .bs-search-panel--sidebar .bs-search-ball-radio-icon--image img {
		width: 24px !important;
		height: 24px !important;
	}

	.bs-spot-single .bs-search-panel--sidebar .bs-search-ball-radio-label {
		font-size: 0.76rem !important;
		line-height: 1.28 !important;
		font-weight: 400 !important;
	}

	.bs-spot-single .bs-search-panel--sidebar .bs-search-detail-open {
		min-height: 42px !important;
		font-size: 0.8rem !important;
	}

	.bs-spot-single .bs-search-panel--sidebar .bs-search-submit-button {
		min-height: 40px !important;
		font-size: 0.9rem !important;
	}
}


/* ========================================
   BallSpotMAP 個別スポットページ 右カラム位置/エリア2列修正 v153-safe
   変更タイプ：
   ・PC個別ページの全体幅を都道府県/市区/検索結果ページの幅感に合わせる
   ・PC個別ページの右カラム位置を左寄りから通常位置へ戻す
   ・PC右カラム検索ブロックの都道府県/市区プルダウンを1行2列にする
   ・single-spot.php、search-block-common.php、検索ロジック、本文セクション、ACF項目は変更しない
======================================== */

/* PC：個別ページ全体幅を一覧系ページと比較しやすい幅へ */
@media (min-width: 1025px) {
	.bs-spot-single {
		--bs-max-width: 1320px !important;
	}

	.bs-spot-single .bs-spot-wrap {
		max-width: 1320px !important;
	}

	.bs-spot-single .bs-page-layout {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) 300px !important;
		gap: 28px !important;
		align-items: start !important;
	}

	.bs-spot-single .bs-main-column {
		min-width: 0 !important;
	}

	.bs-spot-single .bs-side-column {
		width: 300px !important;
		position: sticky !important;
		top: 20px !important;
		align-self: start !important;
	}
}

/* PC右カラム検索ブロック：対象エリアを都道府県/市区の1行2列にする */
@media (min-width: 1025px) {
	.bs-spot-single .bs-search-panel--sidebar .bs-search-block__section--area .bs-search-block__field + .bs-search-block__field {
		margin-top: 0 !important;
	}

	.bs-spot-single .bs-search-panel--sidebar .bs-search-block__row--area,
	.bs-spot-single .bs-search-panel--sidebar .bs-search-block__row--2col.bs-search-block__row--area {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 10px !important;
		align-items: start !important;
	}

	.bs-spot-single .bs-search-panel--sidebar .bs-search-block__field--compact {
		display: block !important;
		min-width: 0 !important;
		margin: 0 !important;
	}

	.bs-spot-single .bs-search-panel--sidebar .bs-search-block__field--compact label {
		display: none !important;
	}

	.bs-spot-single .bs-search-panel--sidebar .bs-search-block__field--compact .bs-search-block__field-control {
		display: block !important;
		width: 100% !important;
		min-width: 0 !important;
		line-height: 0 !important;
	}

	.bs-spot-single .bs-search-panel--sidebar .bs-search-block__field--compact .bs-search-block__field-control select,
	.bs-spot-single .bs-search-panel--sidebar .bs-search-block__row--area select {
		display: block !important;
		width: 100% !important;
		height: 40px !important;
		margin: 0 !important;
		box-sizing: border-box !important;
	}
}


/* ========================================
   BallSpotMAP 個別スポットページ 右カラム位置完全固定 v154-safe
   変更タイプ：
   ・個別ページだけ右カラムが左に寄る問題を修正
   ・都道府県/市区/検索結果ページと同じ 1320px / 300px右カラム / gap 28px に固定
   ・旧個別ページCSSの 320px右カラム指定が残っていても上書きする
   ・検索ブロック内部、single-spot.php、search-block-common.php、検索ロジック、ACF項目は変更しない
======================================== */

@media (min-width: 1025px) {
	/* 個別ページの外枠を一覧系ページと同じ幅基準に固定 */
	.bs-spot-single .bs-spot-wrap {
		width: 100% !important;
		max-width: 1320px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding-left: 20px !important;
		padding-right: 20px !important;
		box-sizing: border-box !important;
	}

	/* 右カラム位置の基準を一覧系ページと同じ 300px / gap 28px に固定 */
	.bs-spot-single .bs-page-layout {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) 300px !important;
		column-gap: 28px !important;
		row-gap: 0 !important;
		align-items: start !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	.bs-spot-single .bs-main-column {
		min-width: 0 !important;
		width: auto !important;
		max-width: none !important;
		box-sizing: border-box !important;
	}

	/* 旧CSSの320px右カラム指定を完全に上書き */
	.bs-spot-single .bs-side-column {
		width: 300px !important;
		min-width: 300px !important;
		max-width: 300px !important;
		position: sticky !important;
		top: 20px !important;
		align-self: start !important;
		box-sizing: border-box !important;
	}

	.bs-spot-single .bs-side-column .bs-sidebar-block,
	.bs-spot-single .bs-side-column .bs-search-panel,
	.bs-spot-single .bs-side-column .bs-search-panel--sidebar {
		width: 300px !important;
		min-width: 300px !important;
		max-width: 300px !important;
		box-sizing: border-box !important;
	}

	/* 右カラム内側に余計な横余白を作らない */
	.bs-spot-single .bs-side-column .bs-sidebar-search.bs-search-panel {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}


/* ========================================
   BallSpotMAP 個別スポットページ 右カラム位置補正 v155-safe
   変更タイプ：
   ・v154では変化しなかったため、PC2カラムのグリッド幅そのものを補正
   ・左カラム開始位置は維持したまま、右カラムを都道府県/市区ページと同じ位置へ約28px右に移動
   ・検索ブロック内部、single-spot.php、search-block-common.php、検索ロジック、ACF項目は変更しない
======================================== */

@media (min-width: 1025px) {
	.bs-spot-single .bs-page-layout {
		width: calc(100% + 28px) !important;
		max-width: none !important;
	}

	.bs-spot-single .bs-side-column {
		transform: none !important;
	}
}


/* ========================================
   BallSpotMAP 個別スポットページ 右カラム位置修正 v156-safe
   変更タイプ：
   ・個別ページだけ右カラム位置が揃わない原因になっていた GeneratePress の site-main 余白を無効化
   ・都道府県/市区/検索結果ページと同じ外枠幅・2カラム幅へ戻す
   ・v155の暫定的な calc(100% + 28px) 補正を打ち消す
   ・検索ブロック内部、search-block-common.php、検索ロジック、ACF項目は変更しない
======================================== */

@media (min-width: 1025px) {
	/* 個別ページだけ付いている GeneratePress の site-main 余白を打ち消す */
	.bs-spot-single.site-main,
	main.bs-spot-single {
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 24px 0 40px !important;
		box-sizing: border-box !important;
	}

	/* 一覧系ページの外枠と同じ 1320px + 左右20px */
	.bs-spot-single .bs-spot-wrap {
		width: 100% !important;
		max-width: 1320px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding-left: 20px !important;
		padding-right: 20px !important;
		box-sizing: border-box !important;
	}

	/* v155の横幅補正を破棄し、一覧系ページと同じグリッド値に固定 */
	.bs-spot-single .bs-page-layout {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) 300px !important;
		gap: 28px !important;
		align-items: start !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		box-sizing: border-box !important;
	}

	.bs-spot-single .bs-main-column {
		min-width: 0 !important;
		width: auto !important;
		max-width: none !important;
		box-sizing: border-box !important;
	}

	.bs-spot-single .bs-side-column {
		width: 300px !important;
		min-width: 300px !important;
		max-width: 300px !important;
		position: sticky !important;
		top: 20px !important;
		align-self: start !important;
		margin: 0 !important;
		transform: none !important;
		box-sizing: border-box !important;
	}

	.bs-spot-single .bs-side-column .bs-sidebar-block,
	.bs-spot-single .bs-side-column .bs-search-panel,
	.bs-spot-single .bs-side-column .bs-search-panel--sidebar {
		width: 300px !important;
		min-width: 300px !important;
		max-width: 300px !important;
		box-sizing: border-box !important;
	}
}


/* ========================================
   BallSpotMAP 個別スポットページ 右カラム検索ブロック内部完全同期 v157-safe
   変更タイプ：
   ・個別ページ右カラム検索ブロック内部を、都道府県/市区ページのv132/v133確定値に合わせる
   ・v152〜v153で個別ページだけ混入した内部値のズレを上書きする
   ・外側カラム位置、single-spot.php、search-block-common.php、検索ロジック、ACF項目は変更しない
======================================== */

/* 個別ページ検索パネル：都道府県/市区ページの共通パネル値へ同期 */
.bs-spot-single .bs-search-panel {
	font-family: inherit !important;
	color: #243447 !important;
	background: #ffffff !important;
	border: 1px solid #c3d0dc !important;
	box-shadow: 0 10px 28px rgba(36, 52, 71, 0.08) !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
}

/* 見出し */
.bs-spot-single .bs-search-panel__heading {
	display: flex !important;
	align-items: center !important;
	width: 100% !important;
	margin: 0 !important;
	background: #f1f1f1 !important;
	color: #242424 !important;
	border: 0 !important;
	border-bottom: 1px solid #dbe3ee !important;
	border-radius: 0 !important;
	box-sizing: border-box !important;
	text-align: left !important;
	letter-spacing: 0 !important;
}

.bs-spot-single .bs-search-panel__heading::before,
.bs-spot-single .bs-search-panel__heading::after {
	content: none !important;
	display: none !important;
}

.bs-spot-single .bs-search-panel__icon {
	display: inline-block !important;
	margin: 0 !important;
	padding: 0 !important;
	background-color: currentColor !important;
	-webkit-mask-image: url("/wp-content/themes/generatepress_child/assets/img/search-icons/search-icon.svg") !important;
	mask-image: url("/wp-content/themes/generatepress_child/assets/img/search-icons/search-icon.svg") !important;
	-webkit-mask-repeat: no-repeat !important;
	mask-repeat: no-repeat !important;
	-webkit-mask-position: center !important;
	mask-position: center !important;
	-webkit-mask-size: contain !important;
	mask-size: contain !important;
	box-sizing: border-box !important;
}

.bs-spot-single .bs-search-panel__text {
	display: inline-block !important;
	min-width: 0 !important;
	color: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;
}

/* PC右カラム外枠/見出し寸法 */
@media (min-width: 1025px) {
	.bs-spot-single .bs-search-panel--sidebar {
		padding: 0 !important;
		border-radius: 18px !important;
	}

	.bs-spot-single .bs-search-panel--sidebar .bs-search-panel__heading {
		gap: 8px !important;
		min-height: 47px !important;
		padding: 12px 16px !important;
		font-size: 0.98rem !important;
		font-weight: 700 !important;
		line-height: 1.35 !important;
		color: #3f4650 !important;
	}

	.bs-spot-single .bs-search-panel--sidebar .bs-search-panel__icon {
		flex: 0 0 20px !important;
		width: 20px !important;
		height: 20px !important;
	}

	.bs-spot-single .bs-search-panel--sidebar .bs-search-panel__body {
		padding: 16px !important;
		background: #ffffff !important;
		box-sizing: border-box !important;
	}
}

/* フォーム内部：都道府県/市区ページの共通値 */
.bs-spot-single .bs-search-panel .bs-search-block-wrap,
.bs-spot-single .bs-search-panel .bs-search-block,
.bs-spot-single .bs-search-panel .bs-search-block-form {
	font-family: inherit !important;
	font-size: 1rem !important;
	line-height: 1.5 !important;
	color: #243447 !important;
	background: #ffffff !important;
}

.bs-spot-single .bs-search-panel .bs-search-block__section {
	margin: 0 !important;
	padding: 0 !important;
	background: #ffffff !important;
}

.bs-spot-single .bs-search-panel .bs-search-block__section + .bs-search-block__section {
	margin-top: 22px !important;
}

.bs-spot-single .bs-search-panel .bs-search-block__title,
.bs-spot-single .bs-search-panel .bs-search-block__title--with-help {
	margin: 0 0 10px !important;
	padding: 0 !important;
	color: #5b6470 !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	line-height: 1.45 !important;
	letter-spacing: 0 !important;
}

.bs-spot-single .bs-search-panel .bs-search-block__title small,
.bs-spot-single .bs-search-panel .bs-search-block__required {
	color: #7a8796 !important;
	font-size: 0.82rem !important;
	font-weight: 400 !important;
	line-height: 1.45 !important;
}

.bs-spot-single .bs-search-panel .bs-info-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 18px !important;
	height: 18px !important;
	margin-left: 5px !important;
	border-radius: 50% !important;
	background: #d9e8f4 !important;
	color: #14547c !important;
	font-size: 0.78rem !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	vertical-align: middle !important;
}

.bs-spot-single .bs-search-panel .bs-search-block__row--area {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 12px !important;
	align-items: start !important;
}

.bs-spot-single .bs-search-panel .bs-search-block__field,
.bs-spot-single .bs-search-panel .bs-search-block__field--compact {
	margin: 0 !important;
	min-width: 0 !important;
}

.bs-spot-single .bs-search-panel .bs-search-block__field--compact label {
	display: none !important;
}

.bs-spot-single .bs-search-panel .bs-search-block__field-control {
	display: block !important;
	width: 100% !important;
	min-width: 0 !important;
}

/* select */
.bs-spot-single .bs-search-panel select {
	width: 100% !important;
	height: 44px !important;
	min-height: 44px !important;
	padding: 0 38px 0 16px !important;
	border: 1px solid #dbe3ee !important;
	border-radius: 10px !important;
	background-color: #ffffff !important;
	color: #243447 !important;
	font-family: inherit !important;
	font-size: 1rem !important;
	font-weight: 400 !important;
	line-height: 44px !important;
	text-align: left !important;
	text-align-last: left !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	opacity: 1 !important;
	-webkit-text-fill-color: #243447 !important;
}

.bs-spot-single .bs-search-panel select:disabled {
	color: #9aa7b6 !important;
	-webkit-text-fill-color: #9aa7b6 !important;
	opacity: 1 !important;
	background-color: #f8fafc !important;
}

/* ボールカード */
.bs-spot-single .bs-search-panel .bs-search-ball-radio-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 10px !important;
}

.bs-spot-single .bs-search-panel .bs-search-ball-radio-card {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	min-height: 54px !important;
	padding: 10px 12px !important;
	border: 1px solid #dbe3ee !important;
	border-radius: 10px !important;
	background-color: #ffffff !important;
	color: #243447 !important;
	font-family: inherit !important;
	font-size: 1rem !important;
	font-weight: 400 !important;
	line-height: 1.35 !important;
	box-sizing: border-box !important;
}

.bs-spot-single .bs-search-panel .bs-search-ball-radio-option input:checked + .bs-search-ball-radio-card {
	background-color: #eaf2f7 !important;
	border-color: #14547c !important;
	box-shadow: 0 0 0 1px #14547c inset !important;
}

.bs-spot-single .bs-search-panel .bs-search-ball-radio-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 30px !important;
	width: 30px !important;
	height: 30px !important;
	margin: 0 !important;
	font-size: 1.45rem !important;
	font-weight: 400 !important;
	line-height: 1 !important;
}

.bs-spot-single .bs-search-panel .bs-search-ball-radio-label {
	display: inline-block !important;
	min-width: 0 !important;
	color: #243447 !important;
	font-family: inherit !important;
	font-size: 0.95rem !important;
	font-weight: 400 !important;
	line-height: 1.35 !important;
	letter-spacing: 0 !important;
}

/* 詳細条件/検索ボタン */
.bs-spot-single .bs-search-panel .bs-search-detail-open {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 46px !important;
	margin: 0 !important;
	padding: 0 16px !important;
	border: 1px solid #dbe3ee !important;
	border-radius: 10px !important;
	background-color: #ffffff !important;
	color: #5b6470 !important;
	font-family: inherit !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	box-sizing: border-box !important;
}

.bs-spot-single .bs-search-panel .bs-search-submit-button {
	min-height: 56px !important;
	font-size: 1.05rem !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
}

/* PC右カラム：都道府県/市区ページのサイド版確定値 */
@media (min-width: 1025px) {
	.bs-spot-single .bs-search-panel--sidebar .bs-search-block__section + .bs-search-block__section {
		margin-top: 16px !important;
	}

	.bs-spot-single .bs-search-panel--sidebar .bs-search-block__title,
	.bs-spot-single .bs-search-panel--sidebar .bs-search-block__title--with-help {
		font-size: 0.86rem !important;
		margin-bottom: 8px !important;
		line-height: 1.45 !important;
	}

	.bs-spot-single .bs-search-panel--sidebar .bs-search-block__title small,
	.bs-spot-single .bs-search-panel--sidebar .bs-search-block__required {
		font-size: 0.78rem !important;
	}

	.bs-spot-single .bs-search-panel--sidebar select {
		height: 40px !important;
		min-height: 40px !important;
		padding-left: 10px !important;
		padding-right: 32px !important;
		font-size: 0.84rem !important;
		line-height: 40px !important;
		border-radius: 9px !important;
	}

	.bs-spot-single .bs-search-panel--sidebar .bs-search-ball-radio-card {
		min-height: 42px !important;
		padding: 7px 9px !important;
		gap: 8px !important;
		border-radius: 9px !important;
	}

	.bs-spot-single .bs-search-panel--sidebar .bs-search-ball-radio-icon {
		flex-basis: 24px !important;
		width: 24px !important;
		height: 24px !important;
		font-size: 1.15rem !important;
	}

	.bs-spot-single .bs-search-panel--sidebar .bs-search-ball-radio-label {
		font-size: 0.76rem !important;
		line-height: 1.28 !important;
		font-weight: 400 !important;
	}

	.bs-spot-single .bs-search-panel--sidebar .bs-search-detail-open {
		min-height: 42px !important;
		font-size: 0.8rem !important;
	}

	.bs-spot-single .bs-search-panel--sidebar .bs-search-submit-button {
		min-height: 40px !important;
		font-size: 0.9rem !important;
	}
}


/* ========================================
   BallSpotMAP 個別スポットページ UI整理 v158-safe
   変更タイプ：
   ・PC詳細条件ポップアップを共通検索UIと同じ見た目へ寄せる
   ・(i)表記を?アイコンに統一
   ・目次をデフォルト折りたたみの開閉式に変更
   ・目次項目に番号を表示
   ・使用可能なボール・用具をコンパクト表形式へ変更
   ・ボール・用具アイコンを画像アイコン前提に変更
   ・スマホの下部検索ブロックから詳細条件ボタンを非表示
   ・スマホのパンくず位置/レイアウトを市区ページ寄せ
   ・個別ページ小見出しのフォントを市区ページの件数表示系に寄せる
   ・検索ロジック、ACF項目、search-block-common.phpは変更しない
======================================== */

/* 個別ページの?アイコン統一 */
.bs-spot-single .bs-info-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 22px !important;
	height: 22px !important;
	margin-left: 6px !important;
	border-radius: 50% !important;
	background: #d9e8f4 !important;
	color: #14547c !important;
	font-size: 0.82rem !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	vertical-align: middle !important;
}

/* 個別ページ小見出し：市区ページの件数表示系に寄せる */
.bs-spot-single .bs-spot-ball-tools h2,
.bs-spot-single .bs-spot-toc summary,
.bs-spot-single .bs-spot-section h2 {
	margin: 0 0 14px !important;
	color: #5b6470 !important;
	font-size: 1.05rem !important;
	font-weight: 700 !important;
	line-height: 1.45 !important;
	letter-spacing: 0 !important;
}

/* 使用可能なボール・用具：コンパクト表 */
.bs-spot-single .bs-ball-tools-grid {
	display: none !important;
}

.bs-spot-single .bs-ball-tools-table {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 0 !important;
	border: 1px solid #dbe3ee !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	background: #ffffff !important;
	box-sizing: border-box !important;
}

.bs-spot-single .bs-ball-tools-row {
	display: grid !important;
	grid-template-columns: minmax(0, 1.15fr) auto !important;
	align-items: center !important;
	min-height: 44px !important;
	padding: 9px 12px !important;
	border-bottom: 1px solid #edf2f7 !important;
	box-sizing: border-box !important;
}

.bs-spot-single .bs-ball-tools-row:nth-child(odd) {
	border-right: 1px solid #edf2f7 !important;
}

.bs-spot-single .bs-ball-tools-row:nth-last-child(1),
.bs-spot-single .bs-ball-tools-row:nth-last-child(2):nth-child(odd) {
	border-bottom: 0 !important;
}

.bs-spot-single .bs-ball-tools-label {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	min-width: 0 !important;
	color: #243447 !important;
	font-size: 0.92rem !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
}

.bs-spot-single .bs-ball-tools-label > span:last-child {
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

.bs-spot-single .bs-ball-tools-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 24px !important;
	width: 24px !important;
	height: 24px !important;
	margin: 0 !important;
	line-height: 1 !important;
}

.bs-spot-single .bs-ball-tools-icon img {
	display: block !important;
	width: 24px !important;
	height: 24px !important;
	object-fit: contain !important;
}

.bs-spot-single .bs-ball-tools-stars {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	white-space: nowrap !important;
	font-size: 0.92rem !important;
	line-height: 1 !important;
}

/* 目次：開閉式、デフォルト折りたたみ */
.bs-spot-single details.bs-spot-toc {
	display: block !important;
	padding: 18px 20px !important;
	border: 1px solid #dbe3ee !important;
	border-radius: 14px !important;
	background: #ffffff !important;
	box-shadow: 0 6px 18px rgba(36, 52, 71, 0.05) !important;
	box-sizing: border-box !important;
}

.bs-spot-single .bs-spot-toc summary {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	margin: 0 !important;
	cursor: pointer !important;
	list-style: none !important;
}

.bs-spot-single .bs-spot-toc summary::-webkit-details-marker {
	display: none !important;
}

.bs-spot-single .bs-spot-toc summary::after {
	content: "＋" !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 22px !important;
	height: 22px !important;
	border-radius: 50% !important;
	background: #eef4f9 !important;
	color: #607086 !important;
	font-size: 0.9rem !important;
	font-weight: 700 !important;
	line-height: 1 !important;
}

.bs-spot-single .bs-spot-toc[open] summary::after {
	content: "−" !important;
}

.bs-spot-single .bs-spot-toc ol {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 8px 18px !important;
	margin: 14px 0 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.bs-spot-single .bs-spot-toc li {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.bs-spot-single .bs-spot-toc a {
	display: inline-flex !important;
	align-items: baseline !important;
	gap: 4px !important;
	color: #14547c !important;
	font-size: 0.9rem !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;
	text-decoration: none !important;
}

.bs-spot-single .bs-spot-toc a:hover,
.bs-spot-single .bs-spot-toc a:focus {
	text-decoration: underline !important;
}

.bs-spot-single .bs-spot-toc__number {
	flex: 0 0 auto !important;
	color: #7a8796 !important;
	font-weight: 700 !important;
}

/* PC：詳細条件ポップアップを共通検索UIと合わせる */
@media (min-width: 1025px) {
	.bs-spot-single .bs-search-detail-modal:not([hidden]) {
		display: block !important;
	}

	.bs-spot-single .bs-search-detail-modal__overlay {
		position: fixed !important;
		inset: 0 !important;
		background: rgba(15, 23, 42, 0.38) !important;
		z-index: 9998 !important;
	}

	.bs-spot-single .bs-search-detail-modal__dialog {
		position: fixed !important;
		left: 50% !important;
		top: 50% !important;
		transform: translate(-50%, -50%) !important;
		width: min(640px, calc(100vw - 40px)) !important;
		max-height: calc(100vh - 56px) !important;
		overflow: auto !important;
		border-radius: 18px !important;
		background: #ffffff !important;
		box-shadow: 0 22px 60px rgba(15, 23, 42, 0.24) !important;
		z-index: 9999 !important;
		box-sizing: border-box !important;
	}

	.bs-spot-single .bs-search-detail-modal__header {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		min-height: 64px !important;
		padding: 18px 22px !important;
		border-bottom: 1px solid #dbe3ee !important;
		background: #ffffff !important;
		box-sizing: border-box !important;
	}

	.bs-spot-single .bs-search-detail-modal__header h4 {
		margin: 0 !important;
		color: #111827 !important;
		font-size: 1.15rem !important;
		font-weight: 700 !important;
		line-height: 1.35 !important;
	}

	.bs-spot-single .bs-search-detail-modal__close {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 34px !important;
		height: 34px !important;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 50% !important;
		background: transparent !important;
		color: #607086 !important;
		font-size: 1.45rem !important;
		font-weight: 400 !important;
		line-height: 1 !important;
		cursor: pointer !important;
	}

	.bs-spot-single .bs-search-detail-modal__body {
		padding: 20px 22px 22px !important;
		background: #ffffff !important;
		box-sizing: border-box !important;
	}
}

/* スマホ：パンくずを市区ページ寄せ */
@media (max-width: 768px) {
	.bs-spot-single .bs-spot-wrap {
		padding-left: 14px !important;
		padding-right: 14px !important;
	}

	.bs-spot-single .bs-breadcrumb {
		margin: 18px 0 14px !important;
		padding: 0 !important;
		font-size: 0.78rem !important;
		line-height: 1.5 !important;
	}

	.bs-spot-single .bs-breadcrumb__list {
		display: flex !important;
		flex-wrap: wrap !important;
		gap: 4px 6px !important;
		margin: 0 !important;
		padding: 0 !important;
		list-style: none !important;
	}

	.bs-spot-single .bs-breadcrumb__item {
		display: inline-flex !important;
		align-items: center !important;
		color: #607086 !important;
	}

	.bs-spot-single .bs-breadcrumb__item + .bs-breadcrumb__item::before {
		content: ">" !important;
		margin-right: 6px !important;
		color: #9aa7b6 !important;
	}

	.bs-spot-single .bs-breadcrumb a {
		color: #607086 !important;
		text-decoration: underline !important;
		text-underline-offset: 2px !important;
	}

	/* スマホ下部検索ブロック：詳細条件ボタンを除去 */
	.bs-spot-single .bs-search-panel--bottom .bs-search-block__section--detail {
		display: none !important;
	}

	/* スマホ：使用可能なボール・用具は1列の表 */
	.bs-spot-single .bs-ball-tools-table {
		grid-template-columns: 1fr !important;
	}

	.bs-spot-single .bs-ball-tools-row {
		grid-template-columns: minmax(0, 1fr) auto !important;
		min-height: 42px !important;
		padding: 8px 10px !important;
		border-right: 0 !important;
		border-bottom: 1px solid #edf2f7 !important;
	}

	.bs-spot-single .bs-ball-tools-row:last-child {
		border-bottom: 0 !important;
	}

	.bs-spot-single .bs-ball-tools-label {
		font-size: 0.88rem !important;
	}

	.bs-spot-single .bs-ball-tools-stars {
		font-size: 0.88rem !important;
	}

	/* スマホ：目次は1列 */
	.bs-spot-single details.bs-spot-toc {
		padding: 16px 16px !important;
	}

	.bs-spot-single .bs-spot-toc ol {
		grid-template-columns: 1fr !important;
		gap: 7px !important;
	}

	.bs-spot-single .bs-spot-ball-tools h2,
	.bs-spot-single .bs-spot-toc summary,
	.bs-spot-single .bs-spot-section h2 {
		font-size: 0.98rem !important;
		line-height: 1.45 !important;
	}
}


/* ========================================
   BallSpotMAP 個別スポットページ 詳細条件ポップアップ完全同期/アイコン修正 v159-safe
   変更タイプ：
   ・v158で個別ページだけ追加した詳細条件ポップアップ専用レイアウトを、共通ポップアップと同じ値で上書き
   ・PC詳細条件ポップアップを都道府県/市区/検索結果ページと同一の位置・幅・余白・フォントに戻す
   ・使用可能なボール・用具の画像アイコンはPHP側で実在ファイル名に修正
   ・検索ロジック、search-block-common.php、ACF項目、都道府県/市区/検索結果ページは変更しない
======================================== */

/* 個別ページでも詳細条件ポップアップは共通指定と同一にする */
.bs-spot-single .bs-search-detail-modal {
	position: fixed !important;
	inset: 0 !important;
	z-index: 2147483600 !important;
	width: 100vw !important;
	height: 100vh !important;
	pointer-events: auto !important;
	font-family: inherit !important;
	color: #243447 !important;
	font-size: 1rem !important;
	line-height: 1.5 !important;
}

.bs-spot-single .bs-search-detail-modal__overlay {
	position: fixed !important;
	inset: 0 !important;
	z-index: 2147483601 !important;
	background: rgba(20, 30, 40, 0.34) !important;
}

.bs-spot-single .bs-search-detail-modal__dialog {
	position: fixed !important;
	left: 50% !important;
	top: 128px !important;
	transform: translateX(-50%) !important;
	width: min(92vw, 560px) !important;
	max-height: calc(100vh - 164px) !important;
	margin: 0 !important;
	overflow: auto !important;
	border-radius: 18px !important;
	background: #ffffff !important;
	box-shadow: 0 22px 60px rgba(15, 23, 42, 0.24) !important;
	z-index: 2147483602 !important;
	box-sizing: border-box !important;
	color: #243447 !important;
	font-family: inherit !important;
	font-size: 1rem !important;
	line-height: 1.5 !important;
}

.bs-spot-single .bs-search-detail-modal__header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	min-height: 64px !important;
	padding: 18px 22px !important;
	border-bottom: 1px solid #dbe3ee !important;
	background: #ffffff !important;
	box-sizing: border-box !important;
}

.bs-spot-single .bs-search-detail-modal__header h4 {
	margin: 0 !important;
	color: #111827 !important;
	font-size: 1.2rem !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
}

.bs-spot-single .bs-search-detail-modal__close {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 34px !important;
	height: 34px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: transparent !important;
	color: #607086 !important;
	font-size: 1.45rem !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	cursor: pointer !important;
}

.bs-spot-single .bs-search-detail-modal__body {
	padding: 20px 22px 22px !important;
	background: #ffffff !important;
	box-sizing: border-box !important;
	font-family: inherit !important;
	color: #243447 !important;
	font-size: 1rem !important;
	line-height: 1.5 !important;
}

/* 共通ポップアップ内フォーム値 */
.bs-spot-single .bs-search-detail-modal .bs-search-block-wrap,
.bs-spot-single .bs-search-detail-modal .bs-search-block,
.bs-spot-single .bs-search-detail-modal .bs-search-block-form {
	font-family: inherit !important;
	color: #243447 !important;
	font-size: 1rem !important;
	line-height: 1.5 !important;
}

.bs-spot-single .bs-search-detail-modal .bs-search-block__field {
	margin: 0 0 18px !important;
}

.bs-spot-single .bs-search-detail-modal .bs-search-block__field:last-child {
	margin-bottom: 0 !important;
}

.bs-spot-single .bs-search-detail-modal .bs-search-block__field > label,
.bs-spot-single .bs-search-detail-modal .bs-search-check-list label,
.bs-spot-single .bs-search-detail-modal .bs-search-check-list label span {
	color: #5b6470 !important;
	font-size: 0.95rem !important;
	line-height: 1.45 !important;
	font-weight: 400 !important;
}

.bs-spot-single .bs-search-detail-modal label[for^="bs-search-score-rain-"],
.bs-spot-single .bs-search-detail-modal label[for^="bs-search-score-night-"],
.bs-spot-single .bs-search-detail-modal label[for^="bs-search-score-size-"],
.bs-spot-single .bs-search-detail-modal label[for^="bs-search-score-safety-"] {
	font-weight: 700 !important;
	color: #5b6470 !important;
}

.bs-spot-single .bs-search-detail-modal select {
	width: 100% !important;
	height: 44px !important;
	min-height: 44px !important;
	padding: 0 38px 0 16px !important;
	border: 1px solid #dbe3ee !important;
	border-radius: 10px !important;
	background-color: #ffffff !important;
	color: #243447 !important;
	font-family: inherit !important;
	font-size: 1rem !important;
	font-weight: 400 !important;
	line-height: 44px !important;
	box-sizing: border-box !important;
	-webkit-text-fill-color: #243447 !important;
	opacity: 1 !important;
}

.bs-spot-single .bs-search-detail-modal .bs-search-check-list {
	display: grid !important;
	gap: 10px !important;
}

.bs-spot-single .bs-search-detail-modal .bs-search-check-list label {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	min-height: 44px !important;
	padding: 9px 12px !important;
	border: 1px solid #dbe3ee !important;
	border-radius: 10px !important;
	background-color: #ffffff !important;
	box-sizing: border-box !important;
}

.bs-spot-single .bs-search-detail-modal .bs-search-detail-group {
	padding: 14px 14px 16px !important;
	border: 1px solid #dbe3ee !important;
	border-radius: 14px !important;
	background: #fbfcfe !important;
}

.bs-spot-single .bs-search-detail-modal .bs-search-detail-group + .bs-search-detail-group {
	margin-top: 14px !important;
}

.bs-spot-single .bs-search-detail-modal .bs-search-detail-group__title {
	margin: 0 0 4px !important;
	font-size: 0.98rem !important;
	line-height: 1.45 !important;
	font-weight: 700 !important;
	color: #243447 !important;
}

.bs-spot-single .bs-search-detail-modal .bs-search-detail-group__lead {
	margin: 0 0 12px !important;
	font-size: 0.82rem !important;
	line-height: 1.6 !important;
	color: #607086 !important;
}

.bs-spot-single .bs-search-detail-modal .bs-search-detail-score-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 12px !important;
}

.bs-spot-single .bs-search-detail-modal .bs-search-check-list--compact {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 8px !important;
}

.bs-spot-single .bs-search-detail-modal .bs-search-detail-modal__footer {
	margin-top: 16px !important;
	padding-top: 14px !important;
	border-top: 1px solid #e4e9f1 !important;
	text-align: right !important;
}

.bs-spot-single .bs-search-detail-modal .bs-search-detail-modal__close-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 40px !important;
	padding: 0 22px !important;
	border: 1px solid #14547c !important;
	border-radius: 999px !important;
	background: #14547c !important;
	color: #ffffff !important;
	font-size: 0.9rem !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	cursor: pointer !important;
}

.bs-spot-single .bs-search-detail-modal .bs-search-block__field--env-score {
	margin: 0 !important;
}

.bs-spot-single .bs-search-detail-modal .bs-search-block__field--env-score > label {
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
	margin: 0 0 8px !important;
	font-weight: 700 !important;
	color: #5b6470 !important;
}

.bs-spot-single .bs-search-detail-modal .bs-search-block__field--env-score > select {
	margin: 0 !important;
}

@media (max-width: 768px) {
	.bs-spot-single .bs-search-detail-modal__dialog {
		width: min(94vw, 560px) !important;
		max-height: calc(100vh - 100px) !important;
		top: 76px !important;
	}

	.bs-spot-single .bs-search-detail-modal .bs-search-check-list--compact,
	.bs-spot-single .bs-search-detail-modal .bs-search-detail-score-grid {
		grid-template-columns: 1fr !important;
	}

	.bs-spot-single .bs-search-detail-modal .bs-search-detail-group {
		padding: 13px 12px 14px !important;
	}

	.bs-spot-single .bs-search-detail-modal .bs-search-detail-modal__footer {
		text-align: center !important;
	}

	.bs-spot-single .bs-search-detail-modal .bs-search-detail-modal__close-button {
		width: 100% !important;
	}
}
