/* ===== FRONT 단의 기본 CSS ===== */
.mo {display: none;}
.pc {display:block;}
/* ===== SLIDER ===== */
article {width : 100%; position: relative;}
.container {
    max-width: 1230px; min-width: 900px; width: 90%;
    margin: 0 auto;
    letter-spacing: -0.02rem;
}

.con01 {background: #fff; margin-top: 60px;}

/*CON01*/
.main01 {
    margin: 0 auto;
    max-width: 1400px; min-width: 980px;
    border-radius: 15px; -webkit-border-radius: 15px; -moz-border-radius: 15px; -ms-border-radius: 15px; -o-border-radius: 15px;
    background: linear-gradient(180deg, #3B3B3B 0%, #000000 100%);
    overflow: hidden;
}
.main01 .container {
    padding-top: 24px;
    color: #fff; 
    display: flex; align-items: center; justify-content: space-between;
}
.main01 .container .left {width: 60%}
.main01 .container .right {width: calc(45% - 71px)}
.main01 .container .right img {display: block; width: 100%;}
.main01 h1 {font-size: 45px; font-weight: 900; word-break: keep-all;}
.main01 h1 > b {color: #FFAB53}
.main01 p {font-size: 16px; line-height: 1.45; margin: 15px 0 40px; font-weight: 600;}
.store_btn {display: flex; align-items: center; justify-content: flex-start; column-gap: 17.71px;}
.store_btn > a  {
    display: block;
    width: 203.69px;
    padding: 13px 0 14px ;
    background-color: rgba(255,255,255,0.2);
    text-align: center; font-size: 16px; font-family: "SUITE"; font-weight: 600; color: #fff;
    border-radius: 40px; -webkit-border-radius: 40px; -moz-border-radius: 40px; -ms-border-radius: 40px; -o-border-radius: 40px;
}
.store_btn .google {padding-left: 31px; position: relative;}
.store_btn .google::before {
    content: "";
    width: 21px; height: 27px;
    background: url(/img/index/google.svg) center / 100% no-repeat;
    position: absolute; top: 50%; left: 0;
    transform: translateY(-50%); -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -o-transform: translateY(-50%);
}
.store_btn .apple {padding-left: 26px; position: relative;}
.store_btn .apple::before {
    content: "";
    width: 20px; height: 28px;
    background: url(/img/index/apple.svg) center / 100% no-repeat;
    position: absolute; top: 50%; left: 0;
    transform: translateY(-50%); -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -o-transform: translateY(-50%);
}



/*CON02*/
.con02 {padding: 120px 0 100px; text-align: center;}
.con02 h2 {font-size: 40px; font-weight: 700; line-height: 1.36; color:#3B3B3B }
.con02 h2 > b {color: #E57703}
.con02 .con02_point {
    margin: 80px auto 60px; padding: 22px 0 18px;
    width: 74.4%; min-width: 900px;
    text-align: center; color:#fff; font-family: 'Waguri'; line-height: 1.48; font-size: 25px; font-weight: 400;
    background-color: #E57703;  box-shadow: 0px 0px 9.3px 2px #00000008 inset;
    border-radius: 276px; -webkit-border-radius: 276px; -moz-border-radius: 276px; -ms-border-radius: 276px; -o-border-radius: 276px; border : 1px solid #E5E5E5;
}
.con02 .con02_info {font-size: 20px; font-weight: 400; line-height: 1.46; color: #525252}
.con02 h4 {
    margin: 40px 0 70px;
    font-weight: 700;font-size: 26px; line-height: 145%; text-align: center; color: #3B3B3B;
}
.effect {
    width: 74.4%; min-width: 900px; 
    margin: 0 auto;
    display: flex; align-items: stretch; justify-content: space-between; flex-wrap: wrap;
    row-gap: 12px; column-gap: 10px;
}
.effect > li {
     position: relative;
     width: calc(50% - 5px);
     padding: 3px;
     border-radius: 20px; -webkit-border-radius: 20px; -moz-border-radius: 20px; -ms-border-radius: 20px; -o-border-radius: 20px; border: 1px solid #E5E5E5;
     box-shadow: 8px 4px 25.6px -1px #F6F6F6; background-color: #fff;
     text-align: left; line-height: 1.45;
     cursor: pointer;
     transition: background-color 0.1s ease; -webkit-transition: background-color 0.1s ease; -moz-transition: background-color 0.1s ease; -ms-transition: background-color 0.1s ease; -o-transition: background-color 0.1s ease;
}
.effect > li:hover {
    background-color: #F07B00;
    border: 1px solid #F07B00;
 
}
.effect .effect_box {
    width: 100%; height: 100%;
    padding: 26px 26px 125px;
    background-color: #fff;
    border-radius: 16px; -webkit-border-radius: 16px; -moz-border-radius: 16px; -ms-border-radius: 16px; -o-border-radius: 16px;
} 

.effect .effect_box > h6 {font-size: 26px; color: #3B3B3B; margin-bottom: 12px; font-weight: 500;}
.effect .effect_box > p {font-size: 16px; color: #A99B92; font-weight: 600;}
.effect > li .effect_box::after {
    content: "";
    position: absolute;  bottom: 30px; right:25px;
    width: 91px; height: 91px;
    
}
.effect > li:nth-child(1) .effect_box::after {background:url(/img/index/con02_01.png) center / 100% no-repeat}
.effect > li:nth-child(2) .effect_box::after {background:url(/img/index/con02_02.png) center / 100% no-repeat}
.effect > li:nth-child(3) .effect_box::after {background:url(/img/index/con02_03.png) center / 100% no-repeat}
.effect > li:nth-child(4) .effect_box::after {background:url(/img/index/con02_04.png) center / 100% no-repeat}

/*CON03*/
.con03 {background: #F5F5F5; padding-top: 62.69px;}
.slide_wrap {display: flex; align-items: stretch; justify-content: center; column-gap: 35px;}
.menu_wrap {width: calc(50% - 285px); padding-top:57px}
.service_wrap {width: 500px; }
.service_wrap .serv_title {height: 250px;}
.service_wrap .service {text-align: center; line-height: 1.45; letter-spacing: -0.02em; background-color: #F5F5F5;}
.service_wrap .service .textbox {
    width: 100%; height: 100%;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
}
.service_wrap .service .textbox > h6 {font-weight: 700; color: #000; font-size: 35px;}
.service_wrap .service .textbox > p {margin: 12px 0 44px; color: #525252; font-size: 20px; font-weight: 400;}
.view_wrap {
    width: 330px; height: 528.92px; opacity: 1;
    border-top-left-radius: 25px; border-top-right-radius: 25px; border-width: 1px;
    overflow: hidden;
}
.view_wrap img {width:100%}
.menu_wrap {position: relative;}
.custom-pagination {
    position: relative;
    max-width: 270px;
}
.page {
    display: block;
    position: relative;
    width: 100%; height: 46px;
    padding: 11px 20px 12px 19px;    
    background-color: initial; 
    opacity: 1;
}
.page::after {
  content: "";
  position: absolute; left: 0; bottom: 0;
  /*선두께*/width: 100%; height: 100%;
  background-color: #fff;
  border-radius: 32px; -webkit-border-radius: 32px; -moz-border-radius: 32px; -ms-border-radius: 32px; -o-border-radius: 32px;
  /*[핵심애니메이션설정]*/transform: scaleX(0);
  /*처음엔가로크기0(안보임)*/transform-origin: center;
  /*★기준점을'가운데'로설정★*/transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1);
   /* 부드러운 텐션감 */transform: scaleX(0);-webkit-transform: scaleX(0);-moz-transform: scaleX(0);-ms-transform: scaleX(0);-o-transform: scaleX(0);
}
.page > p { 
    position: absolute; top: 50%; left: 19px; 
    transform: translateY(-50%); -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -ms-transform: translateY(-50%); -o-transform: translateY(-50%); 
    font-size: 18px; font-weight: 600; letter-spacing: -0.04rem; color: #6E6E6E; text-align: left; opacity: 1;
}
.page.swiper-pagination-bullet-active > p { 
    font-weight: 800; color: #E57703;
    z-index: 1;
}

.page.swiper-pagination-bullet-active::after {transform: scaleX(1); /* 가운데를 기준으로 양옆으로 100%까지 늘어남 */}




/*CON04*/
.con04 {    
    background: linear-gradient(233.8deg, #FFC953 9.32%, #F2912B 75.21%, #E57703 113.93%);
    padding-top: 133.4px;
     overflow: hidden;
}
.con04 h3 { font-weight: 700; font-size: 35px;line-height: 145%;text-align: center; color: #784A48;}
.con04 h3 > b {color: #000000}
.con04 .tag_wrap {margin: 85.54px auto 111.6px; width: 715px}
.con04 .tag_wrap > span {
    display: inline-block;
    letter-spacing: -0.02em; line-height: 1.45; color: #552A2A; font-size: 20px; font-weight: 700; 
}
.con04 .tag_wrap .tag1 {
    padding: 16.5px 56.8px; 
    border: 1px solid #E5E5E5; 
    background: #FFFFFFA3; backdrop-filter: blur(4px);
    border-top-left-radius: 37px; border-top-right-radius: 37px; border-bottom-right-radius: 6px; border-bottom-left-radius: 37px;
}
.con04 .tag_wrap .tag2 {
    float: right; margin-top: -10px;
    padding: 16.48px 48px; 
    border: 1px solid #E5E5E5;
    background: #FFFFFF75; backdrop-filter: blur(8.6px);
    border-top-left-radius: 37px; border-top-right-radius: 37px; border-bottom-right-radius: 37px; border-bottom-left-radius: 6px;
} 
.con04 .con04_info {font-weight: 400; font-size: 20px; line-height: 146%; letter-spacing: -0.02rem; text-align: center; color: #552A2A}
.con04 .phone {display: block; margin: 0 auto;}
.con04 .questions {
    width: 100%; max-width: 1230px; min-width: 900px;
    position: absolute; bottom: 99.86px; left: 50%;
    transform: translateX(-50%); -webkit-transform: translateX(-50%); -moz-transform: translateX(-50%); -ms-transform: translateX(-50%); -o-transform: translateX(-50%);
    display: flex; align-items: stretch; justify-content: center; column-gap: 10px;
}
.con04 .questions > li { 
    padding: 25px 30px 30px;
    width: calc(25% - 8px); 
    border-radius: 20px; -webkit-border-radius: 20px; -moz-border-radius: 20px; -ms-border-radius: 20px; -o-border-radius: 20px; border: 1px solid #EDD5D5;
    background: #FFFFFFCC;  backdrop-filter: blur(20px);
    line-height: 1.45; letter-spacing: -0.02rem;
}
.con04 .questions > li > h5 {font-weight: 700; font-size: 20px; color:#7B4A4A}
.con04 .questions > li > p {margin-top: 10px; font-size: 16px; font-weight: 600; color:#7B4A4A; }
.con04 .questions .tel {
    display: flex; align-items: flex-start; justify-content: center; flex-direction: column;
    background: #fff; backdrop-filter: initial;
    border: 1px solid #FF9A30;
}
.con04 .questions .tel .tel_title {font-weight: 700; font-size: 20px; color:#3C0000;}
.con04 .questions .tel .tel_num {font-weight: 700; font-size: 45px; color:#E57703;}


/* === 애니메이션 공통 클래스 === */
.animate-target {
    /*처음에안보임*/opacity: 0;
    /*아래로40px내려가있음*/transform: translateY(40px); -webkit-transform: translateY(40px); -moz-transform: translateY(40px); -ms-transform: translateY(40px); -o-transform: translateY(40px);
    /*0.8초동안부드럽게변화*/transition: all 0.8s ease-out; -webkit-transition: all 0.8s ease-out; -moz-transition: all 0.8s ease-out; -ms-transition: all 0.8s ease-out; -o-transition: all 0.8s ease-out;
}

.animate-target.animate-target2 {
    /*처음에안보임*/opacity: 0;
    /*아래로40px내려가있음*/transform: translate(-40px, 0); -webkit-transform:translate(-40px, 0); -moz-transform:translate(-40px, 0); -ms-transform:translate(-40px, 0); -o-transform:translate(-40px, 0);
    /*0.8초동안부드럽게변화*/transition: all 0.8s ease-out; -webkit-transition: all 0.8s ease-out; -moz-transition: all 0.8s ease-out; -ms-transition: all 0.8s ease-out; -o-transition: all 0.8s ease-out;
}

.animate-target.animate-target3 {
    /*처음에안보임*/opacity: 0;
    /*아래로40px내려가있음*/transform: translate(40px, 0); -webkit-transform: translate(40px, 0); -moz-transform: translate(40px, 0); -ms-transform: translate(40px, 0); -o-transform: translate(40px, 0);
    /*0.8초동안부드럽게변화*/transition: all 0.8s ease-out; -webkit-transition: all 0.8s ease-out; -moz-transition: all 0.8s ease-out; -ms-transition: all 0.8s ease-out; -o-transition: all 0.8s ease-out;
}

/* 이 클래스가 붙으면 원래 위치로 올라오며 나타남 */
.animate-target.active {
    opacity: 1;
    transform: translateY(0);
}
.animate-target.animate-target2.active
.animate-target.animate-target3.active {
    opacity: 1;
    transform: translateX(0); -webkit-transform: translateX(0); -moz-transform: translateX(0); -ms-transform: translateX(0); -o-transform: translateX(0);
}


@media (max-width: 800px) {
    .mo {display: block;}
    .pc {display: none;}
    .container {width: 100%; max-width: initial; min-width: initial}


    /*CON01*/
    .con01 {padding: 0 10px;}
    .main01 {
        margin-top: 70px;
        min-width: initial; max-width: initial;
    }
    .main01 .container {
        display: block;
        padding: 59px 20px 0;
    }
    .main01 .container .left {width: 100%;}
    .main01 h1 {font-size: 30px;}
    .main01 p {
        font-size: 16px; word-break: keep-all;
        margin: 20px 0 30px;
    }
    .store_btn {column-gap: 12.63px;}
    .store_btn > a {
        width:150px;
        font-size: 12px;
    }
    .store_btn .google {padding-left: 20px;}
    .store_btn .google::before {width: 16px; height: 20px;}
    .store_btn .apple {padding-left: 20px;}
    .store_btn .apple::before {width: 16px; height: 20px;}
    .main01 .container .right {
        width: 100%; margin: 10px auto 0;
    }



    /*CON02*/
    .con02 {padding: 110px 10px 100px;}
    .con02 h2 {font-size: 23px;}
    .con02 .con02_point {
        margin: 35px auto 53px; padding: 8px 0 6px;
        width: 100%; min-width: initial;
        font-size: 18px;
    }
    .con02 .con02_info {font-size: 16px;}
    .con02 h4 {
        margin: 52px 0 49px;
        font-size: 23px;
    }
    .effect {
        width: 100%; min-width: initial;
        row-gap: 10px;column-gap: 10px;
    }
    .effect > li {
        padding: 2px;
        border-radius: 10px; -webkit-border-radius: 10px; -moz-border-radius: 10px; -ms-border-radius: 10px; -o-border-radius: 10px;
        word-break: keep-all;
    }
    .effect .effect_box {
        padding: 40px 6px 61px;
        border-radius: 6px;
        -webkit-border-radius: 6px;
        -moz-border-radius: 6px;
        -ms-border-radius: 6px;
        -o-border-radius: 6px;
}
    .effect > li .effect_box::after {
        right: 11.25px; bottom:20px;
        width: 40px; height: 41.83px;
    }
    .effect .effect_box > h6 {
        font-size: 20px;
        margin-bottom: 20px;
    }
    .effect .effect_box > p {font-size: 13px;}



    /*CON03*/
    .con03 {padding-top: 60px; overflow: hidden;}
    .con03 .container {flex-direction: column;} 
    .menu_wrap {width: 95%; padding-top: initial; margin: 0 auto;}
    .custom-pagination {
        max-width: initial;
        display: flex; align-items: center; justify-content: center; column-gap: 20px;
    }
    .swiper-pagination-bullets.swiper-pagination-horizontal {bottom: inherit;}
    .page {
        padding: 0; 
        height: 25px; width: 5px;
        display: inline-block;
    }
    .page::after {
        width: 25px; height: 25px;
        top: 50%; left: 50%;
        transform:translate(-50%,-50%) scaleX(1); -webkit-transform:translate(-50%,-50%) scaleX(1); -moz-transform:translate(-50%,-50%) scaleX(1); -ms-transform:translate(-50%,-50%) scaleX(1); -o-transform:translate(-50%,-50%) scaleX(1);
    }
    .page > p {
        display: none;
        position: relative; top: 5px; left: initial;
        font-size: 13px;
        transform: inherit   ; -webkit-transform: inherit   ; -moz-transform: inherit   ; -ms-transform: inherit   ; -o-transform: inherit   ;
    }
    .page.swiper-pagination-bullet-active {width: auto;}
    .page.swiper-pagination-bullet-active > p {display: block;}
    .page.swiper-pagination-bullet-active::after {
        padding: 0 10px;
        height: 25px; width: 100%;
        transform:translate(-50%,-50%) scaleX(1); -webkit-transform:translate(-50%,-50%) scaleX(1); -moz-transform:translate(-50%,-50%) scaleX(1); -ms-transform:translate(-50%,-50%) scaleX(1); -o-transform:translate(-50%,-50%) scaleX(1);
    }
    .service_wrap {width: calc(100% - 20px); margin: 49px auto 0;}
    .service_wrap .service .textbox > h6 {font-size: 23px;}
    .service_wrap .service .textbox > p {
        margin: 35px auto 50px;
        font-size: 16px;
    }
    .view_wrap {width: 75%; max-width: 330px; height: 430px;}


    /*CON04*/
    .con04 {padding-top: 70px;}
    .con04 h3 { font-weight: 500; font-size: 23px;color: #3B3B3B;}
    .con04 h3 > b {font-weight: 700;}
    .con04 .tag_wrap {
        margin: 30px auto 85.36px;
        width: 339px;
    }
    .con04 .tag_wrap > span {font-size: 16px;}
    .con04 .tag_wrap .tag1 {
        width: 312px;
        padding: 12.55px 0;
        text-align: center;
    }
    .con04 .tag_wrap .tag2 {
        text-align: center;
        width: 321.47px;
        margin-top: 8px;
        padding: 12.45px 0;
    }
    .con04 .con04_info {
        font-size: 16px;
        color: #525252;
    }
    .con04 .phone {margin: 215px auto 0; width: 50%;}
    .con04 .questions {
        bottom: 48px;
        width: calc(100% - 20px); max-width: initial; min-width: initial;
        flex-wrap: wrap; row-gap: 10px;
        word-break: keep-all;
    }
    .con04 .questions > li {
        padding: 25px 14px 22px 17px;
        width: calc(50% - 5px);
    }    
    .con04 .questions > li > h5 {font-size: 18px;color: #3C0000; }
    .con04 .questions > li > p {
        margin-top: 7px;
        font-size: 13px;
    }
    .con04 .questions .tel .tel_title {font-size: 18px;}
    .con04 .questions .tel .tel_num {font-size: 34px;}
}
@media (min-width: 450px) and (max-width: 800px){
    .con04 .phone {margin: 140px auto 0;}
}



@media (max-width: 380px) {
    .con02 .con02_point { font-size: 4.6vw; }
    .effect .effect_box > h6 {font-size: 5.15vw;}
    .effect .effect_box > p {font-size: 3.34vw;}


    .page.swiper-pagination-bullet-active > p {font-size: 3.1vw;}
    .service_wrap .service .textbox > h6 {font-size: 5.9vw;}
    .service_wrap .service .textbox > p {font-size: 4.1vw;}


    .con04 .tag_wrap {width: 309px;}
    .con04 .tag_wrap > span {font-size: 16px;}
    .con04 .tag_wrap .tag1 {
        width: 292px;
        padding: 12.55px 0;
        text-align: center;
    }
    .con04 .tag_wrap .tag2 {
        text-align: center;
        width: 301.47px;
        margin-top: 8px;
        padding: 12.45px 0;
    }
    .con04 .questions > li > h5 {font-size: 4.6vw;}
    .con04 .questions > li > p {font-size: 3.33vw;}
}