@import url(./header.css);
@import url(./footer.css);
@import url(./popup.css);

:root {
  --main-padding: calc((100% - 1400px) / 2);
}

@media (max-width: 1450px) {
  :root {
    --main-padding: 4%;
  }
}

* {
  word-break: keep-all;
}

[data-trigger] {
  opacity: 0;
  transform: translateY(100px);
  transition: 0.5s ease;
}
[data-trigger].visible {
  transform: translateY(0);
  opacity: 1;
}

.visual_wrap {
  opacity: 0;
  transform: translateY(100px);
  animation: visual 0.5s ease forwards;
}

@keyframes visual {
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

.visual_wrap .title {
  padding: 140px var(--main-padding) 20px;
  display: flex;
  flex-direction: column;
}

.visual_wrap .title sub {
  color: #222;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: -0.56px;
}

.visual_wrap .title span {
  color: #222;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
}

.visual_wrap .video {
  padding: 0 var(--main-padding);
  height: 390px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  background: #000;
  overflow: hidden;
  position: relative;
}

.visual_wrap .video::before {
content: "";
width: 100%;
height: 100%;
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
background: #000;
opacity: 0.75;
}

.visual_wrap .video * {
  position: relative;
  z-index: 2;
}

.visual_wrap .video h1 {
  color: #fff;
  font-size: 36px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: -1.44px;
}

.visual_wrap .video p {
  color: #fff;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: -0.72px;
  margin-top: 10px;
  margin-bottom: 15px;
}

.visual_wrap .video button {
  display: flex;
  padding: 11px 31px 11px 23px;
  justify-content: center;
  align-items: center;
  gap: 6px;
  color: #111;
  font-size: 16px;
  font-weight: 400;
  line-height: 136.2%;
  border-radius: 3px;
  background: linear-gradient(0deg, #66fcb8 0%, #5fe5da 100%);
}

.visual_wrap .video video {
  width: 100%;
  height: 100%;
  pointer-events: none;
  position: absolute;
  object-fit: cover;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 0;
  filter: brightness(0.6);
  z-index: 0;
}

.anim_hover {
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.anim_hover::before {
  content: "";
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #66fcb8 0%, #5fe5da 100%);
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transition: 0.25s ease;
  opacity: 0;
}

.anim_hover:hover::before {
  opacity: 1;
}

@media (max-width: 1024px) {
  .visual_wrap .title {
    align-items: center;
    text-align: center;
    padding-top: 100px;
  }

  .visual_wrap .video h1 {
    font-size: 28px;
  }

  .visual_wrap .video p {
    font-size: 16px;
  }

  .visual_wrap .video {
    height: fit-content;
    padding: 30px var(--main-padding);
  }
}

.br_768 {
  display: none;
}

@media (max-width: 768px) {
  .br_768 {
    display: block;
  }

  .visual_wrap .video h1 {
    font-size: 20px;
  }
}
