@font-face {
    font-family: 'Gilroy';
    font-weight: 300;
    src: url('../fonts/Gilroy-Light.woff') format('woff');
    font-style: normal;
}
@font-face {
    font-family: 'Gilroy';
    font-weight: 600;
    src: url('../fonts/Gilroy-SemiBold.woff') format('woff');
    font-style: normal;
}
@font-face {
    font-family: 'Gilroy';
    font-weight: 800;
    src: url('../fonts/Gilroy-ExtraBold.woff') format('woff');
    font-style: normal;
}
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css');


.bg_black{
    background-color: #2b2b2b;
    padding: 300px 0;
    overflow: hidden;
}
.bg_black_end{
    padding-top: 240px;
}
.bg_grey{
    background-color: #fafafa;
    padding: 300px 0;
    overflow: hidden;
}
.bg_black *{
    color: #ffffff;
}
.flex{
    display: flex;
    align-items: flex-start;
}
.section_margin{
    margin-bottom: 300px !important;
}


header {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-left: 40px;
    height: 72px;
    background-color: #ffffff;
    position: fixed;
    z-index: 10;
    left: 0;
    top: 0;
    transition: 0.3s all;
}
header h1{
    display: flex;
    align-items: center;
    justify-content: center;
}
header h1 a{
    width: 126px;
    height: 25px;
}
header h1 a img{
    width: 100%;
    height: 100%;
    display: block;
}
header h1 a span{
    width: 100%;
    height: 100%;
    display: block;
    background: url(../images/logo_400.png) center center no-repeat;
    background-size: contain;
}
header h1 p{
    font-size: 12px;
    color: #959595;
    margin-left: 20px;
    font-weight: 300;
}
header nav{
    padding-right: 40px;
}
header nav ul{
    display: flex;
    font-family: 'Gilroy';
    font-weight: 600;
    font-size: 20px;
    line-height: 24px;
}
header nav ul li:not(:last-of-type){
    margin-right: 48px;
}
/* 모바일 메뉴 */
header .menu_box{
    width: 60px;
    height: 100%;
    padding: 23px 19.5px;
    background-color: #000000;
    transition: 0.3s all;
    display: none;
    cursor: pointer;
}
header .menu_box span{
    width: 21px;
    height: 2px;
    display: block;
    background-color: #ffffff;
}
header .menu_box span:not(:last-of-type){
    margin-bottom: 5px;
}
.mobile_menu{
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 0;
    background-color: rgba(0, 0, 0, 0.9);;
    z-index: 999;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 112px;
    opacity: 0;
    transition: all 0.5s;
    pointer-events: none;
}
.mobile_menu.active{
    opacity: 1;
    height: 100%;
    pointer-events: visible;
}
.mobile_menu img{
    width: 28px;
    height: 28px;
    display: block;
    position: absolute;
    right: 16px;
    top: 16px;
    cursor: pointer;
    z-index: 99;
}
.mobile_menu a{
    color: #ffffff;
    font-weight: 600;
    font-size: 26px;
    line-height: 110px;
    font-family: 'Gilroy';
}

header.black{
    background-color: #2b2b2b;
}
header.black h1 a span{
    background-image: url(../images/top_logo_wh.png);
}
header.black h1 p{
    color: #e5e5e5;
}
header.black nav ul li a{
    color: #ffffff;
}
header.black .menu_box{
    background-color: #ffffff;
}
header.black .menu_box span{
    background-color: #000000;
}

.contact_button {
    position: fixed;
    right: 40px;
    bottom: 40px;
    gap: 12px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    width: 72px;
    z-index: 100;
    cursor: pointer;
}

.apply_button {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    position: relative;
    width: 72px;
    height: 72px;
    padding-left: 24px;
    background-color: #000;
    color: #00E084;
    border-radius: 36px;
    text-decoration: none;
    overflow: hidden;
    transition: width 0.3s ease;
    white-space: nowrap;
}

.contact_button img{
    display: block;
    width: 72px;
    height: 72px;
}

.apply_text {
    opacity: 0;
    transform: translateX(10px);
    transition: opacity 0.3s ease, transform 0.3s ease;
    color: #00E084;
    font-size: 20px;
    font-weight: 700;
}

.contact_button.active .contact_icon{
    content: url(../images/clsoe_connect_button.png);
}

.contact_main{
    position: fixed;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
    z-index: 99;
    overflow-y: hidden;
    pointer-events: none;
}
.contact_main.active{
    pointer-events: visible;
    overflow-y: auto;
}
.contact_main .contact_wrap{
    opacity: 0;
    transform: translateY(100%);
    transition: 0.5s all;
    background-color: #ffffff;
    height: 100%;
}
.contact_main.active .contact_wrap{
    opacity: 1;
    pointer-events: visible;
    transform: translateY(0%);
}
.contact_main.active .close_contact{
    display: block;
}
.close_contact{
    display: none;
    position: fixed;
    right: 64px;
    top: 64px;
    width: 56px;
    height: 56px;
    z-index: 1;
    transition: 0.5s all;
}
.close_contact img{
    display: block;
    width: 100%;
    height: 100%;
}
.contact_us_info{
    background-color: #2b2b2b;
    color: #ffffff;
    padding: 100px 0 136px;
}
.contact_us_info > * {
    width: calc(100% - 408px);
    margin: 0 auto;
}
.contact_us_info h2{
    font-weight: 600;
    font-size: 110px;
    line-height: 118px;
    margin-bottom: 120px;
}
.contact_us_info p{
    font-weight: 400;
    font-size: 20px;
    line-height: 24px;
}
.contact_us_info p:not(:first-of-type){
    margin-top: 82px;
}
.contact_us_info span{
    display: block;
    font-weight: 600;
    font-size: 40px;
    line-height: 48px;
    font-family: 'Gilroy';
    margin-top: 12px;
}
.contact_us_info span br{
    display: none;
}
.contact_us_info a{
    display: block;
    color: #ffffff;
    font-size: 20px;
    font-weight: 700;
    margin-top: 14px;
}
.contact_us_info a img{
    width: 22px;
    height: 22px;
    display: inline-block;
    vertical-align: middle;
    margin-left: 6px;
}
.call_btn{
    display: none !important;
}
.contact_us_form{
    background-color: #ffffff;
    padding: 136px 0 240px;
}
.contact_us_form > div{
    width: calc(100% - 408px);
    margin: 0 auto;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}
.contact_us_form > div > *{
    width: 50%;
}
.contact_us_form > div h3{
    font-weight: 400;
    font-size: 40px;
    line-height: 56px;
}
.contact_us_form form *{
    display: block;
    width: 100%;
    border: 1px solid #c0c0c0;
    border-radius: 6px;
    padding: 12px;
    font-size: 16px;
    line-height: 22px;
    color: #6a6a6a;
    max-width: 490px;
}
.contact_us_form form input{
    margin-bottom: 24px;
}
.contact_us_form form textarea{
    height: 124px;
    margin-bottom: 100px;
    resize: none;
}
.contact_us_form form *::placeholder{
    color: #aaaaaa;
}

@media screen and (max-width: 1024px) {
    .contact_button{
        right: 42px;
        bottom: 54px;
        width: 64px;
    }
    .apply_button {
        width: 64px;
        height: 64px;
    }
    .contact_button img{
        width: 64px;
        height: 64px;
    }
    .contact_us_form > div{
        display: block;
    }
    .contact_us_info > *, .contact_us_form > div{
        width: calc(100% - 240px);
    }
    .contact_us_form > div > *{
        width: 100%;
    }
    .contact_us_form > div h3{
        margin-bottom: 84px;
    }
}
@media screen and (max-width: 767px){
    .contact_button{
        right: 26px;
        bottom: 32px;
    }
    .contact_us_info > *, .contact_us_form > div{
        width: calc(100% - 44px);
    }
    .contact_us_info{
        padding: 60px 0 80px;
    }
    .contact_us_info h2{
        font-size: 56px;
        line-height: 60px;
        margin-bottom: 60px;
    }
    .contact_us_info p{
        font-size: 16px;
        line-height: 19px;
    }
    .contact_us_info p:not(:first-of-type){
        margin-top: 48.5px;
    }
    .contact_us_info span{
        font-size: 26px;
        line-height: 31px;
        margin-top: 8px;
    }
    .contact_us_info span br{
        display: block;
    }
    .contact_us_info a{
        font-size: 16px;
        line-height: 19px;
        margin-top: 8.5px;
    }
    .contact_us_info a img{
        width: 18px;
        height: 18px;
    }
    .contact_us_info span img{
        width: 24px !important;
        height: 24px !important;
    }
    .call_btn{
        display: block !important;
    }
    .contact_us_form{
        padding: 80px 0 116px;
    }
    .contact_us_form > div h3{
        font-size: 36px;
        line-height: 50px;
        margin-bottom: 46px;
        letter-spacing: -1px;
    }
    .contact_us_form > div h3 br{
        display: none;
    }
    .contact_us_form form textarea{
        margin-bottom: 60px;
    }
}
@media screen and (max-width : 413px) {
    .contact_button{
        right: 24px;
        bottom: 30px;
    }
}


/* 상단 메뉴 반응형 */
@media only screen and (max-width:767px) {
    header{
        height: 60px;
        padding-left : 24px;
    }
    header h1 a{
        width: 108px;
        height: 21px;
    }
    header h1 p{
        margin-left: 8px;
    }
    header nav{
        display: none;
    }
    header .menu_box{
        display: block;
    }
}

/* footer */
/* 리뉴얼 */
.company_profile{
    width: 100%;
    padding: 147px 0;
    background-color: #404040;
}
.company_profile > div{
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: calc(100% - 200px);
    margin: 0 auto;
}
.company_profile h2{
    font-weight: 300;
    font-size: 42px;
    line-height: 56px;
    color: #ffffff;
    letter-spacing: -0.02em;
    font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, 'Helvetica Neue', 'Segoe UI', 'Apple SD Gothic Neo', 'Noto Sans KR', 'Malgun Gothic', sans-serif;
}
.company_profile .download_profile{
    display: flex;
    align-items: center;
}
.company_profile p{
    font-weight: 300;
    font-size: 32px;
    line-height: 38px;
    font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, 'Helvetica Neue', 'Segoe UI', 'Apple SD Gothic Neo', 'Noto Sans KR', 'Malgun Gothic', sans-serif;
    color: #ffffff;
}
.company_profile button{
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: url(../images/download.svg) no-repeat center center;
    background-size: contain;
    border: none;
    margin-left: 24px;
    cursor: pointer;
}
.footer_info_section{
    padding: 72px 0;
    background-color: #2b2b2b;
}
.footer_info_section > div{
    max-width: calc(100% - 200px);
    margin: 0 auto;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}
.footer_img{
    margin-right: 48px;
}
.footer_logo{
    width: 240px;
    display: block;
    margin-bottom: 170px;
}
.company_number{
    font-weight: 400;
    font-size: 12px;
    line-height: 22px;
    color: #808080;
}
.footer_contact_info{
    display: flex;
}
.footer_contact_info  .contact_detail:first-of-type{
    margin-right: 50px;
}
.contact_detail span{
    display: block;
    color: #808080;
    font-size: 12px;
    line-height: 14px;
    letter-spacing: -0.01em;
    font-weight: 600;
    margin-bottom: 20px;
}
.contact_detail p, .contact_detail a{
    display: block;
    color: #ffffff;
    font-weight: 600;
    font-size: 16px;
    line-height: 19px;
}
.contact_detail p:not(:last-of-type){
    margin-bottom: 40px;
}
.contact_detail a:not(:last-of-type){
    margin-bottom: 18px;
}
.mo_company_number{
    display: none;
}
@media screen and (max-width : 1024px) {
    .company_profile{
        padding: 157px 0;
    }
    .footer_info_section > div, .company_profile > div{
        max-width: calc(100% - 96px);
    }
    .company_profile h2{
        font-size: 36px;
        line-height: 48px;
    }
    .company_profile p{
        font-size: 24px;
    }
    .company_profile button{
        width: 60px;
        height: 60px;
        margin-left: 20px;
    }
}
@media screen and (max-width : 767px) {
    .company_profile{
        padding: 53px 0;
    }
    .company_profile > div{
        display: block;
    }
    .company_profile h2{
        font-size: 24px;
        line-height: 36px;
        margin-bottom: 40px;
    }
    .company_profile p{
        font-size: 16px;
    }
    .company_profile button{
        width: 40px;
        height: 40px;
        margin-left: 14px;
    }
    .footer_info_section{
        padding: 76px 0 104px;
    }
    .footer_info_section > div{
        align-items: flex-start;
        flex-direction: column;
    }
    .footer_logo{
        width: 126px;
        margin-bottom: 42px;
    }
    .footer_contact_info{
        width: 100%;
        justify-content: space-between;
        margin-bottom: 40px;
    }
    .pc_company_number{
        display: none;
    }
    .mo_company_number{
        display: block;
    }
}
@media screen and (max-width : 413px) {
    .footer_info_section > div, .company_profile > div{
        max-width: calc(100% - 44px);
    }
}

/* 공통 섹션 */
.section_wrapper{
    max-width: 1344px;
    width: calc(100% - 96px);
    margin: 0 auto ;
    font-family: 'Gilroy';
}
.section_title{
    display: flex;
    align-items: flex-start;
    color: #2b2b2b;
    font-weight: 700;
    margin-bottom: 132px;
}
.section_title > span{
    font-size: 16px;
    position: relative;
    padding-left: 16px;
    min-width: 342px;
    font-weight: 600;
}
.section_title span:after{
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    width: 8px;
    height: 8px;
    border-radius: 4px;
    display: block;
    background-color: #00e084;
}
.section_title > div{
    width: 100%;
}
.section_title div h2{
    font-size: 60px;
    line-height: 72px;
    margin-bottom: 32px;
}
.section_title div h3{
    font-weight: 600;
    font-size: 48px;
    line-height: 64px;
    color: #2b2b2b;
    margin-bottom: 32px;
}
.section_title div p{
    font-size: 20px;
    line-height: 34px;
    color: #555555;
    font-weight: 300;
    font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, 'Helvetica Neue', 'Segoe UI', 'Apple SD Gothic Neo', 'Noto Sans KR', 'Malgun Gothic', sans-serif;
}
.section_content{
    width: calc(100% - 342px);
    margin-left: auto !important;
    margin-right: 0 !important;
}
.section_content > img {
    width: 100%;
    display: block;
    margin-bottom: 100px;
}

/* 서브페이지 공통 메인 */
.sub_page_main span{
    font-weight: 600;
    font-size: 16px;
    line-height: 19px;
    margin-bottom: 8px;
}
.sub_page_main h2{
    font-weight: 600;
    font-size: 60px;
    line-height: 72px;
    margin-bottom: 160px;
    font-family: 'Gilroy';
}
.sub_page_intro div{
    font-size: 34px;
    line-height: 43px;
    font-weight: 500;
    width: 342px;
    letter-spacing: -0.5px;
    font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, 'Helvetica Neue', 'Segoe UI', 'Apple SD Gothic Neo', 'Noto Sans KR', 'Malgun Gothic', sans-serif;
}
.sub_page_intro p{
    font-weight: 300;
    font-size: 20px;
    line-height: 30px;
    color: #f0f0f0;
    font-family: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, 'Helvetica Neue', 'Segoe UI', 'Apple SD Gothic Neo', 'Noto Sans KR', 'Malgun Gothic', sans-serif;
}
@media screen and (max-width : 1440px) {
    .bg_black, .bg_grey{
        padding: 176px 0;
    }
    .section_margin{
        margin-bottom: 176px !important;
    }
    .section_title{
        margin-bottom: 104px;
    }
    .section_title > span{
        min-width: 200px;
    }
    .section_content{
        width: calc(100% - 200px);
    }
    .section_title div h2{
        font-size: 48px;
        line-height: 56px;
        margin-bottom: 24px;
    }
    .section_title div h3{
        font-size: 40px;
        line-height: 56px;
    }
    .section_title div p, .sub_page_intro p{
        font-size: 14px;
        line-height: 28px;
    }
    .section_content > img {
        margin-bottom: 52px;
    }

    .sub_page_main h2{
        margin-bottom: 120px;
    }
    .sub_page_intro{
        display: block;
    }
    .sub_page_intro div{
        width: 100%;
        margin-right: 0;
        margin-bottom: 24px;
    }
    .welcome_kit_content{
        width: 100%;
    }
}
@media only screen
and (max-width:1024px){
    .section_title div p br{
        display: none;
    }
    .section_title > span{
        min-width: 130px;
    }
    .section_content{
        width: calc(100% - 130px);
    }
    .welcome_kit_content{
        width: 100%;
    }
    .sub_page_main h2{
        font-size: 48px;
        line-height: 56px;
    }
}
@media only screen
and (max-width:767px) {
    .bg_black, .bg_grey{
        padding: 142px 0;
    }
    .bg_black_end{
        padding-top: 110px;
    }
    .section_wrapper{
        max-width: 100%
    }
    .section_margin{
        margin-bottom: 142px !important;
    }
    .section_title{
        display: block;
        margin-bottom: 45px;
    }
    .section_title > span{
        display: block;
        margin-bottom: 21px;
    }
    .section_title div h2{
        font-size: 36px;
        line-height: 44px;
        margin-bottom: 80px;
    }
    .section_title div h3{
        font-size: 32px;
        line-height: 44px;
        margin-bottom: 20px;
    }
    .section_content{
        width: 100%;
    }
    .section_content > div.flex{
        flex-wrap: wrap;
    }
    .sub_page_main h2{
        font-size: 36px;
        line-height: 44px;
        margin-bottom: 44px;
    }
    .sub_page_intro div{
        font-size: 24px;
        line-height: 29px;
    }
    .sub_page_intro p br{
        display: none;
    }
}
@media screen and (max-width : 414px) {
    .section_wrapper{
        width: calc(100% - 44px);
    }
}