.legal-main { max-width: 860px; margin: 0 auto; padding: 72px 24px 96px; }
.legal-main h1 { margin: 12px 0 18px; font: 800 clamp(2rem, 5vw, 3.5rem)/1.08 Manrope, sans-serif; color: #153f39; }
.legal-main h2 { margin: 36px 0 12px; font: 700 1.25rem/1.3 Manrope, sans-serif; color: #153f39; }
.legal-main p, .legal-main li { color: #465b57; line-height: 1.75; }
.legal-main ul { padding-left: 22px; }
.legal-main .updated { color: #71817e; font-size: .9rem; }
.legal-main .notice { margin: 28px 0; padding: 20px; border-left: 4px solid #e7a73d; background: #fff8e9; border-radius: 8px; }
.legal-back { display: inline-flex; margin-bottom: 22px; color: #0d665b; font-weight: 700; text-decoration: none; }
.legal-main a { color: #0d665b; }
.article-main { max-width: 980px; }
.article-lead { font-size: 1.15rem; }
.article-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 30px 0; }
.article-summary div, .article-table { padding: 20px; background: #f4f8f7; border: 1px solid #dce9e6; border-radius: 12px; }
.article-summary strong { display: block; margin-bottom: 6px; color: #153f39; }
.article-table { width: 100%; border-collapse: separate; border-spacing: 0; overflow: hidden; }
.article-table th, .article-table td { padding: 14px; text-align: left; vertical-align: top; border-bottom: 1px solid #dce9e6; }
.article-table th { color: #153f39; background: #e9f3f1; }
.article-table tr:last-child td { border-bottom: 0; }
.checklist li { margin-bottom: 8px; }
.price-box { margin: 28px 0; padding: 22px; border: 1px solid #b8d8d1; background: #eef8f5; border-radius: 12px; }
.price-box strong { display: block; color: #0d665b; font-size: 1.35rem; }
.price-box small { display: block; margin-top: 8px; color: #62716f; }
.offer-cta { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; margin-top: 28px; }
.legal-main .button.primary { color: #fff; }
.offer-table-scroll { overflow-x: auto; }
.offer-table-scroll .article-table { min-width: 580px; }
@media (max-width: 700px) { .article-summary { grid-template-columns: 1fr; } .article-table { font-size: .9rem; } }
