@charset "UTF-8";

.main{
    /*min-height: 300px;*/
    min-height: 350px;
    margin: 0 0 40px;
    padding: 0 20px;
    background: url(../img/hr-rejoin/main_sp@2x.jpg?624) no-repeat left top;
    /*background-size: contain;*/
    background-size: cover;
}

.hx-point-ttl{
    /*line-height: 300px;*/
    margin: 0;
    /*padding: 20px 0;*/
    padding: 120px 0 0;
    font-weight: bold;
    font-size: 20px !important; font-size: 2.0rem !important;
    color: #fff;
}

.hx-green{
    line-height: 1.7;
    margin: 0 0 30px;
    padding: 0;
    font-size: 20px !important; font-size: 2.0rem !important;
    color: #176E11;
}

.hx-black{
    line-height: 1.7;
    margin: 0 0 30px;
    padding: 0;
    font-size: 24px !important; font-size: 2.4rem !important;
    color: #3f3f3f;
}

.hx-black span{
    display: block;
    font-size: 14px; font-size: 1.4rem;
}

.hx-black-s{
    line-height: 1.7;
    margin: 0 0 20px;
    padding: 0;
    font-size: 18px !important; font-size: 1.8rem !important;
    color: #3f3f3f;
}

.txt{
    margin: 0 0 20px;
    font-size: 16px !important; font-size: 1.6rem !important;
}

.box.bg-green{
    margin: 0;
    padding: 60px 0;
    background: #eff6e9;
}

.box.bg-green .wrapper{
    background: transparent;
}

.img-box.w-adjust{
    margin: 0 auto 20px;
}

.flex-box{
    -js-display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: center;
    justify-content: center;
    align-items: stretch;
    margin: 0 -10px;
}

.img-box{
    margin: 0 auto 30px;
}

.flex-box .img-box{
    margin: 0 10px;
}

.img-box.nobdr img{
    border: none;
}

.boxmb{
    margin: 0 0 40px !important;
}

.hx-leaf{
    margin: 0 0 30px;
    padding: 0 0 0 52px;
    background: url(../img/meisai_ico@3x.png) no-repeat left center;
    background-size: 36px 16px;
    font-weight: bold;
    font-size: 18px !important; font-size: 1.8rem !important;
}

.li-dot li{
    position: relative;
    margin: 0 0 10px;
    padding: 0 0 0 16px;
    background: transparent;
}

.li-dot li::before{
    position: absolute;
    content: " ";
    top: 50%;
    left: 0;
    width: 8px;
    height: 8px;
    margin: -4px 0 0;
    border-radius: 4px;
    background: #66cc1f;
}

.main-ttl-box{
    margin: 0 auto;
    width: 75%;
}

.service-ttl{
    margin: 0;
    padding: 20px 0 0;
}

.box.top .wrapper{
    position: relative;
}

.box.top .wrapper .pic{
    position: absolute;
    right: 0;
    top: -60px;
    width: 120px;
}

.box.top .wrapper .pic img{
    border-radius: 20%;
    box-shadow: 0 0 8px rgba(0,0,0,0.2);
}

.hx-green.top{
    width: calc(100% - 130px);
}

.patent{
    display: block;
    margin: 0.5em 0 0;
}

.flow .bold{
    font-size: 18px; font-size: 1.8rem;
    text-decoration: underline;
}

.li-flow {
    margin: 30px 0 0;
}

.li-flow li{
    position: relative;
    margin: 0 auto 60px;
    text-align: center;
}

.li-flow li::after{
    position: absolute;
    content: " ";
    bottom: -45px;
    left: 50%;
    width:0;
    height:0;
    margin: 0 0 0 -30px;
    border-style:solid;
    border-width: 30px 30px 0 30px;
    border-color: #d8d8d8 transparent transparent transparent;
}

.li-flow li:last-child{
    margin: 0 0 30px;
}

.li-flow li:last-child::after{
    border:0;
}

.li-flow li img{
    display: block;
    margin: 0 auto;
    height: 200px;
}

.li-worry{
    position:relative;
}

.li-worry::after{
    content: "";
    position: absolute;
    bottom: -20px;
    left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 30px solid transparent;
  border-left: 30px solid transparent;
  border-top: 40px solid #d8d8d8;
  border-bottom: 0;
}

.li-worry li{
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    padding: 0 0 20px;
}

.li-worry li::after{
    content: " ";
    position: absolute;
    top: 0;
    left: 20px;
    width: 20px;
    height: 100%;
    background: #d8d8d8;
    z-index: 0;
}

.li-worry li span{
    width: 60px;
    height: 60px;
    line-height: 60px;
    margin: 0 30px 0 0;
    border-radius: 30px;
    background: #176E11;
    color: #fff;
    text-align: center;
    font-size: 20px; font-size: 2.0rem;
    font-weight: bold;
    z-index: 1;
}

.li-worry dl{
    flex: 1;
    margin: 0 30px 0 0;
}

.li-worry dt{
    display: inline-block;
    background: #66cc1f;
    margin: 0 0 10px;
    padding: 5px 10px;
    border-radius: 5px;
    color: #fff;
    font-size: 16px !important; font-size: 1.6rem !important;
    font-weight: bold;
}

.li-worry dd{
    margin: 0 0 20px;
}

.li-worry img{
    display: block;
    height: 100px;
}

.bdr-box{
    padding: 20px 0;
}

.bdr-box.bg-green{
    background: #eff6e9;
}

.bdr-box .inner{
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
}

.bdr-box .inner span{
    display: block;
    width: 60px;
    height: 60px;
    line-height: 60px;
    margin: 0 30px 0 0;
    border-radius: 30px;
    background: #176E11;
    color: #fff;
    text-align: center;
    font-size: 20px; font-size: 2.0rem;
    font-weight: bold;
    white-space: nowrap;
}

.bdr-box .inner .txt-box{
    position:  relative;
    flex: 1;
}

.bdr-box .inner dt{
    margin: 0 0 10px;
    font-weight: bold;
    font-size: 16px !important; font-size: 1.6rem !important;
}

.bdr-box .inner dd{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 0 20px;
}

.bdr-box .inner img{
    height: 80px;
    margin: 0 auto;
}

.ttl-solution{
    margin: 0 0 30px;
    font-size: 22px !important; font-size: 2.2rem !important;
    color: #176E11;
    font-weight: bold;
    text-align: center;
}

.solution{
    position: relative;
}
.arrow {
    position: absolute;
    top: -30px;
    left: 50%;
    margin: 0 0 0 -30px;
  display: inline-block;
  width: 56.6px;
  height: 60px;
  background: #176E11;
  clip-path: polygon(0 52.9%, 23.5% 52.9%, 23.5% 0, 76.5% 0, 76.5% 52.9%, 100% 52.9%, 50% 100%);
}

.mock-flex{
    overflow-x: auto;
    flex-wrap: nowrap;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    display: flex;
    align-items: stretch;
}

.mock-flex li{
    box-sizing: border-box;
    flex: 0 0 auto; /* 横幅固定で縮まない */
    width: 42%;     /* スライドの幅（調整可能） */
    scroll-snap-align: start;
    padding: 0 20px 20px;
}

.green-round-box{
    margin: 0 0 30px;
    padding: 10px;
    border-radius: 20px;
    background: #F4FAEF;
}

.hx-box{
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.hx-box img{
    display: block;
    width: 60px;
    border-radius: 10px;
    margin: 0 0 30px;
}

.li-alumni {
    display: flex;
    justify-content: space-between;
    margin: 0 0 20px;
}

.li-alumni li{
    margin: 0 10px;
    text-align: center;
    color: #66cc1f;
    font-weight: bold;
    font-size: 12px !important; font-size: 1.2rem !important;
}

.li-alumni li img{
    display: block;
    margin: 0 auto 10px;
}

.li-rejoin li{
    margin: 0 0 20px;
    box-sizing: border-box;
}

.li-rejoin li .inner{
    width: auto !important;
    height: 100%;
    padding: 10px;
    border-radius: 8px;
    box-sizing: border-box;
    background: #fff;
}

.li-rejoin.green li .inner{
    background: #eff6e9;
}

.li-rejoin li img{
    display: block;
    width: 60px;
    margin: 0 auto 10px;
    
}

.li-rejoin dt{
    margin: 0 0 10px;
    font-size: 16px !important; font-size: 1.6rem !important;
    font-weight: bold;
    text-align: center;
}

.li-rejoin dd{
    font-size: 15px !important; font-size: 1.5rem !important;
}

@media only screen and (min-width: 768px) {

    .main{
        position: relative;
        height: 357px;
        padding: 20px 0 0;
        box-sizing: border-box;
        background: url(../img/hr-rejoin/main.jpg?616) no-repeat left top;
        background-size: cover;
    }

    /*.main .inner{
        height: 277px;
        padding: 0 0 60px;
        background: url(../img/point/main_mockup_pc.png) no-repeat right 60px bottom;
        background-size: contain;
    }*/

    .hx-point-ttl{
        line-height: 277px;
        font-size: 40px !important; font-size: 4.0rem !important;
    }

    .hx-green{
        margin: 0 0 40px;
        text-align: center;
        font-size: 32px !important; font-size: 3.2rem !important;
    }

    .hx-green.top{
        font-size: 35px !important; font-size: 3.5rem;
    }
    
    .hx-black{
        margin: 0 0 40px;
        font-size: 36px !important; font-size: 3.6rem !important;
    }
    
    .hx-black span{
        font-size: 18px; font-size: 1.8rem;
    }
    
    .hx-black-s{
        margin: 0 0 30px;
        font-size: 24px !important; font-size: 2.4rem !important;
    }

    .txt{
        margin: 0 0 30px;
    }

    #link_06 .txt,
    .txt.t-lft{
        text-align: left;
    }

    .box.bg-green{
        margin: 0;
        padding: 80px 0;
    }

    .img-box.nobdr{
        max-width: 600px;
        margin: 0 auto 60px;
    }

    .img-box.w-adjust{
        max-width: 600px;
        margin: 0 auto 30px;
    }

    .boxmb{
        margin: 0 0 80px !important;
    }

    .hx-leaf{
        margin: 0 0 40px;
        font-size: 24px !important; font-size: 2.4rem !important;
    }

    .li-dot li{
        position: relative;
        margin: 0 0 10px;
        padding: 0 0 0 24px;
        background: transparent;
    }

    .li-dot li::before{
        position: absolute;
        content: " ";
        top: 50%;
        left: 0;
        width: 10px;
        height: 10px;
        margin: -5px 0 0;
        border-radius: 5px;
        background: #66cc1f;
    }

    .main-ttl-box{
        margin: 0;
        width: 500px;
    }

    .box.top .wrapper .pic{
        position: absolute;
        right: 0;
        top: -145px;
        width: 250px;
    }

    .hx-green.top{
        width: calc(100% - 270px);
        text-align: left;
    }

    .box.top .txt{
        text-align: left;
    }
    
    .li-flow {
        display: flex;
        justify-content: center;
        align-items: stretch;
        margin: 40px 0;
    }

    .li-flow li{
        position: relative;
        margin: 0 80px 0 0;
        text-align: left;
    }

    .li-flow li::after{
        position: absolute;
        content: " ";
        bottom: inherit;
        left: inherit;
        top: 50%;
        right: -60px;
        width:0;
        height:0;
        margin: -40px 0 0;
        border-style:solid;
        border-width: 40px 0 40px 40px;
        border-color: transparent transparent transparent #d8d8d8;
    }

    .li-flow li:last-child{
        margin: 0;
    }

    .li-flow li:last-child::after{
        border:0;
    }

    .li-flow li img{
        display: block;
        margin: 0 auto;
        height: auto;
        max-height: 420px;
    }
    
    .li-worry::after{
        content: "";
        position: absolute;
        bottom: -60px;
        left: 80px;
      width: 0;
      height: 0;
      border-style: solid;
      border-right: 50px solid transparent;
      border-left: 50px solid transparent;
      border-top: 70px solid #d8d8d8;
      border-bottom: 0;
    }

    .li-worry li{
        position: relative;
        display: flex;
        justify-content: flex-start;
        align-items: stretch;
        padding: 0 80px 40px;
    }

    .li-worry li::after{
        content: " ";
        position: absolute;
        top: 0;
        left: 120px;
        width: 20px;
        height: 100%;
        background: #d8d8d8;
        z-index: 0;
    }

    .li-worry li span{
        width: 100px;
        height: 100px;
        line-height: 100px;
        margin: 0 80px 0 0;
        border-radius: 50px;
        background: #176E11;
        color: #fff;
        text-align: center;
        font-size: 24px; font-size: 2.4rem;
        font-weight: bold;
        z-index: 1;
    }

    .li-worry dl{
        flex: 1;
        margin: 0 40px 0 0;
    }

    .li-worry dt{
        display: inline-block;
        background: #66cc1f;
        margin: 0 0 30px;
        padding: 5px 10px;
        border-radius: 5px;
        color: #fff;
        font-size: 24px !important; font-size: 2.4rem !important;
        font-weight: bold;
    }

    .li-worry dd{
        margin: 0 0 30px;
        font-size: 20px; font-size: 2.0rem;
    }

    .li-worry img{
        display: block;
        height: 200px;
    }
    
    .bdr-box{
        padding: 30px 0 60px;
    }
    
    .bdr-box .inner{
        align-items: center;
    }

    .bdr-box .inner span{
        width: 100px;
        height: 100px;
        line-height: 100px;
        margin: 0 40px 0 0;
        border-radius: 50px;
        font-size: 24px; font-size: 2.4rem;
    }
    
    .bdr-box .inner .txt-box{
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    
    .bdr-box .inner dl{
        flex: 1;
        margin: 0 40px 0 0;
    }
    
    .bdr-box .inner dt{
        font-size: 24px !important; font-size: 2.4rem !important;
    }
    
    .bdr-box .inner dd{
        justify-content: space-between;
        align-items: stretch;
        font-size: 18px; font-size: 1.8rem;
    }
    
    .bdr-box .inner dd p{
        flex: 1;
        margin: 0 40px 0 0;
    }
    
    .bdr-box .inner img{
        height: 150px;
    }
    
    .ttl-solution{
        margin: 0 0 40px;
        font-size: 32px !important; font-size: 3.2rem !important;
    }
    
    .solution{
        position: relative;
    }
    
    .arrow {
        position: absolute;
        top: -60px;
        left: 50%;
        margin: 0 0 0 -45px;
        display: inline-block;
        width: 127.3px;
        height: 120px;
        background: #176E11;
        clip-path: polygon(0 47%, 26.4% 47%, 26.4% 0, 73.6% 0, 73.6% 47%, 100% 47%, 50% 100%);
    }

    .hx-point-ttl{
        padding: 20px 0;
    }
    
    .green-round-box{
        margin: 0 0 40px;
        padding: 20px;
    }

    .hx-box img{
        display: block;
        width: 120px;
        border-radius: 20px;
        margin: 0 0 40px;
    }
    
    .li-alumni {
        justify-content: center;
        margin: 0 0 40px;
    }

    .li-alumni li{
        width: 200px;
        margin: 0 40px;
        text-align: center;
        color: #66cc1f;
        font-weight: bold;
        font-size: 18px !important; font-size: 1.8rem !important;
    }

    .li-alumni li img{
        display: block;
        width: 150px;
        margin: 0 auto 10px;
    }
    
    .li-rejoin{
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        align-items: stretch;
        margin: 0 -20px;
    }

    .li-rejoin li{
        width: 50%;
        margin: 0 0 40px;
        padding: 0 20px;
        box-sizing: border-box;
    }
    
    .li-rejoin.green li{
        width: 33.3%;
    }
    
    .li-rejoin li .inner{
        border-radius: 16px;
        padding: 20px 30px;
    }
    
    .li-rejoin dt{
        margin: 0 0 10px;
        font-size: 18px !important; font-size: 1.8rem !important;
    }

    .li-rejoin dd{
        font-size: 16px !important; font-size: 1.6rem !important;
    }
    
    .mock-flex{
        justify-content: center;
    }
    
    .mock-flex li{
        width: 25%;
        padding: 0 20px;
    }

}

@media only screen and (min-width: 1140px){
    
    .main .inner{
        width: 1060px;
        margin: 0 auto;
    }

    .box .wrapper{
        width: 980px;
    }
    

}