/* お問い合わせページ - フォーム */

.contact-form-wrapper {
    background-color: var(--gray-50);
    padding: 32px;
    border-radius: 8px;
}

.contact-form-title {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 24px;
    color: var(--gray-800);
    text-align: center;
}

.form-group {
    margin-bottom: 24px;
}

.form-label {
    display: block;
    font-weight: 600;
    margin-bottom: 8px;
    color: var(--gray-800);
}

.required {
    color: #dc2626;
    font-size: 14px;
}

.form-input,
.form-select,
.form-textarea {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid var(--gray-300);
    border-radius: 8px;
    font-size: 16px;
    font-family: inherit;
    transition: border-color 0.2s;
}

.form-input:focus,
.form-select:focus,
.form-textarea:focus {
    outline: none;
    border-color: var(--primary-color);
}

.form-textarea {
    resize: vertical;
    min-height: 120px;
}

.char-count {
    font-size: 14px;
    color: var(--gray-600);
    text-align: right;
    margin-top: 4px;
}

.char-count.warning {
    color: #f59e0b;
}

.char-count.error {
    color: #dc2626;
    font-weight: 600;
}

