/*251216 메인페이지 전체 리뉴얼*/
#content2, #content2 .bx-wrapper, #content2 .bx-viewport {
background-color: transparent !important;
background-image: none !important;
}
.rightbn_area{margin-top:10px;}
.mgbcommon{margin-bottom:70px;}

/*---온라인 보수교육-----*/
.newmain h2{text-align:center;}
.main_sub_title{
	position:relative;
	margin-bottom:18px;
}
.main_sub_title a{
	position:absolute;
	top:0;
	right:0;
}

.onlineedu-list{
  width:100%;
  display:grid;
  column-gap:20px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top:18px;
}

.onlineedu-item{
  /*flex:1;*/
  border-radius:16px;
  overflow:hidden;
  background:#f5f7fb;
}

.onlineedu-item .thumb{
	width: 100%;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
    padding-bottom: 64%;
}
.onlineedu-item .thumb img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	object-fit: cover;
	transform: scale(1);
	transition: .3s;
}

.onlineedu-item .info{
  position:relative;
  height:60px;                
  background:#f5f7fb;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  overflow:hidden;
}

.onlineedu-item .info .textinfo{
	display:flex;
	align-items: baseline;
    justify-content: center;
    column-gap: 4px;
}

.onlineedu-item .desc{
  font-size:17px;
  color:#666;
  line-height:1;
}
.onlineedu-item .title{
  font-size:22px;
  font-weight:700;
  color:#0066FF;              /* 기본은 파란 타이틀 느낌(이미지처럼) */
  line-height:1.1;
}

/* ? hover 전에는 bar 숨김 (대신 텍스트가 보임) */
.onlineedu-item .hover-bar{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:60px;                /* info 높이랑 같게 */
  background:#0066FF;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;

  opacity:0;
  transform:translateY(100%); /* 아래에 있다가 */
  pointer-events:none;
  transition:opacity .25s ease, transform .25s ease;
}

.onlineedu-item .hover-text{
  color:#fff;
  font-size:20px;
  font-weight:800;
  letter-spacing:-0.3px;
}

.onlineedu-item .hover-ico{
  width:36px;
  height:36px;
  display:block;
}

/* ? hover 시 = 세번째 이미지(파란바로 교체) */
.onlineedu-item:hover .hover-bar{
  opacity:1;
  transform:translateY(0);    /* 올라와서 덮기 */
  pointer-events:auto;
}

/* hover되면 기존 텍스트는 안 보이게 */
.onlineedu-item:hover .desc,
.onlineedu-item:hover .title{
  opacity:0;
  transition:opacity .15s ease;
}
.classplus{
	display:flex;
	justify-content:space-between;
}
.classplus .pr_area .video_area{
	width:100%;
	height:344px;
	border-radius:12px;
}
.classplus .pr_area .video_area img{border-radius:12px;}
.classplus .pr_area .pr_cart{display:flex; justify-content:space-between; align-items:center; margin-top:13px;}
.classplus .pr_area h4{
	font-size:21px; 
	font-weight:normal;
	overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
	width: 600px;
}
.classplus .benefit_area{width:300px;}
.classplus .benefit{
	background:#FFF1EB;
	border-radius:12px;
    padding: 40px 25px 34px;
	text-align:center;
}
.classplus .benefit .titlebene{
	display:flex;
	justify-content:center;
	column-gap:4px;
}
.classplus .benefit .titlebene h3{font-size:25px; font-weight:700;}
.classplus .benefit .titlebene img{position:relative; top:-1px;}
.classplus .benefit ul{
	background:#fff;
	width:100%;
	padding:0 22px;
	margin-top:12px;
	border-top-left-radius:12px;
	border-top-right-radius:12px;
}
.classplus .benefit ul li{
	display:flex;
	justify-content:space-between;
	position:relative;   /* ? 중요 */
	padding:20px 0;
	border-bottom:none;
}
.classplus .benefit ul li:first-child::after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background-image: repeating-linear-gradient(
    to right,
    #E3E3E3 0,
    #E3E3E3 6px,      /* 점 길이 */
    transparent 6px,
    transparent 12px /* 점 간격 */
  );
}
.classplus .benefit ul li h6{font-size:18px; font-weight:normal;}
.classplus .benefit ul li .plusbenefitcolor{font-weight:700;}
.classplus .benefit .salearrow{display:flex; justify-content:center; column-gap:3px;}
.classplus .benefit .saving{
	width:100%;
	border-bottom-left-radius:12px;
	border-bottom-right-radius:12px;
	background:#FF4C00;
	color:#fff;
	padding:14px 0;
	font-size:21px;
	text-align:center;
}
.classplus .benefit .saving span{font-weight:900; color:#FFF600;}
.plusbenefitcolor{color:#FF4C00;}
.classplus .benefit h5, .classplus .benefit h2{font-weight:normal;}
.classplus .benefit h5{font-size:18px; color:#0000006b; margin:19px 0 7px;}
.classplus .benefit h2{font-size:26px; color:#000;}
.classplus .benefit h2 span{font-weight:900;}
.classplus .benefit_area .btn2area{
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	column-gap:8px;
	margin-top:12px;
}
.classplus .benefit_area .btn2area a{
	text-align:center;
	background:#E3E3E3;
	color:#000;
	width:100%;
	height:46px;
	line-height:46px;
	font-size:18px;
	border-radius:8px;
}
.classplus .benefit_area .btn2area a:first-child{background:#FF4C00; color:#fff;}
.main_banner_area img{border-radius:12px;}
/*강좌*/
.classarea_new ul{
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	column-gap:20px;
}
.classarea_new .thumbImg span{
	display:inline-block;
	width: 100%;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
    padding-bottom: 60%;
	border-radius:12px;
}
.classarea_new .thumbImg span img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	object-fit: cover;
	transition: .5s;
}
.classarea_new ul li:hover .thumbImg span img{
  transform: scale(1.08);
  filter: brightness(0.95);
}

.classarea_new .textcart{
	display:flex;
	justify-content:space-between;
	margin-top:12px;
	align-items: center;
}
.classarea_new .textcart .ttarea h4{
	font-size:20px;
	font-weight:normal;
	overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    width: 260px;
    margin-bottom: 5px;
}
.classarea_new .textcart .ttarea .pricearea{
	display:flex;
	justify-content:flex-start;
	align-items: baseline;
    column-gap: 6px;
}
.classarea_new .textcart .ttarea .pricearea span:first-child{
	font-size:22px;
	color:#FF3538;
	font-weight:700;
}
.classarea_new .textcart .ttarea .pricearea span:nth-child(2){
	font-size:17px;
	color:#989898;
	text-decoration:line-through;
}

.classarea_new .btn2_area{
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	column-gap:5px;
	margin-top:16px;
}
.classarea_new .btn2_area span{
	display:inline-block;
	text-align:center;
	width:100%;
	height:46px;
	line-height:46px;
	font-size:18px;
}
.classarea_new .btn2_area span a{
	background:#E3E3E3;
	color:#000;
	width: 100%;
    height: 100%;
    display: inline-block;
    border-radius: 8px;
}
.classarea_new .btn2_area span:first-child a{background:#0066FF; color:#fff;}
.classarea_new .btn2_area .noview a{
	background:#F0F0F0;
	color:#C9C9C9;
	text-decoration:line-through;
}





/*250904 gnb 리뉴얼*/
.header-brandbar {display: flex; gap: 30px;}
.hgroup .inr {display: flex; align-items: center; justify-content: space-between;}
.hgroup .srch {position: initial;}
.hgroup .srch input[type=search] {
    padding: 12px 19px 12px;
    font-size: 16px;
    border-radius: 30px;
}
.emenu {position: initial; display: flex; align-items: center;}
.hgroup .inr:after {display: none!important;}
.emenu li:nth-child(3) {margin-right: 0;}
.emenu li img{width:auto; margin-right:3px;}
.myclassbtn{display: flex; align-items: center;background: #ff6f7d; color: #fff; border: none; padding:9px 16px; border-radius:50px;}
.myclassbtn:hover{background:#FF949E; border: none;}
.myclassbtn .count-badge {
    background:#fff;
    display:inline-flex;
    justify-content:center;
    align-items:center;
    width:19px;
    height:19px;
    margin-left:5px;
    background:#fff;
    color:#ff6f7d;
    border-radius:50%;
    font-size:12px;
    font-weight:bold;
}

/* 컨테이너: 기존 .tbl/.cell 그대로 사용 */
.header-search .searchfield{
    position: relative;
}

/* 입력창을 둥글게 + 아이콘 자리 확보 */
.header-search input[type="search"]{
    padding: 12px 48px 12px 20px;   /* 오른쪽 여백 = 버튼 공간 */
    border: 1px solid #ddd;
    border-radius: 30px;
    font-size: 16px;
    outline: none;
    -webkit-appearance: none;       /* iOS 기본 스타일 제거 */
}

/* 돋보기 버튼을 입력창 안 오른쪽에 고정 */
.srch button[type=submit]{
    position: absolute;
    top: 50%;
    right: 14px;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    border: 0;
    background: url(/resources/img/renew/search.svg) no-repeat center / contain;
    cursor: pointer;
    padding: 0;
}

.srch.on button[type=submit]{
    background-position: inherit;
}

/* 크롬, 사파리 */
input[type="search"]::-webkit-search-cancel-button {
    -webkit-appearance: none;
    appearance: none;
}

/* gnb */
.gnb .gmenu li>a {font-size: 18px;}
/* 기본: 숨김 */
.gnb .gmenu_sub {display: none;}

/* gnb 영역에 마우스 올라갔을 때만 펼침 */
.gnb .group:hover .gmenu_sub,
.gnb .group:focus-within .gmenu_sub {
    display: flex;
}
.gnb .gmenu_sub .sub>li>a {font-size: 16px;}
.gnb .gmenu_sub .sub>li {display: flex; flex-direction: column;}
.has-sub3 .sub3  ul {
    display: flex;
    gap: 5px;
    background-color: #F6FAFF;
    flex-direction: column;
    width: 100%;
    height: auto;
    font-size: 15px;
    padding: 16px 14px;

}
.gnb .gmenu_sub .sub a {color: initial;}
.has-sub3 .sub3  ul li a {color: #7C8183!important;}
.has-sub3 .sub3 {margin: 5px 0;}
.gnb .gmenu_sub .smenu {
    float: none;
    min-height: auto;
    padding: 18px 23px;
    border-top: 1px solid #e0e0e0;
}
.gnb li {float: none;}
.smenu .smenu-item {margin-bottom: 0!important;}
#wrap .inr .bosulink {
    right: -156px;
    padding: 0px 45px;
    font-size: 18px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    height: -webkit-fill-available;
}

/* 2depth 중 3depth가 있는 li */
.gmenu_sub .smenu .sub li.has-sub3 { position: relative; }

/* 닫힘 상태: 항상 보이되(레이아웃상 존재) 접어두기 */
.gmenu_sub .smenu .sub li.has-sub3 > .sub3 {
    display: block !important;
    overflow: hidden;
    max-height: 0;
    padding-top: 0;
    transition: max-height .28s ease, opacity .18s ease, padding-top .28s ease;
}

/* 열림 상태: 촤라락 */
.gmenu_sub .smenu .sub li.has-sub3:hover > .sub3,
.gmenu_sub .smenu .sub li.has-sub3:focus-within > .sub3 {
    max-height: 600px;
    padding-top: 6px;
}

/* 2depth hover 시 bold 처리 */
.gnb .gmenu_sub .sub > li:hover > a,
.gnb .gmenu_sub .sub > li:focus-within > a {font-weight: bold;}

/* 3depth hover 시 글씨색 변경 */
.has-sub3 .sub3 ul li a:hover,
.has-sub3 .sub3 ul li a:focus {
    color: #0066FF !important;
    font-weight: 600;
}

/* hover 끊김 방지: 3depth의 수직 마진 제거 */
.has-sub3 .sub3 { margin: 0; }

/* lnb */
.myinfo {top: inherit;}
.myinfo .group {background-color: #F5F6FA; padding-top: 21px;}
.myinfo .group>.info {background-color: inherit; color: #333;}
.myinfo .group>.tbl-wrap>.tbl>.cell {position: relative;}
.myinfo .group>.tbl-wrap>.tbl>.cell.signup:after {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 1px;
    background-color: #bdbdbd;
    transform: translateY(-50%);
    height: 17px;
    margin-top:0;
}
.myinfo .group>.tbl-wrap {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 0 10px;
    margin: 8px 0 17px;
}
.myinfo .group>.tbl-wrap>.tbl a>span {
    margin-top: inherit;
    font-size: 13px;
    color: #fff;
}
.myinfo .group>.tbl-wrap>.tbl {
    width: 100%;
    padding: 10px 0;
    text-align: center;
    border-radius: 4px;
}
.myinfo .group>.tbl-wrap>.tbl.header-my-classes {background-color: #0066FF;}
.myinfo .group>.tbl-wrap>.tbl.auth-actions {background-color: #737373;}
.myinfo .group>.tbl-wrap>.tbl.header-my-classes .btn-my-classes{
    display: flex;
    align-items: center;
    justify-content: center;
}
.myinfo .group>.tbl-wrap>.tbl.header-my-classes .btn-my-classes__count{
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 16px;
    height: 16px;
    margin-left: 5px;
    background: #fff;
    color: #0066FF;
    border-radius: 50%;
    font-size: 10px;
    font-weight: bold;
}

.myinfo .group>.tbl-wrap>.tbl a{color: #fff;}
.myinfo .mymenu {padding:0; background-color: #fff;}
.myinfo .mymenu li{padding:0 10px; border-bottom:1px solid #f3f3f3;}
.myinfo .mymenu li a {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 13px;
    padding: 13px 0;
    color: #000;
	border:0;
}

.myinfo .mymenu li:last-child a span {font-size: 12px;}


/* 멀티회원 */
.myinfo_multi .group>.info {
    padding: 0 12px;
    text-align: center;
}
.myinfo_multi .group>.info .nickname {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 13px;
    line-height: 1.4;
}
.myinfo_multi .group>.info strong {
    font-weight: bold;
    font-size: 18px;
}

.myinfo_normal .group>.info .nickname>strong {
    color: #000;
}

.myinfo_normal .group>.info a {
    color: #000;
}

/* sub page */
#content {margin-top: 65px;}
.htit {
    display: flex;
    align-items: baseline;
    gap: 15px;
    margin-bottom: 20px;
    padding: 0 0 10px;
    text-align: left;
    border-bottom: 1px solid #0066FF;
}
.htit h2 {
    font-weight: bold;
    font-size: 35px;
}
.htit p {
    font-size: 18px;
}

/*.thumb_group {margin-top: initial;}*/
.lecture_list {margin-top: initial;}

/* 색 토큰 */
:root{
    --blue-500:#0066FF;  --blue-50:#E9F2FF;
    --green-500:#00C65B; --green-50:#DFF9EA;
}

/* 레이아웃 */
.tabs__list{
    display: grid;
    grid-template-columns: repeat(4, 3fr);
    width:100%;
    gap:8px;
    margin: 0 0 35px;
}

.tabs__list > li{
    flex:1 1 0;
    min-width:0;
}
.tabs__list > li .tab{
    display:block;
    width:100%;
    font-size: 16px;
}

/* 상단 탭 (pill) */
.tab{
    appearance:none; border:0; cursor:pointer;
    padding:13px 18px; border-radius:50px;
    transition:background-color .18s ease, color .18s ease;
    color:#8E8E8E; background:var(--blue-50);
}
.tab--blue{ background:var(--blue-50); }
.tab--green{ background:var(--green-50); }
.tab--blue:hover{ color:var(--blue-500); }
.tab--green:hover{ color:var(--green-500); }

.tab.is-active{ color:#fff; }
.tab--blue.is-active{ background:var(--blue-500); }
.tab--green.is-active{ background:var(--green-500); }

/* 정렬 탭 (텍스트 링크 스타일) */
.sort-tabs{
    display:flex;
    align-items:center;
    justify-content: flex-end;
    gap:3px;
    position: relative;
    z-index: 1;
}
.sort-tab{
    appearance:none;
    border:0;
    background:transparent;
    cursor:pointer;
    color:#666;
    transition:color .15s ease;
}
.sort-tab:hover, .sort-tab:focus{ color:var(--blue-500); }
.sort-tab.is-active{ color:var(--blue-500); font-weight:700; }
.sort-tab__divider{ color:#c9cdd2; }

/* 포커스 링(접근성) */
.tab:focus-visible, .sort-tab:focus-visible{
    outline:2px solid rgba(24,119,255,.5); outline-offset:2px;
}

/* 모션 민감 사용자 */
@media (prefers-reduced-motion:reduce){
    .tab,.sort-tab{ transition:none; }
}

/* 모바일 전용 메뉴 */
/* 기본은 데스크톱에서 숨김 */
.m-only-select{display:none; margin-top:10px; min-width:0;}
.m-only-select select{display:none;} /* 모바일에서 커스텀 컴포넌트로 대체 */

/* 모바일만 노출 */
@media (max-width:768px){
    .m-only-select{display:block;}
}

/* 커스텀 드롭다운 */
.m-dd{position:relative; min-width:0;}
.m-dd__btn{
    width:100%; box-sizing:border-box; display:block;
    font-size:16px; padding:12px 44px 12px 14px;
    border:1px solid #ddd; border-radius:6px; background:#fff; text-align:left;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M7 10l5 5 5-5' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round'/></svg>");
    background-repeat:no-repeat; background-position:right 12px center; background-size:18px 18px;
}
.m-dd__btn:focus{outline:2px solid #5b9cff; outline-offset:2px;}

.m-dd__list{
    position:absolute; left:0; right:0; top:calc(100% + 6px); z-index:20;
    max-height:260px; overflow:auto; margin:0; padding:6px 0; list-style:none;
    border:1px solid #ddd; border-radius:6px; background:#fff;
    box-shadow:0 10px 24px rgba(0,0,0,.08); display:none;
}
.m-dd.open .m-dd__list{display:block;}

.m-dd__option{
    padding:10px 14px; line-height:1.3; cursor:pointer;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.m-dd__option[aria-selected="true"]{font-weight:600;}
.m-dd__option:focus, .m-dd__option:hover{background:#f6f7f9; outline:none;}

/* SR-only 레이블 */
.sr-only{
    position:absolute; width:1px; height:1px; padding:0; margin:-1px;
    overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}


/* 보수교육 */
.bosoo_cont {
    display: flex;
    justify-content: space-between;
}

.edu-target { margin: 50px 0; }
.edu-target__title { font-size: 20px; font-weight: 700; margin-bottom: 12px; }

/* 테이블 */
.edu-table {
    border: 1px solid #EAEAEA;
    overflow: hidden;
    background: #fff;
    font-size: 16px;
    text-align: center;
}
.edu-table table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}
.edu-table th,
.edu-table td {
    padding: 14px 16px;
    border-top: 1px solid #EAEAEA;
    border-right: 1px solid #EAEAEA;
    vertical-align: middle;
    word-break: keep-all;
    line-height: 1.3;
}
.edu-table thead th {
    background: #F5F6FA;
    font-weight: 600;
    border-top: 0;
}
.edu-table tr td:last-child,
.edu-table thead th:last-child { border-right: 0; }
.edu-info__title { font-size: 20px; font-weight: 700; margin-bottom: 12px; }

.edu-info__row {
    display: flex;
    flex-direction: column;
    gap: 12px;
    font-size: 16px;
}

/* 버튼을 우측 끝으로 정렬 */
.edu-info__row .btn-detail {
    align-self: flex-end;
    width: auto;
    font-size: 18px;
}

.edu-info__box {
    flex: 1 1 auto;
    background: #F5F6FA;
    padding: 25px 35px;
}

.edu-info__list { margin: 0; padding-left: 18px; }
.edu-info__list li {position: relative; line-height: 1.8;  padding-left: 0.8rem;}
/* 기본 마커는 끄고 */
.edu-info__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* 커스텀 동그라미 */
.edu-info__list li::before {
    --bullet-size: 4px;
    --bullet-y: .8em;
    content: "";
    position: absolute;
    left: 0;
    top: var(--bullet-y);
    width: var(--bullet-size);
    height: var(--bullet-size);
    margin-top: calc(var(--bullet-size) / -2); /* 수직 가운데 정렬 */
    border-radius: 50%;
    background: currentColor;  /* 글자색과 동일 */
}

/* 오른쪽 버튼 */
.btn-detail{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 18px;
    min-width: 135px;
    height: 45px;
    background: #000;
    color: #fff;
    border-radius: 5px;
}


/* 보수교육 반응형 */
@media only screen and (max-width: 1279px) {
	.classplus{
		flex-direction: column;
	}
	.classplus .benefit_area {
    width: 100%;
	margin-top:40px;
	}
}

@media only screen and (max-width: 768px) {
	.thumb_group h2{font-size:22px;}
	.classplus .pr_area .pr_cart a:first-child{
		width:90%;
	}
	.classplus .pr_area h4{
		width: 100%;
	}
	
    .edu-table th, .edu-table td { padding: 12px; font-size: 14px;}

    .bosoo-wrap, .edu-target, .edu-info   {padding: 0 16px;}
    .edu-info__row .btn-detail {align-self: center; font-size: 16px;}

    .bosoo_cont {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 15px;
    }

    .edu-info__row {
        flex-direction: column;
        align-items: stretch;
        font-size: 14px;
    }
    .btn-detail { width: 100%;}
}

@media only screen and (max-width: 480px){
	.onlineedu-list{grid-template-columns: repeat(1, minmax(0, 1fr)); row-gap: 24px;}
	.classplus .pr_area .video_area{height:auto;}
	.classplus .pr_area h4{font-size:16px;}
    .classplus .benefit_area {margin-top: 24px;}
	.classarea_new ul{grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 26px;}
	.classarea_new .textcart .ttarea h4{font-size:16px; width: 137px;}
	.classarea_new .textcart .ttarea .pricearea span:first-child {font-size: 16px;}
	.classarea_new .textcart .ttarea .pricearea span:last-child {font-size: 12px;}	
	.classarea_new .btn2_area span{height:40px; line-height:40px; font-size: 14px;}
	
    .bosoo_cont {
        grid-template-columns: repeat(2, 1fr);
        gap: unset;
    }
    .edu-info__box {
        padding: 18px 25px;
    }
    .edu-table th, .edu-table td {
        line-height: 1.5;
    }
	
	
}

/* 진로 로드맵 반응형 */
@media only screen and (max-width: 768px) {
    .emenu {
        display: none;
    }
}

@media only screen and (max-width: 768px) {
    .subpage-header {
        padding: 0 16px;
    }
    .tabs__list {
        grid-template-columns: repeat(3, 1fr);
        margin: 20px 0 20px;
    }
    .htit {
        display: flex;
        flex-direction: column;
    }
}

@media only screen and (max-width: 480px) {
    .subpage-header {
        padding: 15px 16px 5px;
    }
    .tabs__list > li .tab {
        font-size: 14px;
    }
    .tab {
        padding: 11px 18px;
    }
    .htit {
        align-items: center;
        border-bottom:none;
        gap: 12px;
    }
    .htit h2 {
        font-size: 28px;
    }
    .htit p {
        text-align: center;
        font-size: 16px;
        line-height: 1.5;
        word-break: keep-all;
    }
}

@media only screen and (max-width: 375px) {
    .htit p {
        font-size: 14px;
        word-break: keep-all;
        line-height: 1.5;
    }
}
/*251216 메인페이지 전체 리뉴얼*/
#content2, #content2 .bx-wrapper, #content2 .bx-viewport {
    background-color: transparent !important;
    background-image: none !important;
    }
    .rightbn_area{margin-top:10px;}
    .mgbcommon{margin-bottom:70px;}
    
    /*---온라인 보수교육-----*/
    .newmain h2{text-align:center;}
    .main_sub_title{
        position:relative;
        margin-bottom:18px;
    }
    .main_sub_title a{
        position:absolute;
        top:0;
        right:0;
    }
    
    .onlineedu-list{
      width:100%;
      display:grid;
      column-gap:20px;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      margin-top:18px;
    }
    
    .onlineedu-item{
      /*flex:1;*/
      border-radius:16px;
      overflow:hidden;
      background:#f5f7fb;
    }
    
    .onlineedu-item .thumb{
        width: 100%;
        margin: 0 auto;
        position: relative;
        overflow: hidden;
        padding-bottom: 64%;
    }
    .onlineedu-item .thumb img{
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        text-align: center;
        object-fit: cover;
        transform: scale(1);
        transition: .3s;
    }
    
    .onlineedu-item .info{
      position:relative;
      height:60px;                
      background:#f5f7fb;
      display:flex;
      flex-direction:column;
      align-items:center;
      justify-content:center;
      gap:4px;
      overflow:hidden;
    }
    
    .onlineedu-item .info .textinfo{
        display:flex;
        align-items: baseline;
        justify-content: center;
        column-gap: 4px;
    }
    
    .onlineedu-item .desc{
      font-size:17px;
      color:#666;
      line-height:1;
    }
    .onlineedu-item .title{
      font-size:22px;
      font-weight:700;
      color:#0066FF;              /* 기본은 파란 타이틀 느낌(이미지처럼) */
      line-height:1.1;
    }
    
    /* ? hover 전에는 bar 숨김 (대신 텍스트가 보임) */
    .onlineedu-item .hover-bar{
      position:absolute;
      left:0;
      right:0;
      bottom:0;
      height:60px;                /* info 높이랑 같게 */
      background:#0066FF;
      display:flex;
      align-items:center;
      justify-content:center;
      gap:10px;
    
      opacity:0;
      transform:translateY(100%); /* 아래에 있다가 */
      pointer-events:none;
      transition:opacity .25s ease, transform .25s ease;
    }
    
    .onlineedu-item .hover-text{
      color:#fff;
      font-size:20px;
      font-weight:800;
      letter-spacing:-0.3px;
    }
    
    .onlineedu-item .hover-ico{
      width:36px;
      height:36px;
      display:block;
    }
    
    /* ? hover 시 = 세번째 이미지(파란바로 교체) */
    .onlineedu-item:hover .hover-bar{
      opacity:1;
      transform:translateY(0);    /* 올라와서 덮기 */
      pointer-events:auto;
    }
    
    /* hover되면 기존 텍스트는 안 보이게 */
    .onlineedu-item:hover .desc,
    .onlineedu-item:hover .title{
      opacity:0;
      transition:opacity .15s ease;
    }
    .classplus{
        display:flex;
        justify-content:space-between;
    }
    .classplus .pr_area .video_area{
        width:100%;
        height:344px;
        border-radius:12px;
    }
    .classplus .pr_area .video_area img{border-radius:12px;}
    .classplus .pr_area .pr_cart{display:flex; justify-content:space-between; align-items:center; margin-top:13px;}
    .classplus .pr_area h4{
        font-size:21px; 
        font-weight:normal;
        overflow:hidden;
        white-space:nowrap;
        text-overflow:ellipsis;
        width: 600px;
    }
    .classplus .benefit_area{width:300px;}
    .classplus .benefit{
        background:#FFF1EB;
        border-radius:12px;
        padding: 40px 25px 34px;
        text-align:center;
    }
    .classplus .benefit .titlebene{
        display:flex;
        justify-content:center;
        column-gap:4px;
    }
    .classplus .benefit .titlebene h3{font-size:25px; font-weight:700;}
    .classplus .benefit .titlebene img{position:relative; top:-1px;}
    .classplus .benefit ul{
        background:#fff;
        width:100%;
        padding:0 22px;
        margin-top:12px;
        border-top-left-radius:12px;
        border-top-right-radius:12px;
    }
    .classplus .benefit ul li{
        display:flex;
        justify-content:space-between;
        position:relative;   /* ? 중요 */
        padding:20px 0;
        border-bottom:none;
    }
    .classplus .benefit ul li:first-child::after{
      content:'';
      position:absolute;
      left:0;
      right:0;
      bottom:0;
      height:1px;
      background-image: repeating-linear-gradient(
        to right,
        #E3E3E3 0,
        #E3E3E3 6px,      /* 점 길이 */
        transparent 6px,
        transparent 12px /* 점 간격 */
      );
    }
    .classplus .benefit ul li h6{font-size:18px; font-weight:normal;}
    .classplus .benefit ul li .plusbenefitcolor{font-weight:700;}
    .classplus .benefit .salearrow{display:flex; justify-content:center; column-gap:3px;}
    .classplus .benefit .saving{
        width:100%;
        border-bottom-left-radius:12px;
        border-bottom-right-radius:12px;
        background:#FF4C00;
        color:#fff;
        padding:14px 0;
        font-size:21px;
        text-align:center;
    }
    .classplus .benefit .saving span{font-weight:900; color:#FFF600;}
    .plusbenefitcolor{color:#FF4C00;}
    .classplus .benefit h5, .classplus .benefit h2{font-weight:normal;}
    .classplus .benefit h5{font-size:18px; color:#0000006b; margin:19px 0 7px;}
    .classplus .benefit h2{font-size:26px; color:#000;}
    .classplus .benefit h2 span{font-weight:900;}
    .classplus .benefit_area .btn2area{
        display:grid;
        grid-template-columns:repeat(2, minmax(0, 1fr));
        column-gap:8px;
        margin-top:12px;
    }
    .classplus .benefit_area .btn2area a{
        text-align:center;
        background:#E3E3E3;
        color:#000;
        width:100%;
        height:46px;
        line-height:46px;
        font-size:18px;
        border-radius:8px;
    }
    .classplus .benefit_area .btn2area a:first-child{background:#FF4C00; color:#fff;}
    .main_banner_area img{border-radius:12px;}
    /*강좌*/
    .classarea_new ul{
        display:grid;
        grid-template-columns:repeat(3, minmax(0, 1fr));
        column-gap:20px;
    }
    .classarea_new .thumbImg span{
        display:inline-block;
        width: 100%;
        margin: 0 auto;
        position: relative;
        overflow: hidden;
        padding-bottom: 60%;
        border-radius:12px;
    }
    .classarea_new .thumbImg span img{
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        text-align: center;
        object-fit: cover;
        transition: .5s;
    }
    .classarea_new ul li:hover .thumbImg span img{
      transform: scale(1.08);
      filter: brightness(0.95);
    }
    
    .classarea_new .textcart{
        display:flex;
        justify-content:space-between;
        margin-top:12px;
        align-items: center;
    }
    .classarea_new .textcart .ttarea h4{
        font-size:20px;
        font-weight:normal;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
        width: 260px;
        margin-bottom: 5px;
    }
    .classarea_new .textcart .ttarea .pricearea{
        display:flex;
        justify-content:flex-start;
        align-items: baseline;
        column-gap: 6px;
    }
    .classarea_new .textcart .ttarea .pricearea span:first-child{
        font-size:22px;
        color:#FF3538;
        font-weight:700;
    }
    .classarea_new .textcart .ttarea .pricearea span:nth-child(2){
        font-size:17px;
        color:#989898;
        text-decoration:line-through;
    }
    
    .classarea_new .btn2_area{
        display:grid;
        grid-template-columns:repeat(2, minmax(0, 1fr));
        column-gap:5px;
        margin-top:16px;
    }
    .classarea_new .btn2_area span{
        display:inline-block;
        text-align:center;
        width:100%;
        height:46px;
        line-height:46px;
        font-size:18px;
    }
    .classarea_new .btn2_area span a{
        background:#E3E3E3;
        color:#000;
        width: 100%;
        height: 100%;
        display: inline-block;
        border-radius: 8px;
    }
    .classarea_new .btn2_area span:first-child a{background:#0066FF; color:#fff;}
    .classarea_new .btn2_area .noview a{
        background:#F0F0F0;
        color:#C9C9C9;
        text-decoration:line-through;
    }
    
    
    
    
    
    /*250904 gnb 리뉴얼*/
    .header-brandbar {display: flex; gap: 30px;}
    .hgroup .inr {display: flex; align-items: center; justify-content: space-between;}
    .hgroup .srch {position: initial;}
    .hgroup .srch input[type=search] {
        padding: 12px 19px 12px;
        font-size: 16px;
        border-radius: 30px;
    }
    .emenu {position: initial; display: flex; align-items: center;}
    .hgroup .inr:after {display: none!important;}
    .emenu li:nth-child(3) {margin-right: 0;}
    .emenu li img{width:auto; margin-right:3px;}
    .myclassbtn{display: flex; align-items: center;background: #ff6f7d; color: #fff; border: none; padding:9px 16px; border-radius:50px;}
    .myclassbtn:hover{background:#FF949E; border: none;}
    .myclassbtn .count-badge {
        background:#fff;
        display:inline-flex;
        justify-content:center;
        align-items:center;
        width:19px;
        height:19px;
        margin-left:5px;
        background:#fff;
        color:#ff6f7d;
        border-radius:50%;
        font-size:12px;
        font-weight:bold;
    }
    
    /* 컨테이너: 기존 .tbl/.cell 그대로 사용 */
    .header-search .searchfield{
        position: relative;
    }
    
    /* 입력창을 둥글게 + 아이콘 자리 확보 */
    .header-search input[type="search"]{
        padding: 12px 48px 12px 20px;   /* 오른쪽 여백 = 버튼 공간 */
        border: 1px solid #ddd;
        border-radius: 30px;
        font-size: 16px;
        outline: none;
        -webkit-appearance: none;       /* iOS 기본 스타일 제거 */
    }
    
    /* 돋보기 버튼을 입력창 안 오른쪽에 고정 */
    .srch button[type=submit]{
        position: absolute;
        top: 50%;
        right: 14px;
        transform: translateY(-50%);
        width: 24px;
        height: 24px;
        border: 0;
        background: url(/resources/img/renew/search.svg) no-repeat center / contain;
        cursor: pointer;
        padding: 0;
    }
    
    .srch.on button[type=submit]{
        background-position: inherit;
    }
    
    /* 크롬, 사파리 */
    input[type="search"]::-webkit-search-cancel-button {
        -webkit-appearance: none;
        appearance: none;
    }
    
    /* gnb */
    .gnb .gmenu li>a {font-size: 18px;}
    /* 기본: 숨김 */
    .gnb .gmenu_sub {display: none;}
    
    /* gnb 영역에 마우스 올라갔을 때만 펼침 */
    .gnb .group:hover .gmenu_sub,
    .gnb .group:focus-within .gmenu_sub {
        display: flex;
    }
    .gnb .gmenu_sub .sub>li>a {font-size: 16px;}
    .gnb .gmenu_sub .sub>li {display: flex; flex-direction: column;}
    .has-sub3 .sub3  ul {
        display: flex;
        gap: 5px;
        background-color: #F6FAFF;
        flex-direction: column;
        width: 100%;
        height: auto;
        font-size: 15px;
        padding: 16px 14px;
    
    }
    .gnb .gmenu_sub .sub a {color: initial;}
    .has-sub3 .sub3  ul li a {color: #7C8183!important;}
    .has-sub3 .sub3 {margin: 5px 0;}
    .gnb .gmenu_sub .smenu {
        float: none;
        min-height: auto;
        padding: 18px 23px;
        border-top: 1px solid #e0e0e0;
    }
    .gnb li {float: none;}
    .smenu .smenu-item {margin-bottom: 0!important;}
    #wrap .inr .bosulink {
        right: -156px;
        padding: 0px 45px;
        font-size: 18px;
        display: flex;
        justify-content: center;
        align-items: center;
        height: 100%;
        height: -webkit-fill-available;
    }
    
    /* 2depth 중 3depth가 있는 li */
    .gmenu_sub .smenu .sub li.has-sub3 { position: relative; }
    
    /* 닫힘 상태: 항상 보이되(레이아웃상 존재) 접어두기 */
    .gmenu_sub .smenu .sub li.has-sub3 > .sub3 {
        display: block !important;
        overflow: hidden;
        max-height: 0;
        padding-top: 0;
        transition: max-height .28s ease, opacity .18s ease, padding-top .28s ease;
    }
    
    /* 열림 상태: 촤라락 */
    .gmenu_sub .smenu .sub li.has-sub3:hover > .sub3,
    .gmenu_sub .smenu .sub li.has-sub3:focus-within > .sub3 {
        max-height: 600px;
        padding-top: 6px;
    }
    
    /* 2depth hover 시 bold 처리 */
    .gnb .gmenu_sub .sub > li:hover > a,
    .gnb .gmenu_sub .sub > li:focus-within > a {font-weight: bold;}
    
    /* 3depth hover 시 글씨색 변경 */
    .has-sub3 .sub3 ul li a:hover,
    .has-sub3 .sub3 ul li a:focus {
        color: #0066FF !important;
        font-weight: 600;
    }
    
    /* hover 끊김 방지: 3depth의 수직 마진 제거 */
    .has-sub3 .sub3 { margin: 0; }
    
    /* lnb */
    .myinfo {top: inherit;}
    .myinfo .group {background-color: #F5F6FA; padding-top: 21px;}
    .myinfo .group>.info {background-color: inherit; color: #333;}
    .myinfo .group>.tbl-wrap>.tbl>.cell {position: relative;}
    .myinfo .group>.tbl-wrap>.tbl>.cell.signup:after {
        content: '';
        position: absolute;
        top: 50%;
        left: 0;
        width: 1px;
        background-color: #bdbdbd;
        transform: translateY(-50%);
        height: 17px;
        margin-top:0;
    }
    .myinfo .group>.tbl-wrap {
        display: flex;
        flex-direction: column;
        gap: 5px;
        padding: 0 10px;
        margin: 8px 0 17px;
    }
    .myinfo .group>.tbl-wrap>.tbl a>span {
        margin-top: inherit;
        font-size: 13px;
        color: #fff;
    }
    .myinfo .group>.tbl-wrap>.tbl {
        width: 100%;
        padding: 10px 0;
        text-align: center;
        border-radius: 4px;
    }
    .myinfo .group>.tbl-wrap>.tbl.header-my-classes {background-color: #0066FF;}
    .myinfo .group>.tbl-wrap>.tbl.auth-actions {background-color: #737373;}
    .myinfo .group>.tbl-wrap>.tbl.header-my-classes .btn-my-classes{
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .myinfo .group>.tbl-wrap>.tbl.header-my-classes .btn-my-classes__count{
        display: inline-flex;
        justify-content: center;
        align-items: center;
        width: 16px;
        height: 16px;
        margin-left: 5px;
        background: #fff;
        color: #0066FF;
        border-radius: 50%;
        font-size: 10px;
        font-weight: bold;
    }
    
    .myinfo .group>.tbl-wrap>.tbl a{color: #fff;}
    .myinfo .mymenu {padding:0; background-color: #fff;}
    .myinfo .mymenu li{padding:0 10px; border-bottom:1px solid #f3f3f3;}
    .myinfo .mymenu li a {
        display: flex;
        align-items: center;
        gap: 9px;
        font-size: 13px;
        padding: 13px 0;
        color: #000;
        border:0;
    }
    
    .myinfo .mymenu li:last-child a span {font-size: 12px;}
    
    
    /* 멀티회원 */
    .myinfo_multi .group>.info {
        padding: 0 12px;
        text-align: center;
    }
    .myinfo_multi .group>.info .nickname {
        display: flex;
        flex-direction: column;
        align-items: center;
        font-size: 13px;
        line-height: 1.4;
    }
    .myinfo_multi .group>.info strong {
        font-weight: bold;
        font-size: 18px;
    }
    
    .myinfo_normal .group>.info .nickname>strong {
        color: #000;
    }
    
    .myinfo_normal .group>.info a {
        color: #000;
    }
    
    /* sub page */
    #content {margin-top: 65px;}
    .htit {
        display: flex;
        align-items: baseline;
        gap: 15px;
        margin-bottom: 20px;
        padding: 0 0 10px;
        text-align: left;
        border-bottom: 1px solid #0066FF;
    }
    .htit h2 {
        font-weight: bold;
        font-size: 35px;
    }
    .htit p {
        font-size: 18px;
    }
    
    /*.thumb_group {margin-top: initial;}*/
    .lecture_list {margin-top: initial;}
    
    /* 색 토큰 */
    :root{
        --blue-500:#0066FF;  --blue-50:#E9F2FF;
        --green-500:#00C65B; --green-50:#DFF9EA;
    }
    
    /* 레이아웃 */
    .tabs__list{
        display: grid;
        grid-template-columns: repeat(4, 3fr);
        width:100%;
        gap:8px;
        margin: 0 0 35px;
    }
    
    .tabs__list > li{
        flex:1 1 0;
        min-width:0;
    }
    .tabs__list > li .tab{
        display:block;
        width:100%;
        font-size: 16px;
    }
    
    /* 상단 탭 (pill) */
    .tab{
        appearance:none; border:0; cursor:pointer;
        padding:13px 18px; border-radius:50px;
        transition:background-color .18s ease, color .18s ease;
        color:#8E8E8E; background:var(--blue-50);
    }
    .tab--blue{ background:var(--blue-50); }
    .tab--green{ background:var(--green-50); }
    .tab--blue:hover{ color:var(--blue-500); }
    .tab--green:hover{ color:var(--green-500); }
    
    .tab.is-active{ color:#fff; }
    .tab--blue.is-active{ background:var(--blue-500); }
    .tab--green.is-active{ background:var(--green-500); }
    
    /* 정렬 탭 (텍스트 링크 스타일) */
    .sort-tabs{
        display:flex;
        align-items:center;
        justify-content: flex-end;
        gap:3px;
        position: relative;
        z-index: 1;
    }
    .sort-tab{
        appearance:none;
        border:0;
        background:transparent;
        cursor:pointer;
        color:#666;
        transition:color .15s ease;
    }
    .sort-tab:hover, .sort-tab:focus{ color:var(--blue-500); }
    .sort-tab.is-active{ color:var(--blue-500); font-weight:700; }
    .sort-tab__divider{ color:#c9cdd2; }
    
    /* 포커스 링(접근성) */
    .tab:focus-visible, .sort-tab:focus-visible{
        outline:2px solid rgba(24,119,255,.5); outline-offset:2px;
    }
    
    /* 모션 민감 사용자 */
    @media (prefers-reduced-motion:reduce){
        .tab,.sort-tab{ transition:none; }
    }
    
    /* 모바일 전용 메뉴 */
    /* 기본은 데스크톱에서 숨김 */
    .m-only-select{display:none; margin-top:10px; min-width:0;}
    .m-only-select select{display:none;} /* 모바일에서 커스텀 컴포넌트로 대체 */
    
    /* 모바일만 노출 */
    @media (max-width:768px){
        .m-only-select{display:block;}
    }
    
    /* 커스텀 드롭다운 */
    .m-dd{position:relative; min-width:0;}
    .m-dd__btn{
        width:100%; box-sizing:border-box; display:block;
        font-size:16px; padding:12px 44px 12px 14px;
        border:1px solid #ddd; border-radius:6px; background:#fff; text-align:left;
        background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M7 10l5 5 5-5' fill='none' stroke='%23999' stroke-width='2' stroke-linecap='round'/></svg>");
        background-repeat:no-repeat; background-position:right 12px center; background-size:18px 18px;
    }
    .m-dd__btn:focus{outline:2px solid #5b9cff; outline-offset:2px;}
    
    .m-dd__list{
        position:absolute; left:0; right:0; top:calc(100% + 6px); z-index:20;
        max-height:260px; overflow:auto; margin:0; padding:6px 0; list-style:none;
        border:1px solid #ddd; border-radius:6px; background:#fff;
        box-shadow:0 10px 24px rgba(0,0,0,.08); display:none;
    }
    .m-dd.open .m-dd__list{display:block;}
    
    .m-dd__option{
        padding:10px 14px; line-height:1.3; cursor:pointer;
        white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
    }
    .m-dd__option[aria-selected="true"]{font-weight:600;}
    .m-dd__option:focus, .m-dd__option:hover{background:#f6f7f9; outline:none;}
    
    /* SR-only 레이블 */
    .sr-only{
        position:absolute; width:1px; height:1px; padding:0; margin:-1px;
        overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
    }
    
    
    /* 보수교육 */
    .bosoo_cont {
        display: flex;
        justify-content: space-between;
    }
    
    .edu-target { margin: 50px 0; }
    .edu-target__title { font-size: 20px; font-weight: 700; margin-bottom: 12px; }
    
    /* 테이블 */
    .edu-table {
        border: 1px solid #EAEAEA;
        overflow: hidden;
        background: #fff;
        font-size: 16px;
        text-align: center;
    }
    .edu-table table {
        width: 100%;
        border-collapse: collapse;
        table-layout: fixed;
    }
    .edu-table th,
    .edu-table td {
        padding: 14px 16px;
        border-top: 1px solid #EAEAEA;
        border-right: 1px solid #EAEAEA;
        vertical-align: middle;
        word-break: keep-all;
        line-height: 1.3;
    }
    .edu-table thead th {
        background: #F5F6FA;
        font-weight: 600;
        border-top: 0;
    }
    .edu-table tr td:last-child,
    .edu-table thead th:last-child { border-right: 0; }
    .edu-info__title { font-size: 20px; font-weight: 700; margin-bottom: 12px; }
    
    .edu-info__row {
        display: flex;
        flex-direction: column;
        gap: 12px;
        font-size: 16px;
    }
    
    /* 버튼을 우측 끝으로 정렬 */
    .edu-info__row .btn-detail {
        align-self: flex-end;
        width: auto;
        font-size: 18px;
    }
    
    .edu-info__box {
        flex: 1 1 auto;
        background: #F5F6FA;
        padding: 25px 35px;
    }
    
    .edu-info__list { margin: 0; padding-left: 18px; }
    .edu-info__list li {position: relative; line-height: 1.8;  padding-left: 0.8rem;}
    /* 기본 마커는 끄고 */
    .edu-info__list {
        list-style: none;
        margin: 0;
        padding: 0;
    }
    
    /* 커스텀 동그라미 */
    .edu-info__list li::before {
        --bullet-size: 4px;
        --bullet-y: .8em;
        content: "";
        position: absolute;
        left: 0;
        top: var(--bullet-y);
        width: var(--bullet-size);
        height: var(--bullet-size);
        margin-top: calc(var(--bullet-size) / -2); /* 수직 가운데 정렬 */
        border-radius: 50%;
        background: currentColor;  /* 글자색과 동일 */
    }
    
    /* 오른쪽 버튼 */
    .btn-detail{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 12px 18px;
        min-width: 135px;
        height: 45px;
        background: #000;
        color: #fff;
        border-radius: 5px;
    }
    
    
    /* 보수교육 반응형 */
    @media only screen and (max-width: 1279px) {
        .classplus{
            flex-direction: column;
        }
        .classplus .benefit_area {
        width: 100%;
        margin-top:40px;
        }
    }
    
    @media only screen and (max-width: 768px) {
        .thumb_group h2{font-size:22px;}
        .classplus .pr_area .pr_cart a:first-child{
            width:90%;
        }
        .classplus .pr_area h4{
            width: 100%;
        }
        
        .edu-table th, .edu-table td { padding: 12px; font-size: 14px;}
    
        .bosoo-wrap, .edu-target, .edu-info   {padding: 0 16px;}
        .edu-info__row .btn-detail {align-self: center; font-size: 16px;}
    
        .bosoo_cont {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 15px;
        }
    
        .edu-info__row {
            flex-direction: column;
            align-items: stretch;
            font-size: 14px;
        }
        .btn-detail { width: 100%;}
    }
    
    @media only screen and (max-width: 480px){
        .onlineedu-list{grid-template-columns: repeat(1, minmax(0, 1fr)); row-gap: 24px;}
        .classplus .pr_area .video_area{height:auto;}
        .classplus .pr_area h4{font-size:16px;}
        .classplus .benefit_area {margin-top: 24px;}
        .classarea_new ul{grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 26px;}
        .classarea_new .textcart .ttarea h4{font-size:16px; width: 137px;}
        .classarea_new .textcart .ttarea .pricearea span:first-child {font-size: 16px;}
        .classarea_new .textcart .ttarea .pricearea span:last-child {font-size: 12px;}	
        .classarea_new .btn2_area span{height:40px; line-height:40px; font-size: 14px;}
        
        .bosoo_cont {
            grid-template-columns: repeat(2, 1fr);
            gap: unset;
        }
        .edu-info__box {
            padding: 18px 25px;
        }
        .edu-table th, .edu-table td {
            line-height: 1.5;
        }
        
        
    }
    
    /* 진로 로드맵 반응형 */
    @media only screen and (max-width: 768px) {
        .emenu {
            display: none;
        }
    }
    
    @media only screen and (max-width: 768px) {
        .subpage-header {
            padding: 0 16px;
        }
        .tabs__list {
            grid-template-columns: repeat(3, 1fr);
            margin: 20px 0 20px;
        }
        .htit {
            display: flex;
            flex-direction: column;
        }
    }
    
    @media only screen and (max-width: 480px) {
        .subpage-header {
            padding: 15px 16px 5px;
        }
        .tabs__list > li .tab {
            font-size: 14px;
        }
        .tab {
            padding: 11px 18px;
        }
        .htit {
            align-items: center;
            border-bottom:none;
            gap: 12px;
        }
        .htit h2 {
            font-size: 28px;
        }
        .htit p {
            text-align: center;
            font-size: 16px;
            line-height: 1.5;
            word-break: keep-all;
        }
    }
    
    @media only screen and (max-width: 375px) {
        .htit p {
            font-size: 14px;
            word-break: keep-all;
            line-height: 1.5;
        }
    }
    