@charset "utf-8";


.sub_title.sub_c_title h3 { display: block; }
.sub_title.sub_c_title span { display: block; margin-top: 50px; }
.sub_title.sub_c_title h4 { display: block; margin-top: 41px; color: var(--black-color05); font-weight: 400; font-size: var(--title-19); letter-spacing: -0.03em; line-height: 1.73; }

.sub_title.intro_title { margin-bottom: 124px; }
.sub_title.location_title { margin-bottom: 49px; }

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

    .sub_title.sub_c_title span { margin-top: clamp(20px, 5vw, 50px); }
    .sub_title.sub_c_title h4 { margin-top: clamp(15px, 4.1vw, 41px); }
    

    .sub_title.intro_title { margin-bottom: clamp(30px, 11vw, 124px); }
    .sub_title.intro_title img { width: clamp(111px, 22.73vw, 185px); }

    .sub_title.location_title { margin-bottom: clamp(20px, 4vw, 49px); }
}

/*───────────────────────────────────────────────────────────
	회사소개
───────────────────────────────────────────────────────────*/

.sub_introduction_page { font-size: var(--title-20); }
.sub_introduction_page ul { counter-reset: num 0; }
.sub_introduction_page ul li { display: flex; justify-content: space-between; box-sizing: border-box; gap: 20px 0; }
.sub_introduction_page ul li + li { padding: 80px 0 79px; border-top: 1px solid var(--gray-bg02); }
.sub_introduction_page ul li + li .txt_box { margin-top: 5px; }

.sub_introduction_page ul li:first-child { padding-bottom: 79px; }
.sub_introduction_page ul li:first-child .img_box { margin-top: -5px;  }
.sub_introduction_page ul li:last-child { padding-top: 80px; padding-bottom: 0; }

.sub_introduction_page ul li .img_box { width: calc(100% - 35.3%); }
.sub_introduction_page ul li .img { position: relative; width: 100%; min-height: 240px; }
.sub_introduction_page ul li .img img { width: 100%; height: 100%; object-fit: cover; }

.sub_introduction_page .txt_box { width: 35.3%; padding-right: 30px; box-sizing: border-box; }
.sub_introduction_page .txt_box p { position: relative; color: var(--point-color02); width: fit-content; font-size: 90%; font-weight: 500; letter-spacing: 0; font-family: var(--font-type02); box-sizing: border-box; padding-left: 13px; }
.sub_introduction_page .txt_box p::before { content: ''; position: absolute; left: 0; top: 52%; width: 3px; height: 60%; background: var(--point-color02); transform: translateY(-50%); }


.sub_introduction_page .txt_box p span { position: relative; box-sizing: border-box; }

.sub_introduction_page .txt_box p span em { position: relative; margin-left: 10px; padding-left: 13px; }
.sub_introduction_page .txt_box p span em::before { content: ''; display: inline-block; position: absolute; left: 0; top: 10px; width: 4px; height: 4px; background: var(--point-color02); opacity: 0.5; }
.sub_introduction_page .txt_box p span em::after { position: relative; right: 0; top: 0; counter-increment: num 1; content: counter(num, decimal-leading-zero); font-weight: 700; }
.sub_introduction_page .txt_box h5 { margin-top: 21px; color: var(--black-color02); font-weight: 500; font-size: 180%; letter-spacing: -0.03em; line-height: 1.39; }


.sub_introduction_page .img_box p { margin-top: 31px; color: var(--black-color05); font-weight: 400; font-size: var(--title-17); letter-spacing: -0.03em; line-height: 1.71; }


@media screen and (max-width: 1356px){
    .sub_introduction_page .img_box p br { display: none; }
}

@media screen and (max-width: 1095px){
    .sub_introduction_page .txt_box h5 br { display: none; }
    
}

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

    .sub_introduction_page ul li { flex-direction: column; }
    .sub_introduction_page ul li + li .txt_box { margin-top: 0; }
    .sub_introduction_page ul li:first-child .img_box { margin-top: 0; }
    
    
    .sub_introduction_page .img_box p { margin-top: clamp(14px, 3.1vw, 31px); font-size: max(14px, var(--title-17)); }
    .sub_introduction_page .txt_box h5 { margin-top: clamp(10px, 2.1vw, 21px); font-size: 170%; }

    
    .sub_introduction_page ul li .txt_box { width: 100%; padding-right: 0; }
    .sub_introduction_page ul li .img_box { width: 100%; }
    .sub_introduction_page ul li .img { height: clamp(180px, 30vw, 300px); }

    .sub_introduction_page ul li:first-child { padding-bottom: clamp(30px, 7.9vw, 79px); }
    .sub_introduction_page ul li + li { padding: clamp(30px, 8vw, 80px) 0 clamp(30px, 7.9vw, 79px); }
    .sub_introduction_page ul li:last-child { padding-top: clamp(30px, 7.9vw, 79px); }


}

@media screen and (max-width: 860px){
    .sub_introduction_page .txt_box h5 { font-size: 160%; }

    .sub_introduction_page .txt_box p { padding-right: 26px; padding-left: 10px; }

}

@media screen and (max-width: 640px){
    .sub_introduction_page .txt_box h5 { font-size: 150%; }
    .sub_introduction_page .txt_box p { padding-left: 8px; }
    .sub_introduction_page .txt_box p::before { width: 2px;  }


    .sub_introduction_page .txt_box p span em { margin-left: 7px; padding-left: 9px; }
    .sub_introduction_page .txt_box p span em::before { width: 3px; height: 3px; }

}

@media screen and (max-width: 479px){
    .sub_introduction_page .txt_box h5 { font-size: 140%; }

    .sub_introduction_page .txt_box p { padding-right: 22px; }
    .sub_introduction_page .txt_box p span em::before { top: 9px; }
    .sub_introduction_page .txt_box p::before { top: 53%; height: 55%; }

}

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

.sub_location { font-size: var(--title-20); }

.sub_location .info_wrap { display: flex; gap: 20px 45px; font-family: var(--font-type02); }
.sub_location .info_wrap li { display: flex; align-items: center; gap: 40px; box-sizing: border-box; width: 100%; }

.sub_location .info_wrap .img { width: 100px; height: 100px; display: flex; justify-content: center; align-items: center; box-sizing: border-box; padding: 10px; background: var(--gray-bg03); flex-shrink: 0; }
.sub_location .info_wrap dl { padding-bottom: 7px; }
.sub_location .info_wrap dt { position: relative; width: fit-content; color: var(--black-color02); font-weight: 500; font-size: 110%; letter-spacing: 0; box-sizing: border-box; padding-right: 11px; }
.sub_location .info_wrap dt::after { content: ''; position: absolute; right: 0; bottom: 6px; width: 4px; height: 4px; background: var(--point-color01); }
.sub_location .info_wrap dd { margin-top: 9px; color: var(--black-color06); font-weight: 400; font-size: 90%; letter-spacing: 0; }

.sub_location .map_wrap { margin-top: 120px; }

.sub_location .map_wrap h4 { position: relative; color: var(--black-color01); font-weight: 500; font-size: 180%; letter-spacing: -0.03em; box-sizing: border-box; padding-left: 22px; }
.sub_location .map_wrap h4::before { content: ''; width: 6px; height: 40px; position: absolute; left: 0; top: 1px; background: var(--point-color01); }

.sub_location .map_wrap ul { display: flex; justify-content: space-between; flex-wrap: wrap; margin-top: 32px; gap: 15px; }
.sub_location .map_wrap li { display: flex; }
.sub_location .map_wrap li:has(img) { gap: 12px; align-items: flex-start; }
.sub_location .map_wrap li img { margin-top: 4px; }
.sub_location .map_wrap li > span { display: block; font-family: var(--font-type02); color: var(--black-color02); font-weight: 400; font-size: 100%; letter-spacing: -0.03em; }
.sub_location .map_wrap li:last-child { flex-wrap: wrap; }



.sub_location .map_wrap dl { position: relative; display: flex; gap: 10px 17px; }
.sub_location .map_wrap dl dt { color: var(--black-color04); font-weight: 500; font-size: 90%; letter-spacing: -0.03em; }
.sub_location .map_wrap dl dd { font-family: var(--font-type02); color: var(--black-color06); font-weight: 400; font-size: 90%; letter-spacing: -0.03em; }

.sub_location .map_wrap dl:has(+dl) { box-sizing: border-box; padding-right: 22px; margin-right: 20px; }
.sub_location .map_wrap dl:has(+dl)::after { content: ''; position: absolute; right: 0; top: 5px; width: 1px; height: 12px; background: var(--border-color01); }


.sub_location .map_wrap .map { margin-top: 38px; height: 420px; }

@media screen and (max-width: 1023px){
    .sub_location .info_wrap { flex-direction: column;  gap: 20px 0;}
    .sub_location .info_wrap .img { width: clamp(60px, 10vw, 80px); height: clamp(60px, 10vw, 80px); }
    .sub_location .info_wrap .img img { width: 50%; }
    .sub_location .info_wrap li { gap: clamp(15px, 4vw, 35px); width: 100%; padding-right: 0; }
    .sub_location .info_wrap dl { width: calc(100% - (clamp(60px, 10vw, 100px) + clamp(15px, 4vw, 40px))); padding-bottom: clamp(3px, 0.7vw, 7px); }
    .sub_location .info_wrap dt { padding-right: clamp(8px, 1.1vw, 11px); }
    .sub_location .info_wrap dd { margin-top: clamp(2px, 0.6vw, 9px); }

    .sub_location .map_wrap { margin-top: clamp(80px, 12vw, 120px); }
    .sub_location .map_wrap ul { margin-top: clamp(15px, 3vw, 32px); }
    .sub_location .map_wrap li img { margin-top: 2px; }
    .sub_location .map_wrap li:has(img) { gap: clamp(10px, 1vw, 12px); }
    .sub_location .map_wrap dl:has(+dl) { padding-right: clamp(10px, 2vw, 22px); margin-right: clamp(10px, 2vw, 20px); }
    .sub_location .map_wrap dl { gap: 10px clamp(10px, 1.7vw, 17px); }

    .sub_location .map_wrap .map { margin-top: clamp(20px, 3.5vw, 38px); height: clamp(250px, 42vw, 420px); }
}

@media screen and (max-width: 860px){
    

    .sub_location .map_wrap li img { margin-top: 2px; width: 12px; }

}

@media screen and (max-width: 640px){
    .sub_location .info_wrap { gap: 15px; }
    .sub_location .map_wrap li img { margin-top: 4px; width: 10px; }
}

@media screen and (max-width: 479px){
    .sub_location .map_wrap li img { margin-top: 3px; }
    .sub_location .info_wrap { gap: 10px; }
    .sub_location .map_wrap ul { gap: 12px; }


}

@media screen and (max-width: 364px){
    .sub_location .map_wrap li:last-child { flex-direction: column; gap: 10px 0; }
    .sub_location .map_wrap dl:has(+dl) { margin-right: 0; padding-right: 0; }
    .sub_location .map_wrap dl:has(+dl)::after { display: none; }
}

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

.sub_patent { position: relative; font-size: var(--title-20); }
.sub_patent::after { content: ''; display: block; width: 100%; height: 785px; position: absolute; left: 0; top: 221px; background: var(--gray-bg03); z-index: -1; }
.sub_patent .patent_list > li { display: flex; justify-content: flex-start; align-items: center; gap: 20px 0; }
.sub_patent .patent_list > li.flex_rev { flex-direction: row-reverse; justify-content: space-between; gap: 30px; }

.sub_patent .patent_list > li + li { margin-top: 120px; }

.sub_patent .patent_list > li .img { position: relative; box-sizing: border-box; width: 36.16%; }
.sub_patent .patent_list > li .img::before { content: ''; position: absolute; left: 0; top: 0; width: 100%; height: 100%; border: 10px solid var(--gray-bg02); box-sizing: border-box; }

.sub_patent dl { width: calc(100% - 36.16%); padding-left: min(6vw, 100px); box-sizing: border-box; }

.sub_patent .patent_list > li.flex_rev dl { padding-right: min(6vw, 100px); padding-left: 0; }
.sub_patent dt { color: var(--black-color02); font-weight: 600; font-size: 200%; letter-spacing: -0.03em; }
.sub_patent dt small { display: flex; justify-content: center; align-items: center; margin-bottom: 23px; padding: 7px 16px; width: fit-content; height: auto; color: var(--point-color01); background: var(--black-color00); font-weight: 400; font-size: var(--title-17); letter-spacing: -0.01em; font-family: var(--font-type02); box-sizing: border-box; }

.sub_patent dd { margin-top: 99px; }

.sub_patent .bullet_list { gap: 9px }

.sub_patent .desc { margin-top: 42px; color: var(--black-color06); font-weight: 400; font-size: 90%; line-height: 1.78; letter-spacing: -0.03em; }
.sub_patent a { margin-top: 78px; }





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

@media screen and (max-width: 1105px){
    .sub_patent .desc br { display: none; }
}

@media screen and (max-width: 1023px){
    .sub_patent::after { height: 60%; top: 40%; transform: translateY(-50%); }
    .sub_patent .patent_list > li { flex-direction: column; justify-content: flex-start; align-items: flex-start; gap: clamp(20px, 4vw, 40px); }
    .sub_patent .patent_list > li.flex_rev { flex-direction: column; justify-content: flex-start; align-items: flex-start; gap: clamp(20px, 4vw, 40px); }

    .sub_patent .patent_list > li + li { margin-top: clamp(80px, 12vw, 120px); }

    .sub_patent dl { width: 100%; padding: 0; }
    .sub_patent .patent_list > li.flex_rev dl { padding: 0; }
    .sub_patent dt { font-size: 190%; }
    .sub_patent dt small { margin-bottom: clamp(10px, 2.3vw, 23px); padding: clamp(5px, 0.7vw, 7px) clamp(12px, 1.6vw, 16px); }
    .sub_patent dd { margin-top: clamp(15px, 3vw, 99px); }
    .sub_patent .desc { margin-top: clamp(12px, 3vw, 42px); }

    .sub_patent .bullet_list { gap: clamp(3px, 0.9vw, 9px); }
    .sub_patent .bullet_list > li { gap: clamp(5px, 0.8vw, 8px); }

    .sub_patent a { margin-top: clamp(15px, 3vw, 78px); gap: clamp(20px, 3.3vw, 33px); padding-inline: clamp(15px, 2vw, 20px); height: clamp(42px, 5vw, 49px); }
}

@media screen and (max-width: 860px){
    .sub_patent dt { font-size: 180%; }
    
    .sub_patent .patent_list > li .img { width: 60%; }
}

@media screen and (max-width: 640px){
    .sub_patent .patent_list > li .img { width: 50%; }
    .sub_patent .patent_list > li .img::before { border-width: 5px; }

    .sub_patent dt { font-size: 170%; }
    

}

@media screen and (max-width: 479px){
    .sub_patent dt { font-size: 160%; }
    
}