@charset "utf-8";
/*───────────────────────────────────────────────────────────
	
	" board｜errors｜goods｜service｜layout/board｜layout/display｜layout/goods "
	" layout/popup.html "

	위 폴더 및 페이지 커스텀 및 layout, navigation, button, company 관련 편집 css 파일 입니다.

	** header, footer, main 관련은 /css/skin.css 에 있습니다.

───────────────────────────────────────────────────────────*/








/*───────────────────────────────────────────────────────────
	
	common.css 커스텀 css 아래에 작성

───────────────────────────────────────────────────────────*/

/*───────────────────────────────────────────────────────────
	font common
───────────────────────────────────────────────────────────*/
	/** PC 일반 **/
		body {}/*letter-spacing:-0.2px;*/
		div, dd, li, p, span, td, dt, h1, h2, h3, h4, h5, h6, strong, b, em, th {}
		b, dt, strong, em, th, h1, h2, h3, h4, h5, h6 {font-weight:700;}/* Noto Sans KR은 500 사용 */
		input, button, textarea, select {}
			/* webfont */
		.ff_open {font-family: 'Open Sans', 'Nanum Gothic', sans-serif !important;}
		.ff_noto {font-family: "Noto Sans KR", 'Nanum Gothic', sans-serif !important;}
		.ff_mont {font-family: 'Montserrat', 'Nanum Gothic', sans-serif !important;}
		.ff_nanum {font-family: 'Lato','Nanum Gothic', dotum, sans-serif !important;}
		.ff_lato {font-family: 'Lato', 'Nanum Gothic', sans-serif !important;}
		.ff_nbg {font-family: 'Nanum Barun Gothic','Nanum Gothic', sans-serif !important;}
		.ff_open, .ff_open a, .ff_open span, .ff_open div, .ff_open ul, .ff_open li, .ff_open p {font-family: 'Open Sans' !important;}
		.ff_noto, .ff_noto a, .ff_noto span, .ff_noto div, .ff_noto ul, .ff_noto li, .ff_noto p {font-family: 'Noto Sans KR', 'Noto Sans' !important; font-weight:400;}
			/* font weight */
		.fw_t {font-weight:300;}
		.fw_n {font-weight:400;}
		.fw_b {font-weight:700;}/* Noto Sans KR은 500 사용 */
		.fw_eb {font-weight:800;}/* Noto Sans KR은 700 사용 */


		/*** common ***/


		/*** TABLE | 서브페이지 전체 사용 ( board / member / layout ) ***/


		/*** BOARD ***/


		/*** GOODS ***/


		/*** MEMBER ***/


		/*** SERVICE ***/


/*───────────────────────────────────────────────────────────
	sub_visual common
───────────────────────────────────────────────────────────*/
.sub_visual {background:url('../images/sub/sub_visual.jpg') no-repeat center;background-size:cover;height:420px;position:relative;}
.sub_visual .sub_visual_title {position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);padding:0 20px;box-sizing:border-box;}
.sub_visual .sub_visual_title h2 {font-size:50px;color:#fff;}


@media only screen and (max-width:1217px) {
	.sub_visual {height:auto;padding-bottom:32%;}
	.sub_visual .sub_visual_title h2 {font-size:45px;}
}
@media only screen and (max-width:1023px) {
	.sub_visual .sub_visual_title h2 {font-size:40px;}
}
@media only screen and (max-width:860px) {
	.sub_visual .sub_visual_title h2 {font-size:35px;}
}
@media only screen and (max-width:767px) {
}
@media only screen and (max-width:640px) {
	.sub_visual{padding-bottom:35%;}
	.sub_visual .sub_visual_title h2 {font-size:30px;}
}
@media only screen and (max-width:540px) {
	.sub_visual{padding-bottom:40%;}
}
@media only screen and (max-width:479px) {
	.sub_visual {height:185px;padding-bottom:0;}
	.sub_visual .sub_visual_title h2 {font-size:25px;}
}
@media only screen and (max-width:355px) {
	.sub_visual .sub_visual_title h2 {font-size:22px;}
}

/*───────────────────────────────────────────────────────────
	side box common
───────────────────────────────────────────────────────────*/
/* slide toggle */
#side_box {position: absolute;z-index: 5;width: 100%;left: 0;bottom: 0;background: rgba(0,0,0,0.5);}
#side_box .sub_menu {padding:0;margin:0;z-index:2;width:1200px;margin:0 auto;}
#side_box .sub_menu * {transition:all .2s;}
#side_box .sub_menu:after{content:"";display:block;clear:both;}
#side_box .sub_menu h2 {font-size:0;float:left;border: 1px solid rgba(255,255,255,0.2);border-width: 0 1px;box-sizing: border-box;}
#side_box .sub_menu h2 a {display:inline-block;width: 52px;height:54px;background: url('../images/sub/ico_navi_home.png') no-repeat 50% 50%;font-size:0;}
#side_box .sub_menu dl {float:left;font-size:0;vertical-align:top;height:54px;line-height:54px;box-sizing:border-box;text-align:left;font-size:0;font-weight:500; font-family: var(--font-type01); }
#side_box .sub_menu dt,
#side_box .sub_menu dd {display:inline-block;vertical-align:top;height:inherit;line-height:inherit;text-align: left;color: #fff;box-sizing:border-box;border-right: 1px solid rgba(255,255,255,0.2);font-weight:400;width: 220px;font-size: 16px; font-family: inherit;}
#side_box .sub_menu dt {cursor:default;color: rgba(255,255,255,.8);}
#side_box .sub_menu dd {position:relative;z-index: 5;}
#side_box .sub_menu dt,
#side_box .sub_menu dd strong {padding: 0 40px 0 15px;}
#side_box .sub_menu dd strong {display:block;cursor:pointer;box-sizing:border-box;font-size:inherit;font-weight:500;overflow: hidden;text-overflow: ellipsis;white-space: nowrap; font-family: inherit;;}
#side_box .sub_menu dd strong:after {content:'';display:block;width: 1px;height: 1px;position: absolute;right: 20px;top: 50%;margin-top: -3px;transform-origin:bottom;transition: all .2s;border-left: 5px solid transparent;border-right: 5px solid transparent;border-top: 5px solid #fff;}
#side_box .sub_menu dd.on strong {background:var(--point-white);color: #223e99; height: 100%;}
#side_box .sub_menu dd.on strong:after {transform: rotate(181deg);margin-top: -9px; border-top: 5px solid #223e99; }

#side_box .sub_menu dd strong img{padding-left:5px;}
#side_box .sub_menu dd ul {display:none;position:absolute;left: -1px;top: 100%;width: calc(100% + 2px);z-index:5;overflow:hidden;border: 1px solid #ddd;background:#fff;box-sizing: border-box;text-align: left; transition: none;  font-family: inherit; }
#side_box .sub_menu dd ul li:nth-of-type(1) {margin-top: 7px;}
#side_box .sub_menu dd ul li:last-of-type {margin-bottom: 13px;}
#side_box .sub_menu dd ul li {background:#fff;border-top:0;font-weight: 400;font-size: 15px;color: #555;height: 2.66em;line-height: 2.8; font-family: inherit; }
#side_box .sub_menu dd ul li + li {}
#side_box .sub_menu dd ul li a {padding: 0 20px;display:inline-block;vertical-align:top;box-sizing:border-box;text-align:center;font-weight:400;font-size: 15px;color: inherit;width:100%;text-align: left; font-family: inherit; }
#side_box .sub_menu dd ul li.on a,
#side_box .sub_menu dd ul li:hover a {font-weight:600;color: #333;}


@media only screen and (max-width:1217px) {
	#side_box .sub_menu {width:100%;}
}

@media only screen and (max-width:1023px) {
}

@media only screen and (max-width:860px) {
	#side_box .sub_menu h2 a {width:50px;height:50px;background-size:auto 16px;}
	#side_box .sub_menu dl {line-height:50px;height:50px;width: calc(100% - 52px);}
	#side_box .sub_menu dt,
	#side_box .sub_menu dd {width: 40%;font-size: 14px;}
	#side_box .sub_menu dt,
	#side_box .sub_menu dd strong {padding:0 18px;}
	#side_box .sub_menu dd ul li a {font-size:14px;padding:0 18px;}
}

@media only screen and (max-width:767px) {
}

@media only screen and (max-width:640px) {
	#side_box .sub_menu dt,
	#side_box .sub_menu dd {width:50%;}
}

@media only screen and (max-width: 479px) {
	#side_box .sub_menu h2 a {width:40px;height:45px;}
	#side_box .sub_menu dl {line-height:45px;height:45px;width: calc(100% - 42px);}
	#side_box .sub_menu dt {display:none;}
	#side_box .sub_menu dd {width:100%;font-size: 13px;border-right: 0;}
	#side_box .sub_menu dd strong {padding:0 14px;}
	#side_box .sub_menu dd ul li a {font-size:13px;line-height:2.3;padding:0 18px;}
}

/*───────────────────────────────────────────────────────────
	navigation common
───────────────────────────────────────────────────────────*/
.nav_wrap {}
.nav_wrap .nav_box {border:0;margin:0;padding-bottom: 80px;position:relative;z-index:1;}
.nav_wrap .nav_box:after {clear:both;content:"";display:block;}
.nav_wrap .nav_box h2 {font-size:40px;line-height: 1.1;padding:0;margin:0;text-align:center;color:#303030;font-weight:600;z-index:1;text-transform:uppercase;}
.nav_wrap .nav_box p {font-size: 18px;line-height: 1.44;padding: 1.5em 0 0 0;color:#666;font-weight:400;text-align:center;}
.nav_wrap .nav_box ul {line-height:18px;top:20%;position:absolute;left:0;font-size:0;padding:0;z-index:5;display:block;}
.nav_wrap .nav_box ul li {line-height:18px;height:18px;font-size:8px;text-align:left;vertical-align:top;padding:0;color:#aaa;display:inline-block;}
.nav_wrap .nav_box ul li + li {padding-left:5px;}
.nav_wrap .nav_box ul li span,
.nav_wrap .nav_box ul li strong,
.nav_wrap .nav_box ul li > a {line-height:18px;height:18px;padding:0 4px 0px 0;font-size:12px;display:inline-block;width:auto;color:#666;vertical-align:top;margin:0;box-sizing:border-box;}
.nav_wrap .nav_box ul li a.home {padding-left:0px;font-size:12px;color:#666666;}
.nav_wrap .nav_box ul li a.home:before {width:11px;height:11px;margin:0 5px 2px 0;content:"";display:inline-block;background:url("../images/common/sub_locate_home.png") no-repeat left center #333333;background-size:auto 13px;vertical-align:middle;}
.nav_wrap .nav_box ul li:last-child a,
.nav_wrap .nav_box ul li:last-child span,
.nav_wrap .nav_box ul li:last-child strong {color:#444;font-weight:700;padding-right:0;}

.nav_wrap .nav_box ul li .navi_select {min-width:150px;border: 1px solid #999;cursor: pointer;margin-top: -3px;position:relative;box-sizing: border-box;}
.nav_wrap .nav_box ul li .navi_select .navi_tit {padding: 2px 10px;line-height: 18px;height: auto;display: block;}
.nav_wrap .nav_box ul li .navi_select .navi_tit:after {content:"";display:inline-block;border-left: 5px solid transparent;border-right: 5px solid transparent;border-top: 5px solid #999;position:absolute;right: 10px;top: 9px;transition:all .2s;}
.nav_wrap .nav_box ul li .navi_select ul {display:none;position:absolute;left: -1px;top: 100%;width:150px;background:#fff;padding:6px 0 6px 0;border: 1px solid #888;box-sizing: border-box;}
.nav_wrap .nav_box ul li .navi_select ul li {display: block;line-height: 1;height: auto;font-size: 12px;padding: 0;}
.nav_wrap .nav_box ul li .navi_select ul li a {display:block;padding:5px 10px;font-size: 12px;line-height: 1;height: auto;transition:all .2s;}
.nav_wrap .nav_box ul li .navi_select ul li a:hover {background:#999;color:#fff;}

.nav_wrap .nav_box ul li .navi_select:hover .navi_tit:after {transform: rotate(180deg);}
.nav_wrap .nav_box ul li .navi_select:hover ul {display:block;}

	.nav_wrap .nav_box.dis_flex{display:flex;}
	.nav_wrap .nav_box.dis_flex h2{width: 305px;padding-top:0 !important;}
	.nav_wrap .nav_box.dis_flex .sub_title{width: calc(100% - 305px);text-align:left;padding-top: 2px;}
	.nav_wrap .nav_box.dis_flex .sub_title h3 small{font-size:94.4%;}
	.nav_wrap .nav_box.dis_flex .sub_title h3 + p{margin-top: 17px;text-align:left;padding-top:0;word-break:keep-all;}



	@media only screen and (max-width:1217px) {
		.nav_wrap .nav_box h2{font-size:41px;}
		.nav_wrap .nav_box.dis_flex h2{width:250px;}
		.nav_wrap .nav_box.dis_flex .sub_title{width:calc(100% - 250px);}
	}
	@media only screen and (max-width:1023px) {
        .nav_wrap .nav_box { padding-bottom: clamp(60px, 8vw, 80px); }
		.nav_wrap .nav_box h2{font-size:38px;}
		.nav_wrap .nav_box.dis_flex{display:block;}
		.nav_wrap .nav_box.dis_flex h2{width:100%;}
		.nav_wrap .nav_box.dis_flex .sub_title{width:100%; padding-top:30px;}
	}
	@media only screen and (max-width: 860px) {
		.nav_wrap .nav_box{padding-bottom:40px;}
		.nav_wrap .nav_box h2{font-size:35px;}
	}
	@media only screen and (max-width:767px) {
		.nav_wrap .nav_box.dis_flex .sub_title p br{display:none;}
	}
	@media only screen and (max-width:640px) {
		.nav_wrap .nav_box{padding-bottom:25px;}
		.nav_wrap .nav_box h2{font-size:32px;}

		.nav_wrap .nav_box.dis_flex .sub_title{padding-top:25px;}
		.nav_wrap .nav_box.dis_flex .sub_title h3 + p{margin-top:10px;}
	}
	@media only screen and (max-width:479px) {
		.nav_wrap .nav_box h2{font-size:29px;}
		.nav_wrap .nav_box h2:after{margin-left:10px; transform:none;}

		.nav_wrap .nav_box.dis_flex .sub_title{padding-top:20px;}
	}
	@media only screen and (max-width:431px) {
		.nav_wrap .nav_box h2{font-size:26px;}
	}


/*───────────────────────────────────────────────────────────
	 COMPANY
───────────────────────────────────────────────────────────*/

.company_about #contents_wrap {width:100%;padding-bottom:0;padding-left:0 !important;padding-right:0 !important;}
.sub_company .nav_wrap{padding-top:16px;}
/*** company/index (회사소개) ***/
.sub_about {}
.sub_about * {word-break:keep-all;}
.sub_company .point_tit{font-size:18px;color:#223e99;font-weight:600;display:block;text-align:center;letter-spacing:0;}
.sub_about .sub_about_tit{width:1200px;margin:0 auto;box-sizing:border-box;}
.sub_about .sub_about_tit h3 { font-size:24px;color:#333;font-weight:400;text-align:center;line-height:32px;letter-spacing:-0.03em; margin-bottom: 30px; }
.sub_about .sub_about_tit h3 strong { font-size: inherit; font-weight: 600; }
.sub_about .sub_about_tit p{font-size:18px;color:#333;font-weight:400;text-align:center;line-height:32px;letter-spacing:-0.03em;}
.sub_about .sub_about_tit p + p { margin-top: 20px; }
.sub_about .sub_about_img {max-width: 100%;height:400px;background:url('../images/sub/img_about01.jpg') no-repeat center;background-size:cover;margin-top:54px;}
.sub_about_list{width:100%;box-sizing:border-box;margin-top:120px;padding:116px 0 114px 0;background:#f5f5f5;}
.sub_about_list .list_tit h2{font-size:46px;color:#000;font-weight:400;text-align:center;margin-top:16px;letter-spacing:-0.035em;}
.sub_about_list ul{width:1200px;box-sizing:border-box;margin:0 auto;font-size:0;margin-top:38px;}
.sub_about_list ul li{width:calc(25% - 30px);text-align:center;display: inline-block;vertical-align:top;}
.sub_about_list ul li + li{margin-left:40px;}
.sub_about_list ul li .li_bg{width:270px;height:270px;border-radius:100%;text-align:center;margin:0 auto;margin-bottom:32px;}
.sub_about_list ul li:nth-child(1) .li_bg{background:url('../images/sub/sub_service01.jpg') center;background-size:cover;}
.sub_about_list ul li:nth-child(2) .li_bg{background:url('../images/sub/sub_service02.jpg') center;background-size:cover;}
.sub_about_list ul li:nth-child(3) .li_bg{background:url('../images/sub/sub_service03.jpg') center;background-size:cover;}
.sub_about_list ul li:nth-child(4) .li_bg{background:url('../images/sub/sub_service04.jpg') center;background-size:cover;}
.sub_about_list ul li span{font-size:16px;color:#222;font-weight:500;letter-spacing:-0.035em;display: block;box-sizing:border-box;}
.sub_about_list ul li p{font-size:28px;color:#000;font-weight:400;margin-top:8px;}

@media only screen and (max-width:1250px) {
	.sub_about .sub_about_tit{width:100%;padding:0 30px;}
	.sub_about_list ul{width:100%;padding:0 30px;}
	.sub_about_list ul li .li_bg{width:230px;height:230px;}
}
@media only screen and (max-width:1100px) {
	.sub_about .sub_about_img{height:350px;}
	.sub_about .sub_about_tit p br{display: none;}
	.sub_about_list .list_tit h2{font-size:40px;margin-top:10px;}
	.sub_about_list ul li .li_bg{width:200px;height:200px;}	
	.sub_about_list ul li span{font-size:15px;}
	.sub_about_list ul li p{font-size:25px;}
}
@media (max-width: 1023px){
    .sub_about .sub_about_tit h3 { margin-bottom: clamp(20px, 3vw, 30px); }
    .sub_about .sub_about_tit p + p { margin-top: clamp(15px, 2vw, 20px); }
}
@media only screen and (max-width:1000px) {
	.sub_about_list{margin-top:100px;padding:96px 0 94px 0;}
	.sub_about_list ul li{width:calc(25% - 19px);}
	.sub_about_list ul li + li{margin-left:25px;}
	.sub_about_list ul li .li_bg{width:180px;height:180px;}	
}
@media only screen and (max-width:900px) {
	.sub_about .sub_about_img{height:300px;margin-top:35px;}
	.sub_about_list{margin-top:80px;padding:76px 0 74px 0;}
	.sub_about_list .list_tit h2{font-size:36px;}
	.sub_about_list ul li .li_bg{width:160px;height:160px;}
}
@media only screen and (max-width:800px) {
	.sub_about_list ul li + li{margin-left:0;}
	.sub_about_list ul li{width:calc(50% - 20px);margin-bottom:40px;}
	.sub_about_list ul li:nth-of-type(2n){margin-left:20px;}
	.sub_about_list ul li:nth-of-type(2n+1){margin-right:20px;}
	.sub_about_list ul li .li_bg{width:270px;height:270px;}
	.sub_about_list ul li span{font-size:16px;height:auto;}
	.sub_about_list ul li p{font-size:28px;}
}
@media only screen and (max-width:700px) {
	.sub_about .sub_about_img{height:280px;}
	.sub_about_list ul li .li_bg{width:230px;height:230px;}
}
@media only screen and (max-width:640px) {
	.sub_company .nav_wrap .nav_box h2{font-size:26px;}
	.sub_about .sub_about_tit{padding:0 30px;}
	.sub_about_list{padding:76px 0 40px 0;}
	.sub_about_list .list_tit h2{margin-top:11px;box-sizing:border-box;padding:0 64px;line-height:30px;}
	.sub_about_list ul{padding:0 15px;}
	.sub_about_list ul li{width:calc(50% - 15px);margin-bottom:30px;}
	.sub_about_list ul li:nth-of-type(2n){margin-left:15px;}
	.sub_about_list ul li:nth-of-type(2n+1){margin-right:15px;}
	.sub_about_list ul li .li_bg{width:200px;height:200px;}
	.sub_about_list ul li span{font-size:15px;}
	.sub_about_list ul li p{font-size:24px;margin-top:0;}
}
@media only screen and (max-width:500px) {
	.sub_company .point_tit{font-size:16px;}
	.sub_about .sub_about_tit p{font-size:16px;}
	.sub_about .sub_about_img{height:250px;margin-top:25px;}
	.sub_about_list{margin-top:52px;padding:56px 0 54px 0;}
	.sub_about_list .list_tit h2{font-size:32px;padding:0 40px;}
	.sub_about_list ul li .li_bg{width:180px;height:180px;margin-bottom:18px;}
}
@media only screen and (max-width:479px) {
	.sub_company .nav_wrap{padding-top:12px;}
	.sub_about .sub_about_tit{padding:0 18px;}
	.sub_about_list{padding:42px 0 54px 0;}
	.sub_about_list ul{margin-top:21px;}
	.sub_about_list ul li:nth-child(1) span,
	.sub_about_list ul li:nth-child(2) span{padding:0 32px;}
}
@media only screen and (max-width:425px) {
	.sub_about_list ul li .li_bg{width:170px;height:170px;}
}
@media only screen and (max-width:400px) {
	.sub_about_list ul li .li_bg{width:160px;height:160px;}
}2021-02-04
@media only screen and (max-width:380px) {
	.sub_about_list ul li .li_bg{width:150px;height:150px;}
}
@media only screen and (max-width:375px) {
	.sub_company .point_tit{font-size:14px;}
	.sub_about .sub_about_tit p{font-size:15px;line-height:25px;}
	.sub_about .sub_about_img{height:200px;}
	.sub_about_list .list_tit h2{font-size:26px;}
	.sub_about_list ul li{width:calc(50% - 10px);}
	.sub_about_list ul li:nth-of-type(2n){margin-left:10px;}
	.sub_about_list ul li:nth-of-type(2n+1){margin-right:10px;}
	.sub_about_list ul li span{font-size:14px;}
	.sub_about_list ul li p{font-size:20px;}
}
@media only screen and (max-width:350px) {
	.sub_about_list ul li .li_bg{width:140px;height:140px;}
}
@media only screen and (max-width:330px) {
	.sub_about_list ul li .li_bg{width:130px;height:130px;}
}


/*** company/location (오시는길) ***/
.sub_location{width:1200px;box-sizing:border-box;margin:0 auto 27px auto;}
.sub_location_map{float:left;width:640px;height:440px;}
.sub_location_map .map_box{width:100%;height:100%;}
.sub_location_map .map_box iframe{width:100%;height:100%;}
.sub_location .sub_location_info{float: right;width:40%;}
.sub_location .sub_location_info .map_logo{ padding:48px 0 49px 0; font-size: 40px; font-weight: 500; color: #333; }

.sub_location .sub_location_info .map_logo a{height:100%;width:100%;display: block;background:url('../images/skin/hd-logo-ov.png')no-repeat left;background-size:auto 100%;font-size:0;}
.sub_location .sub_location_info .info_wrap{box-sizing:border-box;padding-top:43px;border-top:1px solid #ccc;}
.sub_location .sub_location_info .info_wrap dl + dl{margin-top:20px;}
.sub_location .map_wrap + .map_wrap { margin-top: clamp(40px, 8vw, 80px); }
.sub_location .sub_location_info .info_wrap dl dt{font-size:18px;color:#222;font-weight:500;position: relative;padding-left:15px;display: inline-block;width:17%;vertical-align:top;line-height:29px;}
.sub_location .sub_location_info .info_wrap dl dt:before{width:4px;height:4px;content:"";border-radius:100%;background:#223e99;position: absolute;left:0;top:11px;}
.sub_location .sub_location_info .info_wrap dl dd{display: inline-block;width:78%;vertical-align:top;}
.sub_location .sub_location_info .info_wrap dl dd span{font-size:18px;color:#444;font-weight:300;display: inline-block;line-height:30px;letter-spacing:-0.04em;vertical-align:top;}
.sub_location .sub_location_info .info_wrap dl dd span.ft_lato{font-weight:400;}

@media only screen and (max-width:1250px) {
	.sub_location{width:100%;padding:0 30px;}
}
@media only screen and (max-width:1217px) {
	.sub_location{padding:0 15px;}
	.sub_location_map{width:52%;}
	.sub_location .sub_location_info{width:42%;}
}
@media only screen and (max-width:950px) {
	.sub_location_map {height:350px;}
	.sub_location .sub_location_info{width:43%;}
	.sub_location .sub_location_info .map_logo{padding:30px 0 50px 0;}
	.sub_location .sub_location_info .info_wrap{padding-top:30px;}
	.sub_location .sub_location_info .info_wrap dl dt{width:17%;}
}
@media only screen and (max-width:800px) {
	.sub_location_map{float:none;width:100%;}
	.sub_location .sub_location_info{float:none;width:100%;}
}
@media only screen and (max-width:640px) {
	.sub_location{margin:0 auto 27px auto;padding:0;margin-top:7px;}
}
@media only screen and (max-width:414px) {
	.sub_location_map {height:250px;}
	.sub_location .sub_location_info .map_logo{padding:30px 0 30px 0;}
	.sub_location .sub_location_info .info_wrap{padding-top:20px;}
	.sub_location .sub_location_info .info_wrap dl dt{font-size:17px;}
	.sub_location .sub_location_info .info_wrap dl dd span{font-size:17px;margin-top:0;}
}
@media only screen and (max-width:320px) {
	.sub_location_map {height:200px;}
	
	.sub_location .sub_location_info .info_wrap dl dt{font-size:16px;}
	.sub_location .sub_location_info .info_wrap dl dt:before{top:11px;}
	.sub_location .sub_location_info .info_wrap dl dd span{font-size:16px;}

}


/*** company/history (연혁) ***/
	.history_cont{width:1200px;margin:0 auto;margin-top:0;box-sizing:border-box;}
	.history_box{margin-bottom:36px;text-align:left;}
	.history_box .history_year{width:320px;display: inline-block;vertical-align: top;line-height:32px;padding-top:29px;border-top:1px solid #000;}
	.history_box .history_year span{font-size:42px;color:#000;font-weight:600;letter-spacing:-0.06em;}
	.history_box .history_detail{width:840px;display: inline-block;padding-top:27px;border-top:1px solid #ccc;margin-left:37px;}
	.history_box .history_detail dl{padding-left:9px;margin-bottom:22px;}
	.history_box .history_detail dl dt{display: inline-block;vertical-align:top;margin:3px 32px 0 0;line-height:1;width:22px;letter-spacing:-0.05em;}
	.history_box .history_detail dl dd{display: inline-block;margin-top:-2px;width:calc(100% - 70px);line-height:1; word-break: keep-all; }
	.history_box .history_detail .month{font-size:18px;color:#000;font-weight:600;}
	.history_box .history_detail .detail{font-size:17px;color:#666;font-weight:300;position: relative;padding-left:13px;line-height:25px;font-family:'Noto Sans KR', Sans-serif;letter-spacing:-0.035em;word-break:keep-all;}
	.history_box .history_detail .detail:before{width:3px;height:3px;border-radius:100%;background-color:#888;content:"";position: absolute;left:1px;top:11px;}
	.history_box .history_detail .detail + .detail{margin-top:9px;}

@media only screen and (max-width:1250px) {
	.history_cont{width:100%;padding:0 15px;}
	.history_box .history_year{width:25%;}
	.history_box .history_detail{width:70%;}
}
@media only screen and (max-width:910px) {
	.history_box .history_year{width:22%;}
	.history_box .history_year span{font-size:38px;}
	.history_box .history_detail{width:72%;}
	.history_box .history_detail .month{font-size:17px;}
	.history_box .history_detail .detail{font-size:16px;}	
}
@media only screen and (max-width:780px) {
	.history_box .history_year{width:20%;}
	.history_box .history_year span{font-size:32px;}
	.history_box .history_detail .month{font-size:16px;}
	.history_box .history_detail .detail{font-size:15px;}	
	.history_box .history_detail .detail:before{top:10px;}
}
@media only screen and (max-width:640px) {
	.history_cont{padding:0;}
	
	.history_box .history_year{display: block;width:100%;border-top:none;border-bottom:1px solid #000;padding-top:0;padding-bottom:10px;}
    .history_box .history_year span { font-size: 42px; }
	.history_box .history_detail{display: block; width: 100%; margin-left: 0; margin-top: 30px; border-top: none; border-bottom: 1px solid #ccc; padding-top: 0; padding-bottom: 8px;}
	.history_box .history_detail .month{font-size:18px;}
	.history_box .history_detail .detail{font-size:17px;}	
	.history_box .history_detail .detail:before{top:12px;}
    .history_box .history_detail dl dd { width: 100%; }
}



@media only screen and (max-width:375px) {
	.history_cont{margin-top:0px;}
	.history_box .history_year{padding-bottom:4px;}
    .history_box .history_year span { font-size: 35px; }
	
	.history_box .history_detail .month{font-size:17px;}
	
}
@media only screen and (max-width:320px) {
	
	.history_box .history_year span{font-size:28px;}
	.history_box .history_detail{margin-top:15px;padding-bottom:15px;}
    .history_box .history_detail dl { margin-bottom: 0; }
	.history_box .history_detail .detail{font-size:15px;}	
}

	/*** 서브 공통 ***/
		.sub_title{}
		.sub_title h3{font-size:32px;font-weight:700;color:#000;letter-spacing: -0.03em;word-break:keep-all;}
			.sub_title h3 + p{margin-top: 37px;}
		.sub_title h3 strong{font-size:inherit; font-weight:inherit; color:#223e99;}
		.sub_title p {font-size:18px;font-weight:400;color:#666;line-height:177%;letter-spacing: -0.03em;word-break:keep-all;}
			.sub_title p + p{margin-top: 25px;}


	/*** company/ceo (CEO인사말) ***/
		.sub_ceo{}
		.sub_ceo .cont{display:flex; align-items:flex-start;}
		.sub_ceo .cont .sub_title{width:calc(100% - 480px); box-sizing:border-box;}
		.sub_ceo .cont .thumb_list{display:inline-flex;align-items:flex-start;width:480px;padding-top: 5px;}
		.sub_ceo .cont .thumb_list li{font-size:0; border-radius:10px; overflow:hidden; width:calc(100% / 2 - 10px);}
			.sub_ceo .cont .thumb_list li + li{margin-left:20px;}
			.sub_ceo .cont .thumb_list li:first-child{margin-top:130px;}

	/*** company/technology (기술력) ***/
		.sub_technology{margin-top: 5px;}
		.sub_technology .tech_list{display:flex; flex-wrap:wrap;}
		.sub_technology .tech_list li{margin-right:30px; width:calc(100% / 4 - 22.5px);}
		.sub_technology .tech_list li:nth-child(4n){margin-right:0;}
		.sub_technology .tech_list li:nth-child(n+5){margin-top:30px;}
		.sub_technology .tech_list li dl{text-align:center;}
		.sub_technology .tech_list li dl dt{position:relative;border: 10px solid #ddd;box-sizing:border-box;}
			.sub_technology .tech_list li dl dt:before{position:absolute;content:'';top: -10px;left: -10px;width: calc(100% + 20px);height: calc(100% + 20px);box-sizing:border-box;border: 11px solid #fff0;border-right-color:#eee;border-bottom-color: #eee;}
			.sub_technology .tech_list li dl dt + dd{margin-top: 18px;}
		.sub_technology .tech_list li dl dt img{position:relative; z-index:1;}
		.sub_technology .tech_list li dl dd{font-size:18px;font-weight:400;color:#333;line-height: 145%;letter-spacing: -0.04em;}

	/*** company/business (사업영역) ***/
		.sub_business{margin-top: -7px;}
		.sub_business .buz_list{display:flex;background:#f5f5f5;padding: 50px 50px 45px;box-sizing:border-box;border-radius: 15px;overflow: hidden;}
		.sub_business .buz_list li{width:100%;}
			.sub_business .buz_list li + li{margin-left:33px;}
		.sub_business .buz_list .thumb{font-size:0; border-radius:10px; overflow:hidden;}
			.sub_business .buz_list .thumb + dl{margin-top: 21px;}
		.sub_business .buz_list dl{text-align:center;}
		.sub_business .buz_list dl dt{font-size:20px;font-weight:500;color:#000;letter-spacing: -0.02em;}
			.sub_business .buz_list dl dt + dd{margin-top: 11px;}
		.sub_business .buz_list dl dd{font-size:16px;font-weight:400;color:#666;line-height: 166%;letter-spacing: -0.03em;word-break:keep-all;}

	/*** company/partners (고객사) ***/
		.sub_partners{margin-top:-9px;}
		.sub_partners .partner_list{display:flex; flex-wrap:wrap;}
		.sub_partners .partner_list li{font-size:0;display:inline-flex;align-items:center;justify-content: center;margin-right:20px;width:calc(100% / 5 - 16px);height:100px;border:1px solid #ddd;border-radius:10px;overflow:hidden;box-sizing:border-box; padding:15px;}
			.sub_partners .partner_list li:nth-child(5n){margin-right:0;}
			.sub_partners .partner_list li:nth-child(n+6){margin-top:20px;}


	@media only screen and (max-width: 1217px) {
		.sub_title h3{font-size:33px; line-height:125%;}
		.sub_title p{font-size:17px;}

		.sub_ceo .cont .sub_title{padding-right:50px;width: 59.56%;}
		.sub_ceo .cont .sub_title p br{display:none;}
		.sub_ceo .cont .thumb_list{padding-top:0;width: 40.44%;}

		.sub_technology .tech_list li{margin-right:25px; width:calc(100% / 4 - 18.75px);}
		.sub_technology .tech_list li dl dd{font-size:17px;}

		.sub_business .buz_list li + li{margin-left:30px;}
		.sub_business .buz_list dl dt{font-size:19px;}
		.sub_business .buz_list dl dd{font-size:15px;}
		.sub_business .buz_list dl dd br{display:none;}
	}
	@media only screen and (max-width: 1023px) {
		.sub_title h3{font-size:30px;}
			.sub_title h3 + p{margin-top:25px;}
		.sub_title p{font-size:16px;}
			.sub_title p + p{margin-top:15px;}

		.sub_ceo .cont .thumb_list li{width:calc(100% / 2 - 7.5px);}
			.sub_ceo .cont .thumb_list li + li{margin-left:15px;}
		.sub_ceo .cont .thumb_list li:first-child{margin-top:10vw;}

		.sub_technology .tech_list li{margin-right:15px; width:calc(100% / 4 - 11.25px);}
		.sub_technology .tech_list li dl dt + dd{margin-top:13px;}
		.sub_technology .tech_list li dl dd{font-size:16px;}

		.sub_partners .partner_list li{margin-right:15px; width:calc(100% / 5 - 12px); height:90px;}
			.sub_partners .partner_list li:nth-child(n+6){margin-top:15px;}

		.sub_business .buz_list{padding:45px 45px 40px;}
		.sub_business .buz_list li + li{margin-left:15px;}
		.sub_business .buz_list .thumb + dl{margin-top:18px;}
		.sub_business .buz_list dl dt{font-size:18px;}
			.sub_business .buz_list dl dt + dd{margin-top:7px;}
		.sub_business .buz_list dl dd{line-height:150%;}
	}
	@media only screen and (max-width: 860px) {
		.sub_title h3{font-size:27px;}
			.sub_title h3 + p{margin-top:20px;}
		.sub_title p{font-size:15px; line-height:150%;}

		.sub_ceo .cont .sub_title{width:50%; padding-right:20px;}
		.sub_ceo .cont .thumb_list{width:50%;}

		.sub_technology .tech_list li{width:calc(100% / 3 - 10px);}
			.sub_technology .tech_list li:nth-child(4n){margin-right:15px;}
			.sub_technology .tech_list li:nth-child(3n){margin-right:0;}
			.sub_technology .tech_list li:nth-child(n+4){margin-top:30px;}
		
		.sub_partners .partner_list li{width:calc(100% / 4 - 11.25px); height:80px;}
			.sub_partners .partner_list li:nth-child(5n){margin-right:15px;}
			.sub_partners .partner_list li:nth-child(4n){margin-right:0;}
			.sub_partners .partner_list li:nth-child(n+5){margin-top:15px;}

		.sub_business .buz_list{padding:40px 40px 43px;}
		.sub_business .buz_list dl dt{font-size:17px;}
		.sub_business .buz_list dl dd{font-size:14px;}
	}
	@media only screen and (max-width: 767px) {
		.sub_title h3{font-size:24px;}

		.sub_ceo .cont{flex-wrap:wrap;}
		.sub_ceo .cont .sub_title{width:100%; padding-right:0;}
		.sub_ceo .cont .thumb_list{width:100%; justify-content:center; margin-top:30px;}
		.sub_ceo .cont .thumb_list li{width:auto;}

		.sub_business .buz_list{flex-wrap:wrap; padding:40px 14.5vw 43px;}
		.sub_business .buz_list li{width:calc(100% / 2 - 7.5px); margin-right:15px;}
			.sub_business .buz_list li + li{margin-left:0;}
			.sub_business .buz_list li:nth-child(even){margin-right:0;}
			.sub_business .buz_list li:nth-child(n+3){margin-top:30px;}
	}
	@media only screen and (max-width: 640px) {
		.sub_ceo .cont .thumb_list li{border-radius:5px;}
		.sub_partners .partner_list li{width:calc(100% / 3 - 10px); border-radius:5px;}
			.sub_partners .partner_list li:nth-child(4n){margin-right:15px;}
			.sub_partners .partner_list li:nth-child(3n){margin-right:0;}
			.sub_partners .partner_list li:nth-child(n+4){margin-top:15px;}

		.sub_business .buz_list{padding:40px 7.5vw 43px; border-radius:7.5px;}
		.sub_business .buz_list .thumb{border-radius:5px;}
	}
	@media only screen and (max-width: 540px) {
		.sub_business .buz_list{padding:40px 15px 43px}
	}
	@media only screen and (max-width: 479px) {
		.sub_technology .tech_list li{width:calc(100% / 2 - 7.5px);}
			.sub_technology .tech_list li:nth-child(3n){margin-right:15px;}
			.sub_technology .tech_list li:nth-child(2n){margin-right:0;}
			.sub_technology .tech_list li:nth-child(n+3){margin-top:25px;}
		.sub_technology .tech_list li dl dt{border-width:5px;}
		.sub_technology .tech_list li dl dt:before{border-width:6px; width:calc(100% + 12px); height:calc(100% + 12px); top:-6px; left:-6px;}
		.sub_technology .tech_list li dl dd{font-size:15px;}

		.sub_partners .partner_list li{width:calc(100% / 2 - 7.5px);}
			.sub_partners .partner_list li:nth-child(3n){margin-right:15px;}
			.sub_partners .partner_list li:nth-child(2n){margin-right:0;}
			.sub_partners .partner_list li:nth-child(n+3){margin-top:15px;}
	}
	@media only screen and (max-width: 431px) {
		.sub_title h3{font-size:20px;}
		.sub_title p{font-size:14px;}

		.sub_business .buz_list .thumb + dl{margin-top:15px;}
			.sub_business .buz_list dl dt + dd{margin-top:5px;}

		.sub_business .buz_list li{width:100%; margin-right:0; text-align:center;}
		.sub_business .buz_list li:nth-child(n+2){margin-top:30px;}
		.sub_business .buz_list .thumb{display:inline-block;}
		.sub_business .buz_list dl dd br{display:block;}
	}
	@media only screen and (max-width: 375px) {
	}


/*───────────────────────────────────────────────────────────

	 FACTORY

───────────────────────────────────────────────────────────*/

.bullet_list { font-size: var(--title-20); }
.bullet_list > li { display: flex; align-items: baseline; gap: 10px; font-size: 80%; color: var(--black-color03); }
.bullet_list > li::before { content: ''; display: block; width: 3px; height: 3px; border-radius: 100%; background: var(--black-color03); translate: 0 -4px; flex-shrink: 0; }
.bullet_list > li + li { margin-top: 10px; }

.sub_factory .flex_wrap { display: flex; width: 100%; box-sizing: border-box; border-top: 2px solid var(--point-color01); border-bottom: 2px solid var(--point-color01); }
.sub_factory .flex_wrap > div { width: 50%; font-size: var(--title-20); box-sizing: border-box; padding-block: 30px; padding-inline: 40px; }
.sub_factory .flex_wrap .equi { background: var(--gray-bg02); }
.sub_factory .flex_wrap strong { display: block; font-size: 130%; font-weight: 400; color: var(--point-color01); margin-bottom: 40px; }

.sub_factory .factory_cont + .factory_cont { margin-top: 80px; }
.sub_factory .title_box { font-size: var(--title-20); text-align: center; }
.sub_factory .title_box h3 { font-size: 200%; color: var(--point-color01); font-weight: 500; }
.sub_factory .flex_des { counter-reset: num 0; margin-top: 40px; display: flex; flex-wrap: wrap; gap: 90px 110px; }
.sub_factory .flex_des li { position: relative; width: calc(100% / 4 - 82.5px); font-size: var(--title-20); }
.sub_factory .flex_des li .img_box { position: relative; }
.sub_factory .flex_des li .img_box::before { position: absolute; left: 120%; top: 50%; translate: -50% -50%; content: ''; width: 15px; height: 15px; border-top: 2px solid var(--black-color05); border-right: 2px solid var(--black-color05); transform: rotate(45deg); }
.sub_factory .flex_des li p { display: flex; align-items: baseline; gap: 5px; font-size: 90%; font-weight: 500; color: var(--point-color01); margin-top: 15px; }
.sub_factory .flex_des li p::before { content: counter(num, decimal-leading-zero); counter-increment: num 1; flex-shrink: 0; }
.sub_factory .flex_des li p span { color: var(--black-color05); font-weight: 400; }

.sub_factory .flex_des li:nth-child(4n) .img_box::before { left: 50%; top: calc(100% + 77px); transform: rotate(135deg); }
.sub_factory .flex_des li:nth-child(n+5):nth-child(-n+7) .img_box::before { left: -27%; transform: rotate(-135deg); }
.sub_factory .flex_des li:last-child .img_box::before { display: none; }

.sub_factory .flex_des li:nth-child(5) { order: 8; }
.sub_factory .flex_des li:nth-child(6) { order: 7; }
.sub_factory .flex_des li:nth-child(7) { order: 6; }
.sub_factory .flex_des li:nth-child(8) { order: 5; }
.sub_factory .flex_des li:nth-child(9) { order: 9; }
.sub_factory .flex_des li:nth-child(10) { order: 10; }
.sub_factory .flex_des li:nth-child(11) { order: 11; }
.sub_factory .flex_des li:nth-child(12) { order: 12; }


@media (max-width: 1023px){
    .sub_factory .flex_wrap strong { margin-bottom: clamp(20px, 4vw, 40px); }
    .sub_factory .flex_wrap > div { padding-block: clamp(15px, 3vw, 30px); padding-inline: clamp(20px, 4vw, 40px); }

    .sub_factory .flex_des { gap: 40px 60px; }
    .sub_factory .flex_des li { width: calc(100% / 4 - 45px); }
    .sub_factory .flex_des li .img_box::before { left: calc(100% + 24px); width: 10px; height: 10px; }

    .sub_factory .flex_des li:nth-child(4n) .img_box::before { top: calc(100% + 55px); }
    .sub_factory .flex_des li:nth-child(n+5):nth-child(-n+7) .img_box::before { left: -24px; }
    .sub_factory .flex_des li p { margin-top: clamp(7px, 1.5vw, 15px); font-size: 85%; }
}

@media (max-width: 860px){
    .sub_factory .flex_des li .img_box::before { display: none; }
    .sub_factory .flex_des { gap: 20px; }
    .sub_factory .flex_des li { width: calc(100% / 3 - 13.34px); }
    .sub_factory .flex_des li:nth-child(5) { order: 5; }
    .sub_factory .flex_des li:nth-child(6) { order: 6; }
    .sub_factory .flex_des li:nth-child(7) { order: 7; }
    .sub_factory .flex_des li:nth-child(8) { order: 8; }
}

@media (max-width: 640px){
    .sub_factory .flex_wrap { flex-direction: column; }
    .sub_factory .flex_wrap > div { width: 100%; }
}

@media (max-width: 479px){
    .sub_factory .flex_des { gap: 15px; }
    .sub_factory .flex_des li { width: calc(100% / 2 - 7.5px); }
}

.sub_inquiry { text-align: center; font-size: var(--title-16); }
.sub_inquiry h1 { color: #0056b3; margin-bottom: 25px; font-size: 1.5em; }
.sub_inquiry p { font-size: 1.1em; margin-bottom: 20px; }
.sub_inquiry .email-address { font-size: 2em; font-weight: bold; color: #d9534f; text-decoration: underline; }
.sub_inquiry .icon { margin-bottom: 20px; }
.sub_inquiry .icon img { width: 80px; /* Adjust icon size */ height: auto; }
.sub_inquiry hr { border: 0; height: 1px; background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)); margin: 30px 0; }



.tech_cont .flex_des { display: flex; gap: 60px 40px; width: 100%; flex-wrap: wrap; }
.tech_cont .flex_des li { width: 100%; display: flex; align-items: center; gap: 40px; box-sizing: border-box; }
.tech_cont .flex_des .img_box { flex-shrink: 0; width: 200px; }
.tech_cont .flex_des dl { font-size: var(--title-20); word-break: keep-all; box-sizing: border-box; border: 1px solid var(--border-color01); width: calc(100% - 240px); }
.tech_cont .flex_des dt { font-size: 120%; color: var(--black-color03); box-sizing: border-box; padding-block: 20px; padding-inline: 30px; background: var(--gray-bg01); }
.tech_cont .flex_des dd { font-size: 90%; box-sizing: border-box; padding-inline: 30px; padding-block: 20px; line-height: 1.5; border-top: 1px solid var(--border-color01); }

@media (max-width: 1023px){
    .tech_cont .flex_des dt { padding-block: clamp(15px, 2vw, 20px); padding-inline: clamp(15px, 3vw, 30px); }
    .tech_cont .flex_des dd { padding-block: clamp(15px, 2vw, 20px); padding-inline: clamp(15px, 3vw, 30px); }
}

@media (max-width: 860px){
    .tech_cont .flex_des li { gap: 30px; }
    .tech_cont .flex_des dl { width: calc(100% - 220px); }
    .tech_cont .flex_des { gap: 40px 20px; }   
}

@media (max-width: 640px){
    
    .tech_cont .flex_des li { flex-direction: column; align-items: center; }
    .tech_cont .flex_des dl { width: 100%; }
    .tech_cont .flex_des { gap: 30px; }
    .tech_cont .flex_des .img_box { width: 150px; }
}

@media (max-width: 479px){
    .tech_cont .flex_des li { gap: 15px; }
    .tech_cont .flex_des .img_box { width: 120px; }
}

.sub_cert .flex_des { display: flex; gap: 60px 40px; box-sizing: border-box; flex-wrap: wrap; }
.sub_cert .flex_des li { width: calc(100% / 4 - 30px); position: relative; font-size: var(--title-20); }
.sub_cert .flex_des .img_box { position: relative; background: var(--gray-bg02); padding-bottom: 326px; box-sizing: border-box; height: 0; overflow: hidden; }
.sub_cert .flex_des .img_box img { position: absolute; left: 50%; top: 50%; translate: -50% -50%; max-width: 80%; max-height: 80% }
.sub_cert .flex_des strong { display: block; text-align: center; font-size: 100%; font-weight: 500; color: var(--point-color01); letter-spacing: -0.03em; margin-top: 20px; }

@media (max-width: 1023px){
    .sub_cert .flex_des { gap: 40px 20px; }
    .sub_cert .flex_des li { width: calc(100% / 4 - 15px); }
    .sub_cert .flex_des .img_box { padding-bottom: clamp(250px, 32vw, 326px); }
    .sub_cert .flex_des strong { margin-top: clamp(15px, 2vw, 20px); }
}

@media (max-width: 860px){
    .sub_cert .flex_des li { width: calc(100% / 3 - 13.34px); }
}

@media (max-width: 640px){
    .sub_cert .flex_des { gap: 30px 20px; }
    .sub_cert .flex_des li { width: calc(100% / 2 - 10px); }
}

@media (max-width: 479px){
    .sub_cert .flex_des { gap: 20px 15px; }
    .sub_cert .flex_des li { width: calc(100% / 2 - 7.5px); }
}

@media (max-width: 360px){
    .sub_cert .flex_des li { width: 100%; }
}


.sub_cata .flex_des { display: flex; gap: 60px 40px; box-sizing: border-box; flex-wrap: wrap; }
.sub_cata .flex_des li { width: calc(100% / 4 - 30px); position: relative; font-size: var(--title-20); }
.sub_cata .flex_des .img_box { position: relative; padding-bottom: 366px; box-sizing: border-box; height: 0; overflow: hidden; }
.sub_cata .flex_des .img_box img { position: absolute; left: 50%; top: 50%; translate: -50% -50%; max-width: 100%;  }
.sub_cata .flex_des .img_box .ov { position: absolute; left: 0; top: 0; display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; background: rgba(255,255,255,.8); opacity: 0; pointer-events: none; transition: all 0.4s; }
.sub_cata .flex_des .img_box .ov span { position: relative; z-index: 2; }
.sub_cata .flex_des .img_box .ov a { position: relative; display: flex; justify-content: center; align-items: center; box-sizing: border-box; padding-block: 10px; padding-inline: 20px; border: 1px solid var(--point-color01); border-radius: var(--radius-10); color: var(--point-color01); overflow: clip; transition: all 0.4s; }
.sub_cata .flex_des .img_box .ov a::before { content: ''; position: absolute; left: 0; top: 0; width: 0; height: 100%; background: var(--point-color01); transition: all 0.4s; }
.sub_cata .flex_des strong { display: block; text-align: center; font-size: 100%; font-weight: 500; color: var(--point-color01); letter-spacing: -0.03em; margin-top: 20px; }

@media (hover: hover) and (pointer: fine){
    .sub_cata .flex_des .img_box:hover .ov { opacity: 1; pointer-events: auto; }
    .sub_cata .flex_des .img_box .ov a:hover { color: var(--point-white); }
    .sub_cata .flex_des .img_box .ov a:hover::before { width: 100%; }
}

@media (max-width: 1023px){
    .sub_cata .flex_des { gap: 40px 20px; }
    .sub_cata .flex_des li { width: calc(100% / 4 - 15px); }
    
    .sub_cata .flex_des .img_box { padding-bottom: clamp(300px, 36vw, 366px); }
    .sub_cata .flex_des strong { margin-top: clamp(15px, 2vw, 20px); }

    .sub_cata .flex_des .img_box .ov { opacity: 1; pointer-events: auto; }
    .sub_cata .flex_des .img_box .ov a { padding-block: clamp(7px, 1vw, 10px); padding-inline: clamp(15px, 2vw, 20px); }
}

@media (max-width: 860px){
    .sub_cata .flex_des li { width: calc(100% / 3 - 13.34px); }
}

@media (max-width: 640px){
    .sub_cata .flex_des { gap: 30px 20px; }
    .sub_cata .flex_des li { width: calc(100% / 2 - 10px); }
}

@media (max-width: 479px){
    .sub_cata .flex_des { gap: 20px 15px; }
    .sub_cata .flex_des li { width: calc(100% / 2 - 7.5px); }
}

@media (max-width: 360px){
    .sub_cata .flex_des li { width: 100%; }
}

.sub_manu .flex_des { display: flex; gap: 40px 20px; box-sizing: border-box; flex-wrap: wrap; }
.sub_manu .flex_des .img_box { box-sizing: border-box; padding-block: 50px; border-bottom: 1px solid var(--border-color01); background: var(--point-white); }
.sub_manu .flex_des .ico { aspect-ratio: 1 /1 ; margin-inline: auto; width: 100px; }
.sub_manu .flex_des li { width: calc(100% / 3 - 13.34px); font-size: var(--title-18); text-align: center; box-sizing: border-box; border: 1px solid var(--border-color01); background: var(--gray-bg01); border-radius: var(--radius-10); overflow: clip; }
.sub_manu .flex_des p { text-wrap: balance; line-height: 1.5; box-sizing: border-box; padding: 20px; }

@media (max-width: 1023px){
    .sub_manu .flex_des li { width: calc(100% / 2 - 10px); }
    .sub_manu .flex_des .img_box { padding-block: clamp(20px, 5vw, 50px); }
    .sub_manu .flex_des p { padding: clamp(15px, 2vw, 20px); }
    .sub_manu .flex_des .ico { width: clamp(60px, 10vw, 100px); }
}

@media (max-width: 860px){
    .sub_manu .flex_des { gap: 30px 20px; }
}

@media (max-width: 640px){
    .sub_manu .flex_des { gap: 15px; }
    .sub_manu .flex_des li { width: 100%; }
}


#contents_wrap:has(.sub_product) { max-width: 1400px; width: calc(100% - 30px); box-sizing: border-box; padding: 0 !important; }
.sub_product .product_wrap + .product_wrap { margin-top: 120px; }

.sub_product .banner_wrap { font-size: var(--title-20); }
.sub_product .banner_wrap .txt_box { margin-top: 30px; }
.sub_product .banner_wrap h3 { font-size: 200%; color: var(--black-color03); font-weight: 500; letter-spacing: -0.02em; }
.sub_product .banner_wrap h3 + p { margin-top: 40px; }
.sub_product .banner_wrap p + p { margin-top: 20px; }
.sub_product .banner_wrap p { font-size: 90%; line-height: 1.5; font-weight: 400; word-break: keep-all; }


.sub_product .table_wrap { position: relative; width: 100%; }
.sub_product .table_wrap .table_title { font-size: var(--title-20); margin-bottom: 20px; }
.sub_product .table_wrap .table_title h4 { display: flex; gap: 10px; align-items: baseline;  font-size: 150%; color: var(--black-color03); font-weight: 500; }
.sub_product .table_wrap .table_title h4::before { content: ''; display: block; width: 6px; height: 6px; background: var(--point-color01); border-radius: 100%; translate: 0 -6px; flex-shrink: 0; }

.sub_product .table_wrap .scr_txt { font-size: var(--title-18); margin-bottom: 12px; display: none; }

.sub_product .table_wrap table { text-align: center; font-size: var(--title-20); width: 100%; box-sizing: border-box; }
.sub_product .table_wrap table th { background: var(--point-color01); color: var(--point-white); border-left: 1px solid var(--point-white); border-bottom: 1px solid var(--point-white);  }


.sub_product .table_wrap table :where(th, td) { box-sizing: border-box; padding-block: 15px; padding-inline: 10px; font-size: 90%; }
.sub_product .table_wrap table tbody tr:nth-child(even) td { background: vaR(--gray-bg01); }
.sub_product .table_wrap table tbody tr td:first-child { color: var(--point-color01); }
.sub_product .table_wrap table tbody tr td:not(:first-child) { border-left: 1px solid var(--point-white); }
.sub_product .table_wrap table tbody tr:not(:last-child) td { border-bottom: 1px solid var(--point-white); }

.sub_product .ter_list { box-sizing: border-box; max-width: 1200px; margin-block: 80px; margin-inline: auto; }
.sub_product .ter_list .flex_des { display: flex; flex-wrap: wrap; gap: 30px; }
.sub_product .ter_list .flex_des li { width: calc(100% / 8 - 26.25px); aspect-ratio: 1 auto; }
.sub_product .ter_list .flex_des li img { width: 100%; height: 100%; object-fit: cover; }

.num_list { counter-reset: num 0; }
.num_list > li { display: flex; align-items: baseline; gap: 10px; font-size: var(--title-16); }
.num_list > li + li { margin-top: 10px; }
.num_list > li::before { content: counter(num, decimal-leading-zero); counter-increment: num 1; display: flex; justify-content: center; padding: 7px; border-radius: 100%; background: var(--point-color01); color: var(--point-white); font-size: var(--title-15); }

.sub_product .num_list { margin-top: 30px; }

@media (max-width: 1400px){
    .swiper-container { overflow: visible !important; }
    .sub_product .table_wrap .scr_txt { display: block; }
    .sub_product .table_wrap .scr_wrap .info_table { width: 1400px; }
}

@media (max-width: 1023px){
    .sub_product .product_wrap + .product_wrap { margin-top: clamp(60px, 12vw, 120px); }
    .sub_product .banner_wrap .txt_box { margin-top: clamp(20px, 3vw, 30px); }
    .sub_product .banner_wrap h3 + p { margin-top: clamp(20px, 4vw, 40px); }
    .sub_product .banner_wrap p + p { margin-top: clamp(15px, 2vw, 20px); }
    .sub_product .ter_list { margin-block: clamp(40px, 8vw, 80px); }
    .sub_product .ter_list .flex_des { gap: 20px; }
    .sub_product .ter_list .flex_des li { width: calc(100% / 8 - 17.5px); }

    .sub_product .num_list { margin-top: clamp(15px, 3vw, 30px); }
}

@media (max-width: 860px){
    #contents_wrap:has(.sub_product) { width: calc(100% - 30px); }
    .sub_product .ter_list .flex_des li { width: calc(100% / 6 - 16.67px); }
}

@media (max-width: 640px){
    .sub_product .ter_list .flex_des { gap: 15px; }
    .sub_product .ter_list .flex_des li { width: calc(100% / 6 - 12.5px); }
}

@media (max-width: 479px){
    .sub_product .ter_list .flex_des li { width: calc(100% / 4 - 11.25px); }
}


.work_wrap h4 { position: relative; box-sizing: border-box; padding: 15px; width: 230px; height: 230px; border-radius: 100%; background: var(--point-color01); margin-inline: auto; z-index: 6; }
.work_wrap h4 div { font-size: var(--title-20); display: flex; flex-direction: column; gap: 2px; justify-content: center; align-items: center; padding: 30px; width: 100%; height: 100%; box-sizing: border-box; border-radius: inherit; background: var(--point-white); box-shadow: 0 0 21px rgba(0, 0, 0, 0.25); }
.work_wrap h4 em { display: block; margin-top: -2px; font-size: 120%; color: rgba(0, 65, 156, 0.4); }
.work_wrap h4 span { font-size: 150%; color: var(--point-color02); font-weight: 600; letter-spacing: 0; color: var(--point-color01); }

.work_wrap h5 { position: relative; width: 100%; box-sizing: border-box; font-size: var(--title-20); color: var(--point-white); margin-block: 30px; z-index: 5; }
.work_wrap h5::before { display: none; }
.work_wrap h5 span { font-size: 120%; display: flex; justify-content: center; align-items: center; width: 50%; max-width: 250px; box-sizing: border-box; padding-block: 18px; padding-inline: 20px; background: #404558; margin-inline: auto; position: relative; z-index: 5; border-radius: 80px; }
.work_wrap .line_wrap { position: relative; box-sizing: border-box; margin-top: 50px; display: flex; flex-wrap: wrap; gap: 60px; }
.work_wrap .line_wrap::before { content: ''; position: absolute; left: 50%; top: -223px; width: 1px; height: 223px; background: var(--border-color01); }
.work_wrap .line_wrap > li { flex-shrink: 0; }
.work_wrap .line_wrap .line_box { position: relative; box-sizing: border-box; padding-top: 40px; text-align: center; font-size: var(--title-20); width: calc(100% / 2 - 30px); }
.work_wrap .line_wrap .line_box::before { content: ''; position: absolute; left: 50%; top: 0; width: 1px; height: 40px; background: var(--border-color01); }
.work_wrap .line_wrap .line_box:not(:last-child)::after { content: ''; position: absolute; left: calc(50% + 1px); width: calc(100% + 60px); height: 1px; top: 0; background: var(--border-color01); }
.work_wrap .line_wrap .line_box strong { position: relative; display: block; box-sizing: border-box; padding-block: 18px; padding-inline: 20px; color: var(--point-color01); font-weight: 400; font-size: 110%; letter-spacing: -0.03em; background: var(--point-white); border-radius: 80px; margin-inline: auto; max-width: 300px; border: 2px solid var(--point-color01); z-index: 5; }
.work_wrap .line_wrap .line_box strong::after { content: ''; position: absolute; left: 50%; top: calc(100% + 2px); width: 1px; height: 60px; background: var(--border-color01); z-index: 1; }
.work_wrap .line_wrap .work2 { display: flex; gap: 15px; padding-top: 120px; }
.work_wrap .line_wrap .work2 li { position: relative; display: flex; justify-content: center; align-items: center; width: 100%; padding-block: 19px; padding-inline: 20px; box-sizing: border-box; background: var(--border-color01);  font-size: 100%; color: var(--black-color03); font-weight: 400; letter-spacing: -0.03em; z-index: 5; }
.work_wrap .line_wrap .work2 li:not(:last-child)::after { content: ''; position: absolute; width: calc(100% + 15px); height: 1px; left: 50%; top: -100%; background: var(--border-color01); }
.work_wrap .line_wrap .work2 li::before { content: ''; position: absolute; left: 50%; top: -100%; translate: 0; width: 1px; height: 100%; background: var(--border-color01); z-index: 1; }
.work_wrap .line_wrap .work2 li span { font-size: 100%; font-family: inherit; }


@media (max-width: 1200px){
    .work_wrap .line_wrap .work2 { flex-direction: column; padding-top: 60px; }
    .work_wrap .line_wrap .work2 li { max-width: 300px; margin-inline: auto; }
    .work_wrap .line_wrap .work2 li::before { display: none; }
    .work_wrap .line_wrap .work2 li:not(:last-child)::after { display: none; }
}

@media (max-width: 1023px){
    .work_wrap .line_wrap .work2 { padding-top: clamp(30px, 6vw, 60px); }
    .work_wrap h5 span { padding-block: clamp(15px, 1.8vw, 18px); }
    .work_wrap .line_wrap .line_box strong { padding-block: clamp(15px, 1.8vw, 18px); }
    .work_wrap .line_wrap .work2 li { padding-block: clamp(15px, 1.9vw, 19px); }
}

@media (max-width: 640px){
    .work_wrap .line_wrap { gap: 30px; }
    .work_wrap .line_wrap .line_box { width: calc(100% / 2 - 15px); }
    .work_wrap .line_wrap .line_box strong { font-size: 100%; }
    .work_wrap .line_wrap .line_box:not(:last-child)::after { width: calc(100% + 30px); }
}

@media (max-width: 495px){
    .work_wrap h4 { width: 190px; height: 190px; }
    .work_wrap h5 span { width: 100%; }
    .work_wrap .line_wrap { flex-direction: column; }
    .work_wrap .line_wrap .line_box { width: 100%; }
    .work_wrap .line_wrap .line_box { padding-top: 0; }
    .work_wrap .line_wrap .line_box:nth-child(2)::before { display: none; }
    .work_wrap .line_wrap .line_box:not(:last-child)::after { display: none; }
}