html, body {width: 100%; height: 100%;}
* {font-family: 'Noto Sans KR', sans-serif; font-weight: 400; border: 0; padding: 0; margin: 0; box-sizing: border-box;}


.c_wrap {position: absolute; left: 0; top: 50%; width: 100%; height: 100%; padding-top: 14vw; -ms-transform: translateY(-50%); -moz-transform: translateY(-50%); -o-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%); background: #fff; overflow: auto; overflow-x: hidden; z-index: 996;}


.m_visual {position: relative; width: 100%;}
.m_visual .m_visual_sw {position: relative; width: 100%;}
.m_visual .m_visual_sw img {width: 100%;}

.m_visual .m_visual_page {position: absolute; bottom: 3vw; left: 50%; transform: translateX(-50%); z-index: 10;}
.m_visual .m_visual_page ul {display: flex;}
.m_visual .m_visual_page ul li {display: flex; align-items: center; justify-content: center; width: 4vw; height: 4vw; border:1px solid transparent; margin: 0px 0.8vw; -ms-border-radius: 50%; -moz-border-radius: 50%; -o-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%; cursor: pointer;}
.m_visual .m_visual_page ul li span {display: inline-block; width: 1.2vw; height: 1.2vw; background-color: #fff; -ms-border-radius: 50%; -moz-border-radius: 50%; -o-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%;}
.m_visual .m_visual_page ul li.on {border: 1px solid #fff; transition: 0.8s all;}



.section {position: relative; width: 100%; background-color: #fff;}
.section .inner {padding: 5vw 4% 7vw;}
.section .tit {position: relative; width: 100%;}
.section .tit.t_center {text-align: center;}
.section .tit h2 {font-size: 5vw; color: #333; font-weight: 500; letter-spacing: -0.025em;}
.section .tit p {font-size: 3.2vw; color: #555; font-weight: 400; letter-spacing: -0.025em;}
.section .tit .btn_more {display: inline-block; margin-top: 3vw;}
.section .tit .btn_more span {display: flex; align-items: center; justify-content: center; padding: 1.5vw 6vw; background-color: #5b5b5b; -ms-border-radius: 16px; -o-border-radius: 16px; -moz-border-radius: 16px; -webkit-border-radius: 16px; border-radius: 16px; font-size: 3.2vw; color: #fff; font-weight: 400; letter-spacing: -0.025em; line-height: 1;}


.section.sec01 .cont {position: relative; display: flex; flex-wrap: wrap; justify-content: space-between; width: 100%; margin-top: 4vw;}
.section.sec01 .cont > div {width: 49%; padding: 2vw; border: 1px solid #ccc;}
.section.sec01 .cont > div:nth-child(n+3) {margin-top: 3vw;}
.section.sec01 .cont > div .txtBox {width: 100%; height: 15vw;}
.section.sec01 .cont > div .txtBox span {font-size: 3vw; color: #01794b; font-weight: 400; letter-spacing: -0.025em; line-height: 1; text-overflow: ellipsis; white-space: nowrap; overflow: hidden;}
.section.sec01 .cont > div .txtBox p {display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; font-size: 3.2vw; color: #333; font-weight: 500; letter-spacing: -0.025em; line-height: 1.4; overflow-y: hidden;}
.section.sec01 .cont > div .btn {display: flex; align-items: center; justify-content: center; background-color: #005b38; -ms-border-radius: 5px; -o-border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; margin-top: 4vw;}
.section.sec01 .cont > div .btn a {display: block; width: 100%; height: 100%;}
.section.sec01 .cont > div .btn span {display: block; padding: 2vw 0; font-size: 3.2vw; color: #fff; font-weight: 500; letter-spacing: -0.025em; line-height: 1; text-align: center;}



.section.sec02 {background-color: #f8f8f8;}
.section.sec02 .cont {position: relative; display: flex; flex-wrap: wrap; justify-content: space-between; width: 100%;}
.section.sec02 .cont > div {width: 49%;}
.section.sec02 .cont > div:nth-child(n+3) {margin-top: 4vw;}
.section.sec02 .cont > div .iconBox {width: 100%; text-align: center;}
.section.sec02 .cont > div .iconBox img {height: 12vw;}
.section.sec02 .cont > div .numBox {width: 100%; line-height: 1; text-align: center; margin-top: 2vw;}
.section.sec02 .cont > div .numBox span {font-size: 3.5vw; color: #333; font-family: 'NanumSquare'; font-weight: 700;}
.section.sec02 .cont > div .numBox span strong {font-size: 8vw; color: #07754b; font-family: 'NanumSquare'; font-weight: 700; letter-spacing: 0;}
.section.sec02 .cont > div .txtBox {width: 100%;}
.section.sec02 .cont > div .txtBox p {font-size: 4vw; color: #333; font-weight: 400; letter-spacing: -0.025em; text-align: center;}



.section.sec03 {background-color: #00392e; background-image: url('../img/main/sec03_bg.jpg'); background-position: center; background-repeat: no-repeat; background-size: cover;}
.section.sec03 .tit h2 {color: #fff;}

.section.sec03 .cont {position: relative; width: 100%; margin-top: 4vw;}
.section.sec03 .cont .box01 {position: relative; display: flex; flex-wrap: wrap; justify-content: space-between; width: 100%; padding: 0 2vw;}
.section.sec03 .cont .box01 > div {width: 31%; padding: 2vw 0; background-color: #fff; -ms-border-radius: 8px; -o-border-radius: 8px; -moz-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; overflow: hidden;}
.section.sec03 .cont .box01 > div .iconBox {width: 100%; text-align: center;}
.section.sec03 .cont .box01 > div .iconBox img {width: 10vw;}
.section.sec03 .cont .box01 > div .txtBox {width: 100%; margin-top: 2vw;}
.section.sec03 .cont .box01 > div .txtBox p {font-size: 3vw; color: #333; font-weight: 400; letter-spacing: -0.025em; text-align: center;}

.section.sec03 .cont .box02 {display: flex; justify-content: space-between; padding: 0 2vw; margin-top: 6vw;}
.section.sec03 .cont .box02 .iconBox {flex-shrink: 0; width: 9vw;}
.section.sec03 .cont .box02 .iconBox img {width: 9vw;}
.section.sec03 .cont .box02 .txtBox {flex-grow: 1; padding-top: 2vw; padding-left: 3vw;}
.section.sec03 .cont .box02 .txtBox h2 {font-size: 3.2vw; color: #fff; font-weight: 400; letter-spacing: -0.025em; line-height: 1;}
.section.sec03 .cont .box02 .txtBox p {padding: 2vw 9vw 2vw 3vw; background: #333 url('../img/main/icon09.png') center right 3vw no-repeat; background-size: 3vw auto; -ms-border-radius: 5px; -o-border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; font-size: 3.2vw; color: #fff; font-weight: 400; letter-spacing: -0.025em; line-height: 1; margin-top: 2vw;}



.section.sec04 .cont {position: relative; width: 100%; padding: 2vw; border-top: 1px solid #ccc; border-bottom: 1px solid #ccc; margin-top: 4vw;}
.section.sec04 .cont table {border-collapse: collapse; table-layout: fixed;}
.section.sec04 .cont table td {padding: 1vw 0; font-size: 3.2vw; color: #333; font-weight: 400; letter-spacing: -0.025em;}
.section.sec04 .cont table td.date {color: #555; font-weight: 300; text-align: center;}
.section.sec04 .cont table td a {display: block; width: 100%; padding-right: 5vw;}
.section.sec04 .cont table td a p {position: relative; padding-left: 3vw; font-size: 3.2vw; color: #333; font-weight: 300; letter-spacing: -0.025em; text-overflow: ellipsis; white-space: nowrap; overflow: hidden;}
.section.sec04 .cont table td a p:before {position: absolute; top: 50%; transform: translateY(-50%); left: 0; content: ''; width: 2px; height: 2px; background-color: #07754b; -ms-border-radius: 50%; -o-border-radius: 50%; -moz-border-radius: 50%; -webkit-border-radius: 50%; border-radius: 50%;}


.section.sec04 .btn {display: flex; align-items: center; justify-content: center; background-color: #f8f8f8;}
.section.sec04 .btn a {display: block; width: 100%; height: 100%;}
.section.sec04 .btn span {display: block; padding: 2.5vw 0; font-size: 3.5vw; color: #333; font-weight: 400; letter-spacing: -0.025em; line-height: 1; text-align: center;}



.section.sec05 {background-color: #f8f8f8;}
.section.sec05 .cont {position: relative; width: 100%; margin-top: 4vw;}
.section.sec05 .cont .kakao_map {width: 100%; background-color: #f8f8f8; border: 1px solid #e0e0e0;}
.section.sec05 .cont .kakao_map .root_daum_roughmap {width: 100%!important; height: auto!important;}
.section.sec05 .cont .kakao_map .root_daum_roughmap .wrap_controllers {display: none;}

.section.sec05 .cont .contact {width: 100%; margin-top: 3vw;}
.section.sec05 .cont .contact p.addr {font-size: 3.5vw; color: #333; font-weight: 500; letter-spacing: -0.025em;}

.section.sec05 .cont .contact .tel {display: flex; flex-wrap: wrap; font-size: 0;}
.section.sec05 .cont .contact .tel span {position: relative; font-size: 3.5vw; color: #555; font-weight: 400; letter-spacing: -0.025em;}
.section.sec05 .cont .contact .tel span + span {padding-left: 3vw; margin-left: 3vw;}
.section.sec05 .cont .contact .tel span + span:before {position: absolute; top: 50%; transform: translateY(-50%); left: 0; content: ''; width: 1px; height: 2.5vw; background-color: #555;}
.section.sec05 .cont .contact .tel span font {font-size: 3.5vw; color: #07754b; font-weight: 500; letter-spacing: 0;}

.section.sec05 .cont .contact .email {display: flex; flex-wrap: wrap; width: 100%; padding: 2vw 3vw; background-color: #fff; border: 1px solid #e0e0e0; margin-top: 3vw;}
.section.sec05 .cont .contact .email span {font-size: 3.5vw; color: #333; font-weight: 400; letter-spacing: -0.025em;}
.section.sec05 .cont .contact .email span + span {margin-left: 2vw;}
.section.sec05 .cont .contact .email span img {width: 7vw;}
.section.sec05 .cont .contact .email span font {font-size: 3.5vw; color: #07754b; font-weight: 500; letter-spacing: -0.025em;}

.section.sec05 .cont .contact .career {display: flex; flex-wrap: wrap; justify-content: space-between; width: 100%; margin-top: 5vw;}
.section.sec05 .cont .contact .career div:nth-child(1) {flex-grow: 1;}
.section.sec05 .cont .contact .career div:nth-child(2) {flex-grow: 3;}
.section.sec05 .cont .contact .career div:nth-child(3) {flex-grow: 1; text-align: right;}

.section.sec05 .cont .contact .career div:nth-child(1) img {width: 22vw;}
.section.sec05 .cont .contact .career div:nth-child(2) p {font-size: 3.5vw; color: #333; font-weight: 500; letter-spacing: -0.025em;}
.section.sec05 .cont .contact .career div:nth-child(2) span {font-size: 3.2vw; color: #555; font-weight: 400; letter-spacing: -0.025em; line-height: 1.2;}
.section.sec05 .cont .contact .career div:nth-child(3) span {display: inline-flex; align-items: center; justify-content: center; height: 100%; padding: 0 5vw; background-color: #5b5b5b; -ms-border-radius: 5px; -o-border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; font-size: 3.5vw; color: #fff; font-weight: 400; line-height: 1.4;}