/* main code*/

/* Pretendard  */
@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;
}

/* Alata */
@font-face {
  font-family: 'Alata';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('https://fonts.gstatic.com/s/alata/v14/7Au9hZoS8JzBulWzmghvXESy.ttf') format('truetype');
}

.font_alata {
    font-family: 'Alata', sans-serif;
}


/* 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;
}

.header_img {
    position: relative;
    width: 100%;
    height: 100vh;
    filter: brightness(35%);
}

.slide {
    display: flex;
    width: 600%;
    height: 100%;
    transition: transform 0.5s ease-in-out;
}

.slide_img {
    width: 100%;
    height: 100%;
    flex: 1;
}

.slide_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.header_content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    z-index: 1;
    color: white;
}

.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: white;
}
.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: white;
    font-size: 20px;
}


.header_text {
    text-align: center;
    margin: 0 auto;
    padding: 20px;
}

.header_text_title {
    font-size: 48px;
    padding: 20px;
    font-weight: 700;
    line-height: 120%;
}

.header_text_desc {
    font-size: 24px;
    padding: 20px;
}

.header_text_btn {
    font-size: 32px;
    padding: 20px;
    margin-top: 60px;
    
}

.header_text_btn a{
    display: block;
    width: 260px;
    height: 60px;
    font-size: 32px;
    font-weight: 500;
    border: 1px solid;
    border-radius: 70px;
    margin: 0 auto;
    line-height: 62px;
    color: white;
    
}

.header_slide {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    padding: 20px;
    bottom: 9%;
}   


.slider__arrow {
    position: absolute;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}


.slider__arrow a {
    cursor: pointer;
    color: white;
    text-decoration: none;
    font-size: 24px;
    padding: 0 10px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%); /* 세로 중앙 정렬 */
}



.slider__arrow a.left {
    left: 50%; /* 중앙 기준 위치 */
    transform: translate(-600%, -50%); /* 중앙에서 왼쪽으로 20px 이동 */
}

.slider__arrow a.right {
    right: 50%; /* 중앙 기준 위치 */
    transform: translate(600%, -50%) scaleX(-1); /* 중앙에서 오른쪽으로 20px 이동 및 좌우 반전 */
}

.slider__bar {
    width: 100%;
    max-width: 350px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center; 
}

.slider__bar .bar {
    width: 100%;
    max-width: 50px;
    height: 4px;
    background-color: gray;
}


.slider__bar .bar.active {
    background-color: white;
}
/* header - end */


/* hero_section */
.hero_section {
    width: 100%;
    max-width: 2560px;
    height: 400px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin: 0 auto;
}

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

.hero_section div span{
    font-size: 24px;
    color: #7C5C1C;
    font-weight: 700;
    padding: 20px;
}

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

.hero_section div p{
    /* font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; */
    font-size: 18px;
    line-height: 24px;
    padding-top: 20px;
}



/* hero_section - end */


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

.desc_wrap {
    width: 100%;
    height: 650px;
    display: flex;
    justify-content: space-between;

}

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

.desc_wrap .desc_text_wrap {
    width: 50%; 
    background: whitesmoke;
}

.desc_wrap .desc_text_wrap .desc_text {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    padding: 200px 0; 
    height: 100%; /* 자식 높이를 부모 높이에 맞추도록 수정 */
    box-sizing: border-box; /* 패딩 포함 높이 계산 */
}

.desc_wrap .desc_text_wrap .desc_text h2 {
    font-size: 36px;
    font-weight: 700;
    line-height: 48px;
    padding: 20px 0;
    letter-spacing: -0.4px;
}

.desc_wrap .desc_text_wrap .desc_text span {
    font-size: 18px;
    line-height: 32px;
    padding: 20px 0;
    letter-spacing: -0.4px;
}
.desc_wrap .desc_text_wrap .desc_text_02 span {
    letter-spacing: -0.5px;
}


.desc_wrap .desc_img_wrap {
    width: 50%;
}

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


/* about_us - end */


/* instagram */

.instagram {
    width: 100%;
    max-width: 2560px;
    height: 800px;
    position: relative;
    overflow: hidden;
    background-image: url("/assets/img/instagram/instagram_bg.png");
    background-size: cover;
    background-position: center;
    margin: 0 auto;
}

.instagram::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.6);
    z-index: 0;
}


.instagram_inner {
    width: 100%;
    position: relative;
    text-align: center;
    padding: 150px 0;
    z-index: 1;
}

.instagram_inner h2 {
    font-size: 48px;
    font-weight: 500;
    line-height: 58px;
    padding-bottom: 20px;
}

.instagram_inner .instagram_slider {
    overflow: hidden; /* 슬라이더 영역을 숨깁니다 */
    max-width: 1200px; /* 최대 너비를 설정합니다 */
    margin: 0 auto; /* 가운데 정렬 */
}

.instagram_inner .instagram_slider .instagram_img_wrap {
    width: 100%;
    max-width: 1300px;
    height: 413px;
    display: flex;
    transition: transform 0.5s ease-in-out; /* 애니메이션 효과를 추가합니다 */
    padding: 0;
    margin: 0;
    list-style: none;

}

.instagram_inner .instagram_slider .instagram_img_wrap li {
    min-width: 33.333%; /* 한 화면에 3개씩 보이도록 */
    box-sizing: border-box;
    padding: 20px 10px;
}



/* .instagram_inner .instagram_arrow {
   
} */


.instagram_inner .instagram_arrow .instagram-link {
    position: absolute;
    top: 54%;
}


.instagram_inner .instagram_arrow .instagram_arrow_left{
    /* left: 13%; */
    left: 19%;
}

.instagram_inner .instagram_arrow .instagram_arrow_right{
    /* right: 13%; */
    right: 19%;
    transform: rotate(180deg);    
}
/* instagram - end */


/* contact*/

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

}

.contact_wrap {
    width: 100%;
    max-width: 1000px;
    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;
    padding: 20px 0;
}

.contact_wrap .contact_left ul {
    width: 530px;
    padding: 20px 0;
    display: flex;
    justify-content: space-between;
}

.contact_wrap .contact_left ul li{
    width: 254px;
    height: 64px;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    outline: solid 1px gray;
}



.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;
    /* background-image: url("/assets/img/brand_vision/brand_vision_bg.gif"); */
    background-image: url("/assets/img/footer.gif");
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center; /* 수직 중앙 정렬을 위해 추가 */
}

.brand_vision div {
    width: 100%;
    margin: 0 auto;
    text-align: center;
}

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

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

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 */