﻿@charset "utf-8";

/**
 * ============================================================================
 * RESPONSIVE-MOBILE.CSS - LMS 반응형 웹 모바일 스타일
 * ============================================================================
 *
 * 목적:
 *   - 모바일 viewport (≤767px)에 적용되는 페이지별 반응형 스타일
 *   -

/* ============================================================================
   통합된 Tablet + Mobile 스타일 (@media max-width: 768px)
   ============================================================================ */

@media (max-width: 767px) {

  header a,
  header button {
    min-height: var(--touch-target) !important;
    padding: 0px !important;
    display: inline-flex !important;
    align-items: flex-end !important;
    box-sizing: border-box !important;
  }



  #itbankHeader .topBanner {
    display: none;
  }

  #itbankHeader .cnb {
    height: 60px !important;
  }

  header .cnb .container {
    padding: 0 0 !important;
    align-items: center !important;
  }

  #itbankHeader .cnb .loginNav {
    display: none !important;
  }

  header .cnb h1 img {
    max-width: none !important;
    width: auto;
    height: 34px;
  }

  header .cnb h1 a.cb_logo{
  }
  header .cnb h1 a.cb_logo img {
    max-width: none !important;
    width: auto;
    height: 14px;
  }
  #itbankSection {
    max-width: 100% !important;
    overflow-x: hidden !important;
    display: flex;
    flex-direction: column;
  }

  .container .dft-top {
    display: flex !important;
    align-items: flex-start !important;
    margin-bottom: 24px !important;
    flex-direction: column !important;
  }

  .container .dft-top .sub {
    margin-left: 0px !important;
  }

  #itbankSection .main-learncoures {
    display: block !important;
  }

  .container {
    width: 92% !important;
  }

  #itbankHeader .gnb .depth1.lft>li {
    padding-right: 0px !important;
  }

  #itbankHeader .gnb .depth1>li>a {
    position: relative;
    color: #111;
    font-size: 14px !important;
    line-height: 1.2em;
  }

  #itbankSection .main-learning {
    padding: 40px 0 !important;
  }

  #itbankSection .main-subtit {
    font-size: 18px !important;
    margin-bottom: 8px;
  }

  #itbankSection .main-board .board-wrap ul li:nth-child(n+3) {
    display: none;
  }

  #itbankSection .main-learning .box02 ul {
    border-radius: 8px !important;
    padding: 12px 0;
  }

  #itbankSection .main-learning .box02 ul li b {
    font-size: 18px !important;
  }

  #itbankSection .main-learning .box02 ul li .inner {
    width: initial !important;
    padding: 12px 0 !important;
    font-size: 14px !important;
    margin: 0 24px !important;
  }

  #itbankSection .main-learning .box02 ul li a::after {
    right: 24px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 64px !important;
    height: 64px !important;
    margin-top: initial !important;
  }

  #itbankSection .main-learning .box02 ul li:first-of-type a::after,
  #itbankSection .main-learning .box02 ul li:last-of-type a::after {
    background-size: cover !important;
  }

  #itbankSection .main-learning .box03 .group .inner {
    margin-top: 16px !important;
  }

  /* 패딩 최소화 (50px → 15px, 16px → 12px) */
  #itbankSection .cart-wrap .top {
    padding: 0px !important;
    gap: var(--spacing-sm);
    justify-content: space-between;
    margin-bottom: 8px;
  }

  /* 전체 선택 영역: 체크박스와 라벨 간격 확보 */
  #itbankSection .cart-wrap .top .check-box {
    display: inline-flex !important;
    align-items: center !important;
    margin: var(--spacing-xxs) 8px 4px 0 !important;
    min-height: var(--touch-target);
  }

  /* 전체 선택 체크박스 숨기기 (커스텀 디자인 사용) */
  #itbankSection .cart-wrap .top .check-box input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
  }

  #itbankSection .check-box label,
  #itbankSection .radio-box-bk label,
  #itbankSection .radio-box label {
    min-height: initial !important;
  }

  #itbankSection .check-box,
  #itbankSection .check-box.check-active,
  #itbankSection .radio-box,
  #itbankSection .radio-box-bk {
    min-height: initial !important;
  }

  #itbankSection .consult-wrap .left-box table td div.ml10 {
    margin-left: initial !important;
  }

  /* 전체 선택 label 스타일 (커스텀 체크박스 표시) */
  #itbankSection .cart-wrap .top .check-box label {
    position: relative;
    padding-left: 32px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    min-height: var(--touch-target);
    line-height: 1.5;
    font-size: var(--font-sm);
  }

  #itbankSection .cart-wrap .lec-list li {
    padding: var(--spacing-lg) 12px;
  }

  #itbankSection .cart-wrap .total-box {
    padding: var(--spacing-lg) 12px;
  }

  /* 강의 항목: 체크박스 + 내용 세로 스택 */
  #itbankSection .cart-wrap .lec-list li>.flex {
    display: flex;
    flex-direction: row;
    gap: 12px;
  }

  /* 개별 아이템 체크박스 표시 강제 및 하단 간격 (mr50 → mb15) */
  #itbankSection .cart-wrap .lec-list .check-box.mr50 {
    display: flex !important;
    align-items: center !important;
    flex-shrink: 0 !important;
    min-width: 24px !important;
    width: auto;
    margin-right: 0 !important;
    margin-bottom: var(--spacing-md);
  }

  /* 개별 아이템 체크박스 input 강제 표시 및 크기 고정 */
  #itbankSection .cart-wrap .lec-list .check-box.mr50 input[type="checkbox"] {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 24px !important;
    height: 24px !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
    position: relative !important;
  }

  /* 강의 정보 gap 축소 (24px → 10px) */
  #itbankSection .cart-wrap .lec-list .l-info {
    gap: initial !important;
  }

  #itbankSection .cart-wrap .lec-list .price {
    margin-left: auto !important;
  }

  /* 폰트 크기 축소 (모바일 최적화) */
  #itbankSection .cart-wrap .lec-list .tit {
    font-size: var(--font-lg) !important;
    line-height: var(--lh-base);
  }

  #itbankSection .cart-wrap .lec-list .price .fin {
    font-size: var(--spacing-lg) !important;
  }

  #itbankSection .cart-wrap .total-box .price {
    text-align: right !important;
    margin-left: auto !important;
  }

  #itbankSection .cart-wrap .total-box .price .fin {
    font-size: var(--font-2xl) !important;
  }

  /* 버튼 영역: 세로 스택 + 100% width */
  #itbankSection .cart-wrap .flex.mt30 {
    flex-direction: column;
    gap: var(--spacing-sm);
  }

  #itbankSection .cart-wrap .flex.mt30 .btn {
    width: 100% !important;
    max-width: 100%;
    margin-left: 0 !important;
    min-height: var(--touch-button);
  }

  /* 선택삭제 버튼 크기 조정 */
  #itbankSection .cart-wrap .top .btn {
    min-height: 0px !important;
    height: initial !important;
    width: initial !important;
    font-size: 14px !important;
    min-width: initial !important;
    padding: 4px 8px !important;
  }

  /* ----- Next Section ----- */

  /* .faq-search 컨테이너 */
  #itbankSection .faq-wrap .faq-search {
    padding: var(--spacing-sm) !important;
    border-radius: var(--spacing-md) !important;
    display: none;
  }

  /* 검색 영역: 세로 스택 (상단: select, 하단: input + button) */
  #itbankSection .faq-wrap .faq-search .inner {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--spacing-sm) !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* select: 상단 전체 너비 */
  #itbankSection .faq-wrap .faq-search select {
    width: 100% !important;
    min-width: 100% !important;
    /* 드롭다운 최소 너비 */
    max-width: 100% !important;
    /* 드롭다운 최대 너비 */
    height: 50px !important;
    margin: 0 !important;
    font-size: var(--font-base) !important;
    /* iOS 자동 줌 방지 */
    min-height: var(--touch-target);
    box-sizing: border-box;
    overflow: hidden !important;
    /* 넘치는 내용 숨김 */
  }

  /* select 옵션 (드롭다운 목록) */
  #itbankSection .faq-wrap .faq-search select option {
    width: 100% !important;
    /* 옵션 너비 100% */
    min-width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    box-sizing: border-box;
  }

  /* input-box: 하단 전체 너비 */
  #itbankSection .faq-wrap .faq-search .input-box {
    display: flex !important;
    width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box;
  }

  /* input: 넓게 */
  #itbankSection .faq-wrap .faq-search .input-box input {
    flex-grow: 1 !important;
    width: 100% !important;
    height: 50px !important;
    min-height: var(--touch-target);
    font-size: var(--font-base) !important;
    /* iOS 자동 줌 방지 */
  }

  /* button: 우측 끝 44px */
  #itbankSection .faq-wrap .faq-search .input-box button {
    flex-shrink: 0 !important;
    width: var(--touch-target) !important;
    min-width: var(--touch-target) !important;
    height: var(--touch-target) !important;
    min-height: var(--touch-target) !important;
  }

  /* 카테고리 탭: 가로 스크롤 + 터치 드래그 */
  #itbankSection .faq-wrap .faq-tab {
    display: flex !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x mandatory !important;
    overscroll-behavior-x: none !important;
    flex-wrap: nowrap !important;
    scrollbar-width: none !important;
    padding: 0 10px;
    margin-bottom: 0px !important;
    margin-top: 12px;
  }


  #itbankSection .faq-wrap .faq-tab::-webkit-scrollbar {
    display: none !important;
  }

  #itbankSection .faq-wrap .faq-tab li {
    flex-shrink: 0 !important;
    scroll-snap-align: start !important;
    min-height: var(--touch-target);
    white-space: nowrap;
  }

  /* 카테고리 탭: 폰트 크기 유지, 패딩 축소 */
  #itbankSection .faq-wrap .faq-tab li a {
    padding: 10px 12px;
    font-size: var(--font-sm);
    line-height: initial;
  }

  .faq-wrap .tit-box {
    display: none;
  }

  /* FAQ 리스트: 패딩 및 폰트 크기 축소 */
  #itbankSection .faq-wrap .faq-list li {
    padding: var(--spacing-md) 10px !important;
  }

  #itbankSection .faq-wrap .faq-list .q-box {
    gap: 8px;
    min-height: var(--touch-target);
    display: flex;
    align-items: center;
    padding: 0px;
  }

  #itbankSection .faq-wrap .faq-list .q-box p {
    font-size: var(--font-base);
    width: 70%;
    line-height: 1.5;
  }

  #itbankSection .faq-wrap .faq-list .a-box .inner {
    padding: var(--spacing-md) 10px;
  }

  /* 페이지 제목 및 설명 */
  #itbankSection .faq-wrap .dft-top .toptit {
    font-size: var(--font-2xl);
  }

  #itbankSection .faq-wrap .dft-top .sub {
    font-size: var(--font-sm);
    line-height: var(--lh-relaxed);
  }

  /* 페이지네이션: 터치 타겟 확보 */
  #itbankSection .faq-wrap .paging-wrap ul {
    margin: 0 12px;
  }

  #itbankSection .faq-wrap .paging-wrap a {
    min-width: 32px;
    min-height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .faq-list li .q-box::after {
    display: block;
    position: absolute;
    right: 4px;
    top: 50%;
    width: 12px;
    height: 12px;
    border: solid #999;
    border-width: 2px 2px 0 0;
    transform: rotate(135deg) translateX(-50%);
    transition: transform 0.4s;
    content: "";
  }

  /* ----- Next Section ----- */

  /* --- 공통: h2 폰트 크기 및 패딩 축소 --- */
  #itbankSection .fullCnt1 h2,
  #itbankSection .fullCnt2 h2,
  #itbankSection .fullCnt3 h2,
  #itbankSection .fullCnt4 h2,
  #itbankSection .fullCnt5 h2,
  #itbankSection .fullCnt6 h2,
  #itbankSection .fullCnt7 h2,
  #itbankSection .fullCnt8 h2,
  #itbankSection .fullCnt9 h2 {
    font-size: 32px !important;
    padding: var(--spacing-xl) 0 !important;
  }

  /* 모든 컨테이너: 패딩 15px */
  #itbankSection .fullCnt1 .container,
  #itbankSection .fullCnt2 .container,
  #itbankSection .fullCnt3 .container,
  #itbankSection .fullCnt4 .container,
  #itbankSection .fullCnt5 .container,
  #itbankSection .fullCnt6 .container,
  #itbankSection .fullCnt7 .container,
  #itbankSection .fullCnt8 .container,
  #itbankSection .fullCnt9 .container {
    width: 100% !important;
    padding: 0 15px;
  }

  /* --- fullCnt1: Hero Section --- */
  /* textArea: position absolute → relative */
  #itbankSection .fullCnt1 .textArea {
    position: relative !important;
    top: auto !important;
    padding: var(--spacing-2xl) 15px 20px;
  }

  #itbankSection .fullCnt1 .textArea .p_style_01,
  #itbankSection .fullCnt1 .textArea .p_style_02 {
    font-size: var(--font-lg);
  }

  /* titleTxT: 70px → 32px */
  #itbankSection .fullCnt1 .titleTxT {
    font-size: 32px !important;
  }

  /* CTA 버튼: 100% width */
  #itbankSection .fullCnt1 .cont_btn_01 {
    position: relative !important;
    left: auto !important;
    bottom: auto !important;
    width: 100% !important;
    max-width: 320px;
    height: auto;
    margin: var(--spacing-lg) auto 40px;
    display: block;
  }

  #itbankSection .fullCnt1 .cont_btn_01 img {
    width: 100%;
    height: auto;
  }

  #itbankSection .fullCnt1>.container>img {
    width: 100%;
    height: auto;
  }

  /* --- fullCnt2: 혜택 섹션 (3개 카드 세로 스택) --- */
  #itbankSection .fullCnt2 .titleTxT {
    position: relative !important;
    top: auto !important;
    font-size: 32px !important;
    padding: var(--spacing-2xl) 15px 20px !important;
  }

  /* section: flexbox 세로 스택 */
  #itbankSection .fullCnt2 .section {
    position: relative !important;
    top: auto !important;
    flex-direction: column !important;
    margin: var(--spacing-lg) auto 40px;
    padding: 0 15px;
  }

  #itbankSection .fullCnt2 .item {
    width: 100% !important;
    padding: 0px !important;
    margin-bottom: var(--spacing-lg);
  }

  #itbankSection .fullCnt2 .item h3 {
    font-size: var(--spacing-lg);
  }

  #itbankSection .fullCnt2 .item p {
    font-size: var(--font-base);
  }

  /* 점 스타일 모바일에서 숨김 */
  #itbankSection .fullCnt2 .item::before {
    display: none;
  }

  #itbankSection .fullCnt2>.container>img {
    width: 100%;
    height: auto;
  }

  /* --- fullCnt3: 3개 카드 섹션 (세로 스택) --- */
  #itbankSection .fullCnt3 .container {
    height: auto;
  }

  #itbankSection .fullCnt3 .titleTxT {
    font-size: 32px !important;
    padding: var(--spacing-2xl) 15px 20px;
  }

  #itbankSection .fullCnt3 .section {
    flex-direction: column !important;
    height: auto;
    padding: 0 15px;
    margin-bottom: var(--spacing-xl);
  }

  #itbankSection .fullCnt3 .section .item {
    width: 100% !important;
    max-width: 360px;
    margin: 0 auto 20px;
  }

  #itbankSection .fullCnt3 .section .item img {
    width: 100%;
    height: auto;
  }

  #itbankSection .fullCnt3 .section .item figcaption dl dt h3 {
    font-size: var(--spacing-lg);
    margin-bottom: var(--spacing-md);
  }

  #itbankSection .fullCnt3 .section .item figcaption dl dd {
    font-size: var(--font-base);
  }

  #itbankSection .fullCnt3 .textArea {
    margin-top: var(--spacing-xl);
    padding: 0 15px;
  }

  #itbankSection .fullCnt3 .textArea h3 {
    font-size: var(--font-2xl);
    margin-bottom: var(--spacing-md);
  }

  #itbankSection .fullCnt3 .textArea p {
    font-size: var(--font-base);
    line-height: var(--lh-relaxed);
  }

  /* --- fullCnt4: Swiper 슬라이더 --- */
  #itbankSection .fullCnt4 {
    padding-bottom: var(--spacing-2xl);
  }

  #itbankSection .fullCnt4 .titleTxT {
    position: relative !important;
    top: auto !important;
    font-size: 32px !important;
    padding: var(--spacing-2xl) 15px 20px !important;
  }

  #itbankSection .fullCnt4 .swiper {
    position: relative !important;
    top: auto !important;
    width: 100% !important;
    margin: var(--spacing-lg) auto 40px;
    padding: 0 15px;
  }

  #itbankSection .fullCnt4 .mySwiper .swiper-slide {
    width: 100% !important;
    max-width: 360px;
    height: auto;
    padding: 50px 20px 60px;
  }

  #itbankSection .fullCnt4 .mySwiper .swiper-slide h3.lec_title {
    font-size: var(--font-lg);
  }

  #itbankSection .fullCnt4 .mySwiper .swiper-slide .slide-content {
    font-size: var(--font-base);
    padding: 0 40px;
  }

  #itbankSection .fullCnt4 .mySwiper .swiper-slide .username {
    font-size: var(--font-sm);
  }

  #itbankSection .fullCnt4>img {
    width: 100%;
    height: auto;
  }

  /* --- fullCnt5: 동영상 섹션 (세로 스택) --- */
  #itbankSection .fullCnt5 .titleTxT {
    position: relative !important;
    top: auto !important;
    font-size: 32px !important;
    padding: var(--spacing-2xl) 15px 20px !important;
  }

  #itbankSection .fullCnt5 .section {
    position: relative !important;
    top: auto !important;
    flex-direction: column !important;
    margin: var(--spacing-lg) auto 30px;
    padding: 0 15px;
  }

  #itbankSection .fullCnt5 .section .item {
    width: 100% !important;
    max-width: 360px;
    margin: 0 auto 20px;
  }

  #itbankSection .fullCnt5 .section .item iframe {
    width: 100% !important;
    height: auto;
    aspect-ratio: 16/9;
  }

  #itbankSection .fullCnt5 .section .item dl dt {
    font-size: var(--font-lg);
  }

  #itbankSection .fullCnt5 .section .item dl dd h3 {
    font-size: var(--spacing-lg);
  }

  /* CTA 버튼 */
  #itbankSection .fullCnt5 .cont_btn_05 {
    position: relative !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
    max-width: 320px;
    height: auto;
    margin: var(--spacing-lg) auto 40px;
    display: block;
  }

  #itbankSection .fullCnt5 .cont_btn_05 img {
    width: 100%;
    height: auto;
  }

  #itbankSection .fullCnt5>.container>img {
    width: 100%;
    height: auto;
  }

  /* --- fullCnt6: 비교 섹션 (세로 스택) --- */
  #itbankSection .fullCnt6 .titleTxT {
    position: relative !important;
    top: auto !important;
    font-size: 32px !important;
    padding: var(--spacing-2xl) 15px 20px !important;
  }

  #itbankSection .fullCnt6 .section {
    position: relative !important;
    top: auto !important;
    flex-direction: column !important;
    margin: var(--spacing-lg) auto 40px;
    padding: 0 15px;
  }

  #itbankSection .fullCnt6 .section .item {
    width: 100% !important;
    max-width: 360px;
    height: auto;
    margin: 0 auto 20px;
    padding: var(--spacing-xl) 20px;
  }

  #itbankSection .fullCnt6 .section .item h3 {
    font-size: var(--font-2xl) !important;
    margin-bottom: 25px;
  }

  #itbankSection .fullCnt6 .section .item h3 img {
    max-width: 100px;
    height: auto;
    vertical-align: middle;
  }

  #itbankSection .fullCnt6 .section .item ul {
    flex-direction: column;
    gap: var(--spacing-md);
  }

  #itbankSection .fullCnt6 .section .item ul li {
    width: 100% !important;
    height: auto;
    padding: 25px 15px;
  }

  #itbankSection .fullCnt6 .section .item ul li figure img {
    max-width: var(--spacing-3xl);
    height: auto;
  }

  #itbankSection .fullCnt6 .section .item ul li figcaption {
    font-size: var(--spacing-md) !important;
    line-height: 1.5;
  }

  #itbankSection .fullCnt6>.container>img {
    width: 100%;
    height: auto;
  }

  /* --- fullCnt7: 강의 카드 섹션 (세로 스택, 카드 1열) --- */
  #itbankSection .fullCnt7 .titleTxT {
    font-size: 32px !important;
    margin: var(--spacing-2xl) 0 30px;
    padding-left: var(--spacing-xl);
    padding-right: var(--spacing-xl);
  }

  /* titleTxT 좌우 장식 크기 축소 */
  #itbankSection .fullCnt7 .titleTxT::before,
  #itbankSection .fullCnt7 .titleTxT::after {
    width: var(--spacing-sm);
    height: var(--touch-button);
    background-size: contain;
  }

  #itbankSection .fullCnt7 .titleTxT::before {
    left: var(--spacing-xs);
  }

  #itbankSection .fullCnt7 .titleTxT::after {
    right: var(--spacing-xs);
  }

  /* containerLec: 세로 스택 */
  #itbankSection .fullCnt7 .containerLec {
    flex-direction: column;
    gap: 0;
    margin-bottom: var(--spacing-md);
  }

  #itbankSection .fullCnt7 .labeltitle {
    width: 100%;
    border-radius: var(--spacing-md) 15px 0 0;
    padding: 12px 15px;
    font-size: var(--font-2xl);
    min-height: var(--spacing-3xl);
  }

  #itbankSection .fullCnt7 .cards {
    border-radius: 0 0 15px 15px;
    gap: 8px;
    padding: 8px;
  }

  /* 카드: 2열 → 1열 */
  #itbankSection .fullCnt7 .card {
    flex: 0 0 100%;
    height: auto;
    min-height: 90px;
    font-size: var(--font-lg);
    padding: var(--spacing-md);
  }

  #itbankSection .fullCnt7 .card p {
    font-size: var(--font-sm);
    margin-bottom: var(--spacing-xs);
  }

  /* CTA 버튼 */
  #itbankSection .fullCnt7 .cont_btn_07 {
    position: relative !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
    max-width: 320px;
    height: auto;
    margin: var(--spacing-lg) auto 40px;
    display: block;
  }

  #itbankSection .fullCnt7 .cont_btn_07 img {
    width: 100%;
    height: auto;
  }

  #itbankSection .fullCnt7>.container>img {
    width: 100%;
    height: auto;
  }

  /* --- fullCnt8: 가격표 섹션 --- */
  #itbankSection .fullCnt8 .titleTxT {
    font-size: 32px !important;
    margin-bottom: var(--spacing-xl);
    padding-left: var(--spacing-xl);
    padding-right: var(--spacing-xl);
  }

  /* titleTxT 좌우 장식 크기 축소 */
  #itbankSection .fullCnt8 .titleTxT::before,
  #itbankSection .fullCnt8 .titleTxT::after {
    width: var(--spacing-sm);
    height: var(--touch-button);
    background-size: contain;
  }

  #itbankSection .fullCnt8 .titleTxT::before {
    left: var(--spacing-xs);
  }

  #itbankSection .fullCnt8 .titleTxT::after {
    right: var(--spacing-xs);
  }

  /* section: 3개 카드 세로 스택 */
  #itbankSection .fullCnt8 .section {
    flex-direction: column;
    margin-bottom: var(--spacing-lg);
  }

  #itbankSection .fullCnt8 .section .item {
    width: 100% !important;
    max-width: 360px;
    margin: 0 auto 15px;
  }

  #itbankSection .fullCnt8 .section .item figure {
    gap: var(--spacing-lg);
    padding: var(--spacing-xl) 15px;
  }

  #itbankSection .fullCnt8 .section .item figure img {
    max-width: var(--spacing-3xl);
    height: auto;
  }

  #itbankSection .fullCnt8 .section .item figure figcaption {
    font-size: var(--font-lg);
  }

  /* 가격표: 가로 스크롤 */
  #itbankSection .fullCnt8 .pricing-table {
    width: 100%;
    max-width: 100%;
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  #itbankSection .fullCnt8 .pricing-table thead th {
    font-size: var(--spacing-md);
    padding: 12px 14px;
    white-space: nowrap;
  }

  #itbankSection .fullCnt8 .pricing-table tbody th {
    font-size: var(--spacing-md);
    padding: 14px 16px;
    white-space: nowrap;
  }

  #itbankSection .fullCnt8 .pricing-table tbody td {
    font-size: var(--spacing-md);
    padding: 14px 16px;
  }

  /* 가격 표시 */
  #itbankSection .fullCnt8 .price {
    gap: var(--spacing-sm);
    flex-wrap: wrap;
    justify-content: center;
  }

  #itbankSection .fullCnt8 .price del {
    font-size: var(--font-lg);
  }

  #itbankSection .fullCnt8 .price strong {
    font-size: 22px;
  }

  #itbankSection .fullCnt8 .price .arrow {
    margin-right: var(--spacing-xs);
  }

  #itbankSection .fullCnt8 .price .arrow img {
    max-width: var(--spacing-lg);
    height: auto;
  }

  /* 스탬프 이미지: position static */
  #itbankSection .fullCnt8 .img_stamp {
    position: static;
    margin: var(--spacing-lg) auto;
    text-align: center;
    max-width: 100px;
  }

  #itbankSection .fullCnt8 .img_stamp img {
    width: 100%;
    height: auto;
  }

  /* notice-wrap: 세로 스택 */
  #itbankSection .fullCnt8 .notice-wrap {
    flex-direction: column;
    gap: var(--spacing-md);
    font-size: 13px;
    margin-top: var(--spacing-lg);
    margin-bottom: var(--spacing-3xl);
  }

  #itbankSection .fullCnt8 .notice-col {
    width: 100%;
  }

  #itbankSection .fullCnt8 .notice-col li {
    padding-left: 12px;
    margin-bottom: var(--spacing-xs);
    line-height: var(--lh-relaxed);
  }

  /* --- fullCnt9: FAQ 섹션 --- */
  #itbankSection .fullCnt9 .titleTxT {
    font-size: 32px !important;
    margin-bottom: var(--spacing-xl);
  }

  #itbankSection .fullCnt9 .section {
    margin-bottom: var(--spacing-3xl);
  }

  #itbankSection .fullCnt9 .faq-item {
    margin-bottom: 12px;
  }

  #itbankSection .fullCnt9 .faq-item>summary {
    padding: 18px 45px 18px 70px;
    font-size: var(--font-base);
    line-height: var(--lh-relaxed);
  }

  #itbankSection .fullCnt9 .faq-item>summary::before {
    left: var(--spacing-md);
    width: 32px;
    height: 32px;
    margin-top: -16px;
    background-size: contain;
  }

  #itbankSection .fullCnt9 .faq-item>summary::after {
    right: var(--spacing-md);
    width: var(--spacing-lg);
    height: 14px;
    margin-top: -7px;
    background-size: contain;
  }

  #itbankSection .fullCnt9 .faq-content {
    margin: 0 45px 20px 70px;
    padding-top: 18px;
    font-size: var(--spacing-md);
    line-height: 1.7;
  }

  /* --- 공통: 이미지 반응형 --- */
  #itbankSection .fullCnt1 img,
  #itbankSection .fullCnt2 img,
  #itbankSection .fullCnt3 img,
  #itbankSection .fullCnt4 img,
  #itbankSection .fullCnt5 img,
  #itbankSection .fullCnt6 img,
  #itbankSection .fullCnt7 img,
  #itbankSection .fullCnt8 img,
  #itbankSection .fullCnt9 img {
    max-width: 100%;
    height: auto;
  }

  /* 터치 타겟 확보: 모든 링크와 버튼 */
  #itbankSection .fullCnt1 a,
  #itbankSection .fullCnt2 a,
  #itbankSection .fullCnt3 a,
  #itbankSection .fullCnt4 a,
  #itbankSection .fullCnt5 a,
  #itbankSection .fullCnt6 a,
  #itbankSection .fullCnt7 a,
  #itbankSection .fullCnt8 a,
  #itbankSection .fullCnt9 a,
  #itbankSection .fullCnt1 button,
  #itbankSection .fullCnt2 button,
  #itbankSection .fullCnt3 button,
  #itbankSection .fullCnt4 button,
  #itbankSection .fullCnt5 button,
  #itbankSection .fullCnt6 button,
  #itbankSection .fullCnt7 button,
  #itbankSection .fullCnt8 button,
  #itbankSection .fullCnt9 button {
    min-height: var(--touch-target);
    min-width: var(--touch-target);
  }

  /* iOS 자동 줌 방지: 폰트 크기 16px 이상 */
  #itbankSection .fullCnt1 input,
  #itbankSection .fullCnt2 input,
  #itbankSection .fullCnt3 input,
  #itbankSection .fullCnt4 input,
  #itbankSection .fullCnt5 input,
  #itbankSection .fullCnt6 input,
  #itbankSection .fullCnt7 input,
  #itbankSection .fullCnt8 input,
  #itbankSection .fullCnt9 input,
  #itbankSection .fullCnt1 select,
  #itbankSection .fullCnt2 select,
  #itbankSection .fullCnt3 select,
  #itbankSection .fullCnt4 select,
  #itbankSection .fullCnt5 select,
  #itbankSection .fullCnt6 select,
  #itbankSection .fullCnt7 select,
  #itbankSection .fullCnt8 select,
  #itbankSection .fullCnt9 select,
  #itbankSection .fullCnt1 textarea,
  #itbankSection .fullCnt2 textarea,
  #itbankSection .fullCnt3 textarea,
  #itbankSection .fullCnt4 textarea,
  #itbankSection .fullCnt5 textarea,
  #itbankSection .fullCnt6 textarea,
  #itbankSection .fullCnt7 textarea,
  #itbankSection .fullCnt8 textarea,
  #itbankSection .fullCnt9 textarea {
    font-size: var(--font-base);
  }

  /* ----- Next Section ----- */
  .center-greeting-wrap {
    padding-bottom: 60px;
  }

  /* --- Visual Section (Hero) --- */
  #itbankSection.center-greeting-wrap .visual {
    padding: var(--spacing-2xl) 15px 30px !important;
  }

  #itbankSection.center-greeting-wrap .visual .container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 10px;
  }

  #itbankSection.center-greeting-wrap .visual .tit {
    font-size: var(--spacing-lg) !important;
    line-height: var(--lh-base);
  }

  #itbankSection.center-greeting-wrap .visual .tit.tit-3 {
    font-size: var(--font-sm) !important;
    line-height: var(--lh-relaxed);
    margin-top: var(--spacing-sm);
  }

  /* --- Container --- */
  #itbankSection.center-greeting-wrap .container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 15px;
  }

  /* --- cnt1: 2-column → 1-column (stack vertically) --- */
  #itbankSection.center-greeting-wrap .cnt1 {
    flex-direction: column !important;
    gap: var(--spacing-lg);
    padding: 0px !important;
    margin-top: var(--spacing-lg) !important;
  }

  #itbankSection.center-greeting-wrap .cnt1 .lft {
    width: 100%;
    padding: 0px !important;
  }

  #itbankSection.center-greeting-wrap .cnt1 img {
    width: 100%;
    max-width: 100%;
    order: 2;
    /* Image goes to bottom */
  }

  #itbankSection.center-greeting-wrap .cnt1 .txt-1 {
    font-size: var(--font-base) !important;
    line-height: var(--lh-relaxed);
  }

  #itbankSection.center-greeting-wrap .cnt1 .txt-1 strong {
    font-size: var(--font-lg) !important;
  }

  #itbankSection.center-greeting-wrap .cnt1 .txt-2 {
    font-size: var(--font-sm) !important;
    line-height: var(--lh-relaxed);
    margin-top: var(--spacing-md) !important;
  }

  /* --- cnt2: 9-box grid (3x3 → 1 column) --- */
  #itbankSection.center-greeting-wrap .cnt2 {
    padding: var(--spacing-xl) 15px;
    margin-bottom: initial !important;
  }

  #itbankSection.center-greeting-wrap .cnt2 h3 {
    font-size: var(--spacing-lg) !important;
    margin-bottom: var(--spacing-xl) !important;
    text-align: center;
    line-height: var(--lh-base);
  }

  #itbankSection.center-greeting-wrap .cnt2 .box-list {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
  }

  #itbankSection.center-greeting-wrap .cnt2 .box {
    width: 100% !important;
    padding: 24px !important;
    min-height: auto;
    height: initial !important;
    border-radius: 8px !important;
    background-position: right 8% top 14% !important;
    background-size: 13% !important;
  }

  #itbankSection.center-greeting-wrap .cnt2 .box .tit {
    font-size: var(--font-lg) !important;
    margin-bottom: 12px;
    line-height: 1.3;
  }

  #itbankSection.center-greeting-wrap .cnt2 .box ol {
    font-size: var(--font-sm) !important;
    line-height: var(--lh-relaxed);
  }

  #itbankSection.center-greeting-wrap .cnt2 .box ol li {
    margin-bottom: 8px;
  }

  /* --- cnt3: Bottom CTA --- */
  #itbankSection.center-greeting-wrap .cnt3 {
    padding: var(--spacing-2xl) 15px !important;
    justify-content: center !important;
  }

  #itbankSection.center-greeting-wrap .cnt3>div {
    justify-content: center !important;
  }

  #itbankSection.center-greeting-wrap .cnt3 .txt-1 {
    font-size: var(--font-base) !important;
    line-height: var(--lh-base);
  }

  #itbankSection.center-greeting-wrap .cnt3 .txt-2 {
    font-size: 24px !important;
    line-height: var(--lh-base);
    margin-top: 8px;
  }


  /* ----- Next Section ----- */

  /* --- Container --- */
  #itbankSection.sub-section .container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 14px;
  }

  /* --- Title --- */
  #itbankSection.sub-section .title {
    font-size: var(--spacing-lg) !important;
    padding: var(--spacing-lg) 0 !important;
    text-align: center;
  }

  /* --- Top Image --- */
  #itbankSection.sub-section .topimg {
    margin-bottom: var(--spacing-lg);
  }

  /* --- Article Text --- */
  #itbankSection.sub-section article {
    padding: 0 10px;
  }

  #itbankSection.sub-section article p {
    font-size: var(--font-sm) !important;
    line-height: 1.8;
    margin-bottom: var(--spacing-md);
    word-break: keep-all;
  }

  #itbankSection.sub-section article p strong {
    font-size: var(--spacing-md) !important;
  }

  /* --- Signature --- */
  #itbankSection.sub-section .t_right {
    font-size: var(--font-sm) !important;
    text-align: center !important;
    margin-top: var(--spacing-xl);
    padding: 0 15px;
  }

  #itbankSection.sub-section .t_right strong {
    font-size: var(--font-lg) !important;
    display: block;
    margin-top: var(--spacing-xs);
  }

  /* ----- Next Section ----- */

  /* --- Container --- */
  #itbankSection.sub-section .container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 15px;
  }

  /* --- Top Title --- */
  #itbankSection.sub-section .dft-top .toptit {
    font-size: 20px !important;
    padding: var(--spacing-lg) 0 0px !important;
    text-align: left;
    font-weight: 700 !important;
  }

  #itbankSection.sub-section .dft-top .sub {
    font-size: var(--font-sm) !important;
    text-align: left;
  }

  /* --- Tab Navigation --- */
  #itbankSection.sub-section .dft-tap {
    margin-bottom: var(--spacing-lg) !important;
  }

  #itbankSection.sub-section .dft-tap ul {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
  }

  #itbankSection.sub-section .dft-tap ul li {
    width: 100%;
  }

  #itbankSection.sub-section .dft-tap ul li a {
    font-size: var(--spacing-md) !important;
    padding: 12px 15px !important;
    display: block;
    text-align: center;
  }

  /* --- Timeline Items: 2-column → 1-column --- */

  #itbankSection.sub-section .cnt-year .inner {
    display: flex;
    flex-direction: column !important;
    gap: 0;
    margin-bottom: 12px;
    padding: 12px 0 0;
  }

  #itbankSection.sub-section .cnt-year {
    margin-bottom: 12px;
  }

  #itbankSection.sub-section .cnt-year .h-year {
    text-align: left;
    font-size: initial !important;
  }

  .center-history-wrap::before,
  .center-history-wrap .h-year::after {
    content: none;
  }


  #itbankSection.sub-section .cnt-year .h-year span {
    font-size: 28px !important;
  }

  #itbankSection.sub-section .cnt-year .rgt {
    padding: 0 10px;
  }


  #itbankSection.sub-section .cnt-year .rgt ol li {
    font-size: var(--font-sm) !important;
    line-height: 1.7;
    margin-bottom: 4px;
    word-break: keep-all;
  }

  .center-history-wrap .continue {
    display: none;
  }

  /* ----- Next Section ----- */

  /* 컨테이너 패딩 축소 */
  #itbankSection.sub-section .container {
    padding: 0 15px !important;
  }

  /* 페이지 제목 */
  #itbankSection.sub-section h3.title {
    font-size: var(--spacing-lg);
    margin-bottom: var(--spacing-md);
  }

  /* 탭 레이아웃: 가로 스크롤 */
  #itbankSection.sub-section ul.tab {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    overscroll-behavior-x: none;
    border: none;
    margin: var(--spacing-md) -15px;
    /* 컨테이너 패딩 상쇄하여 전체 너비 사용 */
    padding: 0 15px;

    /* 스크롤바 숨김 */
    scrollbar-width: none;
    /* Firefox */
    -ms-overflow-style: none;
    /* IE/Edge */
  }

  #itbankSection.sub-section ul.tab::-webkit-scrollbar {
    display: none;
    /* Chrome/Safari */
  }

  #itbankSection.sub-section ul.tab li {
    flex-shrink: 0;
    width: auto;
    /* 인라인 width: 25% 오버라이드 */
    min-width: 140px;
    margin-top: 0 !important;
    /* 인라인 margin-top: -1px 오버라이드 */
    margin-right: 8px;
    border: 1px solid var(--color-border);
    border-radius: var(--spacing-xxs);
    scroll-snap-align: start;
  }

  #itbankSection.sub-section ul.tab li:last-child {
    margin-right: 0;
  }

  /* 탭 링크 터치 타겟 확보 */
  #itbankSection.sub-section ul.tab li a {
    display: block;
    padding: 12px 16px;
    text-align: center;
    min-height: var(--touch-target);
    font-size: var(--font-sm);
    text-decoration: none;
    white-space: nowrap;
    line-height: var(--lh-base);
  }

  /* 탭 활성화 상태 */
  #itbankSection.sub-section ul.tab li a.selected {
    font-weight: bold;
  }

  /* 특성 박스 */
  #itbankSection.sub-section .character {
    padding: var(--spacing-md) !important;
    margin-bottom: var(--spacing-md);
  }

  #itbankSection.sub-section .character h5.degreeTitle {
    font-size: var(--font-lg) !important;
    margin-bottom: var(--spacing-sm);
    line-height: var(--lh-base);
  }

  #itbankSection.sub-section .character p {
    font-size: var(--font-sm) !important;
    line-height: var(--lh-relaxed);
  }

  /* 테이블 가로 스크롤 설정 */
  #itbankSection.sub-section table.table1 {
    min-width: 500px;
    /* 모바일에서 가로 스크롤 강제 */
    font-size: 13px;
  }

  /* 첫 번째 열 고정 (Sticky Column) */
  #itbankSection.sub-section table.table1 th:first-child,
  #itbankSection.sub-section table.table1 td:first-child {
    position: sticky;
    left: 0;
    background-color: var(--color-white);
    z-index: 2;
    min-width: 80px;
    box-shadow: 2px 0 4px rgba(0, 0, 0, 0.05);
    /* 스크롤 시 그림자 효과 */
  }

  /* 헤더 첫 번째 열 z-index 증가 */
  #itbankSection.sub-section table.table1 thead th:first-child {
    z-index: 3;
    background-color: #f8f9fa;
    /* 헤더 배경색 유지 */
  }

  /* 테이블 헤더 배경색 유지 */
  #itbankSection.sub-section table.table1 thead th {
    background-color: #f8f9fa;
    position: relative;
  }

  /* 테이블 셀 최소 너비 설정 */
  #itbankSection.sub-section table.table1 th,
  #itbankSection.sub-section table.table1 td {
    padding: 8px 6px;
    font-size: 13px;
    white-space: nowrap;
  }

  /* 과목명 열 (2번째 열) 너비 확보 */
  #itbankSection.sub-section table.table1 th:nth-child(2),
  #itbankSection.sub-section table.table1 td:nth-child(2) {
    min-width: 150px;
    white-space: normal;
    /* 과목명은 줄바꿈 허용 */
  }

  /* 나머지 열 최소 너비 */
  #itbankSection.sub-section table.table1 th:nth-child(n + 3),
  #itbankSection.sub-section table.table1 td:nth-child(n + 3) {
    min-width: var(--spacing-3xl);
    text-align: center;
  }

  /* 테이블 헤더 복잡한 구조 처리 (rowspan, colspan) */
  #itbankSection.sub-section table.table1 thead th {
    font-size: 13px;
    font-weight: bold;
  }

  /* iOS 자동 줌 방지 (폰트 크기 16px 이상) */
  #itbankSection.sub-section input,
  #itbankSection.sub-section select,
  #itbankSection.sub-section textarea {
    font-size: var(--font-base);
  }

  /* ----- Next Section ----- */

  /* 컨테이너 패딩 */
  #itbankSection .event_wrap .innerBox {
    padding: 0 15px !important;
  }

  /* 배경 이미지: contain으로 전체 이미지 표시 */
  #itbankSection .event_wrap [class*="fullCnt"],
  #itbankSection .event_wrap [class*="sec0"] {
    background-size: contain !important;
    padding-bottom: var(--spacing-xl) !important;
  }

  /* 복잡한 절대 위치 요소 숨김 */
  #itbankSection .event_wrap .img-slide,
  #itbankSection .event_wrap [class*="btn-more"],
  #itbankSection .event_wrap [class*="btn__"],
  #itbankSection .event_wrap .tab-a {
    display: none !important;
  }

  /* 비디오 iframe 전체 너비 (16:9 비율 유지) */
  #itbankSection .event_wrap [class*="vodBox"],
  #itbankSection .event_wrap [class*="video-"] {
    position: relative !important;
    width: 100% !important;
    padding-bottom: 56.25% !important;
    /* 16:9 aspect ratio */
    height: 0 !important;
    margin-bottom: var(--spacing-md);
  }

  #itbankSection .event_wrap [class*="vodBox"] iframe,
  #itbankSection .event_wrap [class*="video-"] iframe {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }

  /* CTA 버튼: 세로 스택, 전체 너비 */
  #itbankSection .event_wrap .btn,
  #itbankSection .event_wrap [class*="btn_"],
  #itbankSection .event_wrap [class*="btn-"],
  #itbankSection .event_wrap .a-detail,
  #itbankSection .event_wrap [class*="a-link"] {
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto;
    min-height: var(--touch-target) !important;
    margin: 0 0 10px 0 !important;
    padding: 12px 15px !important;
    display: block !important;
    text-indent: 0 !important;
    text-align: center;
    font-size: var(--font-base) !important;
    line-height: var(--lh-base);
    overflow: visible !important;
    box-sizing: border-box;
  }

  /* 학습상세보기 링크 (a-detail) */
  #itbankSection .event_wrap .a-detail {
    background-color: var(--color-bg-light);
    border: 1px solid var(--color-border);
    color: var(--color-text) !important;
  }

  /* 수강신청 버튼 (btn, btn_*) */
  #itbankSection .event_wrap .btn,
  #itbankSection .event_wrap [class*="btn_"] {
    background-color: #5cc500;
    color: var(--color-white) !important;
    font-weight: 700;
  }

  /* 상담신청 링크 (a-link_*) */
  #itbankSection .event_wrap [class*="a-link"] {
    background-color: #2b2b2b;
    color: var(--color-white) !important;
    font-weight: 700;
  }

  /* 탭 박스: 모바일 가로 스크롤 */
  #itbankSection .event_wrap .tab-box {
    margin-bottom: var(--spacing-md) !important;
    padding: 0 5px;
  }

  #itbankSection .event_wrap .tab-box li {
    min-width: 150px !important;
  }

  #itbankSection .event_wrap .tab-box li a {
    font-size: var(--font-base) !important;
    padding: 12px 15px !important;
  }

  /* 콘텐츠 래퍼 마진 제거 */
  #itbankSection .event_wrap .cnt-wrap {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* 섹션별 패딩 조정 */
  #itbankSection .event_wrap [class*="sec0"] {
    padding-bottom: var(--spacing-xl) !important;
  }

  #itbankSection .event_wrap .sec05 {
    padding-bottom: var(--spacing-xl) !important;
  }

  #itbankSection .event_wrap .sec08 {
    padding-bottom: var(--spacing-xl) !important;
  }

  /* 콘텐츠 박스 패딩 조정 */
  #itbankSection .event_wrap .cont-wrap {
    padding-bottom: var(--spacing-xl) !important;
  }

  /* iOS 자동 줌 방지 (폰트 크기 16px 이상) */
  #itbankSection .event_wrap input,
  #itbankSection .event_wrap select,
  #itbankSection .event_wrap textarea,
  #itbankSection .event_wrap button {
    font-size: var(--font-base) !important;
  }

  /* 터치 타겟 최소 크기 확보 */
  #itbankSection .event_wrap a,
  #itbankSection .event_wrap button {
    min-height: var(--touch-target);
    min-width: var(--touch-target);
  }

  /* 팝업 래퍼 전체 너비 */
  #itbankSection .event_wrap .pop-wrap {
    width: 100% !important;
    padding: 0 15px;
    box-sizing: border-box;
  }

  /* ----- Next Section ----- */

  /* 증명서 관리 컨테이너: 세로 스택, gap 추가 */
  .content#itbankSection .certification-wrap {
    flex-direction: column !important;
    gap: var(--spacing-lg) !important;
  }

  /* 각 카드: 1열 세로 스택, 전체 너비 사용 */
  .content#itbankSection .certification-wrap .box {
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: 100% !important;
    margin-left: 0px !important;
    margin-right: 0px !important;
  }

  /* 카드 내부 패딩 최적화 (필요시) */
  .content#itbankSection .certification-wrap .box .inner {
    padding: 0px !important;
  }

  /* 버튼 영역: 터치 타겟 확보 */
  .content#itbankSection .certification-wrap .box .btm .btn {
    min-height: var(--touch-button) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* ----- Next Section ----- */

  /* 컨테이너 패딩 더 축소 */
  #itbankSection .voucher-wrap {
    padding: var(--spacing-md) !important;
  }

  /* 탭 버튼 패딩 더 축소 */
  #itbankSection .voucher-wrap .voucher-tab ul {
    margin: 0 -15px 15px -15px;
    /* 컨테이너 패딩 상쇄 */
    padding: 0 15px !important;
  }

  #itbankSection .voucher-wrap .voucher-tab ul li a {
    padding: var(--spacing-sm) 15px !important;
    font-size: var(--font-sm);
    min-height: var(--touch-target);
    /* 터치 타겟 */
    display: flex;
    align-items: center;
  }

  /* iOS 자동 줌 방지 */
  #itbankSection .voucher-wrap button,
  #itbankSection .voucher-wrap a {
    font-size: var(--font-base) !important;
  }

  /* === 평생교육이용권 시맨틱 HTML 모바일 반응형 === */
  .voucher-content {
    padding: 20px 0 0 !important;
    line-height: 1.6 !important;
  }

  /* 섹션 간격 축소 */
  .vc-section {
    margin-bottom: 35px !important;
  }

  /* 섹션 제목 */
  .vc-section-title {
    font-size: 18px !important;
    margin-bottom: 14px !important;
    gap: 8px !important;
  }
  .vc-section-title i {
    font-size: 16px !important;
  }

  /* 섹션 1: 헤더 - 세로 스택 */
  .vc-header {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 20px;
    margin-bottom: 35px !important;
  }
  .vc-header-title {
    font-size: 26px !important;
  }
  .vc-header-card {
    width: 200px !important;
    align-self: center;
  }

  /* 섹션 2: 2박스 - 세로 스택 + 아래 화살표 */
  .vc-intro-boxes {
    flex-direction: column !important;
    gap: 0 !important;
  }
  .vc-intro-box {
    padding: 20px !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    border-radius: var(--vc-radius-sm, 8px) !important;
  }
  .vc-intro-arrow {
    padding: 10px 0 !important;
    transform: rotate(90deg);
    font-size: 20px !important;
  }

  /* 섹션 3: 신청일정 */
  .vc-schedule-text {
    font-size: 14px !important;
    text-align: left !important;
  }

  /* 섹션 4: 테이블 → 카드 레이아웃 */
  .vc-table,
  .vc-table thead,
  .vc-table tbody,
  .vc-table tr,
  .vc-table th,
  .vc-table td {
    display: block !important;
    width: 100% !important;
  }
  .vc-table thead {
    position: absolute !important;
    top: -9999px !important;
    left: -9999px !important;
  }
  .vc-table tbody tr {
    margin-bottom: 12px !important;
    border: 1px solid var(--vc-border, #E0E0E0) !important;
    border-radius: var(--vc-radius-sm, 8px) !important;
    overflow: hidden !important;
  }
  .vc-table tbody td {
    text-align: left !important;
    padding: 10px 14px !important;
    border: none !important;
    border-bottom: 1px solid var(--vc-border, #E0E0E0) !important;
    position: relative !important;
    padding-left: 45% !important;
    min-height: 44px !important;
  }
  .vc-table tbody td:last-child {
    border-bottom: none !important;
  }
  .vc-table tbody td::before {
    content: attr(data-label);
    position: absolute !important;
    left: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 38% !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    color: var(--vc-primary, #6B3FA0) !important;
  }
  .vc-table tbody tr:nth-child(even) {
    background: transparent !important;
  }
  .vc-table-note {
    font-size: 12px !important;
  }

  /* 섹션 5: 4단계 → 세로 스택 */
  .vc-step-subtitle {
    text-align: left !important;
    font-size: 13px !important;
  }
  .vc-steps {
    flex-direction: column !important;
    align-items: center !important;
    gap: 0 !important;
  }
  .vc-step-item {
    width: 100% !important;
    max-width: 280px;
  }
  .vc-step-circle {
    width: 110px !important;
    height: 110px !important;
    font-size: 13px !important;
  }
  .vc-step-desc {
    font-size: 12px !important;
    margin-bottom: 4px !important;
  }
  .vc-step-arrow {
    padding: 4px 0 !important;
    transform: rotate(90deg);
    font-size: 16px !important;
  }

  /* 섹션 6: 혜택 카드 - 세로 스택 */
  .vc-benefit-desc {
    font-size: 13px !important;
    text-align: left !important;
    margin-bottom: 20px !important;
  }
  .vc-benefit-cards {
    flex-direction: column !important;
    gap: 20px !important;
  }
  .vc-benefit-card {
    padding: 20px !important;
  }
  .vc-benefit-speech {
    font-size: 13px !important;
    padding: 10px 16px !important;
  }
  .vc-benefit-illust {
    width: 100px !important;
  }
  .vc-benefit-box {
    padding: 16px !important;
    font-size: 13px !important;
  }
  .vc-benefit-note {
    font-size: 12px !important;
  }

  /* 섹션 7: 유의사항 */
  .vc-notice-list li {
    font-size: 14px !important;
    padding: 6px 0 6px 14px !important;
    line-height: 1.6 !important;
  }

  /* 섹션 8: CTA */
  .vc-cta {
    margin-top: 35px !important;
  }
  .vc-cta-btn {
    font-size: 16px !important;
    padding: 18px 0 !important;
    border-radius: var(--vc-radius-sm, 8px) !important;
  }
  .vc-contact {
    margin-top: 20px !important;
    font-size: 14px !important;
  }
  .vc-contact a {
    font-size: 22px !important;
    margin-left: 8px !important;
  }

  /* ----- Next Section ----- */

  /* 컨테이너 패딩 더 축소 */
  #itbankSection .consult-wrap {
    padding: 0 !important;
  }

  /* 테이블 th/td 세로 스택 */
  #itbankSection .consult-wrap table.col tbody tr {
    display: flex;
    flex-direction: column;
    border-bottom: 1px solid var(--color-border);
    padding: var(--spacing-sm) 0;
  }

  #itbankSection .consult-wrap table.col tbody tr th,
  #itbankSection .consult-wrap table.col tbody tr td {
    display: block;
    width: 100% !important;
    padding: 8px 0 !important;
    border: none !important;
    text-align: left !important;
  }

  #itbankSection .consult-wrap table.col tbody tr th {
    font-weight: bold;
    padding: 8px !important
  }

  #itbankSection .consult-wrap button {
    justify-content: center;
  }

  .consult-wrap .privacy-box .top {
    padding: 12px !important;
  }

  .consult-wrap .privacy-box .cnt {
    padding: 12px !important;
  }

  /* 체크박스 1열 배치 */
  #itbankSection .consult-wrap .flex {
    flex-direction: column !important;
    gap: 8px !important;
  }

  #itbankSection .consult-wrap .check-box.w240,
  #itbankSection .consult-wrap .check-box {
    width: 100% !important;
    max-width: 100% !important;
    margin: var(--spacing-xxs) 0 !important;
  }

  /* 모든 입력 필드 100% 너비 */
  #itbankSection .consult-wrap .input-txt,
  #itbankSection .consult-wrap .input-txt.w320,
  #itbankSection .consult-wrap .input-txt.w260,
  #itbankSection .consult-wrap .input-txt.w700 {
    width: 100% !important;
    max-width: 100% !important;
    min-height: var(--touch-target) !important;
    /* 터치 타겟 */
    box-sizing: border-box;
  }

  /* Textarea 100% 너비 */
  #itbankSection .consult-wrap .input-area,
  #itbankSection .consult-wrap .input-area.w700 {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 120px !important;
    box-sizing: border-box;
  }

  /* 파일 업로드 세로 스택 */
  #itbankSection .consult-wrap .file {
    flex-direction: column !important;
    gap: var(--spacing-sm) !important;
  }

  #itbankSection .consult-wrap .file .input-txt {
    width: 100% !important;
    margin-right: 0 !important;
  }

  #itbankSection .consult-wrap .file button {
    width: 100% !important;
    min-height: var(--touch-button) !important;
  }

  /* 폼 버튼 영역 */
  #itbankSection .consult-wrap .btn-wrap {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
    padding: var(--spacing-md) 0;
  }

  #itbankSection .consult-wrap .btn-wrap button,
  #itbankSection .consult-wrap .btn-wrap .btn {
    width: 100% !important;
    min-height: var(--touch-button) !important;
    margin: 0 !important;
  }

  /* iOS 자동 줌 방지 */
  #itbankSection .consult-wrap input,
  #itbankSection .consult-wrap select,
  #itbankSection .consult-wrap textarea,
  #itbankSection .consult-wrap button {
    font-size: var(--font-base) !important;
  }

  /* 터치 타겟 최소 크기 */
  #itbankSection .consult-wrap button,
  #itbankSection .consult-wrap a,
  #itbankSection .consult-wrap .check-box label {
    min-height: var(--touch-target);
    display: flex;
    align-items: center;
  }

  .consult-wrap .privacy-box .a-fold {
    justify-content: flex-end !important;
    font-size: 14px !important;
    padding-right: 24px !important;
  }

  .consult-wrap .privacy-box .a-fold::after {
    top: 50% !important;
    transform: translateY(-50%) rotate(315deg);
    width: 8px !important;
    height: 8px !important;
    border-width: 1px 1px 0 0;
    transform-origin: 50% 50%;
  }

  .pack-list-wrap .cnt .btm .price .fin {
    font-size: 18px !important;
  }

  .pack-list-wrap .frame {
    height: 140px !important;
    margin-bottom: 20px !important;
    margin-top: 42px !important;
  }

  .pack-list-wrap .frame a {
    height: 100%;
  }

  .pack-list-wrap>ul>li:not(:nth-child(1), :nth-child(2)) {
    margin-top: initial !important;
  }
    .pack-list-wrap>ul>li{width: 100%;}

  .pack-list-wrap .cnt .tit {
    font-size: 22px !important;
  }

  .pack-list-wrap .cnt .btm {
    align-items: flex-start !important;
    flex-direction: column !important;
  }

  .pack-list-wrap .cnt .btm .price {
    padding: 12px 8px;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .pack-list-wrap>ul>li:nth-child(2n) {
    margin-left: initial !important;
  }

  /* 체크박스 라벨 터치 영역 확보 */
  #itbankSection .consult-wrap .check-box label {
    cursor: pointer;
  }

  /* ----- Next Section ----- */

  /* Container padding further reduction (30px → 15px) */
  #itbankSection .freeLecture-wrap .cnt-visual .container,
  #itbankSection .freeLecture-wrap .cnt-lec-list .container {
    padding-left: var(--spacing-md) !important;
    padding-right: var(--spacing-md) !important;
  }

  /* Visual banner section - reduce vertical padding */
  #itbankSection .freeLecture-wrap .cnt-visual {
    padding-top: var(--spacing-xl);
    padding-bottom: var(--spacing-xl);
  }

  /* Lecture list items - reduce padding */
  #itbankSection .freeLecture-wrap .cnt-lec-list li {
    padding: var(--spacing-md) !important;
    margin-bottom: var(--spacing-md);
  }

  /* Top box: Horizontal → Vertical stack */
  #itbankSection .freeLecture-wrap .top-box {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--spacing-md);
  }

  /* Title section - full width */
  #itbankSection .freeLecture-wrap .top-box .lft {
    width: 100%;
  }

  /* Title - reduce font size */
  #itbankSection .freeLecture-wrap .top-box .tit {
    font-size: var(--font-lg);
    line-height: var(--lh-base);
  }

  /* Subtitle (professor name) - reduce font size */
  #itbankSection .freeLecture-wrap .top-box .sub {
    font-size: var(--font-sm);
    margin-top: 8px;
  }

  /* Button - full width with touch target */
  #itbankSection .freeLecture-wrap .btn-lec {
    width: 100% !important;
    min-height: var(--touch-button) !important;
    font-size: var(--font-base) !important;
    /* iOS auto-zoom prevention */
    padding: 12px 0px !important;
    margin-top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  /* Content area: Horizontal → Vertical stack */
  #itbankSection .freeLecture-wrap .flex.flex-nw {
    flex-direction: column !important;
    gap: var(--spacing-md);
  }

  /* Image frame - full width */
  #itbankSection .freeLecture-wrap .frame {
    width: 100%;
    margin-bottom: 0;
  }

  /* Description list - full width */
  #itbankSection .freeLecture-wrap ol.desc {
    width: 100%;
    margin-top: 0;
  }

  /* Description list item - reduce spacing */
  #itbankSection .freeLecture-wrap ol.desc li {
    margin-bottom: 12px;
    font-size: var(--font-sm);
    line-height: var(--lh-relaxed);
  }

  /* Description list item last child - no margin */
  #itbankSection .freeLecture-wrap ol.desc li:last-child {
    margin-bottom: 0;
  }

  /* Description number - consistent spacing */
  #itbankSection .freeLecture-wrap ol.desc .num {
    display: inline-block;
    min-width: var(--spacing-lg);
    margin-right: 8px;
  }

  /* ----- Next Section ----- */

  /* 헤더 숨김 */
  #itbankSection .lecture-list-table .list-head {
    display: none !important;
  }

  /* 카드 레이아웃 */
  #itbankSection .lecture-list-table .list-body ul {
    display: block !important;
  }

  #itbankSection .lecture-list-table .list-body li {
    display: block !important;
    margin-bottom: var(--spacing-md) !important;
    border: 1px solid var(--color-border) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
  }

  #itbankSection .lecture-list-table .list-body-content {
    display: grid !important;
    grid-template-columns: 60% 40% !important;
    grid-template-rows: auto auto auto !important;
    gap: 0 !important;
  }

  /* Grid 배치 */
  #itbankSection .lecture-list-table .list-body-content .list-cell:nth-child(1) {
    /* 구분 - Row 1, Col 1 */
    grid-column: 1 / 2 !important;
    grid-row: 1 / 2 !important;
    width: 100% !important;
    border-bottom: 1px solid var(--color-border-light) !important;
    border-right: 1px solid var(--color-border-light) !important;
    background-color: var(--color-bg-lighter) !important;
  }

  #itbankSection .lecture-list-table .list-body-content .list-cell:nth-child(2) {
    /* 반영비율 - Row 1, Col 2 */
    grid-column: 2 / 3 !important;
    grid-row: 1 / 2 !important;
    width: 100% !important;
    border-bottom: 1px solid var(--color-border-light) !important;
    background-color: var(--color-bg-lighter) !important;
  }

  #itbankSection .lecture-list-table .list-body-content .list-cell:nth-child(3) {
    /* 기간 - Row 2, Col 1-2 (full width) */
    grid-column: 1 / 3 !important;
    grid-row: 2 / 3 !important;
    width: 100% !important;
    border-bottom: 1px solid var(--color-border-light) !important;
  }

  #itbankSection .lecture-list-table .list-body-content .list-cell:nth-child(4) {
    /* 나의상태 - Row 3, Col 1-2 (full width) */
    grid-column: 1 / 3 !important;
    grid-row: 3 / 4 !important;
    width: 100% !important;
  }

  /* 셀 스타일 */
  #itbankSection .lecture-list-table .list-cell {
    padding: 12px 10px !important;
    text-align: left !important;
  }

  /* 고정 너비 클래스 제거 */
  #itbankSection .lecture-list-table .w80,
  #itbankSection .lecture-list-table .w230,
  #itbankSection .lecture-list-table .w355 {
    width: auto;
    max-width: none !important;
  }

  /* 버튼 스타일 */
  #itbankSection .lecture-list-table .btn {
    width: 100% !important;
    max-width: 200px !important;
    min-height: var(--touch-target) !important;
    padding: 12px 15px !important;
    margin-top: 8px !important;
    display: inline-block !important;
  }

  /* 나의상태 내부 flex 레이아웃 */
  #itbankSection .lecture-list-table .list-cell:nth-child(4)>.flex {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: var(--spacing-sm) !important;
  }

  /* 출석 정보 (.my-state) */
  #itbankSection .lecture-list-table .my-state {
    width: 100% !important;
    margin-bottom: var(--spacing-sm) !important;
  }

  #itbankSection .lecture-list-table .my-state ul {
    flex-wrap: wrap !important;
    gap: 8px !important;
  }

  #itbankSection .lecture-list-table .my-state li {
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
  }

  /* Sticker 스타일 */
  #itbankSection .lecture-list-table .sticker-circle {
    min-width: 32px !important;
    min-height: 32px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* 기간 내부 flex */
  #itbankSection .lecture-list-table .list-cell:nth-child(3) .flex {
    flex-wrap: wrap !important;
    gap: var(--spacing-xs) !important;
  }

  /* 폰트 크기 조정 */
  #itbankSection .lecture-list-table .list-cell {
    font-size: var(--font-sm) !important;
  }

  #itbankSection .lecture-list-table .list-cell strong {
    font-size: var(--spacing-md) !important;
  }

  /* ----- 자격증 강의실 > 강의 수강 (License/Index #tab1) 전용 5열 배치 ----- */
  /* 위 공통 카드 규칙은 4셀 화면(구분/반영비율/기간/나의상태) 기준이라
     5번째 셀(강의보기)에 배치 규칙이 없어 자동배치로 떨어지고,
     60%/40% 열폭 탓에 차시(숫자)가 넓고 강의 내용(긴 제목)이 좁아 접힌다.
     .lecture-list-table--license 스코프로 이 화면에서만 재배치한다. */
  #itbankSection .lecture-list-table.lecture-list-table--license .list-body-content {
    grid-template-columns: 64px 1fr !important;
    grid-template-rows: auto auto auto auto !important;
  }

  /* 차시 - Row 1, Col 1 (내용에 맞는 최소폭) */
  #itbankSection .lecture-list-table.lecture-list-table--license .list-body-content .list-cell:nth-child(1) {
    grid-column: 1 / 2 !important;
    grid-row: 1 / 2 !important;
    width: 100% !important;
    margin: 0 !important;
    border-bottom: 1px solid var(--color-border-light) !important;
    border-right: 1px solid var(--color-border-light) !important;
    background-color: var(--color-bg-lighter) !important;
  }

  /* 공통 규칙의 ':first-child::before { content:"학기/기수: " }' 는
     이 화면 첫 셀(차시)에는 잘못된 라벨이므로 이 스코프에서만 해제 */
  #itbankSection .lecture-list-table.lecture-list-table--license .list-body-content .list-cell:nth-child(1)::before {
    content: none !important;
  }

  /* 강의 내용 - Row 1, Col 2 (남는 폭 전부) */
  #itbankSection .lecture-list-table.lecture-list-table--license .list-body-content .list-cell:nth-child(2) {
    grid-column: 2 / 3 !important;
    grid-row: 1 / 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    border-bottom: 1px solid var(--color-border-light) !important;
    background-color: var(--color-bg-lighter) !important;
  }

  /* 학습시간/수업시간 - Row 2, Col 1-2 */
  #itbankSection .lecture-list-table.lecture-list-table--license .list-body-content .list-cell:nth-child(3) {
    grid-column: 1 / 3 !important;
    grid-row: 2 / 3 !important;
    width: 100% !important;
    border-bottom: 1px solid var(--color-border-light) !important;
  }

  /* 진도율 - Row 3, Col 1-2 */
  #itbankSection .lecture-list-table.lecture-list-table--license .list-body-content .list-cell:nth-child(4) {
    grid-column: 1 / 3 !important;
    grid-row: 3 / 4 !important;
    width: 100% !important;
    border-bottom: 1px solid var(--color-border-light) !important;
  }

  /* 강의보기(학습하기) - Row 4, Col 1-2 */
  #itbankSection .lecture-list-table.lecture-list-table--license .list-body-content .list-cell:nth-child(5) {
    grid-column: 1 / 3 !important;
    grid-row: 4 / 5 !important;
    width: 100% !important;
  }

  /* ----- Next Section ----- */

  #itbankSection .freeLecture-wrap .cnt-lec-list li {
    padding: 0px !important;
  }

  /* 상단 박스: 제목/교수명/버튼을 세로 배치 */
  #itbankSection .freeLecture-wrap .cnt-lec-list .top-box {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: var(--spacing-md) !important;
  }

  #itbankSection .freeLecture-wrap .cnt-lec-list .top-box .lft {
    width: 100% !important;
  }

  /* 강의보기 버튼: 전체 너비 사용 */
  #itbankSection .freeLecture-wrap .cnt-lec-list .btn-lec {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    min-height: var(--touch-button) !important;
  }

  /* 이미지+설명 박스: 세로 스택 */
  #itbankSection .freeLecture-wrap .cnt-lec-list .flex.flex-nw {
    flex-direction: column !important;
    gap: var(--spacing-md) !important;
  }

  /* 이미지 프레임: 이미지 크기에 맞춰 자동 높이, overflow 방지 */
  #itbankSection .freeLecture-wrap .cnt-lec-list .frame {
    width: 100% !important;
    max-width: 100% !important;
    height: auto;
    overflow: hidden !important;
  }

  #itbankSection .freeLecture-wrap .cnt-lec-list .frame img {
    width: 100% !important;
    height: auto;
    max-width: 100% !important;
    object-fit: contain !important;
    display: block !important;
  }

  /* 설명 영역: 전체 너비 사용 */
  #itbankSection .freeLecture-wrap .cnt-lec-list .desc {
    width: 100% !important;
    padding: 0 !important;
  }

  /* ----- Next Section ----- */
  #itbankSection .main-banner {
    height: 220px !important;
  }
  #itbankSection .main-banner .swiper-slide img {
    height: 100% !important;
  }

  /* 모바일에서 컨트롤 더 작게 */
  #itbankSection .main-banner .swiper-act {
    bottom: var(--spacing-sm) !important;
    gap: var(--spacing-sm) !important;
    display: block !important;
    /* translate된 앵커 탈출: .swiper-act 박스를 뷰포트 폭 컨테이너(.main-banner) 기준으로 정렬 → 컨트롤 right 기준을 뷰포트 안정화 (375 위치 결함 수정) */
    left: 0 !important;
    width: 100% !important;
    transform: none !important;
  }

  /* 모바일: 좌우 화살표/도트는 숨기되(공간), 자동재생 정지 컨트롤은 노출 유지 (WCAG 2.2.2) */
  #itbankSection .main-banner .swiper-act .navi,
  #itbankSection .main-banner .swiper-act .swiper-pagination {
    display: none !important;
  }

  /* txtbox 더 작게 */
  #itbankSection .main-banner .cover-wrap .container {
    padding: var(--spacing-md) !important;
  }

  #itbankSection .main-banner .cover-wrap .txtbox .subtit {
    font-size: var(--font-xs) !important;
  }

  #itbankSection .main-banner .cover-wrap .txtbox h4 {
    font-size: var(--font-lg) !important;
  }

  /* tag 더 작게 */
  #itbankSection .main-banner .cover-wrap .tag {
    font-size: 11px !important;
    padding: var(--spacing-xs) 10px !important;
  }

  /* 자동재생 정지/재생 컨트롤 노출 (WCAG 2.2.2) — 모바일 터치 타겟 */
  #itbankSection .main-banner .swiper-controls {
    display: block !important;
    right: 12px !important;
    pointer-events: auto !important;
  }
  #itbankSection .main-banner .swiper-controls a.controls-play,
  #itbankSection .main-banner .swiper-controls a.controls-stop {
    width: 40px !important;
    height: 40px !important;
  }
  .main-banner .cover-wrap{
	  padding-top: 0px !important;
  }

  .main-banner .cover-wrap .tag {
	margin-bottom: 12px !important;
  }

  .main-banner .cover-wrap .txtbox h4{
	  height: inherit !important;
  }
  /* ----- Next Section ----- */

  #itbankSection .main-learning>.container {
    padding: 0 !important;
  }

  /* Box03 전화번호 더 축소 */
  #itbankSection .main-learning .box03 .a-tel {
    font-size: var(--font-2xl) !important;
    padding: 16px 0 !important;
  }

  /* Box03 info 세로 스택 */
  #itbankSection .main-learning .box03 .group {
    flex-direction: column !important;
    gap: 0 !important;
  }

  #itbankSection .main-learning .box03 .group .inner .ico {
    width: 48px;
    height: 48px;
    margin-right: 12px !important;
  }

  #itbankSection .main-learning .box03 .group .inner ol li {
    font-size: 14px !important;
  }

  /* 폼 input 패딩 축소 */
  #itbankSection .main-learning .box01 .group input,
  #itbankSection .main-learning .box01 .group select {
    padding: var(--spacing-sm) 0px !important;
  }

  /* QA 지적(빠른상담 창 과대): MO 폼 컴팩트화 — 실측 420px(min-height 바닥) → 약 300px(-28%).
     main.css ≤767 블록이 responsive-mobile.css보다 나중에 로드되므로 !important 필수.
     터치타겟은 KWCAG 항목12 하한(24px) 이상 유지(필드 40px·버튼 48px), 글꼴·색·배치는 무변경. */
  #itbankSection .main-learning .box01 .inner-wrap {
    min-height: 0 !important;
  }

  #itbankSection .main-learning .box01 .learning-form-fields {
    gap: 12px !important;
  }

  #itbankSection .main-learning .box01 form .group label {
    /* 라벨이 40px 라인높이로 여백성 높이 3×41px를 차지 — 22px로 축소해 폼 전체 350px대 진입 */
    height: auto !important;
    min-height: 0 !important;
    line-height: 22px !important;
    padding: 0 !important;
  }

  #itbankSection .main-learning .box01 form .group input[type="text"],
  #itbankSection .main-learning .box01 form .group select {
    height: 40px !important;
    /* responsive-tablet.css의 min-height: var(--touch-button) !important 바닥이 height를 이김 — 동반 오버라이드 필수 */
    min-height: 40px !important;
  }

  /* QA/오너 지적: 동의 라벨을 체크박스 옆에 밀착(좌측 정렬) + 체크박스·라벨 세로 중앙 정렬.
     원인: responsive-tablet.css L1951 justify-content:space-between(@media ≤1024 → 375px에도 적용)이
     [체크박스 / 라벨 / 자세히보기] 3개 플렉스 아이템을 양끝 분산 → 체크박스 left 35, 라벨 left 74 (39px 벌어짐).
     처리: flex-start 로 좌측 정렬(간격은 L3475 공통 규칙 label padding-left:8px 단독이 담당) +
     '자세히보기'는 margin-left:auto 로 기존 우측 위치 유지 + align-items:center 로 세로 중앙.
     라벨 margin-bottom(responsive-tablet L1959, 8px)은 세로 중앙을 4px 어긋나게 하므로 이 스코프만 0.
     히트영역: 라벨 min-height 44px(responsive-tablet L1956)·체크박스 20×20(L3457, margin:0 로 전역
     input[type=checkbox]{margin:12px} 이미 격파됨) 모두 무변경 — 클릭영역 축소 없음. */
  #itbankSection .main-learning .box01 form .check-box {
    margin: 6px 0 !important;
    justify-content: flex-start !important;
    align-items: center !important;
  }

  #itbankSection .main-learning .box01 form .check-box label {
    margin-bottom: 0 !important;
  }

  #itbankSection .main-learning .box01 form .check-box .privacy-detail {
    margin-left: auto !important;
  }

  #itbankSection .main-learning .box01 form .group button {
    height: 48px !important;
    line-height: 48px !important;
    font-size: 16px !important;
    /* responsive-tablet.css의 min-height: 52px !important 바닥 동반 오버라이드 */
    min-height: 48px !important;
    /* QA 지적: 버튼 텍스트 수직 중앙 정렬 — responsive-common.css L1891 전역
       button{padding:12px 10px !important}이 line-height:48px 위에 얹혀 글자가 아래로 밀렸음.
       flex 중앙정렬 + 상하 패딩 제거로 교정(높이 48px·글꼴 16px·색·너비 전부 무변경).
       line-height:48px 은 flex 미지원 폴백용으로 존치(패딩 0 이면 블록 배치에서도 중앙). */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
  }

  /* ----- Next Section ----- */

  #itbankSection .main-benefit {
    padding: 40px 0px !important;
    background-color: #fff !important;
  }

  #itbankSection .main-benefit .lft {
    display: flex;
    flex-direction: column-reverse;
  }

  #itbankSection .main-benefit>.container {
    padding: 0 !important;
    gap: 16px !important;
  }

  /* 아이콘 그리드 2×3 (더 넓은 터치 영역) */
  #itbankSection .main-benefit .rgt .tab ul {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: var(--spacing-md) 10px !important;
  }

  #itbankSection .main-benefit .rgt .tab ul li a {
    min-height: 80px !important;
    padding: 16px 0 !important;
    font-size: 14px !important;
    border: 1px solid #eaeaea;
    border-radius: 8px;
    justify-content: flex-start !important;
    height: 100% !important;
  }

  #itbankSection .main-benefit .rgt .tab ul li a::before {
    display: block;
    width: 52px !important;
    height: 52px !important;
    margin-bottom: 4px !important;
    transition: transform 0.3s;
    background-image: url(/asset/images/main/icon/2024/icon_benefits.png?v2) !important;
  }

  #itbankSection .main-benefit .rgt .tab01 ul li:nth-child(1) a::before {
    background-position: -30px -30px !important;
  }

  #itbankSection .main-benefit .rgt .tab01 ul li:nth-child(2) a::before {
    background-position: calc(-138px * 1) -30px !important;
  }

  #itbankSection .main-benefit .rgt .tab01 ul li:nth-child(3) a::before {
    background-position: calc(-250px * 1) -30px !important;
  }

  #itbankSection .main-benefit .rgt .tab01 ul li:nth-child(4) a::before {
    background-position: calc(-360px * 1) -30px !important;
  }

  #itbankSection .main-benefit .rgt .tab01 ul li:nth-child(5) a::before {
    background-position: calc(-468px * 1) -30px !important;
  }

  #itbankSection .main-benefit .rgt .tab01 ul li:nth-child(6) a::before {
    background-position: calc(-578px * 1) -30px !important;
  }

  #itbankSection .main-benefit .rgt .tab02 ul li:nth-child(1) a::before {
    background-position: -30px -140px !important;
  }

  #itbankSection .main-benefit .rgt .tab02 ul li:nth-child(2) a::before {
    background-position: calc(-138px * 1) -140px !important;
  }

  #itbankSection .main-benefit .rgt .tab02 ul li:nth-child(3) a::before {
    background-position: calc(-250px * 1) -140px !important;
  }

  #itbankSection .main-benefit .rgt .tab02 ul li:nth-child(4) a::before {
    background-position: calc(-360px * 1) -140px !important;
  }

  #itbankSection .main-benefit .rgt .tab02 ul li:nth-child(5) a::before {
    background-position: calc(-468px * 1) -140px !important;
  }

  #itbankSection .main-benefit .rgt .tab02 ul li:nth-child(6) a::before {
    background-position: calc(-578px * 1) -140px !important;
  }



  #itbankSection .main-benefit .rgt .tab ul li:hover a::before {
    transform: initial !important;
  }

  /* 제목 폰트 더 작게 */
  #itbankSection .main-benefit .lft {
    text-align: left !important;
  }

  #itbankSection .main-benefit .lft .tit {
    font-size: 22px !important;
    margin: 0px 0px 15px !important;
    font-weight: 700 !important;
  }

  /* tabbox 버튼 터치 타겟 확보 */
  #itbankSection .main-benefit .lft .tabbox a {
    min-height: initial !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px 16px !important;
    font-size: 14px !important;
  }

  /* ----- Next Section ----- */

  #itbankSection .main-guide {
    padding-bottom: 0px !important;
  }

  #itbankSection .main-guide>.container {
    padding: 0px !important;
  }

  /* 카드 1열 세로 스택 */
  #itbankSection .main-guide ul {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
  }

  #itbankSection .main-guide ul li {
    margin-left: 0px !important;
    border-radius: 8px !important;
    overflow: hidden !important;
  }

  #itbankSection .main-guide ul li:hover {
    transform: none !important;
    background-color: #edf2f0 !important;
    box-shadow: none !important;
  }

  #itbankSection .main-guide ul li h5 b {
    display: block;
  }

  #itbankSection .main-guide ul li .inner {
    min-height: 136px !important;
    padding: 16px !important;
  }

  /* 제목 더 작게 */
  #itbankSection .main-guide ul li .inner h5 {
    font-size: 16px !important;
    margin-bottom: var(--spacing-sm) !important;
  }

  /* 설명 더 작게 */
  #itbankSection .main-guide ul li .inner .txt {
    display: none;
  }

  #itbankSection .main-guide ul li .btm::after {
    content: none !important;
  }

  #itbankSection .main-guide ul li .btm {
    position: relative !important;
    height: initial !important;
    padding: 0 !important;
    bottom: 0 !important;
  }

  /* 목표기간 더 작게 */
  #itbankSection .main-guide ul li .inner .btm {
    display: flex !important;
    align-items: center !important;
    bottom: 0px !important;
    padding: 0px !important;
  }

  #itbankSection .main-guide ul li .inner .btm .term {
    font-size: 14px !important;
    padding: 0px !important;
  }

  /* ----- Next Section ----- */
  #itbankSection .main-board {
    padding-top: 0px !important;
    padding-bottom: 40px !important;
  }

  #itbankSection .main-board>.container {
    padding: 0px !important;
    gap: 25px !important;
  }

  /* 제목 더 작게 */
  #itbankSection .main-board .main-subtit {
    font-size: 22px !important;
  }

  /* 게시글 목록 패딩 축소 */
  #itbankSection .main-board .box {
    padding: 0px 4px !important;
    border: none !important;
    height: auto !important;
  }

  #itbankSection .main-board .box ul li .txt {
    width: 70% !important;
    font-size: 14px !important;
  }

  #itbankSection .main-board .box .a-more {
    font-size: 14px !important;
    right: 24px !important;
  }

  #itbankSection .main-board .box .a-more::before {
    right: -8px !important;
  }

  #itbankSection .main-board .box .a-more::after {
    right: -12px !important;
  }

  #itbankSection .main-board .box a,
  #itbankSection .main-board .list a {
    min-height: auto !important;
    padding: 0 !important;
    display: block !important;
    box-sizing: border-box;
  }

  /* ----- Next Section ----- */

  #itbankSection .review-wrap {
    background: url("/asset/images/review/bg_review.png") center center no-repeat !important;
    border-radius: 8px  !important;
    height: 254px !important;
    padding: 20px  !important;
    display: flex  !important;
    align-items: flex-start  !important;
    justify-content: space-between  !important;
    background-size: cover  !important;
  }
  #itbankSection .review-wrap .title-area h2,
  #itbankSection .review-wrap .title-area h2 .highlight{
    font-size: 20px !important;
    line-height: normal !important;
  }
#itbankSection .review-wrap .cards-area {
    position: absolute !important;
    width: 50% !important;
    right: 12px !important;
    bottom: 12px !important;
    height: 166px !important;
    margin-bottom: 0 !important;
}


#itbankSection .review-wrap .card {
    font-size: 11px !important;
  }
#itbankSection .review-wrap .card-1 {
    animation-delay: 0.7s;
    display: none;
}

  #itbankSection .main-interview {
    padding: 40px 0 0 0 !important;
  }

  #itbankSection .main-interview>.container {
    padding: 0px !important;
  }

  /* Swiper 슬라이드 패딩 축소 */
  #itbankSection .main-interview .swiper-slide {
    padding: 20px !important;
    border-radius: 8px !important;
  }

  #itbankSection .main-interview .swiper-slide a {
    padding: 0 !important;
  }

  /* 텍스트 더 작게 */
  #itbankSection .main-interview .swiper-slide .txt {
    font-size: var(--font-sm) !important;
    margin-bottom: var(--spacing-md) !important;
    min-height: 63px;
  }


  /* 정보 더 작게 */
  #itbankSection .main-interview .swiper-slide .info {
    flex-direction: column;
    align-items: flex-start;
    font-size: var(--font-xs) !important;
  }

  #itbankSection .main-interview .swiper-slide .info .name,
  #itbankSection .main-interview .swiper-slide .info .sub {
    font-size: 12px !important;
  }

  /* Swiper 컨트롤 간격 축소 */
  #itbankSection .main-interview .swiper-act {
    display: none !important;
  }

  /* Swiper prev/next 터치 타겟 확보 (모바일에서도 44px 유지) */
  #itbankSection .main-interview .swiper-act .navi {
    width: var(--touch-target) !important;
    height: var(--touch-target) !important;
  }

  /* play/stop 컨트롤 숨김 (공간 절약) */
  #itbankSection .main-interview .swiper-controls {
    display: none !important;
  }

  /* ----- Next Section ----- */

  #itbankSection .main-intro>.container {
    padding: 0px !important;
  }

  /* lft 박스 세로 스택 */
  #itbankSection .main-intro .box {
    width: 100% !important;
  }

  #itbankSection .main-intro .lft {
    flex-direction: column !important;
    gap: var(--spacing-md) !important;
  }

  /* rgt 박스 세로 스택 */
  #itbankSection .main-intro .rgt {
    flex-direction: column !important;
    gap: var(--spacing-md) !important;
    margin-left: 0 !important;
  }

  #itbankSection .main-intro .rgt .box:nth-child(2) {
    margin-left: 0px !important;
  }

  #itbankSection .main-intro .rgt .box {
    padding: 0px !important;
  }

  #itbankSection .main-intro .rgt .box .txtbox {
    padding: 24px !important;
    border-top-left-radius: 8px !important;
    border-top-right-radius: 8px !important;
    height: auto !important;
  }

  #itbankSection .main-intro .rgt .box .txtbox ol li {
    font-size: 14px !important;
  }

  /* 제목 더 작게 */
  #itbankSection .main-intro .rgt .box .tit {
    font-size: var(--font-base) !important;
  }

  /* 하단 문구 더 작게 */
  #itbankSection .main-intro .btm {
    display: none !important;
  }

  /* ----- Next Section ----- */

  .main-agreement>.container {
    padding: 0px !important;
  }

  /* 로고 그리드 2×3 */
  .main-agreement ul {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 2px 12px !important;
    padding: 24px 0px !important;
  }

  .main-agreement ul {
    height: initial !important;
  }

  .main-agreement ul li a {
    text-align: center;
  }

  .main-agreement ul li:nth-child(6) a>img {
    width: initial !important;
    height: 100% !important;
  }

  #itbankSection .main-intro {
    padding-top: 24px !important;
  }

  #itbankSection .main-intro .lft .box {
    width: 92% !important;
    margin: 0 auto;
    height: 120px !important;
    min-height: 120px !important;
  }

  #itbankSection .main-intro .lft .box .txt {
    font-size: 22px !important;
    padding-top: 32px !important;
  }

  #itbankSection .main-intro .lft .box:nth-child(1) {
    background-position: bottom right !important;
    background-size: 60% !important;
  }

  #itbankSection .main-intro .lft .box:nth-child(2) {
    margin: 0 auto !important;
    background-position: bottom right !important;
    background-size: 60% !important;
  }

  #itbankFooter .btn-famliy {
    display: none !important;
  }

  /* 수강신청 */
  .term-tab a {
    width: 100% !important;
    padding: 8px 12px !important;
    font-size: 16px !important;
    border-top-left-radius: 4px !important;
    border-top-right-radius: 4px !important;
  }

  .term-tab a.on::before {
    content: none !important;
  }

  .term-tab a:not(:nth-child(1)) {
    margin-left: 0px !important;
  }

  .term-box {
    padding: 12px 0 !important;
    border-radius: 4px !important;
    border-top-left-radius: unset;
  }

  .term-box .inner {
    display: flex;
    align-items: flex-start !important;
    flex-direction: column !important;
    padding: 0 24px;
  }

  .term-box .group:not(:first-of-type) {
    border-left: none !important;
  }

  .table-wrap {
    border-top: transparent !important;
  }

  .table-wrap table.col tr td {
    padding: 8px 4px !important;
  }

  .academic-schedule .mt30 {
    margin-top: 12px !important;
  }

  .academic-schedule .fold-wrap .tit-box {
    padding: 0 12px !important;
    font-size: 18px !important;
    align-items: flex-start !important;
    position: relative !important;
    flex-direction: column !important;
    justify-content: center !important;
  }

  .academic-schedule .fold-wrap .tit-box .tag {
    font-size: 12px !important;
  }

  .academic-schedule .fold-wrap .tit-box::after {
    right: 12px !important;
    top: 47px !important;
    border-width: 2px 2px 0 0 !important;
  }

  .academic-schedule .fold-wrap .cnt-list {
    padding: 12px !important;
  }

  .scholarship-wrap .rank-box li {
    height: auto !important;
    padding: 8px;
    font-size: 14px !important;
  }

  .scholarship-wrap .info-list li {
    margin: 8px 0 !important;
  }

  .scholarship-wrap .info-list li .w120 {
    width: 80px !important;
  }

  .scholarship-wrap .info-list {
    padding: 12px !important;
  }

  /* 회원가입 */
  #memberSection .top-box {
    padding: 45px 0 30px !important;
  }

  #memberSection .top-box h3 {
    font-size: 24px !important;
  }

  #memberSection .top-box .sub {
    font-size: 14px !important;
    color: #666 !important;
  }

  /* 페이지 배경 시안 정합(#F5F8F7=bg-subtle-green) — MO 한정, PC(member.css #f5f5f5) 미영향 */
  #memberSection {
    background-color: var(--bg-subtle-green, #F5F8F7) !important;
  }

  /* 일반 회원가입 CTA 시안 정합: 328(=100%)×48, 14 Bold, radius 8 */
  .signup-type-wrap .signup-normal-button {
    height: 48px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
  }

  #memberSection .content {
    padding: 12px !important;
  }

  /* [R2] 로그인 시안 정합: 흰 .content 단일 패널 → 그린 배경(#F5F8F7) 위 흰 카드 분리 (MO·login-page 한정).
     .content 투명화 + 각 .box를 흰 카드로 승격(카드 자체 bg가 없어 투명화만으론 전면 그린이 되어 카드 대비 소실됨).
     scope=#memberSection.login-page → 로그인 전용, 타 페이지 .content 무영향 / 가입은 .content 미존재로 미해당(round1 배경으로 이미 충족). */
  #memberSection.login-page .content {
    background: transparent !important;
    padding: 0 16px !important;
  }

  /* [P6] 로그인 container 폭 복원 — 전역 `.container{width:92%}`가 외곽(#itbankSection)+내부(.login-wrap .container)
     이중 적용되어 92%×92%≈84.6%로 카드가 좁아짐. 외곽=100%(여백은 .content padding 0 16px 로 단일화),
     내부=100%(92% 복리 제거)로 시안 660:3716(360 풀폭-좌우 16px) 정합. login-page 스코프라 타 페이지 무영향. */
  #memberSection.login-page #itbankSection {
    width: 100% !important;
  }

  #memberSection.login-page .login-wrap .container {
    gap: 24px !important;
    width: 100% !important;
    margin: 0 !important;
  }

  #memberSection.login-page .login-wrap .box {
    background: #fff !important;
    padding: 24px 20px 32px !important;
  }

  .join-stepWrap {
    margin-top: 24px !important;
  }

  .join-stepWrap ol li:first-child {
    margin-left: 0 !important;
  }

  .join-stepWrap ol li {
    margin-left: 24px !important;
  }

  .join-stepWrap ol li .circle {
    width: 42px !important;
    height: 42px !important;
    border-radius: 50%;
    margin: 0 auto;
  }

  .join-stepWrap ol li .txt {
    margin-top: 8px !important;
  }

  .join-stepWrap ol li::before {
    content: none !important;
  }

  .join_notice li {
    font-size: 14px !important;
  }

  .agreeList-wrap .agree-check .check-box {
    margin: 4px !important;
    min-height: initial !important;
  }

  .agreeList-wrap .agree-check .check-box label {
    margin: 4px !important;
    min-height: initial !important;
  }

  .agreeList-wrap .agree-check .tag {
    margin-right: 4px !important;
  }

  .agreeList-wrap .agree-check .inner {
    height: initial !important;
    padding: 0 4px !important;
    align-items: flex-start !important;
    flex-direction: column !important;
  }

  .agreeList-wrap .agree-check.marketing-check .check-box label {
    flex-direction: column;
    align-items: flex-start !important;
  }

  .agreeList-wrap .agree-list li .a-more {
    font-size: 14px !important;
    margin-left: auto;
    margin-bottom: 4px;
  }

  .join-btmwrap {
    margin-top: 42px !important;
  }

  .agreeList-wrap .agree-list .more-detail {
    height: 200px !important;
    padding: 12px 0 !important;
  }

  .agreeList-wrap .agree-list .more-detail .inner {
    padding: 0 12px 12px !important;
  }

  .agreeList-wrap .agree-list .more-detail * {
    font-size: 14px !important;
  }

  .policy-terms-wrap .box {
    margin-bottom: 24px !important;
  }

  .popsimpleauth {
    margin: 0 !important;
    padding: 12px 0 0 0 !important;
    border-radius: 8px !important;
  }

  .popsimpleauth h4 {
    font-size: 22px !important;
    margin: 12px 0 !important;
  }

  .popsimpleauth .icon-box {
    width: 60px !important;
    height: 60px !important;
  }

  .popsimpleauth .icon-box>img {
    width: 50% !important;
  }

  .OtherAuthentication {
    margin: 12px 0 !important;
    padding: 12px !important;
    border: 1px solid #d2d2d2;
    border-radius: 8px !important;
  }

  .OtherAuthentication .group {
    flex-direction: column !important;
    gap: 8px !important;
  }

  .OtherAuthentication .group select {
    margin-right: 0 !important;
  }

  .input-wrap {
    flex-direction: column;
  }

  .input-wrap .lft {
    width: 100% !important;
    padding: 8px 0 4px 0px !important;
    background-color: #fff !important;
  }

  .input-wrap .rgt {
    min-height: initial !important;
    padding: 4px 0 8px 0px !important;
  }

  .input-wrap .rgt select {
    width: 100% !important;
  }

  .input-wrap .rgt .hp-box select {
    width: 24% !important;
  }

  .input-wrap .rgt .hp-box input[type="text"] {
    width: 70% !important;
  }

  .input-wrap .rgt.code-box input[type="text"] {
    width: 66% !important;
  }

  .input-wrap .rgt.code-box .btn-stage {
    line-height: initial !important;
    min-width: initial !important;
    min-height: var(--touch-target) !important;
    width: initial !important;
  }

  .input-wrap .lft label>br {
    display: none !important;
  }

  .input-wrap .rgt.address-box input[type="text"] {
    width: 66% !important;
  }

  .input-wrap .rgt.address-box .btn-stage {
    line-height: initial !important;
    min-width: initial !important;
    min-height: var(--touch-target) !important;
    width: initial !important;
  }

  .input-wrap .rgt.address-box div:nth-child(2) input[type="text"] {
    width: 100% !important;
    margin: 2px 0px !important;
  }

  .input-wrap .rgt .LastSchoolName-box>div {
    margin-left: 0px !important;
  }

  .input-wrap .rgt .LastSchoolName-box>div label {
    display: block;
    width: 100%;
  }

  .input-wrap .rgt .LastSchoolName-box>div select {
    width: calc(33.333% - 8px) !important;
  }

  .input-wrap .rgt.university-box div:nth-child(1) {
    flex: 1 !important;
  }

  .input-wrap .rgt.university-box div:nth-child(2) {
    margin-left: 0px !important;
  }

  .input-wrap .rgt.university-box div:nth-child(2) input[type="text"] {
    width: 100% !important;
    margin: 2px 0px !important;
  }

  .input-wrap .rgt .LearningObjectives-box,
  .input-wrap .rgt .InterestCerts-box,
  .input-wrap .rgt .SignUpPath-box,
  .input-wrap .rgt .InterestMajors-box {
    width: 100% !important;
  }

  .input-wrap .rgt .LearningObjectives-box .w215,
  .input-wrap .rgt .InterestCerts-box .w215,
  .input-wrap .rgt .SignUpPath-box .w215,
  .input-wrap .rgt .InterestMajors-box .w215 {
    width: calc(50% - 8px) !important;
  }

  #itbankFooter .fnb ul {
    gap: 8px 12px;
  }

  #itbankFooter .fnb ul li {
    gap: 12px !important;
  }

  #itbankFooter .fnb ul li a {
    font-size: 14px !important;
  }

  #itbankFooter .infomation .foot-text address p span {
    margin-right: initial !important;
  }

  /* 로그인창 */
  .login-wrap {
    padding: 12px 0 !important;
  }

  .login-wrap .container {
    flex-direction: column !important;
  }

  .login-wrap .container fieldset .mt45 {
    margin-top: 12px !important;
  }

  .login-wrap .box {
    padding: 0 !important;
  }

  .login-wrap .box h4 {
    font-size: 18px !important;
    font-weight: 600 !important;
    margin-bottom: 12px !important;
  }

  .login-wrap .box h4:not(:first-child) {
    margin-top: 24px !important;
  }

  .login-wrap .form-group .text-input {
    height: 48px !important;
    border-color: #E0E0E0 !important;
  }

  .login-wrap .form-group .text-input::placeholder {
    color: #999 !important;
  }

  .login-wrap .btn-login {
    height: 48px !important;
    border-radius: 4px !important;
  }

  #itbankSection .btn {
    width: 100% !important;
    border-radius: 8px;
    line-height: initial;
    font-size: 14px;
  }

  #itbankSection .btn.close {
    overflow: hidden;
    text-indent: -99em;
  }

  .lecture-tab ul li {
    width: 170px;
  }

  .lecture-tab ul li a {
    font-size: 15px;
  }

  .lecture-tab ul li.active a:before {
    top: 0px;
    left: 0px;
  }

  .lecture-tab ul li.active a:after {
    content: none;
  }

  .refund-step-wrap ul {
    width: auto;
  }

  .refund-step-wrap ul li {
    width: 68px;
  }

  td.h60 {
    height: initial !important;
  }

  #itbankSection .check-box input[type="checkbox"] {
    width: 18px;
    height: 18px;
    position: relative;
    opacity: 1;
  }

  /* [공통] #itbankSection 폼 체크박스(.check-active) 이중 글리프 제거 — 로그인·메인상담·학습설계·회원정보·환불/신청 등 전 페이지 일반화.
     (기존 로그인 [P1]·메인상담 [P12] 페이지별 스코프를 .check-active 공통 스코프로 승격 — 동일 선언, 중복 제거)
     원인: responsive-tablet.css(@media ≤1024)가 native input을 숨기고 label 사각 pseudo(22px)를 그리는데,
     상단 규칙(@media ≤767, #itbankSection .check-box input[type=checkbox])이 native input을 재노출(opacity:1, 18px)해
     native 18px + pseudo 22px 이중 렌더. 처리: .check-active 공통 스코프로 사각 pseudo 억제 +
     native input을 원형 20×20 체크박스로 직접 스타일(키보드 포커스·클릭 동작 보존).
     범위 한정: .check-active만 대상 → cart-wrap 등 plain .check-box(글리프 시각 컨트롤)·radio-box는 미영향,
     태블릿(≤1024) 글리프·PC(≥1025)도 무변경. 히트영역=input 20×20 직접지정(padding/::before는 히트영역 미발현 함정 회피). */
  #itbankSection .check-box.check-active label::before,
  #itbankSection .check-box.check-active label::after {
    content: none !important;
  }

  #itbankSection .check-box.check-active input[type="checkbox"] {
    position: static !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important; /* responsive-common 전역 input[type=checkbox]{margin:12px}가 static 전환 후 행고 44px·들여쓰기 유발 → 격파(라디오 리듬 정합) */
    opacity: 1 !important;
    background: #fff !important;
    border: 1px solid #D1D1D1 !important;
    border-radius: 50% !important;
    box-sizing: border-box !important;
    -webkit-appearance: none;
    appearance: none;
  }

  #itbankSection .check-box.check-active input[type="checkbox"]:checked {
    background: url('/asset/images/lecture/icon_check_on.svg') no-repeat center / cover !important;
    border: 0 !important;
  }

  #itbankSection .check-box.check-active label {
    padding-left: 8px !important;
  }

  .voucher-wrap .cntbox .cnt .btn3-1 {
    bottom: 0% !important;
    height: 5% !important;
    min-height: inherit !important;
    max-width: 40% !important;
    left: 10% !important;
  }

  .voucher-wrap .cntbox .cnt .btn3-2 {
    bottom: 0% !important;
    height: 5% !important;
    min-height: inherit !important;
    max-width: 40% !important;
    right: 10% !important;
    left: initial !important;
  }

  .voucher-wrap .cntbox .cnt .btn3-3 {
    bottom: 14% !important;
    height: 11% !important;
    min-height: inherit !important;
  }

  .voucher-wrap .cntbox .cnt .btn1-1 {
    bottom: 4% !important;
    height: 3.3% !important;
    min-height: inherit !important;
  }

  .login-wrap .btm {
    margin-top: 42px !important;
  }

  .login-wrap .btm>p {
    display: none;
  }

  /* [PS-001-MO-003] 하단 링크 chevron(.ico) 세로정렬 보정 — 링크를 flex 로 만들어 아이콘을
     텍스트 라인박스 중앙에 결정적으로 정렬. vertical-align:middle 은 폰트(Pretendard) x-height
     의존이라 웹폰트 미로드 시 어긋남 → align-items:center 로 폰트 무관 세로중앙(.ico 규칙은 폴백 유지). */
  .login-wrap .btm a {
    display: flex;
    align-items: center;
  }

  .login-wrap .btm a .ico {
    margin-top: 0 !important;
    vertical-align: middle;
  }

  /* [P3] 하단 '아이디/비밀번호 찾기'(link2) 링크색 #555 + 항목 간 세로 구분선 12px #D1D1D1 (시안 정합) */
  .login-wrap .btm a.link2 {
    color: #555 !important;
  }

  .login-wrap .btm a.link2 .ico {
    stroke: #555 !important;
  }

  .login-wrap .btm a.link2::after {
    background-color: #555 !important;
  }

  .login-wrap .btm a.link2::before {
    content: '';
    position: absolute;
    left: -20px;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 12px;
    background-color: #D1D1D1;
  }

  /* [R3 교정] SNS 간편 버튼 MO(≤767)만 52×52 정사각(gap 12, radius 8). PC(base)는 원복값 유지:
     로그인=64×64/gap16(login_*.png 공용, 크기만 축소) · 가입=와이드 150×52/gap15(join_*.png).
     가입 MO 정사각은 SignupType의 <picture> source(login_*.png)로 이미지 스왑 + 아래 CSS로 52×52.
     (PC 시안 정본 1:49/56:179 회귀 방지 — base member.css는 무변경) */
  .login-wrap .simple-login ul {
    gap: 12px !important;
  }

  .login-wrap .simple-login-button {
    width: 52px !important;
    height: 52px !important;
    border-radius: 8px !important;
  }

  .signup-type-wrap .join-simple-login ul {
    justify-content: center !important;
    gap: 12px !important;
  }

  .signup-type-wrap .join-simple-login li {
    width: auto !important;
  }

  .signup-type-wrap .join-simple-login .simple-login-button {
    width: 52px !important;
    height: 52px !important;
    border-radius: 8px !important;
    overflow: hidden !important;
  }

  /* [R4 캐스케이드 승자 강제] responsive.css가 responsive-mobile.css를 캐시버스터 없는 bare-URL로
     재-@import(_MemberCommon body, L48 fresh ?v=보다 뒤)해 '스테일 사본'이 마지막 로드→동일 특이성 규칙을 덮음.
     피해 대상 = 기존 mobile 규칙의 '값만 수정'분(title/sub/h4/input/btn) — 신규 규칙(체크박스·카드·SNS)은 스테일 사본에 없어 무영향(PASS).
     처리: fresh 규칙을 id/page-class로 특이성 상향해 스테일 사본(저특이성)을 확실히 이김. 전부 @media ≤767 → PC 무영향.
     ⚠ 근본 해소는 배포 시: responsive-mobile.css 캐시버스터 갱신 + responsive.css의 bare @import에도 ?v 부여 권장. */
  #memberSection.login-page .top-box h3,
  #memberSection.signup-type-section .top-box h3 {
    font-size: 24px !important;
  }

  #memberSection.login-page .top-box .sub,
  #memberSection.signup-type-section .top-box .sub {
    font-size: 14px !important;
    color: #666 !important;
  }

  #itbankSection .login-wrap .box h4 {
    font-size: 18px !important;
    font-weight: 600 !important;
  }

  #itbankSection .login-wrap .form-group .text-input {
    height: 48px !important;
    min-height: 48px !important;
    border-color: #E0E0E0 !important;
  }

  #itbankSection .login-wrap .form-group .text-input::placeholder {
    color: #999 !important;
  }

  #itbankSection .login-wrap .btn-login {
    height: 48px !important;
  }

  /* [R4] 가입 SNS: dev에서 <picture> source 미발현(뷰 스테일/소스선택 이슈) 대비 — MO에서 login 정사각 아이콘을
     CSS 배경으로 확정 표출(picture/img는 MO에서 숨김). PC(>767)는 미적용 → picture img=join 와이드 유지.
     각 버튼 브랜드 클래스(naver/kakao/google)는 SignupType.cshtml에 부여(로그인 마크업 관례 동일). */
  .signup-type-wrap .join-simple-login .simple-login-button.naver {
    background: url('/asset/images/member/login_naver.png') no-repeat center / cover !important;
  }

  .signup-type-wrap .join-simple-login .simple-login-button.kakao {
    background: url('/asset/images/member/login_kakao.png') no-repeat center / cover !important;
  }

  .signup-type-wrap .join-simple-login .simple-login-button.google {
    background: url('/asset/images/member/login_google.png') no-repeat center / cover !important;
  }

  .signup-type-wrap .join-simple-login .simple-login-button picture,
  .signup-type-wrap .join-simple-login .simple-login-button img {
    display: none !important;
  }

  #itbankSection .check-box,
  #itbankSection .check-box.check-active,
  #itbankSection .check-box label {
    min-height: initial !important;
  }

  .dft-tap ul>li.act::before {
    content: none !important;
  }

  /* 수강신청 */
  .col[role="table"] .thead {
    display: none !important;
  }

  .col[role="table"] .tbody .tr:first-child {
    border-top: 1px solid #e5e7eb;
  }

  .col[role="table"] .tbody .tr:hover {
    background: transparent !important;
  }

  .col[role="table"] .td {
    padding: initial !important;
    min-height: 54px;
  }

  .classAll-wrap .tag {
    padding: 2px 14px !important;
    min-width: initial !important;
    min-height: initial !important;
  }

  .col[role="table"] .tr>.td:nth-child(2),
  .col[role="table"] .thead .th:nth-child(2) {
    flex: 0 0 100px !important;
  }

  .col[role="table"] .tr>.td:nth-child(4),
  .col[role="table"] .thead .th:nth-child(4),
  .col[role="table"] .tr>.td:nth-child(5),
  .col[role="table"] .thead .th:nth-child(5),
  .col[role="table"] .tr>.td:nth-child(6),
  .col[role="table"] .thead .th:nth-child(6),
  .col[role="table"] .tr>.td:nth-child(7),
  .col[role="table"] .thead .th:nth-child(7) {
    display: none !important;
  }

  .addCart {
    position: fixed;
    z-index: 9;
    bottom: 0;
    left: 0;
  }

  /* 학점은행제 */
  .cb-intro-wrap .goal-list {
    gap: 8px;
  }

  .cb-intro-wrap .goal-list li {
    padding: 16px;
    font-size: 14px;
  }

  .cb-paper-list dl {
    display: flex;
    margin: 12px 0;
    flex-direction: column;
  }

  .cb-paper-list dd {
    margin-left: 12px;
  }

  .cb-caution-list .li-box {
    padding: 12px 0;
  }

  .cb-caution-list .li-box h3 {
    font-size: 20px;
  }

  .cb-caution-list .li-box div>img {
    display: none;
  }

  .cb-caution-list .li-box .sub-box {
    padding: 14px;
  }

  .cb-notice-wrap,
  .dft-notice-wrap {
    padding: 12px;
  }

  /* 학습지원 */
  .remoteGuide-wrap .step-box {
    padding: 12px;
  }

  .remoteGuide-wrap .step-box .num {
    font-size: 12px;
  }

  .remoteGuide-wrap .step-box p.f20 {
    font-size: 18px !important;
  }

  .remoteGuide-wrap .step-box .a-btn {
    display: block;
    text-align: center;
  }

  .remoteGuide-wrap .step-box .inner .rgt {
    justify-content: flex-end;
  }

  .remoteGuide-wrap .step-box .inner .rgt>img {
    width: 70%;
  }

  .library-wrap .visual {
    height: 240px;
    padding-bottom: initial !important;
    background: url(/asset/images/sub/support/library/bg_visual.jpg) center bottom no-repeat;
  }

  .library-wrap .visual .inner {
    padding-left: inherit !important;
  }

  .library-wrap .visual .txt {
    font-size: 22px;
  }

  .library-wrap .container .mt100 {
    margin-top: 0px !important;
  }

  .library-wrap .ex-link {
    gap: 24px;
  }

  .library-wrap .ex-link a:not(:first-child) {
    border-left: transparent !important;
  }

  .moGuide-wrap .visual .pl100 {
    padding-left: initial !important;
  }

  .moGuide-wrap .visual .txt {
    font-size: 22px;
  }

  .moGuide-wrap .usable-cnt .box {
    align-items: flex-start;
    padding: 12px;
    border-radius: 8px;
    flex-direction: column;
  }

  .moGuide-wrap .tab-box-wrap .box {
    padding: 12px;
  }

  .moGuide-wrap .tab-box-wrap .box h4 {
    font-size: 18px;
    padding-top: 12px;
    padding-bottom: 12px;
    margin-right: 0px;
    text-align: center;
  }

  .moGuide-wrap .step-wrap .step-line {
    display: none;
  }

  .moGuide-wrap .step-wrap .step {
    font-size: 18px;
  }

  .moGuide-wrap .tab-box-wrap .box h4::before {
    content: none;
  }

  .moGuide-wrap .tab-box-wrap .box h4>br {
    display: none;
  }

  .moGuide-wrap .tab-box-wrap .box div {
    display: flex;
    flex-direction: column;
  }

  .moGuide-wrap .tab-box-wrap .box ol {
    flex-direction: column;
  }

  /* 평생교육원 */
  .center-greeting-wrap .visual {
    height: 240px;
  }

  .center-history-wrap {
    padding: 0 !important;
  }

  .center-history-wrap .cnt-year::before {
    content: none;
  }

  /* 전공소개 */
  .major-info-wrap .top-box {
    padding: 12px 24px;
  }

  .major-info-wrap .top-box .tit {
    font-size: 22px;
  }

  .major-info-wrap .picto-wrap ul {
    flex-direction: column;
  }

  .major-info-wrap .picto-wrap ul li {
    padding: 12px 0;
  }

  .major-info-wrap .picto-wrap ul li p {
    margin-top: initial !important;
    font-size: 16px !important;
  }

  .major-info-wrap .picto-wrap ul li>img {
    width: 20%;
  }

  /* QA 지적(전공소개 표 좌열 과대): 추천자격증 표 좌열이 <col width="308px"> 고정이라 MO에서 과점유.
     기존 규칙이 #inform-1(IT 1번 탭)에만 걸려 나머지 탭·건축공학이 미적용이던 것을 전공소개 공통(.major-info-wrap)으로 확대.
     IT #inform-1~5 · 디자인 #inform-6~8 · 건축공학 전부 동일 마크업. 표 auto-layout이라 20%는 하한 힌트로 동작(내용이 넓으면 자동 확장). */
  .major-info-wrap .table-wrap table colgroup col:first-child {
    width: 20%;
  }

  .major-guide-wrap .rect-diagram {
    gap: 12px
  }

  .major-guide-wrap .rect-diagram>div {
    flex-direction: column;
  }

  .major-guide-wrap .rect-diagram .rgt .shape {
    width: initial;
  }

  .major-guide-wrap .rect-diagram .lft .shape {
    color: #333;
    font-size: 14px;
    font-weight: 500;
    position: relative;
    padding: 0 20px;
  }

  .major-guide-wrap .rect-diagram .rgt .shape::before {
    content: '';
    position: absolute;
    top: -28%;
    transform: rotate(90deg);
    background: url(/asset/images/sub/major/icon_arrow.png) center center no-repeat;
    width: 52px;
    height: 21px;
    background-size: contain;
  }

  /* 공통요소 */
  .f16 {
    font-size: 14px !important;
  }

  .f28 {
    font-size: 20px !important;
  }

  .mt60 {
    margin-top: 20px !important;
  }

  .mb50 {
    margin-bottom: 24px !important;
  }

  .mb60 {
    margin-bottom: 20px !important;
  }

  .mb80 {
    margin-bottom: 42px !important;
  }

  .mt50 {
    margin-top: 24px !important;
  }

  /* ============================================================================
     Section 9: CourseReg - 수강신청 결제 페이지 (모바일 최적화)
     ============================================================================ */

  /* 9.1 모달 닫기 버튼 */
  .modal-wrap .btn-clse {
    width: 44px !important;
    height: 44px !important;
    background: url("/asset/images/lecture/icon_close_black.png") no-repeat center center !important;
    background-size: 20px 20px !important;
    right: 15px !important;
    top: 15px !important;
  }

  /* 9.1.1 환불규정 팝업 modal-inner 크기 조정 (모바일) */
  #pop-refund-cb .modal-inner,
  #pop-refund-license .modal-inner {
    width: calc(100vw - 40px) !important;
    max-width: 100% !important;
    max-height: calc(100vh - 80px) !important;
    overflow-y: auto !important;
    padding: 20px !important;
  }

  /* 9.1.2 환불규정 팝업 제목이 우상단 닫기(X) 버튼과 겹치지 않도록 우측 여백 확보 (모바일)
     닫기버튼 44px @ right:15px → 제목 우측에 버튼 폭+여백만큼 padding 확보. 환불팝업만 스코프. */
  #pop-refund-cb .modal-inner h3,
  #pop-refund-license .modal-inner h3 {
    padding-right: 48px !important;
  }

  /* 9.2 결제정보 테이블 카드 레이아웃 */
  table#payInfo {
    display: block;
    border: none;
  }

  table#payInfo thead {
    display: none;
  }

  table#payInfo tbody,
  table#payInfo tr {
    display: block;
    margin-bottom: 20px;
    border: 1px solid #dfdfdf;
    border-radius: 8px;
    padding: 15px;
    background: #fff;
  }

  table#payInfo td {
    display: block;
    text-align: left;
    padding: 10px 0;
    border: none;
    border-bottom: 1px solid #f0f0f0;
  }

  table#payInfo td:last-child {
    border-bottom: none;
  }

  table#payInfo td::before {
    content: attr(data-label);
    font-weight: 700;
    color: #333;
    display: inline-block;
    width: 100px;
    margin-right: 10px;
  }

  table#payInfo td[data-label="강의계획"] {
    text-align: center;
  }

  table#payInfo td[data-label="강의계획"] button {
    width: 100%;
    max-width: 200px;
  }

  /* 9.3 결제 금액 내용 테이블 (.pay-box) - 모바일 전용 */
  .payment-wrap .pay-box {
    border: 2px solid #dfdfdf;
  }

  .payment-wrap .pay-box table {
    display: block;
  }

  .payment-wrap .pay-box thead {
    display: none;
  }

  .payment-wrap .pay-box tbody,
  .payment-wrap .pay-box tr {
    display: block;
  }

  .payment-wrap .pay-box td {
    display: block;
    padding: 15px 20px;
    text-align: left;
    border-bottom: 1px solid #f0f0f0;
  }

  .payment-wrap .pay-box td:last-child {
    border-bottom: none;
    background: #f9f9f9;
    font-size: 18px;
  }

  .payment-wrap .pay-box td::before {
    content: attr(data-label);
    font-weight: 700;
    display: block;
    margin-bottom: 5px;
    color: #666;
  }

  /* 9.4 환불규정 및 학사일정 버튼 */
  .payment-wrap>div:has(.refundInfo_text, .scheduleInfo_text) .flex {
    flex-direction: column;
    align-items: stretch;
  }

  .payment-wrap .refundInfo_text,
  .payment-wrap .scheduleInfo_text {
    width: 100% !important;
    margin: 5px 0 !important;
    height: 50px !important;
    font-size: 14px !important;
  }

  /* 9.5 결제 방법 라디오 버튼 - 모바일 전용 */
  .payment-wrap .job-box {
    flex-direction: column;
    align-items: flex-start !important;
    padding: 20px;
    height: auto !important;
  }

  .payment-wrap .job-box .radio-box {
    margin: 8px 0 !important;
    width: 100%;
    display: inline-flex;
    align-items: center;
  }

  .payment-wrap .job-box .radio-box label {
    font-size: 16px !important;
  }

  /* 9.6 환불규정 팝업 테이블 */
  #pop-refund-cb .table-wrap table,
  #pop-refund-license .table-wrap table {
    display: block;
    border: none;
  }

  #pop-refund-cb thead,
  #pop-refund-license thead {
    display: none;
  }

  #pop-refund-cb tbody,
  #pop-refund-cb tr,
  #pop-refund-license tbody,
  #pop-refund-license tr {
    display: block;
    margin-bottom: 15px;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 15px;
    background: #fafafa;
  }

  #pop-refund-cb td,
  #pop-refund-license td {
    display: block;
    padding: 10px 0;
    border: none;
    border-bottom: 1px solid #f0f0f0;
    text-align: left;
  }

  #pop-refund-cb td:last-child,
  #pop-refund-license td:last-child {
    border-bottom: none;
  }

  #pop-refund-cb td::before,
  #pop-refund-license td::before {
    content: attr(data-label);
    font-weight: 700;
    display: block;
    margin-bottom: 8px;
    color: #333;
    font-size: 14px;
  }

  #pop-refund-cb td[rowspan],
  #pop-refund-license td[rowspan] {
    background: #fff;
    font-weight: 700;
  }

  #pop-refund-cb td[data-label="내용"],
  #pop-refund-license td[data-label="내용"] {
    background: #fffacd;
    padding: 15px;
    font-size: 13px;
  }

  /* 9.7 ShowLecPlan - 주요 학습 평가일정 테이블 */
  .courseplan-wrap .box:nth-child(4) table {
    display: block;
  }

  .courseplan-wrap .box:nth-child(4) thead {
    display: none;
  }

  .courseplan-wrap .box:nth-child(4) tbody,
  .courseplan-wrap .box:nth-child(4) tr {
    display: block;
    margin-bottom: 15px;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 15px;
    background: #fafafa;
  }

  .courseplan-wrap .box:nth-child(4) th,
  .courseplan-wrap .box:nth-child(4) td {
    display: block;
    padding: 10px 0;
    border: none;
    text-align: left;
  }

  .courseplan-wrap .box:nth-child(4) th {
    font-weight: 700;
    color: var(--color1);
    font-size: 15px;
    padding-bottom: 8px;
    border-bottom: 1px solid #e0e0e0;
    margin-bottom: 8px;
    width: 100% !important;
  }

  .courseplan-wrap .box:nth-child(4) td {
    padding-left: 10px;
    color: #666;
  }

  .courseplan-wrap .box:nth-child(4) td span.txc-red {
    display: block;
    margin-top: 5px;
    font-size: 12px;
  }

  /* 9.8 ShowLecPlan - 강의계획서 테이블 */
  .courseplan-wrap .box:nth-child(5) table {
    display: block !important;
  }

  .courseplan-wrap .box:nth-child(5) thead {
    display: none;
  }

  .courseplan-wrap .box:nth-child(5) tbody {
    display: block;
  }

  .courseplan-wrap .box:nth-child(5) tbody tr {
    display: block;
    margin-bottom: 5px;
  }

  .courseplan-wrap .box:nth-child(5) th[scope="row"] {
    display: block;
    background: var(--color1);
    color: white;
    font-size: 16px;
    font-weight: 700;
    padding: 12px 15px;
    border-radius: 8px 8px 0 0;
    text-align: center;
  }

  .courseplan-wrap .box:nth-child(5) td[rowspan] {
    display: block;
    background: #f5f5f5;
    font-weight: 700;
    padding: 12px 15px;
    border-left: 4px solid var(--color1);
    margin-bottom: 10px;
  }

  .courseplan-wrap .box:nth-child(5) td:not([rowspan]) {
    display: block;
    padding: 10px 15px;
    border-bottom: 1px solid #eee;
    text-align: left;
  }

  .courseplan-wrap .box:nth-child(5) td:last-child {
    border-bottom: none;
    margin-bottom: 15px;
  }

  .courseplan-wrap .box:nth-child(5) th[scope="col"] {
    display: block !important;
    background: #f9f9f9;
    font-weight: 700;
    padding: 10px 15px;
    border-top: 1px solid #ddd;
    margin-top: 5px;
    width: 100% !important;
  }

  .courseplan-wrap .box:nth-child(5) td.center {
    background: #ffeb3b;
    font-weight: 700;
    text-align: center;
    padding: 20px;
    border-radius: 8px;
    margin: 20px 0;
    border: 2px solid #ffc107;
  }

  .courseplan-wrap .box:nth-child(5) ul {
    margin: 0;
    padding-left: 20px;
  }

  .courseplan-wrap .box:nth-child(5) ul li {
    margin: 5px 0;
    color: #555;
    font-size: 14px;
  }

  /* 9.5-1 ShowLecPlan - 강의정보 테이블 colgroup 숨김 (모바일) */
  .courseplan-wrap .box:nth-child(3) table colgroup {
    display: none !important;
  }

  .courseplan-wrap .box:nth-child(3) table,
  .courseplan-wrap .box:nth-child(3) table tbody,
  .courseplan-wrap .box:nth-child(3) table tr,
  .courseplan-wrap .box:nth-child(3) table th,
  .courseplan-wrap .box:nth-child(3) table td {
    display: block !important;
    width: 100% !important;
  }

  .courseplan-wrap .box:nth-child(3) table thead {
    display: none !important;
  }

  .courseplan-wrap .box:nth-child(3) table td {
    padding: 10px 15px !important;
    border-bottom: 1px solid #f0f0f0 !important;
  }

  .courseplan-wrap .box:nth-child(3) table tr {
    margin-bottom: 15px !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important;
    padding: 15px !important;
    background: #fafafa !important;
  }

  /* ========================================
     레이어 팝업 반응형
     ======================================== */

  .popup_case {
    position: fixed !important;
    top: 70px !important;
    /* 헤더 60px + 여백 10px */
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 90vw !important;
    max-width: 90vw !important;
    margin: 0 !important;
  }

  /* 팝업 내부 콘텐츠 영역 */
  .popup_case .popup_case_03 {
    max-height: calc(100vh - 140px) !important;
    /* 헤더 70px + 하단 여백 70px */
    height: auto !important;
    overflow-y: auto !important;
  }

  /* 팝업 내부 이미지 비율 유지 */
  .popup_case img {
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
  }

  /* 팝업 하단 체크박스 영역 */
  .popup_case .popup_case_foot {
    height: auto !important;
    min-height: 44px !important;
    /* 터치 타겟 최소 크기 */
    padding: 10px !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
  }

  .popup_case .popup_case_foot input[type="checkbox"] {
    min-width: 20px !important;
    min-height: 20px !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
  }

  .popup_case .popup_case_foot label {
    flex: 1 1 auto !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .popup_case .popup_case_foot a {
    flex-shrink: 0 !important;
    padding: 8px 12px !important;
    margin: 0 !important;
    float: none !important;
  }

  /* 평생교육전용관 */
  .filer-wrap {
    margin: 22px 0 10px;
  }

  .pack_lec_list_style_01 {
    gap: 20px 12px;
    margin-bottom: 42px;
  }

  .pack_lec_list_style_01 li {
    width: calc(50% - 6px);
  }

  .pack_lec_list_style_01 li .lec1_img {
    width: 100%;
    height: 120px;
    border-radius: 8px;
    overflow: hidden;
  }

  #itbankSection .lec1_btn_box .btn {
    padding: 12px 0px
  }

  .pack-view-wrap .detail-list .cnt-inner {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 24px 0px;
		font-size: 0;
	}
}
