@charset "UTF-8";

/*=================
    header
    =================*/
/*util wrap*/
.utilWrap {
    position: relative;
    width:100%;
    height:32px;
    background:#EDF1F5;
    z-index: 6;
}
.utilArea {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width:100%;
    max-width:1280px;
    margin:0 auto;
    color: #1D1D1D;
    font-size: 15px;
    line-height: 32px;
}
.utilArea p {

}
.utilArea > div {
    display: flex;
}
.utilArea .num-cs {
    display: flex;
    align-items: center;
    padding:0 12px;
    gap: 12px;
}
.utilArea .num-cs::after {
    content:'';
    width:1px;
    height:16px;
    background:#D8D8D8;
}
.utilArea .lang {}
.utilArea .lang button {
    height:100%;
    color: #1D1D1D;
    font-size: 15px;
    font-weight: 600;
    line-height: 150%; /* 22.5px */
}
.utilArea .lang button::after {
    content:'';
    width:12px;
    height:12px;
    margin-left:4px;
    background:url('../images/reb/ico-arrow-bottom.svg') no-repeat;
    background-size:contain;
}
.utilArea #langList {
    left:-12px;
    width:calc(100% + 24px);
    background: #f5fafa;
    padding:5px 12px;
    border: 1px solid #dae8f2;
}
.utilArea #langList li {}
.utilArea #langList a {}

/*header*/
header {
    position: relative;
    width:100%;
    z-index:5;
    background: #fff;
}
#header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height:68px;
    width:100%;
    max-width:1280px;
    margin:0 auto;
}
#header h1 {}
#header h1 a {
    width: 242px;
    height: 42px;
    background:url('../images/logo.svg') no-repeat;
}
#header .search {}
#header .btn-search {
    display: flex;
    align-items: center;
    gap:8px;
    color:#102F6E;
    font-size: 18px;
    font-weight: 700;
    line-height: 150%; /* 27px */
}
#header .btn-search::before {
    content:'';
    width:24px;
    height:24px;
    background:url('../images/reb/ico-search.svg') no-repeat;
    background-size: contain;
}

/*header search wrap*/
#searchWrap {
    position: absolute;
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 164px;
    height:258px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(0,0,0,.12);
    opacity: 0;
    transform: translateY(-10px);
    pointer-events: none;
    transition: opacity .2s ease, transform .2s ease;
    z-index: 5;
}
#searchWrap.active{
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}
#searchWrap .box-search {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width:493px;
    padding-bottom:15px;
    border-bottom:3px solid #102F6E;
}
#searchWrap .box-search input[type="text"] {
    width:443px;
    height:34px;
    border:none;
    font-size: 23px;
    font-weight: 400;
    line-height:34px;
}
#searchWrap .box-search input::placeholder {
    color: #545454;
    font-size: 23px;
    font-weight: 400;
    line-height: 139%; /* 31.97px */
}
#searchWrap .box-search button.search {
    width:34px;
    height:34px;
    background:url('../images/reb/ico-search.svg') no-repeat;
    background-size:contain;
}

/*gnb*/
#gnb {
    height:64px;
    background:#fff;
    border-top:1px solid #D8D8D8;
    border-bottom:1px solid #D8D8D8;
}
#gnb > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width:100%;
    max-width:1280px;
    height:100%;
    margin:0 auto;
}
#gnb .main {
    display: flex;
    height:100%;
}
#gnb .main > li > a {
    display: flex;
    align-items: center;
    gap:10px;
    height:100%;
    padding:0 32px 0 16px;
    color: #313131;
    font-size: 19px;
    font-weight: 700;
    line-height: 150%; /* 28.5px */
}
#gnb .main > li > a::after {
    content:'';
    width:16px;
    height:16px;
    background:url('../images/reb/ico-arrow-bottom.svg') no-repeat;
    background-size: contain;
}

#gnb .sub {
    display: none;
    position:absolute;
    top:131px;
    left:0;
    width:100%;
    background:#fff;
}

#gnb .sub > ul {
    position: relative;
    width:100%;
    max-width:1280px;
    margin:0 auto;
}

#gnb .sub > ul > li {
    display: flex;
    height:50px;
    background:#EBF4FB;
}
#gnb .sub > ul > li:first-of-type {
    padding-top:16px;
    box-sizing: content-box;
}
#gnb .sub > ul > li:last-of-type {
    padding-bottom:16px;
    box-sizing: content-box;
}
#gnb .sub > ul > li > a {
    display: flex;
    align-items: center;
    height:100%;
    padding:0 24px;
    color: #1D1D1D;
    font-size: 17px;
    font-weight: 700;
    line-height: 150%; /* 25.5px */
}

#gnb .detail {
    position: absolute;
    top:0;
    right:0;
    display: none;
    width:calc(1280px - 260px);
    height:100%;
    padding:24px 40px;
}

#gnb .detail .txt-title {
    display: flex;
    align-items: center;
    color: #1D1D1D;
    font-size: 25px;
    font-weight: 700;
    line-height: 150%; /* 37.5px */
    padding:24px 0;
}
#gnb .detail .txt-title::after {
    content:'';
    width:20px;
    height:20px;
    margin-left:8px;
    background:url('../images/reb/ico-arrow-prev.svg') no-repeat;
    transform:rotate(180deg);
}
#gnb .detail > ul {
    display: flex;
    flex-wrap: wrap;
    gap:8px;
    padding:16px 0;
}
#gnb .detail li {
    width:calc((100% - 24px) / 4);
}
#gnb .detail a {
    display: flex;
    align-items: flex-start;
    min-height:48px;
    height:auto;
    color: #1D1D1D;
    font-size: 17px;
    font-weight: 500;
}

#gnb .detail a::before {
    content:'';
    width:4px;
    height:4px;
    background:#2D2D2D;
    border-radius:50%;
    margin-right:8px;
    margin-top: 8px;
}
#gnb .active .sub {
    display: block;
}
#gnb .sub > ul > li.active .detail {
    display: block;
}
#gnb .main > li.active > a::after {
    transform:rotate(180deg);
}

#gnb .btn-gnb-close {
    display:none;
}

#gnb.active .btn-sitemap {
    display:none;
}
header.gnb-open .search {
    display:none;
}
#gnb.active .btn-gnb-close {
    display:block;
    position: absolute;
    top:22px;
    right:32px;
    width:24px;
    height:24px;
    background:url('../images/reb/ico-close.png') no-repeat;
    background-size: contain;
}


/*sitemap*/
#gnb .btn-sitemap {
    display: flex;
    align-items: center;
    gap:8px;
    height:100%;
    color: #676767;
    font-size: 18px;
    font-weight: 500;
    line-height: 150%; /* 27px */
}
#gnb .btn-sitemap::before {
    content:'';
    width:18px;
    height:18px;
    background:url('../images/reb/ico-menu.png') no-repeat;
}

/*header query*/

@media (max-width: 1280px){
    .utilWrap,
    #header,
    #gnb > div {
        padding:0 16px;
    }

}

@media (min-width: 1201px){
    #gnb .sub > ul > li:hover .detail {
        display: block;
    }
    #gnb .detail li:hover a {
        color: #0074CB;
    }
    #gnb .main > li.active > a {
        background: #EBF4FB;
    }

    #gnb .active .sub > ul::before {
        content:'';
        position: absolute;
        top:0;
        right:0;
        width:calc(1280px - 260px);
        height:100%;
        background:#fff;
    }
    #gnb .sub > ul > li.active > a,
    #gnb .sub > ul > li:focus-within > a {
        width:260px;
        height:50px;
        background:#0074CB;
        color:#fff;
    }

    #gnb .detail li:hover a {
        color:#0058A2;
    }
}
@media (max-width: 1200px){
    .utilWrap,
    #header {
        padding:0 32px;
    }
    #searchWrap {
        top:100px;
    }
    #header {
        border-bottom:1px solid #D8D8D8;
    }
    #gnb{
        height: 0;
        border-top: 0;
        border-bottom: 0;
        overflow: visible;
    }
    #gnb .btn-sitemap{
        position: absolute;
        top: 34px;
        right: 32px;
        transform: translateY(-50%);
        z-index: 10;
    }
    #header .search{
        margin-right: 126px;
    }
    #gnb.active {
        height:auto;
    }
    #gnb > div {
        padding:0;
    }
    #gnb .main{
        display: none;
    }
    #gnb.active .main {
        display: block;
    }
    #gnb .main {
        height:100vh;
        flex-direction: column;
        gap:10px;
        background:#EBF4FB;
    }
    #gnb .main > li > a {
        width:284px;
        height:50px;
        gap:8px;
        font-size: 17px;
        font-weight: 700;
        line-height: 150%; /* 25.5px */
        padding:0 24px;
    }
    #gnb .main > li.active > a {
        color:#fff;
        background: #0074CB;
    }
    #gnb .main > li.active > a::after {
        content: '';
        width: 20px;
        height: 20px;
        background: url(../images/reb/ico-arrow-prev.svg) center center / contain no-repeat;
        filter: brightness(0) saturate(100%) invert(97%) sepia(0%);
    }
    #gnb .main > li:not(.active) > a::after {
        display: none;
    }
    #gnb .sub {
        position: fixed;
        top: 100px;
        bottom: 0;
        left: 284px;
        width: calc(100% - 284px);
        overflow-y: auto;
    }
    #gnb .active .sub > ul::before {
        display: none;
    }
    #gnb .sub > ul > li {
        flex-direction: column;
        height:auto;
        background:#fff;
    }
    #gnb .sub > ul > li > a {
        height:50px;
        border-bottom:1px solid #D8D8D8;
    }
    #gnb .sub > ul > li.active > a,
    #gnb .sub > ul > li:focus-within > a {
        width:100%;
        background:#fff;
        color:#0074CB;
    }
    #gnb .sub > ul > li:first-of-type {
        padding-top:0;
    }


    #gnb .detail {
        position: static;
        width:100%;
        padding:16px 24px;
        border-bottom:1px solid #D8D8D8;
        background:#F6F6F9;
    }
    #gnb .detail > ul {
        flex-direction: column;
        padding:0;
        gap:8px;
    }
    #gnb .detail li {
        width:100%;
    }
    #gnb .detail .txt-title {
        display: none;
    }
    #gnb .detail a {
        min-height:24px;
        height:auto;
    }

}

@media (max-width: 768px){
    .utilWrap,
    #header {
        padding:0 16px;
    }
    .utilArea {
        justify-content: flex-end;
    }
    .utilArea p {
        display: none;
    }
    header {
        position: relative;
    }
    #header {
        height:64px;
    }
    #header h1 a {
        width:200px;
        height:34px;
        background-size: contain  ;
    }
    #header .btn-search::before {
        width:20px;
        height:20px;
        filter: brightness(0) saturate(100%) invert(15%) sepia(0%) saturate(0%) hue-rotate(5deg) brightness(102%) contrast(92%);
    }
    #header .search {
        margin-right:57px;
    }
    #header .btn-search {
        flex-direction: column;
        gap:8px;
        color: #1D1D1D;
        font-size: 13px;
        font-weight: 400;
        line-height: 150%; /* 19.5px */
    }
    #gnb .btn-sitemap {
        flex-direction: column;
        gap:8px;
        top:8px;
        right:16px;
        color: #1D1D1D;
        font-size: 13px;
        font-weight: 400;
        line-height: 150%; /* 19.5px */
        transform:translateY(0);
    }
    #gnb .btn-sitemap::before {
        width:20px;
        height:20px;
        background:url('../images/reb/ico-ham.png') no-repeat;
    }
    #gnb.active .btn-gnb-close {
        right:16px;
    }
    #gnb .main > li > a {
        width:114px;
        padding:0 16px;
    }
    #gnb .sub {
        width:calc(100% - 114px);
        left:114px;
    }
    #gnb .sub > ul > li > a {
        font-size:15px;
    }

    #searchWrap {
        top:96px;
    }
    #searchWrap .box-search {
        width:90%;
    }
    #gnb .detail a {
        font-size: 15px;
        font-weight: 500;
        line-height: 150%; /* 22.5px */
    }
}


/*=================
    contents
    =================*/
#contents {

}
#contents section {
    width:100%;
}

/*======비주얼 슬라이드======*/
/*visual*/
#contents .container:has(#visualSlide) {
    display: flex;
    gap:24px;
    width:100%;
    max-width:1280px;
    margin:0 auto;
    padding:48px 0;
}
#visualSlide {
    flex: 0 0 clamp(420px, 56%, 737px);
}

#visualSlideList .slide {
    position: relative;
    padding:48px 40px 85px;
    border-radius: 12px;
    background:#EDF1F5;
}
#visualSlideList .slide .title {
    color: #1D1D1D;
    font-size: 32px;
    font-weight: 700;
    line-height: 139%; /* 44.48px */
}
#visualSlideList .slide .desc {
    position: relative;
    padding:25px 0;
    color: #1D1D1D;
    font-size: 17px;
    font-weight: 500;
    line-height: 150%; /* 25.5px */
    letter-spacing: -0.34px;
    z-index:2;
}
#visualSlideList .slide .btn-slide {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height:48px;
    padding:0 16px;
    background:#246BEB;
    color: #fff;
    font-size: 17px;
    font-weight: 700;
    line-height: 150%; /* 25.5px */
    border-radius:8px;
}
#visualSlideList .slide .imgWrap {
    position: absolute;
    top:39px;
    right:26px;
    width: 260px;
}
#visualSlideList .slide .imgWrap img {
    width:100%;
}


/*notice wrap*/
.noticeWrap {
    flex: 1 1 auto;
    min-width: 0;
    padding: 24px 24px 16px 24px;
    border:1px solid #D8D8D8;
    border-radius: 12px;
}
.noticeWrap .box-menu {
    display: flex;
    justify-content: space-between;
    border-bottom:1px solid #D7DBE7;
}
.noticeWrap .box-menu .menu-tab {
    display: flex;
}
.noticeWrap .box-menu .menu-tab li {
    position: relative;
    width:118px;
    height:33px;
}
.noticeWrap .box-menu .menu-tab button {
    width:100%;
    color: #474747;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: -0.36px;
}
.noticeWrap .box-menu .menu-tab li.active::after {
    content:'';
    position:absolute;
    left:0;
    bottom:-1px;
    width:100%;
    height:3px;
    background:#0058A2;
}
.noticeWrap .box-menu .menu-tab li.active button {
    color: #0058A2;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: -0.36px;
}
.noticeWrap .box-menu .btn-more {
    color: #5F5F5F;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: -0.39px;
}
.noticeWrap .box-content {}
.noticeWrap .box-content .list {
    margin-top:23px;
}
.noticeWrap .box-content .list li {
    display: flex;
    justify-content: space-between;
    height:24px;
    padding:16px 0;
    box-sizing: content-box;
    border-bottom:1px solid #D7DBE7;
}
.noticeWrap .box-content .list li:first-of-type {
    padding-top:0;
}
.noticeWrap .box-content .list li:last-of-type {
    border-bottom:none;
}
.noticeWrap .box-content .list li > div {
    display: flex;
}
.noticeWrap .box-content .list a {
    font-size: 15.5px;
    font-weight: 400;
    line-height:24px;
    letter-spacing: -0.465px;
}
.noticeWrap .box-content .list .date {
    color: #989898;
    font-size: 13px;
    line-height:24px;
    letter-spacing: -0.39px;
}

.noticeWrap .box-content .list .sort {
    padding:0 8px;
    height:24px;
    margin-right:8px;
    font-size: 14px;
    font-weight: 500;
    line-height: 24px; /* 21px */
    border-radius: 4px;
}
.noticeWrap .box-content .list .sort.imp {
    color: #D23531;
    background: #F4D7D8;
}
.noticeWrap .box-content .list .sort.etc {
    color:#1D56BC;
    background:#EFF5FF;
}


/*======주요서비스 바로가기======*/
/*important*/
.container.important {
    width:100%;
    padding:48px 0 40px;
    background:#EBF4FB;
}
.container.important h2 {
    width:100%;
    max-width:1280px;
    margin:0 auto 32px;
    color: #1D1D1D;
    font-size: 32px;
    font-weight: 700;
    line-height: 150%; /* 48px */
}
.container.important ul {
    display: flex;
    justify-content: space-between;
    flex-wrap:wrap;
    width:100%;
    max-width:1280px;
    margin:0 auto;
}
.container.important li {
    width:calc((100% - 60px) / 4);
    background:#fff;
    margin-bottom:20px;
    border-radius: 12px;
}
.container.important li:nth-child(n+9) {
    width:calc((100% - 80px) / 5);
    margin-bottom:0;
}
.container.important a {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    position:relative;
    height:72px;
    padding:0 30px;
    color: #1D1D1D;
    font-size: 19px;
    font-weight: 700;
    line-height: 130%; /* 28.5px */
}
.container.important a::after {
    content:'';
    position: absolute;
    top:16px;
    right:25px;
    width:40px;
    height:40px;
    background-size:contain;
}
.container.important li:nth-of-type(1) a::after {
    background:url('../images/reb/ico-shortcut-1.png') center center / contain no-repeat;
}
.container.important li:nth-of-type(2) a::after {
    background:url('../images/reb/ico-shortcut-2.png') center center / contain no-repeat;
}
.container.important li:nth-of-type(3) a::after {
    background:url('../images/reb/ico-shortcut-3.png') center center / contain no-repeat;
}
.container.important li:nth-of-type(4) a::after {
    background:url('../images/reb/ico-shortcut-4.png') center center / contain no-repeat;
}
.container.important li:nth-of-type(5) a::after {
    background:url('../images/reb/ico-shortcut-5.png') center center / contain no-repeat;
}
.container.important li:nth-of-type(6) a::after {
    background:url('../images/reb/ico-shortcut-6.png') center center / contain no-repeat;
}
.container.important li:nth-of-type(7) a::after {
    background:url('../images/reb/ico-shortcut-7.png') center center / contain no-repeat;
}
.container.important li:nth-of-type(8) a::after {
    background:url('../images/reb/ico-shortcut-8.png') center center / contain no-repeat;
}
.container.important li:nth-of-type(9) a::after {
    background:url('../images/reb/ico-shortcut-9.png') center center / contain no-repeat;
}
.container.important li:nth-of-type(10) a::after {
    background:url('../images/reb/ico-shortcut-10.png') center center / contain no-repeat;
}
.container.important li:nth-of-type(11) a::after {
    background:url('../images/reb/ico-shortcut-11.png') center center / contain no-repeat;
}
.container.important li:nth-of-type(12) a::after {
    background:url('../images/reb/ico-shortcut-12.png') center center / contain no-repeat;
}
.container.important li:nth-of-type(13) a::after {
    background:url('../images/reb/ico-shortcut-13.png') center center / contain no-repeat;
}

/*system*/
.container.system {
    width:100%;
    max-width:1280px;
    margin:0 auto;
    padding:64px 0 48px;
    border-bottom:1px solid #D5D5D5;
}
.container.system ul {
    display: flex;
    gap:20px;
}
.container.system li {
    flex:1;
    background: #F6F6F9;
    border-radius: 8px;
}
.container.system a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height:94px;
    color:#1D1D1D;
    font-size: 19px;
    font-weight: 600;
    line-height: 130%; /* 24.7px */
    letter-spacing: -0.19px;
    text-align: center;
}

/*======REB information======*/
/*banner*/
section:has(.container.banner) {
    width:100%;
    max-width:1280px;
    margin:0 auto;
    padding:48px 0 64px;
}
.container.banner {}
.container.banner h2 {
    margin-bottom:24px;
    color: #1D1D1D;
    font-size: 32px;
    font-weight: 700;
    line-height: 150%; /* 48px */
}
#bannerSlide {
    position: relative;
    width:100%;
    padding:30px 80px;
    border-radius: 12px;
    border: 1px solid #D8D8D8;
}
#bannerSlide button {
    position: absolute;
    top:50%;
    margin-top:-20px;
    width:40px;
    height:40px;
    border-radius: 40px;
    border: 1px solid #E4E4E4;
    background: #F8F8F8 url('../images/reb/ico-arrow-prev.svg') center center no-repeat;
}
#bannerSlide .btn-prev {
    left:40px;
}
#bannerSlide .btn-next {
    right:40px;
    transform:rotate(180deg);
}
#bannerSlide .viewport {
    overflow: hidden;
    margin-left:48px; 
}
#bannerTrack {
    display:flex;
    flex-wrap:nowrap;
    transition: transform .4s ease;
    will-change: transform;
}
#bannerTrack li {
    width:25%;
}
#bannerTrack a {
    display: flex;
    align-items: center;
    color: #1D1D1D;
    font-size: 18px;
    font-weight: 700;
    line-height: 130%; /* 23.4px */
}

#bannerTrack a::before {
    content:'';
    width:80px;
    height:80px;
    margin-right:16px;
    border-radius:20px;
    background-size:40px 40px;
}
#bannerTrack .track1 a::before {
    background:#FDF2F0 url('../images/reb/ico-info-1.png') center center / 40px 40px no-repeat;
}
#bannerTrack .track2 a::before {
    background:#EDF6ED url('../images/reb/ico-info-2.png') center center / 40px 40px no-repeat;
}
#bannerTrack .track3 a::before {
    background:#F0F5FE url('../images/reb/ico-info-3.png') center center / 40px 40px no-repeat;
}
#bannerTrack .track4 a::before {
    background:#F4F1FE url('../images/reb/ico-info-4.png') center center / 40px 40px no-repeat;
}
#bannerTrack .track5 a::before {
    background:#EDF6ED url('../images/reb/ico-info-2.png') center center / 40px 40px no-repeat;
}


/*info*/
#infoSlide {
    flex: 0 0 clamp(380px, 49%, 628px);
    border-radius: 10px;
    background: #E0EEF3;
}
#infoSlideList {}
#infoSlideList .slide {
    position: relative;
    padding:31px 35px;
}
#infoSlideList .title {
    font-size: 25px;
    font-weight: 700;
    line-height: 150%; /* 37.5px */
}
#infoSlideList span {
    display: block;
    padding:10px 0;
    font-size: 19px;
    font-weight: 500;
    line-height: 150%; /* 28.5px */
    letter-spacing: -0.38px;
}
#infoSlideList .desc {
    position: relative;
    width:340px;
    color: rgba(0, 0, 0, 0.87);
    font-size: 16.5px;
    font-weight: 400;
    line-height: 148%; /* 24.42px */
    z-index:3;
}
#infoSlideList .imgWrap {
    position: absolute;
    top:23px;
    right:49px;
    width: 135px;
    height: 132px;
}
#infoSlideList .imgWrap img {
    width:100%;
}
#infoSlide .box-btn {
    right:24px;
    bottom:20px;
    display: flex;
    gap:8px;
    z-index: 3;
}
#infoSlide .box-btn .page {
    display: flex;
    align-items: center;
    justify-content: center;
    gap:5px;
    font-size: 12px;
    font-weight: 500;
    line-height: 150%;
}
#infoSlide .box-btn button {
    width:32px;
    height:32px;
    border-radius: 32px;
    background-size:16px 16px;
}


.container.info {
    display: flex;
    gap:20px;
    margin-top:48px;
}
.container.info .centerWrap {
    flex: 1 1 auto;
    min-width: 0;
}
.container.info .centerWrap ul {
    display: flex;
    justify-content: space-between;
    flex-wrap:wrap;
}
.container.info .centerWrap li {
    width:calc(50% - 10px);
    border-radius: 8px;
    background: #F6F6F9;
}
.container.info .centerWrap li:nth-of-type(1),
.container.info .centerWrap li:nth-of-type(2) {
    margin-bottom:20px;
}
.container.info .centerWrap a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    height:88px;
    color: #1D1D1D;
    font-size: 18px;
    font-weight: 700;
    line-height: 150%; /* 27px */
    letter-spacing: -0.18px;
    padding:0 36px;
}
.container.info .centerWrap a::after {
    content:'';
    width:40px;
    height:40px;
}
.container.info .centerWrap li:nth-of-type(1) a::after {
    background:url('../images/reb/ico-notice-1.png') center center / contain no-repeat;
}
.container.info .centerWrap li:nth-of-type(2) a::after {
    background:url('../images/reb/ico-notice-2.png')center center / contain no-repeat;
}
.container.info .centerWrap li:nth-of-type(3) a::after {
    background:url('../images/reb/ico-notice-3.png')center center / contain no-repeat;
}
.container.info .centerWrap li:nth-of-type(4) a::after {
    background:url('../images/reb/ico-notice-4.png')center center / contain no-repeat;
}

/*contents query*/
@media (max-width: 1280px){
    #contents .container:has(#visualSlide) {
        padding:48px 16px;
    }
    .container.important {
        padding:48px 16px 40px;
    }
    .container.system {
        padding:64px 16px 48px;
    }
    section:has(.container.banner) {
        padding:48px 16px 64px;
    }

}

@media (max-width: 1200px){
    #contents .container:has(#visualSlide) {
        padding:32px 32px 24px;
    }
    .container.important {
        padding:40px 32px;
    }
    .container.system {
        padding:24px 32px 28px;
    }
    section:has(.container.banner) {
        padding:28px 32px 48px;
    }

    #contents .container:has(#visualSlide) {
        flex-direction: column;
    }
    .container.important li {
        width:calc((100% - 14px) / 2);
        margin-bottom:14px;
    }
    .container.important li:nth-child(n+9) {
        width:calc((100% - 14px) / 2);
        margin-bottom:14px;
    }
    .container.important li:nth-child(n+11) {
        width:calc((100% - 28px) / 3);
        margin-bottom:0;
    }
    .container.important a {
        padding:0 20px;
    }
    .container.system ul {
        flex-wrap:wrap;
        gap:12px;
    }
    .container.system li {
        flex: 0 0 calc((100% - 12px * 2) / 3);
        max-width: calc((100% - 12px * 2) / 3);
        box-sizing: border-box;
    }
    .container.system li:nth-child(n+4) {
        flex-basis: calc((100% - 12px * 3) / 4);
        max-width:  calc((100% - 12px * 3) / 4);
    }
    .container.system a {
        height:80px;
        font-size:18px;
    }
    .container.info {
        margin-top:24px;
        flex-direction: column;
    }

    .noticeWrap .box-menu .menu-tab li {
        width:165px;
    }

    .container.important h2,
    .container.banner h2 {
        font-size:28px;
    }

    #infoSlideList .imgWrap {
        right:73px;
    }
    #bannerSlide {
        padding:20px 16px;
    }
    #bannerSlide button {
        width:25px;
        height:25px;
        margin-top:-12.5px;
    }
    #bannerSlide .btn-prev {
        left:16px;
    }
    #bannerSlide .btn-next {
        right:16px;
    }
    #bannerTrack a {
        font-size: 16px;
        line-height: 130%; /* 20.8px */
    }
    #bannerTrack a::before {
        width:56px;
        height:56px;
    }
    #bannerTrack .track1 a::before,
    #bannerTrack .track2 a::before,
    #bannerTrack .track3 a::before,
    #bannerTrack .track4 a::before,
    #bannerTrack .track5 a::before {
        background-size:32px;
    }
    .container.info .centerWrap li {
        width:calc(50% - 6px);
    }
    .container.info .centerWrap li:nth-of-type(1),
    .container.info .centerWrap li:nth-of-type(2) {
        margin-bottom:12px;
    }

}

@media (max-width: 768px){
    #contents .container:has(#visualSlide) {
        padding:24px 16px;
        gap:32px;
    }
    #visualSlideList .slide {
        padding:32px 24px 116px;
    }
    #visualSlideList .slide .title {
        max-width:240px;
        font-size: 22px;
        font-weight: 700;
        line-height: 150%; /* 33px */
    }
    #visualSlideList .slide .desc {
        padding:20px 0;
        font-size: 15px;
        font-weight: 500;
        line-height: 130%; /* 19.5px */
    }
    #visualSlideList .slide .btn-slide {
        padding:0 12px;
        height:40px;
        font-size: 15px;
        font-weight: 500;
        line-height: 150%; /* 22.5px */
    }
    #visualSlideList .slide .imgWrap {
        top:150px;
        right:11px;
        width:153px;
        height:150px;
    }
    .slideWrap .box-btn {
        bottom:20px;
        right:20px;
    }
    .slideWrap .box-btn .page {
        height:32px;
        padding:0 16px;
        font-size: 12px;
        font-weight: 500;
        line-height: 150%; /* 18px */
    }
    .slideWrap .box-btn button {
        width:32px;
        height:32px;
        background-size:17px 17px;
    }

    .noticeWrap {
        padding:24px 20px 16px;
    }
    .noticeWrap .box-content .list li {
        position: relative;
        display: block;
        height:auto;
        padding-bottom:12px;
    }
    .noticeWrap .box-content .list li a {
        margin-bottom:8px;
    }
    .noticeWrap .box-menu .menu-tab li.active button,
    .noticeWrap .box-menu .menu-tab li button {
        font-size: 15px;
        font-weight: 700;
        letter-spacing: -0.3px;
    }
    .noticeWrap .box-content .list li > div {
        flex-direction: column-reverse;
    }
    .noticeWrap .box-content .list .sort {
        display: inline-flex;
        flex: 0 0 auto;
        width: fit-content;
    }
    .noticeWrap .box-content .list .date {
        position:absolute;
        bottom:12px;
        left:48px;
    }


    .container.important {
        padding:32px 16px;
    }
    .container.important h2, .container.banner h2 {
        font-size: 22px;
        font-weight: 700;
        line-height: 150%; /* 33px */
        margin:0 auto 24px;
    }

    section:has(.container.banner) {
        padding:24px 16px 44px;
    }
    .container.important a {
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        height:52px;
        font-size: 16px;
        font-weight: 700;
        line-height: 150%; /* 24px */
    }
    .container.important a::after {
        width:24px;
        height:24px;
    }
    .noticeWrap .box-menu .menu-tab li {
        min-width:79px;
        width:20%;
    }
    .container.important li,
    .container.important li:nth-child(n+9),
    .container.important li:nth-child(n+11) {
        width:100%;
        margin-bottom:10px;
    }
    .container.important li:last-of-type {
        margin-bottom:0;
    }

    .container.system {
        padding:24px 16px;
    }
    .container.system li,
    .container.system li:nth-child(n+4) {
        flex: 0 0 calc((100% - 12px) / 2);
        max-width: calc((100% - 12px) / 2);
    }
    .container.system li:last-of-type {
        flex: 0 0 100%;
        max-width: 100%;
    }
    .container.system li:last-of-type a {
        flex-direction: row;
    }
    .container.system a {
        font-size: 16px;
        font-weight: 600;
        line-height: 130%; /* 20.8px */
        letter-spacing: -0.16px;
    }

    .container.info {
        gap: 54px;
    }
    .container.info .centerWrap li {
        width:100%;
        margin-bottom:12px;
    }
    .container.info .centerWrap li:last-of-type {
        margin-bottom:0;
    }
    .container.info .centerWrap a {
        height:52px;
        padding:0 16px;
        font-size: 16px;
        font-weight: 700;
        line-height: 150%; /* 24px */
        letter-spacing: -0.16px;
    }
    .container.info .centerWrap a::after {
        width:24px;
        height:24px;
    }


    .container.banner {
        position: relative;
    }
    #bannerSlide {
        overflow: visible;
    }
    #bannerSlide button {
        top:-40%;
        background-size:15px 15px;

    }
    #bannerSlide .viewport {
        margin-left:0;
    }
    #bannerTrack a {
        font-size: 15px;
        font-weight: 600;
        line-height: 130%; /* 19.5px */
    }
    #bannerTrack a::before {
        width:48px;
        height:48px;
        border-radius:12px;
        margin-right:12px;
    }
    #bannerTrack .track1 a::before,
    #bannerTrack .track2 a::before,
    #bannerTrack .track3 a::before,
    #bannerTrack .track4 a::before,
    #bannerTrack .track5 a::before {
        background-size:23px;
    }
    #bannerSlide .btn-prev {
        left:auto;
        right:37px;
    }
    #bannerSlide .btn-next {
        right:0;
    }

    #infoSlideList .slide {
        padding:32px 24px 142px;
    }
    #infoSlideList .title {
        font-size: 22px;
        font-weight: 700;
        line-height: 150%; /* 33px */
    }
    #infoSlideList span {
        font-size: 17px;
        font-weight: 500;
        line-height: 150%; /* 25.5px */
        letter-spacing: -0.34px;
        padding:15px 0;
    }
    #infoSlideList .desc {
        font-size: 15px;
        font-weight: 400;
        line-height: 148%; /* 22.2px */
    }
    #infoSlideList .imgWrap {
        width:114px;
        height:112px;
        top:160px;
        right:18px;
    }
}


/*=================
    footer
    =================*/
footer {
    width:100%;
}

/*family wrap*/
.familyWrap {
    width:100%;
    border-top:1px solid #D8D8D8;
    border-bottom:1px solid #D8D8D8;
}
.familyWrap > div {
    display: flex;
    width:100%;
    max-width:1280px;
    height:54px;
    margin:0 auto;
    border-left:1px solid #D8D8D8;
}
.familyWrap .link-family {
    display: flex;
    width:calc(100% / 6 * 4);
}
.familyWrap .link-family li {
    width:25%;
    border-right:1px solid #D8D8D8;

}
.familyWrap .link-family a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height:100%;
    padding:0 24px;
    color: #1D1D1D;
    font-size: 17px;
    font-weight: 500;
    line-height: 150%; /* 25.5px */

}
.familyWrap .link-family a::after {
    content:'';
    width:20px;
    height:20px;
    background:url('../images/reb/ico-arrow-prev.svg') no-repeat;
    background-size:contain;
    transform:rotate(180deg);

}
.familyWrap .select-family {
    display: flex;
    width:calc(100% / 6 * 2);
}
.familyWrap .selectWrap {
    width:50%;
    border-right:1px solid #D8D8D8;
}
.familyWrap .selectWrap button {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width:100%;
    height:100%;
    color: #1D1D1D;
    font-size: 17px;
    font-weight: 500;
    line-height: 150%; /* 25.5px */
    padding:0 24px;
}
.familyWrap .selectWrap button::after {
    content:'';
    width:20px;
    height:20px;
    background:url('../images/reb/ico-more.png') no-repeat;
    background-size:contain;
}
.familyWrap .selectWrap .list-select {
    top:calc(100% + 5px);
    width: max-content;
    min-width: 100%;
    max-width: 90vw;
    white-space: nowrap;
    padding:8px;
    border-radius: 8px;
    border: 1px solid #D8D8D8;
    background:#fff;
    box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.12);
    list-style:disc;
}
.familyWrap .selectWrap .list-select li {
    display: flex;
    align-items: center;
    padding-right:10px;
}
.familyWrap .selectWrap .list-select li::before {
    content:'';
    width:4px;
    height:4px;
    background:#2D2D2D;
    border-radius:50%;
    margin:0 8px;
}
.familyWrap .selectWrap .list-select a {
    height:44px;
    color: #1D1D1D;
    font-size: 17px;
    line-height: 44px;
}
.familyWrap .selectWrap .list-select li:hover {
    background:#EEF6FF;
}
.familyWrap .selectWrap .list-select li:hover a {
    color:#0074CB;
    font-weight:700;
}


#footer {
    background:#F8F9FB;
    padding:40px 0;
}
#footer > div {
    width:100%;
    max-width:1280px;
    margin:0 auto;
}

/*info wrap*/
#footer .infoWrap {
    color: #1D1D1D;
}
#footer .infoWrap h2 a {
    width:242px;
    height:42px;
    background:url('../images/logo.svg') no-repeat;
    background-size: contain;
    margin-bottom:32px;
}
#footer .infoWrap .address {
    color: #1D1D1D;
    font-size: 18px;
    line-height: 150%; /* 27px */
    margin-bottom:24px;
}
#footer .infoWrap .cs {
    display: flex;
    gap:27px;
}
#footer .infoWrap .cs p {
    font-size: 19px;
    font-weight: 700;
    line-height: 150%; /* 28.5px */
}
#footer .infoWrap .cs span:first-of-type {}
#footer .infoWrap .cs span:last-of-type {
    color:#0058A2;
}


/*sns wrap*/
#footer .snsWrap {
    position: relative;
    top:-5px;
    display: flex;
    justify-content: flex-end;
    gap:8px;
}
#footer .snsWrap li a {
    width:40px;
    height:40px;
}
#footer .snsWrap li:nth-of-type(1) a {
    background:url('../images/ico-instagram.svg') no-repeat;
    background-size:contain;
}
#footer .snsWrap li:nth-of-type(2) a {
    background:url('../images/ico-youtube.svg') no-repeat;
    background-size:contain;
}
#footer .snsWrap li:nth-of-type(3) a {
    background:url('../images/ico-kakao.svg') no-repeat;
    background-size:contain;
}
#footer .snsWrap li:nth-of-type(4) a {
    background:url('../images/ico-facebook.svg') no-repeat;
    background-size:contain;
}

/*policy wrap*/
#footer > div:has(.policyWrap) {
    display: flex;
    justify-content: space-between;
    padding-top:28px;
    margin-top:32px;
    border-top:1px solid #D8D8D8;
}
#footer .policyWrap {}
#footer .policyWrap ul {
    display: flex;
    gap:26px;
    margin-bottom:16px;
}
#footer .policyWrap li {}
#footer .policyWrap a {
    color: #1D1D1D;
    font-size: 17px;
    line-height: 150%; /* 25.5px */
}
#footer .policyWrap li:first-of-type a {
    color:#102F6E;
    font-weight:700;
}
#footer .policyWrap p {
    color: #555;
    font-size: 15px;
    line-height: 150%; /* 22.5px */
}

/*mark wrap*/
#footer .markWrap {}
#footer .markWrap img {}


/*chatbot*/
.btn-chatbot {
    position:fixed;
    bottom:46px;
    right:53px;
    width:100px;
    height:100px;
    background:#fff url('../images/reb/btn-chatbot.png') center center no-repeat;
    background-size:88px 73px;
    border-radius: 30px;
    box-shadow: 0 2px 12px 0 rgba(132, 150, 185, 0.30);
}

/*footer query*/
@media (max-width: 1280px){
    #footer {
        padding:40px 16px;
    }

}

@media (max-width: 1200px){


    .quickWrap {
        display: none;
    }
    .familyWrap > div {
        flex-direction: column;
        height:auto;
        border-left:none;
    }
    .familyWrap .link-family {
        width:100%;
        height:54px;
        border-bottom:1px solid #D8D8D8;
    }
    .familyWrap .link-family li:last-of-type {
        border-right:none;
    }
    .familyWrap .selectWrap:last-of-type {
        border-right:none;
    }
    .familyWrap .select-family {
        width:100%;
        height:54px;
    }

    #footer {
        padding:26px 32px 40px;
        position: relative;
    }
    #footer .snsWrap {
        justify-content: flex-start;
    }
    #footer .markWrap {
        position: absolute;
        right:32px;
        top:185px;
        width:53px;
        aspect-ratio: 52.42/37.00;
    }
    #footer .markWrap img {
        width:100%;
    }

    #footer .infoWrap h2 a {
        margin-bottom:12px;
    }
    #footer .snsWrap {
        top:0;
    }
    #footer .infoWrap .cs {
        margin-bottom:30px;
    }
    #footer > div:has(.policyWrap) {
        margin-top:20px;
    }

}

@media (max-width: 768px){


    .familyWrap .link-family {
        flex-wrap:wrap;
        height:auto;
    }
    .familyWrap .link-family li {
        width:50%;
        height:54px;
    }
    .familyWrap .select-family {
        flex-wrap: wrap;
        height:auto;
    }
    .familyWrap .selectWrap {
        width:100%;
        height:54px;
        border-right:none;
    }

    #footer {
        padding:32px 16px;
    }
    #footer .infoWrap .cs {
        flex-direction: column;
    }
    #footer .policyWrap ul {
        flex-wrap:wrap;
    }
    #footer .policyWrap li:nth-of-type(1) {
        width:100%;
    }
    .familyWrap .link-family li:nth-of-type(1) {
        border-bottom:1px solid #D8D8D8;
    }
    .familyWrap .link-family li:nth-of-type(2) {
        border-right:none;
        border-bottom:1px solid #D8D8D8;
    }

    .familyWrap .selectWrap:first-of-type {
        border-bottom:1px solid #D8D8D8;
    }

    #footer .infoWrap h2 a {
        width:172px;
        height:30px;
        margin-bottom:32px;
    }
    #footer .infoWrap .address {
        font-size: 17px;
        font-weight: 400;
        line-height: 150%; /* 25.5px */
    }
    #footer .infoWrap .cs {
        gap:12px;
        margin-bottom:40px;
    }
    #footer .infoWrap .cs p {
        font-size: 16px;
        font-weight: 700;
        line-height: 150%; /* 24px */
    }

    #footer > div:has(.policyWrap) {
        margin-top:32px;
        padding-top:18px;
    }
    #footer .policyWrap ul {
        gap:16px;
        margin-bottom:32px;
    }
    #footer .markWrap {
        right:16px;
        top:245px;
    }


}