

/* index *********************************/

#recruit-index  #mainbox{
    padding-top: 20px;
}

#recruit-index #recurit_index_main_titlebox{
    position: relative;
    width: 30.555%;
    min-width: 352px;
    z-index: 10;
    clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
}

#recruit-index .group_set_on #recurit_index_main_titlebox{
    clip-path: polygon(0 0, 0% 0%, 0% 100%, 0% 100%);
    animation: inview_side_animetion_lr .5s forwards cubic-bezier(.49,.15,.48,.78) .7s;
}

#recruit-index #recurit_index_main_titlebox .bg_gra_u{
    position: relative;
    display: block;
    width: 100%;
    padding-top: 79.5%;
    z-index: 1;
    clip-path: polygon(0 0, 100% 0, calc(100% - 54.54%) 100%, 0% 100%);

    /* position: relative;
    display: block;
    padding-top: 79.5%;
    left: 0vw; */
}

#recruit-index #recurit_index_main_titlebox h1{
    display: block;
    position: absolute;
    width: 30.6%;
    max-width: 135px;
    color: #FFF;
    white-space: nowrap;
    z-index: 2;
    left: 12.72%;
    top: 25%;
}

#recruit-index #recurit_index_main_photo{
    position: absolute;
    width: 92.63888889%;
    
    right: 0;
    top: 60px;
    z-index: 1;
}

#recruit-index #recurit_index_main_photo div{
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    padding-top: 66.4167916%;
}

#recruit-index #recurit_index_main_photo figure{
    position: absolute;
    display: block;
    width: 100%;
    top: 0;
    left: 0;
    overflow: hidden;
}

#recruit-index #recurit_index_main_photo figure:nth-of-type(1){
    z-index: 5;
}

#recruit-index #recurit_index_main_photo figure:nth-of-type(2){
    z-index: 4;
}

#recruit-index #recurit_index_main_photo figure:nth-of-type(3){
    z-index: 3;
}

#recruit-index #recurit_index_main_photo figure:nth-of-type(4){
    z-index: 2;
}


#recruit-index #recurit_index_main_photo figure.alpha_100{
	opacity: 1;
}

#recruit-index #recurit_index_main_photo figure.fadein{
	animation: alpha_100 1s forwards cubic-bezier(.49,.15,.48,.78) 0s;
}

#recruit-index #recurit_index_main_photo figure.active span{
	animation: photo_anime 5s forwards cubic-bezier(.49,.15,.48,.78) 0s;
}


#recruit-index #recurit_index_main_photo_inner{
    clip-path: polygon(0 0, 0% 0%, 0% 100%, 0% 100%);
    z-index: 1;
}

#recruit-index .group_set_on #recurit_index_main_photo_inner{
    clip-path: polygon(0 0, 0% 0%, 0% 100%, 0% 100%);
    animation: inview_side_animetion_lr .5s forwards cubic-bezier(.49,.15,.48,.78) .1s;
}

#recurit_index_main_photo::before{
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: var(--komatsu-blue);
    clip-path: polygon(0 0, 0% 0%, 0% 100%, 0% 100%);
    z-index: 10;
}

#recruit-index .group_set_on #recurit_index_main_photo::before{
    clip-path: polygon(0 0, 0% 0%, 0% 100%, 0% 100%);
    animation: inview_side_animetion_lr .5s forwards cubic-bezier(.49,.15,.48,.78) .1s, inview_side_animetion_lr_out .5s forwards cubic-bezier(.49,.15,.48,.78) 1s;
}



@keyframes photo_anime {
	0% {
		transform: scale(1);
	}
	100% {
		transform: scale(1.1);
	}
}


#recruit-index .hanmenu,
#recruit-index #recurit_header_menubox li{
    opacity: 0;
    animation: alpha_100 .5s forwards cubic-bezier(.49,.15,.48,.78) 1s;
}











#recurit_index_main_triangle{
    position: absolute;
    width: 69.93055556%;
    right: 0;
    top: 20px;
    z-index: 2;
}

#recurit_index_main_triangle figure{
    width: 100%;
    padding-top: 108.54021847%;
    background-color: rgba(255, 255, 255, .2);
    clip-path: polygon(73.16455696% 0, 100% 0, 100% 100%, 0% 100%);
}


#recruit-index .group_set_on #recurit_index_main_triangle{
    clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
    animation: inview_side_animetion_rl .5s forwards cubic-bezier(.49,.15,.48,.78) 1.3s;
}




#recurit_index_main_footer{
    width: 100%;
}

#recurit_index_main_copybox{
    width: 55%;
    margin: 15% 0 0 auto;
    z-index: 20;
    /* clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%); */
}

#recurit_index_main_copybox #bgtxt_triangle {
    position: relative;
    display: block;
    width: 100%;
    padding-top: 105.06329114%;
    clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
}

.group_set_on #recurit_index_main_copybox #bgtxt_triangle{
    clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
    animation: inview_side_animetion_rl .5s forwards cubic-bezier(.49,.15,.48,.78) 1.3s;
}

#recurit_index_main_copybox #bgtxt_triangle span{
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    clip-path: polygon(73.16455696% 0, 100% 0, 100% 100%, 0% 100%);
}

#recurit_index_main_copybox h2{
    position: absolute;
    font-size: 102px;
    color: var(--komatsu-blue);
    z-index: 5;
    top: -17%;
    right: 2.55%;
    letter-spacing: 15px;
    line-height: 1.3;
    text-align: right;
}

#recurit_index_main_copybox h2 span{
    display: inline-block;
    font-weight: 500;
}

#recurit_index_main_copybox h2 em{
    display: inline-block;
    color: #FFF;
}

#recurit_index_main_copybox h2 strong{
    opacity: 0;
    transform: scale(1.3);
}

.group_set_on #recurit_index_main_copybox h2 span:nth-of-type(1) strong:nth-of-type(1){
    animation: main_moji_anime .5s forwards cubic-bezier(.49,.15,.48,.78) 1.5s;
}

.group_set_on #recurit_index_main_copybox h2 span:nth-of-type(1) strong:nth-of-type(2){
    animation: main_moji_anime .5s forwards cubic-bezier(.49,.15,.48,.78) 1.7s;
}

.group_set_on #recurit_index_main_copybox h2 span:nth-of-type(1) strong:nth-of-type(3){
    animation: main_moji_anime .5s forwards cubic-bezier(.49,.15,.48,.78) 1.9s;
}

.group_set_on #recurit_index_main_copybox h2 span:nth-of-type(2) strong:nth-of-type(1){
    animation: main_moji_anime .5s forwards cubic-bezier(.49,.15,.48,.78) 2.05s;
}

.group_set_on #recurit_index_main_copybox h2 span:nth-of-type(2) strong:nth-of-type(2){
    animation: main_moji_anime .5s forwards cubic-bezier(.49,.15,.48,.78) 2.2s;
}

.group_set_on #recurit_index_main_copybox h2 span:nth-of-type(2) strong:nth-of-type(3){
    animation: main_moji_anime .5s forwards cubic-bezier(.49,.15,.48,.78) 2.3s;
}

.group_set_on #recurit_index_main_copybox h2 span:nth-of-type(2) strong:nth-of-type(4){
    animation: main_moji_anime .5s forwards cubic-bezier(.49,.15,.48,.78) 2.4s;
}

@keyframes main_moji_anime {
	0% {
		opacity: 0;
        transform: scale(1.3);
	}
	100% {
		opacity: 1;
        transform: scale(1);
	}
}

#recurit_index_main_copybox p{
    position: absolute;
    color: #FFF;
    font-size: 20px;
    bottom: 25%;
    left: 30%;
    z-index: 10;
}

#recurit_index_main_copybox p em{
    display: inline-block;
}


#recurit_index_main_copybox p span{
    display: inline-block;
    text-indent: 0;
    padding-bottom: 10px;
}

#recurit_index_main_copybox p span:nth-of-type(1){
    text-indent: 3.5em;
    opacity: 0;
	transform: translateX(40px);
}

.group_set_on #recurit_index_main_copybox p span:nth-of-type(1){
    opacity: 0;
	transform: translateX(40px);
    animation: inview_side_animetion_r .5s forwards cubic-bezier(.49,.15,.48,.78) 2s;
}

#recurit_index_main_copybox p span:nth-of-type(2){
    text-indent: 2.8em;
    opacity: 0;
	transform: translateX(40px);
}

.group_set_on #recurit_index_main_copybox p span:nth-of-type(2){
    opacity: 0;
	transform: translateX(40px);
    animation: inview_side_animetion_r .5s forwards cubic-bezier(.49,.15,.48,.78) 2.2s;
}

#recurit_index_main_copybox p span:nth-of-type(3){
    text-indent: 2.1em;
    opacity: 0;
	transform: translateX(40px);
}

.group_set_on #recurit_index_main_copybox p span:nth-of-type(3){
    opacity: 0;
	transform: translateX(40px);
    animation: inview_side_animetion_r .5s forwards cubic-bezier(.49,.15,.48,.78) 2.4s;
}

#recurit_index_main_copybox p span:nth-of-type(4){
    text-indent: 1.4em;
    opacity: 0;
	transform: translateX(40px);
}

.group_set_on #recurit_index_main_copybox p span:nth-of-type(4){
    opacity: 0;
	transform: translateX(40px);
    animation: inview_side_animetion_r .5s forwards cubic-bezier(.49,.15,.48,.78) 2.6s;
}

#recurit_index_main_copybox p span:nth-of-type(5){
    text-indent: .7em;
    opacity: 0;
	transform: translateX(40px);
}

.group_set_on #recurit_index_main_copybox p span:nth-of-type(5){
    opacity: 0;
	transform: translateX(40px);
    animation: inview_side_animetion_r .5s forwards cubic-bezier(.49,.15,.48,.78) 2.75s;
}

#recurit_index_main_copybox p span:nth-of-type(6){
    text-indent: 0em;
    opacity: 0;
	transform: translateX(40px);
}

.group_set_on #recurit_index_main_copybox p span:nth-of-type(6){
    opacity: 0;
	transform: translateX(40px);
    animation: inview_side_animetion_r .5s forwards cubic-bezier(.49,.15,.48,.78) 2.9s;
}

#recurit_index_main_figure{
    position: absolute;
    width: 64.86%;
    left: 0;
    bottom: 12%;
    z-index: 25;
    clip-path: polygon(0 0, 0% 0%, 0% 100%, 0% 100%);
}

#recurit_index_main_figure figure{
    display: block;
    clip-path: polygon(0 0, 100% 0, calc(100% - 32.54817987%) 100%, 0% 100%);
}

.group_set_on #recurit_index_main_figure{
    clip-path: polygon(0 0, 0% 0%, 0% 100%, 0% 100%);
    animation: inview_side_animetion_lr .5s forwards cubic-bezier(.49,.15,.48,.78) 1.3s;
}


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

    #recurit_index_main_copybox{
        width: 55%;
        /* margin: 20% 0 0 auto; */
        z-index: 20;
    }

    #recurit_index_main_copybox h2{
        font-size: 7.08333333vw;
        letter-spacing: 1.04166667vw;
    }

    #recurit_index_main_copybox p{
        /* font-size: 1.38888889vw; */
    }
}

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

    #recruit-index #recurit_index_main_titlebox{
        min-width: 150px;
    }

    #recruit-index  #mainbox{
        padding-top: 0px;
    }

    #recruit-index #recurit_index_main_photo{
        top: 30px;
    }

    #recruit-index #recurit_index_main_titlebox h1{
        display: block;
        position: absolute;
        width: 40%;
        max-width: 135px;
        color: #FFF;
        white-space: nowrap;
        z-index: 2;
        left: 12.72%;
        top: 25%;
    }


    #recurit_index_main_copybox p{
        width: 78%;
        font-size: 1 ;
        bottom: 15%;
        left: 22%;
        /* right: 2%; */
        font-size: 18px;
    }

    #recurit_index_main_copybox p span{
        display: inline;
        text-indent: 0;
        padding-bottom: 0px;
    }

    #recurit_index_main_copybox p span:nth-of-type(1),
    #recurit_index_main_copybox p span:nth-of-type(2),
    #recurit_index_main_copybox p span:nth-of-type(3),
    #recurit_index_main_copybox p span:nth-of-type(4){
        text-indent: 0em;
    }

    #recurit_index_main_copybox p span em{
        display: inline-block;
        padding-bottom: 10px;
    }

    #recurit_index_main_copybox p span em.i_1{
        text-indent: 7.5em;
    }

    #recurit_index_main_copybox p span em.i_2{
        text-indent: 6em;
    }

    #recurit_index_main_copybox p span em.i_3{
        text-indent: 4.5em;
    }

    #recurit_index_main_copybox p span em.i_4{
        text-indent: 3em;
    }

    #recurit_index_main_copybox p span em.i_5{
        text-indent: 1.5em;
    }

    #recurit_index_main_copybox p span em.i_6{
        text-indent: 0%;
    }
}


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

    #recruit-index #recurit_index_main_titlebox{
        width: 150px;
    }

    #recruit-index #recurit_index_main_titlebox .bg_gra_u{
        position: relative;
        display: block;
        width: 100%;
        padding-top: 83.3333%;
        z-index: 1;
        clip-path: polygon(0 0, 100% 0, calc(100% - 58.64%) 100%, 0% 100%);
    }

    #recruit-index #recurit_index_main_photo{
        position: absolute;
        width: calc(100% - 30px) ;
        right: 0px;
        top: 30px;
    }

    #recruit-index #recurit_index_main_photo div{
        position: relative;
        display: block;
        width: 100%;
        height: 100%;
        padding-top: 650px;
    }

    #recruit-index #recurit_index_main_photo figure img{
        display: none;
    }

    #recruit-index #recurit_index_main_photo figure{
        width: 100%;
        height: 100%;
    }

    #recruit-index #recurit_index_main_photo figure span{
        display: block;
        width: 100%;
        height: 100%;
        background-size: cover;
        background-position: center top;
    }

    #recruit-index #recurit_index_main_photo figure#main_p_1 span{
        background-image: url(/-/media/HOME/recruit/new/images/index/main_1_sp.webp);
    }

    #recruit-index #recurit_index_main_photo figure#main_p_2 span{
        background-image: url(/-/media/HOME/recruit/new/images/index/main_2_sp.webp);
    }

    #recruit-index #recurit_index_main_photo figure#main_p_3 span{
        background-image: url(/-/media/HOME/recruit/new/images/index/main_3_sp.webp);
    }

    #recruit-index #recurit_index_main_photo figure#main_p_4 span{
        background-image: url(/-/media/HOME/recruit/new/images/index/main_4_sp.webp);
    }

   


    #recurit_index_main_copybox{
        width: 100%;
        height: 750px;
        margin: 290px 0 0 auto;
        z-index: 20;
    }

    #recurit_index_main_copybox > div{
        width: 100%;
        height: 100%;
        margin: 0 auto 0 0;
    }

    #recurit_index_main_copybox #bgtxt_triangle {
        position: absolute;
        display: block;
        width: 750px;
        height: 750px;
        padding-top: 0;
        right: -150px;
        top: 0;
    }

    #recurit_index_main_copybox #bgtxt_triangle span{
        clip-path: polygon(520px 0, 100% 0, 100% 100%, 0% 100%);
    }


    #recurit_index_main_copybox h2{
        display: inline-block;
        font-size: 80px;
        top: -30px;
        right: -10px;
        letter-spacing: 10px;
        line-height: 1.2;
        text-align: left;
    }

    #recurit_index_main_copybox h2 em{
        letter-spacing: 6px;
    }

    #recurit_index_main_copybox p{
        width: 300px;
        font-size: 17px;
        bottom: auto;
        top: 220px;
        left: auto;
        right: 20px;
    }

    #recurit_index_main_triangle{
        position: absolute;
        width: 1000px;
        right: -50px;
        top: 350px;
        z-index: 2;
    }

    #recurit_index_main_triangle figure{
        width: 100%;
        padding-top: 750px;
        background-color: rgba(255, 255, 255, .35);
        clip-path: polygon(520px 0, 100% 0, 100% 100%, 0% 100%);
    }


    #recurit_index_main_figure{
        position: absolute;
        width: 748px;
        left: -150px;
        bottom: -70px;
        z-index: 25;
    }

    #recurit_index_main_figure figure{
        background-image: url(/-/media/HOME/recruit/new/images/index/main_product.webp);
        background-size: cover;
        background-position: center center;
        display: block;
        clip-path: polygon(230px 0, 100% 0, calc(100% - 230px) 100%, 0% 100%);
        width: 100%;
        height: 350px;
    }

    #recurit_index_main_figure figure img{
        display: none;
    }



}

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

     #recurit_index_main_copybox{
        width: 100%;
        height: 177.08333333vw;
        margin: 290px 0 0 auto;
        z-index: 20;
    }

    #recruit-index #recurit_index_main_photo{
        position: absolute;
        width: calc(100% - 30px) ;
        right: 15px;
        top: 15px;
    }

    #recurit_index_main_copybox #bgtxt_triangle {
        position: absolute;
        display: block;
        width: 144.375vw;
        height: 177.08333333vw;
        padding-top: 0;
        right: 0;
        top: 0;
        
    }

    #recurit_index_main_copybox #bgtxt_triangle span{
        clip-path: polygon(85.85858586% 0, 100% 0, 100% 100%, 0% 100%);
    }


    #recurit_index_main_copybox h2{
        display: inline-block;
        font-size: 17vw;
        top: -17vw;
        right: -6vw;
        letter-spacing: 2.08333333vw;
        line-height: 1.2;
        text-align: left;
    }

    #recurit_index_main_copybox p{
        width: 71vw;
        font-size: 4vw;
        bottom: auto;
        top: 42vw;
        right: 0vw;
    }

    #recurit_index_main_triangle{
        position: absolute;
        width: 1000px;
        right: auto;
        left: -450px;
        top: 340px;
        z-index: 2;
    }

    #recurit_index_main_figure{
        width: 180vw;
        /* width: 650px; */
        left: -160px;
        bottom: auto;
        top: 60%;
    }

    #recurit_index_main_figure::before{
        content: "";
        position: absolute;
        display: block;
        width: 100%;
        height: 80px;
        background-color: #FFF;
        bottom: -40px;
    }

    #recurit_index_main_figure figure{
        clip-path: polygon(230px 0, 100% 0, calc(100% - 230px) 100%, 0% 100%);
        width: 100%;
        height: 350px;
    }

    
}


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

    

}







/* index *********************************/











/* pastbox  *********************************/

#recruit-index #pastbox{
    margin-top: 90px;
    color: var(--komatsu-blue);
}

#recruit-index #pastbox #pastbox_inner{
    padding-top: 100px;
    padding-bottom: 150px;
}

#recruit-index #pastbox .inner_big{
    z-index: 25;
}

#recruit-index #pastbox h2{
    position: absolute;
    font-size: 100px;
    font-weight: 500;
    line-height: 1.1;
    right: -20px;
    top: -30px;
}

#recruit-index #pastbox h3 {
    font-size: 46px;
    font-weight: 500;
    line-height: 1.4;
}

#recruit-index #pastbox p{
    padding: 60px 0px 60px;
    font-size: 18px;
    line-height: 1.6;
}


#recruit-index #pastbox .bg_lightgray{
    position: absolute;
    background: var(--komatsu-lightgray);
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1;
    overflow: hidden;
    /* clip-path: polygon(0 0, 0% 0%, 0% 100%, 0% 100%); */
}

/* #pastbox.group_set_on .bg_lightgray{
    clip-path: polygon(0 0, 0% 0%, 0% 100%, 0% 100%);
    animation: inview_side_animetion_lr .5s forwards cubic-bezier(.49,.15,.48,.78) .1s;
} */

#recruit-index #pastbox .triangle{
    position: absolute;
    width: 500px;
    background-color: #FFF;
    clip-path: polygon(100% 0, 0% 100%, 100% 100%);
    right: 0;
    top: 0;
    z-index: 2;
}

#recruit-index #pastbox .triangle::before{
    content: "";
    display: block;
    padding-top: 137.5%;
}

#recruit-index #pastbox #past_figure{
    position: absolute;
    width: 61%;
    right: 0;
    z-index: 25;
    margin-top: -120px;
    clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
}

#recruit-index #pastbox.group_set_on #past_figure{
    clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
    animation: inview_side_animetion_rl .5s forwards cubic-bezier(.49,.15,.48,.78) .5s;
}


#recruit-index #pastbox #past_figure figure{
    clip-path: polygon(32.95454545% 0, 100% 0, 100% 100%, 0 100%);
}


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

    #recruit-index #pastbox #pastbox_inner{
        padding-bottom: 10.41666667vw;
    }

    #recruit-index #pastbox #past_figure{
        position: absolute;
        width: 61%;
        right: 0;
        z-index: 15;
        margin-top: -8.33333333vw;
    }

}


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

    #recruit-index #pastbox{
        margin-top: 8.7890625vw;
    }

    #recruit-index #pastbox #pastbox_inner{
        padding-top: 9.765625vw;
    }

    #recruit-index #pastbox h2 {
        font-size: 80px;
    }

    #recruit-index #pastbox h3 {
        font-size: 38px;
    }

    #recruit-index #pastbox .triangle{
        top: 100px;
    }

}


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

    #recruit-index #pastbox{
        margin-top: 150px;
    }

    #recruit-index #pastbox #pastbox_inner{
        padding-bottom: 190px;
    }

    #recruit-index #pastbox h2 {
        position: relative;
        font-size: 70px;
        right: auto;
        left: -3px;
        top: 0px;
        padding-bottom: 30px;
    }

    #recruit-index #pastbox h3 {
        font-size: 30px;
    }

    #recruit-index #pastbox p{
        padding: 50px 0px 30px;
        font-size: 16px;
    }

    #recruit-index #pastbox #past_figure{
        position: absolute;
        width: calc(100% + 50px) ;
        margin-top: -20px;
    }

    #recruit-index #pastbox #past_figure figure{
        background-image: url(/-/media/HOME/recruit/new/images/index/past_1.webp);
        background-size: cover;
        background-position: center center;
        display: block;
        clip-path: polygon(230px 0, 100% 0, 100% 100%, 0% 100%);
        width: 100%;
        height: 350px;
    }

    #recruit-index #pastbox .triangle{
        top: 250px;
    }

    #recruit-index #pastbox #past_figure figure img{
        display: none;
    }

}

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

    #recruit-index #pastbox h2 {
        font-size: 62px;
    }

    #recruit-index #pastbox h3 {
        font-size: 22px;
    }

    #recruit-index #pastbox ul li{
        max-width: none;
        width: 100%;
    }

}



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

    #recruit-index #pastbox{
        margin-top: 150px;
    }

    #recruit-index #pastbox .triangle{
        display: none;
    }

}


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

    #recruit-index #pastbox{
        margin-top: 150px;
    }

}

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

    #recruit-index #pastbox{
        margin-top: 150px;
    }

}



#recruit-index #pastbox #photobox{
    position: relative;
    width: 100%;
    left: 0;
    top: 0;
    overflow: hidden;
    padding: 240px 0px 120px;
    z-index: 10;
}


#recruit-index #pastbox #photobox div#photobox_slide {
    display: flex;
    width: calc(3220px*2) ;
    height: 200px;
    overflow: hidden;
    opacity: 0;
}

#recruit-index #pastbox #photobox div#photobox_slide{
    opacity: 1;
    animation: inview_side_animetion 1s forwards cubic-bezier(.07,.68,.41,1) 1.35s;
}

#recruit-index #pastbox #photobox div#photobox_slide figure{
    display: flex;
    height: 100%;
    animation :infinity-scroll-left 100s infinite linear 0s both;
}

#recruit-index #pastbox #photobox div#photobox_slide figure img{
    max-width: none;
    width: auto;
    max-height: 100%;
    filter: drop-shadow(4px 5px 5px #777);
}

@keyframes infinity-scroll-left {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-100%);
    }
}

@media screen and (max-width: 1023px) {
    #recruit-index #pastbox #photobox{
        padding: 23.4375vw 0px 11.71875vw;
    }
}

@media screen and (max-width: 767px) {
    #recruit-index #pastbox #photobox{
        padding: calc(30vw + 40px) 0px 15vw;
    }

    #recruit-index #pastbox #photobox div#photobox_slide figure{
        animation :infinity-scroll-left 120s infinite linear 0s both;
    }
}

@media screen and (max-width: 480px) {
    #recruit-index #pastbox #photobox{
        padding: calc(35vw + 60px) 0px 15vw;
    }
}










/* pastbox  *********************************/





/* businessbox  *********************************/

#recruit-index #businessbox{
    margin-bottom: 120px;
    color: var(--komatsu-blue);
}

#recruit-index #businessbox #businessbox_inner{
    padding-top: 120px;
    padding-bottom: 120px;
}

#recruit-index #businessbox .inner_big{
    z-index: 25;
}

#recruit-index #businessbox h2{
    position: absolute;
    font-size: 100px;
    font-weight: 500;
    line-height: 1.1;
    right: -20px;
    top: -30px;
}

#recruit-index #businessbox h3 {
    font-size: 46px;
    font-weight: 500;
    line-height: 1.4;
}

#recruit-index #businessbox p{
    padding: 70px 0px 40px;
    font-size: 18px;
    line-height: 1.6;
}



#recruit-index #businessbox ul{
    width: 100%;
    max-width: 1000px;
}

#recruit-index #businessbox ul li{
    width: 48.5%;
    margin-bottom: 15px;
}

#recruit-index #businessbox ul li a{
    display: block;
    line-height: 1;
    font-size: 16px;
    color: var(--komatsu-blue);
}



#recruit-index #businessbox ul li h4{
    position: absolute;
    z-index: 4;
    color: #FFF;
    font-size: 18px;
    line-height: 1;
    left: 20px;
    top: 20px;
}

#recruit-index #businessbox ul li aside{
    position: absolute;
    right: 20px;
    bottom: 20px;
    z-index: 5;
}

#recruit-index #businessbox ul li figure{
    overflow: hidden;
}

#recruit-index #businessbox ul li figure img{
    transition: all 500ms 0s ease;
}

#recruit-index #businessbox ul li a:hover figure img{
    transform: scale(1.1);
}

#recruit-index #businessbox ul li figcaption{
    padding-top: 20px;
    color: #000;
    line-height: 1.8;
    font-size: 14px;
}


#recruit-index #businessbox .bg_lightgray{
    position: absolute;
    background: var(--komatsu-lightgray);
    width: 100%;
    height: 100%;
    top: 0;
    right: 0px;
    z-index: 1;
    overflow: hidden;
    /* clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%); */
}

/* #recruit-index #businessbox.group_set_on .bg_lightgray{
    clip-path: polygon(100% 0, 100% 0, 100% 100%, 100% 100%);
    animation: inview_side_animetion_rl .5s forwards cubic-bezier(.49,.15,.48,.78) .1s;
} */


#recruit-index #businessbox .triangle{
    position: absolute;
    width: 320px;
    background-color: #FFF;
    clip-path: polygon(0 0, 0% 100%, 100% 0);
    left: 0;
    top: 0;
    z-index: 2;
}

#recruit-index #businessbox .triangle::before{
    content: "";
    display: block;
    padding-top: 137.5%;
}

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

    #recruit-index #businessbox #businessbox_inner{
        padding-bottom: 10.41666667vw;
    }

    #recruit-index #businessbox #past_figure{
        position: absolute;
        width: 61%;
        right: 0;
        z-index: 15;
        margin-top: -8.33333333vw;
    }

}


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

    #recruit-index #businessbox{
        margin-bottom: 11.71875vw;
    }

    #recruit-index #businessbox #businessbox_inner{
        padding-top: 9.765625vw;
        padding-bottom: 9.765625vw;
    }

    #recruit-index #businessbox h2 {
        font-size: 80px;
    }

    #recruit-index #businessbox h3 {
        font-size: 38px;
    }


    #recruit-index #businessbox .triangle{
        width: 250px;
    }

}


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


    #recruit-index #businessbox h2 {
        position: relative;
        font-size: 70px;
        right: auto;
        left: -3px;
        top: 0px;
        padding-bottom: 30px;
    }

    #recruit-index #businessbox h3 {
        font-size: 30px;
    }

    #recruit-index #businessbox p{
        padding: 50px 0px 30px;
        font-size: 16px;
    }

    

    #recruit-index #businessbox ul li{
        width: 100%;
        max-width: 490px;
        margin-bottom: 50px;
    }

    #recruit-index #businessbox ul li figcaption{
        padding-top: 10px;
    }

    #recruit-index #businessbox .triangle{
        width: 180px;
    }

}

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

    #recruit-index #businessbox h2 {
        font-size: 62px;
    }

    #recruit-index #businessbox h3 {
        font-size: 22px;
    }

    #recruit-index #businessbox ul li{
        max-width: none;
        width: 100%;
    }

    #recruit-index #businessbox ul li aside{
        right: 15px;
        bottom: 15px;
    }

}


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

    #recruit-index #businessbox .triangle{
        width: 120px;
    }

}

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

    #recruit-index #businessbox ul li aside{
        right: 10px;
        bottom: 10px;
    }

}



/* businessbox  *********************************/



/* jobbox  *********************************/

#recruit-index #jobbox{
    color: #FFF;
    margin-bottom: 120px;
}

#recruit-index #jobbox .inner_big{
    padding-top: 100px;
    padding-bottom: 100px;
}

#recruit-index #jobbox h2 {
    position: absolute;
    font-size: 80px;
    font-weight: 500;
    line-height: 1;
    right: 0;
    top: -30px;
    opacity: .5;
}

#recruit-index #jobbox h3 {
    font-size: 36px;
    font-weight: 500;
    line-height: 1;
}


#recruit-index #jobbox p{
    width: 44%;
    padding: 70px 0px 70px;
    font-size: 18px;
    line-height: 1.6;
}

#recruit-index #jobbox ul{
    position: absolute;
    width: 50%;
    right: 0;
    top: 110px;
}

#recruit-index #jobbox ul li{
    width: 50%;
}

@media screen and (max-width: 1440px) {
    #recruit-index #jobbox p{
        width: 44%;
        padding: 70px 0px 4.86111111vw;
        font-size: 18px;
        line-height: 1.6;
    }
}

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

    #recruit-index #jobbox{
        margin-bottom: 11.71875vw;
    }

    #recruit-index #jobbox .inner_big{
        padding-top: 9.765625vw;
        padding-bottom: 9.765625vw;
    }

    #recruit-index #jobbox h2 {
        font-size: 70px;
    }

    #recruit-index #jobbox h3 {
        font-size: 30px;
    }

}


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

    #recruit-index #jobbox{
        width: 100%;
        margin-bottom: 15vw;
    }

    #recruit-index #jobbox .inner_big{
        width: 100%;
        margin: 0 auto;
        padding-left: 20px;
        padding-right: 20px;
    }

    #recruit-index #jobbox h2 {
        position: relative;
        font-size: 70px;
        right: auto;
        left: -3px;
        top: 0px;
        padding-bottom: 30px;
    }

    #recruit-index #jobbox p{
        width: 100%;
        padding: 30px 0px 50px;
        font-size: 16px;
    }

    #recruit-index #jobbox ul{
        position: relative;
        width: 100%;
        padding-top: 50px;
        top: 0px;
    }
}

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

    #recruit-index #jobbox .inner_big{
       
        padding-top: 15vw;
        padding-bottom: 15vw;
        
    }

    #recruit-index #jobbox h2 {
        font-size: 62px;
    }

    #recruit-index #jobbox h3 {
        font-size: 22px;
    }

    #recruit-index #jobbox ul li{
        max-width: none;
        width: 100%;
    }

}



/* jobbox *********************************/





/* peoplebox ***************************************/


#recruit-index #peoplebox{
    margin-bottom: 120px;
    color: var(--komatsu-blue);
}

#recruit-index #peoplebox #peoplebox_inner{
    padding-top: 120px;
    padding-bottom: 120px;
}

#recruit-index #peoplebox .inner_big{
    z-index: 25;
}

#recruit-index #peoplebox article h2{
    position: absolute;
    font-size: 80px;
    font-weight: 500;
    line-height: 1.1;
    right: -20px;
    top: -30px;
}

#recruit-index #peoplebox article h3 {
    font-size: 35px;
    font-weight: 500;
    line-height: 1.4;
}

#recruit-index #peoplebox article p{
    padding: 70px 0px 70px;
    font-size: 18px;
    line-height: 1.6;
}


#recruit-index #peoplebox .bg_lightgray{
    position: absolute;
    background: var(--komatsu-lightgray);
    width: 100%;
    height: 100%;
    top: 0;
    right: 0px;
    z-index: 1;
    overflow: hidden;
}

#recruit-index #peoplebox .triangle{
    position: absolute;
    width: 180px;
    background-color: #FFF;
    clip-path: polygon(100% 0, 0% 100%, 100% 100%);
    right: 0;
    bottom: 0;
    z-index: 2;
}

#recruit-index #peoplebox .triangle::before{
    content: "";
    display: block;
    padding-top: 137.5%;
}



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

    #recruit-index #peoplebox #peoplebox_inner{
        padding-bottom: 10.41666667vw;
    }
}


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

    #recruit-index #peoplebox{
        margin-bottom: 11.71875vw;
    }

    #recruit-index #peoplebox #peoplebox_inner{
        padding-top: 9.765625vw;
        padding-bottom: 9.765625vw;
    }

    #recruit-index #peoplebox article h2 {
        font-size: 70px;
    }

    #recruit-index #peoplebox article h3 {
        font-size: 30px;
    }

}


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


    #recruit-index #peoplebox article h2 {
        position: relative;
        font-size: 70px;
        right: auto;
        left: -3px;
        top: 0px;
        padding-bottom: 30px;
    }

    #recruit-index #peoplebox article h3 {
        font-size: 30px;
    }

    #recruit-index #peoplebox article p{
        padding: 50px 0px 30px;
        font-size: 16px;
    }

    #recruit-index #peoplebox .bg_lightgray::before{
        bottom: calc(100% - 280px) ;
    }

    #recruit-index #peoplebox .triangle{
        width: 120px;
    }

}

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

    #recruit-index #peoplebox article h2 {
        font-size: 62px;
    }

    #recruit-index #peoplebox article h3 {
        font-size: 22px;
    }

    #recruit-index #peoplebox div.bt_more{
        right: 15px;
        bottom: 15px;
    }

}


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

    #recruit-index #peoplebox .bg_lightgray::before{
        bottom: calc(100% - 180px) ;
    }

}

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

    #recruit-index #peoplebox div.bt_more{
        right: 10px;
        bottom: 10px;
    }

}

#recruit-index .l_inner{
    z-index: 26;
}

#recruit-index #container_item{
    z-index: 30;
}

#recruit-index #people_footer{
    z-index: 28;
    padding-top: 50px;
}

#recruit-index #photo_container{
    min-height: 400px;
}



#recruit-index #photo_container #photo_list_container .namebox,
#recruit-index #photo_container #photo_list_container h3,
#recruit-index #photo_container #photo_list_container p{
    display: none;
}


#recruit-index .l_inner{
    position: relative;
    box-sizing: border-box;
    width: 85%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 ;
    height: 440px;
}

#recruit-index .swiper {
  overflow: visible;
}


#recruit-index #photo_container #photo_list_container li a{
    width: 100%;
}



#recruit-index #photo_container #photo_list_container li.swiper-slide{
    transition: all 500ms 0s ease;
    box-sizing:border-box;
    width: 220px;
    height: auto;
    transform-origin: center top;
}

#recruit-index #photo_container #photo_list_container li.swiper-slide img{
    opacity: 0;
    max-width: auto;
    width: 100%;
    object-fit: cover;
}

#recruit-index #photo_container #photo_list_container li.swiper-slide figure span{
    transition: all 500ms 0s ease;
}

#recruit-index #photo_container #photo_list_container li.swiper-slide a:hover span{
    transform: scale(1.1);
}

#recruit-index #photo_container #photo_list_container li.swiper-slide figure,
#recruit-index #photo_container #photo_list_container li.swiper-slide figure span{
    width: 100%;
    height: 100%;
    z-index: 10;
}


#recruit-index #photo_container #photo_list_container li.swiper-slide figure{
    transition: all 500ms 0s ease;
    width: 220px;
    padding: 10px;
}


#recruit-index #photo_container #photo_list_container li.swiper-slide.swiper-slide-active figure{
    width: 400px;
    height: 434px;
} 

#recruit-index #photo_container #photo_list_container li.swiper-slide.swiper-slide-next{
    margin-left: 180px;
}

#recruit-index #photo_container li figure span{
    display: block;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center top;
}

#recruit-index #txt_list_container {
    position: absolute;
    width: calc(100% - 420px) ;
    height: 170px;
    bottom: 20px;
    left: 420px;
    
    overflow: hidden;
    color: #000;
}

#recruit-index #txt_list_container li{
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: flex-start;
}

#recruit-index #txt_list_container li h3{
    color: var(--komatsu-blue);
    width: 100%;
    font-size: 18px;
    padding-bottom: 5px;
}

#recruit-index #txt_list_container li .namebox strong{
    display: inline-block;
    font-size: 20px;
    padding-right: 15px;
}

#recruit-index #txt_list_container li .namebox span{
    display: inline-block;
}

#recruit-index #txt_list_container li .yearbox small{
    display: inline-block;
    padding-right: 15px;
}



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

    #recruit-index #people_footer{
        padding-top: 20px;
    }


    #recruit-index .l_inner{
        position: relative;
        box-sizing: border-box;
        width: 85%;
        max-width: 1200px;
        margin: 0 auto;
        padding: 0 0 30px;
        height: auto;
    }

    #recruit-index #photo_container #photo_list_container div figure span::before{
        content: "";
        display: block;
        position: absolute;
        width: 100%;
        height: 100%;
        background: RGBA(0, 0, 0, 4);
        background: linear-gradient(0deg,rgba(0, 0, 0, 0.4) 20%, rgba(0, 0, 0, 0) 60%, rgba(0, 0, 0, 0) 100%);
    }


    #recruit-index #photo_container #photo_list_container .namebox{
        display: block;
        position: absolute;
        bottom: 25px;
        left: 25px;
        width: calc(100% - 30px);
        color: #FFF;
        z-index: 10;
    }

    #recruit-index #photo_container #photo_list_container .namebox strong {
        font-size: 20px;
        line-height: 1;
        padding-bottom: 10px;
    }

    #recruit-index #photo_container #photo_list_container .namebox span {
        font-size: 12px;
        line-height: 1.4;
    }
    

    #recruit-index #photo_container #photo_list_container h3{
        display: block;
        padding-top: 10px;
        font-size: 16px;
        font-weight: 500;
        line-height: 1.5;
        color: var(--komatsu-blue);
        text-align: justify;
        text-justify: distribute;
        padding: 8px 10px 10px;
    }

    #recruit-index #photo_container #photo_list_container h3 br {
        display: none;
    }
    

    #recruit-index #photo_container #photo_list_container p{
        display: block;
        padding: 0 10px;
    }

    #recruit-people-detail #list_container li p span {
        font-size: 13px;
        display: block;
    }


    #recruit-index #txt_list_container{
        display: none;
    }


}





#recruit-index #container_item {
    position: absolute;
    height: 80px;
    width: 170px;
    left: 400px;
    top: 30px;
    /* left: calc(420px + 7.5%);
    left: calc(420px + 120px); */
    /* right: -80px;
    top: -80px; */
}

#recruit-index #container_item .swiper-button-next, #recruit-index #container_item .swiper-button-prev{
    position: absolute;
    width: 80px;
    height: 80px;
    border: var(--komatsu-blue) solid 1px;
    border-radius: 50%;
    color: var(--komatsu-blue);
    margin-top: 0;
}

#recruit-index #container_item .swiper-button-next svg, #recruit-index #container_item .swiper-button-prev svg{
    width: 8px;
    height: auto;
}

#recruit-index #container_item .swiper-button-next{
    right: 0px;
    top: 0px
}

#recruit-index #container_item .swiper-button-prev{
    left: 0px;
    top: 0px
}


@media screen and (max-width: 1440px) {
    #recruit-index #container_item {
        left: 390px;
    }
    
}


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

    #recruit-index #container_item{
        top: 0px;
        bottom: 20px;
        left: auto;
        right: 0;
    }


    #recruit-index #photo_container #photo_list_container li.swiper-slide{
        transition: all 500ms 0s ease;
        box-sizing:border-box;
        width: 300px;
        
        height: auto;
        transform-origin: center top;
    }

    #recruit-index #photo_container #photo_list_container li.swiper-slide img{
        opacity: 0;
        max-width: auto;
        width: 100%;
        object-fit: cover;
    }

    #recruit-index #photo_container #photo_list_container li.swiper-slide figure,
    #recruit-index #photo_container #photo_list_container li.swiper-slide figure span{
        width: 100%;
        height: 100%;
    }


    #recruit-index #photo_container #photo_list_container li.swiper-slide figure{
        transition: all 500ms 0s ease;
        width: 300px;
        padding: 10px;
    }


    #recruit-index #photo_container #photo_list_container li.swiper-slide.swiper-slide-active figure{
        width: 300px;
        height: auto;
    } 

    #recruit-index #photo_container #photo_list_container li.swiper-slide.swiper-slide-next{
        margin-left: 0;
    }

}

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

        
    #recruit-index #container_item {
        position: relative;
        height: 50px;
        width: 110px;
        right: auto;
        left: 0px;
        top: 0px;
        padding-bottom: 80px;
        /* left: calc(420px + 7.5%);
        left: calc(420px + 120px); */
        /* right: -80px;
        top: -80px; */
    }

    #recruit-index #container_item .swiper-button-next, #recruit-index #container_item .swiper-button-prev{
        position: absolute;
        width: 50px;
        height: 50px;
        border: var(--komatsu-blue) solid 1px;
        border-radius: 50%;
        color: var(--komatsu-blue);
        margin-top: 0;
    }


}


/* peoplebox *********************************/




/* careerbox  *********************************/

#recruit-index #careerbox{
    color: #FFF;
    margin-bottom: 120px;
}

#recruit-index #careerbox .inner_big{
    padding-top: 100px;
    padding-bottom: 80px;
}

#recruit-index #careerbox h2 {
    position: absolute;
    font-size: 80px;
    font-weight: 500;
    line-height: 1;
    right: 0;
    top: -30px;
    opacity: .5;
}

#recruit-index #careerbox h3 {
    font-size: 36px;
    font-weight: 500;
    line-height: 1;
}

#recruit-index #careerbox ul{
    padding-top: 100px;
}

#recruit-index #careerbox ul li{
    width: 32%;
    max-width: 350px;
    border-bottom: #FFF solid 1px;
    margin-bottom: 15px;
}

#recruit-index #careerbox ul li.comingsoon{
    opacity: .5;
}

#recruit-index #careerbox ul li a{
    transition: all 500ms 0s ease;
    display: block;
    padding-bottom: 20px;
    padding-top: 20px;
    line-height: 1;
    font-size: 16px;
    color: #FFF;
}

#recruit-index #careerbox ul li.comingsoon a{
    pointer-events: none;
}

#recruit-index #careerbox ul li a:hover{
    padding-left: .5em;
    opacity: .8;
}

#recruit-index #careerbox ul li a::before{
    content: "";
    position: absolute;
    display: block;
    width: 8px;
    height: 8px;
    right: 10px;
    border-color: #FFF;
}

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

    #recruit-index #careerbox{
        margin-bottom: 11.71875vw;
    }

    #recruit-index #careerbox .inner_big{
        padding-top: 9.765625vw;
        padding-bottom: 7.8125vw;
    }

    #recruit-index #careerbox h2 {
        font-size: 70px;
    }

    #recruit-index #careerbox h3 {
        font-size: 30px;
    }

}


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

    #recruit-index #careerbox{
        background: #0E0855;
	    background: linear-gradient(0deg, rgba(14, 8, 85, 1) 0%, rgba(21, 9, 154, 1) 100%); 
        margin-bottom: 15vw;
    }

    #recruit-index #careerbox .inner_big.bg_gra_u{
        background: none;
    }

    #recruit-index #careerbox h2 {
        position: relative;
        font-size: 70px;
        right: auto;
        left: -3px;
        top: 0px;
        padding-bottom: 30px;
    }

    #recruit-index #careerbox p{
        padding: 50px 0px 30px;
        font-size: 16px;
    }

    #recruit-index #careerbox ul{
        padding-top: 13.03780965vw;
    }
}

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

    #recruit-index #careerbox .inner_big{
        padding: 15vw 0 15vw;
    }

    #recruit-index #careerbox h2 {
        font-size: 62px;
    }

    #recruit-index #careerbox h3 {
        font-size: 22px;
    }

    #recruit-index #careerbox ul li{
        max-width: none;
        width: 100%;
    }

}



/* careerbox *********************************/




/* culturebox *********************************/

#recruit-index #culturebox{
    color: var(--komatsu-blue);
}

#recruit-index #culturebox .inner_big{
    background: var(--komatsu-lightgray);
    padding-top: 120px;
    padding-bottom: 100px;
}

#recruit-index #culturebox h2 {
    position: absolute;
    font-size: 80px;
    font-weight: 500;
    line-height: 1;
    right: 0;
    top: -30px;
}

#recruit-index #culturebox h3 {
    font-size: 36px;
    font-weight: 500;
    line-height: 1;
}

#recruit-index #culturebox p{
    padding: 70px 0px 40px;
    font-size: 18px;
}


#recruit-index #culturebox ul{
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
}

#recruit-index #culturebox ul li{
    width: 48.5%;
    margin-bottom: 15px;
}

#recruit-index #culturebox ul li a{
    display: block;
    line-height: 1;
    font-size: 16px;
    color: var(--komatsu-blue);
}

#recruit-index #culturebox ul li h4{
    position: absolute;
    z-index: 4;
    color: #FFF;
    font-size: 18px;
    line-height: 1;
    left: 20px;
    top: 20px;
}

#recruit-index #culturebox ul li aside{
    position: absolute;
    right: 20px;
    bottom: 20px;
    z-index: 5;
}

#recruit-index #culturebox ul li figure{
    overflow: hidden;
}

#recruit-index #culturebox ul li figure img{
    transition: all 500ms 0s ease;
}

#recruit-index #culturebox ul li a:hover figure img{
    transform: scale(1.1);
}

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

    #recruit-index #culturebox .inner_big{
        padding: 11.71875vw 0 11.71875vw;
    }

    #recruit-index #culturebox h2 {
        font-size: 70px;
    }

    #recruit-index #culturebox h3 {
        font-size: 30px;
    }

}


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

    #recruit-index #culturebox{
        padding: 11.71875vw 0 11.71875vw;
        background: var(--komatsu-lightgray);
    }

    #recruit-index #culturebox .inner_big{
        padding: 0 ;
    }

    #recruit-index #culturebox h2 {
        position: relative;
        right: auto;
        left: -3px;
        top: 0px;
        padding-bottom: 30px;
    }

    #recruit-index #culturebox p{
        padding: 50px 0px 30px;
        font-size: 16px;
    }

    #recruit-index #culturebox ul li{
        width: 100%;
        max-width: 490px;
        margin: 0 auto 20px;
    }


}

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

    #recruit-index #culturebox{
        padding: 15vw 0 15vw;
    }

    #recruit-index #culturebox h2 {
        font-size: 62px;
    }

    #recruit-index #culturebox h3 {
        font-size: 22px;
    }

    #recruit-index #culturebox ul li{
        width: 100%;
        margin-bottom: 15px;
    }

    #recruit-index #culturebox ul li aside{
        right: 15px;
        bottom: 15px;
    }

}

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

    #recruit-index #culturebox ul li aside{
        right: 10px;
        bottom: 10px;
    }

}



/* culturebox *********************************/






/* bannerbox *********************************/

#recruit-index #bannerbox{
    padding: 120px 0px 100px;
}

#recruit-index #bannerbox .bannerbox_card{
    height: 300px;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    justify-content: center;
    margin-bottom: 30px;
    overflow: hidden;
}

#recruit-index #bannerbox .bannerbox_card a{
    display: block;
    position: absolute;
    z-index: 100;
    width: 100%;
    height: 100%;
}

#recruit-index #bannerbox .bannerbox_card figure{
    transition: all 500ms 0s ease;
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    
    z-index: 1;
}

#recruit-index #bannerbox .bannerbox_card figure aside{
    
    width: 100%;
    height: 100%;
    overflow: hidden;
}

#recruit-index #bannerbox .bannerbox_card figure span{
    transition: all 500ms 0s ease;
    display: block;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center center;
}

/* #recruit-index #bannerbox .bannerbox_card#banner_words figure span{
    background-image: url(/-/media/HOME/recruit/new/images/index/banner_komatsuwords.webp);
}

#recruit-index #bannerbox .bannerbox_card#banner_discover figure span{
    background-image: url(/-/media/HOME/recruit/new/images/index/banner_discoverkomatsu.webp);
} */

#recruit-index #bannerbox .bannerbox_card:hover figure span{
    opacity: .8;
    transform: scale(1.05);
}

#recruit-index #bannerbox .bannerbox_card div{
    text-align: center;
    color: #FFF;
    z-index: 10;
}

#recruit-index #bannerbox .bannerbox_card div h4{
    font-size: 42px;
}

#recruit-index #bannerbox .bannerbox_card div p{
    font-size: 18px;
}

#recruit-index #bannerbox .bannerbox_card div p span{
    display: inline-block;
    padding-right: 1.5em;
}

#recruit-index #bannerbox .bannerbox_card div p span.arrow_r::before{
    border-color: #FFF;
    right: 0;
}

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

    #recruit-index #bannerbox{
        padding: 11.71875vw 0 11.71875vw;
    }

}


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

    #recruit-index #bannerbox{
        padding: 15vw 0 15vw;
    }

    #recruit-index #bannerbox .bannerbox_card{
        height: 600px;
    }

    /* #recruit-index #bannerbox .bannerbox_card#banner_words figure span{
        background-image: url(/-/media/HOME/recruit/new/images/index/banner_komatsuwords_sp.webp);
    }

    #recruit-index #bannerbox .bannerbox_card#banner_discover figure span{
        background-image: url(/-/media/HOME/recruit/new/images/index/banner_discoverkomatsu_sp.webp);
    } */

    #recruit-index #bannerbox .bannerbox_card div h4{
        font-size: 38px;
    }
}

@media screen and (max-width: 480px) {
    #recruit-index #bannerbox .bannerbox_card{
        height: auto;
        height: 120vw;
    }

    #recruit-index #bannerbox .bannerbox_card .arrow_r::before{
        display: none;
    }

    #recruit-index #bannerbox .bannerbox_card div p span{
        display: inline-block;
        padding-right: 0em;
    }
}

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

    #recruit-index #bannerbox .bannerbox_card div h4{
        font-size: 10.13333333vw;
    }

    #recruit-index #bannerbox .bannerbox_card div p{
        font-size: 16px;
    }

}


/* bannerbox *********************************/



/* recruitbox *********************************/

#recruit-index #recruitbox{
    background: var(--komatsu-lightgray);
    color: var(--komatsu-blue);
    padding: 120px 0 100px;
}

#recruit-index #recruitbox h2 {
    position: absolute;
    font-size: 70px;
    font-weight: 500;
    line-height: 1;
    right: 0;
    top: -30px;
}

#recruit-index #recruitbox h3 {
    font-size: 26px;
    font-weight: 500;
    line-height: 1;
}

#recruit-index #recruitbox ul{
    padding-top: 100px;
}

#recruit-index #recruitbox ul li{
    width: 47.4137931%;
    border-bottom: var(--komatsu-blue) solid 1px;
    margin-bottom: 15px;
}

#recruit-index #recruitbox ul li a{
    transition: all 500ms 0s ease;
    display: block;
    padding-bottom: 20px;
    padding-top: 20px;
    line-height: 1;
    font-size: 16px;
    color: var(--komatsu-blue);
}

#recruit-index #recruitbox ul li a:hover{
    padding-left: .5em;
}

#recruit-index #recruitbox ul li a::before{
    content: "";
    position: absolute;
    display: block;
    width: 8px;
    height: 8px;
    right: 10px;
}

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

    #recruit-index #recruitbox{
        padding: 11.71875vw 0 11.71875vw;
    }

}


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

    #recruit-index #recruitbox{
        padding: 15vw 0 15vw;
    }

    #recruit-index #recruitbox h2 {
        position: relative;
        font-size: 70px;
        right: auto;
        left: -3px;
        top: 0px;
        padding-bottom: 30px;
    }

    #recruit-index #recruitbox ul{
        padding-top: 13.03780965vw;
    }
}

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

    #recruit-index #recruitbox h2 {
        font-size: 62px;
    }

    #recruit-index #recruitbox h3 {
        font-size: 22px;
    }

    #recruit-index #recruitbox ul li{
        width: 100%;
    }

}



/* recruitbox *********************************/




