

.sub_visual_are{padding: 0 50px;}

.sub_visual{height: 410px;
    position: relative;
    justify-content: center;
    align-items: center;
    display: flex;
    border-radius: 20px;
    background-position: center;
    background-size: cover;
    overflow: hidden;
    flex-direction: column;}



.sub_visual.bg01{background-image: url(../img/sub/sub_visual01.png)}
.sub_visual.bg02{background-image: url(../img/sub/sub_visual02.png)}
.sub_visual.bg03{background-image: url(../img/sub/sub_visual03.png)}
.sub_visual.bg04{background-image: url(../img/sub/sub_visual04.png)}
.sub_visual.bg05{background-image: url(../img/sub/sub_visual05.png)}
.sub_visual.bg06{background-image: url(../img/sub/sub_visual06.png)}



.sub_visual h2{color: #fff; word-break: keep-all; font-size: 44px; line-height: 150%; font-weight: 800}
.sub_visual .sub_visual_ul{display: flex; margin-top: 25px; gap:25px;}
.sub_visual .sub_visual_ul li{font-size: 18px; color: #fff; word-break: keep-all; line-height: 150%; opacity: .3}
.sub_visual .sub_visual_ul li.now,
.sub_visual .sub_visual_ul li.icon{opacity: 1}








.sub_section{padding: 150px 0}

.index_search + .sub_section{padding-top: 30px}

.sub_title{margin-bottom: 80px;}
.sub_title.center{text-align: center}
.sub_title h2{font-size: 44px; font-weight: bold; line-height: 150%; word-break: keep-all; color: #132051}
.sub_title h2 b.point{color: #114ab7}


.card_slide_are{position: relative; }
.card_slide .box{border-radius: 28px; border: 2px solid #ebeff2}


.card_slide .slick-list{padding: 0 10rem; }
.card_slide .slick-slide{padding: 0 40px;}

.card_slide_file{border-radius: 0 0 28px 28px; overflow: hidden}
.card_slide_file .board_detail_file{display: flex; gap:10px; flex-wrap: wrap; flex-direction: column;}
.card_slide_file .board_detail_file a + a{margin: 0}

.card_slide_file .board_detail_file a{border: 1px solid #efefef; padding: 8px 15px; border-radius: 5px; background: rgba(255,255,255,0.5); font-size: 16px}



.card_slide .in_slide{max-width: 1100px; margin: 0 auto}
.card_slide .in_slide img{width: 100%; border-radius: 4px}
.card_slide .in_slide .slick-list{padding: 0; overflow: hidden; }

.card_slide .in_slide .slick-slide{padding: 0}

.card_slide .in_slide .slick-dots{margin-top: 25px; display: flex; gap:10px; justify-content: center;}
.card_slide .in_slide .slick-dots li{background: #e7e8ed; width: 8px; height: 8px; border-radius: 8px; transition-duration: .8s; position: relative;
overflow: hidden}
.card_slide .in_slide .slick-dots li button{border: 0; font-size: 0;  position: absolute; width: 100%; height: 100%; left:0; top: 0;
background: transparent;}

.card_slide .in_slide .slick-dots li.slick-active{background: #132051}



.card_slide_txt{text-align: center; position: relative; padding: 50px 0; border-top: 2px solid #ebeff2}
.card_slide_txt .txt h3{color: #132051; font-size: 40px; font-weight: 800; word-break: keep-all; line-height: 150%}
.card_slide_txt .txt p{display: flex; margin-top: 15px; gap:10px; font-size: 24px; line-height: 150%; word-break: keep-all; color: #132051; 
font-weight: bold;
justify-content: center;
    align-items: center;}


.card_slide_txt .txt p i {width: 3px; height: 20px; background: #ebeff2}



.card_slide_txt .qr_code{position: absolute; bottom: 15px; right: 15px; opacity: 0; visibility: hidden; transition-duration: .8s}

.card_slide_txt .qr_code .qr_code_img{padding: 12px; background: #f5f8fc; border-radius: 12px; width: 157px; height: 157px;}
.card_slide_txt .qr_code .qr_code_img img{border-radius: 12px; }


.slick-current .card_slide_txt .qr_code{opacity: 1; visibility: visible}


.card_slide_txt .qr_code p{position: absolute; top: -60px; padding: 15px; background: #132051; border-radius: 80px; color: #fff; font-size: 18px; font-weight: bold;
line-height: 140%; word-break: keep-all;     width: max-content; left: 50%; transform: translateX(-50%);}

.card_slide_txt .qr_code p:after{
	content: ''; width: 18px; height: 18px; background: #132051; position: absolute; bottom: -9px;
	left: 50%; transform:translateX(-50%) rotate(45deg);
}

.in_slide_are{padding: 50px 0 25px}





.card_slide_are .card_slide_btn{position: absolute; z-index: 2; width: 100px; height: 100px;
border-radius: 100px; background: #fff; box-shadow: 5px 0px 10px rgba(52,84,176,0.05); border: 2px solid #ebeff2;
display: flex; justify-content: center;
    align-items: center; top: 50%; transform:translateY(-50%); cursor: pointer}

.card_slide_are .card_slide_btn.card_slide_slide_prev{left: calc(10rem - 10px)}
.card_slide_are .card_slide_btn.card_slide_slide_next{right: calc(10rem - 10px)}




/* 비활성 메인 슬라이드의 내부 슬라이더 조작 방지 */
.card_slide .slick-slide .in_slide { pointer-events: none; }
.card_slide .slick-current .in_slide { pointer-events: auto; }








/*board*/


.pagenation{display: flex; gap:10px; margin-top: 80px; justify-content: center;
    align-items: center;}
.pagenation a{width: 34px; height: 34px; display: flex; text-align: center; line-height: 34px; border: 2px solid transparent; border-radius: 4px;
font-size: 16px; color: #999; font-weight: bold;
    justify-content: center;
    align-items: center;}

.pagenation a img{display: inline-block; max-width: 100%}

.pagenation ul{display: flex; gap:10px}
.pagenation ul li.page_on a{border: 2px solid rgba(17,74,183,0.3); color: #114ab7}


.board_are{}



.board_tab{display: flex; margin-bottom: 80px; gap:10px;
flex-wrap: wrap;
    justify-content: center;}
    
.board_tab.flex_left{justify-content: flex-start;}    
    
.board_tab a{padding: 20px; min-width: 220px; border: 2px solid #ebeff2; border-radius: 100px;
font-size: 18px; font-weight: bold; color: #132051; transition-duration: .8s; background: #fff; text-align: center}
.board_tab a:hover,
.board_tab a.tabon{
	background: #114ab7; color: #fff; border-color: #114ab7
}
.board_tab a span{font-size: 16px; color: #114ab7; margin-left: 5px; padding: 5px; background: #f5f8fc; border-radius: 50px}


.board_tab a:hover span,
.board_tab a.tabon span{}

.board_are .board_top{margin-bottom: 30px;
justify-content: space-between;
    align-items: center; display: flex;}
.board_are .board_top p.total{font-size: 18px; color: #0d1e5b; font-weight: 600}
.board_are .board_top p.total b{color: #626d97}


.board_top_search{display: flex; gap:10px}
.board_top_search input,
.board_top_search select{height: 64px; border: 2px solid #ebeff2; border-radius: 8px; line-height: 60px; padding: 0 20px;
color: #0d1e5b; font-size: 18px; word-break: keep-all}

.board_top_search select{width: 170px;
appearance: none; /* 브라우저 기본 스타일 제거 */
        -webkit-appearance: none;
        -moz-appearance: none;
        background-image: url(../img/sub/board_top_search.png); /* 드롭다운 화살표 커스텀 */
        background-repeat: no-repeat;
        background-position: right 20px center;
        background-size: 14px;
}

.board_top_search input{min-width: 340px;}
.board_top_search button{background: #132051; color: #fff; font-size: 18px; border-radius: 8px; border: 2px solid #132051; line-height: 60px;
word-break: keep-all; padding: 0 20px; text-align: center; min-width: 130px;}



.grid_board{display: flex; gap:80px 35px;     flex-wrap: wrap;}
.grid_board.gap30{gap:30px}


.grid_board.four{}

.grid_board li{width: calc(33.33% - 23.33px)}
.grid_board.four li{width: calc(25% - 26.3px)}


.grid_board li.w100{width: 100%}

.grid_board li .box{display: block; padding: 45px; border: 2px solid #ebeff2; border-radius: 28px; background: #fff; transition-duration: .8s; overflow: hidden}
.grid_board li .box:hover{box-shadow: 5px 0px 10px rgba(52,84,176,0.05); }


.grid_board li .box.nopadding{padding: 0}

.grid_board li .box .thum{display: block; }
.grid_board li .box .thum img{width: 100%; height: 100%;
 aspect-ratio:	187 / 120; object-fit: cover;}
.grid_board li .box .thum_txt{padding: 40px;}


.grid_board li .box .tag{display: block; font-size: 16px; color: #114ab7; font-weight: bold; margin-bottom: 8px;}
.grid_board li .box h3{font-size: 24px; line-height: 140%; word-break: keep-all; word-break: keep-all; color: #132051;
display: -webkit-box;          /* flexbox 기반 텍스트 박스 */
  -webkit-box-orient: vertical;  /* 세로 방향으로 텍스트 배치 */
  -webkit-line-clamp: 1;         /* 표시할 줄 수 (3줄) */
  overflow: hidden;              /* 넘치는 부분 숨기기 */
  text-overflow: ellipsis;       /* 말줄임(...) 처리 */
  word-break: keep-all;          /* 단어 단위로 줄바꿈 (옵션) */}

 

.grid_board li .box p{margin-top: 25px; font-size: 18px; line-height: 150%; word-break: keep-all; color: #626d97; font-weight: 500;
display: -webkit-box;          /* flexbox 기반 텍스트 박스 */
  -webkit-box-orient: vertical;  /* 세로 방향으로 텍스트 배치 */
  -webkit-line-clamp: 3;         /* 표시할 줄 수 (3줄) */
  overflow: hidden;              /* 넘치는 부분 숨기기 */
  text-overflow: ellipsis;       /* 말줄임(...) 처리 */
  word-break: keep-all; }

.grid_board li .box .thum_txt p{
	-webkit-line-clamp: 1; 
}


.grid_board li.w100 .box p{
	-webkit-line-clamp: 2; 
}


.grid_board li .box p.date{margin-top: 40px; color: #9295a1; font-size: 16px}
.grid_board li .box p.date.flex{display: flex; gap:8px;}
.grid_board li .box p.date.flex b{color: #132051}

.grid_board li .box .top_txt{padding: 45px; border-bottom: 2px solid #ebeff2}

.grid_board li .box .info_txt{padding: 20px}
.grid_board li .box .info_txt ul{padding: 25px; }
.grid_board li .box .info_txt li{display: flex; font-size: 18px; line-height: 150%; word-break: keep-all; color: #132051; width: 100%}
.grid_board li .box .info_txt li b{width: 90px;}
.grid_board li .box .info_txt li span{flex:1}
.grid_board li .box .info_txt li + li{margin-top: 12px;}

.grid_board li .box .info_txt .board_box_btn{margin-top: 20px; display: block; width: 100%; padding: 15px; text-align: center; color: #fff; font-size: 18px; font-weight:bold;
background: #132051; border-radius: 80px; transition-duration: .8s; opacity: 0; visibility: hidden}


.grid_board li .box:hover .info_txt .board_box_btn{opacity: 1; visibility: visible;}




.search_point{color: #114ab7 !important}



.sub03_detail_top{display: flex; gap:40px; margin-bottom: 40px;}
.sub03_detail_top .detail_logo{border-radius: 20px; border: 2px solid #ebeff2; overflow: hidden;     aspect-ratio: 1;
    display: flex;
    justify-content: center;
    align-items: center; width: 200px; }


.sub03_detail_top .detail_logo img{max-width: 100%; max-height: 100%; object-fit: contain; display: block;}

.sub03_detail_top .sub03_detail_top_txt{flex:1}

.sub03_detail_top .sub03_detail_top_txt h3{color: #132051; font-size: 32px; word-break: keep-all; line-height: 150%}
.sub03_detail_top .sub03_detail_top_txt p{margin-top: 10px; display: flex;align-items: center; gap:10px; font-size: 18px; color: #2e3d73; line-height: 150%; word-break: keep-all; 
font-weight: 500}

.sub03_detail_top .sub03_detail_top_txt p i{width: 3px; height: 3px; background: #dadce0; }

.sub03_detail_tlb{}
.sub03_detail_tlb table{width: 100%; border-top: 3px solid #ebeff2; border-spacing: 0}

.sub03_detail_tlb.main_tlb table{border-color: #0f1426}

.sub03_detail_tlb table th,
.sub03_detail_tlb table td{padding: 18px; color: #404866; font-size: 18px; word-break: keep-all; border-bottom: 1px solid #ebeff2}

.sub03_detail_tlb.main_tlb table th,
.sub03_detail_tlb.main_tlb table td{padding:30px 25px} 

.sub03_detail_tlb.main_tlb table th{color: #0d1e5b}
.sub03_detail_tlb.main_tlb table td,
.sub03_detail_tlb.main_tlb table td *{color: #0d1e5b; font-weight: 500}
 
 
.sub03_detail_tlb table th{background: #f5f8fc}
.sub03_detail_tlb table th.left_th{width: 150px}

.sub03_detail_tlb table td p{word-break: keep-all}
.sub03_detail_tlb table td p.point{color: #195fc4}

.sub03_detail_tlb table td.date,
.sub03_detail_tlb table td.icon{text-align: center; width: 100px}
.sub03_detail_tlb table td.point_are{width: 180px; text-align: center}

.sub03_detail_tlb table td.date p{color: #9295a1}

.sub03_detail_tlb.main_tlb table td.date{width: 180px}

.sub03_detail_tlb table td p.tlb_subject{
	display: -webkit-box;          /* flexbox 기반 텍스트 박스 */
  -webkit-box-orient: vertical;  /* 세로 방향으로 텍스트 배치 */
  -webkit-line-clamp: 1;         /* 표시할 줄 수 (3줄) */
  overflow: hidden;              /* 넘치는 부분 숨기기 */
  text-overflow: ellipsis;       /* 말줄임(...) 처리 */
  word-break: keep-all;          /* 단어 단위로 줄바꿈 (옵션) */
}


.sub03_detail_tlb table td.center_mid{width: 280px; text-align: center}



.sub03_detail_title{margin-top: 60px; margin-bottom: 25px}
.sub03_detail_title h3{color: #132051; font-size: 24px; word-break: keep-all; line-height: 150%; font-weight: bold}

.sub03_detail_content{border-top: 2px solid #ebeff2; padding: 25px 0 }
.sub03_detail_content *{line-height: 150%; word-break: keep-all; font-size: 18px; color: #0d1e5b}



.goto_list{text-align: center; margin-top: 80px}
.goto_list .list_btn{padding: 18px; border-radius: 8px; background: #132051; color: #fff; font-size: 18px; word-break: keep-all; min-width: 160px;
display: inline-block}



.board_detail{}
.board_detail .board_title{text-align: center; margin-bottom: 50px}
.board_detail .board_title h3{font-size: 36px; font-weight: bold; color: #132051; word-break: keep-all; line-height: 150%}
.board_detail .board_title ul{display: flex; margin-top: 15px; gap:25px;  justify-content: center;
    align-items: center; }


.board_detail .board_title ul li{font-size: 18px; word-break: keep-all; color: #0d1e5b; display: flex; gap: 10px; align-items: center; }
.board_detail .board_title ul li b{padding: 10px; background: #ebf0f7; border-radius: 50px }
.board_detail .board_title ul li i{background: #ebeff2; width: 3px; height: 20px;}
.board_detail .board_title ul li .date{color: #9295a1}

.board_detail_content_are{border-top: 3px solid #ebeff2}

.board_detail_file{background: #f5f8fc; padding: 25px;}
.board_detail_file a{display: flex; gap:10px; align-items: center; word-break: keep-all; color: #404866; font-size: 18px;}
.board_detail_file a span{text-decoration: underline}
.board_detail_file a + a{margin-top: 15px}

.board_detail_content{padding: 80px 25px;}
.board_detail_content *{font-size: 18px; word-break: keep-all; line-height: 150%; }


.prev_and_next_board{border-top: 2px solid #ebeff2; border-bottom: 2px solid #ebeff2; margin-top: 100px}
.prev_and_next_board li{display: flex; padding: 30px 25px; gap:25px; align-items: center; }
.prev_and_next_board li a{display: flex; font-size: 18px; word-break: keep-all; flex:1; gap:10px; align-items: center;}

.prev_and_next_board li a span{
	display: -webkit-box;          /* flexbox 기반 텍스트 박스 */
  -webkit-box-orient: vertical;  /* 세로 방향으로 텍스트 배치 */
  -webkit-line-clamp: 1;         /* 표시할 줄 수 (3줄) */
  overflow: hidden;              /* 넘치는 부분 숨기기 */
  text-overflow: ellipsis;       /* 말줄임(...) 처리 */
  word-break: keep-all;    
  color: #9295a1;
  transition-duration: .8s
}


.prev_and_next_board li a.with_icon{width: 90px; flex:none}
.prev_and_next_board li a.with_icon span{color: #0d1e5b}
.prev_and_next_board li a:hover span{color: #0d1e5b}

.prev_and_next_board li i{background: #ebeff2; width: 2px; height: 16px;}

.prev_and_next_board li + li{border-top: 1px solid #ebeff2;}





.calendar_year{display: flex; gap:25px; justify-content: center;
    align-items: center; text-align: center}

.calendar_year a{ width: 50px; height: 50px; background: #fff; border: 2px solid #ebeff2; border-radius: 60px;
box-shadow: 5px 0px 10px rgba(52,84,176,0.05);display: flex; justify-content: center;
    align-items: center;  }

.calendar_year h2{word-break: keep-all; color: #132051; font-size: 48px; font-weight: 600}


.calendar_list{display: flex; gap:10px 20px; flex-wrap: wrap; margin-top: 60px}
.calendar_list li{width: calc(14% - 13px); transition-duration: .8s}
.calendar_list li.week{padding: 15px 25px; background: #f5f8fc; border-radius: 12px 12px 0 0}
.calendar_list li.week p{font-weight: 600; word-break: keep-all; color: #132051; font-size: 16px;}

.calendar_list li.date{padding-bottom: 10px; border-bottom: 3px solid #f5f8fc}
.calendar_list li.date a{display: flex; padding: 10px 25px; 
border: 3px solid transparent; border-radius:8px; gap:8px; transition-duration: .8s; aspect-ratio: 20 / 15;}
.calendar_list li.date a p{font-size: 18px; font-weight: 600; color: #132051; }
.calendar_list li.date a p.not{opacity: .3}

.calendar_list li.date a i{width: 16px; height: 16px; border-radius: 16px; background: #004ad8; margin-top: 3px; opacity: 0; visibility: hidden}


.calendar_list li.date a.on,
.calendar_list li.date a:hover{border: 3px solid rgba(0, 74, 216,0.2 );}
.calendar_list li.date a.on i{opacity: 1; visibility: visible}

.calendar_list li.drop_calendar{width: 100%; background: #f5f8fc; padding: 45px}
.calendar_list li.drop_calendar h4.date_long{font-size: 24px; color: #132051}
.calendar_list li.drop_calendar .calendar_flex{margin-top: 25px; display: flex; flex-wrap: wrap; gap:30px}

.calendar_list li.drop_calendar .calendar_flex .box{background: #fff; border-radius: 12px; padding: 25px; width: calc(50% - 15px);
box-shadow: 5px 0px 10px rgba(52,84,176,0.05);}


.calendar_list li.drop_calendar .calendar_flex .box h5{word-break: keep-all; font-size: 18px; color: #132051; line-height: 150%}
.calendar_list li.drop_calendar .calendar_flex .box p{word-break: keep-all; line-height: 150%; color: #626d97; font-size: 16px;}


.calendar_list li.drop_calendar .calendar_flex .box h5 + p{margin-top: 5px}


.network_flex{display: flex; gap:50px}
.network_flex .network_title{width: 340px; display: flex;
flex-direction: column;
    justify-content: space-between;
    align-items: flex-start; text-align: right}
.network_flex .network_title h2{color: #132051; font-size: 40px; word-break: keep-all; }
.network_flex .network_title p{color: #626d97; font-size: 16px; font-weight: bold; word-break: keep-all; margin-top: 10px;}
.network_flex .network_title .txt{text-align: left}
.network_flex .network_title .icon{text-align: right; width: 100%}
.network_flex .network_title img{display: inline-block}


.network_flex .network_list{flex:1; display: flex; gap:45px 24px; flex-wrap: wrap;}

.network_flex .network_list li{border: 2px solid #ebeff2; border-radius: 12px; width: calc(33.33% - 16px);
aspect-ratio: 386 / 200; display: flex; justify-content: center;
    align-items: center; background: #fff}

.network_flex .network_list li img{max-width: 100%; max-height: 100%; object-fit: contain;}

.network_flex + .network_flex{margin-top: 120px; padding-top: 120px; border-top: 2px solid #ebeff2 }










