@charset "utf-8";

/* ==================================================
	공통사항
================================================== */
.cont_inner {
	width: 100%;
}

.img100 {
	width: 100%;
}

.block {
	display: block;
}

.center{
	text-align: center;
}

/* 주석 */
.uc {
	padding: var(--rem-13) 0;
	text-align: var(--text-ag-right);
}

.uc a {
	font-size: var(--rem-16);
	color: var(--color-black);
}

/* · 리스트 */
.ul_disc li {
	position: relative;
    padding-left: 1em;
    line-height: 1.4;
	text-align: left;
}
.ul_disc li::after {
	content: '·';
	position: absolute;
    top: 0;
    left: 0;
	width: 1em;
	height: 1em;
	text-align: center;
	color: var(--brand-color-main);
}
.ul_disc li+li {
	margin-top: 1rem;
}

/* - 리스트 */
.ul_dash li {
	position: relative;
	padding-left: var(--rem-18);
	line-height: 1.4;
}

.ul_dash li::after {
	content: '-';
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 0;
}

/* 1,2,3 리스트 */
.ol_decimal {
	margin-top: var(--rem-13);
	padding-left: var(--rem-18);
	line-height: 1.4;
}
.ol_decimal li {
	position: relative;
	list-style: decimal;
}
.ol_decimal li+li {
	margin-top: 1rem;
}

/* 애니메이션 */
.cont_inner {
	opacity: 0;
	transform: translateY(50px)
}

.cont_inner.active {
	opacity: 1;
	transform: translateY(0);
	transition: all 0.7s 0.8s;
	-webkit-transition: all 0.7s 0.8s;
}


/* ① ② 리스트 */
ol.ol_list {
	list-style-type: none;
	counter-reset: item;
	padding-left: 0;
	margin: 5px 0 ;
}

ol.ol_list>li {
	counter-increment: item;
	padding-left: 2rem;
	padding-bottom: 0.8rem;
	line-height: 1.3;
}

ol.ol_list>li::before {
	content: counter(item);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1.3rem;
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 50%;
	border: 1px solid var(--color-gray5);
	margin-right: 0.5em;
	margin-left: -2rem;
}

.ul_disc ol.ol_list li::after {
	display: none;
}

/* 모바일CSS */
@media screen and (max-width:1023px) {
	.cont_inner2 {
		margin-top: 3rem;
	}
}

@media screen and (max-width:800px) {
	.block {
		display: inline;
	}
}


/* ==================================================
	테이블
================================================== */
.chart01 {
	width: 100%;
	/* margin-top: var(--rem-20); */
}

.chart01 table {
	width: 100%;
	border-top: 2px solid var(--color-gray2);
	border-bottom: 1px solid var(--color-gray2);
	text-align: center;
	margin-bottom: 1rem;
}

.chart01 th {
	color: var(--color-black);
}

.chart01 thead th {
	font-weight: var(--font-sb);
	background: var(--color-gray1);
}

.chart01 tbody th {
	font-weight: var(--font-rg);
	background: var(--color-gray1);
}

.chart01 tr th,
.chart01 tr td {
	line-height: 1.35;
	text-align: var(--text-ag-center);
	padding: 1.5rem 0.6rem;
	border-bottom: solid 1px var(--color-gray2);
	vertical-align: middle;
	border-right: solid 1px var(--color-gray2);
}

.chart01 tr th:last-child,
.chart01 tr td:last-child {
	border-right: 0;
}

.chart01 ul {
	text-align: var(--text-ag-left);
	padding: 0.5rem 1.5rem;
}

.chart01 ol {
	text-align: var(--text-ag-left);
	line-height: 1.35;
}

.chart01 .line_r {
	border-right: solid 1px var(--color-gray2) !important;
}

/* 테이블 사이즈 */
.col_width20{
	width: 20%;
}

.col_width30 {
	width: 30%;
}

/* 모바일CSS */
@media screen and (max-width: 1023px) {

	.chart01 {
		font-size: var(--rem-16);
	}
}
@media screen and (max-width: 800px) {

	.chart01 tr th,
	.chart01 tr td {
		padding: 1.0rem 0.6rem;
	}

	.chart01 ul {
		padding: 0;
	}
}


/* ==================================================
	반응형 테이블 스크롤
================================================== */
.msg_touch_help {
	display: none;
}

/* 모바일CSS */
@media screen and (max-width:720px) {
	.con_table_wrap {
		overflow-x: auto;
	}

	.con_table_wrap {
		position: relative;
	}

	.table_scroll {
		width: 200%;
	}

	.msg_touch_help {
		position: absolute;
		left: 50%;
		top: 50%;
		margin-left: -40px;
		margin-top: -40px;
		display: block;
	}

	.msg_touch_help img {
		width: 100px;
		height: 100px;
	}
}


/* ==================================================
	이미지 움직이는 효과
================================================== */
.over-cover {
	overflow: hidden;
	position: relative;
	display: inline-block;
	line-height: 0;
}

.over-cover img {
	width: 100%;
	height: 100%;
	-webkit-transition: all 0.5s linear;
	transition: all 0.5s linear;
	-webkit-transform: scale3d(1, 1, 1);
	transform: scale3d(1, 1, 1);
}

.over-cover:hover img {
	-webkit-transform: scale3d(1.2, 1.2, 1);
	transform: scale3d(1.2, 1.2, 1);
}


/* ==================================================
	영상
================================================== */
.movie_con {
	text-align: center;
}

.movie_con video {
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	border: 1px solid #d7d7d7;
}

.promovie_con {
	text-align: center;
}

.promovie_con video {
	width: 100%;
	max-width: 1000px;
}


/* ==================================================
	유튜브 영상
================================================== */
.youtubeWrap {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 35px;
	height: 0;
	overflow: hidden
}

.youtubeWrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1
}

.youtubeWrap .btn_prev,
.youtubeWrap .btn_next {
	display: inline-block;
	position: absolute;
	top: 50%;
	margin-top: -45px;
	z-index: 100;
	background: rgba(0, 0, 0, 0.6);
	color: #fff
}

.youtubeWrap .btn_prev {
	left: 0
}

.youtubeWrap .btn_next {
	right: 0
}

.youtubeWrap .btn_prev>img {
	float: left
}

.youtubeWrap .btn_next>img {
	float: right
}

.youtubeWrap .btn_prev>span,
.youtubeWrap .btn_next>span {
	display: inline-block;
	float: left;
	height: 90px;
	padding: 0 15px;
	margin: 20px 0;
	max-height: 50px;
	max-width: 180px;
	font-size: 16px;
	display: block;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	display: none;
}

.youtubeWrap .btn_prev:hover>span,
.youtubeWrap .btn_prev:focus>span,
.youtubeWrap .btn_next:hover>span,
.youtubeWrap .btn_next:focus>span {
	display: inline-block
}



/* ==================================================
	회사소개 - 개요
================================================== */
.ov> img, .grt> img{
	width: 100%;
	border-radius: 1.5rem;
}
.ov_txt {
	padding-top: 6rem;
	text-align: center;
}
.ov_txt h3{
	font-size: var(--rem-40);
	font-weight: var(--font-bd);
	color: var(--brand-color-main);
}
.ov_txt h4{
	padding: 0.5rem 0 2.5rem 0;
	font-size: var(--rem-22);
	color: var(--brand-color-dmain);
	font-weight: var(--font-md);
	line-height: 1.5;
}
.ov_txt h4 br{
	display: none;
}
.ov_txt p{
	margin: 0 auto;
	width: 70%;
}
.ov_txt p:nth-of-type(2){
	padding: 1.5rem 0;

}
.ov_info ul{
	padding: 7rem 0 7rem 0;
	display: flex;
	justify-content: center;
    gap: 15rem
}
.ov_info ul li{
	position: relative;
	text-align: center;
}
.ov_info ul li img{
	width: 100%;
	max-width: 132px;
}
.ov_info ul li:not(:last-child)::after{
	content: "";
	position: absolute;
	top: 50%; 
	left: calc(100% + 7.5rem);   
	transform: translateY(-50%);
	width: 1px;
	height: 18rem;              
	background-color: var(--color-gray2);
}
.ov_info ul li p{
	font-size: var(--rem-24);
	font-weight: var(--font-sb);
}
.ov_info ul li p span{
	display: block;
	font-size: var(--rem-18);
	font-weight: normal;
}
.ov_biz{
	padding: 5rem;
	display: flex;
	gap: 3rem;
	background-color: #E4EAF1;
	border-radius: 1.5rem;

}
.ov_biz div h3{
	padding-bottom: 1.5rem;
	font-size: var(--rem-32);
	font-weight: var(--font-bd);
}
.ov_biz ul{
	display: flex;
	gap: 2rem;
}
.ov_biz ul li img{
	width: 100%;
	max-width: 24rem;
	border-radius: 50%;
}
.ov_biz ul li p{
	font-size: var(--rem-20);
	font-weight: var(--font-md);
	text-align: center;
}

/* 모바일  CSS*/
@media screen and (max-width:800px){
	.ov> img, .grt> img{
		border-radius: 1rem;
		min-height: 160px;
        object-fit: cover;
	}
	.ov_txt h4 br{
		display: block;
	}
	.ov_txt p {
		width: 100%;
	}
	.ov_info ul {
		display: block;
	}
	.ov_info ul li{
		margin-bottom: 5rem; 
	}
	.ov_info ul li:not(:last-child)::after{
		content: "";
		position: absolute;
		bottom: -1.5rem;  
		top: auto;   
		left: 50%;
		transform: translateX(-50%);
		width: 80%;         
		height: 1px;
		background-color: var(--color-gray2);
	}
	.ov_biz{
		padding: 2.5rem;
		display: block;
		border-radius: 1rem;
	}
	.ov_biz div{
		padding-bottom: 2rem;
	}
	.ov_biz ul {
		gap: 0.5rem;
	}
}

@media screen and (max-width:500px){
	.ov_txt {
		text-align: left;
	}
	.ov_txt h3 {
		font-size: var(--rem-34);
	}
	.ov_info ul{
		padding: 7rem 0 2rem 0;
	}
	.ov_biz ul {
		display: block;
		padding-top: 2rem;
	}
	.ov_biz ul li{
		padding-bottom: 3rem;
		text-align: center;
	}
	.ov_biz div h3{
		padding-bottom: 0.5rem;
	}
}



/* ==================================================
	회사소개 - 인사말
================================================== */
.grt_cont{
	padding-top: 7rem;
	display: flex;
	justify-content: space-between;
	gap: 10rem;
}
.grt_cont .tit{
	font-size: var(--rem-100);
	font-weight: var(--font-eb);
	color: var(--color-gray2);
	line-height: 1.1;
}
.grt_cont .txt h3{
	font-size: var(--rem-32);
	font-weight: var(--font-bd);
	color: var(--brand-color-main);
}
.grt_cont .txt h4{
	padding: 2rem 0 3.5rem 0;
	font-size: var(--rem-20);
	font-weight: var(--font-sb);
	color: var(--brand-color-dmain);
}
.grt_cont .txt p{
	padding-bottom: 1rem;
}
.ceo{
	padding-top: 3rem;
	text-align: right;
}
.ceo span{
	padding-left: 1rem;
}
.nanum_pen {
	font-family: 'Nanum Pen Script', cursive;
	font-size: var(--rem-40);	
}
@import url('//fonts.googleapis.com/earlyaccess/nanumpenscript.css');


/* 모바일  CSS*/
@media screen and (max-width:1024px){
	.grt_cont{
		gap: 5rem;
	}
	.grt_cont .tit{
		font-size: var(--rem-80);
	}
}

/* 모바일  CSS*/
@media screen and (max-width:800px){
	.grt_cont{
		display: block;
	}
	.grt_cont .tit{
		font-size: var(--rem-60);
		line-height: 1;
	}	
	.grt_cont .txt{
		padding-top: 2rem;
	}
	.grt_cont .txt h3{
		line-height: 1.3;
	}
}


/* ==================================================
	회사소개 - 경영이념
================================================== */
.philo_top img{
	width: 100%;
}
.philo_top{
	position: relative;
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	text-align: center;
}
.philo_top .philo_inner{
	position: relative;
	display: inline-block;    
	transform: translateY(12rem); 
}
.philo_inner img.diagram{
	width: 100%;
}
.philo_top .bg{
	width: 100%;
	display: block;
	border-radius: 1.5rem;
	opacity: 0;
	transform: scale(1.05);
	animation: bgFadeIn 1s ease-out forwards;
}
@keyframes bgFadeIn{
	to{ opacity:1; transform:scale(1);}
}

.philo_top .diagram{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	max-width: 530px;
	width: 90%;
	height: auto;
	opacity: 0;
	transform: translate(-50%, -50%) scale(0.8);
	animation: diagramPop 1s 0.5s ease-out forwards;
}
@keyframes diagramPop{
	to{ opacity:1; transform:translate(-50%, -50%) scale(1);}
}
.philo_bot{
	padding-top: 30rem;
}
.philo_bot .pb_txt{
	text-align: center;
}
.philo_bot .pb_txt h3{
	padding-bottom: 1.5rem;
	font-size: var(--rem-38);
	font-weight: var(--font-bd);
	color: var(--brand-color-main);	
	line-height: 1.3;
}
.philo_bot .pb_txt h3 br{
	display: none;
}
.philo_bot> ul{
	padding-top: 5rem;
	display: grid;
	grid-template-columns: repeat(2, 2fr);
	gap: 3rem;
}
.philo_bot> ul> li{
	padding: 3rem;
	border: solid 1px var(--color-gray2);
	border-radius: 1.5rem;
}
.pb_cont li dl{
	padding-bottom: 2rem;
}
.pb_cont li dl dt{
	padding-bottom: 0.5rem;
    margin-bottom: 1rem;
	font-size: var(--rem-26);
	font-weight: var(--font-bd);
	color: var(--brand-color-dmain);
	border-bottom: solid 1px var(--color-black);
}
.pb_cont li ul li{
	position: relative;
	padding-left: 1.5rem;
}
.pb_cont li ul li::before {	
    content: '-';
    position: absolute;
    left: 0;
}


/* 모바일  CSS*/
@media screen and (max-width:800px){
	.philo_inner img.diagram {
		width: 60%;
	}
}
@media screen and (max-width:500px){
	.philo_bot> ul{
		grid-template-columns: repeat(1, 4fr);
	}
	.philo_bot .pb_txt h3 br{
		display: block;
	}
}



/* ==================================================
	회사소개 - 연혁
================================================== */
.his_top{
	padding: 9.5rem  0;	
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	
	background-size: cover;
	border-radius: 1.5rem;
	color: var(--color-white);
}
.h_bg{
	background: url('../../lib/images/about/his_img01.jpg') no-repeat;
}
.c_bg{
	background: url('../../lib/images/about/cust_img01.jpg') no-repeat;
}
.his_top div h3{
	padding-bottom: 1.5rem;
	font-size: var(--rem-38);
	font-weight: var(--font-bd);
	
}
.his_cont{
	padding-top: 7.5rem;
	display: grid;
	grid-template-columns: repeat(2, 2fr);
	gap: 4rem;
}
.his_cont> li{
	border-radius: 1.5rem;
	border: solid 1px var(--color-gray2);
}
.his_cont li:nth-child(odd) .h_tit{
	background-color: var(--brand-color-main);
}
.his_cont li:nth-child(even) .h_tit{
	background-color: var(--brand-color-dmain);
}
.his_cont li .h_tit{
	padding-left: 3rem;
	display: flex;
	align-items: center;
	gap: 3rem;
	height: 7rem;
	color: var(--color-white);
	border-radius: 1.5rem 1.5rem 0 0;
}
.his_cont li .h_tit h3{
	font-size: var(--rem-30);
	font-weight: var(--font-bd);
} 
.his_cont li .h_tit h4{
	font-size: var(--rem-22);
	font-weight: var(--font-md);
}
.his_cont ul{
	padding: 2rem 4.5rem;
}
.his_cont ul li{
	padding: 1rem 0;
	border-bottom: solid 1px var(--color-gray2);
}
.his_cont ul li:last-of-type{
	border-bottom: 0;
}
.his_cont ul li p span{
	padding-right: 2rem;
}


/* 모바일  CSS*/
@media screen and (max-width:1024px){
	.his_cont li .h_tit {
		gap: 1rem;
	}
	.his_cont li .h_tit h3{
		font-size: var(--rem-26);
	}
	.his_cont li .h_tit h4{
		font-size: var(--rem-18);
	}
}

@media screen and (max-width:800px){
	.his_top {
		padding: 6rem 0;
	}
	.his_cont {
		gap: 1.5rem;
	}
	.his_cont li .h_tit{
		padding: 1.5rem 0 1.5rem 3rem;
		display: block;		
		height: auto;
		line-height: 1.5;
	} 
	.his_cont ul {
		padding: 2rem 3.5rem;
	}
}
@media screen and (max-width:500px){
	.his_top {
        padding: 6rem 2rem;
    }
	.his_top div p br:nth-of-type(1){
		display: none;
		word-break: keep-all;
	}
	.his_cont {
		grid-template-columns: repeat(1, 2fr);
		gap: 3rem;
	}
	.his_cont li:nth-child(odd) .h_tit,
	.his_cont li:nth-child(even) .h_tit{
		border-radius: 1rem 1rem 0 0;
	}
}


/* ==================================================
	회사소개 - 고객사
================================================== */
.key_cust{
	margin-top: 5rem;
	padding: 5.5rem 17.5rem;
	background-color: #FAFAFA;
	border: solid 1px var(--color-gray2);
	border-radius: 1.5rem;
}
.key_cust ul{
	display: grid;
	grid-template-columns: repeat(3, 3fr);
	gap: 2rem;
}
.key_cust ul li img{
	width: 100%;
	border-radius: 1rem;
	background-color: var(--color-white);
	border: solid 1px var(--color-gray2);
}

/* 모바일  CSS*/
@media screen and (max-width:1024px){
	.key_cust{
		padding: 3.5rem 12.5rem;
	}
}

@media screen and (max-width:800px){
	.key_cust{
		padding: 2rem 7rem;
	}
}

@media screen and (max-width:500px){
	.his_top div h3 {
		line-height: 1.3;
	}
	.key_cust{
		padding: 2rem 2rem;
	}
	.key_cust ul{
		grid-template-columns: repeat(2, 5fr);
		gap: 1rem;
	}
}



/* ==================================================
	회사소개 - 오시는 길
================================================== */
.drc_top ul{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 5rem;
	height: 7rem;
	color: var(--color-white);
	border-radius: 1.5rem 1.5rem 0 0;
	background-color: var(--brand-color-main);
}
.drc_top li{
	position: relative;
	padding-left: 2.5rem;
}
.drc_top li::before{
	content: "●";
	position: absolute;
	left: 0;
}
.drc_cont div{
	border-radius: 0 0  1.5rem 1.5rem;
}
.root_daum_roughmap .cont{
	display: none;
}
.drc_pic {
	padding-top: 5.5rem;
	display: flex;
	gap: 3rem;
}
.drc_pic li img{
	width: 100%;
	border-radius: 1.5rem;
}


/* 모바일  CSS*/
@media screen and (max-width:800px){
	.drc_pic{
		display: block;
	}
}

@media screen and (max-width:500px){
	.drc_top ul {
		padding: 1.5rem 0 0 2.5rem;
		display: block;
		height: 9rem;
	}
}




/* ==================================================
	정밀가공 - 공정기술
================================================== */
.tech_top> div{
	padding-bottom: 5rem;
}
.tech_top> div img{
	width: 100%;
	border-radius: 1.5rem;
}
.tech_top .tt_txt{
	display: flex;
	justify-content: space-between;
	gap: 5rem;
}
.tech_top .tt_txt h3{
	font-size: var(--rem-65);
	font-weight: var(--font-bd);
	color: var(--color-gray2);
	line-height: 1.1;
}
/* 기본 값(변수) */
.tech_top .tt_txt ul{
	--gap: 6rem;           /* 항목 간 간격 */
	--arrow-w: 28px;       /* 화살표 너비 */
	--arrow-h: 20px;       /* 화살표 높이 */
	display: flex;
	align-items: center;   /* 세로 중앙 정렬 */
	gap: var(--gap);
}

.tech_top .tt_txt ul li{
	position: relative;
	text-align: center;
}

/* 이미지 래퍼: 화살표의 기준이 되는 박스(=이미지 높이와 동일) */
.tech_top .tt_txt ul li .pic{
	position: relative;
	display: inline-block; /* 이미지 실제 크기만큼 */
}
.tech_top .tt_txt ul li .pic img{
	display: block;
	border-radius: 50%;
	height: auto;
	max-width: 100%;
}

/* 화살표: 항상 gap의 정중앙 + 이미지(.pic) 높이 기준 세로 중앙 */
.tech_top .tt_txt ul li + li .pic::before{
	content: "";
	position: absolute;
	top: 50%;
	left: calc(-0.5 * var(--gap) - (var(--arrow-w) / 2)); /* gap 절반 - 화살표 절반 */
	transform: translateY(-50%);
	width: var(--arrow-w);
	height: var(--arrow-h);
	background: url('../../lib/images/common/arrow03.svg') no-repeat center / contain;
}

/* 캡션 */
.tech_top .tt_txt ul li p{
	padding-top: 1.5rem;
	text-align: center;
}
.tech_top .tt_txt ul li p{
	padding-top: 1.5rem;
	text-align: center;
}
.tech_bot{
}
.tech_bot .tb_txt h3{
	padding-bottom: 1rem;
	font-size: var(--rem-38);
	font-weight: var(--font-bd);
	color: var(--brand-color-main);
	line-height: 1.4;
}
.tech_bot .tb_txt p{
	padding-bottom: 1.5rem;
}
.tech_bot ul{
	padding-top: 5rem;
	display: grid;
	grid-template-columns: repeat(2, 2fr);
	gap: 2rem;
}
.tech_bot ul li{
	padding: 0 0 2rem 3rem;
	border-radius: 1.5rem;	
	height: 22rem;
	display: flex;
    align-items: end;
	color: var(--color-white);
	font-size: var(--rem-24);
	font-weight: var(--font-md);
	line-height: 1.3;
}

.tech_bot ul li:nth-of-type(1){
	background: url('../../lib/images/precision/tech_img03_01.jpg') no-repeat;	
	background-size: cover;
}
.tech_bot ul li:nth-of-type(2){
	background: url('../../lib/images/precision/tech_img03_02.jpg') no-repeat;	
	background-size: cover;
}
.tech_bot ul li:nth-of-type(3){
	background: url('../../lib/images/precision/tech_img03_03.jpg') no-repeat;	
	background-size: cover;
}
.tech_bot ul li:nth-of-type(4){
	background: url('../../lib/images/precision/tech_img03_04.jpg') no-repeat;	
	background-size: cover;
}

/* 모바일  CSS*/
@media (max-width: 1024px){
	.tech_top .tt_txt h3{
		font-size: var(--rem-50);
	}
	.tech_top .tt_txt ul{ 
		--gap: 4rem; 
		--arrow-w: 22px; 
		--arrow-h: 16px; 
	}
}
@media (max-width: 800px){
	.tech_top> div img{
		min-height: 160px;
        object-fit: cover;
	}
	.tech_top .tt_txt{		
		display: block;
	}
	.tech_top .tt_txt h3{
		padding-bottom: 3rem;
	}
	.tech_top .tt_txt ul{ 
		--gap: 2rem; 
		--arrow-w: 18px; 
		--arrow-h: 12px; 
	}
}


@media (max-width: 500px){
	.tech_top .tt_txt h3{
		text-align: center;
	}
	/* 모바일에서 세로 스택이면 화살표 숨김 */
	.tech_top .tt_txt ul{ 
		flex-direction: column; 
		gap: 2rem; 
	}
	.tech_top .tt_txt ul li + li .pic::before{ 
		content: none; 
	}
	.tech_bot ul li {
		padding: 0 2rem 2rem 2rem;
		font-size: var(--rem-22);
	}
}



/* ==================================================
	정밀가공 - 주요제품
================================================== */
.bizTop{
	padding-bottom: 7rem;
}
.bizTop img{
	width: 100%;
	border-radius: 1.5rem;
}
.bizBox{
	display: grid;
	grid-template-columns: repeat(4, 4fr);
	gap: 3rem;
}
.bizBox li img, .measur_pic ul li img, .key_prd  ul li img{
	width: 100%;
	border-radius: 1rem;
	border: solid 1px var(--color-gray2);
	background-color: #FAFAFA;
}
.bizBox li p, .key_prd  ul li p{
	font-size: var(--rem-20);
	text-align: center;
}


/* 모바일  CSS*/
@media (max-width: 800px){
	.bizBox{
		grid-template-columns: repeat(3, 5fr);
	}
}

@media (max-width: 500px){
	.bizBox{
		grid-template-columns: repeat(2, 7fr);
	}
}



/* ==================================================
	정밀가공 - 생산설비, 측정장비
================================================== */
.equip_spec div{
	padding-bottom: 3rem;
}
.equip_spec div img{
	width: 100%;
	border-radius: 1.5rem;
}
.equip_spec table{
	margin-top: 1rem;
	width: 100%;
	min-width: 600px;
}
.equip_spec thead th {
	background: var(--brand-color-main);
	color: var(--color-white);
	font-weight: var(--font-sb);
	padding: 12px 10px;
	vertical-align: middle;
	border-left: 1px solid #002A57;
	border-right: 1px solid #002A57;
	border-top: none;
	border-bottom: none;
}
.equip_spec thead tr:nth-child(2) th{
	border-top: solid 1px #c5cbcf;
	border-radius: 0;
}
.equip_spec thead th:first-child {
	border-left: none;
	border-top-left-radius: 12px;
	}
.equip_spec thead th:last-child {
	border-right: none;
	border-top-right-radius: 12px;
	line-height: 1.2;
}

/* ---------- TBODY ---------- */
.equip_spec tbody td {
	padding: 12px 10px;
	border-top: 1px solid #c5cbcf;
	border-bottom: 1px solid #c5cbcf; /* 마지막 라인 표시 */
	border-left: 1px solid #c5cbcf;
	border-right: 1px solid #c5cbcf;
	vertical-align: middle;
	text-align: center;
}
.equip_spec tbody tr:first-child td {
	border-top: 1px solid #c5cbcf;
}
.equip_spec tbody td:first-child {
	border-left: none;
}
.equip_spec tbody td:last-child {
	border-right: none;
}
.equip_spec tbody tr:nth-child(even){
	background-color: #FAFAFA;
}
.equip_pic ul{
	padding-top: 6rem;
	display: grid;
	grid-template-columns: repeat(2, 2fr);
	gap: 3rem;
}
.equip_pic ul li img{
	width: 100%;
	border-radius: 1.5rem;
}

.measur_pic ul{
	padding-top: 6rem;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 4rem;
}


/* 모바일  CSS*/
@media (max-width: 800px){
	.equip_spec div img{
		border-radius: 1rem;
	}
	.equip_spec{
		overflow-x: scroll;
	}
	.equip_pic ul{
		gap: 1rem;
	}
	.equip_pic ul li img{
		border-radius: 1rem;
	}
	.measur_pic ul{
		grid-template-columns: repeat(2, 2fr);
		gap: 1rem;
	}
}




/* ==================================================
	도장 - 분체도장, 액체도장, 고주파 세척기
================================================== */
.powder_top{
	padding-bottom: 6rem;
	margin-bottom: 6rem;
	border-bottom: solid 1px var(--color-gray2);
}
.powder_top ul.clean_pic{
	display: flex;
	gap: 3rem;
	align-items: baseline;
}
.powder_top ul.clean_pic li {
	flex: 1; /* 기본 비율 */
}

.powder_top ul.clean_pic li:first-child {
	flex: 2.5; /* 첫번째 이미지만 더 크게 */
}
.powder_top ul.clean_pic li:first-child img{
	
}
/* .powder_top ul li:nth-of-type(1) img{
	width: 150%;
} */
.powder_top ul.powder_pic{
	padding-top: 5rem;
	display: flex;
	gap: 3rem;
}
.powder_top img{
	width: 100%;
	border-radius: 1.5rem;
}
.powder_top h3{
	padding-top: 5rem;
	font-size: var(--rem-38);
	color: var(--brand-color-main);
	font-weight: var(--font-bd);
	line-height: 1.4;
}
.powder_top h3 br{
	display: none;
}
.powder_top p:nth-of-type(1){
	padding: 2rem 0 1rem 0;
}
.powder_bot .tit{
	padding-bottom: 1rem;
	font-size: var(--rem-32);
	font-weight: var(--font-bd); 
}
.powder_bot .feature{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 3rem;
}
.powder_bot .feature.hf{
	display: grid;
	grid-template-columns: repeat(2, 2fr);
	gap: 3rem;
}
.powder_bot .feature> li{
	border: solid 1px var(--color-gray2);
	border-radius: 1rem;
}
.powder_bot .feature li img{
	height: 100%;
	border-radius: 1rem;
}
.card_header {
	height: 1rem;
	background: linear-gradient(90deg, #135296, #3EA5D5);
	border-top-left-radius: 1rem;
	border-top-right-radius: 1rem;
}
.card_cont{
	padding: 2rem;
}
.card_cont h3{
	padding-bottom: 0.5rem;
	font-size: var(--rem-22);
	font-weight: var(--font-sb);	
}
.card_cont ul li{
	position: relative;
	padding-left: 1rem;
}
.card_cont ul li::before{
	content: "·";
	position: absolute;
	left: 0;
}
.liquid ul{
	display: flex;
	gap: 3rem;
}
.liquid ul li:nth-of-type(2){
	padding-top: 5rem;
}
.liquid ul li img{

}
/* 액체도장 특징 옆 제품 */
.prd_con{
	display: flex;
	gap: 3rem;
}
.prd_con .liq_prd{
	display: grid;
	grid-template-columns: repeat(1, 2fr);
	gap: 1rem;
}
.prd_con .liq_prd li img{
	width: 100%;
	border-radius: 1rem;
}


/* 모바일  CSS*/
@media (max-width: 500px){
	.powder_top img{
		border-radius: 1rem;
        min-height: 160px;
        object-fit: cover;
	}
	.powder_top ul img{
		max-height: 160px;
	}
	.powder_top h3 br{
		display: block;
	}
	.powder_top ul{
		gap: 1rem;
	}
	.powder_bot .tit{
		text-align: center;
	}
	.powder_bot .feature{
		grid-template-columns: repeat(1, 5fr);
		gap: 2rem;
	}
	.powder_top h3 {
		font-size: var(--rem-32);
	}
	.powder_bot .feature.hf{
		grid-template-columns: repeat(1, 4fr);
		gap: 2rem;
	}
	.liquid ul{
		display: block;
	}
	.liquid ul li:nth-of-type(2) {
		padding-top: 3rem;
	}
	.prd_con{
		display: block;
	}
	.prd_con .liq_prd{
		padding-bottom: 2rem;
	}
}





/* ==================================================
	도장 - 주요제품
================================================== */
.key_prd:nth-of-type(1){
	padding-bottom: 7rem;
	margin-bottom: 7rem;
	border-bottom: solid 1px var(--color-gray2);
}
.key_prd h3{
	padding-bottom: 2rem;
	font-size: var(--rem-28);
	font-weight: var(--font-sb);
}
.key_prd  ul{
	display: grid;
	grid-template-columns: repeat(3, 2fr);
	gap: 3rem;
}


/* 모바일  CSS*/
@media (max-width: 500px){
	.key_prd  ul{
		grid-template-columns: repeat(2, 6fr);
		gap: 1rem;
	}
}




/* ==================================================
	R&D
================================================== */
.rnd{
	padding-bottom: 5rem;
}
.rnd img{
	width: 100%;
	border-radius: 1.5rem;
}
.rnd_top{
	padding-bottom: 8rem;
	margin-bottom: 8rem;
	border-bottom: solid 1px var(--color-gray2);
	display: flex;
	gap: 5rem;
	justify-content: space-between;
}
.rnd_top .pic{
	flex: 1;
}
.rnd_top .pic img{
	width: 100%;
	border-radius: 1.5rem;
}
.rnd_top .txt{
	padding-top: 2.5rem ;
	flex: 1.5;
	
}
.rnd_top .txt h3{
	font-size: var(--rem-38);
	font-weight: var(--font-bd);
	color: var(--brand-color-main);
	line-height: 1.3;
}
.rnd_top .txt p:nth-of-type(1){
	padding: 2rem 0;
}
.visionBox {
	text-align: center;
}
.visionBox h3{
	margin: 0 0 5rem;
	font-size: var(--rem-60);
	font-weight: var(--font-bd);
	background: linear-gradient(90deg, #135296, #3EA5D5, #135296);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.vision_pc img{
	width: 100%;
	max-width: 1320px;
}
.vision_m{
	display: none;
}


/* 모바일  CSS*/
@media (max-width: 1024px){
	.rnd_top .txt{
		padding-top: 0;
	}
}

@media (max-width: 800px){
	.rnd_top{
		display: block;
	}
	.rnd_top .pic{
		padding-bottom: 1.5rem;
		text-align: center;
	}
	.rnd_top .pic img {
		border-radius: 1rem;
		max-width: 550px;
	}
	.rnd_top .txt h3 {
		font-size: var(--rem-32);
	}
	.vision_pc{
		display: none;
	}
	.vision_m{
		display: block;
	}
	.vision_m ul{
		padding-bottom: 5rem;
		display: grid;
		grid-template-columns: repeat(1, 3fr);
		gap: 10rem;
		justify-content: center;
	}
	.vision_m .circle{
		margin: 0 auto;
		position: relative;
		width: 160px;
		height: 160px;
		color: var(--color-white);
		font-size: var(--rem-32);
		font-weight: var(--font-bd);
		display: flex;
		align-items: center;
		justify-content: center;
		border-radius: 50%;
		background-color: var(--brand-color-main);
	}
	.vision_m li:nth-of-type(2) .circle{
		background-color: var(--brand-color-dmain);
	}
	.vision_m .circle::after{
		content:"";
		position:absolute;
		inset: -5px;                   /* 원과 점선 링 사이의 갭 */
		border: 2px dotted var(--brand-color-main);
		border-radius:50%;
		pointer-events:none;
	}
	.vision_m li:nth-of-type(2) .circle::after{
		border: 2px dotted var(--brand-color-dmain);
	}
	.vision_m ul li{
		position: relative;
	}
	.vision_m ul li::before{
		content: "";
		position: absolute;
		background-color: #ECF4FC;
		border-radius: 1rem;
		width: 98%;
        height: 80%;
        left: 50%;
        transform: translateX(-50%);
        top: 80px;
        z-index: -1;
	}
	.vision_m ul li p{
		padding-top: 3rem;
		font-weight: var(--font-sb);
		color: var(--brand-color-main);
	}
}

@media (max-width: 500px){
	.visionBox h3{
		font-size: var(--rem-50);
	}
	.vision_m .circle{
		width: 120px;
		height: 120px;
	}
}







/* ==================================================
	ESG 
================================================== */
.esg_top {
	position: relative;
}
.esg_top .esg_pic img{
	width: 100%;
	border-radius: 1.5rem;
}
.esg_txt{
	padding: 3rem 3rem;
    position: absolute;
	left: 10%;
    bottom: -180px;
    width: 80%;
    background-color: var(--color-white);
    border-radius: 1rem;
    
}
.esg_txt h3{
	font-size: var(--rem-34);
	font-weight: var(--font-bd);
	color: var(--brand-color-main);
	line-height: 1.5;
}
.esg_txt p:nth-of-type(1){
	padding: 1.5rem 0;
}
.esg_bot ul{
	display: flex;
	gap: 10rem;
	justify-content: center;
}
.esg_bot ul li{
	position: relative;
	padding-top: 25rem;
	text-align: center;
}
.esg_bot ul li img{
	width: 100%;
	max-width: 200px;
	border-radius: 50%;
}
.esg_bot ul li::after {
	content: "";
	position: absolute;
	top: 45%;
	right: -5rem; /* gap의 절반 (gap이 5rem이므로) */
	width: 1px;
	height: 327px;
	background-color: var(--color-gray2);
}
.esg_bot ul li:last-child::after{
	content: none;
}
.esg_bot ul li div h3{
	padding: 2rem 0 1rem 0;
	font-size: var(--rem-22);
	font-weight: var(--font-sb);
}
.esg_bot ul li div p{
	font-size: var(--rem-16);
}

/* 모바일  CSS*/
@media (max-width: 1024px){
	.esg_txt {
		bottom: -320px;
	}
	.esg_bot ul {
		gap: 5rem;
	}
	.esg_bot ul li::after {
		right: -2.5rem;
		top: 52%;
		
	}
	.esg_bot ul li {
		padding-top: 40rem;
	}
	.esg_bot ul li div p br{
		display: none;
	}
}

@media (max-width: 500px){
	.esg_top .esg_pic img{
		min-height: 160px;
        object-fit: cover;
		border-radius: 1rem;
	}
	.esg_txt{
		position: relative;
		bottom: 0;
		left: 0;
		width: 100%;
		padding: 0 0;
	}
	.esg_txt h3 {
		padding-top: 2.5rem;
		font-size: 3rem;
        line-height: 1.4;
	}
	.esg_bot ul{
		padding-top: 8rem;
		display: block;
	}
	.esg_bot ul li {
        padding-top: 0;
		padding-bottom: 6rem;
    }
	.esg_bot ul li div h3 {
		padding: 2rem 0 0.3rem 0;
	}
	.esg_bot ul li div p{
		font-size: var(--rem-18);
	}
}





/* ==================================================
	커뮤니티 - 홍보영상
================================================== */
.youtubeWrap {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 35px;
    height: 0;
    overflow: hidden;
}



/* ==================================================
	커뮤니티 - Contact
================================================== */
.contact_txt {
	text-align: center;
}
.contact_txt img{
	width: 100%;
	max-width: 1000px;
	border-radius: 1.5rem;
}
.contact_txt div{
	padding-top: 5rem;
}
.contact_txt h4{
	font-size: var(--rem-22);
	font-weight: var(--font-sb);
	color: var(--brand-color-dmain);
}
.contact_txt h3{
	padding: 0rem 0 1rem 0;
	font-size: var(--rem-34);
	font-weight: var(--font-bd);
	color: var(--brand-color-main);
	line-height: 1.3;
}
.contact_info{
	margin: 5rem auto 0 auto;
	padding: 2.2rem 0;	
	max-width: 1000px;
	border-top: solid 1px var(--color-gray5);
	border-bottom: solid 1px var(--color-gray2);
	
}
.contact_info ul{
	display: flex;
	justify-content: center;
	gap: 7rem;
}
.contact_info ul li{
	font-size: var(--rem-20);
}


/* 모바일  CSS*/
@media (max-width: 800px){
	.contact_info ul{
		gap: 4rem;
	}
}

@media (max-width: 500px){
	.contact_txt img {
		border-radius: 1rem;
		min-height: 160px;
        object-fit: cover;
	}
	.contact_txt div p br{
		display: none;
	}
	.contact_txt h4 {
		padding-bottom: 0.5rem;
	}
	.contact_txt h3 {
		padding: 0rem 0 1.5rem 0;
		font-size: 3rem;
	}
	.contact_info ul{
		display: block;
		text-align: center;
	}
}