.character .chara_nav {
  padding-bottom: 20px;
}

.character .chara_nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0 25px;
  width: 480px;
}

.character .chara_nav li {
  width: 70px;
  -webkit-border-radius: 100px;
  border-radius: 100px;
  background: rgba(177, 182, 204, 0.35);
  overflow: hidden;
  -webkit-transition: background-color 0.55s cubic-bezier(0.215, 0.61, 0.355, 1);
  -o-transition: background-color 0.55s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: background-color 0.55s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.character .chara_nav li:not(:first-of-type) {
  margin-left: 10px;
}

.character .chara_nav li.current {
  background: rgba(72, 170, 255, 0.4);
}

.character .chara_nav li img {
  -webkit-transition: -webkit-transform 0.55s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: -webkit-transform 0.55s cubic-bezier(0.215, 0.61, 0.355, 1);
  -o-transition: transform 0.55s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.55s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.55s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.55s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.character .chara_img_area {
  position: relative;
  width: 98%;
  margin: 0 auto;
}

.character .chara_img_area .chara_catch {
  position: absolute;
  top: 5%;
  left: 4%;
  width: 24%;
  max-width: 180px;
}

.character .chara_img_area.ririka .chara_img {
  overflow: hidden;
}

.character .chara_img_area.ririka .chara_img img {
  margin: -7% -12% 0 0;
  width: 100%;
}

.character .chara_txt_area {
  padding: 0 5.5%;
  text-align: left;
  margin-top: 16px;
}

.character .chara_txt_area .role {
  font-size: 34px;
  font-weight: 400;
  padding-bottom: 20px;
  letter-spacing: .06em;
}

.character .chara_txt_area .name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: flex-start;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-align-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-top: 1px solid rgba(64, 75, 128, 0.2);
  padding-top: 15px;
  font-size: 15px;
  letter-spacing: .06em;
}

.character .chara_txt_area .name::before {
  content: "CV";
  padding: 3px 5px 0 0;
  font-family: YakuHanJP, proxima-nova, sans-serif;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  letter-spacing: .07em;
  font-size: 15px;
  display: block;
}

.character .chara_txt_area .name.en::before {
  content: "VA";
}

.character .chara_txt_area .name .btn_comment {
  display: block;
  font-size: 0;
  text-indent: -9999px;
  margin-left: 10px;
  width: 16px;
  height: 16px;
  background: url(../img/common/icon_comment.png) center no-repeat;
  -webkit-background-size: contain;
  -o-background-size: contain;
  background-size: contain;
}

.character .chara_txt_area .txt {
  border-top: 1px solid rgba(64, 75, 128, 0.2);
  font-size: 14px;
  line-height: 1.9;
  padding-top: 15px;
  margin-top: 15px;
  letter-spacing: .06em;
}

.character .chara_txt_area .voice_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 25px;
}

.character .chara_txt_area .voice_list li {
  -webkit-border-radius: 20px;
  border-radius: 20px;
  overflow: hidden;
  padding: 8px 6% 7px;
  line-height: 1;
  background: #b1b6cc;
  color: #fff;
  font-family: YakuHanJP, proxima-nova, sans-serif;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  letter-spacing: .07em;
  letter-spacing: .09em;
  font-size: 13px;
}

.character .chara_txt_area .voice_list li:not(:first-of-type) {
  margin-left: 1.5%;
}

.character .chara_txt_area .voice_list li.active {
  pointer-events: none;
  background: #99bbff;
  background: -webkit-linear-gradient(45deg, #99bbff 0%, #99d3ff 100%);
  background: -o-linear-gradient(45deg, #99bbff 0%, #99d3ff 100%);
  background: linear-gradient(45deg, #99bbff 0%, #99d3ff 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#99bbff', endColorstr='#99d3ff',GradientType=1 );
}

.character .chara_txt_area .chara_catch {
  margin-top: 45px;
}

@media only screen and (max-width: 750px) {
  .character .chara_nav {
    -ms-overflow-x: scroll;
    overflow-x: scroll;
    padding-bottom: 20px;
  }
  .character .role span {
    display: block;
    margin-top: 1em;
    font-size: 12px;
  }
}

@media only screen and (min-width: 751px) {
  .character .in_contents {
    width: 90%;
  }
  .character .chara_nav {
    padding: 0;
    width: 100%;
  }
  .character .chara_nav ul {
    -webkit-justify-content: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: auto;
    margin: 0 auto;
  }
  .character .chara_nav li {
    width: 90px;
  }
  .character .chara_nav li:hover {
    background: rgba(72, 170, 255, 0.4);
  }
  .character .chara_nav li:hover img {
    -webkit-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05);
  }
  .character .chara_wrap {
    margin: 0 auto;
    position: relative;
  }
  .character .chara_img_area {
    width: 61.8%;
    max-width: 750px;
    margin-left: 2%;
  }
  .character .chara_img_area .chara_catch {
    left: 5.8%;
    top: 7.4%;
    width: 24.33%;
  }
  .character .chara_img_area.ririka .chara_catch {
    left: -1.5%;
  }
  .character .chara_txt_area {
    width: 39%;
    min-width: 430px;
    padding: 0 1% 0 0;
    margin: 0;
    padding-top: 124px;
    position: absolute;
    top: 0;
    right: 0;
  }
  .character .chara_txt_area .role {
    margin-bottom: 12px;
    font-size: 44px;
  }
  .character .chara_txt_area .role span {
    margin-left: 1.5em;
    font-size: 13px;
  }
  .character .chara_txt_area .name {
    font-size: 17px;
    padding-top: 16px;
  }
  .character .chara_txt_area .name::before {
    padding-top: 4px;
    font-size: 17px;
  }
  .character .chara_txt_area .name .btn_comment {
    width: 24px;
    height: 24px;
    cursor: pointer;
  }
  .character .chara_txt_area .txt {
    margin-top: 16px;
    padding-top: 20px;
    font-size: 15px;
    line-height: 1.8;
  }
  .character .chara_txt_area .voice_list li {
    padding: 8px 5.5% 7px;
    cursor: pointer;
  }
  .character .chara_txt_area .chara_catch {
    margin-top: 60px;
  }
}

/**************************************/
#modal_comment .wrap {
  background: url(../img/common/bg04_sp.jpg) center no-repeat;
  -webkit-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}

@media only screen and (min-width: 751px) {
  #modal_comment .wrap {
    background: url(../img/common/bg04_pc.jpg) center no-repeat;
    -webkit-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
  }
}
