/* 서브페이지 공통 스타일 — layouts.subpage를 쓰는 모든 화면(게시판/문의/마이페이지/정책/검색 등)에서 로드된다.
   색상 변수(--color-*)는 frontend.css의 :root에서 정의된 것을 그대로 참조한다. */

   /*  서브페이지에선 폰트 pretendard로 맞춤 */
body {
    font-family: "Pretendard Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", "Malgun Gothic", "Apple SD Gothic Neo", sans-serif;
}


/* 폰트 반응형 제어 */

@media (max-width: 992px) {
    html {font-size: 14px;}
}

@media (max-width: 768px) {
    html {font-size: 13px;}
}

@media (max-width: 650px) {
    html {font-size: 12px;}
}


input, textarea, select, td, th, button {
    font-family: "Pretendard Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", "Malgun Gothic", "Apple SD Gothic Neo", sans-serif;
}

.edu_sub_title {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 20px 0;
}

.edu_sub_title > h3 {
    color: var(--color-text);
    font-size: 20px;
    font-weight: 600;
    letter-spacing: -5%;
}

.edu_sub_title > p {
    color: #797979;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: -5%;
    line-height: 1.4;
}


/* 테이블 같은 표 가로 스크롤 생길 시 모바일에서 안내문용 
    처음엔 none 처리하고 필요한 것에 부모 클래스 붙여서 미디어쿼리로 불러오기
*/
.scroll_txt {
    margin: 10px 0;
    text-align: center;
    font-size: 14px;
    color: crimson;
    line-height: 1.4;
    display: none;
}


/* 서브페이지 상단 경로 표시(홈 > 상위메뉴 > 현재메뉴) */
.breadcrumb {
    margin-bottom: 20px;
    border-bottom: 1px solid #1D1D1F;
    font-family:'SCDream','돋움','굴림',arial,sans-serif;
}
.breadcrumb .page_title {
    color: #1D1D1F;
    font-size: clamp(25px, 2.1rem, 35px);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: -3%;
}

.breadcrumb ol {
    display: flex; flex-wrap: wrap; align-items: center; list-style: none; margin: 0;  font-size: clamp(14px, 1rem, 16px); color: var(--color-text-muted);
    padding: 20px 0; gap: 8px;
}
.breadcrumb li { display: flex; align-items: center; gap: 8px;}
.breadcrumb li:last-child > svg {display: none;}
/* .breadcrumb li:not(:last-child)::after { content: '>'; margin: 0 8px; color: var(--color-border); } */
.breadcrumb a { color: var(--color-text-muted); }
.breadcrumb a:hover { color: var(--color-primary); text-decoration: underline; }
.breadcrumb li:last-child span { color: var(--color-text); font-weight: 600; }

/* 서브페이지 레이아웃 (로컬 서브메뉴 + 본문) */
.content-layout {
    display: flex; gap: 45px;
}
.content-main { flex: 1; min-width: 0; padding-bottom: 80px;}
.local-nav {
    width: 245px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
    font-family:'SCDream','돋움','굴림',arial,sans-serif;
}
.local-nav-title {
    position: relative;
    margin: 0;
    padding: 47px 31px 49px;
    background: var(--color-primary);
    text-align: center;
    border-radius: 0 0 50px 0;
    overflow: hidden;
}

.local-nav-title h2 {
    font-size: 1.5rem;
    color: #fff;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -5%;
    position: relative;
    z-index: 2;
}

.local-nav-title::before {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 138px;
    aspect-ratio: 3/2.34782608;
    background:url("/images/sub_main_bg.png") no-repeat center center / cover;
    z-index: 1;
}

.local-nav > ul {
    list-style: none; margin: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.local-nav-item {
    display: flex; align-items: center; justify-content: space-between;
}
.local-nav-item a {
    flex: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-radius: 10px;
    border: 1px solid #efefef;
    padding: 15px 20px;
    color: var(--color-text);
    font-weight: 600;
    transition: all 0.3s;
}

.local-nav-item a svg {
    fill: #797979;
}

/* hover, active 시 */
.local-nav-item a:hover, .local-nav-item a:focus-visible {
    text-decoration: none;
    color: var(--color-primary);
    border-color: var(--color-primary);
}

.local-nav-item a:hover svg, .local-nav-item a:focus-visible svg {
    fill: var(--color-primary) !important;
}

.local-nav > ul > li.is-active > .local-nav-item > a { 
    color: var(--color-primary); 
    border: 2px solid var(--color-primary);
}
.submenu-toggle {
    background: none;
    border: none;
    width: 32px; height: 32px;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer;
    color: var(--color-text-muted);
    flex-shrink: 0;
}
.submenu-toggle svg { width: 16px; height: 16px; }
.submenu-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.local-nav-sub { list-style: none; margin: 0 0 4px; padding: 0 0 0 14px; }
.local-nav-sub.is-hidden { display: none; }
.local-nav-sub li a {
    display: block;
    padding: 8px;
    font-size: 0.9rem;
    font-weight: 400;
    color: var(--color-text-muted);
    border-radius: 6px;
}
.local-nav-sub li a:hover, .local-nav-sub li a:focus-visible { background: var(--color-bg-alt); text-decoration: none; }
.local-nav-sub li.is-active a { color: var(--color-primary); font-weight: 600; }


/* 
    사이드메뉴 sticky 거는 용도 992 밑으로 
    overflow-x 효과를 align-items: flex-start;가 방해하므로 
    그 밑에선 sticky도 굳이 필요 없으므로 해제. 
*/
@media (min-width: 1309px) {
    .content-layout {
        align-items: flex-start;
        overflow: visible;
    }

    .local-nav {
        position: sticky;
        top: 90px;
    }
}

@media (max-width: 1309px) {
    .content-layout { flex-direction: column; }
    .local-nav { width: 100%; display: none;}
}


/* 뱃지 모음 */
.badge { display: inline-block; padding: 3px 10px 2px; border-radius: 999px; font-size: clamp(12px, 0.8125rem, 13px); font-weight: 700; }
.badge-basic {
    color: #0458E0 !important; background: #fff !important; border: 1px solid #0458E0;
}
.badge-notice { background: #CBDCF6 !important; color: #2674E6 !important; }
.badge-secret { background: #f3f4f6 !important; color: var(--color-text-muted) !important; }
.badge-gray { background: #f3f4f6 !important; color: var(--color-text-muted) !important; }
.badge-success { background: #28C6BB !important; color: #fff !important; }
.badge-danger { background: #fee2e2 !important; color: var(--color-danger) !important; }
.badge-warning { background: #FFAE36; color: #fff; }

.badge-end {background: #7A8BA4 !important; color: #fff !important;}
.badge-online {color: #5084E7 !important; background: #fff !important; border: 1px solid #5084E7;}
.badge-offline {color: #DC481A !important; background: #fff !important; border: 1px solid #DC481A;}

/* 폼 */

.form-wrapper {
    margin: 30px auto 0;
    max-width: 560px;
}

.form-group { margin-bottom: 16px; }
.form-group label { 
    display: block; font-weight: 600; margin-bottom: 10px; font-size: 16px;
    color: var(--color-text); padding-left: 10px;
}
.form-group .hint { 
    font-size: 14px; color: #2674E6; margin-top: 4px;
    margin-left: 5px;
}
input[type=text], input[type=email], input[type=password], input[type=tel], input[type=number], input[type=url], input[type=date], textarea, select {
    width: 100%;
    --padding: clamp(15px, 1.25rem, 20px);
    padding: var(--padding);
    border: 1px solid var(--color-border);
    border-radius: 15px;
    font-size: clamp(15px, 1rem, 16px);
    font-family: inherit;
}
.input::placeholder {color: #BEC1CC;}

textarea { min-height: 160px; }
.form-error { color: var(--color-danger); font-size: 0.82rem; margin-top: 4px; }
.form-actions {
    margin-top: 40px; display: flex; gap: 8px;
    width: 100%;
    justify-content: center;
}

.form-actions .list_btn {
    border: 1px solid var(--color-border);
    background: #fff;
    width: 120px;
    padding: 14px 10px;
    font-size: 16px;
    color: var(--color-text);
    font-weight: 600;
    transition: all 0.2s;
    text-align: center;
}

.form-actions .list_btn:hover {
    background: var(--color-primary);
    color: #fff;
    border-color: var(--color-primary);
}

.form-actions.row {
    flex-direction: row !important;
}

@media (max-width: 768px) {
    .form-actions.row > * {
        flex: 1;
        max-width: 100%;
    }
}



.alert { padding: 12px 16px; border-radius: 8px; margin-bottom: 16px; font-size: 0.9rem; }
.alert-success { background: #ecfdf5; color: #065f46; border: 1px solid #a7f3d0; }
.alert-error { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
.alert-info { background: #eff6ff; color: #1e40af; border: 1px solid #bfdbfe; }

.post-meta { color: var(--color-text-muted); font-size: 15px; display: flex; gap: 5px; flex-wrap: wrap; }

/* 콘텐츠 상세 공통 — 게시판/문의/정책/일반페이지가 함께 쓰는 "글 상세" 뼈대이므로
   board.css가 아니라 여기(공용)에 둔다. */
.post-header {
    padding: 20px;
    padding-top: 0;
    border-bottom: 1px solid var(--color-text);
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: stretch;
}

.post-header .badge_box {
    display: flex; flex-wrap: wrap; gap: 7px;
}

.post-header .post-title {
    font-size: clamp(25px, 1.875rem, 30px);
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: -5%;
    color: var(--color-text);
}

/* .post-header .post-title > span {
    font-size: 1.5rem; font-weight: 700;
    font-family:'Pretendard', sans-serif;
} */

.meta-header {
    padding: 14px 10px;
    border-bottom: 1px solid var(--color-border);
}

.meta-header .post-meta {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
}
/* .post-header .content .post-meta > li {
    display: flex; gap: 10px;
    font-size: 14px;
}

.post-header .content .post-meta > li > label {
    color: #797979; font-size: 1em;
    line-height: 1; min-width: 80px;
}

.post-header .content .post-meta > li > span {
    color: var(--color-text); font-size: 1em;
    line-height: 1.2;
} */

.post-header .content {
    display: flex; gap: 20px;
    flex: 1;
}

.post-header .content .text_box {
    display: flex;
    flex-direction: column;
}

.post-header .apply_box {
    display: flex;
    flex-direction: column;
    gap: 5px;
    align-items: center;
    justify-content: center;
    min-width: 240px;
}

.post-header .apply_box .btn {
    border-radius: 15px;
    width: 100%;
    padding: 14px 10px;
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    /* border: 1px solid transparent; */
    transition: all 0.2s;
}

.post-header .apply_box form {width: 100%;}

.post-header .apply_box .btn.apply {
    color: #FFF;
    background: #555555;
    cursor: default;
    max-width: 100%;
    border: none;
}

.post-header .apply_box a.apply {
    cursor: pointer !important;
}

.post-header .apply_box a.apply:hover {
    border-color: var(--color-primary);
    background: var(--color-primary);
}

.post-content {
    padding: 20px;
    line-height: 1.9; word-break: break-word;
    min-height: 300px;
}
.post-content img { border-radius: 6px; }
.post-files {
    margin-top: 24px;
    display: flex; flex-direction: column;
     gap: 10px;
}
.post-files ul { 
    padding: 16px;
    flex: 1;
    background: #F6F9FD; border-radius: 8px;
}

.post-files ul > li {
    display: flex;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid var(--color-border);
}

.post-files ul > li a img {margin-right: 3px;}

.post-files ul > li:hover a {
    text-decoration: underline;
}
.post-show .form-actions:last-of-type {margin-top: 20px;}
.post-show .form-actions .btn {max-width: fit-content; min-width: 120px;}
.post-show .form-actions .btn-back {width: 100%; max-width: 120px;}

@media (max-width: 768px) {
    .post-show .form-actions {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .post-show .form-actions .btn {width: 100%; max-width: 100%;}
}

.post-info-list {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.post-info-list > li {
    display: inherit;
    gap: 10px;
}

.post-info-list > li label {
    font-weight: 400;
    font-size: 14px;
    color: #797979;
    min-width: 80px;
    cursor: default;
}

.post-info-list > li span {
    font-size: 14px;
    color: var(--color-text);
}





/* 문의하기 리스트 비로그인시 문구 style */

.lms-guide.inquery {
    width: 100%;
    padding: 20px 30px;
    border-radius: 14px;
    background: #f4f6fc;
    color: var(--color-text);
    border: 1px solid var(--color-border);
}

.lms-guide.inquery .lms-guide-content {
    padding-left: 15px;
    border-left: 2px solid var(--color-primary);
}

.lms-guide.inquery .lms-guide-content ul {
    margin: 0;
}

.lms-guide.inquery .lms-guide-content li {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: -5%;
    font-weight: 600;
}

.lms-guide.inquery .lms-guide-content li:not(:last-child) {
    margin-bottom: 10px;
}


/* 공지사항/자료실/일반 게시판 쓰기 버튼 커스텀 스타일 board/write.blade.php */
.write-form-actions .btn {
    width: 100%; max-width: 120px;
}
.write-form-actions:last-of-type {
    margin-top: 20px;
}

@media (max-width: 768px) {
    .write-form-actions {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .write-form-actions .btn {width: 100%; max-width: 100%;}
}


/* 페이지네이션 — Paginator::defaultView()로 앱 전체에 등록되어 있어(vendor/pagination/custom.blade.php)
   게시판뿐 아니라 커뮤니티/문의 등 목록이 있는 모든 화면에서 함께 쓴다. */

.pagination { display: flex; gap: 8px; justify-content: center; align-items: center; margin-top: 24px;}

.pagination_nums {
    display: flex; gap: 8px; justify-content: center; align-items: center; list-style: none; padding: 0;
}

.pagination .next svg {
    transform: rotate(180deg);
}

.pagination a, .pagination span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    /* border: 1px solid var(--color-border);
    border-radius: 50%; */
    color: var(--color-text);
    /* font-size: 0.95rem; */
    font-size: clamp(15px, 1rem, 16px);
    transition: .15s;
    border-radius: 10px;
}

.pagination a:hover {
    border-color: var(--color-primary); color: #fff; text-decoration: none;
    background: var(--color-primary);
}
.pagination .disabled span {
    color: var(--color-border); border-color: var(--color-border);
    cursor: no-drop;
}
.pagination .numbers.active span { background: var(--color-primary); color: #fff; border-color: var(--color-primary); font-weight: 700; }


.pagination .button_box {
    display: flex; gap: 8px;
    justify-content: center; align-items: center;
}


.mob-nums {display: none;}

@media (max-width: 768px) {
    .pc-nums {display: none;}
    .mob-nums {display: flex;}
    .pagination {
        flex-wrap: wrap;
    }

    .pagination .pagination_nums.mob-nums {
        width: 100%;
        order: 1;
    }

    .pagination .button_box {
        width: fit-content;
        order: 2;
    }
}

@media (max-width: 650px) {
    .pagination a, .pagination span {
        width: 35px;
        height: 35px;
    }
}


.btn-link { background: none; border: none; padding: 0; color: var(--color-text-muted); font-size: 0.82rem; cursor: pointer; text-decoration: underline; }
.btn-link-danger { color: var(--color-danger); }

/* 폼 보조 */
.form-row { display: flex; gap: 12px; }
.form-row > * { flex: 1; }

.form-group.row {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.insert-row {
    display: flex;
    align-items: center;
    gap: 5px;
}

.insert-row > label {
    min-width: 160px;
    padding-left: 10px;
    font-size: 16px;
    color: var(--color-text);
    font-weight: 500;
    letter-spacing: -5%;
    line-height: 1.2;
    margin-bottom: 0;
}

.insert-row > input {
    width: 100%;
    max-width: 400px;
}

.insert-row.title > input {max-width: 100%;}


.field-error { 
    color: var(--color-danger); margin: 4px 0 0;
    font-size: 15px;
}

.form-group.row .field-error {
    margin-left: 10px;
}

@media (max-width: 1250px) {
    .insert-row > label {
        min-width: 120px;
    }
}

@media (max-width: 768px) {
    .form-row {flex-direction: column;}
    .insert-row {
        flex-direction: column;
        align-items: start;
    }
    .insert-row > input {
        max-width: 100%;
    }
}



/* auth start @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ */


.auth_sec {
    display: flex;
    flex-direction: column;
    gap: 50px;
    align-items: center;
    position: relative;
    padding-bottom: 130px;
}

.auth_sec .auth-form {
    width: 100%;
    max-width: 500px;
}

.auth_sec .auth-form .insert_form .form-group > label {
    font-size: 16px;
    color: var(--color-text);
    font-weight: 500;
    line-height: 1;
    letter-spacing: -5%;
}

.auth_sec .auth-form .insert_form .form-group {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}


/* 로그인 페이지 start ------------------------------------------- */

.login_sec > * {
    position: relative;
    z-index: 2;
}

.login_sec::before {
    content:'';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 600px;
    height: 400px;
    background: url('/images/business_pages/business_bg.png') no-repeat center center / cover;
    opacity: 0.5;
    z-index: 1;
}

.login_sec .lms-guide {
    width: 100%;
    padding: 20px 30px;
    border-radius: 14px;
    background: #f4f6fc;
    color: var(--color-text);
    border: 1px solid var(--color-border);
}

.login_sec .lms-guide-title {
    font-size: clamp(18px, 2rem, 20px);
    line-height: 1.5;
    font-weight: 500;
    letter-spacing: -5%;
    color: #1D1D1F;
    font-family: var(--font-SCDream);
}

.login_sec .lms-guide-title strong {
    background: linear-gradient(180deg, #2E6ADF 0%, #0E26B9 100%);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    font-weight: 700;
}

.login_sec .lms-guide-content {
    margin-top: 18px;
    padding-left: 15px;
    border-left: 2px solid var(--color-primary);
}

.login_sec .lms-guide-content h4 {
    margin: 0 0 5px;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 700;
}

.login_sec .lms-guide-content ul {
    margin: 0;
    padding-left: 20px;
}

.login_sec .lms-guide-content li {
    padding-left: 1px;
    font-size: 14px;
    line-height: 1.8;
    letter-spacing: -0.35px;
    position: relative;
}

.login_sec .lms-guide-content li::before {
    content:'';
    position: absolute;
    top: 0.75em;
    left: -10px;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: var(--color-text);
}

.login_sec .lms-signup-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    /* min-height: 45px; */
    margin-top: 20px;
    padding: 11px 15px;
    border: 2px solid transparent;
    border-radius: 15px;
    background:
        linear-gradient(#fff, #fff) padding-box,
        linear-gradient(100deg, #1bc9bb, #1767ff) border-box;
    box-sizing: border-box;
    color: #222;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: -5%;
    width: 100%;
    max-width: 174px;
    transition:
        color 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.login_sec .lms-signup-link svg {
    width: 19px;
    height: 19px;
    color: #797979;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.login_sec .lms-signup-link:hover {
    color: var(--color-primary);
    box-shadow: 0 5px 14px rgb(23 103 255 / 14%);
    transform: translateY(-1px);
}

.login_sec .lms-signup-link:focus-visible {
    outline: 3px solid rgb(23 103 255 / 25%);
    outline-offset: 3px;
}

/* ---------- */

.login_sec .auth-form .auto_login > input {
    margin-right: 5px;
}

.login_sec button.login-action {
    width: 100%;
    max-width: 100%;
    border-radius: 15px;
    background: var(--color-primary);
    color: #fff;
    padding: 20px 5px;
    font-size: clamp(18px, 1.25rem, 20px);
    font-weight: 700;
    line-height: 1;
    transition:
        color 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.login_sec button.login-action:hover {
    /* color: var(--color-primary); */
    box-shadow: 0 5px 14px rgb(23 103 255 / 14%);
    transform: translateY(-1px);
}

.login_sec button.login-action:focus-visible {
    outline: 3px solid rgb(23 103 255 / 25%);
    outline-offset: 3px;
}

.login_sec .login-form .sub_service {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
}

.login_sec .login-form .sub_service .auto_login {
    font-size: clamp(14px, 1rem, 16px);
    margin-bottom: 0;
}

.login_sec .sub_service .find_action_box {
    display: flex; gap: 5px;
}

.login_sec .sub_service .find_action_box > a {
    font-size: clamp(14px, 1rem, 16px);
    color: var(--color-text);
    font-weight: 500;
}

.login_sec .sub_service .find_action_box > a:hover {
    text-decoration: underline;
}


@media (max-width: 992px) {
    .login_sec {padding-bottom: 40px; gap: 30px;}
    .login_sec .lms-guide {order: 2}
    .login_sec .login-form {order: 1;}
    .login_sec::before {display: none;}
}

@media (max-width: 768px) {
    .login_sec .lms-guide {
        padding: 20px;
        border-radius: 12px;
    }

    .login_sec .lms-guide-title {
        font-size: 18px;
    }

    .login_sec .lms-guide-content {
        margin-top: 15px;
        padding-left: 0;
        border-left: none;
        padding: 15px 10px;
        background: #e2e2eb;
        border-radius: 10px;
    }

    .login_sec .lms-guide-content ul {padding-left: 14px;}

    .login_sec .lms-guide-content li {
        font-size: 14px;
        line-height: 1.7;
        color: #4d4a4a;
        font-weight: 500;
    }
    .login_sec .lms-guide-content li:not(:last-child) {
        margin-bottom: 10px;
    }

    .login_sec .lms-signup-link {
        margin-top: 20px;
        font-size: 18px;
        max-width: 100%;
        justify-content: space-between;
    }

}

/* 로그인 페이지 end --------------------------------------------- */


/* 아이디/비번찾기/비번재설정 start --------------------------------------------- */

.findAuth_sec .lms-guide {
    width: 100%;
    padding: 20px 30px;
    border-radius: 14px;
    background: #f4f6fc;
    color: var(--color-text);
    border: 1px solid var(--color-border);
}

.findAuth_sec .lms-guide-content {
    padding-left: 15px;
    border-left: 2px solid var(--color-primary);
}

.findAuth_sec .lms-guide-content ul {
    margin: 0;
}

.findAuth_sec .lms-guide-content li {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: -5%;
    font-weight: 600;
}

.findAuth_sec .findAuth-form .form-actions {
    margin-top: 20px;
    flex-direction: column;
    gap: 10px;
}

.findAuth_sec .findAuth-form .form-actions .btn-primary {
    max-width: 100%;
}

/* 아이디/비번찾기/비번재설정 end --------------------------------------------- */


/* 회원가입 start 
register_sec 클래스만 다른 auth 폼들도 몇개 공유하고 있음.
---------------------------------------------------- */


.register_sec .txt1 {
    color: var(--color-text-muted);
    font-size: clamp(14px, 1rem, 16px);
    line-height: 1.4;
}

.register_sec .solo-title {
    font-size: clamp(16px, 1.25rem, 20px);
    font-family: var(--font-SCDream);
    line-height: 1.4;
    font-weight: 500;
    color: #797979;
}

.register_sec .lms-guide {
    width: 100%;
    padding: 20px 30px;
    border-radius: 14px;
    background: #f4f6fc;
    color: var(--color-text);
    border: 1px solid var(--color-border);
    margin-bottom: 20px;
}

.register_sec .lms-guide-content li {
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: -5%;
    font-weight: 600;
}


.register_sec .agree_box {margin-top: 50px;}

.register_sec .agree_box .title_box {
    margin-bottom: 10px;
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
    align-items: flex-end;
}

.register_sec .agree_box .title_box h5 {
    font-size: clamp(22px, 1.5rem, 24px);
    font-weight: 600;
}


.register_sec .form-group .agree_check_wrap {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}

.register_sec .agree_check_wrap .check_item {
    border: 1px solid var(--color-border);
    border-radius: 15px;
    padding: 20px;
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
}

.register_sec .check_item label {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 5px;
    padding-left: 0;
    flex: 1;
}
.register_sec .check_item label input {display: none;}

.register_sec .check_item label .input_icon {
    display: inline-block;
    width: 23px;
    min-width: 23px;
    height: 23px;
    border-radius: 50%;
    border: 1px solid #ccc;
    background: #fff;
}

.register_sec .agree_check_wrap .check_item a {color: #797979;}
.register_sec .agree_check_wrap .check_item a:hover {
    text-decoration: underline;
}

.register_sec .check_item label input:checked + .input_icon {
    border-color: transparent;
    background: url('/images/check_icon.png') no-repeat center center / cover;
}


@media (max-width: 768px) {
    .register_sec .form-row.phone {
        flex-direction: row;
        width: 100%;
    }

    .register_sec .form-row.phone #phone_country,
    .register_sec .form-row.phone #phone {
        max-width: 100%;
    }
}

@media (max-width: 500px) {
    .register_sec .form-row.phone {
        flex-direction: column;
    }

    .register_sec .form-row.phone #phone_country {
        max-width: 100% !important;
    }
}


@media (max-width: 380px) {
    .register_sec .agree_check_wrap .check_item {
        flex-direction: column;
        align-items:flex-start;
        gap: 0;
    }

    .register_sec .check_item label {
        width: 100%;
        padding-bottom: 10px;
        margin-bottom: 10px;
        border-bottom: 1px solid var(--color-border);
    }

    .register_sec .agree_check_wrap .check_item a {align-self: end; font-size: 13px;}
}

/* 회원가입 end ---------------------------------------------------- */


/* 휴면계정안내 start */
.register_sec.dormant .title_box {
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 40px 0;
}

.register_sec.dormant .form-group {
    width: 100%;
    max-width: 500px;
    margin: 20px auto;
}

.register_sec.dormant .form-actions {
    width: 100%;
    max-width: 500px;
    flex-direction: column;
    align-items: center;
    margin: 40px auto 0;
}

.register_sec.dormant .form-actions .btn {
    max-width: 100%;
}

/* 휴면계정안내 end */


/* 회원가입 완료 start ---------------------------------------------------- */
.register-complete {
    display: flex;
    flex-direction: column;
    gap: 3.75rem;
    align-items: center;
    text-align: center;
}

.register-complete > img {
    width: 60px;
}

.register-complete > h2 {
    font-size: clamp(25px, 1.825rem, 30px);
    font-weight: 600;
    line-height: 1.4;
    font-family: var(--font-SCDream);
}

.register-complete > p {
    font-size: clamp(14px, 1.25rem, 20px);
    color: #000;
    line-height: 1.8;
    font-weight: 500;
}

.register-complete .form-actions {
    margin-top: 0;
    flex-direction: column;
    width: 100%;
    max-width: 500px;
}

.register-complete .form-actions .btn {
    max-width: 100%;
}



/* 회원가입 완료 end ---------------------------------------------------- */


/* auth end @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ */




/* 마이페이지 start @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ */

.mypage_sec {} 

.mypage_sec .field_flex {
    display: flex;
    gap: 10px;
    align-items: center;
}

.mypage_sec .field_flex .field_unit {
    display: flex;
    gap: 10px;
}

.mypage_sec .field_flex .btn {max-width: 120px;}

.delete_account {margin-top: 100px;}

.delete_account .delete-title {
    font-size: 20px;
    color: var(--color-text);
    line-height: 1.8;
    font-weight: 500;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--color-text);
}

@media (max-width: 768px) {
    .mypage_sec .field_flex {
        justify-content: center;
        flex-direction: column;
    }

    .delete_account {margin-top: 40px;} 

    .delete_account .btn {max-width: 100%; width: 100%;} 
}

.memo_list {
    padding: 20px 10px;
}

.memo_list > li {
    padding-left: 20px;
    position: relative;
    font-size: clamp(14px, 1rem, 16px);
    font-weight: 500;
    line-height: 1.4;
    color: #797979;
}

.memo_list > li:not(:last-child) {
    margin-bottom: 4px;
}

.memo_list > li::before {
    content: '';
    position: absolute;
    top: 0.55em;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #797979;
    left: 9px;
}



/* 사이트맵 start -------------------------------------------------*/

/* 사이트맵 영역 */
.sitemap-tree {
    width: 100%;
    color: #222;
}

.sitemap-tree,
.sitemap-tree * {
    box-sizing: border-box;
}

.sitemap-tree > .sec_wrapper {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
}

.sitemap-tree > .sec_wrapper > li > a {
    width: fit-content;
    margin: 0 0 10px;
}



/* 그룹 제목 */
.sitemap-title {
    min-height: 60px;
    padding: 0 20px;
    display: flex;
    align-items: center;
    background-color: #fff;
    border-left: 3px solid #0866e5;
    color: #0866e5;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.3;
}

/* 메뉴 목록 */
.sitemap-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

/* 빈 열이 생겨도 각 항목 크기를 동일하게 유지 */
.sitemap-list li {
    min-width: 0;
}

.sitemap-list a {
    width: 100%;
    min-height: 64px;
    padding: 15px 29px;
    display: flex;
    align-items: center;
    background-color: #fff;
    border: 1px solid #d9d9d9;
    border-radius: 14px;
    color: #222;
    font-size: 19px;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none;
    transition:
        color 0.2s ease,
        border-color 0.2s ease,
        background-color 0.2s ease,
        transform 0.2s ease;
}

.sitemap-list a:hover {
    color: #0866e5;
    border-color: #0866e5;
    background-color: #f5f9ff;
    transform: translateY(-2px);
}

.sitemap-list a:focus-visible {
    outline: 3px solid rgba(8, 102, 229, 0.35);
    outline-offset: 2px;
}

/* 태블릿 */
@media (max-width: 900px) {
    .sitemap-tree > .sec_wrapper {
        gap: 24px;
    }

    .sitemap-title {
        min-height: 56px;
        padding: 0 18px;
        font-size: 24px;
    }

    .sitemap-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .sitemap-list a {
        min-height: 58px;
        padding: 13px 22px;
        font-size: 17px;
    }
}

/* 모바일 */
@media (max-width: 600px) {
    .sitemap-tree > .sec_wrapper {
        gap: 20px;
    }

    .sitemap-title {
        min-height: 52px;
        margin-bottom: 8px;
        padding: 0 15px;
        font-size: 21px;
    }

    .sitemap-list {
        grid-template-columns: 1fr;
        gap: 8px;
        padding: 0 12px;
    }

    .sitemap-list a {
        min-height: 52px;
        padding: 12px 17px;
        border-radius: 10px;
        font-size: 16px;
    }
}

/* 사이트맵 end -------------------------------------------------*/




/* 마이페이지 end @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ */




/* 교육 과정  -------------------------------------------------*/


/* 전체과정 start show /views/course/show.blade.php */
/* post-header style이 겹쳐서 여기에 교육 페이지용으로 따로 작성*/
.edu-show .post-header {
    flex-direction: row;
    justify-content: space-between;
    gap: 30px;
    border-bottom: 1px solid var(--color-border);
}

.edu-show .post-header .about {
    display: flex;
    gap: 20px;
}

.edu-show .post-header .about > img {
    width: 100%;
    max-width: 360px;
    height: auto;
    border-radius: 10px;
    object-fit: contain;
}

.edu-show .post-header .post-title {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.edu-show .post-header .content {
    flex-direction: column;
}

.edu-show .post-header .post-title > span {
    font-size: clamp(20px, 1.5rem, 24px);
    line-height: 1.2;
    letter-spacing: -5%;
    font-weight: 700;
}

/* 링크 없는 btn은 hover 비활성화 */
.edu-show :is(
    .badge-success:hover,
    .badge-gray:hover,
    .badge-warning:hover
) {
    transform: unset;
    box-shadow: unset;
}

/* 
    교육 과정 오프라인 타입 스타일 course/show.blade.php 
    보드 리스트 css는 board.css에 작업.
*/
.edu-show.offline .post-header .about > img {
    display: none;
}

/* 결제 페이지 course/enroll.blade.php  */
.edu-show.enroll .enroll-itemBox {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    margin-top: 20px;
}
.edu-show.enroll .enroll-item {
    padding: 20px;
    border-radius: 15px;
    border: 1px solid var(--color-border);
}

.edu-show.enroll .enroll-item > strong {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 10px;
    display: inline-block;
}

.edu-show.enroll .enroll-item > strong b {
    color: var(--color-primary);

}


@media (max-width: 1349px) {
    .edu-show .post-header {flex-direction: column;}
    .post-header .apply_box {gap: 10px;}
    .post-header .apply_box .btn {padding: 20px 10px;}
}

@media (max-width: 1250px) {
    .edu-show .post-header .about {
        flex-direction: column;
        align-items: center;
    }

    .edu-show .post-header .content {
        width: 100%;
    }

    .edu-show .post-header .about > img {
        max-width: 100%;
    }
}

@media (max-width: 768px) {
    .edu-show .post-header {
        padding: 0 0 20px;
    }

    .edu-show.enroll .form-actions {
        flex-direction: column;
        gap: 10px;
    }

    .edu-show.enroll .form-actions > * {
        width: 100%;
        max-width: 100%;
    }

    .edu-show.enroll .form-actions > .btn-back {order: 2;}
}


/* 전체과정 end */


/* 교육 일정 */
.schedule table.board-list td.col-title {
    padding-left: 20px !important;
    padding-right: 20px !important;
}
.schedule table.board-list td.col-title a {
    -webkit-line-clamp: 3;
    white-space: unset;
}

/* 교육 일정 end */





/* 교육 과정 end  -------------------------------------------------*/


/* 온라인 강의실 start  -------------------------------------------------*/




/* 온라인 강의실 end  -------------------------------------------------*/



/* 사업소개 business (사업개요, 교육분야, 운영 안내) start ------------- */


/* 공유 스타일 */
.business_sec {
    width: 100%;
    position: relative;
    font-family:'Pretendard', sans-serif;
    /* margin-bottom: 80px; */
    min-width: 0;
    max-width: 100%;
    /* overflow: hidden; */
}

.business_sec .title_box {
    display: flex;
    flex-direction: column;
    gap: 15px;
    align-items: center;
    text-align: center;
    margin-bottom: 60px;
}

.business_sec .title_box span {
    color: var(--color-primary);
    font-weight: 700;
    font-size: clamp(15px, .0625rem, 17px); /* 17px */
    letter-spacing: -3%;
    text-transform: uppercase;
}

.business_sec .title_box h3 {
    color: var(--color-text);
    font-weight: 700;
    font-size: clamp(30px, 2.625rem, 42px); /* 42px */
    letter-spacing: -3%;
}

.business_sec .title_box > .text1 {
    color: var(--color-text);
    font-weight: 500;
    font-size: clamp(16px, 1.25rem, 20px); /* 20px */
    letter-spacing: -3%;
    text-align: center;
    line-height: 1.6;
}

/* 반응형 공용 */
@media (max-width: 992px) {
    /* .business_sec {margin-bottom: 60px;} */
    .business_sec .title_box {margin-bottom: 40px;}
}


/* 사업 개요 */
.overview {
    padding-top: clamp(40px, 3.75rem, 60px);
}

.overview .img_box .banner {width: 100%;}
.overview .img_box .banner.pc {display: none;}
.overview .img_box .banner.mob {display: block;}

@media (min-width: 769px) {
    .overview .img_box .banner.pc {display: block;}
    .overview .img_box .banner.mob {display: none;}
}

/* overview 공용 스타일 */
.overview .itemBox {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(80px, 11.25rem, 180px);
}

.overview .itemBox .item .title_box.it {
    flex-direction: row;
    gap: max(30px, 3.75rem); /* 60px */
    margin-bottom: 40px;
}

.overview .itemBox .item .title_box.it .unit {
    display: flex;
    flex-direction: column;
    gap: 10px;
    text-align: left;
}

.overview .itemBox .item .title_box.it .unit h3 {white-space: nowrap;}

.overview .itemBox .item .title_box.it .text1 {
    text-align: left;
    align-self: end;
    display: inline-block;
    margin-top: 35px;
}
/* overview 공용 스타일 end */

.overview::before {
    content:'';
    position: absolute;
    width: 600px;
    height: 398px;
    background: url('/images/business_pages/business_bg.png') no-repeat center center / cover;
    top: 51%;
    right: 0;
    z-index: 1;
}

.overview .title_box .text1 {
    margin-top: 25px;
}

.overview .itemBox .it01 .flex-table {
    display: grid;
    grid-template-columns: 1fr;
    border-top: 1px solid #1D1D1F;
}

.overview .itemBox .it01 .flex-table .flex-it {
    border-bottom: 1px solid var(--color-border);
    display: flex;
}

.overview .itemBox .it01 .flex-table .flex-it > * {
    padding: 20px;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: -5%;
    color: var(--color-text);
    display: flex;
    align-items: center;
}

.overview .itemBox .it01 .flex-table .flex-it > dt {
    background: #F2F5FC;
    border-right: 1px solid var(--color-border);
    min-width: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px 10px;
    min-height: 64px;
}

.overview .itemBox .it01 .flex-table .flex-it > dd {
    background: #fff;
}

.overview .itemBox .it01 .flex-table .flex-it:first-child > dd {
    font-size: clamp(18px, 1.25rem, 20px);
    line-height: 1.2;
}

.overview .itemBox .it01 .flex-table .flex-it:first-child > dd b {
    color: var(--color-primary);
}


.overview .itemBox .it02 {
    display: flex;
    gap: 90px;
    align-items: center;
}

.overview .itemBox .it02 .title_box.it {
    flex-direction: column;
    gap: 40px;
    align-items: start;
}

.overview .itemBox .it02 .title_box.it .text1 {
    align-self: unset;
    margin-top: 0;
}

.overview .itemBox .it02 > img {
    width: 100%;
    max-width: clamp(350px, 46.6%, 536px);
}

.overview .itemBox .it03 > img {
    margin: 0 auto;
}

.overview .itemBox .it03 > img.pc {display: none;}
.overview .itemBox .it03 > img.mob {display: block;}

@media (max-width: 1250px) {
    .overview .itemBox .it02 {
        flex-direction: column;
        gap: 50px;
    }

    .overview .itemBox .it02 .title_box.it {
        margin-bottom: 0;
    }

    .overview .itemBox .it02 > img {
        max-width: 500px;
    }
}

@media (min-width: 651px) {
    .overview .itemBox .it03 > img.pc {display: block;}
    .overview .itemBox .it03 > img.mob {display: none;}
}



.overview .itemBox .it04 .content_box {
    --share-gap: 20px;

    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--share-gap);
}

.overview .itemBox .it04 .content_box .unit {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.overview .itemBox .it04 .content_box .unit > * {
    padding: 17px 10px;
}

.overview .itemBox .it04 .content_box .unit dt {
    border-radius: 100px;
    background: #333333;
    text-align: center;
    color: #fff;
    font-size: clamp(18px, 1.5rem, 24px);
    letter-spacing: -5%;
    font-weight: 500;
}

.overview .itemBox .it04 .content_box .unit dd {
    border-radius: 20px;
    background: #F2F5FC;
    text-align: center;
    display: flex; align-items: center; justify-content: center;
    color: var(--color-text);
    font-size: clamp(18px, 1.5rem, 24px);
    letter-spacing: -5%;
    font-weight: 500;
    border: 1px solid var(--color-border);
}

@media (min-width: 651px) {
    .overview .itemBox .it04 .content_box .unit {
        max-width: 320px;
    }
    .overview .itemBox .it04 .content_box .unit:nth-child(-n + 3) {
        width: calc((100% - (var(--share-gap) * 2)) / 3);
    }

    .overview .itemBox .it04 .content_box .unit:nth-child(n + 4):nth-child(-n + 5) {
        width: calc((100% - var(--share-gap)) / 2);
    }

    .overview .itemBox .it04 .content_box .unit dd {
        min-height: 120px;
    }
}

.overview .itemBox .it05 .content_box {
    display: flex;
    --share-gap: 10px;
    gap: var(--share-gap);
}

.overview .itemBox .it05 .content_box .unit {
    border: 1px solid var(--color-border);
    background: #fff;
    padding: 30px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    border-radius: 20px;
    text-align: center;
    flex: 1;
}

.overview .itemBox .it05 .content_box .unit dt {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: center;
}

.overview .itemBox .it05 .content_box .unit dt h5 {
    font-size: clamp(18px, 1.5rem, 24px);
    font-weight: 600;
    letter-spacing: -5%;
}

.overview .itemBox .it05 .content_box .unit dd {
    color: #797979;
    font-size: clamp(14px, 1rem, 16px);
    font-weight: 500;
    letter-spacing: -5%;
    line-height: 1.5;
}

@media (max-width: 1340px) {
    .overview br {display: none;}
}

@media (max-width: 1260px) {
    .overview .itemBox .it05 .content_box {
        flex-wrap: wrap;
        justify-content: center;
    }

    .overview .itemBox .it05 .content_box .unit {flex: unset;}
}

@media (769px <= width <= 1260px) {
    .overview .itemBox .it05 .content_box .unit {max-width: 222px;}
    .overview .itemBox .it05 .content_box .unit:nth-child(-n+3) {
        width: calc((100% - calc(var(--share-gap) * 2)) / 3);
    }

    .overview .itemBox .it05 .content_box .unit:nth-child(n + 4):nth-child(-n + 5) {
        width: calc((100% - var(--share-gap)) / 2);
    }
}


@media (max-width: 992px) {
    /* .overview {padding-top: 60px;} */
    .overview .itemBox {gap: 80px;}
}

@media (max-width: 768px) {
    .overview::before {
       display: none;
    }
    .overview .itemBox .item .title_box.it {
        flex-direction: column;
        gap: 20px;
    }

    .overview .itemBox .item .title_box.it .unit {text-align: center;}

    .overview .itemBox .item .title_box.it .text1 {
        margin-top: 0;
        text-align: center;
    }

    .overview .itemBox .it02 {
        flex-direction: column;
        gap: 40px;
        align-items: center;
    }

    .overview .itemBox .it02 .title_box.it {
        align-items: center;
        margin-bottom: 0;
    }

    .overview .itemBox .it02 > img {
        max-width: 500px;
    }

    .overview .itemBox .it05 .content_box .unit {
        gap: 15px;
        padding: 15px 10px;
    }
    .overview .itemBox .it05 .content_box .unit:not(:last-child) {
        width: calc((100% - var(--share-gap)) / 2);
    }

    .overview .itemBox .it05 .content_box .unit:last-child {
        width: 100%;
    }
}

@media (max-width: 650px) {
    .overview .itemBox .it01 .flex-table .flex-it {
        flex-direction: column;
    }
    .overview .itemBox .it01 .flex-table .flex-it > dt {
        border-right: none;
    }
    .overview .itemBox .it01 .flex-table .flex-it > dd {
        text-align: center;
        justify-content: center;
    }

    .overview .itemBox .it01 .flex-table .flex-it:first-child > dd {
        display: flex;
        flex-direction: column;
        align-items: center;
    }


    .overview .itemBox .it04 .content_box {
        flex-wrap: unset;
        flex-direction: column;
    }

    .overview .itemBox .it04 .content_box .unit {width: 100%;}

    .overview .itemBox .it04 .content_box .unit dd {padding: 30px 10px;}
}

/* 사업 개요 end */


/* 교육분야 소개 */
.programs > * {
    position: relative;
    z-index: 2;
}
.programs::before {
    content:'';
    position: absolute;
    width: 600px;
    height: 398px;
    background: url('/images/business_pages/business_bg.png') no-repeat center center / cover;
    top: 14%;
    right: 0;
    z-index: 1;
}

.programs .title_box > .text1 {
    margin-top: 25px;
}

.programs .itemBox {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 60px;
    max-width: 1150px;
}

.programs .itemBox .item {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.programs .itemBox .item .item_title_box {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.programs .itemBox .item .item_title_box h3 {
    color: var(--color-text);
    font-weight: 700;
    font-size: clamp(18px, 1.5rem, 24px); /* 24px */
    letter-spacing: -5%;
    line-height: 1.2;
}

.programs .itemBox .item .item_title_box .dote_txt {
    color: var(--color-text);
    font-weight: 500;
    font-size: clamp(15px, 1rem, 16px);
    letter-spacing: -5%;
    line-height: 1.5;
    position: relative;
    padding-left: 20px;
}

.programs .itemBox .item .item_title_box .dote_txt::before {
    content:'';
    position: absolute;
    top: 0.6em;
    left: 6px;
    width: 4px;
    height: 4px;
    border-radius: 100%;
    background: var(--color-text);
}

.programs .itemBox table {
    width: 100%;
    border-top: 1px solid var(--color-text);
}

.programs .itemBox table th:nth-child(1) {width: 12.17%;}
.programs .itemBox table th:nth-child(2) {width: 43.91%;}
.programs .itemBox table th:nth-child(3) {width: 43.91%;}

.programs .itemBox table :is(th, td) {
    padding: 20px 10px 20px 20px;
    font-size: clamp(14px, 1rem, 16px); /* 16px */
    color: var(--color-text);
    letter-spacing: -5%;
    line-height: 1.5;
    font-weight: 500;
}

.programs .itemBox table th {
    background: #F2F5FC;
    padding: 20px 10px;
}

.programs .itemBox table tr > *:not(:last-child) {
    border-right: 1px solid var(--color-border);
}

.programs .itemBox table tr > * {
    border-bottom: 1px solid var(--color-border);
}

@media (max-width: 1400px) {
    .programs br {display: none;}
}

@media (max-width: 992px) {
    .programs .itemBox table th:nth-child(1) {width: 110px;}
    .business_sec .title_box {margin-bottom: 40px;}
}

@media (max-width: 650px) {

    .programs::before {
        left: 50%;
        right: unset;
        transform: translateX(-50%);
        width: clamp(300px, 92.31vw, 600px);
        height: clamp(199px, 61.23vw, 398px);
    }

    .programs .scroll_txt {
        display: block;
    }
    .programs .itemBox .table_wrap {
        width: 100%;
        overflow-x: auto;
        padding-bottom: 20px;
    }

    .programs .itemBox .table_wrap table {
        width: 100%;
        min-width: 600px;
    }

    .programs .itemBox table th {
        padding: 13px 10px;
    }
}

/* 교육분야 소개 end */


/* 운영 안내 */
.guide > * {
    position: relative;
    z-index: 2;
}
.guide::before {
    content:'';
    position: absolute;
    width: 600px;
    height: 398px;
    background: url('/images/business_pages/business_bg.png') no-repeat center center / cover;
    top: 20%;
    right: 0;
    z-index: 1;
}

.guide .title_long {
    background-color: #F6F9FD99;
    border-radius: 15px;
    border: 1px solid #efefef;
    padding: 20px clamp(20px, 1.875rem, 30px);
    margin-bottom: 20px;
}

.guide .title_long .line_box {
    position: relative;
    padding: 3px 0 3px 15px;
}

.guide .title_long .line_box::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 2px;
    height: 100%;
    background: linear-gradient(
        to bottom,
        #2E6ADF,
        #0E26B9
    );
}

.guide .title_long .line_box h3 {
    color: var(--color-text);
    font-weight: 600;
    font-size: clamp(15px, 1rem, 16px);
    letter-spacing: -5%;
    line-height: 1;
    margin-bottom: 8px;
}

.guide .title_long .line_box .dote_txt {
    color: var(--color-text);
    font-weight: 500;
    font-size: 14px;
    letter-spacing: -5%;
    line-height: 1.4;
    position: relative;
    padding-left: 18px;
}

.guide .title_long .line_box .dote_txt::before {
    content:'';
    position: absolute;
    top: 0.5em;
    left: 6px;
    width: 4px;
    height: 4px;
    border-radius: 100%;
    background: var(--color-text);
}

.guide .itemBox {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(40px, 3.75rem, 60px);
}

.guide .itemBox .item {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.guide .itemBox .item > h3 {
    font-size: clamp(20px, 1.5rem, 24px);
    color: var(--color-text);
    font-weight: 700;
    letter-spacing: -5%;
    line-height: 1.2;
}

.guide .itemBox .it01 figure {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.guide .itemBox .it01 figure .pc {display: none;}
.guide .itemBox .it01 figure .mob {display: block;}

@media (min-width: 651px) {
    .guide .itemBox .it01 figure .pc {display: block;}
    .guide .itemBox .it01 figure .mob {display: none;}
}


.guide .itemBox .it02 .suport_content {
    border: 1px solid var(--color-border);
    overflow: hidden;
    border-radius: 15px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}

.guide .itemBox .it02 .suport_content > li {
    width: 100%;
    padding: 30px 20px;
    background: #fff;
    display: flex;
    align-items: center;
    gap: 15px;
}

@media (min-width: 651px) {
    .guide .itemBox .it02 .suport_content > li:nth-child(odd) {
        border-right: 1px solid var(--color-border);
    }

    .guide .itemBox .it02 .suport_content > li:nth-child(-n + 2) {
        border-bottom: 1px solid var(--color-border);
    } 
}

.guide .itemBox .it02 .suport_content > li .unit {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.guide .itemBox .it02 .suport_content > li .unit h5 {
    font-size: clamp(18px, 1.5rem, 24px);
    color: var(--color-text);
    font-weight: 600;
    letter-spacing: -5%;
    line-height: 1.2;
}

.guide .itemBox .it02 .suport_content > li .unit p {
    font-size: clamp(14px, 1rem, 16px);
    color: #797979;
    font-weight: 500;
    letter-spacing: -5%;
    line-height: 1.4;
}


.guide .itemBox .it03 .content {
    border-top: 1px solid var(--color-border);
    padding: 20px 10px;
    display: flex;
    justify-content: space-between;
    gap: 40px;
}

.guide .itemBox .it03 .content .list > li.dote_txt {
    color: var(--color-text);
    font-weight: 500;
    font-size: clamp(16px, 1.25rem, 20px);
    letter-spacing: -5%;
    line-height: 1.6;
    padding-left: 20px;
    position: relative;
}

.guide .itemBox .it03 .content .list > li.dote_txt::before {
    content:'';
    position: absolute;
    top: 0.7em;
    left: 6px;
    width: 4px;
    height: 4px;
    border-radius: 100%;
    background: var(--color-text);
}

.guide .itemBox .it03 .content .link_btn {
    border-radius: 10px;
    background: #555555;
    padding: 20px 15px;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-width: 130px;
    height: fit-content;
}

@media (min-width: 769px) {
    .guide .itemBox .it03 .content .link_btn:hover {
        background: var(--color-primary);
    }
}

@media (max-width: 768px) {

    .guide .title_long {
        padding: 20px 10px;
    }

    .guide .itemBox .it03 .content {
        flex-direction: column;
        justify-content: center;
    }

    .guide .itemBox .it03 .content .link_btn {
        min-width: unset;
        width: 100%;
    }

    .guide .itemBox .it03 .content .link_btn:active {
        background: var(--color-primary);
    }

    .guide .itemBox .it03 .content .list > li:not(:last-child) {
        margin-bottom: 10px;
    }
}

@media (max-width: 650px) {
    .guide::before {
        left: 50%;
        right: unset;
        transform: translateX(-50%);
        width: clamp(300px, 92.31vw, 600px);
        height: clamp(199px, 61.23vw, 398px);
    }
    .guide .itemBox .it02 .suport_content {
        grid-template-columns: 1fr;
    }

    .guide .itemBox .it02 .suport_content > li {
        padding-left: 40px;
        border-bottom: 1px solid var(--color-border);
    }
}

@media (max-width: 480px) {
    .guide .itemBox .it02 .suport_content > li {
        padding-left: 20px;
        padding: 20px;
    }
}



/* 운영 안내 end */


/* 사업소개 business (사업개요, 교육분야, 운영 안내) end ------------- */