* { margin: 0; padding: 0; font-family: var(--font-R); color: #222;} 
html {scroll-behavior: smooth; font-size: 16px;}

.inner {width: 100%;max-width: 1400px;margin: 0 auto;}
.sub_title {text-align: center}
.sub_title.left {text-align: left}
.sub_title .s_text {color: var(--main-color); font-family: 'pre_B'; margin: 0 0 20px 0; display: block;}
.sub_title h3 {font-size: 2rem; font-family: 'pre_B'; line-height: 1.4;}
.sub_title h3 span {font-family: 'pre_L'; display: block;}
.sub_title h4 {}
.sub_title h4 span {}
.pd_120 {padding: 120px 0;}
.mo_txt {display: none;}

.fade_up {opacity: 0; transform: translateY(20px);  }
.fade_up.show {animation: fadeUp 0.5s ease-out forwards;}
@keyframes fadeUp {
    to {opacity: 1;transform: translateY(0);}
}

.slide_down {  opacity: 0; transform: translateY(-140px);}
.slide_down.show { animation: slideDown 0.5s ease-out forwards;}
@keyframes slideDown {
    to {opacity: 1;transform: translateY(0);}
}

.fade_in {opacity: 0;}
.fade_in.show {animation: fadeIn 1s ease-out forwards;}
@keyframes fadeIn {
    to {opacity: 1;}
}

.pop_in { opacity: 0;transform: scale(0.5);}
.pop_in.show {animation: popIn 0.6s ease-out forwards;}
@keyframes popIn {
    80% {opacity: 1;transform: scale(1.05);}
    100% {opacity: 1; transform: scale(1);}
}


#header { padding: 50px 0 20px 0;}
#header.fixed {
    position: fixed;  background: rgba(255, 255, 255, 0.8); backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); border-bottom: 1px solid #e7e7e7; width: 100%;
    top:0; left: 0; padding: 0; z-index: 5;
}
#header.fixed .inner {padding: 20px 0;}
#header.fixed .menu {top: 28px}
#header .logo img {width: 130px;}
#header .inner { display: flex; align-items: center;  justify-content: space-between;  position: relative;}
#header .menu {display: flex;gap: 30px;position: absolute;top: 7px;left: 50%;transform: translateX(-50%);}
#header .menu li a { color: #555;  font-family: 'pre_M';}
#header .menu li a:hover {color: #000;}
#header .inqu {  display: flex; align-items: center; justify-content: center; background: var(--main-color); color: #fff; width: 80px; height: 37px;
    font-size: 0.9rem;  border-radius: 8px;}


#visual { background: linear-gradient(0deg,rgba(233, 247, 255, 1) 0%, rgba(255, 255, 255, 1) 100%); }
#visual .text { text-align: center; margin: 120px 0 0 0px; }
#visual .text h2 { font-size: 2.6rem; font-family: 'pre_B'; line-height: 1.4; margin: 0 0 20px 0; }
#visual .text p { color: #777; font-size: 1.2rem; }
#visual .btn_wrap { margin: 30px 0 0 0; display: flex; align-items: center; justify-content: center; gap: 20px; }
#visual .btn_wrap a { display: flex; align-items: center; justify-content: center; gap: 12px; }
#visual .btn_wrap a:nth-of-type(1) { background: var(--main-color); color: #fff; display: flex; align-items: center; justify-content: center; width: 110px; height: 42px; border-radius: 30px; }
#visual .btn_wrap a:nth-of-type(2) { color: var(--main-color); font-family: 'pre_M'; }
#visual .btn_wrap a img { width: 13px; }
#visual .image_wrap { position: relative; }
#visual .image_wrap img { position: absolute; }
#visual .image_wrap .back {position: inherit; width: 61%; margin: 40px auto 0; }
#visual .image_wrap .icon {left: 17.1%;width: 68%;top: 10%;}
#visual .image_wrap .photo_1 { width: 32%; top: 40%; left: 35%; }
#visual .image_wrap .photo_2 { top: 33%; left: 32%; box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px; width: 11%; }
#visual .image_wrap .bubble_1 { width: 17%; bottom: 22%; left: 25%; }
#visual .image_wrap .bubble_2 { width: 17%; top: 49%; right: 23%; }


#customer { overflow: hidden; position: relative; }
#customer .inner { display: flex; justify-content: space-between; }
#customer .left { padding: 50px 0; }
#customer .right { display: flex; gap: 80px; overflow: hidden; position: relative;}
#customer .right > div[class^="box_"] { position: relative; width: 170px; height: 520px; overflow: hidden; }
/* 트랙: 자식 전부 img, gap은 트랙에만(경계 포함) */
#customer .right > div[class^="box_"] .track{
    display: flex;
    flex-direction: column;
    gap: var(--gap, 72px);
    will-change: transform;
    transform: translateZ(0);
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}
/* 방향별 애니메이션: -1세트에서 시작해서 정확히 1세트만 이동 */
#customer .right .box_1 .track,
#customer .right .box_3 .track { animation-name: rollDown; animation-duration: 28s; }
#customer .right .box_2 .track { animation-name: rollUp;   animation-duration: 28s; }
/* 위로: -1×세트높이 → -2×세트높이 */
@keyframes rollUp {
  from { transform: translateY(calc(var(--gHpx) * -1)); }
  to   { transform: translateY(calc(var(--gHpx) * -2)); }
}
/* 아래로: -1×세트높이 → 0 */
@keyframes rollDown {
  from { transform: translateY(calc(var(--gHpx) * -1)); }
    to   { transform: translateY(0); }
}
#customer .right img{ width:100%; height:auto; display:block; opacity:.95; }
#customer .right .gra {position: absolute; width: 100%; height:150px; z-index: 2;}
#customer .right .gra_top {top: 0; left: 0; background: linear-gradient(0deg,rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 80%);}
#customer .right .gra_bottom {bottom:0; left: 0; background: linear-gradient(180deg,rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 80%);}




#custom {background-color: var(--back-color);}
#custom .tag_wrap { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 30px 0 100px 0; }
#custom .tag_wrap span { color: var(--main-color); background: #DBE6FF; padding: 6px 10px; border-radius: 8px; font-size: 0.9rem; }
#custom .box_wrap { display: flex; width: max-content; gap: 40px; justify-content: center; margin: 0 auto; }
#custom .box_wrap .box .image_wrap { border: 10px solid #fff; border-radius: 20px; box-shadow: rgba(17, 12, 46, 0.15) 0px 48px 100px 0px; margin: 0 0 40px 0; }
#custom .box_wrap .box .title { font-family: 'pre_B'; font-size: 1.1rem; margin: 0 0 20px 0; }
#custom .last { text-align: center; color: #777; margin: 100px 0 0 0;}


#crm {width: 100%; overflow: hidden}
#crm .inner { background: linear-gradient(180deg,rgba(233, 247, 255, 1) 0%, rgba(255, 255, 255, 1) 100%); border-radius: 100px; padding: 101px 0 0 0; }
#crm .image_wrap { margin: 50px 0 0 0; position: relative;}
#crm .image_wrap img.pc {width: 60%; border-radius: 20px; border: 5px solid #222; z-index: 2; margin: 0 auto}
#crm .image_wrap img.bubble {position: absolute;  z-index: 3; right: 8%; top: 35%; width: 32%; }
#crm .image_wrap img.icon {position: absolute;   width: 15%; left: 10%; z-index: 3; top: 15%; }
#crm .image_wrap img.block { width: 64%; margin: 0 auto}


#phone .inner { background: var(--back-color); border-radius: 60px; padding: 70px 70px 0 70px; display: flex; justify-content: center; }
#phone .left img { width: 80%; }
#phone .right { display: flex; justify-content: center; flex-direction: column; }
#phone .right .sub_title h4 { margin: 30px 0 0 0; }
#phone .right .sub_title h4 span { font-family: 'pre_B'; }
#phone .right img { width: 75%; margin: 50px 0 0 0; }


#case img.top { margin: 80px auto; width: 100%; max-width: 990px; }
#case .tab { text-align: center; }
#case .tab > p { color: #777; font-family: pre_M; }
#case .btn_wrap { display: flex; justify-content: center; width: max-content; margin: 20px auto 50px; gap: 10px; padding: 13px; background: #F7F7F7; border-radius: 10px; }
#case .btn_wrap div { background: #fff; padding: 14px 34px; border-radius: 7px; color: #929292; font-size: 1.1rem; font-family: 'pre_M'; cursor: pointer; }
#case .btn_wrap div.on { background: #DBE6FF; color: var(--main-color); font-family: 'pre_B'; }
#case .btn_wrap div.on span { background: var(--main-color); }
#case .btn_wrap div span { background: #BBBBBB; display: inline-flex; width: 28px; height: 28px; border-radius: 100%; align-items: center; justify-content: center; color: #fff; margin: 0 10px 0 0; }
#case .content_wrap .content {background-color: #FAFAFA; padding: 50px; border-radius: 60px;}
#case .content_wrap .content img {width:100%; margin: 0 auto;}
#case .content_wrap .content.con_1 img {max-width: 990px}
#case .content_wrap .content.con_2 img {max-width: 870px}


#call { background: #F7FCFF; padding: 120px 0 0 0 ;}
#call .inner { display: flex; justify-content: space-between; }
#call .left { width: 600px; text-align: left; padding: 20px 0 0 0; }
#call .left .sub_title h4 { margin: 20px 0 0 0; font-size: 1.1rem; }
#call .left p.blue { margin: 50px 0 0 0; color: var(--main-color); font-family: 'pre_M'; font-size: 1.1rem; }
#call .right { width: calc(100% - 600px); position: relative; }
#call .right .back { width: 100%; }
#call .right .phone { position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 55%; }


#share .sub_title h4 { margin: 30px 0 0 0; color: #777; font-size: 1.1rem; }
#share .box_wrap { position: relative; display: flex; justify-content: space-between; margin: 90px 0 0 0; padding: 70px 60px; background: linear-gradient(180deg,rgba(250, 250, 250, 1) 0%, rgba(234, 239, 245, 1) 100%); border-radius: 40px; }
#share .box_wrap .title { position: absolute; display: flex; background: #222; color: #fff; width: 126px; align-items: center; justify-content: center; height: 40px; border-radius: 8px; left: 50%; transform: translateX(-50%); top: -20px; }
#share .box_wrap .box { width: 32%; background: #fff; display: flex; flex-direction: column; align-items: center; padding: 20px; border-radius: 20px; }
#share .box_wrap .box .name { display: flex; background: #DBE6FF; color: var(--main-color); font-family: 'pre_B'; width: 70px; height: 30px; align-items: center; justify-content: center; border-radius: 4px; }
#share .box_wrap .box .image_wrap { background: #F4F8FC; padding: 30px; width: 100%; border-radius: 10px; margin: 20px 0; height: 200px; display: flex; align-items: center; justify-content: center; }
#share .box_wrap .box .image_wrap img { width: 100%; max-width: 80%; }
#share .box_wrap .box p { text-align: center; }
#share .box_wrap .box p span { font-family: 'pre_B'; }



#package { background: linear-gradient(180deg,rgba(243, 251, 255, 1) 0%, rgba(204, 225, 243, 1) 100%); }
#package .box_wrap_top { margin: 60px 0 0 0; }
#package .box_wrap_top .box { background: #fff; text-align: center; padding: 40px 0 70px 0; border-radius: 26px; }
#package .box_wrap_top .box > span { margin: 0 0 17px 0; display: block; color: #777; font-family: 'pre_B'; }
#package .box_wrap_top .box .title { font-size: 1.6rem; color: #222; font-family: 'pre_B'; margin: 0 0 20px 0; }
#package .box_wrap_top .box .text { color: #777; font-size: 1.1rem; }
#package .box_wrap_top .box .text span { color: #777; font-family: 'pre_B'; }
#package .box_wrap_bottom { display: flex; justify-content: space-between; margin: 20px 0 0 0; }
#package .box_wrap_bottom .box { background: #fff; width: 32%; border-radius: 26px; padding: 70px 50px 50px 50px; position: relative; }
#package .box_wrap_bottom .box span { color: #777; font-family: 'pre_B'; margin: 0 0 12px 0; display: block; }
#package .box_wrap_bottom .box .title { font-size: 1.8rem; font-family: 'pre_B'; color: #222; margin: 0 0 21px 0; }
#package .box_wrap_bottom .box p { color: #777; }
#package .box_wrap_bottom .box p span { display: inline; }
#package .box_wrap_bottom .box .icon { position: absolute; top: 79px; right: 50px; }
#package .box_wrap_bottom .box .plus { position: absolute; top: -50px; left: 50%; transform: translateX(-50%); }




#use .sub_title {margin: 0 0 70px 0;}
#use .box_wrap { display: grid; gap: 45px; }
#use .box_wrap_1 { grid-template-columns: 2fr 3fr; margin: 0 0 30px 0; }
#use .box_wrap_2 { grid-template-columns: 3fr 2fr; }
#use .box_wrap .box { padding: 60px; border-radius: 30px; height: 400px; }
#use .box_wrap_1 .box.img { background: var(--main-color); }
#use .box_wrap_2 .box.img { background: #C1E8FF; }
#use .box_wrap .box.img { display: flex; align-items: center; justify-content: center; }
#use .box_wrap .box.img img { height: 100%; }
#use .box_wrap .box.text { background: #FAFAFA; display: flex; position: relative; gap: 130px; align-items: center; justify-content: center; }
#use .box_wrap .box.text .left { font-size: 1.7rem; font-family: 'pre_B'; }
#use .box_wrap .box.text .right p { font-size: 1.1rem; color: #777; }
#use .box_wrap .box.text .right p span { color: #777; font-family: 'pre_B'; }
#use .box_wrap .box.text .right p:nth-of-type(2) { margin: 30px 0; }
#use .box_wrap .box.text .right a { display: flex; background: #DBE6FF; color: var(--main-color); font-family: 'pre_B'; width: 100px; height: 40px; align-items: center; justify-content: center; border-radius: 4px; }
#use .box_wrap .box.text img { position: absolute; width: 57px; left: -57px; top: 50%; transform: translateY(-50%); }
#use .box_wrap_2 .box.text img { right: -57px; left: auto; }


#app {background-color: #fafafa}
#app .sub_title {margin: 0 0 50px 0;}
#app .inner {position: relative;}
#app img { width: 70%; margin: 0 auto;}
#app .video_pop { position: fixed; inset: 0; z-index: 9999; display: none; place-items: center;
    padding: max(24px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));
    background: rgba(0,0,0,.6);  backdrop-filter: blur(3px);
}
#app .video_pop.is-open { display: grid; }
#app .video_pop .video {
    width: min(92vw, 1000px);
    max-height: calc(100vh - 48px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    aspect-ratio: 16 / 9;  background: #000; border-radius: 20px; overflow: hidden;
    box-shadow: 0 20px 60px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.08) inset;
    animation: videoPopIn .28s ease both;
}
#app .video_pop .video iframe {  width: 100%;  height: 100%;  border: 0;  display: block;}
#app a {width: 9%;height: 38px;display: block;position: absolute;}
#app a.video_2 {top: 33.8%;left: 50%;transform: translateX(-50%);}
#app a.video_3-1 {top: 64.8%;left: 25.4%;}
#app a.video_3-2 {top: 63.2%;right: 25.6%;}
#app a.video_4-1 {bottom: 1.9%;left: 33.6%;}
#app a.video_4-2 {bottom: 1.9%;right: 25.6%;}



#last {background: url(../image/last_back.png);background-size: cover; margin: 0 0 -1px 0;}
#last .inner {height: 660px; display: flex;align-items: center;justify-content: center;text-align: center;flex-direction: column;}
#last p { font-size: 2.1rem; color: #fff; font-family: 'pre_M'; margin: 0 0 70px 0; }
#last .btn_wrap { display: flex; align-items: center; gap: 14px; }
#last .btn_wrap a { display: flex; align-items: center; gap: 20px; background: #fff; padding: 16px 37px; border-radius: 50px; font-size: 1.1rem; font-family: 'pre_M'; }
#last .btn_wrap a:nth-of-type(1) { background: #222; color: #fff; box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px; }
#last .btn_wrap a:nth-of-type(2) { color: #375185; position: relative; overflow: hidden; z-index: 1; }
#last .btn_wrap a:nth-of-type(2)::before { content: ""; position: absolute; inset: 0; padding: 3px; border-radius: inherit; background: linear-gradient(135deg, #9273FF, #5090FF, #F476FF); -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude; z-index: -1; }




#footer { background: #2B3444; }
#footer .inner { padding: 70px 20px; }
#footer .top { display: flex; align-items: center; justify-content: space-between; margin: 0 0 50px 0; }
#footer .top .left { display: flex; align-items: center; gap: 26px; }
#footer .top .left .logo { margin: 0 31px 0 0; }
#footer .top .left .logo img { width: 118px; }
#footer .top .left a { color: #fff; }
#footer .top .right { display: flex; gap: 10px; }
#footer .bottom { display: flex; justify-content: space-between; align-items: flex-end; }
#footer .bottom .left { display: grid; grid-template-columns: 0.3fr 0.5fr 1fr; font-size: 0.8rem; gap: 10px 40px; }
#footer .bottom .left .box { display: flex; align-items: ; gap: 15px; color: #fff; width: max-content; }
#footer .bottom .left .box p {font-family: 'pre_L';opacity: 0.8;color: #fff;}
#footer .bottom .left .box span {color:#fff;}
#footer .bottom .right p { color: #fff; font-size: 0.7rem; opacity: 0.8; font-family: 'pre_L'; }


.new_quickmenu_m {display: none;}
#go_top {position: fixed; right:20px; z-index: 4; bottom: 50px; background-color: #fff; width: 80px; height: 80px; display: flex; align-items: center; justify-content: center; border-radius: 20px; box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px; display: none;}
#go_top img {width: 30px;}

.new_quickmenu {position: fixed; bottom:70px; right: -1px; z-index: 100; background-color: #fff; border: 1px solid #eee; padding: 20px 0 10px 0; display: block;
border-top-left-radius: 20px; border-bottom-left-radius: 20px; box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px; width: auto;}
.new_quickmenu .inner {display: block; width: max-content; padding: 0;}
.new_quickmenu * {box-sizing: border-box;}
.new_quickmenu a {position: relative; display: flex; align-items: center; justify-content: center; padding:10px; width: 90px; height: 90px; flex-direction: column;}
.new_quickmenu a:hover {text-decoration: none;}
.new_quickmenu a:hover p {text-decoration: none; }
.new_quickmenu a img.icon {height: 47px;}
.new_quickmenu a img.icon.kakao {height: 47px;}
.new_quickmenu a img.icon.top {height: 20px;}
.new_quickmenu a:nth-of-type(1)::before {display: none;}
.new_quickmenu a::before {display:block; width: 60%; height: 1px; background-color: #b3b3b3; position: absolute; top: 0;}
.new_quickmenu a p {font-size: 13px; text-align: center; margin: 5px 0 0 0; font-family: 'pre_B'}
.new_quickmenu #consult-chat-floatting-plugin,
.new_quickmenu #chatButton,
.new_quickmenu .chat-fix {position: inherit !important; bottom: inherit; right: inherit}
.new_quickmenu #consult-chat-iframe-plugin {right: 100px !important;}
.new_quickmenu .chat-open,
.new_quickmenu .chat-close {border-radius: 8px; width: 64px; height: 64px;}
