@charset "utf-8";

/*-------------------------------------------------------------------
    File definition: Main page style
    Order:    Contents > Main top(banner) > Aside
-------------------------------------------------------------------*/

/* Banner */
.main_banner {height: 100vh;user-select: none;}
.main_banner_inn {height: 100%;}
.main_banner_swiper {height: 100%;position: relative;}
.main_banner_img {box-shadow: inset 0 0 0 100vw rgb(0 0 0 / 30%); width: 100%;background-size: cover !important;background-position: center !important;margin: 0 auto;}
.main_banner_txt {margin-top: -95px;height: 100%;color: var(--bs-white);font-weight: 700;display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 24px;}
.main_banner_txt p {font-size: 24px;line-height: 28.64px;transition: font-size 0.2s ease-in-out;
    animation: tit_ani 1s linear;}
.main_banner_txt h1 {font-size: 60px;line-height: 71.6px;transition: font-size 0.5s ease-in-out;
    animation: tit_ani 1s linear;}

.main_sec_01 {padding: 130px 0;}
.main_sec_03 {padding: 130px 0 80px}
.main_sec_05 {padding: 80px 0 50px}

.main_sec_subtit {font-size: 24px;font-weight: 700;line-height: 28.64px;}
.main_sec_custit {display: flex;justify-content: space-between;align-items: flex-end;gap: 10px;}
.main_sec_custit h2{font-size: 48px;font-weight: 600;line-height: 72.28px;margin-top: 46px;}
.main_sec_custit a {color: var(--bs-gray);font-weight: 500;line-height: 19.09px;position: relative;padding-right: 28px;white-space: nowrap;}
.main_sec_custit a:after{content: "";position: absolute;width: 20px;height: 20px;background: url(../imgs/icons/ico_more_btn.png);right: 0}

.sec_01_items {position: relative;}
.sec_01_items .swiper-button-next, .sec_01_items .swiper-button-prev{border: 1px solid #EAEAEA;border-radius: 50px;width: 45px;height: 45px;}
.sec_01_items .swiper-button-prev:after, .sec_01_items .swiper-button-next:after {font-size: 21px;color: var(--bs-black);font-weight: 700;}
.sec_01_items .swiper-button-next {right: -100px;}
.sec_01_items .swiper-button-prev {left: -100px;}
.sec_01_swiper {margin-top: 76px;}
.sec_01_swiper_img {height: 415px;background-size: cover !important;background-position: center !important;position: relative;transition: ease-in-out 0.3s;overflow: hidden;}
.sec_01_swiper_img:hover {transform: scale(1.05);}
.sec_01_swiper_txt p {font-size: 24px;font-weight: 700;font-family: 'SUIT Variable', sans-serif;color: var(--bs-white);margin-top: 21px;margin-left: 17px;}

.sec_01_range {
    --percentage: calc(var(--value) * 1%);
    position: absolute;
    right: 22px;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 99vw;
    max-height: 255px;
    height: 100%;
    width: 4px;
    background: linear-gradient(to top, #3074F1 var(--percentage), #EAEAEA var(--percentage));
}

.sec_01_range .thumb {
    position: absolute;
    bottom: var(--percentage);
    left: 50%;
    transform: translate(-50%, 50%);
    border-radius: 99vw;
    width: 16px;
    aspect-ratio: 1/1;
    border: 4px solid #3074F1;
    background-color: var(--bs-white);
}

.sec_01_range .thumb::before {
    position: absolute;
    content: attr(data-value)'%';
    font-weight: 500;
    font-size: 16px;
    color: var(--bs-white);
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
}


.sec_01_range input[type="range"][orient=vertical] {-webkit-appearance: none; -moz-appearance: none;
    appearance: none;background-color: transparent;appearance: slider-vertical;-webkit-appearance: slider-vertical;writing-mode: bt-lr;position: relative;height: 255px;width: 4px;border: 0;border: none;}
.sec_01_range .range-value {font-weight: 500;font-size: 16px;color: var(--bs-white);position: absolute;right: 18px;margin-top: -7px;}

.main_sec_02_top {height: 302px;width: 100%;overflow: hidden;display: flex;color: var(--bs-white);}
.main_sec_02_top > .img {background: url(../imgs/main/main_01.png) no-repeat;background-size: cover;height: 100%;width: 90%;
    border-top-right-radius: 200px;border-bottom-right-radius: 200px;display: flex;align-items: center;flex-direction: column;justify-content: center;}
.main_sec_02_top > .img > div {margin-left: 100px;}
.main_sec_02_top .bg {background: #121B2A;height: 100%;width: 30%;border-top-left-radius: 200px;border-bottom-left-radius: 200px;position: relative;z-index: 1;margin-left: -150px;}
.main_sec_02_top h3 {font-weight: 900;font-size: 48px;line-height: 57.28px;}
.main_sec_02_top p {font-weight: 700;font-size: 23px;line-height: 27.45px;}

.main_sec_02_items {display: flex;position: relative;margin-top: 167px;height: 180px;}
.main_sec_02_item {position: absolute;background: var(--bs-white);box-shadow: 0px 0px 36.6px 0px rgba(0, 0, 0, 0.25);border-radius: 100px;height: 100%;width: 580px; padding: 51px 10px 51px 72px }
.main_sec_02_item:nth-child(2){z-index: 1;left: 30%;margin-top: -68px;}
.main_sec_02_item:nth-child(3){z-index: 2;right: 0;}
.main_sec_02_item span {font-size: 64px;font-weight: 900;position: absolute;top: -38px;}
.main_sec_02_item h4 {font-size: 24px;font-weight: 700;color: #3074F1;}
.main_sec_02_item p {line-height: 19.09px;margin-top: 9px;}
.main_sec_custit .main_sec_03_btns a {
    padding-right: 0px !important;
}
.main_sec_03_btns {display: flex;gap: 24px;}
.main_sec_03_btns a::after {
    display: none;
}
.main_sec_03_btn {width: 116px;height: 40px;border: 1px solid #EAEAEA;border-radius: 8px;background: var(--bs-white);color: var(--bs-gray);font-size: 20px;font-weight: 500;
    display: flex;align-items: center;justify-content: center;cursor: pointer;}
/* .main_sec_03_btn.active {background: var(--bs-primary);color: var(--bs-white);} */
.main_sec_03_btn:hover, .main_sec_03_btn.active {background: var(--bs-primary);color: var(--bs-white);}
.main_sec_03_conts {margin-top: 94px;display: flex;gap: 37px;height: 758px;}
.main_sec_03_left img {object-fit: cover;}
.main_sec_03_right {border-top: 4px solid var(--bs-black);border-bottom: 4px solid var(--bs-black);padding: 26px 18px;position: relative;min-width: 553px;width: 533px;}

.sec_03_swiper_conts {display: flex;flex-direction: column;height: 700px;}
.sec_03_swiper_cont {
    height: 100%;
    max-height: 210px;
    width: 100%;
    display: grid;
    grid-template-columns: 310px minmax(0, 1fr);
    align-items: center;
    gap: 14px;
}
.sec_03_swiper_cont .img {height: 100%;overflow: hidden;}
.sec_03_swiper_cont .img img{object-fit: cover;}
.sec_03_swiper_cont .img:hover img {transform: scale(1.1);}
.sec_03_swiper_cont .txt {width: 100%; display: flex; flex-direction: column;padding: 30px 0;height: 100%;}
.sec_03_swiper_cont .txt h4 {font-size: 20px;font-weight: 600;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 1;overflow: hidden;text-overflow: ellipsis;word-break: break-all;}
.sec_03_swiper_cont .txt p {font-weight: 500;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 1;overflow: hidden;text-overflow: ellipsis;word-break: break-all;margin-top: 2px;}
.sec_03_swiper_cont .txt .more_btn {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    justify-content: flex-end;
    gap: 8px;
    margin-top: auto;
}
.sec_03_swiper_cont .txt .more_btn::after {
    content: "";
    width: 30px;
    height: 30px;
    background: url(../imgs/icons/ico_readmore_arrow.png) no-repeat;
    transition: 0.3s;
    background-size: contain;
}
.sec_03_swiper_cont .txt .more_btn:hover::after {background: url(https://www.house-talk.co.kr/client/assets/imgs/icons/ico_readmore_arrow_active.png) no-repeat;background-size: contain;}

.main_sec_03_right .swiper-button-next, .main_sec_03_right .swiper-button-prev{background: #DEE2E6; border-radius: 50px;width: 40px;height: 40px;}
.main_sec_03_right .swiper-button-prev:after, .main_sec_03_right .swiper-button-next:after {font-size: 21px;color: var(--bs-black);font-weight: 700;}
.main_sec_03_right .swiper-button-prev {top: 0;left: 50%;transform: translateX(-50%) rotate(90deg);}
.main_sec_03_right .swiper-button-next {bottom: -20px;top: auto;left: 50%;transform: translateX(-50%) rotate(90deg);}

.main_sec_04 {background: #F6F6F6;padding: 120px 0;}
.main_custit_02 {font-size: 48px;font-weight: 800;line-height: 73px;text-align: center;}
.main_cus_desc {font-size: 24px;line-height: 28px;text-align: center;color: var(--bs-gray);margin-top: 24px;}
.main_sec_04_inn {margin-top: 73px;}
.sec_04_swiper {height: 705px;border-radius: 18px;}
.sec_04_swiper_cont {width: 100%;height: 100%; background-size: cover !important;background-position: center !important;margin: 0 auto;border-radius: 18px;}

.main_sec_04_items {display: flex;gap: 24px; height: 705px;margin-top: 73px;}
.main_sec_04_item {border-radius: 18px;overflow: hidden;width: 20%;transition: 0.3s}
.main_sec_04_item img {max-width: initial;object-fit: cover;}
.main_sec_04_item.on {width: 60%;transition: 0.3s;}

.main_sec_05_btns{display: flex;justify-content: center;gap: 24px;margin-top: 36px;flex-wrap: wrap;}
.main_sec_05_btns .main_sec_03_btn{width: 133px;}

.main_sec_05_item {display: none;position: relative;}
.main_sec_05_item.active { display: block; }

.sec_05_swiper {height: 430px}

.main_sec_05_conts {margin-top: 72px;}
.sec_05_swiper_cont {display: flex;gap: 36px;}
.main_sec_05_conts .sec_05_img {min-width: 700px; overflow: hidden;}
.main_sec_05_conts .sec_05_img img {object-fit: cover; object-position: center;}
.main_sec_05_conts .sec_05_img:hover img {transform: scale(1.1);}
.main_sec_05_conts .sec_05_txt {display: flex;flex-direction: column;justify-content: space-between;gap: 20px; width: 100%;}
.main_sec_05_conts .sec_05_txt span {font-weight: 500;color: #7A7A7A;line-height: 19.09px;}
.main_sec_05_conts .sec_05_txt h3 {font-size: 36px;font-weight: 700;line-height: 42.96px;margin: 24px 0 14px;}
.main_sec_05_conts .sec_05_txt h4 {font-size: 24px;font-weight: 500;line-height: 28.64px;}
.main_sec_05_conts .sec_05_txt p {font-size: 20px;line-height: 24px;border-top: 2px solid var(--bs-gray);padding-top: 25px;color: #3C3C3C;}

.main_sec_05_item .swiper-button-next, .main_sec_05_item .swiper-button-prev{border: 1px solid #EAEAEA;border-radius: 50px;width: 50px;height: 50px;}
.main_sec_05_item .swiper-button-prev:after, .main_sec_05_item .swiper-button-next:after {font-size: 21px;color: var(--bs-black);font-weight: 700;}
.main_sec_05_item .swiper-button-next {right: -100px;}
.main_sec_05_item .swiper-button-prev {left: -100px;}

.partners {border-top: 1px solid #DEE2E6;}
.partners_swiper_conts {height: 80px;}
.partners_swiper_cont {display: flex;justify-content: center;align-items: center;padding: 10px;}
.partners_swiper_cont img {object-fit: scale-down;}


/* MAIN BANNER SWIPER */
.swiper-pagination {display: flex;gap: 48px;width: auto !important;background: rgba(255,255,255,15%);
    padding: 10px 43px;border-radius: 50px;bottom: 350px !important;
    position: absolute;left: 50% !important;transform: translateX(-50%);}
.swiper-pagination-bullet {width: 24px;height: 24px;text-align: center;line-height: 26px;font-size: 24px;color: rgba(255,255,255,50%);opacity: 1;background: none;font-weight: 400}
.swiper-pagination-bullet-active {color: #fff;font-weight: 700;position: relative;}
.swiper-pagination-bullet-active::before{content: "";position: absolute;width: 21px;height: 21px;background: url(../imgs/main/pagination_dot.png);left: 50%;
    transform: translateX(-40%);top: -22px;}

@keyframes tit_ani {
    0% {
        transform: translateY(80px);
        opacity:0;
    }
    100% {
        transform: translateY(0px);
        opacity:1;
    }
}





/* intro section */
#intro {
    position: fixed;
    inset: 0;
    z-index: 999999999;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
#intro > p {
    --height : 82px;
    font-size: 64px;
    font-weight: 500;
    letter-spacing: -0.48px;
    line-height: var(--height);
    color: #000;
    max-height: var(--height);
    overflow: hidden;
    animation: textSlide 2s forwards,
    visible 0s 10s forwards;
    padding-top: var(--height);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    transition: clip-path 0.3s ease;
}
#intro > p > span {
    position: relative;
}
#intro > p:nth-of-type(2) {
    animation-delay: 0s;
}
#intro > p:nth-of-type(2) {
    animation-delay: 0.5s;
}
#intro > p:nth-of-type(3) {
    animation-delay: 1s;
}
#intro > p em {
    font-style: normal;
    color: #3074F1;
}
#intro #clip {
    position: relative;
    display: inline-block;
    height: 100%;
    background-color: transparent;
    border-radius: 8px;
    width: 0;
    animation:
        clipOpen 2s 3s forwards;
    margin-inline: 0.125em;
}
#intro #clip span {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    animation: clipScale 2s 5s forwards;
}

@media(max-width: 767px) {
    #intro > p {
        --height: 50px;
        font-size: 24px;
        /* line-height: 50px;
        height: 50px; */
    }

    #intro #clip {
        max-width: 100px;
    }
    .sec_01_range {
        max-height: 200px;
    }
    .sec_03_swiper_cont .txt .more_btn {
        font-size: 14px;
    }
    .sec_03_swiper_cont {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
    .main_sec_04_item {
        width: 100% !important;
    }
}

@media(min-width: 768px) and (max-width: 1200px) {
    #intro > p {
        --height: 60px;
        font-size: 30px;
        /* line-height: 60px;
        height: 60px; */
    }
    #intro #clip {
        max-width: 100px;
    }
    .main_banner_txt {
        margin-top: -90px;
    }
}


@keyframes textSlide {
    0% {
        opacity: 0;
        padding-top: var(--height);
    }
    100% {
        opacity: 1;
        padding-top: 0%;
    }
}
@keyframes clipOpen {
    0% {
        width: 0;
    }
    100% {
        width: 150px;
    }
}
@keyframes clipScale {
    0% {
        width: 100%;
        height: 100%;
    }
    100% {
        width: 120vw;
        height: 120vh;
    }
}