@charset "utf-8";
/* 기본설정 */
/* @import "default.css"; */
* { box-sizing: border-box;}

.swiper-wrapper {
    height: auto !important;
}
.tour_slide {
    position: relative;
}
.tour_slide img {
    width: 100%;
    /* height: 100%; */
    object-fit: cover;
}


/* section01 */
.section01.section { 
    padding: 0 13.3%;
    margin-bottom: 200px;
}

.section01 .tour-title {
    text-align: center;
    margin-bottom: 90px;
}
.section01 .tour-title h2 {
    font-family: 'pret-m';
}
.section01 .tour-title p {
    font-size: 20px;
    font-family: 'pret-r';
}
.section01 .cont {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5.73vw;
}
.section01 .cont .box {
    /* border: 1px solid #998d4e; */
    position: relative;
    overflow: hidden;
}
/* .section01 .cont .box::before {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    background: linear-gradient(0deg, transparent 119px, #2B2A28 120px, transparent 60%);

} */
 .box .gradient {
    position: absolute;
    top: 0; 
    left: 1px;
    width: calc(100% - 2px);
    height: 100%;
    pointer-events: none;
    z-index: 2;

   background: linear-gradient(180deg, transparent 54%, #69655D 18vw, transparent 37.5vw);
}
/* 공통 */
.section01 .cont .box::before,
.section01 .cont .box::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

/* 위 + 왼쪽 */
.section01 .cont .box::before {
    top: 0;
    left: 0;
    width: calc(100% - 1px);   /* ⭐ 오른쪽 모서리 겹침 방지 */
    height: calc(100% - 1px);  /* ⭐ 아래쪽 모서리 겹침 방지 */

    border-top: 1px solid var(--main-orange);
    border-left: 1px solid var(--main-orange);

    transform-origin: top left;
    transform: scaleX(0) scaleY(0);
    transition: transform 1s ease-in-out;
}

/* 아래 + 오른쪽 */
.section01 .cont .box::after {
    bottom: 0;
    right: 0;
    width: calc(100% - 1px);   /* ⭐ 왼쪽 모서리 겹침 방지 */
    height: calc(100% - 1px);  /* ⭐ 위쪽 모서리 겹침 방지 */

    border-bottom: 1px solid var(--main-orange);
    border-right: 1px solid var(--main-orange);

    transform-origin: bottom right;
    transform: scaleX(0) scaleY(0);
    transition: transform 1s ease-in-out;
}

/* 활성화 시 */
.section01 .cont .box.active::before,
.section01 .cont .box.active::after {
    transform: scaleX(1) scaleY(1);
}


.section01 .cont .box:hover img {
    filter: none;
}
.section01 .cont .text {
    padding: 30px 40px;
    position: relative;
    z-index: 3;
}
.section01 .cont .text h2 {
    font-size: 25px;
    letter-spacing: 0.25px;
    line-height: 2;
    font-family: 'pret-m';
}
.section01 .cont .text p {
    font-size: 15px;
    line-height: 1.666;
    margin-left: 2px;
}
.section01 .cont .reser-btn {
    margin: 10px auto 0;
}
.section01 .cont .text .ref {
    position: absolute;
    top: 20px;
    right: 30px;
    opacity: 0.5;
    font-size: 13px;
    letter-spacing: 0.13px;
}
@media(max-width:1024px){
    .box .gradient { background: linear-gradient(180deg, transparent 41%, #69655D 18.5vw, transparent 18.5vw); }
    /* .section01 .cont .box::before {background: linear-gradient(0deg, transparent 110px, #2B2A28 111px, transparent 60%); } */
    .section01 .cont .text { padding: 15px;}
    .section01 .cont .text h2 {
        font-size: 20px;
        letter-spacing: 0.2px;
        line-height: 34px;
    }
    .section01 .cont .reser-btn { font-size: 13px;}
    .section01 .cont .text .ref {
        top: 10px;
        right: 20px;
        font-size: 11px;
        letter-spacing: 0.11px;
    }
}
@media(max-width:768px){
   .section01.section { 
        padding: 0 6.25%;
        margin-bottom: 100px;
    } 
    .section01 .tour-title {
        margin-bottom: 30px;
    }
    .section01 .tour-title p {
        font-size: 15px;
    }
    .section01 .cont { 
        grid-template-columns: 1fr;
        gap: 50px;
    }
    .section01 .cont .text p {
        font-size: 12px;
    }
   .box .gradient { background: linear-gradient(180deg, transparent 36%, #69655D 48vw, transparent 48vw); }
   /* .section01 .cont .box::before {background: linear-gradient(0deg, transparent 106px, #2B2A28 107px, transparent 60%); } */
}
@media(max-width:500px){
    .tour_slide img{
        height: auto;
    }
    
    .section01 .cont .text p {
        font-size: 12px;
        letter-spacing: 0.12px;
    }
    .section01 .cont .text .ref {
        top: 18px;
    }
}





