@charset "utf-8";
/*---------------------------------------------------------------------
Base Setting
---------------------------------------------------------------------*/
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: normal;
}

* {
	-webkit-appearance: none;
	-webkit-tap-highlight-color: transparent;
	border-radius: 0;
}
html {
	height: 100%;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}
body {
	background: url(../images/bg.png) 50% 0 repeat;
	min-width: 1200px;
	position: relative;
	font: normal 14px/24px "メイリオ", Meiryo, "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Osaka, sans-serif;
	color: #666;
	-webkit-text-size-adjust: none;
}
img {
	vertical-align: bottom;
}
a {
	color: #3d2152;
	text-decoration: none;
}
strong {
	font-weight: bold !important;
}
.clear {
	clear: both;
}
ul::after,
ol::after,
dl::after,
section::after,
.cf::after,
.wf::after {
	content: "";
	display: block;
	clear: both;
}
.wf {
	margin-right: auto;
	margin-left: auto;
	width: 1120px;
    zoom: 1;
}
.hd {
	width: 1px;
	height: 1px;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	text-indent: 120%;
	overflow: hidden;
	white-space: nowrap;
}
.spbr {
	display: none;
}

/* Coomon
--------------------------------------------------------------------------------------------------------- */
/* Header */
header {
	margin: 9px auto 40px;
	width: 1120px;
	position: relative;
	box-sizing: border-box;
}
body#home header {
	background: url(../images/home_main.png) 100% 31px no-repeat;
	padding: 0 720px 0 10px;
	height: 925px;
}
body#home header h1 {
	background: url(../images/home_logo.png) 0 0 no-repeat;
	background-size: 455px auto;
	margin: 0 -48px -9px -57px;
	width: 455px;
	height: 321px;
	overflow: hidden;
	text-indent: 120%;
	white-space: nowrap;
}

body#home header #onair .copy {
	border: 3px solid #fff;
	border-width: 3px 0;
	background: url(../images/home_onair_copy.png) 0 50% no-repeat;
	margin: 0 0 20px;
	padding: 25px 0;
	width: 350px;
	height: 80px;
	overflow: hidden;
	text-indent: 120%;
	white-space: nowrap;
}
body#home header #onair section {
	border-radius: 20px;
	background: #fff;
	margin: 10px 0 0;
	padding: 20px 20px 15px;
	width: 350px;
	box-sizing: border-box;
}
body#home header #onair section h2 {
	background-size: auto 19px !important;
	margin: 0 0 15px;
	height: 19px;
	overflow: hidden;
	text-indent: 120%;
	white-space: nowrap;
}
body#home header #onair .mx h2 {
	background: url(../images/home_onair_sttl_mx.png) 0 0 no-repeat;
}
body#home header #onair .bs11 h2 {
	background: url(../images/home_onair_sttl_bs11.png) 0 0 no-repeat;
}
body#home header #onair section p {
	font-size: 20px;
}
body#home header #onair .note {
	margin: 7px 0 0;
	color: #fff;
}

body#home header #onair .bluray {
	margin: 25px 0 0;
}
body#home header #onair .bluray a {
	background: url(../images/home_bluray.png) 0 0 no-repeat;
	width: 350px;
	height: 97px;
	display: block;
	overflow: hidden;
	text-indent: 120%;
	white-space: nowrap;
}

body#home header #trailer {
	position: absolute;
	bottom: 0;
	left: 10px;
}
body#home header #trailer iframe {
	width: 350px;
	height: 197px;
	vertical-align: bottom;
}

header nav .btn {
	display: none;
	position: fixed;
	top: 20px;
	left: 50%;
	z-index: 1001;
}
header nav .btn a {
	border-radius: 50%;
	background: #3d2152 url(../images/ico_open.png) 50% 50% no-repeat;
	width: 70px;
	height: 70px;
	display: block;
	box-sizing: border-box;
	overflow: hidden;
	text-indent: 120%;
	white-space: nowrap;
}
header nav.open .btn a {
	background: #fff url(../images/ico_close.png) 50% 50% no-repeat;
}
header nav .btn a:hover {
	opacity:0.70;
	filter: alpha(opacity=70);
}
header nav .inner {
	margin: 0 -17px 0 0;
	width: calc(100% + 17px);
	min-width: 660px;
	height: 0;
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	box-sizing: border-box;
	transition: 0.3s ease-in;
}
header ul {
	padding: 160px 0 100px;
}
header li {
	margin: 0 auto;
	width: 600px;
	font-size: 30px;
	line-height: 1;
}
header li + li {
	margin-top: 38px;
}
header li a {
	border-radius: 30px;
	background: #fff;
	padding: 15px;
	text-align: center;
	display: block;
	color: #3d2152;
	opacity: 0;
	transform: translate3d(0, 0, 0);
}
header a {
	transition: 0.5s ease;
}
header a:hover {
	opacity:0.60 !important;
	filter: alpha(opacity=60) !important;
}
header nav.open .inner {
	background: #3d2152;
	height: 100%;
	overflow-y: auto;
}
header nav.open li a {
	opacity: 1;
}

/* Footer */
footer {
	background: #3d2152;
	margin: 40px 0 0;
	padding: 40px 0 60px;
	min-width: 1120px;
}
footer .wf {
	position: relative;
}
footer .wf > div {
	margin: -5px 0 17px;
	float: right;
	clear: right;
}
footer .wf > .df {
	margin: 0;
	height: 156px;
	float: left;
	clear: none;
}
footer .wf div div {
	float: left;
}
footer .wf div .sunborn {
	height: 80px;
}
footer .wf div .victor {
	margin: 45px 0 0 20px;
	height: 35px;
}
footer .wf div .fg {
	margin: 54px 0 0 20px;
	height: 26px;
}
footer .wf div .vs {
	margin: 44px 0 0 20px;
	height: 36px;
}
footer div img {
	width: auto;
	height: 100%;
}
footer .sns {
	float: right;
}
footer .sns li {
	float: left;
}
footer .sns li + li {
	margin: 0 0 0 20px;
}
footer .sns img {
	width: 50px;
	height: 50px;
}
footer small {
	display: block;
	float: right;
	font-size: 12px;
	line-height: 16px;
	color: #fff;
}
footer small span {
	display: inline-block;
}
footer small span + span {
	margin: 0 0 0 12px;
}
footer a:hover {
	opacity: 0.70;
	filter: alpha(opacity=70);
}

/* Content */
article {
	min-width: 1200px;
}
article > section {
	background: #fff;
	margin: 40px auto 0;
	width: 1120px;
	box-sizing: border-box;
}
body:not(#home) article > section {
	border-radius: 40px;
	padding: 60px 40px;
	width: 800px;
	text-align: center;
}
body:not(#home) article > section section + section {
	margin-top: 55px;
}
body:not(#home) article > section h1 {
	background-size: contain !important;
	margin: 0 0 45px;
	overflow: hidden;
	text-indent: 120%;
	white-space: nowrap;
}
body:not(#home):not(#vod) article > section h2 {
	background-size: contain !important;
	margin: 0 0 35px;
	overflow: hidden;
	text-indent: 120%;
	white-space: nowrap;
}



/* Home
--------------------------------------------------------------------------------------------------------- */
/* News */
body#home #news {
	border-radius: 30px;
	padding: 20px 20px 20px 30px;
	visibility: hidden;
	line-height: 18px;
}
body#home #news h2 {
	background: url(../images/home_news_ttl.png) 0 0 no-repeat;
	background-size: 64px auto;
	margin: 0 40px 0 0;
	width: 64px;
	height: 18px;
	float: left;
	overflow: hidden;
	text-indent: 120%;
	white-space: nowrap;
}
body#home #news .bx-wrapper {
	width: 840px;
	float: left;
}
body#home #news li {
	padding: 0 0 0 100px;
	position: relative;
}
body#home #news li span {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
}
body#home #news li a {
	color: #666;
}
body#home #news li a:hover {
	text-decoration: underline;
}
body#home #news .readmore {
	float: right;
}
body#home #news .readmore a {
	background: url(../images/home_news_ico.png) 100% 48% no-repeat;
	padding: 0 15px 0 0;
}
body#home #news .readmore a:hover {
	opacity:0.60;
	filter: alpha(opacity=60);
}



/* About
--------------------------------------------------------------------------------------------------------- */
body#about h1 {
	background: url(../images/about_ttl.png) 50% 0 no-repeat;
	height: 47px;
}
body#about section div,
body#outline section div {
	font-size: 20px;
	line-height: 40px;
}
body#about section div {
	background: url(../images/about_logo.png) 50% 0 no-repeat;
	padding: 416px 0 0;
}
body#about section div p + p,
body#outline section div p + p {
	margin: 15px 0 0;
}



/* Outline
--------------------------------------------------------------------------------------------------------- */
body#outline h1 {
	background: url(../images/outline_ttl.png) 50% 0 no-repeat;
	height: 45px;
}
body#outline section {
	background: #fff url(../images/outline_bg.png) 0 100% no-repeat;
	padding-bottom: 574px !important;
}



/* Staff & Cast
--------------------------------------------------------------------------------------------------------- */
body#staff_cast h1 {
	background: url(../images/staff_cast_ttl.png) 50% 0 no-repeat;
	height: 45px;
}
body#staff_cast #staff h2 {
	background: url(../images/staff_cast_sttl_staff.png) 50% 0 no-repeat;
	height: 25px;
}
body#staff_cast #cast h2 {
	background: url(../images/staff_cast_sttl_cast.png) 50% 0 no-repeat;
	height: 28px;
}
body#staff_cast #staff dd + dt {
	margin: 27px 0 0;
}
body#staff_cast #staff dd {
	margin: 5px 0 0;
	font-weight: bold;
	font-size: 20px;
}

body#staff_cast #cast dl {
	width: 720px;
	text-align: center;
	display: -ms-grid;
	display: grid;
	grid-template-areas:
		'dt1 dt2 dt3'
		'dd1 dd2 dd3'
		'dt4 dt5 dt6'
		'dd4 dd5 dd6'
		'dt7 dt8 dt9'
		'dd7 dd8 dd9';
}
body#staff_cast #cast dt {
	background-position: left 50% bottom 44px;
	background-repeat: no-repeat;
}
body#staff_cast #cast dt,
body#staff_cast #cast dd {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}
body#staff_cast #cast dd {
	margin: 5px 0 0;
	font-weight: bold;
	font-size: 20px;
}
body#staff_cast #cast dt:nth-of-type(1),
body#staff_cast #cast dt:nth-of-type(2),
body#staff_cast #cast dt:nth-of-type(3) {
	padding: 401px 0 0;
}
body#staff_cast #cast dt:nth-of-type(1) {
	background-image: url(../images/staff_cast_img_m4a1.png);
	-ms-grid-row: 1;
	-ms-grid-column: 1;
	grid-area: dt1;
}
body#staff_cast #cast dt:nth-of-type(2) {
	background-image: url(../images/staff_cast_img_star15.png);
	-ms-grid-row: 1;
	-ms-grid-column: 2;
	grid-area: dt2;
}
body#staff_cast #cast dt:nth-of-type(3) {
	background-image: url(../images/staff_cast_img_m4sopmod2.png);
	-ms-grid-row: 1;
	-ms-grid-column: 3;
	grid-area: dt3;
}
body#staff_cast #cast dt:nth-of-type(4),
body#staff_cast #cast dt:nth-of-type(5),
body#staff_cast #cast dt:nth-of-type(6) {
	padding: 422px 0 0;
}
body#staff_cast #cast dt:nth-of-type(4) {
	background-image: url(../images/staff_cast_img_m16a1.png);
	-ms-grid-row: 3;
	-ms-grid-column: 1;
	grid-area: dt4;
}
body#staff_cast #cast dt:nth-of-type(5) {
	background-image: url(../images/staff_cast_img_416.png);
	-ms-grid-row: 3;
	-ms-grid-column: 2;
	grid-area: dt5;
}
body#staff_cast #cast dt:nth-of-type(6) {
	background-image: url(../images/staff_cast_img_grg11.png);
	-ms-grid-row: 3;
	-ms-grid-column: 3;
	grid-area: dt6;
}
body#staff_cast #cast dt:nth-of-type(7),
body#staff_cast #cast dt:nth-of-type(8) {
	padding: 399px 0 0;
}
body#staff_cast #cast dt:nth-of-type(7) {
	background-image: url(../images/staff_cast_img_ump9.png);
	-ms-grid-row: 5;
	-ms-grid-column: 1;
	grid-area: dt7;
}
body#staff_cast #cast dt:nth-of-type(8) {
	background-image: url(../images/staff_cast_img_ump45.png);
	-ms-grid-row: 5;
	-ms-grid-column: 2;
	grid-area: dt8;
}
body#staff_cast #cast dt:nth-of-type(n+4) {
	margin: 35px 0 0;
}
body#staff_cast #cast dd:nth-of-type(1) {
	-ms-grid-row: 2;
	-ms-grid-column: 1;
	grid-area: dd1;
}
body#staff_cast #cast dd:nth-of-type(2) {
	-ms-grid-row: 2;
	-ms-grid-column: 2;
	grid-area: dd2;
}
body#staff_cast #cast dd:nth-of-type(3) {
	-ms-grid-row: 2;
	-ms-grid-column: 3;
	grid-area: dd3;
}
body#staff_cast #cast dd:nth-of-type(4) {
	-ms-grid-row: 4;
	-ms-grid-column: 1;
	grid-area: dd4;
}
body#staff_cast #cast dd:nth-of-type(5) {
	-ms-grid-row: 4;
	-ms-grid-column: 2;
	grid-area: dd5;
}
body#staff_cast #cast dd:nth-of-type(6) {
	-ms-grid-row: 4;
	-ms-grid-column: 3;
	grid-area: dd6;
}
body#staff_cast #cast dd:nth-of-type(7) {
	-ms-grid-row: 6;
	-ms-grid-column: 1;
	grid-area: dd7;
}
body#staff_cast #cast dd:nth-of-type(8) {
	-ms-grid-row: 6;
	-ms-grid-column: 2;
	grid-area: dd8;
}



/* Vod
--------------------------------------------------------------------------------------------------------- */
body#vod h1 {
	background: url(../images/vod_ttl.png) 50% 0 no-repeat;
	height: 47px;
}
body#vod section {
	text-align: center;
	font-size: 16px;
	line-height: 30px;
	color: #666;
}
body#vod section + section,
body#vod section + p {
	margin: 50px 0 0 !important;
}
body#vod section li {
	font-weight: bold;
	margin: 20px 0 0;
	font-size: 20px;
}
body#vod section li a {
	color: #44ce4b;
}
body#vod section li a[href] {
	text-decoration: underline;
}
body#vod section li a[href]:hover {
	text-decoration: none;
}
body#vod section p {
	margin: 20px 0 0;
}



/* Bluray
--------------------------------------------------------------------------------------------------------- */
body#bluray h1 {
	background: url(../images/bluray_ttl.png) 50% 0 no-repeat;
	height: 52px;
}
body#bluray .jacket {
	margin: 0 0 30px;
}
body#bluray section h2 {
	background: url(../images/bluray_sttl.png) 50% 0 no-repeat;
	margin: 0 0 60px !important;
	height: 303px;
	overflow: hidden;
	text-indent: 120%;
	white-space: nowrap;
}
body#bluray iframe {
	margin: 0 auto 50px;
	vertical-align: baseline;
}
body#bluray section section section {
	margin: 55px 0 0;
}
body#bluray section section h3 {
	background: url(../images/bluray_sttl_bonus.png) 50% 0 no-repeat;
	background-size: contain;
	margin: 0 0 35px;
	height: 29px;
	overflow: hidden;
	text-indent: 120%;
	white-space: nowrap;
}
body#bluray section dl {
	text-align: center;
	font-size: 16px;
	line-height: 30px;
}
body#bluray section iframe + dl {
	background: url(../images/bluray_img_contents.png) 50% 0 no-repeat;
	padding: 505px 0 0;
}
body#bluray section > dl > dd + dt {
	margin: 20px 0 0;
}
body#bluray section > dl > dt:nth-of-type(4) {
	margin: 45px 0 0;
}
body#bluray section #store > dl > dt:nth-of-type(2) {
	margin: 30px 0 0;
}
body#bluray section dd {
	font-weight: bold;
	font-size: 20px;
}
body#bluray section dd span,
body#bluray section dd ol {
	font-weight: normal;
	font-size: 16px;
}
body#bluray section dd ol {
	counter-reset: trackno;
}
body#bluray section dd ol li::before {
	content: "0" counter(trackno) ".";
	counter-increment: trackno;
}
body#bluray section dd ol li:nth-of-type(n+10)::before {
	content: counter(trackno) ".";
}
body#bluray section dd dt,
body#bluray section dd dd.img {
	margin: 15px 0 0;
}
body#bluray section dd dd + dd {
	margin: 20px 0 0;
}
body#bluray section dd dd.img + dt {
	margin: 55px 0 0;
}
body#bluray section dd dt,
body#bluray section dd dt a {
	font-weight: bold;
	color: #44ce4b;
}
body#bluray section dd dt a {
	font-size: 20px;
}
body#bluray #store dd dd {
	font-size: 16px;
}
body#bluray section dd dt a[href] {
	text-decoration: underline;
}
body#bluray section dd dt a[href]:hover {
	text-decoration: none;
}
body#bluray section dd .note {
	font-weight: normal;
	font-size: 14px;
	line-height: 24px;
}
body#bluray section dd img + .note {
	margin: 20px 0 0;
}
body#bluray section dl + .note {
	margin: 60px 0 0;
}
