*{box-sizing:border-box}body.form{font-family:"Noto Sans JP",sans-serif;color:#333;line-height:1.6;background-color:#f8f9fa}#donation-form{padding:20px 0 60px}#donation-form h1{background:linear-gradient(90deg, #e91e63, #dc1c5f);color:#fff;text-align:center;margin:0 0 30px;padding:20px;font-size:24px;font-weight:700;border-radius:8px}#donation-form h2{background-color:crimson;color:#fff;text-align:center;margin:0 0 20px;padding:15px;font-size:20px;font-weight:600;border-radius:8px}#donation-form h2 small{color:#fff;font-size:16px}.stdBx{max-width:800px;margin:0 auto;padding:0 20px}.intro-text{background-color:#fff;border-radius:12px;box-shadow:0 2px 10px rgba(0,0,0,.1);padding:20px;margin-bottom:30px}.intro-text p{margin:0 0 15px;font-size:16px;line-height:1.7}.intro-text p:last-child{margin-bottom:0}.form-progress{display:flex;justify-content:center;align-items:center;margin-bottom:40px;gap:20px}.form-progress .step{background-color:#e0e0e0;color:#666;padding:10px 20px;border-radius:20px;font-size:16px;font-weight:600}.form-progress .step.active{background-color:crimson;color:#fff}.form-progress .time{color:#666;font-size:16px}.form-section{background-color:#fff;border-radius:12px;box-shadow:0 2px 10px rgba(0,0,0,.1);margin-bottom:30px;padding:30px;animation:fadeInUp .5s ease-out}.form-section h3{background-color:#f5f5f5;margin:-30px -30px 25px;padding:15px 30px;font-size:20px;font-weight:600;color:#333;border-radius:12px 12px 0 0;border-left:4px solid crimson}.form-group{margin-bottom:25px;position:relative}.form-group:last-child{margin-bottom:0}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#333;font-size:16px}.form-group h4{margin:0 0 10px;font-size:18px;font-weight:600;color:#333}.form-group .field-error{color:#dc3545;font-size:15px;font-weight:600;margin-top:8px;padding:8px 12px;background-color:#fdf2f2;border:1px solid #dc3545;border-radius:8px;display:none;animation:slideDown .3s ease-out}.form-group.has-error .field-error{display:block}.form-group.has-error input,.form-group.has-error select,.form-group.has-error textarea{border-color:#dc3545;background-color:#fdf2f2;box-shadow:0 0 0 3px rgba(220,53,69,.1)}.required{color:crimson;font-weight:700;margin-left:5px}input[type=text],input[type=email],input[type=tel],input[type=number],input[type=password],textarea,select{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;font-family:"Noto Sans JP",sans-serif;background-color:#fffbf0;transition:all .3s ease}input[type=text]:focus,input[type=email]:focus,input[type=tel]:focus,input[type=number]:focus,input[type=password]:focus,textarea:focus,select:focus{outline:none;border-color:crimson;box-shadow:0 0 0 3px rgba(220,20,60,.1)}input.valid[type=text],input.valid[type=email],input.valid[type=tel],input.valid[type=number],input.valid[type=password],textarea.valid,select.valid{border-color:#28a745;background-color:#fff;box-shadow:0 0 0 3px rgba(40,167,69,.1)}input.error[type=text],input.error[type=email],input.error[type=tel],input.error[type=number],input.error[type=password],textarea.error,select.error{border-color:#dc3545;background-color:#fdf2f2;box-shadow:0 0 0 3px rgba(220,53,69,.1)}input.empty[type=text],input.empty[type=email],input.empty[type=tel],input.empty[type=number],input.empty[type=password],textarea.empty,select.empty{border-color:#e0e0e0;background-color:#fffbf0}textarea{height:105px}form,.your-form-wrap{color-scheme:light}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;padding-right:40px;color:#333;-webkit-text-fill-color:#333}select option{color:#333}input[type=text]:-webkit-autofill,input[type=text]:-webkit-autofill:hover,input[type=text]:-webkit-autofill:focus,input[type=text]:-webkit-autofill:active,input[type=email]:-webkit-autofill,input[type=email]:-webkit-autofill:hover,input[type=email]:-webkit-autofill:focus,input[type=email]:-webkit-autofill:active,input[type=tel]:-webkit-autofill,input[type=tel]:-webkit-autofill:hover,input[type=tel]:-webkit-autofill:focus,input[type=tel]:-webkit-autofill:active,input[type=number]:-webkit-autofill,input[type=number]:-webkit-autofill:hover,input[type=number]:-webkit-autofill:focus,input[type=number]:-webkit-autofill:active,input[type=password]:-webkit-autofill,input[type=password]:-webkit-autofill:hover,input[type=password]:-webkit-autofill:focus,input[type=password]:-webkit-autofill:active,textarea:-webkit-autofill,textarea:-webkit-autofill:hover,textarea:-webkit-autofill:focus,textarea:-webkit-autofill:active,select:-webkit-autofill,select:-webkit-autofill:hover,select:-webkit-autofill:focus,select:-webkit-autofill:active{-webkit-box-shadow:0 0 0 9999px white inset !important;box-shadow:0 0 0 9999px white inset !important;-webkit-text-fill-color:#333 !important;caret-color:#333;background-clip:padding-box !important;-webkit-background-clip:padding-box !important;transition:background-color 99999s ease,color 99999s ease}@supports(-webkit-touch-callout: none){input:-webkit-autofill{animation:autofill-repaint 1ms linear 1 both}@keyframes autofill-repaint{from{opacity:1}to{opacity:1}}}input:-moz-autofill{box-shadow:0 0 0 9999px white inset !important;-moz-text-fill-color:#333 !important}small{display:block;margin-top:5px;color:#666;font-size:14px}.notice{background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;padding:15px;margin-top:10px;font-size:16px;line-height:1.6}.name-group .name-inputs{display:flex;gap:15px}.name-group .name-inputs input{flex:1}#custom-amount-group{display:flex;flex-direction:column;margin-top:10px;padding:15px;background-color:#f8f9fa;border-radius:8px}#custom-amount-group .input-container{display:flex;align-items:center;gap:10px}#custom-amount-group input{flex:1;margin:0}#custom-amount-group span{font-weight:600;color:#333}#custom-amount-group .error-message{color:crimson;font-size:15px;margin-top:5px;font-weight:600}#custom-amount-group .error-message.hidden{display:none}.hidden{display:none !important}.radio-group{display:grid;grid-template-columns:repeat(3, 1fr);gap:15px;margin-top:10px}.radio-group label{display:flex;align-items:center;margin-bottom:0;cursor:pointer;font-weight:normal;padding:12px;border:2px solid #e0e0e0;border-radius:8px;background-color:#fff;transition:all .3s ease}.radio-group label:hover{border-color:#28a745;background-color:#f8fff8}.radio-group label:has(input[type=radio]:checked){border-color:#28a745;background-color:#f8fff8}.radio-group input[type=radio]{margin-right:8px;width:auto;transform:scale(1.2);accent-color:#28a745}.radio-group input[type=radio]:checked+span{font-weight:600}.radio-group input[type=radio]:checked{accent-color:#28a745}.checkbox-group{margin-top:15px}.checkbox-group label{margin-bottom:10px;cursor:pointer;font-weight:normal;line-height:1.5}.checkbox-group input[type=checkbox]{margin-right:10px;margin-top:2px;width:auto;transform:scale(1.2);accent-color:#28a745;flex-shrink:0}.checkbox-group a{color:crimson;text-decoration:none}.checkbox-group a:hover{text-decoration:underline}#card-number-element,#card-expiry-element,#card-cvc-element{padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;background-color:#fffbf0;transition:all .3s ease}#card-number-element.StripeElement--focus,#card-expiry-element.StripeElement--focus,#card-cvc-element.StripeElement--focus{border-color:crimson;box-shadow:0 0 0 3px rgba(220,20,60,.1)}#card-number-element.stripe-valid,#card-expiry-element.stripe-valid,#card-cvc-element.stripe-valid{border-color:#28a745;background-color:#fff !important;box-shadow:0 0 0 3px rgba(40,167,69,.1)}#card-number-element.stripe-error,#card-expiry-element.stripe-error,#card-cvc-element.stripe-error{border-color:#dc3545;background-color:#fdf2f2;box-shadow:0 0 0 3px rgba(220,53,69,.1)}#card-number-element.stripe-empty,#card-expiry-element.stripe-empty,#card-cvc-element.stripe-empty{border-color:#e0e0e0;background-color:#fffbf0}.card-details-row{display:flex;gap:20px}.card-detail-group{flex:1}.card-detail-group label{display:block;margin-bottom:8px;font-weight:600;color:#333;font-size:16px}#card-number-errors,#card-expiry-errors,#card-cvc-errors{color:crimson;margin-top:8px;font-size:16px}.card-info{margin-top:15px;padding:15px;background-color:#f8f9fa;border-radius:8px;font-size:16px;text-align:center}.card-info i{font-size:24px;margin:0 8px;color:#666}.form-submit{text-align:center;margin-top:40px}#submit-button{background:linear-gradient(45deg, #dc143c, #e91e63);color:#fff;border:none;padding:18px 60px;font-size:18px;font-weight:700;border-radius:50px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px rgba(220,20,60,.3);font-family:"Noto Sans JP",sans-serif;position:relative;overflow:hidden}#submit-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(220,20,60,.4)}#submit-button:active{transform:translateY(0)}#submit-button:disabled{background:#e0e0e0;cursor:not-allowed;transform:none;box-shadow:0 4px 15px rgba(221,221,221,.3)}#spinner{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.submit-notice{margin-top:40px}.submit-notice p{font-size:16px;line-height:1.6}.submit-notice .notice-text{color:#06c;margin:0 0 15px;font-weight:500}.submit-notice .security-info p{color:#333;margin:0 0 8px}.submit-notice .security-info p:last-child{margin-bottom:0}#payment-result{margin-top:20px;padding:15px;border-radius:8px;text-align:center;font-weight:600}#payment-result .success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}#payment-result .error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{from{opacity:0;max-height:0;transform:translateY(-10px)}to{opacity:1;max-height:100px;transform:translateY(0)}}@media(max-width: 768px){.stdBx{padding:0 15px}.form-section{padding:20px 15px;margin-bottom:20px}.form-section h3{margin:-20px -15px 20px;padding:12px 15px;font-size:16px}#donation-form h1{font-size:20px;padding:15px}#donation-form h2{font-size:18px;padding:12px}.form-progress{flex-direction:column;gap:10px}.name-group .name-inputs{flex-direction:column;gap:10px}.radio-group{grid-template-columns:1fr;gap:10px}.card-details-row{flex-direction:column;gap:15px}#submit-button{width:100%;padding:16px;font-size:16px}#custom-amount-group .input-container{align-items:center;gap:8px}}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:9999;backdrop-filter:blur(0.7px)}.loading-overlay.hidden{display:none}.loading-spinner{width:60px;height:60px;border:6px solid hsla(0,0%,100%,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media print{.form-section{box-shadow:none;border:1px solid #ddd}#submit-button{display:none}}