.cmn-btn-wrap {
  display: flex;
  justify-content: center;
}

.fv {
  position: relative;
}

.fv__bg img {
  max-width: 100%;
  height: auto;
}

.image img {
  max-width: 100%;
  height: auto;
}

.fv__detail {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.fv__ttl {
  font-size: min(56px, 3.888vw);
  color: #FFF;
  font-weight: 700;
}

.purpose {
  padding: 140px 0 90px;
}

.purpose__lead.is-logo {
  margin: 70px auto 56px;
  width: 90%;
  max-width: 690px;
}

.purpose__lead {
  font-size: 30px;
  font-weight: 700;
  line-height: 1.5;
  margin: 70px 0 56px;
}

.purpose__lead img {
  max-width: 100%;
  height: auto;
}

.purpose__video {
  margin-top: 90px;

  video {
    width: 100%;
  }
}

.vision__img {
  margin-top: 90px;
}

.mission {
  padding: 149px 0 0;
}

.foundation {
  padding: 149px 0 90px;
}

.hanasaka {
  padding: 0 0 91px;
}

@media screen and (max-width: 660px) {
  .fv__detail {
    padding-left: 0;
    justify-content: center;
  }

  .fv__ttl {
    font-size: 30px;
  }

  .fv__bg {
    height: 400px;
  }

  .fv__bg img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    object-position: right bottom;
  }

  .purpose {
    padding: 40px 0 60px;
  }

  .purpose__lead {
    font-size: 16px;
    margin: 30px auto 30px;
  }

  .purpose__video {
    margin-top: 10px;
  }

  .vision__img {
    margin-top: 20px;
  }

  .mission {
    padding: 60px 0 0;
  }

  .foundation {
    padding: 60px 0 0;
  }

  .hanasaka {
    padding: 0 0 40px;
  }

  .spirit {
    padding: 0 0 40px;
  }

  .sp-none {
    display: none;
  }
}