@charset "utf-8";

/******************** main_visual ********************/
/* main_visual */
#main_visual {position:relative;}
.main_visual {position:relative; overflow:hidden; width:100%; min-width:1200px; height:450px}
.main_picture {position:absolute; top:0; left:0; z-index:10; width:100%; min-width:1000px; vertical-align:top;}
.picture2 {display:none;}
.current {position:absolute; top:0; left:0; width:100%; height:auto; min-height:450px;}
/* main_text */
.main_text {position:relative; top:145px; left:0; z-index:100; margin:0 auto; width:1200px; display:flex; flex-direction: column; justify-content: center;}
.main_text p {overflow:hidden}
.main_text p span {display: block; color:#fff; line-height: 1.2; text-shadow: 2px 2px 5px rgba(0,0,0,0.3);}
.main_text p .mv_txt01 {font-size:60px; font-weight: 600;}
.main_text p .mv_txt02 {font-size:40px; font-weight: 300; letter-spacing: -1px;}


/* main_dot */
.main_dot {position:absolute; top:330px; left:50%; transform: translateX(-50%); z-index:200; overflow:hidden; width:1200px; padding:0 10px; box-sizing: border-box; display:flex; align-items: center; gap:10px;}
.main_dot button {float:left; margin-top:3px; font-family:"'Font Awesome 6 Free'", "FontAwesome", "Font Awesome"; color:#fff;}
.main_dot button.btn_play { font-size: 15px; margin-right:14px;}


.main_dot a {overflow:hidden; float:left; display:block; width:12px; height:12px; border-radius:20px; background:#fff; text-indent:-999999px; line-height:1;}
.main_dot a.dot_first {margin-left:29px;}
.main_dot a.dot.dot_on {width:30px !important; background:#59b42c;}


/*** 제대로 사서함 ***/

.post_office_box {
    z-index: 99999;
    overflow: hidden;
    position: absolute;
    top:50%;
    right: 50%;
    transform: translateY(-50%);
    margin-right: -600px;
    padding:16px;
    width:416px;
    min-height:275px;
    background-color: rgba(255,255,255,0.95);
    border-radius: 12px;    
    color: #000;
}
.post_office_box h2 {
    height:52px;
    background-color: #b3b7c4;
    border-radius: 50px;
    font-size: 21px;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
}
.post_office_box > p {
    margin:15px 0;
    font-size: 16px;
    text-align: center;
    letter-spacing: -1px;
}
.post_office_box ul {
    display: flex;
    gap:12px;
    margin:0 20px;
}
.post_office_box ul li {
    flex:1;
    padding:10px 0;
    background-color: #e5e8eb;
    border-radius: 12px;
    text-align: center;
}
.post_office_box ul li a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.post_office_box ul li a > span {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 10px;
    width: 64px;
    height: 64px;
    color:#fff;
    border-radius: 35px;
    font-size: 26px;
}
.post_office_box ul li a span.ic01 {
    background-color: #0058cb;
}
.post_office_box ul li a span.ic02 {
    background-color: #00a8e7;
}
.post_office_box ul li a span.ic03 {
    background-color: #6bb42c;
}
.post_office_box ul li a p {
    line-height: 1.3;
}
.post_office_box ul li a p span {
    display: block;
    font-size: 15px;
}
.post_office_box ul li:hover {
    font-weight: bold;
    transition: 0.3s;
}

/******************** main_contents ********************/
/***** main_layout *****/
#main_contents {position:relative; z-index:200; width:100%; min-width:1200px; background:#f7f7f7; text-align:center;}

.main-sect {
    position:relative;
    padding:40px 0 0;
}

.main-sect .tit {
    position: relative;
    margin-bottom:25px;
}
.main-sect .tit h2 {
    display: flex;
    gap:24px;
    align-items: baseline;
    font-size:24px;
    color:#000;
    font-weight:600;
}
.main-sect .more {
    position:absolute;
    top:10px;
    right:24px;
    display:flex;
    gap:10px;
    align-items: center;
    overflow:hidden;
    font-size: 15px;
    color:#333333;
}
.main-sect .more i {
    font-size: 13px;
}

.main-sect02 {
    position:relative;
    padding:40px 0 0;
}

.maincon {
    display: flex;
    gap:32px;
}
.maincon > div {
    flex:1;
}
.maincon.bg > div {
    padding:30px;
    background:#f8f8f8;
    border-radius: 20px;
}

/* 자주 찾는 서비스 */
.main_banner {
    display: flex;
    flex-direction: column;
}
.main_banner ul {
    display: flex;
    gap:12px;
}
.main_banner ul li {
    flex:1;
    height: 130px;
    background-color: #f2f3f7;
    border:1px solid #ddd;
    border-radius: 20px;
    text-align: center;
    color: #333;
    transition: 0.3s;
}
.main_banner ul li a {
    display: flex;
    flex-direction: column;
    gap: 16px;
    height: 100%;
    padding:16px;
    box-sizing: border-box;
    background: url("../image/main/ic_right.svg") 93% 7% no-repeat;
    background-size: auto 13px;
}
.main_banner ul li a:hover {
    background: url("../image/main/ic_right02.svg") 93% 7% no-repeat;
    background-size: auto 13px;
}
.main_banner ul li.newwindow a {
    background: url("../image/main/ic_new_window.svg") 93% 7% no-repeat;
    background-size: 13px;
}
.main_banner ul li.newwindow a:hover {
    background: url("../image/main/ic_new_window02.svg") 93% 7% no-repeat;
    background-size: 13px;
}
.main_banner ul li a > span {
    display: block;
    height: 43px;
}
.main_banner ul li span.ic01 {
    background: url("../image/main/main_banner01.svg") 50% 50% no-repeat; 
    height: 60px;
}
.main_banner ul li span.ic02 {
    background: url("../image/main/main_banner02.svg") 50% 50% no-repeat;
}
.main_banner ul li span.ic03 {
    background: url("../image/main/main_banner03.svg") 50% 50% no-repeat; 
    background-size: 23%;
}
.main_banner ul li span.ic04 {
    background: url("../image/main/main_banner04.svg") 50% 50% no-repeat; 
    background-size: 16%;
}
.main_banner ul li span.ic05 {
    background: url("../image/main/main_banner05.svg") 50% 50% no-repeat; 
    background-size: 18%;
}
.main_banner ul li span.ic06 {
    background: url("../image/main/main_banner06.svg") 50% 50% no-repeat; 
    background-size: 16%;
}

.main_banner ul li:hover span.ic02 {
    background: url("../image/main/main_banner02_on.svg") 50% 50% no-repeat;
}
.main_banner ul li:hover span.ic03 {
    background: url("../image/main/main_banner03_on.svg") 50% 50% no-repeat; 
    background-size: 23%;
}
.main_banner ul li:hover span.ic04 {
    background: url("../image/main/main_banner04_on.svg") 50% 50% no-repeat; 
    background-size: 16%;
}
.main_banner ul li:hover span.ic05 {
    background: url("../image/main/main_banner05_on.svg") 50% 50% no-repeat; 
    background-size: 18%;
}
.main_banner ul li:hover span.ic06 {
    background: url("../image/main/main_banner06_on.svg") 50% 50% no-repeat; 
    background-size: 16%;
}
.main_banner ul li p {
    line-height: 1.2;
}
.main_banner ul li p > span {
    display: block;
    font-size: 15px;
}
.main_banner ul li:hover {
    background-color: #0e4194;
    border-color:#0e4194;
    color: #fff;
    transition: 0.3s;
}

/***** 게시판영역 *****/
.main_board {
    position:relative;
    display:flex;
    gap:32px;
    min-height:330px;
}
/* 공지사항 */
.main_notice {
    position:relative;
    width:584px;
}
.main_notice .more {
    right:0;
}
.main_notice .tit {
    margin-top: 3px;
}
.main_notice > ul {
    position:absolute;
    top:0;
    margin-left:125px;
    height:44px;
    background:#f6f6f6;
    border-radius: 20px;
    display: flex;
    align-items: center;
    
}
.main_notice > ul >li {
    color:#555;
}
.main_notice ul li h3 {
    cursor: pointer;
    font-weight: 700;
    font-size:17px;
    line-height:1;
    color:#1d1d1d;
}
.main_notice ul li h3:focus {
    border:2px solid #000;
}
.main_notice ul li h3 a {
    width:100%;
    padding:9px 26px;
    color:#555;
    font-weight: 400;
}
.main_notice ul li.on h3 a {
    width:100%;
    padding:12px 26px;
    background:#59b42c;
    border-radius: 25px;;
    color:#fff;
    font-weight: 700;
}
.main_notice ul li.on .board_list {
    display:block;
    width:584px;
    height:264px;
    border:1px solid #d8d8d8;
    border-radius: 20px;
    background-color: #fff;
}
.main_notice ul li.on .more {
    display:flex;
    top:-55px;
    right: 0;
}
.main_notice ul li .board_list, .main_notice ul li .more {
    display:none
}
  
.main_notice .board_list {
    position:absolute;
    left:-125px;
    top:64px;
    width:100%;
    color:#000;
    border-top:1px solid #d8d8d8;
}
.main_notice .board_list li {
    margin:0;
    color:#555;
}
.main_notice .board_list li a:hover .subject {
    font-weight: 600;
    color:#000;
    transition: 0.3s;
}
.main_notice .board_list li a:hover .date, .main_notice .board_list li a:hover .name, .main_notice .board_list li a:hover .name i {
    font-weight: 600;
    color:#000;
    transition: 0.3s;
}

/* 보도자료 */
.main_board .board_list.news .name {
    width: 80px;
    flex-shrink: 0;
    padding-left:20px; 
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    word-break: break-all;
}
.main_board .board_list.news .name i {
    margin-right:5px;
    font-size:13px;
    color:#999;
}
.main_board .board_list.news .subject {
    flex:1;
}

/* 과제공고 */
.main_notice.report .board_list {
    gap: 24px;
    position: relative;
    top:0;
    left:0;
    margin:0;
    border-top: none;
    background-color: #fff;
    height: auto;
}
.main_notice.report .board_list li {
    flex:1;
    height: 264px;
    margin:0 !important;
    padding:0;
    background-color: #ffce82;
    /*border: 1px solid #d8d8d8 !important;*/
    border-radius: 20px;
    transition: 0.3s;
}
.main_notice.report .board_list li:hover, .main_notice.report .board_list li:hover .comment {
    /*border-color: #999 !important;*/
    transition: 0.3s;
}
.main_notice.report .board_list li a {
    flex-direction: column;
    align-items: flex-start;
    justify-content: normal;
    gap: 15px;
    height: 100%;
    border-radius: 17px;
    box-sizing: border-box;
}
.main_notice.report .board_list .subject {
    width: 100%;
    padding: 30px 30px 0;
    white-space: normal;
    font-size: 19px;
    font-weight: 600;
    color: #000;
    box-sizing: border-box;
    text-align: justify;
}
.main_notice.report .board_list .comment {
    display: block;
    padding: 0 30px 30px;
    border-bottom: 1px solid #ffb644;
    text-align: justify;
}
.main_notice.report .board_list li:hover .comment {
    color: #000;
}
.main_notice.report .board_list .date {
    padding:0 30px;
}


/* 추출게시판공통 */
.main_board .board_list li  {
    margin:4px 0;
    padding:17px 35px 0 45px;
}
.main_board .board_list li:first-child {
    margin-top:5px;
    border-top:none;
}
.main_board .board_list.lstyle01 li::before {
    left:35px;
    top:27px;
    background:#555;
}
.main_board .board_list.lstyle01 li:hover::before {
    background:#000;
    transition: 0.3s;
}
.main_board .board_list li a {
    display:flex;
    align-items: center;
    justify-content: space-between;
    position:relative;
    gap:20px;
}
.main_board .board_list .subject {
    display:block;
    overflow: hidden;
    width:80%;
    white-space: nowrap;
    text-overflow : ellipsis;
}
.main_board .board_list .comment {
    display: none;
}
.main_board .board_list .date, .main_board .board_list .name {
    display:block;
    font-size: 15px;
    color:#555;
}


/* Quick Link */
.quicklink .line_list {
    padding:40px 30px 33px;
    background-color: #e8f1fa;
    border-radius: 20px;
}
.quicklink .line_list p {
    font-size: 19px;
    font-weight: 500;
    color: #000;
    line-height: 1;
}
.quicklink .line_list ul {
    padding-top: 30px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap:10px 12px;
}
.quicklink .line_list ul li {
    background-color: #fff;
    border:1px solid #b0cae3;
    border-radius: 12px;
    font-size: 16px;
    color:#000;
    transition: 0.3s;
}
.quicklink .line_list ul li a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 20px;
}
.quicklink .line_list ul li a i {
    font-size: 13px;
    color:#bbb;
}

.quicklink .line_list ul li:hover {
    background-color: #b0cae3;
    border-color: #97b9d9;
}
.quicklink .line_list ul li:hover a i {
    color:#6482a0;
}


/* 주요문의처 */
.maincon.bg h2 {
    font-size: 20px;
    color:#000;
}
.maincon.bg h2 i {
    width: 26px;
    height:26px;
    line-height: 26px;
    text-align: center;
    margin-right:12px;
    font-size: 13px;
    color: #fff;
    border-radius: 8px;
    vertical-align: text-bottom;
}
.maincon .contact_us {
    display: flex;
    flex-direction: column;
    gap:16px;
}
.maincon .contact_us h2 span {
    margin-left: 30px;
    font-size: 17px;
    font-weight: 600;
    letter-spacing: 0;
}
.maincon .contact_us h2 i {
    background-color: #0e4194;
}
.maincon .contact_us ul {
    flex:1;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap:5px;
}
.maincon .contact_us ul li {
    flex:1;
    padding: 5px 12px;
    background-color: #fff;
    border-radius: 12px;
    display: grid;
    grid-template-columns: 70% auto;
    color: #0e4194;
}
.maincon .contact_us ul li span {
    position: relative;
    font-size: 16px;
    color:#000;
}
.maincon .contact_us ul li span::after {
    content: '';
    position: absolute;
    left: 90px;
    top: 7px;
    width:1px;
    height:12px;
    background-color: #ddd;
}

/* SNS */
.maincon .snslist h2 i {
    background-color: #6bb42c;
}
.maincon .snslist h2 span {
    float: right;
    font-size: 17px;
    font-weight: 600;
    color: #555;
    letter-spacing: 0;
}
.maincon .snslist ul {
    display: flex;
    gap:40px;
    justify-content: center;
    margin-top:30px;
    padding: 30px 0;
    background-color: #fff;
    border-radius: 12px;
}
.maincon .snslist ul li a {
    display: flex;
    align-items: center;
    gap:10px;
    font-weight: 600;
    color: #000;
}
.maincon .snslist ul li span {
    width:40px;
    height:40px;
    border-radius: 12px;
    background-color: #ddd;
}
.maincon .snslist ul li span.ic01 {
    background: url("../image/main/sns01.svg") 50% 50% no-repeat; 
}
.maincon .snslist ul li span.ic02 {
    background: url("../image/main/sns02.svg") 50% 50% no-repeat; 
}
.maincon .snslist ul li span.ic03 {
    background: url("../image/main/sns03.svg") 50% 50% no-repeat; 
}