@charset "utf-8";
@import url('https://www.ibsheet.com/wp-content/themes/salient/css/build/style.css?ver=15.0.7');
@import url('https://code.jquery.com/ui/1.14.1/themes/base/jquery-ui.css');
@import url("https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css");
@import url("https://unpkg.com/aos@next/dist/aos.css");
@import url('font.css');

/* --------------------------------------------
 * base
/* ------------------------------------------ */
body {
  font-family: 'Pretendard', sans-serif;
  letter-spacing: -.02em;
}

body {
  -webkit-text-size-adjust: none;
}

ol,
ul,
ul li {
  list-style: none;
  margin: 0;
  padding: 0;
}

blockquote,
q {
  quotes: none;
}

i,
cite,
em,
var,
address,
dfn {
  font-style: normal;
}

button {
  width: auto;
  overflow: visible;
  background: none;
  border: none;
  cursor: pointer;
  margin: 0;
  padding: 0;
}

br.br-tab,
br.br-mo {
  display: none;
}

/* --------------------------------------------
 * layout
/* ------------------------------------------ */
.mbg {
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
  filter: alpha(opacity=70);
  opacity: .7;
  z-index: 9;
}

body.ovf_hdn,
.ovf_hdn {
  overflow: hidden;
  height: 100%;
}

#wrap {
  position: relative;
  width: 100%;
  padding: 0;
  overflow: hidden;
}

#header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 84px;
  display: flex;
  align-items: center;
  padding: 0 120px;
  transform: translateY(-100%);
  z-index: 3;
}

#header .logo {
  position: relative;
  z-index: 2;
  width: 108px;
  margin: 0 170px 0 0;
  line-height: 1;
  height: 30px;
}

#header .logo a {
  display: block;
  filter: brightness(0) invert(1);
  height: 30px;
}

#header .logo a img {
  display: block;
}

#header .subBg {
  position: absolute;
  background-color: #fff;
  top: 0;
  left: 0;
  width: 100%;
  height: 160px;
  display: none;
}

#header .utill {
  position: relative;
  display: flex;
  gap: 5px;
  justify-content: flex-end;
  align-items: center;
  margin: 0 0 0 auto;
}

#header .utill .bt-ask,
#header .utill .bt-phone {
  padding: 0 20px;
  display: flex;
  height: 42px;
  align-items: center;
  border-radius: 22px;
  background-color: #e8f0fd;
  color: #13398e;
  font-size: 15px;
  gap: 5px;
}

#header .utill .bt-ask::before,
#header .utill .bt-phone::before {
  content: '';
  width: 20px;
  height: 20px;
  background-image: url(../images/ic_talk.png);
}

#header .utill .bt-phone {
  background-color: #13398e;
  color: #fff;
}

#header .utill .bt-phone::before {
  background-image: url(../images/ic_tel.png);
}

#header .utill-ver {
  margin: 0 0 0 60px;
  position: relative;
  width: 90px;
  font-size: 14px;
}

#header .utill-ver .bt {
  display: flex;
  position: relative;
  height: 42px;
  justify-content: center;
  align-items: center;
  border: rgba(255, 255, 255, .3) 1px solid;
  border-radius: 6px;
  font-weight: 600;
  color: #fff;
  gap: 15px;
}

#header .utill-ver .bt::after {
  content: '';
  width: 6px;
  height: 6px;
  display: inline-block;
  border-top: #fff 1px solid;
  border-right: #fff 1px solid;
  transform: rotate(135deg);
}

#header .utill-ver>ul {
  position: absolute;
  top: 42px;
  left: 0;
  width: 100%;
  border: rgba(255, 255, 255, .3) 1px solid;
  padding: 10px 0;
  display: none;
  border-top: none;
  border-radius: 0 0 6px 6px;
}

#header .utill-ver.on .bt {
  border-radius: 6px 6px 0 0;
  border-bottom: none;
}

#header .utill-ver.on .bt::after {
  transform: rotate(-45deg);
  margin-top: 5px;
}

#header .utill-ver>ul a {
  color: #fff;
  display: block;
  line-height: 2;
  text-align: center;
}

#header .bt-menu {
  position: relative;
  width: 42px;
  height: 42px;
  color: transparent;
  font-size: 0;
  margin: 0 0 0 20px;
  display: none;
}

#header .bt-menu i {
  display: block;
  width: 30px;
  height: 2px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: 5px;
  transform: translateX(-50%);
  transition: all .3s ease;
}

#header .bt-menu i:nth-child(1) {
  margin-top: -6px;
}

nav {
  position: relative;
  z-index: 2;
}

nav>ul {
  display: flex;
  align-items: center;
}

nav a {
  display: block;
}

nav>ul>li {
  padding: 0 22px;
}

nav>ul>li>a {
  position: relative;
  line-height: 84px;
  color: #fff;
  font-size: 18px;
  text-transform: uppercase;
}

nav>ul>li>a:hover {
  text-decoration: none;
}

nav>ul>li>a::after {
  content: '';
  position: absolute;
  height: 2px;
  width: 0;
  top: 77px;
  left: 50%;
  background-color: #0a4ed9;
  display: block;
  opacity: 0;
  transition: all .3s ease;
}

nav>ul>li:hover>a::after {
  left: 0;
  width: 100%;
  opacity: 1;
}

nav .subDepth {
  position: absolute;
  top: 82px;
  left: 0;
  width: 60vw;
  padding: 15px 0;
  font-size: 16px;
  white-space: nowrap;
  display: none;
}

nav .subDepth>li {
  display: inline-block;
}

nav .subDepth>li>a {
  color: #111;
  line-height: 1.1;
  font-size: 16px;
}

nav .subDepth>li:hover>a {
  color: #0a4ed9;
}

nav .subDepth>li+li {
  margin-left: 25px;
}

#header.on .logo a {
  filter: none;
}

#header.on nav>ul>li>a {
  color: #111;
}

#header.on .utill-ver .bt,
#header.on .utill-ver .bt::after {
  border-color: #111;
  color: #111;
}

.main #header .logo a {
  filter: brightness(0) invert(1);
}

.main nav>ul>li>a {
  color: #fff;
}

.main #header .bt-menu i {
  background-color: #fff;
}

footer {
  position: relative;
  padding: 120px;
  background-color: #3079f4;
  color: #fff;
}

footer .footer-wrap {
  position: relative;
  display: flex;
  width: 100%;
  margin: 0 auto;
}

footer .footer-addr {
  width: 850px;
  font-size: 18px;
}

footer .logo {
  width: 110px;
  margin: 0 0 115px 0;
  filter: brightness(0) invert(1);
}

footer address {
  line-height: 1.5;
}

footer .tel {
  margin-top: 60px;
  line-height: 1.5;
}

footer .footer-menu {
  display: flex;
  flex: 1;
  justify-content: space-between;
  font-size: 16px;
}

footer .footer-menu a {
  color: #fff;
  display: block;
}

footer .footer-menu a:hover {
  text-decoration: underline;
}

footer .footer-menu>li>a {
  margin-bottom: 35px;
  font-size: 18px;
  font-weight: 600;
  text-transform: uppercase;
}

footer .footer-menu>li>ul>li+li {
  margin-top: 5px;
}

footer .footer-copy {
  font-size: 18px;
  margin-top: 65px;
}

footer .bt-top {
  position: absolute;
  width: 74px;
  height: 74px;
  display: block;
  border-radius: 50%;
  border: #fff 2px solid;
  right: 0;
  top: 0;
  overflow: hidden;
  color: transparent;
}

footer .bt-top::before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -13px 0 0 -13px;
  width: 26px;
  height: 26px;
  background: url(../images/top.png) no-repeat 50% 50% / cover;
  transition: top .6s ease;
}

.menu-bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  pointer-events: none;
  z-index: 10;
  background-color: rgba(0, 0, 0, .5);
  display: none;
}

.menu-content {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 11;
  width: 100%;
  height: 100vh;
  padding: 0 40px;
  background-color: rgba(0, 0, 0, .8);
  backdrop-filter: blur(10px);
  display: none;
}

.menu-content .allMenu {
  margin: 120px 0 0 0;
  display: flex;
  flex-wrap: wrap;
  color: #fff;
  gap: 60px;
}

.menu-content .allMenu a {
  display: block;
  color: #fff;
  font-family: 'GMarketSans';
  text-decoration: none;
}

.menu-content .allMenu>li {
  flex: 1;
}

.menu-content .allMenu>li>a {
  font-size: 30px;
  font-weight: 400;
}

.menu-content .allMenu>li>ul {
  margin: 40px 0 0 0;
}

.menu-content .subDepth {
  margin: 25px 0 0 0;
}

.menu-content .subDepth>li+li {
  margin-top: 25px;
}

.menu-content .subDepth>li>a {
  font-size: 16px;
  padding-right: 10px;
}

.menu-content .subDepth li>ul {
  margin-top: 18px;
}

.menu-content .subDepth li>ul>li+li {
  margin-top: 6px;
}

.menu-content .subDepth li>ul>li>a {
  font-size: 20px;
  padding-right: 1rem;
}

.menu-content .subDepth li>ul>li>a::before {
  content: '';
  width: 4px;
  height: 1px;
  background-color: #fff;
  display: inline-block;
  margin-right: 10px;
  vertical-align: 4px;
}

.menu-content .subDepth li>ul>li>a:hover {
  color: #fff;
  text-decoration: none;
}

.menu-content .menu-hd {
  display: flex;
  justify-content: flex-end;
  height: 84px;
  gap: 5px;
  padding: 0 70px;
  align-items: center;
}

.menu-content .menu-hd .bt-ask,
.menu-content .menu-hd .bt-phone {
  padding: 0 20px;
  display: flex;
  height: 42px;
  align-items: center;
  border-radius: 22px;
  background-color: #e8f0fd;
  color: #1543a6;
  font-size: 15px;
  gap: 5px;
}

.menu-content .menu-hd .bt-ask::before,
.menu-content .menu-hd .bt-phone::before {
  content: '';
  width: 20px;
  height: 20px;
  background-image: url(../images/ic_talk.png);
}

.menu-content .menu-hd .bt-phone {
  background-color: #13398e;
  color: #fff;
}

.menu-content .menu-hd .bt-phone::before {
  background-image: url(../images/ic_tel.png);
}


.menu-content .close {
  position: absolute;
  width: 38px;
  height: 38px;
  display: block;
  top: 20px;
  right: 40px;
  color: transparent;
  font-size: 0;
}

.menu-content .close i {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 30px;
  height: 2px;
  background-color: #fff;
  display: block;
  transform: translate(-50%, -50%) rotate(45deg);
}

.menu-content .close i:nth-child(2) {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.dv-float {
  position: fixed;
  right: 20px;
  z-index: 2;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.dv-float .chat {
  width: 60px;
  height: 60px;
  background-color: #4081f0;
  background-image: url(../images/ic_chat.png);
  background-position: 50% 50%;
  background-size: 36px;
  background-repeat: no-repeat;
  border-radius: 50%;
  display: block;
  margin-top: 5px;
}

.dv-float.ft {
  top: auto;
  bottom: 120px;
  transform: translateY(0);
}

.dv-float.ft .chat {
  background-color: #7b9ada;
}

.dv-float .bt span,
.dv-float .top span,
.dv-float .chat span {
  color: transparent;
  font-size: 0;
}

.dv-float .top {
  width: 60px;
  height: 60px;
  background-color: #fff;
  background-size: 36px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.dv-float .top::after {
  content: '';
  width: 20px;
  height: 20px;
  transform: rotate(-90deg);
  display: inline-block;
  background-image: url(https://www.ibsheet.com/wp-content/themes/salient/iconfile/icon5.svg);
  filter: brightness(0) saturate(100%) invert(41%) sepia(69%) saturate(6421%) hue-rotate(210deg) brightness(98%) contrast(99%);
}

.dv-float .bt {
  position: relative;
  width: 60px;
  height: 60px;
  background-color: #fff;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.dv-float .bt i {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 2px;
  background-color: #1c73fc;
  display: block;
  transform: translate(-50%, -50%);
}

.dv-float .bt i:nth-child(2) {
  transform: translate(-50%, -50%) rotate(90deg);
}

.dv-float .menu-box {
  margin-bottom: 5px;
}

.dv-float.on .menu-box {
  border-radius: 30px;
  background-color: #fbfcfc;
}

.dv-float.on .menu-box .bt {
  background-color: #fbfcfc;
}

.dv-float .menu {
  opacity: 0;
  visibility: hidden;
  max-height: 0;
  overflow: hidden;
  transform: translateY(20px);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.dv-float.on .menu {
  opacity: 1;
  visibility: visible;
  max-height: 500px;
  overflow: visible;
  transform: translateY(0);
}

.dv-float .menu a {
  position: relative;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.3s ease;
}

.dv-float.on .bt i:nth-child(1) {
  transform: translate(-50%, -50%) rotate(45deg);
}

.dv-float.on .bt i:nth-child(2) {
  transform: translate(-50%, -50%) rotate(135deg);
}

.dv-float .menu a:hover span {
  display: flex;
}

.dv-float .menu a span {
  position: absolute;
  display: flex;
  align-items: center;
  padding: 0 28px;
  width: 194px;
  height: 48px;
  background-color: #4081f0;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
  border: #4081f0 1px solid;
  color: #fff;
  font-size: 16px;
  border-radius: 24px;
  display: none;
}

.dv-float .menu a i {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 36px;
  height: 36px;
  display: block;
  background-position: 50% 50%;
  background-size: 36px;
  background-repeat: no-repeat;
  transform: translate(-50%, -50%);
}

.dv-float .menu a.catalog i {
  background-image: url(../images/ic_float1.png);
}

.dv-float .menu a.support i {
  background-image: url(../images/ic_float2.png);
}

.dv-float .menu a.demo i {
  background-image: url(../images/ic_float3.png);
}

.dv-float .menu a.inquiry i {
  background-image: url(../images/ic_float4.png);
}

.dv-float .menu a.catalog:hover i {
  background-image: url(../images/ic_float1_on.png);
}

.dv-float .menu a.support:hover i {
  background-image: url(../images/ic_float2_on.png);
}

.dv-float .menu a.demo:hover i {
  background-image: url(../images/ic_float3_on.png);
}

.dv-float .menu a.inquiry:hover i {
  background-image: url(../images/ic_float4_on.png);
}

.main-partner .main-tit,
.partner-wrap .partner-hd,
.main-features-cont .item .tit {
  font-family: 'Pretendard', sans-serif;
  letter-spacing: -.05em;
}

.main-visual {
  position: relative;
}

.main-visual .bg {
  height: 930px;
  background-image: url(../images/main_visual.jpg);
  background-position: 50% 50%;
  background-size: cover;
  background-repeat: no-repeat;
}

.main-visual .copy {
  color: #fff;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-size: 78px;
  font-weight: 600;
  line-height: 1;
}

.main-demo {
  background-image: url(../images/main_demo_bg.jpg);
  background-position: 50% 50%;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 160px 120px 120px;
}

.main-demo .demo-wrap.swiper {
  position: relative;
  overflow: hidden;
}

.main-demo .demo-desc {
  display: flex;
  flex-direction: column;
  text-align: center;
  font-size: 24px;
  color: #111;
  gap: 20px;
  margin-bottom: 120px;
  padding-top: 10px;
}

.main-demo .demo-desc .title,
.main-demo .demo-desc .desc {
  opacity: 0;
  line-height: 1;
  transform: translateY(40px);
  transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.main-demo .swiper-slide-active .demo-desc .title {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.1s;
}

.main-demo .swiper-slide-active .demo-desc .desc {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.3s;
}

.main-demo .demo-desc .title {
  font-size: 72px;
  font-weight: 500;
  font-family: 'GMarketSans';
  color: #111;
  line-height: 1;
}

.main-demo .ctrl {
  position: absolute;
  top: 215px;
  left: 50%;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(255, 255, 255, .75);
  box-shadow: 20px 10px 20px rgba(0, 0, 0, .1);
  border-radius: 10px;
  border: #d2e3ef 1px solid;
  gap: 10px;
  padding: 10px;
  transform: translateX(-50%);
  z-index: 2;
}

.main-demo .ctrl .prev,
.main-demo .ctrl .next {
  width: 36px;
  height: 36px;
  border-radius: 9px;
  background-color: #fff;
  border: #f0f2f5 1px solid;
  display: flex;
  justify-content: center;
  align-items: center;
  color: transparent;
  font-size: 0;
  transition: all 0.3s ease;
}

.main-demo .ctrl .prev:hover::after,
.main-demo .ctrl .next:hover::after {
  border-color: #111;
}

.main-demo .ctrl .prev::after,
.main-demo .ctrl .next::after {
  content: '';
  width: 6px;
  height: 6px;
  border-left: #999 2px solid;
  border-top: #999 2px solid;
  transform: rotate(-45deg);
}

.main-demo .ctrl .next::after {
  transform: rotate(135deg);
}

.main-demo .ctrl .spinner {
  width: 36px;
  height: 36px;
  border-radius: 9px;
  background-color: #fff;
  border: #f0f2f5 1px solid;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

.main-demo .ctrl .spinner svg {
  transform: rotate(-90deg);
  width: 22px;
  height: 22px;
}

.main-demo .ctrl .spinner .progress-bar {
  stroke-dashoffset: calc(69.115 * (1 - var(--progress, 0)));
  transition: stroke-dashoffset 0.1s linear;
}

.main-demo .demo-tit {
  position: absolute;
  top: -30px;
  right: 50px;
  border: #eff1f5 1px solid;
  padding: 16px 45px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  border-radius: 10px;
  z-index: 2;
}

.main-demo .demo-tit img {
  height: 26px;
}

.main-demo .demo-btn {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 50px;
}

.main-demo .demo-btn>a {
  height: 60px;
  width: 180px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #1c73fc;
  border-radius: 30px;
  font-size: 18px;
  font-weight: 600;
  padding: 0 25px;
  color: #fff;
}

.main-demo .demo-btn>a:hover {
  background-color: #115dd3;
}

.main-demo .demo-btn>a.btn-catalog {
  background-color: #111;
}

.main-demo .demo-btn>a.btn-catalog:hover {
  background-color: #333;
}

.main-demo .demo-btn>a::after {
  content: '';
  width: 24px;
  height: 24px;
  background-color: rgba(255, 255, 255, .3);
  background-image: url(https://www.ibsheet.com/wp-content/themes/salient/iconfile/icon4.svg);
  background-size: 10px;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  border-radius: 50%;
}

.main-demo .wpb_wrapper {
  position: relative;
  border-radius: 20px;
  max-width: 1260px;
  margin: 0 auto;
  padding: 10px;
  border: rgba(255, 255, 255, .3) 1px solid;
  background-color: rgba(255, 255, 255, .3);
  backdrop-filter: blur(10px);
}

.main-demo .wpb_wrapper video {
  width: 100%;
  height: auto;
  display: block;
  position: relative;
  margin: 0;
  top: 0;
  left: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  visibility: visible;
  object-fit: cover;
  border-radius: 10px;
}

.main-partner {
  padding: 120px;
  background: url(../images/main_partner_bg.jpg);
}

.main-partner .main-tit {
  font-size: 36px;
  color: #111;
  text-align: center;
  font-weight: 500;
  line-height: 1.4;
  margin-bottom: 60px;
}

.main-partner .main-tit span {
  color: #1c73fc;
}

.partner-wrap {
  position: relative;
  max-width: 1440px;
  margin: 30px auto 0;
  padding: 30px 0 0 0;
}

.partner-wrap .partner-hd {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 5px;
}

.partner-wrap .partner-hd .tit {
  font-family: 'Pretendard', sans-serif;
  font-size: 21px;
  color: #222;
  display: flex;
  align-items: center;
}

.partner-wrap .partner-hd .tit::before {
  content: '';
  width: 4px;
  height: 4px;
  background-color: #88b5fb;
  display: inline-block;
  margin-right: 15px;
  border-radius: 50%;
}

.partner-wrap .partner-btn {
  display: flex;
  gap: 5px;
}

.partner-wrap .partner-btn button {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 0;
  color: transparent;
}

.partner-wrap .partner-btn button.prev {
  transform: rotate(180deg);
}

.partner-wrap .partner-btn button::after {
  content: '';
  width: 16px;
  height: 16px;
  background-image: url(https://www.ibsheet.com/wp-content/themes/salient/iconfile/icon5.svg);
  filter: brightness(0) saturate(100%) invert(87%) sepia(5%) saturate(1066%) hue-rotate(184deg) brightness(90%) contrast(95%);
}

.partner-wrap .partner-btn button:hover {
  background-color: #1c73fc;
}

.partner-wrap+.partner-wrap::after {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  height: 1px;
  background-color: #e6ecf4;
  transform: translate(-50%, 0);
}

.partner-wrap .partner-btn button:hover::after {
  filter: brightness(0) invert(1);
}

.partner-wrap .partner-list {
  overflow: hidden;
}

.partner-cert {
  max-width: 1440px;
  margin: 60px auto 0;
  display: flex;
  justify-content: space-between;
}

.partner-cert li {
  position: relative;
  height: 238px;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  padding: 10px;
  border-radius: 20px;
}

.partner-cert li+li::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 1px;
  height: 150px;
  background-color: #f3f5f9;
  transform: translate(0, -50%);
}

.partner-cert li .logo {
  padding: 0;
  margin-bottom: 10px;
}

.partner-cert li .logo img {
  max-width: 100%;
}

.partner-cert li .text {
  padding: 0;
  font-size: 16px;
  color: #111;
  text-align: center;
}

.main-prod {
  padding: 120px;
}

.main-prod .main-title {
  display: flex;
  max-width: 1440px;
  margin: 0 auto 90px;
}

.main-prod .main-title .tit {
  font-family: 'GMarketSans';
  font-size: 60px;
  font-weight: 500;
  color: #111;
  width: 480px;
  line-height: 1;
}

.main-prod .main-title .text {
  font-size: 18px;
  color: #111;
  line-height: 1.6;
}

.main-prod-list {
  max-width: 1440px;
  margin: 0 auto;
  display: flex;
}

.main-prod-tab {
  position: relative;
  width: 420px;
  margin-right: 55px;
  overflow: hidden;
  min-height: 500px;
}

.main-prod-tab .swiper-wrapper {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.main-prod-tab-btn {
  display: none;
}

.main-prod-tab a {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  height: 88px;
  font-weight: 600;
  font-size: 30px;
  color: #111;
  transition: all .3s ease;
}

.main-prod-tab a+a {
  border-top: #eff2f7 1px solid;
}

.main-prod-tab a.on {
  color: #1c73fc;
}

.main-prod-tab a .ic-arrow {
  position: absolute;
  right: 0;
  top: 50%;
  width: 28px;
  height: 28px;
  background-image: url(../images/ic_arr.png);
  background-position: 50%;
  background-size: 100% auto;
  background-repeat: no-repeat;
  transform: translate(0, -50%);
  filter: brightness(0) saturate(100%) invert(91%) sepia(27%) saturate(50%) hue-rotate(166deg) brightness(97%) contrast(96%);
}

.main-prod-tab a.on .ic-arrow {
  filter: none;
}

.main-prod-cont-bx {
  flex: 1;
}

.main-prod-cont {
  display: none;
  gap: 60px;
  padding: 60px;
  background-color: #f4f6f9;
  border-radius: 20px;
}

.main-prod-cont:first-of-type {
  display: flex;
}

.main-prod-cont .main-prod-cont-img {
  max-width: 480px;
  width: 100%;
}

.main-prod-cont .main-prod-cont-img img {
  max-width: 100%;
  width: 100%;
}

.main-prod-cont .main-prod-cont-text {
  padding: 20px 0 15px;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.main-prod-cont .main-prod-cont-text .tit {
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 30px;
}

.main-prod-cont .main-prod-cont-text .desc {
  margin-bottom: 50px;
}

.main-prod-cont .main-prod-cont-text .desc li {
  font-size: 16px;
  color: #111;
  position: relative;
  padding-left: 20px;
  margin-bottom: 10px;
}

.main-prod-cont .main-prod-cont-text .desc li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 13px;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background-color: #111;
}

.main-prod-cont .main-prod-cont-text .btn-z {
  display: flex;
  margin: auto 0 0 0;
  gap: 5px;
}

.main-prod-cont .main-prod-cont-text .btn-z a {
  height: 40px;
  padding: 0 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #1c73fc;
  border-radius: 5px;
  min-width: 90px;
  font-size: 16px;
  font-weight: 500;
  background-color: rgba(69, 128, 236, .1);
  transition: background-color 0.3s ease;
}

.main-prod-cont .main-prod-cont-text .btn-z a:hover {
  background-color: rgba(69, 128, 236, .3);
}

.main-features {
  background-color: #000308;
  padding: 120px;
  position: relative;
}

.main-features::after,
.main-features::before {
  content: '';
  width: 820px;
  height: 820px;
  position: absolute;
  top: 330px;
  left: -300px;
  background-image: url(../images/features_bg1.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
}

.main-features::after {
  background-image: url(../images/features_bg2.png);
  top: -140px;
  left: auto;
  right: -400px;
}

.main-features .main-title {
  color: #fff;
  font-family: 'GMarketSans';
  font-size: 60px;
  font-weight: 500;
  text-align: center;
  margin-bottom: 170px;
  line-height: 1.2;
}

.main-features-cont {
  display: flex;
  justify-content: center;
  gap: 20px;
  max-width: 1440px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

.main-features-cont .item {
  flex: 1;
  border-radius: 10px;
  border: rgba(255, 255, 255, 0.1) 1px solid;
  background-color: rgba(0, 0, 0, .4);
  backdrop-filter: blur(20px);
  padding: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
  min-height: 416px;
  position: relative;
  overflow: hidden;
  transition: background-color 0.3s ease;
}

.main-features-cont .item.on {
  background-color: #7832ff;
}

.main-features-cont .item:nth-child(2).on {
  background-color: #4444fd;
}

.main-features-cont .item:nth-child(3).on {
  background-color: #2770f5;
}

.main-features-cont .item:nth-child(4).on {
  background-color: #00b4ff;
}

.main-features-cont .tit {
  font-size: 24px;
  color: #fff;
  transition: transform 0.4s ease;
}

.main-features-cont .main-features-cont-text {
  width: 100%;
}

.main-features-cont .desc {
  font-size: 16px;
  line-height: 1.6;
  opacity: 0;
  visibility: hidden;
  transform: translateY(0);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  position: absolute;
  width: 100%;
  left: 0;
  top: 350px;
}

.main-features-cont .item.on .desc {
  opacity: 1;
  visibility: visible;
  transform: translateY(-160px);
}

.main-features-cont .main-features-cont-img {
  margin-bottom: 30px;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.main-features-cont .main-features-cont-img img {
  max-width: 100%;
}

.main-features-cont .item.on .main-features-cont-img {
  transform: translateY(-40px);
  opacity: 0;
}

.main-features-cont .item.on .tit {
  transform: translateY(-200px);
}

.main-cs {
  padding: 120px 40px 0;
  background: linear-gradient(to bottom, #e9f0f9 0%, #ffffff 100%);
  background: #e9f0f9 url(../images/main_cs_bg.jpg) no-repeat 50% 50% / cover;
}

.main-cs .main-title {
  font-size: 42px;
  font-weight: 500;
  color: #111;
  text-align: center;
  line-height: 1.4;
}

.gradient-text {
  /*background: linear-gradient(90deg, #3a8df0, #9b59b6, #3a8df0);*/
  background: linear-gradient(90deg, #3369ff, #91cef0, #b653fd);
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: moveGradient 3s linear infinite;
}

@keyframes moveGradient {
  0% {
    background-position: 0% center;
  }

  50% {
    background-position: 100% center;
  }

  100% {
    background-position: 0% center;
  }
}

.main-cs .btnz {
  margin-top: 120px;
  display: flex;
  justify-content: center;
  gap: 10px;
}

.main-cs .btnz a {
  height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  background-color: #1c73fc;
  border-radius: 30px;
  font-size: 18px;
  font-weight: 500;
  width: 240px;
}

.main-cs .btnz a:hover {
  background-color: #115dd3;
}

.main-cs .btnz a.sky {
  background-color: #8fa5d1;
}

.main-cs .btnz a.sky:hover {
  background-color: #6c7b98;
}

.main-cs .btnz a.dark {
  background-color: #111;
}

.main-cs .btnz a.dark:hover {
  background-color: #333;
}

.main-css {
  max-width: 1680px;
  background-color: #fff;
  margin: 180px auto 0;
  padding: 140px 0;
  color: #1c73fc;
  font-size: 30px;
  text-align: center;
  line-height: 1.5;
  border-radius: 40px;
}

.main-css .tit {
  color: #1c73fc;
  font-family: 'GMarketSans';
  font-size: 60px;
  font-weight: 500;
  margin-bottom: 60px;
  line-height: 1.2;
}

.main-css .btnz {
  margin-top: 70px;
}

@media screen and (max-width:1440px) {

  #header {
    padding: 0 30px;
  }

  #header .logo {
    margin: 0 50px 0 0;
  }

  footer {
    padding: 120px 60px;
  }

  footer .footer-addr {
    width: 50%;
  }

  .main-visual .copy {
    padding: 0 30px;
  }

  .main-demo {
    padding: 160px 60px 120px;
  }

  .main-partner,
  .main-prod,
  .main-features {
    padding: 120px 60px;
  }

  .main-prod-tab {
    width: 30%;
    min-height: 500px;
    /* Ensure vertical swiper has height */
  }

  .main-prod-cont {
    padding: 30px;
    gap: 30px;
  }

}

@media screen and (max-width:1200px) {

  #header .utill .bt-ask,
  #header .utill .bt-phone,
  nav {
    display: none;
  }

  #header .bt-menu {
    display: block;
  }

}

@media screen and (max-width:1024px) {

  footer .logo {
    display: none;
  }

  footer .footer-wrap {
    flex-direction: column-reverse;
  }

  footer .footer-menu {
    margin-bottom: 50px;
  }

  footer .footer-menu .gnb1 {
    display: none;
  }

  .dv-float {
    top: auto;
    bottom: 120px;
    transform: translateY(0);
  }

  .dv-float.ft {
    bottom: 600px;
  }

  .main-visual .copy {
    font-size: 50px;
  }

  .main-prod .main-title {
    flex-direction: column;
  }

  .main-prod-list {
    flex-direction: column;
  }

  .main-prod-tab-btn {
    display: flex;
    justify-content: space-between;
    position: absolute;
    width: 100%;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    z-index: 10;
    pointer-events: none;
  }

  .main-prod-tab-btn button {
    width: 60px;
    height: 60px;
    background-color: #fff;
    border: 1px solid #bdc9e2;
    border-radius: 50%;
    font-size: 0;
    color: transparent;
    pointer-events: auto;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .main-prod-tab-btn button::after {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    background-image: url(https://www.ibsheet.com/wp-content/themes/salient/iconfile/icon5.svg);
    filter: brightness(0) saturate(100%) invert(87%) sepia(5%) saturate(1066%) hue-rotate(184deg) brightness(90%) contrast(95%);
  }

  .main-prod-tab-btn button.prev::after {
    transform: rotate(180deg);
  }

  .main-prod-tab-btn button.next::after {}

  .main-prod-tab {
    width: 100%;
    margin-right: 0;
    margin-bottom: 30px;
    flex-direction: row;
    padding: 0 60px;
    min-height: 0;
    height: 60px;
    /* Fixed height to prevent vertical jitter */
    /* Reset desktop height */
  }

  .main-prod-tab a {
    color: #1c73fc;
    transition: all 0.3s ease;
  }

  .main-prod-tab .swiper-wrapper {
    display: flex;
    flex-direction: row;
    gap: 0;
    height: 100%;
    align-items: center;
  }

  .main-prod-tab a {
    width: auto;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 20px;
    white-space: nowrap;
  }

  .main-prod-tab a+a {
    border-top: none;
  }

  .main-prod-tab a .ic-arrow {
    display: none;
  }

  .main-prod-cont {
    padding: 30px;
    gap: 30px;
  }

  .main-prod-cont .main-prod-cont-img {
    width: 100%;
  }

  .main-demo .ctrl {
    top: 29vw;
  }

}

@media screen and (max-width:820px) {

  br.br-tab {
    display: inline;
  }

  br.br-pc,
  br.br-mo {
    display: none;
  }

  footer .footer-addr {
    width: 100%;
  }

  .menu-content {
    left: auto;
    right: 0;
    padding: 0 40px 60px;
    background-color: #116af8;
    width: calc(100vw - 120px);
  }

  .menu-content .menu-hd {
    justify-content: flex-start;
    padding: 0;
  }

  .menu-content .allMenu {
    flex-direction: column;
    overflow-y: auto;
    height: calc(100vh - 164px);
    display: block;
    padding: 0 10px;
    margin-top: 80px;
  }

  .menu-content .allMenu>li {
    flex: none;
  }

  .menu-content .allMenu>li>a {
    position: relative;
    font-size: 42px;
    text-transform: uppercase;
    line-height: 1.2;
    color: #a6c8ff;
  }

  .menu-content .allMenu>li.on>a {
    color: #fff;
  }

  .menu-content .subDepth {
    margin: 70px 0 0 0;
    padding: 0 0 0 40px;
  }

  .menu-content .subDepth {
    max-height: 0;
    opacity: 0;
    transform: translateY(-10px);
    overflow: hidden;
    transition: max-height 0.3s ease, opacity 0.3s ease, transform 0.3s ease;
  }

  .menu-content .allMenu>li.on .subDepth {
    padding: 0 0 60px 40px;
    max-height: 55rem;
    opacity: 1;
    transform: translateY(0);
  }

  .menu-content .subDepth>li>a {
    font-size: 24px;
  }

  .main-demo .ctrl {
    top: 339vw;
  }

  .partner-cert {
    flex-wrap: wrap;
  }

  .partner-cert li {
    flex: none;
    width: 50%;
  }

  .partner-cert li:nth-child(3):after,
  .partner-cert li:nth-child(4):after {
    top: 0;
    left: 50%;
    width: 150px;
    height: 1px;
    transform: translate(-50%, 0);
  }

  .main-prod-cont {
    position: relative;
    flex-direction: column-reverse;
    padding-bottom: 100px;
  }

  .main-prod-cont .main-prod-cont-text {
    padding: 0;
  }

  .main-prod-cont .main-prod-cont-text .btn-z {
    position: absolute;
    bottom: 30px;
    left: 0;
    width: 100%;
    padding: 0 30px;
  }

  .main-prod-cont .main-prod-cont-text .desc {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0;
    justify-content: space-between;
  }

  .main-features-cont {
    flex-wrap: wrap;
    gap: 5px;
  }

  .main-features-cont .item {
    width: calc(50% - 3px);
    flex: none;
  }

  .main-features::after,
  .main-features::before {
    display: none;
  }

}

@media screen and (max-width:768px) {

  .main-demo .ctrl {
    top: 39vw;
  }
}

@media screen and (max-width:640px) {

  br.br-mo {
    display: inline;
  }

  br.br-pc,
  br.br-tab {
    display: none;
  }

  #header {
    height: 60px;
  }

  #header .logo {
    width: 75px;
    margin: 0;
  }

  #header .logo a {
    height: 23px;
  }

  #header .utill-ver .bt {
    height: 30px;
    padding: 0 14px;
    justify-content: space-between;
  }

  #header .utill-ver>ul {
    top: 30px;
  }

  #header .bt-menu {
    width: 30px;
    height: 30px;
    margin-left: 5px;
    margin-right: -5px;
  }

  #header .bt-menu i {
    width: 16px;
  }

  #header .bt-menu i:nth-child(1) {
    margin-top: -4px;
  }

  #header .bt-menu i {
    margin-top: 3px;
  }

  .menu-content {
    width: calc(100vw - 60px);
    padding: 0 25px 30px;
  }

  .menu-content .menu-hd {
    height: 90px;
  }

  .menu-content .close {
    width: 30px;
    height: 30px;
    top: 30px;
    right: 20px;
  }

  .menu-content .close i {
    width: 22px;
  }

  .menu-content .menu-hd .bt-ask,
  .menu-content .menu-hd .bt-phone {
    padding: 0 10px;
    font-size: 12px;
    height: 30px;
  }

  .menu-content .menu-hd .bt-ask::before,
  .menu-content .menu-hd .bt-phone::before {
    width: 12px;
    height: 12px;
    background-size: cover;
  }

  .menu-content .allMenu {
    margin-top: 20px;
    height: calc(100vh - 110px);
  }

  .menu-content .allMenu>li>a {
    font-size: 22px;
  }

  .menu-content .allMenu>li>ul {
    margin: 35px 0 0 0;
  }

  .menu-content .allMenu>li.on .subDepth {
    padding: 0 0 40px 20px;
  }

  .menu-content .subDepth>li+li {
    margin-top: 10px;
  }

  .menu-content .subDepth>li>a {
    font-size: 13px;
  }

  footer {
    padding: 70px 20px;
  }

  footer .footer-menu {
    margin-bottom: 80px;
  }

  footer .footer-menu>li>a {
    margin-bottom: 25px;
  }

  footer .footer-addr {
    font-size: 13px;
  }

  footer .footer-menu .subDepth {
    font-size: 13px;
  }

  footer .tel {
    margin-top: 30px;
  }

  footer .footer-copy {
    margin-top: 35px;
    font-size: 12px;
  }

  .dv-float {
    right: 20px;
    top: auto;
    bottom: 30px;
    transform: translateY(0);
  }

  .dv-float.ft {
    bottom: 60px;
  }

  .dv-float .menu {
    max-height: 0;
    overflow: hidden;
  }

  .dv-float.on .menu {
    max-height: 500px;
    overflow: visible;
  }

  .dv-float .menu a {
    width: 45px;
    height: 45px;
  }

  .dv-float .menu a i {
    background-size: 20px;
  }

  .dv-float .menu a span {
    width: 150px;
    height: 45px;
    padding: 0 15px;
    font-size: 13px;
  }

  .dv-float .bt {
    width: 45px;
    height: 45px;
  }

  .dv-float .bt i {
    width: 12px;
  }

  .dv-float .top {
    width: 45px;
    height: 45px;
  }

  .dv-float .top::after {
    width: 14px;
    height: 14px;
  }

  .dv-float .chat {
    width: 45px;
    height: 45px;
    background-size: 20px;
  }

  .main-visual .bg {
    height: 640px;
    background-image: url(../images/main_visual_mo.jpg);
  }

  .main-visual .copy {
    font-size: 36px;
    text-align: left;
    padding-top: 180px;
    justify-content: flex-start;
    line-height: 1.5;
  }

  .main-visual .copy p {
    padding-bottom: 0;
    width: 100%;
  }

  .main-demo {
    padding: 60px 20px;
    background-image: url(../images/main_demo_bg_mo.jpg);
  }

  .main-demo .demo-desc {
    font-size: 15px;
    gap: 5px;
    margin-bottom: 80px;
  }

  .main-demo .demo-desc .title {
    font-size: 30px;
  }

  .main-demo .ctrl {
    top: 38vw;
    gap: 5px;
    padding: 5px;
    border-radius: 8px;
    margin-bottom: 30px;
  }

  .main-demo .ctrl .prev,
  .main-demo .ctrl .next,
  .main-demo .ctrl .spinner {
    width: 24px;
    height: 24px;
    border-radius: 4px;
  }

  .main-demo .ctrl .spinner svg {
    width: 18px;
    height: 18px;
  }

  .main-demo .demo-tit {
    position: relative;
    border: none;
    background-color: transparent;
    height: auto;
    top: auto;
    margin: 0 auto;
    padding: 5px;
    width: 100%;
    left: auto;
    text-align: center;
    right: auto;
  }

  .main-demo .demo-tit img {
    height: 20px;
  }

  .main-demo .wpb_wrapper {
    padding: 4px;
    border-radius: 10px;
  }

  .main-demo .wpb_wrapper video {
    border-radius: 4px;
  }

  .main-demo .demo-btn {
    margin-top: 35px;
  }

  .main-demo .demo-btn>a {
    height: 34px;
    width: 130px;
    font-size: 14px;
    padding: 0 20px;
  }

  .main-demo .demo-btn>a::after {
    width: 18px;
    height: 18px;
    background-size: 6px;
  }

  .main-partner,
  .main-prod,
  .main-features {
    padding: 60px 20px;
  }

  .main-partner .main-tit {
    font-size: 21px;
  }

  .partner-wrap {
    margin-top: 15px;
    padding-top: 15px;
  }

  .partner-wrap .partner-hd .tit {
    font-size: 15px;
  }

  .partner-wrap .partner-list img {
    max-height: 50px;
  }

  .partner-wrap .partner-btn button {
    width: 25px;
    height: 25px;
  }

  .partner-wrap .partner-btn button::after {
    width: 8px;
    height: 8px;
    background-size: 8px;
  }

  .partner-cert {
    margin-top: 40px;
  }

  .partner-cert li {
    height: 140px;
  }

  .partner-cert li .logo img {
    height: 36px;
  }

  .partner-cert li .text {
    font-size: 13px;
    line-height: 1.2;
  }

  .main-prod .main-title {
    margin-bottom: 40px;
  }

  .main-prod .main-title .tit {
    font-size: 30px;
    margin-bottom: 30px;
  }

  .main-prod .main-title .text {
    font-size: 14px;
  }

  .main-prod-tab a {
    height: 30px;
    font-size: 18px;
    padding: 0 10px;
  }

  .main-prod-tab-btn button {
    width: 30px;
    height: 30px;
  }

  .main-prod-cont {
    padding-bottom: 80px;
  }

  .main-prod-cont .main-prod-cont-text .tit {
    font-size: 18px;
    margin-bottom: 15px;
  }

  .main-prod-cont .main-prod-cont-text .desc {
    gap: 0 10px;
  }

  .main-prod-cont .main-prod-cont-text .desc li {
    font-size: 13px;
    padding-left: 10px;
    margin: 0;
  }

  .main-prod-cont .main-prod-cont-text .btn-z a {
    height: 30px;
    padding: 0 10px;
    font-size: 13px;
  }

  .main-features .main-title {
    font-size: 30px;
    margin-bottom: 30px;
  }

  .main-features-cont .item {
    min-height: 210px;
  }

  .main-features-cont .main-features-cont-img {
    max-width: 100px;
  }

  .main-features-cont .tit {
    font-size: 14px;
    line-height: 1.2;
  }

  .main-features-cont .item.on .tit {
    transform: translateY(-120px);
  }

  .main-features-cont .desc {
    font-size: 10px;
  }

  .main-features-cont .item.on .desc {
    transform: translateY(-260px);
  }

  .main-cs {
    padding: 60px 20px;
    background-image: url(../images/main_cs_bg_mo.jpg);
  }

  .main-cs .main-title {
    font-size: 20px;
  }

  .main-cs .btnz {
    margin-top: 50px;
    gap: 5px;
  }

  .main-cs .btnz a {
    height: 36px;
    font-size: 13px;
    width: auto;
    flex: 1;
  }

  .main-css {
    margin-top: 60px;
    padding: 60px 20px 20px;
    font-size: 18px;
  }

  .main-css .tit {
    font-size: 30px;
    margin-bottom: 25px;
  }

  .main-cs .btnz a.dark {
    flex: none;
    padding: 0 30px;
  }

}