/* ---------- layout (스크린샷 비율에 가깝게) ---------- */
.tech-spec{
  width:100%;
  background:#fff;
}
.tech-spec__inner{
  max-width: 1500px;
  margin: 0 auto;
  padding: clamp(16px, 2.6vw, 36px);
  display:flex;
  align-items:flex-start;
  gap: clamp(18px, 2.8vw, 44px);
}

/* LEFT : 이미지(도면 크게) */
.tech-spec__img{
  margin:0;
  flex: 1 1 auto;
}
.tech-spec__img img{
  width:100%;
  height:auto;
  display:block;
}

/* RIGHT : 텍스트(더 타이트하게) */
.tech-spec__txt{
  flex: 0 0 36%;
  min-width: 340px;
  padding-top: clamp(2px, .8vw, 10px);
}

/* 제목(브라운톤/굵기/자간) */
.tech-spec__title{
  margin: 0 0 16px 0;
  font-size: clamp(0.97rem, 2.1vw, 2.15rem);
  font-weight: 500;
  letter-spacing: -0.03em;
  color: #8f7f77;  /* 스샷 느낌의 브라운 톤 */
}
.tech-spec__title--mt{
  margin-top: clamp(24px, 3.5vw, 56px);
}

/* ---------- dot list (도트 필수 / 스샷 느낌) ---------- */
.dot-list{
  margin: 0;
  padding: 0;
  list-style: none;
}
.dot-list li{
  position: relative;
  padding-left: 20px;                 /* 도트 자리 */
  margin: 12px 0;
  font-size: clamp(1.05rem, 1.25vw, 1.42rem);
  line-height: 1.7;
  color:#111;
  font-weight: 700;
  letter-spacing: -0.01em;
}
.dot-list li::before{
  content:"";
  position:absolute;
  left:0;
  top: 0.78em;                        /* 줄 중간 */
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background:#111;
  transform: translateY(-50%);
}

/* ---------- responsive ---------- */
@media (max-width: 980px){
  .tech-spec__inner{
    flex-direction: column;
  }
  .tech-spec__txt{
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
  }
}


/* 큰 테이블 배경 설정 */
.table-container{
  width:100%;
  max-width:1400px;
  min-height:100vh;
  display:flex;
  align-items:center;
  background:url("../img/gree_bg.jpg") center top no-repeat;
  background-size:auto;     /* 원본 크기 */
  border-radius:8px;
}

/* 테이블 */
.table-with-bg{
  width:70%;
  margin:25% 0 0 12.5%;
  border-collapse:collapse;
  table-layout:fixed;
}

/* 공통 cell */
.table-with-bg .cell{
  text-align:left;
  font-size:20px;
  line-height:1.4;
  white-space:pre-line;
  vertical-align:top;
}

/* 첫 줄(타이틀 + dot) 칸 비율 */
.table-with-bg tr:first-child > .cell:nth-child(1){ width:60%; }
.table-with-bg tr:first-child > .cell:nth-child(2){ width:40%; }

/* 타이틀(텍스트 2줄) 줄간격 별도 */
.table-with-bg .cell-title .text-1{line-height:1;}
.table-with-bg .cell-title .text-2{width:100%;
  display:block;
}
.table-with-bg .cell-title .text-1{ margin-bottom:.25em; }

/* 본문 줄간격 */
.table-with-bg .cell-body{ line-height:1.45; }

/* 타이틀 폰트 */
.table-with-bg .text-1{
  font-size:45px;
  color:#000;
  font-weight:700;
}
.table-with-bg .text-2{
  font-size:45px;
  color:#ff0000;
  font-weight:700;
}

/* dot 이미지 */
.dot-img{
  display:block;
  max-width:100%;
  height:auto;
  opacity:.8;
}

/* 태블릿 */
@media (max-width:1024px){
  .table-with-bg .cell{
    font-size:22px;
    line-height:1.5;
  }
}

/* 모바일 */
@media (max-width:768px){
  .table-container{
    min-height:auto;
    padding:16px;
    background-size:contain;
    background-position:center top;
  }

  .table-with-bg{
    width:90%;
    margin:20% auto 0;
  }

  /* ✅ 모바일에서 첫 번째 줄만 가로 배치 유지 */
 .table-with-bg tr:first-child{
    width:300px;
    display:flex;
    align-items:flex-start;   /* 세로 정렬 */
    gap: 5px;                  /* 셀 간의 간격을 줄여 세로폭 줄이기 */
    height: 150px;              /* 세로 높이 고정 */
  }
  
  .table-with-bg tr:first-child > .cell:nth-child(1){
    width:100%;
  }
  
  .table-with-bg tr:first-child > .cell:nth-child(2){
    width:auto;
  }
  /* 모바일 타이틀 크기 */
  .table-with-bg .text-1,
  .table-with-bg .text-2{
    font-size:32px;
  }

  /* 본문 */
  .table-with-bg .cell{
    font-size:18px;
    line-height:1.6;
  }
  .table-with-bg .cell-body{
    line-height:1.75;
  }

  /* dot 숨김 */
  .dot-img{ display:none; }
}


/*인사말*/
.greeting {
  position: relative;
  background: url("../img/gree_bg.jpg") no-repeat center center;
  background-size: cover;  /* 배경 이미지가 전체를 덮도록 설정 */
}

/* 반응형 - 모바일 화면에서 더 작은 이미지 크기 적용 */
@media (max-width: 768px) {
  .greeting {
    background-size: contain;  /* 배경 이미지가 컨테이너 크기에 맞게 조정되도록 설정 */
  }
}
.greeting .img{position:relative; height:630px;}

.greeting .tit{position:absolute; top:170px; left:150px; width:514px; height:314px; background:#4168ad}
.greeting .tit h3{position:relative; margin:0; padding:0px 20px 0 50px; color:#fff; font-size:22px; font-weight:100;  line-height:1.6; word-break:keep-all; box-sizing:border-box; text-align:left; letter-spacing:-1px}
.greeting .tit h3:before{content:''; display:block; position:absolute; top:-23px; left:50px; width:1px; height:144px; margin:0; background:#fff;}
.greeting .tit h3 span{display:block; font-weight:600;}
.greeting .colum { padding:50px 20px 70px 20px;  max-width:1100px; margin:0 auto}
.greeting .colum:after{clear:both; content:""; display:block;}
.greeting .colum .center{font-size: 1.2rem;float:left; width:75%; text-align:justify; }

.greeting .sign {text-align:right; font-size:1.125em; font-weight:bold; color:#222; margin-top:60px; padding-right:20px;  background-repeat:no-repeat; background-position:right center; line-height:50px;}
.greeting .sign .name { font-size:24px}

@media (max-width: 980px){
   	.greeting .tit{position:relative; width:100%; height:auto; padding:0 50px 50px 0px; top:0; right:0;}
	.greeting .tit h3{font-size:22px; line-height:1.6em;}
	.greeting .tit h3 br{display:none;}
	.greeting .img { height:253px}
	.greeting .img:before{left:50%; width:300px; height:310px; margin-left:-150px; background-size:cover;}
	.greeting .colum .left { width:100%; clear:both}
	.greeting .colum .right { width:100%; padding-top:20px; clear:both}

}
/*인사말*/




/*그룹소개*/
.company_info  { width:100%; height:auto;  }
.company_info .img_page { width:100%; height:550px; background-image:url(../img/company_info_bg_company.jpg); background-position:center; background-repeat:no-repeat;} 
.company_info .txt_page { max-width:1200px; margin:0 auto; padding:20px}
.company_info .txt_page h2 { font-size: 42px; line-height: 1; font-weight: 600; margin-bottom: 44px; padding-top:100px; display: block; }
.company_info .txt_page p { font-size:16px; word-break:keep-all; line-height:1.8; color:#555; padding-bottom:15px}
.company_info .Ideology { width:100%; padding-bottom:100px;}
.company_info .Ideology .inner { max-width:1240px; margin:auto; clear:both;}
.company_info .Ideology .inner h2 {font-size: 36px;font-weight: bold;color: #000; letter-spacing:5px; text-align:center; padding:95px 0 50px 0}
.company_info .Ideology .inner .point{color: #06F;}
.company_info .Ideology .inner h2:after { content: " ";display: block; margin:20px auto; width:40px; height: 2px; background-color:#000; clear: both;}
.company_info .Ideology dl { float:left; width:33.3333%; padding:20px; border-right:1px solid #ddd}
.company_info .Ideology dl:last-child { border:0}
.company_info .Ideology dl .web_icon { padding:0 0 20px 0; text-align:center; color:#ff4200}
.company_info .Ideology dl dt { font-size:20px; height:60px; font-weight:bold; letter-spacing:5px; text-align:center} 
.company_info .Ideology dd { line-height:2.2; text-align:center; font-size:16px; color:#555}

.tl_title_box_wrap {width:100%; height:auto; padding:150px 20px; clear:both; background-image:url(../img/work_page_bg.jpg); background-position:center; background-repeat:no-repeat; background-size:cover}
.tl_title_box_wrap li {position:relative; width:23.5%; min-height:400px; background-color:#fff; margin-left:2%; float:left; cursor:pointer;  -webkit-transition: all 0.4s; transition: all 0.4s; background-position:center; background-size:cover; background-repeat:no-repeat}
.tl_title_box_wrap li .bg { background-color:#2c3856; color:#fff; opacity:0; position:absolute; width:100%; height:100%; top:0;left:0; z-index:1}
.tl_title_box_wrap li:hover .bg {opacity: 1; -webkit-transition:all .2s ease-out;-moz-transition:all .2s ease-out;-ms-transition:all .2s ease-out;-o-transition:all .2s ease-out;transition:all .2s ease-out; }
.tl_title_box_wrap li:hover {-webkit-box-shadow:4px 4px 9px 0 rgba(0,0,0,.15);-ms-box-shadow:4px 4px 9px 0 rgba(0,0,0,.15);box-shadow:4px 4px 9px 0 rgba(0,0,0,.15);-webkit-transform:translateY(-25px);transform:translateY(-25px)}
.tl_title_box_wrap li .txt_wrap{width:100%;height:100%; position:absolute; top:0; left:0; box-sizing:border-box;overflow:hidden;padding:40px;color:#fff;-webkit-transition:all .2s ease-out;-moz-transition:all .2s ease-out;-ms-transition:all .2s ease-out;-o-transition:all .2s ease-out;transition:all .2s ease-out; opacity:1; display:table; z-index:2;}
.tl_title_box_wrap li:hover .txt_wrap { opacity:1; color:#fff}
.tl_title_box_wrap li:hover .txt_wrap .cell I { color:#FFF}
.tl_title_box_wrap li:hover .txt_wrap .cell h2 { color:#FFF}
.tl_title_box_wrap li:hover .txt_wrap .cell p { color:#fff}
.tl_title_box_wrap li .txt_wrap .cell { text-align:center;width:100%;display: table-cell; vertical-align: middle;}
.tl_title_box_wrap li .txt_wrap .cell i { font-size:35px; padding-bottom:20px; color:#1a1a1a}
.tl_title_box_wrap li .txt_wrap .cell h2 { font-size:24px; color:#1a1a1a; margin:0; font-weight:bold;}
.tl_title_box_wrap li .txt_wrap .cell p { font-size:16px; color:#555; padding-top:50px; word-break:keep-all; line-height:1.6;}
.tl_title_box_wrap li:nth-child(4n+1) { margin-left:0}

@media (max-width: 960px){
	.company_info .work_page ul li { width:47%; margin-bottom:20px; margin-right: 0; margin-left: 2%;}
	.company_info .work_page ul li:last-child { margin-right:0}
	.company_info .work_page ul li:nth-child(2n+2) {margin-right:0;}
	.company_info .Ideology dl { width:100%; padding-bottom:30px; clear:both}
}
@media (max-width: 640px){
	.company_info .img_page  { background-size:cover; height:300px}
	.company_info .tl_title_box_wrap li { width:100%; margin-left:0; margin-bottom:3%;}
}
/*그룹소개*/






/*브랜드 소개*/
.brand_wrap .text-center{ text-align:center; margin: 150px 0 70px 0;}
.brand_wrap .text-center h2 { font-size:48px; color:#333; letter-spacing:-1px; font-weight:300}
.brand_wrap .brand{position:relative;}
.brand_wrap .brand h2 { font-size:28px; text-align:center; color:#555;  font-weight:500}
.brand_wrap .top30 { margin-top:60px;  word-break:keep-all}
.brand_wrap .absol { position: absolute;}
.brand_wrap .interior h2 { padding:20px 0 0}
.brand_wrap .brand-color h2 { padding:20px 0 20px 0}
/*브랜드 소개*/






/*연혁*/
.history_area {position: relative;width: 100%;padding-top: 37px;}
.history_area .history_point {position: absolute;left: 50%;top: 0;margin-left: -5px;bottom: 20px;width:8px;background-color: #f6f6f6;overflow: hidden;}
/*.history_area .history_point span {position: absolute;display: block;top: 0;width: 100%;height: 200px; background-color:#039}*/
.history_area dl {width: 50%;padding-right: 94px;padding-left: 20px;box-sizing:border-box;}
.history_area div:nth-child(odd) dl {padding-right: 20px;padding-left: 94px;}
.history_area dt {margin-bottom: 20px;font-size: 46px;line-height:1.3;color: #555;font-weight: bold;}
.history_area dd strong {display: block;padding-bottom: 12px;font-size: 20px;line-height: 1.6;color: #1a1a1a;font-weight: 500;}
.history_area dd p {display: block;}
.history_area dd .img_box {display: block;margin-top: 39px;}
.right {text-align: right;}
.left {text-align: left;}
.fr {float: right;}
.img_box img { max-width: 100%}
@media (max-width: 960px){
	.history_area .history_point {left: 10px;margin-left: 0;}
	.history_area dl {float: none !important;width: 100%;padding-right: 0;padding-left: 50px;text-align: left;}
	.history_area div:nth-child(odd) dl {/* padding-right: 0; */padding-left: 50px;}
	.history_area div + div {margin-top: 40px;}
	.history_area div:nth-child(2) {margin-top: 0;}
	.history_area dt {margin-bottom: 20px;font-size:30px;}
	.history_area dd p br {display: none;}
	.history_area dd .img_box {margin-top: 20px;}	
}
/*연혁*/





/*오시는 길*/
.map_area{position:relative;}
.map_area .txt{position:absolute;bottom:-90px;left:50%;transform:translateX(-50%);width:1400px;z-index:100;}
.map_area .txt .txt_wrap {background-color:#006fce;box-shadow:3px 3px 3px rgba(0,0,0,0.2);padding:45px 0;}
.map_area .txt .logo{position:absolute; top:34px; left:0; border-right:1px solid #1a7dd3; text-align:center; width:315px; line-height:90px; height:90px;}
.map_area .txt .contact{display:block; color:#fff; font-weight:500; font-size:20px; letter-spacing:-1px; line-height:1.6; padding:0 0 0 405px;}
.map_area .txt .tx .tel{font-weight:300;}
.map_area .txt .bt{position:absolute;top:50%;right:40px;margin-top:-35px;display:block;border-radius:65px;border:3px solid #fff;color:#fff;font-size:20px;text-align:center;min-width:220px;line-height:60px;height:65px;}

.contact_address {width:100%;height:auto; line-height:1.7;}
.contact_address ul {max-width:1240px;clear: both;padding:0 20px 20px 0px;border-bottom:1px solid #ddd;}
.contact_address ul li {color: #555;margin-top: 5px;margin-bottom: 5px; font-size:16px}
.contact_traffic { max-width:1240px; margin:100px auto; padding:20px; letter-spacing:-0.8px;  clear:both;}
.contact_traffic:after {content: " ";visibility: hidden;display: block;height: 0;padding-bottom:50px;clear: both;}
.contact_traffic ul {border-bottom:1px solid #ddd; padding-bottom:25px}
.contact_traffic .bus {width:100%;}
.contact_traffic .subway {width:100%}
.contact_traffic ul li {color: #555; line-height:33px; font-size:16px}
.contact_traffic h3 { font-size:20px; font-weight:400; letter-spacing:-1px; color:#1a1a1a; padding-bottom:10px; margin-top:25px; text-align:left}
@media (max-width: 1400px){
	.map_area .txt {margin-top: -30px;width: 1024px;}
	.map_area .txt .txt_wrap{border-radius:0px 0px 20px 0px;margin:0 15px;padding:0 0 30px;}
	.map_area .txt .logo{display:block;position:relative;top:auto;left:auto;border-right:0; margin-left:0;width:100%;}
	.map_area .txt .logo:before{content:"";position:absolute;bottom:0;left:50%;margin-left:-88px;background-color:#1a7dd3;width:177px;height:1px;}
	.map_area .txt .contact {line-height:180%;padding:20px 0 0;text-align:center;}
	.map_area .txt .contact .tel{font-weight:300;}
	.map_area .txt .bt{position:static;border-radius:65px;margin:35px auto 0;width:150px;}
}

@media screen and (max-width: 640px) {
	.map_area .txt { position: relative; bottom: auto; left: auto; transform: translateX(0); margin-top: -30px; width: auto;}
	.map_area .txt .logo img { height:20px}
	.map_area .txt .contact { font-size: 13px; letter-spacing: 0; line-height: 180%; padding: 20px 0 0;text-align: center; clear:both}
	.map_area .txt .txt_wrap{border-radius: 0px 0px 20px 0px; margin: 0 15px; padding: 0 0 30px;}
	.map_area .txt .bt { position: static; border-radius: 65px;  border-width: 2px; font-size: 15px; margin: 25px auto 0; width: 150px; line-height: 40px; height: 40px;}
	.map_area .txt .logo { position: relative; display: block;  top: auto; left: auto; border-right: 0;  width: 100%; line-height: 70px;  height: 70px;}
}
/*오시는 길*/







/*food_menu*/
.food_menu .thumb_box  {width:31.3333%; margin-right:3%; display:block; float:left; }
.food_menu.top100 { padding-top:100px}
@media screen and (min-width: 961px) {
    .food_menu .thumb_box:nth-child(3n+3) { margin-right:0}
}
.food_menu .thumb_box .img { width:100%; min-height:300px; background-repeat:no-repeat; background-size:cover; clear:both; overflow:hidden; position:relative}
.food_menu .photo01 .img{ background-image:url(../img/menu01.jpg);}
.food_menu .photo02 .img{ background-image:url(../img/menu02.jpg);}
.food_menu .photo03 .img{ background-image:url(../img/menu03.jpg);}
.food_menu .photo04 .img{ background-image:url(../img/menu04.jpg);}
.food_menu .photo05 .img{ background-image:url(../img/menu05.jpg);}
.food_menu .photo06 .img{ background-image:url(../img/menu06.jpg);}
.food_menu .thumb_box .txt { width:100%; padding:20px; text-align:left; clear:both}
.food_menu .thumb_box .txt h2 { font-size:24px; text-align:center; color:#333; padding:0; letter-spacing:0; font-weight:bold}
.food_menu .thumb_box .txt p { padding:20px 0px; text-align:center; }
@media screen and (max-width: 960px) {
    .food_menu .thumb_box { width:49%; margin-right:2% }
	.food_menu .thumb_box:nth-child(2n+2) { margin-right:0} 
}

@media screen and (max-width: 640px) {
    .food_menu .thumb_box { width:100%; margin:0; clear:both; float:none}
}
/*food_menu*/




/* content01 */
.content01 .box { position: relative; padding-bottom:80px; display:block;}
.content01 .box .img_right { float:right}
.content01 .box .txt_wrap { position: absolute; right: 0; top:45px; background: #fff; padding:50px;  width: 50%;}
.content01 .box .txt_wrap .half-round-tit { display:inline-block;margin-bottom:20px}
.content01 .box .txt_wrap .half-round-tit strong {color:#1a1a1a;  font-size:22px; font-weight:500;  vertical-align: middle;  line-height:1.6; letter-spacing:0;}
.content01 .box .txt_wrap .half-round-tit span { display: inline-block; width:35px; height:35px; line-height:35px; text-align: center;  border-radius: 50%; vertical-align: middle; color: #fff; font-size:16px}
.content01 .box .txt_wrap .half-round-tit span {background:#8abd00; margin-right:10px; float:left}
.content01 .box .txt_wrap p {text-align: justify;}
.content01 .box .txt_wrap02 { position: absolute; left: 0; top:45px; background: #fff; width: 50%;}

@media screen and (max-width: 960px) {
	.content01 .box .img { text-align:center; display:block; float:none; clear:both}
	.content01 .box .img img { width:100%}
	.content01 .box .txt_wrap { width:100%; padding:20px; display:block; position:relative; clear:both}

}
/* content01 */







/* content02 */
.content02 ul li { width:50%; float:left}
.content02 ul li .profile { float:left; padding-bottom:50px; width:48%}
.content02 ul li .profile img { width:100%}
.content02 ul li dl { float:left; padding:0 40px; width:52% }
.content02 ul li dl dt { font-size:22px; font-weight:bold; text-align:left; padding-bottom:20px; color:#1a1a1a; letter-spacing:0}
.content02 ul li dl dt dd {  margin-left: 10px; font-size:17px; color:#444; line-height:1.75; letter-spacing:-0.02em; text-align:left; display:block; clear:both;  }

@media screen and (max-width: 1210px) {
    .content02 ul li { width:49%; margin-left:2%; margin-bottom:6%}
	.content02 ul li:nth-child(2n+1) { margin-left:0}
	.content02 ul li .profile { width:100%}
	.content02 ul li dl { width:100%; padding:0 20px}
}
@media screen and (max-width: 640px) {
	.content02 ul li { width:100%; margin-left:0}

}


.counsel_area .left { width:20%; float:left}
.counsel_area .left h2 { font-size:18px; font-weight:bold; color:#000}
.counsel_area .left p { font-size:16px; color:#555}
.counsel_area .right { width:80%; margin-bottom:50px; float:left; text-align:left}
@media screen and (max-width: 640px) {
	.counsel_area .left { width:100%}
	.counsel_area .right { width:100%}
	
}

/* content02_i */
.content02_i .type_c {display: flex; justify-content: center; flex-wrap: wrap; margin: 0; align-items: stretch;}
.content02_i .type_c >li{width: calc(31.5% - 15px);  margin: 10px; /* Adjust margin for spacing between li elements */border: solid 1px #ddd; /*border-top: solid 3px #304153;*/border-radius: 25px; display: flex; flex-direction: column; justify-content: center; height: auto;
  align-self: stretch;}
/*.content02_i .type_c >li:nth-child(n+3){margin-top: 30px;}*/
.content02_i .type_c li .top{padding: 50px 42px;}
.content02_i .type_c li .top p {
  font-size: 16px;
  color: #727272;
  font-weight: 500;
  letter-spacing: -0.03em;
  line-height: 1.65;
  display: contents;
}
.content02_i .type_c li .top{
  flex: 1 1 auto;
}

.content02_i .type_c li .bot{
  margin-top: auto; /* bot 영역을 카드 하단 고정 */
}
/*hover 시 텍스트 색상 변경 */
.content02_i .type_c li .top p:hover {
  color: #db4642;
}.content02_i .type_c li h3{display: flex; justify-content: space-between; align-items: center; padding-top: 20px; font-size: 20px; font-weight: 600;color:#727272}
.content02_i .type_c li .bot{justify-content: center; display: flex;}
.content02_i .type_c li .top p a:hover {
  color: #ff6600; /* hover 시 색상 */
}
.content02_i .type_c .dot_list{margin-top: 40px; color:#727272 }
.content02_i .type_c .dot_list p { font-size:18px}
.content02_i .type_c .dot_list li{display: flex; padding-left: 12px; position:relative; margin-bottom: 10px;}
.content02_i .type_c .dot_list li:last-child{margin: 0;}
.content02_i .type_c .dot_list li::before{content: ''; display: block; width: 5px; height: 5px; background-color: #989898; border-radius: 50%; position: absolute; top: 12px; left: 0; }
.content02_i .type_c .dot_list li .fs_20{min-width: 140px;}
.content02_i .type_c .dot{margin-top: 40px; position: relative; padding-left: 12px;}
.content02_i .type_c .dot::before{content: ''; display: block; width: 5px; height: 5px; background-color: #000; border-radius: 50%; position: absolute; top: 12px; left: 0; }


@media screen and (max-width: 1400px){
	.content02_i .type_c li .top{padding: 20px 25px;}
	.content02_i .type_c li .top br{display: none;}
	.content02_i .type_c li .bot{padding: 25px;}
	.content02_i .type_c li h5{padding-bottom: 25px;}
	.content02_i .type_c .dot_list{margin-top: 25px;}
	.content02_i .type_c .dot{margin-top: 25px;}
}

@media screen and (max-width: 1200px){
	.content02_i .type_c .dot_list li{flex-direction: column;}
	.content02_i .type_c .dot_list li .arrow{min-width: initial;}
	.content02_i .type_c .dot_list li .arrow + span{margin-left: 30px;}
	.content02_i .type_c .dot_list li .arrow::after{right: -20px;}
}

@media screen and (max-width: 992px) {
	.content02_i .type_c >li{width: calc(50% - 10px);}
	.content02_i .type_c >li:nth-child(n+3){margin-top: 20px;}
	.content02_i .type_c li .top{padding: 20px;}
	.content02_i .type_c li .bot{padding: 20px;}
	.content02_i .type_c li h5{padding-bottom: 20px;}
	.content02_i .type_c >li .top i{width: 35px;}
	.content02_i .type_c .dot_list{margin-top: 20px;}
	.content02_i .type_c .dot_list li{flex-direction: column;}
	.content02_i .type_c .dot_list li::before{top: 11px;}
	.content02_i .type_c .dot::before{top: 9px;}
	.content02_i .type_c .dot{margin-top: 20px;}
	.content02_i .type_c .type_a li .bot{align-items: baseline;}
	.content02_i .type_c .type_a li .bot i{width: 20px; position: relative; top: -1px;}
}

@media screen and (max-width: 768px){
	.content02_i .type_c >li{width: 100%;}
	.content02_i .type_c >li:nth-child(n+2){margin-top: 20px;}
	.content02_i .type_c >li:nth-child(odd){border-top: solid 3px #3dc4b6 !important;}
	.content02_i .type_c >li:nth-child(even){border-top: solid 3px #000 !important;}
}
/* content02_i */

/* content02_1 */
.content02_1 .type_c {display: flex; justify-content: center; flex-wrap: wrap; margin: 0;align-items: flex-start}
.content02_1 .type_c >li{width: calc(38% - 15px);  margin: 10px; /* Adjust margin for spacing between li elements */border: solid 1px #ddd; /*border-top: solid 3px #304153;*/border-radius: 25px; display: flex; flex-direction: column; justify-content: center;}
/*.content02_1 .type_c >li:nth-child(n+3){margin-top: 30px;}*/
.content02_1 .type_c li .top{padding: 50px 42px;}
.content02_1 .type_c li .top p {
  font-size: 16px;
  color: #727272;
  font-weight: 500;
  letter-spacing: -0.03em;
  line-height: 1.65;
  display: contents;
}

/*hover 시 텍스트 색상 변경 */
.content02_1 .type_c li .top p:hover {
  color: #db4642;
}.content02_1 .type_c li h3{display: flex; justify-content: space-between; align-items: center; padding-top: 20px; font-size: 20px; font-weight: 600;color:#727272}
.content02_1 .type_c li .bot{justify-content: center; display: flex;}
.content02_1 .type_c li .top p a:hover {
  color: #ff6600; /* hover 시 색상 */
}
.content02_1 .type_c .dot_list{margin-top:0px; color:#727272 }
.content02_1 .type_c .dot_list p { font-size:18px}
.content02_1 .type_c .dot_list li{display: flex; padding-left: 12px; position:relative; margin-bottom: 10px;}
.content02_1 .type_c .dot_list li:last-child{margin: 0;}
.content02_1 .type_c .dot_list li::before{content: ''; display: block; width: 5px; height: 5px; background-color: #989898; border-radius: 50%; position: absolute; top: 12px; left: 0; }
.content02_1 .type_c .dot_list li .fs_20{min-width: 140px;}
.content02_1 .type_c .dot{margin-top: 40px; position: relative; padding-left: 12px;}
.content02_1 .type_c .dot::before{content: ''; display: block; width: 5px; height: 5px; background-color: #000; border-radius: 50%; position: absolute; top: 12px; left: 0; }


@media screen and (max-width: 1400px){
  .content02_1 .type_c li .top{padding: 20px 25px;}
  .content02_1 .type_c li .top br{display: none;}
  .content02_1 .type_c li .bot{padding: 25px;}
  .content02_1 .type_c li h5{padding-bottom: 25px;}
  .content02_1 .type_c .dot_list{margin-top: 25px;}
  .content02_1 .type_c .dot{margin-top: 25px;}
}

@media screen and (max-width: 1200px){
  .content02_1 .type_c .dot_list li{flex-direction: column;}
  .content02_1 .type_c .dot_list li .arrow{min-width: initial;}
  .content02_1 .type_c .dot_list li .arrow + span{margin-left: 30px;}
  .content02_1 .type_c .dot_list li .arrow::after{right: -20px;}
}

@media screen and (max-width: 992px) {
  .content02_1 .type_c >li{width: calc(50% - 10px);}
  .content02_1 .type_c >li:nth-child(n+3){margin-top: 20px;}
  .content02_1 .type_c li .top{padding: 20px;}
  .content02_1 .type_c li .bot{padding: 20px;}
  .content02_1 .type_c li h5{padding-bottom: 20px;}
  .content02_1 .type_c >li .top i{width: 35px;}
  .content02_1 .type_c .dot_list{margin-top: 20px;}
  .content02_1 .type_c .dot_list li{flex-direction: column;}
  .content02_1 .type_c .dot_list li::before{top: 11px;}
  .content02_1 .type_c .dot::before{top: 9px;}
  .content02_1 .type_c .dot{margin-top: 20px;}
  .content02_1 .type_c .type_a li .bot{align-items: baseline;}
  .content02_1 .type_c .type_a li .bot i{width: 20px; position: relative; top: -1px;}
}

@media screen and (max-width: 768px){
  .content02_1 .type_c >li{width: 100%;}
  .content02_1 .type_c >li:nth-child(n+2){margin-top: 20px;}
  .content02_1 .type_c >li:nth-child(odd){border-top: solid 3px #3dc4b6 !important;}
  .content02_1 .type_c >li:nth-child(even){border-top: solid 3px #000 !important;}
}
/* content02_1 */

/* content02_tw : 2열 고정(반반) */
.content02_tw .type_c{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  margin:0;
  align-items:flex-start;
}

/* PC/태블릿: 반반 2열 */
.content02_tw .type_c > li{
  width: calc(75% - 20px);   /* 양쪽 반반 */
  margin: 10px;
  border: solid 1px #ddd;
  border-radius: 25px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  box-sizing:border-box;
}

/* 내부 패딩/텍스트 */
.content02_tw .type_c li .top{ padding:50px 42px; }

/* 기존 display: contents 는 레이아웃/호버/폭 계산 깨질 수 있어서 block 권장 */
.content02_tw .type_c li .top p{
  font-size:16px;
  color:#727272;
  font-weight:500;
  letter-spacing:-0.03em;
  line-height:1.65;
  display:block;
  margin:0;
}

/* hover 시 텍스트 색상 변경 */
.content02_tw .type_c li .top p:hover{ color:#db4642; }

.content02_tw .type_c li h3{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-top:20px;
  font-size:20px;
  font-weight:600;
  color:#727272;
}

.content02_tw .type_c li .bot{ justify-content:center; display:flex; }

.content02_tw .type_c li .top p a:hover{
  color:#ff6600;
}

/* dot list */
.content02_tw .type_c .dot_list{ margin-top:0; color:#727272; }
.content02_tw .type_c .dot_list p{ font-size:18px; }

.content02_tw .type_c .dot_list li{
  display:flex;
  padding-left:12px;
  position:relative;
  margin-bottom:10px;
  box-sizing:border-box;
}
.content02_tw .type_c .dot_list li:last-child{ margin:0; }

.content02_tw .type_c .dot_list li::before{
  content:'';
  display:block;
  width:5px;
  height:5px;
  background-color:#989898;
  border-radius:50%;
  position:absolute;
  top:12px;
  left:0;
}

.content02_tw .type_c .dot_list li .fs_20{ min-width:140px; }

.content02_tw .type_c .dot{
  margin-top:40px;
  position:relative;
  padding-left:12px;
}
.content02_tw .type_c .dot::before{
  content:'';
  display:block;
  width:5px;
  height:5px;
  background-color:#000;
  border-radius:50%;
  position:absolute;
  top:12px;
  left:0;
}

/* -----------------------------
   반응형
------------------------------ */
@media screen and (max-width:1400px){
  .content02_tw .type_c li .top{ padding:20px 25px; }
  .content02_tw .type_c li .top br{ display:none; }
  .content02_tw .type_c li .bot{ padding:25px; }
  .content02_tw .type_c li h5{ padding-bottom:25px; }
  .content02_tw .type_c .dot_list{ margin-top:25px; }
  .content02_tw .type_c .dot{ margin-top:25px; }
}

@media screen and (max-width:1200px){
  .content02_tw .type_c .dot_list li{ flex-direction:column; }
  .content02_tw .type_c .dot_list li .arrow{ min-width:initial; }
  .content02_tw .type_c .dot_list li .arrow + span{ margin-left:30px; }
  .content02_tw .type_c .dot_list li .arrow::after{ right:-20px; }
}

/* 태블릿에서도 2열 유지 */
@media screen and (max-width:992px){
  .content02_tw .type_c > li{
    width: calc(50% - 20px);  /* 2열 유지 */
  }
  .content02_tw .type_c li .top{ padding:20px; }
  .content02_tw .type_c li .bot{ padding:20px; }
  .content02_tw .type_c li h5{ padding-bottom:20px; }
  .content02_tw .type_c > li .top i{ width:35px; }
  .content02_tw .type_c .dot_list{ margin-top:20px; }
  .content02_tw .type_c .dot_list li{ flex-direction:column; }
  .content02_tw .type_c .dot_list li::before{ top:11px; }
  .content02_tw .type_c .dot::before{ top:9px; }
  .content02_tw .type_c .dot{ margin-top:20px; }
}

/* 모바일: 1열 */
@media screen and (max-width:768px){
  .content02_tw .type_c > li{
    width:100%;
    margin:10px 0;
  }

  .content02_tw .type_c > li:nth-child(odd){ border-top: solid 3px #3dc4b6 !important; }
  .content02_tw .type_c > li:nth-child(even){ border-top: solid 3px #000 !important; }
}
/* ✅ dot_list를 2열(반반)로 */
.content02_tw .dot_cols{ width:100%; }

.content02_tw .dot_cols .dot_list{
  margin:0;
  padding:0;
  list-style:none;

  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)); /* ✅ 반반 */
  column-gap: 34px;
  row-gap: 10px;
}

/* ✅ 기존 li 스타일(점) 유지 + grid용 정리 */
.content02_tw .dot_cols .dot_list > li{
  display:block;        /* grid에서는 flex 불필요 */
  position:relative;
  padding-left:12px;
  margin:0;             /* row-gap 사용 */
  min-width:0;          /* ✅ 텍스트가 길어도 칸 밀림 방지 */
  box-sizing:border-box;
}

.content02_tw .dot_cols .dot_list > li::before{
  content:'';
  width:5px;
  height:5px;
  background:#989898;
  border-radius:50%;
  position:absolute;
  top: 12px;
  left:0;
}

/* ✅ 링크/텍스트 폭 밀림 방지 */
.content02_tw .dot_cols .dot_list > li > a{
  display:block;
  width:100%;
  min-width:0;
  text-decoration:none;
}

.content02_tw .dot_cols .dot_list > li > a > p{
  margin:0;
  min-width:0;
}

/* ✅ 모바일: 1열 */
@media screen and (max-width:768px){
  .content02_tw .dot_cols .dot_list{
    grid-template-columns: 1fr;
    column-gap: 0;
  }
}


/* content03 */
.content03 .type_c {display: flex; justify-content: space-between; flex-wrap: wrap; margin: 0;}
.content03 .type_c >li{width: calc(25% - 15px); border: solid 1px #ddd; /*border-top: solid 3px #304153;*/border-radius: 25px; display: flex; flex-direction: column; justify-content: space-between;}
/*.content03 .type_c >li:nth-child(n+3){margin-top: 30px;}*/
.content03 .type_c li .top{padding: 50px 42px;}
.content03 .type_c li .top p {
  font-size: 15px;
  color: #727272;
  font-weight: 500;
  letter-spacing: -0.03em;
  line-height: 1.65;
  display: contents;
}

/* hover 시 텍스트 색상 변경 */
.content03 .type_c li .top p:hover {
  color: #db4642;
}.content03 .type_c li h3{display: flex; justify-content: space-between; align-items: center; padding-top: 20px; font-size: 20px; font-weight: 600;color:#727272}
.content03 .type_c li .bot{justify-content: center; display: flex;}
.content03 .type_c li .top p a:hover {
  color: #ff6600; /* hover 시 색상 */
}
.content03 .type_c .dot_list{margin-top: 40px; color:#727272 }
.content03 .type_c .dot_list p { font-size:18px}
.content03 .type_c .dot_list li{display: flex; padding-left: 12px; position:relative; margin-bottom: 10px;}
.content03 .type_c .dot_list li:last-child{margin: 0;}
.content03 .type_c .dot_list li::before{content: ''; display: block; width: 5px; height: 5px; background-color: #989898; border-radius: 50%; position: absolute; top: 12px; left: 0; }
.content03 .type_c .dot_list li .fs_20{min-width: 140px;}
.content03 .type_c .dot{margin-top: 40px; position: relative; padding-left: 12px;}
.content03 .type_c .dot::before{content: ''; display: block; width: 5px; height: 5px; background-color: #000; border-radius: 50%; position: absolute; top: 12px; left: 0; }
/* 5번째부터 위쪽 간격 추가(추천: 줄 간격 목적) */
.content03 .type_c > li:nth-child(n+5){
  margin-top: 15px; /* 원하는 값 */
}


@media screen and (max-width: 1400px){
	.content03 .type_c li .top{padding: 20px 25px;}
	.content03 .type_c li .top br{display: none;}
	.content03 .type_c li .bot{padding: 25px;}
	.content03 .type_c li h5{padding-bottom: 25px;}
	.content03 .type_c .dot_list{margin-top: 25px;}
	.content03 .type_c .dot{margin-top: 25px;}
}


@media screen and (max-width: 1200px){
	.content03 .type_c .dot_list li{flex-direction: column;}
	.content03 .type_c .dot_list li .arrow{min-width: initial;}
	.content03 .type_c .dot_list li .arrow + span{margin-left: 30px;}
	.content03 .type_c .dot_list li .arrow::after{right: -20px;}
}

@media screen and (max-width: 992px) {
	.content03 .type_c >li{width: calc(50% - 10px);}
	.content03 .type_c >li:nth-child(n+3){margin-top: 20px;}
	.content03 .type_c li .top{padding: 20px;}
	.content03 .type_c li .bot{padding: 20px;}
	.content03 .type_c li h5{padding-bottom: 20px;}
	.content03 .type_c >li .top i{width: 35px;}
	.content03 .type_c .dot_list{margin-top: 20px;}
	.content03 .type_c .dot_list li{flex-direction: column;}
	.content03 .type_c .dot_list li::before{top: 11px;}
	.content03 .type_c .dot::before{top: 9px;}
	.content03 .type_c .dot{margin-top: 20px;}
	.content03 .type_c .type_a li .bot{align-items: baseline;}
	.content03 .type_c .type_a li .bot i{width: 20px; position: relative; top: -1px;}
}
@media screen and (min-width: 993px){
  .content03 .type_c > li:nth-child(n+5){
    margin-top: 15px; /* 또는 padding-top */
  }
}


@media screen and (max-width: 768px){
	.content03 .type_c >li{width: 100%;}
	.content03 .type_c >li:nth-child(n+2){margin-top: 20px;}
	.content03 .type_c >li:nth-child(odd){border-top: solid 3px #3dc4b6 !important;}
	.content03 .type_c >li:nth-child(even){border-top: solid 3px #000 !important;}
}
/* content03 */


/* content_area04 */
.content04 .point { padding:0 20px 0 0}
.content04 .point p { font-size:22px; font-weight:bold; padding-left:30px; color:#1a1a1a; background-image:url(../img/title_icon.png); background-repeat:no-repeat; background-position:left center;}
.content04 .point h2 { font-size:28px; font-weight:100; color:#f66120; text-align:left; padding:10px 0 0;}
.content04 .colum { max-width:1400px;  margin:0 auto; padding: 30px 0 }
.content04 .colum .left { width:50%; float:left; border-right:1px solid #ddd; padding-right:50px}
.content04 .colum .left h2 { font-size:20px; color:#000; letter-spacing:0; padding-bottom:20px; font-weight:bold}
.content04 .colum .right { width:50%;  float:left; padding-left:50px; line-height:1.8; text-align:left}
.content04 .colum .right h2 { font-size:20px; color:#000; letter-spacing:0; padding-bottom:20px; font-weight:bold}
.content04 .img img { width:100%}
.content04 .content_sub_title { margin:0 auto; padding:30px 0 0}
.content04 .content_sub_title:after { content: " ";visibility: hidden;display: block; height: 0; padding-bottom:50px; clear: both;}
.content04 .content_sub_title .sub_title{float:left; display: block; line-height:1.8; width:25%; color:#1a1a1a; font-size:22px; letter-spacing:0; text-align:left; font-weight:bold; margin:0;  padding:0 0 0 30px; background-image:url(../img/title_icon.png); background-repeat:no-repeat; background-position:left center; box-sizing:border-box}
.content04 .content_sub_title .sub_txt {float:right; width:75%;}
.content04 .content_sub_title .sub_txt .h2 { font-size:20px; }
.content04 .content_sub_title .img { float:left; text-align:right; width:450px }
@media screen and (max-width: 960px) {
	.content04 .colum .left { width:100%; border:0; float:none; padding:0; clear:both}
	.content04 .colum .right { width:100%; padding:20px 0 0  }
	.content04 .content_sub_title .sub_title { width:100%; margin-bottom:20px; clear:both}
	.content04 .content_sub_title .sub_txt { float:left; width:100%}
}

@media screen and (max-width: 640px) {

}
/* content_area04 */







/* content_area05 */
.content05 .photo_box { margin-bottom:50px; background-color:#f9f9f9; clear:both}
.content05 .photo_box .img { max-width:50%; float:left;display:block}
.content05 .photo_box .img img { width:100%}
.content05 .photo_box .txt { max-width:50%; float:left; padding:50px; background-color:#f9f9f9; display:block}
.content05 .photo_box .txt h2 { font-size:24px; padding-top:50px; letter-spacing:0; font-weight:bold; text-align:left}
.content05 .photo_box .txt p { padding-top:30px; word-break:keep-all}
@media screen and (max-width: 960px) {
	.content05 .photo_box .img { max-width:100%; display:block}
	.content05 .photo_box .txt { max-width:100%;}
	.content05 .photo_box .txt h2 { font-size:24px; font-weight:bold}
}
/* content_area05 */






/* content_area06 */
.content06 .thumb_box  {width:31.3333%; margin-right:3%; display:block; float:left; }
.content06.top100 { padding-top:100px}
@media screen and (min-width: 961px) {
    .content06 .thumb_box:nth-child(3n+3) { margin-right:0}
}
.content06 .thumb_box .img { width:100%; min-height:300px; background-image:url(../img/rnd03_thumb01.jpg); background-repeat:no-repeat; background-size:cover; clear:both; overflow:hidden; position:relative}
.content06 .thumb_box .txt { width:100%; padding:20px; text-align:left; clear:both}
.content06 .thumb_box .txt h2 { font-size:24px; text-align:center; letter-spacing:0; font-weight:bold}
.content06 .thumb_box .txt p { padding:20px 0px; text-align:center; }
@media screen and (max-width: 960px) {
    .content06 .thumb_box { width:49%; margin-right:2% }
	.content06 .thumb_box:nth-child(2n+2) { margin-right:0} 
}

@media screen and (max-width: 640px) {
    .content06 .thumb_box { width:100%; margin:0; clear:both; float:none}
}
/* content_area06 */



@media screen and (max-width: 640px) {
#email1 { width:45%}
#email2 { width:45%}
#phone1 { width:45%}
#phone2 { width:45%}
#phone3 { width:45%; margin-top:2%}
}







/*의료진 소개*/
.btn-adm{position:absolute;top:5px;right:5px;width:30px;height:30px;color:tomato;line-height:28px;font-size:16px;display:inline-block;text-align:center;border:1px solid #ddd;box-sizing:border-box;border-radius:2px;background-color:#fff}
.doctor_area { width: 100%;position: relative;}
.doctor_area .doctor_profile{width:100%;border-bottom:1px solid #ddd;padding:80px 0}
.doctor_area .doctor-list .thumb{float:left;width:320px;height:410px;padding:0 20px;border:1px solid #d2d2d2;background-size:cover;background-position:center}
.doctor_area .info{width:65%;padding:20px 0;float:right}
.doctor_area .info .name{display:block;margin-bottom:15px;font-size:23px;color:#222;font-weight:500}
.doctor_area .info span{font-size:14px;color:#555;font-weight:300}
.doctor_area .info .postion { color: #2352ab; font-weight: 500}
.doctor_area .info dl dt{display:inline;font-size:16px;font-weight:500;line-height:28px;color:#333}
.doctor_area .info dl dt:after{content:':';display:inline-block;padding:0 4px}
.doctor_area .info dl dd { display: inline; font-size: 16px; color: #666}
.doctor_area .info dl dd:after{content:'';display:block}
.doctor_area .schedule { margin: 34px -1px 0;}
.doctor_area .schedule .surgery { color: #F00; font-size: 16px}
.doctor_area .btn-group {margin-top: 20px;}
.doctor_area .btn-group .btn-rt {float: right}
.doctor_area .btn-group .btn-doctor{display:inline-block;margin:0 5px;padding:7px;width:120px;height:40px;font-size:14px;font-weight:300;line-height:24px;letter-spacing:-.5px;text-align:center;border:1px solid transparent}
.doctor_area .btn-group .btn-Introduction{color:#333;border-color:#ddd;background-color:#f8f8f8}
.doctor_area .btn-group .btn-reservation{color:#fff;border-color:#384451;background-color:#384451}
.doctor_area .btn-group .btn-reservation span { color: #fff }
.doctor_area .sub_navi{width:100%;margin:20px auto;border-bottom:1px solid #ddd;clear:both}
.doctor_area .sub_navi ul { padding-top: 50px}
.doctor_area .sub_navi li{display:inline-block;margin-left:-3px;width:19%}
.doctor_area .sub_navi li a{display:block;box-sizing:border-box;color:#555;text-align:center;font-size:17px;position:relative;height:55px;line-height:55px}
.doctor_area .sub_navi li a.on {color: #0ba2b3; border-bottom: 1px solid #0ba2b3}
.tab_content ul li{display:block;line-height:2.4;font-weight:300;font-size:16px;color:#555}
.tab_content p { line-height:2.1; color:#555; font-size:16px; background-image:url(../img/icon_dot.gif); background-repeat:no-repeat; background-position:center left; padding-left:10px}
@media screen and (max-width: 960px) {
	.doctor_area .doctor-list {float: none }
	.doctor_area .doctor-list .thumb { float: none; clear: both; display: block; margin: 0 auto}
	.doctor_area .info {width: 100%;}
}
/*의료진 소개*/






/*외래진료*/
.process_area .ing_area h2 { font-size:24px; color:#333; text-align:left; font-weight:bold; margin-bottom:30px; background-image:url(../img/title_icon.png); background-repeat:no-repeat; background-position:left center; padding-left:30px}
.process_area .ing_area ul { max-width:1000px; padding-bottom:80px; margin:0 auto}
.process_area .ing_area li { float:left; width:25%; text-align:center}
.process_area .ing_area .circle { border-radius: 50%;width: 200px; height: 200px; display:table; margin:0 auto; }
.process_area .ing_area li:first-child { margin-left:0;}
.process_area .ing_area li span { display: block; color: #fff; font-size: 16px; padding-top: 5px;}
.process_area .ing_area li p { font-size:13px; color:#f5f5f5;  font-weight:500; display:table-cell; vertical-align:middle}
.process_area .ing_area02 ul { max-width:1200px; padding-bottom:80px}
.process_area .ing_area02 li { float:left; width:14.2857142857%; text-align:center}
.process_area .ing_area02 .circle02 { border-radius: 50%;width: 145px; height: 145px; display:table; margin:0 auto; }
.process_area .ing_area .step01 { background-color:#5a93d9}
.process_area .ing_area .step02 { background-color:#099}
.process_area .ing_area .step03 { background-color:#5a93d9}
.process_area .ing_area .step04 { background-color:#099}
.process_area .ing_area .step05 { background-color:#5a93d9}
.process_area .ing_area .step06 { background-color:#099}
.process_area .ing_area .step07 { background-color:#5a93d9}
.process_area .ing_area .list_tit h3 { font-size:20px; padding-top:20px; font-weight:bold;}
.process_area .ing_area .list_tit p { display:block;  padding-left:10px; background-image:url(../img/icon_dot.gif); background-repeat:no-repeat; background-position: left 12px;}
@media screen and (max-width: 960px) {
	.process_area .ing_area ul { max-width:500px; margin:0 auto}
	.process_area .ing_area li { width:50%; margin-bottom:7%}
	.process_area .ing_area li:nth-child(2n+1) { margin-left:0}
}
@media screen and (max-width: 640px) {
    .process_area .ing_area .circle { width:180px; height:180px}
}
/*외래진료*/



/*비급여안내*/
.non-payment_area .notice { text-align:center; margin-bottom:50px}
.non-payment_area ul {  padding-bottom:30px; margin:0 auto; }
.non-payment_area ul:after { content: " ";visibility: hidden;display: block;height: 0;clear: both; }
.non-payment_area .ts2 ul li { width:50%; display:block; float:left; text-align:center; border:1px solid #ddd; margin-left: -1px}
.non-payment_area .ts3 ul li { width:33.3333%; display:block; float:left; text-align:center; border:1px solid #ddd; margin-left: -1px}
.non-payment_area .ts4 ul li { width:25%; display:block; float:left; text-align:center; border:1px solid #ddd; margin-left: -1px}
.non-payment_area .ts5 ul li { width:20%; display:block; float:left; text-align:center; border:1px solid #ddd; margin-left: -1px; margin-top:-1px}
.non-payment_area .ts6 ul li { width:16.66666666666667%; display:block; float:left; text-align:center; border:1px solid #ddd; margin-left: -1px; margin-top:-1px}
.non-payment_area .ts7 ul li { width:14.28571428571429%; display:block; float:left; text-align:center; border:1px solid #ddd; margin-left: -1px; margin-top:-1px}
.non-payment_area .ts8 ul li { width:12.57%; display:block; float:left; text-align:center; border:1px solid #ddd; margin-left: -1px; margin-top:-1px}
.non-payment_area .ts ul li a {display:block; font-size:15px; color:#222; height:55px; line-height:55px; padding:0}
.non-payment_area .ts ul li a.on { background-color:#3181cb; color:#fff; box-shadow: 0 15px 15px rgba(65,71,143,0.2);}


@media screen and (max-width: 640px) {
    .non-payment_area .ts ul li { width:50%; margin-top:-1px}	
}
/*비급여안내*/




/*입퇴원*/
.Instructions_area .colum { border-bottom:1px solid #ddd; padding-top:30px; padding-bottom:30px;}
.Instructions_area .colum .left { width:33%; font-size:22px; font-weight:600; text-align:left;  float:left;}
.Instructions_area .colum .right {width: 67%; float: right; }
.Instructions_area .colum .right ul li { text-align:left; background-repeat: no-repeat; padding-left:15px; background-image: url(../img/icon_dot.gif); background-position: left 12px; box-sizing:border-box;}
@media screen and (max-width: 960px) {
	.Instructions_area .colum .left { width:100%; float:none; clear:both}
	.Instructions_area .colum .right { width:100%; float:none; clear:both}
	.Instructions_area .colum .right ul li { padding-left:13px}
}
/*입퇴원*/



.inner { max-width:1600px; margin:0 auto; padding: 0 20px;}
/* box03 시작 */
.box03 {
  width: 100%;
  padding: 300px 0;
  background-color: #f2f3f5;
}

.box03 .c03_flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.box03 .grid {
  width: calc(24% - 15px);
}
.box03 .grid .photo {
  overflow: hidden;
  border-radius: 30px;
  position: relative;
}

.box03 .grid .photo::after {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right bottom, #db463e, #db463e);
  opacity: 0;
  transition: all 0.6s;
}

.box03 .grid .photo img {
  width: 100%;
}

.box03 .grid a {
  position: relative;
}
.box03 .grid a:hover .photo::after {
  opacity: 0.8;
}
.box03 .grid a:hover .txt {
  top: 30px;
  transition: top 0.6s ease-in-out;
}
.box03 .grid a:hover .txt p {
  opacity: 1;
}

.box03 .grid .txt {
  position: absolute;
  line-height: 1.5;
  word-break: keep-all;
  color: #fff;
  left: 0px;
  bottom: 0;
  top: calc(100% - 150px);
  width: 100%;
  padding: 50px;
  box-sizing: border-box;
  border-radius: 30px;
  transition: top 0.6s ease-in-out;
}
.box03 .grid .txt h2 {
  font-size: 36px;
  font-weight: 600;
  max-width: 330px;
}

.box03 .grid:nth-child(2) .txt h2 {
  max-width: 400px;
}

.box03 .grid .txt p {
  font-size: 20px;
  font-weight: 400;
  margin-top: 20px;
  opacity: 0;
  transition: opacity 0.35s ease-in-out;
  pointer-events: none;
}

@media screen and (max-width: 768px) {
  .box03 .grid {
	width: calc(100% - 0px);
	margin-bottom: 60px;
  }
}

@media screen and (max-width: 640px) {
  .box03 {
	padding: 100px 0;
  }
  .box03 .grid .txt h2 {
	font-size: 27px;
  }
}





.mbox04 { width:100%; padding:0; position:relative; margin:-100px 0 150px 0; z-index:2}
.mbox04 ul  {display:block; width:100%;  }
.mbox04 ul li { float:left; background-color:#f7f7f7;}

/* 가로모드 모바일 디바이스 (가로 해상도가 576px 이하인 화면에 적용) */
@media all and (max-width: 576px) { 
  .mbox04 ul > li {width:98%; margin:0 1% 10px 1%; }
}

/* 가로모드 모바일 디바이스 (가로 해상도가 576px 보다 큰 화면에 적용) */
@media all and (min-width: 576px) and (max-width:768px) {  
  .mbox04 ul > li {width:98%; margin:0 1% 10px 1%; }
}


/* 테스크탑 (가로 해상도가 769px 보다 큰 화면에 적용) */
@media all and (min-width: 769px) and (max-width:1200px) {  
  .mbox04 ul > li {width:49.5%; margin-bottom:10px; margin-left:1%}
  .mbox04 ul > li:nth-child(2n+1) {clear:both; margin-left:0}
}

/* 큰화면 데스크탑 (가로 해상도가 1200px 보다 큰 화면에 적용) */
@media all and (min-width: 1201px) { 
  .mbox04 ul > li {width:32.66%; margin-bottom:10px; margin-left:1%}
  .mbox04 ul > li:nth-child(3n+1) {clear:both; margin-left:0}
}


.mbox04 ul li a { display:block; height:175px;  padding: 40px 50px;}
.mbox04 ul li dl dt {color:#000; font-weight:bold; font-size:18px; transition: all .2s;}
.mbox04 ul li dl dd {line-height:18px; margin-top:20px; transition: all .2s; display:inline-block}
.mbox04 ul li dl .txt { margin-left:20px; font-size:15px; line-height:1.6; display:block; margin-left: 70px; word-break:keep-all}
.mbox04 ul li dl .btn { display:block; clear:both}
.mbox04 ul li dl .web_icon { float:left; padding-right:30px}
.mbox04 ul li dl dd i{ font-size:40px; color:#a8a8a8; display:inline-block}
.mbox04 ul li .btn { background-color:#fff;  border:1px solid #ddd}
.mbox04 ul > li a:hover {background-color:#ca391c;}
.mbox04 ul > li a:hover i { color:#fff}
.mbox04 ul > li a:hover dt { color:#fff}
.mbox04 ul > li a:hover dd { color:#fff}
.mbox04 ul > li a:hover dd .a:hover {background-color:#000000;}



.bbox { width: 100%; }
.bbox .hero-section { position: relative;  }
.bbox .container { max-width: 1600px; width: 100%; margin: 0 auto; padding: 0 20px; position: relative; z-index: 2; border-radius: 20px; min-height: 70vh; display: flex; flex-direction: column; justify-content: center; }
		
.bbox .header { width: 100%; max-width: 1600px; padding: 0 20px; margin: auto; z-index: 3; }
.bbox .header h2 { font-size: 4rem; font-weight: 800; margin-bottom: 10px; letter-spacing: 1px; color: #222; }
.bbox .header p { font-size: 1rem; opacity: 0.8; font-weight: 300; margin-left: auto; text-align: right; max-width: 400px; color: #555; padding-bottom: 20px }
.bbox .bg { width: 100%; background-image: url('../img/customer_service_bg.jpg'); background-size: cover; background-position: center; height: 617px; position: relative; display: flex; align-items: center; justify-content: center; }
.bbox .bg::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.5); z-index: 1; }
		
.bbox .cards-grid { display: flex; justify-content: space-between; margin-bottom: 50px; max-width: 1600px; margin: auto; gap: 20px; z-index: 2 }
.bbox .card { width: 25%;  border: 1px solid rgba(255, 255, 255, 0.3); padding: 40px 30px; color: white; transition: all 0.3s ease; cursor: pointer; position: relative; }
.bbox .card:hover { transform: translateY(-10px); background: rgba(255, 255, 255, 0.12); border-color: rgba(255, 255, 255, 0.3); }
.bbox .card h3 { font-size: 1.8rem; font-weight: 400; margin-bottom: 20px; display: flex; align-items: center; justify-content: space-between; }
.bbox .arrow { font-size: 1.5rem; opacity: 0.7; transition: all 0.3s ease; }
.bbox .card:hover .arrow { opacity: 1; transform: translateX(5px); }
.bbox .card p { font-size: 1rem; line-height: 1.6; opacity: 0.9; font-weight: 300; color: #fff }
		
@media (max-width: 768px) { 
	.bbox .header { top: 60px; left: 50%;  padding: 0 15px; } 
	.bbox .header h2 { font-size: 2.5rem; } 
	.bbox .header p { font-size: 0.9rem; margin-left: 0; text-align: left; margin-top: 10px; } 
	.bbox .cards-grid { flex-direction: column; gap: 20px; margin: 0 20px; } 
	.bbox .card { width: 100%; padding: 30px 25px; } 
	.bbox .card h3 { font-size: 1.5rem; } 
	.bbox .bg { height: auto; min-height: 100vh; }
}

@media (max-width: 480px) {
	.bbox .header { top: 40px; left: 50%;  padding: 0 15px; } 
	.bbox .header h2 { font-size: 2rem; } 
	.bbox .bg { min-height: 100vh; }
}



@media screen and (max-width: 960px) {
		
/*	.content_area .photo_box .img { max-width:100%; text-align:center; display:block; float:none; clear:both}
	.content_area .photo_box .img img { width:100%}
	.content_area .photo_box .txt_wrap { width:100%; display:block; position:relative; clear:both}
	.content_area .photo_box .txt {max-width: 100%; float:none}*/
	
} 





.container { max-width: 1400px; margin: 0 auto; padding: 0 20px; }

.sec01 { width: 100%; padding: 150px 0;}
.sec01 h2 {font-size: 50px; font-weight: bold; letter-spacing: -1px; margin-bottom: 50px }
.sec01 .copy{ font-size: 61.5px; font-weight: 800; color: #000; margin-bottom: 20px; }
.sec01 .let{ max-width:500px; word-break:keep-all; font-size:20px;color:#666; opacity:0.8; line-height:1.6}
.sec01 .news-grid {
  display: grid;
  grid-template-columns: 2fr 3fr 1fr;
  column-gap: 20px; /* 컬럼 사이 간격 */
  /* 또는 gap: 20px; */
}
.sec01 .news-item { position: relative; overflow: hidden; border-radius: 10px; height: 360px; }
.sec01 .news-content { position: absolute; bottom: 0; left: 0; right: 0; padding: 30px; color: white; }
.sec01 .news-content h2 { margin: 0 0 10px 0; font-size: 24px; letter-spacing: 0; color: #fff; text-align: left; }
.sec01 .news-meta { font-size: 14px; color:#000}
.sec01 .side-news { display: flex; flex-direction: column; gap: 20px; }
.sec01 .side-news-item { display: flex; gap: 20px; align-items: center; }
.sec01 .side-news-item img { width: 70px; height: 70px; object-fit: cover; }
.sec01 .side-news-content { flex: 1; }
.sec01 .side-news-content h3 {margin: 0 0 5px 0;font-size: 16px;color: #666;}
.sec01 .side-news-meta {font-size: 14px;color: #999;}
.sec01 .side-news-content h4{font-size:14px;font-weight:500;text-align:left; width:150px; border:1px solid rgba(255, 255, 255, .4)}
.sec01 .side-news-content h4:hover { 
	backdrop-filter: blur(10px);
	background-color: hsla(0,0%,0%,.85);
	border:1px solid hsla(0,0%,0%,.85); 
	color:#fff; 
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-ms-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;}
.sec01 .side-news-content h4 a{color:#fff;padding:13px 40px;display:block; text-align:center}

@media (max-width: 768px) {
	.sec01 { padding: 50px 0}
	.sec01 .copy { font-size: 22px; margin-bottom: 20px; }
	.sec01 .news-grid { grid-template-columns: 1fr; gap: 20px; }
	.sec01 .news-item { height: 250px; }
	.sec01 .news-content h2 { font-size: 20px; }
	.sec01 .side-news-item { border-bottom: 1px solid #eee; padding-bottom: 20px; }
	.sec01 .side-news-item:last-child { border-bottom: none; }
	.sec01 .side-news-content h3 { font-size: 18px; }
}

@media (max-width: 480px) {
	.sec01 .news-item { height: 200px; }
	.sec01 .news-content h2 { font-size: 18px; }
	.sec01 .side-news-item img { width: 80px; height: 60px; }
	.sec01 .side-news-content h3 { font-size: 16px; }
}

.pro_i {
  position: relative;
  overflow: hidden;
}

/* 공통 - 데스크탑 기본 4열 */
.pro_i dl {
  float: left;
  width: calc(25% - 14px); /* 4열 */
  margin: 0 7px 30px;
}

/* 4n 규칙 유지 */
.pro_i dl:nth-child(4n) {
  margin-right: 0;
}
.pro_i dl:nth-child(4n+1) {
  clear: both;
}

.pro_i dl a{display:block; border:1px solid #a0a0a0;;transition:all 0.3s;}
.pro_i dl a .hover{display:block; border:1px solid #ff0000;;transition:all 0.3s; }
.pro_i dl a > dt img{padding:0px 10px;width: 100%; height: auto; background-size:cover;background-position:center; -webkit-transition: all 0.5s ease-in-out;-moz-transition: all 0.5s ease-in-out;-o-transition: all 0.5s ease-in-out; -ms-transition: all 0.5s ease-in-out;transition: all 0.5s ease-in-out;}
.pro_i dd{background:#fff;padding: 20px;height:60px;box-sizing:border-box;transition:all 0.3s;border-top:1px solid #a0a0a0;text-align: center}
.pro_i dd p.title {position:relative;font-size:18px;color:#727272;font-weight:500;line-height:1;letter-spacing:-0.5pt;font-weight:bold;transition:all 0.3s;text-overflow: ellipsis;-o-text-overflow: ellipsis;overflow: hidden;white-space: nowrap;word-wrap: normal !important;}
.pro_i dd p.title span {line-height: 2;font-size:15px;color: #fff;display:block;margin-bottom:10px;font-weight:400}
.pro_i dd ul.prd_info {margin-top:15px}
.pro_i dd ul.prd_info li {color:#888; font-size:15px; line-height:24px; position:relative; padding:0 0 2px 12px; transition:all 0.3s;}
.pro_i dd ul.prd_info li:last-child {padding-bottom:0}
.pro_i dd ul.prd_info li:before {display:block; content:""; width:4px; height:4px; background:#888; border-radius:4px; position:absolute; top:11px; left:0; transition:all 0.3s;}



.pro_i dl a:hover{border:1px solid #ee3439; transition:all 0.3s;}
.pro_i dl a:hover > dd{background:#ee3439; border-color:#ee3439; transition:all 0.3s;}
.pro_i dl a:hover > dd p.title{color:#fff; transition:all 0.3s;}
.pro_i dl a:hover > dd p.title span{color:#fff; transition:all 0.3s;}
.pro_i dl a:hover > dd ul.prd_info li{color:rgba(255,255,255,0.8); transition:all 0.3s;}
.pro_i dl a:hover > dd ul.prd_info li:before {background:rgba(255,255,255,0.8); transition:all 0.3s;}
.pro_i dl a:hover > dt img{ -webkit-transform: scale(1.1);-moz-transform: scale(1.1); -o-transform: scale(1.1);-ms-transform: scale(1.1);transform: scale(1.1);}
.pro_i dt{overflow:hidden; box-sizing:border-box; padding: 20px;}
/* ✔ 태블릿 (1024px 이하) → 3열 */
@media (max-width: 1024px) {
  .pro_i dl {
	width: calc(33.333% - 14px);
  }
  .pro_i dl:nth-child(4n),
  .pro_i dl:nth-child(4n+1) {
	margin-right: 7px;
	clear: none;
  }
  .pro_i dl:nth-child(3n) { margin-right: 0; }
  .pro_i dl:nth-child(3n+1) { clear: both; }
}

/* ✔ 모바일(768px 이하) → 2열 */
@media (max-width: 768px) {
  .pro_i dl {
	width: calc(50% - 14px);
  }
  .pro_i dl:nth-child(3n),
  .pro_i dl:nth-child(3n+1) {
	margin-right: 7px;
	clear: none;
  }
  .pro_i dl:nth-child(2n) { margin-right: 0; }
  .pro_i dl:nth-child(2n+1) { clear: both; }
}


@media screen and (max-width:640px) {
.pro_i {position:relative; overflow:hidden;padding:0 5%}
.pro_i dl{float:left; width:100%; margin:0 15px 30px 0}

}
/* ✔ 작은 모바일(480px 이하) → 1열 */
@media (max-width: 480px) {
  .pro_i dl {
	width: 100%;
	margin-right: 0;
  }
  .pro_i dl:nth-child(n) {
	clear: none;
  }
}



/* 전체 영역 */
.tab_wrap {
  width: 100%;
  margin: 0 auto;
}

/* 전체 영역 */


/* -----------------------------
   2개 탭 + 이미지 구조
------------------------------ */
.tab2_list {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
  border: 1px solid #cfcfcf;
  border-left: none;
  border-right: none;
}

/* 각 칸 */
.tab2_list li {
  width: 50%;
  text-align: center;
  border-left: 1px solid #cfcfcf;
  border-right: 1px solid #cfcfcf;
  background: #fff;
}

/* 제목 영역 */
.tab2_title {
  font-size: 17px;
  font-weight: 600;
  height: 60px;
  line-height: 60px;
  border-bottom: 1px solid #cfcfcf;
  background: #fff;
  transition: background 0.25s ease;
}

/* ON 상태 (빨간색) */
.tab2_list li.on .tab2_title {
  background: #ee3439;
  color: #fff;
}

/* hover → 이미지처럼 빨간 */
.tab2_list li:hover .tab2_title {
  background: #ee3439;
  color: #fff;
}

/* 제품 이미지 영역 */
.tab2_img {
  padding: 20px 10px;
}

.tab2_img img {
  width: auto;
  max-width: 100%;
  height: auto;
}

/* -----------------------------
		반응형
------------------------------ */

/* 태블릿: 2열 */
@media (max-width: 1024px) {
  .tab2_list {
	flex-wrap: wrap;
  }
  .tab2_list li {
	width: 50%;
  }
}

/* 모바일: 1열 */
@media (max-width: 600px) {
  .tab2_list li {
	width: 100%;
  }
  .tab2_title {
	height: 50px;
	line-height: 50px;
	font-size: 15px;
  }
  .tab2_img {
	padding: 15px 5px;
  }
}
/* -----------------------------
   탭 리스트: Grid로 (개수 많아지면 자동 줄바꿈)
------------------------------ */
.tab3_list{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)); /* 기본 3열 */
  margin: 0;
  padding: 0;
  list-style: none;
  border: 1px solid #cfcfcf;
  border-left: none;
  border-right: none;
}

/* 각 칸 */
.tab3_list > li{
  width: auto; /* grid라서 width 제거 */
  text-align: center;
  background: #fff;

  /* 칸 경계선 */
  border-left: 1px solid #cfcfcf;
  border-right: 1px solid #cfcfcf;
}

/* 제목 영역 */
.tab3_title{
  font-size: clamp(1rem, 4vw, 1.0625rem);
  font-weight: 600;
  line-height: 1.5;
  min-height: 4.5rem;
  padding: 10px 0;
  border-top: 1px solid #cfcfcf;
  border-bottom: 1px solid #cfcfcf;
  background: #fff;
  transition: background 0.25s ease;
  word-wrap: break-word;
  overflow-wrap: break-word;

  display:flex;
  justify-content:center;
  align-items:center;
}

/* ON 상태 (빨간색) */
.tab3_list > li.on .tab3_title{
  background:#ee3439;
  color:#fff;
}

/* hover → 이미지처럼 빨간 */
.tab3_list > li:hover .tab3_title{
  background:#ee3439;
  color:#fff;
}

/* 제품 이미지 영역 */
.tab3_img{ padding:20px 10px; }
.tab3_img img{
  width:auto;
  max-width:100%;
  height:auto;
}

/* -----------------------------
   반응형
------------------------------ */

/* 태블릿: 2열 */
@media (max-width:1024px){
  .tab3_list{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .tab3_title{
    font-size: clamp(1rem, 5vw, 1.0625rem);
  }
}

/* 모바일: 1열 */
@media (max-width:600px){
  .tab3_list{
    grid-template-columns: 1fr;
  }
  .tab3_title{
    border-top: 1px solid #cfcfcf;
    min-height: 50px;
    padding: 0;
    font-size: 15px;
  }
  .tab3_img{ padding:15px 5px; }
}

/* -----------------------------
   탭 리스트: 4개씩 자동 줄바꿈(기본)
------------------------------ */
.tab_list{
  display:flex;
  flex-wrap:wrap;        /* 4개가 넘으면 자동 줄바꿈 */
  margin:0;
  padding:0;
  list-style:none;
  border:1px solid #cfcfcf;
  border-left:none;
  border-right:none;
  border-bottom:none;
}

/* 각 칸: PC 기본 4열 */
.tab_list li{
  width:25%;             /* 4개씩 1줄 */
  text-align:center;
  border-left:1px solid #cfcfcf;
  border-right:1px solid #cfcfcf;
  border-bottom:1px solid #cfcfcf; /* 줄바꿈되면 아래선 필요 */
  background:#fff;
  box-sizing:border-box;
}

/* 제목 영역 */
.tab_title{
  font-size: clamp(1rem, 4vw, 1.0625rem);
font-weight: 600;
line-height: 1.5;
min-height: 4.5rem;
padding: 10px 0;

background: #fff;
transition: background 0.25s ease;
word-wrap: break-word;
overflow-wrap: break-word;

display:flex;
justify-content:center;
align-items:center;
}

/* ON 상태 */
.tab_list li.on .tab_title{
  background:#ee3439;
  color:#fff;
}

/* hover */
.tab_list li:hover .tab_title{
  background:#ee3439;
  color:#fff;
}

/* 제품 이미지 영역 */
.tab_img{ padding:20px 10px;border-top:1px solid #cfcfcf; }
.tab_img img{ width:auto; max-width:100%; height:auto; }

/* -----------------------------
   반응형
------------------------------ */
/* 태블릿: 2열 */
@media (max-width:1024px){
  .tab_list li{ width:50%; }
}

/* 모바일: 1열 */
@media (max-width:600px){
  .tab_list { 
    grid-template-columns: 1fr;
  }
  .tab_title{
    border-top: 1px solid #cfcfcf;
    min-height: 50px;
    padding: 0;
    font-size: 15px;
  }
  .tab_img{ padding:15px 5px; }
}


.tab9_list{
  display:flex;
  flex-wrap:wrap;
  margin:0;
  padding:0;
  list-style:none;
  border-top:1px solid #cfcfcf;
  border-left:none;
  border-right:none;
}

.tab9_list > li{
  width:20%;
  text-align:center;
  background:#fff;
  box-sizing:border-box;
  border-left:1px solid #cfcfcf;
  border-right:1px solid #cfcfcf;
  border-bottom:1px solid #cfcfcf;
}

/* 제목 영역 */
.tab9_title{
  font-size: clamp(1rem, 4vw, 1.0625rem);
  font-weight:600;
  line-height:1.5;
  height:auto;
  min-height:4.5rem;
  padding:10px 0;
  border-bottom:1px solid #cfcfcf;
  background:#fff;
  transition:background .25s ease, color .25s ease;
  word-wrap:break-word;
  overflow-wrap:break-word;

  display:flex;
  justify-content:center;
  align-items:center;
}

/* hover */
.tab9_list > li:hover .tab9_title{
  background:#ee3439;
  color:#fff;
}

/* ON 상태: hover보다 “더 강하게” 고정 */
.tab9_list > li.on .tab9_title,
.tab9_list > li.on:hover .tab9_title{
  background:#ee3439;
  color:#fff;
}

/* 이미지 */
.tab9_img{ padding:20px 10px; }
.tab9_img img{ width:auto; max-width:100%; height:auto; }

/* 반응형 */
@media (max-width:1024px){
  .tab9_list > li{ width:33.3333%; }
}
@media (max-width:768px){
  .tab9_list > li{ width:50%; }
}
@media (max-width:600px){
  .tab9_list > li{ width:100%; }
  .tab9_title{
    min-height:0;
    padding:10px 0;
    font-size:15px;
  }
  .tab9_img{ padding:15px 5px; }
}


.tab7_list{
  display:flex;
  flex-wrap:wrap;            /* 7개 넘으면 줄바꿈 */
  margin:0;
  padding:0;
  list-style:none;
  border-top:1px solid #cfcfcf;
  border-left:none;
  border-right:none;
}

.tab7_list > li{
  width: calc(100% / 7);     /* 7개씩 */
  text-align:center;
  background:#fff;
  box-sizing:border-box;
  border-left:1px solid #cfcfcf;
  border-right:1px solid #cfcfcf;
  border-bottom:1px solid #cfcfcf;
}

/* 제목 영역 */
.tab7_title{
  font-size: clamp(1rem, 4vw, 1.0625rem);
  font-weight:600;
  line-height:1.5;
  height:auto;
  min-height:4.5rem;
  padding:10px 0;
  border-bottom:1px solid #cfcfcf;
  background:#fff;
  transition:background .25s ease, color .25s ease;
  word-wrap:break-word;
  overflow-wrap:break-word;

  display:flex;
  justify-content:center;
  align-items:center;
}

/* hover */
.tab7_list > li:hover .tab7_title{
  background:#ee3439;
  color:#fff;
}

/* ON 상태 */
.tab7_list > li.on .tab7_title,
.tab7_list > li.on:hover .tab7_title{
  background:#ee3439;
  color:#fff;
}

/* 이미지 */
.tab7_img{ padding:20px 10px; }
.tab7_img img{ width:auto; max-width:100%; height:auto; }

/* 반응형 (필요하면 숫자 조절) */
@media (max-width:1024px){
  .tab7_list > li{ width:25%; }      /* 4개 */
}
@media (max-width:768px){
  .tab7_list > li{ width:33.3333%; } /* 3개 */
}
@media (max-width:600px){
  .tab7_list > li{ width:50%; }      /* 2개 */
}
@media (max-width:420px){
  .tab7_list > li{ width:100%; }     /* 1개 */
  .tab7_title{ min-height:0; padding:10px 0; font-size:15px; }
  .tab7_img{ padding:15px 5px; }
}


.content01 .box { position: relative; padding-bottom:80px; display:block;}
/* 전체 박스 */
.chain-box {
  max-width: 1400px;
  margin: 2rem auto;
  padding: 2rem 1.5rem;
  border: 1px solid #ddd;
  border-radius: 1rem;
  background: #fff;
}

/* 제목 */
.chain-title {
  text-align: left;
  font-size: 1.6rem;
  font-weight: 700;
  color: #ff7a00;
  margin-bottom: 2rem;
}

/* 2컬럼 */
.chain-wrapper {
  display: flex;
  gap: 2rem;
  align-items: flex-start;
}

/* ---------------------------
   이미지 고유 크기 + 반응형 핵심!
---------------------------- */
.chain-main-img,
.drawing-one {
  max-width: 100%;   /* 화면보다 넓으면 줄어들도록 */
  height: auto;      /* 비율 유지 */
  width: auto;       /* 고유(원본) 크기 유지 */
  display: block;
}

/* --------------------------- */

/* 왼쪽 영역 */
.chain-left {
  flex: 1 1 auto;
  text-align: center;
}

/* 버튼 */
.chain-btn-wrap {
  display: flex;
  width: 100%;         /* 부모 레이어 안에서 꽉차게 */
  gap: 1rem;
  justify-content: space-between;
  flex-wrap: wrap;
}

/* 버튼 공통 */
.chain-btn {
  flex: 1;             /* 버튼 2개가 동일하게 좌우로 확장 */
  text-align: center;  /* 텍스트 중앙 */
  padding: 0.5rem 0.8rem; 
  border-radius: 50px;
  font-weight: 600;
  color: #fff;
  text-decoration: none;
  white-space: nowrap;
  font-size: clamp(0.7rem, 2vw, 1.1rem);
}
@media(max-width: 640px){
  .chain-btn {
	flex: 100%;     /* 한 줄씩 꽉 차게 */
  }
}
.chain-btn-blue { background: #0064b7; }
.chain-btn-green { background: #009d62; }

/* 오른쪽 영역 */
.chain-right {
  flex: 1 1 auto;
  text-align: right;
}

/* 관련페이지 */

.chain-related {
  display: flex;
  padding-left:250px;
  flex-direction: row; /* Arrange gear icon and text vertically */
  align-items: center; /* Center align the content horizontally */
  gap: 0.3rem;
  font-size: 1rem;
  color: #666;
  justify-content: center;
}

.gear {
  width: 3rem;
  height:3rem;
  font-size: 3.5rem;
  margin-bottom: 5px; /* Space between the gear icon and the text */
}

.chain-related span {
  font-weight: 600;
}

/* Optional: Adding a hover effect for the text */
.chain-related span:hover {
  color: #db4642;
}

/* 반응형 */
@media(max-width: 900px){
  .chain-wrapper { flex-direction: column; }
  .chain-right { text-align: center; }
  .chain-related { justify-content: center; }
}




:root {
	font-size: 16px;
	--border-color: #d4d4d4;
	--header-color: #5a5a5a;
	--row-bg: #f7f7f7;
}

/* 테이블 기본 */
.chain-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.95rem;
	margin: 2rem 0;
}

/* 헤더 1줄 */
.chain-table thead tr:first-child th {
	border-top: 1px solid var(--border-color);
	border-bottom: 1px solid var(--border-color);
	padding: 1rem 0.6rem;
	font-weight: 600;
	color: #444;
	font-size: 0.9rem;
}

/* 헤더 2줄 */
.chain-table thead tr:nth-child(2) th {
	padding: 0.5rem 0.6rem;
	font-weight: 500;
	color: var(--header-color);
	border-bottom: 1px solid var(--border-color);
}

/* 본문 */
.chain-table tbody td {
	padding: 0.8rem 0.6rem;
	border-bottom: 1px solid var(--border-color);
	font-size: 0.9375rem;
	color: #333;
	text-align: center;
}

/* 행 줄무늬 (이미지 스타일) */
.chain-table tbody tr:nth-child(2n) {
	background: var(--row-bg);
}

/* 모바일 카드형 변환 */
@media (max-width: 48rem) {
	.chain-table thead {
		display: none;
	}

	.chain-table tr {
		display: block;
		margin-bottom: 1.5rem;
		border: 1px solid var(--border-color);
		padding: 1rem;
		background: #fff;
	}

	.chain-table td {
		display: flex;
		justify-content: space-between;
		text-align: right;
		padding: 0.6rem 0;
		border: none;
		border-bottom: 1px solid #eee;
	}

	.chain-table td:last-child {
		border-bottom: none;
	}

	.chain-table td::before {
		content: attr(data-label);
		font-weight: 600;
		color: #444;
		text-align: left;
	}
}


/* 전체 박스 */
.info-box {
  background: #000;
  color: #fff;
  padding: 2.2rem 2rem;
  border-radius: 22px; /* 이미지와 동일한 둥근모서리 */
  /*max-width: 1400px;*/
  margin: 2rem auto;
}

/* 설명 텍스트 */
.info-desc {
  font-size: 1.1rem;
  line-height: 1.65;
  margin-bottom: 1.5rem;
}

/* 장점 + 리스트 영역 */
.info-features {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.3rem;
}

/* 빨간 태그 (장점) */
.tag {
  background: #e53737;
  padding: 0.55rem 1.5rem;
  border-radius: 50px;
  font-size: 1.05rem;
  font-weight: 600;
  color: #fff;
  white-space: nowrap;
}

/* 리스트 아이템 (앞에 점 포함) */
.dot-item {
  font-size: 1.05rem;
  white-space: nowrap;
  position: relative;
  padding-left: 0.6rem;
}

/* 점 (•) 자동 생성 */
.dot-item::before {
  content: "•";
  position: absolute;
  left: -0.2rem;
  color: #fff;
}

/* 반응형 */
@media (max-width: 768px) {
  .info-box {
	padding: 1.8rem 1.4rem;
  }
  .info-desc {
	font-size: 1rem;
  }
  .tag {
	font-size: 0.95rem;
  }
  .dot-item {
	font-size: 0.95rem;
  }
}

@media (max-width: 480px) {
  .info-features {
	flex-direction: column;
	align-items: flex-start;
	gap: 0.8rem;
  }
  
  .tag {
	font-size: 0.95rem;
	padding: 0.45rem 1.2rem;
  }
}


/* FOOTER 전체 */
.ds-footer {
	background: #111;
	color: #cfcfcf;
	padding: 2.5rem 0 3.125rem; /* 40px 0 50px */
	font-size: 0.875rem; /* 14px */
}

.ds-footer-inner {
	width: 75rem; /* 1200px */
	max-width: 92%;
	margin: 0 auto;
}

/* ====================== */
/* 로고 + 메뉴 레이아웃 */
/* ====================== */
.ds-footer-top {
	display: flex;
	align-items: center;
	gap: 2.5rem; /* 40px */
	margin-bottom: 1.5625rem; /* 25px */
}

.ds-footer-logo img {
    width: min(225px, 70vw);
    margin: 0 auto;
}

/* ====================== */
/* 메뉴 (기업소개 ~ 고객센터) */
/* ====================== */
.ds-footer-menu {
	display: flex;
	gap: 2.1875rem; /* 35px */
	padding: 0;
	margin: 0;
}

.ds-footer-menu li {
	list-style: none;
}

.ds-footer-menu a {
	color: #dcdcdc;
	text-decoration: none;
	font-size: 1.1rem; /* 20px */
	font-weight: 400;
}

.ds-footer-menu a:hover {
	color: #fff;
}

/* ====================== */
/* 구분선 */
/* ====================== */
.ds-line {
	width: 100%;
	height: 1px;
	background: #3a3a3a;
	margin: 1.25rem 0 1.5625rem; /* 20px 0 25px */
}

/* ====================== */
/* 회사 정보 (구분선 밑: 17px) */
/* ====================== */
.ds-footer-info p {
	margin: 0.125rem 0; /* 2px 0 */
	color: #cfcfcf;
	line-height: 1.8;
	font-size: 1.0625rem; /* 17px */
}

.ds-footer-info span {
	color: #fff;
	font-weight: 500;
	margin-right: 0.3125rem; /* 5px */
}

/* 카피라이트 */
.ds-copy {
	color: #aaa;
	margin-top: 1.25rem; /* 20px */
	font-size: 1.0625rem; /* 17px */
}
.ds-copy a{color:#aaa}

/* ====================== */
/* 반응형 스타일 */
/* ====================== */

/* 768px 이하 (Tablet) */
@media (max-width: 48rem) {

	.ds-footer-top {
		flex-direction: column;
		align-items: flex-start;
	}

	.ds-footer-menu {
		flex-wrap: wrap;
		gap: 1.25rem; /* 20px */
	}

	/* 메뉴 폰트 축소 */
	.ds-footer-menu a {
		font-size: 1.0625rem; /* 17px */
	}

	.ds-footer-info p {
		font-size: 0.9375rem; /* 15px */
	}

	.ds-copy {
		font-size: 0.9375rem; /* 15px */
	}
}

/* 480px 이하 (Mobile) */
@media (max-width: 30rem) {

	.ds-footer-menu {
		flex-direction: column;
		gap: 0.875rem; /* 14px */
	}

	.ds-footer-menu a {
		font-size: 1rem; /* 16px */
	}

	.ds-footer-info p {
		font-size: 0.875rem; /* 14px */
		line-height: 1.7;
	}

	.ds-copy {
		font-size: 0.84375rem; /* 13.5px */
	}
}


.grid_b{ width: 100%; padding: 70px 0;    background-color: #f2f3f5;}
.g_tit {
  text-align: center;
  margin-bottom: 2rem;
  grid-column: 1 / -1; /* 그리드 전체 가로 차지 */
}

.g_tit h1 {
  font-size: 48px;
  font-weight: 700;
  margin: 0;
  line-height: 1.2;
}

.g_tit p {
  font-size: 26px;
  margin: 0;
  color: #555;
}

  .grid {
	max-width: 1400px;
	font-family: 'Pretendard', sans-serif;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
	gap: 1.25rem;
	justify-items: center;
	padding: 2rem 1rem;
	margin: 0 auto;  
  }

  .card {
	position: relative;
	width: 20.3125rem;
	background-color: #fff;
	border-radius: 0.625rem;
	overflow: hidden;
	cursor: pointer;
	transition: transform 0.3s;
	opacity: 0;
	transform: translateY(30px);
	animation: fadeUp 0.8s ease forwards;
  }

  @keyframes fadeUp {
	to { opacity: 1; transform: translateY(0); }
  }

.card img {
    width: auto;           /* 원본 크기 유지 */
    max-width: 100%;       /* 화면보다 크면 자동 축소 */
    height: auto;          /* 비율 유지 */
    display: block;        /* 블록 요소로 만들어서 중앙 정렬 가능 */
    margin: 0 auto;        /* 수평 중앙 정렬 */
  }
.card .text {
	  padding: 0.875rem;
	  color: #727272;
	  font-size: 1.0625rem; /* 17px */
	  line-height: 1.35em;
	  text-align: center;

	  overflow: hidden;  /* 넘치는 텍스트 숨김 */
	  display: -webkit-box;
   -webkit-line-clamp: 3;
   max-height: 4.05em;
	  -webkit-box-orient: vertical;
  }


  /* ====================== */
  /* Overlay Layer           */
  /* ====================== */
  .overlay {
	position: absolute;
	inset: 0;
	background-color: rgba(238, 52, 57, 0.95);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	opacity: 0;
	transition: opacity 0.35s ease;
	color: #fff;
	text-align: center;
	padding: 1rem;
  }

  /* 화살표 → 흰색 배경 원형 + 빨간색 */
  .overlay .arrow {
	width: 3.125rem;   /* 50px */
	height: 3.125rem;
	border-radius: 50%;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 0.75rem;
	font-size: 1.875rem;
	color: #ee3439;
	font-weight: 700;
	box-shadow: 0 3px 8px rgba(0,0,0,0.15);
  }

  .overlay span {
	font-size: 1.0625rem;
	font-weight: 700;
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.35s ease, transform 0.35s ease;
	line-height: 1.35em;
  }

  .card:hover .overlay {
	opacity: 1;
  }
  .card:hover .overlay span {
	opacity: 1;
	transform: translateY(0);
  }

  /* ====================== */
  /* 반응형 */
  /* ====================== */
  @media (max-width: 1400px) {
	.card { width: 18.75rem; }
	.card .text,
	.overlay span { font-size: 1rem; }
	.overlay .arrow {
	  width: 2.8rem;
	  height: 2.8rem;
	  font-size: 1.65rem;
	}
  }

  @media (max-width: 700px) {
	.card { width: 90%; }
	.overlay .arrow {
	  width: 2.5rem;
	  height: 2.5rem;
	  font-size: 1.4rem;
	}
	.overlay span,
	.card .text { font-size: 0.95rem; }
  }




.spec-wrap{
	width:100%;
	color:#222;
	font-size:0.9375rem;
  }
  .center{ text-align:center; }
  
  /* ===== 데스크탑 테이블 ===== */
  .spec-desktop{
	width:100%;
	border-collapse:separate;
	border-spacing:0;
  }
  .spec-desktop thead th{
	font-weight:600;
	text-align:center;
	padding:18px 18px;
	border-bottom:1px solid #bdbdbd;
	border-top:1px solid #bdbdbd;
	background:#fff;
  }
  .spec-desktop thead tr:nth-child(2) th{
	padding:10px 18px 14px;
	font-weight:500;
	color:#666;
	border-top:0;
  }
  .spec-desktop .sub{ font-weight:600; }
  .spec-desktop .unit{ font-weight:500; color:#666; }
  
  .spec-desktop tbody td{
	padding:16px 18px;
	border-bottom:1px solid #d3d3d3;
	background:#fff;
	vertical-align:middle;
  }
  .spec-desktop tbody tr.shade td{ background:#f5f3ee; } /* 이미지의 연한 베이지 느낌 */
  .spec-desktop tbody tr.group-start td{ border-top:0; }
  
  /* ===== 모바일 카드 ===== */
  .spec-mobile{ display:none; }
  
  .m-group{
	border-top:1px solid #bdbdbd;
	padding-top:0.85rem;
	margin-top:1.25rem;
  }
  .m-title{
	margin:0 0 0.85rem;
	font-size:0.95rem;
	font-weight:600;
	color:#222;
	display:flex;
	gap:.4rem;
	align-items:baseline;
  }
  .m-title b{ font-size:1.1rem; }
  
  /* 카드: 표 느낌으로 더 단정하게 */
  .m-card{
	border:1px solid #e3e3e3;
	border-radius:10px;         /* 12px -> 조금 더 표 느낌 */
	background:#fff;
	padding:0.85rem 0.85rem;    /* 약간 타이트 */
	margin-bottom:0.75rem;
  }
  .m-card.shade{
	background:#f5f3ee;
	border-color:#ece6db;
  }
  
  /* 2열 그리드는 유지 (요청하신 HTML 그대로 사용) */
  .m-grid{
	display:grid;
	grid-template-columns: 1fr 1fr;
	gap:0.55rem 0.8rem;
  }
  
  /* 각 항목을 "라벨 왼쪽 / 값 오른쪽" 한 줄로 (표 느낌) */
  .m-item{
	display:flex;
	flex-direction:row;          /* column -> row */
	align-items:baseline;
	justify-content:space-between;
	gap:0.6rem;
	min-width:0;
	padding:0.15rem 0;           /* 줄 간격 정리 */
	border-bottom:1px dashed rgba(0,0,0,0.06);
  }
  .m-item:nth-last-child(-n+2){
	border-bottom:0;             /* 마지막 줄은 구분선 제거 (깔끔) */
  }
  
  /* 라벨 */
  .m-item .k{
	font-size:0.78rem;
	color:#666;
	font-weight:600;
	letter-spacing:-0.01em;
	white-space:nowrap;
  }
  
  /* 값 */
  .m-item .v{
	font-size:0.98rem;
	color:#111;
	font-weight:600;
	letter-spacing:-0.01em;
	text-align:right;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
  }
  
  /* ===== 반응형 전환 ===== */
  @media (max-width: 768px){
	.spec-desktop{ display:none; }
	.spec-mobile{ display:block; }
  }

  .mov_box { width:100%; padding:50px 0; background-color:#f8f9fa; clear:both}
  .mov_box .inner { max-width:1400px}
  .mov_box h2 { font-size:52px; font-weight:bold; text-align:center}
  .mov_box p { text-align:center; font-size:16px; color:#555; padding:0.5rem 1rem 1.5rem; font-weight:400}
  .mov_box ul { overflow:hidden; }
  .mov_box ul li{ width:33.3333%; text-align:center; float:left; padding:40px 0; display:block; }
  .mov_box ul li .icon { display:inline-block; padding:0 0 30px 0}
  .mov_box ul li .icon i { color:#ff3414; font-size:32px}
  .mov_box ul li span{font-size:1.7em;color:#555}
  .mov_box ul li img {vertical-align:middle; }
  .mov_box ul li .box { padding:0px 20px; display:block}
  .mov_box ul li:last-child .box {border-right:0px}
  .mov_box ul li dl dt {font-weight:bold; padding-bottom:30px; line-height:20px; color:#222; font-size:23px}
  .mov_box ul li dl dd {color:#555; font-size:16px; font-weight:300; line-height:1.5; padding:0 30px; word-break:keep-all}
  .mov_box ul li a {}
  .mov_box ul li:hover a {}
  @media screen and (max-width: 960px) {
     .mov_box ul li { width:100%; padding:50px 0; clear:both; float:none}
     .mov_box ul li .box { border-left:0;}	
  }
   
  @media screen and (max-width:640px) {
     .mov_box ul li { width:100%; clear:both; float:none}
     .mov_box ul li .box { border-left:0;}	
  }
  
  
  /* content01 */
  .content01 .box { position: relative; padding-bottom:80px; display:block;}
  .content01 .box .img_right { float:right}
  .content01 .box .txt_wrap { position: absolute; right: 0; top:45px; background: #fff; padding:50px;  width: 60%;}
  .content01 .box .txt_wrap .half-round-tit { display:inline-block;margin-bottom:20px}
  .content01 .box .txt_wrap .half-round-tit strong {color:#1a1a1a;  font-size:22px; font-weight:500;  vertical-align: middle;  line-height:1.6; letter-spacing:0;}
  .content01 .box .txt_wrap .half-round-tit span { display: inline-block; width:35px; height:35px; line-height:35px; text-align: center;  border-radius: 50%; vertical-align: middle; color: #fff; font-size:16px}
  .content01 .box .txt_wrap .half-round-tit span {background:#8abd00; margin-right:10px; float:left}
  .content01 .box .txt_wrap p {text-align: justify;}
  .content01 .box .txt_wrap02 { position: absolute; left: 0; top:45px; background: #fff; width: 60%;}
  
  @media screen and (max-width: 960px) {
    .content01 .box .img { text-align:center; display:block; float:none; clear:both}
    .content01 .box .img img { width:100%}
    .content01 .box .txt_wrap { width:100%; padding:20px; display:block; position:relative; clear:both}
