/* 전체 */
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard-dynamic-subset.css');

body {
    font-family: 'Pretendard', Sans-serif;
}

img {
    margin: 0 auto;
}

:root {


    /**** !! 코딩시 지우지 말 것 !! ****/

    /* 컬러 */
    --basic: #555555;
    --LightFont: #888888;
    --white: #fff;
    --black: #333333;

    --main: #046ab4;
    --mainOver: #0a5679;
    --sub: #0B9AD8;
    --subYellow: #FBB03F;
    --gray_bg: #F5F5F5;
    --border: rgba(51, 51, 51, 0.18);
    --green: #2196F3;
    --gray: #999999;

    /* 폰트 */
    --eng: 'Lexend', 'Noto Sans KR', Malgun Gothic, 'Malgun Gothic', sans-serif;
    --icon: "Material Symbols Outlined";

    /**** !! 코딩시 지우지 말 것 !! ****/


    /* 높이 */
    --vh: 100%;

    /* 폰트크기 */
    --fs50: 3.125rem;
    --fs24: 1.411rem;
    --fs19: 1.1176rem;
    --fs16: 0.9411rem;


}

.carousel-control img {
    position: relative;
    top: 50%;
    width: 100px;
    margin-top: -50px;
}

#myCarousel_mobile {
    display: none;
}

.bx-wrapper {
    margin-bottom: 0;
}

.bx-wrapper .bx-controls-direction a {
    z-index: 0;
}

.clear:after {
    display: block;
    content: '';
    clear: both;
}

.utbThumbWrap {
    padding-bottom: 66%
}

.utbThumb {
    margin-top: -14%;
}

.sub_con {
    width: 1000px;
    margin: 0 auto;
}

.sub_con img {
    text-align: center;
}

@media (min-width: 834px) and (max-width: 1024px) {
    .utbThumb {
        margin-top: -22%;
    }
}

@media (min-width : 600px) and (max-width: 833px) {
    .utbThumb {
        margin-top: -17%;
    }
}

@media (max-width: 599px) {
    .utbThumb {
        margin-top: -20%;
    }

    .sub_con img {
        width: 100%;
    }

    .daewoo_family {
        margin: 0 auto;
        width: 100%;
        text-align: right;
    }

    .daewoo_family img {
        width: 100%;
    }

    .daewoo_family a {
        text-align: center;
    }
}

/* 계산서요청 */

.mytax_list li {
    background-color: #fff;
    border: 1px solid #e0e3e8;
    margin-top: 12px;
    padding: 27px 32px 4px;
    border-radius: 12px;
}

.mytax_list li .mytax_top {
    border-bottom: 1px solid #e0e3e8;
    position: relative;
    padding-bottom: 12px;
    box-sizing: border-box;
}

.mytax_top_lft {
    display: flex;
    margin-bottom: 7px;
}


.mytax_list li .mytax_top h2 {
    font-size: 18px;
    font-weight: bold;
    color: #000;
    word-spacing: -2px;
    margin-right: 12px;
}

.mytax_list li .mytax_top h2 span {
    width: 50px;
    height: 19.5px;
    background-color: #11ab91;
    margin-right: 7.5px;
    margin-bottom: 2.5px;
    font-size: 12px;
    display: inline-block;
    text-align: center;
    vertical-align: middle;
    color: #fff;
    font-weight: 400;
}

.mytax_list li .mytax_top h3 {
    font-size: 15px;
    font-weight: 500;
    color: #e91e63;
    line-height: 20px;
    letter-spacing: -0.5px;
}

.mytax_list li .mytax_top h4 {
    font-size: 16px;
    font-weight: 400;
    position: absolute;
    top: 0;
    right: 0;
}

.mytax_list li .mytax_top h4 span {
    color: #e91e63;
    font-weight: 600;
    font-size: 18px;
}

.mytax_list li .mytax_top .complete+h4 {
    font-size: 16px;
    top: -4px;
}

.mytax_list li .mytax_btm {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 0px;
    box-sizing: border-box;
}

.mytax_list li .mytax_btm h6 {
    font-size: 14px;
    font-weight: 400;
    color: #222222;
    letter-spacing: -0.5px;
    margin-top: 15px;
    flex: 1;
}

.mytax_list li .mytax_btm h6 span {
    color: #387afc;
    margin-right: 8px;
    padding: 8px 10px;
    background-color: #eff4ff;
    border-radius: 4px;
    font-weight: 500;
}

.mytax_list li .mytax_btm h6 a {
    padding: 0 18px;
    height: 38px;
    color: #50C6C7;
    border-radius: 6px;
    border: 1px solid #50C6C7;

    margin-left: auto;
    margin-right: 8px;
    font-size: 15px;
    font-weight: 600;
}

.mytax_list .mytax_btn_wrap {
    gap: 8px;
}

.mytax_list li .mytax_btm .bar_per {
    width: 465px;
    height: 6px;
    background-color: #dbe0f6;
    margin-top: 10px;
}

.mytax_list li .mytax_btm .percent {
    position: absolute;
    top: 20px;
    left: 475px;
    color: #0616bc;
    font-size: 15px;
}

.mytax_list .mytax_btn_wrap [class*="btn_"] {
    min-width: 125px;
    height: 38px;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -.5px;
    border-radius: 6px;

}

.mytax_list .mytax_btn_wrap .btn_1 {
    background-color: #fff;
    color: #387afc;
    text-align: center;
    border: 1px solid #387afc;
}

.mytax_list .mytax_btn_wrap .btn_2 {
    background-color: #387afc;
    color: #fff;
    font-weight: 600;
    border: 1px solid #387afc;
}

.mytax_list .mytax_btn_wrap .btn_3 {
    background-color: #fff;
    color: #00bcd4;
    text-align: center;
    border: 1px solid #00bcd4;
}

.btn_1 span {
    text-align: center;
    width: calc(100% + 200px);
    font-size: 16px;
    font-weight: 600;
    pointer-events: none;
}

.mytax_list .mytax_btn_wrap .ico {
    position: relative;
    align-items: center;
    gap: 1px;
    justify-content: center;
}


.mytax_top_lft h5 {
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    background-color: #387afc;
    padding: 3px 10px;
    color: #fff;
    border-radius: 20px;
    display: flex;
    align-items: center;
}

.mytax_top_lft h5 span {
    color: #fff;
    font-weight: 400;
}

.mytax_top_lft h5 span a {
    color: #fff !important;
    font-weight: 600;
}

.mytax_top_lft.complete h5 {
    position: absolute;
    right: 15px;
    top: 14px;
    color: #212224;
    background: transparent;
    font-size: 16px;
    font-weight: bold;
}

.mytax_notice {
    padding: 35px 40px;
    display: block;
    position: relative;
    border-radius: 20px;
    background-color: #eff4ff;
    background-image: url(/common/image/myclass_bg.png);
    background-position: right 90px bottom 50px;
    background-repeat: no-repeat;
}

.mytax_notice li {
    color: #666666;
    font-size: 15px;
    letter-spacing: -1px;
    word-break: keep-all;
    margin-bottom: 5px;
    position: relative;
    padding-left: 12px;
    line-height: 20px;
}

.mytax_notice li::before {
    content: '';
    display: block;
    width: 4px;
    height: 4px;
    background-color: #387afc;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.mytax_notice li:last-child {
    margin-bottom: 0;
}

.mytax_notice li i {
    margin: 2.5px 5px 0 0;
    font-style: normal;
    color: #6F7792;
}

.mytax_notice span {
    color: #e91e63;
}

.mytax_notice span i {
    color: #fff;
    font-size: 22px;
    cursor: pointer;
}

.mytax_notice>h3 {
    display: block;
    font-size: 16px;
    line-height: 26px;
    color: #387afc;
    font-weight: 500;
    margin-bottom: 3px;
}

.mytax_notice>h2 {
    display: block;
    font-size: 24px;
    line-height: 34px;
    color: #000;
    font-weight: bold;
    margin-bottom: 12px;
}

.mytax_notice>h2>img {
    width: 20px;
    height: 20px;
    vertical-align: middle;
}

.mytax_notice>h2>span {
    font-size: 1rem;
    letter-spacing: -0.04em;
    color: #000;
    position: unset;
    font-weight: 600;
}

/* 메인 배너 텍스트 */
.main_tit_2022 {
    display: inline-block;
    padding: 1rem 1rem 2rem 1rem;
    margin: 1rem auto;
    color: #fff;
    border-radius: 20px;
}

.main_tit_2022>.pc {
    font-size: 30px;
    font-weight: 400 !important;
}

.main_tit_2022>.pc>b {
    font-size: 48px;
    color: #00bcd4 !important;
    display: block;
    box-shadow: rgb(100 100 111 / 10%) 0px 5px 25px 0px;
}

.main_tit_2022>.mobile {
    font-size: 24px;
}

.main_tit_2022>.mobile>b {
    color: #481099 !important;
    display: block;
}

.main_des_2022 {
    padding-left: 32px;
    display: block;
}

.main_des_2022>.pc {
    font-weight: 400 !important;
    font-size: 18px;
    line-height: 1.4em;
}

.main_des_2022>.mobile {
    font-weight: 400 !important;
    font-size: 17px;
    line-height: 1.4em;
}

.bnr_btn_more {
    background: #00bcd4;
    padding: 8px 50px 12px;
    position: relative;
    border-radius: 30px;
    bottom: -30px;
}

.bnr_btn_more:hover {
    background: #360f6d;
    box-shadow: 0 10px 10px rgba(200, 50, 200, 0.1);
    transition: 0.3s;
}

.bnr_btn_more span {
    font-size: 14px;
    font-weight: 400;
    margin-left: -20px;
    color: #fff;
}

.bnr_btn_more span i {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    margin-left: 10px;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    width: 8px;
    height: 8px;
}

@media screen and (max-width:420px) {

    /* 메인 모바일 배너 텍스트 */
    .swiper-slide {
        background-position: right 0% center !important;
        background-repeat: no-repeat;
    }

    .swiper-slide::before {
        content: '';
        width: 100%;
        height: 440px;
        background-image: linear-gradient(90deg, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0));
        position: absolute;
    }

    .main_tit_2022>.pc {
        font-size: 24px;
        font-weight: 400 !important;
    }

    .main_tit_2022>.pc>b {
        font-size: 40px;
        color: #00bcd4 !important;
        display: block;
        box-shadow: rgb(100 100 111 / 10%) 0px 5px 25px 0px;
    }

    .main_des_2022 {
        padding-left: 0px;
        display: block;
    }
}


/***********메인************/

.pricing-section {
    display: flex;
    gap: 10px;
    justify-content: center;
    padding: 40px 10px 0 10px;
}

.pricing-card {
    width: 300%;
    background: #fff;
    border-radius: 12px;
    padding: 20px;
    color: #333;
    text-align: left;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
    display: flex;
    flex-direction: column;
    transition: all 0.25s ease-in-out;
}



.pricing-card:hover {
    transform: translateY(-4px) scale(1.01);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
    border: 2px solid #787dff;
    background-color: #edf5ff;
}

.card-header {
    margin-bottom: 12px;
}

.title-block h4 {
    font-size: 1.2rem;
    font-weight: 700;
}

.title-block .meta {
    margin: 0;
    font-size: 0.9rem;
    color: #666;
}

.card-body {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 20px;
}

.price-block {
    text-align: right;
}

.price {
    position: relative;
    font-weight: 800;
    font-size: 1.5rem;
    margin: 0;
    color: #222;
    transition: color 0.3s ease;
}

.price strong {
    font-weight: 800;
    color: #046ab4;
}

.price small {
    font-size: 0.9rem;
    color: #777;
}

.sub-price {
    font-size: 1rem;
    color: #222;
    margin-top: 5px;
}

.sub-price-1 {
    font-size: 1.2rem;
    color: #787dff;
    transition: font-weight 0.3s ease, font-size 0.3s ease, transform 0.3s ease;
    font-weight: normal;
}

.card-footer {
    margin-top: auto;
}

.btn-view {
    display: block;
    width: 100%;
    padding: 12px 0;
    border-radius: 8px;
    background: #5bbeff;
    color: #fff !important;
    font-weight: 600;
    text-align: center;
    text-decoration: none;

}

/* 가격 호버 효과 */
.price::after {
    content: '';
    position: absolute;
    right: 0;
    height: 1px;
    width: 100px;
    top: 50%;
    background-color: #787dff;
    transform: scaleX(0);
}

#electrical-package:hover .price {
    font-weight: 800;
    color: #6b6b6b;
}

#electrical-package:hover .sub-price-1 {
    font-weight: 800;
    font-size: 24px;
    transform: scale(1.05);
}

#electrical-package:hover .price::after {
    transform: scaleX(1);
}

#electrical-package:hover .discounted-price {
    font-weight: bold;
    font-size: 18px;
    transform: scale(1.05);
}


.mt-wrap {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    padding: 40px 20px;
    max-width: 1200px;
    margin: 0 auto;
}

.mt-box {
    flex: 1;
}

/* 중앙 구분선 */
.mt-l::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 80%;
    background-color: #eeeeee;
}

/* 상단 소제목 스타일 */
.mt-tit {
    font-size: 28px;
    font-weight: 800;
    color: #173481;
    margin-bottom: 15px;
}

.mt-tit-blue {
    font-size: 28px;
    font-weight: 700;
    color: #173481;
    margin-bottom: 15px;
}

/* 메인 강조 텍스트 */
.mt-txt-main {
    font-size: 17px;
    font-weight: 600;
    color: #111111;
    line-height: 1.4;
    margin-bottom: 30px;
    letter-spacing: -0.5px;
}

/* 하단 설명 텍스트 */
.mt-txt-sub {
    font-size: 14px;
    font-weight: 500;
    color: #333333;
    line-height: 1.6;
}

@media (max-width: 1024px) {
    .mt-wrap {
        flex-direction: column;
        padding: 40px 20px;
    }

    .mt-l::after {
        display: none;
    }

    .mt-box {
        padding: 20px 0;
    }

    .mt-l {
        border-bottom: 1px solid #eeeeee;
        margin-bottom: 30px;
    }
}


.main-title-text1 {
    padding: 0 20px 0 20px;
}

.main-title-text {
    text-align: left;
    font-size: 28px;
    font-weight: 800;
    color: #173481;
    line-height: 1.5;
}

.main-title-text-1 {
    text-align: left;
    font-size: 20px;
    font-weight: 600;
    color: #111111;
    line-height: 1.5;
}

.div_center {
    text-align: center;
}

.viewpoint_banner {
    width: 100%;
    padding: 80px 0;
}

.viewpoint_banner h1.section_tit_a {
    text-align: center;
    margin-bottom: 40px;
    font-size: 27px;
    font-weight: 500;
    font-family: 'Pretendard', Sans-serif;
}

.viewpoint_banner h1.section_tit_a {
    position: relative;
    display: inline-block;
}

.viewpoint_banner h1.section_tit_a:after {
    content: "";
    width: 100%;
    height: 10px;
    display: inline-block;
    background: #ffec9c;
    position: absolute;
    bottom: 7px;
    left: 0;
    z-index: -1;
}

.viewpoint_banner li.box {
    float: left;
    padding-top: 80px;
    position: relative;
    margin-right: 20px;
    width: calc(25% - 15px);
    text-align: center;
    background-size: cover;
    background-position: top;
    min-height: 305px;
    transition: all 0.1s;
}

.viewpoint_banner li.box:last-child {
    margin-right: 0;
}

.viewpoint_banner li.box img {
    width: 65px;
}

.viewpoint_banner li.box h1.tit {
    color: #fff;
    font-size: 30px;
    padding: 8px 0;
    font-family: 'Pretendard', Sans-serif;
    letter-spacing: 1px;
    transition: all 0.1s;
}

.viewpoint_banner li.box:hover .tit {
    color: #f7ecc1;
}


.viewpoint_banner li.box1 {
    background-image: url('/files/images/main_banner_01_bg.jpg');
}

.viewpoint_banner li.box2 {
    background-image: url('/files/images/main_banner_02_bg.jpg');
}

.viewpoint_banner li.box3 {
    background-image: url('/files/images/main_banner_031_bg.jpg');
    padding-top: 100px;
}

.viewpoint_banner li.box4 {
    background-image: url('/files/images/main_banner_04_bg.jpg');
}

.viewpoint_banner li.box3 img {
    margin-bottom: 9px;
}


.long_banner {
    padding: 22px 0;
    display: inline-block;
    width: 100%;
}

.long_banner.main {
    background-image: url('/files/images/prd_bg.gif');
    opacity: 0.5;
}

.long_banner ul {
    width: 820px;
    margin: 0 auto;
}

.long_banner ul li {
    float: left;
}

.long_banner ul li.txt_section {
    width: 100%;
    padding-top: 18px;
    text-align: center;
}

.long_banner ul li.img_section {
    width: 20%;
}

.long_banner ul li.img_section img {
    width: 100%;
}

.long_banner ul li.txt_section span {
    font-size: 34px;
    font-weight: 600;
    color: #00d6f1;
    border-bottom: 1px solid #00d6f1;
    line-height: 24px;
    text-align: center;
}

.long_banner ul li.txt_section h1 {
    font-size: 26px;
    color: #ffffff;
    margin-top: 20px;
    text-align: center;
    font-weight: 400;
}


/* 이용약관, 개인정보취급방침 */
.policy-title {
    font-size: 36px;
    font-weight: 800;
    text-align: center;
    letter-spacing: -1px;
    margin-bottom: 50px;
}

.policy_cont {
    position: relative;
    overflow: hidden;
    font-size: 1rem;
}

.policy_cont br {
    display: block;
}

.policy_cont strong {
    font-weight: 600;
    color: #000000;
}

.policy_cont .cont_title {
    font-size: 1.412rem;
    color: #000000;
    padding-bottom: 18px;
    letter-spacing: -0.02em;
    font-weight: 500;
}

.policy_cont p.cont_btit {
    display: block;
    font-size: 1.1em !important;
    padding-top: 10px;
    font-weight: 500;
    color: #000000 !important;
    letter-spacing: -0.02em;
}

.policy_cont p.cont_tit {
    display: block;
    font-size: 1em !important;
    padding-bottom: 10px;
    font-weight: 500;
    color: #000000 !important;
    letter-spacing: -0.02em;
}

.policy_cont .cont_txt {
    padding: 0px 0px 25px 0;
    color: #666666;
    line-height: 150%;
    font-size: 16px;
    letter-spacing: -1px;
}

.policy_cont .cont_txt2 {
    padding-bottom: 35px;
}

.policy_cont .cont_box {
    padding: 25px;
    background: #edeff6;
    border-radius: 20px;
    margin: 12px 0px 10px 0px;
    display: block;
    letter-spacing: -0.02em;
    line-height: 1.7;
}

.privacy_list {
    width: 100%;
    overflow: hidden;
    clear: both;
    zoom: 1;
    padding: 3% 3% 3% 4%;
    border: 1px dashed #dddddd;
    border-radius: 20px;
    margin-bottom: 30px;
}

.privacy_list li {
    width: 50%;
    float: left;
    padding-bottom: 1%;
}

.privacy_list li a {
    font-weight: 500;
    color: #000000;
    font-size: 15px;
}



/* 추천강좌&신규과정 공통 */
.bs-title {
    text-align: center;
    font-size: 40px;
    color: #333;
    font-weight: 500;
}

.bs-title::before {
    display: inline-block;
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #3b83cf;
    margin-bottom: 30px;
    margin-right: -5px;
}

.ns-title {
    text-align: center;
    font-size: 40px;
    color: #333;
    font-weight: 500;
}

.ns-title::before {
    display: inline-block;
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #3b83cf;
    margin-bottom: 30px;
    margin-right: -5px;
}

.bs-border-line,
.ns-border-line {
    height: 1px;
    margin: 0px auto 14px;
}

/* 컨텐츠 - 추천강좌 */

.bs-txt {
    color: #666;
    font-size: 17px;
    text-align: center;
}

.video-grid1 {}

/* 컨텐츠 - 신규과정 */
.ns-border-line {
    background: #72b2e5;
}

span.main_lec_stit {
    color: #222222;
    margin-right: 5px;
    font-size: 18px;
}

span.main_date {
    color: #666666;
    margin-right: 5px;
    font-size: 16px;
}

.bs-ss-box {
    height: 0;
    overflow: hidden;
    padding-bottom: 58%;
    position: relative;
}

.bs-ss-box img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 10px;
}

.bs-source-subjcet {
    height: 350px;
}

.bs-ss-text,
.ns-ss-text {
    padding: 0px 15px;
    min-height: 20px;
    margin-top: 15px;
}

.bs-ss-text1,
.ns-ss-text1 {
    padding: 0px 15px;
    margin-top: 3px;
    margin-bottom: 0px;
}

.bs-ss-text2,
.ns-ss-text2 {
    padding: 0px 15px;
    min-height: 28px;
    margin-top: 0px;
    margin-bottom: 10px;
}

.bs-ss-button ul li,
.ns-ss-button ul li {
    width: 100%;
}

.bs-ss-button-r,
.bs-ns-button-r {
    font-size: 14px;
    padding: 10px 0;
    text-align: center;
    transition: all 0.2s;
}

.bs-ss-button-l,
.ns-ss-button-l {
    background: #26485f;
    color: #fff;
}

.bs-ss-all:hover,
.ns-ss-all:hover {}

.course_1,
.course_2,
.course_3,
.course_4,
.course_5,
.course_6,
.course_7,
.course_8 {}

.course_1:after,
.course_2:after,
.course_3:after,
.course_4:after,
.course_5:after,
.course_6:after,
.course_7:after,
.course_8:after {
    content: '';
    display: block;
    clear: both;
}

.course_1>li,
.course_2>li,
.course_3>li,
.course_4>li,
.course_5>li,
.course_6>li,
.course_7>li,
.course_8>li {
    float: left;
    width: 32%;
    margin-right: 2%;
    margin-bottom: 20px;
}

.course_1>li:nth-child(3n),
.course_2>li:nth-child(3n),
.course_3>li:nth-child(3n),
.course_4>li:nth-child(3n),
.course_5>li:nth-child(3n),
.course_6>li:nth-child(3n),
.course_7>li:nth-child(3n),
.course_8>li:nth-child(3n) {
    margin-right: 0;
}

.course_1>li:last-child,
.course_2>li:last-child,
.course_3>li:last-child,
.course_4>li:last-child,
.course_5>li:last-child,
.course_6>li:last-child,
.course_7>li:last-child,
.course_8>li:last-child {
    margin-right: 0;
}

.bs-ss-button,
.bs-ns-button {
    height: 40px;
    width: 100%;
}

.bs-ss-text h1,
.ns-ss-text h1 {
    font-size: 18px;
    font-weight: 600;
    height: 23px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    word-wrap: break-word;
    line-height: 23px;
}

.bs-ss-text h2,
.ns-ss-text h2 {
    font-size: 15px;
    color: #888;
    font-weight: 400;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    word-wrap: break-word;
    line-height: 18px;
    height: 37px;
    margin-top: 3px;
}

.main_teacher {
    float: left;
    width: 50%;
    font-size: 16px;
    font-weight: normal;
    color: #888;
}

.main_price {
    float: right;
    text-align: right;
    width: 50%;
    font-size: 21px;
    color: #db0f0f;
    letter-spacing: -1px;
    line-height: 24px;
}

.main_price span.salePersent {
    color: #6b90dc;
    font-size: 16px;
}

.main_price span.salePrice {
    color: #888888;
    font-size: 16px;
    text-decoration: line-through;
}

.ns-ss-all .bs-ss-box {
    border-radius: 11px;
}

.ns-ss-all .bs-ss-box img {
    transition: All .2s linear;
}

.ns-ss-all:hover {
    transition: All .2s linear;
}

.ns-ss-all:hover .bs-ss-box img {
    transform: scale(1.1);
    transition: All .2s linear;
}

.bs-ss-button-r {
    background: #ffec9c;
    color: #333;
}

.bs-ss-button-r:hover {
    background: #ffb92e;
    color: #fff;
}

.bs-ss-all {
    border: 1px solid #eeeeee;
    border-radius: 11px;
}

.bs-ss-all:hover {}

.bs-ns-button-r {
    background: #ecf3f0;
    color: #333;
}

.bs-ns-button-r:hover {
    background: #1C5C47;
    color: #fff;
}

.ns-ss-all {
    border: 1px solid #c7ced9;
    border-radius: 12px;
}

.ns-ss-all:hover {}

.class_total {
    margin: 5px
}

.starImg {
    margin: 5px
}

/* 컨텐츠 - 세미나리스트 */
.seminar_section {
    display: inline-block;
    width: 100%;
    background: url('/files/images/main_seminar_bg.jpg') center top;
    padding: 100px 0;
}

.seminar_section .tit {
    color: #fff;
    text-align: center;
    font-size: 26px;
    margin-bottom: 40px;
}

.seminar_section ul li.box {
    width: calc(25% - 20px);
    float: left;
    min-height: 200px;
    background: #fff;
    margin-right: 20px;
    margin-bottom: 20px;
    padding: 25px;
    position: relative;
}

.seminar_section ul li.box:after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    display: inline-block;
    width: 20px;
    height: 20px;
    background: #fa2828;
    transition: all 0.1s;
}

.seminar_section ul li.box:hover:after {
    width: 50%;
}

.seminar_section ul li.box:nth-child(4) {
    margin-right: 0;
}

.seminar_section ul li.empty {
    background: none;
}

.seminar_section ul li.empty:after {
    display: none;
}

.seminar_section ul li.titBox {
    background: #fa2828;
    padding: 25px 25px 0 25px;
}

.seminar_section ul li.titBox h2 {
    font-size: 25px;
    color: #fff;
    letter-spacing: -2px;
    margin-bottom: 15px;
}

.seminar_section ul li.titBox .titBtn {
    color: #fff;
    border: 1px solid #fff;
    font-size: 20px;
    text-align: center;
    padding: 5px 0;
    transition: all 0.1s;
}

.seminar_section ul li.titBox .titBtn:hover {
    color: #fa2828;
    background: #fff;
}

.seminar_section ul li.titBox .titBtn a {
    display: block;
}

.seminar_section ul li.box ul.semi_list li {
    font-size: 18px;
    letter-spacing: -1px;
    line-height: 24px;
    padding-left: 12px;
    position: relative;
}

.seminar_section ul li.box ul.semi_list li:before {
    content: "·";
    position: absolute;
    left: 0;
    top: 0;
}

/* 컨텐츠 - 메인 소개 */
/* 메인 커뮤니티 */
@media (max-width: 768px) {
    .board_box {
        width: 100% !important;
    }

    .nb-right-banner {
        width: 100% !important;
    }

    .nb-flex {
        flex-direction: column;
    }

    .board_box_left,
    .nb-right-banner {
        flex: 1 1 auto;
        width: 100%;
        min-width: unset;
    }

    .nb-right-banner {
        order: -1;
        text-align: center;
    }

    .b-title {
        font-size: 1.1rem;
    }

    .main-title-text {
        padding: 10px;
    }


}

/* 작은 모바일 (화면 너비 480px 이하) */
@media (max-width: 480px) {

    .nb-b-title {
        font-size: 1.2rem;
    }
}


.nb-flex {
    display: flex;
    gap: 60px;
    align-items: flex-start;
}

.nb-left {
    flex: 1;
}

.nb-list-style {
    list-style: none;
    padding: 0 !important;
}

.nb-list-style li {
    display: flex;
    justify-content: space-between;
    padding: 15px 0;
    border-bottom: 1px solid #eee;
}

.nb-list-style li a {
    text-decoration: none;
    color: #333;
    font-size: 15px;
}

.nb-rotate-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.4s ease-in-out;
    cursor: pointer;
    text-decoration: none;
}

.nb-rotate-btn:hover {
    transform: rotate(180deg);
}

.b-more .nb-rotate-btn {
    width: 28px;
    height: 28px;
    background: #4A89DC;
    color: #fff;
    border-radius: 4px;
}

.b-more .nb-rotate-btn::before {
    content: '+';
}

.nb-right-banner img {
    min-width: 300px;
}

.nb-right-banner {

    background: linear-gradient(rgb(7 19 109 / 68%), rgb(0 0 0 / 50%)), url(/files/images/m_bg.jpg);
    background-size: cover;
    background-position: center;
    border-radius: 15px;
    padding: 40px;
    color: #fff;
    width: 50%;
    height: -webkit-fill-available;
}


.nb-b-tag {
    font-size: 14px;
    margin-bottom: 10px;
}

.nb-b-title {
    font-size: 18px;
    margin-bottom: 15px;
    color: #ffffff;
}

.nb-b-desc {
    font-size: 26px;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 30px;
}

.nb-q-btn:hover {
    background-color: #034994;
}

.nb-q-btn {
    display: inline-flex;
    align-items: center;
    background: #3c7adb;
    color: #fff !important;
    text-decoration: none;
    padding: 8px 10px 8px 25px;
    border-radius: 30px;
    gap: 15px;
}

.nb-b-inner-1 {
    display: flex;
    justify-content: flex-end;
}

.nb-q-btn i {
    background: #fff;
    color: #3047d5;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    font-style: normal;
    font-weight: bold;
}

.play_button_triangle_icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    width: 60px;
    height: 45px;
    background-color: #FF0000;
    border-radius: 20%;
    border: none;
    cursor: pointer;
    font-size: 0;
    color: transparent;
    display: flex;
    justify-content: center;
    align-items: center;
}


.play_button_triangle_icon::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 18px solid #FFFFFF;
}


/* 메인게시판 끝 */

.re-inv-wr {
    width: 100%;
    background-color: #fff;
}

.re-inv-cn {
    padding: 40px 20px 0 20px;
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    align-items: stretch;
    gap: 50px;
}

.re-inv-lt {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 20px 0;
}

.re-inv-tt {
    font-size: 28px;
    font-weight: 800;
    line-height: 1.3;
    color: #111;
    margin: 0 0 25px 0;
    letter-spacing: -1.5px;
}

.re-inv-pt {
    color: #173481;
}

.re-inv-hk {
    font-size: 18px;
    font-weight: 700;
    color: #111;
    margin: 0;
}

.re-inv-lt-dc {
    width: 60px;
    height: 2px;
    margin-top: 40px;
}

.re-inv-rt {
    flex: 1.1;
}


.re-inv-tg {
    font-size: 28px;
    font-weight: 700;
    color: #173481;
    margin-bottom: 12px;
    display: block;
}

.re-inv-st {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
    color: #222;
    margin: 0 0 25px 0;
}

.re-inv-ls {
    list-style: none;
    padding: 0;
    margin: 0 0 30px 0;
}

.re-inv-ls li {
    font-size: 18px;
    color: #333;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
}

.re-inv-nm {
    font-weight: 800;
    color: #173481;
    margin-right: 10px;
    font-size: 20px;
}

.re-inv-ds {
    font-size: 16px;
    font-weight: 700;
    color: #111;
    padding-bottom: 12px;
}

.re-inv-cl {
    font-weight: 700;
}

.re-inv-bt {
    font-size: 16px;
    font-weight: 700;
    color: #111;
    margin: 0;
    padding-top: 12px;
    border-top: 1px solid #e2e8f0;
}

@media (max-width: 900px) {
    .re-inv-cn {
        flex-direction: column;
    }

    .re-inv-lt-dc {
        display: none;
    }

}

@media (max-width: 1024px) {
    .re-inv-cn {
        flex-direction: column;
        gap: 0;
        padding: 40px 20px;
    }

    .re-inv-lt,
    .re-inv-rt {
        padding: 30px 0;
        width: 100%;
    }

    .re-inv-rt-bx {
        padding: 0;
    }

    /* 모바일에서는 중앙 세로선 삭제 */
    .re-inv-lt::after {
        display: none;
    }

    /* 모바일에서는 영역 간 구분을 위한 하단 선 추가 */
    .re-inv-lt {
        border-bottom: 1px solid #eeeeee;
        margin-bottom: 30px;
    }

    .re-inv-tt {
        font-size: 26px;
    }

    .re-inv-ds {
        font-size: 20px;
    }
}

/* 컨텐츠 - 메인교재리스트 */
.main-best-book {
    padding-top: 80px;
}

.main-best-book .bb-ui {
    display: table;
    width: 100%;
}

.main-best-book .bb-ui>li {
    width: 80%;
    border: 1px solid #ddd;
    border-left: 0;
    padding: 30px 10px 30px 20px;
    display: table-cell;
    vertical-align: top;
}

.main-best-book .bb-ui>li:first-child {
    width: 20%;
    border-left: 1px solid #ddd;
}

.main-best-book .bb-ui-left {
    padding-top: 40px;
    font-size: 18px;
}

.main-best-book .bb-ui-left .tablinks {
    margin-bottom: 10px;
}

.main-best-book .bb-ui-left .active {
    border-bottom: 5px solid #000;
    margin-bottom: 10px;
    width: 70%;
    padding-bottom: 0;
    color: #333;
    font-weight: 500;
}

.main-best-book .bb-a {
    cursor: pointer;
}

.main-best-book .bb-a:hover {
    color: #fa2828
}

.main-best-book .tabcontent {
    padding: 0;
}

.nb-img-box {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 120%;
}

.nb-img-out {
    height: 100%;
    overflow: hidden;
    width: 100%;
    position: absolute;
}

.nb-img-in {
    width: 100%;
    height: 100%;
    display: block;
    margin: 0 auto;
    border: 1px solid #ddd;
}

.main-best-book .book_tit {
    text-overflow: ellipsis;
    white-space: nowrap;
    word-wrap: normal;
    color: #222222;
    width: 100%;
    overflow: hidden;
    font-size: 18px;
    padding-top: 10px;
    font-weight: 400;
}

.main-best-book .book_price {
    font-size: 18px;
    padding-top: 0px;
    padding-right: 5px;
    text-align: right;
    font-weight: 400;
    color: #fa2828;
}

span.book_stit {
    float: left;
    color: #666666;
    font-size: 16px;
}

.main-best-book .bx-wrapper .bx-pager,
.bx-wrapper .bx-controls-auto {
    bottom: -20px;
}

@media (max-width: 834px) {

    .main-best-book .bb-ui>li,
    .main-best-book .bb-ui>li:first-child {
        width: 100%;
        display: table;
    }

    .main-best-book .bb-ui-left {
        padding-top: 0;
    }

    .main-best-book .bb-ui>li {
        padding: 0px 10px 20px;
        border: 0;
        color: #666666;
    }

    .main-best-book .bb-tap {
        padding-top: 15px;
    }

    .main-best-book .bb-ui>li:first-child {
        border: 0
    }

    .main-best-book .bb-a {
        font-size: 15px;
    }

    .main-best-book .bb-ui-left .tablinks {
        width: calc(100% / 3);
        float: left;
        text-align: center;
        padding-bottom: 5px;
    }
}

@media (max-width: 480px) {
    .main-best-book .bb-a {
        font-size: 14px;
    }
}

/* 배너 */

.enrolment_top {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    /* max-width: 1100px; */
    height: 200px;
    /* margin: 30px auto 0 auto; */
    background-image: url("/files/images/main-image.png");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    /* border-radius: 12px; */
}

@media (max-width: 767px) {
    .enrolment_top {
        width: 96%;
        background-image: url("/files/images/main-image-m.png");
    }

}

.enrolment_top_a {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}



/* 컨텐츠 - 게시판&서브버튼 */
.section-board_button {
    padding: 50px 0;
    border-top: 0px solid #eeeeee;
}

.main_board {
    float: left;
    width: 100%;
}

.bbody {
    width: 100%;
    border-radius: 10px;
}


.board_button>ul>li.main_board {
    width: 100%;
    margin-right: 2%;
    margin-bottom: 3%;
    height: 200px;
}

.b-stit {
    color: #3047d5;
}

.button>ul>li {
    float: left;
    margin-left: 0.5%;
    width: 48%;
    border: 1px solid #e5e5e5;
    height: 210px;
    margin-bottom: 3%;
    border-radius: 15px;
    box-shadow: rgb(100 100 111 / 10%) 0px 5px 25px 0px;
}

.button>ul>li:last-child {
    float: right;
    margin-left: 1%;
    width: 48%;
    height: 210px;
    border: 1px solid #e5e5e5;
    border-radius: 15px;
    box-shadow: rgb(100 100 111 / 10%) 0px 5px 25px 0px;
}

.board-menu {
    display: inline-block;
    padding: 12px 25px 0px;
    width: 100%;
    position: relative;
}

.board-menu>ul>li {
    width: 33.3%;
    float: left;
    font-weight: 400 !important;
    margin-top: 0px;
    height: 34px;
    line-height: 34px;
    text-align: center;
    font-size: 17px;
    color: #333;
    border-bottom: 1px solid transparent;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

#issues>a {
    color: #fff;
}

.board-menu>ul>li>a {
    color: #61869e;
}

.board-menu>ul>li+li {
    border-left: 0;
}

#view {
    width: 100%;
    max-width: 60px;
    font-size: 30px;
    background: #ffb92e;
    color: #fff;
    height: 60px;
    overflow: hidden;
    position: absolute;
    right: 0;
    top: 0;
}

.slider_boxexam .btext {
    position: relative;
}

.btext {
    position: relative;
}

.btext>ul>li {
    padding: 6px 10px 2px 20px;
    font-size: 16px;
    color: #555;
    width: 94%;
    text-overflow: ellipsis;
    white-space: nowrap;
    word-wrap: normal;
    overflow: hidden;
    background: url(/files/images/main_notice_icon.jpg) no-repeat 6px 17px;
}

.btext>ul>li a:hover {
    font-weight: 600;
}

.btext span.date {
    position: absolute;
    right: 40px;
}

.bmenus {
    cursor: pointer;
}

.bmenus.active {
    background: #fff;
    border-bottom: 0;
    color: #283c87;
}

.add-button {
    position: absolute;
    background: #000;
    top: 0;
    right: 0;
    width: 10.8%;
}

.aos-init {}

.button {
    display: inline-block;
}

.button2 {
    margin-top: 0px;
}

.guide_info {
    width: 100%;
    position: relative;
}

.b-title {
    font-size: 22px;
    color: #333333;
    padding-bottom: 7px;
    font-weight: 800;
}

.b-title2 {
    font-size: 22px;
    color: #333333;
    padding-bottom: 7px;
    font-weight: 800;
}

span.b-more {
    float: right;
}

.b-t-f {
    font-weight: 800;
}

.b-title a:hover::after {
    animation: rotate-icon 0.3s linear;
}

@keyframes rotate-icon {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(180deg);
    }
}

.b-title .b-more>a::after {
    content: "";
    position: absolute;
    right: 0px;
    top: 2px;
    width: 26px;
    height: 26px;
    background: url(/files/images/notice_more.png) #3b83cf no-repeat center;
    border-radius: 5px;
}

.btext a::after {
    display: none !important;
}

/* NOTICE 안내 */

.p.b-stit {
    font-size: 16px;
    color: #3a81d2;
    font-weight: 500;
    margin-bottom: 10px;
    padding-left: 10px;
}

.board-menu>ul>li:first-child {
    border-right: 1px solid #ddd;
}

.bmenus.active {
    background: #fff;
    color: #111111;
    border-bottom: 0;
}

.board-menu>ul>li {
    width: 18%;
    float: left;
    height: 22px;
    line-height: 22px;
    margin: 10px 20px 15px 10px;
    text-align: left;
    font-size: 36px;
    color: #ddd;
    font-weight: 700;
    background: #fff;
}

.bmenus {
    cursor: pointer;
}

.board-menu {
    width: 100%;
    position: relative;
}

.board_button {
    margin: 0 auto;
    width: 100%;
    display: inline-block;
}

.btext {
    font-weight: 500 !important;
    position: relative;
    border-bottom: 1px solid #dddddd;
}

.board_flex {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.board_box {
    width: 50%;
}

.board_box_left {}

.board_box_right {}

.b-text2 {
    padding: 20px;
    background-color: #f4f9ff;
    height: 190px;
    color: #0e355f;
    border-radius: 10px;
}

.b-text3 {
    padding: 20px;
    background-color: #f4f9ff;
    color: #0e355f;
    border-radius: 10px;
}

.marker1 ul li::marker {
    content: "•";
    color: #0e355f;
}

.marker1 ul li {
    padding-left: 8px;
}

@keyframes rotate-icon {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(180deg);
    }
}

span.b-right {
    float: right;
    font-size: 15px;
    padding-top: 7px;
}

.guide_info .b-text .num {
    font-size: 30px;
    letter-spacing: -.5px;
    color: #222;
    font-weight: 600;
    margin-top: 14px;
    margin-bottom: 0px;
}

.guide_info .b-text .text_info {
    font-size: 15px;
    letter-spacing: -.5px;
    margin-top: 20px;
    margin-bottom: 20px;
    color: #777;
}

.b-text img {
    position: absolute;
    bottom: 15px;
    right: 25px;
}

.guide_info .location_btn {
    display: inline-block;
    background: #333;
    margin-top: 7px;
    margin-bottom: 3px;
    border: 1px solid #333;
    transition: all 0.1s;
}

.guide_info .location_btn a {
    color: #fff;
    display: block;
    padding: 8px 45px;
}

.guide_info .location_btn:hover {
    background: #fff;
}

.guide_info .location_btn:hover a {
    color: #333;
}

.lecturestudy li.finishstudy {
    background: #fff;
}

.lecturestudy li.finishstudy .lectureTxt h2,
.lecturestudy li.finishstudy .lectureTxt p,
.lecturestudy li.finishstudy .lectureTxt div {
    color: #000;
}

@media all and (max-width: 1100px) {

    .main-title-text {
        font-size: 22px;
    }

    .main-title-text-1 {
        font-size: 18px;
    }

    .main-subtitle-text {
        font-size: 16px;
    }

    .board_flex {
        display: flex;
        flex-direction: column;
    }

    .board_box_right {
        padding: 0;
    }

    .section {
        width: 95%;
    }

    /* 컨텐츠 - 세미나리스트 */
    .seminar_section ul li.box {
        width: calc(33% - 20px);
    }

    .seminar_section ul li.empty {
        display: none;
    }

    .seminar_section ul li.box:nth-child(4) {
        margin-right: 20px;
    }

    .seminar_section ul li.box ul.semi_list li {
        font-size: 17px;
    }

    .seminar_section ul li.titBox {
        padding: 20px 20px 0 20px;
    }

    .seminar_section ul li.box {
        padding: 17px;
    }

    .button>ul>li {
        width: 100%;
        margin: 0;
    }

    .board_button>ul>li {
        width: 100%;
    }

    .board_button>ul>li:last-child {
        width: 100%;
    }

}


/* Tablet Device */
@media all and (min-width: 768px) and (max-width: 1024px) {

    /* 컨텐츠 - 추천강좌&신규과정 공통 */
    .bs-title,
    .ns-title {
        font-size: 22px;
    }

    .bs-ss-title,
    .ns-ss-title {
        font-size: 20px;
    }

    .navy-box {
        font-size: 16px;
        width: 85%;
    }

    .course_1>li,
    .course_2>li {
        width: 49%;
        margin-right: 2%;
    }

    .course_1>li:nth-child(even),
    .course_2>li:nth-child(even) {
        margin-right: 0;
    }

    /* 컨텐츠 - 신규과정 */
    .section-new-subject::before {
        height: 70%;
    }

    /* 컨텐츠 - 배너버튼 */
    .long-img-center {
        top: 26px;
        left: 100px;
    }

    .long-text {
        top: 50px;
        right: 150px;
    }

    .short-text {
        position: absolute;
        top: 50px;
        left: 30px;
    }

}


@media all and (max-width: 1024px) {
    .viewpoint_banner li.box {
        width: calc(50% - 5px);
        margin: 0;
        background-position: center;
    }

    .viewpoint_banner li.box:nth-child(4) {
        background-position: top;
    }

    .viewpoint_banner li.box:nth-child(1),
    .viewpoint_banner li.box:nth-child(3) {
        margin-right: 5px;
    }

    .viewpoint_banner li.box:nth-child(2),
    .viewpoint_banner li.box:nth-child(4) {
        margin-left: 5px;
    }

    .viewpoint_banner li.box:nth-child(1),
    .viewpoint_banner li.box:nth-child(2) {
        margin-bottom: 10px;
    }

    .viewpoint_banner li.box3 {
        padding-top: 80px;
    }
}



@media all and (max-width: 768px) {
    .viewpoint_banner {
        padding: 40px 0;
    }

    .viewpoint_banner li.box {
        min-height: 260px;
        border: 0;
    }

    .viewpoint_banner li.box .tit {
        font-size: 25px;
    }

    .viewpoint_banner li.box img {
        width: 55px;
    }

    .viewpoint_banner li.box:nth-child(1),
    .viewpoint_banner li.box:nth-child(2),
    .viewpoint_banner li.box:nth-child(3),
    .viewpoint_banner li.box:nth-child(4) {
        margin: 0;
        width: calc(50% - 4px);
    }

    .viewpoint_banner li.box:nth-child(1),
    .viewpoint_banner li.box:nth-child(3) {
        margin-right: 2px;
    }

    .viewpoint_banner li.box:nth-child(2),
    .viewpoint_banner li.box:nth-child(4) {
        margin-left: 2px;
    }

    .viewpoint_banner li.box:nth-child(1),
    .viewpoint_banner li.box:nth-child(2) {
        margin-bottom: 4px;
    }

    .long_banner {
        padding: 30px 0;
    }

    .long_banner ul {
        width: 100%;
    }

    .long_banner ul li.txt_section h1 {
        font-size: 20px;
    }

    .long_banner ul li.txt_section {
        text-align: center;
        width: 100%;
    }

    .long_banner ul li.img_section {
        width: 100%;
        text-align: center;
        margin-top: 15px;
    }

    .long_banner ul li.img_section img {
        width: 100px;
    }

    .long_banner ul li.txt_section span {
        font-size: 22px;
    }

    /* 컨텐츠 - 세미나리스트 */
    .seminar_section ul li.box {
        width: calc(50% - 10px);
    }

    .seminar_section ul li.box:nth-child(2),
    .seminar_section ul li.box:nth-child(4),
    .seminar_section ul li.box:nth-child(7),
    .seminar_section ul li.box:nth-child(9) {
        margin-right: 0;
    }

    .seminar_section .tit {
        font-size: 20px;
        width: 95%;
        margin: 0 auto 30px;
    }

    /* 이용약관, 개인정보취급방침 */
    .policy_cont {}

    .policy_cont p.cont_tit {
        font-size: 1.2em !important;
        padding-bottom: 5px;
    }

    .policy_cont .cont_txt {
        padding: 0px 0px 25px 0;
    }

    .policy_cont .cont_txt2 {
        padding-bottom: 25px;
    }

    .policy_cont .cont_box {
        padding: 18px 18px;
    }

    .privacy_list {
        margin-bottom: 30px;
    }

    .privacy_list li {
        width: 100%;
    }

}



@media only screen and (max-width : 480px) {
    .long_banner {
        padding: 10px 0;
    }

    .long_banner ul li.txt_section h1 {
        font-size: 18px;
        line-height: 24px;
    }

    .long_banner ul li.txt_section {
        text-align: center;
        width: 100%;
        padding-top: 0px;
    }

    #myCarousel {
        display: none;
    }

    #myCarousel_mobile {
        display: inline-block;
    }

    #myCarousel_mobile>.bx-wrapper {
        margin: 0;
    }

    .button>ul>li:last-child {
        margin-left: 0%;
        width: 100%;
    }

    /* 컨텐츠 - 추천강좌&신규과정 공통 */
    .bs-title,
    .ns-title {
        font-size: 30px;
    }

    .bs-source-subjcet>ul>li,
    .ns-source-subjcet>ul>li {
        width: 100%;
    }

    .open-source-background {
        top: 410px;
    }

    .bs-ss-title,
    .ns-ss-title {
        font-size: 18px;
    }

    .navy-box {
        width: 85%;
    }

    .course_1>li,
    .course_2>li {
        width: 100%;
        margin-right: 0;
    }

    /* 컨텐츠 신규과정 */
    .section-new-subject::before {
        height: 90%;
    }

    /* 컨텐츠 - 세미나리스트 */
    .seminar_section ul li.box {
        width: 80%;
        margin: 0 auto 10px;
        float: none;
        min-height: auto;
    }

    .seminar_section ul li.box:nth-child(2),
    .seminar_section ul li.box:nth-child(4),
    .seminar_section ul li.box:nth-child(7),
    .seminar_section ul li.box:nth-child(9) {
        margin-right: auto;
    }

    .seminar_section ul li.titBox h2 {
        font-size: 20px;
    }

    .seminar_section ul li.titBox .titBtn {
        font-size: 17px;
    }

    /* 컨텐츠 - 배너버튼 */
    .section-banner-button>.section::after {
        content: '';
        display: block;
        clear: both;
    }

    .long-img-center {
        top: 30px;
        left: 200px;
        z-index: 1;
    }

    .long-img-center img {
        width: 80%;
    }

    .long-text {
        top: 55px;
        left: 40px;
        right: 0;
    }

    .bb h2 {
        font-size: 24px;
    }

    .bb p {
        margin-top: 10px;
    }

    .banner-button-short>ul>li {
        clear: both;
        width: 100%;
    }

    .banner-button-short>ul>li:nth-child(2) {
        margin: 0;
        margin: 20px 0;
    }

    .long-text>p {
        margin-top: 20px;
    }

    .short-text {
        top: 30px;
    }

    .short-box1,
    .short-box2,
    .short-box3 {
        height: 150px;
    }

    /* 컨텐츠 - 게시판&서브버튼 */
    .board_button>ul>li {
        width: 100%;
        padding-left: 0%;
    }

    .board_button>ul>li:last-child {
        width: 100%;
    }

    .button>ul>li {
        margin-left: 0;
        margin-top: 20px;
    }

    .guide_info .b-text .num {
        font-size: 18px;
    }

    .guide_info .b-text .text_info {
        font-size: 13px;
    }

    .board_button>ul>li.main_board {
        float: auto;
        width: 100%;
    }




    /* 배너 */
    .banner_box .banner {
        float: left;
    }

    .banner_box .banner img {
        width: 100%;
    }

}

@media only screen and (max-width : 320px) {
    .long-text {
        top: 50px;
        left: 25px;
        right: 0;
    }

    .long-text p {
        padding-right: 20px;
        font-size: 15px;
    }

    .short-text {
        left: 25px;
    }

    .short-text p {
        font-size: 15px;
    }
}

/* Smartphones (landscape) */
@media only screen and (min-width: 480px) and (max-width:834px) {

    #myCarousel {
        display: none;
    }

    #myCarousel_mobile {
        display: inline-block;
    }

    #myCarousel_mobile>.bx-wrapper {
        margin: 0;
    }

    /* 컨텐츠 - 추천강좌&신규과정 공통 */
    .bs-title,
    .ns-title {
        font-size: 20px;
    }

    .bs-source-subjcet>ul>li,
    .ns-source-subjcet>ul>li {
        width: 100%;
        float: left;
    }

    .bs-source-subjcet>ul>li:nth-child(2),
    .ns-source-subjcet>ul>li:nth-child(2) {
        margin-right: 0;
    }

    .open-source-background {
        top: 410px;
    }

    .bs-ss-title,
    .ns-ss-title {
        font-size: 18px;
    }

    .navy-box {
        font-size: 16px;
        width: 85%;
    }

    .course_1>li,
    .course_2>li {
        width: 49%;
        margin-right: 2%;
    }

    .course_1>li:nth-child(even),
    .course_2>li:nth-child(even) {
        margin-right: 0;
    }


    /* 컨텐츠 - 신규과정 */
    .section-new-subject::before {
        height: 75%;
    }

    /* 컨텐츠 - 배너버튼 */
    .long-img-center {
        top: 50px;
        left: 50px;
    }

    .long-img-center img {
        width: 70%;
    }

    .long-text {
        top: 60px;
        right: 80px;
    }

    .bb h2 {
        font-size: 22px;
    }

    .bb p {
        font-size: 14px;
    }

    .short-text {
        top: 60px;
        left: 10px;
    }

    /* 컨텐츠 - 게시판&서브버튼 */
    .button2 {
        margin: 0;
    }

    .board_button>ul>li {
        width: 100%;
    }

    .board_button>ul>li:last-child {
        width: 100%;
    }

    .button>ul>li {
        margin-left: 0;
        margin-top: 20px;
        float: left;
        width: 100%;
    }

    .button>ul>li:last-child {
        padding-right: 0;
    }

}

/* ipad Pro 10.5 */
@media only screen and (min-width:481px) and (max-width:834px) {
    .long-img-center {
        top: 50px;
        left: 50px;
    }

    .long-img-center img {
        width: 70%;
    }

    .long-text {
        right: 100px;
    }
}


/* 메인페이지 */
.slider_boxnotice {
    overflow: hidden;
}

.block1,
.block2,
.block3,
.block4 {
    width: 50%;
    color: #fff;
    padding: 30px;
    position: relative;
    float: left;
}

.block1 {
    min-height: 284px;
    background: #9acc6d;
}

.block1 h3,
.block3 h3 {
    color: #fff;
}

button.more {
    position: absolute;
    right: 30px;
    padding: 0;
    background: none;
    font-size: 42px;
    font-weight: 200;
    top: 20px;
}

.block2 {
    min-height: 284px;
    background: url(/files/images/block2-bg.jpg) no-repeat center top;
}

.block3 {
    min-height: 194px;
    background: #434343;
}

.block4 {
    min-height: 194px;
    background: url(/files/images/block4-bg.jpg) no-repeat center top;
    cursor: pointer;
}

.main-gray {
    padding: 80px 0;
    background: #f7f7f8;
}

.main-board {
    background: #fff;
    height: 330px;
}

.main-board .latest {
    float: left;
    width: 50%;
    position: relative;
    padding: 40px;
}

button.more2 {
    position: absolute;
    right: 40px;
    background: url(/files/images/more2.png) no-repeat center top;
    top: 40px;
    width: 23px;
    height: 23px;
    padding: 0;
}

ul.community {
    display: inline-block;
    width: 100%;
}

ul.community li {
    float: left;
    width: 25%;
    padding: 60px 0;
    text-align: center;
}



.idpw_box {
    border: 0;
    background: none;
}

.form_context {
    margin: 0;
    font-size: 14px;
    padding: 0 15%;
    text-align: center;
    color: #3f51b5;
    line-height: 1.2;
}

.find_form .small_txt {
    margin: 0;
}

.find_form .small_txt {
    margin: 0;
}

.find_form fieldset {
    margin: 0;
    padding: 0;
    border: 0;
}

.stit_all {
    background: none;
}

button.cancel {
    background: #969696;
}

#member_join {
    margin: 0;
    border: 0;
    text-align: center;
    height: auto;
}

.member_box {
    float: none;
    width: 100%;
}

.box_title {
    font-size: 24px;
    color: #000;
    font-weight: 800;
    margin-bottom: 20px;
}

.box_text {
    font-size: 15px;
    line-height: 1.5;
}


/* 통합검색 */

.tword-box {
    text-align: center;
    margin-bottom: 50px;
    position: relative;
}

.serch-title {
    display: none;
}

input.tword {
    display: inline-block;
    width: 100%;
    max-width: 474px;
    height: 45px;
    border: 2px solid #af0d23;
    background-color: #fff;
}

input.btn-tword {
    position: relative;
    top: -2px;
    left: -5px;
}

li.search-img {
    float: left;
    width: 20%;
}

li.search-content {
    float: left;
    width: 80%;
}

/* 나의 학습강좌 */
.my-class .block-thumb {
    width: 150px;
}


#lec-list table th,
button {
    font-weight: 500;
    color: #fff;
}


.contable .subject {
    font-size: 16px;
    color: #333;
}

.table-title .section-box .ul-1 li {
    line-height: initial;
    font-size: 16px;
}

.table-textlist .section-box .ul-1>li {
    line-height: initial;
    font-size: 16px;
}

.dtable {
    font-size: 16px;
}

.detail_entersaturday,
.detail_noticeclassmain,
.detail_enteronlinetongb,
.detail_enteronlinetonga,
.detail_noticeonlinetongb,
.detail_noticeonlinetonga,
.detail_noticeonlinesuryo,
.detail_enterthursdayn,
.memoform {
    border-top: 1px solid #000000;
}

.detail_studythursdayn,
.detail_studyonline,
.detail_studysaturday,
.detail_noticeonline,
.detail_noticeclass,
.detail_enteronline,
.detail_entersaturday,
.detail_graduate,
.detail_superior,
.detail_story,
.detail_sugang,
.detail_qna,
.detail_notice {
    border-top: 1px solid #000000;
}

@media all and (max-width: 640px) {

    .table-textlist .section-box .ul-1>li,
    .contable .subject {
        font-size: 13px;
    }
}

/* 모바일 */
.bar_log {
    padding: 20px 0;
    border: 5px solid #eee;
    text-align: center;
    margin-top: 20px;
}

.bar_log img {
    width: 700px;
}



/* 기관소개 */
.sub-body.about .top_tit {
    font-size: 33px;
    text-align: center;
    font-weight: 400;
    letter-spacing: -.5px;
}

.sub-body.about .top_tit em {
    font-weight: 500;
    font-size: 1.1em;
    font-style: normal
}

.sub-body.about .bar_log {
    padding: 20px 0;
    border: 20px solid #eee;
    text-align: center;
    margin-top: 40px;
}

.sub-body.about .bar_log img {
    width: 250px;
}

.sub-body.about .txt_info_a {
    font-size: 22px;
    text-align: center;
    letter-spacing: -.5px;
    margin: 40px 0;
}

.sub-body.about .img_txt {
    width: 100%;
    display: inline-block;
}

.sub-body.about .img_txt ul li {
    width: 50%;
    float: left;
}

.sub-body.about .img_txt ul li .txt {
    padding-top: 120px;
}

.sub-body.about .img_txt ul li .txt h1 {
    font-size: 24px;
}

.sub-body.about .img_txt ul li .txt .mark {
    position: relative;
    z-index: 0;
    display: inline-block;
}

.sub-body.about .img_txt ul li .txt .mark:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 12px;
    background: rgba(24, 92, 71, 0.3);
    left: 0;
    bottom: 3px;
    z-index: -1;
}

.sub-body.about .img_txt ul li .txt h2 {
    font-size: 20px;
    letter-spacing: -.5px;
    font-weight: 400;
}

.sub-body.about .img_txt.bottom_space {
    margin-bottom: 20px;
}

.long_banner.about {
    background-image: url('/files/images/sub_01_long_bg.jpg');
    letter-spacing: 2px;
    font-family: 'Pretendard', Sans-serif;
    margin-top: 80px;
}

.long_banner.about h1 {
    color: #625123;
    font-size: 25px;
    line-height: 30px;
}

.long_banner.about h2 {
    color: #fff;
    font-size: 23px;
    margin-top: 5px;
}

.sub-subject_a {
    font-size: 24px;
    margin: 80px 0 40px;
    ;
    padding-left: 15px;
    position: relative;
}

.sub-subject_a:before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #185c47;
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -5px;
}

.object_section p,
.major_section p {
    font-size: 21px;
    margin-bottom: 20px;
    letter-spacing: -.5px;
}

.sub-body.about .img_txt ul li .txt .say {
    color: #f6cc2f;
    font-size: 34px;
    position: relative;
    padding-left: 45px;
}

.sub-body.about .img_txt ul li .txt .say .left_img {
    margin-top: -2px;
    position: absolute;
    top: -10px;
    left: 0;
}

.sub-body.about .img_txt ul li .txt p {
    font-family: 'Pretendard', Sans-serif;
    font-weight: 800;
}

.sub-body.about .img_txt ul li .txt.bottom {
    padding-top: 90px;
}

.sub-body.about .img_txt.say {
    margin-top: 20px;
}

.sub-body.about .img_txt ul li .txt.bottom p {
    margin-bottom: 0;
}

.sub-body.about ul.major_list {
    width: 100%;
    display: inline-block;
}

.sub-body.about ul.major_list li {
    width: calc(50% - 10px);
    float: left;
    background: #f6f6f6;
    margin-right: 20px;
    padding: 20px 30px;
    border-radius: 10px;
}

.sub-body.about ul.major_list li:nth-child(2),
.sub-body.about ul.major_list li:nth-child(4) {
    margin-right: 0;
}

.sub-body.about ul.major_list li:nth-child(1),
.sub-body.about ul.major_list li:nth-child(2) {
    margin-bottom: 20px;
}

.sub-body.about ul.major_list li:nth-child(3) {
    min-height: 135px
}

.sub-body.about ul.major_list li .sub_01_icon {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    float: left;
    border: 1px solid #e2e2e2;
    background: #fff;
    text-align: center;
    line-height: 80px;
}

.sub-body.about ul.major_list li .sub_01_icon img {
    width: 80%;
}

.sub-body.about ul.major_list li p {
    font-size: 18px;
    padding-left: 95px;
    padding-top: 15px;
}

.sub-body.about ul.major_list li p.topnone {
    padding-top: 0;
}

@media all and (max-width: 1100px) {
    .sub-body.about .img_txt ul li {
        width: 100%;
    }

    .sub-body.about .img_txt ul li .txt {
        padding-top: 40px;
    }

    .sub-body.about .img_txt {
        margin-bottom: 80px;
    }

    .sub-body.about .img_txt.bottom_space {
        margin-bottom: 40px;
    }

    .long_banner.about h1,
    .long_banner.about h2 {
        text-align: center;
    }

    .sub-body.about .img_txt.say ul li {
        text-align: left;
    }

    .sub-body.about .img_txt ul li .txt.bottom {
        padding: 20px 0 40px;
    }

    .sub-body.about .img_txt.say {
        margin-top: 0;
        margin-bottom: 0;
    }

    .object_section p,
    .major_section p {
        font-size: 18px;
    }
}

@media all and (max-width: 834px) {
    .sub-body.about .top_tit {
        font-size: 25px;
    }

    .sub-body.about .txt_info_a {
        font-size: 18px;
    }

    .long_banner.about h1 {
        font-size: 20px;
        text-align: left;
    }

    .long_banner.about h2 {
        font-size: 17px;
        text-align: left;
    }

    .sub-body.about ul.major_list li {
        width: 100%;
        margin: 0;
    }

    .sub-body.about ul.major_list li:nth-child(3) {
        min-height: auto;
        margin-bottom: 20px;
    }

    .sub-body.about .img_txt ul li .txt h2 {
        font-size: 17px;
    }

    .sub-body.about .img_txt ul li img {
        width: 100%;
    }

    .sub-body.about .img_txt.say ul li img {
        width: auto;
    }

    .sub-body.about .img_txt.say ul li img.img_im {
        width: 100%;
    }

    .long_banner.about {
        margin-top: 20px;
    }

    .sub-body.about .img_txt {
        margin-bottom: 20px;
    }

}

@media all and (max-width: 640px) {
    .sub-body.about .top_tit {
        font-size: 20px;
    }

    .sub-body.about .bar_log img {
        width: 180px;
    }

    .sub-body.about .txt_info_a {
        font-size: 15px;
    }

    .sub-body.about .img_txt ul li .txt h2 {
        font-size: 15px;
    }

    .sub-body.about ul.major_list li {
        padding: 15px
    }

    .sub-body.about ul.major_list li p {
        font-size: 12px;
    }

    .sub-body.about ul.major_list li p.topnone {
        padding-top: 15px;
    }

    .object_section p,
    .major_section p {
        font-size: 16px;
    }

    .sub-body.mobile .bar_log {
        padding: 0px 0;
        border: 0px solid #eee;
        text-align: center;
        margin-top: 20px;
    }

    .sub-body.mobile .bar_log img {
        width: 100%;
    }
}


.ceo_intro .ceo_img {
    display: inline-block;
    width: 400px;
    vertical-align: top;
}

.ceo_intro .intro_txt {
    display: inline-block;
    width: calc(100% - 500px);
    padding-left: 55px;
    vertical-align: top;
}

.ceo_intro .ceo_tit {
    position: relative;
    font-size: 31px;
    letter-spacing: -1px;
    font-weight: 500;
    color: #1c5c47;
}

.ceo_intro .ceo_tit span {
    font-size: 0.7em;
    font-weight: 400;
}

.ceo_intro .profileList {
    margin-top: 60px;
}

.ceo_intro .profileList li {
    position: relative;
    padding-left: 220px;
    color: #888;
}

.ceo_intro .profileList li strong {
    position: absolute;
    top: 0;
    left: 0;
    font-size: 26px;
    letter-spacing: -1px;
    font-weight: 500;
}

.ceo_intro .profileList li:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 180px;
    width: 2px;
    height: 100%;
    background: #000;
}

.ceo_intro .profileList li p.profileTxt {
    font-size: 17px;
    position: relative;
}

.ceo_intro .profileList li p.profileTxt:before {
    content: "";
    display: inline-block;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: #1c5c47;
    position: absolute;
    top: 13px;
    left: -10px;
}

.ceo_intro .profileList li p.profileTxt+p.profileTxt {
    margin-top: 13px;
}

.ceo_intro .ceo_info {
    margin: 65px 0 60px;
}

.ceo_intro .ceo_info img {
    width: 200px;
    margin-bottom: 20px;
}

.ceo_intro .ceo_info p {
    font-size: 18px;
    color: #333;
    line-height: 33px
}


.introduce h2 {
    margin: 0 auto;
    text-align: center;
    padding: 20px 0px;
}

.introduce h2 span {
    margin-bottom: 20px;
    color: #333;
    font-size: 32px;
    font-weight: 600;
    line-height: 1.3em;
    letter-spacing: -.03em;
}

.introduce .intro-title {
    border-top: 1px solid #dddddd;
    border-bottom: 1px solid #dddddd;
    padding: 2.2rem 0;
    margin: 2.2rem 0;
}

.introduce .intro-title h4 {
    font-size: 1.9rem;
    font-weight: 600;
    line-height: 1.2;
    color: #222222;
    margin-bottom: 1em;
}

.introduce .intro-title h4 strong {
    color: var(--main);
    font-weight: 600;
}

.introduce .intro-title p {
    font-size: 1.1rem;
    color: #46474a;
    line-height: 24px;
}

.introduce .flex-box {
    display: inline-block;
    margin: 20px 0px;
    width: 100%;
}

.introduce .flex-box .area {
    min-width: 8rem;
    min-height: 8rem;
    float: left;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

.area {
    background: #fff;
    border-radius: 1.6rem;
    overflow: hidden;
    box-sizing: border-box;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    padding: 2rem 2.4rem;
    float: left;
}

.introduce .flex-box .area>img {
    display: block;
    width: 4.2rem;
}

.introduce .flex-box .text {
    float: right;
    width: 80%;
}

.introduce .sub-cont-tit {
    color: #46474a;
    font-weight: 500;
    display: block !important;
}

.introduce .sub-cont-tit span {
    font-weight: 700;
    color: var(--main)
}

.sub-cont-tit {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: -0.025em;
    color: var(--clr-black);
    margin: 0.5rem 0 1.5rem 0;
    position: relative;
    display: flex;
    align-items: center;
}

.sub-cont-tit::before {
    content: '';
    display: inline-block;
    width: 0.3rem;
    height: 0.3rem;
    border: 4px solid var(--main);
    border-radius: 100%;
    vertical-align: middle;
    margin-right: 0.4rem;
}

.introduce p {
    word-break: keep-all;
    text-wrap: wrap;
    font-size: 16px;
    font-weight: 400;
    color: #767778;
    line-height: 20px;
}

.introduce .intro-box {
    margin: 20px 0;
}

.introduce .intro-box p.tit {
    color: #222222;
    font-size: 34px;
    line-height: 40px;
    font-weight: 500;
    text-align: center;
    margin-bottom: 10px;
    letter-spacing: -2px;
}

.introduce .intro-box p.txt {
    color: #666666;
    font-size: 24px;
    line-height: 30px;
    font-weight: 500;
    text-align: center;
}

/* EETA 나의 강의실 */
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard-dynamic-subset.css');

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

div {
    font-family: "Pretendard", sans-serif;
}

.eeta-shell {
    background: #ffffff;
    /* 전체 배경 흰색 */
    color: #2f3640;
    min-height: 100vh;
}


/* 섹션 타이틀 */
.eeta-title {
    font-size: 22px;
    font-weight: 700;
    color: #1d58cb;
    margin-bottom: 20px;
    border-left: 6px solid #1d58cb;
    padding-left: 10px;
}

/* 카드 */
.eeta-meta-b {
    display: flex;
    background-color: #f1efff;
    margin-left: -16px;
    margin-right: -16px;
    margin-bottom: -16px;
    padding-top: 13px;
    padding-bottom: 26px;
    padding-left: 16px;
    padding-right: 16px;
    align-items: center;
    justify-content: flex-start;
}

.eeta-card {
    background: #f9fbff;
    border-radius: 14px;
    padding: 22px;
    margin-bottom: 22px;
    box-shadow: 0 3px 12px rgba(29, 88, 203, 0.08);
    border: 1px solid rgba(29, 88, 203, 0.15);
}

/* 카드 안 소제목 */
.eeta-h2-1 {
    display: flex;
    padding-right: 8px;
    font-size: 18px;
    font-weight: 600;
}

.eeta-h3 {
    display: flex;
    font-size: 16px;
    font-weight: 600;
    color: #ffffff;
    width: 30%;
    line-height: 1.4;
    align-items: center;
    background-color: #8e89d3;
    padding: 2px 0 2px 0;
    justify-content: center;
    border-radius: 6px;
}

.eeta-h4 {
    font-size: 16px;
    font-weight: 600;
    color: #ffffff;
    width: 100%;
    line-height: 1.4;
    align-items: center;
    background-color: #6762ad;
    padding: 2px 0 2px 24px;
    border-radius: 6px;
    margin-bottom: 20px;
}


.eeta-h2 {
    display: flex;
    font-size: 18px;
    font-weight: 600;
    color: #5f6fbd;
    padding-bottom: 4px;
    padding: 4px 10px 10px 0;
    width: 100%;
    line-height: 1.4;
    align-items: center;
}

.eeta-pill-1 {
    grid-column: span 3;
}

/* 작은 설명 */
.eeta-meta {
    color: #555;
    font-size: 16px;
    line-height: 1.4;
    font-weight: 500;
}

/* 버튼 */
.eeta-btn {
    display: inline-block;
    background: #1d58cb;
    color: #fff;
    padding: 10px 18px;
    border-radius: 10px;
    text-decoration: none;
    font-weight: 600;
    transition: all .3s ease;
}

.eeta-btn:hover {
    background: #1d58cb;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(29, 88, 203, 0.2);
}

.eeta-h1 {
    font-weight: 700;
    font-size: 20px;
    color: #6762ad;
    padding-bottom: 10px;
}

/* 인포 카드 */
.eeta-info-row {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    margin-top: 16px;
}

.eeta-pill {
    position: relative;
    padding: 15px;
    line-height: 1.6;
    background-color: #fff;
    border-radius: 6px;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    border: 1px solid #e6eaf5;
}

/* .eeta-pill::before {
    content: "•";
    color: #2b87cb;
    font-size: 1em; 
    font-weight: bold;
    position: absolute;
    left: 0;
    top: 0;
} */
.eeta-info {
    flex: 1 1 240px;
    background: #fff;
    border-radius: 12px;
    padding: 16px;
    border: 2px solid #e2e9f9;
    display: flex;
    gap: 12px;
    align-items: flex-start;
    transition: all .3s ease;
}

.eeta-info:hover {
    border-color: #1d58cb;
    background: #f0f6ff;
}

.eeta-info .icon {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #d8e3f7;
    color: #fff;
    font-size: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* 프로그램 예시 카드 */
.eeta-program-meta {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 16px;
}

.eeta-example-img img {
    width: 100%;
}

.eeta-example-img {
    width: 100%;
    height: 93%;
}

.eeta-example-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
    gap: 16px;
}

.eeta-example {
    background: #fff;
    border-radius: 12px;
    padding: 16px;
    border: 1px solid #e6eaf5;
    transition: .3s;
    position: relative;
    overflow: hidden;
}

.eeta-example:hover {
    border-color: #1d58cb;
    box-shadow: 0 4px 14px rgba(29, 88, 203, 0.15);
}

.eeta-example-title {
    font-weight: 700;
    margin-bottom: 8px;
    color: #1d58cb;
}

/* 가격표 */
.eeta-pricewrap {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 18px;
    padding: 0 0 18px 0;
}

.eeta-pricecard {
    background: #fff;
    border: 2px solid #e3e8f9;
    border-radius: 12px;
    padding: 16px;
    transition: .3s;
}

.eeta-pricecard:hover {
    border-color: #1d58cb;
    background: #f7faff;
}

.eeta-price-row {
    display: flex;
    justify-content: space-between;
    padding: 8px 0;
    border-bottom: 1px dashed #e0e0e0;
}

.eeta-price-row:last-child {
    border-bottom: none;
}

/* 갤러리 */
.eeta-gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 14px;
}

.eeta-gallery-grid img {
    width: 100%;
    height: 170px;
    object-fit: cover;
    border-radius: 12px;
    transition: .3s;
}

.eeta-gallery-grid img:hover {
    transform: scale(1.03);
    box-shadow: 0 4px 14px rgba(29, 88, 203, 0.2);
}


/* 개별 카드 스타일 */
.sub_map_left,
.sub_map_right {
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    padding: clamp(12px, 2.2vw, 20px);
    background: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.03);
}

.title_micon {
    font-weight: 700;
    font-size: clamp(16px, 1.9vw, 18px);
    line-height: 1.4;

}

/* 반응형 이미지 */
.sub_map_left img,
.sub_map_right img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 0px;
}

.sub_map_text {
    margin: 0px 0 0;
    font-size: 15px;
    line-height: 1.6;
    color: #444;
    word-break: keep-all;
}

p.sub_map_text {
    text-align: left;
    font-size: 16px;
    color: #ffffff;
    font-weight: bold;
    line-height: 150%;
    padding-top: 10px;
    height: 50px;
    padding-left: 15px;
    background: #13aca5;
}





.bank_course .tit,
.bank_course .course_month {
    display: inline-block;
    padding: 4px 23px 5px;
    background: var(--main);
    border-radius: 20px;
    font-size: 17px;
    color: #fff;
    margin-top: 40px;
    font-weight: 400;
}

.bank_course .tit.first {
    background: #8FBC94
}

.bank_course .txt {
    color: #666;
    line-height: 28px;
    font-size: 16px;
    padding-top: 10px;
}

.bank_course .txt_tit {
    color: #000;
    font-size: 20px;
    margin-bottom: 9px;
    font-weight: 700;
    margin-top: 30px;
}

.bank_course .list_txt {
    padding-left: 12px;
    line-height: 27px;
    font-size: 16px;
    font-weight: 300;
    color: #525252;
}

.bank_course .list_txt.first {
    margin-top: 15px;
}

.bank_course .content-subject {
    font-size: 30px;
    padding-bottom: 15px;
    margin-top: 50px;
    font-weight: 500;
    position: relative;
    margin-left: 15px;
    color: #333;
    display: inline-block;
    z-index: 0;
}

.bank_course .content-subject.topnone {
    margin-top: 0;
}

.bank_course .content-subject:before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--main);
    position: absolute;
    left: -15px;
    top: 55%;
    margin-top: -17px;
}

.bank_course .couse_con {
    border-bottom: 1px solid #ddd;
    padding-bottom: 50px;
}

.bank_course .couse_con.a_2 .content-subject:after {
    background: rgb(212 153 185 / 50%)
}

.bank_course .couse_con.a_2 .course_month {
    background: #D499B9
}

.bank_course .couse_con.a_3 .content-subject:after {
    background: rgb(132 177 237 / 50%)
}

.bank_course .couse_con.a_3 .course_month {
    background: #84B1ED
}

.bank_course .couse_con.a_4 .content-subject:after {
    background: rgb(241 107 111 / 50%)
}

.bank_course .course_month {
    margin-left: 15px;
}



.banksystem .content-subject.block {
    display: block;
}

.banksystem .study_list {
    width: 100%;
    display: inline-block;
    margin-top: 20px;
}

.banksystem .study_list li {
    float: left;
    width: 50%;
    padding: 7px 5px;
    font-size: 16px;
    color: #8a8a8a;
}

.banksystem .study_list li>.wrapper {
    padding: 13px 20px;
    background: #f9f9f9;
    border: 2px solid #ddd
}

.banksystem .study_list li span {
    color: #f18a8a;
    font-weight: 500;
}

.banksystem .width_3 {
    width: 100%;
}

.banksystem .width_3 th {
    background: #ECF3F0;
    padding: 10px 0;
    color: #333;
    font-size: 18px;
    border-top: 2px solid #3c9276;
}

.banksystem .width_3 td {
    text-align: center;
    font-size: 15px;
    padding: 10px 0;
    border-bottom: 1px solid #f5f5f5;
}

.banksystem .width_3 td.back {
    background: #ECF3F0;
    padding: 10px 0;
    color: #333;
    font-size: 18px;
    border-top: 1px solid #3c9276;
}

.banksystem .width_3 .right_border {
    border-right: 1px solid #3c9276;
}

.banksystem .mean_txt {
    width: 100%;
    display: inline-block;
    margin-top: 25px;
}

.banksystem .mean_txt li {
    float: left;
    margin-left: 35px;
    position: relative;
    display: table;
}

.banksystem .mean_txt li span {
    width: 200px;
    height: 200px;
    border-radius: 50%;
    display: table-cell;
    font-size: 18px;
    text-align: center;
    vertical-align: middle
}

.banksystem .mean_txt li.li1 span,
.banksystem .mean_txt li.li2 span {
    color: #828282;
    background: #f1f1f1;
}

.banksystem .mean_txt li.li3 span {
    background: #8eca6a;
    color: #fff;
}

.banksystem .mean_txt li.li4 span {
    background: #06b083;
    color: #fff;
}

.banksystem .mean_txt li:after {
    content: "";
    position: absolute;
    right: -22px;
    top: 50%;
    width: 0;
    height: 0;
    border-top: 9px solid transparent;
    border-bottom: 9px solid transparent
}

.banksystem .mean_txt li.li2:after {
    border-left: 11px solid #8eca6a;
}

.banksystem .mean_txt li.li3:after {
    border-left: 11px solid #06b083;
}

.banksystem .mean_txt li.li1:after,
.banksystem .mean_txt li.li4:after {
    display: none;
}

.banksystem .redPoint {
    color: #f18a8a;
    font-weight: 500;
}


.subpage_btn_t {
    text-align: center;
    margin-top: 20px;
}

.subpage_btn_t.right {
    text-align: right;
}

.subpage_btn_t img.ceo_btn_img {
    width: 30px;
    margin: 0;
    margin-right: 8px;
}

.subpage_btn_t img.course_btn_img {
    margin-left: 8px;
}

.subpage_btn_t a {
    padding: 10px 30px;
    border: 2px solid #1c5c47;
    font-size: 15px;
    color: #fff;
    display: inline-block;
    border-radius: 35px;
    background: #1c5c47;
    transition: all 0.1s;
}

.subpage_btn_t a .hover_img {
    display: none;
}

.subpage_btn_t a:hover {
    background: #fff;
    color: #1c5c47
}

.subpage_btn_t a:hover .hover_img {
    display: inline-block;
}

.subpage_btn_t a:hover .re_img {
    display: none;
}


.courseinfo .content-subject:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 7px;
    background: rgba(24, 92, 71, 0.3);
    left: 0;
    bottom: 22px;
    z-index: -1;
}

.courseinfo {
    padding-bottom: 80px;
}

.courseinfo .course_info_01 {
    width: 100%;
    display: inline-block;
    border: 1px solid #ddd;
    background: #fbfbfb;
    margin-top: 40px;
}

.courseinfo .course_info_01 li {
    width: 50%;
    float: left;
    padding: 0 50px 50px;
}

.courseinfo ul.boxList {
    width: 100%;
    display: inline-block;
}

.courseinfo ul.boxList li.box {
    width: calc(25% - 20px);
    float: left;
    min-height: 200px;
    border: 1px solid #ddd;
    background: #fbfbfb;
    margin-right: 20px;
    margin-bottom: 20px;
    padding: 25px;
    position: relative;
}

.courseinfo ul.boxList li.box:after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    display: inline-block;
    width: 10px;
    height: 10px;
    background: #fa2828;
    transition: all 0.1s;
}

.courseinfo ul.boxList li.box:nth-child(4) {
    margin-right: 0;
}

.courseinfo ul.boxList li.box ul.semi_list li {
    font-size: 18px;
    letter-spacing: -2px;
    line-height: 24px;
    padding-left: 12px;
    position: relative;
}

.courseinfo ul.boxList li.box ul.semi_list li:before {
    content: "·";
    position: absolute;
    left: 0;
    top: 0;
}

/* 동영상 재생환경 */
.media .tit,
.bank_course .course_month {
    display: inline-block;
    padding: 4px 23px 5px;
    background: #548687;
    border-radius: 20px;
    font-size: 17px;
    color: #fff;
    margin-top: 40px;
    font-weight: 400;
}

.media .tit.first {
    background: #8FBC94
}

.media .txt {
    color: #525252;
    font-size: 16px;
    padding-top: 10px;
}

.media .txt_tit {
    color: #525252;
    font-size: 20px;
    margin-bottom: 9px;
    font-weight: 700;
}

.media .txt_ctit {
    color: #525252;
    font-size: 18px;
    text-align: center;
    margin-bottom: 9px;
    font-weight: 700;
    margin-top: 30px;
}

.media .list_txt {
    padding-left: 12px;
    font-size: 16px;
    font-weight: 300;
    color: #525252;
}

.media .list_txt.first {
    margin-top: 15px;
}

.media .content-subject {
    font-size: 26px;
    padding-bottom: 15px;
    margin-top: 50px;
    font-weight: 500;
    position: relative;
    margin-left: 15px;
    color: #13aca5;
}

.media .content-subject.topnone {
    margin-top: 0;
}

.media .content-subject:before {
    content: "";
    display: inline-block;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #13aca5;
    position: absolute;
    left: -15px;
    top: 50%;
    margin-top: -10px;
}

.media .couse_con {
    border-bottom: 1px solid #ddd;
    padding-bottom: 50px;
}

.media .couse_con.a_2 .content-subject:after {
    background: rgb(132 177 237 / 50%)
}

.media .couse_con.a_2 .course_month {
    background: #84B1ED
}

.media .couse_con.a_3 .content-subject:after {
    background: rgb(132 177 237 / 50%)
}

.media .couse_con.a_3 .course_month {
    background: #84B1ED
}

.media .couse_con.a_4 .content-subject:after {
    border-bottom: 1px solid #fff;
    background: rgb(132 177 237 / 50%)
}

.media .course_month {
    margin-left: 15px;
}

.media .content-subject:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 7px;
    background: rgba(132 177 237 / 50%);
    left: 0;
    bottom: 22px;
    z-index: -1;
}

.media {
    padding-bottom: 80px;
}

.media .course_info_01 {
    width: 100%;
    display: inline-block;
    border: 1px solid #ddd;
    background: #ffffff;
    margin-top: 40px;
}

.media .course_info_01 li {
    width: 50%;
    float: left;
    padding: 30px 50px 30px;
}

.media .course_info_01 li .con {
    width: 100%;
    text-align: center;
}

.media .course_info_01 li .con img {
    text-align: center;
}

.media ul.boxList {
    width: 100%;
    display: inline-block;
}

.media ul.boxList li.box {
    width: calc(25% - 20px);
    float: left;
    min-height: 200px;
    border: 1px solid #ddd;
    background: #ffffff;
    margin-right: 20px;
    margin-bottom: 20px;
    padding: 25px;
    position: relative;
}

.media ul.boxList li.box:nth-child(4) {
    margin-right: 0;
}

.media ul.boxList li.box ul.semi_list li {
    list-style-type: none;
    font-size: 18px;
    letter-spacing: -2px;
    line-height: 24px;
    padding-left: 12px;
    position: relative;
}

.media ul.boxList li.box ul.semi_list li .con {
    width: 100%;
    text-align: center;
}

.media ul.boxList li.box ul.semi_list li .con img {
    text-align: center;
}

.media_btn_t {
    text-align: center;
    margin-top: 20px;
}

.media_btn_t.right {
    text-align: right;
}

.media_btn_t a {
    padding: 10px 30px;
    border: 2px solid #104a82;
    font-size: 15px;
    color: #fff;
    display: inline-block;
    border-radius: 35px;
    background: #104a82;
    transition: all 0.1s;
}

.media_btn_t a .hover_img {
    display: none;
}

.media_btn_t a:hover {
    background: #fff;
    color: #104a82
}

.media_btn_t a:hover .hover_img {
    display: inline-block;
}

.media_btn_t a:hover .re_img {
    display: none;
}


/* 강사소개 */
.sub_teacher_box {
    width: 1080px;
    margin-top: 30px;
    min-height: 250px;
}

.sub_teacher_left {
    float: left;
    width: 540px;
    min-height: 300px;
}

.sub_teacher_info_left {
    float: left;
    width: 150px;
    margin-right: 25px;
}

.sub_teacher_info_right {
    float: left;
    width: 365px;
}

/* 테이블리스트 */
table.board_text {
    width: 100%;
    margin-bottom: 15px;
    border-top: 2px solid #13aca5;
    margin: 10px 0 10px 0;
}

table.board_text th {
    height: 36px;
    text-align: center;
    color: #333;
    background: #f9f9f9;
    font-size: 16px;
    border-bottom: 1px solid #dddddd;
    border-right: 1px solid #ddd;
    vertical-align: middle;
}

table.board_text th.lright {
    border-right: 1px solid #ffffff;
}

table.board_text td {
    line-height: 150%;
    height: 36px;
    font-size: 15px;
    color: #525252;
    padding-top: 10px;
    padding-bottom: 10px;
    text-align: center;
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    vertical-align: middle;
}

table.board_text td.tleft {
    text-align: left;
    padding-left: 15px;
}

table.board_text td.tbold {
    color: #222222;
    font-weight: bold;
    font-size: 16px;
}

table.board_text td.lright {
    border-right: 1px solid #ffffff;
}

.table.t_board td {
    vertical-align: middle;
}

.box {
    border-top: 1px solid #555;
    padding-top: 20px;
}

p.joindrop {
    margin-top: 7px;
    color: #ba0000;
}

.sub_foreign_player {
    margin: 20px 0px 40px;
}

.sub_foreign_box {
    width: 80%;
    margin-top: 20px;
    padding: 30px;
    border: 2px solid #4bb8b3;
}

@media all and (max-width: 1100px) {
    .ceo_intro .intro_txt {
        padding-left: 2%;
    }

    .ceo_intro .profileList li {
        padding-left: 200px;
    }

    .ceo_intro .profileList li:before {
        left: 160px;
    }

    .courseinfo ul.boxList li.box {
        width: calc(33% - 20px)
    }

    .courseinfo ul.boxList li.box:nth-child(4) {
        margin-right: 20px;
    }

    .courseinfo ul.boxList li.box ul.semi_list li {
        font-size: 16px;
    }

    .banksystem .mean_txt li span {
        width: 150px;
        height: 150px;
        font-size: 14px;
    }

}

@media all and (max-width: 900px) {
    .ceo_intro .intro_txt {
        width: 100%;
        padding-left: 0;
    }

    .ceo_intro .ceo_img {
        width: 100%;
        text-align: center;
    }

    .ceo_intro .ceo_img img {
        width: 400px;
    }

    .ceo_intro .ceo_tit {
        text-align: center;
    }



}

@media all and (max-width: 834px) {
    .courseinfo ul.boxList li.box {
        width: calc(50% - 20px)
    }

    .viewpoint_banner li.box h1.tit {
        font-size: 20px;
    }

    .btn-area.pause {
        width: 100%;
        display: block;
    }

    .eeta-program-meta {
        display: flex;
        flex-direction: column;
    }

    .eeta-example-grid {
        display: flex;
        flex-direction: column;
    }

    .eeta-h3 {
        width: 100%;
    }

    .eeta-meta-b {
        display: block;
    }

}

@media all and (max-width: 640px) {
    .introduce .flex-box {
        display: inline-block;
        margin: 20px 0px;
        width: 100%;
    }

    .introduce .flex-box .area {
        min-width: 8rem;
        min-height: 8rem;
        float: none;
        width: 50%;
        margin: 0 auto;
        align-items: center;
        justify-content: center;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
    }

    .area {
        background: #fff;
        border-radius: 1.6rem;
        overflow: hidden;
        box-sizing: border-box;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
        padding: 2rem 2.4rem;
        float: auto;
    }

    .introduce .flex-box .area>img {
        display: block;
        width: 4.2rem;
    }

    .introduce .flex-box .text {
        float: auto;
        width: 100%;
    }

    .ceo_intro .ceo_tit {
        font-size: 18px;
        margin-top: 20px;
    }

    .ceo_intro .profileList {
        margin-top: 30px;
        padding-left: 20px;
    }

    .ceo_intro .profileList li strong {
        position: initial;
        font-size: 20px;
        display: inline-block;
        margin-bottom: 5px;
    }

    .ceo_intro .profileList li p.profileTxt {
        font-size: 15px;
    }

    .ceo_intro .profileList li p.profileTxt+p.profileTxt {
        margin-top: 8px;
    }

    .ceo_intro .profileList li {
        padding: 0;
    }

    .ceo_intro .profileList li:before {
        display: none;
    }

    .ceo_intro .ceo_info p {
        font-size: 16px;
        line-height: 29px;
    }

    .ceo_intro .profileList li p.profileTxt:before {
        top: 9px;
    }

    .logo_img_ceo {
        text-align: center;
    }

    .location_tit .location_txt h2 {
        font-size: 16px;
    }

    .location_tit .location_txt h1 {
        font-size: 15px;
    }

    .banksystem .study_list li {
        width: 100%;
    }

    .courseinfo .course_info_01 li {
        width: 100%;
    }

    .courseinfo ul.boxList li.box {
        width: 100%;
        min-height: 155px;
    }

    .bank_course .tit,
    .bank_course .course_month {
        margin-top: 20px;
    }

    .banksystem .width_3 th,
    .banksystem .width_3 td.back {
        font-size: 16px;
    }

    .media .txt_tit {
        color: #525252;
        font-size: 20px;
        margin-bottom: 9px;
        font-weight: 700;
        margin-top: 10px;
    }

    .media .course_info_01 li {
        width: 100%;
        padding: 20px 20px 20px;
    }

    .media .course_info_01 li .con img {
        width: 100%;
    }

    .media ul.boxList li.box {
        width: 100%;
        min-height: 155px;
    }

    .media .tit,
    .bank_course .course_month {
        margin-top: 20px;
    }

    .media ul.boxList li.box ul.semi_list li img {
        margin: 0 auto;
    }


}

@media all and (max-width: 480px) {
    .sub_foreign_player {
        margin: 20px 0px 40px;
    }

    .sub_foreign_player img {
        width: 100%;
    }

    .sub_foreign_box {
        width: 100%;
        margin: 20px 0px;
        padding: 20px 20px 20px 0px;
        border: 2px solid #4bb8b3;
    }

    .location_tit {
        margin-left: 3%;
        width: 94%;
    }

    .ceo_intro .ceo_img img {
        width: 100%;
    }

    .banksystem .mean_txt li span {
        width: 100px;
        height: 100px;
        font-size: 13px;
    }

    .agree-box {
        margin: 0 auto 20px;
        width: 100%;
        padding: 10px;
    }

    .sub-body {
        padding: 0px 0;
    }

    .policy_cont p.cont_tit {
        font-size: 1.0em !important;
        padding-bottom: 5px;
    }

    .sub_con {
        width: 100%;
        margin: 0 auto;
    }

    .sub_con img {
        text-align: center;
    }

    /* 계산서요청 */

    .mytax_list li {
        background-color: #fff;
        border: 1px solid #e0e3e8;
        margin-top: 12px;
        padding: 15px 12px 14px;
        border-radius: 12px;
    }

    .mytax_list li .mytax_btm {
        position: relative;
        display: inline-block;
        justify-content: space-between;
        align-items: center;
        padding-top: 0px;
        box-sizing: border-box;
        width: 100%;
    }

    .mytax_top_lft {
        display: inline-block;
        margin-bottom: 5px;
    }

    .mytax_list li .mytax_top h4 {
        font-size: 16px;
        font-weight: 400;
        position: relative;
        top: 0;
        right: 0;
    }

    .mytax_list li .mytax_top {
        border-bottom: 1px solid #e0e3e8;
        position: relative;
        padding-bottom: 12px;
        box-sizing: border-box;
    }

    .mytax_list .mytax_btn_wrap {
        margin-top: -10px;
    }

    .mytax_list .mytax_btn_wrap [class*="btn_"] {
        min-width: 32%;
        height: 38px;
        font-size: 15px;
        font-weight: 600;
        letter-spacing: -.5px;
        border-radius: 6px;
        border: 1px solid #387afc;
    }

    .sub-title .subject {
        margin-top: 26px;
    }

    .sub_map_left {
        float: auto;
        width: 100%;
        margin-right: 0%;
    }

    .sub_map_left img {
        width: 100%;
        margin-top: 1%;
    }

    .sub_map_right {
        float: auto;
        width: 100%;
    }

    .sub_map_right img {
        width: 100%;
        margin-top: 1%;
    }

    p.sub_map_text {
        text-align: left;
        font-size: 14px;
        color: #ffffff;
        font-weight: bold;
        line-height: 150%;
        padding-top: 10px;
        height: 50px;
        padding-left: 10px;
        background: #13aca5;
    }

    /* 강사소개 */
    .sub_teacher_box {
        width: 100%;
        margin-top: 20px;
        min-height: auto;
    }

    .sub_teacher_left {
        float: none;
        width: 100%;
        margin-top: 20px;
    }

    .sub_teacher_info_left {
        float: none;
        width: 100%;
        margin-right: 0px;
    }

    .sub_teacher_info_left img {
        width: 100%;
    }

    .sub_teacher_info_right {
        float: none;
        width: 100%;
        margin-top: 20px;
    }

}


/* 메인 강사소개 */
/*
 * 폰트 설정은 사용자 환경에 따라 달라지므로,
 * 예시에서는 시스템 기본 폰트 또는 산세리프 계열을 사용합니다.
 */

/*
 * =======================================================
 * 0. 전체 레이아웃 및 반응형 설정
 * =======================================================
 */

.business_english_lecture_main_promotion_section {
    /* 배경색 설정: 이미지와 유사한 연한 파란색 계열 */
    background-color: #f8faff;
    padding: 40px 20px;
    /* 전체 섹션의 상하 패딩과 좌우 여백 */
    box-sizing: border-box;
}

.promotion_content_maximum_width_wrapper {
    max-width: 1100px;
    margin: 0 auto;
    /* 중앙 정렬 */
    display: flex;
    justify-content: space-between;
    gap: 40px;
    /* 좌우 컨테이너 사이 간격 */
    flex-wrap: nowrap;
    /* 기본적으로 줄바꿈 방지 */
}


/*
 * =======================================================
 * 1. 좌측 (강사 프로필) 영역 스타일
 * =======================================================
 */

.instructor_profile_and_introduction_container {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    position: relative;
    width: 50%;
    /* PC에서 좌측 50% 사용 */
    min-width: 300px;
    /* 최소 너비 지정 */
}

/* 강사 이미지 (누끼 이미지) 영역 */
.instructor_image_area {
    width: 60%;
    /* 강사 이미지가 차지하는 비율 */
    max-width: 400px;
    /* 이미지 최대 크기 */
    position: relative;
    z-index: 10;
}

/* 실제 이미지 대체 플레이스홀더 (개발 시 이미지 태그로 변경) */

.instructor_image_placeholder1 {
    /* 실제 이미지 크기에 맞춰 높이 설정. 원본 이미지 비율에 가깝게 */
    width: 100%;
    padding-top: 130%;
    /* 가로 대비 세로 비율 (예: 1:1.3) */
    height: 50vh;
    background-image: url('/files/images/t-2.png');
    /* 실제 누끼 이미지 경로 */
    background-size: cover;
    background-position: center top;
}

.instructor_image_placeholder2 {
    /* 실제 이미지 크기에 맞춰 높이 설정. 원본 이미지 비율에 가깝게 */
    width: 100%;
    padding-top: 130%;
    /* 가로 대비 세로 비율 (예: 1:1.3) */
    height: 50vh;
    background-image: url('/files/images/t-1.png');
    /* 실제 누끼 이미지 경로 */
    background-size: cover;
    background-position: center top;
}

.instructor_image_placeholder3 {
    /* 실제 이미지 크기에 맞춰 높이 설정. 원본 이미지 비율에 가깝게 */
    width: 100%;
    padding-top: 130%;
    /* 가로 대비 세로 비율 (예: 1:1.3) */
    height: 60vh;
    background-image: url('placeholder_image_url_here.png');
    /* 실제 누끼 이미지 경로 */
    background-size: cover;
    background-position: center top;
}

/* 텍스트 정보 그룹 */
.instructor_textual_information_group {
    position: absolute;
    right: 0;
    /* 강사 이미지 오른쪽에 배치 */
    top: 50px;
    /* 적절한 위치 조정 */
    z-index: 20;
    padding-left: 20px;
}

.ai_era_trendiest_business_english_text {
    font-size: 20px;
    line-height: 1.4;
    font-weight: 500;
    color: #333;
    margin-bottom: 20px;
    padding-left: 10px;
    border-left: 3px solid #0056b3;
    /* 세로 구분선 */
}

.instructor_name_label {
    font-size: 24px;
    font-weight: bold;
    color: #000;
    margin-bottom: 15px;
}

.view_history_button_link {
    display: inline-block;
    font-size: 16px;
    color: #555;
    text-decoration: none;
    border-bottom: 1px solid #555;
    padding-bottom: 2px;
}

.search_icon_magnifier {
    margin-left: 5px;
    font-weight: bold;
}



/*
 * =======================================================
 * 3. 반응형 미디어 쿼리 (모바일/태블릿)
 * =======================================================
 */

@media (max-width: 900px) {
    .promotion_content_maximum_width_wrapper {
        flex-direction: column;
        /* 세로로 배치 */
        gap: 30px;
    }

    /* 좌우 컨테이너 너비 100%로 설정 */
    .instructor_profile_and_introduction_container,
    .youtube_shortcut_and_lecture_details_container {
        width: 100%;
        min-width: auto;
    }

    /* 좌측 영역: 이미지와 텍스트를 나란히 배치 */
    .instructor_profile_and_introduction_container {
        flex-direction: column;
        /* 세로 배치 */
        align-items: center;
        /* 가운데 정렬 */
    }

    .instructor_image_area {
        width: 100%;
        max-width: 450px;
        /* 모바일에서 이미지 최대 너비 제한 */
    }

    .instructor_textual_information_group {
        position: static;
        /* 절대 위치 해제 */
        padding-left: 0;
        text-align: center;
        margin-top: 20px;
    }

    .ai_era_trendiest_business_english_text {
        padding-left: 0;
        border-left: none;
        border-bottom: 3px solid #0056b3;
        /* 하단 구분선으로 변경 */
        padding-bottom: 10px;
        margin-bottom: 10px;
    }

    .youtube_shortcut_and_lecture_details_container {
        padding-top: 0;
        /* 우측 상단 패딩 제거 */
    }
}

@media (max-width: 500px) {

    /* 모바일 작은 화면 최적화 */
    .video_title_top_line {
        font-size: 18px;
    }

    .video_title_bottom_line {
        font-size: 24px;
    }

    .course_main_title_bold {
        font-size: 24px;
    }
}


/* 기본 초기화 및 폰트 미지정 */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    /* 폰트는 지정하지 않습니다. */
}

/* 전체 페이지 컨테이너 스타일링 */
.super-container-galaxy {
    display: flex;
    justify-content: center;
    background-color: #f8f8f8;
    /* 배경색 설정 (이미지 상단 배경) */
    padding: 50px 20px;
    /* 상하 여백 */
}

/* 메인 상담 섹션 컨테이너 */
.consultation-section-nebula {
    width: 100%;
    max-width: 1100px;
    /* 최대 가로 길이 1100px */
    padding: 0 20px;
    /* 좌우 패딩 */
}

/* 상단 헤딩 영역 */
.heading-area-quasar {
    text-align: center;
    padding: 40px 0 60px 0;
    background-color: #ffffff;
    /* 이미지 상단 영역과 폼 영역의 경계선 처리를 위해 배경색을 흰색으로 설정 */
    border-radius: 10px 10px 0 0;
    /* 상단 모서리 둥글게 */
}

.small-text-stellar {
    font-size: 16px;
    color: #666;
    margin-bottom: 10px;
}

.main-title-cosmic {
    font-size: 32px;
    font-weight: 700;
    color: #333;
}

/* 폼 컨테이너 */
.form-wrapper-pulsar {
    background-color: #ffffff;
    padding: 0 60px 60px 60px;
    /* 폼 영역의 내부 패딩 */
    border-radius: 0 0 10px 10px;
    /* 하단 모서리 둥글게 */

}

/* 폼 레이아웃 - flexbox 사용 */
.consultation-form-eventhorizon {
    display: flex;
    gap: 30px;
    /* 필드 간격 */
    flex-wrap: wrap;
    /* 반응형을 위해 줄바꿈 허용 */
}

/* 좌측 입력 필드 그룹 */
.input-fields-group-blackhole {
    flex: 1 1 40%;
    /* 화면이 줄어들면 40% 이하로 줄어들고, 여유가 있으면 늘어남 */
    min-width: 300px;
    /* 최소 너비 */
}

/* 우측 텍스트 영역 및 버튼 그룹 */
.textarea-and-button-jupiter {
    flex: 1 1 50%;
    /* 화면이 줄어들면 50% 이하로 줄어들고, 여유가 있으면 늘어남 */
    display: flex;
    flex-direction: column;
    min-width: 300px;
    /* 최소 너비 */
}

/* 일반 입력 필드 (이름, 휴대폰 번호) */
.text-input-meteor {
    width: 100%;
    padding: 15px 12px;
    margin-bottom: 20px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 16px;
    outline: none;
}

.text-input-meteor:focus {
    border-color: #4A90E2;
}

/* 상담 유형 드롭다운 컨테이너 */
.select-wrapper-supernova {
    position: relative;
    margin-bottom: 20px;
}

/* 상담 유형 드롭다운 */
.select-dropdown-comet {
    appearance: none;
    /* 기본 드롭다운 스타일 제거 */
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 100%;
    padding: 15px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 16px;
    background-color: #fff;
    cursor: pointer;
    outline: none;
}

/* 드롭다운 화살표 커스텀 */
.dropdown-arrow-celestial {
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid #666;
    /* 아래를 가리키는 화살표 */
    pointer-events: none;
    /* 클릭 이벤트 무시 */
}

/* 문의사항 텍스트 영역 */
.message-area-mars {
    flex-grow: 1;
    /* 남은 공간 모두 차지 */
    width: 100%;
    padding: 15px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 16px;
    resize: none;
    /* 크기 조절 불가 */
    margin-bottom: 20px;
    /* 버튼과의 간격 확보 */
    height: 100%;
    /* 부모에 따라 높이 조정 */
    min-height: 200px;
    /* 최소 높이 설정 (모바일 대응을 위해) */
}

.message-area-mars:focus {
    border-color: #4A90E2;
}

/* 신청하기 버튼 */
.submit-button-uranus {
    width: 100%;
    padding: 12px;
    background-color: #4A90E2;
    color: white;
    font-size: 18px;
    font-weight: 700;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.3s;
    margin-top: auto;
    height: auto;
}

.submit-button-uranus:hover {
    background-color: #357ABD;
}

/* 체크박스 영역 */
.checkbox-area-satellite {
    margin-top: 10px;
}

.checkbox-item-orbit {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.checkbox-item-orbit input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin-right: 8px;
    border: 1px solid #ccc;
    cursor: pointer;
}

.checkbox-item-orbit label {
    font-size: 14px;
    color: #333;
    flex-grow: 1;
    /* 레이블이 공간을 차지하도록 */
}

/* 자세히보기 링크 */
.detail-link-solar {
    font-size: 14px;
    color: #666;
    text-decoration: underline;
    margin-left: 10px;
    white-space: nowrap;
    /* 줄바꿈 방지 */
}

/* --- 반응형 미디어 쿼리 --- */
/* 화면 너비가 768px 이하일 때 (모바일/태블릿 세로) */
@media (max-width: 768px) {
    .form-wrapper-pulsar {
        padding: 30px;
        /* 패딩 축소 */
    }

    .consultation-form-eventhorizon {
        flex-direction: column;
        /* 세로로 쌓이도록 변경 */
        gap: 0;
        /* 간격 제거 */
    }

    .input-fields-group-blackhole,
    .textarea-and-button-jupiter {
        min-width: 100%;
        /* 전체 너비 사용 */
    }

    .textarea-and-button-jupiter {
        margin-top: 30px;
        /* 세로 간격 확보 */
    }

    .message-area-mars {
        min-height: 150px;
        /* 모바일에서 텍스트 영역 높이 축소 */
        margin-bottom: 20px;
    }

    .submit-button-uranus {
        /* 버튼을 텍스트 영역 바로 아래에 위치시키기 위해 auto 마진 제거 */
        margin-top: 0;
    }
}



/* 1. 전체 리스트 컨테이너 - 항목들을 가로로 나열하고 간격을 벌립니다. */
.portfolioList {
    display: flex;
    /* 가로 정렬을 위해 필수 */
    flex-wrap: wrap;
    /* 자리가 부족하면 다음 줄로 넘김 */
    justify-content: center;
    /* 가운데 정렬 */
    gap: 20px;
    /* 카드 사이의 간격 */
    max-width: 1200px;
    margin: 50px auto;
    padding: 0 20px;
}

/* 2. 개별 카드 항목 - 고정 너비와 최소 높이를 설정하여 겹침 방지 */
.portfolio_list {
    width: calc(25% - 20px);
    /* 4열 기준 (간격 제외) */
    min-width: 250px;
    /* 너무 작아지지 않게 방어 */
    position: relative;
    /* 내부 파란 라벨의 기준점 */
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    /* 이미지가 박스를 벗어나지 않게 */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    margin-bottom: 30px;
}

/* 3. 이미지 영역 - 이미지가 없더라도 공간을 확보하도록 높이 설정 */
.portfolio_list dt {
    position: relative;
    width: 100%;
    height: 200px;
    /* 이미지가 안 나올 때를 대비한 최소 높이 */
    background-color: #f0f0f0;
    /* 이미지가 없을 때 회색 박스로 표시 */
}

.portfolio_list dt img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* 이미지 비율 유지하며 채움 */
}

/* 4. 파란색 라벨 (경매 강의 등) - 위치 고정 */
.c_tit {
    position: absolute;
    top: 0;
    left: 0;
    background: #3c5db5;
    color: #fff !important;
    padding: 8px 15px;
    font-size: 13px;
    z-index: 10;
    margin: 0;
    /* p 태그 기본 마진 제거 */
}

/* 5. 하단 텍스트 영역 */
.portfolio_list dd {
    padding: 20px 10px;
    text-align: center;
    background: #fff;
}

.portfolio_list h4.fs20 {
    font-size: 18px;
    font-weight: 700;
    color: #333;
    margin: 0;
}

.yt_horizontal_grid_wrapper {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    max-width: 1200px;
    margin: 40px auto 0;
    gap: 20px;
    padding: 0 10px;
}

.yt_video_item {
    flex: 1;
    min-width: calc(25% - 20px);
    box-sizing: border-box;
}

.yt_video_item iframe {
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 12px;
    background: #000;
}

.yt_video_item p {
    margin-top: 10px;
    font-size: 15px;
    font-weight: 600;
    color: #222;
    text-align: left;
    line-height: 1.4;
    word-break: keep-all;
}

@media screen and (max-width: 768px) {
    .yt_video_item {
        min-width: calc(50% - 20px);
    }
}

@media screen and (max-width: 480px) {
    .yt_video_item {
        min-width: 100%;
    }
}





/* 컨테이너 및 그리드 설정 */
.video-grid1 {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

.video-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    /* 한 라인에 3개 배치 */
    gap: 20px;
    /* 영상 간 간격 */
}

/* 개별 아이템 설정 */
.video-item {
    width: 100%;
}

/* 영상 래퍼 (축약형 v-wrap) */
.v-wrap {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    /* 16:9 비율 유지 */
    border-radius: 16px;
    overflow: hidden;
    background: #000;
}

.v-wrap img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    z-index: 0;
}

.v-wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* 모바일 반응형 대응 */
@media (max-width: 1024px) {
    .video-grid {
        grid-template-columns: repeat(2, 1fr);
        /* 태블릿에서는 2개 */
    }
}

@media (max-width: 768px) {
    .video-grid {
        grid-template-columns: 1fr;
        /* 모바일에서는 1개 */
    }
}

.main-title-text {
    text-align: center;
    font-size: 28px;
    font-weight: 700;
    color: #333333;
    line-height: 1.5;
    padding-top: 60px !important;
    padding-bottom: 40px !important;
}

/* 4. 하단 태그 (가로 정렬) */
.video_meta_tag_group {
    margin-top: 12px;
    display: flex;
    gap: 8px;
}

.meta_tag_left,
.meta_tag_right {
    display: inline-block;
    padding: 5px 12px;
    border-radius: 5px;
    font-size: 13px;
    font-weight: 500;
}

.meta_tag_left {
    background-color: #e8f0fe;
    color: #1a73e8;
}

.meta_tag_right {
    background-color: #fce8e6;
    color: #d93025;
}


/* 버튼 호버 효과 */
.btn-view:hover {
    background: #787dff;
    transform: translateY(-4px) scale(1.01);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}

/* 프로필 */
.ia-layout {
    display: flex;
    background: #f8fcff;
    font-family: 'Pretendard', sans-serif;
    padding: 40px;
    gap: 50px;
}

/* 좌측 디자인 */
.ia-left {
    flex: 0 0 280px;
}

.ia-photo img {
    width: 100%;
    height: auto;
    border-radius: 4px;
    margin-bottom: 30px;
}

.ia-main-info {
    border-left: 4px solid #2563eb;
    /* 이미지의 특징인 왼쪽 파란 선 */
    padding-left: 20px;
}

.ia-sub-title {
    font-size: 13px;
    color: #666;
    margin-bottom: 5px;
}

.ia-name {
    font-size: 34px;
    font-weight: 800;
    color: #111;
    margin-bottom: 20px;
}

.ia-name small {
    font-size: 14px;
    color: #888;
    font-weight: 400;
    text-transform: uppercase;
}

.ia-summary {
    list-style: none;
    padding: 0;
    font-size: 15px;
    color: #555;
    line-height: 1.8;
    margin-bottom: 25px;
}

.ia-btn-preview {
    display: inline-block;
    padding: 10px 20px;
    border: 1px solid #2563eb;
    color: #2563eb;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    border-radius: 2px;
}

/* 우측 디자인 */
.ia-right {
    flex: 1;
}

.ia-section {
    margin-bottom: 35px;
    border-bottom: 1px solid #eee;
    padding-bottom: 25px;
}

.ia-section.border-none {
    border: none;
}

.ia-sec-head {
    font-size: 16px;
    font-weight: 800;
    color: #222;
    margin-bottom: 20px;
}

.ia-row {
    display: flex;
    margin-bottom: 12px;
    font-size: 16px;
    align-items: flex-start;
}

.ia-label {
    flex: 0 0 60px;
    color: #999;
    font-weight: 500;
}

.ia-val {
    flex: 1;
    color: #444;
    line-height: 1.5;
}

/* 태그 디자인 */
.ia-tags {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.ia-tags span {
    border: 1px solid #ddd;
    padding: 6px 18px;
    border-radius: 25px;
    font-size: 14px;
    color: #666;
}

/* 반응형 모바일 대응 */
@media (max-width: 800px) {
    .ia-layout {
        flex-direction: column;
        padding: 20px;
    }

    .ia-left {
        flex: none;
        width: 100%;
    }
}

.naddang-portfolio {
    background-color: #f8fcff;
    margin: 0 auto;
    padding: 0 20px 60px 20px;
    font-family: 'Pretendard', sans-serif;
}

.p-section {
    margin-bottom: 50px;
}

.p-title {
    font-size: 20px;
    font-weight: 800;
    color: #1a1a1a;
    margin-bottom: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.p-title small {
    font-size: 14px;
    font-weight: 400;
}

/* 유튜브 그리드 레이아웃 */
.video-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 15px;
}

.video-card {
    display: flex;
    align-items: center;
    padding: 15px;
    background: #ffffff;
    border-radius: 12px;
    text-decoration: none;
    transition: 0.3s;
    border: 1px solid #f1f5f9;
}

.video-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
    border-color: #2563eb;
}

.v-thumb {
    font-size: 24px;
    margin-right: 15px;
}

.v-label {
    font-size: 18px;
    font-weight: 700;
    color: #1e293b;
    margin: 0;
    color: #2150b7;
}

.v-desc {
    font-size: 14px;
    color: #64748b;
    margin: 3px 0 0;
}

/* 뉴스 리스트 스타일 */
.article-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.article-item {
    display: flex;
    align-items: center;
    padding: 15px 20px;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 8px;
    text-decoration: none;
    color: #333;
    transition: 0.2s;
}

.article-item:hover {
    background: #fdfdfd;
    border-color: #2563eb;
}

.a-tag {
    font-size: 11px;
    font-weight: 800;
    padding: 2px 8px;
    border-radius: 4px;
    background: #eee;
    margin-right: 15px;
}

.a-tag.best {
    background: #fee2e2;
    color: #ef4444;
}

.a-txt {
    flex: 1;
    font-size: 14px;
    margin: 0;
}

.a-arrow {
    color: #ccc;
}

/* 하단 버튼 */
.p-links {
    display: flex;
    gap: 10px;
    margin-top: 20px;
}

.p-btn {
    flex: 1;
    text-align: center;
    padding: 15px;
    border-radius: 8px;
    text-decoration: none;
    font-size: 18px;
    font-weight: 600;
    transition: 0.3s;
}

.p-btn.site {
    background: #2563eb;
    color: #fff;
}

.p-btn.blog {
    background: #eef3ff;
    color: #2563eb;
    border: 1px solid #2563eb;
}

.p-btn:hover {
    opacity: 0.9;
}

@media (max-width: 600px) {
    .p-links {
        flex-direction: column;
    }
}



.portfolio-container {

    margin: 0 auto;
    background: #fff;
    border-radius: 30px;

}

/* 헤더 & 프로필 이미지 섹션 */
.hero-section {
    color: white;
}

.profile-img-wrapper {
    width: 100%;
}

.profile-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* 이미지 비율 유지 */
}

.hero-text h2 {
    font-size: 1rem;
    font-weight: 400;
    opacity: 0.8;
    margin: 0 0 5px 0;
    letter-spacing: 2px;
}

.hero-text h1 {
    font-size: 2.2rem;
    margin: 0;
    font-weight: 800;
}

/* 본문 스타일 */
.content-body {
    padding: 40px 20px 60px 20px;
    background-color: #f8fcff;
}

.intro-quote {
    font-size: 1.25rem;
    font-weight: 700;
    color: #0984e3;
    border-left: 5px solid #0984e3;
    padding-left: 20px;
    margin-bottom: 25px;
}

.main-desc {
    font-size: 1.05rem;
    color: #4a5568;
    margin-bottom: 35px;
}

/* 숫자 성과 카드 */
.stat-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    margin-bottom: 40px;
}

.stat-card {
    background: #ffffff;
    padding: 20px;
    border-radius: 16px;
    text-align: center;
}

.stat-card .label {
    font-size: 0.85rem;
    color: #718096;
    display: block;
    margin-bottom: 5px;
}

.stat-card .value {
    font-size: 1.3rem;
    font-weight: 800;
    color: #e63946;
}

/* 링크 섹션 */
.biz-info h3 {
    font-size: 1.1rem;
    margin-bottom: 20px;
    color: #2d3436;
}

.link-group {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.link-item {
    display: flex;
    align-items: center;
    padding: 14px 18px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    text-decoration: none;
    color: #4a5568;
    font-weight: 600;
    font-size: 0.95rem;
    transition: all 0.2s ease;
}

.link-item:hover {
    background: #f1f7ff;
    border-color: #0984e3;
    color: #0984e3;
    transform: translateY(-3px);
}

.link-item i {
    margin-right: 12px;
    font-size: 1.1rem;
}

/* 푸터 공지 */
.contact-notice {
    margin-top: 40px;
    background: #fff9db;
    color: #856404;
    padding: 18px;
    border-radius: 12px;
    text-align: center;
    font-size: 0.95rem;
    font-weight: 600;
    border: 1px solid #ffeeba;
}

/* 모바일 대응 */
@media (max-width: 600px) {

    .stat-grid,
    .link-group {
        grid-template-columns: 1fr;
    }

    .hero-section {
        padding: 40px 20px;
    }

    .hero-text h1 {
        font-size: 1.8rem;
    }
}



/** 메인 수강후기 슬라이드 **/

.mainReviewBox {
    margin: 0 0 100px 0;
}

.review-slider-wrap {
    max-width: 1100px;
    margin: 0 auto;
}

.review-slider li {
    list-style: none;
    padding-top: 10px;
}

.review-card {
    background: #fff;
    box-shadow: 0 2px 8px rgb(0 0 0 / 0.05);
    padding: 24px 20px 28px;
    height: 100%;
    box-sizing: border-box;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: transform 0.25s ease, box-shadow 0.25s ease;

}

.review-card-link,
.classDetailTopReview .review-card {
    cursor: pointer;
}

.review-card-link:hover .review-card,
.classDetailTopReview .review-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 8px 20px rgb(0 0 0 / 0.08);
}

.review-card h3 {
    font-weight: 700;
    font-size: 18px;
    line-height: 1.3;
    color: #1c1c1c;
    margin-bottom: 12px;
    height: 40px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.review-card p {
    font-size: 16px;
    line-height: 1.4;
    color: #5a5a5a;
    height: 70px;
    /* 약 3줄 분량 */
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    margin-bottom: 28px;
}

.review-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.review-user {
    display: flex;
    align-items: center;
}

.review-user img {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
    margin-right: 8px;
}

.review-user-name {
    font-size: 14px;
    font-weight: 600;
    color: #2a2a2a;
}

.review-rating {
    display: flex;
    align-items: center;
}

.star-rating {
    position: relative;
    font-size: 16px;
    line-height: 1;
    letter-spacing: 1px;
}

.star-rating div {
    white-space: nowrap;
}

.star-bg {
    color: #ddd;
}

.star-fill {
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    color: #f9b500;
}

.review-slider-wrap .bx-wrapper {
    box-shadow: none !important;
    border: none !important;
    background: transparent !important;
    position: relative;
    padding: 0 40px;
}

.review-slider-wrap .bx-wrapper .bx-prev {
    left: 0;
    z-index: 10;
}

.review-slider-wrap .bx-wrapper .bx-next {
    right: 0;
    z-index: 10;
}

/* 반응형 */
@media (max-width: 991px) {
    .review-card h3 {
        font-size: 18px;
        height: 48px;
    }

    .review-card p {
        font-size: 14px;
        height: 60px;
    }
}

@media (max-width: 767px) {
    .review-card h3 {
        height: 44px;
    }

    .review-card p {
        height: 56px;
    }

    .mainReviewBox {
        margin: 30px 0 60px 0;
    }
}

/* 모달 배경 */
.modal-bg {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

/* 모달 박스 */
.modal-content {
    background: #fff;
    width: 600px;
    max-width: 90%;
    height: 80vh;
    border-radius: 20px;
    padding: 30px 40px;
    overflow-y: auto;
    box-sizing: border-box;
    position: relative;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25);
}

.close-btn {
    position: absolute;
    top: 15px;
    right: 15px;
    font-size: 28px;
    background: none;
    border: none;
    cursor: pointer;
    color: #333;
    line-height: 1;
    font-weight: 700;
}

.modal-inner-content h3 {
    font-weight: 700;
    font-size: 26px;
    margin-bottom: 15px;
    max-width: 80%;
}

.modal-inner-content .review-footer {
    margin-bottom: 20px;
}

@media (max-width: 768px) {
    .modal-content {
        width: 90%;
        padding: 20px;
    }

    .classDetailTopReview {
        grid-template-columns: 1fr;
    }
}


.video-area {
    text-align: center;
    padding: 90px 0 100px 0;
    position: relative;
    overflow: hidden;
    background: #f3f3f3;
}

.video-area-bg-layer {
    position: absolute;
    inset: -200px;
    background: url("/files/images/bg02.png") no-repeat center center;
    background-size: cover;
    will-change: transform;
    transform: translate3d(0, 0, 0) scale(1.15);
    pointer-events: none;
    z-index: 0;
}

.video-bg-deco {
    position: absolute;
    pointer-events: none;
}

/* 그색(파란) 네모 → 원형 변경 */
.video-bg-deco--circle {
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: #5a7bc8;
    transform: rotate(-12deg);
}

.video-area .video-area-title,
.video-area .video-wrap {
    position: relative;
    z-index: 1;
}

.video-area .video-area-title {
    margin-bottom: 16px;
    padding-bottom: 16px !important;
}

.video-wrap {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;

}

.video-wrap video {
    width: 100%;
    max-width: 1000px;
    height: auto;
    display: block;
    margin: 0 auto;
    border-radius: 14px;
    /* 원하는 만큼 */
    overflow: hidden;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18);
}

.video-wrap p {
    font-size: 18px;
    font-weight: 600;
    color: #222;
    text-align: left;
    line-height: 1.4;
    word-break: keep-all;
    padding-top: 18px;
}

/* 치열한 배너 */
.intense-banner {
    /* background: #010037; */
    background:#22202e;
    color: #fff;
    padding: 100px 40px 90px;
    text-align: center;
}

.intense-banner-inner {
    max-width: 900px;
    margin: 0 auto;
}

.intense-banner-top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 24px 16px;
    margin-bottom: 28px;
}

.intense-banner-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
    padding: 0 20px;
}

.intense-banner-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
}

.intense-banner-icon svg {
    width: 48px;
    height: 48px;
    color: #fff;
}

.intense-banner-item-text {
    font-size: 1.1rem;
    font-weight: 300;
    line-height: 1.3;
    letter-spacing: -0.5px;
}

.intense-banner-plus {
    font-size: 2rem;
    font-weight: 400;
    color: #fff;
    opacity: 0.9;
    line-height: 1;
}

.intense-banner-desc {
    font-size: 2.6rem;
    font-weight: 300;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.9);
    text-align: center;
    margin-top: 50px;
}

.intense-banner-desc b{
    font-weight: 600;
    font-size: 2.8rem;
    color:#fb4036;
}
.intense-banner-tagline {
    font-size: 0.95rem;
    font-weight: 400;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.85);
    text-align: left;
}

@media (max-width: 768px) {
    .intense-banner {
        padding: 32px 24px;
        margin-bottom: 32px;
    }

    .intense-banner-top {
        flex-direction: column;
        gap: 20px;
        margin-bottom: 24px;
    }

    .intense-banner-plus {
        font-size: 1.5rem;
    }

    .intense-banner-item-text {
        font-size: 1rem;
    }

    .intense-banner-desc,
    .intense-banner-tagline {
        font-size: 0.9rem;
    }
}

/*선생님 소개*/
.brand-proof {
    position: relative;
    padding: 110px 0 110px;
    overflow: hidden;
    background:
      linear-gradient(115deg, rgba(11, 16, 31, 0.82) 0%, rgba(20, 24, 39, 0.68) 60%, rgba(23, 26, 41, 0.62) 100%),
      radial-gradient(circle at 20% 20%, rgba(220, 40, 58, 0.3) 0%, rgba(220, 40, 58, 0) 40%),
      radial-gradient(circle at 85% 35%, rgba(255, 92, 92, 0.25) 0%, rgba(255, 92, 92, 0) 36%),
      #1a2132;
  }

  .brand-proof::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(0, 0, 0, 0.2));
    pointer-events: none;
  }
  
  .brand-proof .inner {
    position: relative;
    z-index: 1;
    width: min(1200px, calc(100% - 40px));
    margin: 0 auto;
  }

  .brand-head {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 20px;
    margin-bottom: 80px;
  }

  .brand-head-copy{
    text-align: center;
    width: 100%;
  }

  .brand-kicker {
    display: inline-block;
    margin-bottom: 14px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.22em;
    color: #ff6373;
    position: relative;
    padding-left: 28px;
  }
  .brand-kicker::before {
    content: "";
    position: absolute;
    left: 50%;
    top: -12px;
    width: 18px;
    height: 2px;
    background: #ff6373;
  }

  .brand-title {
    margin: 0;
    font-size: clamp(34px, 4.3vw, 54px);
    font-weight: 400;
    line-height: 1.22;
    color: #ffffff;
    letter-spacing: -0.02em;
  }

  .brand-title strong {
    /* display: block; */
    margin-top: 8px;
    color: #ffF;
    font-weight: 700;
    padding-right: 12px;
  }

  .brand-more-btn {
    flex-shrink: 0;
    margin-top: 8px;
    padding: 12px 20px;
    border: 1px solid rgba(255, 255, 255, 0.45);
    color: #ffffff;
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
    border-radius: 4px;
    text-decoration: none;
    background: rgba(255, 255, 255, 0.08);
    transition: 0.25s ease;
    position: absolute;
    right: 0;
  }

  .brand-more-btn:hover {
    background: rgba(255, 255, 255, 0.18);
    border-color: rgba(255, 255, 255, 0.7);
  }
  
  .brand-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
  }
  
  .brand-list li {
    min-height: 260px;
    background: rgba(19, 22, 38, 0.5);
    border: 1px solid rgba(255, 255, 255, 0.16);
    backdrop-filter: blur(2px);
    padding: 30px 24px;
    border-radius: 10px;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.25);
    transition: 0.3s ease;
    text-align: center;
    position: relative;
  }
  
  .brand-list li:hover {
    transform: translateY(-5px);
    border-color: rgba(255, 99, 115, 0.6);
  }

  .brand-list li {
    --draw-angle: 0deg;
  }

  .brand-list li::after {
    content: "";
    position: absolute;
    inset: -1px;
    border-radius: 10px;
    padding: 1px;
    opacity: 0;
    pointer-events: none;
    background: conic-gradient(
      from 180deg,
      #ff6373 0deg var(--draw-angle),
      transparent var(--draw-angle) 360deg
    );
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    mask-composite: exclude;
  }

  .brand-list li:hover {
    border-color: rgba(255, 255, 255, 0.16) !important;
  }

  .brand-list li:hover::after {
    opacity: 1;
    animation: brandBorderDraw 0.95s linear forwards;
  }
  .brand-list b{
    color:#fff;
    font-weight: 500;
  }

  @property --draw-angle {
    syntax: "<angle>";
    inherits: false;
    initial-value: 0deg;
  }

  @keyframes brandBorderDraw {
    from {
      --draw-angle: 0deg;
    }
    to {
      --draw-angle: 360deg;
    }
  }

  .brand-card-icon {
    display: inline-flex;
    width: 34px;
    height: 34px;
    margin-bottom: 22px;
    align-items: center;
    justify-content: center;
    color: #ff6373;
  }

  .brand-card-icon svg {
    width: 100%;
    height: 100%;
    transition: transform 0.25s ease;
  }

  .brand-list li:hover .brand-card-icon svg {
    transform: scale(1.04);
  }
  
  .brand-list strong {
    display: block;
    font-size: 22px;
    font-weight: 500;
    color: #ffF;
    margin-bottom: 16px;
    letter-spacing: -0.01em;
  }
  
  .brand-list p {
    font-size: 14px;
    line-height: 1.62;
    color: #dbdbdbf5;
    word-break: keep-all;
  }

  /* =========================
 * Core System
 * ========================= */
  .core-system-section {
    padding: 110px 0 110px;
    background: linear-gradient(180deg, #f6f7fb 0%, #fff 100%);
  }

  .core-system-inner {
    width: min(1100px, calc(100% - 48px));
    margin: 0 auto;
  }

  .core-system-header {
    margin-bottom: 50px;
  }

  .core-system-kicker {
    display: inline-block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.22em;
    color: #e1251b;
    margin-bottom: 16px;
    position: relative;
    padding-left: 28px;
  }

  .core-system-kicker::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 18px;
    height: 2px;
    background: #e1251b;
    transform: translateY(-50%);
  }

  .core-system-title {
    margin: 0;
    font-size: clamp(34px, 5vw, 54px);
    font-weight: 200;
    color: #c2c3c9;
    letter-spacing: -0.045em;
    line-height: 1.18;
  }

  .core-system-title em {
    font-style: normal;
    font-weight: 800;
    color: #1b1e27;
    animation: titleEmRed 20s ease-in-out infinite;
  }

  @keyframes titleEmRed {
    0%, 100% {
      color: #1b1e27;
    }
    45% {
      color: #b0b0b6;
    }
    55% {
      color: #b0b0b6;
    }
  }

  .core-system-point {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 28px;
    margin-bottom: 0;
    padding: 36px 0;
    border-bottom: 1px solid #e8e9ee;
  }

  .core-system-point:first-of-type {
    border-top: 1px solid #e8e9ee;
  }

  .core-system-point-num {
    flex-shrink: 0;
    font-size: clamp(48px, 6vw, 72px);
    font-weight: 900;
    line-height: 1;
    letter-spacing: -0.04em;
    color: transparent;
    -webkit-text-stroke: 1.5px #c8cad4;
    opacity: 0.6;
    padding-top: 2px;
    user-select: none;
  }

  .core-system-point.aos-animate .core-system-point-num {
    animation: coreNumPulse 10s ease-in-out infinite;
  }
  .core-system-point:nth-child(3).aos-animate .core-system-point-num {
    animation-delay: 3s;
  }
  .core-system-point:nth-child(4).aos-animate .core-system-point-num {
    animation-delay: 6s;
  }

  @keyframes coreNumPulse {
    0%, 100% {
      -webkit-text-stroke-color: #e1251b;
      opacity: 0.6;
    }
    35% {
      -webkit-text-stroke-color: #d9b4b2;
      opacity: 0.85;
    }
    65% {
      -webkit-text-stroke-color: #ddd;
      opacity: 0.85;
    }
  }

  .core-system-point-body {
    flex: 1;
    min-width: 0;
  }

  .core-system-point-title {
    display: block;
    margin-bottom: 12px;
    font-size: clamp(19px, 2.2vw, 24px);
    font-weight: 700;
    color: #1b1e27;
    letter-spacing: -0.025em;
    line-height: 1.45;
  }

  .core-system-point-title mark {
    background: none;
    color: #e1251b;
    font-weight: 800;
    padding: 0;
  }

  .core-system-point p {
    margin: 0;
    font-size: clamp(14px, 1.5vw, 16px);
    font-weight: 400;
    color: #787b88;
    line-height: 1.8;
    letter-spacing: -0.005em;
    word-break: keep-all;
  }

  @media (max-width: 768px) {
    .core-system-section {
      padding: 72px 0 28px;
    }
    .core-system-header {
      margin-bottom: 40px;
    }
    .core-system-kicker {
      font-size: 11px;
      padding-left: 22px;
      margin-bottom: 12px;
    }
    .core-system-kicker::before {
      width: 14px;
    }
    .core-system-point {
      gap: 18px;
      padding: 28px 0;
    }
    .core-system-point-num {
      -webkit-text-stroke-width: 1px;
    }
    .core-system-point-title mark {
      display: inline;
    }
  }

  @media (max-width: 480px) {
    .core-system-section {
      padding: 56px 0 20px;
    }
    .core-system-header {
      margin-bottom: 32px;
    }
    .core-system-point {
      flex-direction: column;
      gap: 6px;
      padding: 24px 0;
    }
    .core-system-point-num {
      font-size: 40px;
      -webkit-text-stroke-width: 1px;
    }
  }

  /* =========================
 * Real Reviews (생생한 후기)
 * ========================= */
 .review-section {
    padding: 120px 0;
    background: #f4f4f6;
  }
  
  .review-inner {
    width: min(1200px, calc(100% - 40px));
    margin: 0 auto;
  }
  
  /* 타이틀 */
  .review-header {
    text-align: center;
    margin-bottom: 80px;
  }
  
  .review-label {
    display: inline-block;
    position: relative;
    padding-top: 14px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.14em;
    color: #e1251b;
    background: transparent;
    border-radius: 0;
    margin-bottom: 16px;
  }

  .review-label::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    width: 18px;
    height: 2px;
    background: #e1251b;
    transform: translateX(-50%);
  }
  
  .review-title {
    margin: 0;
    font-size: clamp(34px, 5vw, 54px);
    font-weight: 200;
    color: #656565;
    letter-spacing: -0.045em;
    line-height: 1.18;

  }
  
  .review-title b {
    font-style: normal;
    font-weight: 800;
    color: #1b1e27;
    /* animation: titleEmRed 20s ease-in-out infinite; */

  }

  /* =========================
   * Youtube Preview (메인 하단)
   * ========================= */
  .youtube-preview-section {
    /* background: #f4f4f6; */
    padding: 80px 0 90px;
    /* margin-top: 80px; */
  }

  .youtube-preview-header {
    margin-bottom: 56px;
  }
  
  /* 스크롤 래퍼 (상하 블러 오버레이용) */
  .review-scroll-wrap {
    position: relative;
    padding-right: 56px;
  }
  
  /* 상하 블러/페이드 오버레이 */
  .review-blur-overlay {
    position: absolute;
    left: 0;
    right: 56px;
    height: 34px;
    pointer-events: none;
    z-index: 2;
  }
  .review-blur-top {
    top: 0;
    background: linear-gradient(to bottom,
      rgba(244, 244, 246, 0.92) 0%,
      rgba(244, 244, 246, 0.35) 45%,
      transparent 100%);
  }
  .review-blur-bottom {
    bottom: 0;
    background: linear-gradient(to top,
      rgba(244, 244, 246, 0.92) 0%,
      rgba(244, 244, 246, 0.35) 45%,
      transparent 100%);
  }
  
  /* 리뷰 영역 세로 스크롤 */
  .review-scroll-area {
    height: 410px;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 8px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  
  .review-scroll-area::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
  }
  
  /* 3열 masonry (카드 높이 각각 유지) */
  .review-grid {
    column-count: 3;
    column-gap: 24px;
  }
  
  .review-column {
    display: contents;
  }

  .review-scroll-nav {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    z-index: 3;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .review-scroll-btn {
    width: 20px;
    height: 100px;
    padding: 0;
    border: 1px solid #d7d7db;
    border-radius: 5px;
    background: #fff;
    color: #57575f;
    font-size: 10px;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

  .review-scroll-btn:hover {
    background: #f0f0f2;
    border-color: #c7c7cc;
    color: #333;
  }
  
  /* 카드 - 높이 각각 다름 (이미지 비율에 따라) */
  .review-card {
    break-inside: avoid;
    margin-bottom: 24px;
    background: #fff;
    padding: 14px;
    border-radius: 10px;
    box-shadow: 3px 5px 9px 3px rgba(0, 0, 0, 0.06);
  }
  
  .review-card img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 14px;
  }
  
  /* 반응형 */
  @media (max-width: 1024px) {
    .brand-proof {
      padding: 72px 0 86px;
    }
    .brand-head {
      flex-direction: column;
      align-items: flex-start;
      gap: 14px;
      margin-bottom: 50px;
    }
    .brand-title {
      font-size: clamp(30px, 4.2vw, 42px);
    }
    .brand-more-btn {
      padding: 10px 16px;

    }
    .brand-list {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 14px;
    }
    .brand-list li {
      min-height: 220px;
      padding: 24px 20px;
      border-radius: 16px;
    }
    .brand-list strong {
      font-size: 24px;
      margin-bottom: 12px;
    }
    .brand-card-icon {
      width: 42px;
      height: 42px;
      margin-bottom: 12px;
    }
    .brand-list p {
      font-size: 18px;
    }

    .review-scroll-wrap {
      padding-right: 48px;
    }
    .review-blur-overlay {
      right: 48px;
      height: 42px;
    }
    .review-scroll-area {
      height: 420px;
    }
    .review-grid {
      column-count: 2;
      column-gap: 18px;
    }
    .review-scroll-btn {
      width: 36px;
      height: 36px;
    }
  }
  
  @media (max-width: 640px) {
    .brand-proof {
      padding: 56px 0 64px;
    }
    .brand-kicker {
      margin-bottom: 10px;
      font-size: 11px;
      letter-spacing: 0.18em;
      padding-left: 22px;
    }
    .brand-kicker::before {
      width: 14px;
    }
    .brand-title {
      font-size: 28px;
      line-height: 1.3;
    }
    .brand-title strong {
      margin-top: 6px;
    }
    .brand-more-btn {
      display: none;
    }
    .brand-list {
      grid-template-columns: 1fr;
      gap: 12px;
    }
    .brand-list li {
      min-height: auto;
      padding: 20px 16px;
      border-radius: 14px;
    }
    .brand-list strong {
      font-size: 20px;
      margin-bottom: 10px;
    }
    .brand-card-icon {
      width: 36px;
      height: 36px;
      margin-bottom: 10px;
    }
    .brand-list p {
      font-size: 15px;
      line-height: 1.55;
    }

    .review-scroll-area {
      height: 380px;
    }
    .review-grid {
      column-count: 1;
      column-gap: 16px;
    }
    .review-blur-overlay {
      height: 34px;
      right: 0;
    }
    .review-scroll-wrap {
      padding-right: 0;
    }
    .review-scroll-nav {
      display: none;
    }
  }

  .pageBottom-height{
    height:80px;
  }

  /* =========================
   * Principal About (Masterpiece)
   * ========================= */
  .principal-masterpiece .pm-wrap{
    width: min(980px, calc(100% - 40px));
    margin: 0 auto;
    padding: 36px 0 90px;
  }

  .principal-masterpiece .pm-hero{
    padding: 44px 40px;
    border-radius: 20px;
    background: linear-gradient(135deg, rgba(2, 6, 23, 0.96), rgba(17, 24, 39, 0.92));
    color: #fff;
    box-shadow: 0 18px 50px rgba(0,0,0,0.18);
  }

  .principal-masterpiece .pm-kicker{
    margin: 0 0 10px;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.18em;
    opacity: 0.85;
  }

  .principal-masterpiece .pm-title{
    margin: 0 0 14px;
    font-size: clamp(26px, 3.2vw, 40px);
    font-weight: 800;
    letter-spacing: -0.04em;
    line-height: 1.2;
  }

  .principal-masterpiece .pm-title-strong{
    color: #e1251b;
  }

  .principal-masterpiece .pm-lead{
    margin: 0;
    max-width: 60ch;
    font-size: 16px;
    line-height: 1.7;
    opacity: 0.9;
  }

  .principal-masterpiece .pm-section{
    margin-top: 44px;
    padding-top: 44px;
    border-top: 1px solid rgba(17, 24, 39, 0.10);
  }

  .principal-masterpiece .pm-h2{
    margin: 0 0 18px;
    font-size: 20px;
    font-weight: 900;
    letter-spacing: -0.03em;
    color: #111827;
  }

  .principal-masterpiece .pm-h2 small{
    display: block;
    margin-top: 8px;
    font-size: 15px;
    font-weight: 600;
    color: #6b7280;
    line-height: 1.6;
  }

  .principal-masterpiece .pm-h2-label{
    display: inline-flex;
    align-items: center;
    gap: 10px;
  }

  .principal-masterpiece .pm-h2-label::before{
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: #e1251b;
    box-shadow: 0 0 0 6px rgba(225,37,27,0.12);
  }

  .principal-masterpiece .pm-prose p{
    margin: 0 0 14px;
    font-size: 16px;
    line-height: 1.85;
    color: #374151;
    letter-spacing: -0.02em;
    word-break: keep-all;
  }

  .principal-masterpiece .pm-em{
    font-weight: 900;
    color: #111827;
  }

  .principal-masterpiece .pm-quote{
    margin: 22px 0;
    padding: 22px 22px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(17, 24, 39, 0.08);
    box-shadow: 0 10px 24px rgba(0,0,0,0.06);
  }

  .principal-masterpiece .pm-quote p{
    margin: 0 0 6px;
    font-size: 20px;
    font-weight: 900;
    letter-spacing: -0.03em;
    color: #111827;
  }

  .principal-masterpiece .pm-quote cite{
    font-style: normal;
    color: #6b7280;
    font-weight: 600;
    font-size: 13px;
  }

  .principal-masterpiece .pm-points{
    list-style: none;
    padding: 0;
    margin: 18px 0 0;
    display: grid;
    gap: 12px;
  }

  .principal-masterpiece .pm-points li{
    padding: 18px 18px;
    border-radius: 16px;
    background: rgba(225, 37, 27, 0.06);
    border: 1px solid rgba(225, 37, 27, 0.14);
  }

  .principal-masterpiece .pm-points strong{
    display: block;
    margin-bottom: 6px;
    font-size: 16px;
    font-weight: 900;
    color: #111827;
  }

  .principal-masterpiece .pm-points span{
    display: block;
    font-size: 15px;
    line-height: 1.7;
    color: #374151;
    letter-spacing: -0.02em;
    word-break: keep-all;
  }

  .principal-masterpiece .pm-section--dark{
    border-top: 0;
    padding: 40px 34px;
    border-radius: 20px;
    background: #111827;
    margin-top: 50px;
  }

  .principal-masterpiece .pm-h2--light{
    color: #fff;
  }

  .principal-masterpiece .pm-prose--light p{
    color: rgba(255,255,255,0.88);
  }

  .principal-masterpiece .pm-em--light{
    color: #fff;
  }

  .principal-masterpiece .pm-cards{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin-top: 18px;
  }

  .principal-masterpiece .pm-card{
    padding: 18px 16px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(17, 24, 39, 0.08);
    box-shadow: 0 10px 24px rgba(0,0,0,0.05);
  }

  .principal-masterpiece .pm-card h3{
    margin: 0 0 8px;
    font-size: 16px;
    font-weight: 900;
    color: #111827;
    letter-spacing: -0.03em;
  }

  .principal-masterpiece .pm-card p{
    margin: 0;
    font-size: 14px;
    line-height: 1.7;
    color: #374151;
    letter-spacing: -0.02em;
    word-break: keep-all;
  }

  .principal-masterpiece .pm-signature{
    margin-top: 26px;
    padding: 22px 18px;
    border-radius: 16px;
    background: rgba(17, 24, 39, 0.03);
    border: 1px solid rgba(17, 24, 39, 0.08);
  }

  .principal-masterpiece .pm-signature-quote{
    margin: 0 0 10px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.8;
    color: #111827;
    letter-spacing: -0.02em;
    word-break: keep-all;
  }

  .principal-masterpiece .pm-signature-name{
    margin: 0;
    font-size: 13px;
    font-weight: 800;
    color: #6b7280;
    letter-spacing: -0.01em;
  }

  @media (max-width: 900px){
    .principal-masterpiece .pm-cards{
      grid-template-columns: 1fr;
    }
  }

  @media (max-width: 480px){
    .principal-masterpiece .pm-wrap{
      width: calc(100% - 28px);
      padding: 26px 0 70px;
    }
    .principal-masterpiece .pm-hero{
      padding: 34px 20px;
      border-radius: 16px;
    }
    .principal-masterpiece .pm-section{
      margin-top: 34px;
      padding-top: 34px;
    }
    .principal-masterpiece .pm-quote{
      padding: 18px 16px;
    }
    .principal-masterpiece .pm-section--dark{
      padding: 30px 18px;
      border-radius: 16px;
    }
  }