/* main 공통 */
#wrap{
    overflow-x: hidden;
}
.section:not(#cnt1){
    margin-top: 150px;
}
.section > h2,
.section > p,
.section .main_box{
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 60px;
    box-sizing: content-box;
}
.section > h2{
    font-size: 60px;
    font-weight: var(--fw-medium);
    line-height: 78px;
    text-align: center;
}
.section .main_box{
    margin-top: 50px;
}

/* 중복 */
#cnt2 h2,
#cnt5 h2{
    position: relative;
}
#cnt2 h2 .btn_more,
#cnt5 h2 .btn_more{
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: var(--fs-medium);
    font-weight: var(--fw-bold);
    line-height: 32px;
    position: absolute;
    top: 25px;
    right: 60px;
}
#cnt2 .btn_more::after,
#cnt5 .btn_more::after{
    display: block;
    content: "";
    background-image: url('/home/images/ico_viewmore.svg');
    background-repeat: no-repeat;
    background-position: center center;
    width: 38px;
    height: 27px;
    margin-left: 15px;
}


/* #cnt1 */
.section#cnt1{
    position: relative;
    padding-top: 0;
}
#cnt1 .swiper-slide {
    height: calc(var(--vh, 1vh) * 100);
}
#cnt1 .swiper-slide img{
    width: 100%;
    height: 100vh;
    object-fit: cover;
}
#cnt1 .swiper-slide video{
    width: 100%;
    height: 100vh;
    object-fit: cover;
}
#cnt1 .swiper-slide iframe {
    width: 100%;
    height: 100vh;
    object-fit: cover;
}
#cnt1 .swiper-slide a{
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
}
#cnt1 .swiper-slide .banner_title{
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -70%);
    color: var(--color-white-base);
    font-weight: var(--fw-semibold);
    text-align: center;
}
#cnt1 .swiper-slide .banner_title span {
    font-size: 28px;
    display:inline-block;
    margin-bottom: 20px;
    line-height: 28px;
}
#cnt1 .swiper-slide .banner_title p{
    font-size: 60px;
    line-height: 78px;
    margin-bottom: 40px;
}
#cnt1 .swiper-slide .banner_title .btn_more{
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: var(--fs-medium);
    line-height: 32px;
    margin-bottom: 0;
}
#cnt1 .swiper-slide .banner_title .btn_more:after{
    content: "";
    display: block;
    background-image: url(/home/images/icon_more_wht.svg);
    background-repeat: no-repeat;
    background-position: center center;
    width: 38px;
    height: 27px;
    margin-left: 15px
}

.tooltip{
    position: absolute;
    bottom: 82px;
    left: 50%;
    transform: translate(-50%, 0);
    z-index: 3;
}
.tooltip li{
    display: table-cell;
    width: 200px;
    font-size: 24px;
    font-weight: 400;
    line-height: 38px;
    text-align: center;
    color: rgba(255, 255, 255, 0.5);
    position: relative;
    cursor: pointer;
    transition: all 0.3s;
}
.tooltip li span{
    display: block;
    margin-bottom: 20px;
    font-size: var(--fs-medium);
    line-height: 32px;
}
.tooltip li::before{
    content: "";
    width: 100%;
    height: 2px;
    background-color: rgba(255, 255, 255, 0.5);
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translate(-50%, 0);
    transition: all 0.3s;
}
.tooltip li.on{
    color: rgba(255, 255, 255, 1);
    font-weight: var(--fw-bold);
}
.tooltip li.on::before{
    background-color: rgba(255, 255, 255, 1);
}

.tooltip3{
    position: absolute;
    bottom: 50px;
    left: 50%;
    transform: translate(-50%, 0);
    z-index: 2;
    display: none;
}
.tooltip3 p{
    font-weight: var(--fw-semibold);
    font-size: 20px;
    line-height: 32px;
    color: #FFF;
    text-align: center;
    margin-top: 28px;
}
.tooltip3 .bullet{
    display: flex;
    justify-content: center;
    column-gap: 8px;
}
.tooltip3 .bullet .swiper-pagination-bullet{
    width: 10px;
    height: 10px;
    background: #fff;
    opacity: 0.6;
}
.tooltip3 .bullet .swiper-pagination-bullet-active{
    background: var(--color-red-primary);
    opacity: 1;
}

#cnt1 .swiper-button-wrap .swiper-button-prev::after{
    background: url('/home/images/ico_prev.svg') center ;
    width: 100%;
    height: 100%;
    font-size: 0;
}
#cnt1 .swiper-button-wrap .swiper-button-next::after{
    background: url('/home/images/ico_next.svg') center ;
    width: 100%;
    height: 100%;
    font-size: 0;
}
/*#cnt1 .swiper-auto-wrap button{*/
/*    position: absolute;*/
/*    top: 9px;*/
/*    right: 0;*/
/*    width: 9px;*/
/*    height: 16px;*/
/*    vertical-align: middle;*/
/*    z-index: 10;*/
/*}*/
/*#cnt1 .controller .swiper-auto-wrap button.swiper-auto-play {*/
/*    background: url("../images/ico_play.png") center / cover;*/
/*}*/
/*#cnt1 .controller .swiper-auto-wrap button.swiper-auto-pause {*/
/*    background: url("../images/ico_stop.svg") center / cover;*/
/*}*/
#cnt1 .swiper-button-prev,
#cnt1 .swiper-button-next,
#cnt1 .swiper-pagination{
    position: initial;
}

/* #cnt1 .controller{
    display: flex;
    align-items: center;
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
} */
#cnt1 .tooltip2{
    display: none;
}
/*
#cnt1 .swiper-button-wrap{
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}
 */
#cnt1 .swiper-button-prev,
#cnt1 .swiper-button-next{
    width: 100px;
    height: 100px;
    position:absolute;
    z-index: 2;
}
/*#cnt1 .swiper-pagination{*/
/*    display: flex;*/
/*    justify-content: center;*/
/*    align-items: center;*/
/*    position: absolute;*/
/*    bottom: 0;*/
/*    width: 112px;*/
/*    height: 100%;*/
/*    margin-left: 33px;*/
/*    color: #fff;*/
/*}*/
/*#cnt1 .swiper-auto-wrap{*/
/*    margin-left: 30px;*/
/*}*/
/*#cnt1 .swiper-pagination-current{*/
/*    margin-right: 7px;*/
/*}*/
/*#cnt1 .swiper-pagination-total{*/
/*    margin-left: 7px;*/
/*}*/


/* #cnt2 */
#cnt2 .projects_box{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 20px;
    row-gap: 100px;
    justify-content: center;
}
#cnt2 .projects_box div{
    margin: 0 auto;
}
#cnt2 .projects_box .txt_wrap{
    margin-top: 20px;
}
#cnt2 .projects_box .txt_wrap h3{
    font-size: 30px;
    font-weight: var(--fw-semibold);
    line-height: 48px;
    margin-bottom: 5px;
}
#cnt2 .projects_box .txt_wrap p{
    font-size: 20px;
    font-weight: var(--fw-base);
    line-height: 32px;
}


/* #cnt3 */
#cnt3 > p{
    font-size: 30px;
    line-height: 48px;
    text-align: center;
    margin-top: 20px;
}
#cnt3 > p > span{
    font-weight: var(--fw-bold);
}
#cnt3 .weare_box{
    display: grid;
    grid-template-columns: repeat(4, 335px);
    justify-content: flex-start;
    column-gap: 20px;
    overflow: scroll;
}
#cnt3 .weare_box .txt_wrap{
    margin-top: 20px;
}
#cnt3 .weare_box .txt_wrap h3{
    font-size: 40px;
    font-weight: var(--fw-medium);
    line-height: 60px;
}
#cnt3 .weare_box .txt_wrap p{
    margin-top: 20px;
    font-size: 18px;
    line-height: 32px;
}


/* #cnt5 */
#cnt5{
    background: var(--color-gray20-base);
    padding: 150px 0;
}
#cnt5 .news_box{
    display: grid;
    grid-template-columns: repeat(3, 453px);
    justify-content: flex-start;
    column-gap: 20px;
    overflow: scroll;
}
#cnt5 .news_box img {
    object-fit: cover;
}
#cnt5 .news_box .txt_wrap{
    margin-top: 25px;
}
#cnt5 .news_box .txt_wrap h3{
    font-size: 30px;
    font-weight: var(--fw-semibold);
    line-height: 48px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    word-break: break-all;
}
#cnt5 .news_box .txt_wrap p{
    margin: 15px 0;
    font-size: 20px;
    line-height: 32px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    word-break: break-all;
}
#cnt5 .news_box .txt_wrap p:nth-of-type(2){
    font-size: var(--fs-small);
    line-height: 20px;
    color: #888;
}


/* #cnt6 */
#cnt6{
    padding-bottom: 150px;
}
.flow_banner {
    overflow: hidden;
    display: flex;
    width: 100vw;
    margin-top: 50px;
}
.flow_banner .list ul{
    display: flex;
    justify-content: space-between
}
.flow_banner .list ul li{
    height: 40px;
    width: 120px;
}
.flow_banner .list ul:nth-child(1) li{
    margin-right: 150px
}
.flow_banner .list ul:nth-child(2) {
    margin-top: 80px;
}
.flow_banner .list ul:nth-child(2) li {
    margin-left: 150px;
}
.flow_banner .list ul li img{
    width: 100%;
    height: 100%;
    object-fit: contain
}
@keyframes flowRolling {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-100%);
    }
}
@keyframes flowRolling-reverse {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(0);
    }
}

/***************** TABLET / MOBILE ******************/
@media all and (max-width: 1280px){
    /* #cnt1 */
    .tooltip{
        bottom: 50px;
    }
    .tooltip li{
        font-size: var(--fs-large);
        line-height: 32px;
    }
    .tooltip li span{
        display: none;
    }
    .tooltip li::before{
        width: 10px;
        height: 10px;
        border-radius: 10px;
        top: -28px;
        bottom: initial;
    }
    .tooltip li.on::before{
        background-color: var(--color-red-primary);
    }
}
@media all and (max-width: 1024px){
    /* #cnt1 */
    #cnt1 .swiper-button-prev,
    #cnt1 .swiper-button-next{
        width: 70px;
        height: 70px;
    }
    #cnt1 .swiper-slide .banner_title p{
        font-size: 40px;
        line-height: 60px;
        margin-bottom: 0;
    }
    #cnt1 .swiper-slide .banner_title .btn_more{
        font-size: var(--fs-medium);
    }

    /* #cnt2 */
    #cnt2 .projects_box{
        grid-template-columns: repeat(2, 1fr);
    }
}
@media all and (max-width: 768px){
    /* main 공통 */
    .section:not(#cnt1){
        margin-top: 80px;
    }
    .section > h2,
    .section > p,
    .section .main_box{
        padding: 0 20px;
    }
    .section > h2{
        font-size: 30px;
        line-height: 48px;
        text-align: left;
    }
    .section .main_box{
        margin-top: 30px;
    }

    /* 중복 */
    #cnt2 h2 .btn_more,
    #cnt5 h2 .btn_more{
        font-size: 0;
        top: 10.5px;
        right: 20px;
    }

    /* #cnt1 */
    #cnt1 .swiper-slide.slide1 img {
        content: url("/home/images/main/main_banner1_M.jpg");
    }
    #cnt1 .swiper-slide.slide2 img {
        content: url("/home/images/main/main_banner2_M.jpg");
    }
    #cnt1 .swiper-slide.slide3 img {
        content: url("/home/images/main/main_banner3_M.jpg");
    }
    #cnt1 .swiper-slide.slide4 img {
        content: url("/home/images/main/main_banner4_M.jpg");
    }
    #cnt1 .swiper-slide.slide5 img {
        content: url("/home/images/main/main_banner5_M.jpg");
    }
    .tooltip{
        display: none;
    }
    .tooltip3{
        display: block;
    }
    #cnt1 .swiper-slide .banner_title p{
        font-size: 34px;
        line-height: 40px;
        margin-bottom: 0;
    }
    #cnt1 .swiper-slide .banner_title .btn_more{
        font-size: var(--fs-medium);
    }

    /* #cnt2 */
    #cnt2 .projects_box .txt_wrap{
        margin-top: 10px;
    }
    #cnt2 .projects_box .txt_wrap h3{
        font-size: var(--fs-xlarge);
        line-height: 38px;
        margin-bottom: 8px;
    }
    #cnt2 .projects_box .txt_wrap p{
        font-size: var(--fs-medium);
    }

    /* #cnt3 */
    #cnt3 > p{
        font-size: 18px;
        line-height: 32px;
        text-align: left;
        margin-top: 10px;
    }
    #cnt3 .weare_box{
        grid-template-columns: repeat(4, 300px);
        column-gap: 10px;
    }
    #cnt3 .weare_box .txt_wrap{
        margin-top: 10px;
    }
    #cnt3 .weare_box .txt_wrap h3{
        font-size: 26px;
        line-height: 44px;
    }
    #cnt3 .weare_box .txt_wrap p{
        margin-top: 10px;
        font-size: var(--fw-base);
        line-height: 24px;
    }

    /* #cnt5 */
    #cnt5{
        background: none;
        padding: 0;
    }
    #cnt5 .news_box{
        grid-template-columns: repeat(3, 250px);
        column-gap: 10px;
    }
    #cnt5 .news_box .txt_wrap{
        margin-top: 10px;
    }
    #cnt5 .news_box .txt_wrap h3{
        font-size: var(--fw-base);
        line-height: 24px;
    }
    #cnt5 .news_box .txt_wrap p{
        margin: 10px 0;
        font-size: var(--fs-small);
        line-height: 20px;
    }
    #cnt5 .news_box .txt_wrap p:nth-of-type(2){
        font-size: var(--fs-small);
        line-height: 20px;
    }

    /* #cnt6 */
    #cnt6{
        padding-bottom: 80px;
    }
    .flow_banner {
        margin-top: 30px;
    }
    .flow_banner .list ul li{
        height: 40px;
        width: 120px;
    }
    .flow_banner .list ul:nth-child(1) li{
        margin-right: 80px
    }
    .flow_banner .list ul:nth-child(2) {
        margin-top: 20px;
    }
    .flow_banner .list ul:nth-child(2) li {
        margin-left: 80px;
    }
}
@media all and (max-width: 600px){
    #cnt1 .swiper-slide .banner_title{
        text-align: left;
    }
    #cnt1 .swiper-slide .banner_title span {
        font-size: 20px;
        margin-bottom: 8px;
    }
    #cnt1 .swiper-slide .banner_title span,
    #cnt1 .swiper-slide .banner_title p {
        padding: 0 20px;
    }
    #cnt1 .swiper-slide .banner_title .btn_more{
        justify-content: flex-start;
        padding: 0 20px;
    }
    #cnt1 .swiper-button-prev, #cnt1 .swiper-button-next{
        display: none;
    }

    /* #cnt2 */
    #cnt2 .projects_box{
        grid-template-columns: repeat(1, 1fr);
        row-gap: 60px;
    }
}
