/* RETOUR 駅データベース
 * すべて .rs 配下に限定。テーマ(Cocoon)の既存スタイルは上書きしない。
 * 色は既存トップページ（#c9822e / #eadfce / #fffdf9）に合わせる。
 */
.rs {
	--rs-accent: #c9822e;
	--rs-accent-dark: #a5661d;
	--rs-ink: #333;
	--rs-sub: #6b645c;
	--rs-line: #eadfce;
	--rs-paper: #fffdf9;
	--rs-soft: #f7f2ea;
	color: var(--rs-ink);
}

.rs a { color: inherit; }

/* パンくず */
.rs-crumb { font-size: .82em; color: var(--rs-sub); margin: 0 0 1.2em; }
.rs-crumb ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .2em; }
.rs-crumb li { margin: 0; padding: 0; }
.rs-crumb li + li::before { content: "›"; margin: 0 .45em 0 .25em; color: #b8ada0; }
.rs-crumb a { color: var(--rs-sub); text-decoration: none; }
.rs-crumb a:hover { text-decoration: underline; }

.rs-lead { font-size: 1.05em; line-height: 1.9; margin: 0 0 1.2em; }

/* 基本情報 */
.rs-dl { margin: 0 0 1.5em; border-top: 1px solid var(--rs-line); }
.rs-dl > div { display: flex; border-bottom: 1px solid var(--rs-line); padding: .7em 0; }
.rs-dl dt { flex: 0 0 9em; font-weight: bold; color: var(--rs-sub); font-size: .92em; }
.rs-dl dd { margin: 0; flex: 1; }

/* ページ内目次 */
.rs-toc { margin: 0 0 2em; }
.rs-toc ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4em .6em; }
.rs-toc li { margin: 0; padding: 0; }
.rs-toc a { display: inline-block; font-size: .88em; padding: .35em .8em; border: 1px solid var(--rs-line); border-radius: 3px; text-decoration: none; background: #fff; }
.rs-toc a:hover { border-color: var(--rs-accent); color: var(--rs-accent-dark); }

/* セクション（テーマの h2 装飾をそのまま使うため h2 には触らない） */
.rs-sec { margin: 2.4em 0; scroll-margin-top: 80px; }
.rs-sec h3 { margin-top: 1.4em; }

/* 家賃相場 */
.rs table.rs-rent { width: 100%; border-collapse: collapse; margin: 0 0 .6em; font-size: 1em; }
.rs table.rs-rent th, .rs table.rs-rent td { border: none; border-bottom: 1px solid var(--rs-line); padding: .8em .6em; text-align: left; vertical-align: middle; background: transparent; }
.rs table.rs-rent th { width: 9em; font-weight: bold; white-space: nowrap; }
.rs .rs-yen { font-size: 1.15em; font-weight: bold; margin-right: .6em; }
.rs .rs-sub { font-size: .85em; color: var(--rs-sub); margin-right: .8em; }
.rs .rs-more { font-size: .88em; color: var(--rs-accent-dark); text-decoration: underline; text-underline-offset: 3px; }
.rs .rs-note { font-size: .8em; color: var(--rs-sub); line-height: 1.7; margin: .4em 0; }
.rs .rs-note p { margin: 0 0 .3em; }

/* 駅×間取りの表 */
.rs-matrix-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 0 0 1em; }
.rs table.rs-matrix { width: 100%; min-width: 560px; border-collapse: collapse; font-size: .95em; }
.rs table.rs-matrix th, .rs table.rs-matrix td { border: none; border-bottom: 1px solid var(--rs-line); padding: .7em .5em; text-align: right; background: transparent; white-space: nowrap; }
.rs table.rs-matrix thead th { font-size: .85em; color: var(--rs-sub); font-weight: normal; border-bottom: 2px solid var(--rs-line); }
.rs table.rs-matrix th[scope="row"], .rs table.rs-matrix thead th:first-child { text-align: left; }
.rs table.rs-matrix th[scope="row"] a { color: var(--rs-accent-dark); font-weight: bold; }

/* データで見る駅周辺 */
.rs table.rs-facts th { width: 11em; }
.rs .rs-facts .rs-yen { font-size: 1.05em; }
.rs-shops { margin: 0 0 .6em; padding-left: 1.2em; }
.rs-shops li { margin: .3em 0; }
.rs-shops .rs-sub { margin-left: .6em; }

/* スタッフコメント */
.rs-staff { display: flex; gap: 1em; align-items: flex-start; background: var(--rs-paper); border: 1px solid var(--rs-line); border-radius: 4px; padding: 1.1em 1.2em; }
.rs-staff img { width: 72px; height: 84px; object-fit: cover; object-position: center 18%; border-radius: 3px; flex: 0 0 auto; }
.rs-staff-name { font-weight: bold; margin: 0 0 .3em; }
.rs-staff p:last-child { margin-bottom: 0; }

/* 子ページ・関連記事 */
.rs-pages { margin: 0; padding-left: 1.2em; }
.rs-pages li { margin: .3em 0; }
.rs-posts { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--rs-line); }
.rs-posts li { margin: 0; padding: 0; border-bottom: 1px solid var(--rs-line); }
.rs-posts a { display: flex; align-items: center; gap: .9em; padding: .8em 0; text-decoration: none; }
.rs-posts a:hover .rs-posts-t { text-decoration: underline; }
.rs-posts-img img { width: 96px; height: 64px; object-fit: cover; border-radius: 3px; display: block; }
.rs-posts-t { flex: 1; font-weight: bold; line-height: 1.5; }
.rs-posts time { font-size: .8em; color: var(--rs-sub); white-space: nowrap; }

/* 近隣駅 */
.rs-neighbors-pn { display: flex; justify-content: space-between; gap: 1em; flex-wrap: wrap; margin: 0 0 .8em; }
.rs-neighbors-pn a { color: var(--rs-accent-dark); font-weight: bold; }
.rs-line-list { font-size: .92em; line-height: 2; margin: 0; }
.rs-line-list > span { color: var(--rs-sub); margin-right: .4em; }
.rs-line-list a, .rs-line-list strong { margin-right: .9em; }

/* 問い合わせ導線 */
.rs-cta { display: flex; gap: 1.2em; align-items: flex-start; margin: 2.6em 0; padding: 1.4em 1.4em 1.2em; background: var(--rs-paper); border: 1px solid var(--rs-line); border-left: 4px solid var(--rs-accent); border-radius: 4px; }
.rs-cta-img { width: 88px; height: 104px; object-fit: cover; object-position: center 18%; border-radius: 3px; flex: 0 0 auto; }
.rs-cta-body { flex: 1; min-width: 0; }
.rs-cta-lead { font-size: .85em; color: var(--rs-sub); margin: 0 0 .2em; }
.rs-cta-title { font-size: 1.12em; font-weight: bold; margin: 0 0 .4em; }
.rs-cta-text { font-size: .95em; line-height: 1.8; margin: 0 0 1em; }
.rs-cta-btn { margin: 0; }
.rs-cta-btn a { display: inline-block; padding: .8em 1.6em; background: var(--rs-accent); color: #fff; border-radius: 4px; text-decoration: none; font-weight: bold; }
.rs-cta-btn a:hover { background: var(--rs-accent-dark); color: #fff; }

/* ブログ記事末尾 */
.rs-postlinks { margin: 2.4em 0 0; padding: 1.1em 1.3em; border: 1px solid var(--rs-line); border-radius: 4px; background: #fff; }
.rs-postlinks-t { font-weight: bold; margin: 0 0 .5em; }
.rs-postlinks ul { margin: 0; padding-left: 1.2em; }
.rs-postlinks li { margin: .35em 0; }
.rs-postlinks a { color: var(--rs-accent-dark); }

/* 駅一覧（写真が主役） */
.rs-stations { list-style: none; margin: 0 0 1.5em; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 1.2em 1em; }
.rs-stations li { margin: 0; padding: 0; }
.rs-stations a { display: block; text-decoration: none; }
.rs-stations-img { display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 3px; background: var(--rs-soft); margin-bottom: .5em; }
.rs-stations-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: opacity .2s; }
.rs-stations a:hover img { opacity: .88; }
.rs-stations-name { display: block; font-weight: bold; font-size: 1.08em; }
.rs-stations a:hover .rs-stations-name { text-decoration: underline; }
.rs-stations-loc, .rs-stations-rent { display: block; font-size: .85em; color: var(--rs-sub); }

/* 間取りから探す */
.rs-madori-row { display: flex; gap: 1em; align-items: baseline; padding: .8em 0; border-bottom: 1px solid var(--rs-line); }
.rs-madori-row:first-child { border-top: 1px solid var(--rs-line); }
.rs-madori-label { flex: 0 0 7em; font-weight: bold; margin: 0; }
.rs-madori ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .3em 1.2em; }
.rs-madori li { margin: 0; padding: 0; }
.rs-madori a { text-decoration: none; }
.rs-madori a:hover { text-decoration: underline; }
.rs-madori a span { font-size: .85em; color: var(--rs-sub); margin-left: .35em; }

/* 目的から探す */
.rs-purpose { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5em; }
.rs-purpose li { margin: 0; padding: 0; }
.rs-purpose a { display: inline-block; padding: .5em 1em; border: 1px solid var(--rs-line); border-radius: 3px; background: #fff; text-decoration: none; }
.rs-purpose a:hover { border-color: var(--rs-accent); color: var(--rs-accent-dark); }

/* Cocoon：駅ページでは投稿用の「関連記事(カテゴリ基準)」「前後の記事」は意味が無いので隠す */
.single-station .under-entry-content .related-entries,
.single-station .under-entry-content .pager-post-navi,
.single-station .date-tags,
.single-station .author-info,
.single-station .entry-content .toc { display: none; }

@media (max-width: 600px) {
	.rs-dl > div { display: block; }
	.rs-dl dt { margin-bottom: .2em; }
	.rs table.rs-rent th { width: 7em; }
	.rs .rs-yen { display: block; margin: 0; }
	.rs-cta { flex-direction: column; padding: 1.2em 1em; gap: .8em; }
	.rs-cta-img { width: 64px; height: 76px; }
	.rs-cta-btn a { display: block; text-align: center; }
	.rs-stations { grid-template-columns: repeat(2, 1fr); gap: 1em .8em; }
	.rs-madori-row { display: block; }
	.rs-madori-label { margin-bottom: .3em; }
	.rs-posts-img img { width: 72px; height: 50px; }
	.rs-posts time { display: none; }
	.rs-neighbors-pn { flex-direction: column; gap: .4em; }
}
