@charset "utf-8";

.main-wrapper > section:not(.main-visual) {margin-bottom: 80px;}

.main-visual-swiper {position:relative; overflow:hidden; height:clamp(520px,70vw,840px);}
.main-visual-swiper .swiper-slide {overflow:hidden;}
.main-visual-swiper .swiper-slide img {display:block; width:100%; height:100%; object-fit:cover; transform:scale(1.08); transition:transform 7s ease;}
.main-visual-swiper .swiper-slide-active img {transform:scale(1);}
.main-visual-swiper .main-tit {position:absolute; left:50%; bottom:clamp(40px,8vw,100px); transform:translateX(-50%); z-index:99; display:flex; flex-direction:column; row-gap:18px;}
.main-visual-swiper .main-tit .hero-tit {color: #FFB874;}
.main-visual-swiper .main-tit .line {display:block; width:clamp(80px,10vw,112px); height:clamp(2px,.4vw,4px); background:rgba(var(--color-white-rgb),.6);}
.main-visual-swiper .swiper-pagination {top: auto !important; bottom: 40px !important; display: flex; align-items: center; justify-content: center; column-gap: 10px;}
/* 접근성 터치영역(24px) — 시각 점은 그대로 두고 클릭 영역만 확대 */
.main-visual-swiper .swiper-pagination .swiper-pagination-bullet {position:relative; width:24px; height:24px; background:transparent !important; opacity:1 !important; margin:0 !important; border-radius:0; transition:all 0.3s;}
.main-visual-swiper .swiper-pagination .swiper-pagination-bullet::before {content:""; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:8px; height:8px; border-radius:50%; background:#fff; transition:width 0.3s, border-radius 0.3s;}
.main-visual-swiper .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active::before {width:24px; border-radius:50px;}

.section-concern {position:relative; overflow:hidden;}
.section-concern .inner {position:relative; z-index:2;}
.section-concern .deco-sun {position:absolute; top:clamp(40px,8vw,120px); left:clamp(-20px,8vw,120px); width:clamp(80px,12vw,182px);}
.section-concern .deco-house {position:absolute; right:clamp(-20px,7vw,100px); bottom:0; width:clamp(180px,20vw,315px);}
.section-concern .concern-swiper {overflow:visible;}
.section-concern .concern-swiper .concern-item {padding:48px 20px; background:var(--color-white); border:1px solid var(--grayscale3); border-radius:24px; display:flex; flex-direction:column; justify-content:space-between; row-gap:10px; transition:transform .35s cubic-bezier(.34,1.56,.64,1), box-shadow .35s, border-color .35s;}
.section-concern .concern-swiper .concern-item:hover {transform:translateY(-10px) rotate(-1deg); border-color:var(--color-mint); box-shadow:var(--shadow-lg);}
.section-concern .concern-swiper .concern-item .common-icon {transition:transform .35s cubic-bezier(.34,1.56,.64,1), background-color .35s;}
.section-concern .concern-swiper .concern-item:hover .common-icon {background:var(--color-mint);}
.section-concern .concern-swiper .concern-item .common-icon svg {transition:transform .35s ease;}
.section-concern .concern-swiper .concern-item:hover .common-icon svg {transform:scale(1.15) rotate(-8deg);}
.section-concern .concern-swiper .concern-item .card-tit {transition:var(--transition);}
.section-concern .concern-swiper .concern-item:hover .card-tit {color:var(--color-mint);}
.section-concern .concern-banner {margin-top:30px; width:100%; padding:36px; background:var(--color-mint-light); border-radius:20px; box-shadow:var(--shadow-sm); display:flex; align-items:center; justify-content:center; column-gap:100px; transition:transform .35s cubic-bezier(.34,1.56,.64,1), box-shadow .35s;}
.section-concern .concern-banner .txt-wrap {display:flex; flex-direction:column; row-gap:8px;}

.section-program .program-list {display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.section-program .program-item {display:flex; align-items:center; column-gap:20px; padding:32px 22px; background:var(--color-white); border-radius:24px; transition:transform .35s cubic-bezier(.34,1.56,.64,1), box-shadow .35s;}
.section-program .program-item:hover {transform:translateY(-10px) scale(1.02); box-shadow:var(--shadow-lg);}
.section-program .program-item .common-icon {transition:transform .35s cubic-bezier(.34,1.56,.64,1);}
.section-program .program-item:hover .common-icon {transform:scale(1.08) rotate(-4deg);}
.section-program .program-item .txt-wrap {display:flex; flex-direction:column; row-gap:6px;}
.section-program .program-item .eyebrow {color:var(--color-mint);}
.section-program .program-item .sub-tit {transition:var(--transition);}
.section-program .program-item:hover .sub-tit {color:var(--color-mint);}
.section-program .program-item .body-md {margin:14px 0;}
.section-program .program-item .more-btn {display:flex; align-items:center; column-gap:6px; font-size:var(--fs-14); color:var(--color-mint); transition:var(--transition);}
.section-program .program-item .more-btn svg {transition:var(--transition);}
.section-program .program-item:hover .more-btn {column-gap:12px;}
.section-program .program-item:hover .more-btn svg {transform:translateX(4px);}

.section-center {position:relative;}
.section-center .tit-wrap {position: relative;}
.section-center .deco-cloud {position:absolute; top:clamp(-30px,2vw,0px); left:clamp(-20px,9vw,164px); width:clamp(100px,14vw,215px); z-index:0; pointer-events:none;}
.section-center .deco-flower {position:absolute; right:clamp(-20px,5vw,90px); bottom: clamp(-70px,-4vw,-100px); width:clamp(80px,10vw,158px); z-index:100; pointer-events:none;}
.section-center .deco-flower.mo-mode {display: none;}
.section-center .center-swiper {padding:20px; margin:-20px;}
.section-center .swiper-slide {height:auto; padding:12px 0;}
.section-center .center-item {height:100%; min-height:600px; padding:40px 30px; background:var(--color-white); border-radius:12px; box-shadow:var(--shadow-sm);}
.section-center .item-head {display:flex; align-items:center; column-gap:16px; padding-bottom:24px; margin-bottom:24px; border-bottom:1px solid var(--grayscale3);}
.section-center .center-item.pink .item-head .num {color:#F29CB2;}
.section-center .center-item.yellow .item-head .num {color:#F5C451;}
.section-center .center-item.blue .item-head .num {color:#7DB9F6;}
.section-center .item-list {display:flex; flex-direction:column; row-gap:16px;}
.section-center .item-list .check-bullet {display:flex; align-items:flex-start; column-gap:12px;}
.section-center .item-list .check-bullet span:first-child {flex-shrink:0; width:28px; height:28px; background-repeat:no-repeat; background-position:center; background-size:contain;}
.section-center .item-list .check-bullet .body-lg {flex:1; color:var(--grayscale8);}

.section-center .center-item.pink .check-bullet span:first-child {background-image:url('/assets/img/main/icon-check-pink.svg');}
.section-center .center-item.yellow .check-bullet span:first-child {background-image:url('/assets/img/main/icon-check-yellow.svg');}
.section-center .center-item.blue .check-bullet span:first-child {background-image:url('/assets/img/main/icon-check-blue.svg');}
.section-notice .tit-wrap {row-gap: 30px; margin-bottom: 0;}
.section-notice .tit-wrap .btn-wrap {margin-top: 0;}
.section-notice .notice-wrap {display:grid; grid-template-columns:340px 1fr; align-items:center; column-gap:60px;} 
.section-notice .notice-list {padding:30px; background:var(--color-white); border:1px solid var(--grayscale2); border-radius:12px; box-shadow:var(--shadow-sm);}
.section-notice .notice-item {position:relative; display:flex; align-items:center; justify-content:space-between; column-gap:20px; padding:24px 0; border-bottom:1px solid var(--grayscale2); transition:background-color .35s, box-shadow .35s;}
.section-notice .notice-item:first-of-type {padding:0 0 24px 0;}
.section-notice .notice-item:last-of-type {padding:24px 0 0 0; border-bottom:0;}
.section-notice .notice-info {display:flex; align-items:center; column-gap:12px; min-width:0; flex:1; transition:transform .35s cubic-bezier(.22,1,.36,1);}
.section-notice .notice-right {display:flex; align-items:center; column-gap:40px; flex-shrink:0; transition:transform .35s cubic-bezier(.22,1,.36,1);}
.section-notice .notice-item:hover .notice-info,
.section-notice .notice-item:hover .notice-right {transform:translateX(10px);}
.section-notice .notice-info {display:flex; align-items:center; column-gap:12px; min-width:0; flex:1;}
.section-notice .notice-info > p {display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; text-overflow:ellipsis; word-break:break-word; transition:var(--transition);}
.section-notice .notice-category {display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; min-width:52px; height:30px; padding:0 14px; border-radius:999px; background:var(--color-sub-light); font-size:var(--fs-13); font-weight:700; color:var(--color-sub); transition:var(--transition);}
.section-notice .notice-item:hover .notice-category {background:var(--color-sub); color:var(--color-white);}
.section-notice .notice-info .body-md {overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-weight:500;}
.section-notice .notice-item:hover .notice-info > p {color:var(--color-mint);}
.section-notice .notice-right {display:flex; align-items:center; column-gap:40px; flex-shrink:0;}
.section-notice .notice-right .body-md {transition:var(--transition);}
.section-notice .notice-right svg {transition:transform .35s cubic-bezier(.34,1.56,.64,1);}
.section-notice .notice-item:hover .notice-right .body-md {color:var(--grayscale8);}
.section-notice .notice-item:hover .notice-right svg {transform:translateX(8px);}

.section-location .tit-wrap {position: relative;}
.section-location .tit-wrap .btn-wrap .btn {position: relative; z-index: 3; background-color: var(--color-white);}
.section-location .tit-wrap .deco-house {position:absolute; bottom:-62px; left:clamp(0px,6vw,2%); width:clamp(140px,18vw,290px); z-index:2; pointer-events:none;}
.section-location .tit-wrap .deco-cloud {position:absolute; bottom:clamp(120px,-12vw,120px); right:clamp(0px,8vw,8%); width:clamp(100px,12vw,200px); z-index:2; pointer-events:none;}

.deco-house,
.deco-flower {animation: houseBounce 6s cubic-bezier(.34,1.56,.64,1) infinite;}
.deco-sun,
.deco-cloud {animation:sunFloat 6s ease-in-out infinite;}

@keyframes houseBounce {
    0%,84%,100% {transform:translateY(0);}
    87% {transform:translateY(-22px);}
    90% {transform:translateY(6px);}
    93% {transform:translateY(-10px);}
    96% {transform:translateY(2px);}
}

@keyframes sunFloat {
    0% {transform:translate(0,0) rotate(0deg);}
    20% {transform:translate(-2px,-3px) rotate(-1deg);}
    40% {transform:translate(2px,-6px) rotate(1deg);}
    60% {transform:translate(1px,-4px) rotate(.5deg);}
    80% {transform:translate(-1px,-2px) rotate(-.5deg);}
    100% {transform:translate(0,0) rotate(0deg);}
}

/* =========================================================
    RESPONSIVE
========================================================= */

@media screen and (max-width:1440px){
}

@media screen and (max-width:1280px){
    .section-notice .notice-wrap {grid-template-columns: 1fr; row-gap: 60px;}
    .section-notice .tit-wrap {row-gap: 10px; justify-content: center; align-items: center; text-align: center;}
    .section-notice .tit-wrap .section-tit br {display: none;}
}

@media screen and (max-width:1024px){

    .section-program .program-list {grid-template-columns: repeat(2,1fr);}

}

@media screen and (max-width:768px){
    
    .main-visual-swiper .main-tit {bottom: 40px !important;}
    .main-visual-swiper .swiper-pagination {display: none !important;}

    .section-concern .concern-banner {flex-direction: column; align-items: flex-start; row-gap: 20px; padding: 30px;}

    .section-program .program-list {grid-template-columns: repeat(1,1fr);}

    .section-center .tit-wrap {position: revert;}
    .section-center .tit-wrap .deco-flower {display: none;}
    .section-center .deco-flower.mo-mode{display:block; right:22px; left:auto; bottom:0; width:100px;}
    .section-center .center-item {padding: 30px 16px;}

    .section-location .tit-wrap .deco-cloud {bottom: auto; top: -20px;}

}

@media screen and (max-width:500px){


    .main-wrapper > section:not(.main-visual) {margin-bottom: 60px;}

    .main-visual-swiper .main-tit {row-gap: 3.75vw;}
    .main-visual-swiper .main-tit .section-tit,
    .main-visual-swiper .main-tit .hero-tit {font-size: 5vw;}
    .main-visual-swiper .main-tit .body-lg {font-size: 3vw;}

    .section-concern .concern-banner {align-items: center;}
    .section-concern .concern-banner .txt-wrap {width: 100%;}
    
    .section-center .item-head {flex-direction: column; row-gap: 10px; align-items: flex-start;}
    .section-center .center-item .item-head .num {font-size: 20px;}
    
    .section-notice .notice-right {display: none;}

    .section-location .tit-wrap .deco-house {bottom: -42px;}
    .section-location .tit-wrap .deco-cloud {top: -24px; right: 3vw;}

}

@media screen and (max-width:375px){

    .main-visual-swiper .main-tit .section-tit,
    .main-visual-swiper .main-tit .hero-tit {font-size: 6.2vw;}

    .section-concern .deco-sun {left: 3vw;}
    
    .section-program .program-item {flex-direction: column; row-gap: 20px; align-items: flex-start;}
    .section-program .program-item .body-md {margin: 4px 0;}

    .section-notice .notice-list {padding: 30px 10px;}

    .section-center .item-list .check-bullet {column-gap: 6px;}
    .section-center .item-list .check-bullet span:first-child {width: 22px; height: 22px;}
    .section-center .item-list .check-bullet span.body-lg {font-size: 15px;}

    .section-location .tit-wrap .deco-cloud {right: -8vw;}

}

/*********/
/*********/
/*********/
/*********/
/*********/
/*********/
/*********/
/*********/
/*********/