@charset "utf-8";

/* Dean's Welcome */
.greeting .heading {display: flex; flex-wrap: wrap; align-items: flex-start; gap: 70px; margin-bottom: 50px; padding: 50px 0; position: relative;}
.greeting .heading::before {content: ""; width: 100vw; height: 100%; margin-left: -50vw; margin-top: -50px; background: #fafafa; position: absolute; left: 50%; z-index:-1;}
.greeting .heading .img {width: 200px; aspect-ratio: 3 / 4; box-shadow: 0 15px 30px rgba(0,0,0,.2); position: relative;}
.greeting .heading .img img {width: 100%; height: 100%; object-fit: cover; position: absolute; left: 0; top: 0;}
.greeting .heading .tit {width: calc(100% - 270px); display: flex; flex-direction: column; gap: 20px;}
.greeting .heading .tit small {display: block; font-size: 1.125rem; font-weight: 500; letter-spacing: .25rem; color: #bbb;}
.greeting .heading .tit .sign {font-size: 1rem;}
.greeting .heading .tit .sign span{display: inline-block; font-size: 1.125rem; font-weight: 700; letter-spacing: .25rem; margin-left: 10px;}
.greeting .heading .tit strong{display: block; font-size: 1.875rem; font-weight: 700; color: #555; padding-bottom: 20px; position: relative;}
.greeting .heading .tit strong::after{content: ""; position: absolute; width: 30px; height: 5px; background: #EA5514; left: 0; bottom: 0;}
.greeting .heading .tit strong span{font-size: 1.875rem; color: #EA5514;}
.greeting .txt {display: flex; flex-direction: column; gap: 2.5rem;}
.greeting .txt p {font-size: 1.0625rem; line-height: 2;}

@media (max-width: 767px) {
    .greeting .heading {flex-direction: column;}
    .greeting .heading .tit {width: 100%;}
    .greeting .heading .tit strong {font-size: 1.75rem;}
    .greeting .heading .tit br {display: none;}
}


/* Partnership */
.world {width: 100%; padding: 2rem; background: #fafafa; border-radius: 5px; overflow: hidden;}
.world > div {width: 100%; height: 0; padding-top: 40%; position: relative;}
.world svg {width: 100%; height: 100%; object-fit: contain; position: absolute; left: 0; top: 0;}
.world svg g {cursor: pointer;}
.world svg g path {fill: #bbb;}
.world svg g path.txt {fill: #333;}
.world svg g.on path {fill: #E94E1B;}
.world svg g.on path.txt {fill: #fff;}
.world_cnt li {display: none;}
.world_cnt li.on {display: block;}


/* Contact */
.map {position: relative; margin-bottom: 3rem;}
.map .root_daum_roughmap {width: 100%!important;}
.map .root_daum_roughmap .wrap_map {height: 400px!important;}
.map .wrap_controllers,
.map .cont {display: none!important;}

@media (max-width: 767px) {
    .map .root_daum_roughmap .wrap_map {height: 300px!important;}
}


/* Courses */
.accordion {margin-top: 2rem;}
.accordion li {border: 1px solid #ebebeb; margin-bottom: 10px; border-radius: 5px; overflow: hidden;}
.accordion button {width: 100%; padding: 10px 20px; text-align: left; font-size: 1rem; font-weight: 500; background: #fbfbfb; border: none; cursor: pointer; position: relative;}
.accordion button::after {content: ""; background: url(/resources/images/icon/ico_arrow_b.svg) center no-repeat; background-size: cover; width: 12px; height: 8px; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); opacity: .7;}
.accordion .cnt {height: 0; overflow: hidden; padding: 0 15px; background: #fff; transition: height .3s, padding .3s;}
.accordion li.open {border-color: #333;}
.accordion li.open button {background: #333; color: #fff;}
.accordion li.open button::after {background: url(/resources/images/icon/ico_arrow_w.svg) center no-repeat; background-size: cover; transform: translateY(-50%) rotate(180deg); opacity: 1;}
.accordion li.open .cnt {height: max-content; padding: 1rem 1.5rem; font-size: .9375rem;}


.img_list {display: flex;}
.img_list li {flex: 1 1 auto; width: 100%; height: 0; padding-top: 25%; position: relative;}
.img_list li img {width: 100%; height: 100%; object-fit: contain; position: absolute; left: 0; top: 0;}


/* Apply Procedure */
.process_list {display: flex; flex-wrap: wrap; gap: 50px;}
.process_list li {flex: 1 1 0; display: flex; align-items: center; justify-content: center; background: #254f5f; color: #fff; text-align: center; padding: 1.5rem; border-radius: 5px; position: relative;}
.process_list li:last-child {background: linear-gradient(to right, #f29300 0%, #ea5514 100%);}
.process_list li + li::before {content: ""; width: 12px; height: 12px; background: url(/resources/images/icon/ico_arrow_b.svg) center no-repeat; background-size: cover; position: absolute; left: -30px; top: 50%; transform: translateY(-50%) rotate(-90deg); opacity: .6;}

@media (max-width: 767px) {
    .process_list li {flex: inherit; width: 100%;}
    .process_list li + li::before {left: 50%; top: -30px; transform: translate(-50%, 0) rotate(0deg);}
}


/* DJSS */
.djss_box {display: flex; flex-wrap: wrap; gap: 20px 50px;}
.djss_box .img {width: 300px;}
.djss_box .img img {width: 100%;}
.djss_box .txt {width: calc(100% - 350px);}

@media (max-width: 767px) {
    .djss_box .img,
    .djss_box .txt {width: 100%;}
}


/* DCSS */
.dcss_box {display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 20px 50px;}
.dcss_box .img {width: 500px;}
.dcss_box .img img {width: 100%;}

@media (max-width: 767px) {
    .dcss_box {flex-direction: column-reverse;}
    .dcss_box .img,
    .dcss_box .txt {width: 100%;}
}