@charset "UTF-8";
.mv-sub__inner {
    background: url("/_common/img/download/mv.png") 50% 50% / cover no-repeat;
}

    /* 入力エラー表示（サーバー側検証。各入力項目の直下に表示） */
    .contact__error-summary { max-width: 900px; margin: 30px auto 0; padding: 15px 20px; color: #E61919; font-weight: bold; line-height: 1.8; letter-spacing: .05em; background-color: #fff; border: 1px solid #E61919; }
    .contact__error-summary p + p { margin-top: 6px; }
    .contact__error { margin-top: 8px; color: #E61919; font-size: 14px; font-weight: bold; line-height: 1.6; letter-spacing: .05em; }
    .contact__field.is-error input, .contact__field.is-error textarea, .contact__field.is-error select { border-color: #E61919; }
    .contact__radio-wrap { flex: 1; }
    .contact form ul li.contact__agree-row .contact__error, .contact form .contact__error--recaptcha { text-align: center; }
    /* 資料ダウンロードフォーム：説明文・セレクトボックス・複数選択（チェックボックス）・選択肢の折り返し */
    .contact__lead { max-width: 900px; margin: 30px auto 0; line-height: 1.9; letter-spacing: .05em; }
    .contact__field select { display: block; width: 100%; height: 45px; padding: 0 40px 0 10px; background: #fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23666' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 14px center; border: 1px solid #D6D6D6; color: #333; font-size: 16px; }
    .contact ul li .radio.radio--wrap { flex-wrap: wrap; gap: 14px 40px; }
    .contact__note { margin-top: 10px; color: #6A6A6A; font-size: 14px; line-height: 1.6; }
    .contact__checks { display: flex; flex-direction: column; gap: 14px; margin-top: 8px; }
    .contact__checks label { display: flex; align-items: center; gap: 10px; cursor: pointer; line-height: 1.6; }
    .contact__checks input[type="checkbox"] { -webkit-appearance: checkbox; appearance: auto; flex-shrink: 0; width: 18px; height: 18px; margin: 0; accent-color: #08A2E4; }
    .contact__checks + .contact__error { margin-top: 8px; }
    .contact__purpose-other { margin-top: 12px; }
    .contact form button { padding: 0 34px 0 14px; font-size: 17px; }
    @media screen and (max-width: 767px) {
        .contact__error { font-size: 13px; }
        .contact__error-summary { margin-top: 20px; padding: 12px 14px; }
        .contact__lead { margin-top: 20px; font-size: 14px; line-height: 1.8; }
        .contact__field select { margin-top: 10px; }
        .contact ul li .radio.radio--wrap { gap: 10px 24px; }
        .contact__radio-wrap { width: 100%; }
        .contact__note { margin-top: 8px; font-size: 13px; }
        .contact__checks { margin: 8px 0 0; }
    }
@media screen and (min-width: 768px) {
    .contact__radio-wrap .radio { min-height: 48px; }
}