@font-face {
    font-family: 'SebangGothic';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2104@1.0/SEBANG_Gothic_Regular.woff') format('woff');
    font-weight: normal;
    font-display: swap;
}

@font-face {
    font-family: 'SebangGothic';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2104@1.0/SEBANG_Gothic_Bold.woff') format('woff');
    font-weight: 700;
    font-display: swap;
}

#allWrap{
    position:relative;
    /* overflow:hidden; */
    overflow-x: hidden;
}


*, *::before, *::after {
    box-sizing: border-box;
}
/* ----------------------------------- 01 Visual ----------------------------------- */
#mVisual{width: 100%; height:100vh; min-height:500px; width:100%; overflow:hidden; display:block; position:relative; background:#000;}
/* 비주얼 모서리 */
#mVisual::before,
#mVisual::after{content: ''; width: 130px; height: 130px; background-color: #f1fbff; position: absolute;bottom: -65px; transform:rotate(45deg); z-index: 2;}
#mVisual::before{left: -65px;}
#mVisual::after{right: -65px;}
/* 비주얼 비디오 */
.video{width: 100vw; height:100vh; object-fit: cover; opacity: .5;}
/* 배경 그라디언트 */
.bgG{position: absolute; top: 0; left: 0; z-index: 1; width: 100%; height: 100%; background-image: linear-gradient(to top, #1f2f98cd , #1f2f9800 30%);}
/* 스크롤*/
#mVisual .vTxt_wrap{position: absolute; width: 100%; max-width:1800px; bottom: 110px; left: 50%; transform: translateX(-50%); z-index: 3;
display: flex; gap: 60px; align-items: flex-end;}
#mVisual .vTxt_wrap .scroll{display: inline-flex; flex-direction: column; justify-content: center; gap: 50px;position: relative;margin-left: 8px;}
#mVisual .vTxt_wrap .scroll::before{content: ''; width: 1px; height: 500px; background-color: #ffffff58;position: absolute; right: -20px; bottom: 0;}
#mVisual .vTxt_wrap .scroll p{display: block; color: #fff;font-size:20px;position: absolute; width: 130px; left: 3px; top: -28px; transform-origin: left top; transform: rotate(-90deg);font-family: 'pretendard';}
#mVisual .vTxt_wrap .scroll .sd_arrow{width: 30px; height: 30px;}
#mVisual .vTxt_wrap .scroll .sd_arrow img{display: block; max-width: 100%; object-fit: cover;}
/* 텍스트박스 */
#mVisual .vTxt_wrap .vTxt_box{}
#mVisual .vTxt_wrap .vTxt_box .vT_title{}
#mVisual .vTxt_wrap .vTxt_box .vT_title h1{display: inline-block; font-size: 96px; font-family: 'Oxanium'; font-weight: 400; color: #fff; line-height: 1;overflow: hidden;}
#mVisual .vTxt_wrap .vTxt_box .vT_title h1 span{display: inline-block;}
#mVisual .vTxt_wrap .vTxt_box .vT_title h1 span b{font-weight: 600; color: #1aa7ec;}
#mVisual .vTxt_wrap .vTxt_box .vT_title dl{display: flex; align-items: center; gap: 50px;}
#mVisual .vTxt_wrap .vTxt_box .vT_title dl dd{}
#mVisual .vTxt_wrap .vTxt_box .vT_title dl dd .border{width: 0px; height: 1px; background-color: #fff;}
#mVisual .vTxt_wrap .vTxt_box .vT_title dl dd h3{font-size: 44px; font-family: 'pretendard'; color: #fff; font-weight: 400;}
#mVisual .vTxt_wrap h2{font-size: 40px; font-family: 'pretendard'; color: #fff; font-weight: 400;padding-top: 30px;}

/* 모션 */
.vTxt_wrap h1 span{transform: translateY(100px);}
.vTxt_wrap.in-view h1 span{transform: translateY(0px);transition: transform 0.7s ease;}
.vTxt_wrap.in-view dl dd h1 span{transition-delay: .3s;}
.vTxt_wrap .border{width: 0;}
.vTxt_wrap.in-view .border{width: 100px; animation: border .7s ease .9s forwards;}
@keyframes border {
    0%{width: 0;}
    100%{width: 100px;}
}
.vTxt_wrap h3{opacity: 0;}
.vTxt_wrap.in-view h3{opacity: 1; transition: opacity .8s ease; transition-delay: 1.5s;}
.vTxt_wrap h2{opacity: 0;}
.vTxt_wrap.in-view h2{opacity: 1; transition: opacity .8s ease; transition-delay: 2s;}

.vTxt_wrap .scroll::before{height: 0; transform: scaleY(0);  transform-origin: top;}
.vTxt_wrap.in-view .scroll::before{height: 500px;transform-origin: top; animation: sBorder .6s ease 2.5s forwards;}
@keyframes sBorder {
    to {
        transform: scaleY(1);
    }
}
.vTxt_wrap .scroll p, .vTxt_wrap .scroll .sd_arrow{opacity: 0;}
.vTxt_wrap.in-view .scroll p, .vTxt_wrap.in-view .scroll .sd_arrow{opacity: 1; transition: opacity .7s ease; transition-delay: 3s;}

/* 반응형 */

@media screen and (max-width: 1890px) {
    #mVisual .vTxt_wrap {
        padding: 0 60px;
    }
}
@media screen and (max-width: 1400px) {
    #mVisual .vTxt_wrap .vTxt_box .vT_title h1 {
        font-size: 70px;
    }
}
@media screen and (max-width: 1355px) {
    
    #mVisual .vTxt_wrap .vTxt_box .vT_title dl {
        flex-wrap: wrap;
        gap: 15px 40px;
    }

    #mVisual .vTxt_wrap .vTxt_box .vT_title dl dd:nth-child(1) {
        width: 100%;
        margin-bottom: 10px;
    }

    #mVisual .vTxt_wrap .vTxt_box .vT_title dl dd:nth-child(2),
    #mVisual .vTxt_wrap .vTxt_box .vT_title dl dd:nth-child(3) {
        width: auto;
    }
    
    #mVisual .vTxt_wrap .vTxt_box .vT_title dl dd .border {
        
    }
}
@media screen and (max-width: 1240px) {
    #mVisual {height: 800px; transition: .3s;}
    #mVisual .vTxt_wrap {
        padding: 0;
    }
    #mVisual .vTxt_wrap {
        width: 90%;
        gap: 40px;
        bottom: 80px;
        
    }

    #mVisual .vTxt_wrap .vTxt_box .vT_title h1 {
        font-size: 60px; 
    }

    #mVisual .vTxt_wrap .vTxt_box .vT_title dl dd h3 {
        font-size: 30px;
    }

    #mVisual .vTxt_wrap h2 {
        font-size: 22px; 
    }
    #mVisual::before, #mVisual::after {
        bottom: -100px;
    }
}
@media screen and (max-width: 787px) {
    #mVisual {height: 600px; transition: .3s;}
    #mVisual .vTxt_wrap {
        padding: 0;
    }
    #mVisual .vTxt_wrap {
        bottom: 120px; 
    }

    #mVisual .vTxt_wrap .vTxt_box .vT_title h1 {
        font-size: 56px;
        line-height: 1.1;
    }
    #mVisual .vTxt_wrap .vTxt_box .vT_title {
        margin-bottom: -30px;
    }

    #mVisual .vTxt_wrap .vTxt_box .vT_title dl dd h3 {
        font-size: 28px;
    }

    #mVisual .vTxt_wrap .vTxt_box .vT_title dl {
        gap: 20px;
        flex-wrap: wrap;
    }

    #mVisual .vTxt_wrap h2 {
        font-size: 24px;
        padding-top: 20px;
        display: none;
    }
    #mVisual .vTxt_wrap .scroll {display: none;}
    
    /* #mVisual .vTxt_wrap .scroll::before {
        height: 300px;
    }
    @keyframes sBorder {
        to { transform: scaleY(1); }
    }
    #mVisual .vTxt_wrap.in-view .scroll::before {
        height: 300px;
    } */
    #mVisual::before, #mVisual::after {
        bottom: -120px;
    }

}
@media screen and (max-width: 480px) {
    #mVisual {height: 600px; transition: .3s;}
    #mVisual::before,
    #mVisual::after {
        width: 80px;
        height: 80px;
        bottom: -40px;
    }
    #mVisual::before { left: -40px; }
    #mVisual::after { right: -40px; }


    #mVisual .vTxt_wrap {
        flex-direction: column;
        align-items: flex-start;
        width: 85%;
        bottom: 100px;
        gap: 20px;
    }

    #mVisual .vTxt_wrap .scroll {
        position: absolute;
        bottom: -60px; 
        left: 50%;
        margin-left: 0;
        transform: translateX(-50%);
        flex-direction: column;
        gap: 10px;
        align-items: center;
    }

    #mVisual .vTxt_wrap .scroll::before {
        display: none;
    }
    
    #mVisual .vTxt_wrap .scroll p {
        position: relative;
        left: auto;
        top: auto;
        transform: rotate(0deg);
        width: auto;
        font-size: 14px;
        margin-bottom: 5px;
    }

    #mVisual .vTxt_wrap .vTxt_box .vT_title h1 {
        font-size: 42px;
    }
    #mVisual .vTxt_wrap .vTxt_box .vT_title dl {
        display: block;
        margin-top: 15px;
    }
    #mVisual .vTxt_wrap .vTxt_box .vT_title {text-align: center;}
    #mVisual .vTxt_wrap h2 {text-align: center;}
    #mVisual .vTxt_wrap .vTxt_box .vT_title dl dd {
        display: block;
        margin-bottom: 5px;
    }

    #mVisual .vTxt_wrap .vTxt_box .vT_title dl dd .border {
        display: none; 
    }

    #mVisual .vTxt_wrap .vTxt_box .vT_title dl dd h3 {
        font-size: 24px;
        color: #1aa7ec;
    }

    /* #mVisual .vTxt_wrap h2 {
        font-size: 18px;
        padding-top: 15px;
        line-height: 1.4;
        word-break: keep-all;
        display: none;
    } */
}
/* ----------------------------------- 02 Mission ----------------------------------- */
/* more view 효과*/
.tit .more_btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 50px;       
    padding: 0 60px 0 20px;
    font-size: 18px; 
    color: #1e2f98; 
    text-decoration: none;
    z-index: 1;
}

.tit .more_btn::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;           
    width: 50px;         
    height: 50px;
    border-radius: 50px;
    background-color: #19a7e9;
    opacity: 0.2;
    z-index: -1;         
    animation: circleMoveLeft 0.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.tit .more_btn i {
    position: absolute;
    right: 0;
    top: 0;
    
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    
    color: #1e2f98;
    transition: all 0.3s;
}
.tit .more_btn:hover::before {
    animation: circleMoveRight 0.5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.tit .more_btn:hover i {
    color: #fff;
    transform: rotate(90deg)
}

@keyframes circleMoveRight {
    0% {
        left: 0;
        width: 50px;
        background-color: #19a7e9;
    }
    50% {
        left: 0;
        width: 100%;
        background-color: #19a7e9;
    }
    100% {
        left: calc(100% - 50px);
        width: 50px;
        background-color: #5269ff;
        opacity: 1;
    }
}

@keyframes circleMoveLeft {
    0% {
        left: calc(100% - 50px);
        width: 50px;
        background-color: #5269ff;
    }
    50% {
        left: 0;
        width: 100%;
        background-color: #19a7e9;
    }
    100% {
        left: 0;
        width: 50px;
        background-color: #19a7e9;
    }
}
/* //more_btn */
.mission {
    position: relative; 
    background-color: #f1fbff;
    padding-top: 154px;
    z-index: 1;
    overflow: hidden;
}

.mission::before {
    content: "";
    position: absolute;
    top: 100px;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../images/main/mission_object.png) no-repeat center bottom;
    z-index: -1;
    opacity: 0;
    background-position: center bottom; 
}

.mission.in-view::before {
    animation: missionEntry 3s cubic-bezier(0.19, 1, 0.22, 1) 2.05s forwards, missionFloat 3s ease-in-out 5.05s infinite;
}

@keyframes missionEntry {
    0% {
        opacity: 0;
        transform: translateY(150px);
    }
    100% {
        opacity: 1;
        transform: translateY(-200px);
    }
}

@keyframes missionFloat {
    0% {
        transform: translateY(-200px);
    }
    50% {
        transform: translateY(-185px);
    }
    100% {
        transform: translateY(-200px);
    }
}
.tit {margin: 0 auto; text-align: center;}
h3 {font-size: 58px; color: #1e2f97; font-weight: 500;}
#mVisual h3 {margin-bottom: 0;}
h4 {font-size: 26px; color: #3d3d3d; font-weight: 400; font-family: 'sora';}

.mission .card {margin: 0 auto; display: flex; justify-content: center; margin-top: 100px;}


.mission .card > ul li {width: 533px; height: 450px; padding-left: 50px; position: relative; transition: .3s; /*cursor: pointer;*/ flex-shrink: 0; box-sizing: border-box; background: transparent;
    border: none; }
.mission .card > ul li:hover a {background: #4adede url(../images/main/mission_arrow.png) no-repeat center center; transition: .3s;}
.mission .card > ul {margin: 0 auto; display: flex; gap: 50px;}

.mission .card > ul li:nth-child(2) {margin-top: 300px;}
.mission .card > ul li:nth-child(3) {margin-top: 100px;}

.mission .card > ul li .num {display:flex; font-size: 120px; color: #fff; font-family: 'SebangGothic'; opacity: .5; letter-spacing: 2%; margin-top: 40px;
    -webkit-mask-image: linear-gradient(to bottom, #000, transparent); mask-image: linear-gradient(to bottom, #000, transparent);    
}
.mission .card > ul li p:nth-child(3) {font-size: 34px; color: #fff; margin-bottom: 25px; margin-top: -38px;}
.mission .card > ul li p:last-child {font-size: 20px; color: #fff; font-family: 'Pretendard'; font-weight: 400; line-height: 1.5;}
.mission .card > ul li a {width: 70px; height: 70px; background: #fff url(../images/main/mission_arrow_gr.png) no-repeat center center; display: block; display: flex; justify-content: center; align-items: center; border-radius: 50px; position: absolute; top: 0; right: 0; transition: .3s;cursor: default;}
.mission .card > ul li a img {width: 27px; height: 29px;}

:root {
    --cut-width: 80px;
    --cut-height: 80px;
    --slant: 20px;
    --border-width: 1px;
    --border-color: rgba(255, 255, 255, .3);
    --glass-bg: rgba(0, 110, 201, 0.3);
    --glass-bg-hover: rgba(30, 47, 151, 1);
    --blur-amount: 30px;
} 
  
.card ul li::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--border-color);
    z-index: 0;
    
    clip-path: polygon(
      0 0, 
      calc(100% - var(--cut-width) - var(--slant)) 0, 
      calc(100% - var(--cut-width)) var(--cut-height), 
      100% var(--cut-height), 
      100% 100%, 
      0 100%
    );
}

  
.card ul li::after {
    content: "";
    position: absolute;
    inset: var(--border-width);
    z-index: 0;
  
    background: var(--glass-bg);
    backdrop-filter: blur(var(--blur-amount));
    -webkit-backdrop-filter: blur(var(--blur-amount));
    
    background-size: 100% 200%;
    background-position: 0 0;
    clip-path: polygon(
      0 0, 
      calc(100% - var(--cut-width) - var(--slant)) 0, 
      calc(100% - var(--cut-width)) var(--cut-height), 
      100% var(--cut-height), 
      100% 100%, 
      0 100%
    );
    transition: background 0.3s ease;
}
  
.card ul li:hover::after {
    background: var(--glass-bg-hover);
  }
  
.card ul li > * {
position: relative;
z-index: 1;
}

/* --- 애니메이션 초기 상태 설정--- */
.mission {
    background-position: center bottom -100px; 
    transition: background-position 1.5s ease-out;
    transition-delay: 1s;
}

.tit > div {
    overflow: hidden;
}
.tit > div:first-child {
    height: 70px;
    width: auto;
    margin-bottom: 30px;
}

.tit h3 span {
    display: inline-block;
    opacity: 0;
    transform: translateY(50px);
    transition: 0.8s ease;
    /* 자바스크립트에서 넣은 순서(--i)에 따라 0.05초씩 늦게 나옴 */
    transition-delay: calc(0.03s * var(--i)); 
}

.mission .tit h4 {
    opacity: 0;
    transform: translateY(30px);
    transition: 0.8s ease;
    transition-delay: 0.5s;
}
.tit .more_btn {
    opacity: 0;
    transform: translateY(30px);
    transition: 0.5s ease;
    transition-delay: 0.7s;
}

.mission .card > ul li {
    opacity: 0;
    transform: translateY(100px);
    transition: all 1.3s cubic-bezier(0.25, 1, 0.5, 1);/
}


/* 애니메이션 */
.mission.in-view {
    background-position: center bottom 120px;
}

.in-view .tit h3 span {
    opacity: 1;
    transform: translateY(0);
}

.in-view .tit h4 {
    opacity: 1;
    transform: translateY(0);
}
.in-view .more_btn {
    opacity: 1;
    transform: translateY(0);
}

.mission.in-view .card > ul li {
    opacity: 1;
    transform: translateY(0);
}

.mission.in-view .card > ul li:nth-child(1) {
    transition-delay: .8s;
}

.mission.in-view .card > ul li:nth-child(3) {
    transition-delay: 1.3s;
}

.mission.in-view .card > ul li:nth-child(2) {
    transition-delay: 1.8s;
}

/* 반응형 */
@media screen and (max-width: 1650px) {
    .mission .card > ul { width: 95%; gap: 2%; }
    .mission .card > ul li { width: 32%; padding-left: 30px; padding-right: 30px; padding-bottom: 30px; height: 500px;}
    .mission .card > ul li .num { font-size: 100px; }
    .mission .card > ul li p:nth-child(3) { font-size: 28px; }
    
}

@media screen and (max-width: 1240px) {
    .mission {
        padding-left: 20px;
        padding-right: 20px;
        padding-top: 80px;
    }
    .mission .tit > div:first-child {
        height: auto;
        margin-bottom: 10px;
    }
    .mission::before {
        display: none;
        background-size: 70%;
        opacity: 0.4;
        top: -250px;
    }


    .mission .card { margin-top: 40px; padding-bottom: 40px; }
    .mission .card > ul {
        flex-direction: column;
        align-items: center;
        gap: 20px;
        width: 100%;
    }
    .tit .more_btn {
        margin-top: 20px !important;
        font-size: 16px;
    }

    .mission .card > ul li {
        width: 100%;
        max-width: 600px;
        height: auto;
        min-height: 380px;
        margin-top: 0 !important;
    }

    .tit h3 { font-size: 42px; }
    .tit h4 { font-size: 20px; padding: 0 10px; word-break: keep-all; }

    .mission.in-view .card > ul li:nth-child(1) { transition-delay: 0.2s; }
    .mission.in-view .card > ul li:nth-child(2) { transition-delay: 0.4s; }
    .mission.in-view .card > ul li:nth-child(3) { transition-delay: 0.6s; }
}
@media screen and (max-width: 787px) {
    .mission {
        padding-left: 10px;
        padding-right: 10px;
        padding-top: 80px;
    }
    .tit .more_btn {
        font-size: 16px !important;
        height: 40px;
        padding : 0 40px 0 20px;
    }
    .tit .more_btn::before {
        width: 40px;
        height: 40px;
        top: 50%;
        transform: translateY(-50%);
    }
    .tit .more_btn i {
        width: 40px;
        height: 40px;
    
    }
    .tit .more_btn::before {
        animation: none;
    }
    .tit .more_btn:hover::before {
        animation: none;
        top: 50%;
        transform: translateY(-50%);
    }
    .tit .more_btn:hover i {
        color: inherit;
    }
    .tit .more_btn {
        align-items: center;
    }
    .Global .bg_txt_mask {
        display: none;
    }
    .mission .card > ul li p {
        word-break: keep-all;
    }
}
@media screen and (max-width: 600px) {
    :root {
        --cut-width: 50px;
        --cut-height: 50px;
    }

    .mission::before { background-size: 100%; opacity: 0.2; }
    
    .tit h3 { font-size: 30px; }
    .tit h4 { font-size: 16px; line-height: 1.4; }
    .tit .more_btn { margin-top: 20px !important; font-size: 14px; }

    .mission .card > ul li {
        padding: 30px 20px 40px 25px;
    }
    .mission .card > ul li .num { font-size: 80px; margin-top: 20px; }
    .mission .card > ul li p:nth-child(3) { font-size: 24px; padding-right: 40px; line-height: 1.3; }
    .mission .card > ul li p:last-child { font-size: 16px; }
    
    .mission .card > ul li a { width: 50px; height: 50px; top: -8px;}
    .mission .card > ul li a img { width: 20px; }
}

/* ----------------------------------- 03 Global ----------------------------------- */
.Global {background: #f1fbff; padding-top: 160px; overflow: visible !important;}
.Global .bg_txt_mask {
    width: 100%;
    overflow: hidden;
    position: relative;
    
}

.Global .opacity {

    display: inline-block; 
    white-space: nowrap;
    
    font-size: 200px; 
    color: #7dd6f6; 
    opacity: .5; 
    transform: translateX(0); 
    
    -webkit-mask-image: linear-gradient(to bottom, #000, transparent 80%); 
    mask-image: linear-gradient(to bottom, #000, transparent 80%);
}

.Global .opacity.on {
    animation: moveRightToLeft 100s linear infinite;
}

@keyframes moveRightToLeft {
    0% {
        transform: translateX(50px);
    }
    100% {
        transform: translateX(-100%);
    }
}


.Global .tit h4 {
    opacity: 0;
    transform: translateY(30px);
    transition: 0.5s ease;
    transition-delay: 0.5s;
}

.in-view .tit h4 {
    opacity: 1;
    transform: translateY(0);
}

.Global .tit .more_btn {font-size: 18px; color: #1e2f98; position: relative; z-index: 1; display: inline-flex; align-items: center;
    margin-top: 50px; margin-bottom: 100px;
}

.Global .coll_card_wrap {
    overflow: visible !important;
    margin-top: 100px;
    width: 100%;
    opacity: 0;
    transition: all 1s ease-in-out;
}
.Global.in-view .coll_card_wrap {
    margin-top: 0;
    opacity: 1;
}
.Global .coll_card_wrap > ul {
    margin-top: 28px;
    display: flex;
    flex-direction: column;
    gap: 70px;
}
.Global .coll_card_wrap > ul li {
    height: 640px;
    width: 100%;
    clip-path: polygon(
        37px 0,
        calc(100% - 37px) 0,
        100% 37px,
        100% 100%,
        0 100%,
        0 37px
    );
    display: flex;
    align-items: center;
    position: -webkit-sticky;
    position: sticky;
    top: 200px;
}

.Global .coll_card_wrap > ul li:nth-child(1) {background: #4addde; z-index: 1; }
.Global .coll_card_wrap > ul li:nth-child(2) {background: #7dd6f6; z-index: 2; }
.Global .coll_card_wrap > ul li:nth-child(3) {background: #19a6e9; z-index: 3; }

.Global .coll_card_wrap > ul li .left {display: flex; justify-content: center; margin-left: 60px;}
.Global .coll_card_wrap > ul li:nth-child(1) .left {width: 900px; height: 500px; background: url(../images/main/coll_1.jpg); background-size: cover;}
.Global .coll_card_wrap > ul li:nth-child(2) .left {width: 900px; height: 500px; background: url(../images/main/coll_2.jpg); background-size: cover;}
.Global .coll_card_wrap > ul li:nth-child(3) .left {width: 900px; height: 500px; background: url(../images/main/coll_3.jpg); background-size: cover;}

.Global .coll_card_wrap > ul li .right {margin-left: 80px;}
.Global .coll_card_wrap > ul li .right span {font-size: 250px; font-family: 'pretendard'; font-weight: 500; color: #fff; opacity: .7; display: inline-block;
    -webkit-mask-image: linear-gradient(to bottom, #000, transparent 80%); mask-image: linear-gradient(to bottom, #000, transparent 80%);
    margin-left: -10px; margin-top: -40px;
}
.Global .coll_card_wrap > ul li .right p {color: #fff;}
.Global .coll_card_wrap > ul li .right p:nth-child(3) {font-size: 50px; font-weight: 600; margin-top: -80px;}
.Global .coll_card_wrap > ul li .right p:nth-child(4) {font-size: 26px;font-family: 'pretendard'; font-weight: 500; margin-top: 50px;}



/* 컨테이너 스타일 (원하는 위치/크기에 맞춰 조정 가능) */
.animation-container {
    position: absolute;
    top: 45px;
    right: 45px;
    width: 280px;
    height: 280px;
    /* 배경색이 필요 없다면 transparent로 변경하세요 */
    background: transparent; 
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden; /* 캔버스가 튀어나가지 않게 */
}

/* 애니메이션이 그려질 영역 */
.circle-container {
    position: relative;
    width: 280px;
    height: 270px;
    opacity: .6;
}

/* 반응형 */

@media screen and (max-width: 1440px) {
    .Global {
        padding-top: 20px;
    }
    .Global .opacity {
        font-size: 150px; /* 200px -> 150px */
    }

    .Global .coll_card_wrap > ul li {
        height: 500px;
    }

    .Global .coll_card_wrap > ul li .left {
        width: 40% !important; /* 너비 조금 더 축소 */
        height: 350px !important; /* 높이 조금 더 축소 */
    }

    /* 이미지 영역 너비 유동적으로 변경 */
    .Global .coll_card_wrap > ul li .left {
        width: 45%; 
        height: 400px; /* 높이 줄임 */
        margin-left: 40px;
        background-size: cover;
        background-position: center !important;
        flex-shrink: 0;
    }

    .Global .coll_card_wrap > ul li .right {
        margin-left: 40px;
        padding-right: 20px;
    }

    .Global .coll_card_wrap > ul li .right span {
        font-size: 180px; /* 숫자 크기 축소 */
    }
    .Global .coll_card_wrap > ul li .right p {
        word-break: keep-all;
    }
    .Global .coll_card_wrap > ul li .right p br {display: none;}
    .Global .coll_card_wrap > ul li .right p:nth-child(3) {
        font-size: 40px; /* 타이틀 크기 축소 */
        margin-top: -60px;
    }
    .animation-container {
        right: 10px;
    }
    
}
@media screen and (max-width: 1024px) {
    .Global {
        padding-top: 0px;
    }
    
    .Global .tit h4 { font-size: 20px; padding: 0 20px; word-break: keep-all; }
    .Global .tit h4 br {display: none;}
    .Global .coll_card_wrap > ul li {
        top: 120px; 
        height: 500px;
    }

    .Global .coll_card_wrap > ul li .left {
        width: 40%;
        height: 350px;
        margin-left: 30px;
    }

    .Global .coll_card_wrap > ul li .right span {
        font-size: 140px;
    }
    
    .Global .coll_card_wrap > ul li .right p:nth-child(3) {
        font-size: 32px;
        margin-top: -40px;
    }
    
    .Global .coll_card_wrap > ul li .right p:nth-child(4) {
        font-size: 20px;
        margin-top: 20px;
    }

    .animation-container {
        width: 200px;
        height: 200px;
        top: 20px;
        right: 20px;
    }
    .circle-container {
        width: 200px;
        height: 200px;
    }
    .animation-container {
        display: none;     
    }
}

@media screen and (max-width: 768px) {
    .Global {
        padding-left: 10px;
        padding-right: 10px;
    }
    .Global .opacity {
        font-size: 80px;
    }
    .Global .tit > div:first-child {
        height: 90px;
    }
    .Global .coll_card_wrap {
        margin-top: 50px;
    }
    .Global .coll_card_wrap > ul {
        gap: 35px;
    }
    .Global .tit .more_btn {margin-bottom: 20px;}

    .Global .coll_card_wrap > ul li {
        position: static;
        flex-direction: column;
        height: auto;
        padding: 40px 20px 60px 20px;
        clip-path: polygon( 
            20px 0,
            calc(100% - 20px) 0,
            100% 20px,
            100% 100%,
            0 100%,
            0 20px
        );
    }

    .Global .coll_card_wrap > ul li .left {
        width: 100% !important;
        height: 250px !important;
        margin-left: 0 !important;
        margin-bottom: 30px;
    }

    .Global .coll_card_wrap > ul li .right {
        width: 100%;
        margin-left: 0;
        text-align: left;
        position: relative;
        padding-right: 0;
    }

    .Global .coll_card_wrap > ul li .right p {
        text-align: center;
    }

    .Global .coll_card_wrap > ul li .right span {
        font-size: 32px;
        margin-top: 0;
        margin-left: 0;
        position: absolute;
        top: 0px; 
        left: 50%;
        transform: translateX(-50%);
        opacity: 0.7;
        mask-image: linear-gradient(to bottom, #000, transparent 90%);
    }


    .Global .coll_card_wrap > ul li .right p:nth-child(3) {
        font-size: 28px;
        margin-top: 30px;
        position: relative;
        z-index: 2;
    }

    .Global .coll_card_wrap > ul li .right p:nth-child(4) {
        font-size: 16px;
        line-height: 1.5;
        margin-top: 15px;
    }

    
}

/* ----------------------------------- 04 Notice ----------------------------------- */
.notice {
    position: relative;
    background-color: #f1fbff;
    padding-left: 60px;
    padding-right: 60px;
    padding-top: 155px;
    padding-bottom: 140px;
    overflow: visible; 
    z-index: 1; 
}

.notice::before {
    content: "";
    position: absolute;
    top: -130px; 
    right: 50px;
    width: 500px;
    height: 500px;
    background: url(../images/main/notice_obj.png) no-repeat center center;
    background-size: contain;
    z-index: -1;

    opacity: 0;
    transform: translateY(-100px); 
}

.notice.in-view::before {
    animation: 
        slideDownObj 1s cubic-bezier(0.25, 1, 0.5, 1) forwards, 
        floatingObj 3s ease-in-out 1s infinite;
}

@keyframes slideDownObj {
    0% {
        opacity: 0;
        transform: translateY(-200px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes floatingObj {
    0% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(15px);
    }
    100% {
        transform: translateY(0);
    }
}

.notice .tit {display: flex; justify-content: space-between; align-items: center; margin-bottom: 50px;}
.notice .tit h3 {margin-bottom: 0;}



.notice .cont > ul {display: grid; grid-template-columns: repeat(2, 1fr); gap: 50px;}
.notice .cont > ul li {width: 875px;height: auto; padding: 35px 35px 35px 35px; box-sizing: border-box;}
.notice .cont > ul li span {font-size: 18px; color: #ccc; font-family: 'pretendard'; font-weight: 400;}
.notice .cont > ul li p:nth-child(2) {font-size: 28px; font-family: 'pretendard'; color: #333; font-weight: 600; margin-top: 20px;}
.notice .cont > ul li p:nth-child(3) {font-size: 18px; font-family: 'pretendard'; color: #999; font-weight: 400; margin-top: 19px;}

.notice .cont > ul li:hover {background: #4addde; box-shadow: 0 26px 30px rgba(74, 222, 222, .4); transition: .3s;}
.notice .cont > ul li:hover span {color: #fff; transition: .3s;}
.notice .cont > ul li:hover p {color: #fff; transition: .3s;}

/* 카드 양쪽 등장 */
.notice .cont > ul li {
    opacity: 0; 
    transition: transform 2s ease-in-out, background .3s; 
}
.notice .cont > ul li:nth-child(odd) {
    transform: translateX(-200px);
}

.notice .cont > ul li:nth-child(even) {
    transform: translateX(200px);
}
.notice.in-view .cont > ul li {
    opacity: 1;
    transform: translateX(0);
}
.notice.in-view .cont > ul li:nth-child(1) { transition-delay: transform 1s; }
.notice.in-view .cont > ul li:nth-child(2) { transition-delay: transform 1.5s; }
.notice.in-view .cont > ul li:nth-child(3) { transition-delay: transform 1s; }
.notice.in-view .cont > ul li:nth-child(4) { transition-delay: transform 1.5s; }

/* 반응형 */
/* 반응형 */

@media screen and (max-width: 1800px) {
    .notice .cont > ul li {
        width: 100% !important;
    }
}

@media screen and (max-width: 1240px) {
    .notice {
        padding-top: 100px;
        padding-bottom: 100px;
        padding-left: 30px;
        padding-right: 30px;
    }
    .notice::before {
        width: 300px;
        height: 300px;
        top: -50px;
        right: 0;
        opacity: 0.5;
    }
    .notice .tit {
        margin-bottom: 30px;
        align-items: center;
        flex-direction: column !important;
    }

    .notice .cont > ul {
        gap: 30px;
    }
    .notice .cont > ul li p:nth-child(2) { font-size: 22px; } 
    .notice .cont > ul li p:nth-child(3) { font-size: 16px; }
}

@media screen and (max-width: 768px) {
    .notice {
        padding: 60px 10px;
    }

    .notice::before {
        width: 200px;
        height: 200px;
    }
    
    .notice .tit .more_btn {
        /* padding-left: 0; */
        margin-left: 0; 
        margin-top: 0 !important;
    }

    .notice .tit > div:first-child {
        height: auto;
        margin-bottom: 20px;
    }

    .notice .cont > ul {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .notice .cont > ul li {
        padding: 25px;
    }

    .notice .cont > ul li:nth-child(odd),
    .notice .cont > ul li:nth-child(even) {
        transform: translateY(50px); 
    }
    .notice.in-view .cont > ul li {
        transform: translateY(0);
    }
}

/* ----------------------------------- 05 Gallery ----------------------------------- */
.gallery {background: #f1fbff; padding-left: 60px; padding-bottom: 140px; position: relative; z-index: 1;}

.gallery .tit {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 50px;
}

.gallery .tit .tit_left {
    display: flex;
    align-items: center;
    gap: 20px;
}

.gallery .tit .tit_left button[type="button"] {
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 8px 8px;
}

.slick-btns {
    display: flex;
    margin-top: 8px;
    transform: translateY(50px);
}
.gallery.in-view .slick-btns {
    transform: translateY(0);
    transition: all .5s ease-in-out;
    transition-delay: .3s;
}
.custom-prev {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;

}
.custom-prev::after {
    content: "";
    width: 1px;
    height: 10px;
    background: #ddd;
    display: block;
    position: relative;
    left: 8px;
}

.gallery .tit h3 {
    margin-bottom: 0;
}

.gallery .research-slider .date {
    font-size: 16px; color: #999999; font-family: 'pretendard'; font-weight: 400
}
.gallery .research-slider .right-text p:nth-child(2) {
    font-size: 22px; color: #333; font-family: 'pretendard'; font-weight: 600;
    display: block;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-top: 17px;
}
.gallery .research-slider .right-text p:nth-child(3) {
    font-size: 18px; color: #555; font-family: 'pretendard'; font-weight: 400;
    display: -webkit-box;
    width: 100%;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-all;
    margin-top: 14px;
}

/* more view btn */
.gallery .tit .more_btn {margin-right: 60px;
}


/* slider */
.research-slider {
    margin-top: 50px;
    overflow: hidden;
    display: block;
    width: 100%;
    opacity: 0;
    transition: all 1s cubic-bezier(0.25, 1, 0.5, 1);
    transform: translateY(100px);
}
.in-view .research-slider {
    opacity: 1;
    transform: translateY(0);
    transition-delay: .4s;
}

.research-slider .slick-list {
    overflow: hidden; 
    padding-bottom: 70px !important;
    margin-bottom: -70px;
}

.research-slider .slick-list,
.research-slider .slick-track {
    padding-bottom: 60px; 
}

/* .research-slider .slick-track {
    display: block; 
    gap: 0;
} */

.research-slider .slide-item {
    width: 336px;
    height: auto;
    margin-right: 20px;
    cursor: pointer;
}

.research-slider .slide-item.down {
    transform: translateY(50px);
}

.research-slider .slide-inner {
    display: flex;
    flex-direction: column;
}

.research-slider .left-img {
    width: 336px;
    height: 300px;
    overflow: hidden;
    margin-bottom: 20px;
}

.research-slider .left-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
}

.research-slider .slide-item:hover .left-img img {
    transform: scale(1.1);
    transition: .3s;
}

.research-slider .right-text {
    width: 100%;
    box-sizing: border-box;
    overflow: hidden;
}

/* background */
#gallery-wave {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
}

/* Three.js 캔버스 스타일 */
#gallery-wave canvas {
    display: block;
    background: transparent !important; 
}
/* 갤러리 화살표 */
.gallery .slick-btns i {
    font-size: 20px;
}
.gallery .slick-btns .custom-prev i {
    color: #0f1010;
    transition: .3s;
}
.gallery .slick-btns .custom-next i {
    color: #919799;
    transition: .3s;
}
.gallery .slick-btns .custom-next i:hover {
    color: #0f1010;
    transition: .3s;
}
.gallery .slick-btns:has(.custom-next:hover) .custom-prev i {
    color: #919799;
    transition: .3s;
}

/* 반응형 */
@media screen and (max-width: 1240px) {
    .gallery {
        padding-left: 30px;
        padding-right: 30px;
        padding-bottom: 100px;
    }
    .gallery .tit {
        display: flex;
        align-items: center;
        flex-direction: column;
    }
    .gallery .tit .more_btn {
        margin-right: 0;
        margin-top: 10px;
    }
    .research-slider {
        display: flex;
    }
    .research-slider .slide-item {
        width: auto;
        max-width: 400px;
    }
    
    .research-slider .left-img {
        width: 100%;
        height: 280px;
    }

    .research-slider .slide-item {
        width: 100%;
    }
    .research-slider .left-img, 
    .research-slider .right-text,
    .gallery .research-slider .right-text p:nth-child(2),
    .gallery .research-slider .right-text p:nth-child(3) {
        width: 100% !important;
    }

    .research-slider .slide-item.down {
        transform: translateY(0); 
    }
}

@media screen and (max-width: 768px) {
    .gallery {
        padding-left: 10px;
        padding-right: 10px;
        padding-bottom: 40px;
    }

    .slick-btns {
        transform: translateY(0);
        margin-top: 0;
        display: none;
    }
    .gallery .tit {
        margin-bottom: 0;
    }
    .gallery .tit .tit_left {
        flex-direction: column;
        gap: 5px;
    }

    .gallery .tit > div:first-child {
        height: auto;
        margin-bottom: 20px;
    }

    .gallery .tit .more_btn {
        font-size: 14px;
        top: -20px;
    }
    .research-slider {
        margin-top: 10px;
    }
    .research-slider .slide-inner {
        width: 100%;
    }
    
    .research-slider .left-img {
        height: 280px;
    }

    .gallery .research-slider .right-text p:nth-child(2) {
        font-size: 22px;
        margin-top: 12px;
        width: 100%;
        text-align: center;
    }
    .gallery .research-slider .right-text p:nth-child(3) {
        font-size: 18px;
        width: 100%;
        text-align: center;
    }

    .research-slider .slide-item {
        padding: 0;
        max-width: 100%;
        display: block;
        margin-right: 0px !important;
    }

    .research-slider .slide-inner {
        width: 100%;
        max-width: 500px;
        margin: 0 auto;
        /* padding: 0 5px; */
    }
    
    .research-slider .left-img {
        width: 100%;
        height: auto;
        aspect-ratio: 4 / 3;
    }

    /* .gallery .research-slider .right-text p:nth-child(2),
    .gallery .research-slider .right-text p:nth-child(3) {
        text-align: center;
        width: 100%;
    } */
    
    .gallery .research-slider .date {
        display: block;
        text-align: center;
    }
}




/* ----------------------------------- 06 Footer ----------------------------------- */

footer {
    position: relative;
    height: auto;
    width: 100%;
    padding: 50px 60px 0 60px;
    z-index: 10;
    /* transform: translateY(50px); */
    transition: transform 0.3s ease-in-out;
}

/* footer.in-view {
    transform: translateY(0);
} */

footer::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: #e3f3fa;
    clip-path: polygon(
        37px 0,
        calc(100% - 37px) 0,
        100% 37px,
        100% 100%,
        0 100%,
        0 37px
    );
    z-index: -1;
}

footer .cs-logo a.logo-1{display:inline-block;width: 220px; height: 84px;overflow:hidden;background-image:url("/images/common/ft_logo.png");background-repeat:no-repeat;background-position:0 0;}
/* 국문로고 */
footer .cs-logo a.logo-kor{background-image:url("/images/common/ft_logo_kor.png");}

footer .ft-top {display: flex; justify-content: space-between;}
footer .ft-menu {display: flex; gap: 50px; margin-bottom: 50px;}
footer .ft-menu a {font-size: 16px; color: #555; font-family: 'pretendard'; font-weight: 500; transition: .3s;}
footer .ft-menu li:hover a {color: #9b9b9b; transition: .3s;}

footer .select_f_btn {border: none; background: #d3edf8; width: 217px; height: 50px; transition: .2s;}
footer .select_f_btn .ir {font-size: 16px; color: #909da2;  font-family: 'pretendard';}
footer .select_f_btn i {color: #909da2; margin-left: 72px;}
footer .select_f_btn:hover {background: #3059c7; transition: .2s;}
footer .select_f_btn:hover .ir {color: #fff;}
footer .select_f_btn:hover i {color: #fff;}


footer address {color: #555; font-size: 16px; font-family: 'pretendard'; font-weight: 400; font-style: normal; margin-bottom: 8px;}
footer p {color: #555; font-family: 'pretendard'; font-weight: 400; font-size: 16px;}
footer .ft-bottom ul {display: flex; gap: 44px; margin-bottom: 50px;}
footer .ft-bottom {margin-top: -10px;}

footer cite {font-style: normal; font-size: 14px; color: #555; font-family: 'pretendard'; font-weight: 300;
    display: flex; align-items: center; justify-content: center; padding-top: 20px; padding-bottom: 20px; box-sizing: border-box;
    width: 100%; border-top: 1px solid #999; opacity: .6;
}
footer cite a  {font-style: normal; font-size: 14px; color: #555; font-family: 'pretendard'; font-weight: 300; margin-left: 5px;}
footer cite a:hover {color: #38B077; font-weight: 400;}

footer cite b{font-weight: 600;}

.ft_fm_wrap{display: flex; flex-direction: column; align-items: flex-end;}

/* 패밀리 사이트 */
.fm-site {
    display: inline-block;
    position: relative;
}

.fm-site ul.f-site-list {
    display: none;
    position: absolute;
    bottom: 100%;
    left: 0;
    width: 217px;
    background: #fff;
    box-sizing: border-box;
    padding: 8px 10px;
    z-index: 10;
    border-radius: 8px 8px 0 0; 
    box-shadow: 0 -5px 15px rgba(0,0,0,0.03);
    border: 1px solid #eef1f4;
    border-bottom: none;
}

.fm-site ul.f-site-list.open {
    display: block;
}

.fm-site ul.f-site-list li {
    display: block;
    border-bottom: 1px solid #f1f4f6;
}
.fm-site ul.f-site-list li:last-child {
    border-bottom: none;
    margin-bottom: 0;
}
.fm-site ul.f-site-list li a {
    display: block;
    font-size: 15px;
    color: #666;
    text-decoration: none;
    padding: 12px 10px;
    border-radius: 4px; 
    transition: all 0.2s ease-in-out;
}
.fm-site ul.f-site-list li a:hover {
    color: #3059c7;
    background-color: #f4f8fb;
    padding-left: 15px; 
    font-weight: 500;
}

.select_f_btn i {
    display: inline-block;
    transition: transform 0.3s;
}
.select_f_btn.on i {
    transform: rotate(45deg);
}
.select_f_btn.on {
    background: #fff !important;
}
.select_f_btn.on .ir,
.select_f_btn.on i {
    color: #666 !important; 
}


/* top btn */
#top_btn { background: #d3edf8; border: none; color: #666; width:50px; height:50px; margin-left: 15px; transition: .3s;}
#top_btn:hover {border-color:#3059c7;background:#3059c7;color:#fff; transition: .3s;}



@media screen and (max-width: 1024px) {
    footer {
        padding: 50px 30px 0 30px; 
    }

    footer .ft-top {
        flex-direction: column;
        align-items: flex-start;
        gap: 30px;
    }

    footer .ft_fm_wrap {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    footer .ft-menu {
        margin-bottom: 0;
        gap: 30px;
    }

    footer .ft-bottom {
        margin-top: 30px;
    }
    
    footer .ft-bottom ul {
        flex-wrap: wrap;
        gap: 10px 30px;
        margin-bottom: 30px;
    }

    footer cite {
        padding: 20px 0;
    }
}

@media screen and (max-width: 768px) {
    footer {
        padding: 40px 20px 0 20px;
    }

    footer::before {
        clip-path: polygon(
            20px 0,
            calc(100% - 20px) 0,
            100% 20px,
            100% 100%,
            0 100%,
            0 20px
        );
    }

    footer .cs-logo a.logo-1 {
        width: 180px;
        height: 68px;
        background-size: contain;
    }

    .fm-site {
        width: 100%;
        display: flex;
        gap: 10px;
    }

    footer .select_f_btn {
        flex: 1;
        width: auto;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0 20px;
    }
    footer .select_f_btn i {
        margin-left: 0;
    }

    #top_btn {
        margin-left: 0;
    }

    .fm-site ul.f-site-list {
        width: calc(100% - 60px);
    }

    footer address {
        font-size: 16px;
        line-height: 1.5;
        word-break: keep-all;
        margin-bottom: 10px;
    }

    footer .ft-bottom ul {
        flex-direction: column;
        gap: 10px;
        margin-bottom: 30px;
    }
    
    footer .ft-bottom ul li p {
        font-size: 16px;
    }

    footer cite {
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
        gap: 5px; 
        
        text-align: center;
        font-size: 16px;
        padding: 20px 0 30px 0;
        width: 100%;
        opacity: 0.6;
        border-top: 1px solid #999;
    }
    
    footer cite a {
        font-size: 16px;
        display: inline-block;
        margin-left: 0;
    }

    footer cite b {
        font-weight: 400;
    }
}
