@media screen and (max-width: 768px) {
    :root {
        --header-height: 84px;
        --base-padding: 16px;
    }
    .intro-banner__copy {
        font-size: var(--t5-size);
        font-weight: var(--t5-weight);
        line-height: var(--t5-line-height);
    }
    .btn-angle-large {
        font-size: var(--t11-size);
        font-weight: var(--t11-weight);
        line-height: var(--t11-line-height);
    }
    .hero-slider__slider {
        height: auto;
    }
    .hero-slider__bg {
        position: relative;
        top: auto;
        left: auto;
        right: auto;
        bottom: auto;
        transform: none;
        padding-top: 149.3333333333%;
    }
    .hero-slider__bg img {
        position: absolute;
        top: 0;
        left: 0;
        /*width: 100%;*/
        /*height: 100%;*/
        /*object-fit: cover;*/
    }
    .hero-slider__item .content-wrapper {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        box-sizing: border-box;
        padding: 32px;
        align-items: flex-start;
    }
    .hero-slider__sub {
        font-size: var(--t11-size);
        font-weight: var(--t11-weight);
        line-height: var(--t11-line-height);
    }
    .hero-slider__desc {
        font-size: var(--t8-size);
        font-weight: var(--t8-weight);
        line-height: var(--t8-line-height);
    }
    .btn-ghost,
    .btn-round {
        padding: 12px 16px 12px 20px;
        font-size: var(--t11-size);
        font-weight: var(--t11-weight);
        line-height: var(--t11-line-height);
    }
    .btn-ghost::after,
    .btn-round::after,
    .btn-ghost > svg {
        margin-top: 2px;
        margin-left: 4px;
    }
    .hero-slider .nav button[class*='nav-'] {
        width: 48px;
        height: 48px;
    }
    .hero-slider .nav button[class*='nav-'] svg {
        width: 100%;
        height: 100%;
    }
    .hero-slider .nav button:hover {
        border-color: transparent;
    }
    .hero-slider .nav .controls {
        margin: 0 8px;
    }
    .hero-slider .dots {
        padding: 20px 12px;
        gap: 12px;
    }
    .controls__btn {
        width: 32px;
        height: 32px;
    }
    .sec-sponsor__symbol01 {
        width: 180px;
        top: -58px;
        right: -87px;
    }
    .sec-sponsor__symbol02 {
        width: 205px;
        top: -405px;
        left: -79px;
    }
    /* TODO: 수정, 속성 삭제 */
    .sponsor-cont {
        display: block;
    }
    .children-photo-slider__slider {
        max-width: 100%;
    }
    /* JT 수정, 삭제 */
    /* .children-photo-slider {
        padding: 0;
    } */

    /* JT 수정, 2026-04-20 추가 */
    .sponsor-cont__column {
        position: relative;
    }
    .sponsor-cont__column + .sponsor-cont__column {
        margin-top: 12px;
    }
    /* JT 수정, 2026-04-20 추가 */
    .sponsor-cont .nav .nav-item + .nav-item {
        transform: translate(0);
    }
    /* JT 수정, 삭제 */
    /* .children-desc-slider__item {
        padding: 0;
    } */
    /* JT 수정, 스타일 추가 */
    .coach-mark {
        top: 0;
        left: 0;
        width: 100%;
        aspect-ratio: 1 / 1.4975;
        border-radius: 0;
        transform: translate(0, 0);
        background-color: rgba(0, 0, 0, 0.5);
    }
    .children-desc__desc {
        margin-top: 8px;
    }
    .children-desc__name {
        max-width: 115px;
    }
    .children-desc__btns {
        margin-top: 12px;
        gap: 32px;
    }
    .btn-angle-small::after {
        margin-top: 2px;
    }
    .sponsor-plus {
        flex-direction: column;
        gap: 20px;
    }
    .sponsor-plus__left {
        order: 2;
        padding-top: 0;
    }
    .sponsor-plus__right {
        order: 1;
    }
    .sponsor-plus__desc {
        margin-top: 8px;
    }
    .sponsor-plus__link {
        margin-top: 12px;
    }
    .sponsor-link__link {
        padding: 24px 16px 24px 88px;
        position: relative;
        display: block;
    }
    .sponsor-link__link img {
        width: auto;
        height: 62px;
        position: absolute;
        top: 29px;
        left: 17px;
        margin-right: 0;
    }
    .sponsor-link__desc {
        margin-left: 0;
        margin-top: 4px;
        display: block;
        word-break: keep-all;
    }
    .sponsor-link__more {
        margin-left: 0;
        margin-top: 16px;
    }
    .section-title__desc br {
        display: none;
    }
    .section-title__desc span {
        display: block;
    }
    .section-title__desc {
        font-size: var(--t10-size);
        font-weight: var(--t10-weight);
        line-height: var(--t10-line-height);
    }
    .story-slider .nav {
        display: none;
    }
    .story-slider__item.swiper-slide {
        width: 100%;
        max-width: 272px;
    }
    .story-slider__info {
        margin-top: 16px;
    }
    .story-slider__title {
        font-size: var(--t7-size);
        font-weight: var(--t7-weight);
        line-height: var(--t7-line-height);
    }
    .story-slider__desc {
        margin-top: 12px;
        font-size: var(--t11-size);
        font-weight: var(--t11-weight);
        line-height: var(--t11-line-height);
    }
    .story-slider__more { /* JT 수정, 클래스 변경 */
        margin-top: 24px;
    }
    .story-slider__link {
        margin-top: 24px;
    }
    .faq-title {
        display: block;
        text-align: center;
    }
    .faq-title__title {
        font-size: var(--t2-size);
        font-weight: var(--t2-weight);
        line-height: var(--t2-line-height);
        letter-spacing: var(--t2-letter-spacing);
        margin-bottom: 20px;
    }
    .faq-cont {
        margin-top: 32px;
        grid-template-columns: repeat(1, 1fr);
        -ms-grid-template-columns: repeat(1, 1fr);
    }
    .faq-side {
        gap: 4px;
        width: 100%;
        grid-column: auto / span 1;
        -ms-grid-column: auto / span 1;
    }
    .faq-side__item {
        padding: 8px 16px;
    }
    .faq-list {
        grid-column: auto / span 1;
        -ms-grid-column: auto / span 1;
    }
    .faq-cont__symbol {
        width: 234px;
        top: calc(100% - 117px);
        left: -89px;
    }
    .microsite-list {
        margin-top: 72px;
    }
    .microsite-list__list {
        flex-direction: column;
        gap: 12px;
    }
    .microsite-list__link {
        height: auto;
        padding: 24px;
        background-color: #e8ecf7;
    }
    .microsite-list__desc {
        margin-top: 8px;
        font-size: var(--t10-size);
        font-weight: var(--t10-weight);
        line-height: var(--t10-line-height);
    }
    .microsite-list__btn {
        margin-top: 8px;
    }
    .float-bar .float-bar__list {
        gap: 8px; /* JT 수정, 수치 변경 */
    }
    /* JT 수정, 스타일 추가 */
    .float-bar__list {
        padding: 0 16px;
    }
    .float-bar__item {
        flex-direction: column;
    }
    .float-bar__item svg {
        width: 36px;
        height: 36px;
    }
    .float-bar__name {
        display: block;
        font-size: var(--t11-size);
        font-weight: var(--t11-weight);
        line-height: var(--t11-line-height);
    }
}

@media screen and (max-width: 520px) {
    :root {
        --header-height: 60px;
    }
    .microsite-list__desc span {
        display: block;
    }
}

/* 기존 소스 버그 픽스 */
.address-wrap .address .hosting::after {
    position: static !important;
}
