:root {
  --wrapWidth: 1500px;
}

* {
  box-sizing: border-box;
  outline: none !important;
}

html,
body {
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
}

body {
  background: linear-gradient(90deg, #2C4483 8.72%, #B5C7F8 94.93%);
  font-family: 'Montserrat', Tahoma, sans-serif;
  font-size: 20px;
  color: #fff;
  line-height: 1.2;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

a {
  color: inherit;
  text-decoration: none;
  transition: .3s ease-in-out;
}

img, svg {
  max-width: 100%;
  vertical-align: middle;
}

header {
  width: 100%;
  padding: 74px 0 0;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
}

.wrap {
  width: 100%;
  max-width: var(--wrapWidth);
  height: 100%;
  padding: 0 30px;
  margin: 0 auto;
  position: relative;
}

nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: flex-start;
  -ms-flex-pack: flex-start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  -webkit-align-items: stretch;
  align-items: stretch;
  gap: 50px;
}

nav a {
  font-family: 'jejugothic', Helvetica, sans-serif;
  font-size: 13px;
  letter-spacing: .055em;
  display: flex;
  align-items: center;
  position: relative;
}

nav a:first-of-type {
  margin: 0 20px 0 0;
}

nav a path {
  transition: .3s ease-in-out;
}

nav a:hover,
nav a.current {
  color: #FF9D0A;
  -webkit-text-stroke: .3px #FF9D0A;
}

nav a:hover path,
nav a.current path {
  fill: #FF9D0A;
}

nav a::before {
  content: '';
  width: 78px;
  height: 17px;
  background-color: #FF9D0A;
  border-bottom-right-radius: 20px;
  border-bottom-left-radius: 20px;
  position: absolute;
  top: 0;
  left: 50%;
  opacity: 0;
  z-index: 1;
  transform: translate(-50%, -74px);
  transition: .3s ease-in-out;
}

nav a.current::before {
  opacity: 1;
}

.logo {
  position: fixed;
  top: 0;
  z-index: 1;
  transform: translateY(440px);
  transition: .3s ease-in-out;
}

.arrow-down {
  position: fixed;
  bottom: 60px;
  transform: translateX(10px);
  transition: .3s ease-in-out;
  z-index: 1;
  cursor: pointer;
}

.arrow-down path {
  transition: .3s ease-in-out;
}

.arrow-down:hover path {
  fill: #FF9D0A;
}

.swiper {
  width: 100%;
  height: 100%;
}

.mySwiper>.swiper-pagination {
  top: 385px !important;
  right: calc((100% - var(--wrapWidth) + 60px) / 2) !important;
  transform: none !important;
}

.mySwiper>.swiper-pagination>.swiper-pagination-bullet {
  width: 35px;
  height: 35px;
  background: transparent;
  border: 3px solid #fff;
  margin: 0 0 22px !important;
  position: relative;
  opacity: 1 !important;
}

.mySwiper>.swiper-pagination>.swiper-pagination-bullet::before {
  content: '';
  display: block;
  width: 12px;
  height: 12px;
  background: #fff;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: .3s ease-in-out;
}

.mySwiper>.swiper-pagination>.swiper-pagination-bullet-active::before {
  opacity: 1 !important;
}

.swiper-slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}

.mySwiper .wrap {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.slide-slogan {
  line-height: 1;
  position: absolute;
  top: 0;
  left: 30px;
  transform: translateY(618px);
}

.slide-cols {
  width: 649px;
  height: 319px;
  font-family: 'jejugothic', Helvetica, sans-serif;
  padding: 92px 68px 32px 87px;
  position: absolute;
  top: 386px;
  right: 361px;
}

.mySwiper2 {
  opacity: 0;
  transform: translateY(-20px);
  transition: .3s ease-in-out .2s;
}

.swiper-slide-active .mySwiper2 {
  opacity: 1;
  transform: translateY(0);
}

.mySwiper2>.swiper-pagination {
  text-align: left;
}

.mySwiper2>.swiper-pagination>.swiper-pagination-bullet {
  width: auto;
  height: auto;
  font-size: 20px;
  background: transparent;
  border-radius: 0;
  margin: 0 5px !important;
}

.mySwiper2 .swiper-slide {
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 13px;
}

.mySwiper2 .slide-title {
  font-size: 19px;
}

.mySwiper2 .slide-desc {
  font-size: 13px;
}

.slide-circle {
  width: 460px;
  height: 460px;
  padding: 90px;
  border-radius: 50%;
  position: absolute;
  top: 211px;
  right: 545px;
}

.mySwiper3 .swiper-slide {
  flex-direction: column;
  gap: 50px;
}

.mySwiper3 .swiper-slide:not(.swiper-slide-visible) {
  opacity: 0 !important;
}

.slide-rows {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 35px;
  width: 674px;
  height: 261px;
  padding: 84px 0 0 198px;
  position: absolute;
  top: 365px;
  right: 359px;
}

.addr,
.phone {
  display: flex;
  align-items: center;
  gap: 13px;
  font-size: 13px;
  letter-spacing: .055em;
  line-height: 1.5;
}

.addr span {
  max-width: 240px;
}

.slide-bg {
  width: 100%;
  height: 100%;
  text-align: right;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.slide-bg img {
  height: 100%;
}

.bg {
  width: 1368px;
  height: 100%;
  position: fixed;
  top: 0;
  right: -217px;
}

.bg svg {
  transition: .3s ease-in-out;
}

.bg svg,
.bg[data-slide="slide0"] svg {
  transform: translateY(104px);
}

.bg[data-slide="slide1"] svg {
  transform: translateY(-980px);
}

.bg[data-slide="slide2"] svg {
  transform: translateY(-2060px);
}

.bg[data-slide="slide3"] svg {
  transform: translateY(-3140px);
}

#bg__md,
#bg__sm {
  display: none;
}

footer {
  width: 100%;
  height: 155px;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 999;
}

footer::before {
  content: '';
  display: block;
  width: calc(100% - 425px);
  max-width: 1574px;
  height: 100%;
  background-color: #2C4482;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: -1;
}

footer .wrap {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.social {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 240px;
  height: 100%;
  background-color: #2654CB;
  border-radius: 84px 0px 0px 0px;
}

.policy {
  flex-basis: calc(100% - 348px);
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 10px;
  height: 100%;
  background-color: #2c4482;
  text-align: right;
}

.policy a {
  font-size: 13px;
}

@media screen and (max-width: 1440px) {
  :root {
    --wrapWidth: 1260px;
  }

  .logo {
    transform: translateY(272px);
  }

  .mySwiper>.swiper-pagination {
    top: 291px !important;
    right: 60px !important;
  }

  .slide-slogan {
    transform: translateY(449px);
  }

  .slide-cols {
    top: 287px;
    right: 120px;
  }

  .slide-circle {
    top: 139px;
    right: 303px;
  }

  .slide-rows {
    top: 228px;
    right: 118px;
  }

  .bg {
    right: -458px;
  }

  .bg svg,
  .bg[data-slide="slide0"] svg {
    transform: translateY(46px);
  }

  .bg[data-slide="slide1"] svg {
    transform: translateY(-854px);
  }

  .bg[data-slide="slide2"] svg {
    transform: translateY(-1754px);
  }

  .bg[data-slide="slide3"] svg {
    transform: translateY(-2654px);
  }

  #bg__md {
    display: block;
  }

  #bg__lg {
    display: none;
  }
}

@media screen and (max-width: 980px) {

  header, footer {
    background-color: #2C4482;
  }

  header {
    height: 70px;
    padding: 0;
  }

  header .wrap {
    display: flex;
    align-items: center;
    padding: 0 20px;
  }

  .logo {
    left: 50%;
    transform: translate(-50%, 119px);
  }

  .arrow-down {
    bottom: 34px;
  }

  nav {
    width: 100%;
    justify-content: space-between;
  }

  nav a:not(:first-of-type):not(:last-of-type) {
    display: none;
  }

  nav a::before {
    display: none;
  }

  .mySwiper>.swiper-pagination {
    display: none;
  }

  .slide-slogan {
    max-width: 220px;
    left: 50%;
    transform: translate(-50%, 281px);
  }

  .slide-cols {
    max-width: 315px;
    padding: 85px 40px 25px 65px;
    top: 384px;
    right: 50%;
    transform: translateX(50%);
  }

  .slide-circle {
    max-width: 315px;
    max-height: 315px;
    padding: 70px 60px;
    top: 356px;
    right: 50%;
    transform: translateX(50%);
  }

  .slide-circle img {
    max-width: 60px;
  }

  .slide-rows {
    max-width: 350px;
    padding: 98px 34px 64px;
    top: 294px;
    right: 50%;
    transform: translateX(55%);
  }

  .swiper-slide[data-hash="contact"] .slide-slogan {
    display: none;
  }

  .mySwiper3 .swiper-slide {
    gap: 30px;
  }

  footer {
    padding: 31px 0 24px;
  }

  footer .wrap {
    flex-direction: column;
    gap: 25px;
  }

  .social {
    height: auto;
    background-color: transparent;
    border-radius: 0;
  }

  .policy {
    flex-basis: auto;
    align-items: center;
    height: auto;
    text-align: center;
  }

  .bg {
    width: 671px;
    right: 50%;
    transform: translateX(69.5%);
  }

  .bg svg,
  .bg[data-slide="slide0"] svg {
    transform: translateY(340px);
  }

  .bg[data-slide="slide1"] svg {
    transform: translateY(-472px);
  }

  .bg[data-slide="slide2"] svg {
    transform: translateY(-1284px);
  }

  .bg[data-slide="slide3"] svg {
    transform: translateY(-2096px);
  }

  #bg__sm {
    display: block;
  }

  #bg__md {
    display: none;
  }

  footer {
    transform: translateY(100%);
    transition: transform .3s ease-in-out;
  }
}

@media screen and (min-width: 1921px) {
  .mySwiper>.swiper-pagination {
    right: 60px !important;
  }
}

@font-face {
  font-family: 'jejugothic';
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/jejugothic.ttf');
}