
/********** 컨텐츠 타이틀 & 기본 텍스트 **********/

h2, h3, h4, h5, h6 { color:#111; }
h2 { font-size:44px; line-height:120%; font-weight:800; }
h3 { font-size:32px; line-height:130%; font-weight:800; }
h4 { font-size:25px; color:var(--mc); padding-left:16px; position:relative; font-weight:700; }
h4:before { display:block; content:''; position:absolute; width:6px; height:6px; left:0; top:14px; background:var(--mc); border-radius:50%;  }
h5 { font-size:20px; font-weight:700; }

h4, h5, h6 { line-height:140%; }

.cont { font-size:18px; line-height:180%; font-weight:400; color:#444; text-align:left; }
.det { font-size:16px; line-height:150%; font-weight:400; color:#222; }

@media (max-width:1660px) {
	h4 { padding-left:calc(8px + 0.45vw); }
	h4:before { width:5px; height:5px; top:calc(7px + 0.5vw); }
	.cont { line-height:170%; }
}
@media (max-width:1024px) {
	h3, h4, h5 { line-height:130%; }
	h4:before { width:4px; height:4px; }
}
@media (max-width:767px) {
	.cont { line-height:160%; }
}



/* 레이아웃 */


.col2_cont {display: flex; flex-wrap: wrap; justify-content:space-between; }
.col2_cont > dt {width: 23%;}
.col2_cont > dd {width: 70%;}
.col2_cont > dd .cont { line-height: 1.7; }


@media (max-width:1000px) {
    .col2_cont > dt {width: 100%;}
    .col2_cont > dd {width: 100%; margin-top: calc(14px + 2.5vw);}
    .col2_cont > dt h3 { text-align:center; }
}
@media (max-width:767px) {
	.col2_cont > dd .cont { line-height:160%; }
}




/*인사말*/
.s_ceo dl {display: flex; justify-content: space-between; flex-wrap: wrap; }
.s_ceo dt {width: 43%;}
.s_ceo dt .img {background: no-repeat center/cover; width: 100%; height: 650px;}
.s_ceo dd {width: 49%;}
.s_ceo dd h2 {font-size: 53px; line-height: 1.4; font-weight: 400; font-family:var(--one_m); }
.s_ceo dd h3 {font-size: 25px; font-weight:700; }
.s_ceo dd .line {border-top: 2px solid var(--mc);}
.s_ceo dd .writer {text-align: right; font-size: 18px; line-height: 1.6; font-weight: 500;}


@media (max-width:1660px) {
    .s_ceo dt .img {height: calc(260px + 24vw);}
}
@media (max-width:1100px) {
    .s_ceo dd h2 br {display: none;}
    .s_ceo dd {width: 52%;}
}

@media (max-width:767px) {
	.s_ceo dl { flex-direction:column-reverse; }
    .s_ceo dt {width: 100%; margin-top: calc(24px + 3vw);}
    .s_ceo dt .img {max-width: 500px; height: calc(180px + 23vw); margin: 0 auto; }
    .s_ceo dd {width: 100%; }
    .s_ceo dd .line {border-width: 1px;}
    .s_ceo dd h2 br {display: block;}
}

@media (max-width:500px) {
	.s_ceo dt .img {height:200px; background-position:left -100px; }
    .s_ceo dd h2 br {display: none;}
}


/*회사개요표*/
.company_table h3 { font-weight:700; }
.company_table .col4table .td_h5 { background-color:var(--lc); }
.company_table .col4table::before {border-top: 2px solid var(--mc);}
@media (max-width:767px) {
    .company_table .col4table::before {border-width: 1px;}
}



/* 경영이념 */

.vision .swrap { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; }
.vision .swrap > div { width:49%; }
.vision .cont .top_txt { font-family:var(--one_m); font-size:32px; line-height:1.5; }
.vision .info picture { text-align:right; }
.vision .info .result { font-family:var(--one_m); font-size:30px; font-weight:800; line-height:1.4; }

@media (max-width:767px) {
    .vision .swrap > div { width:100%; }
    .vision .cont .top_txt,
    .vision .info picture { text-align:center; }
    .vision .info { margin-top:calc(20px + 3vw); }
    .vision .info picture img { width:400px; }
}





/* 오시는길 */

.location_map {	width:100% !important;	}
.location_map, .location_map .wrap_map { height:600px !important; }
.location_map.google { margin-bottom:-2px; }


.map_table:before { border-color:#ddd; }
.map_table tr td { padding-top:30px; padding-bottom:30px; border-left:0; border-right:0; border-color:#ccc; }
.map_table tr td.map_icon { width:5%; padding-right:10px; }
.map_table tr td.td_l { width:45%; }

.map_icon div { width:60px;	height:26px; background-repeat:no-repeat; background-position:left; border-right:1px solid #ddd; }
.map_icon .map_loc { background-image:url('/theme/basic/renew/img/mapicon_loc.png'); }
.map_icon .map_tel { background-image:url('/theme/basic/renew/img/mapicon_tel.png'); }
.map_icon .map_mail { background-image:url('/theme/basic/renew/img/mapicon_mail.png'); }
.map_icon .map_fax { background-image:url('/theme/basic/renew/img/mapicon_fax.png'); }

#loc_guide .map_icon2 { width:110px; }
#loc_guide .map_icon2 div { width:80px; height:80px; border-radius:50%; background-repeat:no-repeat; background-position:center; }
#loc_guide .map_icon2 .map_car {  background-image:url('/theme/basic/renew/img/map_car.png'); background-size:36px 27px; }
#loc_guide .map_icon2 .map_subway {  background-image:url('/theme/basic/renew/img/map_subway.png'); background-size:31px 38px; }
#loc_guide .map_icon2 .map_bus {  background-image:url('/theme/basic/renew/img/map_bus.png'); background-size:29px 34px; }

#loc_guide h3 { line-height:100%; }
#loc_guide tr:nth-of-type(n+2) td { padding-top:40px; }

@media (max-width:1660px) {
	.location_map, .location_map .wrap_map { height:calc(240px + 20vw) !important;  }
	#loc_guide tr:nth-of-type(n+2) td { padding-top:calc(23px + 1vw); }
}
@media (max-width:1250px) {
	.map_table tr td { padding-top:20px; padding-bottom:20px; }
	.map_table tr td.map_icon { width:80px; }
	.map_table tr td.td_l { width:auto; }
}
@media screen and (max-width:1000px) {
	.map_table tr td.map_icon { width:50px; }
	.map_icon div { width:50px; }
}
@media screen and (max-width:768px) {
	.map_table tr td.map_icon { width:40px; }
	.map_icon div { width:40px; background-size:20px; }
}

@media screen and (max-width:650px) {
	.map_table tr td { padding-top:15px; padding-bottom:15px; }
	#loc_guide .map_icon2 { width:70px; }
	#loc_guide .map_icon2 div { width:50px; height:50px; }
	#loc_guide .map_icon2 .map_car { background-size:28px 21px; }
	#loc_guide .map_icon2 .map_subway { background-size:23px 28px; }
	#loc_guide .map_icon2 .map_bus { background-size:22px 26px; }
}
@media screen and (max-width:540px){
	.map_icon div { width:30px; height:20px; background-size:17px; }
	.map_table tr td.map_icon { padding-right:0; }
}





/*인증 개요*/

@media (max-width:1660px) {
	.iso_summary .info_pdca img { width:calc(400px + 10vw); }
    .iso_summary .info_cycle img { width:calc(550px + 13vw); }
}
@media (max-width:767px) {
	.iso_summary .info_pdca img { width:calc(300px + 14vw); }
}
@media (max-width:700px) {
    .iso_summary .info_cycle img { width:calc(270px + 11vw); }
}




/*종류 2단배치*/

.vision_contents .col2con { display:flex; flex-wrap: wrap; justify-content:space-between; }
.vision_contents .col2list.zig .col2con:nth-of-type(even) { flex-direction:row-reverse; }
.vision_contents .col2list .col2con:nth-of-type(n+2) { margin-top:calc(30px + 7%); }
.vision_contents .col2con > dt { width: 50%; }
.vision_contents .col2con > dt picture { padding-bottom:70%; background:no-repeat center; background-size:cover; }
.vision_contents .col2con > dd { width: 42%; }

.vision_contents .col2con > dd h3 {font-size: 44px; color:var(--mc); font-family: var(--one_m);}
.vision_contents .col2con > dd h5 {font-size: 24px; line-height: 1.4; font-family: var(--one_m);}
.vision_contents .col2con > dd .line {border-top: 2px solid var(--mc);}
.vision_contents .col2con > dd .cont { line-height:1.7; }
.vision_contents .col2con > dd .tip { line-height:1.6; font-size:16px; color:var(--mc); }
.vision_contents .col2con > dd .iso_hot {
  display:inline-block;
  margin-right:8px;
  padding:2px 8px;
  font-size:12px;
  font-weight:700;
  line-height:1.4;
  color:#fff;
  background:#ff0033;
  border-radius:4px;
  vertical-align:middle;
  letter-spacing:0.02em;
}


@media (max-width:767px){
	.vision_contents .col2con > dt { width:440px; max-width:100%; }
	.vision_contents .col2con > dd { width:100%; margin-top:calc(10px + 3%); }
	.vision_contents .col2con > dd .num { transform: translateY(0); }
	.vision_contents .col2list.zig .col2con:nth-of-type(even) > dd * { text-align:right; }
	.vision_contents .col2con > dd .cont { line-height:1.6; }
    .vision_contents .col2con > dd .line {border-top-width: 1px;}
}




/*진행절차*/

.work_diagram { width: 100%; max-width: 760px; margin: 0 auto; }
.work_diagram_inner {
  position: relative;
  width: min(100%, 640px);
  margin: 0 auto;
  aspect-ratio: 1;
}
.work_diagram_ring {
  position: absolute;
  inset: 4%;
  border: 2px dashed #c5d0ea;
  border-radius: 50%;
  background: #f4f7fc;
}
.work_diagram_center {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 42%;
  max-width: 240px;
  text-align: center;
  z-index: 2;
}
.work_diagram_name {
  margin: 0;
  font-family: var(--one_b, inherit);
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 800;
  line-height: 1.2;
  color: #222;
  letter-spacing: -0.02em;
}
.work_diagram_sub {
  margin: 10px 0 0;
  font-size: clamp(11px, 1.4vw, 14px);
  line-height: 1.45;
  color: #8a93a8;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.work_node {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(96px, 18vw, 132px);
  height: clamp(96px, 18vw, 132px);
  border-radius: 50%;
  font-size: clamp(18px, 2.4vw, 24px);
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  z-index: 2;
}
.work_node_fill {
  background: var(--mc);
  color: #fff;
}
.work_node_line {
  background: #fff;
  color: var(--mc);
  border: 2px solid var(--mc);
}
.work_node_tl { left: 8%; top: 16%; }
.work_node_tr { right: 8%; top: 16%; }
.work_node_bl { left: 8%; bottom: 10%; }
.work_node_br { right: 8%; bottom: 10%; font-size: clamp(15px, 2vw, 19px); }

.process_detail .res_table:before { border-color:var(--mc); }
.process_detail .res_table th { background-color:var(--lc); }

.iso_process picture.work img {
  width: 562px;
  max-width: 100%;
  height: auto;
}

@media (max-width:1660px){
	.iso_process .process img { width:calc(800px + 20vw); }
}
@media (max-width:1000px){
	.process_detail .col2_cont > dd { margin-top: calc(10px + 2vw); }
}
@media (max-width:767px){
	.work_diagram_inner {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px;
		justify-items: center;
		width: min(100%, 360px);
		aspect-ratio: auto;
		padding: 28px 0 8px;
	}
	.work_diagram_ring { display: none; }
	.work_diagram_center {
		position: static;
		transform: none;
		width: 100%;
		max-width: none;
		margin: 0 auto 10px;
		grid-column: 1 / -1;
	}
	.work_node {
		position: static;
		width: 132px;
		height: 132px;
		font-size: 22px;
	}
	.work_node_br { font-size: 17px; }
	.iso_process picture.work img { width: calc(340px + 14vw); }
	.iso_process .process img { width:calc(340px + 14vw); }
}





/*비용안내*/

.cost_table .col2_cont > dt {width: 20%;}
.cost_table .col2_cont > dd {width: 75%;}

@media (max-width:1250px) {
    .cost_table .col2_cont > dt {width: 100%;}
    .cost_table .col2_cont > dt h3 br {display: none;}
    .cost_table .col2_cont > dd {width: 100%; margin-top: calc(10px + 2vw);}
}


.cost_table .c_red {color:#ee4e29;}
.cost_table .res_table.bg_dark thead th { background-color:var(--mc); }
.cost_table .res_table.bg_light thead th { background-color:var(--lc); }
.cost_table .td_h5 { background-color:var(--lc); }

/* 교통비: 지역(좌) / 금액(우) 세로 행 — 벤치마크 모바일과 동일 */
.cost_table .res_table.traffic { border-top: 1px solid #d5d5d5; }
.cost_table .res_table.traffic:before { display: none; }
.cost_table .res_table.traffic th.td_h5 {
  width: 50%;
  text-align: center;
  font-weight: 400;
  color: #111;
  background-color: var(--lc);
}
.cost_table .res_table.traffic td {
  width: 50%;
  text-align: center;
  background: #fff;
}

.cost_table tbody td .bul.dash p {font-size: 15px;}
.cost_table tbody td .bul.dash .list_icon { font-size:12px; }
.cost_table tbody td .bul.dash > li:nth-of-type(n+2) {margin-top: 2px;}

.cost_table .bul.dot.small > li:nth-of-type(n+2) {margin-top: 3px;}


@media (max-width:900px) {
	.cost_table .scroll_table .scroll { overflow-x:scroll; }
	.cost_table .scroll_table table { width:calc(500px + 50vw); }
	.cost_table .scroll_table.left_fix { overflow-x:hidden; }
	.cost_table .scroll_table .fix_table { display:block; }
	.cost_table .scroll_table .fix_table tr > *:nth-child(n+2),
	.cost_table .left_fix .scroll tr th:first-child { visibility:hidden; }
	.cost_table .scroll_table.left_fix .scroll { overflow-x:scroll; border-left:1px solid #ddd; }
	.cost_table .scroll_table.left_fix tbody td { background:#fff; }
}
@media (max-width:600px) {
	.traffic tbody th { width:40%;  background-color:#f6f7fa; }
}