html,body{
    overflow-x: hidden;
    max-width:100vw;
}
h2 span.h2-sub{
    font-size: 20px;
    color: #accdff;
    font-weight: bold;
    display: block;
    margin-bottom:8px;
}
.uservoice .section-cp{
    padding-bottom: 0;
    margin-bottom:64px;
}
section.uservoice{
    padding:80px 0 40px;
}
@media screen and (min-width: 765px) {
    section.uservoice{
        padding:80px 0 40px;
    }
    .uservoice .section-cp{
        padding-bottom: 0;
        margin-bottom:80px;
    }
}
@media screen and (min-width: 1080px) {
    section.uservoice{
        padding:120px 0 40px;
    }
}

/*FV*/
.top{
    height:auto;
    padding-bottom: 80px;
}
.top__container{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-bottom: 0;
}
.top__sentence .btn__container{
    position:static;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.top__sentence .btn__container a{
    margin:8px auto;
}
.top__sentence .btn__container .btn + .btn{
    margin-left: auto;
}
#lottie{
    margin:40px auto 0;
    width:80vw;
}
@media screen and (min-width: 640px) {
    .top__container{
        flex-direction: row;
    }
    #lottie{
        margin:0;
        position: relative;
        top:36px;
        width:32vw;
        max-width:480px;
    }
    .top__sentence .btn__container{
        flex-direction: row;
        justify-content: flex-start;
    }
    .top__sentence .btn__container a{
        width:40%;
        margin:0;
        margin-right:16px;
    }
    .top__sentence .btn__container .btn + .btn{
        margin-left:0;
    }
}

/*お客様の声*/
.uservoice{
    background-color: #fafdff;
    overflow-x: hidden;
    max-width:100vw;
}
.uservoice .voice_blc{
    position: relative;
    width:96%;
    max-width:1040px;
    margin:104px auto;
    border-top: solid 2px #dde8fc;
    border-bottom: solid 2px #dde8fc;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding:64px 0;
}
.uservoice .voice_blc:nth-of-type(1){
    margin-top:80px;
}
.uservoice .voice_blc:before, .uservoice .voice_blc:after{
    content: '';
    position: absolute;
    top: -20px;
    width: 2px;
    height: -webkit-calc(100% + 40px);
    height: calc(100% + 40px);
    background-color: #dde8fc;
}
.uservoice .voice_blc:before {left: 20px;}
.uservoice .voice_blc:after {right: 20px;}
.uservoice .voice_blc .voice_num{
    position: absolute;
    top:-20px;
    left:0px;
    display: block;
    width:80px;
    height:80px;
    color:#fff;
    border-radius:50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-size: 10px;
    line-height: 16px;
}
.uservoice .voice_blc .voice_num span{
    font-size: 32px;
    line-height: 32px;
}
.uservoice .voice_blc:nth-of-type(1) .voice_num{
    background-color: #56aee6;
}
.uservoice .voice_blc:nth-of-type(2) .voice_num{
    background-color: #5697f0;
}
.uservoice .voice_blc:nth-of-type(3) .voice_num{
    background-color: #346bcc;
}

.uservoice .voice_blc .voice_from{
    margin:0 0 16px;
}
.uservoice .voice_blc .voice_from span{
    color:#fff;
    padding:4px 8px;
    border-radius:2px;
    font-size:12px;
}

.uservoice .voice_blc:nth-of-type(1) .voice_from span{
    background-color: #56aee6;
}
.uservoice .voice_blc:nth-of-type(2) .voice_from span{
    background-color: #5697f0;
}
.uservoice .voice_blc:nth-of-type(3) .voice_from span{
    background-color: #346bcc;
}

.uservoice .voice_blc h3,.uservoice .voice_blc p,.uservoice .voice_blc .voice_from{
    max-width:680px;
    width:70%;
    color:#313135;
}
.uservoice .voice_blc h3{
    font-weight: 700;
    font-size:24px;
    line-height: 40px;
    letter-spacing: 0.04em;
    margin-bottom:20px;
}
.uservoice .voice_blc h3 span{
    background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,0) 75%, #ffe674 75%);;
}
.uservoice .voice_blc p{
    font-size:12px;
    line-height: 24px;
}
.uservoice .voice_blc img{
    position: absolute;
    bottom:0;
    height:160px;
    width:auto;
    z-index: 100;
}
.uservoice .voice_blc:nth-of-type(1) img{
    left:-10px;
    bottom:-40px;
}
.uservoice .voice_blc:nth-of-type(2) img{
    right:-20px;
    bottom:-64px;
}
.uservoice .voice_blc:nth-of-type(3) img:nth-of-type(1){
    left:-72px;
    bottom:-64px;
}
.uservoice .voice_blc:nth-of-type(3) img:nth-of-type(2){
    right:-96px;
    bottom:-24px;
}

@media screen and (min-width: 1080px) {
    .uservoice .voice_blc{
        margin:200px auto;
        padding:80px 0;
    }
    .uservoice .voice_blc h3{
        font-size:36px;
        line-height: 56px;
        letter-spacing: 0.04em;
        margin-bottom:32px;
    }
    .uservoice .voice_blc p{
        font-size:16px;
        line-height: 32px;
    }
    .uservoice .voice_blc .voice_num{
        width:160px;
        height:160px;
        font-size: 20px;
        line-height: 20px;
        top:-40px;
        left:-32px;
    }
    .uservoice .voice_blc .voice_num span{
        font-size: 48px;
        line-height: 48px;
    }
    .uservoice .voice_blc img{
        position: absolute;
        bottom:0;
        height:240px;
        width:auto;
    }
    .uservoice .voice_blc:nth-of-type(1) img{
        left:-10px;
        bottom:-40px;
    }
    .uservoice .voice_blc:nth-of-type(2) img{
        right:-40px;
        bottom:-40px;
    }
    .uservoice .voice_blc:nth-of-type(3) img:nth-of-type(1){
        left:-64px;
        bottom:-20px;
    }
    .uservoice .voice_blc:nth-of-type(3) img:nth-of-type(2){
        right:-80px;
        bottom:20px;
    }
}