@charset "utf-8";

:root{
	--navy: #002279;
	--sky: #45c5fd;
	--bg: #ffffff;
	--text: #111;
	--text-2: #737b91;
	--tint: #eef5ff;
	--tint-2: #f5f9ff;
	--line: #e6edf8;
	--grad: linear-gradient(120deg, #002279 0%, #2563c9 55%, #45c5fd 100%);
	--grad-soft: linear-gradient(135deg, #002279, #45c5fd);
	--shadow: 0 24px 60px -28px rgba(0, 34, 121, .28);
	--shadow-sm: 0 12px 30px -18px rgba(0, 34, 121, .22);
	--pre: "Pretendard Variable", "Pretendard", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: var(--pre); color: var(--text); background: var(--bg); line-height: 1.7; -webkit-font-smoothing: antialiased; word-break: keep-all; overflow-x: hidden; }
::selection { background: var(--sky); color: var(--navy); }
a { text-decoration: none; color: inherit; }
.wrap { max-width: 100%; margin: 0 auto; }
.grad-t { background: var(--grad); -webkit-background-clip: text; background-clip: text; color: transparent; }

.pill-lab { display: inline-flex; align-items: center; gap: 9px; font-size: 18px; font-weight: 700; color: var(--navy); background: var(--tint); padding: 8px 16px; border-radius: 30px; letter-spacing: .01em; }
.pill-lab::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--sky); }


section { position: relative; }
.shead {}
.shead h2 { font-size: 40px; font-weight: 700; color: #222; letter-spacing: -.04em; line-height: 1.14; color: var(--text); text-align: center; position: relative; z-index: 2; }
.shead p { color: var(--text); font-size: 18px; max-width: 640px; margin-top: 16px; line-height: 1.75; }

/* sVisual */
#sVisual{position: relative; display: flex; justify-content: flex-end; }
#sVisual .sVis_wr{position: relative; width: calc(100% - 2%); height: 320px; padding-top: 130px;}

#sVisual .slogan{position: relative; line-height: 1.1; z-index: 10; display: block; width: 100%; margin: 0 auto; padding-left: 3%;}
#sVisual .slogan .big-tit{position: relative; padding-left: 20px; font-weight: 700; font-size: 42px; color: #fff; line-height: 1; letter-spacing: -1px;}

#sVisual .svWrap{position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; border-radius: 0 0 0 80px; background: #000; z-index: -1;}
#sVisual .svWrap::before{content: ''; position: absolute; top: 0; left: 0; display: block; width: 100%; height: 100%; background: rgba(0,0,0,.3); z-index: 1;}
#sVisual .svWrap .sv-img{width: 100%; height: 500px; position: relative; top: 0; left: 0; opacity: 1; animation: mymove 5s; background: url("/images/sub/sVisual.jpg") no-repeat 50% 12% / cover;}

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

@keyframes mymove{
	from{filter: blur(5px); transform:scale(1.2)}
	to{filter: blur(0); transform:scale(1)}
}

@media (max-width: 1500px){
	#sVisual .slogan .big-tit big{font-size:60px;}
	#sVisual .slogan .big-tit small{font-size:24px;padding-left: 130px;}
	#sVisual .slogan .big-tit small:before{width: 100px;}
}
@media (max-width: 1170px){
	#sVisual .sVisual {height: 300px;}
}
@media (max-width: 980px){
	#sVisual .slogan .big-tit {gap: 10px;align-items: center;flex-direction: column;font-size: 40px;padding-left: 6px;}
	#sVisual .slogan .big-tit small{padding:0;}
	#sVisual .slogan .big-tit small:before{display:none;}
}
@media (max-width: 767px){
	#sVisual{justify-content: flex-start;}
	#sVisual .sVis_wr {width: 100%; height:230px;padding-top: 50px;}
	#sVisual .svWrap .sv-img{height: 230px;}
    #sVisual .svWrap{border-radius: 0 0 0 25px;}
	#sVisual .slogan {margin: 40px auto 20px;}	
	#sVisual .slogan .big-tit{font-size: 28px;}
    #sVisual .slogan .big-tit big:before{width: 65px; height: 65px;  background-size: 100%;bottom: 0;right: 0;}
	#sVisual .slogan .big-tit big{font-size:30px;}
	#sVisual .slogan .big-tit small{font-size:24px;padding-left:0px;}	
	#sVisual .sVisual {height: 180px;}	
	#sVisual .svWrap .sv-img1,
	#sVisual .svWrap .sv-img2,
	#sVisual .svWrap .sv-img3,
	#sVisual .svWrap .sv-img4,
	#sVisual .svWrap .sv-img5,
	#sVisual .svWrap .sv-img6,
	#sVisual .svWrap .sv-img7,
	#sVisual .svWrap .sv-img8{background-position:50% 50%;background-size: 100%;overflow: hidden;background-attachment:unset;background-size: cover;}
}

@media (max-width: 767px){
	#sVisual .slogan .big-tit{font-size: 24px;}
	#sVisual .sVis_wr{height: 210px;}
	#sVisual .svWrap .sv-img{height: 210px;}
	#sVisual .svWrap .sv-img1, #sVisual .svWrap .sv-img2, #sVisual .svWrap .sv-img3, #sVisual .svWrap .sv-img4, #sVisual .svWrap .sv-img5, #sVisual .svWrap .sv-img6, #sVisual .svWrap .sv-img7, #sVisual .svWrap .sv-img8{background-position: 80% 50%;}
}

/* 공통 */
.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: 60px 0;}
.sCont .sCont-title{display:block;padding: 0 0 20px;color: #111;font-size: 38px;line-height:1.6;font-weight: 700;letter-spacing: -1px;text-align:center;}

.sub-board-bottom{padding-bottom:160px;}

.sec-cont{position:relative;}
.sec-cont + .sec-cont{margin-top:60px;}
.ess-color{color: #f65354;font-size: 22px;}

@media (max-width: 1170px){
	.sCont{padding: 80px 0;}
	.sCont .sCont-title{font-size:42px;}
	.sub-board-bottom{padding-bottom:80px;}	
}

@media (max-width: 767px){
	.sCont .sCont-title{padding-bottom: 0;font-size:28px;line-height: 1.2;margin:0 auto 30px;}
	.sCont{padding: 60px 0;}
	.sub-board-bottom{padding-bottom:40px;}

	.contTit-s{margin:30px 0 10px; font-size:17px;}
	.contTit-s .right-txt{margin:5px 0; font-size:13px;}
	.list-Dot>li{padding-left:10px; font-size:14px;}
	#sub-top .contTit-s{margin-top:30px;}
	#sub-top ul.bis-info-list li{padding-left:10px; font-size:15px;}
	.ui-topbox .inner{padding:20px 20px; min-height:auto;}
	.ui-topbox .inner.img-inner{padding:20px 20px;}
	.ui-topbox .img15, .ui-topbox .img-step{width:200px; height:200px;}
	.ui-topbox .icon{display:none;}
	.ui-topbox .txtwrap .tit-wrap{display:block; font-size:22px; line-height:1.2;}
	.ui-topbox .txtwrap strong.logo-img{display:block; margin-right:0; width:180px; height:29px; background-size:100%; margin-bottom:10px;}	
	.ui-topbox .txtwrap p{font-size:14px;}
}

/* location */
#location{display: inline-block;width: auto;margin-top: 40px;padding-left: 3%;z-index: 10;}
.lnb{position: relative; z-index: 10; display: flex; justify-content: flex-start; gap: 10px; padding: 10px; border-radius: 50px; background: #fff;}
.lnb .lnb-map{display: flex;width: 100%;}
.lnb .lnb-map:after{content:''; display:block; clear:both;}
.lnb .lnb-map li a{display:block;}
.lnb .lohom{position:relative;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%;background: #002279;color: #fff;font-size:18px;border-radius: 50%;position:relative;}
.lnb .lnb-map > li{width: 300px;background: rgba(255, 255, 255, 0.1);backdrop-filter: blur(10px);border-radius: 50px;}
.lnb .lnb-map > li:first-child{margin-right: 10px;}
.lnb .lnb-map > li > a{}
.lnb .lnb-map li.depth{position:relative;}
.lnb .lnb-map li:first-child a span{}
.lnb .lnb-map li.depth ul{display:none;position:absolute;top: 60px;left:0;width:100%;padding: 0 0 20px 0;background:#fff;z-index:10;border-radius: 0 0 25px 25px;box-shadow: 0 20px 20px 0px rgba(79, 85, 99, 0.2);}
.lnb .lnb-map li.depth ul li a{display: block; padding: 7px 30px; 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{transform:rotate(135deg); top:50%; margin-top:-5px; right:10%; 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;}
.lnb .lnb-map li.depth ul li a:hover{}
.lnb .lnb-map li.depth a span{width:100%;font-size: 18px;color: #222; background: #f4f4f4;height: 60px;line-height: 1.3;display:flex;font-weight: 500;letter-spacing: -.5px;padding: 0 30% 0 30px;transition:.1s ease-out;align-items:center;border-radius: 100px;}
.lnb .lnb-map li:first-child.depth a span{}
.lnb .lnb-map li:last-child.depth a span{}
.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 ul{}
.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:30px; width:220px; 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: #002279;}
.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: 1170px){
	#location {bottom: 40px;width: 100%;padding: 0 4%;}
	.lnb .lnb-map > li {width: 50%;}
}

@media (max-width: 767px){
	#location {bottom: 30px;margin-top: 10px;}
	.lnb{gap:5px;}
	.lnb .lohom{width: 47px;height:45px;}
	.lnb .lohom > a{font-size:14px;}
	.lnb .lnb-map{width:calc(100% - 45px); gap:5px;}
	.lnb .lnb-map > li {width:50%;height: 45px; border-radius: 10px;}
	.lnb .lnb-map > li > a{height: 45px;}	
	.lnb .lnb-map li.depth a span{font-size:13px; height:45px; padding:0 15% 0 7%;}
	.lnb .lnb-map li.depth ul{top:45px; padding:10px 7%; border-radius: 5px;}
	.lnb .lnb-map li.depth ul li a{padding: 6px 0; font-size: 13px;}
	.lnb .lnb-map > li:nth-last-of-type(1){width:50%;}
}

@media (max-width: 767px){
	.lnb{padding: 6px;}
	.lnb .lohom{width: 38px; height: 38px;}
	.lnb .lohom > a{font-size: 11px;}
	.lnb .lnb-map{width: calc(100% - 38px);}
	.lnb .lnb-map > li{height: 38px;}
	.lnb .lnb-map > li:first-child{margin-right: 0;}
	.lnb .lnb-map li.depth ul{top: 38px;}
	.lnb .lnb-map li.depth a span{height: 38px;}
	.lnb .lnb-map li a:after,
	.lnb .lnb-map li:first-child a:after{width: 6px; height: 6px; margin-top: -9px; border-top: 1px solid #cdcdcd; border-right: 1px solid #cdcdcd;}
}

.sub-sub-tit {display: inline-block;position: relative;font-size:24px;font-weight: 600;font-family: "Poppins", sans-serif;letter-spacing: -0.055em;line-height: 1.2em;color: #1f75f7;text-align: center;}
.sub-sub-tit:before {position: absolute;content: "";bottom: -2px;left: 0;width: 100%;height: 1.3px;background-color: #1f75f7;}
.contTit-center{text-align:center; display:block; margin:0 0 20px 0; font-weight:500; text-decoration:underline; font-size:32px; color:#0c4167; letter-spacing:-1px; line-height:1.2;}
.contTit-big{display:block;margin:60px 0 15px;font-weight:700;font-size:34px;color: #212121;letter-spacing:-1px;line-height:1.2;}
.contTit{display:block; margin:60px 0 15px; font-weight:700; font-size:28px; color:#2a2a2a; letter-spacing:-1px; line-height:1.2;}
.contTit-s{display:block;margin:40px 0 13px;font-weight:700;font-size: 28px;color: #30a82f;word-spacing:-.5px;line-height: 1.4;}
.contTit-ss{display:block;margin: 30px 0 13px;font-weight: 600;font-size: 19px;color: #212121;text-decoration:underline;word-spacing:-.5px;line-height:1.2;}
.contTit+.contTit-s{margin:10px 0 12px;}
.contTit-big+.contTit-s{margin:10px 0 12px;}
.contTit-s + .contTit-ss{margin:10px 0 12px;}
.contTit-s > a{margin-left:10px;}
.contTit-big > .eng-tit{font-size: 24px;margin-left: 10px;color: #777;font-weight: 500;letter-spacing: -.5px;}
.flex-tit .eng-tit,
.contTit > .eng-tit{font-size: 20px;margin-left: 10px;color: #777;font-weight: 500;letter-spacing: -.5px;}
.contTit > .eng-tit.block{display:block; margin-left:0; margin-top:5px;}
.flex-tit{display:flex;align-items:flex-start;gap:30px;}
.flex-tit.full{justify-content:space-between;}
.flex-tit > .blank-btn{margin:-5px;}

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;}
.txt-bold{color:#111;letter-spacing:-.5px;font-weight:500;}
.red-bold{color:#253369;letter-spacing:-.5px;font-weight:500;}
.txt-bold > em{text-decoration:underline; font-style:normal;}
.a-bold{text-decoration:underline; font-weight:600; color:#333;}
p.txtSt1{color:#666; line-height:1.6; font-size:18px; word-break:keep-all;}
.unline{display:inline-block;position:relative;color: #333;font-size: 19px;font-weight: 500;letter-spacing:-0.5px;margin: 0 5px;}
.unline em{display:inline-block; font-style:normal; margin:0 2px; font-weight:bold; text-decoration:underline;}
.ess{font-style:normal; color:#333; text-decoration:underline; font-weight:400;}
.color-txt{font-style:normal; color:#9c6e37;}
.un-bold{color:#333; text-decoration:underline; font-weight:600;}
.point-color{color: #9c6e37;}
p.txt-big{font-size:18px; letter-spacing:-0.036em; line-height: 1.778em; color:rgba(34, 34, 34, 0.8); font-weight:700;}

ul.h-bold-list{}
ul.h-bold-list > li{font-size:18px;letter-spacing:-0.036em;line-height:1.7;color:rgba(34, 34, 34, 0.9);font-weight:600;position: relative; padding-left:22px;}
ul.h-bold-list > li:before{content: "\ef3b";font-family:remixicon !important;font-style:normal;color:#253369;position:absolute;left:0;top: 3px;font-size:14px;}
ul.h-bold-list > li > ul.list-hyphen{margin-bottom:10px;}
ul.h-bold-list > li > ul.list-hyphen > li{font-size:17px;}

.wb{display:inline-block;width: 65px;text-align:justify;position:relative;font-weight:600;color:#9c6e37;line-height:0;margin-right: 5px;}
.wb:before{content:""; display:inline-block; width:100%;}
.wb:after{content:""; display:inline-block; width:100%;}

.grayBox{border:7px solid #f5f5f5; position:relative; padding:35px 50px 35px 35px; background:#fff;}
.grayBox .img-wrap{position:relative; text-align:center;}
.grayBox .img-wrap > img{max-width:100%;}
ul + .img-wrap, ol + .img-wrap, p + .img-wrap{margin-top:30px;}
.grayBox + .grayBox{margin-top:20px;}
.grayBox .contTit-s{margin-top:0;}
.grayBox + ul{margin-top:20px;}
.grayBox + p{margin-top:20px;}

.cont-sec{position:relative;}
.cont-sec + .cont-sec{margin-top:80px;}
.cont-sec:nth-child(1){padding:0;}
.cont-sec.bg{padding: 80px 0;}
.cont-sec.bg:before{content:""; position:absolute; top:0; left:50%; width:100vw; height:100%; margin-left:-50vw; background:#eff2fa; z-index:-2;}
.cont-sec.bg > .contTit{margin-top:0;}
.cont-sec.cont-left{display:flex;}
.cont-sec h3 > {}
.cont-sec .s-cont{position:relative;}
.cont-sec.cont-left > h3{display:inline-block; width:25%;}
.cont-sec.cont-left > h3 .contTit{margin-top:5px; font-size:22px;}
.cont-sec.cont-left > .s-cont{width:75%;}
.cont-sec.cont-left p.txt{font-size:17px; line-height:1.6;}

.mb-10{margin-bottom:10px;}
.mb-15{margin-bottom:15px;}
.mb-20{margin-bottom:20px;}
.mb-25{margin-bottom:25px;}
.mb-30{margin-bottom:30px;}
.mb-40{margin-bottom:40px;}
.mb-60{margin-bottom:60px;}

.box-flex{display:flex;}

.gs-box{border-radius:30px; padding:22px; background:#f9f9f9; text-align:center;}
.gs-box .r-red{background:#00bfe6; color:#fff; text-align:center; border-radius:30px;box-shadow:inset 0px 5px 10px 0 rgb(121 121 121 / 6%);font-size:18px; font-weight:500; padding:10px 20px 9px;}
.gs-box .s-txt{font-size:15px; font-weight:400; letter-spacing:-0.78px; color:#1f1f1f; display:block; margin-top:10px;}

p.txt + .list-point{margin-top:5px;}
.gs-box + .list-point{margin-top:10px;}

.list-Dot>li{position:relative;padding-left:12px;box-sizing:border-box;color:#555;font-size: 18px;font-weight:400;line-height: 1.6;text-align:left;vertical-align:top;letter-spacing:-0.5px;}
.list-Dot>li:before{content:"";display:block;position:absolute;left:0;top: 11px;overflow:hidden;width: 4px;height: 4px;box-sizing:border-box;border-radius:50%;background: #30a82f;}
.list-Dot>li+li{margin-top:0;}
.list-Dot>li a{color:inherit;}
.list-Dot>li a:hover{text-decoration:underline;}
.list-Dot>li a.gold{color:#9c6e37; text-decoration:underline;}
.list-Dot > li > .txt-bold > em.noto,
.list-Dot > li > em.noto{font-family:'Noto Sans KR';text-decoration:none;font-style: normal;}
ul + .table_con_wrap,
.table_con_wrap + ul{margin: 10px 0;}

.list-Dot .list-hyphen{margin:0px 0 5px;}

.list-hyphen{}
.list-hyphen>li{position:relative;padding-left:11px;color:#555;font-weight:400;line-height:1.5;text-align:left;vertical-align:top;letter-spacing: 0px;}
.list-hyphen>li:before{content:""; display:block; position:absolute; left:0; top:11px; width:5px; height:1px; box-sizing:border-box; background:#999;}
.list-hyphen>li a{color:#555; text-decoration:underline;}
.list-hyphen>li a:hover{opacity:.8;}

.list-Dot>li .list-hyphen>li+li{margin-top:3px;}
.list-Dot>li .list-hyphen{width:100%;}
.list-Dot>li .list-hyphen>li{color:#888;font-size: 17px;}
.list-Dot>li .list-hyphen>li:before{top: 11px;}

.list-Dot + .list-hyphen{margin-top:10px;}

.ol-list{margin:10px 0; padding:0 0 0 20px;}
.ol-list > li{position:relative;box-sizing:border-box;color: #333;font-size: 17px;font-weight: 500;line-height: 1.6;text-align:left;vertical-align:top;letter-spacing:-0.5px;}
.ol-list > li + li{margin-top: 0;}
.ol-list > li .list-point > li{font-size:16px;}
.ol-list > li .list-point > li + li{margin-top:0px;}

.box-txt{background:#253369;color:#fff;font-style:normal;font-weight: 500;padding: 2px 6px;font-size: 16px;letter-spacing: 0;}

ul + .list-point{margin-top:15px;}
.list-type1 + .list-point{margin-top:25px;}
.list-point{}
.list-point > li{font-size: 17px;line-height:1.6;padding-left:20px;position:relative;font-weight:500;color:#333;}
.list-point > li + li{margin-top: 5px;}
.list-point > li:before{content:"※"; position:absolute; left:0; top:-3px; font-size:20px; display:inline-block;}
.list-point > li.un-line{text-decoration:underline;}
.list-point .list-hyphen{margin-top:5px;}

.point-info{position:relative;padding-left: 13px;color:#9c6e37;font-size: 17px;font-weight:400;letter-spacing:-0.5px;line-height: 1.4;text-align:left;}
.point-info:before{content:"*";position:absolute;left:0;top:0;font-size: 19px;display:inline-block;}

.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;}
table .inline-block .point-info{text-align:center;display:inline-block;}

.sub-top-box{box-shadow:0px 15px 20px -5px rgb(0 0 0 / 4%); border-radius:30px; padding:40px 50px; text-align:center;}
.sub-top-box .red-sub-tit h4{font-size:18px; font-weight:400; letter-spacing:-0.5px; color:#00bfe6; text-transform:uppercase;}

.sec-box{text-align:center; display:block;}

.info-box{}
.info-box > li{position:relative; padding-left:25px; line-height:1.4; font-size:15px; font-weight:400; color:#535353;}
.info-box > li + li{margin-top:5px;}
.info-box > li i{position:absolute;left:0;top:0px;font-size:20px;color:#00c191;}

.step-lt{}
.step-lt > li{}
.step-lt > li + li{margin-top:10px;}
.step-lt .lt-item{border-radius: 20px;background: #fff;padding: 30px 35px;display:flex;align-items:flex-start;flex-wrap:wrap;border:1px solid #e2eff6;}
.step-lt .lt-item .lt-tit{
    display:flex; justify-content:center; align-items:center; width:150px; height:150px; background:#1c6db9;
    font-size:20px; color:#fff; font-weight:normal; line-height:1.2; word-break:keep-all; text-align:center;
    border-radius:80px; padding:10px; box-shadow:inset 0px 5px 10px 0 rgb(5 63 117 / 20%);    
}
.step-lt .lt-item .lt-tit em{ font-style:normal; font-weight: normal;}
.step-lt .lt-item .right-con{width:calc(100% - 150px); padding:10px 0 10px 40px;}
.step-lt .lt-item .right-con .lt-bt{font-weight:normal;font-size:20px;line-height: 1.4;letter-spacing:-1px;color:#1c6db9;word-break:keep-all;display: block;margin-bottom: 15px;}
.step-lt .lt-item .list-wb{display:flex; flex-wrap:wrap; gap:10px; background:#fff; border-radius:20px; padding:25px 30px; border:1px solid #ededed;}
.step-lt .lt-item .list-wb > li{font-size:18px; line-height:1.5; letter-spacing:-0.78px; color:#666; position:relative; padding:0 15px 0 9px; word-break:keep-all; transition:.2s ease-out;}
.step-lt .lt-item .list-wb > li:before{content:"";background:#555;width:3px;height:3px;top: 11px;left:0;display:inline-block;border-radius:50%;position:absolute;}
.step-lt .lt-item .list-wb > li:hover{font-weight:500; color:#333; text-decoration:underline;}
.step-lt .lt-item .list-wb.w3 > li{width:32.6%;}
.step-lt .lt-item .list-wb.w2 > li{width:49%;}
.step-lt .lt-item .list-wb.w1 > li{width:100%;}
.step-lt .lt-item .list-wb2{background:#fff;border-radius: 10px;padding:20px 30px;border: 1px dotted #ddd;}
.step-lt .lt-item .list-wb2 > li{font-size: 17px;line-height: 1.6;font-weight:400;letter-spacing: -0.5px;color:#555;position:relative;border-radius: 50px;transition:.2s ease-out;}
.step-lt .lt-item .list-wb2 > li:before{background:#555;width:3px;height:3px;top:7px;left:0;display:inline-block;border-radius:50%;position:absolute;}
.step-lt .lt-item .list-wb2 > li b{font-weight:600; color:#333; display:inline-block; margin-right:2px;}
.step-lt .lt-item .list-wb2 > li + li{margin-top:5px;}

.step-lt + .list-point{margin-top:20px;}
.step-lt + .list-point>li{padding-left:18px; text-decoration:underline;}
.step-lt + .list-point>li:before{top:-3px; font-size:20px;}

.step-nm{}
.step-nm > li{}
.step-nm > li + li{margin-top:10px;}
.step-nm .nm-item{border-radius: 15px;background: #fff;padding: 30px 35px;display:flex;align-items:flex-start;flex-wrap:wrap;border: 1px solid #e2eff6;}
.step-nm .nm-item .nm-tit{
    display:flex;
    justify-content:center;
    align-items:center;
    width: 50px;
    height: 50px;
    background:#1c6db9;
    font-size: 22px;
    color:#fff;
    font-weight:normal;
    letter-spacing: .5px;
    line-height:1.2;
    word-break:keep-all;
    text-align:center;
    border-radius:80px;
    padding:10px;
    box-shadow:inset 0px 5px 10px 0 rgb(5 63 117 / 20%);
}
.step-nm .nm-item .nm-tit em{ font-style:normal; font-weight: normal;}
.step-nm .nm-item .right-con{width: calc(100% - 50px);padding: 0px 0 0 20px;}
.step-nm .nm-item .right-con .nm-bt{font-weight:normal;font-size: 22px;letter-spacing: 0px;color:#1c6db9;word-break:keep-all;display: block;margin-bottom: 15px;}
.step-nm .nm-item .list-wb{display:flex;flex-wrap:wrap;gap:10px;background:#fff;border-radius: 10px;padding:25px 30px;border: 1px dotted #ddd;}
.step-nm .nm-item .list-wb > li{font-size:18px; line-height:1.5; letter-spacing:-0.78px; color:#666; position:relative; padding:0 15px 0 9px; word-break:keep-all; transition:.2s ease-out;}
.step-nm .nm-item .list-wb > li:before{content:"";background:#555;width:3px;height:3px;top: 11px;left:0;display:inline-block;border-radius:50%;position:absolute;}
.step-nm .nm-item .list-wb > li:hover{font-weight:500; color:#333; text-decoration:underline;}
.step-nm .nm-item .list-wb.w3 > li{width:32.6%;}
.step-nm .nm-item .list-wb.w2 > li{width:49%;}
.step-nm .nm-item .list-wb.w1 > li{width:100%;}
.step-nm .nm-item .list-wb2{background:#fff; border-radius:20px; padding:20px 30px; border:1px solid #ededed;}
.step-nm .nm-item .list-wb2 > li{font-size: 17px;line-height: 1.6;font-weight:400;letter-spacing: -0.5px;color:#555;position:relative;border-radius: 50px;transition:.2s ease-out;}
.step-nm .nm-item .list-wb2 > li:before{background:#555;width:3px;height:3px;top:7px;left:0;display:inline-block;border-radius:50%;position:absolute;}
.step-nm .nm-item .list-wb2 > li b{font-weight:600; color:#333; display:inline-block; margin-right:2px;}
.step-nm .nm-item .list-wb2 > li + li{margin-top:5px;}

.sq-list{display:flex; row-gap:13px; column-gap:1%; flex-wrap:wrap;}
.sq-list.col-2 > li{width:49.5%;}
.sq-list.col-3 > li{width:32.66%;}
.sq-list.col-4 > li{width:24.25%;}
.sq-list > li{}
.sq-list > li + li{}
.sq-list .sq-item{background:#fff;height:100%;overflow:hidden;display:flex;align-items:center;flex-direction:column;border-radius:10px;}
.sq-list .sq-item .sq-tit{display:flex; align-items:center; width:100%; height: 90px; padding: 22px 30px; background:#f7f7f7; font-size: 20px; color: #262a2b; font-weight: bold; line-height: 1.4; word-break: keep-all; text-align: center; justify-content: center;}
.sq-list .sq-item .sq-tit em{font-style:normal; font-weight:normal;}
.sq-list .sq-item .sq-con{padding:20px 30px 30px; width:100%;}
.sq-list .sq-item .gray-dot{}
.sq-list .sq-item .gray-dot li{position:relative;display:block;padding-left:15px;font-weight:400;line-height: 1.6;color:#535353;letter-spacing:-.5px;font-size: 17px;word-break: keep-all;}
.sq-list .sq-item .gray-dot li:before{content:"";display:inline-block;width:5px;height:5px;background:#eaeaea;border-radius:50%;position:absolute;top: 10px;left:0;}
.sq-list .sq-item .gray-dot li + li{margin-top:15px;}

.bg .sq-list .sq-item .sq-tit{background:#5785af; color:#fff;}
.bg .sq-list .sq-item .gray-dot li + li{margin-top:5px;}

.cure-list{display:flex; row-gap:13px; column-gap:1%; flex-wrap:wrap;}
.cure-list.col-2 > li{width:49.5%;}
.cure-list.col-3 > li{width:32.66%;}
.cure-list.col-4 > li{width:24.25%;}
.cure-list > li{}
.cure-list > li + li{}
.cure-list .cure-item{padding: 40px 40px 40px 170px;height:100%;background:#f3f7f9;border-radius:15px;box-sizing: border-box;position: relative;}
.cure-list .cure-item:before{content:"";position:absolute;background:#fff;width: 110px;height: 110px;left: 30px;top: 30px;border-radius:50%;display:flex;}
.cure-list .cure-item.icon1:before{background:url("/images/sub/5964235.png") no-repeat 50% 50% #fff; background-size:50px;}
.cure-list .cure-item.icon2:before{background:url("/images/sub/5964327.png") no-repeat 50% 50% #fff; background-size:50px;}
.cure-list .cure-item.icon3:before{background:url("/images/sub/5964316.png") no-repeat 50% 50% #fff; background-size:50px;}
.cure-list .cure-item.icon4:before{background:url("/images/sub/5964241.png") no-repeat 50% 50% #fff; background-size:50px;}

.cure-list .cure-item .cure-tit{font-size:22px; color:#222; font-weight:normal; line-height:1; margin:0 0 25px; border-bottom:1px dotted #ccc; padding:0px 0 15px;}
.cure-list .cure-item .cure-con{}
.cure-list .cure-item .cure-con p{font-weight:400;line-height:1.6;color:#535353;letter-spacing:-.5px;font-size:17px;}
.cure-list .cure-item .cure-con p + p{margin-top:15px;}

.dot-box-list{display:flex; row-gap:13px; column-gap:1%; flex-wrap:wrap;}
.dot-box-list > li{display:flex;align-items:flex-start;position:relative;width: 49%;border-radius:20px;background:#fff;border:1px dotted #ddd;padding:20px 25px 22px;font-size: 17px;line-height:1.6;font-weight:400;letter-spacing:-0.78px;color:#666;word-break: keep-all;transition:.2s ease-out;}
.dot-box-list > li .num{font-weight:bold;color: #333;margin-right:10px;}
.dot-box-list > li:hover{box-shadow:0 10px 25px 0px rgb(81 106 190 / 5%); transform:translateY(-5px);}

.y-box{position:relative;background:#fafdf3;border-radius:30px;padding: 40px 60px 50px;text-align:left;color:#383838;letter-spacing:-1px;line-height:1.5;word-break:keep-all;}
.y-box p.y-txt{font-size:18px; font-weight:400; letter-spacing:-.5px; color:#666; line-height:1.8; word-break:keep-all;}
.y-box p.y-txt + p.y-txt{margin-top:8px;}
.y-box p.y-txt b{font-weight:normal; letter-spacing:-.5px; font-size:19px; color:#1b1b1b;}
.y-box .in-fo{position:relative; padding-left:31px;}
.y-box .in-fo i{font-size:26px; position:absolute; left:0px; top:2px; color:#fdb813;}

.info-y-box{position:relative;background: rgba(255,255,255,.5);border-radius: 20px; border: 1px solid #eee; padding: 20px 30px;text-align:left;color:#383838;letter-spacing:-1px;line-height:1.5;word-break:keep-all;}
.info-y-box .in-fo{position:relative;padding-left: 33px;font-size:18px;font-weight:400; letter-spacing:-.5px;text-align: center;color:#666;line-height:1.8;word-break:keep-all;}
.info-y-box .in-fo i{font-size:26px;position:absolute;left:0px;top: -5px;color: #fdb813;}
.info-y-box p b{font-weight: 700;letter-spacing:-.5px;font-size: 24px;color:#222;}
.info-y-box p + ul{margin-top:10px;}
.info-y-box ul + ul{margin-top:10px;}
.info-y-box .in-box{position:relative;margin-top:20px;padding: 25px 30px;border-radius: 10px;background:#fff;}
.info-y-box .num-list{}
.info-y-box .num-list > li{position:relative;font-size:17px;font-weight: 400;line-height:1.6;color: #444;padding-left: 25px;}
.info-y-box .num-list > li em{font-style:normal;width: 18px;height: 18px;border-radius:50%;background: #103125;color: #fff;font-size: 12px;padding-right: 1px;line-height: 19px;display: inline-block;text-align: center;margin-right: 3px;position: absolute;left: 0;top: 4px;}
.info-y-box .num-list > li + li{margin-top:2px;}
.info-y-box .num-list > li .list-hyphen>li+li{margin-top:2px;}
.info-y-box .num-list > li .list-hyphen{width:100%; padding:5px 0 2px;}
.info-y-box .num-list > li .list-hyphen>li{color:#888; /*font-size:15px;*/ font-weight:400;}

.check-box{position:relative; margin:20px auto 10px; text-align:center;}
.check-box p{display:flex;justify-content: flex-end;gap:7px;align-items: center;font-weight: 500;font-size: 17px;letter-spacing: -.5px;line-height: 1.6;color: #535353;padding-right:30px;}
.check-box input{}

@media (max-width: 767px){
	.sub-sub-tit{font-size: 20px;}
	.cont-sec + .cont-sec{margin-top:40px;}
	.cont-sec.bg{padding:40px 0;}

	.contTit-big{margin:30px 0 15px;font-size: 24px;}
	.contTit-ss{font-size:17px;}
	
	.ui-topbox .inner{padding:20px ;}
	.ui-topbox .icon{display:none;}
	#sub-top .ui-topbox .txtwrap.day3 p{font-size:15px;}
	#sub-top .ui-topbox .txtwrap.day3 .bis-tit{font-size:16px; margin-right:5px;}
	.ui-topbox .txtwrap strong{font-size:16px;}
	
	.grayBox{border:3px solid #f5f5f5; padding: 20px;}
	.contTit-big > .eng-tit,
	.flex-tit .eng-tit, .contTit > .eng-tit{font-size:16px; margin:10px 0; display:block;}
	.flex-tit{gap: 10px; flex-direction: column; align-items: normal;}

	.contTit{margin: 20px 0 10px;font-size: 20px;}
	.contTit-s{margin: 20px 0 10px;font-size: 22px;}
	p.txt{font-size:15px;}
	.p-txt{font-size:17px;}
	p.txtSt1{line-height:1.6; font-size:16px;}
	.txt-bold{font-size:16px;}
	.list-Dot>li{padding-left:10px;font-size: 15px;}
	.list-Dot>li:before{top:9px;}
	.list-hyphen>li{padding-left:7px;font-size: 15px;}	
	.list-hyphen>li:before{top:10px; width:3px;}
	.list-Dot>li+li,
	.list-hyphen>li + li{margin-top:2px;}
	.list-Dot>li .list-hyphen>li+li{margin-top:3px;}
	.list-Dot>li .list-hyphen{padding:5px 0 2px;}
	.list-Dot>li .list-hyphen>li{font-size: 14px;}
	.list-Dot>li .table_con_wrap{margin-top:5px;}
	.list-Dot>li .table-wrap{margin-top:5px;}

	.class-list > li {font-size: 15px;}

	.info-y-box{border-radius:15px; padding:20px;}
	.info-y-box .in-fo{padding-left:30px; font-size:15px; line-height:1.5;}
	.info-y-box .in-fo i{font-size:22px; top:1px;}
	.info-y-box p b{font-size:17px;}

	.y-box{border-radius:15px; padding:20px;}
	.y-box p.y-txt{padding-left:30px; font-size:15px; line-height:1.5;}
	.y-box .in-fo i{font-size:22px; top:1px;}
	.y-box p.y-txt b{font-size:15px;}

	.info-y-box .in-box{margin-top: 10px; padding:15px; border-radius:10px;}
	.info-y-box .num-list > li{font-size:15px;}

	.point-info{font-size:15px;}
	.point-info:before{top:2px; font-size:16px;}

	.list-point > li{font-size: 14px;line-height:1.4;}
	.list-point > li:before{top:-5px;}

	.unline{font-size:16px;}

	ul.h-bold-list > li {font-size: 16px;}
	ul.h-bold-list > li + li{margin-top:5px;}
	ul.h-bold-list > li > ul.list-hyphen{margin-top:5px;}
	ul.h-bold-list > li > ul.list-hyphen > li{font-size: 15px;}
}

.sub-tab2{position:relative; display:flex; flex-wrap:wrap; align-items:stretch; justify-content:center;}
.sub-tab2 li{position:relative;background:#fff; border:1px solid #e1e1e1; cursor:pointer; margin-top:-1px; margin-left:-1px;}
.sub-tab2 li:first-child{border-radius:15px 0 0 0;}
.sub-tab2 li:last-child{border-radius:0 15px 0 0;}
.sub-tab2.tab2 li{width:calc(50% - 1px);}
.sub-tab2.tab3 li{width:calc(33.333333333% - 0px);}
.sub-tab2.tab4 li{width: calc(25.06% - 0px);}
.sub-tab2.tab5 li{width:calc(20% - 1px);}
.sub-tab2.tab6 li{width:calc(16.66% - 1px);}
.sub-tab2 li:first-child{border-left:1px solid #ddd;}
.sub-tab2 li span{display:table;width:100%;height:55px;}
.sub-tab2 li span em{word-break:keep-all; padding:0 45px 0 35px; height:100%; display:table-cell; vertical-align:middle; color:#5b5e66; font-size:18px; line-height:1; letter-spacing:.5px; text-align:left; font-style:normal; font-weight:normal;}
.sub-tab2 li.active{border: 1px solid #4A5677;background: #4A5677;}
.sub-tab2 li.active em{color:#fff;}
.sub-tab2 li em:before{content:"\ea6e"; display:inline-block; font-family:'remixicon'; position:absolute; top:50%; right:20px; font-size:28px; transform:translateY(-50%);}
.sub-tab2 li.active em:before{content:"\ea4e";}

.color-tab{position:relative;display:flex;flex-wrap:wrap;margin-bottom: 60px;background: #f9f7f7;}
.color-tab li{display:block;position:relative;margin-left:-1px;margin-top:-1px;height:100%;min-height: 70px;height:auto;line-height:1.5;}
.color-tab-one.tab2 li,
.color-tab.tab2 li{width:calc(50% + 1px);}
.color-tab-one.tab3 li,
.color-tab.tab3 li{width:calc(33.33% + 1px);}
.color-tab-one.tab4 li,
.color-tab.tab4 li{width:calc(25% + 1px);}
.color-tab-one.tab5 li,
.color-tab.tab5 li{width:calc(20% + 1px);}
.color-tab-one.tab6 li,
.color-tab.tab6 li{width:calc(16.66666666666667% + 1px);}
.color-tab li:first-child{}
.color-tab li a{position:relative; display:table; table-layout:fixed; width:100%; height:100%; border:1px solid #ddd; box-sizing:border-box; background:#fff; font-weight:500; color:#222; transition:all .1s;}
.color-tab li a span{display:table-cell;vertical-align:middle;width:100%;height:100%;padding: 16px 15px;line-height: 1.2;font-weight: 600;font-size: 20px;text-align: center;}
.color-tab li.on a{color:#fff;background: #253369;border-color: #253369;}
.color-tab li a:focus,
.color-tab li a:hover{border-color: #253369;color: #253369;text-decoration: none;z-index:2;}
.color-tab li.on a:focus,
.color-tab li.on a:hover{color:#fff;}

.color-tab-one{position:relative;display:flex;flex-wrap:wrap;margin-bottom:40px;background: #f9f7f7;}
.color-tab-one li{display:block;position:relative;margin-left:-1px;margin-top:-1px;height:100%;min-height: 70px;height:auto;line-height:1.5;}
.color-tab-one li span{position:relative; display:table; table-layout:fixed; width:100%; height:100%; border:1px solid #ddd; box-sizing:border-box; background:#fff; font-weight:500; color:#222; transition:all .1s;}
.color-tab-one li span em{font-style:normal;display:table-cell;vertical-align:middle;width:100%;height:100%;padding: 16px 15px;line-height: 1.2;font-size: 20px;font-weight: 600;text-align: center;}
.color-tab-one li.active span{color:#fff;background:#253369; border-color:#253369;}
.color-tab-one li span:focus,
.color-tab-one li span:hover{border-color:#253369; color:#253369; z-index:2;}
.color-tab-one li.active span:focus,
.color-tab-one li.active span:hover{color:#fff;}
.cont-view{display:none; position:relative;}

@media (max-width: 768px){
	.color-tab li,
	.color-tab-one li {min-height: auto;}	
	.color-tab li a span,
	.color-tab-one li span em{padding:15px; font-size: 16px;}
	.color-tab-one {margin-bottom: 30px;}
}
@media (max-width: 500px){
	.color-tab-one.tab2 li, .color-tab.tab2 li,
	.color-tab-one.tab3 li, .color-tab.tab3 li,
	.color-tab-one.tab5 li, .color-tab.tab5 li{width:100%;}
}

.vs-tabs{}
.vs-tabs ul{display:flex;width: 90%;white-space: nowrap;justify-content:center;padding-bottom: 20px;margin: 0 auto;flex-wrap: wrap;row-gap: 20px;} 
.vs-tabs ul li{position:relative;flex:0 0 auto; line-height:1;  }
.vs-tabs ul li + li{margin-left:70px;}
.vs-tabs ul li + li:before{content:''; width:1px; height:20px; background: #ddd; position:absolute; left:-35px; top:2px;}
.vs-tabs ul li a{font-size: 22px; color: #999; text-decoration:none;}
.vs-tabs ul li a:focus{outline: none;}
.vs-tabs ul li a:hover,
.vs-tabs ul li.on a{color:#111; font-weight: 700;}
.vs-tabs ul li.on a:before{content:'';width:100%;height:3px;background:#00e9cc;position:absolute;left:0;bottom:-8px;}
.vs-tabs ul li a:hover:before{content:""; width:100%; height:3px; background:#00e9cc; position:absolute; left:0; bottom:-8px; animation:strach .3s;}

@keyframes strach {
  0% {transform: scaleX(0);}
  100% {transform: scaleX(1);}
}

@media (max-width: 768px){
	.vs-tabs ul{position: relative; display: flex; flex-wrap: wrap; background: #f9f7f7; row-gap: 0; text-align: center;white-space: nowrap; justify-content:flex-start; padding-bottom:0px; width:100%;}
	.vs-tabs ul li{width: calc(33.33% + 1px);display:block;position:relative;margin-left:-1px;margin-top:-1px;height:100%;min-height:50px;height:auto;line-height:1.5;}
	.vs-tabs ul li + li {margin-left:-1px;}
	.vs-tabs ul li + li:before{display:none;}
	.vs-tabs ul li:first-child{}
	.vs-tabs ul li a{font-size: 18px; position:relative; display:table; table-layout:fixed; width:100%; height:100%; border:1px solid #ddd; box-sizing:border-box; background:#fff; font-weight:500; color:#222; transition:all .1s;}
	.vs-tabs ul li a:hover:before{display:none;}
	.vs-tabs ul li.on a:before{display:none;}
	.vs-tabs ul li.on a:before,
	.vs-tabs ul li a:focus:before,
	.vs-tabs ul li a:hover:before{right:26px;}
	.vs-tabs ul li a:after{content:""; position:absolute; left:-1px; right:-1px; top:-1px; bottom:-1px; z-index:2; width:auto; height:auto; transition:0.3s;}
	.vs-tabs ul li a span{display:table-cell;vertical-align:middle;width:100%;height:100%;padding: 10px 5px 7px 5px; font-size: 16px;line-height: 1.2;text-align: center;}
	.vs-tabs ul li.on a{color:#fff;background:#00b29c;border-color:#00b29c;}
	.vs-tabs ul li a:focus,
	.vs-tabs ul li a:hover{border-color:#00b29c; color:#00b29c; z-index:2;}
	.vs-tabs ul li.on a:focus,
	.vs-tabs ul li.on a:hover{color:#fff;}
}

@media (max-width: 768px){
	.vs-tabs ul li{width: calc(50% + 1px);}
}

@media (max-width: 400px){
	.vs-tabs ul li{width:100%;}
}

/* 테이블 디자인 */
.table_wr table{width: 100%; text-align: center; border-spacing: 0;}
.table_wr table thead tr th{height: 66px; padding: 10px 20px; background: #103125;}
.table_wr table thead tr th h5{line-height: 20px; font-size: 17px; font-weight: 500 !important; color: #fff; word-break: keep-all;}
.table_wr table tbody tr th{position: relative; border-bottom: 1px solid #ededed;}
.table_wr table thead tr th:first-child{border-radius: 10px 0 0 10px;}
.table_wr table thead tr th:last-child{border-radius:  0 10px 10px 0;}
.table_wr table tbody tr:last-child th{border-bottom: 0;}
.table_wr table tbody tr th.req{position: relative;}
.table_wr table tbody tr th.req p{font-weight: 500; color: #103125;}
.table_wr table tbody tr th.req::after{display: none;}
.table_wr table tbody tr th.req::before{content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);  display: block; width: 90%; height: 90%; border: 2px solid #103125; border-radius: 12px; z-index: -1;}
.table_wr table tbody tr th p{font-family: 'Pretendard', 'Noto Sans KR', sans-serif; font-weight: 700; font-size: 20px; color: #333; word-break: keep-all;}
.table_wr table tbody tr td{height: 50px; padding: 30px; font-family: 'Pretendard', 'Noto Sans KR', sans-serif; font-weight: 400; letter-spacing: -0.5px; color: #555; border-bottom: 1px solid #ededed; border-left: 1px solid #ededed;}
.table_wr table tbody tr td.exfirst{font-weight: 500; color: #333; border-left: none;}
.table_wr table tbody tr td p{font-weight: 600; font-size: 20px; text-align: left; color: #555; word-break: keep-all;}
.table_wr table tbody tr td p i{margin-left: 3px; font-size: 18px;}
.table_wr table tbody tr td p b{font-weight: 500; color: #555; word-break: keep-all;}
.table_wr table tbody tr td p small{display: block; margin-top: 5px; color: #888;}
.table_wr table tbody tr td p a{display: inline-block; padding: 10px 20px; color: #fff; background: #333; border-radius: 6px; font-size: 16px; word-break: keep-all; transition: all .6s;}
.table_wr table tbody tr td p a i{margin-right: 4px; font-size: 14px;}
.table_wr table tbody tr td p a:hover{background: #103125;}
.table_wr table tbody tr td ul li p{position: relative; padding: 2px 0 2px 14px;}
.table_wr table tbody tr td ul li p:after{content: ''; position: absolute; top: 11px; left: 0; width: 4px; height: 4px; border-radius: 50%; background: #ddd;}

.table_wr table tfoot tr th p{font-size: 18px; color: #333; word-break: keep-all;}
.table_wr table tfoot tr td{height: 50px; padding: 30px 20px; font-family: 'Pretendard', 'Noto Sans KR', sans-serif; font-weight: 400; letter-spacing: -0.5px; color: #555; border-bottom: 1px solid #ededed; border-left: 1px solid #ededed;}
.table_wr table tfoot tr td p{font-size: 18px; word-break: keep-all;}

.table_wr table .blnone{border-left: none!important;}
.table_wr table.twoline thead tr th{border-left: 1px solid #e8e8e8;}
.table_wr table.twoline thead tr th.bbe8e8{border-bottom: 1px solid #e8e8e8;}
.table_wr .table_wrap{position: relative; margin: 20px 0; padding: 10px; background: #f9f9f9; border: 1px solid #eee; border-radius: 15px;}
.table_wr .table_wrap .table_prev_mo{display: none; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,.6); z-index: 2; cursor: pointer;}
.table_wr .table_wrap .table_prev_mo ul{position: absolute; top: 100px; left: 50%; display: flex; justify-content: center; width: 100%; transform: translateX(-50%);}
.table_wr .table_wrap .table_prev_mo ul:after{content: ''; display: block; clear: both;}
.table_wr .table_wrap .table_prev_mo ul li{}
.table_wr .table_wrap .table_prev_mo ul li p{font-size: 18px; color: #fff;}
.table_wr .table_wrap .table_prev_mo ul li i{margin: 3px 0 0 5px; font-size: 18px; color: #fff; animation: prevarrow .5s ease-in infinite alternate;}

@media (max-width: 991px){
	.table_wr .table_wrap{width: 100%;overflow-x: auto;padding-bottom: 20px;}
	.table_wr .table_wrap .table_prev_mo{display: block;}
}

@media (max-width: 767px){
	.table_wr table thead tr th h5{font-size: 16px;}
	.table_wr table tbody tr th p{font-size: 16px;}
	.table_wr table tbody tr td{padding: 20px 10px;}
	.table_wr table tbody tr td p{font-size: 16px;}
}

@media (max-width: 450px){
	.table_wr .table_wrap .table_prev_mo ul li p{font-size: 15px;}
	.table_wr table tbody tr th p{font-size: 15px;}
	.table_wr table tbody tr td{padding: 15px 5px;}
	.table_wr table tbody tr td p{font-size: 15px;}
}

/* 도트 리스트 */
.sCont .dott_list{width: 100%; margin-top: 20px; padding: 30px; background: #f9f9f9; border: 1px solid #eee; border-radius: 15px;}
.sCont .dott_list{}
.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: 767px){
	.sCont .dott_list{padding: 20px;}
	.sCont .dott_list li{padding-left: 15px; font-size: 16px;}
	.sCont .dott_list li p{font-size: 16px;}
}

@media (max-width: 450px){
	.sCont .dott_list{margin-top: 10px; }
}

/* 둥근테이블 */
.cir-table{background:#fff;position:relative;border:1px solid rgba(224, 223, 226, 0.6);border-radius: 15px;padding: 10px;margin:0;}
.cir-table .table-cir{width: 100%;}
.cir-table .table-cir th, .cir-table .table-cir td{padding:22px 0;font-size: 17px;text-align:center;}
.cir-table .table-cir thead th{background:#f9f9f9;font-size: 17px;font-weight:600;letter-spacing:-0.8px;line-height:1.31;}
.cir-table .table-cir thead th:first-child{border-top-left-radius: 10px;border-bottom-left-radius: 10px;}
.cir-table .table-cir thead th:last-child{border-top-right-radius: 10px;border-bottom-right-radius: 10px;}
.cir-table .table-cir tbody tr{border-bottom:1px solid rgba(31, 31, 31, 0.05);}
.cir-table .table-cir tbody tr:last-child{border-bottom:0;}
.cir-table .table-cir tbody th{font-weight:500;position:relative;display:table-cell;}
.cir-table .table-cir tbody td{padding:25px 0;color:#444;line-height: 1.4;}
.cir-table .table-cir .m-block{display:none;}

.cir-t{background:#fff;position:relative;border:1px solid rgba(224, 223, 226, 0.6);border-radius: 15px;padding: 10px;margin:0;}
.cir-t table{border-radius:10px; overflow:hidden; border:1px solid rgba(31, 31, 31, 0.05);}
.cir-t table td{border-color: rgba(31, 31, 31, 0.05);}
.cir-t table thead th{background: #5b5b5b;color: #fff;border-color:rgb(255,255,255,.7)}
.cir-t table td{background:#fcfcfc;}
.cir-t table tbody th{background: #fff4f6;border-color:#eee}

table{width:100%; border-collapse:collapse; border-spacing:0;}
.table{position:relative;width:100%;background-color:#fff;border-top:2px solid #555;font-size: 16px;line-height:1.6;}
.table:before{display:block; position:absolute; bottom:0; left:0; width:100%; height:1px; background-color:#F7F7F7;}
.table.vertical_top tr th,.table.vertical_top tr td{vertical-align:top}
.table.vertical_middle tr th,.table.vertical_middle tr td{vertical-align:middle;}
.table.vertical_bottom tr th,.table.vertical_bottom tr td{vertical-align:bottom;}
.table.fixed{table-layout:fixed;}
.table .caption{display:none;}
.table.text_center tbody tr td{text-align:center;}
.table.text_left tbody tr td{text-align:left;}
.table.text_left tbody tr th,.table.text_left thead tr th{text-align:center;}

.table-wrap{position:relative;}
.table-wrap + .list-point{margin-top:20px;}
table{width:100%; border-collapse:collapse; border-spacing:0;}
.table{position:relative; width:100%; background-color:#fff; border-top:1px solid #353541; font-size:17px; line-height:24px;}
.table:before{display:block; position:absolute; bottom:0; left:0; width:100%; height:1px; background-color:#e7e7e7;}
.table.fixed{table-layout:fixed;}
.table .caption{display:none;}
.table.text_center tbody tr td{text-align:center;}
.table.text_left tbody tr td{text-align:left;}
.table.text_left tbody tr th,.table.text_left thead tr th{text-align:center;}
.table.break tbody td,.table.break thead th,.table.break tbody td,.table.break tbody th{word-break:break-all;}
.table thead th{padding: 20px 10px;border:1px solid #e7e7e7;border-top:0;border-bottom-color:#e7e7e7;background-color:#f5f5f5;color: #212121;font-size: 20px;font-weight: 500;text-align:center;}
.table thead th:first-child{border-left:none;}
.table thead th:last-child{border-right:none;}
.table tbody th, .table tfoot th{background-color:#f9fafc; font-weight:500; color:#333;}
.table tbody th, .table tbody td, .table tfoot th, .table tfoot td{padding: 20px 15px;border-bottom:1px solid #e7e7e7;border-right:1px solid #e7e7e7;font-weight:400;color: #212121;word-break:keep-all;}
.table tbody th{text-align:center;font-size: 20px;color: #212121;font-weight: 600;}
.table tbody td{font-size: 18px;}
.table tbody td.text-left{text-align:left;padding: 14px 18px;}
.table tfoot td:first-child{border-left:none;}
.table tbody tr th:last-child{border-right:none;}
.table td:last-child{border-right:none;}
.table td[rowspan]:first-child{border-right:1px solid #e7e7e7;}
.table tbody th + td, .table tbody td + td, .table tfoot td{border-left:1px solid #e7e7e7;}
.table tbody td, .table tfoot td{text-align:center;}
.table tbody td > ul{margin-top:0;margin-bottom:0;padding-left: 15px;text-align:left;}
.table tbody td > ul > li, .table tbody td ol li{font-size:17px;}
.table tbody td > ul.po-list_clear{padding-left:0;}
.table tbody td > ol{margin-top:0; margin-bottom:0;}
.table th.double,
.table td.double{border-left:3px double #e7e7e7;}
.table .po-list > li > ul >li > ul > li:before, .table .num > li > ul >li > ul > li:before, .table p.blt.type3:before, .table .po-list.third > li:before {top:15px;}
.table td.color-1{background:#f1f7fd;}
.table td.color-2{background:#edfbf2;}
.td-bg1{background:#fff2f2;}
.td-bg2{background:#f1f7fd;}
.table-tit{font-size:18px; text-align:center; font-weight:600; color:#212121; display:block; margin:10px auto;}
.table-color{position:relative;width:100%;background-color:#fff;font-size: 16px;line-height: 1.5;font-weight: 600;}
.table-color:before{display:block; position:absolute; bottom:0; left:0; width:100%; height:1px; background-color:#e7e7e7;}
.table-color.fixed{table-layout:fixed;}
.table-color .caption{display:none;}
.table-color.text_center tbody tr td{text-align:center;}
.table-color.text_left tbody tr td{text-align:left;}
.table-color.text_left tbody tr th,.table-color.text_left thead tr th{text-align:center;}
.table-color.break tbody td,.table-color.break thead th,.table-color.break tbody td,.table-color.break tbody th{word-break:break-all;}
.table-color tbody tr:nth-child(even){background:#fdfdfd;}
.table-color thead th{padding:17px 10px 14px;background-color:#4f687e;color:#fff;font-size:18px;font-weight:normal;text-align:center;}
.table-color.bg-gr thead th{background-color:#96c700;}
.table-color.bg-bl thead th{background-color:#00bfe6;}
.table-color thead th:first-child{border-radius:15px 0 0 15px;}
.table-color thead th:last-child{border-radius:0 15px 15px 0;}
.table-color tbody th, .table-color tbody td, .table-color tfoot th, .table-color tfoot td{padding: 17px 10px 14px;border-bottom:1px solid #e7e7e7;border-right:1px solid #e7e7e7;color: #555;word-break:keep-all;}
.table-color tbody th{font-weight:normal;color:#222;font-size:18px;}
.table-color tbody td{}
.table-color tfoot td:first-child{border-left:none;}
.table-color tbody tr th:last-child{border-right:none;}
.table-color td:last-child{border-right:none;}
.table-color td[rowspan]:first-child{border-right:1px solid #e7e7e7;}
.table-color tbody th + td, .table-color tbody td + td, .table-color tfoot td{border-left:1px solid #e7e7e7;}
.table-color tbody td, .table-color tfoot td{text-align:center;}
.table-color tbody td ul{margin-top:0; margin-bottom:0; padding-left:10px; text-align:left;}
.table-color tbody td ul li, .table-color tbody td ol li{font-size:15px;}
.table-color tbody td ul.po-list_clear{padding-left:0;}
.table-color tbody td ol{margin-top:0; margin-bottom:0;}
.table-color th.double,
.table-color td.double{border-left:3px double #e7e7e7;}
.table-color .po-list > li > ul >li > ul > li:before, .table-color .num > li > ul >li > ul > li:before, .table-color p.blt.type3:before, .table-color .po-list.third > li:before {top:15px;}
.table-color td.color-1{background:#f1f7fd;}
.table-color td.color-2{background:#edfbf2;}
.table-color .call{position:relative; display:inline-flex; align-items:center; justify-content:center; padding-left:28px; color:#222; font-weight:normal;  transition:.2s ease-out;}
.table-color .call i{background:#f7c326; color:#fff; border-radius:50%; width:23px; height:23px; font-size:14px; text-align:center; line-height:22px; position:absolute; left:0; top:-1px; transition:.2s ease-out;}
.table-color .call:hover{}
.table-color .call:hover i{background:#deaf22;}

.table2{position:relative; width:100%; margin:20px 0; background-color:#fff; border-top:2px solid #353541; font-size:14px; line-height:24px;}
.table2:before{display:block; position:absolute; bottom:0; left:0; width:100%; height:1px; background-color:#e7e7e7;}
.table2 thead th{padding:10px 10px; border:1px solid #e7e7e7; border-bottom-color:#e7e7e7; background-color:#f5f5f5; color:#333; font-weight:500; text-align:center;}
.table2 thead th:first-child{border-left:none;}
.table2 thead th:last-child{border-right:none;}
.table2 tbody th{font-size:14px; color:#777; font-weight:400;}
.table2 tbody td{font-size:14px;}
.table2 tbody th, .table2 tbody td, .table2 tfoot th, .table2 tfoot td{padding:10px 10px; border-bottom:1px solid #e7e7e7; border-right:1px solid #e7e7e7; font-weight:400; color:#636363; word-break:keep-all;}
.table2 tfoot td:first-child{border-left:none;}
.table2 tbody tr th:last-child{border-right:none;}
.table2 td:last-child{border-right:none;}
.table2 td[rowspan]:first-child{border-right:1px solid #e7e7e7;}
.table2 tbody th + td, .table2 tbody td + td, .table2 tfoot td{border-left:1px solid #e7e7e7;}
.table2 tbody td, .table2 tfoot td{text-align:center;}
.table2 tbody td ul{margin-top:0; margin-bottom:0; padding-left:10px; text-align:left;}
.table2 tbody td ul li, .table2 tbody td ol li{font-size:15px;}
.table2 tbody td ul.po-list_clear{padding-left:0;}
.table2 tbody td ol{margin-top:0; margin-bottom:0;}
.table2 th.double,
.table2 td.double{border-left:3px double #e7e7e7;}
.table2 .po-list > li > ul >li > ul > li:before, .table2 .num > li > ul >li > ul > li:before, .table2 p.blt.type3:before, .table2 .po-list.third > li:before {top:15px;}

.sContWrap .t-link{color:#0065be; font-weight:500;}
.sContWrap .t-link:hover{text-decoration:underline;}

/* 테이블 가로스크롤 */
.table_con_wrap{position:relative;}
.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;}
p.mo_hide{display:none; color:#888; text-align:center; margin-top:10px;}

@media (max-width:800px){
	.table_con_wrap{width:100%;overflow-x:auto;white-space:nowrap;}
	.table_con_wrap table{width:100%;}
	.table_con_wrap .table_prev_mo{display:block;}
	p.mo_hide{display:block;}
}

/* ---------- 가로 스크롤 안내 오버레이 (공통) ----------
   tail.php의 스크립트가 가로 스크롤이 필요한 요소(.cu-matrix-wrap / .cu-tablewrap / .gd-tablewrap)를
   .hscroll 로 감싸고 그 안에 .hscroll-hint 를 넣어줌. 실제로 넘칠 때만 .show 가 붙고, 클릭·스크롤하면 사라짐. */
.hscroll { position: relative; }
.hscroll-hint { position: absolute; inset: 0; z-index: 20; background: rgba(0, 0, 0, .2); cursor: pointer; opacity: 0; pointer-events: none; transition: opacity .35s ease; }
.hscroll-hint.show { opacity: 1; pointer-events: auto; }
.hscroll-hint .hint-pin { position: sticky; top: 42vh; display: flex; justify-content: center; padding: 25px; }
.hscroll-hint .hint-box { display: inline-flex; align-items: center; gap: 12px; padding: 14px 24px; border-radius: 60px; background: rgba(0, 0, 0, .55); color: #fff; font-size: 16px; font-weight: 600; letter-spacing: -.3px; box-shadow: 0 10px 30px -10px rgba(0, 0, 0, .4); }
.hscroll-hint .hint-box i { font-size: 20px; line-height: 1; animation: hscrollHint .8s ease-in-out infinite alternate; }
@keyframes hscrollHint { from { transform: translateX(-4px); } to { transform: translateX(4px); } }

@media (max-width: 768px) {
	.hscroll-hint .hint-pin { padding: 15px; }
	.hscroll-hint .hint-box { gap: 8px; padding: 11px 18px; font-size: 14px; }
	.hscroll-hint .hint-box i { font-size: 17px; }
}
@media (max-width: 500px) {
	.hscroll-hint .hint-pin { padding: 12px; }
	.hscroll-hint .hint-box { gap: 6px; padding: 10px 15px; font-size: 13px; }
	.hscroll-hint .hint-box i { font-size: 15px; }
}

.respo-table tbody .label{display:none;width:65px;color: #000;font-size: 15px;font-weight: bold;text-align:left;vertical-align:top;}
.respo-table tbody .label.w80{width:80px;}
.respo-table tbody .label.w100{width:100px;}
.respo-table .m-clear{}
.respo-table .m-block{display:none;}
.respo-table .m-top-th{}

.cir-t{background:#fff;position:relative;border:1px solid rgba(224, 223, 226, 0.6);border-radius: 15px;padding: 10px;margin:0;}
.cir-t table{border-radius:10px; overflow:hidden; border:1px solid rgba(31, 31, 31, 0.05);}
.cir-t table td{border-color: rgba(31, 31, 31, 0.05);}
.cir-t table thead th{background: #434343;color: #fff;border-color:rgb(255,255,255,.7)}
.cir-t table td{background:#fcfcfc;}
.cir-t table tbody th{background: #f9fafc;border-color:#eee;}
.cir-t .label{display:none;}

@media (max-width:1000px){
    .dbstg{display: block;}
}

@media (max-width: 767px){
	.table thead th,
	.table tbody th{font-size:16px;}
	.table tbody td{font-size:15px;}
	.table tbody td ul li, .table tbody td ol li{font-size:14px;}

	.table-color tbody th, .table-color tbody td, .table-color tfoot th, .table-color tfoot td{border-bottom:0; border-right:0;}
	.table-color tbody th + td, .table-color tbody td + td, .table-color tfoot td{border-left:0;}
	.table-color td:last-child{border-radius:0 0 15px 15px;}

	.cir-table .respo-table thead{display:none;}
	.cir-table .respo-table .m-clear{display:none;}
	.cir-table .respo-table .m-top-th{display:none;}
	.cir-table .table-cir {width: 100%; display: block;}
	.cir-table .table-cir .m-block,
	.cir-table .respo-table .m-block{display:block;}
	.cir-table .respo-table .mb-tit{font-size:15px; padding:10px; color:#fff; background:#4f687e; width:100%; display:block; border-radius:5px;}
	.cir-table .respo-table .m-block br{display:none;}
	.cir-table .table-cir tbody{width:100%; display:block;}
	.cir-table .table-cir tbody tr{
		display:block;
		margin:0 0 0.7em 0;
		border-radius:15px;
		border:1px solid #e7e7e7;
		-webkit-box-shadow: 0px 7px 6px -6px rgb(0 0 0 / 28%);
		-moz-box-shadow: 0px 7px 6px -6px rgba(0,0,0,.28);
		box-shadow: 0px 7px 6px -6px rgb(0 0 0 / 28%);
	}
	.cir-table .table-cir tbody th{font-size:15px; padding:10px; color:#fff; background:#4f687e; width:100%; display:block; border-radius:5px;}
	.cir-table .table-cir tbody th br{display:none;}
	.cir-table .table-cir tbody tr td{text-align:left;display: flex;gap: 15px;padding:0.8em;font-size:14px;line-height:1.5;border-top:0;}
	.cir-table .table-cir tbody tr td br{display:none;}
	.cir-table .table-cir tbody tr td:nth-child(even){background: #f7f7f7;}
	.cir-table .table-cir tbody .label{display:block;font-size: 14px;line-height:1.7;padding: 0;color: #222;}	
	.cir-table .table-cir .tb-num{display:none;}

	.respo-table thead{display:none;}
	.respo-table .m-clear{display:none;}
	.respo-table .m-top-th{display:none;}
	.respo-table .m-block{display:block;}
	.respo-table .m-tit{display:block;background:#333;border: 0;}
	.respo-table .m-tit + .m-tit{background:#555;}
	.respo-table .m-block br{display:none;}
	.cir-table .table-cir tbody tr{display:block; width:100%;}
	.respo-table tbody tr{
		display:block;
		margin:0 0 0.7em 0;
		border-radius:15px;
		border:1px solid #e7e7e7;
		overflow: hidden;
		-webkit-box-shadow: 0px 7px 6px -6px rgb(0 0 0 / 28%);
		-moz-box-shadow: 0px 7px 6px -6px rgba(0,0,0,.28);
		box-shadow: 0px 7px 6px -6px rgb(0 0 0 / 28%);
	}
	.cir-table .table-cir tbody th{display:block;}
	.respo-table tbody th{font-size:15px;padding:10px;color:#fff;background:#4f687e;width:100%;display:block;}
	.respo-table.bg-bl tbody th{background:#00bfe6;}
	.respo-table.bg-gr tbody th{background:#96c700;}	
	.respo-table tbody tr td{text-align:left;display:block;padding:0.8em;font-size: 15px;line-height:1.5;border-top:0;}
	.respo-table tbody tr td br{display:none;}
	.respo-table tbody tr td:nth-child(even){background: #f7f7f7;}
	.respo-table tbody th + td, .respo-table tbody td + td, .respo-table tfoot td{border:0;}
	.respo-table tbody .label{display:block;float:left;height: 34px;line-height:1.7;}	
	.respo-table .tb-num{display:none;}
}

/* -------------------------------- 개인정보취급방침 -------------------------------- */
.privacy-policy{font-family: 'Pretendard', 'Noto Sans KR', sans-serif; padding-bottom:120px;}
.privacy-policy .gray-bg{background:#f8f8f8;padding: 50px 60px;box-sizing:border-box;}
.privacy-policy p + dl{margin-top:20px;}
.privacy-policy .pp-wrap{}
.privacy-policy .pp-txt-box{}
.privacy-policy h1.pp-tit{display:block; font-size:28px; font-weight:bold; margin:0 0 20px; text-align:left;}
.privacy-policy .privacy-top{margin:30px 0 0; background:#f8f8f8; padding:40px 41px; box-sizing:border-box;}
.privacy-policy p{margin:0;}
.privacy-policy .txt, .privacy-page dd{font-size:16px; color:#222;}
.privacy-policy .txt + .txt{margin:10px 0 0 0;}
.privacy-policy .txt-2{margin:10px 0 0 0;}
.privacy-policy dl + dl{margin-top:40px;}
.privacy-policy dt{font-size: 19px;display:inline-block;width:100%;color:#000;line-height:inherit;font-weight:700;margin: 0px 0 10px;}
.privacy-policy dd > ul.list-hyphen{margin:5px 0 15px 20px;}
.privacy-policy dd > ul.ul-gnd{margin:10px 0 10px 20px;}
.privacy-policy dd > ul.ul-gnd > li{text-indent:-24px; margin-left:20px;}
.privacy-policy dd a{color:inherit;}
.privacy-policy dd a:hover{text-decoration:underline;}

.privacy-policy .dd-board{margin-top:10px;}
.privacy-policy .dd-board table th, .privacy-policy .dd-board table td{font-size:15px;}

.privacy-policy .pp-btn-wrap{position:relative; margin-top:60px; text-align:center;}
.privacy-policy a.pp-btn{margin:0 auto; display:inline-block; text-align:center; color:#fff; font-weight:500; font-size:16px; background:#684ab3; padding:20px 35px; transition:.2s;}

@media (max-width: 1170px){
	.privacy-policy{padding-bottom:60px;}
}
@media (max-width: 767px){
	.privacy-policy{padding-bottom:40px;}
	.privacy-policy .contTit{margin-top:0;}
	.privacy-policy .gray-bg{margin:15px 0 0; padding:20px;}
	.privacy-policy dl + dl{margin-top:30px;}
	.privacy-policy dt:first-child{margin-top:0;}
	.privacy-policy dt{font-size:17px;}
	.privacy-policy .txt, .privacy-page dd{font-size:15px;}
	.privacy-policy dd > ul.list-hyphen{margin:5px 0 5px 0px;}
	.privacy-policy dd > ul.ul-gnd{margin:10px 0 10px 0px;}
	.privacy-policy dd > ul.ul-gnd > li{text-indent:-21px; margin-left:22px;}
}

/* -------------------------------- 이메일무단수집거부 -------------------------------- */
#nonMail{padding-bottom: 140px;}
#nonMail .contTit-s{margin-top:50px;}
#nonMail .ui-ftbox .inner{text-align:center;}

.ui-topbox{overflow:hidden;position:relative;padding:3px;background:#f1f3f6;border:none;border-radius: 0;word-break: keep-all;}
.ui-topbox:before{left:0; right:0; top:0; z-index:1; width:auto; height:50px; background:#cacfd5; display:block; position:absolute; content:"";}
.ui-topbox:after{left:0;top:0;z-index:2;width:205px;height:50px;background: #253369;display:block;visibility:visible;position:absolute;content:"";}
.ui-topbox .inner{position:relative;min-height: 185px;background:#fff;padding:30px 60px 30px 205px;border-radius: 0;z-index:3;display:flex;align-items:center;}
.ui-topbox .inner.img-inner{padding-left:320px; min-height:300px;}
.ui-topbox .img{top:35px; left:40px; width:230px; height:230px; display:block; position:absolute;}
.ui-topbox .img15{background:url("/images/sub/img_15.png") no-repeat 50% 50%;  background-size:100%;}
.ui-topbox .img-step{background:url("/images/sub/img_steps.png") no-repeat 50% 50%;  background-size:100%;}
.ui-topbox .icon{top:40px;left:60px;width:105px;height:105px;background-color: #253369;display: flex;font-size: 40px;line-height: 74px;color: #fff;border-radius:50%;position:absolute;justify-content: center;align-items: center;}
.ui-topbox .ico-15{background:url("/images/sub/2469996.png") no-repeat 50% 50% #f3f4f6;  background-size:60%;}
.ui-topbox .ico-pro{background:url("/images/sub/3976516.png") no-repeat 50% 50% #f3f4f6;background-size: 60%;}
.ui-topbox .ico-pro-d{background:url("/images/sub/2470035.png") no-repeat 50% 50% #f3f4f6;background-size: 50%;}
.ui-topbox .ico-mail{background:url("/images/sub/4663958.png") no-repeat 50% 50% #f3f4f6; background-size:60%;}
.ui-topbox .txtwrap{position:relative;width: 100%;display: block;}
.ui-topbox .txtwrap > p{font-size: 18px;line-height:1.6;color:#8d8d8d;}
.ui-topbox .txtwrap p + p{margin-top:15px;}
.ui-topbox .txtwrap .tit-wrap{display:flex;align-items:flex-end;flex-wrap:wrap;margin: auto;font-size: 32px;line-height:1.6;color: #333;font-family:'GmarketSansBold';letter-spacing: 0;}
.ui-topbox .txtwrap .tit-wrap > strong{color: #00ffd5;font-weight:normal;}
.ui-topbox .txtwrap p > strong{color: #253369;font-weight: bold;}
.ui-topbox .txtwrap p > b{color: #222;font-weight:600;}
.ui-topbox .txtwrap strong.logo-img{margin-right:15px; background:url("/images/common/logo_c.png") 0 0 no-repeat; display:inline-block; width:230px; height:36px; background-size:230px; text-indent:-9999px;}

.ui-ftbox{overflow:hidden; position:relative; background:#fafafa; border:1px solid #eaeaea; margin-top:40px;}
.ui-ftbox .inner{position:relative; padding:30px;}
.ui-ftbox .btn-black{transition:.2s ease-out;text-align:center;display: inline-flex;background: #222;border-radius: 0;padding:15px 30px;color:#fff;font-weight: 500;gap: 10px;font-size: 17px;align-items: center;justify-content: center;}
.ui-ftbox .btn-black:hover{background:#666;}

@media (max-width: 1024px){
	.ui-topbox .inner.img-inner{padding-left:30px; flex-direction:column;}
	.ui-topbox .img15, .ui-topbox .img-step{position:relative; width:280px; height:280px; left:auto; top:auto; margin-bottom:20px;}
	.ui-topbox .inner.img-inner .tit-wrap{ justify-content:center; margin-bottom:10px;}
}
@media (max-width: 767px){
	.ui-topbox .inner{padding:20px 20px; min-height:auto;}
	.ui-topbox .inner.img-inner{padding:20px 20px;}
	.ui-topbox .img15, .ui-topbox .img-step{width:200px; height:200px;}
	.ui-topbox .icon{display:none;}
	.ui-topbox .txtwrap .tit-wrap{display:block; font-size:22px; line-height:1.2;}
	.ui-topbox .txtwrap strong.logo-img{display:block; margin-right:0; width:180px; height:29px; background-size:100%; margin-bottom:10px;}	
	.ui-topbox .txtwrap p{font-size:14px;}
}

/* -------------------------------- 준비중 -------------------------------- */
.ui-comming{overflow:hidden;position:relative;background-color: #fff;box-shadow: 8px 6px 20px 0 rgba(0, 0, 0, 0.1);}
.ui-comming .inner{position:relative;text-align:center;padding: 60px;}
.ui-comming .tit{}
.ui-comming .tit big{display:block; width:74px; height:74px; margin:0 auto 25px; background:#00ffd5; border-radius:50%; font-size:30px; line-height:74px; color:#fff;}
.ui-comming .tit small{display:block; margin:20px 0 15px; font-weight:600; font-size:28px; color:#333; letter-spacing:-.2px; line-height:1.2;}
.ui-comming .tit small strong{color:#00ffd5;font-weight:600;}
.ui-comming .tit p{font-size:17px; color:#666;}

/* ========================== sub1_1: 산업보안이란?  ========================== */
.pc-only{display:inline;}

/* ---------- 인트로 (산업보안이란?) ---------- */
.is-intro__bg-deco{position:absolute; inset:0; pointer-events:none;}
.is-intro__bg-deco::before,.is-intro__bg-deco::after{content:''; position:absolute; border-radius:50%;}
.is-intro__bg-deco::before{top:-160px; right:-160px; width:420px; height:420px; background:radial-gradient(circle,rgba(69,197,253,.18) 0%,rgba(69,197,253,0) 70%);}
.is-intro__bg-deco::after{bottom:-140px; left:-140px; width:360px; height:360px; background:radial-gradient(circle,rgba(0,34,121,.08) 0%,rgba(0,34,121,0) 70%);}
.is-intro__inner{position:relative; z-index:2;}
.is-intro__eyebrow{display:inline-block; font-size:16px; font-weight:700; letter-spacing:3px; color:#45c5fd; margin-bottom:14px;}
.is-intro__title{font-size:46px; color:#111; letter-spacing:-1.6px; line-height:1.2; margin:0;}
.is-intro__cards{display:grid; grid-template-columns:1fr 1fr; gap:26px;}
.is-intro__card{position:relative; padding:42px 38px; background:#fff; border-radius:20px; border:1px solid #eaf0ff; box-shadow:0 12px 32px -14px rgba(0,34,121,.12); transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease; overflow:hidden;}
.is-intro__card::before{content:''; position:absolute; top:0; left:0; width:0; height:4px; background:linear-gradient(90deg,#002279 0%,#45c5fd 100%); transition:width .5s ease;}
.is-intro__card:hover{transform:translateY(-6px); box-shadow:0 24px 46px -16px rgba(0,34,121,.2); border-color:#d8e3ff;}
.is-intro__card:hover::before{width:100%;}
.is-intro__card-num{position:absolute; top:24px; right:30px; font-size:50px; font-weight:800; color:#eef2fc; line-height:1; letter-spacing:-2px;}
.is-intro__card-tit{position:relative; font-size:22px; font-weight:700; color:#002279; letter-spacing:-.5px; line-height:1.3; margin:0 0 16px; padding-left:18px;}
.is-intro__card-tit::before{content:''; position:absolute; left:0; top:5px; bottom:5px; width:5px; border-radius:3px; background:linear-gradient(#002279,#45c5fd);}
.is-intro__card p{font-size:17px; color:#444; line-height:1.8; letter-spacing:-.3px; margin:0;}
.is-intro__card p em{font-style:normal; font-weight:700; color:#1f53c4;}

/* ---------- 인트로 히어로 (이미지 배경 박스) ---------- */
.is-hero{position:relative; border-radius:24px; overflow:hidden; padding: 50px 60px; background:#0b1f3a url('../images/sub/is-hero_bg_260724.jpg') 50% 0/cover no-repeat;}
.is-hero__overlay{position:absolute; inset:0; background:linear-gradient(115deg, rgba(2, 8, 23, 0.9) 0%, rgba(8, 22, 60, 0.8) 50%, rgba(12, 34, 110, 0) 100%);}
.is-hero__inner{position:relative; z-index:2;}
.is-hero__title{font-size:40px; color:#fff; letter-spacing:-1px; line-height:1.2; margin:0 0 28px;}
.is-hero__title em{font-style:normal; color:#45c5fd;}
.is-hero__desc{font-weight: 400; font-size:20px; color:rgba(255,255,255,.9); line-height:1.85; letter-spacing:-.3px; margin:0;}
.is-hero__desc + .is-hero__desc{margin-top:18px;}
.is-hero__desc em{font-style:normal; font-weight:700; color:#7fd8ff;}

/* ---------- 탭 (세그먼트형 / 활성 배경 채움) ---------- */
.is-tabsec{padding-top: 40px;}
.is-tabs{display:flex; gap:12px; margin: 0 0 12px;}
.is-tab{font-size:22px; flex:1; position:relative; display:flex; align-items:center; justify-content:center; gap:14px; height:70px; cursor:pointer; background:#f1f5fd; border:1px solid #e3eaf8; border-radius:10px; transition:background .3s ease,border-color .3s ease,box-shadow .3s ease,transform .3s ease;}
.is-tab:hover{background:#e7effb; transform:translateY(-2px);}
.is-tab__num{font-weight:700; font-size: 14px; color:#a7b1cf; letter-spacing:-.4px; transition:color .3s ease;}
.is-tab__txt{font-weight:700; color:#5e6a86; letter-spacing:-.5px; transition:color .3s ease;}
.is-tab.active{background:linear-gradient(135deg,#002279 0%,#1a3aa3 100%); border-color:#002279; transform:translateY(-2px);}
.is-tab.active .is-tab__num{color:#45c5fd;}
.is-tab.active .is-tab__txt{color:#fff;}
.is-tabcontents{position:relative; padding:40px; background:#fafbff; border-radius:24px; border:1px solid #eef1f9;}
.is-tabpane{display:none;}
.is-tabpane.active{display:block; animation:isFade .55s ease;}
@keyframes isFade{from{opacity:0; transform:translateY(12px);} to{opacity:1; transform:translateY(0);}}
.is-pane__head{display:flex; align-items:center; gap:22px; margin-bottom:20px; padding-bottom:20px; border-bottom:1px dashed #d6deef;}
.is-pane__num{display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%; background:linear-gradient(135deg,#002279 0%,#1a3aa3 100%); color:#fff; font-size:15px; font-weight:700; letter-spacing:1px; box-shadow:0 10px 22px -6px rgba(0,34,121,.35);}
.is-pane__tit{font-size:28px; font-weight:700; color:#111; letter-spacing:-.8px; margin:0; line-height:1.2;}

/* ---------- 체크리스트 ---------- */
.is-checklist{list-style:none; padding:0; margin:0;}
.is-checklist li{position:relative; padding:10px 15px 10px 50px; background:#fff; border-radius:6px; border:1px solid #eef1f9; font-weight: 500; font-size:18px; color:#444; line-height:1.6; letter-spacing:-.3px; transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease;}
.is-checklist li + li{margin-top:14px;}
.is-checklist li::before{content:''; position:absolute; left:15px; top:15px; width:20px; height:20px; border-radius:50%; background:linear-gradient(135deg,#45c5fd 0%,#1f9be0 100%); box-shadow:0 4px 10px -2px rgba(69,197,253,.5);}
.is-checklist li::after{content:''; position:absolute; left:23px; top:20px; width:5px; height:9px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg);}

/* ---------- 시각자료 공통 타이틀 ---------- */
.is-vistitle{text-align:center; margin:70px 0 45px 0;}
.is-vistitle span{display:inline-block; font-size:26px; font-weight:700; color:#002279; letter-spacing:-.5px; padding-bottom:10px; border-bottom:3px solid #45c5fd;}

/* ---------- 융복합 구조 다이어그램 ---------- */
.is-diagram{position:relative; width:100%; max-width:640px; margin:0 auto; aspect-ratio:1/1;margin-top: 50px;}
.is-diagram__orbit{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:85%; height:85%; border-radius:50%; border:1px dashed #a6b9df;}
.is-diagram__orbit--inner{width:46%; height:46%; border-color:#bccded;}
.is-diagram__hub{position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:20%; height:20%; border-radius:50%; display:flex; align-items:center; justify-content:center; text-align:center; background:radial-gradient(circle at 32% 30%,#1a3aa3,#002279); color:#fff; font-size:20px; font-weight:800; letter-spacing:-.5px; box-shadow:0 18px 36px -12px rgba(0,34,121,.55); z-index:5;}
.is-diagram__core{position:absolute; transform:translate(-50%,-50%); width:18%; height:18%; border-radius:50%; display:flex; align-items:center; justify-content:center; text-align:center; font-size:16px; font-weight:700; line-height:1.25; color:#fff; background:linear-gradient(135deg,#2f6fe0,#1f53c4); box-shadow:0 12px 26px -10px rgba(0,34,121,.45); z-index:4;border: 2px solid #fff;}
.is-core--1{top:27%; left:50%;}
.is-core--2{top:50%; left:73%;}
.is-core--3{top:73%; left:50%;}
.is-core--4{top:50%; left:27%;}
.is-diagram__sat{position:absolute; transform:translate(-50%,-50%); width:15.5%; height:15.5%; border-radius:50%; display:flex; align-items:center; justify-content:center; text-align:center; font-size:18px; font-weight:600; line-height:1.15; color:#1f3a78; background:#fff; border:1px solid #d8e3ff; box-shadow:0 8px 18px -8px rgba(0,34,121,.25); z-index:3;}
/* 법제도(상단) 그룹 */
.is-sat--1{left:28.7%; top:13.2%;}   /* 윤리교육 */
.is-sat--2{left:50%;   top:7.5%;}    /* 법학 */
.is-sat--3{left:71.3%; top:13.2%;}   /* 철학 */
/* 기술(우측) 그룹 */
.is-sat--4{left:86.8%; top:28.7%;}   /* 건축공학 */
.is-sat--5{left:92.5%; top:50%;}     /* 기계공학 */
.is-sat--6{left:86.8%; top:71.3%;}   /* 공학 */
/* 범죄심리(하단) 그룹 */
.is-sat--7{left:71.3%; top:86.8%;}   /* 심리학 */
.is-sat--8{left:50%;   top:92.5%;}   /* 범죄학 */
.is-sat--9{left:28.7%; top:86.8%;}   /* 경호학 */
/* 경영(좌측) 그룹 */
.is-sat--10{left:13.2%; top:71.3%;}  /* 행정학 */
.is-sat--11{left:7.5%;  top:50%;}    /* 경제학 */
.is-sat--12{left:13.2%; top:28.7%;}  /* 경영학 */
.is-diagram__legend{margin-top: 40px; text-align:center; font-size:16px; color:#777; letter-spacing:-.3px;}

/* ---------- 차별성 (정보보호 / 산업보안) ---------- */
.is-diff{display:flex; flex-direction:column; gap:14px; margin-bottom:14px;}
.is-diff__row{display:flex; align-items:center; gap:26px; background:#fff; border:1px solid #eef1f9; border-radius:6px; padding:10px 20px;}
.is-diff__row--point{background:radial-gradient(circle at top right,rgba(69,197,253,.3) 0%,rgba(69,197,253,0) 55%),linear-gradient(135deg,#002279 0%,#1a3aa3 100%);}
.is-diff__tag{flex:0 0 100px; text-align:center; padding:2px 0; border-radius:50px; background:#f0f4ff; color:#002279; font-size:18px; font-weight:700; letter-spacing:1px;}
.is-diff__row--point .is-diff__tag{background:rgba(255,255,255,.15); color:#45c5fd;}
.is-diff__row p{font-weight: 500; font-size:18px; line-height:1.8; color:#444; letter-spacing:-.3px;}
.is-diff__row p strong{color:#002279; font-weight:700;}
.is-diff__row--point p{color:#eef3ff;}
.is-diff__row--point p strong{color:#45c5fd;}
.is-note{display:flex; align-items:flex-start; gap:10px; background:#fff; border:1px dashed #c9d3ee; border-radius:6px; padding:10px 20px;}
.is-note__icon{flex:0 0 20px; width:20px; height:20px; margin-top: 3px; border-radius:50%; background:#45c5fd; color:#fff; font-size:17px; font-weight:700; display:flex; align-items:center; justify-content:center;}
.is-note p{font-weight: 500; font-size:16px; color:#555; line-height:1.8; letter-spacing:-.3px; margin:0;}
.is-note p strong{color:#002279; font-weight:700;}

/* ---------- 교육과정 비교 표 (기존 사이트 형식) ---------- */
.is-eduwrap{overflow-x:auto; -webkit-overflow-scrolling:touch;margin-top: 40px;box-shadow: 0 0 20px #e7e8eb; border-radius: 20px;}
.is-edutable{width:100%; min-width:720px; border-collapse:collapse; background:#fff; border:1px solid #dfe6f2; border-radius:16px; overflow:hidden;}
.is-edutable th{padding:12px 18px; text-align:center; font-size:18px; font-weight:500; color:#fff; background:linear-gradient(135deg,#002279,#1a3aa3);}
.is-edutable th.is-th-cat{background:#0c2a6e; width:110px;}
/* .is-edutable th.is-th-point{background:linear-gradient(135deg,#1f7fd6,#45c5fd);} */
.is-edutable td{padding:10px 20px; text-align:center; vertical-align:middle; border-top:1px solid #e9eef8; border-left:1px solid #e9eef8; font-weight: 500; font-size:16px; color:#555; line-height:1.5;}
.is-edutable .is-td-cat{width:110px; font-size:16px; font-weight:700; color:#002279; background:#f3f6fd;}
.is-edutable .is-col-ind{color:#1f3a78; font-weight:600;}
.is-edutable .is-col-info{color:#555;}
.is-edudash{display:inline-block; color:#aab2c6; font-size:18px; font-weight:700;}

.is-chartwrap{margin:0 auto;padding:40px 0;}
.is-chart__head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:34px}
.is-chart__title{margin:0;color:#102f80;font-size:24px;font-weight:700;letter-spacing:-.04em}
.is-chart__cap{
  flex:0 0 auto;display:inline-flex;align-items:center;gap:10px;padding:14px 20px;border-radius:16px;
  background:linear-gradient(135deg,#eef7ff,#f3f5ff);color:#103b96;font-size:16px;font-weight:700
}
.is-chart__cap b{font-size:24px;color:#0f72d6}
.is-stats-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.85fr);gap:26px}
.is-card{border:1px solid #e9eef8;border-radius:20px;padding:28px;background:#fff}
.is-card__title{margin:0 0 5px;font-size:22px;font-weight:800;color:#172d63}
.is-card__sub{margin:0 0 26px;font-weight: 500;font-size:16px;color:#8994a8}
.is-bars{
  display:flex;align-items:flex-end;gap:22px;height:310px;padding:28px 8px 0;border-bottom:1px solid #cfd8e9;
  background:repeating-linear-gradient(to top,transparent 0,transparent 61px,#edf1f7 62px,#edf1f7 63px)
}
.is-baritem{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0}
.is-barvalue{margin-bottom:10px;color:#0b2d83;font-size:18px;font-weight:800}
.is-bar{width:min(64px,75%);height:var(--h);min-height:10px;border-radius:14px 14px 4px 4px;
 background:linear-gradient(180deg,#3cbdf3 0%,#1469d8 55%,#082f8b 100%);
 box-shadow:0 12px 22px -14px rgba(11,63,154,.7);transition:.25s ease}
.is-baritem:last-child .is-bar{background:linear-gradient(180deg,#62d5ff 0%,#149fe9 48%,#0868cf 100%)}
.is-baryear{margin-top:14px;color:#657087;font-size:15px;font-weight:700;text-align:center;white-space:nowrap}
.is-growth{display:inline-flex;justify-content: center;align-items:center;gap:6px;width: 100%;margin-top:18px;padding:10px 16px;border-radius:12px;background:#f2f7ff;color:#24549f;font-size:16px;font-weight:700}
.is-growth b{color:#0d70d5;font-size:17px}
.is-donut-layout{display:flex;flex-direction:column;align-items:center}
.is-donut{
  position:relative;width:220px;height:220px;border-radius:50%;margin:8px auto 28px;
  background:conic-gradient(
    #082f8b 0 41%,
    #1668d4 41% 60%,
    #2ea9e5 60% 68%,
    #54c5ee 68% 75%,
    #7d9fe2 75% 81%,
    #a7c9f1 81% 84%,
    #e2e8f4 84% 100%
  )
}
.is-donut::before{content:"";position:absolute;inset:48px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #edf1f7}
.is-donut__txt{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.is-donut__txt b{font-size:34px;line-height:1;color:#082f8b}
.is-donut__txt span{margin-top:8px;color:#69758c;font-weight: 600;font-size:14px;line-height:1.4}
.is-legend{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;margin:0;padding:0;list-style:none}
.is-legend li{display:flex;align-items:center;gap:9px;color:#536078;font-weight: 600;font-size:16px}
.is-legend i{width:10px;height:10px;flex:0 0 auto;border-radius:3px}
.is-legend strong{margin-left:auto;color:#172d63}
.is-chart__foot{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-top:24px;padding-top:20px;border-top:1px dashed #d9e1ef}
.is-chart__note{margin:0;color:#7f899d;font-weight: 500;font-size:14px;line-height:1.65}
.is-chart__src{margin:0;color:#8d97aa;font-weight: 500;font-size:14px;text-align:right}


@media (max-width:1170px){
    .is-intro{}
    .is-intro__title{font-size:38px;}
    .is-tabcontents{padding:50px 40px;}
}
@media (max-width:980px){
    .pc-only{display:none;}
    .is-intro__cards{grid-template-columns:1fr;}
    .is-prospect{gap:30px;}

	/* 03 발전방향 : 제목 + 요약뱃지가 한 줄에 붙어 넘치던 것을 세로로 분리 */
	.is-chart__head{flex-direction:column; align-items:flex-start; gap:16px; margin-bottom:26px;}
	.is-chart__cap{width:100%; margin-top:0; justify-content:center; flex-wrap:wrap; text-align:center;}
	.is-stats-grid{grid-template-columns:1fr}
	.is-edutable{min-width:700px}
}
@media (max-width:767px){
    .is-hero{padding:48px 26px; border-radius:18px;}
    .is-hero__title{font-size:28px; margin-bottom:20px;}
    .is-hero__desc{font-size:16px; line-height:1.75;}
    .is-tabs{flex-direction:column; gap:10px;}
    .is-tab{height:auto; padding:18px; justify-content:flex-start; border-radius:14px;}
    .is-tab__txt{font-size:18px;}
    .is-tabcontents{padding:34px 22px; border-radius:18px;}
    .is-pane__head{gap:14px; margin-bottom:26px; padding-bottom:20px;}
    .is-pane__num{width:48px; height:48px; font-size:16px;}
    .is-pane__tit{font-size:22px;}
    .is-checklist li{font-size:16px; padding:18px 20px 18px 54px;}
    .is-checklist li::before{left:18px; top:22px; width:18px; height:18px;}
    .is-checklist li::after{left:24px; top:27px; width:6px; height:9px;}
    .is-diff__row{flex-direction:column; align-items:flex-start; gap:14px; padding:24px 22px;}
    .is-diff__tag{flex:none; min-width:100px; padding:5px 20px;} /* 세로배치 시 좌우 여백이 사라지던 문제 */
    .is-diff__row p{font-size:16px; line-height:1.7;}
    .is-note{flex-direction:column; gap:12px; padding:22px;}
    .is-eduwrap{margin-top:26px; border-radius:14px;}
    .is-diagram{position:static; aspect-ratio:auto; max-width:none; display:flex; flex-wrap:wrap; gap:10px; justify-content:center;}
    .is-diagram__orbit{display:none;}
    .is-diagram__hub{position:static; transform:none; width:100%; height:auto; padding:24px; border-radius:18px; margin-bottom:4px;}
    .is-diagram__core{position:static; transform:none; width:calc(50% - 5px); height:auto; padding:18px 12px; border-radius:14px;}
    .is-diagram__sat{position:static; transform:none; width:calc(33.333% - 7px); height:auto; padding:14px 8px; border-radius:12px;}
    .is-chartwrap{padding:30px 0;}
    .is-chart__head{gap:14px; margin-bottom:22px;}
    .is-chart__title{font-size:20px; line-height:1.35;}
    .is-chart__cap{padding:12px 16px; gap:8px; font-size:14px;}
    .is-chart__cap b{font-size:20px}
    .is-stats-grid{gap:18px}
    .is-card{padding:22px 18px; border-radius:16px;}
    .is-card__title{font-size:19px}
    .is-card__sub{margin-bottom:20px; font-size:14px;}
    .is-bars{gap:10px; height:260px; padding:24px 4px 0;}
    .is-barvalue{font-size:15px}.is-baryear{font-size:12px}.is-legend{grid-template-columns:1fr}
    .is-growth{display:block; width:100%; text-align:center; padding:12px 14px; font-size:15px; line-height:1.55;} /* inline-flex 로 문장이 조각나던 문제 */
    .is-growth b{font-size:16px}
    .is-chart__foot{display:block}.is-chart__src{text-align:left;margin-top:10px}
}

@media (max-width:767px){
	.is-diagram{gap: 6px}
	.is-diagram__hub{padding: 10px; border-radius: 8px; box-shadow: none;}
	.is-diagram__core{padding: 10px; border-radius: 8px; box-shadow: none;}
	.is-diagram__sat{padding: 10px 8px; font-size: 14px; border-radius: 8px; box-shadow: none;}
}

@media (max-width:500px){
	/* 02 정보보호와의 차별성 */
	.is-diff__row{padding:20px 16px;}
	.is-diff__tag{min-width:88px; padding:4px 16px; font-size:16px;}
	.is-note{padding:18px 16px;}
	.is-note p{font-size:15px;}
	.is-eduwrap{margin-top:22px;}
	.is-edutable th{padding:11px 14px; font-size:16px;}
	.is-edutable td{padding:9px 14px; font-size:15px;}
	/* 03 산업보안 발전방향 */
	.is-chart__title{font-size:18px}
	.is-chart__cap{padding:11px 14px; font-size:13px;}
	.is-chart__cap b{font-size:18px}
	.is-card{padding:18px 14px;}
	.is-card__title{font-size:17px}
	.is-card__sub{margin-bottom:16px; font-size:13px;}
	.is-bars{gap:7px; height:225px; padding:22px 2px 0;}
	.is-barvalue{font-size:13px}
	.is-baryear{font-size:11px}
	.is-growth{padding:11px 12px; font-size:14px;}
	.is-growth b{font-size:15px}
	.is-donut{width:190px; height:190px; margin-bottom:22px;}
	.is-donut::before{inset:41px}
	.is-donut__txt b{font-size:29px}
	.is-legend li{font-size:15px}
	.is-chart__note,.is-chart__src{font-size:13px}
}


/* ============================================================================
   8-2. sub1_2 인사말 (#greeting, .gr-)
   ============================================================================ */
/* ==================== 인사말 ==================== */
#greeting { position: relative; }
#greeting .pc-only { display: inline; }

/* ---------- 인트로 히어로 (이미지 배경) ---------- */
.gr-hero { position: relative; overflow: hidden; border-radius: 25px; padding: 50px 40px; text-align: center; background: #06163a url('../images/sub/greeting_bg_260724.jpg') center 35%/cover no-repeat;}
.gr-hero__overlay {position: absolute;inset: 0;background: linear-gradient(180deg, rgb(3 10 30 / 58%) 0%, rgba(0, 17, 55, .85) 100%);}
.gr-hero__inner { position: relative; z-index: 2; }
.gr-eyebrow { display: inline-block; font-size: 18px; font-weight: 700; letter-spacing: 3px; color: #7fd8ff; text-transform: uppercase; margin-bottom: 18px; }
.gr-headline { font-size: 32px; font-weight: 700; line-height: 1.42; color: #fff; letter-spacing: -.7px;; margin: 0; word-break: keep-all; }
.gr-headline em { font-style: normal; color: #45c5fd; }

/* ---------- 리드 문단 ---------- */
.gr-intro { text-align: center; padding: 40px 0; }
p.gr-reveal.gr-lead { font-size: 20px; font-weight: 500; line-height: 1.95; margin: 0 auto; }

/* ---------- 핵심 수치 ---------- */
.gr-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-bottom: 80px; }
.gr-stat { position: relative; padding: 25px; background: #fff; border: 1px solid #e9eefb; border-radius: 0 0 18px 18px; overflow: hidden; }
.gr-stat::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 2px; background: linear-gradient(90deg, #002279, #45c5fd); }
.gr-stat__num { font-size: 24px; font-weight: 800; color: #002279; letter-spacing: -.4px; line-height: 1; }
.gr-stat__num em { font-style: normal; font-size: 24px; margin-left: 3px; letter-spacing: 0; }
.gr-stat__label { margin-top: 13px; font-size: 20px; line-height: 1.5; color: #5b6680; font-weight: 500; letter-spacing: -.3px; }

/* ---------- 본문 블록 (좌 제목 / 우 본문) ---------- */
.gr-section { margin-top: 24px; }
.gr-block { display: flex; align-items: flex-start; gap: 85px; margin-top: 40px; padding-top: 30px; border-top: 1px solid #e7edf9; justify-content: center; }
.gr-block:first-child { padding-top: 0; border-top: 0; }
.gr-block__head { flex: 0 0 360px; }
.gr-block__no { display: inline-block; font-size: 18px; font-weight: 800; letter-spacing: 3px; color: #45c5fd; margin-bottom: 12px; }
.gr-block__tit { font-size: 22px; font-weight: 700; line-height: 1.45; color: #002279; letter-spacing: -.5px; word-break: keep-all; padding-left: 22px; border-left: 3px solid transparent; border-image: linear-gradient(180deg, #002279, #45c5fd) 1; }
.gr-block .gr-reveal { flex: 1; margin: 0; }

/* ---------- 스크롤 텍스트 리빌 ---------- */
.gr-reveal { font-size: 18px; line-height: 1.8; letter-spacing: -.3px; word-break: keep-all; font-weight: 500; max-width: 950px; margin: 0 auto; color: #333; }
.gr-word { color: #222;}
.gr-word.gr-kw { color: #002279; font-weight: 600; background: linear-gradient(120deg, rgba(69,197,253,.2) 0%, rgba(69,197,253,.2) 100%);}

/* ---------- 마무리 ---------- */
.gr-closing { position: relative; overflow: hidden; padding: 74px 64px; border-radius: 24px; text-align: center;}
@keyframes grFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(26px); } }
.gr-closing__text { position: relative; z-index: 2; font-size: 28px; font-weight: 700; line-height: 1.55; color: #222; letter-spacing: -.6px; word-break: keep-all; }
.gr-closing__text em { font-style: normal; color: #002279; }
.gr-sign { position: relative; z-index: 2; margin-top: 34px; font-weight: 600; font-size: 22px; color: #222; letter-spacing: 1px; }
.gr-sign strong { display: block; font-size: 26px; font-weight: 600; color: #222; letter-spacing: -.3px; }

@media (max-width: 1024px) {
    .gr-stats { grid-template-columns: repeat(2, 1fr); gap: 16px; }
    .gr-block { gap: 34px; }
    .gr-block__head { flex-basis: 260px; }
    .gr-block__tit { font-size: 26px; }
    .gr-closing__text { font-size: 24px; }
}

@media (max-width: 767px) {
    #greeting .pc-only { display: none; }
    .gr-hero { padding: 58px 22px; border-radius: 20px; }
    .gr-headline { font-size: 25px; letter-spacing: -1px; }
    .gr-eyebrow { margin-bottom: 14px; font-size: 16px; }
    .gr-intro { padding: 40px 0; }
    p.gr-reveal.gr-lead { font-size: 17px; line-height: 1.8; }
    .gr-stats { grid-template-columns: 1fr; gap: 12px; margin-bottom: 50px; }
    .gr-stat { padding: 28px 22px; }
    .gr-stat__num { font-size: 38px; }
    .gr-block { flex-direction: column; gap: 20px; margin-top: 40px; padding-top: 36px; }
    .gr-block__head { flex-basis: auto; }
    .gr-block__head::before { margin-bottom: 14px; }
    .gr-block__tit { font-size: 22px; }
    .gr-reveal { font-size: 16px; line-height: 1.8; }
    .gr-closing { padding: 0; margin-top: 40px; }
    .gr-closing__text { font-size: 20px; line-height: 1.5; }
    .gr-sign strong { font-size: 20px; }
}

@media (max-width: 500px) {
	.gr-stat__num{font-size: 28px;}
	.gr-stat__label{font-size: 17px;}
	.gr-block__tit{font-size: 20px;}
	.gr-closing__text{font-size: 18px;}
}


/* ============================================================================
   8-3. sub1_3 비전·인재상·교육목표 (.ov- .thero .obj- .cta)
   ============================================================================ */
/* ------------------------------ 1. VISION ------------------------------ */
.ov-panel { position: relative; border-radius: 32px; padding: 70px 0 50px; text-align: center; overflow: hidden; background: url('/images/sub/vision_bg_260724.jpg') 0 0 no-repeat; background-size: cover; }
.ov-panel .glow { position: absolute; width: 60%; height: 160%; left: 50%; top: -30%; transform: translateX(-50%); background: radial-gradient(circle, rgba(69, 197, 253, .16), transparent 65%); filter: blur(20px); pointer-events: none; }
.ov-title { position: relative; z-index: 1; font-size: 80px; font-weight: 800; line-height: 1; letter-spacing: -.01em; white-space: nowrap; display: inline-block; color: #fff; }
.ov-title span { display: inline-block; transform: translateX(var(--from, 0)); filter: blur(18px); opacity: 0; transition: transform 1.15s cubic-bezier(.2, .72, .16, 1), filter 1.1s ease, opacity 1s ease; color: #fff;}
.ov-title.in span { transform: translateX(0); filter: blur(0); opacity: 1; }
.ov-state { position: relative; z-index: 2; display: block; width: min(88%, 1000px); margin: -20px auto 0; background: #ffffff42; backdrop-filter: blur(5px); border: 1px solid #ffffff70; border-radius: 20px; padding: 28px 26px; font-size: 24px; font-weight: 600; letter-spacing: -.02em; color: #fff; box-shadow: var(--shadow); }
.ov-state .yr { color: var(--sky); font-weight: 800; }

.goal-sub { margin-top: 0; padding: 40px 0 70px; }
.goal-line { overflow: hidden; display: block; width: 2px; height: 100px; background: var(--sky); margin: 100px auto 100px; position: relative; }
.goal-line::before { content: ''; width: 2px; height: 100px; background: #fff; position: absolute; top: 0; left: 0; animation: rollin 3s linear infinite; }

@keyframes rollin {
    0% { top: -100px; }
    100% { top: 100px; }
}

.goal-frame { position: relative; }
.goal-frame::before { content: ''; width: 85%; height: 600px; border: 1px solid #0022791c; border-radius: 30px; position: absolute; top: 77px; left: 50%; transform: translateX(-50%); z-index: -1; }
.goal-legend { padding: 0 26px; text-align: center; white-space: nowrap; }
.goal-legend .ge { display: block; font-size: 26px; font-weight: 600; color: var(--navy); letter-spacing: -.4px; }
.goal-legend h3 { font-size: 28px; font-weight: 700; line-height: 1.4; letter-spacing: -.03em; background-color: #fff; display: inline-block; padding: 0 30px; }
.g3cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 50px; margin-top: 20px; }
.gcard { border-radius: 20px; padding: 20px; background: #fafbff; transition: .35s cubic-bezier(.16, .84, .44, 1); border: 1px solid #eef1f9; }
.gcard h4 { text-align: center; font-size: 22px; font-weight: 700; color: var(--text); margin-bottom: 20px; letter-spacing: -.02em; }
.grow { display: flex; align-items: center; gap: 14px; padding: 6px; background-color: #fff; border-radius: 10px; margin-bottom: 8px; }
.grow:last-child { margin-bottom: 0; }
.grow .gi { width: 35px; height: 35px; flex: 0 0 auto; color: var(--navy); display: grid; place-items: center; background: var(--tint); border-radius: 6px; }
.grow .gi i { font-size: 15px; }
.grow .gt { font-size: 17px; font-weight: 600; color: var(--text); }

/* ------------------------------ 2. 인재상 ------------------------------ */
.talent { }
.venn-wrap { position: relative; }

.thero { position: relative; overflow: hidden; border-radius: 25px; padding: 40px 0; color: #fff; background: url('/images/sub/talent_bg_260724.jpg') center/cover no-repeat fixed; display: flex; align-items: center; justify-content: center; gap: 90px; }
.thero::before{content: ''; position: absolute; top: 0; right: 0; display: block; width: 100%; height: 100%; background: rgba(0,0,0,.4); z-index: 0;}
.thero-col { position: relative; z-index: 1; }
.thero-role { font-size: 18px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--sky); }
.thero h3 { font-size: 40px; font-weight: 700; line-height: 1; letter-spacing: -.02em; margin: 12px 0 16px; text-align: center; display: block; }
.thero p { font-size: 20px; line-height: 1.5; color: #fff; text-align: center; }
.thero p .rl { display: inline-block; color: #fff; font-weight: 500; }
.thero p .em { font-style: normal; color: var(--sky); }
@media (max-width: 720px) {
    .thero { background-attachment: scroll; }
}

.bases { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; margin-top: 44px; padding-bottom: 50px; }
@media (max-width: 760px) {
    .bases { grid-template-columns: 1fr; }
}
.base { background: #fff; border: 1px solid var(--line); border-radius: 24px; padding: 25px 40px 0 30px; transition: .4s cubic-bezier(.16, .84, .44, 1); }
.base .bn { font-size: 80px; font-weight: 700; letter-spacing: -5px; text-align: right; color: #f5f5f5; }
.base .bn i { display: inline-block; transition: all .3s ease; }
.base b { display: block; font-size: 26px; font-weight: 800; color: var(--navy); margin-bottom: 5px; letter-spacing: -.02em; }
.base span { font-size: 18px; color: var(--text); line-height: 1.65; }

/* ------------------------------ 3. 교육목표 ------------------------------ */
.obj-marquee { width: 100%; line-height: 1.3; margin-bottom: 6px; }
.obj-track { display: inline-flex; white-space: nowrap; will-change: transform; animation: obj-scroll 45s linear infinite; position: relative; overflow: hidden; }
.obj-track::before { content: ''; width: 100%; height: 100%; background-image: linear-gradient(0deg, #fff, #ffffff00); position: absolute; top: 0; left: 0; }
.obj-track span { font-size: 160px; line-height: 1.3; font-weight: 700; color: #f5f5f5; letter-spacing: -.03em; padding-right: .25em; text-transform: uppercase; }

@keyframes obj-scroll {
    from { transform: translateX(0) translateY(50px); }
    to { transform: translateX(-50%) translateY(50px); }
}

@media (prefers-reduced-motion: reduce) {
    .obj-track { animation: none; }
}

.prow { display: grid; grid-template-columns: auto 1fr; gap: 100px; align-items: center; margin: 40px 0; }

@media (max-width: 700px) {
    .prow { grid-template-columns: 1fr; justify-items: center; gap: 20px; }
}
.pcircle { width: 240px; aspect-ratio: 1; border-radius: 50%; display: grid; place-items: center; flex: 0 0 auto; position: relative; background: linear-gradient(140deg, #22c9ff, #1f6fe0, #071a5c); }
.pci_wrap { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; }
.pcircle .pci_icon { width: 70px; height: 70px; }
.pcircle .pci_icon svg { display: block; max-width: 100%; color: #fff; overflow: visible; }
.pcircle .pci_icon svg :is(path, line, circle, polyline, polygon, rect, ellipse) { stroke: #fff !important; stroke-width: 14 !important; }
.pcircle .pci_icon.draw svg :is(path, line, circle, polyline, polygon, rect, ellipse) { transition: stroke-dashoffset 1s ease; }
.pcircle span { font-size: 22px; font-weight: 600; color: #fff; }
.plist { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.pitem { border: 1.5px solid var(--line); border-radius: 20px; padding: 25px; font-size: 20px; font-weight: 700; color: #2b3650; background: #fff; transition: .25s; text-align: center; line-height: 1.5; }
.otabs { display: flex; gap: 20px; margin-top: 100px; }
.pcircle::before, .pcircle::after { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: 50%; background: #c0daff; animation: pcircle-ripple 2s ease-out infinite; }
.pcircle::after { animation-delay: 1.4s; }

@keyframes pcircle-ripple {
    0% { transform: scale(1); opacity: 1; }
    100% { transform: scale(1.3); opacity: 0; }
}

@media (max-width: 600px) {
    .otabs { flex-wrap: wrap; }
}

.otab { flex: 1; min-width: 110px; padding: 20px; border: 1.5px solid var(--line); border-radius: 18px; background: #fff; color: var(--navy); font-family: inherit; font-weight: 600; font-size: 22px; cursor: pointer; transition: .25s; letter-spacing: -.01em; }
.otab:hover { border-color: var(--sky); }
.otab.active { background: var(--navy); color: #fff; border-color: transparent; box-shadow: 0 12px 26px -12px rgba(0, 34, 121, .5); }
.opanel { display: none; }
.opanel.active { display: block; animation: ofade .45s ease; }
@keyframes ofade {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: none; }
}
.obanner { position: relative; border-radius: 18px 18px 18px 30px; margin-top: 20px; min-height: 300px; background: radial-gradient(circle at 18% 26%, rgba(69, 197, 253, .55), transparent 42%), radial-gradient(circle at 82% 74%, rgba(0, 34, 121, .55), transparent 48%), linear-gradient(125deg, #07173d, #0b4f9e 55%, #3ab4ee); }
.obanner::after { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255, 255, 255, .07) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .07) 1px, transparent 1px); background-size: 34px 34px; -webkit-mask-image: linear-gradient(120deg, #000, transparent 82%); mask-image: linear-gradient(120deg, #000, transparent 82%); }
.obanner .otitle { position: absolute; left: 0; bottom: -1px; z-index: 2; background: #fff; border-radius: 0 18px 0 0; padding: 16px 30px 16px 24px; max-width: 84%; font-size: 40px; font-weight: 800; color: var(--navy); letter-spacing: -.02em; line-height: 1.35; }
.obanner .otitle::before, .obanner .otitle::after { content: ''; width: 65px; height: 65px; border-radius: 0 20px 0 0; box-shadow: 1rem -1rem 0 0 #fff; position: absolute; transform: rotate(180deg); }
.obanner .otitle::before { top: -65px; left: 0; }
.obanner .otitle::after { bottom: 1px; right: -65px; }
.obanner .otitle .mk { color: var(--sky); margin-right: 8px; }

.ocontent { margin-top: 50px; background: #fff; }
.ocontent ul { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 15px 32px; }

@media (max-width: 640px) {
    .ocontent ul { grid-template-columns: 1fr; }
}

.ocontent li { display: flex; gap: 18px; padding: 18px 20px; background-color: #f9f9f9; border: 1px solid #ddd; align-items: center; justify-content: center; border-radius: 10px; transition: all .2s ease; }
.ocontent li::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--sky); flex: 0 0 auto; transform: translateY(7px); display: none; }
.ocontent li .t { font-size: 20px; font-weight: 700; color: #34405a; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; }
.ocontent li .t small { display: inline-block; font-size: 14px; font-weight: 700; color: var(--navy); background: #fff; padding: 4px 12px; border-radius: 20px; margin-left: 6px; border: 1px solid var(--sky); }

/* ------------------------------ CTA ------------------------------ */
.cta { background: var(--bg); }
.cta-box { position: relative; overflow: hidden; border-radius: 34px; background: var(--grad); color: #fff; text-align: center; padding: 86px 28px; }
.cta-box .o1 { position: absolute; width: 360px; height: 360px; border-radius: 50%; background: radial-gradient(circle, rgba(69, 197, 253, .5), transparent 70%); top: -160px; left: -80px; filter: blur(30px); }
.cta-box .o2 { position: absolute; width: 300px; height: 300px; border-radius: 50%; background: radial-gradient(circle, rgba(255, 255, 255, .25), transparent 70%); bottom: -140px; right: -60px; filter: blur(30px); }
.cta-box .inr { position: relative; z-index: 2; max-width: 720px; margin: 0 auto; }
.cta-box h2 { font-size: 42px; font-weight: 800; line-height: 1.36; letter-spacing: -.03em; }
.cta-box p { color: rgba(255, 255, 255, .82); margin-top: 16px; font-size: 17px; }
.qbtns { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 36px; }
.qbtn { font-weight: 800; font-size: 16px; padding: 15px 30px; border-radius: 50px; transition: .25s; letter-spacing: -.01em; }
.qbtn.p { background: #fff; color: var(--navy); }
.qbtn.p:hover { transform: translateY(-2px); box-shadow: 0 16px 30px -14px rgba(0, 0, 0, .4); }
.qbtn.g { border: 1.5px solid rgba(255, 255, 255, .5); color: #fff; }
.qbtn.g:hover { background: rgba(255, 255, 255, .14); border-color: #fff; }

/* ---------- sub1_3 반응형 ---------- */
@media (max-width: 1200px) {
	.ov-title{font-size: 62px;}
	.goal-frame::before{width: 90%; border-radius: 20px;}
	.goal-legend .ge{font-size: 22px;}
	.goal-legend h3{font-size: 20px;}
	.gcard h4{font-size: 18px; line-height: 1;}
}
@media (max-width: 1024px) {
	.ov-state {margin: -15px auto 0; padding: 15px 20px; font-size: 21px; border-radius: 10px;}
	.goal-line { margin: 70px auto 70px; }
	.thero { gap: 60px; padding: 30px 20px; border-radius: 20px;}
	.thero h3{font-size: 32px;}
	.thero p{font-size: 18px;}
	.thero p br{display: none;}
	.thero p .rl{display: inline;}
	.bases{gap: 10px;}
	.base{padding: 20px 20px 0 20px; border-radius: 15px;}
	.base b{font-size: 22px;}
	.base span{font-size: 16px; line-height: 1.2;}
	.base .bn{font-size: 58px;}
	.obj-track span { font-size: 110px; }
	.shead h2{font-size: 32px;}
	.prow { gap: 60px; }
	.pcircle { width: 200px; }
	.otabs { margin-top: 70px; }
	.otab { font-size: 19px; }
	.obanner { min-height: 240px; }
	.cta-box { padding: 70px 28px; }
	.cta-box h2 { font-size: 34px; }
}
@media (max-width: 768px) {
	.shead p { font-size: 16px; }
	.goal-sub{padding: 40px 0 50px;}
	.ov-state {padding: 20px 26px; margin: -12px auto 0; font-size: 18px; }
	.ov-panel{padding: 40px 0; border-radius: 20px;}
	.goal-line { margin: 50px auto 50px; }
	.ov-title{font-size: 42px;}
	.ov-state{padding: 10px; font-size: 16px; border-radius: 6px;}
	.g3cards { grid-template-columns: 1fr; gap: 20px;}
	.goal-frame { border: none; padding: 0; }
	.goal-legend { position: static; transform: none; background: none; padding: 0; margin-bottom: 24px; white-space: normal; }
	.goal-legend h3{padding: 0 10px; font-size: 18px;}
	.thero { gap: 36px; border-radius: 10px;}
	.bases { margin-top: 28px; margin-top: 15px;}
	.thero p{font-size: 16px;}
	.thero h3{font-size: 26px;}
	.base{padding: 15px 15px 0 15px; border-radius: 10px;}
	.base b{font-size: 20px;}
	.base .bn{font-size: 30px;}
	.base span{font-size: 15px;}
	.obj-track span { font-size: 80px; }
	.pitem{font-size: 16px; border-radius: 10px;}
	.shead h2{font-size: 26px;}
	.pcircle { width: 180px; }
	.pcircle span { font-size: 17px; }
	.otabs {gap: 10px; margin-top: 46px; }
	.otab { font-size: 16px; padding: 15px; border-radius: 10px;}
	.obanner { min-height: 180px; border-radius: 10px 10px 10px 20px;}
	.obanner .otitle {padding: 15px 20px 15px 15px; font-size: 24px; border-radius: 0 10px 0 0;}
	.obanner .otitle::before, .obanner .otitle::after{border-radius: 0 15px 0 0;}
	.ocontent{margin-top: 20px;}
	.ocontent ul{gap: 10px;}
	.ocontent li{padding: 10px; border-radius: 5px;}
	.ocontent li .t{font-size: 17px; text-align: center; line-height: 1.4;}
	.cta-box { padding: 54px 28px; }
	.cta-box h2 { font-size: 27px; }
}
@media (max-width: 500px) {
	.goal-frame::before{top: 56px; border-radius: 12px;}
	.goal-legend h3{font-size: 16px;}
	.gcard{padding: 20px 10px; border-radius: 15px;}
	.gcard h4{margin-bottom: 10px;}
	.grow .gt{font-size: 15px;}
	.ov-panel{padding: 30px 0; border-radius: 10px;}
	.ov-state{margin: -10px auto 0; line-height: 1.2;}
	.ov-title{font-size: 30px;}
	.obj-track span { font-size: 60px; }
	.pitem{width: 100%; padding: 10px; border-radius: 5px;}
	.plist{grid-template-columns: repeat(1, 1fr); width: 100%;}
	.obanner .otitle{font-size: 18px;}
	.ocontent li .t{font-size: 16px;}
}


/* ============================================================================
   8-4. sub1_4 조직도 (.org)
   ============================================================================ */
/* ------------------------------ 구성도 (조직도) ------------------------------ */
/* 변수는 .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); }

/* 가로 스크롤 뷰포트 + 스크롤 안내 오버레이 */
.org-scroll { position: relative; margin-top: 50px; }
.org-viewport { overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; }
.org-scroll-hint { position: absolute; inset: 0; z-index: 20; border-radius: 30px; background: rgba(0, 0, 0, .2); cursor: pointer; opacity: 0; pointer-events: none; transition: opacity .35s ease; }
.org-scroll-hint.show { opacity: 1; pointer-events: auto; }
.org-scroll-hint .hint-pin { position: sticky; top: 42vh; display: flex; justify-content: center; padding: 25px; }
.org-scroll-hint .hint-box { display: inline-flex; align-items: center; gap: 12px; padding: 14px 24px; border-radius: 60px; background: rgba(0, 0, 0, .55); color: #fff; font-size: 16px; font-weight: 600; letter-spacing: -.3px; box-shadow: 0 10px 30px -10px rgba(0, 0, 0, .4); }
.org-scroll-hint .hint-box i { font-size: 20px; line-height: 1; animation: orgHint .8s ease-in-out infinite alternate; }
@keyframes orgHint { from { transform: translateX(-4px); } to { transform: translateX(4px); } }

/* 노드(알약) */
.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: linear-gradient(135deg, var(--org-navy), var(--org-navy2)); 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: cover;}
.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: 40px; width: auto; 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: 5; }
.org .tree > li > .node::before { display: none; }
.org .tree > li { padding-top: 0; }
.org .tree > li::before, .org .tree > li::after { display: none; }

/* 산업보안학과 전용 보정 */
#panel-undergrad .tree ul{padding-top: 200px;}
#panel-undergrad .tree ul::before{height: 170px;}

/* 학부 로고 묶음: Data Privacy 융합전공 박스 스타일 적용 */
#panel-undergrad .node.lv1 .badges{position: absolute; top: 0; left: calc(100% + 54px); z-index: 2; display: flex; flex-direction: column; gap: 6px; width: 172px; padding: 15px; border-radius: 14px; background: #5d6988;}

/* 기존 badge별 구분선 삭제 */
#panel-undergrad .node.lv1 .badge::before,
#panel-undergrad .node.lv1 .badge:first-child::before{
    display: none;
}

/* 노드와 로고 박스를 연결하는 선 */
#panel-undergrad .node.lv1 .badges::before{
    content: '';
    position: absolute;
    top: 45px;
    left: -44px;
    width: 30px;
    height: 1px;
    background: var(--org-line);
}

/* Data Privacy 박스처럼 var(--org-sky) 원으로 연결 */
#panel-undergrad .node.lv1 .badges::after{
    content: '';
    position: absolute;
    top: 42px;
    left: -18px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--org-sky);
}

/* 로고 알약 스타일 */
#panel-undergrad .node.lv1 .badge{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
	width: 142px;
	min-width: 0;
    height: 45px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(210, 218, 232, .9);
    overflow: hidden;
}

#panel-undergrad .node.lv1 .badge a{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

#panel-undergrad .node.lv1 .badge img{
    max-width: 78%;
    max-height: 30px;
    object-fit: contain;
}
#panel-undergrad .node.lv1 .badge:nth-child(3) img{max-height: 35px;}


/* 보안대학원 전용 보정 */
#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-tabs { display: flex; gap: 18px; margin-bottom: 8px; }
.org-tab { flex: 1; min-width: 110px; padding: 22px; border: 1.5px solid var(--org-line); border-radius: 14px; background: #fff; color: var(--org-navy); font-family: inherit; font-weight: 600; font-size: 22px; cursor: pointer; transition: border-color .25s, box-shadow .25s; letter-spacing: -.01em; }
.org-tab:hover { border-color: var(--org-blue); color: var(--org-blue); }
.org-tab.active { background: linear-gradient(135deg, var(--org-navy), var(--org-navy2)); color: #fff; border-color: transparent; box-shadow: 0 12px 26px -12px rgba(14, 42, 110, .55); }
.org-panel { display: none; }
.org-panel.active { display: block; animation: orgfade .4s ease; background: #f5f5f5; border-radius: 30px; padding: 80px 0; width: fit-content; min-width: 100%; }
@keyframes orgfade { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }

/* ---------- sub1_4 반응형 (1600 / 1400 / 1200 / 1024 / 768 / 500) ---------- */
@media (max-width: 1600px) {
	.org .tree { gap: 60px; }
	.org .node { min-width: 220px; padding: 26px 18px; font-size: 19px; }
	.org .node.lv4 { min-width: 200px; padding: 26px 18px; font-size: 19px; }
	.org .node.lv1 { font-size: 21px; }
}
@media (max-width: 1400px) {
	.org .tree { gap: 40px; }
	.org .tree li { padding: 20px 12px 0; }
	.org .node { min-width: 195px; padding: 22px 14px; font-size: 17px; }
	.org .node.lv4 { min-width: 185px; padding: 22px 14px; font-size: 17px; }
	.org .node.lv1 { font-size: 20px; padding: 24px 20px; }
	.org .badge img { height: 34px; }
	#panel-undergrad .node.lv1 .badges { left: calc(100% + 40px); }
	#panel-undergrad .node.lv1 .badges::before { left: -32px; width: 22px; }
	#panel-undergrad .node.lv1 .badges::after { left: -14px; }
}
@media (max-width: 1200px) {
	.org-tabs { gap: 12px; }
	.org-tab { font-size: 18px; padding: 18px 12px; }
	.org-scroll { margin-top: 40px; }
	.org-panel.active { padding: 60px 0; }
	.org .tree { gap: 24px; }
	.org .tree li { padding: 20px 10px 0; }
	.org .node { min-width: 172px; padding: 18px 12px; font-size: 16px; }
	.org .node.lv4 { min-width: 165px; padding: 18px 12px; font-size: 16px; }
	.org .node.lv1 { font-size: 18px; padding: 20px 16px; }
	.org .badge { font-size: 13px; padding: 6px 8px; }
	.org .badge img { height: 30px; }
}
@media (max-width: 1024px) {
	.org-tab { font-size: 16px; padding: 16px 10px; border-radius: 10px; }
	.org-panel.active { padding: 50px 0; border-radius: 20px; }
	.org-scroll-hint { border-radius: 20px; }
	.org .badge img { height: 28px; }
	#panel-undergrad .node.lv1 .badges { width: 150px; padding: 10px; }
	#panel-undergrad .node.lv1 .badge { width: 130px; height: 40px; }
	#panel-undergrad .node.lv1 .badge img { max-height: 26px; }
	#panel-undergrad .node.lv1 .badge:nth-child(3) img { max-height: 29px; }
	#panel-undergrad .node.lv1 .badges::before { top: 31px; }
	#panel-undergrad .node.lv1 .badges::after { top: 28px; }
}
@media (max-width: 768px) {
	.org-tabs { flex-wrap: wrap; gap: 8px; }
	.org-tab { flex: 1 1 calc(50% - 4px); min-width: calc(50% - 4px); font-size: 15px; padding: 13px 8px; }
	.org-scroll { margin-top: 24px; }
	.org-panel.active { padding: 40px 0; }
	.org .tree { gap: 20px; }
	.org .tree li { padding: 20px 8px 0; }
	.org .node { min-width: 150px; padding: 14px 10px; font-size: 14px; border-radius: 12px; }
	.org .node.lv4 { min-width: 145px; padding: 14px 10px; font-size: 14px; }
	.org .node.lv1 { font-size: 16px; padding: 16px 14px; }
	.org .badge { font-size: 12px; padding: 5px 8px; }
	.org .badge img { height: 24px; }
	.org-scroll-hint .hint-pin { padding: 15px; }
	.org-scroll-hint .hint-box { font-size: 14px; padding: 11px 18px; gap: 8px; }
	.org-scroll-hint .hint-box i { font-size: 17px; }
	#panel-undergrad{padding-right: 100px;}
	#panel-undergrad .node.lv1 .badges { width: 130px; padding: 8px; left: calc(100% + 30px); }
	#panel-undergrad .node.lv1 .badge { width: 114px; height: 36px; }
	#panel-undergrad .node.lv1 .badge img { max-height: 23px; }
	#panel-undergrad .node.lv1 .badge:nth-child(3) img { max-height: 26px; }
	#panel-undergrad .node.lv1 .badges::before { left: -24px; width: 16px; top: 28px; }
	#panel-undergrad .node.lv1 .badges::after { left: -10px; top: 25px; }
}
@media (max-width: 500px) {
	.org-tab { font-size: 13px; padding: 11px 6px; letter-spacing: -.5px; }
	.org-scroll { margin-top: 18px; }
	.org-panel.active { padding: 30px 0; border-radius: 14px; }
	.org-scroll-hint { border-radius: 14px; }
	.org .node { min-width: 135px; font-size: 13px; }
	.org .node.lv4 { min-width: 130px; font-size: 13px; }
	.org .node.lv1 { font-size: 15px; }
}


/* ============================================================================
   8-5. sub1_5 오시는 길 (.loc-)
   ============================================================================ */
/* ------------------------------ 오시는 길 (sub1_5) ------------------------------ */
.loc-inner {margin: 0 auto; }
.loc-head { text-align: center; }
.loc-head .pill-lab { letter-spacing: .14em; }
.loc-head h2 { margin-top: 18px; }
.loc-head p { margin-left: auto; margin-right: auto; text-align: center; }

/* 지도 */
.loc-map { position: relative; width: 100%; height: 500px; border-radius: 28px; overflow: hidden; background: var(--tint-2); }
.loc-map iframe { display: block; }

/* 지도 바로가기 (지도 우하단 오버레이) */
.loc-links { position: absolute; bottom: 0; right: 0; z-index: 2; display: flex; flex-wrap: wrap; gap: 12px; justify-content: flex-end; padding: 20px; max-width: 100%; background-color: #fff; border-radius: 30px 0 0 0;}
.loc-links::before, .loc-links::after {
    content: '';
    width: 65px;
    height: 65px;
    border-radius: 0 30px 0 0;
    box-shadow: 1rem -1rem 0 0 #fff;
    position: absolute;
    transform: rotate(90deg);
}
.loc-links::before{top: -65px; right: 0;}
.loc-links::after{bottom: 0; left: -65px;}
.loc-link { display: inline-flex; align-items: center; gap: 14px; min-width: 250px; padding: 16px 22px; border-radius: 18px; background: rgba(255, 255, 255, .95); backdrop-filter: blur(6px); border: 1.5px solid var(--line); box-shadow: var(--shadow-sm); transition: .3s cubic-bezier(.16, .84, .44, 1); }
.loc-link:hover { transform: translateY(-5px); box-shadow: var(--shadow-sm); border-color: var(--navy); }
.loc-link-ico { flex: 0 0 auto; width: 46px; height: 46px; display: grid; place-items: center; border-radius: 13px; font-size: 16px; font-weight: 800; color: #fff; letter-spacing: -.02em; }
.loc-link.is-naver  .loc-link-ico { background: #03c75a; }
.loc-link.is-google .loc-link-ico { background: #4285f4; }
.loc-link.is-campus .loc-link-ico { background: var(--grad-soft); font-size: 13px; }
.loc-link-txt { display: flex; flex-direction: column; font-size: 19px; font-weight: 800; color: var(--text); letter-spacing: -.02em; line-height: 1.25; }
.loc-link-txt small {font-family: 'Poppins', 'Pretendard', sans-serif; font-size: 13px; font-weight: 500; color: var(--text-2); margin-top: 3px; letter-spacing: 0; }

/* 공통 블록 */
.loc-block { margin-top: 90px; }
.loc-h3 { font-size: 32px; font-weight: 800; letter-spacing: -.03em; color: var(--text); margin-bottom: 26px; padding-left: 20px; position: relative; }
.loc-h3::before { content: ""; position: absolute; left: 0; top: 5px; bottom: 5px; width: 6px; background: var(--grad-soft); }

/* 사무실 정보 테이블 */
.loc-table { list-style: none; border-top: 2px solid var(--navy); }
.loc-table > li { display: flex; align-items: flex-start; gap: 24px; padding: 24px 14px; border-bottom: 1px solid var(--line); }
.loc-table .lk { flex: 0 0 130px; font-size: 20px; font-weight: 700; color: var(--navy); position: relative;}
.loc-table .lv { flex: 1; font-weight: 600; font-size: 20px; color: var(--text); line-height: 1.7; }
.loc-table .lv a { color: var(--navy); font-weight: 600; border-bottom: 1px solid currentColor; }
.loc-table .lv a:hover { color: var(--sky); }

.loc-note { margin-top: 18px; padding: 17px 20px; font-size: 16px; color: #34405a; background: var(--tint-2); border: 1px solid var(--line); border-radius: 14px; position: relative; padding-left: 40px; }
.loc-note::before { content: "※"; position: absolute; left: 18px; top: 17px; color: var(--navy); font-weight: 700; }

/* 교통편 카드 */
.loc-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.loc-card { background: #fafbff; border: 1px solid #eef1f9; border-radius: 22px; padding: 38px 32px; transition: .35s cubic-bezier(.16, .84, .44, 1); }
.loc-card-ico { width: 60px; height: 60px; display: grid; place-items: center; border-radius: 16px; background: var(--tint); font-size: 28px; margin-bottom: 20px; }
.loc-card h4 { font-size: 24px; font-weight: 800; letter-spacing: -.02em; color: var(--text); margin-bottom: 16px; }
.loc-card ul { list-style: none; }
.loc-card li { position: relative; padding: 7px 0 7px 18px; font-weight: 600; font-size: 20px; color: #34405a; line-height: 1.55; }
.loc-card li::before { content: ""; position: absolute; left: 0; top: 15px; width: 6px; height: 6px; border-radius: 50%; background: var(--sky); }
.loc-card li b { color: var(--navy); font-weight: 700; }

/* ---------- sub1_5 반응형 (1200 / 1024 / 768 / 500) ---------- */
@media (max-width: 1200px) {
	.loc-map { height: 480px; }
	.loc-h3 { font-size: 28px; }
	.loc-card { padding: 32px 26px; }
	.loc-card h4 { font-size: 22px; }
	.loc-card li { font-size: 18px; }
	.loc-table .lk { font-size: 19px; }
	.loc-table .lv { font-size: 19px; }
}
@media (max-width: 1024px) {
	.loc-map { height: 440px; }
	.loc-links { gap: 8px; padding: 14px; }
	.loc-link { min-width: 0; gap: 10px; padding: 12px 16px; }
	.loc-link-txt { font-size: 16px; }
	.loc-link-txt small { display: none; }
	.loc-link-ico { width: 38px; height: 38px; }
	.loc-cards { grid-template-columns: 1fr; gap: 16px; }
	.loc-block { margin-top: 70px; }
}
@media (max-width: 768px) {
	/* 지도 바로가기: 지도 위 오버레이 해제 → 지도 아래 2열 배치 (지도 가림 방지) */
	.loc-map { height: auto; overflow: visible; border-radius: 0; background: none; }
	.loc-map iframe { height: 400px; border-radius: 20px; }
	.loc-links { position: static; margin-top: 10px; padding: 0; background: transparent; border-radius: 0; justify-content: flex-start; gap: 8px; }
	.loc-links::before, .loc-links::after { display: none; }
	.loc-links > div { width: calc(50% - 4px); }
	.loc-link { width: 100%; }
	.loc-block { margin-top: 56px; }
	.loc-h3 { font-size: 24px; }
	.loc-table > li { gap: 16px; padding: 20px 10px; }
	.loc-table .lk { flex: 0 0 100px; font-size: 18px; }
	.loc-table .lv { font-size: 17px; line-height: 1.6; }
	.loc-card { padding: 26px 22px; }
}
@media (max-width: 500px) {
	.loc-map iframe { height: 340px; border-radius: 10px; }
	/* 지도 바로가기: 1열(전체 폭) 배치 */
	.loc-links > div { width: 100%; }
	.loc-block { margin-top: 40px; }
	.loc-h3 { margin-bottom: 15px; padding-left: 15px; font-size: 20px; }
	.loc-h3::before { width: 3px; }
	.loc-table > li { flex-direction: column; gap: 8px; padding: 16px 6px; }
	.loc-table .lk { flex-basis: auto; font-size: 17px; }
	.loc-table .lv { font-size: 16px; line-height: 1.5; }
	.loc-cards { gap: 10px; }
	.loc-card { padding: 20px; border-radius: 15px; }
	.loc-card-ico { width: 45px; height: 45px; border-radius: 10px; font-size: 20px; }
	.loc-card h4 { font-size: 18px; margin-bottom: 6px; }
	.loc-card li { font-size: 15px; padding: 5px 0 5px 14px; }
	.loc-card li::before { top: 13px; }
	.loc-note { font-size: 14px; padding: 14px 16px 14px 36px; }
	.loc-note::before { left: 16px; top: 14px; }
}


/* ============================================================================
   8-6. sub1_6 발전기금 (#devel)
   ============================================================================ */
/* ------------------------------ 발전기금 (sub1_6) ------------------------------ */
#devel {
        --dv-navy: #061a4d;
        --dv-blue: #1f75f7;
        --dv-sky: #45c5fd;
        --dv-ink: #101828;
        --dv-muted: #4b5565;
        --dv-line: #e5ebf6;
        position: relative;
        overflow: hidden;
        padding: 10px 0 30px;
        color: var(--dv-ink);
        word-break: keep-all;
    }

    #devel * {
        box-sizing: border-box;
    }

    #devel .devel-hero {
        position: relative;
        min-height: 400px;
        padding: 50px 70px;
        border-radius: 28px;
        overflow: hidden;
        isolation: isolate;
        background: url('../images/sub/devel-hero.jpg') no-repeat 50% 0 /cover;;
    }

    #devel .devel-hero__copy {
        position: relative;
        z-index: 2;
        color: #fff;
    }

    #devel .devel-hero__copy h2 {
        margin: 0;
        color: #fff;
        font-size: 34px;
        font-weight: 700;
        line-height: 1.43;
        letter-spacing: -1px;
    }

    #devel .devel-hero__copy h2 strong {
        color: #7fd8ff;
        font-weight: 800;
    }

    #devel .devel-hero__bar {
        display: block;
        width: 50px;
        height: 1px;
        margin: 20px 0;
        background: #fff;
		opacity: .5;
    }

    #devel .devel-hero__copy p {
        margin: 0;
        color: rgba(255,255,255,.9);
        font-size: 20px;
        line-height: 1.8;
        letter-spacing: -.35px;
    }

    #devel .devel-cards {
		position: relative;
        display: flex;
        justify-content: center;
        gap: 20px;
        margin: -90px 34px 64px;
		z-index: 1;
    }

    #devel .devel-card {
		width: 28%;
        padding: 20px 20px 30px;
        text-align: center;
        border: 1px solid rgba(228, 234, 246, .95);
        border-radius: 18px;
        background: rgba(255,255,255,.9);
        box-shadow: 0 24px 50px -34px rgba(3, 24, 74, .38);
		backdrop-filter : blur(10px);
        transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
    }

    #devel .devel-card__icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 70px;
        height: 70px;
        margin-bottom: 20px;
        border-radius: 50%;
        color: #fff;
        font-size: 32px;
        background: radial-gradient(circle at 28% 22%, #1f75f7, #092a8d 72%);
        box-shadow: 0 18px 34px -22px rgba(3, 24, 74, .7);
    }

    #devel .devel-card h3 {
        position: relative;
        margin: 0 0 20px;
        padding-bottom: 20px;
        color: #071d5c;
        font-size: 26px;
        font-weight: 700;
        line-height: 1.25;
        letter-spacing: -.7px;
    }

    #devel .devel-card h3::after {
        content: "";
        position: absolute;
        left: 50%;
        bottom: 0;
        width: 30px;
        height: 2px;
        background: var(--dv-blue);
        transform: translateX(-50%);
    }

    #devel .devel-card p {
        margin: 0;
        color: #263244;
        font-size: 18px;
        line-height: 1.78;
        letter-spacing: -.35px;
    }

    #devel .devel-link {
        display: flex;
        justify-content: center;
    }

    #devel .devel-link a {
        display: inline-flex;
        align-items: center;
        gap: 16px;
        padding: 0 10px 16px;
        color: #111827;
        border-bottom: 3px solid var(--dv-blue);
        font-size: 24px;
        font-weight: 800;
        line-height: 1.2;
        letter-spacing: -.55px;
        text-decoration: none;
        transition: color .25s ease, gap .25s ease;
    }

    #devel .devel-link a:hover,
    #devel .devel-link a:focus {
        color: var(--dv-blue);
        gap: 20px;
    }

    #devel .devel-link i {
        color: #072989;
        font-size: 34px;
        font-weight: 400;
        line-height: 1;
    }

    #devel .devel-link .ri-external-link-line {
        color: #111827;
        font-size: 30px;
    }

/* ---------- sub1_6 반응형 (1200 / 1024 / 768 / 500) ---------- */
@media (max-width: 1200px) {
	#devel .devel-hero { min-height: 374px; padding: 40px 40px 20px; }
	#devel .devel-hero__copy h2 { font-size: 28px; }
	#devel .devel-hero__copy p { font-size: 18px; }
	#devel .devel-visual { width: 45%; }
	#devel .devel-cards { gap: 15px; margin-right: 10px; margin-left: 10px; }
	#devel .devel-card { min-height: 260px; padding: 20px 20px 20px; border-radius: 12px; }
	#devel .devel-card__icon { width: 60px; height: 60px; font-size: 22px; }
	#devel .devel-card h3 { font-size: 22px; }
	#devel .devel-card p { font-size: 15px; }
	#devel .devel-card p br { display: none; }
}
@media (max-width: 1024px) {
	#devel .devel-hero { padding: 36px 32px 20px; }
	#devel .devel-hero__copy h2 { font-size: 26px; }
	#devel .devel-cards { margin-top: -70px; }
	#devel .devel-card__icon { margin-bottom: 14px; }
	#devel .devel-card h3 { margin-bottom: 14px; padding-bottom: 14px; font-size: 20px; }
	#devel .devel-link a { font-size: 20px; }
	#devel .devel-link i { font-size: 26px; }
	#devel .devel-link .ri-external-link-line { font-size: 24px; }
}
@media (max-width: 768px) {
	#devel .devel-hero { border-radius: 20px; min-height: auto; padding: 32px 24px 110px; }
	#devel .devel-hero__copy h2 { font-size: 24px; }
	#devel .devel-hero__copy p { font-size: 16px; }
	#devel .devel-cards { flex-wrap: wrap; margin: -90px 16px 48px; }
	#devel .devel-card { width: 100%; min-height: auto; }
	#devel .devel-link a { font-size: 18px; }
	#devel .devel-link .ri-external-link-line { font-size: 20px; }
}
@media (max-width: 500px) {
	#devel .devel-hero { border-radius: 14px; padding: 26px 18px 96px; }
	#devel .devel-hero__copy h2 { font-size: 20px; }
	#devel .devel-hero__copy p { font-size: 15px; }
	#devel .devel-hero__bar { margin: 14px 0; }
	#devel .devel-cards { margin: -80px 12px 40px; }
	#devel .devel-card { border-radius: 10px; }
	#devel .devel-card__icon { width: 52px; height: 52px; font-size: 20px; }
	#devel .devel-card h3 { font-size: 19px; }
	#devel .devel-card p { font-size: 14px; }
	#devel .devel-link a { font-size: 16px; gap: 10px; }
	#devel .devel-link .ri-external-link-line { font-size: 18px; }
}


/* ============================================================================
   8-7. sub3_1 교육과정 (#curri, .cu-)
   ============================================================================ */
/* ======================= 교육과정 ======================= */
#curri { position: relative; }
#curri .pc-only { display: inline; }

/* ---------- 페이지 헤더 ---------- */
.cu-head { position: relative; overflow: hidden; border-radius: 24px; padding: 56px 48px; background: linear-gradient(120deg, #001550 0%, #002279 60%, #0b3cab 100%); box-shadow: 0 24px 56px -30px rgba(0,34,121,.5); }
.cu-head::after { content: ''; position: absolute; top: -110px; right: -70px; width: 320px; height: 320px; border-radius: 50%; background: radial-gradient(circle, rgba(69,197,253,.28), transparent 70%); pointer-events: none; }
.cu-head__inner { position: relative; z-index: 2; }
.cu-head__eyebrow { display: inline-flex; align-items: center; gap: 12px; font-size: 16px; font-weight: 700; letter-spacing: 3px; color: #7fd8ff; text-transform: uppercase; margin-bottom: 16px; }
.cu-head__eyebrow::before { content: ''; width: 34px; height: 2px; background: #45c5fd; }
.cu-head__title { font-size: 38px; font-weight: 800; color: #fff; letter-spacing: -1.2px; line-height: 1.3; margin: 0 0 18px; }
.cu-head__title em { font-style: normal; color: #45c5fd; }
.cu-head__desc { font-size: 18px; line-height: 1.8; color: rgba(255,255,255,.85); letter-spacing: -.3px; margin: 0; max-width: 760px; word-break: keep-all; }

/* ---------- 탭 ---------- */
.cu-tabs { display: flex; gap: 12px; margin: 50px 0; }
.cu-tab { font-size: 24px; flex: 1; display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 78px; padding: 14px 20px; cursor: pointer; text-align: center; background: #f1f5fd; border: 1px solid #e3eaf8; border-radius: 16px; transition: background .3s ease, border-color .3s ease, box-shadow .3s ease, transform .3s ease; }
.cu-tab:hover { background: #e7effb; transform: translateY(-2px); }
.cu-tab__num { font-weight: 800; color: #a7b1cf; letter-spacing: 1px; transition: color .3s ease; }
.cu-tab__txt { font-weight: 700; color: #5e6a86; letter-spacing: -.5px; transition: color .3s ease; word-break: keep-all; }
.cu-tab.is-active { background: linear-gradient(135deg, #002279 0%, #1a3aa3 100%); border-color: #002279; box-shadow: 0 16px 32px -14px rgba(0,34,121,.55); transform: translateY(-2px); }
.cu-tab.is-active .cu-tab__num { color: #45c5fd; }
.cu-tab.is-active .cu-tab__txt { color: #fff; }

/* ---------- 패널 ---------- */
.cu-pane { display: none; animation: cuFade .5s ease; }
.cu-pane.is-active { display: block; }
@keyframes cuFade { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

/* ---------- 섹션 타이틀 ---------- */
.cu-stitle { display: flex; align-items: center; gap: 14px; margin: 0 0 18px; }
.cu-stitle span { font-size: 34px; font-weight: 800; color: #002279; letter-spacing: -.6px; }
.cu-stitle::before { content: ''; width: 6px; height: 32px; border-radius: 4px; background: linear-gradient(#002279, #45c5fd); }
.cu-stitle--mt { margin-top: 64px; }

/* ---------- 학년별 교과과정 매트릭스 ---------- */
.cu-matrix-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: 18px; box-shadow: 0 16px 40px -24px rgba(0,34,121,.28); }
.cu-matrix { width: 100%; min-width: 760px; border-collapse: collapse; background: #fff; border: 1px solid #e3eaf6; border-radius: 18px; overflow: hidden; }
.cu-matrix th { padding: 18px 16px; font-size: 18px; font-weight: 700; color: #fff; background: linear-gradient(135deg, #002279, #1a3aa3); }
.cu-matrix thead th:first-child { width: 120px; background: #0c2a6e; }
.cu-matrix tbody th { font-size: 20px; font-weight: 800; color: #002279; background: #f3f6fd; border-top: 1px solid #e9eef8; }
.cu-matrix td { padding: 18px 18px; vertical-align: top; border-top: 1px solid #e9eef8; border-left: 1px solid #eef2fa; }
.cu-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.cu-chip { display: inline-block; padding: 9px 15px; font-size: 17px; font-weight: 600; color: #222; background: #f5f6f8; border: 1px solid #e6e8ee; border-radius: 9px; letter-spacing: -.3px; transition: background .25s ease, border-color .25s ease, transform .25s ease; }
.cu-chip:hover { transform: translateY(-2px); }
.cu-chip--basic { color: #1664d4; background: #eaf2ff; border-color: #cfe0fb; }
.cu-chip--req { color: #e03131; background: #fdeced; border-color: #f6cccd; }
.cu-note { margin: 25px 0 0; padding: 0; list-style: none; }
.cu-note li { position: relative; padding-left: 18px; font-size: 20px; line-height: 1.7; color: #6b7488; letter-spacing: -.3px; }
.cu-note li::before { content: '*'; position: absolute; left: 0; top: 1px; color: #45c5fd; font-weight: 800; }
.t-red{color: #e03131;}
.t-blue{color: #1664d4;}

/* ---------- 교과목 소개 (아코디언) ---------- */
.cu-acc { border: 1px solid #e7edf9; border-radius: 16px; overflow: hidden; background: #fff; }
.cu-acc + .cu-acc { margin-top: 14px; }
.cu-acc__head { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 24px 28px; cursor: pointer; background: #fff; border: 0; text-align: left; transition: background .25s ease; }
.cu-acc__head:hover { background: #f7faff; }
.cu-acc.is-open .cu-acc__head { background: linear-gradient(135deg, #002279, #1a3aa3); }
.cu-acc__label { display: flex; align-items: center; gap: 14px; font-size: 24px; font-weight: 800; color: #002279; letter-spacing: -.5px; }
.cu-acc.is-open .cu-acc__label { color: #fff; }
.cu-acc__label b {display: inline-flex;align-items: center;justify-content: center;min-width: 60px;height: 40px;padding: 0 18px;font-size: 20px;font-weight: 800;letter-spacing: 1px;color: #1f53c4;background: #eaf1ff;border-radius: 30px;}
.cu-acc.is-open .cu-acc__label b { color: #002279; background: #7fd8ff; }
.cu-acc__icon { position: relative; flex: 0 0 22px; width: 22px; height: 22px; }
.cu-acc__icon::before, .cu-acc__icon::after { content: ''; position: absolute; background: #9fb0d4; border-radius: 2px; transition: transform .3s ease, background .3s ease; }
.cu-acc__icon::before { top: 10px; left: 0; width: 22px; height: 2px; }
.cu-acc__icon::after { top: 0; left: 10px; width: 2px; height: 22px; }
.cu-acc.is-open .cu-acc__icon::before, .cu-acc.is-open .cu-acc__icon::after { background: #7fd8ff; }
.cu-acc.is-open .cu-acc__icon::after { transform: rotate(90deg); opacity: 0; }
.cu-acc__body { display: none; padding: 8px 28px 30px; }
.cu-acc.is-open .cu-acc__body { display: block; }
.cu-course { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin: 14px 0 0; }
.cu-course__item { padding: 25px 30px; background: #f7faff; border: 1px solid #eaf0fb; border-radius: 14px;}
.cu-course__name { font-size: 24px; font-weight: 800; color: #002279; letter-spacing: -.4px; margin: 0 0 6px; }
.cu-course__desc { font-size: 19px; line-height: 1.7; color: #4a5468; letter-spacing: -.3px; margin: 0; word-break: keep-all; }

/* ---------- 융합전공 표 ---------- */
.cu-fusion__lead { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin: 0 0 28px; padding: 22px 26px; background: #f4f8ff; border: 1px solid #e0ebfb; border-radius: 16px; }
.cu-fusion__lead b { font-size: 22px; font-weight: 800; color: #002279; letter-spacing: -.4px; }
.cu-fusion__lead span { font-size: 18px; letter-spacing: -.3px; }
.cu-fusion__total { margin-left: auto; padding: 9px 18px; font-size: 16px; font-weight: 700; color: #fff; background: linear-gradient(135deg, #45c5fd, #007bbf); border-radius: 30px; }
.cu-group { margin-top: 45px; }
.cu-group__tit { display: flex; align-items: center; gap: 14px; margin: 0 0 16px; font-size: 30px; font-weight: 800; color: #002279; letter-spacing: -.6px; }
.cu-group__tit em { font-style: normal; padding: 6px 14px; font-size: 16px; font-weight: 700; color: #1f53c4; background: #eaf1ff; border-radius: 20px; }
.cu-tablewrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: 14px; border: 1px solid #e6ecf7; }
.cu-table { width: 100%; min-width: 720px; border-collapse: collapse; background: #fff; font-size: 18px; }
.cu-table th { padding: 14px 14px; font-weight: 700; color: #fff; background: #1a3aa3; white-space: nowrap; }
.cu-table td { padding: 13px 14px; text-align: center; color: #4a5468; border-top: 1px solid #eef2fa; letter-spacing: -.2px; }
.cu-table tbody tr:nth-child(even) td { background: #fafcff; }
.cu-table td.cu-td-name { text-align: left; font-weight: 700; color: #1f3a78; }
.cu-table td.cu-td-note { text-align: left; color: #8a93a6; font-size: 16px; }
.cu-table .cu-badge { display: inline-block; padding: 4px 10px; font-size: 14px; font-weight: 700; border-radius: 20px; }
.cu-table .cu-badge--in { color: #0d63b0; background: #eaf6ff; }
.cu-table .cu-badge--sw { color: #7a4ad0; background: #f1ecff; }
.cu-table .cu-badge--etc { color: #5b6680; background: #eef1f7; }

/* ---------- sub3_1 반응형 (1600 / 1400 / 1200 / 1024 / 768 / 500) ---------- */
@media (max-width: 1600px) {
    .cu-head { padding: 52px 44px; }
    .cu-head__title { font-size: 36px; }
    .cu-head__desc { font-size: 17px; }
    .cu-tab { font-size: 22px; min-height: 74px; }
    .cu-stitle span { font-size: 32px; }
    .cu-matrix th { font-size: 17px; }
    .cu-matrix tbody th { font-size: 19px; }
    .cu-chip { font-size: 16px; }
    .cu-note li { font-size: 19px; }
    .cu-acc__label { font-size: 22px; }
    .cu-acc__label b { font-size: 19px; }
    .cu-course__name { font-size: 22px; }
    .cu-course__desc { font-size: 18px; }
    .cu-group__tit { font-size: 28px; }
}
@media (max-width: 1400px) {
    .cu-head { padding: 48px 40px; }
    .cu-head__title { font-size: 34px; }
    .cu-head__eyebrow { font-size: 15px; }
    .cu-tabs { gap: 10px; margin: 44px 0; }
    .cu-tab { font-size: 20px; min-height: 70px; }
    .cu-stitle span { font-size: 30px; }
    .cu-stitle::before { height: 30px; }
    .cu-stitle--mt { margin-top: 56px; }
    .cu-matrix th { font-size: 16px; padding: 16px 14px; }
    .cu-matrix tbody th { font-size: 18px; }
    .cu-matrix td { padding: 16px; }
    .cu-chip { font-size: 15px; padding: 8px 13px; }
    .cu-note li { font-size: 18px; }
    .cu-acc__head { padding: 22px 24px; }
    .cu-acc__label { font-size: 20px; }
    .cu-acc__label b { min-width: 56px; height: 38px; font-size: 18px; padding: 0 16px; }
    .cu-acc__body { padding: 8px 24px 26px; }
    .cu-course { gap: 14px; }
    .cu-course__item { padding: 22px 24px; }
    .cu-course__name { font-size: 20px; }
    .cu-course__desc { font-size: 17px; }
    .cu-fusion__lead { padding: 20px 22px; }
    .cu-fusion__lead b { font-size: 20px; }
    .cu-fusion__lead span { font-size: 17px; }
    .cu-fusion__total { font-size: 15px; }
    .cu-group { margin-top: 40px; }
    .cu-group__tit { font-size: 26px; }
    .cu-group__tit em { font-size: 15px; }
    .cu-table { font-size: 17px; }
    .cu-table td.cu-td-note { font-size: 15px; }
}
@media (max-width: 1200px) {
    .cu-head { padding: 44px 34px; }
    .cu-head__title { font-size: 31px; }
    .cu-head__desc { font-size: 16px; }
    .cu-tabs { margin: 40px 0; }
    .cu-tab { font-size: 19px; min-height: 66px; }
    .cu-stitle span { font-size: 28px; }
    .cu-stitle::before { height: 28px; }
    .cu-matrix tbody th { font-size: 17px; }
    .cu-matrix td { padding: 15px 14px; }
    .cu-note li { font-size: 17px; }
    .cu-acc__head { padding: 20px 22px; }
    .cu-acc__label { font-size: 19px; }
    .cu-acc__label b { min-width: 52px; height: 36px; font-size: 17px; }
    .cu-acc__body { padding: 8px 22px 24px; }
    .cu-course { gap: 12px; }
    .cu-course__item { padding: 20px 22px; }
    .cu-course__name { font-size: 19px; }
    .cu-course__desc { font-size: 16px; }
    .cu-fusion__lead b { font-size: 19px; }
    .cu-fusion__lead span { font-size: 16px; }
    .cu-group__tit { font-size: 24px; }
    .cu-table { font-size: 16px; }
}
@media (max-width: 1024px) {
    .cu-head { padding: 40px 30px; }
    .cu-head__title { font-size: 29px; }
    .cu-tabs { flex-direction: column; gap: 10px; margin: 36px 0; }
    .cu-tab { min-height: 62px; justify-content: flex-start; }
    .cu-stitle span { font-size: 26px; }
    .cu-stitle--mt { margin-top: 50px; }
    .cu-note li { font-size: 16px; }
    .cu-course { grid-template-columns: 1fr; }
    .cu-group { margin-top: 36px; }
    .cu-group__tit { font-size: 23px; }
}
@media (max-width: 768px) {
    #curri .pc-only { display: none; }
    .cu-head { padding: 34px 22px; border-radius: 18px; }
    .cu-head__eyebrow { font-size: 14px; letter-spacing: 2px; margin-bottom: 12px; }
    .cu-head__title { font-size: 24px; }
    .cu-head__desc { font-size: 15px; }
    .cu-tabs { margin: 30px 0; }
    .cu-tab { font-size: 17px; min-height: 56px; padding: 12px 16px; border-radius: 12px; }
    .cu-stitle { gap: 10px; margin-bottom: 14px; }
    .cu-stitle span { font-size: 22px; }
    .cu-stitle::before { width: 5px; height: 24px; }
    .cu-stitle--mt { margin-top: 44px; }
    .cu-matrix th { font-size: 15px; padding: 14px 10px; }
    .cu-matrix thead th:first-child { width: 84px; }
    .cu-matrix tbody th { font-size: 16px; }
    .cu-matrix td { padding: 14px 12px; }
    .cu-chip { font-size: 14px; padding: 7px 12px; border-radius: 8px; }
    .cu-note { margin-top: 18px; }
    .cu-note li { font-size: 15px; }
    .cu-acc__head { padding: 18px 18px; }
    .cu-acc__label { font-size: 17px; gap: 10px; }
    .cu-acc__label b { min-width: 46px; height: 32px; padding: 0 13px; font-size: 15px; }
    .cu-acc__body { padding: 6px 16px 22px; }
    .cu-course__item { padding: 18px 18px; }
    .cu-course__name { font-size: 17px; }
    .cu-course__desc { font-size: 15px; }
    .cu-fusion__lead { gap: 10px; margin-bottom: 22px; padding: 16px 18px; border-radius: 12px; }
    .cu-fusion__lead b { font-size: 17px; }
    .cu-fusion__lead span { font-size: 15px; }
    .cu-fusion__total { margin-left: 0; padding: 7px 14px; font-size: 14px; }
    .cu-group { margin-top: 32px; }
    .cu-group__tit { gap: 10px; font-size: 20px; }
    .cu-group__tit em { padding: 5px 11px; font-size: 13px; }
    .cu-table { font-size: 15px; }
    .cu-table th { padding: 12px 10px; }
    .cu-table td { padding: 11px 10px; }
    .cu-table td.cu-td-note { font-size: 13px; }
    .cu-table .cu-badge { font-size: 12px; padding: 3px 8px; }
}
@media (max-width: 500px) {
    .cu-head { padding: 26px 18px; }
    .cu-head__eyebrow { font-size: 13px; }
    .cu-head__title { font-size: 21px; }
    .cu-head__desc { font-size: 14px; }
    .cu-tab { font-size: 15px; min-height: 52px; }
    .cu-stitle span { font-size: 19px; }
    .cu-stitle::before { height: 21px; }
    .cu-matrix th { font-size: 14px; }
    .cu-matrix tbody th { font-size: 15px; }
    .cu-matrix td { padding: 12px 10px; }
    .cu-chip { font-size: 13px; padding: 6px 10px; }
    .cu-note li { font-size: 14px; }
    .cu-acc__head { padding: 15px 14px; }
    .cu-acc__label { font-size: 15px; gap: 8px; }
    .cu-acc__label b { min-width: 40px; height: 28px; padding: 0 11px; font-size: 13px; }
    .cu-acc__body { padding: 4px 12px 18px; }
    .cu-course__item { padding: 14px 14px; }
    .cu-course__name { font-size: 15px; }
    .cu-course__desc { font-size: 14px; }
    .cu-fusion__lead b { font-size: 15px; }
    .cu-fusion__lead span { font-size: 13px; }
    .cu-group__tit { font-size: 18px; }
    .cu-table { font-size: 14px; }
    .cu-table td.cu-td-note { font-size: 12px; }
}


/* ============================================================================
   8-8. sub3_2 졸업요건 (#grad, .gd-) ※ 게시판 html 스킨에서도 사용
   ============================================================================ */

/* ==================== 졸업요건 ==================== */
#grad { position: relative; --g-main:#002279; --g-point:#45c5fd; }
#grad .pc-only { display: inline; }
/* 게시판 html 스킨 보정 : 목록 테이블(td_subject)이 내부 표의 폭에 밀려 화면 밖으로 넘치는 문제 방지 */
#grad .tbl_wrap > table { width: 100%; table-layout: fixed; }

/* ---------- 섹션 타이틀 ---------- */
.gd-stitle { display: flex; align-items: center; gap: 14px; margin: 0 0 22px; }
.gd-stitle span { font-size: 32px; font-weight: 800; color: #002279; letter-spacing: -.6px; }
.gd-stitle::before { content: ''; width: 6px; height: 30px; border-radius: 4px; background: linear-gradient(#002279, #45c5fd); }
.gd-section { margin-top: 70px; }
.gd-section:first-of-type { margin-top: 56px; }

/* ---------- 핵심 요건 카드 ---------- */
.gd-cards { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; margin-top: 50px; }
.gd-card { position: relative; padding: 30px 24px 28px; background: #fff; border: 1px solid #e9eefb; border-radius: 0 0 18px 18px; box-shadow: 0 16px 36px -24px rgba(0,34,121,.28); overflow: hidden; transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease; }
.gd-card::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 4px; background: linear-gradient(90deg, #002279, #45c5fd); }
.gd-card__num { display: inline-flex; align-items: center; justify-content: center; min-width: 46px; height: 46px; padding: 0 12px; font-family:'Poppins', sans-serif; font-size: 18px; font-weight: 700; letter-spacing: 1px; color: #fff; background: linear-gradient(135deg, #002279, #1a3aa3); border-radius: 12px; box-shadow: 0 10px 22px -8px rgba(0,34,121,.45); }
.gd-card__tit { font-size: 21px; font-weight: 800; color: var(--text); letter-spacing: -.5px; line-height: 1.4; margin: 18px 0 8px; word-break: keep-all; }
.gd-card__desc {font-weight: 600; font-size: 18px; line-height: 1.65; color: #5b6680; letter-spacing: -.3px; margin: 0; word-break: keep-all; }

/* ---------- 표 공통 ---------- */
.gd-tablewrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: 16px; box-shadow: 0 16px 40px -26px rgba(0,34,121,.26); border: 1px solid #e3eaf6; }
.gd-table { width: 100%; min-width: 860px; border-collapse: collapse; background: #fff; }
.gd-table th { padding: 16px 14px; font-size: 18px; font-weight: 700; color: #fff; text-align: center; background: linear-gradient(135deg, #002279, #1a3aa3); border-left: 1px solid rgba(255,255,255,.12); }
.gd-table th:first-child { border-left: 0; }
.gd-table thead th.gd-th-cat { background: #0c2a6e; width: 110px; }
.gd-table td { padding: 16px; font-size: 17px; line-height: 1.65; color: #4a5468; text-align: center; vertical-align: middle; border-top: 1px solid #e9eef8; border-left: 1px solid #eef2fa; letter-spacing: -.2px; word-break: keep-all; }
.gd-table td:first-child { border-left: 0; }
.gd-table .gd-cat { font-size: 18px; font-weight: 800; color: #002279; background: #f3f6fd; }
.gd-table .gd-td-l { text-align: left; }
.gd-table .gd-em { color: #1f53c4; font-weight: 700; }
.gd-table .gd-x { color: #9aa3b5; font-weight: 500; }
.gd-table .gd-full { background: #f7faff; color: #1f3a78; font-weight: 700; font-size: 18px; }

/* 표 내부 항목 리스트 */
.gd-ilist { list-style: none; margin: 0; padding: 0; text-align: left; }
.gd-ilist li { position: relative; padding: 4px 0 4px 16px; font-weight: 600; line-height: 1.6; color: #4a5468; }
.gd-ilist li::before { content: ''; position: absolute; left: 0; top: 13px; width: 6px; height: 6px; border-radius: 50%; background: #45c5fd; }
.gd-ilist li b { color: #1f3a78; font-weight: 700; }
.gd-sep { display: block; margin: 8px 0 4px; font-weight: 700; color: #1f53c4; }

/* 이수학점 요약 (소형 표) */
.gd-summary { margin-top: 28px; }
.gd-summary__tit { display: inline-flex; align-items: baseline; gap: 8px; margin-bottom: 14px; font-size: 28px; font-weight: 800; color: #002279; letter-spacing: -.4px; }
.gd-summary__tit em { font-style: normal; font-size: 16px; font-weight: 600; color: #8a93a6; }
.gd-table--sm { min-width: 420px; }
.gd-table--sm td { font-size: 19px; font-weight: 600; color: #3a4658; padding: 18px 16px; }
.gd-table--sm .gd-total { font-size: 22px; font-weight: 800; color: #002279; }

/* 비고 셀 강조 */
.gd-flag { display: block; position: relative; padding-left: 16px; font-weight: 600; line-height: 1.65; color: #6b7488; text-align: left; }
.gd-flag + .gd-flag { margin-top: 6px; }
.gd-flag::before { content: '*'; position: absolute; left: 0; top: 1px; color: #45c5fd; font-weight: 800; }
.gd-flag--strong { color: #1f3a78; font-weight: 700; }

/* ---------- 기타 졸업요건 체크리스트 ---------- */
.gd-check { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.gd-check li { position: relative; padding: 25px 24px 25px 56px; background: #fff; border: 1px solid #eef1f9; border-radius: 14px; font-weight: 700; font-size: 20px; color: #46506a; line-height: 1.6; letter-spacing: -.3px; word-break: keep-all; transition: border-color .3s ease, box-shadow .3s ease, transform .3s ease; }
.gd-check li::before { content: ''; position: absolute; left: 22px; top: 30px; width: 22px; height: 22px; border-radius: 50%; background: linear-gradient(135deg, #45c5fd, #1f9be0); box-shadow: 0 4px 10px -2px rgba(69,197,253,.5); }
.gd-check li::after { content: ''; position: absolute; left: 29px; top: 34px; width: 7px; height: 11px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.gd-check li:hover { border-color: #002279; box-shadow: 0 12px 24px -12px rgba(0,34,121,.16); transform: translateX(4px); }
.gd-check li b { color: #002279; font-weight: 700; }


/* ---------- 문의 ---------- */
.gd-contact { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 20px; }
.gd-contact__item { position: relative; overflow: hidden; display: flex; align-items: center; gap: 26px; padding: 34px 38px; border-radius: 20px; background: linear-gradient(135deg, #001550 0%, #002279 60%, #0b3cab 100%); box-shadow: 0 22px 46px -26px rgba(0,34,121,.5); }
.gd-contact__item::after { content: ''; position: absolute; bottom: -90px; right: -60px; width: 220px; height: 220px; border-radius: 50%; background: radial-gradient(circle, rgba(69,197,253,.26), transparent 70%); pointer-events: none; }
.gd-contact__body { position: relative; z-index: 2; flex: 1 1 auto; min-width: 0; }
.gd-contact__icon { position: relative; z-index: 2; flex: 0 0 104px; width: 104px; height: 104px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: rgba(127,216,255,.1); border: 1px solid rgba(127,216,255,.35); box-shadow: inset 0 0 26px rgba(69,197,253,.18); }
.gd-contact__icon svg { width: 52px; height: 52px; fill: none; stroke: #7fd8ff; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.gd-contact__role { position: relative; z-index: 2; display: inline-block; font-size: 18px; font-weight: 600; letter-spacing: 1px; color: #7fd8ff; }
.gd-contact__name { position: relative; z-index: 2; font-size: 28px; font-weight: 800; color: #fff; letter-spacing: -.4px; margin: 0 0 25px; }
.gd-contact__row { position: relative; z-index: 2; display: flex; align-items: center; gap: 12px; font-size: 18px; color: rgba(255,255,255,.9); letter-spacing: -.2px; }
.gd-contact__row + .gd-contact__row { margin-top: 8px; }
.gd-contact__row b { flex: 0 0 80px; font-weight: 700; color: #45c5fd; letter-spacing: 1px; }
.gd-contact__row a { color: rgba(255,255,255,.9); text-decoration: none; }
.gd-contact__row a:hover { color: #7fd8ff; text-decoration: underline; }


/* 졸업요건 */
.gd-notice {position: relative; width: 100%; margin: 34px auto 58px; padding: 20px 24px 20px 62px; border: 1px solid rgba(13, 62, 151, 0.14); border-radius: 10px; background: linear-gradient(90deg, rgba(10, 73, 188, 0.08), rgba(255, 255, 255, 0.96)); box-shadow: 0 12px 28px rgba(15, 44, 97, 0.08); color: #1d2b48; font-size: 17px; font-weight: 600; line-height: 1.75; letter-spacing: -0.01em; word-break: keep-all;}

.gd-notice::before {content: "!"; position: absolute; left: 24px; top: 50%; width: 24px; height: 24px; border-radius: 50%; background: #0b4ec2; color: #fff; font-size: 15px; font-weight: 800; line-height: 24px; text-align: center; transform: translateY(-50%); box-shadow: 0 6px 14px rgba(11, 78, 194, 0.24);}

/* ---------- sub3_2 반응형 (1600 / 1400 / 1200 / 1024 / 768 / 500) ---------- */
@media (max-width: 1600px) {
    .gd-stitle span { font-size: 30px; }
    .gd-cards { gap: 14px; }
    .gd-card { padding: 28px 20px 26px; }
    .gd-card__tit { font-size: 20px; }
    .gd-card__desc { font-size: 17px; }
    .gd-table th { font-size: 17px; }
    .gd-table td { font-size: 16px; }
    .gd-table .gd-cat { font-size: 17px; }
    .gd-table .gd-full { font-size: 17px; }
    .gd-summary__tit { font-size: 26px; }
    .gd-table--sm td { font-size: 18px; }
    .gd-table--sm .gd-total { font-size: 21px; }
    .gd-check li { font-size: 19px; }
    .gd-contact__item { padding: 32px 34px; gap: 24px; }
    .gd-contact__icon { flex: 0 0 96px; width: 96px; height: 96px; }
    .gd-contact__icon svg { width: 48px; height: 48px; }
    .gd-contact__name { font-size: 26px; }
}
@media (max-width: 1400px) {
    .gd-stitle span { font-size: 28px; }
    .gd-stitle::before { height: 28px; }
    .gd-section { margin-top: 60px; }
    .gd-section:first-of-type { margin-top: 48px; }
    .gd-cards { gap: 12px; margin-top: 42px; }
    .gd-card { padding: 26px 18px 24px; }
    .gd-card__num { min-width: 42px; height: 42px; font-size: 17px; }
    .gd-card__tit { font-size: 19px; margin-top: 15px; }
    .gd-card__desc { font-size: 16px; }
    .gd-table th { font-size: 16px; padding: 14px 12px; }
    .gd-table td { font-size: 16px; padding: 14px 12px; }
    .gd-table .gd-cat { font-size: 16px; }
    .gd-table .gd-full { font-size: 16px; }
    .gd-summary__tit { font-size: 24px; }
    .gd-table--sm td { font-size: 17px; padding: 16px 14px; }
    .gd-table--sm .gd-total { font-size: 20px; }
    .gd-check { gap: 12px; }
    .gd-check li { font-size: 18px; padding: 22px 22px 22px 52px; }
    .gd-check li::before { left: 20px; top: 26px; width: 20px; height: 20px; }
    .gd-check li::after { left: 26px; top: 30px; }
    .gd-contact { gap: 16px; }
    .gd-contact__item { padding: 30px 30px; gap: 22px; }
    .gd-contact__icon { flex: 0 0 88px; width: 88px; height: 88px; }
    .gd-contact__icon svg { width: 44px; height: 44px; }
    .gd-contact__role { font-size: 17px; }
    .gd-contact__name { font-size: 24px; margin-bottom: 20px; }
    .gd-contact__row { font-size: 17px; }
    .gd-notice { padding: 19px 22px 19px 58px; font-size: 16px; }
}
@media (max-width: 1200px) {
    .gd-cards { grid-template-columns: repeat(3, 1fr); }
    .gd-stitle span { font-size: 26px; }
    .gd-card__tit { font-size: 19px; }
    .gd-card__desc { font-size: 16px; }
    .gd-table th { font-size: 16px; }
    .gd-table td { font-size: 15px; }
    .gd-table .gd-cat { font-size: 15px; }
    .gd-summary__tit { font-size: 23px; }
    .gd-check li { font-size: 17px; }
    .gd-contact__item { padding: 28px 26px; gap: 20px; }
    .gd-contact__icon { flex: 0 0 80px; width: 80px; height: 80px; }
    .gd-contact__icon svg { width: 40px; height: 40px; }
    .gd-contact__name { font-size: 22px; }
    .gd-notice { padding: 18px 20px 18px 56px; }
}
@media (max-width: 1024px) {
    .gd-cards { grid-template-columns: repeat(2, 1fr); }
    .gd-check { grid-template-columns: 1fr; }
    .gd-contact { grid-template-columns: 1fr; }
    .gd-stitle span { font-size: 24px; }
    .gd-section { margin-top: 54px; }
    .gd-section:first-of-type { margin-top: 44px; }
    .gd-card { padding: 24px 18px 22px; }
    .gd-card__tit { font-size: 18px; }
    .gd-card__desc { font-size: 15px; }
    .gd-table th { font-size: 15px; }
    .gd-table td { font-size: 15px; padding: 13px 12px; }
    .gd-table .gd-cat { font-size: 15px; }
    .gd-table .gd-full { font-size: 16px; }
    .gd-summary__tit { font-size: 22px; }
    .gd-summary__tit em { font-size: 15px; }
    .gd-check li { font-size: 17px; padding: 20px 20px 20px 50px; }
    .gd-check li::before { left: 18px; top: 24px; }
    .gd-check li::after { left: 25px; top: 28px; }
}
@media (max-width: 768px) {
    #grad .pc-only { display: none; }
    .gd-stitle { gap: 10px; margin-bottom: 16px; }
    .gd-stitle span { font-size: 21px; }
    .gd-stitle::before { width: 5px; height: 24px; }
    .gd-section { margin-top: 44px; }
    .gd-section:first-of-type { margin-top: 34px; }
    .gd-cards { grid-template-columns: 1fr; gap: 12px; margin-top: 32px; }
    .gd-card { padding: 22px 18px 20px; }
    .gd-card__num { min-width: 38px; height: 38px; font-size: 15px; border-radius: 10px; }
    .gd-card__tit { font-size: 17px; margin-top: 14px; }
    .gd-card__desc { font-size: 15px; }
    .gd-tablewrap { border-radius: 12px; }
    .gd-table th { font-size: 14px; padding: 12px 8px; }
    .gd-table td { font-size: 14px; padding: 12px 10px; }
    .gd-table thead th.gd-th-cat { width: 76px; }
    .gd-table .gd-cat { font-size: 14px; }
    .gd-table .gd-full { font-size: 15px; }
    .gd-ilist li { padding-left: 14px; }
    .gd-summary { margin-top: 22px; }
    .gd-summary__tit { font-size: 19px; }
    .gd-summary__tit em { font-size: 13px; }
    .gd-table--sm td { font-size: 15px; padding: 14px 12px; }
    .gd-table--sm .gd-total { font-size: 17px; }
    .gd-check li { font-size: 16px; padding: 18px 18px 18px 46px; }
    .gd-check li::before { left: 16px; top: 20px; width: 18px; height: 18px; }
    .gd-check li::after { left: 22px; top: 24px; width: 6px; height: 9px; }
    .gd-contact { gap: 14px; }
    .gd-contact__item { padding: 24px 20px; gap: 16px; border-radius: 16px; }
    .gd-contact__icon { flex: 0 0 64px; width: 64px; height: 64px; }
    .gd-contact__icon svg { width: 32px; height: 32px; }
    .gd-contact__role { font-size: 15px; }
    .gd-contact__name { font-size: 20px; margin-bottom: 16px; }
    .gd-contact__row { font-size: 15px; gap: 8px; }
    .gd-contact__row b { flex: 0 0 66px; }
    .gd-notice { margin: 26px auto 44px; padding: 18px 18px 18px 52px; font-size: 15px; line-height: 1.65; }
    .gd-notice::before { left: 18px; }
}
@media (max-width: 500px) {
    .gd-stitle span { font-size: 18px; }
    .gd-stitle::before { height: 20px; }
    .gd-card { padding: 20px 16px 18px; }
    .gd-card__num { min-width: 34px; height: 34px; font-size: 14px; }
    .gd-card__tit { font-size: 16px; }
    .gd-card__desc { font-size: 14px; }
    .gd-table th { font-size: 13px; padding: 10px 6px; }
    .gd-table td { font-size: 13px; padding: 10px 8px; }
    .gd-table .gd-cat { font-size: 13px; }
    .gd-table .gd-full { font-size: 14px; }
    .gd-summary__tit { font-size: 17px; }
    .gd-table--sm td { font-size: 14px; }
    .gd-table--sm .gd-total { font-size: 16px; }
    .gd-check li { font-size: 14px; padding: 16px 14px 16px 42px; }
    .gd-check li::before { left: 14px; top: 18px; width: 16px; height: 16px; }
    .gd-check li::after { left: 19px; top: 21px; }
    .gd-contact__item { padding: 20px 16px; gap: 12px; }
    .gd-contact__icon { flex: 0 0 54px; width: 54px; height: 54px; }
    .gd-contact__icon svg { width: 26px; height: 26px; }
    .gd-contact__role { font-size: 14px; }
    .gd-contact__name { font-size: 18px; margin-bottom: 12px; }
    .gd-contact__row { font-size: 14px; }
    .gd-contact__row b { flex: 0 0 58px; }
    .gd-notice { padding: 16px 14px 16px 46px; font-size: 14px; }
    .gd-notice::before { left: 15px; width: 21px; height: 21px; font-size: 13px; line-height: 21px; }
}


/* ============================================================================
   8-9. sub4_1~4_4 전공소개 공통 (#major, .mj-)
   ============================================================================ */
/* ==================== sub4: 전공영역 — 4개 전공소개 공통 ==================== */
#major { position: relative; }
#major .pc-only { display: inline; }
/* 공통 이미지 슬롯 : 사진 없을 때도 온브랜드 비주얼 유지 */
.mj-img { position: relative; overflow: hidden; background: radial-gradient(circle at 26% 18%, #2a4fb8, transparent 56%), radial-gradient(circle at 82% 86%, #45c5fd, transparent 52%), linear-gradient(135deg, #001550, #002279 70%); }

.mj-img__ph { position: absolute; inset: 0; z-index: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; }
.mj-img__ph svg { width: 54px; height: 54px; fill: none; stroke: rgba(127,216,255,.8); stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; }
.mj-img__ph span { font-size: 16px; font-weight: 700; letter-spacing: 3px; color: rgba(127,216,255,.8); }
.mj-img img { position: absolute; inset: 0; z-index: 2; width: 100%; height: 100%; object-fit: cover; }

/* ---------- 인트로 (좌 텍스트 / 우 피처 이미지) ---------- */
.mj-intro { display: grid; grid-template-columns: 1.04fr .96fr; gap: 64px; align-items: center; }
.mj-intro__eyebrow { display: inline-flex; align-items: center; gap: 12px; font-size: 16px; font-weight: 700; letter-spacing: 3px; color: #1f53c4; margin-bottom: 22px; }
.mj-intro__eyebrow::before { content: ''; width: 36px; height: 2px; background: #45c5fd; }
.mj-intro__title { font-size: 50px; font-weight: 800; line-height: 1.2; letter-spacing: -1.8px; color: var(--c-ink); margin: 0; word-break: keep-all; }
.mj-intro__title b { color: #002279; font-weight: 800; }
.mj-intro__eng { display: inline-flex; align-items: center; gap: 12px; margin: 0 0 20px; font-size: 18px; font-weight: 600; letter-spacing: 2px; color: #9aa3b5; text-transform: uppercase; }
.mj-intro__eng b { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; height: 32px; padding: 0 9px; font-size: 16px; font-weight: 800; letter-spacing: 1px; color: #fff; background: linear-gradient(135deg, #002279, #1a3aa3); border-radius: 7px; }
.mj-intro__lead { position: relative; margin: 30px 0 0; padding-left: 22px; font-size: 21px; line-height: 1.8; color: #3a4658; letter-spacing: -.3px; word-break: keep-all; }
.mj-intro__lead::before { content: ''; position: absolute; left: 0; top: 6px; bottom: 6px; width: 4px; border-radius: 3px; background: linear-gradient(#002279, #45c5fd); }

/* 인트로 메타 (대표 과목 / 교수진 — 태그형) */
.mj-meta { margin: 34px 0 0; padding: 0; border-top: 1px solid var(--c-line); }
.mj-meta__row { display: flex; align-items: center; gap: 22px; padding: 18px 2px; border-bottom: 1px solid var(--c-line); }
.mj-meta__row dt { flex: 0 0 88px; font-size: 20px; font-weight: 800; letter-spacing: .3px; color: #1f53c4; }
.mj-meta__row dd { margin: 0; display: flex; flex-wrap: wrap; gap: 9px; }
.mj-tag { display: inline-flex; align-items: center; gap: 9px; padding: 10px 20px; font-size: 17px; font-weight: 600; color: #1f3a78; background: #eef3fc; border: 1px solid #e2eaf7; border-radius: 10px; letter-spacing: -.2px; transition: background .3s ease, border-color .3s ease; }
.mj-tag::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: #45c5fd; }

.mj-meta__row.prof .mj-tag{flex-direction: column; transition:all 0.4s ease;}
.mj-meta__row.prof .mj-tag::before{display: none;}
.mj-meta__row.prof .mj-tag .img_box{overflow: hidden; width: 90px; height: 90px; border-radius: 50%; overflow: hidden;}
.mj-meta__row.prof .mj-tag .img_box img{width: 100%; height: 100%; object-fit: cover; display: block;}
.mj-meta__row.prof .mj-tag:hover {transform: translateY(-5px); background: #e4eefc; border-color: #cdddf7; }

.mj-figure { border-radius: 24px; aspect-ratio: 5 / 4; box-shadow: 0 30px 60px -32px rgba(0,34,121,.45); }
.mj-figure__badge { position: absolute; z-index: 3; left: 22px; bottom: 22px; display: inline-flex; align-items: center; gap: 10px; padding: 11px 20px; font-size: 16px; font-weight: 700; color: #002279; background: rgba(255,255,255,.92); border-radius: 30px; box-shadow: 0 12px 26px -10px rgba(0,0,0,.3); backdrop-filter: blur(4px); }
.mj-figure__badge::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: #45c5fd; }

/* ---------- 개요 / 교육 목표 (디테일 카드) ---------- */
.mj-about { display: grid; grid-template-columns: 1fr; gap: 22px; margin: 100px 0; }
.mj-about__card { position: relative; overflow: hidden; padding: 44px 42px 40px; background: #fafbfd; border: 1px solid var(--c-line); border-radius: 22px; transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease; }
.mj-about__card::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 4px; background: linear-gradient(90deg, #002279, #45c5fd); }
.mj-about__card::after { content: ''; position: absolute; right: -60px; bottom: -60px; width: 190px; height: 190px; border-radius: 50%; background: radial-gradient(circle, rgba(69,197,253,.13), transparent 70%); pointer-events: none; }
.mj-about__card:hover { transform: translateY(-4px); border-color: #d6e1f3; box-shadow: 0 24px 50px -32px rgba(0,34,121,.3); }
.mj-about__icon { position: relative; z-index: 1; display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; border-radius: 18px; background: linear-gradient(135deg, #002279, #1a3aa3); box-shadow: 0 14px 28px -10px rgba(0,34,121,.45); margin-bottom: 24px; }
.mj-about__icon svg { width: 32px; height: 32px; fill: none; stroke: #7fd8ff; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.mj-about__label { position: relative; z-index: 1; display: flex; align-items: baseline; gap: 12px; margin-bottom: 8px; }
.mj-about__label b {font-size: 30px;font-weight: 800;color: #002279;letter-spacing: -.5px;}
.mj-about__label em {font-style: normal;font-size: 18px;font-weight: 600;letter-spacing: 1.5px;color: #aab2c4;text-transform: uppercase;}
.mj-about__text { position: relative; z-index: 1; font-size: 20px;line-height: 1.7;color: #4a5468;letter-spacing: -.3px;margin: 0; word-break: keep-all;}
.mj-about__text b { color: #1f53c4; font-weight: 700; }
.mj-about__keys { position: relative; z-index: 1; list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 26px 0 0; padding: 24px 0 0; border-top: 1px dashed #d8e0ee; }
.mj-about__keys li { display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; font-size: 17px; font-weight: 600; color: #1f53c4; background: #fff; border: 1px solid #e2eaf7; border-radius: 8px; letter-spacing: -.2px; }
.mj-about__keys li::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: #45c5fd; }

/* ---------- 섹션 헤더 ---------- */
.mj-sec {}
.mj-shead { display: flex; align-items: baseline; gap: 16px; margin: 0 0 26px; }
.mj-shead h3 { font-size: 38px; font-weight: 800; color: #002279; letter-spacing: -.6px; margin: 0; }
.mj-shead span {font-size: 17px;font-weight: 700;letter-spacing: 2px;color: #45c5fd;text-transform: uppercase;}
.mj-shead::after { content: ''; flex: 1; height: 1px; background: var(--c-line); align-self: center; }

/* ---------- 핵심 분야 (일러스트 카드 3컷) ---------- */
.mj-focus { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.mj-fcard { position: relative; overflow: hidden; padding: 30px 30px 36px; background: linear-gradient(180deg, #ffffff 0%, #eef4fc 100%); border: 1px solid #e7eef8; border-radius: 24px; box-shadow: 0 18px 44px -34px rgba(0,34,121,.3); transition: transform .4s ease, box-shadow .4s ease, border-color .4s ease; }
.mj-fcard::before { content: ''; position: absolute; z-index: 0; top: -60px; left: 50%; transform: translateX(-50%); width: 300px; height: 280px; border-radius: 50%; background: radial-gradient(circle, rgba(120,170,255,.18), transparent 64%); pointer-events: none; }
.mj-fcard:hover { transform: translateY(-8px); box-shadow: 0 34px 62px -32px rgba(0,34,121,.34); border-color: #d2e1f7; }
/* 상단 : 번호 + 점 패턴 */
.mj-fcard__top { position: relative; z-index: 2; display: flex; align-items: flex-start; justify-content: space-between; }
.mj-fcard__no { display: inline-flex; align-items: center; gap: 12px; font-size: 22px; font-weight: 800; color: #1f3a78; letter-spacing: 1px; }
.mj-fcard__dots { width: 46px; height: 34px; background-image: radial-gradient(#cdd9ef 1.5px, transparent 1.6px); background-size: 10px 9px; opacity: .65; }
.mj-fcard__illust { position: relative; z-index: 1; height: 232px; margin: 10px 0 24px; display: flex; align-items: center; justify-content: center; }
.mj-fcard__illust::after {content: '';position: absolute;z-index: 1;bottom: -7px;left: 50%;transform: translateX(-50%);width: 140px;height: 22px;border-radius: 50%;background: radial-gradient(ellipse at center, rgba(31,58,120,.18), transparent 70%);filter: blur(3px);transition: width .4s ease, opacity .4s ease;}
.mj-fcard:hover .mj-fcard__illust::after { width: 116px; opacity: .75; }
.mj-fcard__ph { position: absolute; z-index: 2; display: flex; align-items: center; justify-content: center; }
.mj-fcard__ph svg { width: 74px; height: 74px; fill: none; stroke: #b9c6e4; stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; }
.mj-fcard__illust img { position: relative; z-index: 2; max-width: 82%; max-height: 100%; object-fit: contain; transition: transform .45s ease; }
.mj-fcard:hover .mj-fcard__illust img { transform: translateY(-9px); }
/* 본문 */
.mj-fcard__tit { position: relative; z-index: 2; font-size: 25px; font-weight: 800; color: #002279; letter-spacing: -.5px; margin: 0; }
.mj-fcard__bar { position: relative; z-index: 2; display: block; width: 30px; height: 4px; margin: 14px 0 16px; border-radius: 3px; background: linear-gradient(90deg, #002279, #45c5fd); }
.mj-fcard__desc { position: relative; z-index: 2; font-size: 18px; line-height: 1.7; color: #5b6680; letter-spacing: -.3px; margin: 0; word-break: keep-all; }

/* ---------- sub4_1~4_4 반응형 (1600 / 1400 / 1200 / 1024 / 768 / 500) ---------- */
@media (max-width: 1600px) {
    .mj-intro { gap: 56px; }
    .mj-intro__title { font-size: 46px; }
    .mj-intro__lead { font-size: 20px; }
    .mj-meta__row dt { font-size: 19px; }
    .mj-tag { font-size: 16px; padding: 10px 18px; }
    .mj-meta__row.prof .mj-tag .img_box { width: 84px; height: 84px; }
    .mj-about { margin: 90px 0; }
    .mj-about__card { padding: 40px 38px 36px; }
    .mj-about__label b { font-size: 28px; }
    .mj-about__text { font-size: 19px; }
    .mj-about__keys li { font-size: 16px; }
    .mj-shead h3 { font-size: 35px; }
    .mj-focus { gap: 20px; }
    .mj-fcard { padding: 28px 26px 32px; }
    .mj-fcard__illust { height: 210px; }
    .mj-fcard__tit { font-size: 23px; }
    .mj-fcard__desc { font-size: 17px; }
}
@media (max-width: 1400px) {
    .mj-intro { gap: 46px; }
    .mj-intro__eyebrow { font-size: 15px; margin-bottom: 18px; }
    .mj-intro__title { font-size: 41px; }
    .mj-intro__eng { font-size: 17px; }
    .mj-intro__lead { font-size: 19px; padding-left: 20px; margin-top: 26px; }
    .mj-meta { margin-top: 30px; }
    .mj-meta__row { gap: 18px; padding: 16px 2px; }
    .mj-meta__row dt { flex: 0 0 80px; font-size: 18px; }
    .mj-tag { font-size: 16px; padding: 9px 16px; }
    .mj-meta__row.prof .mj-tag .img_box { width: 78px; height: 78px; }
    .mj-figure__badge { font-size: 15px; padding: 10px 18px; }
    .mj-about { gap: 20px; margin: 80px 0; }
    .mj-about__card { padding: 36px 32px 32px; }
    .mj-about__icon { width: 58px; height: 58px; margin-bottom: 20px; }
    .mj-about__icon svg { width: 30px; height: 30px; }
    .mj-about__label b { font-size: 26px; }
    .mj-about__label em { font-size: 16px; }
    .mj-about__text { font-size: 18px; }
    .mj-about__keys { margin-top: 22px; padding-top: 20px; }
    .mj-about__keys li { font-size: 15px; padding: 8px 14px; }
    .mj-shead { margin-bottom: 22px; }
    .mj-shead h3 { font-size: 32px; }
    .mj-shead span { font-size: 16px; }
    .mj-focus { gap: 18px; }
    .mj-fcard { padding: 26px 24px 30px; }
    .mj-fcard__no { font-size: 20px; }
    .mj-fcard__dots { width: 42px; height: 30px; }
    .mj-fcard__illust { height: 190px; margin: 8px 0 20px; }
    .mj-fcard__ph svg { width: 64px; height: 64px; }
    .mj-fcard__tit { font-size: 22px; }
    .mj-fcard__desc { font-size: 16px; }
}
@media (max-width: 1200px) {
    .mj-intro { gap: 36px; }
    .mj-intro__title { font-size: 36px; }
    .mj-intro__eng { font-size: 16px; }
    .mj-intro__lead { font-size: 18px; }
    .mj-meta__row dt { flex: 0 0 74px; font-size: 17px; }
    .mj-tag { font-size: 15px; padding: 8px 14px; }
    .mj-meta__row.prof .mj-tag .img_box { width: 70px; height: 70px; }
    .mj-about { margin: 70px 0; }
    .mj-about__card { padding: 32px 28px 30px; }
    .mj-about__icon { width: 54px; height: 54px; border-radius: 16px; margin-bottom: 18px; }
    .mj-about__icon svg { width: 28px; height: 28px; }
    .mj-about__label b { font-size: 24px; }
    .mj-about__label em { font-size: 15px; }
    .mj-about__text { font-size: 17px; }
    .mj-about__keys li { font-size: 14px; }
    .mj-shead h3 { font-size: 29px; }
    .mj-shead span { font-size: 15px; }
    .mj-focus { gap: 16px; }
    .mj-fcard { padding: 24px 20px 28px; }
    .mj-fcard__no { font-size: 19px; }
    .mj-fcard__illust { height: 170px; }
    .mj-fcard__ph svg { width: 58px; height: 58px; }
    .mj-fcard__tit { font-size: 20px; }
    .mj-fcard__desc { font-size: 15px; }
}
@media (max-width: 1024px) {
    .mj-intro { grid-template-columns: 1fr; gap: 32px; }
    .mj-intro__title { font-size: 36px; }
    .mj-figure { aspect-ratio: 16 / 10; }
    .mj-about { grid-template-columns: 1fr; margin: 60px 0 70px; }
    .mj-about__card { padding: 30px 26px 28px; }
    .mj-focus { grid-template-columns: 1fr; gap: 16px; }
    .mj-fcard__illust { height: 220px; }
    .mj-sec { margin-top: 60px; }
    .mj-shead h3 { font-size: 27px; }
}
@media (max-width: 768px) {
    #major .pc-only { display: none; }
    .mj-intro { gap: 26px; }
    .mj-intro__eyebrow { font-size: 14px; letter-spacing: 2px; margin-bottom: 14px; }
    .mj-intro__title { font-size: 28px; letter-spacing: -1px; }
    .mj-intro__eng { font-size: 15px; margin-bottom: 16px; }
    .mj-intro__eng b { min-width: 28px; height: 28px; font-size: 14px; }
    .mj-intro__lead { font-size: 16px; padding-left: 16px; margin-top: 24px; }
    .mj-meta { margin-top: 26px; }
    .mj-meta__row { flex-direction: column; align-items: flex-start; gap: 10px; padding: 16px 2px; }
    .mj-meta__row dt { flex: 0 0 auto; font-size: 16px; }
    .mj-tag { font-size: 14px; padding: 8px 14px; }
    .mj-meta__row.prof .mj-tag .img_box { width: 64px; height: 64px; }
    .mj-figure { border-radius: 18px; }
    .mj-figure__badge { left: 14px; bottom: 14px; padding: 8px 14px; font-size: 13px; }
    .mj-img__ph svg { width: 44px; height: 44px; }
    .mj-img__ph span { font-size: 14px; }
    .mj-about { gap: 16px; margin: 46px 0 56px; }
    .mj-about__card { padding: 26px 20px 24px; border-radius: 18px; }
    .mj-about__icon { width: 48px; height: 48px; border-radius: 14px; margin-bottom: 16px; }
    .mj-about__icon svg { width: 24px; height: 24px; }
    .mj-about__label b { font-size: 20px; }
    .mj-about__label em { font-size: 13px; }
    .mj-about__text { font-size: 15px; }
    .mj-about__keys { margin-top: 18px; padding-top: 16px; }
    .mj-about__keys li { font-size: 13px; padding: 7px 12px; }
    .mj-sec { margin-top: 46px; }
    .mj-shead { gap: 10px; margin-bottom: 18px; }
    .mj-shead h3 { font-size: 22px; }
    .mj-shead span { font-size: 13px; letter-spacing: 1px; }
    .mj-focus { gap: 14px; }
    .mj-fcard { padding: 22px 18px 26px; border-radius: 18px; }
    .mj-fcard__no { font-size: 18px; gap: 8px; }
    .mj-fcard__dots { width: 38px; height: 26px; }
    .mj-fcard__illust { height: 160px; margin: 6px 0 16px; }
    .mj-fcard__ph svg { width: 52px; height: 52px; }
    .mj-fcard__tit { font-size: 18px; }
    .mj-fcard__bar { margin: 12px 0 12px; }
    .mj-fcard__desc { font-size: 15px; }
}
@media (max-width: 500px) {
    .mj-intro__title { font-size: 24px; }
    .mj-intro__eng { font-size: 14px; }
    .mj-intro__lead { font-size: 15px; }
    .mj-meta__row dt { font-size: 15px; }
    .mj-tag { font-size: 13px; padding: 7px 12px; }
    .mj-meta__row.prof .mj-tag .img_box { width: 56px; height: 56px; }
    .mj-figure__badge { font-size: 12px; padding: 7px 12px; }
    .mj-about__card { padding: 22px 16px 20px; }
    .mj-about__icon { width: 44px; height: 44px; }
    .mj-about__icon svg { width: 22px; height: 22px; }
    .mj-about__label b { font-size: 18px; }
    .mj-about__label em { font-size: 12px; }
    .mj-about__text { font-size: 14px; }
    .mj-about__keys li { font-size: 12px; }
    .mj-shead h3 { font-size: 19px; }
    .mj-fcard { padding: 18px 14px 22px; }
    .mj-fcard__no { font-size: 16px; }
    .mj-fcard__illust { height: 130px; }
    .mj-fcard__ph svg { width: 44px; height: 44px; }
    .mj-fcard__tit { font-size: 16px; }
    .mj-fcard__desc { font-size: 14px; }
}


/* [정리 이력]
   2026-08-14 : 이전 사이트(사업단/대학원) 레거시 스타일 약 1,490줄 삭제.
                원본 전체는 sub.css.bak-260814 참고 (#About #MV #Talent #Curri #Support #Pro #SKD #BM 등)
   2026-08-19 : sub3_1(.cu-) / sub3_2(.gd-) / sub4_1~4_4(.mj-) 반응형을
                1600 / 1400 / 1200 / 1024 / 768 / 500 브레이크포인트로 재작성 (clamp 미사용, 단계별 고정값).
                직전 원본 백업: sub.css.bak-260819 */
