html {
    scroll-behavior: smooth;
}

#sub_content{
    width: 100%;
}


/*sub_intro1*/
#sub_intro1{
    width: 100%;
    height: 800px;
    overflow: hidden;
    background-image: url(../images/subbanner_bg.jpg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
}

.sub_intro_bg{
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sub_intro_bg img{
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.sub_intro_bg img:first-child{
    animation: subcircle 14s linear infinite; 
}

.sub_intro_bg img:last-child{
    animation: subincircle 12s linear infinite; 
}

@keyframes subcircle {
    100% { 
        transform: translateX(-50%) rotate(360deg); 
    }
}

@keyframes subincircle {
    100% { 
        transform: translateX(-50%) rotate(-360deg); 
    }
}

#sub_intro1 .center{
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    box-sizing: border-box;
    color: #fff;
    padding-top: 60px;
}

#sub_intro1 p{
    overflow: hidden;
}

#sub_intro1 p span{
    display: block;
    color: #fff;
    text-align: center;
}

p.small_title{
    margin-bottom: 30px;
}

p.small_title span{
    font: normal 20px/20px 'Pretendard-Medium', sans-serif;
}

p.big_title span{
    font: normal 800 80px/90px 'Montserrat', sans-serif;
    letter-spacing: 0.1em;
}


/*sub_intro2*/
#sub_intro2{
    width: 100%;
    height: 450px;
    position: relative;
}

#sub_intro2 img{
    position: absolute;
    right: -30px;
    bottom: -10px;
    animation: subbgspin 9s linear infinite; 
}

@keyframes subbgspin {
    0% {
        transform: scale(0.9) rotate(0deg); 
    }
    25% {
        transform: scale(1.1) rotate(90deg); 
    }
    50% {
        transform: scale(0.9) rotate(180deg); 
    }
    75% {
        transform: scale(1.1) rotate(270deg); 
    }
    100% { 
        transform: scale(0.9) rotate(360deg); 
    }
}


#sub_intro2 .center{
    padding-top: 240px;;
}

#sub_intro2 .small_title{
    margin-bottom: 20px;
}

#sub_intro2 .small_title span{
    color: #0098a9;
    font-size: 18px;
}






/*sub1*/
.sub1_section1{
    width: 100%;
    padding-top: 140px;
}

.sec_small_title{
    font: normal 18px/18px 'Pretendard-Semibold', sans-serif;
    color: #111;
    position: relative;
    padding-left: 30px;
}

.title_circle{
    width: 45px;
    height: 45px;
    border: 2px solid #6adbaf;
    border-radius: 50%;
    position: absolute;
    top: -20px;
    left: 0;
    z-index: -1;
}

.sub1_sec1_txt{
    width: 100%;
    padding: 0 30px;
    display: flex;
    margin: 40px 0 50px;
    box-sizing: border-box;
}

.sec_title{
    font: normal 40px/52px 'Pretendard-Regular', sans-serif;
    color: #111;
}

.sec_title span{
    font-family: 'Pretendard-Bold', sans-serif;
}

.sub1_sec1_txt .sec_title{
    width: 540px;
}

.sub1_sec1_txt div p{
    font: normal 18px/30px 'Pretendard-Light', sans-serif;
    color: #666;
    margin-bottom: 20px;
}

.sub1_sec1_txt div p span{
    color: #111;
    font-family: 'Pretendard-Medium', sans-serif;
}

.sub1_sec1_contain li{
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 50px 110px;
    box-sizing: border-box;
}

.sub1_sec1_contain li p{
    font: normal 700 24px/24px 'Montserrat', sans-serif;
    padding-left: 60px;
    color: #111;
    width: 270px;
}

.sub1_sec1_contain li div{
    font: normal 18px/30px 'Pretendard-Light', sans-serif;
    color: #111;
}

.sub1_sec1_contain li div span{
    display: block;
    font: normal 20px/30px 'Pretendard-Semibold', sans-serif;
    color: #0098a9;
    margin-bottom: 25px;
}

.sub1_sec1_contain li:first-child{
    background-color: #eff7f9;
    margin-bottom: 10px;
}

.sub1_sec1_contain li:last-child{
    background-color: #ebfbfa;
}



.sub1_section2{
    width: 100%;
    padding: 150px 0;
}

.sub1_section2 .center{
    background-image: url(../images/sub1_sec2_bg.png);
    background-position: right top;
    background-repeat: no-repeat;
    /* background-size: contain; */
}

.sub1_section2 ul{
    padding: 130px 0 70px 30px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 800px;
}

.sub1_section2 ul li{
    position: relative;
    font: normal 18px/30px 'Pretendard-Light', sans-serif;
    color: #111;
}

.sub1_section2 ul li p{
    font: normal 30px/30px 'Pretendard-Bold', sans-serif;
    margin-bottom: 25px;
}

.sub1_section2 ul li:nth-child(2){
    margin-left: 100px;
}

span.sec2_circle{
    width: 85px;
    height: 85px;
    position: absolute;
    left: 10px;
    top: -50px;
    background-color: rgba(106, 219, 175, 0.4);
    border-radius: 50%;
    z-index: -1;
}

.sub1_section2 ul li:nth-child(2) .sec2_circle{
    background-color: rgba(0, 152, 169, 0.4);
}


.sub1_section3{
    background-color: rgba(106, 219, 175, 0.1);
    width: 100%;
    padding: 140px 0 90px;
}

.sub1_sec3_title{
    width: 100%;
    text-align: center;
    margin-bottom: 100px;
}

.sub1_sec3_title .sec_small_title{
    padding-left: 0;
    margin-bottom: 40px;
}

.sub1_sec3_title .title_circle{
    border: 2px solid #008197;
    left: 490px;
}

.history > div{
    width: 100%;
    display: flex;
    align-items: flex-start;
    gap: 50px;
    margin-bottom: 60px;
}

.history > div div{
    width: 300px;
    border-top: 2px solid #008197;
    font: normal 50px/50px 'Pretendard-Medium', sans-serif;
    color: #008197;
    padding-top: 30px;
    box-sizing: border-box;
}

ul.history_list{
    border-top: 1px solid #ccc;
    box-sizing: border-box;
    width: 850px;
}

.history_list > li{
    border-bottom: 1px solid #ccc;
    display: flex;
    align-items: flex-start;
    font: normal 18px/20px 'Pretendard-Light', sans-serif;
    color: #333;
    padding: 25px 0;
}

.history_list > li p{
    width: 100px;
    padding-left: 35px;
    font: normal 22px/22px 'Pretendard-Medium', sans-serif;
    box-sizing: border-box;
}

.history_list > li ul li{
    padding-left: 35px;
    box-sizing: border-box;
    position: relative;
    margin-bottom: 15px;
}

.history_list > li ul li:last-child{
    margin-bottom: 0;
}

.history_list > li ul li::before{
    content: "";
    position: absolute;
    width: 4px;
    height: 4px;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    background-color: #999;
    border-radius: 50%;
}

.sub1_section4{
    width: 100%;
    padding: 150px 0 170px;
}

ul.sub1_4_tab{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    margin-bottom: 60px;
}

ul.sub1_4_tab li{
    width: 150px;
    height: 50px;
    border: 1px solid #ccc;
    border-radius: 10px;
    font: normal 18px/50px 'Pretendard-Regular', sans-serif;
    text-align: center;
    color: #999;
    cursor: pointer;
    box-sizing: border-box;
}

ul.sub1_4_tab li:hover,
ul.sub1_4_tab li.tab_on{
    background-color: #0098a9;
    border: none;
    color: #fff;
    font-family: 'Pretendard-Medium', sans-serif;
}

.sub1_4_con{
    width: 100%;
}

.sub1_4_con ul{
    width: 100%;
    display: inline-block;
}

.sub1_4_con ul li{
    width: 24%;
    height: 400px;
    float: left;
    margin-right: 1%;
    margin-bottom: 20px;
    border: 1px solid #ddd;
    overflow: hidden;
    box-sizing: border-box;
    position: relative;
}

.sub1_4_con ul li:nth-child(4n){
    margin-right: 0;
}

.sub1_4_con ul li a{
    width: 100%;
    height: 100%;
    display: block;
}

.sub1_4_con ul li a img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hover_plus{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(0, 152, 169, 0.7);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s, visibility .3s;
}

.hover_plus i{
    font-size: 70px;
    color: #fff;
}

.sub1_4_con a:hover .hover_plus{
    opacity: 1;
    visibility: visible;    
}

.sub_more_btn{
    width: 60px;
    height: 60px;
    background-color: #0098a9;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 60px auto 0;
    cursor: pointer;
}

.sub_more_btn i{
    color: #fff;
    font-size: 40px;
    transition: transform .3s;
}

.sub_more_btn:hover i{
    transform: rotate(90deg);
}







/*sub2*/
.sub_page_menu{
    width: 100%;
    border-bottom: 1px solid #ddd;
    box-sizing: border-box;
    height: 60px;
}

.sub_page_menu .center{
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.sub_page_menu ul{
    height: 60px;
    display: flex;
    gap: 30px;
}

.sub_page_menu ul li{
    padding: 0 15px;
    font: normal 20px/60px 'Pretendard-Bold', sans-serif;
    color: #999;
    box-sizing: border-box;
    cursor: pointer;
}

.sub_page_menu ul li.on,
.sub_page_menu ul li:hover{
    border-bottom: 2px solid #0098a9;
    color: #0098a9;
}

.search_select{
    height: 60px;
    display: flex;
    box-sizing: border-box;
    border-bottom: 1px solid #0098a9;
}

.select_box{
    width: 100px;
    height: 100%;
    position: relative;
    cursor: pointer;
}

.select_box i{
    font-size: 20px;
    color: #333;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
}

.select_box select{
    font: 16px 'Pretendard-Regular', sans-serif;
    color: #333;
    padding-left: 15px;
}

.search_box{
    width: 240px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-right: 15px;
}

.search_box input{
    width: 90%;
    height: 100%;
    border: none;
    color: #111;
    font: 16px 'Pretendard-Regular', sans-serif;
}

.search_box input::placeholder{
    font: 14px 'Pretendard-Light', sans-serif;
    color: #666;
}

.search_box i{
    font-size: 30px;
    color: #0098a9;
}



.sub2_content{
    width: 100%;
    padding: 70px 0 170px;
}

.top_con{
    width: 100%;
    height: 375px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.top_con .thumb_img{
    width: 580px;
    height: 100%;
    box-sizing: border-box;
    border: 1px solid #ccc;
    cursor: pointer;
    overflow: hidden;

    vertical-align: bottom;
}

.thumb_img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition-duration: .5s;
}

.top_con .news_txt{
    width: 540px;
    display: flex;
    flex-direction: column;
    cursor: pointer;
}

.news_txt span{
    color: #6adbaf;
    font: 14px 'Pretendard-Semibold', sans-serif;
}

.news_txt p{
    font: 20px/30px 'Pretendard-Medium', sans-serif;
    color: #111;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: normal;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    margin: 10px 0;
}

.news_txt div{
    font: 16px/24px 'Pretendard-Light', sans-serif;
    color: #666;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    word-break: normal;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
}

.top_con .news_txt span{
    font-size: 16px;
}

.top_con .news_txt p{
    font-size: 24px;
    line-height: 32px;
    margin: 30px 0 40px;
}

.top_con .news_txt div{
    font-size: 18px;
    line-height: 28px;
    -webkit-line-clamp: 5;
}

ul.news_list{
    width: 100%;
    display: inline-block;
    margin-top: 20px;
}

ul.news_list li{
    width: 30%;
    margin-right: 5%;
    margin-top: 50px;
    float: left;
    cursor: pointer;
}

ul.news_list li:nth-child(3n){
    margin-right: 0;
}

ul.news_list li .thumb_img{
    width: 100%;
    height: 230px;
    border: 1px solid #ccc;
    box-sizing: border-box;
    overflow: hidden;
    margin-bottom: 20px;
}

.news_list li:hover .thumb_img img,
.top_con:hover .thumb_img img{
    transform: scale(1.15);
}

.news_list li:hover .news_txt p,
.top_con:hover .news_txt p{
    text-decoration: underline 1px solid #111;
}




/*sub2_detail*/
.detail_con{
    width: 100%;
}

.detail_title{
    width: 100%;
    padding: 30px 20px;
    border-bottom: 2px solid #0098a9;
    color: #111;
    font: 30px/40px 'Pretendard-Semibold', sans-serif;
    box-sizing: border-box;
}

.detail_title span{
    display: block;
    color: #999;
    font: 18px 'Pretendard-Regular', sans-serif;
    margin-top: 20px;
}

.detail_inner{
    width: 100%;
    padding: 50px 20px 100px;
    box-sizing: border-box;
    border-bottom: 2px solid #ddd;
    font: 16px/26px 'Pretendard-Light', sans-serif;
}

.detail_inner img{
    max-width: 80%;
    display: block;
    margin-bottom: 30px;
}

.back_btn{
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 70px;
}

.back_btn a{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 200px;
    height: 50px;
    background-color: #0098a9;
    border-radius: 5px;
    font: 18px 'Pretendard-Regular', sans-serif;
    color: #fff;
}

.detail_inner2{
    padding: 50px 20px 20px;
}

.link_box{
    margin-top: 100px;
    display: flex;
    align-items: center;
}

.link_box div{
    width: 35px;
    height: 35px;
    background-color: #017688;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 10px;
}

.link_box div i{
    font-size: 18px;
    color: #fff;
    transform: rotate(45deg);
}

.link_box p{
    color: #333;
    font: 16px 'Pretendard-Medium', sans-serif;
    margin-right: 5px;
}

.link_box a{
    color: #333;
    font: 16px 'Pretendard-Light', sans-serif;
}

.link_box a:hover{
    text-decoration: underline 1px solid #333;
}




/*sub3*/
#sub3_content{
    width: 100%;
    height: 100vh;
    background-image: url(../images/sub3_bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
}

#sub3_content > img{
    position: absolute;
}

#sub3_content > img:first-child{
    top: 0;
    right: 0;
}

#sub3_content > img:nth-child(2){
    left: -60px;
    bottom: -55px;
    mix-blend-mode: multiply;
}

#sub3_content .center{
    padding-top: 80px;
    display: flex;
}

.sub3_txt{
    width: 50%;
    color: #fff;
}

.sub3_txt >span{
    font: 18px/18px 'Pretendard-Bold', sans-serif;
}

.sub3_txt div{
    font: 40px/58px 'Pretendard-Medium', sans-serif;
    margin: 30px 0 50px;
}

.sub3_txt div span{
    font: 44px 'Pretendard-Bold', sans-serif;
}

.sub3_txt p{
    font: 20px/30px 'Pretendard-Light', sans-serif;
}

.sub3_con{
    width: 50%;
}

.inquiry_box{
    width: 100%;
}

.radio_box{
    display: flex;
    align-items: center;
    margin-bottom: 30px;
}

.radio_box label{
    display: flex;
    align-items: center;
    margin-right: 30px;
    height: 14px;
}

[type="radio"] {
    appearance: none;
    padding: 14px 14px 0 0;
    border: 1px solid #fff;
    border-radius: 50%;
    cursor: pointer;
    box-sizing: border-box;
}

[type="radio"]:checked {
    background-color: #fff;
}

.radio_box p{
    font: 18px/18px 'Pretendard-Regular', sans-serif;
    color: #fff;
    margin-left: 10px;
    cursor: pointer;
}

.input_box1{
    width: 100%;
    margin-bottom: 15px;
    position: relative;
}

.input_box1 p{
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font: 14px/14px 'Pretendard-Light', sans-serif;
    color: #fff;
}

.input_box1 input{
    width: 100%;
    height: 50px;
    border: none;
    border-radius: 5px;
    background-color: rgba(255, 255, 255, 0.2);
    padding: 0 25px;
    font: 18px/50px 'Pretendard-Light', sans-serif;
    color: #fff;
}


.input_box2 textarea{
    width: 100%;
    height: 150px;
    border: none;
    border-radius: 5px;
    background-color: rgba(255, 255, 255, 0.2);
    padding: 0 25px;
    font: 18px/50px 'Pretendard-Light', sans-serif;
    color: #fff;
}

.input_box1 input::placeholder,
.input_box2 textarea::placeholder{
    font: 16px/50px 'Pretendard-Light', sans-serif;
    color: #eee;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    transition: background-color 5000s;
    -webkit-text-fill-color: #fff !important;
}

.agree_box{
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #fff;
}

.agree_check{
    display: flex;
    align-items: center;
    font: 16px/16px 'Pretendard-ExtraLight', sans-serif;
    cursor: pointer;
}

.agree_check i{
    font-size: 24px;
    margin-right: 5px;
}

.agree_check p span{
    font-family: 'Pretendard-Light', sans-serif;;
}

.agree_pop_btn{
    font: 16px/16px 'Pretendard-Light', sans-serif;
    cursor: pointer;
}

.send_btn{
    width: 100%;
    display: flex;
    justify-content: flex-end;
    margin-top: 30px;
}

.send_btn a{
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-sizing: border-box;
    border-radius: 10px;
    width: 180px;
    height: 50px;
    background-color: #fff;
    color: #0098a9;
    padding: 0 25px;
    font: 20px/20px 'Pretendard-Medium', sans-serif;
    cursor: pointer;
}

.send_btn a i{
    font-size: 22px;
    font-weight: 500;
    transition: transform .3s;
}

.send_btn:hover a i {
    transform: translateX(10px);
}


/* footer01 */
.f_page{
    width: 100%;
    padding: 150px 0 170px;
}

.f_page .center{
    white-space: pre-line;
    font-size: 16px;
    line-height: 25px;
}

.f_page strong{
    font-size: 22px;
    text-align: center;
    display: block;
    font-family: 'Pretendard-Bold', sans-serif;;
}

.f_page p{
    font-weight: bold;
}

.f_page table{
    width: 100%;
    border: 1px solid #000;
    border-collapse: collapse;
    margin-top: 10px;
}

.f_page table th{
    border-bottom: 1px solid #000;
    border-right: 1px solid #000;
    padding: 5px 0;
}

.f_page table td{
    border-bottom: 1px solid #000;
    border-right: 1px solid #000;
    padding: 10px 15px;
    box-sizing: border-box;
}