@charset "utf-8";
    :root {
      --level-1: #8dccad;
	 --level-0: #8dccad;
		
      --level-2: #f5cc7f;
      --level-3: #7b9fe0;
      --level-4: #f27c8d;
		
      --black: #999;
	  
		--rectangle-pd:  15px 10px;  /*토탈 박스 폰트크기*/
		--rectangle-rd:  0px 15px 15px 15px;  /*토탈 박스 폰트크기*/
		--rectangle-ft:   18px; /*토탈 박스 폰트크기*/
		
		
		--rectangle0-pd:  15px 60px;  /*박스 폰트크기*/
		--rectangle0-rd:  0px 15px 15px 15px;  /*박스 폰트크기*/
		--rectangle0-ft:   18px; /*박스 폰트크기*/
		--rectangle0-fc:   #fff; /*박스 폰트컬러 */
		
		
		--rectangle1-pd:  15px 60px;  /*박스 폰트크기*/
		--rectangle1-rd:  0px 15px 15px 15px;  /*박스 폰트크기*/
		--rectangle1-ft:   18px; /*박스 폰트크기*/
		--rectangle1-fc:   #fff; /*박스 폰트컬러 */
		
		--rectangle2-pd:  15px 10px;  /*박스 폰트크기*/
		--rectangle2-rd: 0px 15px 15px 15px;  /*박스 폰트크기*/
		--rectangle2-ft:   18px; /*박스 폰트크기*/
		--rectangle2-fc:   #fff; /*박스 폰트컬러 */
		
		--rectangle3-pd:  15px 10px;  /*박스 폰트크기*/
		--rectangle3-rd: 0px 15px 15px 15px;  /*박스 폰트크기*/
		--rectangle3-ft:   18px; /*박스 폰트크기*/
		--rectangle3-fc:   #fff; /*박스 폰트컬러 */
		
		--rectangle4-pd:  15px 10px;  /*박스 폰트크기*/
		--rectangle4-rd:  5px;  /*박스 폰트크기*/
		--rectangle4-ft:   14px; /*박스 폰트크기*/
		--rectangle4-fc:   #fff; /*박스 폰트컬러 */
				
    }

 
.organization_box{ width: 100%; float: left; margin-bottom: 100px;}
.organization_box  .contents-inner {  width: 100%; float: left; position: relative  ;  }

/* ① 스케일 기준 컨테이너 지정 */
.organization_box { position: relative; }


/* 스케일될 대상 자체 */

/* 구분 -----------------------------------*/
/**** pc ****/
@media only all and (min-width:768px) {.or_all {
  width: 100%;   border: 1px solid #ccc; padding: 50px  ; border-radius: 15px; /* ★ 기준 설계 폭 (원하면 숫자만 바꾸면 됨) */

}
}
/**** pc2 ****/
@media all and (max-width:1280px) and (min-width:768px) {.or_all {

}
}
/**** 모바일 ****/
@media only all and (max-width:767px) {  .organization_box {  }
  .or_all { width: 100%; }  /* 원본 폭 유지 */
}
}
/**** 모바일2 ****/
@media only all and (max-width:400px) {
}
/* 구분 //end -----------------------------------*/





/* 구분 -----------------------------------*/
/**** pc ****/
@media only all and (min-width:768px) { 
	.rectangle { position: relative;  padding: var(--rectangle-pd); box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);  border-radius:var(--rectangle-rd); font-size:var(--rectangle-ft); text-align: center; transition: all 0.5s;-moz-transition: all 0.5s; -webkit-transition: all 0.5s;-o-transition: all 0.5s;  min-width: 150px; margin: 0px 5px  }
	
	
.level-etc0 {width:100%;       padding: var(--rectangle0-pd);	   border-radius:var(--rectangle0-rd); ; background-color:var(--level-0); font-size: var(--rectangle0-ft);  z-index: 1; position: relative ; color:var(--rectangle0-fc);   }
    .rectangle.level-1 {
      padding: var(--rectangle1-pd);
      border-radius:var(--rectangle1-rd); font-size:var(--rectangle1-ft); text-align: center; color:var(--rectangle1-fc);
    }

    .rectangle.level-2  {
      padding: var(--rectangle2-pd);
      border-radius:var(--rectangle2-rd); font-size:var(--rectangle2-ft); text-align: center; color:var(--rectangle1-fc);
    }

    .rectangle.level-3  {
      padding: var(--rectangle3-pd);
      border-radius:var(--rectangle3-rd); font-size:var(--rectangle3-ft); text-align: center; color:var(--rectangle1-fc);
    }

    .rectangle.level-4  {
      padding: var(--rectangle4-pd);
      border-radius:var(--rectangle4-rd); font-size:var(--rectangle4-ft); text-align: center; color:var(--rectangle1-fc);
    }


}
/**** pc2 ****/
@media all and (max-width:1280px) and (min-width:768px) {
}
/**** 모바일 ****/
@media only all and (max-width:767px) { 
	
	.rectangle { position: relative;  padding: var(--rectangle-pd) 0px; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);  border-radius:var(--rectangle-rd); font-size:calc(var(--rectangle-ft) * 0.6);text-align: center; transition: all 0.5s;-moz-transition: all 0.5s; -webkit-transition: all 0.5s;-o-transition: all 0.5s;  min-width:100%; margin: 0px 0px  }
	

.level-etc0 {width:100%;         padding:10px 10px;	   border-radius:var(--rectangle0-rd); ; background-color:var(--level-0); font-size:calc(var(--rectangle0-ft) * 0.7);  z-index: 1; position: relative ; color:var(--rectangle0-fc);   }
	
    .rectangle.level-1 {
      padding:10px 30px;
      border-radius:var(--rectangle1-rd); font-size:calc(var(--rectangle1-ft) * 0.7);text-align: center; color:var(--rectangle1-fc);
    }

    .rectangle.level-2  {
     padding:10px 20px;
      border-radius:var(--rectangle2-rd); font-size:calc(var(--rectangle2-ft) * 0.7); text-align: center; color:var(--rectangle1-fc);
    }

    .rectangle.level-3  {
    padding:10px 20px;
      border-radius:var(--rectangle3-rd); font-size:calc(var(--rectangle3-ft) * 0.7); text-align: center; color:var(--rectangle1-fc);
    }

    .rectangle.level-4  {
       padding:10px 20px;
      border-radius:var(--rectangle4-rd); font-size:calc(var(--rectangle4-ft) * 0.7); text-align: center; color:var(--rectangle1-fc);
    }


}
/**** 모바일2 ****/
@media only all and (max-width:400px) {
}
/* 구분 //end -----------------------------------*/




    .rectangle:hover {
      opacity:1;
      cursor: pointer;   box-shadow:3px 3px 30px rgba(0,0,0,0.2);

    }
/* 구분 -----------------------------------*/
/**** pc ****/
@media only all and (min-width:768px) {.or_all{ width: 100%; float: left}
}
/**** pc2 ****/
@media all and (max-width:1280px) and (min-width:768px) {
}
/**** 모바일 ****/
@media only all and (max-width:767px) {.or_all{ width: 100%; float: left 	}
}
/**** 모바일2 ****/
@media only all and (max-width:400px) {
}
/* 구분 //end -----------------------------------*/



/* 구분 -----------------------------------*/
/**** pc ****/
@media only all and (min-width:768px) {.bo-insert-content{}
}
/**** pc2 ****/
@media all and (max-width:1280px) and (min-width:768px) {
}
/**** 모바일 ****/
@media only all and (max-width:767px) {.bo-insert-content{ }
}
/**** 모바일2 ****/
@media only all and (max-width:400px) {
}
/* 구분 //end -----------------------------------*/




/* 구분 -----------------------------------*/
/**** pc ****/
@media only all and (min-width:768px) {   .level-1-wrapper_out{
      position: relative;width:100%;   float: left; display: flex;  justify-content: center;  align-items: center;flex-direction: column; margin-left: -50px
    }
}
/**** pc2 ****/
@media all and (max-width:1280px) and (min-width:768px) {
}
/**** 모바일 ****/
@media only all and (max-width:767px) {   .level-1-wrapper_out{
      position: relative;width:100%;   float: left; display: flex;  justify-content: center;  align-items: center;flex-direction: column; margin-left: 0px; 
    }
}
/**** 모바일2 ****/
@media only all and (max-width:400px) {
}
/* 구분 //end -----------------------------------*/



    .level-1-wrapper {
      position: relative;width: auto; 
    }
   .level-1-wrapper_out::before {
      content: ""; position: absolute;bottom: 0%; left: 50%;
      transform: translateX(-50%);
      width: 0.5px; height:100%; background: var(--black); 
    }


 /* level-1 ------------------------------*/

.level-1 { width: auto; background: var(--level-1); position: relative;   margin-bottom: 40px; min-width:220px; }


.level-0-wrapper{   width: 100% ; float: left;   margin-bottom: 40px; display: flex;  justify-content: center;  align-items: center; }
.level-0-left{   width: auto ; float: left; min-width:260px; text-align: center; padding: 0px ; margin-left: 35px}
.level-0-right{   width: 100% ; float: left;  display: flex;   align-items:flex-start; flex-direction: column; }





.level-line{ width: 15%; height: 1px;  background-color: var(--black)   }


/* 구분 -----------------------------------*/
/**** pc ****/
@media only all and (min-width:768px) {.level-2-wrapper {  position: relative; display: grid; width: 100%; float: left; margin-top: 20px ;  }
}
/**** pc2 ****/
@media all and (max-width:1280px) and (min-width:768px) {	
}
/**** 모바일 ****/
@media only all and (max-width:767px) {.level-2-wrapper {  position: relative;  width: 100%; float: left; margin-top: 0px ;   }
	
	
	ol.level-2-wrapper>li:nth-child(2){ margin-top: 20px
	}
}
/**** 모바일2 ****/
@media only all and (max-width:400px) {
}
/* 구분 //end -----------------------------------*/




    /* 구분 -----------------------------------*/
/**** pc ****/
@media only all and (min-width:768px) {.level-2-wrapper li { position: relative;display: flex; align-items: center; flex-direction: column; }
}
/**** pc2 ****/
@media all and (max-width:1280px) and (min-width:768px) {
}
/**** 모바일 ****/
@media only all and (max-width:767px) {.level-2-wrapper>li { position: relative;display: flex; align-items: center; flex-direction: column; }
}
/**** 모바일2 ****/
@media only all and (max-width:400px) {
}
/* 구분 //end -----------------------------------*/



/* level-2 ------------------------------*/	  





/* 구분 -----------------------------------*/
/**** pc ****/
@media only all and (min-width:768px) {.level-2 { width:auto;  margin: 0 auto 40px;  background: var(--level-2); color:#fff!important  }

	
}
/**** pc2 ****/
@media all and (max-width:1280px) and (min-width:768px) {
}
/**** 모바일 ****/
@media only all and (max-width:767px) {.level-2 { width:auto;  margin: 0 auto 20px;  background: var(--level-2);  }

}
/**** 모바일2 ****/
@media only all and (max-width:400px) {
}
/* 구분 //end -----------------------------------*/





/* 구분 -----------------------------------*/
/**** pc ****/
@media only all and (min-width:768px) {
.level-2-wrapper>li:first-child::after{   content: "";  left: calc(50% + 1px);  transform: translateX(0%);   width:50%;   }

.level-2-wrapper>li:last-child::after{  content: "";   top: -20px;	left: auto;    right: calc(50% + 1px);  transform: translateX(0%);   width:50%;    }

	  
}
/**** pc2 ****/
@media all and (max-width:1280px) and (min-width:768px) {
}
/**** 모바일 ****/
@media only all and (max-width:767px) {
	
.level-2-wrapper>li:first-child::after{   content: "";  left: calc(50% + 1px);  transform: translateX(0%);   width:50%;  display: none  }

.level-2-wrapper>li:last-child::after{  content: "";   top: -20px;	left: auto;    right: calc(50% + 1px);  transform: translateX(0%);   width:50%;  ;  display: none   }

	  
}
/**** 모바일2 ****/
@media only all and (max-width:400px) {
}
/* 구분 //end -----------------------------------*/


/*  레벨2의 박스 */   






/* 구분 -----------------------------------*/
/**** pc ****/
@media only all and (min-width:768px) {    .level-3-wrapper:before{
      content: "";
      position: absolute;
      top:-40px;
      left: calc(50% + 0px);
      transform: translateX(-50%);
        width: 0.5px;
      height: 20px;
      background: var(--black);
    }

}
/**** pc2 ****/
@media all and (max-width:1280px) and (min-width:768px) {
}
/**** 모바일 ****/
@media only all and (max-width:767px) {    .level-3-wrapper:before{
      content: "";
      position: absolute;
      bottom:100%;
      left: calc(50% + 0px);
      transform: translateX(-50%);
        width: 0.5px;
      height: 20px;
      background: var(--black); 
    }

}
/**** 모바일2 ****/
@media only all and (max-width:400px) {
}
/* 구분 //end -----------------------------------*/





	 /* level-3 상단 세로줄 */
	  
/* 구분 -----------------------------------*/
/**** pc ****/
@media only all and (min-width:768px) {    .level-3-wrapper > li::before {
      content: "";
      position: absolute;
      top: 0;
      left: 50%;
      transform: translate(-50%, -100%);
      width: 0.5px;
      height: 20px;
      background: var(--black);
    }

}
/**** pc2 ****/
@media all and (max-width:1280px) and (min-width:768px) {
}
/**** 모바일 ****/
@media only all and (max-width:767px) {    .level-3-wrapper > li::before {
      content: "";
      position: absolute;
      top: 0;
      left: 50%;
      transform: translate(-50%, -100%);
      width: 0.5px;
      height: 20px;
      background: var(--black);display: none
    }

}
/**** 모바일2 ****/
@media only all and (max-width:400px) {
}
/* 구분 //end -----------------------------------*/


/* 구분 -----------------------------------*/
/**** pc ****/
@media only all and (min-width:768px) {
		.level-3-wrapper > li::after {
    content: "";
      position: absolute;
      top: -20px;
      left: calc(50% + 1px);
      transform: translateX(-50%);
      width:100%;
      height:1px;
      background: var(--black);
    }
	  
		    
	.level-3-wrapper > li:first-child::after {
     content: "";
      position: absolute;
      top: -20px;
      left: calc(50% + 1px);
      transform: translateX(0%);
      width:50%;
      height:1px;
      background: var(--black);
    }
	  
}
/**** pc2 ****/
@media all and (max-width:1280px) and (min-width:768px) {
}
/**** 모바일 ****/
@media only all and (max-width:767px) {
		.level-3-wrapper > li::after {
    content: "";
      position: absolute;
      top: -20px;
      left: calc(50% + 1px);
      transform: translateX(-50%);
      width:100%;
      height:1px;
      background: var(--black); display: none
    }
	  	    
	.level-3-wrapper > li:first-child::after {
     content: "";
      position: absolute;
      top: -20px;
      left: calc(50% + 1px);
      transform: translateX(0%);
      width:50%;
      height:1px;
      background: var(--black); display: none
    }
	  
}
/**** 모바일2 ****/
@media only all and (max-width:400px) {
}
/* 구분 //end -----------------------------------*/


	  
/* 구분 -----------------------------------*/
/**** pc ****/
@media only all and (min-width:768px) {
	
	
	    
	.level-3-wrapper > li:first-child::after {
     content: "";
      position: absolute;
      top: -20px;
      left: calc(50% + 1px);
      transform: translateX(0%);
      width:50%;
      height:1px;
      background: var(--black);
    }
	  
	 	    
	.level-3-wrapper > li:last-child::after {
       content: "";
      position: absolute;
      top: -20px;
	left: auto;
      right: calc(50% - 1px);
      transform: translateX(0%);
      width:50%;
      height:1px;
      background: var(--black);
    }
	  
	   
	.level-3-wrapper.grid1  > li:first-child::after {
   display: none
    }
	  
	.level-3-wrapper.grid1  > li:last-child:::after {
   display: none
    }
}
/**** pc2 ****/
@media all and (max-width:1280px) and (min-width:768px) {
}
/**** 모바일 ****/
@media only all and (max-width:767px) {
	
	
	    
	.level-3-wrapper > li:first-child::after {
     content: "";
      position: absolute;
      top: -20px;
      left: calc(50% + 1px);
      transform: translateX(0%);
      width:50%;
      height:1px;
      background: var(--black); display: none
    }
	  
	 	    
	.level-3-wrapper > li:last-child::after {
       content: "";
      position: absolute;
      top: -20px;
	left: auto;
      right: calc(50% - 1px);
      transform: translateX(0%);
      width:50%;
      height:1px;
      background: var(--black); display: none
    }
	  
	   
	.level-3-wrapper.grid1  > li:first-child::after {
   display: none
    }
	  
	.level-3-wrapper.grid1  > li:last-child:::after {
   display: none
    }
}
/**** 모바일2 ****/
@media only all and (max-width:400px) {
}
/* 구분 //end -----------------------------------*/


	  
ol{box-sizing: border-box}  
	  
	  
.level-3 {  background: var(--level-3); margin: 0 auto 20px;  }
/* 구분 -----------------------------------*/
/**** pc ****/
@media only all and (min-width:768px) {.level-3-wrapper { position: relative;      display: grid;      grid-column-gap: 0px;         margin: 0 auto;   width: 100%;   }
}
/**** pc2 ****/
@media all and (max-width:1280px) and (min-width:768px) {
}
/**** 모바일 ****/
@media only all and (max-width:767px) {.level-3-wrapper { position: relative;      display: grid;      grid-column-gap: 0px;         margin: 0 auto;   width: 100%; }
}
/**** 모바일2 ****/
@media only all and (max-width:400px) {
}
/* 구분 //end -----------------------------------*/



.level-3-wrapper li{  width:100%;  }
  
 

/* 구분 -----------------------------------*/
/**** pc ****/
@media only all and (min-width:768px) {
	
    .level-4-wrapper {
      position: relative;
      width:100%;
   margin:40px auto 0px;  display: grid;display: flex;flex-direction: row;display: flex;  justify-content: center;  align-items: center; 
    }
.level-4-wrapper.only {  position: relative;      display: grid;      grid-column-gap: 0px;        margin: 20px auto 0px;   width: 100%;   }
  
	
}
/**** pc2 ****/
@media all and (max-width:1280px) and (min-width:768px) {
}
/**** 모바일 ****/
@media only all and (max-width:767px) {
	
 .level-4-wrapper {width: 100%; float: left;
      position: relative;
      width:100%; grid-gap:5px; display: grid;   grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap:2%;
    }
.level-4-wrapper.only {width:100%; float: left;  position: relative;            width: 100%;   }
.level-4-wrapper.only li{width:100%; float: left;    }
.level-4-wrapper.only li .level-4{width:100%!important; float: left;    }
  
	
}
/**** 모바일2 ****/
@media only all and (max-width:400px) {
}
/* 구분 //end -----------------------------------*/


 


/* level-2 상단 가로줄 */
	  /* 구분 -----------------------------------*/
/**** pc ****/
@media only all and (min-width:768px) {.level-4-wrapper > li::after{ content: "";    position: absolute;  top: -20px;  left:0px;  transform: translateX(-50%);   width:100%;    height:1px;   background: var(--black); }

}
/**** pc2 ****/
@media all and (max-width:1280px) and (min-width:768px) {
}
/**** 모바일 ****/
@media only all and (max-width:767px) {.level-4-wrapper > li::after{ content: "";    position: absolute;  top: -20px;  left:50%;  transform: translateX(-50%);   width:100%;    height:1px;   background: var(--black); display: none }

}
/**** 모바일2 ****/
@media only all and (max-width:400px) {
}
/* 구분 //end -----------------------------------*/

/* 구분 -----------------------------------*/
/**** pc ****/
@media only all and (min-width:768px) {
	.level-4-wrapper>li:first-child::after{   content: "";  left: calc(50% + 1px);  transform: translateX(0%);   width:50%;   }

.level-3-wrapper>li:last-child::after{  content: "";   top: -20px;	left:0px;     transform: translateX(0%);   width:50%;    }

}
/**** pc2 ****/
@media all and (max-width:1280px) and (min-width:768px) {
}
/**** 모바일 ****/
@media only all and (max-width:767px) {
	.level-4-wrapper>li:first-child::after{   content: "";  left: calc(50% + 1px);  transform: translateX(0%);   width:50%;  display: none  }

.level-3-wrapper>li:last-child::after{  content: "";   top: -20px;	left:0px;     transform: translateX(0%);   width:50%;  display: none    }

}
/**** 모바일2 ****/
@media only all and (max-width:400px) {
}
/* 구분 //end -----------------------------------*/






.level-4-wrapper.only>li:first-child::after { display: none  }
  



/* 구분 -----------------------------------*/
/**** pc ****/
@media only all and (min-width:768px) {    .level-4-wrapper::before {
      content: "";
      position: absolute;
      top: -20px;
      left: 50%;
      transform: translate(-50%, -100%);
      width: 0.5px;
      height: 40px;
      background: var(--black);
    }
}
/**** pc2 ****/
@media all and (max-width:1280px) and (min-width:768px) {
}
/**** 모바일 ****/
@media only all and (max-width:767px) {    .level-4-wrapper::before {
      content: "";
      position: absolute;
      top: -20px;
      left: 50%;
      transform: translate(-50%, -100%);
      width: 0.5px;
      height: 20px;
      background: var(--black); display: none
    }
}
/**** 모바일2 ****/
@media only all and (max-width:400px) {
}
/* 구분 //end -----------------------------------*/




    .level-4-wrapper li { position: relative }


/* 구분 -----------------------------------*/
/**** pc ****/
@media only all and (min-width:768px) {
	    .level-4-wrapper li::before {   content: "";
      position: absolute;
      top: 0px;
      left: 50%;
      transform: translate(-50%, -100%);
      width: 0.5px;
      height: 20px;
      background: var(--black); }


}
/**** pc2 ****/
@media all and (max-width:1280px) and (min-width:768px) {
}
/**** 모바일 ****/
@media only all and (max-width:767px) {
	    .level-4-wrapper li::before {   content: "";
      position: absolute;
      top: 0px;
      left: 50%;
      transform: translate(-50%, -100%);
      width: 0.5px;
      height: 20px;
      background: var(--black); display: none }


}
/**** 모바일2 ****/
@media only all and (max-width:400px) {
}
/* 구분 //end -----------------------------------*/




    .level-4 {
      font-weight: normal;
      background: #f6f4f4;   border: 1px solid var(--primary); color: var(--primary)!important; 
    }



/**** pc2 ****/
@media all and (max-width:1420px) and (min-width:768px) {
	    .level-4 { min-height: 80px; display: flex;  justify-content: center;  align-items: center;    }

}
/**** 모바일 ****/
@media only all and (max-width:767px) { .level-4 { min-height: 60px; display: flex;  justify-content: center;  align-items: center;   padding: 0px 0px!important  }
}
/**** 모바일2 ****/
@media only all and (max-width:400px) {
}
/* 구분 //end -----------------------------------*/


    .level-4::before {
    
    }

    .member-detail { width: 100%; float: left;
      margin-top: clamp(40px, 6.250vw, 80px);
      text-align: left;
    }

    table {
      width: 100%;
      border-collapse: collapse;
      margin-top: 10px;
    }

    th, td {
      border: 1px solid #ccc;
      padding: 10px;
      text-align: center;
    }

    th { background: #eee; }
	  
	  /* MQ STYLES
–––––––––––––––––––––––––––––––––––––––––––––––––– */
@media screen and (max-width: 700px) {
  .rectangle {
    padding: 20px 10px;
  }

  .level-1,
  .level-2 {
    width: 80%;
  }

  .level-1 {
    margin-bottom: 20px;
  }

  .level-1::before,
  .level-2-wrapper > li::before {
    display: none;
  }
  
  .level-2-wrapper,
  .level-2-wrapper::after,
  .level-2::after {
    display: block;
  }

  .level-2-wrapper {
    width: 100%;
    margin-left: 0px;
  }

  .level-2-wrapper::before {
    left: -20px;
    width: 2px;
    height: calc(100% + 40px); display: none
  }

  .level-2-wrapper > li:not(:first-child) {
    margin-top: 50px;
  }
}
	  
	  

	  
.grid1 {   grid-template-columns: repeat(1, 1fr);   grid-column-gap: 0px;       }
 /* 구분 -----------------------------------*/
/**** pc ****/
@media only all and (min-width:768px) {.grid2 { grid-template-columns: repeat(2, 1fr);   grid-column-gap: 0px; }
  
}
/**** pc2 ****/
@media all and (max-width:1280px) and (min-width:768px) {
}
/**** 모바일 ****/
@media only all and (max-width:767px) {.grid2 { grid-template-columns: repeat(1, 1fr);   grid-column-gap: 0px; }
  
}
/**** 모바일2 ****/
@media only all and (max-width:400px) {
}
/* 구분 //end -----------------------------------*/

  	  
 
.grid3{ grid-template-columns: repeat(3, 1fr);   grid-column-gap: 0px; }
	    
.grid4 { grid-template-columns: repeat(4, 1fr);   grid-column-gap: 0px;}
	  
	  
.grid3.modify{ grid-template-columns:2fr 1fr 3fr;   grid-column-gap: 0px; }	  
.level-1.modify { }




	 .rectangle.active {
  filter: brightness(1); /* 1보다 작을수록 어두워짐 */; background-color: var(--level-2);color: #fff!important
}  
 .rectangle:hover{
  filter: brightness(1.3); /* 1보다 작을수록 어두워짐 */
}





 textarea#codeInput{ height: 500px }



    .modal { display: none; position: fixed; z-index: 99999!important; left: 0; top: 0; width: 100vw; height: 100vh; background-color: rgba(0,0,0,0.6); overflow: auto; }
    .modal-content { background: #fff; padding: 20px; margin: 5vh auto; border-radius: 8px; max-width: 800px; position: relative; z-index: 100000; box-shadow: 0 5px 15px rgba(0,0,0,0.3); }
    .close-btn { position: absolute; top: 10px; right: 15px; font-size: 20px; cursor: pointer; }






.upload-box{width: 100%; float: left; padding: 20px 40px; border-radius: 30px; background-color: #f7f7f7; margin-bottom: 30px  ;}
.upload-box .title{width: 100%; float: left; font-size: 30px;}


.tbl-sw { text-align:center;  width: 100%; float: left; padding: 0px}
.tbl-sw .upload-box { display:inline-block;  width: 100%; float: left ; border-radius: 20px; padding:clamp(15px, 3.906vw, 50px); background:#fafbfb; border:1px solid #e5e5e5;  display: grid;   grid-template-columns: repeat(auto-fit, minmax(250px, auto));}

.clearfix{width: 100%; display: flex; justify-content: flex-start; flex-direction: column;}


.tbl-sw.plain h2 { float:left; margin-top:0;  text-align: left ;font-size: var(--tit-md-size)!important;line-height: 130%;}
.food_downbtn { float:left;}
.food_downbtn a{ width: auto;float:left; padding: 15px 20px 15px 65px;!important; background-color:var(--primary);; color: #fff; text-align: left; position: relative; border-radius: 8px}
.food_downbtn a:before{content: "\eb44";    font-family: unicons-line; position: absolute; left: 10px; top: 50%; transform: translateY(-50%); font-size: 25px; width: 40px; height: 40px; border-radius: 6px; background-color: #000; display: flex;  justify-content: center;  align-items: center;}


.btn_bo_adm {float:left}
.btn_bo_adm li {float:left;margin-right:5px}
.btn_bo_adm input {padding:8px;border:0;background:#e8180c;color:#fff;text-decoration:none;float: left}

.tbl-sw .frm_info { display:inline-block; text-align:left; background:transparent url('img/icon_warning.png') left top no-repeat;  width: 100%; }

.tbl-sw .frm_info ul { width: 100%; float: left }
.tbl-sw .frm_info ul  li{ width: 100%; float: left ;  position: relative;padding: 5px 0px 5px 10px; line-height: 120%;}
.tbl-sw .frm_info ul  li:before{ content: "";  width: 4px; height: 4px; border-radius: 100%; background-color: var(--primary);; position: absolute; left: 0px; top: 12px;}



.tbl-sw .frm-warning {  padding:0px; float: left; width: auto; display: flex; justify-content: flex-start; flex-direction: column;}
.attach-file { float:inherit; text-align:center; margin-top:20px; }



  .attach-file { margin-bottom: 20px
  }

  .attach-file input[type="file"] {
    padding: 8px 12px;
    font-size: 14px;
    border: 1px solid #ccc;
    border-radius: 6px 0px 0px 6px;
    background: #fff;
    cursor: pointer;
  }

  .attach-file input[type="submit"].btn {
    padding: 15px 16px!important;height: auto;
     background-color: #333;
    color: #fff;
    font-size: 14px;
    border: none!important;
    border-radius: 0px 6px 6px 0px;
    cursor: pointer;
    transition: background-color 0.3s; outline: none!important;box-shadow:none;  
  }

  .attach-file input[type="submit"].btn:hover {
    background-color: #000;
  }

  @media screen and (max-width: 480px) {
    .attach-file {
      flex-direction: column;
      align-items: stretch;
    }
  }




.rectangle.empty-box {
  background: transparent;
  border: none;
  box-shadow: none;
  cursor: default;
  height: 55px;
  display: inline-block;
  vertical-align: top; 
}

.rectangle.empty-box::before {
      content: "";
      position: absolute;
     top: 100%;
      left: 50%;
      transform: translate(-50%, -100%);
      width: 0.5px;
      height:55px;
      background: var(--black);
    }

.level-5.rectangle.empty-box {
  height: 60px;
}
/* 구분 -----------------------------------*/
/**** pc ****/
@media only all and (min-width:768px) {

}
/**** pc2 ****/
@media all and (max-width:1280px) and (min-width:768px) {
}
/**** 모바일 ****/
@media only all and (max-width:767px) {.level-3.rectangle.empty-box {
  height: 60px; display: none
}

}
/**** 모바일2 ****/
@media only all and (max-width:400px) {
}
/* 구분 //end -----------------------------------*/

/* ===========================
   OrgMap 핫스팟 커스텀 스타일
   - css_class : 클래스 부여
   - css_style : data-style="..."
   =========================== */

/* 공통 기본값(필요시 색만 덮어쓰기) */
.orgmap-view-svg .hotspot{
  fill: transparent !important;
  stroke: transparent !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  vector-effect: non-scaling-stroke; /* 확대/축소시 선두께 유지 */
  transition: fill .12s, stroke .12s, opacity .12s;
  /* 기본 테마 변수 (아래 클래스/데이터로 덮어씌움) */
  --hot-fill: rgba(37,99,235,.08);
  --hot-stroke: rgba(37,99,235,0);
  --hot-stroke-width: 0;
}

/* 마우스오버/키보드 포커스 표준 반응 */
.orgmap-view-svg .hotspot:hover,
.orgmap-view-svg .hotspot:focus-visible{
  stroke: var(--hot-stroke) !important;
  stroke-width: var(--hot-stroke-width) !important;
  fill: var(--hot-fill) !important;
  stroke-dasharray: var(--hot-dash, 0);
  outline: none;
}

/* 선택(활성) 강조—원하시면 클릭 시 is-active 클래스만 추가 */
.orgmap-view-svg .hotspot.is-active{
  --hot-stroke-width: 0;
  opacity: 1;
}

/* ---------- css_class 로 쓰는 예시 ---------- */

/* 매우 중요한 구역 */
.orgmap-view-svg .hotspot.important{
  --hot-stroke: #ef4444;               /* red-500 */
  --hot-fill: rgba(239,68,68,.12);
  --hot-stroke-width: 3;
}

/* 부서/팀 등 의미 부여 */
.orgmap-view-svg .hotspot.dept{
  --hot-stroke: #059669;               /* emerald-600 */
  --hot-fill: rgba(5,150,105,.10);
}
.orgmap-view-svg .hotspot.team{
  --hot-stroke: #f59e0b;               /* amber-500 */
  --hot-fill: rgba(245,158,11,.10);
  --hot-dash: 6 4;                      /* 점선 테두리 */
}

/* 호버 반응 끄기 */
.orgmap-view-svg .hotspot.no-hover:hover,
.orgmap-view-svg .hotspot.no-hover:focus-visible{
  stroke: transparent !important;
  fill: transparent !important;
}

/* 특정 도형(ID 기반, 생성물이 붙여주는 .hotspot--{id}) */
.orgmap-view-svg .hotspot--S1234567890{
  --hot-stroke: #7c3aed;               /* violet-600 */
  --hot-fill: rgba(124,58,237,.12);
}

/* 은은한 깜빡임 주의 아이콘용 */
@keyframes hotPulse { 0%,100%{ opacity:.7 } 50%{ opacity:1 } }
.orgmap-view-svg .hotspot.pulse{ animation: hotPulse 1.2s ease-in-out infinite }

/* ---------- data-style 로 쓰는 예시 ---------- */

.orgmap-view-svg .hotspot[data-style="info"]{
  --hot-stroke:#2563eb; --hot-fill:rgba(37,99,235,.10);
}
.orgmap-view-svg .hotspot[data-style="success"]{
  --hot-stroke:#16a34a; --hot-fill:rgba(22,163,74,.12);
}
.orgmap-view-svg .hotspot[data-style="warning"]{
  --hot-stroke:#f59e0b; --hot-fill:rgba(245,158,11,.14); --hot-stroke-width:3;
}
.orgmap-view-svg .hotspot[data-style="danger"]{
  --hot-stroke:#dc2626; --hot-fill:rgba(220,38,38,.14); --hot-stroke-width:3;
}
.orgmap-view-svg .hotspot[data-style="dashed"]{
  --hot-dash: 6 4;
}





  :root{ --line:#e5e7eb; --ink:#111;  }
  *{ box-sizing:border-box }

  .tabs{ display:flex; gap:6px; margin-bottom:12px; flex-wrap:wrap }
  .tabs button{ padding:10px 12px; border:1px solid var(--line); background:#fff; border-radius:8px; cursor:pointer }
  .tabs button.active{ background:var(--ink); color:#fff; border-color:var(--ink) }
  .right{ margin-left:auto }

  .row{ display:grid; grid-template-columns: 1fr 6px 420px; gap:16px; align-items:start }
  .col.editor{ min-width:280px }
  .resizer{ width:6px; height:100%; background:linear-gradient(#f3f4f6,#e5e7eb); border-radius:8px; cursor:col-resize; user-select:none }
  .resizer:hover{ background:linear-gradient(#e5e7eb,#d1d5db) }

  .panel{ background:#fff; border:1px solid var(--line); border-radius:12px; overflow:hidden; box-shadow:0 2px 8px rgba(0,0,0,.04) }
  .panel>header{ padding:12px 14px; font-weight:700; border-bottom:1px solid #eee; background:#f9fafb; display:flex; align-items:center; justify-content:space-between; gap:10px }
  .panel>.body{ padding:12px 14px }
  .btn{ appearance:none; border:1px solid var(--line); border-radius:10px; background:#fff; color:#111; padding:10px 14px; cursor:pointer; font-weight:700 }
  .btn.primary{ background:var(--primary); color:#fff; border-color:var(--primary) }
  .btn.ghost{ background:#f3f4f6; color:#111 }
  .btn.small{ padding:6px 10px; font-weight:600 }

  .toolbar{ display:flex; gap:8px; align-items:center; margin:0 0 10px; flex-wrap:wrap }
  .seg{ display:flex; gap:6px; background:#f3f4f6; padding:6px; border-radius:10px; align-items:center }
  .seg button, .seg select, .seg label{ background:#fff; border:1px solid var(--line); padding:8px 10px; border-radius:8px; cursor:pointer }
  .seg button.active{ background:#111; color:#fff; border-color:#111 }
  .seg .kbd{ font-family:ui-monospace,monospace; font-weight:700; background:#fff; border:1px solid var(--line); padding:6px 8px; border-radius:6px }

  .stage{ position:relative; width:100%; min-height:300px; resize:both; overflow:auto; border:1px solid var(--line); border-radius:12px; background:
      repeating-conic-gradient(#fafafa 0 25%, #f6f7f9 0 50%) 50%/20px 20px }
  .stage .wrap{ position:relative; width:100% }
  .zoomwrap{ position:relative; transform-origin:top left; will-change: transform; }
  .stage img{ display:block; width:100%; height:auto }
  .stage svg{ position:absolute; inset:0; width:100%; height:100%; pointer-events:auto }

  /* 편집 도형 & 핸들 */
  .hot{ fill:rgba(37,99,235,.10); stroke:#2563eb; stroke-width:2; cursor:move; vector-effect:non-scaling-stroke }
  .hot.selected{ stroke:var(--primary); stroke-width:3; stroke-dasharray:4 3 }
  .handle circle, .handle rect{ fill:#fff; stroke:#111; stroke-width:1; vector-effect:non-scaling-stroke }

  .side{ width:100%; max-height:80vh; overflow:auto; border:1px solid var(--line); border-radius:12px; box-shadow:0 2px 8px rgba(0,0,0,.04) }
  .shape-list{ max-height:70vh; overflow:auto }
  .shape-item{ display:flex; gap:8px; border:1px solid #eee; border-radius:10px; padding:8px; margin-bottom:8px }
  .shape-item .col{ flex:1 }
  .shape-item .row{ display:flex; gap:8px; flex-wrap:wrap }
  .shape-item input[type=text], .shape-item input[type=url], .shape-item select{ width:100%; padding:6px 8px; border:1px solid var(--line); border-radius:8px }
  .coords{ font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size:12px; color:#555 }
  .meta{ font-size:12px; color:#666 }

  /* 편집중 그룹(미리보기 제외) */
  .group-box{ fill:rgba(37,99,235,.06); stroke:#7c3aed; stroke-dasharray:6 4; stroke-width:1.5; rx:12; ry:12; pointer-events:auto }
  .group-label{ fill:#7c3aed; font-size:12px; font-weight:700 }

  /* 연필(에지툴) & 그룹툴(◇, ⚙) */
  .edge-tool,.group-tool{ pointer-events:auto; cursor:pointer }
  .edge-tool rect,.group-tool rect{ fill:#fff; stroke:#111; stroke-width:1; rx:4; ry:4 }
  .edge-tool path,.group-tool path{ stroke:#111; stroke-width:1.6; fill:none }
  .group-tool text{ font-size:10px; font-weight:800; fill:#111; text-anchor:middle; dominant-baseline:middle; }

  /* 사용자 미리보기 공통 */
  .wg_wrap{ position:relative; width:100% }
  .wg_img1{ display:block; width:100%; height:auto }
  .orgmap-view-svg{ position:absolute; inset:0; width:100%; height:100%; display:block; z-index:1; pointer-events:auto }
  .orgmap-view-svg .hotspot{ pointer-events:auto!important; cursor:pointer!important; vector-effect:non-scaling-stroke; transition:all .12s }

  .modal{ position:fixed; inset:0; display:none; align-items:center; justify-content:center; background:rgba(0,0,0,.45); z-index:99999 }
  .modal .card{ width:min(720px,92vw); background:#fff; border-radius:12px; border:1px solid #e5e7eb; box-shadow:0 10px 30px rgba(0,0,0,.2); }
  .modal header{ display:flex; align-items:center; justify-content:space-between; padding:12px 14px; border-bottom:1px solid #eee; font-weight:700 }
  .modal .body{ padding:12px 14px; display:grid; gap:10px }
  .modal .row{ display:flex; gap:8px; flex-wrap:wrap; align-items:center }
  .modal label{ min-width:110px; font-size:13px; color:#374151 }
  .modal input[type="color"]{ width:40px; height:36px; padding:0; border:1px solid #ddd; border-radius:8px; background:#fff }
  .modal input[type="number"], .modal select{ padding:8px 10px; border:1px solid #ddd; border-radius:8px }

/* CEO: 파란색 */
.orgmap-view-svg .hotspot.ceo {
  fill: rgba(37, 99, 235, 1)!important;  /* 파란 배경 */
  stroke: #2563eb;                /* 파란 테두리 */
  stroke-width: 2; border-radius: 20px!important
}
.orgmap-view-svg .hotspot.ceo:hover {
  fill: rgba(7,55,160,1.00)!important;  /* 파란 배경 */
  stroke: #2563eb;                /* 파란 테두리 */
  stroke-width: 2; border-radius: 20px!important
}
/* Director: 초록색 */
.orgmap-view-svg .hotspot.director {
  fill: rgba(16, 185, 129, 0.25); /* 초록 배경 */
  stroke: #10b981;                /* 초록 테두리 */
  stroke-width: 2;
}

/* Manager: 주황색 */
.orgmap-view-svg .hotspot.manager {
  fill: rgba(245, 158, 11, 0.25); /* 주황 배경 */
  stroke: #f59e0b;                /* 주황 테두리 */
  stroke-width: 2;
}
/* 공통 효과 */
.orgmap-view-svg .hotspot.ceo,
.orgmap-view-svg .hotspot.director,
.orgmap-view-svg .hotspot.manager {
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}


.btn_org{ color:#fff !important }
.btn_org::before, .btn_org::after{ content:none !important; margin:0 !important }

 .hotspot:hover {
  fill: rgba(7,55,160,0.00)!important;  /* 파란 배경 */
             /* 파란 테두리 */
  stroke-width: 0!important;
}




/* =========================
   OrgMap 뷰어/핫스팟 제어
   ========================= */

/* css_class / css_style 기반 테마도 더 높은 특이도로 유지 */
.wg_wrap svg.orgmap-view-svg .hotspot.important{
  --hot-dash: 0;
  stroke: #ef4444 !important;
  fill: rgba(239,68,68,0) !important;
  stroke-width: 3px !important;
}
.wg_wrap svg.orgmap-view-svg .hotspot[data-style="warning"]{
  stroke: #f59e0b !important;
  fill: rgba(245,158,11,0) !important;
  stroke-width: 3px !important;
}

/* 기본값: 완전 투명(hover에도 변화 없음) */
.orgmap-view-svg .hotspot{
  fill: transparent !important;
  stroke: transparent !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  vector-effect: non-scaling-stroke;
  transition: fill .12s, stroke .12s, opacity .12s;

  --hot-fill: transparent;
  --hot-stroke: transparent;
  --hot-stroke-width: 0;
}
.orgmap-view-svg .hotspot:hover,
.orgmap-view-svg .hotspot:focus-visible{
  stroke: transparent !important;
  stroke-width: 0 !important;
  fill: transparent !important;
  stroke-dasharray: 0 !important;
  outline: none !important;
}

/* 선택(활성) 시에만 보이도록 */
.orgmap-view-svg .hotspot.is-active{
  --hot-stroke: #2563eb;
  --hot-stroke-width: 2;
  --hot-fill: rgba(37,99,235,.10);
  stroke-dasharray: var(--hot-dash, 0);
  opacity: 1;
}

/* 선택된 버튼/사각형 공통 강조 */
[data-key].active{
  outline: 2px solid #2563eb;
  outline-offset: 2px;
  border-radius: 8px;
}