.header-slide {
  transform: translateY(-100%);
  opacity: 0;
  transition: transform 0.8s ease-out, opacity 0.8s ease-out;
  z-index: 999;
}
.header-slide.show {
  transform: translateY(0);
  top: 0;
  opacity: 1;
}
.header-slide .nav {
  display: flex;
  justify-content: space-between;
  height: 95px;
}
.header-slide .nav .logo {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-left: 30px;
  height: 100%;
}
.header-slide .nav .logo img {
  width: 156px;
  height: auto;
}

.main-slider {
  background: #000000;
  /* PHOTO REVEAL */
  /* BORDER */
}
.main-slider #loader[hidden] {
  display: none !important;
}
.main-slider #loader {
  position: fixed;
  inset: 0;
  top: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: #000000;
}
.main-slider #loader .text-mask {
  height: 4rem;
  width: 100%;
  overflow: hidden;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 40px;
}
.main-slider #loader .text-mask .text {
  position: absolute;
  bottom: 0;
  opacity: 1;
  clip-path: inset(100% 0 0 0);
}
@media screen and (max-width: 490px) {
  .main-slider #loader .text-mask .text img {
    width: 200px;
  }
}
.main-slider #loader .progress-bar-container {
  width: 397px;
  height: 20px;
  overflow: hidden;
}
.main-slider #loader .progress-bar-container .progress-bar {
  width: 0%;
  height: 100%;
  background: url("../..//assets/images/slider-img/progress-bar.png") no-repeat;
  transition: width 0.1s linear;
}
.main-slider #loader .percentage {
  font-size: 1.3rem;
  color: white;
  margin-top: 20px;
  font-family: "Oswald", sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 600px) {
  .main-slider #loader .text-mask {
    height: 3rem;
    margin-bottom: 20px;
  }
  .main-slider #loader .text-mask .text {
    line-height: 1;
    position: absolute;
    bottom: 0;
    opacity: 1;
    background-color: #000000;
    clip-path: inset(100% 0 0 0);
  }
  .main-slider #loader .progress-bar-container {
    width: 199px;
    height: 10px;
    overflow: hidden;
  }
  .main-slider #loader .percentage {
    font-size: 14px;
    color: white;
    margin-top: 20px;
  }
}
.main-slider #photo {
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgb(146, 146, 146);
  clip-path: circle(0% at 50% 50%);
  transition: clip-path 2s ease-in-out;
  overflow: hidden;
  z-index: -1;
}
.main-slider #photo img {
  width: 100vw;
  height: 100vh;
  -o-object-fit: cover;
     object-fit: cover;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}
.main-slider #photo .photo-text {
  position: absolute;
  top: 0%;
  opacity: 0;
  font-size: 8rem;
  color: white;
  transition: all 2.2s ease;
  font-family: "Oswald", sans-serif;
  font-weight: 400;
  text-align: left;
  line-height: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 11%;
  height: 100vh;
  width: 80vw;
}
.main-slider #photo .photo-text span {
  display: flex;
  margin-top: 20px;
}
.main-slider #photo .photo-text span img {
  max-width: 285px;
  height: auto;
  position: relative;
}
@media screen and (max-width: 600px) {
  .main-slider #photo .photo-text {
    font-size: 4.9rem;
    align-items: flex-start;
    padding: 37px;
    left: 0%;
    left: 0%;
    top: 5%;
  }
  .main-slider #photo .photo-text span {
    margin-top: 10px;
  }
  .main-slider #photo .photo-text span img {
    max-width: 229px;
    height: auto;
  }
}
.main-slider .photo-border {
  position: absolute;
  top: 95px;
  left: 0;
  width: 100%;
  height: 89%;
  pointer-events: none;
  z-index: 2;
  overflow-x: hidden;
}
.main-slider .photo-border div {
  position: absolute;
}
.main-slider .photo-border .border-left,
.main-slider .photo-border .border-right {
  position: absolute;
  top: 0;
  height: 100%;
  width: 0;
  background: white;
  opacity: 0;
  transition: all 2s ease;
}
.main-slider .photo-border .border-left {
  left: 0;
  transform: translateX(-20px);
  background: url("../..//assets/images/slider-img/border.svg") no-repeat;
}
.main-slider .photo-border .border-right {
  right: 0;
  background: url("../..//assets/images/slider-img/border.svg") no-repeat;
  transform: scaleX(-1);
}
@media screen and (max-width: 600px) {
  .main-slider .photo-border {
    top: 0px;
    height: 100vh;
  }
  .main-slider .photo-border .border-left {
    background: url("../..//assets/images/slider-img/border-sp.svg") no-repeat;
  }
  .main-slider .photo-border .border-right {
    background: url("../..//assets/images/slider-img/border-sp.svg") no-repeat;
  }
}