* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
.wrap {
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
}
.inner_wrap {
    width: 80%; /* width: 78%; */
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-between;
    height: 70px;
}

/* header */
header {
    width: 100%;
    background: #fff;
    z-index: 9000;
    box-shadow: 0 1px 5px rgba(0,0,0,0.1);
}
header > .inner_wrap {
    width: 100%;
    max-width: 1500px;
    margin: 0 auto;
    height: 70px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}

.inner_wrap .logo {
    line-height: 68px;
    margin-left: 3rem;
}
.m_gnbBox {
    display: none;
}
.gnb {
    display: flex;
    width: 100%;
    position: relative;
    border-bottom: 1px solid #ddd;
    background: #fff;
}
.t_menu {
    display: flex;
    justify-content: flex-end;
    width: 100%;
    height: 100%;
    align-items: center;
}
.gnb_list {
    display: flex;
    gap: 60px; 
}
.gnb_list h2 {
    font-size: 18px;
    font-weight: 700;
    color: #000;
    cursor: pointer;
}

.btn_menu_close {
    position: absolute;
    right: 100px;
    top: 60px;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    background: transparent;
    border: none;
    cursor: pointer;
}
.btn_menu_close::before, .btn_menu_close::after {
    content: '';
    position: absolute;
    top: 50%; left: 50%;
    width: 24px; height: 2px;
    background: #333;
}
.btn_menu_close::before { 
    transform: translate(-50%, -50%) rotate(45deg); 
}
.btn_menu_close::after { 
    transform: translate(-50%, -50%) rotate(-45deg); 
}

.pc_full_menu {
    /* display: none;  */
    position: absolute;
    top: 70px; 
    width: 100vw; 
    left: 50%;
    transform: translateX(-50%); 
    background: #fff;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    box-shadow: 0 10px 20px rgba(0,0,0,0.05);
    z-index: 9999;
    padding: 40px 0;
    box-sizing: border-box;
}
.pc_full_menu.active {
    display: block;
}

.pc_full_menu .inner_wrap {
    display: flex;
    width: 100%;
    max-width: 1500px;;
    margin: 0 auto;
    height: auto;
    justify-content: flex-end;
}

.menu_col {
    display: block;
    width: 20%;
    max-width: 280px;
    padding: 0 20px;
    border-right: 1px solid #e0e0e0; 
    background-color: #purple;
    height: 100%;
}

.menu_col:last-child {
    border-right: none;
}

.menu_col h3 {
    font-size: 20px;
    font-weight: 700;
    color: #000;
    margin-bottom: 20px;
}

.menu_col ul li {
    margin-bottom: 12px; 
}

.menu_col ul li a {
    font-size: 15px;
    color: #666;
    transition: color 0.2s;
}

.menu_col ul li a:hover {
    color: #0c9389 !important;
    font-weight: 500;
    text-decoration: underline;
}

.btn-h-down {
    display: inline-block;
    padding: 3px 15px;
    background-color: #0056b3;
    color: #fff !important;
    border-radius: 3px;
}

.t_menu > ul {
    display: flex; 
    gap: 3rem;
}
.t_menu > ul > li {
    display: block;
}
.t_menu ul li:last-child {
    margin-right: 3rem;
}
.t_menu > ul > li > a {
    display: block;
    min-width: 140px;
    text-align: center;
    height: 70px;
    line-height: 70px; 
}
.t_menu > ul > li > a h2 {
    display: inline-block;
    font-size: 17px;
    font-weight: bold;
    letter-spacing: -1px;
    margin: 0;
    vertical-align: middle;
}
.t_menu ul li a:link,
.t_menu ul li a:active,
.t_menu ul li a:visited {
    color: #000;
}
.t_menu > ul > li > a:hover h2 {
    color: #06b3ba;
}
.depth_box {
    display: none; 
    position: absolute;
    top: 100%; 
    left: 0;
    width: 100%;
    background: #f8f8f8; 
    /* border-bottom: 1px solid #ddd; */
    border-top: 1px solid #ddd;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    z-index: 90;
    padding: 20px 0;
}

.t_menu > ul > li.on .depth_box {
    display: block;
}

.depth_inner {
    width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: flex-end;
    gap: 40px; 
    /* background-color: #17ced5; */
}
.depth_inner > ul {
    display: flex;
    gap: 50px;
    text-align: right;
}

.depth_inner h3 {
    font-size: 16px;
    font-weight: 500;
    color: #000;
    margin-left: 55px;
    margin-bottom: 15px;
    padding-bottom: 10px;
    /* border-bottom: 2px solid #0056b3; */
}
.depth_inner h3:hover {
    color: #06b3ba;
    text-decoration: underline;
}

.sub_list li {
    margin-bottom: 8px;
}

.sub_list li a {
    font-size: 14px;
    color: #666;
    transition: color 0.2s;
}

.sub_list li a:hover {
    color: #0056b3;
    text-decoration: underline;
}

/* 컨텐츠 */
/* container */
.container {
    display: flex;
    flex-direction: column;
    align-items: center;
    /* background: yellow; */
    overflow: hidden;
}
.container > .inner_wrap {
    /* background: lightgreen; */
    height: auto;
}

.main_banner {
    display: flex;
    width: 100%;
}
.rollingBox {
    position: relative;
    width: 100%;
    height: 744px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.rolling_img {
    height: 744px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.rolling_img p {
    display: flex;
    flex-direction: column;
    width: 75%;
    margin: 0 auto;
    font-weight: normal;
    /* background-color: pink; */
}
.rolling_img p span,
.rolling_img p strong {
    color: #fff;
    font-size: 2.5rem;
    /* letter-spacing: -5px; */
    line-height: 1.2;
}
.rolling_img p strong {
    display: block;
    font-size: 3.5rem;
    margin-bottom: 100px;
}
.rolling_img1 {
    background: url('../images/main/rolling_banner_01.jpg') no-repeat;
    background-size: cover;
}

.rolling_info {
    position: absolute;
    bottom:280px;
    left: 240px;
    z-index: 5001;
}
.blit {
    display: inline-block;
}
.blit ul li {
    display: inline-block;
}
.blit ul li .ico_circle {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-right: 3rem;
    border-radius: 10px;
    background: #929292;
}
.blit ul li .ico_circle.on {
    width: 50px;
    background: #fff;
}

.b_numberBox {
    display: inline-block;
    width: 70px;
    height: 30px;
    margin-top: -5px;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 30px;
    text-align: center;
    vertical-align: 0;
    /* border: 10px solid red; */
}
.b_numberBox span,
.b_numberBox span b {
    color: #fff;
    letter-spacing: 2px;
}
.b_numberBox span {
    display: inline-block;
    margin-top: 5px;
}
.b_numberBox span b {
    color: #17ced5;
}

/* 자료실 + FAQ */
.m_boardBox {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 50%;
    padding: 65px 45px;
    box-sizing: border-box;
}
.m_b_titBox {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    vertical-align: 0;
}
.m_b_tit {
    font-size: 1.6rem;
    font-weight: bold;
    /* letter-spacing: -1px; */
}
.btn_b_more {
    display: inline-block;
    height: 30px;
    padding: 0 15px;
    font-size: .9rem;
    letter-spacing: -1px;
    background: #e3e3e3;
    border-radius: 50px;
    color:#000;
    line-height: 28px;
}
.btn_b_more::after {
    content: '+';
    padding-left: 5px;
    vertical-align: 1px;
}
.m_b_List {
    display: flex;
    width: 100%;
    height: 210px;
    margin-top: 10px;
    /* background-color: yellow; */
}
.m_b_List ul {
    width: 100%;
}
.m_b_List ul li {
    display: block;
    padding: 2px 0;
}
.m_b_List ul li a {
    display: inline-block;
    width: 85%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: 1rem;
    /* letter-spacing: -1px; */
}
.m_b_List ul li a:link,
.m_b_List ul li a:visited,
.m_b_List ul li a:active,
.m_b_List ul li a:hover {
    color: #000;
}
.m_b_List ul li a:hover {
    color: #17ced5;
    text-decoration: underline;
}
.m_b_List ul li a::before {
    content: '';
    display: inline-block;
    width: 5px;
    height: 5px;
    margin-right: 5px;
    border-radius: 5px;
    background-color: #d7d7d7;
    vertical-align: 2px;
    /* background: #d7d7d7; */
}
.m_b_List ul li .m_b_date {
    float: right;
    font-size: 1rem;
    /* letter-spacing: -1px; */
}
.m_b_faqList ul li a {
    width: 100%;
}
/* 내용이 없을 시 */
.nodataBox {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-size: 1rem;
    height: 100%;
    min-height: 230px;
    border-bottom: 1px solid #ddd;
}
.nodataBox img {
    display: block;
    margin-bottom: 10px;
}


/* 다이렉트 메뉴 */
.m_dirmenuBox {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    gap: 50px;
    width: 100%;
    padding-bottom: 80px;
}
.dirBox {
    display: flex;
    flex: 1;
    height: 210px;
    background-color: #e6f2ff;
    border-radius: 20px;
    padding: 40px 50px;
}
.dirBox:last-child {
    gap: 0;
}
.dirBox a {
    position: relative;
    display: block;
    width: 100%;
    /* background-color: yellowgreen; */
}
.dirBox a::after {
    position: absolute;
    right: 0;
    content: '';
    width: 100%;
    height: 100%;
    background-size: contain; 
    pointer-events: none;
}
.dirBox1 a::after {
    width: 63px;
    height: 94px;
    right: -10px;
    background:url('../images/main/dir_menu_01.png') no-repeat right 0;
}
.dirBox2 a::after {
    width: 91px;
    height: 72px;
    right: -20px;
    bottom: -50px;
    background:url('../images/main/dir_menu_02.png') no-repeat right 0;
}
.dirBox3 a::after {
    width: 79px;
    height: 91px;
    right: -20px;
    bottom: -20px;
    background:url('../images/main/dir_menu_03.png') no-repeat right 0;
}
.dirBox4 a::after {
    width: 81px;
    height: 84px;
    right: -30px;
    background:url('../images/main/dir_menu_04.png') no-repeat right 0;
}
.dirBox.dirBox2 {
    display: none;
}
.m_dir_tit {
    display: block;
    margin-bottom: 10px;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.2;
}
.btn_dir_link::after {
    content: '';
    display: inline-block;
    min-width: 9px;
    min-height: 15px;
    width: auto;
    height: auto;
    padding-left: 20px;
    background:url('../images/comm/ico_arrow.png') no-repeat center center;
    vertical-align: -3px;
}
/* 관련기관 */
.orzBox {
    display: flex;
    flex-direction: column;
    width: 100%;
    -webkit-overflow-scrolling: touch;
}
.orz_tit {
    display: block;
    width: 100%;
    margin-bottom: 50px;
    font-size: 1.7rem;
    font-weight: bold;
    text-align: center;
}
.orzBox ul {
    display: flex;
    flex-direction:row;
    flex-wrap: wrap;
    justify-content: flex-start;
    width: 100%;
}
.orzBox ul li {
    display: flex;
    width: 20%; 
    justify-content: center;
    align-items: center;
    margin-bottom: 20px;
}
.orzBox ul li img {
    width: 90%;
}
.orzBox ul li:nth-child(6),
.orzBox ul li:nth-child(7),
.orzBox ul li:nth-child(8),
.orzBox ul li:nth-child(9) {
    width: 25%;
}

/* footer */
footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 100px;
    padding-bottom: 120px;
    background: #f0f0f0;
}
footer > .inner_wrap {
    margin-top: 40px;
    justify-content: space-between;
    /* margin: 40px auto 0; */
}
.ft_logo {
    display: block;
    width: 17%;
    margin-right: 20px;
}
.ft_logo img {
    width: 100%;
}
.ft_info {
    flex: 1;
    padding: 0 20px;
}
.ft_info p,
.ft_info a,
.ft_info address {
    color: #666;
}
.ft_info address {
    margin-top: 20px;
}
.ft_info a:hover {
    text-decoration: underline;
}
.ft_site {
   display: flex;
   align-self: top;
   margin-top: 0;
}
.ft_site select {
    min-width: 189px;
    min-height: 40px;
    height: 40px;
    border: 1px solid #666;
    background-color: #fff;
    color: #666;
    line-height: 1;
    box-sizing: border-box;
}
.site_visitor {
    color: #666;
}


/***************************** 미디어쿼리 ************************************/
@media screen and (max-width:1500px) { 

    /* 공통 */
    .inner_wrap {
        width: 100%;
    }
    /* header */
    .btn_menu_close {
        right: 0;
        top: 55px;
    }
    /* 메인 */
    /* 롤링배너 */
    .rolling_img p {
        width: 93%;
    }
    .rolling_info {
        left: 60px;
    }
    /* 다이렉트 메뉴 */
    .dirBox4 a::after {
        bottom: -60px;
    }
    /* footer */
    footer > .inner_wrap {
        width: 93%;
    }


}
@media screen and (max-width:1366px) { 
    /* header */
    .pc_full_menu .inner_wrap {
        max-width: 100%;
        padding-right: 50px;
        padding-left: 50px;
    }
    .btn_menu_close {
        right: 40px;
    }
}
@media screen and (max-width:1280px) { 
    /* header */
    .menu_col {
        flex: 1;
    }
} 
@media screen and (max-width:1024px) {
 } 
@media screen and (max-width:980px) { 

    /* header
    .inner_wrap .logo {
        margin-left: 2rem;
    }
    .t_menu ul li:last-child {
        margin-right: 2rem;
    } */
    
    /* header */
    .pc_menu {
        display: none;
    }
    /* 모바일 메뉴 m_gnb */
    header > .inner_wrap {
        height: auto;
    }
    .gnb {
        width: auto;
    }
    .m_gnbBox {
        display: block;
    }
    .btn_m_gnbOpen {
        line-height: 70px;
        margin-right: 2rem;
    }
    .m_gnb {
        position: absolute;
        right: 0;
        top: 70px;
        z-index: 9001;
        width: 35%;
        height: 100vh;
        background: #fff;
        /* background-color: yellow; */
    }
    .m_gnb ul li {
        border-bottom: 1px solid #ddd;
    }
    .m_gnb ul li a h2 {
        height: 60px;
        font-size: 1.2rem;
        line-height: 60px;
        text-indent: 1rem;
        font-weight: 500;
    }
    .m_gnb .menu_col {
        display: flex;
        width: 100%;
        max-width: 100%;
        padding: 20px 0;
        background-color: #f8f8f8;
        /* border-top: 1px solid #ddd; */
    }
    .m_gnb .menu_col > ul > li {
        border:none;
    }
    .m_gnb .menu_col > ul > li a {
        display: block;
        font-size: 1rem;
        height: auto;
        line-height: 2;
        text-indent: 1rem;
    }
    .m_gnb .menu_col > ul > li a:hover {
        text-decoration: none;
    }

     /* 메인 */
    /* 롤링배너 */
    .rollingBox,
    .rolling_img {
        height: 550px;
    }
    .rolling_img p span,
    .rolling_img p strong {
        font-size: 2rem;
    }
    .rolling_img p strong {
         font-size: 3rem;
    }
    .rolling_info {
        left: 35px;
        bottom: 220px;
    }
    /* 게시판 */
    .nodataBox {
        min-height: 200px;
    }
    /* 다이렉트메뉴 */
    .m_dirmenuBox {
        gap: 30px;
        margin-bottom: 50px;
    }
    .dirBox {
        height: 180px;
        padding: 25px 20px;
    }
    .m_dir_tit {
        font-size: 1.3rem;
    }
    .dirBox a::after {
        width: 100px;
        height: 100px;
        right: 10px; 
        bottom: 10px; 
        background-size: contain;
        background-position: right bottom; 
    }
    .dirBox1 a::after {
        width: 50px;
        height: 63px;
        right: 5px; 
        bottom: 5px;
    }
    .dirBox2 a::after {
        width: 70px;
        height: 55px;
        right: 5px;
        bottom: -60px;
    }
    .dirBox3 a::after {
        width: 60px;
        height: 70px;
        right: 5px; 
        bottom: 5px;
    }
    .dirBox4 a::after {
        width: 60px;
        height: 65px;
        right: 5px;
        bottom: 5px;
    }
    /* 관련기관 */
    .orzBox {
        overflow: hidden;
        width: 100%;
        padding: 20px;
        box-sizing: border-box;
    }
    .orzBox ul {
        display: flex;
        flex-wrap: nowrap;
        width: max-content;
        padding: 0;
        margin: 0;
    }
    .orzBox ul li {
        flex: 0 0 auto;
        width: 180px; 
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 0 20px;
    }
    .orzBox ul li img {
        width: 100%;
        height: auto;
    }
    .orzBox ul li:nth-child(6),
    .orzBox ul li:nth-child(7),
    .orzBox ul li:nth-child(8),
    .orzBox ul li:nth-child(9) {
        width: auto;
    }

    /* footer */
    footer {
        height: 300px;
    }
    footer > .inner_wrap {
        display: flex;
        flex-direction: row; 
        justify-content: flex-start;
        align-items: start; 
        text-align: left;
        gap: 20px;
    }
    .ft_logo {
        width: 200px; 
        margin-right: 0;
    }
    .ft_info {
        width: 100%;  
        flex: none; 
        padding: 0;
    }
    .ft_info address {
        margin-top: 10px;
    }
    .ft_site {
        justify-content: start;
    }

} 
@media screen and (max-width:800px) {

 } 
@media screen and (max-width:768px) {


    /* header */
    .inner_wrap .logo {
        margin-left: 2rem;
    }
    /* 메인 */
    /* main */
    .rollingBox,
    .rolling_img {
        height: 480px;
    }
    .rolling_img p span,
    .rolling_img p strong {
        font-size: 1.5rem;
    }
    .rolling_img p strong {
        font-size: 2rem;
        margin-bottom: 30px;
    }
    .rolling_info {
        left: 30px;
        bottom: 180px;
    }
    .blit ul li .ico_circle.on {
        width: 40px;
    }
    .blit ul li .ico_circle {
        margin-right: 2rem;
    }
    /* 게시판 */
    .m_boardBox {
        width: 100%;
    }
    .m_boardBox:nth-child(2) {
        display: none;
    }
    /* 다이렉트메뉴 */
    .m_dirmenuBox {
        display: flex;
        flex-wrap: wrap; 
        width: 100%;
        gap: 20px;
        box-sizing: border-box;
        padding: 0 30px;
    }
    .dirBox {
        width: calc((100% - 20px) / 2);
        flex: none;
        height: 180px;
        box-sizing: border-box;
    }
    .dirBox.dirBox2 {
        display: block;
    }


 } 
@media screen and (max-width:640px) { 

    /* header */
    .inner_wrap .logo {
        line-height: 50px;
    }
    .inner_wrap .logo img {
        width: 60%;
    }
    .btn_m_gnbOpen {
        line-height: 50px;
    }
    .m_gnb {
        width: 40%;
        top: 50px;
    }
    /* 메인 */
    /* 메인롤링배너 */
    .rollingBox, .rolling_img {
        height: 400px;
    }
    .rolling_info {
        bottom: 120px;
    }
    /* 게시판 */
    .m_boardBox {
        padding: 40px 30px;
    }
    .m_b_List ul li a {
        width: 80%;
    }
    footer {
        height: 350px;
        margin-top: 0;
    }
} 
@media screen and (max-width:600px) {

 } 
@media screen and (max-width:480px) { 
    
    /* header */
    .m_gnb {
        width: 50%;
    }

    /* 메인 */
    /* 메인롤링배너 */
    .rollingBox, .rolling_img {
        height: 310px;
    }
    .rolling_img p {
        width: 85%;
    }
    .rolling_img p span,
    .rolling_img p strong {
        font-size: 1.2rem;
        line-height: 1.3;
    }
    .rolling_img p strong {
        font-size: 1.5rem;
    }
    .rolling_info {
        bottom: 80px;
    }
    /* 게시판 */
    .m_boardBox {
        padding: 40px 30px;
    }
    .m_b_List ul li a {
        width: 70%;
    }
    .m_b_tit {
        font-size: 1.2rem;
    }
    /* 다이렉트 메뉴 */
    .m_dirmenuBox {
        margin-bottom: 10px;
    }
    .m_dir_tit {
        font-size: 1rem;
    }
    .dirBox {
        height: 130px;
    }
    .btn_dir_link {
        font-size: .8rem;
    }
    .dirBox {
        padding: 15px 20px;
    }
    .dirBox1 a::after {
        width: 33px;
        height: 47px;
        right: 5px; 
        bottom: 5px;
    }
    .dirBox2 a::after {
        width: 43px;
        height: 47px;
        right: 5px;
        bottom: -40px;
    }
    .dirBox3 a::after {
        width: 40px;
        height: 45px;
        right: 5px; 
        bottom: 5px;
    }
    .dirBox4 a::after {
        width: 40px;
        height: 45px;
        right: 5px;
        bottom: 5px;
    }
    /* 관련기관 */
    .orz_tit {
        font-size: 1.2rem;
        margin-bottom: 20px;
    }
    /* footer */
     footer {
        height: 350px;
    }
    footer > .inner_wrap {
        width: 85%;
    }
    .ft_info p,
    .ft_info address,
    .ft_info a {
        font-size: .9rem;
    }
    .ft_site select {
        font-size: .9rem;
    }
} 
@media screen and (max-width:414px) { 
header > .inner_wrap .logo {
        margin-left: 10px !important;  
        width: auto !important;      
        flex: 1;                     
    }
    header > .inner_wrap .logo img {
        max-width: 300px; 
 height: auto;
    }
    /* 메인 */
    /* 메인롤링배너 */
    .rolling_img p span,
    .rolling_img p strong {
        font-size: 1.1rem;
    }
    .rolling_img p strong {
        font-size: 1.3rem;
    }
    /* 다이렉트메뉴 */
    .m_dir_tit {
        font-size: .8rem;
    }
.m_gnbBox .btn_m_gnbOpen {
display: block;
       margin-right: 1rem !important;
    }
} 
@media screen and (max-width:375px) { 
    /* header */
    header > .inner_wrap .logo {
        margin-left: 1rem;
    }

} 
@media screen and (max-width:360px) { 

} 
@media screen and (max-width:320px) { 

}