#familytree .diagram {
  position: relative;
  margin: 0;
}

#familytree .diagram ul, #familytree .diagram ul li {
position: absolute;
width: 100%;
height: 100%;
}
#familytree .diagram ul li {
position: absolute;
width: 6.914%;
height: 25.503%;
}

#familytree .diagram ul li a {
  display: block;
  text-decoration: none;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  background: linear-gradient(to top, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0) 100%);
		width: 100%;
  height: 100%;
}

#familytree .diagram ul li a img {
  display: block;
	width: 100%;
  height: 100%;
}

#familytree .diagram ul li a {
  filter: alpha(opacity=0);
  -moz-opacity: 0;
  opacity: 0;
  transition: 0.3s;
  background-color: red;
}

#familytree .diagram ul li a:hover {
cursor: pointer;
cursor: hand;
}

#familytree ul li.chara_a {
  left: 23.085%;
  top: 73.288%;
}

#familytree ul li.chara_b {
  left: 43.297%;
  top: 73.288%;
}

#familytree ul li.chara_c {
  left: 83.51%;
  top: 41.208%;
}

#familytree ul li.chara_d {
  left: 34.255%;
  top: 73.288%;
}

#familytree ul li.chara_f {
  left: 61.489%;
  top: 73.288%;
}

#familytree ul li.chara_i {
  left: 92.021%;
  top: 20.671%;
}

#familytree ul li.chara_j {
  left: 10.106%;
  top: 41.208%;
}

#familytree ul li.chara_k {
  left: 56.382%;
  top: 41.208%;
}

#familytree ul li.chara_l {
  left: 66.489%;
  top: 41.208%;
}

#familytree ul li.chara_m {
  left: 75%;
  top: 41.208%;
}

#familytree ul li.chara_n {
  left: 49.3468%;
  top: 6%;
}

#familytree ul li.chara_o {
  left: 39.361%;
  top: 41.208%;
}

#familytree ul li.chara_p {
  left: 29.255%;
  top: 41.208%;
}

#familytree ul li.chara_q {
  left: 47.872%;
  top: 41.208%;
}

#familytree ul li.chara_r {
  left: 1.063%;
  top: 41.208%;
}

#familytree ul li.chara_s {
  left: 19.148%;
  top: 41.208%;
}

#familytree ul li.chara_g {
  left: 79.255%;
  top: 73.288%;
}


@media all and (min-width: 768px) {
	.contentsBlock {padding: 20px 0 0;}
	#familytree .diagram { width:940px; height: 745px; margin: 0 auto 30px;}
}
@media all and (max-width: 767px) {
	.contentsBlock {padding: 0.5em  0.5em 0;}

  /*familytree*/
  #familytree .diagram {
    margin: 0px auto;
    overflow: hidden;
    height: 0;
    padding:79.255% 0 0; margin-bottom: 1em;
    background-size: cover;
  }

  #familytree .diagram ul {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
  }
}



#cast_dt {
    position: absolute;
    left: 50%;
    top: 0;
    z-index: 5800 !important;
    bottom: 0;
    /* left: 0; */
    right: 0;
    margin: auto;
}

#cast_dt .btn-w-close a {
  display: block;
  width: 84px;
  height: 20px;
  background: url(../img/chart/close.png) no-repeat center center;
  margin: 0 auto;
}

#cast_dt .btn-w-close a {
  cursor: pointer;
}

@media all and (min-width: 768px) {
  #cast_dt {
    width: 750px;
    height: 400px;
    margin-left: -350px;
  }
  

  #cast_dt .btn-w-close {
    position: absolute;
    right: 25px;
    bottom: 25px;
  }
}

@media all and (max-width: 767px) {
  #cast_dt {
    width: 100%;
    margin: 0px -50% 0;
  }
	div.character { position: relative;}
  #cast_dt .btn-w-close a {
    margin: 5% auto 3.5%; width: 100%; height: 40px; background-size: 70px 17px;
  }

}
