:root {
  --color-main: #9747FF;
  --color-sub: #692498;
  --color-white: #FFFFFF;
  --color-black: #000000;
  --font-pretendard: "Pretendard", sans-serif;
  --font-roboto: "Roboto", sans-serif;
}

.font120 {
  --fontsize: 12.0rem;
  font-size: var(--fontsize);
}

.font100 {
  --fontsize: 10.0rem;
  font-size: var(--fontsize);
}

.font60 {
  --fontsize: 6.0rem;
  font-size: var(--fontsize);
}

.font50 {
  --fontsize: 5.0rem;
  font-size: var(--fontsize);
}

.font46 {
  --fontsize: 4.6rem;
  font-size: var(--fontsize);
}

main .visual {
  width: 100%;
}
main .visual .box {
  padding: 100px 0 0;
}
main .visual .slideWrap {
  position: relative;
}
main .visual .slideWrap button {
  width: 70px;
  height: 70px;
  background: var(--color-white);
  border-radius: 50%;
  position: absolute;
  top: 50%;
  z-index: 1;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
}
main .visual .slideWrap button img {
  width: 7px;
  height: 12px;
}
main .visual .slideWrap .prevButton {
  left: -35px;
}
main .visual .slideWrap .nextButton {
  right: -35px;
}
main .visual .slideBox {
  width: 100%;
  position: relative;
  overflow: hidden;
}
main .visual .swiper-slide {
  min-height: 380px;
  padding: 11.1765% 0;
}
main .visual .bg,
main .visual .text {
  width: 100%;
  height: 100%;
}
main .visual .bg {
  border-radius: 15px;
  z-index: -1;
  overflow: hidden;
  transition: all 1.6s linear;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
main .visual .bg.bg1 {
  background-image: url("/img/main/visualBg1.png");
}
main .visual .bg.bg2 {
  background-image: url("/img/main/visualBg2.png");
}
main .visual .bg.bg3 {
  background-image: url("/img/main/visualBg3.png");
}
main .visual .bg.bg4 {
  background-image: url("/img/main/visualBg4.png");
}
main .visual .bg.bg5 {
  background-image: url("/img/main/visualBg5.png");
}
main .visual .text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 150px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
main .visual .text * {
  color: var(--color-white);
}
main .visual .text h2 {
  font-weight: 700;
}
main .visual .text p {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.5;
  margin: 20px 0 30px;
}
main .visual .keyword {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
main .visual .keyword span {
  display: inline-block;
  border: 1px solid var(--color-white);
  border-radius: 40px;
  padding: 10px 20px;
}
main .searchRadius .inner {
  padding: 60px 0;
}
main .video {
  margin-top: 100px;
}
main .video .column {
  gap: 100px 0;
}
main .video .top {
  margin: 0 0 30px;
}
main .video h5 {
  color: #111;
  font-size: 3rem;
  font-weight: 700;
}
main .video .circleButton {
  margin: 40px auto 0;
}
main .video .contents .top,
main .video .contents .optionBox,
main .video .contents .buttons {
  display: flex;
  flex-direction: row;
  align-items: center;
}
main .video .contents .top {
  justify-content: space-between;
}
main .video .contents .optionBox {
  gap: 0 30px;
}
main .video .contents .pagination {
  display: flex;
  gap: 0 10px;
  color: #aaa;
  font-size: 2rem;
  font-weight: 800;
}
main .video .contents .pagination .swiper-pagination-current {
  color: var(--color-black);
}
main .video .contents .buttons {
  gap: 0 10px;
}
main .video .contents .buttons button {
  width: 50px;
  height: 50px;
  border: 1px solid #ddd;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
main .video .contents .buttons button .svg {
  width: 7px;
  height: 12px;
}
main .video .contents .buttons .arrowCls {
  fill: #aaa;
}
main .video .contents .slideBox {
  overflow: hidden;
}
main .number {
  height: 100vh;
}
main .number .box {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: row;
  align-items: center;
}
main .number .w1500 {
  height: auto;
}
main .number .itemBox {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin: 80px 0 0;
}
main .number .item {
  padding: 50% 0;
  position: relative;
  opacity: 0;
  transition: all 0.8s ease-in-out;
}
main .number .item * {
  color: var(--color-white);
}
main .number .item h6 {
  font-size: 2.2rem;
  font-weight: 600;
  margin: 0 0 10px;
}
main .number .item span {
  font-size: 10rem;
  font-weight: 800;
  font-family: var(--font-roboto);
}
main .number .item em {
  font-size: 4rem;
  font-weight: 600;
}
main .number .blue,
main .number .green {
  border-radius: 50%;
}
main .number .blue {
  background: #1766FE;
}
main .number .white {
  background: #FFFFFF;
  border-radius: 50% 50% 0 0;
  transform: translateX(-100%) rotate(-45deg);
}
main .number .white h6 {
  color: #333;
}
main .number .white span, main .number .white em {
  color: #111;
}
main .number .green {
  background: #00DCA7;
  transform: translateX(-200%);
}
main .number .purple {
  background: #9747FF;
  border-radius: 0 50% 50% 0;
  transform: translateX(-300%);
}
main .number .inner {
  flex-direction: column;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
main .number .itemBox.on .item {
  opacity: 1;
  transform: translateX(0);
}
main .partner .itemBox {
  margin: 30px 0 0;
}
main .partner .logoBox,
main .partner ul,
main .partner ul li {
  display: flex;
}
main .partner .logoBox {
  position: relative;
}
main .partner .toLeft {
  justify-content: flex-start;
}
main .partner .toRight {
  justify-content: flex-end;
}
main .partner ul {
  padding: 30px 0;
}
main .partner ul li {
  width: 240px;
  height: 100px;
  background: var(--color-white);
  border-radius: 20px;
  box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.1);
  align-items: center;
  justify-content: center;
  margin: 0 15px;
}