@charset "UTF-8";
/* *********************************** *
* 메인
* *********************************** */
.page_main { margin-top: -2rem; }
.page_main .grid_box { height: 100%; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem; align-items: stretch; padding: 1.4rem; padding-top: 0; }
.page_main .grid_box.type2 { grid-column: span 3; padding: 0; }
.page_main .gitem { height: 100%; position: relative; border-radius: 20px; overflow: hidden; }
.page_main .gitem.group { display: grid; grid-template-columns: repeat(2, 1fr); grid-auto-rows: 1fr; gap: 1.4rem; border-radius: 0; }
.page_main .gitem.wide1 { grid-column: span 1; }
.page_main .gitem.wide2 { grid-column: span 2; }
.page_main .gitem.wide3 { grid-column: span 3; }
.page_main .gtype_a { aspect-ratio: 1022 / 542; }
.page_main .gtype_b { aspect-ratio: 505 / 542; }
.page_main .gtype_c { aspect-ratio: 505 / 265; }
.page_main .gtype_d { aspect-ratio: 246 / 264; }
.page_main .gtype_e { aspect-ratio: 1000 / 500; }
.page_main .gimg { width: 100%; height: 100%; object-fit: cover; transition: all 0.3s; }
.page_main a.gitem:hover .gimg, .page_main a.in_gitem:hover .gimg { transform: scale(1.05); }
.page_main .in_gitem { position: relative; border-radius: 16px; overflow: hidden; }
.page_main .in_gitem:first-child { grid-column: span 2; }
.page_main .gcolor1 { background-color: #009AA7; }
.page_main .gcolor2 { background-color: #7E3385; }
.page_main .gcolor3 { background-color: #FFE000; }
.page_main .gcolor4 { background-color: #009A52; }
.page_main .gcolor5 { background-color: #AF9D5F; }
.page_main .gcolor6 { background-color: #000F9F; }
.page_main .gcolor7 { background-color: #DF007B; }
.page_main .gtexts { width: fit-content; display: flex; flex-direction: column; gap: 0.5rem; position: absolute; bottom: 2rem; left: 2rem; right: 2rem; padding: 1.6rem; }
.page_main .gtexts.type2 { width: 45%; left: unset; right: 1.5rem; }
.page_main .gtexts.type3 { width: 100%; height: 100%; justify-content: center; gap: clamp(15px, 1.4583333333vw, 28px); position: unset; padding: 1.6rem 4rem; }
.page_main .gtexts.type4 { width: 45%; right: unset; left: 1.5rem; }
.page_main .gtexts2 { width: 100%; height: 100%; display: flex; flex-direction: column; justify-content: center; gap: 1rem; padding: 4rem; }
.page_main .gtexts .gtxt1 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; font-weight: 600; font-size: clamp(16px, 1.0416666667vw, 20px); color: #FFF; overflow: hidden; }
.page_main .gtexts .gtxt1.font2 { font-family: "Noto Serif KR", serif; }
.page_main .gtexts .gtxt1.color2 { color: #000; }
.page_main .gtexts .gtxt1.clamp2 { -webkit-line-clamp: 2; }
.page_main .gtexts .gtxt1.style2 { font-weight: 600; font-size: clamp(20px, 1.6666666667vw, 32px); }
.page_main a.gitem:hover .gtexts .gtxt1, .page_main a.in_gitem:hover .gtexts .gtxt1 { text-decoration: underline; }
.page_main .gtexts .gtxt2 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font-weight: 500; font-size: clamp(15px, 0.9895833333vw, 19px); color: #FFF; overflow: hidden; }
.page_main .gtexts .gtxt2.font2 { font-family: "Noto Serif KR", serif; }
.page_main .gtexts .gtxt2.color2 { color: #000; }
.page_main .gtexts .gtxt2.style2 { font-weight: 500; font-size: clamp(13px, 0.9375000000vw, 18px); }
.page_main a.gitem:hover .gtexts .gtxt2, .page_main a.in_gitem:hover .gtexts .gtxt2 { text-decoration: underline; }

@media (max-width: 1024px) {
	.page_main { height: auto; }
	.page_main .grid_box { grid-template-columns: repeat(2, 1fr); }
	.page_main .gitem.group { grid-column: span 2; }
	.page_main .gitem.wide1 { grid-column: span 2; }
	.page_main .gtexts.type2 { width: fit-content; left: 1.5rem; }
	.page_main .gtexts.type4 { width: fit-content; right: 1.5rem; }
}
@media (max-width: 768px) {
	.page_main { margin-top: 0; }
	.page_main .grid_box { height: auto; display: flex; flex-direction: column; }
	.page_main .gitem.group { display: flex; flex-direction: column; }
	.page_main .gitem.wide1 { grid-column: span 1; }
	.page_main .gitem.wide2 { grid-column: span 1; }
	.page_main .in_gitem:first-child { grid-column: span 1; }
}

/* *********************************** *
* 인사말
* *********************************** */
.page_greeting .greeting_box { display: flex; gap: 3.6rem; }
.page_greeting .greeting_imgbox { width: clamp(200px, 25.0000000000vw, 480px); display: flex; flex-direction: column; gap: 1.6rem; flex-shrink: 0; }
.page_greeting .director_img { width: 100%; aspect-ratio: 550 / 687; object-fit: cover; }
.page_greeting .txt_name { font-size: 1.7rem; text-align: right; }
.page_greeting .txt_name .point { font-weight: 600; font-size: 2.1rem; }
.page_greeting .greeting_textbox { border-top: 2px solid #000; padding: clamp(20px, 2.0833333333vw, 40px);}
.page_greeting .gt_text1 { font-size: 3.2rem; line-height: 1.4; word-break: keep-all; margin-bottom: 4.8rem; }
.page_greeting .gt_text1 .point { font-weight: 700; }
.page_greeting .gt_texts { display: flex; flex-direction: column; gap: clamp(20px, 2.0833333333vw, 40px); }
.page_greeting .gt_text2 { font-size: 1.7rem; word-break: keep-all; }

@media all and (max-width: 768px){
	.page_greeting .greeting_box { flex-direction: column; }
	.page_greeting .greeting_imgbox { width: 50%; margin: 0 auto; }
	.page_greeting .greeting_textbox { padding: 2.5rem; }
	.page_greeting .gt_texts { gap: 2.5rem; }
}
@media all and (max-width: 500px){
	.page_greeting .greeting_imgbox { width: 100%; }
}

/* *********************************** *
* 로그인
* *********************************** */
.login_box { width: 100%; display: flex; border: 1px solid #000; }
.login_box .lg_left { min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 4rem; flex: 1 1 auto; border-right: 1px solid #000; padding: 8rem 2rem; }
.login_box .logo_img { width: 28rem; aspect-ratio: 2 / 1; }
.login_box .input { display: flex; flex-direction: column; gap: 2rem; }
.login_box .lg_left .input .input_wrap { display: flex; flex-direction: column; gap: 1.2rem; }
.login_box .search { display: flex; align-items: center; gap: 3.3rem; }
.login_box .search .search_link { position: relative; font-size: 1.7rem; color: #434343; transition: all 0.2s; }
.login_box .search .search_link:hover { color: #000; text-decoration: underline; }
.login_box .search .search_link::before { content: ''; width: 1px; height: 1.6rem; display: block; position: absolute; top: 50%; left: -1.6rem; transform: translateY(-50%); background-color: #8A8A8A; }
.login_box .search .search_link:first-child:before { display: none; }
.login_box .lg_right { min-width: 0; display: flex; flex-direction: column; flex: 0 0 50%; }
.login_box .lg_right .guide { flex: 0 0 26.6rem;  background-color: #F7F7F7; border-bottom: 1px solid #000; padding: 4.8rem; }
.login_box .lg_title { font-weight: 700; font-size: 2.8rem; }
.login_box .g_texts { display: flex; flex-direction: column; gap: 1.2rem; margin-top: 2rem; }
.login_box .g_txt2 { position: relative; font-size: 1.9rem; word-break: keep-all; letter-spacing: -0.5px; padding-left: 1.6rem; }
.login_box .g_txt2::before { content: ''; width: 4px; height: 4px; display: block; position: absolute; top: 1.2rem; left: 0; background-color: #000; border-radius: 50%; }
.login_box .g_txt2 .point { font-weight: 700; }
.login_box .lg_right .inquiry { position: relative; flex: 1; padding: 4.8rem; }
.login_box .lg_right .inquiry::after { content: ''; width: 54%; aspect-ratio: 370 / 300; display: block; position: absolute; bottom: -2px; right: 0; background: url('../../images/illustration/visual1.svg') no-repeat center / contain; }
.login_box .iq_wrap { width: 45%; display: flex; flex-direction: column; gap: 2rem; margin-top: 3.2rem; }
.login_box .iq_wrap .iq_in { display: flex; align-items: center; gap: 1.2rem; }
.login_box .iq_wrap .icon { width: 4.6rem; height: 4.6rem; display: flex; justify-content: center; align-items: center; flex-shrink: 0; color: #000; background-color: #EFEFF1; border-radius: 50%; }
.login_box .iq_wrap .text { font-size: 1.9rem; }

@media all and (max-width: 1440px){
	.login_box .lg_right .guide { padding: 3rem; }
	.login_box .lg_right .inquiry { padding: 3rem; }
}
@media all and (max-width: 1280px){
	.login_box { flex-direction: column; }
	.login_box .lg_left { flex: unset; padding: 6rem 2rem; border-right: 0; border-bottom: 1px solid #000; }
	.login_box .lg_right .guide { flex: unset; padding: 4rem 3rem; }
	.login_box .lg_right .inquiry { flex: unset; padding: 4rem 3rem; }
	.login_box .lg_right .inquiry::after { width: unset; height: 100%; }
}
@media all and (max-width: 768px){
	.login_box form { width: 100%; }
	.login_box .input { width: 60%; margin: 0 auto; }
}
@media all and (max-width: 500px){
	.login_box .lg_right .inquiry { padding: 4rem 3rem 0; }
	.login_box .lg_right .inquiry::after { width: 100%; position: unset; margin: 0 auto; }
	.login_box .iq_wrap { width: 100%; }
	.login_box .input { width: 100%; }
}

/* *********************************** *
* 회원가입
* *********************************** */
.join_box { display: flex; flex-direction: column; gap: 6.4rem; }
.join_box.type2 { gap: 5.6rem; }
.join_box .join_wrap { display: flex; flex-direction: column; }
.join_box .join_wrap.type2 { gap: 8rem; }
.join_box .join_wrap_in { display: flex; flex-direction: column; }
.join_box .join_wrap_in_in { display: flex; flex-direction: column; gap: 2rem; margin-top: 4rem; }

@media all and (max-width: 768px){
	.join_box { gap: 4rem; }
}

/* *********************************** *
* 통합검색
* *********************************** */
.page_total_search .page_head_area { text-align: center; margin-bottom: 4.8rem; word-break: keep-all; }
.page_total_search .page_head_area .cm_search { margin-left: auto; margin-right: auto; margin-bottom: 4rem; }
.page_total_search .page_head_area .search_keyword { font-size: 2.8rem; font-weight: 700; text-align: center; }
.page_total_search .page_head_area .search_keyword .keyword { color: #00975b; }
.page_total_search .total_search_overview { margin-top: 6.4rem; }
.page_total_search .total_search_overview .title_area { display: flex; justify-content: space-between; align-items: center; margin-bottom: 2.4rem; }
.page_total_search .total_search_overview .title_area .cm_title { margin-bottom: 0; }
.page_total_search .total_search_overview .title_area .btn_more { width: 3.2rem; height: 3.2rem; display: inline-flex; align-items: center; justify-content: center; background: url(../../images/common/icon_plus.svg) no-repeat center / contain; }
.page_total_search .cm_nodata2 { margin-top: 1.6rem; }

/* *********************************** *
* 조직도
* *********************************** */
.page_org_chart { display: flex; justify-content: center; align-items: center; flex-direction: column; }
.page_org_chart .oc_in { width: 100%; display: flex; align-items: flex-start; gap: 2.4rem; position: relative; }
.page_org_chart .oc_in::after { content: ""; width: 37.7%; height: 1px; position: absolute; top: -11.4rem; right: 12.3%; background-color: #000; }
.page_org_chart .oc_top { display: flex; position: relative; margin-bottom: 19.7rem; }
.page_org_chart .oc_top::before { content: ""; width: 1px; height: 19.7rem; position: absolute; top: 100%; left: 50%; background-color: #000; }
.page_org_chart .director { display: flex; flex-direction: column; justify-content: center; align-items: center; }
.page_org_chart .director .d_circle { width: 16rem; height: 16rem; display: flex; justify-content: center; align-items: center; position: relative; background-color: #00975b; border-radius: 50%; font-weight: 700; font-size: 2.4rem; color: #fff; text-align: center; padding: 2rem; }
.page_org_chart .director .d_circle::before { content: ''; width: 17.6rem; height: 17.6rem; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); border: 1px dashed #00975b; border-radius: 50%; }
.page_org_chart .director .d_line { width: 1px; height: 19.7rem; position: relative; background-color: #000; }
.page_org_chart .director .d_line::before { content: ''; width: 8rem; height: 1px; position: absolute; top: 0; bottom: 0; left: 0; background-color: #000; margin: auto 0; }
.page_org_chart .director .d_line::after { content: ''; width: 1px; height: 9rem; position: absolute; top: -1.4rem; bottom: 0; left: 8rem; background-color: #000; margin: auto 0; }
.page_org_chart .department { height: fit-content; display: flex; flex-direction: column; gap: 2.4rem; position: absolute; top: 0; bottom: 0; left: 11.8rem; margin: auto 0; }
.page_org_chart .department .d_text { max-width: 100%; width: fit-content; min-width: 24rem; position: relative; background-color: #F7F7F7; border: 1px solid #000; font-weight: 600; font-size: 2.1rem; text-align: center; word-break: keep-all; padding: 0.8rem 3.2rem; }
.page_org_chart .department .d_text::before { content: ''; width: 3.8rem; height: 1px; position: absolute; top: 50%; left: -3.8rem; background-color: #000; margin: auto 0; }
.page_org_chart .oc_bottom { width: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 1.6rem; position: relative; background-color: #F7F7F7; padding: 3.2rem; }
.page_org_chart .oc_bottom:last-child { width: 32%; }
.page_org_chart .oc_bottom:last-child::before { content: ""; width: 1px; height: 11.4rem; position: absolute; bottom: 100%; background-color: #000; }
.page_org_chart .team_txt { width: 100%; display: flex; justify-content: center; align-items: center; background-color: #EDF8F3; border: 1px solid #00975b; font-weight: 600; font-size: 2.1rem; color: #00975b; text-align: center; padding: 1.2rem 1.5rem; }
.page_org_chart .oc_bottom:last-child .team_txt { height: 11.1rem; }
.page_org_chart .campus_box { width: 100%; display: flex; gap: 1.6rem; justify-content: space-between; }
.page_org_chart .campus_box .cp_in { flex: 1; display: flex; flex-direction: column; gap: 1.6rem; background-color: #fff; border: 1px solid #000; padding: 3.2rem clamp(20px, 2.0833333333vw, 40px);; }
.page_org_chart .cp_title { display: flex; gap: 0.8rem; align-items: center; font-weight: 600; font-size: 2.1rem; word-break: keep-all; }
.page_org_chart .cp_title::before { content: ''; width: 2.4rem; height: 2.4rem; display: block; flex-shrink: 0; background: url('../../images/common/icon_location2.svg') no-repeat center / contain; }
.page_org_chart .cp_address { font-size: 1.7rem; word-break: keep-all; }
.page_org_chart .campus_box .cp_info { display: flex; flex-direction: column; gap: 0.8rem 3.3rem; flex-wrap: wrap; }
.page_org_chart .info_txt { display: flex; align-items: center; gap: 0.8rem; position: relative; font-size: 1.7rem; color: #434343; }
.page_org_chart .info_txt::before { content: ''; width: 2rem; height: 2rem; display: block; flex-shrink: 0; background-repeat: no-repeat; background-size: contain; background-position: center; }
.page_org_chart .info_txt.call::before { background-image: url('../../images/common/icon_call.svg'); }
.page_org_chart .info_txt.print::before { background-image: url('../../images/common/icon_print.svg'); }
/* .page_org_chart .info_txt::after { content: ''; width: 1px; height: 1.6rem; position: absolute; top: 50%; right: -1.6rem; transform: translateY(-50%); background-color: #8A8A8A;} */
.page_org_chart .info_txt:last-child::after { display: none; }

@media all and (max-width: 1500px){
	.page_org_chart .campus_box { flex-direction: column; }
}
@media all and (max-width: 768px){
	.page_org_chart .director .d_line::before { width: 5rem; }
	.page_org_chart .director .d_line::after { left: 5rem; }
	.page_org_chart .department { left: 8.8rem; }
	.page_org_chart .campus_box { flex-direction: column; }
	.page_org_chart .campus_box .cp_in { min-height: 16.5rem; }

	.page_org_chart .oc_in { flex-direction: column; }
	.page_org_chart .oc_in::after { display: none; }
	.page_org_chart .oc_top { margin-bottom: 12rem; }
	.page_org_chart .oc_top::before { height: 12rem; }
	.page_org_chart .oc_bottom:last-child::before { height: 2.4rem; }
	.page_org_chart .oc_bottom:last-child { width: 100%; }
}
@media all and (max-width: 550px){
	.page_org_chart .director .d_line::before { width: 3rem; }
	.page_org_chart .director .d_line::after { height: 9.1rem; top: -1.4rem; left: 3rem; }
	.page_org_chart .department { left: 6.8rem; }
	.page_org_chart .department .d_text { min-width: fit-content; }
}

/* *********************************** *
* 사이트맵
* *********************************** */
.page_sitemap { display: flex; flex-direction: column; gap: 11rem; }
.page_sitemap .sitemap_box { display: flex; gap: 8rem; border-top: 1px solid #CACACA; padding-top: 4rem; }
.page_sitemap .site_box { width: 100%; }
.page_sitemap .title { max-width: 100%; width: fit-content; min-width: 23rem; font-weight: 700; font-size: 4rem; line-height: 1.4; }
.page_sitemap .site_list { width: 100%; display: flex; gap: 3.6rem 6.8rem; flex-wrap: wrap; }
.page_sitemap .site_list > li { width: calc((100% - 6.8rem * 3) / 4); }
.page_sitemap .site_list .main_txt { position: relative; font-weight: 700; font-size: 2.4rem; transition: color 0.2s; }
.page_sitemap .site_list .main_txt::after { content: ''; width: 0.7rem; height: 0.7rem; position: absolute; top: -5px; right: -10px; background-color: #00975b; border-radius: 50%; opacity: 0; transform: scale(0.2); transform-origin: center; will-change: transform; transition: opacity 0.2s, transform 0.2s; }
.page_sitemap .site_list > li:hover .main_txt { color: #00975b; }
.page_sitemap .site_list > li:hover .main_txt::after { opacity: 1; transform: scale(1); }
.page_sitemap .sub_box { margin-top: 2.4rem; }
.page_sitemap .sub_list { display: flex; flex-direction: column; gap: 1.2rem; }
.page_sitemap .sub_list .sub_txt { font-size: 1.9rem; }
.page_sitemap .sub_list > li:hover .sub_txt { font-weight: 700; }

@media all and (max-width: 1500px){
	.page_sitemap .site_list > li { width: calc((100% - 6.8rem * 2) / 3); }
}
@media all and (max-width: 768px){
	.page_sitemap { gap: 8rem; }
	.page_sitemap .sitemap_box { flex-direction: column; gap: 4rem; }
	.page_sitemap .site_list { gap: 2.8rem 5rem; }
	.page_sitemap .site_list > li { width: calc((100% - 5rem * 2) / 3); }
	.page_sitemap .sub_box { margin-top: 1.8rem; }
}
@media all and (max-width: 500px){
	.page_sitemap .site_list > li { width: calc((100% - 5rem * 1) / 2); }
}