/* -----------------------------------------------------------
 * 1) Font Faces
 * ----------------------------------------------------------- */
@font-face {
    font-family: "Pretendard-Regular";
    src: url("https://contents-em.infovine.co.kr/CareServiceFiles/homepage/fonts/Pretendard-Regular.woff2") format("woff2");
    /*src: url("./Pretendard-Regular.woff2") format("woff2");*/
    font-weight: 700;
    font-style: normal;
    font-display: block;
}
@font-face {
    font-family: "Pretendard-Bold";
    src: url("https://contents-em.infovine.co.kr/CareServiceFiles/homepage/fonts/Pretendard-Bold.woff2") format("woff2");
   /*src: url("./Pretendard-Bold.woff2") format("woff2");*/
    font-weight: 700;
    font-style: normal;
    font-display: block;
}
@font-face {
    font-family: "Pretendard-Medium";
    src: url("https://contents-em.infovine.co.kr/CareServiceFiles/homepage/fonts/Pretendard-Medium.woff2") format("woff2");
    /*src: url("./Pretendard-Medium.woff2") format("woff2");*/
    font-weight: 700;
    font-style: normal;
    font-display: block;
}

/* -----------------------------------------------------------
 * 2) Global Basics & Resets (part 1)
 * ----------------------------------------------------------- */

html, body {
 -webkit-user-select: none; /* Chrome/Safari/Edge */
 -moz-user-select: none;    /* Firefox */
 -ms-user-select: none;     /* IE/Edge(구) */
 user-select: none;
}

img, a img {
    -webkit-user-drag: none; /* WebKit */
    user-drag: none;         /* 표준 시도값 */
    pointer-events: auto;    /* 클릭은 유지 */
}

* {
    -webkit-tap-highlight-color: transparent;
}
.app-contents_mobile {
    display: none;
}
.footer_logo,
.symbolLogo,
.downloadAos,
.downloadIos,
button{
    cursor: pointer;
}
.container_action > img{
max-width:216px;
}
input:focus,
textarea:focus {
    outline: none;
    box-shadow: none;
    border: 1px solid #0468ff; /* 원하는 색상/스타일 */
}

/* -----------------------------------------------------------
 * 3) Swiper: GuardianWrap (common slide/btn/pagination)
 * ----------------------------------------------------------- */
#guardianWrap .swiper-slide {
    text-align: center;
    font-size: 18px;
    display: flex;
    justify-content: center;
    align-items: center;
}
#guardianWrap .swiper-slide img {
    display: block;
    object-fit: cover;
    height: 100%;
    width: 100%;
    max-width: 365px;
}
#guardianWrap .swiper-button-prev,
#guardianWrap .swiper-button-next {
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    color: #fff;
    width: 60px;
    height: 60px;
}
* {
    letter-spacing: -0.05em !important;
}
#guardianWrap .swiper-button-prev {
    left: calc(33.333% + 110px);
}
#guardianWrap .swiper-button-next {
    right: calc(33.333% + 110px);
}
#guardianWrap .swiper.mySwiper {
    position: relative;
}
#guardianWrap .swiper-slide {
    opacity: 0.3;
    transition: opacity 0.3s ease;
}
#guardianWrap .swiper-slide-active {
    opacity: 1 !important;
}
#guardianWrap .swiper-button-prev {
    background-image: url("https://contents-em.infovine.co.kr/CareServiceFiles/homepage/images/btn-left-on.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
#guardianWrap .swiper-button-prev::after {
    content: "";
}
#guardianWrap .swiper-button-next::after {
    content: "";
}
#guardianWrap .swiper-button-next {
    background-image: url("https://contents-em.infovine.co.kr/CareServiceFiles/homepage/images/btn-right-on.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* -----------------------------------------------------------
 * 4) Swiper: 공통 Pagination (Custom / Outside)
 * ----------------------------------------------------------- */
.swiper-pagination-custom .swiper-pagination-bullet {
    width: 36px;
    height: 36px;
    text-align: center;
    line-height: 3;
    font-size: 12px;
    color: #fff;
    opacity: 1;
    background: #e8eaed;
}
.swiper-pagination-custom .swiper-pagination-bullet-active {
    color: #fff;
    background: #3e60ee;
}
.swiper-pagination-custom {
    text-align: center;
}
.siwperWrap {
    max-width: 298px;
    margin-top: -19px;
}
/* 페이지네이션 위치 및 정렬 */
.swiper-pagination-outside {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 25px;
    position: relative;
    z-index: 10;
}
/* 기본 dot 스타일 */
.swiper-pagination-outside .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    background-color: white;
    opacity: 1;
    border-radius: 50%;
    transition: all 0.3s ease;
}
/* 활성화된 pill 스타일 */
.swiper-pagination-outside .swiper-pagination-bullet-active {
    width: 28px;
    height: 12px;
    background-color: #3366ff;
    border-radius: 999px;
}

/* -----------------------------------------------------------
 * 5) Guardian/Ward Wrap Containers
 * ----------------------------------------------------------- */
#anchor4 #guardianWrap {
    margin-top: 33px;
}
#guardianWrap {
    width: 100%;
    max-width: 1920px;
    height: auto;
}
/* ward */
#wardWrap {
    width: 100%;
    max-width: 1920px;
    height: auto;
    margin-top: 33px;
}
.swiper-pagination-wardWrap .swiper-pagination-bullet {
    width: 36px;
    height: 36px;
    text-align: center;
    line-height: 3;
    font-size: 12px;
    color: #fff;
    opacity: 1;
    background: #e8eaed;
}
.swiper-pagination-wardWrap .swiper-pagination-bullet-active {
    color: #fff;
    background: #3e60ee;
}
.swiper-pagination-wardWrap {
    text-align: center;
}
#wardWrap .swiper-slide {
    text-align: center;
    font-size: 18px;
    display: flex;
    justify-content: center;
    align-items: center;
}
#wardWrap .swiper-slide img {
    display: block;
    object-fit: cover;
    height: 100%;
    width: 100%;
    max-width: 365px;
}
#wardWrap .swiper-button-prev,
#wardWrap .swiper-button-next {
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    color: #fff;
    width: 60px;
    height: 60px;
}
#wardWrap .swiper-button-prev {
    left: calc(33.333% + 110px);
}
#wardWrap .swiper-button-next {
    right: calc(33.333% + 110px);
}
#wardWrap .swiper.mySwiper {
    position: relative;
}
#wardWrap .swiper-slide {
    opacity: 0.3;
    transition: opacity 0.3s ease;
}
#wardWrap .swiper-slide-active {
    opacity: 1 !important;
}
#wardWrap .swiper-button-prev {
    background-image: url("https://contents-em.infovine.co.kr/CareServiceFiles/homepage/images/btn-left-on.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
#wardWrap .swiper-button-prev::after {
    content: "";
}
#wardWrap .swiper-button-next::after {
    content: "";
}
#wardWrap .swiper-button-next {
    background-image: url("https://contents-em.infovine.co.kr/CareServiceFiles/homepage/images/btn-right-on.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
/* ward end */

/* -----------------------------------------------------------
 * 6) Global Basics & Resets (part 2)
 * ----------------------------------------------------------- */
/* 기본 스타일 */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
.main-header nav a.active {
    color: #0468ff;
}
.main-header > nav > ul > li > a.active::after {
    content: "";
    display: block;
    border-bottom: 4px solid #255aff;
    position: absolute;
    left: 0;
    height: 4px;
    bottom: -8px; /* 글자 기준 아래에 띄움 */
    width: 100%;
}
body {
    padding-top: 100px; /* header 높이만큼 offset */
    min-width: 360px;
}

/* -----------------------------------------------------------
 * 7) Header (PC)
 * ----------------------------------------------------------- */
/* 헤더 메뉴 */
.main-header {
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1200px;
    margin: 0px 20px;
}
.main-header-wrap {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100px;
    background-color: rgba(255, 255, 255, 0.8);
    z-index: 1001;
    box-shadow: 0 4px 8px 0 rgba(157, 157, 157, 0.09);
    justify-content: center;
    display: flex;
    align-items: center;
}
.header_logo {
    max-width: 180px;
    width: 100%;
}
.main-header h1 {
    font-size: 20px;
}
.main-header nav a {
    text-decoration: none;
    height: 24px;
    font-family: Pretendard-Bold;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.2;
    letter-spacing: -0.5px;
    text-align: center;
    color: #171717;
}
.main-header-mobile {
    display: none;
}

/* -----------------------------------------------------------
 * 8) Global Basics & Resets (part 3)
 * ----------------------------------------------------------- */
/* Reset-ish */
* {
    box-sizing: border-box;
}
button {
    border: 0;
    background: none;
    cursor: pointer;
}
img {
    display: block;
}

/* (선택) 기존 header 스타일 유지 시 사용 */
.app-header {
    height: 56px;
    padding: 0 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #eee;
    background: #fff;
}
.brand-name {
    font-family: Pretendard-Bold, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
    font-size: 18px;
    color: #111;
}

/* -----------------------------------------------------------
 * 9) Header (Mobile) & Drawer
 * ----------------------------------------------------------- */
/* 모바일 헤더(현재 구조) */
.main-header-mobile {
    display: none;
    align-items: center;
}
.brand-icon {
    width: 180px;
    object-fit: cover;
}
.close-btn > img {
    width: 48px;
    height: 48px;
}
.main-header-mobile .hamburger {
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: none;
    padding: 8px;
}
.main-header-mobile .hamburger > img {
    width: 48px;
    height: 48px;
}
/* 드로어 래퍼 */
.drawer-wrap {
    position: fixed;
    inset: 0;
    pointer-events: none;
}
.drawer-wrap.open {
    pointer-events: auto;
}
/* 배경 오버레이 */
.backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
    opacity: 0;
    transition: 0.25s;
}
.drawer-wrap.open .backdrop {
    opacity: 1;
}
/* 드로어 */
.drawer {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: 100%; /* 모바일 풀스크린 */
    background: #fff;
    transform: translateX(100%);
    display: flex;
    flex-direction: column;
    outline: none;
}
.drawer-wrap.open .drawer {
    transform: translateX(0);
}
.drawer-top {
    height: 100px;
    padding: 0 30px 0 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
}
.divider {
    height: 1px;
    background: #9d9d9d17;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.09);
}
.drawer-body {
    padding: 16px;
    overflow: auto;
    height: calc(100% - 58px);
}
.menu-section {
    padding: 16px 0;
}
.menu-section h3 {
    margin: 0;
    font-size: 16px;
    color: #30384d;
    font-family: Pretendard-Bold, system-ui, sans-serif;
}
.menu-section .blue {
    color: #2563eb;
}
.rule {
    height: 1px;
    background: #eee;
}
/* === 버튼 통합 (.chip / .tab -> .menu-button) === */
.menu-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}
/* 기존 chip + tab 값 합쳐 통일 */
.menu-button {
    min-width: 88px;
    height: 36px;
    padding: 0 5px;
    border-radius: 18px;
    border: solid 0.5px #e1e1e6;
    background-color: #f4f6f9;
    font-family: Pretendard-Regular;
    font-size: 14px;
    color: #171717;
    display: flex;
    align-items: center;
    justify-content: center;
}
/* 활성(선택) 상태 */
.menu-button.active {
    background: #2563eb;
    color: #fff;
    font-family: Pretendard-Bold;
    border-color: transparent;
}
/* menu-section active */
.menu-section.active h3 {
    color: #2563eb;
    font-family: Pretendard-Bold;
}
/* 접근성: 키보드 포커스 링 */
.menu-button:focus-visible {
    outline: 2px solid #0468ff;
    outline-offset: 2px;
}
/* 스크롤 잠금 */
body.menu-open {
    overflow: hidden;
}
.sub-menu {
    padding: 20px 23px 20px 23px;
}
.sub-menu > li {
    padding: 15px 0px !important;
}
.sub-menu > li > a {
    font-size: 18px;
    font-family: Pretendard-Medium;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.33;
    letter-spacing: -0.45px;
    text-align: center;
    color: #171717;
    padding: 20px 23px 20px 23px;
}

/* -----------------------------------------------------------
 * 10) Sections / Anchors / Layout
 * ----------------------------------------------------------- */
section {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}
#anchor4 {
    min-height: 100vh;
    display: block;
}
#anchor4 > .container > .content-item {
    display: block;
}
#anchor2 {
    height: auto; /* ✅ 이 부분만 예외 처리 */
    min-height: 100vh;
}
#anchor3 {
    height: auto; /* ✅ 이 부분만 예외 처리 */
    min-height: 100vh;
}
#anchor1 {
    background: url("https://contents-em.infovine.co.kr/CareServiceFiles/homepage/images/bg-01.png") center/cover no-repeat;
    position: relative;
}
#anchor1 > .container {
    display: flex;
    padding: 0px 60px;
    margin-top: 133px;
    width: 100%;
    justify-content: center;
}
.contents_title {
    font-family: Pretendard-Bold;
    font-size: 52px;
    font-weight: bold;
    line-height: 1.31;
    letter-spacing: -1.3px;
    color: #171717;
    word-break: keep-all;
}
.contents_desc {
    max-width:610px;
    margin-top: 32px;
    line-height: 1.67;
    letter-spacing: -0.6px;
    font-size: 24px;
    font-family: Pretendard-Regular;
}
.contents {
    max-width: 700px;
}
.container_action {
    margin-top: 180px;
    display: flex;
    gap: 34px;
    margin-left:30px;
}
#anchor4 {
    background: #f8f9fa;
}
#anchor5 {
    background: #ffffff;
}

/* -----------------------------------------------------------
 * 11) Footer (PC 기본)
 * ----------------------------------------------------------- */
/* footer */
#footer {
    background: #f7f9fa;
    font-size: 12px;
    color: #444;
    position: absolute;
    width: 100%;
    gap: 210px;
    min-width: 1200px;
}
#footerMobile {
    display: none;
}
.container {
    display: flex;
    align-items: flex-start;
    min-height: 100vh;
    padding: 40px 10px;
    gap: 40px;
}
#anchor2 .container {
    width: 1200px;
}
#anchor5 .container {
    display: block;
    align-items: flex-start;
    min-height: 100vh;
    gap: 40px;
    padding-top: 60;
}
#anchor5 .content-inner {
    gap: 0px;
}
#anchor5 {
    min-height: 100vh;
    display: block;
}
#anchor5 > .container > .content-item {
    display: block;
}

/* -----------------------------------------------------------
 * 12) Tab Menu (좌측 점 네비게이션)
 * ----------------------------------------------------------- */
.tab-menu {
    position: sticky;
    top: 30%;
    padding: 20px;
    flex-shrink: 0;
    height: fit-content;
    width: 100px;
}
.tab-menu ul {
    list-style: none;
    padding: 0;
}
.tab-menu li {
    margin: 24px 0;
    cursor: pointer;
    position: relative;
    display: block;
    width: 24px;
    height: 8px;
    background-color: #171717;
    opacity:0.3;
    transition: background-color 0.3s, width 0.3s;
}
.tab-menu li.active {
    width: 81px;
    font-family: Pretendard-Bold;
    line-height: 1.71;
    letter-spacing: -0.35px;
    font-weight: bold;
    color: #171717;
    background-color: #3478ff;
    width: 40px;
    height: 8px;
    margin-bottom: 35px;
    position: relative;
    font-size: 16px;
    opacity:1;
}
.tab-menu li:hover {
    width: 81px;
    font-family: Pretendard-Bold;
    font-size: 16px;
    line-height: 1.71;
    letter-spacing: -0.35px;
    font-weight: bold;
    color: #171717;
    background-color: #3478ff;
    width: 40px;
    height: 8px;
    position: relative;
    font-size: 16px;
    margin-bottom: 35px;
}
.tab-menu li > span {
    display: none;
}
.tab-menu li > span.active {
    display: block;
    position: absolute;
    width: 125px;
    margin-top: 10px;
}
.tab-menu li:hover > span {
    display: block;
    position: absolute;
    width: 125px;
    margin-top: 10px;
}

/* -----------------------------------------------------------
 * 13) Content Area / Inner
 * ----------------------------------------------------------- */
.content-area {
    flex: 1;
}
.content-item {
    position: relative;
    height: 100vh;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    display: flex;
    justify-content: center;

}
.content-inner {
    display: flex;
    gap: 60px;
    align-items: center;
}
.content-inner .image {
    flex: 0 0 300px;
    background-size: cover;
    background-position: center;
    border-radius: 12px;
    min-height: 200px;
}
.content-inner .text {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
#anchor2 {
    background: #e3f2fe center/cover no-repeat;
    background-attachment: fixed; /* 선택: 패럴랙스 느낌 */
    min-height: 100vh;
}
#anchor3 {
    background: #eef5fe center/cover no-repeat;
    background-attachment: fixed; /* 선택: 패럴랙스 느낌 */
    min-height: 100vh;
}
#anchor3 .content-inner {
    gap: 0px;
}
#anchor4 .content-inner {
    gap: 0px;
}

/* -----------------------------------------------------------
 * 14) Header Navigation (PC 하위)
 * ----------------------------------------------------------- */
.main-header > nav {
    margin-left: 68px;
}
.main-header nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.main-header nav > ul {
    display: flex;
    gap: 118px;
    height: 56px;
    align-items: center;
}
.main-header nav li {
    position: relative;
}
.main-header nav li:nth-child(0) {
    margin-left: 0px;
}
.main-header nav li ul {
    display: none;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    min-width: 160px;
    z-index: 1003;
    text-align: center;
    border-radius: 16px;
    box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.09);
    border: solid 0.5px #f2f3f4;
    background-color: #fff;
    font-family: Pretendard-Medium;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.33;
    letter-spacing: -0.45px;
    text-align: center;
    color: #171717;
}
.sub-menu-open {
    display: block !important;
}
.main-header nav li ul li {
    padding: 5px 10px;
    white-space: nowrap;
}
.sub-menu > li a.active {
    color: #0468ff !important;
}

/* -----------------------------------------------------------
 * 15) Utilities
 * ----------------------------------------------------------- */
#topButton {
    position: fixed;
    bottom: 60px;
    right: 20px;
    display: none;
    cursor: pointer;
    z-index: 999;
    max-width: 72px;
    max-height: 72px;
}

/* -----------------------------------------------------------
 * 16) Main Slider / Main Visual
 * ----------------------------------------------------------- */
#MainSlider .swiper-slide {
    margin-right: 0px;
}
#MainSlider .swiper-slide img {
    display: block;
    object-fit: cover;
    width:100%;
    height:auto;
}
.main-image-area > img {
max-width:286px;
}
.main-image-area {
}
.main-text-area {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    margin-top:-245px;
}
.main-title-wrap > img {
    max-width: 120px;
}
.main-text-area > .contents_desc {
    max-width: 580px;
    min-width:580px;
    color: #171717;
}

/* -----------------------------------------------------------
 * 17) App Download Section
 * ----------------------------------------------------------- */
#app-download {
    text-align: center;
}
#app-download .contents_image {
    margin-top: 60px;
}
#app-download .contents_image > img {
    max-width: 720px;
}
#app-download .contents_action {
    margin-top: 32px;

    display: flex;
    justify-content: center;
    gap: 34px;
}
#app-download .contents_action > img {
    max-width:216px;
}

/* -----------------------------------------------------------
 * 18) Anchor 4/5 Tag, Titles
 * ----------------------------------------------------------- */
#anchor4 {
}
#anchor4 .container {
    padding-top: 60px;
    display: block;
}
#anchor4 .contents_tag {
    width: 230px;
    height: 60px;
    border-radius: 30px;
    background-color: #fec400;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: Pretendard-Bold;
    font-size: 24px;
    font-weight: bold;
    letter-spacing: -0.6px;
    color: #fff;
    margin-top: 16px;
}
.sub-title {
    font-family: Pretendard-Bold;
    font-size: 24px;
    font-weight: 500;
    font-stretch: normal;
    font-style: normal;
    line-height: 1;
    letter-spacing: -0.6px;
    text-align: center;
    color: #171717;
}
.sub-desc {
    font-family: Pretendard-Regular;
    font-size: 18px;
    font-weight: normal;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.11;
    letter-spacing: -0.45px;
    text-align: center;
    color: #4e5867;
}
#anchor5 .contents_tag {
    width: 230px;
    height: 60px;
    border-radius: 30px;
    background-color: #0468ff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: Pretendard-Bold;
    font-size: 24px;
    font-weight: bold;
    letter-spacing: -0.6px;
    color: #fff;
    margin-top: 16px;
}
#guardianWrap .swiper-slide {
}

/* -----------------------------------------------------------
 * 19) Footer (구체 스타일)
 * ----------------------------------------------------------- */
#footer {
    display: flex;
    justify-content: center;
    padding: 21px 0px 41px 0px;
    font-size: 12px;
    color: #444;
    position: absolute;
    width: 100%;
    gap: 210px;
}
.footer_logo {
    width: 180px;
}
.footer_wrap {
    display: flex;
}
.footer_menu {
    display: flex;
    gap: 40px;
    margin-top: 38px;
    color: #171717;
    font-family: Pretendard-Bold;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: normal;
}
.footer_info {
    margin-top: 20px;
    font-family: Pretendard-Regular;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: -0.32px;
    color: #4e5867;
}
.footer_copyright {
    margin-top: 16px;
    font-family: Pretendard-Regular;
    font-size: 14px;
    line-height: 1.57;
    letter-spacing: -0.28px;
    color: #4e5867;
}
.footer_btn {
    margin-top: 41px;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

/* -----------------------------------------------------------
 * 20) Misc Blocks
 * ----------------------------------------------------------- */
.swiper-slide {

}
#guardian-signup,
#target-signup {
    padding: 10px;
    height: 100%;
}
a,
a:visited,
a:hover,
a:active {
    color: #171717;
    text-decoration: none; /* 밑줄 제거 */
}
.app-contents_mobile > .contents_image {
    display: flex;
    justify-content: center;
}

/*
scroll Image 처리

*/

.scroll-indicator {
  position: absolute; /* 필요 시 위치 고정 */
  bottom: 255px;      /* 원하는 위치 */
  left: 50%;
  transform: translateX(-50%);
}

.scroll-indicator img {
  width: 33px;
  <!--animation: scroll-bounce 1.5s infinite;-->
  filter: drop-shadow(0 0 6px rgba(255,255,255,0.8));
}
.scroll-indicator::before {
    content: "";
    display: inline-block;
    width: 7px;
    background: #4e5867;
    border-radius: 50%;
    height: 7px;
    position: absolute;
    left: 50%;
    margin-left: -3.5px;
    top: 11px;
    -webkit-animation: scroll-bounce 1s ease infinite;
    -moz-animation: scroll-bounce 1s ease infinite;
    -ms-animation: scroll-bounce 1s ease infinite;
    -o-animation: scroll-bounce 1s ease infinite;
    animation: scroll-bounce 1s ease infinite;
}


@keyframes scroll-bounce {
  0%, 100% {
    transform: translateY(0);
    <!--opacity: 0.3;-->
  }
  50% {
    transform: translateY(15px);
    opacity: 1;
  }
}

/* -----------------------------------------------------------
 * 21) Media Queries
 * ----------------------------------------------------------- */

/* <= 1200px */
@media (max-width: 1200px) {
    .main-header nav > ul {
        gap: 56px;
    }

    .main-header > nav {
        margin-left: 20px;
    }
    .contents_title {
        font-size:44px;
    }
    .contents_desc {
    word-break: keep-all;
        font-size: 20px;
        max-width:540px;
    }
    #footer {
        gap: 13px;
        min-width: 0px;
        padding: 21px 10px 41px 10px;
    }
    .footer_menu {
        gap: 10px;
    }
    .main-header {
        justify-content: space-around;
    }
    .contents{
        max-width: 600px;
    }
    .main-title-wrap > img{
        max-width:100px;
    }
    #MainSlider .swiper-slide img {

    }
    .siwperWrap {
    }

    .container {
        gap: 10px;
    }
    .content-inner {
        gap:45px;
    }
    .main-image-area > img {
    }
    #anchor4 .contents_tag,
    #anchor5 .contents_tag{
        width:200px;
        height:55px;
        font-size:20px;
    }
}


#app-download .contents_desc{
    max-width:100%;
}

/* <= 860px (모바일 헤더 전환 등) */
@media (max-width: 860px) {
    .main-text-area{
        justify-content: center;
        margin-top:0px;
    }
    .main-header-wrap {
        padding: 0px 30px 0px 20px;
        background:#fff;
    }
    .main-header {
        justify-content: flex-start;
        margin: 0px;
    }
    .main-header-pc {
        display: none;
    }

    .main-header-mobile {
        display: block;
    }
    .container_action{
        margin-left:0px;
    }

    .tab-menu {
        display: none;
    }
    .main-text-area > .contents_desc {
        margin-top: 10px;
        line-height: 1.67;
        letter-spacing: -0.6px;
        font-family: Pretendard-Regular;
    }
    .main-image-area > img {
        min-width: 143px;
        width: 100%;
    }
    .main-title-wrap {
        display: flex;
        align-items: center;
    }
    #anchor2 .contents_title{
        font-size: 28px;
    }
    .content-inner {
        gap: 20px;
    }
    .main-title-wrap > img {
        max-width: 60px;
    }
    .content-item {
        padding: 0px 20px;
        /*max-height: 500px;*/
        margin-top: 60px;
        height: 100% !important;
    }

    .main-image-area{
        max-width: 240px;
        width: 100%;
    }
    .content-inner {
    height:100%;
    }
    #anchor1 > .container {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-top: 40px;
    }

    #anchor1 > .container > .contents {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        text-align: center;
    }

    #anchor1 > .container > .contents > .contents_title {
        font-size: 44px;
    }
    #anchor1 > .container > .contents > .contents_desc {
        font-size: 20px;
    }

    #MainSlider .swiper-slide img {
        display: block;
        object-fit: cover;

    }
    .siwperWrap {
        margin-top: 40px;
    }

    #anchor3 .contents_title {
        font-size: 44px;
    }
    #anchor3 .contents_desc {
        font-size: 20px;
        padding: 0px 20px;
    }
    .app-contents_pc {
        display: none;
    }
    .app-contents_mobile {
        display: block;
    }

    .app-contents_mobile > .contents_image > img {
        width: 120px;
        height: 120px;
    }
    .app-contents_mobile > .contents_text {
        font-size: 34px;
        margin-top: 16px;
    }

    #app-download .contents_image {
        margin-top: 40px;
    }
    .app-contents_mobile > .contents_action > img {
        max-width: 216px;
        width:100%;
    }
    .contents_image2 > img {
        margin-top: 43px;
        width: 100%;
    }

    #app-download {
        padding: 0px 0px;
        height:100%;
        margin-top: 60px;
        max-height:100%;
    }

    #anchor3 > .container {
        padding: 0px;
    }

    #guardianWrap .swiper-slide img {
    }
    .swiper-pagination-custom .swiper-pagination-bullet {
        width: 30px;
        height: 30px;
        line-height: 2.5;
    }
    #anchor4 #guardianWrap {
        margin-top: 0px;
    }
    #anchor4 .contents_tag {
        width: 162px;
        height: 42px;
        margin-top: 12px;
        font-size: 20px;
    }
    #anchor4 > .container > .content-item {
        margin-top: 0px;
    }
    #anchor4 .container {
        margin-top: 0px;
        padding-top: 40px;
        box-sizing: content-box;
    }
    #anchor4 > .container > .content-item .contents_title {
        font-size: 44px;
    }

    #anchor4 .sub-title {
        font-size: 20px;
    }
    #anchor4 .sub-desc {
        font-size: 14px;
    }

    #wardWrap .swiper-slide img {
    }

    .swiper-pagination-wardWrap .swiper-pagination-bullet {
        width: 30px;
        height: 30px;
        line-height: 2.5;
        margin: 0px 3px !important;
    }

    #anchor5 #wardWrap {
        margin-top: 0px;
    }

    #anchor5 .contents_tag {
        width: 162px;
        height: 42px;
        margin-top: 12px;
        font-size: 20px;
    }

    #anchor5 > .container > .content-item {
        margin-top: 0px;
    }

    #anchor5 .container {
        margin-top: 0px;
        padding-top: 40px;
        box-sizing: content-box;
    }

    #anchor5 > .container > .content-item .contents_title {
        font-size: 44px;
    }

    #anchor5 .sub-title {
        font-size: 20px;
    }

    #anchor5 .sub-desc {
        font-size: 14px;
    }
    #footerMobile {
        display: block;
    }
    #footer {
        display: none;
    }
    #footerMobile .footer_logo{
        max-width:180px;
    }

    #footerMobile {
        background-color: #f7f9fa;
        padding: 20px;
    }
    #footerMobile > div:first-of-type {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    #footerMobile .footer_logo {
    }

    #footerMobile .footer_btn {
        margin-top: 0px;
        display: flex;
        flex-direction: row;
        gap: 8px;
    }

    #footerMobile .footer_btn img {
        width:100%;
        max-width: 144px;
    }
    #footerMobile .footer_logo {
        width: 180px;
    }

    #footerMobile .footer_menu {
        margin-top: 25px;
        display: grid;
        grid-template-columns: repeat(3, 1fr); /* 3칸 */
        margin-top: 10px;
        color: #171717;
        font-family: Pretendard-Bold;
        text-align: left;
        word-break: keep-all;
        line-height: 1.3;
        gap: 0px;
        margin-top:10px !important;
    }

    #footerMobile .footer_info,
    #footerMobile .footer_copyright {
        font-size: 13px;
        display: flex;
        flex-direction: column;
        gap: 2px;
    },


      .footer_menu > div {
        padding: 4px 0;
      }
}

/* <= 430px (스몰 모바일) */
@media (max-width: 430px) {
    .main-text-area{
        justify-content: center;
    }
    .main-header-wrap {
        padding: 0px 30px 0px 20px;
    }
    .main-header {
        justify-content: flex-start;
        margin: 0px;
    }
    .main-header-pc {
        display: none;
    }

    .header_logo {
        width: 116px;
    }
    .main-header-mobile {
        display: block;
    }
    .brand-icon{
        width:116px;
    }
    .close-btn > img{
        width:24px;
        height:24px;
    }

    .main-header-mobile .hamburger {
        width: 24px;
        height: 24px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 0;
        background: none;
        padding: 8px;
    }
    .main-header-mobile .hamburger > img {
        width: 24px;
        height: 24px;
    }

    .tab-menu {
        display: none;
    }
    .contents_title {
        font-size: 20px;
    }

    #anchor2 .contents_title {
        /*font-size: 20px;*/
        font-size:15px;
    }

    .main-text-area > .contents_desc {
        margin-top: 10px;
        line-height: 1.67;
        letter-spacing: -0.6px;
        font-size: 14px;
        font-family: Pretendard-Regular;
        word-break: normal;
    }
    .main-image-area > img {
        width:143px;
    }

    .main-title-wrap {
        display: flex;
        align-items: center;
    }
    .content-inner {
        gap: 20px;
    }
    .main-title-wrap > img {
        /*width: 40px;*/
        width:30px;
    }
    .content-item {
        padding: 0px 20px;
        margin-top: 60px;
    }
    .content-inner {
    }
    #anchor1 > .container {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-top: 40px;
        justify-content: flex-start;
        padding:0px;
    }

    #anchor1 > .container > .contents {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        text-align: center;
        padding: 0 38px;
    }

    #anchor1 > .container > .contents > .contents_title {
        font-size: 28px;
    }
    #anchor1 > .container > .contents > .contents_desc {
        font-size: 16px;
    }
    .container_action{
    margin-top:40px;
        gap: 8px;
    }
    .container_action img {
        max-width: 108px;
    }

    #MainSlider .swiper-slide img {
        display: block;
        object-fit: cover;

    }
    .siwperWrap {
        margin-top: 40px;
        max-width: 143px;
    }

    #anchor3 .contents_title {
        font-size: 28px;
    }
    #anchor3 .contents_desc {
        font-size: 16px;
        padding: 0px 20px;
    }
    .app-contents_pc {
        display: none;
    }
    .app-contents_mobile {
        display: block;
    }

    .app-contents_mobile > .contents_image > img {
        width: 60px !important;
        height: 60px !important;
    }
    .app-contents_mobile > .contents_text {
        font-size: 28px;
        margin-top: 16px;
    }

    #app-download .contents_image {
        margin-top: 40px;
    }
    #app-download .contents_action {
        margin-top: 32px;

        display: flex;
        justify-content: center;
        gap: 8px;
    }
    .app-contents_mobile > .contents_action > img {
        width: 108px;
    }
    .contents_image2 > img {
        margin-top: 43px;
        width: 100%;
    }

    #app-download {
        padding: 0px 0px;
        min-height: 936px;
        margin-top: 60px;
    }

    #anchor3 > .container {
        padding: 0px;
    }

    #guardianWrap .swiper-slide img {
        max-width: 240px;
    }
    .swiper-pagination-custom .swiper-pagination-bullet {
        width: 30px;
        height: 30px;
        line-height: 2.5;
    }

    #anchor4 {
        min-height: 100%;
    }
    #anchor4 #guardianWrap {
        margin-top: 0px;
    }
    #anchor4 .contents_tag {
        width: 162px;
        height: 42px;
        margin-top: 12px;
        font-size: 20px;
    }
    #anchor4 > .container > .content-item {
        margin-top: 0px;
    }
    #anchor4 .container {
        margin-top: 0px;
        padding-top: 40px;
        height:100%;
        min-height:100%;
    }
    #anchor4 > .container > .content-item .contents_title {
        font-size: 28px;
    }

    #anchor4 .sub-title {
        font-size: 20px;
    }
    #anchor4 .sub-desc {
        font-size: 14px;
    }

    #wardWrap .swiper-slide img {
        max-width: 240px;
    }

    .swiper-pagination-wardWrap .swiper-pagination-bullet {
        width: 28px;
        height: 28px;
        line-height: 2.5;
        margin: 0px 3px !important;
    }

    #anchor5{
        min-height:100%;
    }
    #anchor5 #wardWrap {
        margin-top: 0px;
    }

    #anchor5 .contents_tag {
        width: 162px;
        height: 42px;
        margin-top: 12px;
        font-size: 20px;
    }

    #anchor5 > .container > .content-item {
        margin-top: 0px;
    }

    #anchor5 .container {
        margin-top: 0px;
        padding-top: 40px;
        height:100%;
        min-height:100%;
    }

    #anchor5 > .container > .content-item .contents_title {
        font-size: 28px;
    }

    #anchor5 .sub-title {
        font-size: 20px;
    }

    #anchor5 .sub-desc {
        font-size: 14px;
    }
    #footerMobile {
        display: block;
    }
    #footer {
        display: none;
    }
    #footerMobile .footer_logo{
        max-width:180px;
    }

    #footerMobile {
        background-color: #f7f9fa;
        padding: 20px;
    }
    #footerMobile > div:first-of-type {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    #footerMobile .footer_logo {
        width: 116px !important;
    }

    #footerMobile .footer_btn {
        margin-top: 0px;
        display: flex;
        flex-direction: row;
        gap: 8px;
    }

    #footerMobile .footer_btn img {
        width:100%;
        max-width: 144px;
    }
    #footerMobile .footer_logo {
        width: 180px;
    }

    #footerMobile .footer_menu {
        margin-top: 25px;
        color: #171717;
        font-family: Pretendard-Bold;
        font-size: 12px;
    }

    #footerMobile .footer_info,
    #footerMobile .footer_copyright {
        font-size: 11px;
        display: flex;
        flex-direction: column;
        gap: 2px;
    }

      .footer_menu {
        display: grid;
        grid-template-columns: repeat(3, 1fr); /* 3칸 */
        margin-top: 10px;
        color: #171717;
        font-family: Pretendard-Bold;
        font-size: 12px;
        text-align: left;
        word-break: keep-all;
        line-height: 1.3;
        gap: 0px;
        margin-top:10px;
      }

      .footer_menu > div {
        padding: 4px 0;
      }
}
@media (max-width: 1100px) {
    .main-text-area > .contents_desc{
        max-width: 500px !important;
        width: 100%;
        min-width: 0;
    }
}