@charset "utf-8";

/* CSS INFORMATION -====================================================
File name : layout.css
Description : レイアウト用CSS
===================================================================== */


/* ==========================================================
	共通
========================================================== */

/*メインビジュアル背景*/
.mv {
	background-color: #ffffff;
	/*	画像はこちら↓
	background: url(../images/bg.png) repeat-x center;
	background-size: contain;*/
}

@media screen and (min-width: 768px) {
	.mv img {
		width: 100%;
	 	/* max-height: 746px; */
		margin: 0 auto;
 }
}

/*アクセントカラー（背景色）*/
.nav,
.ttl_h2:before,
.slick-arrow,
.slick-active button::before,
.popup_close {
	background-color: #fbb306;
}

/*アクセントカラー（文字色）*/
.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;
}

.em{
	font-weight: bold;
  font-size: 1.5em;
  font-style: normal;
}
.center{
	text-align: center;
}





/* ==========================================================
	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: url(../images/bg.png) repeat center;
   /*background-size: 70rem auto; */
}

/*コンテンツ背景*/
.contents {
	background-color: #fff;
}

.banner_list{
	margin-top: 2em;
}

.font_b {
	font-size: 1.2em;
	font-weight: bold;
}

.th-box {
	display: flex;
	flex-direction: row;
	flex-wrap:wrap;
}
.th-box li{
width: 45%;
margin: 0 auto 5rem;
	display: flex;
		flex-direction: column;
}
.th-box dl {
flex-grow: 1;
}
.th-box dt {
font-weight: 700;
font-size: 2rem;
line-height: 3rem;

}
.th-box dd {
	font-size: 1.8rem;
	line-height: 3rem;
	text-align: right;
}
.th-box a{
	color:#fff;
}
.th-box a:hover {
	opacity: .7;
}
.tver {
	color: #fff;
	margin: 1rem auto;
	padding: .5rem;
	background-color: #005ab7;
	text-align: center;
	border-radius: .4rem;
	width: 90%;
}
.w-site {
	margin: 1rem auto;
	padding: .5rem;
	background-color: #000;
	text-align: center;
	border-radius: .4rem;
	width: 90%;
}
#m-color {
	background-color: #0c112e;
}
#r-color {
	background-color: #21091f;
}
#c-color {
	background-color: #fcef41;
}
#o-color {
	background-color: #1b6915;
}
@media screen and (min-width: 768px) {
.th-box li {
		width: 300px;
	}
}

/* メニュー
********************************* */

.nav {
	overflow: auto;
}

.nav ul {
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-around;
}

.nav a {
	position: relative;
	font-size: 1.6rem;
	padding: 1em;
	overflow: hidden;
}

/* ==========================================================
 nav-program
========================================================== */
.nav-program {
	background-color: #000;
}

@media screen and (max-width: 767px) {
	.nav-program {
		overflow: auto;
	}
}

.nav-program .container {
	padding-bottom: 2px;
}

@media screen and (min-width: 768px) {
	.nav-program .container {
		max-width: 1024px;
		margin: 0 auto;
		padding: 0 10px 2px;
	}
}

@media screen and (max-width: 767px) {
	.nav-program .container {
		width: 800px;
	}
}

.nav-program ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

@media screen and (max-width: 767px) {
	.nav-program ul {
		-webkit-box-pack: inherit;
		-ms-flex-pack: inherit;
		justify-content: inherit;
	}
}

@media screen and (max-width: 767px) {
	.nav-program li:first-child a:before {
		display: none;
	}
}

.nav-program a {
	display: block;
	padding: 20px 10px 15px;
	/*  border-bottom: 4px solid #646464;*/
	position: relative;
	color: #fff;
	font-size: 16px;
}

.nav-program a.is-active:after {
	content: "";
	background-color: #fff;
	width: 100%;
	height: 4px;
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
}

@media screen and (min-width: 768px) {
	.nav-program a:after {
		content: "";
		background-color: #fff;
		width: 100%;
		height: 4px;
		display: block;
		position: absolute;
		left: 0;
		bottom: -10px;
		-webkit-transition: bottom 0.3s;
		transition: bottom 0.3s;
	}

	.nav-program a:hover:after {
		bottom: 0;
		background-color: #fff;
		-webkit-transition: bottom 0.3s;
		transition: bottom 0.3s;
	}
}

@media screen and (max-width: 767px) {
	.nav-program a {
		position: relative;
		padding: 10px 15px 8px;
		border-bottom: 2px solid #000;
		font-size: 12px;
	}

	.nav-program a.is-active {
		border-width: 2px;
	}

	.nav-program a:before {
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		width: 1px;
		height: 20px;
		margin-top: -10px;
		background-color: #000;
	}

	.nav-program a:after {
		content: "";
		left: 2px;
		bottom: -10px;
	}
}
/* 画像リスト
********************************* */

.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 2rem;
}
.movie_list li img{
	border: 7px solid #ffffff !important;
    box-shadow: 2px 2px 5px #999 !important;
}
/* .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(500 /1024 * 100%);
	margin-bottom: 1em;
}
.movie_list li img{
	border: 7px solid #ffffff !important;
    box-shadow: 2px 2px 5px #999 !important;
}
.movie_list p{
font-weight: bold;
font-size: 1rem;
}
}
.movie_list p{
    font-weight: bold;
    font-size: 1.2rem;
}

/* ==========================================================
	content
========================================================== */
