#chart #contents{padding:0; overflow: hidden;}
#chart h1#ttl:not(span) {letter-spacing:.25em !important;}
#chart h1#ttl span {letter-spacing:0 !important;}

/*chart*/
#chart .diagram{width:100%; position:relative; margin:0 auto; background:url(./img/chart.jpg?3) no-repeat 0 0; background-size:cover; aspect-ratio: 2000 / 2590;}
#chart .diagram ul,#chart .diagram ul li {position: absolute;}
#chart .diagram ul li a{ display: block; text-decoration: none; overflow: hidden; text-indent: 100%; white-space: nowrap;
/*background-color:rgba(126,0,255,.6);*/ border-radius:100vw 100vw 0 0;}
#chart .diagram ul li a img {display:block;}
#chart .diagram ul li.sz-l a img {width:198px; height:236px;}
#chart .diagram ul li.sz-m a img {width:180px; height:216px;}
#chart .diagram ul li.sz-s a img {width:160px; height:195px;}

#chart ul li.mirai {left:287px; top:398px;}
#chart ul li.masaki {left:546px; top:418px;}
#chart ul li.yuta {left:46px; top:418px;}
#chart ul li.shin {left:748px; top:418px;}
#chart ul li.sota {left:296px; top:710px;}
#chart ul li.taichi {left:565px; top:731px;}
#chart ul li.riko {left:748px; top:731px;}
#chart ul li.takako {left:748px; top:981px;}
#chart ul li.wataru {left:565px; top:981px;}
#chart ul li.sakurako {left:378px; top:981px;}
#chart ul li.kei {left:147px; top:981px;}
#chart ul li.tanaka {left:267px; top:112px;}
#chart ul li.saori {left:451px; top:112px;}
#chart ul li.matsuoka {left:55px; top:112px;}
#chart ul li.naomi {left:82px; top:731px;}

@media all and (max-width:991px) {
#chart .diagram ul {position: absolute; left:0; top:0; width:100%; height:100%;}
}

/*popup*/
#cast_dt {text-align:left;
background: url(../img/bg.png); background-size:500px;
border:2px dashed #de3f42;
overflow: hidden;
}
#cast_dt.dogs p{color:#000; font-weight: 500; text-align:center; font-size:120%;}
#cast_dt #mainbox {width:100%; height:100%; margin:0 auto; padding:0; position:relative;}
#cast_dt h1 {padding:.25em 0 .5em 0; position:relative; border-radius:0 0 0 100px; width:70%; margin:0 0 0 auto;
background: url(../img/bg3.png) repeat 0 0; background-size:200px;}
#cast_dt h1 span.castname{ width:100%; height:90px; display: block; text-indent: 100%; white-space: nowrap; overflow: hidden; background-repeat: no-repeat; background-position:right bottom; background-size: contain; background-color:rgba(255,255,255,0);}
#cast_dt h1#mirai span.castname {background-image: url(./img/mirai.png);}
#cast_dt h1#masaki span.castname {background-image: url(./img/masaki.png);}
#cast_dt h1#yuta span.castname {background-image: url(./img/yuta.png);}
#cast_dt h1#shin span.castname {background-image: url(./img/shin.png?1);}
#cast_dt h1#sota span.castname {background-image: url(./img/sota.png);}
#cast_dt h1#taichi span.castname {background-image: url(./img/taichi.png);}
#cast_dt h1#riko span.castname {background-image: url(./img/riko.png);}
#cast_dt h1#takako span.castname {background-image: url(./img/takako.png);}
#cast_dt h1#wataru span.castname {background-image: url(./img/wataru.png);}
#cast_dt h1#sakurako span.castname {background-image: url(./img/sakurako.png);}
#cast_dt h1#kei span.castname {background-image: url(./img/kei.png);}
#cast_dt h1#tanaka span.castname {background-image: url(./img/tanaka.png);}
#cast_dt h1#saori span.castname {background-image: url(./img/saori.png);}
#cast_dt h1#matsuoka span.castname {background-image: url(./img/matsuoka.png);}
#cast_dt h1#naomi span.castname {background-image: url(./img/naomi.png);}

#cast_dt .prof {width:100%;}
#cast_dt .prof p{font-weight: 500;}

#cast_dt .photo span{background-repeat: no-repeat; background-position:right bottom; background-size: cover; z-index:1; display:block; width:100%; height:100%; /*background-color:#eee;*/}
#cast_dt .photo span.ph_mirai {background-image: url(./img/ph_mirai.png);}
#cast_dt .photo span.ph_masaki {background-image: url(./img/ph_masaki.png);}
#cast_dt .photo span.ph_yuta {background-image: url(./img/ph_yuta.png);}
#cast_dt .photo span.ph_shin {background-image: url(./img/ph_shin.png);}
#cast_dt .photo span.ph_sota {background-image: url(./img/ph_sota.png);}
#cast_dt .photo span.ph_taichi {background-image: url(./img/ph_taichi.png);}
#cast_dt .photo span.ph_riko {background-image: url(./img/ph_riko.png);}
#cast_dt .photo span.ph_takako {background-image: url(./img/ph_takako.png);}
#cast_dt .photo span.ph_wataru {background-image: url(./img/ph_wataru.png);}
#cast_dt .photo span.ph_sakurako {background-image: url(./img/ph_sakurako.png);}
#cast_dt .photo span.ph_kei {background-image: url(./img/ph_kei.png);}
#cast_dt .photo span.ph_tanaka {background-image: url(./img/ph_tanaka.png);}
#cast_dt .photo span.ph_saori {background-image: url(./img/ph_saori.png);}
#cast_dt .photo span.ph_matsuoka {background-image: url(./img/ph_matsuoka.png);}
#cast_dt .photo span.ph_naomi {background-image: url(./img/ph_naomi.png);}

#cast_dt {position:absolute;left:50%; z-index:10001 !important;}
#cast_dt .btn-w-close a{display:block; width:150px; height:35px; background: url(./img/close.svg) no-repeat center center; background-size: contain; margin:0 auto;}
#cast_dt .btn-w-close a{cursor:pointer;}

@media all and (min-width: 768px) {
#cast_dt {width:760px; height:460px; margin-left:-380px;
background-size:50%;
border-radius:30px;
}
#cast_dt #mainbox {margin:0 auto;}
#cast_dt.dogs #mainbox {margin:0 auto; padding:1em 0 0;}
#cast_dt .prof{width:55%; margin:1.25em 0 0 auto; z-index:0; padding:1.5em 1.5em 1.5em; position: relative;}
#cast_dt .prof:before,
#cast_dt .prof:after{
content: "";
width:62%;
height:4px;
position: absolute;
background:url(../img/bdr.png) repeat-x 0 0;
background-size:auto 4px;
}
#cast_dt .prof:before{
right: 0;
top: 0;
}
#cast_dt .prof:after{
left: 0;
bottom: 0;
}

#cast_dt .prof p{word-break: break-all; font-size:100%; line-height:150%;}
#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:390px; height:440px; position:absolute; left:0; bottom:0; z-index:1;}
#cast_dt .photo::before {
  content:'';
  width:70%;
  height:60%;
  bottom:0;
  left:0;
  position: absolute;
background: url(../img/bg2.png);
background-size:200px;
border-radius:0 100px 0 0;
z-index:-1;
}
#cast_dt .btn-w-close{position:absolute;right:3%; bottom:2.5%;}
#cast_dt.dogs .btn-w-close{position:absolute;right:0; left:0; bottom:4%; margin:auto;}
#cast_dt a.backlist{position:absolute;right:2%; bottom:5%;}
}

@media all and (max-width: 767px) {
#cast_dt {width:96%; margin:0 0 0 -48% !important;
background-position:right 15% top 25%,right 10% bottom 2%,right bottom;
background-size:130%,120%,cover;
border-radius:8vw; 
}
#cast_dt #mainbox {margin:0 auto; padding:0 0 0;}

#cast_dt h1 {width:100%; margin:0 0 2vw; padding:2% 0 2.5%; position: relative; border-radius:0 0 6vw 6vw;}
#cast_dt h1 span.castname{width:100%; height:0; padding:17.5% 0 0 0; background-size: contain; margin:0;}
#cast_dt .photo {width:90%; margin:0 auto; position: relative; background-size:100%; border-radius:0 0 2.5vw 2.5vw; overflow:hidden;}
#cast_dt .photo::before {
  content:'';
  width:100%;
  height:80%;
  bottom:0;
  left:0;
  position: absolute;
border-radius:50vw 50vw 2.5vw 2.5vw;
z-index:-1;
background: url(../img/bg2.png);
background-size:50%;
outline: 2px dashed #fdf5ba;
outline-offset: -2vw;
}

#cast_dt .photo span{position: relative; height:0; padding:120% 0 0; background-size:cover; background-position:center top;}
#cast_dt .photo span img{position:absolute;left:0;top:0; width:100%; height:100%;}
#cast_dt .prof {width:94%; margin:0 auto; padding:3% 5% 5%; border-radius:4vw;}
#cast_dt .prof p {font-size:3.8vw; line-height:160%; padding:0;}
#cast_dt .btn-w-close a{width:36%; height:0; padding:8% 0 0; margin:0 auto 5%;}
}

@media all and (min-width: 768px) {
.nobr{display: none;	} 
}
.alt {position:absolute;top:-5000px;left:-9999px;}
