html, body#chara {
  /*  background: #000 !important;*/
}
#chart h1#ttl span.hdl {
  letter-spacing: .1em;
}
#chart #contents {
  padding: 0;
}
#chart #chart_all {
  margin: 0 auto;
  padding: 5%;
}
#chart .diagram {
  position: relative;
  height: 0;
  padding-top: -webkit-calc(3000 / 2000 * 100%);
  padding-top: calc(3000 / 2000 * 100%);
  background-image:
    url(../chart/img/chart.png), linear-gradient(to right, rgba(66, 57, 14, 0.1) 1px, transparent 1px), linear-gradient(to bottom, rgba(66, 57, 14, 0.1) 1px, transparent 1px);
  background-repeat:
    no-repeat, repeat, repeat;
  background-size:
    contain, 20px 20px, 20px 20px;
  background-position:
    center center, -9px -1px, -1px -1px;
}
#chart .diagram ul {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
#chart .diagram ul li {
  position: absolute;
}
#chart .diagram ul li a, #chart .diagram ul li a img {
  display: block;
  position: absolute;
  cursor: zoom-in;
}
div.diagram ul li.sz-l a, div.diagram ul li.sz-l a img {
  width: 470px;
  height: 590px;
}
div.diagram ul li.sz-m a, div.diagram ul li.sz-m a img {
  width: 417px;
  height: 535px;
}
div.diagram ul li.sz-s a, div.diagram ul li.sz-s a img {
  width: 366px;
  height: 466px;
}
div.diagram ul li.iroha1 {
  left: 791px;
  top: 815px;
}
div.diagram ul li.iroha2 {
  left: 765px;
  top: 1393px;
}
div.diagram ul li.ikuru {
  left: 1411px;
  top: 1540px;
}
div.diagram ul li.reiji {
  left: 117px;
  top: 1595px;
}
div.diagram ul li.hatena {
  left: 317px;
  top: 191px;
}
div.diagram ul li.rinka {
  left: 919px;
  top: 191px;
}
div.diagram ul li.miho {
  left: 568px;
  top: 2289px;
}
div.diagram ul li.saya {
  left: 1515px;
  top: 257px;
}
div.diagram ul li.yuko {
  left: 118px;
  top: 2289px;
}
div.diagram ul li.koichiro {
  left: 1521px;
  top: 2289px;
}
div.diagram ul li.ryoko {
  left: 120px;
  top: 950px;
}
#chart ul li.sayaka {
  left: 1019px;
  top: 2222px;
}
@media all and (max-width: 991px) {
  #chart #contents {
    background-size: 50%;
  }
}
/*	popup
============================== */
#cast_dt {
  text-align: left;
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-size: cover;
}
.bg {
  border: 1px solid #42390E;
  background-color: #F8F7F2;
  background-image:
    linear-gradient(to right, rgba(1, 82, 107, 0.1) 1px, transparent 1px), linear-gradient(to bottom, rgba(1, 82, 107, 0.1) 1px, transparent 1px) !important;
  background-size: 20px 20px !important;
  background-repeat: repeat !important;
  background-position: center center !important;
  box-shadow: 4px 4px 0 0 #D65E7B;
}
.bg_bl {
  box-shadow: 4px 4px 0 0 #0185AC;
}
.bg_pl {
  box-shadow: 4px 4px 0 0 #7A4896;
}
.bg_yl {
  box-shadow: 4px 4px 0 0 #FDDE25;
}
#cast_dt #mainbox {
  width: 100%;
  height: 100%;
  margin: 0 auto;
  padding: 0;
  position: relative;
}
#cast_dt h1 {
  padding: 0;
  position: relative;
  z-index: -1;
  width: 52%;
  margin: 0 auto;
  margin-right: 1%;
  margin-top: 1%;
}
#cast_dt h1 span.castname {
  width: 100%;
  height: 160px;
  display: block;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  background-repeat: no-repeat;
  background-position: right top;
  background-size: contain;
}
#cast_dt h1#iroha1 span.castname {
  background-image: url(../chart/img/name/iroha1.png);
}
#cast_dt h1#iroha2 span.castname {
  background-image: url(../chart/img/name/iroha2.png);
}
#cast_dt h1#ikuru span.castname {
  background-image: url(../chart/img/name/ikuru.png);
}
#cast_dt h1#reiji span.castname {
  background-image: url(../chart/img/name/reiji.png);
}
#cast_dt h1#hatena span.castname {
  background-image: url(../chart/img/name/hatena.png);
}
#cast_dt h1#rinka span.castname {
  background-image: url(../chart/img/name/rinka.png);
}
#cast_dt h1#miho span.castname {
  background-image: url(../chart/img/name/miho.png);
}
#cast_dt h1#saya span.castname {
  background-image: url(../chart/img/name/saya.png);
}
#cast_dt h1#yuko span.castname {
  background-image: url(../chart/img/name/yuko.png);
}
#cast_dt h1#koichiro span.castname {
  background-image: url(../chart/img/name/koichiro.png);
}
#cast_dt h1#ryoko span.castname {
  background-image: url(../chart/img/name/ryoko.png);
}
#cast_dt h1#sayaka span.castname {
  background-image: url(../chart/img/name/sayaka.png);
}
#cast_dt .prof {
  position: relative;
  width: 100%;
}
#cast_dt .prof::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  pointer-events: none;
}
#cast_dt .prof p {
  color: #011e3c;
  font-weight: 400
}
.bg .photo {
  background-position: right 100% top, 0 0;
  background-size: 100%, cover;
  background-repeat: no-repeat, no-repeat;
}
#cast_dt .photo::before {
  content: '';
  width: 95%;
  height: 80%;
  bottom: 0;
  left: 0;
  position: absolute;
  z-index: -1;
  border: 8px solid #fff;
  background-image:
    linear-gradient(#fff, #fff), linear-gradient(#fff, #fff), linear-gradient(#ffb19e 0%, #ffccbf 50%, #ffb19e 100%);
  background-repeat: no-repeat;
  background-size:
    calc(100% - 32px) 1px, 1px calc(100% - 32px), 100% 100%;
  background-position:
    0 32px, calc(100% - 32px) 100%, center center;
}
#cast_dt .photo::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 83%;
  background: #D65E7B;
  z-index: -2;
  box-shadow: 4px 4px 16px rgba(1, 30, 60, 0.2);
  transform: rotate(-4deg);
  transform-origin: center center;
}
#cast_dt .photo_bl::after {
  background: #0185AC;
}
#cast_dt .photo_pl::after {
  background: #7A4896;
}
#cast_dt .photo_yl::after {
  background: #FDDE25;
}
#cast_dt .photo span {
  background-repeat: no-repeat;
  background-position: 8px -8px;
  background-size: cover;
  z-index: 1;
  display: block;
  width: 97.5%;
  height: 100%;
  position: relative;
}
#cast_dt .photo span.ph_iroha1 {
  background-image: url(../chart/img/photo/ph_iroha1.png);
}
#cast_dt .photo span.ph_iroha2 {
  background-image: url(../chart/img/photo/ph_iroha2.png);
}
#cast_dt .photo span.ph_ikuru {
  background-image: url(../chart/img/photo/ph_ikuru.png);
}
#cast_dt .photo span.ph_reiji {
  background-image: url(../chart/img/photo/ph_reiji.png);
}
#cast_dt .photo span.ph_hatena {
  background-image: url(../chart/img/photo/ph_hatena.png);
}
#cast_dt .photo span.ph_rinka {
  background-image: url(../chart/img/photo/ph_rinka.png);
}
#cast_dt .photo span.ph_miho {
  background-image: url(../chart/img/photo/ph_miho.png);
}
#cast_dt .photo span.ph_saya {
  background-image: url(../chart/img/photo/ph_saya.png);
}
#cast_dt .photo span.ph_yuko {
  background-image: url(../chart/img/photo/ph_yuko.png);
}
#cast_dt .photo span.ph_koichiro {
  background-image: url(../chart/img/photo/ph_koichiro.png);
}
#cast_dt .photo span.ph_ryoko {
  background-image: url(../chart/img/photo/ph_ryoko.png);
}
#cast_dt .photo span.ph_sayaka {
  background-image: url(../chart/img/photo/ph_sayaka.png);
}
#cast_dt .photo span::after {
  content: "";
  position: absolute;
  z-index: 2;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
  top: 0;
  left: 24px;
  background-size: contain;
  pointer-events: none;
}
#cast_dt .photo span.ph_iroha1:after {
  background-image: url(../chart/img/item/iroha1.png);
}
#cast_dt .photo span.ph_iroha2:after {
  background-image: url(../chart/img/item/iroha2.png);
}
#cast_dt .photo span.ph_ikuru::after {
  background-image: url(../chart/img/item/ikuru.png);
}
#cast_dt .photo span.ph_reiji:after {
  background-image: url(../chart/img/item/reiji.png);
}
#cast_dt .photo span.ph_hatena:after {
  background-image: url(../chart/img/item/hatena.png);
}
#cast_dt .photo span.ph_rinka:after {
  background-image: url(../chart/img/item/rinka.png);
}
#cast_dt .photo span.ph_miho:after {
  background-image: url(../chart/img/item/miho.png);
}
#cast_dt .photo span.ph_saya::after {
  background-image: url(../chart/img/item/saya.png);
}
#cast_dt .photo span.ph_yuko:after {
  background-image: url(../chart/img/item/yuko.png);
}
#cast_dt .photo span.ph_koichiro:after {
  background-image: url(../chart/img/item/koichiro.png);
}
#cast_dt .photo span.ph_ryoko:after {
  background-image: url(../chart/img/item/ryoko.png);
}
#cast_dt .photo span.ph_sayaka:after {
  background-image: url(../chart/img/item/sayaka.png);
}
#cast_dt {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateY(0%);
  z-index: 10001 !important;
}
#cast_dt .btn-w-close a {
  display: block;
  width: 140px;
  height: 45px;
  background: url("../chart/img/close.png") no-repeat center center;
  background-size: contain;
  margin: auto 10px;
}
#cast_dt .btn-w-close a {
  cursor: pointer;
}
#cast_dt .btn-w-close_b a {
  display: block;
  width: 105px;
  height: 40px;
  background: url("../chart/img/close.png") no-repeat center center;
  background-size: contain;
  margin: 0 auto;
}
#cast_dt .btn-w-close_b a {
  cursor: pointer;
}
@media all and (min-width: 992px) {
  #cast_dt {
    width: 800px;
    height: 460px;
    margin-left: -400px;
    top: 50% !important;
    transform: translateY(-50%);
  }
  #cast_dt #mainbox {
    margin: 0 auto;
    padding: 1.5em 0 0 0;
  }
  #cast_dt .prof {
    width: 53%;
    margin: .75em 0 0 auto;
    z-index: 0;
  }
  #cast_dt .prof p {
    word-break: break-all;
    font-size: 89%;
    line-height: 170%;
    padding: .5em 2.5em 1.5em 0;
    width: 95%;
    margin-left: auto;
  }
  #cast_dt p.ovtxt {
    padding: 0 1.6em .5em 0;
    height: 285px;
    overflow-x: hidden;
    overflow-y: scroll;
    border-right: none;
  }
  .ovtxt::-webkit-scrollbar {
    width: 2px;
    background: none;
  }
  .ovtxt::-webkit-scrollbar-track {
    background: none;
  }
  .ovtxt::-webkit-scrollbar-corner {
    display: none;
  }
  .ovtxt::-webkit-scrollbar-thumb {
    background-color: rgba(126, 0, 255, .7);
    border-radius: 20px;
  }
  #cast_dt .photo {
    width: 315px;
    height: 437px;
    position: absolute;
    left: 1%;
    bottom: 2%;
    margin: 24px;
  }
  #cast_dt .btn-w-close {
    position: absolute;
    right: 0;
    bottom: 4%;
    color: #fff;
    text-shadow: 1px 1px 20px rgba(255, 255, 255, 0.3);
    font-family: "Playfair Display", serif;
  }
  #cast_dt.letter .btn-w-close {
    position: absolute;
    right: 0;
    left: 0;
    bottom: 2.5%;
    margin: auto;
  }
  #cast_dt .btn-w-close_b {
    position: absolute;
    right: 2%;
    bottom: 4%;
    color: #fff;
    text-shadow: 1px 1px 20px rgba(255, 255, 255, 0.3);
    font-family: "Playfair Display", serif;
  }
  #cast_dt.letter .btn-w-close_b {
    position: absolute;
    right: 0;
    left: 0;
    bottom: 2.5%;
    margin: auto;
  }
  #cast_dt a.backlist {
    position: absolute;
    right: 2%;
    bottom: 5%;
  }
  .details {
    color: #0185AC;
    margin: 2% 0 0 0;
    font-weight: 700;
    font-size: 2rem;
  }
}
@media all and (max-width: 991px) {
  .bg {
    width: 99%;
    margin: 0 0 0 -50% !important;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
  }
  #cast_dt #mainbox {
    margin: 0 auto;
    padding: 0 0 0;
  }
  #cast_dt h1 {
    width: 100%;
    margin: 0 auto;
    padding: 0;
    position: relative;
    top: -6vw;
    right: 0%;
    z-index: 1
  }
  #cast_dt h1 span.castname {
    width: 95%;
    height: 100%;
    padding: 30% 0 0 0;
    background-size: contain;
    margin: 0 auto;
  }
  #cast_dt h1#wataru span.castname {
    width: 100%;
    height: 0;
    padding: 30% 0 0 0;
    background-size: contain;
    margin: 4% auto;
  }
  #cast_dt .photo {
    width: 80%;
    margin: 0 auto 0;
    position: relative;
    top: 4vw;
  }
  #cast_dt .photo::before {
    content: '';
    width: 95%;
    height: 80%;
    bottom: 0;
    left: 0;
    position: absolute;
    z-index: -1;
  }
  #cast_dt .photo::after {
    content: '';
    width: 100%;
    height: 83%;
    bottom: 0;
    left: 0;
    position: absolute;
    z-index: -2;
  }
  #cast_dt .photo span {
    position: relative;
    height: 0;
    padding: 126.315789474% 0 0;
  }
  #cast_dt .photo span::after {
    top: -5vw
  }
  #cast_dt .photo span img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
  }
  #cast_dt .prof {
    width: 100%;
    margin: 0 auto;
    padding: 0 5% 5%;
    left: 0;
  }
  #cast_dt .prof p {
    font-size: 100%;
    font-size: 4vw;
    line-height: 160%;
    padding: 0;
    width: 90%;
    margin: 0 auto;
  }
  #cast_dt .btn-w-close a {
    width: 32%;
    height: 0;
    padding: 14% 0 0;
    margin: 2.5% 5% 0 auto;
    position: relative;
    bottom: 6vw;
  }
  #cast_dt .btn-w-close_b a {
    width: 20%;
    height: 0;
    padding: 9% 0 0;
    margin: 5% 5% 5% auto;
  }
  .details {
    color: #0185AC;
    margin: 3% 0 0;
    font-weight: 700
  }
}
@media all and (min-width: 992px) {
  .nobr {
    display: none;
  }
}
/*	bknm
============================== */
#chart #bknm {
  width: 100%;
  margin: .5em auto 0;
  position: relative;
  padding: 1em 0 5%;
}
#chart #bknm h3 {
  font-size: 160%;
  position: relative;
  padding: .8% 0 .8% 3.5%;
  margin: 0 0;
  color: #fff;
  font-style: normal;
  background: #4A080A;
  font-family: "Playfair Display", serif;
  letter-spacing: .05em;
}
#chart #bknm ul {
  margin: 1% auto 0;
  display: flex;
  flex-flow: row wrap;
  width: 92.5%;
}
#chart #bknm li {
  margin: 1% .5% 1% 2%;
  position: relative;
  height: auto;
  width: -webkit-calc(100% / 4 - 3%);
  width: calc(100% / 4 - 3%);
  border: 1px solid #fff;
}
#chart #bknm li a {
  display: block;
  height: 0;
  box-shadow: 4px 4px 16px rgba(13, 13, 13, 0.25);
  width: 100%;
  padding: 1em 1em 2em 1em;
  box-sizing: border-box;
  transition: all .3s;
  border: 1px solid #4A080A;
  color: #4A080A;
  background: rgba(210, 190, 188, .15);
  font-weight: 600;
  letter-spacing: .2em
}
#chart #bknm li a:hover {
  opacity: 0.70;
}
#chart #bknm li img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#chart #bknm li span.enum {
  font-size: 150%;
  font-weight: 700;
  padding: 0;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 1;
  color: #fff;
  letter-spacing: -.05em;
  line-height: 100%;
}
#chart #bknm li span.nmb {
  font-size: 140%;
  letter-spacing: .05em;
}
@media all and (max-width: 991px) {
  #chart #contents {
    padding: 0 0 5%;
  }
  #chart .diagram {
    background-image:
      url(../chart/img/chart.png), linear-gradient(to right, rgba(66, 57, 14, 0.1) .5px, transparent .5px), linear-gradient(to bottom, rgba(66, 57, 14, 0.1) .5px, transparent .5px);
    background-size:
      contain, 2vw 2vw, 2vw 2vw;
    background-position:
      center center, -11px -1px, -1px -1px;
  }
  #chart #chart_all {
    margin: 0 auto;
    padding: 5%;
  }
  #chart .epi_no {
    padding: 5px 32px;
    font-size: 160%;
  }
  #chart h2 {
    font-size: 7.3vw;
  }
  #chart #bknm {
    margin: 2% auto 0;
    padding: 2.5% 0 0;
    background-size: 50%;
  }
  #chart #bknm ul {
    margin: 2% auto 0;
    width: 94%;
  }
  #chart #bknm li {
    margin: 1.5% 2% 3% 2.5%;
    height: auto;
    width: -webkit-calc(100% / 2 - 5%);
    width: calc(100% / 2 - 5%);
  }
  #chart #bknm li a {
    height: 0;
  }
  #chart #bknm li span.enum {
    font-size: 5vw;
  }
}