@charset "utf-8";
.recruit-entry{
    padding-top: 0;
}

.recruit-entry .bt_round{
    max-width: 550px;
}

.recruit-entry .bt_round + .txt{
    color: var(--clr-main);
    text-align: center;
    margin-top: 10px;
}

/* ---- キャリア採用トップ ---- */
.recruit-fv{
    padding: 0;
}

.recruit-fv-main{
    height: 720px;
    background: url('../images/recruit/bg_sakura_pi.svg') repeat top 0 left 0 / 20px;
}

.recruit-fv-main .container{
    height: 100%;
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.recruit-fv-main .swiper figure{
    width: 100%;
    height: 100%;
}

.recruit-fv-main .swiper img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.swiper-up,
.swiper-up .swiper-wrapper,
.swiper-down,
.swiper-down .swiper-wrapper{
    height: 100%;
    transition-timing-function: linear;
    margin: 0;
}

.swiper-up{
    order: 1;
}

.swiper-down{
    order: 3;
}

.recruit-fv-main .heading{
    order: 2;
}

.recruit-fv-sub{
    padding: 80px 0 ;
    background: linear-gradient(150deg, rgba(255, 136, 51, 1) 5%, rgba(255, 2, 55, 1) 90%);
    color: var(--clr-wh);
}

.recruit-fv-sub .flex{
    align-items: center;
    justify-content: space-between;
}

.recruit-fv-sub .heading{
    font-size: var(--fs-38);
    font-weight: bold;
    margin-bottom: 40px;
}

.recruit-links .container{
    position: relative;
}

.recruit-links .heading_lg span::after{
    display: none;
}

.recruit-links .heading_en{
    font-size: var(--fs-80);
    font-family: var(--fnt-Montserrat);
    font-weight: bold;
    display: inline-block;
    background: linear-gradient(80deg, rgba(255, 136, 51, 1) 5%, rgba(255, 2, 55, 1) 90%);
    background: -webkit-linear-gradient(80deg, rgba(255, 136, 51, 1) 5%, rgba(255, 2, 55, 1) 90%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    position: absolute;
    top: 0;
    right: 0;
}

.recruit-links .bt_img{
    background: var(--clr-main);
}

.recruit-works .list-item{
    background: var(--clr-wh);
}

.recruit-works .list-item figure{
    height: 220px;
    margin-bottom: 0;
}

.recruit-works .list-item figure img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.recruit-works .list-item .wrap{
    padding: 20px;
    position: relative;
}

.recruit-works .list-item .wrap i{
    border: 1px solid var(--clr-main);
    border-radius: 50%;
    background-size: 6px;
    width: 20px;
    height: 20px;
    margin-left: auto;
    display: block;
    position: relative;
}

.recruit-works .heading{
    font-weight: bold;
}

.recruit-works .heading small{
    font-size: var(--fs-12);
    font-weight: normal;
    margin-left: 10px;
}

.recruit-works .bt_box{
    width: 220px;
    background-color: var(--clr-main);
    margin: 40px auto 0;
}

.recruit-detail .flex2{
    align-items: stretch;
}

.recruit-detail-block{
    border: 2px solid var(--clr-gy);
    border-top: 4px solid var(--clr-main);
    margin-bottom: 20px;
    padding: 20px;
}

.recruit-detail-career{
    height: 100%;
}

.recruit-detail-mynavi{
    margin-top: 40px;
    text-align: center;
}

.recruit-detail-block:last-child{
    margin-bottom: 0;
}

.recruit-detail-block h3{
    font-size: 24px;
    font-weight: 500;
    text-align: center;
    margin-bottom: 16px;
    letter-spacing: 1px;
}

.recruit-detail-block p{
    font-size: 14px;
    margin-bottom: 16px;
}

.recruit-detail-block .bt_box{
    max-width: 360px;
    width: 100%;
    margin: 0 auto;
    background: var(--clr-main);
    padding: 10px 0;
    font-size: 18px;
}

@media (max-width:575px){
    .recruit-detail-block h3{
        font-size: 18px;
    }
}

.recruit-contact{
    width: 100%;
    text-align: center;
    color: var(--clr-wh);
    background: linear-gradient(150deg, rgba(255, 136, 51, 1) 5%, rgba(255, 2, 55, 1) 90%);
}

.recruit-contact .heading{
    font-size: var(--fs-26);
    font-weight: bold;
    text-align: center;
    margin-bottom: 40px;
}

.recruit-contact .flex{
    justify-content: space-between;
}

.recruit-contact .bt_box{
    font-size: var(--fs-20);
    background: url(../images/icon/ic_arrow_rt_rd.svg) no-repeat center right 20px / 10px;
    background-color: var(--clr-wh) !important;
    color: var(--clr-main) !important;
    width: calc(50% - 40px/2);
    padding: 25px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .3s;
}

.recruit-contact .bt_box i{
    height: 35px;
    width: 35px;
    margin-right: 20px;
}

.recruit-contact .flex:nth-of-type(2){
    display: inline-flex;
    justify-content: center;
    align-items: center;
    margin-top: 40px;
}

.recruit-contact .flex:nth-of-type(2) p:first-of-type{
    font-size: var(--fs-26);
    font-weight: bold;
    padding-right: 20px;
    margin-right: 20px;
    border-right: 1px solid var(--clr-wh);
}

.recruit-contact .flex:nth-of-type(2) p span{
    display: block;
    font-size: var(--fs-12);
}

.recruit-contact .flex:nth-of-type(2) p .tel{
    font-size: var(--fs-50);
    color: var(--clr-wh) !important;
    font-weight: bold;
}

@media (max-width:768px){
    .swiper-up,
    .swiper-down{
        width: 100%;
        max-height: 140px;
    }

    .recruit-fv-main .container{
        flex-direction: column;
        margin: 0;
        max-width: 100%;
    }

    .recruit-fv-main .heading{
        margin: 40px 0;
    }

    .recruit-fv-main .heading img{
        width: 80%;
        max-width: 400px;
    }

    .recruit-fv-sub .flex{
        flex-direction: column;
    }

    .recruit-fv-sub .txt-wrap{
        width: 100%;
        margin-bottom: 40px;
    }

    .recruit-links .heading_en{
        font-size: var(--fs-50);
    }

    .recruit-works .list-item .wrap i{
        margin-top: 10px;
    }

    .recruit-contact .flex{
        flex-direction: column;
    }


    .recruit-contact .bt_box{
        width: 100%;
        padding: 10px 0;
        background-size: 7px;
        font-size: var(--fs-14);
    }

    .recruit-contact .bt_box + .bt_box{
        margin-top: 20px;
    }

    .recruit-contact .flex:nth-of-type(2) p:first-of-type{
        padding: 0 0 20px 0;
        margin: 0 0 20px 0;
        border-right: none;
        border-bottom: 1px solid var(--clr-wh);
    }
}

/* ---- キャリア採用 福留ハムを知る ---- */

.recruit-company section:not(#number){
    padding: 0 0 120px;
}

.recruit-company .heading{
    margin-bottom: 40px;
}

.recruit-company .img-wrap figure{
    width: 100%;
    justify-content: center;
    margin-bottom: 40px;
}

.heading_recruit_xl{
    font-weight: bold;
    color: var(--clr-wh);
    margin-bottom: 60px;
    background: linear-gradient(30deg, rgba(255, 136, 51, 1) 2%, rgba(255, 2, 55, 1) 90%);
    background: -webkit-linear-gradient(-30deg, rgba(255, 136, 51, 1) 2%, rgba(255, 2, 55, 1) 90%);
    padding: 20px 0;
    text-align: center;
}

.heading_recruit_xl span{
    font-family: var(--fnt-Montserrat);
    font-size: var(--fs-38);
    display: block;
    margin-bottom: 10px;
}

.recruit-company-fv p{
    font-weight: bold;
    display: inline-block;
    background: linear-gradient(30deg, rgba(255, 136, 51, 1) 2%, rgba(255, 2, 55, 1) 90%);
    background: -webkit-linear-gradient(-30deg, rgba(255, 136, 51, 1) 2%, rgba(255, 2, 55, 1) 90%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.recruit-company-fv .txt{
    font-size: var(--fs-26);
    margin-bottom: 40px;
}

.recruit-company-fv .txt_lg{
    font-size: var(--fs-44);
    margin-bottom: 80px;
}

.recruit-company-fv a{
    display: block;
    border: 1px solid var(--clr-main);
    border-radius: 10px;
    font-weight: bold;
    color: var(--clr-main);
    padding: 20px 0;
    text-align: center;
    transition: .3s;
}

.recruit-company-fv a span{
    font-size: var(--fs-26);
    font-family: var(--fnt-Montserrat);
    display: block;
    margin-bottom: 5px;
}

.recruit-company-fv a:hover{
    color: var(--clr-wh);
    background: var(--clr-main);
    transition: .3s;
}

.recruit-company-fv .flex3 >*:nth-of-type(n+4){
    margin-top: 20px;
}

.recruit-company-fv .flex3 li:last-of-type{
    width: calc(67% - 40px/3);
    margin-right: 0;
}

.recruit-company-msg .txt_lg{
    font-size: var(--fs-20);
    font-weight: bold;
    margin-bottom: 40px;
}

.recruit-company-philosophy .heading{
    font-size: var(--fs-30);
    color: var(--clr-main);
    font-weight: bold;
    text-align: center;
    margin-bottom: 40px;
}

.recruit-company-philosophy .heading span{
    font-size: var(--fs-30);
    font-family: var(--fnt-Montserrat);
    display: block;
    margin-bottom: 5px;
}

.recruit-company-philosophy .txt_lg{
    font-size: var(--fs-26);
    font-weight: bold;
}

.recruit-company-philosophy .txt_md{
    font-size: var(--fs-20);
    display: inline-block;
}

.recruit-company-philosophy .block{
    text-align: center;
}

.recruit-company-philosophy .block p:not(.heading){
    display: inline-block;
}

.recruit-company-philosophy figure:last-of-type{
    margin-bottom: 0;
}

.recruit-company-business .heading{
    font-size: var(--fs-30);
    font-weight: bold;
}

.recruit-company-business .wrap{
    background: var(--clr-sub);
    border: 1px solid var(--clr-main);
    border-radius: 10px;
    padding: 30px;
}

.recruit-company-business .wrap .heading{
    color: var(--clr-main);
    font-size: var(--fs-26);
    margin-bottom: 30px;
}

.recruit-company-business .list_num{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.recruit-company-business .list-item_num{
    width: calc(50% - 20px/2);
}

.recruit-company-business .list-item_num:last-of-type{
    border-bottom: 1px dotted var(--clr-gy);
    margin-bottom: 10px;
    padding-bottom: 10px;
}

.recruit-company-business .list-item_num .num{
    border-radius: 50%;
}

.recruit-links_footer{
    padding: 80px 0 !important;
    border-top: 1px solid var(--clr-gy);
}

.recruit-links_footer .bt_img{
    background: var(--clr-main);
    height: 140px;
}

.recruit-links_footer .bt_box{
    width: 100%;
    height: calc(50% - 20px/2);
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.recruit-links_footer .bt_box:first-of-type{
    color: var(--clr-main);
    border: 1px solid var(--clr-main);
    background: url(../images/icon/ic_arrow_rt_rd.svg) no-repeat center right 10px / 6px;
    background-color: var(--clr-wh);
}

.recruit-links_footer .bt_box:last-of-type{
    color: var(--clr-or);
    border: 1px solid var(--clr-or);
    background: url(../images/icon/ic_arrow_rt_rd.svg) no-repeat center right 10px / 6px;
    background-color: var(--clr-wh);
    margin-top: 20px;
}

@media (max-width:768px){
    .recruit-company section{
        padding: 0 0 60px;
    }

    .recruit-company-fv a{
        padding: 10px 0;
    }
    
    .recruit-company-fv br{
        display: none;
    }

    .recruit-company-fv .txt_lg{
        margin-bottom: 40px;
    }

    .recruit-company-fv .flex3 li:last-of-type{
        width: 100%;
    }

    .heading_recruit_xl{
        margin-bottom: 40px;
    }

    .recruit-company-business .list-item_num{
        width: 100%;
    }

    .recruit-links_footer .bt_box{
        padding: 15px 0;
    }

    .recruit-links_footer{
        padding: 60px 0 !important;
    }
}

/* ---- キャリア採用 仕事を知る ---- */

.recruit-works .block{
    border: 1px solid var(--clr-gy);
}

.recruit-works .block .img-wrap{
    width: 40%;
}

.recruit-works .block .img-wrap img{
    height: 170px;
    width: 100%;
    object-fit: cover;
}

.recruit-works .block .txt-wrap{
    width: 60%;
    padding: 30px 20px;
    position: relative;
}

.recruit-works .ac-trigger{
    cursor: pointer;
}

.recruit-works .ac-trigger .heading{
    margin-bottom: 20px;
}

.recruit-works .ac-trigger .txt{
    font-size: var(--fs-14);
}

.recruit-works .ac-trigger .txt span{
    display: inline-block;
    color: var(--clr-wh);
    font-weight: bold;
    padding: 2px 10px;
    background: var(--clr-bk);
    border-radius: 3px;
    margin-right: 10px;
}

.recruit-works .ac-trigger .txt small{
    font-size: var(--fs-12);
    margin-left: 10px;
}

.recruit-works .ac-trigger i{
    position: absolute;
    width: 20px;
    height: 20px;
    background-size: 8px;
    border: 1px solid var(--clr-main);
    border-radius: 50%;
    bottom: 20px;
    right: 20px;
    transition: .3s;
}

.recruit-works .ac-content > *{
    margin-bottom: 20px;
}

.recruit-works .ac-content .heading{
    color: var(--clr-main);
}

.recruit-works .ac-content{
    display: none;
    padding: 30px 40px;
    background: var(--clr-lgy);
}

.recruit-works .ac-content figure{
    display: flex;
}

.recruit-works .ac-content figure img{
    width: 100%;
}

.recruit-works .ac-content .point{
    display: flex;
    align-items: center;
    margin-bottom: 40px;
}

.recruit-works .ac-content .point dt{
    color: var(--clr-main);
    padding-right: 40px;
    margin-right: 40px;
    border-right: 2px solid var(--clr-main);
    font-weight: bold;
    letter-spacing: 2px;
    line-height: 1.8;
}

.recruit-works .ac-content .bt_box{
    width: 200px;
    background-color: var(--clr-main);
    margin: 0;
}

.recruit-jobs nav .bt_box{
    width: calc(50% - 40px/2);
    background-color: var(--clr-wh);
}

.recruit-jobs nav .bt_box.regurar{
    border-color: var(--clr-main);
    background: url(../images/icon/ic_arrow_bt_rd.svg) no-repeat center right 20px / 10px;
    color: var(--clr-main);
}

.recruit-jobs nav .bt_box.non-regurar{
    border-color: var(--clr-or);
    background: url(../images/icon/ic_arrow_bt_or.svg) no-repeat center right 20px / 10px;
    color: var(--clr-or);
}

.recruit-jobs a{
    display: block;
    border: 1px solid var(--clr-gy);
    padding: 20px;
}

.recruit-jobs li + li{
    margin-top: 20px;
}

.recruit-jobs li .heading{
    color: var(--clr-main);
    font-weight: bold;
}

.recruit-jobs li .txt{
    margin-bottom: 20px;
    font-size: var(--fs-14);
}

.recruit-jobs li .flex{
    align-items: center;
    justify-content: space-between;
}

.recruit-jobs li .bt_box{
    background-color: var(--clr-main);
    width: 200px;
    display: block;
    font-size: var(--fs-14);
}

.recruit-jobs li .location{
    color: var(--clr-bk) !important;
    font-size: var(--fs-14);
}

.recruit-jobs li .location span{
    display: inline-block;
    margin-right: 10px;
    background: var(--clr-bk);
    color: var(--clr-wh);
    font-weight: bold;
    padding: 3px 6px;
    border-radius: 3px;
}

@media (max-width:768px){
    .recruit-works .block .flex{
        flex-direction: column;
    }

    .recruit-works .block .txt-wrap,
    .recruit-works .block .img-wrap{
        width: 100%;
    }

    .recruit-works .ac-content{
        padding: 20px;
    }

    .recruit-works .ac-content .point{
        flex-direction: column;
        margin-bottom: 20px;
    }

    .recruit-works .ac-content .point dt{
        width: 100%;
        letter-spacing: 1px;
        border: none;
        padding: 0;
        margin: 0 0 20px 0;
    }

    .recruit-works .ac-content .point dt br{
        display: none;
    }

    .recruit-works .ac-content .bt_box{
        margin: 0 auto 20px;
    }

    .recruit-works .ac-content .bt_close{
        justify-content: center;
    }

    .recruit-jobs nav .bt_box{
        width: 100%;
        margin: 0;
        padding: 10px;
    }

    .recruit-jobs nav .bt_box + .bt_box{
        margin-top: 20px;
    }

    .recruit-jobs li .flex{
        flex-direction: column;
        align-items: flex-start;
    }

    .recruit-jobs li .bt_box{
        margin-top: 20px;
    }
}

/* ---- キャリア採用 求人ページ ---- */

.ic_name{background: url(../images/recruit/jobs/ic_name.svg) no-repeat center / contain;}
.ic_location{background: url(../images/recruit/jobs/ic_location.svg) no-repeat center / contain;}
.ic_income{background: url(../images/recruit/jobs/ic_income.svg) no-repeat center / contain;}
.ic_lead{background: url(../images/recruit/jobs/ic_lead.svg) no-repeat center / contain;}

.job-fv-head .heading{
    font-size: var(--fs-30);
    margin-bottom: 60px;
}

.job-fv i{
    width: 16px;
    height: 16px;
    margin-right: 5px;
}

.job-fv dl{
    margin-bottom: 20px;
    font-size: var(--fs-14);
}

.job-fv dt{
    color: var(--clr-main);
    font-weight: bold;
    margin-bottom: 5px;
    display: flex;
    align-items: center;
}

.job-fv dd li + li{
    margin-top: 5px;
}

.job-fv-detail .heading{
    color: var(--clr-main);
    font-weight: bold;
    font-size: var(--fs-14);
    display: flex;
    align-items: center;
    margin-bottom: 10px;
    margin-top: 20px;
}

.job-fv-detail .heading + .txt{
    font-size: var(--fs-14);
}

.job-fv .flex2 > *{
    width: calc(50% - 40px/2);
}

.job-fv-detail figure{
    justify-content: flex-start;
}

.job-detail{
    background: var(--clr-wh);
    padding: 60px 40px;
}

.job-detail dl{
    display: flex;
    justify-content: space-between;
    padding: 30px 0;
    border-bottom: 1px solid var(--clr-gy);
}

.job-detail dt{
    font-weight: bold;
    width: 160px;
    margin-bottom: 20px;
}

.job-detail dd{
    width: calc(100% - 180px);
}

.job-detail dd p{
    margin-bottom: 7px;
}

/* 求人 見出し設置 */

.job-detail .txt_lg{
    color: var(--clr-main);
    font-size: var(--fs-26);
    font-weight: bold;
    border-bottom: 1px solid var(--clr-gy);
    padding-bottom: 30px;
    margin-bottom: 30px;
}

.job-detail .txt_b_rd{
    font-weight: bold;
    color: var(--clr-main);
}

.job-detail .txt_b{
    font-weight: bold;
}

.job-detail .txt_rd{
    color: var(--clr-main);
}

.job-detail .txt_bl{
    font-weight: bold;
    color: var(--clr-main);
    border-left: 3px solid var(--clr-main);
    padding-left: 10px;
}

.job-detail p + .txt_bl{
    margin-top: 20px;
}

.job-detail .txt_bg_rd{
    font-weight: bold;
    color: var(--clr-wh);
    background: var(--clr-main);
    padding: 7px 10px;
}

.job-detail .block{
    margin-bottom: 80px;
}

.job-detail .inner{
    margin-bottom: 60px;
    padding-bottom: 60px;
    border-bottom: 1px solid var(--clr-gy);
}

.job-detail .inner > *:not(p){
    margin-bottom: 40px !important;
}

.job-detail .inner > *:last-child{
    margin-bottom: 0 !important;
}

.job-detail .inner:last-of-type{
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.job-detail .thumb{
    margin-right: 30px;
}

.job-detail i{
    margin-right: 10px;
    width: 14px;
    height: 14px;
}

.job-entry{
    background: var(--clr-lgy);
    padding-top: 0;
}

.job-related ul{
    display: flex;
    flex-wrap: wrap;
}

.job-related li{
    width: calc(33.3% - 40px/3);
    margin-right: 20px;
    display: flex;
}

.job-related li:nth-of-type(3n){
    margin-right: 0;
}

.job-related li:nth-of-type(n+4){
    margin-top: 20px;
}

.job-related a{
    display: flex;
    flex-direction: column;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
    padding: 20px 15px;
    border-radius: 5px;
    transition: .3s;
    font-size: var(--fs-14);
    width: 100%;
}

.job-related a:hover{
    transition: .3s;
    transform: scale(1.03);
}

.job-related .heading{
    font-weight: bold;
    margin-bottom: 20px;
}

.job-related .txt{
    margin-bottom: 10px;
}

.job-related .location{
    margin-bottom: 20px;
    margin-top: auto;
    font-size: var(--fs-12);
}

.job-related .location span{
    display: inline-block;
    border-radius: 3px;
    background: var(--clr-bk);
    color: var(--clr-wh);
    padding: 0 3px;
    margin-right: 5px;
}

.job-related .location br{
    display: none;
}

.job-related .bt_box{
    background-color: var(--clr-wh);
    background: url(../images/icon/ic_arrow_rt_rd.svg) no-repeat center right 10px / 5px;
    color: var(--clr-main) !important;
    border: 1px solid var(--clr-main);
    width: 100%;
}

@media (max-width:768px){
    .job-fv-head .heading{
        margin-bottom: 20px;
        font-size: var(--fs-20);
    }

    .job-fv .flex2 > *{
        width: 100%;
    }

    .job-fv dl:last-child{
        margin-bottom: 0;
    }

    .job-detail dl{
        flex-direction: column;
    }

    .job-detail dt,
    .job-detail dd{
        width: 100%;
    }

    .job-entry .bt_round{
        max-width: 320px;
    }

    .job-related li{
        width: calc(50% - 20px/2);
    }
    
    .job-related li:nth-of-type(2n){
        margin-right: 0;
    }

    .job-related li:nth-of-type(3n){
        margin-right: auto;
    }
    
    .job-related li:nth-of-type(n+3){
        margin-top: 20px;
    }

    .job-related .location span{
        margin-bottom: 5px;
    }

    .job-related .location br{
        display: block;
    }

    .job-related .bt_box{
        font-size: var(--fs-12);
    }
}