@charset "UTF-8";

/*==================================

 Layout

==================================*/
body{
  background: linear-gradient(90deg,#185375,#176e86,#0f9e91,#02151a);
}

.ntv-wrapper {
  background: url(../images/common/bg_pc.png) no-repeat;
  background-attachment: fixed;
  background-size: 100%;
  min-width: 280px;
}

.ntv-pageTop a {
  background: linear-gradient(135deg, #278ddb, #2cc7ca);
  border-radius: 0;
}
.teaser-main-mainImg img,
.teaser-main-onair img {
  display: block;
  width: 100%;
}

.teaser-contents {
  box-sizing: border-box;
  font-size: 1.6rem;
}
.teaser-contents a:hover,
.bnr_cast a:hover {
  transition: opacity .1s;
	text-decoration:none;
	opacity:0.65;
}
.teaser-contents h3 {
  text-indent: -9999px;
  overflow: hidden;
  height: auto;
}

.bnr_cast img{
  display: block;
  width: 100%;
  margin: 20px auto;
}

/* ブロック */
.teaser-block{
  background: #082028;
  color: #fff;
  word-break: break-all;
  border-radius: 6px;
}
.teaser-block-inner{
  padding: 0px 20px 20px;
}

/* ブロックタイトル */
.teaser-block-title{
  padding: 0;
  width: 100%;
  min-height: 93px;
  position: relative;
  text-align: center;
  display: block;
  border-bottom: 1px solid #bd3917;
  border-image: linear-gradient(to right, #bd3917 0%, #2cc7ca 100%);
  border-image-slice: 1;
  border-radius: 6px 6px 0 0;
}
.teaser-block-title img{
  display: block;
  width: 100%;
}
/* ブロック内テキスト */
.teaser-block p{
  color: #fff;
  line-height: 2;
  font-size: 1.4rem;
  margin-bottom: 5px;
}
.teaser-block p a{
  color: #1da1f2;
  text-decoration: underline;
}
.teaser-block p a:hover{
  text-decoration: none;
}

/* ---------------------------------
 SP用
--------------------------------- */
@media screen and (max-width: 992px) {

  .ntv-wrapper {
    background: url(../images/common/bg_sp.png) no-repeat;
    background-attachment: fixed;
    background-size: 170%;
  }

  .teaser-main-mainImg img {
    border-top: #095550 1px solid;
    }

  .teaser-block{
    margin:25px 10px;
  }

  .teaser-block-title{
    min-height: 39px;
  }
  .ntv-pageTop a {
    background-color: #efefef;
  }
  .txt_sp{
  display: block;
  }
  .bnr_cast img{
  padding: 0 10px;
  margin: -10px auto;
  }

}

/* ---------------------------------
 tablet用(SP設定を上書き）
--------------------------------- */
@media screen and (min-width : 601px){

}
@media screen and (min-width : 516px){
  .br_sp{
    display: none;
  }
}

/* ---------------------------------
 PC用
--------------------------------- */
@media screen and (min-width: 993px) {

  /* ブロック */
  .teaser-block{
    margin-top: 20px;
  }
  .teaser-block-inner{
    padding: 20px;
  }
  /* ブロックタイトル */
  .teaser-block-title{
    font-size: 0;
    padding: 0;
  }
  .teaser-block-title img{
    width: 100%;
  }
  .teaser-main-onair{
    font-size: 1.8rem;
  }
  .teaser-contents {
    margin-top: 20px;
  }
  .br_sp{
    display: none;
  }

}

/* ---------------------------------
 右カラム設定
--------------------------------- */

/* 右カラム　タイトル */
.ntv-box-title {
  /* background: #e90d28; */
    background-color: #000;
}
.ntv-box-title.title-base {
  /* background: #e90d28; */
}
.drama-box-title.title-base {
  /* background-color: #e90d28; */
}


/*==================================

 Template-Module
 不使用の場合は削除してください

==================================*/


/* ---------------------------------
 メニュー（UNIT04タイプ）設定
--------------------------------- */
.nav{
  background-color:rgba(0,0,0,1);
 /* position: fixed;*/
  width: 100%;
  max-width: 664px;
  height: auto;
  /* left: 0; */
  /* bottom: 0;*/
  z-index: 3;
  border-radius: 6px;
  margin: 20px auto 0;
}
.nav .row{ margin-bottom: 0; }
.nav .row .col{
  width: calc(100% / 3) ;
  width : -webkit-calc(100% / 3) ;
  flex-wrap: wrap;
  /* gap:0 1px; */
  margin: 0;
}

.nav ul{
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
.nav ul li{
  margin-left: auto;
  left: auto;
  right: auto;
  height: 82px;
  position: relative;
  font-size: 0;
}
.nav ul li a{
  display: block;
  text-align: center;
  padding:0;
  -webkit-transform: rotate(0.001deg);
  transform: rotate(0.001deg);
  cursor: pointer;
  opacity: 1;
  height: 80px;
  font-size: 0;
}
.nav ul li a:hover{
  transition: opacity .1s;
  text-decoration:none;
  opacity:0.65;
  background-color:rgba(0,0,0,0.65);
  cursor: pointer;
  width: 100%;
}
.nav .row .intro{
  background: url(../images/common/nav_intro.png) no-repeat;
  border-right: #bd3917 1px solid;
  border-bottom: #bd3917 1px solid;
  border-radius: 6px 0 0 0;
}
.nav .row .story{
  background: url(../images/common/nav_story.png) no-repeat;
  border-right: #2cc7ca 1px solid;
  border-bottom: 1px solid #bd3917;
  border-image: linear-gradient(to right, #bd3917 0%, #2cc7ca 100%);
  border-image-slice: 1;
  background-position: center;
  background-size: contain;
}
.nav .row .chart{
  background: url(../images/common/nav_chart.png) no-repeat;
  border-bottom: #2cc7ca 1px solid;
  background-position: center;
  background-size: contain;
}
.nav .row .cast-staff{
  background: url(../images/common/nav_cast-staff.png) no-repeat;
  border-right: #bd3917 1px solid;
  background-position: center;
  background-size: contain;
  border-radius: 0 0 0 6px;
}
.nav .row .topics{
  background: url(../images/common/nav_topics.png) no-repeat;
  border-right: #2cc7ca 1px solid;
  background-position: center;
  background-size: contain;
}
.nav .row .sns{
  background: url(../images/common/nav_sns.png) no-repeat;
  border-radius: 0 0 6px 0;
}
.nav .row .hulu{
  background: url(../images/common/nav_hulu.png) no-repeat;
  border-radius: 0 0 6px 0;
}

.nav .row .intro,
/* .nav .row .story, */
/* .nav .row .chart, */
/* .nav .row .cast-staff, */
/* .nav .row .topics,*/
.nav .row .sns,
.nav .row .hulu{
  background-position: center;
  background-size: inherit;
  text-indent: -99999px;
  /* background-color:rgba(0,0,0,1); */
  background-size: contain;
}
.nav ul li span:before {
  content: "";
  display: inline-block;
  content: url(../images/common/comingsoon.png);
  background-position: center;
  background-size: contain;
  margin: -10px auto 0;
  vertical-align: top;
  left: 60px;
  position: absolute;
}
.nav ul li span.up:before {
  content: "";
  display: inline-block;
  content: url(../images/common/up.png);
  background-position: center;
  background-size: contain;
  margin: -10px auto 0;
  vertical-align: top;
  left: 60px;
  position: absolute;
  z-index:4;
}
.nav ul li span.up0312:before {
  content: "";
  display: inline-block;
  content: url(../images/common/up0312.png);
  background-position: center;
  background-size: contain;
  margin: -10px auto 0;
  vertical-align: top;
  left: 60px;
  position: absolute;
  z-index:4;
}
.nav ul li span.up0326:before {
  content: "";
  display: inline-block;
  content: url(../images/common/up0326.png);
  background-position: center;
  background-size: contain;
  margin: -10px auto 0;
  vertical-align: top;
  left: 60px;
  position: absolute;
  z-index:4;
}
.nav ul li span.up0403:before {
  content: "";
  display: inline-block;
  content: url(../images/common/up0403.png);
  background-position: center;
  background-size: contain;
  margin: -10px auto 0;
  vertical-align: top;
  left: 60px;
  position: absolute;
  z-index:4;
}


@media screen and (max-width: 992px) {

  .nav {
    display: block;
    width: 95%;
    min-width: 260px;
    margin: 25px auto;
  }
  .nav ul li{
    width: 100%;
    height: 70px;
  }
  .nav ul li span:before {
    /* text-indent:3.2em; */
    /* left: 10px; */
    content: url(../images/common/comingsoon.png);
    background-position: center;
  }
  .nav ul li span.up:before {
    content: url(../images/common/up.png);
    background-position: center;
  }
  .nav ul li span.up0312:before {
    content: url(../images/common/up0312.png);
    background-position: center;
  }
  .nav ul li span.up0403:before {
    content: url(../images/common/up0403.png);
    background-position: center;
  }


  .nav ul li a{
    height: 69px;
  }

}

@media screen and (min-width: 993px) {

  .nav{
    position: relative;
    z-index: 3;
  }
  .nav ul li{
    height: 81px;
  }
  .nav ul li span:before,
  .nav ul li span.up:before,
  .nav ul li span.up0403:before {
    /* text-indent: 3.6em; */
    left: 58px;
  }
  .nav ul li a{
    font-size: 0px;
    letter-spacing: 1.2px;
    padding: 0;
    -webkit-transition: opacity 0.1s ease;
    transition: opacity 0.1s ease;
  }


}
@media only screen and (max-width: 992px) and (min-width: 601px){
  .ntv-wrapper{/* margin-bottom: 60px;*/}
  .nav {
    width: 96%;
    max-width: 750px;
    border-radius: 6px;
  }
}
@media only screen and (max-width: 400px){
  .nav ul li span:before {
    content: url(../images/common/comingsoon-m.png);
    background-position: center;
  }
  .nav ul li span.up:before {
    content: url(../images/common/up-m.png);
    background-position: center;
  }
  .nav ul li span.up0312:before {
    content: url(../images/common/up0312-m.png);
    background-position: center;
  }
  .nav ul li span.up0326:before {
    content: url(../images/common/up0326-m.png);
    background-position: center;
  }
  .nav ul li span.up0403:before {
    content: url(../images/common/up0403-m.png);
    background-position: center;
  }
}
@media only screen and (max-width: 300px){
  .nav ul li span:before,
  .nav ul li span.up:before,
  .nav ul li span.up0312:before,
  .nav ul li span.up0326:before,
  .nav ul li span.up0403:before {
    /* text-indent: -0.5em; */
    left: 0;
  }
}
@media only screen and (max-width: 354px) and (min-width:301px){
  .nav ul li span:before,
  .nav ul li span.up:before,
  .nav ul li span.up0312:before, 
  .nav ul li span.up0326:before,
  .nav ul li span.up0403:before{
    /* text-indent: 0.3em; */
    left: 10px;
  }
}
@media only screen and (max-width: 432px) and (min-width:355px){
  .nav ul li span:before,
  .nav ul li span.up:before,
  .nav ul li span.up0312:before,
  .nav ul li span.up0326:before,
  .nav ul li span.up0403:before {
    /* text-indent: 0.6em; */
    left: 14px;
  }
}
@media only screen and (max-width: 525px) and (min-width:431px){
  .nav ul li span:before,
  .nav ul li span.up:before,
  .nav ul li span.up0312:before,
  .nav ul li span.up0326:before,
  .nav ul li span.up0403:before {
    /* text-indent: 0.9em; */
    left: 21px;
  }
}
@media only screen and (max-width:618px) and (min-width:526px){
  .nav ul li span:before,
  .nav ul li span.up:before,
  .nav ul li span.up0312:before,
  .nav ul li span.up0326:before,
  .nav ul li span.up0403:before {
    /* text-indent: 2em; */
    left: 40px;
  }
}

@media only screen and (max-width: 912px) and (min-width:768px){
  .nav ul li span:before,
  .nav ul li span.up:before,
  .nav ul li span.up0312:before,
  .nav ul li span.up0326:before,
  .nav ul li span.up0403:before{
    /* text-indent: 3em; */
    left: 70px;
  }
}
@media only screen and (max-width: 600px){
  .ntv-wrapper{/* margin-bottom: 60px;*/}
}

/* ---------------------------------
 バナー
--------------------------------- */
.teaser-banner-area{
  width: 100%;
  min-width: 280px;
  padding: 0px;
  margin: 0 auto;
  text-align: center;
  background: #164752;
}
.teaser-banner-area ul li{
  margin: 10px auto;
  line-height: 0;
  text-align: center;
}
.teaser-banner-area ul li a img{
  width: 100%;
  max-width: 465px;
  margin: 15px auto;
  padding: 0 15px;
}
@media screen and (max-width: 993px) {
  .teaser-banner-area{
    padding: 0 10px;
    margin: 0 auto;
  }
  .teaser-banner-area ul li{
    margin: 10px 0;
  }
}

@media screen and (max-width: 280px) {
  .teaser-banner-area{
    margin: 10px auto;
  }
}

/* ---------------------------------
 イントロ 
--------------------------------- */
#intro .teaser-block-title{
}

#intro .teaser-block-inner{
  padding: 0;
}
#intro .teaser-block-inner img{
  display: block;
  width: 100%;
  margin: 0;
}
#intro .teaser-block-inner .intro_footer{
  display: block;
  width: 100%;
  margin-top: 50px;
  border-top: 1px solid #bd3917;
  border-image: linear-gradient(to right, #bd3917 0%, #2cc7ca 100%);
  border-image-slice: 1;
  border-radius: 0 0 6px 6px;
}
#intro .read{ 
  display: none;
}

#intro .explain{
  padding: 0 30px;
  font-size: 14px;
}

#intro .explain h4{
  margin-top: 40px;
  margin-bottom: 15px;
  padding: 5px 20px;
  background-color: #1c444c;
  font-family: "FOT-ニューロダン ProN DB";
  font-size: 16px;
  letter-spacing: 0.1em;
}

/*  SP用 */
@media screen and (max-width: 992px) {
  #intro .explain{
    padding: 0 15px;
  }
  #intro .teaser-block-inner .intro_footer{
    margin-top: 30px;
  }
}

/* fadeIn */

  .fadeIn {
    transform: translate3d(0, 30px, 0);
    transition: 1.5s;
    opacity: 0;
}

.fadeIn.animated {
    transform: translate3d(0, 0, 0);
    opacity: 1;
}
  
/* ---------------------------------
 動画
--------------------------------- */
#movie .teaser-block-title{
  border: none;
  border-radius: 0 0 6px 6px;
}
#movie .teaser-block-inner{
  padding-top: 0;
}
.teaser-contents .movie-player{
  width: 100%;
  padding-top: 56.25%;
  position: relative;
  margin: 0 auto;
  border: 1px solid #bd3917;
  border-image: linear-gradient( 110deg, #bd3917 0%, #2cc7ca 100%);
  border-image-slice: 1;
}
.teaser-contents .movie-player iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
p.more_btn {
  text-align: center;
  min-width: 46px;
  min-height: 46px;
  min-width: 220px;
  padding: 10px;
  margin: 20px auto;
}
p.more_btn a{
  text-decoration: none;
  cursor: pointer; 
  padding: 15px 60px;
  color: #fff;
  font-family: 'FOT-ニューロダン ProN DB';
  background-color: #298edb;
  border-radius: 30px;

}
p.more_btn a:hover{
  transition: opacity .1s;
	text-decoration:none;
  opacity: 0.65;
}

/*  SP用 */
@media screen and (max-width: 992px) {

}
/* ---------------------------------
 ティザーTOPICS一覧用
--------------------------------- */
#topics .teaser-block-inner{
  color: #222;
}

#topics.drama-area{
  padding: 0;
  margin: 0;
  background: #082028;
}
#topics .drama-box-title{display: none;}

/* ボタン */
#topics .drama-btn.btn-more {
  color: #ffffff;
  display: block;
  width: 100%;
  margin: 0 auto;
  text-align: center;
  word-break: break-all;
  position: relative;
  /*background: transparent; */
  background: linear-gradient(135deg, #278ddb, #2cc7ca);
  padding: 1.3em 0 1.2em;
  font-size: 1.6rem;
  line-height: 1;
}
#topics .drama-btn.btn-more i {
  font-size: 1.8em;
  margin-right: 5px;
  vertical-align: middle;
}

#topics .topics-btn {
  margin: 20px auto 0;
}

@media screen and (max-width: 992px) {

  #topics .topics-pickup-text {
    color: #fff;
  }

  #topics .teaser-block-inner {
    padding:20px;
  }

  #topics .topics-btn {
    padding: 20px 0;
    margin: 0;
  }

}

/* リスト */
#topics .topics-list#topics .topics-list{
  color: #222222;
}

@media screen and (min-width: 993px) {

  #topics .topics-text:first-child{
    color: #fff;
  }

  #topics .topics-item {
    width: 49%;
  }
  #topics .topics-item:nth-of-type(n+3) {
    margin-top: 15px;
  }
  #topics .topics-item:nth-of-type(2n+1) {
    margin-left: 0;
  }
  #topics .topics-item:nth-of-type(2n) {
    margin-left: 2%;
  }

}
/* ---------------------------------
 Twitter insta
--------------------------------- */

/* タイムライン */
.teaser-contents .twitter-area{
}
.teaser-contents .twitter-area .twitter-timeline{
}

/* ボタン */
.teaser-contents .follow-btn{
  display: flex;
  justify-content: center;
  gap: 0 10px;
  margin: 10px auto 0;
  line-height: initial;
}
.teaser-contents .follow-btn a{
  padding: 1.3em 0 1.2em -0.8em;
  text-align: center;
  color: #ffffff;
  font-weight: bold;
  line-height: 1;
  display: table-cell;
  vertical-align: middle;
  font-family: 'Helvetica' , 'Franklin Gothic Medium' , 'Arial Narrow', Arial, sans-serif;
  font-style: italic;
  letter-spacing: 0.1rem;
  height: 66px;
}

.teaser-contents #follow-twitter,
.teaser-contents #follow-insta{
  width: calc(100% / 2);
  display: table;
}

.teaser-contents #follow-twitter a::before,
.teaser-contents #follow-insta a::before{
  padding-right: 10px;
  content: "";
  display: inline-block;
  width: 35px;
  background-position: 2em;
  background-size: contain;
  margin: 0 auto;
  vertical-align: middle;
}

.teaser-contents #follow-twitter a::before{
  content: url(../images/common/icon-twitter.png);
}

.teaser-contents #follow-insta a::before{
  content: url(../images/common/icon-insta.png);
}


.teaser-contents #follow-twitter a{
  background-color: #1da1f2;
}
.teaser-contents #follow-insta a{
  background: linear-gradient(110deg,#a04fda,#e63f9d,#e63f9d,#E4A972);
}


@media screen and (max-width: 992px) {

  .teaser-contents #follow-twitter a::before,
  .teaser-contents #follow-insta a::before{
    padding-right: 5px;
  }

  .teaser-contents .follow-btn a{
    padding: 1em 0 0.8em;
    font-size: 0.8em;
  }

}
@media screen and (min-width : 601px){
  #sns .follow {
    display: flex;
    margin-top: 20px;
  }
  #sns .follow .instagram {
    margin-left: 20px;
  }
}

/* ---------------------------------
 キャスト/スタッフ 
--------------------------------- */
.cast-staff_title{
  display: block;
  width: 100%;
  text-align: center;
  margin: auto;
  padding: 2px;
  border: 1px solid #bd3917;
  border-left: 1px solid #2cc7ca;
  border-top: 1px solid #2cc7ca;
  margin-top: 20px;
  margin-bottom: 30px;
}

.cast-staff_title h3{
  text-indent: 0;
  padding: 0.8em 1em 0.2em;
  border: 1px solid #bd3917;
  border-right: 1px solid #2cc7ca;
  border-bottom: 1px solid #2cc7ca;
}

.cast-staff_title h3 img {
  height: 25px;
}

/*  キャスト */
#cast{
  padding-bottom: 20px;
  text-align: center;
  font-family: 'FOT-ニューロダン ProN DB';
}

.cast_area{
  /* display: flex;
  gap:20px; */
  display: block;
  text-align: center;
  margin-top: 30px;
}

.cast_area img{
  width: 205px;
  height: 205px;
}

.cast_area .cast{
  /* margin-top: 40px; */
  margin-top: 10px;
}

.cast_area .cast p.name{
  font-size: 1.85em;
  font-family: 'FOT-ニューロダン ProN DB';
  margin-bottom: 10px;
  /* border-bottom: 1px solid #2cc7ca;
  border-image: linear-gradient(to right, #2cc7ca 0%, #bd3917 100%);
  border-image-slice: 1;*/
}

.cast_line{
  display: block;
  margin-bottom: 30px;
}

p.cast-name01{
  font-size: 1.5em;
  letter-spacing: 0.1em;
}
p.cast-name02{
  display: block;
  font-size: 1.5em;
  letter-spacing: 0.1em;
}

.cast_area .cast p span{
  color: #2cc7ca;
  font-size: 0.7em;
  position: relative;
}
/* ルビ　人物名用 */
[data-ruby] {
  position: relative;
}
[data-ruby]::before {
  content: attr(data-ruby);
  position: absolute;
  top: -1.8em;
  left: 0.1em;
  right: 0;
  margin: auto;
  font-size: 0.55em;
  white-space: pre;
}
/* ルビ 本文テキスト用 */
.ruby {
  padding-top: 1.2rem;
  position: relative;
}
.ruby .rt {
  text-align: center;
  position: absolute;
  font-size: 0.8rem;
  line-height: 1;
  top: 0;
  left: -0.5em;
  width: 100%;
  white-space: pre;
  letter-spacing: -2px;
}


.cast_area .comment{
  background-color: #fff;
  color: #222;
  border-radius: 10px;
  padding: 20px;
  text-align: left;
  margin-bottom: 20px;
}
.cast_area .comment p{
  color: #222;
  font-size: 1em;
}

.name_title{
  display: block;
  width: 100%;
  color: #2cc7ca;
  font-size: 1.1em;
  font-family: 'FOT-ニューロダン ProN DB';
  border-bottom: 1px solid #2cc7ca;
  border-image: linear-gradient(to right, #2cc7ca 0%, #bd3917 100%);
  border-image-slice: 1;
  margin-top: 20px;
  margin-bottom: 15px;
}
p.comment_btn {
  text-align: center;
  min-width: 46px;
  min-height: 46px;
  max-width: 260px;
  min-width: 180px;
  padding: 10px;
  margin: 0 auto 20px;
  display: inline-block;
}
p.comment_btn a{
  text-decoration: none;
  cursor: pointer; 
  padding: 15px 45px;
  color: #fff;
  font-family: 'FOT-ニューロダン ProN DB';
  background-color: #298edb;
  border-radius: 30px;

}
p.comment_btn a:hover{
  transition: opacity .1s;
	text-decoration:none;
  opacity: 0.65;
}

#cast p.comment_btn {
  margin-top: -10px;
  margin-bottom: 0;
  min-width: 105px;
}
#cast p.comment_btn a {
  padding: 10px 28px;
  font-size: 0.85em;
  margin-top: -10px;
}

/*  SP用 */
@media screen and (max-width: 992px) {

  .cast-staff_title h3{
    padding: 0.5em 1em 0em;
  }

  .cast-staff_title h3 img {
      height: 22px;
  }
  .cast_area {
    display: block;
    margin: auto;
    text-align: center;
  }
  .cast_area .cast{
      margin-top: 10px;
  }

  p.cast-name01{
    white-space: nowrap;
  }

  .cast_area .comment p { 
    text-align: left;
  }
  .cast_area .comment p::before {
    position: absolute;
    right: 10px;
  }

}

/*  スタッフ */
.staff{
  font-family: 'FOT-ニューロダン ProN DB';
  text-align: center;
}
.staff img{
  display: block;
  width: 100px;
  margin: auto;
  margin-bottom: 20px;
}


p.staff-name{
  font-size: 1.2em;
  margin-bottom: 25px;
}
p.staff-name span{
  font-size: 0.8em;
  display: block;
  color: #2cc7ca;
}

p.staff-name span.txt_s{
  color: #fff;
  font-size: 0.7em;
  margin-top:  -0.5em;
}
p.staff-name span.txt_ss{
  color: #fff;
  font-size: 0.7em;
  margin-top:  -0.5em;
  margin-left: -1.5em;
  display: inline;
}

p.staff-name span.txt_l{
  color: #fff;
  font-size: 1.1em;
}
p.staff-name span.txt_eng{
  font-family: 'Helvetica' , 'Franklin Gothic Medium' , 'Arial Narrow', Arial, sans-serif;
  color: #fff;
  font-size: 1.2em;
}

p.company{
  font-size: 0.85em;
  font-weight: lighter;
  margin-top: 50px;
  padding-top: 20px;
  margin-bottom: 25px;
  text-align: left;
  font-family: auto;
  border-top: 1px solid #666;
}
p.company span{
  font-size:1.1em;
  display: block;
  color: #2cc7ca;
  font-family: 'FOT-ニューロダン ProN DB';
}


/*  SPのみ */
@media screen and (max-width: 992px)  {

  p.staff-name span.txt_ss{
    display: block;
    margin-left: 0;
  }

}
/*  tabletのみ */
@media screen and (min-width : 516px){
  p.staff-name span.txt_ss{
    display: inline-block;
    margin-left: -1.5em;
  }
}


/*  SP galaxyFold用 */
@media screen and (max-width: 320px) {
  .cast_area .cast p.name {
    font-size: 1.6em;
    border-bottom: none;
  }
  p.cast-name01,
  p.cast-name02{
    font-size: 1.2em;
    width: 100%;
    text-align: center;
    display: block;
  }


  .cast_area .comment::before{
    margin: -35px auto 0 20%;
  }
  p.staff-name{
    font-size: 1em;
    margin-bottom: 20px;
  }
  .cast_area .comment p::before {
    right: 5px;
  }
  p.more_btn a {
    padding: 15px 30px;
  }

}

/* ---------------------------------
 相関図 
--------------------------------- */
.chart_title{
  display: block;
  width: 100%;
  text-align: center;
  margin: auto;
  padding: 2px;
  border: 1px solid #bd3917;
  border-left: 1px solid #2cc7ca;
  border-top: 1px solid #2cc7ca;
  margin-top: 20px;
  margin-bottom: 30px;
}
#chart_map {
  max-width: 100%;
  width: auto;
}
#chart_map img{
  width: 100%;
  display: block;
}

#chart_map img a {
  cursor: pointer;
}
.content{
  box-sizing: inherit;
  margin: 0 auto;
  padding: 0;
}
#chart .txt{
  text-align: center;
  margin-top: 10px;
}


/*  モーダルウィンドウ */
.modal{
  display: none;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 5;
}
.modal__bg{
  background: rgba(5, 110, 110, 0.8);
  height: 100vh;
  position: absolute;
  width: 100%;
}
.modal__content{
  background: #000;
  left: 50%;
  padding: 40px;
  position: absolute;
  top: 50%;
  transform: translate(-50%,-50%);
  width: 90%;
  max-width: 825px;
  overflow-y: auto;
  max-height: 90%;
  border-radius: 6px;
}

.close_btn{
  font-size: 1.6em;
  margin-top: -30px;
  margin-left: -25px;
  display: flex;
}

#chart .cast_area .cast p.name{
  font-size: 1.2em;
  margin-bottom: 10px;
  border-bottom:none;
}
#chart .cast_area .cast p span{
  font-size: 1.5em;
  color: #2cc7ca;
  position: relative;
}

#chart .comment_btn{
  display: block;
  margin: 0 auto 10px;
}

/*  SP用 */
@media screen and (max-width: 992px) {
  #chart .txt {
    font-size: 0.75em;
  }
  .modal__content{
  overflow-y: auto;
  max-height: 85%;
  padding: 20px;
  }
  .close_btn {
      margin-top: -20px;
      padding-left: 15px;
  }
  #chart .cast_area .comment{
    padding: 15px;
  }
}
/*  SP galaxyFold用 */
@media screen and (max-width: 320px) {
  #chart .cast_area .cast p.name {
    font-size: 1em;
    border-bottom: none;
  }
}

/* ---------------------------------
 ストーリー
--------------------------------- */
.txt_blue{
  color: #2cc7ca;
}
.story_title{
  display: block;
  width: 100%;
  text-align: center;
  margin: auto;
  padding: 2px;
  border: 1px solid #bd3917;
  border-left: 1px solid #2cc7ca;
  border-top: 1px solid #2cc7ca;
  margin-top: 20px;
  margin-bottom: 30px;
  font-family: "FOT-ニューロダン ProN DB";
}

.story_title h3{
  text-indent: 0;
  padding: 0.8em 1em 0.2em;
  border: 1px solid #bd3917;
  border-right: 1px solid #2cc7ca;
  border-bottom: 1px solid #2cc7ca;
  font-family: 'FOT-ニューロダン ProN DB';
}

.story_title h3 img {
  height: 25px;
}

.story_menu{
  /*display: flex; */ 
  display: table;
  margin: 30px auto 0;
  text-align: center;
  width: 100%;
  max-width: 500px;
}
.story_menu li{
  display: table-cell;
}
.story_menu li.story01{
}
.story_menu li.story02{
  padding-left: 10px;
}
.story_menu img{
  width: 100%;
}

.story_contents img{
  width: 100%;
  display: block;
  margin: 20px 0;
}

/* ネタバレ アコーディオン */
.caution::before{
  padding-right: 10px;
  content: "";
  display: inline-block;
  width: 35px;
  background-position: 2em;
  background-size: contain;
  margin: 0 auto;
  vertical-align: middle;
  content: url(../images/story/icon_caution.svg);
}
.caution{
  text-align: center;
  margin: 20px auto 0;
  display: block;
  font-size: 0.9em;
}


.ac-box{
  width: auto;
  margin: 10px auto 50px;
  }
  
  .ac-box label{
  max-width: 385px;
  font-size: 16px;
  text-align: center;
  background: #1da1f2;
  margin: auto;
  line-height: 50px;
  position: relative;
  display: block;
  height: 50px;
  border-radius: 30px;
  cursor: pointer;
  color: #fff;
  transition: all 0.5s;
  font-family: "FOT-ニューロダン ProN DB";
  }
  
  .ac-box label:hover{
  transition: opacity .1s;
	text-decoration:none;
  opacity: 0.65;
  }
  
  .ac-box input{
  display: none;
  }
  
  .ac-box label:after{
  color: #fff;
  font-size: 1.2em;
  content:" ＋";
  }
  
  .ac-box input:checked ~ label::after {
  color: #fff;
  font-size: 1.3em;
  content:" −";
  }
  
  .ac-box div{
  height: 0px;
  padding: 0px;
  overflow: hidden;
  opacity: 0;
  transition:padding-top 0.2s ease-in-out;
  }
  
  .ac-box input:checked ~ div{
  height: auto;
  padding: 5px;
  opacity: 1;
  }
  
  .ac-box div p{
  line-height: 23px;
  font-size: 14px;
  padding: 20px 0;
  text-align: justify;
  }

  .ac-small p{
  margin-bottom: 0px;
  }

  .minogashi{
    margin: auto;
    text-align: center;
    margin-top: 50px;
    padding: 15px;
    display: block;
    background:#164752;
  }

  .minogashi h3{
    font-family: "FOT-ニューロダン ProN DB";
    font-size: 1.1em;
    text-indent: 0;
    text-align: center;
  }

  .minogashi ul{
    display: inline-flex;
    justify-content: center;
    height: 70px;
  }

  .minogashi ul li{
    padding: 10px 5px 0;
  }

  .minogashi img{
    width: 100%;
    max-width: 425px;
    height: auto;
    display: inherit;
    margin: 0;
  }


  /*  SP用 */
@media screen and (max-width: 992px) {
    #story .teaser-block-inner #movie{
      padding-top: 20px;
    }
    .story_menu{
      margin: 20px auto;
    }
    .story_title h3 img {
      height: 18px;
    }
    .minogashi ul{
      display: inline-block;
    }
 }
 /* ---------------------------------
 tablet用(SP設定を上書き）
--------------------------------- */
@media screen and (min-width : 601px){
  .minogashi ul{
    display: inline-flex;
  }

}
@media screen and (min-width : 516px){
  .minogashi ul{
    display: inline-flex;
  }
}