@charset "utf-8"; 
 
@keyframes slide-up {
	from	{opacity:0; transform: translateY(80px);}
	to		{opacity:1.0; transform: translateY(0);}
}

/* VISUAL  ================================================================================== */
.main_container								{padding: 0 0 0 0;}
.main_visual .bxslider						{visibility:hidden;}
.main_visual .mvideo_box				{position: relative;width: 100%; aspect-ratio:16/9; padding:0; margin:0;   }

.main_visual										{position:relative; top:0; left:0; overflow:hidden;  }  
.main_visual_item 							{ display:table; height:0 !important; padding-top:40.5%; }
.main_visual .bg 								{ overflow:hidden; position:absolute; width:100%; height:100%; top:0; left:0; filter: brightness(0.7); animation:imgScale 3s both; } 
.visual_txt											{position:absolute; text-align:center; width:100%; top:var(--270px);   z-index:100; color:#fff;animation: slide-up 1.3s cubic-bezier(.3,.2,0,1) forwards;  transition:all 0.3s ease; } 
.visual_txt .txt01								{position:relative; font-family: 'Paperlogy';font-weight:600; font-size:var(--23px); line-height:1.2; text-shadow: 3px 3px 5px rgba(0,0,0,0.4); transition:all 0.3s ease;  padding-bottom:1.3em; margin-bottom:1.3em; }
.visual_txt .txt01::before                  {position:absolute; content:'';bottom:0; left:50%; width:var(--160px); height:3px; background:#fff; transform: translateX(-50%); }
.visual_txt .txt02								{font-family: 'Paperlogy';font-weight:500; font-size:var(--56px);letter-spacing:-1px; line-height:1.2; text-shadow: 3px 3px 5px rgba(0,0,0,0.4); transition:all 0.3s ease;}
.visual_txt .txt03								{font-family: 'Paperlogy';font-weight:600; font-size:var(--56px); line-height:1.2;   line-height:1.2; text-shadow: 3px 3px 5px rgba(0,0,0,0.4); transition:all 0.3s ease;}

 
@media screen and (max-width:1500px) {
    .main_visual_item 						{  padding-top:44%; }
    .visual_txt										{ top:var(--300px); }
    .visual_txt .txt01::before              {  height:2px;   }
}
@media screen and (max-width:1300px) {
    .visual_txt										{ top:var(--350px); }
    .main_visual_item 						{  padding-top:48%; }
}
@media screen and (max-width:1024px) {
	.main_container							{padding:60px 0 0 0;}   
    .main_visual_item 						{  padding-top:42%; }
    .visual_txt										{ top:var(--200px); }
	.visual_txt .txt01							{  font-size:var(--30px);  padding-bottom:1.1em; margin-bottom:1em; } 
	.visual_txt .txt02,
	.visual_txt .txt03							{  font-size:var(--70px);   } 
 } 
@media screen and (max-width:768px) { 
    .main_visual_item 						{ padding-top:44%; } 
	.visual_txt .txt01							{  font-size:var(--38px);  padding-bottom:0;margin-bottom:0.7em; } 
    .visual_txt .txt01::before              {display:none; }
	.visual_txt .txt02,
	.visual_txt .txt03							{  font-size:var(--80px);   } 
}
@media screen and (max-width:580px) {
    .main_visual_item 						{ padding-top:50%; } 
    .visual_txt										{ top:var(--200px); }
	.visual_txt .txt01							{  font-size:var(--45px);   } 
	.visual_txt .txt02,
	.visual_txt .txt03							{  font-size:var(--96px);   } 
}
  
/* MAIN_CONT  ================================================================================== */




 

/* main_news_wrap    ================================================================================== */ 
.main_news_wrap									{position:relative; padding:60px 0 70px 0;  display: flex; flex-flow: ;justify-content: space-between;  } 
.main_news_wrap .item01					{position:relative;width:calc(100% - 510px);  padding-top:18px;  }
.main_news_wrap .item02					{position:relative;width:450px; min-height:300px;   border-radius:1em; border:1px solid #dfdfdf; padding:27px 30px ;  overflow:hidden; box-shadow: 3px 3px  15px 0 rgba(0,0,0,0.1); }


   @media screen and (max-width:1440px) {  
	.main_news_wrap								{ padding:60px 20px;   }  
} 
@media screen and (max-width:1200px) {  
	.main_news_wrap								{ padding:50px 20px;   }  
    .main_news_wrap .item01					{ width:calc(100% - 470px);  padding-top:15px;  }
    .main_news_wrap .item02					{  width:430px;padding:25px ;  } 
}
@media screen and (max-width:1024px) {    
	.main_news_wrap								{ padding:40px  20px;    flex-direction: column;gap:40px;   } 
	.main_news_wrap .item01				{ width:100%;  padding-top:0; } 
	.main_news_wrap .item02				{ width:100%;   } 
}  
@media screen and (max-width:580px) {      
	.main_news_wrap .item02				{  padding:20px ;} 
}




/* 행사일정 추가 */
.calendar_title									{position:relative;  margin-bottom:3px; border-bottom:1px solid #d9d9d9; display:flex;justify-content: space-between;  }
.calendar_title .tit						        {display:block; font-size:1.35em; color:#000; font-weight:600; padding:0 0 18px 0; font-family: 'Paperlogy';line-height:100%;   }
.calendar_title .top						    {position:relative; top:-3px; display:block; font-size:1.2em;  font-weight:700;  font-family: 'Paperlogy';line-height:100%;   }
.calendar_title .top .year                  {font-weight:700;  font-family: 'Paperlogy';color:var(--color1); }
.calendar_title .top .month              {font-weight:800;  font-family: 'Paperlogy'; font-size:1.35em;color:var(--color1); letter-spacing:0; }
.calendar_title .top .arrow               {position:relative; top:2px; color:#939393;font-size:1.25em;  }
.calendar_title .top .arrow:hover     { color:var(--color1);}

#calendar_box								    {overflow-x:hidden; overflow-y:auto; height:310px; }
#calendar_box li								{position:relative;   text-align:left; }
#calendar_box li + li                          {border-top:1px dashed #dedede; }
#calendar_box li a								{display:block; padding:13px 3px ; }
#calendar_box li:last-child a				{padding-bottom:0 !important; }
  
#calendar_box .tit								{color:#2b2b2b;font-size:1em; font-weight:600;   line-height:1.4;  text-align:left;overflow:hidden; text-overflow: ellipsis;-o-text-overflow: ellipsis; display:-webkit-box;-webkit-line-clamp: 1;-webkit-box-orient: vertical; word-wrap: break-word;} 

#calendar_box time							{display:block;  font-weight:600; color:var(--color1); font-size:0.9em; font-style:normal;}
#calendar_box time span					{display:inline-block;  font-weight:600; color:#fff; font-size:0.9em;  background:var(--color1); border-radius:50px; padding:5px 10px;line-height:1em;  margin-right:8px;  }
#calendar_box .nolist							{text-align:center; border:0 ; line-height:90px;width:100%;  }

@media screen and (max-width:1200px) {  
    #calendar_box								{  height:300px; }
}
@media screen and (max-width:800px) {     
    .calendar_title .tit								{font-size:1.25em;  padding:0 0 14px 0; }   
    .calendar_title .top						    { font-size:1.15em; }
} 
@media screen and (max-width:580px) {     
    .calendar_title .tit							{font-size:1.2em;  } 
    .calendar_title .top						    { font-size:1.1em; }
    .calendar_title .top .month              { font-size:1.3em;}
    #calendar_box								{  height:280px; }
    #calendar_box li a								{  padding:11px 0 ; }
    #calendar_box .tit								{ font-size:1.05em; }
}
 

/* main_news_wrap    ================================================================================== */ 
 


 
  
/* main_program  ================================================================================== */ 
.main_program										{position:relative;  padding:65px 0; background:#fff;overflow:hidden; border-top:1px solid #e6e6e6; }
.main_program .tit								{position:relative; text-align:center;font-size:2.2em;color:var(--color1);  font-weight:600;font-family:'Paperlogy'; line-height:1.2;padding:0 0 30px 0; } 
.main_program .tit a								{color:var(--color1);  font-weight:600; font-family:'Paperlogy'; } 

.main_program .nolist                            { border:0; }
 

@media screen and (max-width:1410px) {
	.main_program									{padding:60px 5px;}
} 
@media screen and (max-width:1024px) {
	.main_program									{padding:50px 5px;  }
	.main_program .tit							{font-size:2em;  }
} 
@media screen and (max-width:800px) {
	.main_program .tit							{font-size:1.9em;padding:0 0 25px 0; } 
} 
@media screen and (max-width:600px) { 
	.main_program .tit							{font-size:1.7em; }
} 

/* main_program  ================================================================================== */ 
 


/* 지원프로그램 임시추가  ================================================================================== */ 
.sprogram_wrap									{position:relative;}  

.sprogram_wrap .sprogram_slickslider 				{overflow:hidden;height:380px;}
.sprogram_list										{position:relative;/*display: grid; grid-template-columns: repeat(4, 1fr); */  } 
.sprogram_list .list								{margin:  13px;  background:#fff; border:1px solid #e4e4e4; position:relative; width:320px; overflow:hidden; border-radius:0.7em; box-shadow:2px 2px 11px 0 rgba(0,0,0,0.1);transition:all 0.3s ease;}
.sprogram_list .img								{width:100%;aspect-ratio: 3 / 2.3;background:#f9f9f9; overflow:hidden;  }
.sprogram_list .img img						{width:100%;   transition:all 0.4s ease;}
.sprogram_list .list:hover .img img		{transform: scale(1.07);}
.sprogram_list .cont							{padding:20px 20px ;line-height:1.4; min-height:125px;}
.sprogram_list .cont .txt						{color:#000; font-size:1.05em;font-weight:600;padding:0 0 10px 0; overflow: hidden; text-overflow:ellipsis; -o-text-overflow:ellipsis; white-space:nowrap;} 
.sprogram_list .cont p                        { position:relative;font-size:0.9em; color:#888; padding-left:13px; }
.sprogram_list .cont p::before           {position:absolute; content:''; display:block; left:2px; top:8px; width:3px; height:3px; background:#aaa; border-radius:5px; }

.sprogram_list .list:hover					{   box-shadow:2px 2px 11px 0 rgba(0,0,0,0.2); }
.sprogram_list  .nolist							{ width:100%;   text-align:center; padding:150px 0; border:0;}
 

.sprogram_wrap .arrow						{position:absolute; top:calc(45% - 20px); width:100%;}
.sprogram_wrap .arrow p					{position:absolute; width:40px; height:40px;  border:1px solid #bbb; background:#fff; cursor:pointer;  opacity:0.45; border-radius:50%;} 
.sprogram_wrap .arrow span				{display:inline-block; border:solid #222; padding:5px;  content: ''; outline: none;  user-select: none; /* 포커스 선 제거 */}
.sprogram_wrap .arrow span:focus {outline: none;} /* 이전, 다음 클릭시 이상한테두리선 제거 */
.sprogram_wrap .arrow .prev			{left:-10px;}
.sprogram_wrap .arrow .next			{right:-10px;}
.sprogram_wrap .arrow .prev span	{margin:13px 0 0 15px; border-width:0 2px 2px 0; transform:rotate(135deg);}
.sprogram_wrap .arrow .next span	{margin:13px 0 0 10px;  border-width:2px 2px 0 0; transform:rotate(45deg);}
.sprogram_wrap .arrow p:hover		{opacity:1;} 
 
.sprogram_list_dots								{z-index:1; margin:20px 0 0 0;text-align:center;}
.sprogram_list_dots li							{display:inline-block; cursor:pointer;}
.sprogram_list_dots li span					{display:inline-block; content:''; width:10px; height:10px; border-radius:50%; margin:0 5px; background:#000; opacity:0.25;}
.sprogram_list_dots .slick-active span	{opacity:0.6;}

 
@media screen and (max-width:1570px) {
    .sprogram_wrap .arrow .prev			{left:0;}
    .sprogram_wrap .arrow .next			{right:0;}
} 
@media screen and (max-width:1024px) {   
    .sprogram_list .list									{margin:10px 15px; }
}

@media screen and (max-width:800px) { 
    .sprogram_list .txt p							{  font-size:1rem;}
 
}
/* 지원프로그램  ================================================================================== */ 



/* 배너    ================================================================================== */ 
.main_banner								{position:relative;padding:45px  0  ; overflow:hidden;   background:#eff4f9;   transition:all 0.4s ease;}   
.main_banner ul                           { position:relative;  display:grid; grid-template-columns: repeat(5, 1fr);   transition:all 0.4s ease;}    
.main_banner ul li a				        {position:relative; display:block; color:#fff; display: flex; gap:25px; align-items:center; }  
.main_banner ul li .img      		    {position:relative;width:100px; height:100px; border-radius:50%; background:#fff; text-align:center;  z-index:2; }  
.main_banner ul li .img::before        {position:absolute;display:none; content:''; left:-5%; top:-5%; width:110%; height:110%; border-radius:50%; border:5px solid var(--color1);   opacity:0.1; z-index:1; transition:all 0.4s ease;}    
.main_banner ul li .txt      		    {font-size:0.9em; color:#000;  font-weight:600;line-height:1.2;  display: flex; flex-direction: column;}  
.main_banner ul li .btn      	        {margin-top:10px; display:inline-block; width:62px; line-height:26px; background:#b1b1b3; padding:0 8px 0 15px; font-size:0.85em; color:#fff; letter-spacing:0; font-weight:500; border-radius:50px;  }  
.main_banner ul li:hover .btn              {background:var(--color1); }
.main_banner ul li:hover .img::before        {display:block;  }
 
 
@media screen and (max-width:1400px) {  
    .main_banner								{ padding:40px  10px ; }
    .main_banner ul li .img			    { width:80px;height:80px;   } 
    .main_banner ul li a				        { gap:20px; }
    .main_banner ul li .img::before        { left:-4%; top:-4%; width:108%; height:108%;  border-width:4px;}    
}
@media screen and (max-width:1200px) {  
    .main_banner								{ padding:35px 20px ; }
    .main_banner ul li a				        { flex-direction: column; gap:10px; text-align:center; }  
    .main_banner ul li .txt      		    { align-items:center; }  
}
@media screen and (max-width:1024px) {   
    .main_banner								{ padding:30px 15px ; }
.main_banner ul li .btn      	        {margin-top:8px; width:58px; line-height:24px; }
}
@media screen and (max-width:600px) {   
    .main_banner ul                           {   grid-template-columns: repeat(3, 1fr); gap:30px 10px;  }     
    .main_banner ul li .img			    { width:70px;height:70px;   }  
    .main_banner ul li .txt      		    {font-size:0.85em; }
    .main_banner ul li .img::before        { border-width:3px;   }    
}
 
 
/* 배너    ================================================================================== */ 







/* FAMSITE    ================================================================================== */
.famsite									{position:relative; padding:30px 0; border-top:1px solid #e5e5e5; background:#fff;}
.famsite ul								{width:calc(100% - 60px); margin:0 auto; text-align:center; }
.famsite ul li							{display:inline-block; line-height:90px; border:1px solid #e5e5e5; margin:1px 5px; text-align:center; }
.famsite .arrow p					{position:absolute; top:calc(50% - 15px); width:30px; height:30px; cursor:pointer;}
.famsite .arrow span				{display:inline-block; border:solid #aaa; border-width:0 2px 2px 0;  padding:5px; margin:10px 0 0 10px;}
.famsite .arrow span:hover	{border-color:#555;}
.famsite .prev							{left:7px; transform: rotate(135deg);}
.famsite .next							{right:7px; transform: rotate(-45deg);}
 
@media screen and (max-width:1024px) {   
	.famsite								{padding:25px 0;} 
}
@media screen and (max-width:768px) {   
	.famsite								{padding:20px 0;} 
}
/* FAMSITE    ================================================================================== */



