
body{
margin:0;
font-family:'Noto Sans KR',sans-serif;
}

/* 헤더 */

.header{
background:#fff;
position:relative;
padding:15px 20px;
}

.logo-area{text-align:center;}

.logo-area img{height:45px;}

.top-menu{
position:absolute;
right:70px;
top:18px;
display:flex;
gap:20px;
font-size:14px;
}

.top-menu a{
text-decoration:none;
color:#333;
}

.menu-btn{
position:absolute;
right:20px;
top:12px;
font-size:30px;
cursor:pointer;
display:none;
}

/* 메인 메뉴 */

/* 메인 메뉴바 선명하게 */
.main-menu {
   background: linear-gradient(90deg, #005bac, #0087d5);
    box-shadow: 0 4px 12px rgba(0,0,0,0.22);
    border-top: 1px solid rgba(255,255,255,0.25);
    border-bottom: 3px solid #ffc107;
    position: relative;
    z-index: 50;
}

.main-menu ul {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0;
    list-style: none;
    display: flex;
    justify-content: center;
}

.main-menu ul li {
    position: relative;
}

.main-menu ul li a {
    display: block;
    padding: 18px 50px;
    color: #ffffff;
    font-size: 20px;
    font-weight: 500;
    text-decoration: none;
    letter-spacing: -0.5px;
    transition: all 0.25s ease;
}

.main-menu ul li a:hover {
    background: rgba(255,255,255,0.18);
    color: #fff4b0;
}

.main-menu ul li a::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 8px;
    width: 0;
    height: 3px;
    background: #ffc107;
    transform: translateX(-50%);
    transition: width 0.25s ease;
}

.main-menu ul li a:hover::after {
    width: 55%;
}

.main-menu a:hover{color:#0a6cff;}

/* 모바일 */

@media (max-width:768px){

.menu-btn{display:block;}
.top-menu{display:none;}

.main-menu ul{
flex-direction:column;
display:none;
}

.main-menu.active ul{display:block;}

.main-menu li{
padding:15px;
text-align:center;
border-bottom:1px solid #eee;
}

}

/* 메인 배너 */





.main-banner{
position:relative;
height:520px;
overflow:hidden;
}

.slide{
position:absolute;
width:100%;
height:100%;
background-size:cover;
background-position:center;
opacity:0;
transition:1s;
display:flex;
justify-content:center;
align-items:center;
}

.slide.active{opacity:1;}

.slide:after{
content:'';
position:absolute;
width:100%;
height:100%;
background:rgba(0,0,0,0.35);
}

.banner-text{
position:relative;
z-index:2;
color:#fff;
text-align:center;
}

.banner-text h2{
font-size:60px;
font-weight:800;
margin-bottom:20px;
}

.banner-text p{font-size:22px;}



/* 화살표 */

.arrow{
position:absolute;
top:50%;
transform:translateY(-50%);
font-size:40px;
color:#fff;
cursor:pointer;
padding:10px 15px;
background:rgba(0,0,0,0.3);
border-radius:50%;
z-index:3;
}

.left{left:30px;}
.right{right:30px;}

/* dots */

.dots{
position:absolute;
bottom:30px;
left:50%;
transform:translateX(-50%);
display:flex;
gap:10px;
}

.dots span{
width:12px;
height:12px;
background:#fff;
opacity:0.5;
border-radius:50%;
cursor:pointer;
}

.dots span.active{opacity:1;}

/* 카드 */

.card-banner{
background:#f6f8fb;
padding:80px 20px;
}

.card-wrap{
max-width:1200px;
margin:auto;
display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;
}

.card{
background:#fff;
padding:40px;
text-align:center;
border-radius:12px;
box-shadow:0 10px 30px rgba(0,0,0,0.08);
transition:all .3s;
cursor:pointer;
}

.card:hover{
transform:translateY(-8px);
box-shadow:0 15px 30px rgba(0,0,0,0.15);
}

.card-icon{
font-size:40px;
margin-bottom:20px;
}

.card h3{
font-size:20px;
font-weight:700;
}

/* 공지 + 자료실 */

.info-section{
position:relative;
padding:100px 20px;

background:url('https://images.unsplash.com/photo-1581093588401-22d4fbc1b4d3?auto=format&fit=crop&w=1920&q=80') center/cover no-repeat;
}

.info-section::before{
content:'';
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(120,120,120,0.55);
z-index:1;
}

.info-wrap{
position:relative;
z-index:2;
max-width:1200px;
margin:auto;
display:grid;
grid-template-columns:1fr 1fr;
gap:40px;
}

.info-box{
background:#fff;
padding:40px;
border-radius:12px;
box-shadow:0 10px 30px rgba(0,0,0,0.1);
}

.info-box h3{
font-size:26px;
font-weight:800;
margin-bottom:20px;
border-left:5px solid #0a6cff;
padding-left:12px;
}

.info-box ul{
list-style:none;
padding:0;
margin:0;
}

.info-box li{
padding:10px 0;
border-bottom:1px solid #eee;
display:flex;
justify-content:space-between;
}

.more-btn{
display:inline-block;
margin-top:15px;
color:#0a6cff;
text-decoration:none;
}



.info-box ul{
list-style:none;
padding:0;
margin:0;
}

.info-box li{
display:flex;
justify-content:space-between;
padding:6px 0;
border-bottom:1px solid #eee;
font-size:14px;
}

.info-box li a{
flex:1;                /* ⭐ 이게 핵심 */
text-align:left;       /* 좌측 정렬 */
color:#333;
text-decoration:none;
}

.info-box li a:hover{
color:#1e73be;
}

.info-box li span{
margin-left:10px;
color:#999;
font-size:13px;
white-space:nowrap;
}

.more-btn{
display:block;
text-align:right;
margin-top:10px;
font-size:13px;
}







/* 협력업체 */
.partner_wrap{
    background:#f5f5f5;
    padding:50px 0;
}

.partner_inner{
    width:1200px;
    margin:0 auto;
    text-align:center;
}

.partner_inner h2{
    font-size:24px;
    margin-bottom:30px;
}

.partner_slider{
    display:flex;
    gap:30px;
    justify-content:center;
    align-items:center;
}

.partner_item img{
    height:68px;
    filter:grayscale(100%);
    transition:0.1s;
}

.partner_item img:hover{
    filter:none;
}



/* footer */

.footer{
background:#222;
color:#ccc;
padding:40px 20px;
text-align:center;
}

.footer-logo{
font-size:22px;
font-weight:700;
color:#fff;
margin-bottom:10px;
}

.copy{color:#888;}


/* 데이타 테이블*/
.subt_his{
    
    border-collapse:collapse;
    margin-top:20px;
    font-size:17px;
}

.subt_his thead{
    background:#dfe6f1;
    color:#fff;
	
}

.subt_his th{
    padding:12px 8px;
    border:1px solid #ddd;
    text-align:center;
	color: black;
	font-size:18px;
	font-weight:400;
}

.subt_his td{
    padding:10px 8px;
    border:1px solid #ddd;
    text-align:center;
}


.subt_his td.td_left{
     text-align:left !important;
}

.subt_his tbody tr:hover{
    background:#f7f7f7;
}

.subt_his a{
    color:#2c3e50;
    text-decoration:none;
    font-weight:500;
}

.subt_his a:hover{
    color:#007bff;
}







.title_blue_s{
    width:90%;
	font-size:32px;
    font-weight:500;
    color:#000;
    margin:30px 0 15px 0;
    padding:20px;
   
	text-align:center;
}


.paging{
    text-align:center;
    margin:30px 0;
}

.paging a,
.paging span{
    display:inline-block;
    padding:6px 12px;
    margin:2px;
    border:1px solid #ddd;
    text-decoration:none;
    font-size:14px;
}

.paging a:hover{
    background:#3498db;
    color:#fff;
}

.page_on{
    background:#3498db;
    color:#fff;
    border:1px solid #3498db;
}

.page_btn{
    color:#333;
}




/* 과정상세페이지 ?*/
.page_title{
font-size:28px;
font-weight:700;
margin:30px 0;
}

.edu_card{
max-width:900px;
margin:auto;
background:white;
padding:30px;
border-radius:10px;
box-shadow:0 4px 15px rgba(0,0,0,0.08);
}

.edu_header{
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:25px;
}

.edu_title{
font-size:22px;
font-weight:700;
}

.edu_badge{
padding:6px 14px;
border-radius:20px;
font-size:14px;
}

.edu_badge.open{
background:#e6f4ea;
color:#2e7d32;
}

.edu_badge.close{
background:#fdecea;
color:#c62828;
}

.edu_info{
display:grid;
grid-template-columns:1fr 1fr;
gap:15px;
margin-bottom:30px;
}

.info_row span{
font-size:13px;
color:#666;
}

.info_row p{
font-size:15px;
font-weight:500;
margin-top:4px;
}

.edu_capacity{
margin-bottom:25px;
}

.cap_title{
font-weight:600;
margin-bottom:6px;
}

.cap_text{
margin-bottom:10px;
}

.progress_bar{
height:10px;
background:#eee;
border-radius:5px;
overflow:hidden;
}

.progress_fill{
height:100%;
background:#2c7be5;
}

.edu_file{
margin-bottom:20px;
}

.btn_download{
display:inline-block;
padding:8px 16px;
background:#444;
color:white;
border-radius:4px;
text-decoration:none;
}

.edu_map{
margin-top:20px;
}

.edu_btn{
margin-top:30px;
text-align:center;
}

.btn_apply{
background:#2c7be5;
color:white;
padding:14px 40px;
border-radius:6px;
font-size:18px;
text-decoration:none;
}

.btn_close{
background:#999;
color:white;
padding:14px 40px;
border-radius:6px;
display:inline-block;
}

/* 모바일 */
@media (max-width:768px){

.edu_info{
grid-template-columns:1fr;
}

.edu_header{
flex-direction:column;
align-items:flex-start;
gap:10px;
}

.page_title{
font-size:22px;
}

}

.edu_desc{
margin-top:30px;
}

.desc_title{
font-size:18px;
font-weight:700;
margin-bottom:10px;
}

.desc_box{
background:#f7f9fb;
padding:20px;
border-radius:6px;
line-height:1.7;
border:1px solid #e2e8f0;
}

.edu_map{
margin-top:30px;
}


/* 교육신청 테이블 */

.subt_rsv{
width:90%;
border-collapse:collapse;
background:#fff;
border-radius:8px;
overflow:hidden;
box-shadow:0 4px 12px rgba(0,0,0,0.05);
margin-bottom:20px;
}

/* 헤더 */

.subt_rsv th{
background:#dfe6f1;
color:#333;
font-weight:600;
font-size:14px;
padding:12px 10px;
border-bottom:1px solid #e6e9ef;
border-top:1px solid #e6e9ef;
text-align:center;
}

/* 내용 */

.subt_rsv td{
padding:10px;
border-bottom:1px solid #eee;
border-top:1px solid #eee;
font-size:14px;
vertical-align:middle;
}

/* 마지막 줄 */

.subt_rsv tr:last-child td{
border-bottom:none;
}

/* 입력폼 */

.subt_rsv input[type=text],
.subt_rsv input[type=file],
.subt_rsv select,
.subt_rsv textarea{
width:100%;
padding:7px 8px;
border:1px solid #ccc;
border-radius:4px;
font-size:13px;
box-sizing:border-box;
}

/* textarea */

.subt_rsv textarea{
resize:vertical;
}

/* 버튼 */

.subt_rsv input[type=button],
.subt_rsv button{
background:#2d8cff;
color:#fff;
border:none;
padding:6px 12px;
border-radius:4px;
cursor:pointer;
font-size:13px;
}

.subt_rsv input[type=button]:hover{
background:#1f6fd6;
}

/* 모바일 */

@media (max-width:768px){

.subt_rsv th,
.subt_rsv td{
font-size:13px;
padding:8px 6px;
}

.subt_rsv input[type=text],
.subt_rsv select{
font-size:13px;
}

}


/* 메인메뉴밑에 타이틀 이미지 부분 */
.sub-banner{
width:100%;
max-width:1200px;
margin:0 auto;
display:flex;
align-items:center;
justify-content:space-between;
padding:20px 20px 15px 20px;
border-bottom:1px solid #ddd;
}

.sub-left img{
height:120px;
}

.sub-right img{
height:140px;
}

.sub-text{
text-align:center;
flex:1;
}

.sub-main{
font-size:32px;
font-weight:700;
color:#333;
}

.sub-main span{
color:#6c63ff;
}

.sub-sub{
font-size:17px;
color:#777;
margin-top:5px;
}

.sub-org{
font-size:20px;
margin-top:6px;
font-weight:600;
color:#2c3e50;
}

.sub-right img{
animation: float 3s ease-in-out infinite;
}

@keyframes float{

0%{ transform:translateY(0px); }

50%{ transform:translateY(-8px); }

100%{ transform:translateY(0px); }

}

#bo_list,
#bo_v,
#bo_w,
#bo_w_wrap{
max-width:1200px;
margin:0 auto;
}



/* 검색박스 */

.search-box{
background:#fff;
padding:20px;
border-radius:10px;
box-shadow:0 5px 20px rgba(0,0,0,0.05);
margin-bottom:30px;
}

.search-inner{
display:flex;
flex-wrap:wrap;
gap:10px;
align-items:center;
justify-content:center;
}

/* 셀렉트 */

.search-select{
height:40px;
padding:0 10px;
border:1px solid #ddd;
border-radius:6px;
font-size:14px;
min-width:120px;
}

/* 입력창 */

.search-input{
height:40px;
padding:0 12px;
border:1px solid #ddd;
border-radius:6px;
font-size:14px;
width:250px;
}

/* 버튼 */

.search-btn{
height:40px;
padding:0 20px;
background:#1e73be;
color:#fff;
border:none;
border-radius:6px;
font-size:14px;
cursor:pointer;
transition:0.3s;
}

.search-btn:hover{
background:#155a96;
}

/* 반응형 */

@media(max-width:768px){

.search-inner{
flex-direction:column;
}

.search-input{
width:100%;
}

.search-select{
width:100%;
}

.search-btn{
width:100%;
}

}




.admin-tab{
display:flex;
flex-wrap:wrap;
gap:10px;
width:100%;
max-width:800px;
padding:15px 20px;
background:#fff;
border-bottom:1px solid #ddd;
margin:0;
}

.admin-tab a{
padding:10px 18px;
border-radius:6px;
text-decoration:none;
color:#333;
background:#f1f3f5;
}

.admin-tab a.active{
background:#305492;
color:#fff;
}

.admin-tab a.logout{
margin-left:auto;
background:#e74c3c;
color:#fff;
}

/* 모바일 */

@media(max-width:768px){

.admin-tab{
flex-direction:column;
}

.admin-tab a{
width:100%;
text-align:center;
}

.admin-tab a.logout{
margin-left:0;
}

}



/* 교육신청 */

.edu_container{
max-width:1100px;
margin:auto;

}

.edu_card{
background:#fff;
border-radius:12px;
box-shadow:0 10px 30px rgba(0,0,0,0.08);
padding:35px;
margin-bottom:40px;
}

.edu_header{
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:30px;
}

.edu_title{
font-size:28px;
font-weight:700;
}

.edu_badge{
padding:8px 16px;
border-radius:30px;
font-size:14px;
font-weight:600;
}

.edu_badge.open{
background:#e8f7ef;
color:#1f9d55;
}

.edu_badge.close{
background:#ffe8e8;
color:#d63031;
}

.edu_info{
display:grid;
grid-template-columns:1fr 1fr;
gap:20px;
margin-bottom:30px;
}

.info_row span{
font-size:13px;
color:#888;
display:block;
margin-bottom:3px;
}

.info_row p{
font-size:16px;
font-weight:600;
}

.edu_capacity{
margin-top:20px;
}

.cap_title{
font-size:16px;
font-weight:700;
margin-bottom:10px;
}

.cap_text{
font-size:14px;
margin-bottom:8px;
}

.progress_bar{
background:#eee;
height:8px;
border-radius:10px;
overflow:hidden;
}

.progress_fill{
background:#2d8cff;
height:100%;
}

.edu_desc{
margin-top:30px;
}

.desc_title{
font-size:18px;
font-weight:700;
margin-bottom:10px;
}

.desc_box{
background:#f7f9fb;
padding:20px;
border-radius:6px;
border:1px solid #e2e8f0;
line-height:1.7;
text-align:left;
}

.edu_file{
margin-top:25px;
}

.btn_download{
display:inline-block;
padding:10px 18px;
background:#444;
color:#fff;
border-radius:5px;
text-decoration:none;
}

.edu_map{
margin-top:40px;
}

.edu_btn{
margin-top:35px;
text-align:center;
}

.btn_apply{
background:#2d8cff;
color:#fff;
padding:14px 40px;
border-radius:6px;
font-size:16px;
text-decoration:none;
}

.btn_close{
background:#ccc;
padding:14px 40px;
border-radius:6px;
font-size:16px;
display:inline-block;
}

@media(max-width:768px){

.edu_info{
grid-template-columns:1fr;
}

.edu_title{
font-size:22px;
}

}


.container{
max-width:1000px;
margin:0 auto;
padding:20px;
}

.form-box{
background:#fff;
padding:20px;
border-radius:10px;
box-shadow:0 5px 20px rgba(0,0,0,0.05);
}

.form-row{
display:flex;
align-items:center;
margin-bottom:15px;
gap:10px;
}

.form-row label{
width:150px;
font-weight:600;
}

.form-row input,
.form-row select{
flex:1;
height:40px;
border:1px solid #ddd;
border-radius:6px;
padding:0 10px;
}

.btn-area{
text-align:center;
margin-top:20px;
}

.btn{
padding:10px 20px;
border:none;
border-radius:6px;
cursor:pointer;
}

.btn.blue{
background:#305492;
color:#fff;
}