/* =========================================
   2. 問い合わせフォーム用CSS
========================================= */
.media-contact-container {
    max-width: 800px; margin: 0 auto; padding: 20px;
    font-family: sans-serif; color: #333;
}
.media-contact-title { font-size: 24px; border-bottom: 2px solid #2c3e50; padding-bottom: 10px; margin-bottom: 20px; font-weight: bold; }
.media-contact-intro { background-color: #f8f9fa; padding: 20px; border-radius: 8px; margin-bottom: 30px; font-size: 14.5px; line-height: 1.8; }
.media-contact-intro p { margin-bottom: 10px; }
.media-contact-intro .highlight { font-weight: bold; color: #c0392b; }

.form-group { margin-bottom: 30px; }
.form-label { display: block; font-weight: bold; margin-bottom: 8px; font-size: 15px; }
.form-label .required { background-color: #c0392b; color: #fff; font-size: 11px; padding: 3px 6px; border-radius: 4px; margin-left: 10px; }
.form-note { display: block; font-size: 12px; color: #666; margin-top: 6px; font-weight: normal; }

.form-control {
    width: 100%; padding: 12px; border: 1px solid #ccc; border-radius: 4px;
    box-sizing: border-box; font-size: 16px; background-color: #fff; transition: border-color 0.3s;
}
.form-control:focus { border-color: #2c3e50; outline: none; box-shadow: 0 0 5px rgba(44, 62, 80, 0.2); }
textarea.form-control { resize: vertical; min-height: 180px; }

.error-msg { color: #c0392b; font-size: 13px; margin-top: 5px; display: block; font-weight: bold; }
.success-msg { background-color: #77d2d4; color: #fff; padding: 20px; border-radius: 4px; margin-bottom: 30px; font-weight: bold; text-align: center; border: 0px solid #fff; }
.submit-btn {
    background-color: #2c3e50; color: #fff; border: none; padding: 16px 60px; font-size: 18px;
    font-weight: bold; border-radius: 8px; cursor: pointer; display: block; margin: 40px auto 0;
    transition: background-color 0.3s, transform 0.2s;
}
.submit-btn:hover { background-color: #1a252f; transform: translateY(-2px); }

input[type="text"], textarea {
    padding: 10px;
}