.chara {
  padding-top: 110px;
}

.chara-group {
  margin-top: 50px;
}

.chara-group ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.chara-group ul>li {
  margin: 0 5px;
}

.chara-group ul>li>a {
  position: relative;
  display: block;
}

.chara-group ul>li>a>img {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.chara-group ul>li>a>img:first-of-type {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

.chara-group ul>li>a>img:last-of-type {
  opacity: 0;
}

.chara-group ul>li>a.on>img:first-of-type {
  opacity: 0;
}

.chara-group ul>li>a.on>img:last-of-type {
  opacity: 1;
}

.chara-list {
  background-image: url(/wp-content/themes/ikemen/title/sengoku/original/renew/img/chara/list_bg.png);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  padding: 50px 0 55px;
  display: none;
  position: relative;
  z-index: 2;
}

.chara-list ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.chara-list ul>li {
  margin: 0 5px;
}

.chara-list ul>li>a {
  position: relative;
  display: block;
}

.chara-list ul>li>a>img {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.chara-list ul>li>a>img:first-of-type {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

.chara-list ul>li>a>img:last-of-type {
  opacity: 0;
}

.chara-list ul>li>a.on>img:first-of-type {
  opacity: 0;
}

.chara-list ul>li>a.on>img:last-of-type {
  opacity: 1;
}

.chara-detail {
  position: relative;
}

.chara-detail img {
  width: 100%;
}

.chara-detail-bg {
  margin-top: -42px;
}

.chara-detail-kamon {
  position: absolute;
  top: 5.48446%;
  right: 18.75%;
  width: 22.25%;
  opacity: 0;
  margin-top: 10px;
}

.chara-detail-kamon.on {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  opacity: 1;
  margin-top: 0;
  -webkit-transition-delay: 0.1s;
  transition-delay: 0.1s;
}

.chara-detail-word {
  position: absolute;
  top: 8.22669%;
  left: 0%;
  width: 100%;
  opacity: 0;
  margin-left: -10px;
}

.chara-detail-word.on {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  opacity: 1;
  margin-left: 0;
}

.chara-detail-intro {
  position: absolute;
  top: 25.59415%;
  left: 0;
  width: 69.0625%;
  opacity: 0;
  margin-left: -10px;
}

.chara-detail-intro.on {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  opacity: 1;
  margin-left: 0;
  -webkit-transition-delay: 0.1s;
  transition-delay: 0.1s;
}

.chara-detail-profile {
  position: absolute;
  top: 55.30165%;
  left: 19.6875%;
  width: 29.8125%;
  opacity: 0;
  margin-left: -10px;
}

.chara-detail-profile.on {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  opacity: 1;
  margin-left: 0;
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
}

.chara-detail-name {
  position: absolute;
  top: 10.05484%;
  right: 13.375%;
  width: 13.375%;
  opacity: 0;
  margin-top: 10px;
}

.chara-detail-name.on {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  opacity: 1;
  margin-top: 0;
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
}

.chara-detail-voice {
  position: absolute;
  top: 46.61792%;
  right: 18.75%;
  width: 3.75%;
  opacity: 0;
  margin-top: 10px;
  z-index: 2;
}

.chara-detail-voice.on {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  opacity: 1;
  margin-top: 0;
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
}

.chara-detail-pic {
  position: absolute;
  top: 5.48446%;
  left: 40.625%;
  width: 39.25%;
  opacity: 0;
  margin-top: 10px;
}

.chara-detail-pic.on {
  -webkit-transition: 0.3s;
  transition: 0.3s;
  opacity: 1;
  margin-top: 0;
}

.chara-detail-prev,
.chara-detail-next {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 50px;
  height: 50px;
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.chara-detail-prev:hover,
.chara-detail-next:hover {
  opacity: 0.8;
}

.chara-detail-prev {
  left: 13.4375%;
}

.chara-detail-next {
  right: 13.4375%;
}

.chara-card {
  position: relative;
}

.chara-card>img {
  width: 100%;
}

.chara-diagram {
  padding: 70px 0 120px;
}

.chara-diagram-btn {
  text-align: center;
  position: relative;
}

.chara-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2000;
}

.chara-modal-bg {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #000;
  width: 100%;
  height: 100%;
  opacity: 0.8;
  cursor: pointer;
}

.chara-modal-pic {
  position: absolute;
  width: 50%;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.chara-modal-pic>img {
  width: 100%;
}

#nav {
  background-position: center center;
  background-image: url(/wp-content/themes/ikemen/title/sengoku/original/renew/img/common/bg.jpg);
}

@media screen and (max-width: 767px) {
  .chara {
    padding-top: 40px;
  }

  .chara-group {
    margin-top: 30px;
  }

  .chara-group ul>li {
    margin: 0 2px;
  }

  .chara-list {
    background-image: url(/wp-content/themes/ikemen/title/sengoku/original/renew/img/chara/list_bg_sp.png);
    padding: 35px 0 40px;
  }

  .chara-list ul {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .chara-list ul>li {
    width: 23%;
    margin: 0;
    margin-right: 2.666666666666%;
  }

  .chara-list ul>li:nth-of-type(4n) {
    margin-right: 0;
  }

  .chara-list ul>li:nth-of-type(n+5) {
    margin-top: 2.666666666666%;
  }

  .chara-detail-bg {
    margin-top: -24px;
  }

  .chara-detail-kamon {
    top: 6.00437%;
    right: 5.33333%;
    width: 50.66667%;
  }

  .chara-detail-word {
    top: 2.18341%;
    left: 5.33333%;
    width: 15.46667%;
  }

  .chara-detail-intro {
    top: 52.22271%;
    width: 100%;
    z-index: 2;
  }

  .chara-detail-profile {
    top: 70.78166%;
    left: 5.33333%;
    width: 89.33333%;
    z-index: 2;
  }

  .chara-detail-name {
    top: 3.82096%;
    right: 5.33333%;
    width: 26%;
  }

  .chara-detail-voice {
    top: 24.56332%;
    right: 14%;
    width: 10.66667%;
  }

  .chara-detail-pic {
    top: 9.00655%;
    left: 0%;
    width: 92%;
  }

  .chara-detail-prev,
  .chara-detail-next {
    width: 40px;
    height: 44px;
    bottom: auto;
    top: 35%;
  }

  .chara-detail-prev {
    left: 10px;
  }

  .chara-detail-next {
    right: 10px;
  }

  .chara-diagram {
    padding: 40px 0 60px;
  }

  .chara-diagram-btn {
    width: 275px;
    margin: 0 auto;
  }

  .chara-modal-pic {
    width: 80%;
  }

  #nav {
    background-size: 400px;
  }
}