@import url('_common.css');

/*cssのリセット*/
::-webkit-input-placeholder
{
    /* WebKit系ブラウザー用 */
    opacity: 0.5; /* 0〜1の範囲で不透明度を指定 */
}

/* contact画面用 */

.background
{
    position: absolute;
    top: 14%;
    width: 100%;
    height: 80%;
    margin-top: 300px;
    background: linear-gradient(to right, #E5E2FF, #D8EEE4);
    z-index: -1;

    @media screen and (max-width: 767px)
    {
        top: 7%;
        height: 120%;
    }
}

.application_form
{
    position: relative;
    width: 90%;
    max-width: 1024px;
    margin: 60px auto;
    padding: 40px 15px;
    border-radius: 30px;
    box-shadow: 0 0 3px gray;
    background-color: #FFF;

    @media screen and (max-width: 767px)
    {
        padding: 40px 5px;
    }

    .title
    {
        p
        {
            width: 95%;
            margin: 0 auto;
            font-size: 26px;
            font-weight: 800;
            line-height: 1.3;
            border-bottom: solid 4px #339999;
        }
    }

    .form
    {
        width: 60%;
        margin: 0 auto;
        text-align: center;

        @media screen and (max-width: 767px)
        {
            width: 90%;
        }

        table
        {
            table-layout: fixed;
            width: 80%;
        }

        .contact_form
        {
            text-align: center;
            font-size: 30px;
            margin: 30px 0;
            display: block;

            .item
            {
                display: flex;
                align-items: center;
                justify-content: space-between;
                padding: 10px 0;

                .item-name
                {
                    display: flex;
                    align-items: center;
                    justify-content: space-between;
                    width: 50%;

                    .tag
                    {
                        font-weight: 600;
                        
                        p
                        {
                            font-size: 20px;
                        }
                    }

                    .required
                    {
                        width: auto;
                        height: 4%;
                        text-align: center;
                        margin-right: 35px;
                        background-color: red;
                        border-radius: 5px;
                        padding: 3px;

                        p
                        {
                            text-align: center;
                            font-size: 20px;
                            color: white;
                            border-radius: 2px;
                            padding-top: 2px;
                        }
                    }

                    .no_required
                    {
                        width: 4%;
                        height: 4%;
                        text-align: center;
                        margin-right: 35px;
                        background-color: white;
                    }
                }

                .course_name
                {
                    font-size: 20px;

                    @media screen and (max-width: 767px)
                    {
                        font-size: 16px;
                    }
                }

                .input_area
                {
                    display: block;
                    width: 40%;

                    .input_field
                    {
                        width: 100%;
                        height: 30px;
                        border-radius: 5px;
                        border: solid 1px #339999;
                        font-size: 16px;
                    }

                    .text_input_field
                    {
                        height: 80px;
                        width: 100%;
                        font-size: 20px;
                        border: solid 1px #339999;
                        border-radius: 5px;
                        font-size: 16px;
                    }

                    .error-message, .privacy-error-message
                    {
                        text-align: left;
                        color: red;
                        font-size: 16px;
                    }
                    .privacy-error-message
                    {
                        margin-top: 10px;
                    }

                    .acceptance_field
                    {
                        display: flex;

                        input[type=checkbox]
                        {
                            transform: scale(2);
                            margin-right: 20px;
                        }

                        .privacy_txt
                        {
                            font-size: 20px;

                            @media screen and (max-width: 767px)
                            {
                                font-size: 14px;
                            }

                            a
                            {
                                color: #339999;
                                opacity: 1;
                                transition: 0.2s;

                                &:hover
                                {
                                    opacity: 0.5;
                                    transition: 0.2s;
                                }
                            }
                        }
                    }

                    @media screen and (max-width: 767px)
                    {
                        width: 100%;

                        .input_field, .text_input_field, .error-message, .privacy-error-message
                        {
                            font-size: 14px;
                        }
                    }
                }

                @media screen and (max-width: 767px)
                {
                    flex-direction: column;

                    .item-name
                    {
                        justify-content: flex-start;
                        width: 100%;
                        margin-bottom: 10px;

                        .tag p
                        {
                            font-size: 16px;
                        }

                        .required
                        {
                            margin-left: 20px;

                            p
                            {
                                font-size: 14px;
                            }
                        }
                    }
                }

                @media screen and (max-width: 767px)
                {
                    &.check_agree
                    {
                        flex-direction: row;
                        justify-content: center;
    
                        .item-name
                        {
                            width: 0;
                        }

                        .privacy_txt
                        {
                            font-size: 16px;
                        }
                    }
                }
            }
        }

        .g-recaptcha
        {
            left: 0;
            color: white;
            background-color: #339999;
            border: none;
            border-radius: 35px;
            padding: 20px 0 20px 0%;
            width: 16%;
            font-size: 0.8vw;
            position: relative;
            text-align: center;

            &::before
            {
                position: absolute;
                content: url(../img/arrow-right.jpg);
                width: 10%;
                height: 1%;
                margin-right:  2px;
                left: 10%;
                top: 30%;
            }
        }
    }
}
