.contact_form_section {
    margin: 80px 0;
    margin-top: 180px;
    padding: 0 34px;
    @media (max-width: 700px) {
        margin-top: 120px;
    }
    @media (max-width: 500px) {
        padding: 0 24px;
    }
    * {
        box-sizing: border-box;
    }
    .wrap {
        margin: 0 auto;
        max-width: 926px;
    }

    /* origin_contact_form7 */
    dl.origin_contact_form7 {
        margin: 24px 0 64px 0;
        display: grid;
        grid-template-columns: 334px calc(100% - 334px);
        line-height: 1.6em;

        @media (max-width: 900px) {
            margin-top: 64px;
            display: block;
        }

        dt,
        dd {
            margin: 24px 0;
        }

        dd,
        p {
            @media (max-width: 600px) {
                font-size: 14px;
            }
        }

        .clm_1 {
            grid-column: span 2;
        }

        .text > p {
            margin-top: 1em;
            font-size: 14px;
            line-height: 1.6em;

            @media (max-width: 600px) {
                font-size: 12px;
            }
        }

        dt {
            position: relative;
            padding-top: 1em;
            padding-right: 16px;
            padding-left: 1em;
            display: flex;
            flex-wrap: wrap;
            align-content: start;
            align-items: start;

            font-weight: 600;

            @media (max-width: 900px) {
                margin-bottom: 0;
                padding: 0;
                justify-content: start;
            }

            label {
                @media (max-width: 600px) {
                    font-size: 14px;
                }
            }

            p {
                &:has(label) {
                    display: contents;
                }
            }

            .required {
                margin: 0;
                margin-left: 16px;
                height: 24px;
                width: 40px;
                display: flex;
                align-items: center;
                justify-content: center;
                font-size: 14px !important;
                background: #d41217;
                color: #fff;
                font-weight: 700;
                line-height: 1;
                white-space: nowrap;
                @media (max-width: 600px) {
                    font-size: 12px !important;
                    
                }
            }

            > p {
                display: contents;
            }

            .text {
                margin-top: 8px;
                width: 100%;

                p {
                    margin: 0;
                    line-height: 1.6em;
                    font-size: 14px;
                }
            }
        }

        dd {
            display: flex;
            flex-wrap: wrap;
            gap: 4px;

            @media (max-width: 900px) {
                margin-top: 12px;
                margin-bottom: 3em;
            }

            div:not([class]) {
                > p {
                    display: contents;
                }
            }

            > p {
                display: contents;
            }
            &:has(.short_select) {
                div {
                    width: 100%;
                    flex: initial;
                }
            }
            div,
            span {
                display: block;
                flex: 1;
                &.short_select {
                    flex: initial;
                    max-width: 240px;
                }
                + div {
                    margin-top: 16px;
                }
                br{
                    display: none;
                }
            }

            .zip {
                display: flex;
                align-items: center;

                > p {
                    display: contents;
                }

                .wpcf7-form-control-wrap {
                    margin: 0 4px;
                    width: 70px;
                    flex: initial;

                    @media (max-width: 600px) {
                        width: 80px;
                    }
                }
            }

            input,
            select,
            textarea {
                padding: 0.9em;
                width: 100%;
                border: 1px solid #101010;
                border-radius: 2px;
                font-size: 16px;
                line-height: 1.5em;

                @media (max-width: 600px) {
                    font-size: 14px;
                }
                /* プレースフォルダ */
                &::placeholder {
                    color: #dddddd;
                }
                &.short_select {
                    margin-top: 8px;
                    flex: initial;
                    max-width: 240px;
                }
            }
            select {
                appearance: none; /* デフォルトの矢印を非表示 */
                -webkit-appearance: none;
                -moz-appearance: none;
                cursor: pointer;
                outline: none;

                /* 背景画像として赤い矢印を設定 */
                background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%23BF0000' d='M8 12L3 6h10l-5 6z'/%3E%3C/svg%3E");
                background-repeat: no-repeat;
                background-position: right 8px center;
                background-size: 24px;
            }
        }

        /* wpcf7-radio */
        .wpcf7-radio {
            padding-top: 0.6em;
            display: flex;
            flex-wrap: wrap;
            justify-content: start;
            gap: 16px 32px;

            @media (max-width: 450px) {
                gap: 6px;
            }

            .wpcf7-list-item {
                margin-left: 0;
                flex: initial;

                label {
                    display: flex;
                    justify-content: start;
                    align-items: center;
                    white-space: nowrap;

                    input {
                        margin: 0;
                        margin-right: 10px;
                        padding: 0;
                        width: 20px;
                        height: 20px;
                        line-height: 0;
                    }

                    .wpcf7-list-item-label {
                        line-height: 1.8em;
                        letter-spacing: 0;

                        @media (max-width: 450px) {
                            font-size: 13px;
                        }
                    }
                }
            }
        }

        /* チェックボックス */
        .wpcf7-checkbox {
            .wpcf7-list-item {
                margin: 0;

                label {
                    display: flex;
                    align-items: center;
                }
            }

            input {
                margin-right: 16px;
                height: 20px;
                width: 20px;
            }
        }
    }

    /* 同意 */

    .privacy {
        position: relative;
        z-index: 10;
        padding-top: 14px;
        display: flex;
        justify-content: center;
        align-items: center;
        font-weight: 700;

        @media (max-width: 500px) {
            font-size: 14px;
        }

        > p {
            display:flex;
        }

        .wpcf7-form-control-wrap {
            display: block;
        }

        a {
            margin-left: 8px;
            display: block;
            white-space: nowrap;
            font-weight: 700;
            color: #000;

            &::after {
                margin-top: 2px;
                margin-bottom: -3px;
                content: "";
                display: block;
                height: 1px;
                width: 100%;
                background: #d41217;
            }

            &:hover {
                color: #d41217;
            }
        }

        .consent_label {
            margin-right: 12px;
            padding: 0;
            margin-left: -4px;
            width: 20px;
            height: 20px;
            *,input{
                padding: 0;
                display: block;
                width: 100%;
                height: 100%;
            }
        }
    }

    /* 送信ボタン */
    input[type="submit"] {
        position: relative;
        z-index: 10;
        margin: 32px auto;
        margin-bottom: 0;
        max-width: 280px;
        height: 60px;
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        background: linear-gradient(90deg, #e50000, #e34f00);
        border: none;
        color: #fff;
        font-weight: 600;
        font-size: 20px;
        transition: 0.5s;
        letter-spacing: 0.3em;
        border-radius: 4px;

        @media (max-width: 600px) {
            margin: 32px auto;
            margin-bottom: 0;
            min-width: 100%;
            font-size: 20px;
        }

        &:hover {
            opacity: 0.8;
        }
    }

    ::-webkit-input-placeholder {
        color: #bbb;
    }

    ::-moz-placeholder {
        color: #bbb;
    }

    :-ms-input-placeholder {
        color: #bbb;
    }

    ::-ms-input-placeholder {
        color: #bbb;
    }

    ::placeholder {
        color: #bbb;
    }

    /* エラーメッセージ */
    .wpcf7-not-valid-tip {
        font-size: 0.5em;
    }
}
.wpcf7-response-output {
    display: none !important;
    opacity: 0;
}
