@charset "utf-8";

/* CSS INFORMATION -====================================================
File name : layout.css
Description : レイアウト用CSS
===================================================================== */


/* ==========================================================
	共通
========================================================== */

main {
	background: #000000!important;
	color: #ffffff!important;
}

/*メインビジュアル背景*/
.mv {
	background-color: #000000;
	/*	画像はこちら↓ */
	background: url(../images/bg.jpg) repeat-x center;
	background-size: contain;
}

@media screen and (min-width: 768px) {
	.mv img {
		width: auto;
		margin: 0 auto;
 }
}

/*アクセントカラー（背景色）*/
.nav,
.ttl_h2:before,
.slick-arrow,
.slick-active button::before,
.popup_close {
	background-color: #0084ff;
}

/*アクセントカラー（文字色）*/
.ttl_h3,
.wrapper .txt_link,
.wrapper b.highlight,
.cast_name1 {
	color: #000;
}

.popup_close {
	border-color: #1d2c71;
}
h3{
    font-size: 1.4em;
    font-weight: bold;
    margin-bottom: 1rem;
}
.red{
	color: #1d2c71;
}
.em{
	font-weight: bold;
    font-style: normal;
}
.center{
	text-align: center;
}

.ttl_h3 span {
	color: #ffffff;
}

/* 追記 */

h3 span,p span {
	color: #ffffff;
	text-shadow: 2px 2px 10px #da3b7d ,
							-2px 2px 10px #da3b7d ,
							 2px -2px 10px #da3b7d ,
							-2px -2px 10px #da3b7d;
}

.childplay_playlist {
	display: flex;
	flex-wrap : wrap;
}

.childplay_playlist li {
	width: calc((100% - 4% * 1) / 2) ;
	margin-right: 2%;
	margin-bottom: 2%;
	background: #fff;
	color: #000;
	border-radius: 8px;
	padding: 1em;
	box-shadow: 2px 2px 10px #0084ff ,
							-2px -2px 10px #0084ff;
}

.childplay_playlist strong {
	color: #0084ff;
	display: block;
	text-align: center;
	font-weight: bold;
	padding-bottom: 0.5em;
	margin-bottom: 0.5em;
	border-bottom: 1px solid #0084ff;
}

.childplay_playlist li:nth-of-type(2n){
    margin-right: 0;
}

.childplay h4 {
	padding: 0 0 1em;
	text-align: center;
	font-weight: bold;
	font-size: 1.6em;
	text-shadow: 2px 2px 10px #0084ff ,
							-2px 2px 10px #0084ff ,
							 2px -2px 10px #0084ff ,
							-2px -2px 10px #0084ff;
}

.img {
	text-align: center;
	border-radius: 20px;
	overflow: hidden;
	display: flex;
	margin: 1em 0;
}

.img:last-child {
	margin-bottom: 0;
}

.img li {
	width: 100%;
	display: inline-block;
}

.img li img {
	width: 100%;
}

.bana {
	margin: 0 auto;
	text-align: center;
}

.bana li {
	display: inline-block;
	width: 49%;
}

	.bana2 {
		margin: 0 auto;
		text-align: center;
	}

	.bana2 li {
		display: inline-block;
		width: 100%;
	}

	.bana2 img {
		width: 100%;
	}


  .logo_box img{
    width: 61.1rem;
    margin: 0 auto;
  }
@media screen and (min-width: 768px) {
	.img li {
		width: 49% ;
	}
	.bana img {
		width: 80%;
		margin: 0 auto;
	}
	.bana2 {
		margin: 0 auto;
		text-align: center;
	}

	.bana2 li {
		display: inline-block;
		width: 50%;
	}

	.bana2 img {
		width: 100%;
	}
}

/* ==========================================================
	header
========================================================== */

/*メニューの幅(SP)
　※calc(### / 750 * 100%)の###部分を変更してください*/
.nav ul {
	width: calc(1200 / 750 * 100%);
}

/*メニューの文字色*/
.nav a {
	color: #fff;
}

/*メニューの文字色：ホバー*/
/*テキストリンクの文字色：ホバー*/
.nav a:hover,
.txt_link:hover {
	color: #000;
}

/*メニューの下線：ホバー*/
.nav a:hover:after {
	background-color: #000;
}


/* ==========================================================
	コンテンツ
========================================================== */

/*コンテンツ外側の背景*/
#main {
	background: #000000!important;
	color: #ffffff!important;
    /*	画像はこちら↓ */
    /*	background: url(../images/bg.png) repeat center;*/
}

/*コンテンツ背景*/
.contents {
	background-color: #000000;
	color: #ffffff;
}

/*スライダーの矢印ボタン：ホバー*/
/*ポップアップのクローズボタン：ホバー*/
.slick-arrow:hover,
.popup_close:hover {
	background-color: #000;
}

/*ポップアップのクローズボタン：ホバー*/
.popup_close:hover {
	border-color: #000;
}

.banner_list{
	margin-top: 2em;
}

.comingsoon {
	font-size: 3em;
	font-weight: bold;
	text-align: center;
	padding: 5em 0;
}

@media screen and (min-width: 768px) {
	.comingsoon {
		font-size: 2em;
	}
}

/* 画像リスト
********************************* */

.images_list li:not(:last-child) {
    margin-bottom: 1em;
}

@media screen and (min-width: 768px) {
    .images_list {
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
		flex-wrap: wrap;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        width: 100%;
        margin: 0 auto;
    }
    .images_list li {
        margin-top: calc(30 / 750 * 100%);
        margin-left: calc(5 / 750 * 100%);
        margin-right: calc(5 / 750 * 100%);
        margin-bottom: calc(7 / 750 * 100%) !important;
        min-width: calc(110 / 750 * 100%);
        width: 80%;
    }
}

/* 画像ガード */

.photo_protect {
    position: relative;
    display: inline-block;
    pointer-events: auto;
}

.photo_protect::after {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background-color: transparent;
    position: absolute;
    top: 0;
    left: 0;
}

@media print {
    .photo_protect {
        display: none;
    }
}

/* ==========================================================
	動画
========================================================== */
.movie_list{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 6rem;
}
.movie_list li{
	width: calc(750 /750 * 100%);
	margin: 0 auto;
}

/* .modaal-video .modaal-inner-wrapper{
	padding:0;
} */

/*モーダルのボタンの色を変更したい場合*/
.modaal-close:after,
.modaal-close:before{
	background:#fff;
}

.modaal-close:focus:after,
.modaal-close:focus:before,
.modaal-close:hover:after,
.modaal-close:hover:before{
	background:#fd4c9b;
}
@media screen and (min-width: 768px) {
.movie_list{
    display: flex;
    justify-content: center;
}
.movie_list li{
	width: calc(600 /1024 * 100%);
}
.movie_list p{
font-weight: bold;
font-size: 1rem;
}
}
.movie_list p{
    font-weight: bold;
    font-size: 1.2rem;
}


/* =====================================================================
*    popup
* =================================================================== */
.popup {
  position: fixed;
  display: none;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  height: 100svh;
  z-index: 99999;
}

.popup_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.popup_bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: rgba(22, 23, 31, 0.94);
}

.popup_inner {
  position: relative;
  margin: auto;
  -ms-flex-item-align: start;
  align-self: flex-start;
  padding: 5.5em 0;
  width: calc(710 / 750 * 100%);
}

@media screen and (max-width: 767px) {
  .popup_movie .popup_inner {
    width: 100%;
  }
}
.popup_close {
  position: absolute;
  top: 2em;
  right: 0;
  width: 3em;
  z-index: 3;
}

.popup_list {
  position: relative;
  width: 100%;
  height: 100%;
  background: #f8f8f8;
  overflow: hidden;
}
.popup_list > li {
  position: relative;
  display: none;
  margin: 0 auto;
  padding: 50px 0;
  width: calc(590 / 710 * 100%);
  z-index: 2;
}
.popup_list > li p {
  margin-bottom: 8rem;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.692;
}
.popup_list > li p:last-child {
  margin-bottom: 0;
}

.popup_movie_embed {
  position: relative;
  padding-top: 56.25%;
}
.popup_movie_embed iframe,
.popup_movie_embed video {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

.popup_close2 {
  margin: 15px auto 0;
  padding: 0.5em;
  width: 300px;
  font-size: 16px;
  text-align: center;
  background: #3e4052;
  color: #fff;
  border: 1px solid #fff;
}

@media screen and (min-width: 768px) {
  .popup_bg {
    cursor: pointer;
  }
  .popup_inner {
    width: calc(1500 / 1600 * 100%);
    max-width: 1500px;
  }
  .popup_movie .popup_inner {
    max-width: 120vh;
  }
  .popup_list > li {
    padding: 10rem 0;
    width: 90%;
    max-width: 1000px;
  }
  .popup_close {
    cursor: pointer;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
  }
  .popup_close:hover {
    opacity: 0.8;
  }
  .popup_close2 {
    cursor: pointer;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
  }
  .popup_close2:hover {
    background-color: #202162;
  }
}

/* =====================================================================
*    movie_popup
* =================================================================== */

.popup_wrapper {
    width: 100%;
    height: 100%;
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    background-color: rgba(17, 26, 51, 0.9);
    z-index: 100000;
    display: none;
    cursor: pointer;
}

.popup_wrapper .return_box {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}

.popup_wrapper .popup_movie_wrap {
    width: 100%;
    height: auto;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    margin: auto;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    text-align: center;
}

.popup_wrapper .popup_movie_wrap .bc_movie_ttl {
    color: #fff;
    font-size: 2.4rem;
    font-weight: 700;
    text-align: left;
    width: 90%;
    margin: 0 auto;
    padding: 0 0 calc(20/750 *100%) 2em;
}

.popup_wrapper .popup_movie_wrap .bc_movie_ttl::before {
    font-family: "Font Awesome 5 Free";
    content: "";
    display: inline-block;
    font-size: 2.4rem;
    padding: 0;
    margin-right: 0.5em;
    margin-left: -1.5em;
}

.popup_wrapper .popup_movie_wrap .bc_movie_txt {
    color: #fff;
    font-size: 2.4rem;
    text-align: left;
    width: 90%;
    margin: 0 auto;
    padding: calc(20/750 *100%) 0 0;
}

.popup_wrapper .popup_movie_wrap .popup_movie {
    width: 100%;
    padding-top: 56.25%;
    position: relative;
}

.popup_wrapper .popup_movie_wrap .popup_movie.image {
    width: 100%;
    padding-top: 70%;
    position: relative;
}

.popup_wrapper .popup_movie_wrap .popup_movie video {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
}

.popup_wrapper .popup_movie_wrap .popup_movie iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
}

.popup_wrapper .popup_movie_wrap .popup_movie img {
    /* width: 100%; */
    width: auto;
    height: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
}

.popup_wrapper .btn1 {
    width: calc(300 / 750 * 100%);
    margin: calc(40 / 750 * 100%) auto 0;
}

.popup_wrapper .btn1 a {
    font-family: 'Montserrat', sans-serif;
    display: block;
    color: #ff2c61;
    background-color: #fff;
    font-size: 2.4rem;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    padding: calc(20 / 300 * 100%);
    border-radius: 3em;
}

.vjs-icon-placeholder {
    display: block;
    margin: -1em 0 0;
    position: static;
}

@media screen and (min-width: 768px) {
    .popup_wrapper .popup_movie_wrap {
        width: calc(800 / 1200 * 100%);
    }
    .popup_wrapper .popup_movie_wrap .bc_movie_ttl {
        font-size: 1.6rem;
        padding: 0 0 calc(20/800 *100%) 2em;
    }
    .popup_wrapper .popup_movie_wrap .bc_movie_ttl::before {
        font-size: 1.6rem;
    }
    .popup_wrapper .popup_movie_wrap .bc_movie_txt {
        font-size: 1.6rem;
        padding: calc(20/800 *100%) 0 0;
    }
    .popup_wrapper .popup_movie_wrap .btn1 {
        width: calc(300 / 800 * 100%);
        margin: calc(30 / 800 * 100%) auto 0;
    }
    .popup_wrapper .popup_movie_wrap .btn1 a {
        font-size: 1.6rem;
        padding: calc(10 / 300 * 100%);
        -webkit-transition: 0.2s ease;
        transition: 0.2s ease;
    }
    .popup_wrapper .popup_movie_wrap .btn1 a:hover {
        color: #fff;
        background-color: #206dec;
    }
}

@media screen and (min-width: 1200px) {
    .popup_wrapper .popup_movie_wrap {
        width: 800px;
    }
}
