@charset "utf-8"; 
/*나눔고딕*/
@import url(./fonts/NanumGothic/NanumGothic.css);

/* base */
html{overflow-y:scroll; overflow-x:hidden;font-family:"Nanum Gothic";}
body, div, h1, h2, h3, h4, h5, h6, ul, ol, li, dl, dt, dd, p, form, fieldset, input{margin:0;padding:0;font-family:"Nanum Gothic";}
h1, h2, h3, h4, h5, h6{font-weight:normal;font-size:100%;}
a{text-decoration:none;}
ul, ol, li{list-style:none;}
img{border:none; vertical-align:middle;}
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary{display:block;}
table, td, tr{font-family:"Nanum Gothic"; font-size:13px; color:#333; font-weight:400;}

/* div위치조절 */
#wrap{width:100%; overflow:hidden; text-align:left; min-width:1200px; position:relative; background:#ffffff}
#top_wrap{position:relative; width:100%; height:150px; background:#ffffff; }
#middle_wrap{width:100%; overflow:hidden; position:relative;}
#bottom_wrap{width:100%; overflow:hidden; height:185px; background:#333333}

/* top div위치조절 */
.top_wrap1{ width:100%; height:40px; border-bottom:1px solid #ededed;}
.top_total1{ width:1200px; height:40px; margin:0 auto; overflow:hidden}
.top_logo2{ float:left; font-size:13px; font-family:"Nanum Gothic"; color:#555; letter-spacing:-0.05em; line-height:40px; width:220px; font-weight:600;}


#login{float:right;text-align:right;}
#login ul {list-style-type:none; overflow:hidden}
#login li {float:right; list-style-type:none; color:#727984}
#login li a{font-size:12px; color:#555;font-family:"Nanum Gothic"; font-weight:400; letter-spacing:-0.025em;line-height:40px;}
#login li a:hover{background:none;font-weight:400;}

.top_wrap2{ width:100%; }
.top_total2{ width:1600px; height:110px; margin:0 auto; }
#top_logo{ float:left; margin-top:30px; width:195px; height:50px; padding:0;}


/* div위치조절 */
/* Header */
div#commonGnb{float:right; position:relative; margin-left:0; color:#333333;font-family:"Nanum Gothic"; }
div#commonGnb div.gnbWrap ul.gnbLayer{ display:table; float:right; margin:0 auto}
div#commonGnb div.gnbWrap ul.gnbLayer li{float:left;  position:relative; z-index:999;  zoom:1;}
div#commonGnb div.gnbWrap ul.gnbLayer li.first{border:0;}
div#commonGnb ul.gnbLayer li>a{display:block; margin:30px auto 0; text-align:center; font-weight:600; font-size:18px;  color:#333333; font-family:"Nanum Gothic"; width:180px; letter-spacing:-0.05em; line-height:60px}
div#commonGnb ul.gnbLayer li:hover a{color:#113856; text-decoration:none;font-family:"Nanum Gothic"; font-weight:600}
div#commonGnb ul.gnbLayer li dl {position:absolute; left:50%; top:90px; margin-left:-87px; width:180px; display:none;background:#fff; z-index:100;}
div#commonGnb ul.gnbLayer li dd {display:block; padding:0; margin:0;  }
div#commonGnb ul.gnbLayer li:hover dd a {font-family:"Nanum Gothic"; display:block; width:100%; height:40px; padding:0; font-size:13px; line-height:40px; color:#111; font-weight:600; text-align:center; }
div#commonGnb ul.gnbLayer li:hover dd a:hover{ background:#113856; font-weight:400;font-family:"Nanum Gothic"; color:#fff;}




#top_logo3{ float:right; margin-top:25px;}



/* bottom div위치조절 */
#bottom_wrap{ width:100%; height:170px; margin:0 auto; position:relative; background:#222222;font-family:"Nanum Gothic";}
#bottom_wrap1{ width:100%; height:55px; margin:0 auto; position:relative; border-bottom:1px solid #434343 }
#bottom_total1{ width:1200px;  margin:0 auto; position:relative;  }
.ftt1 a{overflow:hidden; font-size:14px; letter-spacing:-0.05em; color:#fff; line-height:55px; margin-right:25px}
.ftt1 a:hover{ font-weight:600;color:#fff}
#bottom_wrap2{ width:100%; height:120px; margin:0 auto; position:relative;  }
#bottom_total2{ width:1200px; overflow:hidden;  margin:0 auto; position:relative;  }
#bottom_logo{ float:left; margin-top:25px; width:230px; height:65px; }
.ftt2{font-size:13px;letter-spacing:-0.025em;color: #fff;line-height:22px;float:left;margin-top:25px;margin-left: 133px;}
#bottom_mail{ float:right; width:180px; margin-top:30px; }




/* sub_body div위치조절 */
#sub_img{ margin:0 auto; width:100%; height:270px; overflow:hidden; background:url(../images/subbg.webp) no-repeat center top}
#sub_txt{ margin:95px auto 0; width:1200px; height:80px; text-align:center}
#middle_total{margin:50px auto 0; width:1200px;}
#con_total{width:1000px; overflow:hidden; margin-bottom:100px; margin:0 auto;}
#con_title{width:1000px; margin:0; position:relative; overflow:hidden; margin-bottom:40px; height:80px;}
#title_a{text-align:center; margin-bottom:15px; font-family:"Nanum Gothic"; font-size:36px;  color:#222;letter-spacing:-0.05em; font-weight:600;}
#title_b{text-align:center; font-family:"Nanum Gothic"; font-size:15px;  color:#222;letter-spacing:-0.05em}
#con{width:1000px; overflow:hidden; margin-bottom:100px;}

.sub_bg{ width:1200px; height:575px; margin:0 auto; background:#f1f1f1; padding:40px 0 0 40px}
.sub_bg2{ width:1200px; height:310px; margin:0 auto; background:#f1f1f1; padding:40px 0 0 40px}



/*이미지슬라이드 css소스*/
.clear{overflow: hidden; width: 1200px; margin:0 auto;}
.dn {display: none;}

.wrap_box{position:relative;  width:100%; overflow:hidden; height:700px; margin:0 auto ;}
.wrap_box .visual{ position: absolute; left:50%; top:0; margin-top: 0px; width:1920px; margin-left:-960px;
height:700px;}
.wrap_box .box {position:relative; width:100%; height:100%;; margin:0 auto }
.wrap_box .visual .pht{position:absolute; overflow:hidden; top:0; left:0; width:100%;}
.wrap_box .visual .prev {position: absolute; top:100px; left:50%; margin-left:-700px; cursor: pointer; z-index:12}
.wrap_box .visual .next {position: absolute; top:100px; right:50%; margin-right:-700px; cursor: pointer;}
.wrap_box .visual .control{float:left; position:absolute; bottom:40px; left:50%; margin-left:-20px; width:100px; z-index:10000}
.wrap_box .visual .control .fl{float:left; margin-right:10px; cursor: pointer;}
.wrap_box .visual .control .fl:nth-child(4){margin-right:0px;}

#main_ment_wrap{ width:1200px; height:700px; margin:0 auto 0; position:relative; overflow:hidden}
#main_ment_total{ position:absolute; left:0; top:220px;width:1200px; height:235px; text-align:left; overflow:hidden}

#main_qmenu{ position:absolute; top:150px; left:0p; with:212px; height:53px;}
#main_qmenu li{float:left;}
#main_qmenu li a{display:block; width:212px; height:53px;}

#qmenu_button01:hover img{opacity:1;}

/*메인갤러리 추출*/
/* 메인콘텐츠 */

#main_middle_total_a{margin:70px auto 0; width:100%; height:300px; margin-bottom: 70px; }/*전체*/
#main_quick_wrap{margin:0 auto; width:1260px; height:300px; }
#main_quick{float:left; width:1260px;}

#main_quick_a_wrap{float:left; position:relative; width:1200px; height:300px;}
.main_quick_a{margin:0 auto; width:1260px; height:300px;}
.main_quick_a li{float:left;}
.main_quick_a li a{display:block; height:300px; background:url('../images/quick_menu.webp') center center;}
.main_quick_a li.qmb01 a{width:300px; height:300px; background-position:0 top;}
.main_quick_a li.qmb02 a{width:300px; height:300px; margin-left:20px; background-position:-320px top;}
.main_quick_a li.qmb03 a{width:300px; height:300px; margin-left:20px; background-position:-640px top;}
.main_quick_a li.qmb04 a{width:300px; height:300px; margin-left:20px; background-position:-960px top;}

.main_quick_a li.qmb01 a:hover{width:300px; height:300px; background-position:0 bottom;}
.main_quick_a li.qmb02 a:hover{width:300px; height:300px; margin-left:20px; background-position:-320px bottom;}
.main_quick_a li.qmb03 a:hover{width:300px; height:300px; margin-left:20px; background-position:-640px bottom;}
.main_quick_a li.qmb04 a:hover{width:300px; height:300px; margin-left:20px; background-position:-960px bottom;}
/* 슬라이드 이미지*/
#stand_total{margin:70px auto 0; width:100%; height:525px; position:relative; background:#f0f0f0;}
.stand{margin:0 auto; width:1200px; overflow:hidden; padding:70px 0 0 0; position:relative;}
.stand_title{width:100%; height:70px; overflow:hidden; margin-bottom:30px;}
.stand_title .title{position:relative; z-index:10; width:100%; font-size:30px; line-height:30px; font-weight:600; text-align:center;}
.stand_title .title spen{position:relative; z-index:10; width:100%; font-size:30px; line-height:30px; font-weight:600; text-align:center; color:#1062aa;}
.stand_title .title_02{position:relative; z-index:10; width:100%;  font-size:16px; line-height:16px; font-weight:400; text-align:center; margin-top:15px;}
.stand_con{width:100%; overflow:hidden;}
/* CUS*/
#main_con_total{margin:70px auto; width:1200px; overflow:hidden;}
#main_a{float:left; position:relative; width:425px; height:220px; padding:0 40px 0; border-right:1px solid #ddd; margin:0 0 0 0;}
#main_b{float:left; position:relative; width:358px; height:220px; padding:0 40px 0; }
#main_c{float:left; position:relative; width:415px; height:220px; padding:0 40px 0; border-right:1px solid #ddd;}

.main_title{width:100%; height:25px; text-align:left;  font-weight:600; font-size:22px; line-height:25px; color:#111;}
.main_title2{width:100%; height:25px; font-weight:600; font-size:13px; line-height:25px; color:#999;}
.main_con{width:100%; height:160px; margin-top:20px;}
.main_con a{ font-size:13px; line-height:25px;}

.main_con02{width:100%; height:160px; margin-top:30px;}
.main_con02 a{ font-size:13px; line-height:25px;}

.more_btn{ position:absolute; z-index:100; right:40px; top:25px; width:17px; height:17px;}
.cus_total{display:block; overflow:hidden; font-weight:600; font-size:15px; color:#444; line-height:28px;}
.cus_total .cus_title{float:left; display:block; width:16%;  font-weight:600; font-size:12px; line-height:25px; color:#555; letter-spacing:0;}
.cus_total .cus_con{float:left; display:block; width:82%;  font-weight:400; font-size:13px; line-height:25px; color:#222;}
.cus_total .cus_text1{font-weight:600; font-size:28px; color:#1062aa; line-height:28px; letter-spacing:0.03em; }
.cus_total .cus_text2{font-weight:600; font-size:26px; color:#222; line-height:26px; letter-spacing:0.03em; }
.cus_total .cus_text3{font-weight:400; font-size:16px; color:#444; line-height:16px; letter-spacing:0.03em; }
.cus_total .cus_text4{font-weight:400; font-size:13px; color:#444; line-height:13px; letter-spacing:0.01em; }

/* 탭네비 */
#tab_nav_sub{ width:100%; overflow:hidden; margin-bottom:80px}
#tab_nav_sub ul{ overflow:hidden; display:table; margin:0 auto}
#tab_nav_sub ul li{float:left; overflow:hidden; width:158px; height:50px; margin-right:10px;}
#tab_nav_sub ul li:last-child{ margin-right:0}

#tab_nav_sub ul li a{display:block; border:1px solid #ccc;  font-size:15px; line-height:48px; color:#333;background:#f1f1f1; text-align:center; font-family:"Nanum Gothic"; font-weight:600}
#tab_nav_sub ul li a:hover{background:#113856;color:#fff;border:1px solid #004173; font-family:"Nanum Gothic"; font-weight:600}
#tab_nav_sub ul li.on a{background:#113856;color:#fff;border:1px solid #004173; font-family:"Nanum Gothic"; font-weight:600}

/*---------------------------------
* TAIL.PHP : 온라인문의 바로가기
----------------------------------*/
#adver_total{margin:0 auto; width:100%; height:420px; background:url('../images/main_bg.jpg') center top; position:relative; min-width:1200px; position:relative;}
.adver_text{ position:absolute; z-index:100; left:50%; top:110px; margin-left:-550px; width:110px;}
.bbtn{ float:left; margin-left:-223px; left:50%; top:64%;  width:100%; position:absolute;}
.bbtn p a{ padding:15px 55px; font-size:14px; color:#fff; line-height:50px;font-family:'Nanum Gothic'; font-weight:600; border:1px solid #fff; margin-left:10px;}
.bbtn p a:hover{color:#000; font-weight:600; background:rgba(255,255,255,0.5) }

/* 슬라이드 이미지*/
.stand02{margin:0 auto; width:1200px; overflow:hidden; padding:70px 0 70px 0; position:relative;}
.stand02_title{width:100%; height:70px; overflow:hidden; margin-bottom:30px;}
.stand02_title .title_01{position:relative; z-index:10; width:100%; font-size:30px; line-height:30px; font-weight:600; text-align:center;}
.stand02_title .title_01 spen{position:relative; z-index:10; width:100%; font-size:30px; line-height:30px; font-weight:600; text-align:center; color:#1062aa;}
.stand02_title .title_02{position:relative; z-index:10; width:100%;  font-size:16px; line-height:16px; font-weight:400; text-align:center; margin-top:15px;}
.stand02_con{width:100%; overflow:hidden;}


.sec_top{
  width:100%;
  height:600px;              
  background-repeat:no-repeat;
  background-position:center;
  background-size: contain;
  position:relative;
  overflow:hidden;
}


.sec_top__inner{
  width:1200px;
  height:100%;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;       
  text-align:center;
  gap: 40px;
  margin-top: 37px;
}

.sec_top__title{
  margin:0;
  font-size: 50px;
  font-weight: bold;
  color:#fff;
}

.sec_top__desc{
  margin:0;
  font-size: 30px;
  line-height:1.7;
  color:rgba(255,255,255,.9);
  max-width: 905px;
}


.sec_top__btn{
  margin-top:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width: 200px;
  height: 50px;
  font-weight: 600;
  border-radius:999px;
  border: 1px solid #000;
  color: #000;
  font-size: 16px;
  text-decoration:none;
  background: #fff;
}
.sec_top__btn:hover{
  background:#fff;
  color:#000;
}


.sec_mid{
  width:100%;
  height:600px;                    
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;           
  background-color:#fff;             
  position:relative;
  overflow:hidden;
}

.sec_mid__inner{
  width: 1500px;
  height:100%;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.sec_mid__left{
  width: 870px;                  
  text-align:left;
}

.sec_mid__right{
  flex:1;                        
}

.sec_mid__title{
  margin: 0 0 30px;
  font-size: 44px;
  font-weight:800;
  color:#111;
  line-height:1.25;
}

.sec_mid__desc{
  margin:0;
  font-size: 20px;
  line-height:1.75;
  color:#333;
  font-weight: 500;
}


.sec_mid__btn{
  margin-top: 30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width: 200px;
  height: 50px;
  border-radius:999px;
  border:1px solid #111;
  color: #000;
  font-size: 18px;
  font-weight: 600;
  text-decoration:none;
  background: #f7f7f7;
}
.sec_mid__btn:hover{
  background:#111;
  color:#fff;
}


.animate-on-scroll{ opacity:0; }
.animate-on-scroll.animated-visible{ opacity:1; }

.main_b {
    background: #f4f4f4;
    color: #000;
    padding: 60px 0;
  }
  .main_b .box_total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    max-width: 1520px; /* 또는 1400px 등 원하는 중앙 기준 너비 */
    width: 100%;
    margin: 0 auto;
    padding: 0 20px; /* 좌우 여백이 필요할 경우 */
  }
  
  .main_b .box_title {
    flex-shrink: 0;
    width: 260px;
    height: 160px;
    text-align: left;
  }
  .main_b .box_title span {
    display: block;
    font-size: 55px;
    font-weight: bold;
    color: #242424;
    margin-bottom: 10px;
  }
  .main_b .box_title .line {
    width: 40px;
    height: 2px;
    background: #000;
  }
  .main_b .box_title .desc {
    font-size: 18px;
    color: #555;
    line-height: 1.6;
    margin-top: 30px;
  }
  
  .main_b .box_con {
    flex-grow: 1;
    overflow: visible;
  }
  .main_b .box_list ul {
    display: flex;
    gap: 20px;
    overflow: hidden;
  }
  .main_b .box_list ul li {
    flex: 1 0 30%;
    background: #222;
    height: 300px;
    border-radius: 4px;
    overflow: hidden;
  }
  .main_b .box_list ul li img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .main_b .box_btn {
    margin-top: 40px;
    text-align: center;
  }
  .main_b .box_btn a {
    display: inline-block;
    background: #000;
    color: #fff;
    padding: 10px 30px;
    border-radius: 20px;
    transition: 0.3s;
  }
  .main_b .box_btn a:hover {
    background: #224d68;
    color: #fff;
  }


#visit_map{
  position: relative;
  width: 100%;
  padding: 70px 0;
  background: #fff;
}
#visit_map .visit-inner{
  width: 1200px;
  max-width: calc(100% - 40px);
  margin: 0 auto;
  display: flex;
  gap: 80px;
  align-items: center;
}


#visit_map .col{
  width: 600px;
  height: 400px;
  border-radius: 8px;
  overflow: hidden;
}


#visit_map .map-side .root_daum_roughmap{
  width: 600px !important;
  height: 400px !important;
}


#visit_map .image-side{ position: relative; }
#visit_map .image-side img{
  display:block; width:100%; height:100%; object-fit:cover;
}


#visit_map .image-side .text-wrap{
  position:absolute;
  left:46px;
  top: 100px;
  width:460px;
  padding:0;
  background:none;
}

#visit_map .image-side .title{
  margin:0 0 14px;
  font-size:28px;        
  font-weight:600;       
  color:#111;
  line-height: 3.25;
}

#visit_map .image-side .desc{
  margin:0;
  font-size:18px;        
  font-weight:400;       
  color:#333;
  line-height:1.7;
}