@charset "UTF-8";

*, *:before, *:after { -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; }
.all_wrap{overflow: hidden;position: relative;}

.jarallax {position: relative;z-index: 0;height: 100%;}
.jarallax > .jarallax-img {position: absolute;  object-fit: cover;  top: 0;  left: 0;  width: 100%;  height: 100%;  z-index: -1;}

/* 공통 */
.width{width: 90% !important; max-width: 1400px; margin: 0 auto; position: relative;}
.common{padding: 110px 0px;}
.title h2{font-size: 4.0rem; font-weight: 500;}
.title p{font-size: 1.8rem;}
.stitle{text-align: center; margin-bottom: 80px;}
.titleM{font-size: 3.4rem; font-weight: 500;}
.titleS{font-size: 1.8rem; margin-top: 20px;}
.titleL{font-size: 2.8rem; font-weight: 500;}
.center{text-align: center;}
.left{text-align: left;}
@media all and (max-width: 1024px) {
	.common{padding: 60px 0px;}
	.stitle{margin-bottom: 60px;}
}

#header {  width: 100%;  background: rgba(0, 0, 0, 0.3); /* 어두운 반투명 */  border-bottom: 0px solid rgba(255, 255, 255, 0.1); /* 테두리도 살짝 투명하게 */  position: fixed;  top: 0;  z-index: 999;  transition: 0.3s all;}

#header .head_login_wrap{border-bottom: 0px solid #eee;}
#header .head_login{display: flex;justify-content: flex-end;padding: 7px 0px;}
#header .head_login li{margin-left: 10px;}
#header .head_login a{font-size: 1.4rem;}
#header .head_login i{font-size: 20px; }
#header.scroll{top:0px; background: rgba(0, 0, 0, 0.9);}

#header .head_menu{position: relative;display: flex;justify-content: space-between;align-items: center;width: 100%; height: 90px;}
#header .head_menu .main_menu { width: 80%; display: flex; justify-content: center; align-items: center; text-align: center; height: 100%; z-index: 9;}
#header .head_menu .main_menu .dept1 { width: 20%; position: relative; padding: 15px 0px;}
#header .head_menu .main_menu .dept1 > a { font-size: 1.9rem; font-weight: 500; color: #FFF;}
#header .head_menu .main_menu .dept1 > a.active { color: #00a0b7; font-weight: bold; }
#header .head_menu .main_menu .dept1 > a.menuon { color: #00a0b7; font-weight: bold; }

#header .head_menu .sub_menu { position: absolute; top: 100%; left: 50%; transform: translateX(-50%); width: 100%; padding-top: 20px; display: none; padding-bottom: 30px;}
#header .head_menu .main_menu .dept2 { padding: 12px 0px; }
#header .head_menu .main_menu .dept2 a { font-size: 1.7rem; display: block;}
#header .main_menu .dept2>a:hover,
#header .main_menu .dept2>a:active,
#header .main_menu .dept2>a.menuon,
#header .main_menu .dept2>a:focus { color: #00a0b7;font-weight: bold;}
#header .menu_bg {background: #fff;width: 100%;height: 0;left: 0;z-index: 1;position: absolute;}
/* #mild_head{display: flex;justify-content: space-between;align-items: center;padding: 2rem;position: relative;}
#mild_menu{display: flex;z-index: 99;margin-left: auto;}
#mild_menu > .dept1 {position: relative;;padding: 1rem 2rem;text-align: center;}
#mild_menu > .dept1 > a.active{color: red;font-weight: bold}

#mild_menu .sub_menu {position: absolute;top: 100%;left:50%;transform: translateX(-50%);width:100%;padding-top:3rem;display: none}
#mild_menu  .dept2 {padding: 1rem 0;color: #555}
#mild_menu  .dept2 > a:hover,
#mild_menu  .dept2 > a:active,
#mild_menu  .dept2 > a:focus {font-weight: bold}
.menu_bg {background: #fff;width: 100%;height: 0;left: 0;z-index: 1;position: absolute;} */

.menu_open { position: fixed; width: 100%; height: 100vh;
background: #fff; top: 0; left: 0; z-index: 999; padding: 55px 50px 50px 50px; display: none; }
.menu_open .site_map_wrap h2 { margin-bottom: 150px; display: flex; justify-content: space-between; align-items: center;}
.menu_open .site_map_wrap h2 img { width: 150px; max-width: 100%; height: auto; }
.menu_open .site_map { display: flex; width: 100%; }
.menu_open .site_map .dept1 { width: 20%; margin-right: 40px; }
.menu_open .site_map .dept1:last-child { border-right: 0px; }
.menu_open .site_map .dept1 > a { font-size: 2.8rem; font-weight: 700; padding-bottom: 30px; border-bottom: 2px solid #eee; display: block; margin-bottom: 30px;}
.menu_open .site_map .dept1 > a.active { color: #364F6B; }
.menu_open .site_map .dept2 a { font-size: 2.0rem; position: relative; line-height: 120%; margin-bottom: 30px; display: inline-block; padding-bottom: 3px; }
.menu_open .site_map .dept2 a::after { content: ''; width: 0; height: 3px; background: rgba(54, 79, 107, 0.5); position: absolute; bottom: 0; left: 0; transition: 0.3s all; }
.menu_open .site_map .dept2 a:hover::after { width: 100%; }
.hd_bg { background: #fff; width: 100%; height: 0; left: 0; z-index: 1; position: absolute; }
.site_foot{padding-top: 20px;margin-top: 150px; border-top: 2px solid #eee; text-align: center;}

#header .menu_bar { z-index: 99; position: relative; }
#header .menu_bar span { width: 22px; height: 2px; background: #ffffff; display: block; margin: 6px}
#header .menu_bar2 { z-index: 9999; position: relative; }
#header .menu_bar2 span:nth-child(1) { display: none; }
#header .menu_bar2 span:nth-child(2) { transform: rotate(130deg); }
#header .menu_bar2 span:nth-child(3) { transform: rotate(45deg); top: 0px; position: absolute; }
#header .menu_bar2 span { width: 22px; height: 2px; background: #555; display: block; margin: 6px}

/* 모바일 */
.mobile_head {width: 100%; height: 70px; display: flex; justify-content: space-between; align-items: center; padding: 0px 15px; display: none; position: fixed; background: rgba(0, 0, 0, 0.3);  z-index: 99; box-shadow: 0px 1px 3px rgba(0,0,0,0.3);}
.mobile_head .mobile_logo { width: 150px; }
.mobile_head .mobile_logo img { width: 100%; }
.mobile_head .mobile_btn { color: #fff; }
.mobile_head .mobile_btn a { display: flex; align-items: center; justify-content: center; color: #fff; }
.mobile_head .mobile_btn svg { stroke: #fff; }
#mobile_menu {  display: none; position: fixed; top: 0; right: -75%; width: 75%; background: #fff; z-index: 1000; height: 100vh; overflow-y: scroll; -ms-overflow-style: none; scrollbar-width: none;}
#mobile_menu::-webkit-scrollbar{display: none;}
#mobile_menu .mob_logo { width: 100%; padding: 0px 20px; height: 70px; background:#fff;display: flex; justify-content: space-between; align-items: center;}
#mobile_menu .mob_logo a { width: 100px; }
#mobile_menu .mob_logo a img { width: 100%; }
#mobile_menu .mobile_close { font-size: 30px; cursor: pointer; color: #333;}
#mobile_menu .mob_menu .top_menu {display: flex;justify-content: space-between; align-items: center; padding: 20px 0px;font-size: 17px; margin: 0px 20px; border-bottom: 1px solid #8e8e8e;}
#mobile_menu .mob_menu .topmenu.on { color: #fff; }
#mobile_menu .mob_menu .sub_menu { padding: 15px 0px; margin: 0px 20px; border-bottom: 1px solid #ccc; background: #fff; visibility: visible; }
#mobile_menu .mob_menu .sub_menu a {display: block; color: #333 ;font-size: 15px; padding: 10px; background: #fff;}
#mobile_menu .mob_menu_btn{display: flex; padding: 10px 0px; margin: 0px 20px; justify-content: space-between;}
#mobile_menu .mob_menu_btn li{width: 49%;}
#mobile_menu .mob_menu_btn a{font-size: 17px;  background: #ddd;display: flex; height: 50px; justify-content: center; align-items: center;}
#mobile_menu .mob_menu_btn a i{font-size: 16px; margin-right: 5px;}
.mob_bg {  display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background: rgba(0, 0, 0, 0.5); z-index: 99;}

@media screen and ( max-width: 1400px ){
#pcmenu .topmenu { font-size: 16px; }
#pcmenu .submenu a { font-size: 14px; }
}
@media screen and ( max-width: 1024px ){
#header { display: none; }
.mobile_head{display: flex;}
}

/* 메인비주얼 */
.Hfull{max-height: 1000px; overflow: hidden;}
.swiper_visual {display:block;height:100%;margin:0px auto;overflow:hidden;position:relative;}
.swiper_visual .swiper-slide {position:relative; height: auto !important;}
.swiper_visual .swiper-slide .main_visual img{width: 100%;}

.swiper_visual .swiper-pagination-bullet-active {opacity:1;font-size:14px;color:#fff;font-weight:300;}
.swiper_visual .swiper-button-prev{left:0px;margin-left:0px;padding-left:3%;width: auto;height:150px;line-height:150px;color: rgba(255, 255, 255, 0.5);}
.swiper_visual .swiper-button-next{right:0px;padding-right:3%;margin-right:0;width: auto;height:150px;line-height:150px;color: rgba(255, 255, 255, 0.5);}
.swiper-button-prev, .swiper-button-next {transform: translateY(-50%);}
.swiper-button-prev p, .swiper-button-next p{font-size:1.6rem; font-family: 'Montserrat';}

.swiper-button-prev span.top {width: 4px;background: #fff;height: 35px;display: block;position: absolute;top: 35px;left: 0px;transition: all 0.3s ease;}
.swiper-button-prev span.bottom {width: 4px;background: #fff;height: 35px;display: block;position: absolute;top: 70px;left: 0px;transition: all 0.3s ease;}
.swiper-button-next span.top {width: 4px;background: #fff;height: 35px;display: block;position: absolute;top: 35px;right: 0px;transition: all 0.3s ease;}
.swiper-button-next span.bottom {width: 4px;background: #fff;height: 35px;display: block;position: absolute;top: 70px;right: 0px;transition: all 0.3s ease;}
.swiper-button-prev:hover span.top{transform: translate(10px, 6.5px) rotate(45deg);}
.swiper-button-prev:hover span.bottom{transform: translate(10px, -6.5px) rotate(-45deg);}
.swiper-button-next:hover span.top{transform: translate(-10px, 6.5px) rotate(-45deg);}
.swiper-button-next:hover span.bottom{transform: translate(-10px, -6.5px) rotate(45deg);}

#thumbPrev{position:absolute;top:0px;left:-200px;width:200px;height:120px;opacity:1;transition: all 0.6s ease; z-index: 2;}
#thumbPrev img{width:100%;}
#thumbNext{position:absolute;top:0px;right: -200px;width:200px;height:120px;opacity:1;transition: all 0.6s ease; z-index: 2;}
#thumbNext img{width:100%;}
.pc{display: block !important;}
.tab{display: none !important;}
.mob{display: none !important;}
.swiper-button-prev:after, .swiper-button-next:after{display: none;}
.swiper_btn_wrap{display: flex; align-items: center;position: absolute; left: 0; right: 0; bottom: 20%;justify-content: center;}
.swiper_visual .swiper-pagination {width: auto;position: initial;}
.swiper_visual .swiper-pagination .current{color: #fff; margin-right: 5px;}
.swiper_visual .swiper-pagination .total{position: absolute; top: 3px;left: 150px; color: #fff; display: flex; align-items: center;}

.swiper-progress-bar {z-index: 1;height: 2px;background:rgb(0,0,0,0.4);overflow:hidden; width: 120px;}
.slide_progress-bar{width: 0%;background: #fff;display: block;height: 2px;}

.swiper-controllbar{width:30px;height:30px;z-index: 9;color: #fff;cursor:pointer;margin-left: 40px;}
.swiper-controllbar-box{position:absolute;top:0px;}
.swiper-controllbar-box .auto-stop{width: 30px;height: 30px;background:rgb(255,255,255,0.5);z-index:99;cursor:pointer;border-radius:15px;text-align:center;display: flex;align-items: center; justify-content: center;}
.swiper-controllbar-box .auto-stop i{vertical-align: -webkit-baseline-middle;}
.swiper-controllbar-box .auto-start{width: 30px;height: 30px;background:rgb(255,255,255,0.5);z-index:99;cursor:pointer;border-radius:15px;text-align:center;display: none;}
.swiper-controllbar-box .auto-start i{vertical-align: -webkit-baseline-middle;}
/* 메인 텍스트 */
.maintext_box { position: absolute; z-index: 5; left: 0; right: 0; top: 0; height: 100%; display: flex; justify-content: center; flex-direction: column; }
.maintext_box h2 { position: relative; font-size: 5.5rem; font-weight: 700; color: #fff; padding-bottom: 30px; margin-bottom: 30px; text-align: center;}
.maintext_box h2::after { content: ''; width: 80px; height: 3px; background: #fff; position: absolute; left: 0; bottom: 0; right: 0; margin: 0 auto;}
.maintext_box h3 { font-size: 2.2rem; color: #fff; font-weight: 200; line-height: 120%; text-align: center;}

@media all and (max-width: 1024px){
	.pc{display: none !important;}
	.tab{display: block !important;}
	.mob{display: none !important;}
}
@media all and (max-width: 768px){
	.pc{display: none !important;}
	.tab{display: none !important;}
	.mob{display: block !important;}
	.swiper_visual .swiper-button-prev{display: none;}
	.swiper_visual .swiper-button-next{display: none;}
	.maintext_box h2{font-size: 4.0rem;padding-bottom: 15px; margin-bottom: 15px;}
	.maintext_box h2::after{width: 60px; height: 1px;}
	.maintext_box h3 br{display: none;}
	.swiper_btn_wrap{bottom: 10%;}
}
@media all and (min-width: 768px){
	.swiper-button-prev:hover #thumbPrev{opacity:1;left:40px;}
	.swiper-button-next:hover #thumbNext{opacity:1;right: 40px;}
}

/*  main_product */

.main_product_wrap{overflow: hidden;}
.main_product { display: flex; justify-content: space-between; align-items: flex-start; background: #fff;}
.products_text { width: 30%; padding: 60px 50px 40px 0px; position: relative; z-index: 3; }
.products_text::before { content: ''; position: absolute; width: 300%; height: 100%; top: 0; right: 0; background: linear-gradient(60deg, rgba(248,247,241,1) 0%, rgba(242,246,243,1) 35%, rgba(242,244,245,1) 65%, rgba(252,240,251,1) 100%); border-radius: 10px; z-index: 1; }
.products_text::after{content: ''; position: absolute; width: 400%; height: 200%; top: -15px; right: -15px; background: #fff; z-index: 0;}
.products_text h2 { font-size: 4.0rem; font-weight: 500; text-transform: uppercase; margin-bottom: 15px; }
.products_text p { font-size: 1.8rem; line-height: 120%; color: #666; }
.products_list_wrap { width: 68%;}

.product_btn{position: relative; display: flex;z-index: 2;margin-top: 40px;}
.product_btn .product_prev{width: 50px; height: 50px; border-radius: 50%; margin-right: 20px; background: #bbc1d0; color: #fff; text-align: center; line-height: 50px; font-size: 20px; margin-right: 20px; cursor: pointer;}
.product_btn .product_next{width: 50px; height: 50px; border-radius: 50%; background: #bbc1d0; color: #fff; text-align: center; line-height: 50px; font-size: 20px; cursor: pointer;}
.product_btn div:hover{background: #434a54; color: #fff; transition: 0.3s all;}

/* 텍스트가 카드 상단에 오게 되면서, 사진이 가운데 있으면 상단 텍스트와 겹치므로
   사진을 카드 아래쪽으로 정렬해(align-items:flex-end) 상단에 텍스트가 들어갈 공간을 비워둡니다. */
.products_list { border-radius: 10px 0px 10px 10px; overflow: hidden; box-shadow: 0px 1px 7px rgba(0, 0, 0, 0.2); border: 1px solid #e6ebf0; position: relative; background: #fff; display: flex; align-items: flex-end; justify-content: center; padding-bottom: 22px; box-sizing: border-box; transition: 0.3s all;}
/* object-fit:cover 는 박스를 꽉 채우려고 가로/세로 중 넘치는 쪽을 잘라내는데,
   가로로 넓은 제품 사진(Claro 등)은 양쪽이 잘려 보이는 문제가 있어 contain 으로 변경합니다.
   (이미지 전체가 항상 보이고, 남는 공간은 박스 배경색(#fff)으로 채워집니다)
   ※ img에 직접 padding을 주면 여백 부분이 별도의 사각형 프레임처럼 어색하게 렌더링되는
     브라우저 렌더링 특성이 있어, 대신 .products_list를 flex로 만들어 가운데 정렬하고
     img 자체의 크기(폭/높이)를 줄이는 방식으로 여백을 만듭니다. */
.products_list img { width: 78%; height: 78%; max-width: 100%; object-fit: contain; display: block;}
/* swiper.min.css 의 ".swiper-slide{height:100%}" 규칙이 layout.css 보다 나중에 로드되어
   동일 우선순위(클래스 1개)일 때 뒤에 오는 규칙이 이겨 위의 height 지정을 덮어쓰는 문제가 있어,
   .products_list.swiper-slide (클래스 2개, 더 높은 우선순위)로 명시해 항상 이기도록 고정합니다. */
.products_list.swiper-slide { height: 380px !important; }
/* 배경을 흰색으로 바꾸면서, 사진 위에 흰 글씨를 얹던 방식 대신 카드 상단에
   제목/설명을 어두운 색 텍스트로 표시하도록 레이아웃을 바꿨습니다. (그라데이션 배경 없이
   흰 카드 배경 위에 바로 텍스트가 보입니다)
   (a 태그 자체는 이전처럼 카드 전체(top:0/height:100%)를 덮어 어디를 클릭해도
   이동되도록 유지하고, flex로 텍스트만 상단에 붙입니다) */
.products_list a{position: absolute; z-index: 3; top: 0; left: 0; width: 100%; height: 100%; padding: 20px 22px; transition: 0.3s all; display: flex; flex-direction: column; justify-content: flex-start;}
.products_list a p{font-size: 2.2rem; color: #1a2a4a; font-weight: 700; margin-bottom: 4px;}
.products_list a span{font-size: 1.5rem; color: #666;}
.products_list:hover{box-shadow: 0px 8px 20px rgba(0, 0, 0, 0.15); transform: translateY(-4px);}
.products_list:hover a p{color: #0072BC;}
@media all and (max-width: 1024px) {
	.products_text{padding: 45px 0px; margin-bottom: 40px;}
	.products_list.swiper-slide{height: 300px !important;}
	.products_list a p{font-size: 1.9rem;}
	.main_product{flex-direction: column;}
	.products_text::after{display: none;}
	.products_text{width: 100%; text-align: center;}
	.products_list_wrap{width: 100% !important;}
	.products_text::before{right: -20px;}
	.products_text p br{display: none;}
	.products_text p{margin-bottom: 35px;}
	.product_btn{justify-content: center;}
}

/* company_page */

.company_page_warp{background: url('../img/com_bg.png') no-repeat; background-size: cover; background-attachment: fixed; background-position: left;}
.company_page_warp .title{text-align: center;}
.company_page_warp .title h2{margin-bottom: 5px; color: #fff;}
.company_page_warp .title p{margin-bottom: 80px; color: #fff;}
.company_page{display: flex;justify-content: space-between;align-items: center;}
.company_page .company_box{width: 24%;padding: 6% 0px;}
.company_page .company_box:nth-child(1){background: #fff;}
.company_page .company_box:nth-child(2){background: #fff;}
.company_page .company_box:nth-child(3){background: #fff;}
.company_page .company_box:nth-child(4){background: #fff;}
.company_page .company_box h2{font-size: 4.0rem; text-align: center; min-height: 30px; margin-bottom: 30px; color: #364F6B;}
.company_page .company_box h3{font-size: 2.8rem; text-align: center; margin-bottom: 10px; color: #555; font-weight: 500;}
.company_page .company_box p{font-size: 2.2rem; text-align: center; color: #666;}
.company_page .company_box:hover h2{-webkit-animation: flip-vertical-left 0.4s cubic-bezier(0.455, 0.030, 0.515, 0.955) both;animation: flip-vertical-left 0.4s cubic-bezier(0.455, 0.030, 0.515, 0.955) both;}
@-webkit-keyframes flip-vertical-left {
 0% { -webkit-transform: rotateY(0); transform: rotateY(0); }
 100% { -webkit-transform: rotateY(-180deg); transform: rotateY(-180deg); }
 }
 @keyframes flip-vertical-left {
 0% { -webkit-transform: rotateY(0); transform: rotateY(0); }
 100% { -webkit-transform: rotateY(-180deg); transform: rotateY(-180deg); }
 }
 @media all and (max-width: 850px) {
 	.company_page{flex-wrap: wrap;}
	.company_page .company_box{width: 49%; margin: 0.5%;}
 }

/* gallery_warp */
.gallery_warp .title{text-align: center;}
.gallery_warp .title h2{margin-bottom: 60px;}

/* location_warp (메인화면 오시는 길 미리보기) */
.location_warp .title{text-align: center;}
.location_warp .title h2{margin-bottom: 10px;}
.location_warp .title p{margin-bottom: 50px; color: #666;}
.location_preview{display: flex; align-items: stretch; gap: 0; border-radius: 12px; overflow: hidden; box-shadow: 0px 1px 7px rgba(0, 0, 0, 0.12);}
.location_preview .location_map{flex: 1 1 60%; min-width: 0;}
.location_preview .location_map iframe{display: block; width: 100%; height: 100%; min-height: 360px; border: 0;}
.location_preview .location_info{flex: 1 1 40%; min-width: 0; background: #364F6B; color: #fff; padding: 50px 45px; display: flex; flex-direction: column; justify-content: center;}
.location_preview .location_info h3{font-size: 2.8rem; font-weight: 600; margin-bottom: 24px;}
.location_preview .location_info p{font-size: 1.7rem; line-height: 180%; margin-bottom: 10px; display: flex; align-items: center; gap: 10px; color: #dfe4ea;}
.location_preview .location_info p i{width: 18px; text-align: center; color: #7fd1ff;}
.location_preview .location_info .location_btn{display: inline-block; margin-top: 26px; padding: 14px 28px; border: 1px solid #fff; border-radius: 6px; color: #fff; font-size: 1.6rem; width: fit-content; transition: 0.3s all;}
.location_preview .location_info .location_btn:hover{background: #fff; color: #364F6B;}
@media all and (max-width: 850px) {
	.location_preview{flex-direction: column;}
	.location_preview .location_map iframe{min-height: 260px;}
	.location_preview .location_info{padding: 35px 25px;}
}

/* notice_warp */

.notice_warp{background: #f1f1f1;}
/* 메인 NOTICE 최신글(theme/pic_list 스킨)에서 게시글 첨부 이미지(썸네일) 영역을 모든 화면에서 숨김
   - 원래는 모바일(768px 이하)에서만 숨기고 있었음. 텍스트 영역이 전체 폭을 사용하도록 함 */
.notice_warp .pic_lt .lt_wrap .lt_img,
.notice_warp .pic_li_lt .lt_img{display:none !important;}
.notice_warp .pic_lt .lt_wrap .lt_text_top,
.notice_warp .pic_lt .lt_wrap .lt_text{width:100% !important;max-width:100% !important;flex:1 1 100% !important;}
/* 메인 하단 : 공지사항(좌) + 채용공고(우) 2단 구성 */
.notice_grid{display:flex;gap:60px;align-items:flex-start;}
.notice_grid .notice_col{flex:1 1 0;min-width:0;}
.notice_grid .title{text-align:left;}
.notice_grid .title h2{margin-bottom:6px;}
.notice_grid .title p{margin-bottom:34px;color:#666;}
.notice_grid .pic_lt .lt_wrap{padding:22px 0;}
.notice_grid .pic_lt .lt_wrap .lt_text_con{width:100%;}
.notice_grid .pic_lt .lt_more{margin-top:20px;}
.notice_quick{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap;}
.notice_quick a{flex:1 1 0;min-width:140px;display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 12px;background:#fff;border:1px solid #dde3ea;border-radius:8px;font-size:1.5rem;color:#1a2a4a;font-weight:500;transition:.2s;white-space:nowrap;}
.notice_quick a i{color:#0072BC;font-size:1.6rem;}
.notice_quick a:hover{background:#0072BC;border-color:#0072BC;color:#fff;}
.notice_quick a:hover i{color:#fff;}
@media all and (max-width: 1024px){
	.notice_grid{flex-direction:column;gap:50px;}
	.notice_grid .notice_col{width:100%;}
	.notice_grid .title{text-align:center;}
	.notice_grid .title p{margin-bottom:24px;}
	.notice_quick a{flex-basis:calc(50% - 5px);}
}
/* 메인 실시간 주가 요약 카드 */
.stock_card{background:#fff;border:1px solid #e1e8ef;border-radius:14px;padding:26px 28px 22px;box-shadow:0 8px 24px rgba(2,6,23,.05);}
.stock_card .sc_head{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;padding-bottom:14px;border-bottom:1px solid #eef1f4;}
.stock_card .sc_name strong{display:block;font-size:2.0rem;font-weight:700;color:#1a2a4a;}
.stock_card .sc_name span{font-size:1.3rem;color:#8a93a0;letter-spacing:.04em;}
.stock_card .sc_time{font-size:1.2rem;color:#8a93a0;white-space:nowrap;}
.stock_card .sc_price{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px;margin:18px 0 6px;}
.stock_card .sc_price em{font-style:normal;font-size:4.2rem;font-weight:800;color:#1a2a4a;letter-spacing:-.02em;line-height:1;}
.stock_card .sc_price small{font-size:1.5rem;color:#666;}
.stock_card .sc_chg{font-size:1.6rem;font-weight:700;padding:4px 10px;border-radius:6px;background:#f4f6f8;color:#555;}
.stock_card.is-up .sc_price em,.stock_card.is-up .sc_chg{color:#d62828;} .stock_card.is-up .sc_chg{background:#fdeeee;}
.stock_card.is-down .sc_price em,.stock_card.is-down .sc_chg{color:#0056d6;} .stock_card.is-down .sc_chg{background:#eaf1fd;}
.stock_card .msc_spark{display:block;width:100%;height:80px;margin:6px 0 14px;}
.stock_card .sc_stats{list-style:none;margin:0;padding:12px 0 0;border-top:1px solid #eef1f4;display:grid;grid-template-columns:repeat(3,1fr);gap:10px 16px;}
.stock_card .sc_stats li{display:flex;flex-direction:column;gap:2px;}
.stock_card .sc_stats span{font-size:1.2rem;color:#8a93a0;}
.stock_card .sc_stats b{font-size:1.5rem;color:#1a2a4a;font-weight:600;}
.stock_card .sc_empty{padding:36px 0;text-align:center;font-size:1.5rem;color:#8a93a0;line-height:1.7;}
.stock_card .sc_btns{display:flex;gap:10px;margin-top:20px;}
.stock_card .sc_btn{flex:1;display:flex;align-items:center;justify-content:center;padding:13px 10px;border-radius:8px;border:1px solid #dde3ea;font-size:1.4rem;color:#1a2a4a;font-weight:500;transition:.2s;white-space:nowrap;text-decoration:none;}
.stock_card .sc_btn:hover,.stock_card .sc_btn:focus{text-decoration:none;}
.stock_card .sc_btn.primary{background:#0072BC;border-color:#0072BC;color:#fff;}
.stock_card .sc_btn:hover{background:#1a2a4a;border-color:#1a2a4a;color:#fff;}
.stock_card .sc_note{margin:12px 0 0;font-size:1.1rem;color:#aab2bd;text-align:center;}
@media all and (max-width: 600px){
	.stock_card{padding:20px 18px 18px;}
	.stock_card .sc_price em{font-size:3.4rem;}
	.stock_card .sc_stats{grid-template-columns:repeat(2,1fr);}
	.stock_card .sc_btns{flex-direction:column;}
}
.notice_warp .title{text-align: center;}
.notice_warp .title h2{margin-bottom: 60px;}
@media all and (max-width: 768px) {
	.pic_lt .lt_wrap{margin-bottom: 15px; padding: 20px 20px 10px 20px;}
	.pic_lt .lt_wrap .lt_img{display: none;}
	.pic_lt .lt_wrap .lt_text_top{flex-direction: column-reverse;}
	.pic_lt .lt_wrap .lt_text_top .lt_info{flex-direction: row-reverse; min-width: initial; width: 100%; margin-right: 0px; justify-content: flex-end; margin-top: 10px;}
	.pic_lt .lt_wrap .lt_text_top .lt_info .lt_day{font-size: 1.8rem; font-weight: normal; margin-left: 3px;}
}

/* 하단 */
#ft{background: #333;padding: 40px 0px; width: 100%;}
.foot_logo{display: block; text-align: center;margin-bottom: 20px; padding-bottom: 30px; border-bottom: 1px solid #8e8e8e;}
.foot_logo img{width: 150px; max-width: 100%; height: auto;}
.foot_info span{font-size: 1.4rem; color: #ddd; margin: 0px 10px; line-height: 170%;}
#ft .copyright{margin-top: 30px; color: #ccc;}
#ft .copyright span{font-size: 1.4rem;}
#ft .foot_service{margin-top: 20px;}
#ft .foot_service a {font-size: 1.4rem; color: #9e9e9e;}
#ft .foot_service a:first-child{margin-right: 10px;}
@media all and (max-width: 768px) {
	.foot_info{display: flex; flex-direction: column;}
	.foot_info span{margin: 0px; line-height: 140%;}
}

/* sub_visual */
.sub_visual{width: 100%;height: 400px;background-repeat: no-repeat !important;background-size: cover !important;background-position: center top !important; display: flex; flex-direction: column; align-items: center; justify-content: center;}
.sub_visual .sub_top_text{text-align: center; color: #fff; padding-top: 100px;}
.sub_visual .sub_top_text h3{font-size: 4.0rem; position: relative; font-weight: 600;}
.sub_visual .sub_top_text p{font-size: 2.0rem;font-weight: 800;}
@media all and (max-width: 1024px) {
	.sub_visual{height: 250px;}
	.sub_visual .sub_top_text{padding-top: 70px;}
}

/* lnb */
.lnb_wrap{position: relative;}
.lnb{background: #fff; border-bottom: 1px solid #ddd;}
.lnb .lnb_map{height: 60px; display: flex; align-items: center; border-left: 1px solid #f1f1f1;}
.lnb .lnb_map .home{width: 60px; height: 100%;background: #fff;display: flex;justify-content: center;align-items: center;}
.lnb .lnb_map .home a{color: #333;}
.lnb .lnb_map .home i{font-size: 20px;}
.lnb .lnb_map > li{width: 250px; height: 100%;border-right: 1px solid #f1f1f1; padding: 0px 15px;position: relative;}
.lnb .lnb_map li.dep a{width: 100%; height: 100%;display: flex;align-items: center; font-size: 14px;}
.lnb .lnb_map li.dep a span{width: 100%;display: flex; justify-content: space-between;align-items: center; font-size: 1.7rem; color: #333;}
.lnb .lnb_map li.dep a span i{font-size: 16px;}
.lnb .lnb_map li.dep ul{display: none;position: absolute;left: 0; top: 61px;width: 100%;z-index: 10;}
.lnb .lnb_map li.dep ul li{width: 100%; background: #f9f9f9; border-bottom: 1px solid #fff;}
.lnb .lnb_map li.dep ul li a{padding: 15px 15px;font-size: 1.6rem;}
.lnb .lnb_map li.dep ul li a:hover{background: #364F6B; color: #fff;transition: 0.3s all;}
.lnb .lnb_map li.dep ul li a.on{background: #f1f1f1;}

@media screen and (max-width:1400px) {
  .lnb .lnb_map{width: 100% !important;}
}
@media screen and (max-width:900px){
  .lnb .lnb_map{height: 55px;}
  .lnb .lnb_map .home i{font-size: 16px;}
  .lnb .lnb_map li.dep ul{top: 56px;}
}
@media screen and (max-width:600px){
  .lnb .lnb_map{height: 50px;}
  .lnb .lnb_map .home{width: 12%;}
  .lnb .lnb_map li{width: 44%;}
  .lnb .lnb_map li:last-child{width: 44%;}
  .lnb .lnb_map li.dep ul{top: 51px;}
  .lnb .lnb_map li.dep a{font-size: 12.5px;}
  .lnb .lnb_map li.dep ul li a{font-size: 12.5px;}
}

/* 인사말 */

.greeting_wrap{display: flex; align-items: flex-start; justify-content: space-between;}
.greeting_wrap .greeting_text{width: 52%;}
.greeting_wrap .greeting_text h2{color: #364F6B; font-weight: 500; font-size: 2.6rem; margin-bottom: 40px;}
.greeting_wrap .greeting_text p{font-size: 1.6rem; color: #333; line-height: 130%;}
.greeting_wrap .greeting_text p:last-child{margin-top: 20px;}
.greeting_wrap .greeting_img{width: 42%;}
.greeting_wrap .greeting_img img{width: 100%;}

.greeting_info{margin-top: 100px; border-top: 3px solid #364F6B; display: flex; flex-wrap: wrap;}
.greeting_info li{width: 50%; display: flex; min-height: 60px; border-bottom: 1px solid #eee;}
.greeting_info li:last-child{width: 100%;}
.greeting_info li p{min-width: 180px; background: #f9f9f9; display: flex; align-items: center; justify-content: center; font-size: 1.8rem;}
.greeting_info li span{width: 100%; padding-left: 15px; display: flex; align-items: center; font-size: 1.8rem; color: #333;}
@media screen and (max-width:1024px) {
  .greeting_wrap .greeting_text h2{margin-bottom: 30px;}
}
@media screen and (max-width:950px) {
  .greeting_wrap{flex-direction: column;}
	.greeting_wrap .greeting_text{width: 100%; margin-bottom: 50px;}
	.greeting_wrap .greeting_text p:last-child{margin-top: 15px;}
	.greeting_wrap .greeting_img{width: 100%;}
}
@media screen and (max-width:768px) {
	.greeting_info{margin-top: 60px;}
	.greeting_info li p{min-width: 140px;}
	.greeting_info li{width: 100%;}
}

/* 연혁 */

.history_circle{width: 120px; height: 120px; background: #222;border-radius: 50%;color: #fff; display: flex; align-items: center; justify-content: center; margin: 0 auto; margin-bottom: 80px;}
.history_circle p{text-align: center; font-size: 1.8rem;}
.history_wrap{position: relative;}
.history_wrap .history_line{position: absolute; width: 1px; height: 100%; background: #ccc; left: 0; right: 0; margin: 0 auto;}
.history_left{ width: 50%; text-align: right; position: relative; padding-right: 50px; margin-bottom: 40px;}
.history_left img{ width: 100%; margin-top: 20px;}
.history_left h2{font-size: 2.2rem; margin-bottom: 15px; font-weight: 500;}
.history_left p{ font-size: 1.6rem; line-height: 130%;}
.history_right{width: 50%; margin: 0 0 0 auto; position: relative; padding-left: 50px; margin-bottom: 40px;}
.history_right img{ width: 100%; margin-top: 20px;}
.history_right h2{font-size: 2.2rem; margin-bottom: 15px; font-weight: 500;}
.history_right p{ font-size: 1.6rem; line-height: 130%;}
.history_left::after{content: ''; position: absolute; width: 16px; height: 16px; border-radius: 50%; background: #fff; border: 4px solid #364F6B; right: -8px; top: 0;}
.history_right::after{content: ''; position: absolute; width: 16px; height: 16px; border-radius: 50%; background: #fff; border: 4px solid #364F6B; left: -8px; top: 0;}
@media screen and (max-width:950px) {
	.history_circle{margin-bottom: 60px;}
}
@media screen and (max-width:850px) {
	.history_wrap .history_line{display: none;}
	.history_left{width: 100%; padding-left: 30px; padding-right: 0px;text-align: left;}
	.history_right{width: 100%; padding-left: 30px; padding-right: 0px;}
	.history_left::after{right: initial; left: -8px;}
	.history_box{padding-bottom: 30px; border-bottom: 1px dotted #ccc; margin-bottom: 30px;}
	.history_box:last-child{border-bottom: 0px;}
	.history_box::after{left: 0px; }
}

/* 오시는 길 */

.map_wrap{width: 100%; position: relative;}
.root_daum_roughmap{width: 100% !important; height: 100%;}
.root_daum_roughmap .wrap_controllers{display: none;}
.map_wrap .map_company{position: absolute; z-index: 3; right: 0; bottom: -70px; background: #f9f9f9; padding: 30px 40px;}
.map_wrap .map_company h2{padding-bottom: 20px; border-bottom: 1px solid #ccc;}
.map_wrap .map_company h2 img{width: 170px; }
.map_wrap .map_company ul{display: flex; margin-top: 20px;}
.map_wrap .map_company ul li{display: flex; align-items: center; font-size: 2.0rem;}
.map_wrap .map_company ul li:first-child{margin-right: 50px;}
.map_wrap .map_company ul li .feather{margin-right: 10px;}
/* 맵버튼 */
.map_btn{margin-top: 160px; text-align: center; display: flex; justify-content: center;}
.map_btn a{display: flex; align-items: center; justify-content: center; width: 250px; height: 55px; font-size: 2.0rem; color: #fff;}
.map_btn a > i{font-size: 30px; margin-right: 10px;}
.map_btn a:first-child{border: 1px solid #00c63b; background:#00c63b; margin-right: 15px;}
.map_btn a:last-child{border: 1px solid #f9e200; background: #f9e200; color: #3d1d1c;}
/* 교통 */
.visit_wrap{margin-top: 100px;}
.visit_wrap .visit_box{display: flex;justify-content: space-between; align-items: flex-start; padding-bottom: 40px; border-bottom: 1px solid #ccc; margin-bottom: 40px;}
.visit_wrap .visit_box:last-of-type{margin-bottom: 0px; padding-bottom: 0px; border-bottom: 0px;}
.visit_wrap .visit_box h3{display: flex; align-items: center; font-size: 2.8rem; width: 30%;}
.visit_wrap .visit_box h3 i{width: 40px; height: 40px; border-radius: 7px; background: #525e75; color: #fff; text-align: center; line-height: 40px; position: relative; z-index: 2; margin-right: 15px;}
.visit_wrap .visit_box ul{width: 70%;}
.visit_wrap .visit_box ul li{font-size: 1.8rem; line-height: 130%; margin-top: 20px;}
.visit_wrap .visit_box ul li:first-of-type{margin-top: 0px;}
.visit_wrap .visit_box ul li span{display: inline-block; width: 60px; height: 30px; line-height: 30px;text-align: center; background:#525e75; color: #fff; border-radius: 3px; margin-right: 10px; font-size: 14px;}
.visit_wrap .visit_box ul li span.bus1{background: #BDD2B6;}
.visit_wrap .visit_box ul li span.bus2{background: #A2B29F;}
.visit_wrap .visit_box ul li span.bus3{background: #798777;}
.visit_wrap .visit_box ul li span.way1{background: #FFD36E;}
.visit_wrap .visit_box ul li span.way2{background: #4C657E;}
.visit_wrap .visit_box ul li span.way3{background: #F29696;}
.visit_wrap .visit_box ul li span.way4{background: #B7C4CF;}
@media all and (max-width: 1024px) {

}
@media all and (max-width: 850px) {
	.map_wrap .map_company{position: relative; bottom: initial;}
	.map_btn{margin-top: 10px;}
	.visit_wrap .visit_box{flex-direction: column;}
	.visit_wrap .visit_box h3{width: 100%; margin-bottom: 20px;}
	.visit_wrap .visit_box ul li{margin-top: 12px;}
	.visit_wrap .visit_box ul{width: 100%; padding-left: 55px;}
}
@media all and (max-width: 768px) {
	.map_wrap .map_company ul{flex-direction: column;}
	.map_wrap .map_company ul li:first-child{margin-right: 0px; margin-bottom: 20px;}
	.map_btn a{width: 50%;}
	.map_btn a:first-child{margin-right: 10px;}
}

/* 사업영역 01 */

.process_area{background: #f9f9f9;}
.process_wrap {display: flex; justify-content: space-around;}
.process_wrap .process_box{width: 23%; background: #fff; padding: 40px 0px; text-align: center;}
.process_wrap .process_box h2{ font-size: 40px; width: 110px; height: 110px; border-radius: 50%; background:  #eee; line-height: 110px; margin: 0 auto; color: #333;}
.process_wrap .process_box p{font-size: 2.2rem; font-weight: 500; margin-top: 30px; padding-bottom: 15px; margin-bottom: 17px; position: relative; text-align: center;}
.process_wrap .process_box p::after{content: ''; width: 40px; height: 2px; background: #ccc; position: absolute; bottom: 0; left: 0; right: 0; margin: 0 auto;}
.process_wrap .process_box span{font-size: 1.6rem; color: #333; text-align: center; line-height: 120%; padding: 0px 10px; display: inline-block;}

.service_area01 .service_wrap{margin-top: 80px; display: flex; flex-wrap: wrap;  gap: 60px 2%;}
.service_area01 .service_box{width: 32%; box-shadow: 0px 1px 4px rgba(0,0,0,0.2); position: relative; background: #fff;}
.service_area01 .service_box .service_img{position: relative;}
.service_area01 .service_box .service_img img{width: 100%;}
.service_area01 .service_box .service_title{background: #fff; position: absolute; width: 80%; margin: 0 auto; padding: 20px 0 0 0; text-align: center; bottom: 0px; left: 0; right: 0;}
.service_area01 .service_box .service_title span{ font-family: 'Montserrat'; color:#364F6B; font-size: 1.4rem; font-weight: 500; margin-bottom: 5px; display: inline-block;}
.service_area01 .service_box .service_title h2{font-size: 2.0rem; position: relative; padding-bottom: 20px; font-weight: 500;}
.service_area01 .service_box .service_title h2::after{content: ""; position: absolute; width: 30px; height: 2px; background: #666; bottom: -3px; left: 0; right: 0; margin: 0 auto;}
.service_area01 .service_box .service_text{padding: 30px 20px 25px 20px;}
.service_area01 .service_box .service_text p{display: flex; font-size: 1.6rem; line-height: 120%; margin-bottom: 15px;}
.service_area01 .service_box .service_text p:last-child{margin-bottom: 0px;}
.service_area01 .service_box .service_text span{margin-right: 10px;}

@media all and (max-width: 1024px) {
	.process_wrap{flex-wrap: wrap;}
	.process_wrap .process_box{width: 49%; margin: 0.5%;}
	.service_area01 .service_box{width: 49%;}
	.service_area01 .service_wrap{margin-top: 60px;}
}
@media all and (max-width: 650px) {
	.process_wrap .process_box{width: 100%;}
	.service_area01 .service_box{width: 100%;}
	.service_area01 .service_box .service_text{padding: 30px 20px 40px 20px;}
}


/* 사업영역 02 */

.business_area02{padding-bottom: 0px;}
.business_area02 .business_img{margin-top: 60px; border-radius: 30px 0px 30px 0px; overflow: hidden;}
.business_area02 .business_img img{width: 100%;}
.service_area02 .titleL{margin-bottom: 80px;}
.service_area02 .service_box{display: flex; justify-content: space-between; align-items: center; margin-bottom: 60px;}
.service_area02 .service_box:last-child{margin-bottom: 0px;}
.service_area02 .service_box .service_img{width: 45%;}
.service_area02 .service_box .service_img img{width: 100%;}
.service_area02 .service_box .service_text{width: 50%;}
.service_area02 .service_box .service_text span{ font-family: 'Montserrat'; color: #364F6B; font-size: 1.4rem; font-weight: 500; margin-bottom: 5px; display: inline-block;}
.service_area02 .service_box .service_text h3{font-size: 4.0rem; color: #ccc; font-weight: 900; margin-bottom: 20px;}
.service_area02 .service_box .service_text h2{font-size: 2.6rem; position: relative; padding-bottom:30px; font-weight: 500;}
.service_area02 .service_box .service_text p{font-size: 1.6rem; color: #333; line-height: 120%; margin-bottom: 15px;}
.service_area02 .service_box .service_text p:last-child{margin-bottom: 0px;}
@media all and (max-width: 1024px) {
	.service_area02 .titleL{margin-bottom: 50px;}
}
@media all and (max-width: 950px) {
	.service_area02 .service_box{flex-direction: column; padding-bottom: 30px; margin-bottom: 35px; border-bottom: 1px dotted #ccc;}
	.service_area02 .service_box:last-child{margin-bottom: 0px; padding-bottom: 0px; border-bottom: 0px;}
	.service_area02 .service_box .service_text{width: 100%; margin-top: 30px;}
	.service_area02 .service_box .service_img{width: 100%;}
	.service_area02 .service_box .service_text h3{margin-bottom: 5px;}
}


/* 사업영역 03 */

.business_area03 .titleS i{font-size: 15px; color: #364F6B; margin-right: 15px;}
.business_area03 .busih3{font-size: 2.6rem; color:  #364F6B; font-weight: 400; margin-top: 15px; margin-bottom: 25px;}
.business_area03 .busip{font-size: 1.6rem; margin-bottom: 30px; color: #333; line-height: 120%;}
.business_area03 .business_img{margin-bottom: 50px;}
.business_area03 .business_img img{width: 100%;}
.business_area03 .business_box{display: flex; justify-content: space-between; margin-bottom: 80px;}
.business_area03 .business_box:last-child{margin-bottom: 0px;}
.business_area03 .business_box .business_title{width: 30%;}
.business_area03 .business_box .business_title h3{font-size: 2.2rem; display: flex; align-items: center;}
.business_area03 .business_box .business_title h3 > i{font-size: 15px; color: #364F6B; margin-right: 15px;}
.business_area03 .business_box .business_text{width: 70%;}
.business_area03 .business_box .business_text p{font-size: 1.6rem; color: #333; line-height: 120%; margin-bottom: 20px;}
.business_area03 .business_box .business_text p:last-child{margin-bottom: 0px;}
@media all and (max-width: 768px) {
	.business_area03 .business_box{margin-bottom: 60px; flex-direction: column;}
	.business_area03 .business_box .business_title{width: 100%; margin-bottom: 20px;}
	.business_area03 .business_box .business_text{width: 100%; padding-left: 30px;}
}

.root_daum_roughmap .cont .section{display: none;}

/* 페이지 네비, 게시판 등 */
/* .bo_cate_link{border-radius: 30px;}
.bo_v_topcon .bo_v_cate{border-radius: 30px;} */
#bo_gall .is_notice{border-radius: 30px;}
.quick_banner{z-index: 99; right: 20px; bottom: 20px; position: fixed;animation: quickBounce .8s infinite alternate;}
@keyframes quickBounce {
    from {
      transform: translateY(0px);
    }
    to {
      transform: translateY(-15px);
    }
  }

@keyframes quickBounce2 {
	0%,
	80%,
	100% {
		-webkit-transform: scale(0);
		transform: scale(0);
	}

	40% {
		-webkit-transform: scale(1.0);
		transform: scale(1.0);
	}
}

#top_btn{width: 45px; height: 45px;border: none; background: #fff; border-radius: 50%;box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.2); transition: 0.3s all;}
#top_btn span{font-size: 14px; font-weight: bold;}
#top_btn:hover{background: #eee; color: #000;}

.floating_menu { width: 45px; height: 45px; border-radius: 50%; background: #07a28c; position: fixed; bottom: 52px; z-index: 99; }
.floating_menu input { position: absolute; width: 45px; height: 45px; margin: 0; opacity: 0; cursor: pointer; }
.floating_menu input:checked ~ .floating_plus { transform: rotate(135deg); }
.floating_menu input:checked ~ .floating_nav li:nth-child(1) { transform: translatey(-52px); opacity: 1; }
.floating_menu input:checked ~ .floating_nav li:nth-child(2) { transform: translatey(-104px); opacity: 1; }
.floating_menu input:checked ~ .floating_nav li:nth-child(3) { transform: translatey(-156px); opacity: 1; }
.floating_menu input:checked ~ .floating_nav li:nth-child(4) { transform: translatey(-208px); opacity: 1; }
.floating_menu input ~ .floating_plus { transform: rotate(0); }
.floating_menu > .floating_plus { display: flex; justify-content: center; align-items: center; width: 45px; height: 45px; font-size: 20px; color: #FFFFFF; background:#07a28c; border-radius: 50%; transform: rotate(0); transition: all 0.5s ease; pointer-events: none; box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.2); }
.floating_menu > .floating_plus i { line-height: normal !important; }
.floating_menu > .floating_nav { display: flex; justify-content: center; align-items: center; padding: 0; margin: 0; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: -1; }
.floating_nav li { display: flex; justify-content: center; align-items: center; width: 45px; height: 45px; border-radius: 50%; background: #fff; cursor: pointer; position: absolute; transition: all 0.5s ease; box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, 0.2); opacity: 0; }
.floating_menu > .floating_nav li a i { font-size: 20px; color: #222; }
.floating_menu > .floating_nav li a i.xi-kakaotalk { font-size: 28px; margin-top: 3px; }

.pg_wrap{margin-top: 60px; display: flex; justify-content: center; width: 100%;}
.pg_wrap .pg{display: flex;}
.pg_page{width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; margin: 0 2px; background-color: none; border: 1px solid #ccc;}
.pg_current{border: 1px solid #8e8e8e; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; margin: 0 2px; background: none;}

@media all and (max-width: 1400px) {
	html{font-size: 55% !important;}
}
/* 갤러리 */
@media all and (max-width: 1024px) {
	.gall_row .col-gn-4{width: 33.33333%;}
	.gall_row .col-gn-5{width: 25%;}
}

@media all and (max-width: 850px) {
	.gall_row .col-gn-4, .gall_row .col-gn-3, .gall_row .col-gn-5{width: 50%;}
	#bo_cate li{width: 25%; margin-bottom: 10px;}
	#bo_cate ul{flex-wrap: wrap;}
}

@media all and (max-width: 600px) {
	.gall_row .col-gn-4, .gall_row .col-gn-3, .gall_row .col-gn-5, .gall_row .col-gn-2{width: 100%;}
}

/* 리스트 */
@media all and (max-width: 850px) {
	.prdt_list .prdt_top th.psize, .prdt_list .prdt_table .psize{display: none;}
	.prdt_list .prdt_top th.pcolor, .prdt_list .prdt_table .pcolor{display: none;}
}

@media all and (max-width: 650px) {
	.prdt_list .prdt_top th.num{min-width: 60px;}
	.prdt_list .prdt_top th.pintro, .prdt_list .prdt_table .pintro{display: none;}
	.prdt_list .prdt_top th.pname{width: 100%;}
	.prdt_list .prdt_table .pname{text-align: center;}
}

/* 애니메이션 */



/*  */




.main_visual {
  position: relative;
}
.main_visual .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.5); /* 원하는 투명도 */
}

/* 메인 슬라이드 MP4 영상 배경 (index.php 2번 슬라이드)
   - 이미지 슬라이드는 img width:100% 로 높이가 정해지지만, video 는 슬라이드 높이가
     확정되지 않으면 0 으로 접히므로 .Hfull 과 동일한 기준(100vh, 최대 1000px)으로 높이를 고정하고
     object-fit:cover 로 화면을 꽉 채웁니다. */
.main_visual.video_visual{position:relative;width:100%;height:100vh;max-height:1000px;overflow:hidden;background:#05070d;}
.main_visual.video_visual video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;display:block;}
.main_visual.video_visual .overlay{background:rgba(0,0,0,0.35);}
@media all and (max-width: 1024px){
	/* 실제 높이는 js/main.js 의 syncVideoSlideHeight() 가 1번 이미지 슬라이드 높이에 맞춰 덮어씁니다 (여기는 폴백) */
	.main_visual.video_visual{height:100vh;max-height:none;min-height:360px;}
}

/* 영상 슬라이드 문구 정렬 (원본 배너 구도대로 좌/우 정렬) + 상단 작은 영문 카피(mainT0) */
.maintext_box .mainT0{font-size:1.9rem;font-weight:400;color:#fff;letter-spacing:.06em;margin-bottom:22px;text-align:center;opacity:.9;}
.maintext_box.slide_left{align-items:flex-start;}
.maintext_box.slide_left h2,.maintext_box.slide_left h3,.maintext_box.slide_left .mainT0{text-align:left;}
.maintext_box.slide_left h2::after{right:auto;margin:0;}
.maintext_box.slide_right{align-items:flex-end;}
.maintext_box.slide_right h2,.maintext_box.slide_right h3,.maintext_box.slide_right .mainT0{text-align:right;}
.maintext_box.slide_right h2::after{left:auto;margin:0;}
.maintext_box h3 strong{font-weight:700;color:#fff;}
/* 밝은 배경 영상(CLARO) 슬라이드 : 문구를 진한 색으로, 오버레이 제거 */
.light_slide .main_visual.video_visual .overlay{background:transparent;}
.light_slide .maintext_box h2,.light_slide .maintext_box h3,.light_slide .maintext_box .mainT0,.light_slide .maintext_box h3 strong{color:#1a2a4a;}
.light_slide .maintext_box h2::after{background:#1a2a4a;}
@media all and (max-width: 1024px){
	.maintext_box .mainT0{font-size:1.5rem;margin-bottom:12px;}
	.maintext_box.slide_left,.maintext_box.slide_right{align-items:center;}
	.maintext_box.slide_left h2,.maintext_box.slide_left h3,.maintext_box.slide_left .mainT0,
	.maintext_box.slide_right h2,.maintext_box.slide_right h3,.maintext_box.slide_right .mainT0{text-align:center;}
	.maintext_box.slide_left h2::after,.maintext_box.slide_right h2::after{left:0;right:0;margin:0 auto;}
}



/* 모바일/태블릿 : 이미지 슬라이드를 화면 높이에 꽉 차게
   - 태블릿(769~1024px, class=tab 가로형 이미지): object-position 으로 제품이 잘리지 않게 크롭
   - 모바일(768px 이하, class=mob 세로형 p_visualNN_m.jpg): 중앙 기준으로 꽉 채움 */
@media all and (max-width: 1024px){
	.swiper_visual .swiper-slide .main_visual{height:100vh;height:100svh;max-height:900px;overflow:hidden;}
	.swiper_visual .swiper-slide .main_visual img{width:100%;height:100%;object-fit:cover;object-position:62% 50%;}
	.swiper_visual .swiper-slide.light_slide .main_visual img{object-position:38% 50%;}
}
@media all and (max-width: 768px){
	.swiper_visual .swiper-slide .main_visual img,
	.swiper_visual .swiper-slide.light_slide .main_visual img{object-position:center;}
}

/* 모바일 : 슬라이드 배경 이미지 위 어두운 레이어(텍스트 가독성 확보)
   - .main_visual::after 로 처리 (index.php 수정 불필요, 텍스트(.maintext_box, z-index:5)보다 아래에 깔림)
   - 밝은 배경의 CLARO(light_slide) 슬라이드는 글자가 진한 남색이라 어두운 막 대신 흰색 막을 얹음 */
@media all and (max-width: 768px){
	.swiper_visual .swiper-slide .main_visual::after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.45);z-index:1;}
	.swiper_visual .swiper-slide.light_slide .main_visual::after{background:rgba(255,255,255,0.45);}
}

/* 모바일 : 슬라이드 부제목(h3) 크기 축소 */
@media all and (max-width: 768px){
	.maintext_box h3{font-size:1.9rem;line-height:150%;}
}

/* 슬라이드 문구 : 한글 단어 단위 줄바꿈 */
.maintext_box h2,
.maintext_box h3,
.maintext_box .mainT0{word-break:keep-all;overflow-wrap:break-word;}

/* 반응형 줄바꿈 :
   <br class="mobile_br"> → 모바일(768px 이하)에서만 줄바꿈
   <br class="pc_br">     → PC(769px 이상)에서만 줄바꿈 (필요 시 사용)
   ※ 기존 규칙 중 ".maintext_box h3 br{display:none}" 이 모바일에서 h3 안의 모든 br을
     숨기고 있어, mobile_br 은 그보다 우선순위 높게 다시 표시하도록 처리했습니다. */
br.mobile_br{display:none;}
@media all and (max-width: 768px){
	br.mobile_br,
	.maintext_box h2 br.mobile_br,
	.maintext_box h3 br.mobile_br{display:block !important;}
	br.pc_br{display:none;}
}

/* 모든 페이지 : 단어 단위 줄바꿈 (한글이 단어 중간에서 끊기지 않게)
   ※ 그누보드 기본 default.css 에 p{word-break:break-all}, .tbl_head01 td{word-break:break-all} 등이
     있어 상속만으로는 안 먹힘 → 전 요소에 !important 로 강제 적용.
     (keep-all 은 한글에만 작동, 긴 영문/URL 은 overflow-wrap 이 넘칠 때만 끊어줌) */
body, body *{word-break:keep-all !important;overflow-wrap:break-word;}

/* NOTICE 타이틀 옆 더보기(+) 아이콘, 목록 하단 More 버튼은 숨김 */
.notice_grid .title h2 .title_more{display:inline-block;margin-left:10px;vertical-align:middle;font-size:2.4rem;line-height:1;color:#0072BC;transition:.25s;}
.notice_grid .title h2 .title_more:hover{color:#1a2a4a;transform:rotate(90deg);}
.notice_grid .lt_more{display:none !important;}

/* 모바일 : 공지사항 카드 안쪽 여백 */
@media all and (max-width: 768px){
	.notice_grid .pic_lt .lt_wrap{padding:22px 20px 16px;}
}
