@media (min-width: 768px) {
  .header {
    background-color: rgba(255, 255, 255, 0.8);
  }
}

.fv {
  background-image: url(../img/common/bg_blue.png);
  background-position: top center;
  background-repeat: repeat;
  background-size: auto;
  text-shadow: 2px 2px 6px rgba(62, 81, 146, 0.5), -2px -2px 6px rgba(62, 81, 146, 0.5), -2px 2px 6px rgba(62, 81, 146, 0.5), 2px -2px 6px rgba(62, 81, 146, 0.5);
}
@media (min-width: 768px) {
  .fv {
    height: 380px;
    padding-top: 90px;
  }
}
@media (max-width: 767px) {
  .fv {
    height: 53.73vw;
    padding-top: 70px;
  }
}
.fv__head {
  color: #fff;
}
.fv__head .en {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  letter-spacing: 0.02em;
}
@media (min-width: 768px) {
  .fv__head .en {
    font-size: 68px;
  }
}
@media (max-width: 767px) {
  .fv__head .en {
    font-size: 9.2vw;
  }
}
.fv__head .ja {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  letter-spacing: 0.02em;
}
@media (min-width: 768px) {
  .fv__head .ja {
    font-size: 24px;
  }
}
@media (max-width: 767px) {
  .fv__head .ja {
    font-size: 4vw;
  }
}
.fv__head.is-active {
  --x: 0;
}
.fv__head .char {
  overflow: hidden;
}
.fv__head .char-text {
  display: inline-block;
  transform: translateX(var(--x, -101%));
  transition: transform 0.6s cubic-bezier(0.77, 0, 0.175, 1);
  transition-delay: calc(0.05s * var(--char-index));
}

@media (min-width: 768px) {
  .privacy {
    padding: 70px 0 120px;
  }
}
@media (max-width: 767px) {
  .privacy {
    padding: 30px 0 50px;
  }
}
@media (min-width: 768px) {
  .privacy__wrapper {
    max-width: 930px;
    padding: 0 20px;
  }
}
.privacy__body {
  color: #686868;
  line-height: 40px;
}
.privacy__title {
  font-size: 16px;
  color: #3e5192;
}