@charset "utf-8";

/* ---- 新卒採用トップ ---- */
.fresh-header{
    background: var(--clr-main);
    border-bottom: 1px solid var(--clr-wh);
}

.fresh-header .gnav nav.gnav-main > ul > li > a{
    padding: 40px 0;
    color: var(--clr-wh);
}

.fresh-header .gnav nav.gnav-main > ul > li > a:hover:before{
    transform: scale(1, 1);
    background: var(--clr-wh);
}

.fresh-header .gnav nav.gnav-main > ul > li > a[href*="void(0)"]:hover{
    color: var(--clr-wh) !important;
}

.fresh-header .bt_entry_header{
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: var(--clr-wh);
    border: 2px solid var(--clr-wh);
    border-radius: 5px;
    width: 100px;
    height: 55px;
    margin-left: 20px;
    transition: .3s;
}

.fresh-header .bt_entry_header:hover{
    background: var(--clr-wh);
    color: var(--clr-main);
    transition: .3s;
}

.fresh-header .bt_drawer span{
    background: var(--clr-wh);
}

.fresh-header .bt_drawer p{
    color: var(--clr-wh);
}

@media all and (min-width:768px) and ( max-width:1120px){
    .fresh-header .gnav nav > ul > li{
        margin-left: 15px;
    }

    .fresh-header .gnav nav.gnav-main > ul > li > a{
        font-size: var(--fs-14);
    }
}

@media (max-width:768px){
    .fresh-header .bt_entry_header{
        margin-left: auto;
        height: 40px;
        width: 80px;
        line-height: 1.2;
    }

    .fresh-header .bt_drawer{
        order: 3;
        margin-left: 20px;
    }

    .fresh-header .gnav nav.gnav-main > ul > li > a{
        color: var(--clr-main);
        padding: 20px 0;
    }

    .fresh-header .gnav nav.gnav-main > ul > li > a[href*="void(0)"]:hover{
        color: var(--clr-main) !important;
    }

    .fresh-header .gnav-child ul li.gnav-image p{
        color: var(--clr-wh);
    }

    .fresh-header .gnav-child{
        background: var(--clr-main);
    }

    .fresh-header .gnav-child ul li.gnav-image{
        width: 100%;
        margin: 0 0 20px 0;
    }

    .fresh-header .gnav-child ul li.gnav-image:last-child{
        margin-bottom: 0;
    }

    .fresh-header .gnav-child ul li.gnav-image figure{
        margin-bottom: 5px;
    }
}

.fresh-fv{
    background: var(--clr-main);
}

.fresh-fv .heading_lg{
    font-weight: bold;
    text-align: center;
    color: var(--clr-wh);
    margin-bottom: 100px;
}

.fresh-fv .heading_lg h1{
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 20px;
}

.fresh-fv .heading_lg h1::before,
.fresh-fv .heading_lg h1::after{
    content: "";
    width: 200px;
    display: block;
    height: 1px;
    background: var(--clr-wh);
    margin: 0 20px;
}

.fresh-fv .heading_lg p{
    font-size: var(--fs-80);
    text-align: center;
}

.fresh-fv .swiper-fv{
    padding: 60px;
    position: relative;
}

.fresh-fv .swiper-fv:before{
    content: "";
    display: block;
    width: 100vw;
    height: 240px;
    background: url(../images/fresh/bg_sakura_wh.svg) repeat left top / 18px 33px;
    margin: 0 calc(50% - 50vw);
    position: absolute;
    top: 0;
    left: 0;
}

.fresh-fv .swiper-fv .swiper-slide img{
    object-position: top;
}

.fresh-fv .flex{
    justify-content: space-between;
}

.fresh-fv .flex .heading{
    font-size: var(--fs-38);
    font-weight: bold;
    color: var(--clr-wh);
    margin-bottom: 40px;
}

.fresh-fv .flex .txt{
    font-size: var(--fs-20);
    font-weight: bold;
    color: var(--clr-wh);
}

.fresh-fv .img-wrap figure{
    max-width: 400px;
    margin-left: auto;
}

.fresh-fv .img-wrap figure + figure{
    margin-top: 30px;
}

@media(max-width:768px){

    .fresh-fv .heading_lg{
        margin-bottom: 20px;
    }

    .fresh-fv .heading_lg p{
        font-size: var(--fs-50);
    }

    .fresh-fv .heading_lg h1{
        flex-direction: column;
    }

    .fresh-fv .heading_lg h1::before,
    .fresh-fv .heading_lg h1::after{
        width: 100%;
        margin: 20px 0;
    }

    .fresh-fv .flex{
        flex-direction: column;
    }

    .fresh-fv .flex .txt-wrap{
        margin-bottom: 40px;
    }

    .fresh-fv .flex .img-wrap{
        display: flex;
        flex-direction: column;
    }

    .fresh-fv .flex .img-wrap img{
        height: 100%;
    }

    .fresh-fv .img-wrap figure + figure{
        margin: 0;
    }

    .fresh-fv .img-wrap figure:first-child{
        margin-right: auto;
        margin-left: 0;
    }

    .fresh-fv .img-wrap figure:last-child{
        margin-left: auto;
    }
}

.fresh-msg{
    background-color: var(--clr-sub);
    padding: 0;
    overflow: hidden;
}

.fresh-msg .container{
    position: relative;
    height: 100%;
}

.fresh-msg .txt-wrap{
    max-width: 800px;
    padding: 80px 0;
    position: relative;
    z-index: 1;
}

.fresh-msg .heading{
    color: var(--clr-main);
    margin-bottom: 60px;
}

.fresh-msg .heading span{
    font-size: var(--fs-38);
    font-family: var(--fnt-Montserrat);
    font-weight: bold;
    display: block;
    margin-bottom: 10px;
}

.fresh-msg .txt_lg{
    font-size: var(--fs-26);
    font-weight: bold;
    margin-bottom: 60px;
}

.fresh-msg .txt{
    max-width: 500px;
    margin-bottom: 40px;
    text-shadow: 0 0 3px var(--clr-wh),0 0 6px var(--clr-wh);
}

.fresh-msg .bt_box{
    background: var(--clr-main);
    color: var(--clr-wh) !important;
    width: 260px;
}

.fresh-msg .img-wrap{
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
}

.fresh-msg .img-wrap figure,
.fresh-msg .img-wrap img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
}

.fresh-msg .sign{
    max-width: 500px;
    text-shadow: 0 0 3px var(--clr-wh),0 0 6px var(--clr-wh);
}

@media (max-width:768px){

    .fresh-msg .txt-wrap{
        padding-bottom: 60px;
    }

    .fresh-msg .heading,
    .fresh-msg .txt_lg{
        margin-bottom: 40px;
    }

    .fresh-msg .txt_lg{
        padding: 10px 10px 0 0;
        text-shadow: 0 0 3px var(--clr-wh),0 0 6px var(--clr-wh);
    }

    .fresh-msg .img-wrap{
        margin-right: calc(50% - 50vw);
        height: 44vw;
        min-height: 240px;
        bottom: 0;
        width: 60%;
        margin-left: auto;
        padding-bottom: 10px;
    }
}

.fresh-links .heading{
    font-size: var(--fs-20);
    font-weight: bold;
    margin-bottom: 40px;
}

.fresh-gl{
    padding-top: 0;
}

.fresh-gl-mv{
    height: 600px;
    background: url(../images/fresh/gl_main.png) no-repeat center / cover;
    color: var(--clr-wh);
    margin-bottom: 80px;
}

.fresh-gl-mv .wrap{
    background: rgba(0,0,0,0.5);
    height: 100%;
}

.fresh-gl-mv .container{
    height: 100%;
}

.fresh-gl-mv .txt-wrap{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    height: 100%;
    max-width: 500px;
}

.fresh-gl-mv .heading{
    font-weight: bold;
    margin-bottom: 80px;
}

.fresh-gl-mv .heading span{
    font-size: var(--fs-38);
    font-family: var(--fnt-Montserrat);
    display: block;
}

.fresh-gl-mv .txt_lg{
    font-size: var(--fs-26);
    font-weight: bold;
    margin-bottom: 40px;
}

@media (max-width:768px){
    .fresh-gl-mv .heading{
        margin-bottom: 40px;
    }

    .fresh-gl-mv{
        height: auto;
    }

    .fresh-gl-mv .wrap{
        padding: 60px 0;
    }

    .fresh-links .interview-archive .list-item{
        width: 80%;
        margin: 0 auto 20px !important;
    }

    .fresh-links .interview-archive .list-item figure img{
        height: 60vw;
        min-height: 240px;
        object-fit: cover;
        object-position: top;
    }
}

/* ---- 新卒採用働く環境 ---- */

.fresh-worklife section:first-child{
    padding-top: 0;
}

.fresh-worklife section:nth-of-type(even){
    background: var(--clr-lgy);
}

.fresh-worklife .txt_lg{
    color: var(--clr-main);
    font-size: var(--fs-26);
    font-weight: bold;
}

.fresh-worklife img{
    width: 100%;
}

.fresh-worklife dl{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    border-bottom: 1px solid var(--clr-gy);
    margin-bottom: 40px;
    padding-bottom: 40px;
}

.fresh-worklife dl:last-of-type{
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.fresh-worklife dl + .flex2{
    margin-top: 40px;
}

.fresh-worklife dt{
    width: 220px;
    font-weight: bold;
}

.fresh-worklife dd{
    width: calc(100% - 240px);
}

.fresh-worklife dd:not(:last-child){
    margin-bottom: 20px;
}

.fresh-worklife .flex2{
    width: 100%;
}

@media (max-width:768px){
    .fresh-worklife dt,
    .fresh-worklife dd{
        width: 100%;
        margin-bottom: 20px;
    }
}

@media (max-width:540px){
    .fresh-worklife .txt_lg{
        font-size: var(--fs-14);
    }
}

/* ---- 新卒採用 社員インタビューアーカイブページ ---- */

.interview-archive .heading{
    text-align: center;
    font-size: var(--fs-20);
    font-weight: bold;
    margin-bottom: 60px;
}

.interview-archive .bt_box{
    width: 200px;
    margin: 40px auto 0;
    background-color: var(--clr-main);
}

.interview-archive .list{
    justify-content: flex-start;
}

.interview-archive .list-item{
    width: calc(33.3% - 40px/3);
    margin-right: 20px;
}

.interview-archive .list-item:nth-of-type(3n){
    margin-right: 0;
}

.interview-archive .list-item:nth-of-type(n+4){
    margin-top: 20px;
}

.interview-archive .wrap{
    position: relative;
}

.interview-archive .wrap figure{
    margin-bottom: 10px;
}

.interview-archive .wrap img{
    width: 100%;
}

.interview-archive .wrap .ttl{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    color: var(--clr-wh);
    background: rgba(227, 51, 45, 0.6);
    padding: 10px;
    font-size: var(--fs-26);
    font-weight: bold;
    height: 160px;
    display: flex;
    align-items: center;
    z-index: 10;
}

.interview-archive .flex{
    align-items: center;
}

.interview-archive .year{
    font-size: var(--fs-22);
    font-weight: bold;
}

.interview-archive .department{
    color: var(--clr-wh);
    font-weight: bold;
    background: var(--clr-bk);
    display: inline-block;
    padding: 5px 10px;
    border-radius: 5px;
    margin-right: 10px;
}


/* ---- 新卒採用 社員インタビュー個別ページ ---- */

.interview-fv{
    height: 40vw;
    min-height: 500px;
    max-height: 800px;
    position: relative;
    overflow: hidden;
}

.interview-fv .container{
    position: relative;
    top: 50%;
    transform: translateY(-50%);
}

.interview-fv .img-wrap{
    width: 60vw;
    min-width: 700px;
    max-width: 1400px;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    z-index: -1;
}

.interview-fv .img-wrap figure{
    height: 100%;
}

.interview-fv .img-wrap img{
    width: 100%;
    height: 100%;
    object-fit:cover;
}

.interview-fv .heading{
    margin-bottom: 40px;
}

.interview-fv .heading span{
    font-size: var(--fs-30);
    font-weight: bold;
    display: inline-block;
    color: var(--clr-wh);
    background: linear-gradient(150deg, rgba(255, 136, 51, 1) 5%, rgba(255, 2, 55, 1) 90%);
    padding: 10px;
    margin-bottom: 20px;
}

.interview-fv .heading span:last-of-type{
    margin-bottom: 0;
}

.interview-fv .info{
    margin-left: 20px;
}

.interview-fv .info-department{
    font-size: var(--fs-18);
    font-weight: bold;
    color: var(--clr-main);
    margin-bottom: 20px;
}

.interview-fv .info-name{
    font-size: var(--fs-30);
    font-weight: bold;
}

.interview-fv .info-name_en{
    font-size: var(--fs-16);
    display: block;
    margin-top: 5px;
}

.interview-flow{
    background: var(--clr-main);
}

.interview-flow .heading{
    text-align: center;
    color: var(--clr-wh);
    margin-bottom: 40px;
}

.interview-flow .heading span{
    display: block;
    font-family: var(--fnt-Montserrat);
    font-weight: bold;
    font-size: var(--fs-26);
    letter-spacing: 1px;
}

.interview-flow ul{
    display: flex;
}

.interview-flow li{
    flex: 1;
    margin: 0 15px;
    position: relative;
}

.interview-flow li + li::before{
    content: "";
    display: block;
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 0 10px 6px;
    border-color: transparent transparent transparent var(--clr-wh);
    left: -17px;
    top: 50%;
    transform: translateY(-50%);
}

.interview-flow dl{
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: var(--clr-wh);
    height: 100%;
    padding: 20px 5px;
    border-radius: 10px;
}

.interview-flow dt{
    font-size: var(--fs-18);
    font-weight: bold;
}

.interview-flow dd span{
    display: block;
    color: var(--clr-main);
}

.interview-main .block{
    padding-bottom: 60px;
    border-bottom: 1px solid var(--clr-main);
}

.interview-main .block:last-of-type{
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.interview-main .heading{
    text-align: center;
    font-size: var(--fs-20);
    font-weight: bold;
    margin-bottom: 60px;
}

.interview-main .heading span{  
    font-size: var(--fs-18);
    font-family: var(--fnt-Montserrat);
    color: var(--clr-main);
    display: block;
    margin-bottom: 10px;
}

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

.interview-main .flex .txt-wrap{
    width: 50%;
}

.interview-main .img-wrap{
    max-height: 600px;
    max-width: 1200px;
    margin-bottom: 40px;
    overflow-y: hidden;
}

.interview-main .img-wrap img{
    width: 100%;
    height: 100%;
    max-width: 800px;
}

.interview-main .flex .left{
    order: 1;
}

.interview-main .flex .right{
    order: 2;
}

.interview-main .img-wrap.left{
    width: calc(50vw - 40px);
    margin-left: calc(50% - 50vw);
    margin-right: 40px;
    margin-bottom: 0;
}

.interview-main .img-wrap.right{
    width: calc(50vw - 40px);
    margin-right: calc(50% - 50vw);
    margin-left: 40px;
    margin-bottom: 0;
}

.interview-main .img-wrap.center figure{
    justify-content: center;
}

.interview-main .img-wrap.left figure{
    justify-content: flex-end;
}

.interview-main .img-wrap.right figure{
    justify-content: flex-start;
}

.interview-main.bg_rd{
    background: var(--clr-main);
    color: var(--clr-wh) !important;
}

@media (max-width:768px){
    .interview-fv{
        height: auto;
        min-height: initial;
        max-height: initial;
        overflow: visible;
        display: flex;
        flex-direction: column;
        padding: 0 0 40px 0;
    }

    .interview-fv .container{
        width: 100%;
        top: initial;
        transform: initial;
        order: 2;
    }

    .interview-fv .img-wrap{
        min-width: 320px;
        max-width: initial;
        width: 100vw;
        height: 260px;
        position: relative;
        order: 1;
    }

    .interview-fv .heading{
        margin-top: -40px;
        margin-bottom: 20px;
    }

    .interview-fv .heading span{
        font-size: var(--fs-16);
        margin-bottom: 5px;
    }
    

    .interview-fv .info-department{
        margin: 0 5px 0 0;
    }

    .interview-fv .info{
        margin: 0;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
    }

    .interview-fv .info-name{
        width: 100%;
        display: flex;
        align-items: flex-end;
    }

    .interview-fv .info-name_en{
        margin: 0 0 0 10px;
    }

    .interview-flow .heading{
        margin-bottom: 20px;
    }

    .interview-flow ul{
        flex-direction: column;
    }

    .interview-flow li{
        margin: 0 10px 20px;
    }

    .interview-flow li + li::before{
        top: -20px;
        left: 50%;
        transform: translateX(-50%) rotate(90deg);
    }

    .interview-main .block{
        padding-bottom: 40px;
    }

    .interview-main .flex{
        flex-wrap: wrap;
    }

    .interview-main .flex .left{
        order: initial;
    }
    
    .interview-main .flex .right{
        order: initial;
    }

    .interview-main .txt-wrap{
        width: 100% !important;
    }

    .interview-main .img-wrap.left,
    .interview-main .img-wrap.right{
        width: 100%;
        margin: 0 auto 30px;
    }

    .interview-main .txt-wrap{
        margin: 0 0 20px 0 !important;
    }

    .interview-main .heading{
        margin-bottom: 40px;
    }

    .interview-main .txt_lg{
        margin-bottom: 20px;
    }

    .interview-archive .heading{
        text-align: left;
    }

    .interview-archive .list-item{
        width: calc(50% - 20px/2);
    }

    .interview-archive .list-item:nth-of-type(odd){
        margin-right: 20px;
    }

    .interview-archive .list-item:nth-of-type(even){
        margin-right: 0;
    }

    .interview-archive .list-item:nth-of-type(-n+2){
        margin-top: 0;
    }

    .interview-archive .wrap .ttl{
        font-size: var(--fs-16);
        height: 90px;
    }

    .interview-archive .name{
        margin-bottom: 0;
    }
}

@media (max-width:540px){
    .interview-archive .wrap .ttl{
        font-size: var(--fs-12);
        height: 60px;
    }

    .interview-archive .list-item .flex{
        flex-wrap: wrap;
    }

    .interview-archive .list-item .year{
        width: 100%;
    }
}