@charset "utf-8";
/* 2017-05-17  CSS  2.1 CENTUMSOFT */


/* 보유시설 및 장비 */
.facil-wr .facil-list {overflow:hidden;}
.facil-wr .facil-list li {display:inline-block;width:30%;margin-right:3%;margin-bottom:25px;vertical-align:top;}
.facil-wr .facil-list li img {width:100%;}
.facil-wr .facil-list li:nth-child(3n) {margin-right:0;}
.facil-wr .facil-list li .txt-wr {position:relative;padding:16px 20px 10px 37px;min-height:80px;background-color:#796754;color:#fff;letter-spacing:-0.05em;box-sizing:border-box;}
.facil-wr .facil-list li .txt-wr::before, .facil-wr .facil-list li .txt-wr::after, .facil-wr .facil-list li .txt-wr .tit::before, .facil-wr .facil-list li .txt-wr .tit::after {position:absolute;content:"";display:block;}
.facil-wr .facil-list li .txt-wr::before {width:63px;height:43px;top:0;right:0;background:url(/computer/_Img/Content/facilities_bg.png) no-repeat;}
.facil-wr .facil-list li .txt-wr .tit {position:relative;display:block;font-size:15px;}
.facil-wr .facil-list li .txt-wr::after, .facil-wr .facil-list li .txt-wr .tit::before, .facil-wr .facil-list li .txt-wr .tit::after {width:1px;height:34px;background:rgba(255,255,255,0.2);}
.facil-wr .facil-list li .txt-wr::after {top:0;left:20px;}
.facil-wr .facil-list li .txt-wr .tit::before {top:-16px;left:-15px;}
.facil-wr .facil-list li .txt-wr .tit::after {top:-16px;left:-13px;}
.info-box.facil-ico:before {background:url(/computer/_Img/Content/facilities_ico.png) no-repeat;}

@media only screen and (max-width:899px) {
	.facil-wr .facil-list li {width:44%;margin-right:5%;margin-bottom:5%;}
	.facil-wr .facil-list li:nth-child(2n) {margin-right:0;}
	.facil-wr .facil-list li:nth-child(3n) {margin-right:5%;}
}
@media only screen and (max-width:599px) {
	.facil-wr .facil-list li {display:block;width:290px;margin:0 auto 20px;}
	.facil-wr .facil-list li:nth-child(2n), .facil-wr .facil-list li:nth-child(3n) {margin-right:auto;}
}


.Emergency_sec .list {display: flex; justify-content: space-between;}
.Emergency_sec .list li {border: 1px solid #f5f5f5; padding: 10px; text-align: center;}
.Emergency_sec .list li img {width: 30%; margin-bottom: 10px;}
.Emergency_sec .list li .tit {background: #d41134; font-size: 18px; color: #fff; text-align: center; margin-bottom: 10px; padding: 5px 0; border-radius: 10px 10px 0 0 ;}
.Emergency_sec .list li:nth-child(2) .tit {background: #8a0920;}
.Emergency_sec .list li:nth-child(3) .tit {background: #d41134;}
.Emergency_sec .list li:nth-child(4) .tit {background: #8a0920;}
.Emergency_sec .list li .txt {font-size: 15px; line-height: 1.2; padding: 10px 0;}
.Emergency_sec .list.step04 li {width: 20%;}
.Emergency_sec .list.step03 li {width: 30%;}
.Emergency_sec .list.step03 li img {max-width: 80px;}

.Emergency_sec .g-box {padding: 30px 20px;}


@media all and (max-width:699px){
	.Emergency_sec .list {flex-wrap: wrap;}
	.Emergency_sec .list.step04 li {width: 48%; box-sizing: border-box;}
	.Emergency_sec .list.step04 li:nth-child(1), .Emergency_sec .list.step04 li:nth-child(2) {margin-bottom: 10px;}
	.Emergency_sec .list.step03 li {width: 32%; box-sizing: border-box;}
}

.sch-sel-amon .sel-m {padding: 17px 10px 0px 80px;}
.sch-sel-amon .sel-m li {min-height: 50px;}

.dpt-map-type01 .map-wr .map-info li .txt {padding: 33px 20px;}
.dpt-map-type01 .map-wr .map-info li .tit {box-sizing: border-box; height: 100%;}

.dpt-map-type01 .map-wr .root_daum_roughmap .cont .section {display:none;}
 
@media all and (max-width:599px){
	.dpt-map-type01 .map-wr .map-info li .txt {padding: 20px;}
	.dpt-map-type01 .map-wr .map-info li .tit {padding-top: 10px !important;}
}

.uni_btn {background: #0f1c30;padding: 5px 20px;border-radius: 50px;font-size: 14px;color: #fff;}
.uni_btn1 {background: #5d0f1c;padding: 5px 20px;border-radius: 50px;font-size: 14px;color: #fff;}



/* 입학절차*/
.process-container {width: 100%;max-width: 1200px;display: flex; flex-direction: column;gap: 16px;}

	/* PC 기본 행 레이아웃 */
.process-row {display: flex; align-items: center; width: 100%;}

	/* PC 2번째 행: 오른쪽 -> 왼쪽 배치 */
.process-row.reverse {flex-direction: row-reverse;justify-content: flex-start;}

	/* 각 단계 박스 */
.step-box {flex: 1 1 0;min-width: 0;min-height: 90px;border: 2px solid #ba0528;border-radius: 8px;padding: 12px 10px;display: flex;flex-direction: column;justify-content: center;align-items: center;text-align: center;color: #222222;font-size: 15px;font-weight: 600;background-color: #ffffff;}
.step-box ul {list-style: none;text-align: left;font-size: 14px;font-weight: 500;line-height: 1.5;}
.step-box ul li::before {content: "- ";color: #ba0528;font-weight: bold;}

	/* PC 가로 화살표 */
.arrow {flex: 0 0 28px;display: flex;justify-content: center;align-items: center;color: #ba0528;font-size: 18px;font-weight: bold;user-select: none;}

	/* PC 1행 -> 2행 연결 화살표 */
.down-arrow-container {display: flex;justify-content: flex-end;padding-right: calc((100% - (28px * 4)) / 10 - 10px);margin: 4px 0;}
.down-arrow {color: #ba0528;font-size: 22px;font-weight: bold;line-height: 1;}
.dummy-box {flex: 1 1 0;min-width: 0;visibility: hidden;}

	/* 모바일 전용/PC 전용 클래스 */
.mobile-only {display: none;}

	/* 모바일 반응형 처리 (768px 이하) */
@media (max-width: 768px) {.process-container {gap: 0;}
.process-row,
.process-row.reverse {flex-direction: column;width: 100%;}
.step-box {width: 100%;min-height: 65px;}

	/* 모든 개체 사이 화살표를 일관되게 아래 방향(↓)으로 고정 */
.arrow {flex: none;height: 36px;font-size: 20px;}
.arrow-text {display: none;}
.arrow::after {content: '↓';}

	/* 5단계와 6단계 사이 연결 화살표 모바일에서 노출 */
.mobile-only {display: flex;}

	/* PC 전용 우측 하단 화살표 및 더미 블록 숨김 */
.pc-only,
.dummy-box {display: none;}}


/* 시설안내 */
:root { --accent:#b9052a; --text:#222; --line:#e5e5e5; --max-width:1120px; }
.tabs button { padding:11px 18px; border:1px solid #ddd; border-radius:5px; background:#fff; color:#555; cursor:pointer; font-size:14px; margin:2px 2px 2px 2px;}
.tabs button:hover, .tabs button.active { border-color:var(--accent); background:var(--accent); color:#fff; }
.gallery { max-width:var(--max-width); margin:0 auto; padding:0 18px 70px;  margin:20px 0 0 0; }
.viewer { position:relative; overflow:hidden; aspect-ratio:16 / 8.1; background:#f3f3f3; }
.viewer > img { display:block; width:100%; height:100%; object-fit:cover; }
.arrow1 { position:absolute; top:50%; z-index:1; width:44px; height:64px; transform:translateY(-50%); border:0; background:rgba(0,0,0,.4); color:#fff; cursor:pointer; font-size:32px; }
.arrow1:hover { background:rgba(0,0,0,.65); }
.arrow1.prev { left:0; border-radius:0 6px 6px 0; }
.arrow1.next { right:0; border-radius:6px 0 0 6px; }
.caption { padding:18px 2px 12px; font-size:18px; font-weight:700; }
.thumbs { display:flex; gap:12px; overflow-x:auto; padding:4px 0 10px; }
.thumb { flex:0 0 126px; height:78px; overflow:hidden; padding:0; border:2px solid transparent; background:#fff; cursor:pointer; }
.thumb.active { border-color:var(--accent); }
.thumb img { display:block; width:100%; height:100%; object-fit:cover; }

@media (max-width:800px) { .page-title { margin:30px 0 28px; font-size:27px; } .tabs { justify-content:flex-start; padding-bottom:28px; } .tabs button { padding:9px 14px; font-size:13px; } .gallery { padding-right:12px; padding-left:12px; margin:0px 0 0 0; } .viewer { aspect-ratio:4 / 3; } .arrow1 { width:38px; height:54px; font-size:27px; } }
@media (max-width:430px) { .viewer { aspect-ratio:1 / 1; } .thumb { flex-basis:100px; height:64px; }}


/* Short-term Programs */
/* 이미지 깨져서 삭제
img {display: block;width: 100%;height: auto;}
button, a {font: inherit;}
*/

/* ---------------------------------
   시설 안내 영역
--------------------------------- */
.facility-section {width: 100%;padding: 24px 0px 40px;}
.facility-container {width: 100%;max-width: 930px;margin: 0 auto;}

/* ---------------------------------
   제목 영역
--------------------------------- */
.section-header {margin-bottom: 10px;}
.section-header h1 {color: #DF2519;font-size: 25px;font-weight: 700;letter-spacing: -0.05em;}

/* ---------------------------------
   카드 그리드
--------------------------------- */
.facility-grid {display: grid;
    /** 가로 기준 4개 배치 * 카드 사이 간격은 30px*/
    grid-template-columns: repeat(4, minmax(0, 1fr));gap: 30px;
}

/* ---------------------------------
   시설 카드
--------------------------------- */
.facility-card {min-width: 0;overflow: hidden;background-color: #fff;}

/* ---------------------------------
   이미지 영역
--------------------------------- */
.facility-image {position: relative;overflow: hidden;
    /* * 첨부 이미지와 유사한 가로형 비율 */
    aspect-ratio: 1.75 / 1;
    border-radius: 8px;background-color: #e9e9e9;}
.facility-image img {width: 100%;height: 100%;object-fit: cover;transition:transform 0.4s ease,filter 0.4s ease;}

/* 마우스를 올렸을 때 이미지 확대 효과 */
.facility-card:hover .facility-image img {transform: scale(1.05);filter: brightness(0.95);}

/* ---------------------------------
   카드 텍스트
--------------------------------- */
.facility-content {padding-top: 18px;}
.facility-content h2 {color: #333;font-size: 18px;font-weight: 700;letter-spacing: -0.05em;line-height: 1.35;}
.facility-content p {margin-top: 8px;color: #555;font-size: 14px;font-weight: 400;letter-spacing: -0.04em;line-height: 1.5;}


/* ---------------------------------
   태블릿
--------------------------------- */
@media (max-width: 1100px) {
.facility-section {padding-right: 24px;padding-left: 0px;}
.facility-grid {grid-template-columns: repeat(2, minmax(0, 1fr));gap: 32px 24px;}
}

/* ---------------------------------
   모바일
--------------------------------- */
@media (max-width: 640px) {
.facility-section {padding: 22px 0px 32px;}
.section-header {margin-bottom: 14px;}
.section-header h1 {font-size: 20px;}
.facility-grid {grid-template-columns: 1fr;gap: 28px;}
.facility-image {aspect-ratio: 1.7 / 1;border-radius: 7px;}
.facility-content {padding-top: 14px;}
.facility-content h2 {font-size: 17px;}
.facility-content p {margin-top: 6px;font-size: 14px;}
}

/* ---------------------------------
   키보드 접근성
--------------------------------- */
.facility-card:focus-within {outline: 3px solid rgba(18, 61, 82, 0.35);outline-offset: 5px;}



/**/
#gnavi-wr .gnb-right {    justify-content: flex-end;}
#mainNavi .mainNavi-ban {display:none;}
