body { font-family: sans-serif; padding: 10px; max-width: 600px !important; width: 100%; margin: 0 auto !important; background-color: #f9f9f9; color: #333; box-sizing: border-box; }
h1 { font-size: clamp(12px, 1.0rem + 1.2vw, 18px); color: #1a202c; text-align: left; padding-left: 12px; margin: -5px 0px 15px 0px; border-left: 4px solid #f6e05e; font-weight: 700; letter-spacing: 0.05em; }
h2 { font-size: clamp(10px, 8.00px + 1.56vw, 16px); color: #333333; white-space: nowrap; }
.step-nav { font-weight: bold; color: #666; margin-bottom: 20px; }
.step-nav span.active { color: #d32f2f; text-decoration: underline; }
.error { color: #d32f2f; font-weight: bold; margin-bottom: 15px; }
.form-group { margin-bottom: 15px !important; display: flex !important; align-items: center !important; }
.form-group label { width: 100px !important; flex-shrink: 0 !important; font-weight: bold; }
.form-group input { width: 50% !important; max-width: 50% !important; box-sizing: border-box !important; padding: 5px; font-size: 16px; }
.form-group input[type="text"], .form-group input[type="email"] { width: 50% !important; padding: 8px; box-sizing: border-box; font-size: 16px; }
.btn-area { margin-top: 20px; display: flex; justify-content: center; }
.btn { width: 40%; font-size: 1.0rem; padding: 10px 0 ; line-height: 1.2; vertical-align: middle; margin: 0px 10px 0px 10px; background: #2196f3; color: #fff; border: 2px solid #4a311c; border-radius: 5px; text-decoration: none; cursor: pointer; }
.btn:hover { background: #196fb3; }
.btn-submit { background-color: #4caf50; color: white; border: none; }
.btn-confirm { background-color: #2196f3; color: white; border: none; }
.btn-reset { background-color: #e0e0e0; color: #333; border: none; }
.alert-text { font-size: 13px; color: #555; background: #fffde7; padding: 10px; border-left: 4px solid #fff59d; margin-top: 15px; }
.info-box { background: #e3f2fd; padding: 15px; border-radius: 4px; margin-top: 20px; }
@media screen and (min-width: 1024px) {
    body { padding: 30px 10px; }
    .form-group input { width: 60% !important; max-width: 60% !important; }
    .btn { max-width: 150px; }
}
@media (min-width: 835px) and (max-width: 1023px) {
    body { zoom: 1.4; padding: 25px 10px; }
    .form-group input { width: 55% !important; max-width: 55% !important; }
}
@media (min-width: 744px) and (max-width: 834px) {
    body { zoom: 1.5; padding: 20px 10px; }
}
@media (min-width: 541px) and (max-width: 743px) {
    body { zoom: 1.4; padding: 15px 10px; }
}
@media (min-width: 441px) and (max-width: 540px) {
    .form-group input { width: 65% !important; max-width: 65% !important; }
}
@media (min-width: 391px) and (max-width: 440px) {
    h1 { margin-bottom: 12px; }
    .form-group label { width: 90px !important; }
    .form-group input { width: 68% !important; max-width: 68% !important; }
}
@media (min-width: 381px) and (max-width: 390px) {
    .form-group label { width: 85px !important; font-size: 14px; }
    .form-group input { width: 70% !important; max-width: 70% !important; font-size: 15px; }
    .btn { font-size: 0.95rem; padding: 8px 0; }
}
@media (min-width: 375px) and (max-width: 380px) {
    body { padding: 8px; }
    .form-group label { width: 80px !important; font-size: 13px; }
    .form-group input { width: 70% !important; max-width: 70% !important; font-size: 14px; padding: 4px; }
    .btn { font-size: 0.9rem; padding: 8px 0; margin: 0px 5px; }
}
@media (max-width: 374px) {
    .form-group { display: block !important; margin-bottom: 12px !important; }
    .form-group label { width: 100% !important; display: block; margin-bottom: 4px; font-size: 13px; }
    .form-group input { width: 100% !important; max-width: 100% !important; font-size: 14px; padding: 6px; }
    .btn-area { flex-direction: column; gap: 8px; }
    .btn { width: 100% !important; margin: 0; font-size: 0.95rem; padding: 10px 0; }
    h2 { white-space: normal; }
}
