/* main code*/
@font-face {
    font-family: 'Pretendard-Regular';
    src: url('https://fastly.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Regular.woff2') format('woff2'), /* Modern browsers */
         url('https://fastly.jsdelivr.net/gh/Project-Noonnu/noonfonts_2107@1.1/Pretendard-Regular.woff') format('woff'); /* Legacy support */
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'Abril Fatface';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('https://fonts.gstatic.com/s/abrilfatface/v12/VAw7T_bY3viRWRlplL86tqnoX12QsMw9LKY.woff2') format('woff2');
  }

/* body */
body {
    overflow-x: hidden;
    font-family: 'Pretendard-Regular', sans-serif;
    display: none;
}
strong {
    font-weight: bold;
}

.fonts-loaded body {
    display: block;
}
/* body - end*/


/* header */
.header {
    position: relative;
    width: 100%;
    overflow: hidden;
    max-width: 2560px;
    margin: 0 auto;
    color: black;
}

.header_menu {
    width: 100%;
    max-width: 1280px;
    height: 84px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    padding: 20px;
    font-size: 20px;
    align-items: center;
}

.header_menu a{
    color: black;
}
.header_menu .lang_toggle img {
    position: relative;
    left: 10px;
}

.header_menu .lang_btn {
    position: relative;
    top: 30px;
    left: -62px;
    opacity: 0;                /* 기본 상태는 보이지 않음 */
    transition: opacity 0.3s ease; /* 부드러운 전환 효과 */
    pointer-events: none;      /* 클릭 방지 (보이지 않을 때) */
}

/* active 클래스가 추가되면 ENG 보이게 처리 */
.header_menu .lang_btn.active {
    opacity: 1;
    pointer-events: auto;
}

.header_menu ul {
    display: flex;
    justify-content: space-between;
}


.header_menu ul li{
    padding: 20px;
}

.header_menu ul li a{
    color: black;
    font-size: 20px;
}


/* header - end */


/* hero_section */
.hero_section {
    width: 100%;
    max-width: 2560px;
    height: 540px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin: 0 auto;
    background-image: url("/assets/img/about/hero.png");
    background-size: cover;
    background-position: center;
}

.hero_section div {
    padding: 100px 50px;
}


.hero_section div h2{
    font-size: 40px;
    font-weight: 700;
    padding: 20px;
    color: white;
    
}

/* hero_section - end */


/* introduce */
.introduce {
    width: 100%;
    max-width: 2560px;
    margin: 0 auto;
}

.desc_wrap {
    width: 100%;
    height: 990px;
    display: flex;
    justify-content: center;
    align-items: center;

}

.desc_wrap.reverse {
    flex-direction: row-reverse;
}

.desc_img_wrap {
    max-width: 560px;
    margin: 0 4%;
}


.desc_img_wrap img {
    width: 100%;
}

.desc_text_wrap {
    max-width: 650px;
    margin: 5% 4%;
    box-sizing: border-box; 
    position: relative;
} 
    

.desc_text_wrap.ver_line::before {
    position: absolute;
    top: 8%;
    left: -15%;
    content: "";
    display: inline-block;   
    width: 5px;              
    height: 145px;           
    background-color: #000;  
}



.desc_text.desc_text_01{
    line-height: 150%;
    margin: 50px 0;
}

.desc_text.desc_text_01 h2{
    font-family: "Abril Fatface", serif;
    font-size: 52px;
    padding: 20px 0;
}
.desc_text.desc_text_01 h3{
    font-size: 37px;
    padding: 20px 0;
}

.desc_text.desc_text_02{
    line-height: 180%;
    margin: 50px 0;
}

.desc_text.desc_text_02 span{
    font-size: 24px;
    letter-spacing: -0.4px;
}

.desc_text.desc_text_03{
    width: 200px;
    height: 46px;
}

.desc_text.desc_text_03 button {
    width: 100%;              
    height: 100%;             
    background-color: #fff;   
    border: 1px solid #767676;   
    color: #767676;              
    cursor: pointer;
    outline: none;
    padding: 0;
    font-size: 21px;
    border-radius: 10px;
}


/* introduce - end*/

/* vision */

.vision {
    width: 100%;
    max-width: 2560px;
    margin: 0 auto;
}

.vision_wrap {
    width: 100%;
    height: 1200px;
    display: flex;
    justify-content: center;
    align-items: center;

}

.vision_text_wrap {
    width: 50%;
}

.vision_text_wrap .vision_text{
    width: 100%;
    max-width: 560px;
    margin: 0 auto;
}

.vision_text h2{
    font-size: 40px;
    font-weight: 700;
    line-height: 60px;
    letter-spacing: -0.4px;
    padding: 30px 0;

}

.vision_text span{
    font-size: 24px;
    line-height: 180%;
    letter-spacing: -0.4px;

}


.vision_img_wrap {
    width: 50%;
    max-height: 1200px;
    overflow: hidden;
}

.vision_img_wrap img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}





/* vision - end */





/* contact*/

.contact {
    width: 100%;
    max-width: 2560px;
    height: 662px;
    margin: 0 auto;
    display: flex;
    align-items: center; /* 수직 중앙 정렬을 위해 추가 */

}

.contact_wrap {
    width: 100%;
    max-width: 1300px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

.contact_wrap .contact_left {
    width: 45%;
}

.contact_wrap .contact_left h2 {
    font-size: 40px;
    font-weight: 700;
    padding: 20px 0;
}

.contact_wrap .contact_left p {
    font-size: 20px;
    line-height: 30px;
}

.contact_wrap .contact_right {
    width: 45%;
    height: 422px;
}

.contact_wrap .contact_right .sendEmail{
    width: 100%;
    max-width: 415px;
}

.contact_wrap .contact_right ul {
    
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column; /* 수정: flexbox로 자식 요소 배치 */
    gap: 14px; /* 수정: 요소 간의 간격 설정 */
}

.contact_wrap .contact_right ul li {
    width: 100%;
    margin-bottom: 0; /* 수정: 요소 간의 간격을 flexbox gap으로 대체 */
    flex: 1; /* 수정: 자식 요소들이 균등하게 공간을 차지하도록 설정 */
}

.contact_wrap .contact_right input,
.contact_wrap .contact_right textarea,
.contact_wrap .contact_right button {
    width: 100%; 
    font-size: 14px;
    padding: 10px; 
    box-sizing: border-box; 
    border-radius: 8px;
    border: 1px solid #ccc;
}

.contact_wrap .contact_right textarea {
    height: 150px;
}

.contact_wrap .contact_right button {
    color: white;
    background-color: #000;
    height: 48px; 
    border: 1px solid #000;
}
/* contact - end */


/* brand_vision */
/* .brand_vision {
    width: 100%;
    max-width: 2560px;
    height: 500px;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
    background-image: url("/assets/img/brand_vision/brand_vision_bg.gif");
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center; 
} */

.brand_vision {
    width: 100%;
    max-width: 2560px;
    height: 500px;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
}

.brand_vision::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url("/assets/img/header/bg_img_01.gif");
    background-size: cover;
    background-position: 0px 60%;
    filter: brightness(35%);
    z-index: -1; /* 텍스트보다 뒤에 위치하도록 */
}

.brand_vision div {
    width: 100%;
    margin: 0 auto;
    text-align: center;
    position: relative; /* z-index 조정을 위해 */
    z-index: 1;       /* 배경 위에 텍스트를 배치 */
}

.brand_vision div h2{
    font-size: 48px;
    font-weight: 700;
    color: #fff;
    padding: 20px 0px;
}

.brand_vision div p{
    font-size: 22px;
    line-height: 34px;
    color: #fff;
}

footer {
    width: 100%;
    max-width: 2560px;
    height: 318px;
    background-color: #332920;
    margin: 0 auto;
    display: flex;
    align-items: center;
}

footer div {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
}

footer ul {
    color: white;
}

footer ul li{
    display: flex;
    padding-bottom: 20px;
    font-size: 16px;
}

footer .footer-logo {
    display: flex;
    align-items: center;
    font-size: 20px;
}

footer .footer-logo span{
    position: relative;
    padding-left: 16px;
}



.footer-links a{
    font-size: 16px;
    font-weight: 700;
    color: white;
    margin-right: 30px;
}
.footer-company-info {
    padding-bottom: 10px;
    
}

.footer-company-info p{
    margin-right: 20px;
    display: flex;
    align-items: center;
}

.footer-company-info p::after {
    width: 1px;
    height: 14px;
    content: '';
    position: relative;
    top: 0px;
    left: 10px;
    background-color: white;
    display: block;
}

.footer-company-info .company_address::after {
    display: none;
}

.footer-contact {
    
}

.footer-contact p{
    margin-right: 20px;
    display: flex;
    align-items: center;
}

/* 영문 페이지 footer-contact p::after 는 전부 제거 (display: none) */
.footer-contact p::after {
  content: none;
}

/* 한글 페이지에서 마지막 p를 제외한 모든 p에만 적용 */
.footer-contact.footer-contact_ko p:not(:last-child)::after {
    content: '';
    display: block;
    width: 1px;
    height: 14px;
    position: relative;
    top: 0;
    left: 10px;
    background-color: white;
}


.footer-contact .company_email::after {
    display: none;
}



.footer-copyright {
    padding: 0;
    font-size: 14px;
}


/* brand_vision - end*/

/* scroll_section */
/* 
.scroll_section {
    width: 100%;
    max-width: 2560px;
    height: 1280px;
    background-color: #999;    
}

.scroll_header {
    width: 100%;
    font-size: 48px;
    display: flex;
    justify-content: space-around;
    margin-bottom: 40px;
    padding-top: 10%;
}

.scroll_header_left {

}

.scroll_header_right {
    font-size: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 20px;
    border: 1px solid;
    border-radius: 50px;
}


.scroll_body {
    overflow: hidden;
    position: relative;
    left: 16%;
}
.scroll_wrap {
    display: flex;
    flex-wrap: wrap;
    width: 7000px;
}

.scroll_item {
    width: 100%;
    max-width: 630px;
    height: 620px;
    margin-right: 20px;
} 
*/
/* scroll_section - end */


/*<----- aobut page ----->*/

