@charset "utf-8";
/* CSS Document */

/*基本*/
div.webform_wrap {
    font-size: 1.6rem;
    line-height: 1.5;
    text-align: left;
    padding: 0 1rem;
    @media screen and (max-width: 640px) {
        font-size: 1.4rem;
    }
    .pc_hide {
        display: none;
        @media screen and (max-width: 640px) {
            display: block;
        }
    }
    /*テキスト*/
    .color_pink {
        color: #eb6d94;
    }
    span.kome {
        font-size: 1.4rem;
    }

    /* タイトル */
    h1 {
        width: 80%;
        max-width: 424px;
        margin: 5rem auto;
        @media screen and (max-width: 640px) {
            margin: 2rem auto;
        }
        img {
            width: 100%;
            height: auto;
        }
    }
    /* 募集要項 */
    .bosyuyoko_warap {
        margin: 5rem auto 7rem;
        text-align: center;
        @media screen and (max-width: 640px) {
            margin: 3rem auto 4rem;
        }
        p {
            font-size: 2rem;
            position: relative;
            margin-bottom: 5rem;
            letter-spacing: 0.1em;
            @media screen and (max-width: 640px) {
                font-size: 1.6rem;
                line-height: 1.75;
                margin-bottom: 4rem;
            }
            &::after {
                content: "";
                display: block;
                width: 3rem;
                height: 3rem;
                background-image: url(../img/web_form/yajirushi.svg);
                background-size: contain;
                background-repeat: no-repeat;
                position: absolute;
                bottom: -4rem;
                left: 0;
                right: 0;
                margin: auto;
            }
            @media screen and (max-width: 480px) {
                &::after {
                    width: 2rem;
                    height: 2rem;
                    bottom: -3rem;
                }
            }
        }
        a {
            display: block;
            background-color: #eb6d94;
            color: #fff;
            line-height: 2.5;
            width: 80%;
            max-width: 360px;
            margin: auto;
            border-radius: 0.5rem;
            text-decoration: none;
            font-size: 2rem;
            @media screen and (max-width: 480px) {
                font-size: 1.6rem;
            }
        }
    }

    #asuka_form_wrap {
        margin-bottom: 5rem;
        @media screen and (max-width: 480px) {
            margin-bottom: 2rem;
        }

        .kinyuhouhou {
            line-height: 1.75;
            margin-bottom: 2rem;
            p {
                font-size: 1.4rem;
            }
        }

        /* テーブル */
        table {
            width: 100%;
            overflow: hidden;
            @media screen and (max-width: 640px) {
                width: 100%;
                overflow: hidden;
            }
            tbody {
                @media screen and (max-width: 640px) {
                    display: block;
                }
                tr {
                    @media screen and (max-width: 640px) {
                        display: block;
                    }
                    &:first-child {
                        th {
                            border-top: 1px solid #fff;
                        }
                        td {
                            border-top: 1px solid #eb6d94;
                        }
                    }
                    th {
                        padding: 2rem 1rem;
                        font-weight: normal;
                        vertical-align: middle;
                        background-color: #f9d1cb;
                        border-bottom: 1px solid #fff;
                        width: 19.2rem;
                        text-align: center;
                        @media screen and (max-width: 640px) {
                            text-align: left;
                            width: auto;
                            display: block;
                            padding: 1rem 0.5rem;
                        }
                    }

                    td {
                        padding: 2rem 0 2rem 2rem;
                        border-bottom: 1px solid #eb6d94;
                        @media screen and (max-width: 640px) {
                            display: block;
                            padding: 1rem 0;
                            & > label {
                                display: block;
                                margin-right: 0;
                                margin: 0.75em 0;
                            }
                        }

                        &.saisyu_gakureki {
                            h4 {
                                color: #eb6d94;
                                .wpcf7-list-item {
                                    display: block;
                                    margin: 0 0 1em;
                                }
                            }
                        }
                        &.form_flex {
                            div {
                                display: inline-block;
                                @media screen and (max-width: 640px) {
                                    display: block;
                                }
                                &.zip_wrap {
                                    @media screen and (min-width: 641px) {
                                        display: block;
                                    }
                                }
                                label {
                                    display: block;
                                }
                            }
                        }

                        label {
                            margin: 0 0.5rem;
                        }
                        & > label {
                            @media screen and (max-width: 640px) {
                                display: block;
                                margin-right: 0;
                                margin: 0.75em 0;
                            }
                        }
                        .label_text_s {
                            font-size: 1.4rem;
                            color: #595757;
                            @media screen and (max-width: 640px) {
                                font-size: 1.2rem;
                            }
                        }

                        /* 最終学歴部分 */
                        &.saisyu_gakureki {
                            .saisyu_gakureki_wrap {
                                border-top: 1px solid #999;
                                margin-top: 1em;
                                padding-top: 1em;
                                @media screen and (max-width: 640px) {
                                    .wpcf7-list-item {
                                        display: inline-block;
                                        margin: 1em;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        /* 志望動機 */
        .shibouriyu,
        .photo_uplode {
            h3 {
                font-size: 2.4rem;
                margin: 3rem 0 1rem;
                color: #eb6d94;
                line-height: 1.5em;
                font-weight: normal;
                @media screen and (max-width: 640px) {
                    font-size: 1.6rem;
                    margin: 3rem 0 1rem;
                }
            }
        }
        .shibouriyu {
            .text_count {
                font-size: 1.8rem;
                color: #333;
                margin: 0.75rem 0;
                text-align: right;
                span {
                    font-size: 1.4rem;
                    &.cnt {
                        font-size: 1.8rem;
                    }
                }
            }
            textarea {
                width: 100%;
                font-size: 1.6rem;
                padding: 0.5rem;
                border: 1px solid #000;
                box-sizing: border-box;
                line-height: 1.75em;
                height: 14rem;
                @media screen and (max-width: 640px) {
                    height: 28rem;
                }
            }
        }
        /* 写真アップロード */
        .photo_uplode {
            p {
                line-height: 1.5em;
            }
            .fileselect {
                border: 2px solid #eb6d94;
                padding: 1rem;
                margin: 1rem 0;
                border-radius: 1rem;
                /* ファイル選択ボタン */
            }
        }

        /* フォームパーツ */

        input[type="radio"] {
            margin-right: 0.5em;
            @media screen and (max-width: 640px) {
                font-size: 1.4rem;
            }
        }

        input[type="text"],
        input[type="email"],
        input[type="tel"] {
            font-size: 1.6rem;
            padding: 0.5em;
            border: 1px solid #000;
            border-radius: 0.25em;
            margin: 0.5rem;
            @media screen and (max-width: 640px) {
                font-size: 1.4rem;
                margin: 0.5rem 0;
                width: 100% !important;
                box-sizing: border-box;
            }
            &#zip {
                width: 12em !important;
            }
            &.year {
                width: 4em;
                @media screen and (max-width: 640px) {
                    width: 5em !important;
                    margin: 0.5rem;
                }
            }
        }

        input[type="file"] {
            font-size: 1.6rem;
            font-weight: bold;
            padding: 0.5em 0;
            @media screen and (max-width: 640px) {
                font-size: 1.4rem;
            }
        }
        select {
            -webkit-appearance: none;
            appearance: none;
            font-size: 1.6rem;
            padding: 0.5em;
            margin: 0.5rem;
            border: 1px solid #000;
            background-color: #fff;
            min-width: 8rem;
            padding-right: 2em;
            height: 2.5em;
            box-sizing: border-box;
            background-image: url(../img/web_form/select_back.png);
            background-position: center right;
            background-repeat: no-repeat;
        }

        /*サイズ*/
        .size_ss {
            width: 2em;
            text-align: center;
        }
        .size_s {
            width: 4em;
            text-align: center;
        }
        .size_m {
            width: 25.6rem;
        }
        .size_ml {
            width: 32rem;
        }
        .size_l {
            width: 32rem;
        }
        /* 送信ボタン */
        .submit_wrap {
            margin: 5rem 0 0;
            text-align: center;
            @media screen and (max-width: 640px) {
                margin: 3rem 0 0;
            }
            .kakunin {
                background-color: rgb(192, 237, 255);
                font-size: 1.6rem;
                border-radius: 0.5rem;
                line-height: 1.75;
                padding: 1em;
                color: rgb(2, 104, 145);
                word-break: keep-all;
                margin-bottom: 3rem;
                strong {
                    display: inline-block;
                    margin-bottom: 0.5em;
                }
                a {
                    font-weight: bold;
                }
                @media screen and (max-width: 640px) {
                    font-size: 1.4rem;
                }
            }
            .check_box {
                margin: 3rem auto 2rem;
                label {
                    font-size: 1.6rem;
                    background-color: #eee;
                    display: inline-block;
                    padding: 1em 2em;
                    cursor: pointer;
                    border-radius: 1em;
                    @media screen and (max-width: 640px) {
                        font-size: 1.4rem;
                        padding: 1em;
                    }
                    &:has(input[type="checkbox"]:checked) {
                        background-color: #a6f69a;
                    }
                }
            }

            input[type="submit"],
            input[type="button"] {
                -webkit-appearance: none;
                appearance: none;
                font-size: 2rem;
                padding: 1em 1.5em;
                width: 80%;
                max-width: 32rem;
                margin-top: 2rem;
                border: none;
                background-color: #eb6d94;
                border-radius: 9999px;
                color: #fff;
                letter-spacing: 0.1em;
                font-weight: normal;
                cursor: pointer;
                &:hover {
                    opacity: 0.8;
                }
                &:disabled,
                &:disabled:hover {
                    background-color: #aaa;
                    opacity: 1;
                }
            }
        }
        /* エラー表示 */
        td:has(.wpcf7-not-valid-tip),
        .fileselect:has(.wpcf7-not-valid-tip),
        .shibodouki[aria-invalid="true"] {
            background-color: #ff9;
        }
    }
    /* 手順 */
    .tejyun_wrap {
        line-height: 1.75;
        font-size: 1.6rem;
        @media screen and (max-width: 640px) {
            font-size: 1.4rem;
        }
        h5 {
            margin-bottom: 1rem;
            font-weight: normal;
        }
        ul {
            margin-bottom: 1rem;
        }
        div {
            margin: 3rem auto;
        }
        span {
            font-size: 1.125em;
            font-weight: bold;
        }
    }
}

@media screen and (max-width: 640px) {
    .web_form .size_m,
    .web_form .size_ml,
    .web_form .size_l {
        box-sizing: border-box;
        /* width: 100%; */
    }
}

label.error {
    background: #eb6d94;
    display: block;
    padding: 0.5rem;
    color: #fff;
    margin: 0.5rem 0;
}
