@charset "UTF-8";
/**************************************************
* 버전관리
* version : v=1
* Last Update : 
**************************************************/
#wrap{overflow-x:hidden;}
.section{padding:clamp(4rem, 1.5rem + 6.667vw, 7.5rem) 0;}
.section.cts2{padding:clamp(4rem, 1.943rem + 5.486vw, 6.88rem) 0;}
.flex{display:flex;}

.set-title{margin-bottom:clamp(2rem, 0.571rem + 3.81vw, 4rem); color: var(--Basic-Black-100); }
.set-title span{display:flex; gap:clamp(0.65rem, 0.443rem + 0.552vw, 0.94rem); align-items: center; font-size: var(--font-size-24); margin-bottom:clamp(0.5rem, -0.214rem + 1.905vw, 1.5rem); line-height:1;}
.set-title span:after{content:""; display:block; width: clamp(8rem, 4.786rem + 8.571vw, 12.5rem); height: 0.0625rem; background: var(--Basic-Black-100);}
.set-title h3{font-size: clamp(1.802rem, 1.125rem + 1.806vw, 2.75rem); font-weight: 700; line-height: 1.4;}
.set-title h3 b{color: var(--Theme-Primary); font-weight:700;}


/**************************************************
 ■ 비쥬얼
**************************************************/
#visual{height:95vh;}
#visual .swiper-slide{overflow:hidden; padding:clamp(5rem, 1.9rem + 8.267vw, 9.34rem) 0; transition-property: transform;}
#visual .swiper-slide .tit{color:#fff; font-size:clamp(2.027rem, 0.886rem + 3.044vw, 3.625rem);font-weight: 700; text-shadow: 0 4px 10px rgba(0, 0, 0, 0.30); transition: all 0.2s ease-out 0s; -webkit-transition: all 0.2s ease-out 0s;}
#visual .swiper-slide .tit p{overflow:hidden; }
#visual .swiper-slide .tit p span{display:block; transform: translate(0, 100%) ; transition: 1s;}
#visual .swiper-slide .vis-area{position:absolute; left:0px; top:0px; z-index:-1; width:100%; height:100%; background-color: #f0f0f0;  overflow: hidden;}
#visual .swiper-slide .vis-bg{object-fit: cover; height: 100%; transition: all 1.5s ease-out 0s; -webkit-transition: all 1.5s ease-out 0s;}
/* #visual .swiper-slide .vis-bg{object-fit: cover; transform: scale(1.3);  filter: blur(1.5vw); height: 100%; transition: all 1.5s ease-out 0s; -webkit-transition: all 1.5s ease-out 0s;} */
/* #visual .swiper-slide.active-ani .vis-bg{ transform: scale(1);  filter: blur(0); } */
#visual .swiper-slide.active-ani .vis-bg{ }
#visual .swiper-slide.active-ani .tit p span{transform:none;}
#visual .swiper-slide.active-ani .tit p span.word1{transition-delay: 0.4s;}
#visual .swiper-slide.active-ani .tit p span.word2{transition-delay: 0.8s;}
#visual .control{position:absolute; left:50%; bottom:9.5rem; gap:clamp(1.5rem, 1.143rem + 0.952vw, 2rem) clamp(0.5rem, 0.143rem + 0.952vw, 1rem); margin: 0 1rem; width:95.5rem; transform:translateX(-50%); -webkit-transform:translateX(-50%); z-index: 10; animation: botControl ease-in both 0.5s; animation-delay: 0.7s;}
#visual .control .swiper-pagination-progressbar{width:100%; position:relative; left:auto; right:auto; top:auto; bottom:auto; border-radius: 0.125rem; background: rgba(255, 255, 255, 0.30);}
#visual .control .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:rgba(255, 255, 255, 1); border-radius: 0.125rem;}

@keyframes botControl {
	0% {bottom: 0rem;opacity:0;}
	100% {bottom: clamp(7rem, 5.214rem + 4.762vw, 9.5rem);opacity:1;}
}
@media (max-width:1600px){ 
	#visual .control{width:calc(100% - 2rem); left: 0; transform: translateX(0%);  -webkit-transform: translateX(0%);}
}

@media (max-width:1024px){ 
	#visual{height:calc(100dvh - clamp(4.38rem, 3.666rem + 1.905vw, 5.38rem));}
}


/**************************************************
 ■ cts1 공지사항/갤러리
**************************************************/
.cts1 .flex{gap:5rem; flex-wrap:wrap;}
.cts1 .notice{flex:1;}
.cts1 .gallery{width:41.5%;}

.more-title{display:flex; align-items: center; margin-bottom:clamp(1rem, 0.286rem + 1.905vw, 2rem); font-size:clamp(1.802rem, 1.482rem + 0.853vw, 2.25rem); line-height:1;}
.more-title a{margin-left: auto; display: flex; justify-content: center; align-items: center;  aspect-ratio: 1/1; width: clamp(2rem, 1.375rem + 1.667vw, 2.875rem); aspect-ratio: 1; border-radius: 50%; border: 1px solid var(--Theme-border); background: var(--Theme-Primary); --icon-width: 1.25rem;  --icon-color:#fff;  transition: all 0.65s ease-out 0s; -webkit-transition: all 0.65s ease-out 0s;}
.more-title a i{transition: all 0.2s ease-out 0s; -webkit-transition: all 0.2s ease-out 0s; }
.more-title a:is(:hover, :foucs){background: var(--Theme-Primary-30);}
.more-title a:is(:hover, :foucs) i{transform: rotate(90deg );}

.notice-list{display:flex; gap:clamp(0.75rem, 0.3rem + 1.2vw, 1.38rem); flex-direction: column; }
.notice-list a{display:flex; align-items: center; gap:0.5rem clamp(0.5rem, 0.143rem + 0.952vw, 1rem); padding:clamp(0.5rem, 0.143rem + 0.952vw, 1rem); border-radius: 0.625rem; background: var(--Basic-Gray);  font-weight: 500; font-size: clamp(0.875rem, 0.83rem + 0.119vw, 0.938rem);  line-height:clamp(1.75rem, 1.482rem + 0.714vw, 2.125rem); -webkit-transition: all 0.2s ease-out 0s; transition: all 0.2s ease-out 0s;}
.notice-list a .cate{display: inline-flex; padding: 0 0.5rem; justify-content: center; align-items: center; border-radius: 0.25rem; background: var(--Basic-white); color: var(--Theme-Primary); font-weight: 700;}
.notice-list a .subject{flex:1; text-overflow: ellipsis; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; align-self: stretch; overflow: hidden; color: var(--Basic-Black-100); font-size: clamp(1.125rem, 1.036rem + 0.238vw, 1.25rem);}
.notice-list a .date{color: var(--Basic-Black-70);}
.notice-list a:is(:hover, :foucs){background: var(--Theme-Primary_subtler);} 

.cal-banner{margin-top:2.5rem; display:flex; gap:1rem 4rem; }
.cal-banner h4{font-size: clamp(1.424rem, 1.191rem + 0.621vw, 1.75rem); font-weight: 700; flex-shrink: 0;}
.cal-banner h4 span{display:block; font-size: clamp(1.125rem, 1.036rem + 0.238vw, 1.25rem); color: var(--Theme-Primary_point); }
.cal-banner a{position:relative;  display:flex; align-items: center; justify-content: center; flex:1; gap:1rem; color:#fff;  font-size: var(--font-size-17);  text-align: center; padding: 0.6rem 2rem 0.4rem; text-wrap-style: balance;}
.cal-banner a:before{content:""; position:relative; display:block; flex-shrink: 0; width: clamp(4.4rem, 3.525rem + 2.333vw, 5.625rem); aspect-ratio: 90.00/72.19; background:url('/res/home/publish/assets/images/main/img_calendars.webp')no-repeat 0 0/100%; margin-top: -1.5rem;}
.cal-banner a:after{content:""; position:absolute; left:0; bottom:0; width:100%; height:95%;  background:linear-gradient(91deg, #FF6A2E 11.89%, #FF6200 54.62%, #F14500 97.36%);border-radius: 0.625rem; clip-path: polygon(1.25rem 0%, calc(100% - 1.25rem) 0%, 100% 1.25rem, 100% 100%, 0 100%, 0% 1.25rem); z-index:-1;}
.cal-banner a i{width: 1.875rem; aspect-ratio: 1/1; background:#fff; border-radius:50%; --icon-width: 1.15rem;  --icon-color:var(--Theme-Primary_point); transition: all 0.2s ease-out 0s; -webkit-transition: all 0.2s ease-out 0s;}
.cal-banner a:is(:hover, :foucs) i{transform: rotate(90deg );}

.gallery{display: flex; flex-direction: column;}
.gallery-slide-wrap{position:relative; flex:1;}
.gallery-slide{border-radius: 0.625rem; overflow:hidden; height:100%;}
.gallery-slide .swiper{height:100%;}
.gallery-slide a{position:relative; display:block; width:100%; height:100%;}
.gallery-slide a .gal-bg{display:block; width:100%; height:100%; background-repeat:no-repeat; background-position:50% 50%; background-size:auto 100%;  transition: background 1.5s ease-out 0s; -webkit-transition: background 1.5s ease-out 0s;}
.gallery-slide a .gal-text{position:absolute; left:0; bottom:0; background: linear-gradient(180deg, rgba(7, 144, 255, 0.00) 0%, rgba(7, 144, 255, 0.80) 100%);  padding: clamp(1rem, 0.643rem + 0.952vw, 1.5rem); color:#fff;     z-index: 0; padding-right:16.25rem; font-weight: 500; }
.gallery-slide a .gal-text .subject{font-size: clamp(1.125rem, 1.036rem + 0.238vw, 1.25rem); text-overflow: ellipsis; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; align-self: stretch; overflow: hidden;}
.gallery-slide a .gal-text .date{font-size:clamp(0.875rem, 0.83rem + 0.119vw, 0.938rem); display:block; margin-top:clamp(0.5rem, 0.143rem + 0.952vw, 1rem);}
.gallery-slide a .gal-text .date i{vertical-align: middle; margin-right:0.4rem; width: clamp(1.313rem, 1.134rem + 0.476vw, 1.563rem); aspect-ratio: 1/1; border-radius: 50%; background: var(--Theme-Primary_sub); --icon-width: clamp(0.75rem, 0.664rem + 0.229vw, 0.87rem);  --icon-color:#fff; }
.gallery-slide a .gal-text:before{content:""; position:absolute; left:0; bottom:0; width:100%; height:110%; backdrop-filter: blur(15px); -webkit-mask: linear-gradient(to top, #000 calc(100% - 50px), transparent calc(100% - 2px)); mask: linear-gradient(to top, #000 calc(100% - 50px), transparent calc(100% - 2px)); -webkit-mask-size: 100%; mask-size: 100%; -webkit-mask-repeat: no-repeat;  mask-repeat: no-repeat; z-index: -1;}
.gallery-slide a:focus{border-radius: 0.625rem; outline:2px solid var(--Theme-Primary_sub); outline-offset: -2px; box-shadow: none;}
.gallery-slide a:is(:hover, :foucs) .gal-bg{background-size: auto 110%;}

.youtube-box{position:absolute; right:0px; bottom:0px; z-index:2; padding:clamp(1rem, 0.643rem + 0.952vw, 1.5rem) 0 0 clamp(1rem, 0.643rem + 0.952vw, 1.5rem); background:#fff;  border-top-left-radius: 0.825rem; width:15.25rem;}
.youtube-box:before,
.youtube-box:after{content:"";  position:absolute;  width: 0.625rem; height: 0.625rem; border-bottom-right-radius: 0.625rem; box-shadow: 0.5rem 0.5rem 0 0.5rem #fff;}
.youtube-box:before{right:0; top: -0.625rem;}
.youtube-box:after{left:-0.625rem; bottom: 0;}
.youtube-box a{display:block; border-radius: 1rem; }
.youtube-box span{display:block; }
.youtube-box .thumb{aspect-ratio: 16/9; background-repeat:no-repeat; background-position:50% 50%; background-size:cover; border-radius: 1rem 1rem 0 0;}
.youtube-box .yut-text{padding: 1rem 1.5rem; border-radius: 0 0 1rem 1rem; background: var(--Basic-Gray); font-weight: 500;}
.youtube-box .yut-text .subject{font-size: 1.125rem; text-overflow: ellipsis; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; align-self: stretch; overflow: hidden; color: var(--Basic-Black-100); word-break: break-word;}
.youtube-box .yut-text .date{font-size:clamp(0.875rem, 0.83rem + 0.119vw, 0.938rem); display:block; margin-top:clamp(0.5rem, 0.143rem + 0.952vw, 1rem); color: var(--Basic-Black-70);}
.youtube-box .yut-text .date i{vertical-align: middle; margin-right:0.4rem; width: clamp(1.313rem, 1.134rem + 0.476vw, 1.563rem); aspect-ratio: 1/1; border-radius: 50%; background: #E4261D; --icon-width: clamp(0.75rem, 0.664rem + 0.229vw, 0.87rem);  --icon-color:#fff;}

@media (max-width:1680px){ 
	.cts1 .flex{gap:2.5rem;}
}
@media (max-width:1024px){ 
	.cts1 .gallery{width:100%;}
	.gallery-slide a{aspect-ratio: 3 / 2;}
	.gallery-slide a .gal-bg{background-size: 100% auto;}
	.gallery-slide a .gal-text{padding-right:calc(35% + 1rem); }
	.gallery-slide a:is(:hover, :foucs) .gal-bg{background-size: 110% auto;}
	.youtube-box{width:35%;}
}
@media (max-width:768px){ 
	.notice-list a{flex-wrap:wrap; justify-content: space-between;}
	.notice-list a .cate{order:1;}
	.notice-list a .date{order:2;}
	.notice-list a .subject{order:3; flex:0 0 100%;}

	.cal-banner{flex-direction: column;}
	.cal-banner h4{text-align:center; display: flex;  align-items: center;  justify-content: center; flex-wrap:wrap; gap:0.5rem;}
	.cal-banner h4 span{display:inline-block; }
	.cal-banner a{padding:0.8rem 1.5rem}
	
	.gallery-slide{height:auto;}
	.gallery-slide a .gal-text{padding-right:0; }
	.youtube-box .yut-text .subject,
	.gallery-slide a .gal-text .subject{-webkit-line-clamp: 1;}
	.youtube-box{position:relative; right:auto; bottom:auto; width:100%; padding:0; margin-top:1rem;}
	.youtube-box:before, .youtube-box:after{display:none;}
}

/**************************************************
 ■ cts2 교육안내
**************************************************/
.cts2{background:url('/res/home/publish/assets/images/main/bg_cts2.webp')no-repeat 80% 50%/cover;}

.edu-boxs{display:flex; gap:var(--gap-24); }
.edu-boxs .hrdi{display:inline-block; height:clamp(0.75rem, 0.571rem + 0.476vw, 1rem); aspect-ratio: 150/16; background:url('/res/home/publish/assets/images/main/img_text_b.svg')no-repeat 0 0/100%; }
.edu-boxs h4{margin-top:clamp(1rem, -0.071rem + 2.857vw, 2.5rem); font-size: clamp(1.602rem, 1.318rem + 0.758vw, 2rem); font-weight: 700; color: var(--Theme-Primary); line-height:1;}
.edu-boxs p{font-size: clamp(1rem, 0.821rem + 0.476vw, 1.25rem); margin-top:1rem; line-height:1.5;}
.edu-boxs .more{margin-top:auto; margin-left: 0; font-size: var(--font-size-17); font-weight: 500; color: var(--Theme-Primary); --icon-width: 0.875rem;  --icon-color:var(--Theme-Primary);}
.edu-boxs .more i{-webkit-transition: all 0.2s ease-out 0s; transition: all 0.2s ease-out 0s;}
.edu-boxs :is(:hover, :focus) .more{text-decoration:underline; text-underline-position: under;}
.edu-boxs :is(:hover, :focus) .more i{transform:translateX(0.5rem);}
.edu-boxs :is(.edu-box1, .item){ display: flex; flex-direction: column; align-items: flex-start; padding: clamp(1.5rem, -0.286rem + 4.762vw, 4rem) clamp(1.5rem, 0.786rem + 1.905vw, 2.5rem); border-radius: 0.625rem;}
.edu-boxs .edu-box1{flex: 0 0 21.875rem; background: var(--Theme-Primary) url('/res/home/publish/assets/images/main/img_edu-bg01.svg')no-repeat right bottom; color:#fff;}
.edu-boxs .edu-box1 .hrdi{background:url('/res/home/publish/assets/images/main/img_text_w.svg')no-repeat 0 0/100%;}
.edu-boxs .edu-box1 h4{color:#fff;}
.edu-boxs .edu-box1 .more{color:#fff; --icon-color:#fff;}
.edu-boxs .edu-box2{position:relative; flex:1; text-align:center; z-index:0; padding:clamp(1.5rem, 0.786rem + 1.905vw, 2.5rem) clamp(1rem, -0.071rem + 2.857vw, 2.5rem) clamp(1rem, -0.071rem + 2.857vw, 2.5rem);}
.edu-boxs .edu-box2:before{content:""; position:absolute; left:0; bottom:0; width:100%; height:100%;  background:#fff;border-radius: 0.625rem; clip-path: polygon(clamp(2rem, -0.143rem + 5.714vw, 5rem) 0%, calc(100% - clamp(2rem, -0.143rem + 5.714vw, 5rem)) 0%, 100% clamp(2rem, -0.143rem + 5.714vw, 5rem), 100% 100%, 0 100%, 0% clamp(2rem, -0.143rem + 5.714vw, 5rem)); z-index:-1;}
.edu-boxs .edu-box2 h4{margin-top:clamp(0.5rem, -0.036rem + 1.429vw, 1.25rem);}
.edu-boxs .edu-box2 ul{display:flex; gap:var(--gap-24); flex-wrap:wrap; margin-top:clamp(1.5rem, 0.857rem + 1.714vw, 2.4rem);}
.edu-boxs .edu-box2 ul li{display: flex; align-items: center; gap:0.5rem var(--gap-16); flex-wrap: wrap; width:calc((100% - var(--gap-24)) / 2); border-radius: 0.375rem; background: var(--Basic-Gray, #F2F2F2); padding:clamp(0.7rem, 0.2rem + 1.333vw, 1.4rem) clamp(0.7rem, 0.521rem + 0.476vw, 0.95rem); font-size: var(--font-size-20); font-weight: 700; text-align:left; }
.edu-boxs .edu-box2 ul li .thumb{display:inline-flex;align-items: flex-end; width: clamp(4rem, 2.839rem + 3.095vw, 5.625rem); aspect-ratio: 45 / 34; flex-shrink: 0; line-height:0.7; border-radius: 0.25rem; font-size: clamp(1.424rem, 1.102rem + 0.859vw, 1.875rem); font-weight: 900; color: var(--Theme-Primary_subtler);}
.edu-boxs .edu-box2 ul li:nth-child(1),
.edu-boxs .edu-box2 ul li:nth-child(4){background:var(--Theme-Primary_subtler);}
.edu-boxs .edu-box2 ul li:nth-child(1) .thumb{background: url('/res/home/publish/assets/images/main/img_edu01.webp')no-repeat right bottom;}
.edu-boxs .edu-box2 ul li:nth-child(2) .thumb{background: url('/res/home/publish/assets/images/main/img_edu02.webp')no-repeat right bottom;}
.edu-boxs .edu-box2 ul li:nth-child(3) .thumb{background: url('/res/home/publish/assets/images/main/img_edu03.webp')no-repeat right bottom;}
.edu-boxs .edu-box2 ul li:nth-child(4) .thumb{background: url('/res/home/publish/assets/images/main/img_edu04.webp')no-repeat right bottom;}
.edu-box3-wrap{width:21.875rem; position:relative;}
.edu-box3-wrap .control{position:absolute; right:0px; top:-1.5rem; gap:0.5rem; --btn-width:3rem; --btn-icon-width:1.375rem; --btn-background:#fff; --btn-border:#fff; filter: drop-shadow(0px 4px 10px rgba(0,0,0,0.08)); z-index:1;}
.edu-box-slide{height:100%;}
.edu-boxs .item.edu-box3{background: #fff url('/res/home/publish/assets/images/main/img_edu-bg02.svg')no-repeat right bottom; height:100%;}
.edu-boxs .item.edu-box4{background: #fff url('/res/home/publish/assets/images/main/img_edu-bg03.svg')no-repeat right bottom; height:100%;}
.edu-boxs .item:focus{outline:2px solid var(--Theme-Primary_sub); outline-offset: -4px; box-shadow: none;}

@media (max-width:1280px){ 
	.edu-boxs{flex-wrap:wrap;}
	.edu-boxs .edu-box2{order:1; flex:0 0 100%;}
	.edu-boxs .edu-box1{order:2; }
	.edu-boxs .edu-box3-wrap{order:3; }
	.edu-boxs .edu-box1,
	.edu-boxs .edu-box3-wrap{flex:0 0 calc((100% - var(--gap-24)) / 2); width: calc((100% - var(--gap-24)) / 2);}
	.edu-box3-wrap .control{top:auto; bottom:-1.5rem;}
	.edu-boxs .more{margin-top:2rem;}
}
@media (max-width:768px){ 
	.edu-boxs .edu-box1,
	.edu-boxs .edu-box3-wrap{flex:0 0 100%; width: 100%;}
}

/**************************************************
 ■ cts3 교육신청
**************************************************/
.cts3 .inner{ position:relative;}
.cts3 .control{position:absolute; right:0px; top:7.5rem; --btn-width:3rem; --btn-icon-width:1.375rem; --btn-background:var(--Basic-Gray); --btn-border:var(--Theme-border); z-index:1;}

.prog-slide{ height: calc(clamp(25.75rem, 20.036rem + 15.238vw, 33.75rem) + 8px); width:calc(100% + 8px); margin-left:-4px; padding:4px; }
.prog-slide .item{height:80%; color: #fff; background:var(--Theme-Primary_sub);  border-radius: 0.625rem;}
.prog-slide .item > a {position:relative; display: block;height: 100%;border-radius: 0.625rem; overflow: hidden; }
.prog-slide .item > a:before{content:""; position:absolute; left:0px; top:0px; width:100%; height:100%; background:rgba(0,0,0,0.2); z-index:1;}
.prog-slide .item > a:focus-visible{outline:2px solid  var(--Brand-Color-main); outline-offset: 2px;}
.prog-slide .item .img {display: block;position: absolute;left: 50%;top: 50%;width: 101%;height: 101%; border-radius: 0.625rem;-webkit-transform: translate(-50%, -50%);transform: translate(-50%, -50%);overflow: hidden; }
.prog-slide .item .img img {position: absolute;left: 50%;top: 50%;min-width: 100%;max-width: 800%;min-height: 100%;-webkit-transform: translate(-50%, -50%);transform: translate(-50%, -50%);-webkit-transition: all 0.5s;transition: all 0.5s;}
.prog-slide .item .text {position: absolute;left: 0; top: 2.5rem; width: 100%; opacity: 1;-webkit-transition: opacity 0.6s 0.4s;transition: opacity 0.6s 0.4s;z-index: 1;-webkit-box-sizing: border-box;box-sizing: border-box;padding:2.5rem clamp(1.5rem, 0.429rem + 2.857vw, 3rem);}
.prog-slide .item .text .subject {font-size:var(--font-size-24); font-weight:700;text-shadow: 0 0.4rem 1rem rgb(0 0 0 / 25%); opacity:1; display:inline-block; writing-mode: vertical-rl;   text-orientation: upright;letter-spacing: -0.2em;position:absolute;left:50%; top:0;transform:translateX(-75%); line-height:1; text-shadow: 0 4px 10px rgba(0, 0, 0, 0.35);}
.prog-slide .item .text .cont{width: 100%; font-size: clamp(1rem, 0.821rem + 0.476vw, 1.25rem); font-weight:500; text-shadow: 0 0.4rem 0.4rem rgb(0 0 0 / 25%); margin-top:1rem; opacity:0; visibility: hidden; line-height:1.5;}
.prog-slide .item .num {font-size:var(--font-size-24); position:absolute; left:clamp(1.5rem, 0.429rem + 2.857vw, 3rem); top:2.5rem; font-weight:700; opacity:0; z-index:1;  text-shadow: 0 4px 10px rgba(0, 0, 0, 0.35);}

/*슬라이드 엑티브 했을때*/
.prog-slide .item.active {flex:1; height:100%; }
.prog-slide :is(.item.active, .swiper-slide-active) > a:before{background:rgba(0,0,0,0.0);}
.prog-slide :is(.item.active, .swiper-slide-active) .img{clip-path: polygon(0 0, calc(100% - 5rem) 0%, 100% 5rem, 100% 100%, 0 100%);}
.prog-slide :is(.item.active, .swiper-slide-active):after{content:""; position: absolute; right:1.5rem; top:1rem; width:35px; aspect-ratio: 35 / 50; background:url('/res/home/publish/assets/images/main/sysbol.svg')no-repeat 0 0/100%;}
.prog-slide :is(.item.active, .swiper-slide-active) .text {top:auto;bottom:0; background: linear-gradient(0deg, rgba(0,0,0,0.5), rgba(0,0,0,0.0) );}
.prog-slide :is(.item.active, .swiper-slide-active) .text .subject {display:block; letter-spacing:-0.005em;writing-mode: inherit;  text-orientation: inherit; font-size:clamp(1.602rem, 1.318rem + 0.758vw, 2rem); position:relative;left:auto;transform:translateX(0); opacity:1; transition: opacity 0.4s 0s;}
.prog-slide :is(.item.active, .swiper-slide-active) .text .cont{display: block; opacity:1; visibility: visible; transition: opacity 0.6s 0.2s;}
.prog-slide :is(.item.active, .swiper-slide-active) .num{opacity:1;  transition: opacity 0.4s 0.1s;}

@media (min-width:1026px){ 
	.prog-slide .swiper-wrapper{gap:1.5rem; align-items: flex-end}
	.prog-slide .item {  width: 5.875rem; transition: width 0.3s , height 0.3s ease-in-out;}
}
@media (min-width:1440px){ 
	.prog-slide .item { width: 7.875rem; }
}
@media (max-width:1025px){ 
	.prog-slide .swiper-wrapper{gap:0; align-items:normal;} 
	.prog-slide .item{height:100%;}
	.prog-slide .item.active{flex:0 0 100%;}
	.prog-slide .item .text .subject,
	.prog-slide .item .num{opacity:0;}
	.cts3 .control{position:relative; right:auto; top:auto; margin-top:1rem; justify-content: center;}

}

/**************************************************
 ■ cts4 교육장소
**************************************************/
.cts4{background: var(--Theme-Gradient_BG);}
.cts4 .flex{gap:2.5rem; align-items: flex-end;}
.cts4 .set-title{margin-bottom:0;}

.map-cont{flex:1;}
.main-map-frame{display:flex; flex-wrap:wrap; filter: drop-shadow(0px 0px 1px #ddd); }
.main-map-frame .main-map__wrap{flex: 1; background:#fff; border-radius: 0.625rem 0 0 0.625rem; padding:1.67rem 0 1.67rem 2rem;}
.main-map-frame .main-map{position:relative; height: 100%;}
.main-map-frame .main-map .map-pin{position:absolute; left:52%; top:31%;  z-index:5;}
.main-map-frame .main-map .wrap_map{width: 100% !important; height:100%  !important; position: relative;}
.main-map-frame .main-map .wrap_map .map{width:100%; height:100%; border:1px solid #D9D9D9; border-radius:0.625rem}
.main-map-frame .main-map .wrap_map .wrap_btn_zoom{ position: absolute; right:0; bottom:0; margin: 0; top: auto; height:auto; z-index:2; background:#fff; border-radius:1.875rem 0 0 0; padding:1rem 0 0 1rem; box-shadow: -1px -1px 0 0.1px #ddd;}
.main-map-frame .main-map .wrap_map .wrap_btn_zoom button{display: flex; align-items: center; justify-content: center; height: 2.875rem; aspect-ratio: 1/1; border-radius: 0.375rem; border: 1px solid var(--Theme-border); background: var(--Theme-Primary_subtler); margin-bottom: 0.5rem;}
.main-map-frame .main-map .wrap_map .wrap_btn_zoom button:before{content:""; display:block; width:1.5rem; aspect-ratio: 1; background:var(--Theme-Primary); forced-color-adjust: none; -webkit-mask-repeat: no-repeat; -webkit-mask-position: center center; -webkit-mask-size: contain; mask-repeat: no-repeat; mask-position: center center; mask-size: contain;}
.main-map-frame .main-map .wrap_map .wrap_btn_zoom button.btn_zoom_in:before{-webkit-mask-image: url(/res/home/publish/assets/images/icons/icon-plus.svg); mask-image: url(/res/home/publish/assets/images/icons/icon-plus.svg); }
.main-map-frame .main-map .wrap_map .wrap_btn_zoom button.btn_zoom_out:before{-webkit-mask-image: url(/res/home/publish/assets/images/icons/icon-minus.svg); mask-image: url(/res/home/publish/assets/images/icons/icon-minus.svg); }
.main-map-frame .main-map .wrap_map .wrap_btn_zoom button .img_zoom{display:none;}
.main-map-frame .main-map .wrap_map .wrap_btn_zoom .btn_zoom_reset{display:none;}

.main-map-frame .main-map__search{width:100%; padding-left:50%;}
.main-map-frame .main-map__search > div{position:relative; padding:1.65rem 2rem 0.85rem; height: 6.25rem; border-radius: 1.25rem 1.25rem 0 0; background: var(--Theme-Primary); z-index:0; }
.main-map-frame .main-map__search > div:before{content:""; position:absolute; left:0; bottom:-1px; width:100%; height:50%; background:#fff; clip-path: polygon(2.5rem 0%, calc(100% - 2.5rem) 0%, 100% 100%, 0 100%);; z-index:-1;}
.main-map-frame .main-map__search .input-button{display: flex; align-items: center; padding: 0.25rem 1rem; border-radius: 0.625rem; border: 2px solid #0D8EFF; background: #FFF;}
.main-map-frame .main-map__search .input-button input{border:none; padding:0; font-weight:700; font-size: var(--font-size-17);}
.main-map-frame .main-map__search .input-button a{display: flex; width: 2.25rem; justify-content: center; align-items: center; aspect-ratio: 1/1; border-radius:50%; background: var(--Theme-Primary); --icon-width: 1.15rem;  --icon-color:#fff;}
.main-map-frame .main-map__search-result{background:#fff; border-radius: 0 0 0.625rem 0; background: #FFF; padding:1.67rem 0.5rem 1.67rem 2rem; }
.main-map-frame .main-map__search-result .total{color: var(--Basic-Black-80); font-size: var(--font-size-17);}
.main-map-frame .main-map__search-result .total b{color: var(--Theme-Primary);}
.main-map-frame .main-map__list{width:50%;}
.main-map-frame .company_list{max-height:18rem; overflow-y:auto; padding-top: 1rem;}
.main-map-frame .company_list li{cursor:pointer; --padding-y:clamp(1rem, 0.821rem + 0.476vw, 1.25rem); padding:var(--padding-y) clamp(1rem, 0.643rem + 0.952vw, 1.5rem) }
.main-map-frame .company_list li button{width: 100%; text-align: left;}
.main-map-frame .company_list li:not(:first-child){background:url('/res/home/publish/assets/images/main/border.svg')repeat-x 0 top/auto 1px;}
.main-map-frame .company_list li .txt-spot{display:block; font-size: var(--font-size-20); font-weight: 600; }
.main-map-frame .company_list li .txt-add{display: flex; position:relative; font-size: var(--font-size-17); color: var(--Basic-Black-80); --icon-width: 1rem;  --icon-color:var(--Theme-Primary_point, #FF6A2E); margin-top:0.5rem;}
.main-map-frame .company_list li .txt-add b{flex-shrink: 0; color: var(--Basic-Black-100);font-weight: 700; margin-right:0.62rem;}
.main-map-frame .company_list li.is-active{border-radius: 0.625rem; background: var(--Theme-Primary_subtler); border:none; --padding-y:1rem;}
.main-map-frame .company_list li.is-active + li{background:none;}

.map-banner{flex: 0 0 21.375rem;}
.map-banner a{display:block; border-radius: 0.625rem; border: 1px solid var(--Theme-border); background:var(--ban-bg); --ban-bg: #fff; --ban-background:#fff; --ban-color:#fff; -webkit-transition: all 0.2s ease-out 0s; transition: all 0.2s ease-out 0s; }  
.map-banner a strong{display:flex; align-items: center; gap: var(--gap-16); padding:0 clamp(1rem, 0.286rem + 1.905vw, 2rem); height: clamp(5rem, 3.571rem + 3.81vw, 7rem); font-size: clamp(1.125rem, 1.036rem + 0.238vw, 1.25rem); font-weight: 600; color:var(--ban-color)}
.map-banner a strong i{display: flex; width: clamp(3rem, 2.464rem + 1.429vw, 3.75rem); justify-content: center; align-items: center; flex-shrink: 0; aspect-ratio: 1/1; border-radius: 50%; background: var(--ban-background);}
.map-banner a.main-ban01{--ban-background:var(--Theme-Primary_subtler); --ban-color:var(--Basic-Black-100);}
.map-banner a.main-ban01 span{display:block; width:calc(100% - 2.5rem); margin:1.25rem auto 0; background:var(--Theme-Primary_subtler); text-align: right; border-radius: 0.625rem;}
.map-banner a.main-ban01 span img{margin-top:-3rem;}
.map-banner a.main-ban02{--ban-bg:  var(--Theme-Primary_sub); margin-top:2.5rem; }
.map-banner a.main-ban02:is(:hover, :focus){--ban-bg:  var(--Theme-Primary_sub-60);}

@media (max-width:1280px){ 
	.map-banner {flex: 0 0 15rem;}
}

@media (max-width:1028px){ 
	.cts4 .flex{flex-wrap:wrap;}
	.map-banner{flex: 0 0 100%; display: flex; gap: clamp(0.5rem, 0.143rem + 0.952vw, 1rem); flex-wrap: wrap;}
	.map-banner a{flex:1;}
	.map-banner a.main-ban01 span{display:none;}
	.map-banner a.main-ban02{margin-top:0;}
}
@media (max-width:768px){ 
	.cts4 .set-title{margin-bottom: clamp(2rem, 0.571rem + 3.81vw, 4rem)}
	.main-map-frame .main-map__search{padding-left:0;}
	.main-map-frame .main-map__search > div{ padding: 1rem 1rem 0.85rem; height: auto;}
	.main-map-frame .main-map__list{width:100%;}
	.main-map-frame .main-map__wrap{padding:1rem; border-radius:0;}
	.main-map-frame .main-map{aspect-ratio: 3 / 2;}
	.main-map-frame .main-map__search-result{padding:0 0.5rem 1rem 1rem; border-radius:0 0 0.625rem 0.625rem;}
}

/* ==============================
   최상단 알림 배너
============================== */
:root {--top-notice-height: 74px;}
.top-notice {position: relative; display: none; width: 100%; height: var(--top-notice-height); background: linear-gradient(90deg, #26728e 0%, #245c91 45%, #29378f 100%); color: #fff; z-index: 1200;}
.top-notice.is-open {display: block !important;}
.top-notice__inner {width: 100%; max-width: 1280px; height: 100%; margin: 0 auto; padding: 0 24px; display: flex; align-items: center; justify-content: space-between; gap: 30px;}
.top-notice__link {min-width: 0; display: flex; align-items: center; gap: 20px; color: #fff; text-decoration: none;}
.top-notice__link:hover, .top-notice__link:focus {color: #fff; text-decoration: none;}
.top-notice__link:hover .top-notice__title, .top-notice__link:focus .top-notice__title {text-decoration: underline; text-underline-offset: 5px;}
.top-notice__icon {flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%; background-color: rgba(255, 255, 255, 0.2); font-size: 22px; color: #fff;}
.top-notice__title {overflow: hidden; display: block; color: #fff; font-size: 20px; font-weight: 700; line-height: 1.4; white-space: nowrap; text-overflow: ellipsis;}
.top-notice__control {flex: 0 0 auto; display: flex; align-items: center; gap: 12px;}
.top-notice__today {display: inline-flex; align-items: center; gap: 8px; color: #fff; font-size: 14px; font-weight: 600; cursor: pointer; white-space: nowrap;}
.top-notice__today input {width: 18px; height: 18px; margin: 0; accent-color: #fff; cursor: pointer;}
.top-notice__close {display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; padding: 0; border: 0; background: transparent; color: #fff; font-size: 25px; cursor: pointer;}
body.has-top-notice #header.header {top: 0;}

/**************************************************
 ■ 메인 팝업
**************************************************/
.main-popup .mpop-slide .swiper-slide {width: 358px !important; height: 358px; border: 1px solid #d9d9d9; box-sizing: border-box; overflow: hidden;}
/* 팝업 제목과 컨트롤 정렬 */
.main-popup .mpop-head {display: flex; align-items: center; justify-content: space-between;}
/* 우측 컨트롤 한 줄 정렬 */
.main-popup .mpop-head .control {position: relative; display: flex; align-items: center; justify-content: flex-end; gap: 12px; width: auto; height: 40px;}

/* Swiper 기본 absolute 위치 제거 */
.main-popup .mpop-head .control .swiper-button-prev,
.main-popup .mpop-head .control .swiper-button-next,
.main-popup .mpop-head .control .swiper-button-stop {position: static !important; top: auto !important; right: auto !important; bottom: auto !important; left: auto !important; width: 36px; height: 36px; margin: 0 !important; transform: none !important; flex: 0 0 36px;}
/* 페이지 표시 위치 초기화 */
.main-popup .mpop-head .control .swiper-pagination {position: static !important; top: auto !important; right: auto !important; bottom: auto !important; left: auto !important; display: flex; align-items: center; justify-content: center; gap: 7px; width: auto !important; margin: 0; transform: none !important;}
/* 점 간격은 gap으로 처리 */
.main-popup .mpop-head .control .swiper-pagination-bullet {margin: 0 !important;}