:root{--primary-color:#10b981;--primary-hover:#059669;--text-main:#1f2937;--text-muted:#6b7280;--bg-page:#f3f4f6;--bg-card:#fff;--border-color:#e5e7eb;--error-color:#ef4444;--focus-ring:#10b98140;--radius-sm:6px;--radius-md:12px;--radius-lg:16px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-page);color:var(--text-main);justify-content:center;min-height:100vh;padding:40px 20px;font-family:Inter,Noto Sans JP,sans-serif;line-height:1.6;display:flex}.container{background-color:var(--bg-card);border-radius:var(--radius-lg);width:100%;max-width:640px;padding:48px;box-shadow:0 10px 25px -5px #0000000d,0 8px 10px -6px #00000003}.form-header{text-align:left;margin-bottom:40px}.form-header h1{color:var(--text-main);letter-spacing:-.025em;margin-bottom:12px;font-size:24px;font-weight:700}.description{color:var(--text-muted);margin-bottom:8px;font-size:15px}.required-note{color:var(--error-color);font-size:13px;font-weight:500}.required{color:var(--error-color);margin-left:2px}.form-group{margin-bottom:28px;position:relative}label{color:var(--text-main);margin-bottom:8px;font-size:14px;font-weight:600;display:block}input[type=text],input[type=tel],input[type=email],input[type=date],textarea,select{border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-main);appearance:none;background-color:#fff;padding:12px 16px;font-family:inherit;font-size:16px;transition:all .2s}input:focus,textarea:focus,select:focus{border-color:var(--primary-color);box-shadow:0 0 0 4px var(--focus-ring);outline:none}textarea{resize:vertical;min-height:100px}.select-wrapper{position:relative}.select-wrapper:after{content:"";pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236B7280' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;width:10px;height:10px;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.radio-group{flex-wrap:wrap;gap:12px;display:flex}.radio-option{cursor:pointer;border:1px solid var(--border-color);-webkit-user-select:none;user-select:none;border-radius:50px;align-items:center;padding:8px 16px;transition:all .2s;display:inline-flex}.radio-option:hover{background-color:#f9fafb;border-color:#d1d5db}.radio-option input{display:none}.radio-custom{border:2px solid #d1d5db;border-radius:50%;width:18px;height:18px;margin-right:8px;transition:all .2s;position:relative}.radio-option input:checked+.radio-custom{border-color:var(--primary-color);background-color:var(--primary-color)}.radio-option input:checked+.radio-custom:after{content:"";background-color:#fff;border-radius:50%;width:8px;height:8px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.radio-option input:checked~.radio-label{color:var(--primary-color);font-weight:500}.error-message{color:var(--error-color);margin-top:6px;font-size:12px;animation:.2s ease-out slideDown;display:none}@keyframes slideDown{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}input.error,textarea.error,select.error{border-color:var(--error-color);background-color:#fef2f2}input.error:focus,textarea.error:focus,select.error:focus{box-shadow:0 0 0 4px #ef444440}.form-group.has-error .error-message{display:block}.submit-btn{background-color:var(--primary-color);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;width:100%;margin-top:12px;padding:14px;font-size:16px;font-weight:600;transition:all .2s}.submit-btn:hover{background-color:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #10b98133}.submit-btn:active{transform:translateY(0)}.form-footer{text-align:center;color:var(--text-muted);border-top:1px solid var(--border-color);margin-top:40px;padding-top:24px}.hidden{display:none}#successMessage{text-align:center;padding:40px 0;animation:.5s ease-out fadeIn}.success-icon{color:var(--primary-color);margin-bottom:24px}.success-content h2{color:var(--text-main);margin-bottom:16px;font-size:24px}.success-content p{color:var(--text-muted);margin-bottom:32px}.reset-btn{border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;background:0 0;padding:10px 20px;font-size:14px;transition:all .2s}.reset-btn:hover{border-color:var(--text-main);color:var(--text-main)}.address-group .address-row{margin-bottom:16px}.address-group .address-row:last-child{margin-bottom:0}.sub-label{color:var(--text-muted);margin-bottom:4px;font-size:13px;font-weight:500;display:block}.address-row.has-error .error-message{animation:.2s ease-out slideDown;display:block}.input-wrapper input{width:100%}.checkbox-group{margin-top:24px}.checkbox-label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;font-size:14px;display:inline-flex}.checkbox-label input{display:none}.checkbox-custom{border:2px solid #d1d5db;border-radius:4px;flex-shrink:0;width:18px;height:18px;margin-right:8px;transition:all .2s;position:relative}.checkbox-label input:checked+.checkbox-custom{background-color:var(--primary-color);border-color:var(--primary-color)}.checkbox-label input:checked+.checkbox-custom:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:4px;height:9px;position:absolute;top:1px;left:5px;transform:rotate(45deg)}.checkbox-label a{color:var(--primary-color);font-weight:500;text-decoration:none}.checkbox-label a:hover{text-decoration:underline}.checkbox-group.has-error .checkbox-custom{border-color:var(--error-color)}@media (max-width:640px){body{background-color:#fff;padding:0}.container{box-shadow:none;border-radius:0;max-width:100%;min-height:100vh;padding:24px 20px}.form-header h1{font-size:20px}}.mt-2{margin-top:8px}
