.lw_mail_form {
    margin: 64px 0;
    @container (max-width:600px) {
        margin: 48px 0;
    }
    @container (max-width:500px) {
        margin: 32px 0;
    }
    .form_group {
        display: grid;
        grid-template-columns: 320px calc(100% - 320px);
        @media (max-width: 800px) {
            grid-template-columns: 1fr;
        }
        + .form_group {
            margin-top: 24px;
            @media (max-width: 600px) {
                margin-top: 16px;
            }
        }
        .label_in {
            padding-right: 16px;
            @media (max-width: 800px) {
                padding-right: 0;
            }
            label {
                padding-top: 0.8em;
                display: flex;
                align-items: start;
                justify-content: space-between;
                line-height: 1.8;
                font-weight: 400;
                .required {
                    margin-top: 0.1em;
                    padding: 0.2em 0.5em;
                    font-size: 12px;
                    background: var(--color-main);
                    color: #fff;
                    border-radius: 2px;
                    white-space: nowrap;
                    font-weight: 400;
                    @media (max-width: 800px) {
                        font-size: 11px;
                    }
                    &.is-optional {
                        background: #ddd;
                        color: var(--color-black);
                    }
                }
            }
        }
        .form_in {
            textarea {
                min-height: 200px;
            }
            .supplement_text {
                margin: 0;
                font-size: 0.9em;
            }
            .radio_in {
                padding-top: 0.6em;
                label {
                    display: flex;
                    align-items: center;
                    gap: 4px;
                    + label {
                        margin-top: 0.6em;
                    }
                }
                + .supplement_text{
                    margin-top: 1.5em;
                }
            }
            .checkbox_in {
                padding-top: 0.8em;
                label {
                    display: flex;
                    align-items: center;
                    gap: 4px;
                    + label {
                        margin-top: 0.6em;
                    }
                    input {
                        margin-top: 4px;
                    }
                }
                + .supplement_text{
                    margin-top: 1.5em;
                }
            }
        }
    }
    .consent_set {
        margin-top: 56px;
        + .submit_wrap {
            /* margin-top: 24px; */
        }
        .post_style {
            padding: 0;
            margin: 0;
        }
        .consent_text_wrap {
            margin-bottom: 12px;
            padding: 48px;
            height: 280px;
            resize: vertical;
            width: 100%;
            background: #eee;
            border: 1px solid #ddd;
            overflow-y: scroll;
            .consent_title {
                font-size: 1.2em;
            }
            .consent_text_inner {
                font-size: 0.8em;
                .first_content {
                    padding: 0;
                }
            }
            @media (max-width: 500px) {
                padding: 40px 24px;
                height: 240px;
                
            }
        }
        .consent_check_wrap {
            > p {
                width: 100%;
            }
            &.center {
                display: flex;
                justify-content: center;
                flex-wrap: wrap;
                text-align: center;
            }
        }
    }
    .submit_wrap {
        margin-top: 80px;
        display: flex;
        align-items: center;
        justify-content: center;
        button {
            position: relative;
            padding: 0 24px;
            height: 72px;
            min-width: 320px;
            display: flex;
            align-items: center;
            justify-content: center;
            background: var(--color-main);
            color: #fff;
            border: none;
            font-size: 18px;
            transition: 0.3s;
            svg {
                position: absolute;
                top: 0;
                bottom: 0;
                right: 16px;
                margin: auto;
                width: 20px;
                height: 20px;
                fill: #fff;
                transition: 0.3s;
            }
            &:hover {
                opacity: 0.8;
                svg {
                    transform: translate(4px, 0);
                }
            }
        }
    }
}
.body,
html:has(.lw_mail_send_completion_popup) {
    .post_style{
        position: relative;
        z-index: 9999999999999999;
    }
}
body:has(.lw_mail_send_completion_popup) {
    height: 100vh;
    overflow-y: hidden;
}
.lw_mail_send_completion_popup {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999999999;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.8);
    .in {
        padding: 48px;
        background: #ffffff;
        border-radius: 3px;
        line-height: 1.8em;
        @media (max-width: 600px) {
            padding: 32px;
        }
        p {
            margin: 0;
        }
        a {
            position: relative;
            margin-top: 24px;
            width: 100%;
            height: 64px;
            display: flex;
            align-items: center;
            justify-content: center;
            background: var(--color-main);
            color: #fff;
            border-radius: 2px;
            @media (max-width: 600px) {
                height: 56px;
                font-size: 14px;
            }
            svg {
                position: absolute;
                top: 0;
                bottom: 0;
                right: 16px;
                margin: auto;
                width: 20px;
                height: 20px;
                fill: #fff;
                transition: 0.3s;
            }
            &:hover {
                opacity: 0.8;
                svg {
                    transform: translate(4px, 0);
                }
            }
        }
    }
}
