@charset "utf-8";

/* ******************* *
* COMMON
* ******************* */
.sub-page {width: 100%;padding: 120px 0 150px;}
.page-tit {margin-bottom: 100px;}
.page-tit .tit {font-size: 2.50em;font-weight: 700;text-align: center;opacity: 0;transform: translateY(40px);transition: all .8s ease;}
.page-tit .tit.show{opacity: 1;transform: translateY(0);}

@media all and (max-width: 1199px) {
	.sub-page {padding: 100px 0 150px;}
}
@media all and (max-width: 1024px){
	.sub-page {padding: 80px 0 120px;}
}
@media all and (max-width: 640px){
	.sub-page {padding: 70px 0 120px;}
}

/* PAGE TITLE */
.page__title {margin-bottom: 90px;}
.page__title .title {font-size: 2.50em;font-weight: 700;text-align: center;}

@media all and (max-width: 1024px){
	.page__title .title {font-size: 2.33em;}
}
@media all and (max-width: 640px){
	.page__title .title {font-size: 36px;}
}


/* 여백 */
.gap80 {display: block;width: 100%;height: 80px;}

@media all and (max-width: 1199px){
	.gap80 {height: 60px;}
}
@media all and (max-width: 768px){
	.gap80 {height: 40px;}
}




/* ******************* *
* 회사소개 공통 비주얼
* ******************** */
.about .visual {min-height: 560px;max-height: 880px;width: 100%;height: 47vw;margin-bottom: 160px;background: url(../img/sub/about-img_visual.jpg) center / cover no-repeat;position: relative;}
.about .visual__contents {color: #fff;text-align: center;position: absolute;top: 12.6vw;left: 0;right: 0;margin: auto;}
.about .visual__title {margin-bottom: 50px;font-size: 2.50em;font-weight: 700;line-height: 1.2;}
.about .visual__text {font-size: 1.25em;font-weight: 500;}
.about .page__contents {scroll-margin-top: 50px;}

@media all and (max-width: 1199px){
	.about .visual {margin-bottom: 120px;}
}
@media all and (max-width: 1024px){
	.about .visual__contents {top: 140px;}
	.about .visual__title {margin-bottom: 35px;font-size: 2.33em;}
}

/* ******************* *
* 회사소개 > 인사말
* ******************** */
.sub-page:has(#greeting) {padding-bottom: 0;}
#greeting .page__title {margin-bottom: 140px;}
.greeting__title {margin-bottom: 70px;}
.greeting__title .sub__title {margin-bottom: 5px;color: var(--color-main);font-size: 15px;font-weight: 800;}
.greeting__title .title {font-size: 2.50em;font-weight: 600;line-height: 1.2;}
.greeting__contents {padding: 90px 0 200px;background: #FAFAFA;}
.greeting__contents .cinner {display: flex;justify-content: space-between;align-items: flex-start;box-sizing: border-box;}
.greeting__contents-text {max-width: 700px;width: 57%;}
.greeting__contents-text .title {margin-bottom: 40px;font-size: 1.50em;font-weight: 600;line-height: 1.3;}
.greeting__contents-text .title br {display: none;}
.greeting__contents-text .texts > p {color: #5B5B5B;line-height: 1.6;}
.greeting__contents-text .texts > .sign {display: flex;align-items: center;gap: 16px;}
.greeting__contents-image {flex: 0 0 auto;max-width: 564px;width: 41%;}
.greeting__contents-image > img {width: calc(100% - 50px);box-shadow: 50px 50px 0px 0px rgba(237,108,0,1);-webkit-box-shadow: 50px 50px 0px 0px rgba(237,108,0,1);-moz-box-shadow: 50px 50px 0px 0px rgba(237,108,0,1);}

@media all and (max-width: 1399px){
	.greeting__contents-text .title br {display: block;}
	.greeting__contents-text .title .line-br {display: inline;}
	.greeting__contents-text {width: 56%;}
	.greeting__contents-text .texts .line-br {display: inline;}
}
@media all and (max-width: 1199px){
	.greeting__contents-text .title br {display: none;}
	.greeting__contents-image > img {width: calc(100% - 30px);box-shadow: 30px 30px 0px 0px rgba(237,108,0,1);-webkit-box-shadow: 30px 30px 0px 0px rgba(237,108,0,1);-moz-box-shadow: 30px 30px 0px 0px rgba(237,108,0,1);}
}
@media all and (max-width: 1024px){
	#greeting .page__title {margin-bottom: 120px;}
	.greeting__title .title {font-size: 2.33em;}
	.greeting__contents .cinner {flex-direction: column-reverse;gap: 100px;padding-right: 0;}
	.greeting__contents-text {max-width: none;width: 100%;}
	.greeting__contents-image {width: 100%;}
}
@media all and (max-width: 640px){
	.greeting__contents-image > img {width: calc(100% - 20px);box-shadow: 20px 20px 0px 0px rgba(237,108,0,1);-webkit-box-shadow: 20px 20px 0px 0px rgba(237,108,0,1);-moz-box-shadow: 20px 20px 0px 0px rgba(237,108,0,1);}
	.greeting__contents-text .texts > .sign img {max-width: 80%;}
}



/* ******************* *
* 회사소개 > 연혁
* ******************** */
.history__title {display: flex;justify-content: center;align-items: center;min-height: 276px;width: 100%;aspect-ratio: 4 / 1;padding: 0 30px;box-sizing: border-box;background: url(../img/sub/history-img_bg.jpg) 60% center / cover no-repeat;}
.history__title .title {color: #fff;font-size: 1.75em;font-weight: 700;text-align: center;}
.history__contents {position: relative;}
.history__contents::before {content: '';width: 1px;height: calc(100% - 45px);background: #D9D9D9;position: absolute;top: 0;left: 290px;transform: translateX(-50%) scaleY(var(--line-scale, 0));transform-origin: top;}
.history__item {display: flex;align-items: center;padding: 35px 0;position: relative;}
.history__item .year {flex: 0 0 auto;align-self: flex-start;max-width: 290px;width: 100%;font-family: var(--font-Outfit);font-size: 2.25em;font-weight: 700;text-align: center;line-height: 1.0;}
.history__item .desc-list {width: 100%;padding-left: 68px;box-sizing: border-box;position: relative;}
.history__item .desc-list::before {content: '';width: 30px;aspect-ratio: 1 / 1;border: 10px solid #FFF6EF;box-sizing: border-box;border-radius: 50%;background: var(--color-main);position: absolute;top: 0;left: 0;transform: translateX(-50%);}
.history__item .desc-list > li {display: flex;align-items: center;gap: 8px;/* padding: 6px 0; */font-size: 1.10em;line-height: 1.5;}
.history__item .desc-list > li:not(:last-child) {margin-bottom: 12px;}
.history__item .desc-list .month {align-self: flex-start;font-family: var(--font-Outfit);font-size: 1.25em;font-weight: 500;line-height: 1.0;}

@media all and (max-width: 1199px){
	.history__title .title {font-size: 1.50em;}
	.history__contents::before {left: 250px;}
	.history__item .year {max-width: 250px;}
}
@media all and (max-width: 1024px){
	.history__contents::before {left: 220px;}
	.history__item .year {max-width: 220px;}
	.history__item .desc-list {padding-left: 50px;}
	.history__item .desc-list::before {width: 26px;border-width: 8px;}
}
@media all and (max-width: 768px){
	.history__title .title .line-br {display: inline;}
	.history__contents::before {height: calc(100% - 95px);left: 25px;}
	.history__item {flex-direction: column;gap: 20px;padding-left: 60px;box-sizing: border-box;}
	.history__item .year {max-width: none;font-size: 2.12em;text-align: left;}
	.history__item .desc-list {padding-left: 0;}
	.history__item .desc-list::before {top: -54px;left: -49px;transform: translateX(0);}
	.history__item .desc-list > li {font-size: 18px;}
	.history__item .desc-list .month {font-size: 20px;line-height: 1.5;}
}
@media all and (max-width: 640px){
	.history__item {padding-left: 50px;}
	.history__contents::before {left: 20px;}
	.history__item .year {font-size: 32px;}
	.history__item .desc-list::before {left: -43px;top: -49px;}
}



/* ******************* *
* 회사소개 > 인증현황
* ******************** */
.certs__list {display: flex;flex-wrap: wrap;gap: 40px;}
.certs__item {width: calc(16.667% - 33.333px);border: 1px solid #D9D9D9;box-sizing: border-box;}
.certs__item > img {width: 100%;}

@media all and (max-width: 1399px){
	.certs__list {gap: 20px;}
	.certs__item {width: calc(16.667% - 16.667px);}
}
@media all and (max-width: 1199px){
	.certs__item {width: calc(20% - 16px);}
}
@media all and (max-width: 1024px){
	.certs__item {width: calc(25% - 15px);}
}
@media all and (max-width: 640px){
	.certs__list {gap: 10px;}
	.certs__item {width: calc(33.333% - 6.667px);}
}
@media all and (max-width: 480px){
	.certs__item {width: calc(50% - 5px);}
}


/* ******************* *
* 회사소개 > 본사 및 공장
* ******************** */
.location__item:not(:last-child) {margin-bottom: 80px;}
.location__title {display: flex;align-items: anchor-center;gap: 10px;margin-bottom: 15px;font-size: 1.50em;font-weight: 600;/* position: relative; */}
.location__title::before {flex: 0 0 auto;content: '';display: block;width: 12px;height: 26px;border-radius: 15px;background: var(--color-main);}
.location__map {min-height: 420px;width: 100%;aspect-ratio: 7 / 3;margin-bottom: 20px;}
.location__info .info__list {display: flex;flex-wrap: wrap;gap: 15px 60px;}
.location__info .info__item {display: flex;align-items: center;gap: 8px;}
.location__info .info__item .label {flex: 0 0 auto;align-self: flex-start;display: flex;align-items: center;gap: 5px;font-weight: 600;position: relative;}
.location__info .info__item .label::before {flex: 0 0 auto;content: '';display: block;width: 30px;aspect-ratio: 1 / 1;}
.location__info .info__item--address .label::before {background: url(../img/sub/ico-marker.svg) center / cover no-repeat;}
.location__info .info__item--call .label::before {background: url(../img/sub/ico-call.svg) center / cover no-repeat;}

@media all and (max-width: 1024px){
	.location__info .info__list {gap: 15px 40px;}
}
@media all and (max-width: 768px){
	.location__info .info__list {gap: 15px 25px;}
	.location__info .info__item .label::before {width: 25px;}
}
@media all and (max-width: 640px){
	.location__map {min-height: 360px;}
	.location__info .info__list {flex-direction: column;}
}



/* ******************* *
* 사업영역 공통
* ******************** */
.business .mo-only {display: none;}
.business .page__title {position: relative;}
.business .page__title::after {content: '';display: block;width: 2px;height: 50px;margin: 50px auto 0;background: var(--color-main);}
.business .visual__image {min-height: 200px;width: 100%;aspect-ratio: 7 / 2;}
.business .visual__image > img {width: 100%;height: 100%;object-fit: cover;}
.business .visual__content {max-width: 1200px;width: 86%;/* margin: -80px 100px 0; */margin: -80px auto 0;padding: 80px 30px;box-sizing: border-box;background: #fff;text-align: center;position: relative;z-index: 10;}
.business .visual__content .title {margin-bottom: 10px;color: var(--color-main);font-size: 2.0em;font-weight: 700;}
.business .visual__content .subtitle {margin-bottom: 10px;font-size: 1.10em;font-weight: 500;}
.business .visual__content .subtitle .highlight {padding: 0 4px;background: linear-gradient(transparent 50%, #FFEEE0 50%);}
.business .visual__content .desc {color: #666;}
.business .business__contents {border-top: 1px dotted #CCC;}
.business .business__item {display: flex;align-items: center;padding: 120px 0;}
.business .business__item:not(:last-child) {border-bottom: 1px dotted #CCC;}
.business .business__item .item__title {flex: 0 0 auto;max-width: 400px;width: 29%;}
.business .business__item .item__title .title {font-size: 1.50em;font-weight: 600;position: relative;}
.business .business__item .item__title .title::after {content: '';display: block;width: 10px;aspect-ratio: 1 / 1;border-radius: 50%;background: var(--color-main);position: absolute;left: calc(100% + 5px);bottom: 0;transform: translateY(-50%);}
.business .business__item .item__content {width: 100%;}
.business .business__item .item__content .item__img > img {margin: 0 auto;}
.business .business__item .item__content .ance__txt.type1 {margin-top: 50px;color: var(--color-main);font-weight: 600;text-align: center;}
.business .business__item .item__content .ance__txt.type2 {margin-top: 36px;font-size: 13px;text-align: center;}
.business .business__item .item__content .ance__txt.type3 {margin-top: 50px;padding: 11px 18px;box-sizing: border-box;border-radius: 25px;background: #4C4C4C;color: #fff;font-weight: 600;text-align: center;}

.business .business__banner {width: 100%;padding: 60px 30px;box-sizing: border-box;border-radius: 30px;background: url(../img/sub/bus-img_banner_bg.jpg) center top / cover no-repeat;color: #fff;text-align: center;}
.business .business__banner .banner__title {font-size: 1.50em;font-weight: 700;line-height: 1.4;;}
.business .business__banner .banner__text {margin-top: 15px;font-size: var(.90em, 17px);}
.business .business__banner .btn-inquiry {display: flex;justify-content: center;align-items: center;width: 200px;height: 50px;margin: 30px auto 0;border-radius: 25px;box-sizing: border-box;background: #fff;color: var(--color-main);font-size: max(.90em, 17px);font-weight: 600;text-align: center;position: relative;transition: .35s;}
.business .business__banner .btn-inquiry:hover {background: rgba(255,255,255,.8);}

@media all and (max-width: 1399px){
	.business .business__item .item__title {max-width: 300px;}
}
@media all and (max-width: 1199px){
	.business .business__item .item__title {max-width: 220px;}
	
}
@media all and (max-width: 1024px){
	.business .page__title {margin-bottom: 50px;}
	.business .page__title::after {margin: 30px auto 0;}
	.business .visual__content {margin: -60px auto 0;padding: 60px 30px;}
	.business .visual__content .title {font-size: 1.89em;}

	.business .business__item {flex-direction: column;align-items: flex-start;gap: 30px;padding: 100px 0;}
	.business .business__item .item__title {width: 100%;}

	.business .business__banner {padding: 50px 30px;border-radius: 20px;}
}
@media all and (max-width: 768px){
	.business .visual__content {width: 90%;}
	.business .visual__content .title {font-size: 30px;}
}
@media all and (max-width: 640px){
	.business .mo-only {display: block;}
	.business .visual__content .desc {margin: 0 10px;}
	.business .visual__content .desc .line-br {display: inline;}

	.business .business__item {padding: 80px 0;}

	.business .business__banner {padding: 45px 30px;border-radius: 15px;}
	.business .business__banner .banner__title {font-size: 24px;}
	.business .business__banner .banner__title .line-br {display: inline;}
	.business .business__banner .btn-inquiry {width: 180px;}
}
@media all and (max-width: 480px){
	.business .visual__content {padding: 60px 15px;}
	.business .visual__content .desc {margin: 0;}
}


/* ******************* *
* 사업영역 공통 컨텐츠
* ******************** */
/* cont-txttype */
.cont-txttype1 {}
.cont-txttype1 .cont__item {padding: 65px 40px;box-sizing: border-box;border-radius: 20px;border: 2px dotted var(--color-main);background: #FFFAF6;text-align: center;}
.cont-txttype1 .cont__item .title {margin-bottom: 20px;color: var(--color-main);font-size: 1.50em;font-weight: 700;}
.cont-txttype1 .cont__item .text-sect {color: #333;line-height: 1.6;}

@media all and (max-width: 1024px){
	.cont-txttype1 .cont__item {padding: 50px 30px;}
}
@media all and (max-width: 768px){
	.cont-txttype1 .cont__item {padding: 45px 20px;border-radius: 15px;}
}

.cont-txttype2 {display: flex;}
.cont-txttype2 .cont__item {padding: 40px 15px;box-sizing: border-box;border-radius: 10px;background: #FFF6EF;}
.cont-txttype2 .cont__item .text {text-align: center;position: relative;}
.cont-txttype2 .cont__item .text::before {content: '';display: block;width: 18px;height: 10px;margin: 0 auto 12px;border-left: 3px solid var(--color-main);border-bottom: 3px solid var(--color-main);transform: rotate(-45deg);}
.cont-txttype2.col2 {flex-wrap: wrap;margin: 0 -10px -20px;}
.cont-txttype2.col2 .cont__item {width: calc(50% - 20px);margin: 0 10px 20px;}
.cont-txttype2.col3 {margin: 0 -25px;}
.cont-txttype2.col3 .cont__item {width: 33.333%;margin: 0 25px;}

@media all and (max-width: 1399px){
	.cont-txttype2.col3 {margin: 0 -10px;}
	.cont-txttype2.col3 .cont__item {width: 33.333%;margin: 0 10px;}
}
@media all and (max-width: 768px){
	.cont-txttype2.col3 {flex-wrap: wrap;margin: 0 -10px -20px;}
	.cont-txttype2.col3 .cont__item {width: calc(50% - 20px);margin: 0 10px 20px;}
}
@media all and (max-width: 640px){
	.cont-txttype2.col2 .cont__item,
	.cont-txttype2.col3 .cont__item {width: 100%;}
}



/* cont-icontype */
.cont-icontype {display: flex;}
.cont-icontype .cont__item {text-align: center;}
.cont-icontype.col3 .cont__item {width: 33.333%;padding: 0 10px;box-sizing: border-box;}
.cont-icontype.col4 .cont__item {width: 25%;}
.cont-icontype .cont__item .ico {display: inline-block;width: 100px;margin: 0 auto 20px;}
.cont-icontype .cont__item .ico > img {width: 100%;}
.cont-icontype .cont__item .title {margin-bottom: 5px;font-size: 1.10em;font-weight: 600;}
.cont-icontype .cont__item .text {color: #666;font-size: max(.90em, 17px);}

@media all and (max-width: 768px){
	.cont-icontype .cont__item .ico {width: 85px;margin: 0 auto 10px;}
}
@media all and (max-width: 640px){
	.cont-icontype {flex-wrap: wrap;gap: 30px 0;}
	.cont-icontype .cont__item {width: 50% !important;}
	.cont-icontype .cont__item .ico {width: 70px;margin: 0 auto 10px;}
}


/* cont-process */
.cont-process {display: flex;margin: 0 -20px;}
.cont-process .cont__item {margin: 0 20px;position: relative;}
.cont-process .cont__item::before {content: '';width: 15px;height: 15px;border-top: 3px solid #000;border-right: 3px solid #000;position: absolute;top: 92px;left: 100%;transform: rotate(45deg) translate(-25%, -50%);margin-left: 7px;}
.cont-process .cont__item .cont {display: flex;flex-direction: column;align-items: center;text-align: center;position: relative;}
.cont-process .cont__item .num {display: flex;justify-content: center;align-items: center;width: 35px;aspect-ratio: 1 / 1;background: var(--color-main);border-radius: 50%;color: #fff;font-weight: 800;text-align: center;line-height: 1.0;position: relative;z-index: 10;}
.cont-process .cont__item .ico {max-width: 150px;width: 100%;margin: -18px 0 18px;aspect-ratio: 1 / 1;border-radius: 50%;background: #F8F8F8;position: relative;}
.cont-process .cont__item .ico > img {width: 100%;}
.cont-process .cont__item .text {font-size: max(.90em, 17px);}
.cont-process.col4 .cont__item {width: 25%;}
.cont-process.col5 .cont__item {width: 20%;}
.cont-process.col4 .cont__item:nth-child(4n)::before,
.cont-process.col5 .cont__item:nth-child(5n)::before {display: none;}

@media all and (max-width: 768px){
	.cont-process .cont__item .num {width: 30px;font-size: 15px;}
	.cont-process .cont__item .ico {max-width: 120px;}
	.cont-process .cont__item::before {top: 77px;}
	.cont-process.col5 {flex-wrap: wrap;gap: 30px 0;margin: 0;}
}
@media all and (max-width: 640px){
	.cont-process .cont__item {margin: 0 10px;}
	.cont-process .cont__item::before {display: none;}
	.cont-process .cont__item .text {padding: 0 5px;box-sizing: border-box;}
	.cont-process.col4 {flex-wrap: wrap;gap: 30px 0;margin: 0 -10px;}
	.cont-process.col4 .cont__item {width: calc(50% - 20px);}
}