.about1 {
    padding: 0 1.0416666667vw 9.5833333333vw 1.0416666667vw
}

.about1 .wrap .img {
    height: 41.6666666667vw;
    margin: 4.7916666667vw 0 0 0;
    position: relative
}

.about1 .wrap .img img {
    width: 100%;
    height: 100%
}

.about1 .wrap .img .text {
    position: absolute;
    right: 14.6354166667vw;
    bottom: 4.6875vw;
    z-index: 56;
    font-family: 'Miedinger', sans-serif;
    font-weight: bold;
    font-size: 2.9166666667vw;
    color: #FFFFFF;
    line-height: 3.3333333333vw
}

.about1 .wrap .img .text * {
    font-family: 'Miedinger', sans-serif
}

.about1 .wrap .content {
    padding: 5.9895833333vw 0 0 0;
    display: flex;
    justify-content: space-between
}

.about1 .wrap .content .l {
    font-family: 'Miedinger', sans-serif;
    font-weight: bold;
    font-size: 2.6041666vw;
    color: #1A1A1A;
    line-height: 3.3333333333vw
}

.about1 .wrap .content .l * {
    font-family: 'Miedinger', sans-serif
}

.about1 .wrap .content .lenis_scroll {
    width: 46.09375vw;
    height: 11.9791666667vw;
    padding: 0 2.7083333333vw 0 0;
    overflow: hidden;
    overflow-y: scroll
}

.about1 .wrap .content .lenis_scroll p {
    font-weight: 400;
    font-size: 1.041666666vw;
    color: #1A1A1A;
    line-height: 2
}

.about2 {
    padding: 20px 0 5.8333333333vw
}

.about2 .wrap .top {
    padding: 1.9270833333vw 1.0416666667vw;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid #DBDBDB
}

.about2 .wrap .top p {
    font-weight: 400;
    font-size: 16px;
    color: #1A1A1A;
    font-family: 'BMWTypeWebBoldAll', sans-serif;
    text-transform: uppercase
}

.about2 .wrap .title {
    margin: 2.1875vw 0 4.3229166667vw;
    text-align: center
}

.about2 .wrap .title .p1 {
    font-family: 'Miedinger', sans-serif;
    font-weight: bold;
    font-size: 2.6041666vw;
    color: #1A1A1A;
    margin: 0 0 3.125vw
}

.about2 .wrap .title .p2 {
    width: 788px;
    font-weight: 400;
    font-size: 18px;
    color: #888888;
    line-height: 32px;
    margin: auto
}

.about2 .wrap .content {
    width: 62.5vw;
    height: 25vw;
    background: #FFFFFF;
    border-radius: .625vw;
    margin: auto;
    display: flex;
    align-items: center;
    padding: .8333333333vw
}

.about2 .wrap .content .imgSwiper {
    width: 31.09375vw;
    height: 23.3333333333vw;
    border-radius: .78125vw;
    overflow: hidden;
    margin: 0 5.6770833333vw 0 0
}

.about2 .wrap .content .imgSwiper .swiper-slide {
    overflow: hidden
}

.about2 .wrap .content .imgSwiper .swiper-slide:hover img {
    transform: scale(1.05)
}

.about2 .wrap .content .imgSwiper .swiper-slide img {
    width: 100%;
    height: 100%;
    transition: 1s
}

.about2 .wrap .content .r {
    width: 362px;
    position: relative
}

.about2 .wrap .content .r .matter {
    position: relative;
    pointer-events: none
}

.about2 .wrap .content .r .matter.on {
    pointer-events: auto
}

.about2 .wrap .content .r .matter.on .icon, .about2 .wrap .content .r .matter.on .p1, .about2 .wrap .content .r .matter.on .p2 {
    opacity: 1;
    transform: translateY(0);
    transition-delay: .3s
}

.about2 .wrap .content .r .matter.on .p1 {
    transition-delay: .4s
}

.about2 .wrap .content .r .matter.on .p2 {
    transition-delay: .5s
}

.about2 .wrap .content .r .matter:not(:first-child) {
    position: absolute;
    top: 0;
    left: 0
}

.about2 .wrap .content .r .matter .icon {
    width: 30px;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity .3s, transform .6s .3s
}

.about2 .wrap .content .r .matter .icon img {
    object-fit: contain
}

.about2 .wrap .content .r .matter .p1 {
    font-weight: 400;
    font-size: 18px;
    color: #1A1A1A;
    margin: 52px 0 58px;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    font-family: 'BMWTypeWebBoldAll', sans-serif;
    text-overflow: ellipsis;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity .3s, transform .6s .4s
}

.about2 .wrap .content .r .matter .p2 {
    font-weight: 400;
    font-size: 16px;
    color: #1A1A1A;
    line-height: 28px;
    -webkit-line-clamp: 3;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity .3s, transform .6s .5s
}

.about2 .wrap .other {
    position: relative;
    margin: 3.6458333333vw 0 0 0
}

.about2 .wrap .other .swiper-pagination {
    width: 6.71875vw;
    position: static;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: auto
}

.about2 .wrap .other .swiper-pagination .line {
    width: 3.3333333333vw;
    height: 1px;
    background: #D4D4D4;
    margin: 0 .5208333333vw;
    position: relative
}

.about2 .wrap .other .swiper-pagination .line.on:after {
    animation: unset
}

.about2 .wrap .other .swiper-pagination .line:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: #1A1A1A;
    transform-origin: left;
    transform: scaleX(0);
    animation: afterAnimate 5s forwards linear
}

.about3 {
    padding: 5.2083333333vw 1.0416666667vw 6.0416666667vw 1.0416666667vw
}

.about3 .wrap {
    display: flex;
    justify-content: space-between
}

.about3 .wrap .l {
    width: 41.6666666667vw
}

.about3 .wrap .l .title {
    font-family: 'Miedinger', sans-serif;
    font-weight: bold;
    font-size: 2.6041666vw;
    color: #1A1A1A
}

.about3 .wrap .l .bottom {
    margin: 9.375vw 0 0 0
}

.about3 .wrap .l .bottom .item {
    display: flex;
    justify-content: space-between
}

.about3 .wrap .l .bottom .item:not(:last-child) {
    margin: 0 0 1.5625vw
}

.about3 .wrap .l .bottom .item .num {
    font-weight: 400;
    font-size: .8333333333vw;
    color: #999999
}

.about3 .wrap .l .bottom .item .r {
    width: 21.9270833333vw
}

.about3 .wrap .l .bottom .item .r .show {
    font-weight: bold;
    font-size: 1.0416666667vw;
    color: #1A1A1A;
    cursor: pointer;
    padding: .2604166667vw 0
}

.about3 .wrap .l .bottom .item .r .hide {
    overflow: hidden;
    display: none
}

.about3 .wrap .l .bottom .item .r .hide div {
    margin: 1.0416666667vw 0
}

.about3 .wrap .l .bottom .item .r .hide div p {
    font-weight: 400;
    font-size: .8333333333vw;
    color: #888888;
    line-height: 1.25vw
}

.about3 .wrap .picture {
    width: 48.4375vw;
    height: 35.9375vw;
    border-radius: .78125vw;
    overflow: hidden;
    position: relative
}

.about3 .wrap .picture:hover img {
    transform: scale(1.05)
}

.about3 .wrap .picture img {
    width: 100%;
    height: 100%;
    transition: 1.5s;
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none;
    opacity: 0
}

.about3 .wrap .picture img.on {
    opacity: 1;
    pointer-events: auto
}

.about4 {
    padding: 5.2083333333vw 0 7.8645833333vw
}

.about4 .wrap .title {
    text-align: center;
    font-family: 'Miedinger', sans-serif;
    font-weight: bold;
    font-size: 2.6041666vw;
    color: #1A1A1A;
    margin: 0 0 4.1666666667vw
}

.about4 .wrap .content {
    display: flex;
    width: max-content;
    animation: goAnimate 30s linear infinite
}

.about4 .wrap .content .flex {
    display: flex;
    align-items: center
}

.about4 .wrap .content .flex .img {
    margin: 0 9.3229166667vw 0 0
}

@keyframes afterAnimate {
    100% {
        transform: scaleX(1)
    }
}

@keyframes goAnimate {
    100% {
        transform: translateX(-50%)
    }
}


@media screen and (max-width: 1919px) {
    .about2{
        padding: 1.0416666667vw 0px 5.83333vw;
    }
    .about2 .wrap .top p{
        font-size: 0.8333333333vw;
    }
    .about2 .wrap .title .p2{
        width: 41.0416666667vw;
        font-size: 0.9375vw;
        line-height: 1.6666666667vw;
    }
    .about2 .wrap .content .r{
        width: 18.8541666667vw;
    }
    .about2 .wrap .content .r .matter .icon{
        width: 1.5625vw;
        height: 1.8229166667vw;
        transform: translateY(1.0416666667vw);
    }
    .about2 .wrap .content .r .matter .p1{
        font-size: 0.9375vw;
        margin: 2.7083333333vw 0px 3.0208333333vw;
        transform: translateY(1.0416666667vw);
    }
    .about2 .wrap .content .r .matter .p2{
        font-size: 0.8333333333vw;
        line-height: 1.4583333333vw;
        transform: translateY(1.0416666667vw);
    }
}

@media screen and (max-width: 1024px) {
    .about1{
        padding: 0 5%;
    }
    .about1 .wrap .img{
        height: auto;
        margin: 20px 0 0 0;
    }
    .about1 .wrap .img .text {
        right: 5%;
        bottom: 20px;
        font-size: 15px;
        line-height: 1.4;
    }
    .about1 .wrap .content{
        padding: 30px 0 0 0 ;
        flex-direction: column;
    }
    .about1 .wrap .content .l {
        font-size: 18px;
        line-height: 1.4;
        margin: 0 0 16px;
    }
    .about1 .wrap .content .lenis_scroll{
        width: 100%;
        height: auto;
        padding: 0;
        overflow: unset;
    }
    .about1 .wrap .content .lenis_scroll p{
        font-size: 13px;
        line-height: 1.8;
    }
    .about2{
        padding: 50px 0;
    }
    .about2 .wrap .top{
        padding: 20px 5%;
    }
    .about2 .wrap .top p {
        font-size: 11px;
    }
    .about2 .wrap .title{
        margin: 30px 0 25px;
    }
    .about2 .wrap .title .p1{
        font-size: 18px;
        margin: 0 0 10px;
    }

    .about2 .wrap .title .p2{
        width: 100%;
        font-size: 13px;
        line-height: 1.6;
    }

    .about2 .wrap .content{
        width: 90%;
        margin: auto;
        border-radius: 7px;
        height: auto;
        padding: 10px 5%;
        flex-direction: column;
        align-items: unset;
    }
    .about2 .wrap .content .imgSwiper{
        width: 100%;
        height: auto;
        border-radius: 7px;
        margin: 0 0 10px;
    }
    .about2 .wrap .content .r{
        width: 100%;
        margin: 20px 0 30px;
    }
    .about2 .wrap .content .r .matter .icon{
        width: 20px;
        height: 20px;
    }
    .about2 .wrap .content .r .matter .p1{
        font-size: 16px;
        margin: 15px 0 20px;
    }
    .about2 .wrap .content .r .matter .p2{
        font-size: 13px;
        line-height: 1.6;
    }
    .about2 .wrap .other .swiper-pagination .line{
        width: 33vw;
    }
    .about2 .wrap .other .swiper-pagination{
        width: fit-content;
        gap: 15px;
    }
    .about2 .wrap .other{
        margin: 25px 0 0 0;
    }
    .about2 .wrap .other .swiper-pagination span{
        font-size: 14px;
    }
    .about3{
        padding: 50px 5%;
    }
    .about3 .wrap{
        flex-direction: column;
    }
    .about3 .wrap .l .title{
        font-size: 18px;
    }
    .about3 .wrap .l {
        width: 100%;
    }
    .about3 .wrap .l .bottom .item:not(:last-child){
        margin: 0 0 22px;
    }
    .about3 .wrap .l .bottom .item {
        flex-direction: column;
    }
    .about3 .wrap .l .bottom{
        margin: 30px 0 0 0;
    }
    .about3 .wrap .l .bottom .item .num{
        font-size: 12px;
    }
    .about3 .wrap .l .bottom .item .r{
        width: 100%;
    }
    .about3 .wrap .l .bottom .item .r .hide div p{
        font-size: 13px;
        line-height: 1.6;
    }
    .about3 .wrap .l .bottom .item .r .show{
        padding: 7px 0;
        font-size: 13px;
    }
    .about3 .wrap .picture{
        width: 100%;
        height: auto;
        border-radius: 12px;
        margin: 30px 0 0 0;
    }
    .about3 .wrap .picture img:first-child{
        position: static;
    }
    .about4{
        padding: 30px 0 50px 0;
    }
    .about4 .wrap .title{
        font-size: 18px;
        margin: 0 0 40px;
    }
    .about4 .wrap .content .flex .img{
        margin: 0 30px 0 0;
    }
    .about4 .wrap .content .flex .img img{
        width: 60px;
        height: 30px;
        object-fit: contain;
    }
}
