@charset "utf-8";

.head{
    width: 100%;
    height: 65px;
    position: fixed;
    top: 0;
    left: 0;
    background-color: rgba(255,255,255,.8);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-left: 4.02vw;
    z-index: 9;
}
.ai-dx{
    font-family: 'Arial', 'ヒラギノ角ゴ Pro W3', 'Meiryo', sans-serif;
}

.ai-dx .head__logo{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    font-size: 20px;
    color: #072F53;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
}

.ai-dx .head__logo img{
    width: 18px;
    display: block;
    margin-right: 3px;
}

.ai-dx .head-nav__list{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-right: 161px;
    color: #484D5D;
}

.ai-dx .head-nav__list .head-nav__item:not(:last-of-type){
    margin-right: 35px;
}

.ai-dx .head-nav__list .head-nav__item a{
    font-size: 16px;
}

.ai-dx .head-nav__item--contact{
    position: absolute;
    width: 143px;
    height: 83px;
    right: 0;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    border-radius: 0 0 0 26px;
    background:  linear-gradient(180deg, #6AA7EF 0%, #BFDBFE 100%);
}

.ai-dx .fv{
    width: 100%;
    height: calc(100vh + 145px);
    position: relative;
}
.ai-dx .fv-deco{
    position: absolute;
} 

.ai-dx .fv-deco__left{
    top: 0;
    left: 0;
    width: 36.76%;
} 
.ai-dx .fv-deco__right{
    bottom: 2.96%;
    left: 33.33%;
    width: 36.76%;
} 

.ai-dx .fv-ttl{
    font-size: 54px;
    letter-spacing: .28em;
    line-height: 2.44;
    color: #484D5D;
    font-weight: 300;
    position: absolute;
    top: 18.3%;
    left: 11.63%;
    font-family:'Noto Serif JP', serif;
} 

.ai-dx .fv-img{
    width: 52.5%;
    position: absolute;
    height: 100vh;
    top: 0;
    right: 0;
}

.ai-dx .fv-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.ai-dx .fv-vertical-txt{
    writing-mode: vertical-lr;
    font-size: 22px;
    font-family:'Noto Serif JP', serif;
    font-weight: 400;
    color: #487BB5;
    position: absolute;
    bottom: 19.54%;
    left: 38.6%;
    letter-spacing: .2em;

}
.ai-dx .fv-list{
    position: absolute;
    width: 311px;
    bottom: 14.8%;
    aspect-ratio: 1 / 0.498;
}
.ai-dx .fv-item{
    position: absolute;
    font-size: 18px;
    color: #fff;
    padding: 5px 18px;
    text-align: right;
}
.ai-dx .fv-list .fv-item:first-of-type{
    width: 100%;
    top: 0;
    background:  linear-gradient(210deg, #6AA7EF 0%, #BFDBFE 100%);
}

.ai-dx .fv-list .fv-item:nth-of-type(2){
    width: 82%;
    background:  linear-gradient(210deg, #6AA7EF 0%, #A8CDFA 100%);
    top: 50%;
    transform: translateY(-50%);
}

.ai-dx .fv-list .fv-item:nth-of-type(3){
    width: 62.3%;
    background:  linear-gradient(210deg, #6AA7EF 0%, #9CC7F8 100%);
    bottom: 0;
}

.ai-dx .fv-bottom-en{
    font-size: 4.23vw;
    width: 100vw;
    position: absolute;
    bottom: 0;
    left: 0;
    color: #E0F1FF;
    letter-spacing: .09em;
    text-align: center;
    line-height: 1;
}   

.ai-dx .service{
    position: relative;
    padding: 77px 0 198px;
    background-color: #E0F2FF;
}

.ai-dx .service-deco-left{
    position: absolute;
    width: 37.98%;
    top: 0;
    right: 0;
}
.ai-dx .service-deco-bottom{
    position: absolute;
    width: 79.84%;
    bottom: 0;
    left: 0;
}

.ai-dx .service-inner{
    width: 86.94%;
    margin: 0 auto;
    max-width: 1440px;
}

.ai-dx .service-ttl__en{
    font-size: 99px;
    font-family:'Noto Serif JP', serif;
    letter-spacing: .04em;
    line-height: 1;
    color: rgba(118, 172, 217, .62);
    font-weight: 700;
}

.ai-dx .service-ttl__ja{
    margin-top: 15px;
    line-height: 1;
    font-size: 23px;
    font-weight: 400;
    color: #484D5D;
    padding-left: 10px;
}

.ai-dx .service-list{
    margin-top: 88px;
} 

.ai-dx .service-img{
    width: 45.7%;
} 

.ai-dx .service-list .service-list__item{
    position: relative;
}

.ai-dx .service-list .service-list__item:not(:first-of-type){
    margin-top: 120px;
}

.ai-dx .service-list .service-list__item:nth-of-type(odd) .service-img{
    margin-right: auto;
    margin-left: -2.31%;
}
.ai-dx .service-list .service-list__item:nth-of-type(even) .service-img{
    margin-left: auto;
    margin-right: -2.31%;
}


.ai-dx .service-list .service-list__item:nth-of-type(odd) .service-txtBox::before{
    content: '';
    position: absolute;
    width: 1px;
    height: 136px;
    background-color: #6AA7EF;
    top: 0;
    left: 44.5px;
    transform: translateY(-50%);
}
.ai-dx .service-list .service-list__item:nth-of-type(even) .service-txtBox::before{
    content: '';
    position: absolute;
    width: 1px;
    height: 136px;
    background-color: #6AA7EF;
    top: 0;
    right: 44.5px;
    transform: translateY(-50%);
}

.ai-dx .service-txtBox{
    width: 100%;
    background-color: #fff;
    border-radius: 26px;
    box-shadow: 0 0 24px rgba(0,0,0,.16);
    padding: 49px 72px 56px;
    margin-top: -30px;
    position: relative;
}

.ai-dx .service-item-ttl{
    color: #6AA8F0;
    font-size: 21px;
    letter-spacing: .09em;
    line-height: 1;
    font-weight: 400;
    position: relative;
}

.ai-dx .service-list .service-list__item:nth-of-type(even) .service-item-ttl{
    text-align: right;
}

.ai-dx .service-list .service-list__item:nth-of-type(even) .service-explain{
    text-align: right;
}
.ai-dx .service-list .service-list__item:nth-of-type(odd) .service-item-ttl::before{
    content: '';
    position: absolute;
    top: 50%;
    left: -16px;
    width: 23px;
    height: 23px;
    border: 1px solid #6AA7EF;
    transform: translate(-100% , -50%);
    border-radius: 50%;
}

.ai-dx .service-list .service-list__item:nth-of-type(even) .service-item-ttl::before{
    content: '';
    position: absolute;
    top: 50%;
    right: -16px;
    width: 23px;
    height: 23px;
    border: 1px solid #6AA7EF;
    transform: translate(100% , -50%);
    border-radius: 50%;
}



.ai-dx .service-list .service-list__item:nth-of-type(odd) .service-item-ttl::after{
    content: '';
    position: absolute;
    top: 50%;
    left: -18px;
    width: 19px;
    height: 19px;
    background-color: #6AA7EF;
    transform: translate(-100% , -50%);
    border-radius: 50%;
}

.ai-dx .service-list .service-list__item:nth-of-type(even) .service-item-ttl::after{
    content: '';
    position: absolute;
    top: 50%;
    right: -18px;
    width: 19px;
    height: 19px;
    background-color: #6AA7EF;
    transform: translate(100% , -50%);
    border-radius: 50%;
}

.ai-dx .service-explain{
    margin-top: 33px;
    font-size: 16px;
    color: #707477;
    letter-spacing: .032em;
    line-height: 2;
    font-weight: 500;
}


.ai-dx .foot{
    padding: 28px 0 5px;
    position: relative;
}

.ai-dx .foot-deco-l{
    position: absolute;
    width: 16.3%;
    top: 0;
    left: 0;
}

.ai-dx .foot-deco-r{
    position: absolute;
    width: 25%;
    height: 100%;
    top:0;
    right: 0;
}
.ai-dx .foot-deco-r img{
    object-fit: contain;
}
.ai-dx .foot__flex{
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}

.ai-dx .foot__side-l{
    margin-left: 7.2%;
    position: relative;
}

.ai-dx .foot__logo {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}


.ai-dx .foot__logo img{
    display: block;
    width: 25px;
    margin-right: 5px;
}

.ai-dx .foot__logo{
    font-size: 27px;
    font-weight: 500;
    letter-spacing: 0;
}
.ai-dx .foot__address{
    margin-top: 10px;
    font-size: 16px;
    letter-spacing: 0;
    line-height: 1.68;
}
.ai-dx .foot__side-r{
    padding-right: 5.8%;
    position: relative;
}
.ai-dx .foot-nav__list{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 34px;
}

.ai-dx .foot-nav__item a{
    font-size: 16px;
}
.ai-dx .copyright{
    margin-top: 38px;
    text-align: center;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1;
}



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


    .ai-dx .head__logo{
        font-size: 18px;
    }


    .ai-dx .head-nav__list .head-nav__item a{
        font-size: 14px;
    }

    .ai-dx .head-nav__list{
        margin-right: 112px;
    }
    .ai-dx .head-nav__item--contact{
        width: 113px;
    }

    .ai-dx .fv-ttl{
        font-size: 45px;
        line-height: 1.8;
    } 

    .ai-dx .fv-vertical-txt{
        font-size: 20px;
    }

    .ai-dx .fv-list{
        width: 280px;
    }

    .ai-dx .fv-item{
        font-size: 16px;
    }

    .ai-dx .service-ttl__en{
        font-size: 78px;
    }

    .ai-dx .service-ttl__ja{
        font-size: 20px;
    }

    .ai-dx .service-list .service-list__item:nth-of-type(odd) .service-txtBox::before{
        height: 100px;
    }

    .ai-dx .service-list .service-list__item:nth-of-type(even) .service-txtBox::before{
        height: 100px;
    }

    .ai-dx .service-item-ttl{
        font-size: 18px;
    }

    .ai-dx .service-explain{
        font-size: 13px;
    }
    
    .ai-dx .foot__logo{
        font-size: 20px;
    }

    .ai-dx .foot__address{
        font-size: 14px;
    }

    .ai-dx .foot__side-l{
        padding-right: 5.2%;
    }
    .ai-dx .foot__side-r{
        padding-right: 2.8%;
    }
    .ai-dx .foot-nav__list{
        gap: 23px;
    }

    .ai-dx .foot-nav__item a{
        font-size: 13px;
    }
    .ai-dx .copyright{
        font-size: 12px;
    }



}


@media screen and (max-width:900px) {
    .ai-dx .foot__side-r{
        display: none;
    }
}


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

    .ai-dx .head__logo{
        font-size: 15px;
    }

    .ai-dx .head__logo img{
        width: 16px;
    }

    .ai-dx .fv{
        height: calc(100vh + 120px);
    }
    .ai-dx .fv-deco{
        position: absolute;
    } 

    .ai-dx .fv-deco__left{
        width: 55.6%;
    } 
    .ai-dx .fv-deco__right{
        width: 55.76%;
    } 

    .ai-dx .fv-ttl{
        font-size: 30px;
        letter-spacing: 0.2em;
        line-height: 1.8;
        top: 9.3%;
        left: 4.63%;
        z-index: 7;
    }

    .ai-dx .fv-img{
        width: 80%;
        height: 80vh;
        top: 20vh;
    }

    .ai-dx .fv-img img{
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .ai-dx .fv-vertical-txt{
        font-size: 18px;
        bottom: unset;
        left: 4.63%;
        top: 50%;
        transform: translateY(-50%);

    }

    .ai-dx .fv-list{
        width: 231px;
        bottom: 7%;
    }

    .ai-dx .fv-item{
        position: absolute;
        font-size: 15px;
        color: #fff;
        padding: 3px 10px;
        text-align: right;
    }

        .ai-dx .fv-bottom-en{
            font-size: 4.43vw;
        }   

    .ai-dx .service{
        padding: 50px 0 130px;
    }


    .ai-dx .service-inner{
        width: 89.33%;
    }

    .ai-dx .service-ttl__en{
        font-size: 52px;
    }

    .ai-dx .service-ttl__ja{
        margin-top: 8px;
        font-size: 13px;
        padding-left: 5px;
    }

    .ai-dx .service-list{
        margin-top: 50px;
    } 

    .ai-dx .service-img{
        width: 100%;
    } 

    .ai-dx .service-list .service-list__item:not(:first-of-type){
        margin-top: 80px;
    }

    .ai-dx .service-list .service-list__item:nth-of-type(odd) .service-img{
        margin-right: auto;
        margin-left: auto;
    }
    .ai-dx .service-list .service-list__item:nth-of-type(even) .service-img{
        margin-left: auto;
        margin-right: auto;
    }


    .ai-dx .service-list .service-list__item:nth-of-type(odd) .service-txtBox::before{
        height: 100px;
        top: -10px;
        left: 20.5px;
    }

    .ai-dx .service-list .service-list__item:nth-of-type(even) .service-txtBox::before{
        height: 100px;
        top: -10px;
        right: unset;
        left: 20.5px;
    }

.ai-dx .service-txtBox{
        width: 100%;
        padding: 25px 35px 25px;
        margin-top: 15px;
        position: relative;
}

.ai-dx .service-item-ttl{
    font-size: 18px;
    line-height: 1.3;
}

.ai-dx .service-list .service-list__item:nth-of-type(even) .service-item-ttl{
    text-align: left;
}

.ai-dx .service-list .service-list__item:nth-of-type(even) .service-explain{
    text-align: left;
}

.ai-dx .service-list .service-list__item:nth-of-type(odd) .service-item-ttl::before{
    left: -5px;
    width: 18px;
    height: 18px;
}

.ai-dx .service-list .service-list__item:nth-of-type(even) .service-item-ttl::before{
    left: -5px;
    width: 18px;
    height: 18px;
    right: unset;
    transform: translate(-100%, -50%);
    top: 8px;
}


.ai-dx .service-list .service-list__item:nth-of-type(odd) .service-item-ttl::after{
    left: -7px;
    width: 14px;
    height: 14px;
}

.ai-dx .service-list .service-list__item:nth-of-type(even) .service-item-ttl::after{
    right: unset;
    left: -7px;
    width: 14px;
    height: 14px;
    transform: translate(-100%, -50%);
    top: 8px;
}

    .ai-dx .service-explain{
        margin-top: 25px;
        font-size: 14px;
    }


.ai-dx .foot{
    overflow: hidden;
}
.ai-dx .foot-deco-l{
        position: absolute;
        width: 60%;
        top: 0;
        left: 0;
        transform: translate(-50%, -20%);
}

.ai-dx .foot-deco-r{
        position: absolute;
        height: 140%;
        top: 0;
        right: 0;
        width: auto;
        transform: translate(80%, -10%);
        z-index: -1;
}

.ai-dx .foot__side-l{
    margin-left: 5.33%;
}

.ai-dx .foot__logo img{
    width: 20px;
}

.ai-dx .foot__logo{
    font-size: 16px;
}
.ai-dx .foot__address{
    font-size: 14px;
}
.ai-dx .foot-nav__item a{
    font-size: 16px;
}
.ai-dx .copyright{
    margin-top: 25px;
    font-size: 10px;
}


}