.mainvisual {
  position: relative;
  padding: 70vh 0 0;
}
@media only screen and (min-width: 768px) {
  .mainvisual {
    height: 600px;
  }
}

.mainvisual--item {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}
@media only screen and (min-width: 768px) {
  .mainvisual--item {
    padding: 0 100px;
  }
}
@media only screen and (min-width: 1601px) {
  .mainvisual--item {
    width: 1600px;
  }
}

.mainvisual--title {
  font-size: 7.8226857888vw;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .mainvisual--title {
    font-size: 48px;
    text-align: left;
  }
}

.mainvisual--text {
  font-size: 3.3898305085vw;
  line-height: 2;
  margin: 5.8670143416vw 0 0;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .mainvisual--text {
    font-size: 16px;
    margin: 30px 0 0;
    text-align: left;
  }
}