@charset "utf-8";

.contents {padding: 0 !important;}

.bg_wrap {display: none;}

.sec-tit {padding: 90px 5%; font-family: var(--f-en); font-weight: 600; font-size: 60px; letter-spacing: -0.04em; }
.sec-tit .txt-wrap {display: flex; overflow: hidden;}
.sec-tit .txt-wrap span {display: block; transform: translateY(100%); transition-duration: 0.65s; line-height: 1; transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1); }
.sec-tit .txt-wrap span:nth-child(2) {transition-delay: 0.1s;}
.sec-tit .txt-wrap span:nth-child(3) {transition-delay: 0.2s;}
.sec-tit .txt-wrap span:nth-child(4) {transition-delay: 0.3s;}
.sec-tit .txt-wrap span:nth-child(5) {transition-delay: 0.4s;}
.sec-tit .txt-wrap span:nth-child(6) {transition-delay: 0.5s;}
.sec-tit .txt-wrap span:nth-child(7) {transition-delay: 0.6s;}
.sec-tit .txt-wrap span:nth-child(8) {transition-delay: 0.7s;}
.sec-tit .txt-wrap span:nth-child(9) {transition-delay: 0.8s;}
.sec-tit .txt-wrap span:nth-child(10) {transition-delay: 0.9s;}

.sc-ani .sec-tit .txt-wrap span {transform: translateY(0);}

@media screen and (max-width:1024px) {
    .sec-tit {padding: 60px 5%; font-size: 50px; letter-spacing: -0.03em;}
}
@media screen and (max-width:768px){
    .sec-tit {font-size: 30px; padding: 40px 5%;}
}

.sec1 {background: #000;}
.sec1 .ani-box {width: 100%; height: 100vh; position: relative; overflow: hidden;}
.sec1 .mask-box {width: 100vw; height: 100vh; position: absolute; left: 0; top: 0; -webkit-mask-image: url('/img/main/logo.svg'); mask-image: url('/img/main/logo.svg'); mask-repeat : no-repeat; mask-position: 50% 50%; mask-size: 45%;} 
.sec1 .mask-box .mask-slide {width: 100%; height: 100%;}
.sec1 .mask-box .mask-slide .swiper-slide {width: 100%; height: 100%; background: #000;}
.sec1 .mask-box .mask-slide .swiper-slide img {width: 100%; height: 100%; object-fit: cover;}
.sec1 .txt-box {width: 100%; height: 100vh; position: absolute; left: 0; bottom: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; transform: translateY(100%);}
.sec1 .txt-box p {color: #fff; font-family: var(--f-en); font-weight: 700; font-size: 300px; line-height: 0.9;}
.sec1 .txt-box p span {color: var(--c-red);}
@media screen and (max-width:1500px){
    .sec1 .txt-box p {font-size: 220px;}
}
@media screen and (max-width:1024px) {
    .sec1 .txt-box p {font-size: 20vw;}
}


.sec2 {background: #fff; overflow: hidden;}
.sec2 .sec-cont {padding: 20px 0 80px;}
.sec2 .por-slide {margin: auto; width: 46%; max-width: 900px; overflow: visible; }
.sec2 .por-slide .swiper-slide {position: relative; transform: scale(0.8); transition: 0.3s; transform-origin: 50% 100%;}
.sec2 .por-slide .swiper-slide.swiper-slide-active {transform: scale(1);}
.sec2 .por-slide .swiper-slide a {display: block; width: 100%;}
.sec2 .por-slide .swiper-slide a span {display: block; width: 100%; padding-top: 60%; overflow: hidden; position: relative; background: #ccc; }
.sec2 .por-slide .swiper-slide a span img {position: absolute; width: 100%; height: 100%; object-fit: cover; left: 50%; top: 50%; transform: translate(-50%,-50%); }

.sec2 .por-slide .swiper-slide.last {overflow: visible;}
.sec2 .por-slide .swiper-slide.last .more-btn {position: absolute; width: 380px; right: -35px; transform: translateX(100%); bottom: 0;border-radius: 50%; background: var(--c-red); color: #fff; display: flex; justify-content: center; align-items: center; }
.sec2 .por-slide .swiper-slide.last .more-btn span {padding-top: 100%; text-align: center; }
.sec2 .por-slide .swiper-slide.last .more-btn span p {position: absolute; width: 100%; position: absolute; left: 0; top: 50%; transform: translateY(-50%); font-family: var(--f-en); font-size: 36px;}
.sec2 .por-slide .swiper-slide.last .more-btn span p::after {content:""; width: 52px; height: 24px; background: url(/img/main/arr_more.png) center no-repeat; background-size: cover; display: inline-block; margin-left: 14px;}
.sec2 .por-slide .swiper-slide.last {}

@media screen and (max-width:1600px){
    .sec2 .por-slide .swiper-slide.last .more-btn {width: 20vw;}
    .sec2 .por-slide .swiper-slide.last .more-btn span p {font-size: 24px;}
    .sec2 .por-slide .swiper-slide.last .more-btn span p::after {width: 30px; height: 15px;}
}
@media screen and (max-width:1024px){
    .sec2 .por-slide {margin: 0 5%; width: 50%;}
    .sec2 .por-slide .swiper-slide.last .more-btn {width: 25vw;}
}
@media screen and (max-width:768px){

    .sec2 .por-slide {width: 90%;}

    .sec2 .por-slide .swiper-slide.last .more-btn {width: fit-content; border-radius: 5px; right: 0; bottom: -20px; transform: translateY(100%);}
    .sec2 .por-slide .swiper-slide.last .more-btn span {padding: 8px 12px; }
    .sec2 .por-slide .swiper-slide.last .more-btn span p {font-size: 16px; position: static; transform: none;}
    .sec2 .por-slide .swiper-slide.last .more-btn span p br {display: none;}
    .sec2 .por-slide .swiper-slide.last .more-btn span p::after {width: unset; height: unset; content:"→"; background: unset;}
}
@media screen and (max-width:480px){
    .sec2 .por-slide .swiper-slide.last .more-btn span p {font-size: 14px;}
}


.sec3 {position: relative; background: #000; overflow: hidden;}
.sec3 .inner {height: 100vh; display: flex; flex-direction: column;}
.sec3 .sec-tit {flex-shrink: 0; color: #fff; position: relative; }
.sec3 .slide-util { display: flex; font-size: 36px;  gap: 15px; flex-shrink: 0; font-weight: 500; position: absolute; right: 5%; bottom: 90px; letter-spacing: 0;}
.sec3 .slide-util .arr {width: fit-content; flex-shrink: 0; font-family: var(--f-en); cursor: pointer;}
.sec3 .slide-util .pagination { font-size: 26px;}
.sec3 .slide-util .pagination span {font-size: 36px;}
.sec3 .slide-util .pagination .swiper-pagination-current {color: var(--c-red); font-family: var(--f-en);}
.sec3 .sec-cont {height: 100%; background: #1C1C15; min-height: 400px;}
.sec3 .busi-slide {height: 100%;}
.sec3 .busi-slide .swiper-slide {height: 100%;}
.sec3 .busi-slide .swiper-slide .item {display: flex; justify-content: center; align-items: center; position: relative; width: 100%; height: 100%; background: #1C1C15; transition: 0.3s; cursor: pointer; }
.sec3 .busi-slide .swiper-slide .item .bg {height: 100%; width: 100%; filter: grayscale(1); position: relative; font-size: 0; min-height: 400px;}
.sec3 .busi-slide .swiper-slide .item .bg::before {content:""; width: 100%; height: 100%; position: absolute; left: 0; top: 0; background: linear-gradient(to bottom, rgba(0,0,0,0), rgba(0,0,0,1)); opacity: 0.8; transition: 0.3s;}
.sec3 .busi-slide .swiper-slide .item .bg img {width: 100%; height: 100%; object-fit: cover;}
.sec3 .busi-slide .swiper-slide .item .icon { width: 200px; font-size: 0; }
.sec3 .busi-slide .swiper-slide .item .icon img {width: 100%;}
.sec3 .busi-slide .swiper-slide .item .txt {color: #666; font-size: 36px; font-family: var(--f-en); font-weight: 500; position: absolute; line-height: 1.3; left: 10%; bottom: 40px;  transition: 0.3s; width: 80%; text-align: center; height: 2.6em; color: var(--c-red); display: flex; flex-direction: column; align-items: center; justify-content: center;}

.sec3 .modal {position: absolute; left: 0; top: 0; width: 0%; background: #1C1C15; height: 100%;  z-index: 100; display: flex; justify-content: center; align-items: center; opacity: 0; pointer-events: none; transition: width 0.3s 0.5s, opacity 0s 0.9s;}  
.sec3 .modal .cards {width: 490px; height: 80%; max-height: 745px; min-height: fit-content; border-radius: 35px; background: #060606; padding: 50px; position: relative; color: #fff; text-align: center; transform: translateY(calc(100% + (50vh - 50%))); animation: downAni 0.6s forwards; z-index: 2;}
.sec3 .modal .cards .close {width: 20px; height: 20px; position: absolute; top: 35px; right: 35px; }
.sec3 .modal .cards .close::before,
.sec3 .modal .cards .close::after {content:""; width: 1px; height: 26px; background: #fff; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%) rotate(45deg);}
.sec3 .modal .cards .close::after {transform: translate(-50%,-50%) rotate(-45deg);}
.sec3 .modal .cards .card-wrap {display: flex; flex-direction: column; height: 100%; justify-content: space-between; }
.sec3 .modal .cards .tit {font-family: var(--f-en); font-size: 37px; font-weight: 700; margin-top: 30px;}
.sec3 .modal .cards .icon {margin-bottom: 50px;}
.sec3 .modal .cards .text {font-size: 16px; word-break: auto-phrase; margin-bottom: 50px;}
.sec3 .modal .bg-txt {position: absolute; width: 100%;  left: 0; top: 50%; overflow: hidden;transform: translateY(-50%); }
.sec3 .modal .bg-txt .bg-wrap {display: flex; width: fit-content; transform: translateX(-100vw); transition: transform 0.5s, opacity 0.5s;  opacity: 0;}
.sec3 .modal .bg-txt span {flex-shrink: 0; color: var(--c-red); font-size: 240px; font-weight: 500; font-family: var(--f-en);}
.sec3 .modal .corner {position: absolute; font-family: var(--f-ro); font-weight: 700; font-size: 80px; left: 36px; bottom: 26px; color: #363636; white-space: nowrap; opacity: 0; transition-duration: 0.3s; transition-delay: 0.3s;}

@keyframes downAni {
    0% {transform: translateY(0);}
    100% {transform: translateY(calc(100% + (50vh - 50%)));}
}
@keyframes updown {
    0% {transform: translateY(calc(100% + (50vh - 50%)));}
    60% {transform: translateY(-15%);}
    100% {transform: translateY(0);}
}
.sec3 .modal.active {opacity: 1; width: 100%; pointer-events: auto; transition: width 0.3s 0s;}
.sec3 .modal.active .cards {animation: updown 0.9s 0.3s forwards; }
.sec3 .modal.active .bg-txt .bg-wrap {transform: translateX(0); transition: transform 0.9s 0.3s, opacity 0.4s 0.3s; opacity: 1;}
.sec3 .modal.active .corner {transition-delay: 0.3s; opacity: 1;}

@media (hover:hover) {
    .sec3 .busi-slide .swiper-slide .item:hover .bg {filter: grayscale(0);}
    .sec3 .busi-slide .swiper-slide .item:hover .bg::before {opacity: 0;}
    .sec3 .busi-slide .swiper-slide .item:hover .txt {opacity: 0;}
}

@media screen and (max-width:1280px){
    .sec3 .modal .cards .tit {font-size: 34px;}
    .sec3 .modal .corner {font-size: 70px;}
}
@media screen and (max-width:1024px){
    .sec3 .inner {height: unset;}
    .sec3 .busi-slide .swiper-slide .item {height: unset;}
    .sec3 .busi-slide .swiper-slide .item .bg {height: 400px;}
    .sec3 .busi-slide .swiper-slide .item .txt {font-size: 26px;}
    /* .sec3 .busi-slide .swiper-slide .item .icon {width: 120px;} */

    .sec3 .slide-util {bottom: 20px; font-size: 26px;}
    .sec3 .slide-util .pagination {font-size: 18px;}
    .sec3 .slide-util .pagination span {font-size: 24px;}

    .sec3 .modal .corner {font-size: 48px;}
    .sec3 .modal .bg-txt span {font-size: 160px;}
    .sec3 .modal .cards {padding: 40px; max-width: 490px; width: 90%;}
    .sec3 .modal .cards .tit {font-size: 24px;}
    .sec3 .modal .cards .icon {margin-bottom: 30px;}
    .sec3 .modal .cards .icon img {width: 100px;}
    .sec3 .modal .cards .text {font-size: 14px; margin-bottom: 20px;}
}
@media screen and (max-width:768px){
    .sec3 .modal .corner {font-size: 32px;}
}
@media screen and (max-width:480px){
    .sec3 .slide-util {position: static; width: fit-content; margin-left: auto; margin-top: 16px; font-size: 24px; }
    .sec3 .slide-util .pagination {font-size: 16px;}
    .sec3 .slide-util .pagination span {font-size: 20px;}

    /* .sec3 .busi-slide .swiper-slide .item .txt {font-size: 18px;} */

    .sec3 .modal .corner {font-size: 20px;}
    .sec3 .modal .bg-txt span {font-size: 80px;}
    .sec3 .modal .cards {width: 80%; padding: 40px 30px;}
    .sec3 .modal .cards .icon {margin-bottom: 10px;}
    .sec3 .modal .cards .icon img {width: 80px;}
    .sec3 .modal .cards .tit {font-size: 22px;}
}


.sec4 { padding: 150px 0; width: 100%; overflow: hidden;}
.sec4 .inner {}

.sec4 .text-box {margin: 75px; text-align: center; color: #E30613; font-size: 100px; font-weight: 700; font-family: var(--f-en);}

.sec4 .lines {width: 100%;}
.sec4 .lines .line-slide .swiper-wrapper {transition-timing-function: linear;}
.sec4 .lines .line-slide li {font-size: 0; border-radius: 18px; width: fit-content; width: auto; transition: background-color 0.3s;}
.sec4 .lines .line-slide li.no-slide {background: unset; box-shadow: none;}
.sec4 .lines .line-slide li:hover {background: #E30613; }
.sec4 .lines .line-slide a { display: block; }
.sec4 .lines .line-slide a span {width: 100%; padding-top: 50%; position: relative; display: block; overflow: hidden;}
.sec4 .lines .line-slide a span img {position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); max-width: 100%; max-height: 100%;}
@media screen and (max-width:1024px) {
    .sec4 {padding: 100px 0;}
    .sec4 .text-box {font-size: 50px; margin: 50px;}

}
@media screen and (max-width:768px){
    .sec4 {padding: 80px 0;}
    .sec4 .lines .line-slide li {border-radius: 12px;}
    .sec4 .text-box {font-size: 30px; }
}
@media screen and (max-width:768px){
    .sec4 {padding: 40px 0;}
    .sec4 .lines .line-slide li {border-radius: 8px;}
    .sec4 .text-box {margin: 40px 5px; font-size: 8vw;}
}


/* main footer */
.footer .act-contact {margin-top: 20px;}
.footer .act-contact .text-wrap {display: flex; font-size: min(19vw, 360px); overflow: hidden;}
.footer .act-contact .text-wrap .item {font-family: var(--f-en); letter-spacing: -0.07em; font-weight: 700; line-height: 1; color: var(--c-red); transition: transform 0.3s; transform-origin: 50% 85%; position: relative;}
.footer .act-contact .text-wrap .item::after {content:"";width: 102%; left: 5%; top: 50%; transform: translateY(-50%); aspect-ratio: 1/20; position: absolute; }
.footer .act-contact .text-wrap .item:hover {transform: scale(1,0.3);}

@media screen and (max-width:1280px) {
    .footer.main-foot .f-top .left ul {flex-wrap: wrap;}
    .footer.main-foot .f-top .left ul li:nth-child(1) {width: 100%;}
    .footer.main-foot .f-top .right {position: static;}
}
@media screen and (max-width:768px){
    .footer.main-foot {display: flex; flex-direction: column-reverse;}
    .footer .act-contact {margin-top: 0; margin-bottom: 40px;}
    .footer .f-top {flex-direction: column;}
    .footer.main-foot .f-top .right {margin-left: auto;}
}
