@charset "utf-8";


/*───────────────────────────────────────────────────────────
 
	company

───────────────────────────────────────────────────────────*/
	/*** common ***/
		.sub_company .company_tit {margin-bottom: 36px; font-size: 60px; font-weight: 500; color: #111; line-height: 1.33;}
		.sub_company .company_txt > p {font-size: 20px; font-weight: 300; color: #555; letter-spacing: -0.044em; line-height: 1.8;}
		.sub_company .company_txt > p + p {margin-top: 32px;}

		@media only screen and (max-width:1217px) {
			.sub_company .company_tit {font-size: 54px;}
			.sub_company .company_txt > p {font-size: 19px;}
		}
		@media only screen and (max-width:1023px) {
			.sub_company .company_tit {margin-bottom: 30px; font-size: 48px;}
			.sub_company .company_txt > p {font-size: 18px;} 
			.sub_company .company_txt > p + p {margin-top: 24px;}
		}
		@media only screen and (max-width:860px) {
			.sub_company .company_tit {font-size: 44px;}
			.sub_company .company_txt > p {font-size: 17px;}
		}
		@media only screen and (max-width:640px) {
			.sub_company .company_tit {margin-bottom: 24px; font-size: 38px;}
			.sub_company .company_txt > p {font-size: 16px;}
			.sub_company .company_txt > p + p {margin-top: 18px;}
		}
		@media only screen and (max-width:479px) {
			.sub_company .company_tit {font-size: 33px;}
			.sub_company .company_txt > p {font-size: 15px;}
		}
		@media only screen and (max-width:431px) {
			.sub_company .company_tit {font-size: 30px;}
			.sub_company .company_txt > p {font-size: 14px;}
		}
		@media only screen and (max-width:360px) {
			.sub_company .company_tit {font-size: 28px;}
		}


	/*** CEO 인사말 | company/about.html ***/
		.sub_about {display: flex; width: 1670px; margin: 0 auto; box-sizing: border-box; padding: 0 15px; padding-top: 12px; font-size: 0;}
		.sub_about .about_img {position: relative; display: flex; align-items: flex-start; width: 37.9%;}
		.sub_about .about_img .img_box {display: inline-block; border-radius: 20px; overflow: hidden;}
		.sub_about .about_img .img_box:nth-child(1) {margin-top: 24%; margin-right: 3.2%;}
		.sub_about .about_img .img_box img {object-fit: cover;}

		.sub_about .about_txt {display: inline-block; width: calc(100% - 37.9%); box-sizing: border-box; padding-top: 30px; padding-left: 6.15vw; padding-right: 11.5vw; vertical-align: top;}
		.sub_about .about_txt .ceo_wrap {display: flex; flex-direction: column; align-items: flex-end; margin-top: 48px;}
		.sub_about .about_txt .ceo_wrap span {font-size: 20px; font-weight: bold; color: #aaa; letter-spacing: normal;}
		.sub_about .about_txt .ceo_wrap strong {margin-top: 14px; font-size: 30px; font-weight: bold; color: #333; letter-spacing: normal;}
		.sub_about .about_txt .ceo_wrap .signature {margin-top: 6px;}

		@media only screen and (max-width:1670px) {
			.sub_about {width: 100%;}
			.sub_about .about_txt {padding-right: 9vw;}
			.sub_about .about_txt p br {display: none;}
		}
		@media only screen and (max-width:1560px) {
			.sub_about .about_txt {padding-right: 6.5vw;}
		}
		@media only screen and (max-width:1397px){
			.sub_about .about_txt {padding-right: 4vw;}
		}
		@media only screen and (max-width:1217px) {
			.sub_about .about_txt {padding-right: 0;}
			.sub_about .about_txt .ceo_wrap span {font-size: 19px;}
			.sub_about .about_txt .ceo_wrap strong {font-size: 29px;}
		}
		@media only screen and (max-width:1023px) {
			.sub_about .about_txt .ceo_wrap {margin-top: 40px;}
			.sub_about .about_txt .ceo_wrap span {font-size: 18px;}
			.sub_about .about_txt .ceo_wrap strong {font-size: 28px;}
			.sub_about .about_txt .ceo_wrap .signature {width: 150px; margin-top: 0;}
		}
		@media only screen and (max-width:860px) {
			.sub_about .about_txt .ceo_wrap span {font-size: 17px;}
			.sub_about .about_txt .ceo_wrap strong {margin-top: 10px; font-size: 27px;}
		}
		@media only screen and (max-width:767px) {
			.sub_about {flex-direction: column;}
			.sub_about .about_img {width: 56%;}
			.sub_about .about_txt {width: 100%; padding-left: 0; padding-top: 40px;}
		}
		@media only screen and (max-width:640px) {
			.sub_about .about_img {width: 66%;}
			.sub_about .about_img .img_box {border-radius: 10px;}
			.sub_about .about_txt .ceo_wrap {margin-top: 32px;}
			.sub_about .about_txt .ceo_wrap span {font-size: 16px;}
			.sub_about .about_txt .ceo_wrap strong {font-size: 26px;}
			.sub_about .about_txt .ceo_wrap .signature {width: 125px;}
		}
		@media only screen and (max-width:479px) {
			.sub_about .about_img {width: 76%;}
			.sub_about .about_txt .ceo_wrap span {font-size: 15px;}
			.sub_about .about_txt .ceo_wrap strong {font-size: 24px;}
		}
		@media only screen and (max-width:431px) {
			.sub_about .about_txt .ceo_wrap span {font-size: 14px;}
			.sub_about .about_txt .ceo_wrap strong {font-size: 22px;}
		}
		@media only screen and (max-width:360px) {
			.sub_about .about_txt {padding-top: 35px;}
		}
		@media only screen and (max-width:320px) {
			.sub_about .about_txt {padding-top: 30px;}
		}


	/*** 회사개요 | company/introduce.html ***/
		.sub_introduce {padding-top: 12px;}
		.sub_introduce .cont_box {display: flex; align-items: flex-start; padding-bottom: 158px; font-size: 0;}
		.sub_introduce .introduce_txt {width: calc(100% - 33.4%); box-sizing: border-box; padding-right: 5.7vw; padding-top: 10px;}
		.sub_introduce .introduce_txt strong {display: block; margin-bottom: 22px; font-size: 28px; font-weight: 300; color: #333; letter-spacing: -0.02em; line-height: 1.57;}
		.sub_introduce .introduce_txt p {color: #666;}
		.sub_introduce .introduce_txt p + p {margin-top: 22px;}
		.sub_introduce .introduce_img {width: 33.4%; max-width: 400px; border-radius: 20px; overflow: hidden;}
		.sub_introduce .introduce_img img {object-fit: cover;}
		.sub_introduce .introduce_list {width: 100%; background: rgba(244,248,248,0.8); padding: 150px 0 120px;}
		.sub_introduce .introduce_list .inr {display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px;}
		.sub_introduce .introduce_list li {position: relative; width: 100%; max-width: 270px; text-align: center; justify-self: center;}
		.sub_introduce .introduce_list li .img_box {position: relative; width: 100%; margin-bottom: 17.8%; box-sizing: border-box; padding-bottom: 100%; border-radius: 50%;}
		.sub_introduce .introduce_list li .img_box span {position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: calc(100% - 25.92%);}
		.sub_introduce .introduce_list li .img_box span:after {content: ""; position: absolute; right: -37%; top: 50%; transform: translateY(calc(-50% - 0.5px)); width: 20%; height: 3px; background: #ddd;} 
		.sub_introduce .introduce_list li:last-child .img_box span:after {display: none;}
		.sub_introduce .introduce_list li .txt_box dt {margin-bottom: 14px; font-size: 28px; font-weight: 500; color: #111; letter-spacing: -0.03em;}
		.sub_introduce .introduce_list li .txt_box dd {font-size: 20px; font-weight: 300; color: #666; letter-spacing: -0.03em; line-height: 1.7;}
		
		/* img_box style */ 
			.sub_introduce .introduce_list li .img_box {background: url("../images/sub/sub_introduce_circle01.png") no-repeat center; background-size: 100% !important; }
			.sub_introduce .introduce_list li:nth-child(2) .img_box {background: url("../images/sub/sub_introduce_circle02.png") no-repeat center;}
			.sub_introduce .introduce_list li:nth-child(3) .img_box {background: url("../images/sub/sub_introduce_circle03.png") no-repeat center;}
			.sub_introduce .introduce_list li:nth-child(4) .img_box {background: url("../images/sub/sub_introduce_circle04.png") no-repeat center;}
			.sub_introduce .introduce_list li .img_box:before,
			.sub_introduce .introduce_list li .img_box:after {content: ""; position: absolute; top: 50%; transform: translateY(-50%); width: 14px; height: 14px; background: #30a4a8; border-radius: 50%; z-index: 1;}
			.sub_introduce .introduce_list li .img_box:before {left: -4px;}
			.sub_introduce .introduce_list li .img_box:after {right: -4px;}
			.sub_introduce .introduce_list li:nth-child(2n) .img_box:before,
			.sub_introduce .introduce_list li:nth-child(2n) .img_box:after {background-color: #d73634;}
			.sub_introduce .introduce_list li:first-child .img_box:before,
			.sub_introduce .introduce_list li:last-child .img_box:after {display: none;}

		@media only screen and (max-width:1217px) {
			.sub_introduce .introduce_txt strong {font-size: 26px;}

			.sub_introduce .introduce_list .inr {gap: 30px;}
			.sub_introduce .introduce_list li .txt_box dt {font-size: 26px;}
			.sub_introduce .introduce_list li .txt_box dd {font-size: 19px;}
			.sub_introduce .introduce_list li:nth-child(3) .txt_box dd br {display: none;}
		}
		@media only screen and (max-width:1154px) {
			.sub_introduce .introduce_txt p br {display: none;}
		}
		@media only screen and (max-width:1023px) {
			.sub_introduce .cont_box {padding-bottom: 118px;}
			.sub_introduce .introduce_txt strong {margin-bottom: 17px; font-size: 24px;}
			.sub_introduce .introduce_txt p + p {margin-top: 17px;}

			.sub_introduce .introduce_list {padding: 100px 0 80px;}
			.sub_introduce .introduce_list li .img_box:before,
			.sub_introduce .introduce_list li .img_box:after {width: 12px; height: 12px;}
			.sub_introduce .introduce_list li .txt_box dt {font-size: 24px;}
			.sub_introduce .introduce_list li .txt_box dd {font-size: 18px;}
		}
		@media only screen and (max-width:860px) {
			.sub_introduce .introduce_txt strong{font-size: 22px;}

			.sub_introduce .introduce_list .inr {gap: 25px;}
			.sub_introduce .introduce_list li .img_box:before,
			.sub_introduce .introduce_list li .img_box:after {width: 10px; height: 10px;}
			.sub_introduce .introduce_list li .txt_box dt {font-size: 22px;}
			.sub_introduce .introduce_list li .txt_box dd {font-size: 17px;}
		}
		@media only screen and (max-width:767px) {
			.sub_introduce .cont_box {flex-direction: column;}
			.sub_introduce .introduce_txt {width: 100%; padding-right: 0;}
			.sub_introduce .introduce_img {width: 64%; margin-top: 25px; margin-left: auto;}

			.sub_introduce .introduce_list .inr {grid-template-columns: repeat(2, 1fr); gap: 50px;}
			.sub_introduce .introduce_list li {justify-self: right;}
			.sub_introduce .introduce_list li:nth-child(2n) {justify-self: left;}
			.sub_introduce .introduce_list li .img_box {margin-bottom: 30px;}
			.sub_introduce .introduce_list li .img_box:before,
			.sub_introduce .introduce_list li .img_box:after {width: 14px; height: 14px;}
			.sub_introduce .introduce_list li .img_box span:after {display: none;}
		}
		@media only screen and (max-width:640px) {
			.sub_introduce .cont_box {padding-bottom: 78px;}
			.sub_introduce .introduce_txt strong {margin-bottom: 12px; font-size: 20px;}
			.sub_introduce .introduce_txt p + p {margin-top: 12px;}

			.sub_introduce .introduce_list {padding: 65px 0 80px;}
			.sub_introduce .introduce_list .inr {gap: 40px;}
			.sub_introduce .introduce_list li .txt_box dt {font-size: 20px;}
			.sub_introduce .introduce_list li .txt_box dd {font-size: 16px;}
		}
		@media only screen and (max-width:580px) {
			.sub_introduce .introduce_list li .img_box:before,
			.sub_introduce .introduce_list li .img_box:after {width: 12px; height: 12px;}
		}
		@media only screen and (max-width:479px) {
			.sub_introduce .introduce_txt strong {font-size: 18px;}

			.sub_introduce .introduce_list .inr {gap: 30px;}
			.sub_introduce .introduce_list li .img_box {margin-bottom: 22px;}
			.sub_introduce .introduce_list li .img_box:before,
			.sub_introduce .introduce_list li .img_box:after {width: 10px; height: 10px;}
			.sub_introduce .introduce_list li .txt_box dt {font-size: 18px;}
			.sub_introduce .introduce_list li .txt_box dd {font-size: 15px;}
		}
		@media only screen and (max-width:431px) {
			.sub_introduce .introduce_list .inr {gap: 30px 25px;}
			.sub_introduce .introduce_list li .txt_box dd {font-size: 14px;}
		}
		@media only screen and (max-width:360px) {

		}
		@media only screen and (max-width:320px) {
			.sub_introduce .cont_box {padding-bottom: 68px;}

			.sub_introduce .introduce_list {padding: 50px 0 65px;}
			.sub_introduce .introduce_list .inr {gap: 25px 20px;}
			.sub_introduce .introduce_list li .img_box:before,
			.sub_introduce .introduce_list li .img_box:after {width: 9px; height: 9px;}
		}


	/*** 회사연혁 | company/history.html ***/
		.sub_history {position: relative;}
		.sub_history:before {content: "HISTORY"; position: absolute; left: 0; top: 0; font-size: 15.6vw; font-weight: bold; color: #f5f5f5; line-height: 0.7; writing-mode: vertical-lr;}
		.sub_history .inr {display: flex; padding-top: 12px;}
		.sub_history .history_img {width: 33.4%; max-width: 400px; font-size: 0;}
		.sub_history .history_img .img_box {display: inline-block; border-radius: 20px; overflow: hidden;}
		.sub_history .history_img .img_box + .img_box {width: 50%; margin-top: 10%;}
		.sub_history .history_img .img_box img {object-fit: cover;}

		.sub_history .cont_box {width: calc(100% - 33.4%); box-sizing: border-box; padding-left: 7.8vw; padding-top: 28px;}
		.sub_history .history_cont + .history_cont {margin-top: 110px;}
		.sub_history .history_cont h2 {font-weight: bold; letter-spacing: normal;}
		.sub_history .history_cont .detail_box dl {display: flex;}
		.sub_history .history_cont .detail_box dl + dl {margin-top: 50px;}
		.sub_history .history_cont .detail_box dt {width: 156px; padding-top: 2px; font-size: 24px; font-weight: bold; color: #333; letter-spacing: -0.01em;}
		.sub_history .history_cont .detail_box dd {width: calc(100% - 156px);}
		.sub_history .history_cont .detail_box dd .bullet_list li {padding-left: 17px; font-size: 20px; letter-spacing: -0.03em; line-height: 1.5;}
		.sub_history .history_cont .detail_box dd .bullet_list li:before {width: 6px; height: 6px; top: 10px;}
		.sub_history .history_cont .detail_box dd .bullet_list li + li {margin-top: 20px;}

		@media only screen and (max-width:1217px) {
			.sub_history .history_cont .detail_box dt {width: 146px; font-size: 22px;}
			.sub_history .history_cont .detail_box dd {width: calc(100% - 146px);}
			.sub_history .history_cont .detail_box dd .bullet_list li {font-size: 19px;}
		}
		@media only screen and (max-width:1023px) {
			.sub_history .history_cont + .history_cont {margin-top: 85px;}
			.sub_history .history_cont .detail_box dl + dl {margin-top: 35px;}
			.sub_history .history_cont .detail_box dt {width: 136px;font-size: 20px;}
			.sub_history .history_cont .detail_box dd {width: calc(100% - 136px);}
			.sub_history .history_cont .detail_box dd .bullet_list li {font-size: 18px;}
			.sub_history .history_cont .detail_box dd .bullet_list li + li {margin-top: 16px;}
		}
		@media only screen and (max-width:860px) {
			.sub_history .history_cont .detail_box dd .bullet_list li {padding-left: 14px; font-size: 17px;}
			.sub_history .history_cont .detail_box dd .bullet_list li:before {width: 5px; height: 5px; top: 9px;}
		}
		@media only screen and (max-width:767px) {
			.sub_history .cont_box {padding-left: 45px;}
			.sub_history .history_cont .detail_box dl {flex-direction: column;}
			.sub_history .history_cont .detail_box dt,
			.sub_history .history_cont .detail_box dd {width: 100%;}
			.sub_history .history_cont .detail_box dt {margin-bottom: 14px;}
		}
		@media only screen and (max-width:640px) {
			.sub_history .history_img .img_box {border-radius: 10px;}

			.sub_history .cont_box {padding-top: 20px; padding-left: 35px;}
			.sub_history .history_cont + .history_cont {margin-top: 60px;}
			.sub_history .history_cont .detail_box dl + dl {margin-top: 20px;}
			.sub_history .history_cont .detail_box dt {font-size: 18px;}
			.sub_history .history_cont .detail_box dd .bullet_list li {padding-left: 12px; font-size: 16px;}
			.sub_history .history_cont .detail_box dd .bullet_list li:before {width: 4px; height: 4px;}
			.sub_history .history_cont .detail_box dd .bullet_list li + li {margin-top: 12px;}
		}
		@media only screen and (max-width:479px) {
			.sub_history .cont_box {padding-top: 14px; padding-left: 30px;}
			.sub_history .history_cont .detail_box dd .bullet_list li {font-size: 15px;}
			.sub_history .history_cont .detail_box dd .bullet_list li:before {top: 8px;}
			.sub_history .history_cont .detail_box dd .bullet_list li + li {margin-top: 8px;}
		}
		@media only screen and (max-width:431px) {
			.sub_history .cont_box {padding-left: 20px;}
			.sub_history .history_cont .detail_box dt {font-size: 16px;}
			.sub_history .history_cont .detail_box dd .bullet_list li {font-size: 14px;}
		}
		@media only screen and (max-width:360px) {

		}
		@media only screen and (max-width:320px) {
			.sub_history .inr {flex-direction: column;}
			.sub_history .history_img {width: 44%;}
			.sub_history .cont_box {width: 100%; padding-left: 0; padding-top: 30px;}
		}


	/*** 조직도 | company/work.html ***/
		.sub_chart {}
		.sub_chart .chart_cont {position: relative; padding-top: 10px; text-align: center;}
		.sub_chart .chart_cont:before {content: ""; position: absolute; left: 50%; top: 10px; transform: translateX(calc(-50% + 0.5px)); width: 1px; height: calc(100% - 10px); background: #ddd;}
		.sub_chart .chart_cont .chart_tit {position: relative; display: inline-block; width: 44%; min-width: 250px; background: #fff;}
		.sub_chart .chart_cont .chart_tit h2 {position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: max-content; font-size: 30px; font-weight: bold; color: #111; letter-spacing: -0.01em;}
		.sub_chart .chart_cont .chart_list {position: relative; display: grid; grid-template-columns: repeat(5, 1fr); gap: 25px; margin-top: 130px;}
		.sub_chart .chart_cont .chart_list:before {content: ""; position: absolute; left: 50%; top: -50px; transform: translateX(calc(-50% - 0.5px)); width: calc(100% - 18.4%); height: 50px; border: 1px solid #ddd; border-bottom: 0; border-radius: 30px 30px 0 0;}
		.sub_chart .chart_cont .chart_list li {position: relative; display: inline-flex; align-items: center; justify-content: center; background: #333; box-sizing: border-box; border: 2px solid #333; padding: 25px 10px 23px; border-radius: 8em;}
		.sub_chart .chart_cont .chart_list li:before,
		.sub_chart .chart_cont .chart_list li:after {content: ""; position: absolute; left: 50%; transform: translateX(calc(-50% + 0.5px));}
		.sub_chart .chart_cont .chart_list li:before {top: -50px; width: 1px; height: 50px; background: #ddd;}
		.sub_chart .chart_cont .chart_list li:after {top: -5px; width: 10px; height: 10px; background: #58c0ca; border-radius: 50%;}
		.sub_chart .chart_cont .chart_list li:first-child:before,
		.sub_chart .chart_cont .chart_list li:nth-child(3):before,
		.sub_chart .chart_cont .chart_list li:last-child:before {display: none;}
		.sub_chart .chart_cont .chart_list li span {font-size: 20px; font-weight: 300; color: #fff; line-height: 1.4; letter-spacing: -0.03em;}

		/* 두번째 라인 */
			.sub_chart .chart_cont .chart_list + .chart_list:after {content: ""; position: absolute; left: 50%; bottom: 0; transform: translateX(calc(-50% + 0.5px)); width: 1px; height: calc(100% + 39px); background: #fff; opacity: 0;}
			.sub_chart .chart_cont .chart_list + .chart_list li {background: #fff; border-color: #666;}
			.sub_chart .chart_cont .chart_list + .chart_list li span {color: #666;}
			.sub_chart .chart_cont .chart_list + .chart_list li:after {background: #d73634;}

		@media only screen and (max-width:1217px) {
			.sub_chart .chart_cont .chart_tit h2 {font-size: 29px;}

			.sub_chart .chart_cont .chart_list {gap: 20px; margin-top: 110px;}
			.sub_chart .chart_cont .chart_list:before {top: -40px; height: 40px;}
			.sub_chart .chart_cont .chart_list li:before {top: -40px; height: 40px;}
			.sub_chart .chart_cont .chart_list li span {font-size: 18px;}
		}
		@media only screen and (max-width:1023px) {
			.sub_chart .chart_cont .chart_tit h2 {font-size: 28px;}

			.sub_chart .chart_cont .chart_list {gap: 15px; margin-top: 90px;}
			.sub_chart .chart_cont .chart_list:before {width: calc(100% - 18.7%);}
			.sub_chart .chart_cont .chart_list li {padding: 22px 10px 20px;}
			.sub_chart .chart_cont .chart_list li:after {width: 9px; height: 9px;}
			.sub_chart .chart_cont .chart_list li span {font-size: 17px;}
		}
		@media only screen and (max-width:890px) {
			.sub_chart .chart_cont .chart_list {gap: 10px;}
			.sub_chart .chart_cont .chart_list li {padding: 17px 10px 15px;}
		}
		@media only screen and (max-width:860px) {
			.sub_chart .chart_cont .chart_tit {width: 47%;}
			.sub_chart .chart_cont .chart_tit h2 {font-size: 27px;}

			.sub_chart .chart_cont .chart_list {grid-template-columns: repeat(2, 1fr); gap: 25px 60px;}
			.sub_chart .chart_cont .chart_list:before {width: calc(100% - 46.4%);}
			.sub_chart .chart_cont .chart_list li {padding: 22px 10px 20px;}
			.sub_chart .chart_cont .chart_list li:before {top: -26px; height: 25px;}
			.sub_chart .chart_cont .chart_list li:nth-child(2):before {display: none;}
			.sub_chart .chart_cont .chart_list li:nth-child(3):before,
			.sub_chart .chart_cont .chart_list li:last-child:before {display: block;}
			.sub_chart .chart_cont .chart_list li span {font-size: 16px;}

			.sub_chart .chart_cont .chart_list + .chart_list:after {opacity: 1;}
		}
		@media only screen and (max-width:767px) {
			.sub_chart .chart_cont .chart_tit {width: 50%;}
			.sub_chart .chart_cont .chart_list {gap: 20px 40px;}
			.sub_chart .chart_cont .chart_list:before {width: calc(100% - 47.4%);}
			.sub_chart .chart_cont .chart_list li:before {top: -20px; height: 20px;}
		}
		@media only screen and (max-width:640px) {
			.sub_chart .chart_cont .chart_tit {width: 54%;}
			.sub_chart .chart_cont .chart_tit h2 {font-size: 26px;}

			.sub_chart .chart_cont .chart_list {gap: 15px 30px; margin-top: 70px;}
			.sub_chart .chart_cont .chart_list:before {top: -30px; height: 30px; border-radius: 15px 15px 0 0;}
			.sub_chart .chart_cont .chart_list li {padding: 17px 10px 15px;}
			.sub_chart .chart_cont .chart_list li:before {top: -16px; height: 15px;}
			.sub_chart .chart_cont .chart_list li:after {width: 8px; height: 8px;}
			.sub_chart .chart_cont .chart_list li span {font-size: 16px;}

			.sub_chart .chart_cont .chart_list + .chart_list:after {height: calc(100% + 29px);}
		}
		@media only screen and (max-width:479px) {
			.sub_chart .chart_cont .chart_tit h2 {font-size: 24px;}

			.sub_chart .chart_cont .chart_list {gap: 15px 20px; margin-top: 60px;}
			.sub_chart .chart_cont .chart_list li span {font-size: 15px;}
		}
		@media only screen and (max-width:431px) {
			.sub_chart .chart_cont .chart_tit h2 {font-size: 22px;}
			.sub_chart .chart_cont .chart_list li span {font-size: 14px;}
		}
		@media only screen and (max-width:340px) {
			.sub_chart .chart_cont .chart_list {gap: 15px 10px;}
			.sub_chart .chart_cont .chart_list li {padding: 15px 10px 13px;}
			.sub_chart .chart_cont .chart_list li span {font-size: 13px;}
		}

	/*** 오시는 길 | company/location.html ***/
		.sub_location {}
		.sub_location .location_tit {display: flex; justify-content: space-between; align-items: flex-end; padding-top: 10px; padding-bottom: 54px;}
		.sub_location .location_tit h2 {margin-bottom: 0; line-height: 1;}
		.sub_location .location_tit .location_tab {display: inline-flex; align-items: center;}
		.sub_location .location_tit .location_tab li {}
		.sub_location .location_tit .location_tab li + li:before {content: ""; display: inline-block; width: 1px; height: 20px; background: #ddd; margin: 0 30px; transform: translateY(-4px); vertical-align: middle;}
		.sub_location .location_tit .location_tab li a {font-size: 24px; font-weight: 500; color: #ddd;}
		.sub_location .location_tit .location_tab li.active a {color: #d73634;}

		.sub_location .location_cont {height: 0; overflow: hidden;}
		.sub_location .location_cont.active {height: auto; overflow: visible;}
		.sub_location .location_cont .map_box {position: relative; width: 100%; height: 450px; border-radius: 20px; overflow: hidden;}
		.sub_location .location_cont .info_box {padding-top: 60px;}
		.sub_location .location_cont .info_box dl {display: flex; align-items: center;}
		.sub_location .location_cont .info_box dl + dl {margin-top: 20px;}
		.sub_location .location_cont .info_box dt,
		.sub_location .location_cont .info_box dd {font-size: 20px; letter-spacing: -0.03em; line-height: 1.4;}
		.sub_location .location_cont .info_box dt {width: 160px; font-weight: 500; color: #333;}
		.sub_location .location_cont .info_box dt:before {content: ""; display: inline-block; width: 50px; height: 50px; margin-right: 15px; box-sizing: border-box; border: 2px solid #aaa; border-radius: 50%; vertical-align: middle;}
		.sub_location .location_cont .info_box dd {width: calc(100% - 160px); font-weight: 300; color: #666;}

		/* icon */
			.sub_location .location_cont .info_box dl.info_addr dt:before {background: url("../images/sub/icon_location_addr.png") no-repeat center;}
			.sub_location .location_cont .info_box dl.info_tel dt:before {background: url("../images/sub/icon_location_tel.png") no-repeat center;}
			.sub_location .location_cont .info_box dl.info_fax dt:before {background: url("../images/sub/icon_location_fax.png") no-repeat center;}

		@media only screen and (max-width:1217px) {
			.sub_location .location_tit .location_tab li + li:before {height: 18px; margin: 0 26px;}
			.sub_location .location_tit .location_tab li a {font-size: 22px;}

			.sub_location .location_cont .info_box dt,
			.sub_location .location_cont .info_box dd {font-size: 19px;}
		}
		@media only screen and (max-width:1023px) {
			.sub_location .location_tit {padding-bottom: 44px;}
			.sub_location .location_tit .location_tab li a {font-size: 20px;}
			.sub_location .location_tit .location_tab li + li:before {height: 16px; margin: 0 22px;}

			.sub_location .location_cont .map_box {height: 420px;}
			.sub_location .location_cont .info_box {padding-top: 45px;}
			.sub_location .location_cont .info_box dl dt:before {width: 44px; height: 44px; background-size: 30px auto !important; margin-right: 13px;}
			.sub_location .location_cont .info_box dt {width: 140px; font-size: 18px;}
			.sub_location .location_cont .info_box dd {width: calc(100% - 140px); font-size: 18px;}
		}
		@media only screen and (max-width:860px) {
			.sub_location .location_cont .map_box {height: 380px;}
			.sub_location .location_cont .info_box dt,
			.sub_location .location_cont .info_box dd {font-size: 17px;}
		}
		@media only screen and (max-width:767px) {
			.sub_location .location_tit .location_tab li a {font-size: 18px;}
			.sub_location .location_tit .location_tab li + li:before {height: 14px; margin: 0 18px; transform: translateY(-2px);}

			.sub_location .location_cont .map_box {height: 350px;}
			.sub_location .location_cont .info_box dl dt:before {width: 38px; height: 38px; background-size: 26px auto !important; margin-right: 10px;}
			.sub_location .location_cont .info_box dt {width: 120px;}
			.sub_location .location_cont .info_box dd {width: calc(100% - 120px);}
		}
		@media only screen and (max-width:640px) {
			.sub_location .location_tit {padding-bottom: 34px;}
			.sub_location .location_tit {align-items: flex-start; flex-direction: column;}
			.sub_location .location_tit .location_tab {margin-top: 20px;}

			.sub_location .location_cont .map_box {height: 320px; border-radius: 10px;}
			.sub_location .location_cont .info_box {padding-top: 30px;}
			.sub_location .location_cont .info_box dt,
			.sub_location .location_cont .info_box dd {font-size: 16px;}
		}
		@media only screen and (max-width:479px) {
			.sub_location .location_cont .map_box {height: 280px;}

			.sub_location .location_cont .info_box dl dt:before {width: 34px; height: 34px; background-size: 22px auto !important; margin-right: 8px;}
			.sub_location .location_cont .info_box dt {width: 100px; font-size: 15px;}
			.sub_location .location_cont .info_box dd {width: calc(100% - 100px); font-size: 15px;}
		}
		@media only screen and (max-width:431px) {
			.sub_location .location_tit .location_tab li a {font-size: 16px;}
			.sub_location .location_tit .location_tab li + li:before {height: 12px;}

			.sub_location .location_cont .map_box {height: 260px;}
			.sub_location .location_cont .info_box dt,
			.sub_location .location_cont .info_box dd {font-size: 14px;}
		}
		@media only screen and (max-width:360px) {

		}
		@media only screen and (max-width:320px) {
			.sub_location .location_cont .map_box {height: 230px;}
		}


/*───────────────────────────────────────────────────────────
 
	R&D 

───────────────────────────────────────────────────────────*/
	/*** 인증 및 면허 | rnd/certification.html ***/
		.sub_certification {margin-top: -14px;}
		.sub_certification .certifi_cont {}
		.sub_certification .certifi_cont + .certifi_cont {margin-top: 70px;}
		.sub_certification .certifi_cont h3 {margin-bottom: 42px; font-size: 42px; font-weight: 500; color: #111; letter-spacing: -0.04em; line-height: 1.28;}
		.sub_certification .certifi_list {display: grid; grid-template-columns: repeat(4, 1fr); gap: 54px 30px;}
		.sub_certification .certifi_list + .certifi_list {margin-top: 54px;}
		.sub_certification .certifi_list li .img_box {display: inline-flex; width: 100%;}
		.sub_certification .certifi_list li .img_box .img {width: 100%; background: #fff; /* padding-bottom: 141.5%; */ border-radius: 20px; box-shadow: 0 0 10px rgba(0,0,0,0.15); overflow: hidden;}
		.sub_certification .certifi_list li .img_box .img + .img {margin-left: 20px;}
		.sub_certification .certifi_list li .img_box .img img {object-fit: cover;}
		.sub_certification .certifi_list li p {padding-top: 26px; font-size: 18px; font-weight: 300; color: #111; letter-spacing: -0.02em; line-height: 1.66; word-break: keep-all; text-align: center;}


        .sub_certification .certifi_list.license_list li .img_box .img { position: relative; aspect-ratio: 1/1; border-radius: 0; }
        .sub_certification .certifi_list.license_list li .img_box .img img { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 100%; }

		
		/* 이미지 2개 일 때 */ 
			.sub_certification .certifi_list.img2 {grid-template-columns: repeat(2, 1fr); gap: 54px 50px;}
			/* .sub_certification .certifi_list.img2 li .img {padding-bottom: 68.4%;} */

		.sub_certification .license_box {background: #f5f5f5; margin-top: 120px; padding: 120px 0;}
		.sub_certification .license_box .certifi_cont {display: flex;}
		.sub_certification .license_box .certifi_cont h3 {width: 25.7%;}
		.sub_certification .license_box .certifi_list {width: calc(100% - 25.7%); grid-template-columns: repeat(3, 1fr); gap: 30px;}
		/* .sub_certification .license_box .certifi_list li .img_box .img {padding-bottom: 61%;} */

		@media only screen and (max-width:1217px) {
			.sub_certification .certifi_cont h3 {margin-bottom: 28px; font-size: 38px;}
			.sub_certification .certifi_list li p {font-size: 17px;}
		}
		@media only screen and (max-width:1023px) {
			.sub_certification .certifi_cont + .certifi_cont {margin-top: 60px;}
			.sub_certification .certifi_cont h3 {margin-bottom: 28px; font-size: 36px;}
			.sub_certification .certifi_list li p {padding-top: 22px; font-size: 16px;}

			.sub_certification .license_box {padding: 90px 0; margin-top: 90px;}
			.sub_certification .license_box .certifi_cont {flex-direction: column;} 
			.sub_certification .license_box .certifi_cont h3,
			.sub_certification .license_box .certifi_list {width: 100%;}
			.sub_certification .license_box .certifi_cont h3 br {display: none;}
		}
		@media only screen and (max-width:860px) {
			.sub_certification .certifi_cont h3 {font-size: 34px;}
			.sub_certification .certifi_list li p {font-size: 15px;}

			.sub_certification .certifi_list {gap: 44px 24px;}
			.sub_certification .certifi_list.img2 {gap: 44px 35px;}
			.sub_certification .license_box .certifi_list {gap: 20px;}
		}
		@media only screen and (max-width:767px) {
			.sub_certification .certifi_list {grid-template-columns: repeat(2, 1fr);}
			.sub_certification .certifi_list.img2 {grid-template-columns: repeat(1, 1fr);}
			.sub_certification .license_box .certifi_list {grid-template-columns: repeat(2, 1fr);}
		}
		@media only screen and (max-width:640px) {
			.sub_certification .certifi_cont + .certifi_cont {margin-top: 50px;} 
			.sub_certification .certifi_cont h3 {margin-bottom: 22px; font-size: 32px;}
			.sub_certification .certifi_list li .img_box .img {border-radius: 10px;}
			.sub_certification .certifi_list li p {padding-top: 18px; font-size: 14px;}
			.sub_certification .license_box {padding: 60px 0; margin-top: 60px;}
		}
		@media only screen and (max-width:479px) {
			.sub_certification .certifi_cont h3 {font-size: 30px;}
			.sub_certification .certifi_list li .img_box .img + .img {margin-left: 15px;}
			.sub_certification .certifi_list li p {font-size: 13px;}

			.sub_certification .certifi_list {gap: 34px 20px;}
			.sub_certification .certifi_list.img2 {gap: 34px 30px;}
			.sub_certification .license_box .certifi_list {gap: 15px;}
		}
		@media only screen and (max-width:431px) {
			.sub_certification .certifi_cont h3 {font-size: 26px;}
		}
		@media only screen and (max-width:360px) {
			.sub_certification .certifi_cont h3 {font-size: 24px;}
		}


	/*** 공사실적 | rnd/performance.html ***/
		.sub_performance {}
		.sub_performance .perfor_cont {margin-top: -5px;}
		.sub_performance .perfor_cont + .perfor_cont {margin-top: 92px;}
		.sub_performance .perfor_cont h3 {margin-bottom: 34px; font-size: 42px; font-weight: 500; color: #111; letter-spacing: -0.04em;}
		.sub_performance .perfor_cont .perfor_list {border-top: 1px solid #000;}
		.sub_performance .perfor_cont .perfor_list tr {border-bottom: 1px solid #ddd;}
		.sub_performance .perfor_cont .perfor_list th,
		.sub_performance .perfor_cont .perfor_list td {box-sizing: border-box; padding: 17px 0 15px; font-size: 18px; letter-spacing: 0.05em; line-height: 1.4; text-align: center;}
		.sub_performance .perfor_cont .perfor_list th {background: #f4f8f8; font-weight: 500; color: #111;}
		.sub_performance .perfor_cont .perfor_list td {font-weight: 300; color: #666;}
		.sub_performance .perfor_cont .perfor_list td.client {color: #30a4a8;}
		.sub_performance .perfor_cont .perfor_list td:nth-child(2) {padding-left: 10px; padding-right: 10px; text-align: left;}
		.sub_performance .perfor_cont .perfor_list th:nth-child(1),
		.sub_performance .perfor_cont .perfor_list td:nth-child(1) {width: 16%; min-width: 150px;}
		.sub_performance .perfor_cont .perfor_list th:nth-child(3),
		.sub_performance .perfor_cont .perfor_list td:nth-child(3) {width: 14.2%; min-width: 120px;}

		@media only screen and (max-width:1023px) {
			.sub_performance .perfor_cont + .perfor_cont {margin-top: 72px;}
			.sub_performance .perfor_cont h3 {margin-bottom: 28px; font-size: 38px;}
			.sub_performance .perfor_cont .perfor_list th,
			.sub_performance .perfor_cont .perfor_list td {font-size: 16px;}
		}
		@media only screen and (max-width:860px) {
			.sub_performance .perfor_cont h3 {font-size: 35px;}
			.sub_performance .perfor_cont .perfor_list th,
			.sub_performance .perfor_cont .perfor_list td {padding: 16px 0 14px; font-size: 15px;}
		}
		@media only screen and (max-width:640px) {
			.sub_performance .perfor_cont {margin-top: 0;}
			.sub_performance .perfor_cont + .perfor_cont {margin-top: 52px;}
			.sub_performance .perfor_cont h3 {margin-bottom: 22px; font-size: 32px;}
			.sub_performance .perfor_cont .perfor_list th,
			.sub_performance .perfor_cont .perfor_list td {font-size: 14px;}
			.sub_performance .perfor_cont .perfor_list th:nth-child(1),
			.sub_performance .perfor_cont .perfor_list td:nth-child(1) {min-width: 120px;}
			.sub_performance .perfor_cont .perfor_list th:nth-child(3),
			.sub_performance .perfor_cont .perfor_list td:nth-child(3) {min-width: 105px;}
		}
		@media only screen and (max-width:479px) {
			.sub_performance .perfor_cont h3 {font-size: 30px;}
			.sub_performance .perfor_cont .perfor_list thead {display: none;}
			.sub_performance .perfor_cont .perfor_list tr,
			.sub_performance .perfor_cont .perfor_list td {display: block; width: 100% !important; min-width: inherit !important;}
			.sub_performance .perfor_cont .perfor_list tr {box-sizing: border-box; padding: 14px 12px;}
			.sub_performance .perfor_cont .perfor_list td {padding: 0 !important; font-size: 13px; text-align: left;}
			.sub_performance .perfor_cont .perfor_list td:nth-child(2) {padding: 4px 0 8px !important;}
			.sub_performance .perfor_cont .perfor_list td:nth-child(3) {font-size: 12px;}
		}
		@media only screen and (max-width:431px) {
			.sub_performance .perfor_cont h3 {font-size: 26px;}
		}
		@media only screen and (max-width:360px) {
			.sub_performance .perfor_cont h3 {font-size: 24px;}
		}
		@media only screen and (max-width:320px) {
			.sub_performance .perfor_cont .perfor_list tr {padding: 12px 10px;}
			.sub_performance .perfor_cont .perfor_list td {font-size: 12px;}
			.sub_performance .perfor_cont .perfor_list td:nth-child(3) {font-size: 11px;}
		}


/*───────────────────────────────────────────────────────────
 
	board

───────────────────────────────────────────────────────────*/
	/* 검색 */
		#wrap select, #wrap input[type="text"], #wrap input[type="password"], #wrap input[type="number"]{height:50px;border:1px solid #ddd; border-radius:10px; padding:0 20px; font-size: 16px; font-weight: 300; color: #666; letter-spacing: -0.03em; box-sizing:border-box;}
		#wrap select{padding-left: 18px; appearance:none;background:#fff url('../images/sub/select_arrow.png') no-repeat calc(100% - 20px) center; padding-right:30px;}
		#wrap input[type="text"], #wrap input[type="password"], #wrap input[type="number"]{letter-spacing: -0.5px;}
		#wrap input[type="text"]:focus, #wrap input[type="password"]:focus, #wrap input[type="number"]:focus{border:1px solid #333;}

		@media only screen and (max-width:860px){
			#wrap select, #wrap input[type="text"], #wrap input[type="password"], #wrap input[type="number"] {height: 46px; line-height: 46px; padding:0 18px; font-size: 14px;}
		}
		@media only screen and (max-width:640px){
			#wrap select, #wrap input[type="text"], #wrap input[type="password"], #wrap input[type="number"] {height: 42px; line-height: 42px; padding:0 16px; font-size: 13px;}
			#wrap select {background-size: 9px auto; background-position: calc(100% - 16px) center;}
		}


	/* 분류 - 일반형 게시판 */ 
		#wrap table.bbs_list {border-top-color: #000; border-bottom-color: #ddd; table-layout:fixed;}
		#wrap table.bbs_list th, #wrap table.bbs_list td {padding-left: 0; padding-right: 0;}
		#wrap table.bbs_list th {background: #f5f5f5;padding-top:30px;padding-bottom:30px;border-bottom: 1px solid #ddd;font-size:18px;font-weight:500;color:#111;letter-spacing:-0.03em;}
		#wrap table.bbs_list td {padding-top:30px;padding-bottom:30px;font-size:18px;font-weight:300;color:#999;letter-spacing:-0.03em;}
		#wrap table.bbs_list td .board_tit img {vertical-align: middle;margin-right: 5px;}
		#wrap table.bbs_list td .board_tit h3 {font-weight: 300;font-size:18px;color: #333;display: inline-block;vertical-align: middle;width: 100%;max-width: 900px;}
		#wrap table.bbs_list td .board_tit h3 strong {overflow: hidden;text-overflow: ellipsis;white-space: nowrap;display: inline-block;vertical-align: top;max-width: 90%;font-size: inherit;color: inherit;font-weight: inherit;line-height: inherit;}
		
		@media only screen and (max-width:1023px) {
			#wrap table.bbs_list th,
			#wrap table.bbs_list td {padding-top:26px;padding-bottom:26px; font-size: 16px;}
			#wrap table.bbs_list td .board_tit h3 {font-size: 16px;}
		}
		@media only screen and (max-width:860px) {
			#wrap table.bbs_list th,
			#wrap table.bbs_list td {padding-top:22px;padding-bottom:22px; font-size: 15px;}
			#wrap table.bbs_list td .board_tit h3 {font-size: 15px;}
		}
		@media only screen and (max-width:640px) {
			#wrap table.bbs_list .m_dn {display: none;}
			#wrap table.bbs_list th,
			#wrap table.bbs_list td {padding-top:18px;padding-bottom:18px; font-size: 14px;}
			#wrap table.bbs_list td .board_tit h3 {font-size: 14px;}
		}
		@media only screen and (max-width:479px) {
			#wrap table.bbs_list th,
			#wrap table.bbs_list td {padding-top:15px;padding-bottom:15px; font-size: 13px;}
			#wrap table.bbs_list td .board_tit h3 {font-size: 13px;}
		}


	/* 하단 버튼 공통 */
		#wrap .sub_board .btn_wrap .btn {width: auto; height: 60px; box-sizing: border-box; padding: 0 60px; font-size: 18px; font-weight: 300; line-height: 60px;}
		#wrap .sub_board .btn_wrap.ta_right .btn {padding: 0 40px;}

		@media only screen and (max-width:1023px){
			#wrap .sub_board .btn_wrap .btn {height: 54px; padding: 0 50px; font-size: 17px; line-height: 54px;}
			#wrap .sub_board .btn_wrap.ta_right .btn {padding: 0 32px;}
		}
		@media only screen and (max-width:860px){
			#wrap .sub_board .btn_wrap .btn {height: 50px; padding: 0 45px; font-size: 16px; line-height: 50px;}
		}
		@media only screen and (max-width:640px){
			#wrap .sub_board .btn_wrap .btn {height: 48px; padding: 0 40px; font-size: 15px; line-height: 48px;}
			#wrap .sub_board .btn_wrap.ta_right .btn {padding: 0 24px;}
		}
		@media only screen and (max-width:479px){
			#wrap .sub_board .btn_wrap .btn {height: 44px; padding: 0 35px; font-size: 13px; line-height: 44px;}
		}