@charset "utf-8"; 
@import url('https://fonts.googleapis.com/css2?family=Jost:wght@800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Kanit:wght@300;500&display=swap');

/* VISUAL    ================================================================================== */
.main_container								{padding: 0;} 
.main_visual										{position:relative; overflow:hidden;   transition:all 0.3s ease;}
.main_visual .item								{position:relative; width:100%; height:60vh; min-height:400px;content:''; animation:imgScale 4s both; filter: brightness(0.9);  }
.visual_txt											{position:absolute; text-align:center; width:100%; top:25%; 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								{font-family: 'GmarketSansMedium'; font-size:2.2em; line-height:1.25; padding:0 0 25px 0; letter-spacing:-2px; text-shadow: 3px 3px 10px rgba(0,0,0,0.4); transition:all 0.3s ease;}
.visual_txt .txt02								{ font-family: 'GmarketSansBold';font-size:4em; line-height:1.2; letter-spacing:-3.5px; padding:0 0 35px 0;text-shadow: 3px 3px 10px rgba(0,0,0,0.4); transition:all 0.3s ease;}
.visual_txt .txt03								{ font-family: 'GmarketSansBold';  font-size:2.5em; letter-spacing:-0.75px; padding:0 0 25px 0;  text-shadow: 3px 3px 10px rgba(0,0,0,0.4); transition:all 0.3s ease;}
.visual_txt .txt03 span						{font-family: 'GmarketSansMedium'; font-size:0.7em; letter-spacing:-2px;}
.visual_txt .txt04								{ font-family: 'GmarketSansMedium';  font-size:2.1em; letter-spacing:-2px;  text-shadow: 3px 3px 10px rgba(0,0,0,0.4); transition:all 0.3s ease;}

 
@media screen and (max-width:1200px) { 
	.main_visual .item							{height:55vh ; }  
	 .visual_txt .txt01							{ font-size:2em; }
	 .visual_txt .txt02							{ font-size:3.55em; padding:0 0 30px 0; }
	 .visual_txt .txt03							{ font-size:2.1em;  padding:0 0 20px 0;}
	 .visual_txt .txt04							{ font-size:1.9em; }
 }
@media screen and (max-width:1024px) {
	.main_container								{padding:60px 0 0 0;} 
	.main_visual .item							{height:40vh ; }  
	.visual_txt										{top:17%;} 
	 .visual_txt .txt01							{ font-size:1.7em;padding:0 0 20px 0;  }
	 .visual_txt .txt02							{ font-size:3.1em;  }
	 .visual_txt .txt03							{ font-size:1.8em; padding:0 0 20px 0;  }
	 .visual_txt .txt04							{ font-size:1.6em; }
 }
@media screen and (max-width:800px) {
	.main_visual .item							{height:35vh;}  
	.visual_txt										{top:16%;} 
	 .visual_txt .txt01							{ font-size:1.5em;padding:0 0 15px 0;  letter-spacing:-1.5px;}
	 .visual_txt .txt02							{ font-size:2.6em;padding:0 0 15px 0; letter-spacing:-3px; }
	 .visual_txt .txt03							{ font-size:1.55em; padding:0 0 10px 0;}
	 .visual_txt .txt04							{ font-size:1.4em; }
}
@media screen and (max-width:600px) {  
	.main_visual .item							{height:30vh;}  
	 .visual_txt .txt01							{ font-size:1.25em;padding:0 0 10px 0;  }
	 .visual_txt .txt02							{ font-size:1.9em;padding:0 0 10px 0; letter-spacing:-2px; }
	 .visual_txt .txt03							{ font-size:1.3em; padding:0 0 5px 0;}
	 .visual_txt .txt04							{ font-size:1.2em; }
}
@media screen and (max-width:500px) {  
	 .visual_txt .txt01							{ font-size:1.1em;padding:0 0 10px 0;  }
	 .visual_txt .txt02							{ font-size:1.65em;padding:0 0 10px 0; letter-spacing:-1.5px; }
	 .visual_txt .txt03							{ font-size:1.15em; padding:0 0 0 0;}
	 .visual_txt .txt04							{ font-size:1.05em; letter-spacing:-1.5px;}
}



/* main_news    ================================================================================== */ 
.main_news								{position:relative; padding:40px 0 60px 0; display:flex; flex-flow:wrap;justify-content: space-between;  gap:4%; transition:all 0.3s ease;}
.main_news .item						{width:48%;transition:all 0.3s ease;}
 
@media screen and (max-width:1024px) { 
.main_news								{  gap:40px; }
.main_news .item						{width:100%;}
}
@media screen and (max-width:800px) { 
.main_news								{ padding:30px 0 40px 0;}
}
 
/* main_news    ================================================================================== */



/* main_banner    ================================================================================== */ 
.main_banner							{display:none;  position:relative; background:#148b51; padding:45px 0; }
.main_banner ul						{position:relative;text-align:center;  display: flex; flex-flow:wrap;justify-content: space-around; transition:all 0.3s ease;}
.main_banner ul li						{letter-spacing:-1px; transition:all 0.3s ease;}
.main_banner ul li	a					{display:block;font-size:;color:#fff9c5; }
.main_banner ul li	figure			{display:inline-block;width:120px;height:120px; background:rgb(0,0,0,0.15); border-radius:50%;margin:0 0 15px 0;transition:all 0.3s ease;}
.main_banner ul li:hover figure {transform: scale(1.08);}


@media screen and (max-width:1024px) { 
.main_banner ul li	figure			{ width:100px;height:100px;  }
}
@media screen and (max-width:800px) { 
.main_banner							{ padding:35px 0; }
.main_banner ul						{gap:30px 0;}
.main_banner ul li						{width:calc(100% / 3); font-size:0.95em;}
.main_banner ul li	figure			{ width:90px;height:90px; margin:0 0 10px 0; }
}
/* main_banner    ================================================================================== */ 




/* main_program  ================================================================================== */ 
.main_program										{display:none; position:relative; padding:60px 0; background:#f3f4f4; }
.main_program .tit								{position:relative; text-align:center;font-size:1.18em;color:#000; font-weight:300;letter-spacing:-1px;line-height:1.2;padding:0 0 40px 0; } 
.main_program .tit p								{font-size:1.9em;color:#000;font-family: 'S-CoreDream-7ExtraBold'; letter-spacing:-1.5px;padding:0 0 15px 0;}
 
.main_program ul									{position:relative;overflow:hidden;  /*display: grid;*/ grid-template-columns: repeat(4, 1fr);   transition:all 0.3s ease;} 
.main_program ul>div>div					{padding:15px 0; }
.main_program ul li								{ transition:all 0.3s ease;}
.main_program ul li a							{position:relative;display:block;overflow:hidden; background:#fff;  margin:0 13px; border:1px solid #d5d5d5; transition:all 0.3s ease;}
.main_program ul li .img						{height:280px;overflow:hidden;}
.main_program ul li .img img				{width:100%;   height:100%;object-fit:cover;  }
.main_program ul li .cont						{position:relative;padding:25px  ; }
.main_program ul li .tag						{position:relative;   }
.main_program ul li .tag em				{position:relative;  display:inline-block; padding:0 10px  ; font-style:normal;font-size:0.85em;color:#fff; background:#bbb; line-height:30px; letter-spacing:-1px; }
.main_program ul li .tag .acc				{ background:#ff7e00 !important;}
.main_program ul li .txt01					{position:relative; font-size:1.25em;font-weight:600;color:#148b51;letter-spacing:-1.5px; padding:7px 0 15px 0; overflow: hidden; text-overflow:ellipsis; -o-text-overflow:ellipsis; white-space:nowrap;}
.main_program ul li .txt02					{position:relative;font-size:0.95em; letter-spacing:-0.5px;color:#666;  padding:0 0 3px 14px;} 
.main_program ul li .txt02:after			{position:absolute; content:''; display:block; left:3px; top:12px; width:3px; height:3px; background:#666 ;}

.main_program ul li .btn								{position:relative;font-size:0.9em;color:#848484;  line-height:25px; letter-spacing:-1px; padding:0 0 10px 0; transition:all 0.3s ease;}
.main_program ul li .btn span						{position:relative; top:5px;left:10px;display:inline-block;background:#848484;width:25px;height:25px; border-radius:50%; transition:all 0.3s ease;}
.main_program ul li .btn span:after			{position:absolute; content:''; left:7px; top:12px;  width:11px; height:1px; background:#fff;transition:all 0.3s ease;}
.main_program ul li .btn span:before			{position:absolute; content:''; left:12px; top:7px; width:1px; height:11px; background:#fff;transition:all 0.3s ease;}
.main_program ul li:hover .btn					{color:#000;}
.main_program ul li:hover .btn span			{background:#000;}
.main_program ul li:hover .btn span:after			{transform: rotate(90deg); -webkit-transform: rotate(90deg);}
.main_program ul li:hover .btn span:before		{transform: rotate(90deg); -webkit-transform: rotate(90deg);}

.main_program ul li:hover a							{border:1px solid #148b51; box-shadow: 0 0 13px 0 rgba(0,0,0,0.15);}
 
.main_program .arrow							{position:absolute; width:100%; top:58%; z-index:99; }
.main_program .arrow p						{position:absolute; width:60px; height:60px;  background:rgb(255,255,255,0.0);border:1px solid rgb(0,0,0,0.0);   border-radius:50px;cursor:pointer; opacity:0.45; transition:all 0.3s ease;}
.main_program .arrow span				{display:inline-block; border:solid #111; padding:10px;}
.main_program .arrow .prev				{left:-60px;}
.main_program .arrow .prev span		{position:relative; margin:18px 0 0 23px; border-width:0 2px 2px 0; transform:rotate(135deg);} 
.main_program .arrow .next				{right:-60px;}
.main_program .arrow .next span		{position:relative; margin:18px 0 0 14px;  border-width:2px 2px 0 0; transform:rotate(45deg);} 
 .main_program .arrow p:hover			{opacity:0.7;  background:rgb(255,255,255,0.2); border:1px solid rgb(0,0,0,0.1); } 

 
@media screen and (max-width:1520px) { 
	.main_program ul									{padding:0 10px;}
	.main_program ul li a							{ margin:0 10px; } 
	.main_program .arrow .prev				{left:0;}
	.main_program .arrow .next				{right:0;} 
	.main_program .arrow p						{ width:50px; height:50px;  background:rgb(255,255,255,0.3);border:1px solid rgb(0,0,0,0.2); }
	 .main_program .arrow p:hover			{opacity:0.7;  background:rgb(255,255,255,0.4); border:1px solid rgb(0,0,0,0.3); } 
	.main_program .arrow span				{ padding:7px;}
	.main_program .arrow .prev span		{  margin:16px 0 0 19px;  } 
	.main_program .arrow .next span		{ margin:16px 0 0 13px;  } 
} 
 
@media screen and (max-width:1024px) {    
	.main_program .tit								{ font-size:1.15em; }
	.main_program ul li .cont						{ padding:25px  ; }
	.main_program ul li .txt01					{  font-size:1.2em;} 
}
@media screen and (max-width:820px) {  
	.main_program										{ padding:60px 0;  }    
	.main_program .tit								{ font-size:1.05em;padding:0 0 30px 0;}
	.main_program ul li .img						{height:300px; }
	.main_program ul li .cont						{ padding:20px  ; }
	.main_program ul li .tag em				{ padding:0 10px  ; font-size:0.9em;}
	.main_program ul li .txt01					{  font-size:1.15em;}
	.main_program ul li .txt02					{ font-size:0.9em; }
}
@media screen and (max-width:600px) {  
	.main_program										{ padding:50px 0;  }    
	.main_program .tit p								{ font-size:1.8em;} 
	.main_program .tit								{ font-size:1em;}
	.main_program ul li .tag em				{ padding:0 10px  ; font-size:0.85em;} 
	.main_program ul li .txt01					{  font-size:1.1em;padding:5px 0 8px 0;}
}

/* main_program  ================================================================================== */ 







/* main_gallery  ================================================================================== */ 
.main_gallery											{position:relative; padding:70px 0; min-height:400px;  background:#f3f4f4; overflow:hidden;}  
.main_gallery .item01 							{ float:left;width:49.3%; padding-left:10px; transition:all 0.3s ease;} 
.main_gallery .item02							{ float:right;width:49.3%; transition:all 0.3s ease;} 
.main_gallery .tit_wrap							{ position:relative;  margin-bottom:25px;}
.main_gallery .item02 .tit_wrap			{margin-left:10px;margin-right:10px;}
.main_gallery .tit_wrap .tit					{position:relative;display:inline-block;padding-left:5px;padding-right:35px; font-family: 'S-CoreDream-6Bold';  font-size:1.45em; letter-spacing:-1.5px; color:#000; } 
.main_gallery .tit_wrap .tit a				{font-family: 'S-CoreDream-6Bold';color:#000; }
.main_gallery .tit_wrap .tit span			{ font-family: 'S-CoreDream-6Bold';color:#148b51; } 
.main_gallery .more								{display:block; position:absolute; right:0; top:0;  } 
.main_gallery .more a							{display:block; width:30px; height:30px; cursor:pointer; text-indent:-9999px;}
.main_gallery .more a:after					{position:absolute; content:''; left:6px; top:13px; width:17px; height:3px; background:#000;}
.main_gallery .more a:before				{position:absolute; content:''; left:13px; top:6px; width:3px; height:17px; background:#000;}
.main_gallery .more:hover a:after					{background:#148b51;}
.main_gallery .more:hover a:before				{background:#148b51;}

.main_gallery .item01 ul								{position:relative; overflow:hidden;height:330px;border:1px solid #d6d6d6;background:#fff; }
.main_gallery .item01 ul li							{position:relative;transition:all 0.3s ease;}
.main_gallery .item01 ul li a						{position:relative; display:block;display: grid; grid-template-columns:47% auto; transition:all 0.3s ease;}
.main_gallery .item01 ul li figure				{ height:330px;overflow:hidden;}
.main_gallery .item01 ul li figure img			{ width:100%; height:100%; object-fit:cover;transition:all 0.4s ease;}
.main_gallery .item01 ul li:hover figure img			{transform: scale(1.07);}
.main_gallery .item01 ul li .cont					{padding:  30px;letter-spacing:-1px;}
.main_gallery .item01 ul li .cont .tit			{font-size:1.25em; letter-spacing:-1.5px; color:#148b51; font-weight:600; padding:0 0 10px 0; } 
.main_gallery .item01 ul li .cont .txt01		{font-size:0.95em;  color:#555; margin:0 0 15px 0;height:50px;overflow:hidden;text-overflow: ellipsis;-o-text-overflow: ellipsis; display:-webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical; word-wrap: break-word; } 
.main_gallery .item01 ul li .cont .txt02		{ margin:0 0 22px 0; } 
.main_gallery .item01 ul li .cont .txt02 p	{ position:relative;padding:0 0 0 12px; font-size:0.9em;color:#888; height:25px;overflow:hidden;text-overflow: ellipsis;-o-text-overflow: ellipsis; display:-webkit-box;-webkit-line-clamp: 1;-webkit-box-orient: vertical; word-wrap: break-word;} 
.main_gallery .item01 ul li .cont .txt02 p:after		{position:absolute; content:'';   left:0; top:13px; width:5px; height:1px; background:#777  ;}
.main_gallery .item01 ul li .cont .btn			{display:inline-block; padding:0 50px 0 25px; color:#fff;  font-size:0.9em; line-height:42px;border-radius:50px;background:url('../img/main/main_bn_arrow.png') no-repeat 88% 50% #000; background-size:18px auto;transition:all 0.3s ease;}
.main_gallery .item01 ul li:hover .cont .btn			{background-color:#148b51;background-position:91% 50%;}
  


.main_gallery .arrow								{position:absolute; top:-7px; right:0;  }
.main_gallery .arrow p							{display:inline-block;width:40px; height:40px;  border:1px solid #ccc; background:#fff; cursor:pointer;  opacity:0.6;  } 
.main_gallery .arrow span					{display:inline-block; border:solid #333; padding:4px;}
.main_gallery .arrow .prev					{ }
.main_gallery .arrow .prev span			{margin:14px 0 0 17px; border-width:0 2px 2px 0; transform:rotate(135deg);}
.main_gallery .arrow .next					{right:0;}
.main_gallery .arrow .next span			{margin:14px 0 0 14px;  border-width:2px 2px 0 0; transform:rotate(45deg);}
.main_gallery .arrow p:hover				{opacity:0.9;} 



@media screen and (max-width:1200px) {
.main_gallery .item01 							{ width:49.5%;  } 
.main_gallery .item02							{ width:49.5%; } 
}

@media screen and (max-width:1024px) {
	.main_gallery											{padding:60px 0;} 
	.main_gallery .item01 							{ float:none;width:100%; padding-right:5px;padding-left:5px; margin-bottom:40px;} 
	.main_gallery .item02							{ float:none;width:100%; } 
	.main_gallery .item02 .tit_wrap			{margin-left:5px;margin-right:5px;}
	.main_gallery .tit_wrap							{  margin-bottom:20px;}
	.main_gallery .tit_wrap .tit					{font-size:1.35em; } 
	.main_gallery .more								{ top:-3px;  } 
	.main_gallery .item01 ul								{  height:initial;  }
	.main_gallery .item01 ul li figure				{ height:335px; }
	.main_gallery .item01 ul li .cont .tit			{font-size:1.2em; padding:0 0 15px 0; }  
	.main_gallery .item01 ul li .cont .txt02		{ margin:0 0 25px 0; } 
}

@media screen and (max-width:820px) {
	.main_gallery											{margin:50px 0;}
	.main_gallery .tit_wrap .tit					{font-size:1.25em;  }   
	.main_gallery .item01 ul li figure				{ height:325px; }
	.main_gallery .item01 ul li .cont					{padding:25px; }
	.main_gallery .item01 ul li .cont .tit			{font-size:1.15em; padding:0 0 10px 0; } 
	.main_gallery .item01 ul li .cont .txt01		{ margin:0 0 10px 0;}
	.main_gallery .item01 ul li .cont .txt02		{ margin:0 0 25px 0; } 
}
@media screen and (max-width:600px) { 
	.main_gallery .item01 ul li figure				{ height:240px; }
	.main_gallery .item01 ul li a						{  grid-template-columns:1fr; }
	.main_gallery .item01 ul li .cont .tit			{font-size:1.1em;   } 
	.main_gallery .item01 ul li .cont .txt01		{ margin:0 0 5px 0;}
	.main_gallery .item01 ul li .cont .txt02		{ margin:0 0 15px 0; } 
	.main_gallery .item01 ul li .cont .btn			{  padding:0 45px 0 20px;   line-height:38px; background-size:16px auto; }
}

 

/* main_gallery  ================================================================================== */ 