/* リセット
----------------------------------------- */



table {
    border-collapse: collapse;
    border-spacing: 0;
}

caption {
    text-align: left;
}

.recruit li, .recruit dt {
    margin: 0;
}

.recruit ul, .recruit ol, .recruit dd {
    margin: 0;
    padding: 0;
    list-style: none;
}

td,
th {
    vertical-align: top;
    padding: 0;
}

th {
    text-align: left;
    font-weight: bold;
}

img,
embed,
object,
iframe {
    vertical-align: bottom;
}

.bg-wave-bottom {
    display: block;
}

.p-sec.f .p-sec-body {
    background: #fff;
    border-radius: 10px;
}

/* .p-sec.f {
    background: #fafafa;
} */

/* 
----------------------------------------- */

.wrap {
    width: 90%;
    max-width: 1000px;
    margin: auto;
}


.mont {
    font-family: "montserrat", sans-serif;
    font-weight: 800;
    font-style: italic;
}


/* 
----------------------------------------- */
.recruit-info-box {
    background: var(--bg-color02);
    padding: 40px;
    border-radius: 20px;
    position: relative;
}

.recruit-info-box-desc {
    color: var(--main-color);
}

.recruit-info-box h2 {
    margin: 0;
    margin-bottom: 1em;
    font-weight: bold;
    color: var(--main-color);
}

@media (max-width:767px) {

    .recruit-info-box h2 {
        font-size: 20px;
    }
}

.recruit-info-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;

}

@media (max-width:767px) {
    .recruit-info-flex {
        flex-direction: column;
    }
}

.recruit-info-text {
    width: 70%;
}



@media (max-width:767px) {
    .recruit-info-text {
        width: 100%;
    }

}

.recruit-info-img {
    width: 30%;
    position: absolute;
    bottom: 0;
    right: 0;
    padding-right: 40px;
}

@media (max-width:767px) {
    .recruit-info-img {
        position: unset;
        width: 50%;
        margin: auto;
        padding-right: 0;
        margin-bottom: -24px;
    }
}

/* .recruit-info-txtlist {
    display: flex;
    flex-wrap: wrap;
}

@media (max-width:767px) {

    .recruit-info-txtlist {
        width: 100%;
        flex-wrap: wrap;
    }

} */

.recruit-info-txtlist li {
    /* width: 50%; */
    padding-left: 1.7em;
    line-height: 2;
    margin-bottom: 1em;
    background: left 7px no-repeat;
    background-size: 20px auto;
    list-style: none;
    font-size: 16px;
    font-weight: bold;
    position: relative;
    background-image: url(../images/icon-check02.svg);
}

@media (max-width:767px) {

    .recruit-info-txtlist li {
        width: 100%;
    }
}

/* 
----------------------------------------- */

.recruit-message p {
    margin: 0;
}

.recruit-message {
    font-size: 30px;
    font-weight: bold;
    text-align: center;
}

@media (max-width:767px) {
    .recruit-message {
        font-size: min(4.7vw, 20px);
    }
}

.marker {
    background: linear-gradient(transparent 60%, #FFF799 60%);
    padding: 0;
    display: inline-block;
    line-height: 1.6;
}

@media (max-width:767px) {
    .marker {
        padding: 0;
    }
}

/* 
----------------------------------------- */
.ttl-box p {
    margin: 0;
}

.ttl-flex {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    /* margin-bottom: 40px; */
}

.ttl-num {
    font-size: 100px;
    color: var(--main-color);
    margin: 0;
    margin-right: 24px;
}

.ttl-box {
    /* width: 67%; */
}

.ttl-box.-intv {
    text-align: center;
    width: 100%;
}

.ttl-box.-req {
    text-align: center;
    width: 100%;
}

.ttl-box.-contact {
    text-align: center;
    width: 100%;
    margin-bottom: 40px;
}

@media (max-width:767px) {
    .ttl-num {
        width: 100%;
        font-size: 50px;
    }

    .ttl-box {
        width: 100%;
    }
}


.ttl-box .ttl {
    font-size: 38px;
    color: var(--main-color);
    font-weight: bold;
    margin: 0;
    line-height: 1.7;
}

.ttl-box .sub-ttl {
    font-size: 18px;
}

.ttl-box .ttl.-intv {
    font-size: 64px;
    color: var(--main-color);
    line-height: 1.4;
    margin-bottom: 40px;
}

.ttl-box .ttl.-req {
    font-size: 64px;
    color: var(--main-color);
    line-height: 1.4;
    margin-bottom: 40px;
}

.ttl-box .ttl.-contact {
    font-size: 64px;
    color: var(--main-color);
    line-height: 1.4;
}

@media (max-width:767px) {
    .ttl-box .ttl {
        font-size: min(6vw, 32px);
    }

    .ttl-box .sub-ttl {
        font-size: 14px;
    }

    .ttl-box .ttl.-intv {
        font-size: 32px;
    }

    .ttl-box .ttl.-req {
        font-size: 32px;
        margin-bottom: 0.5em;
    }

    .ttl-box .ttl.-contact {
        font-size: 32px;
    }
}

/* 
----------------------------------------- */

/* .recruit-point01-bg {
    background: #fff;
} */

.recruit-point01 .recruit-point01-ttl {
    font-size: 32px;
    font-weight: bold;
    text-align: center;
    background: var(--main-color);
    color: #fff;
    padding: .7em 0;
    margin-bottom: 75px;
    position: relative;
}

@media (max-width:767px) {
    .recruit-point01 .recruit-point01-ttl {
        margin-bottom: 20px;
        font-size: 24px;
    }
}

.recruit-point01 .recruit-point01-ttl:after {
    border: solid transparent;
    content: '';
    height: 0;
    width: 0;
    pointer-events: none;
    position: absolute;
    border-color: rgba(106, 90, 205, 0);
    border-top-width: 25px;
    border-bottom-width: 32px;
    border-left-width: 32px;
    border-right-width: 32px;
    margin-left: -32px;
    border-top-color: var(--main-color);
    top: 100%;
    left: 50%;
}


.recruit-point01-ttl .num {
    font-size: 48px;
}

/* 
----------------------------------------- */

.recruit-point-lead {
    color: var(--main-color);
    font-size: min(5vw, 26px);
    font-weight: bold;
}

.step-box-wrap {
    padding-top: 40px;
    border-top: dotted 6px #eee;
    margin-bottom: 24px;
    margin-top: 24px;
}

.step-box {
    background: var(--bg-color01);
    padding: 24px;
    position: relative;
    border-radius: 10px;
}

.step-box-ttl {
    position: absolute;
    top: -16px;
    left: 20px;
    color: var(--main-color);
    font-size: 18px;
    font-weight: bold;
}

.step-list {
    list-style: none;
    counter-reset: step;
    padding-left: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.step-list li {
    counter-increment: step;
    position: relative;
    padding-left: 40px;
    font-size: 14px;
}

.step-list li::before {
    content: counter(step);
    position: absolute;
    left: 0;
    top: 5px;
    width: 20px;
    height: 20px;
    background: var(--main-color);
    color: #fff;
    border-radius: 2px;
    text-align: center;
    line-height: 1.4;
    font-weight: bold;
    font-size: 14px;
}

/* 
----------------------------------------- */
.recruit-case {
    display: flex;
    justify-content: space-between;
    gap: 40px;
}

@media (max-width:767px) {
    .recruit-case {
        flex-direction: column;
        gap: 20px;
    }
}

.recruit-case-item {
    display: flex;
    gap: 8px;
}

.recruit-case-text span {
    background: #FAFAFA;
    border-radius: 10px;
    padding: 24px;
    display: inline-block;
    font-size: 14px;
}

.recruit-case-img {
    width: 37%;
}

@media (max-width:767px) {
    .recruit-case-img {
        width: 100%;
    }

}

.fig-voice {
    width: 80px;
    margin-top: 10px;
}

/* 
----------------------------------------- */
.recruit-point-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 20px !important;
}

@media (max-width:767px) {
    .recruit-point-list {
        gap: 16px;
        margin-top: 0 !important;
    }
}

.recruit-point-listitem {
    width: calc((100% - 40px)/ 3);
    border: solid 3px var(--main-color);
    color: var(--main-color);
    background: #fff;
    border-radius: 10px;
    padding: 20px;
}

@media (max-width:767px) {
    .recruit-point-listitem {
        padding: 16px;
        width: 100%;
    }
}


.recruit-point-listitem-ttl {
    display: flex;
    align-items: center;
}

.recruit-point-listitem-ttl.-staff {
    margin-bottom: 0;
}

.recruit-point-listitem-ttl h3 {
    margin: 0;
    line-height: 1.7;
    font-size: 16px;
    font-weight: bold;
}

@media (max-width:767px) {
    .recruit-point-listitem-ttl h3 {
        font-size: 16px;
    }
}

.recruit-point-listitem p {
    margin: 0;
}

.icon-point {
    width: 30px;
    margin-right: 1em;
}

.recruit-point-img {
    border-radius: 20px;
    margin-bottom: 40px;
}

@media (max-width:767px) {
    .recruit-point-img {
        margin-bottom: 10px;
        margin-top: 10px;
    }
}

/* 
----------------------------------------- */

.recruit-point-bg {
    background: var(--bg-color07);
}

.recruit-point02-desc {
    font-size: 26px;
    font-weight: bold;
    padding: 1em;
    border-top: var(--main-color) solid 2px;
    border-bottom: var(--main-color) solid 2px;
    color: var(--main-color);
    text-align: center;
    margin-top: 60px;
    margin-bottom: 60px;
}

@media (max-width:767px) {
    .recruit-point02-desc {
        font-size: 20px;
        text-align: center;
        margin-top: 30px;
    }
}

.recruit-point02 h3 {
    font-size: 19px;
    font-weight: bold;
    text-align: center;
    margin-bottom: .5em;
}

.recruit-point02 ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.recruit-point02 li {
    width: calc((100% - 90px)/ 3);
    text-align: center;
}

@media (max-width:767px) {
    .recruit-point02 li {
        width: 100%;
        margin: auto;
        margin-bottom: 40px;
    }

    .recruit-point02 li:last-child {
        margin-bottom: 0;
    }
}

.recruit-point02 li img {
    width: 180px;
    margin: auto;
    margin-bottom: 24px;
}

.recruit-point02 li p {
    margin: 0;
    text-align: left;
}





/* 
----------------------------------------- */

/* .recruit-point03-bg {
    background: #fff;
} */

.recruit-point03-desc {
    background: #26346E;
    color: #fff;
    padding: 1em;
    border-radius: 10px;
    display: inline-block;
    font-size: 26px;
    font-weight: bold;
    text-align: center;
    margin-bottom: -56px;
    margin-top: 56px;
    position: relative;
}

@media (max-width:767px) {
    .recruit-point03-desc {
        font-size: 16px;
        width: 100%;
    }
}

.recruit-point03-desc:before {
    position: absolute;
    top: 100%;
    left: calc(50% - 10px);
    height: 0;
    width: 0;
    border: solid transparent;
    content: "";
}

.recruit-point03-desc:before {
    margin-left: -10px;
    border-color: transparent;
    border-top-color: #26346E;
    border-right-color: #26346E;
    border-width: 10px;
}

.recruit-point03-desc span {
    font-size: 16px;
    font-weight: normal;
}

@media (max-width:767px) {
    .recruit-point03-desc span {
        font-size: 14px;
    }
}

.recruit-point03-box {
    background: #fff;
    padding: 50px;
    padding-left: 70px;
    padding-top: 70px;
    border-radius: 10px;
    margin: 0 20px;
}

@media (max-width:767px) {
    .recruit-point03-box {
        padding: 1em;
        padding-left: 40px;
        padding-top: 50px;
        margin: 0;
    }
}



/* 
----------------------------------------- */

.recruit-point04-desc {
    font-size: 26px;
    font-weight: bold;
    padding: 1em;
    border-top: #26346E solid 2px;
    border-bottom: #26346E solid 2px;
    text-align: center;
    margin-top: 60px;
    margin-bottom: 30px;
}

@media (max-width:767px) {
    .recruit-point04-desc {
        font-size: 18px;
        text-align: left;
        margin-top: 30px;
    }
}



@media (max-width:767px) {}




/* recruit-intv
--------------------------------------- */

/* .recruit-intv-bg {
    background: #F4F1ED;
} */

.recruit-intv-area.-mt {
    margin-top: 80px;
}

@media only screen and (max-width: 767px) {
    .recruit-intv-area.-mt {
        margin-top: 40px;
    }
}

.recruit-intv-text {
    margin-top: 1em;
}

.recruit-intv table {
    width: 100%;
    margin-top: 24px;
    font-size: 14px;
}

.recruit-intv tr {
    font-weight: normal;
    margin-bottom: 1em;
}


.recruit-intv th {
    height: 100%;
    font-size: 18px;
    padding: 10px 0;
    padding-left: 1em;

}

.recruit-intv td {
    padding-left: 20px;
}

.recruit-intv .fa-solid {
    font-size: 30px;

}

.recruit-intv .text {
    padding: .5em;
}

.recruit-intv .q-area-text {
    color: #fff;
    background: var(--main-color);
    vertical-align: middle;
    position: relative;
}

.recruit-intv .a-area-text {
    background: var(--bg-color02);
    padding-bottom: 1em;
    line-height: 1.8;
}


.recruit-intv .q-area {
    background: var(--main-color);
    color: #fff;
    height: 100%;
}

.recruit-intv .a-area {
    background: var(--bg-color02);
    color: var(--main-color);
    height: 100%;
}







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

/* 
----------------------------------------- */

.recruit-req-bg {
    background: #fff;
}

.recruit-req-ttl {
    background: #F0F0F0;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    padding: 1em;
    margin: 0;
}

.recruit-req dl {
    border-bottom: 1px #F0F0F0 solid;
    display: flex;
}

.recruit-req dt {
    width: 20%;
    background: #FAFAFA;
    padding: 1em;
    margin: 0;
}

.recruit-req dd {
    width: 80%;
    background: #fff;
    padding: 1em;
    border-right: 1px #F0F0F0 solid;
}

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

    .recruit-req dt {
        width: 35%;
    }

    .recruit-req dd {
        width: 65%;

    }
}


/* 
----------------------------------------- */

.recruit-contact-bg {
    background: var(--bg-color02);
}

.recruit-contact dl.f-field>dt {
    padding: 0;
    padding-top: 2em;
    /* padding-bottom: .5em; */
}

.recruit-contact .policy {
    margin-top: 40px;
    margin-bottom: 30px;
}

/* 
----------------------------------------- */

/* .btn-recruit-wrap {
    text-align: center;
}

.btn-recruit {
    display: inline-block;
    font-size: 24px;
    font-weight: bold;
    width: 100%;
    max-width: 600px;
    background: #CF000E;
    color: #fff;
    padding: .7em;
    transition: all .7s;
    margin: auto 0;
    border-radius: 35px;
    text-align: center;
} */

/* 
----------------------------------------- */

.btn-recruit-wrap {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 40px;
    margin-top: 40px;
}

@media only screen and (max-width: 767px) {
    .btn-recruit-wrap {
        gap: 20px;
    }
}

.btn-recruit {
    display: block;
    font-size: min(4vw, 24px);
    font-weight: bold;
    width: 520px;
    border: solid 3px #26346E;
    color: #26346E;
    padding: .7em;
    transition: all .7s;
    margin: auto 0;
    border-radius: 10px;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
    position: relative;
}

@media only screen and (max-width: 767px) {
    .btn-recruit {
        width: 100%;
    }
}

.btn-recruit span {
    font-size: 14px;
    font-weight: normal;
    color: #000;
}

.btn-recruit .fa-circle-down {
    position: absolute;
    right: 40px;
    bottom: 25px;
}

@media only screen and (max-width: 767px) {
    .btn-recruit .fa-circle-down {
        right: 10px;
        font-size: 20px;
    }
}