#chart .wrap{padding:0;}
#chart h1#ttl{padding:4% 0; margin:0 auto 3%;}
#chart #contents{padding:0; overflow: hidden;}

/*chart*/
#chart .diagram{ position:relative; margin:0 auto; background:url(./img/chart.jpg?0827) no-repeat 0 0; background-size:cover;}
#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);*/}
#chart .diagram ul li a img {display:block;}
#chart .diagram ul li.sz-l a img {width:196px; height:234px;}
#chart .diagram ul li.sz-s a img {width:103px; height:103px;}

#chart ul li.aiko {left:406px; top:367px;}
#chart ul li.kai {left:679px; top:652px;}
#chart ul li.soha {left:146px; top:652px;}
#chart ul li.kosuke {left:743px; top:963px;}
#chart ul li.rumiko {left:259px; top:63px;}
#chart ul li.yuuka {left:488px; top:963px;}
#chart ul li.keita {left:476px; top:63px;}
#chart ul li.takashi {left:503px; top:1317px;}
#chart ul li.michiru {left:282px; top:1317px;}
#chart ul li.yutaro {left:724px; top:1317px;}
#chart ul li.riyo {left:61px; top:1317px;}
#chart ul li.kana {left:267px; top:963px;}
#chart ul li.gaku {left:743px; top:324px;}
#chart ul li.chikako {left:743px; top:39px;}
#chart ul li.ken {left:42px; top:63px;}
#chart ul li.youngsoo {left:42px; top:963px;}
#chart ul li.sakura {left:432px; top:608px;}
#chart ul li.shogun {left:570px; top:663px;}

@media all and (min-width: 992px) {
#chart .diagram{ width:100%; height:1652px;}
}
@media all and (max-width:991px) {
#chart .diagram{margin:0 auto; overflow:hidden; width:100%; height:0; padding:168.586387435% 0 0;}
#chart .diagram ul {position: absolute; left:0; top:0; width:100%; height:100%;}
}
@media all and (max-width: 767px) {
#chart #contents{background-size:50%;}
}

/*popup*/
#cast_dt {text-align:left;
background-color:#fff;
background-image:url(../img/footprint2.svg),url(./img/ttl2.svg),url(../img/bg2.jpg);
background-repeat:no-repeat,no-repeat,no-repeat;
border:1px solid #000;
overflow: hidden;
}
#cast_dt.dogs {text-align:left;
background-color:#dae8fd;
background-image:url(../img/footprint2.svg);
background-repeat:no-repeat;
}
#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:0 1.5% 1.5% 0; position:relative; border-bottom:1px solid #000;}
#cast_dt h1 span.castname{ width:100%; height:87px; 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#aiko span.castname {background-image: url(./img/aiko.png);}
#cast_dt h1#kai span.castname {background-image: url(./img/kai.png);}
#cast_dt h1#soha span.castname {background-image: url(./img/soha.png);}
#cast_dt h1#kosuke span.castname {background-image: url(./img/kosuke.png);}
#cast_dt h1#rumiko span.castname {background-image: url(./img/rumiko.png?1);}
#cast_dt h1#yuuka span.castname {background-image: url(./img/yuuka.png);}
#cast_dt h1#keita span.castname {background-image: url(./img/keita.png);}
#cast_dt h1#takashi span.castname {background-image: url(./img/takashi.png);}
#cast_dt h1#michiru span.castname {background-image: url(./img/michiru.png);}
#cast_dt h1#yutaro span.castname {background-image: url(./img/yutaro.png);}
#cast_dt h1#riyo span.castname {background-image: url(./img/riyo.png?1);}
#cast_dt h1#kana span.castname {background-image: url(./img/kana.png);}
#cast_dt h1#gaku span.castname {background-image: url(./img/gaku.png);}
#cast_dt h1#chikako span.castname {background-image: url(./img/chikako.png);}
#cast_dt h1#ken span.castname {background-image: url(./img/ken.png);}
#cast_dt h1#youngsoo span.castname {background-image: url(./img/youngsoo.png);}

#cast_dt .prof {width:100%; background-color:#fff; border-radius:16px; border:1px solid #000;}
#cast_dt .prof p{color:#000; font-weight: 500;}

#cast_dt .photo span{background-repeat: no-repeat; background-position:center top; background-size: cover; z-index:1; display:block; width:100%; height:100%;}
#cast_dt .photo span.ph_aiko {background-image: url(./img/ph_aiko.png);}
#cast_dt .photo span.ph_kai {background-image: url(./img/ph_kai.png);}
#cast_dt .photo span.ph_soha {background-image: url(./img/ph_soha.png);}
#cast_dt .photo span.ph_kosuke {background-image: url(./img/ph_kosuke.png);}
#cast_dt .photo span.ph_rumiko {background-image: url(./img/ph_rumiko.png);}
#cast_dt .photo span.ph_yuuka {background-image: url(./img/ph_yuuka.png);}
#cast_dt .photo span.ph_keita {background-image: url(./img/ph_keita.png);}
#cast_dt .photo span.ph_takashi {background-image: url(./img/ph_takashi.png);}
#cast_dt .photo span.ph_michiru {background-image: url(./img/ph_michiru.png);}
#cast_dt .photo span.ph_yutaro {background-image: url(./img/ph_yutaro.png);}
#cast_dt .photo span.ph_riyo {background-image: url(./img/ph_riyo.png);}
#cast_dt .photo span.ph_kana {background-image: url(./img/ph_kana.png);}
#cast_dt .photo span.ph_gaku {background-image: url(./img/ph_gaku.png);}
#cast_dt .photo span.ph_chikako {background-image: url(./img/ph_chikako.png);}
#cast_dt .photo span.ph_ken {background-image: url(./img/ph_ken.png);}
#cast_dt .photo span.ph_youngsoo {background-image: url(./img/ph_youngsoo.png);}

#cast_dt.dogs figure{width:70%; padding:87.9518072289% 0 0; background: url(./img/sakura.png) no-repeat 0 0; background-size:cover; position:relative; margin:0 auto 5%;}
#cast_dt.dogs figure.shogun{background-image:url(./img/shogun.png);}
#cast_dt.dogs figure img{position:absolute;left:0;top:0; width:100%; height:100%;}

#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:800px; height:460px; margin-left:-400px;
background-position:right 5% top 10%,right -5% bottom -1%,0 0;
background-size:80%,70%,cover;
border-radius:16px;
}
#cast_dt.dogs {width:400px; height:500px; margin-left:-200px;
background-position:right 5% top 10%;
background-size:120%;
}
#cast_dt #mainbox {margin:0 auto; padding:2em 0 0 0;}
#cast_dt.dogs #mainbox {margin:0 auto; padding:1em 0 0;}
#cast_dt .prof{width:53%; margin:1em 1em 0 auto; z-index:0; padding:1em 1.25em 1.25em;}
#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:340px; height:450px; position:absolute; left:0; bottom:0; z-index:1;}
#cast_dt .photo::before {
  content:'';
  width:100%;
  height:80%;
  bottom:0;
  left:0;
  position: absolute;
  background-color:#dae8fd;
border-radius:0 86px 0 0;
z-index:-1;
border-top:1px solid #000; 
border-right:1px solid #000; 
}
#cast_dt .btn-w-close{position:absolute;right:2%; 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:4vw; 
}
#cast_dt.dogs{
width:90%; margin:0 0 0 -45% !important;
background-position:right 0 top 15%;
background-size:150%;
}
#cast_dt #mainbox {margin:0 auto; padding:3% 0 0;}

#cast_dt h1 {width:100%; margin:0; padding:0 2% 2% 0; position: relative;}
#cast_dt h1 span.castname{width:100%; height:0; padding:17.5% 0 0 0; background-size: contain; margin:0;}
#cast_dt .photo {width:78%; margin:0 auto; position: relative; background-size:100%;}
#cast_dt .photo::before {
  content:'';
  width:100%;
  /*width: calc(100% - 1px);*/
  height:80%;
  bottom:0;
  left:-1px;
  position: absolute;
  background-color:#dae8fd;
border-radius:0 20vw 0 0;
z-index:-1;
border-top:1px solid #000; 
border-left:1px solid #000; 
border-right:1px solid #000; 
}

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

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