/* 서브 공통 */
.sub_con h4 { position: relative; font-size: 24px; font-weight: 700; color: #343434; padding-bottom: 12px; padding-left: 12px; margin-bottom: 18px; }
.sub_con h4::before { position: absolute; left: 0; top: 5px; content: ''; width: 4px; height: 26px; background-color: #599bd7; border-radius: 8px; }
.sub_con h4::after { position: absolute; left: 0; bottom: 0; content: ''; width: 100%; height: 1px; background-color: #666; z-index: -1; }

@media all and (max-width:768px) {
	.sub_con h4 { font-size: 20px; }
	.sub_con h4::before { top: 4px; width: 4px; height: 21px; }
}

/* 연구원소개 :: 인사말 */
.ceo_hdmsg1 { font-size: 29px; font-weight: 300; letter-spacing: -1.5px; color: #000; }
.ceo_hdmsg1 strong { color: #599bd7; }
.ceo_hdmsg2 { font-size: 21px; font-weight: 500; letter-spacing: -1px; color: #000; }
.ceo .image_box { margin: 34px 0; border-radius: 24px; overflow: hidden; }
.ceo .txt { font-size: 18px; }
.ceo .sub_con + .sub_con { padding-top: 88px; border-top: 1px solid #666; }
.ceo_hdmsg_en { font-size: 21px; font-weight: 500; color: #000; }

@media all and (max-width:768px) {
	.ceo_hdmsg1 { font-size: 23px; }
	.ceo_hdmsg2 { font-size: 17px; }
	.ceo .image_box { margin: 24px 0; border-radius: 8px; }
	.ceo .txt { font-size: 14px; }
	.ceo .sub_con + .sub_con { padding-top: 52px; }
	.ceo_hdmsg_en { font-size: 17px; }
}


/* 연구원소개 :: 조직도 */
.organization { text-align: center; }
.organ_hdmsg1 { font-size: 23px; font-weight: 300; letter-spacing: -1.5px; color: #000; }
.organization .image_box { margin-top: 48px; }

@media all and (max-width:768px) {
	.organ_hdmsg1 { font-size: 17px; }
	.organ_hdmsg1 br { display: none; }
}


/* 연구원소개 :: 사업영역 */
.business h4::after { display: none; }
.bs_list { margin-top: 12px; }
.bs_list li { width: calc((100% - 40px) / 3); text-align: center; background-color: #efefef; border-radius: 8px; overflow: hidden; }
.bs_list li strong { display: block; width: 100%; height: 48px; line-height: 48px; color: #fff; font-size: 18px; }
.bs_list li.bs1 strong { background-color: #1c6ccf; }
.bs_list li.bs2 strong { background-color: #152cd5; }
.bs_list li.bs3 strong { background-color: #0f2460; }
.bs_list li p { padding: 38px; font-size: 18px; color: #000; }
.business .image_box { padding: 58px 24px; background-color: #f8fafb; border: 1px solid #ddd; margin-top: 12px; }

@media all and (max-width:768px) {
	.bs_list li { width: 100%; margin-bottom: 16px; }	
	.bs_list li strong { font-size: 17px; }
	.bs_list li p { padding: 32px; font-size: 16px; }
	.business .image_box { padding: 0; background-color: #fff; border: none; }
}


/* 연구원소개 :: 오시는길 */
.mapinfo .map { margin-bottom: 22px; }
.mapinfo > p { position: relative; float: left; width: 50%; margin: 8px 0; min-height: 40px; }
.mapinfo > p.wdf { 	width: 100%; }
.mapinfo > p span { display: inline-block; vertical-align: middle; }
.mapinfo .ico { width: 40px; height: 40px; margin-right: 14px; background-color: #599bd7; border-radius: 50%; overflow: hidden; }
.mapinfo .ico img { display: block; width: 20px; height: 20px; margin: 10px auto; }
.location .root_daum_roughmap { width: 100%; border: 0; padding: 0; border-radius: 0; }
.location .root_daum_roughmap .wrap_map { width: 100%; height: 416px; }
.location .wrap_controllers.hide { display: none; }
.location .root_daum_roughmap_landing .border2 { display: block; }

@media all and (max-width:768px) {
	.mapinfo > p { width: 100%; margin: 5px 0; padding-left: 52px; }
	.mapinfo > p span.ico { position: absolute; left: 0; top: 0; }
	.mapinfo > p span.addr { line-height: 40px; }
	.mapinfo > p.wdf span.addr { line-height: 1.4; }
	.location .root_daum_roughmap .wrap_map { height: 246px; }
}


/* 기술인증, 품질인증 공통 */
.sub_tab ul { margin-left: 1px; }
.sub_tab li { position: relative; float: left; width: 20%; text-align: center; border: 1px solid #ddd; margin-left: -1px; z-index: 1; transition: .3s ease-in-out; }
.sub_tab li a { display: block; height: 54px; line-height: 54px; font-size: 17px; font-weight: 500; }
.sub_tab li:hover { color: #fff; background-color: #599bd7; z-index: 3; }

.tech_atc { position: relative; padding: 30px 0 30px 196px; border-top: 1px dashed #ddd; }
.tech_atc:first-child { border-top: none; }
.tech_atc .tit_box { position: absolute; left: 0; top: 0; width: 196px; height: 100%; }
.tech_atc .tit_box .tit { position: absolute; left: 50%; top: 50%; font-size: 20px; font-weight: 600; color: #599bd7;
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.tech_atc .info { position: relative; padding-left: 42px; }
.tech_atc .info::after { position: absolute; left: 0; top: 0; content: ''; width: 1px; height: 100%; background-color: #ddd; }
.tech_atc .info > p { color: #333; font-weight: 500; }
.tech_atc .info .ul_tp1 {}
.tech_atc .info .ul_tp1 li { position: relative; color: #333; font-weight: 500; padding: 2px 0 2px 16px; }
.tech_atc .info .ul_tp1 li::after { position: absolute; left: 0; top: 9px; content: ''; width: 5px; height: 5px; background-color: #a1c3e3; border-radius: 50%; }
.tech_step { display: flex; flex-flow: row wrap; justify-content: flex-start; counter-reset: item; }
.tech_step li { position: relative; display: flex; align-items: center; justify-content: center; width: auto; height: auto; padding: 34px 28px 12px; text-align: center; color: #333; margin: 11px 32px 11px 0; border: 1px solid #c9d6e0; background-color: #e7f2fd; border-radius: 3px; }
.tech_step li::before { position: absolute; left: 0; top: 10px; width: 100%; font-size: 15px; font-weight: 600; opacity: 0.5; content: counter(item, decimal-leading-zero); counter-increment: item; }
.tech_step li::after { position: absolute; right: -20px; top: 50%; content: ''; margin-top: -6px; width: 7px; height: 12px; background: url('../images/step_arrow.png') left top no-repeat; }
.tech_step li:first-child { background-color: #fff; border: 1px solid #599bd7; color: #599bd7; }
.tech_step li:last-child { background-color: #599bd7; border: 1px solid #599bd7; color: #fff; margin-right: 0; }
.tech_step li:last-child::after { display: none; }
.tech_step li span { font-size: 15px; font-weight: 500; }

.tech_tb1 { border-top: 1px solid #abc2db; border-bottom: 1px solid #abc2db; overflow: hidden; }
.tech_tb1 > table { width: 100%; margin-left: -1px; margin-right: -1px; font-size: 15px; color: #666; }
.tech_tb1 thead th { font-weight: 500; color: #333; padding: 14px 24px; text-align: center; background-color: #e8f0f7; border-bottom: 1px solid #e4eaf1; border-left: 1px solid #dce8f2; vertical-align: middle; }
.tech_tb1 tbody th { font-weight: 500; color: #333; padding: 12px 24px; background-color: #f5f9fc; text-align: center; border-bottom: 1px solid #efefef; border-left: 1px solid #efefef; vertical-align: middle; }
.tech_tb1 tbody td { padding: 12px 24px; text-align: left; border-bottom: 1px solid #efefef; border-left: 1px solid #efefef; vertical-align: middle; }
.tech_tb1 tbody td dl { margin: 8px 0; }
.tech_tb1 tbody td dt { padding: 3px 0; }
.tech_tb1 tbody td dd { position: relative; padding: 3px 0 3px 16px; font-size: 14px; }
.tech_tb1 tbody td dd strong { display: block; margin-bottom: 4px; }
.tech_atc .info > p.tb_desc { font-size: 15px; font-weight: 400; color: #999; margin-top: 8px; }

.gr_step { counter-reset: item; }
.gr_step li { position: relative; padding: 46px 0 46px 128px; border-bottom: 1px dashed #ddd; }
.gr_step li::before { position: absolute; left: 24px; top: 50%; width: 100%; height: 100%; margin-top: -17px; font-size: 35px; line-height: 1; font-weight: 700; color: #c8d1f0; content: counter(item, decimal-leading-zero); counter-increment: item; }
.gr_step li:nth-child(2)::before { top: 56px; height: auto; }
.gr_step li .image_box { margin-top: 24px; }

@media all and (max-width:768px) {
	
	.sub_tab ul { margin-top: 1px; }
	.sub_tab li { width: 50%; margin-top: -1px; }
	.sub_tab li a { height: 43px; line-height: 43px; font-size: 14px; }

	.tech_atc { padding: 24px 0 0 0; }
	.tech_atc:first-child { border-top: none; }
	.tech_atc .tit_box { position: relative; left: auto; top: auto; width: 100%; height: auto; padding-left: 28px; }
	.tech_atc .tit_box::after { position: absolute; left: 0; top: 4px; content: ''; width: 18px; height: 18px; border: 4px solid #599bd7; border-radius: 50%; }
	.tech_atc .tit_box .tit { position: relative; left: auto; top: auto; font-size: 18px; 
		-webkit-transform: translate(0, 0);
		-moz-transform: translate(0, 0);
		transform: translate(0, 0);
	}
	.tech_atc .info { padding: 14px 0 24px; }
	.tech_atc .info::after { display: none; }
	.tech_step li { padding: 26px 20px 8px; }
	.tech_step li::before { font-size: 11px; }
	.tech_step li span { font-size: 12px; }

	.tech_tb1 > table { font-size: 13px; }
	.tech_tb1 thead th { padding: 10px 18px; }
	.tech_tb1 tbody th { padding: 8px 18px; }
	.tech_tb1 tbody td { padding: 8px 18px; }
	.tech_tb1 tbody td dd { font-size: 12px; }
	.tech_atc .info > p.tb_desc { font-size: 12px; }

	.gr_step li { padding: 32px 0 26px 0; margin-bottom: 26px; }

	.gr_step li::before { left: 0; top: 0; width: 100%; height: auto; margin-top: 0; font-size: 25px; }
	.gr_step li:nth-child(2)::before { top: 0; height: auto; }
}


/* 원가계산 */
.ca_list li { display: flex; align-items: center; justify-content: center; width: calc((100% - 40px) / 5); padding: 34px; color: #000; background-color: #feeef8; font-weight: 500; text-align: center; border: 1px solid #666; }

@media all and (max-width:768px) {
	.ca_list li { width: calc((100% - 10px) / 2); padding: 24px; margin-bottom: 10px; }
}


/* 산업재산권 */
.prop_atc { position: relative; padding: 42px 0 42px 196px; border-top: 1px dashed #ddd; }
.prop_atc:first-child { margin-top: 0; border-top: 1px solid #666; }
.prop_atc .tit_box { position: absolute; left: 0; top: 0; width: 196px; height: 100%; }
.prop_atc .tit_box .tit { position: absolute; left: 50%; top: 50%; font-size: 20px; font-weight: 600; color: #599bd7;
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
.prop_atc .info { position: relative; padding-left: 42px; }
.prop_atc .info ul li { position: relative; font-size: 15px; color: #666; padding: 2px 0 2px 16px; }
.prop_atc .info ul li::after { position: absolute; left: 0; top: 9px; content: ''; width: 5px; height: 5px; background-color: #a1c3e3; border-radius: 50%; }
.property .image_box { padding: 58px 24px; background-color: #fff; border: 1px solid #ddd; margin-top: 12px; }

.prop_list li { display: flex; align-items: center; justify-content: center; width: calc((100% - 40px) / 4); padding: 34px; color: #000; background-color: #feeef8; font-weight: 500; text-align: center; border: 1px solid #666; }

@media all and (max-width:768px) {
	.prop_atc { padding: 24px 0 0 0; }
	.prop_atc .tit_box { position: relative; left: auto; top: auto; width: 100%; height: auto; padding-left: 28px; }
	.prop_atc .tit_box::after { position: absolute; left: 0; top: 4px; content: ''; width: 18px; height: 18px; border: 4px solid #599bd7; border-radius: 50%; }
	.prop_atc .tit_box .tit { position: relative; left: auto; top: auto; font-size: 18px; 
		-webkit-transform: translate(0, 0);
		-moz-transform: translate(0, 0);
		transform: translate(0, 0);
	}
	.prop_atc .info { padding: 14px 0 24px; }
	.prop_atc .info ul li { position: relative; font-size: 15px; color: #666; padding: 2px 0 2px 16px; }
	.prop_atc .info ul li::after { position: absolute; left: 0; top: 9px; content: ''; width: 5px; height: 5px; background-color: #a1c3e3; border-radius: 50%; }
	.property .image_box { padding: 24px 0; background-color: #fff; border: none; }

	.prop_list li { width: calc((100% - 10px) / 2); padding: 24px; margin-bottom: 10px; }

}


/* 고객지원 :: 온라인문의 */
.inq_form { padding: 0; margin: 0 auto; }
.application { width: 100%; z-index: 50; }
.application .form_section { margin-bottom: 33px; overflow: hidden; vertical-align: middle; }
.application .form_section p.sec_title { display: none; }
.application .form_section p { margin: 0; }
.application .item { width: 100%; border-radius: 7px; margin-bottom: 4px !important; background: #efefef; padding: 10px; clear: both; }
.application .item.l { clear: none; float: left; width: 49.65%; }
.application .item.r { clear: none; float: right; width: 49.65%; }
.application ul.fld { position: relative; width: 100%; margin-bottom: 4px; padding: 10px; font-size: 0; letter-spacing: 0; word-spacing: 0; vertical-align: middle; border-radius: 7px; background: transparent; display: block; }
.application ul.fld li { max-width: 50%; width: 50%; display: inline-block; font-size: 17px; margin: 2px 0; } 
.application input[type="text"], 
.application input[type="password"] { position: relative; width: 100%; padding-left: 10px; background: transparent; font-size: 17px; border: 0; line-height: 22px; color: #666; vertical-align: middle; outline-style: none;
	-webkit-appearance: none;
}
.application textarea { position: relative; width: 100%; padding-left: 10px; background: transparent; font-size: 17px; border: 0; color: #666; vertical-align: middle; outline-style: none;
	-webkit-appearance: none;
}
.inq_form input[type="submit"] { display: block; text-align: center; width: 198px; height: 63px; line-height: 63px; color: #fff; margin: 20px auto 0; font-size: 17px; background: #599bd7; border-radius: 4px; 
	-webkit-transition: .3s ease-in-out;
	-moz-transition: .3s ease-in-out;
	transition: .3s ease-in-out; 
	-webkit-appearance: none; 
}
.inq_form input[type="submit"]:hover { background: #396e9f; color: #fff; }

.inq_form .privacy { position: relative; }
.inq_form .privacy label { display: none; }
.inq_form .pyC textarea { width: 100%; height: 128px; padding: 12px; background: #efefef; border-radius: 7px; border: 1px solid #ddd; font-size: 15px; line-height: 1.7; color: #666; text-align: left; }

@media all and (max-width:1024px) {
	.application .form_section { margin-bottom: 33px; overflow: hidden; vertical-align: middle; }
	.application .item { padding: 3px 8px; }
	.application ul.fld li { font-size: 14px; } 
	.application input[type="text"], .application input[type="password"] { font-size: 14px; }
	.application textarea { font-size: 14px; }
	.inq_form .pyC textarea { font-size: 13px; }
}




