@charset "utf-8";

.main {}
.main .grid {
    gap:0
}
.main .section {
    /* border: 1px solid red; */
    height: 100%;
    position: relative;
}

/* main visual */
.main .sec1 {}
.mSwiper {
    height: 100dvh;
}
.mSwiper .slide-inner {
    height:100%;
    overflow: hidden;
}
.mSwiper .img {
    height: 100%;
    /* transform: translateZ(0) scale(1.06) rotate(0deg); */
    transform: translate(0) scale(1.06);
}
.mSwiper .img > img {
    object-fit: cover;
    height: 100%;
    width: 100%;
}
.mSwiper .context {
    position: absolute;
    /* top: 0; */
    left: 0;
    width: 100%;
    /* height: 100%; */
    bottom: 16rem;
    color: #fff;
}
.mSwiper .context strong {
    color: #fff;
    font-weight: 600;
}
.mSwiper .context .big-text {
    font-size: 10rem;
    text-transform: uppercase;
    font-weight: 700;
    line-height: 1;
    color: #fff;
}
.mSwiper .context .text {
    font-size: 2rem;
    margin-top: 2rem;
    font-weight: 400;
}


.swiper-progress-bar {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    display: block;
    z-index: 1;
    height: .6rem;
}

.swiper-progress-bar::after {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 0;
    /* width: 100%; */
    background: var(--main);
    content: '';
}
.swiper-progress-bar.active {
    opacity: 1;
}
.swiper-progress-bar.active::after {
    width: 100%;
    transition: width linear;
    transition-duration: 5.9s;
}


.swiper-navigation {
    position: absolute;
    bottom: 6rem;
    display: flex;
    align-items: center;
    gap: 1.6rem;
    /* padding: 0 16rem; */
    left: 0;
    width: 95%;
    z-index: 1;
    max-width: 1600px;
    margin: 0 auto;
    right: 0;
}
.swiper-navigation .swiper-button {
    width: 4rem;
    height: 4rem;
    position: relative;
    left: 0;
    /* border: 1px solid red; */
}
.swiper-navigation .swiper-button::after {
    width: 100%;
    height: 100%;
    content: '';
    display: block;
    background-image: url(../img/common/ic-next.svg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    transition: all 0.2s ease-in-out;
    cursor: pointer;
}

.swiper-navigation .swiper-button-prev::after {
    transform: rotate(-180deg);
}
.swiper-navigation .swiper-button.next {}

.main .o-hidden {
    overflow: hidden;
}

/* swiper active */
/* swiper active */

.mSwiper .swiper-slide-active .img {
    animation: visualScale 4.2s cubic-bezier(0.42, 0, 0.33, 0.91) forwards;
    animation-delay: .1s;
    overflow: hidden;
}
.mSwiper .swiper-slide-active .context .big-text {
    animation: textUp .6s both cubic-bezier(0.25, 0.79, 0.58, 1);
    animation-delay: .4s; 
}
.mSwiper .swiper-slide-active .context .text {
    animation: textUp .6s both cubic-bezier(0.25, 0.79, 0.58, 1);
    animation-delay: .7s; 
}


@keyframes visualScale {
    /* from {
        transform: scale(1.06)
    } */
    to {
        transform: scale(1)
    }
}

@keyframes textUp {
    0% {
        opacity: 0;
        transform: translate3d(0, calc(100vw * (40 / 1919)), 0);
    }

    100% {
        opacity: 1;
        transform: none;
    }
}


@media (hover: hover) and (pointer: fine) {

    .swiper-navigation .swiper-button-prev:hover::after,
    .swiper-navigation .swiper-button-next:hover::after {
        background-image: url(../img/common/ic-next-color.svg);
    }
}

/* 메인 공통 */
/* 메인 공통 */

.main .category {
    font-size: 1.8rem;
    color: var(--main);
    font-family: 'DM Sans';
    font-weight: 500;
}
.main .big-text {
    font-size: 8rem;
    color: #111;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1.1;
}
.main .desc {
    font-size: 2rem;
    letter-spacing: -.06rem;
}
.main .category + .big-text {
    margin-top:1.6rem
}
.main .big-text + .desc {
    margin-top:2.8rem
}

.main:not(header) .button-box .text {
    font-size: 1.8rem;
    font-weight: 500;
}
.main:not(header) .button-box .ic {
    padding:.8rem
}
.main:not(header) .button-box .ic::before {
    width:2.4rem;
    height:2.4rem
}
.main .desc + .button-box {
    margin-top:10rem
}

.main .section .img {
    height:100dvh;
}
.main .section .img img {
    width:100%;
    height:100%;
    object-fit:cover
}


/* fp-nav */
/* fp-nav */
/* fp-nav */

#fp-nav.right {
    right:6rem;
    /* display: none; */
}
#fp-nav ul li a span, 
.fp-slidesNav ul li a span {
    width: 4px;
    height: 4px;
    background: none;
    border:1px solid #ccc;
}
/* #fp-nav.white ul li a span, 
#fp-nav.white .fp-slidesNav ul li a span  {
    border-color: #ccc;
} */
#fp-nav ul li a.active span {
    border-color: var(--main);
}
#fp-nav ul li a.active span::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: var(--main);
    display: block;
    width: 4px;
    border-radius: 50%;
    height: 4px;
}

#fp-nav.hidden {
    opacity: 0;
    visibility: hidden;
}




/* value proposition */
.main .sec2 {}
.main .sec2 .context {
    padding-left: 20rem;
    padding-top: 20rem;
}


/* about */
.main .sec3 {}
.main .sec3 .inner {
    margin-top: -20rem;
}
.main .sec3 .inner,
.main .sec5 .inner {
    text-align: center;
    
}
.main .sec3 .img,
.main .sec5 .img {
    position: absolute;
    top:0;
    left:0;
    width: 100%;
    height: 100%;
    z-index: -1
}
.main .sec3 .category,
.main .sec3 .big-text,
.main .sec3 .desc, 
.main .sec5 .category,
.main .sec5 .big-text,
.main .sec5 .desc {
    color: #fff;
}

.main .sec3 .button-box a,
.main .sec5 .button-box a {
    justify-content:center;
    color:#fff;
}
.main .sec3 .button-cont,
.main .sec5 .button-cont,
.main .sec3 .button-box .text,
.main .sec5 .button-box .text,
.main .sec3 .button-box .ic,
.main .sec5 .button-box .ic{
    border-color:#fff;
    color: #fff;
}

.main .sec3 .button-box .ic.add::before,
.main .sec5 .button-box .ic.add::before {
    filter: brightness(50);
}
.main .sec3 .desc + .button-box{
    margin-top:8rem
}

/* core competency */
.main .sec4 {}
.main .sec4 .context {
    
grid-column: 2;
    
grid-row: 2;
    
padding-top: 24rem;
    
padding-left: 18rem;
}
.main .sec4 .grid .img {
    grid-column: 1;
    grid-row: 2;
}

/* responsibility */
.main .sec5 {}

/* news */
.main .sec6 {
    /* padding-top: 6.8rem; */
    /* padding-top: 6rem; */
}

.sec6 .inner {
    padding-top: 6rem;
}

.main .sec6 .flex {
    justify-content: space-between;
    align-items: flex-end;
}
.main .sec6 .flex .button-box {
    /* margin-left: auto; */
}
.main-news-wrap {}

.main-news-wrap .grid {
    grid-template-columns: repeat(3,1fr);
    gap: 0 4rem;
    margin: 0;
    margin-top: 6rem;
}
.main-news-wrap .grid li {
    float: inherit;
    width: 100%;
    padding: 0;
}

.main-news-wrap .grid li .lt_img {
    margin: 0;
    width: 100%;
    /* height: 100%; */
    aspect-ratio: 1.78 / 1;
    margin-bottom: 2.4rem;
}
.main-news-wrap .grid li .lt_img img {
    object-fit:cover;
    width:100%;
    height:100%
}

.main-news-wrap .grid li .cat {
    font-size: 1.4rem;
    color: var(--main);
    font-weight: 600;
}
.main-news-wrap .grid li .tit {
    margin:.4rem 0 1.2rem
}
.main-news-wrap .grid li .tit a {
    font-size:2.8rem;
    font-weight:700;
    color:#111;
    overflow: hidden;
    white-space: normal;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    word-break: keep-all; 
}
.main-news-wrap .grid li .lt_info {
    padding: 0;
    font-size: 1.6rem;
}

.main-news-wrap .pic_lt {
    margin-bottom: 0;
}



/* footer */
.main .sec7 {}




@media screen and (max-width:1280px) {
    .mSwiper .context {
        bottom: 12rem;
    }
    .mSwiper .context .big-text {
        font-size: 8rem;
    }
    .mSwiper .context .text {
        font-size:1.8rem
    }
    .swiper-navigation {
        /* bottom: 4rem; */
    }
    .main .big-text {
        font-size: 6rem;
    }
    .main .desc {
        font-size:1.8rem
    }
    .main:not(header) .button-box .text {
        font-size:1.6rem
    }
    .main .sec2 .context {
        padding-left:4rem;
        padding-top: 0;
    }
    .main .sec4 .context {
        padding-left: 6rem;
        padding-top:0
    }
    .main .sec2 .grid,
    .main .sec4 .grid {
        align-items: center;
    }

    .main-news-wrap .grid {
        gap:2.4rem
    }

    .main-news-wrap .grid li .tit a {
        font-size: 2.4rem;
    }
}



@media screen and (max-width:905px) {
    .header .button-box .ic {
        padding:.4rem
    }

    .mSwiper .context .big-text {
        font-size:6rem
    }
    .mSwiper .context .text {
        font-size:1.6rem;
        margin-top:1.6rem
    }

    .swiper-navigation .swiper-button {
        width: 3.2rem;
        height: 3.2rem;
    }
    .swiper-navigation {
        width:100%;
        padding:0 2rem
    }
    .main .big-text {
        font-size: 4rem;
    }

    /* .main .section:not(.sec6) .grid {
        grid-template-columns: repeat(1,1fr);
    }
     */

    .main .sec2 .grid, .main .sec4 .grid {
        display:flex;
        flex-direction:column-reverse
    }
    
    
    .main .sec2 .context,
    .main .sec4 .context {
        padding: 0 2rem;
        height: 50dvh;
        padding-top: 4.8rem;
        /* padding-bottom: 0; */
        width: 100%;
    }

    .main .sec2 .img,
    .main .sec4 .img {
        height: 50dvh;
        width: 100%;
    }

    .main .desc {
        font-size:1.6rem
    }
    .main .desc + .button-box {
        margin-top: 4rem;
    }
    .main .sec2 .grid, .main .sec4 .grid {
        /* height:100%; */
    }

    .main:not(header) .button-box .ic::before {
        width: 2rem;
        height: 2rem;
    }
    .main:not(header) .button-box .ic {
        padding: 0.4rem;
    }
    .main:not(header) .button-box .text {
        font-size: 1.3rem;
        padding-top: 0;
    }
    .main .category {
        font-size:1.6rem
    }
    .main .category + .big-text {
        margin-top:1.2rem
    }
    .main .big-text + .desc {
        margin-top: 2rem;
    }

    .main .sec4 .grid .context {
        /* grid-column: 1; */
        /* grid-row: 2; */
        /* padding-top: 4rem; */
    }
    .main .sec4 .grid .img {
        grid-row: 1;
        grid-column: 1;
    }

    .main .sec2 .big-text > br:nth-child(1) {
        display: none;
    }
    .main-news-wrap .grid {
        gap: 2rem;
        margin-top: 4rem;
    }

    .main-news-wrap .grid li .lt_img {
        margin-bottom:2rem;
    }
    .main-news-wrap .grid li .tit a {
        font-size:2rem;
        
    }
    .main-news-wrap .grid li .lt_info {
        font-size: 1.2rem;
    }
    #fp-nav.right {
        right: 2rem;
    } 

    .footer .mid-sec .flex:not(.f-logo) {
        flex-direction: column;
        align-items: flex-start;
        gap:1.2rem
    }
    .footer .mid-sec .flex .infolist {
        gap:0
    }
    .footer .bot-sec {
        margin-top:2rem
    }
}

@media screen and (max-width:600px) {
    .mSwiper .context .big-text {
        font-size:4rem
    }
    .swiper-navigation {
        padding: 0 1.2rem;
    }
    .main .big-text {
        font-size:2.8rem
    }
    .main .sec2 .big-text br {
        display: none;
    }
    .main .sec2 .context, .main .sec4 .context {
        padding: 0 1.2rem;
        padding-top: 4rem;
        width: 100%;
    }
    .main .desc,
    .main .category {
        font-size:1.4rem
    }

    .main .sec6 .inner {
        padding-top: 6rem;
        /* padding-right:0; */
    }

    .main .sec6 .inner .swiper {
        overflow: visible;
        padding-bottom: 4rem;
    }

    .main .sec6 .flex {
        flex-direction: column;
        align-items: flex-start;
        gap: 2.4rem;
    }
    .main-news-wrap .grid {
        /* grid-template-columns: repeat(1,1fr); */
        display: flex;
        gap:0
    }

    .main-news-wrap .grid li {
        /* display: flex; */
        /* gap:1.2rem; */
    }

    .main-news-wrap .grid li .lt_img {
        margin-bottom:0;
        /* flex:1; */
        /* width: 40%; */
        aspect-ratio: 1.6/1;
    }
    .main-news-wrap .grid li .tit a {
        font-size:1.8rem
    }

    .main-news-wrap .grid li .text-wrap {
        margin-top: 1.2rem;
    }

    .main-news-wrap .swiper-scrollbar {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    background: #eee;
    height: 4px;
    }

    .main-news-wrap .swiper-scrollbar .swiper-scrollbar-drag {
        
        background: #111;
        height: 100%;
        width: 100%;
        border-radius: 10px;
        /* left: 0;
        top: 0; */
    }

    #fp-nav.right {
        right: 1rem;
    }

    .floating {
        right:1.2rem;
        bottom:2rem
    }

    header .gnb .gnblist li .dp1 {
        font-size:1.4rem
    }
    header .lnb .lnblist li a {
        font-size:1.4rem
    }
}