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

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

img {margin:0 auto;}

:root{


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

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

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

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

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


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

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


}

.carousel-control img {position:relative; top:50%; width:100px; margin-top:-50px;}
#myCarousel_mobile {display:none;}
.bx-wrapper {margin-bottom:0;}
.bx-wrapper img {max-width: none !important;}
.bx-wrapper .bx-controls-direction a {z-index:0; top: 50%;}

/* 메인 배너: 슬라이더 초기화 전 원본 2장 노출 방지 */
.min768 .bannerWrap.banner2,
.max768 .bannerWrap.banner5 {
    visibility: hidden;
    opacity: 0;
}
/* 고정 배너 노출 */
.min768 .bannerWrap.banner2.banner-type-fix,
.max768 .bannerWrap.banner5.banner-type-fix {
  visibility: visible !important;
  opacity: 1 !important;
}

/* 배너 슬라이더 prev/next - top, margin-top 등 위치 개별 조절 */
.bx-wrapper .bx-controls-direction--banner .bx-prev,
.bx-wrapper .bx-controls-direction--banner .bx-next {
    top: 50%;
    margin-top: -16px;
}

/* 추천 강좌 슬라이더 prev/next - top, margin-top 등 위치 개별 조절 */
.bx-wrapper .bx-controls-direction--course .bx-prev,
.bx-wrapper .bx-controls-direction--course .bx-next {
    top: 30%;
    margin-top: -16px;
    z-index: 50;
    pointer-events: auto;
}

@media (max-width: 834px) {
    /* #wrapmain 모바일 레이아웃 보정 */
    #wrapmain {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto;
        margin-right: auto;
        overflow-x: hidden;
        box-sizing: border-box;
    }
    #wrapmain .bannerWrap,
    #wrapmain .section-best-subject,
    #wrapmain .section-new-subject,
    #wrapmain .section-inner {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
    #wrapmain .bx-wrapper,
    #wrapmain .bx-viewport,
    #wrapmain .swiper,
    #wrapmain .swiper-wrapper {
        max-width: 100% !important;
        box-sizing: border-box;
    }
    #wrapmain .section-new-subject .section,
    #wrapmain .section-best-subject .section {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box;
    }

    /* 모바일 메인 비주얼: bxSlider 측정과 충돌하지 않게 래퍼만 정렬, 이미지는 비율 유지 */
    .max768 .bannerWrap,
    .main-visual .bannerWrap {
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        box-sizing: border-box;
        overflow: hidden;
    }
    .max768 .bannerWrap .bx-wrapper,
    .main-visual .bannerWrap .bx-wrapper {
        max-width: 100%;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    .max768 .bannerWrap img,
    .max768 .bannerWrap .banner img,
    .max768 .bannerWrap .bx-wrapper img,
    .main-visual .bannerWrap img,
    .main-visual .bannerWrap .banner img,
    .main-visual .bannerWrap .bx-wrapper img {
        display: block;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        margin-left: auto;
        margin-right: auto;
    }

    /* 메인(bncode 2) 모바일 — 비주얼 높이 축소 (340/640 대비 약 24% 낮춤) */
    .main-visual .bannerWrap .bx-wrapper,
    .main-visual .bannerWrap .bx-viewport {
        height: calc(100vw * 260 / 640) !important;
        max-height: 210px !important;
    }
    .main-visual .bannerWrap .banner,
    .main-visual .bannerWrap .banner li,
    .main-visual .bannerWrap .bx-wrapper > .banner {
        height: 100% !important;
    }
    .main-visual .bannerWrap img,
    .main-visual .bannerWrap .banner img,
    .main-visual .bannerWrap .banner .banner-bg-img,
    .main-visual .bannerWrap .bx-wrapper img {
        width: 100% !important;
        height: 100% !important;
        max-height: none !important;
        object-fit: cover;
        object-position: center top;
    }
}

@media (min-width: 835px) {
    /* PC 메인 비주얼: 뷰포트 너비에 맞춤·가운데 (bx가 슬라이드·높이 계산하도록 .banner 구조는 건드리지 않음) */
    .min768 .bannerWrap {
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        box-sizing: border-box;
    }
    .min768 .bannerWrap .bx-wrapper {
        max-width: 100%;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    .min768 .bannerWrap img,
    .min768 .bannerWrap .banner img,
    .min768 .bannerWrap .bx-wrapper img {
        display: block;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        margin-left: auto;
        margin-right: auto;
    }
}

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

.utbThumbWrap {padding-bottom:66%}
.utbThumb {margin-top:-14%;}
.sub_con{width:1000px; margin: 0 auto;}
.sub_con img {text-align:center;}

@media (min-width: 834px) and (max-width: 1024px) {
	 .utbThumb {margin-top:-22%;}
}
@media (min-width : 600px) and (max-width: 833px) {
	.utbThumb {margin-top:-17%;}
}
@media (max-width: 599px) {
	.utbThumb {margin-top:-20%;}
	.sub_con img{width:100%;}
	.daewoo_family{margin:0 auto; width:100%; text-align:right;}
	.daewoo_family img{width:100%;}
.daewoo_family a{text-align:center;}
}

/* 계산서요청 */

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

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


	.mytax_list li .mytax_top h2 {
		font-size: 18px;
		font-weight: bold;
		color: #000;
		word-spacing: -2px;
		margin-right: 12px;
	}
	.mytax_list li .mytax_top h2 span {
		width: 50px;
		height: 19.5px;
		background-color: #11ab91;
		margin-right: 7.5px;
		margin-bottom: 2.5px;
		font-size: 12px;
		display: inline-block;
		text-align: center;
		vertical-align: middle;
		color: #fff;
		font-weight: 400;
	}
	.mytax_list li .mytax_top h3 {
		font-size: 15px;
		font-weight: 500;
		color: #e91e63;
		line-height: 20px;
		letter-spacing:-0.5px;
	}
	.mytax_list li .mytax_top h4 {
		font-size: 16px;
		font-weight: 400;
		position: absolute;
		top: 0;
		right: 0;
	}
	.mytax_list li .mytax_top h4 span {
		color: #e91e63;
		font-weight: 600;
		font-size: 18px;
	}
	.mytax_list li .mytax_top .complete + h4 {
		font-size: 16px;
		top: -4px;
	}
	.mytax_list li .mytax_btm {
		position: relative;
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding-top: 0px;
		box-sizing: border-box;
	}
	.mytax_list li .mytax_btm h6 {
		font-size: 14px;
		font-weight: 400;
		color: #222222;
		letter-spacing: -0.5px;
		margin-top:15px;
		flex: 1;
	}
	.mytax_list li .mytax_btm h6 span {
		color: #387afc;
		margin-right: 8px;
		padding: 8px 10px;
		background-color: #eff4ff;
		border-radius: 4px;
		font-weight: 500;
	}
	.mytax_list li .mytax_btm h6 a {
		padding: 0 18px;
		height: 38px;
		color: #50C6C7;
		border-radius: 6px;
		border: 1px solid #50C6C7;
		
		margin-left: auto;
		margin-right: 8px;
		font-size: 15px;
		font-weight: 600;
	}
	.mytax_list .mytax_btn_wrap {	
		gap: 8px;
	}
	.mytax_list li .mytax_btm .bar_per {
		width: 465px;
		height: 6px;
		background-color: #dbe0f6;
		margin-top: 10px;
	}
	.mytax_list li .mytax_btm .percent {
		position: absolute;
		top: 20px;
		left: 475px;
		color: #0616bc;
		font-size: 15px;
	}

	.mytax_list .mytax_btn_wrap [class*="btn_"] {
		min-width: 125px;
		height: 38px;
		font-size: 15px;
		font-weight: 600;
		letter-spacing: -.5px;
		border-radius: 6px;
		
	}
	.mytax_list .mytax_btn_wrap .btn_1 {
		background-color: #fff;
		color: #387afc;
		text-align:center;
		border:1px solid #387afc;
	}
	.mytax_list .mytax_btn_wrap .btn_2 {
		background-color: #387afc;
		color: #fff;
		font-weight:600;
		border: 1px solid #387afc;
	}
		.mytax_list .mytax_btn_wrap .btn_3 {
		background-color: #fff;
		color: #00bcd4;
		text-align:center;
		border:1px solid #00bcd4;
	}
	.btn_1 span {	
    text-align:center;   	
    width: calc(100% + 200px);
    font-size: 16px;
	font-weight: 600;
	pointer-events: none;
	}
	.mytax_list .mytax_btn_wrap .ico {
		position: relative;	
		align-items: center;
		gap: 1px;
		justify-content: center;
	}


	.mytax_top_lft h5 {
		font-size: 13px;
		font-weight: 500;
		cursor: pointer;
		background-color: #387afc;
		padding: 3px 10px;
		color: #fff;
		border-radius: 20px;
		display: flex;
		align-items: center;
	}
	.mytax_top_lft h5 span {
		color: #fff;
		font-weight: 400;
	}
	.mytax_top_lft h5 span a {
		color: #fff !important;
		font-weight: 600;
	}
	.mytax_top_lft.complete h5 {
		position: absolute;
		right: 15px;
		top: 14px;
		color: #212224;
		background: transparent;
		font-size: 16px;
		font-weight: bold;
	}

	.mytax_notice {
		padding: 35px 40px;
		display: block;
		position: relative;
		border-radius: 20px;
		background-color: #eff4ff;
		background-image: url(/common/image/myclass_bg.png);
    background-position: right 90px bottom 50px;
		background-repeat: no-repeat;
	}
	.mytax_notice li {
		color: #666666;
		font-size: 15px;
		letter-spacing: -1px;
		word-break: keep-all;
		margin-bottom: 5px;
		position: relative;
		padding-left: 12px;
		line-height: 20px;
	}
	.mytax_notice li::before{
		content: '';
		display: block;
		width: 4px;
		height: 4px;
		background-color: #387afc;
		border-radius: 50%;
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
	}
	.mytax_notice li:last-child{
		margin-bottom: 0;
	}

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

	.mytax_notice span {
	 color:#e91e63;
	}
	.mytax_notice span i {
		color: #fff;
		font-size: 22px;
		cursor: pointer;
	}
	.mytax_notice > h3{
		display: block;
		font-size: 16px;
		line-height: 26px;
		color: #387afc;
		font-weight: 500;
		margin-bottom: 3px;
	}
	.mytax_notice > h2 {
		display: block;
		font-size: 24px;
		line-height: 34px;
		color: #000;
		font-weight: bold;
		margin-bottom: 12px;
	}

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

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

/* 메인 배너 텍스트 */
.main_tit_2022 {display:inline-block;padding:1rem 1rem 2rem 1rem; margin:1rem auto; color:#fff; border-radius:20px;}
.main_tit_2022 > .pc {font-size:30px; font-weight: 400!important;}
.main_tit_2022 > .pc > b {font-size:48px; color:#00bcd4!important; display: block; box-shadow:rgb(100 100 111 / 10%) 0px 5px 25px 0px;}
.main_tit_2022 > .mobile {font-size:24px;}
.main_tit_2022 > .mobile > b {color:#481099!important;display: block;}

.main_des_2022 {padding-left: 32px; display: block;}
.main_des_2022 > .pc {font-weight: 400!important; font-size: 18px; line-height: 1.4em; }
.main_des_2022 > .mobile {font-weight: 400!important; font-size: 17px; line-height: 1.4em;}

.bnr_btn_more {background: #00bcd4; padding: 8px 50px 12px; position: relative; border-radius: 30px; bottom: -30px;}
.bnr_btn_more:hover {background: #360f6d; box-shadow:0 10px 10px rgba(200,50,200,0.1); transition: 0.3s; }
.bnr_btn_more span {font-size:14px; font-weight: 400; margin-left:-20px; color: #fff;}
.bnr_btn_more span i{border-top: 2px solid #fff;
                     border-right: 2px solid #fff;
                     margin-left: 10px;
                     transform: rotate(45deg) translateY(-50%);
                     position: absolute;
                     top: 50%;
                     width: 8px;
                     height: 8px;}
@media screen and (max-width:420px) {
/* 메인 모바일 배너 텍스트 */
/*
    .swiper-slide{background-position:right 0% center!important; background-repeat: no-repeat;}
    .swiper-slide::before{content: ''; width: 100%; height: 440px;background-image: linear-gradient(90deg,rgba(255,255,255,0.8), rgba(255,255,255,0)); position: absolute;}
*/
    .main_tit_2022 > .pc {font-size:24px; font-weight: 400!important;}
    .main_tit_2022 > .pc > b {font-size:40px; color:#00bcd4!important;display: block; box-shadow:rgb(100 100 111 / 10%) 0px 5px 25px 0px;}
	.main_des_2022 {padding-left: 0px; display: block;}
}


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

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

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


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

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

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

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

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

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

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

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

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

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

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

.btn-view {
  display: block;
  width: 100%;
  padding: 12px 0;
  border-radius: 8px;
  background: #5bbeff;
  color: #fff !important;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  
}
/* 가격 호버 효과 */
.price::after {
    content: '';
    position: absolute;
    right: 0;
    height: 1px;
    width: 100px;
    top: 50%;
    background-color: #787dff;
    transform: scaleX(0);
}
#electrical-package:hover .price {
	font-weight: 800;
    color: #6b6b6b;
}

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

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

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


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

.mt-box {
    flex: 1;
}

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

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

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

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

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

@media (max-width: 1024px) {
    .mt-wrap {
        flex-direction: column;
        padding: 40px 20px;
    }
    .mt-l::after {
        display: none;
    }
    .mt-box {
        padding: 20px 0;
    }
    .mt-l {
        border-bottom: 1px solid #eeeeee;
        margin-bottom: 30px;
    }
}


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


.div_center {text-align:center;}
.viewpoint_banner {width:100%; padding:80px 0;}
.viewpoint_banner h1.section_tit_a {text-align:center; margin-bottom:40px; font-size:27px; font-weight:500; font-family: 'Pretendard', Sans-serif; }
.viewpoint_banner h1.section_tit_a {position:relative; display:inline-block;}
.viewpoint_banner h1.section_tit_a:after {content:"";width: 100%;height: 10px;display: inline-block;background: #ffec9c; position: absolute; bottom:7px; left:0; z-index:-1;}
.viewpoint_banner li.box {float:left; padding-top:80px; position:relative; margin-right:20px; width:calc(25% - 15px);text-align:center;background-size:cover; background-position:top; min-height:305px;transition:all 0.1s;}
.viewpoint_banner li.box:last-child {margin-right:0;}
.viewpoint_banner li.box img {width:65px;}
.viewpoint_banner li.box h1.tit {color:#fff; font-size:30px; padding:8px 0; font-family: 'Pretendard', Sans-serif;  letter-spacing:1px;transition:all 0.1s; }
.viewpoint_banner li.box:hover .tit{color:#f7ecc1;}


.viewpoint_banner li.box1 {background-image:url('/files/images/main_banner_01_bg.jpg');}
.viewpoint_banner li.box2 {background-image:url('/files/images/main_banner_02_bg.jpg');}
.viewpoint_banner li.box3 {background-image:url('/files/images/main_banner_031_bg.jpg'); padding-top:100px;}
.viewpoint_banner li.box4 {background-image:url('/files/images/main_banner_04_bg.jpg');}
.viewpoint_banner li.box3 img {margin-bottom:9px;}


.long_banner {padding:22px 0; display:inline-block; width:100%;}
.long_banner.main{background-image:url('/files/images/prd_bg.gif'); opacity:0.5;}
.long_banner ul {width:820px; margin:0 auto;}
.long_banner ul li {float:left;}
.long_banner ul li.txt_section {width:100%; padding-top:18px; text-align:center;}
.long_banner ul li.img_section {width:20%;}
.long_banner ul li.img_section img {width:100%;}
.long_banner ul li.txt_section span {font-size:34px; font-weight:600; color:#00d6f1; border-bottom:1px solid #00d6f1; line-height:24px; text-align:center;}
.long_banner ul li.txt_section h1 {font-size:26px; color:#ffffff; margin-top:20px; text-align:center; font-weight:400;}


/* 이용약관, 개인정보취급방침 */
.policy-title{font-size:36px; font-weight:800; text-align:center; letter-spacing:-1px; margin-bottom:50px;}
.policy_cont{position:relative; overflow:hidden; font-size:1rem;}
.policy_cont br{display:block;}
.policy_cont strong{font-weight:600; color:#000000;}
.policy_cont .cont_title{font-size:1.412rem; color:#000000; padding-bottom:18px; letter-spacing:-0.02em; font-weight:500;}
.policy_cont p.cont_btit {display:block; font-size:1.1em !important; padding-top:10px; font-weight:500; color:#000000 !important; letter-spacing:-0.02em;}
.policy_cont p.cont_tit {display:block; font-size:1em !important; padding-bottom:10px; font-weight:500; color:#000000 !important; letter-spacing:-0.02em;}
.policy_cont .cont_txt {padding:0px 0px 25px 0; color:#666666; line-height:150%; font-size:16px; letter-spacing:-1px;}
.policy_cont .cont_txt2 {padding-bottom:35px;}
.policy_cont .cont_box {padding:25px; background:#edeff6; border-radius:20px; margin:12px 0px 10px 0px; display:block;  letter-spacing:-0.02em; line-height:1.7;}

.privacy_list {width:100%; overflow:hidden; clear:both; *zoom:1; padding:3% 3% 3% 4%; border:1px dashed #dddddd; border-radius:20px; margin-bottom:30px;}
.privacy_list li {width:50%; float:left; padding-bottom:1%;}
.privacy_list li a {font-weight:500; color:#000000; font-size:15px;} 



/* 추천강좌&신규과정 공통 */
.bs-title{text-align:center; font-size:40px; color:#333; font-weight:500;}
.bs-title::before { display: inline-block; content: ''; width: 8px; height: 8px; border-radius: 50%; background-color: #3b83cf; margin-bottom: 30px; margin-right:-5px;}
.ns-title {text-align:center; font-size:40px; color:#333; font-weight:500;}
.ns-title::before { display: inline-block; content: ''; width: 8px; height: 8px; border-radius: 50%; background-color: #3b83cf; margin-bottom: 30px; margin-right:-5px;}
.bs-border-line, .ns-border-line { height:1px; margin:0px auto 14px;}

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

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

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

span.main_lec_stit{color:#222222; margin-right:5px; }
span.main_date{color:#666666; margin-right:5px; font-size:15px;}
span.main_lec_stit:nth-child(2){
    margin-top: 20px !important;
}
.bs-ss-box {height:0; overflow:hidden; 
    /* padding-bottom:58%;  */
    padding-bottom: 52%;
    position:relative;}
.bs-ss-box img {position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;    
    object-fit: cover; 
    object-position: center; 
    border-radius: 10px;}

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

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

/* 패키지 강좌: 제목 아래 공통 소개 문구 */
.bs-ss-desc {
	padding: 0 15px;
	margin: 6px 0 2px;
	font-size: 15px;
	line-height: 1.55;
	color: #777;
}

.bs-ss-text2, .ns-ss-text2 {padding:0px 15px; min-height:28px; margin-top:0px; margin-bottom:10px;}
.bs-ss-button ul li, .ns-ss-button ul li {width:100%;}
.bs-ss-button-r, .bs-ns-button-r {font-size:14px; padding:10px 0; text-align:center; transition:all 0.2s;}
.bs-ss-button-l, .ns-ss-button-l{background:#26485f; color:#fff;}

.course_1,.course_2,.course_3,.course_4,.course_5 ,.course_6 ,.course_7 ,.course_8 {}
/* 메인 bxSlider용 ul은 course_* 와 course_*Slider 를 같이 씀 → 그리드 규칙에서 제외 */
.course_1:not(.course_1Slider):after, .course_2:not(.course_2Slider):after , .course_3:not(.course_3Slider):after , .course_4:not(.course_4Slider):after , .course_5:not(.course_5Slider):after , .course_6:not(.course_6Slider):after , .course_7:not(.course_7Slider):after , .course_8:not(.course_8Slider):after  {content:''; display:block; clear:both;}
.course_1:not(.course_1Slider) > li, .course_2:not(.course_2Slider) > li , 
.course_3:not(.course_3Slider) > li , .course_4:not(.course_4Slider) > li , 
.course_5:not(.course_5Slider) > li  , .course_6:not(.course_6Slider) > li  , 
.course_7:not(.course_7Slider) > li  , .course_8:not(.course_8Slider) > li {
    float:left; width:32%; margin-right:2%; margin-bottom:30px;}
/* ns-ss-all 3열 그리드 - 메인화면 형식 (메인 영역에만 적용) */
.section-best-subject div:has(> .ns-ss-all) {
  display: flex !important;
  flex-wrap: wrap;
  gap: 20px;
}
.section-best-subject div:has(> .ns-ss-all) > .ns-ss-all {
  flex: 0 0 calc(33.333% - 14px) !important;
  min-width: 280px;
}
.course_1:not(.course_1Slider) > li:nth-child(3n), .course_2:not(.course_2Slider) > li:nth-child(3n) , .course_3:not(.course_3Slider) > li:nth-child(3n) , .course_4:not(.course_4Slider) > li:nth-child(3n) , .course_5:not(.course_5Slider) > li:nth-child(3n) , .course_6:not(.course_6Slider) > li:nth-child(3n), .course_7:not(.course_7Slider) > li:nth-child(3n), .course_8:not(.course_8Slider) > li:nth-child(3n){margin-right:0;}
.course_1:not(.course_1Slider) > li:last-child, .course_2:not(.course_2Slider) > li:last-child , .course_3:not(.course_3Slider) > li:last-child , .course_4:not(.course_4Slider) > li:last-child   , .course_5:not(.course_5Slider) > li:last-child , .course_6:not(.course_6Slider) > li:last-child , .course_7:not(.course_7Slider) > li:last-child , .course_8:not(.course_8Slider) > li:last-child{margin-right:0;}

/* 서브 패키지/단과 목록: 카드 3열 정렬 고정 */
#sub-container .listBox.c-List-Type > ul.course_1 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    width: 100%;
    height: auto;
    padding: 0;
    background: transparent;
    border-radius: 0;
}
#sub-container .listBox.c-List-Type > ul.course_1 > li {
    float: none;
    width: 100%;
    margin: 0;
}
#sub-container .listBox.c-List-Type > ul.course_1 > li > .ns-ss-all {
    height: 100%;
}
@media (max-width: 1024px) {
    #sub-container .listBox.c-List-Type > ul.course_1 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    #sub-container .listBox.c-List-Type > ul.course_1 > li {
        width: 100%;
    }
}
@media (max-width: 767px) {
    #sub-container .listBox.c-List-Type > ul.course_1 {
        grid-template-columns: 1fr;
    }
    #sub-container .listBox.c-List-Type > ul.course_1 > li {
        width: 100%;
    }
}

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

.main_teacher {float:left; width:50%; font-size:16px; font-weight:normal; color:#888;}
.main_price {float:right; text-align:right;padding-right: 3px;width:50%; font-size:21px; font-weight:700; color:#db0f0f !important; letter-spacing:-1px; line-height:24px;}
.main_price .main_lec_stit {display: none;}
.main_price span:not(.salePersent):not(.salePrice):not(.main_lec_stit) {
    color:#db0f0f !important; font-size:18px; font-weight:600;
}
.ns-ss-all .bs-ss-text2,
.ns-ss-all .ns-ss-text2 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
}
.ns-ss-all .main_teacher {
    float: none;
    width: auto;
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ns-ss-all .main_price {
    float: none;
    width: auto;
    flex-shrink: 0;
    text-align: right;
}
.main_price span.salePersent{color:#6b90dc; font-size:16px;}
.main_price span.salePrice{color:#888888; font-size:16px; text-decoration:line-through;}

/* 추천강좌 카드: 가격 영역을 한 줄 아래로 내려 보이게 조정 */
.bs-ss-all .main_price,
.ns-ss-all .main_price {
	position: relative;
	top: 0;
}

/* 메인 강좌 카드: 관리자 기본 스킨(awsHomeGangjwa)은 .ns-ss-all — 예전엔 :hover 에만 box-shadow 가 있어 그렇게 보였음 */
.ns-ss-all {
	border: 1px solid #e5e5e5;
	border-radius: 14px;
	box-shadow: 2px 4px 4px 0px rgba(0, 0, 0, 0.1);
	background: #fff;
    padding-bottom: 12px;
}
.ns-ss-all .bs-ss-box {
	overflow: hidden;
	border-radius: 14px 14px 0 0;
}
.ns-ss-all .bs-ss-box img {
	transition: transform 0.35s ease;
	border-radius: 0;
}
.ns-ss-all:hover .bs-ss-box img {
	transform: scale(1.1);
}

/* 추천강좌 bx 슬라이드: 카드 그림자가 뷰포트에 잘리지 않도록 여백 */
.section-best-subject .course_1Slider > li,
.section-best-subject .course_2Slider > li {
	padding: 8px 10px 20px;
	box-sizing: border-box;
}

/* 패키지 강좌(course_2): 상단 썸네일 세로 비율 */
.course_2Wrap .bs-ss-box {
	padding-bottom: 52%;
}
.course_2Wrap .bs-ss-text2,
.course_2Wrap .ns-ss-text2 {
	margin-bottom: 0;
}

/* 패키지 강좌(course_3): 내부 스킨(350px·flex 그리드) 간섭 차단 — PC/모바일 공통 */
.course_2Wrap .bs-source-subjcet {
	height: auto !important;
	min-height: 0 !important;
}
.course_2Wrap .bs-source-subjcet > ul,
.course_2Wrap .bs-source-subjcet > ul > li {
	display: block !important;
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
}
.course_2Wrap .ns-ss-all {
	width: 100% !important;
	max-width: 100% !important;
	flex: none !important;
	min-width: 0 !important;
	box-sizing: border-box;
}

/* bxSlider max-width: 패키지(course_3) 모바일은 100%만 (1100px 인라인 → 커졌다 작아짐) */
.section-best-subject .courseBox .bx-wrapper {
	max-width: 1100px !important;
}
@media (max-width: 834px) {
	.course_1Wrap .bx-wrapper,
	.course_2Wrap .bx-wrapper {
		max-width: 100% !important;
		width: 100% !important;
	}
}

/* 패키지 강좌(course_3): bxSlider 초기화 전 FOUC·크기 점프 방지 */
@media (max-width: 834px) {
	.course_2Wrap.course_2--loading .course_2Box {
		opacity: 0;
		visibility: hidden;
		min-height: 300px;
		overflow: hidden;
		pointer-events: none;
	}
	.course_2Wrap.course_2--ready .course_2Box {
		opacity: 1;
		visibility: visible;
		min-height: 0;
		overflow: visible;
		pointer-events: auto;
	}
	.course_2Wrap .bs-source-subjcet {
		height: auto !important;
	}
	.course_2Wrap .bs-source-subjcet > ul > li,
	.course_2Wrap li div:has(> .ns-ss-all) {
		display: block !important;
		width: 100% !important;
		float: none !important;
		flex: none !important;
		min-width: 0 !important;
	}
	.course_2Wrap div:has(> .ns-ss-all) > .ns-ss-all {
		width: 100% !important;
		max-width: 100% !important;
		flex: none !important;
		min-width: 0 !important;
	}
	.course_2Wrap:not(.course_2--ready) .course_2Box > .course_2Slider {
		overflow: hidden;
	}
	/* 슬라이더 준비 전: 1장만 (겹침 방지). slider-on 이후엔 bxSlider가 DOM 제어 */
	.course_2Wrap:not(.course_2--ready) .course_2Box > .course_2Slider > li:not(:first-child) {
		display: none !important;
	}
	.course_2Wrap:not(.course_2--ready) .course_2Box > .course_2Slider > li:first-child {
		width: 100% !important;
		max-width: 100%;
		float: none !important;
	}
}

/* 패키지 강좌(course_3): PC — 슬라이드 없이 2열 고정 */
@media (min-width: 835px) {
	.course_2Wrap .course_2Box,
	.course_2Wrap.course_2--static .course_2Box {
		overflow: visible;
		visibility: visible !important;
		opacity: 1 !important;
		min-height: 0 !important;
	}
	.course_2Wrap .course_2Box > .course_2Slider,
	.course_2Wrap .course_2Box > .bx-wrapper > .bx-viewport > .course_2Slider,
	.course_2Wrap .course_2Slider,
	.course_2Wrap.course_2--static .course_2Slider {
		display: flex !important;
		flex-wrap: wrap;
		gap: var(--course2-gap, 10px);
		width: 100% !important;
		transform: none !important;
		position: static !important;
		left: auto !important;
	}
	.course_2Wrap .course_2Box > .course_2Slider > li,
	.course_2Wrap .course_2Slider > li,
	.course_2Wrap.course_2--static .course_2Slider > li {
		flex: 0 0 min(
			var(--course2-card-width, 360px),
			calc((100% - (var(--course2-gap, 10px) * (var(--course2-cols, 3) - 1))) / var(--course2-cols, 3))
		);
		width: min(
			var(--course2-card-width, 360px),
			calc((100% - (var(--course2-gap, 10px) * (var(--course2-cols, 3) - 1))) / var(--course2-cols, 3))
		) !important;
		max-width: none !important;
		float: none !important;
		position: relative !important;
		left: auto !important;
		transform: none !important;
		box-sizing: border-box;
	}
	.course_2Wrap .bx-wrapper,
	.course_2Wrap.course_2--static .bx-wrapper {
		overflow: visible !important;
		max-width: 1100px !important;
		width: 100% !important;
		background: transparent;
		border: 0;
		box-shadow: none;
	}
	.course_2Wrap .bx-viewport,
	.course_2Wrap.course_2--static .bx-viewport {
		overflow: visible !important;
		height: auto !important;
		width: 100% !important;
	}
	.course_2Wrap .bx-controls,
	.course_2Wrap .bx-controls-direction,
	.course_2Wrap .bx-wrapper .bx-controls-direction--course {
		display: none !important;
	}
}

/* 패키지 강좌(course_3): 모바일 슬라이드 */
@media (max-width: 834px) {
	.course_2Wrap .bx-wrapper .bx-controls-direction--course .bx-prev,
	.course_2Wrap .bx-wrapper .bx-controls-direction--course .bx-next {
		display: block;
		z-index: 50;
		pointer-events: auto;
		cursor: pointer;
	}
	.course_2Wrap .bx-viewport {
		overflow: hidden !important;
	}
	.course_2Wrap .course_2Slider > li {
		box-sizing: border-box;
	}
	.course_2Wrap .course_2Slider > li.NoneCourse {
		display: none !important;
	}
}

.best-subject{
    margin-bottom: 40px;
}

/* 모바일: 단과 강좌 영역 아래 여백 축소 */
@media (max-width: 834px) {
    .courseBox.course_1Box {
        margin-bottom: -70px;
    }
}

.bs-ss-button-r {background:#ffec9c; color:#333;}
.bs-ss-button-r:hover {background:#ffb92e; color:#fff;}
/* 커스텀 스킨에서 .bs-ss-all 쓰는 경우(동일 비주얼) — 카드에 overflow:hidden 금지(box-shadow 가 잘림) */
.bs-ss-all {
	border: 1px solid #e5e5e5;
	border-radius: 14px;
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.1);
	background: #fff;
}
.bs-ss-all .bs-ss-box {
	overflow: hidden;
	border-radius: 14px 14px 0 0;
}
.bs-ss-all .bs-ss-box img {
	transition: transform 0.35s ease;
	border-radius: 0;
}
.bs-ss-all:hover .bs-ss-box img {
	transform: scale(1.1);
}

.bs-ns-button-r {background:#ecf3f0; color:#333;}
.bs-ns-button-r:hover {background:#1C5C47; color:#fff;}
.ns-ss-all .bs-ss-text2,
.ns-ss-all .ns-ss-text2 {margin-bottom: 0;}
/* 3열 레이아웃 시 제목 한 줄 말줄임 - 넓은 카드에서 적용 */
.ns-ss-all .bs-ss-text h1,
.ns-ss-all .ns-ss-text h1 {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  height: 26px;
  line-height: 26px;
}
/* 아래 여백 채우기 - 글자 간격 조정 */
.ns-ss-all .bs-ss-text {margin-top: 15px;}
/* 메인 단과·패키지(course_1/course_2): 썸네일 위 제목 오버레이(하단 제목·강사 영역 유지) */
.section-best-subject .course_1Wrap .ns-ss-all,
.section-new-subject .course_1Wrap .ns-ss-all,
.section-best-subject .course_2Wrap .ns-ss-all,
.section-new-subject .course_2Wrap .ns-ss-all {
	position: relative;
}
.section-best-subject .course_1Wrap .bs-ss-box,
.section-new-subject .course_1Wrap .bs-ss-box,
.section-best-subject .course_2Wrap .bs-ss-box,
.section-new-subject .course_2Wrap .bs-ss-box {
	position: relative;
}
.section-best-subject .course_1Wrap .course-thumb-title-overlay,
.section-new-subject .course_1Wrap .course-thumb-title-overlay,
.section-best-subject .course_2Wrap .course-thumb-title-overlay,
.section-new-subject .course_2Wrap .course-thumb-title-overlay {
	position: absolute;
	top: 20px;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 0 18px;
	box-sizing: border-box;
	z-index: 3;
	pointer-events: none;
	display: flex;
	align-items: center;
}
.section-best-subject .course_1Wrap .course-thumb-title-overlay-text,
.section-new-subject .course_1Wrap .course-thumb-title-overlay-text,
.section-best-subject .course_2Wrap .course-thumb-title-overlay-text,
.section-new-subject .course_2Wrap .course-thumb-title-overlay-text {
	color: #fff;
	font-weight: 800;
	font-size: clamp(20px, 2.2vw, 30px);
	line-height: 1.2;
	letter-spacing: -0.03em;
	word-break: keep-all;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.55), 0 0 2px rgba(0, 0, 0, 0.85);
}
.section-best-subject .course_1Wrap .course-thumb-title-overlay-text br,
.section-new-subject .course_1Wrap .course-thumb-title-overlay-text br,
.section-best-subject .course_2Wrap .course-thumb-title-overlay-text br,
.section-new-subject .course_2Wrap .course-thumb-title-overlay-text br {
	display: block;
	margin-top: 2px;
}
@media (max-width: 834px) {
	.section-best-subject .course_1Wrap .course-thumb-title-overlay-text,
.section-new-subject .course_1Wrap .course-thumb-title-overlay-text,
	.section-best-subject .course_2Wrap .course-thumb-title-overlay-text,
.section-new-subject .course_2Wrap .course-thumb-title-overlay-text {
		font-size: clamp(18px, 5vw, 24px);
	}
}
.section-best-subject .course_1Wrap .ns-ss-all > a:nth-child(2) .bs-ss-text,
.section-new-subject .course_1Wrap .ns-ss-all > a:nth-child(2) .bs-ss-text,
.section-best-subject .course_2Wrap .ns-ss-all > a:nth-child(2) .bs-ss-text,
.section-new-subject .course_2Wrap .ns-ss-all > a:nth-child(2) .bs-ss-text {
	position: static;
	margin-top: 15px;
	padding: 0 15px;
	pointer-events: auto;
	display: block;
	aspect-ratio: auto;
	min-height: 20px;
}
.section-best-subject .course_1Wrap .ns-ss-all > a:nth-child(2) .bs-ss-text h1,
.section-new-subject .course_1Wrap .ns-ss-all > a:nth-child(2) .bs-ss-text h1,
.section-best-subject .course_2Wrap .ns-ss-all > a:nth-child(2) .bs-ss-text h1,
.section-new-subject .course_2Wrap .ns-ss-all > a:nth-child(2) .bs-ss-text h1 {
	color: inherit;
	font-weight: 600;
	font-size: 20px;
	line-height: 23px;
	text-shadow: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	height: 26px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
/* 서브 단과 목록(/web/106 등): 썸네일 위 제목 오버레이(하단 제목 유지) */
#sub-container .listBox .ns-ss-all .bs-ss-box {
	position: relative;
}
#sub-container .listBox .course-thumb-title-overlay {
	position: absolute;
	top: 20px;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 0 18px;
	box-sizing: border-box;
	z-index: 3;
	pointer-events: none;
	display: flex;
	align-items: center;
}
#sub-container .listBox .course-thumb-title-overlay-text {
	color: #fff;
	font-weight: 800;
	font-size: clamp(18px, 2vw, 28px);
	line-height: 1.2;
	letter-spacing: -0.03em;
	word-break: keep-all;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.55), 0 0 2px rgba(0, 0, 0, 0.85);
}
#sub-container .listBox .course-thumb-title-overlay-text br {
	display: block;
	margin-top: 2px;
}
@media (max-width: 834px) {
	#sub-container .listBox .course-thumb-title-overlay-text {
		font-size: clamp(16px, 4.5vw, 22px);
	}
}
/* 서브 패키지/단과 목록: 제목(bs-ss-text) 하단 여백 제거 */
#sub-container .listBox.c-List-Type .ns-ss-all .bs-ss-text {
	margin-bottom: 0;
	min-height: 0;
	padding-bottom: 0;
}
#sub-container .listBox.c-List-Type .ns-ss-all .bs-ss-text h1 {
	height: 26px;
	min-height: 0;
	margin: 0;
	display: block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	line-height: 26px;
	-webkit-line-clamp: unset;
	-webkit-box-orient: unset;
}
#sub-container .listBox.c-List-Type .ns-ss-all .bs-ss-text1 {
	margin-top: 4px;
}
/* 강좌 상세·강사소개 등: 썸네일 위 제목 오버레이 */
.detailImgBox .course-thumb-title-overlay,
.block-thumb .course-thumb-title-overlay {
	position: absolute;
	top: 20px;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 0 18px;
	box-sizing: border-box;
	z-index: 3;
	pointer-events: none;
	display: flex;
	align-items: center;
}
.detailImgBox .course-thumb-title-overlay-text,
.block-thumb .course-thumb-title-overlay-text {
	color: #fff;
	font-weight: 800;
	font-size: clamp(29px, 3.5vw, 47px);
	line-height: 1.38;
	letter-spacing: -0.03em;
	word-break: keep-all;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.55), 0 0 2px rgba(0, 0, 0, 0.85);
}
.detailImgBox .course-thumb-title-overlay-text br,
.block-thumb .course-thumb-title-overlay-text br {
	display: block;
	margin-top: 2px;
}
@media (max-width: 834px) {
	.detailImgBox .course-thumb-title-overlay-text,
	.block-thumb .course-thumb-title-overlay-text {
		font-size: clamp(25px, 7.1vw, 35px);
		line-height: 1.34;
	}
}
.ns-ss-all .bs-ss-text1 {
    margin-top: 14px;
    line-height: 1.2;
    padding: 0 15px;
}
/* .ns-ss-all .bs-ss-text2 {margin-top: 4px; min-height: 34px;}
.ns-ss-all .main_teacher,
.ns-ss-all .main_price {line-height: 1.6;} */

.class_total{margin:5px}
.starImg{margin:5px}

/* 컨텐츠 - 세미나리스트 */
.seminar_section {display:inline-block; width:100%; background:url('/files/images/main_seminar_bg.jpg') center top; padding:100px 0;}
.seminar_section .tit {color:#fff; text-align:center; font-size:26px; margin-bottom:40px;} 
.seminar_section ul li.box {width:calc(25% - 20px); float:left; min-height:200px; background:#fff; margin-right:20px; margin-bottom:20px; padding:25px; position:relative;}
.seminar_section ul li.box:after {content:""; position:absolute; right:0; bottom:0; display:inline-block; width:20px; height:20px;background:#fa2828; transition:all 0.1s;}
.seminar_section ul li.box:hover:after {width:50%;}
.seminar_section ul li.box:nth-child(4) {margin-right:0;}
.seminar_section ul li.empty {background:none;}
.seminar_section ul li.empty:after {display:none;}
.seminar_section ul li.titBox {background:#fa2828; padding:25px 25px 0 25px;}
.seminar_section ul li.titBox h2 {font-size:25px; color:#fff; letter-spacing:-2px; margin-bottom:15px;}
.seminar_section ul li.titBox .titBtn {color:#fff; border:1px solid #fff; font-size:20px; text-align:center; padding: 5px 0; transition:all 0.1s;} 
.seminar_section ul li.titBox .titBtn:hover {color:#fa2828; background:#fff;}
.seminar_section ul li.titBox .titBtn a {display:block;}
.seminar_section ul li.box ul.semi_list li {font-size:18px; letter-spacing:-1px; line-height:24px; padding-left:12px; position:relative;}
.seminar_section ul li.box ul.semi_list li:before {content:"·"; position:absolute; left:0;top:0;}

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

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

    .nb-right-banner {
        order: -1; 
        text-align: center;
    }
    
    .b-title {
        font-size: 1.1rem;
    }
    .main-title-text{padding: 10px;}

    /* 빨간 영역 내로 콘텐츠 맞춤 - 마진·패딩 축소 */
    .section-new-subject .section {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box;
    }

}

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

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


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

.nb-left {
    flex: 1;
}

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

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

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

/* ===== 이용정보 게시판 ===== */
.info-board {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    width: 100%;
    min-height: 100px;
    height: auto;
    overflow: visible;
}

.section-new-subject .info-board {
    margin-top: 18px;
    margin-bottom: 42px;
}

.section-new-subject .section-inner .info-board {
    margin-top: 8px;
    margin-bottom: 64px;
}

/* 메인 하단 이용정보·게시판 영역 배경 (뷰포트 가로 전체) */
.section-new-subject .main-info-board-band {
    width: 100%;
    margin-top: 0px;
    margin-left: 0;
    margin-right: 0;
    padding: 30px 0 20px;
    border-radius: 0;
    border: none;
    box-shadow: none;
    box-sizing: border-box;    
}

.section-new-subject .main-info-board-band .main-title-text.info-main-title {
    padding-top: 0 !important;
    padding-bottom: 12px !important;
}

.info-col {
    position: relative;
    min-width: 0;
    padding: 24px 20px 20px;
    border: none;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.82);
    box-shadow: none;
    transition: transform 0.25s ease, background-color 0.25s ease;
}

.info-col:hover {
    transform: translateY(-2px);
    background: rgba(255, 255, 255, 0.95);
    box-shadow: none;
}

.info-col-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(55, 85, 120, 0.12);
    margin-bottom: 6px;
}

.info-col-tit {
    font-size: 20px;
    font-weight: 400;
    color: #1f344b;
    letter-spacing: -0.3px;
}

.info-col-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    font-size: 0;
    font-weight: 400;
    color: #35516e;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.65);
    text-decoration: none;
    line-height: 1;
    transition: color 0.2s ease, background-color 0.2s ease;
}

.info-col-more::before {
    content: "+";
    display: block;
    font-size: 24px;
    line-height: 1;
    color: currentColor;
    transform-origin: 50% 50%;
    transition: transform 0.22s ease;
}

.info-col-more:hover {
    color: #006fb8;
    background-color: rgba(236, 246, 255, 0.95);
}

.info-col-more:hover::before {
    transform: rotate(180deg);
}

.info-board .bbody {
    width: 100%;
    overflow: hidden;
}

.info-board .btext {
    position: relative;
    border-bottom: 1px solid #ecf0f5;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.info-board .btext:last-child {
    border-bottom: none;
}

.info-board .btext:hover {
    background: #f3f8fe;
}

.info-board .btext > ul > li {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 8px 10px 14px;
}

.info-board .btext > ul > li::before {
    content: "";
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #8fb3d7;
    flex-shrink: 0;
}

.info-board .btext > ul > li a {
    flex: 1;
    min-width: 5ch;
    width: auto;
    font-size: 15px;
    color: #4f5b69;
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: color 0.2s ease, transform 0.2s ease;
}

.info-board .btext > ul > li a:hover {
    color: #006fb8;
    transform: translateX(2px);
}

.info-board .btext > ul > li .date {
    position: static !important;
    float: none !important;
    flex-shrink: 0;
    font-size: 12px !important;
    color: #8c9aae !important;
    font-weight: 400;
}

/* 공지사항 카드(요청 디자인) */
.info-col.notice-card {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
}
.info-col.notice-card .info-col-head {
    border-bottom: none;
    margin-bottom: 16px;
    padding-bottom: 0;
}
.info-col.notice-card .info-col-tit {
    letter-spacing: -1px;
    font-size: 26px;
    font-weight: 800;
    color: #333333;
    line-height: 1.5;
}
.info-col.notice-card .info-col-more {
    width: auto;
    height: auto;
    background: transparent;
    border: none;
    color: #7e7e7e;
    border-radius: 0;
}
.info-col.notice-card .info-col-more::before {
    font-size: 44px;
    font-weight: 100;
    line-height: 1;
    opacity: 0.78;
}
.info-col.notice-card .btext {
    border: 1px solid #eef3f8;
    margin-bottom: 8px;
    background: #fff;
}
.info-col.notice-card .btext:hover {
    background: #f4f8ff;
    border-color: #e3edf9;
}
.info-col.notice-card .btext:last-child {
    border-bottom: 1px solid #eef3f8;
}
.info-col.notice-card .btext > ul > li {
    gap: 10px;
    padding: 14px 34px 12px 18px;
    position: relative;
}
.info-col.notice-card .btext > ul > li::before {
    display: none;
}
.info-col.notice-card .btext > ul > li a {
    font-size: 16px;
    color: #3a4654;
    font-weight: 500;
}
.info-col.notice-card .btext > ul > li::after {
    content: "→";
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #7f98b8;
    font-size: 16px;
    line-height: 1;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.18s ease;
}
.info-col.notice-card .btext:hover > ul > li::after {
    opacity: 1;
}
.info-col.notice-card .btext > ul > li .date {
    font-size: 14px !important;
    font-weight: 400;
    color: #7f98b8 !important;
}

@media (max-width: 768px) {
    .info-board {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .section-new-subject .info-board {
        margin-top: 12px;
        margin-bottom: 26px;
    }

    .section-new-subject .section-inner .info-board {
        margin-top: 6px;
        margin-bottom: 34px;
    }

    .section-new-subject .main-info-board-band {
        margin-top: 24px;
        padding: 22px 10px 28px;
        border-radius: 0;
    }

    .info-col {
        padding: 14px 14px 10px;
    }

    .info-col-tit {
        font-size: 18px;
    }

    .info-board .btext > ul > li {
        padding: 9px 4px 9px 12px;
    }

    .info-board .btext > ul > li .date {
        font-size: 11px !important;
    }
}

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

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

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

.b-more .nb-rotate-btn::before {
    content: '+';
}
.nb-right-banner img{    min-width: 300px;}

.nb-right-banner {

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


.nb-b-tag { font-size: 14px; margin-bottom: 10px; }
.nb-b-title { font-size: 18px; margin-bottom: 15px; color: #ffffff;}
.nb-b-desc { font-size: 26px; font-weight: 700; line-height: 1.3; margin-bottom: 30px; }
.nb-q-btn:hover {
    background-color: #034994; 
}
.nb-q-btn {
    display: inline-flex;
    align-items: center;
    background: #3c7adb;
    color: #fff !important;
    text-decoration: none;
    padding: 8px 10px 8px 25px;
    border-radius: 30px;
    gap: 15px;
}
.nb-b-inner-1 {
    display: flex;
    justify-content: flex-end;   
}
.nb-q-btn i {
    background: #fff;
    color: #3047d5;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    font-style: normal;
    font-weight: bold;
}
.play_button_triangle_icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    width: 60px;
    height: 45px;
    background-color: #FF0000;
    border-radius: 20%;
    border: none;
    cursor: pointer;
    font-size: 0;
    color: transparent;
    display: flex;
    justify-content: center;
    align-items: center;}


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


/* 메인게시판 끝 */

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

}

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

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

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

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

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

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

/* 컨텐츠 - 메인교재리스트 */
.main-best-book {padding-top:80px;}
.main-best-book .bb-ui {display:table; width:100%;}
.main-best-book .bb-ui > li {width:80%; border:1px solid #ddd; border-left:0; padding:30px 10px 30px 20px; display:table-cell; vertical-align:top;}
.main-best-book .bb-ui > li:first-child {width:20%; border-left:1px solid #ddd;}
.main-best-book .bb-ui-left {padding-top:40px; font-size:18px;}
.main-best-book .bb-ui-left .tablinks {margin-bottom:10px;}
.main-best-book .bb-ui-left .active {border-bottom:5px solid #000; margin-bottom:10px; width:70%; padding-bottom:0; color:#333; font-weight:500;}
.main-best-book .bb-a {cursor:pointer;}
.main-best-book .bb-a:hover {color:#fa2828}
.main-best-book .tabcontent {padding:0;}
.nb-img-box {position:relative; width:100%; height:0; padding-bottom:120%;}
.nb-img-out {height:100%; overflow:hidden; width:100%; position:absolute;}
.nb-img-in {width:100%; height:100%; display:block; margin:0 auto; border:1px solid #ddd;}
.main-best-book .book_tit {text-overflow:ellipsis; white-space:nowrap; word-wrap:normal; color:#222222; width:100%; overflow:hidden; font-size:18px; padding-top:10px; font-weight:400;}
.main-best-book .book_price {font-size:18px; padding-top:0px; padding-right:5px; text-align:right; font-weight:400; color:#fa2828;}
span.book_stit{float:left; color:#666666; font-size:16px; }

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

@media (max-width: 834px) {
	.main-best-book .bb-ui > li,.main-best-book .bb-ui > li:first-child {width:100%; display:table;}
	.main-best-book .bb-ui-left {padding-top:0;}
	.main-best-book .bb-ui > li {padding:0px 10px 20px; border:0;color: #666666;}
	.main-best-book .bb-tap {padding-top:15px;}
	.main-best-book .bb-ui > li:first-child {border:0}
	.main-best-book .bb-a {font-size:15px;}	
	.main-best-book .bb-ui-left .tablinks {width:calc(100% / 3); float:left; text-align:center; padding-bottom:5px;}
}
@media (max-width: 480px) {
	.main-best-book .bb-a {font-size:14px;}	
}

/* 배너 */

/* 강좌 리스트 상단 webBanner (bncode 4, awsAdv.do) */
#sub-container .course-list-top-banner.banner_box {
    width: 100%;
    max-width: 1100px;
    margin: 20px auto 0;
    padding: 0 0;
    box-sizing: border-box;
    clear: both;
}
#sub-container .course-list-top-banner .banner_top,
#sub-container .course-list-top-banner .banner_bottom {
    display: none;
}
#sub-container .course-list-top-banner .bannerWrap:empty {
    display: none;
}
#sub-container .course-list-top-banner .bannerWrap {
    width: 100%;
    max-width: 100%;
    border-radius: 12px;
    overflow: hidden;
}
#sub-container .course-list-top-banner .bannerWrap.banner-type-fix .banner,
#sub-container .course-list-top-banner.banner_box .banner {
    float: none !important;
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    position: relative;
    box-sizing: border-box;
}
#sub-container .course-list-top-banner .bannerWrap.banner-type-fix .banner .banner-bg-img,
#sub-container .course-list-top-banner .bannerWrap.banner-type-fix .banner > img,
#sub-container .course-list-top-banner .bannerWrap.banner-type-fix .banner .banner-img-link img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
    object-fit: contain;
    object-position: center;
}
#sub-container .course-list-top-banner .banner-has-html .banner-img-link {
    display: block;
}
#sub-container .course-list-top-banner .banner-has-html .banner-contents-html {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    pointer-events: none;
    z-index: 2;
}
#sub-container .course-list-top-banner .banner-has-html .banner-contents-html a {
    pointer-events: auto;
}
#sub-container .course-list-top-banner .banner-has-html .banner-contents-html .eg-course-bnr {
    width: 100%;
    margin: 0;
    background: transparent !important;
    box-sizing: border-box;
    pointer-events: none;
}
#sub-container .course-list-top-banner .banner-has-html:not(:has(.banner-bg-img)) .eg-course-bnr {
    min-height: 120px;
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center center;
}
@media (max-width: 767px) {
    #sub-container .course-list-top-banner.banner_box {
        display: none !important;
        margin: 0;
        padding: 0;
        height: 0;
        overflow: hidden;
    }
}

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

@media (max-width: 767px) {
    /* /common/banner.html 상단 배너 — 모바일만 숨김 */
    .enrolment_top {
        display: none !important;
    }
    .sub-body > .sub-title {
        display: block !important;
    }
    /* 로고 영문(INCOME ACCEL)이 아래 콘텐츠에 가려지지 않도록 */
    #header {
        /* min-height: 95px !important; */
        height: auto !important;
        overflow: visible !important;
        /* margin-bottom: -26px !important; */
    }
    #sub-container {
        margin-top: 0 !important;
    }
}

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



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


.board_button > ul > li.main_board {width:100%; margin-right:2%; margin-bottom:3%; height:200px;}
.b-stit{color: #3047d5;}
.button > ul > li {float:left; margin-left:0.5%; width:48%; border:1px solid #e5e5e5; height:210px; margin-bottom:3%; border-radius:15px; box-shadow:rgb(100 100 111 / 10%) 0px 5px 25px 0px;}
.button > ul > li:last-child {float:right; margin-left:1%;  width:48%;  height:210px; border:1px solid #e5e5e5; border-radius:15px;  box-shadow:rgb(100 100 111 / 10%) 0px 5px 25px 0px;}
.board-menu {display:inline-block; padding:12px 25px 0px; width:100%; position:relative; }
.board-menu > ul > li {width:33.3%; float:left; font-weight:400 !important; margin-top:0px; height:34px; line-height:34px; text-align:center; font-size:17px; color:#333; border-bottom:1px solid  transparent; border-top-left-radius:10px; border-top-right-radius:10px;}
#issues > a {color:#fff;}
.board-menu > ul > li > a {color:#61869e;}
.board-menu > ul > li + li {border-left:0;}
#view {width:100%; max-width:60px; font-size:30px; background:#ffb92e; color:#fff; height:60px; overflow:hidden; position:absolute; right:0; top:0;}

.slider_boxexam .btext {position:relative; }
.btext {position:relative;}
.btext > ul > li {    
    padding: 2px 0;
    text-overflow: ellipsis;
    white-space: nowrap;
    word-wrap: normal;
    overflow: hidden;
}
.btext > ul > li a{
    font-size: 16px;
    color: #555;
    width: 94%;
    text-overflow: ellipsis;
    white-space: nowrap;
    word-wrap: normal;
    overflow: hidden;
}
.btext > ul > li a:hover{
    font-weight:400;
    color:#0077c8;
}

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

.bmenus {cursor:pointer;}
.bmenus.active {background:#fff; border-bottom:0; color:#283c87;}
.add-button {position:absolute; background:#000; top:0; right:0; width:10.8%;}
.aos-init{}
.button{display:inline-block;}
.button2 {margin-top:0px;}
.guide_info {width:100%; position:relative;}
.b-title {font-size:22px; color:#333333;  padding-bottom:7px;font-weight:800; }
.b-title2 {font-size:22px; color:#333333;  padding-bottom:7px; font-weight:800;}
span.b-more{float:right;}
.b-t-f{font-weight:800;}

.b-title a:hover::after {animation: rotate-icon 0.3s linear;}
@keyframes rotate-icon {
  0% {
      transform: rotate(0deg);
  }
  100% {
      transform: rotate(180deg);
  }
}
.b-title .b-more > a::after {
    content: "";
    position: absolute;
    right: 0px;
    top: 2px;
    width: 26px;
    height: 26px;
    background: url(/files/images/notice_more.png) #3b83cf no-repeat center;
    border-radius: 5px;
}
.btext a::after {
    display: none !important;
}

/* 메인 공지 배지(공지/안내/긴급) */
.bulletin-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 7px;
    border-radius: 999px;
    border: 1px solid transparent;
    margin-right: 8px;
    vertical-align: middle;
    line-height: 1;
    font-size: 11px;
    font-weight: 600;
    font-style: normal;
    letter-spacing: -0.1px;
    transform: translateY(-1px);
}
.bulletin-badge-notice {
    color: #2b6ecb;
    background: #edf4ff;
    border-color: #cfe0fb;
}
.bulletin-badge-guide {
    color: #2a8a59;
    background: #edf9f1;
    border-color: #cdebd8;
}
.bulletin-badge-urgent {
    color: #d94444;
    background: #fff1f1;
    border-color: #ffd4d4;
}

/* 모바일 공지사항: 배지가 overflow:hidden 영역에서 잘리는 현상 방지 */
@media (max-width: 768px) {
    .bulletin-badge {
        transform: none;
        /* padding: 4px 4px; */
        line-height: 1.1;
        font-size: 12px;
        letter-spacing: -0.05px;
        width: 38px;
        text-align: center;
    }
}

/* 게시판 공지글 목록(고객센터 공지사항 등) */
.contable.bbslist-t .section-box .ul-1 > li:first-child {
    text-align: center;
}
.contable.bbslist-t .section-box .ul-1 > li:first-child .bulletin-badge {
    margin-right: 0;
    transform: none;
}

	/* NOTICE 안내 */

	.p.b-stit {
    font-size: 16px;
    color: #3a81d2;
    font-weight: 500;
    margin-bottom: 10px;
    padding-left: 10px;
	}
	.board-menu > ul > li:first-child {
    border-right: 1px solid #ddd;
}

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

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

.board_button {
    margin: 0 auto;
    width: 100%;
    display: inline-block;
}
.btext {
    font-weight: 500 !important;
    position: relative;
    border-bottom: 1px solid #dddddd;
}
.board_flex{
	display: flex;
	    justify-content: space-between;
		gap:20px;
}
.board_box{width: 50% ; }
.board_box_left {}
.board_box_right{}
.b-text2{    padding: 20px;
    background-color: #f4f9ff;
    height: 190px;
    color: #0e355f;
    border-radius: 10px;
}
.b-text3{    padding: 20px;
    background-color: #f4f9ff;
    color: #0e355f;
    border-radius: 10px;
}
.marker1 ul li::marker{content: "•"; color: #0e355f;}
.marker1 ul li{padding-left: 8px;}

@keyframes rotate-icon {
  0% {
      transform: rotate(0deg);
  }
  100% {
      transform: rotate(180deg);
  }
}
span.b-right{float:right; font-size:15px; padding-top:7px;}
.guide_info .b-text .num {font-size:30px; letter-spacing:-.5px; color:#222; font-weight:600; margin-top:14px; margin-bottom:0px;}
.guide_info .b-text .text_info {font-size:15px; letter-spacing:-.5px; margin-top:20px; margin-bottom:20px; color:#777;}
.b-text img {position:absolute; bottom:15px; right:25px;}
.guide_info .location_btn {display:inline-block; background:#333; margin-top:7px; margin-bottom:3px; border:1px solid #333; transition:all 0.1s; }
.guide_info .location_btn a {color:#fff; display:block;padding:8px 45px; }
.guide_info .location_btn:hover {background:#fff;}
.guide_info .location_btn:hover a {color:#333;}

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

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

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

	.board_flex{display: flex ;flex-direction:column;}
	.board_box_right{padding: 0;}

	.section {width:95%;}
	/* 컨텐츠 - 세미나리스트 */	
	.seminar_section ul li.box {width:calc(33% - 20px);}
	.seminar_section ul li.empty {display:none;}
	.seminar_section ul li.box:nth-child(4) {margin-right:20px;}
	.seminar_section ul li.box ul.semi_list li {font-size:17px;}
	.seminar_section ul li.titBox {padding:20px 20px 0 20px;}
	.seminar_section ul li.box {padding:17px;}

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

}


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

	/* 컨텐츠 - 추천강좌&신규과정 공통 */
	.bs-title, .ns-title {font-size:22px;}
	.bs-ss-title, .ns-ss-title {font-size:20px;}
	.navy-box {font-size:16px; width:85%;}
	.course_1:not(.course_1Slider) > li, .course_2:not(.course_2Slider) > li, .course_3:not(.course_3Slider) > li, .course_3:not(.course_3Slider) > li, .course_5:not(.course_5Slider) > li, .course_6:not(.course_6Slider) > li, .course_7:not(.course_7Slider) > li, .course_8:not(.course_8Slider) > li {width:49%; margin-right:2%;}
	
	.course_1:not(.course_1Slider) > li:nth-child(even), .course_2:not(.course_2Slider) > li:nth-child(even), .course_3:not(.course_3Slider) > li:nth-child(even), .course_3:not(.course_3Slider) > li:nth-child(even), .course_5:not(.course_5Slider) > li:nth-child(even), .course_6:not(.course_6Slider) > li:nth-child(even), .course_7:not(.course_7Slider) > li:nth-child(even), .course_8:not(.course_8Slider) > li:nth-child(even) {margin-right:0;}

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

	/* 컨텐츠 - 배너버튼 */
	.long-img-center {top:26px; left:100px;}
	.long-text {top:50px; right:150px;}
	.short-text {position:absolute; top:50px; left:30px;}

}


@media all and (max-width: 1024px) {
	.viewpoint_banner li.box {width:calc(50% - 5px); margin:0; background-position:center;}
	.viewpoint_banner li.box:nth-child(4) {background-position:top;}
	.viewpoint_banner li.box:nth-child(1),.viewpoint_banner li.box:nth-child(3) {margin-right:5px;}
	.viewpoint_banner li.box:nth-child(2),.viewpoint_banner li.box:nth-child(4) {margin-left:5px;}
	.viewpoint_banner li.box:nth-child(1),.viewpoint_banner li.box:nth-child(2) {margin-bottom:10px;}
	.viewpoint_banner li.box3 {padding-top:80px;}
}



@media all and (max-width: 768px) {
	.viewpoint_banner {padding:40px 0;}
	.viewpoint_banner li.box {min-height:260px; border:0;}
	.viewpoint_banner li.box .tit {font-size:25px;}
	.viewpoint_banner li.box img {width:55px;}
	.viewpoint_banner li.box:nth-child(1), .viewpoint_banner li.box:nth-child(2),.viewpoint_banner li.box:nth-child(3), .viewpoint_banner li.box:nth-child(4) {margin:0; width:calc(50% - 4px);}
	.viewpoint_banner li.box:nth-child(1), .viewpoint_banner li.box:nth-child(3) {margin-right:2px;}
	.viewpoint_banner li.box:nth-child(2), .viewpoint_banner li.box:nth-child(4) {margin-left:2px;}
	.viewpoint_banner li.box:nth-child(1), .viewpoint_banner li.box:nth-child(2) {margin-bottom:4px;}

	.long_banner {padding:30px 0;}
	.long_banner ul {width:100%;}
	.long_banner ul li.txt_section h1 {font-size:20px;}
	.long_banner ul li.txt_section {text-align:center; width:100%;}
	.long_banner ul li.img_section {width:100%; text-align:center; margin-top:15px;}
	.long_banner ul li.img_section img {width:100px;}
	.long_banner ul li.txt_section span {font-size:22px;}

	/* 컨텐츠 - 세미나리스트 */
	.seminar_section ul li.box {width:calc(50% - 10px);}
	.seminar_section ul li.box:nth-child(2),.seminar_section ul li.box:nth-child(4),.seminar_section ul li.box:nth-child(7),.seminar_section ul li.box:nth-child(9) {margin-right:0;}
	.seminar_section .tit {font-size:20px; width:95%; margin:0 auto 30px;}

	/* 이용약관, 개인정보취급방침 */
	.policy_cont{}
	.policy_cont p.cont_tit {font-size:1.2em !important; padding-bottom:5px;}
	.policy_cont .cont_txt {padding:0px 0px 25px 0; }
	.policy_cont .cont_txt2 {padding-bottom:25px;}
	.policy_cont .cont_box {padding:18px 18px; }

	.privacy_list {margin-bottom:30px;}
	.privacy_list li {width:100%;  }

}



@media only screen and (max-width : 480px){
   	.long_banner {padding:10px 0;}
   .long_banner ul li.txt_section h1 {font-size:18px; line-height: 24px;}
   .long_banner ul li.txt_section {text-align:center; width:100%; padding-top:0px;}

	#myCarousel {display:none;}
	#myCarousel_mobile {display:inline-block;}
	#myCarousel_mobile > .bx-wrapper {margin:0;}
	
   .button > ul > li:last-child {margin-left:0%;  width:100%;}
	/* 컨텐츠 - 추천강좌&신규과정 공통 */
	.bs-title, .ns-title {font-size:30px;}
	.bs-source-subjcet > ul > li, .ns-source-subjcet > ul > li {width:100%;}
	.open-source-background {top:410px;}
	.bs-ss-title, .ns-ss-title {font-size:18px;}
	.navy-box {width:85%;}

	.course_1:not(.course_1Slider) > li, .course_2:not(.course_2Slider) > li, .course_3:not(.course_3Slider) > li, .course_3:not(.course_3Slider) > li, .course_5:not(.course_5Slider) > li, .course_6:not(.course_6Slider) > li, .course_7:not(.course_7Slider) > li, .course_8:not(.course_8Slider) > li {width:100%; margin-right:0;}

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

	/* 컨텐츠 - 세미나리스트 */
	.seminar_section ul li.box {width:80%; margin:0 auto 10px; float:none; min-height:auto;}
	.seminar_section ul li.box:nth-child(2),.seminar_section ul li.box:nth-child(4),.seminar_section ul li.box:nth-child(7),.seminar_section ul li.box:nth-child(9) {margin-right:auto;}
	.seminar_section ul li.titBox h2 {font-size:20px;}
	.seminar_section ul li.titBox .titBtn {font-size:17px;}

	/* 컨텐츠 - 배너버튼 */
	.section-banner-button > .section::after{content:''; display:block; clear:both;}
	.long-img-center {top:30px; left:200px; z-index:1;}
	.long-img-center img {width:80%;}
	.long-text {top:55px; left:40px; right:0;}
	.bb h2 {font-size:24px;}
	.bb p {margin-top:10px;}
	.banner-button-short > ul > li {clear:both; width:100%;}
	.banner-button-short > ul > li:nth-child(2) {margin:0;  margin:20px 0;}
	.long-text > p {margin-top:20px;}
	.short-text {top:30px;}
	.short-box1, .short-box2, .short-box3 {height:150px;}

	/* 컨텐츠 - 게시판&서브버튼 */
	.board_button > ul > li {width:100%; padding-left:0%;}
	.board_button > ul > li:last-child {width:100%;}
	.button > ul > li {margin-left:0; margin-top:20px;}
	.guide_info .b-text .num {font-size:18px;}
	.guide_info .b-text .text_info {font-size:13px;}
	.board_button > ul > li.main_board {float:auto; width:100%;}




	/* 배너 */
.banner_box .banner{float:left;}
.banner_box .banner img{width:100%;}
	
}
@media only screen and (max-width : 320px){
	.long-text {top:50px; left:25px; right:0;}
	.long-text p {padding-right:20px; font-size:15px;}
	.short-text {left:25px;}
	.short-text p {font-size:15px;}
}

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

	#myCarousel {display:none;}
	#myCarousel_mobile {display:inline-block;}
	#myCarousel_mobile > .bx-wrapper {margin:0;}

	/* 컨텐츠 - 추천강좌&신규과정 공통 */
	.bs-title, .ns-title {font-size:20px;}
	.bs-source-subjcet > ul > li, .ns-source-subjcet > ul > li {width:100%; float:left;}
	.bs-source-subjcet > ul > li:nth-child(2), .ns-source-subjcet > ul > li:nth-child(2) {margin-right:0;}
	.open-source-background {top:410px;}
	.bs-ss-title, .ns-ss-title {font-size:18px;}
	.navy-box {font-size:16px; width:85%;}
	.course_1:not(.course_1Slider) > li, .course_2:not(.course_2Slider) > li, .course_3:not(.course_3Slider) > li, .course_3:not(.course_3Slider) > li, .course_5:not(.course_5Slider) > li, .course_6:not(.course_6Slider) > li, .course_7:not(.course_7Slider) > li, .course_8:not(.course_8Slider) > li {width:49%; margin-right:2%;}
	.course_1:not(.course_1Slider) > li:nth-child(even), .course_2:not(.course_2Slider) > li:nth-child(even), .course_3:not(.course_3Slider) > li:nth-child(even), .course_3:not(.course_3Slider) > li:nth-child(even), .course_5:not(.course_5Slider) > li:nth-child(even), .course_6:not(.course_6Slider) > li:nth-child(even), .course_7:not(.course_7Slider) > li:nth-child(even), .course_8:not(.course_8Slider) > li:nth-child(even) {margin-right:0;}


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

	/* 컨텐츠 - 배너버튼 */
	.long-img-center {top:50px; left:50px;}
	.long-img-center img {width:70%;}
	.long-text {top:60px; right:80px;}
	.bb h2 {font-size:22px;}
	.bb p {font-size:14px;}
	.short-text {top:60px; left:10px;}

	/* 컨텐츠 - 게시판&서브버튼 */
	.button2 {margin:0;}
	.board_button > ul > li {width:100%;}
	.board_button > ul > li:last-child {width:100%;}
	.button > ul > li {margin-left:0; margin-top:20px; float:left; width:100%;}
	.button > ul > li:last-child {padding-right:0;}

}

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


/* 메인페이지 */
.slider_boxnotice{   
    overflow: hidden;}
.block1, .block2, .block3, .block4 {width: 50%; color: #fff; padding: 30px; position: relative; float: left;}
.block1 {min-height: 284px; background: #9acc6d;}
.block1 h3, .block3 h3 {color: #fff;}
button.more {position: absolute; right: 30px; padding: 0; background: none; font-size: 42px; font-weight: 200; top: 20px;}
.block2 {min-height: 284px; background: url(/files/images/block2-bg.jpg) no-repeat center top;}
.block3 {min-height: 194px; background: #434343;}
.block4 {min-height: 194px; background: url(/files/images/block4-bg.jpg) no-repeat center top; cursor: pointer;}
.main-gray {padding: 80px 0; background: #f7f7f8;}
.main-board {background: #fff; height: 330px;}
.main-board .latest {float: left; width: 50%; position: relative; padding: 40px; }
button.more2 {position: absolute; right: 40px; background: url(/files/images/more2.png) no-repeat center top; top: 40px; width: 23px; height: 23px; padding: 0;}
ul.community {display: inline-block; width: 100%;}
ul.community li {float: left; width: 25%; padding: 60px 0; text-align: center;}



.idpw_box {border: 0; background: none;}
.form_context {margin:0; font-size: 14px; padding: 0 15%; text-align: center; color: #3f51b5; line-height: 1.2;}
.find_form .small_txt {margin: 0;}
.find_form .small_txt {margin: 0;}
.find_form fieldset {margin:0; padding: 0; border: 0;}
.stit_all {background: none;}
button.cancel {background: #969696;}
#member_join {margin: 0; border: 0; text-align: center; height: auto;}
.member_box {float: none; width: 100%;}
.box_title {font-size: 24px; color: #000; font-weight: 800; margin-bottom: 20px;}
.box_text {font-size: 15px; line-height: 1.5;}


/* 통합검색 */

.tword-box {text-align: center; margin-bottom: 50px; position: relative;}
.serch-title {display: none;}
input.tword {display: inline-block; width: 100%; max-width: 474px;height: 45px;border: 2px solid #af0d23; background-color:#fff;}
input.btn-tword {position: relative; top: -2px; left: -5px;}
li.search-img {float:left;width:20%;}
li.search-content {float:left;width:80%;}

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


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

#lec-list table th.number,
#lec-list table th.title,
#lec-list table th.time,
#lec-list table th.data,
#lec-list table th.view {
    color: #3a3a3a;
}


.contable .subject {font-size:16px; color:#333;}
.table-title .section-box .ul-1 li {line-height:initial; font-size:16px;}
.table-textlist .section-box .ul-1 > li {line-height:initial; font-size:16px;}
.dtable {font-size:16px;}

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

.section-box > .dtable:first-child .table-th,
.section-box > .dtable:first-child .table-td{
    border-top:1px solid #000000;
}

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

@media all and (max-width: 640px) {
    .contable.bbslist-t .section-box .ul-1 > li.bbsSubject,
    .table-textlist .section-box .ul-1 > li.bbsSubject {
        min-width: 0;
    }
    .contable .subject,
    .contable .subject a {
        font-size: 18px;
        line-height: 1.4;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        overflow: hidden;
        text-overflow: ellipsis;
        word-break: break-all;
        overflow-wrap: anywhere;
        white-space: normal;
        max-height: calc(1.4em * 2);
    }
    /* 작성자 열: 모바일에서 이름(관리자 등) 숨김 — 날짜·조회수만 표시 */
    .contable.table-textlist .section-box .ul-1 > li:has(> .max480) {
        font-size: 0;
        line-height: 0;
        color: transparent;
    }
    .contable.table-textlist .section-box .ul-1 > li:has(> .max480) .max480,
    .contable.table-textlist .section-box .ul-1 > li:has(> .max480) .max480 div,
    .contable.table-textlist .section-box .ul-1 > li:has(> .max480) .max480 span {
        font-size: 15px;
        line-height: 1.45;
        color: #666;
    }
}

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



/* 기관소개 */
.sub-body.about .top_tit { font-size:33px; text-align:center; font-weight:400; letter-spacing:-.5px; }
.sub-body.about .top_tit em {font-weight:500; font-size:1.1em;font-style:normal}
.sub-body.about .bar_log {padding:20px 0; border:20px solid #eee; text-align:center; margin-top:40px;}
.sub-body.about .bar_log img {width:250px;}
.sub-body.about .txt_info_a {font-size:22px; text-align:center; letter-spacing:-.5px; margin: 40px 0;}
.sub-body.about .img_txt {width:100%; display:inline-block;}
.sub-body.about .img_txt ul li {width:50%; float:left;}
.sub-body.about .img_txt ul li .txt {padding-top:120px;}
.sub-body.about .img_txt ul li .txt h1 {font-size:24px; }
.sub-body.about .img_txt ul li .txt .mark {position:relative; z-index:0; display:inline-block;}
.sub-body.about .img_txt ul li .txt .mark:before {content:""; position:absolute; width:100%; height:12px; background:rgba(24,92,71,0.3); left:0; bottom:3px; z-index:-1;}
.sub-body.about .img_txt ul li .txt h2 {font-size:20px; letter-spacing:-.5px;font-weight:400;}
.sub-body.about .img_txt.bottom_space {margin-bottom:20px;}
.long_banner.about { background-image:url('/files/images/sub_01_long_bg.jpg'); letter-spacing:2px; font-family: 'Pretendard', Sans-serif; margin-top:80px; }
.long_banner.about h1 {color:#625123; font-size:25px; line-height:30px;}
.long_banner.about h2 {color:#fff; font-size:23px; margin-top:5px;}
.sub-subject_a {font-size:24px; margin:80px 0 40px;; padding-left:15px; position:relative;}
.sub-subject_a:before {content:""; display:inline-block; width:10px; height:10px; border-radius:50%; background:#185c47; position:absolute; left:0; top:50%; margin-top:-5px;}

.object_section p, .major_section p {font-size:21px; margin-bottom: 20px; letter-spacing:-.5px;}
.sub-body.about .img_txt ul li .txt .say {color:#f6cc2f; font-size:34px; position:relative; padding-left:45px;}
.sub-body.about .img_txt ul li .txt .say .left_img {margin-top:-2px; position:absolute; top:-10px; left:0;} 
.sub-body.about .img_txt ul li .txt p {font-family: 'Pretendard', Sans-serif;  font-weight:800;}
.sub-body.about .img_txt ul li .txt.bottom {padding-top:90px;}
.sub-body.about .img_txt.say {margin-top:20px;}
.sub-body.about .img_txt ul li .txt.bottom p {margin-bottom:0;}
.sub-body.about ul.major_list {width:100%; display:inline-block;}
.sub-body.about ul.major_list li {width:calc(50% - 10px); float:left; background:#f6f6f6; margin-right:20px; padding:20px 30px; border-radius:10px;}
.sub-body.about ul.major_list li:nth-child(2), .sub-body.about ul.major_list li:nth-child(4) {margin-right:0;}
.sub-body.about ul.major_list li:nth-child(1), .sub-body.about ul.major_list li:nth-child(2) {margin-bottom:20px;}
.sub-body.about ul.major_list li:nth-child(3) {min-height:135px}
.sub-body.about ul.major_list li .sub_01_icon {width:80px; height:80px; border-radius:50%; float:left; border:1px solid #e2e2e2; background:#fff; text-align:center; line-height:80px;}
.sub-body.about ul.major_list li .sub_01_icon img {width:80%;}
.sub-body.about ul.major_list li p {font-size:18px; padding-left:95px; padding-top:15px;}
.sub-body.about ul.major_list li p.topnone {padding-top:0;}
@media all and (max-width: 1100px) {
	.sub-body.about .img_txt ul li {width:100%;}
	.sub-body.about .img_txt ul li .txt {padding-top:40px;}
	.sub-body.about .img_txt {margin-bottom:80px;}
	.sub-body.about .img_txt.bottom_space {margin-bottom:40px;}
	.long_banner.about h1,.long_banner.about h2 {text-align:center;}
	.sub-body.about .img_txt.say ul li {text-align:left;}
	.sub-body.about .img_txt ul li .txt.bottom {padding:20px 0 40px;}
	.sub-body.about .img_txt.say {margin-top:0; margin-bottom:0;}
	.object_section p, .major_section p {font-size:18px;}
}
@media all and (max-width: 834px) {
	 .sub-body.about .top_tit {font-size:25px;}
	 .sub-body.about .txt_info_a {font-size:18px;}
	.long_banner.about h1 {font-size:20px; text-align:left;}
	.long_banner.about h2 {font-size:17px; text-align:left;}
	.sub-body.about ul.major_list li {width:100%; margin:0;}
	.sub-body.about ul.major_list li:nth-child(3) {min-height:auto; margin-bottom:20px;}
	.sub-body.about .img_txt ul li .txt h2 {font-size:17px;}
	.sub-body.about .img_txt ul li img {width:100%;}
	.sub-body.about .img_txt.say ul li img {width:auto;}
	.sub-body.about .img_txt.say ul li img.img_im {width:100%;}
	.long_banner.about {margin-top:20px;}
	.sub-body.about .img_txt {margin-bottom:20px;}
	
}
@media all and (max-width: 640px) {
	.sub-body.about .top_tit {font-size:20px;}
	.sub-body.about .bar_log img {width:180px;}
	.sub-body.about .txt_info_a {font-size:15px;}
	.sub-body.about .img_txt ul li .txt h2 {font-size:15px;}
	.sub-body.about ul.major_list li {padding:15px}
	.sub-body.about ul.major_list li p {font-size:12px;}
	.sub-body.about ul.major_list li p.topnone {padding-top:15px;}
	.object_section p, .major_section p {font-size:16px;}
	.sub-body.mobile .bar_log {padding:0px 0; border:0px solid #eee; text-align:center; margin-top:20px;}
	.sub-body.mobile .bar_log img {width:100%;}
}


.ceo_intro .ceo_img {display:inline-block; width:400px; vertical-align:top;}
.ceo_intro .intro_txt {display:inline-block; width:calc(100% - 500px); padding-left:55px; vertical-align:top;}
.ceo_intro .ceo_tit {position:relative; font-size:31px; letter-spacing:-1px; font-weight:500; color:#1c5c47;}
.ceo_intro .ceo_tit span {font-size:0.7em; font-weight:400;}
.ceo_intro .profileList {margin-top:60px;}
.ceo_intro .profileList li {position:relative; padding-left:220px; color:#888;}
.ceo_intro .profileList li strong {position:absolute; top:0; left:0; font-size:26px; letter-spacing:-1px; font-weight:500;}
.ceo_intro .profileList li:before {content:""; display:block; position:absolute; top:0; left:180px; width:2px; height:100%; background:#000;}
.ceo_intro .profileList li p.profileTxt {font-size:17px; position:relative;}
.ceo_intro .profileList li p.profileTxt:before {content:""; display:inline-block; width:3px; height:3px; border-radius:50%; background:#1c5c47; position:absolute; top:13px; left:-10px; }
.ceo_intro .profileList li p.profileTxt+p.profileTxt {margin-top:13px;}
.ceo_intro .ceo_info {margin:65px 0 60px;}
.ceo_intro .ceo_info img {width:200px; margin-bottom:20px;}
.ceo_intro .ceo_info p {font-size:18px; color:#333; line-height:33px}


.introduce h2{margin:0 auto; text-align:center; padding: 20px 0px; }
.introduce h2 span{margin-bottom:20px; color: #333; font-size: 32px; font-weight: 600; line-height: 1.3em;  letter-spacing: -.03em;}
.introduce .intro-title{border-top: 1px solid #dddddd;  border-bottom:  1px solid #dddddd;  padding: 2.2rem 0;  margin: 2.2rem 0;}
.introduce .intro-title h4 {font-size: 1.9rem;  font-weight: 600;  line-height: 1.2;  color: #222222;  margin-bottom: 1em;}
.introduce .intro-title h4 strong {color: var(--main);  font-weight: 600;}
.introduce .intro-title p {font-size: 1.1rem; color: #46474a; line-height:24px;}
.introduce .flex-box {display:inline-block;	margin:20px 0px; width:100%;}
.introduce .flex-box .area {min-width: 8rem;  min-height: 8rem;   float:left;   align-items: center;   justify-content: center;   box-shadow: 0 2px 6px rgba(0,0,0,0.1);}
.area {background: #fff;  border-radius: 1.6rem;   overflow: hidden;   box-sizing: border-box;   box-shadow: 0 4px 12px rgba(0,0,0,0.1);   padding: 2rem 2.4rem;	float:left;}
.introduce .flex-box .area > img {display: block;  width: 4.2rem;}
.introduce .flex-box .text{float:right; width:80%;}
.introduce .sub-cont-tit {color: #46474a;  font-weight: 500;  display: block !important;}
.introduce .sub-cont-tit span{font-weight: 700; color:var(--main)}
.sub-cont-tit {font-size: 24px;  font-weight: 700;   letter-spacing: -0.025em;   color: var(--clr-black);   margin: 0.5rem 0 1.5rem 0;    position: relative;    display: flex;    align-items: center;}
.sub-cont-tit::before { content: '';   display: inline-block;    width: 0.3rem;    height: 0.3rem;    border: 4px solid var(--main);    border-radius: 100%;    vertical-align: middle;    margin-right: 0.4rem;}
.introduce p {word-break: keep-all;   text-wrap: wrap;   font-size: 16px;   font-weight: 400;   color: #767778;	line-height:20px;}
.introduce .intro-box{margin:20px 0;}
.introduce .intro-box p.tit{color:#222222; font-size:34px; line-height:40px; font-weight:500; text-align:center; margin-bottom:10px; letter-spacing: -2px;}
.introduce .intro-box p.txt{color:#666666; font-size:24px; line-height:30px; font-weight:500; text-align:center;}

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

* { margin:0; padding:0; box-sizing:border-box; }
div { font-family:"Pretendard", sans-serif; }

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


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

/* 카드 */
.eeta-meta-b {
    display: flex;
    background-color: #f1efff;
    margin-left: -16px;
    margin-right: -16px;
    margin-bottom: -16px;
    padding-top: 13px;
    padding-bottom: 26px;
    padding-left: 16px;
    padding-right: 16px;
    align-items: center;
    justify-content: flex-start;
}
.eeta-card {
  background:#f9fbff; 
  border-radius:14px;
  padding:22px;
  margin-bottom:22px;
  box-shadow:0 3px 12px rgba(29,88,203,0.08);
  border:1px solid rgba(29,88,203,0.15);
}

/* 카드 안 소제목 */
.eeta-h2-1{   
    display: flex;
    padding-right: 8px;
    font-size: 18px;
    font-weight: 600;
}
.eeta-h3 {
display: flex;
    font-size: 16px;
    font-weight: 600;
    color: #ffffff;
    width: 30%;
    line-height: 1.4;
    align-items: center;
    background-color: #8e89d3;
    padding: 2px 0 2px 0;
    justify-content: center;
    border-radius: 6px;
}
.eeta-h4 {
    font-size: 16px;
    font-weight: 600;
    color: #ffffff;
    width: 100%;
    line-height: 1.4;
    align-items: center;
    background-color: #6762ad;
    padding: 2px 0 2px 24px;
    border-radius: 6px;
    margin-bottom: 20px;
}


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

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

/* 버튼 */
.eeta-btn {
  display:inline-block;
  background:#1d58cb;
  color:#fff;
  padding:10px 18px;
  border-radius:10px;
  text-decoration:none;
  font-weight:600;
  transition:all .3s ease;
}
.eeta-btn:hover {
  background:#1d58cb;
  transform:translateY(-2px);
  box-shadow:0 4px 12px rgba(29,88,203,0.2);
}
.eeta-h1{    
	font-weight: 700;
    font-size: 20px;
    color: #6762ad;
    padding-bottom:10px;
}
/* 인포 카드 */
.eeta-info-row { display:flex; gap:14px; flex-wrap:wrap; margin-top:16px; }
.eeta-pill{ 
    position: relative;
    padding: 15px;
    line-height: 1.6;
    background-color: #fff;
    border-radius: 6px;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
	border: 1px solid #e6eaf5;
}

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

/* 프로그램 예시 카드 */
.eeta-program-meta{display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:16px; }
.eeta-example-img img{width: 100%;}
.eeta-example-img{width: 100%; height: 93%;}
.eeta-example-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(400px,1fr)); gap:16px; }
.eeta-example {
  background:#fff;
  border-radius:12px;
  padding:16px;
  border:1px solid #e6eaf5;
  transition:.3s;
  position: relative; 
  overflow: hidden;
}
.eeta-example:hover { border-color:#1d58cb; box-shadow:0 4px 14px rgba(29,88,203,0.15); }
.eeta-example-title { font-weight:700; margin-bottom:8px; color:#1d58cb; }

/* 가격표 */
.eeta-pricewrap { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:18px;    padding: 0 0 18px 0; }
.eeta-pricecard {
  background:#fff;
  border:2px solid #e3e8f9;
  border-radius:12px;
  padding:16px;
  transition:.3s;
}
.eeta-pricecard:hover { border-color:#1d58cb; background:#f7faff; }
.eeta-price-row {
  display:flex; justify-content:space-between; padding:8px 0;
  border-bottom:1px dashed #e0e0e0;
}
.eeta-price-row:last-child { border-bottom:none; }

/* 갤러리 */
.eeta-gallery-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:14px; }
.eeta-gallery-grid img {
  width:100%; height:170px; object-fit:cover; border-radius:12px;
  transition:.3s;
}
.eeta-gallery-grid img:hover { transform:scale(1.03); box-shadow:0 4px 14px rgba(29,88,203,0.2); }


/* 개별 카드 스타일 */
  .sub_map_left,
  .sub_map_right {
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    padding: clamp(12px, 2.2vw, 20px);
    background: #fff;
    box-shadow: 0 2px 10px rgba(0,0,0,0.03);
  }
  .title_micon {
    font-weight: 700;
    font-size: clamp(16px, 1.9vw, 18px);
    line-height: 1.4;
	
  }

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

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





.bank_course .tit,.bank_course .course_month {display:inline-block; padding:4px 23px 5px; background: var(--main); border-radius:20px; font-size:17px; color:#fff; margin-top:40px; font-weight:400;}
.bank_course .tit.first {background:#8FBC94}
.bank_course .txt {color:#666; line-height:28px; font-size:16px; padding-top:10px;}
.bank_course .txt_tit {color:#000; font-size:20px; margin-bottom:9px; font-weight:700; margin-top:30px;}
.bank_course .list_txt {padding-left:12px; line-height:27px; font-size:16px; font-weight:300; color:#525252;}
.bank_course .list_txt.first {margin-top:15px;}
.bank_course .content-subject {font-size:30px;padding-bottom:15px; margin-top:50px; font-weight:500; position:relative; margin-left:15px; color:#333; display:inline-block; z-index:0;}

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

.bank_course .couse_con {border-bottom:1px solid #ddd; padding-bottom:50px;}
.bank_course .couse_con.a_2 .content-subject:after{background:rgb(212 153 185 / 50%)}
.bank_course .couse_con.a_2 .course_month{background:#D499B9}
.bank_course .couse_con.a_3 .content-subject:after {background:rgb(132 177 237 / 50%)}
.bank_course .couse_con.a_3 .course_month {background:#84B1ED}
.bank_course .couse_con.a_4 .content-subject:after {background:rgb(241 107 111 / 50%)}
.bank_course .course_month {margin-left:15px;}



.banksystem .content-subject.block {display:block;}
.banksystem .study_list {width:100%; display:inline-block; margin-top:20px;}
.banksystem .study_list li {float:left; width:50%; padding:7px 5px; font-size:16px; color:#8a8a8a; }
.banksystem .study_list li >.wrapper {padding:13px 20px; background:#f9f9f9; border:2px solid #ddd}
.banksystem .study_list li span {color:#f18a8a; font-weight:500;}
.banksystem .width_3 {width:100%;}
.banksystem .width_3 th {background:#ECF3F0; padding:10px 0; color:#333; font-size:18px; border-top:2px solid #3c9276;}
.banksystem .width_3 td {text-align:center; font-size:15px; padding:10px 0; border-bottom:1px solid #f5f5f5;}
.banksystem .width_3 td.back {background:#ECF3F0; padding:10px 0; color:#333; font-size:18px; border-top:1px solid #3c9276;}
.banksystem .width_3 .right_border { border-right:1px solid #3c9276;}
.banksystem .mean_txt {width:100%; display:inline-block; margin-top:25px;}
.banksystem .mean_txt li {float:left; margin-left:35px; position:relative; display:table;}
.banksystem .mean_txt li span {width:200px; height:200px; border-radius:50%; display:table-cell; font-size:18px; text-align:center; vertical-align:middle}
.banksystem .mean_txt li.li1 span,.banksystem .mean_txt li.li2 span {color:#828282; background:#f1f1f1;}		

.banksystem .mean_txt li.li3 span {background:#8eca6a; color:#fff;}
.banksystem .mean_txt li.li4 span {background:#06b083; color:#fff;}
.banksystem .mean_txt li:after {content:""; position:absolute; right:-22px; top:50%; width:0; height:0;  border-top:9px solid transparent; border-bottom:9px solid transparent }
.banksystem .mean_txt li.li2:after {border-left:11px solid #8eca6a;}
.banksystem .mean_txt li.li3:after {border-left:11px solid #06b083;}
.banksystem .mean_txt li.li1:after,.banksystem .mean_txt li.li4:after {display:none;}
.banksystem .redPoint {color:#f18a8a; font-weight:500;}


.subpage_btn_t {text-align:center; margin-top:20px;}
.subpage_btn_t.right {text-align:right;}
.subpage_btn_t img.ceo_btn_img {width:30px; margin:0; margin-right:8px;}
.subpage_btn_t img.course_btn_img {margin-left:8px;}
.subpage_btn_t a {padding:10px 30px; border:2px solid #1c5c47; font-size:15px; color:#fff; display:inline-block; border-radius:35px; background:#1c5c47; transition:all 0.1s;}
.subpage_btn_t a .hover_img {display:none;}
.subpage_btn_t a:hover {background:#fff; color:#1c5c47}
.subpage_btn_t a:hover .hover_img {display:inline-block;}
.subpage_btn_t a:hover .re_img {display:none;}


.courseinfo .content-subject:after {content:""; position:absolute; width:100%; height:7px; background:rgba(24,92,71,0.3); left:0; bottom:22px; z-index:-1;}
.courseinfo {padding-bottom:80px;}
.courseinfo .course_info_01 {width:100%; display:inline-block; border:1px solid #ddd; background:#fbfbfb;margin-top:40px;}
.courseinfo .course_info_01 li {width:50%; float:left; padding:0 50px 50px;}
.courseinfo ul.boxList {width:100%; display:inline-block;}
.courseinfo ul.boxList li.box {width:calc(25% - 20px); float:left; min-height:200px; border:1px solid #ddd; background:#fbfbfb; margin-right:20px; margin-bottom:20px; padding:25px; position:relative;}
.courseinfo ul.boxList li.box:after {content:""; position:absolute; right:0; bottom:0; display:inline-block; width:10px; height:10px;background:#fa2828; transition:all 0.1s;}
.courseinfo ul.boxList li.box:nth-child(4) {margin-right:0;}
.courseinfo ul.boxList li.box ul.semi_list li {font-size:18px; letter-spacing:-2px; line-height:24px; padding-left:12px; position:relative;}
.courseinfo ul.boxList li.box ul.semi_list li:before {content:"·"; position:absolute; left:0;top:0;}

/* 동영상 재생환경 */
.media .tit,.bank_course .course_month {display:inline-block; padding:4px 23px 5px; background: #548687; border-radius:20px; font-size:17px; color:#fff; margin-top:40px; font-weight:400;}
.media .tit.first {background:#8FBC94}
.media .txt {color:#525252;  font-size:16px; padding-top:10px;}
.media .txt_tit {color:#525252; font-size:20px; margin-bottom:9px; font-weight:700;}
.media .txt_ctit {color:#525252; font-size:18px; text-align:center; margin-bottom:9px; font-weight:700; margin-top:30px;}
.media .list_txt {padding-left:12px;  font-size:16px; font-weight:300; color:#525252;}
.media .list_txt.first {margin-top:15px;}
.media .content-subject {font-size:26px;padding-bottom:15px; margin-top:50px; font-weight:500; position:relative; margin-left:15px; color:#13aca5; }

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

.media .couse_con {border-bottom:1px solid #ddd; padding-bottom:50px;}
.media .couse_con.a_2 .content-subject:after{background:rgb(132 177 237 / 50%)}
.media .couse_con.a_2 .course_month{background:#84B1ED}
.media .couse_con.a_3 .content-subject:after {background:rgb(132 177 237 / 50%)}
.media .couse_con.a_3 .course_month {background:#84B1ED}
.media .couse_con.a_4 .content-subject:after {border-bottom:1px solid #fff; background:rgb(132 177 237 / 50%)}
.media .course_month {margin-left:15px;}

.media .content-subject:after {content:""; position:absolute; width:100%; height:7px; background:rgba(132 177 237 / 50%); left:0; bottom:22px; z-index:-1;}
.media {padding-bottom:80px;}
.media .course_info_01 {width:100%; display:inline-block; border:1px solid #ddd; background:#ffffff; margin-top:40px;}
.media .course_info_01 li {width:50%; float:left; padding:30px 50px 30px;}
.media .course_info_01 li .con{width:100%; text-align:center;}
.media .course_info_01 li .con img{text-align:center;}
.media ul.boxList {width:100%; display:inline-block;}
.media ul.boxList li.box {width:calc(25% - 20px); float:left; min-height:200px; border:1px solid #ddd; background:#ffffff; margin-right:20px; margin-bottom:20px; padding:25px; position:relative;}
.media ul.boxList li.box:nth-child(4) {margin-right:0;}
.media ul.boxList li.box ul.semi_list li {list-style-type:none; font-size:18px; letter-spacing:-2px; line-height:24px; padding-left:12px; position:relative;}
.media ul.boxList li.box ul.semi_list li .con{width:100%; text-align:center;}
.media ul.boxList li.box ul.semi_list li .con img{text-align:center;}

.media_btn_t {text-align:center; margin-top:20px;}
.media_btn_t.right {text-align:right;}
.media_btn_t a {padding:10px 30px; border:2px solid #104a82; font-size:15px; color:#fff; display:inline-block; border-radius:35px; background:#104a82; transition:all 0.1s;}
.media_btn_t a .hover_img {display:none;}
.media_btn_t a:hover {background:#fff; color:#104a82}
.media_btn_t a:hover .hover_img {display:inline-block;}
.media_btn_t a:hover .re_img {display:none;}


/* 강사소개 */
.sub_teacher_box{width:1080px; margin-top:30px; min-height:250px; }
.sub_teacher_left{float:left; width:540px; min-height: 300px;}
.sub_teacher_info_left{float:left; width:150px; margin-right:25px;}
.sub_teacher_info_right{float:left; width:365px;}

/* 테이블리스트 */
table.board_text {width:100%; margin-bottom:15px; border-top:2px solid #13aca5;margin:10px 0 10px 0 ;}
table.board_text th {height:36px; text-align:center; color:#333; background:#f9f9f9; font-size:16px; border-bottom:1px solid #dddddd; border-right:1px solid #ddd; vertical-align: middle;}
table.board_text th.lright{border-right:1px solid #ffffff;}
table.board_text td {line-height: 150%; height:36px; font-size:15px; color:#525252; padding-top:10px; padding-bottom:10px; text-align:center; border-right:1px solid #ddd; border-bottom:1px solid #ddd; vertical-align: middle;}
table.board_text td.tleft{text-align:left; padding-left:15px;}
table.board_text td.tbold{color:#222222; font-weight:bold; font-size:16px;}
table.board_text td.lright{border-right:1px solid #ffffff;}

.table.t_board td {vertical-align: middle;}
.box {border-top:1px solid #555; padding-top:20px;}
p.joindrop{margin-top:7px; color:#ba0000;}

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

@media all and (max-width: 1100px){
.ceo_intro .intro_txt {padding-left:2%;}
.ceo_intro .profileList li {padding-left:200px;}
.ceo_intro .profileList li:before {left:160px;}
.courseinfo ul.boxList li.box {width:calc(33% - 20px)}
.courseinfo ul.boxList li.box:nth-child(4) {margin-right:20px;}
.courseinfo ul.boxList li.box ul.semi_list li {font-size:16px;}
.banksystem .mean_txt li span {width:150px; height:150px; font-size:14px; }

}
@media all and (max-width: 900px) {
.ceo_intro .intro_txt {width:100%; padding-left:0;}
.ceo_intro .ceo_img {width:100%; text-align:center;}
.ceo_intro .ceo_img img {width:400px;}
.ceo_intro .ceo_tit {text-align:center;}



}
@media all and (max-width: 834px) {
.courseinfo ul.boxList li.box {width:calc(50% - 20px)}
.viewpoint_banner li.box h1.tit {font-size:20px;}
.btn-area.pause {width:100%; display:block;}
.eeta-program-meta{display: flex; flex-direction: column;}
.eeta-example-grid{display: flex; flex-direction: column;}
.eeta-h3{width: 100%;}
.eeta-meta-b{display: block;}

}

@media all and (max-width: 640px) { 
.introduce .flex-box {display:inline-block;	margin:20px 0px; width:100%;}
.introduce .flex-box .area {min-width: 8rem;  min-height: 8rem;   float:none; width:50%; margin:0 auto; align-items: center;   justify-content: center;   box-shadow: 0 2px 6px rgba(0,0,0,0.1);}
.area {background: #fff;  border-radius: 1.6rem;   overflow: hidden;   box-sizing: border-box;   box-shadow: 0 4px 12px rgba(0,0,0,0.1);   padding: 2rem 2.4rem;	float:auto;}
.introduce .flex-box .area > img {display: block;  width: 4.2rem;}
.introduce .flex-box .text{float:auto; width:100%;}

.ceo_intro .ceo_tit {font-size:18px; margin-top:20px;}
.ceo_intro .profileList {margin-top:30px; padding-left:20px;}
.ceo_intro .profileList li strong {position:initial; font-size:20px; display:inline-block; margin-bottom:5px;}
.ceo_intro .profileList li p.profileTxt {font-size:15px;}
.ceo_intro .profileList li p.profileTxt+p.profileTxt {margin-top:8px;}
.ceo_intro .profileList li {padding:0;}
.ceo_intro .profileList li:before {display:none;}
.ceo_intro .ceo_info p {font-size:16px; line-height:29px;}
.ceo_intro .profileList li p.profileTxt:before {top:9px;}
.logo_img_ceo {text-align:center;}

.location_tit .location_txt h2 {font-size:16px;}
.location_tit .location_txt h1 {font-size:15px;}
.banksystem .study_list li {width:100%;}
.courseinfo .course_info_01 li {width:100%;}
.courseinfo ul.boxList li.box {width:100%; min-height:155px;}
.bank_course .tit, .bank_course .course_month {margin-top:20px;}
.banksystem .width_3 th,.banksystem .width_3 td.back {font-size:16px;}

.media .txt_tit {color:#525252; font-size:20px; margin-bottom:9px; font-weight:700; margin-top:10px;}
.media .course_info_01 li {width:100%; padding:20px 20px 20px;}
.media .course_info_01 li .con img{width:100%;}
.media ul.boxList li.box {width:100%; min-height:155px;}
.media .tit, .bank_course .course_month {margin-top:20px;}
.media ul.boxList li.box ul.semi_list li img{margin: 0 auto;}


}
@media all and (max-width: 480px) {
.sub_foreign_player{margin:20px 0px 40px; }
.sub_foreign_player img{width:100%;}
.sub_foreign_box{width:100%; margin:20px 0px; padding:20px 20px 20px 0px; border:2px solid #4bb8b3;}

.location_tit{margin-left:3%; width:94%;}
.ceo_intro .ceo_img img {width:100%;} 
.banksystem .mean_txt li span {width:100px; height:100px; font-size:13px;}
.agree-box {margin:0 auto 20px; width:100%; padding:10px;}
.sub-body {padding:0px 0;}
.policy_cont p.cont_tit {
        font-size: 1.0em !important;
        padding-bottom: 5px;
    }
.sub_con{width:100%; margin: 0 auto;}
.sub_con img {text-align:center;}

/* 계산서요청 */

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

.mytax_list li .mytax_btm {
		position: relative;
		display: inline-block;
		justify-content: space-between;
		align-items: center;
		padding-top: 0px;
		box-sizing: border-box;
		width:100%;
	}
.mytax_top_lft {
		display: inline-block;
		margin-bottom: 5px;
	}
	.mytax_list li .mytax_top h4 {
		font-size: 16px;
		font-weight: 400;
		position: relative;
		top: 0;
		right: 0;
	}
	.mytax_list li .mytax_top {
		border-bottom: 1px solid #e0e3e8;
		position: relative;
		padding-bottom: 12px;
		box-sizing: border-box;
	}
.mytax_list .mytax_btn_wrap {	
		margin-top:-10px;
	}
	.mytax_list .mytax_btn_wrap [class*="btn_"] {
		min-width: 32%;
		height: 38px;
		font-size: 15px;
		font-weight: 600;
		letter-spacing: -.5px;
		border-radius: 6px;
		border: 1px solid #387afc;
	}
	
.sub-title .subject{margin-top: 26px;}

.sub_map_left{float:auto; width:100%; margin-right:0%; }
.sub_map_left img{width:100%; margin-top:1%;}
.sub_map_right{float:auto; width:100%; }
.sub_map_right img{width:100%; margin-top:1%;}

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

/* 강사소개 */
.sub_teacher_box{width:100%; margin-top:20px; min-height:auto;}
.sub_teacher_left{float:none; width:100%; margin-top:20px; }
.sub_teacher_info_left{float:none; width:100%; margin-right:0px;}
.sub_teacher_info_left img{width:100%;}
.sub_teacher_info_right{float:none; width:100%; margin-top:20px; }

}


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

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

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

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


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

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

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

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

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

/* 텍스트 정보 그룹 */
.instructor_textual_information_group {
    position: absolute;
    right: 0; /* 강사 이미지 오른쪽에 배치 */
    top: 50px; /* 적절한 위치 조정 */
    z-index: 20;
    padding-left: 20px;
}

.ai_era_trendiest_business_english_text {
    font-size: 20px;
    line-height: 1.4;
    font-weight: 500;
    color: #333;
    margin-bottom: 20px;
    padding-left: 10px;
    border-left: 3px solid #0056b3; /* 세로 구분선 */
}

.instructor_name_label {
    font-size: 24px;
    font-weight: bold;
    color: #000;
    margin-bottom: 15px;
}

.view_history_button_link {
    display: inline-block;
    font-size: 16px;
    color: #555;
    text-decoration: none;
    border-bottom: 1px solid #555;
    padding-bottom: 2px;
}

.search_icon_magnifier {
    margin-left: 5px;
    font-weight: bold;
}



/*
 * =======================================================
 * 3. 반응형 미디어 쿼리 (모바일/태블릿)
 * =======================================================
 */

@media (max-width: 900px) {
    .promotion_content_maximum_width_wrapper {
        flex-direction: column; /* 세로로 배치 */
        gap: 30px;
    }

    /* 좌우 컨테이너 너비 100%로 설정 */
    .instructor_profile_and_introduction_container,
    .youtube_shortcut_and_lecture_details_container {
        width: 100%;
        min-width: auto;
    }

    /* 좌측 영역: 이미지와 텍스트를 나란히 배치 */
    .instructor_profile_and_introduction_container {
        flex-direction: column; /* 세로 배치 */
        align-items: center; /* 가운데 정렬 */
    }
    
    .instructor_image_area {
        width: 100%;
        max-width: 450px; /* 모바일에서 이미지 최대 너비 제한 */
    }

    .instructor_textual_information_group {
        position: static; /* 절대 위치 해제 */
        padding-left: 0;
        text-align: center;
        margin-top: 20px;
    }

    .ai_era_trendiest_business_english_text {
        padding-left: 0;
        border-left: none;
        border-bottom: 3px solid #0056b3; /* 하단 구분선으로 변경 */
        padding-bottom: 10px;
        margin-bottom: 10px;
    }

    .youtube_shortcut_and_lecture_details_container {
        padding-top: 0; /* 우측 상단 패딩 제거 */
    }
}

@media (max-width: 500px) {
    /* 모바일 작은 화면 최적화 */
    .video_title_top_line {
        font-size: 18px;
    }
    .video_title_bottom_line {
        font-size: 24px;
    }
    .course_main_title_bold {
        font-size: 24px;
    }
}


/* 기본 초기화 및 폰트 미지정 */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    /* 폰트는 지정하지 않습니다. */
}

/* 전체 페이지 컨테이너 스타일링 */
.super-container-galaxy {
    display: flex;
    justify-content: center;
    background-color: #f8f8f8; /* 배경색 설정 (이미지 상단 배경) */
    padding: 50px 20px; /* 상하 여백 */
}

/* 메인 상담 섹션 컨테이너 */
.consultation-section-nebula {
    width: 100%;
    max-width: 1100px; /* 최대 가로 길이 1100px */
    padding: 0 20px; /* 좌우 패딩 */
}

/* 상단 헤딩 영역 */
.heading-area-quasar {
    text-align: center;
    padding: 40px 0 60px 0;
    background-color: #ffffff;
    /* 이미지 상단 영역과 폼 영역의 경계선 처리를 위해 배경색을 흰색으로 설정 */
    border-radius: 10px 10px 0 0; /* 상단 모서리 둥글게 */
}

.small-text-stellar {
    font-size: 16px;
    color: #666;
    margin-bottom: 10px;
}

.main-title-cosmic {
    font-size: 32px;
    font-weight: 700;
    color: #333;
}

/* 폼 컨테이너 */
.form-wrapper-pulsar {
    background-color: #ffffff;
    padding: 0 60px 60px 60px; /* 폼 영역의 내부 패딩 */
    border-radius: 0 0 10px 10px; /* 하단 모서리 둥글게 */

}

/* 폼 레이아웃 - flexbox 사용 */
.consultation-form-eventhorizon {
    display: flex;
    gap: 30px; /* 필드 간격 */
    flex-wrap: wrap; /* 반응형을 위해 줄바꿈 허용 */
}

/* 좌측 입력 필드 그룹 */
.input-fields-group-blackhole {
    flex: 1 1 40%; /* 화면이 줄어들면 40% 이하로 줄어들고, 여유가 있으면 늘어남 */
    min-width: 300px; /* 최소 너비 */
}

/* 우측 텍스트 영역 및 버튼 그룹 */
.textarea-and-button-jupiter {
    flex: 1 1 50%; /* 화면이 줄어들면 50% 이하로 줄어들고, 여유가 있으면 늘어남 */
    display: flex;
    flex-direction: column;
    min-width: 300px; /* 최소 너비 */
}

/* 일반 입력 필드 (이름, 휴대폰 번호) */
.text-input-meteor {
    width: 100%;
    padding: 15px 12px;
    margin-bottom: 20px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 16px;
    outline: none;
}
.text-input-meteor:focus {
    border-color: #4A90E2;
}

/* 상담 유형 드롭다운 컨테이너 */
.select-wrapper-supernova {
    position: relative;
    margin-bottom: 20px;
}

/* 상담 유형 드롭다운 */
.select-dropdown-comet {
    appearance: none; /* 기본 드롭다운 스타일 제거 */
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 100%;
    padding: 15px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 16px;
    background-color: #fff;
    cursor: pointer;
    outline: none;
}
/* 드롭다운 화살표 커스텀 */
.dropdown-arrow-celestial {
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid #666; /* 아래를 가리키는 화살표 */
    pointer-events: none; /* 클릭 이벤트 무시 */
}

/* 문의사항 텍스트 영역 */
.message-area-mars {
    flex-grow: 1; /* 남은 공간 모두 차지 */
    width: 100%;
    padding: 15px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 16px;
    resize: none; /* 크기 조절 불가 */
    margin-bottom: 20px; /* 버튼과의 간격 확보 */
    height: 100%; /* 부모에 따라 높이 조정 */
    min-height: 200px; /* 최소 높이 설정 (모바일 대응을 위해) */
}
.message-area-mars:focus {
    border-color: #4A90E2;
}

/* 신청하기 버튼 */
.submit-button-uranus {
    width: 100%;
    padding: 12px;
    background-color: #4A90E2;
    color: white;
    font-size: 18px;
    font-weight: 700;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.3s;
    margin-top: auto;
    height: auto;
}
.submit-button-uranus:hover {
    background-color: #357ABD;
}

/* 체크박스 영역 */
.checkbox-area-satellite {
    margin-top: 10px;
}

.checkbox-item-orbit {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.checkbox-item-orbit input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin-right: 8px;
    border: 1px solid #ccc;
    cursor: pointer;
}

.checkbox-item-orbit label {
    font-size: 14px;
    color: #333;
    flex-grow: 1; /* 레이블이 공간을 차지하도록 */
}

/* 자세히보기 링크 */
.detail-link-solar {
    font-size: 14px;
    color: #666;
    text-decoration: underline;
    margin-left: 10px;
    white-space: nowrap; /* 줄바꿈 방지 */
}

/* --- 반응형 미디어 쿼리 --- */
/* 화면 너비가 768px 이하일 때 (모바일/태블릿 세로) */
@media (max-width: 768px) {
    .form-wrapper-pulsar {
        padding: 30px; /* 패딩 축소 */
    }

    .consultation-form-eventhorizon {
        flex-direction: column; /* 세로로 쌓이도록 변경 */
        gap: 0; /* 간격 제거 */
    }

    .input-fields-group-blackhole,
    .textarea-and-button-jupiter {
        min-width: 100%; /* 전체 너비 사용 */
    }

    .textarea-and-button-jupiter {
        margin-top: 30px; /* 세로 간격 확보 */
    }

    .message-area-mars {
        min-height: 150px; /* 모바일에서 텍스트 영역 높이 축소 */
        margin-bottom: 20px;
    }

    .submit-button-uranus {
        /* 버튼을 텍스트 영역 바로 아래에 위치시키기 위해 auto 마진 제거 */
        margin-top: 0;
    }
}



/* 1. 전체 리스트 컨테이너 - 항목들을 가로로 나열하고 간격을 벌립니다. */
.portfolioList {
    display: flex;             /* 가로 정렬을 위해 필수 */
    flex-wrap: wrap;           /* 자리가 부족하면 다음 줄로 넘김 */
    justify-content: center;   /* 가운데 정렬 */
    gap: 20px;                 /* 카드 사이의 간격 */
    max-width: 1200px;
    margin: 50px auto;
    padding: 0 20px;
}

/* 2. 개별 카드 항목 - 고정 너비와 최소 높이를 설정하여 겹침 방지 */
.portfolio_list {
    width: calc(25% - 20px);   /* 4열 기준 (간격 제외) */
    min-width: 250px;          /* 너무 작아지지 않게 방어 */
    position: relative;        /* 내부 파란 라벨의 기준점 */
    background: #fff;
    border-radius: 12px;
    overflow: hidden;          /* 이미지가 박스를 벗어나지 않게 */
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    margin-bottom: 30px;
}

/* 3. 이미지 영역 - 이미지가 없더라도 공간을 확보하도록 높이 설정 */
.portfolio_list dt {
    position: relative;
    width: 100%;
    height: 200px;             /* 이미지가 안 나올 때를 대비한 최소 높이 */
    background-color: #f0f0f0; /* 이미지가 없을 때 회색 박스로 표시 */
}

.portfolio_list dt img {
    width: 100%;
    height: 100%;
    object-fit: cover;         /* 이미지 비율 유지하며 채움 */
}

/* 4. 파란색 라벨 (경매 강의 등) - 위치 고정 */
.c_tit {
    position: absolute;
    top: 0;
    left: 0;
    background: #3c5db5;
    color: #fff !important;
    padding: 8px 15px;
    font-size: 13px;
    z-index: 10;
    margin: 0;                 /* p 태그 기본 마진 제거 */
}

/* 5. 하단 텍스트 영역 */
.portfolio_list dd {
    padding: 20px 10px;
    text-align: center;
    background: #fff;
}

.portfolio_list h4.fs20 {
    font-size: 18px;
    font-weight: 700;
    color: #333;
    margin: 0;
}

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

.yt_video_item {
    flex: 1;
    min-width: calc(25% - 20px);
    box-sizing: border-box;
}

.yt_video_item iframe {
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 12px;
    background: #000;
}

.yt_video_item p {
    margin-top: 10px;
    font-size: 15px;
    font-weight: 600;
    color: #222;
    text-align: left;
    line-height: 1.4;
    word-break: keep-all;
}

@media screen and (max-width: 768px) {
    .yt_video_item {
        min-width: calc(50% - 20px);
    }
}

@media screen and (max-width: 480px) {
    .yt_video_item {
        min-width: 100%;
    }
}





/* 컨테이너 및 그리드 설정 */
.video-grid1 {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    margin-bottom: 100px;
    padding-left: 5px;
    padding-right: 5px;
    box-sizing: border-box;
    height: auto;
    overflow: visible;
}

.video-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 한 라인에 3개 배치 */
    gap: 30px; /* 영상 간 간격 (20px + 10px) */
}

/* 개별 아이템 설정 */
.video-item {
    width: 100%;
}

/* 영상 래퍼 (축약형 v-wrap) */
.v-wrap {
    position: relative;
    width: 100%;
    padding-top: 56.25%; /* 16:9 비율 유지 */
    min-height: 170px;
    border-radius: 16px;
    overflow: hidden;
    background: #000;
}

.v-wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* 모바일 반응형 대응 */
@media (max-width: 1024px) {
    .video-grid {
        grid-template-columns: repeat(2, 1fr); /* 태블릿에서는 2개 */
    }
}

@media (max-width: 768px) {
    .video-grid {
        grid-template-columns: 1fr; /* 모바일에서는 1개 */
    }
}

.main-title-text {
    text-align: center;
    font-size: 35px;
    font-weight: 800;
    color: #333333;
    line-height: 1.5;
    padding-top: 40px !important;
    padding-bottom: 30px !important;
    /* font-family: 'Paperozi'; */
}

.main-subtitle-text {
    text-align: center;
    font-size: 16px;
    color: #6a7481;
    margin-top: -24px;
    margin-bottom: 36px;
}

/* 메인 섹션별 배경 — 곡선 경계로 두 색상 분리 */
.section-new-subject > .section_bg,
.section-new-subject > .section_bg:first-child,
.main-cert-product {
    overflow: visible;
}

.section-new-subject > .section_bg:first-child,
.main-cert-product {
    background: radial-gradient(
        ellipse 145% 115% at -12% 6%,
        #e8f4fd 0 58%,
        #fbfdff 58% 100%
    );
}

.section-new-subject > .section.section_pad {
    width: 100%;
    max-width: 100%;
    background: #fff url('/files/images/main/bg_main2.png') no-repeat center top;
    background-size: cover;
    padding: 65px 0 0;
    margin-bottom: -40px;
}
.section-new-subject > .section.section_pad .main-title-text {
    padding-top: 20px !important;
    padding-bottom: 15px !important;
}
.section-new-subject > .section.section_pad .main-subtitle-text {
    margin-top: -12px;
    margin-bottom: 18px;
}
.section-new-subject > .section.section_pad .section-best-subject .course_1Slider > li {
    padding: 4px 10px 10px;
}

.section-new-subject > .section.section_pad > .section-best-subject > .section {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
}

.section-new-subject > .section_bg.section_pass_bg {
    background: #fff url('/files/images/main/bg_main3.png') no-repeat center -312px;
    background-size: cover;
}

.section-new-subject > .section_bg.section_pass_bg.section_pass_bg--fx {
    margin-bottom: -50px;
}

.section-new-subject .main-info-board-band {
    background: #fff url('/files/images/main/bg_main1.png') no-repeat center -20px;
    background-size: cover;
}

.section-new-subject > .section_bg:last-of-type {
    background: #ffffff;
}

.section_pass_bg .pass-title-row {
    position: relative;
}
.section_pass_bg .section-best-subject {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    
}
.section_pass_bg .pass-more-row {
    max-width: 1100px;
    padding: 0;
    box-sizing: border-box;
    text-align: right;
    margin: -6px auto 10px;
}
.section_pass_bg .pass-more-link {
    display: inline-block;
    font-size: 14px;
    color: #6a7481;
    text-decoration: none;
    font-weight: 600;
    /* padding: 6px 0; */
    position: absolute;
    top: -23px;
    right: 0;
}
.section_pass_bg .pass-more-link:hover {
    color: #333;
}

/* 메인 합격수기 섹션 배경 */
.section_pass_bg {
    /* background: url('/files/images/main/section_bg.jpg') no-repeat center -471px;  */
    background-size: cover;
    box-sizing: border-box;
    overflow-x: clip;
}
@media (max-width: 1024px) {
    .section_pass_bg {
        margin-left: -20px;
        margin-right: -20px;
        padding-left: 20px;
        padding-right: 20px;
    }
}
@media (max-width: 768px) {
    .section_pass_bg .pass-more-row {
        padding: 0 14px;
    }
    .section_pass_bg .pass-more-link {
        font-size: 13px;
        margin-right: 20px;
    }
    .section_pass_bg {
        margin-left: 0;
        margin-right: 0;
        padding-left: 0;
        padding-right: 0;
        margin-bottom: -60px;
    }
    .section-new-subject > .section_bg.section_pass_bg.section_pass_bg--fx {
        margin-bottom: -110px;
    }
    .section_pass_bg .review-slider-wrap {
        padding: 0 12px;
    }
    .section_pass_bg .review-slider-wrap .bx-wrapper .bx-prev {
        left: 4px !important;
    }
    .section_pass_bg .review-slider-wrap .bx-wrapper .bx-next {
        right: 4px !important;
    }
}
@media (max-width: 1024px) and (min-width: 769px) {
    .section_pass_bg .pass-more-row {
        padding: 0 78px 0 24px;
    }
    .section_pass_bg .review-slider-wrap .bx-wrapper .bx-prev {
        left: 6px !important;
    }
    .section_pass_bg .review-slider-wrap .bx-wrapper .bx-next {
        right: 6px !important;
    }
}

.main-title-text.info-main-title {
    color: #3a3a3a !important;
}

/* 메인 고객센터/학습가이드 밴드 */
.section_pad.main-help-bg {
    width: 100%;
    max-width: 1100px;
    padding: 0;
    margin: 0 auto;
    background: linear-gradient(90deg, #2e2e5e 0%, #2f2f5f 50%, #8f6f45 50%, #896a41 100%);
}

.help-guide-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    background: linear-gradient(90deg, #701554 0%, #5d205f 38%, #32325f 100%);
    border-radius: 0;
    overflow: hidden;
    padding: 10px 0;
}

.help-guide-item {
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 90px;
    padding: 12px 22px;
    color: #f1eefb;
    background: transparent;
}

.help-guide-item:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 12px;
    right: 0;
    width: 1px;
    height: calc(100% - 24px);
    background: rgba(255, 255, 255, 0.22);
}

.help-guide-item .guide-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 122px;
    height: 46px;
    padding: 0 12px;
    border: 1px solid rgba(245, 239, 255, 0.52);
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: -0.3px;
    line-height: 1.15;
    color: #f6f2ff;
    flex: 0 0 auto;
}

.help-guide-item p {
    margin: 0;
    font-size: 14px;
    line-height: 1.28;
    color: #f2edf9;
    font-weight: 600;
    letter-spacing: -0.2px;
}

.main-help-band{
    margin-bottom: 50px;
}

/* 레퍼런스형(좌/우 2세트) 가이드 바 */
.help-guide-strip--paired {
    position: relative;
    grid-template-columns: 100px 1fr 100px 1fr;
    background: transparent;
}

.help-guide-strip--paired::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 72px;
    height: 100%;
    transform: translateX(-50%) skewX(-28deg);
    background:rgb(143 111 69);
    pointer-events: none;
    z-index: 0;
}

.help-guide-strip--paired .help-guide-item,
.help-guide-strip--paired .help-guide-item::after {
    display: none;
}

.help-guide-strip--paired .help-guide-badge,
.help-guide-strip--paired .help-guide-text {
    position: relative;
    z-index: 1;
    min-height: 90px;
    display: flex;
    align-items: center;
}

.help-guide-strip--paired .help-guide-badge {
    justify-content: center;
    margin: 0 12px;
    border-radius: 999px;
    color: #f4f0fd;
    font-size: 13px;
    line-height: 1.3;
    font-weight: 700;
    text-align: center;
}

.help-guide-strip--paired .help-guide-badge.video-guide-badge {
    gap: 0;
    padding: 0;
    justify-content: center;
}

.help-guide-strip--paired .help-guide-badge.faq-guide-badge {
    gap: 0;
    padding: 0;
    justify-content: center;
}

.guide-video-icon {
    display: flex !important;
    align-items: flex-start;
    justify-content: flex-start;
    width: 54px !important;
    height: 60px !important;
    flex: 0 0 70px !important;
    color: #ffffff;
    font-size: 60px !important;
    line-height: 70px;
    font-variation-settings: "FILL" 0, "wght" 100, "GRAD" -25, "opsz" 48;
    /* transform: none !important; */
    /* transform-origin: center; */
}

.guide-faq-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 60px;
    flex: 0 0 70px;
    color: #ffffff;
    font-size: 60px !important;
    line-height: 60px;
    font-variation-settings: "FILL" 0, "wght" 100, "GRAD" -25, "opsz" 48;
    transform: none !important;
    transform-origin: center;
}


.material-symbols-outlined {
    font-family: 'Material Symbols Outlined';
    font-variation-settings:
      'FILL' 0,
      'wght' 100,
      'GRAD' 0,
      'opsz' 24;
}
.help-guide-strip--paired .material-symbols-outlined {
    font-size: 60px !important;
    margin-top: 12px;
}

.help-guide-strip--paired .help-guide-text {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    padding: 0 8px 0 2px;
}

.help-guide-strip--paired .help-guide-text strong {
    color: #F5F5F5;
    font-size: 20px;
    line-height: 1.15;
    margin-bottom: 5px;
    font-weight: 600;
}

.help-guide-strip--paired .help-guide-text p {
    margin: 0;
    color: #fff;
    font-size: 14px;
    line-height: 1.25;
    font-weight: 500;
}

@media (max-width: 1100px) {
    .section_pad.main-help-bg {
        background: transparent;
        padding: 0;
    }

    .section_pad.main-help-bg .section {
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 0;
    }

    .help-guide-strip--paired {
        grid-template-columns: 140px 1fr;
        grid-template-areas:
            "faqBadge faqText"
            "videoBadge videoText";
        row-gap: 8px;
        padding: 0;
        width: 100%;
    }

    .help-guide-strip--paired::before {
        display: none;
    }

    .help-guide-strip--paired .help-guide-badge {
        margin: 0;
        min-height: 84px;
        border-radius: 0;
        border: 0;
        /* border-right: 1px solid rgba(255, 255, 255, 0.22); */
        padding: 0 0px 0 10px !important;
    }

    .help-guide-strip--paired .help-guide-text {
        padding: 12px 14px;
        min-height: 84px;
        border-radius: 0;
    }

    .help-guide-strip--paired .faq-guide-badge { grid-area: faqBadge; }
    .help-guide-strip--paired .faq-guide-badge + .help-guide-text { grid-area: faqText; }
    .help-guide-strip--paired .video-guide-badge { grid-area: videoBadge; }
    .help-guide-strip--paired .video-guide-badge + .help-guide-text { grid-area: videoText; }

    .help-guide-strip--paired .faq-guide-badge,
    .help-guide-strip--paired .faq-guide-badge + .help-guide-text {
        background: #68174e;
    }

    .help-guide-strip--paired .video-guide-badge,
    .help-guide-strip--paired .video-guide-badge + .help-guide-text {
        background: #2f2f5f;
    }

    .help-guide-strip--paired .guide-faq-icon,
    .help-guide-strip--paired .guide-video-icon {
        width: 56px;
        height: 56px;
        flex: 0 0 56px;
        font-size: 56px;
    }
}

.help-center-grid {
    margin-top: 14px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border: 1px solid #e3e6ef;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
}

.help-center-card {
    padding: 20px 22px;
    border-right: 1px solid #eceff6;
    min-height: 160px;
}

.help-center-card:last-child {
    border-right: 0;
}

.help-center-card h4 {
    margin: 0 0 14px;
    font-size: 24px;
    font-weight: 800;
    color: #1a2c4e;
    letter-spacing: -0.3px;
}

.help-center-card.customer {
    background: linear-gradient(180deg, #ffffff 0%, #f7f9ff 100%);
}

.help-center-card.consult {
    background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
}

.help-center-card.account {
    background: linear-gradient(180deg, #ffffff 0%, #fcfbff 100%);
}

.help-phone {
    display: inline-block;
    font-size: 44px;
    line-height: 1;
    font-weight: 800;
    color: #f08f21;
    letter-spacing: -1.2px;
    text-decoration: none;
    margin: 4px 0 16px;
}

.help-mini-links {
    display: inline-flex;
    gap: 6px;
}

.help-mini-links a {
    min-width: 90px;
    padding: 8px 10px;
    text-align: center;
    font-size: 13px;
    color: #3a4670;
    border: 1px solid #d8dff0;
    border-radius: 4px;
    background: #fff;
    text-decoration: none;
}

.help-mini-links a:hover {
    border-color: #3656b9;
    color: #3656b9;
}

.help-time {
    margin: 0 0 6px;
    font-size: 28px;
    color: #2b3650;
    font-weight: 700;
    line-height: 1.2;
}

.help-note {
    margin: 14px 0 0;
    font-size: 14px;
    color: #6a7481;
    line-height: 1.45;
}

.help-center-card.account p {
    margin: 0 0 8px;
    font-size: 21px;
    color: #2f3a54;
    line-height: 1.35;
}

.help-center-card.account p strong {
    color: #182849;
}

/* 샘플 고객센터 바 (1100px centered) */
.customer-strip-wrap {
    width: 100%;
    padding: 0px 0 24px;
}

.customer-strip-1100 {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.customer-strip-1100 .customer-col {
    padding:24px 28px 20px;
    background: #fff;
    border: 1px solid #e6e9ef;
    border-radius: 8px;
}

.customer-col-call,
.customer-col-bank {
    transition: transform 0.22s ease, background-color 0.22s ease, border-color 0.22s ease;
}

.customer-col-call:hover,
.customer-col-bank:hover {
    transform: translateY(-2px);
    background: #fbfeff;
    border-color: #dbeaf7;
}

.customer-col-call h4 {
    margin: 0 0 20px;
    font-size: 18px;
    color: #111;
    font-weight: 600;
    line-height: 1.1;
}

.customer-head-icon {
    font-size: 34px;
    line-height: 1;
    vertical-align: -5px;
    margin-right: 4px;
    color: #101a38;
}

.customer-col-call h4 .arrow {
    font-size: 34px;
    vertical-align: 2px;
}

.customer-col-call .call-number {
    display: inline-block;
    text-decoration: none;
    color: #000;
    font-size: 34px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: -2px;
    margin-bottom: 14px;
}

.customer-links {
    display: inline-flex;
}

.customer-links a {
    min-width: 106px;
    text-align: center;
    border: 1px solid #d6dae4;
    border-left: 0;
    padding: 7px 10px;
    font-size: 17px;
    color: #2e3750;
    text-decoration: none;
    line-height: 1.2;
}

.customer-links a:first-child {
    border-left: 1px solid #d6dae4;
}

.customer-hours {
    margin-top: 10px;
}

.customer-hours p {
    margin: 0 0 6px;
    color: #2f3340;
    font-size: 18px;
    line-height: 1.35;
    font-weight: 500;
    letter-spacing: -0.2px;
}

.customer-hours p:last-child {
    margin-bottom: 0;
}

.customer-col-time h5,
.customer-col-bank h5 {
    display: inline-block;
    margin: 0 0 12px;
    background: #111;
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    line-height: 1;
    padding: 5px 10px 6px;
}

.customer-col-time p{
    margin: 0 0 4px;
    color: #2f3340;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 400;
    letter-spacing: -0.2px;
}

.customer-col-time p b {
    font-size: 14px;
    font-weight: 500;
    color: #111;
    padding-left: 10px;
}

.customer-col-bank h4 {
    margin: 0 0 20px;
    font-size: 18px;
    color: #111;
    font-weight: 600;
    line-height: 1.1;
}

.customer-bank-accounts {
    margin: 0;
}

.customer-bank-row {
    margin: 0 0 10px;
    font-size: 16px;
    line-height: 1.4;
    color: #111;
}

.customer-bank-row:last-of-type {
    margin-bottom: 12px;
}

.customer-bank-name {
    font-weight: 600;
    margin-right: 6px;
}

.customer-bank-num {
    font-weight: 600;
    letter-spacing: -0.5px;
}

.customer-bank-holder {
    margin: 0;
    font-size: 15px;
    font-weight: 500;
    color: #111;
}

.customer-col-time span {
   
    margin-top: 8px;
    color: #767b87;
    font-size: 13px;
    line-height: 1.25;
}

.customer-col-bank p strong {
    margin: 0 0 4px;
    color: #2f3340;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 400;
    letter-spacing: -0.2px;
}

.customer-bank-logo {
    display: block;
    margin-top: 10px;
    margin-left: 0;
    margin-right: auto;
    max-width: 100px;
    width: 100%;
    height: auto;
    margin-bottom: 20px;
}

.customer-col-visit {
    padding: 16px !important;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.visit-box {
    border-radius: 14px;
    border: 1px solid #edd7dc;
    padding: 14px 18px;
    background: #fff;
}

.visit-link-faq {
    background: #f6e7ea;
}

.visit-link {
    display: block;
    text-decoration: none;
}

.visit-link strong {
    display: block;
    color: #2f2a2c;
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: -0.4px;
    font-weight: 700;
}

.visit-link span {
    display: block;
    margin-top: 4px;
    color: #786c70;
    font-size: 14px;
    line-height: 1.3;
    letter-spacing: -0.2px;
    font-weight: 500;
}

.customer-col-quick {
    display: flex;
    align-items: center;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin-top: 2px;
}

.customer-strip-1100 .customer-col.customer-col-quick {
    border-right: 0 !important;
    border-bottom: 0 !important;
}

.quick-menu-grid {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}

.quick-menu-link {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 14px;
    /* min-height: 88px; */
    padding: 10px 20px;
    border-radius: 8px;
    border: 0;
    color: #fff !important;
    text-decoration: none;
    font-size: 17px;
    font-weight: 600;
    line-height: 1;
    transition: background-color 0.2s ease, transform 0.22s ease;
}

.quick-menu-link--faq {
    background: #6f80b3;
}

.quick-menu-link--video {
    background: #c4a380;
}

.quick-menu-link--faq:hover {
    transform: translateY(-2px);
    background: #6073a8;
}

.quick-menu-link--video:hover {
    transform: translateY(-2px);
    background: #b99875;
}

.quick-menu-icon-wrap {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.85);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 52px;
}

.quick-menu-text {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.quick-menu-text strong {
    display: block;
    color: #fff !important;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -0.4px;
}

.quick-menu-text small {
    display: block;
    color: rgba(255, 255, 255, 0.9);
    font-size: 14px;
    line-height: 1.2;
    font-weight: 400;
}

.quick-menu-icon {
    color: #fff !important;
    font-size: 34px;
    margin-top: 0;
    font-variation-settings: "FILL" 0, "wght" 600, "GRAD" 0, "opsz" 20;
}

@media (max-width: 1100px) {
    .customer-strip-wrap {
        padding: 14px 0 10px;
        margin-top: -70px;
    }

    .customer-strip-1100 {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .customer-strip-1100 .customer-col {
        width: calc(100% - 40px);
        max-width: 500px;
        margin: 0 auto;
        padding: 14px;
        border: 1px solid #e6e9ef;
        border-radius: 10px;
    }

    .customer-col-call,
    .customer-col-bank {
        box-shadow: 0 4px 12px rgba(21, 40, 69, 0.04);
    }

    .customer-col-call h4 { font-size: 24px; }
    .customer-head-icon { font-size: 22px; vertical-align: -3px; }
    .customer-col-call h4 .arrow { font-size: 20px; vertical-align: 1px; }
    .customer-col-call .call-number { font-size: 34px; margin-bottom: 10px; }
    .customer-hours p { font-size: 14px; margin-bottom: 4px; }
    .customer-links a { min-width: 86px; font-size: 14px; padding: 6px 8px; }
    .customer-col-time h5, .customer-col-bank h5 { font-size: 13px; padding: 4px 8px 5px; }
    .customer-col-time p, .customer-col-bank p { font-size: 18px; }
    .customer-col-time span { font-size: 14px; }
    /* .customer-col-visit { padding: 12px !important; } */
    .visit-box { border-radius: 10px; }
    .visit-link strong { font-size: 18px; }
    .visit-link span { font-size: 13px; }
    .quick-menu-link {
        min-height: 68px;
        padding: 9px 12px;
        gap: 8px;
    }
    .quick-menu-icon-wrap {
        width: 34px;
        height: 34px;
        flex-basis: 34px;
        border-width: 1px;
    }
    .quick-menu-text {
        gap: 2px;
    }
    .quick-menu-text strong {
        font-size: 15px;
    }
    .quick-menu-text small {
        font-size: 11px;
    }
    .quick-menu-icon {
        font-size: 20px;
    }
}

@media (max-width: 1100px) {
    .help-guide-strip,
    .help-center-grid {
        grid-template-columns: 1fr;
    }

    .help-center-card {
        border-right: 0;
        border-bottom: 1px solid #eceff6;
        min-height: auto;
    }

    .help-center-card:last-child {
        border-bottom: 0;
    }

    .help-phone {
        font-size: 36px;
    }

    .help-time {
        font-size: 22px;
    }

    .help-center-card.account p {
        font-size: 18px;
    }
}

@media (max-width: 768px) {
    .main-help-band {
        margin: 20px auto 10px;
    }

    .help-guide-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        min-height: auto;
        padding: 14px 16px;
    }

    .help-guide-item .guide-pill {
        min-width: auto;
        height: auto;
        padding: 5px 12px;
        font-size: 12px;
    }

    .help-guide-item p,
    .help-note {
        font-size: 13px;
    }

    .help-center-card h4 {
        font-size: 21px;
        margin-bottom: 10px;
    }

    .help-phone {
        font-size: 30px;
        margin-bottom: 12px;
    }

    .help-mini-links {
        width: 100%;
    }

    .help-mini-links a {
        flex: 1;
    }
}

/* 4. 하단 태그 (가로 정렬) */
.video_meta_tag_group {
    margin-top: 12px;
    display: flex;
    gap: 8px;
}

.meta_tag_left, .meta_tag_right {
    display: inline-block;
    padding: 5px 12px;
    border-radius: 5px;
    font-size: 13px;
    font-weight: 500;
}

.meta_tag_left {
    background-color: #e8f0fe;
    color: #1a73e8;
}

.meta_tag_right {
    background-color: #fce8e6;
    color: #d93025;
}


/* 버튼 호버 효과 */
.btn-view:hover {
  background: #787dff;
  transform: translateY(-4px) scale(1.01);
  box-shadow: 0 6px 12px rgba(0,0,0,0.15);
}

/* 프로필 */
    .ia-layout {
        display: flex;
        background: #f8fcff;
        font-family: 'Pretendard', sans-serif;
        padding: 40px;
        gap: 50px;
    }

    /* 좌측 디자인 */
    .ia-left { flex: 0 0 280px; }
    .ia-photo img {
        width: 100%;
        height: auto;
        border-radius: 4px;
        margin-bottom: 30px;
    }
    .ia-main-info {
        border-left: 4px solid #2563eb; /* 이미지의 특징인 왼쪽 파란 선 */
        padding-left: 20px;
    }
    .ia-sub-title { font-size: 13px; color: #666; margin-bottom: 5px; }
    .ia-name { font-size: 34px; font-weight: 800; color: #111; margin-bottom: 20px; }
    .ia-name small { font-size: 14px; color: #888; font-weight: 400; text-transform: uppercase; }
    .ia-summary { list-style: none; padding: 0; font-size: 15px; color: #555; line-height: 1.8; margin-bottom: 25px; }
    .ia-btn-preview {
        display: inline-block;
        padding: 10px 20px;
        border: 1px solid #2563eb;
        color: #2563eb;
        text-decoration: none;
        font-size: 13px;
        font-weight: 600;
        border-radius: 2px;
    }

    /* 우측 디자인 */
    .ia-right { flex: 1; }
    .ia-section { margin-bottom: 35px; border-bottom: 1px solid #eee; padding-bottom: 25px; }
    .ia-section.border-none { border: none; }
    .ia-sec-head { font-size: 16px; font-weight: 800; color: #222; margin-bottom: 20px; }
    
    .ia-row { display: flex; margin-bottom: 12px; font-size: 16px; align-items: flex-start; }
    .ia-label { flex: 0 0 60px; color: #999; font-weight: 500; }
    .ia-val { flex: 1; color: #444; line-height: 1.5; }

    /* 태그 디자인 */
    .ia-tags { display: flex; gap: 8px; flex-wrap: wrap; }
    .ia-tags span {
        border: 1px solid #ddd;
        padding: 6px 18px;
        border-radius: 25px;
        font-size: 14px;
        color: #666;
    }

    /* 반응형 모바일 대응 */
    @media (max-width: 800px) {
        .ia-layout { flex-direction: column; padding: 20px; }
        .ia-left { flex: none; width: 100%; }
    }

    .naddang-portfolio {
        background-color: #f8fcff;
        margin: 0 auto;
        padding: 0 20px 60px 20px;
        font-family: 'Pretendard', sans-serif;
    }

    .p-section { margin-bottom: 50px; }
    
    .p-title {
        font-size: 20px;
        font-weight: 800;
        color: #1a1a1a;
        margin-bottom: 20px;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .p-title small { font-size: 14px; font-weight: 400; }

    /* 유튜브 그리드 레이아웃 */
    .video-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
        gap: 15px;
    }
    .video-card {
        display: flex;
        align-items: center;
        padding: 15px;
        background: #ffffff;
        border-radius: 12px;
        text-decoration: none;
        transition: 0.3s;
        border: 1px solid #f1f5f9;
    }
    .video-card:hover { transform: translateY(-3px); box-shadow: 0 10px 20px rgba(0,0,0,0.05); border-color: #2563eb; }
    .v-thumb { font-size: 24px; margin-right: 15px; }
    .v-label { font-size: 18px; font-weight: 700; color: #1e293b; margin: 0; color: #2150b7; }
    .v-desc { font-size: 14px; color: #64748b; margin: 3px 0 0; }

    /* 뉴스 리스트 스타일 */
    .article-list { display: flex; flex-direction: column; gap: 10px; }
    .article-item {
        display: flex;
        align-items: center;
        padding: 15px 20px;
        background: #fff;
        border: 1px solid #eee;
        border-radius: 8px;
        text-decoration: none;
        color: #333;
        transition: 0.2s;
    }
    .article-item:hover { background: #fdfdfd; border-color: #2563eb; }
    .a-tag { font-size: 11px; font-weight: 800; padding: 2px 8px; border-radius: 4px; background: #eee; margin-right: 15px; }
    .a-tag.best { background: #fee2e2; color: #ef4444; }
    .a-txt { flex: 1; font-size: 14px; margin: 0; }
    .a-arrow { color: #ccc; }

    /* 하단 버튼 */
    .p-links { display: flex; gap: 10px; margin-top: 20px; }
    .p-btn {
        flex: 1;
        text-align: center;
        padding: 15px;
        border-radius: 8px;
        text-decoration: none;
        font-size: 18px;
        font-weight: 600;
        transition: 0.3s;
    }
    .p-btn.site { background: #2563eb; color: #fff; }
    .p-btn.blog {     background: #eef3ff;
    color: #2563eb;
    border: 1px solid #2563eb; }
    .p-btn:hover { opacity: 0.9; }

    @media (max-width: 600px) {
        .p-links { flex-direction: column; }
    }



    .portfolio-container {

    margin: 0 auto;
    background: #fff;
    border-radius: 30px;

}

/* 헤더 & 프로필 이미지 섹션 */
.hero-section {
    color: white;
}

.profile-img-wrapper {
    width: 100%;
}

.profile-img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* 이미지 비율 유지 */
}

.hero-text h2 {
    font-size: 1rem;
    font-weight: 400;
    opacity: 0.8;
    margin: 0 0 5px 0;
    letter-spacing: 2px;
}

.hero-text h1 {
    font-size: 2.2rem;
    margin: 0;
    font-weight: 800;
}

/* 본문 스타일 */
.content-body {
    padding: 40px 20px 60px 20px;
    background-color: #f8fcff;
}

.intro-quote {
    font-size: 1.25rem;
    font-weight: 700;
    color: #0984e3;
    border-left: 5px solid #0984e3;
    padding-left: 20px;
    margin-bottom: 25px;
}

.main-desc {
    font-size: 1.05rem;
    color: #4a5568;
    margin-bottom: 35px;
}

/* 숫자 성과 카드 */
.stat-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    margin-bottom: 40px;
}

.stat-card {
    background: #ffffff;
    padding: 20px;
    border-radius: 16px;
    text-align: center;
}

.stat-card .label {
    font-size: 0.85rem;
    color: #718096;
    display: block;
    margin-bottom: 5px;
}

.stat-card .value {
    font-size: 1.3rem;
    font-weight: 800;
    color: #e63946;
}

/* 링크 섹션 */
.biz-info h3 {
    font-size: 1.1rem;
    margin-bottom: 20px;
    color: #2d3436;
}

.link-group {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.link-item {
    display: flex;
    align-items: center;
    padding: 14px 18px;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    text-decoration: none;
    color: #4a5568;
    font-weight: 600;
    font-size: 0.95rem;
    transition: all 0.2s ease;
}

.link-item:hover {
    background: #f1f7ff;
    border-color: #0984e3;
    color: #0984e3;
    transform: translateY(-3px);
}

.link-item i {
    margin-right: 12px;
    font-size: 1.1rem;
}

/* 푸터 공지 */
.contact-notice {
    margin-top: 40px;
    background: #fff9db;
    color: #856404;
    padding: 18px;
    border-radius: 12px;
    text-align: center;
    font-size: 0.95rem;
    font-weight: 600;
    border: 1px solid #ffeeba;
}

/* 모바일 대응 */
@media (max-width: 600px) {
    .stat-grid, .link-group {
        grid-template-columns: 1fr;
    }
    .hero-section {
        padding: 40px 20px;
    }
    .hero-text h1 {
        font-size: 1.8rem;
    }
}



/** 메인 수강후기 슬라이드 **/

.mainReviewBox {
    margin:0 0 100px 0;
}

.review-slider-wrap {
    max-width: 1100px;
    margin: 0 auto 70px;
}

.review-slider li {
    list-style: none;
    padding-top: 10px;
}

.review-card {
    border: 1px solid #e3e6ea;
    /* border-top: 3px solid #efd9cb; */
    border-radius: 14px;
    background: #fff;
    box-shadow: none;
    padding: 24px 28px 15px;
    height: 100%;
    box-sizing: border-box;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    box-shadow: 1px 3px 4px 0px rgba(0, 0, 0, 0.1);

}
.review-card-link,
.classDetailTopReview .review-card {
    cursor: pointer;
}
.review-card-link:hover .review-card,
.classDetailTopReview .review-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 6px 14px rgb(0 0 0 / 0.06);
}

.review-card-head {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 14px;
    position: relative;
}
.review-card-head::after {
    content: "";
    position: absolute;
    right: -2px;
    top: -18px;
    width: 64px;
    height: 32px;
    background: url('/files/images/main/medal.png') no-repeat right 0;
    background-size: contain;
    z-index: 3;
    pointer-events: none;
}
.review-best {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 50px;
    height: 24px;
    padding: 0 10px;
    border-radius: 999px;
    background: #ffecef;
    color: #ef5350;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.2px;
}

.review-card h3 {
    font-weight: 600;
    font-size: 18px;
    line-height: 1.4;
    color: #1c1c1c;
    margin-bottom: 12px;
    height: 26px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
}

.review-card p {
    font-size: 16px;
    line-height: 1.4;
    color: #5a5a5a;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    line-clamp: 4;
    -webkit-box-orient: vertical;
    margin-bottom: 22px;
    height: auto;
    max-height: calc(1.4em * 4);
    word-break: break-word;
    white-space: normal;
}

.review-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    border-top: none;
    padding: 14px 0 5px 0;
}
.review-footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(
        90deg,
        rgba(227, 230, 234, 0) 0%,
        #e3e6ea 18%,
        #173481 50%,
        #e3e6ea 82%,
        rgba(227, 230, 234, 0) 100%
    );
}

/* 메인 후기 카드(modern) */
.review-card-link:has(.review-card--modern) {
    display: flex;
    height: auto;
    min-width: 0;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    text-decoration: none;
}
.review-card--modern {
    flex: 1;
    min-height: 0;
    min-width: 0;
    width: 100%;
    max-width: 100%;
    height: auto;
    padding: 22px 22px 10px;
    border: 1px solid #e8ebf0;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 2px 12px rgba(15, 23, 42, 0.06);
    transform: none;
    justify-content: flex-start;
    position: relative;
    overflow: hidden;
    isolation: isolate;
}
.review-card--modern::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #173481 0%, #4f63d8 28%, #9b4bb7 62%, #f59e42 100%);
    opacity: 0;
    transform: scaleX(0.35);
    transform-origin: center;
    transition: opacity 0.28s ease, transform 0.28s ease;
    pointer-events: none;
    z-index: 2;
}
.review-card--modern::after {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 78px;
    background: linear-gradient(
        180deg,
        rgba(23, 52, 129, 0.1) 0%,
        rgba(79, 99, 216, 0.06) 42%,
        rgba(255, 255, 255, 0) 100%
    );
    opacity: 0;
    transition: opacity 0.28s ease;
    pointer-events: none;
    z-index: 0;
}
.review-card--modern > * {
    position: relative;
    z-index: 1;
}
.review-card-link:hover .review-card--modern,
.classDetailTopReview .review-card--modern:hover {
    transform: none;
    border-color: #d5deef;
    box-shadow: 0 4px 16px rgba(23, 52, 129, 0.1);
}
.review-card-link:hover .review-card--modern::before,
.classDetailTopReview .review-card--modern:hover::before {
    opacity: 1;
    transform: scaleX(1);
}
.review-card-link:hover .review-card--modern::after,
.classDetailTopReview .review-card--modern:hover::after {
    opacity: 1;
}
.review-card--modern .review-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
    min-height: 28px;
}
.review-card--modern .review-card-head::after {
    display: none;
}
.review-card--modern .review-card-head__meta {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}
.review-card--modern .review-card-badge {
    display: inline-flex;
    align-items: center;
    height: 24px;
    padding: 0 10px;
    border-radius: 999px;
    background: #f1f3f6;
    color: #6b7280;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}
.review-card--modern .medal-badge {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 10px;
    background: #fffcf7;
    border: 1px solid #f3ebda;
    box-sizing: border-box;
}
.review-card--modern .medal-badge__icon {
    display: block;
    width: 19px;
    height: 19px;
}
.review-card--modern h3 {
    margin-bottom: 12px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.45;
    color: #586073;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
    box-sizing: border-box;
}
.review-card--modern p {
    flex: 0 1 auto;
    margin-bottom: 0;
    font-size: 15px;
    line-height: 1.4;
    color: #64748b;
    min-height: calc(1.4em * 4);
    max-height: calc(1.4em * 4);
}
.review-card--modern .review-footer {
    margin-top: 18px;
    padding: 14px 0 0;
}
.review-card--modern .review-user-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 29px;
    height: 29px;
    margin-right: 8px;
    border-radius: 50%;
    background:
        radial-gradient(circle at 32% 28%, rgba(255, 255, 255, 0.28) 0%, rgba(255, 255, 255, 0) 48%),
        radial-gradient(circle at 72% 78%, #0f2558 0%, transparent 58%),
        linear-gradient(145deg, #5b8dff 0%, #2f5fc8 42%, #173481 72%, #102456 100%);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    flex-shrink: 0;
}
.review-card--modern .review-card-date {
    font-size: 12px;
    color: #9ca3af;
}

.review-user {
    display: flex;
    align-items: center;
}

.review-user img {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
    margin-right: 8px;
}

.review-user-name {
    font-size: 14px;
    font-weight: 600;
    color: #2a2a2a;
}

.review-rating {
    display: flex;
    align-items: center;
}

.star-rating {
    position: relative;
    font-size: 16px;
    line-height: 1;
    letter-spacing: 1px;
}

.star-rating div {
    white-space: nowrap;
}

.star-bg {
    color: #ffc107;
}

.star-fill {
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    color: #f9b500;
}

.review-slider-wrap .bx-wrapper {
    box-shadow: none !important;
    border: none !important;
    background: transparent !important;
    position: relative;
    padding: 0;
}

/* 합격수기(pass)는 가로 폭을 넓게 사용 */
.section_pass_bg .review-slider-wrap {
    max-width: 1100px;
    padding: 0;
    box-sizing: border-box;
}
.section_pass_bg--fx .review-slider-wrap {
    margin-bottom: 0;
}
.section_pass_bg--fx .section-best-subject {
    padding-bottom: 80px;
}

.section_pass_bg .review-slider-wrap .bx-wrapper {
    width: 100% !important;
    max-width: 1100px !important;
}

/* 메인 합격수기: 슬라이드 한 칸(뷰포트) 높이 — bxSlider 인라인 height 덮어씀 */
.section_pass_bg .review-slider-wrap .bx-viewport {
    height: 300px !important;
}

.review-slider-wrap .bx-wrapper .bx-prev {
    left: 0;
    z-index: 10;
}

.review-slider-wrap .bx-wrapper .bx-next {
    right: 0;
    z-index: 10;
}

/* 합격수기 화살표: 원형 배경 + 얇은 꺾쇠 */
.section_pass_bg .review-slider-wrap .bx-wrapper .bx-controls-direction a {
    width: 46px;
    height: 46px;
    position: absolute !important;
    top: 50% !important;
    margin-top: -23px !important;
    border-radius: 50%;
    background: #d9d9d969 !important;
    opacity: 0.95;
    text-indent: -9999px;
    white-space: nowrap;
    font-size: 0;
    overflow: hidden;
    z-index: 20;
    transition: background-color 0.2s ease;
}
.section_pass_bg .review-slider-wrap .bx-wrapper .bx-controls-direction a:hover {
    background: #d9d9d996 !important;
}
.section_pass_bg .review-slider-wrap .bx-wrapper .bx-controls-direction a:hover::after {
    border-top-color: #555;
    border-right-color: #555;
}
.section_pass_bg .review-slider-wrap .bx-wrapper .bx-prev {
    left: -22px !important;
}
.section_pass_bg .review-slider-wrap .bx-wrapper .bx-next {
    right: -22px !important;
}
.section_pass_bg .review-slider-wrap .bx-wrapper .bx-controls-direction a::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;
    border-top: 2px solid #939393;
    border-right: 2px solid #939393;
}

.section_pass_bg .review-slider-wrap .bx-controls {
    display: block !important;
}

.section_pass_bg .review-slider-wrap .bx-pager {
    display: none !important;
}
.section_pass_bg .review-slider-wrap .bx-wrapper .bx-prev::after {
    transform: translate(-35%, -50%) rotate(-135deg);
}
.section_pass_bg .review-slider-wrap .bx-wrapper .bx-next::after {
    transform: translate(-65%, -50%) rotate(45deg);
}

/* 반응형 */
@media (max-width: 991px) {
    .review-card h3 {
        font-size: 18px;
        height: 26px;
    }
    .review-card--modern h3 {
        font-size: 16px;
        height: auto;
        max-width: 100%;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .review-card p {
        font-size: 16px;
        line-height: 1.5;
        -webkit-line-clamp: 4 !important;
        line-clamp: 4;
        height: auto !important;
        max-height: calc(1.5em * 4);
    }
    .section_pass_bg .review-card p {
        display: -webkit-box !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        -webkit-line-clamp: 4 !important;
        line-clamp: 4;
        line-height: 1.5 !important;
        height: auto !important;
        max-height: calc(1.5em * 4);
        word-break: break-word;
        white-space: normal;
    }
    .section_pass_bg .review-card--modern p {
        line-height: 1.4 !important;
        min-height: calc(1.4em * 4);
        max-height: calc(1.4em * 4);
    }
}

@media (max-width: 767px) {
    .review-card h3 {
        height: 26px;
    }
    .review-card--modern h3 {
        height: auto;
        max-width: 100%;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .review-card p {
        line-height: 1.5;
        -webkit-line-clamp: 4;
        line-clamp: 4;
        height: auto;
        max-height: calc(1.5em * 4);
    }
    .section_pass_bg .review-card p {
        -webkit-line-clamp: 4 !important;
        line-clamp: 4;
        line-height: 1.5 !important;
        height: auto !important;
        max-height: calc(1.5em * 4);
    }
    .section_pass_bg .review-card--modern p {
        line-height: 1.4 !important;
        min-height: calc(1.4em * 4);
        max-height: calc(1.4em * 4);
    }
    .mainReviewBox {
        margin:30px 0 60px 0;
    }
}


/** 강좌상세 수강후기 카드 **/
.classDetailTopReview {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin: 20px auto 0 auto;
}
.classDetailTopReview .review-footer {
    margin-bottom:10px;
}

/* 모달 배경 */
.modal-bg {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.6);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

/* 모달 박스 */
.modal-content {
    background: #fff;
    width: 600px;
    max-width: 90%;
    height: 80vh;
    border-radius: 20px;
    padding: 30px 40px;
    overflow-y: auto;
    box-sizing: border-box;
    position: relative;
    box-shadow: 0 4px 15px rgba(0,0,0,0.25);
}

.close-btn {
    position: absolute;
    top: 15px;
    right: 15px;
    font-size: 28px;
    background: none;
    border: none;
    cursor: pointer;
    color: #333;
    line-height: 1;
    font-weight: 700;
}

.modal-inner-content h3 {
    font-weight: 700;
    font-size: 26px;
    margin-bottom: 15px;
    max-width:80%;
}
.modal-inner-content .review-footer {
    margin-bottom: 20px;
}

@media (max-width: 768px) {
    .modal-content {
        width: 90%;
        padding: 20px;
    }
    .classDetailTopReview {
        grid-template-columns: 1fr;
    }
}

/* 메인 자격증 과정 — 해성DS PRODUCT 레이아웃 기반 */
.main-cert-product {
    position: relative;
    z-index: 2;
    width: 100%;
    padding: 56px 0 78px;
    box-sizing: border-box;
}
.main-cert-product__bg {
    position: absolute;
    left: -30%;
    top: -40%;
    z-index: 0;
    pointer-events: none;
}
.main-cert-product__bg-in {
    width: 1100px;
    height: 1100px;
    border-radius: 50%;
    opacity: 0;
    background: radial-gradient(50% 50% at 50% 50%, rgba(40, 125, 204, 0.55) 0%, rgba(40, 125, 204, 0) 100%);
    transform: scale(0);
    transition: opacity 1s 0.4s ease, transform 1s 0.4s ease;
}
.main-cert-product.in-view .main-cert-product__bg-in {
    opacity: 0.55;
    transform: scale(1);
}
.main-cert-product__in {
    position: relative;
    z-index: 2;
    width: min(100% - 40px, 1100px);
    margin: 0 auto;
}
.main-cert-product__titarea {
    text-align: center;
}
.main-cert-product__eyebrow {
    margin: 0 0 8px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: #287dcc;
}
.main-cert-product__watermark {
    margin: 0;
    font-size: clamp(72px, 14vw, 200px);
    font-weight: 800;
    line-height: 0.92;
    letter-spacing: -0.04em;
    color: rgba(255, 255, 255, 0.92);
    text-shadow: 0 8px 30px rgba(40, 125, 204, 0.12);
    transform: translateY(36px);
    opacity: 0;
    transition: transform 1s 0.2s ease, opacity 1s 0.2s ease, color 0.45s ease;
}
.main-cert-product:has(.main-cert-product__card--blue:hover) .main-cert-product__watermark,
.main-cert-product:has(.main-cert-product__card--blue:focus-within) .main-cert-product__watermark {
    color: rgba(40, 125, 204, 0.42);
}
.main-cert-product:has(.main-cert-product__card--green:hover) .main-cert-product__watermark,
.main-cert-product:has(.main-cert-product__card--green:focus-within) .main-cert-product__watermark {
    color: rgba(157, 182, 41, 0.48);
}
.main-cert-product:has(.main-cert-product__card--pink:hover) .main-cert-product__watermark,
.main-cert-product:has(.main-cert-product__card--pink:focus-within) .main-cert-product__watermark {
    color: rgba(200, 63, 120, 0.42);
}
.main-cert-product.in-view .main-cert-product__watermark {
    transform: translateY(0);
    opacity: 1;
}
.main-cert-product__list {
    position: relative;
    top: -42px;
    z-index: 5;
    display: flex;
    gap: 22px;
}
.main-cert-product__card {
    flex: 1 1 0;
    min-width: 0;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.16);
    backdrop-filter: blur(12px);
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.9s ease, transform 0.9s ease, box-shadow 0.28s ease, background 0.28s ease;
}
.main-cert-product__card:nth-child(1) { transition-delay: 0.45s; }
.main-cert-product__card:nth-child(2) { transition-delay: 0.62s; }
.main-cert-product__card:nth-child(3) { transition-delay: 0.78s; }
.main-cert-product.in-view .main-cert-product__card {
    opacity: 1;
    transform: translateY(0);
    transition: transform 0.28s ease, box-shadow 0.28s ease, background 0.28s ease;
}
.main-cert-product__card a {
    position: relative;
    display: block;
    box-sizing: border-box;
    min-height: 248px;
    padding: 42px 34px 34px;
    text-decoration: none;
    overflow: hidden;
    isolation: isolate;
}
.main-cert-product__card a::after {
    content: "";
    position: absolute;
    right: 34px;
    bottom: 34px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #fff;
    transform: scale(0);
    transition: transform 0.5s ease;
    z-index: 1;
    pointer-events: none;
}
.main-cert-product__card a:hover::after,
.main-cert-product__card a:focus-visible::after {
    transform: scale(14);
}
.main-cert-product__card h4,
.main-cert-product__card p,
.main-cert-product__card ul,
.main-cert-product__card .icon,
.main-cert-product__card .arrow {
    position: relative;
    z-index: 2;
}
.main-cert-product__card h4 {
    margin: 0;
    color: #fff;
    font-size: clamp(22px, 2vw, 28px);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.02em;
    transition: color 0.3s ease;
}
.main-cert-product__card p {
    margin: 12px 0 0;
    min-height: 72px;
    color: rgba(255, 255, 255, 0.78);
    font-size: 15px;
    line-height: 1.55;
    word-break: keep-all;
    transition: color 0.3s ease, opacity 0.3s ease;
}
.main-cert-product__card ul {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 34px 0 0;
    padding: 0;
    list-style: none;
}
.main-cert-product__card .icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 68px;
    height: 68px;
    transition: transform 0.3s ease;
}
.main-cert-product__card .icon .material-symbols-outlined {
    font-size: 52px;
    color: rgba(255, 255, 255, 0.95);
    transition: color 0.3s ease;
}
.main-cert-product__card .arrow span {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    font-size: 28px;
    color: #287dcc;
    transition: transform 0.3s ease, color 0.3s ease;
}
.main-cert-product__card .arrow span::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: 50%;
    background: #fff;
    transition: transform 0.45s ease;
}
.main-cert-product__card--blue {
    background: rgba(29, 101, 180, 0.86);
    --cert-accent: #287dcc;
}
.main-cert-product__card--green {
    background: rgba(157, 182, 41, 0.88);
    --cert-accent: #9db629;
}
.main-cert-product__card--green .arrow span { color: #9db629; }
.main-cert-product__card--pink {
    background: rgba(185, 47, 104, 0.88);
    --cert-accent: #c83f78;
}
.main-cert-product__card--pink .arrow span { color: #c83f78; }
.main-cert-product__card a:hover h4,
.main-cert-product__card a:focus-visible h4 {
    color: var(--cert-accent);
}
.main-cert-product__card a:hover p,
.main-cert-product__card a:focus-visible p {
    color: var(--cert-accent);
    opacity: 0.78;
}
.main-cert-product__card a:hover .icon .material-symbols-outlined,
.main-cert-product__card a:focus-visible .icon .material-symbols-outlined {
    color: var(--cert-accent);
}
.main-cert-product__card a:hover .arrow span,
.main-cert-product__card a:focus-visible .arrow span {
    transform: translateX(-10px);
}
.main-cert-product__card:hover {
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.22);
}
@media (max-width: 1024px) {
    .main-cert-product__bg-in {
        width: 820px;
        height: 820px;
    }
    .main-cert-product__list {
        top: -28px;
        flex-wrap: wrap;
    }
    .main-cert-product__card {
        flex: 1 1 calc(50% - 11px);
    }
    .main-cert-product__card:nth-child(3) {
        flex-basis: 100%;
    }
}
@media (max-width: 834px) {
    .main-cert-product__titarea {
        overflow: visible;
        padding-bottom: 4px;
    }
    .main-cert-product__watermark {
        line-height: 1.05;
        overflow: visible;
        padding-bottom: 2px;
    }
    .main-cert-product__list {
        top: 0;
        margin-top: 28px;
        z-index: 2;
    }
}
@media (max-width: 680px) {
    .main-cert-product {
        padding: 40px 0 56px;
    }
    .main-cert-product__in {
        width: min(100% - 28px, 460px);
    }
    .main-cert-product__watermark {
        font-size: 72px;
        line-height: 1.08;
    }
    .main-cert-product__list {
        margin-top: 32px;
        gap: 16px;
    }
    .main-cert-product__card {
        flex-basis: 100%;
    }
    .main-cert-product__card a {
        min-height: 0;
        padding: 28px 24px 24px;
    }
    .main-cert-product__card a::after {
        right: 24px;
        bottom: 24px;
        width: 40px;
        height: 40px;
    }
    .main-cert-product__card a:hover::after,
    .main-cert-product__card a:focus-visible::after {
        transform: scale(12);
    }
    .main-cert-product__card p {
        min-height: 0;
        font-size: 14px;
    }
    .main-cert-product__card ul {
        margin-top: 22px;
    }
    .main-cert-product__card .icon {
        width: 54px;
        height: 54px;
    }
    .main-cert-product__card .icon .material-symbols-outlined {
        font-size: 42px;
    }
    .main-cert-product__card .arrow span {
        width: 40px;
        height: 40px;
        font-size: 24px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .main-cert-product__bg-in,
    .main-cert-product__watermark,
    .main-cert-product__card,
    .main-cert-product__card a::after,
    .main-cert-product__card .arrow span::before {
        transition: none !important;
    }
    .main-cert-product__card a:hover::after,
    .main-cert-product__card a:focus-visible::after {
        transform: scale(14);
    }
    .main-cert-product__card {
        opacity: 1;
        transform: none;
    }
    .main-cert-product.in-view .main-cert-product__bg-in {
        opacity: 0.45;
        transform: scale(1);
    }
}

/* 동영상 게시판(movie, freeclass): 한 줄 3개 갤러리 (c-mbgb freeclass 동일) */
.contable.board_freeclass .section-box,
.contable.board_movie .section-box {
	padding: 0;
	box-sizing: border-box;
}
@media (min-width: 1025px) {
	.contable.board_freeclass .ul-photo,
	.contable.board_movie .ul-photo {
		display: flex;
		flex-wrap: wrap;
		column-gap: 20px;
		row-gap: 20px;
	}
	.contable.board_freeclass .ul-photo > li,
	.contable.board_movie .ul-photo > li {
		width: calc((100% - 40px) / 3);
		margin: 0;
		box-sizing: border-box;
	}
}
.contable.board_freeclass .photo-date,
.contable.board_movie .photo-date {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.contable.board_freeclass .photo-date li,
.contable.board_movie .photo-date li {
	float: none;
	font-size: 13px;
	color: #9a9a9a;
}
.contable.board_freeclass .photo-txt,
.contable.board_movie .photo-txt {
	padding: 10px 10px 0;
}
.contable.board_freeclass .photo-txt .title,
.contable.board_movie .photo-txt .title {
	margin-bottom: 0;
	height: 36px;
}
.contable.board_freeclass .padding-wrap:not(.utbThumbWrap):not(.bbs-freeclass-embed-outer):not([style*="padding-bottom"]),
.contable.board_movie .padding-wrap:not(.utbThumbWrap):not(.bbs-freeclass-embed-outer):not([style*="padding-bottom"]) {
	height: auto;
	padding-bottom: 0;
}
.contable.board_freeclass .padding-wrap:not(.utbThumbWrap):not(.bbs-freeclass-embed-outer):not([style*="padding-bottom"]) .img-wrap,
.contable.board_movie .padding-wrap:not(.utbThumbWrap):not(.bbs-freeclass-embed-outer):not([style*="padding-bottom"]) .img-wrap {
	position: relative;
	top: auto;
	left: auto;
	width: 100%;
	height: auto;
	min-height: 0;
}
.contable.board_freeclass .padding-wrap:not(.utbThumbWrap):not(.bbs-freeclass-embed-outer):not([style*="padding-bottom"]) .img-wrap img.g_list_img,
.contable.board_movie .padding-wrap:not(.utbThumbWrap):not(.bbs-freeclass-embed-outer):not([style*="padding-bottom"]) .img-wrap img.g_list_img {
	display: block;
}
.contable.board_freeclass .padding-wrap.utbThumbWrap,
.contable.board_movie .padding-wrap.utbThumbWrap {
	position: relative;
	width: 100%;
	max-width: 350px;
	margin-left: auto;
	margin-right: auto;
	height: auto;
	min-height: 0;
	padding-bottom: 0;
	aspect-ratio: 350 / 200;
	overflow: hidden;
	box-sizing: border-box;
}
.contable.board_freeclass .padding-wrap.utbThumbWrap .img-wrap.utbThumb,
.contable.board_movie .padding-wrap.utbThumbWrap .img-wrap.utbThumb {
	position: absolute;
	top: 0;
	left: 0;
	margin-top: 0;
	width: 100%;
	height: 100%;
}
.contable.board_freeclass .padding-wrap.utbThumbWrap .g_list_img,
.contable.board_movie .padding-wrap.utbThumbWrap .g_list_img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	display: block;
}

/* 동영상 게시판: 포스터 + 분리 iframe 슬롯 */
.contable.board_freeclass .bbs-photo-embed-split,
.contable.board_movie .bbs-photo-embed-split {
	position: relative;
	width: 100%;
	height: 100%;
	min-height: 0;
	background: #000;
}
.contable.board_freeclass .bbs-video-iframe-slot,
.contable.board_movie .bbs-video-iframe-slot {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}
.contable.board_freeclass .bbs-video-iframe-poster img,
.contable.board_movie .bbs-video-iframe-poster img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* 동영상 게시판(freeclass/movie) — 리스트형 */
.contable.freeclass-lecture-board,
.contable.board_freeclass.freeclass-lecture-board,
.contable.board_movie.freeclass-lecture-board {
	margin: 0;
	padding: 0;
	list-style: none;
}
.freeclass-lecture-section-title {
	margin: 32px 0 20px;
	padding: 0;
	font-size: 30px;
	font-weight: 700;
	color: #4a4b4d;
	line-height: 1.35;
	letter-spacing: 0.03em;
	text-align: center;
}
.freeclass-lecture-section-title-em {
	background: linear-gradient(90deg, #2a7ae1 0%, #6492e9 45%, #e97f31 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
.freeclass-lecture-list {
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 10px;
	overflow: hidden;
}
.freeclass-lecture-item {
	position: relative;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 32px;
	background: #f7fbff;
	border-bottom: 1px solid #eee;
	transition: background-color 0.22s ease;
}
.freeclass-lecture-item:nth-child(even) {
	background: #fff;
}
.freeclass-lecture-item:last-child {
	border-bottom: none;
}
.freeclass-lecture-item:hover {
	background: #edf6ff;
}
.freeclass-lecture-item:hover::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 3px;
	background: #0b63ce;
}
.freeclass-lecture-thumb {
	width: 112px;
	height: 64px;
	margin-right: 14px;
	background: #dce8f8;
	border-radius: 8px;
	flex-shrink: 0;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: box-shadow 0.22s ease, transform 0.22s ease;
}
.freeclass-lecture-item:hover .freeclass-lecture-thumb {
	box-shadow: 0 4px 14px rgba(11, 99, 206, 0.18);
	transform: translateY(-1px);
}
.freeclass-lecture-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	display: block;
	transition: transform 0.28s ease;
}
.freeclass-lecture-item:hover .freeclass-lecture-thumb img {
	transform: scale(1.04);
}
.freeclass-lecture-thumb-label {
	font-weight: 700;
	color: #1c5fa8;
	font-size: 14px;
}
.freeclass-lecture-info {
	position: relative;
	flex: 1;
	min-width: 0;
	padding-left: 22px;
	border-left: 1px solid #c6d9f3;
}
.freeclass-lecture-info::before {
	content: "";
	position: absolute;
	left: -1px;
	top: -10px;
	width: 1px;
	height: calc(100% + 20px);
	background: linear-gradient(180deg, rgba(139, 177, 224, 0.18) 0%, rgba(112, 162, 228, 0.95) 50%, rgba(139, 177, 224, 0.18) 100%);
	box-shadow: 0 0 6px rgba(112, 162, 228, 0.45);
	animation: freeclass-divider-breathe 2.6s ease-in-out infinite;
	pointer-events: none;
}
.freeclass-lecture-info::after {
	content: "";
	position: absolute;
	left: -7px;
	top: 50%;
	width: 13px;
	height: 13px;
	margin-top: -6px;
	border-radius: 999px;
	background: radial-gradient(circle, rgba(255, 255, 255, 0.96) 0%, rgba(182, 217, 255, 0.86) 40%, rgba(112, 162, 228, 0) 75%);
	box-shadow: 0 0 0 0 rgba(126, 180, 245, 0.55);
	animation: freeclass-divider-pulse 2.6s ease-out infinite;
	pointer-events: none;
}
@keyframes freeclass-divider-breathe {
	0% {
		opacity: 0.75;
		box-shadow: 0 0 4px rgba(112, 162, 228, 0.32);
	}
	50% {
		opacity: 1;
		box-shadow: 0 0 10px rgba(112, 162, 228, 0.55);
	}
	100% {
		opacity: 0.75;
		box-shadow: 0 0 4px rgba(112, 162, 228, 0.32);
	}
}
@keyframes freeclass-divider-pulse {
	0% {
		transform: translateZ(0) scale(0.65);
		opacity: 0.85;
		box-shadow: 0 0 0 0 rgba(126, 180, 245, 0.52);
	}
	70% {
		transform: translateZ(0) scale(1.08);
		opacity: 0.12;
		box-shadow: 0 0 0 12px rgba(126, 180, 245, 0);
	}
	100% {
		transform: translateZ(0) scale(0.65);
		opacity: 0;
		box-shadow: 0 0 0 0 rgba(126, 180, 245, 0);
	}
}
.freeclass-lecture-info h3 {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0 0 4px;
	font-size: 17px;
	color: #575e65;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.04em;
	word-break: keep-all;
	transition: color 0.22s ease;
}
.freeclass-lecture-info h3::before {
	content: "";
	flex-shrink: 0;
	width: 5px;
	height: 5px;
	margin-top: 0.42em;
	border-radius: 50%;
	background: #0b63ce;
	transition: background-color 0.22s ease, transform 0.22s ease;
}
.freeclass-lecture-item:hover .freeclass-lecture-info h3 {
	color: #575e65;
}
.freeclass-lecture-item:hover .freeclass-lecture-info h3::before {
	background: #084fa5;
	transform: scale(1.15);
}
.freeclass-play-btn {
	height: 32px;
	border: none;
	background-color: #2a7ae1;
	background-image:
		linear-gradient(45deg, rgba(255, 255, 255, 0.12) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.12) 75%),
		linear-gradient(45deg, rgba(255, 255, 255, 0.12) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.12) 75%);
	background-size: 6px 6px;
	background-position: 0 0, 3px 3px;
	color: #fff;
	padding: 3px 16px;
	border-radius: 6px;
	cursor: pointer;
	font-weight: 500;
	font-size: 15px;
	line-height: 1.2;
	flex-shrink: 0;
	transition: background-color 0.22s ease, background-image 0.22s ease, transform 0.22s ease, box-shadow 0.22s ease;
}
.freeclass-play-btn:hover {
	background-color: #e97f31;
	background-image:
		linear-gradient(45deg, rgba(255, 255, 255, 0.1) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.1) 75%),
		linear-gradient(45deg, rgba(255, 255, 255, 0.1) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.1) 75%);
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(233, 127, 49, 0.42);
}
.freeclass-lecture-item:hover .freeclass-play-btn {
	background-color: #e97f31;
	background-image:
		linear-gradient(45deg, rgba(255, 255, 255, 0.1) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.1) 75%),
		linear-gradient(45deg, rgba(255, 255, 255, 0.1) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.1) 75%);
	box-shadow: 0 4px 12px rgba(233, 127, 49, 0.36);
}
@media (prefers-reduced-motion: reduce) {
	.freeclass-lecture-item,
	.freeclass-lecture-thumb,
	.freeclass-lecture-thumb img,
	.freeclass-lecture-info h3,
	.freeclass-play-btn {
		transition: none;
	}
	.freeclass-lecture-info::before {
		animation: none;
	}
	.freeclass-lecture-info::after {
		animation: none;
	}
	.freeclass-lecture-item:hover .freeclass-lecture-thumb,
	.freeclass-lecture-item:hover .freeclass-lecture-thumb img,
	.freeclass-lecture-item:hover .freeclass-lecture-info h3::before,
	.freeclass-play-btn:hover {
		transform: none;
	}
}
.freeclass-play-btn.is-disabled {
	background-color: #b0b8c4;
	background-image: none;
	cursor: not-allowed;
}
.freeclass-lecture-empty {
	padding: 40px 22px;
	text-align: center;
	color: #777;
}
.freeclass-video-modal {
	display: none;
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.65);
	z-index: 10000;
	align-items: center;
	justify-content: center;
	padding: 20px;
	box-sizing: border-box;
}
.freeclass-video-modal.active {
	display: flex;
}
.freeclass-video-modal-box {
	width: 100%;
	max-width: 900px;
	background: #000;
	border-radius: 12px;
	overflow: hidden;
}
.freeclass-video-modal-header {
	background: #fff;
	padding: 14px 18px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.freeclass-video-modal-header strong {
	color: #222;
	font-size: 16px;
}
.freeclass-video-modal-close {
	border: none;
	background: none;
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
	color: #333;
	padding: 0 4px;
}
.freeclass-video-modal-body {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	background: #000;
}
.freeclass-video-modal-body iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
@media (max-width: 768px) {
	.freeclass-lecture-section-title {
		margin: 24px 0 16px;
		font-size: 24px;
	}
	.freeclass-lecture-item {
		flex-wrap: wrap;
		gap: 10px;
		padding: 12px 20px;
	}
	.freeclass-lecture-thumb {
		width: 96px;
		height: 54px;
		margin-right: 10px;
	}
	.freeclass-lecture-info {
		flex: 1 1 calc(100% - 106px);
	}
	.freeclass-play-btn {
		width: 100%;
	}
}
