.cast-frame {
  position: relative;
  width: 100%;
  color: #fff;
}

.cast-name-inner {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin: 0 0 03rem;
}

.cast-name {
  padding: 0 2rem 0 0;
  font-size: 60px;
  font-weight: 300;
  line-height: 1;
}

.cast-name::first-letter {
  padding-right: 0.35em;
}

.cast-name-eng {
  padding: 0 2rem 0 0;
  font-size: 18px;
  font-family: "Orbitron", sans-serif;
  letter-spacing: 0.3em;
  line-height: 1;
}

.cast-icon {
  width: 45px;
  padding: 0 15px 0 0;
}

.cast-frame p {
  width: 100%;
  color: #fff;
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 2;
}

.cast-image {
  position: absolute;
  width: 44%;
  bottom: 0;
  right: 6%;
  z-index: 2;
}

.cast-image img {
  vertical-align: bottom;
}

.team {
  width: 100%;
  margin: 0 0 4rem;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
}

.team:last-child {
  margin: 0;
}

.team-title {
  width: 100%;
  margin: 0 0 1.5em;
  padding: 0 0 0.3em;
  font-size: 20px;
  border-bottom: #ff0064 solid 1px;
  font-family: "Orbitron", sans-serif;
}

.team-item {
  width: 22%;
  margin: 0 4% 0 0;
  text-align: center;
}

.thumb {
  position: relative;
  width: 100%;
}

.coach {
  display: inline-block;
  position: absolute;
  width: auto;
  padding: 0 1em;
  top: 0;
  left: 0;
  font-family: "Orbitron", sans-serif;
  color: #fff;
  font-size: 12px;
  background-color: #ff0064;
}

.thumb img {
  width: 100%;
  border: #ff0064 solid 1px;
}

.team-item p,
.team-item-2 p {
  font-size: 14px;
  margin: 0.5em 0;
}

.sns {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  text-align: center;
}

.sns-item {
  width: 13%;
  margin: 0 3%;
}

.team-item-2 {
  width: 22%;
  margin: 0 4% 0;
  text-align: center;
}

@media screen and (min-width: 1px) and (max-width: 743px) {

  .cast-frame {
    padding-bottom: 95%;
  }

  .cast-name-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 0 2rem;
  }

  .cast-name {
    padding: 0 1.5rem 0 0;
    font-size: 11vw;
  }

  .cast-name::first-letter {
    padding-right: 0.25em;
  }

  .cast-name-eng {
    padding: 0 1rem 0 0;
    font-size: 4vw;
  }

  .cast-icon {
    width: 12%;
    padding: 0 4% 0 0;
  }

  .cast-icon:last-child {
    padding: 0;
  }

  .cast-frame p {
    font-size: 3.2vw;
  }

  .cast-image {
    width: 70%;
    bottom: 0;
    right: 25%;
    z-index: 2;
  }

  .team {
    margin: 0 0 3rem;
  }

  .team-title {
    margin: 0 0 1.5em;
    padding: 0 0 0.2em;
    font-size: 4.267vw;
  }

  .team-item {
    width: 46%;
    margin: 0 8% 2rem 0;
  }

  .coach {
    font-size: 2.8vw;
  }


  .team-item:nth-child(3n),
  .team-item:nth-child(5n) {
    margin: 0;
  }

  .team-item p,
  .team-item-2 p {
    font-size: 3.2vw;
    margin: 0.2em 0 0.5em;
  }

  .sns-item {
    width: 16%;
    margin: 0 4%;
  }

  .team-item-2 {
    width: 46%;
    margin: 0 8% 2rem 0;
  }

  .team-item-2:nth-child(3n),
  .team-item-2:nth-child(5n) {
    margin: 0;
  }

}

@media screen and (min-width: 744px) and (max-width: 1024px) {

  .cast-name {
    font-size: 6.51vw;
  }

  .cast-name-eng {
    padding: 0 0.6em 0 0;
    font-size: 2.083vw;
  }

  .cast-icon {
    width: 6.5%;
    padding: 0 1.5% 0 0;
  }

  .cast-frame p {
    font-size: 1.563vw;
  }

  .cast-image {
    right: 0;
  }

  .team-title {
    font-size: 2.344vw;
  }

  .team-item p,
  .team-item-2 p {
    font-size: 1.823vw;
  }

  .coach {
    font-size: 1.563vw;
  }

  .team-item:nth-child(5n) {
    width: 22%;
    margin: 0 0 0 0;
  }

  .team-item:nth-child(6n) {
    margin: 3rem 0 0 0;
  }

  .team-item-2:nth-child(5n) {
    margin: 3rem 4% 0 4%;
  }

  .team-item-2:nth-child(6n) {
    margin: 3rem 4% 0 4%;
  }

}

@media screen and (min-width: 1025px) {
  .team-item:nth-child(5n) {
    width: 22%;
    margin: 0 0 0 0;
  }

  .team-item:nth-child(6n) {
    margin: 3rem 0 0 0;
  }

  .team-item-2:nth-child(5n) {
    margin: 3rem 4% 0 4%;
  }

  .team-item-2:nth-child(6n) {
    margin: 3rem 4% 0 4%;
  }
}