@charset "UTF-8";

/* ///////////////////////////////////////////////////////////////////////////////////////
 Common
 bodyタグ、背景、メニュー、基本レイアウト
/////////////////////////////////////////////////////////////////////////////////////// */

/* ========================================================
 Base
 ======================================================== */

/* 文字サイズ10px相当 */
html { font-size: 62.5%;}
@font-face {
  font-family: "YakuHanJP";
  font-style: normal;
  font-weight: normal;
  font-display: swap;
  src: url("../font/YakuHanJP-Regular.woff2") format("woff2"), url("../font/YakuHanJP-Regular.woff") format("woff")
}

@font-face {
  font-family: "YakuHanJP";
  font-style: normal;
  font-weight: bold;
  font-display: swap;
  src: url("../font/YakuHanJP-Bold.woff2") format("woff2"), url("../font/YakuHanJP-Bold.woff") format("woff")
}
body {
  font-family: "YakuHanJP", "Noto Sans JP","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "Lucida Grande", Verdana, "ＭＳ Ｐゴシック", sans-serif;
  font-size: 1.6rem;
  background: #fff;
  line-height: 1.6;
}

/* @media screen and (max-width: 768px) {
  html {
   20px
    font-size: 2.6vw;
  }
  body {
     line-height: 1.5;
  }
} */
@media screen and (max-width: 768px) {
  body {
     line-height: 1.5;
     /* font-size: 1.5rem; */
     font-size: 2.8vw;
  }
}
@media screen and (max-width: 550px) { body{ font-size: 3.8vw;}}
a{ text-decoration: none;}
.bold { font-weight: bold;}
.strong{
  font-weight: bold;
  color: #c5674e;
}
.f-left{ float: left;}
.w50.f-left{ margin-right: 3%;}
.d-flex{ display: flex; flex-wrap: wrap;}
.space_between{ justify-content: space-between;}
.t-center{ text-align: center;}
.w50{ width: 48%;}


#cx_spContentsWrap, #fp-wrap {
  min-width: 100% !important;
  width: 100% !important;
}
.cx_touchdevice #cx_spContentsWrap {
  min-width: 1200px !important;
}
.cx_touchdevice #fp-wrap {
  width: 100%!important;
  min-width: 1000px !important;
}
.cx_smartphoneview.cx_touchdevice #cx_spContentsWrap, .cx_smartphoneview.cx_touchdevice #fp-wrap {
  min-width: 100% !important;
  width: 100% !important;
}
.cx_smartphoneview #fp-wrap {
  min-width: 100%!important;
  width: 100% !important;
}
.cx_smartphoneview #fp-contents {
  width: 100%!important;
  margin: 0 auto;
}


/* ========================================================
  Background
 ======================================================== */
#pc-bg{
  position: relative;
  /* background-color: #e99a00; */
}

/* 下層ページ */
/* #pc-bg.lower {
  background: url(../img/lower_bg.png) repeat-x center top;
} */

#pc-bg.lower .l-header {
  height: 240px;
}


/* ========================================================
  Layout
 ======================================================== */
 #fp-wrap{
  position: relative;
  overflow: hidden;
}
/* .bg-paper{
  position: fixed;
  width: 120%;
  height: 120%;
  top: -5%;
  left: 0;
  right: 0;
  margin: 0 auto;
  background: url("../img/bg2.svg") repeat center center;
  background-size: 20%;
  mix-blend-mode: multiply;
  z-index: 666;
  opacity: 0.5;
  transform: rotate(-10deg);
  transform-origin: center center;
} */
/* #fp-wrap::after{
  content: "";
  display: block;
  position: absolute;
  width: 1200px;
  height: 100%;
  bottom: -50px;
  left: 56%;
  background: url("../img/footprints_l_02.svg")no-repeat bottom right;
  background-size: contain;
  z-index: 6666;
} */

/* @media screen and (max-width: 768px) {
  #fp-wrap::after{
    width: 150vw;
    bottom: -7vw;
    left: 22%;
  }
} */

#fp-contents {
  width: auto;
  position: relative;
}
#fp-contents * {
  box-sizing: border-box;
}

.inner {
  width: 1200px;
  margin: 0 auto;
}
@media screen and (max-width: 1200px) {
.inner {
  width: 100%;
}
}
.l-header, .l-menu, .l-mainvisual {
  position: relative;
  z-index: 7777;
}

.l-main {
  width: 100%;
  margin: 0 auto;
  position: relative;
}
.l-main__inner{
  width: 100%;
  margin: 0 auto;
  position: relative;
}

.l-main__inner::after{
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0; left: 0;
  /* z-index: 5555; */
  background-position: left top;
  background-repeat: repeat;
  background-size: 1400px 2000px;
}
.webp .l-main__inner::after{ background-image: url("../img/bg_main.webp");}
.no-webp .l-main__inner::after{ background-image: url("../img/bg_main.jpg");}
@media screen and (max-width: 768px) {
  .l-main__inner {
    width: 100%;
    padding: 0.5em 0 20vw;
  }
}
@media screen and (max-width: 768px) {
.inner {
  width: 100%;
}

.l-main {
  width: 100%;
}
}

/* ========================================================
  Info
 ======================================================== */
.info-area {
  width: 100%;
  text-align: center;
  position: absolute;
  bottom: 1.8em;
  z-index: 222;
}
.info-area img{
  /* width: 350px; */
  width: 596px;
}
@media screen and (max-width: 768px) {
  .info-area img{
    width: 78vw;
  }
}

/* ========================================================
  Menu
 ======================================================== */

.l-menu {
  position: relative;
  z-index: 8888;
  background-position: center center;
  background-repeat: repeat-x;
  background-size: cover;
}
.webp .l-menu {
  background-image: url("../img/bg_nav.webp");
}
.no-webp .l-menu {
  background-image: url("../img/bg_nav.png");
}
.l-menu::before,
.l-menu::after{
  content: "";
  display: block;
  position: absolute;
  top: 5px;
  left: 0;
  width: 100%;
  height: 10px;
  border-top: dotted 6px #fff2bf;
  filter: drop-shadow( 0 0 3px rgba(255,132,0,0.83)) drop-shadow( 0 0 2px rgba(255,132,0,0.83)) drop-shadow( 0 0 1px rgba(255,132,0,0.83));
  z-index: 8888;
}
.l-menu::after{
  top: auto; bottom: 5px;
  border-top: none;
  border-bottom: dotted 6px #fff2bf;
}
/* @media screen and (max-width: 768px) {
  .l-menu{ padding: 0.5em 0;}
} */

.menu {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.menu__item{
  width: 25%;
  height: 80px;
  position: relative;
  z-index: 9999;
}
.menu__item::after{
  content: "";
  display: block;
  position: absolute;
  width: 2px;
  height: 40%;
  top: 30%; right: 0;
  background-color: rgba( 255,255,255,0.8);
}
.menu__item:nth-last-of-type(1):after{ display: none;}
.len5 .menu__item {
  width: 20%;
}
.len6 .menu__item {
  width: 16.66%;
}
.len7 .menu__item {
  width: 14.28%;
}
.menu__item.comingsoon a{
  opacity: 0.5;
  cursor: default;
}
.menu__item a{
  display: block;
  width: 100%;
  height: 100%;
  text-indent: -10000px;
  background-repeat: no-repeat;
  text-decoration: none;
  background-position: center;
  /* background-size: auto 88%; */
  background-size: 90% 90%;
  transition : .3s;
  position: relative;
}
/* .cx_displaydevice .menu__item a:hover{ background-color: #ffd12a;}
.cx_displaydevice .menu__item.comingsoon a:hover{ background-color: #ffe42a;}
.cx_touchdevice .menu__item.comingsoon a:hover{ opacity: 0.5 !important;} */

.cx_displaydevice .menu__item a::after{
  background-color: rgba( 255,255,255,0.7);
  content: '';
  width: 80%;
  height: 2px;
  position: absolute;
  left: 0; right: 0;
  bottom: 14px;
  margin: auto;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform 300ms;
}
.cx_displaydevice .menu__item a:hover::after {
transform-origin: left top;
transform: scale(1, 1);
}
.cx_displaydevice .menu__item.comingsoon a::after{display: none;}


.menu__item.nav-intro a {
  background-image: url("../img/menu_introduction.svg");
}
.nav-story a {
  background-image: url("../img/menu_story.svg");
}
.nav-news a {
  background-image: url("../img/menu_news.svg");
}
.nav-caststaff a {
  background-image: url("../img/menu_caststaff.svg");
}
.nav-chart a {
  background-image: url("../img/menu_chart.svg");
}
.nav-message a {
  background-image: url("../img/menu_message.svg");
}
.nav-interview a {
  background-image: url("../img/menu_interview.svg");
}
.nav-movie a {
  background-image: url("../img/menu_movie.svg");
}
.nav-original a {
  background-image: url("../img/menu_original.svg");
}
.menu__item.new a::after{
  content: "";
  display: block;
  position: absolute;
  width: 4em;
  height: 4em;
  background: url("../img/icn_new.png") no-repeat center center;
  background-size: contain;
  transform: rotate(-15deg);
  top: -0.5em;
  left: 50%;
  margin-left: -5.5em;
}
/* .menu__item::after{
  content: "";
  display: block;
  position: absolute;
  width: 2px;
  height: 50%;
  top: 25%;
  right: 0;
  background-color: #fff;
}
.menu__item:nth-last-of-type(1)::after{ display: none;} */

@media screen and (max-width: 1200px) {
  .len7 .menu__item {
    width: 25%;
    border-bottom: solid 2px #fff;
    height: 4.6em;
  }
  .len7 .menu__item:nth-of-type(4n):after{ display: none;}
  .len7 .menu__item:nth-last-of-type(1),
  .len7 .menu__item:nth-last-of-type(2),
  .len7 .menu__item:nth-last-of-type(3){ border-bottom: none;}
  .len7 .menu__item a { background-size: auto 2.0vw;}
}
@media screen and (max-width: 1000px) {
  .len7 .menu__item a { background-size: auto 2.4vw;}
}
@media screen and (max-width: 900px) {
  .menu__item a { background-size: auto 78%;}
  .len6 .menu__item a { background-size: contain;}
}
@media screen and (max-width: 768px) {
  .l-menu{ padding: 2vw 0;}
  .l-menu::before, .l-menu::after{
    height: 4vw;
    border-top: dotted 1vw #fff2bf;
    top: 1vw;
  }
  .l-menu::after{
    border-top: none;
    border-bottom: dotted 1vw #fff2bf;
    top: auto;
    bottom: 1vw;
  }
  .menu__item,
  .len5 .menu__item,
  .len7 .menu__item{
    width: 50%;
    /* border-bottom: solid 1px #c5674e; */
    border-bottom: solid 1px rgba( 255,255,255,0.7);
    height: 10vw;
  }
  .len6 .menu__item{
    width: 33%;
    border-bottom: solid 1px rgba( 255,255,255,0.7);
    height: 3.8em;
  }
  .len7 .menu__item:nth-of-type(1),
  .len5 .menu__item:nth-last-of-type(1){ width: 100%;}
  .menu__item:nth-of-type(2n):after{ display: none;}
  .len7 .menu__item:nth-of-type(2n):after,
  .len6 .menu__item:nth-of-type(2n):after,
  .len7 .menu__item:nth-of-type(4n):after{ display: block;}
  .len7 .menu__item:nth-of-type(2n+1):after{ display: none;}
  .len6 .menu__item:nth-of-type(3n):after{ display: none;}
  .menu__item:nth-last-of-type(1),
  .menu__item:nth-last-of-type(2),
  .len6 .menu__item:nth-last-of-type(3){ border-bottom: none;}
  .len7 .menu__item:nth-last-of-type(3){ border-bottom: solid 1px rgba( 255,255,255,0.7);}
  .len5 .menu__item:nth-last-of-type(2){ border-bottom: solid 1px rgba( 255,255,255,0.7);}
  .menu__item a,
  .len5 .menu__item a,
  .len7 .menu__item a{ background-size: auto 10vw;}

}
@media screen and (max-width: 540px) {
  .menu__item,
  .len5 .menu__item { height: 14vw;}
  .len7 .menu__item { height: 12vw;}
  .menu__item a,
  .len5 .menu__item a{ background-size: auto 14vw;}
  .len7 .menu__item a { background-size: auto 4.6vw;}
}

/* .cx_displaydevice .menu__item a::after{
    background: #ff7171;
    margin-top: -15px;
    content: '';
    width: 90%;
    height: 0.2em;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 1.3em;
    margin: auto;
    transform-origin: center top;
    transform: scale(0, 1);
    transition: transform 300ms;
}
.cx_displaydevice .menu__item a:hover::after {
  transform-origin: center top;
  transform: scale(1, 1);
}
.cx_displaydevice .menu__item.comingsoon a:hover{ background-color: rgba(0, 151, 230, 0);}
.cx_displaydevice .menu__item.comingsoon a:hover::after{ opacity: 0; transform: scale(0, 1);} */

/* ========================================================
 Content
 ======================================================== */
.content {
  margin: 0 auto;
  padding: 3.5em 0 1.5em;
  position: relative;
  z-index: 7777;
}
.content.bright{ margin-bottom: 2em; padding-top: 2em;}
.content.bright::before{
  content: "";
  display: block;
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(228, 201, 0, 0.738);
}
.content.border{
  margin-bottom: 2em;
  padding: 3em 0 2em;
  /* background-color: rgba(255, 213, 0, 0.2); */
}
.content.border::before,
.content.border::after{
  content: "";
  display: block;
  width: 100%;
  height: 10px;
  background: url("../img/nav_bg01.png") repeat-x center 0;
  position: absolute;
  top: 0;
  left: 0;
}
.content.border::after{ top: auto; bottom: 0;}
.content.color{
  padding-top: 2.5em;
  overflow: hidden;
  clip-path: inset(0);
}
.content.color::after{
  content: "";
  display: block;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-repeat: repeat;
  background-position: left top;
  background-size: 1400px 1400px;
}
.webp .content.color::after{
  background-image: url("../img/bg_color.webp");
}
.no-webp .content.color::after{
  background-image: url("../img/bg_color.jpg");
}

.content__body{
  position: relative;
  z-index: 1111;
}
.content__body.w800 {
  width: 94%;
}
@media screen and (min-width: 1220px) {
  .content__body { width: 1200px;}
}
@media screen and (min-width: 900px) {
  .content__body.w800 { width: 856px;}
}
@media screen and (max-width: 768px) {
  .content { padding-top: 8vw;}
  .content__body,
  .content__body.w800 { width: auto;}
  .w50{ width: 100%;}
  .w50.f-left{ width: 45%;}
  .content.color{ padding-top: 8vw;}
}



/* --------------------- 見出し・テキスト --------------------- */
.content__title{
  /* width: 25em; */
  position: relative;
  text-align: center;
  height: 2.4em;
  margin: 0 auto 2em;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  text-indent: -300%;
  white-space: nowrap;
  overflow: hidden;
  z-index: 1111;
}
#introduction .content__title{ background-image: url("../img/ttl_introduction.svg");}
#story .content__title{ background-image: url("../img/ttl_story.svg");}
#movie .content__title{ background-image: url("../img/ttl_movie.svg");}
#caststaff .content__title{ background-image: url("../img/ttl_caststaff.svg");}
#chart .content__title{ background-image: url("../img/ttl_chart.svg");}
#news .content__title{ background-image: url("../img/ttl_news.svg");}
#media .content__title{ background-image: url("../img/ttl_media.svg");}
.content__title::before,
.content__title::after{
  content: "";
  display: block;
  background: url("../img/ttl_asset.svg") repeat-x right center;
  background-size: auto 0.7em;
  width: calc(50% - (25em/2));
  height: 0.7em;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -0.35em;
}
.content__title::after{
  background-position: left center;
  left: auto; right: 0;
}
/* .content__title img{
  height: 4.2em;
}
@media screen and (max-width: 768px) {
  .content__title img{
    height: 10.8vw;
  }
}
@media screen and (max-width: 450px) {
  .content__title img{
    height: 12.8vw;
  }
} */

.content__title small {
  display: block;
  margin-bottom: 5px;
  font-size: 1.2rem;
  color: #e95894;
}
.l-main h3{
  font-size: 160%;
  font-weight: bold;
  color: #a70240;
  line-height: 1.6;
  margin-bottom: 0.7em;
}
.h3-sub{
  font-size: 140%;
  font-weight: bold;
  color: #d8aa4d;
  line-height: 1.6;
  margin-bottom: 0.7em;
}
.content__h4wrap{
  background-color: #a70240;
  padding: 0.8em 0.4em;
  position: relative;
  margin: 2em 0 1em;
  box-shadow: 1px 1px 0.5em 0.1em rgba(189,163,106,0.95);
}
.content__h4wrap:nth-of-type(1){ margin-top: 1.4em;}
.content__h4wrap::before{
  content: "";
  display: block;
  width: calc(100% - 0.4em);
  height: calc(100% - 0.4em);
  box-sizing: border-box;
  border: solid 2px rgba(255,255,255,0.55);
  position: absolute;
  top: 0.2em; left: 0.2em;
}
.l-main h4{
  /* background-color: #00aef0; */
  color: #fff;
  font-size: 120%;
  line-height: 1.3;
  padding: 0.1em 0.4em;
  font-weight: 700;
  position: relative;
}
.l-main h4::before,
.l-main h4::after{
  content: "";
  display: block;
  width: calc(100% - 0.4em);
  height: 0.2em;
  position: absolute;
  bottom: -0.2em;
  left: 0.2em;
  border-bottom: dotted 0.16em #f2be58;
}
.l-main h4::before{
  top: -0.2em;
  border-bottom: none;
  border-top: dotted 0.16em #f2be58;
}

.l-main h4 .sub,
.l-main h5 .sub{ font-size: 80%;}
.l-main h5{
  font-size: 110%;
  line-height: 1.4;
  font-weight: bold;
  /* color: #ee7700; */
  margin: auto;
  /* text-align: center; */
  position: relative;
  background-color: #f2ee00;
  padding: 0 0.2em;
  display: inline-block;
}
.l-main h5::before{
  content: "◆";
  /* display: block;
  position: absolute;
  width: 60%;
  height: 0.8em;
  background-color: #fff000; */

}
@media screen and (max-width: 768px) {
  .l-main h3{
    font-size: 114%;
    letter-spacing: -0.05em;
  }
  .h3-sub{ font-size: 102%;}
  .l-main h4,.l-main h5{ font-size: 100%;}
}

.contents_update {
  background: #e95894;
  color: #fff;
  line-height: 1;
  display: inline-block;
  padding: 7px 20px;
  border-radius: 0px;
  position: absolute;
  right: 15px;
  top: 20px;
}

.content__title__link {
  position: absolute;
  right: 15px;
  top: 15px;
}

.content__title__link a {
  box-sizing: border-box;
  display: inline-block;
  padding: 5px 15px;
  margin-top: -15px;
  border-radius: 2px;
  height: 30px;
  background: #e95894;
  color: #fff;
  font-size: 1.4rem;
  text-decoration: none;
}

.content__title__link a:hover {
  background: #ef85b1;
}

.content__subtitle {
  font-size: 1.7rem;
  font-weight: bold;
  color: #e95894;
  border-bottom: 1px solid #e95894;
  margin-bottom: 15px;
  padding-bottom: 10px;
}

.content__body {
  margin: 5px auto 0;
  padding-bottom: 30px;
}
.content__body__txt1{
  line-height: 2.0;
  color: #000;
  margin-bottom: 1.5em;
}
.content__body__txt1 .cap{ font-size: 80%;}
@media screen and (max-width: 768px) {
  .content__title {
    height: 7vw;
    margin-bottom: 4vw;
  }
  .content__title::before, .content__title::after{
    width: calc(50% - (68vw/2));
    height: 2.2vw;
    background-size: auto 2.2vw;
    margin-top: -1.1vw;
  }
  .contents_update {
    font-size: 1.2rem;
    padding: .6rem;
    top: 1rem;
    right: 1rem;
  }
  .content__title__link {
    position: static;
  }
  .content__title__link a {
    margin: 3px;
    height: auto;
  }
  .content__body {
   margin: 0 1.8rem 0 1.8rem;
   padding-bottom: 2rem;
  }
  .content__body__txt1{
    font-size: 90%;
  }
}
@media screen and (max-width: 550px) {
  .content__body__txt1{ font-size: 94%;}
}

/* --------------------- 写真 --------------------- */
.photo-wrap{
  position: relative; text-align: center;
  margin-bottom: 2em;
  text-align: center;
  z-index: 333;
  box-shadow: 1px 1px 3.8em rgba(189,163,106,0.45);
  margin: 0 auto;
}
.photo-wrap img{
  position: relative;
  z-index: 333;
}
.photo-wrap.w80{ width: 80%;}
.photo-wrap.w60{ width: 60%;}

@media screen and (max-width: 768px) {
  .photo-wrap.w80{ width: 100%;}
  .photo-wrap.w60{ width: 80%;}
  /* .photo-wrap::before{
    width: 20%;
    top: -4vw; left: -3vw;
  }
  .photo-wrap::after{
    width: 20%;
    bottom: -4vw; right: -3vw;
  } */
}
@media screen and (max-width: 550px) {
  .photo-wrap.w60{ width: 100%;}
}

/* ========================================================
 linkBtn
 ======================================================== */
.linkBtn { text-align: center;}
.linkBtn a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 320px;
  height: 50px;
  margin: 0 auto;
  text-align: center;
  vertical-align: middle;
  border-radius: 4em;
  color: #888;
  font-weight: 500;
  background-color: rgba(255,255,255,0.9);
  transition: .2s;
  position: relative;
  box-shadow: 1px 1px 1.4em rgba(97,171,177,0.27);
}

.cx_displaydevice .linkBtn a:hover {
  background-color: #fff;
  border-width: 3px;
  box-shadow: 1px 1px 2em rgba(97,171,177,0.6);
}
.linkBtn.twitter a::before,
.linkBtn.instagram a::before{
  content: "";
  display: inline-block;
  width: 32px;
  height: 32px;
  border-radius: 5px;
  margin-right: 0.5em;
  /* position: absolute;
  left: 0.5em;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%); */
}
.linkBtn.twitter a::before{
  background: url(../img/icon_twitter.png) top left / contain no-repeat;
}
.linkBtn.instagram a::before{
  background: url(../img/icon_instagram.png) top left / contain no-repeat;
}
.linkBtn a::after{
  content: "";
  display: block;
  background: url("../img/arrow_or.svg") no-repeat center center;
  width: 1.2em;
  height: 1.2em;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 1em;
  margin-top: -0.6em;
  transition: .3s;
}
.cx_displaydevice .linkBtn a:hover::after{
  right: 0.8em;
}
@media screen and (max-width: 768px) {
  .linkBtn a {
    width: 100%;
     /*86px*/
    /* height: 11.2vw;
    line-height: 11.2vw; */
    height: 48px;
  }
  .linkBtn.twitter a::before,
  .linkBtn.instagram a::before{
    width: 22px; height: 22px;
  }
}


/* ///////////////////////////////////////////////////////////////////////////////////////
 Top
 メインビジュアル、スライダー、グリッド、ニュース一覧、twitter枠、instagram枠、バナー、前作リンク
/////////////////////////////////////////////////////////////////////////////////////// */

/* ========================================================
 Notice
 メインビジュアル内　緊急告知
 ======================================================== */
.notice {
  position: absolute;
  box-sizing: border-box;
  width: 620px;
  left: 10px;
  bottom: 30px;
  padding: 10px;
  border-radius: 2px;
  background: rgba(233, 88, 148, 0.8);
  box-shadow: 1px 1px 1px 1px rgba(0, 0, 0, 0.1);
  color: #fff;
  font-size: 1.4rem;
}
.l-mainvisual--full .notice {
  width: 980px;
}

/* ========================================================
 公式SNSアカウント
 ======================================================== */
.official__account { padding-bottom: 30px;}
.official__account ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-right: -10px;
}
.official__account li {
  display: table;
  width: 33.3333%;
  padding: 0 10px 0 0;
  margin-bottom: 10px;
}
.official__account li.comingsoon { opacity: 0.4;}
.official__account li a {
  display: table-cell;
  height: 55px;
  padding: 10px 0;
  text-align: center;
  vertical-align: middle;
  border-radius: 4em;
  color: #000;
  font-weight: 500;
  background-color: rgba(255,255,255,0.9);
  transition: .2s;
  position: relative;
  box-shadow: 1px 1px 1.4em rgba(189,163,106,0.35);
  border: solid 0.2em #642626;
  box-sizing: border-box;
}
.cx_displaydevice .official__account li a:hover{
  background-color: #fff;
  /* border-width: 3px; */
  box-shadow: 1px 1px 2em rgba(189,163,106,0.6);
}
.cx_displaydevice .official__account li.comingsoon a:hover{ background: none;}
.official__account li a::before{
  content: "";
  display: block;
  position: absolute;
  top: 0.2em;
  left: 0.2em;
  width: calc(100% - 0.4em);
  height: calc(100% - 0.4em);
  border: solid 0.1em #642626;
  border-radius: 4em;
  box-sizing: border-box;
}
.official__account li a::after{
  content: "";
  display: block;
  background: url("../img/arrow_rd.svg") no-repeat center center;
  width: 1.2em;
  height: 1.2em;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 1em;
  margin-top: -0.6em;
  transition: .3s;
}
.cx_displaydevice .official__account li a:hover::after{
  right: 0.8em;
}
.official__account li span {
  display: inline-block;
  position: relative;
  padding-left: 46px;
}
.official__account li span::before {
  content: "";
  display: block;
  width: 36px;
  height: 36px;
  border-radius: 5px;
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.official__account li.account-twitter span::before {
  background: url(../img/icon_twitter.png) top left / contain no-repeat;
}
.official__account li.account-instagram span::before {
  background: url(../img/icon_instagram.png) top left / contain no-repeat;
}
.official__account li.account-line span::before {
  background: url(../img/icon_line.png) top left / contain no-repeat;
}
.official__account li.account-facebook span::before {
  background: url(../img/icon_facebook.png) top left / contain no-repeat;
}
.official__account li.account-youtube span::before {
  background: url(../img/icon_youtube.png) top left / contain no-repeat;
}
.official__account li.account-tiktok span::before {
  background: url(../img/icon_tiktok.png) top left / contain no-repeat;
}

@media screen and (max-width: 768px) {
  .official__account { padding-bottom: 1rem;}
  .official__account ul { width: 100%;}
  .official__account li {
    width: 80%;
    display: block;
    padding: 0 0 0 0;
    margin-bottom: 1rem;
  }
  .official__account li a {
    height: auto;
    display: block;
    text-align: left;
    width: 100%;
    line-height: 1;
    padding: 1.5rem 2rem ;
  }
  .official__account li span {
    padding-left: 10.42vw;
    padding-left: 4rem;
  }
  .official__account li span::before {
    width: 22px;
    height: 22px;
  }
}


/* ========================================================
 スライダー
 ======================================================== */

.slider {
  position: relative;
  width: 100%;
  margin: auto;
}

.slider * {
  box-sizing: border-box;
}

/*====　↓　swiper　====*/
/*コンテナの大きさ*/
.slider .swiper-container {
  width: 90%;
  /* height: 310px; */
  height: 406px;
  padding: 8px;
}

/*スライド*/
.slider .swiper-slide {
  width: 268px;
  padding: 1em;
  transition: 300ms;
  box-shadow: 1px 1px 10px rgba(87,48,23,0.6);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.webp .slider .swiper-slide { background-image: url("../img/bg_news.webp");}
.no-webp .slider .swiper-slide { background-image: url("../img/bg_news.jpg");}
.slider .swiper-slide.comingsoon{
    opacity: 0.5;
}
.slider .swiper-slide.comingsoon::after{
    content: "coming soon";
    position: absolute;
    top: 50%;
    left: 0; right: 0;
    margin-top: -0.5em;
    text-align: center;
    font-size: 120%;
    color: #333;
    font-weight: 500;
    z-index: 333;
}
.slider__item a{
    display: block;
    height: 100%;
    position: relative;
    z-index: 30;
    transition: 300ms;
}
.cx_displaydevice .slider__item a::after{
    background: #a70240;
    content: '';
    width: 100%;
    height: 0.3em;
    position: absolute;
    left: 0;
    bottom: 0;
    margin: auto;
    transform-origin: right top;
    transform: scale(0, 1);
    transition: transform 300ms;
}
.cx_displaydevice .slider__item a:hover::after {
  transform-origin: left top;
  transform: scale(1, 1);
}
.cx_displaydevice .slider__item a.no-link:hover::after {
  transform-origin: left top;
  transform: scale(0, 1);
}

.slider__photo { width: 100%;}
.slider__photo img{ width: 100%; height: auto;}
.slider__update {
  margin-top: 1rem;
  margin-right: 4%;
  line-height: 1.2;
  color: #000;
  font-size: 90%;
  display: flex;
  align-items: center;
}
.slider__update.news::after,
.slider__update.interview::after,
.slider__update.introduction::after{
  content: "ニュース";
  background: #a70240;
  color: #fff;
  font-size: 90%;
  padding: 0.1em 1.0em;
  margin-left: 0.5em;
  font-feature-settings: "palt";
  border-radius: 4em;
  line-height: 1;
  border: solid 1px rgba(255,255,255,0.9);
  box-shadow: 0 0 1px 1px #a70240;
}
.slider__update.interview::after{ content: "インタビュー";}
.slider__update.introduction::after{ content: "イントロダクション";}

.slider__text {
  margin-top: 0.6rem;
  color: #000;
}
.slider__text p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
  font-size: 90%;
  line-height: 1.6;
}

/*矢印*/
.slider .swiper-next, .slider .swiper-prev {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  width: 48px;
  height: 48px;
  background-size: contain;
  background-position: center;
  z-index: 10;
  cursor: pointer;
  border-radius: 50%;
  filter: drop-shadow( 0 0.2em 0.2em rgba(0,0,0,0.4));
}
.slider .swiper-prev {
  background: #ebe700 url("../img/arrow_bk.svg") no-repeat center center;
  background-size: 44% 44%;
  left: 10px;
  transform: scale(-1, 1) translateY(-50%);
}
.slider .swiper-next {
  background: #ebe700 url("../img/arrow_bk.svg") no-repeat center center;
  background-size: 44% 44%;
  right: 10px;
}
.slider .swiper-next.swiper-button-disabled,.slider .swiper-prev.swiper-button-disabled {
  opacity: 0;
  cursor: default;
}
@media screen and (max-width: 768px) {
  .slider .swiper-container {
      /* -----------★変更★-----------*/
    width: 100%;
    height: auto;
  }
  .slider .swiper-slide {
    width: 54%;
    padding: 3vw;
    height: auto;
  }
  .slider__text p{ margin-bottom: 1em;}
  .slider .swiper-next,.slider .swiper-prev {
      /* -----------★変更★-----------*/
    width: 35px;
    height: 35px;
  }
  .slider .swiper-slide-prev, .slider .swiper-slide-next {
    opacity: 0.6;
  }
}


/*====　↑　swiper　====*/

/* ========================================================
 Youtube埋め込み
 ======================================================== */

.movie__item {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.movie__item iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}


/* ========================================================
 INTERVIEW
 ======================================================== */

.intvArcTl {
  text-align: center;
  font-weight: bold;
  font-size: 3.2rem;
}

.intvArcTl .yaku {
  font-weight: 100;
  font-size: 2rem;
  display: block;
  line-height: 1;
}

.intvArcTl .keisho {
  font-size: 2rem;
}

@media screen and (max-width: 768px) {
.intvArcTl {
  font-size: 2.6rem;
}
.intvArcTl .yaku {
  font-size: 1.6rem;
}
.intvArcTl .keisho {
  font-size: 1.6rem;
}
}




/* ========================================================
 CSAT＆STAFF　CHART
 ======================================================== */

.boxHalf {
  width: 48%;
}

.boxHalf a h2 {
  color: #000;
}

@media screen and (max-width: 768px) {
  .content.boxHalf {
    width: 49.5%;
    margin-right: 1%;
  }
  .content.boxHalf:nth-of-type(2n){ margin-right: 0;}
}


/* ========================================================
 Twitter　ウィジェット
 ======================================================== */

.twitter-timeline{
  width: 70%;
  overflow: auto;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .twitter-timeline{
  width: 100%;
  overflow: auto;
  margin: 0 auto;
}
}


/* ========================================================
 めざましmedia
 ======================================================== */
.media__list{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 1em;
}
.media__list li{
  flex-shrink: 0;
  width: 49%;
  max-height: 8.5em;
  background-color: #fff;
  box-shadow: 1px 1px 1.8em rgba(97,171,177,0.45);
  margin-bottom: 1em;
}
@media screen and (max-width: 768px) {
  .media__list{ margin: 0;}
  .media__list li{ width: 100%; max-height: 10em;}
  .media__list li:nth-of-type(4){ display: none;}
}
.media__list li a{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  height: 100%;
}
.media__list li a > *{ flex-shrink: 0;}
.media__list__thum{
  width: 42%;
  height: 100%;
  /* float: left; */
  /* margin: 0 1em 0.2em 0; */
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.media__list__thum img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.media__list__info{
  width: 58%;
  padding: 0.6em 1em;
  box-sizing: border-box;
}
.media__list__info__ttl{
  font-size: 92%;
  line-height: 1.8;
  color: #666;
  margin-bottom: 0.4em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
}
.media__list__info__update{
  font-size: 80%;
  color: #888;
  text-align: right;
}

/* ========================================================
 News list
 TOPページ用ニュース一覧
 ======================================================== */

.news-list__item {
  display: table;
  width: 100%;
  padding: 10px 0;
  border-bottom: 1px solid #ccc;
}

.news-list__item:first-child {
  padding-top: 0;
}

.news-list__item__photo {
  display: table-cell;
  width: 160px;
  text-align: center;
}

.news-list__item__photo img {
  max-width: 160px;
  max-height: 100px;
}

.news-list__item__text {
  display: table-cell;
  vertical-align: middle;
  padding-left: 15px;
  font-size: 1.5rem;
}

.news-list__item__text a {
  color: #000;
}

.news-list__item__text a:hover {
  text-decoration: underline;
}

.news-list__item__text time {
  color: #e95894;
}

.news-list__item__text em {
  display: block;
  font-weight: bold;
}

.news-list__more {
  display: block;
  float: right;
  width: 200px;
  padding: 5px;
  margin-top: 10px;
  border-radius: 2px;
  background: #e95894;
  color: #fff;
  text-align: center;
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.news-list__more:hover {
  background: #ef85b1;
  color: #fff;
}


/* ========================================================
 Instagram
 ======================================================== */
 #instagram.content.color{
  padding-top: 2em;
  padding-bottom: 1em;
 }
 @media screen and (max-width: 550px) {
  #instagram.content.color{
    padding-top: 1em;
    padding-bottom: 0em;
   }
 }
.cx_instagram_target ul {
  display: flex;
  flex-wrap: wrap;
  margin-right: -10px;
  justify-content: center;
}

.cx_instagram_target ul li {
  /* width: 33.333%; */
  width: 20%;
  padding-right: 10px;
}

.cx_instagram_target ul li{
  margin-bottom: 10px;
}

.img_wrap {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 100%;
  overflow: hidden;
  background: #fff;
}

.img_wrap img {
  position: absolute;
  max-width: none;
  height: auto;
  width: 100%;
  top: 50%;
  left: 50%;
  transform: translate( -50%, -50%);
}

li.horizontally-long .img_wrap img {
  height: 100%;
  width: auto;
}

.instgarmaBox {
  padding: 0;
  overflow: hidden;
}

.instgarmaBox+.linkBtn {
  margin-top: -20px;
}
@media screen and (max-width: 768px) {
  .cx_instagram_target ul { margin-right: -6px;}
  .cx_instagram_target ul li { width: 33.333%; padding-right: 6px; margin-bottom: 6px;}
}


/* ///////////////////////////////////////////////////////////////////////////////////////
 Contents
 ニュース、ストーリー、ギャラリー、キャスト＆スタッフ、インタビュー等
/////////////////////////////////////////////////////////////////////////////////////// */


/* ========================================================
  Introduction
 ======================================================== */

.introduction h3 {
  font-size: 2rem;
}
/* @media screen and (max-width: 768px) {
 .introduction h3 {
  font-size: 1.7rem;
}
} */
@media screen and (max-width: 768px) {
  .introduction h3 {
     /* -----------★変更★-----------*/
   font-size: 1.6rem;
   line-height:1.7;
 }
 }

/* ========================================================
  Cast & Staff
 ======================================================== */
.caststaff{text-align: center;}
/* .caststaff h3{
  min-width: 10em;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 120%;
  line-height: 1.2;
  padding: 0.1em 0.4em;
  margin: 0 0 1em;
  font-weight: 500;
  background-color: #ee7700;
  position: relative;
}
.caststaff h3::after{
  content: "";
  display: block;
  width: 100%;
  height: 0.1em;
  background-color: #ee7700;
  position: absolute;
  bottom: -0.2em;
  left: 0;
} */

.caststaff .content__h3wrap{
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-color: #a70240;
  padding: 0.8em 0.4em;
  position: relative;
  margin: 0 0 1em;
  box-shadow: 1px 1px 0.5em 0.1em rgba(189,163,106,0.95);
}
.caststaff .content__h3wrap::before{
  content: "";
  display: block;
  width: calc(100% - 0.4em);
  height: calc(100% - 0.4em);
  box-sizing: border-box;
  border: solid 2px rgba(255,255,255,0.55);
  position: absolute;
  top: 0.2em; left: 0.2em;
}
.caststaff h3{
  min-width: 10em;
  color: #fff;
  font-size: 120%;
  line-height: 1.2;
  padding: 0.1em 0.4em;
  margin-bottom: 0;
  font-weight: 700;
  position: relative;
}
.caststaff h3::before,
.caststaff h3::after{
  content: "";
  display: block;
  width: calc(100% - 0.4em);
  height: 0.2em;
  position: absolute;
  bottom: -0.2em;
  left: 0.2em;
  border-bottom: dotted 0.16em #f2be58;
}
.caststaff h3::before{
  top: -0.2em;
  border-bottom: none;
  border-top: dotted 0.16em #f2be58;
}

.cast-list{ margin-bottom: 2.4em;}
.cast-list dl {
  display: table;
  width: 100%;
  margin: 0px auto 15px auto;
  font-size: 2.6rem;
  font-weight: bold;
  filter: drop-shadow( 1px 1px 4px #fff) drop-shadow( -1px 1px 4px #fff) drop-shadow( 1px -1px 4px #fff) drop-shadow( -1px -1px 4px #fff);
}
.cast-list dl,
.cast-list p.main{
    font-weight: 700;
    color: #000;
    font-size: 130%;
}
.cast-list dt {
  display: table-cell;
  width: 47%;
  width: 48.5%;
  text-align: right;
}
.cast-list dd {
  display: table-cell;
  width: 52%;
  text-align: left;
}
.cast-list dd span{ font-size: 70%;}

.cast-list dd:before {
  content: '…';
  display: inline-block;
  padding: 0 10px;
}

.cast-list__disc{
  width: 4px;
  height: 4px;
  background-color: #000;
  margin: 1.0em auto 1.0em;
  border-radius: 50%;
}
.cast-list p {
  text-align: center;
  font-size: 120%;
  font-weight: 700;
  color: #000;
}

.staff-list dl{
  font-weight: 700;
  color: #000;
  margin-bottom: 1.7em;
  font-size: 110%;
}
.staff-list dl.main{ font-size: 130%;}
.staff-list dt {
  /* font-weight: bold; */
  font-size: 80%;
  line-height: 1.2;
  /* width: 100%; */
  display: inline-block;
  padding: 0 0.2em;
  margin: 0px 0 0.6em;
  background-color: #f2ee00;
}
.staff-list dd{
  line-height: 1.2;
  margin-bottom: 0.2em;
}
.staff-list dd span{
  font-size: 74%;
  font-feature-settings: "palt";
  font-weight: normal;
}

@media screen and (max-width: 768px) {
  #caststaff h3{ font-size: 90%;}
  .cast-list dl{ font-size: 110%;}
  /* .staff-list dl{ font-size: 95%;} */
  /* .cast-list p{ font-size: 100%;}
  .cast-list p.main{ font-size: 120%;} */
  .cast-list dt {
    display: table-cell;
    width: 44.4%;
    text-align: right;
  }
}


/* ///////////////////////////////////////////////////////////////////////////////////////
 Module
 写真、バックナンバー、SNSボタン、動画配信（TVer・FOD）バナー、PC/SP切替等汎用パーツ
/////////////////////////////////////////////////////////////////////////////////////// */


/* ========================================================
  Photo
 ======================================================== */

/* .photo-2 {
  margin: 0 -.5%;
}

.photo-2 img {
  float: left;
  width: 49%;
  margin: .5%;
}

.photo-3 {
  margin: 0 -.5%;
}

.photo-3 img {
  float: left;
  width: 32.3333333%;
  margin: .5%;
}
@media screen and (max-width: 768px) {
.photo-1 img, .photo-2 img, .photo-3 img {
  width: 100%;
  margin: 6px 0;
}
} */

/* ========================================================
  Backnumber
 ======================================================== */
.backnumber{
  padding: 2em 1em;
  overflow: hidden;
  clip-path: inset(0);
  position: relative;
  margin: 30px auto;
}
.backnumber::after{
  content: "";
  display: block;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-repeat: repeat;
  background-position: left top;
  background-size: 1400px 1400px;
}
.webp .backnumber::after{
  background-image: url("../img/bg_color.webp");
}
.no-webp .backnumber::after{
  background-image: url("../img/bg_color.jpg");
}

@media screen and (min-width: 1260px) {
  .backnumber > *{
      width: 1200px;
  }
}
.l-main .backnumber h5{
  text-align: center;
  position: relative;
  z-index: 555;
  line-height: 1.4;
}
.l-main .backnumber h5 span{
  position: relative;
  z-index: 555;
  background-color: #f2ee00;
  display: inline-block;
  padding: 0 1em;
}
/* .l-main .backnumber h5::before{
  content: "";
  display: block;
  position: absolute;
  width: 8em;
  height: 0.8em;
  background-color: #f0ff00;
  z-index: 333;
  bottom: -0.1em;
  left: 50%;
  margin: 0 0 0 -3em;
} */
.backnumber__list--img {
  margin: 0 -1%;
}

.backnumber__list--img a {
  text-decoration: none;
}


.backnumber__list--img li {
  width: 25%;
  padding: 0 5px;
  display: inline-block;
  box-sizing: border-box;
  vertical-align: top;
  margin-bottom: 10px;
}

.backnumber__list--img li .text {
  padding: 5px;
  text-align: center;
  color: #222;
  text-decoration: none;
  background: #f9cade;
}

.backnumber .h4_wrap::after{
  bottom: -0.0em;
  width: 100%;
}
.backnumber__list--text{
  display: flex;
  flex-wrap: wrap;
  margin: 1em auto 0;
  position: relative;
  z-index: 111;
}

.backnumber__list--text li {
  flex-shrink: 0;
  width: 24.4%;
  margin: 0 0.8% 0.8em 0;
  /* overflow: hidden; */
  background-color: rgba(255,255,255,0.3);
}
.backnumber__list--text li:nth-of-type(4n){ margin-right: 0;}
.backnumber__list--text a {
  transition: all 300ms;
  box-sizing: border-box;
  display: block;
  width: 100%;
  height: 100%;
  padding: 1em;
  text-decoration: none;
  color: #000;
  position: relative;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  box-shadow: 1px 1px 10px rgba(87,48,23,0.6);
}
.webp .backnumber__list--text a { background-image: url("../img/bg_news.webp");}
.no-webp .backnumber__list--text a { background-image: url("../img/bg_news.jpg");}

/* .backnumber__list--text a time {
  display: block;
  color: #e95894;
  font-size: 1.4rem;
}

.backnumber__list--text a:hover {
  background: #fef8fb;
  color: #e95894;
} */

.cx_displaydevice .backnumber__list--text a::after{
  background: #a70240;
  content: '';
  width: 100%;
  height: 0.3em;
  position: absolute;
  left: 0;
  bottom: 0;
  margin: auto;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform 300ms;
}
.cx_displaydevice .backnumber__list--text a:hover::after {
transform-origin: left top;
transform: scale(1, 1);
}
.cx_displaydevice .backnumber__list--text a.no-link:hover::after {
transform-origin: left top;
transform: scale(0, 1);
}

.backnumber__list--text a > div > *{ flex-shrink: 0;}

.backnumber__list__info{
  padding: 0.8em 1em 1em;
  box-sizing: border-box;
}
.backnumber__list__info__update{
  font-size: 84%;
  line-height: 1.2;
  color: #a70240;
  padding-bottom: 0.3em;
}
.backnumber__list__info__detail{
  font-size: 94%;
  color: #000;
}

.backnumber h5::before{
  display: none;
}


@media screen and (max-width: 768px) {
  .backnumber__list__info{
    padding: 0.6em 0.6em 0.8em;
  }
  .backnumber__list--text{ justify-content: space-between;}
  .backnumber__list--text li{
      width: 49.0%;
      margin-right: 0;
  }
  .backnumber__list__info__detail{ font-size: 88%;}
}




/* ========================================================
  動画配信（TVer・FOD）バナー
 ======================================================== */
.stream-bnr{
  padding: 1.5em 2em 1em;
  position: relative;
  z-index: 8888;
  overflow: hidden;
  clip-path: inset(0);
}
.stream-bnr::before{
  content: "";
  display: block;
  width: 100%;
  height: 0.5em;
  background: url("../img/bg_nav.webp");
  position: absolute;
  top: 0; left: 0;
  z-index: 8889;
}
.stream-bnr::after{
  content: "";
  display: block;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-repeat: repeat;
  background-position: left top;
  background-size: 1400px 1400px;
  opacity: 0.53;
}
.webp .stream-bnr::after{
  background-image: url("../img/bg_color.webp");
}
.no-webp .stream-bnr::after{
  background-image: url("../img/bg_color.jpg");
}


.stream-bnr > ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: auto;
  position: relative;
  z-index: 8889;
}
@media screen and (min-width: 1300px) {
  .stream-bnr > ul{
    width: 1200px;
  }
  .w800 .stream-bnr > ul{
    width: auto;
  }
}
.stream-bnr > ul > li{
  flex-shrink: 0;
  width: 49%;
  position: relative;
}
.stream-bnr > ul > li:nth-of-type(1){ margin-right: 2%; margin-bottom: 0.6em;}
.stream-bnr > ul > li.mezamashi{ margin-right: 0;}
@media screen and (max-width: 1000px) {
  .stream-bnr > ul > li:nth-of-type(3),
  .stream-bnr > ul > li.mezamashi{ width: 100%;}
}
.stream-bnr__link{
  /* display: flex; */
  display: block;
  /* border: solid 0.2em #109dd4; */
  color: #18ade8;
  padding: 0.2em 0.1em 0.5em;
  font-size: 130%;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.05em;
  position: relative;
  transition : .2s;
  text-align: center;
  font-feature-settings: "palt";
  border-radius: 10em;
  background-color: rgba(255,255,255,0.9);
  box-shadow: 1px 1px 1.4em rgba(189,163,106,0.37);
  border: solid 0.2em #642626;
  box-sizing: border-box;
}
.stream-bnr__link::before{
  content: "";
  display: block;
  position: absolute;
  top: 0.2em;
  left: 0.2em;
  width: calc(100% - 0.4em);
  height: calc(100% - 0.4em);
  border: solid 0.1em #642626;
  border-radius: 4em;
  box-sizing: border-box;
}

.stream-bnr__link.fod{
  /* border: solid 0.2em #000; */
  color: #000;
}
.stream-bnr__link.mezamashiM{
  /* border: solid 0.2em #000; */
  color: #E5004F;
}
.cx_displaydevice .stream-bnr__link:hover,
.cx_displaydevice .stream-bnr__link-img:hover{
  background-color: #fff;
  color: #18ade8;
  /* border: solid 0.2em #2db9f1; */
  box-shadow: 1px 1px 2em rgba(189,163,106,0.75);
}
.cx_displaydevice .comingsoon .stream-bnr__link:hover{ box-shadow: 1px 1px 1.4em rgba(97,171,177,0.27);}
.cx_displaydevice .stream-bnr__link.fod:hover,
.cx_displaydevice .stream-bnr__link-img.fod:hover{
  background-color: #fff;
  color: #000;
  /* border: solid 0.2em #555; */
}
.cx_displaydevice .stream-bnr__link.mezamashiM:hover{
  background-color: #fff;
  color: #E5004F;
}
.logo-tver,
.logo-fod,
.logo-mezamashiM{
  background: url("../img/tver_logo.svg") no-repeat center center;
  width: 6.4em;
  height: 2.2em;
  background-size: contain;
  text-indent: -300%;
  overflow: hidden;
  white-space: nowrap;
  margin-right: 0.3em;
  display: block;
  margin: -0.3em auto 0.2em;
}
.logo-fod{
  background: url("../img/fod_logo.svg") no-repeat center bottom;
  width: 4.4em;
  height: 2.2em;
}
.logo-mezamashiM{
  background: url("../img/mezamashiM_logo.svg") no-repeat center bottom;
  background-size: contain;
  width: 9.4em;
  height: 2.2em;
}
.stream-bnr__link::after{
  content: "";
  display: block;
  background: url("../img/arrow_bl.svg") no-repeat center center;
  width: 30px;
  height: 20px;
  position: absolute;
  top: 50%;
  right: 14px;
  margin-top: -10px;
  transition : .2s;
}
.stream-bnr__link.fod::after{
  background: url("../img/arrow_bk.svg") no-repeat center center;
}
.stream-bnr__link.mezamashiM::after{
  background: url("../img/arrow_rd.svg") no-repeat center center;
}
.cx_displaydevice .stream-bnr__link:hover::after{ right: 11px;}
.cx_displaydevice .comingsoon .stream-bnr__link:hover::after{ right: 14px;}
.stream-bnr__link .attention{ font-size: 76%;}
.stream-bnr .comingsoon .stream-bnr__link{
  opacity: 0.5;
}
.stream-bnr .comingsoon::after{
  content: "COMING SOON";
  display: flex;
  position: absolute;
  top: 50%;
  left: 0; right: 0;
  margin: -0.5em auto 0;
  text-align: center;
  justify-content: center;
  font-size: 110%;
  line-height: 1;
  font-weight: 500;
  color: #444;
  /* transform: rotate(-8deg); */
  filter: drop-shadow(0px 0px 0.3em rgba(255,255,255,0.7)) drop-shadow(0px 0px 0.2em rgba(255,255,255,0.7)) drop-shadow(0px 0px 0.1em #fff) drop-shadow(0px 0px 0.1em #fff);
}

@media screen and (max-width: 768px) {
  .stream-bnr{ padding: 1.5em 0 0.6em;}
  .stream-bnr > ul{ padding-left: 1em; padding-right: 1em;}
  .stream-bnr__link{ font-size: 2.6vw;}
  .stream-bnr__link::after{
    width: 0.8em; height: 0.8em;
    background-size: contain;
    margin-top: -0.4em;
    right: 0.5em;
  }
  .cx_displaydevice .stream-bnr__link:hover::after{ right: 0.4em;}
  .cx_displaydevice .comingsoon .stream-bnr__link:hover::after{ right: 0.5em;}
  .stream-bnr .comingsoon::after{ font-size: 94%;}
}
@media screen and (max-width: 550px) {
  .stream-bnr__link{ font-size: 3.4vw;}
}

/* ------ 画像入り ------ */
.stream-bnr__link-img{
  /* display: flex; */
  display: block;
  height: 100%;
  /* border: solid 0.2em #109dd4; */
  color: #18ade8;
  padding: 0.5em 0 0.5em 0.5em;
  letter-spacing: 0.05em;
  position: relative;
  transition : .2s;
  text-align: center;
  font-feature-settings: "palt";
  background-color: rgba(255,255,255,0.9);
  /* background-color: #18ade8; */
  box-shadow: 1px 1px 1.4em rgba(189,163,106,0.45);
  box-sizing: border-box;
}
.stream-bnr__link-img.fod{ color: #000;}
.stream-bnr__link-img > div{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.stream-bnr__link-img__thum{
  width: 50%;
  flex-shrink: 0;
  position: relative;
}
.stream-bnr__link-img__txt{
  width: 50%;
  flex-shrink: 0;
  font-size: 120%;
}
.stream-bnr__link-img__txt p{
  font-size: 110%;
  font-weight: 500;
  line-height: 1.2;
  padding-top: 0.2em;
}
.stream-bnr__link-img__txt p span{ font-size: 80%;}
.stream-bnr__link-img__thum::before{
  content: "";
  display: block;
  position: absolute;
  width: 2.6em;
  height: 2.6em;
  background-color: rgba(24,173,232,0.8);
  border-radius: 50%;
  top: 50%;
  left: 0; right: 0;
  margin: -1.3em auto 0;
  transition: .2s;
}
.fod .stream-bnr__link-img__thum::before{ background-color: rgba(180,0,0,0.8);}
.stream-bnr__link-img__thum::after{
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: calc(50% - 0.4em);
  margin-top: -0.6em;
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 0.6em 0 0.6em 1.0em;
  border-color: transparent transparent transparent #ffe8e3;
}
.cx_displaydevice .stream-bnr__link-img:hover .stream-bnr__link-img__thum::before{ background-color: rgba(24,173,232,1);}
.cx_displaydevice .stream-bnr__link-img.fod:hover .stream-bnr__link-img__thum::before{ background-color: rgba(180,0,0,1);}

@media screen and (max-width: 768px) {
  .stream-bnr__link-img{ padding-right: 0.5em;}
  .stream-bnr__link-img__thum{ width: 100%; margin-bottom: 0.4em;}
  .stream-bnr__link-img__txt{
    width: 100%;
    font-size: 100%;
  }
  .stream-bnr__link-img .logo-tver, .stream-bnr__link-img .logo-fod{ margin-bottom: 0;}
}

/* ========================================================
  過去作品
======================================================== */
.content#archive{ margin-top: 50px;}
@media screen and (max-width: 768px) {
  .content#archive{ margin-top: 20px;}
}
.l-main h5.archive__title,
.archive-bnr__ttl{
  text-align: center;
}
.l-main h5.archive__title span{
  font-size: 120%;
  position: relative;
  z-index: 555;
  filter: drop-shadow( 1px 1px 2px #fff);
}
.l-main h5.archive__title::before{ display: none;}
.archive-bnr__ttl{
  font-weight: bold;
  font-size: 130%;
  line-height: 1.2;
  margin-bottom: 0.6em;
  position: relative;
  z-index: 8889;
}
.archive-bnr{
  position: relative;
  z-index: 8888;
  padding-bottom: 0.6em;
  margin-bottom: 1.8em;
}
.archive-bnr + ul::before{
  content: "";
  display: block;
  width: 100%;
  height: 0.6em;
  background: url("../img/ttl_asset.svg") repeat-x center center;
  background-size: contain;
  margin-top: 1em;
  position: absolute;
  top: -2.5em;
  left: 0; right: 0;
}
.archive-bnr > ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: auto;
  max-width: 1000px;
}
@media screen and (max-width: 768px) {
  .archive-bnr{
    overflow-x: scroll;
    overflow-y: hidden;
    padding-left: 1em; padding-right: 1em;
  }
  .archive-bnr > ul{ width: 160%;}
}
@media screen and (max-width: 550px) { .archive-bnr > ul{ width: 182%;}}
/* @media screen and (min-width: 1300px) {
  .archive-bnr > ul{
    width: 1200px;
  }
  .w800 .archive-bnr > ul{
    width: auto;
  }
} */
.archive-bnr > ul > li{
  flex-shrink: 0;
  width: 49%;
  position: relative;
}
.archive-bnr > ul > li:nth-of-type(1){ margin-right: 2%; margin-bottom: 0.6em;}
.archive-bnr.len4 > ul{ justify-content: space-between;}
.archive-bnr.len4 > ul > li:nth-of-type(1){ margin-right: 0; margin-bottom: 0;}
.archive-bnr.len4 > ul > li{ width: 24%;}
.color .stream-bnr__link-img{
  box-shadow: 1px 1px 1.4em rgba(228,150,101,0.6);
}
.cx_displaydevice .color .stream-bnr__link-img:hover{
  box-shadow: 1px 1px 2em rgba(228,150,101,0.8);
}

.archive-bnr.len4 .stream-bnr__link-img{ padding-right: 0.5em;}
.archive-bnr.len4 .stream-bnr__link-img__thum{ width: 100%; margin-bottom: 0.4em;}
.archive-bnr.len4 .stream-bnr__link-img__txt{
  width: 100%;
  font-size: 100%;
}
.archive-bnr.len4 .stream-bnr__link-img .logo-tver, .stream-bnr__link-img .logo-fod{ margin-bottom: 0;}

.archive-bnr .stream-bnr__link-img__txt{ font-size: 96%;}
.stream-bnr__link-img__txt .oadate{
  font-size: 80%;
  font-weight: normal;
  line-height: 1.4;
  padding-top: 0.2em;
}
@media screen and (max-width: 550px) {
  .stream-bnr__link-img__txt p{ font-size: 3.4vw; padding-top: 0.3em;}
}

/* ========================================================
  PC/SP 切替表示
 ======================================================== */


/* PCのみ適用 */

.pc-only {
  display: block !important;
}

.sp-only {
  display: none !important;
}


/* SPのみ適用 */

@media screen and (max-width: 768px) {
.pc-only {
  display: none !important;
}

.sp-only {
  display: block !important;
}
}


.cx_smartphoneview #cx_commonPageTopBtn{
  width: 52px;
  height: 52px;
  bottom: 15px;
}
.cx_smartphoneview #cx_commonPageTopBtn a{
  width: 52px;
  height: 52px;
  line-height: 52px;
  font-size: 22px;
}
@media screen and (orientation: portrait) and (max-width: 750px), (orientation: landscape) and (max-width: 1013px){
  .sp_display #gbfooter p{
    font-size: 3.0vw;
    line-height: 6vw;
  }
}

#cx-ad-pc-top,
#cx-ad-sp-top{position: relative; z-index: 888;}
#cx_commonOverlayWrap #cx_commonOverlayClose.spBtn{
  width: 32px !important; height: 32px !important;
  border-width: 2px !important;
  top: -30px !important;
  left: auto !important; right: 0 !important;
  margin: 0 !important;
}
#cx_commonOverlayWrap #cx_commonOverlayClose.spBtn span{
  width: 24px !important; height: 24px !important;
  font-size: 16px !important;
  line-height: 22px !important;
}
header#cx_ui_header, footer#cx_ui_footer,
#cx_gbfooter{
  position: relative;
  z-index: 8888 !important;
}
footer#cx_ui_footer{ z-index: 7777 !important;}
#contents-aside,
#fp-aside{
  position: relative;
  z-index: 6666;
}
@media screen and (max-width: 768px) {
  #contents-aside .d-aside__content{
    padding-bottom: 10.42vw;
    margin-bottom: 0;
  }
}