/* floatUpDown :: S */
.imc__floatUpDownContainer01 {position:absolute; width:calc(560 * var(--vw)); right:0; top:50%; transform:translateY(-50%);}
.imc__floatUpDownContainer01 .imc__floatUpDownImg{animation: floatUpDown 0.6s ease-out infinite alternate; transform:translateY(0px);}
.imc__floatUpDownContainer01 p {text-align: center; font-size: calc(30 * var(--vw)); font-weight: 900; line-height: calc(44 * var(--vw));}
@keyframes floatUpDown {
    0% {transform:translateY(20px);}

    100%{transform:translateY(0px);}
}
/* floatUpDown :: E */

/* singleSwiper :: S */
 .imc__singleSwiper{width:calc(640 * var(--vw)); margin:0 auto;}
.swiper-pagination-bullets {display: flex; justify-content: center; position:absolute; z-index: 1; bottom: 8%;
    z-index: 1;
    right: 21.5%;}
.swiper-pagination-bullet {width:calc(16 * var(--vw)); height:calc(16 * var(--vw)); margin:0 calc(5 * var(--vw)); border-radius: 50%; opacity: 0.3;}
.swiper-pagination-bullet-active {opacity: 1;
    background:#151415 !important ;}


/* singleSwiper :: E */

.slide_wrap {
    display: flex;
    align-items: center;
    gap: calc(160 * var(--vw));
    justify-content: center;
    width: calc(1620 * var(--vw));
    margin: 140px auto;
}

.relative {
    position: relative;
}

.absolute {
    position: absolute;
}

/* 버튼 공통 스타일 */
.section__02 .btn_control {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) !important;
    cursor: pointer;
    z-index: 10;
    width: 66px; /* 버튼 크기 조절 */
    height: auto;
}

/* 초기 상태: 일시정지 버튼은 숨김 (재생 중이므로) */
.btn_pause {
    display: block;
}
.btn_play {
    display: none;
}


.section__02 .video_wrap {
    display: flex;
    gap: calc(147 * var(--vw));
    position: absolute;
    top: 49.5%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.section__02 video {
    width: calc(400 * var(--vw));
    border-radius: 20px;
}

.video_item {
    position: relative; /* 버튼 배치의 기준이 됨 */
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(400 * var(--vw));

}

/* 기존 비디오 스타일 그대로 유지 */
.section__02 video {
    border-radius: 20px;
}

/* 딤(Dim) 처리용 오버레이 */
.video_overlay {
    border-radius: 20px;
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.4); /* 초기 딤 처리 */
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.5s ease, opacity 0.5s ease;
    z-index: 5;
}

/* 1. 일시정지 상태 (초기) */
.video_item.is-paused .video_overlay { background: rgba(0, 0, 0, 0.4); opacity: 1; }
.video_item.is-paused .btn_play { display: block; opacity: 1; transform: scale(1); }
.video_item.is-paused .btn_pause { display: none; }

/* 2. 재생 상태 (클릭 후) */
.video_item.is-playing .video_overlay { background: rgba(0, 0, 0, 0); opacity: 0; }
.video_item.is-playing .btn_play { display: none; }
.video_item.is-playing .btn_pause { display: block; opacity: 0; transform: scale(1.2); }

/* 3. 호버 시 (재생 중일 때만 등장) */
.video_item.is-playing:hover .video_overlay { opacity: 1; background: rgba(0, 0, 0, 0.2); }
.video_item.is-playing:hover .btn_pause { opacity: 1; transform: scale(1); }

/* 페이드아웃 애니메이션 클래스 (JS에서 일시적으로 부여) */
.fade-out { opacity: 0 !important; transform: scale(1.5) !important; transition: all 0.5s ease; }



.section__03 img {
    width: calc(773 * var(--vw));
    margin: auto;
}

.section__04  {
    padding: 120px 0;
    background: #E6F0F8;
}
.section__04  {
    padding: 120px 0;
    background: #E6F0F8;
}

.section__04 .section__04_bg {
    width: calc(1460 * var(--vw));
    margin: auto;
}

.section__05 img {
    width: calc(824 * var(--vw));

}

.section__07 img {
    width: calc(824 * var(--vw));

}

.imc__floatUpDownContainer01 {
    position: absolute;
    width: calc(580 * var(--vw));
    right: 55%;
    top: 43%;
    transform: translateY(-50%);}

.imc__floatUpDownContainer01 .imc__floatUpDownImg{animation: floatUpDown 0.6s ease-out infinite alternate; transform:translateY(0px);}
.imc__floatUpDownContainer01 p {text-align: center; font-size: calc(30 * var(--vw)); font-weight: 900; line-height: calc(44 * var(--vw));}
@keyframes floatUpDown {
    0% {transform:translateY(20px);}

    100%{transform:translateY(0px);}
}

.section__06 {
    background: #FFFBEF;
    padding: 120px 0;
}

.section__06 .section__06_bg {
    width: calc(1460 * var(--vw));
    margin: auto;
}

.imc__floatUpDownContainer02 {
    position: absolute;
    width: calc(580 * var(--vw));
    right: 55%;
    top: 43%;
    transform: translateY(-50%);}

.imc__floatUpDownContainer02 .imc__floatUpDownImg{animation: floatUpDown 0.6s ease-out infinite alternate; transform:translateY(0px);}
.imc__floatUpDownContainer02 p {text-align: center; font-size: calc(30 * var(--vw)); font-weight: 900; line-height: calc(44 * var(--vw));}
@keyframes floatUpDown {
    0% {transform:translateY(20px);}

    100%{transform:translateY(0px);}
}