@charset "UTF-8";

.org_wrap { position: relative; text-align: center; padding-bottom: 4rem; }
.org_wrap .std { position: relative; max-width: 9.5rem; height: 3rem; border-radius: 0.5rem; font-weight: 600; display: flex; justify-content: center; align-items: center; margin: 0 auto; font-size: 0.9rem; }

.org_wrap .org_dep1 h2 { position: relative; padding: 0 0 2rem 0; }
.org_wrap .org_dep1 h2::before { position: absolute; top: 0; left: 50%; width: 1px; height: 100%; background: #ccc; content: ""; z-index: 0; }
.org_wrap .org_dep1 h2 .std { background: #2a6900; color: #fff; z-index: 1; }

.org_wrap .org_dep2 { display: flex; justify-content: space-between; }
.org_wrap .org_dep2 h3 { position: relative; padding: 2rem 0; }
.org_wrap .org_dep2 h3::before { position: absolute; top: 0; left: 50%; width: 1px; height: 100%; background: #ccc; content: ""; z-index: 0; }
.org_wrap .org_dep2 h3 .std { background: #fff; color: #2a6900; border: 1px solid #2a6900; z-index: 1; }
.org_wrap .org_dep2 h4 { position: relative; padding: 2rem 0 0; }
.org_wrap .org_dep2 .etc h4 { padding-bottom: 1rem; }
.org_wrap .org_dep2 h4::before { position: absolute; top: 0; left: 50%; width: 1px; height: 100%; background: #ccc; content: ""; z-index: 0; }
.org_wrap .org_dep2 h4::after { position: absolute; top: 0; left: -0.5rem; width: calc(100% + 0.5rem); height: 1px; background: #ccc; content: ""; }
.org_wrap .org_dep2 dl dd > ul > li:first-child h4::after { left: auto; right: -0.5rem; width: calc(50% + 0.5rem); }
.org_wrap .org_dep2 dl dd > ul > li:last-child h4::after { width: calc(50% + 0.5rem); }
.org_wrap .org_dep2 h4 .std { background: #fff; color: #111; border: 1px solid #111; }

.org_wrap .org_dep2 dl:nth-child(1) { width: 32%;}
.org_wrap .org_dep2 dl:nth-child(2) { width: 65%;}
.org_wrap .org_dep2 dl dt { position: relative; }
.org_wrap .org_dep2 dl dt::before { position: absolute; top: 0; left: -1rem; width: calc(50% + 1rem); height: 1px; background: #ccc; content: "";}
.org_wrap .org_dep2 dl:nth-child(1) dt::before { left: auto; right: -1rem; }
.org_wrap .org_dep2 dl dd > ul { display: flex; gap: 0.5rem; }
.org_wrap .org_dep2 dl dd > ul > li { flex: 1; }

.org_wrap .org_dep3 { position: absolute; left: 0; width: 64.9%; }
.org_wrap .org_dep3 ul { display: flex; gap: 0.5rem; }
.org_wrap .org_dep3 ul li { position: relative; flex: 1; padding-top: 1rem; }
.org_wrap .org_dep3 ul li::before { position: absolute; top: 0; left: 50%; width: 1px; height: 100%; background: #ccc; content: ""; z-index: 0; }
.org_wrap .org_dep3 ul li::after { position: absolute; top: 0; left: -0.5rem; width: calc(100% + 0.5rem); height: 1px; background: #ccc; content: ""; }
.org_wrap .org_dep3 ul li:first-child:after { left: auto; right: -0.5rem; width: calc(50% + 0.5rem); }
.org_wrap .org_dep3 ul li:last-child:after { width: calc(50% + 0.5rem); }
.org_wrap .org_dep3 ul li .std { background: #f1f1f1; border: 1px solid #ccc; width: 100%; z-index: 1; }

@media screen and (max-width:940px){

    .org_wrap .org_dep1 h2 { padding-bottom: 0; margin-bottom: 2rem;}

    .org_wrap .org_dep2 { display: block; }
    .org_wrap .org_dep2 h3 { padding: 0 0 1rem; }
    .org_wrap .org_dep2 h4 { padding-top: 0; }
    .org_wrap .org_dep2 h4::after { display: none; }
    .org_wrap .org_dep2 dl { width: 100% !important; }
    .org_wrap .org_dep2 dl + dl { margin-top: 2rem; }
    .org_wrap .org_dep2 dl dt::before { display: none; }
    .org_wrap .org_dep2 dl dd { border-radius: 0.5rem; border: 3px solid #eee; background: #f8f8f8; padding: 1rem; }
    .org_wrap .org_dep2 dl dd > ul > li { flex: auto; }

    .org_wrap .org_dep3 { position: relative; left: auto; width: 100%; }
    .org_wrap .org_dep3 ul li .std { background: #fff; }
}

@media screen and (max-width:680px){
    .org_wrap .org_dep2 dl:nth-child(1) dd > ul { display: block; }
    .org_wrap .org_dep2 dl:nth-child(1) dd > ul > li + li { margin-top: 1rem; }

}

@media screen and (max-width:480px){
    .org_wrap .org_dep2 dl:nth-child(2) dd > ul { flex-wrap: wrap; }
    .org_wrap .org_dep2 dl:nth-child(2) dd > ul > li { flex: none; width: calc((100% - 0.5rem) / 2); }
    .org_wrap .org_dep3 ul { flex-wrap: wrap; padding: 1rem; border-radius: 0.5rem; background: #eee; }
    .org_wrap .org_dep3 ul li { flex: none; width: calc((100% - 0.5rem) / 2); padding-top: 0; }
    .org_wrap .org_dep3 ul li::before,
    .org_wrap .org_dep3 ul li::after { display: none; }
}