@charset "UTF-8";


.main-contents-wrap{
	position: relative;
	width:var( --width-content);
	margin: var(--width-margin);
}

/* 처음 상태 */
.layout-header {
	position: relative;
	width: 100%;
	z-index: 1000;
	background-color: #fff;
}

/* 스크롤이 움직여서 고정될 때 (내릴 때, 올릴 때 모두 유지) */
.layout-header.is-sticky {
	position: fixed;
	top: 0;
	left: 0;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
	animation: fadeInDown 0.3s ease; /* 고정될 때 부드럽게 나타나는 효과 */
}

@keyframes fadeInDown {
	from { transform: translateY(-100%); }
	to { transform: translateY(0); }
}

.layout-contents{

}
.layout-contents.type-main + .bottombanner-wrap{
    margin-top: 3rem;
}
.layout-bgin-wrap{
        background-color: #edf1fb !important;
}
/* 아래로 스크롤 시 적용될 클래스 */
.header-up {
	transform: translateY(-100%); /* 메뉴 높이만큼 위로 숨김 */
  }

.header-top{
	text-align: center;
	
}
.header-top .main-contents-wrap{
	position: relative;
	padding:20px 0;
}
.header-top-left{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.header-top-left .customer-call{
	width: 25px;
	height: 25px;
	border: 0;
}
.header-top-left .customer-call:before {
	content: '';
	width: 22px;
	height: 22px;
	
}
.header-top-left .customer-num{
	font-size: 24px;
}
.header-top-left .customer-num:before{
	content:'교육및상담문의';
	display: block;
	font-size: 16px;
	text-align: left;
}
.header-top-right{
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
.header-bottom{
	position: relative;

	background: #181c5d;
	border-bottom: 1px solid #ccc;
	border-top: 1px solid #ccc;
}
.logo{
	display: inline-block;
	line-height: 1;
}
.logo a{
  color: #10308b;
  display: block;
}
.logo img{
	height: 6.3vh;
}
.gnb-wrap{
	width: calc(100% - 40px);
	margin: 0 auto;
}

.gnb{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: 15px;
}

.gnb a{
	color: #777;
	font-weight: 400;
}
.gnb a:hover{
	color: var(--point-color);
	font-weight: 400;
}
.gnb >li{
	display: inline-block;
	position: relative;
	height: 40px;
}
.gnb > li >a{
	font-size: 1.8rem;
	height: 50px;
	
	color: #fff;
	font-weight: 500;
	letter-spacing: -0.7pt;
	line-height: 1;
	transition: all 0.3s;
}
.gnb > li >a:hover{
	color: var(--point-color-hover);
	font-weight: 600;
}
.depth-2{
	display: none;
	position: absolute;
	top: 100%;
	left: -24px;
	background: #fff;
	padding: 25px 0;
	font-size: 15px;
	border: 1px solid #ddd;
	line-height: 1.6;
	width: 200px;
}
.depth-2:before{
	content: '';
	display: inline-block;
	width: 15px;
	height: 15px;
	background: #fff;
	border-top: 1px solid #ddd;
	border-right: 1px solid #ddd;
	position: absolute;
	left: 45px;
	top:-8px;
	transform: rotate(-45deg);
}
.depth-2 li{
	position: relative;
	margin-bottom: 8px;
}
.depth-2 li.has-sub:hover:after{
	content: "\f285";
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	display: inline-block;
	font-family: bootstrap-icons !important;
	font-style: normal;
	font-weight: 600 !important;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	vertical-align: -.125em;
	-webkit-font-smoothing: antialiased;
	color: var(--point-color);

}
.depth-2 li a{
	display: block;
	padding:0 25px;
}
.depth-3{
	display: none;
	position: absolute;
	top: 0;
	left: 100%; /* 오른쪽으로 배치 */
	
	background: #fff;
	padding: 25px 0;
	width: 200px;
	border: 1px solid #ddd;
  }
  .depth-3 a{
	display: block;
  }

.btn-mypage{
	position: absolute;
	right:0;
	top: 50%;
	transform: translateY(-50%);
	width: 150px;
	display: block;
   
	height: 45px;
	border-radius: 50px;
	line-height: 45px;
	color: #fff;
	font-size: 15px;
	font-weight: 400;

	background: #467fd7 url(/theme/6/img/main/mypage_w.png);
	background-repeat: no-repeat;
	background-position: center left 30px;
}
.btn-mypage:before{
	content: '';
	display: inline-block;
	width: 17px;
	height: 15px;
	margin-right: 4px;
	background: url(/images/mypage_w.png) no-repeat;
}

.btn-header-link{
	font-size: 1.5rem;
	line-height: 1.6;
	height: 24px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	vertical-align: top;
	color: #777;
	padding: 0 20px;

}
.btn-header-link:last-child{
	border-right: 0;
}
.btn-header-link.login:before{
	content: '';
	display: inline-block;
	background: url('/images/m_login.png') no-repeat;
	width:15px;
	height: 16px;
	background-size:cover;
	margin-right: 8px;
	vertical-align: middle;
}
.btn-header-link.join:before{
	content: '';
	display: inline-block;
	background: url('/images/m_join.png') no-repeat;
	width:15px;
	height: 16px;
	background-size:cover;
	margin-right: 8px;
	vertical-align: middle;
}
.btn-header-link.search:before{
	content: '';
	display: inline-block;
	background: url('/images/icon_search.png') no-repeat;
	width:15px;
	height: 16px;
	background-size:cover;
	vertical-align: middle;
}
/* main */
.main-visual-wrap{
	position: relative;
	display: flex;
	/* flex: 1 1 1 auto; */
	gap: 20px;
	/* padding: 30px 10px 50px; */
	background: #dff4f8 ;
	text-align: center;
	border-bottom: 1px solid #ccc;

}

.mainslider{
	display: flex;
	padding: 0px;
	justify-content: center;
	height: 49rem;
	gap: 20px;
	z-index: 5;
	background: url('/images/bg_mainvisual.png') bottom center no-repeat;
	background-size: 38%;
}
.mainslider-left,
.mainslider-right{
	position: relative;
	padding-top: 6.6rem;
	color: #222;
	letter-spacing: -0.08em;
	flex: 1;
	font-weight: 300;
	 font-size: 3.2rem;
}

.mainslider-left{
	text-align: left;
}

.mainslider-left-text,
.mainslider-right-text{
	margin-bottom: 0.8rem;
}
.mainslider-text01{
	font-weight: 400;
}
.mainslider-text02{
	font-size: 45px;
	font-weight: 600;
	letter-spacing: -0.08em;
}
.mainslider-right{
	text-align: right;
}

.mainslider01{
	display: inline-flex;
}
.btn-mainslider{
	background: #67ace0;
	color: #fff;
	border-radius: 20px;
	padding: 0 15px;
	height: 32px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	justify-content: center;
	font-size: 1.6rem;
	letter-spacing: -0.03em;
	line-height: 0;
}
.btn-mainslider>img{
	width: 22px;
}
.mainslider-right .btn-mainslider{
	background: #99c555;
}
.mainslider-teacher{
	position: absolute;
	right: 11rem;
	bottom: 0;
	text-align: right;
	line-height: 0;
	width: 42%;
}
.mainslider-teacher>img{
	width: 100%;
}
.ms-t-text{
	position: absolute;
	right: 39rem;
	bottom: 2rem;
	display: inline-block;
	font-size: 1.7rem;
	font-weight: 500;
	line-height: 1.5;
	text-align: right;
	letter-spacing: -0.05em;
}
.main-visual-wrap a img{
	width: 100%;
}
.mainslider-cont{
	display: flex;
	align-items: center;
	justify-content: end;
	gap: 2.2rem;
	margin-top: 8rem;
}
.mainslider-cont .circle-box{
	position: relative;
	background: #171c61;
	color: #fff;
	font-size: 1.7rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 15rem;
	height: 15rem;
	border-radius: 50%;
	text-align: center;
	aspect-ratio: 1/1;

}
.mainslider-cont .circle-box:before{
	content:'';
	display: inline-block;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	position: absolute;
	top: 1.3rem;
	left:1rem;
	background:url('/images/icon_onecheck.png') no-repeat;
	background-size: contain;
	
}
.main-cont-wrap{
	margin-top: 4rem;
	margin-bottom: 1rem;
	padding: 0 1rem;
}
.main-cont-wrap.type-teacher{
    margin-top: 6rem;
}
.main-title{
	text-align: center;
	padding: 2rem 0 1.5rem;
	font-size: 3rem;
	color: #000;
}
.layout-bgin-wrap .main-title{
    padding-top: 3rem;
}
.main-title-bottom{
    margin-bottom: 3rem;
    text-align: center;
    font-size: 2rem;
    color: #111;
}
.teachers-list{
	display: flex;
	justify-content: space-between;
	gap: 20px;
	flex: 1 1 1 auto;
   
}
.teacher-box{
	text-align: center;
  
}
.teacher-box a{
	position: relative;
	display: block;
}
.teacher-box img{
	width: 100%;
}
.btn-teacher{
	position: absolute;
	bottom: 10px;
   left: 50%;
   transform: translateX(-50%);
   width:65%;

	display: inline-block;
	border-radius:20px;
	background: #4981d4;
	color: #fff;
	padding: 10px 0 15px;
}
.btn-teacher .t-area{
	font-size: 20px;
	display: block;
}
.main-cont-wrap .t-text{
	display: inline-block;
   text-decoration: underline;
   text-underline-offset: 5px; /* 밑줄과 텍스트 사이 간격을 5px로 설정 */
	padding-bottom: 4px;
	font-size: 1.4rem;
}


/* 새로운 티쳐스 배너 */
.teachers-list{
    display: flex;
    flex-wrap: wrap;
    justify-content: start;
    gap: 70px 30px;
    margin: 60px 0 110px;
}
.tchers-box{
    display: flex;
    width: 23%;
    
    gap: 15px;
    align-items: center;
}
.tchers-img{
    width: 135px;
    aspect-ratio: 1/1;
    overflow: hidden;
    border: 2px solid #fff;
    border-radius: 50%;
    
}
.tchers-position{
    color: #878787;
}
.tchers-img.type-01{
  outline: 2px solid #df99a7;
}
.tchers-img.type-02{
  outline: 2px solid #4fa9bd;
}
.tchers-img.type-03{
  outline: 2px solid #788ef7;
}
.tchers-img.type-04{
  outline: 2px solid #66bd5e;
}
.tchers-img img{
    width: 100%;
}
.thcers-badge{
    display: inline-flex;
    background: #000;
    color: #fff;
    font-size: 14px;
    padding: 4px;
    border-radius: 3px;
    
}
.tchers-name{
    font-size: 18px;
    font-weight: 500;
}
.tchers-cont{
    color: #1d1d1d;
}
.tchers-cont li:first-child{
    margin-bottom: 15px;
}
.tchers-cont li:nth-child(2){
    margin-bottom: 6px;
}


/* 메인 포트폴리오 */
.portfolio-list{
	display: flex;
	flex-wrap: wrap;
	gap: 30px 40px;
	flex-grow: 1;
}
.portfolio-box{
	position: relative;
	width: calc(33% - 28px);
	flex-grow: 1;
    flex-wrap: wrap;
     display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.portfolio-box.type-66{
	 width: 66%;
}
.portfolio-box .t-text{
	/* position: absolute;
	right: 0px;
	top: 0px; 
    bottom: 0;
    */
	width: 30%;
	
	display: block;
	/* background: #fff;
	border-radius: 0 0 20px 20px; */
	text-align: right;
	/* line-height: 49px; 
	padding-right: 20px;
    padding-bottom: 15px;
    */
}
.portfolio-box.type-movie{
   
}
.portfolio-title-wrap{
	position: relative;
	display: flex;
    align-items: end;
	justify-content: space-between;
    height: 36px;
}
.portfolio-title{
	position: relative;
	
	width: 70%;
	font-weight: 600;
	font-size: 2.2rem;
	
}

.portfolio-cont{
	/* background: #edf1fb; */
	border-radius:0 2rem 2rem 2rem;

	padding:2rem 0;


}
.portfolio-cont img{
	width: 100%;
	height:228px;
}
.portfolio-img{
    	width: 100%;
	height:228px;
    display: block;
    border-radius: 1.2rem;
    overflow: hidden;
}
.portfolio-img img{
    object-fit: cover;
}

.port-cont01{
    display: flex;
	/* background: #fff url('/images/active_img.png') left top no-repeat; */
    /* background: #fff; */
	background-size: contain;
	border-radius: 1rem;
	/* padding: 1rem 1rem; */
    gap: 40px;
	
	
}
.main-movie-wrap{
    position: relative;
    height: 228px;
    overflow: hidden;
    border-radius: 1.2rem;
}

.main-movie-wrap:before{
    content:'';
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background: #000;
    opacity: 0.2;
      transition: opacity 0.3s ease; /* 부드러운 전환 효과 */
}
.main-movie-wrap .playbtn{
    display: inline-block;
        position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 50px;
    
  
}
.main-movie-wrap .playbtn img{
    width: 50px;
}
.main-movie-wrap:before:hover{
     content:'';
    opacity: 0;
}
.main-movie-wrap img{
    height: 100%;
}
.port-cont01 li{
	border-bottom: 1px solid #ecf2fb;
	font-size: 1.8rem;
	color: #4981d4;
	padding-bottom: 1rem;
	margin-bottom: 1rem;
	font-weight: 600;
}
.port-cont01 li:before{
	content: "\f26a";
	display: inline-block;
	font-family: bootstrap-icons !important;
	font-style: normal;
	font-weight: 400 !important;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	vertical-align: -.125em;
	-webkit-font-smoothing: antialiased;
	color: #4981d4;
	margin-right: 10px;
	font-size: 22px;
}


/* 회원전용게시판 링크 */

.main-link-box{
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex: 1 1 1 auto;
	gap: 2rem;
}

.main-link-box a{
	display: flex;
	flex: 1;
	align-items: center;
	justify-content: center;
	gap: 2rem;
	border: 1px solid #467fd7;
	border-radius: 2rem;
   
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.06);
	transition: all 0.3s ease;
	text-decoration: none;
	min-height: 12rem;  
	
}
.main-link-box a:nth-child(1) .link-box-img{
	background: url('/images/icon_ap.png') no-repeat;
	background-size: contain;
}
.main-link-box a:nth-child(2) .link-box-img{
	background: url('/images/icon_rp.png') no-repeat;
	 background-size: contain;
}
.main-link-box a:nth-child(3) .link-box-img{
	background: url('/images/icon_exam.png') no-repeat;
	 background-size: contain;
}
.main-link-box a:nth-child(4) .link-box-img{
	background: url('/images/icon_certi.png') no-repeat;
	 background-size: contain;
}
.main-link-box a .link-box-img{
	display: inline-block;
	width: 6.4rem;
	height: 6.4rem;
}
.link-box-img{
	display: block;
}

.link-box-title{
	display: block;
	font-size: 2rem;
	font-weight: 600;
	margin-bottom: 5px;
	color: #212529;

}


/* 메인 하단 게시물  */
.main-cont-wrap.type-boardlist{
	display: flex;
	gap: 75px;
	padding: 20px 0 50px;
}

.main-boardlist{
	display: block;
	position: relative;
	width: 30%;
}
.main-boardlist h1{
	font-size: 2.1rem;
	font-weight: 500;
	color: #222;
	margin-bottom: 2rem;
	letter-spacing: -0.7pt;
    border-bottom: 1px solid #ccc;
    padding-bottom: 1.5rem;
}
.main-boardlist ul li{
	display: flex;
	justify-content: space-between;
	margin-bottom: 2rem;
}
.main-boardlist ul li a{
	display: inline-block;
	width: 100%;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	color: #666;
	font-weight: 400;
}
.main-boardlist ul li a:hover{
    color: #0d47b5;
}
.main-boardlist .btn-more{
    text-decoration: none;
}
.board-date{
	display: inline-block;
	width: 85px;
	text-align: right;
	font-size: 15px;
	color: #aaa;
	font-weight: 400;
}
.btn-more{
	position: absolute;
	right: 0;
	top: 10px;
	font-size: 15px;
	font-weight: 400;
	color: #222;
	display: inline-block;
	text-decoration: underline;
	text-underline-offset: 3px; 
}
.del-line{
    display: flex;
    align-items: center;
    justify-content: space-between;
	margin-top: 10px;
}
.del-line label{
	display: flex;
	align-items: center;
	line-height: 1;
}
.del-line input[type=checkbox]{
	margin-right: 8px;
	
}
/* 고객센터 */
.main-customer h1{
	font-size: 1.176rem;
	font-weight: 500;
	color: #222;
	margin-bottom: 20px;
	letter-spacing: -0.7pt;
}
.customer-cont{
	display: flex;
	align-items: start;
	justify-content: space-between;
	gap: 10px;
}
.customer-text{
	margin-bottom: 20px;
}
.customer-call{
	width: 50px;
	height: 50px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #ddd;
	border-radius: 12px;
	box-sizing: border-box;
	align-items: center;
}
.customer-call:before{
	content:'';
	display: inline-block;
	background: url('/images/callbtn.svg') no-repeat;
	background-size: cover;
	width: 30px;
	height: 30px;
	filter: invert(10%) sepia(37%) saturate(5484%) hue-rotate(224deg) brightness(91%) contrast(92%) !important;
}

.customer-num{
	color: var(--point-color);
	font-size: 2rem;
	margin: 0 0 10px;
	font-weight: 600;
	font-family: 'GMarketSans';
}
.customer-cont ul li{
	position: relative;
	font-size: 15px;
	letter-spacing: -0.05em;
	font-weight: 400;
	padding-left: 70px;
	line-height: 1.2;
	margin: 0 0 6px;
	
}
.customer-title{
	position: absolute;
	left: 0;
	top: 0;
	color: #222;
}

/* 빠른상담 */
.main-counsel{
	width: 30%;
}
.main-counsel h1{
	font-size: 2.1rem;
	font-weight: 500;
	color: #fff;
	margin-bottom: 15px;
	letter-spacing: -0.7pt;
	/* padding-left: 20px; */
    display: flex;
    align-items: center;
    gap: 1rem;
}
.main-counsel input::placeholder,
.main-counsel textarea::placeholder{
	color: #9b99a7;
	font-size: 14px;
}
.main-counsel input[type=text]{
	width: 100%;
	background: #f9f7ff;
	border-radius: 8px;
	border: 0;
	height: 32px;
	padding: 10px;
	color: #333;
	font-weight: normal;
	font-size: 14px;
}
.main-counsel textarea{
	width: 100%;
	 background: #f9f7ff;;
	border-radius: 8px;
	border: 0;
	padding: 10px;
	font-size: 14px;
}
.counsel-wrap{
	/* margin-left:30px; */
	position: relative;
	background: #4864d1;
	padding: 20px 24px;
	border-radius: 18px;
}
.counsel-wrap h1 img{
    width: 35px;
}
.counsel-icon-box{
	position: absolute;
	left: -50px;
	top: -20px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 80px;
	
	background: #7DC6DC;
	background: linear-gradient(119deg,rgba(125, 198, 220, 1) 0%, rgba(91, 158, 237, 1) 100%);
	border-radius: 50%;
}
.counsel-icon-box img{
	width: 60%;
}
.counsel-wrap ul li{
	margin-bottom: 8px;
}
.btn-counsel-box{
	margin-top: 16px;
}
.btn-counsel{
	background: #262a39;
	color: #fff;
	width: 100%;
	height: 40px;
	border-radius: 8px;
    font-size: 1.5rem;
}

.counsel-agree{
	color: #fff;
	font-size: 13px;
}

/* footer */
.bottombanner-list{
    display: flex;
    gap: 2rem;

}

.bottombanner-list li{
    width: 20%;
}
.bottombanner-list li a{
    display: block;
    border: 1px solid #ccc;
    padding: 10px;
    text-align: center;
}
.bottombanner-list li a img{
    width: 92%;
}
.layout-footer{
	background: #3c3e40;
	padding: 20px 0 90px;
	margin-top: 20px;
}


.footer-top{
    position: relative;
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	margin: 0 0 20px;
	padding-bottom: 20px;
}
.footer-link{
	display:inline-block;
}
.footer-link li{
	display: inline-block;

}
.footer-link li a{
	padding: 0 20px;
	font-size: 1.5rem;
	color: #939599;
}

.footer-rightbanner{
    position: absolute;
    right: 0;
    top: 0;
    transform: translateY(-50%);
    display: inline-block;
    background: #fff;
    padding: 5px;
    border: 1px solid #0e0e0e;
}
.footer-rightbanner img{
    width: 110px;
}
.footer-bottom{
	display: flex;
	color: #777;
	line-height: 1.8em;
	font-size: 1.7rem;
	justify-content: space-between;
	 align-items: start;
}
.footer-company{
	color: #fff;
	margin-bottom: 1rem;
}
.footer-copyrights li{
	display: inline-block;
}
.footer-point {
	color: #fff !important;
}
.copyrights{
	display: block;
	margin-top: 3rem;
}

.btn-down{
	display: inline-flex;
   
	flex-direction: column;
	justify-content: end;
    color: #03a94d;
    text-align: center;
    font-size: 1.3rem;
}

.btn-naverbaro {
	display: inline-flex;
	align-items: center;
    justify-content: center;
	color: #03a94d;
	font-size: 1.5rem;
	gap: 1rem;
	border: 1px solid #03a94d;
	border-radius: 0.5rem;
	margin-bottom: 1.5rem;
	padding: 0.8rem;
	min-width: 160px;
    line-height: 1.5;
}
.btn-naverbaro img {
	width: 20px;
}

/* quick */
.quick-wrap{
	position: fixed;
	right: 30px;
	top: 200px;
	z-index: 1000;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.btn-mypage2{
	color: #ffffff;
	font-size: 14px;
	background: #467fd7;
	width: 90px;
	height: 90px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	border-radius: 50%;
	font-weight: 400;
}
.btn-mypage2 .quick-icon{
	width: 36px;
	height: 36px;
	margin-bottom: 6px;
}
.btn-mypage2 img{
	width: 36px;
}

.btn-schedule{
	color: #ffffff;
	margin-top: 10px;
	background: #e97025;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	width: 90px;
	height: 90px;
	border-radius:50%;
	 font-size: 14px;
	 font-weight: 400;
}
.btn-schedule .quick-icon{
	width: 40px;
	height: 40px;
	margin-bottom: 6px;

}
.btn-schedule img{
	width: 40px;
}


.btn-scrolltop{
	position: fixed;
	right: 50px;
	bottom: 50px;
	z-index: 1000;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.btn-scrollup{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 70px;
	height: 70px;
	text-align: center;
	border-radius: 100%;
	background:#467fd7;
	margin: 25px auto 0;
	box-shadow: 0 5px 15px rgb(0 0 0 / 16%);
}
.btn-scrollup:before{
	content: '';
	display: inline-block;
	background:  url('/images/icon_up.png') no-repeat;
	width: 16px;
	height: 20px;
}

/* subvisual */
.subvisual-wrap{
	
	color: #fff;
	font-weight: 600;
}
.subvisual-wrap.sub01{
	background: url('/images/img_subvisual01.jpg') no-repeat;
}
.subvisual-wrap.sub02{
	background: url('/images/img_subvisual02.png') no-repeat;
}
.subvisual-wrap.sub03{
	background: url('/images/img_subvisual03.png') no-repeat;
}
.subvisual-wrap.sub04{
	background: url('/images/img_subvisual04.png') no-repeat;
}
.subvisual-wrap.sub07{
	background: url('/images/img_subvisual07.jpg') no-repeat;
}
.subvisual-wrap.type-nobg{
	background-color: #f1f4f9;
}
.subvisual-wrap .main-contents-wrap{
	display: flex;
	align-items: center;
	justify-content: center;
	height: 200px;
	font-size: 2.941rem;
	position: relative;
}
.subvisual-wrap.type-nobg .main-contents-wrap{

	height: 58px;
}
.linemap{
	position: absolute;
	bottom: 20px;
	right: 10px;
	font-size: 1.4rem;
	font-weight: 300;
}
.linemap >ul{
	display: flex;
	align-items: center;
}
.linemap > ul li{
	position: relative;
	padding: 0 20px;
	display: inline-flex;
	align-items: center;
	line-height: 1;
}
.linemap>ul> li:after{
	content: '';
	display: inline-block;
	width:1px;
	height: 16px;
	background: #fff;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	opacity: 0.5;
}
.linemap >ul li:last-child{
	padding-right: 0;
}
.linemap >ul li:last-child:after{
	display: none;
}
.linemap .home{
	display: block;
}
.linemap .home:before{
	content: '';
	display: inline-block;
	vertical-align: middle;
	width:24px;
	height: 21px;
	background: url('/images/icon_home.png') no-repeat;
	
}

.subvisual-wrap.type-nobg .linemap{
	color: #777;
}
.subvisual-wrap.type-nobg .linemap .home:before{
	content: '';
	display: inline-block;
	vertical-align: middle;
	width:24px;
	height: 21px;
	background: url('/images/icon_home_g.png') no-repeat;
	
}
.subvisual-wrap.type-nobg .linemap>ul> li:after {
   
	background: #ddd;
	opacity: 1;
  
}

.btn-openlist{
	border: 1px solid rgba(255, 255, 255, 0.6);
	width: 25px;
	height: 25px;
	border-radius: 50%;
	margin-left: 10px;
	vertical-align: middle;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.btn-openlist:before{
	content: "\f282";
	display: inline-block;
	font-family: bootstrap-icons !important;
	font-style: normal;
	font-weight: 600 !important;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	vertical-align: -.125em;
	-webkit-font-smoothing: antialiased;
	color: #fff;
	height: 10px;
}
.linemap-dist{
	display: none;
	position: absolute;
	top:40px;
	right: 0;
	border: 1px solid #ddd;
	background: #fff;
	color: #000;
	padding: 20px;
	border-radius: 10px;
	color: #777;
	width: 100%;
	line-height: 1.2;
	z-index: 100;
	letter-spacing: -0.5pt;
	font-size: 15px;
	box-shadow: 8px 8px 15px rgb(0 0 0 / 8%);
  
}

.linemap-dist li{
	line-height: 1.7;
}

/* subpage */
.subpage-cont{
	margin-top: 60px;
	  word-break: keep-all; /* 한글 단어 단위 줄바꿈 */
		word-wrap: break-word; /* 긴 단어의 경우 글자 단위 줄바꿈 허용 */
}
.info-wrap{
	display: flex;
	align-items: start;
	justify-content: space-between;
	padding-top: 6rem;
}
.info-title{
	font-size: 3rem;
	font-weight: 500;
	letter-spacing: -0.02em;
	color: var(--point-color);
}
.info-cont{
	margin-top: 50px;
	display: block;
	width: 100%;
	font-size: 1.9rem;
    letter-spacing: -0.03em;
}
.info-right{
	width:40%;
    text-align: center;
}
.info-right img{
	width: 100%;
}
.info2-text{
    color: #7c7c7c;
    font-size: 1.6rem;
    margin-top: 1rem;
}
.info2-text2{
    margin-top: 1rem;
    color: #000;
    font-size: 2rem;
    font-weight: 600;
}
.info02-title{
	position: relative;
	padding-top: 100px;
	font-weight: 600;
	font-size: 36px;
	padding-bottom: 35px;
	line-height: 76px;
	letter-spacing: -1%;
	color: #000;
	width: 100%;
	text-align: center;
}
.info02-title b{
	color: var(--point-color);
	font-weight: bold;
}
.info02-title:after{
	content: '';
	display: inline-block;
	width: 40px;
	height: 4px;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
	background: var(--point-color);
}
.info02-cont{
	position: relative;
	font-family: 'ChosunIlboMyungjo', serif;
	font-size: 2.4rem;
	line-height: 1.6;
	color: #000;
	text-align: center;
	width: 100%;
	padding:50px 0 50px;   
	margin-top: 40px;
	margin-bottom: 100px;
}
.info02-cont:before{
	content: '';
	display: inline-block;
	background: url('/images/info_left.png') no-repeat;
	position: absolute;
	left: 0;
	top: 25px;
	width:99px;
	height: 184px;
}
.info02-cont:after{
	content: '';
	display: inline-block;
	background: url('/images/info_right.png') no-repeat;
	position: absolute;
	right: 0;
	top: 25px;
	width:99px;
	height: 184px;
	transform: scaleX(-1);
}

/* 자격과정 안내 */
.cont-util{
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 20px;
	border-bottom: 1px solid #000;
	margin: 45px 0 0px 0;
}

.cont-util .search{

}
.util-left{
	display: inline-flex;
	align-items: center;
	gap: 20px;
}
.btn-gallerytype,
.btn-listtype{
	opacity: 0.4;
}

.btn-gallerytype span,
.btn-listtype span{
	display: none;
}

.btn-gallerytype.active,
.btn-listtype.active{
	opacity: 1;
}
.btn-gallerytype:before{
	content: '';
	display: inline-block;
	background:url('/images/sel_gallery.png') no-repeat;
	width:19px;
	height: 19px;
}
.btn-listtype:before{
	content: '';
	display: inline-block;
	background:url('/images/sel_list.png') no-repeat;
	width:24px;
	height: 19px;
}
.search-wrap{
	position: relative;
	display: inline-block;
}
.search-wrap input[type=text]{
	border: 1px solid #ddd;
	height: 48px;
	font-size: 15px;
	width: 285px;
	color: #777;
	border-radius: 5px;
	padding: 5px 45px 5px 15px;
}


.search-wrap .btn-search{
	position: absolute;
	right: 0;
	height: 100%;
	width: 40px;
	text-align: center;
}
.btn-search:before{
	content: '';
	display: inline-block;
	background:url('/images/icon_search.png') no-repeat;
	width:24px;
	height: 19px;
	
}



/* 자격과정 리스트 */
.license-box{
	display: flex;
	align-items: center;
	justify-content: start;
	padding: 20px 0;
	gap: 30px;
	border-bottom: 1px solid #ddd;
}
.license-name{
    color: #333;
}
.thumb-img{
	width: 285px;
	height: 200px;
	border-radius: 20px;
	overflow:hidden;
}
.thumb-img a{
	display: block;
	height: 100%;
	width: 100%;
	padding: 0;
	margin: 0;
}
.thumb-img a img{
	width: 100%;
	height: 100%;
	object-fit: cover; /* 또는 contain, fill */
}
.license-cont{
	width: calc(100% - 475px );
   
}


.license-cont-text{
	font-size: 15px;
	font-weight: 400;
	letter-spacing: -0.6pt;
	line-height: 1.7;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;     /* Flex박스와 유사한 방식 */
	-webkit-line-clamp: 2;    /* 보여줄 줄 수 (2줄) */
	-webkit-box-orient: vertical;
}
.license-btn button{
	width: 160px;
}

.license-detail{
	margin-top: 20px;
}
.license-detail li{
	display: inline-flex;
	align-items: center;
	gap: 20px;
}
.license-detail li{
	margin-right: 40px;
	letter-spacing: -0.03em;
}
.detail-title{
	color: #222;
   
}


.cont-bottom{
	margin: 50px 0 20px 0 ;
}

/* 자격과정 viewpage */
.license-box.type-viewtop{
	gap: 60px;
	border-bottom: 0;
}
.license-box.type-viewtop .thumb-img{
	width: 600px;
	height: 420px;
}

.license-box.type-viewtop .license-cont{
	width: 100%;
}
.license-box.license-box.type-viewtop .license-cont h1{
	margin: 0 0 0px;
	line-height: 1.2;
	font-size: 2.4rem;
	font-weight: 700;
	color: #222;
	letter-spacing: -0.7pt;
	word-break: break-word;
}
.license-box.type-viewtop .license-detail{
	margin: 25px 0 0px 0;
}
.license-box.type-viewtop .license-detail li{
	display: flex;
	width: 100%;
	margin-bottom: 17px;
	font-size: 17px;
	
}
.license-box.type-viewtop .license-detail li .detail-title{
	width: 25%;
	font-weight: 400;
	color: #222;
	letter-spacing: -0.5pt;
}

/* subgnb */
.subgnb-location-wrap{
	border: 1px solid #ddd;
	border-radius: 20px;
	text-align: center;
	background: #fff;
	margin: 70px 0 0;
	position: sticky;
}
.subgnb-location-wrap.sticky{
	position: sticky;
	top: 0;
	z-index: 1000;
}
.subgnb-location{
	 font-size: 1.2rem;
	letter-spacing: -0.5pt;
	display: block;
	line-height: 80px;
	position: relative;
}
.subgnb-location li{
	display: inline-flex;
	margin: 0 40px;
}
.title-subdepth2{
	position: relative;
	font-size: 1.8rem;
	color: #222;
	letter-spacing: -0.5pt;
	line-height: 1;
	font-weight: 500;
	margin-bottom: 25px;
	padding-left: 16px;
}
.title-subdepth2:before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	display: inline-block;
	width: 6px;
	height: 20px;
	background: var(--point-color);
}
.title-subdepth2-right{
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	font-size: 13px;
}
.subcontents{
}
.subcont-wrap{
	margin-bottom: 5.5rem;
	line-height: 1.5;
    color: #333;
}

.subgnb{
	position: relative;
   
}
.subgnb:after{
	content: '';
	display: inline-block;
	height: 2px;
	background: var(--point-color);
	width: 0;
	position: absolute;
	left: 0;
	bottom: 0;
	transition: all 0.3s ease; /* 부드러운 움직임 */
}
.subgnb.active{
	color: var(--point-color);
	font-weight: 600;
}
.subgnb.active:after{
	content: '';
	display: inline-block;
	height: 2px;
	background: var(--point-color);
	width: 100%;
	position: absolute;
	left: 0;
	bottom: 0;
}
.pagecont{
	padding-top: 55px;
}

.pagecont:last-child{
	/* margin-bottom: 100px; */
}


/* 상단 서브메뉴 탭 */
.tab-depth2all{
	margin-bottom: 60px;
}

.tab-depth2all ul{
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
.tab-depth2all.type-6 ul li{
	display: inline-flex;
	width: calc(100%/6);
}
.tab-depth2all ul li{
	display: inline-block;
	flex: 1;
	text-align: center;
}
.tab-depth2all ul li:last-child{
	border-right: 0;
}
.tab-depth2all ul li a{
	display:flex;
   justify-content: center;
	align-items: center;
	background-color: #414e7f;
	min-height: 56px;
	color: #fff;
	font-weight: 400;
	width: 100%;
	border-top: 1px solid #ddd;
	border-left: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	font-size: 1.7rem;
}
.tab-depth2all ul li:last-child a{
	border-right: 1px solid #ddd;
}
.tab-depth2all ul li a.active{
	background: #fff;
	color: #4a4a4a;
	border-color: #414e7f;
	border-bottom: 1px solid #fff;
	font-weight: 600;
}

.tab-depth2-row{
	min-height: 60px;
	position: relative;
	padding-left: 180px;
	display: flex;
	align-items: center;
	justify-content: start;
}
.tab-depth2all .depth2-title{
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	height: 100%;
	background-color: #f9f9f9;
	border-right: 1px solid #ddd;
	border-radius: 20px;
	font-size: 15px;
	font-weight: 400;
	text-align: center;
	color: #444444;
	display: flex;
	align-items: center;
	padding: 0 30px;
	font-weight: 600;
}
.tab-depth2-row + .tab-depth2-row{
	border-top: 1px solid #333;
}

.tab-depth2all.type-2{
	padding: 0 0;
}
.tab-depth2all.type-2 .tab-depth2-row{
	padding: 10px 0 10px 170px;
}
.tab-depth2all.type-sub{
	margin-top: 10px;
}
.tab-depth2all.type-sub  ul li a{
	min-height:32px;
	font-size: 15px;
}



/* 자격관리 */
.license-wrap{
	margin-top: 40px;
}
.article-title{
	font-size: 24px;
	font-weight: 500;
	border-bottom: 1px solid #bbb;
	color: #444;
	padding-bottom: 10px;
}

/* history */
.subtitle.type-big{
	text-align: center;
	font-size: 2.5rem;
	font-weight: 300;
	color: #777;
	line-height: 1.4;
	margin-bottom: 40px;
}
.subtitle.type-big strong{
	color: #2e7be7;
}





/* 탭 버튼 스타일 */

/* 비활성화된 탭 콘텐츠를 브라우저 공간 연산은 유지한 채 화면 밖으로 밀어냄 */
.tabcontent.is-hidden {
	position: absolute !important;
	width: 100% !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	border: 0 !important;
}

.tab-page {
	text-align: center;
	margin-bottom: 30px;
	display: flex;
	gap: 10px;
}

.tab-page button {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	flex:1;
	height: 52px;
	font-size: 18px;
	color: #222;
	border: 1px solid #ddd;
	border-radius: 27px;
	transition: all 0.3s ease;
}
.tab-page button.active{
	background-color: #467FD7;
	border: 1px solid #467FD7;
	color: #fff;
}

.tab-page.type-6 button{
	display: inline-flex;
	justify-content: center;
	align-items: center;
	height: 52px;
	font-size: 18px;
	border: 1px solid #ddd;
	border-radius: 27px;
	transition: all 0.3s ease;
	padding: 0 20px;
	min-width: 16%;
}

.tab-page-depth2 ul{
	display: flex;

}
.tab-page-depth2 ul li{
	flex: 1;
	background: #6b727e;
	color: #fff;
	border-top: 1px solid #90959e;
}
.tab-page-depth2 ul li a{
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 40px;
	padding: 0 10px;
	text-align: center;
}
.tab-page-depth2 ul li a.active{
	background: #fff;
	color: #000;
	border-left: 1px solid #8e8e8e;
	border-color:#8e8e8e;
}


.tab-page-depth3{
	border: 1px solid #ddd;
	padding: 10px;
   margin-bottom: 40px;

}
.tab-page-depth3 ul {
	display: flex;
	justify-content: start;
	align-items: center;
	gap: 10px;
}
.tab-page-depth3 ul li{
	display: inline-flex;
	flex: 1;

}
.tab-page-depth3 ul li a{
	width: 100%;
	text-align: center;
	font-size: 15px;
	position: relative;
	padding: 8px 10px;
	color: #303030;
	background: #f0f2f3;
	border-radius: 4px;
	font-weight: 400;
}
.tab-page-depth3 ul li a.active{
	display: inline-block;
	background: #333;
	color: #fff;
	font-weight: 600;
	
}
.tab-page-depth3 ul li a.active:after{
	content: '';
	position: absolute;
	left: 50%;
	top: 100%;
	transform: translateX(-50%);
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 9px 8px 0px 8px;
	border-color: #333 transparent transparent transparent;
}

.tab-page-depth4{
	padding-top: 10px;
}
.tab-page-depth4 ul{
	display: flex;
	gap: 4px;
	flex-wrap: wrap;
}
.tab-page-depth4 ul li{
	display: inline-flex;
   width:calc( ( 100% - 12px) / 4 );
}
.tab-page-depth4 ul li button{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	background: #e5eaf2;
	font-size: 14px;
	color: #555;
	padding: 10px;
	width: 100%;
	border-radius:6px 6px 0 0;
	position: relative;
	font-weight: 600;
}

.tab-page-depth4 ul li button.active{
	background: #936bb1;
	color: #fff;
	font-weight: 600;

}
.tab-page-depth4 ul li button.active:before{
	content: "\f270";
	display: inline-block;
	font-family: bootstrap-icons !important;
	font-style: normal;
	font-weight: 600 !important;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	vertical-align: -.125em;
	-webkit-font-smoothing: antialiased;
	font-size: 20px;
}
.tab-page-depth4 + .tbl-wrap{
	margin-top:10px;
}

.tab-page + .board-wrap{
	margin-top: 4rem;
}
/* profile */
.profile-wrap{
	position: relative;
	padding-top: 100px;
}
.profile-wrap:before{
	content: '';
	display: inline-block;
	position: absolute;
	left: 50%;
	top: 0;
	margin-left: -5px;
	bottom: 20px;
	width: 8px;
	background-color: #f6f6f6;

}
.profile-box dl{
	display: block;
	width: 100%;
}
.profile-box.type-left{
	padding-right: 50%;
}
.profile-box.type-left dl{
	
	text-align: right;
	padding-right: 94px;
	padding-left: 20px;

}
.profile-box.type-right {
	padding-left: 50%;
}
.profile-box.type-right dl{

	text-align: left;
	padding-left: 94px;
	padding-right: 20px;

}
.profile-box .icon-check{
	width: 26px;
	vertical-align: middle;
	margin-bottom: 7px;
	margin-right: 8px;
}
.profile-box dt{
	margin-bottom: 20px;
	font-size: 30px;
	line-height: 1.3;
	color: #555;
	font-weight: bold;
}
.profile-box dd{
	display: block;
	font-size: 1.8rem;
	color: #555;
	line-height: 1.6;
}
.profile-box dd strong{
	font-weight: 700;
	padding-bottom: 12px;
	font-size: 20px;
	line-height: 1.6;
	color: #1a1a1a;
	
}
.profile-box dd img{
	width: 100%;
}

.profile-box dd .img-box {
	display: block;
	margin-top: 39px;
}

/* 연혁 */
.timeline-nav{
	display: flex;
	justify-content: space-between;
	margin-bottom: 40px;
	position: relative;
	flex-wrap: wrap;
}
.timeline-nav::before {
	content: '';
	position: absolute;
	top: 15px;
	left: 0;
	right: 0;
	width: 100%;
	height: 1px;
	background: #467FD7;
}
.timeline-nav button{
	background: none;
	border: none;
	cursor: pointer;
	font-size: 20px;
	position: relative;
	padding-top: 40px;
	margin-bottom: 10px;
	width: 150px;
	height: 80px;
}

.timeline-nav button::before {
	content: '';
	position: absolute;
	top: 10px;
	left: 50%;
	transform: translateX(-50%);
	width: 10px;
	height: 10px;
	background: #467FD7;
	border-radius: 50%;
}

.timeline-nav button.active::after {
	display: block;
	content: "";
	width: 29px;
	height: 29px;
	background: #fff;
	border: 11px solid #467FD7;
	position: absolute;
	top: 0;
	left: 50%;
	border-radius: 50%;
	transform: translateX(-50%) scale(1);
	transition: 0.5s;
	box-sizing: border-box;
}

.timeline-content{
	display: flex;

}
.timeline-content-left{
	width: 40%;
	padding-top: 50px;
}
.timeline-content-right{
	width: 60%;
	position: relative;
}
.timeline-content-right:before{
	content: '';
	width: 1px;
	background: #467FD7;
	position: absolute;
	top: 70px;
	bottom: 0;
	left: 140px;
	display: inline-block;

}
.timeline-title{
	font-size: 4em;
	color: #467FD7;
	font-weight: bold;
	margin-bottom: 20px;
	letter-spacing: -2px;
}
.timeline-row{
	display: flex;
	padding-top: 70px;
	font-size: 18px;
	position: relative;

}
.timeline-col-left{
	display: inline-flex;
	justify-content: flex-end;
	padding-right: 20px;
	padding-top: 5px;
	font-weight: bold;
	flex-shrink: 0;
	width: 140px;
	color: #467FD7;
	line-height: 1.6;
	position: relative;
}
.timeline-col-left:before{
	content: '';
	position: absolute;
	top: 12px;
	right: -4px;
	width: 10px;
	height: 10px;
	background: #467FD7;
	border-radius: 50%;
}
.timeline-col-right{
	margin-left: 40px;
}


/* list  */
.list.type-dash li:before{
	content: "-";
	display: inline-block;
	margin-left: -1em;
	color: #000;
}
	

/* 조직도 */
.jojic-wrap{

}


/*협회장*/
.sub_organization h4 {
	position: relative;
	margin: 0 auto;
	width: 200px;
	height: 200px;
	border: 20px solid #E1E9FD;
	background: #fff;
	font-size: 28px;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	font-weight: 700;
	border-radius: 400px;
	color: #222;
	line-height: 1.3;
}

.sub_organization h4 span {
	font-size: 18px;
	color: #555;
	font-weight: 400;
}

/*총괄이사*/
.sub_organization .dep {
	position: relative;
	padding: 50px 0;
	display: flex;
	justify-content: center;
	align-items: center;
}
.sub_organization .dep dl > * {
	padding: 22px;
	 text-align: center;
	font-size: 24px;
 }
.sub_organization .dep dl dd {
	color: #FFF;
	 background:#1F2D5E;
	 border-radius: 20px;
}
.sub_organization .dep dl {
	position: relative;
	 width: 20%;
}
.sub_organization .dep dl:before{
	content:'';
	position:absolute;
	top:-111px;
	left:50%;
	width:1px;
	height:550%;
	background:#eee;
	z-index:-1}/*세로*/

/*자격관리부 대외협력팀*/
.sub_organization .dep1 {
	position: relative;
	 padding: 50px 0 80px 0;
	display: flex;
	 justify-content: center;
	 align-items: flex-start;
}
.sub_organization .dep1:before {
	content: '';
	 position: absolute;
	 top: 10px;
	 left: 50%;
	  transform: translate(-50%, -50%);
	  width: 21.7%;
	 height: 1px;
	  background: #ddd;
}/*가로*/
.sub_organization .dep1 dl > * {
	padding: 22px;
	 text-align: center;
	 font-size: 22px;
 }
.sub_organization .dep1 dl dd {
	border: 2px solid #467FD7;
	 color: #000;
	 background:#fff;
	 border-radius: 20px;
}
.sub_organization .dep1 dl {
	position: relative;
	 width: 20%;
	 margin:10px;
}
.sub_organization .dep1 dl:before{
	content:'';
	position:absolute;
	top:-50px;
	left:50%;
	width:1px;
	height:100%;
	background:#eee;
	z-index:-1}/*세로*/

/*본부*/
.sub_organization .dep2{
	position: relative;
	 display:flex;
	justify-content:space-between;
	align-items:stretch;
}
.sub_organization .dep2:before { 
	content: '';
	 position: absolute;
	 top: -40px;
	 left: 50%;
	  transform: translate(-50%, -50%);
	  width: 85.8%;
	 height: 1px;
	  background: #ddd;
	 z-index: -1;
}
/*가로*/
.sub_organization .dep2 dl>*{
	padding:15px;
	 font-size:20px;
	 text-align:center
    }
.sub_organization .dep2 dl dd{
	color:#FFF;
	 background:#467FD7;
	 border-radius: 18px;
}
.sub_organization .dep2>dl{
	position:relative;
	 width:20%;
	 margin:10px 7px;
}
.sub_organization .dep2>dl:before{
	content:'';
	position:absolute;
	top:-50px;
	left:50%;
	transform:translateX(-50%);
	width:1px;
	height:100px;
	background:#eee;
	z-index:-1
}


/* 오시는길 */
.loca-info{
	position: relative;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 40px;
	margin-top: 30px;
}
.loca-info dl{
	display: flex;
	align-items: center;
	justify-content: start;
}
.loca-info dt{
	line-height: 1.3;
	font-size: 1.4rem;
	color: #222;
	margin-right: 10px;
	font-weight: 400;
}
.loca-info i{
	font-style: normal;
	color: #fff;
	font-weight: 400;
	letter-spacing: -0.6pt;
	display: inline-block;
	text-align: center;
	margin-right: 3px;
	font-size: 12px;
}
.loca-info i.line{
	border-radius: 100%;
	background: #29c531;
	width: 18px;
	height: 18px;
}

i.bus{
	background: #87c700;
	border-radius: 5px;
	width: 40px;
	height: 18px;
}
.loca-info .btn-detail{
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 150px;
	
}

.loca-info .btn-detail img{
	margin-right: 10px;
	vertical-align: middle;
}



/* 강사진 */
.area-title{
	position: relative;
	text-align: center;
	padding-bottom: 40px;

}
.area-title h1{
	font-weight: bold;
	font-size: 44px;
	line-height: 76px;
	color: #000;
	width: 100%;
	text-align: center;
}

.subtxt{
	font-size: 20px;
	line-height: 30px;
	color: #000;
	width: 100%;
	text-align: center;
}
.area-title::after{
	content: '';
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);

	display: inline-block;
	height: 4px;
	width: 40px;
	background: #467FD7;
}
.techer-top{
	margin-top: 60px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0 50px;
	
}
.techer-top .t-name{
	font-weight: bold;
	font-size: 44px;
	line-height: 76px;
	color: #467FD7;
}
.t-position{
	font-weight: bold;
	font-size: 22px;
	line-height: 26px;
	color: #000;
}
.t-career{
	font-weight: normal;
	font-size: 22px;
	line-height: 30px;
	color: #000;
	margin-top: 30px;
}
.teacher-row{
	margin-top: 100px;
	border-top: 1px #467FD7 solid;
}
.teacher-row h2{
	font-weight: bold;
	font-size: 30px;
	line-height: 26px;
	color: #000;
	background-color: #fff;
	padding: 10px;
	position: absolute;
	margin-top: -35px;
}
.teacher-cont {
	display: flex;
	align-items: start;
	justify-content: start;
	gap: 4%;
	flex-wrap: wrap;
}
.teacher-cont2 {
	display: flex;
	align-items: start;
	justify-content: start;
	flex-wrap: wrap;
	gap: 20px;
}
.block-text{
	flex: 1;
	display: inline-block;
	vertical-align: top;
   padding: 1% 1% 1% 40px;
	font-size: 17px;
	line-height: 1.6;
	color: #000;
	margin: 20px 0px;
}
.teacher-box2{
	width: calc(33% - 13px);
	display: inline-block;
	vertical-align: top;
	padding: 1% 1% 1% 10px;
	font-size: 17px;
	line-height: 1.6;
	color: #000;
	margin: 20px 0px;
}
.teacher-img{
	margin: 25px;
	border-radius: 20px;
	overflow: hidden;
	border: 1px solid #D9D9D9;
	object-fit: contain;
	width: 320px;
	height: 320px;
}
.teacher-img img{
	width: 100%;

}
.teacher-name{
	font-weight: bold;
	font-size: 26px;
	line-height: 1.6;
	color: #000;
	text-align: center;
}
.teacher-position{
	font-weight: normal;
	font-size: 19px;
	line-height: 1.6;
	color: #7C7C7C;
	text-align: center;
}
.teacher-p{
	margin-top: 50px;
	color: #2C2C2C;
	line-height: 1.7;
	font-size: 17px;
	text-align: left;
}
.teacher-p-title{
	border-left: 3px #467FD7 solid;
	padding-left: 10px;
	font-weight: bold;
	font-size: 1.8rem;
	color: #000;
}
.teacher-p .list{
	padding-left: 30px;
}


/* 이용약관 */
.usecont {
	line-height: 1.6;    
}
.usecont h3{margin-top:30px;} 
.usecont .depth1{
	padding-left: 10px;
}
.usecont .depth2{
	padding-left: 20px;
}

/* 개인정보취급방침 */
.privacy p{
	margin-bottom: 10px;
}
.privacy dl{
	margin-bottom: 20px;
}

/***   baard ***/
.board-top{
	text-align: right;
	margin-bottom: 20px;
}
.tbl-board{
	border-top: 1px solid #222;
}
.tbl-board thead th{
	background: #f9f9f9;
	color: #222;
	font-weight: 400;
	font-size: 1.5rem;
	letter-spacing: -0.5pt;
	text-align: center;
	padding: 24px 0;
	border-bottom: 1px solid #ddd;
	line-height: 1;
}

.board-icon{
	display: inline-block;
}

.tbl-board a.subject{
	letter-spacing: -0.5pt;
	display: inline-block;
	
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	word-wrap: break-word;
	overflow: hidden;
	height: 2rem;
	line-height: 2rem;
}
.tbl-board td{
	font-size: 1.5rem;
	padding: 15px 10px;
	text-align: center;
	border-bottom: 1px solid #ddd;
	letter-spacing: -0.5pt;
	position: Relative;
	color: #666;
}

.tbl-board .mo_line {
	display: none;
}

.board-bottom{
	margin: 50px 0 20px 0 ;
}
.board-view-top{
	border-bottom: 1px solid #ddd;
	margin-bottom: 20px;
}
.board-view-title{
	font-size: 1.765rem;
	color: #222;
	letter-spacing: -0.7pt;
	line-height: 1.3;
	margin: 0 0 15px;
	font-weight: 600;
	
}
.board-view-title .badge{
	margin-right: 10px;
}
.board-view-info {
	position: relative;
	margin-bottom: 20px;
}
.board-view-info .btn-list{
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	color: var(--point-color);
}
.board-view-info ul{
	display:flex;
	justify-content: start;
	align-items: center;
	gap: 30px;
}
.board-view-info ul li{
	position: relative;
	display: inline-flex;
	gap: 10px;
	padding-right: 30px;
}
.board-view-info ul li span{
	color: #000;
	font-weight: 400;
}
.board-view-info ul li:after{
	content: '';
	display: inline-block;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	background: #999;
	width: 1px;
	height: 14px;
}
.board-view-info ul li:last-child:after{
	display: none;
}


.report_title {
	display: inline-block;
	margin-bottom: -4px;
	width: 20px;
	height: 20px;
	background: url('/images/icon_report_off.png') no-repeat 50% 50% / 100%;
}
.board-view-body{
	text-align: left;
	padding: 40px 0;
}
.board-view-file{
	position: relative;
	overflow: hidden;
	padding: 15px 20px;
	margin-top: 15px;
	border-radius: 15px;
	border: 1px solid #ddd;
	display: flex;
}
.file-title{
	font-size: 15px;
	font-weight: 400;
	width: 88px;
	color: #777;
	letter-spacing: -0.5pt;
}
.file-title .icon-file{
	margin-right: 6px;
}
.file-cont{
	width: calc(100% - 88px);
	padding-left: 15px;
}
.file-cont li{
	margin-bottom: 4px;
}
.file-cont a{
	font-size: 1.5rem;
	font-weight: 400;
	color: #222;
	text-decoration: underline;
}

.recom-wrap{
	text-align: center;
	margin-top: 40px;
}
.recom-wrap button{
	padding: 8px 20px;
	border: 1px solid #bcbcbc;
	border-radius: 20px;

}
.recom-wrap button #recom-cnt:before {
	content: '';
	display: inline-block;
	margin: 0 4px -4px 0;
	width: 18px;
	height: 18px;
	background: url(/images/icon_recom.svg) no-repeat 50% 50% / 100%;
}


/* board-gallery */
.board-gallery-body{
	display: flex;
	align-items: start;
	justify-content: start;
	flex-wrap: wrap;
	gap: 45px 30px;
}
.gallery-box{
	width: calc((100% - 90px)/4 );
}
.gallery-thumb{
	width: 100%;
}
.gallery-thumb a{
	display: block;
	width: 100%;
	height: 180px;
	position: relative;
	border-radius: 20px;
	overflow: hidden;
	border: 1px solid #ddd;

}
.gallery-thumb img{
	width: 100%;
	height: 100%;
	object-fit: cover; /* 가로세로 비율 유지하며 꽉 채움, 넘치는 부분은 잘림 */
	object-position: center; /* 이미지를 중앙에 위치시킴 (기본값) */
}

.gallery-cont h4{
	font-size: 1.6rem;
	color: #222;
	letter-spacing: -0.7pt;
	line-height: 1.3;
	font-weight: 400;
	word-break: keep-all;
	margin: 10px 0 0;
}
.gallery-cont h4 a{
	color: #111;
	font-size: 1.7rem;
}
.post-num{
    color: #777;
    font-size: 13px;
}
.gallery-badge{
    display: inline-flex;
    align-items: center;
    background: #b3b5b7;
    color: #fff;
    font-size: 1.2rem;
    padding: 1px;
    border-radius: 2px;
}
.gallery-info {
	margin-top: 1.2rem;
}
.gallery-info li{
	position: relative;
	display: inline-block;
	font-size: 1.4rem;
	font-weight: 400;
	margin-right: 1.2rem;
	letter-spacing: -0.3pt;
    color: #888;
}
.gallery-info li:after {
	content: '';
	width: 2px;
	height: 15px;
	background: #e8e8e8;
	position: absolute;
	top: 5px;
	right: -11px;
}

.gallery-info li:last-child:after{
	display: none;
}

.gallery-movie-box iframe,
.g-movie-box iframe{
    width: 1100px;
    height:700px;
    text-align: center;
}
.gallery-movie-box video,
.g-movie-box video{
   width: 1100px;
    height:700px;
}
/* 수강신청 */
.cont-textarea{
	height: 200px;
	border: 1px solid #ddd;
	overflow: auto;
	padding: 20px;
	font-size: 14px;
}

.cont-textarea dl{
	margin-bottom: 30px;
}
.cont-textarea dt{
	margin-bottom: 20px;
	font-weight: 600;
}
.cont-textarea dd{
	margin-bottom: 6px;
}

.agree-wrap{
	margin-top: 10px;
	text-align: right;
	font-weight: 600;
}
.agree-wrap input[type=checkbox]{
	width: 20px;
	height: 20px;
	margin-right: 6px;
	-webkit-appearance: none; /* 브라우저 기본 스타일 제거 */
	-moz-appearance: none;
	appearance: none;
	border: 2px solid #333;
	border-radius: 2px;
	cursor: pointer;
	background-clip: content-box;
	padding: 0.25em;
}


.agree-wrap input[type="checkbox"]:checked {
	border-color: var(--point-color);
	background-color: var(--point-color);
}

.cont-text01{
	text-align: center;
	padding: 30px 0;
}
.cont-text02{
	text-align: center;
	padding: 10px 0;
}

/* 나의 수강신청 */
.m-text{
	margin-left: 10px;
	font-weight: 600;
	color: #222;
	font-family: 'GMarketSans';
}


/* view-bottom */
.content-bottom{
	position: relative;
	margin-top: 40px;
	display: flex;
	align-items: center;
	justify-content: end;
	gap: 4px;
}

.content-bottom.type-center{
	justify-content: center;
}

.content-bottom.type-both{
	justify-content: space-between;
}

/* login */
.login-wrap,
.join-wrap{
	width: 720px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	min-width: 320px;
}
.join-wrap.type-inputs{
   position: relative;
   top: initial;
   transform: initial;
   transform: translateX(-50%);
   padding: 10px 0;
}
.login-cont{
	border-left: 1px solid #414e7f;
	border-right: 1px solid #414e7f;
	border-bottom: 1px solid #414e7f;;
	margin-top: -60px;
	padding: 65px 0;
}
.join-cont{
	border: 1px solid #414e7f;
	padding: 40px 0 10px;
}

.login-in,
.join-in{
	text-align: center;
}
.login-wrap h1,
.join-wrap h1 {
	text-align: center;
	margin-bottom: 20px;
}
.login-wrap h1 img,
.join-wrap h1 img{
	height: 6.4rem;
}
.login-in h2{
	color: #333;
	font-weight: 600;
	font-size: 1.7rem;
	margin-bottom: 20px;
}
.title-subtxt{
	color: #333;
	font-weight: 600;
	font-size: 17px;
	margin-top: -15px;
	margin-bottom: 20px;
}
.login-input{
	width: 400px;
	display: inline-block;
}
.login-input li{
	margin-bottom: 6px;
}
.login-input input{
	height: 5.5rem;
	border: 1px solid #ccc;
	border-radius: 10px;
	padding-left: 10px;
}
.login-input li> input{
	width: 100%;
  
}
.certi-phone{
	display: flex;
	justify-content:space-between;
	align-items: center;
	gap: 6px;
}
.certi-phone input{
	width: 55%;
}
.login-input button{
	width: 115px;
	height: 55px;
	border-radius: 10px;
	font-size: 15px;
}
.certi-phone.type-sep {
	gap: 6px;
}
.certi-phone.type-sep input{
	width: 20%;
}
.certi-phone.type-sep button{
  
}
.certi-time{
	display: inline-block;
	color: rgb(235, 54, 54);
	font-size: 14px;
}
.certi-text{
	color: rgb(235, 54, 54);
	text-align: left;
}
.certi-text2{
	color: #25ab66;
	text-align: left;
}
.login-submit{
	margin-top: 2rem;
}
.login-submit button{
	width: 100%;
	border-radius: 10px;

}
.login-other{
	width: 400px;
	display: inline-block;
	margin-top: 20px;
}
.login-other li{
	display: flex;
	justify-content: space-between;
	font-size: 14px;
	margin-bottom: 10px;

}
.login-other li span{
	text-align: left;
	display: inline-block;
	position: relative;
	padding-left: 14px;
}
.login-other li span:before{
	content: "\f519";
	display: inline-block;
	font-family: bootstrap-icons !important;
	font-style: normal;
	font-weight: 400 !important;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	vertical-align: -.125em;
	-webkit-font-smoothing: antialiased;
	font-size: 10px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);

}
.login-other li a{
	text-decoration: underline;
	color: #222;
}
.login-result{
	margin-top: 30px;
}

.login-re li{
	display: flex;
	justify-content: space-between;
	gap: 6px;
}

/* 회원가입  */
.join-step{
	padding: 10px 0 20px;
}
.join-step ul{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
}
.join-step ul li{
	position: relative;
	padding-right: 20px;
	margin-right: 20px;
}
.join-step ul li span{
	display: block;
	font-size: 15px;
	margin-top: 4px;
}
.join-step ul li:after{
	content: url('/images/pro_arrow.png');
	position: absolute;
	right: 0;
	top: 23px;
}
.join-step ul li:last-child{
	margin-right: 0;
	padding-right: 0;
}
.join-step ul li:last-child:after{
	display: none;
}

.join-detail{
	border-top: 1px solid #ddd;
	margin: 0 4rem;
	padding: 2rem;
}
.join-detail-title{
	margin-bottom: 14px;
	text-align: left;
	font-weight: 600;
}

.join-terms{
	height: 160px;
	text-align: left;
	background: #f7f7f7;
	padding: 10px;
}
.join-terms ul{
	margin-bottom: 20px;

}
.join-terms ul li{
	margin-bottom: 6px;
}
.scroll-custom{
	height: 100%;
	overflow-y: auto;
}
.scroll-custom::-webkit-scrollbar {
	width: 6px;
	height: 8px;
}
.scroll-custom::-webkit-scrollbar-thumb {
	background-color: #aaa;
	border-radius: 10px;
}

.join-detail-agree{
	display: flex;
	justify-content: end;
	align-items: center;
	gap: 5px;
	text-align: right;
	margin-bottom: 20px;
	color: #333;
	font-weight: 600;
}
.join-detail-agree input[type=checkbox]{
	width: 24px;
	height: 24px;
}
.description{
	font-size: 14px;
	color: #555;
	margin-left: 4px;
}
.tbl.type-join .btn-sm{
	height: 26px;
}
.join-detail .login-input{
	margin-bottom: 30px;
}
.agree-title{
	color: #333;
	font-weight: 600;
	margin-bottom: 10px;
}



/* 온라인 시험 */
.online-top{
	margin-top: 20px;
	margin-bottom: 40px;
}

.online-box{
	background: #eee;
	padding: 30px 20px;
	border: 1px solid #ccc;
	margin-top: 20px;
  
}
.online-box .point-text{
	font-size: 17px;
	color: #a736df;
}

/* pop */
.pop-wrap{
	padding: 20px 20px 50px 20px;
}


/* 환불규정  */
.refund {
	margin-top: 30px;
}
.refund >ol{
	margin-left: 20px;
	color: #222;
}
.refund >ol>li{
	margin-bottom: 10px;
	font-size: 16px;
}
.refund ol>li>ol{
	margin-left: 30px;
	list-style: square;
	color: #555;
	font-size: 16px;
}


/* mypage */
.img-mypage{
	width: 100%;
}
.mypage-top{
	margin: 0 auto 30px auto;
}
.mypage-top-btns{
	display: flex;
	justify-content: end;
	align-items: center;
	margin-bottom: 10px;
}

/* 회원탈퇴  */
.memout-wrap{
	border: 1px solid #d0d0d0;
	text-align: center;
	color: #000000;
	font-size: 1.8rem;
	margin-bottom: 6rem;
	word-break: keep-all;
}
.memout-title{
	background-color: #f0f0f0;
	padding: 2rem;
	border-bottom: #d0d0d0;
}
.memout-content{
	padding: 3rem;
	line-height:1.6;
}

/* mypage */
.tbl-top-text{
	text-align: right;
	margin-bottom: 5px;
}
.tbl-top-text.type-left{
	text-align: left;
}
.mypagelist-wrap{
	margin-bottom: 100px;
}

.tbl-top-text +.tbl-wrap{
	margin-top:0;
}

.login-input .input-birth{
	width: 100%;
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
}
.login-input .input-birth >span{
	display:inline-flex;
	gap: 10px;
	align-items: center;
}
.login-input .input-birth select{
	height: 55px;
}
.login-input .input-birth input{
	width: 150px;
}

.photo-profile{
	width: 200px;
}
.photo-profile img{
	width: 100%;
}

.root_daum_roughmap .cont{
	display: none;
}

.tbl-wrap + .mypage-top{
    margin-top: 3rem;
}

.layout-leftmenu{
	display: none;
}
.tbl-cont{
	word-break: break-all
}

/* 입금계좌 */
.account-box{
	background: #f7f7f7;
	border-top: 1px solid #ced4d9;
	border-bottom: 1px solid #ced4d9;
	text-align: center;
	padding: 2rem 1rem;
}
.account-box ul{
	display: inline-flex;
	gap: 3rem;
	font-size: 1.7rem;
	
}
.certi-cont{
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
		align-items: center;
}
.certi-cont li{
	display: inline-flex;
	flex-wrap: wrap;
	gap: 4px;
		align-items: center;

}

/* 강사소개 */
.teacher-left.type-2{
    width: 50%;
}
.teacher-left.type-2 img{
    width: 100%;
}

.bottombanner-wrap{
    margin-top: 32rem;
}


/* 팝업 */
.pop-wrap{
    padding: 2rem;
}
.pop-wrap h1{
    font-size: 2.2rem;
    color: #111;
    margin-bottom: 2rem;
}
.pop-wrap h2{
    font-size: 1.8rem;
    color: #111;
    margin-bottom: 2rem;
    margin-top: 4rem;
}
.fileupload-toptext{
    color: rgb(16, 108, 199);
}
.uploadform-top{
    display: flex;
    justify-content: space-between;
    text-align: right;
    margin-bottom: 1rem;
    margin-top: 2rem;
    font-size: 1.4rem;
}
.uploadimg-box{
    width: 100%;
    height: 120px;
    overflow-y: scroll;
    padding: 10px;
    border: 1px;
    border-style: solid;
    border-color: #c2c2c2;
}
.uploadform-bottom{
    text-align: center;
    margin-top: 2rem;
}

.uploadimg-list{
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.uploadimg-list li{
    width: calc(10% - 0.9rem);
}
.uploadimg-list li img{
    width: 100%;
}
.btn-uploadimg-down{
    background: #234baa;
    color: #fff;
    font-size: 1.1rem;
    padding: 2px;
    border-radius: 2px;
}
.uploadimg-modify-wrap{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.imgmodify-form{
    border: 1px solid #c2c2c2;
    padding: 10px;
    margin-top: 1rem;
}

.upload-btns{
    margin-top: 2rem;
}


.main-midbanner{
    width: 100%;

    background: #e99696;
    overflow: hidden;
    border-radius: 6px;
    padding: 0 10px;
}
.main-midbanner a{
    display: block;
    line-height: 0;
}
.main-midbanner a img{
    width: 100%;
}
 .type-mobile{
        display: none;
    }



/*******************************************************************************
	@media ~ 768 ~ 1279px
*******************************************************************************/
@media all and (min-width:768px) and (max-width:1279px) {

	 .bottombanner-wrap{
        padding: 0 20px;
    }
    .btn-md {
        height: 30px;
        padding: 0 10px;
    }
   
}


/*******************************************************************************
	@media ~ 768px
*******************************************************************************/
@media all and (max-width:768px) {
    .type-mobile{
        display: block;
    }
	
    .type-tablet-pc{
        display: none;
    }
    .btn-md {
        height: 28px;
        padding: 0 8px;
    }
	.login-wrap h1,
	.join-wrap h1 {
		
		margin-bottom: 1rem
	}

	.login-wrap h1 img,
	.join-wrap h1 img{
		height: 5rem;
	}

	.logo img{
		height: 9vw;
	}
   .main-cont-wrap{
		margin-top: 2rem;
   }

   .main-title{
		font-size: 2.4rem;
			padding: 2rem 0 2rem;
	}
	.main-link-box a{
		gap: 1rem;
        flex: 1 1 47%;
	}

     .main-link-box a div{
        width: 46%;
     }
    .link-box-title {
        font-size: 1.7rem;
      
    }

	.portfolio-title{
			font-size: 1.9rem;
	}

	/*********** List *************/
	.tbl-board {}
	.tbl-board colgroup {
		display:none;
	}
	.tbl-board th {
		display:none;
	}
	.tbl-board td {
		padding:15px 0; 
		text-align:left; 
		border-right:none;
	}
	.tbl-board td.nodata{
		padding:90px 0;
		text-align:center;
	}
	.tbl-board td .notice {
		width:35px; height:20px; line-height:18px; font-size:11px; margin-right:5px;}
	.tbl-board .pc_line{
		display:none
	}
	.tbl-board .mo_line{
		display:block !important; padding:15px 10px;
	}
	
	.tbl-board td .lecBtn {
		font-size:12px; line-height:24px; width:75px;
	}
	.bbs_dot li.btn {
		position:absolute; top:50%; right:0; transform:translateY(-50%);
	}
	
	.mo_line .tit {
		color:#222; font-weight:500; font-size:1rem; margin-bottom:5px; letter-spacing:-0.5pt; line-height:1.5; padding-right:75px
	}
	.mo_line .tit a {
		font-size:1.5rem; color:#222; letter-spacing:-0.3pt;
	}
	.mo_line .tit a img {
		max-width:12px; max-height:12px;
	}
	.tbl-board td .status {
		font-size:12px; width:60px; line-height:26px; 
		margin:0 0 10px 0; display:block; position:absolute; top:50%; right:0; transform:translate(0, -50%);
	}
	
   
	.bbs_dot {
		padding-right:65px
	}
	.bbs_dot li {
		position:relative; letter-spacing:-0.5pt; font-size:13px;padding:0; margin-bottom:3px;display: flex;align-items: center;gap:4px;
	}
	.bbs_dot li:last-child {
		margin-bottom:0
	}
	.bbs_dot li span {
		color:#222; letter-spacing:inherit; position:relative; top:0; left:0;
		font-weight: 400;
	}
	
	.main-visual-wrap {
		display: flex;
		flex-direction: column;
		gap: 10px;
		padding: 0 10px;
	}
	.main-visual-wrap a{
	  width: 100%;
	}

	.main-link-box{
		flex-wrap: wrap;
	}
	.link-box-title{
         word-break: break-all;
    }

	.portfolio-box {
		width:100%;
	}

	.main-boardlist {
		width: 100%;
	}

	.mainslider {
		flex-wrap: wrap;
		height: auto;
		gap: 0;
        background: url(/images/bg_mainvisual.png) bottom left no-repeat;
        background-size: 58%;
	}
	.mainslider-left, .mainslider-right{
		font-size: 2.4rem;
		width: 100%;
		padding-top: 3rem;
		flex-basis: auto;
	}
	.mainslider-left{
		height: 29rem;
		border-bottom: 1px solid #ccc;
	}
 
	.mainslider-text02{
		font-size:2.4rem;
	}
	.mainslider-cont{
		gap: 1rem;
		margin-top: 2rem;
		flex-wrap: wrap;
        justify-content: center;
	}
	.mainslider-cont .circle-box{
		width: 10rem;
		height: 10rem;
		font-size: 1.4rem;
	}
	.mainslider-cont .circle-box:before{
		width: 20px;
		height: 20px;
		top: 0;
		left: -0.5rem;
	}
	
	.mainslider-right{
		padding-bottom:1.5rem;
	}


	.login-wrap, .join-wrap {
		width: 96%;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		min-width: 320px;
	}
	.login-input button{
		width: 100%;
		height: 55px;
		border-radius: 10px;
		font-size: 15px;
	}

	.login-input , .login-other{
		width: 94%;
	}
	.join-detail {
		margin: 0 2rem;
		padding: 1rem 0;
	}
	.login-input .input-birth input{
		width: 100%;
	}
	

	/* 조직도 */
	.sub_organization .dep {
		padding: 20px 0;
	}
	.sub_organization h4{
		font-size: 2.4rem;
	}
	.sub_organization .dep dl {
		width: 40%;
	}
	.sub_organization .dep dl > * {
		padding: 10px;
		font-size: 2rem;
	}
	.sub_organization .dep dl dd {
		border-radius: 1rem;
	}

	.sub_organization .dep1 {
		padding: 30px 0 60px 0;
	}

	.sub_organization .dep1:before {
		width: 45%;
	}
	.sub_organization .dep1 dl:before {
		top: -30px;
	}

	.sub_organization .dep1 dl{
		width: 40%;
	}
	.sub_organization .dep1 dl dd {
		border-radius: 10px;
	}
	.sub_organization .dep1 dl > *{
		font-size: 1.8rem;
		padding: 10px;
	}
    .sub_organization .dep2{
        flex-direction: column;
    }
	.sub_organization .dep2>dl{
		width: 100%;
		 margin: 10px 4px;
	}
   
    .sub_organization .dep2 dl dd{
        width: 100%;
    }

	.sub_organization .dep2 dl>* {
		padding: 15px 3px;
		font-size: 1.6rem;
		
	}
   .sub_organization .dep dl:before{
        top: initial;
    }
    .sub_organization .dep2:before{
        display: none;
    }
    .sub_organization .dep2>dl:first-child:before{
        display: none;
    }


	/* 교육안내 */
	.license-box {
		flex-wrap: wrap;
	
		
		padding: 30px 0;
		gap: 30px;
		border-bottom: 1px solid #ddd;
	}

	.license-box.type-viewtop .thumb-img {
		width: 100%;
		height: auto;
	}

	.license-box.type-viewtop .license-cont {
		width: 100%;
	}

	.certi-cont{
		gap: 4px;
	}
	.certi-cont li{
		display: flex;
		gap: 2px;
		font-size: 1.5rem;

	}	
	.tbl.type-write select{
		width: 95%;
		  white-space: nowrap; /* 텍스트 줄바꿈 방지 */
		overflow: hidden; /* 넘치는 텍스트 숨김 */
		text-overflow: ellipsis; /* 말줄임(...) 표시 */

	}

	/* 회원가입 */
	.input-birth{
		display: inline-flex;
		width: 100% !important;
		gap: 4px;

	}
	.input-birth input{
		width: 32%;
	}


    .teacher-left.type-2{
        width: 100%;
    }

    .select-wrap.type-2{
        display: flex;
        gap: 4px;
    }
    .select-wrap.type-2 select{
        flex: 1;
        width: 50%;
    }

    .bottombanner-wrap{
        display: none;
    }

    .footer-link li:nth-child(n+4){
        display: none;
    }

    .main-movie-wrap{
        width: 100%;
        display: block;
    }
    .main-movie-wrap:nth-child(2){
      display: none;
    }

    .main-counsel {
		width: 100%;
	}


     .portfolio-list {
        gap: 10px 20px;
    }
    .portfolio-cont {
        
        padding: 1rem 0;
    }
    .portfolio-box.type-movie:nth-child(2) .portfolio-title-wrap{
        display: none;

    }

    .input-tel,
    .input-email,
    .address-wrap{
        width: 100%;

    }
    .input-2col{
        width: 10%;
    }
    .input-4col{
        width: 20%;
    }

    .edu0101-img-box img,
    .edu0301-img-box img{
        width: 100%;
    }

    .join-detail .btn-xl{
        width: 100%;
    }

    .input-wrap{
        width: 100%;
    }

	.mo-mt-5{
		margin-top: 5px;
	}


    .tab-page {
		flex-wrap: wrap;
		gap: 2px;
		margin-bottom: 20px;
	}

	.tab-page button{
		font-size: 1.6rem;
		border-radius: 0;
	}
   

     .tab-page.type-menu0103{
      

    }
     .tab-page.type-menu0103 button{
        width: 24.5%;
          flex: initial;
     }
}





@media all and (max-width:1279px) {
	.quick-wrap{
		display: none;
	}
 .teachers-list{
	   flex-wrap: wrap;
	   justify-content: start;
	   gap: 10px;
	
	}
	.main-cont-wrap.type-boardlist {
		padding: 0 20px;
		display: flex;
		gap: 20px;

		flex-wrap: wrap;
	}
	
	.paging ul{
		gap: 3px;
	}
	.paging ul li a{
		width: 20px;
		height: 20px;
		border-radius: 4px;

	}
     .subpage-cont{
		padding: 0 2%;
	}
  
}






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

	.header-top-left{
		display: none;
	}
	 .header-bottom,
	.header-top-right{
		display: none;
	}

	.header-top .main-contents-wrap{
		display: flex;
		justify-content: space-between;
		padding: 20px 20px;
	}

	.menu-myroom-link {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		height: 40px;
		padding: 0 20px 0 10px;
		border-radius: 999px;
		background: linear-gradient(135deg, #0d47b5 0%, #003190 100%);
		color: #fff !important;
		font-weight: 500;
		font-size: 1.8rem;
		box-shadow: 0 10px 22px rgba(0, 49, 144, 0.18);
	
	}
	.menu-myroom-link::before {
		content: "\25B6";
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 22px;
		height: 22px;
		border-radius: 50%;
		background: rgba(255, 255, 255, 0.18);
		border: 1px solid rgba(255, 255, 255, 0.24);
		color: #fff;
		font-size: 8px;
		font-weight: 700;
		line-height: 1;
		text-indent: 1px;
		flex: 0 0 22px;
	}

   
	.footer-link li a{
		padding: 0 4px;
	}

	.layout-footer {
		padding: 25px 0 60px;
		margin-top: 30px;
	}

	.footer-top {
	   
		margin: 0 0 20px;
		padding-bottom: 20px;
	}
	
	.footer-bottom{
		flex-wrap: wrap;
		gap: 10px;
		padding: 0 10px;
	}

	.btn-mobile-menu{
		display: inline-block;
	}
	.btn-mobile-menu:before{
		content: "\f479";
		display: inline-block;
		font-family: bootstrap-icons !important;
		font-style: normal;
		font-weight: 600 !important;
		font-variant: normal;
		text-transform: none;
		line-height: 1;
		vertical-align: -.125em;
		-webkit-font-smoothing: antialiased;
		font-size: 3.8rem;
		color: #171c61;
	}

	.layout-leftmenu{
		display: block;
		position: fixed;
		left: -100%;
		top: 0;
		bottom: 0;
		background: #f3f3f3;
		width: 100%;
		z-index: 200;
		-webkit-transition: left .3s;
		-moz-transition: left .3s;
		-ms-transition: left .3s;
		-o-transition: left .3s;
		transition: left .3s;
		box-shadow: 0 2px 15px rgba(0, 0, 0, 0.2);

	}
	.layout-leftmenu.open {
		left: 0;
		width: 75%;
	}
	.btn-leftclose{
		color: #6a6a6a;
		position: absolute;
		right: 20px;
		top: 50%;
		transform: translateY(-50%);

	}
	.btn-leftclose:before {
		content: "\f659";
		display: inline-block;
		font-family: bootstrap-icons !important;
		font-style: normal;
		font-weight: 700 !important;
		font-variant: normal;
		text-transform: none;
		line-height: 1;
		vertical-align: -.125em;
		-webkit-font-smoothing: antialiased;
		font-size: 20px;
	}
	.leftmenu-top{
		display: flex;
		justify-content: start;
		align-items: center;
		margin-bottom: 2rem;
		background: #fff;
		padding: 2rem 1rem;
		position: relative;

	}
	.leftmenu-logo {
		padding-top: 2rem;
		padding-left: 2rem;
	}
	.leftmenu-logo img{
		height: 11vw;

	}


	.leftmenu-btns{
		display: flex;
		align-items: center;
		background: #1c1c1c;
		border-radius: 5px;
		margin: 0 10px;
		border: 1px solid #4d4d4d;

	}
	.leftmenu-btns button{
		flex: 1;
		padding: 14px 10px;
		border-right: 1px solid #444;
	}


	/* leftmenu */
	.leftmenu-nav{
		padding-top: 2rem;
		padding-bottom: 2rem;
		background: #fff;
		margin-top: 1rem;

	}
	.leftside-menu >li{
	
	}
	.leftside-menu>li>a{
		text-align: left;
		display: block;
	
		padding: 10px 20px;
		color: #727280;
		background: url('/images/gnb_bg.png') right 20px center no-repeat;
	}
	.leftside-menu>li:hover >a{
	background: #f3f3f3 url('/images/gnb_bg.png') right 20px center no-repeat;
	}
	.leftside-menu >li.active >a{
		background: #f3f3f3 url('/images/gnb_bg2.png') right 20px center no-repeat;
		
	}
	/* .leftside-menu>li>a:before{
		content:'';
		display: inline-block;
		width: 16px;
		height: 16px;
		background: url('/images/icon_menu.png') no-repeat;
		background-size: contain;
		opacity: 0.5;
		margin-right: 10px;
	} */
	.leftdepth-2>li>a{
		text-align: left;
		display: block;
		padding: 0.6rem 0.6rem 0.6rem 4rem;
	}
	.leftdepth-2>li>a:hover{
		background: #f3f3f3;
	}

	/* 페이지 처음 로드 시 하위 메뉴들 숨김 처리 */
	.leftside-menu .leftdepth-2, 
	.leftside-menu .leftdepth-3 {
		display: none;
	}

	/* 스타일 구성을 위한 활성화(active) 클래스 예시 */
	.leftside-menu li.active > a {
		font-weight: bold;
		
	}
	.leftdepth-3{
		margin-left: 4rem;
		border-top: 1px solid #444;
		border-bottom: 1px solid #444;
		padding: 1rem 0;
	}
	.leftdepth-3 >li{
		text-align: left;
		padding-bottom: 5px;

	}
	.leftdepth-3 >li:before{
		content:'-';
		display: inline-block;
		margin-right: 4px;
	}
	
	/* 갤러리 */
	.board-view-body img{
		width: 100%;
	}

    
    .footer-rightbanner{
        position: relative;
        right: initial;
        top: initial;
        transform: translateY(0%);
        margin-top: 10px;
      
    }
    .footer-rightbanner img{
        width: 70px;
    }


    .gallery-movie-box iframe,
    .g-movie-box iframe{
        width: 100%;
        height: initial;
        aspect-ratio: 16/9;
    }
    .gallery-movie-box video,
    .g-movie-box video{
         width: 100%;
        height:100%;
    }


}




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

   .mainslider-teacher{
		right: 1rem;
		width: 38%;
	}
	.ms-t-text{
		right: 43%;
	}
	.footer-copyrights li{
		display: block;
	}



	
}

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

     .tbl td{
        padding: 4px;
        padding-left:4px;
    }
   

	.teacher-box{
		width: calc(50% - 5px);
	}

	.btn-md{
    	height: 3.4rem;
		padding: 0 1.4rem;
	}
	.port-cont01 {
		background-image:none;
		/* padding: 3rem 3rem 3rem 3rem; */
	}
	.copyrights {
		font-size: 1.4rem;
	}
	.tab-depth2all{
		margin-bottom: 4rem;
	}
	.tab-depth2all ul li{
		width: 33%;
		flex: initial;
	   

	}
	.tab-depth2all.type-4 ul li{
		flex: 1;
	}
	 .tab-depth2all.type-4 ul li a{
		padding: 0 4px;
	 }
	 .tab-depth2all ul li a{
		font-size: 1.5rem;
		min-height: 40px;
	 }

	 .info-wrap {
	   flex-direction: column;
	   padding-top: 3rem;
	}
	.info-right{
		order: -1;
		width: 100%;
		text-align: center;
	}
	.info-right img {
		width: 80%;
	}
	.info-left{
		padding: 20px 0 0 0;
	}
	.info-title {
		font-size: 2.8rem;
		line-height: 3.6rem;
	}
	.info02-cont:before,
	.info02-cont:after{
		display: none;
	}

	.info02-title {
		padding-top: 5rem;
		font-size: 2.8rem;
		padding-bottom: 2rem;
		line-height: 4rem;
	}

	.info02-cont {
		font-size: 2.2rem;
		line-height: 1.6;
		padding: 3rem 2rem;
		margin-top: 2rem;
		margin-bottom: 5rem;
	}

	
	.subtitle.type-big{
		font-size: 2.4rem;
		line-height: 1.6;
	}

	.profile-box.type-left{
		width: 100%;
		padding-right: 2%;
		margin-bottom: 3rem;
	}
	.profile-box.type-left dl {
		text-align: left;
		padding-right: 20px;
		padding-left: 20px;
	}

	.profile-box dt {
		margin-bottom: 1rem;
		font-size: 2.2rem;
	}
	.profile-box dd {   
		font-size: 1.6rem;
		line-height: 1.6;
	}

	.profile-box dd strong {
		font-size: 1.7rem;
	}


	.profile-wrap:before {
		display: none;
	}

	.profile-wrap {
		padding-top: 4rem;
	}

	.profile-box.type-right {
		padding-left: 2%;
		 margin-bottom: 3rem;
	}

	.profile-box.type-right dl {
		padding-left: 20px;
		
	}

	.profile-box dd .img-box {
		display: block;
		margin-top: 2rem;
	}

	.timeline-nav button {
		width: 30%;
		padding-top: 4rem;
		height: 7rem;
	   
	}
	.timeline-nav::after {
		content: '';
		position: absolute;
		top: 9.8rem;
		left: 0;
		right: 0;
		width: 100%;
		height: 1px;
		background: #467FD7;
	}

	
	.timeline-content{
		flex-direction: column;
	}

	.timeline-content-left{
		width: 100%;
		padding-top: 2rem;
	}

	.timeline-content-right {
		width: 100%;
	  
	}

	.timeline-title {
		font-size:2.4rem;
		padding-left: 20px;
	}
	.timeline-row {
		padding-top:0px;
		font-size: 1.7rem;
		margin-bottom: 2.5rem;
	}

	.timeline-col-left {
	   width: 70px;
		padding-top: 0;
	}
	.timeline-col-right{
		margin-left: 3rem;
		margin-right: 1rem;
	}
	.timeline-content-right:before {
		left: 69px;
		top: 21px;
	}

	.teacher-cont2 {
		display: flex;
		align-items: start;
		justify-content: start;
		flex-wrap: wrap;
		gap: 20px;
	}

	   .login-wrap .tab-depth2all ul li {
		width: auto;
		flex: 1;
	}

	.teacher-box2 {
		width: 100%;
		padding: 1% 1%;
	}
	.teacher-img {
		width: 100%;
		margin: 0 0 20px 0;
		border-radius: 1rem;
		height: auto;
        line-height: 0;
	}
	.teacher-name {
		font-size: 2rem;
	}
	.teacher-p {
		margin-top: 3rem;
		font-size: 1.6rem;
	}

	.teacher-row {
		margin-top: 40px;
	}

	.teacher-row h2 {
		font-size: 2rem;
		line-height: 1.6;
	
		margin-top: -25px;
	}

	.block-text {
		padding: 1% 1% 1% 20px;
		font-size: 1.6rem;
		margin: 0;
	}
	.teacher-cont {
		flex-direction: column;
	  
	}
	.teacher-cont .block-text:first-child {
		margin-top: 20px;
	}
	.techer-top{
		margin-top: 20px;
		flex-direction: column;
		gap: 0 20px;
		padding-left: 0px;
	}
	 .teacher-left{
		text-align: center;
	 }
	.teacher-left img{
		width: 90%;
	}
	.teacher-right{
		width: 94%;
	}
	.area-title h1{
		font-size: 3.4rem;
	}
	.subtxt {
		font-size: 1.8rem;
		line-height: 1.5;
	   
	}
	.techer-top .t-name{
		font-size: 3.8rem;
		line-height: 1.5;
	}
	.t-career {
		font-size: 1.8rem;
		line-height: 1.6;
		margin-top: 10px;
	}

	/* 활동 */
	.board-gallery-body {
		gap: 20px 10px;
		justify-content: space-between;
	}
	.gallery-box {
		width: 100%;
	}
	.gallery-info {
		margin-top: 1rem;
	}
	.gallery-info li{
	 
		font-size: 1.5rem;
	}

	.loca-info .btn-detail {
		position: relative;
		right: initial;
		top: initial;
		transform: initial;
		width: 130px;
	}

	/* 교육안내 */
	.tab-page-depth3 {
		padding: 4px;
		margin-bottom: 30px;
	}

	.tab-page-depth3 ul li a {
		font-size: 1.5rem;
		padding: 4px;
	}
	.tab-page-depth3 ul {
		gap: 5px;
	}

	.pagecont {
		padding-top: 25px;
	}

	.btn-sm {
		height: auto;
		padding: 0 6px;
	}

	.board-view-info ul {
		gap: 10px;
	}
	.board-view-info ul li {
		gap: 5px;
		padding-right: 10px;
	}

	/* 입금계좌 */
	.account-box ul{
		justify-content: center;
		flex-wrap: wrap;
		gap: 1rem;
		
	}
	/* .account-wrap .tbl input{
		width: 50%;
	} */
	.tbl th{
		font-size: 1.4rem;
		padding: 10px 4px;
	}
	.tbl .sidetext{
		display: block;
		font-size: 1.4rem;
	}
	.tbl.tbl-write input[type=file],
	.tbl.type-write input[type=file]{
		width: 90%;
	}
	.addfile-font{
		display: block;
	}

	/* main */
	.portfolio-title {
		border-radius: 1rem 1rem 0 0;
		padding:1rem 1rem 0rem 1rem;
		width: 60%;
	}
	.portfolio-cont {
		border-radius: 0 1rem 1rem 1rem;
		padding: 1rem;
	}


	.btn-header-link{
		font-size: 1.4rem;
		padding: 0 6px;
	}
	.btn-header-link.join:before{
		margin-right: 4px;
	}


	.tab-page.type-active button:first-child{
		width: 100%;
		
	}
	.tab-page.type-active button{
		width: calc(33% - 2px);
		flex: initial;
	}


	.badge.badge-sm {
		padding: 0px 5px;
		height: 1.8rem;
		font-size: 1.3rem;
		border-radius: 5px;
	}
	.m-text {
		display: inline-block;
		margin-left:4px;
		font-size: 1.4rem;
	}

	.title-subdepth2-right{
		display: block;
		position: relative;
		transform: initial;
		top: initial;
		margin-top: 1rem;
	}
	.title-subdepth2 span{
		display: block;
		margin-top: 1rem;
	}

	.photo-profile{
		text-align: center;
		width: 100%;
		display: block;
	}

   


}
@media all and (min-width:501px) and (max-width:999px) {
	.teacher-img{
		width: 100%;
		height: auto;
		margin: 0;
	}

}


@media all and (min-width:501px) and (max-width:1279px) {
	
	.teacher-box{
	flex: 1;
	}

	.reco-gallery-box {
     
        width: 33%;
    }

}



@media all and (min-width:440px) and (max-width:768px) {
   .mainslider-teacher{
		right: 1rem;
		width: 23%;
	}
	.ms-t-text{
		right: 30%;
	}


	.timeline-content-left {
		width: 30%;
	}
	.timeline-content-right {
		width: 70%;
		
	}
   
	 .timeline-col-left {
	   width: 80px;
	}
 
	.timeline-content-right:before {
		left: 79px;
	}
	
}




@media all and (min-width:768px){
    .portfolio-box.type-movie:first-child .portfolio-title-wrap a{
        display: none;

    }
	
}