@charset "UTF-8";
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video,main {margin:0;padding:0;border:0;font-size:100%;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,main {display:block;}
body {font-family:Verdana,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;line-height:1;}
ol,ul {list-style:none;}
blockquote,q {quotes:none;}
blockquote:before,blockquote:after,q:before,q:after {content:'';content:none;}
table {border-collapse:collapse;border-spacing:0;}
wbr:after {content:"\00200B";}

/*	TBS reset
============================== */
.alt {position:absolute;top:-5000px;left:-9999px;}
.clearfix:after {content:"";clear:both;display:block;}
.hide-txt {text-indent:110%;white-space:nowrap;overflow:hidden;}
.fp-causion {display:none;}
.nocontxt {-webkit-touch-callout: none;-webkit-user-select: none;user-select: none;-webkit-user-drag:none;}
.nocontxt img {pointer-events: none;}
@media all and (min-width:768px) {
.alt-pc {position:absolute;top:-5000px;left:-9999px;}
.clearfix-pc:after {content:"";clear:both;display:block;}
.hide-txt-pc {text-indent:110%;white-space:nowrap;overflow:hidden;}
}
@media all and (max-width:767px) {
.alt-smp {position:absolute;top:-5000px;left:-9999px;}
.clearfix-smp:after {content:"";clear:both;display:block;}
.hide-txt-smp {text-indent:110%;white-space:nowrap;overflow:hidden;}
}
div.embed-tbsplayer {
background-color:#000;
position:relative;
height:0;
padding-top:56.25%;
}
div.embed-tbsplayer .tbs-player {
position:absolute;
left:0;
top:0;
width:100%;
height:100%;
}
div.embed-tbsplayer-audio {
background-color:#fff;
}
div.embed-tbsplayer-audio .tbs-player {
height:46px;
}
div.lbx-overlay {
z-index:10000;position:absolute;background-color:#000;width:100%;height:100%;left:0;top:0;right:0;bottom:0;opacity:0.9;
}
/*/////////////////////////////////////////////////////////////////////////
default_CSS
/////////////////////////////////////////////////////////////////////////*/
@font-face {
  font-family: YuGothicM;
  src: local("Yu Gothic Medium");
}
body {font-family:"Times New Roman" , "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif; -webkit-text-size-adjust: 100%; line-height: 1;}
body, h1, h2, h3, h4, h5, div, p, dl, dt, dd, ol, ul, li, form, table, caption, tbody, tfoot, thead, tr, th, td, article,figure { margin:0; padding:0; font-weight: normal; font-size:100%; box-sizing: border-box;}
p {background-color:rgba(255,255,255,.01);}
img,iframe { border:none;}
ol,ul { list-style:none; list-style-type: none;}
.relative { position: relative;}
.hid{visibility: hidden;}
.cover {width:100%; height:100%;}
@media print {
.noprint {display:none !important;}
}
/*font*/
.tCenter { text-align:center !important}
.tRight { text-align:right !important}
.tLeft { text-align:left !important}
/*font-size*/
html { font-size: 62.5%;}
body { font-size: 1.6rem; }
h1 { font-size: 3.2rem; }
h2 { font-size: 2.3rem; }
h3 { font-size: 2.1rem; }
h4 { font-size: 2.0rem; }
p { font-size: 1.6rem; }
.f160 { font-size:160%;}
.f140 { font-size:140%;}
.f130 { font-size:130%;}
.f120 { font-size:120%;}
.f110 { font-size:110%;}
.f95 { font-size:95%;}
.f90 { font-size:90%;}
.f85 {font-size:85% !important;}
.f80 {font-size:80% !important;}
.f75 {font-size:75% !important;}
.stred{color:#fb4033;}
.stblu{color:#003686;}
.storgl{color:#eb5522;}
.ffsp{font-feature-settings: "palt";}
/*link*/
a { text-decoration:none; color:#2d2d2d;}
a:hover { text-decoration:none; color:#2d2d2d;}
#menu li,header #logo a,a.btn_prev,a.btn_s,a.btn_i,#prevnext ul li a,.update li a,.bnarea ul li a,.bn_prev a,#gotop a,a.btn_df,ul.bnr li a,.btnitem,#snsarea #sns a,.paraviorg{text-decoration:none;
    -webkit-transition: 0.2s ease-in-out;
    -moz-transition: 0.2s ease-in-out;
    -o-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
}
header #logo a:hover,a.btn_i:hover,a.btn_df:hover,.bn_prev a:hover,#gotop a:hover,ul.bnr li a:hover,.btnitem:hover,#snsarea #sns a:hover,.paraviorg:hover{text-decoration:none;
filter:alpha(opacity=70); -moz-opacity:0.70; opacity:0.70;}
.no-link{ pointer-events: none; cursor: default; text-decoration:none; opacity:0.70;}
.shmin {
font-family: "shippori-mincho", sans-serif;
font-weight: 600;
font-style: normal;
}

/*/////////////////////////////////////////////////////////////////////////
コンテンツ用CSS／オリジナル設定
/////////////////////////////////////////////////////////////////////////*/
html, body, div#con-body {background-color:#f9ebe5; color:#6a3906;
background-image:radial-gradient(ellipse at center, rgba(255,238,235,0.75) 0%,rgba(255,238,235,0) 100%),url(../img/bg.png);
background-repeat:no-repeat,repeat;
background-position:auto,auto;
background-size:auto,450px;
}
#con-body {background-color:transparent;}
.inner{width:1080px; margin:0 auto;}

#top header{margin:0 auto;}
#top main{width:100%;}
#top h1{width:1080px; height:780px; position:relative; margin:0 auto;}
#top h1 .main1{background: url(../img/top/main.jpg?1211) no-repeat center bottom; background-size:cover; width:100%; height:100%; margin:0 auto; position:absolute; bottom:0; left:0; right:0;
animation: fadein 1.5s ease 0s 1 normal;
-webkit-animation: fadein 2s ease 0s 1 normal;}
#top h1 .main2{position:absolute; left:3%; bottom:3%; width:45%; margin:auto; opacity: 0;
-webkit-animation: fadein 1.5s ease 0.5s 1 forwards;
  animation: fadein 1.5s ease 0.5s 1 forwards;}
#top h1 .main3{position:absolute; right:2%; bottom:4%; width:27%; opacity: 0;
-webkit-animation: fadein 2s ease 1s 1 forwards;
  animation: fadein 2s ease 1s 1 forwards;}

@keyframes fadein {
    0% {opacity:0;}
    100% {opacity:1;}
}
@-webkit-keyframes fadein {
    0% {opacity:0;}
    100% {opacity:1;}
}

#top #container{ 
background-image:url(../img/top/sakura.png),url(../img/top/sakura.png);
background-repeat:no-repeat,no-repeat;
background-position:calc(50% + 600px) -100px,calc(50% - 800px) 90%;
background-size:800px,860px;
}

#topsns{width:1080px; margin:0 auto; padding:3em .8em 0 0; text-align:right; position:relative; z-index:2;}
#topsns h2{position:relative; color:#003686; font-size:260%; vertical-align:middle; display:inline-block; padding:0;}
#topsns h2:before{
content: "";
width:50px;
height:1px;
background-color:#003686;
position: absolute;
left: -70px;
top:50%;
}
#topsns #sns{text-align:right; margin:0 auto; display:inline-block; width:220px; vertical-align:middle;}
#topsns #sns a{width:90px; height:90px; margin:0 1.5% 0; position: relative; display:inline-block; border-radius:50%; background-color:#19438b;}
#topsns #sns a img{position:absolute; top:0; right:0; bottom:0; left:0; margin:auto; width:50%;}

/*menu*/
#menu {margin:0 auto; background: url(../img/bg1.png) repeat 0 0; position: relative; background-size:12%; padding:1em 0;
box-shadow: 0 30px 30px -30px rgba(188,129,100, 0.6);}
#menu:before{
content: "";
position: absolute;
left:0;
bottom:0;
width:100%;
height:10px;
background: url(../img/top/bar.png) repeat 0 0;
}

#menu ul {width:1080px; margin:0 auto; display: flex; flex-flow: row wrap; justify-content: center; align-items: center; padding:.1em 0 .6em;}
#menu li {text-align:center; width:166px; height:85px; vertical-align: middle; position: relative; margin:0; border-left:1px solid #003586;
width: -webkit-calc(100% / 6);
width: calc(100% / 6);}
#menu li:first-child{border:none;}
#menu li a {width:100%; height:100%; display: block; text-decoration:none; color:#003585; vertical-align: middle;
z-index:5; box-sizing: border-box;
display: flex;  justify-content: center; align-items: center;
transition-duration: .5s;}
#menu li a p{font-size:160%; font-weight:700; z-index:1;}
#menu li span.eng{color:#eb5522; display:inline-block; width:100%; font-size:1.7rem; text-align:center; vertical-align: middle; font-weight:400;}
#menu li span.eng:before{
content: "";
display: inline-block;
background:url(../img/top/rice.svg) no-repeat 0 center;
vertical-align: middle;
padding-right:3px;
background-size: contain;
width:15px;
height:18px;
}
#menu li.menu5 p span.f80{font-weight:400 !important; font-size:1.2rem !important; padding:0 .1em;}
#menu li.menu4 span.ttlruby{letter-spacing:.2em;}

/*next*/
#next{margin:0 auto 8em; padding:0 0 4em;
background-image:linear-gradient(to top, rgba(235,85,34,0.15) 0%,rgba(235,85,34,0.15) 100%); 
background-repeat:no-repeat;
background-size:45% 40%;
background-position:left 0 top 5%;
}
#next .inner{padding:0;}
#next #trailer {position: relative; width:640px; height:360px; background-size:cover; background-position: center center; background-repeat: no-repeat; margin:.8em 0 0; overflow: hidden; z-index:11; transition:.5s; background-size:cover;
box-shadow:20px 20px rgba(235,85,34,0.15);
}
#next #trailer iframe,#next #trailer a,#spmov iframe {width:100%; height:360px; display:block;}
#next .play_btn { width:60px; height: 60px; border-radius:50%; background: rgba(0, 0, 0, .5); position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);  display: block; z-index:111;}
#next .play_txt { color: rgba(255, 255, 255, 1); font-size:105%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%)  rotate(90deg);}
#next h2{position: relative; z-index:11; font-size:380%; color:#003686; font-weight:700; padding:1em 0 .3em .5em; border-left:1px solid #eb5522; margin:0 0 0 .4em;}
#next h2:before{
content: "";
width:10px;
height:100%;
position: absolute;
left:5px;
top:0;
border-left:1px solid #eb5522;
}
#newep{width:41.5%; margin:0; display:inline-block; vertical-align:top; padding:1.5em 0 0; z-index:1;}
#newep #storyline{width:100%; margin:0 0 0 0;}
#newep .nextonair{font-size:220%; position: relative; padding:.7em 0; text-align:center; color:#003686; margin:0 0 .5em;}
#newep .nextonair:before{
content: "";
width:75%;
border-top:1px solid #003686;
position: absolute;
right:0;
top:0;
}
#newep .nextonair:after{
content: "";
width:75%;
border-bottom:1px solid #003686;
position: absolute;
left:0;
bottom:0;
}
#newep .nextonair span.nextoad{font-size:150%;}

#newep p.text {padding:.5em 0; line-height:160%; font-size:105%; word-break: break-all; width:86%; word-break: break-all; margin:0 2% 0 auto;
font-family:"shippori-mincho","Times New Roman", "游明朝" , "Yu Mincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho ProN" , "HG明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho",serif;}
a.btn_info{font-size:150%; font-weight: 600; display: block; width:230px; text-align:center; margin:1em auto 1.5em; color:#003686; padding:.75em 0; transition:1s ease-in-out; box-shadow:8px 6px  rgba(235,85,34,0.15); border-radius:50px; border:1px solid #003686;}
a.btn_info span{ display: inline-block;}
a.btn_info:hover{}

/*topics*/
#tbstopics{margin:0 auto; background: url(../img/bg2.png) repeat 0 0;}
#topics {position:relative; padding:5em 0 1em;}
#topics h2{font-size:380%; color:#003686; font-weight:700; text-align:center; width:100%;
position: absolute;
left:0;
top:-6%;
}
.inaho{position:absolute; top:-50px; left:calc(50% - 250px); width:70px;}
#topics .tolist{text-align:right; position: absolute;}
#topics .tolist a{position:relative; display:block; z-index:2; color:#eb5522; transition:.5s;}
#topics .tolist a:before{
content: "";
width:50px;
height:1px;
background-color:#eb5522;
position: absolute;
left: -65px;
top: 50%;
}
#topics .tolist a:hover{filter:alpha(opacity=70); -moz-opacity:0.70; opacity:0.70;}

/*whatsnew*/
#whatsnew{margin:0 auto;
background-image:url(../img/top/noren.svg);
background-repeat:no-repeat;
background-position:calc(50% - 500px) 12%;
background-size:700px;
}
#update {width:1080px; position:relative; margin:0 auto; padding:4em 0 3em;}
#update h2{margin:0; z-index:11; padding:0; font-size:360%; color:#003686; font-weight:800;
position: absolute;
left:9%;
top:5%;}
#update h2 span{position:relative; padding:2em 0 0;}
#update ul#topicslist{display: flex; flex-flow: row wrap; justify-content: center; align-items: center; padding:.5em 0 0 0;
height:auto; height:350px; overflow-y:scroll; padding:.5em 0 0 0;
width:68%;
margin:0 0 0 auto;}
#update ul::-webkit-scrollbar {width:4px;}
#update ul::-webkit-scrollbar-track {background:none;}
#update ul::-webkit-scrollbar-corner {display: none;}
#update ul::-webkit-scrollbar-thumb {background:rgba(255,249,239,0.5); border-radius:20px;}

#update ul#topicslist li{width:70%; height:auto; position: relative; margin:0 0 2.5em 1em;/*margin:3em 0 2.5em 15%;*/ z-index:1; box-shadow:6px 6px 10px rgba(126,100,54,0.5); background-color:rgba(253,246,230,0.6);}
#update ul#topicslist li a span.thum{width:185px; height:100%; display:inline-block; background-size: cover; background-repeat: no-repeat; background-position: center top; vertical-align:top; margin:0 2.5% 0 0; vertical-align: middle;}
#update ul#topicslist li p{display:inline-block;line-height:1.4; padding:0; width:auto; vertical-align: middle; font-weight:500; font-size:100%;}
#update ul#topicslist li a{display:block; width:100%; color:#6a3906;}
#update ul#topicslist li a:hover{opacity: 0.5; transition: 0.4s;}
#update ul#topicslist li span.ymd{color:#003686; font-size:100%; display:inline-block; position:absolute; bottom:6%; right:1.5%; text-align:right; line-height:100%; padding:0 .2em 0;}
#update ul#topicslist li:last-child a{pointer-events: none; cursor: default;}
#update .ytbthum{background-position: center center !important; background-size:contain !important;}
#update .logothum{background-position: center center !important; background-size:90% !important; background-color:rgba(255,249,239,0.5);}

/*bnr*/
.bnarea{padding:1.8em 0 0; 
width:100%;
position: absolute; top:-100px; left:0;
background-image:linear-gradient(300deg, rgba(189,172,64,1) 0%,rgba(216,194,95,1) 100%);
background-repeat:no-repeat;
background-size:60% 100%;
background-position:left top;
}

ul.bnr{display: flex; flex-flow: row wrap; width:1080px; margin:0 auto; justify-content: center; position:relative; z-index:1;}
ul.bnr li{width:500px; height:160px;  margin:0 0 1.5em 0; background-color:rgba(255,255,255,0.75);}
ul.bnr li a{display:block; width:100%; height:100%; background-repeat: no-repeat; background-position:center center; position: relative; background-size:cover; box-shadow:10px 10px 16px rgba(0,0,0,0.2);}

/*sns*/
#snsarea{position: relative; padding:.5em 0 0; margin:0 auto 0; background-color:rgba(230,221,148,0.38);}
#snsarea:before{
content: "";
position: absolute;
left:0;
top:0;
width:100%;
height:10px;
background: url(../img/top/bar.png) repeat 0 0;
background-size:cover;
}
#snsarea .inner{width:1000px; margin:3em auto 0; display: flex; flex-flow: row wrap; position: relative; /*justify-content: center;*/}
#igTL h3,#twTL h3,#rect h3{font-size:260%; color:#003686; text-align:center;
font-family: "shippori-mincho", sans-serif;
font-weight: 400;
font-style: normal;}

#igTL,#twTL{width:345px; height:auto; margin:0 1.5em 3em 0; position: relative;}
#igTL div.insta,#twTL .tline{width:100%; margin:.5em auto 1.5em; overflow:hidden; background-color:rgba(253,246,230,0.6); border-top:4px solid #003686; border-bottom:4px solid #003686;}
#twTL .tw-inner{width:100%; margin:0 auto; position: relative; padding:1.5em 0 0;}
#igTL .outgo,#twTL .outgo{position:absolute; bottom:0; left:1%; font-size:75%; color:#003686; display:block;}

#rect {width:255px; text-align:center;}
#rect h3{padding:0 0 4%; background-size:50%;}
#rect .ad {display:block; width:300px; height: 250px; background:#fff;}

#snsarea #sns{text-align:center; margin:0 auto 2em;}
#snsarea #sns a{width:80px; height:80px; margin:5% 2% 0; position: relative; display:inline-block; border-radius:50%; background-color:#003686;}
#snsarea #sns a img{position:absolute; top:0; right:0; bottom:0; left:0; margin:auto; width:50%;}

/*footer*/
#top footer{text-align:center; padding:1.5em 0; position: relative; z-index:1;}
footer .share{display:inline-block; vertical-align:top; padding:35px 0 0; position: relative; z-index:10;}
footer p.copy {text-align:center; padding:1em 0; font-size:80%; color:#6a3906;}
footer p.copy a{color:#6a3906;}
#top footer p.copy {display:inline-block; width:720px; margin:0 auto;}
/*f2*/
footer.dir2{margin:4% 0 0; position:relative; padding:2em 0;}
footer.dir2 .inner{width:980px; margin:0 auto; position:relative; /*height:200px;*/ }
footer.dir2 .share{position:absolute; top:20%; left:0;}
#rect2 {width:300px; height: 250px; background:#fff; position:absolute; bottom:10%; right:0;}

#gotop {position: absolute; bottom:100px; right:0; z-index:10; text-align:right; padding:1em .8em; width:40px;}
#top #gotop{bottom:40px;}
#gotop a {display:block;}
#gotop img{width:100%; }

/*------------------　2nd　------------------ */
header#dir{padding:2.5em 0 0; margin:0 auto; position: relative;}

header#dir #logo{width:570px; height:140px; margin:0 auto 2em;
animation: fadein 1.5s ease 0s 1 normal,blur 1.5s;}
header#dir #logo a{background: url(../img/logo.svg) no-repeat center center; background-size:contain; display:block; width:100%; height:100%;}
/*header#dir #logo a img{width:100%; display:block; margin:0 auto;}*/
h1#ttl{text-align:center; padding:0; margin:0 auto .5em; position: relative; color:#003686; font-size:400%; letter-spacing:.05em;}
h1#ttl span.subtxt{color:#eb5522; font-weight:400; display:block; font-size:2rem; padding:.4em 0 0;}
.wrap{position: relative; padding:4em 0 0;
background-image:url(../img/top/sakura.png),url(../img/top/sakura.png);
background-repeat:no-repeat,no-repeat;
background-position:calc(50% + 600px) -100px,calc(50% - 800px) 90%;
background-size:800px,860px;}

#contents{width:980px; background-color:rgba(253,246,230,0.6); padding:3.5em 0 2em; margin:0 auto 3em; position: relative; box-shadow:8px 8px 18px rgba(126,100,64,0.3); }
#contents .inner{width:90%;}
#contents .inner p {padding:1em 0 .5em; line-height:1.7;}

.ph_cut {width:700px; height:467px; margin:1.5em auto; background-size: cover; background-repeat: no-repeat; background-position: center center; position: relative;}
.ph_cut_l {width:400px; height:600px; margin:1.5em auto; background-size: cover; background-repeat: no-repeat; background-position: center top; position: relative;}
.lazy {position:relative; display: block; background-repeat: no-repeat; background-position: center center; background-size: cover;}
.lazy img {position:absolute;left:0;top:0; width:100%; height:100%;}
.line1 {background: linear-gradient(transparent 70%, rgba(193,175,30,0.4) 70%); padding:0 .2em .15em;}
.line2 {background: linear-gradient(transparent 70%, rgba(240,223,99,0.4) 70%); padding:0 .2em .15em;}
.bdr{padding:.8em 1.5em; margin:1.5em auto; font-size:95%;}
.bdr2{padding:.8em 1.5em; margin:1.5em auto .5em; font-size:95%; border:1px solid #dabd64; box-shadow:10px 10px 20px rgba(197,152,97,0.2);}
.fuchidori {font-weight: bold; color: rgba(0, 0, 0, 0); text-shadow:2px 2px 0 #fef900; -webkit-text-stroke: 1px #fd52ba; text-stroke: 1px #fd52ba;}

/*about*/
#highlight h2{font-weight:700; line-height:150%; font-size:180%; margin:0 0 .5em; text-align:center; color:#003686;}
#highlight h2 span.f120{line-height:160%;}
#highlight h3{font-weight:600; line-height:150%; font-size:170%; margin:0 0; text-align:center;}
#highlight .ph1{width:800px; height:570px;}
#highlight .ph1 span {width:100%; height:100%; background-image:url(../img/aboutph.jpg); background-position: center bottom; position: absolute; z-index:auto; display:block;  background-size: cover;}

#highlight p.cap {font-size:85%; text-align:center; padding:0 !important; margin:0 !important;}
#highlight .hidden_show {
    height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    transition: 0.8s;
}
#highlight input:checked ~ .hidden_show {
    padding:.5em 0 0;
    height: auto;
    opacity: 1;
}
#highlight label {cursor :pointer;}
#highlight input {display: none;}
#highlight .comment {padding:.8em 1.2em; margin:1.5em 0; border:1px solid #003686;}
#highlight .comment h4{padding:.3em 0 .3em; font-size:130%; font-weight:700; line-height:140%; color:#003686;}
#highlight .comment h5{position:relative; font-size:115%; color:#b29c46; padding:0 0 0 35px; margin:.6em 0 0;}
#highlight .comment h5:before{
content: "";
width:30px;
height:1px;
background-color:#b29c46;
position: absolute;
left:0;
top:50%;
}
#highlight .comment p{padding:.5em; font-size:100%;}

/*caststaff*/
#caststaff h1#ttl{ letter-spacing:-.01em;}
#caststaff h1#ttl span.subtxt{letter-spacing:.05em;}
#caststaff h1#ttl span.mdot{font-feature-settings: "palt"; font-size:80%;}
#caststaff h2{color:#003686; margin:0 auto 1em; text-align:center; letter-spacing:.05em; font-size:300%; position:relative; display:inline-block; position: relative; padding:0 65px; letter-spacing:-.01em;}
#caststaff h2.staff{margin:1.8em auto 1em;}
#caststaff h2:before, #caststaff h2:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height:3px;
  border-top: solid 1px #eb5522;
  border-bottom: solid 1px #eb5522;
}
#caststaff h2:before {
  left:0;
}
#caststaff h2:after {
  right: 0;
}
#caststaff h3{width:80%; margin:1.5em auto .6em; font-size:105%; font-weight:600; position: relative; line-height:170%; color:#003686; background-color:rgba(235,85,34,0.1);}
#caststaff #spvlist h2{margin:2em auto 0; letter-spacing:0;}
#caststaff #spvlist h2:first-of-type{margin:0 auto;}
#caststaff h3:first-of-type{margin:0 auto .6em;}
#caststaff .credit{text-align:center; width:60%; margin:0 auto 2em; font-size:140%; line-height:1.7; font-weight: 500;}
#caststaff table span.f80{font-size:80%;}
#caststaff table span.f80_2{font-size:85%;}
#caststaff .credit span.f80_3{font-size:80%; line-height:130%; display:block;}
#caststaff #spvlist.credit p{line-height:120%;}
#caststaff table{width:80%; margin:0 4.5% 0 auto; font-size:160%;}
#caststaff table td{text-align:center; padding:2% 0; line-height:1;}
#caststaff table td.emp{padding:0 !important;}
#caststaff table td.cname{text-align:left;width:55%; vertical-align:bottom;}
#caststaff table td.chara{text-align:right;width:39%; vertical-align:bottom; color:#003686;}
#caststaff table td.naka{padding:0 0 0; font-size:80%; vertical-align:middle; line-height:0; color:#b29c46;}
#caststaff table td.maru{font-size:80%; color:#b29c46; padding:3% 0;}
.group{font-size:80%; font-feature-settings: "palt";}

/*btn*/
a.btn_df {width:40%; display:block; text-align:center; font-weight:600; font-size:150%; transition: 0.5s; position: relative; padding:1.4em 0; margin:1.5em auto; background: none; color:#eb6100; 
font-weight: 700; font-style: normal;}
a.btn_df span{position: relative;  z-index:2;}
a.btn_df:before,a.btn_df:after { 
  content:'';
  width:94%;
  height:94%;
  position: absolute;
  display: inline-block;
}
a.btn_df:before {
  border-left: solid 2px #eb6100;
  border-top: solid 2px #eb6100;
  top:0;
  left:0;
}
a.btn_df:after {
  border-right: solid 2px #eb6100;
  border-bottom: solid 2px #eb6100;
  bottom:0;
  right:0;
}

#highlight label{font-size:150%; font-weight:700; display: block; width:40%; text-align:center; margin:1.5em auto 1.5em; color:#003686; padding:1.2em 0; transition:.5s ease-in-out; box-shadow:8px 6px  rgba(235,85,34,0.15); border-radius:50px; border:1px solid #003686;}
#highlight label:hover{color:#fff; background-color:#003686;}

/*share*/
#share{width:50%; text-align:center; margin:2% auto; vertical-align:middle;}
#share span{position: relative; font-weight:600; color:#003686;}
#share span:before{
content: "";
width:35%;
height:1px;
background-color:#003686;
position: absolute;
left:-45%;
top:50%;
z-index:1;
}
#top #share{margin:3.5em auto 0; width:100%; padding:0 0 1em;}
#top #share h4{font-size:120%; padding:2.6em 0 .8em; position: relative; color:#003686;}
#top #share h4:before{
content: "";
width:1px;
height:48%;
background-color:#003686;
position: absolute;
left: 50%;
top:0;
z-index:1;
}
#share ul{display: inline-block; margin:0 0 0 .5em; vertical-align:middle;}
#share ul li{display:inline-block; border-radius:50%; margin:0 .4em 0;}
#share ul li img{width:50px;}
#share ul li a{display:block;}
#share ul li a img{transition: .5s;}
#share ul li a:hover img{transform: scale(1.2);}

/*//////pc//////*/
@media all and (min-width: 768px) {
.nobr{display: none;	}
#update h2{writing-mode: vertical-rl;}
#update ul#topicslist{justify-content: start; align-items: start; min-height:300px;}
#update ul#topicslist li:nth-child(2n){margin:0 0 2.5em 25%;}
#update ul#topicslist li a span.thum{height:140px;}
#topics{width:1080px; margin:0 auto;}
#newep{position:absolute; top:12%; right:0;}
.onigiri{position:absolute; top:-20px; left:calc(50% + 190px); width:70px;}
#topics .tolist{top:10%; right:1%;}
#update h2 span:before{
content: "";
width:1px;
height:95px;
background-color:#003686;
margin:0 auto;
position: absolute;
left:0; right:0; 
top:0;
}
}

/*//////smp//////*/
@media all and (max-width: 767px) {
html, body, div#con-body {background-size:100%;}
body,p { font-size: 1.4rem;}
h1 { font-size: 2.6rem;}
h2 { font-size: 2rem; line-height:1.5em;}
h3 { font-size: 1.6rem; }
h4 { font-size: 1.4rem; }
.f90 { font-size: 1.2rem;}
.hidtxt{visibility:visible;}
.hid_sp{display:none;}
.pcbr{display: none;	}
.ph_cut img,.ph_cut_l img,#top h1 .main1 img,#spot #trailer img,#update ul#topicslist li span.thum img,#newep figure#mainph span img {position:absolute;left:0;top:0; width:100%; height:100%;}

#top header{margin:0 auto;}
#top h1{width:100%; height:0; padding:72.2% 0 0;}
#top h1 .main2{left:2%; bottom:2.5%; width:47.5%;}
#top h1 .main3{right:1.5%; bottom:3.5%; width:28%;}

#container{padding:4% 0 0;}
#top #container{padding:6% 0 0;
background-position:-50% -80px,left 0 bottom 20%;
background-size:130%,130%;}

#topsns{width:100%; margin:0 auto; padding:2% 0; text-align:center;}
#topsns h2{font-size:9vw;}
#topsns h2:before{
width:25%;
height:1px;
left:-30%;
top:50%;
}
#topsns #sns{text-align:center; margin:0 auto; display:inline-block; width:40%; vertical-align:middle;}
#topsns #sns a{width:16vw; height:16vw; margin:0 1.2% 0;}

#menu{background-size:100%; padding:2% 0 2%;}
#menu:before{height:8px;}
#menu ul {width:100%; padding:0;}
#menu li {height:0; margin:0 0 1.5%;
width:31%;
width: -webkit-calc(100% / 3);
width: calc(100% / 3);
padding:19% 0 0;
}
#menu li.menu1:before,
#menu li.menu2:before,
#menu li.menu3:before{
content: "";
width:80%;
height:1px;
position: absolute;
left:0;right:0;
margin:0 auto;
bottom:0;
background:#003586;
z-index:11;
}
#menu li a{position:absolute; top:0; left:0;}
#menu li a p{width:100%; font-size:5vw;}
#menu li span.eng{width:100%; font-size:3.4vw;}
#menu li span.eng:before{
margin-right:3%;
padding-right:0;
width:2.8vw;
height:5vw;
}
#menu li.menu4{border-left:none;}

/*next*/
#next{margin:0 auto 10%; padding:0;
background-size:80% 25%;
background-position:left 0 top 2.5%;
}
#next .inner{width:100%; padding:0;}
#next h2{font-size:10vw; padding:.5em 0 0 .5em; margin:0 0 2% 3.5%;}
#next h2:before{
width:10px;
left:3px;
}
#next #trailer,#spmov div {width:96%; position:relative; padding:54% 0 0; height:0; overflow: hidden !important; z-index:1; margin:0 auto;}
#next #trailer{background-position:top 30% center !important; padding:54% 0 0; box-shadow:none;}
#trailer iframe,.emb iframe,#spmov iframe,#next #trailer a,#next #trailer img{position:absolute; top: 0; left:0; width:100% !important; height: 100% !important;}
#next .play_btn{width:14.5%; height:26%;}
#next .play_txt {font-size:4.3vw;}

#newep{width:100%; margin:3% auto 0; background:none; padding:0;}
#newep #storyline{width:100%; margin:0 auto; display:block; position: relative; padding:0;}
#newep .nextonair{margin:0 0 2%; font-size:6vw; padding:3% 0;}
#newep .nextonair span.epnum{font-size:180%;}
#newep p.text {line-height:160%; font-size:3.5vw; padding:1% 0 1% !important; width:90%; margin:0 auto !important;}
a.btn_info{font-size:5vw; width:47%; margin:3% auto 3%; padding:3% 0; box-shadow:5px 5px  rgba(235,85,34,0.15);}

/*topics*/
#tbstopics{padding:0 0 4%;}
#topics h2{font-size:10.5vw; top:-10%;}
.onigiri{position:absolute; top:-3%; right:11%; width:9.5vw;}
.inaho{top:-10%; left:14%; width:10.5vw;}
#topics {padding:11.5vw 0 1%;}
#topics .tolist{text-align:right; position: absolute; bottom:-2.5%; right:2%; font-size:3.2vw;}
#topics .tolist a:before{
width:9vw;
left: -11.5vw;
}

/*whatsnew*/
#whatsnew{margin:0 auto 0; background-size:90%; padding:8% 0 0;
background-position:center top 7%;
background-size:100%;
}
#update{padding:0 0 5%; width:100%;}
#update h2{font-size:10vw; position: static; text-align:center; margin:2% auto 2%;}
#update h2 span{padding:2% 0;}
#update ul#topicslist{height:auto; padding:1% 0 1% 0; width:100%; margin:5% auto 0;
/*overflow-y:scroll;
height:460px; padding:1% 2% 0 0;
overflow-scrolling: touch;
-webkit-overflow-scrolling: touch;
height:47vh;*/}
#update ul#topicslist li p{line-height:130% !important; font-size:3.5vw;}
#update ul#topicslist li{width:88%; height:auto; margin:0 0 4.5%; box-shadow:4px 4px 8px rgba(126,100,54,0.4);}
#update ul#topicslist li a span.thum{width:35%; height:auto; margin:0 2% 0 0; position:relative; padding:25% 0 0;} 
#update ul#topicslist li span.ymd{font-size:3.5vw;}

/*bnr*/
.bnarea{padding:3% 0;
position: absolute; top:-5%; background-size:88% 100%;}

ul.bnr{width:88%; align-items: center;}
ul.bnr li{width:100%; height:auto; margin:2% auto;}
ul.bnr li a{height:0; padding:32% 0 0;}
.streambnr{padding:5% 0; margin:2.5% auto 0;}

/*sns*/
#snsarea{margin:0 auto 0;}
#snsarea:before{height:8px;}
#snsarea .inner{width:100%; margin:5% auto 0;}
#igTL h3,#twTL h3,#rect h3{font-size:9.5vw;}
#igTL,#twTL{margin:0 auto 10%; width:90%; height: calc(320px + 2%); padding:0 0 2%;}
#igTL{height:auto; margin:0 auto 12%;}
#twTL .tline{
margin:.5% auto 0; padding:2% 0 0;
height:290px;
/*overflow-y: scroll;*/
overflow-scrolling: touch;
-webkit-overflow-scrolling: touch;}
#igTL div.insta{margin:1% auto 0;}
#twTL .outgo,#igTL .outgo{position:absolute; left:.5%; bottom:-3%;}

#rect {margin:0 auto 3%; z-index:10;}
#rect h3{margin:0; padding:0 0 3%;}

#snsarea #sns{margin:3% auto 0;}
#snsarea #sns a{width:70px; height:70px; margin:2% 2% 0;}

@media all and (max-width: 320px) {
#next #sns{width:80%; background-size:100%;}
#next #sns a{width:65px; height:65px; margin:0 1% 0;}
}

#top footer{padding:4% 0 75px;}
#top footer p.copy {width:100%; padding:0 5%;}

footer.dir2{padding:2% 0 70px;}
footer.dir2 .inner{width:100%; height:auto; text-align:center; /*padding:5% 0 0;*/}
footer p.copy{text-align:center; padding:2% 5%; line-height:130%;}
footer.dir2 .share{position:static; padding:5% 0;}
#rect2{position:static; margin:0 auto;}
#gotop{right:0; bottom:4%; width:35px;}
#top #gotop{right:0; bottom:16%;}

/*------------------　2nd　------------------ */
header#dir{padding:1.5% 0 0; margin:0 auto;}
header#dir #logo{width:76%; height:auto; margin:0 auto 5%;}
header#dir #logo a{padding:22% 0 0; position: relative;}
header#dir #logo a img {position:absolute;left:0;top:0; width:100%; height:100%;}

h1#ttl{font-size:12vw;}
h1#ttl span.subtxt{font-size:4.8vw; padding:1% 0 0;}

.wrap{padding:6% 0 0;
background-position:-50% -80px,left -100% bottom 5%;
background-size:130%,130%;}

#contents{width:96%; margin:0 auto 6%; padding:5% 0 5%; box-sizing: border-box; box-shadow:1% 1% rgba(235,97,0,0.2);}
#contents .inner{width:98%;}
#contents .inner p {padding:.5em 0 1em; line-height:160%;}
#contents .inner p.f85,#contents .inner p.f80 {line-height:normal !important;}
.ph_cut {width:100%; height:0; padding:66.6% 0 0; position: relative; margin:1em auto;}
.ph_cut_l {width:60%; height:0; padding:90% 0 0; position: relative; margin:1em auto .5em;}
#bknm{width:100%; margin:2em auto 1em;}
.bdr{width:92%; padding:.4em 0;}

/*about*/
#highlight h2{font-size:4.8vw; padding:0 2% 0; line-height:145%; margin:0 0 3%;}
#about #contents p,#story #contents p,#music #contents p {padding:1em 1em .5em;}
#highlight h3{font-size:4.5vw; padding:0; margin:0 auto 2%; line-height:145%;}
#highlight .ph1{width:95%; height:0; padding:67.2125% 0 0; margin:0 auto;}
#highlight .ph1 span,#comic .comiccover span{position: absolute; top:0; left:0;}
#highlight .comment,#comic .comment{width:94%; margin:.8em auto 1em; padding:2.5%;}
#highlight .comment h4{font-size:4.6vw; padding:.2em 0 0 .3em; margin:0 0 .6em;}
#highlight .comment h5{font-size:4.1vw; padding:0 0 0 9%; margin:5% 0 2% 2%;}
#highlight .comment h5:before{
width:7.5%;
}
#highlight .comment p,#comic .comment p{padding:0 .5em !important; font-size:95%;}

.bdr3{width:92%;}
.bdr3:last-child{padding:0 !important;}

#story #trailer,#movie .emb {width:92%; position: relative; padding:51.75% 0 0; height: 0; overflow: hidden; height:auto; margin:0 auto .5em;}
#story #trailer iframe,#topics .emb iframe,#movie .emb iframe,#story #trailer img{ position: absolute; top: 0; left: 0; width: 100% !important; height: 100% !important;}

/*caststaff*/
#caststaff h1#ttl{ letter-spacing:-.05em; font-size:10.9vw;}
#caststaff h1#ttl span{letter-spacing:.05em; font-size:4.8vw;}
#caststaff h2{font-size:9vw; margin:0 auto 2%; padding:0 12%;}
#caststaff .castlist{width:95%; padding:180% 0 0 !important;}
#caststaff h2.staff{margin:8% auto 4%;}
#caststaff h2:before, #caststaff h2:after {
  width:14%;
  height:2px;
}
#caststaff h3{margin:5% auto .5em; font-size:4.5vw;}
#caststaff table{width:100%; margin:0 auto 2%;}
#caststaff table td{padding:2.5% 0;}
#caststaff table td.cname{font-size:4.5vw; width:50%;}
#caststaff table td.chara{font-size:4.5vw; width:42%;}
#caststaff table td.naka{font-size:3.4vw; vertical-align:middle;}
#caststaff .credit{width:95%; font-size:4.3vw; margin:0 auto 2%;}
#caststaff table td.cname span.f90{font-size:3vw;}
#caststaff table td.maru{font-size:75%; padding:3% 0 !important; line-height:100% !important;}
#caststaff table span.f80{display:block; line-height:160%; font-size:3.35vw !important;}
#caststaff table .vam{vertical-align:middle !important;}

a.btn_ap {margin:.5em auto 1.5em; width:62%; font-size:1.5rem; font-size:4vw;}
a.btn_s{width:50%;}
a.btn_i {margin:.5em 0 .2em; padding:.5em 2em;}
a.btn_df,#highlight label,a.btn_df2{width:75%; margin:1.2em auto 1.5em; padding:5% 0; font-size:5vw; letter-spacing:.05em; line-height:150%;}
a.btn_df2{width:70%; padding:4% 0; margin:1.5em auto 1em; font-size:4.3vw;}

#msg #contents h1.entry span.ttl img{top:-1.2%;}
#msg .postbtn{margin:12% auto 5%;}

/*share*/
#share{width:100%; margin:2% auto 5%;}
#top #share{margin:8% auto 0;}
#share span:before{
content: "";
width:40%;
left: -50%;
}
#share ul li{margin:0 .2em 0;}
#share ul li img{width:40px;}
}
.md-inner {box-shadow:none !important;}
.md-caption {color:#222 !important;}

.fadedown {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:1s;
 -ms-animation-duration:1s;
 animation-duration:1s;
 -webkit-animation-name: fadedown;
 -ms-animation-name: fadedown;
 animation-name: fadedown;
 visibility: visible !important;
}
@-webkit-keyframes fadedown {
 0% { opacity: 0; -webkit-transform: translateY(10px);}
 100% { opacity: 1; -webkit-transform: translateY(0);}
}
@keyframes fadedown {
 0% { opacity: 0; -webkit-transform: translateY(10px); -ms-transform: translateY(10px); transform: translateY(10px);}
 100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0);}
}

/*	instagram
============================== */
#igTL div.insta{padding:3.5% 1%;}
div.insta ul{margin:0 auto; display: flex; flex-flow: row wrap; justify-content: center; align-items: center;}
div.insta ul li {
margin:1.2%;
width: -webkit-calc(96% / 3 - 2.5%) ;
width: calc(96% / 3 - 2.5%);
}
div.insta ul li span, div.insta ul li a, div.insta ul li a img {
	display:block;
}
div.insta ul li a, div.insta ul li a img {
	background-position:center center;
	background-repeat:no-repeat;
}
div.insta ul li a {
	background-size:cover;
	position:relative;
	height:0;
	padding-top:100%;
}
div.insta ul li a:hover img {
	background-color:rgba(20,20,20,0.5);
}
div.insta ul li a img {
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	border:0;
	position: absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	transition:.5s;
}
div.insta ul li a img.icon-video {
	background-image:url(/um/img/play.png);
}

@media all and (max-width: 767px) {
#igTL div.insta{padding:3% 1.5% 3%;}
div.insta ul{margin:0 auto 0;}
div.insta ul li {margin:1.1%;}
}

div#bn_super {border-bottom:1px solid #e8e4e0;}


/* stream */
div#tshd{padding:1.5em 0; background:rgba(255,255,255,0.6) url(../img/bg2.png) repeat 0 0;}
.tbs-stream-header nav {
	max-width:980px !important;
}
.tbs-stream-header nav ul li a span.tbs-stream-txt {
letter-spacing:.1em;
font-family: "shippori-mincho", sans-serif;
font-weight: 600;
font-style: normal;
}

div#tsft{background:rgba(255,255,255,0.3); margin:0 auto; padding:0 0 .5em;}
.tbs-stream-footer nav {
	max-width:980px !important;
}
div#tsft aside{margin:0 auto !important;}
.tbs-stream-footer p {
font-family: "shippori-mincho", sans-serif;
font-weight: 600;
font-style: normal;
}

/*//////smp//////*/
@media all and (max-width: 767px) {
.tbs-stream-header nav {
    width:100%;
}
div#tshd{padding:2.5% 0 3%;}

div#tsft{padding:0;}
.tbs-stream-footer nav ul {justify-content: center;}
.tbs-stream-footer nav ul li {
	width: calc(100% / 2 - 4%);
	margin:0 1.8% 3%;
}
.tbs-stream-footer p {font-size:2.8vw;}
}