@charset "utf-8";

.skip_snb_menu {display:none;}

/* =========================================================
   헤더
========================================================= */
#fs_header {position:fixed;top:0;left:0;width:100%;z-index:1000;background:#fff;border-bottom:1px solid #e1e1e1;}
#fs_header::before {content:'';position:absolute;top:93px;left:0;width:100%;height:280px;background:#fff;border-top:1px solid #e1e1e1;box-shadow:0 10px 10px rgba(0,0,0,0.05);opacity:0;visibility:hidden;transition:all 0.3s;z-index:990;}
#fs_header.menu-hover::before, #fs_header:has(.fs_top_menu .lnb:hover)::before {opacity:1;visibility:visible;}

.fs_head {display:flex;justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;height:93px;padding:0 20px;position:relative;background:#fff;z-index:1000;}
.fs_head .logo img {height:35px;}

.fs_top_menu {flex:1;display:flex;justify-content:center;height:100%;padding-left:40px;letter-spacing: -1px;}
.fs_top_menu .lnb {display:flex;height:100%;}
.fs_top_menu .lnb > li {position:relative;height:100%;width:130px;transition:all 0.3s;}
#fs_header.menu-hover .fs_top_menu .lnb > li, .fs_top_menu .lnb:hover > li {width:150px;}
.fs_top_menu .lnb > li > .lnb_title {display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:1rem;font-weight:600;color:#000;text-decoration:none;position:relative;z-index:1001;transition:all 0.3s;}

/* 대메뉴 오버시 효과 (공통) */
.fs_top_menu .lnb > li:hover {background:#f4f5f7;}
.fs_top_menu .lnb > li:hover > .lnb_title {color:#e60050;}
.fs_top_menu .lnb > li:hover .lnb_layer01 {background:#f4f5f7;border-top:2px solid #e60050;}

.fs_top_menu .lnb_layer01 {position:absolute;top:93px;left:0;width:100%;padding:25px 0;opacity:0;visibility:hidden;transition:all 0.3s;z-index:1000;text-align:center;height:280px;border-top:2px solid transparent;}
#fs_header.menu-hover .lnb_layer01, .fs_top_menu .lnb:hover .lnb_layer01 {opacity:1;visibility:visible;}
.fs_top_menu .lnb_layer01 > li > a {display:inline-block;padding:10px 0;font-size:0.8rem;font-weight:400;color:#666;text-decoration:none;position:relative;}

/* 2차메뉴 오버시 블릿 및 텍스트 컬러 변경 */
.fs_top_menu .lnb_layer01 > li > a:hover {color:#000;font-weight:700;}
.fs_top_menu .lnb_layer01 > li > a:hover::before {content:'';position:absolute;top:50%;left:-10px;transform:translateY(-50%);width:4px;height:4px;background:#e60050;}

/* 글로벌 영역 */
.global_box {display:flex;align-items:center;gap:10px;}
.global_box a {font-size:0.8rem;font-weight:600;color:#000;text-decoration:none;transition:color 0.3s;}
.global_box a:hover {color:#e7004c;}
.global_box .search_btn {display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:#393939;position:relative;margin-left:3px;transition:background 0.3s;}
.global_box .search_btn:hover {background:#e7004c;}
.global_box .search_btn::after {content:'';display:block;width:18px;height:18px;border:3px solid #fff;border-radius:50%;position:absolute;top:8px;left:9px;}
.global_box .search_btn::before {content:'';display:block;width:3px;height:16px;background:#fff;position:absolute;bottom:1px;right:8px;transform:rotate(-45deg);}

/* 모바일메뉴 버튼 영역 (데스크탑 숨김) */
.mbtn_box {display:none;}

/* =========================================================
   컨텐츠
========================================================= */
#fs_container_wrap {
	width: 100%;
	height: calc(100vh - 93px); /* 헤더 높이를 제외한 정확한 화면 높이로 계산 */
	margin-top: 93px; /* 헤더 높이만큼 여유 공간 확보 */
	overflow: hidden; /* 기본 스크롤바가 생기지 않도록 숨김 */
}
#fs_container_wrap > .swiper-wrapper > .swiper-slide {
	height: 100%; /* 각 슬라이드가 화면 높이에 꽉 차도록 설정 */
	box-sizing: border-box;
}
#fs_container_wrap > .swiper-wrapper > .swiper-slide:nth-child(3) {
	display: flex;
	flex-direction: column;
}

/* 메인 컨텐츠 영역1 */
.fs_main_contents1 {width:100%;height:100%;background:#f2f4f7;display:flex;align-items:center;justify-content:center;}
.fs_main_contents {width:clamp(0px,94%,1400px);margin:0 auto;display:flex;flex-direction:column;gap:35px;}

/* 상단 영역 */
.main1_top_row {display:flex;justify-content:space-between;gap:25px;height:341px;}

/* 좌측 슬라이더 임시구현 */
.main1_slider {width:824px;background:#fff;border-radius:15px;position:relative;overflow:hidden;color:#fff;box-shadow:10px 10px 30px rgba(0,0,0,0.08);transform:translateZ(0);}
.main1_slider .swiper-slide, .main1_slider .banner_link {display:block;width:100%;height:100%;}
.main1_slider .banner_link img {width:100%;height:100%;object-fit:cover;}
.slider_ctrl {position:absolute;bottom:0;left:0;display:flex;align-items:center;gap:20px;z-index:10;background:rgba(0,0,0,0.8);padding:18px 30px;border-radius:0 30px 0 0;}
.slider_ctrl button {background:transparent;border:0;padding:0;cursor:pointer;font-size:0;display:block;transition:all 0.2s;}
.slider_ctrl button.prev, .slider_ctrl button.next {width:10px;height:10px;border-top:2px solid #fff;}
.slider_ctrl button.prev {border-left:2px solid #fff;transform:rotate(-45deg);}
.slider_ctrl button.next {border-right:2px solid #fff;transform:rotate(45deg);}
.slider_ctrl button.pause {width:11px;height:13px;border-left:3px solid #fff;border-right:3px solid #fff;box-sizing:border-box;}
.slider_ctrl button.pause.play {width:0;height:0;border-left:12px solid #fff;border-right:0;border-top:7px solid transparent;border-bottom:7px solid transparent;}
.slider_ctrl button:hover, .slider_ctrl button:active {border-color:#e60050;}
.slider_ctrl button.pause.play:hover, .slider_ctrl button.pause.play:active {border-color:transparent transparent transparent #e60050;}
.slider_ctrl .page {color:#fff;font-weight:700;font-size:0.8rem;letter-spacing:1px;line-height:1;width:65px;text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap;}
.slider_ctrl .page b {font-weight:700;}

/* 우측 영역 */
.main1_right {width:554px;display:flex;flex-direction:column;gap:25px;}

/* 검색 */
.main1_search {background:#fff;border-radius:15px;padding:32px 30px;box-shadow:10px 10px 30px rgba(0,0,0,0.08);min-height:151px;box-sizing:border-box;}
.main1_search h3 {font-size:1.1rem;font-weight:800;margin-bottom:15px;color:#000;}
.main1_search .search_form {display:flex;background:#f0f1f3;border-radius:5px;overflow:hidden;height:55px;}
.main1_search .search_form input {flex:1;border:0;background:transparent;padding:0 15px;height:55px;font-size:0.75rem;outline:none;}
.main1_search .search_form button {width:80px;background:#e60050;color:#fff;border:0;font-weight:500;font-size:0.8rem;cursor:pointer;}

/* 숏컷 */
.main1_shortcut {display:flex;background:#282d41;border-radius:15px;height:100%;align-items:center;box-shadow:10px 10px 30px rgba(0,0,0,0.08);overflow:hidden;}
.main1_shortcut li {flex:1;height:100%;position:relative;}
.main1_shortcut li::after {content:'';position:absolute;right:0;top:25%;height:50%;width:1px;background:rgba(255,255,255,0.15);}
.main1_shortcut li:last-child::after {display:none;}
.main1_shortcut a {display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-decoration:none;color:#fff;font-size:0.85rem;font-weight:400;gap:20px;transition:all 0.3s;}
.main1_shortcut a img {display:block;transition:all 0.3s;}
.main1_shortcut a:hover {background:#1c202e;}
.main1_shortcut a:hover img {transform:translateY(-5px);}

/* 하단 영역 */
.main1_btm_row {display:flex;gap:20px;height:260px;}

.board_box {flex:1;background:#fff;border-radius:15px;padding:30px;box-shadow:0 5px 15px rgba(0,0,0,0.02);}
.board_head {display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:20px;}
.board_head .tit_box h2 {font-size:1.4rem;font-weight:800;color:#e60050;letter-spacing:-0.5px;position:relative;display:inline-block;line-height:1;}
.board_head .tit_box h2 .diamond {position:absolute;top:-2px;right:-20px;width:8px;height:8px;background:#e60050;transform:rotate(45deg);}
.board_head .tit_box p {font-size:1rem;color:#7f7f7f;margin-top:5px;font-weight:400;letter-spacing:-0.5px;}
.board_head .tab_box {display:flex;align-items:center;}
.board_head .tab_box .tabs {display:flex;align-items:center;}
.board_head .tab_box .tabs a {position:relative;font-size:0.9rem;color:#999;text-decoration:none;font-weight:600;padding:0 25px;transition:all 0.3s;}
.board_head .tab_box .tabs a::after {content:'';position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:30px;background:#ccc;}
.board_head .tab_box .tabs a:last-child::after {display:none;}
.board_head .tab_box .tabs a:hover, .board_head .tab_box .tabs a.active {color:#000;font-weight:800;}
.board_head .tab_box .tabs a::before {content:'';position:absolute;top:-15px;left:0;width:100%;height:3px;background:#1c202e;opacity:0;transition:all 0.3s;}
.board_head .tab_box .tabs a.active::before {opacity:1;}
.board_head .tab_box .more_btn {width:20px;height:20px;position:relative;margin-left:25px;font-size:0;color:transparent;display:block;transition:all 0.3s;}
.board_head .tab_box .more_btn::before {content:'';position:absolute;top:50%;left:0;width:100%;height:1px;background:#888;transform:translateY(-50%);transition:all 0.3s;}
.board_head .tab_box .more_btn::after {content:'';position:absolute;top:0;left:50%;width:1px;height:100%;background:#888;transform:translateX(-50%);transition:all 0.3s;}
.board_head .tab_box .more_btn:hover::before, .board_head .tab_box .more_btn:hover::after {background:#e60050;}

.board_list ul {display:flex;gap:20px;flex-wrap:wrap;}
.board_list li {width:calc(25% - 15px);background:#fff;border-radius:15px;border:1px solid #b5b5b5;box-shadow:0 5px 15px rgba(0,0,0,0.02);transition:all 0.3s;}
.board_list li:hover {transform:translateY(-5px);box-shadow:0 10px 25px rgba(0,0,0,0.05);}
.board_list li a {display:block;padding:22px;text-decoration:none;color:#333;height:100%;}
.board_list .cate {display:block;padding:10px 15px;border-radius:8px;font-size:1.05rem;font-weight:700;letter-spacing:-0.5px;margin-bottom:20px;color:#000;}
.label_notice {background:#f0f1f3;color:#333;}
.label_news {background:#e6ecf8;color:#333;}
.board_list .tit {font-size:0.9rem;font-weight:400;line-height:1.4;height:3em;overflow:hidden;margin-bottom:25px;word-break:keep-all;}
.board_list .date {display:block;text-align:right;color:#999;font-size:0.8rem;font-weight:400;}

/* 비주얼 */
.fs_main_visual {width:clamp(0px,98%,1500px);margin:0 auto;}

/* 컨트롤 */
.fs_main_visual .mvis_ctrl_box {}

/* 컨텐츠 시작 */
.con_box {}

/* 메인 컨텐츠 영역2 */
.fs_main_contents2 {width:100%;height:100%;background:url('../../images/fs/main/fs_main_contents2_bg.png') no-repeat center / cover #daebf5;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}

.fs_main_contents2_inner {width:clamp(0px,94%,1400px);margin:0 auto;display:flex;gap:200px;align-items:center;position:relative;z-index:10;}

/* 좌측 텍스트 및 아이콘 */
.main2_left {flex:1;}
.main2_left .tit_area {margin-bottom:70px;}
.main2_left .tit_area h2 {font-size:2rem;font-weight:700;color:#000;letter-spacing:-1px;margin-bottom:30px;position:relative;display:inline-block;}
.main2_left .tit_area p {font-size:1rem;line-height:1.3;}

.main2_icon_list {display:flex;padding-top:40px; margin-left:-30px; width:calc(100% + 70px);}
.main2_icon_list li {flex:1;text-align:center;position:relative;}
.main2_icon_list li::after {content:'';position:absolute;top:50%;right:0;transform:translateY(-50%);width:1px;height:110px;background:rgba(0,0,0,0.1);}
.main2_icon_list li:last-child::after {display:none;}
.main2_icon_list li a {display:flex;flex-direction:column;align-items:center;gap:15px;text-decoration:none;font-weight:600;font-size:0.9rem;line-height:1.2;transition:all 0.3s;}
.main2_icon_list li a img {transition:all 0.3s;}
.main2_icon_list li a:hover {color:#e60050;transform:translateY(-5px);}

/* 우측 영상 영역 */
.main2_right {width:650px;}
/*.main2_right .video_box {width:100%;height:380px;border-radius:20px;overflow:hidden;position:relative;box-shadow:0 20px 40px rgba(0,0,0,0.15);background:#000;}*/
.main2_right .video_box {width: 100%;height:auto;aspect-ratio:16/9;border-radius:20px;overflow:hidden;position:relative;box-shadow: 0 20px 40px rgba(0,0,0,0.15);background:#000;}

/* YouTube iframe */
.main2_right .video_box iframe {position:absolute;top:0;left:0;display:block;width:100%;height:100%;border:0;}

.main2_right .video_box .video_thumb_mock {width:100%;height:100%;background:linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), url('../../images/fs/main/video_thumb_mock.png') no-repeat center center / cover;display:flex;align-items:center;justify-content:center;text-align:center;}
.main2_right .video_box .video_thumb_mock p {font-size:1.5rem;color:#fff;font-weight:700;text-shadow:0 2px 10px rgba(0,0,0,0.5);margin-top:120px;}
.main2_right .video_box .play_btn {position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80px;height:80px;background:rgba(255,255,255,0.9);border-radius:50%;border:0;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.3s;}
.main2_right .video_box .play_btn::before {content:'';display:block;width:0;height:0;border-left:22px solid #e60050;border-top:14px solid transparent;border-bottom:14px solid transparent;margin-left:8px;}
.main2_right .video_box .play_btn:hover {background:#fff;transform:translate(-50%,-50%) scale(1.1);}

/* 메인 컨텐츠 영역3 */
.fs_main_contents3 {flex:1;width:100%;background:#fff;display:flex;align-items:center;justify-content:center;}
.fs_main_contents3_inner {width:clamp(0px,94%,1400px);margin:0 auto;display:flex;flex-direction:column;gap:50px;}

.main3_head {display:flex;justify-content:space-between;align-items:flex-end;position:relative;}
.main3_head .tit_box {text-align:center;flex:1;}
.main3_head .tit_box h2 {font-size:2rem;font-weight:700;color:#000;letter-spacing:-1px;position:relative;display:inline-block;}
/* 공통 타이틀 장식요소 */
.main2_left .tit_area h2 .point,
.main3_head .tit_box h2 .point {color:#e60050;}
.main2_left .tit_area h2 .diamond,
.main3_head .tit_box h2 .diamond {position:absolute;top:-5px;right:-15px;width:8px;height:8px;background:#e60050;transform:rotate(45deg);}
.main3_head .tit_box p {font-size:1rem;margin-top:15px;font-weight:500;}

.infra_ctrl {position:absolute;right:0;bottom:10px;display:flex;gap:10px;}
.infra_ctrl button {width:42px;height:42px;border:1px solid #333;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;transition:all 0.3s;}
.infra_ctrl button i {display:none;}
.infra_ctrl button::before, .infra_ctrl button::after {transition:all 0.3s;}
.infra_ctrl button.prev::before {content:'';display:block;width:8px;height:8px;border-top:2px solid #333;border-left:2px solid #333;transform:rotate(-45deg);margin-left:3px;}
.infra_ctrl button.next::before {content:'';display:block;width:8px;height:8px;border-top:2px solid #333;border-right:2px solid #333;transform:rotate(45deg);margin-right:3px;}
.infra_ctrl button.pause::before, .infra_ctrl button.pause::after {content:'';display:block;width:2px;height:12px;background:#333;margin:0 2px;}
.infra_ctrl button:hover {border-color:#e60050;}
.infra_ctrl button.prev:hover::before, .infra_ctrl button.next:hover::before {border-color:#e60050;}
.infra_ctrl button.pause:hover::before, .infra_ctrl button.pause:hover::after {background:#e60050;}

.infra_ctrl button.pause.play::before {width:0;height:0;background:transparent;margin:0 0 0 3px;border-left:8px solid #333;border-top:5px solid transparent;border-bottom:5px solid transparent;}
.infra_ctrl button.pause.play::after {display:none;}
.infra_ctrl button.pause.play:hover::before {border-left-color:#e60050;background:transparent;}

.infra_list {position:relative; overflow:hidden;}
.infra_list .swiper-wrapper {height:auto;}
.infra_list .swiper-slide {height:auto;}
.infra_list::before, .infra_list::after {content:'';position:absolute;top:0;bottom:0;width:150px;z-index:10;pointer-events:none;}
.infra_list::before {left:0;background:linear-gradient(to right, #fff 0%, rgba(255,255,255,0) 100%);}
.infra_list::after {right:0;background:linear-gradient(to left, #fff 0%, rgba(255,255,255,0) 100%);}
.infra_list li a {display:block;text-decoration:none;color:#000;transition:all 0.3s;}
.infra_list li a:hover {transform:translateY(-10px);}
.infra_list li a:hover .tit {color:#e60050;}
.infra_list .img_box {border-radius:10px;overflow:hidden;margin-bottom:12px;text-align:center;}
/* 원본 크기/비율 유지 및 짤림 방지 */
.infra_list .img_box img {max-width:100%;height:auto;vertical-align:top;} 
.infra_list .tit {font-size:1rem;font-weight:700;text-align:center;line-height:1.4;transition:all 0.3s;word-break:keep-all;}

/* 배너모음 컨트롤 */
#swiper-play {display:none;}

.pc_br {display:block;}

/* =========================================================
   반응형 미디어쿼리
========================================================= */
@media only screen and (max-width:1199px){
    /* 1200px 이하 테블릿/작은 데스크탑 */
    .fs_top_menu {display:none;}
    .pc_br {display:none;}
    
    /* 평상시(메뉴 닫힘): 전체메뉴만 노출 (오픈시에는 모바일 전체화면 메뉴가 덮으므로 별도 처리 불필요) */
    .global_box .login, .global_box .join, .global_box .search_btn {display:none !important;}
    
    /* 전체메뉴 버튼 스타일 강제 유지 (공통) */
    .global_box a.btn_sitemap {display:block !important; background:transparent !important; color:#000 !important; width:auto !important; height:auto !important; text-indent:0 !important; font-size:0.95rem !important; border:none !important; padding:0 !important;}
    .global_box a.btn_sitemap::before, .global_box a.btn_sitemap::after {display:none !important;}
    
    .main1_slider {width:55%;}
    .main1_right {width:45%;}
    
    /* .board_list li {width:calc(50% - 10px);} 기존 2열 배치를 제거하여 4개 1줄 강제 유지 */
    .main1_btm_row {height:auto;}
}

@media only screen and (max-width:1023px){
    
    /* 1024px 이하 테블릿 */
    .main1_top_row {/*flex-direction:column;*/ gap:30px; height:auto; min-height:0;}
    .main1_slider {width:100%; height:auto; aspect-ratio:824/341;}
    .main1_right {width:100%;}
    
    .main1_shortcut li::after {display:none;}
    .main1_shortcut {flex-wrap:nowrap; gap:0; padding:0;}
    .main1_shortcut li {flex: 1; height:120px;}
    
    .main1_btm_row {flex-direction:column; height:auto;}
    .board_box {padding:25px;}
    
    /* 섹션2 & 섹션3 임시 대응 */
    .fs_main_contents2_inner {flex-direction:column; text-align:center; gap:20px;}
    .main2_left .tit_area h2 {font-size:1.7rem; margin-bottom:15px;}
    .main2_left .tit_area p {font-size:0.95rem; word-break:keep-all;}

    .main2_left .tit_area {margin-bottom:0px;}
    .main2_left .tit_area h2 .diamond {right:-25px;}
    .main2_icon_list {margin-left:0; width:100%;}
    .main2_right {width:90%;}
    /* Swiper handles layout */
}

@media only screen and (max-width:767px){
    /* 768px 이하 모바일 */
    .fs_head .logo img {height:30px;}

    .main2_right .video_box .play_btn {width:50px; height:50px;}
    .main2_right .video_box .play_btn::before {border-left:14px solid #e60050; border-top:9px solid transparent; border-bottom:9px solid transparent; margin-left:5px;}
    
    /* btn_top mobile overrides moved to end of file */
    .fs_main_contents {gap:15px;}
    .fs_main_contents, .fs_main_contents2_inner, .fs_main_contents3_inner {width:calc(100% - 40px);gap:17px;} /* 좌우 20px 여백 확보 */
    
    .fs_head {height:70px; padding:0 20px;}
    #fs_header::before {top:70px;}
    .fs_top_menu .lnb_layer01 {top:70px;}
    #fs_container_wrap {height:calc(100vh - 70px); margin-top:70px;}

    .main1_top_row {flex-direction:column; gap:20px; height:auto; min-height:0;}
    .main1_slider {width:100%; height:auto; aspect-ratio:824/341;}
    .main1_right {width:100%; gap:20px;}
    
    .main1_search {padding:20px; min-height:auto;}
    .main1_search h3 {margin-bottom:5px; font-size:1rem;}
    .main1_search .search_form {height:40px;}
    .main1_search .search_form button {width:60px;}
    .main1_search .search_form input {height:40px; font-size:0.9rem !important;}
    
    .main1_shortcut {padding:0; flex-wrap:nowrap;}
    .main1_shortcut li {flex: 1; height:90px;}
    .main1_shortcut a {gap:8px; font-size:0.8rem; text-align:center;}
    .main1_shortcut a img {width:32px; height:32px;}
    
    .board_head {flex-direction:column; align-items:flex-start; gap:20px;margin-bottom:12px;}
    .board_head .tab_box {width:100%; justify-content:flex-start; margin-top:5px;}
    .board_head .tab_box .tabs {flex-wrap:nowrap;}
    .board_head .tab_box .tabs a {padding:0 12px; font-size:1rem; white-space:nowrap;}
    .board_head .tab_box .tabs a::before {top:-12px;} /* 모바일에서 바 위치를 텍스트에 더 가깝게 조정 */
    .board_head .tab_box .more_btn {margin-left:15px;}
    
    .board_list li {width:100%; margin-bottom:15px;} /* 1열 배치 */
    .board_list .cate {margin-bottom:10px;}
    .board_list .tit {margin-bottom:5px;}
    
    .fs_main_contents2_inner {gap:50px;}    
    
    /*.main2_right .video_box {height:200px;}*/
    .main2_right .video_box {height:auto;}

    .main2_icon_list {flex-wrap:wrap; gap:15px; padding-top:10px;}
    .main2_icon_list li {flex: 0 0 calc(50% - 7.5px);}
    .main2_icon_list li::after {display:none;}
    .main2_icon_list li a {gap:10px; font-size:0.85rem;}
    .main2_icon_list li a img {width:45px;}
    
    .main3_head {flex-direction:column; align-items:center; gap:15px;}
    .infra_ctrl {position:static; margin-top:20px; justify-content:center;}
    /* Swiper handles layout */

    /* 모바일에서는 첫 번째 게시글만 표시 */
    #mainBbsPortlet .board_list li:nth-child(n+2) {
        display: none;
    }
}

/* =========================================================
   전체메뉴 (Sitemap Layer)
========================================================= */
.fs_sitemap_layer {position:fixed;top:94px;left:0;width:100%;height:calc(100vh - 94px);background:#fff;z-index:995;overflow-y:auto;}
.m_sitemap_head {display:none;}
.sitemap_inner {width:100%;max-width:1400px;margin:0 auto;padding:0 20px;box-sizing:border-box;}

/* 본문 */
.sitemap_body {padding:20px 0;}
.sitemap_list {display:flex;gap:30px;}
.sitemap_col {flex:1;position:relative;}
.sitemap_col::after {content:'';position:absolute;top:0;right:-15px;width:1px;height:100%;background:#eee;}
.sitemap_col:last-child::after {display:none;}

/* 전체메뉴 열려있을 때 헤더 서브메뉴(lnb_layer01) 노출 방지 및 마우스오버 배경 제거 */
body.sitemap-open #fs_header::before,
body.sitemap-open .lnb_layer01 {
    opacity:0 !important;
    visibility:hidden !important;
}
body.sitemap-open .fs_top_menu .lnb > li,
body.sitemap-open .fs_top_menu .lnb > li:hover {
    background: transparent !important;
    width: 130px !important;
}

.sitemap_col h3 {background:#f0f1f3;padding:15px 20px;font-size:1.0rem;font-weight:800;color:#333;margin-bottom:15px;border-radius:10px;}

.sitemap_col > .depth2 > li {margin:0 0 17px 20px;}
.sitemap_col > .depth2 > li > a {display:inline-block;font-size:0.9rem;font-weight:600;color:#222;text-decoration:none;margin-bottom:7px;}
.sitemap_col > .depth2 > li > a:hover {color:#e60050;}

.sitemap_col .depth3 {display:flex;flex-direction:column;gap:10px;}
.sitemap_col .depth3 li a {font-size:0.85rem;color:#666;text-decoration:none;position:relative;padding-left:12px;font-weight:400;transition:color 0.2s;line-height:1.0;word-break:keep-all;}
.sitemap_col .depth3 li a::before {content:'';position:absolute;top:9px;left:2px;width:4px;height:4px;background:#e60050;border-radius:50%;}
.sitemap_col .depth3 li a:hover {color:#e60050;font-weight:600;}

/* 모바일 대응 (간단히) */
@media only screen and (max-width:1023px){
    /* 1199px에 맞추면 좋으나 기존 미디어쿼리 구조 유지 */
}

/* 1199px 이하 전체메뉴 풀다운(전체화면 덮기) 및 아코디언 스타일 */
@media only screen and (max-width:1199px){
    .fs_sitemap_layer {top:0; height:100vh; z-index:2000; padding-top:20px; padding-left:13%; background:linear-gradient(to right, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0.6) 10%, #fff 10%, #fff 100%); box-sizing:border-box;}
    .m_sitemap_head {display:flex; justify-content:space-between; align-items:center; padding:0 15px;}
    .m_sitemap_btns {display:flex; gap:5px; align-items:center;}
    .m_sitemap_btns .m_login {display:flex; align-items:center; justify-content:center; width:auto; padding:0 10px; height:36px; background:#e60050; color:#fff; border-radius:18px; font-weight:600; text-decoration:none; font-size:0.85rem;}
    .m_sitemap_btns .m_join {display:flex; align-items:center; justify-content:center; width:auto; padding:0 10px; height:36px; background:#fff; color:#333; border:1px solid #ccc; border-radius:18px; font-weight:600; text-decoration:none; font-size:0.85rem; box-sizing:border-box;}
    .m_sitemap_btns .m_search {display:flex; align-items:center; justify-content:center; width:36px; height:36px; background:#393939; border-radius:50%; position:relative;}
    .m_sitemap_btns .m_search::after {content:'';display:block;width:16px;height:16px;border:2px solid #fff;border-radius:50%;position:absolute;top:9px;left:9px;box-sizing:border-box;}
    .m_sitemap_btns .m_search::before {content:'';display:block;width:2px;height:8px;background:#fff;position:absolute;top:22px;left:22px;transform:rotate(-45deg);transform-origin:top left;}
    .m_close {display:flex; align-items:center; justify-content:center; width:auto; height:36px; font-size:0.85rem; font-weight:600; color:#000; text-decoration:none; white-space:nowrap; margin-left:5px;}
    
    .sitemap_list {flex-direction:column; gap:0;}
    .sitemap_col {margin-bottom:0;}
    .sitemap_col::after {display:none;}
    
    .sitemap_col h3 {position:relative; background:transparent; padding:15px 0; color:#000; font-size:1.15rem;font-weight:600; margin-bottom:0; border-radius:0; border-bottom:1px solid #ddd; cursor:pointer;}
    /*.sitemap_col h3::after {content:''; position:absolute; right:0; top:50%; transform:translateY(-50%); width:16px; height:16px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat center; background-size:contain; transition:all 0.3s;}*/
    .sitemap_col.has-children > h3::after {content:''; position:absolute; right:0; top:50%; transform:translateY(-50%); width:16px; height:16px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat center; background-size:contain; transition:all 0.3s;}
    .sitemap_col h3.on {color:#e60050;}
    /*.sitemap_col h3.on::after {transform:translateY(-50%) rotate(180deg); background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e60050' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat center; background-size:contain;}*/
    .sitemap_col.has-children > h3.on::after {transform:translateY(-50%) rotate(180deg); background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e60050' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat center; background-size:contain;}
    
    .sitemap_col > .depth2 {display:none; padding:15px 0;}
    .sitemap_col > .depth2 > li {margin:0 0 5px 0;}
    .sitemap_col > .depth2 > li > a {display:block; padding:10px 20px; background:#f5f6f8; border-radius:10px; margin-bottom:0; font-size:1.0rem; color:#333; text-decoration:none; transition:all 0.3s; position:relative;}
    /*.sitemap_col > .depth2 > li > a:not(:only-child)::after {content:''; position:absolute; right:20px; top:50%; transform:translateY(-50%); width:16px; height:16px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat center; background-size:contain; transition:all 0.3s;}*/
    .sitemap_col > .depth2 > li.has-children > a::after {content:''; position:absolute; right:20px; top:50%; transform:translateY(-50%); width:16px; height:16px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat center; background-size:contain; transition:all 0.3s;}
    .sitemap_col > .depth2 > li > a:hover {color:#000;}
    .sitemap_col > .depth2 > li > a.on {background:#fff0f5; color:#e60050; font-weight:700;}
    /*.sitemap_col > .depth2 > li > a.on:not(:only-child)::after {transform:translateY(-50%) rotate(180deg); background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e60050' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat center; background-size:contain;}*/
    .sitemap_col > .depth2 > li.has-children > a.on::after {transform:translateY(-50%) rotate(180deg); background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e60050' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat center; background-size:contain;}
    
    .sitemap_col .depth3 {display:none; padding:10px 20px 5px 20px;}
    .sitemap_col .depth3 li {margin:0 0 10px 0;}
    .sitemap_col .depth3 li a {font-size:0.9rem; color:#666; text-decoration:none; position:relative; padding-left:12px; display:block; transition:color 0.2s; word-break:keep-all;}
    .sitemap_col .depth3 li a::before {content:''; position:absolute; top:4px; left:1px; width:4px; height:4px; background:#e60050; border-radius:50%;}
    .sitemap_col .depth3 li a:hover {color:#e60050; font-weight:600;}
}

/* =========================================================
   메인 전용 푸터 스타일 오버라이드
========================================================= */
/* 전체 상하단 여백 축소 */
#footer {padding:2rem 0;}

/* 로고 숨김 및 좌측 정렬 */
#footer .footer-top h1 {display:none;}
#footer .footer-top {justify-content:flex-start;}

/* 내부 상하단 간격 축소 */
#footer .footer-bottom {margin-top:1.2rem; padding-top:1.2rem;}
#footer .footer-bottom .copy {margin-top:0.8rem;}

/* =========================================================
   배너모음 (cbcon.kr 참조 레이아웃 적용)
========================================================= */
.banner-con {
    position: relative;
    border-top: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5;
    background: #fff;
    padding: 15px 0;
}
.btn_top {position:fixed; right:30px; bottom:30px; width:55px; height:55px; background:#4b4b4b; color:#fff; border:none; border-radius:5px; cursor:pointer; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; font-size:12px; font-weight:700; transition:all 0.3s; z-index:9999; letter-spacing:1px; line-height:1; opacity:0; visibility:hidden; transform:translateY(20px);}
.btn_top.show {opacity:1; visibility:visible; transform:translateY(0);}
.btn_top::before {content:''; display:block; width:8px; height:8px; border-top:2px solid #fff; border-left:2px solid #fff; transform:rotate(45deg); margin-top:3px;}
.btn_top:hover {background:#e60050;}
.banner-con .inner {
    display: flex;
    align-items: center;
}
.banner-btn {
    display: flex;
    align-items: center;
    gap: 15px;
    width: 200px;
    flex-shrink: 0;
}
.banner-btn p {
    font-weight: 700;
    font-size: 1.05rem;
    color: #333;
}
.banner-btn-con {
    display: flex;
    align-items: center;
    gap: 5px;
}
/* 컨트롤 버튼 스타일 */
.banner-btn-con .button-prev,
.banner-btn-con .button-next,
.banner-btn-con button {
    width: 24px;
    height: 24px;
    background: none;
    border: none;
    cursor: pointer;
    position: relative;
    text-indent: -9999px; /* 글자 숨김 */
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}
/* CSS로 아이콘 그리기 */
.banner-btn-con .button-prev::before {
    content: ''; display: block; width: 6px; height: 6px;
    border-top: 2px solid #555; border-left: 2px solid #555;
    transform: rotate(-45deg);
}
.banner-btn-con .button-next::before {
    content: ''; display: block; width: 6px; height: 6px;
    border-top: 2px solid #555; border-right: 2px solid #555;
    transform: rotate(45deg);
}
#swiper-pause::before, #swiper-pause::after {
    content: ''; display: block; width: 2px; height: 10px;
    background: #555; position: absolute; top: 50%; transform: translateY(-50%);
}
#swiper-pause::before { left: 8px; }
#swiper-pause::after { right: 8px; }

#swiper-play::before {
    content: ''; display: block; width: 0; height: 0;
    border-left: 9px solid #555; border-top: 5px solid transparent; border-bottom: 5px solid transparent;
    position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
}

.bannerSwiper {
    width: calc(100% - 200px);
    overflow: hidden;
}
.bannerSwiper .swiper-wrapper {
    display: flex;
    align-items: center;
    gap: 20px;
}
.bannerSwiper .swiper-slide {
    width: auto;
    flex-shrink: 0;
}
.bannerSwiper .swiper-slide a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 50px;
}
.bannerSwiper .swiper-slide img {
    max-height: 45px;
    max-width: 100%;
}
@media (max-width: 767px) {
    /* 모바일 배너모음 레이아웃 수정 (좌측 타이틀+버튼, 우측 배너 슬라이드) */
    .banner-con .inner { flex-direction: row; gap: 10px; justify-content: space-between; }
    .banner-btn { width: auto; flex-shrink: 0; gap: 5px; justify-content: flex-start; }
    .banner-btn p { font-size: 0.9rem; }
    .banner-btn-con { gap: 0; }
    .banner-btn-con .button-prev, .banner-btn-con .button-next, .banner-btn-con button { width: 16px; }
    #swiper-pause::before { left: 4px; }
    #swiper-pause::after { right: 4px; }
    .bannerSwiper { flex: 1; width: 0; }
    
    /* 모바일 - 블러 영역 축소 */
    .infra_list::before, .infra_list::after { width: 40px; }
    
    /* 모바일 - 탑버튼 크기 조절 */
    .btn_top {width:45px; height:45px; right:15px; bottom:20px; font-size:10px; gap:2px;}
    .btn_top::before {width:6px; height:6px; border-width:1.5px; margin-top:2px;}
    
    /* 푸터 모바일 상단 여백 축소 및 텍스트 겹침 방지 */
    #footer { padding-top: 0rem; }
    #footer .footer-bottom { padding-right: 30px; }
}

/* =========================================================
   261013 추가 css
========================================================= */
/* 전체메뉴 */
#fs_header .fs_sitemap_layer {
    z-index: 1000;
}

/* 검색창 - 전체메뉴보다 위에 표시 */
#fs_header .search-form {
    z-index: 1100;
}

/* 서브 페이지에서만 적용 */
body.page-sub #fs_header {position: relative;}