.exru-form-wrap {
max-width: 680px;
margin: 0 auto;
padding: 0 16px;
font-size: 16px;
}
.exru-form-title {
font-size: 1.6em;
margin-bottom: 0.5em;
}
.exru-form-intro {
margin-bottom: 24px;
} .exru-notice {
padding: 14px 18px;
border-radius: 6px;
margin-bottom: 24px;
font-size: 0.95em;
line-height: 1.5;
}
.exru-notice--info    { background: #e7f3ff; border-left: 4px solid #2271b1; }
.exru-notice--warning { background: #fff8e5; border-left: 4px solid #f0a500; }
.exru-notice--error   { background: #fde8e8; border-left: 4px solid #d63638; color: #d63638; } .exru-step {
background: #fff;
border: 1px solid #e0e0e0;
border-radius: 8px;
padding: 24px;
margin-bottom: 24px;
}
.exru-step__title {
display: flex;
align-items: center;
gap: 12px;
font-size: 1.1em;
margin: 0 0 20px;
padding-bottom: 12px;
border-bottom: 1px solid #f0f0f0;
}
.exru-step__num {
display: inline-flex;
align-items: center;
justify-content: center;
width: 28px;
height: 28px;
border-radius: 50%;
background: #2271b1;
color: #fff;
font-size: 0.9em;
font-weight: 700;
flex-shrink: 0;
} .exru-field {
margin-bottom: 20px;
}
.exru-field:last-child {
margin-bottom: 0;
}
.exru-label {
display: block;
font-weight: 600;
margin-bottom: 6px;
font-size: 0.95em;
}
.exru-required {
color: #d63638;
margin-left: 2px;
}
.exru-input {
width: 100%;
padding: 10px 14px;
border: 1px solid #ccc;
border-radius: 5px;
font-size: 1em;
transition: border-color 0.2s, box-shadow 0.2s;
box-sizing: border-box;
background: #fff;
color: #333;
}
.exru-input:focus {
outline: none;
border-color: #2271b1;
box-shadow: 0 0 0 3px rgba(34, 113, 177, 0.12);
}
.exru-input.exru-input--error {
border-color: #d63638;
box-shadow: 0 0 0 3px rgba(214, 54, 56, 0.1);
}
.exru-textarea {
resize: vertical;
min-height: 100px;
}
.exru-help {
font-size: 0.85em;
color: #666;
margin: 5px 0 0;
}
.exru-error {
display: block;
color: #d63638;
font-size: 0.85em;
margin-top: 4px;
min-height: 18px;
} .exru-field--checkbox {
margin-bottom: 16px;
}
.exru-checkbox-label {
display: flex;
gap: 10px;
align-items: flex-start;
cursor: pointer;
font-size: 0.95em;
line-height: 1.5;
}
.exru-checkbox-label input[type="checkbox"] {
margin-top: 3px;
flex-shrink: 0;
width: 18px;
height: 18px;
cursor: pointer;
} .exru-submit-wrap {
margin-top: 24px;
text-align: center;
}
.exru-submit-btn {
display: inline-block;
padding: 14px 32px;
border: none;
border-radius: 6px;
color: #fff !important;
font-size: 1.05em;
font-weight: 700;
cursor: pointer;
transition: opacity 0.2s, transform 0.1s;
width: 100%;
max-width: 360px;
}
.exru-submit-btn:hover {
opacity: 0.9;
}
.exru-submit-btn:active {
transform: scale(0.98);
}
.exru-submit-btn:disabled {
opacity: 0.6;
cursor: not-allowed;
}
.exru-submit-help {
font-size: 0.85em;
color: #666;
margin-top: 10px;
} .exru-success {
text-align: center;
padding: 40px 24px;
background: #f0fff4;
border: 1px solid #84e1a6;
border-radius: 8px;
}
.exru-success__icon {
font-size: 3em;
margin-bottom: 12px;
}
.exru-success__title {
font-size: 1.4em;
color: #0a7a35;
margin-bottom: 12px;
}
.exru-success__info {
background: #fff;
border: 1px solid #ddd;
border-radius: 6px;
padding: 16px;
margin: 16px 0;
text-align: left;
font-size: 0.9em;
} .exru-btn-wrap {
margin: 16px 0;
}
.exru-btn {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 10px 20px;
background: #2271b1;
color: #fff !important;
text-decoration: none !important;
border-radius: 5px;
font-weight: 600;
font-size: 0.95em;
transition: opacity 0.2s;
}
.exru-btn:hover {
opacity: 0.85;
color: #fff !important;
}
.exru-btn--link {
background: transparent;
color: #2271b1 !important;
padding: 0;
font-weight: normal;
text-decoration: underline !important;
}
.exru-btn--footer {
position: fixed;
bottom: 20px;
right: 20px;
z-index: 9999;
box-shadow: 0 4px 12px rgba(0,0,0,0.2);
border-radius: 50px;
}
.exru-thankyou-notice {
background: #f8f9fa;
border: 1px solid #e0e0e0;
border-left: 4px solid #2271b1;
padding: 16px 20px;
margin: 20px 0;
border-radius: 4px;
font-size: 0.95em;
}
@media (max-width: 480px) {
.exru-step { padding: 16px; }
.exru-btn--footer { bottom: 12px; right: 12px; font-size: 0.9em; padding: 8px 16px; }
}