/* Payment information and cancellation policy, 2026-11-13. */
.sp-pay-note,.sp-pay-panel,.sp-prepay,.sp-cancel{box-sizing:border-box;color:#244a40;font-family:"Noto Sans JP",sans-serif;line-height:1.8;letter-spacing:.02em}
.sp-pay-note{display:flex;align-items:flex-start;gap:12px;margin:24px 0 0;padding:16px 18px;border:1px solid #cddbd3;border-radius:12px;background:#f2f6f1;max-width:560px;text-align:left}
.sp-pay-note>svg{flex:0 0 24px;width:24px;height:24px;margin-top:2px}
.sp-pay-note>div{min-width:0}.sp-pay-note strong{display:block;font-size:15px;font-weight:600;line-height:1.7}
.sp-pay-note p{margin:4px 0!important;font-size:12px!important;line-height:1.8!important;color:#50665b}
.sp-pay-note a{display:inline-block;color:#244a40;font-size:12px;font-weight:600;text-decoration:underline;text-underline-offset:4px;padding:5px 0}
.sp-pay-panel{background:#f6f7f2;border:1px solid #d5dfd5;border-radius:18px;padding:clamp(20px,3vw,32px);text-align:left;min-width:0}
.sp-pay-panel.sp-pay-panel--booking{width:calc(100% - 40px);max-width:1100px;margin:40px auto 64px;scroll-margin-top:100px}
.sp-pay-panel h2,.sp-pay-panel h3{font-family:inherit!important;font-size:clamp(20px,2.2vw,26px)!important;line-height:1.6!important;letter-spacing:.03em!important;font-weight:600!important;margin:0 0 12px!important;color:#244a40!important}
.sp-pay-panel p{font-size:14px!important;line-height:1.9!important;margin:8px 0!important}
.sp-pay-kicker{font-size:11px;letter-spacing:.15em;font-weight:600;display:block;margin-bottom:8px}
.sp-payment-list{display:grid;gap:0;margin:20px 0!important;padding:0!important}
.sp-payment-list>div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:12px;padding:14px 0;border-top:1px solid #d7e0d6}
.sp-payment-list dt{font-size:12px!important;font-weight:600!important;margin:0!important;padding:3px 0!important;line-height:1.8!important;letter-spacing:.02em!important}
.sp-payment-list dd{display:flex;flex-wrap:wrap;gap:7px;margin:0!important;min-width:0}
.sp-payment-list dd span{display:inline-block;max-width:100%;padding:4px 10px;border:1px solid #dce3d9;border-radius:6px;background:white;color:#284a40;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.sp-pay-panel p.sp-pay-exclusions{font-size:12px!important;color:#5e675e}
.sp-prepay{padding:22px 24px;margin:24px 0;background:#f1f5f0;border-left:3px solid #406a57;border-radius:0 10px 10px 0}
.sp-prepay h3{font-family:inherit!important;font-size:17px!important;line-height:1.7!important;margin:0 0 8px!important;font-weight:600!important;color:#244a40!important}
.sp-prepay p{font-size:14px!important;line-height:1.9!important;margin:8px 0!important}
.sp-prepay .sp-prepay-price{font-size:22px!important;font-weight:600!important;line-height:1.8!important}
.sp-prepay-price span{font-size:13px;font-weight:400}.sp-prepay-price strong{white-space:nowrap}
.sp-cancel{margin:0 0 24px}.sp-cancel>p{font-size:14px!important;line-height:1.9!important;margin:10px 0!important}
.sp-cancel .sp-policy-date{font-size:12px!important;color:#627064}
.sp-cancel-table{width:100%;border-collapse:separate;border-spacing:0;margin:20px 0;background:#fff;border:1px solid #d1dbd0;border-radius:12px;overflow:hidden;table-layout:fixed;font-size:14px;line-height:1.8}
.sp-cancel-table caption{text-align:left;font-weight:600;font-size:15px;padding-bottom:10px;color:#244a40}
.sp-cancel-table th,.sp-cancel-table td{text-align:left;padding:15px 18px;border:0;border-bottom:1px solid #dce4d9;vertical-align:middle;overflow-wrap:anywhere}
.sp-cancel-table thead th{background:#eaf0e7;font-size:12px;font-weight:600}.sp-cancel-table th:first-child{width:64%}.sp-cancel-table tbody th{font-weight:500}.sp-cancel-table tbody td{font-size:20px;font-weight:600;color:#244a40}.sp-cancel-table tr:last-child th,.sp-cancel-table tr:last-child td{border-bottom:0}
.sp-cancel-table th small{display:block;font-size:12px;font-weight:400;color:#586956}.sp-cancel-table tbody tr:first-child{background:#f5f8f2}
.sp-policy-contact{overflow-wrap:anywhere}.sp-policy-contact a{color:inherit;text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){.sp-pay-note{padding:14px;gap:10px;margin-top:20px}.sp-pay-note strong{font-size:14px}.sp-payment-list>div{grid-template-columns:1fr;gap:6px}.sp-pay-panel.sp-pay-panel--booking{margin:28px auto 40px}.sp-prepay{padding:18px}.sp-prepay .sp-prepay-price{font-size:20px!important}.sp-cancel-table th,.sp-cancel-table td{padding:13px 12px}.sp-cancel-table tbody td{font-size:18px}.sp-cancel-table th:first-child{width:66%}}

.sp-cancel-table .sp-rate-label{display:block;font-size:12px;font-weight:400;line-height:1.6}.sp-cancel-table td strong{white-space:nowrap;font-weight:600}

/* Office payment and reservation spacing: keep adjacent panels in normal flow. */
.ed-booking .sp-pay-note + .v-booking-cards{margin-top:28px}
html[data-layout="mobile"] .hero > .sp-pay-note{margin:24px 25px 8px;max-width:none}
.sp-payment-section{display:flow-root;clear:both;padding:48px 0 64px;min-width:0}
.sp-payment-section > .sp-pay-panel.sp-pay-panel--booking{margin:0 auto;width:calc(100% - 64px);max-width:1120px}
.sp-payment-section .sp-payment-list{min-width:0}
.sp-payment-section .sp-payment-list > div{min-width:0}
@media(max-width:600px){
.ed-booking .sp-pay-note + .v-booking-cards{margin-top:24px}
.sp-payment-section{padding:32px 0 40px}
.sp-payment-section > .sp-pay-panel.sp-pay-panel--booking{width:calc(100% - 50px)}
}
@media(max-width:380px){
html[data-layout="mobile"] .hero > .sp-pay-note{margin-inline:21px}
.sp-payment-section > .sp-pay-panel.sp-pay-panel--booking{width:calc(100% - 42px)}
}
