.chara {
  padding: min(100px, 9%) 0;
  background-image: url(../img/common/bg_main.jpg);
  background-repeat: repeat-y;
  background-size: 100%;
}

.chara-nav {
  padding: 0 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 1140px;
  margin: 0 auto;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 8px;
}

.chara-nav>li {
  width: calc((100% - 88px) / 12);
}

.chara-nav>li>a {
  display: block;
  position: relative;
  -webkit-filter: brightness(1) drop-shadow(0 0 4px rgba(0, 0, 0, 0.7));
  filter: brightness(1) drop-shadow(0 0 4px rgba(0, 0, 0, 0.7));
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

.chara-nav>li>a.on {
  pointer-events: none;
}

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

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

.chara-nav>li>a>img {
  position: relative;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.chara-nav>li>a>img:last-of-type {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
}

.chara-detail {
  margin-top: min(130px, 11.8181818182%);
  position: relative;
  padding: 0 20px;
  background-image: url(../img/common/bg_02.png);
  background-position: center top;
  color: #fff;
}

.chara-detail-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.chara-detail-bg>li {
  -webkit-transition: 0.5s;
  transition: 0.5s;
  opacity: 0;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: translate3d(0, 0, 0);
}

.chara-detail-bg>li.on {
  opacity: 1;
}

.chara-detail-bg img {
  top: 0;
  margin-top: 5%;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: min(1600px, 145.4545454545%);
  max-width: none;
}

.chara-detail-body {
  max-width: 1100px;
  margin: 0 auto;
  padding-bottom: min(1170px, 106.3636363636%);
  position: relative;
}

.chara-detail-prev,
.chara-detail-next {
  width: 64px;
  position: absolute;
  top: 0;
  z-index: 20;
  margin-top: 29.0909090909%;
}

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

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

.chara-detail-inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  visibility: hidden;
}

.chara-detail-inner.william .chara-detail-pic {
  width: 43.9090909091%;
  margin-top: -5.4545454545%;
  right: -8.6363636364%;
}

.chara-detail-inner.william .chara-detail-copy {
  width: 54.5454545455%;
}

.chara-detail-inner.william .chara-detail-name {
  width: 50%;
}

.chara-detail-inner.harrison .chara-detail-pic {
  width: 35.6363636364%;
  margin-top: -6.3636363636%;
  right: -4.5454545455%;
}

.chara-detail-inner.harrison .chara-detail-copy {
  width: 52.7272727273%;
}

.chara-detail-inner.harrison .chara-detail-name {
  width: 54.2727272727%;
}

.chara-detail-inner.liam .chara-detail-pic {
  width: 48.1818181818%;
  margin-top: -5.4545454545%;
  right: -8.1818181818%;
}

.chara-detail-inner.liam .chara-detail-copy {
  width: 44.0909090909%;
}

.chara-detail-inner.liam .chara-detail-name {
  width: 46.3636363636%;
}

.chara-detail-inner.elbert .chara-detail-pic {
  width: 40.5454545455%;
  margin-top: -4.0909090909%;
  right: -4.5454545455%;
}

.chara-detail-inner.elbert .chara-detail-copy {
  width: 42.3636363636%;
}

.chara-detail-inner.elbert .chara-detail-name {
  width: 52.2727272727%;
}

.chara-detail-inner.alfons .chara-detail-pic {
  width: 33.9090909091%;
  margin-top: -5%;
  right: 0.9090909091%;
}

.chara-detail-inner.alfons .chara-detail-copy {
  width: 48.1818181818%;
}

.chara-detail-inner.alfons .chara-detail-name {
  width: 58.1818181818%;
}

.chara-detail-inner.roger .chara-detail-pic {
  width: 35.9090909091%;
  margin-top: -7.7272727273%;
  right: 1.8181818182%;
}

.chara-detail-inner.roger .chara-detail-copy {
  width: 52.2727272727%;
}

.chara-detail-inner.roger .chara-detail-name {
  width: 49.0909090909%;
}

.chara-detail-inner.jude .chara-detail-pic {
  width: 54.5454545455%;
  margin-top: -3.6363636364%;
  right: -7.2727272727%;
}

.chara-detail-inner.jude .chara-detail-copy {
  width: 58.1818181818%;
}

.chara-detail-inner.jude .chara-detail-name {
  width: 45.4545454545%;
}

.chara-detail-inner.ellis .chara-detail-pic {
  width: 33.9090909091%;
  margin-top: -8.1818181818%;
  right: 0%;
}

.chara-detail-inner.ellis .chara-detail-copy {
  width: 40.9090909091%;
}

.chara-detail-inner.ellis .chara-detail-name {
  width: 50%;
}

.chara-detail-inner.victor .chara-detail-pic {
  width: 53.6363636364%;
  margin-top: -8.1818181818%;
  right: -9.0909090909%;
}

.chara-detail-inner.victor .chara-detail-copy {
  width: 57.2727272727%;
}

.chara-detail-inner.victor .chara-detail-name {
  width: 29.0909090909%;
}

.chara-detail-inner.darius .chara-detail-pic {
  width: 58.6363636364%;
  margin-top: -7.1818181818%;
  right: -9.0909090909%;
}

.chara-detail-inner.darius .chara-detail-copy {
  width: 55.2727272727%;
  margin-top: 4.454545%;
}

.chara-detail-inner.darius .chara-detail-name {
  width: 50%;
  margin-left: -3%;
}

.chara-detail-inner.nica .chara-detail-pic {
  width: 61.636364%;
  margin-top: -8.181818%;
  right: -9.0909090909%;
}

.chara-detail-inner.nica .chara-detail-copy {
  width: 53.2727272727%;
  margin-top: 4.454545%;
}

.chara-detail-inner.nica .chara-detail-name {
  width: 50%;
  margin-left: -3%;
}

.chara-detail-inner.ring .chara-detail-pic {
  width: 61.636364%;
  margin-top: -8.181818%;
  right: -9.0909090909%;
}

.chara-detail-inner.ring .chara-detail-copy {
  width: 53.2727272727%;
  margin-top: 4.454545%;
}

.chara-detail-inner.ring .chara-detail-name {
  width: 50%;
  margin-left: -3%;
}

.chara-detail-inner .chara-detail-pic {
  opacity: 0;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  -webkit-transform: translate3d(-10%, 0, 0);
  transform: translate3d(-10%, 0, 0);
  -webkit-filter: blur(10px) brightness(0);
  filter: blur(10px) brightness(0);
}

.chara-detail-inner .chara-detail-emblem {
  opacity: 0;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  -webkit-transform: translate3d(10%, 0, 0);
  transform: translate3d(10%, 0, 0);
  -webkit-filter: blur(10px);
  filter: blur(10px);
}

.chara-detail-inner .chara-detail-copy {
  -webkit-filter: blur(10px);
  filter: blur(10px);
  opacity: 0;
  -webkit-transform: translate3d(-5%, 0, 0);
  transform: translate3d(-5%, 0, 0);
}

.chara-detail-inner .chara-detail-name {
  -webkit-filter: blur(10px);
  filter: blur(10px);
  opacity: 0;
  -webkit-transform: translate3d(-5%, 0, 0);
  transform: translate3d(-5%, 0, 0);
}

.chara-detail-inner.on {
  visibility: visible;
}

.chara-detail-inner.on .chara-detail-pic {
  -webkit-filter: none;
  filter: none;
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.chara-detail-inner.on .chara-detail-emblem {
  -webkit-filter: none;
  filter: none;
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.chara-detail-inner.on .chara-detail-copy {
  -webkit-transition: 0.5s;
  transition: 0.5s;
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
  -webkit-filter: none;
  filter: none;
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.chara-detail-inner.on .chara-detail-name {
  -webkit-transition: 0.5s;
  transition: 0.5s;
  -webkit-transition-delay: 0.4s;
  transition-delay: 0.4s;
  -webkit-filter: none;
  filter: none;
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.chara-detail-foot {
  position: absolute;
  margin-top: 49.0909090909%;
  width: 100%;
  top: 0;
  left: 0;
  opacity: 0;
  -webkit-filter: blur(10px);
  filter: blur(10px);
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.chara-detail-foot>div {
  display: none;
}

.chara-detail-foot.on {
  -webkit-transition: 0.8s;
  transition: 0.8s;
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -webkit-filter: none;
  filter: none;
}

.chara-detail-pic {
  position: absolute;
  top: 0;
  right: 0;
}

.chara-detail-emblem {
  position: absolute;
  top: 0;
  width: 26.3636363636%;
  margin-top: 7.7272727273%;
  left: 44.0909090909%;
}

.chara-detail-copy {
  position: absolute;
  left: 0;
  top: 0;
  margin-top: 5.4545454545%;
}

.chara-detail-name {
  position: absolute;
  top: 0;
  left: 5.4545454545%;
  margin-top: 25%;
}

.chara-detail-snd {
  width: 58.1818181818%;
  padding: 1.8181818182% 0;
  background-color: rgba(0, 0, 0, 0.4);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
}

.chara-detail-snd-voice-title {
  width: 9.375%;
}

.chara-detail-snd-voice-btn {
  width: 10.9375%;
  margin-left: 1.875%;
  cursor: pointer;
  position: relative;
}

.chara-detail-snd-intro-title {
  margin-left: 3.90625%;
  width: 19.53125%;
}

.chara-detail-snd-intro-btn {
  margin-left: 2.34375%;
  width: 14.0625%;
  -webkit-filter: brightness(1) drop-shadow(0 0 4px rgba(0, 0, 0, 0.5));
  filter: brightness(1) drop-shadow(0 0 4px rgba(0, 0, 0, 0.5));
  position: relative;
  cursor: pointer;
}

.chara-detail-snd-intro-btn::after {
  content: "";
  display: block;
  width: 44.4444444444%;
  padding-bottom: 38.8888888889%;
  position: absolute;
  bottom: 0;
  margin-bottom: -6.6666666667%;
  right: -11.1111111111%;
  background-image: url(../img/common/icon_voice.png);
  background-repeat: no-repeat;
  background-size: contain;
}

.chara-detail-text {
  line-height: 2.2;
  font-size: min(1.8rem, 1.6363636364vw);
  position: relative;
  margin-top: 3.6363636364%;
}

.chara-detail-profile {
  width: 58.1818181818%;
  position: relative;
  margin-top: 3.6363636364%;
}

.chara-still {
  max-width: 1600px;
  margin: 0 auto;
}

.chara-diagram {
  width: min(440px, 46.8085106383%);
  margin: min(80px, 8.5106382979%) auto 0;
  cursor: pointer;
}

.chara-link {
  padding: 0 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 20px;
  margin-top: min(30px, 3.1914893617%);
}

.chara-link>li {
  max-width: 440px;
}

.chara-link>li>a.off {
  -webkit-filter: grayscale(1);
  filter: grayscale(1);
  pointer-events: none;
  opacity: 0.5;
}

@media screen and (max-width: 759.98px) {
  .chara {
    background-image: url(../img/common/bg_main_sp.jpg);
    padding: 50px 0;
  }

  .chara-nav {
    padding: 0 15px;
    gap: 8px 6px;
  }

  .chara-nav>li {
    width: calc((100% - 32px) / 5);
  }

  .chara-detail {
    background-size: 70px;
    padding: 0 0 35px;
    margin-top: 17.3333333333vw;
  }

  .chara-detail-bg img {
    margin-top: 36vw;
    width: 100%;
    left: auto;
    -webkit-transform: none;
    transform: none;
  }

  .chara-detail-body {
    padding-bottom: 0;
  }

  .chara-detail-prev,
  .chara-detail-next {
    width: 12.6666666667vw;
    margin-top: 58%;
  }

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

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

  .chara-detail-inner.william .chara-detail-pic {
    right: -12%;
    margin-top: -6%;
    width: 74vw;
  }

  .chara-detail-inner.william .chara-detail-copy {
    width: 23.3333333333vw;
  }

  .chara-detail-inner.william .chara-detail-name {
    width: 87.3333333333vw;
  }

  .chara-detail-inner.harrison .chara-detail-pic {
    right: -4%;
    margin-top: -6%;
    width: 59.4666666667vw;
  }

  .chara-detail-inner.harrison .chara-detail-copy {
    width: 25.8666666667vw;
    left: 10.6666666667%;
  }

  .chara-detail-inner.harrison .chara-detail-name {
    width: 95.2vw;
  }

  .chara-detail-inner.liam .chara-detail-pic {
    right: -9.3333333333%;
    margin-top: -4.6666666667%;
    width: 80.5333333333vw;
  }

  .chara-detail-inner.liam .chara-detail-copy {
    width: 26vw;
    left: 10.6666666667%;
  }

  .chara-detail-inner.liam .chara-detail-name {
    width: 80.6666666667vw;
  }

  .chara-detail-inner.elbert .chara-detail-pic {
    right: -4%;
    margin-top: -2.6666666667%;
    width: 67.7333333333vw;
  }

  .chara-detail-inner.elbert .chara-detail-copy {
    width: 24.6666666667vw;
    left: 10.6666666667%;
  }

  .chara-detail-inner.elbert .chara-detail-name {
    width: 94vw;
  }

  .chara-detail-inner.alfons .chara-detail-pic {
    right: 6%;
    margin-top: -4%;
    width: 56.6666666667vw;
  }

  .chara-detail-inner.alfons .chara-detail-copy {
    width: 28vw;
    left: 9.3333333333%;
  }

  .chara-detail-inner.alfons .chara-detail-name {
    width: 97.3333333333vw;
    left: 1.3333333333vw;
  }

  .chara-detail-inner.roger .chara-detail-pic {
    right: 4%;
    margin-top: -10%;
    width: 60vw;
  }

  .chara-detail-inner.roger .chara-detail-copy {
    width: 25.7333333333vw;
    left: 12%;
  }

  .chara-detail-inner.roger .chara-detail-name {
    width: 86.6666666667vw;
  }

  .chara-detail-inner.jude .chara-detail-pic {
    right: -9.3333333333%;
    margin-top: -1.3333333333%;
    width: 92.4vw;
  }

  .chara-detail-inner.jude .chara-detail-copy {
    width: 22.6666666667vw;
  }

  .chara-detail-inner.jude .chara-detail-name {
    width: 80.5333333333vw;
  }

  .chara-detail-inner.ellis .chara-detail-pic {
    right: 2.6666666667%;
    margin-top: -10%;
    width: 56.6666666667vw;
  }

  .chara-detail-inner.ellis .chara-detail-copy {
    width: 21.3333333333vw;
  }

  .chara-detail-inner.ellis .chara-detail-name {
    width: 87.4666666667vw;
  }

  .chara-detail-inner.victor .chara-detail-pic {
    right: -14.6666666667%;
    margin-top: -10%;
    width: 90vw;
  }

  .chara-detail-inner.victor .chara-detail-copy {
    width: 23.0666666667vw;
  }

  .chara-detail-inner.victor .chara-detail-name {
    width: 50.6666666667vw;
  }

  .chara-detail-inner.darius .chara-detail-pic {
    right: -19.6666666667%;
    margin-top: -10%;
    width: 100vw;
  }

  .chara-detail-inner.darius .chara-detail-copy {
    width: 30.0666666667vw;
  }

  .chara-detail-inner.darius .chara-detail-name {
    width: 93.466667vw;
    margin-left: -4.3333%;
  }

  .chara-detail-inner.nica .chara-detail-pic {
    right: -20.6666666667%;
    margin-top: -13%;
    width: 102vw;
  }

  .chara-detail-inner.nica .chara-detail-copy {
    width: 30.0666666667vw;
  }

  .chara-detail-inner.nica .chara-detail-name {
    width: 93.466667vw;
    margin-left: -3%;
  }

  .chara-detail-inner.ring .chara-detail-pic {
    right: -14.6666666667%;
    margin-top: -13%;
    width: 103vw;
  }

  .chara-detail-inner.ring .chara-detail-copy {
    width: 30.0666666667vw;
  }

  .chara-detail-inner.ring .chara-detail-name {
    width: 93.466667vw;
    margin-left: -3%;
  }

  .chara-detail-inner .chara-detail-copy {
    -webkit-transform: translate3d(0, 5%, 0);
    transform: translate3d(0, 5%, 0);
  }

  .chara-detail-foot {
    margin-top: 0;
    padding-top: 156vw;
    position: relative;
  }

  .chara-detail-emblem {
    width: 50.6666666667vw;
    left: -0.6666666667%;
    margin-top: 66.6666666667%;
  }

  .chara-detail-copy {
    left: 13.3333333333%;
    margin-top: 5.3333333333%;
  }

  .chara-detail-name {
    left: 2.4vw;
    margin-top: 115.3333333333vw;
  }

  .chara-detail-snd {
    position: relative;
    width: 100%;
    padding: 3.3333333333% 0;
  }

  .chara-detail-snd-voice-title {
    width: 9.3333333333vw;
  }

  .chara-detail-snd-voice-btn {
    width: 10.6666666667vw;
    margin-left: 2%;
  }

  .chara-detail-snd-intro-title {
    margin-left: 3.3333333333%;
    width: 20.6666666667vw;
  }

  .chara-detail-snd-intro-btn {
    margin-left: 2%;
    width: 13.3333333333vw;
  }

  .chara-detail-text {
    line-height: 2;
    position: relative;
    font-size: 1.4rem;
    margin-top: 20px;
    padding: 0 15px;
  }

  .chara-detail-profile {
    width: 100%;
    position: relative;
    margin-top: 20px;
    padding: 0 15px;
  }

  .chara-diagram {
    margin-top: 40px;
    width: 72vw;
  }

  .chara-link {
    padding: 0;
    margin: 20px auto 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 72vw;
  }

  .chara-nav li:nth-child(10) {
    margin-left: 9px;
  }

  .chara-nav li:nth-child(12) {
    margin-right: 9px;
  }
}

@media (any-hover: hover) {
  .chara-nav>li>a {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }

  .chara-nav>li>a:hover {
    -webkit-filter: brightness(1.2) drop-shadow(0 0 4px rgba(255, 255, 255, 0.5));
    filter: brightness(1.2) drop-shadow(0 0 4px rgba(255, 255, 255, 0.5));
  }

  .chara-detail-prev,
  .chara-detail-next {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }

  .chara-detail-prev:hover,
  .chara-detail-next:hover {
    -webkit-filter: brightness(1.4);
    filter: brightness(1.4);
  }

  .chara-detail-snd-voice-btn {
    -webkit-transition: 0.3s;
    transition: 0.3s;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }

  .chara-detail-snd-voice-btn:hover {
    -webkit-filter: brightness(1.1) drop-shadow(0 0 4px rgba(255, 255, 255, 0.5));
    filter: brightness(1.1) drop-shadow(0 0 4px rgba(255, 255, 255, 0.5));
  }

  .chara-detail-snd-intro-btn {
    -webkit-transition: 0.3s;
    transition: 0.3s;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }

  .chara-detail-snd-intro-btn:hover {
    -webkit-filter: brightness(1.2) drop-shadow(0 0 4px rgba(255, 255, 255, 0.5));
    filter: brightness(1.2) drop-shadow(0 0 4px rgba(255, 255, 255, 0.5));
  }

  .chara-diagram {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }

  .chara-diagram:hover {
    -webkit-filter: brightness(1.5);
    filter: brightness(1.5);
  }

  .chara-link>li>a {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }

  .chara-link>li>a:hover {
    -webkit-filter: brightness(1.5);
    filter: brightness(1.5);
  }
}

@media screen and (min-width: 1600px) {
  .chara-detail-bg img {
    width: 100%;
    height: 920px;
  }
}

@media screen and (min-width: 759.99px) and (max-width: 1180px) {
  .chara-detail-prev {
    left: -15px;
  }

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

.disabled-link {
  pointer-events: none;
  opacity: 0.9;
}