.payment-page{background:#f4f1ec;min-height:100vh;color:#1d2729;font-family:system-ui,-apple-system,'Noto Sans JP',sans-serif;font-size:14px}.payment-header{background:#fff;border-bottom:1px solid #e9e5df}.payment-header .wrap{height:92px;display:flex;align-items:center;justify-content:space-between}.payment-header img{height:auto;width:194px}.payment-header span{font:11px Georgia,serif;letter-spacing:2px;color:#777}.payment-layout{display:grid;grid-template-columns:1fr 480px;gap:72px;align-items:start;padding-top:88px;padding-bottom:110px}.payment-intro{padding-top:32px}.payment-overline{font:11px Georgia,serif;letter-spacing:2.5px;color:#b34d40}.payment-intro h1{font-family:serif;font-size:clamp(34px,4vw,55px);margin:18px 0}.payment-intro>p{max-width:520px;color:#535c5b}.pay-steps{display:flex;flex-wrap:wrap;gap:12px;margin-top:48px}.pay-steps span{padding:10px 14px;background:#fff;border:1px solid #e7e1d8;font-size:11px}.payment-qr{display:flex;align-items:center;gap:17px;margin-top:45px}.payment-qr img{width:110px;height:110px;padding:7px;background:#fff;border:1px solid #ddd}.payment-qr p{font-size:12px;color:#60686b}.payment-qr code{font-size:12px;word-break:break-word}.payment-card{background:#fff;padding:38px 34px 28px;border:1px solid #e6e2dc;box-shadow:0 25px 65px rgba(28,26,24,.055)}.payment-card-top small{color:#a64d43;letter-spacing:1.4px;font-weight:700}.payment-card-top h2{font-size:25px;margin:6px 0 24px;font-weight:600}.pay-line{display:flex;justify-content:space-between;align-items:start;gap:16px;border-bottom:1px solid #e9e9e9;padding:15px 0}.pay-line span{flex:none;color:#717579;font-size:12px}.pay-line strong{font-size:13px;text-align:right;overflow-wrap:anywhere}.pay-total{padding:24px 0;margin-bottom:18px}.pay-total strong{font-size:25px;color:#a23d34}.pay-muted{color:#60676a;font-size:12px;line-height:1.75;margin:20px 0}.pay-warning,.pay-success,.pay-sandbox{padding:16px;line-height:1.8;font-size:13px;margin-top:20px}.pay-warning{background:#fff2e8;color:#8a372f}.pay-success{background:#e8f5ee;color:#216a43}.pay-sandbox{background:#fff3d9;color:#725013}.reference-form{display:flex;flex-direction:column;gap:15px}.reference-form label{font-weight:bold}.reference-form input{border:1px solid #d1d3d2;padding:15px;font-size:15px;width:100%;border-radius:3px}.reference-form button,.pay-submit{border:0;background:#a83c35;color:#fff;padding:17px;width:100%;font-weight:700;cursor:pointer}.pay-submit:disabled{opacity:.53;cursor:not-allowed}.pay-return{display:block;margin-top:29px;color:#8e4840;font-size:12px}.paypal-fields{margin-top:25px}.paypal-fields label{font-weight:650;font-size:12px;display:block}.paypal-field{height:52px;border:1px solid #c9cdca;border-radius:4px;margin:9px 0 18px;background:#fff;overflow:hidden}.pay-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.pay-agreement{display:flex;gap:10px;align-items:start;line-height:1.7;font-size:12px;margin:13px 0 21px}.pay-agreement input{margin-top:5px;flex:none}.pay-agreement a{color:#a13c36;text-decoration:underline}.pay-result{min-height:34px;margin-top:15px;font-size:12px;color:#62676a}.pay-result.error{color:#a83c35}.payment-footer{background:#232a2c;color:#fff;padding:30px 0}.payment-footer .wrap{display:flex;justify-content:space-between;gap:22px;align-items:center;flex-wrap:wrap}.payment-footer nav{display:flex;gap:20px;flex-wrap:wrap}.payment-footer a{font-size:11px;color:#d0d0d0}@media(max-width:980px){.payment-layout{grid-template-columns:1fr;gap:25px;padding-top:40px}.payment-intro{padding-top:0}.payment-card{max-width:600px}.payment-qr{margin-top:25px}}@media(max-width:550px){.payment-header .wrap{height:75px}.payment-header img{width:160px}.payment-layout{padding-bottom:65px}.payment-card{padding:26px 18px}.pay-steps{margin-top:25px}.pay-line{flex-direction:column;gap:6px}.pay-line strong{text-align:left}.pay-grid{gap:10px}.payment-qr{align-items:start}}

.pay-terms{margin:20px 0;border-top:1px solid #e3e4e2;border-bottom:1px solid #e3e4e2;padding:15px 0}.pay-terms p{font-size:12px;line-height:1.8;margin:8px 0;overflow-wrap:anywhere}.pay-terms b{color:#343d3d}
/* Amount-entry checkout */
.payer-form{display:flex;flex-direction:column;gap:11px}
.payer-form>label:not(.pay-agreement){font-size:13px;font-weight:650;margin-top:8px}
.payer-form>label em{font-style:normal;font-size:10px;color:#a33e36;font-weight:700;margin-left:5px}
.payer-form>input,.pay-yen-input{border:1px solid #c9cdca;background:#fff;border-radius:4px;min-height:51px;width:100%;font-size:16px}
.payer-form>input{padding:13px 15px}
.payer-form>input:focus,.pay-yen-input:focus-within{outline:2px solid #be958b;outline-offset:2px}
.pay-yen-input{display:flex;align-items:center;gap:7px;padding:0 14px}
.pay-yen-input span{font-size:21px;color:#8a3d33;font-weight:650}
.pay-yen-input input{flex:1;min-width:0;border:0;outline:0;font-size:22px;font-weight:650;padding:13px 0;color:#1d2729}
.payer-form button[type=submit]{background:#a83c35;color:white;border:0;padding:17px 12px;width:100%;font-size:14px;font-weight:700;cursor:pointer}
.payer-form button[type=submit]:disabled{opacity:.5;cursor:not-allowed}
.pay-notice{background:#f9f5ea;padding:16px 18px;margin-top:25px;border-left:3px solid #ba9570;font-size:13px!important;line-height:1.8!important}
.pay-edit{display:block;border:1px solid #d4d4d1;background:#fff;color:#8e4840;padding:14px 18px;margin:25px 0 0;width:100%;cursor:pointer}
.pay-edit:disabled{opacity:.5;cursor:not-allowed}

/* Official PayPal checkout + Advanced Card Fields */
.paypal-official-checkout{margin-top:24px;border:1px solid #dedfe4;border-radius:10px;background:#fff;padding:20px 20px 12px;box-shadow:0 4px 15px rgba(24,41,69,.04)}
.pay-provider-header{display:flex;align-items:center;gap:12px;padding-bottom:15px;border-bottom:1px solid #e8ebf0}
.pay-provider-dot{width:35px;height:35px;border-radius:50%;background:linear-gradient(140deg,#003087,#009cde);flex:none;display:block;position:relative}
.pay-provider-dot::after{content:'✓';position:absolute;left:9px;top:5px;color:white;font-size:17px;font-weight:700}
.pay-provider-header strong{color:#172e54;font-size:15px}
.pay-provider-header p{margin:4px 0 0;font-size:12px;color:#627184}
.pay-provider-agreement{margin:20px 0 11px}
.pay-provider-agreement span{font-weight:400}
.pay-wallet-slot{padding:10px 0 5px}
.pay-wallet-slot[hidden],.pay-card-panel[hidden],.pay-consent-hint[hidden],.pay-card-option[hidden]{display:none!important}
.pay-wallet-slot.pay-busy{pointer-events:none;opacity:.58}
.pay-wallet-slot paypal-button{display:block;width:100%;min-height:46px}
.pay-consent-hint{color:#596372;background:#f3f6fa;border:1px solid #e3e9ef;padding:14px;margin:8px 0;font-size:12px;border-radius:5px;text-align:center}
.pay-method-divider{display:flex;align-items:center;gap:12px;margin:17px 0;color:#83909c;font-size:11px}
.pay-method-divider:before,.pay-method-divider:after{content:'';height:1px;background:#e1e7ed;flex:1}
.pay-card-option{width:100%;background:#fff;border:1px solid #b9c6d5;padding:15px 12px;border-radius:6px;color:#1a3763;display:flex;justify-content:space-between;gap:8px;cursor:pointer;font-weight:700;text-align:left;font-size:13px}
.pay-card-option:hover{background:#f5f8fc}.pay-card-option:disabled{opacity:.5;cursor:not-allowed}
.pay-card-panel{padding:8px 0 2px}
.pay-card-info{font-size:12px;line-height:1.8;color:#68717d}
.pay-card-panel .paypal-fields{margin-top:12px}
.pay-card-panel .pay-submit{background:#003087;border-radius:5px}
.pay-card-panel .pay-submit:disabled{background:#a0acc0}
.paypal-official-checkout .pay-result{margin-top:13px}
@media(max-width:550px){.paypal-official-checkout{padding:14px}}

/* SAKURA QR-POS matching PayPal v5 smart buttons */
.pay-sdk-buttons{min-height:45px;margin:8px 0 14px}
.pay-sdk-buttons[hidden],.pay-loading[hidden],.pay-consent-hint[hidden]{display:none!important}
.pay-sdk-buttons.pay-busy{opacity:.65;pointer-events:none}
.pay-loading{padding:17px 10px;text-align:center;color:#003087;font-size:13px}
.pay-provider-explainer{font-size:12px;line-height:1.8;margin:14px 0}

/* PayPal order cancellation and edit-return feedback */
.pay-edit-success{padding:14px 16px;background:#e7f4eb;border:1px solid #a6d5b4;color:#245c3b;font-size:13px;line-height:1.7;margin:0 0 20px}
.pay-edit-hint{color:#60676a;font-size:12px;line-height:1.75;margin-top:10px}
.pay-edit:not(:disabled):hover{background:#fbf4f2;border-color:#ac7a71}

/* Fixed contract unit selector: no free-form JPY amount input */
.pay-package-fieldset{margin:14px 0 0;padding:0;border:0;min-width:0}
.pay-package-fieldset legend{font-size:13px;font-weight:700;margin-bottom:12px}
.pay-package-fieldset legend em{font-style:normal;font-size:10px;color:#a33e36;margin-left:5px}
.pay-package-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.pay-package-choice{position:relative;display:block;cursor:pointer;min-width:0}
.pay-package-choice>input{position:absolute;width:1px;height:1px;opacity:0;left:15px;top:20px}
.pay-package-label{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:15px 10px;min-height:62px;border:1px solid #c8c9c7;border-radius:5px;background:#fff;transition:background-color .15s,border-color .15s;line-height:1.4}
.pay-package-label strong{white-space:nowrap;color:#333;font-size:14px}
.pay-package-label>span{font-variant-numeric:tabular-nums;color:#943f36;font-weight:700;font-size:14px;white-space:nowrap}
.pay-package-choice input:checked+.pay-package-label{border:2px solid #a64a40;background:#fff6f1;padding:14px 9px}
.pay-package-choice input:focus-visible+.pay-package-label{outline:3px solid #427bb4;outline-offset:2px}
.pay-package-ten .pay-package-label{background:#fdf9f6}
.pay-selected-total{background:#fff6f1;border-left:3px solid #a64a40;padding:12px;font-size:14px;font-weight:700;color:#963c34;line-height:1.6;margin:14px 0 0}
.pay-price-notice{font-size:12px;line-height:1.9;margin:8px 0 12px}
.pay-price-notice a{color:#a33e36;text-decoration:underline}
@media(max-width:420px){.pay-package-label{padding:12px 7px;gap:4px}.pay-package-label strong,.pay-package-label>span{font-size:12px}.pay-package-choice input:checked+.pay-package-label{padding:11px 6px}}
