/*--------------- contact ---------------*/

.contact-wrp,
.page-wrp[class*="job-"] {
    background-color: #f9f9f9;
}

/*.page[class*="job-"] .contents .lead ,*/

.contact .contents .lead {
    padding: 3em 0 0;
}

.page[class*="job-"] .contents .lead {
    padding: 1em 0 4em;
}

.contact .contents h2 {
    margin: 1em auto .5em;
    text-align: center;
    font-weight: bold;
    font-size: 1.3em;
}

.contact .contents h2+p {
    padding-bottom: 0;
}

.contact .contents h3 {
    margin: 1.5em auto .5em;
    padding: 0;
    font-weight: bold;
    font-size: 1.1em;
    text-align: left;
}

.contact .contents h3.has-text-align-center {
    text-align: center;
}

.contact .contents p:last-child {
    padding-bottom: 0;
}

/* .contact .contents .byMail {
    padding-bottom: 50px;
}
 */

/*** tab ****/

.contact .contents .form-tab li {
    padding: 1em;
    color: #036eb8;
    background-color: #fff;
    border: solid 1px #ddd;
    font-size: 1.1em;
    cursor: pointer;
}

.contact .contents .form-tab li.on {
    border: solid 1px #036eb8;
}

.contact .contents .form-tab li strong {
    display: block;
    margin: 0 auto .5em;
    font-size: .9em;
}

.contact .contents .personal-info a,
.page[class*="job-"] .contents .personal-info a {
    color: #036eb8;
    text-decoration: underline;
}

/*** form-wrp ****/

.hide {
    display: none;
}

.contact .form-wrp,
.page[class*="job-"] .form-wrp {
    margin: 0 auto;
    width: 100%;
    max-width: 980px;
    padding: 10px;
}

.contact .tel-wrp {
    margin: 2em auto;
    width: 100%;
    max-width: 850px;
    border: 1px solid #036eb8;
    border-radius: .3em;
    padding: 1.5em 2em;
}

.contact .tel-wrp .wp-block-group__inner-container {
    align-items: center;
}

.contact .tel-wrp h3 {
    margin: 0;
}

.contact .tel-wrp .telnum {
    font-size: 1.6em;
    padding: 0;
    margin: 0;
    margin-right: 1em;
    margin-left: auto;
    color: #036eb8;
}

.contact .tel-wrp .telnum+p {
    font-size: .9em;
}

/*
.form-wrp .form-box {
    display: none;
}

.contact-wrp .input-wrp {
    display: flex;
    margin: 1em auto;
}

.contact-wrp .wpcf7-form-control-wrap {
    display: block;
    width: 80%;
    padding: .5em 0;
}

.wpcf7-form-control {
    width: 100%;
    display: inline-block;
    padding: 1em;
    font-size: 1em;
}

.contact-wrp .wpcf7-form label {
    display: block;
    font-size: .9em;
    padding: 1em 0;
    width: 20%;
    text-align: left;
    white-space: nowrap;
}
*/

.contact-wrp .wpcf7-form label .req {
    color: #db3f3f;
}

/* contact form */

.contact-form-list li {
    font-size: .9em;
    padding-bottom: .5em;
}

.contact-note-list {
    width: 100%;
    max-width: 640px;
    margin: 0 auto;
    text-align: left;
}

.contact-form-wrp h2 {
    font-size: 1.1em;
    margin-bottom: 2em;
}

.contact .contents .form-wrp p {
    line-height: 1.8;
}

.contact-form-table {
    width: 100%;
    margin: 0 auto;
    font-size: 1em;
    font-family: sans-serif;
    table-layout: fixed;
}

.contact-form-table[class*="job_"] {
    margin: 0 auto 6em;
}

.contact-form-table .cell1 {
    width: 23%;
}

.contact-form-table .cell2 {
    width: 77%;
}

.contact-form-table tr {
    border-bottom: 1px solid #ddd;
}

.contact-form-table th {
    padding: 2.5em 0;
    padding-right: 1em;
    vertical-align: top;
    font-weight: normal;
    text-align: left;
}

.contact-form-table td {
    /*    width: 80%;*/
    padding: 2em 0;
    vertical-align: top;
    text-align: left;
}

.contact-form-table .flex {
    flex-wrap: nowrap;
    align-items: center;
    width: 100%;
}

.contact-form-table .flex>p {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    width: 100%;
}

.contact-form-table .flexStart,
.contact-form-table .post-wrp {
    justify-content: flex-start;
}

.contact-form-table span.label {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 1em;
}

.contact-form-table span.label.furigana {
    display: block;
}

.contact-form-table span.label.furigana .sml {
    display: block;
    font-size: .9em;
    white-space: nowrap;
}

.contact-form-table .wpcf7-form-control {
    width: 100%;
    margin: .5em 0;
    padding: 0.75em;
    font-size: 1rem;
    font-family: inherit;
}

.contact-form-table .wpcf7-form-control::placeholder {
    font-size: 1rem;
    font-family: inherit;
}

.contact-form-table .wpcf7-form-control.w1 {
    width: 100%;
}

.contact-form-table .wpcf7-form-control.w2 {
    width: 98%;
}

.contact-form-table .wpcf7-form-control.w3 {
    width: 10em;
}

.contact-form-table .wpcf7-form-control.w4 {
    width: 6em;
}

.contact-form-table .wpcf7-form-control.w5 {
    width: 4em;
}

.contact-form-table .wpcf7-form-control.w6 {
    width: 3em;
}

.contact-form-table .wpcf7-form-control-wrap.your-adress-a,
.contact-form-table .wpcf7-form-control-wrap.your-adress-b,
.contact-form-table .wpcf7-form-control-wrap.company-adress-a,
.contact-form-table .wpcf7-form-control-wrap.company-adress-b {
    width: 48%;
}

.contact-form-table .wpcf7-form-control.rows3 {
    height: 6.5rem;
}

.contact-form-table .wpcf7-form-control.p-postal-code {
    width: 7em;
}

.contact-form-table .w50 {
    width: 48%;
}

.contact-form-table .w40 {
    width: 40%;
}

.wpcf7-list-item-label-dep {
    width: 48%;
    display: flex;
}

.company-dep-other {
    width: 48%;
}

.contact-form-table .req {
    color: red;
}

.wpcf7-form-control-wrap.acceptance {
    width: 100%;
    display: block;
    padding: 0;
}

.wpcf7-acceptance {
    width: 100%;
    display: block;
    padding: 0;
}

.wpcf7-acceptance label {
    display: flex;
    width: 100%;
}

.wpcf7-acceptance label input {
    width: 6%;
}

.wpcf7-acceptance label .wpcf7-list-item-label {
    display: block;
    white-space: pre-wrap;
}

/* radio button */

.contact-form-table .wpcf7-form-control.wpcf7-radio {
    padding: .5em 0 0;
}

.contact-form-table span.wpcf7-list-item {
    margin-left: 0;
    margin-right: 3em;
}

.wpcf7-radio input[type="radio"] {
    display: none;
}

.wpcf7-radio label {
    display: block;
    text-align: left;
    cursor: pointer;
    margin-bottom: 1em;
    position: relative;
}

.wpcf7-radio .wpcf7-list-item-label {
    display: block;
    font-size: .9em;
    padding-left: 2.4em;
}

.wpcf7-radio .wpcf7-list-item-label::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 1.4em;
    height: 1.4em;
    cursor: pointer;
    border-radius: 100%;
    background: #f9f9f9;
    box-sizing: border-box;
    box-shadow: 0 0 1px 1px #ccc;
}

.wpcf7-radio .wpcf7-list-item-label:hover::after {
    box-shadow: 0 0 1px 1px #036eb8;
    transition: 0.2s;
}

.wpcf7-radio .wpcf7-list-item-label::before {
    content: '';
    display: block;
    position: absolute;
    z-index: 1;
    top: calc(0.7em - 0.3em);
    left: calc(0.7em - 0.3em);
    width: 0.6em;
    height: 0.6em;
    border-radius: 100%;
    transition: transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
    transform: scale(0, 0);
    transform-origin: center center;
    background-color: #036eb8;
    border-top-style: none;
    border-right-style: none;
    box-sizing: border-box;
}

.wpcf7-form-control-wrap[data-name="radio-type"] {
    display: block;
    width: 100%;
}

.wpcf7-form-control-wrap[data-name="radio-type"] .wpcf7-form-control.wpcf7-radio {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.wpcf7-form-control-wrap[data-name="radio-type"] span.wpcf7-list-item {
    /*    border:1px solid #ccc;*/
    border-radius: 0.3em;
    display: block;
    width: 32%;
    /* width: 24%; */
    position: relative;
    padding: 0;
    margin: 0;
}

.wpcf7-form-control-wrap[data-name="radio-type"] span.wpcf7-list-item label {
    display: block;
    width: 100%;
    position: relative;
    margin-bottom: 0;
    overflow: hidden;
}

/*
.wpcf7-form-control-wrap[data-name="radio-type"] span.wpcf7-list-item label::before{
    display: block;
    text-align: center;
    position: absolute;
    width:100%;
    top:50%;
    left:0;
    transform: translateY(-1em);
    z-index: 3;
    transition: opacity 0s;
}
*/

/*
.wpcf7-form-control-wrap[data-name="radio-type"] span.wpcf7-list-item:nth-child(1) label::before{
    content: '外国人財について';
}
.wpcf7-form-control-wrap[data-name="radio-type"] span.wpcf7-list-item:nth-child(2) label::before{
    content: 'ミドル・シニア人財について';
}
.wpcf7-form-control-wrap[data-name="radio-type"] span.wpcf7-list-item:nth-child(3) label::before{
    content: 'そのほかのお問い合わせ';
}
*/

.wpcf7-form-control-wrap[data-name="radio-type"] span.wpcf7-list-item .wpcf7-list-item-label {
    width: 100%;
    display: block;
    padding: 2em;
    text-indent: -999px;
}

/*
.wpcf7-form-control-wrap[data-name="radio-type"] span.wpcf7-list-item .wpcf7-list-item-label::after {
    top: calc(50% - 0.6em);
    left:1em;
}
.wpcf7-form-control-wrap[data-name="radio-type"] span.wpcf7-list-item .wpcf7-list-item-label:hover::after {
    box-shadow: 0 0 1px 1px #036eb8;
    transition: 0.2s;
}
*/

/*
.wpcf7-form-control-wrap[data-name="radio-type"] span.wpcf7-list-item .wpcf7-list-item-label::before {
    top: calc(50% - 0.2em);
    left:1.4em;
}
*/

.wpcf7-form-control-wrap[data-name="radio-type"] span.wpcf7-list-item .wpcf7-list-item-label::before,
.wpcf7-form-control-wrap[data-name="radio-type"] span.wpcf7-list-item .wpcf7-list-item-label::after {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: .3em;
    box-shadow: none !important;
}

.wpcf7-form-control-wrap[data-name="radio-type"] span.wpcf7-list-item .wpcf7-list-item-label::after {
    background: #fff;
    border: 1px solid #ccc;
    z-index: 0;
    transition: all .3s;
}

.wpcf7-form-control-wrap[data-name="radio-type"] span.wpcf7-list-item .wpcf7-list-item-label:hover::after {
    border: 1px solid #036eb8;
    box-shadow: none;
}

.wpcf7-form-control-wrap[data-name="radio-type"] span.wpcf7-list-item .wpcf7-list-item-label::before {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: .9em;
    color: #036eb8;
    background-color: transparent;
    text-indent: 0;
    transform: scale(1, 1);
}

.wpcf7-form-control-wrap[data-name="radio-type"] span.wpcf7-list-item:nth-child(1) .wpcf7-list-item-label::before {
    content: '外国人財について';
}

.wpcf7-form-control-wrap[data-name="radio-type"] span.wpcf7-list-item:nth-child(2) .wpcf7-list-item-label::before {
    content: 'ミドル・シニア人財について';
}

/* .wpcf7-form-control-wrap[data-name="radio-type"] span.wpcf7-list-item:nth-child(3) .wpcf7-list-item-label::before {
    content: '派遣登録について／\Aセミナーのお申し込み';
    white-space: pre;
} */

.wpcf7-form-control-wrap[data-name="radio-type"] span.wpcf7-list-item:nth-child(3) .wpcf7-list-item-label::before {
    content: 'そのほかのお問い合わせ';
}

/* === radio on ========= */

.wpcf7-radio input[type="radio"]:checked+.wpcf7-list-item-label::after {
    box-shadow: 0 0 1px 1px #036eb8;
}

.wpcf7-radio input[type="radio"]:checked+.wpcf7-list-item-label::before {
    transform: scale(1, 1);
}

[data-name="radio-type"] .wpcf7-radio input[type="radio"]:checked+.wpcf7-list-item-label::after {
    /*    box-shadow: 0 0 1px 1px #036eb8;*/
    background-color: #036eb8;
}

[data-name="radio-type"] .wpcf7-radio input[type="radio"]:checked+.wpcf7-list-item-label::before {
    /*    transform: scale(1, 1);*/
    color: #fff;
}

/* checkbox */

.checkbox-normal-wrp input[type="checkbox"] {
    display: none;
}

.checkbox-normal-wrp label {
    display: block;
    text-align: left;
    cursor: pointer;
}

.checkbox-normal-wrp .wpcf7-list-item-label {
    display: block;
    position: relative;
    padding-left: 3em;
}

.checkbox-normal-wrp .wpcf7-list-item-label::after {
    content: '';
    display: block;
    position: absolute;
    top: calc(50% - .8em);
    left: 0;
    width: 1.6em;
    height: 1.6em;
    cursor: pointer;
    box-shadow: 0 0 1px 1px #999;
    border-radius: 2px;
    background-color: #f9f9f9;
}

.checkbox-normal-wrp:hover .wpcf7-list-item-label::after {
    box-shadow: 0 0 1px 1px #036eb8;
    transition: 0.2s;
}

.checkbox-normal-wrp .wpcf7-list-item-label::before {
    content: '';
    display: block;
    position: absolute;
    z-index: 1;
    top: calc(50% - .3em);
    left: 0.4em;
    width: 0.7em;
    height: 0.4em;
    transition: transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
    transform: rotate(-45deg) scale(0, 0);
    transform-origin: center center;
    border: 2px solid #fff;
    border-top-style: none;
    border-right-style: none;
}

span.wpcf7-list-item {
    margin: 0;
}

/* === check box on ========= */

.checkbox-normal-wrp input[type="checkbox"]:checked+.wpcf7-list-item-label::after {
    box-shadow: 0 0 1px 1px #036eb8;
    background-color: #036eb8;
}

.checkbox-normal-wrp input[type="checkbox"]:checked+.wpcf7-list-item-label::before {
    transform: rotate(-45deg) scale(1, 1);
}

.checkbox-normal-wrp .wpcf7-acceptance {
    padding: 0;
    margin: 0;
}

.submit-wrp {
    display: block;
    margin: 0 auto;
    text-align: center;
}

.submit-wrp .wpcf7-form-control:disabled {
    background-color: #ddd;
    color: #999;
    border: solid 1px transparent;
}

.submit-wrp .wpcf7-form-control {
    display: inline-block;
    width: 100%;
    max-width: 300px;
    margin: 2em auto;
    background-color: #036eb8;
    color: #fff;
    border: solid 1px #036eb8;
    padding: 1em;
    letter-spacing: .2em;
    font-size: 1.1em;
}

.submit-wrp .wpcf7-form-control.wpcf7-back {
    margin-right: 3em;
    background-color: #fff;
    color: #036eb8;
}


/* === confirmed ========= */

.wpcf7-form.init .confirmed-title,
.wpcf7-form.custom-wpcf7c-confirmed .lead,
.wpcf7-form.custom-wpcf7c-confirmed .job_offer_acceptance,
.wpcf7-form.custom-wpcf7c-confirmed .job_search_acceptance,
.wpcf7-form.invalid .confirmed-title,
.wpcf7-form.sent .confirmed-title {
    display: none;
}

.wpcf7-form .confirmed-title {
    display: inline-block;
    margin: 1.5em auto 3.5em;
    padding: .5em 1.2em;
    line-height: 1;
    font-size: 1.15em;
    font-weight: bold;
    color: #036eb8;
    border: solid 1px #036eb8;
    letter-spacing: .2em;
}

.wpcf7c-conf {
    /*    background-color: #ddd;*/
    background-color: transparent;
    color: #333;
    border: 1px solid transparent;
}


/* job_search / job_offer */

.page[class*="job-"] h2 {
    margin: 0 auto 1em;
    font-size: 1.4em;
    font-weight: bold;
    text-align: left;
}

.contact-form-table.job_search1 .cell1 {
    width: 15%;
}

.contact-form-table.job_search1 .cell2 {
    width: 40%;
}

.contact-form-table.job_search1 .cell3 {
    width: 15%;
}

.contact-form-table.job_search1 .cell4 {
    width: 30%;
}

.contact-form-table.job_offer1 .cell2,
.contact-form-table.job_offer1 .cell4 {
    width: 30%;
}

.contact-form-table.job_offer1 .cell3 {
    width: 15%;
}

.contact-form-table.job_search1 .photo .wpcf7-form-control {
    line-height: 1;
    font-size: 1em;
}

/*.contact-form-table.job_search1 .photo input[type="button"] {*/

.contact-form-table.job_search1 input[type="button"] {
    display: inline-block;
    margin-right: .5em;
}

.contact-form-table.job_search1 .space {
    display: inline-block;
    margin: 0 1em 0 .3em;
}

.contact-form-table[class*="job_"]:not([class*="acceptance"]) tr:first-of-type {
    border-top: 1px solid #ddd;
}

.contact-form-table.job_search4,
.contact-form-table.job_offer4 {
    margin-bottom: 0;
}

.contact-form-table[class*="acceptance"] {
    margin: 2em auto;
}

.contact-form-table[class*="acceptance"] tr {
    border: none;
}

.contact-form-table[class*="job_"] .personal-info {
    margin-top: 1.5em;
}


.contact-form-table.job_offer4 .space {
    display: inline-block;
    margin: 0 1em 0 0;
}

@media screen and (max-width:896px) {

    @media screen and (max-width: 767px) {

        /*--------------- contact ---------------*/
        .contact .contents .byMail li {
            margin-bottom: 1em;
        }

        /*
        .contact-wrp{
            padding: 0 4vw;
        }
    */
        .contact-wrp .form-wrp,
        .page[class*="job-"] .form-wrp {
            padding: 0;
            margin: 0 auto;
        }

        .contact-wrp .input-wrp {
            display: block;
        }

        .contact-wrp .wpcf7 {
            padding: 0;
        }

        .contact-wrp .wpcf7-form-control-wrap {
            width: 100%;
        }

        .contact-wrp .wpcf7-form label {
            display: block;
            /*        font-size: .9em;*/
            /*        padding: 1em 0;*/
            width: 100%;
            text-align: left;
            white-space: nowrap;
        }

        .contact .tel-wrp .wp-block-group__inner-container {
            align-items: center;
            flex-direction: column;
        }

        .contact .tel-wrp .telnum {
            margin: 0 auto;
        }


        @media screen and (max-width:680px) {
            .wpcf7-form-control-wrap[data-name="radio-type"] .wpcf7-form-control.wpcf7-radio {
                flex-wrap: wrap;
            }

            .wpcf7-form-control-wrap[data-name="radio-type"] span.wpcf7-list-item {
                width: 100%;
                margin-bottom: .7em;
            }

            .wpcf7-form-control-wrap[data-name="radio-type"] span.wpcf7-list-item .wpcf7-list-item-label {
                padding: 1em;
            }

            .contact-form-table .cell1,
            .contact-form-table .cell2,
            .contact-form-table .cell3,
            .contact-form-table .cell4,
            .contact-form-table th,
            .contact-form-table td {
                display: block;
                width: 100%;
            }

            .contact-form-table th {
                padding: 2em 0 0;
            }

            .contact-form-table td+th {
                border-top: solid 1px #ddd;
            }

            .contact-form-table td:not([colspan="2"]) {
                padding: .5em 0 2em;
            }

            .contact-form-table .flex {
                /*                display: block;*/
                flex-wrap: wrap;
            }

            .contact-form-table span.label {
                padding: 0 .5em;
            }

            .page.contact .contact-form-table span.label {
                padding: 0;
            }

            .contact-form-table span.label.furigana .sml {
                display: inline-block;
            }

        }

    }
}