@charset "UTF-8";
/* カラー */
/* フォント */
.altTxt {
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
  font-size: 0px;
}

[data-scroll] {
  opacity: 0;
  -webkit-transition: opacity 1.0s ease, -webkit-transform 1.0s ease;
  transition: opacity 1.0s ease, -webkit-transform 1.0s ease;
  transition: transform 1.0s ease, opacity 1.0s ease;
  transition: transform 1.0s ease, opacity 1.0s ease, -webkit-transform 1.0s ease;
}

[data-scroll].anime-left {
  -webkit-transform: translate(-50px, 0);
          transform: translate(-50px, 0);
}

[data-scroll].anime-right {
  -webkit-transform: translate(50px, 0);
          transform: translate(50px, 0);
}

[data-scroll].anime-top {
  -webkit-transform: translate(0, 50px);
          transform: translate(0, 50px);
}

[data-scroll].anime-bottom {
  -webkit-transform: translate(0, -50px);
          transform: translate(0, -50px);
}

[data-scroll="in"] {
  opacity: 1.0;
}

[data-scroll="in"].anime-left {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

[data-scroll="in"].anime-right {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

[data-scroll="in"].anime-top {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

[data-scroll="in"].anime-bottom {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

/* 共有ナビ用CSS */
.d-nav-area {
  width: 100%;
  background-image: url(../images/common/bg_nav_line.png), url(../images/common/bg_blue.png);
  background-repeat: repeat-X, repeat;
  background-position: bottom;
}

@media (max-width: 600px) {
  .d-nav-area {
    background-size: 8px 8.8px, 211px 211px;
  }
}

.d-nav-inner {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 20px 0 30px;
}

.d-nav-list {
  position: relative;
  width: 100%;
  font-size: 0;
  text-align: center;
}

.d-nav-list:before, .d-nav-list:after {
  position: absolute;
  content: '';
  top: 0;
  left: 10px;
  width: 1px;
  height: 100%;
  background: #ffffff;
  -webkit-transform: rotate(15deg);
          transform: rotate(15deg);
}

.d-nav-list:after {
  left: auto;
  right: 10px;
}

.d-nav-item {
  display: inline-block;
  width: 33.33%;
  vertical-align: top;
  position: relative;
}

.d-nav-item:nth-child(2):before, .d-nav-item:nth-child(2):after {
  position: absolute;
  content: '';
  top: 0;
  left: 10px;
  width: 1px;
  height: 100%;
  background: #ffffff;
  -webkit-transform: rotate(15deg);
          transform: rotate(15deg);
}

.d-nav-item:nth-child(2):after {
  left: auto;
  right: 10px;
}

.d-nav-item a {
  display: block;
  width: 100%;
  padding-top: 70px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: auto;
  position: relative;
  overflow: hidden;
}

.d-nav-item a:hover {
  opacity: 1;
}

#d-nav .d-nav-item a:hover {
  opacity: 1;
}

/* d-nav - status */
.d-nav-item.is-new:before {
  content: '';
  display: block;
  width: 27.5%;
  height: 27.5%;
  background: url(../images/common/drama-nav-icon-new.png) no-repeat center;
  /* NEWマーク　左上固定の場合は left top */
  background-size: contain;
  position: absolute;
  top: -10%;
  right: -3%;
  z-index: 30;
}

.d-nav-item.is-coming {
  background-color: #000;
}

.d-nav-item.is-coming a {
  opacity: 0.6;
  pointer-events: none;
}

/* d-nav - contents */
.d-nav-item.intro a {
  background-image: url(../images/common/nav_intro_pc.png);
}

.d-nav-item.intro a:hover {
  background-image: url(../images/common/nav_intro_pc_on.png);
}

.d-nav-item.story a {
  background-image: url(../images/common/nav_story_pc.png);
}

.d-nav-item.story a:hover {
  background-image: url(../images/common/nav_story_pc_on.png);
}

.d-nav-item.cast a {
  background-image: url(../images/common/nav_cast_pc.png);
}

.d-nav-item.cast a:hover {
  background-image: url(../images/common/nav_cast_pc_on.png);
}

.d-nav-item a span {
  width: 100%;
  font-size: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  text-indent: -9999px;
  overflow: hidden;
  white-space: nowrap;
}

/* ------------------------------------------------------------------
// 0 - 992px
------------------------------------------------------------------ */
@media (max-width: 992px) {
  .d-nav-item a {
    background-size: contain;
    padding-top: 15%;
  }
}

/* ---------------------------------
// 0 - 600px
--------------------------------- */
@media (max-width: 600px) {
  .d-nav-inner {
    padding: 10px 0 20px;
  }
  .d-nav-item.intro a {
    background-image: url(../images/common/nav_intro_sp.png);
    background-position: right center;
  }
  .d-nav-item.intro a:hover {
    background-image: url(../images/common/nav_intro_sp_on.png);
  }
  .d-nav-item.story a {
    background-image: url(../images/common/nav_story_sp.png);
    background-position: center;
  }
  .d-nav-item.story a:hover {
    background-image: url(../images/common/nav_story_sp_on.png);
  }
  .d-nav-item.cast a {
    background-image: url(../images/common/nav_cast_sp.png);
    background-position: left center;
  }
  .d-nav-item.cast a:hover {
    background-image: url(../images/common/nav_cast_sp_on.png);
  }
  .d-nav-list:before, .d-nav-list:after {
    display: none;
  }
  .d-nav-item a {
    background-size: auto 65%;
    padding-top: 43%;
  }
  .d-nav-item a span {
    font-size: 0;
  }
}

/* 第二階層用ヘッダー用CSS
========================================== */
#d-mainV .d-mainV-area > a {
  display: block;
}

@media (min-width: 993px) {
  #d-mainV .d-mainV-area > a:hover {
    opacity: 0.6;
  }
}

/* for IE 11 */
@media all and (-ms-high-contrast: none) {
  #d-mainV .d-mainV-area:hover {
    opacity: 0.6;
  }
  #d-mainV .d-mainV-area > a:hover {
    opacity: 1;
  }
}

@supports (-ms-ime-align: auto) {
  #d-mainV .d-mainV-area:hover {
    opacity: 0.6;
  }
  #d-mainV .d-mainV-area > a:hover {
    opacity: 1;
  }
}

.d-mainV-area {
  position: relative;
  overflow: hidden;
  background-image: url(../images/common/mainV_bg_second.png);
  background-color: #ffffff;
  background-size: cover;
}

.d-mainV-img {
  position: relative;
  z-index: 10;
  padding: 60px 0 30px;
}

@media (max-width: 992px) {
  .d-mainV-img {
    padding: 5% 0 4%;
  }
}

@media (max-width: 600px) {
  .d-mainV-img {
    padding: 15px 0;
  }
}

.d-mainV-img .second-mainV-logo {
  width: 100%;
  padding-top: 21.25%;
  background-image: url(../images/common/mainV_logo.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.second-mainV-area_bg {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform-origin: left center;
          transform-origin: left center;
}

.second-mainV-area_bg.bg01 {
  background-image: url(../images/common/bg_blue.png);
  -webkit-transform: translate(-150px, -14%) rotate(-23deg);
          transform: translate(-150px, -14%) rotate(-23deg);
}

@media (max-width: 600px) {
  .second-mainV-area_bg.bg01 {
    -webkit-transform: translate(-150px, -8%) rotate(-23deg);
            transform: translate(-150px, -8%) rotate(-23deg);
  }
}

.second-mainV-area_bg.bg01 .second-mainV-area_bg_name {
  position: absolute;
  bottom: -30px;
  left: calc((50% - 400px)*0.73);
  display: block;
  width: 230px;
  height: 130px;
  background-image: url(../images/common/mainV_name_en.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left bottom;
  -webkit-transform: rotate(23deg) translate(0, 0);
          transform: rotate(23deg) translate(0, 0);
}

@media (max-width: 992px) {
  .second-mainV-area_bg.bg01 .second-mainV-area_bg_name {
    display: none;
  }
}

.second-mainV-area_bg.bg02 {
  background-image: url(../images/common/bg_gray.png);
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transform: translate(63%, 100%) rotate(-23deg);
          transform: translate(63%, 100%) rotate(-23deg);
}

.second-mainV-area_bg.line {
  top: 0%;
  left: 0%;
  height: 255px;
  background: repeating-linear-gradient(#000000 0, #000000 10px, transparent 10px, transparent 20px);
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transform: translate(-130px, -60%) rotate(-23deg);
          transform: translate(-130px, -60%) rotate(-23deg);
  -webkit-backface-visibility: hidden;
}

@media (max-width: 600px) {
  .second-mainV-area_bg.line {
    top: -19.5%;
    height: 250px;
    background: repeating-linear-gradient(#000000 0, #000000 8px, transparent 8px, transparent 14px);
  }
}

.second-mainV-area_bg.line:before {
  position: absolute;
  bottom: -18px;
  left: calc((20% - 1045px)*0.38);
  content: '';
  display: block;
  width: 450px;
  height: 13px;
  -webkit-transform: rotate(0deg) translate(0, 0) skewX(-50deg);
          transform: rotate(0deg) translate(0, 0) skewX(-50deg);
  background: #000;
  -webkit-backface-visibility: hidden;
}

@media (max-width: 600px) {
  .second-mainV-area_bg.line:before {
    width: 150px;
    bottom: -9px;
    height: 7px;
    left: calc((20% - 300px)*0.38);
  }
}

.second-mainV-date {
  background: -webkit-gradient(linear, left top, right top, from(#000000), color-stop(50%, #000000), color-stop(50%, transparent), to(transparent));
  background: linear-gradient(90deg, #000000 0%, #000000 50%, transparent 50%, transparent 100%);
  width: 100%;
}

.second-mainV-date > span {
  position: relative;
  overflow: visible;
  display: block;
  max-width: 880px;
  margin: 0 auto;
  height: 90px;
  background-image: url(../images/common/mainV_date_txt.png);
  background-repeat: no-repeat;
  background-size: auto;
  background-position: center;
  background-color: #000000;
}

@media (max-width: 992px) {
  .second-mainV-date > span {
    width: calc(100% - 140px);
    height: 60px;
    background-size: 90%;
  }
}

@media (max-width: 600px) {
  .second-mainV-date > span {
    width: calc(100% - 80px);
    height: 35px;
  }
}

.second-mainV-date > span:after {
  content: '';
  position: absolute;
  left: 100%;
  top: 0;
  display: inline-block;
  width: 101px;
  height: 0;
  padding-top: 90px;
  background-image: url(../images/common/mainV_date_item.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: left bottom;
}

@media (max-width: 992px) {
  .second-mainV-date > span:after {
    width: 70px;
    padding-top: 60px;
  }
}

@media (max-width: 600px) {
  .second-mainV-date > span:after {
    width: 40px;
    padding-top: 35px;
  }
}

/*
 main.css
 本サイト用共通CSS（記事ページにも読み込まれる）

 主に「.d-*」など、番組のみに使用するクラスを記述するCSS
 ※「.drama-*」などの色を変更したい場合は「style.css」に記述
*/
/* d-contents
========================================== */
.d-contentsWrap {
  width: 100%;
}

.d-main {
  width: 100%;
}

/* img
========================================== */
.d-contentsWrap [class*="-img"] img {
  display: block;
}

/* d-btn
========================================== */
.d-btn {
  display: block;
  width: 100%;
  margin: 0 auto;
  padding: 10px;
  border: 1px solid #000;
  border-radius: 5px;
  color: #000;
  font-weight: normal;
  text-align: center;
  word-break: break-all;
  position: relative;
}

.d-btn:after {
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  position: absolute;
  top: 0;
  right: 25px;
  bottom: 0;
  margin: auto 0;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

/* drama-mainV（第2階層用ヘッダー　記事ページ含む）
========================================== */
.d-mainV-area {
  width: 100%;
}

.d-mainV-area a {
  display: block;
}

.d-mainV-inner {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}

.d-mainV-img a {
  width: 100%;
  padding-top: 30%;
  background-image: url(https://placehold.jp/1000x300.png);
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
}

/* contentsBox
========================================== */
.d-contentsBox-inner {
  overflow: hidden;
}

/* area
========================================== */
.d-area {
  width: 100%;
  margin: 60px auto;
}

.d-inner {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px;
}

/* box
========================================== */
.d-box {
  word-break: break-all;
}

.d-box-title {
  font-size: 14px;
  font-size: 1.4rem;
  letter-spacing: 0.6px;
  color: #333;
  padding: 9px 9px;
  position: relative;
  font-weight: bold;
  line-height: 1.0;
}

/* ------------------------------------------------------------------
 SP（〜600px）
------------------------------------------------------------------ */
@media only screen and (max-width: 600px) {
  /* drama-contentsWrap
	========================================== */
  .d-contentsWrap {
    background-position: 10% center;
    background-size: 5% auto;
  }
  /* drama - setting
	========================================== */
  .d-area {
    margin: 3% auto;
  }
  .d-inner {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 0;
  }
  /* drama-mainV（第2階層用ヘッダー　記事ページ含む）
	========================================== */
  .d-mainV-img a {
    padding-top: 53.125%;
    background-image: url(https://placehold.jp/640x340.png);
  }
}

/* ------------------------------------------------------------------
 SP 〜 tablet（〜992px）
------------------------------------------------------------------ */
/* ------------------------------------------------------------------
 PC（993px〜）
------------------------------------------------------------------ */
@media screen and (min-width: 993px) {
  .d-main a {
    -webkit-transition: opacity .1s ease;
    transition: opacity .1s ease;
  }
  .d-main a:hover {
    opacity: 0.6;
  }
}

#official-line {
  display: none;
}

#recommend {
  display: none;
}

/* prBanner
========================================== */
.prBanner-area {
  background: url(../images/common/bg_gray.png);
  margin: 0 auto;
  padding: 60px 0;
}

@media (max-width: 992px) {
  .prBanner-area {
    padding: 60px 20px;
  }
}

@media (max-width: 600px) {
  .prBanner-area {
    padding: 20px 10px;
  }
}

.prBanner-inner {
  position: relative;
  z-index: 1;
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
}

/* prBanner-list
------------------------------------------ */
.prBanner-list {
  width: 100%;
  margin: 0 auto;
  font-size: 0;
}

.prBanner-item {
  width: 100%;
  text-align: center;
}

.prBanner-item + .prBanner-item {
  margin-top: 30px;
}

@media (max-width: 600px) {
  .prBanner-item + .prBanner-item {
    margin-top: 15px;
  }
}

.prBanner-item a {
  display: inline-block;
}

.prBanner-img img {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
}

@media only screen and (max-width: 992px) {
  .drama-inner .drama-box-share-area {
    margin-bottom: 3%;
  }
}
