/* 0104_시설안내 */
[id^="facility"] { display: none; }
[id^="facility"].on { display: block; }

/*** 0105_조직도 ***/
.orgnWrap {
    position: relative; padding: calc(var(--titSize) * 2.5) calc(var(--titSize) * 4.5) calc(var(--titSize) * 1.5); text-align: center;
    border: 1px solid #D5D5D5; border-radius: 0.6rem;
}
.orgnTop { position: relative; }  
.orgnTop::after { content: ""; position: absolute; top: 100%; left: 50%; width: 1px; height: calc(var(--titSize) * 7.7); background: #ccc; transform: translateX(-50%); }

/* 원장 · 부서 원형 노드 */
.orgnCircle { position: relative; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; border-radius: 50%; box-sizing: border-box; color: #fff; word-break: keep-all; overflow: hidden; }
.orgnCircle span { position: relative; z-index: 1; }
.orgnCircle--ceo { width: calc(var(--titSize) * 9.5); height: calc(var(--titSize) * 9.5); border: var(--titSize) solid #eef1ff; background: linear-gradient(180deg, #025adf 0%, #1b298c 100%); font-size: calc(var(--titSize) * 1.2); font-weight: 700; overflow: hidden; }
.orgnCircle::before { position: absolute; content: ""; width: calc(var(--titSize) * 7.1); height: calc(var(--titSize) * 7.1); background: linear-gradient(180deg, #0750CD 0%, #1242D7 100%); top: calc(var(--titSize) * 1.75); left: calc(var(--titSize) * 1.25); border-radius: 50%; }
.orgnCircle.orgnCircle--dept::before { background: linear-gradient(180deg, #047198 0%, #58B2D2 100%); top: calc(var(--titSize) * 1.5); left: calc(var(--titSize) * 1.7); }
.orgnCircle--dept { width: calc(var(--titSize) * 6); height: calc(var(--titSize) * 6); background: #047198; font-size: var(--titSize); font-weight: 600; }

/* 원장 - 자문위원회 분기 */
.orgnTop { position: relative; display: flex; flex-direction: column; align-items: center; }
.orgnAdviso { position: relative; }
.orgnBox--adviso { position: absolute; left: calc(var(--titSize) * 13.3); top: calc((var(--titSize) * 3.85) - calc(var(--titSize) * 1.75)); width: calc(var(--titSize) * 10); height: calc(var(--titSize) * 3.5); padding: 0 calc(var(--titSize) * 0.5); border-radius: 0.25rem; background: linear-gradient(0deg, #009858 0%, #85bc20 100%); color: #fff; font-size: calc(var(--titSize) * 0.9); font-weight: 600; box-sizing: border-box; }
.orgnBox--adviso::before { position: absolute; content: ""; width: 0.4rem; height: 0.4rem; border-radius: 50%; background: #fff; border: 2.5px solid rgba(8, 155, 85, 0.6); left: 0; transform: translate(-50%, -50%); top: 50%;  z-index: 1; }
.orgnBox--adviso:after { position: absolute; content: ""; width: calc(var(--titSize) * 13.3); right: 100%; top: 50%; transform: translateY(-50%); height: 1px; background: #CCCCCC; }

/* 박스 공통 */
.orgnBox { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; text-align: center; word-break: keep-all; line-height: 1.3; }
.orgnBox--team { width: 100%; height: calc(var(--titSize) * 2.5); padding: 0 calc(var(--titSize) * 0.3); border-radius: 0.5rem; background: #40399f; color: #fff; font-size: calc(var(--titSize) * 0.75); font-weight: 500; }
.orgnBox--sub { width: 100%; border-radius: 0.5rem; background: #fff; box-shadow: 0px 0px 7px rgba(2, 90, 223, 0.2); padding: calc(var(--titSize) * 0.3) calc(var(--titSize) * 0.75); font-size: calc(var(--titSize) * 0.75); position: relative; height: calc(var(--titSize) * 2.55); }
.orgnBox--sub::before { position: absolute; content: ""; width: 0.4rem; height: 0.4rem; border-radius: 50%; background: #fff; border: 2.5px solid rgba(216, 230, 255, 0.6); left: 50%; transform: translate(-50%, 50%); bottom: 100%; z-index: 1; }
.orgnSubRow::before,
.orgnBox--sub::after { position: absolute; content: ""; bottom: 100%; left: 50%; transform: translateX(-50%); width: 1px; background: #ccc; height: calc(var(--titSize) * 1.45); }
.orgnSubRow::before { height: calc((var(--titSize) * 1.45) + var(--titSize) * 1.275); bottom: calc(100% - calc(var(--titSize) * 1.275)); }
.orgnTeamCol.absol .orgnSubRow::after { height: 1px; position: absolute; content: ""; width: 100%; z-index: -1; background: #ccc; left: 50%; transform: translate(-50%, -50%); top: 50%; }
.orgnTeamCol.absol .orgnBox--sub::after,
.orgnTeamCol.absol .orgnBox--sub::before { display: none; }

/* 부서 3열 */
.orgnDeptRow { position: relative; display: flex; justify-content: center; align-items: flex-start; flex-wrap: wrap; gap: calc(var(--titSize) * 1.5); margin-top: calc(var(--titSize) * 7.7); }
.orgnDeptRow:before { position: absolute; content: ""; width: 80%; top: calc(var(--titSize) * 3); left: 50%; transform: translateX(-50%); background: #ccc; height: 1px; }
.orgnDept { position: relative; width: calc((100% - calc(var(--titSize) * 3)) / 3); display: flex; flex-direction: column; align-items: center; }
.orgnWrap .dott { position: relative; }
.orgnWrap .dott::before { position: absolute; content: ""; width: 0.4rem; height: 0.4rem; border-radius: 50%; background: #fff; border: 2.5px solid rgba(4, 113, 152, 0.6); left: 50%; transform: translate(-50%, 50%); bottom: 100%; z-index: 1; }
.orgnWrap .orgnDept.dottB::after { position: absolute; content: ""; width: 0.4rem; height: 0.4rem; border-radius: 50%; background: #fff; border: 2.5px solid rgba(64, 57, 159, 0.6); left: 50%; transform: translate(-50%, -50%); top: calc(calc(var(--titSize) * 6) + calc(var(--titSize) * 1.5)); z-index: 1; }

/* 팀 3열 */
.orgnTeamRow { position: relative; display: flex; flex-wrap: nowrap; justify-content: center; gap: calc(var(--titSize) * 0.75); margin-top: calc(var(--titSize) * 1.5); width: 100%; padding-bottom: calc(var(--titSize) * 4); }
.orgnTeamRow::before { position: absolute; content: ""; width: 100%; height: 1px; background: #CCCCCC; left: 50%; transform: translateX(-50%); top: calc(var(--titSize) * 1.25); z-index: -1; }
.orgnTeamRow::after { position: absolute; content: ""; left: 50%; transform: translateX(-50%); bottom: 100%; width: 1px; height: calc(var(--titSize) * 1.5); background: #ccc; } 
.orgnTeamCol { width: calc((100% - calc(var(--titSize) * 1.5)) / 3); }
.orgnWrap .orgnDept:last-child .orgnTeamRow { padding-bottom: 0; }

/* 하위기관 */
.orgnTeamCol.hasSub .orgnBox--team::after { content: ""; position: absolute; top: 100%; left: 50%; width: 1px; height: var(--orgnStem3); background: #ccc; }
.orgnSubRow { display: flex; align-items: center; gap: calc(var(--titSize) * 0.75); width: 100%; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); }
.orgnSubRow > li { position: relative; width: calc((100% - calc(var(--titSize) * 1.5)) / 3); }
.orgnTeamCol.absol .orgnSubRow > li { width: calc((100% - calc(var(--titSize) * 2)) / 2); }
.orgnTeamCol.absol .orgnSubRow { gap: calc(var(--titSize) * 2); }
.orgnTbl tr.actv { background: #E8F4FC; }

/* 정보공개절차 */
.infoViewBox .img { display: flex; align-items: center; justify-content: center; font-size: 0; line-height: 0; width: 100%; padding-bottom: calc(var(--titSize) * 2); border-bottom: 1px solid #D5D5D5; }
.infoViewBox .img img { max-width: 100%; }
.infoViewBox .inner,
.infoViewBox .list_st1 { display: flex; flex-direction: column; align-items: center; justify-content: center; }
.infoViewBox .list_st1 { margin: calc(var(--titSize) * 2) 0; }
.infoViewBox .btns { margin: 0 !important; }
.infoViewBox .btnIco::before,
.infoViewBox .btn_grL { color: rgba(var(--priColor)) !important; }


/****** 반응형 ******/

@media screen and (max-width: 1440px) {
    /*** 0105_조직도 ***/
    .orgnWrap { padding: calc(var(--titSize) * 2.5) calc(var(--titSize) * 1.5) calc(var(--titSize) * 1.5); }
    .orgnBox--adviso { left: 15.69vw; }
    .orgnBox--adviso:after { width: 15.69vw; }
}

@media screen and (max-width: 1240px) {
    
}

@media screen and (max-width: 1024px) {
}

@media screen and (max-width: 968px) {
    /*** 0105_조직도 ***/
    .orgnDeptRow { margin-top: calc(var(--titSize) * 2); }
    .orgnBox--adviso { position: relative; transform: none; left: auto; right: auto; top: auto; bottom: auto; margin-top: calc(var(--titSize) * 2); }
    .orgnTeamRow::after,
    .orgnTop::after,
    .orgnWrap .dott::before,
    .orgnDeptRow:before,
    .orgnBox--adviso::before,
    .orgnBox--adviso::after { display: none; }
    .orgnDeptRow { flex-direction: column; }
    .orgnDept { width: 100%; }
    .orgnWrap::before { position: absolute; content: ""; width: 1px; height: calc(100% - calc(var(--titSize) * 4)); left: 50%; transform: translateX(-50%); background: #ccc; }
}

@media screen and (max-width: 860px) {

}

@media screen and (max-width: 768px) {
    /* 정보공개절차 */
    .infoViewBox .img { padding-bottom: calc(var(--titSize) * 1.5); }
    .infoViewBox .list_st1 { margin: calc(var(--titSize) * 1.5) 0; }
    .infoViewBox .img img { max-width: calc(var(--titSize) * 12.5); }
}

@media screen and (max-width: 640px) {

}

@media screen and (max-width: 580px) {

}

@media screen and (max-width: 480px) {

}

@media screen and (max-width: 380px) {
    /*** 0105_조직도 ***/
    .orgnWrap { padding: calc(var(--titSize) * 2) calc(var(--titSize) * 1); }
    .orgnBox--adviso { height: calc(var(--titSize) * 2.5); margin-top: calc(var(--titSize) * 1.5); }
    .orgnDeptRow { margin-top: calc(var(--titSize) * 1.5); }
    .orgnCircle::before { top: calc(var(--titSize) * 1.25); left: calc(var(--titSize) * 1); }
    .orgnCircle::before,
    .orgnWrap .orgnDept.dottB::after { display: none !important; }
    .orgnAdviso { width: 100%; }
    .orgnCircle--ceo,
    .orgnBox--adviso,
    .orgnCircle--dept { width: 100%; border: none; height: auto; padding: 0.5rem; border-radius: 0.5rem; }
    .orgnSubRow,
    .orgnTeamRow { gap: calc(var(--titSize) * 0.5); }
    .orgnSubRow li,
    .orgnTeamCol { width: calc((100% - calc(var(--titSize) * 1)) / 3); }
    .orgnCircle--dept { font-size: calc(var(--titSize) * 0.9); }
    .orgnCircle--ceo { font-size: calc(var(--titSize) * 1); }

    /* 정보공개절차 */
    .infoViewBox .img img { max-width: calc(var(--titSize) * 10); }
    .infoViewBox .img { padding-bottom: calc(var(--titSize) * 1.25); }
    .infoViewBox .list_st1 { margin: calc(var(--titSize) * 1.25) 0; }
}

@media screen and (max-width: 320px) {

}