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



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

caption {
    text-align: left;
}

.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;
}

.p-sec.f .p-sec-body {
    background: #FAFAFA;
}

.p-sec.f .sub-ttl {
    margin: 0;
    color: #000;
}

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

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

.wrap960 {
    width: 90%;
    max-width: 960px;
    margin: auto;
}

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


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


/* 
----------------------------------------- */
.recruit-info-box {}

.recruit-info-box h2 {
    margin: 0;
    margin-bottom: 1em;
    font-weight: bold;
}

@media (max-width:767px) {

    .recruit-info-box h2 {
        font-size: 24px;
        text-align: center;
    }
}

.recruit-info-flex {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 40px;
}

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

.recruit-info-text {
    width: 40%;
    position: relative;
}

/* .recruit-info-text:after {
    border: solid transparent;
    content: '';
    height: 0;
    width: 0;
    pointer-events: none;
    position: absolute;
    border-color: rgba(106, 90, 205, 0);
    border-top-width: 32px;
    border-bottom-width: 32px;
    border-left-width: 32px;
    border-right-width: 32px;
    border-top-color: #F3F0EE;
    transform: rotate(-90deg);
    top: 45%;
    right: -54px;
} */

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

    /* 
    .recruit-info-text:after {
        transform: unset;
        top: 100%;
        right: 50%;
        margin-right: -32px;
    } */

}

.recruit-info-img {
    width: 45%;
}

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

.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/recruit/icon-check.svg);
}

@media (max-width:767px) {

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

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

.recruit-message p {
    margin: 0;
}

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

.recruit-message span {
    font-size: 32px;
}


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

    .recruit-message span {
        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;
    gap: 24px;
}

@media (max-width:767px) {
    .ttl-flex {
        gap: 0;
        margin-bottom: 24px;
    }
}

.ttl-num {
    font-size: 64px;
    color: var(--accent-color);
    margin: 0;
}

.ttl-num span {
    font-size: 56px;
    font-weight: normal;
    font-family: "Times New Roman", serif;
}

@media (max-width:767px) {
    .ttl-num span {
        font-size: 40px;
    }
}

.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: 20px;
}

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

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


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

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

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

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

.ttl-box .ttl.-contact {
    font-size: 64px;
    color: var(--accent-color);
    line-height: 1.2;
    margin-bottom: 16px;
}

@media (max-width:767px) {
    .ttl-box .ttl {
        font-size: 24px;
    }

    .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;
}

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

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

    .recruit-point01 .recruit-point01-ttl span {
        font-size: 34px;
    }
}

/* .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: #FD653D;
    top: 100%;
    left: 50%;
} */


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



.recruit-point01-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.recruit-point01-listitem {
    width: calc((100% - 40px)/ 2);
    margin-top: 40px;
    border: solid 3px var(--sub-color);
    border-radius: 10px;
    padding: 40px;
}

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


.recruit-point01-listitem-ttl {
    display: flex;
    align-items: center;
    margin-bottom: 24px;
}

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

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

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

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

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

.recruit-point02-bg {
    background: #F0F7FC;
}

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

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

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

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

.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 {
    max-height: 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-point03 ul {
    margin-top: 2em;
}

.recruit-point03 li {
    border-bottom: var(--post-color) solid 2px;
    margin-bottom: 1em;
}

.recruit-point03 li {
    position: relative;
    padding-left: 1em;
    padding-bottom: 2em;
    margin-bottom: 2em;
}

@media (max-width:767px) {
    .recruit-point03 li {
        font-size: 18px;
    }
}

.recruit-point03 li::before {
    content: "";
    background: url(../images/recruit/icon-arrow.svg);
    background-size: cover;
    width: 10px;
    height: 16px;
    position: absolute;
    left: 0;
    top: 8px;
    display: inline-block;
}

.recruit-point03 li h3 {
    font-size: 20px;
    margin-bottom: .7em;
    font-weight: bold;
    color: var(--sub-color);
}

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

.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;
    }
}

.recruit-point04-flex {
    display: flex;
}

.recruit-point04 ul {
    width: 60%;
}

.recruit-point04-img {
    width: 40%;
}

@media (max-width:767px) {
    .recruit-point04-flex {
        flex-direction: column;
        align-items: center;
    }

    .recruit-point04 ul {
        width: 100%;
        margin-bottom: 1em;
    }

    .recruit-point04-img {
        width: 60%;
    }
}

.recruit-point04 li {
    position: relative;
    font-size: 20px;
    font-weight: bold;
    display: flex;
    padding-left: 1.4em;
    margin-bottom: .5em;
}

@media (max-width:767px) {
    .recruit-point04 li {
        font-size: 18px;
    }
}

.recruit-point04 li::before {
    content: "";
    background: url(../images/recruit/icon-check02.svg);
    background-size: cover;
    width: 18px;
    height: 18px;
    position: absolute;
    top: 8px;
    left: 0;
    display: inline-block;
}


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

.recruit-intv-bg {
    background: #F8F9FA;
    /* border-radius: 362px 0px 0px; */
}

.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(--accent-color);
    vertical-align: middle;
    position: relative;
}

.recruit-intv .a-area-text {
    background: #fff;
    padding-bottom: 1em;
    line-height: 1.8;
}


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

.recruit-intv .a-area {
    background: #fff;
    color: #E9817A;
    height: 100%;
}







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

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

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

.recruit-req-ttl {
    background: var(--sub-color);
    color: #fff;
    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;
}

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

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

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

    .recruit-req dd {
        width: 65%;

    }
}


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

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

.recruit-contact dl.f-field>dt {
    padding: 0;
    padding-top: 1em;
    /* 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: var(--sub-color);
    color: #fff;
    padding: .7em;
    transition: all .7s;
    margin: auto 0;
    border-radius: 35px;
    text-align: center;
}