/* =========================================================
   アイコンと飾り、店舗検索（pdl.css の後に読む）
   ========================================================= */

/* ヘッダーメニューのアイコン（料金ランキング／店舗をさがす／チェーン一覧／ガイド／運営者） */
.navi-in > ul > li > a .item-label::before {
	content: ""; display: inline-block; width: 1.05em; height: 1.05em; margin-right: .45em; vertical-align: -.17em;
	background-color: var(--pdl-accent);
	-webkit-mask: var(--pdl-nav-i) center / contain no-repeat; mask: var(--pdl-nav-i) center / contain no-repeat;
}
.navi-in > ul > li:nth-child(1) > a .item-label { --pdl-nav-i: var(--pdl-i-crown); }
.navi-in > ul > li:nth-child(2) > a .item-label { --pdl-nav-i: var(--pdl-i-search); }
.navi-in > ul > li:nth-child(3) > a .item-label { --pdl-nav-i: var(--pdl-i-layers); }
.navi-in > ul > li:nth-child(4) > a .item-label { --pdl-nav-i: var(--pdl-i-book); }
.navi-in > ul > li:nth-child(5) > a .item-label { --pdl-nav-i: var(--pdl-i-leaf); }

/* アイコンの色はセージ。文字の色は変えない */
.pdl-i::before { color: var(--pdl-accent); }
.pdl-card-data dt.pdl-i::before,
.pdl-result-data dt.pdl-i::before,
.pdl-stat-label.pdl-i::before,
.pdl-hero-stat-label.pdl-i::before { width: 1.05em; height: 1.05em; margin-right: .3em; }

/* トップの見出し：丸いバッジのアイコン */
.article h2.pdl-sec { display: flex; align-items: center; gap: .6em; }
.article h2.pdl-sec::before {
	content: ""; width: 1.75em; height: 1.75em; flex-shrink: 0; border-radius: 50%;
	background: var(--pdl-accent-soft) var(--pdl-sec-icon) center / 56% no-repeat;
}
.article h2.pdl-sec--ranking { --pdl-sec-icon: var(--pdl-img-crown); }
.article h2.pdl-sec--chains { --pdl-sec-icon: var(--pdl-img-layers); }
.article h2.pdl-sec--search { --pdl-sec-icon: var(--pdl-img-search); }
.article h2.pdl-sec--method { --pdl-sec-icon: var(--pdl-img-leaf); }
.article h2.pdl-sec--all { --pdl-sec-icon: var(--pdl-img-yen); }
.article h2.pdl-sec--calc { --pdl-sec-icon: var(--pdl-img-scale); }

/* ヒーローの検索欄 */
.pdl-hero-search {
	display: flex; align-items: center; gap: .6em; max-width: 580px; margin: 0 0 1.8em;
	background: var(--pdl-bg); border: 1px solid var(--pdl-line); border-radius: 999px; padding: .35em .4em .35em 1.1em;
}
.pdl-hero-search .pdl-i::before { margin: 0; width: 1.2em; height: 1.2em; }
.pdl-hero-search input { flex: 1; border: 0; background: transparent; font-size: .95em; padding: .5em 0; min-width: 0; outline: none; }
.pdl-hero-search button { border: 0; background: var(--pdl-accent); color: #fff; border-radius: 999px; padding: .6em 1.5em; font-weight: 500; letter-spacing: .08em; cursor: pointer; }
.pdl-hero-search button:hover { background: var(--pdl-accent-2); }
.pdl-hero-search:focus-within { border-color: var(--pdl-accent); box-shadow: 0 0 0 3px var(--pdl-accent-soft); background: #fff; }

/* このサイトの比べ方 */
.pdl-method { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1em; margin: 1.4em 0; }
.pdl-method-item { position: relative; background: var(--pdl-surface); border: 1px solid var(--pdl-line); border-radius: var(--pdl-radius); padding: 1.6em 1.4em 1.3em; box-shadow: var(--pdl-shadow); }
.pdl-method-num { position: absolute; top: .7em; right: 1em; font-family: var(--pdl-latin); font-size: 1.7em; color: var(--pdl-line); font-weight: 600; }
.pdl-method-icon { display: inline-flex; align-items: center; justify-content: center; width: 2.6em; height: 2.6em; border-radius: 50%; background: var(--pdl-accent-soft); margin-bottom: .8em; }
.pdl-method-icon.pdl-i::before { margin: 0; width: 1.3em; height: 1.3em; }
.pdl-method-title { font-family: var(--pdl-serif); font-weight: 600; color: var(--pdl-heading); margin: 0 0 .4em; font-size: 1.05em; }
.pdl-method-text { font-size: .86em; color: var(--pdl-text); margin: 0; line-height: 1.8; }

/* ---------- 店舗検索 ---------- */
.pdl-finder-form { background: var(--pdl-surface); border-radius: var(--pdl-radius); box-shadow: var(--pdl-shadow); padding: 1.4em 1.4em 1em; margin: 1em 0 1.4em; }
.pdl-finder-row { display: flex; flex-wrap: wrap; gap: .9em 1.2em; align-items: flex-end; margin-bottom: 1em; }
.pdl-finder-row > label { display: flex; flex-direction: column; gap: .35em; }
.pdl-finder-q { flex: 1 1 260px; }
.pdl-finder-label { font-size: 12px; color: var(--pdl-muted); letter-spacing: .06em; }
.pdl-finder-form input[type="search"],
.pdl-finder-form select {
	border: 1px solid var(--pdl-line); border-radius: 10px; background: var(--pdl-bg);
	padding: .65em .9em; font-size: .95em; font-family: var(--pdl-sans); color: var(--pdl-text);
}
.pdl-finder-form input[type="search"]:focus,
.pdl-finder-form select:focus { outline: none; border-color: var(--pdl-accent); background: #fff; box-shadow: 0 0 0 3px var(--pdl-accent-soft); }
.pdl-finder-checks { gap: .6em; }
.pdl-finder-row > label.pdl-chip { flex-direction: row; align-items: center; cursor: pointer; position: relative; }
.pdl-chip input { position: absolute; opacity: 0; pointer-events: none; }
.pdl-chip span { display: inline-flex; align-items: center; border: 1px solid var(--pdl-line); border-radius: 999px; padding: .45em 1em; font-size: .88em; background: #fff; transition: all .15s ease; }
.pdl-chip input:checked + span { background: var(--pdl-accent); border-color: var(--pdl-accent); color: #fff; }
.pdl-chip input:checked + span::before { color: #fff; }
.pdl-chip input:focus-visible + span { box-shadow: 0 0 0 3px var(--pdl-accent-soft); }
.pdl-finder-bar { justify-content: space-between; align-items: center; border-top: 1px solid var(--pdl-line); padding-top: .9em; margin-bottom: 0; }
.pdl-finder-count { margin: 0; color: var(--pdl-muted); }
.pdl-finder-count strong { font-family: var(--pdl-serif); font-size: 1.6em; color: var(--pdl-heading); margin-right: .15em; }
.pdl-finder-row > label.pdl-finder-sort { flex-direction: row; align-items: center; gap: .6em; }
.pdl-finder-sort .pdl-finder-label { white-space: nowrap; }
.pdl-finder-reset { border: 0; background: none; color: var(--pdl-accent-2); cursor: pointer; font-size: .88em; text-decoration: underline; text-underline-offset: .2em; }

.pdl-results { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1em; }
.pdl-result { background: var(--pdl-surface); border: 1px solid var(--pdl-line); border-radius: var(--pdl-radius); padding: 1.2em 1.3em 1em; box-shadow: var(--pdl-shadow); display: flex; flex-direction: column; }
.pdl-result[hidden] { display: none; }
.pdl-result-head p { margin: 0; }
.pdl-result-chain { margin: 0; font-size: 11px; letter-spacing: .1em; color: var(--pdl-accent-2); }
.article .pdl-result-name { margin: .15em 0 .35em; font-family: var(--pdl-serif); font-weight: 600; font-size: 1.25em; line-height: 1.45; }
.pdl-result-name a { color: var(--pdl-heading); text-decoration: none; }
.pdl-result-name a:hover { color: var(--pdl-accent-2); }
.article .pdl-result-access { margin: 0 0 .9em; font-size: .82em; color: var(--pdl-muted); }
.pdl-result-data { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: .4em .8em; margin: 0 0 .8em; padding: .8em 0 0; border-top: 1px solid var(--pdl-line); }
.pdl-result-data div { display: flex; flex-direction: column; }
.pdl-result-data dt { font-size: 10.5px; color: var(--pdl-muted); white-space: nowrap; font-weight: 400; }
.pdl-result-data dd { margin: 0; font-weight: 500; color: var(--pdl-heading); white-space: nowrap; }
.pdl-result-data dd.pdl-result-main { font-family: var(--pdl-serif); font-weight: 600; font-size: 1.3em; color: var(--pdl-accent-2); line-height: 1.3; }
.article .pdl-result-tags { list-style: none; margin: auto 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .35em; }
.article .pdl-result-tags li { margin: 0; display: inline-flex; align-items: center; font-size: 11.5px; padding: .25em .75em; border-radius: 999px; background: var(--pdl-accent-soft); color: var(--pdl-accent-2); }
.article .pdl-result-tags li.is-muted { background: var(--pdl-soft); color: var(--pdl-muted); }
.article .pdl-result-tags li.is-rose { background: var(--pdl-rose-soft); color: #9a5b52; }
.article .pdl-result-tags li.is-rose::before { color: var(--pdl-rose); }
.article .pdl-result-tags li.pdl-i::before { width: 1em; height: 1em; margin-right: .3em; }
.pdl-finder-empty { text-align: center; color: var(--pdl-muted); padding: 2em 0; }

@media screen and (max-width: 834px) {
	.navi-in > ul > li > a .item-label::before { display: none; }
	.pdl-finder-form { padding: 1.1em 1em .8em; }
	.pdl-finder-row > label:not(.pdl-chip):not(.pdl-finder-sort) { flex: 1 1 100%; }
	.pdl-results { grid-template-columns: 1fr; }
	.pdl-hero-search { padding-left: .9em; }
	.pdl-hero-search button { padding: .6em 1.1em; }
}

/* 条件を選ぶ前：一覧は出さず、エリアとチェーンの入口を出す */
.pdl-finder.is-idle .pdl-results,
.pdl-finder.is-idle .pdl-finder-bar { display: none; }
.pdl-finder:not(.is-idle) .pdl-finder-start { display: none; }
.pdl-finder-start { background: var(--pdl-surface); border: 1px solid var(--pdl-line); border-radius: var(--pdl-radius); padding: 1.4em 1.4em .6em; }
.article .pdl-finder-start-lead { margin: 0 0 1.2em; color: var(--pdl-muted); font-size: .92em; }
.pdl-finder-pick { margin-bottom: 1.1em; }
.article .pdl-finder-pick-label { margin: 0 0 .6em; font-family: var(--pdl-serif); font-weight: 600; color: var(--pdl-heading); }
.article h2.pdl-finder-pick-label { padding: 0; border: 0; background: none; font-size: 1em; } /* 0.14.3 から h2。Cocoon の h2 の飾りを消して元の見た目のまま */
.pdl-finder-pick-group { display: flex; flex-wrap: wrap; align-items: center; gap: .45em; margin-bottom: .6em; }
.pdl-finder-pref { font-size: 12px; color: var(--pdl-muted); letter-spacing: .06em; min-width: 4em; }
.pdl-pick { display: inline-flex; align-items: center; gap: .45em; border: 1px solid var(--pdl-line); background: #fff; color: var(--pdl-text); border-radius: 999px; padding: .4em .95em; font-size: .88em; font-family: var(--pdl-sans); cursor: pointer; transition: all .15s ease; }
.pdl-pick span { font-size: 11px; color: var(--pdl-muted); }
a.pdl-pick { text-decoration: none; }
.pdl-pref-acc { border-top: 1px solid var(--pdl-line); }
.pdl-pref-acc:last-of-type { border-bottom: 1px solid var(--pdl-line); margin-bottom: .6em; }
.pdl-pref-acc > summary { list-style: none; cursor: pointer; display: flex; align-items: baseline; gap: .7em; padding: .8em .3em; font-family: var(--pdl-serif); font-weight: 600; color: var(--pdl-heading); }
.pdl-pref-acc > summary::-webkit-details-marker { display: none; }
.pdl-pref-acc > summary span { font-family: var(--pdl-sans); font-weight: 400; font-size: 12px; color: var(--pdl-muted); }
.pdl-pref-acc > summary::after { content: ''; align-self: center; margin-left: auto; width: .5em; height: .5em; border-right: 1.5px solid var(--pdl-muted); border-bottom: 1.5px solid var(--pdl-muted); transform: rotate(45deg) translateY(-25%); transition: transform .15s ease; }
.pdl-pref-acc[open] > summary::after { transform: rotate(-135deg); }
.pdl-pref-acc > summary:hover { color: var(--pdl-accent-2); }
.pdl-pref-body { padding: 0 .3em .9em; }
.pdl-region { display: flex; flex-wrap: wrap; align-items: center; gap: .45em; margin-bottom: .8em; }
.article .pdl-region-h { flex: 0 0 100%; margin: 0; font-size: 12px; color: var(--pdl-muted); letter-spacing: .06em; }
.pdl-pick:hover { border-color: var(--pdl-accent); background: var(--pdl-accent-soft); color: var(--pdl-accent-2); }
@media screen and (max-width: 834px) {
	.pdl-finder-start { padding: 1.1em 1em .4em; }
	.pdl-finder-pref { flex: 1 1 100%; }
}

/* 口コミの章の注記 */
.article .pdl-note-list { margin: .8em 0 0; padding-left: 1.2em; font-size: .84em; color: var(--pdl-muted); line-height: 1.8; }
.article .pdl-note-list li { margin: .2em 0; }

/* サービスと設備 */
.pdl-muted { color: var(--pdl-muted); font-size: .88em; }
.article .pdl-svc-lead { margin: 1.4em 0 .4em; font-family: var(--pdl-serif); font-weight: 600; color: var(--pdl-heading); }
.article .pdl-svc-features { margin: 0 0 1em; padding-left: 1.2em; }
.article .pdl-svc-features li { margin: .25em 0; }
.article .pdl-source { font-size: .8em; color: var(--pdl-muted); line-height: 1.8; margin-top: .8em; }
.pdl-service-table td { font-size: .9em; line-height: 1.7; min-width: 9em; }


/* ---------- 地図 ---------- */
.pdl-map { height: 420px; border-radius: var(--pdl-radius); border: 1px solid var(--pdl-line); overflow: hidden; margin: 1.2em 0; z-index: 0; background: var(--pdl-soft); }
.pdl-map--single { height: 280px; }
.pdl-map .leaflet-control-attribution { font-size: 10px; }
.pdl-pop { font-family: var(--pdl-sans); min-width: 160px; }
.pdl-pop-chain { margin: 0 !important; font-size: 11px; letter-spacing: .08em; color: var(--pdl-accent-2); }
.pdl-pop-name { display: block; margin: .15em 0 .3em; font-family: var(--pdl-serif); font-weight: 600; font-size: 14px; color: var(--pdl-heading) !important; text-decoration: none; }
.pdl-pop-price { margin: 0 !important; font-size: 12px; color: var(--pdl-muted); }
.pdl-route { margin: -.4em 0 1.4em; text-align: center; font-size: .85em; }
.pdl-route-link { color: var(--pdl-muted); text-underline-offset: .2em; }

/* 店舗検索：リスト表示／地図表示 */
.pdl-finder-tabs { display: grid; grid-template-columns: 1fr 1fr; background: var(--pdl-soft); border-radius: 999px; padding: 4px; margin: 0 0 1em; }
.pdl-finder-tabs button { border: 0; background: transparent; border-radius: 999px; padding: .65em 1em; font-family: var(--pdl-sans); font-size: .92em; color: var(--pdl-muted); cursor: pointer; letter-spacing: .06em; }
.pdl-finder-tabs button.is-active { background: var(--pdl-surface); color: var(--pdl-heading); font-weight: 600; box-shadow: var(--pdl-shadow); }
.pdl-finder.is-map .pdl-results,
.pdl-finder.is-map .pdl-finder-start,
.pdl-finder.is-map .pdl-finder-empty { display: none; }
.pdl-finder-map { height: 520px; margin-top: 0; }

/* エリアページ */
.tax-area #list > .entry-card-wrap,
.tax-area #list > .a-wrap,
.tax-area .pagination,
.tax-area .pagination-next,
.tax-city #list > .entry-card-wrap,
.tax-city #list > .a-wrap,
.tax-city .pagination,
.tax-city .pagination-next { display: none; }
.pdl-area-lead { margin: 0 0 1em; }
.pdl-area-more { text-align: right; font-size: .9em; }

@media screen and (max-width: 834px) {
	.pdl-map { height: 340px; }
	.pdl-map--single { height: 220px; }
	.pdl-finder-map { height: 420px; }
}

/* 公式サイトのトップ（引用） */
.pdl-fv { margin: 1.2em 0 .6em; border: 1px solid var(--pdl-line); border-radius: var(--pdl-radius); overflow: hidden; background: var(--pdl-surface); }
.pdl-fv img { display: block; width: 100%; height: auto; }
.article .pdl-fv figcaption { padding: .6em 1em; font-size: .78em; color: var(--pdl-muted); border-top: 1px solid var(--pdl-line); text-align: left; }


/* サムネはSNSの共有・カード用。データのページでは本文の上に大きく出さない（料金が下に押し出されるため） */
.single-chain .eye-catch-wrap,
.page-id-9 .eye-catch-wrap,
.page-id-330 .eye-catch-wrap,
.page-id-234 .eye-catch-wrap { display: none; }

/* ---------- 店舗検索：横長のリスト（2026-10-03） ---------- */
.pdl-results { display: block; background: var(--pdl-surface); border: 1px solid var(--pdl-line); border-radius: var(--pdl-radius); padding: 0 1.6em; box-shadow: var(--pdl-shadow); }
.pdl-result {
	display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "head data" "tags data";
	gap: .5em 2em; align-items: start;
	background: none; border: 0; border-bottom: 1px solid var(--pdl-line); border-radius: 0; box-shadow: none; padding: 1.4em 0;
}
.pdl-result:last-of-type { border-bottom: 0; }
.pdl-result-head { grid-area: head; }
.article .pdl-result-tags { grid-area: tags; margin: .2em 0 0; }
.pdl-result-data {
	grid-area: data; grid-template-columns: auto auto auto; gap: .2em 1.6em; margin: 0; padding: 0; border-top: 0;
	align-self: center; text-align: right;
}
.pdl-result-data div { align-items: flex-end; }
.pdl-result-data dd.pdl-result-main { font-size: 1.6em; }
.article .pdl-result-name { font-size: 1.35em; margin: .1em 0 .25em; }
.pdl-result:hover .pdl-result-name a { color: var(--pdl-accent-2); }

@media screen and (max-width: 834px) {
	.pdl-results { padding: 0 1em; }
	.pdl-result { grid-template-columns: 1fr; grid-template-areas: "head" "data" "tags"; gap: .7em; padding: 1.2em 0; }
	.pdl-result-data { text-align: left; grid-template-columns: 1.3fr 1fr 1fr; gap: .2em .8em; border-top: 1px solid var(--pdl-line); padding-top: .7em; }
	.pdl-result-data div { align-items: flex-start; }
	.pdl-result-data dd.pdl-result-main { font-size: 1.35em; }
}

/* PR表記：1行・小さく（2026-10-03 林さん） */
.article .pdl-pr { background: none; border: 0; padding: 0; margin: 0 0 .8em; font-size: 12px; line-height: 1.6; color: var(--pdl-muted); text-align: right; }

/* 予約ボタンの下の「初めての方へ」 */
.article .pdl-first-time { margin: .9em 0 0; font-size: .88em; text-align: center; }
.pdl-first-time a { color: var(--pdl-accent-2); text-underline-offset: .2em; }
.pdl-first-time a::before { content: ""; display: inline-block; width: 1.05em; height: 1.05em; margin-right: .35em; vertical-align: -.17em; background-color: currentColor; -webkit-mask: var(--pdl-i-leaf) center / contain no-repeat; mask: var(--pdl-i-leaf) center / contain no-repeat; }

/* こんな人に向いている */
.pdl-fit { display: grid; grid-template-columns: 1.15fr 1fr; gap: 1em; margin: 1.4em 0; }
.pdl-fit-col { background: var(--pdl-surface); border: 1px solid var(--pdl-line); border-radius: var(--pdl-radius); padding: 1.2em 1.3em; }
.pdl-fit-col--good { background: var(--pdl-accent-soft); border-color: transparent; }
.article .pdl-fit-title { margin: 0 0 .7em; font-family: var(--pdl-serif); font-weight: 600; color: var(--pdl-heading); }
.pdl-fit-col--bad .pdl-fit-title { color: var(--pdl-muted); }
.article .pdl-fit ul { list-style: none; margin: 0; padding: 0; }
.article .pdl-fit li { margin: 0 0 .75em; padding-left: 1em; position: relative; line-height: 1.6; }
.pdl-fit li::before { content: ""; position: absolute; left: 0; top: .6em; width: .45em; height: .45em; border-radius: 50%; background: var(--pdl-accent); }
.pdl-fit-col--bad li::before { background: var(--pdl-line); }
.pdl-fit-head { display: block; font-weight: 600; color: var(--pdl-heading); }
.pdl-fit-why { display: block; font-size: .82em; color: var(--pdl-muted); }
.article .pdl-fit-note { grid-column: 1 / -1; margin: 0; font-size: .75em; color: var(--pdl-muted); }
.article .pdl-card-fit { margin: .2em 0 .6em; font-size: .86em; font-weight: 600; color: var(--pdl-accent-2); }
@media screen and (max-width: 834px) { .pdl-fit { grid-template-columns: 1fr; } }

/* ---------- 通い方シミュレーター ---------- */
.pdl-sim { background: var(--pdl-surface); border: 1px solid var(--pdl-line); border-radius: var(--pdl-radius); box-shadow: var(--pdl-shadow); padding: 1.4em 1.5em 1em; margin: 1.2em 0 1.6em; }
.pdl-sim-form { display: grid; grid-template-columns: 1fr auto; gap: 1em 1.6em; align-items: end; }
.pdl-sim-field { display: flex; flex-direction: column; gap: .4em; }
.pdl-sim-range { display: flex; align-items: center; gap: 1em; }
.pdl-sim-range input[type="range"] { flex: 1; accent-color: var(--pdl-accent); }
.pdl-sim-value { min-width: 4.2em; font-family: var(--pdl-serif); font-size: 1.35em; font-weight: 600; color: var(--pdl-heading); }
.pdl-sim select { border: 1px solid var(--pdl-line); border-radius: 10px; background: var(--pdl-bg); padding: .6em .9em; font-size: .95em; }
.article .pdl-sim-lead { margin: 1.1em 0 .8em; padding: .9em 1.1em; background: var(--pdl-accent-soft); border-radius: 12px; line-height: 1.8; }
.pdl-sim-lead strong { color: var(--pdl-accent-2); }
.article .pdl-sim-list { list-style: none; margin: 0; padding: 0; }
.article .pdl-sim-item { display: grid; grid-template-columns: 2.2em minmax(0, 1fr) auto; gap: .4em 1em; align-items: center; padding: .85em 0; border-bottom: 1px solid var(--pdl-line); margin: 0; }
.pdl-sim-item:last-child { border-bottom: 0; }
.pdl-sim-rank { width: 1.9em; height: 1.9em; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--pdl-line); font-family: var(--pdl-latin); font-size: .9em; color: var(--pdl-muted); }
.pdl-sim-item.is-top .pdl-sim-rank { background: var(--pdl-accent); border-color: var(--pdl-accent); color: #fff; }
.pdl-sim-item.is-none { opacity: .6; }
.pdl-sim-main { display: flex; flex-direction: column; }
.pdl-sim-name { font-weight: 600; color: var(--pdl-heading); text-decoration: none; }
.pdl-sim-plan { font-size: .8em; color: var(--pdl-muted); }
.pdl-sim-data { display: grid; grid-template-columns: repeat(3, auto); gap: 0 1.4em; margin: 0; text-align: right; }
.pdl-sim-data div { display: flex; flex-direction: column; }
.pdl-sim-data dt { font-size: 10.5px; color: var(--pdl-muted); font-weight: 400; }
.pdl-sim-data dd { margin: 0; font-weight: 500; white-space: nowrap; }
.pdl-sim-data dd.pdl-sim-per { font-family: var(--pdl-serif); font-size: 1.25em; font-weight: 600; color: var(--pdl-accent-2); }
@media screen and (max-width: 834px) {
	.pdl-sim { padding: 1.1em 1em .8em; }
	.pdl-sim-form { grid-template-columns: 1fr; }
	.article .pdl-sim-item { grid-template-columns: 2.2em minmax(0, 1fr); }
	.pdl-sim-data { grid-column: 2; text-align: left; gap: 0 1em; }
}

/* ---------- 体験アンケート ---------- */
.pdl-survey-q { margin: 1em 0 1.2em; }
.article .pdl-survey-title { margin: 1.2em 0 .5em; font-family: var(--pdl-serif); font-weight: 600; color: var(--pdl-heading); }
.article .pdl-survey-bars { list-style: none; margin: 0; padding: 0; }
.article .pdl-survey-bars li { display: grid; grid-template-columns: minmax(8em, 14em) 1fr 7.5em; gap: .8em; align-items: center; margin: .35em 0; font-size: .9em; }
.pdl-survey-bar { height: .7em; background: var(--pdl-soft); border-radius: 999px; overflow: hidden; }
.pdl-survey-bar span { display: block; height: 100%; background: var(--pdl-accent); border-radius: 999px; }
.pdl-survey-num { text-align: right; color: var(--pdl-muted); white-space: nowrap; }
.pdl-survey-quotes { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: .8em; }
.article .pdl-survey-quote { margin: 0; background: var(--pdl-surface); border: 1px solid var(--pdl-line); border-radius: 12px; padding: .9em 1.1em; font-size: .9em; }
.pdl-survey-quote cite { display: block; margin-top: .5em; font-size: .8em; color: var(--pdl-muted); font-style: normal; }
/* 利用者の口コミ（星・件数） */
.pdl-stars { position: relative; display: inline-block; font-size: 1em; line-height: 1; letter-spacing: .08em; color: var(--pdl-line); vertical-align: -.08em; }
.pdl-stars::before { content: "★★★★★"; }
.pdl-stars span { position: absolute; inset: 0 auto 0 0; overflow: hidden; white-space: nowrap; color: #d8a24a; }
.pdl-stars span::before { content: "★★★★★"; }
.article .pdl-survey-badge { margin: .2em 0 1.2em; }
.article .pdl-survey-badge a { display: inline-flex; align-items: center; gap: .5em; padding: .45em 1em; border: 1px solid var(--pdl-line); border-radius: 999px; background: var(--pdl-surface); text-decoration: none; font-size: .92em; }
.pdl-survey-badge-avg { font-weight: 700; color: var(--pdl-heading); }
.pdl-survey-badge-n { color: var(--pdl-accent-2); text-decoration: underline; text-underline-offset: .2em; }
.pdl-survey-head { display: flex; align-items: center; gap: 1em; margin-bottom: 1em; }
.article .pdl-survey-count { margin: 0; white-space: nowrap; font-weight: 600; color: var(--pdl-heading); }
.pdl-survey-count-num { font-family: var(--pdl-latin); font-size: 2.6em; line-height: 1; margin-right: .1em; }
.article .pdl-survey-count-text { margin: 0; font-size: .9em; color: var(--pdl-muted); }
.article .pdl-joken .pdl-survey > .pdl-survey-count-text { margin-bottom: 1em; }
.pdl-survey-stars { display: grid; grid-template-columns: minmax(200px, 1fr) 1.4fr; gap: 1.2em 2em; align-items: center; margin: 1em 0 1.4em; padding: 1.2em 1.4em; background: var(--pdl-surface); border: 1px solid var(--pdl-line); border-radius: 12px; }
.article .pdl-survey-overall p { margin: 0; }
.pdl-survey-overall-label { font-size: .85em; color: var(--pdl-muted); }
.pdl-survey-overall-avg { font-family: var(--pdl-latin); font-size: 2.6em; font-weight: 600; line-height: 1.1; color: var(--pdl-heading); }
.pdl-survey-overall .pdl-stars { font-size: 1.3em; }
.article .pdl-survey-dist { list-style: none; margin: .8em 0 0; padding: 0; }
.article .pdl-survey-dist li { display: grid; grid-template-columns: 2.4em 1fr 3em; gap: .5em; align-items: center; margin: .2em 0; font-size: .8em; color: var(--pdl-muted); }
.pdl-survey-dist .pdl-survey-bar span { background: #d8a24a; }
.article .pdl-survey-items { margin: 0; }
.pdl-survey-items div { display: flex; justify-content: space-between; align-items: center; gap: 1em; padding: .7em 0; border-bottom: 1px solid var(--pdl-line); }
.pdl-survey-items div:last-child { border-bottom: 0; }
.article .pdl-survey-items dt { font-weight: 600; font-size: .92em; }
.article .pdl-survey-items dd { margin: 0; white-space: nowrap; }
.pdl-survey-items-avg { margin-left: .4em; font-weight: 700; color: var(--pdl-heading); }
.pdl-survey-items-n { font-size: .8em; color: var(--pdl-muted); }
.pdl-survey-about { margin-top: 1.4em; padding: 1em 1.2em; background: var(--pdl-accent-soft); border-radius: 12px; font-size: .85em; }
.article .pdl-survey-about-title { margin: 0 0 .4em; font-weight: 700; color: var(--pdl-accent-2); }
.article .pdl-survey-about ul { margin: 0; padding-left: 1.2em; }
.article .pdl-survey-about li { margin: .2em 0; }
.article .pdl-card-survey { margin: .2em 0 .4em; font-size: .86em; }
/* トップの口コミ一覧 */
.article .pdl-survey-top-total { margin: 0 0 .8em; font-weight: 600; color: var(--pdl-heading); }
.pdl-survey-top-total small { margin-left: .8em; font-size: .75em; font-weight: 400; color: var(--pdl-muted); }
.article .pdl-survey-top-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: .6em; margin: 0; padding: 0; list-style: none; }
.article .pdl-survey-top-list li { margin: 0; }
.article .pdl-survey-top-list a { display: grid; grid-template-columns: 1fr auto auto; gap: .8em; align-items: center; padding: .8em 1em; background: #fff; border: 1px solid var(--pdl-line); border-radius: 12px; text-decoration: none; color: var(--pdl-text); }
.article .pdl-survey-top-list a:hover { border-color: var(--pdl-accent); }
.pdl-survey-top-name { font-weight: 700; color: var(--pdl-heading); }
.pdl-survey-top-avg { display: inline-flex; align-items: center; gap: .3em; font-weight: 700; font-size: .9em; }
.pdl-survey-top-n { font-size: .85em; color: var(--pdl-accent-2); white-space: nowrap; }
@media screen and (max-width: 834px) { .pdl-survey-stars { grid-template-columns: 1fr; } }
@media screen and (max-width: 834px) { .article .pdl-survey-bars li { grid-template-columns: 1fr 6.5em; } .pdl-survey-bars .pdl-survey-bar { grid-column: 1 / -1; grid-row: 2; } }

/* ★と特徴バッジ（2026-10-03） */
.pdl-stars { position: relative; display: inline-block; font-size: 15px; line-height: 1; letter-spacing: 1px; color: #e3ddd2; vertical-align: -1px; }
.pdl-stars::before { content: "★★★★★"; }
.pdl-stars-fill { position: absolute; top: 0; left: 0; overflow: hidden; white-space: nowrap; color: #d4a24c; }
.pdl-stars-fill::before { content: "★★★★★"; }
.article .pdl-result-rating { display: flex; align-items: center; gap: .45em; margin: 0 0 .35em; font-size: .9em; }
.pdl-result-rating-num { font-weight: 700; color: var(--pdl-heading); }
.pdl-result-rating-count { font-size: .82em; color: var(--pdl-muted); }
.article .pdl-result-tags li.is-badge { background: #fbf3e4; color: #8a6420; font-weight: 600; }
.article .pdl-result-tags li.is-badge::before { color: #c58f32; }
.pdl-area-summary { margin-bottom: 1.2em; }

/* 店舗のお知らせ（体験の受付停止など） */
.article .pdl-notice { margin: 1em 0 .6em; padding: .8em 1.1em; border-radius: 12px; background: var(--pdl-rose-soft); color: #8d4f46; font-size: .9em; font-weight: 600; }
.pdl-notice a { color: inherit; }

/* パーソナル（1対1）の印と、料金表の別枠 */
.pdl-card-type { margin: .2em 0 .6em; font-size: .78em; font-weight: 600; color: var(--pdl-accent-2); }
.pdl-price-personal-head { margin: 2em 0 .6em; font-weight: 700; }

/* エリア×条件のページへのリンク */
.pdl-cond-nav { margin: 1.6em 0 .4em; }
.pdl-cond-nav-title { margin: 0 0 .6em; font-weight: 700; font-size: 1.1em; } /* 0.14.3 から h2。下の「近くのエリア」の見出しとそろえる */
.pdl-cond-nav ul { display: flex; flex-wrap: wrap; gap: .5em; margin: 0; padding: 0; list-style: none; }
.pdl-cond-nav li a { display: inline-block; padding: .4em .9em; border: 1px solid var(--pdl-line, #e3dcd3); border-radius: 999px; font-size: .88em; text-decoration: none; }
.pdl-cond-nav li a:hover { background: var(--pdl-rose-soft, #f8ece9); }
/* 条件のページから全国のまとめページ（/joken/{条件}/）へ（0.14.9.11） */
.pdl-cond-joken { margin: 1.2em 0 0; font-weight: 600; }
/* チェーンページ冒頭の総額と退会の条件（0.14.9.12） */
.pdl-lead { margin: 0 0 1.2em; line-height: 1.9; }
.pdl-lead a { font-size: .9em; white-space: nowrap; }

/* エリアページ：安い3店舗とよくある質問（2026-10-09） */
.article h3.pdl-area-top3-h, .article h3.pdl-area-faq-q, .article h3.pdl-area-type-h { font-size: 1.02em; margin: 1.4em 0 .4em; padding: .3em 0 .3em .7em; border: 0; border-left: 3px solid var(--pdl-accent); background: none; }
.pdl-area-top3-p, .pdl-area-faq-a { margin: 0 0 .8em; line-height: 1.8; }
.pdl-updated { margin: .2em 0 .6em; font-size: .85em; color: #666; text-align: right; }

/* 0.14.7 条件ページへのリンク一覧（県ページ・/joken/・店舗ページ） */
.pdl-cond-list-h { margin: 1.4em 0 .5em; font-size: 1em; font-weight: 700; }
.pdl-cond-list { display: flex; flex-wrap: wrap; gap: .4em .5em; margin: 0 0 .6em; padding: 0; list-style: none; }
.pdl-cond-list li a { display: inline-block; padding: .3em .8em; border: 1px solid var(--pdl-line, #e3dcd3); border-radius: 999px; font-size: .86em; text-decoration: none; }
.pdl-cond-list li a:hover { background: var(--pdl-rose-soft, #f8ece9); }
.pdl-top-cond-lists { margin-top: 1.6em; }
.pdl-top-cond-more { margin: .8em 0 0; font-size: .9em; }
.pdl-line-group { margin: .9em 0 .4em; font-weight: 700; font-size: .9em; color: var(--pdl-ink-sub, #6b625a); }
