@charset "utf-8";

/* *******************************************************
 * filename : common.css
 * description : 
 * date : 2026-06-05
******************************************************** */

:root {   

    --b-color-gy-01:#888888;
    --b-color-gy-02:#aaaaaa;

	--b-line-01:#6d7277;
	--p-color-01:#96a9bc; 
	

	--s-color-ty-01:#009e23;
	--s-color-ty-02:#e6f7d4;
	--s-color-ty-03:#df2b2b;
	--s-color-ty-04:#ffeeee;
    
    
    --main-blue: #0d1f38; /* 딥네이비 */    
    --line-wh: #ffffff; /* 변수명 유지 */


    --wh: #ffffff;
    --bk: #000000;
    --text-dark: #222222;
    --orange: #f15922;
    --navy: #002b5c;
    --text-33: #333333;
    --text-66: #666666;
    --text-99: #999999;
    --line-wh: rgba(255, 255, 255, 0.15);
    --line-dark: rgba(0, 0, 0, 0.08);
    --bg-f8: #f8fafc;
}



/********************************************************************************************************************/
												/* 인트로 */
/********************************************************************************************************************/

.intro-container {
    position: relative;
    width: 100%;
    min-height: 100vh;
    background-color: #111;
    background: url('../images/intro/intro_img01.jpg') no-repeat center center;   
    background-size:cover;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: background-image 0.5s ease-in-out;
    overflow-x: hidden;
}

.intro-container::before {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(13, 31, 56, 0.45);
    z-index: 1;
}

.intro-header, .intro-content-wrap {position: relative; z-index: 10;}

/* HEADER */
#header.intro-header {width: 100%; padding:4rem; position:absolute; top:0; left:0; right:0; z-index:100;}
.header-inner {display: flex; justify-content: space-between; align-items:flex-start;}
.intro-header .logo-txt {display:block; /*width:31.6rem; height:4.4rem;*/ font-size:0; text-indent:-9999px;}

.util-wrap {display: flex; flex-direction: column; gap: .5rem;}
.btn-util {
    display: inline-block;
    width: 22rem;
    padding: 1.3rem 2rem;
    font-size: 1.5rem;
    color: #fff;
    text-align: left;
    border: 0.1rem solid var(--p-color-01);
    background: rgba(0, 0, 0, 0.4);
    border-radius: 0.8rem;
    transition: all 0.3s ease;
}
.btn-util .arrow {float: right; transition: transform 0.3s; font-size:0;}
.btn-util .arrow:before {
    content:'';
    display:block;
    width:2rem;
    height:1.8rem;
    background:url(../images/common/btn_arrow.svg) no-repeat center / 2rem auto;
}
.btn-util:hover {border-color:var(--wh); background: rgba(0, 0, 0, 0.6);}
.btn-util:hover .arrow {transform: translateX(0.4rem);}

/* MAIN CONTENT */
.intro-content-wrap {width: 100%; flex: 1; display: flex; align-items: center; padding: 0;}
.intro-inner {max-width: 1240px; margin: 0 auto; width: 100%; padding: 0 2rem; text-align: center;}
.title-group {margin-bottom: 7rem;}
.title-group .sub-title {font-size: 4.5rem; color: var(--orange); font-weight: 700; margin-bottom: 1.2rem;}
.title-group .main-title {font-size: 4.5rem; color: var(--wh); font-weight: 500;}

.card-grid-wrap {display: grid; grid-template-columns: repeat(3, 1fr); gap: 3rem;}
.intro-card {
    border: .2rem solid rgba(255, 255, 255, 0.5);
    border-radius: 2.8rem;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(5px);
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    text-align: left;
    cursor: pointer;
}
.card-inner {padding: 4.8rem; position: relative; height: 100%;}
.intro-card .card-title {font-size: 3.7rem; color: #fff; font-weight: 500; margin-bottom: 3rem;}
.intro-card[data-href] {cursor: pointer;}
.card-desc-list li {font-size: 1.8rem; color: rgba(255, 255, 255, 0.8); line-height: 1.8; position: relative;}
.card-arrow {position: absolute; bottom: 5rem; right: 5rem; width: 3rem; height: 3rem; background:url(../images/common/btn_arrow.svg) no-repeat center / 3rem auto; transition: all 0.3s;}
.intro-card:hover {background: color-mix(in srgb, var(--orange) 50%, transparent); border-color: rgba(255, 255, 255, 1); transform: translateY(-5px);}
.intro-card:hover .card-arrow {right: 3rem;}

/* FOOTER */
.intro-footer { padding: 2rem 0; background: #03182b; z-index: 2; }
.intro-footer .inner { position:relative; }

/* ==========================================================================
    [공통] layout
========================================================================== */
body { min-width: 32rem; overflow-x: hidden; background: #fff; }
html.is-menu-open,
body.is-menu-open { overflow: hidden; }
#container { background: #fff; }
.inner { margin:0 auto; padding:0 4rem; }
.inner.narrow { max-width: 180rem; padding:0; } 


/* ==========================================================================
    [공통] header
========================================================================== */

#header { position: fixed; top: 0; left: 0; width: 100%; z-index: 1000; background-color: transparent; transition: background-color 0.3s ease, box-shadow 0.3s ease; }


/* top-links */
.header-top { background: rgba(51, 51, 51, 0.6); transition: transform 0.3s ease, opacity 0.3s ease; }
.header-top .inner { display: flex; justify-content: flex-start; align-items: center; }
.top-links { display: flex; align-items: center; height:3.8rem; }
.top-links li { padding: 0 1.2rem; position:relative;}
.top-links li::before, .top-links li::after {content:''; display:block; width:0.1rem; height:1.1rem; position:absolute; top:50%; transform:translateY(-50%); } 
.top-links li::before {background-color:#222930; left:0;}
.top-links li::after {background-color:#5a5f66; left:0.1rem;}
.top-links li:first-of-type { margin-left:0; }
.top-links li:first-of-type::before, .top-links li:first-of-type::after {display:none;} 

.top-links a { color: #aaa; font-size: 1.6rem; font-weight: 400; transition: color 0.2s; }
.top-links a:hover { color: var(--wh); }

/* GNB */
.header-main { height: 7.5rem; transition: transform 0.3s ease, height 0.3s ease; background: transparent; }
.header-main .inner { display: flex; justify-content: space-between; align-items: center; }

.logo { width:28.2rem;  height: auto;  aspect-ratio: 282 / 44; z-index: 1010; }
.logo a { display: block; width: 100%; height: 100%; background:url(../images/main/logo.png) no-repeat center / contain; text-indent:-9999px; overflow: hidden; }
.logo a.visual { background-image:url(../images/main/logo_wh.png); }
.logo a img { display: none; }

.gnb-wrap { height: 100%; display: flex; align-items: center; }
.gnb-list { display: flex; gap: clamp(3.2rem, 3.2vw, 6.8rem); height: 100%; align-items: center; }
.gnb-list > li { height: 7.5rem; display: flex; align-items: center; position: initial; }
.gnb-list > li > a { color: var(--wh); font-size: 2rem; font-weight: 700; transition: color 0.2s; display: block; position: relative; font-size: 2rem;}
.gnb-list > li > a::after { content: ''; position: absolute; bottom: -1rem; left: 50%; transform: translateX(-50%); width: 0; height: 0.3rem; background: var(--orange); transition: width 0.2s; }
.gnb-list > li:hover > a { color: var(--orange); }
.gnb-list > li:hover > a::after { width: 100%; }

.btn-hamburger { width: 3.2rem; height: 3.2rem; display: flex; align-items: center; justify-content: center; position: relative; z-index: 1010; padding: 0; border: 0; color: var(--wh); background: none; cursor: pointer; }
.btn-hamburger .hamburger-icon { display: block; width: 100%; height: 100%; overflow: visible; }
.btn-hamburger .hamburger-line { fill: none; stroke: var(--wh); stroke-width: 66.6667; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 133.3333; transform-box: fill-box; transform-origin: right center; transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1); }
.btn-hamburger .line-top { transform: translateX(0) scaleX(1); }
.btn-hamburger .line-mid { transform: translateX(0); }
.btn-hamburger .line-bottom { transform: translateX(0) }
.btn-hamburger:hover .line-top,
.btn-hamburger:focus-visible .line-top { transform: translateX(0)  }
.btn-hamburger:hover .line-mid,
.btn-hamburger:focus-visible .line-mid { transform: translateX(0) scaleX(0.5); }
.btn-hamburger:hover .line-bottom,
.btn-hamburger:focus-visible .line-bottom { transform: translateX(0) scaleX(1.7); }
.btn-hamburger:focus-visible { outline: 0.2rem solid var(--orange); outline-offset: 0.8rem; }

@media (prefers-reduced-motion: reduce) {
    .btn-hamburger .hamburger-line,
    .depth-type-wrap,
    .m-acc > button::after,
    .m-acc ul { transition: none; }
} 


/* 스크롤 작동 시 변환 클래스 (.is-scaled-header) */
#header.is-scaled-header { background: var(--wh) !important; box-shadow: 0 0.4rem 2rem rgba(0, 0, 0, 0.06); border-bottom: 0.1rem solid var(--line-dark); }
#header.is-scaled-header .header-top { transform: translateY(-4rem); opacity: 0; pointer-events: none; display: none; }
#header.is-scaled-header .header-main { transform: none; height: 8rem; background: var(--wh); }
#header.is-scaled-header .logo img { filter: none; }
#header.is-scaled-header .gnb-list > li > a { color: var(--text-33); }
#header.is-scaled-header .gnb-list > li:hover > a { color: var(--orange); }
#header.is-scaled-header .btn-hamburger { color: var(--wh); }
#header.is-scaled-header .btn-hamburger .hamburger-line { stroke: var(--bk);}


/* 비주얼 영역 내 호버 인터랙션 가드 */
#header.is-hover-visual:not(.is-scaled-header) .gnb-list > li > a { color: rgba(255,255,255,0.7); }
#header.is-hover-visual:not(.is-scaled-header) .gnb-list > li:hover > a { color: var(--orange); }


/* --------------------------------------------------------------------------
    GNB 2DEPTH 
-------------------------------------------------------------------------- */
.depth-type-wrap {
    --depth-panel-width: clamp(32rem, 26.98vw, 51.8rem);
    --depth-inner-gutter: max(0rem, calc((100% - 192rem) / 2));
    --depth-orange-edge: calc(var(--depth-inner-gutter) + var(--depth-panel-width));
    position: absolute; top: 12.8rem; left: 0; width: 100%;
    background: linear-gradient(90deg, #f2602c 0%, #f3a612 var(--depth-orange-edge), var(--wh) var(--depth-orange-edge), var(--wh) 100%);
    box-shadow: 0 1.5rem 3rem rgba(0,0,0,0.05); opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-1.4rem); transition: none; z-index: 999;
}

#header.is-scaled-header .depth-type-wrap { top: 7rem; }
.gnb-list > li:hover .depth-type-wrap,
.gnb-list > li:focus-within .depth-type-wrap {
    opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0);
    transition: opacity 0.2s ease, transform 0.24s cubic-bezier(0.22, 1, 0.36, 1);
}
.gnb-list:hover > li:focus-within:not(:hover) .depth-type-wrap {
    opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-1.4rem); transition: none;
}

.depth-type-inner { display: flex; max-width: 192rem; margin: 0 auto; min-height: 20.6rem; align-items: stretch; }

.depth-orange-panel {
    width:51.8rem; background: transparent;
    padding:4.5rem 3.5rem 0 0; display: flex; align-items: flex-start; justify-content: flex-end;  position: relative;
}

.depth-orange-panel::before {
    content: ''; position: absolute; left:0; top:0; background:url(../images/main/ico_org_pannel_bg.png) no-repeat top 5.6rem center;
    width:100%; height:100%;
}
.depth-orange-panel h3 { font-size: 3rem; font-weight: 800; color: var(--wh); letter-spacing: -0.05rem; }

.depth-grid-panel { flex: 1; padding: 3.5rem 4.5rem; display: flex; flex-direction: column; gap: 0.1rem; }

.mega-row-line { display: flex; width: 100%; align-items: center; padding: 1.2rem 0; border-bottom: 0.1rem solid #ddd; text-align:left; }
.mega-row-line h4 { width: 20rem; font-size: 1.4rem; font-weight: 800; color: var(--text-33); padding-right: 2rem; position: relative; }
.mega-row-line h4 span { display:block; font-size: 1.3rem; color: var(--text-99); font-weight: 400; margin-top: 0.2rem; }

.mega-row-links { flex: 1; display: flex; flex-wrap: wrap; gap: 1rem 5rem; align-items: center; }
.mega-row-links li a { font-size: 1.5rem; color: var(--text-66); font-weight: 600; transition: color 0.2s; display: inline-block; }
.mega-row-links li a::before { content: '-'; margin-right: 0.5rem; color: #ccc; }
.mega-row-links li a:hover { color: var(--orange); }
.mega-row-links li.active-point a { color: var(--orange); font-weight: 700; }


@supports (width: clamp(1rem, 1vw, 2rem)) {    
    .logo { width: clamp(22rem, 16.4583vw, 31.6rem);}
    .gnb-list > li > a { font-size: clamp(1.3rem, 1.0417vw, 2rem); }
    .top-links a { font-size: clamp(1.2rem, 0.8333vw, 1.6rem); }

    .inner.narrow { max-width: clamp(96rem, 67.7083vw, 180rem); }
    .depth-orange-panel { width: clamp(32rem, 26.98vw, 51.8rem); padding: clamp(2.8rem, 2.35vw, 4.5rem) clamp(2rem, 1.82vw, 3.5rem) 0 0; }
    .depth-orange-panel h3 { font-size: clamp(1.6rem, 1.1458vw, 3rem); }
    .depth-grid-panel { padding: clamp(2.4rem, 1.8229vw, 3.5rem) clamp(3rem, 2.3438vw, 4.5rem); }

    .mega-row-links { gap: clamp(0.6rem, 0.5208vw, 1rem) clamp(3rem, 2.6042vw, 5rem); }
    .mega-row-line h4  { width: clamp(18rem, 11.9792vw, 23rem); font-size: clamp(1.4rem, 0.9375vw, 1.8rem); }
    .mega-row-links li a { font-size: clamp(1.3rem, 0.78125vw, 1.5rem); }
    .mega-row-line h4 span { font-size: clamp(1.2rem, 0.6771vw, 1.3rem); } 
}  


/* ==========================================================================
    [공통] 우측 STICKY QUICK MENU
    ========================================================================== */
.quick-menu {
    position: fixed; right:1rem; bottom:2.4rem; z-index: 500;
    width: 9.6rem; border-radius: 1rem; overflow: hidden;
    box-shadow: -0.4rem 0.8rem 2.4rem rgba(0, 0, 0, 0.12); transition: all 0.3s ease;
}
.quick-title { background: var(--wh); text-align: center; display:flex; align-items: center; justify-content:center;  }
.quick-title span { color: var(--orange); font-size: 1.4rem; font-weight: 800; line-height: 1.25; display: block; }
.quick-list { background: linear-gradient(180deg, #f2612d 0%, #f39c17 100%);  }
.quick-list li a { display: flex; align-items: center; justify-content: center; height: 4.6rem; color: var(--wh); font-size: 1.4rem; font-weight:400; text-align: center; line-height: 1.25; }
.quick-list li a:hover { color:var(--text-dark); } 
.quick-list li.li-top a { height: 5rem; font-size: 0; text-indent:-9999px; border-top: 0.1rem solid rgba(255,255,255,0.3); }
.quick-list li.li-top a::after {content:''; display:block; width: 1.7rem; height:1.3rem; background:url(../images/main/quick_arrow_up.svg) no-repeat center / cover;} 
.quick-menu.is-dark { box-shadow: -0.4rem 0.4rem 2rem rgba(0, 0, 0, 0.06); border:0.1rem solid #ccc; }
.quick-menu.is-dark .quick-title { background:#f15922;}
.quick-menu.is-dark .quick-title span { color:var(--wh);}
.quick-menu.is-dark .quick-list { background: var(--wh); }
.quick-menu.is-dark .quick-list li a { color: var(--text-33); }
.quick-menu.is-dark .quick-list li a:hover { color: var(--orange); }
.quick-menu.is-dark .quick-list li.li-top a { color: var(--text-66); border-top: 0.1rem solid #eee; }
.quick-menu.is-dark .quick-list li.li-top a::after {content:''; display:block; width: 1.7rem; height:1.3rem; background:url(../images/main/quick_arrow_up_gr.svg) no-repeat center / cover;} 


/* ==========================================================================
    MAIN VISUAL 
    ========================================================================== */
.main-visual { position: relative; width: 100%; height: 100vh; min-height: 75rem; background: #000000; overflow: hidden; }
.visual-slide { position: absolute; top: 0; left: 0; width: 100%; height: 100%; touch-action: pan-y; cursor: grab; user-select: none; }
.visual-slide .slick-list,
.visual-slide .slick-track { height: 100%; }
.visual-slide .slick-list { overflow: hidden; }
.visual-slide .slick-track { display: flex; }
.visual-slide .slick-slide { float: none; height: 100%; min-height: 1px; }
.visual-slide .slick-slide > div { height: 100%; }
.slide-img { width: 100%; height: 100%; background-size: cover; background-position: center; }
.visual-slide.slick-initialized .slick-slide { overflow: hidden; }
.visual-slide.slick-initialized:active { cursor: grabbing; }
.main-visual::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to bottom, rgba(0,0,0,0.4) 0%, rgba(0,0,0,0.15) 45%, rgba(0,0,0,0.6) 100%); z-index: 5; pointer-events: none; }

.visual-center { position: relative; z-index: 10; height: 100%; display: flex; align-items: center; padding-bottom: 12rem; pointer-events: none; }
.visual-center .inner { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; width: 100%; }

.slide-ctrl-bar { position: absolute; bottom: 15rem; left: 4rem; display: flex; align-items: center; z-index: 30; pointer-events: auto; }
.slide-ctrl-bar .timeline-box { display: flex; align-items: center; gap: 1.4rem; margin-right: 2.5rem; }
.slide-ctrl-bar .timeline-box .num-now { font-size: 3.4rem; font-weight: 800; color: var(--wh); font-family: sans-serif; line-height: 1; }

.slide-ctrl-bar .timeline-box .line-bar { display: block; width: 13.5rem; height: 0.2rem; background-color: rgba(255,255,255,0.25); position: relative; overflow: hidden; }
.slide-ctrl-bar .timeline-box .line-bar .bar-gauge { position: absolute; top: 0; left: 0; height: 100%; width: 0%; background-color: var(--wh); display: block; }
.slide-ctrl-bar .timeline-box .num-total { display: flex; align-items: center; gap: 0.4rem; font-size: 2.2rem; font-weight: 600; color: rgba(255,255,255,0.7); font-family: sans-serif; line-height: 1; }
.btn-slide-action .pause-inner { font-size: 1.5rem; font-weight: 700; letter-spacing: -0.1rem; padding-right: 0.1rem; }

/* 하단 가변 정보 바 */
.visual-bottom { position: absolute; bottom: 0; left: 0; width: 100%; z-index: 20; background: rgba(13, 31, 56, 0.88); height: 12rem; border-top: 0.1rem solid rgba(255, 255, 255, 0.1); pointer-events: none; }
.visual-bottom .inner { padding: 0 4rem; height: 100%; }

.card-box { display: flex; width: 100%; height: 100%; align-items: center; justify-content: space-between; gap: 4rem; }
.card-item { display: flex; align-items: center; gap: 1.8rem; color: var(--wh); }
.card-item .icon-area { width: 4.6rem; height: 4.6rem; background: rgba(255,255,255,0.12); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.8rem; }
.card-item .txt-area { display: flex; flex-direction: column; }
.card-item .txt-area .top-lbl { font-size: 1.3rem; font-weight: 300;  margin-bottom: 0.2rem; letter-spacing: -0.03rem; }
.card-item .txt-area .main-lbl { font-size: 1.8rem; font-weight: 300; line-height: 1.35; letter-spacing: -0.05rem; }
.card-item.date-item .main-lbl { font-size: 2.8rem; font-weight: 400; color: var(--wh); }
.card-item.date-item .top-lbl { opacity: 0.85; font-weight: 400; color: rgba(255,255,255,0.9); }

.card-item.date-item { gap:2rem;}
.card-item.date-item::before { content:''; display:block; width:3.3rem; height:3.3rem; background:url(../images/main/ico_recruitment.png) no-repeat center / cover; } 

.card-box .r-area { display:flex; align-items:center; gap:6rem; }
.card-box .r-area .card-item {border-left:1px solid rgba(255,255,255,.5); padding-left:1.9rem; }
.card-box .r-area .card-item .txt-area .top-lbl,
.card-box .r-area .card-item .txt-area .main-lbl { font-size: 1.8rem; color: var(--wh); }
.card-box .r-area .card-item .txt-area .top-lbl { margin-bottom:1rem; }


.btn-apply-wrap { display: flex; align-items: center; }
.btn-apply { background: var(--wh); width: 14.6rem; height: 5rem; border-radius: 0.8rem; display: flex; align-items: center; justify-content: center; gap: 1.5rem; font-size: 1.8rem; font-weight: 800; color: var(--orange); transition: all 0.3s ease; pointer-events: auto; }
/* .btn-apply::after { content: '→'; font-size: 1.8rem; font-weight: 700; transition: transform 0.3s; } */
.btn-apply:hover { background: var(--orange); color: var(--wh); transform: translateY(-0.3rem); box-shadow: 0 1rem 2rem rgba(0,0,0,0.15); }
/* .btn-apply:hover::after { transform: translateX(0.5rem); } */


#header.is-scaled-header .header-main { height: 7rem; }
#header.is-scaled-header .gnb-list > li { height: 7rem; }

.slide-img { background-size: cover; background-position: center center; }
.visual-center { padding: 0; }
.slide-ctrl-bar { bottom: 11.4rem; left: 19.5rem; }
.slide-ctrl-bar .timeline-box .num-now,
.slide-ctrl-bar .timeline-box .num-total { font-size: 1.3rem; color: #fff; }
.slide-ctrl-bar .timeline-box .line-bar { width: 9rem; height: .1rem; }
.control-circles { display: flex; gap: .6rem; }

.btn-slide-action { width: 1.8rem; height: 1.8rem; color: #fff; font-size: 1.3rem; line-height: 1; }
.btn-slide-action span {color:var(--wh);}

.visual-bottom { height: 10rem; background: rgba(19, 29, 39, .52); border-top: 0; }
.visual-bottom .inner { padding: 0 14rem 0 4rem; }

.section-title { margin-bottom: 5.4rem; text-align: center; font-size: 4.5rem; line-height: 1.36; font-weight: 500; color: var(--text-dark); }
.section-title span { font-weight: 700; }
.section-title.white { color: var(--wh); }

/* 학위과정 전공 */
.section-major { padding: 11rem 0; }
.major-panel { position: relative; display: grid; grid-template-columns: repeat(6, 1fr); min-height: 44.5rem; border-radius: 1.2rem; overflow: visible; background: url(../images/main/major_panel_bg.jpg) no-repeat center 46% / cover; box-shadow: 0 1.8rem 3.8rem rgba(0,0,0,.13); }
.major-panel::before { content: ''; position: absolute; inset: 0; z-index: 0; border-radius: 1.2rem; background: rgba(0,0,0,0); }
.major-row { display: contents; }
.major-active-box { position: absolute; left: 0; top: -2rem; z-index: 1; width: 0; height: calc(100% + 4rem); border-radius: 1rem; background: linear-gradient(180deg, #ff6634 0%, #f6a400 100%); box-shadow: 0 1.6rem 2.6rem rgba(226,108,0,.35); opacity: 0; pointer-events: none; transform: translate3d(0,0,0); transition: transform .48s cubic-bezier(.22, 1, .36, 1), width .48s cubic-bezier(.22, 1, .36, 1), opacity .2s ease; }
.major-panel.is-ready .major-active-box { opacity: 1; }
.major-item { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; min-height: 28rem; padding: 3.6rem 1.4rem 3rem; text-align: center; transition: transform .36s cubic-bezier(.22, 1, .36, 1); }
.major-item::after {content:''; display:block; width:0.1rem; height:26.9rem; background-color: rgba(255,255,255,.2); position: absolute; right:0; bottom:4.5rem;}

.major-row-bottom .major-item:last-child,
.major-panel > .major-item:last-child { border-right: 0; }
.major-item.active,
.major-item.is-hover { border-color: transparent; transform: translateY(-.7rem); }

.major-title { margin-bottom: 6rem; color: #fff; font-size: 2.5rem; font-weight: 700; line-height: 1.25; transition: color .25s ease; }

.major-row-bottom .major-item:nth-child(2) .major-title,
.major-row-bottom .major-item:nth-child(3) .major-title {  }
.major-row-bottom .major-item:nth-child(2) .major-title::after,
.major-row-bottom .major-item:nth-child(3) .major-title::after { display: block; width:100%; position:absolute; left:50%; transform:translateX(-50%); color: #fff; font-size: 1.5rem; font-weight: 500; }
.major-row-bottom .major-item:nth-child(2) .major-title::after { content: '4년제 학위 1년 취득과정'; }
.major-row-bottom .major-item:nth-child(3) .major-title::after { content: '직장인 학위취득과정';  }


.major-group { width: 100%; ; }
.major-name { display: block; color: #f47d25; font-size: 2rem; font-weight: 700; line-height: 1.35; transition: color .25s ease; }

.major-item dt + dt { margin-top:3rem; }
.major-item dt + dd { margin:1.6rem 0 3.6rem; }

.sub-list li a {color:var(--wh); font-size: 1.6rem; font-weight: 400; line-height: 1.45; transition: color .25s ease;}
.major-name a:hover,
.sub-list li a:hover { color:#111; text-decoration: underline;}
.weekend-list { margin-top: .2rem; }
.weekend-list li { color: #f47d25; font-weight: 800; }
.major-item.active .major-title,
.major-item.active .major-name,
.major-item.active .sub-list li,
.major-item.is-hover .major-title,
.major-item.is-hover .major-name,
.major-item.is-hover .sub-list li { color: var(--wh); }


/* 숫자로 증명하는 동국대학교 */
.section-power { position: relative; padding: 0 0 11rem; overflow: hidden; background: url(../images/main/section_power_bg.jpg) no-repeat center bottom / cover; }
.stats-card { position: relative; padding: 2.5rem 9rem; border-radius: 1.2rem; background: #fff; box-shadow: 0 10rem 4rem rgba(0,0,0,.08); }
.stats-card .section-title { margin-bottom:10rem; }

.stats-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9rem 6.2rem; }
.stats-item { display: flex; align-items: center; min-width: 0; }
.stats-icon { flex: 0 0 8.7rem; display: flex; align-items: center; justify-content: center; width: 8.7rem; height: 8.7rem; margin-right: 2.1rem; border-radius: 50%; background: linear-gradient(180deg, #f7a600 0%, #f06d00 100%); }
.stats-icon::before { content:''; display:block; width:3rem; height:3rem; }
.stats-icon.type1::before { background:url(../images/main/ico_number_ty01.svg) no-repeat center / contain; }
.stats-icon.type2::before { background:url(../images/main/ico_number_ty02.svg) no-repeat center / contain; }
.stats-icon.type3::before { background:url(../images/main/ico_number_ty03.svg) no-repeat center / contain; }
.stats-icon.type4::before { background:url(../images/main/ico_number_ty04.svg) no-repeat center / contain; }
.stats-icon.type5::before { background:url(../images/main/ico_number_ty05.svg) no-repeat center / contain; }
.stats-icon.type6::before { background:url(../images/main/ico_number_ty06.svg) no-repeat center / contain; }
.stats-text { min-width: 0; }
.stats-number-row { display: flex; align-items: baseline; gap: .7rem; min-height: 4.7rem; white-space: nowrap; }
.stats-number-row strong { color: var(--text-dark); font-size: 4.7rem; line-height: 1; font-weight: 500; letter-spacing: -0.05rem; }
.stats-prefix,
.stats-suffix { color: #777; font-size: 1.8rem; line-height: 1.2; font-weight: 400; }
.stats-text p { margin-top: .8rem; color: #333; font-size: 1.8rem; line-height: 1.35; font-weight: 400; word-break: keep-all; }
.stats-date { margin-top: 3.4rem; color: #555; font-size: 1.4rem; line-height: 1.2; text-align: right; }

/* 메인 공지사항 */
.section-board { padding: 11rem 0; }
.board-tabs { position: relative; display: flex; justify-content: center; align-items: center; gap: 4.4rem; margin-bottom: 3.4rem; }
.board-tabs button { font-size:2.5rem; color:var(--text-dark); font-weight: 500; position: relative; transition: color .25s ease;}
.board-tabs-indicator { position: absolute; left: 0; bottom: -1.4rem; width: 0; height: .2rem; background: var(--orange); pointer-events: none; transform: translateX(0); transition: transform .28s ease, width .28s ease; }
.board-tabs button:hover,
.board-tabs button.active { color: var(--orange); }
.board-more {  font-size:0; text-indent: -9999px; }
.board-more::after {content: ''; display:block; width:2rem; height:2rem; background: url(../images/common/btn_plus.svg) no-repeat center / contain; transform: rotate(0deg); transform-origin: center center; transition: transform .35s ease;} 
.board-more:hover::after { transform: rotate(180deg); }
.board-pane { display: none; }
.board-pane.active { display: block; }
.notice-row { display: grid; grid-template-columns: 13.9rem 10rem 1fr 3rem; align-items: center; min-height: 14.3rem; border-bottom: .1rem solid #aaa; }
.notice-row .date { grid-column: 1; text-align: center; }
.notice-row .date b { display: block; color: #aaa; font-size: 4.8rem; line-height: 1; font-weight: 400; }
.notice-row .date em { display: block; color: #aaa; font-size: 1.8rem; }
.notice-row .tag { grid-column: 2; justify-self: start; padding: .4rem 2.35rem; border: .1rem solid #f15922; border-radius: 2rem; color: #f15922; font-size: 1.8rem; font-weight: 600; }
.notice-row strong { grid-column: 3; overflow: hidden; color: #333; font-size: 2rem; font-weight: 600; white-space: nowrap; text-overflow: ellipsis; }
.notice-row.no-tag strong,
.notice-row:not(:has(.tag)) strong { grid-column: 2 / 4; }
.notice-row i { grid-column: 4; display: flex; align-items: center; justify-content: center; width: 2.8rem; height: 2.8rem; border: .1rem solid #c5c5c5; border-radius: 50%; color: #c5c5c5; font-size: 1.7rem; transition: border-color .25s ease, color .25s ease, transform .25s ease; }
.notice-row:hover strong { text-decoration: underline; }
.notice-row:hover i { border-color: #f15a23; color: #f15a23; transform: translateX(.6rem); }
.notice-row:last-child { border-bottom:0; }

.schedule-box { display: grid; grid-template-columns: 14.7rem 1fr; margin-top: 2.5rem; border: .1rem solid #ddd; border-radius: 2rem; overflow: hidden; }
.schedule-date { display: flex; flex-direction: column; align-items: center; justify-content: center; gap:.5rem 0; min-height: 17rem; background: linear-gradient(135deg, #ff5a2a, #f5b000); color: #fff; }
.schedule-date b,
.schedule-date em { color: #fff; }
.schedule-date a {display: flex; align-items: center; justify-content: center;  margin-bottom:.5rem;}
.schedule-date a span { font-size: 0; text-indent: -9999px; display:block; width: 3rem; height:3rem;}
.schedule-date a span::after { content: ''; display: block; width: 100%; height: 100%; background:url(../images/common/btn_plus_wh.svg) no-repeat center / contain; transform: rotate(0deg); transform-origin: center center; transition: transform .35s ease; }
.schedule-date a:hover span::after { transform: rotate(180deg); }
.schedule-date b { font-size: 4.8rem; font-weight:400; line-height: 1; }
.schedule-date em { font-size: 1.8rem; }
.schedule-box ul { display: grid; grid-template-columns: repeat(4, 1fr); align-items: center; }
.schedule-box li { border-right: .1rem solid #eee; }
.schedule-box li:last-child { border-right: 0; }
.schedule-box li a { display: block; padding: 0 2.6rem; }
.schedule-box li span { display: block; color: #999; font-size: 1.8rem; }
.schedule-box li strong { display: block; margin-top: 1.8rem; color: #333; font-size: 2rem; font-weight: 600; }

/* 선배들의 합격 수기 */
.section-review { padding: 11rem 0; background: linear-gradient(120deg, #f26835, #facb18); overflow: hidden; position: relative;}
.section-review::before { content: ''; display:block; width:100%; height: 79rem; position:absolute; left:0; top:0; background:url(../images/main/section_review_bg.png) no-repeat center / contain; }

.review-list { position: relative; z-index: 1; margin: 0 -2rem; }
.review-list:not(.slick-initialized) { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4rem; margin: 0; }
.review-list .slick-list { overflow: hidden; }
.review-list .slick-track { display: flex; }
.review-list .slick-slide { display: block; float: none; height: auto; padding: 0 2rem; }
.review-list .slick-slide > div,
.review-slide { height: 100%; }
.review-card { position: relative; display: block !important; height: 100%; min-height: 36rem; padding: 4rem 3rem; border-radius: 1.8rem; background: #fff; box-shadow: 0 1.4rem 2.8rem rgba(0,0,0,.09); overflow: hidden; }
.review-card strong { display: block; color: #f15a24; font-size: 2.2rem; font-weight: 600; }
.review-card p { display: -webkit-box; overflow: hidden; height: 10.6rem; margin-top: 1.6rem; color: #555; font-size: 1.8rem; font-weight:400; line-height: 1.5; -webkit-line-clamp: 4; -webkit-box-orient: vertical; }
.review-card span { display: block; margin-top: 2.2rem; color: rgba(19,32,55,.34); font-size: 1.25rem; font-weight: 800; letter-spacing: .05rem; }
.review-card::after {content:''; position: absolute; right: -3.5rem; bottom: -5.5rem; width: 17rem; height:17rem; max-width: none; opacity: .78; pointer-events: none;}
.review-card strong,
.review-card p { position: relative; z-index: 1; }
.review-card-image { position: absolute; right: -3.5rem; bottom: -5.5rem; width: 17rem; height: 17rem; object-fit: contain; opacity: .78; pointer-events: none; }

.review-card.sejong::after {background: url(../images/university/sejong.svg) no-repeat center / cover;}                 /*세종대*/
.review-card.hanyang::after {background: url(../images/university/hanyang.png) no-repeat center / cover;}               /*한양대*/
.review-card.konkuk::after {background: url(../images/university/konkuk.png) no-repeat center / cover;}                 /*건국대*/
.review-card.myongji::after {background: url(../images/university/myongji.svg) no-repeat center / cover;}               /*명지대*/ 
.review-card.ajou::after {background: url(../images/university/ajou.svg) no-repeat center / cover;}                     /*아주대*/ 
.review-card.chungang::after {background: url(../images/university/chungang.svg) no-repeat center / cover;}             /*중앙대*/ 
.review-card.dongduk::after {background: url(../images/university/dongduk.svg) no-repeat center / cover;}               /*동덕여대*/ 
.review-card.dongguk::after {background: url(../images/university/dongguk.svg) no-repeat center / cover;}               /*동국대*/ 
.review-card.duksung::after {background: url(../images/university/duksung.svg) no-repeat center / cover;}               /*덕성대*/ 
.review-card.ewha::after {background: url(../images/university/ewha.png) no-repeat center / cover;}                     /*이화여대*/ 
.review-card.hanyang::after {background: url(../images/university/hanyang.png) no-repeat center / cover;}               /*한양대*/
.review-card.inha::after {background: url(../images/university/inha.svg) no-repeat center / cover;}                     /*인하대*/
.review-card.kaist::after {background: url(../images/university/kaist.png) no-repeat center / cover;}                   /*카이스트*/
.review-card.korea::after {background: url(../images/university/korea.svg) no-repeat center / cover;}                   /*고려대*/
.review-card.kyunghee::after {background: url(../images/university/kyunghee.svg) no-repeat center / cover;}             /*경희대*/
.review-card.ofseoul::after {background: url(../images/university/ofseoul.svg) no-repeat center / cover;}               /*서울시립대*/
.review-card.pohang::after {background: url(../images/university/pohang.png) no-repeat center / cover;}                 /*포항공대*/
.review-card.seoulwomens::after {background: url(../images/university/seoulwomens.svg) no-repeat center / cover;}       /*서울여대*/
.review-card.seoul::after {background: url(../images/university/seoul.png) no-repeat center / cover;}                   /*서울대*/
.review-card.sogang::after {background: url(../images/university/sogang.svg) no-repeat center / cover;}                 /*서강대*/
.review-card.sookmyung::after {background: url(../images/university/sookmyung.png) no-repeat center / cover;}           /*숙명여대*/
.review-card.sungkyunkwan::after {background: url(../images/university/sungkyunkwan.svg) no-repeat center / cover;}     /*성균관대*/
.review-card.yonsei::after {background: url(../images/university/yonsei.svg) no-repeat center / cover;}                 /*연세대*/


.review-arrow { position: absolute; top: 50%; z-index: 3; display: flex; align-items: center; justify-content: center; width: 6rem; height: 6rem; transform: translateY(-50%); transition: transform .3s ease, background-size .3s ease, background-position .3s ease; }

.review-prev { left: -7rem; background:url(../images/main/m_slider_arrow_right.svg) no-repeat center / 100% auto}
.review-next { right: -7rem; background:url(../images/main/m_slider_arrow_left.svg) no-repeat center / 100% auto}
.review-prev:hover { background-position: left center; background-size: 105% auto; transform: translate(-.8rem, -50%); }
.review-next:hover { background-position: right center; background-size: 105% auto; transform: translate(.8rem, -50%); }


@supports (width: clamp(1rem, 1vw, 2rem)) {     
    /*visual*/
    .section-title { font-size: clamp(3.4rem, 2.34375vw, 4.5rem); }
    .card-item .txt-area .top-lbl { font-size: clamp(1.5rem, 0.9375vw, 1.8rem); }
    .card-item .txt-area .main-lbl,
    .card-item.date-item .main-lbl { font-size: clamp(2.2rem, 1.4583vw, 2.8rem); }
    .card-box .r-area .card-item .txt-area .top-lbl,
    .card-box .r-area .card-item .txt-area .main-lbl { font-size: clamp(1.5rem, 0.9375vw, 1.8rem); }

    /* quick menu */
    .quick-title,
    .quick-list li a { font-size: clamp(1.4rem, 0.8333vw, 1.6rem); height: clamp(4.9rem, 3.1145vw, 6rem); }   

    /* 숫자로 보는 동국 */
    .major-title { font-size: clamp(2rem, 1.3021vw, 2.5rem); margin-bottom: clamp(4rem, 3.125vw, 6rem); }
    .major-name { font-size: clamp(1.6rem, 1.0417vw, 2rem);  }
    .sub-list li a { font-size: clamp(1.3rem, 0.8333vw, 1.6rem); }

    /* 학위과정 전공 */
    .major-row-bottom .major-item:nth-child(2) .major-title::after,
    .major-row-bottom .major-item:nth-child(3) .major-title::after { font-size: clamp(1.3rem, 0.7813vw, 1.5rem); }


    /* 공지사항 */
    .board-tabs { gap: clamp(2.4rem, 2.2917vw, 4.4rem); margin-bottom: clamp(2.2rem, 1.7708vw, 3.4rem); }
    .board-tabs button { font-size: clamp(2rem, 1.3021vw, 2.5rem); }
    .stats-card { padding-right:clamp(3rem, 4.6875vw, 6rem); padding-left:clamp(3rem, 4.6875vw, 6rem); padding-bottom: clamp(2rem, 1.3021vw, 2.5rem); }
    .stats-list { gap: clamp(6rem, 4.6875vw, 9rem) clamp(3rem, 2.3vw, 5rem); }
    .stats-icon { flex: 0 0 clamp(7rem, 4vw, 8.7rem); width: clamp(7rem, 4vw, 8.7rem); height: clamp(7rem, 4vw, 8.7rem); margin-right: clamp(1.6rem, 1.0938vw, 2.1rem); }
    .stats-number-row { gap: clamp(0.6rem, 0.3646vw, 0.7rem); min-height: clamp(4rem, 2.4479vw, 4.7rem); }
    .stats-number-row strong { font-size: clamp(3.4rem, 2.4479vw, 4.7rem); }
    .stats-prefix,
    .stats-suffix { font-size: clamp(1.4rem, 0.9375vw, 1.8rem); }
    .stats-text p { margin-top: clamp(0.5rem, 0.4167vw, 0.8rem); font-size: clamp(1.4rem, 0.9375vw, 1.8rem); }
    .stats-date { margin-top: clamp(2.4rem, 1.7708vw, 3.4rem); font-size: clamp(1.2rem, 0.7292vw, 1.4rem); }    

    .notice-row { grid-template-columns:clamp(10rem, 7.2396vw, 13.9rem) clamp(7rem, 5.2083vw, 10rem) 1fr clamp(2.2rem, 1.5625vw, 3rem);  min-height: clamp(10rem, 7.4479vw, 14.3rem); }
    .notice-row .date b { font-size: clamp(3.4rem, 2.5vw, 4.8rem); }
    .notice-row .date em { font-size: clamp(1.4rem, 0.9375vw, 1.8rem); }
    .notice-row .tag { padding: clamp(0.3rem, 0.2083vw, 0.4rem) clamp(1.6rem, 1.224vw, 2.35rem); border-radius: clamp(1.4rem, 1.0417vw, 2rem); font-size: clamp(1.4rem, 0.9375vw, 1.8rem); }
    .notice-row strong { font-size: clamp(1.6rem, 1.0417vw, 2rem); }
    .notice-row i { width: clamp(2rem, 1.4583vw, 2.8rem); height: clamp(2rem, 1.4583vw, 2.8rem); font-size: clamp(1.3rem, 0.8854vw, 1.7rem); }

    /* 선배들의 합격 수기 */   
    .review-list { margin: 0 clamp(-2rem, -1.0417vw, -1.2rem); }
    .review-list .slick-slide { padding: 0 clamp(1.2rem, 1.0417vw, 2rem); }
    .review-card { min-height: clamp(28rem, 18.75vw, 36rem); padding: clamp(2.8rem, 2.0833vw, 4rem) clamp(2rem, 1.5625vw, 3rem); border-radius: clamp(1.2rem, 0.9375vw, 1.8rem); }
    .review-card strong { font-size: clamp(1.8rem, 1.1458vw, 2.2rem); }
    .review-card p { height: clamp(8rem, 5.5208vw, 10.6rem); margin-top: clamp(1rem, 0.8333vw, 1.6rem); font-size: clamp(1.4rem, 0.9375vw, 1.8rem); }
    .review-card span { margin-top: clamp(1.5rem, 1.1458vw, 2.2rem); font-size: clamp(1.1rem, 0.651vw, 1.25rem); }
    .review-card::after,
    .review-card-image { right: clamp(-3.5rem, -1.8229vw, -2rem); bottom: clamp(-5.5rem, -2.8646vw, -3rem); width: clamp(12rem, 8.8542vw, 17rem); height: clamp(12rem, 8.8542vw, 17rem);}
}


.section-media { padding: 11rem 0; }
.media-sns { display: flex; justify-content: center; gap: 1.4rem; margin: -3rem 0 4.2rem; }
.media-sns a { display: flex; align-items: center; justify-content: center; width: 3.2rem; height: 3.2rem; border-radius: 50%; color: #fff; font-size: 1.4rem; font-weight: 800; }
.media-sns .youtube { background:url(../images/common/ico_youtube.svg) no-repeat center / cover; }
.media-sns .insta { background:url(../images/common/ico_instagram.svg) no-repeat center / cover; }
.media-sns .blog { background:url(../images/common/ico_nblog.svg) no-repeat center / cover; }
.media-grid { display: grid; grid-template-columns: 1.45fr 1fr 1fr; gap: 4rem; }
.media-grid a.media-main { min-width:48rem;} 

.media-grid a { position: relative; display: block; height: 27rem; border-radius:1rem; overflow: hidden; background: #eee; }
.media-grid a::before { content: ''; position: absolute; inset: 0; z-index: 1; background: rgba(0,0,0,.48); opacity: 0; transition: opacity .3s ease; }
.media-grid img { width: 100%; height: 100%; object-fit:cover; transition: transform .45s ease; }
.media-grid strong { position: absolute; left: 2.4rem; right: 2.4rem; bottom: 2.4rem; z-index: 2; color: #fff; font-size: 1.8rem; font-weight: 700; line-height: 1.35; opacity: 0; transform: translateY(1.6rem); transition: opacity .3s ease, transform .3s ease; }
.media-grid a:hover::before { opacity: 1; }
.media-grid a:hover img { transform: scale(1.06); }
.media-grid a:hover strong { opacity: 1; transform: translateY(0); }
.media-main span { position: absolute; left: 50%; top: 50%; z-index: 2; display: flex; align-items: center; justify-content: center; width: 5.2rem; height: 5.2rem; border-radius: 50%; transform: translate(-50%, -50%); background: url(../images/common/ico_youtube.svg) no-repeat center / contain; font-size:0; text-indent: -9999px; transition: transform .3s ease; }
.media-main:hover span { transform: translate(-50%, -50%) scale(1.08); }

/* footer */
.site-footer { height: 14.6rem; padding: 2rem 0; background: #333; }
.site-footer .inner { position:relative; }
.footer-links { display: flex; flex-wrap: wrap; align-items: center; gap: 0; margin-bottom: 2rem; }
.footer-links a { position: relative; padding: 0 1.7rem; color: #888; font-size: 1.4rem; font-weight: 600; line-height: 1.2; }
.footer-links a:first-child { padding-left: 0; color: #fff; }
.footer-links a + a::before { content: ''; position: absolute; left: 0; top: 50%; width: .1rem; height: 1.1rem; background: #555; transform: translateY(-50%); }
.footer-links .privacy { color: var(--orange); }
.footer-info { color: #888; }
.footer-agency { margin-bottom: .5rem; color: #666; font-size: 1.3rem; }
.footer-logo { display: block; margin-bottom: 1rem; }
.footer-logo span { color: #666; font-size: 2.1rem; font-weight: 600; }
.intro-container .footer-logo span { color: #575e64; }
.footer-info p { color: #888; font-size: 1.4rem; font-weight: 400; }
.footer-info p span { margin-left: 1.8rem; color: inherit; font-size: inherit; }
.family-site { position:absolute; top:2.2rem; right:4rem;  width: 18.2rem; height: 3.8rem; padding: 0 3.8rem 0 1.4rem; border: .1rem solid #666; border-radius: .4rem; background-color: #303030; background-image: url(../images/common/ico_select_arrow.svg); background-position: right 1.6rem center; background-size: 1.2rem auto; background-repeat: no-repeat; color: #888; font-size: 1.2rem; appearance: none; }
.intro-footer .family-site { background-color:#03182b; }

@media screen and (min-width: 1025px) {
    .site-footer .footer-links { margin-bottom: 1.6rem; }
    .site-footer .footer-agency { margin-bottom: 0; }
    .site-footer .footer-logo { margin-bottom: .4rem; }
}


.sitemap-layer { display: none; position: fixed; height:100vh; overflow-y: auto; inset: 0; z-index: 3000; background: #fff; }
.sitemap-layer.is-open { display: block; }
.sitemap-header { width:100%; height:30rem; background:url(../images/common/sitemap_top_bg.jpg) no-repeat center / cover; }

.sitemap-inner { max-width: 130rem; margin: 0 auto; padding: 6.2rem 0 10rem; }
.sitemap-head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 2.4rem; border-bottom: .2rem solid var(--text-dark); }
.sitemap-head h2 { color: var(--text-dark); font-size: 3rem; font-weight: 500; }
.sitemap-head .btn-close { display: flex; align-items: center; justify-content: center; width: 4.4rem; height: 4.4rem; background:url(../images/common/sitemap_close_gy.svg) no-repeat center / cover; font-size:0; }


.sitemap-row { display: grid; grid-template-columns: 18rem 1fr; gap: 2rem; padding: 3.4rem 0; border-bottom: .2rem solid var(--text-dark); }
.sitemap-row h3 { color: #f05920; font-size: 2.2rem; font-weight: 800; }
.sitemap-cols { display: grid; grid-template-columns: repeat(6, minmax(11rem, 1fr)); gap: 3.8rem 2.8rem; }
.sitemap-cols h4 { text-align:center; padding:.4rem 0 3.4rem; margin-bottom: 1.6rem; border-bottom: .1rem solid #bbb; color:var(--text-dark); font-size: 1.7rem; font-weight: 800; }
.sitemap-cols h4.two { padding:.4rem 0 1.4rem; } 
.sitemap-cols h4.two span { display: block; margin-top: .4rem; color: #777; font-size: 1.2rem; font-weight: 500; line-height: 1.3; }
.sitemap-cols a { display: block; text-align:center; margin-top: .9rem; color: #666; font-size: 1.4rem; line-height: 1.35; }
.sitemap-cols a:hover { color:var(--orange); text-decoration: underline; }


.mobile-menu { display: none; position: fixed; inset: 0; z-index: 3200; background: #fff; }
.mobile-menu.is-open { display: block; }
.mobile-menu-head { display: flex; align-items: center; justify-content: center; position: relative; height: 8.5rem; border-bottom: .1rem solid #ddd; }
.mobile-menu-head h2 { width: 29rem; height: 4rem; background: url(../images/main/logo.png) no-repeat center / contain; }
.mobile-menu-head h2 span { position: absolute; overflow: hidden; width: .1rem; height: .1rem; clip: rect(0 0 0 0); }
.mobile-menu-head button { position: absolute; right: 2.2rem; top: 50%; transform: translateY(-50%); color: #333; font-size: 5rem; line-height: 1; font-weight: 200; }
.mobile-menu-body { display: grid; grid-template-columns: 23.6rem 1fr; height: calc(100vh - 8.5rem); overflow: hidden; }
.mobile-depth1 { padding-top: 3rem; background: linear-gradient(180deg, #ff5b28, #f6a900); }
.mobile-depth1 button { display: block; width: 100%; padding: 1.9rem 3rem; color: #fff; text-align: left; font-size: 2.7rem; font-weight: 800; line-height: 1.15; }
.mobile-depth1 .active button { color: #101010; }
.mobile-depth2 { overflow-y: auto; background: #fff; }
.mobile-panel { display: none; }
.mobile-panel.active { display: block; }
.m-acc > button { position: relative; width: 100%; padding: 2.8rem 6.2rem 2.8rem 3rem; border-bottom: .1rem solid #eee; color:var(--text-dark); text-align: left; font-size: 2.5rem; font-weight: 700; line-height: 1.25; }
.m-acc > button span { color: inherit; font-size: 1.6rem; font-weight: 500; }
.m-acc > button::after { content: ''; position: absolute; right: 3rem; top: 50%; transform: translateY(-50%) rotate(0deg); transform-origin: center; font-size:0; width:2rem; height:1.2rem; background:url(../images/common/m_menu_arrow.svg) no-repeat center / cover; transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1); }
.m-acc.active > button { color: #f15a24; }
.m-acc.active > button::after { transform: translateY(-50%) rotate(180deg); }
.m-acc ul { display: block; max-height: 0; overflow: hidden; padding: 0 3rem; background: #f4f0ef; opacity: 0; transform: translateY(-0.8rem); transition: max-height 0.36s cubic-bezier(0.22, 1, 0.36, 1), padding 0.36s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.24s ease, transform 0.36s cubic-bezier(0.22, 1, 0.36, 1); }
.m-acc.active ul { max-height: 50rem; padding: 1.7rem 3rem 2rem; opacity: 1; transform: translateY(0); }
.m-acc li a { display: block; overflow: hidden; padding: 1.05rem 0; color: #444; font-size: 2rem; white-space: nowrap; text-overflow: ellipsis; }

/*** 전공안내 ***/
body.major-sub { --sub-orange:#f15922; --sub-teal:#285b62; --sub-line:#dedede; color:#333; background:#fff; }
body.major-sub #header { background:#fff; border-bottom:.1rem solid #eee; box-shadow:none; }
body.major-sub #header.is-scaled-header { box-shadow:0 .4rem 2rem rgba(0,0,0,.06); }
body.major-sub .header-top { display:none; }
body.major-sub .header-main { height:7rem; background:#fff; }
body.major-sub .header-main .inner { height:100%; padding:0 4rem; }
body.major-sub .logo a,
body.major-sub .logo a.visual { background-image:url(../images/main/logo.png); }
body.major-sub .gnb-list { gap:clamp(3.2rem, 3.2vw, 6.8rem); }
body.major-sub .gnb-list > li { height:7rem; }
body.major-sub .gnb-list > li > a { color:#111; font-size:clamp(1.3rem, 1.0417vw, 2rem); font-weight:700; }
body.major-sub .gnb-list > li:hover > a,
body.major-sub .gnb-list > li > a.is-active { color:var(--sub-orange); }
body.major-sub .gnb-list > li > a.is-active::after { width:100%; }
body.major-sub .depth-type-wrap { top:7rem; }
body.major-sub #header.is-scaled-header .depth-type-wrap { top:7rem; }
body.major-sub #header.is-hover-visual:not(.is-scaled-header) .gnb-list > li > a { color:#111; }
body.major-sub #header.is-hover-visual:not(.is-scaled-header) .gnb-list > li:hover > a,
body.major-sub #header.is-hover-visual:not(.is-scaled-header) .gnb-list > li > a.is-active { color:var(--sub-orange); }
body.major-sub .btn-hamburger .hamburger-line { stroke:#111; }
body.major-sub .content { padding-top:7rem; }

body.major-sub .major-guide { display:flex; align-items:center; justify-content:center; height:30rem; background:url("../images/sub/major_guide_bg.jpg") no-repeat center / cover; text-align:center; }
body.major-sub .major-guide h2 { color:#fff; font-size:4.5rem; font-weight:700; line-height:1.15; }
body.major-sub .major-guide p { margin-top:.8rem; color:#fff; font-size:3rem; font-weight:500; }
body.major-sub .major-guide span { display:block; margin-top:5rem; color:rgba(255,255,255,.9); font-size:2rem; }

body.major-sub .major-inner { max-width:130rem; margin:0 auto; padding:0 4rem; }
body.major-sub .major-tabs { display:flex; justify-content:center; gap:0; margin:7.8rem auto 8rem; border-bottom:.1rem solid #bbb; max-width:66rem; }
body.major-sub .major-tabs button { position:relative; flex:1; padding:0 0 1.8rem; color:var(--text-dark); text-align:center; font-size:2.5rem; font-weight:800; }
body.major-sub .major-tabs button.active { color:var(--sub-orange); }
body.major-sub .major-tabs button.active::after { content:""; position:absolute; left:0; right:0; bottom:-.1rem; height:.2rem; background:var(--sub-orange); }
body.major-sub .tab-panel { display:none; }
body.major-sub .tab-panel.active { display:block; }
body.major-sub .tab-placeholder { max-width:100rem; margin:0 auto 8rem; padding:7rem 4rem; border-top:.2rem solid #222; border-bottom:.1rem solid #ddd; text-align:center; }
body.major-sub .tab-placeholder h3 { color:#222; font-size:2.8rem; font-weight:800; }
body.major-sub .tab-placeholder p { margin-top:1.6rem; color:#777; font-size:1.55rem; line-height:1.8; word-break:keep-all; }
body.major-sub .course-section { max-width:100rem; margin:0 auto 10rem; }
body.major-sub .course-section h3 { margin-bottom:1.6rem; color:#222; font-size:3rem; font-weight:800; line-height:1.35; }
body.major-sub .course-section .course-desc { margin-bottom:3.4rem; color:#777; font-size:1.45rem; line-height:1.8; word-break:keep-all; }
body.major-sub .course-table-wrap { border-top:.2rem solid #222; }
body.major-sub .course-table { width:100%; table-layout:fixed; border-collapse:collapse; }
body.major-sub .course-table th,
body.major-sub .course-table td { height:5.6rem; padding:0 1.4rem; border-bottom:.1rem solid #e4e4e4; color:#333; text-align:center; font-size:1.35rem; vertical-align:middle; }
body.major-sub .course-table th { height:5.2rem; color:#222; font-weight:800; }
body.major-sub .course-table .col-type { width:13.5rem; }
body.major-sub .course-table .col-credit,
body.major-sub .course-table .col-theory,
body.major-sub .course-table .col-practice { width:12rem; }
body.major-sub .course-table .col-plan { width:11rem; }
body.major-sub .course-type { display:inline-flex; align-items:center; justify-content:center; min-width:6.4rem; height:2.2rem; padding:0 1rem; border-radius:1.1rem; color:#fff; font-size:1.1rem; font-weight:800; line-height:1; white-space:nowrap; }
body.major-sub .course-type.required { background:#f15922; }
body.major-sub .course-type.select { background:#f5a300; }
body.major-sub .course-type.general { background:#aaa; }
body.major-sub .course-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
body.major-sub .plan-link { position:relative; display:inline-flex; align-items:center; justify-content:center; width:2.4rem; height:2.8rem; border:.2rem solid #6f8790; border-radius:.3rem; color:#6f8790; font-size:.85rem; font-weight:900; line-height:1; text-transform:uppercase; }
body.major-sub .plan-link::before { content:""; position:absolute; top:-.2rem; right:-.2rem; width:.8rem; height:.8rem; border-left:.2rem solid #6f8790; border-bottom:.2rem solid #6f8790; background:#fff; }
body.major-sub .course-note { margin-top:1.8rem; color:#777; font-size:1.25rem; }

body.major-sub .intro-block { display:grid; grid-template-columns:minmax(36rem, 58rem) 1fr; gap:4rem; align-items:center; margin-bottom:8rem; }
body.major-sub .intro-block img { width:100%; aspect-ratio:580 / 315; object-fit:cover; }
body.major-sub .intro-copy h3 { color:var(--text-dark); font-size:3.4rem; font-weight:800; line-height:1.35; }
body.major-sub .intro-copy p { margin-top:2rem; color:#777; font-size:1.55rem; line-height:1.9; word-break:keep-all; }
body.major-sub .button-row { display:flex; gap:1.6rem; margin-top:5.4rem; }
body.major-sub .line-btn { display:flex; align-items:center; justify-content:center; min-width:23rem; height:7rem; border:.2rem solid #333; border-radius:.8rem; color:#333; font-size:1.55rem; font-weight:800; box-shadow:0 .5rem 1rem rgba(0,0,0,.08); }
body.major-sub .line-btn.orange { border-color:var(--sub-orange); color:var(--sub-orange); }
body.major-sub .section-band { padding:7.8rem 0 8rem; background:#f1f1f1; }
body.major-sub .section-white { padding:8rem 0; background:#fff; }
body.major-sub .section-title { margin:0 0 2rem; color:#222; font-size:3rem; font-weight:800; line-height:1.35; text-align:left; }
body.major-sub .section-desc { margin-bottom:4rem; color:#777; font-size:1.45rem; line-height:1.8; word-break:keep-all; }
body.major-sub .reason-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:2.4rem 3rem; }
body.major-sub .reason-card { display:grid; grid-template-columns:6.5rem 1fr; align-items:center; min-height:13rem; padding:2.6rem 3rem; border-radius:.8rem; background:#fff; }
body.major-sub .reason-card em { color:#999; font-size:4rem; font-weight:300; }
body.major-sub .reason-card strong { display:block; color:var(--sub-orange); font-size:1.7rem; font-weight:800; }
body.major-sub .reason-card span { display:block; margin-top:.9rem; color:#666; font-size:1.35rem; line-height:1.55; word-break:keep-all; }
body.major-sub .status-group + .status-group { margin-top:4.4rem; }
body.major-sub .status-title { margin-bottom:1.6rem; color:var(--sub-teal); font-size:1.6rem; font-weight:800; }
body.major-sub .status-table { width:100%; border-top:.2rem solid #222; }
body.major-sub .status-table li { display:grid; grid-template-columns:18rem 1fr; align-items:center; min-height:7rem; border-bottom:.1rem solid #ddd; }
body.major-sub .status-school { display:flex; align-items:center; gap:1.8rem; color:#333; font-size:1.45rem; font-weight:700; }
body.major-sub .status-school img { width:3.8rem; height:3.8rem; object-fit:contain; }
body.major-sub .status-major { color:#666; font-size:1.4rem; line-height:1.65; }
body.major-sub .more-wrap { display:flex; justify-content:center; margin-top:5rem; }
body.major-sub .more-btn { display:flex; align-items:center; justify-content:center; min-width:23rem; height:7rem; border:.2rem solid var(--sub-orange); border-radius:.8rem; color:var(--sub-orange); font-size:1.55rem; font-weight:800; box-shadow:0 .5rem 1rem rgba(241,89,34,.13); }
body.major-sub .license-grid { display:grid; grid-template-columns:1fr 1fr; gap:3rem; }
body.major-sub .license-card { min-height:19rem; padding:3rem 3.4rem; border-radius:.8rem; background:#fff; color:#555; font-size:1.5rem; line-height:2; word-break:keep-all; }
body.major-sub .career-grid { display:grid; grid-template-columns:repeat(6, 1fr); gap:1.8rem; }
body.major-sub .career-card { overflow:hidden; border:.1rem solid #ddd; border-radius:.8rem; background:#fff; }
body.major-sub .career-card img { display:block; width:100%; aspect-ratio:1.45 / 1; object-fit:cover; }
body.major-sub .career-card strong { display:flex; align-items:center; justify-content:center; min-height:5.8rem; padding:0 1rem; color:#333; text-align:center; font-size:1.35rem; font-weight:800; line-height:1.4; word-break:keep-all; }
body.major-sub .note { margin-top:1.8rem; color:#777; font-size:1.3rem; }
body.major-sub .bottom-actions { display:flex; justify-content:center; gap:1.6rem; margin-top:6.4rem; }
body.major-sub .bottom-actions .line-btn { min-width:23rem; height:6.4rem; }
