@charset "utf-8";

/*───────────────────────────────────────────────────────────
	
	공통

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

#container:has(.full_sec) { width: 100%; max-width: 100%; }


.page_title { font-size: var(--title-20); margin-bottom: 40px; }
.page_title h3 { font-size: 230%; font-weight: 600; letter-spacing: -0.03em; color: var(--black-color02); }
.page_title p { color: var(--black-color02); font-weight: 400; font-size: 100%; letter-spacing: -0.03em; margin-top: 24px; }
.page_title p strong{font-size:110%;color:inherit;font-weight:500;line-height:1.3;display: block;}
.page_title p span{font-size:90%;color:var(--black-color05);font-weight:400;display: block;margin-top:14px;}
.page_title em { font-weight: inherit; color: var(--point-color01); }

.sub_title { font-size: var(--title-20); }
.sub_title h4 { font-size: 170%; letter-spacing: -0.03em; font-weight: 500; color: var(--black-color01); }
.sub_title h4 em { color: var(--point-color01); font-weight: inherit; }

.desc { font-size: var(--title-20); }
.desc p { font-size: 100%; line-height: 1.8; letter-spacing: -0.04em; color: var(--black-color05); }
.desc strong { font-size: inherit; font-weight: 500; letter-spacing: inherit; color: var(--black-color01); }

.sq_title { font-size: var(--title-20); margin-bottom: 27px; }
.sq_title h4 { display: flex; align-items: baseline; gap: 14px; color: var(--black-color02); font-size: 120%; font-weight: 600; color: var(--black-color02); line-height: 1.3; letter-spacing: -0.01em; }
.sq_title h4::before { content: ''; display: block; width: 10px; aspect-ratio: auto 1; background: var(--point-color01); translate: 0 -3px; }

.flex_col { display: flex; flex-direction: column; }
.flex_des { display: flex; }
.g40 { gap: 40px; }
.g20 { gap: 20px; }
.g16 { gap: 16px; }
.g15 { gap: 15px; }
.g10 { gap: 10px; }
.g6 { gap: 6px; }

.dots { font-size: var(--title-20); }
.dots > li { font-size: 90%; color: var(--black-color03); font-weight: 400; letter-spacing: -0.02em; line-height: 1.8 }
.dots > li > span { display: flex; align-items: baseline; gap: 5px; }
.dots > li > span::before { content: '·'; display: inline-block; }

@media (max-width: 1023px) {
    .page_title { margin-bottom: clamp(20px, 4vw, 40px); }
    .page_title h3 { font-size: clamp(30px, 4.6vw, 46px) }
    .page_title p { margin-top: clamp(12px, 2.4vw, 24px); }
    .sub_title h4 { font-size: clamp(27px, 3.4vw, 34px) }

    .g40 { gap: clamp(20px, 4vw, 40px); }
    .g20 { gap: clamp(15px, 2vw, 20px); }

    .g15 { gap: clamp(7px, 1.5vw, 15px); }
    
    .sq_title { margin-bottom: clamp(17px, 2.7vw, 27px); }
    .sq_title h4 { font-size: clamp(18px, 2.4vw, 24px); gap: clamp(10px, 1.4vw, 14px); }
    .sq_title h4::before { width: clamp(6px, 1vw, 10px); translate: 0 clamp(-3px, -0.3vw, -1px); }
}

@media (max-width: 479px) {
    .page_title p span{margin-top:10px;}
}

/*───────────────────────────────────────────────────────────
	
	어바웃

───────────────────────────────────────────────────────────*/
#container:has(.ceo_cont) { padding-bottom: 0; }
.sub_about .banner_img { margin-bottom: 40px; width: 100%;  }
.sub_about .banner_img img { min-height: 250px; object-fit: cover; }
.sub_about .about_cont { box-sizing: border-box; padding-bottom: 120px; }
.sub_about .about_cont .desc p:has(strong) { margin-top: 10px; line-height: 1.6; }
.sub_about .ceo_cont { box-sizing: border-box; padding-block: 120px;  }
.sub_about .ceo_cont .flex_des { flex-wrap: wrap; gap: 40px 0; }
.sub_about .ceo_cont .img_wrap { width: 26.56%; }
.sub_about .ceo_cont .text_wrap { width: 73.44%; box-sizing: border-box; padding-left: 80px; padding-top: 5px; }
.sub_about .ceo_cont .sub_title { margin-bottom: 35px; }
.sub_about .ceo_cont .desc { gap: 19px; }
.sub_about .ceo_cont .sign_wrap { margin-top: 39px; font-size: var(--title-20); }
.sub_about .ceo_cont .sign_wrap h5 { font-size: 130%; font-weight: 500; line-height: 1.6; letter-spacing: -0.03em; gap: 17px; }
.sub_about .ceo_cont .sign_wrap em { mix-blend-mode: darken !important; max-width: 207px; }
.sub_about .ceo_cont .desc p { font-size: 90%; }
.sub_about .point_bg { background: var(--gray-bg05) url('../images/sub/img_about_bg.jpg') no-repeat left bottom / 100% auto; }

@media (max-width: 1023px) {
    .sub_about .about_cont { padding-bottom: clamp(60px, 12vw, 120px); }
    .sub_about .banner_img { margin-bottom: clamp(20px, 4vw, 40px); }
    .sub_about .ceo_cont { padding-block: clamp(60px, 12vw, 120px); }
    .sub_about .ceo_cont .flex_des { gap: clamp(20px, 4vw, 40px) 0; }
    .sub_about .ceo_cont .img_wrap { width: 100%; max-width: 340px; }
    .sub_about .ceo_cont .text_wrap { padding-left: 0; padding-top: 0; width: 100%; }
    .sub_about .ceo_cont .sub_title { margin-bottom: clamp(20px, 3.5vw, 35px); }

    .sub_about .ceo_cont .desc { gap: clamp(15px, 2vw, 19px); }
    .sub_about .ceo_cont .sign_wrap { margin-top: clamp(20px, 4vw, 39px); }
    .sub_about .ceo_cont .sign_wrap h5 { gap: clamp(15px, 2vw, 17px); }
}


/*───────────────────────────────────────────────────────────
	
	히스토리

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

.sub_history .banner_img { position: relative; }
.sub_history .banner_img .thumb img { min-height: 200px; object-fit: cover; }
.sub_history .banner_img .page_title { position: absolute; left: 0; top: 50%; translate: 0 -50%; width: 100%; box-sizing: border-box; padding-inline: 100px; filter: var(--filter-white);  margin: 0; }
.sub_history .history_box_wrap { position: relative; }
.sub_history .history_cont { margin-top: 76px; position: relative; }
.sub_history .history_cont .line { position: absolute; left: 43.4%; top: 15px; width: 1px; height: 100%; background: var(--border-color04); display: block; }
.sub_history .history_cont .line span { position: absolute; left: 0; top: 0; width: 100%; background: var(--point-color01); }

.sub_history .history_box { box-sizing: border-box; }
.sub_history .history_box > .page_title { width: 43.44%; box-sizing: border-box; padding-right: 40px; margin: 0; }
.sub_history .history_box > .page_title h3 { position: relative; color: var(--black-color03); letter-spacing: 0; }
.sub_history .history_box > .page_title h3::after { content: ''; position: absolute; left: calc(100% + 40px); top: 20px; translate: -50% -50%; width: 10px; aspect-ratio: auto 1; background: var(--black-color10); border-radius: 100%; transition: all 0.4s; }
.sub_history .history_box > .page_title p { letter-spacing: -0.02em; }
.sub_history .history_box > .history_info { width: 56.56%; }
.sub_history .history_box:not(:last-child) { padding-bottom: 114px; }
.sub_history .history_info { box-sizing: border-box; padding-left: 105px; }
.sub_history .dots .dep2 { font-size: var(--title-20); box-sizing: border-box; padding-left: 0.45em; }
.sub_history .dots .dep2 li { font-size: 85%; color: var(--black-color05); line-height: 1.8; letter-spacing: -0.03em; }

.sub_history .patent_wrap { margin-top: 32px; }
.sub_history .patent_wrap .flex_des { flex-wrap: wrap; }
.sub_history .patent_wrap .flex_des > li { width: calc(100% / 3 - 13.34px); text-align: center; }
.sub_history .patent_wrap .flex_des > li dl { font-size: var(--title-20); }
.sub_history .patent_wrap .flex_des > li dt { box-sizing: border-box; padding: 9px; border: 1px solid var(--border-color01); }
.sub_history .patent_wrap .flex_des > li dd { color: var(--black-color03); font-weight: 400; font-size: 85%; line-height: 1.4; letter-spacing: -0.02em; margin-top: 17px; }
.sub_history .patent_wrap .flex_des > li .img_wrap { max-width: 160px; box-sizing: border-box; }

.sub_history .patent_wrap .bd .img_wrap { position: relative; }
.sub_history .patent_wrap .bd .img_wrap::before { content: ''; position: absolute; left: 0; top: 0; width: 100%; height: 100%; border: 1px solid var(--border-color01); box-sizing: border-box; }


.sub_history .history_box:nth-child(2) .flex_des > li:not(:first-child) { width: auto; }
.sub_history .history_box:nth-child(2) .flex_des > li:first-child { width: auto; }


.sub_history .history_box.on > .page_title h3::after { background: var(--point-color01); box-shadow: 0 0 0 6px rgba(235, 2, 2, 0.1); }


.sub_history .history_box:not(:nth-child(2)) .patent_wrap .flex_des > li { max-width: 180px; }


@media (max-width: 1023px) {
    .sub_history .banner_img .page_title { padding-inline: clamp(30px, 6vw, 100px); }
    .sub_history .history_cont { margin-top: clamp(40px, 8vw, 76px); }
    .sub_history .history_info { padding-left: clamp(40px, 8vw, 105px); }
    .sub_history .patent_wrap { margin-top: clamp(22px, 3.2vw, 32px); }
    .sub_history .history_box:not(:last-child) { padding-bottom: clamp(60px, 11vw, 114px); }
    .sub_history .patent_wrap .flex_des > li dd { margin-top: clamp(14px, 1.7vw, 17px); }
}

@media (max-width: 860px) {
    .sub_history .history_cont { padding-left: 50px; }
    .sub_history .history_box { flex-direction: column; gap: clamp(25px, 5vw, 50px); }
    .sub_history .history_box > .page_title { width: 100%; padding-right: 0; }
    .sub_history .history_box > .page_title h3::after { left: -39px;  }
    .sub_history .history_box > .history_info { width: 100%; padding-left: 0; }
    .sub_history .history_cont .line { left: 10px; top: 30px; height: calc(100% - 15px); }
}

@media (max-width: 479px) {
    .sub_history .patent_wrap .flex_des { flex-direction: column; }

    .sub_history .patent_wrap .flex_des > li { width: 100%; }
    .sub_history .patent_wrap .flex_des > li dl { width: fit-content; }
    .sub_history .patent_wrap .flex_des > li dt { width: fit-content; }
}



/*───────────────────────────────────────────────────────────
	
	인증서

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

.sub_partners .flex_des { flex-wrap: wrap; gap: 60px 20px; }
.sub_partners .flex_des > li { width: calc(100% / 4 - 15px); }

.sub_partners .flex_des > li dt { box-sizing: border-box; padding-inline: clamp(30px, 4.2vw, 55px) clamp(30px, 4.2vw, 54px); padding-block: clamp(20px, 2.7vw, 37px); background: var(--gray-bg01); }
.sub_partners .flex_des > li dt .img_box { display: flex; justify-content: center; align-items: center; height: clamp(140px, 19vw, 266px); width: fit-content; margin-inline: auto; }
.sub_partners .flex_des > li dt .img_box img { box-shadow: var(--shadow-03);  }
.sub_partners .flex_des > li dl { font-size: var(--title-20); text-align: center; }
.sub_partners .flex_des > li dd { color: var(--black-color03); font-weight: 500; font-size: 100%; line-height: 1.5; letter-spacing: 0.02em; margin-top: 20px; }

@media (max-width: 1023px) {
    .sub_partners .flex_des { gap: clamp(20px, 6vw, 60px) 20px; }
    .sub_partners .flex_des > li { width: calc(100% / 3 - 13.34px); }
    .sub_partners .flex_des > li dt .img_box { height: clamp(170px, 26vw, 266px) }
    .sub_partners .flex_des > li dt { padding-block: clamp(20px, 3vw, 37px); padding-inline: clamp(20px, 5vw, 55px); }
    .sub_partners .flex_des > li dd { margin-top: clamp(15px, 2vw, 20px); }
}


@media (max-width: 640px) {
    .sub_partners .flex_des > li { width: calc(100% / 2 - 10px); }
}

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

@media (max-width: 350px){
    .sub_partners .flex_des > li { width: 100%; }
}


/*───────────────────────────────────────────────────────────
	
	오시는길

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

.sub_location .map_wrap { width: 100%; height: 600px;  }
.sub_location .flex_des { display: flex; margin-top: 61px; }
.sub_location .office_title { width: 29.69%; box-sizing: border-box; font-size: var(--title-20); padding-right: 40px;  }
.sub_location .office_title .img_wrap { max-width: 288px; margin-top: -1px; }
.sub_location .office_info { width: 70.31%; }
.sub_location .office_info li + li { margin-top: 19px; padding-top: 21px; border-top: 1px solid var(--border-color03); }
.sub_location .office_info dl { display: flex; font-size: var(--title-20); align-items: baseline; }
.sub_location .office_info dl dt { display: flex; align-items: center; gap: 20px; color: var(--black-color02); font-family: var(--font-type02); font-weight: 500; font-size: 100%;  letter-spacing: -0.01em; width: clamp(140px, 14vw, 180px); box-sizing: border-box; padding-right: 20px; translate: 0 -1px; flex-shrink: 0; }
.sub_location .office_info dl dt em { display: flex; justify-content: center; align-items: center; width: 36px; aspect-ratio: auto 1; background: var(--gray-bg01); flex-shrink: 0; }
.sub_location .office_info dl dt em img { max-width: calc(100% - 15px); max-height: calc(100% - 15px); }

.sub_location .office_info dl dd { width: calc(100% - clamp(140px, 14vw, 180px)); color: var(--black-color05); font-weight: 400; font-size: 90%; letter-spacing: -0.03em; translate: 0 1px; }
.sub_location .office_info li:nth-child(1) dl dd { font-size: 90%; }

@media (max-width: 1023px) {
    .sub_location .map_wrap { height: clamp(300px, 60vw, 600px); }
    .sub_location .flex_des { margin-top: clamp(30px, 6vw, 61px); }
    .sub_location .office_info li + li { margin-top: clamp(15px, 2vw, 19px); padding-top: clamp(15px, 2vw, 21px); }
    .sub_location .office_info dl dt { width: clamp(120px, 14vw, 140px); gap: clamp(15px, 2vw, 20px); }
    .sub_location .office_info dl dt em { width: clamp(30px, 3.6vw, 36px); }
    .sub_location .office_info dl dd { width: calc(100% - clamp(120px, 14vw, 140px)); }

}

@media (max-width: 860px) {
    .sub_location .flex_des { flex-direction: column; gap: clamp(20px, 4vw, 40px); }
    .sub_location .office_title { width: 100%; padding-right: 0; }
    .sub_location .office_info { width: 100%; }

    .sub_location .office_title .img_wrap { max-width: clamp(230px, 29vw, 288px); }
}

@media (max-width: 479px) {
    .sub_location .office_info dl { flex-direction: column; gap: 12px; }
    .sub_location .office_info dl dt { width: 100%; }
    .sub_location .office_info dl dd { width: 100%; }
}

/*───────────────────────────────────────────────────────────
	
	글로벌 네트워크

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

.sub_global .page_title { margin-bottom: 60px; }
.sub_global .page_title h3 { font-size: 300%; letter-spacing: 0; }
.sub_global .page_title p { font-size: 140%; margin-top: 20px; letter-spacing: 0; }
.sub_global .office_list { margin-top: 43px; }
.sub_global .office_list .flex_des { flex-wrap: nowrap; width: 100%; }
.sub_global .office_list .flex_des > li { width: 100%; box-sizing: border-box; box-shadow: 0 0 0 1px inset var(--border-color01); }
.sub_global .office_list dl { font-size: var(--title-20); }
.sub_global .office_list dt { box-sizing: border-box; padding-block: 20px 18px; padding-inline: 10px; text-align: center; background: var(--black-color01); font-size: 120%; font-weight: 600; letter-spacing: -0.02em; }
.sub_global .office_list dt span { filter: var(--filter-white); }
.sub_global .office_list dd { box-sizing: border-box; padding-block: 25px; padding-inline: 30px; }
.sub_global .office_list dd .dots > li { font-size: 100%; }
.sub_global .office_wrap { margin-top: 80px; }
.sub_global .office_info { margin-top: 100px; }
.sub_global .office_info .flex_des { flex-wrap: nowrap; width: 100%; }
.sub_global .office_info .flex_des li { width: 100%; }
.sub_global .office_info dl { font-size: var(--title-20); }
.sub_global .office_info dt { color: var(--black-color01); font-weight: 500; font-size: 120%; line-height: 1.3; letter-spacing: -0.01em; }
.sub_global .office_info dd { color: var(--black-color05); font-weight: 400; font-size: 90%; line-height: 1.7; letter-spacing: -0.03em; box-sizing: border-box; padding-top: 22px; margin-top: 19px; border-top: 1px solid var(--black-color03); gap: 12px; }
.sub_global .office_info dd li { display: flex; flex-wrap: wrap; }
.sub_global .office_info dd .dots { gap: 7px; }
.sub_global .office_info dd .dots li { color: inherit; gap: 3px; }

@media (max-width: 1023px) {
    .sub_global .page_title { margin-bottom: clamp(30px, 6vw, 60px); }
    .sub_global .page_title h3 { font-size: clamp(30px, 6vw, 60px); }
    .sub_global .page_title p { font-size: clamp(18px, 2.4vw, 24px); margin-top: clamp(12px, 2vw, 20px); }

    .sub_global .office_list { margin-top: clamp(20px, 4.3vw, 43px); }
    .sub_global .office_list dt { font-size: clamp(18px, 2.4vw, 24px); padding-block: clamp(15px, 2vw, 20px) clamp(15px, 2vw, 18px); }
    .sub_global .office_list dd { padding-block: clamp(15px, 2.5vw, 25px); padding-inline: clamp(20px, 3vw, 30px); }

    .sub_global .office_wrap { margin-top: clamp(40px, 8vw, 80px); }
    .sub_global .office_info { margin-top: clamp(50px, 10vw, 100px); }
    .sub_global .office_info .flex_des { flex-direction: column; }
    .sub_global .office_info dd { margin-top: clamp(15px, 2vw, 19px); padding-top: clamp(15px, 2vw, 22px); }
}

@media (max-width: 860px) {
    .sub_global .office_list .flex_des { flex-direction: column; }
    .sub_global .slo_wrap .flex_des { flex-wrap: wrap; }
    .sub_global .slo_wrap .flex_des li { width: calc(100% / 2 - 10px); }
}


@media (max-width: 350px) {
    .sub_global .office_wrap .flex_des { flex-direction: column; }
    .sub_global .slo_wrap .flex_des li { width: 100%; }
}


/*───────────────────────────────────────────────────────────
	
	business

───────────────────────────────────────────────────────────*/
	.sub_business .page_title p{display: flex;flex-direction: column;gap:14px;}
	.sub_business .page_title p strong{font-size:110%;color:var(--black-color02);font-weight:500;line-height:1.3;}
	.sub_business .page_title p span{font-size:90%;color:var(--black-color05);font-weight:400;line-height:1.3;}
	
	.sub_visual{width:100%;height:560px;}
	.sub_gaming .sub_visual{background:url('../images/sub/sv_gaming.jpg')no-repeat center;background-size:cover;}
	.sub_indus .sub_visual{background:url('../images/sub/sv_indus.jpg')no-repeat center;background-size:cover;}
	.sub_transport .sub_visual{background:url('../images/sub/sv_transport.jpg')no-repeat center;background-size:cover;}
	
	.business_cont{padding-top:120px;display: flex;flex-direction: column;gap:100px;}
	.business_cont section{font-size:var(--title-20);}
	.business_cont section h4{font-size:200%;color:var(--black-color02);font-weight:600;line-height:1.3;margin-bottom:30px;}
	.business_cont .business_feature{display: flex;flex-wrap:wrap;gap:25px;counter-reset:featureCnt;}
	.business_cont .business_feature li{counter-increment:featureCnt;box-sizing:border-box;padding:40px 40px;border:1px solid var(--border-color01);display: flex;flex-direction: column;align-items: flex-start;gap:16px;width:calc(100% / 3 - 17px);}
	.business_cont .business_feature li:before{content:counter(featureCnt, decimal-leading-zero);width:40px;aspect-ratio:auto 1;background:var(--black-color00);display: inline-flex;align-items: center;justify-content: center;text-align: center;font-size:80%;color:var(--point-white);font-weight:500;}
	.business_cont .business_feature li p{font-size:100%;color:var(--black-color03);font-weight:400;line-height:1.5;}
	
	.business_cont .spec_list{display: flex;flex-wrap:wrap;gap:25px;}
	.business_cont .spec_list li{width:calc(50% - 12.5px);box-sizing:border-box;border:1px solid var(--border-color01);padding:30px 30px;display: flex;align-items: center;}
	.business_cont .spec_list li p{display: flex;align-items: center;gap:18px;font-size:var(--title-20);color:var(--black-color03);font-weight:400;line-height:1.5;}
	.business_cont .spec_list li p:before{width:22px;height:19px;content:"";background:url('../images/sub/icon_chk_pt.svg')no-repeat center;background-size:auto 100%;display: inline-block;flex-shrink:0;}
	
	.applicate_txt{box-sizing:border-box;display: flex;align-items: center;justify-content: center;text-align: center;border:1px solid var(--border-color01);padding:33px 33px;}
	.applicate_txt p{font-size:110%;color:var(--black-color03);font-weight:400;line-height:1.5;}
	
	@media (max-width: 1300px) {
		.sub_visual{height:40vw;}
	}
	@media (max-width: 1023px) {
		.business_cont{padding-top:clamp(60px, 12vw, 120px);gap:clamp(50px, 10vw, 100px);}
		.business_cont section h4{font-size:clamp(150%, 3.7vw, 200%);margin-bottom: clamp(15px, 3vw, 30px);}
		.business_cont .business_feature li{padding:30px 20px;}
		
		.business_cont .spec_list li{padding:20px 15px;}
		
		.applicate_txt{padding:25px 15px;}
	}
	@media (max-width: 640px) {
		.business_cont .business_feature li{width:100%;padding:20px 15px;gap:10px;}
		.business_cont .business_feature li:before{width:34px;}
		
		.business_cont .spec_list{gap:20px;}
		.business_cont .spec_list li{width:100%;}
		.business_cont .spec_list li p{gap:8px;}
		.business_cont .spec_list li p:before{width:15px;height:13px;}
		
		.applicate_txt p{font-size:100%;}
	}
	@media (max-width: 479px) {
		.sub_business .page_title p{gap:8px;}
		.sub_visual{height:50vw;}
	}