/* image_show_wrap 공통 */
section .image_show_wrap,
section .image_show_wrap2{
    position: relative;
    top: 0px;
    left: 0%;
    width: 100%;
}
section .image_show_wrap{overflow: hidden; animation-duration: 1.4s;}
section .image_show_wrap2{animation-duration: 1.4s;}

section .show_img01{animation-name: show_img01;}
@keyframes show_img01{
    0%{opacity: 0; transform: translate3d(-100%, 0, 0);}
}
section .show_img02{animation-name: show_img02;}
@keyframes show_img02{
    0%{opacity: 0; transform: translate3d(100%, 0, 0);}
}
section .show_img03{animation-name: show_img03;}
@keyframes show_img03{
    0%{opacity: 0; transform: translate3d(100%, 0, 0);}
}
section .show_img04{animation-name: show_img04;}
@keyframes show_img04{
    0%{opacity: 0; transform: translate3d(-100%, 0, 0);}
}
section .show_img05{animation-name: show_img05;}
@keyframes show_img05{
    0%{opacity: 0; transform: translate3d(0, 100%, 0);}
}
section .show_img06{animation-name: show_img06;}
@keyframes show_img06{
    0%{opacity: 0; transform: translate3d(0, -100%, 0);}
}
/* image_show_wrap 공통 */

/* image 확대 공통 */
.clip-animation {
    clip-path: polygon(50% 50%, 50% 50%, 50% 50%, 50% 50%);
    animation: clipExpand 1s cubic-bezier(0.770, 0.000, 0.175, 1.000) forwards;
}
@keyframes clipExpand {
    from {
        clip-path: polygon(50% 50%, 50% 50%, 50% 50%, 50% 50%);
    }
    to {
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    }
}
/* image 확대 공통 */

/* ------------------------------------- section ------------------------------------- */
/* Centered texts in each section
* --------------------------------------- */
.section{text-align:center;}
/* Backgrounds will cover all the section
* --------------------------------------- */
#section1,
#section2,
#section3,
#section4,
#section5{background-size: cover; background-attachment: fixed;}


/* Defining each sectino background and styles
* --------------------------------------- */
#section1{background-image: url(../img/section1/section1_bg.jpg);}
#section2{background-image: url(../img/section2/section2_bg.jpg);}
#section3{background-image: url(../img/section3/section3_bg.jpg);}
#section4{background-image: url(../img/section4/section4_bg.jpg);}


/* * --------------------------------------- * */
/* 네비게이션 점 기본 상태: 숨김 */
#fp-nav ul li a span,
.fp-slidesNav ul li a span {
    display: none;
}

/* 네비게이션 위치 */
#fp-nav.fp-right {
    right: 65px;
}

/* 툴팁 기본 스타일 (항상 표시) */
#fp-nav ul li {
    position: relative;  /* ::before의 기준점 */
}

#fp-nav ul li .fp-tooltip {
    font-size: 16px;
    opacity: 0.5;
    font-weight: 600;
    display: block;
    max-width: 220px;
    margin-right: 40px;
    cursor: pointer;
    overflow: visible;
    position: absolute;  /* 원래의 포지션 유지 */
}
/* .fp-tooltip.active-tooltip {color: #dd4926!important;}  액티브 색상*/


/* 가상 요소 (선) - 기본은 안 보이게 */
#fp-nav ul li::before {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: -75px;
    width: 0px;
    height: 2px;
    background-color: #fff;
    opacity: 0;
    transition: opacity 0.3s ease;
    transition: all .3s ease-in-out;
}
/* 활성화된 상태에서만 선 보이게 */
#fp-nav ul li.show-bar::before {
    opacity: 1;
    width:80px;
}

/* 활성화된 툴팁 강조 */
#fp-nav ul li.active .fp-tooltip {
    opacity: 1;
}

/* 네비게이션 점 위치 간격 */
#fp-nav ul li a,
.fp-slidesNav ul li a {
    margin: 30px 0;
}
/* * --------------------------------------- * */


/* header start */
header{position: fixed; width:100%; height:100px; min-width:1400px; z-index: 9999; top:0; left:0; transition: all .3s ease-in-out;}
header.on{background-color: rgba(0, 0, 0, 0.6);}
.fp-viewing-1 header,
.fp-viewing-2 header,
.fp-viewing-3 header,
.fp-viewing-4 header,
.fp-viewing-5 header,
.fp-viewing-6 header,
.fp-viewing-7 header{background-color: rgba(0, 0, 0, 0.6);}

/* header start */
header .logo h1{
    position: absolute;
    width:50px;
    height:50px;
    top:30px;
    left:0;
    transition:all .3s ease-in-out;
    background: url(../img/logo_w.png) 50% 50% no-repeat;
    background-size: 50px;
    z-index: 9999;
}
header .logo h1.on{
    position: absolute;
    width:50px;
    height:50px;
    top:30px;
    left:0;
    transition:all .3s ease-in-out;
    background: url(../img/logo.png) 50% 50% no-repeat;
    background-size: 50px;
    z-index: 9999;
}
.fp-viewing-1 header .logo h1,
.fp-viewing-2 header .logo h1,
.fp-viewing-3 header .logo h1,
.fp-viewing-4 header .logo h1,
.fp-viewing-5 header .logo h1,
.fp-viewing-6 header .logo h1,
.fp-viewing-7 header .logo h1{
    background: url(../img/logo.png) 50% 50% no-repeat;
    background-size: 50px;
}
header .logo h1 a{
    display: block;
    width:50px;
    height:50px;
}

header:hover{background-color: rgba(0, 0, 0, 0.6); transition: all .3s ease-in-out;}
header:hover .logo h1{background: url(../img/logo.png) 50% 50% no-repeat; background-size:50px; transition:all .3s ease-in-out;}
header:hover .menubtn_wrap ul li{background-color: #333;}

.pos{position: relative;}
.bar{
    width:0;
    height: 3px;
    background-color: #dd4926;
    position: absolute;
    left: 0;
    bottom: 10px;
}
nav{
    width:100%;
    max-width:1400px;
    min-width:1400px;
    margin:0 auto;
    z-index: 999;
    position: relative;
}
.gnb{
    display: flex;
    align-items: center;
    justify-content: end;
    gap:140px;
}
.gnb > li{transition: all .2s ease-in-out;}
.gnb > li > .gnb_wrap > a.on{color:#333;}

.gnb > li > .gnb_wrap > a{
    color:#fff;
    font-size:18px;
    height:100px;
    line-height: 100px;
    position: relative;
}
.gnb > li > .gnb_wrap > a::after{content:'';
    display:block;
    width:0;
    height:2px;
    position: absolute;
    bottom:-10px;
    left:50%;
    background-color: #dd4926;
    transform: translateX(-50%);
    transition: all .3s ease-in-out;
}

.gnb > li > .gnb_wrap{position: relative;}
.sub_menu{
    font-size:0;
    display:none;
    position: absolute;
    z-index:99;
    left:50%;
    transform: translateX(-50%);
    width:100%;
    width:160px;
}
.sub_menu li{transition: all .2s ease-in-out;}
.sub_menu a{
    font-size:16px;
    font-weight: 400;
    color: #464243 !important;
    line-height: 36px;
    display: block;
    position: relative;
    transition: all .2s ease-in-out;
    overflow: hidden;
    }
.sub_menu a::before{
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 130%;
    height: 200%;
    border-radius: 50%;
    transform: translate3d(-50%,-50%,0) scale3d(0,0,0);
    transition: opacity .4s cubic-bezier(.19,1,.22,1),transform .75s cubic-bezier(.19,1,.22,1);
    /* background-color: #bf0b2c; */
    background-color: #dd4926;
    opacity: 0;
    z-index: -1;
    transition: all .2s ease-in-out;
}
.sub_menu a:hover::before{
    opacity: 1;
    transition-duration: .85s;
    transition: all .2s ease-in-out;
    transform: translate3d(-50%,-50%,0) scale3d(1,1,1);
}
.sub_menu a:hover{color: #fff !important; transition: all .2s ease-in-out;}

/* header menu active */
header.active1 .gnb > li:nth-child(1) .gnb_wrap > a,
header.active2 .gnb > li:nth-child(2) .gnb_wrap > a,
header.active3 .gnb > li:nth-child(3) .gnb_wrap > a,
header.active4 .gnb > li:nth-child(4) .gnb_wrap > a,
header.active5 .gnb > li:nth-child(5) .gnb_wrap > a,
header.active6 .gnb > li:nth-child(6) .gnb_wrap > a{color: #dd4926;}

header.active1 .gnb > li:nth-child(1) > .gnb_wrap a::after,
header.active2 .gnb > li:nth-child(2) > .gnb_wrap a::after,
header.active3 .gnb > li:nth-child(3) > .gnb_wrap a::after,
header.active4 .gnb > li:nth-child(4) > .gnb_wrap a::after,
header.active5 .gnb > li:nth-child(5) > .gnb_wrap a::after,
header.active6 .gnb > li:nth-child(6) > .gnb_wrap a::after{width:100%;}
/* header end */





/* visual swiper start */
.main_visual{
    width:100%;
    min-width:1400px;
    height:100vh;
    position: relative;
}
.typo{
    position: absolute;
    top:50%;
    left:50%;
    transform: translate(-50%, -50%);
    width:1400px;
    z-index: 99;
    text-align: left;
}
.typo span{
    opacity: 0;
    display: block;
    color:#fff;
    text-align: left;
}
.typo span:first-child{
    font-size:32px;
    transition-delay:0s;
    font-weight: 800;
}
.typo span:last-child{
    font-size:60px;
    transition-delay:1s;
    font-weight: 600;
}
.typo span:first-child.show{
    opacity: 1;
    animation: bounceInLeft 1s .2s both;
}
.typo span:last-child.show{
    opacity: 1;
    animation: bounceInLeft 1s .4s both;
}

.main_visual .swiper {
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}
.main_visual .swiper .swiper-pagination span{
    margin:0 5px;
    width:60px;
    height:3px;
}
.main_visual .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    border:1px solid #fff;
    background: none;
    border-radius: 0;
    background-color: #fff;
}

.main_visual .swiper-pagination-bullet-active {
    opacity: 1;
    background: #fff;
}
.main_visual .swiper .swiper-pagination {
    position: absolute;
    text-align: center;
    -webkit-transition: .3s opacity;
    -o-transition: .3s opacity;
    transition: .3s opacity;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    z-index: 10;
    left:50%;
    bottom:150px;
    transform: translate(-50%, 100%);
}
.main_visual .swiper-button-prev,
.main_visual .swiper-container-rtl .swiper-button-next {
    left: 0px;
    bottom:0;
    right: auto;
    width:20px;
    color:#fff;
}
.main_visual .swiper-button-next,
.main_visual .swiper-container-rtl .swiper-button-prev {
    right: 0px;
    left: auto;
    width:20px;
    color:#fff;
}

.main_visual .swiper-button-prev:after, .swiper-rtl .swiper-button-next:after{font-size:30px;}
.main_visual .swiper-button-next:after, .swiper-rtl .swiper-button-prev:after{font-size:30px;}

.main_visual .swiper-button-next,
.main_visual .swiper-button-prev {
    position: absolute;
    top: 50%;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    margin-top: -22px;
    z-index: 10;
    cursor: pointer;
    background-size: 40px 60px;
    background-position: center;
    background-repeat: no-repeat;
    border:1px solid #fff;
    transition: all .3s ease-in-out;
}
.main_visual .swiper-button-next:hover{background-color: #dd4926; border-color: #dd4926;}
.main_visual .swiper-button-prev:hover{background-color: #dd4926; border-color: #dd4926;}

.main_visual .swiper-slide {
    width:100%;
    height:100%;
    text-align: center;
    font-size: 18px;
    background: #fff;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}
.main_visual .swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    z-index: 9;
}

.main_visual .swiper-slide ul{
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    position: absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    z-index: 10;
}

.main_visual .swiper-slide ul .intro_bg.active {
    width:20%;
    background: transparent;
    animation: intro_bg 1.5s cubic-bezier(0.770, 0.000, 0.175, 1.000) forwards;
    }
    @keyframes intro_bg {
    from {
        clip-path: inset(0 100% 0 0);
        background-color: rgba(0, 0, 0, 0.6);
    }
    to {
        clip-path: inset(0 0 0 0);
        background-color: rgba(0, 0, 0, 0);
    }
}

.main_visual .swiper_button{
    position: absolute;
    bottom: 140px;
    left: 50%;
    transform: translateX(-50%);
    width: 350px;
    z-index: 9;
}
/* main_visual swiper end */

/* button */
.button{
    position: absolute;
    bottom:300px;
    left:50%;
    transform: translateX(-50%);
    z-index: 999;
    width:190px;
}
.button .btn{
    position: relative;
    color: #fff;
    overflow: hidden;
    display: block;
    overflow: hidden;
    padding:15px 0px;
    text-align: center;
    text-transform: uppercase;
    border: 1px solid #fff;
}

.button .btn::before,
.button .btn::after {
    position: absolute;
    top: 50%;
    content: '';
    width: 20px;
    height: 20px;
    background-color: #fff;
    border-radius: 50%;
    transition: all 0.5s ease;
    z-index: -1;
}
.button .btn::before {
    left: -20px;
    transform: translate(-50%, -50%);
}
.button .btn::after {
    right: -20px;
    transform: translate(50%, -50%);
}
.button .btn:hover {
    color: #000;
}
.button .btn:hover::before {
    animation: criss-cross-left 0.8s both alternate;
}
.button .btn:hover::after {
    animation: criss-cross-right 0.8s both alternate;
}

@keyframes criss-cross-left {
    0% {
        left: -20px;
        width: 20px;
        height: 20px;
    }
    50% {
        left: 50%;
        width: 20px;
        height: 20px;
    }
    100% {
        left: 50%;
        width: 375px;
        height: 375px;
    }
}

@keyframes criss-cross-right {
    0% {
        right: -20px;
        width: 20px;
        height: 20px;
    }
    50% {
        right: 50%;
        width: 20px;
        height: 20px;
    }
    100% {
        right: 50%;
        width: 375px;
        height: 375px;
    }
}
/* button */
/* ------------------------------------- section ------------------------------------- */
/* section1 */
#section1{
    position: relative;
    overflow: hidden;
    background: #111;
}
#section1 .tit {
    position: relative; /* 기존 fixed → relative로 변경 */
    width:100%;
    z-index: 2;  /* 삭제시 mix-blend-mode: difference; */
}
#section1 .tit h1 {
    font-weight: 800;
    font-size: 64px;
    text-align: center;
    z-index: 999;
    mix-blend-mode: difference;
    position: relative;           /* ← 반드시 relative or absolute 필요 */
    z-index: 3;                   /* ← gallery 위에 위치 */
    color: #fff;
    /* text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 0 #fff; */
}
#section1 .tit span{
    display: block;
    color:#fff;
    margin-top:30px;
    font-size:24px;
    font-weight: 400;
    text-align: center;
    mix-blend-mode: difference;
    position: relative;           /* ← 반드시 relative or absolute 필요 */
    z-index: 3;                   /* ← gallery 위에 위치 */
}

#section1 .gallery {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 100%;
    z-index: 1;
    overflow: visible;
    display: flex;
}

@media (max-width: 768px) {
    #section1 .gallery {
        width: 160%;
    }
}

#section1 .col {
    display: flex;
    flex: 1;
    flex-direction: column;
    width: 100%;
    align-self: flex-start;
    justify-self: flex-start;
}

#section1 .col:nth-child(2) {
    align-self: flex-end;
    justify-self: flex-end;
}

#section1 .image {
    width: 100%;
    filter: grayscale(1) brightness(0.6) contrast(1.3);
    padding: 1rem;
}

#section1 .image:hover {
    z-index: 99999999999 !important;
    filter: saturate(1) grayscale(0) brightness(1);
}

#section1 img {
    transition: 0.3s ease-out;
    overflow: hidden;
    box-shadow: 0 2.8px 2.2px rgba(0, 0, 0, 0.034),
        0 6.7px 5.3px rgba(0, 0, 0, 0.048),
        0 12.5px 10px rgba(0, 0, 0, 0.06),
        0 22.3px 17.9px rgba(0, 0, 0, 0.072),
        0 41.8px 33.4px rgba(0, 0, 0, 0.086),
        0 100px 80px rgba(0, 0, 0, 0.12);
    width: 100%;
}
/* section1 */



/* section2 */
#section2{position: relative;}
#section2 .img{
    filter: grayscale(1) brightness(0.6) contrast(1.3);
    border-radius: 30px 0 30px 0;
    overflow: hidden;
    transition: all .3s ease-in-out;
}
#section2 .img:hover{filter: saturate(1) grayscale(0) brightness(1);}
#section2 .tit{
    transform: translateY(-40px);
    padding-left:60px;
}
#section2 .tit h2{
    font-size:82px;
    text-align: left;
    color: #fff;
    /* -webkit-text-stroke: 2px #fff; */
    font-family: 'GmarketSansBold';
}
#section2 .tit p{
    font-size:24px;
    color:#fff;
    text-align: left;
    font-weight: 200;
    line-height:40px;
}
#section2 .button{
    position: absolute;
    bottom: 65px;
    right: 0px;
    transform: translateX(260%);
    z-index: 999;
    width: 190px;
}
/* section2 */



/* section3 */
#section3 h2{
    font-size:32px;
    color:#fff;
    text-align: left;
}
#section3 ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap:10px;
    margin-top:30px;
}
#section3 ul li{
    width:24.4%;
}
#section3 ul li a{
    display: block;
    position: relative;
    overflow: hidden;
}
#section3 ul li:first-child a{border-radius: 30px 0 0 0;}
#section3 ul li:last-child a{border-radius: 0 0 30px 0;}
#section3 ul li a:after{
	display:block;
    content:"";
	width:100%;
    height:100%;
	background:rgba(0, 0, 0, 0.6);
	position:absolute;
    left:0;
    top:0;
    opacity:0;
	transition: all .3s ease-in-out;
}
#section3 ul li a .img{
    position: relative;
    width:100%;
    height:0;
    padding-top:100%;
    filter: grayscale(1) brightness(0.6) contrast(1.3);
    transition: all .3s ease-in-out;
}

#section3 ul li a .img img{
    position: absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    object-fit: cover;
    transition: all .3s ease-in-out;
}
#section3 ul li a .line{
	position:absolute;
    left:10px;
    bottom:20px;
    z-index:10;
	width:calc(100% - 20px);
    height:1px;
	background:rgba(255,255,255,0.5);
	transform-origin:left;
	transform:scaleX(0);
	transition: all .3s ease-in-out;
}
#section3 ul li .tit{
    position: absolute;
    left: 0;
    bottom: 40px;
    z-index: 10;
    box-sizing: border-box;
    width: 100%;
    opacity: 0;
    transform: translateY(40px);
    transition: all .3s ease-in-out;
}
#section3 ul li .tit p{
    padding: 0 10%;
    font-size: 24px;
    color: #fff;
    font-weight: 500;
    text-align: left;
}

/* #section3 ul li:hover a:after{opacity:1;} */
#section3 ul li:hover .img img{transform:scale(1.05);}
#section3 ul li:hover .img{filter: saturate(1) grayscale(0) brightness(1);}
#section3 ul li:hover .line{transform:scaleX(1);}
#section3 ul li:hover .tit{opacity:1;transform:translateY(0);}

#section3 .button{
    position: absolute;
    top: 0px;
    right: 0px;
    transform: translateX(265%);
    z-index: 999;
    width: 190px;
}
/* section3 */




.footer{
    padding:30px 0;
    background-color: #000;
    position: relative;
}
.footer .footer_top{
    display: flex;
    flex-wrap: nowrap;
    justify-content: start;
    gap:20px;
    padding: 0 0 20px 85px;
    margin-bottom:10px;
    position: relative;
}
.footer .footer_top::before{
    content: '';
    position: absolute;
    bottom:0;
    left:80px;
    width:1320px;
    height:1px;
    background-color: #ccc;
    opacity: .5;
}

.footer .footer_top a{
    display: block;
    font-size:14px;
    color:#fff;
    transition: all .3s ease-in-out;
}
.footer .footer_top a:hover{color:#dd4926;}


.footer ul{
    display: flex;
    flex-wrap: nowrap;
    justify-content: start;
    gap:40px;
}
.footer ul li .img{width:40px}
.footer ul li p{
    font-size:14px;
    color:#ccc;
    text-align: left;
    font-weight: 200;
}
.footer ul li p strong{
    font-size:14px;
    color:#fff;
    font-weight: 600;
}
.footer ul li span{
    display: block;
    font-size:13px;
    text-align: left;
    margin-top:10px;
    color:#fff;
}

.footer .sns{
    position: absolute;
    top:-15px;
    right:0;
    display: flex;
    flex-wrap: nowrap;
    gap:10px;
}
.footer .sns a{
    display: block;
    width:40px;
}
.footer .sns a img{transition: all .3s ease-in-out;}
.footer .sns a:hover img{transform: scale(1.1);}
/* ------------------------------------- section ------------------------------------- */
.scrollline{
    position: fixed;
    bottom: 65px;
    left:50%;
    z-index: 99999;
}
.scrollline span{
    display: block;
    width:2px;
    height:35px;
    background-color: rgba(255, 255, 255, 0.27);
    position: relative;
    overflow: hidden;
}
.scrollline span::before{
    position: absolute;
    content: '';
    width:20px;
    height:20px;
    background-color: #fff;
    top:-20px;
    left:50%;
    transform: translateX(-50%);
    animation: down 2s 1s infinite normal;
}
@keyframes down{
	0% {
		top: -100%;
	}
	100% {top: 100%;}
}

#scrollButton {
    position: fixed;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    cursor: pointer;
    color: #fff;
    padding: 10px 20px;
    border: none;
    z-index: 99999;
    background-color: transparent;
}


/* top_btn */
.topbtn{
    position: fixed;
    bottom:60px;
    right:60px;
    z-index:999;
    width:50px;
    height:50px;
    border-radius: 40px;
    background-color:  #dd4926;
    transition: all 1s ease;
    transition-delay:2s;
    display: none;
}
.topbtn.on{display: block;}

.topbtn img{
    position: absolute;
    top:50%;
    left:50%;
    transform: translate(-50%,-50%);
    width:30px;
}

.topbtn:hover{
    transition: all 0.5s ease;
    background-color: #151515;
}
/* top_btn */
