@charset "utf-8";

.contact_section {
    .w1344 {
        padding: 140rem 0 110rem;

        @media (max-width: 1023px) {
            padding: 80rem 0 120rem;
        }

        .box {
            background: #fff;
            border: 1px solid #e6006d;
            max-width: 1120rem;
            width: 90%;
            margin: 0 auto;
            padding: 80rem 0;
            border-radius: 20px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;

            @media (max-width: 1023px) {
                padding: 40rem 0 64rem 0;
                max-width: 100%;
                width: 100%;
            }

            .title {
                font-family: var(--font-mein);
                font-weight: 600;
                font-size: 32rem;
                letter-spacing: 0.08em;
                line-height: calc((56 / 32) * 1em);
                text-align: center;
                color: #000;
                margin-bottom: 40rem;


                @media (max-width: 1023px) {
                    font-size: 22rem;
                }
            }

            .desc {


                margin-bottom: 80rem;

                p {
                    font-family: var(--font-mein);
                    font-weight: normal;
                    font-size: max(14px, 16rem);
                    line-height: calc((32 / 16) * 1em);
                    letter-spacing: 0.08em;
                    text-align: center;
                    color: #000;

                    @media (max-width: 1023px) {
                        font-size: 14rem;
                        line-height: 24rem;
                    }
                }
            }

        }
    }

    .formWrap {
        font-size: 16px;
        max-width: 840rem;
        width: 100%;
        margin: 0 auto;

        @media (max-width: 1023px) {
            max-width: 94%;
        }

            .row {
                flex-direction: column;
                margin: 0;
                gap: 16rem;
            }

            .col {
                padding: 0;
                align-items: center;
                justify-content: center;
                display: flex;
            }

            .formcolumn {
                display: flex;
                flex-direction: column;
                gap: 24rem;
                width: 100%;
            }



            .formTh {
                display: flex;
                gap: 8rem;
                align-items: center;

                .label {
                    font-family: var(--font-mein);
                    font-weight: 400;
                    font-size: max(14px, 16rem);
                    letter-spacing: 0.08em;
                    line-height: calc((32 / 16) * 1em);
                    color: #000;
                }

                .requiredText {
                    background: #e6006d;
                    font-family: var(--font-mein);
                    font-weight: 500;
                    font-size: 12px;
                    line-height: 25px;
                    text-align: center;
                    color: #fff;
                    padding: 4rem;
                }
            }

            .formTd {
                select, input, textarea {
                    width: 100%;
                    border-radius: 30px;
                    border: 1px solid #C6C6C6;
                    background-color: #FFF;
                    padding: 0 10rem;
                    font-size: max(14px, 16rem);
                }

                select, input {
                    height: 60rem;
                }

                textarea {
                    line-height: calc((32 / 16) * 1em);
                    min-height: 396rem;
                    max-height: 396rem;
                    max-width: 100%;

                    @media (max-width: 1023px) {
                        min-height: 150rem;
                        max-height: 150rem;
                    }
                }

            }

            #privacy {
                appearance: none;
                -webkit-appearance: none;
                /* Safari対応 */
                width: 30rem;
                height: 30rem;
                border: 1px solid #E6006D;
                border-radius: 4px;
                cursor: pointer;
                position: relative;
                width: 30rem;
                height: 30rem;
                border: 1px solid #E6006D;
            }

            .privacyLabel {
                font-family: var(--font-mein);
                font-weight: 400;
                font-size: max(14px, 16rem);
                letter-spacing: 0.08em;
                line-height: calc((32 / 16) * 1em);
                color: #000;

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

            #privacy:checked {
                background-color: #E6006D;
                border-color: #E6006D;
            }

            #privacy:checked::after {
                content: "";
                position: absolute;
                left: 8rem;
                top: 4rem;
                width: 8rem;
                height: 14rem;
                border-right: 2px solid #fff;
                border-bottom: 2px solid #fff;
                transform: rotate(45deg);
            }

            .privacyBox {
                width: 100%;
                height: 180px;
                margin: 0 auto;
                padding: 20px 5%;
                border: 1px solid #898989;
                overflow-y: scroll;
                overflow-x: hidden;
                background-color: #fff;
                border-radius: 30px;
            }

            .privacyBox {
                font-size: max(14px, 16rem);
                line-height: calc((32 / 16) * 1em);
            }

            .secbtn {
                max-width: 300rem;
                width: 100%;
                height: 64rem;
                font-family: var(--font-mein);
                font-weight: bold;
                font-size: max(16px, 18rem);
                letter-spacing: 0.08em;
                text-align: center;
                color: #fff;
            }

            .secbtn:hover {
                color: #E6006D;
                cursor: pointer;
            }

            .formRow.mt80 {
                margin-top: 80rem;
            }
        }
    }



    .contact_section.thanks {
        .w1344 {


            .box {
                padding: 80rem 198rem;

                @media (max-width: 1023px) {
                    padding: 40rem 20rem 64rem 20rem;
                }

                .title {
                    margin-bottom: 32rem;
                }


                .img {
                    max-width: 200rem;
                    width: 100%;
                    margin-bottom: 40rem;

                    @media (max-width: 1023px) {
                        max-width: 168rem;
                    }

                    img {
                        width: 100%;
                        height: auto;
                    }
                }

                .desc {
                    margin-bottom: 40rem;



                    p {
                        font-family: var(--font-mein);
                        font-weight: normal;
                        font-size: max(14px, 16rem);
                        line-height: calc((32 / 16) * 1em);
                        letter-spacing: 0.08em;
                        text-align: center;
                        color: #000;

                        @media (max-width: 1023px) {
                            font-size: 14rem;
                            line-height: 24rem;
                        }
                    }
                }

                .secbtn {
                    max-width: 300px;
                    width: 100%;
                    height: 64px;
                }
            }
        }
    }