@charset "utf-8";
/* ==========================================================================
   중앙대 보안대학원 서브페이지 스타일 (sub.css)
   --------------------------------------------------------------------------
   [목차]
   01. 공통 레이아웃 (#allWrap.sub / nav 로고)
   02. 서브 비주얼 (#sVisual)
   03. 위치 / LNB (#location, .lnb)
   04. 콘텐츠 공통 래퍼 (.sContWrap, .sCont, .cont-sec)
   05. 공통 타이틀·텍스트 (.pu_box_tit, .ani_txt, p.txt)
   06. 공통 리스트 (.dott_list, .class-list)
   07. 공통 탭 (.link_tab)
   08. 공통 테이블 (.table_con_wrap)
   09. sub1_1 대학원 개요 (#sAbout)
   10. sub1_2 설립목적 (#sPurp)
   11. sub1_3 비전 및 목표 (#sVis / 조직도 .org)
   12. sub1_6 찾아오시는 길 (#sContact)
   13. sub3_x 학과소개·교과과정·교과목 (#sMajor)
   14. sub4_x 입학안내 (#sAdmis)
   15. 공통 애니메이션 (keyframes)
   --------------------------------------------------------------------------
   * 반응형 브레이크포인트: 1600 / 1400 / 1200 / 1024 / 768 / 500
   * 각 섹션의 미디어쿼리는 해당 섹션 하단에 배치 (max-width 내림차순)
   ========================================================================== */


/* ==================================================
   01. 공통 레이아웃
   ================================================== */
#allWrap.sub{overflow-x: hidden; padding-top: 0; background: #fff;}

.nav .cs-logo a img.logo_w{display: none;}
.nav .cs-logo a img.logo_b{display: block !important;}

.nav h1.pc-menu button.pc-sm img.all_icon_w{display: none;}
.nav h1.pc-menu button.pc-sm img.all_icon_c{display: block !important;}


/* ==================================================
   02. 서브 비주얼 (#sVisual)
   ================================================== */
#sVisual{position: relative; z-index: 9;}
#sVisual .sVis_wr{position: relative; display: block; width: 98%; max-width: 1880px; min-height: 370px; margin: 0 auto; padding-top: 185px;}
#sVisual .sVis_wr::before{content: ''; width: 518px; height: 147px; background: url('/images/main/visual_bf_white.png') no-repeat 0 0; background-size: cover; position: absolute; left: 0; top: 19px;}
#sVisual .sVis_wr::after{content: ''; width: 110px; height: 82px; transform: skew(-330deg) translateX(5%); z-index: 1; position: absolute; right: -2px; top: 18px; background-color: #fff; border-radius: 0 0 0 18px;}

/* 슬로건 : 우측 LNB(#location) 영역을 침범하지 않도록 padding-right 로 폭을 확보 */
#sVisual .slogan{position: relative; line-height: 1.1; z-index: 10; display: block; margin: 0 auto; padding-left: 5%; padding-right: 740px;}
#sVisual .slogan .big-tit{position: relative; margin-bottom: 10px; font-weight: 700; font-size: 46px; color: #fff; line-height: 1.2; letter-spacing: -1px; word-break: keep-all;}
#sVisual .slogan .loca{width: 100%; padding: 10px 0; z-index: 10;}
#sVisual .slogan .loca ul.loc{display: flex; flex-wrap: wrap; align-items: center; row-gap: 4px;}
#sVisual .slogan .loca ul.loc li{display: inline-block; font-size: 18px; padding: 0 20px 0 0; color: #bbb; position: relative; word-break: keep-all;}
#sVisual .slogan .loca ul.loc li:after{display:block; width: 3px; height: 3px; background-color: #cdcdcd; border-radius:50%; content:''; position: absolute; right: 6px; top: 50%; margin-top: -1px;}
#sVisual .slogan .loca ul.loc li.last{color:#bbb; position: relative; padding: 0;}
#sVisual .slogan .loca ul.loc li.last:after{display:none;}
#sVisual .slogan .loca ul.loc li.home{display: flex; align-items: center;}
#sVisual .slogan .loca ul.loc li.home i{color: #bbb;}

/* 배경 이미지 : 래퍼 높이가 늘어나도 항상 하단까지 채워지도록 calc 사용 */
#sVisual .svWrap{overflow: hidden; position: absolute; top: 20px; left: 0; width: 100%; height: calc(100% - 20px); background: #000; border-radius: 40px; z-index: -1;}
#sVisual .svWrap .sv-img{width: 100%; height: 100%; min-height: 480px; position: relative; top: 0; left: 0; opacity: 1; animation: mymove 5s; background: url("/images/sub/sVisual_260616.jpg") no-repeat 50% 12% / cover;}

#sVisual .svWrap .sv-img1{background: url("/images/sub/sVisual_260616.jpg") no-repeat 50% bottom; background-size:cover;overflow: hidden;}
#sVisual .svWrap .sv-img2{background: url("/images/sub/sVisual_260616.jpg") no-repeat 50% bottom; background-size:cover;overflow: hidden;}
#sVisual .svWrap .sv-img3{background: url("/images/sub/sVisual_260616.jpg") no-repeat 50% bottom; background-size:cover;overflow: hidden;}
#sVisual .svWrap .sv-img4{background: url("/images/sub/sVisual_260616.jpg") no-repeat 50% bottom; background-size:cover;overflow: hidden;}
#sVisual .svWrap .sv-img5{background: url("/images/sub/sVisual_260616.jpg") no-repeat 50% bottom; background-size:cover;overflow: hidden;}

@media (max-width: 1600px){
	#sVisual .sVis_wr{padding-top: 172px;}
	#sVisual .sVis_wr::before{width: 400px; height: 115px;}
	#sVisual .sVis_wr::after{width: 90px; height: 66px;}
	#sVisual .slogan{padding-right: 680px;}
	#sVisual .slogan .big-tit{font-size: 42px;}
	#sVisual .slogan .loca ul.loc li{font-size: 17px;}
}
@media (max-width: 1400px){
	#sVisual .sVis_wr{min-height: 345px; padding-top: 156px;}
	#sVisual .sVis_wr::before{top: 14px; width: 404px; height: 105px;}
	#sVisual .sVis_wr::after{top: 13px; width: 82px; height: 67px;}
	#sVisual .svWrap{top: 15px; height: calc(100% - 15px); border-radius: 34px;}
	#sVisual .slogan{padding-right: 620px;}
	#sVisual .slogan .big-tit{font-size: 38px;}
	#sVisual .slogan .loca ul.loc li{padding: 0 18px 0 0; font-size: 16px;}
}
/* 1200 이하 : LNB 가 가로 전체로 내려오므로 padding-bottom 으로 자리를 미리 확보 (텍스트-버튼 겹침 방지) */
@media (max-width: 1200px){
	#sVisual .sVis_wr{min-height: 330px; padding-top: 128px; padding-bottom: 102px;}
	#sVisual .sVis_wr::before{top: 9px; width: 363px; height: 90px;}
	#sVisual .sVis_wr::after{top: 8px; width: 75px; height: 57px;}
	#sVisual .svWrap{top: 10px; height: calc(100% - 10px); border-radius: 30px;}
	#sVisual .slogan{padding-left: 4%; padding-right: 4%;}
	#sVisual .slogan .big-tit{font-size: 34px;}
	#sVisual .slogan .loca{padding: 8px 0 0;}
	#sVisual .slogan .loca ul.loc li{font-size: 16px;}
	/* 태블릿 이하는 이미지를 래퍼 크기에 맞춰 중앙 정렬 */
	#sVisual .svWrap .sv-img{min-height: 0;}
	#sVisual .svWrap .sv-img1,
	#sVisual .svWrap .sv-img2,
	#sVisual .svWrap .sv-img3,
	#sVisual .svWrap .sv-img4,
	#sVisual .svWrap .sv-img5{background-position: 50% 50%; background-attachment: unset; background-size: cover;}
}
@media (max-width: 1024px){
	#sVisual .sVis_wr{min-height: 306px; padding-top: 118px; padding-bottom: 96px;}
	#sVisual .sVis_wr::before{top: 8px; width: 364px; height: 78px;}
	#sVisual .sVis_wr::after{width: 68px; height: 56px;}
	#sVisual .svWrap{border-radius: 26px;}
	#sVisual .slogan .big-tit{font-size: 30px;}
	#sVisual .slogan .loca ul.loc li{padding: 0 15px 0 0; font-size: 15px;}
}
@media (max-width: 768px){
	#sVisual .sVis_wr{width: calc(100% - 20px); min-height: 274px; padding-top: 98px; padding-bottom: 80px;}
	#sVisual .sVis_wr::before{top: 8px; width: 308px; height: 74px;}
	#sVisual .sVis_wr::after{width: 68px; height: 49px; border-radius: 0 0 0 12px;}
	#sVisual .svWrap{border-radius: 20px;}
	#sVisual .slogan{margin: 0 auto; padding-left: 16px; padding-right: 16px;}
	#sVisual .slogan .big-tit{margin-bottom: 4px; font-size: 26px; letter-spacing: -0.6px;}
	#sVisual .slogan .loca{padding: 6px 0 0;}
	#sVisual .slogan .loca ul.loc li{padding: 0 14px 0 0; font-size: 14px;}
	#sVisual .svWrap .sv-img1,
	#sVisual .svWrap .sv-img2,
	#sVisual .svWrap .sv-img3,
	#sVisual .svWrap .sv-img4,
	#sVisual .svWrap .sv-img5{background-position:50% 50%;background-attachment:unset;background-size: cover;}
}
@media (max-width: 500px){
	#sVisual .sVis_wr{min-height: 244px; padding-top: 86px; padding-bottom: 68px;}
	#sVisual .sVis_wr::before{top: 6px; width: 232px; height: 54px;}
	#sVisual .sVis_wr::after{width: 58px; height: 39px; border-radius: 0 0 0 10px;}
	#sVisual .svWrap{border-radius: 16px;}
	#sVisual .slogan{padding-left: 12px; padding-right: 12px;}
	#sVisual .slogan .big-tit{font-size: 22px; letter-spacing: -0.5px;}
	#sVisual .slogan .loca ul.loc li{padding: 0 12px 0 0; font-size: 13px;}
	#sVisual .slogan .loca ul.loc li:after{right: 5px;}
}


/* ==================================================
   03. 위치 / LNB (#location, .lnb)
   ================================================== */
#location{position: absolute; bottom: 0; right: 0; display: block; width: auto; max-width: 100%; z-index: 10;}
.lnb{position: relative; z-index: 10; display: flex; justify-content: flex-start; align-items: stretch; gap: 10px; padding: 10px; border-radius: 30px 0 0 0; background: #fff;}
.lnb::before{content: ''; width: 5rem; height: 5rem; border-radius: 0 0 25px 0; box-shadow: 1rem 1rem 0 0 #fff; position: absolute; right: 0; top: -5rem;}
.lnb::after{content: ''; width: 5rem; height: 5rem; border-radius: 0 0 25px 0; box-shadow: 1rem 1rem 0 0 #fff; position: absolute; left: -5rem; bottom: 0;}
.lnb .lnb-map{display: flex; flex: 0 0 auto; width: auto; min-width: 0;}
.lnb .lnb-map:after{content:''; display:block; clear:both;}
.lnb .lnb-map li a{display:block;}
.lnb .lohom{position:relative; flex: 0 0 67px; align-self: center; width: 67px; height: 60px; z-index:1; background-color:transparent;}
.lnb .lohom > a{display:flex;align-items:center;justify-content:center;height: 100%;width: 100%;color: #121b60;font-size:18px;border-radius: 50%;position:relative;}
.lnb .lnb-map > li{flex: 0 0 300px; width: 300px; min-width: 0; backdrop-filter: blur(10px); border-radius: 10px; transition:all 0.4s ease;}
.lnb .lnb-map > li:hover{background: rgba(255, 255, 255, 0.05);}
.lnb .lnb-map > li:first-child{margin-right: 10px;}
.lnb .lnb-map li.depth{position:relative;}
.lnb .lnb-map li.depth ul{display:none;position:absolute;top: 70px;left:0;width:100%;padding: 20px 0;background:#fff;z-index:10;border-radius: 10px;box-shadow: 0 20px 20px 0px rgba(79, 85, 99, 0.2);}
.lnb .lnb-map li.depth ul li a{display: block; padding: 7px 28px; font-size: 16px; font-weight: 500; letter-spacing: -.5px; color: #333;}
.lnb .lnb-map li.depth ul li a:hover{color: #222;}
.lnb .lnb-map li a:after{/*arrow*/
	transform:rotate(135deg); top:50%; margin-top:-5px; right:26px; width:8px; height:8px; border-top: 2px solid #cdcdcd; border-right: 2px solid #cdcdcd;
	display:inline-block; position:absolute; content:""; transition:.3s ease-out;
}
.lnb .lnb-map li:first-child a:after{border-top:2px solid #cdcdcd; border-right:2px solid #cdcdcd;}
/* 메뉴명이 길어도 박스를 넘지 않도록 1줄 + 말줄임(ellipsis) 처리 */
.lnb .lnb-map li.depth a span{display:block; width:100%; height: 70px; line-height: 70px; font-size: 18px; font-weight: 500; letter-spacing: -.5px; color: #222; padding: 0 62px 0 28px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition:.1s ease-out;}
.lnb .lnb-map li.depth a.menu_active{box-shadow:15px 15px 20px 0 rgba(0,0,0,.1);}
.lnb .lnb-map li a.menu_active:after{border-color:#878894;transform:rotate(314deg);margin-top:-5px;}
.lnb .lnb-map li.depth a.menu_active span{position: relative; background: #fff; color: #222; border-radius: 25px 25px 0 0;}
.lnb .lnb-map li.depth a.menu_active span:after{content:''; position:absolute; bottom:0; left:28px; right:28px; height:1px; background:rgba(255,255,255,.1);}
.lnb .lnb-map li.depth ul.moreMenu li a{position:relative; word-break:keep-all;}
.lnb .lnb-map li.depth ul.moreMenu li a:after{display:none;}
.lnb .lnb-map li.depth ul.moreMenu li a.active{font-weight: 600; color: #3853ea;}
.lnb .lnb-map li.depth ul.moreMenu li a.active:after{opacity:1;}
.lnb .lnb-map li.depth ul.moreMenu li a:hover:after{opacity:1;}

@media (max-width: 1600px){
	.lnb .lnb-map > li{flex-basis: 270px; width: 270px;}
	.lnb .lnb-map li.depth a span{font-size: 17px; padding: 0 56px 0 24px;}
	.lnb .lnb-map li a:after{right: 22px;}
	.lnb .lnb-map li.depth ul li a{padding: 7px 24px; font-size: 15px;}
}
@media (max-width: 1400px){
	.lnb{gap: 8px; padding: 9px;}
	.lnb .lohom{flex-basis: 58px; width: 58px; height: 56px;}
	.lnb .lohom > a{font-size: 17px;}
	.lnb .lnb-map > li{flex-basis: 240px; width: 240px;}
	.lnb .lnb-map > li:first-child{margin-right: 8px;}
	.lnb .lnb-map li.depth a span{height: 62px; line-height: 62px; font-size: 16px; padding: 0 48px 0 20px;}
	.lnb .lnb-map li a:after{right: 20px;}
	.lnb .lnb-map li.depth ul{top: 62px; padding: 14px 0;}
	.lnb .lnb-map li.depth ul li a{padding: 7px 20px; font-size: 15px;}
}
/* 1200 이하 : 비주얼 하단에 가로 전체로 떠 있는 바 형태 */
@media (max-width: 1200px){
	#location{left: 0; right: 0; bottom: 22px; width: 100%; padding: 0 20px;}
	.lnb{gap: 8px; padding: 8px; border-radius: 16px; box-shadow: 0 12px 30px rgba(0, 0, 0, .14);}
	.lnb::before,
	.lnb::after{display: none;}
	.lnb .lnb-map{flex: 1 1 auto; width: auto; gap: 8px;}
	.lnb .lohom{flex: 0 0 52px; width: 52px; height: 54px;}
	.lnb .lnb-map > li{flex: 1 1 0; width: 50%; height: 54px; background: #f6f7f9; box-shadow: inset 0 0 0 1px #e8eaee;}
	.lnb .lnb-map > li:hover{background: #eef0f4;}
	.lnb .lnb-map > li:first-child{margin-right: 0;}
	.lnb .lnb-map > li > a{height: 54px;}
	.lnb .lnb-map li.depth a span{height: 54px; line-height: 54px; font-size: 15px; padding: 0 34px 0 16px;}
	.lnb .lnb-map li.depth a span,
	.lnb .lnb-map li.depth a.menu_active span{border-radius: 10px 10px 0 0;}
	.lnb .lnb-map li a:after{right: 16px;}
	.lnb .lnb-map li.depth ul{top: 54px; padding: 10px 0; border-radius: 0 0 10px 10px;}
	.lnb .lnb-map li.depth ul li a{padding: 7px 16px; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
}
@media (max-width: 1024px){
	#location{bottom: 20px; padding: 0 16px;}
	.lnb .lohom{flex-basis: 48px; width: 48px; height: 50px;}
	.lnb .lohom > a{font-size: 16px;}
	.lnb .lnb-map > li{height: 50px;}
	.lnb .lnb-map > li > a{height: 50px;}
	.lnb .lnb-map li.depth a span{height: 50px; line-height: 50px; font-size: 14px; padding: 0 30px 0 14px;}
	.lnb .lnb-map li a:after{right: 14px; width: 7px; height: 7px; margin-top: -4px;}
	.lnb .lnb-map li.depth ul{top: 50px;}
}
@media (max-width: 768px){
	#location{bottom: 15px; padding: 0 12px; margin-top: 0;}
	.lnb{gap: 6px; padding: 7px; border-radius: 14px;}
	.lnb .lohom{flex-basis: 40px; width: 40px; height: 44px;}
	.lnb .lohom > a{font-size: 15px;}
	.lnb .lnb-map{gap: 6px;}
	.lnb .lnb-map > li{height: 44px; border-radius: 10px;}
	.lnb .lnb-map > li > a{height: 44px;}
	.lnb .lnb-map li.depth a span{height: 44px; line-height: 44px; font-size: 13px; padding: 0 26px 0 12px;}
	.lnb .lnb-map li a:after{right: 12px;}
	.lnb .lnb-map li.depth ul{top: 44px; padding: 8px 0;}
	.lnb .lnb-map li.depth ul li a{padding: 7px 12px; font-size: 13px;}
}
@media (max-width: 500px){
	#location{bottom: 12px; padding: 0 10px;}
	.lnb{gap: 5px; padding: 6px; border-radius: 12px;}
	.lnb .lohom{flex-basis: 34px; width: 34px; height: 38px;}
	.lnb .lohom > a{font-size: 14px;}
	.lnb .lnb-map{gap: 5px;}
	.lnb .lnb-map > li{height: 38px; border-radius: 8px;}
	.lnb .lnb-map > li > a{height: 38px;}
	.lnb .lnb-map li.depth a span{height: 38px; line-height: 38px; font-size: 12px; padding: 0 20px 0 10px;}
	.lnb .lnb-map li a:after{right: 8px; width: 6px; height: 6px; margin-top: -4px;}
	.lnb .lnb-map li.depth ul{top: 38px; padding: 6px 0;}
	.lnb .lnb-map li.depth ul li a{padding: 6px 10px; font-size: 12px;}
}


/* ==================================================
   04. 콘텐츠 공통 래퍼 (.sContWrap, .sCont, .cont-sec)
   ================================================== */
.sContWrap{position:relative;width:100%;height:100%;min-height:500px;}
.sContWrap:after{display:block; content:""; clear:both;}
.sCont{width:90%;max-width: 1520px;min-height:500px;margin:0 auto;position:relative;word-break:keep-all; padding: 100px 0;}
.sCont .sCont-title{display:block;padding: 0px 0 60px;color: #222;font-size: 42px;line-height:1.6;font-weight: 700;letter-spacing: -1px;text-align:center;}

.cont-sec{position:relative;}
.cont-sec + .cont-sec{margin-top:80px;}
.cont-sec:nth-child(1){padding:0;}

@media (max-width: 1200px){
	.sCont{padding: 80px 0;}
	.sCont .sCont-title{font-size: 38px;}
}
@media (max-width: 1024px){
	.sCont{padding: 70px 0;}
	.sCont .sCont-title{padding-bottom: 40px; font-size: 34px;}
}
@media (max-width: 768px){
	.sCont .sCont-title{padding-bottom: 0;font-size:28px;line-height: 1.2;margin:0 auto 30px;}
	.sCont{padding: 60px 0;}
	.cont-sec + .cont-sec{margin-top:40px;}
}
@media (max-width: 500px){
	.sCont{padding: 50px 0;}
	.sCont .sCont-title{font-size: 24px;}
}


/* ==================================================
   05. 공통 타이틀·텍스트 (.pu_box_tit, .ani_txt, p.txt)
   ================================================== */
p.txt{color:#666;font-size: 18px;font-weight:400;letter-spacing:-0.5px;line-height:1.6;}
p.txt + p.txt{margin-top:20px;}

.ani_txt p.txt{margin-bottom: 20px; font-weight: 500; font-size: 20px; line-height: 1.7; color: #333; position: relative;}

.pu_box_tit > h3{display: block; margin-bottom: 20px; font-family:'pretendard', sans-serif; font-weight: 700; font-size: 30px; line-height: 1.3; color: #222; }
.pu_box_tit > h3 b{display: block; font-weight: 700; font-size: 48px;}
.pu_box_tit .l_tit{display: flex; align-items: center; gap: 15px; margin-bottom: 20px;}
.pu_box_tit .l_tit label{display: block; font-family:'pretendard', sans-serif; font-weight: 600; font-size: 20px; color: #3952ea;}
.pu_box_tit .l_tit .ripple{ position: relative; width: 32px; height: 32px; }
.pu_box_tit .l_tit .ripple::before,
.pu_box_tit .l_tit .ripple::after{
  content:""; position: absolute; inset: 0; border-radius: 50%; border: 3px solid #3952ea; opacity: .7;
  animation: ripple calc(1.8s * 1) ease-out infinite;
}
.pu_box_tit .l_tit .ripple::after{ animation-delay: .45s; opacity: .4; }

@media (max-width: 1400px){
	.pu_box_tit > h3{font-size: 28px;}
	.pu_box_tit > h3 b{font-size: 42px;}
}
@media (max-width: 1024px){
	.pu_box_tit > h3{font-size: 26px;}
	.pu_box_tit > h3 b{font-size: 36px;}
	.pu_box_tit .l_tit label{font-size: 18px;}
	.ani_txt p.txt{font-size: 18px;}
}
@media (max-width: 768px){
	p.txt{font-size:15px;}
	.p-txt{font-size:17px;}
	.pu_box_tit > h3{margin-bottom: 15px; font-size: 22px;}
	.pu_box_tit > h3 b{font-size: 30px;}
	.pu_box_tit .l_tit{gap: 10px; margin-bottom: 15px;}
	.pu_box_tit .l_tit label{font-size: 16px;}
	.pu_box_tit .l_tit .ripple{width: 24px; height: 24px;}
	.ani_txt p.txt{margin-bottom: 15px; font-size: 16px; line-height: 1.6;}
}
@media (max-width: 500px){
	.pu_box_tit > h3{font-size: 18px;}
	.pu_box_tit > h3 b{font-size: 24px;}
}


/* ==================================================
   06. 공통 리스트 (.dott_list, .class-list)
   ================================================== */
.class-list > li{font-size:17px; line-height:1.4; color:#666;}
.class-list > li + li{margin-top:5px;}
.inline-block{display:inline-block;}

.sCont .dott_list{width: 100%; margin-top: 20px; padding: 30px; background: #f9f9f9; border: 1px solid #eee; border-radius: 15px;}
.sCont .dott_list li{position: relative; margin-bottom: 15px; padding-left: 20px; font-size: 20px; letter-spacing: -0.5px; line-height: 1.5; word-break: keep-all; text-align: left;}
.sCont .dott_list li::before{content:''; position: absolute; top: 12px; left: 0; display: block; width: 5px; height: 5px; border-radius: 50%; background: #bbb;}
.sCont .dott_list li:last-child{margin-bottom: 0;}
.sCont .dott_list li i{color: #bbb; margin-right: 5px;}
.sCont .dott_list li b.red{color: #a70707;}
.sCont .dott_list li b.blue{color: #103868;}
.sCont .dott_list li p{margin-bottom: 15px; font-size: 18px; letter-spacing: -0.5px; line-height: 1.5; word-break: keep-all;}
.sCont .dott_list li:last-child p{margin-bottom: 0;}

@media (max-width: 1200px){
	.sCont .dott_list li{font-size: 18px;}
}
@media (max-width: 768px){
	.sCont .dott_list{padding: 20px; border-radius: 10px;}
	.sCont .dott_list li{padding-left: 15px; font-size: 16px;}
	.sCont .dott_list li p{font-size: 16px;}
	.class-list > li {font-size: 15px;}
}
@media (max-width: 500px){
	.sCont .dott_list{margin-top: 10px;}
	.sCont .dott_list li{padding-left: 13px; font-size: 15px;}
	.sCont .dott_list li p{font-size: 15px;}
}


/* ==================================================
   07. 공통 탭 (.link_tab) : 탭메뉴_링크O
   ================================================== */
.link_tab{position:relative; display:flex; flex-wrap:wrap; justify-content: center; gap: 10px; margin-bottom:40px;}
.link_tab:after{display:block; clear:both; content:"";}
.link_tab li {display: inline-block; position: relative; margin-left: -1px; margin-top: -1px; height: auto; line-height: 1.5;}
.link_tab a{font-size: 20px;text-align: center;position:relative;display: flex;flex-direction: column;table-layout:fixed;width:100%;height:100%;padding: 10px 30px;border: 1px solid #eee;background: #f9f9f9;box-sizing:border-box;font-weight:500;color:#888;justify-content: center;align-items: center; border-radius: 100px; transition:all 0.4s ease;}
.link_tab a:focus, .link_tab a:hover, .link_tab a:active {text-decoration:none; border-color: #cdcdcd;}
.link_tab .on{z-index:2;background: #222;border-color: rgba(255,255,255,1);color:#fff;font-weight: 500;}
.link_tab a small{display: block; font-size: 14px; opacity: .7;}

@media (max-width: 1024px){
	.link_tab a {font-size:16px;padding: 0 16px;}
	.link_tab li {min-height: 60px;}
}
@media (max-width: 768px){
	.link_tab {gap:0;padding: 10px 0;border-radius: 30px;}
	.link_tab li {width:calc(50% - 4px);padding: 4px;}
}
@media (max-width: 500px){
	.link_tab{border-radius: 12px;}
	.link_tab a{padding: 0 10px; border-radius: 10px;}
	.link_tab a small{font-size: 12px;}
}


/* ==================================================
   08. 공통 테이블 (.table_con_wrap)
   ================================================== */
.table_con_wrap{position:relative;margin: 0 auto;}
.table_con_wrap .table_prev_mo{display:none; position:absolute; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,.6); z-index:95;}
.table_con_wrap .table_prev_mo ul{position:absolute; top:50%; left:50%; margin:-11px 0 0 -75px;}
.table_con_wrap .table_prev_mo ul:after{content: ''; display:block; clear:both;}
.table_con_wrap .table_prev_mo ul li{float:left;}
.table_con_wrap .table_prev_mo ul li p{font-size:15px; color:#fff;}
.table_con_wrap .table_prev_mo ul li i{margin-top:4px; font-size:12px; color:#fff; animation:prevarrow .5s ease-in infinite alternate;}

/* 좌우 스크롤 안내 오버레이 : 스크롤 영역 첫 자식으로 배치, 클릭하면 사라짐(tail.php의 .table_prev_mo 공용 스크립트) */
.table_prev_mo.scroll_guide{display: none; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,.2); border-radius: 15px; z-index: 3; cursor: pointer;}
.table_prev_mo.scroll_guide p{position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: flex; align-items: center; gap: 8px; padding: 10px 20px; background: rgba(0,0,0,.6); border-radius: 50px; font-weight: 500; font-size: 14px; color: #fff; white-space: nowrap;}
.table_prev_mo.scroll_guide p i{font-size: 17px; animation: prevarrow .5s ease-in infinite alternate;}

@keyframes prevarrow{
	from{transform: translateX(-4px);}
	to{transform: translateX(4px);}
}
.table_con_wrap .subj-class-list {padding: 20px;grid-template-columns: 1fr 1fr 1fr;display:grid;gap: 10px;}
.table_con_wrap .subj-class-list > p{position:relative;background: rgba(255, 255, 255, .8);border:1px solid #e9eefb;color: #555;font-size: 16px;font-weight:500;line-height: 1.4;letter-spacing:-0.5px;border-radius:6px;text-align:center;padding: 9px 15px;display: flex;justify-content: center;align-items: center;}

.table_con_wrap .cir-t{position:relative;border-radius: 15px;margin:0;}
.table_con_wrap .cir-t table{width: 100%; border-radius:10px; overflow:hidden; border:1px solid rgba(31, 31, 31, 0.05); border-spacing: 5px;}
.table_con_wrap .cir-t table td{border-color: rgba(31, 31, 31, 0.05); background:rgba(255,255,255,.1); border-radius: 6px;}
.table_con_wrap .cir-t table thead th{padding: 10px;background: #121b60;font-family:'pretendard', sans-serif; font-weight: 400;font-size: 18px;color: #fff;border-color:rgb(255,255,255,.7);border-radius: 6px;}
.table_con_wrap .cir-t table thead th.w_BG{background: #fff; border: 1px solid #3853ea; font-weight: 600; color: #3853ea;}
.table_con_wrap .cir-t table tbody th{background: #e9eefb;border-color:#eee;border-radius: 6px;font-family:'pretendard', sans-serif;font-size: 18px; color: #222;}
.table_con_wrap .cir-t table tbody td{padding: 10px; font-family:'pretendard', sans-serif; font-size: 16px; font-weight: 500; line-height: 1.4; text-align: center; letter-spacing: -0.5px; color: #555; background: #f9f9f9; border: 1px solid #eee;}
.table_con_wrap .cir-t table tbody td a{font-size: 16px; font-weight: 500; line-height: 1.4; text-align: center; letter-spacing: -0.5px; color: #555;}
.table_con_wrap .cir-t table tbody td a.link{display: block; margin-top: 6px; padding: 6px 10px; border-radius: 50px; background: #e9eefb; border: 1px solid rgba(255,255,255,.1); transition:all 0.4s ease;}
.table_con_wrap .cir-t table tbody td a.link i{color: #3952ea;}
.table_con_wrap .cir-t table tbody td a.link:hover{border-color: #3952ea;}

.table_con_wrap .cir-t table tbody .blue th.tit{background: #d7ebfc;}
.table_con_wrap .cir-t table tbody .blue td .subj-class-list > p{border-color: #b4d9f7;}
.table_con_wrap .cir-t table tbody .green th.tit{background: #d4e8f9;}
.table_con_wrap .cir-t table tbody .green td .subj-class-list > p{border-color: #a5c1d9;}
.table_con_wrap .cir-t table tbody .purple th.tit{background: #cad6f6;}
.table_con_wrap .cir-t table tbody .purple td .subj-class-list > p{border-color: #8c9fcf;}
.table_con_wrap .cir-t table tbody .orange th.tit{background: #c3d1fd;}
.table_con_wrap .cir-t table tbody .orange td .subj-class-list > p{border-color: #98aae3;}

@media (max-width: 1024px){
	.table_con_wrap{overflow-x: auto;}
	.table_con_wrap .cir-t table{min-width: 700px;}
}
@media (max-width: 768px){
	.table_con_wrap > .table_prev_mo.scroll_guide{display: block;}
	.table_con_wrap .cir-t table thead th{padding: 8px; font-size: 15px;}
	.table_con_wrap .cir-t table tbody th{font-size: 15px;}
	.table_con_wrap .cir-t table tbody td{padding: 8px; font-size: 14px;}
	.table_con_wrap .cir-t table tbody td a{font-size: 14px;}
	.table_con_wrap .subj-class-list{padding: 12px; gap: 8px;}
	.table_con_wrap .subj-class-list > p{padding: 7px 10px; font-size: 14px;}
}


/* ==================================================
   09. sub1_1 대학원 개요 (#sAbout)
   ================================================== */
#sAbout .greet{position: relative; display: block; padding: 0 40px; border-radius: 40px;}
#sAbout .greet .flex_box{display: flex; justify-content: space-between;}
#sAbout .greet .txt_box{position: relative; width: calc(100% - 650px); padding-top: 70px;}
#sAbout .greet .txt_box::before{content: ''; position: absolute; top: 0; left: 0; display: block; width: 50px; height: 50px; background: url('../images/sub/sAbout_deco.png') no-repeat 0 0/contain; z-index: 0;}
#sAbout .greet .txt_box h3{display: block; width: 100%; margin-bottom: 20px; font-weight: 700; font-size: 38px; line-height: 1.3; color: #222; z-index: 0;}
#sAbout .greet .txt_box h3 b{font-weight: 700; color: #3853ea;}
#sAbout .greet .txt_box p{font-weight: 600; font-size: 26px; color: #555;}
#sAbout .greet .img_box{position: relative; width: 500px; margin-top: -40px;}
#sAbout .greet .img_box img{width: 100%;}
#sAbout .greet .img_box .name{position: absolute; bottom: 25px; left: -100px; display: inline-block; width: 240px; padding: 20px 30px; background: rgba(17,27,96,.8); backdrop-filter : blur(8px); border-radius: 20px;}
#sAbout .greet .img_box .name big{display: block; font-weight: 700; font-size: 30px; color: #fff;}
#sAbout .greet .img_box .name small{font-weight: 400; font-size: 18px; color: #fff; opacity: .8;}
#sAbout .greet .bar{position: absolute; bottom: 8px; left: 40px; display: block; width: 50%; height: 2px; background: #eee;}

#sAbout .ab_tit{padding: 40px 40px; border-bottom: 1px solid #eee;}
#sAbout .ab_tit > span.eng{display: block; margin-bottom: 20px; font-weight: 500; font-size: 18px; color: #3853ea;}
#sAbout .ab_tit > h3{display: block; margin-bottom: 20px; font-weight: 700; font-size: 28px; line-height: 1.3; color: #222; }
#sAbout .ab_tit > h3 b{display: block; font-weight: 700; font-size: 48px;}
#sAbout .ab_tit > p{font-weight: 600; font-size: 22px; color: #555;}
#sAbout .ani_txt{margin-top: 40px; padding: 0 40px;}
#sAbout .ab_box_wr p{font-weight: 200; font-size: 22px; color: #222;}

@media (max-width: 1400px){
	#sAbout .greet .txt_box{width: calc(100% - 560px);}
	#sAbout .greet .txt_box h3{font-size: 34px;}
	#sAbout .greet .img_box{width: 440px;}
	#sAbout .greet .img_box .name{left: -60px;}
}
@media (max-width: 1200px){
	#sAbout .greet{padding: 0 20px;}
	#sAbout .greet .txt_box{width: calc(100% - 460px); padding-top: 50px;}
	#sAbout .greet .txt_box h3{font-size: 30px;}
	#sAbout .greet .txt_box p{font-size: 22px;}
	#sAbout .greet .img_box{width: 400px;}
	#sAbout .ab_tit > h3 b{font-size: 42px;}
}
@media (max-width: 1024px){
	#sAbout .greet .flex_box{flex-direction: column;}
	#sAbout .greet .txt_box{width: 100%; padding-top: 40px;}
	#sAbout .greet .txt_box::before{width: 30px; height: 30px; left: calc(50% - 15px);}
	#sAbout .greet .txt_box h3{margin-bottom: 10px; font-size: 28px; text-align: center;}
	#sAbout .greet .txt_box p{font-size: 18px; text-align: center;}
	#sAbout .greet .img_box{width: 100%; max-width: 420px; margin: 40px auto 0;}
	#sAbout .greet .img_box .name{left: auto; right: -20px; bottom: 20px; width: 180px; padding: 15px 20px; border-radius: 10px;}
	#sAbout .greet .img_box .name big{font-size: 24px; line-height: 1;}
	#sAbout .greet .img_box .name small{display: block; margin-top: 10px; font-size: 16px; line-height: 1;}
	#sAbout .greet .bar{position: static; width: 100%; margin-top: 40px;}
	#sAbout .ab_tit{padding: 30px 20px;}
	#sAbout .ab_tit > h3 b{font-size: 36px;}
	#sAbout .ab_tit > p{font-size: 20px;}
	#sAbout .ani_txt{padding: 0 20px;}
	#sAbout .ab_box_wr p{font-size: 20px;}
}
@media (max-width: 768px){
	#sAbout .greet{padding: 0;}
	#sAbout .greet .txt_box h3{font-size: 26px;}
	#sAbout .greet .txt_box p{font-size: 18px;}
	#sAbout .greet .img_box .name{width: 170px;}
	#sAbout .greet .img_box .name big{font-size: 22px;}
	#sAbout .greet .img_box .name small{font-size: 15px;}
	#sAbout .ab_tit{padding: 30px 0;}
	#sAbout .ab_tit > span.eng{margin-bottom: 15px; font-size: 16px;}
	#sAbout .ab_tit > h3{font-size: 22px;}
	#sAbout .ab_tit > h3 b{font-size: 30px;}
	#sAbout .ab_tit > p{font-size: 17px;}
	#sAbout .ani_txt{margin-top: 30px; padding: 0;}
	#sAbout .ab_box_wr p{font-size: 17px;}
}
@media (max-width: 500px){
	#sAbout .greet .txt_box::before{width: 24px; height: 24px; left: calc(50% - 12px);}
	#sAbout .greet .txt_box h3{font-size: 23px;}
	#sAbout .greet .img_box .name{right: 0px; width: 130px; padding: 12px; border-radius: 6px;}
	#sAbout .greet .img_box .name big{font-size: 18px;}
	#sAbout .greet .img_box .name small{margin-top: 6px; sfont-size: 14px;}
	#sAbout .ab_tit > h3 b{font-size: 26px;}

}


/* ==================================================
   10. sub1_2 설립목적 (#sPurp)
   ================================================== */
#sPurp{position: relative; width: 100%;}

#sPurp .pu_img{overflow: hidden; position: relative; display: flex; align-items: center; justify-content: center; width: 100%; height: 400px; border-radius: 30px;}
#sPurp .pu_img::before{content: ''; position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; background: rgba(0,0,0,.4); z-index: 1;}
#sPurp .pu_img .tit{position: absolute; bottom: 40px; left: 0; width: 100%; z-index: 2;}
#sPurp .pu_img .tit h3{display: block; width: 100%; margin-bottom: 20px; font-weight: 700; font-size: 40px; text-align: center; line-height: 1.3; color: #fff; z-index: 0;}
#sPurp .pu_img .tit h3 b{position: relative; font-weight: 700; font-size: 40px; background: linear-gradient(305deg, #40bdf6, #fff); color: transparent; -webkit-background-clip: text; z-index: 1;}
#sPurp .pu_img .tit p{width: 100%; font-weight: 500; font-size: 24px; text-align: center; color: #fff;}
#sPurp .pu_img img{position: relative; width: 100%; animation: mymove 5s; z-index: 0;}

#sPurp .pu_tit{position: relative; display: flex; align-items: flex-end; flex-wrap: wrap; padding-bottom: 40px;}
#sPurp .pu_tit > h3{font-weight: 700; font-size: 54px; line-height: 1.3; color: #222; z-index: 1;}
#sPurp .pu_tit > h3 b{font-weight: 700; background: linear-gradient(120deg, #3853ea, #02cbf8); color: transparent; -webkit-background-clip: text;}
#sPurp .pu_tit > p{display: block; padding-left: 40px; font-weight: 500; font-size: 24px; color: #555;}

#sPurp .pu_tit .num_box_wr {position: relative; display: flex; margin-top: 40px; z-index: 1;}
#sPurp .pu_tit .num_box_wr .num_box {position: relative; display: flex; flex-direction: column; align-items: flex-start; width: 250px; padding: 0 40px;}
#sPurp .pu_tit .num_box_wr .num_box.box01{width: 150px; padding-left: 0;}
#sPurp .pu_tit .num_box_wr .num_box::before { content:''; position: absolute; top: 50%; left: 0; transform: translateY(-50%); display: block; width: 2px; height: 100%; background: #fff; opacity: .1; }
#sPurp .pu_tit .num_box_wr .num_box:first-child::before { display: none; }
#sPurp .pu_tit .num_box_wr .num_box p.tit { position: relative; font-family: 'Pretendard', sans-serif; font-weight: 500; font-size: 20px; letter-spacing: -0.5px; word-break: keep-all; }

#sPurp .pu_tit .num_box_wr .num_box .num_wr { position: relative; width: 100%; z-index: 1; }
#sPurp .pu_tit .num_box_wr .num_box .num_wr .num_txt { display: flex; align-items: flex-end; justify-content: flex-start; }
#sPurp .pu_tit .num_box_wr .num_box .num_wr h3.num { font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 50px; text-align: center; color: #fff; }
#sPurp .pu_tit .num_box_wr .num_box .num_wr span { margin-left: 10px; font-family: 'Poppins', sans-serif; font-weight: 600; font-size: 50px; color: #fff; }

#sPurp .pu_graph{position: absolute; bottom: 0; left: 0; width: 100%; z-index: 0;}
#sPurp .pu_graph svg{width: 100%; height: 100%;}
#sPurp .pu_box{padding: 20px 0 40px;}

#sPurp .pu_box .pu_table{display: flex; justify-content: space-between; gap: 30px; margin-top: 60px;}
#sPurp .pu_box .pu_table .pu_left{display: flex; gap: 15px; width: 65%;}
#sPurp .pu_box .pu_table .pu_left .pu_t h4.pu_t_tit{height: 58px; font-weight: 700; font-size: 24px; text-align: center; line-height: 58px; color: #fff; border-radius: 15px; margin-bottom: 15px;}
#sPurp .pu_box .pu_table .pu_left .pu_t .pu_t_cont{display: flex; justify-content: space-between; gap: 15px; padding: 15px; background: #f9fafa; border-radius: 15px;}
#sPurp .pu_box .pu_table .pu_left .pu_t .pu_t_cont ul{position: relative; display: flex; flex-direction: column; gap: 15px; width: calc(50% - 7px);}
#sPurp .pu_box .pu_table .pu_left .pu_t .pu_t_cont ul > li{display: flex; justify-content: center; align-items: center; flex-direction: column; width: 140px; height: 130px; text-align: center; border-radius: 15px;}
#sPurp .pu_box .pu_table .pu_left .pu_t .pu_t_cont ul > li > p{font-family: 'pretendard', "Noto Sans KR", sans-serif; font-weight: 700; font-size: 18px; line-height: 1.2; color: #151726;}
#sPurp .pu_box .pu_table .pu_left .pu_t .pu_t_cont ul > li > img{margin-bottom: 10px;}

#sPurp .pu_box .pu_table .pu_left .pu_t01 .pu_t_cont ul > li{width: 90px; background: #0c2574;}
#sPurp .pu_box .pu_table .pu_left .pu_t01 .pu_t_cont ul > li p{color: #fff;}
#sPurp .pu_box .pu_table .pu_left .pu_t02 h4.pu_t_tit{background: #eff1f1; color: #151726;}
#sPurp .pu_box .pu_table .pu_left .pu_t02 .pu_t_cont ul > li{background: rgba(255,255,255,.1);}
#sPurp .pu_box .pu_table .pu_left .pu_t03 h4.pu_t_tit{background: #3853ea;}
#sPurp .pu_box .pu_table .pu_left .pu_t03 .pu_t_cont ul{background: rgba(44,123,242,.1); border-radius: 15px;}
#sPurp .pu_box .pu_table .pu_left .pu_t03 .pu_t_cont ul > li.result{position: absolute; bottom: -80px; left: 0; width: 100%; height: auto; padding: 6px 10px; background: rgba(255,255,255,.1); border-radius: 8px;}
#sPurp .pu_box .pu_table .pu_left .pu_t03 .pu_t_cont ul > li.result::before{content: ''; position: absolute; top: -30px; left: 50%; transform: translateX(-50%); display: block; width: 13px; height: 17px; background: url('../images/sub/sPurp_result_arrow.png') no-repeat 0 0/contain; z-index: -1;}
#sPurp .pu_box .pu_table .pu_left .pu_t03 .pu_t_cont ul > li.result p{font-family: "Noto Sans KR", sans-serif; font-weight: 400;}

#sPurp .pu_box .pu_table .pu_right{display: flex; flex-direction: column; align-items: center; justify-content: space-between; width: 35%;}
#sPurp .pu_box .pu_table .pu_right .circle_wr img{display: block; width: 100%; max-width: 380px; margin: 0 auto;}
#sPurp .pu_box .pu_table .pu_right .leak_wr{display: flex; justify-content: center; gap: 15px; width: 100%;}
#sPurp .pu_box .pu_table .pu_right .leak_wr dl{width: 50%; padding: 10px; background: #f9fafa; border-radius: 8px;}
#sPurp .pu_box .pu_table .pu_right .leak_wr dl dt{padding: 10px 20px; border-radius: 8px; font-weight: 700; font-size: 20px; text-align: center; color: #fff; background: #121b60;}
#sPurp .pu_box .pu_table .pu_right .leak_wr dl dd{padding: 15px; font-weight: 500; font-size: 20px; line-height: 1.2; text-align: center; color: #222;}
#sPurp .pu_box .pu_table .pu_right .leak_wr dl dd b{display: block; color: #3853ea;}

@media (max-width: 1800px){
	#sPurp .pu_box .pu_table .pu_left .pu_t .pu_t_cont ul > li{width: 110px;}
	#sPurp .pu_box .pu_table .pu_left .pu_t.pu_t01 .pu_t_cont ul{width: 100%;}
	#sPurp .pu_box .pu_table .pu_left .pu_t.pu_t01 .pu_t_cont ul > li{width: 60px; border-radius: 8px;}
	#sPurp .pu_box .pu_table .pu_left .pu_t h4.pu_t_tit{height: 58px; border-radius: 10px;}
	#sPurp .pu_box .pu_table .pu_right .leak_wr dl dt{font-size: 18px;}
	#sPurp .pu_box .pu_table .pu_right .leak_wr dl dd{font-size: 17px;}
}

@media (max-width: 1600px){
	#sPurp .pu_tit > h3{font-size: 48px;}
}
@media (max-width: 1400px){
	#sPurp .pu_tit > h3{font-size: 42px;}
	#sPurp .pu_tit > p{padding-left: 30px; font-size: 22px;}
	#sPurp .pu_box .pu_table{gap: 20px;}
	#sPurp .pu_box .pu_table .pu_left .pu_t .pu_t_cont ul > li{width: 100px; height: 120px;}
	#sPurp .pu_box .pu_table .pu_left .pu_t .pu_t_cont ul > li > p{font-size: 16px;}

}
@media (max-width: 1200px){
	#sPurp .pu_img{height: 340px;}
	#sPurp .pu_img .tit h3, #sPurp .pu_img .tit h3 b{font-size: 34px;}
	#sPurp .pu_img .tit p{font-size: 20px;}
	#sPurp .pu_tit > h3{font-size: 38px;}
	#sPurp .pu_box .pu_table{flex-direction: column; gap: 40px;}
	#sPurp .pu_box .pu_table .pu_left{width: 100%; justify-content: center; margin-bottom: 80px;}
	#sPurp .pu_box .pu_table .pu_right{width: 100%;}
	#sPurp .pu_box .pu_table .pu_right .circle_wr{margin-bottom: 40px;}
	#sPurp .pu_box .pu_table .pu_right .circle_wr img{max-width: 320px;}
}
@media (max-width: 1024px){
	#sPurp .pu_tit{padding-bottom: 30px;}
	#sPurp .pu_tit > h3{font-size: 34px;}
	#sPurp .pu_tit > p{width: 100%; padding-left: 0; margin-top: 15px; font-size: 20px;}
	#sPurp .pu_img{height: 500px; border-radius: 20px;}
	#sPurp .pu_img img{height: 100%; width: auto;}
	#sPurp .pu_img .tit h3{margin-bottom: 5px;}
	#sPurp .pu_img .tit h3, #sPurp .pu_img .tit h3 b{font-size: 24px;}
	#sPurp .pu_img .tit p{font-size: 18px;}
	#sPurp .pu_box .pu_table .pu_left{gap: 8px;}
	#sPurp .pu_box .pu_table .pu_left .pu_t h4.pu_t_tit{height: 40px; margin-bottom: 8px; border-radius: 6px; line-height: 40px; font-size: 17px;}
	#sPurp .pu_box .pu_table .pu_left .pu_t .pu_t_cont{padding: 8px; border-radius: 10px;}
	#sPurp .pu_box .pu_table .pu_left .pu_t .pu_t_cont ul > li{width: 100px; height: 100px; border-radius: 8px;}
	#sPurp .pu_box .pu_table .pu_left .pu_t .pu_t_cont ul > li > img{width: 40px;}
	#sPurp .pu_box .pu_table .pu_left .pu_t .pu_t_cont ul > li > p{font-weight: 500; font-size: 15px;}

	#sPurp .pu_box .pu_table .pu_left .pu_t03 .pu_t_cont ul{border-radius: 8px;}
}
@media (max-width: 768px){
	#sPurp .pu_img{height: 280px; border-radius: 20px;}
	#sPurp .pu_img .tit{bottom: 30px;}
	#sPurp .pu_img .tit h3, #sPurp .pu_img .tit h3 b{font-size: 24px;}
	#sPurp .pu_img .tit p{padding: 0 5%; font-size: 16px;}
	#sPurp .pu_tit > h3{font-size: 28px;}
	#sPurp .pu_tit > p{font-size: 17px;}
	#sPurp .pu_tit .num_box_wr{flex-wrap: wrap; gap: 20px 0; margin-top: 30px;}
	#sPurp .pu_tit .num_box_wr .num_box{width: 50%; padding: 0 20px;}
	#sPurp .pu_tit .num_box_wr .num_box.box01{width: 50%; padding-left: 0;}
	#sPurp .pu_tit .num_box_wr .num_box::before{display: none;}
	#sPurp .pu_tit .num_box_wr .num_box .num_wr h3.num,
	#sPurp .pu_tit .num_box_wr .num_box .num_wr span{font-size: 36px;}
	/* pu_left : 세로 스택 대신 좌우 스크롤 + 안내 오버레이 */
	#sPurp .pu_box .pu_table .pu_left{position: relative; justify-content: flex-start; overflow-x: auto; -webkit-overflow-scrolling: touch; margin-bottom: 20px; padding-bottom: 110px;}
	#sPurp .pu_box .pu_table .pu_left .pu_t{flex-shrink: 0;}
	#sPurp .pu_box .pu_table .pu_left .table_prev_mo.scroll_guide{display: block;}
	#sPurp .pu_box .pu_table .pu_right .leak_wr{flex-wrap: wrap;}
	#sPurp .pu_box .pu_table .pu_right .leak_wr dl dt{padding: 8px 12px; font-size: 17px;}
	#sPurp .pu_box .pu_table .pu_right .leak_wr dl dd{padding: 12px 8px; font-size: 16px;}
}
@media (max-width: 500px){
	#sPurp .pu_img{height: 240px;}
	#sPurp .pu_img .tit{padding: 0 15px;}
	#sPurp .pu_img .tit h3, #sPurp .pu_img .tit h3 b{font-size: 20px;}
	#sPurp .pu_img .tit p{font-weight: 400; font-size: 14px;}
	#sPurp .pu_img .tit p br{display: none;}
	#sPurp .pu_tit > h3{font-size: 24px;}
	#sPurp .pu_tit .num_box_wr .num_box{width: 100%; padding: 0;}
	#sPurp .pu_tit .num_box_wr .num_box.box01{width: 100%;}
	#sPurp .pu_box .pu_table .pu_right .leak_wr dl{width: 100%;}
}
@media (max-width: 400px){
	#sPurp .pu_img .tit h3, #sPurp .pu_img .tit h3 b{font-size: 20px;}
	#sPurp .pu_tit > h3{font-size: 22px;}
}


/* ==================================================
   11. sub1_3 비전 및 목표 (#sVis)
   ================================================== */
#sVis .flex_wr{display: flex; align-items: center; padding-bottom: 100px;}
#sVis .flex_wr .plus_wr{display: flex; align-items: center; width: 50%; padding: 0 40px;}
#sVis .flex_wr .plus_wr .plus{position: relative; overflow: hidden; display: flex; justify-content: center; align-items: center; width: 320px; height: 320px; border-radius: 50%; background: rgba(255,255,255,.06); backdrop-filter : blur(6px); z-index: 0;}
#sVis .flex_wr .plus_wr .plus::after{content: ''; position: absolute; display: block; width: 493px; height: 493px; background: url('../images/sub/sPurp_circle_grad_w.png') #f3f5fd no-repeat 0 0/contain; opacity: 0.2; z-index: -1;}
#sVis .flex_wr .plus_wr .plus h4{font-family:'pretendard', sans-serif; font-weight: 700; font-size: 24px; text-align: center; color: #333149;}
#sVis .flex_wr .plus_wr .plus01{position: relative; z-index: 1;}
#sVis .flex_wr .plus_wr .plus01::after{bottom: 0; right: 0;}
#sVis .flex_wr .plus_wr .plus01::before{content: ''; position: absolute; top: 50%; right: 9px; transform: translateY(-50%); display: block; width: 32px; height: 32px; background: url('../images/sub/sPurp_circle_plus_w.png') no-repeat 0 0/contain; z-index: -1;}
#sVis .flex_wr .plus_wr .plus02{margin-left: -50px;}
#sVis .flex_wr .plus_wr .plus02::after{top: 0; left: 0;}
#sVis .flex_wr .pu_box_tit{width: 50%;}

#sVis .serv_wr .serv{display: flex; align-items: center; margin-bottom: 40px; padding: 20px; background: #f9f9f9; border-radius: 20px;}
#sVis .serv_wr .serv .txt_box{width: 48%; padding: 40px 50px;}
#sVis .serv_wr .serv .txt_box .tit{margin-bottom: 40px;}
#sVis .serv_wr .serv .txt_box .tit span.eng{display: block; margin-bottom: 25px; font-weight: 600; font-size: 15px; letter-spacing: 1px; text-transform: uppercase;}
#sVis .serv_wr .serv .txt_box .tit > h5{display: block; margin-bottom: 25px; font-family:'pretendard', sans-serif; font-weight: 700; font-size: 32px; color: #222;}
#sVis .serv_wr .serv .txt_box .tit > p{font-family:'pretendard', sans-serif; font-weight: 500; font-size: 22px; line-height: 1.4; color: #555;}
#sVis .serv_wr .serv .txt_box ul.chk_list > li{position: relative; padding: 15px 20px 15px 40px; border-bottom: 1px dotted #cbd4e9; }
#sVis .serv_wr .serv .txt_box ul.chk_list > li:first-child{border-top: 1px dotted #cbd4e9;}
#sVis .serv_wr .serv .txt_box ul.chk_list > li::before{content: ''; position: absolute; top: 20px; left: 10px; display: block; width: 20px; height: 20px; background: url('../images/common/check-line.svg') no-repeat 0 0/contain;}
#sVis .serv_wr .serv .txt_box ul.chk_list > li > p{font-family: 'pretendard', "Noto Sans KR", sans-serif; font-weight: 600; font-size: 20px; color: #555;}
#sVis .serv_wr .serv .img_box{display: flex; align-items: center; justify-content: center; gap: 25px; width: 52%;}
#sVis .serv_wr .serv .img_box p{margin-top: 20px; font-family:'pretendard', sans-serif; font-weight: 700; font-size: 18px; line-height: 1.4; text-align: center; color: #121b60;}

#sVis .serv_wr .serv01 .txt_box .tit span.eng{color: #3853ea;}
#sVis .serv_wr .serv01 .txt_box ul.chk_list > li::before{filter: invert(25%) sepia(67%) saturate(4184%) hue-rotate(230deg) brightness(96%) contrast(91%);}
#sVis .serv_wr .serv01 .img_box{padding: 80px 35px; border-radius: 20px;}
#sVis .serv_wr .serv01 .img_box img{width: 100%; max-width: 770px;}

#sVis .serv_wr .serv02 .txt_box .tit span.eng{color: #3853ea;}
#sVis .serv_wr .serv02 .txt_box ul.chk_list > li::before{filter: invert(25%) sepia(67%) saturate(4184%) hue-rotate(230deg) brightness(96%) contrast(91%);}
#sVis .serv_wr .serv02 .img_box .img img{width: 100%;}
#sVis .serv_wr .serv02 .img_box .img01 img{max-width: 287px;}
#sVis .serv_wr .serv02 .img_box .img02 img{max-width: 306px;}

#sVis .edu_wr .cont_box dl{display: flex; padding: 40px 0; border-bottom: 1px dotted #cbd4e9;}
#sVis .edu_wr .cont_box dl dt{width: 30%; padding-right: 50px;}
#sVis .edu_wr .cont_box dl dt img{width: 100px; margin-bottom: 10px;}
#sVis .edu_wr .cont_box dl dt h4{display: block; margin-bottom: 25px; font-family: 'pretendard', sans-serif; font-weight: 600; font-size: 26px; color: #222;}
#sVis .edu_wr .cont_box dl dd{width: 70%;}
#sVis .edu_wr .cont_box dl dd ul.dott_list li p{font-family: 'pretendard', sans-serif; font-weight: 500; font-size: 20px; color: #333;}

#sVis .edu_wr .cont_box dl dd .part_box{display: flex; gap: 20px;}
#sVis .edu_wr .cont_box dl dd .part_box .part{width: calc(33.3333% - 20px);}
#sVis .edu_wr .cont_box dl.con04{border-bottom: 0;}
#sVis .edu_wr .cont_box dl.con04 dd .part_box .part .logo{padding: 12px; text-align: center; background: #fff; border-radius: 15px;}
#sVis .edu_wr .cont_box dl.con04 dd .part_box .part .logo img{display: inline-block; height: 45px;}
#sVis .edu_wr .cont_box dl.con04 dd .part_box .part ul.dott_list{margin-top: 10px; padding: 20px; background: #f9f9f9; border-color: #eee;}
#sVis .edu_wr .cont_box dl.con04 dd .part_box .part ul.dott_list li p{font-weight: 500; font-size: 18px; color: #555;}
#sVis .edu_wr .cont_box dl.con04 dd .part_box .part ul.dott_list li p b{display: block; margin-bottom: 5px; font-weight: 600; line-height: 1.2; color: #121b60;}

#sVis .chart_con{position: relative; width: 100%; padding-top: 100px; text-align: center;}
#sVis .chart_con .pu_box_tit{display: block; padding-bottom: 50px;}
#sVis .chart_con .pu_box_tit .l_tit{justify-content: center; margin-bottom: 50px;}
#sVis .chart_con .pu_box_tit .ani_txt{display: inline-block; padding: 15px 40px; background: #e9eefb; border-radius: 50px;}
#sVis .chart_con .pu_box_tit .ani_txt p.txt{margin-bottom: 0; font-family: 'pretendard', sans-serif;}

@media (max-width: 1400px){
	#sVis .flex_wr .plus_wr .plus{width: 280px; height: 280px;}
	#sVis .flex_wr .plus_wr .plus h4{font-size: 22px;}
	#sVis .serv_wr .serv .txt_box{padding: 30px 40px;}
	#sVis .serv_wr .serv .txt_box .tit > h5{font-size: 28px;}
}
@media (max-width: 1200px){
	#sVis .flex_wr{flex-direction: column; gap: 40px; padding-bottom: 70px;}
	#sVis .flex_wr .plus_wr{width: 100%; justify-content: center; padding: 0;}
	#sVis .flex_wr .pu_box_tit{width: 100%;}
	#sVis .edu_wr .cont_box dl dt{width: 35%; padding-right: 30px;}
	#sVis .edu_wr .cont_box dl dd{width: 65%;}
}
@media (max-width: 1024px){
	#sVis .serv_wr .serv{flex-direction: column; padding: 20px;}
	#sVis .serv_wr .serv .txt_box{width: 100%; padding: 20px 10px;}
	#sVis .serv_wr .serv .txt_box .tit{margin-bottom: 25px;}
	#sVis .serv_wr .serv .txt_box .tit > h5{font-size: 24px;}
	#sVis .serv_wr .serv .txt_box .tit > p{font-size: 18px;}
	#sVis .serv_wr .serv .img_box{width: 100%;}
	#sVis .serv_wr .serv01 .img_box{padding: 40px 20px;}
	#sVis .edu_wr .cont_box dl{flex-direction: column; padding: 30px 0;}
	#sVis .edu_wr .cont_box dl dt{width: 100%; padding-right: 0; margin-bottom: 20px;}
	#sVis .edu_wr .cont_box dl dt h4{margin-bottom: 10px; font-size: 22px;}
	#sVis .edu_wr .cont_box dl dd{width: 100%;}
	#sVis .chart_con{padding-top: 70px;}
}
@media (max-width: 768px){
	#sVis .flex_wr{padding-bottom: 20px;}
	#sVis .flex_wr .plus_wr{position: relative;}
	#sVis .flex_wr .plus_wr::before{content: ''; position: absolute; top: 50%;  left: 50%; transform: translate(-50%, -50%);  display: block; width: 18px; height: 18px; background: url('../images/sub/sPurp_circle_plus_w.png') no-repeat 0 0 / contain; z-index: 2;}
	#sVis .flex_wr .plus_wr .plus{width: 220px; height: 220px;}
	#sVis .flex_wr .plus_wr .plus::after{width: 350px; height: 350px;}
	#sVis .flex_wr .plus_wr .plus h4{font-size: 18px;}
	#sVis .flex_wr .plus_wr .plus02{margin-left: 0;}
	#sVis .flex_wr .plus_wr .plus01::before{display: none;}
	#sVis .serv_wr .serv .txt_box .tit span.eng{margin-bottom: 15px; font-size: 13px;}
	#sVis .serv_wr .serv .txt_box .tit > h5{margin-bottom: 15px; font-size: 22px;}
	#sVis .serv_wr .serv .txt_box .tit > p{font-size: 16px;}
	#sVis .serv_wr .serv .txt_box ul.chk_list > li{padding: 12px 10px 12px 35px;}
	#sVis .serv_wr .serv .txt_box ul.chk_list > li::before{top: 16px; left: 5px; width: 18px; height: 18px;}
	#sVis .serv_wr .serv .txt_box ul.chk_list > li > p{font-size: 16px;}
	#sVis .serv_wr .serv .img_box{flex-direction: column; gap: 15px;}
	#sVis .serv_wr .serv .img_box p{font-size: 16px;}
	#sVis .serv_wr .serv .img_box img.arrow{width: 30px; height: 40px; transform: rotate(90deg);}
	#sVis .serv_wr .serv02 .img_box .img01 img{max-width: 200px;}
	#sVis .serv_wr .serv02 .img_box .img02 img{max-width: 220px;}
	#sVis .edu_wr .cont_box dl dt{margin-bottom: 0; text-align: center;}
	#sVis .edu_wr .cont_box dl dt img{width: 60px;}
	#sVis .edu_wr .cont_box dl dt h4{margin-bottom: 0; font-size: 20px;}
	#sVis .edu_wr .cont_box dl dd .part_box{flex-direction: column; margin-top: 20px;}
	#sVis .edu_wr .cont_box dl dd .part_box .part{width: 100%;}
	#sVis .edu_wr .cont_box dl dd ul.dott_list li p{font-size: 16px;}
	#sVis .edu_wr .cont_box dl.con04 dd .part_box .part .logo img{height: 34px;}
	#sVis .edu_wr .cont_box dl.con04 dd .part_box .part ul.dott_list{border-radius: 10px;}
	#sVis .edu_wr .cont_box dl.con04 dd .part_box .part ul.dott_list li p{font-size: 16px;}
	#sVis .chart_con{padding-top: 50px;}
	#sVis .chart_con .pu_box_tit{padding-bottom: 30px;}
	#sVis .chart_con .pu_box_tit .l_tit{margin-bottom: 30px;}
	#sVis .chart_con .pu_box_tit .ani_txt{padding: 12px 25px;}
}
@media (max-width: 500px){
	#sVis .flex_wr .plus_wr .plus{width: 180px; height: 180px;}
	#sVis .flex_wr .plus_wr .plus h4{padding: 0 10px; font-size: 12px;}
	#sVis .serv_wr .serv{padding: 30px 20px; border-radius: 10px;}
	#sVis .serv_wr .serv .txt_box{padding: 0 0 20px;}
	#sVis .serv_wr .serv .txt_box .tit{margin-bottom: 20px;}
	#sVis .serv_wr .serv .txt_box .tit > h5{font-size: 20px;}
	#sVis .serv_wr .serv .txt_box .tit span.eng{margin-bottom: 10px; font-size: 11px;}
	#sVis .serv_wr .serv .txt_box ul.chk_list > li{padding: 8px 10px 8px 24px;}
	#sVis .serv_wr .serv .txt_box ul.chk_list > li::before{top: 11px; left: 4px; width: 13px; height: 13px;}
	#sVis .serv_wr .serv .txt_box ul.chk_list > li > p{font-size: 15px;}
	#sVis .serv_wr .serv01 .img_box{padding: 0;}
	#sVis .edu_wr .cont_box dl dt h4{font-size: 16px;}
	#sVis .edu_wr .cont_box dl dt h4 br{display: none;}
}

@media (max-width: 400px){
	#sVis .flex_wr .plus_wr::before{width: 12px; height: 12px;}
	#sVis .flex_wr .plus_wr .plus{width: 140px; height: 140px;}
	#sVis .flex_wr .plus_wr .plus h4{font-size: 11px;}
}

/* ---------- sub1_3 : 구성도 (조직도) ---------- */
/* 변수는 .org 안에서만 쓰는 전용값 → root의 --navy/--line/--sky 와 헷갈리지 않게 --org-* 접두사 사용 */
.org { --org-navy: #0e2a6e; --org-navy2: #15347f; --org-blue: #1c63d6; --org-sky: #45c5fd; --org-line: #d3dae6; --org-node-bg: #fff; --org-ink: #1b2440; color: var(--org-ink); position: relative; overflow-x: auto; overflow-y: hidden; }

/* 노드(알약) */
.org .node { position: relative; display: inline-flex; flex-direction: column; align-items: center; gap: 8px; min-width: 245px; padding: 30px 20px; background: var(--org-node-bg); border-radius: 20px; font-size: 20px; font-weight: 600; line-height: 1.4; text-align: center; transition: transform .2s ease, box-shadow .2s ease; }
.org .node:has(.badges) { border-radius: 18px; }
.org .node.lv1 {position: relative; background: #3853ea; color: #fff; border-color: transparent; font-weight: 800; font-size: 22px; padding: 30px 20px; box-shadow: 0 14px 30px -16px rgba(14, 42, 110, .7); }
.org .node.lv1 .badges{position: absolute; top: 0; right: -300px; display: flex; flex-wrap; margin-top: 0;}
.org .node.lv1 .badge{min-width: 183px; border: 1px solid var(--org-line) !important;}
.org .node.lv2 { background: var(--org-blue); color: #fff; border-color: transparent; font-weight: 700; box-shadow: 0 12px 26px -16px rgba(28, 99, 214, .7); }
.org .node.lv3 { background: #5d6988; color: #fff; }
.org .node.lv4 { background: #9eacbd; color: #fff; border-color: transparent; font-weight: 600; font-size: 20px; min-width: 210px; padding: 30px 20px; }

/* 배지(협력기관) */
.org .badges { width: 100%; display: flex; flex-direction: column; gap: 6px; justify-content: center; margin-top: 6px; }
.org .badge { width: 100%; display: flex; align-items: center; justify-content: center; gap: 4px; padding: 8px 10px; font-size: 15px; font-weight: 600; color: #eaf1ff; background: rgba(255, 255, 255, .8); border: 2px solid rgba(255, 255, 255, .25); border-radius: 999px; transition: transform .3s cubic-bezier(.16, .84, .44, 1), background-color .3s ease, border-color .3s ease, box-shadow .3s ease; will-change: transform; }
.org .badge:hover { transform: translateY(-3px); background: rgba(255, 255, 255, .9) !important; box-shadow: 0 12px 24px -12px rgba(14, 42, 110, .55); }
.org .badge img { transition: transform .3s cubic-bezier(.16, .84, .44, 1); }
.org .badge:hover img { transform: scale(1.06); }
.org .badge a{display: flex; align-items: center; justify-content: center; width: 100%;}
.org .badge a img{display: block; max-width: 100%; object-fit: contain;}
.org .node.lv1 .badge, .org .node.lv2 .badge, .org .node.lv4 .badge { color: #d9e5f3; background: rgba(255, 255, 255, .8); border-color: rgba(255, 255, 255, .25); }
.org .badge img { height: auto; max-height: 36px; width: auto; max-width: 100%; display: block; }

/* 트리 연결선 */
.org .tree, .org .tree ul { position: relative; padding: 0; margin: 0; list-style: none; }
.org .tree { display: flex; justify-content: center; align-items: flex-start; gap: 90px; flex-wrap: wrap; }
.org .tree ul { display: flex; justify-content: center; padding-top: 80px; }
.org .tree li { display: flex; flex-direction: column; align-items: center; position: relative; padding: 20px 18px 0; }
.org .tree li::before, .org .tree li::after { content: ""; position: absolute; top: 0; right: 50%; width: 50%; height: 20px; border-top: 2px solid var(--org-line); }
.org .tree li::after { right: auto; left: 50%; }
.org .tree li:only-child::before, .org .tree li:only-child::after { display: none; }
.org .tree li:first-child::before, .org .tree li:last-child::after { border: 0 none; }
.org .tree ul::before { content: ""; position: absolute; top: 30px; left: 50%; transform: translateX(-50%); width: 0; height: 50px; border-left: 2px solid var(--org-line); }

/* 연결점(dot) */
.org .tree ul::after { content: ""; position: absolute; top: 20px; left: 50%; width: 7px; height: 7px; border-radius: 50%; background: var(--org-sky); transform: translate(-50%, -50%); }
.org .tree li > .node::before { content: ""; position: absolute; top: -20px; left: 50%; width: 7px; height: 7px; border-radius: 50%; background: var(--org-sky); transform: translate(-50%, -50%); box-shadow: 0 0 0 4px #f5f5f5; z-index: 2; }
.org .tree > li > .node::before { display: none; }
.org .tree > li { padding-top: 0; }
.org .tree > li::before, .org .tree > li::after { display: none; }

/* 보안대학원 전용 보정 */
#panel-grad-security .lv4::before { top: -117px; }
#panel-grad-security ul.vstack > li::before { display: none; }
#panel-grad-security ul.vstack::before { height: 20px; }

/* 전공(lv4) 세로 정렬 */
.org .tree ul.vstack { flex-direction: column; align-items: center; padding-top: 78px; }
.org .tree ul.vstack > li { padding: 10px 0 0; margin: 0; }
.org .tree ul.vstack > li:first-child { padding-top: 0; }
.org .tree ul.vstack > li::before { content: ""; display: block; position: absolute; left: 50%; top: 0; right: auto; width: 0; height: 24px; border: 0; border-left: 2px solid var(--org-line); border-radius: 0; }
.org .tree ul.vstack > li:first-child::before { display: none; }
.org .tree ul.vstack > li::after { display: none; }
.org .tree ul.vstack > li:first-child > .node::before { display: none; }

.org-panel {display: block; animation: orgfade .4s ease; background: #f5f5f5; margin-top: 50px; border-radius: 30px; padding: 40px 0; width: fit-content; min-width: 100%;}
@keyframes orgfade { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }

@media (max-width: 1024px) {
	.org-panel{margin-top: 0;}
	.org > .table_prev_mo.scroll_guide{display: block; border-radius: 30px;}
    .org .tree { gap: 50px; }
    .org .node { min-width: 160px; font-size: 16px; padding: 16px 24px; }
    .org .node.lv1 { font-size: 19px; padding: 18px 32px; }
}
@media (max-width: 768px) {
    .org-panel {padding: 30px 0; border-radius: 20px; }
	.org > .table_prev_mo.scroll_guide{border-radius: 20px;}
    .org .tree { gap: 30px; }
    .org .node { min-width: 140px; font-size: 15px; padding: 14px 18px; }
    .org .node.lv1 { font-size: 17px; padding: 16px 24px; }
    .org .node.lv4 { min-width: 150px; font-size: 15px; padding: 16px 14px; }
}


/* ==================================================
   12. sub1_6 찾아오시는 길 (#sContact)
   ================================================== */
#sContact { position: relative; word-break: keep-all; }
#sContact iframe { overflow: hidden; position: relative; border-radius: 20px; }
#sContact .pu_box_tit .l_tit{justify-content: center;}
#sContact .map-wrap { position: relative; padding: 0 50px; }
#sContact .map-info { position: relative; display: flex; padding-bottom: 40px; }
#sContact .map-info .left { width: 30.76%; }
#sContact .map-info .map-tit big {display: block; font-size: 50px; font-weight: 700; line-height: 1.2; letter-spacing: -0.5px; color: #222; transition: all 0.4s ease; }
#sContact .map-info .map-tit big strong {font-weight: 700; color: #3853ea;}
#sContact .map-info .map-tit small { display: block; font-weight: 400; font-size: 24px; line-height: 1.3; letter-spacing: -0.025em; color: #999; font-weight: 600; margin-top: 10px; transition: all 0.4s ease; }
#sContact .map-info .right { width: calc(100% - 30.76%); font-size: 18px; line-height: 1.8; color: #535353; letter-spacing: -0.025em; transition: all 0.4s ease; }
#sContact .map-info .map-txt dl { font-weight: 500; font-size: 20px; line-height: 1.6; padding: 15px 0; transition: all 0.4s ease; }
#sContact .map-info .map-txt dl:first-child { padding: 0 0 15px; border-bottom: 1px solid rgba(255,255,255,.2);}
#sContact .map-info .map-txt dt { position: relative; margin-bottom: 10px; padding-left: 15px; font-weight: 700; font-size: 24px; color: #333; line-height: 1; text-align: left; border-left: 3px solid #337590; }
#sContact .map-info .map-txt dd {display: flex; margin-bottom: 10px; padding: 10px 20px; font-weight: 400; color: #555; word-break: keep-all !important; border: 1px solid #eee; background: #f9f9f9; border-radius: 50px;}
#sContact .map-info .map-txt dd span {display: inline-block; width: 120px; font-size: 18px; font-weight: 600; color: #222; word-break: keep-all; }
#sContact .map-info .map-txt dd span i{margin-right: 5px; font-size: 14px; color: #3853ea;}
#sContact .map-info .map-txt dd p { width: calc(100% - 120px); word-break: keep-all !important; font-weight: 400; font-size: 18px; }
#sContact .map-info .map-txt dd a { font-size: 18px; color: #555; transition: all 0.5s ease;}
#sContact .map-info .map-txt dd a:hover{color: #222;}
#sContact .map-info .map-txt dd.mail{padding-bottom: 10px;}
#sContact .map-info .map-txt dd.mail span img{width: 17px;}
#sContact .map-info .map-txt dd.traffic{display: block; width: 100%; border-top: 1px solid rgba(0, 0, 0, 0.1);}
#sContact .map-info .map-txt dd.traffic ul{margin-top: 5px;}
#sContact .map-info .map-txt dd.traffic ul li{display: flex; align-items: center; gap: 5px; }
#sContact .map-info .map-txt dd.traffic ul li > span{display: inline-block; width: 20px; height: 20px; font-weight: 600; font-size: 14px; text-align: center; line-height: 20px; color: #fff;}
#sContact .map-info .map-txt dd.traffic ul li > span.type{background: #222;}
#sContact .map-info .map-txt dd.traffic ul li > span.subw{background: #37b42d; border-radius: 50%; font-size: 12px;}
#sContact .map-info .map-txt dd.traffic ul li p{margin-left: 3px;}
#sContact .map-info .map-link { display: flex; margin-top: 20px; gap: 20px; }
#sContact .map-info .map-link>li { width: 50%; }
#sContact .map-info .map-link>li a { display: flex; align-items: center; justify-content: center; padding: 0 26px; height: 58px; border: 2px solid #eee; background: #fff; font-size: 18px; font-weight: 700; color: #333; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; border-radius: 8px; transition: all 0.5s ease; }
#sContact .map-info .map-link>li a:hover { border-color: #222; }
#sContact .map-info .map-link>li .icon { display: inline-block; vertical-align: middle; width: 28px; height: 28px; background: center/contain no-repeat; margin-right: 10px; }
#sContact .map-info .map-link>li .icon.icon-n { background-image: url("/images/sub/loca_naver.png"); }
#sContact .map-info .map-link>li .icon.icon-k { background-image: url("/images/sub/loca_kakao.png"); }
#sContact .map-info .loca_link { margin-top: 40px; }
#sContact .map-info .loca_link a { display: flex; align-items: center; justify-content: center; padding: 0 26px; height: 58px; border: 1px solid #ddd; font-size: 18px; font-weight: 500; color: #fff; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; background: #042f35; box-sizing: border-box; border-radius: 8px; transition: all 0.5s ease; }
#sContact .map-info .loca_link a span { margin-left: 6px; }
#sContact .map-info .loca_link a i { transition: all 0.5s ease; }
#sContact .map-info .loca_link a:hover i { color: #9cecd8; }

#sContact .cont-2{padding: 30px 20px 20px; background: #f9f9f9; border-radius: 20px;}
#sContact .map_tit{margin-bottom: 10px;}
#sContact .map_tit h3{font-weight: 600; font-size: 24px; text-align: center; color: #222;}
#sContact .map_tit i{font-weight: 500; color: #3853ea;}
#sContact .load_map{overflow: hidden; width: 100%; max-width: 800px; margin: 0 auto 20px; border-radius: 20px;}
#sContact .load_map img{width: 100%; height: auto;}

#sContact .pic_wrap{display: flex; gap: 10px; padding: 20px; background: rgba(255,255,255,.5); border: 1px solid #eee; border-radius: 10px;}
#sContact .pic_wrap li{overflow: hidden; position: relative; display: block; width: calc(25% - 5px); border-radius: 10px;}
#sContact .pic_wrap li img{width: 100%;}
#sContact .pic_wrap li p{position: absolute; bottom: 0; left: 0; width: 100%; padding: 8px; background: rgba(0,0,0,.7); font-family: 'pretendard',sans-serif; font-weight: 200; font-size: 16px; text-align: center; color: #fff;}

@media (max-width: 1200px) {
	#sContact .map-info {margin-top: 40px;padding-bottom: 32px;flex-direction: column;align-items: center;}
	#sContact .map-info .left { width: 100%; text-align: center; margin-bottom: 20px; }
	#sContact .map-info .left br { display: none; }
	#sContact .map-info .map-tit big{font-size: 34px;}
	#sContact .map-info .map-tit small { margin-top: 5px; }
	#sContact .map-info .map-txt dd span{width: 100px;}
	#sContact .map-info .map-txt dd p{width: calc(100% - 100px);}
	#sContact .map-info .map-txt dd.traffic ul li{align-items: flex-start;}
	#sContact .map-info .right { width: 100%; }
}
@media (max-width: 768px) {
	#sContact .map-wrap { padding: 0; }
	#sContact .map-info .left { margin-bottom: 20px; }
	#sContact .map-info .map-tit big { font-size: 25px; }
	#sContact .map-info .map-tit small { display: block; font-size: 19px; }
	#sContact .map-info .map-txt dl { font-size: 16px; line-height: 1.5; }
	#sContact .map-info .map-txt dt { width: 100px; padding-left: 25px; }
	#sContact .map-info .map-txt .stat dt { padding-left: 15px; font-size: 20px; }
	#sContact .map-info .map-txt dt i { font-size: 18px; top: 2px; }
	#sContact .map-info .map-txt dd { width: 100%; }
	#sContact .map-info .map-link { margin-top: 10px; gap: 10px; flex-direction: column; align-items: center; }
	#sContact .map-info .map-txt dd span {width: 90px; font-size: 14px; }
	#sContact .map-info .map-txt dd p {width: calc(100% - 90px); font-size: 14px; }
	#sContact .map-info .map-txt dd a { font-size: 14px; }
	#sContact .map-info .map-txt dd.traffic ul li > span{margin-top: 5px; font-size: 12px;}
	#sContact .map-info .map-link>li { width: 100%; }
	#sContact .map-info .map-link>li a{height: 48px; font-size: 16px;}
	#sContact .map-info .map-link>li .icon{width: 22px; height: 22px;}
	#sContact .cont-2{padding: 20px 15px 15px;}
	#sContact .map_tit h3{font-size: 20px;}
	#sContact .pic_wrap{flex-wrap: wrap; padding: 10px;}
	#sContact .pic_wrap li{width: calc(50% - 5px);}
}
@media (max-width: 500px) {
	#sContact .map-wrap { padding: 0; }
	#sContact iframe { height: 300px; border-radius: 20px; }
	#sContact .map-info { margin-top: 20px;}
	#sContact .map-info .map-txt dd { flex-wrap: wrap; }
	#sContact .map-info .map-txt dd span { width: 100%; }
	#sContact .map-info .map-txt dd p { width: 100%; }
	#sContact .map-info .map-tit big { font-size: 22px; }
	#sContact .map-info .map-tit big br { display: none; }
	#sContact .map-info .map-tit small { font-weight: 500; font-size: 16px; }
	#sContact .pic_wrap li{width: 100%;}
}


/* ==================================================
   13. sub3_x 학과 (#sMajor)
   ================================================== */
/* ---------- sub3_x_a : 학과소개 ---------- */
#sMajor .depart_wr{position: relative; display: flex;}
#sMajor .depart_wr::before{content: ''; position: absolute; top: 80px; left: -14%; display: block; width: 860px; height: 819px; background: url('/images/main/prof_bg.png') no-repeat 0 0/contain; animation: up_down 5s infinite ease; z-index: -1;}
#sMajor .depart_wr .prof_box .pu_box_tit .l_tit{margin-bottom: 0;}
#sMajor .depart_wr .prof_box .pu_box_tit .l_tit label{color: #3952ea;}
#sMajor .depart_wr .prof_box .pu_box_tit .l_tit .ripple::before,
#sMajor .depart_wr .prof_box .pu_box_tit .l_tit .ripple::after{border-color: #3952ea;}
#sMajor .depart_wr .prof_box {display: flex; flex-wrap: wrap; gap: 8px; padding: 40px 0; border-top: 1px solid rgba(255,255,255,.1); border-bottom: 1px solid rgba(255,255,255,.1);}
#sMajor .depart_wr .prof_box .prof_list{display: flex; align-itesm: flex-start; flex-wrap: wrap; gap: 5px; padding-left: 40px;}
#sMajor .depart_wr .prof_box .prof_list li a {display: inline-flex; align-items: center; height: 50px; padding: 0 20px; border: 1px solid rgba(255,255,255,.2); border-radius: 50px; font-size: 18px; color: #555; background: #e9eefb; transition:all 0.4s ease;}
#sMajor .depart_wr .prof_box .prof_list li a:hover {border-color: #3952ea; background-color: #fff; color: #3952ea;}
#sMajor .depart_wr .left{width: 35%; padding-left: 4%;}
#sMajor .depart_wr .left .tit{margin-bottom: 40px;}
#sMajor .depart_wr .left .tit span.eng{display: block; margin-bottom: 25px; font-weight: 500; font-size: 15px; letter-spacing: 1px; color: #3952ea; text-transform: uppercase;}
#sMajor .depart_wr .left .tit > h5{display: block; margin-bottom: 25px; font-family:'pretendard', sans-serif; font-weight: 700; font-size: 58px; color: #222;}
#sMajor .depart_wr .left .tit > p{font-family:'pretendard', sans-serif; font-weight: 300; font-size: 20px; line-height: 1.4; color: #fff;}
#sMajor .depart_wr .left dl.degree{display: inline-block; padding: 5px; border: 1px solid; border-radius: 50px; border-color: #3952ea;}
#sMajor .depart_wr .left dl.degree dt{display: inline-block; padding: 6px 15px; text-align: center; border-radius: 50px; font-weight: 700; font-size: 18px; color: #fff; background: #3952ea;}
#sMajor .depart_wr .left dl.degree dd{display: inline-block; padding: 0 20px 0 10px; font-weight: 600; font-size: 18px; color: #555;}

#sMajor .depart_wr .right{width: 65%;}
#sMajor .depart_wr .right .txt_box{padding-right: 10%;}
#sMajor .depart_wr .right .ani_txt{margin: 40px 0;}

#sMajor .depart_wr .right .img_box{overflow: hidden; display: flex; align-items: flex-start; justify-content: center; height: 500px; border-radius: 50px 0 0 50px;}
#sMajor .depart_wr .right .img_box img{width: 100%; animation: mymove 5s;}
#sMajor .depart_wr.depart03 .right .img_box,
#sMajor .depart_wr.depart04 .right .img_box{align-items: center;}

#sMajor .major_inner {background: #f9f9f9; border: 1px solid #eee; border-radius: 20px; width: 100%; margin-top: 40px; padding: 32px 40px 40px;}
#sMajor .major_inner .major_head {display: flex; align-items: center; flex-wrap: wrap; gap: 24px; padding-bottom: 20px; border-bottom: 1px solid #e9eefb; margin-bottom: 24px;}
#sMajor .major_inner .major_title {font-size: 26px; font-weight: 700; color: #222; letter-spacing: -0.015em;}
#sMajor .major_inner .major_tags {display: flex; flex-wrap: wrap; gap: 24px; margin-left: auto;}
#sMajor .major_inner .major_tags li {display: inline-flex; align-items: center; gap: 8px; font-size: 18px; color: #222; letter-spacing: -0.005em;}
#sMajor .major_inner .dot {display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: #3952ea;}
#sMajor .major_inner .major_split {display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px;}

#sMajor .major_inner .track {background: rgba(255, 255, 255, 0.8); border: 1px solid rgba(255,255,255,.1); border-radius: 12px; padding: 24px 28px; transition:all 0.4s ease;}
#sMajor .major_inner .track_title {font-size: 22px; font-weight: 700; color: #222; letter-spacing: -0.015em; margin-bottom: 18px;}
#sMajor .major_inner .track_list {display: flex; flex-direction: column; gap: 10px;}
#sMajor .major_inner .track_list li {display: flex; align-items: center; gap: 10px; font-size: 18px; color: #555; letter-spacing: -0.005em; line-height: 1.5;}
#sMajor .major_inner .sq {display: inline-block; width: 5px; height: 5px; flex-shrink: 0; background: #3952ea;}

#sMajor .ani_circle{position: absolute; top: 300px; left: 0;}
#sMajor .ani_circle svg{display: block; margin: 0 auto; max-width: 100vw; max-height: 100vw; animation: rotate 20s infinite linear; fill: #eef3ff;}

@keyframes rotate {
	0%   { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

/* ---------- sub3_x_b : 교과과정 ---------- */
#sMajor .proc_wr{margin-bottom: 40px; padding: 40px; background: rgba(255,255,255,.05); border-radius: 20px;}
#sMajor .cross_wr{display: flex; padding-top: 40px; border-top: 1px dotted rgba(255,255,255,.2);}
#sMajor .cross_wr .pu_box_tit{width: 300px;}
#sMajor .cross_wr .dott_list{width: calc(100% - 300px); margin-top: 0;}

/* ---------- sub3_x_c : 교과목 안내 ---------- */
#sMajor .curri_wr {position: relative; margin: 0 auto; padding: 0 var(--pad) 100px;}
#sMajor .curri_wr::before {content: ''; position: absolute; width: 380px; height: 380px; top: 60px; left: -120px; background: radial-gradient(circle, rgba(44, 123, 242, 0.16), transparent 65%); filter: blur(60px); pointer-events: none; z-index: 0;}
#sMajor .curri_wr > div + div{margin-top: 40px;}
#sMajor .cu_box .cu_tit {height: 58px; margin-bottom: 24px; border-radius: 15px; font-weight: 700; font-size: 24px; text-align: center; line-height: 58px; color: #fff;}
#sMajor .cu_box ul.cu_list{display: flex; flex-wrap: wrap; gap: 20px;}
#sMajor .cu_box ul.cu_list li{width: calc(50% - 10px); padding: 25px 30px; background: #f9f9f9; border: 1px solid #eee; border-radius: 16px;}
#sMajor .cu_box ul.cu_list li .tit{position: relative; padding-bottom: 20px; border-bottom: 1px solid #eee;}
#sMajor .cu_box ul.cu_list li .tit span.cate{position: absolute; top: 0; right: 0; display: inline-block; padding: 5px 10px; font-weight: 500; font-size: 14px; border-radius: 50px; }
#sMajor .cu_box ul.cu_list li .tit h4{margin-bottom: 5px; font-family:'pretendard', sans-serif; font-weight: 700; font-size: 24px; color: #222;}
#sMajor .cu_box ul.cu_list li .tit p.eng{font-weight: 400; font-size: 14px; letter-spacing: -0.2px;}
#sMajor .cu_box ul.cu_list li > p.cont{margin-top: 20px; font-weight: 300; font-size: 16px; line-height: 1.6; color: #555;}

#sMajor .cu_box01 .cu_tit{background: #3853ea;}
#sMajor .cu_box01 ul.cu_list li .tit span.cate{color: #3952ea; background: rgb(64 102 246 / 10%); border: 1px solid rgb(64 85 246 / 20%);}
#sMajor .cu_box01 ul.cu_list li .tit p.eng{color: #3952ea;}

#sMajor .cu_box02 .cu_tit{background: #121b60;}
#sMajor .cu_box02 ul.cu_list li .tit span.cate{color: #121b60; background: rgb(2 30 248 / 10%); border: 1px solid rgb(2 121 248 / 20%);}
#sMajor .cu_box02 ul.cu_list li .tit p.eng{color: #121b60;}

@media (max-width: 1600px){
	#sMajor .depart_wr .left .tit > h5{font-size: 50px;}
}
@media (max-width: 1400px){
	#sMajor .depart_wr .left .tit > h5{font-size: 44px;}
	#sMajor .depart_wr .right .img_box{height: 440px;}
}
@media (max-width: 1200px){
	#sMajor .depart_wr .left{width: 40%;}
	#sMajor .depart_wr .left .tit > h5{font-size: 38px;}
	#sMajor .depart_wr .right{width: 60%;}
	#sMajor .depart_wr .right .img_box{height: 380px;}
	#sMajor .major_inner{padding: 28px 30px 32px;}
	#sMajor .cu_box ul.cu_list{gap: 15px;}
	#sMajor .cu_box ul.cu_list li{width: calc(50% - 8px); padding: 20px 25px;}
}
@media (max-width: 1024px){
	#sMajor .depart_wr{flex-direction: column;}
	#sMajor .depart_wr .left{width: 100%; padding-left: 0; margin-bottom: 30px;}
	#sMajor .depart_wr .left .tit{margin-bottom: 25px;}
	#sMajor .depart_wr .left .tit > h5{margin-bottom: 15px; font-size: 32px;}
	#sMajor .depart_wr .right{width: 100%;}
	#sMajor .depart_wr .right .txt_box{padding-right: 0;}
	#sMajor .depart_wr .right .img_box{height: auto; border-radius: 20px;}
	#sMajor .depart_wr .prof_box{padding: 25px 0;}
	#sMajor .depart_wr .prof_box .prof_list{padding-left: 0;}
	#sMajor .major_inner .major_tags{margin-left: 0;}
	#sMajor .major_inner .major_split{grid-template-columns: 1fr;}
	#sMajor .proc_wr{margin-bottom: 30px; padding: 25px;}
	#sMajor .cross_wr{flex-direction: column;}
	#sMajor .cross_wr .pu_box_tit{width: 100%;}
	#sMajor .cross_wr .dott_list{width: 100%;}
	#sMajor .curri_wr{padding-bottom: 70px;}
	#sMajor .ani_circle{display: none;}
}
@media (max-width: 768px){
	#sMajor .depart_wr::before{display: none;}
	#sMajor .depart_wr .left .tit span.eng{margin-bottom: 15px; font-size: 13px;}
	#sMajor .depart_wr .left .tit > h5{font-size: 28px;}
	#sMajor .depart_wr .left .tit > p{font-size: 17px;}
	#sMajor .depart_wr .left dl.degree dt{padding: 5px 12px; font-size: 15px;}
	#sMajor .depart_wr .left dl.degree dd{padding: 0 12px 0 8px; font-size: 15px;}
	#sMajor .depart_wr .prof_box .prof_list li a{height: 42px; padding: 0 15px; font-size: 15px;}
	#sMajor .depart_wr .right .ani_txt{margin: 25px 0;}
	#sMajor .major_inner{margin-top: 30px; padding: 20px;}
	#sMajor .major_inner .major_head{gap: 12px; padding-bottom: 15px; margin-bottom: 18px;}
	#sMajor .major_inner .major_title{font-size: 21px;}
	#sMajor .major_inner .major_tags{gap: 12px;}
	#sMajor .major_inner .major_tags li{font-size: 15px;}
	#sMajor .major_inner .track{padding: 18px 20px;}
	#sMajor .major_inner .track_title{font-size: 18px; margin-bottom: 12px;}
	#sMajor .major_inner .track_list li{font-size: 15px;}
	#sMajor .proc_wr{padding: 20px;}
	#sMajor .cross_wr{padding-top: 30px;}
	#sMajor .curri_wr{padding-bottom: 50px;}
	#sMajor .cu_box .cu_tit{height: 48px; margin-bottom: 15px; font-size: 20px; line-height: 48px;}
	#sMajor .cu_box ul.cu_list li{width: 100%; padding: 20px;}
	#sMajor .cu_box ul.cu_list li .tit{padding-bottom: 15px; padding-right: 55px;}
	#sMajor .cu_box ul.cu_list li .tit h4{font-size: 20px;}
	#sMajor .cu_box ul.cu_list li > p.cont{margin-top: 15px; font-size: 15px;}
}
@media (max-width: 500px){
	#sMajor .depart_wr .left .tit > h5{font-size: 26px;}
	#sMajor .depart_wr .left .tit > p{font-size: 15px;}
	#sMajor .depart_wr .prof_box .prof_list li a{height: 38px; padding: 0 12px; font-size: 14px;}
	#sMajor .major_inner{padding: 15px;}
	#sMajor .major_inner .major_title{font-size: 18px;}
	#sMajor .major_inner .major_tags{gap: 8px 12px;}
	#sMajor .major_inner .major_tags li{font-size: 14px;}
	#sMajor .major_inner .track{padding: 15px;}
	#sMajor .major_inner .track_title{font-size: 16px;}
	#sMajor .major_inner .track_list li{font-size: 14px;}
	#sMajor .proc_wr{padding: 15px; border-radius: 12px;}
	#sMajor .cu_box .cu_tit{height: 42px; font-size: 17px; line-height: 42px; border-radius: 10px;}
	#sMajor .cu_box ul.cu_list li{padding: 15px;}
	#sMajor .cu_box ul.cu_list li .tit h4{font-size: 18px;}
	#sMajor .cu_box ul.cu_list li .tit p.eng{font-size: 12px;}
	#sMajor .cu_box ul.cu_list li > p.cont{font-size: 14px;}
}
@media (max-width: 400px){
	#sMajor .depart_wr .left .tit > h5{font-size: 22px;}
	#sMajor .cu_box .cu_tit{font-size: 16px;}
}


/* ==================================================
   14. sub4_x 입학안내 (#sAdmis)
   ================================================== */
#sAdmis > div + div{margin-top: 40px;}
#sAdmis .table_con_wrap{padding: 40px; background: #f9f9f9; border-radius: 20px;}
#sAdmis .table_con_wrap .cir-t table{background: rgba(255,255,255,.5);}
#sAdmis .table_con_wrap .cir-t table tbody td{font-size: 18px; background: #fff;}
#sAdmis p.cont{font-family:'pretendard', sans-serif; font-weight: 500; font-size: 18px; line-height: 1.7; color: #222; padding: 30px 40px; background: #f9f9f9; border-radius: 20px; border: 1px solid #eee;}
#sAdmis p.cont > b{font-weight: 800; color: #222;}
#sAdmis p.cont b.appl{display: block; margin-bottom: 15px; padding-bottom: 15px; border-bottom: 1px dotted #eee; font-weight: 500;}
#sAdmis p.cont b.appl > a.link{display: inline-block; margin-left: 10px; padding: 6px 20px; border-radius: 50px; background: rgba(255,255,255,.8); border: 1px solid #eee; color: #555; transition:all 0.4s ease;}
#sAdmis p.cont b.appl > a.link i{color: #3952ea;}
#sAdmis p.cont b.appl > a.link:hover{border-color: #3952ea;}

#sAdmis p.cont b.send{display: block; margin: 10px 0; padding: 15px 20px; background: #fff; border-radius: 6px;  font-weight: 500; color: #222; border: 1px solid #eee;}
#sAdmis p.cont b.send strong{display: block;}
#sAdmis p.cont b.send strong i{color: #3853ea;}

#sAdmis .table_cont{margin-bottom: 10px; padding: 30px 40px; background: rgba(255, 255, 255, .05); border-radius: 20px;}
#sAdmis .table_cont p.cont{padding: 0; background: none; border-radius: 0;}
#sAdmis .table_cont .table_con_wrap{margin-top: 20px;}

#sAdmis .admi08 .table_con_wrap .cir-t table tbody th{padding: 20px;}
#sAdmis .admi08 .table_con_wrap .cir-t table tbody th small{display: block; margin-top: 10px; font-weight: 400; font-size: 16px; line-height: 1.4; opacity: .8;}

#sAdmis .admi09 > p + p{margin-top: 10px;}
#sAdmis .admi09 p.cont b{display: block;}
#sAdmis .admi09 p.cont strong{color: #121b60;}
#sAdmis .admi09 p.cont a{color: #3853ea; transition:all 0.4s ease;}
#sAdmis .admi09 p.cont a:hover{opacity: .6;}

#sAdmis .admi11 p.cont b.contact{display: inline-block; margin-top: 10px; padding: 6px 20px; border-radius: 50px; background: #fff; font-family:'pretendard', sans-serif; font-weight: 500; color: #444; transition:all 0.4s ease;}
#sAdmis .admi11 p.cont b.contact a{color: #444; transition:all 0.4s ease;}
#sAdmis .admi11 p.cont b.contact strong{display: inline-block; margin-right: 5px; font-weight: 700; color: #222;}
#sAdmis .admi11 p.cont b.contact strong i{font-weight: 500; color: #3853ea;}
#sAdmis .admi11 p.cont b.contact a:hover{color: #222;}

#sAdmis .pdf_down{position: fixed; left: 50%; bottom: -120px; transform: translateX(-50%); display: block; width: 100%; max-width: 340px; margin: 0 auto; opacity: 0; visibility: hidden; transition: bottom 0.35s ease, opacity 0.35s ease, visibility 0.35s ease; z-index: 4;}
#sAdmis .pdf_down a{display: flex; align-items: center; justify-content: center; gap: 20px; padding: 20px 30px; background: #eef3ff; border-radius: 100px; transition:all 0.4s ease;}
#sAdmis .pdf_down a p{font-weight: 700; font-size: 26px; color: #222; transition:all 0.4s ease;}
#sAdmis .pdf_down a p b{font-weight: 700; color: #3853ea; transition:all 0.4s ease;}
#sAdmis .pdf_down a img{width: 40px; transition:all 0.4s ease;}

#sAdmis .pdf_down a:hover{background: #3853ea;}
#sAdmis .pdf_down a:hover p{color: #fff;}
#sAdmis .pdf_down a:hover p b{color: #fff;}
#sAdmis .pdf_down a:hover img{-webkit-filter: brightness(0) invert(1); filter: brightness(0) invert(1);}

#sAdmis .pdf_down.is-fixed{bottom: 30px; opacity: 1; visibility: visible;}

/* ---------- 학사안내 (acad) ---------- */
#sAdmis.acad .pu_box_tit .l_tit label{font-weight: 700; font-size: 32px;}
#sAdmis.acad p.cont b{font-weight: 600; font-size: 22px; color: #121b60;}
#sAdmis.acad .table_con_wrap .cir-t table tbody td{padding: 20px;}

#sAdmis.acad ul.dott_list{background: #f9f9f9; border-color: #eee;}
#sAdmis.acad ul.dott_list li::before{background: #3952ea;}
#sAdmis.acad ul.dott_list li p{color: #555;}

#sAdmis.acad .table_cont p.cont{border: 0;}
#sAdmis.acad .curr_circle {position: relative; display: block; width: 100%; max-width: 1200px; height: 700px; margin: 0 auto;}
#sAdmis.acad .curr_circle .center {position: absolute; top: 50%; left: 50%; width: 200px; height: 200px; border-radius: 50%; background: #ffffff; display: flex; flex-direction: column; justify-content: center; align-items: center; z-index: 10; box-shadow: 0 0 30px rgba(255, 255, 255, 0.15); transform: translate(-50%, -50%); animation: centerAppear 0.6s ease-out;}
#sAdmis.acad .curr_circle .center h2 {font-size: 28px; font-weight: 700; color: #222; margin-bottom: 8px;}
#sAdmis.acad .curr_circle .center p {font-weight: 500; font-size: 16px; color: #999; text-align: center; line-height: 1.4;}
#sAdmis.acad .curr_circle .pulse {position: absolute; top: 50%; left: 50%; width: 260px; height: 260px; border-radius: 50%; background: rgba(74, 144, 226, 0.35); transform: translate(-50%, -50%) scale(0.8); z-index: 5; animation: pulse 5s ease-out infinite;}
#sAdmis.acad .curr_circle .pulse:nth-child(2) { animation-delay: 1.6s; }
#sAdmis.acad .curr_circle .pulse:nth-child(3) { animation-delay: 3.2s; }
#sAdmis.acad .curr_circle .dept {position: absolute; top: 50%; left: 50%; width: 260px; height: 130px; background: #f0f4ff; border: 1px solid #eee; border-radius: 16px; padding: 22px;
display: flex; flex-direction: column; justify-content: center; z-index: 8; opacity: 0; --tx: 0px; --ty: 0px; animation: spread 1.2s ease-out forwards;}
#sAdmis.acad .curr_circle .dept .icon {position: absolute; top: 16px; right: 16px; font-size: 20px;}
#sAdmis.acad .curr_circle .dept h3 {font-size: 19px; font-weight: 700; color: #222; margin-bottom: 8px;}
#sAdmis.acad .curr_circle .dept p {font-size: 14px; font-weight: 500; line-height: 1.3; color: #3853ea;}

#sAdmis.acad .curr_circle .dept-1 { --tx: 0px;    --ty: -240px; animation-delay: 0.2s; }
#sAdmis.acad .curr_circle .dept-2 {--tx: -290px; --ty: -60px; animation-delay: 0.4s;}
#sAdmis.acad .curr_circle .dept-3 {--tx: 290px;  --ty: -60px; animation-delay: 0.6s;}
#sAdmis.acad .curr_circle .dept-4 { --tx: -180px; --ty: 180px; animation-delay: 0.8s; }
#sAdmis.acad .curr_circle .dept-5 { --tx: 180px;  --ty: 180px; animation-delay: 1.0s; }

@keyframes pulse {
	0% {
	  transform: translate(-50%, -50%) scale(0.8);
	  opacity: 0.7;
	}
	100% {
	  transform: translate(-50%, -50%) scale(2.4);
	  opacity: 0;
	}
}

/* 퍼지는 애니메이션 */
@keyframes spread {
0% {
  transform: translate(-50%, -50%) scale(0.3);
  opacity: 0;
}
60% { opacity: 1; }
100% {
  transform: translate(calc(-50% + var(--tx)), calc(-50% + var(--ty))) scale(1);
  opacity: 1;
}
}

@keyframes centerAppear {
0% {
  transform: translate(-50%, -50%) scale(0);
  opacity: 0;
}
100% {
  transform: translate(-50%, -50%) scale(1);
  opacity: 1;
}
}

@media (max-width: 1600px) {
	#sAdmis .table_con_wrap{padding: 36px;}
	#sAdmis.acad .pu_box_tit .l_tit label{font-size: 30px;}
}
@media (max-width: 1400px) {
	#sAdmis .table_con_wrap{padding: 32px;}
	#sAdmis p.cont{padding: 28px 32px;}
	#sAdmis .table_cont{padding: 28px 32px;}
	#sAdmis.acad .pu_box_tit .l_tit label{font-size: 28px;}
	#sAdmis .pdf_down a p{font-size: 24px;}
}
@media (max-width: 1200px) {
	#sAdmis .table_con_wrap{padding: 30px;}
	#sAdmis .table_cont{padding: 25px 30px;}
	#sAdmis p.cont{font-size: 17px;}
	#sAdmis .table_con_wrap .cir-t table thead th{font-size: 17px;}
	#sAdmis .table_con_wrap .cir-t table tbody th{font-size: 17px;}
	#sAdmis .table_con_wrap .cir-t table tbody td{font-size: 17px;}
	#sAdmis .table_con_wrap .cir-t table tbody td a{font-size: 15px;}
	#sAdmis .admi08 .table_con_wrap .cir-t table tbody th small{font-size: 15px;}
	#sAdmis.acad .pu_box_tit .l_tit label{font-size: 26px;}
	#sAdmis.acad p.cont b{font-size: 20px;}
	#sAdmis.acad .table_con_wrap .cir-t table tbody td{padding: 16px;}
}
@media (max-width: 1024px) {
	/* 표 : 1024~769 구간은 가로 스크롤 없이 폭에 맞춰 축소(공통 min-width 해제).
	   실제 좌우 스크롤 + 안내 오버레이는 768 이하부터 (아래 768 블록) */
	#sAdmis .table_con_wrap .cir-t table{min-width: auto;}
	#sAdmis .table_con_wrap{padding: 24px;}
	#sAdmis .table_cont{padding: 22px 25px;}
	#sAdmis p.cont{padding: 25px; font-size: 16px;}
	#sAdmis .table_con_wrap .cir-t table thead th{font-size: 16px;}
	#sAdmis .table_con_wrap .cir-t table tbody th{font-size: 16px;}
	#sAdmis .table_con_wrap .cir-t table tbody td{font-size: 16px;}
	#sAdmis .table_con_wrap .cir-t table tbody td a{font-size: 15px;}
	#sAdmis .admi08 .table_con_wrap .cir-t table tbody th{padding: 16px;}
	#sAdmis .admi08 .table_con_wrap .cir-t table tbody th small{font-size: 14px;}
	#sAdmis .admi11 p.cont b.contact{padding: 6px 16px;}
	#sAdmis .pdf_down{max-width: 300px;}
	#sAdmis .pdf_down a{gap: 16px; padding: 16px 24px;}
	#sAdmis .pdf_down a p{font-size: 22px;}
	#sAdmis .pdf_down a img{width: 34px;}
	#sAdmis.acad .pu_box_tit .l_tit label{font-size: 24px;}
	#sAdmis.acad p.cont b{font-size: 19px;}
	#sAdmis.acad .table_con_wrap .cir-t table tbody td{padding: 14px;}
    #sAdmis.acad .curr_circle { height: 620px; }
    #sAdmis.acad .curr_circle .dept { width: 230px; height: 120px; padding: 18px; }
    #sAdmis.acad .curr_circle .dept h3 { font-size: 17px; }
    #sAdmis.acad .curr_circle .dept p { font-size: 13px; }

    #sAdmis.acad .curr_circle .dept-1 { --tx: 0px;    --ty: -210px; }
    #sAdmis.acad .curr_circle .dept-2 { --tx: -250px; --ty: -55px; }
    #sAdmis.acad .curr_circle .dept-3 { --tx: 250px;  --ty: -55px; }
    #sAdmis.acad .curr_circle .dept-4 { --tx: -160px; --ty: 160px; }
    #sAdmis.acad .curr_circle .dept-5 { --tx: 160px;  --ty: 160px; }
}
@media (max-width: 768px) {
    #sAdmis > div + div{margin-top: 30px;}
    #sAdmis .table_con_wrap{padding: 15px; border-radius: 16px;}
    #sAdmis .table_cont{padding: 20px;}
    #sAdmis p.cont{padding: 20px; font-size: 15px;}
	/* 표 : 768 이하 → 폭 고정으로 좌우 스크롤 발생 + 안내 오버레이 노출 */
	#sAdmis .table_con_wrap .cir-t table{min-width: 700px;}
	#sAdmis .table_con_wrap > .table_prev_mo.scroll_guide{border-radius: 16px;}
	#sAdmis .table_con_wrap .cir-t table thead th{font-size: 15px;}
	#sAdmis .table_con_wrap .cir-t table tbody th{font-size: 15px;}
	#sAdmis .table_con_wrap .cir-t table tbody td{font-size: 15px;}
	#sAdmis .table_con_wrap .cir-t table tbody td a{font-size: 14px;}
    #sAdmis .admi08 .table_con_wrap .cir-t table tbody th{padding: 12px;}
    #sAdmis .admi08 .table_con_wrap .cir-t table tbody th small{font-size: 13px;}
    #sAdmis .pdf_down{max-width: 280px;}
    #sAdmis .pdf_down a{gap: 12px; padding: 14px 20px;}
    #sAdmis .pdf_down a p{font-size: 20px;}
    #sAdmis .pdf_down a img{width: 30px;}
    #sAdmis .pdf_down.is-fixed {bottom: 16px;}
    #sAdmis.acad .pu_box_tit .l_tit label{font-size: 22px;}
    #sAdmis.acad p.cont b{font-size: 18px;}
    #sAdmis.acad .table_con_wrap .cir-t table tbody td{padding: 12px;}
    #sAdmis.acad .curr_circle .container {height: auto; min-height: auto; display: flex; flex-direction: column; align-items: center; gap: 16px; padding: 20px 0;}
	#sAdmis.acad .curr_circle .center {position: relative; top: auto; left: auto; transform: none; width: 180px; height: 180px; margin: 20px 0; animation: centerAppearMobile 0.6s ease-out;}
    #sAdmis.acad .curr_circle .center h2 { font-size: 22px; }
    #sAdmis.acad .curr_circle .center p { font-size: 13px; }
    #sAdmis.acad .curr_circle .pulse { display: none; }
    #sAdmis.acad .curr_circle .dept {position: relative; top: auto; left: auto; width: 100%; max-width: 320px; height: auto; min-height: 110px; --tx: 0px; --ty: 0px; animation: spreadMobile 0.8s ease-out forwards;}

	@keyframes centerAppearMobile {
      0% { transform: scale(0); opacity: 0; }
      100% { transform: scale(1); opacity: 1; }
    }

    @keyframes spreadMobile {
      0% { transform: translateY(30px); opacity: 0; }
      100% { transform: translateY(0); opacity: 1; }
    }
}
@media (max-width: 500px) {
	#sAdmis > div + div{margin-top: 24px;}
	#sAdmis .table_con_wrap{padding: 12px; border-radius: 12px;}
	#sAdmis .table_con_wrap > .table_prev_mo.scroll_guide{border-radius: 12px;}
	#sAdmis .table_prev_mo.scroll_guide p{padding: 8px 14px; font-size: 13px;}
	#sAdmis .table_cont{padding: 16px; border-radius: 14px;}
	#sAdmis p.cont{padding: 16px; font-size: 14px; line-height: 1.65; border-radius: 14px;}
	#sAdmis p.cont b.appl{margin-bottom: 12px; padding-bottom: 12px;}
	#sAdmis p.cont b.appl > a.link{display: block; margin: 8px 0 0; padding: 6px 14px; text-align: center; word-break: break-all;}
	#sAdmis p.cont b.send{padding: 12px 14px;}
	#sAdmis .table_con_wrap .cir-t table thead th{padding: 7px; font-size: 14px;}
	#sAdmis .table_con_wrap .cir-t table tbody th{font-size: 14px;}
	#sAdmis .table_con_wrap .cir-t table tbody td{padding: 7px; font-size: 14px;}
	#sAdmis .table_con_wrap .cir-t table tbody td a{font-size: 13px;}
	#sAdmis .table_con_wrap .cir-t table tbody td a.link{padding: 5px 8px;}
	#sAdmis .admi08 .table_con_wrap .cir-t table tbody th{padding: 10px;}
	#sAdmis .admi08 .table_con_wrap .cir-t table tbody th small{font-size: 12px;}
	#sAdmis .admi11 p.cont b.contact{margin-top: 8px; padding: 5px 14px;}
	#sAdmis .pdf_down{max-width: 240px;}
	#sAdmis .pdf_down a{gap: 10px; padding: 12px 18px;}
	#sAdmis .pdf_down a p{font-size: 17px;}
	#sAdmis .pdf_down a img{width: 26px;}
	#sAdmis .pdf_down.is-fixed {bottom: 12px;}
	#sAdmis.acad .pu_box_tit .l_tit label{font-size: 20px;}
	#sAdmis.acad p.cont b{font-size: 16px;}
	#sAdmis.acad .table_con_wrap .cir-t table tbody td{padding: 10px;}
	#sAdmis.acad .curr_circle .center{width: 150px; height: 150px; margin: 10px 0;}
	#sAdmis.acad .curr_circle .center h2{font-size: 19px;}
	#sAdmis.acad .curr_circle .center p{font-size: 12px;}
	#sAdmis.acad .curr_circle .dept{padding: 16px; min-height: 96px;}
	#sAdmis.acad .curr_circle .dept h3{font-size: 16px;}
	#sAdmis.acad .curr_circle .dept p{font-size: 12px;}
	#sAdmis.acad .curr_circle .dept .icon{top: 12px; right: 12px; font-size: 17px;}
}


/* ==================================================
   15. 공통 애니메이션 (keyframes)
   ================================================== */
@keyframes mymove{
	from{filter: blur(5px); transform:scale(1.2)}
	to{filter: blur(0); transform:scale(1)}
}

@keyframes ripple{ 0%{ transform: scale(.2); opacity: .85; } 100%{ transform: scale(1); opacity: 0; } }
