@import url("https://use.typekit.net/ygc1jpe.css");
@import url("https://use.typekit.net/tbm6iln.css");
@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:"Helvetica Neue", "Helvetica", "Hiragino Sans", "Arial", "Yu Gothic", "Meiryo", 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,0);}
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%;} /* = 10px */
body { font-size: 1.6rem; } /* = 16px */
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; }
.f200 { font-size:200%;}
.f180 { font-size:180%;}
.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;}
.f70 {font-size:70% !important;}
.stred{color:#de3f42;}
.stblu{color:#4242a4;}
.storg{color:#e2905e;}

.ffsp{font-feature-settings: "palt";}
/*link*/
a { text-decoration:none; color:#000;}
a:hover { text-decoration:none; color:#000;}
#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,a.btn_df2,ul.bnr li a,.btnitem{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,a.btn_df2:hover,.bn_prev a:hover,#gotop a:hover,ul.bnr li a:hover,.btnitem:hover{text-decoration:none;
filter:alpha(opacity=70); -moz-opacity:0.70; opacity:0.70;}
/*#menu li.menu7:hover{filter:alpha(opacity=100); -moz-opacity:1; opacity:1;}*/
.no-link{ pointer-events: none; cursor: default; text-decoration:none; filter:alpha(opacity=50); -moz-opacity:0.5; opacity:0.5;}

.shans {
font-family: "source-han-serif-jp-subset", sans-serif;
font-weight: 600;
font-style: normal;
}
.genkai {
font-family: "genkaimincho", sans-serif;
font-weight: 800;
font-style: normal;
}
.longhand {
font-family: longhand-lp, sans-serif;
font-weight: 700;
font-style: normal;
}

/*/////////////////////////////////////////////////////////////////////////
コンテンツ用CSS／オリジナル設定
/////////////////////////////////////////////////////////////////////////*/
html, body, div#con-body {background-color:#eeeded; color:#1c2359; width:100%;
background: url(../img/bg.png); background-size:500px;}
#con-body {background-color:transparent;}
.inner:not(.slider-unit div.outer ul,.slider-pics div.outer ul){max-width:1200px; margin:0 auto;}

header{margin:0 auto;
background: linear-gradient(to bottom, rgba(226,169,112,0.65) 0%,rgba(226,169,112,0) 60%,rgba(226,169,112,0) 100%);
}
#top main{width: min(98%, 1000px); margin:0 auto;}
#top h1{width:100%; aspect-ratio: 400 / 283; position:relative; margin:0 auto;}
#top h1 .main1{background: url(../img/top/main.jpg) no-repeat left bottom; background-size:cover; width:100%; height:100%; margin:0 auto; position:absolute; bottom:0; left:0;
  animation: fadein 1.5s cubic-bezier(.4, 0, .2, 1) normal;}
#top h1 .main2{position:absolute; top:2.25%; right:7%; width:13.25%; opacity: 0;  aspect-ratio: 276 / 823;
  animation: fadein 1.5s ease-in .5s 1 forwards;}
#top h1 .main3{position:absolute; left:3.2%; bottom:19%; width:1.1%; opacity: 0; aspect-ratio: 46 / 451;
  animation: fadein 1.5s ease .5s 1 forwards;}
#top h1 .main4{position:absolute; left:10.2%; top:26%; width:6.45%; opacity: 0; aspect-ratio: 271 / 474;
  animation: fadein 1.8s ease 1.5s 1 forwards;}
#top h1 .main5{position:absolute; right:2%; bottom:19.2%; width:22.25%; opacity: 0; aspect-ratio: 463 / 155;
  animation: fadein 1.5s ease 2s 1 forwards;}
#top h1 .main1 img{position:absolute;left:0;top:0; width:100%; height:100%;}

@keyframes fadein {
    0% {opacity:0;}
    100% {opacity:1;}
}
@keyframes slide-in {
  0% {
    opacity: 0;
    transform: translateX(-25%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

.topbnr{padding:1em 0; border-bottom:1px solid #000;}
.bn_recruit{margin:1.5em auto; width:700px; position: relative; aspect-ratio: 128 / 25; border:2px dashed #de3f42; border-radius:20px;}
.bn_recruit a{display:block; width:100%; height:100%; background: url(../img/top/bn_sp.png?2) repeat center center; background-size:cover; transition: 0.5s; border-radius:20px; box-shadow:4px 4px #de3f42;}
.bn_recruit a:hover{opacity:0.5;}

#top_container{width:100%; margin:0 auto; position:relative; padding:0;}

/*menu*/
#menu {margin:0 auto; position: relative; background: url(../img/bg2.jpg) no-repeat center top; background-size:cover;
border-top:1px solid rgba(65,76,162,0.65);
border-bottom:1px solid rgba(65,76,162,0.65);
width:100%;
}
#menu ul {max-width:900px; margin:0 auto; display: flex; flex-flow: row wrap; justify-content: center; align-items: center;}
#menu li {text-align:center; vertical-align: middle; position: relative; margin:0; height:90px;  color:#fdf5ba;
width: calc(100% / 7 - 2px);
border-right:1px solid rgba(65,76,162,0.65);
}
#menu li a {width:100%; height:100%; display: block; text-decoration:none; vertical-align: middle; position: relative;
z-index:5; box-sizing: border-box;
display: flex;  justify-content: center; align-items: center;
transition-duration: .5s;
}
#menu li p{line-height:100%;}
#menu li span.sub{color:#414ca2;
font-family: longhand-lp, sans-serif;
font-weight: 700;
font-style: normal;
display:block;
font-size:230%;
}
#menu li span.ttlruby{color:#fff; display:inline-block; padding:.1em .2em; font-size:85%;
font-family: "source-han-serif-jp-subset", sans-serif;
font-weight: 600;
font-style: normal;
margin:.6em 0 0;
background-color:#414ca2;
line-height:100% !important;
}

#menu li.menu4 span.ttlruby{letter-spacing:-.1em;}
#menu li.menu5 span.ttlruby{letter-spacing:.2em;}

@media all and (min-width: 768px) {
#menu li:first-of-type {border-left:1px solid rgba(65,76,162,0.65);}
}

@media all and (max-width: 901px) { 
#top main{width:100%; margin:0 auto;}
#top h1{margin:0 auto;}
#menu ul {width:100%;}
#menu li {height:0;
padding:11% 0 0;
}
#menu li:first-of-type {border-left:none;}
#menu li:last-of-type {border-right:none;}
#menu li a{position:absolute; top:0; left:0; padding:0;}
}

/*sns*/
#toplink{text-align:center; padding:2.5em 0; background-color:rgba(200,197,199,0.4);}
#toplink p{font-weight: 500; font-size:110%;}
#toplink ul{display: flex; flex-flow: row wrap; justify-content: center; align-items: center; position:relative; z-index:1; margin:1em auto;}
#toplink ul li{width: min(45%, 280px); margin:0 .5em; background-color:#fff; position: relative;
aspect-ratio: 7 / 2;
}
#toplink ul li a{display:block; width:100% !important; height:100%; background-repeat: no-repeat; background-position:center center; position: relative; background-size:cover;}
#toplink ul li a img{position:absolute;left:0;top:0; width:100%; height:100%;}
#toplink ul li.bn_free a {background-image:url(../img/stream/tbsfree.svg); background-size:60%;}
#toplink ul li.bn_tver a {background-image:url(../img/stream/tver.svg); background-size:30%;}

#snslink{width:60%; margin:2em auto 0; text-align:center; padding:0; position:relative;}
#snslink p{vertical-align:middle; display:inline-block; padding:0; font-size:200%; text-align:left; color:#414ca2;}
#snslink p span{display:block; font-size:1.25rem !important; padding:.6em 0 0 ;}
#snslink #sns{text-align:center; margin:0 0 0 1em; display:inline-block; vertical-align:middle;}
#snslink #sns a{width:60px; height:60px; margin:0 1px 0; position: relative; display:inline-block; border-radius:50%; transition:.3s; background-color:#414ca2;}
#snslink #sns a img{position:absolute; top:0; right:0; bottom:0; left:0; margin:auto; width:41.5%;}

.notice p{background-color:rgba(255,255,255,0); padding:0 !important;}
.notice p {font-size:160%; line-height:140%;  font-weight: 500;}
.notice span.f75{font-size:95% !important; display:inline-block; width:100%; padding:.5em 0 0; line-height:120%; }
.notice {
  text-align:center; font-weight: 500;
  position: relative;
  display: block;
  padding: 1.5em 1em;
  border: dashed 1px #de3f42;
  border-radius: 20px;
  margin-inline: auto;
  width: fit-content;
  margin:.5em auto 1em;
  background-color:#fcf8d8;
}
.notice::before {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 50%;
  width: 18px;
  height: 18px;
  box-sizing: border-box;
  background-color:#fcf8d8;
  rotate: 135deg;
  translate: -50%;
}
.notice::after {
  content: "";
  position: absolute;
  bottom: -8px;
  left: 50%;
  width: 15px;
  height: 15px;
  box-sizing: border-box;
  border: dashed 1px;
  border-color: #de3f42 #de3f42 transparent transparent;
  rotate: 135deg;
  translate: -50%;
}

/*next*/
.topcontents{
position: relative;
padding:3em 0 3em; margin:0 auto;
background-image:url(../img/top/calendar.jpg),url(../img/top/sea.jpg),url(../img/top/sunset1.jpg),url(../img/subttl.svg),url(../img/bg3.png),url(../img/crack2.svg);
background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat;
background-size:400px auto,clamp(50px, 60%, 700px),450px auto,65%,contain,100%;
background-position:calc(50% - 470px) 40%,right 0 top 60%,calc(50% + 250px) 2.5%,right 5% bottom 0,left top,center bottom;
border-bottom:1px solid rgba(65,76,162,0.65);
}
/*.topcontents:before{
content: "";
background: url(../img/tate.svg) no-repeat center top;
width:10%;
height:30vw;
width:120px;
height:350px;
position: absolute;
left:calc(50% + 400px);
top:28%;
z-index:0;
background-size:contain;
}*/
#next {
position: relative;
margin:0 auto 3em;
background: url(../img/tate.svg) no-repeat 0 0;
background-size:120px auto;
background-position:calc(50% + 450px) 250px;
}
#next .inner{max-width:900px; margin:0 auto; padding:0;}

#next h2,#topics h2,#whatsnew h2,#stream h2,h1#ttl{
color:#414ca2; font-size:500%;
font-family: longhand-lp, sans-serif;
font-weight: 700;
font-style: normal;
letter-spacing:.05em;
position:relative;
}
#next h2 span,#topics h2 span,#whatsnew h2 span,h1#ttl span{
  transform: rotate(-5deg);
  display:inline-block;
  position: relative;
}
#next h2 span:before,#topics h2 span:before,#whatsnew h2 span:before,h1#ttl span:before{
  content: '';
  position: absolute;
  left:-10px;
  bottom:16%;
  width:80%;
  height:12%;
  z-index:-1;
  background-color:rgba(225,205,180,0.6);
}

#newep{width:90%; margin:0 auto 4vw; padding:.8em .8em 0; position:relative;
background-color:rgba(225,208,199,0.7);
}
#next .nextmov,.slider-wrap{width:100%; margin:0 auto;}
div.mov-inner {
	position:relative;
	height:0;
	padding-top:56.25%;
	background-color:#fff;
	width:100%;
	margin:0 auto;
	z-index:11;
}
div.mov-inner iframe {
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
}
#storyline{position: relative; width:55%; padding:1em 1.5em 1em;
  margin:1.5em 0 0 1.5em;
  background-color:rgba(235,233,234,0.7);
  color:#414ca2;
}
#storyline::before,
#storyline::after {
  content: "";
  position: absolute;
  width: 12%;
  height: 1px;
  background-color: rgba(65,76,162,0.65);
}
#storyline::before {
  left:-2.5%;
  bottom:9%;
  transform: translateY(-50%) rotate(40deg);
}
#storyline::after {
  top:9%;
  right:-2.5%;
  transform: translateY(50%) rotate(40deg);
}
#next h3.oadate{
  position: relative;
  font-family: longhand-lp, sans-serif;
  font-weight: 700;
  font-style: normal;
  padding:0 0 0 17%;
  font-size:200%;
  line-height:100%;
}
#next h3.oadate:before{
  content: '';
  position: absolute;
  bottom:0;
  left:13%;
  width:4%;
  height:70%;
  margin:auto;
  background: url(../img/top/slash.svg) no-repeat 0 0; background-size:contain;
  z-index:111;
}
#next .oadate span{font-size:240%;}
#storyline span.epnum{position:absolute; left:-2.5%; top:-1vw; width:18%; z-index:1;}
#storyline p.text {position: relative; font-size:90%; word-break: break-all; font-weight:500; line-height:160%;
padding:1em;}
#storyline span.epnum img{width:100%;}

a.btn_df,a.btn_df2,#highlight label{position: relative; font-size:160%; display: block; width:100%; text-align:center; color:#fff; font-weight: 600;
padding:.8em 0;
z-index:11;
background:rgba(65,76,162,0.9) url(../img/crack.png) repeat center bottom; background-size:cover;
}
a.btn_df2{background-image: url(../img/bg2.png);}

@media all and (max-width: 991px) {
#next {
background-size:13% auto;
background-position:right -1% top 60%;
}
}

/*topics*/
#tbstopics{padding:.6em 0 2.5em; margin:.25em auto 0; position:relative;
background: url(../img/top/sunset.jpg) no-repeat left 0 top 0; background-size:cover;
border-top:1px solid rgba(65,76,162,0.65);
}
#topics {position:relative; padding:0 0 0;}
#topics a.tolist{width:25%; display:block; z-index:2; font-weight:700; color:#414ca2; background-color:rgba(255,255,255,0.9); margin:1em auto 0; text-align:center; padding:1em 0; font-size:110%;}

@media all and (min-width: 768px) {
#topics{max-width:980px; margin:0 auto;}
}

/*whatsnew*/
#whatsnew{margin:.25em auto 0; position:relative;
border-top:1px solid rgba(65,76,162,0.65);
border-bottom:1px solid rgba(65,76,162,0.65);
background: url(../img/crack.png) no-repeat left bottom; background-size:cover;
}
#whatsnew > div{
border-bottom:1px solid rgba(65,76,162,0.65);
}
#whatsnew h2{
padding:.1em 0 .1em;
letter-spacing:-.01em;
width: min(92%, 930px);
margin:0 auto;
}
#update {max-width:920px; position:relative; margin:0 auto; z-index:11;
border-left:1px solid rgba(65,76,162,0.65);
border-right:1px solid rgba(65,76,162,0.65);
}
#update ul#topicslist{
height:auto; /*height:350px; overflow-y:scroll; padding:2px .5em 2px 0;*/
padding:2em 0;
margin:0 auto 0;
height:}
@media all and (min-width: 768px) {
#update ul#topicslist{display: flex; flex-flow: row wrap; align-items: center;}
}

#update ul::-webkit-scrollbar {width:1px;}
#update ul::-webkit-scrollbar-track {background:none;}
#update ul::-webkit-scrollbar-corner {display: none;}
#update ul::-webkit-scrollbar-thumb {background:#fdf5ba; border-radius:20px;}

#update ul#topicslist li{width:48%; position: relative; margin:0 0 .8em .8em; z-index:1;
border:1px solid rgba(65,76,162,0.5);
background-color:rgba(255,255,255,0.8); 
}
#update ul#topicslist li span.thum{width:43%; height:0; padding:28% 0 0; display:block; background-size: cover; background-repeat: no-repeat; background-position: center top;}
#update ul#topicslist li p{line-height:140%; padding:0; font-weight:500; font-size:100%; display:block; width:53%; padding:0 3% 0 0;}
#update ul#topicslist li a{display:block; width:100%;
display: flex; flex-flow: row wrap; justify-content: space-between; align-items: center;}
#update ul#topicslist li span.ymd{font-size:90%; display:inline-block; position:absolute; bottom:2.5%; right:1.5%; text-align:right; line-height:100%;
color:#414ca2 !important;
font-family: "genkaimincho", sans-serif;
font-weight: 800;
font-style: normal;
}
#update .ytbthum{background-position: center center !important; background-size:contain !important;}
#update .thum_90{background-position: center center !important; background-size:90% !important;}
#update .thum_80{background-position: center center !important; background-size:80% !important;}
@media all and (max-width: 991px) {
#update {width:96%;}
#update ul#topicslist{height:300px;}
#update ul#topicslist li p{line-height:150%; font-size:90%;}
}

/*bnr*/
.bnarea{padding:2em 0 0;  margin:0 auto; position:relative;}
ul.bnr,ul.streambnr{display: flex; flex-flow: row wrap; max-width:1000px; margin:0 auto; justify-content: center; position:relative; z-index:1;}
ul.bnr li{width:450px; height:135px;  margin:0 1em 1.5em 1em;}
ul.bnr li a{display:block; width:100%; height:100%; background-repeat: no-repeat; background-position:center center; position: relative; background-size:cover; /*border:1px solid #000;*/ border-radius:10px;}
ul.bnr li.bn_goods a {background-image:url(../img/top/bn_goods.jpg);}
ul.bnr li.bn_newsdig a {background-image:url(../img/top/bn_newsdig.png);}
ul.bnr li.bn_dvd a {background-image:url(../img/top/bn_dvd.jpg);}

/*post*/
#snspost{margin:0 auto; text-align:center; padding:0; position:relative; padding:2.5em 0; display: flex; flex-flow: row wrap; justify-content: center; align-items: center;}
#snspost p:first-of-type{font-size:160% !important; text-align:center; font-weight:600 !important; line-height:120% !important;}
#snspost p span.outgo{display:block; font-size:1.25rem !important; padding:0 !important;}
#snspost #sns{text-align:center; margin:0 0 0 1em;}
#snspost #sns a{width:75px; height:75px; margin:0 2px 0; position: relative; display:inline-block; border-radius:50%; transition:.3s; background-color:#de3f42;}
#snspost #sns a:hover{opacity:0.5;}
#snspost #sns a img{position:absolute; top:0; right:0; bottom:0; left:0; margin:auto; width:40%;}
#snspost p.htag{font-size:180% !important; display:inline-block; padding:1em 0 .5em; line-height:100% !important; font-weight:500 !important; width:100%;
font-family: "ads-mambo", sans-serif;
font-weight: 400;
font-style: normal;
}
#snspost p.htag span{color:#fdf5ba; background-color:#de3f42; padding:0 !important; display:inline-block; letter-spacing:.05em;}
#snspost a.postbtn{width:300px; color:#de3f42; padding:.7em 0; font-size:140%; margin:.5em auto 0; display:block; border-radius:50px; transition:.3s; font-weight:500; border:2px dashed #de3f42; transition:.3s;}
#snspost a.postbtn:hover{color:#fdf5ba; background-color:#de3f42;}

/*footer*/
footer {text-align:center; padding:2em 0 0;
/*background-image:linear-gradient(to top, rgba(165,194,224,0.4) 0%,rgba(138,176,213,0.6) 30%,rgba(15,52,122,0.3) 100%);*/
}
footer p.copy {text-align:center; padding:2.5em 0; font-size:80%; line-height:140%;}
footer p.copy a{color:#000;}
/*f2*/
footer.dir2{margin:0;}

/*------------------　2nd　------------------ */
header#dir{padding:0 0; margin:0 auto; position: relative; background:none;}
header#dir #logo{margin:0 auto; padding:3em 0; position: relative;
animation: fadein 1.5s ease 0s 1 normal;
-webkit-animation: fadein 2s ease 0s 1 normal;}
header#dir #logo a{
position: relative;
max-width:550px; 
display:block; margin:0 auto;  
background: url(../img/logo.svg) no-repeat center center; background-size:contain;
aspect-ratio: 4 / 1;
}
.wrap{position: relative; padding:2em 0 0;}
.wrap:before{
  content: '';
  position: absolute;
  top:0;
  left:0;
  width:100%;
  height:350px;
background: url(../img/hdbg.jpg) no-repeat center bottom; background-size:cover;
z-index:0;
}

#contents{max-width:980px; padding:3.5em 0 2em; margin:3em auto 3em; position: relative;
background-color:rgba(233,234,235,0.9);
}
#contents:before,#contents:after{
  content: '';
  position: absolute;
  z-index:0;
}
#contents:before{
  top:-5px;
  right:5px;
  width:70%;
  height:100%;
  border-top:1px solid rgba(65,76,162,0.65);
  border-right:1px solid rgba(65,76,162,0.65);
}
#contents:after{
  left:-5px;
  bottom:5px;
  width:100%;
  height:calc(100% - 80px);
  border-bottom:1px solid rgba(65,76,162,0.65);
  border-left:1px solid rgba(65,76,162,0.65);
}
h1#ttl{
  position: absolute;
  top:-35px;
  left:2.5%;
}

#contents .inner{width:90%;}
#contents .inner p {font-size:105%; padding:1em 0 .5em; line-height:1.7; font-weight:400;}

.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(255,242,77,0.5) 70%); padding:0 .2em .1em;}
.line2 {background: linear-gradient(transparent 75%, rgba(222,63,66,0.45) 75%); padding:0 .2em 0;}
.bdr{padding:.8em 1.5em; margin:1.5em auto; font-size:95%; background-color:rgba(255,251,244,0.8);}

.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;}

a.btn_df,a.btn_df2,#highlight label{font-size:180%; width:45%; margin:1.25em auto; padding:1.2em 0;}

@media all and (max-width: 991px) { 
#contents{width:95%; margin:6% auto 5%; padding:5% 0; box-sizing: border-box;}
.ph_cut {width:95%; height:0; padding:63% 0 0; position: relative; margin:1em auto;}
.ph_cut_l {width:60%; height:0; padding:90% 0 0; position: relative; margin:1em auto .5em;}
}

/*caststaff*/
#caststaff h2{width:50%; margin:1.3em auto .4em; font-size:100%; font-weight:600; position: relative; line-height:180%;
color:#414ca2; background: url(../img/bg2.png) repeat 0 0; background-size:cover;}
#caststaff .credit{text-align:center; width:90%; margin:0 auto 2em; font-size:140%; line-height:160%; font-weight:500;}
#caststaff .credit span.f80{font-size:1.5rem !important;}
#caststaff .credit span.f80_3{font-size:1.5rem; line-height:100%; display:block; line-height:130% !important; margin:0 0 .25em;}

/*share*/
#share{width:50%; text-align:center; margin:2% auto 4%; vertical-align:middle;}
#top #share{margin:5% auto;}
#share span{position: relative; color:#000; font-weight:600;}
#share span:before{
content: "";
width:35%;
height:1px;
background-color:#1c2359;
position: absolute;
left:-45%;
top:50%;
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: 992px) {
.nobr{display: none;	} 
}
@media all and (max-width: 991px) {
.pcbr{display: none;	} 
}

/*//////smp//////*/
@media all and (max-width: 767px) {
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;}
.ph_cut img,.ph_cut_l img,#spot #trailer img,#update ul#topicslist li span.thum img,#newep figure#mainph span img,header#dir #logo a img,.bn_recruit a,.bn_tdc a{position:absolute;left:0;top:0; width:100%; height:100%;}

html, body, div#con-body {background-size:100%;}

.bn_recruit{margin:4vw auto 7vw;width:90%; border:1.5px dashed #de3f42; border-radius:3vw;}
.bn_recruit a{border-radius:3vw;}

/*menu*/
#menu li {
padding:17% 0 0;
width: calc(100% / 4);
}
#menu li:nth-child(-n+4) {border-bottom:1px solid rgba(65,76,162,0.65);}
#menu li.menu4 {border-right:none;}
#menu li.menu5 {border-left:1px solid rgba(65,76,162,0.65);}
#menu li:last-of-type {border-right:1px solid rgba(65,76,162,0.65);}

#menu li span.sub{font-size:7.5vw;}
#menu li span.ttlruby{font-size:2.5vw;}

/*sns*/
#toplink{padding:6% 0;}
#toplink p{font-size:4vw;}
#toplink ul{margin:3% auto;}
#toplink ul li{margin:0 .8%;}

#snslink{width:90%; margin:6% auto 0;}
#snslink p{font-size:6vw;}
#snslink p span{display:block; font-size:2.4vw !important; padding:4% 0 0; letter-spacing:0 !important;}
#snslink #sns{margin:0 0 0 2vw; width:56%; text-align:left;}
#snslink #sns a{width:13.5vw; height:13.5vw; margin:0 .5% 0;}
.slash{display:none;}

.notice {width:92%; padding:3.5% 1% 3.5%; border-radius:4vw;}
.notice p{font-size:5vw;}
.notice span.f75{font-size:3vw !important; position:relative; z-index:111;}

#topics h2,#whatsnew h2,#next h2 {font-size:12vw; line-height:100%;}
#next h2 span:before,#topics h2 span:before,#whatsnew h2 span:before{
  bottom:16%;
  width:80%;
  height:12%;
}

/*next*/
.topcontents{
  padding:4% 0 4%;
  background-size:52%,72%,52%,80%,110%,100%;
background-position:left -20% top 34%,right 0 top 61%,right -20% top 2%,right 5% bottom 0,left top,center bottom;
}
#next {
background-size:15% auto;
background-position:right -2% top 60%;
margin:0 auto 8vw;
}
#next .inner{width:98%;}

#newep{padding:2% 2%;}

#storyline{width:70%; padding:0; margin:3% 0 0 2%; padding:1em 3% 1em;}
#next h3.oadate{ 
  font-size:5vw;
  padding:0 0 0 26%;
}
#next h3.oadate:before{
  left:20%;
  width:5%;
}
#storyline span.epnum{width:25%; left:-2vw; top:-2vw;}
#storyline::before,
#storyline::after {
  width: 15%;
}
#storyline::before {
  left:-2.5%;
  bottom:6%;
}
#storyline::after {
  top:6%;
  right:-2.5%;
}
#storyline p.text{
  font-size:3.1vw; line-height:150%;
  margin:2% 0 0;
  padding:2.5% 0 2% 1%;
}
#storyline .marker a,a.btn_df,a.btn_df2,#highlight label{
font-size:5vw;
padding:3.8vw 0;
}

/*tbsfree*/
#mov_tbsfree{padding:2.5% 0;}

/*topics*/
#tbstopics{padding:0 0 3%;}
#tbstopics h2{margin:0 0 0 4%;}
#topics a.tolist{width:45%; font-size:4vw; padding:3% 0;}
#topics{padding:0 0 2%; background-size:10%;}

/*whatsnew*/
#update {width:90%;}
#update ul#topicslist{height:auto; width:96%; align-items: start;
/*overflow-y:scroll;
overflow-scrolling: touch;
-webkit-overflow-scrolling: touch;
padding:2px 2.5% 0 0;
height:50vh;*/
}
#update ul#topicslist li{width:96%; margin:0 auto 2.5%;}
#update ul#topicslist li p{line-height:130% !important; font-size:3.5vw; font-weight:600;}
#update ul#topicslist li span.thum{ border-radius:3vw;}
#update ul#topicslist li span.ymd{font-size:3vw;}

.bnarea{padding:3% 0 3%;}
ul.bnr{width:100%; align-items: center;}
ul.bnr li{width:83%; height:auto; margin:2.5% auto 0;}
ul.bnr li a{height:0; padding:30% 0 0; border-radius:2vw;}

/*post*/
#snspost{padding:6% 0;}
#snspost p:first-of-type{font-size:5.2vw !important; width:40%; padding:2vw 0 0 !important;}
#snspost p span.outgo{font-size:2vw !important;}
#snspost #sns{margin:0; width:50%; text-align:left;}
#snspost #sns a{width:14vw; height:14vw; margin:0 .5% 0;}
#snspost p.htag{font-size:5.2vw !important; line-height:130% !important; padding:4vw 0 4vw !important;}
#snspost a.postbtn{width:55%; font-size:4vw; margin:.5vw auto 0; border:1.5px dashed #de3f42;}

footer p.copy {width:100%; padding:5%;}
footer{padding:5% 0 0;}

#gotop {bottom: 0; right:0; z-index:11;}
#gotop a {width:60px; height:60px;}

/*------------------　2nd　------------------ */
header#dir #logo{width:82%;  padding:6.5vw 0;}
.wrap{padding:5% 0 5%;}
.wrap:before{
  height:210px;
  background: url(../img/hdbg_sp.jpg) no-repeat center bottom; background-size:cover;
}

h1#ttl{font-size:14vw;
  position: absolute;
  top:-6vw;
  left:2.5%;
}
#contents:before{
  width:55%;
}
#contents:after{
  height:calc(100% - 50px);
}
#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;}
.bdr{width:92%; padding:.4em 0; }

/*caststaff*/
#caststaff h2{width:60%; margin:5% auto 1.5%;}
#caststaff .credit{font-size:4.5vw; margin:0 auto 2%; width:98%;}
#caststaff .credit span.orgttl{line-height:130% !important; display:inline-block;}
#caststaff .credit span.subttl{font-size:3.8vw; line-height:100% !important; margin:0 0 .25em;}
#caststaff .credit span.f80,#caststaff .credit span.f80_3,#caststaff table span.f75{font-size:3vw !important;}

a.btn_df,a.btn_df2,#highlight label{width:70%; margin:5% auto; padding:5vw 0; font-size:5vw; letter-spacing:.05em;}

/*share*/
#share{width:100%; margin:2% auto 4%;}
#top #share{margin:6% auto 5%;}
#share span:before{
content: "";
width:40%;
left: -50%;
}
#share ul li{margin:0 .2em 0;}
#share ul li img{width:40px;}
}

@media all and (max-width: 320px) {
a.btn_ap {width:70%;}
}
.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);}
}
.nocontxt { user-select: none; -webkit-user-select: none; -ms-user-select: none; -moz-user-select:none; -khtml-user-select:none; -webkit-user-drag:none; -khtml-user-drag: none; -webkit-touch-callout: none; text-align:center;}
.nocontxt img { pointer-events: none;}