.single-park {
	padding: clamp(18px, 2.6vw, 36px) 0 clamp(72px, 10vw, 128px);
}

.single-park__container {
	width: min(calc(100% - 32px), 1120px);
}

.breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 10px;
	margin: 0 0 24px;
	color: var(--okt-muted);
	font-size: 0.78rem;
	letter-spacing: 0.02em;
}

.breadcrumbs a {
	color: inherit;
	text-decoration: none;
}

.breadcrumbs a:hover {
	color: var(--okt-green);
}

.park-dossier {
	overflow: hidden;
	background: var(--okt-paper);
	border: 1px solid var(--okt-line);
	border-radius: 22px;
	box-shadow: var(--okt-shadow);
}

.park-dossier__masthead {
	padding: clamp(26px, 6vw, 72px);
	background:
		linear-gradient(130deg, rgba(11, 107, 58, 0.11), transparent 58%),
		linear-gradient(0deg, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.9));
	border-bottom: 1px solid var(--okt-line);
}

.park-dossier__kicker {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	padding-bottom: 14px;
	border-bottom: 1px solid rgba(11, 107, 58, 0.25);
	color: var(--okt-green-dark);
	font-size: 0.7rem;
	font-weight: 900;
	letter-spacing: 0.16em;
}

.park-dossier__heading-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 170px;
	gap: clamp(30px, 6vw, 72px);
	align-items: end;
	padding-top: clamp(30px, 5vw, 58px);
}

.park-dossier__area {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	color: var(--okt-green-dark);
	font-size: 0.9rem;
	font-weight: 800;
}

.park-dossier__area a {
	color: inherit;
	text-decoration: none;
}

.park-dossier__pin {
	width: 10px;
	height: 10px;
	background: var(--okt-green);
	border: 3px solid #fff;
	border-radius: 50%;
	box-shadow: 0 0 0 2px var(--okt-green);
}

.park-dossier__title {
	max-width: 820px;
	margin: 18px 0 0;
	font-size: clamp(2.55rem, 7vw, 5.6rem);
	line-height: 1.05;
	letter-spacing: -0.055em;
}

.park-dossier__lead {
	max-width: 760px;
	margin: 24px 0 0;
	color: var(--okt-muted);
	font-size: clamp(1rem, 2vw, 1.2rem);
	line-height: 1.9;
}

.park-dossier__stamp {
	display: flex;
	min-height: 170px;
	flex-direction: column;
	justify-content: space-between;
	padding: 19px;
	border: 2px solid var(--okt-green-dark);
	color: var(--okt-green-dark);
	transform: rotate(1.2deg);
}

.park-dossier__stamp span,
.park-dossier__stamp small {
	font-size: 0.58rem;
	font-weight: 900;
	letter-spacing: 0.13em;
}

.park-dossier__stamp strong {
	font-size: 2rem;
	line-height: 1.05;
	letter-spacing: 0.04em;
}

.park-facts {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: clamp(30px, 5vw, 64px);
	padding: clamp(34px, 6vw, 64px);
	background: #f7faf8;
	border-bottom: 1px solid var(--okt-line);
}

.park-facts__intro p,
.park-story__header > p,
.related-parks__header > p {
	margin: 0 0 6px;
	color: var(--okt-green);
	font-size: 0.7rem;
	font-weight: 900;
	letter-spacing: 0.16em;
}

.park-facts__intro h2 {
	margin: 0;
	font-size: clamp(1.6rem, 3.3vw, 2.35rem);
	line-height: 1.3;
}

.park-facts__secondary-view {
	overflow: hidden;
	margin-top: 34px;
	background: #dfe9e3;
	border: 1px solid rgba(8, 54, 31, 0.16);
	border-radius: 12px;
	box-shadow: 0 12px 28px rgba(8, 54, 31, 0.1);
}

.park-facts__secondary-view iframe {
	display: block;
	width: 100% !important;
	height: 205px !important;
	min-height: 205px;
	border: 0;
}

.park-facts__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 0;
}

.park-facts__item {
	padding: 18px 20px;
	background: #fff;
	border: 1px solid var(--okt-line);
	border-radius: 12px;
}

.park-facts__item--wide {
	grid-column: 1 / -1;
}

.park-facts__item dt {
	margin-bottom: 7px;
	color: var(--okt-muted);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.08em;
}

.park-facts__item dd {
	margin: 0;
	font-size: 1rem;
	font-weight: 800;
}

.park-facts__item dd > a {
	color: var(--okt-green-dark);
	text-decoration: none;
}

.park-facts__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.park-facts__tags a {
	display: block;
	padding: 7px 11px;
	background: var(--okt-green-pale);
	border: 1px solid rgba(11, 107, 58, 0.2);
	border-radius: 999px;
	color: var(--okt-green-dark);
	font-size: 0.78rem;
	font-weight: 800;
	text-decoration: none;
}

.park-facts__empty {
	color: var(--okt-muted);
	font-weight: 500;
}

.park-dossier__reading-guide {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	background: var(--okt-green-dark);
	color: #fff;
}

.park-dossier__reading-guide > a {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 16px;
	align-items: center;
	padding: 22px clamp(24px, 5vw, 50px);
}

.park-dossier__reading-guide > a + a {
	border-left: 1px solid rgba(255, 255, 255, 0.2);
}

.park-dossier__reading-guide > a > span {
	font-size: 1.75rem;
	font-weight: 900;
	opacity: 0.42;
}

.park-dossier__reading-guide p,
.park-dossier__reading-guide strong,
.park-dossier__reading-guide small {
	display: block;
	margin: 0;
}

.park-dossier__reading-guide small {
	margin-top: 3px;
	opacity: 0.7;
}

.park-dossier__reading-guide > a {
	color: inherit;
	text-decoration: none;
	transition: background .2s ease;
}

.park-dossier__reading-guide > a:hover,
.park-dossier__reading-guide > a:focus-visible {
	background: rgba(255,255,255,.08);
}

.park-streetview {
	padding: clamp(38px, 6vw, 68px) clamp(24px, 7vw, 78px) clamp(46px, 7vw, 78px);
	background: #eef5f1;
	border-bottom: 1px solid var(--okt-line);
	scroll-margin-top: 24px;
}

.park-streetview__header {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(240px, 460px);
	gap: 14px 48px;
	align-items: end;
	margin-bottom: 28px;
}

.park-streetview__header p {
	grid-column: 1 / -1;
	margin: 0;
	color: var(--okt-green);
	font-size: .7rem;
	font-weight: 900;
	letter-spacing: .16em;
}

.park-streetview__header h2 {
	margin: 0;
	font-size: clamp(1.9rem, 4.4vw, 3.25rem);
	line-height: 1.2;
	letter-spacing: -.03em;
}

.park-streetview__header span {
	color: var(--okt-muted);
	line-height: 1.8;
}

.park-streetview__frame {
	overflow: hidden;
	min-height: 520px;
	background: #dfe9e3;
	border: 1px solid rgba(8,54,31,.18);
	border-radius: 16px;
	box-shadow: 0 18px 44px rgba(8,54,31,.12);
}

.park-streetview__frame iframe {
	display: block;
	width: 100% !important;
	height: clamp(520px, 62vw, 720px) !important;
	min-height: 520px;
	border: 0;
}

.park-streetview__empty {
	display: grid;
	min-height: 520px;
	place-items: center;
	margin: 0;
	padding: 32px;
	color: var(--okt-muted);
	text-align: center;
}

.park-story {
	scroll-margin-top: 24px;
	padding: clamp(38px, 7vw, 78px) clamp(24px, 7vw, 78px) clamp(48px, 8vw, 90px);
}

.park-story__header {
	max-width: 780px;
	margin: 0 auto clamp(36px, 6vw, 64px);
	padding-bottom: 28px;
	border-bottom: 1px solid var(--okt-line);
}

.park-story__header h2 {
	margin: 0;
	font-size: clamp(1.8rem, 4.4vw, 3.2rem);
	line-height: 1.3;
	letter-spacing: -0.025em;
}

.park-story__header > span {
	display: block;
	margin-top: 15px;
	color: var(--okt-muted);
	line-height: 1.85;
}

.park-story__content {
	font-size: clamp(1rem, 1.3vw, 1.08rem);
	line-height: 2;
}

.park-story__content > * {
	max-width: 780px;
	margin-right: auto;
	margin-left: auto;
}

.park-story__content > iframe,
.park-story__content > .wp-block-embed,
.park-story__content > .wp-block-html,
.park-story__content > .wp-block-group.alignwide,
.park-story__content > .alignwide,
.park-story__content > figure.alignwide {
	max-width: 960px;
}

.park-story__content h2 {
	margin-top: 2.7em;
	padding: 0 0 0.55em;
	border-bottom: 3px solid var(--okt-green);
	font-size: clamp(1.55rem, 3.5vw, 2.3rem);
	line-height: 1.4;
}

.park-story__content h3 {
	margin-top: 2.3em;
	font-size: clamp(1.25rem, 3vw, 1.7rem);
}

.park-story__content p {
	margin-top: 1.45em;
	margin-bottom: 1.45em;
}

.park-story__content img {
	height: auto;
	border-radius: 10px;
}

.park-story__content iframe {
	display: block;
	width: 100%;
	min-height: 520px;
	border: 0;
	border-radius: 12px;
}

.park-story__content .wp-block-embed__wrapper {
	position: relative;
	overflow: hidden;
	border-radius: 12px;
}

.park-story__content table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.94rem;
}

.park-story__content th,
.park-story__content td {
	padding: 13px 15px;
	border: 1px solid var(--okt-line);
	text-align: left;
}

.park-story__content th {
	width: 30%;
	background: var(--okt-green-pale);
}

.park-dossier__footer {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	align-items: center;
	padding: 22px clamp(24px, 7vw, 78px);
	background: #f7faf8;
	border-top: 1px solid var(--okt-line);
}

.park-dossier__footer p {
	margin: 0;
	color: var(--okt-muted);
	font-size: 0.78rem;
}

.park-dossier__back {
	color: var(--okt-green-dark);
	font-size: 0.86rem;
	font-weight: 800;
	text-decoration: none;
}

.park-navigation {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 180px minmax(0, 1fr);
	gap: 14px;
	margin-top: 22px;
}

.park-navigation__item,
.park-navigation__index {
	display: flex;
	min-height: 116px;
	flex-direction: column;
	justify-content: center;
	padding: 20px 22px;
	background: var(--okt-paper);
	border: 1px solid var(--okt-line);
	border-radius: 14px;
	text-decoration: none;
}

.park-navigation__item--next {
	text-align: right;
}

.park-navigation__item > span,
.park-navigation__index span {
	display: block;
	margin-bottom: 7px;
	color: var(--okt-muted);
	font-size: 0.64rem;
	font-weight: 900;
	letter-spacing: 0.13em;
}

.park-navigation__item a {
	color: var(--okt-ink);
	text-decoration: none;
}

.park-navigation__item a small,
.park-navigation__item a strong {
	display: block;
}

.park-navigation__item a small {
	margin-bottom: 5px;
	color: var(--okt-muted);
	font-size: 0.72rem;
}

.park-navigation__item a strong,
.park-navigation__index strong {
	font-size: 0.95rem;
	line-height: 1.45;
}

.park-navigation__index {
	align-items: center;
	background: var(--okt-green-dark);
	color: #fff;
	text-align: center;
}

.related-parks {
	margin-top: clamp(56px, 9vw, 104px);
}

.related-parks__header {
	max-width: 760px;
	margin-bottom: 28px;
}

.related-parks__header h2 {
	margin: 0;
	font-size: clamp(1.75rem, 4vw, 2.8rem);
	line-height: 1.35;
}

.related-parks__header > span {
	display: block;
	margin-top: 10px;
	color: var(--okt-muted);
}

.related-parks__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.related-parks .park-card__body > p:not(.park-card__edition):not(.park-card__facilities-label):not(.park-card__no-tags) {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

@media (max-width: 860px) {
	.park-dossier__heading-grid,
	.park-facts {
		grid-template-columns: 1fr;
	}

	.park-dossier__stamp {
		width: 150px;
		min-height: 145px;
	}

	.related-parks__grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 700px) {
	.single-park__container {
		width: min(calc(100% - 20px), 1120px);
	}

	.park-dossier {
		border-radius: 14px;
	}

	.park-dossier__masthead {
		padding: 26px 22px 34px;
	}

	.park-dossier__kicker {
		font-size: 0.58rem;
	}

	.park-dossier__heading-grid {
		gap: 28px;
		padding-top: 30px;
	}

	.park-dossier__title {
		font-size: clamp(2.35rem, 13vw, 4rem);
	}

	.park-facts {
		gap: 24px;
		padding: 30px 22px;
	}

	.park-facts__grid {
		grid-template-columns: 1fr;
	}

	.park-facts__item--wide {
		grid-column: auto;
	}

	.park-dossier__reading-guide {
		grid-template-columns: 1fr;
	}

	.park-dossier__reading-guide > a + a {
		border-top: 1px solid rgba(255, 255, 255, 0.2);
		border-left: 0;
	}

	.park-story {
		padding: 34px 22px 48px;
	}

	.park-story__content iframe {
		min-height: 390px;
	}

	.park-dossier__footer {
		align-items: flex-start;
		flex-direction: column;
	}

	.park-navigation {
		grid-template-columns: 1fr 1fr;
	}

	.park-navigation__index {
		grid-column: 1 / -1;
		grid-row: 2;
		min-height: 74px;
	}
}

@media (max-width: 480px) {
	.park-navigation {
		grid-template-columns: 1fr;
	}

	.park-navigation__index {
		grid-column: auto;
		grid-row: auto;
	}

	.park-navigation__item--next {
		text-align: left;
	}
}

/* Ver.3.6.2 single preview adjustments */
@media (max-width: 700px) {
	.park-streetview__header { grid-template-columns: 1fr; gap: 10px; }
	.park-streetview__header p { grid-column: 1; }
	.park-streetview__frame,
	.park-streetview__frame iframe,
	.park-streetview__empty { min-height: 420px; }
	.park-streetview__frame iframe { height: 66vh !important; }
}

/* 3.6.6: 公園の姿を最初に見せる構成 */
.park-dossier__masthead + .park-streetview {
	border-top: 1px solid var(--okt-line);
}

.park-streetview + .park-facts {
	border-top: 0;
}

@media (max-width: 720px) {
	.park-facts__secondary-view {
		margin-top: 24px;
	}

	.park-facts__secondary-view iframe {
		height: 220px !important;
		min-height: 220px;
	}
}


/* Ver.3.6.9: location map and feature-based circulation */
.park-map {
	padding: clamp(38px, 6vw, 72px) clamp(22px, 7vw, 92px);
	border-top: 1px solid var(--okt-line);
	background: #fff;
}
.park-map__header { max-width: 760px; margin-bottom: 24px; }
.park-map__header p,
.related-parks--features .related-parks__header p {
	margin: 0 0 8px;
	color: var(--okt-green);
	font-size: .68rem;
	font-weight: 900;
	letter-spacing: .18em;
}
.park-map__header h2 { margin: 0; font-size: clamp(1.75rem, 4vw, 2.75rem); line-height: 1.3; }
.park-map__header span { display: block; margin-top: 10px; color: var(--okt-muted); }
.park-map__frame { overflow: hidden; border: 1px solid var(--okt-line); border-radius: 16px; background: var(--okt-paper); }
.park-map__frame iframe { display: block; width: 100% !important; height: 430px !important; border: 0; }
.park-map__action { margin: 16px 0 0; text-align: right; }
.park-map__action a { display: inline-flex; align-items: center; min-height: 46px; padding: 0 20px; border-radius: 999px; background: var(--okt-green-dark); color: #fff; font-weight: 800; text-decoration: none; }
.related-parks--features { margin-top: clamp(48px, 8vw, 88px); padding-top: clamp(42px, 7vw, 72px); border-top: 1px solid var(--okt-line); }
@media (max-width: 700px) {
	.park-map { padding: 34px 22px 44px; }
	.park-map__frame iframe { height: 360px !important; }
	.park-map__action { text-align: left; }
	.park-map__action a { width: 100%; justify-content: center; }
}

/* Ver.3.7.0: PARK RECORD / dynamic rankings */
.park-hero-rank { display: inline-flex; align-items: center; gap: 9px; margin-top: 22px; padding: 8px 14px; border: 1px solid var(--okt-green); border-radius: 999px; color: var(--okt-green-dark); background: #fff; font-size: .78rem; font-weight: 800; letter-spacing: .04em; }
.park-hero-rank__crown { font-size: 1.2rem; line-height: 1; }
.park-hero-rank strong { font-size: 1rem; }
.park-record { grid-column: 1 / -1; margin-top: clamp(30px, 5vw, 54px); padding-top: clamp(26px, 4vw, 40px); border-top: 1px solid var(--okt-line); }
.park-record__header p { margin: 0 0 7px; color: var(--okt-green); font-size: .66rem; font-weight: 900; letter-spacing: .18em; }
.park-record__header h3 { margin: 0; font-size: clamp(1.35rem, 3vw, 1.9rem); }
.park-record__grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin-top: 20px; }
.park-record__item { min-height: 126px; padding: 18px; border: 1px solid var(--okt-line); border-radius: 12px; background: #fff; display: flex; flex-direction: column; justify-content: space-between; }
.park-record__item span { color: var(--okt-muted); font-size: .76rem; font-weight: 800; }
.park-record__item strong { color: var(--okt-green-dark); font-size: clamp(1.55rem, 3vw, 2.25rem); line-height: 1; }
.park-record__item small { color: var(--okt-muted); font-size: .68rem; }
.park-record__item--monthly { background: var(--okt-green-dark); border-color: var(--okt-green-dark); }
.park-record__item--monthly span, .park-record__item--monthly strong, .park-record__item--monthly small { color: #fff; }
@media (max-width: 900px) { .park-record__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .park-record__grid { grid-template-columns: 1fr 1fr; } .park-record__item { min-height: 116px; padding: 15px; } }

/* Ver.3.7.1: Google My Maps / current-location route */
.park-map__actions { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(220px, .6fr); gap: 12px; margin-top: 16px; }
.park-map__actions a { text-decoration: none; }
.park-map__go { display: flex; flex-direction: column; justify-content: center; min-height: 74px; padding: 14px 22px; border-radius: 14px; background: var(--okt-green-dark); color: #fff; }
.park-map__go strong { font-size: 1.05rem; }
.park-map__go small { margin-top: 4px; color: rgba(255,255,255,.78); font-size: .72rem; }
.park-map__all { display: inline-flex; align-items: center; justify-content: center; min-height: 74px; padding: 14px 20px; border: 1px solid var(--okt-green-dark); border-radius: 14px; color: var(--okt-green-dark); background: #fff; font-weight: 800; text-align: center; }
.park-map__go:hover, .park-map__go:focus-visible { color: #fff; opacity: .92; }
.park-map__all:hover, .park-map__all:focus-visible { background: var(--okt-green-dark); color: #fff; }
@media (max-width: 700px) {
	.park-map__actions { grid-template-columns: 1fr; }
	.park-map__go, .park-map__all { min-height: 68px; }
}

/* Ver.3.7.3: single-place map, walking route notice, and nearby My Map */
.park-map--nearby { padding-top: 0; border-top: 0; }
.park-map--place + .park-map--nearby { border-top: 1px solid var(--okt-line); padding-top: clamp(38px, 6vw, 72px); }
.park-map__route { margin-top: 16px; }
.park-map__route .park-map__go { width: 100%; min-height: 86px; box-sizing: border-box; }
.park-map__route .park-map__go strong { font-size: 1.16rem; }
.park-map__route .park-map__go small { font-size: .78rem; }
.park-map__route > p { margin: 10px 4px 0; color: var(--okt-muted); font-size: .72rem; line-height: 1.7; }
@media (max-width: 700px) {
	.park-map--place + .park-map--nearby { padding-top: 34px; }
	.park-map__route .park-map__go { min-height: 78px; }
}


/* Ver.3.7.3: 個別ページではマイマップを埋め込まず、探索への入口として整理。 */
 .park-map-discovery {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
	align-items: center;
	gap: 44px;
	margin-top: 54px;
	padding: 44px 44px 38px;
	border-top: 1px solid var(--line, #d7dfd9);
	background: transparent;
}

.park-map-discovery__copy p {
	margin: 0 0 16px;
	color: var(--green, #006b3c);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .24em;
}

.park-map-discovery__copy h2 {
	margin: 0;
	font-size: clamp(1.9rem, 4vw, 3rem);
	line-height: 1.2;
}

.park-map-discovery__copy span {
	display: block;
	margin-top: 20px;
	color: var(--muted, #65736a);
}

.park-map-discovery__button {
	display: flex;
	min-height: 92px;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	padding: 20px 24px;
	border-radius: 18px;
	background: var(--green-dark, #00552f);
	color: #fff;
	text-align: center;
	text-decoration: none;
}
.park-map-discovery__button strong { font-size: 1.02rem; }
.park-map-discovery__button small { margin-top: 6px; color: rgba(255,255,255,.75); font-size: .7rem; }
.park-map-discovery__button:hover,
.park-map-discovery__button:focus-visible { color: #fff; opacity: .92; }

@media (max-width: 720px) {
	.park-map-discovery { grid-template-columns: 1fr; gap: 22px; padding: 30px 0 24px; }
	.park-map-discovery__button { min-height: 82px; }
}

/* Ver.3.7.9: スマホのストリートビューを正方形に統一 */
@media (max-width: 700px) {
	.park-streetview__frame {
		width: 100%;
		min-height: 0;
		aspect-ratio: 1 / 1;
	}
	.park-streetview__frame iframe {
		width: 100% !important;
		height: 100% !important;
		min-height: 0 !important;
	}
	.park-streetview__empty {
		min-height: 0;
		aspect-ratio: 1 / 1;
	}
}
