/* 폰트 세팅 */
@font-face {
    font-family: 'Pretendard';
    font-weight: 900;
    font-display: swap;
    src:
        local('Pretendard Black'),
        url(../fonts/woff2/Pretendard-Black.woff2) format('woff2'),
        url(../fonts/woff/Pretendard-Black.woff) format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 800;
    font-display: swap;
    src:
        local('Pretendard ExtraBold'),
        url(../fonts/woff2/Pretendard-ExtraBold.woff2) format('woff2'),
        url(../fonts/woff/Pretendard-ExtraBold.woff) format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 700;
    font-display: swap;
    src:
        local('Pretendard Bold'),
        url(../fonts/woff2/Pretendard-Bold.woff2) format('woff2'),
        url(../fonts/woff/Pretendard-Bold.woff) format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 600;
    font-display: swap;
    src:
        local('Pretendard SemiBold'),
        url(../fonts/woff2/Pretendard-SemiBold.woff2) format('woff2'),
        url(../fonts/woff/Pretendard-SemiBold.woff) format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 500;
    font-display: swap;
    src:
        local('Pretendard Medium'),
        url(../fonts/woff2/Pretendard-Medium.woff2) format('woff2'),
        url(../fonts/woff/Pretendard-Medium.woff) format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 400;
    font-display: swap;
    src:
        local('Pretendard Regular'),
        url(../fonts/woff2/Pretendard-Regular.woff2) format('woff2'),
        url(../fonts/woff/Pretendard-Regular.woff) format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 300;
    font-display: swap;
    src:
        local('Pretendard Light'),
        url(../fonts/woff2/Pretendard-Light.woff2) format('woff2'),
        url(../fonts/woff/Pretendard-Light.woff) format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 200;
    font-display: swap;
    src:
        local('Pretendard ExtraLight'),
        url(../fonts/woff2/Pretendard-ExtraLight.woff2) format('woff2'),
        url(../fonts/woff/Pretendard-ExtraLight.woff) format('woff');
}

@font-face {
    font-family: 'Pretendard';
    font-weight: 100;
    font-display: swap;
    src:
        local('Pretendard Thin'),
        url(../fonts/woff2/Pretendard-Thin.woff2) format('woff2'),
        url(../fonts/woff/Pretendard-Thin.woff) format('woff');
}

/* 공통 디자인과 다른 부분 */
#opt_scroll_float {
    display: none;
}

/* 섹션 공통 스타일 */
:root {
    --base-padding: 60px;
    --content-wrapper: 1200px;
    --header-height: 112px;
    --gutter: 24px;
    --section-gap: 160px;

    /* T1 */
    --t1-size: 68px;
    --t1-weight: 700;
    --t1-line-height: 1.25;
    --t1-letter-spacing: -0.068px;

    /* T2 */
    --t2-size: 52px;
    --t2-weight: 700;
    --t2-line-height: 1.35;
    --t2-letter-spacing: -0.26px;

    /* T3 */
    --t3-size: 40px;
    --t3-weight: 700;
    --t3-line-height: 1.4;
    --t3-letter-spacing: -0.2px;

    /* T4 */
    --t4-size: 32px;
    --t4-weight: 700;
    --t4-line-height: 1.4;
    --t4-letter-spacing: 0px;

    /* T5 */
    --t5-size: 24px;
    --t5-weight: 500;
    --t5-line-height: 1.5;
    --t5-letter-spacing: 0px;

    /* T6 */
    --t6-size: 20px;
    --t6-weight: 700;
    --t6-line-height: 1.5;
    --t6-letter-spacing: 0px;

    /* T7 */
    --t7-size: 20px;
    --t7-weight: 500;
    --t7-line-height: 1.5;
    --t7-letter-spacing: 0px;

    /* T8 */
    --t8-size: 18px;
    --t8-weight: 700;
    --t8-line-height: 1.5;
    --t8-letter-spacing: 0px;

    /* T9 */
    --t9-size: 18px;
    --t9-weight: 500;
    --t9-line-height: 1.5;
    --t9-letter-spacing: 0px;

    /* T10 */
    --t10-size: 16px;
    --t10-weight: 500;
    --t10-line-height: 1.4;
    --t10-letter-spacing: 0px;

    /* T11 */
    --t11-size: 14px;
    --t11-weight: 500;
    --t11-line-height: 1.5;
    --t11-letter-spacing: 0px;
}

@media screen and (max-width: 1190px) {
    :root {
        /* T1 */
        --t1-size: 32px;
        --t1-letter-spacing: -0.032px;

        /* T2 */
        --t2-size: 24px;
        --t2-line-height: 1.4;
        --t2-letter-spacing: -0.024px;

        /* T3 */
        --t3-size: 22px;
        --t3-line-height: 1.35;
        --t3-letter-spacing: -0.11px;

        /* T4 */
        --t4-size: 18px;
        --t4-line-height: 1.5;
        --t4-letter-spacing: -0.09px;

        /* T5 */
        --t5-size: 18px;
        --t5-weight: 700;
        --t5-line-height: 1.4;
        --t5-letter-spacing: -0.09px;

        /* T6 */
        --t6-size: 16px;

        /* T7 */
        --t7-size: 16px;

        /* T8 */
        --t8-size: 16px;
        --t8-weight: 500;
        --t8-line-height: 1.45;

        /* T9 */
        --t9-size: 16px;
        --t9-weight: 700;
        --t9-line-height: 1.35;

        /* T10 */
        --t10-size: 15px;
        --t10-line-height: 1.5;
    }
}

@keyframes wave {
    0% {
        transform: rotate(20deg);
    }
    100% {
        transform: rotate(0deg);
    }
}

@-webkit-keyframes wave {
    0% {
        -webkit-transform: rotate(20deg);
    }
    100% {
        -webkit-transform: rotate(0deg);
    }
}

@-moz-keyframes wave {
    0% {
        -moz-transform: rotate(20deg);
    }
    100% {
        -moz-transform: rotate(0deg);
    }
}

@keyframes showup {
    0% {
        transform: translateY(20px);
        opacity: 0;
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

@-webkit-keyframes showup {
    0% {
        -webkit-transform: translateY(20px);
        opacity: 0;
    }
    100% {
        -webkit-transform: translateY(0);
        opacity: 1;
    }
}

@-moz-keyframes showup {
    0% {
        -moz-transform: translateY(20px);
        opacity: 0;
    }
    100% {
        -moz-transform: translateY(0);
        opacity: 1;
    }
}

.type-index {
    padding-top: var(--header-height);
}

.type-index * {
    font-family: Pretendard;
}

.type-index section {
    overflow: hidden;
    position: relative;
}

.type-index .sec-cont {
    padding: 0 var(--base-padding);
}

.type-index .sec-cont--wide {
    padding: 0;
}

.content-wrapper {
    width: 100%;
    max-width: var(--content-wrapper);
    margin: 0 auto;
}

.btn-angle-large {
    color: #000;
    font-size: var(--t9-size);
    font-weight: var(--t9-weight);
    line-height: var(--t9-line-height);
    display: inline-flex;
    align-items: center;
    position: relative;
}

.btn-angle-large::after {
    content: '';
    width: 16px;
    height: 16px;
    margin-left: 4px;
    background-image: url("data:image/svg+xml;utf8,<svg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M6 13L11 7.93671L6 3' stroke='black' stroke-miterlimit='10'/></svg>");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.btn-angle-large::before {
    content: '';
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    width: 0;
    height: 1px;
    background-color: #000;
    pointer-events: none;
    transition: All 0.3s ease-out;
    -webkit-transition: All 0.3s ease-out;
    -moz-transition: All 0.3s ease-out;
    -o-transition: All 0.3s ease-out;
}

.btn-angle-large:hover::before {
    width: 100%;
}

.btn-angle-small {
    color: #000;
    font-size: var(--t10-size);
    font-weight: var(--t10-weight);
    line-height: var(--t10-line-height);
    display: inline-flex;
    align-items: flex-start;
    position: relative;
}

.btn-angle-small span {
    color: #000;
    font-size: var(--t10-size);
    font-weight: var(--t10-weight);
    line-height: var(--t10-line-height);
}

.btn-angle-small::after {
    content: '';
    width: 16px;
    height: 16px;
    margin-left: 4px;
    margin-top: 3px;
    background-image: url("data:image/svg+xml;utf8,<svg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M6 13L11 7.93671L6 3' stroke='black' stroke-miterlimit='10'/></svg>");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.btn-angle-small::before {
    content: '';
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    width: 0;
    height: 1px;
    background-color: #000;
    pointer-events: none;
    transition: All 0.3s ease-out;
    -webkit-transition: All 0.3s ease-out;
    -moz-transition: All 0.3s ease-out;
    -o-transition: All 0.3s ease-out;
}

.btn-angle-small:hover::before {
    width: 100%;
}

.btn-round {
    display: inline-flex;
    align-items: flex-start;
    justify-content: center;
    border-radius: 53px;
    background: #005eb8;
    padding: 13px 35px;
    color: #fff;
    text-align: center;
    font-size: var(--t8-size);
    font-weight: var(--t8-weight);
    line-height: var(--t8-line-height);
    transition: All 0.3s ease-out;
    -webkit-transition: All 0.3s ease-out;
    -moz-transition: All 0.3s ease-out;
    -o-transition: All 0.3s ease-out;
}

.btn-round::after {
    content: '';
    width: 16px;
    height: 16px;
    margin-left: 4px;
    margin-top: 5px;
    background-image: url("data:image/svg+xml;utf8,<svg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M6 13L11 7.93671L6 3' stroke='white' stroke-miterlimit='10'/></svg>");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.btn-round:hover {
    background-color: #1d42a5;
}

.btn-ghost {
    display: inline-flex;
    align-items: flex-start;
    border-radius: 53px;
    border: 1px solid #fff;
    text-align: center;
    background: transparent;
    padding: 12px 34px;
    color: #fff;
    font-size: var(--t8-size);
    font-weight: var(--t8-weight);
    line-height: var(--t8-line-height);
    outline: 1px solid transparent;
    position: relative;
    transition: All 0.3s ease-out;
    -webkit-transition: All 0.3s ease-out;
    -moz-transition: All 0.3s ease-out;
    -o-transition: All 0.3s ease-out;
}

.btn-ghost::after {
    content: '';
    width: 16px;
    height: 16px;
    margin-left: 8px;
    margin-top: 5px;
    background-image: url("data:image/svg+xml;utf8,<svg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M6 13L11 7.93671L6 3' stroke='white' stroke-miterlimit='10'/></svg>");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.btn-ghost > svg {
    width: 16px;
    height: 16px;
    margin-left: 8px;
    margin-top: 5px;
}

.btn-ghost:hover {
    outline: 1px solid #fff;
}

.btn-ghost--dark {
    border-color: #000;
    color: #000;
}

.btn-ghost--dark::after {
    background-image: url("data:image/svg+xml;utf8,<svg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M6 13L11 7.93671L6 3' stroke='black' stroke-miterlimit='10'/></svg>");
}

.btn-ghost--dark:hover {
    outline: 1px solid #000;
}

.btn-ghost .btn-ghost__bg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    border-radius: 100px;
    opacity: 0;
    border: 2px solid #fff;
    pointer-events: none;
    transition: All 0.3s ease-out;
    -webkit-transition: All 0.3s ease-out;
    -moz-transition: All 0.3s ease-out;
    -o-transition: All 0.3s ease-out;
}
.btn-ghost:hover .btn-ghost__bg {
    opacity: 1;
}

.thread {
    width: 100%;
    height: 6px;
    font-size: 0;
    background-position: center;
    background-repeat: repeat;
    background-size: 100% auto;
}

.thread--top {
    background-image: url(../images/main/thread-top.jpg);
}

.thread--btm {
    background-image: url(../images/main/thread-btm.jpg);
}

.section-title {
    text-align: center;
}

.section-title__title {
    color: #000;
    font-size: var(--t2-size);
    font-weight: var(--t2-weight);
    line-height: var(--t2-line-height);
    letter-spacing: var(--t2-letter-spacing);
}

.section-title__desc {
    margin-top: 20px;
    color: #3b3e46;
    text-align: center;
    font-size: var(--t5-size);
    font-weight: var(--t5-weight);
    line-height: var(--t5-line-height);
}

.section-title__link {
    margin-top: 40px;
}

.section-group {
    display: flex;
    flex-direction: column;
}

.aos-img {
    opacity: 0;
    transform: translateY(20px);
    transition: All 0.8s ease-out 0.2s;
    -webkit-transition: All 0.8s ease-out 0.2s;
    -moz-transition: All 0.8s ease-out 0.2s;
    -o-transition: All 0.8s ease-out 0.2s;
}

.aos-img.show {
    opacity: 1;
    transform: translateY(0);
}

@keyframes loadGradient {
    0% {
        background-position: -1000px 0;
    }
    100% {
        background-position: 1000px 0;
    }
}
.placeholder-skeleton {
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100% !important;
    animation: loadGradient 10s infinite !important;
}

.placeholder-bg {
    background: #fafafa;
}

.btn-angle-small.placeholder-skeleton::after {
    content: none;
}

/*////////////////////////////////////////////////*/
/*////////////////////////////////////////////////*/
/*////////////////////////////////////////////////*/
/*////////////////////////////////////////////////*/
/*////////////////////////////////////////////////*/

/* intro-section */
.sec-intro-banner {
    padding-top: 80px;
    padding-bottom: 80px;
}

.intro-banner {
    text-align: center;
}

.intro-banner__copy {
    display: none; /* JT 수정, display none 처리 */
    color: #000;
    text-align: center;
    font-size: var(--t3-size);
    font-weight: var(--t3-weight);
    line-height: var(--t3-line-height);
    letter-spacing: var(--t3-letter-spacing);
    opacity: 0;
    animation: showup 2s cubic-bezier(0.22, 1, 0.36, 1) 0.2s forwards;
}

/* JT 수정, show 클래스 추가 */
.intro-banner__copy.show {
    display: block;
}

.intro-banner__copy b {
    color: #005eb8;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
}

.intro-banner__btn {
    margin-top: 24px;
    opacity: 0;
    animation: showup 2s cubic-bezier(0.22, 1, 0.36, 1) 0.4s forwards;
}

/* sec-hero */
.hero-slider {
    position: relative;
}

.hero-slider__item {
    position: relative;
}

/*JT 수정, 스타일 추가 */
.hero-slider__link {
    display: block;
}

.hero-slider__slider {
    height: 740px; /* JT 수정, 높이 축소 */
}

.hero-slider__item .content-wrapper {
    height: 100%;
    display: flex;
    align-items: center;
    padding: 0 var(--base-padding);
}

.hero-slider__bg {
    height: 100%;
    width: 100vw;
    pointer-events: none;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.hero-slider__bg img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

@media screen and (min-width: 1921px) {
    /*.hero-slider__bg img {*/
    /*    width: 100%;*/
    /*}*/
    .hero-slider__slider {
        height: auto;
    }
    .hero-slider__bg {
        height: 100%;
        width: 100vw;
        position: relative;
        top: auto;
        left: auto;
        transform: none;
    }

    .hero-slider__item .content-wrapper {
        height: 100%;
        display: flex;
        align-items: center;
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        padding: 0 var(--base-padding);
    }
}

.hero-slider__copy {
    position: relative;
    z-index: 1;
}

.hero-slider__copy > * {
    opacity: 0;
}

.hero-slider__sub {
    color: #fff;
    font-size: var(--t7-size);
    font-weight: var(--t7-weight);
    line-height: var(--t7-line-height);
    margin-left: 2px; /* JT 수정, 속성 추가 */
}

.hero-slider__item.action .hero-slider__sub {
    animation: showup 2s cubic-bezier(0.22, 1, 0.36, 1) 0s forwards;
}

.hero-slider__title {
    margin-top: 16px;
    color: #fff;
    font-size: var(--t1-size);
    font-weight: var(--t1-weight);
    line-height: var(--t1-line-height);
    letter-spacing: var(--t1-letter-spacing);
    margin-left: -2px; /* JT 수정, 속성 추가 */
}

.hero-slider__item.action .hero-slider__title {
    animation: showup 2s cubic-bezier(0.22, 1, 0.36, 1) 0.2s forwards;
}

.hero-slider__desc {
    margin-top: 16px;
    margin-left: 2px; /* JT 수정, 속성 추가 */
    color: #fff;
    font-size: var(--t5-size);
    font-weight: var(--t5-weight);
    line-height: var(--t5-line-height);
}

.hero-slider__item.action .hero-slider__desc {
    animation: showup 2s cubic-bezier(0.22, 1, 0.36, 1) 0.4s forwards;
}

.hero-slider__btn {
    margin-top: 60px;
    margin-left: 2px; /* JT 수정, 속성 추가 */
}

.hero-slider__item.action .hero-slider__btn {
    animation: showup 2s cubic-bezier(0.22, 1, 0.36, 1) 0.6s forwards;
}

.hero-slider__btn.btn-ghost {
    outline: none;
}

.hero-slider__btn.btn-ghost::after {
    display: none;
}

.hero-slider .nav {
    position: absolute;
    bottom: 40px; /* JT 수정, 수치 변경 */
    left: 0;
    z-index: 2;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hero-slider .nav button {
    background-color: transparent;
    border: none;
    border-radius: 50%;
    border: 1px solid transparent;
    transition: All 0.3s ease-out;
    -webkit-transition: All 0.3s ease-out;
    -moz-transition: All 0.3s ease-out;
    -o-transition: All 0.3s ease-out;
}

.hero-slider .nav button:hover {
    border-color: #fff;
}

.hero-slider .nav button svg {
    width: 100%;
    height: 100%;
}

.hero-slider .nav button[class*='nav-'] {
    width: 62px;
    height: 62px;
}

.hero-slider .nav .controls {
    margin: 0 20px;
    display: flex;
    align-items: center;
}

.hero-slider .dots {
    margin-right: 4px;
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    box-sizing: border-box;
}

.hero-slider .dots span {
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 8px;
    opacity: 1;
    position: relative;
    background-color: rgba(255, 255, 255, 0.6);
    overflow: hidden;
    transition: All 0.3s linear;
    -webkit-transition: All 0.3s linear;
    -moz-transition: All 0.3s linear;
    -o-transition: All 0.3s linear;
    will-change: width;
    cursor: pointer;
}

.hero-slider .dots span.current {
    width: 48px;
    will-change: width;
}

.hero-slider .nav .dots span.current {
    background-color: rgba(255, 255, 255, 1);
}

.hero-slider .nav.is-autoplay .dots span {
    background-color: rgba(255, 255, 255, 0.6);
}

.hero-slider .dots span span {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    background-color: #fff;
    opacity: 0.6;
    will-change: width;
}

.hero-slider .dots span.current span {
    opacity: 1;
    will-change: width;
}

.controls__btn {
    width: 36px;
    height: 36px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.controls__btn.is-playing {
    background-image: url("data:image/svg+xml;utf8,<svg width='36' height='36' viewBox='0 0 36 36' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M15 24V12' stroke='white' stroke-width='3' stroke-linejoin='round'/><path d='M21 24V12' stroke='white' stroke-width='3' stroke-linejoin='round'/></svg>");
}

.controls__btn.is-pause {
    background-image: url("data:image/svg+xml;utf8,<svg width='36' height='36' viewBox='0 0 36 36' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M24 18L13.5 24.0622L13.5 11.9378L24 18Z' fill='white'/></svg>");
}

/* sec-sponsor */
.sec-sponsor {
    padding-top: var(--section-gap);
    padding-bottom: var(--section-gap);
    position: relative;
}

.sec-sponsor__symbol01 {
    position: absolute;
    top: -450px;
    right: -360px;
    z-index: -1;
}

.sec-sponsor__symbol02 {
    position: absolute;
    top: -225px;
    left: -436px;
    z-index: -1;
}

/* JT 수정, 스타일 삭제 및 추가 */
.sponsor-cont {
    display: flex;
    align-items: center;
    gap: var(--gutter);
    position: relative;
    max-width: 1118px;
    margin: 120px auto 0;
}

.sponsor-cont__column {
    flex: 1;
    min-width: 0;
}

/* JT 수정, 스타일 삭제 */
.children-photo-slider {
    display: flex;
    align-items: center;
    position: relative;
}

/* JT 수정, 스타일 변경 */
.coach-mark {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 280px;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    background-color: rgba(0, 0, 0, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    z-index: 6;
    pointer-events: none;
    transition: All 0.3s ease-out;
    -webkit-transition: All 0.3s ease-out;
    -moz-transition: All 0.3s ease-out;
    -o-transition: All 0.3s ease-out;
}

.coach-mark.hidden {
    opacity: 0;
}

.coach-mark__symbol {
    width: 100px;
    transform-origin: 50% 110%;
    animation: wave 0.8s ease-in-out infinite alternate;
}

.coach-mark__text {
    margin-top: 8px;
    color: #fff;
    text-align: center;
    font-size: var(--t8-size);
    font-weight: var(--t8-weight);
    line-height: var(--t8-line-height); /* 27px */
    letter-spacing: var(--t8-letter-spacing);
}

.children-photo-slider__slider {
    width: 100%;
    max-width: 414px; /* JT 수정, width 변경 */
    overflow: visible !important;
    position: relative;
}

.children-photo-slider__img {
    background-color: #aabff7;
    padding-top: 149.75%; /* JT 수정, 비율 변경 */
    position: relative;
}

.children-photo-slider__item img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    opacity: 0;
}

.children-desc-slider__slider.swiper-container {
    overflow: visible;
}

/* JT 수정, 스타일 삭제 */
.children-desc-slider__item {
    box-sizing: border-box;
    pointer-events: none;
}

.children-desc-slider__item.active {
    pointer-events: visible;
}

.children-desc {
    width: 100%;
    max-width: 359px;
}

.children-desc__title {
    color: #141414;
    font-size: var(--t3-size);
    font-weight: var(--t3-weight);
    line-height: var(--t3-line-height);
    letter-spacing: var(--t3-letter-spacing);
}

.children-desc__title b {
    color: #000;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
}

.children-desc__name {
    display: inline-block;
    vertical-align: top;
    max-width: 145px;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}

.children-desc__desc {
    margin-top: 16px;
    word-break: keep-all;
    color: #000;
    font-size: var(--t7-size);
    font-weight: var(--t7-weight);
    line-height: var(--t7-line-height);
}

.children-desc__desc strong,
.children-desc__desc b {
    font-size: var(--t6-size);
    font-style: normal;
    font-weight: var(--t6-weight);
    line-height: var(--t6-line-height);
}

.children-desc-slider__item .btn-round {
    width: 100%;
    box-sizing: border-box;
}

.children-desc__btns {
    margin-top: 16px;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 48px;
}

.children-desc__btns b {
    font-weight: inherit;
    display: inline-block;
    vertical-align: top;
}

.children-desc__round b {
    max-width: 130px;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}

.children-desc__btn b {
    max-width: 112px;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}

.children-desc__round.btn-round {
    background: #2a5eec;
}
.children-desc__round.btn-round:hover {
    background: #1d42a5;
}

.sponsor-cont .nav {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    transform: translateY(-50%);
    pointer-events: none;
    display: flex;
    justify-content: space-between;
    z-index: 5;
}

.sponsor-cont .nav button {
    width: 62px;
    height: 62px;
    border: none;
    background-color: transparent;
    pointer-events: visible;
    transition: All 0.3s ease-out;
    -webkit-transition: All 0.3s ease-out;
    -moz-transition: All 0.3s ease-out;
    -o-transition: All 0.3s ease-out;
    position: relative;
}

.sponsor-cont .nav button span {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: 1px solid #000;
    box-sizing: border-box;
    transition: All 0.3s ease-out;
    -webkit-transition: All 0.3s ease-out;
    -moz-transition: All 0.3s ease-out;
    -o-transition: All 0.3s ease-out;
}

.sponsor-cont .nav button:hover span {
    background-color: #f7f7f7;
}

.sponsor-cont .nav button svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: All 0.3s ease-out;
    -webkit-transition: All 0.3s ease-out;
    -moz-transition: All 0.3s ease-out;
    -o-transition: All 0.3s ease-out;
}

.sponsor-cont .nav .nav-item {
    transform: translateX(-102px);
}

.sponsor-cont .nav .nav-item + .nav-item {
    transform: translateX(102px);
}

.sponsor-cont .nav button.swiper-button-disabled span {
    opacity: 0;
}

.sponsor-cont .nav .nav-item {
    position: relative;
}

.btn-chilren-more {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 157px;
    height: 157px;
    border-radius: 50%;
    background-color: #11265e;
    padding: 40px;
    box-sizing: border-box;
    color: #fff;
    text-align: center;
    font-size: var(--t10-size);
    font-weight: var(--t10-weight);
    line-height: var(--t10-line-height);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: All 0.3s ease-out;
    -webkit-transition: All 0.3s ease-out;
    -moz-transition: All 0.3s ease-out;
    -o-transition: All 0.3s ease-out;
}

.btn-chilren-more::after {
    content: '';
    display: block;
    margin-top: 12px;
    width: 19px;
    height: 19px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='19' height='19' viewBox='0 0 19 19' fill='none'><path d='M9.21875 1L17.4384 9.2197L9.21875 17.4394' stroke='white' stroke-miterlimit='10'/><path d='M17.4394 9.21973H1' stroke='white' stroke-miterlimit='10'/></svg>");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.swiper-button-disabled + .btn-chilren-more {
    opacity: 1;
    pointer-events: visible;
}

.sponsor-plus {
    margin-top: 120px; /* JT 수정, 수치 변경 */
    display: flex;
    gap: var(--gutter);
    position: relative;
}

.sponsor-plus__left {
    flex: 1;
    min-width: 0;
    padding-top: 20px;
    position: relative;
    z-index: 1;
}

.sponsor-plus__right {
    flex: 1;
    min-width: 663px;
    position: relative;
    z-index: 1;
}

.sponsor-plus__title {
    color: #000;
    font-size: var(--t3-size);
    font-weight: var(--t3-weight);
    line-height: var(--t3-line-height);
    letter-spacing: var(--t3-letter-spacing);
}

.sponsor-plus__desc {
    margin-top: 16px;
    color: #494f61;
    font-size: var(--t7-size);
    font-weight: var(--t7-weight);
    line-height: var(--t7-line-height);
}

.sponsor-plus__link {
    margin-top: 80px;
}

.sponsor-link {
    margin-top: var(--section-gap);
    display: flex;
    flex-direction: column;
    border-top: 1px solid #fdb518;
}

.sponsor-link__link {
    display: flex;
    align-items: center;
    border-bottom: 1px solid #fdb518;
    padding: 32px 24px;
    transition: All 0.3s ease-out;
    -webkit-transition: All 0.3s ease-out;
    -moz-transition: All 0.3s ease-out;
    -o-transition: All 0.3s ease-out;
}

.sponsor-link__link:hover {
    background: rgba(255, 242, 173, 0.3);
}

/* JT 수정, HOVER 추가 */
.sponsor-link__link:hover .btn-angle-small::before {
    width: 100%;
}

.sponsor-link__link img {
    display: block;
    width: 44px;
    margin-right: 20px;
}

.sponsor-link__title {
    color: #000;
    font-size: var(--t4-size);
    font-weight: var(--t4-weight);
    line-height: var(--t4-line-height);
}

.sponsor-link__desc {
    margin-left: 20px;
    color: #494f61;
    font-size: var(--t7-size);
    font-weight: var(--t7-weight);
    line-height: var(--t7-line-height);
}

.sponsor-link__more {
    margin-left: auto;
}

/* sec-approach */
.sec-approach {
    padding-top: var(--section-gap);
    padding-bottom: var(--section-gap);
    background-color: #e8ecf7;
}

/* JT 수정, 스타일 변경 */
.approach-list {
    max-width: 900px;
    margin: 60px auto 0;
}

.approach-list__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    -ms-grid-template-columns: repeat(3, 1fr);
    column-gap: 40px; /* JT 수정, 수치 변경 */
    -ms-column-gap: 40px; /* JT 수정, 수치 변경 */
    row-gap: var(--gutter);
    -ms-row-gap: var(--gutter);
}

.approach-list__item {
    grid-column: auto / span 1;
    -ms-grid-column: auto / span 1;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.approach-list__symbol {
    width: 180px;
    display: block;
}

.approach-list__title {
    margin-top: 16px;
    color: #2a5eec;
    text-align: center;
    font-size: var(--t6-size);
    font-weight: var(--t6-weight);
    line-height: var(--t6-line-height);
}

.approach-list__desc {
    margin-top: 8px;
    color: #121a1a;
    text-align: center;
    font-size: var(--t10-size);
    font-weight: var(--t10-weight);
    line-height: 1.5;
    letter-spacing: -0.08px;
}

.approach-list__btns {
    margin-top: 60px;
    font-size: 0;
    text-align: center;
}

/* sec-story */
.sec-story {
    padding-top: var(--section-gap);
    padding-bottom: var(--section-gap);
    background-color: #f8ede6;
}

.story-slider {
    margin-top: 80px;
    padding: 0 var(--base-padding);
    position: relative;
}

.story-slider__slider.swiper-container {
    overflow: visible;
}

.story-slider__item.swiper-slide {
    width: 384px;
}

/* JT 수정, HOVER 추가 */
.story-slider__link:hover .btn-angle-small::before {
    width: 100%;
}

.story-slider__thumb img {
    width: 100%;
    display: block;
}

.story-slider__info {
    margin-top: 24px;
}

.story-slider__title {
    color: #000;
    word-break: keep-all;
    font-size: var(--t5-size);
    font-weight: var(--t5-weight);
    line-height: var(--t5-line-height);
}

.story-slider__desc {
    display: block;
    margin-top: 16px;
    word-break: keep-all;
    color: #3b3e46;
    font-size: var(--t9-size);
    font-weight: var(--t9-weight);
    line-height: var(--t9-line-height);
    overflow: hidden;
    word-wrap: break-word;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
}

/* JT 수정, 클래스 변경 */
.story-slider__more {
    margin-top: 40px;
}

.story-slider__link {
    margin-top: 40px;
}

.story-slider .nav {
    position: absolute;
    top: 111px;
    left: 0;
    width: 100%;
    pointer-events: none;
    display: flex;
    justify-content: space-between;
    z-index: 5;
    padding: 0 var(--base-padding);
    box-sizing: border-box;
}

.story-slider .nav button {
    border: none;
    background-color: transparent;
    width: 62px;
    height: 62px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    background-color: rgba(255, 255, 255, 0.6);
    border-radius: 50%;
    pointer-events: visible;
    transition: All 0.3s ease-out;
    -webkit-transition: All 0.3s ease-out;
    -moz-transition: All 0.3s ease-out;
    -o-transition: All 0.3s ease-out;
}

.story-slider .nav button:hover {
    background-color: rgba(255, 255, 255, 1);
}

.story-slider .nav button.nav-prev {
    background-image: url(../images/main/ico-nav-solid-prev.svg);
}

.story-slider .nav button.nav-next {
    background-image: url(../images/main/ico-nav-solid-next.svg);
}

.story-slider .nav button.swiper-button-disabled {
    opacity: 0;
}

/* sec-faq */
.sec-faq {
    padding-top: var(--section-gap);
    padding-bottom: var(--section-gap);
}

.faq-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.faq-title__title {
    color: #000;
    font-size: var(--t3-size);
    font-weight: var(--t3-weight);
    line-height: var(--t3-line-height);
    letter-spacing: var(--t3-letter-spacing);
}

.faq-cont {
    margin-top: 60px;
    display: grid;
    align-items: start;
    grid-template-columns: repeat(12, 1fr);
    -ms-grid-template-columns: repeat(12, 1fr);
    column-gap: var(--gutter);
    -ms-column-gap: var(--gutter);
    row-gap: var(--gutter);
    -ms-row-gap: var(--gutter);
    position: relative;
}

.faq-cont__symbol {
    position: absolute;
    left: -434px;
    top: 496px; /*  JT 수정, 수치 변경 */
    pointer-events: none;
}


.faq-tab__cont {
    display: none;
}

.faq-tab__cont.current {
    display: block;
    animation: showup 0.3s ease-out;
}

.faq-side {
    grid-column: auto / span 4;
    -ms-grid-column: auto / span 4;
    width: 100%;
    position: relative;
    z-index: 2;
}

.faq-list {
    grid-column: auto / span 8;
    -ms-grid-column: auto / span 8;
    width: 100%;
    position: relative;
    z-index: 2;
}

.faq-side {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.faq-side__item {
    padding: 12px 18px;
    background: rgba(210, 213, 223, 0.4);
    color: #000;
    font-size: var(--t10-size);
    font-weight: var(--t10-weight);
    line-height: var(--t10-line-height);
    transition: All 0.3s ease-out;
    -webkit-transition: All 0.3s ease-out;
    -moz-transition: All 0.3s ease-out;
    -o-transition: All 0.3s ease-out;
}

.faq-side__item:hover {
    background-color: #d2d5df;
}

.faq-side__item.active {
    color: #fff;
    background-color: #2a5eec;
}

.faq-list__list {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    -ms-grid-template-columns: repeat(1, 1fr);
    row-gap: 10px;
    -ms-row-gap: 10px;
}

.faq-list__item {
    border: 1px solid #d2d5df;
    background-color: #fff;
    cursor: pointer;
    transition: All 0.3s ease-out;
    -webkit-transition: All 0.3s ease-out;
    -moz-transition: All 0.3s ease-out;
    -o-transition: All 0.3s ease-out;
}

.faq-list__title {
    color: #000;
    font-size: var(--t6-size);
    font-weight: var(--t6-weight);
    line-height: var(--t6-line-height);
    position: relative;
    padding: 32px 40px;
    padding-right: 66px;
    transition: All 0.3s ease-out;
    -webkit-transition: All 0.3s ease-out;
    -moz-transition: All 0.3s ease-out;
    -o-transition: All 0.3s ease-out;
}

.faq-list__item:not(.open):hover .faq-list__title {
    background-color: #f7f7f7;
}

.faq-list__title::before {
    content: '';
    position: absolute;
    top: 45px;
    right: 40px;
    width: 16px;
    height: 1px;
    background-color: #000;
}

.faq-list__title::after {
    content: '';
    position: absolute;
    top: 45px;
    right: 40px;
    width: 16px;
    height: 1px;
    background-color: #000;
    transform: rotate(90deg);
    transition: All 0.3s ease-out;
    -webkit-transition: All 0.3s ease-out;
    -moz-transition: All 0.3s ease-out;
    -o-transition: All 0.3s ease-out;
}

.faq-list__item.open .faq-list__title::after {
    transform: rotate(0deg);
}

.faq-list__answer {
    padding-bottom: 40px;
    padding-right: 92px;
    padding-left: 40px;
}

.faq-list__text {
    color: #494f61;
    font-size: var(--t9-size);
    font-weight: 500;
    line-height: var(--t9-line-height);
    word-break: keep-all; /* JT 수정, 줄변경 자연스럽게 되도록 속성 추가 */
}

.faq-list__btm {
    height: 0;
    overflow: hidden;
    transition: All 0.3s ease-out;
    -webkit-transition: All 0.3s ease-out;
    -moz-transition: All 0.3s ease-out;
    -o-transition: All 0.3s ease-out;
}

.faq-list__btn {
    margin-top: 20px;
}

.microsite-list {
    margin-top: var(--section-gap);
    position: relative;
}

.microsite-list__list {
    display: flex;
    gap: 24px;
}

.microsite-list__item {
    flex: 1;
    min-width: 0;
}

.microsite-list__link {
    display: flex;
    height: 384px;
    padding: 40px;
    box-sizing: border-box;
    background: #d2d5df;
    flex-direction: column;
    align-items: flex-start;
    transition: All 0.3s ease-out;
    -webkit-transition: All 0.3s ease-out;
    -moz-transition: All 0.3s ease-out;
    -o-transition: All 0.3s ease-out;
}

.microsite-list__link:hover {
    background-color: #2a5eec;
}

/* JT 수정, HOVER 추가 */
.microsite-list__link:hover .btn-angle-small::before {
    width: 100%;
}

.microsite-list__title {
    color: #000;
    font-size: var(--t4-size);
    font-weight: var(--t4-weight);
    line-height: var(--t4-line-height);
}

.microsite-list__desc {
    margin-top: 24px;
    color: #000;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5;
}

.microsite-list__btn {
    margin-top: auto;
}

.microsite-list__link:hover .microsite-list__title,
.microsite-list__link:hover .microsite-list__desc,
.microsite-list__link:hover .btn-angle-small,
.microsite-list__link:hover .btn-angle-small span {
    color: #fff;
}

.microsite-list__link:hover .btn-angle-small::after {
    background-image: url("data:image/svg+xml;utf8,<svg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'><path d='M6 13L11 7.93671L6 3' stroke='white' stroke-miterlimit='10'/></svg>");
}

.microsite-list__link:hover .btn-angle-small::before {
    background-color: #fff;
}

/* float-bar */
.float-bar {
    position: fixed;
    bottom: 20px; /* JT 수정, 수치 변경 */
    left: 0;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    z-index: 100;
}

.float-bar__list {
    width: 100%;
    max-width: 900px; /* JT 수정, 수치 변경 */
    display: flex;
    justify-content: space-around; /* JT 수정, 2026-04-20 속성 변경 */
    padding: 0 40px;
    gap: 40px; /* JT 수정, 수치 변경 */
    border-radius: 8px;
    border: 1px solid #2a5eec; /* JT 수정, 색상 변경 */
    background: #2a5eec; /* JT 수정, 색상 변경 */
    box-sizing: border-box;
    opacity: 0;
    transform: translateY(20px);
    pointer-events: none;
    will-change: opacity, transform;
    transition: All 0.3s ease-out;
    -webkit-transition: All 0.3s ease-out;
    -moz-transition: All 0.3s ease-out;
    -o-transition: All 0.3s ease-out;
}

.float-bar.open .float-bar__list {
    opacity: 1;
    transform: translateY(0);
    pointer-events: visible;
}

.is-login .float-newsletter.open + .float-bar.open .float-bar__list {
    opacity: 0;
    transform: translateY(20px);
    pointer-events: none;
}

.float-bar__item {
    display: flex;
    min-width: 0;
    padding: 10px 0; /* JT 수정, 수치 변경 */
    align-items: center;
    gap: 4px;
    transition: All 0.3s ease-out;
    -webkit-transition: All 0.3s ease-out;
    -moz-transition: All 0.3s ease-out;
    -o-transition: All 0.3s ease-out;
}


.float-bar__name {
    color: #fff;
    font-size: var(--t6-size);
    font-weight: var(--t6-weight);
    line-height: var(--t6-line-height);
    word-break: keep-all; /* JT 수정, 2026-04-20 속성 추가 */
    text-align: center; /* JT 수정, 2026-04-20 속성 추가 */
}

.float-bar__item:hover {
    opacity: 0.8;
}

/* float-newsletter */
.float-newsletter {
    position: fixed;
    bottom: 40px; /* JT 수정, 수치 변경 */
    width: 100%;
    pointer-events: none;
    z-index: 101;
    display: flex;
    justify-content: center;
    transition: All 0.3s ease-out;
    -webkit-transition: All 0.3s ease-out;
    -moz-transition: All 0.3s ease-out;
    -o-transition: All 0.3s ease-out;
}

.newsletter-box {
    width: 100%;
    max-width: 500px;
    padding: 60px 70px 40px;
    box-sizing: border-box;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 0 20px 10px rgba(0, 0, 0, 0.1);
    position: relative;
    text-align: center;
    opacity: 0;
    transform: translateY(20px);
    pointer-events: none;
    will-change: opacity, transform;
    transition: All 0.3s ease-out;
    -webkit-transition: All 0.3s ease-out;
    -moz-transition: All 0.3s ease-out;
    -o-transition: All 0.3s ease-out;
}

.float-newsletter.open .newsletter-box {
    opacity: 1;
    transform: translateY(0);
    pointer-events: visible;
}

.newsletter-box__close {
    position: absolute;
    top: 35px;
    right: 29px;
    width: 16px;
    height: 16px;
    font-size: 0;
    color: transparent;
    background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg opacity='0.8'%3E%3Cpath d='M10.9497 2.46484L7.41455 6L10.9497 9.53613L9.53564 10.9502L5.99951 7.41504L2.46436 10.9502L1.05029 9.53613L4.58447 6L1.05029 2.46484L2.46436 1.05078L5.99951 4.58496L9.53564 1.05078L10.9497 2.46484Z' fill='black'/%3E%3C/g%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    border: none;
    background-color: transparent;
}

.newsletter-box__title {
    color: #000;
    font-size: 28px;
    font-weight: 500;
    line-height: 140%;
    letter-spacing: -0.14px;
}

.newsletter-box__sub {
    margin-top: 8px;
    color: #7c8399;
    font-size: 16px;
    font-weight: 500;
    line-height: 150%;
    letter-spacing: -0.08px;
}

.newsletter-box__btns {
    margin-top: 32px;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.newsletter-box__btn {
    display: block;
    width: 100%;
    padding: 12px 24px;
    box-sizing: border-box;
    border-radius: 999px;
    background: #2a5eec;
    color: #fff;
    font-size: var(--t10-size);
    font-weight: var(--t10-weight);
    line-height: var(--t10-line-height);
}

.newsletter-box__btn--kakao {
    background: #fae100;
    color: #000;
}

.newsletter-box__join {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 42px;
    color: #3b3e46;
    text-align: center;
    font-size: var(--t10-size);
    font-weight: var(--t10-weight);
    line-height: var(--t10-line-height);
    letter-spacing: var(--t10-letter-spacing);
}

.newsletter-box__link {
    display: inline-block;
    border-radius: var(--Spacing-0, 0);
    padding-bottom: 3px;
    border-bottom: 1px solid #3b3e46;
    margin-left: 8px;
}

/* login order */
.is-login .section-group .sec-story {
    order: 1;
}

.is-login .section-group .sec-sponsor {
    order: 2;
}

.is-login .section-group .sec-approach {
    order: 3;
}

