/* 조직도 */
.org_wrap{ text-align: center;}
.org_wrap .std{ position:relative; height:2.5rem; line-height:1.3; display: flex; align-items: center; justify-content: center; margin:0 auto; border-radius:0.5rem; font-weight: 600; font-size: 0.95rem;}

.org_wrap .org_dep1{ position:relative; padding-bottom:1.5rem; margin-right: 26px; }
.org_wrap .org_dep1:before{ content:""; position:absolute; left:50%; top:0; height:100%; border-left:1px solid #ccc;}
.org_wrap .org_dep1 h2{ margin-bottom:1.5rem;}
.org_wrap .org_dep1 h2 .std{ max-width:8rem; height:3rem; font-size:1rem; color:#fff; background:#215c00; border:1px solid #ccc;}
.org_wrap .org_dep1 p{ position:absolute; top:calc(50% - 1.75rem); left:calc(50% - 14rem);}
.org_wrap .org_dep1 p:before{ content:""; position:absolute; top:50%; left:100%; width:8rem; border-top:1px solid #ccc;}
.org_wrap .org_dep1 p .std{ width:6rem; color:#111; background:#f4f4f4; border:1px solid #e0e0e0;}
.org_wrap .org_dep1 h3 .std{ max-width:8rem; background:#fff; border:1px solid #215c00; color:#215c00;}

.org_wrap .org_dep2 ul { display: flex; gap: 0.75rem; }
.org_wrap .org_dep2 > ul > li { flex: auto; }
.org_wrap .org_dep2 > ul > li h3 { position: relative; padding: 1rem 0; }
.org_wrap .org_dep2 > ul > li h3::before { position: absolute; bottom: 0; left: 50%; width: 1px; height: 100%; background: #ccc; content: ""; z-index: -1;}
.org_wrap .org_dep2 > ul > li h3::after { position: absolute; top: 0; left: 50%; width: 50%; height: 1px; background: #ccc; content: ""; z-index: -1;}
.org_wrap .org_dep2 > ul > li:nth-child(2) h3::after { width: calc(100% + 3rem); left: -1.5rem; }
.org_wrap .org_dep2 > ul > li:nth-child(3) h3::after { left: auto; right: 50%; }
.org_wrap .org_dep2 > ul > li h3 .std { max-width:8rem; border: 1px solid #111; color: #111; background: #fff; }
.org_wrap .org_dep2 > ul > li .etc { background: #f4f4f4; border: 1px solid #e1e1e1;  padding: 1rem; text-align: center; border-radius: 0.5rem; color: #111; margin-top: 3rem;}
.org_wrap .org_dep2 > ul > li .etc strong { display: block; font-weight: 700; }

.org_wrap .org_dep3 ul { gap: 0.5rem; }
.org_wrap .org_dep3 ul li { position: relative; flex: 1; display: flex; justify-content: center; align-items: center; height: 2.5rem; border: 1px solid #ccc; color: #111; border-radius: 0.5rem; margin-top: 1rem; font-weight: 500;}
.org_wrap .org_dep3 ul li::before { position: absolute; top: -1rem; left: 50%; width: 1px; height: 1rem; content: ""; background: #ccc; } 
.org_wrap .org_dep3 ul li::after { position: absolute; top: calc(-1rem + -1px); left: 50%; width: calc(50% + 0.5rem); height: 1px; content: ""; background: #ccc; } 
.org_wrap .org_dep3 ul li:nth-child(2):after { width: calc(100% + 1rem); left: -0.5rem; } 
.org_wrap .org_dep3 ul li:nth-child(3):after { left: auto; right: 50%; } 
.org_wrap .org_dep3 ul li:nth-child(4):after { left: auto; right: 50%; } 
.org_wrap .org_dep2 > ul > li:nth-child(2) .org_dep3 ul li:nth-child(3):after { width: calc(100% + 1rem); right: -0.5rem; } 
 
@media (max-width: 940px) {

    .org_wrap .org_dep1 { margin-right: 0; }
    .org_wrap .org_dep2 > ul{ flex-direction: column; gap: 2rem;}
    .org_wrap .org_dep2 > ul > li{ border-radius:1rem; border:3px solid #eee; padding: 1.5rem; background:#f8f8f8;}
    .org_wrap .org_dep2 > ul > li h3 { padding: 0 0 1rem 0; z-index: 1;}
    .org_wrap .org_dep2 > ul > li h3::before { z-index: 0;}
    .org_wrap .org_dep2 > ul > li h3::after { display: none;}
    .org_wrap .org_dep2 > ul > li .etc { margin-top: 1rem; background: #fff; }
    .org_wrap .org_dep3 ul li { background: #fff; }
}

@media (max-width: 530px) {

    .org_wrap .org_dep1 h2{ margin-bottom:0;}
    .org_wrap .org_dep1 p{ position:relative; top:auto; left:auto; margin:0.5rem 0;}
    .org_wrap .org_dep1 p:before{ left:0; width:50%; }
    .org_wrap .org_dep1 p .std{ margin-left:0;}
    .org_wrap .org_dep2 > ul > li { padding: 1rem; }
}

@media (max-width: 480px) {

    .org_wrap .org_dep2 > ul > li h3 { padding-bottom: 0; }
    .org_wrap .org_dep2 > ul > li h3::before { display: none; }

    .org_wrap .org_dep3 ul{flex-wrap: wrap; gap: 0;}
    .org_wrap .org_dep3 ul li { flex: 100%; }
    .org_wrap .org_dep3 ul li::after { display: none; }
}
