/* contact.html専用のスタイル */
.form-container { 
    background-color: #fff; 
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    overflow: hidden;
}
.form-group { 
    display: flex; 
    border-bottom: 1px solid #e0e0e0; 
}
.form-group:last-child { 
    border-bottom: none; 
}
.form-label { 
    background-color: #f9f9f9; 
    padding: 20px; 
    width: 30%; 
    font-weight: bold; 
    display: flex; 
    align-items: flex-start; 
    border-right: 1px solid #e0e0e0; 
}
.form-label .required { 
    background-color: #d9534f; 
    color: #fff; 
    font-size: 0.75rem; 
    padding: 2px 6px; 
    border-radius: 3px; 
    margin-left: 8px; 
    flex-shrink: 0; 
}
.form-content { 
    padding: 20px; 
    width: 70%; 
}
.form-input, .form-select, .form-textarea { 
    width: 100%; 
    padding: 10px; 
    border: 1px solid #ccc; 
    border-radius: 4px; 
    font-size: 1rem; 
    font-family: inherit; 
}
.form-textarea { 
    height: 200px; 
    resize: vertical; 
}
.radio-group label, .checkbox-group label { 
    display: block; 
    margin-bottom: 10px; 
    cursor: pointer; 
}
.radio-group input, .checkbox-group input { 
    margin-right: 8px; 
}
.submit-button-wrapper { 
    text-align: center; 
    margin: 40px 0; 
}
.submit-button { 
    background-color: #f0ad4e; 
    color: #fff; 
    border: none; 
    padding: 15px 60px; 
    font-size: 1.2rem; 
    font-weight: bold; 
    border-radius: 8px; 
    cursor: pointer; 
    transition: opacity 0.3s; 
}
.submit-button:hover { 
    opacity: 0.85; 
}
.submit-button:disabled { 
    background-color: #ccc; 
    cursor: not-allowed; 
}
.form-introduction { 
    margin-bottom: 40px; 
    padding: 30px; 
    background-color: #f9fafb; 
    border-radius: 8px; 
    border: 1px solid #e0e0e0; 
}
.form-intro-heading { 
    font-size: 1.6rem; 
    font-weight: bold; 
    text-align: center; 
    margin: 0 0 25px 0; 
    line-height: 1.6; 
    color: #0A1E3E; 
}
.form-intro-notes { 
    list-style-type: none; 
    padding-left: 0; 
    font-size: 0.9rem; 
    line-height: 1.8; 
    color: #333; 
}
.form-intro-notes li { 
    margin-bottom: 12px; 
    padding-left: 1.3em; 
    text-indent: -1.3em; 
}
.form-intro-notes li::before { 
    content: "・"; 
    font-weight: bold; 
    margin-right: 0.5em; 
}
.form-intro-notes .seal-container { 
    text-indent: 0; 
    margin-top: 15px; 
}
.form-intro-notes .seal-container::before { 
    content: none; 
}
.form-required-note { 
    text-align: center; 
    margin-top: 30px; 
    font-weight: bold; 
    color: #c9302c; 
}
.form-sub-note { 
    font-size: 0.85rem; 
    color: #555; 
    margin-top: 8px; 
}
.form-label small { 
    font-weight: normal; 
    font-size: 0.85rem; 
    display: block; 
    margin-top: 4px; 
}
.form-note { 
    text-align: left; 
    background-color: #f9fafb; 
    border-radius: 8px; 
    padding: 20px;
    margin-top: 40px;
}
.form-note p { 
    margin: 0; 
}
.form-note p + p { 
    margin-top: 1em; 
}
.radio-group label:hover, .checkbox-group label:hover { 
    background-color: #f0f4f8; 
    border-radius: 4px; 
}

@media (max-width: 768px) { 
    .form-group { flex-direction: column; } 
    .form-label, .form-content { width: 100%; border-right: none; } 
    .form-label { border-bottom: 1px solid #e0e0e0; } 
}