body section,body aside{
    font-weight: 400;
    line-height: 1em;
    letter-spacing: .15em;
    font-family:  Helvetica, Arial, "Noto Sans JP", sans-serif;
    font-feature-settings: "palt";
}
body section img,body aside img{
    margin: 0;
}
.pc{
    display: block;
}
.sp{
    display: none;
}
.l-header{
    position: relative;
}

.fv h2 img{
    width: 100%;
}

.about{
    width: 1200px;
    margin: 0 auto;
    padding: 100px 0;
    text-align: center;
    border-bottom: 1px solid #666;
}
.about h3{
    margin: 0 0 30px;
    font-size: 20px;
    font-family: "Noto Sans JP", sans-serif;
}
.about p{
    font-size: 16px;
    line-height: 1.75em;
    font-family: "Noto Sans JP", sans-serif;
}

.contents{
    padding: 100px 0 0;
}
.contents h3{
    margin: 0 0 50px;
    font-size: 17px;
    font-weight: bold;
    text-align: center;
}
.contents h3 span{
    margin: 14px 0 0;
    font-size: 26px;
    display: block;
}
.contents .item{
    width: 1200px;
    margin: 0 auto 100px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.contents .item img{
    width: 47.9%;
    display: block;
}
.contents .item div{
    width: 47.9%;
}
.contents .item .name{
    margin: 0 0 10px;
    font-size: 22px;
    line-height: 1.75em;
    font-weight: bold;
}
.contents .item .value{
    margin: 0 0 50px;
    font-size: 22px;
    font-weight: bold;
}
.contents .item .text{
    margin: 0 0 30px;
    font-size: 18px;
    line-height: 1.75em;
}
.contents .item .more{
    font-size: 16px;
    line-height: 1.75em;
}

.contents section h4{
    width: 1200px;
    margin: auto;
    font-size: 16px;
    position: relative;
    font-weight: bold;
}
.contents section h4::before{
    content: '';
    width: 100%;
    height: 1px;
    top: 50%;
    transform: translateY(-59%);
    right: 0;
    background: #666;
    position: absolute;
    z-index: 1;
}
.contents section h4 span{
    display: inline-block;
    position: relative;
    z-index: 10;
}
.contents section h4 span::before{
    content: '';
    width: calc(100% + 25px);
    height: 100%;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    background: #fff;
    position: absolute;
    z-index: -1;
}
.function{
    padding-bottom: 50px;
}
.function .icon{
    width: 800px;
    margin: 100px auto;
    display: flex;
    justify-content: space-between;
}
.function .icon ul{
    width: 400px;
    display: flex;
    justify-content: space-around;
    position: relative;
}
.function .icon > img{
    width: 252px;
}
.function .icon ul::before{
    content: '';
    width: 2px;
    height: 30px;
    background: #000;
    position: absolute;
    right: -61px;
    top: 50%;
    transform: translateY(-50%);
}
.function .icon ul::after{
    content: '';
    width: 30px;
    height: 2px;
    background: #000;
    position: absolute;
    right: -75px;
    top: 50%;
    transform: translateY(-50%);
}
.function .icon ul li img{
    width: 112px;
}
.function .icon.column{
    margin: 0 auto 50px;
    flex-direction: column;
}
.function .icon.column ul{
    margin: 100px auto 130px;
}
.function .icon.column .icon_plus{
    margin: 0 auto 80px;
}
.function .icon.column .icon_plus::before{
    bottom: auto;
    top: 40%;
    transform: translate3d(50%,-50%,0);
}
.function .icon.column .icon_plus::after{
    bottom: auto;
    top: 40%;
    transform: translate3d(50%,-50%,0);
}
.function .icon.column > img{
    width: 110px;
    margin: auto;
    display: block;
}
.function .icon.column ul::before{
    right: 50%;
    top: auto;
    bottom: -79px;
    transform: translate3d(50%,0,0);
}
.function .icon.column ul::after{
    right: 50%;
    top: auto;
    bottom: -65px;
    transform: translate3d(50%,0,0);
}
.function > p{
    margin: 0 0 50px;
    font-size: 18px;
    text-align: center;
}
.function .intro{
    width: 1200px;
    margin: 0 auto 50px;
    display: flex;
    justify-content: space-between;
}
.function .intro li{
    width: 47.9%;
}
.function .intro li img{
    width: 100%;
    margin: 0 0 30px;
    display: block;
}
.function .intro li p{
    font-size: 16px;
}
.function .intro.column{
    width: 800px;
    margin: 0 auto;
    display: block;
}
.function .intro.column img{
    width: 100%;
    margin: 0 0 50px;
}
.function .intro.column .title{
    margin: 0 0 30px;
    font-size: 18px;
    text-align: center;
}
.function .intro.column .text{
    margin: 0 0 50px;
    font-size: 14px;
    line-height: 1.75em;
}

.style{
    width: 1200px;
    margin: auto;
}
.style .main{
    border-bottom: 1px solid #666;
}
.style .main img{
    width: 802px;
    margin: 100px auto;
    display: block;
}
.style .list{
    margin: 100px auto;
    display: flex;
    justify-content: space-between;
}
.style .list > li{
    width: 47.9%;
}
.style .list h5{
    margin: 0 0 50px;
    font-size: 16px;
    font-weight: bold;
}
.style .list img{
    width: 100%;
    margin: 0 0 50px;
    display: block;
}
.style .list p{
    margin: 0 0 50px;
    font-size: 14px;
    line-height: 1.75em;
}
.style .list ul li{
    height: 28px;
    font-size: 16px;
    display: flex;
    align-items: center;
}
.style .list ul li span{
    font-size: 14px;
}
.style .list ul li a{
    width: 170px;
    height: 28px;
    margin: 0 0 0 auto;
    font-size: 12px;
    background: #000;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}
.style .list ul li + li{
    margin: 20px 0 0;
}
.style .list.side{
    width: 1200px;
    margin: auto;
    padding: 100px 0;
    border-top: 1px solid #666;
}
.style .list.side > li{
    width: 100%;
}
.style .list.side > li{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.style .list.side > li img{
    width: 47.2%;
}
.style .list.side li div{
    width: 47.2%;
}

.contents .other h4{
    margin: 0 auto 50px;
    text-align: center;
    font-weight: bold;
}
.contents .other h4::before{
    display: none;
}
.other{
    width: 1200px;
    margin: auto;
    padding: 0 0 100px;
    border-bottom: 1px solid #666;
}
.other ul{
    display: flex;
    justify-content: space-between;
}
.other ul li{
    width: 47.2%;
    margin: auto;
}
.other ul li img{
    width: 100%;
    margin: 0 0 30px;
    display: block;
}
.other ul li p{
    font-size: 16px;
    display: inline-flex;
    align-items: center;
    font-weight: 500;
    position: relative;
}
.other ul li p::after{
    content: '';
    width: 100%;
    height: 1px;
    background: #000;
    position: absolute;
    bottom: -6px;
    left: 0;
}
.other ul li p span{
    font-size: 10px;
    font-weight: 400;
}


aside ul{
    width: 800px;
    margin: auto;
}
aside ul li{
    padding: 100px 0;
}
aside ul li + li{
    border-top: 1px solid #666;
}
aside h4{
    margin: 0 0 40px;
    font-size: 20px;
    text-align: center;
}
aside ul li img{
    width: 100%;
    margin: 0 0 40px;
    display: block;
}
aside a{
    width: 560px;
    height: 50px;
    margin: auto;
    border: 1px solid #000;
    display: flex;
    justify-content: center;
    align-items: center;
}
.owl-theme .owl-nav.disabled + .owl-dots{
    display: none;
}
.other li img{
    width: 100%;
    margin: 0 0 20px;
    display: block;
}
.other .owl-theme .owl-next[class*='owl-']{
    content: "";
    display: block;
    position: absolute;
    top: 42%;
    right: 50px;
    width: 41px;
    height: 81px;
    margin: 0;
    border-radius: 0;
    right: 0;
    z-index: 100;
    background: url(../images/right.png) no-repeat center/contain;
}
.other .owl-theme .owl-next[class*='owl-']:hover{
    background: url(../images/right.png) no-repeat center/contain;
}
.other .owl-theme .owl-next[class*='owl-'] span{
    display: none;
}
.other .owl-theme .owl-prev[class*='owl-']{
    content: "";
    display: block;
    position: absolute;
    top: 42%;
    right: 50px;
    width: 41px;
    height: 81px;
    margin: 0;
    border-radius: 0;
    left: 0;
    z-index: 100;
    background: url(../images/left.png) no-repeat center/contain;
}
.other .owl-theme .owl-prev[class*='owl-']:hover{
    background: url(../images/left.png) no-repeat center/contain;
}
.other .owl-theme .owl-prev[class*='owl-'] span{
    display: none;
}

@media screen and (max-width:1300px) {
    .about{
        width: 92.7vw;
        padding: 7.6vw 0;
    }
    .about h3{
        margin: 0 0 2.3vw;
        font-size: 1.5vw;
    }
    .about p{
        font-size: 1.2vw;
    }
    
    .contents{
        padding: 7.6vw 0 0;
    }
    .contents h3{
        margin: 0 0 3.8vw;
        font-size: 1.3vw;
    }
    .contents h3 span{
        margin: 1vw 0 0;
        font-size: 2vw;
    }
    .contents .item{
        width: 92.7vw;
        margin: 0 auto 7.6vw;
    }
    .contents .item .name{
        margin: 0 0 .7vw;
        font-size: 1.6vw;
    }
    .contents .item .value{
        margin: 0 0 3.8vw;
        font-size: 1.6vw;
    }
    .contents .item .text{
        margin: 0 0 2.3vw;
        font-size: 1.3vw;
    }
    .contents .item .more{
        font-size: 1.2vw;
    }
    
    .contents section h4{
        width: 92.7vw;
        font-size: 1.2vw;
    }
    .contents section h4 span::before{
        width: calc(100% + 1.9vw);
    }

    .function{
        padding-bottom: 3.8vw;
    }
    .function .icon{
        width: 61.5vw;
        margin: 7.6vw auto;
    }
    .function .icon ul{
        width: 30.7vw;
    }
    .function .icon > img{
        width: 19.3vw;
    }
    .function .icon ul::before{
        width: 2px;
        height: 2.3vw;
        right: -4.6vw;
    }
    .function .icon ul::after{
        width: 2.3vw;
        height: 2px;
        right: -5.7vw;
    }
    .function .icon ul li img{
        width: 8.6vw;
    }
    .function .icon.column{
        margin: 0 auto 3.8vw;
    }
    .function .icon.column ul{
        margin: 7.6vw auto 10vw;
    }
    .function .icon.column > img{
        width: 8.4vw;
    }
    .function .icon.column ul::before{
        bottom: -6vw;
    }
    .function .icon.column ul::after{
        bottom: -5vw;
    }
    .function > p{
        margin: 0 0 3.8vw;
        font-size: 1.3vw;
    }
    .function .intro{
        width: 92.7vw;
        margin: 0 auto 3.8vw;
    }
    .function .intro li img{
        margin: 0 0 2.3vw;
    }
    .function .intro li p{
        font-size: 1.2vw;
    }
    .function .intro.column{
        width: 61.5vw;
        margin: 0 auto;
    }
    .function .intro.column img{
        margin: 0 0 3.8vw;
    }
    .function .intro.column .title{
        margin: 0 0 2.3vw;
        font-size: 1.3vw;
    }
    .function .intro.column .text{
        margin: 0 0 3.8vw;
        font-size: 1vw;
    }
    .function .icon.column .icon_plus{
        margin: 0 auto 6.1vw;
    }
    
    .style{
        width: 92.7vw;
    }
    .style .main img{
        width: 61.6vw;
        margin: 7.6vw auto;
    }
    .style .list{
        margin: 7.6vw auto;
    }
    .style .list h5{
        margin: 0 0 3.8vw;
        font-size: 1.2vw;
    }
    .style .list img{
        margin: 0 0 3.8vw;
    }
    .style .list p{
        margin: 0 0 3.8vw;
        font-size: 1vw;
    }
    .style .list ul li{
        font-size: 1.2vw;
        height: 2.1vw;
    }
    .style .list ul li span{
        font-size: 1vw;
    }
    .style .list ul li a{
        width: 13vw;
        height: 2.1vw;
        margin: 0 0 0 auto;
        font-size: .9vw;
    }
    .style .list ul li + li{
        margin: 1.5vw 0 0;
    }
    .style .list.side{
        width: 92.7vw;
        padding: 7.6vw 0;
    }
    .contents .other h4{
        margin: 0 auto 3.8vw;
    }
    .other{
        width: 92.7vw;
        padding: 0 0 7.6vw;
    }
    .other ul li img{
        margin: 0 0 2.3vw;
    }
    .other ul li p{
        font-size: 1.2vw;
    }
    .other ul li p::after{
        bottom: -.2vw;
    }
    .other ul li p span{
        font-size: .7vw;
    }
    
    
    aside ul{
        width: 61.5vw;
    }
    aside ul li{
        padding: 7.6vw 0;
    }
    aside h4{
        margin: 0 0 3vw;
        font-size: 1.5vw;
    }
    aside ul li img{
        margin: 0 0 3vw;
    }
    aside a{
        width: 43vw;
        height: 3.8vw;
    }
}

@media screen and (max-width:767px) {
    .pc{
        display: none;
    }
    .sp{
        display: block;
    }
    
    .about{
        width: 90vw;
        padding: 21.3vw 0;
    }
    .about h3{
        text-align: left;
        margin: 0 0 8vw;
        font-size: 4.8vw;
        line-height: 1.75em;
    }
    .about p{
        font-size: 3.7vw;
        text-align: justify;
    }

    .contents{
        padding: 21.3vw 0 0;
    }
    .contents h3{
        margin: 0 0 16vw;
        font-size: 3.7vw;
    }
    .contents h3 span{
        margin: 4vw 0 0;
        font-size: 6.4vw;
    }
    .contents .item{
        width: 90vw;
        margin: 0 auto 21.3vw;
        display: block;
    }
    .contents .item img{
        width: 100%;
        margin: 0 0 21.3vw;
    }
    .contents .item div{
        width: 100%;
    }
    .contents .item .name{
        margin: 0 0 2.6vw;
        font-size: 5.3vw;
    }
    .contents .item .value{
        margin: 0 0 13.3vw;
        font-size: 5.3vw;
    }
    .contents .item .text{
        margin: 0 0 5.3vw;
        font-size: 4.2vw;
    }
    .contents .item .more{
        font-size: 3.7vw;
    }
    
    .contents section h4{
        width: 90vw;
        font-size: 3.7vw;
    }
    .contents section h4 span::before{
        width: calc(100% + 5.3vw);
    }

    .function{
        padding-bottom: 8.3vw;
    }
    .function .icon{
        width: 73.3vw;
        margin: 13.3vw auto;
        flex-direction: column;
    }
    .function .icon ul{
        width: 73.3vw;
        margin: 0 0 32vw;
    }
    .function .icon > img{
        width: 34.1vw;
        margin: auto;
        display: block;
    }
    .function .icon ul::before{
        width: 1px;
        height: 6.6vw;
        right: 50%;
        top: auto;
        bottom: -17.6vw;
        transform: translateX(50%);
    }
    .function .icon ul::after{
        width: 6.6vw;
        height: 1px;
        right: 50%;
        top: auto;
        bottom: -14.3vw;
        transform: translateX(50%);
    }
    .function .icon ul li img{
        width: 20vw;
    }
    .function .icon.column{
        margin: 13.3vw auto 13.3vw;
    }
    .function .icon.column ul{
        width: 73.3vw;
        margin: 0 0 30vw;
    }
    .function .icon.column > img{
        width: 20vw;
    }
    .function .icon.column ul::before{
        top: auto;
        bottom: -17.6vw;
    }
    .function .icon.column ul::after{
        top: auto;
        bottom: -14.3vw;
    }
    .function > p{
        width: 90vw;
        text-align: left;
        margin: 0 auto 3.8vw;
        font-size: 4.2vw;
        line-height: 1.75em;
    }
    .function .intro{
        width: 90vw;
        margin: 0 auto 13.3vw;
        display: block;
    }
    .function .intro li{
        width: 100%;
    }
    .function .intro li img{
        margin: 0 0 5.3vw;
    }
    .function .intro li p{
        margin: 0 0 5.3vw;
        font-size: 3.7vw;
        line-height: 1.75em;
    }
    .function .intro.column{
        width: 90vw;
        padding: 0 0 4vw;
        margin: 0 auto;
    }
    .function .intro.column img{
        margin: 0 0 8.6vw;
    }
    .function .intro.column .title{
        margin: 0 0 5.3vw;
        font-size: 4.2vw;
        text-align: left;
    }
    .function .intro.column .text{
        margin: 0 0 3.8vw;
        font-size: 3.2vw;
    }

    .style{
        width: 90vw;
    }
    .style .main img{
        width: 100%;
        margin: 13.3vw auto;
    }
    .style .list{
        margin: 13.3vw auto;
        padding: 0 0 3vw;
        overflow-x: scroll;
        overflow-y: hidden;
    }
    .style .list > li{
        min-width: 81.1vw;
    }
    .style .list > li + li{
        margin: 0 0 0 6.4vw;
    }
    .style .list h5{
        margin: 0 0 6vw;
        font-size: 3.7vw;
    }
    .style .list img{
        margin: 0 0 6vw;
    }
    .style .list p{
        margin: 0 0 6vw;
        font-size: 3.2vw;
    }
    .style .list ul li{
        font-size: 2.8vw;
        height: 5.3vw;
    }
    .style .list ul li span{
        font-size: 3.2vw;
    }
    .style .list ul li a{
        width: 24.3vw;
        height: 5.3vw;
        margin: 0 0 0 auto;
        font-size: 3vw;
    }
    .style .list ul li + li{
        margin: 6.6vw 0 0;
    }
    .style .list.side{
        width: 90vw;
        padding: 13.3vw 0;
    }
    .style .list.side > li{
        display: block;
    }
    .style .list.side > li img{
        width: 100%;
    }
    .style .list.side img{
        width: 100%;
    }
    .style .list.side li div{
        width: 100%;
    }

    .other{
        width: 90vw;
        padding: 0 0 21.3vw;
    }
    .other ul{
        padding: 0 0 6vw;
        overflow-y: hidden;
        overflow-x: scroll;
    }
    .other ul li{
        min-width: 64vw;
    }
    .other ul li + li{
        margin: 0 0 0 6.6vw;
    }
    .other ul li img{
        margin: 0 0 4vw;
    }
    .other ul li p{
        font-size: 3.2vw;
    }
    .other ul li p::after{
        bottom: -1vw;
    }
    .other ul li p span{
        font-size: 2.8vw;
    }
    .other .solo li{
        width: 100%;
    }
    .other .solo li a{
        width: 100%;
    }
    .contents .other h4{
        text-align: left;
    }
    
    aside ul{
        width: 90vw;
    }
    aside ul li{
        padding: 13.3vw 0;
    }
    aside h4{
        margin: 0 0 6.6vw;
        font-size: 3.7vw;
    }
    aside ul li img{
        margin: 0 0 6.6vw;
    }
    aside a{
        width: 53.3vw;
        height: 10.6vw;
    }
}