@charset "utf-8";


@import url('https://fonts.googleapis.com/css2?family=M+PLUS+2:wght@500;700;900&family=Noto+Sans+JP:wght@400;700&display=swap');
@font-face {
	font-family:'CGothic';
	src:url('images/fonts/CGothic.ttf') format('truetype');
}
@font-face {
	font-family:'CSerif';
	src:url('images/fonts/CSerif.ttf') format('truetype');
}


@media screen and (min-width:800px) { 
	.dispSP {
		display:none !important;
	}
}
@media screen and (max-width:799px) { 
	.dispPC {
		display:none !important;
	}
}

/* ==============================================
	variables
=============================================== */
* {
	--font-body:'M PLUS 2' ,'Noto Sans JP' ,sans-serif;
	--font-title:'M PLUS 2' ,'Noto Sans JP' ,sans-serif;
}



/* ==============================================
	CSS reset
=============================================== */
* ,*:before ,*:after {
	box-sizing:border-box;
	text-size-adjust:100%;
	-webkit-text-size-adjust:100%;
}
html ,body ,div ,p ,span ,iframe ,a ,img ,
h1 ,h2 ,h3 ,h4 ,h5 ,h6 ,
dl ,dt ,dd ,ol ,ul ,li ,
form ,label ,
table ,thead ,tbody ,tfoot ,tr ,th ,td ,
blockquote ,q ,pre ,
header ,footer ,nav ,article ,section ,aside {
	margin:0;
	padding:0;
	border:0 none;
	color:inherit;
	font-size:inherit;
	font-weight:inherit;
	text-decoration:inherit;
}
button ,input ,textarea ,select {
	font-size:100%;
	letter-spacing:1px;
	font-family:var(--font-body);
}
input::-webkit-input-placeholder {
	color:#ccc;
}
button {
	padding:5px 20px;
}

html ,body {
	min-height:100%;
	height:100%;
}
a ,a:link ,a:visited {
	color:#06f;
	text-decoration:none;
	transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
}
a:hover {
	color:#f69;
	text-decoration:none;
}

img {
	vertical-align:bottom;
	max-width:100%;
	image-rendering:-webkit-optimize-contrast;
	backface-visibility:hidden;
	-webkit-backface-visibility:hidden;
}
ol ,ul ,li {
	list-style:none;
}
table {
	border-collapse:collapse;
	border-spacing:0;
}
blockquote ,q {
	quotes:none;
}
blockquote:before ,blockquote:after
,q:before ,q:after {
	content:'';
	content:none;
}



/* ==============================================
	cleafix
=============================================== */
.clearfix:after {
	display:block;
	clear:both;
	height:0px;
	line-height:0px;
	visibility:hidden;
	content:".";
}
.clearfix {
	display: block; /* for IE8 */
	zoom: 1; 
}


/* ==============================================
	common
=============================================== */
.titleBar {
	width:100%;
	line-height:1.2;
	padding:0 0 0.5em;
	font-size:350%;
	text-align:center;
	color:#f09;
}
.titleBar.sub {
	text-shadow:1px 1px 0 #fff;
	font-size:180%;
	letter-spacing:1px;

}
.titleBar.sub.color1 {
	color:#c0f;
}
.titleBar.sub.color2 {
	color:#06f;
}

.titleBar span {
	display:inline-block;
	font-weight:900;
}



.titleImage {
	text-align:center;
	margin:20px auto;
}
.titleImage img {
	border:1px solid #fff;
}

.commonList {
	text-align:center;
	margin-bottom:15px;
}

.contentsBloc {
	padding-top:3em;
}

.center {
	text-align:center;
}



@media screen and (max-width:799px) { 
	.titleBar {
		font-size:270%;
	}
	.titleBar.sub {
		font-size:160%;
	}

}



/* ==============================================
	common etc.
=============================================== */
.sendIP {
	margin-top:1em;
	color:#999;
	font-size:xx-small;
	text-align:right;
}

.noticeInfo {
	color:#90f;
}
.noticeAlert {
	color:#f39;
}
.noticeLink {
}
.noticeLink a {
	color:#f39;
}
.noticeLink a:hover {
	text-decoration:underline;
}

.mBottom {
	margin-bottom:30px;
}

.strong {
	color:#f39;
	font-size:18px;
}


.nopage {
	padding-top:2em;
	text-align:center;
}




/* ==============================================
	flex
=============================================== */
.flex {
	display:flex;
	justify-content:center;
	align-items:center;
}
.flex.left {
	justify-content:flex-start;
}
.flex.right {
	justify-content:flex-end;
}
.flex.between {
	justify-content:space-between;
}
.flex.around {
	justify-content:space-around;
}
.flex.evenly {
	justify-content:space-evenly;
}

.flex.top {
	align-items:flex-start;
}
.flex.bottom {
	align-items:flex-end;
}
.flex.stretch {
	align-items:stretch;
}

.flex.column {
	flex-direction:column;
}
.flex.rev {
	flex-direction:row-reverse;
}
.flex.column.rev {
	flex-direction:column-reverse;
}

.flex.wrap {
	flex-wrap:wrap;
}

.flex.col2 > * {
	width:calc(100% / 2);
}
.flex.col3 > * {
	width:calc(100% / 3);
}
.flex.col4 > * {
	width:calc(100% / 4);
}
.flex.col5 > * {
	width:calc(100% / 5);
}



.flex > .half {
	width:50%;
}
.flex > .full {
	width:100%;
}

.height-inherit > * {
	height:100%;
}
.height-inherit-all * {
	height:100%;
}


.mt0_5 {
	margin-top:0.5em;
}
.mt1 {
	margin-top:1em;
}
.mt2 {
	margin-top:2em;
}


/* ==============================================
	iframe
=============================================== */
.iframe-outer {
	line-height:1;
	overflow:auto;
	-webkit-overflow-scrolling:touch;
}
.iframe-outer > * {
	display:block;
	width:100%;
	height:100%;
	height:-webkit-fill-available;
}


/* ==============================================
	infoBox option
=============================================== */
.noData {
	margin-left:auto;
	margin-right:auto;
	min-height:300px;
	padding-top:80px;
	color:#666;
	text-align:center;
}

.infoBox {
	width:100%;
	margin-bottom:30px;
	padding:10px 20px;
	background-color:rgba(255,255,255,0.8);
	border:1px solid #fff;
	box-shadow:0 0 5px #999;
}
.infoBox p ,
.infoBox.formNotes div {
	padding:5px 0;
}
.infoBox.notes {
	width:80%;
	min-width:630px;
	margin-left:auto;
	margin-right:auto;
	text-align:center;
}

.infoBox.notes .headline ,
.noData .headline {
	color:#f39;
	font-size:140%;
}
.infoBox.notes .comment ,
.noData .comment {
	font-size:110%;
	color:#666;
}
.infoBox.notes .comment2 ,
.noData .comment2 {
	margin-top:1em;
	font-size:110%;
	color:#f39;
}


@media screen and (max-width:799px) { 
	.infoBox {	
		padding:10px;
	}
	.infoBox.notes {
		width:100%;
		min-width:auto;
	}
}




/* ==============================================
	common table
=============================================== */
.commonTable {
	width:100%;
}
.commonTable th {
	width:20%;
	padding:0.5em 1em;
	border:1px solid #666;
	font-weight:bold;
	letter-spacing:1px;
}
.commonTable td:not(.noData) {
	padding:0.5em 1em;
	border:1px solid #666;
	text-align:left;
}

@media screen and (max-width:799px) { 
	.commonTable {
		font-size:90%;
	}
	.commonTable th {
		padding:0.3em;
	}
	.commonTable td:not(.noData) {
		padding:0.3em;
	}
}



/* ==============================================
	image list
=============================================== */
.imageList {
	max-width:100%;
	text-align:center;
}
.imageList li:not(.noData) {
	display:inline-block;
	margin:auto 1em 2em;
	padding:1em;
}
.imageList li img {
	border:1px solid #fff;
	box-shadow:2px 2px 5px #666;
}

@media screen and (max-width:799px) { 
	.imageList li:not(.noData) {
		padding:0.5em;
		margin:0 auto 2em;
	}
}



/* ==============================================
	body
=============================================== */
body {
	position:relative;
	font-size:16px;
	line-height:1.6;
	color:#000;
	background:url(images/common/bg.jpg) 0 0 #fff;
	font-family:var(--font-body);
}
#bgLayer {
	background: rgba(255,255,255,0.7);
}

.innerFrame {
	width:100%;
	margin-left:auto;
	margin-right:auto;
	max-width:1600px;
}


#h1 {
	position:relative;
	min-width:1200px;
	padding-left:280px;
	padding-top:3px;
	padding-bottom:3px;
	font-size:14px;
	letter-spacing:1px;
	color:#666;
	border-bottom:1px solid #eee;
	z-index:11;
	text-align:center;
}


@media screen and (max-width:799px) { 
	body {
		background-size:110%;
	}
	body > #bgLayer {
		width:480px;
		margin:0 auto;
	}
	#h1 {
		min-width:auto;
		padding:3px;
	}
}


/* ==============================================
	header
=============================================== */
#header {
	position:fixed;
	top:0;
	left:0;
	background:#fff;
	z-index:10002;
}
#header #headerInner {
	position:relative;
	z-index:10003;
}
#headerTitle {
	width:100%;
	text-align:center;
}

@media screen and (min-width:800px) { 
	#header {
		width:280px;
		height:100%;
		padding-left:24px;
		box-shadow:3px 0 5px #999;
	}
	#header #headerInner {
		height:100%;
		background-color:#fff;
	}
	#headerTitle #headerLogo {
		display:block;
		width:240px;
		margin:10px auto 0;
	}

	#headerInfoBloc {
		padding-bottom:0.5em;
		color:#333;
	}
	#headerInfoBloc #headerText {
		line-height:1.4;
	}
	#headerInfoBloc #headerText .time {
		font-size:120%;
	}
	#headerInfoBloc #headerText .tel {
		font-size:150%;
		font-weight:bold;
		color:#f39;
	}
}

@media screen and (max-width:799px) { 
	#header {
		width:100%;
		height:70px;
	}
	#header #headerInner {
		position:relative;
		height:100%;
		z-index:10003;
	}
	#headerTitle {
		padding:0 1em;
		height:100%;
		background:rgba(255,255,255,0.9);
		box-shadow:2px 2px 5px #666;
		display:flex;
		justify-content:space-between;
		align-items:center;
	}

	#header #headerInner #headerLogo {
		height:100%;
		margin-right:auto;
	}
	#header #headerInner #headerLogo img {
		max-height:100%;
	}

	#header #headerInner #headerInfoBloc {
		padding-right:1em;
	}
	#header #headerInner #headerInfoBloc #headerText {
		display:none;
	}

	#header #headerInner #headerInfoBloc #headerTel {
	}
	#header #headerInner #headerInfoBloc #headerTel a {
		display:block;
	}
	#header #headerInner #headerInfoBloc #headerTel a img {
		width:3.6em;
		aspect-ratio:1/1;;
	}

	#header #headerInner #headerSPMenuIcon {
		cursor:pointer;
	}
	#header #headerInner #headerSPMenuIcon img {
		display:block;
		width:3.6em;
		aspect-ratio:1/1;;
	}
}




/* ==============================================
	header nav menu
=============================================== */
#header .navMenuBloc {
	display:block;
}
#header ul.navMenu {
	width:100%;
	border-top:1px solid #ccc;
}

#header ul.navMenu li {
	width:100%;
}
#header ul.navMenu li a {
	position:relative;
	width:100%;
	height:100%;
	line-height:1.8;
	padding:0.2em 1em;
	color:#333;
	background:#f7f7f7;
	border-top:1px solid #fff;
	border-bottom:1px solid #ccc;

	display:flex;
	justify-content:space-between;
	align-items:center;
}
#header ul.navMenu li a span {
}
#header ul.navMenu li a span:nth-child(1) {
	font-size:120%;
	font-weight:900;
}
#header ul.navMenu li a span:nth-child(2) {
	font-size:80%;
	font-weight:bold;
}

#header ul.navMenu li.active a {
	color:#fff;
	background:rgba(0,153,255,1);
	border-top:1px solid transparent;
}

#header ul.navMenu li:not(.active) a:hover {
	color:#fff;
	background:rgba(0,153,255,0.8);
	border-top:1px solid transparent;
}


@media screen and (max-width:799px) { 
	#header .navMenuBloc {
		position:fixed;
		top:-1px;
		left:0;
		width:100%;
		height:0%;
		padding:0;
		z-index:-1;
		transition: all 0.3s ease;
		-webkit-transition: all 0.3s ease;
		overflow:hidden;
	}
	#header ul.navMenu li a {
		font-size:140%;
	}

	.menuOn #header .navMenuBloc {
		top:0;
		height:100%;
		padding-top:72px;
	}

	#body ,
	#copyright ,
	#scrollTop {
		transition: all 0.3s ease;
		-webkit-transition: all 0.3s ease;
	}
	.menuOn #body ,
	.menuOn #copyright ,
	.menuOn #scrollTop {
		filter:blur(4px) grayscale(0.5);
	}
}


/* ==============================================
	scroll top
=============================================== */
#scrollTop {
	position:fixed;
	display:none;
	bottom:0;
	right:0;
	width:50px;
	height:50px;
	padding-right:10px;
	padding-bottom:10px;
	background-color:rgba(0,102,255,0.8);
	border:1px solid #fff;
	text-align:center;
	cursor:pointer;
	z-index:10000;
}
#scrollTopInner {
	display:block;
	width:100%;
	height:100%;
	padding-left:10px;
	padding-top:10px;
}



/* ==============================================
	header sns menu
=============================================== */
#header #headerInner .sidemenu {
	width:90%;
	margin:auto;
	text-align:center;
}
#header #headerInner .sidemenu li {
	padding-top:15px;
}
#header #headerInner .sidemenu li a img {
	border:1px solid #fff;
	box-shadow:1px 1px 3px #666;
	transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
}
#header #headerInner .sidemenu li a:hover img {
	border:1px solid #666;
}




/* ==============================================
	copyright
=============================================== */
#copyright {
	color:#fff;
	text-shadow:1px 1px 0 #000;
	background:#0cf;

	z-index:10030;
}
#copyright p {
	font-size:90%;
	font-weight:bold;
	letter-spacing:1px;
}
#copyright a {
	color:#fff;
	font-weight:bold;
}

@media screen and (min-width:800px) { 
	#copyright {
		position:fixed;
		top:0;
		left:0;
		width:1.5em;
		height:100%;
		padding-top:1em;

		writing-mode:vertical-rl;
		-webkit-writing-mode: vertical-rl;
	}
}

@media screen and (max-width:799px) { 
	#copyright {
		padding:0.3em 0 0.5em;
		text-align:center;
	}
}



/* ==============================================
	footer
=============================================== */
#footer {
	position:relative;
	width:100%;
	margin:0;
	text-align:center;
}

#footer #footerInner {
	position:relative;
	width:100%;
	padding-top:100px;
	padding-bottom:200px;
}
#footer .navMenuBloc {
	position:absolute;
	bottom:100px;
	left:0px;
	height:50px;
	width:100%;
}
#footer .navMenu {
	display:flex;
	justify-content:space-around;
}
#footer .navMenu > li a {
	display:block;
	position:relative;
	width:100%;
	height:100%;
	padding:5px 0.5%;
	color:#06f;
}
#footer .navMenu > li a span {
	display:block;
	white-space:nowrap;
}

#footer .navMenu > li a span:nth-child(1) {
	font-weight:bold;
}
#footer .navMenu > li a span:nth-child(2) {
	font-size:80%;
	color:#666;
}
#footer .navMenu > li a:hover {
	text-shadow:1px 1px 0px #fff,0 0 0.8em #090;
}


#footer #footerInfo #footerLogo {
	margin:auto;
	width:400px;
}

#footer #footerInfo #footerText {
	padding-top:0.5em;
	font-size:110%;
}
#footer #footerInfo #footerTel a {
	font-size:150%;
	font-weight:bold;
	color:#f39;
}


@media screen and (max-width:799px) { 
	#footer #footerInner {
		padding-bottom:2em;
	}
	#footer #footerInfo #footerLogo {
		width:70%;
	}
}



/* ==============================================
	contents body
=============================================== */
#body {
	position:relative;
	width:100%;
	margin:0;
	min-width:1300px;
	min-height:100%;
	padding-top:10px;
	padding-bottom:10px;
	padding-left:300px;
	padding-right:10px;
	z-index:10;
}


@media screen and (max-width:799px) { 
	#body {
		min-width:auto;
		padding:80px 0.8em 0;
	}
}


/* ==============================================
	index
=============================================== */
#PAGE_index #h1 {
	padding-left:0;
}
#PAGE_index #header {
	display:none;
}
#PAGE_index #footer #footerInner {
	padding-bottom:30px;
}
#PAGE_index #filterBg {
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	opacity:0;
	z-index:10000;
	background:#fff;
}

#PAGE_index #body {
	box-shadow:10px 0px 30px 10px rgba(255,255,255,0.8);
}
#enterMainFrame {
	text-align:center;
}
#enterMainFrame img {
	border:1px solid #fff;
	box-shadow:1px 1px 5px #666;
}
#enterButtonBloc {
	position:relative;
	width:720px;
	margin:60px auto;
	text-align:center;
	background:url(images/icons/18yo.png) 50% 50% no-repeat;
	background-size:6em;
}
#enterButtonBloc > li {
	display:block;
	width:300px;
	height:100%;
}
#enterButtonBloc > li a {
	display:block;
	width:100%;
	height:100%;
	text-shadow:0 0 5px #ccc,0 0 1px #fff;
}
#enterButtonBloc > li a span {
	display:block;
	letter-spacing:2px;
}
#enterButtonBloc > li a span:nth-child(1) {
	font-size:350%;
	line-height:1.2;
	font-weight:bold;
	text-shadow:1px 1px 0 #000;
}
#enterButtonBloc > li a span:nth-child(2) {
	color:#000;
	font-size:70%;
}
#enterButtonBloc > li:nth-child(1) a {
	color:#f39;
}
#enterButtonBloc > li:nth-child(1) a:hover ,
#enterButtonBloc > li:nth-child(1) a:hover span:nth-child(1) {
	text-shadow:0 0 10px #f6c,0 0 1px #000;
}
#enterButtonBloc > li:nth-child(2) a {
	color:#06f;
}
#enterButtonBloc > li:nth-child(2) a:hover ,
#enterButtonBloc > li:nth-child(2) a:hover span:nth-child(1) {
	text-shadow:0 0 10px #6cf,0 0 1px #000;
}

@media screen and (min-width:800px) { 
	#PAGE_index #body {
		padding-left:34px;
	}
}

@media screen and (max-width:799px) { 
	#enterButtonBloc.flex.between {
		width:100%;
		flex-direction:column;
		background-size:60px;
	}
	#enterButtonBloc > li a span:nth-child(1) {
		font-size:320%;
	}
	#enterButtonBloc > li + li {
		padding-top:80px;
	}
}




#enterComingsoon {
	padding-bottom:1em;
	text-align:center;
}
#enterComingsoon p {
	font-size:320%;
	color:#f39;
	text-shadow:2px 2px 0 #fff,3px 3px 3px #000;
}
#enterComingsoon span {
	font-size:90%;
	font-weight:inherit;
}

@media screen and (max-width:799px) { 
	#enterComingsoon p {
		font-size:180%;
		text-shadow:1px 1px 0 #fff,2px 2px 3px #000;
	}
}











/* ==============================================
	home > homeTop > slider
=============================================== */
#homeSliderBloc {
	width:100%;
	max-width:1200px;
	margin:0 auto;
	padding-bottom:20px;
	text-align:center;
}
#homeSliderBloc #homeSliderLoader {
	width:100%;
	height:100%;
	padding-top:150px;
}

#homeSlider > * {
	box-sizing:content-box;
}
#homeSlider {
}
#homeSlider > li > * {
	display:block;
	padding:5px;
}

#homeSlider li img {
	width:calc(100% - 100px);
}

#homeSliderBloc .bx-wrapper {
}
#homeSliderBloc .bx-wrapper .bx-viewport {
	border:0 none;
}
#homeSliderBloc .bx-wrapper img {
	border:1px solid #fff;
	box-shadow:1px 1px 5px #666;
}

#bx-pager-custom {
	width:100%;
	max-width:1000px;
	margin:0 auto;
	padding-top:1.5em;
}
#bx-pager-custom > * {
	margin:0 0.5em;
}







/* ==============================================
	home news
=============================================== */
.newsFrame {
	padding:0 0.5em;
}
.newsList {
	max-width:1200px;
	margin:0 auto;
	overflow:auto;
	padding:0.5em;
	word-break:break-all;
	background:#fff;
	line-height:1.4;
}
.newsList.home {
	min-height:6em;
	max-height:1100px;
}

.newsList li {
	position:relative;
	padding:1em;
}
.newsList.home li + li {
	border-top:1px dashed #999;
}

.newsList .subTitle {
	font-size:160%;
	color:#06f;
	padding-bottom:1em;
}
.newsList .subTitle > .flex {
	padding:0 0.5em 0.3em;
	line-height:1;
	border-bottom:2px solid #06f;
}
.newsTitle {
}
.newsDate {
	padding-right:0.5em;
	font-size:70%;
}



#newsLink {
	max-width:1200px;
	margin:0 auto;
	padding-top:0.5em;
	text-align:right;
}



@media screen and (max-width:799px) { 
	.newsBody.flex {
		flex-direction:column;
	}
	.newsBody.flex > .newsImage {
		width:80%;
		padding-bottom:2em;
	}

	.newsList li {
		padding:0.3em;
	}
	.newsList .subTitle > .flex {
		justify-content:center;
	}
}




/* ==============================================
	cast list
=============================================== */
ul.castList {
}
ul.castList li.castCell {
	position:relative;
	width:calc(100% / 4);
	padding:0.5em 0.5em 1em;
	text-align:center;
}

ul.castList li.castCell .castImage {
	position:relative;
	display:block;
	width:100%;
}
ul.castList li.castCell .castImage:before {
	content:"";
	display:block;
	width:100%;
	height:0;
	padding-top:calc(100% / 3 * 4);
}
ul.castList li.castCell .castImage .photo {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}
ul.castList li.castCell .castImage .photo img {
	width:100%;
	height:100%;
	object-fit:cover;
}


ul.castList li.castCell .aFrame {
	display:block;
	width:100%;
	height:100%;
	box-shadow:0px 0px 3px #363;
}
ul.castList li.castCell a.aFrame:hover {
	box-shadow:0 0 0.8em #09f;
}


ul li.castFlagNewface .aFrame:after {
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:25%;
	height:100px;
	background:url(images/icons/new_icon.png) 0 0 no-repeat;
	background-size:contain;

	animation:1.5s animateBlink infinite alternate ease-in;
}
ul li.castPickupCell.castFlagNewface .aFrame:after {
	top:0%;
	left:0%;
}
@keyframes animateBlink {
	  0% { opacity:1; }
	100% { opacity:0.4; }
}


ul.castList li.castCell .castInfo {
	position:relative;
	display:block;
	font-size:80%;
	letter-spacing:1px;
	background-color:rgba(153,204,255,0.1);
	padding:5px 0;
	border:1px solid #09f;
}
ul.castList li.castCell .castInfo .castName {
	display:block;
	font-size:160%;
	color:#f39;
	height:1.3em;
	line-height:1.3;
	text-shadow:1px 1px 0 #000;
	white-space:nowrap;
	overflow:hidden;
}
ul.castList li.castCell .castInfo .castName > span {
	font-size:80%;
}
ul.castList li.castCell .castInfo .castSize {
	display:block;
	height:1.6em;
	overflow:hidden;
	color:#000;
	font-weight:bold;
}
ul.castList li.castCell .castInfo .castTime {
	display:block;
	width:95%;
	margin:auto;
	color:#90f;
	padding:3px;
	overflow:hidden;
}
ul.castList li.castCell .castInfo .castTime.castFlagToday {
	background-color:rgba(255,255,255,0.8);
	box-shadow:1px 1px 5px #666 inset;
}
ul.castList li.castCell .castInfo .castMessage {
	display:none;
}


@media screen and (max-width:799px) { 
	ul.castList li.castCell {
		width:calc(100% / 3);
		padding:0.3em 0.3em 1em;
	}
	ul.castList li.castCell .castInfo {
		font-size:55%;
	}
	ul.castList li.castCell .castInfo .castSize {
		height:3.4em;
	}
	ul.castList li.castCell .castInfo .castSize span {
		display:block;
	}
}




/* ==============================================
	cast schedule
=============================================== */
#dateList.flex {
	padding-bottom:2em;
	text-align:center;
}
#dateList.flex > li {
	width:calc(100% / 7 - 0.5em);
}
#dateList.flex > li > .label {
	padding:0.5em 0;
	color:#666;
	background:rgba(255,255,255,0.4);
	border:1px solid #fff;
	border-radius:0.3em;
	box-shadow:0px 1px 3px #666;
	cursor:pointer;
}
#dateList li.on > .label {
	font-weight:bold;
	color:#fff;
	background:rgba(0,153,255,1);
}
#dateList li:not(.on):hover > .label {
	color:#333;
	background:rgba(0,153,255,0.3);
}


@media screen and (max-width:799px) { 
	#dateList.flex > li {
		width:calc(100% / 7 - 0.3em);
	}
	#dateList.flex > li > .label {
		padding:0.5em 0;
		line-height:1.3;
		font-size:90%;
	}
}




/* ==============================================
	cast ranking
=============================================== */
.ranking {
	padding-bottom:40px;
}
.ranking .titleBar.sub {
}

#PAGE_ranking ul.castList li.castCell {
	width:calc(100% / 5);
	padding:1.5em 0.3em 0;
}

.castCell .rankNo {
	color:#c0f;
}

#ranking2 .castCell .rankNo {
	color:#06f;
}


@media screen and (max-width:1420px) { 
	#PAGE_ranking ul.castList li.castCell .castInfo {
		font-size:70%;
	}
}

@media screen and (max-width:799px) {
	.castCell .rankNo {
		font-size:80%;
	}

	#PAGE_ranking ul.castList li.castCell {
		width:calc(100% / 3);
	}
	#PAGE_ranking ul.castList li.castCell .castInfo {
		font-size:55%;
	}

	#PAGE_ranking ul.castList li.castCell.rank1 {
		width:100%;
	}
	#PAGE_ranking ul.castList li.castCell.rank1 .aFrame {
		padding-bottom:0.5em;
		display:flex;
		justify-content:space-evenly;
		align-items:stretch;
		flex-wrap:wrap;
	}
	#PAGE_ranking ul.castList li.castCell.rank1 .aFrame .rankNo {
		width:100%;
		box-shadow:0 1px 3px #999;
		margin-bottom:0.5em;
	}
	#PAGE_ranking ul.castList li.castCell.rank1 .aFrame .castImage {
		width:48%;
	}
	#PAGE_ranking ul.castList li.castCell.rank1 .aFrame .castInfo {
		width:48%;
		padding:0.5em 0.3em;
		font-size:70%;
	}
	#PAGE_ranking ul.castList li.castCell.rank1 .castInfo .castName {
		height:auto;
		padding:0.3em 0;
	}

	#PAGE_ranking ul.castList li.castCell.rank1 .castInfo .castMessage {
		display:block;
		width:90%;
		margin:0 auto;
		padding:0.3em;
		color:#06f;
		background:rgba(255,255,255,0.8);
		box-shadow:0 0 0.3em #999;
	}

}



/* ==============================================
	newface
=============================================== */
#homeNewface {
	max-width:1200px;
	margin:0 auto;
}
#homeNewface ul.castList ,
#homeNewface ul.castList * {
	box-sizing:content-box;
}
#homeNewface ul.castList li.castCell {
	padding:0;
}
#homeNewface ul.castList li.castCell .aFrame {
	margin:1em 60px;
	width:calc(100% - 120px - 2em);
	padding:1em;
	display:flex;
	justify-content:space-between;
	align-items:stretch;
	flex-wrap:wrap;
}
#homeNewface ul.castList li.castCell.castFlagNewface .aFrame:after {
	top:1em;
	left:4em;
}
#homeNewface ul.castList li.castCell .aFrame .castImage {
	width:49%;
}
#homeNewface ul.castList li.castCell .aFrame .castInfo {
	width:49%;
	padding:0;
	font-size:160%;
}
#homeNewface ul.castList li.castCell .aFrame .castInfo:before {
	content:"";
	display:block;
	width:100%;
	height:0;
	padding-top:calc(100% / 3 * 4);
}
#homeNewface ul.castList li.castCell .aFrame .castInfo > .castInfoInner {
	position:absolute;
	top:0;
	left:0;
	width:calc(100% - 0.6em);
	height:calc(100% - 1em);
	padding:0.5em 0.3em;
}


#homeNewface ul.castList li.castCell .castInfo .castName {
	height:auto;
	padding:0.3em 0;
}
#homeNewface ul.castList li.castCell .castInfo .castSize {
	padding-bottom:0.5em;
}

#homeNewface ul.castList li.castCell .castInfo .castProf {
	display:block;
	width:90%;
	height:calc(100% - 230px);
	margin:2em auto 0;
	padding:0.3em 1em;
	color:#f39;
	background:rgba(255,255,255,0.8);
	box-shadow:0 0 0.3em #999;
	overflow-y:scroll;
	font-size:60%;
	text-align:left;
}
#homeNewface ul.castList li.castCell .castInfo .castProf dh {
	color:#f39;
}
#homeNewface ul.castList li.castCell .castInfo .castProf dd {
	color:#000;
	padding-left:1em;
	padding-bottom:0.5em;
}

#homeNewface ul.castList li.castCell a.aFrame:hover {
	background:rgba(221,238,255,0.6);
}


@media screen and (max-width:799px) {
	#homeNewface ul.castList li.castCell .aFrame {
		margin:1em 0;
		width:calc(100% - 0.6em);
		padding:0.3em;
	}
	#homeNewface ul.castList li.castCell .aFrame .castInfo {
		font-size:80%;
	}
	#homeNewface ul.castList li.castCell .castInfo .castProf {
		height:calc(100% - 130px);
		margin-top:1em;
	}
}



/* ==============================================
	system
=============================================== */
div.system {
	width:900px;
	padding-top:1em;
	max-width:100%;
	margin-left:auto;
	margin-right:auto;
	text-align:center;
}
div.system ul {
	padding:0.5em 1em;
	font-size:220%;
}
div.system ul li.cate {
	color:#09f;
	text-shadow:1px 1px 0 #fff,1px 1px 3px #99f;
	padding-bottom:0.5em;
}
div.system .course {
	font-size:140%;
	font-weight:900;
}
div.system .playtime {
	padding-left:1em;
	font-size:80%;
	font-weight:bold;
}
div.system .comment {
	font-size:70%;
	font-weight: bold;
}
div.system span.image {
	width:100%;
}


div.system li.flex {
	display:flex;
	flex-wrap:wrap;
	align-items:flex-start;
	padding:0 1em 0.5em;
	color:#333;
	text-shadow:1px 1px 0 #fff,1px 1px 3px #666;
}
div.system .time {
}
div.system .price {
}


div.system ul.discount {
	font-size:180%;
	text-align:center;
}
div.system ul.discount li.cate {
	padding:0.5em 0;
	line-height:1.2em;
	color:#c6f;
}
div.system ul.discount .course {
	font-size:120%;
}
div.system ul.discount .playtime {
	display:block;
	font-size:90%;
	padding:0;
}
div.system ul.discount .comment {
	font-size:80%;
}
div.system ul.discount li.flex {
	padding:0 0 0.5em;
}
div.system ul.discount .time {
	width:60%;
}
div.system ul.discount .price {
	width:40%;
}
div.system ul.discount .text {
	width:100%;
}


@media screen and (max-width:799px) { 
	div.system ul {
		padding:0.5em;
		font-size:160%;
	}
	div.system li.flex {
		padding:0 0.3em 0.5em;
	}
	div.system .cate > span {
		display:block;
		padding:0;
	}
	div.system ul.discount {
		font-size:140%;
	}
	div.system ul.discount li.flex {
		padding:0 0.5em;
	}
	div.system ul.discount li.flex + li.flex {
		padding-top:0.5em;
	}
	div.system ul.discount .time {
		width:100%;
	}
	div.system ul.discount .price {
		width:100%;
	}
}



/* ==============================================
	access
=============================================== */
#access {
	max-width:100%;
	text-align:center;
}
#access iframe {
	width:100%;
	height:480px;
	margin:auto auto 1em;
	border:1px solid #fff;
	box-shadow:3px 3px 5px #666;
}

#access .infoBox .shopName {
	color:#f06;
	font-size:150%;
}



/* ==============================================
	recruit
=============================================== */
#recruitHtmlBody .infoBoxHeader {
	width:600px;
	margin-left:auto;
	margin-right:auto;
	padding-top:30px;
}

.recruitButton {
	margin-bottom:30px;
	text-align:center;
}
.recruitButton a {
	display:inline-block;
	padding:10px 20px 15px;
	color:#666;
	font-size:180%;
	background-color:rgba(255,255,255,0.8);
	border:1px solid #fff;
	box-shadow:0 0 5px #999 inset;
}
.recruitButton a:before {
	content:">> ";
}
.recruitButton a:hover {
	color:#f00;
}

.recruit-0 .titleBar {
	color:#f69;
}
.recruit-0 th {
	color:#333;
	text-shadow:1px 1px 0 #fff;
	background-color:#fde;
}
.recruit-1 .titleBar {
	color:#06f;
}
.recruit-1 th {
	color:#333;
	text-shadow:1px 1px 0 #fff;
	background-color:#def;
}


@media screen and (max-width:799px) { 
	.recruitButton a {
		font-size:130%;
	}
}



/* ==============================================
	recruit form
=============================================== */
.required ,
.error {
	color:#f00;
}
.required:before {
	content:"※ ";
}

form .commonTable {
}
form .commonTable th {
	text-align:right;
	width:40%;
}
form .commonTable td {
	width:60%;
	text-align:left;
}
form .commonTable .form-comment {
	display:block;
	color:#666;
}

#formTable label {
	display:block;
}

.field-group.flex {
	justify-content:flex-start;
}

input.widthS {
	width:4em;
}
input.widthMS {
	width:8em;
}
input.widthM {
	width:12em;
}
input.widthL {
	width:20em;
}
textarea {
	width:20em;
	max-width:100%;
	height:5em;
}

.formButton {
	width:100%;
	margin:0 auto;
	padding:1em;
	text-align:center;
	border-top:1px solid #ddd;
}



/* ==============================================
	recruit form
=============================================== */
#PAGE_melmaga form {
	padding:1em 0;
}
#PAGE_melmaga input[type='text'] {
	width:480px;
	max-width:70%;
}

#PAGE_melmaga .infoBox.notes p {
	padding:0.5em 0;
}



/* ==============================================
	link banner
=============================================== */
.linkList {
}
.linkList li {
	margin:0.3em;
	display: flex;
	justify-content: center;
}
.linkList li a {
	display:block;
	min-width:150px;
	padding:5px;
	text-align:center;
	font-size:80%;
	color:#666;
	text-shadow:1px 1px 0px #fff;
	background-color:rgba(255,255,255,0.4);
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
	-webkit-text-overflow:ellipsis;
	border:1px solid #fff;
	box-shadow:0 0 3px #666;
}
.linkList li a img {
}
.linkList li a:hover {
	border:1px solid #090;
    box-shadow: 0px 0px 3px #090;
}





/* ==============================================
	profile
=============================================== */
#profileMainBloc .infoBox.notes {
	margin-bottom:30px;
}

.profileName {
	text-align:center;
	font-size:320%;
	line-height:2;
	color:#f39;
}
.profileName > span {
	font-size:80%;
}
.profileName .profileSize {
	display:block;
	color:#000;
	font-size:70%;
}


@media screen and (max-width:799px) { 
	.profileName {
		font-size:240%;
	}
}



/* ==============================================
	profile icons
=============================================== */
.profileIcons {
	text-align:center;
	margin-top:15px;
	margin-bottom:15px;
}
.profileIcons .textIcon {
	display:inline-block;
	margin:0px 5px;
	padding:0 15px;
	font-size:24px;
	line-height:32px;
	letter-spacing:1px;
	color:#fff;
	text-shadow:1px 1px 0 #000;
	background-color:#66f;
	box-shadow:1px 1px 3px #333 inset;
	border-radius:16px;
}



/* ==============================================
	profile thumbs slider
=============================================== */
#profileImageFrame {
	position:relative;
	text-align:center;
	margin:auto auto 60px;
	max-width:720px;
}
#bx-pager-custom {
	width:100%;
	max-width:1000px;
	margin:0 auto;
	padding-top:1.5em;
}
#bx-pager-custom > * {
	margin:0 0.5em;
}

#profileImageFrame .bx-wrapper .bx-pager {
	text-align:center;
}
#profileImageFrame.castFlagNewface:after {
	content:"";
	position:absolute;
	top:0%;
	left:8%;
	width:30%;
	height:120px;
	background-image:url(images/icons/new_icon.png);
	background-repeat:no-repeat;
	background-position:0 0;
	background-size:contain;

	animation:1.5s animateBlink infinite alternate ease-in;
	-webkit-animation:1.5s animateBlink infinite alternate ease-in;
}

#profileImageFrame li > img {
	border:1px solid #fff;
	box-shadow:0 0 3px #666;
}

#bgLayer .bx-wrapper .bx-pager {
	position:relative;
}

#bgLayer .bx-wrapper .bx-pager.bx-default-pager .bx-pager-item {
	width:40px;
	height:40px;
	line-height:40px;
	text-align:center;
}

#bgLayer .bx-wrapper .bx-pager.bx-default-pager a {
	display:inline-block;
	width:40px;
	height:40px;
	font-size:0;
	vertical-align:top;
	transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
	background-color:transparent;
	border:0 none;
	box-shadow:none;
}
#bgLayer .bx-wrapper .bx-pager.bx-default-pager a.active {
}
a.bx-pager-link:after {
    content:"★";
    font-size:24px;
    color:#ccc;
}
a.bx-pager-link.active:after {
    font-size:36px;
    color:#f39;
}


@media screen and (max-width:799px) { 
	#profileImageFrame.castFlagNewface:after {
		left:0;
	}
}


/* ==============================================
	profile information
=============================================== */
#profileInfoFrame {
}
#profileInfoFrame #profileProfileBloc {
	max-width:640px;
	margin:auto;
}
#profileInfoFrame #profileProfileBloc img {
	vertical-align:top;
}
#profileInfoFrame #profileTable {
	padding:0.5em 1em;
	font-size:90%;
	background-color:rgba(255,255,255,0.8);
	box-shadow:0 0 5px #999;
	text-align:left;
	display:flex;
	flex-wrap:wrap;
}
#profileInfoFrame #profileTable dt {
	width:210px;
	color:#f39;
	padding-bottom:10px;
}
#profileInfoFrame #profileTable dd {
	width:calc(100% - 220px);
	padding-bottom:10px;
}

#profileInfoFrame #profileMessageBloc {
	background-color:rgba(255,255,255,0.8);
	box-shadow:1px 1px 5px #666 inset;
	padding:0.5em;
}
#profileInfoFrame .profileSubHeader {
	color:#f39;
	padding-left:1em;
}

#profileInfoFrame #profileMessageBloc p {
	padding-left:2em;
}


@media screen and (max-width:799px) { 
	#profileInfoFrame #profileTable dt {
		width:100%;
		padding-bottom:0;
	}
	#profileInfoFrame #profileTable dd {
		width:100%;
		padding-left:1em;
		padding-bottom:0.5em;
	}

}



/* ==============================================
	profile > right info frame > bottom schedule
=============================================== */
#profileScheduleBloc {
	max-width:720px;
	margin:40px auto;
}

.profileSchedule {
	width:100%;
	margin:auto;
	font-size:80%;
	text-align:center;
	border-spacing:3px;
	padding:3px;
	line-height:1.6;
	border-collapse:separate;
}
.profileSchedule caption {
}
.profileSchedule th ,
.profileSchedule td {
	width:14%;
	padding:10px 0;
	font-weight:normal;
	border:1px solid #fff;
	box-shadow:0px 1px 3px #666;
	vertical-align:middle;
	background-color:rgba(255,255,255,0.8);
}
.profileSchedule .week0 {
	background-color:rgba(255,221,221,0.8);
}
.profileSchedule .week6 {
	background-color:rgba(221,221,255,0.8);
}


@media screen and (max-width:799px) { 
	.profileSchedule {
		font-size:90%;
	}
}



/* ==============================================
	profile(event)
=============================================== */
#profileInfoFrame.eventInfo {
}
#profileInfoFrame.eventInfo #profileProfileBloc {
	display:none;
}
#profileInfoFrame.eventInfo #profileMessageBloc {
	float:none;
	width:100%;
}


/* ==============================================
	profile > guide(bottom)
=============================================== */
#profileGuideBottom {
	height:40px;
	margin:60px auto 30px;
	overflow:hidden;
	font-size:0;
	text-align:center;
}
#profileGuideBottom li {
	display:inline-block;
	width:150px;
	height:40px;
	line-height:40px;
	font-size:13px;
	text-align:center;
}

#profileGuideBottom li a {
	display:block;
	width:150px;
	height:40px;
	color:#f39;
	border-right:1px solid #ccc;
}
#profileGuideBottom li:last-child a {
	border-right:0px none;
}
#profileGuideBottom li a span {
}
#profileGuideBottom li a:hover {
	color:#f39;
	text-shadow:1px 1px 0 #fff;
	box-shadow:0px 0px 5px #f39 inset;
}




/* ==============================================
	loading filter
=============================================== */
#loadingFilter {
	display:none;
	position:fixed;
	top:0;
	left:0;
	margin:0;
	width:100%;
	height:100%;
	z-index:99;
	background-color:rgba(255,255,255,0.9);
}
#loadingFilter #loadingFrame {
	width:100%;
	min-width:1000px;
	max-width:1600px;
	height:100%;
	padding-bottom:15%;
	padding-left:300px;
	padding-right:10px;
}
#loadingFilter #loadingFrame #loadingImg {
	width:100%;
	height:100%;
	background-image:url(img/loading.gif);
	background-position:50% 50%;
	background-repeat:no-repeat;
}





#melmaga {
	padding:45px 0 30px;
	text-align:center;
}
#melmaga li {
	padding:15px 0;
}
#melmaga img {
	max-width:1000px;
	border:1px solid #fff;
	box-shadow:3px 3px 10px #666;
}
#melmaga li a:hover img {
	border:1px solid #f0f;
	box-shadow:3px 3px 10px #666;
}




/* ==============================================
	headline
=============================================== */
#headline {
	margin:20px 10px 40px;
	position:relative;
	height:90px;
	padding:10px;
	background:#f90;
	display:flex;
	align-items:center;
}
#headline h2 {
	width:200px;
	padding-right:10px;
	display:flex;
	flex-wrap:wrap;
	text-align:center;
	align-items:center;
}
#headline h2 span {
	width:100%;
	color:#fff;
	line-height:1;
}
#headline h2 span:nth-child(1) {
	font-size:160%;
	font-weight:900;
	padding-bottom:5px;
	border-bottom:1px solid #fff;
}
#headline h2 span:nth-child(2) {
	padding-top:5px;
	letter-spacing:0.6em;
	text-indent:0.6em;
}

#headline #headlineText {
	width:calc(100% - 200px);
	height:100%;
	padding:0.5em 0.6em;
	background:#fff;
}
#headline #headlineText #headlineTextInner {
	width:100%;
	height:100%;
	overflow:hidden;
}
#headline #headlineText #headlineTextInner ul {
	display:inline-block;
	white-space:nowrap;
	height:100%;
}
#headline #headlineText #headlineTextInner ul li {
	display:inline-block;
	height:100%;
	padding-left:200px;
	line-height:1.5;
	font-size:220%;
}
#headline #headlineText #headlineTextInner ul li span {
	padding-left:0.5em;
	font-size:50%;
	color:#999;
}


@media screen and (max-width:799px) {
	#headline {
		height:auto;
		margin-bottom:0;
		flex-direction:column;
	}
	#headline h2 {
		width:100%;
		padding-bottom:0.3em;
		justify-content:center;
		align-items:center;
	}
	#headline h2 span {
		width:auto;
	}
	#headline h2 span:nth-child(1) {
		font-size:120%;
		border-bottom:0 none;
	}
	#headline h2 span:nth-child(2) {
		font-size:100%;
		padding-top:0;
		padding-left:1em;
	}

	#headline #headlineText {
		width:100%;
		height:auto;
		padding:5px;
	}
	#headline #headlineText #headlineTextInner ul li {
		font-size:24px;
		line-height:1.6;
	}
	#headline #headlineText #headlineTextInner ul li span {
		font-size:90%;
	}
}





.snsLinks {
	display:flex;
	justify-content:center;
	padding-top:10px;
}
.snsLinks > div {
	padding:5px;
}
.snsLinks > div a {
	height:45px;
	display:flex;
	align-items:center;
}
.snsLinks > div a > img {
	max-height:100%;
	border-radius:10px;
	transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
}
.snsLinks > div a:hover > img {
	box-shadow:0 0 5px #f00;
}
.snsLinks > div a > span {
	color:#666;
	font-size:12px;
	padding-left:0.3em;
}

#footer .snsLinks {
	display:none;
}



.sns.flex {
	max-width:1200px;
	margin:0 auto;
}

.sns .infoBox {
	width:800px;
	max-width:95%;
	height:480px;
}

@media screen and (max-width:799px) {
	.sns.flex {
		display:block;
	}
	.sns.flex.col2 > div {
		width:100%;
	}
}






