@charset "utf-8";

/* ==========================================================
 背景色変更
========================================================== */
img {
  height: auto;
  vertical-align: top;
  width: 100%;
}

.hero-program-01 {
  background-color: #fff;
}

/* 背景色を指定 */

.contents {
  background: #fff;
}

/* 背景黒の時は要素間の罫線消した方が良いかも */
/*
		.sec-cmn-01 + .sec-cmn-01 {
			border-top: none;
		}

		.area-brd {
			border-top: none;
			border-bottom: none;
		}
		*/

/* コンテンツ背景色変更（コンテンツ全面の場合）
------------------------------------------------ */

.contents-main .container {
  background: #ece6e6;
}

/*
.s-bg-gray .container {
  background-color: #ededed;
}

.container.bnr-footer-wrap,
.container.sec-related-programs,
.container.related-info-wrap {
  background-color: #F8E7EF;
}

.container.bnr-footer-wrap .ttl-cmn-01,
.container.sec-related-programs .ttl-cmn-01,
.container.related-info-wrap .ttl-cmn-01 {
	color: #000;
}

.list-cmn-btn-01 {
	max-width: 1024px;
	margin-right: auto;
	margin-left: auto;
}

@media screen and (max-width: 767px) {

}
*/

/* コンテンツ背景色変更（コンテンツ白・縁カラーの場合）
------------------------------------------------ */

.contents-main .container {
  padding-right: 30px;
  padding-left: 30px;
  background: #fff;
}

/*
.s-bg-gray .container {
  background-color: #ededed;
}

.container.bnr-footer-wrap,
.container.sec-related-programs,
.container.related-info-wrap {
  background-color: #F8E7EF;
}

.container.bnr-footer-wrap .ttl-cmn-01,
.container.sec-related-programs .ttl-cmn-01,
.container.related-info-wrap .ttl-cmn-01 {
	color: #000;
}

.s-bg-gray {
	max-width: 1024px;
	margin: 0 auto;
}

.list-cmn-btn-01 {
	max-width: 1024px;
	margin: 0 auto;
}

@media screen and (max-width: 767px) {
	.container.are-sns-share-wrap {
		width: 95%;
		margin: 0 auto;
	}
	.contents-main .container {
		width: 95%;
		padding-right: 15px;
		padding-left: 15px;
		background: #fff;
	}
	.s-bg-gray .container {
		background-color: #ededed;
	}
	.s-bg-gray + .container {
		width: 95%;
		margin: 0 auto;
	}
	.contents-main .container-sp-no {
		padding-right: 0;
		padding-left: 0;
  }
	.s-bg-gray {
		width: 95%;
		margin: 0 auto;
	}
	.list-cmn-btn-01 {
		width: 95%;
		margin: 0 auto;
	}
}
*/

/* news.htmlインクルード部分（背景色変える場合）
----------------------------------------------- */
/*
.sec-cmn-news-01 .container {
  background-color: #333;
}

.sec-cmn-01 {
	margin-left: auto;
	margin-right: auto;
}

@media screen and (max-width: 767px) {
	.sec-cmn-news-01 .container {
		background-color: #333;
	}

	.sec-cmn-01 {
		margin-left: auto;
		margin-right: auto;
	}
}
*/

/* ==========================================================
 hero-cmn
========================================================== */
.hero-cmn-subpage {
  background: #000;
}

@media screen and (max-width: 767px) {
  .hero-cmn-subpage {
    background: #000;
  }
}

@media screen and (max-width: 768px) {
  .inner figure img {
    width: 100%;
  }
 
}

/* ==========================================================
 contents
========================================================== */
.ttl-cmn-01 {
  padding-left: 15px;
  font-size: 1.6rem
}
.ttl-cmn-01:before {
  top: 5px;
  width: 5px;
  height: 30px;
}

.catch{
  text-align: center;
  padding: 0.5em 10px;
  color: #eb600d;
  font-size: 2rem;
  font-weight: 900;
}

h3{
  text-align: center;
  padding: 0.5em;
  background-color: #eb600d;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
}

figcaption {
  font-size: 1.6rem;
  font-weight: 900;
  text-align: center;
}
.ttl-cmn-section {
  margin-bottom: 5px;
}

.box-staff-01 {
  /*display: inline-flex;*/
  flex-direction: row;
  flex-wrap: wrap;
  font-size: 1.1rem;
  text-align: left;
}

.castName li {
  font-weight: bold;
  padding: 0 1rem;
}

.txt-areafull {
  width: 100%;
  padding: 1rem;
}

.txt-para-01 span {
  text-indent: -1em;
  display: inline-block;
}

.photoArea2col {
  width: 100%;
  display: inline-flex;
  flex-direction: row;
  text-align: center;
}

.photoSize {
  width: 500px;
  padding: 5px;
}

.picto {
  text-align: center;
  margin: 1em auto 0;
}

.picto img {
  width: 60%;
}

.photoArea1col {
  display: block;
  text-align: center;
}

.photoArea1col img {
  width: 650px;
  margin: 0 auto;
}

.movieArea {
  width: 640px;
  margin: 0 auto;
}

.movieArea iframe {
  width: 640px;
  height: 360px;
}

.spOnly {
  display: none;
}

.mcList {
  display: flex;
  flex-direction: row;
  width: 100%;
  margin: 0 auto;
}

.mc {
  width: 100%;
  margin-bottom: 3rem;
}

.cast {
  width:65%;
}

.cast img {
  width: 100%;
}

.castInfo {
  font-size: 1.1rem;
  text-align: left;
  font-weight: 700;
  margin-bottom: 1.5rem;
}
.castInfo span {
  padding: 0.2rem 0.2rem 0.2rem 0.2rem;
  color: #ffef01;
  background-color: #000000;
}
span.time{
  color: #fff; 
  background-color: #f8bc2c; 
  padding: 0.3rem; 
  vertical-align: text-bottom;
}
span.time_detail{
  color: #000000; 
  font-size: 150%;
  background-color: #ffffff; 
  padding: 0; 
}
.cast2 {
  margin-top: 0px;
  text-align: center;
}

.cast2 img {
  width:100%;
}
figcaption {
  text-align: left;
}

.enqTxt h5 {
  font-weight: 900;
  font-size: 1.1rem;
}

.enqTxt p {
  font-size: 1rem;
}

.bnrBox {
  width: 416px;
  margin: 20px auto;
}

.bnrBox img {
  width: 100%;
}
.guestBox {
  display: flex;
  flex-direction: row;
  width: 80%;
  margin: 0 auto;
  gap: 3rem;
}
.guest {
  width: 400px;
}


.runner_content{
  display: flex;
  flex-direction: row;
  width: 100%;
  margin: 0 auto 3rem;
  gap: 3rem;
}
.runner_l{
  width: 50%;
}
.runner_r{
  width: 50%;
}
.name{
  text-align: left;
    font-size: 1.6rem;
    font-weight: 900;
}
h5{
  font-weight: 900;
  font-size: 1.1rem;
}
@media screen and (max-width: 767px) {
  .catch{
    font-size: 1.2rem;
  }

  h3 {
    font-size: 1rem;
  }
  .runner_content{
    display: block;
    flex-direction: row;
    width: 100%;
    margin: 0 auto 3rem;
  }
  .runner_l{
    width: 100%;
  }
  .runner_r{
    width: 100%;
  }
  .name{
    font-size: 1.2rem;
}
}

@media screen and (max-width: 767px) {
  figcaption {
    font-size: 1.2rem;
  }
  
  .photoArea2col {
    display: block;
  }

  .photoSize {
    width: 100%;
  }

  .picto img {
    width: 90%;
  }

  .photoArea1col {
    display: block;
    text-align: center;
  }

  .photoArea1col img {
    width: 100%;
    margin: 0 auto;
  }

  .movieArea {
    width: 100%;
    margin: 0 auto;
  }

  .movieArea iframe {
    width: 320px;
    height: 180px;
  }

  .spOnly {
    display: block;
  }

  .mcList {
    display: flex;
    flex-direction: column;
  }

  .cast {
    width: 100%;
  }
  .cast2 {
    margin-top: 20px;
    width: 100%;
    text-align: left;
  }

  .cast2 img {
    width: 120px;
  }
  .guestBox {
    width: 96%;
    flex-direction: column;
    justify-content: space-around;
  }
  .guest {
    width: 100%;
  }

  .bnrBox {
    width: 90%;
  }


}

/* 動画
********************************* */

.movie {
  margin: 0 auto;
}

.movie:not(:last-child) {
  margin-bottom: 2em;
}

.movie_box {
  width: 100%;
  padding-top: 56.25%;
  position: relative;
}

.movie_box+p {
  margin-top: 0.5rem
}

.movie_frame {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.movie_content p{
  font-size: 1.1rem;
  text-align: center;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .movie {
      width: calc(720 / 964 * 100%);
  }

  .movie_content{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 3rem;
  }
  .movie_pa{
    padding: 0 7rem 0 0;
  }
  .movie_content p{
    text-align: center;
    font-weight: bold;
  }
  .sp{
    display: none !important;
  }
}

/* 画像ガード */
.s-cmn-protect {
  position: relative;
  display: inline-block;
  pointer-events: auto;
}

.s-cmn-protect::after {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  background-color: transparent;
  position: absolute;

  top: 0;
  left: 0;
}

@media print {
  .s-cmn-protect {
    display: none;
  }
}

/* ポップアップ
********************************* */

.popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 100;
  display: none;
  font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, "Helvetica Neue", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, Arial, "メイリオ", Meiryo, sans-serif;
}

.popup * {
  position: relative;
}

.popup_bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.6);
}

.popup_area {
  width: 100%;
  height: 100%;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}

.popup_inner {
  width: calc(650 / 750 * 100%);
  margin: calc(150 / 750 * 100%) auto;
  padding: 0;
}

.popup_close {
  position: absolute;
  top: 0;
  right: 0;
  width: calc(90 / 650 * 100%);
  margin: calc(-30 / 650 * 100%) calc(-30 / 650 * 100%) 0 0;
  z-index: 110;
  border-radius: 50%;
  border: .8em solid;
}

.popup_close::before,
.popup_close::after {
  content: "";
  display: block;
  width: 1px;
  padding-top: 100%;
  background-color: #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  margin: 0 auto;
}

.popup_close::after {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.popup_list {
  width: 100%;
  height: 100%;
}

.popup_details {
  display: none;
  overflow: hidden;
  background-color: #fff;
  border-radius: 0em;
  padding: calc(50 / 650 * 100%);
}

.cast_photo {
  width: calc(350 / 550 * 100%);
  margin: 0 auto calc(30 / 550 * 100%);
}

.popup img {
  width: 100%;
  height: auto;
  display: block;
}

.cast_name {
  text-align: center;
  margin: 0 auto calc(30 / 550 * 100%);
  padding: 1em 0;
  border-bottom: 1px solid #d4d4d4;
}

.cast_name1 {
  display: block;
  font-size: 2.6rem;
  font-weight: 700;
  margin-bottom: .5em;
}

.cast_name1 rt {
  text-align: center;
}

.popup_close {
  background-color: #333;
}

/*FireFox対策*/

@-moz-document url-prefix() {
  .cast_name1 rt {
      margin-bottom: -.5rem;
  }
}

.cast_name2 {
  font-size: 2.8rem;
  padding-bottom: .5em;
}

.cast_txt {
  font-size: 1rem;
  line-height: 1.7;
}

@media screen and (min-width: 768px) {
  .popup_bg {
      cursor: pointer;
  }

  .popup_area {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
  }

  .popup_inner {
      width: calc(1000 / 1200 * 100%);
      max-width: 1000px;
      margin: auto;
      padding: calc(60 / 1200 * 100%) 0 0;
      -ms-flex-item-align: start;
      align-self: flex-start;
  }

  .popup_close {
      cursor: pointer;
      width: calc(64 / 1000 * 100%);
      margin: calc(30 / 1000 * 100%) calc(-30 / 1000 * 100%) 0 0;
      -webkit-transition: 0.2s ease;
      transition: 0.2s ease;
  }

  .popup_close::before,
  .popup_close::after {
      -webkit-transition: 0.2s ease;
      transition: 0.2s ease;
  }

  .popup_details {
      padding: calc(50 / 1000 * 100%);
  }

  .cast_photo {
      width: calc(300 / 900 * 100%);
      margin: 0 auto calc(30 / 900 * 100%);
  }

  .cast_name {
      margin: 0 0 calc(30 / 900 * 100%);
  }

  .cast_name1 {
      font-size: 2.6rem;
  }

  .cast_name2 {
      font-size: 1.8rem;
  }

  .cast_txt {
      font-size: 1rem;
  }
}

@media screen and (min-width: 1200px) {
  .popup_inner {
      padding: 60px 0 0;
  }
}

.cast_id_01{
margin-top: 8px !important;
}
.cast_id_01 li {
width: calc(500 / 500* 100%);
}

@media screen and (min-width: 768px) {
.cast_id_01{
  margin-top: -4px !important;
}
}
@media screen and (min-width: 1200px) {
.cast_id_01{
  margin-top: -8px !important;
}
}

/*ポップアップのクローズボタン：ホバー*/
.slick-arrow:hover,
.popup_close:hover {
	background-color: #000;
}

/*ポップアップのクローズボタン：ホバー*/
.popup_close:hover {
	border-color: #000;
}

.popup_details {
	background-image: url(../images/popbg.jpg);
	background-size: cover;
	background-repeat:no-repeat;
	background-position: center;

}
html{
  font-size: 100%;
}

.popup_text{
  text-align: center;
  padding: 0.5em;
  background-color: #f8bc2c;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
}

.catch_popup{
  color: #eb600d;
  /*border-bottom: 2px solid #f8bc2c;
  display: inline-block;*/
}