@charset "utf-8";
.sub_content{font-family: var(--font-type02);}
#container:has(.fullSec){width: 100%; max-width: 100%;}
#container:has(.ptDn){padding-top: 0;}
.pt_in{font-family: var(--font-type01);}
/* 간격 */
    .gapBox{display: grid; grid-template-columns: minmax(0, 1fr); gap: 140px;}
        .gapBox.g07{gap: 7px;}
        .gapBox.g10{gap: 10px;}
        .gapBox.g15{gap: 15px;}
        .gapBox.g20{gap: 20px;}
        .gapBox.g25{gap: 25px;}
        .gapBox.g30{gap: 30px;}
        .gapBox.g40{gap: 40px;}
        .gapBox.g50{gap: 50px;}
        .gapBox.g55{gap: 55px;}
        .gapBox.g60{gap: 60px;}
        .gapBox.g65{gap: 65px;}
        .gapBox.g70{gap: 70px;}
        .gapBox.g75{gap: 75px;}
        .gapBox.g80{gap: 80px;}
        .gapBox.g100{gap: 100px;}

    @media (max-width:1500px){
        br.for_pc{display: none;}
    }
    @media (max-width:1023px){
        .gapBox{gap: clamp(70px, 14vw, 140px);}
            .gapBox.g07{gap: clamp(5px, 0.7vw, 7px);}
            .gapBox.g10{gap: clamp(7px, 1vw, 10px);}
            .gapBox.g15{gap: clamp(10px, 1.5vw, 15px);}
            .gapBox.g20{gap: clamp(15px, 2vw, 20px);}
            .gapBox.g25{gap: clamp(20px, 2.5vw, 25px);}
            .gapBox.g30{gap: clamp(20px, 3vw, 30px);}
            .gapBox.g40{gap: clamp(25px, 4vw, 40px);}
            .gapBox.g50{gap: clamp(30px, 5vw, 50px);}
            .gapBox.g55{gap: clamp(30px, 5.5vw, 55px);}
            .gapBox.g60{gap: clamp(35px, 6vw, 60px);}
            .gapBox.g65{gap: clamp(35px, 6.5vw, 65px);}
            .gapBox.g70{gap: clamp(40px, 7vw, 70px);}
            .gapBox.g75{gap: clamp(40px, 7.5vw, 75px);}
            .gapBox.g80{gap: clamp(45px, 8vw, 80px);}
            .gapBox.g100{gap: clamp(60px, 10vw, 100px);}
    }

/* 상단 타이틀 */
    .hd_title{position: relative;font-size: var(--title-20);text-align: center;display: flex;flex-direction: column;gap: 10px; text-wrap: balance;}
        .hd_title.line::after{display: block;content:'';width: 80px;height: 4px;background: var(--point-color01);margin: 30px auto 100px;}
        .hd_title.mb60{margin-bottom: 60px;}
    .hd_title h2{font-size: 60px; font-weight: 600; color: var(--black-color01); line-height: 1.4; font-family: var(--font-type01);}
    .hd_title h4{font-size: 140%;font-weight: 500;color: var(--black-color01);line-height: 1.6;letter-spacing: -0.03em;}

    @media (max-width:1500px) {
        .hd_title{text-wrap: balance;}
    }
    @media (max-width:1023px) {
        .hd_title.line::after{margin-block: clamp(15px, 3vw, 30px) clamp(50px, 10vw, 100px);width: clamp(40px, 8vw, 80px);}
        .hd_title.mb60{margin-bottom: clamp(30px, 6vw, 60px);}
        .hd_title h2{font-size: clamp(34px, 6vw, 60px);}
        .hd_title h4{font-size: 140%;}
    }
    @media (max-width:640px) {
        .hd_title h4{font-size: 130%;}
    }
    @media (max-width:479px) {
        .hd_title.line::after{height:3px;}
        .hd_title h4{font-size: 120%;}
    }

/* 그리드 배너 */
    .bnrGrid{display: grid;grid-template: auto / repeat(2, 1fr);gap: clamp(15px, 2.1vw, 40px);}
    .bnrGrid .item{position: relative;text-align: center;padding: 70px 50px;min-height: 460px;display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 30px;}
    .bnrGrid .thumb{position: absolute;inset: 0;overflow: hidden;}
    .bnrGrid .thumb img{width: 100%; height: 100%; object-fit: cover;}
    .bnrGrid .icon{position: relative;display: flex;align-items: center;justify-content: center;height: 68px;}
    .bnrGrid .desc{position: relative;font-size: var(--title-20);color: var(--point-white);display: grid;gap: 14px;text-wrap: balance;}
    .bnrGrid .desc dt{font-size: 210%;font-weight: 600;line-height: 1.4;}
    .bnrGrid .desc dd{font-size: 110%;font-weight: 300;line-height: 1.6;letter-spacing: -0.03em;}

    @media (max-width:1023px) {
        .bnrGrid .item{padding-inline: clamp(30px, 5vw, 50px);gap: clamp(15px, 3vw, 30px);min-height: clamp(300px, 46vw, 460px);}
        .bnrGrid .icon{height: clamp(45px, 7.3vw, 68px);}
        .bnrGrid .desc{gap: clamp(10px, 1.4vw, 14px);}
        .bnrGrid .desc dt{font-size: 200%;}
    }
    @media (max-width:640px) {
        .bnrGrid{grid-template: auto / repeat(1, 1fr);}
        .bnrGrid .item{min-height: auto;}
        .bnrGrid .desc dt{font-size: 190%;}
        .bnrGrid .desc dd{font-size: 100%;}
    }
    @media (max-width:479px) {
        .bnrGrid .desc dt{font-size: 180%;}
        .bnrGrid .desc dd{font-size: 90%;}
    }

/* coreValue */
    .coreBox{padding-bottom: 200px;}
    .coreValue{position: relative;width: clamp(400px, 35vw, 600px);margin-inline: auto;}
    .coreValue .circle{width: 100%;aspect-ratio: auto 1;border: 1px dashed var(--point-color01);border-radius: 100%;display: flex;align-items: center;justify-content: center;}
    .coreValue .circle img{max-width: calc(100% - 60px); max-height: calc(100% - 60px);}

    .coreValue .desc{font-size: var(--title-20);display: flex;flex-direction: column;gap: 15px;position: absolute;top: -60px;right: 200px;width: max-content;text-align: right; width:clamp(250px, 22vw, 360px);}
    .coreValue .desc dt{font-size: 160%;font-weight: 600;color: var(--black-color01);line-height: 1.4;letter-spacing: -0.03em;display: flex;align-items: center;gap: 13px;flex-wrap: wrap;flex-direction: row-reverse;}
    .coreValue .desc dt small{font-size: 62.5%;color: var(--point-color01);font-family: var(--font-type01);letter-spacing: -0.02em;}
    .coreValue .desc dd{font-size: inherit;font-weight: 400;color: var(--black-color05);line-height: 1.6;letter-spacing: -0.03em;}

    .coreValue .expList > li{width: 15px;aspect-ratio: auto 1;border-radius: 100%;border: 4px solid var(--point-white);background: var(--point-color03);box-shadow: var(--shadow-01);position: absolute;top: 15%;left: 21.5%;}
        .coreValue .expList > li{&::before, &::after{position: absolute;content: '';background: var(--border-color01);z-index: -1;}}
        .coreValue .expList > li::before{width: 40px;aspect-ratio: auto 1;bottom: 100%;right: 100%; clip-path: var(--clip-poly02);}
        .coreValue .expList > li::after{width: 123px;height: 1px;bottom: calc(100% + 39px);right: calc(100% + 39px);}

        .coreValue .expList > li:nth-child(2){left:auto; right:21.5%;}
        .coreValue .expList > li:nth-child(2)::before{right:auto; left:100%; clip-path: var(--clip-poly03);}
        .coreValue .expList > li:nth-child(2)::after{right: auto; left: calc(100% + 39px);}

        .coreValue .expList > li:nth-child(3){inset: auto;bottom: 35.5%;left: 7.5%;}
        .coreValue .expList > li:nth-child(3)::before{bottom: auto;top: 100%;width: 47px;clip-path: var(--clip-poly03);}
        .coreValue .expList > li:nth-child(3)::after{bottom: auto;top: calc(100% + 46px);right: calc(100% + 46px);width: 70px;}

        .coreValue .expList > li:nth-child(4){inset: auto;bottom: 35.5%;right: 7.5%;}
        .coreValue .expList > li:nth-child(4)::before{inset: auto;top: 100%;left: 100%;width: 47px;}
        .coreValue .expList > li:nth-child(4)::after{inset: auto;top: calc(100% + 45px);left: calc(100% + 46px);width: 70px;}

        .coreValue .expList > li:nth-child(5){inset: auto;top: 92%;left: 50%;margin-left: -7.5px;}
        .coreValue .expList > li:nth-child(5)::before{width: 0;}
        .coreValue .expList > li:nth-child(5)::after{inset: auto;top: 100%;left: 50%;width: 1px;height: 76px;margin-left: -0.5px;}

        .coreValue .expList > li:nth-child(2n) .desc{left: 200px;right: auto;text-align: left;}
        .coreValue .expList > li:nth-child(2n) .desc dt{flex-direction: row;}

        .coreValue .expList > li:nth-child(3) .desc{top: 30px;right: 158px;}

        .coreValue .expList > li:nth-child(4) .desc{top: 30px;left: 155px;}

        .coreValue .expList > li:nth-child(5) .desc{top: calc(100% + 100px);right: 50%;translate: 50%;text-align: center;align-items: center;}
        .coreValue .expList > li:nth-child(5) .desc dt{flex-direction: row;}

    @media (max-width:1400px) {
        .coreValue .desc dd{font-size: clamp(14px, 1.5vw, 20px);}
    }   
    @media (max-width:1160px) {
        .coreBox{padding-bottom: 0;}
        .coreValue{width: 100%;display: grid;gap: 80px;}
        .coreValue .circle{width: 600px; margin-inline: auto;}
        .coreValue .expList{display: grid;grid-template: auto / repeat(3, 1fr);gap: 70px 30px;}
        .coreValue .expList > li{width: auto;aspect-ratio: unset;position: relative;inset: auto !important;margin: 0 !important;box-shadow: none;border:0;border-radius: 0;background: none;}
        .coreValue .expList > li{&::before, &::after{display: none;}}
        .coreValue .desc{position: relative !important;inset: auto !important;text-align: left !important;translate: 0 !important;align-items: flex-start !important;width: 100%;}
        .coreValue .desc dt{flex-direction: row;}
        .coreValue .desc dd{font-size: 90%;}
    }   
    @media (max-width:1023px) {
        .coreValue{gap: clamp(30px, 8vw, 80px);}
        .coreValue .circle{width: clamp(320px, 60vw, 600px);}
        .coreValue .desc{gap: clamp(10px, 1.5vw, 15px);}
        .coreValue .desc dt{font-size: 150%;}
        .coreValue .expList{row-gap: clamp(35px, 7vw, 70px);}
    }   
    @media (max-width:860px) {
        .coreValue .expList{grid-template: auto / repeat(2, 1fr);}
    }   
    @media (max-width:640px) {
        .coreValue .desc dt{font-size: 140%;}
    }   
    @media (max-width:479px) {
        .coreValue .expList{grid-template: auto / repeat(1, 1fr);}
        .coreValue .desc dt{font-size: 130%;}
    }   

/* 연혁 탭 */
    .hisTab{position: sticky;top:0;background: var(--gray-bg01);margin-bottom: 136px;z-index: 2;}
    .hisTab .w_custom{width: 100%;}
    .hisTab .item_list{font-size: var(--title-20); display: flex;}
    .hisTab .item_list > li{width: 100%;font-size: 110%;font-weight: 500;font-family: var(--font-type01);color: var(--black-color08);letter-spacing: 0;text-align: center;padding: 20px 5px;cursor: pointer;display: flex;align-items: center;justify-content: center; transition: all 0.4s;}
        .hisTab .item_list > li.on{background: var(--point-color01); color: var(--point-white);}

        /* over */
        @media (hover:hover) and (pointer:fine) {
            .hisTab .item_list > li:not(.on):hover{color: var(--point-white); background: var(--point-color01);}
        }
    @media (max-width:1023px) {
        .hisTab{margin-bottom: clamp(70px, 14vw, 140px);}
        .hisTab .item_list > li{padding-block: clamp(15px, 2vw, 20px);}
    }
    @media (max-width:640px) {
        .hisTab .item_list > li{font-size: 100%;}
    }
    @media (max-width:479px) {
        .hisTab .item_list > li{font-size: 90%;}
    }
    @media (max-width:360px) {
        .hisTab .item_list > li{font-size: 80%;}
    }

/* 연혁 컨텐츠 */
    .his_list .cont{position: relative;display: flex;align-items: flex-start;gap: clamp(50px, 8.4vw, 160px);}
    .his_list .info{position: sticky;top: 120px;width: clamp(400px, 35%, 520px);flex-shrink: 0;display: flex;flex-direction: column;gap: 16px;}
    .his_list .info > li{transition: all 0.4s;cursor: pointer;display: flex;flex-direction: column;gap: clamp(25px, 5.5vh, 50px);}
    .his_list .info_desc{position: relative;font-size: var(--title-20);display: grid;gap: 30px;gap: clamp(15px, 1.6vw, 30px);}
    .his_list .info_desc :where(dt, dd) span{transition-property: opacity; }
    .his_list .info_desc dt{font-size: clamp(40px, 7.7vh, 70px);font-weight: 600;font-family: var(--font-type01);color: var(--point-color01);line-height: 1.1;letter-spacing: 0.01em;transition: all 0.4s;}
    .his_list .info_desc dd{font-size: clamp(17px, 2.5vh, 22px);font-weight: 500;color: var(--black-color03);line-height: 1.6;letter-spacing: -0.03em;transition: all 0.4s;}
    .his_list .info_thumb{display: block;font-size: 0;width: 100%;height: clamp(150px, 35.1vh, 320px);}
    .his_list .info_thumb img{width:100%; height:100%; object-fit:cover;}
    .his_list .info > li .info_thumb{clip-path: inset(0 0 0 0); transition:1.2s; transition-property: opacity, clip-path;}
    .his_list .exp_wrap{width: 100%;display: flex;flex-direction: column;gap: 180px;}
    .his_list .item{display: grid;gap: 32px;width: 100%;}
    .his_list .exp{display: flex;flex-direction: column;align-items: flex-start;gap: 74px;box-sizing: border-box;}
        .his_list .exp:last-child{padding-bottom: 150px;}
    .his_list .exp_title{position: relative; font-size: var(--title-20);}
    .his_list .exp_title h4{font-size: 160%;font-weight: 600;color: var(--black-color01);line-height: 1.4;font-family: var(--font-type01);letter-spacing: 0.01em;}
    .his_list .exp_desc{position: relative;font-size: var(--title-20);display: grid;gap: 10px;}
    .his_list .exp_desc dt{font-size: 110%; font-weight: 400; color: var(--black-color00); line-height: 1.27; width: 73px; padding-right: 15px; box-sizing: border-box; flex-shrink: 0;}
    .his_list .bullet_list{gap: 30px;font-size: var(--title-20);}
    .his_list .bullet_list > li{font-size: inherit;font-weight: 400;color: var(--black-color03);letter-spacing: -0.03em;line-height: 1.5;}
    .his_list .bullet_list > li > span{display: flex;flex-direction: column;gap: 11px;align-items: flex-start;}
    .his_list .bullet_list > li small{font-size: 90%; font-weight: 400; color: var(--black-color06);}


        .his_list .info > li:not(.on){opacity: 0.8; gap:0;}
        .his_list .info > li:not(.on) .info_desc dt{font-size: clamp(17px, 2.7vh, 24px);line-height: 1.4;}
        .his_list .info > li:not(.on) .info_desc{gap: 5px;}
        .his_list .info > li:not(.on) .info_desc dd{font-size: clamp(14px, 2vh, 18px);}
        .his_list .info > li:not(.on) .info_thumb{height:0; opacity: 0; clip-path: inset(0 100% 0 0);}

    @media screen and (max-width:1023px){
        .his_list .cont{gap:clamp(30px, 5vw, 50px);}
        .his_list .info{width: clamp(200px, 40vw, 400px);}
        .his_list .info > li{gap: clamp(20px, 5vw, 50px);}
        .his_list .info_desc{gap: clamp(13px, 3.3vw, 33px);}
        .his_list .info_desc dt{font-size: clamp(30px, 7vw, 70px);}
        .his_list .info_desc dd{font-size: 120%;}
        .his_list .info > li:not(.on) .info_desc dd{font-size: 90%;}
        .his_list .info_thumb{width:auto; height: auto;}
        .his_list .exp_wrap{gap: clamp(70px, 18vw, 180px);}
        .his_list .item{gap: clamp(14px, 3.2vw, 32px);}
        .his_list .exp{gap: clamp(30px, 7.4vw, 74px);}
        .his_list .exp:last-child{padding-bottom: 0;}
        .his_list .exp_desc dt{width: clamp(50px, 10vw, 73px);}
        .his_list .bullet_list{gap: clamp(10px, 3vw, 30px);}
        .his_list .bullet_list > li > span{gap: clamp(7px, 1.1vw, 11px);}
    }
    @media screen and (max-width:640px){
        .his_list .exp_title h4{font-size: 150%;}
        .his_list .info_desc dd{font-size: 110%;}
    }
    @media screen and (max-width:479px){
        .his_list .info{display: none;}
        .his_list .exp_title h4{font-size: 140%;}
        .his_list .info_desc dd{font-size: 110%;}
        .his_list .bullet_list > li{font-size:95%;}
        .his_list .item{display: flex; align-items: baseline;}
        .his_list .exp_title{width: 75px;flex-shrink: 0;}
    }

/* 기본 타이틀 */
    .sub_title{position: relative; font-size: var(--title-20);}
        .sub_title.hd{margin-bottom: 30px;}
    .sub_title h3{font-size: 210%; font-weight: 600; color: var(--black-color01); line-height: 1.4; letter-spacing: -0.03em;}
    .sub_title h3 em{font-weight: inherit; color: var(--point-color01);}
    .sub_title h4{font-size: 160%;font-weight: 500;color: var(--black-color03);line-height: 1.4;}
        .sub_title h4.square{display: flex;align-items: baseline;gap: 14px;font-family: var(--font-type01);letter-spacing: 0.005em;}
        .sub_title h4.square::before{display: inline-flex;content:'';width: 8px;aspect-ratio: auto 1;background: var(--point-color03);flex-shrink: 0;translate: 0 -7px;}

    @media (max-width:1023px) {
        .sub_title.hd{margin-bottom: clamp(15px, 3vw, 30px);}
        .sub_title h3{font-size: 190%;}
        .sub_title h4{font-size: 150%;}
        .sub_title h4.square{gap: clamp(12px, 1.6vw, 14px);}
        .sub_title h4.square::before{width: clamp(6px, 1vw, 8px); translate: 0 clamp(-7px, -0.9vw, -5px);}
    }
    @media (max-width:640px) {
        .sub_title h3{font-size: 170%;}
        .sub_title h4{font-size: 140%;}
    }
    @media (max-width:479px) {
        .sub_title h3{font-size: 150%;}
        .sub_title h4{font-size: 130%;}
    }

/* 파트너사 */
    .partnerList{display: grid; gap: clamp(10px, 1.6vw, 24px); grid-template: auto / repeat(4, 1fr);}
    .partnerList > li{display: flex;align-items: center;justify-content: center;background: var(--gray-bg01);aspect-ratio: auto 2.975;}

    @media (max-width:1023px) {
        .partnerList{grid-template: auto / repeat(3, 1fr);}
    }
    @media (max-width:640px) {
        .partnerList{grid-template: auto / repeat(2, 1fr);}
    }
    @media (max-width:360px) {
        .partnerList{grid-template: auto / repeat(1, 1fr);}
    }

/* 오시는 길 */
    .importMap{position: relative; width: 100%; height: 600px;}
    .importMap iframe{width: 100%; height: 100%;}
    .expMap{display: flex; align-items: flex-start; gap: clamp(50px, 6.25vw, 120px);}
    .expMap .sub_title{width: 42%; flex-shrink: 0;}
    .expMap .cont{width: 100%;display: flex;flex-direction: column;gap: 24px;padding-top: 9px;}
    .expMap .desc{display: flex;align-items: baseline;gap: 15px;font-size: var(--title-20);}
    .expMap .desc dt{font-size: inherit;font-weight: 600;font-family: var(--font-type01);color: var(--black-color03);display: flex;align-items: center;gap: 12px;width: 165px;flex-shrink: 0;line-height: 1.4;}
    .expMap .desc dt i{display: flex;align-items: center;justify-content: center;width: 36px;height: 36px;padding: 8px;background: var(--point-color01);}
    .expMap .desc dd{font-size: 90%;font-weight: 400;color: var(--black-color05);letter-spacing: -0.03em;display: flex;align-items: baseline;flex-wrap: wrap;gap: 10px;line-height: 1.6;}
    .expMap .desc dd.pt_in{letter-spacing: 0.01em;}
    .expMap .desc .box{display: inline-flex;align-items: center;justify-content: center;padding: 3px 15px 2px;text-align: center;background: #90C321;font-size: 94.4%;font-weight: 500;color: var(--point-white);}

    @media (max-width:1023px) {
        .importMap{height: clamp(300px, 60vw, 600px);}
        .expMap{flex-wrap: wrap;gap: clamp(30px, 5vw, 50px);}
        .expMap .sub_title{width: 100%; flex-shrink: unset;}
        .expMap .cont{gap: clamp(20px, 2.4vw, 24px);padding-top: 0;}
        .expMap .desc dt{width: clamp(120px, 17.5vw, 165px);}
        .expMap .desc dt i{width: clamp(30px, 4.1vw, 36px);height: clamp(30px, 4.1vw, 36px);}
        .expMap .desc .box{padding-inline: clamp(12px, 2vw, 15px);}
    }
    @media (max-width:360px) {
        .expMap .desc{flex-wrap: wrap;}
        .expMap .desc dt{width: 100%; flex-shrink: unset;}
    }