@charset "utf-8";


@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700;900&family=Montserrat:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Mochiy+Pop+One&display=swap');


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

@keyframes animateBlink {
	  0% { opacity:1; }
	100% { opacity:0.4; }
}
@-webkit-keyframes animateBlink {
	  0% { opacity:1; }
	100% { opacity:0.4; }
}

ul:not(.rankList) .castSize {
	display:none !important;
}


/* ============================================================================================
	CSS reset
============================================================================================= */
* {
	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;
	font-size:inherit;
	font-weight:inherit;
	text-decoration:inherit;
	line-height:inherit;
}
button ,input ,textarea ,select {
	font-size:16px;
	letter-spacing:1px;
	font-family:'Mochiy Pop One',sans-serif;
}
button {
	padding:5px 20px;
}

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

img ,video {
	vertical-align:bottom;
	max-width:100%;
	text-shadow:none;
	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;
}
/*
header ,footer ,nav ,article ,section ,aside {
	display:block;
}
*/

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


/* ============================================================================================
	common
============================================================================================= */
.center {
	text-align:center;
}

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

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

.mBottom {
	margin-bottom:2em;
}

.strong {
	color:#f30;
	font-size:120%;
}

.noDisp {
	display:none !important;
}


/* ==============================================
	title
=============================================== */
.titleBar {
	width:100%;
	margin-bottom:2em;
	letter-spacing:1px;
	display:flex;
	justify-content:center;
	flex-direction:column;
	text-align:center;
	color:#333;
	font-family:'Mochiy Pop One',sans-serif;
}

.titleBar:not(.sub) span:nth-child(1) {
	font-weight:bold;
	line-height:1.2;
	font-size:350%;
	color:#f39;
	text-shadow:3px 3px 0 #fff;
}
.titleBar:not(.sub) span:nth-child(2) {
	font-size:150%;
	color:#333;
}


.titleBar.sub {
	margin-bottom:1em;
	letter-spacing:2px;
	text-align:center;
	color:#00f;
}
.titleBar.sub.link {
	color:#666;
	font-size:150%;
	border-bottom:3px solid #ccc;
}
.titleBar.sub.color0 {
	color:#f06;
	border-bottom:3px solid #f30;
}
.titleBar.sub.color1 {
	color:#60f;
	border-bottom:3px solid #60f;
}
.titleBar.sub.color2 {
	color:#f06;
	border-bottom:3px solid #f06;
}

.titleBar.sub span:nth-child(1) {
	font-size:240%;
}


@media screen and (max-width:799px){
	.titleBar:not(.sub) span:nth-child(1) {
		font-size:200%;
	}
	.titleBar:not(.sub) span:nth-child(2) {
		font-size:110%;
	}

	.titleBar.sub span:nth-child(1) {
		font-size:160%;
		letter-spacing:0;
	}
}



/* ==============================================
	block
=============================================== */
.contentsBloc {
	padding-top:2em;
	padding-bottom:4em;
}

.subBox {
	padding:2em 0;
}

.noData {
	width:80%;
	margin-left:auto;
	margin-right:auto;
	min-height:300px;
	padding-top:5em;
	color:#333;
	text-align:center;
}

.infoBox {
	width:100%;
	margin-bottom:2em;
	padding:0.8em 1.5em;
	border:1px solid #06f;
	background-color:rgba(255,255,255,0.9);
	box-shadow:3px 3px 5px #333;
}
.infoBox p {
	padding:0.2em 0;
}
.infoBox.notes {
	width:80%;
	margin-left:auto;
	margin-right:auto;
}

.infoBox.notes.sub iframe {
	width:100%;
	height:480px;
	border:1px solid #06f;
	box-shadow:3px 3px 5px #333;
}
.infoBox.notes.sub {
	line-height:1.8;
	text-align:center;
}
.infoBox.notes.sub p.strong {
	font-size:180%;
	color:#c0f;
}



.infoBox.notes .headline ,
.noData .headline {
	color:#f06;
	font-size:150%;
}
.infoBox.notes .comment ,
.noData .comment {
	font-size:90%;
	color:#666;
}
.noData .comment2 {
	margin-top:1em;
	font-size:120%;
	color:#00f;
}


@media screen and (max-width:799px){
	.noData ,
	.infoBox ,
	.infoBox.notes {
		width:100%;
		padding:0.5em;
	}
	.infoBox.notes.sub p.strong {
		font-size:160%;
		line-height:1.4;
	}
	.infoBox.notes .headline ,
	.noData .headline {
		font-size:130%;
	}
}



/* ==============================================
	list
=============================================== */
.commonList {
	text-align:center;
	margin-bottom:1em;
}

.imageList {
	max-width:100%;
	text-align:center;
}
.imageList li {
	padding:1em;
}
.imageList li img {
	max-height:80vh;
	border:1px solid #06f;
	box-shadow:3px 3px 5px #333;
}


.imageList.event {
	display:flex;
	justify-content:flex-start;
	flex-wrap:wrap;
	text-align:center;
}

@media screen and (min-width:800px){
	.imageList.event li {
		width:50%;
		padding:2em;
		text-align:right;
	}
	.imageList.event li:nth-child(2n) {
		text-align:left;
	}
}

@media screen and (max-width:799px){
	.imageList.event li {
		width:100%;
	}
}



/* ==============================================
	table
=============================================== */
.commonTable {
	width:100%;
}
.commonTable th {
	width:20%;
	padding:0.5em;
	border:1px solid #999;
	letter-spacing:2px;
}
.commonTable td {
	padding:0.5em 1em;
	border:1px solid #999;
}




/* ============================================================================================
	body
============================================================================================= */
body {
	position:relative;
	font-family:'Mochiy Pop One',sans-serif;
	font-size:16px;
	line-height:1.6;
	color:#333;
}
body:before {
	content:"";
	position:fixed;
	top:0;
	bottom:0;
	left:0;
	right:0;
	display:block;
	background:url(images/common/bg.png) 50% 50% no-repeat;
	background-size:cover;
	opacity:0.6;
	z-index:1;
}
body div#bgLayer {
	position:relative;
	z-index:2;
}


body #body ,
#header .innerFrame ,
#footer .innerFrame {
	position:relative;
	width:100%;
	max-width:1920px;
	margin-left:auto;
	margin-right:auto;
	z-index:3;
}

.innerFrame {
	width:100%;
	margin-left:auto;
	margin-right:auto;
	padding:0 1em;
}


body #body {
	padding-top:10px;
}


@media screen and (min-width:800px){
	body #body ,
	#header .innerFrame ,
	#footer .innerFrame {
		min-width:1200px;
	}
}

@media screen and (max-width:799px){
	body div#bgLayer {
		width:480px;
		margin:0 auto;
		overflow:hidden;
	}
	.innerFrame {
		padding:0 0.5em;
	}

	body #body {
		padding-top:80px;
	}
}


/* ============================================================================================
	header
============================================================================================= */
/* ==============================================
	header pc
=============================================== */
@media screen and (min-width:800px){
	#header {
		position:relative;
		margin:0 auto;
		background:linear-gradient(180deg ,rgba(255,255,255,0.2) ,rgba(255,255,255,1) );
	}

	#header #h1 {
		border-bottom:1px solid #f9c;
		box-shadow:0px 1px 3px #fcf;
	}

	#header #h1 h1 {
		padding:0.2em 1em;
		font-size:80%;
	}
	#header #headerImagePane {
		position:relative;
		height:100px;
		padding:0.3em 1.5em;
		overflow:hidden;
		z-index:2;
		display:flex;
		justify-content:space-between;
		align-items:center;
	}
	#header #headerImagePane #headerLogo {
		height:100%;
		text-align:left;
	}
	#header #headerImagePane #headerLogo a {
		display:block;
		height:100%;
	}
	#header #headerImagePane #headerLogo img {
		height:100%;
	}

	#header #headerImagePane #headerInfoPane {
		align-self:flex-end;
		padding-bottom:0.3em;
		line-height:1.2;
		text-align:right;
		font-family:'Mochiy Pop One',sans-serif;
	}
	#header #headerImagePane #headerInfoPane #headerText {
		display:block;
	}
	#header #headerImagePane #headerInfoPane #headerTel {
		display:block;
		font-size:200%;
	}
	#header #headerImagePane #headerInfoPane #headerTel a {
		color:#000;
	}


	/* ==============================================
		header > menu
	=============================================== */
	#headerNav {
		position:sticky;
		top:0;
		left:0;
		min-width:1000px;
		width:100%;
		background-color:rgba(255,255,255,1);
		box-shadow:0px 2px 5px #333;
		z-index:100;
		font-family:'Mochiy Pop One',sans-serif;
	}
	#headerNav .navMenuBloc {
		width:100%;
		max-width:1920px;
		margin:0 auto;
		display:block;
	}
	#headerNav .navMenuBloc ul.navMenu {
		text-align:center;
		display:flex;
		align-items:center;
	}
	#headerNav .navMenuBloc li {
		flex-grow:1;
		width:calc(100% / 10);
		padding:3px 5px 8px;
		line-height:1.2;
		overflow:hidden;
		border-left:1px solid #eee;
	}
	#headerNav .navMenuBloc li.navMenu01 {
		border-left:0 none;
	}
	#headerNav .navMenuBloc li .aLink {
		display:inline-block;
		width:100%;
		height:100%;
		border-bottom:4px solid #eee;
		padding:10px 0 5px;
	}
	#headerNav .navMenuBloc li .aLink span {
		color:#f39;
		letter-spacing:0px;
	}
	#headerNav .navMenuBloc li .aLink span:nth-child(1) {
		font-weight:bold;
	}
	#headerNav .navMenuBloc li .aLink span:nth-child(2) {
		display:block;
		padding-bottom:3px;
		color:#666;
		font-size:80%;
	}
	#headerNav .navMenuBloc li.active .aLink {
		border-bottom:4px solid #06f;
	}

	#headerNav .navMenuBloc li:not(.active):hover .aLink {
		border-bottom:4px solid #0cf;
	}
}



/* ==============================================
	header sp
=============================================== */
@media screen and (max-width:799px){
	#header {
		position:fixed;
		top:0;
		left:0;
		width:100%;
		height:60px;
		background-color:rgba(255,255,255,1);
		box-shadow:0 2px 5px #06f;
		z-index:10002;
	}
	#header > div {
		width:480px;
		margin:0 auto;
	}
	#headerImagePane {
		position:relative;
		text-align:left;
		z-index:10003;
		height:60px;
		display:flex;
		justify-content:space-between;
		align-items:center;
		padding:5px;
	}
	#headerImagePane img {
		max-height:100%;
	}



	#headerImagePane #headerLogo {
		margin-right:auto;
	}
	#headerImagePane #headerLogo img {
		max-height:52px;
	}

	#headerImagePane #headerInfoPane {
		padding-right:0.5em;
	}
	#headerImagePane #headerInfoPane #headerText {
		display:none;
	}
	#headerImagePane #headerInfoPane #headerTel {
	}
	#headerImagePane #headerInfoPane #headerTel a {
		display:block;
	}
	#headerImagePane #headerInfoPane #headerTel a img {
		width:50px;
		height:50px;
	}
	#headerImagePane #headerSPAccessIcon ,
	#headerImagePane #headerSPMenuIcon {
		padding-right:0.5em;
	}
	#headerImagePane #headerSPAccessIcon img {
		width:100px;
		height:50px;
	}
	#headerImagePane #headerSPMenuIcon img {
		width:50px;
		height:50px;
	}


	/* ==============================================
		header > navMenu
	=============================================== */
	#headerNav .navMenuBloc {
		position:fixed;
		top:0;
		right:-100%;
		padding-top:63px;
		width:360px;
		background:rgba(255,255,255,0.95);
		border-left:2px solid #666;
		border-bottom:2px solid #666;
		box-shadow:-2px 2px 5px #f6c;
		z-index:10001;
		transition:all 0.2s ease;
		-webkit-transition:all 0.2s ease;
	}
	#headerNav.on .navMenuBloc {
		right:0px;
	}
	#headerNav .navMenuBloc .navMenuBlocInner {
		width:100%;
	}
	#headerNav .navMenuBloc ul.navMenu {
		width:100%;
		margin:auto;
	}
	#headerNav .navMenuBloc li {
		width:100%;
		border-bottom:2px solid #06f;
		overflow:hidden;
	}
	#headerNav .navMenuBloc li .aLink {
		position:relative;
		display:block;
		padding:0.5em 1em;
		color:#f39;
		font-size:120%;
		font-weight:bold;
		letter-spacing:1px;
		font-family:'Mochiy Pop One',sans-serif;
		display:flex;
		justify-content:space-between;
		align-items:center;
	}
	#headerNav .navMenuBloc li .aLink span:nth-child(1) {
		margin-right:auto;
	}

	#headerNav .navMenuBloc li .aLink span:nth-child(2) {
		font-size:80%;
	}

	#headerNav .navMenuBloc li .aLink:after {
		content:">";
		padding-left:0.3em;
		font-size:120%;
	}
}







/* ============================================================================================
	footer
============================================================================================= */
#footer {
	position:relative;
	margin-top:2em;
	padding:2em 0;
	background:linear-gradient(0deg ,rgba(255,255,255,0.2) ,rgba(255,255,255,1) );
	border-top:1px solid #f9c;
	border-bottom:1px solid #f9c;
	color:#000;
	text-align:center;
}

#footer ul.navMenu {
	padding-bottom:2em;
	text-align:center;
	z-index:10;
	font-family:'Mochiy Pop One',sans-serif;
	display:flex;
	justify-content:center;
	align-items:center;
}
#footer ul.navMenu li {
	border-right:1px solid #333;
}
#footer ul.navMenu li:last-child {
	border-right:0px none;
}
#footer ul.navMenu li .aLink {
	display:block;
	padding:0 1em;
	font-size:90%;
	letter-spacing:1px;
	font-weight:bold;
	color:#09f;
	text-shadow:1px 1px 0 #fff;
}
#footer ul.navMenu li .aLink span {
}
#footer ul.navMenu li .aLink span:nth-child(2) {
	display:none;
}
#footer ul.navMenu li .aLink:hover {
	color:#f06;
	text-shadow:2px 2px 0 #ccc;
}


#footer #footerInfo {
	text-align:center;
	font-size:120%;
	color:#000;
	text-shadow:1px 1px 0 #fff;
	font-family:'Mochiy Pop One',sans-serif;
}
#footer #footerInfo #footerLogo {
	width:480px;
	max-width:90%;
	margin:0 auto;
	padding:2em 0 1em;
}


#footer #footerInfo li#footerTel a {
	font-size:200%;
	line-height:1.2;
}

#copyright {
	padding:1em 0;
	color:#666;
	text-align:center;
}
#copyright a {
	color:inherit;
}
#copyright a:hover {
	color:#f06;
	text-decoration:underline;
}


#scrollTop {
	position:fixed;
	right:0;
	bottom:0;
	z-index:10000;
}
#scrollTop #scrollTopInner {
	width:3.5em;
	height:3.5em;
	border-top:1px solid #f06;
	border-left:1px solid #f06;
	background:rgba(255,102,204,0.9);
	display:flex;
	justify-content:center;
	align-items:center;
}

@media screen and (max-width:799px){
	#footer #footerInfo li#footerTel a {
		font-size:160%;
	}
	#copyright {
		font-size:80%;
	}
}


/* ============================================================================================
	page layout
============================================================================================= */
/* ==============================================
	index > enter buttons
=============================================== */
#enterMainFrame {
	position:relative;
	width:100%;
	padding-bottom:4em;
	text-align:center;
}
ul#enterButtonBloc {
	position:relative;
	margin:0 auto;
	padding:2em 0;
	text-align:center;
	font-family:'Mochiy Pop One',sans-serif;

	display:flex;
	justify-content:center;
}
ul#enterButtonBloc li {
	width:300px;
	height:100%;
}
ul#enterButtonBloc li#mark {
	width:160px;
}

ul#enterButtonBloc li a {
	display:block;
	width:100%;
	height:100%;
	color:#333;
	text-shadow:2px 2px 1px #fff;
}
ul#enterButtonBloc li a span {
	display:block;
}
ul#enterButtonBloc li a span:nth-child(1) {
	line-height:1.2;
	font-size:350%;
	font-weight:900;
	text-shadow:2px 2px 0px #fff;
	letter-spacing:2px;
	text-indent:2px;
	font-family:'Mochiy Pop One',sans-serif;
}
ul#enterButtonBloc li#enterButton a:hover {
	color:#f06;
}
ul#enterButtonBloc li#exitButton a:hover {
	color:#06f;
}



#index_text {
	font-size:80%;
}


@media screen and (max-width:799px){
	ul#enterButtonBloc li {
		width:180px;
	}
	ul#enterButtonBloc li#mark {
		width:80px;
		padding-left:0.5em;
	}

	ul#enterButtonBloc li a span:nth-child(1) {
		font-size:260%;
	}
	ul#enterButtonBloc li a span:nth-child(2) {
		font-size:60%;
	}
}




/* ==============================================
	home > homeTop
=============================================== */
#homeTopBloc {
	padding-left:15px;
	padding-right:15px;
}

#homeCatchBloc {
	padding-bottom:60px;
	text-align:center;
}
#homeCatchBloc .dispSP {
	width:480px;
}


/* ==============================================
	home > homeTop > slider
=============================================== */
#homeSliderBloc {
	max-width:95%;
	margin:auto;
	padding-bottom:60px;
}
#homeSliderBloc .bx-wrapper {
	padding-bottom:40px;
}
#homeSliderBloc .bx-wrapper .bx-viewport {
	background:transparent;
	border:0 none;
}
#homeSliderBloc .bx-wrapper .bx-viewport div {
	padding:0 10px;
}
#homeSliderBloc .bx-wrapper .bx-viewport img {
	max-height:80vh;
	border:1px solid #fff;
	box-shadow:2px 2px 5px #666;
	object-fit:contain;
}

#homeSliderBloc .bx-wrapper .bx-pager {
	bottom:0;
}


#homeSliderBloc .bx-wrapper .bx-pager.bx-default-pager a {
	width:15px;
	height:15px;
	font-size:0;
	line-height:1;
	background:#999;
	border:1px solid #666;
	border-radius:50%;
	box-shadow:2px 2px 3px #666;
}
#homeSliderBloc .bx-wrapper .bx-pager.bx-default-pager a.active {
	background:#f06;
	border:1px solid #f06;
}




/* ==============================================
	home > main > news
=============================================== */
ul#homeNews {
	margin-bottom:0.5em;
}

ul#homeNews li {
	position:relative;
	padding:1em;
	border-bottom:1px dashed #666;
}
ul#homeNews li:last-child {
	border-bottom:0px none;
}
ul#homeNews li p {
	padding:0;
}

ul#homeNews li .newsInfo {
}
ul#homeNews li .newsDate {
	font-weight:bold;
	color:#f06;
	margin-bottom:0.5em;
}
ul#homeNews li .newsText {
}


div#newsLink {
	padding:0.5em;
	text-align:right;
}


ul#homeNews li.infoBox {
	padding:0.5em;
	border-bottom:0px none;
}


@media screen and (max-width:799px){
	ul#homeNews li {
		padding:0.5em 0;
	}
	ul#homeNews li .newsDate {
		font-size:90%;
	}
}



/* ============================================================================================
	system
============================================================================================= */
div.system {
	padding-top:1em;
	width:900px;
	max-width:100%;
	margin-left:auto;
	margin-right:auto;
	text-align:center;
}
div.system ul.infoBox {
	font-size:200%;
	padding:0.5em 1em;
	text-shadow:1px 1px 0 #fff,1px 1px 3px #999;
}
div.system ul.infoBox li.cate {
	color:#06f;
	padding-bottom:0.5em;
}
div.system ul.infoBox li.cate > .subTitle {
	font-size:120%;
}
div.system ul.infoBox li.cate > .comment {
	font-size:80%;
	color:#f39;
}

div.system ul.infoBox li.cate > .course {
	font-size:150%;
}
div.system ul.infoBox li.cate > .playtime {
	padding-left:1em;
	font-size:130%;
}
div.system ul.infoBox li.cate > .image {
	width:100%;
}

div.system ul.infoBox li.flex {
	display:flex;
	flex-wrap:wrap;
	align-items:flex-start;
	padding:0 1em 0.5em;
}
div.system ul.infoBox li.flex > span.time {
	width:50%;
	text-align:left;
}
div.system ul.infoBox li.flex > span.price {
	width:50%;
	text-align:right;
}
div.system ul.infoBox li.flex > span.notes {
	width:100%;
	padding-left:0.5em;
	padding-bottom:0.5em;
	font-size:80%;
	color:#66f;
	text-align:left;
}


@media screen and (max-width:799px){
	div.system ul.infoBox {
		font-size:150%;
		padding:0.5em;
	}
	div.system ul.infoBox li.flex {
		padding:0 0.5em 0.5em;
	}
}




/* ============================================================================================
	access
============================================================================================= */



/* ============================================================================================
	recruit
============================================================================================= */
a.recruitButton {
	display:block;
	width:80%;
	max-width:600px;
	margin:30px auto 60px;
	padding:0.5em 0.6em;
	text-align:center;
	font-size:130%;
	letter-spacing:1px;
	color:#000;
	text-shadow:1px 1px 0 #fff;
	background-color:rgba(255,255,255,0.9);
	border:1px solid #ccc;
	border-radius:10px;
	box-shadow:3px 3px 5px #333;
}
a.recruitButton:hover {
	color:#fff;
}


.recruit-0 .commonTable.recruit {
	background-color:rgba(255,192,240,0.1);
}
.recruit-0 .commonTable.recruit th {
	color:#f06;
	border:1px solid #f39;
}
.recruit-0 .commonTable.recruit td {
	border:1px solid #f39;
}
.recruit-0 a.recruitButton:hover {
	text-shadow:1px 1px 0 #f06;
	background-color:rgba(255,128,192,0.9);
	border:1px solid #f09;
}

.recruit-1 .commonTable.recruit {
	background-color:rgba(192,224,255,0.1);
}
.recruit-1 .commonTable.recruit th {
	color:#06f;
	border:1px solid #9cf;
}
.recruit-1 .commonTable.recruit td {
	border:1px solid #9cf;
}
.recruit-1 a.recruitButton:hover {
	text-shadow:1px 1px 0 #03f;
	background-color:rgba(128,192,255,0.9);
	border:1px solid #06f;
}



/* ============================================================================================
	recruit form
============================================================================================= */
form .commonTable th {
	width:40%;
	padding-right:1em;
	text-align:right;
}

@media screen and (max-width:799px){
	form .commonTable ,
	form .commonTable caption ,
	form .commonTable thead ,
	form .commonTable tbody ,
	form .commonTable tfoot ,
	form .commonTable tr ,
	form .commonTable th ,
	form .commonTable td {
		display:block;
		width:100%;
		border:0 none;
	}
	form .commonTable th {
		font-size:120%;
		text-align:left;
	}
	form .commonTable td {
		padding:0 1em 1em;
		border-bottom:1px solid #ccc;
	}
}



@media screen and (max-width:799px) { 
	input ,textarea ,select {
		font-size:120%;
	}
	input:not([type="submit"]) {
		width:60%;
	}
	textarea {
		display:block;
		margin:auto;
	}
}

.error {
	display:block;
	color:#f06;
}

input {
	max-width:100%;
}
input.widthS {
	width:3em;
}
input.widthMS {
	width:8em;
}
input.widthM {
	width:10em;
}
input.widthL {
	width:20em;
}
textarea {
	width:80%;
	max-width:100%;
	height:5em;
}
textarea.heightL {
	height:8em;
}

input[type="submit"] {
	font-size:120%;
	padding:0.5em 1.5em;
}

.formButton {
	width:100%;
	margin:auto 1em;
	padding:2em 0;
	text-align:center;
}




.required {
	display:flex;
	justify-content:flex-end;
	align-items:center;
}
.required:after ,
.required:before {
	display:inline-block;
	padding:0 0.3em;
	font-size:80%;
	color:#fff;
	background:#e22;
	border-radius:3px;
}

@media screen and (min-width:800px) { 
	.required:after {
		content:attr(data-text);
		margin-left:0.3em;
	}
}
@media screen and (max-width:799px) { 
	.required {
		justify-content:flex-start;
	}
	.required:before {
		content:attr(data-text);
		margin-right:0.3em;
	}
}





/* ============================================================================================
	link banner
============================================================================================= */
table.bannerTable {
	margin:1em auto;
}
table.bannerTable td {
	padding:1em;
}
table.bannerTable td img {
	box-shadow:0 0 3px #999;
}


.linkList {
	display:flex;
	justify-content:center;
	align-items:stretch;
	flex-wrap:wrap;
}
.linkList li {
	padding:0.2em;
}
.linkList li a {
	display:block;
	width:100%;
	height:100%;
	padding:0.2em;
	text-align:center;
	font-size:80%;
	color:#f39;
}
.linkList li a img {
}
.linkList li a:hover {
	color:#fff;
	background-color:rgba(255,0,102,0.4);
}




/* ============================================================================================
	castlist
============================================================================================= */
ul.castList {
	margin-bottom:1em;
	width:100%;
	display:flex;
	flex-wrap:wrap;
}
ul.castList .castCell {
	position:relative;
	width:25%;
	margin:0;
	text-align:center;
	padding:2em 0.5em;
}

.castCell .aFrame {
	display:block;
	width:100%;
	height:100%;
	color:#333;
	text-align:center;
	padding:3px;
	border:1px solid #9cf;
	background:rgba(255,255,255,0.9);

}
.castCell .castImage {
	position:relative;
	display:block;
	aspect-ratio:600/800;
	background:#fff;
}
.castCell .castImage img {
	width:100%;
	height:100%;
	object-fit:contain;
}
.castCell .castImage img.castImageA {
	position:relative;
	opacity:1;
	z-index:2;
	transition:all 0.2s linear;
	-webkit-transition:all 0.2s linear;
}
.castCell .castImage img.castImageB {
	position:absolute;
	top:0;
	left:0;
	z-index:1;
}

.castCell .castInfo {
	position:relative;
	display:block;
}
.castInfo .castName {
	position:relative;
	display:block;
	font-size:180%;
	letter-spacing:1px;
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
	-webkit-text-overflow:ellipsis;
	-o-text-overflow: ellipsis;
}
.castInfo .castName > span.number {
	font-size:80%;
}

.castInfo .castName.castFlagMovie:after  {
	content:"";
	display:inline-block;
	width:1.4em;
	background:url(images/icons/movie2_icon.png) 50% 50% no-repeat;
	background-size:90%;
	margin-left:5px;
}

.castInfo .castSize {
	display:block;
	color:#093;
}
.castInfo .castTime {
	display:block;
	letter-spacing:2px;
}
.castInfo .castTime.castFlagToday {
	color:#fff;
	text-shadow:1px 1px 0 #000;
	background-color:#0cf;
}




@media screen and (min-width:800px) { 
	.castInfo .castName > span.number:before {
		content:"No.";
	}
	.castInfo .castName > span.number:after {
		content:" ";
	}
	.castInfo .castTime {
		font-size:120%;
	}
	.castTime.castFlagToday:before {
		content:"本日出勤 ";
	}

}

@media screen and (max-width:799px) { 
	ul.castList .castCell {
		width:50%;
		padding:0 0.3em 2em;
	}

	.castInfo .castName {
		font-size:130%;
	}
	.castInfo .castName > span.number:after {
		content:". ";
	}

}



/* ==============================================
	cast cell icons
=============================================== */
.castIconsFilter {
	display:block;
	position:relative;
	width:100%;
	height:100%;
}

.castIconsFilter.castFlagNewface:before ,
.castIconsFilter.castFlagPickup:after {
	content:"";
	position:absolute;
	width:35%;
	max-width:100px;
	z-index:5;
}
.castIconsFilter.castFlagNewface:before {
	content:"New!";
	top:-8px;
	right:0px;
	font-size:240%;
	color:#fef;
	text-shadow:  1px  1px 0px #f06
				,-1px -1px 0px #f06
				, 0px -1px 0px #f06
				,-1px  1px 0px #f06
				, 0px  2px 2px #f06
				, 0px -2px 2px #f06
				, 2px  0px 2px #f06
				,-2px  0px 2px #f06;
	font-family:'Mochiy Pop One',sans-serif;
	transform:rotateZ(15deg);

	-webkit-animation:1.5s animateBlink infinite alternate ease-in;
	animation:1.5s animateBlink infinite alternate ease-in;
}
.castIconsFilter.castFlagPickup:after {
	content:"Pickup";
	top:-3px;
	left:-5px;
	font-size:200%;
	color:#eff;
	text-shadow:  1px  1px 0px #06f
				,-1px -1px 0px #06f
				, 0px -1px 0px #06f
				,-1px  1px 0px #06f
				, 0px  2px 2px #06f
				, 0px -2px 2px #06f
				, 2px  0px 2px #06f
				,-2px  0px 2px #06f;
	font-family:'Mochiy Pop One',sans-serif;
	transform:rotateZ(-15deg);
}


.castInfo .castIcon {
	text-align:center;
	display:flex;
	justify-content:center;
	align-items:flex-start;
	flex-wrap:wrap;
	overflow:hidden;
}
.castInfo .castIcon .textIcon {
	padding:0 3px;
	margin:0 3px;
	color:#f60;
	border-radius:3px;
	box-shadow:1px 1px 3px #f60;
}



@media screen and (max-width:799px) { 
	.castIconsFilter.castFlagNewface:before {
		top:-1px;
		right:-5px;
		font-size:130%;
	}
	.castIconsFilter.castFlagPickup:after {
		font-size:120%;
	}

}



/* ==============================================
	cast cell hover
=============================================== */
.castCell a.aFrame:hover {
	background:rgba(255,240,250,1);
	box-shadow:0px 0px 1em #f06;
}
.castCell a:hover .castImageA {
	opacity:0;
}
.castCell a:hover .castImageB {
}
.castCell a:hover .castName {
}




/* ============================================================================================
	schedule
============================================================================================= */
#dateList {
	width:100%;
	margin:1em auto 4em;
	text-align:center;
	display:flex;
	justify-content:space-between;
	font-weight:bold;
	color:#333;
	text-shadow:1px 1px 1px #fff;
}
#dateList li {
	width:calc(100% / 7);
	padding:0 5px;
}
#dateList li > span {
	display:block;
	padding:0.5em 0;
	cursor:pointer;
	border:1px solid #fff;
	background-color:rgba(255,255,255,1);
	box-shadow:0px 1px 3px #666;
}
#dateList li.on > span {
	color: #fff;
	text-shadow:1px 1px 1px #000;
	background:#06f;
}
#dateList li:not(.on):hover > span {
	border:1px solid #06f;
    box-shadow: 0px 0px 0.3em #06f;
}


@media screen and (max-width:799px) { 
	#dateList li {
		width:calc(100% / 7 - 3px);
		padding:0;
	}
}




/* ==============================================
	profile
=============================================== */
#profileMainBloc {
	max-width:1400px;
	margin:0 auto;
	padding-top:4em;
	display:flex;
	justify-content:center;
}

@media screen and (max-width:799px) { 
	#profileMainBloc {
		display:block;
	}
}


/* ==============================================
	profile > left image frame
=============================================== */
#profileImageBloc {
	position:relative;
	width:48%;
	padding:0 3em;
	text-align:center;
}
#profileImageBloc #profileImage {
	border:1px solid #fff;
	box-shadow:3px 3px 5px #333;
}
#profileImageBloc #profileImage img {
	width:100%;
	aspect-ratio:3/4;
	object-fit:contain;
}

#profileImageBloc #profileVideo {
	max-width:600px;
	margin:auto;
	padding-top:2em;
}
#profileVideo .videoTitle {
	padding:0.5em 0;
	font-size:150%;
	color:#f06;
}
#profileImageBloc #profileVideo video {
    border: 1px solid #fff;
    box-shadow: 0px 1px 3px #666;
}

@media screen and (max-width:799px) { 
	#profileImageBloc {
		width:100%;
		padding:0 1em;
	}
}


/* ==============================================
	cast cell icons
=============================================== */
#profileImageFrame.castFlagNewface:before ,
#profileImageFrame.castFlagPickup:after {
	content:"";
	position:absolute;
	width:25%;
	max-width:150px;
	height:100px;
	background-repeat:no-repeat;
	background-position:50% 0%;
	background-size:contain;
	z-index:5;
}
#profileImageFrame.castFlagNewface:before {
	content:"New!";
	top:-10px;
	left:40px;
	font-size:54px;
	color:#fff;
	text-shadow:  2px  2px 0px #f06
				,-2px -2px 0px #f06
				, 0px -2px 0px #f06
				,-2px  2px 0px #f06
				, 0px  2px 5px #f06
				, 0px -2px 5px #f06
				, 2px  0px 5px #f06
				,-2px  0px 5px #f06;
	font-family:'Mochiy Pop One',sans-serif;
	transform:rotateZ(-15deg);

	-webkit-animation:1.5s animateBlink infinite alternate ease-in;
	animation:1.5s animateBlink infinite alternate ease-in;
}
#profileImageFrame.castFlagPickup:after {
	content:"Pickup!";
	top:-15px;
	right:60px;
	font-size:48px;
	color:#fff;
	text-shadow:  2px  2px 0px #06f
				,-2px -2px 0px #06f
				, 0px -2px 0px #06f
				,-2px  2px 0px #06f
				, 0px  2px 5px #06f
				, 0px -2px 5px #06f
				, 2px  0px 5px #06f
				,-2px  0px 5px #06f;
	font-family:'Mochiy Pop One',sans-serif;
	transform:rotateZ(15deg);
}


/* ==============================================
	profile > left image frame > thumbs
=============================================== */
#profileThumbs {
	padding-top:1em;
	text-align:center;
	display:flex;
	justify-content:center;
}
#profileThumbs li {
	width:20%;
	padding:0 3px;
}
#profileThumbs li.imageOn {
	cursor:pointer;
}
#profileThumbs li > div {
	border:1px solid #fff;
	box-shadow:3px 3px 5px #333;
}
#profileThumbs li img {
	width:100%;
	aspect-ratio:3/4;
	object-fit:contain;
}


/* ==============================================
	profile > right info frame
=============================================== */
#profileInfoFrame {
	flex-grow:1;
	position:relative;
	padding:0.5em 1em;
}

@media screen and (max-width:799px) { 
	#profileInfoFrame {
		padding-top:3em;
	}
}


/* ==============================================
	profile > right info frame > top name
=============================================== */
.profileName {
	position:relative;
	padding:1em 0 2em;
	letter-spacing:2px;
	text-align:center;
	font-weight:bold;

}
.profileName .number {
	font-size:240%;
}
.profileName .name {
	font-size:300%;
}
.profileName span.name.castFlagMovie:after  {
	content:"　";
	display:inline-block;
	width:1.4em;
	background:url(images/icons/movie2_icon.png) 50% 50% no-repeat;
	background-size:80%;
	margin-left:0.3em;
}

.profileName span.profileSize {
	display:block;
	font-size:120%;
	letter-spacing:1px;
	color:#096;
}
.profileName span.profileSize span {
}


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



/* ==============================================
	profile icons
=============================================== */
.profileIcons {
	text-align:center;
	padding-top:1em;
	display:flex;
	justify-content:center;
}
.profileIcons .textIcon {
	font-size:120%;
	padding:0 3px;
	margin:0.3em;
	color:#f60;
	border-radius:3px;
	box-shadow:0px 0px 3px #f60;
}


@media screen and (max-width:799px) { 
	.profileIcons {
		padding-top:0.5em;
	}
	.profileIcons .textIcon {
		font-size:100%;
	}
}



/* ==============================================
	profile > right info frame > profile
=============================================== */
#profileInfoFrame #profileProfileBloc {
}
#profileInfoFrame #profileProfileBloc img {
	vertical-align:top;
}
#profileInfoFrame #profileTable {
	width:100%;
	padding:1em 0.5em;
	text-align:left;
	border:1px solid #06f;
	background-color:rgba(255,255,255,0.9);
	box-shadow:3px 3px 5px #333;
}
#profileInfoFrame #profileTable dt {
	color:#00f;
	padding-left:1em;
	padding-right:1em;
}
#profileInfoFrame #profileTable dd {
	padding-left:3em;
	padding-right:1em;
	border-bottom:1px solid #ccc;
	margin-bottom:5px;
}



/* ==============================================
	profile > right info frame > message
=============================================== */
#profileInfoFrame #profileMessageBloc {
}
#profileInfoFrame .profileSubHeader {
	color:#f06;
	padding-left:1.5em;
}

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



/* ==============================================
	profile > right info frame > bottom schedule
=============================================== */
#profileScheduleBloc {
	margin-top:4em;
}

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




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


/* ==============================================
	profile > guide(bottom)
=============================================== */
#profileGuideBottom {
	padding-top:6em;
	border-left:1px solid #fff;
	display:flex;
	justify-content:center;
	text-align:center;
}
#profileGuideBottom li {
	width:150px;
	padding:0 3px;
}

#profileGuideBottom li a {
	display:block;
	width:100%;
	padding:0.5em 0;
	font-size:90%;
	color:#06f;
	background-color:rgba(255,255,255,0.8);
	border:1px solid #999;
}
#profileGuideBottom li a span {
}
#profileGuideBottom li a:hover {
	color:#00f;
	text-shadow:1px 1px 0 #fff;
	background-color:rgba(0,255,255,0.2);
}



/* ============================================================================================
	ranking
============================================================================================= */
.ranking {
	text-align:center;
	padding-bottom:4em;
}

.rankFlex > .rankFlexBloc {
	width:80%;
	margin:0 auto;
}


@media screen and (max-width:799px) { 
	.rankFlex > .rankFlexBloc {
		width:100%;
	}
}



/* ==============================================
	ranking title
=============================================== */
.rankTitle {
	background:rgba(255,255,255,0.8);
	box-shadow:2px 2px 0 #fff ,4px 4px 5px #333;
}



/* ==============================================
	ranking list
=============================================== */
.rankList {
}
.rankList .rankCell {
	padding-bottom:2em;
	width:680px;
	max-width:100%;
	margin:0 auto;
}
.rankList .rankCell .aFrame {
	width:100%;
	height:100%;
	padding:5px;
	display:flex;
	flex-wrap:wrap;
	border:1px solid #ddd;
	background:rgba(255,255,255,0.9);
	box-shadow:3px 3px 5px #333;
}

.rankList .castRank {
	order:1;
	width:100%;
	padding-bottom:5px;
	display:block;
	font-size:150%;
	text-align:center;
}
#ranking0 .castRank {
	color:#f06;
}
#ranking1 .castRank {
	color:#60f;
}
#ranking2 .castRank {
	color:#f06;
}



/* ==============================================
	ranking cell > image
=============================================== */
.rankCell .castImage {
	position:relative;
	order:2;
	width:300px;
	aspect-ratio:600/800;
}
.rankCell .castImage img {
	width:100%;
	height:100%;
	object-fit:cover;
}
.rankCell img.castImageA {
	position:relative;
	opacity:1;
	z-index:2;
	transition:all 0.2s linear;
	-webkit-transition:all 0.2s linear;
}
.rankCell img.castImageB {
	position:absolute;
	top:0;
	left:0;
	z-index:1;
}


@media screen and (max-width:799px) { 
	.rankCell .castImage {
		width:195px;
	}
}



/* ==============================================
	ranking cell > info
=============================================== */
.rankCell .castInfo {
	order:3;
	width:calc(100% - 300px);
	height:400px;
	padding:5px 10px;
	overflow:auto;
	color:#666;
	text-align:center;
}
.rankCell .castInfo .castName {
	color:#333;
}

@media screen and (max-width:799px) { 
	.rankCell .castInfo {
		width:calc(100% - 195px);
		height:280px;
	}
	.rankCell a .castInfo {
		font-size:90%;
	}
}




.rankCell .castInfo .castText {
	display:block;
	width:100%;
	padding:0 5px;
	height:8em;
	overflow:auto;
	border-top:1px solid #ccc;
	border-bottom:1px solid #ccc;
	text-align:left;
}
.rankCell .castInfo .castProf {
	width:100%;
	text-align:left;
	padding:5px;
}
.rankCell .castInfo .castProf dt {
	color:#00f
}
.rankCell .castInfo .castProf dd {
	padding-left:1em;
}



/* ==============================================
	ranking cell :hover
=============================================== */
.rankList .rankCell a:hover .castImageA {
	opacity:0;
}
.rankList .rankCell a:hover .castName {
	color:#f00;
}




