    span[class^="ncs_"] {
        display: unset;
    }

    .main_notice_list li {
        white-space: normal;
        /* 기본: 여러 줄 허용 */
    }

    @media (max-width: 768px){
        .main_notice_list li {
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            display: block;
            width: 100%;
        }
    }

    @media (max-width: 1248px){
        .wrap_course_list>.inner .course_content .course_list.list>ul {
            display: grid !important;
        }
    }

    @media (max-width: 1024px){
        .course_item > .inner {
            width: 99% !important;
        }
    }

    @media (max-width: 820px){
        .course_item > .inner {
            width: 98% !important;
        }
    }

    @media (max-width: 767px){
        .course_item > .inner {
            width: 100% !important;
        }
    }

    @media (max-width: 520px){
        .course_item > .inner {
            width: 96% !important;
        }
    }

    @media (max-width: 1024px){
        .wrap_course_list>.inner .course_content .course_list.list>ul {
            display: flex !important;
        }
    }

    .wrap_course_list.tiny>.inner .course_content {
        margin-top: 15px;
        margin-left: 10px;
    }

    /* ==============================
       공지사항 / 자주하는질문
       참고 이미지 스타일
       ============================== */
    .main-section.board-section {
        margin-top:50px;
        padding: 58px 0 70px;
        background: #fff;
    }

    .main-section.board-section > .inner {
        width: 100%;
        max-width: 1300px;
        margin: 0 auto;
        padding: 0 20px;
        box-sizing: border-box;
    }

    .main-board-wrap {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 34px;
        width: 100%;
    }

    .main-board-card {
        min-width: 0;
    }

    .main-board-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        margin-bottom: 18px;
    }

    .main-board-head .questions{
        transform: scaleX(-1);
    }

    .main-board-head .main_news_img{
        padding-left:0;
    }

    .main-board-title {
        margin: 0;
        margin-right: auto;
        text-align: left;
        font-size: 26px;
        line-height: 1.25;
        font-weight: 800;
        letter-spacing: -1.2px;
        color: #111827;
    }

    .main-board-more {
        flex: 0 0 auto;
        display: inline-flex;
        align-items: center;
        gap: 7px;
        font-size: 14px;
        line-height: 1;
        font-weight: 500;
        color: #333;
        text-decoration: none;
        white-space: nowrap;
    }

    .main-board-more::after {
        content: "›";
        position: relative;
        top: -1px;
        font-size: 28px;
        line-height: 12px;
        font-weight: 300;
        color: #64748b;
    }

    .main-board-more:hover {
        color: #e1261c;
    }

    .main-board-list-box {
        margin: 0;
        padding: 0 30px;
        list-style: none;
        border: 1px solid #d7dde5;
        border-radius: 20px;
        background: #fff;
        box-sizing: border-box;
        overflow: hidden;
    }

    .main-board-list-box li {
        margin: 0;
        padding: 0;
        border-bottom: 1px solid #e1e5ea;
        list-style: none;
    }

    .main-board-list-box li:last-child {
        border-bottom: 0;
    }

    .main-board-list-box li > a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 24px;
        width: 100%;
        min-height: 64px;
        padding: 13px 0;
        box-sizing: border-box;
        color: #111;
        text-decoration: none;
    }

    .main-board-list-box li > a:hover .board-row-title{
        font-weight: 700;
    }

    .main-board-list-box .board-row-title {
        display: block;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: 16px;
        line-height: 1.45;
        font-weight: 500;
        letter-spacing: -0.45px;
        color: #111;
        transition: color 0.1s, font-weight 0.1s;
    }


    .main-board-list-box .board-row-date {
        flex: 0 0 96px;
        text-align: right;
        font-size: 15px;
        line-height: 1.4;
        font-weight: 400;
        color: #172033;
        white-space: nowrap;
    }

    .main-board-list-box li > a:hover .board-row-title {
        text-decoration: underline;
        text-underline-offset: 3px;
    }

    @media (max-width: 1024px) {
        .main-board-wrap {
            grid-template-columns: 1fr;
            gap: 42px;
        }
    }

    @media (max-width: 768px) {
        .main-section.board-section {
            padding: 36px 0 50px;
        }

        .main-section.board-section > .inner {
            padding: 0 16px;
        }

        .main-board-head {
            margin-bottom: 14px;
        }

        .main-board-title {
            font-size: 25px;
        }

        .main-board-list-box {
            padding: 0 18px;
            border-radius: 16px;
        }

        .main-board-list-box li > a {
            min-height: 58px;
            gap: 14px;
            padding: 11px 0;
        }

        .main-board-list-box .board-row-title {
            font-size: 15px;
        }

        .main-board-list-box .board-row-date {
            flex-basis: 84px;
            font-size: 13px;
        }
    }

    @media (max-width: 480px) {
        .main-board-list-box .board-row-date {
            display: none;
        }

        .main-board-list-box li > a {
            min-height: 56px;
        }
    }


/* =========================
   학습지원센터 리디자인
   ========================= */
.support.support_pc{
    width: 100%;
    max-width: 1300px;
    margin: 0 auto;
    position: relative;
    padding: 0 16px;
    box-sizing: border-box;
}

.support.support_pc .support_head{
    margin-bottom:18px;
}

.support.support_pc .support_head .tit{
    margin:0;
    font-size:28px;
    line-height:1.2;
    font-weight:800;
    color:#0b1f5f;
    letter-spacing:-0.5px;
    border-bottom:0;
}

.support.support_pc .support_head .desc{
    margin:0;
    font-size:16px;
    color:#6e7482;
    line-height:1.4;
    text-align:right;
    white-space:nowrap;
}

.support.support_pc .support_wrap{
    display:grid;
    grid-template-columns:repeat(5, 1fr);
    border:1px solid #dfe5ee;
    border-radius:24px;
    overflow:hidden;
    background:#fff;
}

.support.support_pc .support_wrap .content{
    position:relative;
    min-height:170px;
    border-right:1px solid #dfe5ee;
    border-bottom:1px solid #dfe5ee;
    box-sizing:border-box;
    width:100%;
    margin:0;
}

.support.support_pc .support_wrap .content:nth-child(5n){
    border-right:none;
}

.support.support_pc .support_wrap .content:nth-child(n+6){
    border-bottom:none;
}

.support.support_pc .support_wrap .content > a{
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    height:100%;
    padding:26px 18px 24px;
    text-align:center;
    text-decoration:none;
    box-sizing:border-box;
    transition:background .2s ease, transform .2s ease;
}

.support.support_pc .support_wrap .content > a:hover{
    background:#f8fbff;
}

.support.support_pc .support_wrap .content > a::after{
    content:"›";
    position:absolute;
    right:18px;
    top:50%;
    transform:translateY(-50%);
    font-size:28px;
    font-weight:400;
    color:#c2c9d6;
    line-height:1;
}

.support.support_pc .support_wrap .content:nth-child(5n) > a::after{
    display:none;
}

.support.support_pc .support_wrap .pic{
    width:60px;
    height:60px;
    margin:0 auto 14px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #dfe5ee;
    border-radius:18px;
    background:#f7f9fc;
    cursor: pointer;
}

.support.support_pc .support_wrap .pic img{
    max-width:30px;
    max-height:30px;
    width:auto;
    height:auto;
}

.support.support_pc .support_wrap .title{
    margin:0 0 8px;
    font-size:16px;
    line-height:1.35;
    font-weight:800;
    color:#0b1f5f;
    letter-spacing:-0.3px;
    word-break:keep-all;
}

.support.support_pc .support_wrap .text{
    margin:0;
    font-size:14px;
    line-height:1.45;
    color:#6e7482;
    word-break:keep-all;
}

.support.support_pc .support_wrap > .content.last{
    display:none;
}

/* 태블릿 */
@media (max-width:1024px){
    .support.support_pc{
        padding:0 20px;
    }

    .support.support_pc .support_head{
        flex-direction:column;
        align-items:flex-start;
        gap:8px;
    }

    .support.support_pc .support_head .desc{
        text-align:left;
        white-space:normal;
    }

    .support.support_pc .support_wrap{
        grid-template-columns:repeat(3, 1fr);
    }

    .support.support_pc .support_wrap .content{
        border-right:1px solid #dfe5ee;
        border-bottom:1px solid #dfe5ee;
    }

    .support.support_pc .support_wrap .content:nth-child(5n){
        border-right:1px solid #dfe5ee;
    }

    .support.support_pc .support_wrap .content:nth-child(3n){
        border-right:none;
    }

    .support.support_pc .support_wrap .content:nth-child(n+6){
        border-bottom:1px solid #dfe5ee;
    }

    .support.support_pc .support_wrap .content:nth-last-child(-n+2){
        border-bottom:none;
    }

    .support.support_pc .support_wrap .content > a::after{
        display:none;
    }
}

/* 모바일 */
@media (max-width:767px){
    .support.support_pc{
        padding:0 16px;
        margin:30px auto !important;
    }

    .support.support_pc .support_head .tit{
        font-size:24px;
    }

    .support.support_pc .support_head .desc{
        font-size:14px;
    }

    .support.support_pc .support_wrap{
        grid-template-columns:repeat(2, 1fr);
        border-radius:18px;
    }

    .support.support_pc .support_wrap .content{
        min-height:150px;
        border-right:1px solid #dfe5ee;
        border-bottom:1px solid #dfe5ee;
    }

    .support.support_pc .support_wrap .content:nth-child(3n){
        border-right:1px solid #dfe5ee;
    }

    .support.support_pc .support_wrap .content:nth-child(2n){
        border-right:none;
    }

    .support.support_pc .support_wrap .content:nth-last-child(-n+2){
        border-bottom:none;
    }

    .support.support_pc .support_wrap .content > a{
        padding:20px 12px;
    }

    .support.support_pc .support_wrap .pic{
        width:54px;
        height:54px;
        border-radius:16px;
        margin-bottom:12px;
    }

    .support.support_pc .support_wrap .pic img{
        max-width:26px;
        max-height:26px;
    }

    .support.support_pc .support_wrap .title{
        font-size:15px;
    }

    .support.support_pc .support_wrap .text{
        font-size:13px;
    }
}


/* =========================================================
   메인 비주얼 하단 배너 제목 탭
   ========================================================= */
button:focus, button:focus-visible{
    outline:0;
}
.visual__inner{
    overflow: visible;
}

.visual-tab-wrap{
    width: 1020px;
    margin: 0 auto;
    position: relative;
    z-index: 20;
}

.visual-tab{
    display: flex;
    width: 100%;
    background: #fff;
    overflow: hidden;
}

.visual-tab__item{
    position: relative;
    flex: 1 1 0;
    min-width: 0;
    height: 64px;
    padding: 0 12px;
    border: 0;
    background: #fff;
    color: #888;
    font-size: 15px;
    font-family: inherit;
    text-align: center;
    cursor: pointer;
    transition:color .2s ease, background-color .2s ease;
}

.visual-tab__item::before{
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 5px;
    background: #78a3fe;
    transition: width .35s ease;
}

.visual-tab__item:hover{
    background: #fafafa;
    color: #333;
}

.visual-tab__item.active{
    color: #78a3fe;
    background: #f6f9ff;
    font-weight: 700;
}

.visual-tab__item.active::before{
    width: 100%;
}

.visual-tab__item span{
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* 기존 fraction pagination은 사용하지 않음 */
.visual__slider .swiper-pagination{
    display: none !important;
}

@media screen and (max-width: 1024px){

    .visual-tab-wrap{
        width: 100%;
    }

    .visual-tab{
        overflow-x: auto;
        overflow-y: hidden;
        justify-content: flex-start;
        border-radius: 0;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .visual-tab::-webkit-scrollbar{
        display: none;
    }

    .visual-tab__item{
        flex: 0 0 auto;
        min-width: 150px;
        height: 56px;
        font-size: 14px;
    }

    .visual__slider .swiper-slide{
        border-top-right-radius: 16px;
        border-top-left-radius: 16px;
    }
    .visual__slider{
        border-top-right-radius: 16px;
        border-top-left-radius: 16px;
    }
}

@media screen and (max-width: 640px){

    .visual-tab__item{
        min-width: 130px;
        height: 52px;
        padding: 0 10px;
        font-size: 13px;
    }
}

/* =========================================================
   메인 배너 카운터 + 이전/일시정지/다음 컨트롤
   첨부 예시 이미지 스타일
   ========================================================= */

.visual__slider{
    position: relative;
}

/*
|--------------------------------------------------------------------------
| 배너 하단 컨트롤 전체 영역
|--------------------------------------------------------------------------
*/
.visual-control-overlay{
    position: absolute;
    left: 0;
    right: 0;
    bottom: 16px;
    z-index: 30;
    display: flex;
    align-items: center;
    justify-content: space-around;
    padding: 0 14px;
    box-sizing: border-box;
    pointer-events: none;
}


/*
|--------------------------------------------------------------------------
| 왼쪽 현재번호 / 전체번호
|--------------------------------------------------------------------------
*/
.visual-control__counter{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 74px;
    height: 36px;
    padding: 0 14px;
    border-radius: 18px;
    background: rgba(44, 57, 65, 0.72);
    color: #fff;
    font-size: 14px;
    line-height: 1;
    letter-spacing: -0.2px;
    box-sizing: border-box;
    pointer-events: auto;
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
}

.visual-control__counter strong{
    font-weight: 700;
    color: #fff;
}

.visual-control__counter #visual_total{
    color: rgba(255,255,255,0.68);
    font-weight: 500;
}

.visual-control__slash{
    display: inline-block;
    margin: 0 5px;
    color: rgba(255,255,255,0.55);
}


/*
|--------------------------------------------------------------------------
| 오른쪽 이전 / 일시정지 / 다음 묶음
|--------------------------------------------------------------------------
*/
.visual-control__nav{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 36px;
    padding: 0 5px;
    border-radius: 18px;
    background: rgba(31, 39, 46, 0.72);
    box-sizing: border-box;
    pointer-events: auto;
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
}


/*
|--------------------------------------------------------------------------
| 컨트롤 공통 버튼
|--------------------------------------------------------------------------
*/
.visual-control__button{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
    transition:
        background-color .2s ease,
        opacity .2s ease;
}

.visual-control__button:hover{
    background: rgba(255,255,255,0.14);
}

.visual-control__button:focus,
.visual-control__button:focus-visible{
    outline: 0;
}


/*
|--------------------------------------------------------------------------
| 이전 / 다음 화살표
|--------------------------------------------------------------------------
| 이미지 파일 없이 CSS만으로 만듭니다.
*/
.visual-control__arrow{
    display: block;
    width: 8px;
    height: 8px;
    border-top: 1.5px solid #fff;
    border-right: 1.5px solid #fff;
    box-sizing: border-box;
}

.visual-control__arrow.prev{
    transform: rotate(-135deg);
    margin-left: 3px;
}

.visual-control__arrow.next{
    transform: rotate(45deg);
    margin-right: 3px;
}


/*
|--------------------------------------------------------------------------
| 일시정지 아이콘 ||
|--------------------------------------------------------------------------
*/
.visual-control__pause-icon.pause{
    position: relative;
    display: block;
    width: 10px;
    height: 13px;
}

.visual-control__pause-icon.pause::before,
.visual-control__pause-icon.pause::after{
    content: "";
    position: absolute;
    top: 0;
    width: 2px;
    height: 13px;
    border-radius: 1px;
    background: #fff;
}

.visual-control__pause-icon.pause::before{
    left: 1px;
}

.visual-control__pause-icon.pause::after{
    right: 1px;
}


/*
|--------------------------------------------------------------------------
| 재생 아이콘 ▶
|--------------------------------------------------------------------------
*/
.visual-control__pause-icon.play{
    display: block;
    width: 0;
    height: 0;
    margin-left: 2px;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 9px solid #fff;
}


/*
|--------------------------------------------------------------------------
| Swiper 기본 navigation 아이콘 숨김 방지용
|--------------------------------------------------------------------------
| 이번 버튼에는 swiper-button-prev/next 클래스를 사용하지 않으므로
| Swiper 기본 큰 화살표가 나타나지 않습니다.
*/
#prev_b::after,
#next_b::after{
    display: none !important;
    content: none !important;
}


/*
|--------------------------------------------------------------------------
| 모바일
|--------------------------------------------------------------------------
*/
@media screen and (max-width: 1024px){

    .visual-control-overlay{
        bottom: 12px;
        padding: 0 12px;
    }

    .visual-control__counter,
    .visual-control__nav{
        height: 34px;
        border-radius: 17px;
    }

    .visual-control__counter{
        min-width: 70px;
        padding: 0 12px;
        font-size: 13px;
    }

    .visual-control__button{
        width: 28px;
        height: 28px;
    }
}

@media screen and (max-width: 640px){

    .visual-control-overlay{
        bottom: 20px;
        padding: 0 10px;
    }

    .visual-control__counter,
    .visual-control__nav{
        height: 32px;
        border-radius: 16px;
    }

    .visual-control__counter{
        min-width: 64px;
        padding: 0 10px;
        font-size: 12px;
    }

    .visual-control__button{
        width: 26px;
        height: 26px;
    }
}

@media (max-width: 1608px) {
    .visual-control-overlay{
        justify-content: space-between;
    }
    .visual-tab-wrap{
        width:100%;
    }
}


/* =========================================================
   메인 비주얼 배너 크기 조정
   767px 미만에서만 적용
   ========================================================= */

@media screen and (max-width: 767px){

    /* 비주얼 전체 영역 */
    .visual{
        padding-top: 20px;
        box-sizing: border-box;
        height: 388px;
    }

    .visual__inner{
        width: 100%;
        padding: 0;
        box-sizing: border-box;
    }

    .main-section.board-section{
          margin-top: 0;  
    }

    /* 메인 배너 */
    .visual__slider{
        height: 300px !important;
        border-radius: 16px;
        border-bottom-right-radius: 0;
        border-bottom-left-radius: 0;
        overflow: hidden;
        box-sizing: border-box;
    }

    .visual__slider .swiper-wrapper{
        width: 100%;
        height: 100%;
    }

    .visual__slider .slide_item{
        width: 100% !important;
        height: 300px !important;
        background-position: center center !important;
        background-repeat: no-repeat !important;
        background-size: cover !important;
        border-radius: 16px;
        border-bottom-right-radius: 0;
        border-bottom-left-radius: 0;
        box-sizing: border-box;
    }

    /* 배너 하단 제목 탭도 배너 폭과 동일하게 */
    .visual-tab-wrap{
        width: calc(100% - 64px) !important;
        max-width: 420px;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* 배너 내부 컨트롤 */
    .visual-control-overlay{
        left: 0;
        right: 0;
        bottom: 12px;
        padding: 0 12px;
        justify-content: space-between;
    }
}

/* 작은 모바일 */
@media screen and (max-width: 420px){

    .visual__slider{
        width: calc(100% - 32px) !important;
        height: 280px !important;
        border-radius: 14px;
    }

    .visual__slider .slide_item{
        height: 280px !important;
        border-radius: 14px;
    }

    .visual-tab-wrap{
        width: calc(100% - 32px) !important;
    }
}


/* =========================================================
   767px 이하 : 배너와 함께 하단 제목 탭도 슬라이드
   ========================================================= */

@media screen and (max-width: 767px){

    /*
    | 바깥 네모박스
    | 화면에는 이 영역만 보이고 내부 제목 목록이 좌우로 이동합니다.
    */
    .visual-tab-wrap{
        width: calc(100% - 64px) !important;
        max-width: 420px;
        margin-left: auto !important;
        margin-right: auto !important;

        overflow: hidden !important;
        position: relative;

        border-radius: 0 0 14px 14px;
        background: #fff;
    }

    /*
    | 실제로 움직이는 제목 목록
    */
    .visual-tab{
        display: flex !important;
        justify-content: flex-start !important;

        width: max-content !important;
        min-width: 100%;

        overflow: visible !important;

        transform: translate3d(0, 0, 0);

        transition:
            transform .55s cubic-bezier(.22, .61, .36, 1);

        will-change: transform;
    }

    /*
    | 모바일에서 한 번에 약 3개 정도 보이게 설정
    */
    .visual-tab__item{
        flex: 0 0 130px !important;
        width: 130px;
        min-width: 130px !important;
        height: 52px;

        padding: 0 10px;

        font-size: 13px;

        box-sizing: border-box;
    }

    /*
    | 네이티브 가로 스크롤은 사용하지 않고
    | Swiper 이동에 맞춰 JS transform으로 움직입니다.
    */
    .visual-tab{
        scrollbar-width: none;
    }

    .visual-tab::-webkit-scrollbar{
        display: none;
    }
}


/* 작은 모바일 */
@media screen and (max-width: 420px){

    .visual-tab-wrap{
        width: calc(100% - 32px) !important;
    }

    .visual-tab__item{
        flex-basis: 120px !important;
        width: 120px;
        min-width: 120px !important;
    }
}
