.lifePos {
    position: relative;
    overflow: hidden;
}
.lifeBlo {
    display: block;
}
.lifeAbs {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 48.07vw;
    transition: transform var(--heroSlideDuration, 800ms) ease, opacity var(--heroSlideDuration, 800ms) ease;
    opacity: 1;
}
.lifeAbsInit {
    transform: translate(-50%, 80%);
    opacity: 0;
}
.lifeContain {
    width: 48.07vw;
    margin: 0 auto;
    padding: 6.25vw 0 0 0;
    font-family: Poppins;
    color: #000;
    caret-color: transparent;
}
.lifeTitle {
    font-size: 1.56vw;
    line-height: 0.78vw;
    font-weight: 600;
    margin: 2.29vw 0 1.17vw 0;
}
.lifeSubTit {
    font-size: 1.04vw;
    line-height: 0.83vw;
    font-weight: 500;
}
.lifeCon {
    font-size: 0.78vw;
    line-height: 0.83vw;
    margin: 0.57vw 0 5.2vw 0;
    font-weight: 300;
    text-align: justify;
}
.lifeFlex {
    display: flex;
    justify-content: center;
    column-gap: 0.75vw;
    margin: 1.3vw 0 3.77vw 0;
}
.lifeFlexCon {
    background-color: #000;
    border-radius: 1.04vw;
    display: flex;
    color: #fff;
    column-gap: 0.52vw;
    align-items: center;
    cursor: pointer;
    font-size: 0.88vw;
    -webkit-tap-highlight-color: transparent;
    user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-touch-callout: none;
}
.lifeFlexCon img {
    user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    pointer-events: none;
}
.lifeFlexTitle {
    font-size: 1.3vw;
    line-height: 1.3vw;
    font-weight: 500;
    text-align: center;
}
.lifeFlexCon img {
    width: 1.04vw;
    height: 1.04vw;
}
.lifeFlex .lifeFlexCon:nth-child(1) {
    padding: 0.46vw 2.76vw;
}
.lifeFlex .lifeFlexCon:nth-child(2) {
    padding: 0.46vw 2.89vw;
}
.lifeFlex .lifeFlexCon:nth-child(3) {
    padding: 0.46vw 1.97vw;
}
.lifeConImg {
    display: flex;
    flex-wrap: wrap;
    gap: 2.6vw 1.82vw;
}
.lifeConGrid {
    display: grid;
    justify-items: center;
    gap: 0.75vw;
    font-size: 0.88vw;
    font-weight: 400;
    line-height: 0.88vw;
    flex: 1 1 calc(33% - 1.82vw);
}
.lifeConGrid img {
    border-radius: 8px;
    cursor: pointer;
}
.lifeScrImg {
    overflow: hidden;
    margin: 5.2vw 0 7.8vw 0;
}
.lifeScrTrack {
    display: flex;
    column-gap: 1.82vw;
    width: max-content;
    animation: lifeMarquee var(--lifeMarqueeDuration, 30s) linear infinite;
    will-change: transform;
}
.lifeScrImg img {
    width: 21.69vw;
    border-radius: 8px;
    cursor: pointer;
}
@keyframes lifeMarquee {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}
@keyframes lifeConSlide {
    from { transform: translateY(6%); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}
.slideIn { animation: lifeConSlide var(--conSlideDuration, 800ms) ease both; }
.slideWrap { position: relative; display: inline-block; overflow: hidden; }
.slideImg { display: block; }
.slideBase { transform: translateX(0); transition: transform var(--gridSlideDuration, 600ms) ease; }
.slideOverlay { position: absolute; left: 0; top: 0; width: 100%; height: 100%; transform: translateX(100%); transition: transform var(--gridSlideDuration, 600ms) ease; }
.slideWrap:hover .slideOverlay { transform: translateX(0); }
.slideWrap:hover .slideBase { transform: translateX(-100%); }
.hidden { display: none; }
@media screen and (max-width: 768px) {
    .lifeContain { width: 92vw; padding: 10vw 0 0 0; }
    .lifeTitle { font-size: 6.5vw; line-height: 6.5vw; }
    .lifeSubTit { font-size: 4.5vw; line-height: 5vw; }
    .lifeCon { font-size: 3.6vw; line-height: 5.2vw; margin: 3vw 0 10vw 0; }
    .lifeFlexTitle { font-size: 4.5vw; line-height: 4.5vw; }
    .lifeFlex { flex-wrap: wrap; column-gap: 2.4vw; row-gap: 2.4vw; }
    .lifeFlex .lifeFlexCon {font-size: 2.8vw; border-radius: 10vw;}
    .lifeFlex .lifeFlexCon:nth-child(1) { padding: 2.2vw 3.8vw;}
    .lifeFlex .lifeFlexCon:nth-child(2) { padding: 2.2vw 3.88vw;}
    .lifeFlex .lifeFlexCon:nth-child(3) { padding: 2.2vw 2.8vw;}
    .lifeFlexCon img { width: 4vw; height: 4vw; }
    .lifeAbs { width: 80vw; }
    .lifeConImg { gap: 5vw 4vw; }
    .lifeConGrid { flex: 1 1 calc(50% - 4vw); font-size: 2.5vw; line-height: 2.5vw; gap: 2.5vw; }
    .lifeScrImg { margin: 8vw 0 12vw 0; }
    .lifeScrImg img { width: 60vw; }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
    .lifeContain { width: 80vw; padding: 8vw 0 0 0; }
    .lifeTitle { font-size: 3.2vw; line-height: 3.2vw; }
    .lifeSubTit { font-size: 2.2vw; line-height: 2.4vw; }
    .lifeCon { font-size: 1.6vw; line-height: 2.2vw; margin: 1.5vw 0 6vw 0; }
    .lifeFlexTitle { font-size: 2.2vw; line-height: 2.2vw; }
    .lifeFlex { column-gap: 4.4vw;}
    .lifeFlex .lifeFlexCon {font-size: 2.5vw; border-radius: 10vw;}
    .lifeFlex .lifeFlexCon:nth-child(1) { padding: 1vw 4.45vw; border-radius: 10vw;}
    .lifeFlex .lifeFlexCon:nth-child(2) { padding: 1vw 4.8vw; border-radius: 10vw;}
    .lifeFlex .lifeFlexCon:nth-child(3) { padding: 1vw 2.8vw; border-radius: 10vw;}
    .lifeFlexCon img { width: 1.8vw; height: 1.8vw; }
    .lifeAbs { width: 64vw; }
    .lifeConImg { gap: 3.6vw 2.4vw; }
    .lifeConGrid { flex: 1 1 calc(33.33% - 2.4vw); font-size: 1.5vw; line-height: 1.5vw; gap: 1.5vw; }
    .lifeScrImg { margin: 6vw 0 9vw 0; }
    .lifeScrImg img { width: 30vw; }
}