.rental-plan { color: #173541; }
.rental-plan .planning-heading { max-width: 820px; margin-bottom: 26px; }
.rental-plan .planning-heading h2 { margin: 0 0 14px; font-size: clamp(27px, 3.2vw, 42px); line-height: 1.16; letter-spacing: -.7px; }
.rental-plan p { line-height: 1.8; }
.planning-table-wrap { overflow-x: auto; border: 1px solid #d4deda; border-radius: 8px; }
.planning-table { width: 100%; min-width: 0; table-layout: fixed; border-collapse: collapse; background: #fff; text-align: left; font-size: 16px; line-height: 1.65; }
.planning-table caption { text-align: left; padding: 18px 22px; font-weight: 700; background: #f1f3ed; color: #173541; }
.planning-table th, .planning-table td { padding: 18px 22px; border-bottom: 1px solid #e0e7e2; vertical-align: top; white-space: normal; overflow-wrap: break-word; }
.planning-table thead th { background: #f1f3ed; color: #173541; font-size: 14px; }
.planning-table tbody th { width: 24%; }
.planning-table tr:last-child > * { border-bottom: 0; }
.planning-table td { width: 38%; }
.planning-note { padding: 17px 22px; background: #f1f3ed; border-left: 3px solid #c4a35a; margin: 20px 0; }
.planning-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; margin-top: 26px; }
.planning-actions a { white-space: normal; }
.planning-case { margin-top: 34px; padding: 26px; border: 1px solid #d4deda; border-radius: 8px; }
.planning-case h3 { margin: 0 0 12px; font-size: 24px; line-height: 1.3; }
.planning-case p { margin: 0 0 14px; }
.district-example { display: grid; grid-template-columns: 1fr 1.15fr; align-items: center; gap: 36px; margin-top: 28px; }
.district-example figure { margin: 0; }
.district-example img { display: block; width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; border-radius: 8px; }
.district-example figcaption { font-size: 13px; line-height: 1.6; margin-top: 12px; color: #526871; }
.district-example h3 { font-size: 25px; line-height: 1.3; margin-top: 0; }
.rental-shortcuts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 22px; }
.rental-shortcuts a { display: block; padding: 23px; border: 1px solid #d4deda; border-radius: 8px; text-decoration: none; color: #173541; background: #f7f7f1; }
.rental-shortcuts strong, .rental-shortcuts span { display: block; }
.rental-shortcuts strong { font-size: 20px; margin-bottom: 10px; }
.rental-shortcuts span { font-size: 15px; line-height: 1.7; }
.rental-shortcuts a:hover { border-color: #ae8b42; background: #f1f3ed; }
.review-invitation { display: grid; grid-template-columns: 1fr 180px; align-items: center; gap: 32px; border-top: 1px solid #d4deda; }
.review-invitation img { display: block; width: 180px; height: 180px; }
.review-invitation h2 { font-size: clamp(28px, 3.2vw, 40px); margin: 0 0 18px; line-height: 1.2; }
.review-invitation p { max-width: 700px; line-height: 1.8; }
.review-download { font-size: 14px; }
@media (max-width: 760px) {
 .planning-table-wrap { overflow: visible; border: 0; }
 .planning-table, .planning-table tbody, .planning-table tr, .planning-table th, .planning-table td { display: block; width: auto; }
 .planning-table thead { display: none; }
 .planning-table caption { display: block; border: 1px solid #d4deda; border-bottom: 0; border-radius: 8px 8px 0 0; }
 .planning-table tbody { border: 1px solid #d4deda; border-radius: 0 0 8px 8px; overflow: hidden; }
 .planning-table tr { padding: 18px; border-bottom: 1px solid #d4deda; }
 .planning-table tr:last-child { border-bottom: 0; }
 .planning-table th, .planning-table td { padding: 0; border: 0; }
 .planning-table tbody th { margin-bottom: 12px; font-size: 18px; }
 .planning-table tbody th, .planning-table td { width: auto; }
 .planning-table td + td { margin-top: 12px; }
 .planning-table td::before { display: block; content: attr(data-label); font-size: 12px; font-weight: 700; color: #526871; }
 .district-example, .rental-shortcuts { grid-template-columns: 1fr; }
 .district-example { gap: 22px; }
 .planning-case { padding: 20px; }
 .review-invitation { grid-template-columns: 1fr; gap: 18px; }
 .review-invitation img { width: 150px; height: 150px; }
}
