@charset "utf-8";

#fp-nav ul li:hover .fp-tooltip,
#fp-nav.fp-show-active a.active+.fp-tooltip {
    color: #222;
}

.main_visual .main_swiper {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative;
}

.main_visual .swiper-slide {
    position: relative;
}

.main_visual .swiper-slide .btn_box {
    left: unset;
    right: calc(calc(100% - 1600px) / 2);
}

.main_visual .swiper-slide .btn_box .btn {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    transition: 0.25s;
}

.main_visual .swiper-slide .btn_box .btn i.play {
    display: block;
    width: 12px;
    height: 15px;
    background: url(/img/play.png) no-repeat center center / contain;
    filter: invert(36%) sepia(70%) saturate(1568%) hue-rotate(169deg) brightness(91%) contrast(98%);
}

.main_visual .swiper-slide .btn_box .btn:hover {
    background-color: #0288bb;
}

.main_visual .swiper-slide .btn_box .btn:hover i.play {
    filter: invert(1);
}

.main_visual .swiper-slide .bg_box {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.main_visual .swiper-slide .bg_box.bg01 {
    background-image: url('/img/main_visual01.jpg');
}

.main_visual .swiper-slide .bg_box.bg02 {
    background-image: url('/img/main_visual02.jpg');
}

.main_visual .swiper-slide .bg_box.bg03 {
    background-image: url('/img/main_visual03.jpg');
}

.main_visual .swiper-slide .bg_box.bg04 {
    background-image: url('/img/main_visual04.jpg');
}

.main_visual .swiper-slide .bg_box.bg05 {
    background-image: url('/img/new_main_visual04.jpg');
}


.main_visual .swiper-slide .bg_box.new01 {background-image: url(/img/main_visual_newimg01.jpg);}
.main_visual .swiper-slide .bg_box.new02 {background-image: url(/img/main_visual_newimg02.jpg);}
.main_visual .swiper-slide .bg_box.new03 {background-image: url(/img/main_visual_newimg03.jpg);}

/* .main_visual .swiper-slide .bg_box img.m_ver {
    display: none;
} */

.main_visual .swiper-slide .inner {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: unset;
}

.main_visual .swiper-slide .txt_box h2 {
    font-size: 64px;
    line-height: 1.156em;
    font-weight: 900;
    color: #fff;
    letter-spacing: -0.025em;
    word-break: keep-all;
    text-align: center;
    display: flex;
    gap: 25px;
    justify-content: center;
}

.main_visual .swiper-slide .txt_box h2 span {
    word-break: keep-all;
}

.main_visual .swiper-slide .txt_box h2 br.m_only {
    display: none;
}

.main_visual .swiper-slide .txt_box h2 .blue {
    color: #4ae6e4;
}

.main_visual .swiper-slide .txt_box h2 .green {
    color: #9ff5a5;
}

.main_visual .swiper-slide .txt_box p {
    font-size: 42px;
    color: #fff;
    line-height: 1.333em;
    letter-spacing: -0.025em;
    word-break: keep-all;
    margin-top: 30px;
    text-align: center;
}

.main_visual .btn_box {
    position: absolute;
    bottom: 112px;
    left: calc(calc(100% - 1600px) / 2);
    z-index: 1;
    display: flex;
    gap: 10px;
}

.main_visual .btn_box .btn {
    position: static;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    border: 1px solid #fff;
    color: #fff;
}

.main_visual .btn_box .btn:hover {
    background-color: #84c241;
    border-color: transparent;
}

.main_visual .btn_box .btn::after {
    font-size: 15px;
}

@media all and (max-width: 1600px) {
    .main_visual .btn_box {
        left: 3.125%;
    }
}

@media all and (max-width: 1000px) {
    .main_visual .swiper-slide .txt_box h2 {
        font-size: 50px;
    }
}

@media all and (max-width:700px) {
    .main_visual .swiper-slide .txt_box h2 {
        font-size: 40px;
    }
    .main_visual .swiper-slide .txt_box h2 br.m_only {
        display: block;
    }

    .main_visual .swiper-slide .bg_box img.m_ver {
        object-fit: fill;
    }

    .main_visual .swiper-slide .btn_box {
        left: auto;
        right: 3.125%;
    }
}

@media all and (max-width: 999px) {
    .main_visual .swiper-slide .bg_box img.pc_ver {
        display: none;
    }

    .main_visual .swiper-slide .bg_box img.m_ver {
        display: block;
    }
}

.main_con01 {
    background: linear-gradient(to bottom, transparent 50%, #f6f8f9 50%);
}

.main_con01 .main_tit {
    margin-bottom: 100px;
}

.main_con01 .tab_list_box {
    /* overflow: hidden; */
    position: relative;
    margin-bottom: 90px;
    height: auto;
    display: flex;
}

.main_con01 .tab_list_box .tab_alt_box{width: calc(50% + 140px); position: relative; box-sizing: border-box;}
.main_con01 .tab_list_box .tab_alt_box.left{margin-right: -140px;}
.main_con01 .tab_list_box .tab_alt_box.right{margin-left: -140px;}

/* .main_con01 .mCon01_swiper .btn {
    width: 95px;
    height: 95px;
    border: 1px solid #000;
    border-radius: 50%;
    background: no-repeat center center;
}

.main_con01 .mCon01_swiper .btn::after {
    content: '';
}

.main_con01 .mCon01_swiper .btn:hover {
    background-color: #333;
    box-shadow: 0px 4px 43px 0px rgba(0, 0, 0, 0.14);
} */

/* .main_con01 .mCon01_swiper .swiper-button-prev {
    left: calc(33.333333% - 50px);
    background-image: url(/img/arrow_prev_icon_black.png);
}

.main_con01 .mCon01_swiper .swiper-button-prev:hover {
    background-image: url(/img/arrow_prev_icon_white.png);
} */

/* .main_con01 .mCon01_swiper .swiper-button-next {
    right: calc(33.333333% - 50px);
    background-image: url(/img/arrow_next_icon_black.png);
}

.main_con01 .mCon01_swiper .swiper-button-next:hover {
    background-image: url(/img/arrow_next_icon_white.png);
} */

.main_con01 .tab_list {
    position: absolute;
    top: 0;
    width: 67%;
    height: auto;
    box-sizing: border-box;
    cursor: pointer;
    border: 2px solid #f3f3f3;
    background-color: #fff;
    padding: 42px 17px;
    /* height: 100%; */
    border-radius: 20px;
    box-shadow: 0px 4px 43px 0px rgba(0, 0, 0, 0.2);
}

.main_con01 .tab_list:hover {
    z-index: 11;
    transform: translateY(-20px);
    transition: 0.3s;
}

.main_con01 .list01 {
    position: relative;
    z-index: 10;
    left: 0;
}

.main_con01 .list02 {
    z-index: 9;
    right: 0;
    margin-top: -80px;
}

.main_con01 .list03 {
    position: relative;
    z-index: 8;
    left: 0;
    margin-top: -160px;
}

.main_con01 .list04 {
    z-index: 7;
    right: 0;
    
    margin-top: -240px;
}

.main_con01 .tab_list .img_box {
    text-align: center;
    margin-top: 60px;
}

.main_con01 .tab_list .img_box img {
    object-position: bottom center;
    width: 100%;
    max-width: fit-content;
}

.main_con01 .tab_list .txt_box {
    /* text-align: center; */
}

.main_con01 .tab_list .txt_box h3 {
    font-size: 26px;
    color: #222;
    line-height: 1.576em;
    font-weight: 600;
}

.main_con01 .tab_list .txt_box p {
    font-size: 20px;
    color: #222;
    line-height: 1.5em;
    letter-spacing: -0.025em;
}

.main_con01 .tab_list .more_btn {
    position: absolute;
    bottom: 20px;
    right: 20px;
    width: 65px;
    height: 65px;
    background-color: #d9d9d9;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.main_con01 .tab_list .more_btn i {
    display: block;
    width: 14px;
    height: 2px;
    background-color: #fff;
}

.main_con01 .tab_list .more_btn i:last-of-type {
    transform: rotate(90deg);
}

.main_con01 .tab_list:hover {
    border-color: var(--point-color);
}

.main_con01 .tab_list:hover .more_btn {
    background-color: var(--point-color);
}

.main_con01 .main_sub_tit {
    margin: 30px 0 15px;
}

.main_con01 .tab_list-active .txt_box {
    opacity: 1;
}

.main_con01 .tab_list-active .img_box {
    opacity: 1;
}

.main_con01 .download_box {
    display: flex;
    margin: auto;
    background-color: #fff;
    width: 100%;
    max-width: 700px;
    height: 60px;
    border-radius: 35px;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0px 4px 43px 0px rgba(0, 0, 0, 0.05);
    padding: 0 30px;
    box-sizing: border-box;
}

.main_con01 .download_box .dropdown_list {
    position: relative;
    flex: 1;
    margin-right: 15px;
    box-sizing: border-box;
}

.main_con01 .download_box .dropdown_list span {
    display: block;
    width: 100%;
    font-size: 18px;
    letter-spacing: -0.025em;
    font-weight: 700;
    position: relative;
}

.main_con01 .download_box .dropdown_list span::after {
    content: '';
    position: absolute;
    width: 10px;
    height: 6px;
    background: url(/img/arrow_down_icon.png) no-repeat center center;
    top: calc(50% - 3px);
    right: 0;
}

.main_con01 .download_box .dropdown_list ul {
    display: none;
    position: absolute;
    top: calc(100% + 12px);
    left: 0;
    width: 100%;
    border-radius: 10px;
    box-shadow: 0px 4px 43px 0px rgba(0, 0, 0, 0.14);
    background-color: #fff;
    padding: 30px 20px;
    box-sizing: border-box;
}

.main_con01 .download_box .dropdown_list ul li {
    font-size: 16px;
    line-height: 1em;
    font-weight: 300;
    letter-spacing: -0.025em;
}

.main_con01 .download_box .dropdown_list ul li+li {
    margin-top: 18px;
}

.main_con01 .download_box .dropdown_list ul li.active {
    font-weight: 700;
}

.main_con01 .download_box a {
    padding: 0 15px;
    box-sizing: border-box;
    position: relative;
}

.main_con01 .download_box a::before {
    content: '';
    position: absolute;
    width: 1px;
    height: 16px;
    background-color: #d2d2d2;
    top: calc(50% - 8px);
    left: 0;
}

.main_con01 .download_box a>* {
    vertical-align: middle;
}

.main_con01 .download_box a span {
    font-size: 18px;
    line-height: 1em;
    letter-spacing: -0.025em;
    font-weight: 700;
}

.main_con01 .download_box a i {
    display: inline-block;
    width: 22px;
    height: 22px;
    border-radius: 9px;
    background: #0288bb url(/img/download_icon.png) no-repeat center center;
    margin-left: 8px;
}


/* @media all and (max-width: 1200px) {
    .main_con01 .tab_list_box {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
    }

    .main_con01 .tab_list .img_box {
        margin-top: 0;
    }

    .main_con01 .tab_list {
        width: calc(50% - 5px);
        top: unset;
        padding: 30px;
    }

    .main_con01 .list01 {
        left: unset;
    }

    .main_con01 .list02 {
        left: unset;
    }

    .main_con01 .list03 {
        right: unset;
    }

    .main_con01 .list04 {
        right: unset;
    }

    .main_con01 .list01,
    .main_con01 .list02,
    .main_con01 .list03,
    .main_con01 .list04 {
        position: relative;
        height: auto;
    }
} */

@media all and (max-width:1024px){
    .main_con01 .tab_list_box .tab_alt_box{display: flex; gap: 10px;}
    .main_con01 .tab_list_box .tab_alt_box.left,
    .main_con01 .tab_list_box .tab_alt_box.right{margin: 0; width: 100%;}
    .main_con01 .tab_list_box{flex-wrap: wrap; gap: 10px;}
    .main_con01 .tab_list{position: relative; top: 0; left: 0; width: calc(50% - 5px); margin-top: 0;}
}

@media all and (max-width: 1000px) {

    .main_con01 .download_box {
        flex-wrap: wrap;
        padding: 30px;
        height: auto;
        row-gap: 30px;
        justify-content: space-evenly;
    }

    .main_con01 .download_box .dropdown_list {
        width: 100%;
        flex: auto;
        order: 5;
        text-align: center;
    }

    .main_con01 .download_box a::before {
        display: none;
    }
}

@media all and (max-width: 768px) {
    .main_con01 .tab_list_box .tab_alt_box{flex-wrap: wrap;}
    .main_con01 .tab_list{width: 100%;}
}

.main_con02 {
    background: url(/img/main_con02_bg.jpg) no-repeat center center / cover;
}

.main_con02 .list_box {
    display: flex;
    align-items: stretch;
    gap: 55px;
    padding: 0 73px;
    box-sizing: border-box;
}

.main_con02 .list_box .item {
    width: calc(33.33333% - 37px);
    box-shadow: 0px 4px 43px 0px rgba(0, 0, 0, 0.05);
    background-color: #fff;
    border-radius: 20px;
    padding: 50px 25px;
    box-sizing: border-box;
}

.main_con02 .list_box .tit_box {
    border-bottom: 1px solid #eee;
    margin-bottom: 30px;
}

.main_con02 .list_box .tit_box h4 {
    font-size: 24px;
    letter-spacing: -0.025em;
    font-weight: 500;
    margin-top: 0;
    margin-bottom: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.main_con02 .list_box .tit_box span {
    font-size: 16px;
    line-height: 4.375em;
    letter-spacing: -0.025em;
    font-weight: 300;
    color: #666;
}

.main_con02 .list_box .txt_box {
    font-size: 32px;
    height: 4.5em;
}

.main_con02 .list_box .txt_box p {
    font-size: 32px;
    line-height: 1.5em;
    font-weight: 700;
    letter-spacing: -0.025em;
    word-break: keep-all;
}

.main_con02 .list_box .logo_box {}

.main_con02 .list_box .logo_box>* {
    display: inline-block;
    margin-top: 20px;
}

@media all and (max-width:1200px) {
    .main_con02 .list_box .txt_box p {
        font-size: 25px;
    }
}

@media all and (max-width:1000px) {
    .main_con02 .list_box {
        flex-direction: column;
        padding: 0;
    }

    .main_con02 .list_box .item {
        width: 100%;
    }
}

.main_con03 {
    position: relative;
}

.main_con03 .bg_box {
    position: absolute;
    height: calc(100% - 120px);
    width: 41.67%;
    background-color: #f6f8f9;
    bottom: 0;
    left: 0;
}

.main_con03 .inner {
    font-size: 0;
    letter-spacing: -4px;
}

.main_con03 .inner>* {
    display: inline-block;
    vertical-align: middle;
    height: 556px;
}

.main_con03 .left_box {
    width: 34.19%;
    padding-left: 103px;
    box-sizing: border-box;
    position: relative;
    font-size: 0;
    letter-spacing: -4px;
}

.main_con03 .left_box::before {
    content: '';
    display: inline-block;
    height: 100%;
    vertical-align: middle;
}

.main_con03 .left_box .txt_box {
    display: inline-block;
    vertical-align: middle;
}

.main_con03 .left_box .btn_box {
    position: absolute;
    bottom: 0;
    right: 0;
}

.main_con03 .left_box .btn_box a {
    display: block;
    width: 94px;
    height: 94px;
    background: #9bcb67 url(/img/arrow_next_icon_white.png) no-repeat center center;
}

.main_con03 .left_box .btn_box a:hover {
    background-color: #84c241;
}

.main_con03 .left_box .main_tit {
    text-align: left;
    margin-bottom: 30px;
}

.main_con03 .left_box p {
    font-size: 20px;
    line-height: 1.7em;
    font-weight: 500;
    letter-spacing: -0.025em;
}

.main_con03 .right_box {
    width: calc(100% - 34.19%);
    padding-right: 73px;
    box-sizing: border-box;
}

.main_con03 .root_daum_roughmap {
    width: 100%;
    height: 100%;
}

.main_con03 .root_daum_roughmap .wrap_map {
    height: 100%;
}

@media all and (max-width: 1200px) {
    .main_con03 .left_box {
        padding: 0;
    }

    .main_con03 .right_box {
        padding: 0;
    }
}

@media all and (max-width: 1000px) {
    .main_con03 .bg_box {
        display: none;
    }

    .main_con03 .inner>* {
        display: block;
    }

    .main_con03 .left_box {
        width: 100%;
        height: auto;
        padding-bottom: 94px;
    }

    .main_con03 .right_box {
        width: 100%;
    }
}

/* 2024.02.26 수정 */
.custom_year_wrap {
    overflow: hidden;
}
.custom_year_wrap * {
    box-sizing: border-box;
}
.custom_year_wrap .year_box + .year_box {
    margin-top: 60px;
}
.custom_year_wrap .year {
    aspect-ratio: 1/1;
    width: 220px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 34px;
    letter-spacing: -0.025em;
    font-weight: 700;
    border: 12px solid #84c241;
    color: #84c241;
    position: relative;
    background-color: #fff;
    word-break: break-all;
}
.custom_year_wrap .year::before {
    content: '';
    position: absolute;
    top: calc(100% + 12px);
    height: 100vh;
    width: 1px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #dbdbdb;
}
.custom_year_wrap .year_box:nth-child(even) .year {
    border-color: #1b99c6;
    color: #1b99c6;
}
.custom_year_wrap .alt_box {
    margin-left: 110px;    
    position: relative;
}
.custom_year_wrap .alt_box .alt {
    display: flex;
    position: relative;
    padding-left: 225px;
}
.custom_year_wrap .alt_box .alt::before {
    content: '';
    position: absolute;
    left: 0;
    top: 13px;
    width: 200px;
    height: 1px;
    background-color: #dbdbdb;
}
.custom_year_wrap .alt_box .alt::after {
    content: '';
    aspect-ratio: 1/1;
    position: absolute;
    border-radius: 50%;
    width: 10px;
    background-color: #84c241;
    left: 0;
    top: 13px;
    transform: translate(-50%, -50%);    
}
.custom_year_wrap .year_box:nth-child(even) .alt_box .alt::after {
    background-color: #1b99c6;
}
.custom_year_wrap .alt_box .alt:first-child {
    margin-top: 40px;
}
.custom_year_wrap .alt_box .alt + .alt {
    margin-top: 30px;
}
.custom_year_wrap .alt_box .tit {
    font-feature-settings: "tnum";
    font-size: 24px;
    font-weight: 700;
    letter-spacing: -0.025em;
    color: #222;
    min-width: 120px;
}
.custom_year_wrap .alt_box .txt p {
    position: relative;
    font-size: 18px;
    font-weight: 300;
    letter-spacing: -0.025em;
    color: #000;
    padding-left: 10px;
    line-height: 1.7em;
    word-break: keep-all;
}
.custom_year_wrap .alt_box .txt p::after {
    content: '-';
    position: absolute;
    top: 0;
    left: 0;
}

.custom_tech_wrap .box {
    display: flex;
    width: calc(50% + 130px);
    justify-content: space-between;
}

.custom_tech_wrap .box.reverse {
    flex-direction: row-reverse;
    margin-left: auto;
    text-align: right;
}

.custom_tech_wrap .box .txt_box {
    margin-top: 70px;
    width: calc(100% - 260px);
}

.custom_tech_wrap .box .tit {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: -0.025em;
    color: #1b99c6;
    padding-bottom: 20px;
    margin-bottom: 20px;
    position: relative;
}
.custom_tech_wrap .box .tit::after {
    content: '';
    position: absolute;
    bottom: 0;
    height: 1px;
    left: 0;
    right: -33px;
    background-color: #1b99c6;
}
.custom_tech_wrap .box .alt p {
    position: relative;
    font-size: 18px;
    font-weight: 300;
    letter-spacing: -0.025em;
    line-height: 1.4em;
    color: #666666;
    padding-left: 10px;
    width: fit-content;
}
.custom_tech_wrap .box.reverse .alt p {
    margin-left: auto;
}
.custom_tech_wrap .box.reverse .tit {
    color: #84c241;
}
.custom_tech_wrap .box.reverse .tit::after {
    left: -33px;
    right: 0;
    background-color: #84c241;
}
.custom_tech_wrap .box .alt p::after {
    content: '-';
    position: absolute;
    top: 0;
    left: 0;
}
.major_con01.custom {
    position: relative;
}
.custom_tech_bg {
    position: absolute;
    right: 0;
    top: 20%;
}

@media all and (max-width: 1400px) {
    .custom_tech_bg {
        text-align: right;
    }
    .custom_tech_bg img {        
        width: 70%;
    }
}

@media all and (max-width: 1024px) {
    .custom_year_wrap .year {
        width: 120px;
        border: 6px solid #84c241;
        font-size: 24px;
        padding: 0 15px;
    }
    .custom_year_wrap .year::before {
        top: calc(100% + 6px);
    }
    .custom_year_wrap .alt_box {
        margin-left: 60px;
    }
    .custom_year_wrap .alt_box .alt {
        padding-left: 40px;
        gap: 0 10px;
    }
    .custom_year_wrap .alt_box .alt::before{
        width: 30px;
    }
    .custom_year_wrap .alt_box .alt::after {
        width: 6px;
    }
    .custom_year_wrap .alt_box .tit {
        font-size: 18px;
        min-width: 70px;
        margin-top: 3px;
    }
    .custom_year_wrap .alt_box .txt p {
        font-size: 16px;
    }

    .custom_tech_wrap .box,
    .custom_tech_wrap .box.reverse {
        flex-direction: column;
        width: 100%;
    }
    .custom_tech_wrap .box .txt_box {
        width: 100%;
        order: 2;
        margin-top: 30px;
    }
    .custom_tech_wrap .box .tit::after,
    .custom_tech_wrap .box.reverse .tit::after {
        left: 0;
        right: 0;
    }
    .custom_tech_wrap .box + .box {
        margin-top: 60px;
    }
    .custom_tech_bg  {
        top: 18%;
    }
}
/* END 2024.02.26 수정 */

.main_visual .swiper-slide .txt_box h2.flex_none{display: block;}
