@charset "utf-8";

/*********************************************************************
*
*  For アセットソリューション事業
*
*********************************************************************/

.service_under_head{
    padding-top: 50px;
}
.service_under_head .sec_ttl{
    font-size: 48px;
    font-weight: 700;
    line-height: 1.29;
    text-align: center;
    margin-bottom: 0;
}
.service_under_head .sec_txt {
    font-size: 18px;
    line-height: 1.89;
    font-weight: 500;
    text-align: center;
    margin-top: 40px;
}

/*.under_head .lineheight{
    z-index: 1;
}
*/
@media (max-width: 767px) {
    .service_under_head{
        padding-top: 20px;
    }
    .service_under_head .sec_ttl{
        font-size: 28px;
        line-height: 1.43;
    }
    .service_under_head .sec_txt {
        font-size: 16px;
        z-index: 1;
        position: relative;
    }
     
}
/* ---------------------------------------------------- */
/* service01_lead */
/* ---------------------------------------------------- */
.service01_lead{
    background-color: #1F1F1F;
    color: #fff;
    margin-top: 85px;
}
.service01_lead--txt{
    width: 352px;
    font-size: 15px;
    line-height: 2.13;
    text-align: justify;
}
.service01_lead--txt > p{
    margin-top: 1em;
}


@media (min-width: 768px) {
    .service01_lead .inner > div{
        display: flex;
        justify-content: space-between;
        padding: 0 135px;
    }
    .service01_lead--img{
        width: 509px;
    }

}

@media (max-width: 767px) {
    .service01_lead{
        margin-top: 45px;
    }
    .service01_lead--txt{
        width: 100%;
        line-height: 2;
    }
    .service01_lead--img{
        margin-top: 40px;
    }

}

/* ---------------------------------------------------- */
/* lineup_wrap */
/* ---------------------------------------------------- */
.lineup_wrap{
    padding-bottom: 145px;
}
.service01--ttl{
    font-size: 38px;
    font-weight: 700;
    text-align: center;
}
.service01--txt{
    font-size: 16px;
    line-height: 2.13;
    font-weight: 500;
    text-align: center;
    margin-top: 35px;
}
.lineup_box{
    margin-top: 75px;
    position: relative;
}

.lineup_detail{
    width: 454px;
    height: 614px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 78px;
    position: absolute;
    top: 45px;
    left: calc(((100% - 1200px) / 2) - 30px);
/*    left: -30px;*/
}
.lineup_box01 .lineup_detail{
    background-color: rgba(0, 0, 0, 0.85);
    color: #fff;
}
.lineup_box02 .lineup_detail{
    background-color: rgba(255, 255, 255, 0.95);
}
.lineup_detail .lineup01_logo{
    width: 293px;
    margin: 0 auto;
}
.lineup_detail .lineup02_logo{
    width: 142px;
    margin: 0 auto;
}
.lineup_detail--txt1{
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.05em;
    margin-top: 45px;
    padding-bottom: 20px;
    position: relative;
}
.lineup_detail--txt1::after{
    content: '';
    width: 26px;
    height: 1px;
    background-color: #fff;
    position: absolute;
    bottom: 0;
    left: 0;
}
.lineup_box02 .lineup_detail--txt1::after{
    background-color: #000;
}
.lineup_detail--txt2{
    font-size: 34px;
    font-weight: 700;
    margin-top: 20px;
}
.lineup_detail--txt3{
    width: 82px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.6;
    text-align: center;
    margin-top: 25px;
}
.lineup_box01 .lineup_detail--txt3{
    border: 1px solid #fff;
}
.lineup_box02 .lineup_detail--txt3{
    border: 1px solid #000;
}
.lineup_detail--txt4{
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 2.13;
    margin-top: 35px;
}
.lineup_detail--txt5{
    width: 140px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 2.4;
    text-align: center;
    background-color: #CECECE;
    margin-top: 20px;
}

.lineup_box--img{
    display: flex;
    flex-wrap: wrap;
}

.lineup_box--img .img{
    display: block;
    width: 100%;
    height: 100%;
    background-position: center;
    background-size: cover;
    background-repeat: repeat;
    /* sukima */
    overflow: hidden;
    line-height: 0;    
    font-size: 0;
    margin: 0;
    padding: 0;
    border: 0;
    transform: translateZ(0); 
}
.lineup01_01 .img{
    background-image: url(../img/service01/lineup01_01.jpg);
}
.lineup01_02 .img{
    background-image: url(../img/service01/lineup01_02.jpg);
}
.lineup01_03 .img{
    background-image: url(../img/service01/lineup01_03.jpg);
}
.lineup01_04 .img{
    background-image: url(../img/service01/lineup01_04.jpg);
}
.lineup01_05 .img{
    background-image: url(../img/service01/lineup01_05.jpg);
}
.lineup01_06 .img{
    background-image: url(../img/service01/lineup01_06.jpg);
}
.lineup01_07 .img{
    background-image: url(../img/service01/lineup01_07.jpg);
}
.lineup01_08 .img{
    background-image: url(../img/service01/lineup01_08.jpg);
}
.lineup02_01 .img{
    background-image: url(../img/service01/lineup02_01.jpg);
}
.lineup02_02 .img{
    background-image: url(../img/service01/lineup02_02.jpg);
}
.lineup02_03 .img{
    background-image: url(../img/service01/lineup02_03.jpg);
}
.lineup02_04 .img{
    background-image: url(../img/service01/lineup02_04.jpg);
}
.lineup02_05 .img{
    background-image: url(../img/service01/lineup02_05.jpg);
}
.lineup02_06 .img{
    background-image: url(../img/service01/lineup02_06.jpg);
}
.lineup02_07 .img{
    background-image: url(../img/service01/lineup02_07.jpg);
}

.lineup01_01,
.lineup02_01{
    width: 100%;
    height: 704px;
}
.lineup01_02{
    width: 40.2%;
    height: 572px;
}
.lineup01_03-04{
    width: 26.5%;
    height: 572px;
}
.lineup01_03,
.lineup01_04{
    width: 100%;
    height: 286px;
}
.lineup01_05{
    width: 33.3%;
    height: 572px;
}
.lineup01_06,
.lineup01_07,
.lineup01_08{
    width: calc(100% / 3);
    height: 392px;
}
.lineup02_02{
    width: 66.7%;
    height: 572px;
}
.lineup02_03{
    width: 33.3%;
    height: 572px;
}
.lineup02_04{
    width: 44.8%;
    height: 392px;
}
.lineup02_05{
    width: 33.3%;
    height: 392px;
}
.lineup02_06-07{
    width: 21.9%;
    height: 392px;
}
.lineup02_06,
.lineup02_07{
    width: 100%;
    height: 196px;
}


@media (min-width: 768px) {
    .lineup_box02 .lineup_detail--txt1{
        margin-top: 30px;
    }
    .lineup_box02 .lineup_detail--txt4{
        margin-top: 20px;
    }
    .lineup_detail.smooth {
        clip-path: inset(0);
    }

}

@media (max-width: 767px) {
/*    画像はsmoothなし*/
    .lineup_box--img .smooth {
        clip-path: inset(0);
    }
    .lineup_wrap{
        padding-bottom: 85px;
    }
    .service01--ttl{
        font-size: 24px;
        line-height: 1.4;
        margin-top: 35px;
    }
    .service01--txt{
        font-size: 15px;
        line-height: 2;
        text-align: justify;
        margin-top: 20px;
    }
    .lineup_box{
        margin-top: 35px;
    }

    .lineup_detail{
        width: 320px;
        height: auto;
        padding: 45px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }
    .lineup_box01 .lineup_detail{
        background-color: rgba(0, 0, 0, 0.75);
    }
    .lineup_box02 .lineup_detail{
        background-color: rgba(255, 255, 255, 0.85);
    }
    .lineup_detail .lineup01_logo{
        width: 192px;
    }
    .lineup_detail .lineup02_logo{
        width: 90px;
    }
    .lineup_detail--txt1{
        font-size: 13px;
        margin-top: 35px;
        padding-bottom: 20px;
    }
    .lineup_detail--txt2{
        font-size: 28px;
        margin-top: 25px;
    }
    .lineup_detail--txt3{
        margin-top: 20px;
    }
    .lineup_detail--txt4{
        font-size: 15px;
        letter-spacing: 0;
        line-height: 1.87;
        margin-top: 25px;
    }
    .lineup_detail--txt4 br{
        display: none;
    }

    .lineup01_01 .img{
        background-image: url(../img/service01/lineup01_01_sp.jpg);
    }
    .lineup01_02 .img{
        background-image: url(../img/service01/lineup01_02_sp.jpg);
    }
    .lineup01_03 .img{
        background-image: url(../img/service01/lineup01_03_sp.jpg);
    }
    .lineup01_04 .img{
        background-image: url(../img/service01/lineup01_04_sp.jpg);
    }
    .lineup01_05 .img{
        background-image: url(../img/service01/lineup01_05_sp.jpg);
    }
    .lineup01_06 .img{
        background-image: url(../img/service01/lineup01_06_sp.jpg);
    }
    .lineup01_07 .img{
        background-image: url(../img/service01/lineup01_07_sp.jpg);
    }
    .lineup01_08 .img{
        background-image: url(../img/service01/lineup01_08_sp.jpg);
    }
    .lineup02_01 .img{
        background-image: url(../img/service01/lineup02_01_sp.jpg);
    }
    .lineup02_02 .img{
        background-image: url(../img/service01/lineup02_02_sp.jpg);
    }
    .lineup02_03 .img{
        background-image: url(../img/service01/lineup02_03_sp.jpg);
    }
    .lineup02_04 .img{
        background-image: url(../img/service01/lineup02_04_sp.jpg);
    }
    .lineup02_05 .img{
        background-image: url(../img/service01/lineup02_05_sp.jpg);
    }
    .lineup02_06 .img{
        background-image: url(../img/service01/lineup02_06_sp.jpg);
    }
    .lineup02_07 .img{
        background-image: url(../img/service01/lineup02_07_sp.jpg);
    }
    .lineup01_01{
        height: 187px;
    }
    .lineup01_02{
        width: 59.5%;
        height: 220px;
    }
    .lineup01_03-04{
        width: calc(100% - 59.5%);
        height: 220px;
    }
    .lineup01_03,
    .lineup01_04{
        height: 110px;
    }
    .lineup01_05{
        width: 57.6%;
        height: 257px;
    }
    .lineup01_06-07{
        width: calc(100% - 57.6%);
        height: 257px;
    }
    .lineup01_06{
        width: 100%;
        height: 127px;
    }
    .lineup01_07{
        width: 100%;
       height: 130px;
    }
    .lineup01_08{
        width: 100%;
        height: 243px;
    }
    .lineup02_01{
        width: 100%;
        height: 232px;
    }
    .lineup02_02{
        width: 66.7%;
        height: 198px;
    }
    .lineup02_03{
        width: calc(100% - 66.7%);
        height: 198px;
    }
    .lineup02_04{
        width: 100%;
        height: 273px;
    }
    .lineup02_05{
        width: 60.3%;
        height: 203px;
    }
    .lineup02_06-07{
        width: calc(100% - 60.3%);
        height: 203px;
    }
    .lineup02_06{
        width: 100%;
        height: 102px;
    }
    .lineup02_07{
        width: 100%;
        height: 101px;
    }

}

/* ---------------------------------------------------- */
/* development_wrap */
/* ---------------------------------------------------- */
.development_wrap{
    background-color: #1F1F1F;
    color: #fff;
}
.development_wrap .service01--txt{
    margin-top: 45px;
}

.reason_list{
    padding: 0 25px;
    margin-top: 115px;
}
/*.reason_list--ttl{
    display: flex;
    justify-content: center;
    position: relative;
}
.reason_list--ttl::after{
    content: '';
    width: 100%;
    height: 1px;
    background-color: #fff;
    position: absolute;
    top: 50%;
    left: 0
}
.reason_list--ttl span{
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 0.05em;
    background-color: #1F1F1F;
    padding: 0 1.5em;
    z-index: 1;
}*/
.reason_list > ul{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-top: 30px;
}

.reason_list--box p.osw{
    font-size: 40px;
    font-weight: 500;
    text-align: center;
    color: #BA454A;
}
.reason_list--box h4{
    font-size: 18px;
    font-weight: 700;
    line-height: 1.77;
    text-align: center;
    margin-top: 20px;
}
.reason_list--box .img{
    width: 345px;
    margin-top: 30px;
}
.reason_list--box .button{
    width: 279px;
    justify-content: flex-start;
    border-color: #fff;
    padding-left: 25px;
    margin-top: 25px;
}

@media (min-width: 768px) {
    .reason_list--ttl{
        display: flex;
        justify-content: center;
        position: relative;
    }
    .reason_list--ttl::after{
        content: '';
        width: 100%;
        height: 1px;
        background-color: #fff;
        position: absolute;
        top: 50%;
        left: 0
    }
    .reason_list--ttl span{
        font-size: 22px;
        font-weight: 700;
        letter-spacing: 0.05em;
        background-color: #1F1F1F;
        padding: 0 1.5em;
        z-index: 1;
    }
    .reason_list--box{
        display: block;
        flex-direction: column;
        justify-content: center;
    }

}

@media (max-width: 767px) {
    .development_wrap .service01--ttl{
        margin-top: 0;
    }
    .development_wrap .service01--txt{
        margin-top: 30px;
    }

    .reason_list{
        padding: 0;
        margin-top: 65px;
    }
    .reason_list--ttl{
        font-size: 20px;
        line-height: 1.5;
        font-weight: 700;
        letter-spacing: 0.05em;
        text-align: center;
        padding-bottom: 20px;
        border-bottom: 1px solid #C3C3C3;
    }
    .reason_list > ul{
        display: block;
        margin-top: 30px;
    }

    .reason_list--box + .reason_list--box{
        margin-top: 40px;
    }
    .reason_list--box > div{
        display: flex;
        align-items: center;
    }
    .reason_list--box p.osw{
        font-size: 35px;
        text-align: left;
    }
    .reason_list--box h4{
        font-size: 18px;
        line-height: 1.45;
        text-align: left;
        margin-top: 0;
        margin-left: 20px;
    }
    .reason_list--box .img{
        width: 100%;
        margin-top: 20px;
    }
    .reason_list--box .button{
        height: 66px;
        width: 266px;
        padding-left: 20px;
        margin-top: 30px;
    }

}



/* ---------------------------------------------------- */
/* business_wrap */
/* ---------------------------------------------------- */
.business_wrap .inner{
    max-width: 1140px;
}
.cross_box{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 80px;
}
.cross_box dl {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.example_cross{
    width: 122px;
    margin: 0 48px;
}
.cross_box--txt1{
    height: 60px;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    text-align: center;
    letter-spacing: 0.05em;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.cross_box--txt2{
    width: 345px;
    font-size: 52px;
    font-weight: 700;
    color: #fff;
    background-image: linear-gradient(110deg, #9f0505, #d461b9 50%, #1c75ef);
    display: flex;
    justify-content: center;
    padding: 8px 0 12px;
    margin-top: 15px;
}
.business_wrap .service01--txt{
    width: 100%;
}

.example_box{
    margin-top: 105px;
}
.example_box--ttl{
    font-size: 26px;
    font-weight: 700;
    text-align: center;
}
.example_sub{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 70px;
    position: relative;
}
.example_sub + .example_sub{
    border-top: 1px solid #C4C4C4;
    margin-top: 90px;
    padding-top: 100px;
}
.example_sub > div{
    width: 525px;
    position: relative;
}
.example_sub--ttl{
    font-weight: 500;
    color: #fff;
    display: inline-block;
    position: absolute;
    top: -14px;
    left: 0;
}
.example_sub--before .example_sub--ttl{
    font-size: 19px;
    background-color: #968A8A;
    padding: 7px 13px 8px;
}
.example_sub--after .example_sub--ttl{
    font-size: 20px;
    background-color: #BA454A;
    padding: 7px 23px 8px;
}
.example_sub div img{
    border: 1px solid #707070;
}

.example_box--txt{
    width: 100%;
    font-size: 18px;
    line-height: 1.89;
    text-align: center;
    margin-top: 35px;
}
@media (min-width: 768px) {
    .business_wrap{
        padding-bottom: 25px;
    }
    .example_arrow{
        display: block;
        width: 90px;
        position: absolute;
        top: 190px;
        left: 50%;
        transform: translateX(-50%);
        z-index: 1;
    }
    .example_sub02 .example_arrow{
        top: 252px;
    }

}

@media (max-width: 767px) {
    .business_wrap{
        padding-bottom: 0;
    }
    .business_wrap .service01--ttl{
        margin-top: 0;
    }
    .cross_box{
        display: block;
        margin-top: 35px;
    }
    .example_cross{
        display: block;
        width: 60px;
        margin: 15px auto;
    }
    .cross_box--txt1{
        height: auto;
        font-size: 18px;
        letter-spacing: 0;
    }
    .cross_box--txt2{
        width: 228px;
        font-size: 34px;
        padding: 5px 0 9px;
        margin-top: 10px;
    }

    .example_box{
        margin-top: 50px;
    }
    .example_box--ttl{
        font-size: 20px;
    }
    .example_sub{
        flex-direction: column;
        margin-top: 30px;
    }
    .example_sub + .example_sub{
        margin-top: 45px;
        padding-top: 50px;
    }
    .example_sub > div{
        width: 100%;
    }
    .example_sub--ttl{
        top: -11px;
    }
    .example_sub--before .example_sub--ttl,
    .example_sub--after .example_sub--ttl{
        font-size: 13px;
        padding: 5px 9px 6px;
    }
    .example_arrow{
        width: 27px;
        margin: -15px auto 12px;
        z-index: 1;
    }

    .example_box--txt{
        font-size: 14px;
        line-height: 1.85;
        text-align: justify;
        margin-top: 20px;
    }

}


/* ---------------------------------------------------- */
/* works_link */
/* ---------------------------------------------------- */
.works_link{
    width: 972px;
    display: block;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
    margin-top: 145px;
}
.service_link::before{
    content: '';
    background-color: #000;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0.5;
    transition: 0.3s;
}
.works_link--ttl{
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 1;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.works_link--ttl_en{
    font-size: 24px;
    font-weight: 500;
    color: #BA454A;
}
.works_link--ttl_ja{
    font-size: 36px;
    font-weight: 700;
    color: #fff;
    margin-top: 20px;
}

.lineup_wrap .seminar_wrap{
    margin-top: 160px;
}


@media (min-width: 768px) {
    .arrow_big{
        bottom: calc(50% - 7px);
    }
    .service_link:hover::before{
        opacity: 0.65;
    }

}

@media (max-width: 767px) {
    .works_link{
        width: auto;
        margin-top: 55px;
        margin-left: 20px;
        margin-right: 20px;
    }
    .works_link--ttl_en{
        font-size: 22px;
    }
    .works_link--ttl_ja{
        font-size: 26px;
        margin-top: 20px;
    }

    .lineup_wrap .seminar_wrap{
        width: auto;
        margin-top: 50px;
        margin-left: 20px;
        margin-right: 20px;
    }

}


/* ---------------------------------------------------- */
/* 斜め伸びつやつ */
/* ---------------------------------------------------- */
.lineheight.under_lh02{
    position: absolute;
    display: block;
    width: 520px;
    height: 0;
        img{
            position: relative;
            top: 0;
            left: 0;
            width: 520px;
            height: 808px;
        }
}

.lineheight.s_lh02{
    position: absolute;
    display: block;
    width: 918px;
    height: 0;
        img{
            position: relative;
            top: 0;
            left: 0;
            width: 918px;
            height: 1093px;
        }
}

@media (min-width: 768px) { 
    .action.lineheight.under_lh01.scrollin {
        z-index: 1;
    }
    .lineheight.under_lh02{
        top: calc((100% - 808px) + 165px);
        left: calc((1200px + (100% - 1200px) / 2) - 1550px);
    }
    .action.lineheight.under_lh02.scrollin{
        height: 808px;
    }

    .lineheight.s_lh02{
        top: calc(100% - 1093px);
        left: calc((1200px + (100% - 1200px) / 2) - 1700px);
    }
    .action.lineheight.s_lh02.scrollin {
        height: 1093px;
    }

}

@media (max-width: 767px) {
    .lineheight.under_lh02{
        position: absolute;
        display: block;
        width: 347px;
        height: 0;
        top: calc((100% - 531px) + 50px);
        left: -160px;
            img{
                position: relative;
                top: 0;
                left: 0;
                width: 347px;
                height: 531px;
        }
    }
    .action.lineheight.under_lh02.scrollin {
        height: 531px;
    }
    .lineheight.s_lh02{
        position: absolute;
        display: block;
        width: 317px;
        height: 0;
        top: calc(100% - 296px);
        left: -67px;
            img{
                position: relative;
                top: 0;
                left: 0;
                width: 317px;
                height: 296px;
        }
    }
    .action.lineheight.s_lh02.scrollin{
        height: 296px;
    }
}

/* ---------------------------------------------------- */
/* aaaaaaaa */
/* ---------------------------------------------------- */

@media (min-width: 768px) {
}

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

