@charset "utf-8";
@import url("./font-awesome/css/font-awesome.min.css");
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;300;400;500;700;900&family=Poppins:wght@100;200;300;400;500;600;700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Marcellus&family=Marcellus+SC&display=swap');
/* font-family 'Marcellus', 'Marcellus SC'*/ 
 
@font-face {
    font-family: 'Suit';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-Thin.woff2') format('woff2');
    font-weight: 100;
    font-display: swap;
}

@font-face {
    font-family: 'Suit';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-ExtraLight.woff2') format('woff2');
    font-weight: 200;
    font-display: swap;
}

@font-face {
    font-family: 'Suit';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-Light.woff2') format('woff2');
    font-weight: 300;
    font-display: swap;
}

@font-face {
    font-family: 'Suit';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-Regular.woff2') format('woff2');
    font-weight: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Suit';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-Medium.woff2') format('woff2');
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: 'Suit';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: 'Suit';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-Bold.woff2') format('woff2');
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: 'Suit';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-ExtraBold.woff2') format('woff2');
    font-weight: 800;
    font-display: swap;
}

@font-face {
    font-family: 'Suit';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_suit@1.0/SUIT-Heavy.woff2') format('woff2');
    font-weight: 900;
    font-display: swap;
}

body {
    background: #fff;
    font-size: 1rem;
    font-family: 'SUIT', sans-serif;
    word-break: keep-all;
    margin:0;
    padding:0;
    letter-spacing: -0.015em;
}

h1,
h2,
h3,
h4,
h5,
h6,
input,
button,
textarea,
select {
    font-family: 'SUIT'
}

#device_change {
    border: 1px solid var(--dd-body);
    font-size: 3.5em;
    box-shadow: none
}

* {
    -webkit-text-size-adjust: none
}

#device_change {
    border: 1px solid var(--dd-body);
    font-size: 3.5em;
    box-shadow: none
}

#sh_wrapper {
    position: relative;
    width: 100%
}

/* =========================== HEADER */
#sh_hd {
    position: fixed;
    z-index: 20;
    width: 100%
}

#sh_hd.sub {
    position: absolute
}

/* =========================== MAIN  */
#sh_fullpage {
    background: #111
}

#sh_fullpage article {
    position: relative;
    font-size: var(--title);
    font-weight: 400;
    line-height: 1.8;
    color: rgba(255, 255, 255, .4);
    font-family: 'SUIT'
}

#fp-nav {
    position: fixed;
    left: 70px;
    top: 50%;
    transform: translateY(-50%);
    margin: 0 !important;
    transition: opacity .2s
}

#fp-nav li .fp-tooltip {
    display: none
}

#fp-nav li a {
    display: block;
    position: relative;
    width: 33px;
    height: 30px;
    font-size: 0
}

#fp-nav li a:after {
    opacity: .5;
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 1px;
    background: #fff;
    transition: all .2s
}

#fp-nav li a.active:after {
    opacity: 1;
    width: 62px;
    height: 2px
}

#fp-nav li:last-child {
    display: none
}

.fp-auto-height,
.fp-auto-height .fp-tableCell {
    height: auto !important
}

.fp-viewing-02 #fp-nav,
.fp-viewing-last #fp-nav {
    opacity: 0
}

.fp-viewing-02 #shResv,
.fp-viewing-05 #shResv {
    opacity: 0
}

/* =========================== CONTAINER */
#sh_container {
    position: relative;
    width: 100%;
    z-index: 0
}

#sh_container_wrapper {
    position: relative;
    width: 100%
}

#sh_container_wrapper:after {
    display: block;
    visibility: hidden;
    clear: both;
    content: ""
}




/* ============================
   TEXT + IMAGE SPLIT SECTION
============================ */
.section-split {
    width: 100%;
    height: 100%;
    background-color: #fff;
}

.section-split .container {
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    overflow: hidden;
}

/* 레이아웃 정렬 */
.section-split .split-item {
    display: flex;
    align-items: center;
    width: calc(100% - 280px);
    margin: 0 auto;
}

/* 왼쪽 이미지 영역 */
.image-col {
    flex: 1;
    height: 650px;
    /* 슬라이더 높이 */
    position: relative;
}

/* 슬라이더 전체를 꽉 채움 */
.slide_box,
.slide_box .swiper-wrapper,
.slide_box .swiper-slide {
    width: 100%;
    height: 100%;
}

/* 이미지 꽉 채우기 */
.slide_box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* 텍스트 컬럼 */
.text-box {
    flex: 1;
    color: #333;
}

.text-box .inner-box {
    padding: 2rem 4rem;
    width: 100%;
}

.text-box .inner-box .eng {
    font-size: var(--sub);
    color: var(--dd-sub);
}

.text-box .inner-box h3 {
    font-size: 48px;
    line-height: 1.3;

}

.text-box .inner-box h5 {
    font-size: 32px;
    line-height: 1.4;
    font-weight: 500;
}

.text-box .inner-box .body {
    color: var(--bs-gray-600);
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    margin-top: 1.5rem;
}

/* 초기 상태 - text-box 안의 모든 텍스트 요소 숨김 */
.section .text-box * {
    opacity: 0;
    transform: translateY(60px);
    transition: all 1.2s ease;
}

/* 활성 슬라이드에서만 애니메이션 */
body[class^="fp-viewing-inc_slide"] .section.active .text-box * {
    opacity: 1;
    transform: translateY(0);
}

/* 순차적 등장 */
body[class^="fp-viewing-inc_slide"] .section.active .text-box *:nth-child(1) {
    transition-delay: .15s;
}

body[class^="fp-viewing-inc_slide"] .section.active .text-box *:nth-child(2) {
    transition-delay: .30s;
}

body[class^="fp-viewing-inc_slide"] .section.active .text-box *:nth-child(3) {
    transition-delay: .45s;
}

body[class^="fp-viewing-inc_slide"] .section.active .text-box *:nth-child(4) {
    transition-delay: .60s;
}


/* 화살표 위치 이미지 중앙 */
.slide_box .swiper-button-next,
.slide_box .swiper-button-prev {
    background: transparent;
    padding: 1.5rem;
    border-radius: 50%;
    color: #fff;
    font-size: 1rem;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #fff
}

.slide_box .swiper-button-next:after,
.slide_box .swiper-button-prev:after {
    font-size: 1rem;
}


.slide_box .swiper-button-prev {
    left: 1.5rem;
}

.slide_box .swiper-button-next {
    right: 1.5rem;
}

/* 도트 네비게이션 */
.slide_box .swiper-pagination {
    bottom: 1rem !important;
}

.slide_box .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    background: transparent;
    border: 1px solid #fff
}

.slide_box .swiper-pagination-bullet-active {
    background: #fff;
}

.image-col {
    width: 50%;
    overflow: hidden;
    /* 👈 이미지가 밖으로 넘치지 않게 */
}

.slide_box {
    max-width: 100%;
    /* 👈 컨테이너보다 절대 커지지 않도록 */
}





/* =========================== SUB */
#sh_sub_wrap {
    position: relative;
    font-family: 'SUIT'
}

/* =========================== CONTENT */
#sh_content {
    position: relative;
    z-index: 4;
    max-width: 1280px;
    min-height: 500px;
    padding: 0;
    margin: 70px auto 80px;
    line-height: 1.6;
    color: #333;
    zoom: 1
}

#sh_content:after {
    display: block;
    visibility: hidden;
    clear: both;
    content: ""
}

/* =========================== FOOTER */
#sh_ft {
    padding: 100px 70px 0;
    font-size: var(--sub);
    line-height: 1.8;
    color: rgba(255, 255, 255, .4);
    background-color: #111;
    font-family: 'SUIT'
}

#sh_ft .flex {
    display: flex;
    padding-bottom: 50px;
}

#sh_ft .flex .cs {
    margin-left: auto;
    color: #fff
}

#sh_ft .flex .cs p {
    margin-bottom: 15px;
    font-size: 26px;
    font-family: 'Marcellus SC'
}

#sh_ft .flex .cs ul li {
    display: flex
}

#sh_ft .flex .cs ul li span {
    width: 65px
}

#sh_ft .flex .cs ul li a {
    color: #fff
}

#sh_ft .flex .add {
    margin-left: 100px;
    padding-top: 46px
}

#sh_ft .copy { 
    padding: 50px 0 100px;
    border-top: 1px solid rgba(255, 255, 255, .15)
}

#sh_ft .copy a {
    font-size: var(--body);
    color: #fff;
    font-family: 'Marcellus SC'
}

#sh_ft .copy a+a {
    margin-left: 20px
}

.footer img {
    max-height: 20px
}

/* 반응형 [s] */
@media (max-width:1660px) {
    #fp-nav {
        left: 30px
    }

    #fp-nav li a {
        width: 25px
    }

    #fp-nav li a.active:after {
        width: 45px
    }
}

@media(max-width:1280px) {
    #sh_ft .flex .cs {
        flex-shrink: 0;
        margin-left: 20px
    }

    #sh_ft .flex .add {
        margin-left: 60px
    }
}

@media (max-width:1024px) {
    #sh_hd.sub {
        position: relative
    }

    #sh_content {
        padding: 20px 0;
        margin: 0
    }

    #sh_fullpage article {
        font-size: 15px
    }

    #fp-nav {
        display: none
    }

    #sh_ft {
        padding: 50px 30px 0
    }

    #sh_ft .flex {
        flex-flow: column
    }

    #sh_ft .flex .cs {
        margin: 20px 0
    }

    #sh_ft .flex .cs p {
        font-size: 22px
    }

    #sh_ft .flex .add {
        margin: 0;
        padding: 0;
        word-break: keep-all
    }
}

@media (max-width:768px) {

    /* 반응형 스타일 필수 [s] */
    #sh_login,
    #sh_agree,
    #sh_register,
    #sh_mb_confirm,
    #sh_result {
        padding: 15px;
        margin: 15px auto;
        border: none
    }

    #sh_login input[type=submit],
    #sh_agree .btn_wrap input[type=submit],
    #sh_register .btn_wrap input[type=submit],
    #sh_find_info input[type=submit],
    #sh_mb_confirm input[type=submit] {
        -webkit-appearance: none;
        appearance: none
    }

    #sh_login .bnr .txt p a {
        color: #0054a6
    }

    #sh_pw_confirm {
        width: 100%;
        padding: 30px 20px;
        border: none
    }

    #sh_agree .inner {
        padding: 15px
    }

    #sh_agree .cont {
        padding: 10px
    }

    /* 반응형 스타일 필수 [e] */
    #sh_content {
        padding: 0
    }

    #sh_fullpage article {
        font-size: 14px
    }

    #sh_ft .copy {
        margin-top: 30px;
        padding: 10px 0 70px
    }
}

@media (max-width:480px) {
    #sh_content {
        min-height: 350px
    }
}

/* 반응형 [e] */