/* 조직도 */
.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;}
.org_wrap h3 .std strong { position: relative; margin-right: 1rem; padding-right: 1rem; color:#215c00; font-weight: 600; }
.org_wrap h3 .std strong::before { position: absolute; top: 50%; transform: translateY(-50%); right: 0; width: 1px; height: 0.6rem; background: #ccc; content: ""; }
.org_wrap h3 .std em { color: #111; }

.org_wrap .org_dep1{ position:relative; padding-bottom:1.5rem; margin-right: 10.5%; }
.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 h3 .std{ max-width:11rem; gap: 0.3rem; font-size:0.85rem; background:#fff; border:1px solid #215c00;}
.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_dep2 > ul{ position:relative; width:100%; display: flex; gap: 0 2rem;}
.org_wrap .org_dep2 > ul > li{ position: relative; flex: auto; min-width:0px; display: flex; flex-direction: column;}
.org_wrap .org_dep2 > ul > li::after { position: absolute; top: 0; left: 50%; width: 50%; height: 1px; background: #ccc; content: ""; }
.org_wrap .org_dep2 > ul > li:nth-child(2)::after { left: -3rem; width: calc(100% + 6rem); }
.org_wrap .org_dep2 > ul > li:nth-child(3)::after { left: auto; right: 50%; }
.org_wrap .org_dep2 > ul > li h3 { position: relative; padding: 1rem 0; }
.org_wrap .org_dep2 > ul > li h3::before { position: absolute; top: 0; left: 50%; width: 1px; height: 100%; background: #ccc; content: ""; }
.org_wrap .org_dep2 > ul > li h3 .std{ max-width:11rem; gap: 0.3rem; font-size:0.85rem; color:#111; background:#fff; border:1px solid #579457; }

.org_wrap .org_dep3 { position:relative; width:100%; flex: 1; display: flex; gap: 0 0.5rem;}
.org_wrap .org_dep3:before{ content:""; position:absolute; top:0; border-top:1px solid #ccc;}
.org_wrap li.col-2 .org_dep3:before{ width:calc(50% + 0.25rem); left:calc(25% - 0.15rem);}
.org_wrap li.col-3 .org_dep3:before{ width:calc(67.4% + 0.25rem); left:calc(16.6% - 0.15rem);}
.org_wrap li.col-4 .org_dep3:before{ width:calc(75% + 0.4rem); left:calc(12.5% - 0.15rem);}
.org_wrap .org_dep3 dl{ position:relative; min-height:100%; width: 120px; max-width: 100%; display: flex; flex: 1; flex-direction: column; gap: 0.75rem 0; padding-top:1.5rem;}
.org_wrap .org_dep3 dl::after { position: absolute; top: 0; left: 0; width: calc(100% + 1.5rem); height: 1px; background: #ccc; content: ""; }
.org_wrap .org_dep3 dl:first-child:after { width: calc(50% + 0.75rem); left: auto; right: -0.75rem; }
.org_wrap .org_dep3 dl:last-child::after { width: calc(50% + 0.75rem); left: -0.75rem;}
.org_wrap .org_dep3 dl:before{ content:""; position:absolute; left:50%; top:0; height:100%; border-left:1px solid #ccc;}
.org_wrap .org_dep3 dd{ position:relative; flex: 1; padding:1rem 0.5rem; background:#fff; border-radius:0.5rem; border:1px solid #ccc; }
.org_wrap .org_dep3 dd p{ margin:5px 0; font-size:0.8rem; color:#111;}
.org_wrap .org_dep3 .std{ width: 100%; border:1px solid #111; background:#fff; color: #111; }


@media (max-width: 940px) {

    .org_wrap .org_dep1 { margin-right: 0; }

    .org_wrap .org_dep2 > ul { display: block; }
    .org_wrap .org_dep2 > ul > li + li { margin-top: 2rem; }
    .org_wrap .org_dep2 > ul > li::after { display: none; }
    .org_wrap .org_dep2 > ul > li h3 { padding-top: 0; }

    .org_wrap .org_dep3 { border-radius: 1rem; border: 3px solid #eee; padding: 1.5rem; background: #f8f8f8; justify-content: center; gap: 0.8rem 0.5rem; flex-wrap: wrap; }
    .org_wrap .org_dep3 dl { padding-top: 0; flex: auto; }
    .org_wrap .org_dep3 dl::after { display: none; }
    
}

@media (max-width: 640px) {
    .org_wrap .org_dep3 { justify-content: flex-start; }
    .org_wrap .org_dep3 dl { width: calc((100% - 1rem) / 2); flex: none; }
}

@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;}
}


@media (max-width: 480px) {
    .org_wrap .org_dep3 { padding: 0.5rem; }
    
}


