@charset "utf-8";
.orga_map * ::after {
    content:"";
    position:absolute;
    background-color:#ddd;
    z-index: -1;
}
.orga_map a {font-weight:500}
.orga_map dl {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 80%;
    margin: 0 auto;
    position: relative;
}
.orga_map dt {
    padding: 1rem 0;
}
.orga_map dt.map2 {padding:0}
.map0 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.map0 .top {
    width: 187px;
    height: 187px;
    background-color: #fff;
    border: 20px solid var(--color-main);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}
.map0 .top:after {
    height: 100%;
    width: 1px;
    bottom: -50%;
    left: 50%;
    transform: translate(-50%, 50%);
}
.map0 .map0-1 {
    position: relative;
    text-align: center;
    width: 100%;
    transform: translateX(49%);
}
.map0 .map0-1 a {
    width: 200px;
    display: block;
    float: right;
    background-color: #f3f3f3;
    padding: 1rem 0;
    border-radius: 1rem;
    font-size: var(--font-size2);
}
.map0 .map0-1:after {
    width: 68%;
    height: 1px;
    left: 0;
    top: 50%;
    transform: translatey(-50%);
}
.map0 .map0-1:before {
    content:"";
    position:absolute;
    width:10px;
    height:10px;
    left: 0;
    top:50%;
    background-color: #ccc;
    border-radius: 50%;
    transform: translatey(-50%);
}
.map0 .top a {
    font-size: 28px;
}
.map1 a {
    font-size: var(--font-size2);
}
.map1 ul {}
.map1 ul li {
    width: 200px;
    padding: 1rem;
    border-radius: 1rem;
    text-align: center;
    margin-bottom: 2rem;
    background-color: #e2f5fd;
    position: relative;
}
.map1 ul li:first-child {background-color: var(--color-main);}
.map1 ul li:first-child a {color:#fff;}
.map1 ul li:after {
    width: 1px;
    height: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, 50%);
}
.map1 ul li:last-child::after {height: 84%;}
.map2 {width:100%}
.map2 ul {
    display: flex;
    justify-content: space-around;
    padding-top: 2rem;
    position: relative;
}
.map2 ul li {
    padding: 1rem 0;
    text-align: center;
    border-radius: 2rem;
    border: 2px solid var(--color-main);
    width: 200px;
    position: relative;
    background-color: #fff;
}
.map2 ul:after {
    width: 50%;
    height: 1px;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}
.map2 ul li:after {
    height: 100%;
    width: 1px;
    bottom: 50%;
    left: 50%;
    transform: translate(-50%, -5%);
}
.map2 ul li:before {
    content:"";
    position:absolute;
    width:10px;
    height:10px;
    background-color: var(--color-main);
    top:0;
    left:50%;
    transform:translate(-50%, -50%);
    border-radius:50%
}

/* PC (해상도 ~ 1440px)*/ 
@media only screen and (max-width: 1440px)  {
}

/* 테블릿 가로, 테블릿 세로 (해상도 768px ~ 1023px)*/ 
@media all and (min-width:768px) and (max-width:1023px) {
	.map0 .map0-1 {width:85%}
    
}

/* 모바일 가로, 모바일 세로 (해상도 ~ 767px)*/ 
@media all and (max-width:767px) {
    .orga_map dt {
    padding: 0;
}
    .orga_map dl {width:100%}
    .map0 {
    width: 50%;
}
    .map0 .top {
    width: 150px;
    height: 150px;
    border: 15px solid var(--color-main);
}
    .map0 .top a {font-size: 24px;}
    .map0 .map0-1 {
    transform: translateX(48%);
    padding: .5rem 0;
}
    .map0 .map0-1 a {
    width: 75%;
}
    .map2 ul {
    display: flex;
    justify-content: space-between;
}
    .map1 ul li:last-child::after {height:68%}
}
