@charset "utf-8"; 

h4							{position:relative; font-family:var(--font-family-brand); font-weight:600; font-size:1.35em; color:#000;   line-height:1.2; padding-top:15px; margin-bottom:1em;} 
h4::before				{position:absolute; content:'';   top:0; left:6px; width:8px; height:8px; border-radius:30px; background:var(--color1);} 
h4::after				    {position:absolute; content:'';   top:0; left:18px; width:8px; height:8px; border-radius:30px; background:var(--color2);} 
h4 span					{font-size:1.05rem;  color:#797979; margin-left:10px;}
h5							{position:relative;   font-weight:700;  font-size:1.15em; color:#222; padding-left:22px;  margin-bottom:0.8em; } 
h5::before				{position:absolute; content:'';   top:5px; left:0; width:16px; height:16px; border-radius:30px; border:4px solid var(--color1);   }  
h4 + h5                  {margin-top:1.7em;}
.sub_wrap h6			{font-family:var(--font-family-brand); display:block; font-weight:400; color:#111; font-size:0.95em; margin-bottom:10px;  }
.sub_wrap h6 i		{color:var(--color1); margin-right:7px;}
.sub_txtline		    {font-weight:700; box-shadow: inset 0 -9px 0 #fdd8b4; padding:0 2px; color:#222;}

@media screen and (max-width:1024px) { 
	h4						{font-size:1.25em;  padding-top:13px;}  
    h4::before				{ left:5px; width:7px; height:7px; } 
    h4::after				    { left:16px; width:7px; height:7px;  } 
	h5						{font-size:1.1em; padding-left:20px; }
	h5::before			{top:4px; width:14px; height:14px; border-width:3px; } 
}

.sub_line01                                {height:40px; margin-top:40px; border-top:1px dashed #ddd; }
.sub_line02                                {height:40px;  }
.sub_line03                                {height:60px;  }


.sub_cont01					            { }   
.sub_cont02					            {   }    
.sub_cont03					            { position:relative; display: flex; flex-direction: column; gap:1rem; }   
.sub_cont03 .inner					{position:relative; display: flex; gap:1rem; }   
.sub_cont03 .inner:not(:last-of-type)    { border-bottom:1px solid #e5e5e5; padding-bottom:1rem; }
.sub_cont03 .inner .tit				{width:200px; text-align:center; padding:1em  ; font-weight:bold; font-size:1em;  color:#222; background:#f4f5f6; border-radius:6px; display: flex;   justify-content:center; align-items:center; }   
.sub_cont03 .inner .cont			{flex:2; padding:0.5em ;    }   
   
.delist  								        {padding-left:30px;}							
.delist li								        {list-style:decimal-leading; padding-bottom:8px; }					
.sub_list01							        {position:relative; list-style:none; padding-left:20px; line-height:1.3;}
.sub_list01 + .sub_list01          { margin-top:10px;}
.sub_list01::after				        {position:absolute; content:''; left:0; top:4px; width:15px; height:15px; mask:url('../img/common/icon_check2.svg') no-repeat center / contain; background-color:var(--color1);  border-radius:50%;}
.sub_list01 i						        { width:23px; line-height:23px; background:#aaa; color:#fff; text-align:center; font-size:0.9em;border-radius:100%;  }
.sub_list01 b						        {color:var(--color1);}
.sub_list01 a                              {text-decoration:underline;}
.sub_list01>ul                            {padding-top:10px; padding-bottom:10px;  }
.sub_list02							        {position:relative; list-style:none; padding-left: 14px;line-height:1.3;}
.sub_list02::after				        {position:absolute; content:'';  left:2px; top:8px; width:4px; height:4px; background:var(--color1);  border-radius:50%;}
.sub_list02 + .sub_list02          { margin-top:8px;}

.sub_list03					                {position:relative; display:block;list-style:none; padding:0 0 10px 0; line-height:150%;  }
.sub_list03 strong		                {font-size:1.1em;color:#003875; }
.sub_list03 b				                { color:#003875; } 
.sub_list03 dt					            { width:170px;float:left;text-align:center;background:#e6e9ed;color:#003875;min-height:30px; padding:3px 0 4px 0;  border:1px solid #dfe1e5; border-radius:2px;}
.sub_list03 dd					        { padding:3px 0 4px 185px;  }
 
  
@media screen and (max-width:768px) {  
    .sub_list01							        {  padding-left:17px;  }
    .sub_list01 + .sub_list01          { margin-top:8px;}
    .sub_list01::after				        {  top:2px; width:13px; height:13px;  } 
    .sub_list02							        { padding-left: 10px; }
    .sub_list02 + .sub_list02          { margin-top:6px;}
    .sub_list02::after				        {  left:1px; top:5px;  }
    
    .sub_list03 dt						        {width:100px; font-size:0.9em;}
    .sub_list03 dd					        { padding:3px 0 4px 110px; font-size:0.9em; }

    .sub_cont03 .inner					{flex-direction: column; gap:10px;}   
    .sub_cont03 .inner:not(:last-of-type)    { border-bottom:0; padding-bottom:0; }
    .sub_cont03 .inner .tit				{width:100%; text-align:left; padding:10px 15px ;   font-size:1em;  justify-content:left;  }    
}


 

.sub_table					{border-top:1px solid #333; border-collapse:collapse; width:100%; table-layout:fixed; font-size:0.95em;} 
.sub_table thead th			{  font-weight:500; color:#111; padding:13px 8px; border-bottom:1px solid #dddee0; border-right:1px solid #dddee0; border-left:1px solid #dddee0; text-align:center; background-color:#f5f5f5; }
.sub_table thead th:first-child	{border-left-color:#f5f5f5;}
.sub_table thead th:last-child	{border-right-color:#f5f5f5;}
.sub_table tbody th			{ color:#333; line-height:150%; padding:13px 10px; border-bottom:1px solid #ddd; border-right:1px solid #ddd; background-color:#fafafa; text-align:center;}
.sub_table thead th[colspan]	{padding:5px;}
.sub_table tbody td			{line-height:150%; padding:15px; border-left:1px solid #ddd; border-bottom:1px solid #ddd; border-right:1px solid #ddd; background-color:#fff; }
.sub_table tbody td:first-child{border-left-color:#fff;}
.sub_table tbody th:last-child, .sub_table tbody td:last-child	{border-right-color: #fff;}
.sub_table tfoot th			{ color:#333; line-height:150%; padding:15px 10px; border-bottom:1px solid #ddd; border-right:1px solid #fff; background:#e5e5e5; text-align:center;}
.sub_table tfoot td			{line-height:150%; padding:15px; border-left:1px solid #ddd; border-bottom:1px solid #ddd; border-right:1px solid #ddd; background:#e5e5e5;}
.sub_table tfoot td:last-child	{border-right-color:#fff;}
.sub_table .pzero           {padding:13px 0;}

.sub_step					{display:grid; grid-template-columns:repeat(auto-fill, minmax(300px, 1fr)); gap:12px; text-align:center; margin-top:10px;}
.sub_step dl				{position:relative; display:grid; align-items:center; background:#edf0f5; border-radius:15px; padding:15px 10px 12px 10px; }
.sub_step dl:before			{content:''; position:absolute; top:29px; right:-15px; width:15px; height:3px; background:var(--color1);}
.sub_step dl:after			{content:''; position:absolute; top:21px; right:-25px; background:transparent; border:9px solid transparent; border-left:9px solid var(--color1); z-index:1;}
.sub_step dl:last-child:before, .sub_step dl:last-child:after	{display:none;}
.sub_step dl dt				{color:#111;  }
.sub_step dl dd				{background:#fff; padding:15px 10px; border-radius:10px; font-size:0.95em; line-height:1.4; margin-top:10px;}
.sub_step em                { font-weight:500; position:absolute; top:-12px; left:12px; width:38px; height:38px; line-height:32px; border:3px solid #fff; background:var(--color1); color:#fff; font-size:0.8em; letter-spacing:0; border-radius:20px;}


@media screen and (max-width:1024px) {  
	.sub_table thead th, .sub_table tbody th, .sub_table tbody td	{padding:10px 5px; font-size:0.95em;}

	.sub_step					{gap:10px;}
	.sub_step dl				{padding:8px;}
	.sub_step dl dt				{font-size:1em;}
	.sub_step dl dd				{padding:10px 5px; border-radius:5px; margin-top:5px;}
	.sub_step dl:after			{top:auto; right:49%; bottom:-17px; border-left:9px solid transparent; border-top:9px solid var(--color1);}
	.sub_step dl dd br, .sub_step dl:before	{display:none;}
    .sub_step em                {top:-5px; width:30px; line-height:26px; height:30px; border-width:2px;}
}	


 

/* 인사말  ================================================================================== */
.greeting_wrap								{position:relative;}  
.greeting_wrap .inner                  {display: flex;  justify-content: space-between; gap:3em;  flex-direction: row-reverse;}
.greeting_wrap .img                   {width:33%;   }
.greeting_wrap .img figure          { position:relative; }
.greeting_wrap .img figure img          {width:100%;  border-radius:2.5em  0 ;display: flex;  }
.greeting_wrap .img figure::before    {position:absolute;content:'';left:-1.3em; bottom:-1.3em; width:100%; height:100%; background:#f5f5f5; border-radius:2.5em 0 ;  z-index: -1;}
.greeting_wrap .cont					{  flex:2;  line-height:1.5em;}
.greeting_wrap .tit					    {position:relative;font-size:1.3em;font-weight: 700;color:var(--color1); padding-top:10px; padding-bottom:8px;  line-height:1.3;}  
.greeting_wrap .cont .txt01		    { font-size:1.6em;font-weight: 700;color:#666;  line-height:1.3; padding-bottom:15px;}
.greeting_wrap .cont .txt01 span   {font-size:1.1em; color:#111;}
.greeting_wrap .cont p					{line-height:1.6; padding:15px 0; word-break:keep-all; }
.greeting_wrap .cont p strong     {color:#222; font-size:1.1em; font-weight:bold; }
.greeting_wrap .ceo						{font-size:1.05em; font-weight: 600;    line-height: 1.8;color:#333; padding-top:20px; }
.greeting_wrap .ceo p					{font-size:1.25em;   font-weight: 700; line-height: 1.6;color:#000;  }

@media screen and (max-width:1200px) { 
    .greeting_wrap .inner                  {  gap:2.5em; } 
}
@media screen and (max-width:1024px) {  
}
@media screen and (max-width:768px) { 
    .greeting_wrap .inner                  { gap:1em;  flex-direction: column;}
    .greeting_wrap .img                   {width:100%;   max-width:400px; margin:auto; }
    .greeting_wrap .img figure::before    {display:none; }
    .greeting_wrap .tit					    { font-size:1.2em;}
    .greeting_wrap .cont .txt01		    { font-size:1.5em; }
}

/* 인사말  ================================================================================== */
  




/* MAP  ================================================================================== */ 
.map_box #map_canvas				{position:relative; width:100%; aspect-ratio: 2 / 1;border:1px solid var(--border-color1);}
.map_box .map_info					{overflow:hidden; padding-top:30px ;   display: grid; grid-template-columns: 60% auto; gap: 20px 3rem; }
.map_box .map_info li					{ display: grid; grid-template-columns:130px auto;  } 
.map_box .txt01							{ font-weight:600;color:var(--color1);  display:flex; gap:14px; }
.map_box .txt01 span		            {  display:inline-block;background:var(--color1); color:#fff; width:46px;height:46px; border-radius:100%; text-align:center; cursor:auto;   }
.map_box .txt01 p,
.map_box .txt02							{padding-top:10px;   }
.map_box i								        {display:inline-block; width:100%;height:100%;  background-color:#fff;  }
.map_box .map_info .icon_add                    { mask: url('../img/common/icon_location.svg') no-repeat center / 50%; }
.map_box .map_info .icon_phone               { mask: url('../img/common/icon_phone.svg') no-repeat center / 50%; }
.map_box .map_info .icon_fax                     { mask: url('../img/common/icon_fax.svg') no-repeat center / 50%; }
.map_box .map_info .icon_email                 { mask: url('../img/common/icon_email.svg') no-repeat center / 50%; }


.mapoverlay									{position:relative;margin-left:5px ;   bottom:60px;border-radius:3px;padding:12px 14px;border: 1px solid #333;background:#fff;text-align:center;  }
.mapoverlay::after							{position:absolute;content:'';left:50%;bottom:-16px;width:16px;height:16px; background:url('../img/common/map_localimg.png') no-repeat;}
.mapoverlay .title							{ color:#000; font-size:16px;font-weight:bold;}
.mapoverlay .title span					{font-weight:bold; box-shadow: inset 0 -5px 0 #ffd940; padding:0 1px; color:#000;}
.mapoverlay .add							{display:block; color:#666; font-size:14px;    word-wrap:break-word;  }

 
@media screen and (max-width:1200px) {  
	.map_box .map_info					{padding:30px 0 0 0;  grid-template-columns: repeat(1, 1fr); gap: 15px; }
}
@media screen and (max-width:1024px) {  
	.map_box .map_info li					{ font-size:0.95em;grid-template-columns:115px auto;  }
    .map_box .map_info li span		{width:36px; height:36px;  }
    .map_box .txt01							{  gap:10px; }
    .map_box .txt01 p,
    .map_box .txt02							{padding-top:6px; }
} 
@media screen and (max-width:768px) {  
	.map_box #map_canvas			{  aspect-ratio: 2 / 1.5; } 
} 
@media screen and (max-width:480px) {   
	.map_box #map_canvas			{  aspect-ratio: 2 / 1.7;} 
	.mapoverlay .title						{  font-size:15px;} 
	.mapoverlay .add						{  font-size:12px;    }
}

/* MAP  ================================================================================== */





/* 서브 디자인  ================================================================================== */
.introHead                      {margin-bottom:20px;}
.introHead .tit                 {font-family:var(--font-family-brand); font-weight:600; letter-spacing:-1.5px; font-size:1.5em; color:var(--color1); margin-bottom:20px;}
.introHead .cont                {word-break:keep-all; line-height:1.6;}
.introHead .sign                {font-family:var(--font-family-brand); text-align:right; margin-top:20px; font-weight:600;}
.introHead .sign strong         {color:#111; font-size:23px; margin-left:7px;}

.introGoal                      {position:relative; text-align:center; border:1px solid #ddd; border-radius:20px; padding:100px 0 40px 0;}
.introGoal .depth1              {display:flex;}
.introGoal .depth1>li           {flex:1; position:relative; border-right:1px dotted #ccc; padding:0 25px;}
.introGoal .depth1>li:last-child    {border:0;}
.introGoal .depth1>li:first-child   {position:absolute; top:40px; border:0; width:100%;}
.introGoal .depth1>li:first-child strong    {background:#e8e8e8; padding:5px 20px; border-radius:50px; font-weight:400; color:#333;}
.introGoal .depth1>li:first-child:after {position:absolute; top:10px; left:0; right:0; content:''; width:78%; height:40px; border:2px dotted #ccc; margin:auto; border-bottom:0; z-index:-1; border-radius:5px 5px 0 0;}
.introGoal .depth1>li>span      {position:relative; display:inline-block; width:110px; height:110px; line-height:110px; border-radius:50%; text-align:center; background:#108ef5; color:#fff; font-size:30px; box-shadow:0 0 15px 1px rgba(0,0,0,0.1);}
.introGoal .depth1>li>span:after    {position:absolute; top:-10px; left:-10px; width:calc(100% + 20px); height:calc(100% + 20px); background:#edf0f5; border-radius:100%; content:''; display:block; z-index:-1;}
.introGoal .depth1>li:nth-child(3)>span {background:#00457e;}
.introGoal .depth1>li:nth-child(4)>span {background:#1fa38b;}
.introGoal .depth1>li:last-child>span {background:#92b000;}
.introGoal .depth1>li>p         {font-family:var(--font-family-brand); font-weight:600;  font-size:1.05em; color:#111; margin:20px 0 12px 0;}
.introGoal .depth1>li>em        {position:absolute; right:-20px; top:40%; display:inline-block; width:42px; line-height:42px; background:#fff; box-shadow:0 0 20px 1px rgba(0,0,0,0.15); border-radius:50%; font-size:1.1em; font-weight:500; color:#111;}
.introGoal .sub_cont01          {word-break:keep-all; text-align:left; font-size:0.95em;}
.introGoal .depth2              {font-family:var(--font-family-brand); font-size:1.1em;  font-weight:600; position:relative; background:#012d5e; color:#fff; width:95%; margin:40px auto 0 auto; border-radius:50px; padding:17px 10px;}
.introGoal .depth2:before       {content:''; display:block; position:absolute; top:-20px; left:50%; transform:translateX(-50%); background:transparent; border:10px solid transparent; border-bottom:10px solid #012d5e;}


 


@media screen and (max-width:1024px) {
    .introHead .tit                 {font-size:1.2em; margin-bottom:10px;}
    .introHead .cont .h20p          {height:10px !important;}
    .introHead .sign                {margin-top:10px;}
    .introHead .sign  strong        {font-size:18px;}
    .introGoal                      {padding:60px 0 20px 0;}   
    .introGoal .depth1>li:first-child   {top:20px;}
    .introGoal .depth1>li           {padding:0 20px;}
    .introGoal .depth1>li>em        {top:28%; width:32px; line-height:32px;}
    .introGoal .depth1>li>p         {margin:15px 0 7px 0;}
    .introGoal .depth1>li>span      {width:70px; height:70px; line-height:65px; font-size:20px;}
    .introGoal .depth1>li>span:after    {width:calc(100% + 16px); height:calc(100% + 16px); top:-8px; left:-8px;}
    .introGoal .depth2              {padding:15px 0; margin-top:30px;}

 
}	



/* 우수수기   ================================================================================== */
.review01_wrap01               { border-radius:1em; padding:3em; background:#f4f5f6;} 
.review01_wrap01 .txt01					{margin-bottom:10px; font-size:1.75em; line-height:1.4;  color:var(--color1); font-weight:700;} 
.review01_wrap01 .txt02					{font-size:1.25em;   line-height:1.4;color:#111;font-weight: 600; } 
 
.review01_wrap01 dl							{ display: grid; grid-template-columns:1fr; gap:10px; margin-top:50px; }
.review01_wrap01 dl div							{ display: grid; grid-template-columns:130px auto; gap:20px; }
.review01_wrap01 dt						{ text-align: center; border: 2px solid #d2d2d2; color:#333; border-radius: 50px; height: 44px; background:#fff;  font-weight: 600;   display: flex; flex-direction: column; justify-content:center; align-items:center;  }
.review01_wrap01 dd						{ font-size:1.05em; padding-top:10px; color:#222; }


@media screen and (max-width:1200px) {
    .review01_wrap01               {  padding:2.5em; } 
    .review01_wrap01 .txt01					{  font-size:1.6em; } 
    .review01_wrap01 .txt02					{font-size:1.2em;  }
}
@media screen and (max-width:1024px) {
    .review01_wrap01               {  padding:2em; } 
    .review01_wrap01 .txt01					{  font-size:1.45em; } 
    .review01_wrap01 .txt02					{font-size:1.1em;  }
    .review01_wrap01 dl							{   margin-top:40px; }
    .review01_wrap01 dl div							{   grid-template-columns:110px auto; gap:15px; }
    .review01_wrap01 dt						{  height: 40px;  }
    .review01_wrap01 dd						{ font-size:1em; padding-top:7px; }
}
@media screen and (max-width:768px) {
    .review01_wrap01               {  padding:1.5em; } 
    .review01_wrap01 .txt01					{  font-size:1.35em; } 
    .review01_wrap01 .txt02 br            {display:none; } 
}
@media screen and (max-width:580px) {  
    .review01_wrap01 .txt01					{  font-size:1.3em; } 
    .review01_wrap01 dl							{ gap:20px; }
    .review01_wrap01 dl div							{ grid-template-columns:1fr; gap:10px;   }
    .review01_wrap01 dd						{   padding:0 8px; }
}


/* 우수수기   ================================================================================== */


