@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;}
.main_admin{position: fixed; z-index: 11; top:155px; right: 10px;}
.main_admin a{font-size: 14px; background: #fff; border-radius: 5px; margin-bottom: 5px; width: 80px; height: 30px; display: inline-block; text-align: center; line-height: 30px; font-weight: 500;}
/* 공통 */
select:focus {outline: none;}
.width{width: 92% !important; max-width: 1540px; margin: 0 auto; position: relative;}
.width2{width: 92% !important; max-width: 1260px; margin: 0 auto; position: relative;}
.common{padding: 160px 0px;}
:root{
	--color: #8BC53F;
	--color2: #187945;
	--bar: 1px solid #E5E5EC;

	--fs42: 4.2rem;
	--fs38: 3.8rem;
	--fs32: 3.2rem;
	--fs28: 2.8rem;
	--fs24: 2.4rem;
	--fs22: 2.2rem;
	--fs20: 2.0rem;
	--fs18: 1.8rem;
	--fs14: 1.4rem;
}
.board_title{margin-bottom: 80px; text-align: center;}
.board_title h2{font-size: var(--fs32); font-weight: 500;}
.board_title p{margin-top: 10px; font-size: var(--fs20);}

@media all and (max-width: 1024px) {
	.common{padding: 60px 0px;}
	.board_title{margin-bottom: 60px;}
}

#ctt{max-width: 1100px; margin: 0 auto; }
#ctt #ctt_con{padding: 20px; border: 1px solid #e1e1e1;}

#header{width: 100%;position: fixed;top: 0;z-index: 999; transition: 0.3s all; background: #fff;}
#header .head_login_wrap{display: flex; align-items: center;}
#header .head_login{display: flex;justify-content: flex-end;padding: 7px 10px; border: 1px solid #333; border-radius: 30px; margin-right: 25px;}
#header .head_login li{margin:0px 5px;}
#header .head_login a{font-size: 1.2rem; color: #333; white-space: nowrap; font-weight: 400;}
#header .head_login i{font-size: 20px;}
#header .head_menu .logo {position: relative; text-align: center;}
/* #header.scroll{top:-36px;} */

#header .head_menu{display: flex;justify-content:center;align-items: center;width: 100%; height: 90px;}
#header .bot_menu .main_menu { width: 100%; display: flex; justify-content: space-between; align-items: center; text-align: center; height: 100%; z-index: 9; position: relative; }
#header .bot_menu .main_menu .dept1 { width: 170px; position: relative; padding: 18px 0px;}
#header .main_menu .dept1 > a { font-size: 1.7rem; font-weight: 500; }
#header .main_menu .dept1 > a.active { font-weight: 700; }
#header .main_menu .dept1 > a.menuon { font-weight: 700; }

#header .sub_menu { position: absolute; top: 100%; left: 50%; transform: translateX(-50%); width: 200px; padding-top: 6px; display: none; padding-bottom: 0px; z-index: 99;  }
#header .main_menu .dept2 { padding: 13px 0px; background: #fff; }
#header .main_menu .dept2 a { font-size: 1.6rem; display: block; font-weight: 400;}
#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: var(--color); font-weight: bold;}
#header .head_menu .logo .on{display: none;}
.header_width{width: 92%; margin:  0 auto; max-width: 1700px;}
#header.active{background: #fff;}
#header.active .head_menu .logo .off{display: none;}
#header.active .head_menu .logo .on{display: block;}
#header.active .head_menu .main_menu .dept1 > a{color: #000;}
#header.active .head_menu .main_menu .dept1 > a.menuon{color: var(--color);;}
#header.active .head_menu .main_menu .dept1 > a:hover{color: var(--color);;}
#header .main_menu .dept2>a:focus { color: #364F6B;font-weight: bold;}
#header .menu_bg {background: #fff;width: 100%;height: 0;left: 0;top: 100%;           /* 추가: 헤더 바로 아래에 위치 */z-index: 8;          /* 변경: main_menu(9)보다 낮고, 서브메뉴 배경으로 작동 */position: absolute;border-top: 1px solid #E5E5EC;box-sizing: border-box;  /* 추가 */}

/* ── 풀스크린 오버레이 ── */
.menu_open { position: fixed; width: 100%; height: 100vh; background: #fff; top: 0; left: 0; z-index: 999; padding: 55px 50px 50px 50px; display: none; overflow-y: auto; }
.menu_open .site_map_wrap h2 { margin-bottom: 80px; display: flex; justify-content: space-between; align-items: center; }

/* ── 사이트맵 그리드 (4x2) ── */
.menu_open .site_map { display: grid; grid-template-columns: repeat(4, 1fr); gap: 50px 40px; width: 100%; max-width: 1400px; margin: 0 auto; }

/* ── 1depth ── */
.menu_open .site_map .dept1 { position: relative; }
.menu_open .site_map .dept1 > a { font-size: 2.2rem; font-weight: 600; color: #222; padding-bottom: 20px; border-bottom: 2px solid #e5e5e5; display: block; margin-bottom: 24px; transition: color 0.3s, border-color 0.3s; letter-spacing: -0.02em; }
.menu_open .site_map .dept1 > a:hover,
.menu_open .site_map .dept1 > a.active { color: #364F6B; border-bottom-color: #364F6B; }

/* ── 2depth ── */
.menu_open .site_map .dept2 a { font-size: 1.6rem; color: #666; position: relative; line-height: 1.4; margin-bottom: 18px; display: inline-block; padding-bottom: 2px; transition: color 0.3s; }
.menu_open .site_map .dept2 a:hover { color: #364F6B; }
.menu_open .site_map .dept2 a::after { content: ''; width: 0; height: 2px; background: #364F6B; position: absolute; bottom: 0; left: 0; transition: width 0.3s ease; }
.menu_open .site_map .dept2 a:hover::after { width: 100%; }

/* ── 푸터 ── */
.site_foot { padding-top: 20px; margin-top: 80px; border-top: 1px solid #e5e5e5; text-align: center; }

/* ── 반응형 ── */
@media (max-width: 1200px) {
	.menu_open .site_map { grid-template-columns: repeat(4, 1fr); gap: 40px 30px; }
	.menu_open .site_map .dept1 > a { font-size: 2.0rem; }
}
@media (max-width: 768px) {
	.menu_open { padding: 55px 24px 40px; }
	.menu_open .site_map { grid-template-columns: repeat(2, 1fr); gap: 36px 24px; }
	.menu_open .site_map .dept1 > a { font-size: 1.8rem; margin-bottom: 16px; padding-bottom: 14px; }
	.menu_open .site_map .dept2 a { font-size: 1.4rem; margin-bottom: 14px; }
}
	
	#header .menu_bar { z-index: 99; position: relative; }
	#header .menu_bar span { width: 22px; height: 2px; background: #555; 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}
	#header.is-hidden {
		transform: translateY(-100%); /* 헤더 전체 높이만큼 위로 */
	}

/* 모바일 */
.mobile_head {width: 100%; height: 60px; display: flex; justify-content: space-between; align-items: center; padding: 0px 15px; display: none; position: fixed; background:#fff; z-index: 99; box-shadow: 0px 1px 3px rgba(0,0,0,0.3); top: 0;}
.mobile_head .mobile_logo { width: 150px; }
.mobile_head .mobile_logo img { width: 100%; }
#mobile_menu {  display: none; position: fixed; top: 0; right: -75%; width: 75%; background: #fff; z-index: 1000; height: 100%; 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 20px;font-size: 18px; border-bottom: 1px solid #eeee; font-weight: 500;}
#mobile_menu .mob_menu .top_menu2 {display: flex;justify-content: space-between; align-items: center; padding: 20px 20px;font-size: 18px; border-bottom: 1px solid #eeee; font-weight: 500;}
.mobile_open{font-size: 24px;}
#mobile_menu .mob_menu .topmenu.on { color: #fff; }
#mobile_menu .mob_menu .sub_menu { padding: 15px 15px;  background: #f9f9f9; visibility: visible; }
#mobile_menu .mob_menu .sub_menu a {display: block; color: #333 ;font-size: 17px; padding: 10px; font-weight: 400;}
#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{margin-top: 90px; height: calc(94vh - 90px);}
.Hfull .swiper_visual{height: 100%;}
.Hfull .slide1{background: url('../img/visual01.png')no-repeat; background-size: cover; background-position: center;}
.Hfull .slide2{background: url('../img/visual02.png')no-repeat; background-size: cover; background-position: center;}


.pc{display: block !important;}
.mob{display: none !important;}

@media all and (max-width: 768px){
	.pc{display: none !important;}
	.mob{display: block !important;}
}






/* board warp */
.board_warp .latest_wrap{display: flex; justify-content: space-between;}
.latest_wrap .latest_top_wr{width: 48.5%;}
.latest_top_wr h2{font-size: var(--fs24); margin-bottom: 40px; font-weight: bold;}
.latest_top_wr h2 i{margin-right: 7px; font-weight: 300;}
.board_warp .main_btn{margin-top: 100px; display: flex; justify-content: space-between;}
.board_warp .main_btn a{width: 24%; display: flex; flex-direction: column; align-items: center; box-shadow: 0px 1px 3px rgba(0,0,0,0.2); padding: 40px 0px;}
.board_warp .main_btn a i{font-size: 5.0rem; width: 100px; height: 100px; background: #eee; color: #333; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-bottom: 20px;}
.board_warp .main_btn a span{font-size: var(--fs20);}
.board_warp .main_btn a:hover{-webkit-animation: slide-top 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
	        animation: slide-top 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;}
	@-webkit-keyframes slide-top {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
}
@keyframes slide-top {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
}
@media all and (max-width: 1300px){
	.pic_lt .lt_wrap .lt_text_top .lt_info{min-width: 80px; min-height: 80px;}
	.pic_lt .lt_wrap{padding: 12px;}
}
@media all and (max-width: 950px){
	.board_warp .latest_wrap{flex-direction: column;}
	.latest_wrap .latest_top_wr{width: 100%;}
	.latest_wrap .latest_top_wr:first-child{margin-bottom: 60px;}
}
@media all and (max-width: 768px){
	.board_warp .main_btn{flex-wrap: wrap; margin-top: 60px; gap:15px 0px;}
	.board_warp .main_btn a{width: 49%; padding: 25px 0px;}
}

/* 하단 */
#ft{background: #333;padding: 40px 0px; width: 100%;}


/* 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; position: relative; margin-top: 150px;}
.sub_visual .sub_top_text{text-align: center; color: #fff; }
.sub_visual .sub_top_text h3{font-size: 5.2rem; position: relative; font-weight: 600;}
@media all and (max-width: 1024px) {
	.sub_visual{height: 300px;}
}

/* lnb */
.lnb .lnb_map{display:flex;align-items:center;justify-content:center;border-radius:100px;background:rgba(0,0,0,.40);width:max-content;position:absolute;left:0;right:0;bottom:10%;margin:0 auto;padding:12px 40px 4px 40px;}
.lnb .lnb_map .home{height:100%;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{padding:0 4px;position:relative;}
.lnb .lnb_map li.dep{margin-bottom:6px;}
.lnb .lnb_map li.dep svg{margin-left:8px;}
.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.6rem;color:rgba(255,255,255,.7);}
.lnb .lnb_map li.dep2 a span{color:#fff;}
.lnb .lnb_map li.dep ul{;position:absolute;left:0;top:32px;width:140%;z-index:10;}
.lnb .lnb_map li.dep ul li{width:100%;background:rgba(0,0,0,.4);}
.lnb .lnb_map li.dep ul li a{padding:15px 15px;font-size:1.2rem; color: rgba(255,255,255,0.7); letter-spacing: -0.08em;}
/*.lnb .lnb_map li.dep ul li a:hover{background:#2DAAE1;color:#fff;transition:.3s all;}*/
.lnb .lnb_map li.dep ul li a.on{background:#f1f1f1;}















/* 퀵 메뉴 */
.quick {
    position: fixed;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 998;
    display: flex;
    flex-direction: column;
    background: #fff;
    border-radius: 16px 0 0 16px;
    box-shadow: -4px 0 20px rgba(0, 0, 0, 0.08);
    overflow: hidden;
}
.quick_item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 82px;
    padding: 14px 0 10px;
    text-decoration: none;
    transition: all 0.3s ease;
    position: relative;
}
.quick_item::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 50px;
    height: 1px;
    background: #eee;
}
.quick_item:last-child::after {
    display: none;
}
/* .quick_item:hover {
    background: var(--color);
} */
.quick_item:hover .quick_label {
    color: var(--color);
}
/* .quick_item:hover .quick_icon img {
    transform: scale(1.1);
} */
.quick_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    margin-bottom: 4px;
}
.quick_icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: all 0.3s ease;
}
.quick_label {
    font-size: 11px;
    color: #555;
    font-weight: 500;
    white-space: nowrap;
    letter-spacing: -0.03em;
    transition: all 0.3s ease;
}
.quick_label br {
    display: none;
}

@media all and (max-width: 1024px) {
    .quick {
        top: auto;
        bottom: 0;
        right: 0;
        left: 0;
        transform: none;
        flex-direction: row;
        border-radius: 0;
        box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.1);
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .quick_item {
        flex: 1;
        min-width: 0;
        padding: 8px 2px 1px 2px;
        justify-content: flex-start;;
    }
    .quick_item::after {
        display: block;
        width: 1px;
        height: 50%;
        top: 50%;
        left: auto;
        right: 0;
        bottom: auto;
        transform: translateY(-50%);
    }
    .quick_icon {
        width: 26px;
        height: 26px;
        margin-bottom: 2px;
    }
    .quick_label {
        font-size: 10px;
        white-space: normal;
        text-align: center;
        display: flex;
        align-items: center;
        justify-content: center;
        flex: 1;
    }
    .quick_label br {
        display: block;
    }
}

/* 페이지 네비, 게시판 등 */
/* .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: #2DAAE1; 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:#2DAAE1; 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 0px; background-color: none !important; border: none !important; font-size: 12px; color: #333;}
.pg_current{border: none; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; margin: 0 0px; background: none; color: #333; font-size: 12px;}

@media all and (max-width: 1400px) {
	html{font-size: 55% !important;}
	:root{
		--fs40: 3.4rem;
		--fs32: 2.8rem;
		--fs28: 2.4rem;
	}
}
/* 갤러리 */
@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;}
}

/* 애니메이션 */



/*  */
