/* 料金表 */
.price-table-wrap { overflow-x: auto; margin-bottom: 20px; }
.price-table { width: 100%; border-collapse: collapse; min-width: 580px; }
.price-table th {
    background-color: #2b2c2d;
    color: #fff;
    font-size: 0.88rem;
    font-weight: 700;
    padding: 14px 16px;
    text-align: left;
}
.price-table th:last-child { text-align: right; }
.price-table td { padding: 16px; font-size: 0.95rem; border-bottom: 1px solid #f0ece9; }
.price-table tr:last-child td { border-bottom: none; }
.price-table tr:hover td { background-color: #fdf8f7; }
.price-table td.price-col { text-align: right; font-weight: 700; color: #111; }
.price-table td.desc-col { color: #666; font-size: 0.85rem; }
.price-table .section-row td {
    background-color: #f9f1ef;
    font-family: var(--font-serif);
    font-weight: 700;
    color: var(--color-rose-btn);
    font-size: 0.95rem;
    padding: 12px 16px;
    border-bottom: none;
}

.note-text { font-size: 0.85rem; color: #888; margin-top: 10px; }

/* お支払いについて */
.payment-section { background-color: #fdfcfb; padding: 90px 4%; }
.payment-box {
    max-width: 800px;
    margin: 0 auto;
    background: #fff;
    border: 1px solid #f2ece6;
    border-radius: 8px;
    padding: 40px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.02);
}
.payment-title {
    font-family: var(--font-serif);
    font-size: 1.35rem;
    font-weight: 700;
    color: #111;
    margin-bottom: 20px;
}
.payment-list { list-style: none; }
.payment-list li {
    padding: 10px 0;
    font-size: 0.95rem;
    color: #444;
    border-bottom: 1px dashed #e5ded8;
    display: flex;
    align-items: center;
    gap: 10px;
}
.payment-list li:last-child { border-bottom: none; }
.payment-list li::before { content: '・'; color: var(--color-rose-btn); font-weight: 700; }

@media (max-width: 992px) {
    .payment-box { padding: 30px 20px; }
}
