@charset "utf-8";

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

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

.noDisp {
	display:none !important;
}

@keyframes animateBlink {
	  0% { transform:rotate( 10deg); }
	 50% { transform:rotate( -5deg); }
	100% { transform:rotate(-20deg); }
}
@-webkit-keyframes animateBlink {
	  0% { transform:rotate( 10deg); }
	 50% { transform:rotate( -5deg); }
	100% { transform:rotate(-20deg); }
}


/* ==============================================
	variables
=============================================== */
*{
	--main-fonts:'Noto Sans JP',sans-serif;
	--title-fonts: "Noto Serif JP", serif;
	--noimage-text-fonts:'Noto Sans JP',sans-serif;
}

/* ==============================================
	CSS reset
=============================================== */
* ,*:before ,*:after {
	box-sizing:border-box;
	text-size-adjust:100%;
	-webkit-text-size-adjust:100%;
}
.bx-wrapper * {
	backface-visibility:hidden;
	-webkit-backface-visibility:hidden;
}
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;
}
button ,input ,textarea ,select {
	font-size:16px;
	padding:5px;
	font-family:var(--main-fonts);
}
input[type="submit"] ,button {
	font-size:16px;
	padding:10px 30px;
	font-family:inherit;
}

html ,body {
	min-height:100%;
	height:100%;
	font-family:var(--main-fonts);
	line-height:1.3;
}
a ,a:before ,a:after {
	color:inherit;
	text-decoration:none;
	transition:all 0.3s ease;
	-webkit-transition:all 0.3s ease;
}
a:hover {
	color:#00f;
	text-decoration:none;
}

img {
	vertical-align:middle;
	max-width:100%;
}

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;
}
.iframeOuter {
	overflow:auto;
	-webkit-overflow-scrolling:touch;
}
.iframeOuter > * {
	display:block;
	width:100%;
/*
	height:100%;
	height:-webkit-fill-available;
*/
}



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


/* ============================================================================================
	common
============================================================================================= */
/* ==============================================
	titlebar
=============================================== */
.titleBar {
	padding-bottom:1em;
	font-size:300%;
	text-align:center;
	color:#00f;
	text-shadow:0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff
				,0 0 10px #fff,0 0 10px #fff,0 0 10px #fff,0 0 10px #fff
				,0 0 10px #fff,0 0 10px #fff,0 0 10px #fff,0 0 10px #fff;
	display:flex;
	justify-content:center;
	align-items:center;
	flex-direction:column;
}

.titleBar > span:nth-child(1) {
	position:relative;
	font-size:160%;
	line-height:1;
	font-family:var(--title-fonts);
	font-weight: 900;
	color:#e60012;
}
.titleBar > span:nth-child(2) {
	padding-top:0.3em;
	line-height:1.2;
	font-size:80%;
	text-indent:0.1em;
	position:relative;
	color:#e60012;
}

.titleBar.sub {
	margin:0 0 20px;
	padding:0.3em 0.5em;
	line-height:1em;
	font-size:42px;
	letter-spacing:0.1em;
	text-align:center;
}
.titleBar.sub.center {
	text-align:center;
}
.titleBar.sub.color0 {
}
.titleBar.sub.color1 {
}

.titleBar.sub span {
	display:inline-block;
}

.titleBar.sub span:nth-child(1) {
	padding-left:10px;
	display:flex;
	justify-content:center;
	align-items:center;
	width:calc(100% - 140px);
	margin:0 auto;
}


.titleBar.sub span:nth-child(2) {
	padding-right:10px;
}

@media screen and (max-width:799px) {
	.titleBar {
		font-size:170%;
	}
	.titleBar > span:nth-child(1) {
	}
	.titleBar > span:nth-child(2) {
		font-size:100%;
	}

	.titleBar.sub {
		margin:0 5px 20px;
		padding:10px;
		font-size:24px;
		letter-spacing:0.05em;
		text-indent:0.05em;
	}

	.titleBar .star {
		font-size:70%;
		padding-bottom:0.1em;
	}

	.titleBar.sub span:nth-child(1) {
		font-size:24px;
		width:100%;
		display:block;
	}

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

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


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


/* ==============================================
	common attribute
=============================================== */
.contentsBloc {
	padding:2em 0;
}

.center {
	text-align:center;
}
.right {
	text-align:right;
}


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

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

.mBottom {
	margin-bottom:30px;
}

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

.bold {
}


/* ==============================================
	infoBox option
=============================================== */

.infoBox ,
.noData {
	position:relative;
	width:100%;
	padding:2em;
	color:#000;
	background:rgba(255,255,255,0.8);
	border:4px solid #c9f;
	border-radius:1.5em;
	box-shadow:0 0 0.5em 0.1em #fff;
	margin: 0 auto;
}

.noData {
	min-height:300px;
	padding-top:80px;
	text-align:center;
	color:#666;
}

.infoBox {
	margin-bottom:30px;
}

.infoBox.box {
}
.infoBox.frame {
}
.infoBox.link {
}
.infoBox.form {
}

.infoBox p {
	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:#f06;
	font-size:180%;
}
.infoBox.notes .comment ,
.noData .comment {
	font-size:100%;
}
.noData .comment2 {
	margin-top:1em;
	font-size:120%;
}

.infoBox.textLink {
	padding:30px 20px;
}
.infoBox.notes.textLink .comment {
	padding-top:30px;
}
.infoBox .p30 {
	padding:30px 0;
}

.infoBox.notes a {
	color:#f00;
}
.infoBox.notes a:hover {
	color:#00f;
}


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

	.infoBox.notes {
		width:100%;
		min-width:initial;
	}
	.infoBox.notes .headline ,
	.noData .headline {
	}

	.infoBox ,
	.noData {
		border-width:4px;
		border-radius:1.2em;
	}
	.infoBox:before ,
	.noData:before {
		border-width:4px;
	}

}



/* ==============================================
	common table
=============================================== */
.commonTable {
	width:100%;
	font-size:16px;
	line-height:1.6;
	letter-spacing:1px;
}
.commonTable th {
	width:150px;
	padding:10px 5px 10px 20px;
	letter-spacing:2px;
	text-align:left;
}
.commonTable td {
	padding:10px;
}

.commonTable a {
	color:#00f;
}
.commonTable a:hover {
	color:#f00;
}

@media screen and (max-width:799px) { 
	.commonTable {
		font-size:14px;
		line-height:1.6;
	}
	.commonTable th {
		width:80px;
		padding:10px 5px 10px 10px;
	}

}







.imageList {
	max-width:100%;
	text-align:center;
}
.imageList li:not(.noData) {
	display:block;
	margin:0 20px 30px;
	padding:10px;
}
.imageList li img {
	transition:all 0.3s ease;
	-webkit-transition:all 0.3s ease;
}
.imageList li a:hover img {
	box-shadow:0 0 5px 5px #ff0;
}

.imageList.eventList {
	display:flex;
	flex-wrap:wrap;
	align-items:flex-start;
	margin:auto;
}
#PAGE_home .imageList.eventList {
	padding:30px 0;
	justify-content:center;
}
.imageList.eventList li {
	width:calc(100% / 4);
	margin:0 0 30px;
}
.imageList.eventList li:not(.noData) {
	padding:10px;
}
.imageList.eventList li.noData {
	width:100%;
}
.imageList.eventList li .event_text2 {
	padding:4px;
}
.imageList.eventList li .event_text2 a {
	display:block;
}
.imageList.eventList li .event_text2 span {
	display:block;
	margin-top:4px;
	height:5.2em;
	padding:1em 0.3em;
	line-height:1.6em;
	color:#000;
	background:#fff;
	overflow:auto;
}

@media screen and (max-width:799px) { 
	.imageList.eventList li {
		width:calc(100% / 2);
	}
	.imageList.eventList li .event_text2 span {
	}
}


body .sl-overlay {
	background:#bbe3f9;
	background:linear-gradient(#bbe3f9 ,#f7c9dd);
	background:-moz-linear-gradient(center top ,#bbe3f9 ,#f7c9dd);
	background:-webkit-gradient(linear ,center top ,center bottom ,from(#bbe3f9), to(#f7c9dd));
	opacity:0.8;
}
body .sl-wrapper .sl-image img {
	border:1px solid #fff;
	box-shadow:2px 2px 5px #666;
}


/* ==============================================
	body
=============================================== */
body {
	position:relative;
	font-size:16px;
	line-height:1.6;
	color:#000;
}
body:before {
	content:"";
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100vh;
	background:url(images/common/bg.jpg) 0 0 no-repeat #fff;
	background-size:cover;
	z-index:-1;
}

#bgLayer {
	position:relative;
	background:rgba(255,255,255,0.5);
}

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

#h1 {
	position:relative;
	margin-left:310px;
	padding:1em 0;
	line-height:1;
	z-index:11;
	text-align:center;
	color:#fff;
	text-shadow:1px 1px 0px #ffba00 ,0 0 5px #ffea00 ,0 0 5px #ffea00;
}


@media screen and (max-width:799px) { 
	body {
		padding:0;
	}
	body:before {
		background-position: 100% 100%;
		background-size: cover;
	}
	body #bgLayer {
		width:480px;
		min-width:initial;
		margin:auto;
		overflow:hidden;
	}
	body #mainBloc {
		padding-top:40px;
	}
}


/* ==============================================
	header(left side fixed)
=============================================== */
header {
}
@media screen and (min-width:800px) { 
	#header {
		position:fixed;
		left:29px;
		top:0;
		width:calc(305px - 24px);
		height:100%;
		background: rgb(255, 245, 250 ,0.8);
		z-index:100;
		box-shadow: 1px 0px 5px #666;
        border-right: solid 1px #fff;
	}
	#header #headerInner {
		height:100%;
		padding:0 10px;
	}
}

@media screen and (max-width:799px) { 
	#header {
		position:fixed;
		top:0;
		left:0;
		right:0;
		width:100%;
		z-index:10002;
		background: rgba(255,255,255,0.9);
		box-shadow: 0px 1px 5px #666;
	}
	#header #headerInner {
		position:relative;
		z-index:10003;
		width:100%;
		height:100%;
		margin:0 auto;
	}
}

/* ==============================================
	header(left side fixed) shopname & shopinfo
=============================================== */
#header ul#headerTitle {
	width:100%;
	text-align:center;
	display:flex;
	flex-direction:column;
	justify-content:space-around;
	align-items:center;
}
#header ul#headerTitle li {
	display:block;
	margin:auto;
}
#header ul#headerTitle li#headerLogo a {
	display:block;
	width:100%;
	height:100%;
}

@media screen and (min-width:800px) { 
	#header ul#headerTitle {
	}
	#header ul#headerTitle li {
		width:100%;
	}
	#header ul#headerTitle li#headerLogo {
		padding:10px 0;
	}
	#header ul#headerTitle li#headerLogo a span {
		display:block;
	}
	#header ul#headerTitle li#headerInfoBloc {
		padding:0 0 1em;
	}
	#header ul#headerTitle li#headerInfoBloc #headerText {
		position:relative;
		color:#ff0000;
        font-weight: 900;
		text-align:center;
		font-family:var(--title-fonts);
		background-color: #fff;
        border: solid 2px #ff0000;
        border-radius: 10px;
	}
	#header ul#headerTitle li#headerInfoBloc #headerText .time {
		width:100%;
		font-size:120%;
	}
	#header ul#headerTitle li#headerInfoBloc #headerText .tel {
		width:100%;
		font-size:150%;
	}
	#header ul#headerTitle li#headerInfoBloc #headerTel {
	}
	#header ul#headerTitle li#headerInfoBloc #headerTel a {
	}

}
@media screen and (max-width:799px) { 
	#header ul#headerTitle {
		width:480px;
		height:70px;
		margin:auto;
		padding-left:10px;
		padding-right:5px;
		flex-direction:row;
		justify-content:flex-start;
		position:relative;
		z-index:10012;
		overflow:hidden;
		background: rgba(255,255,255,0.95);
	}
	#header ul#headerTitle li {
		margin:0;
		display:flex;
	}
	#header ul#headerTitle li#headerLogo {
		width:calc(100% - 180px);
		text-align:left;
		margin-right:auto;
	}
	#header ul#headerTitle li#headerLogo a {
		display:inline-block;
		width:auto;
	}
	#header ul#headerTitle li#headerLogo a img {
		height:80px;
		object-fit:contain;
	}
	#header .headerIcon img {
		height:60px;
		object-fit:contain;
	}
}

/* ==============================================
	header(left side fixed) price panel
=============================================== */
#headerPrice {
	width:210px;
	padding:10px 0;
	margin:auto;
	text-align:center;
}
#headerPrice #headerPriceC {
	color:#98999b;
	font-size:12px;
}

@media screen and (max-width:799px) { 
	#header {
		min-width:initial;
	}
	#headerPrice {
		width:auto;
		padding:0 40px 40px;
	}
}




/* ==============================================
	header(left side fixed) nav menu
=============================================== */
#header #headerInner .navMenuBloc {
	padding:0 0 2em;
	display:block !important;
}
#header #contents-navi {
	padding-left:0.3em;
}
#header ul.navMenu {
	width:100%;
}

#header ul.navMenu li {
	width:100%;
	padding:0.1em 0;
}
#header ul.navMenu li a {
	position:relative;
	width:100%;
	height:100%;
	padding:0.1em 0 0 0.5em;
	display:flex;
	justify-content:flex-start;
	align-items:baseline;
}

#header ul.navMenu li a span:nth-child(1) {
	font-size:160%;
	font-family:var(--title-fonts);
	font-weight: 900;
}
#header ul.navMenu li a span:nth-child(2) {
	padding-left:0.5em;
	font-size:80%;
}
#header ul.navMenu li.navMenu13 {
	display:none;
}

#header ul.navMenu li a {
	color:#000;
	border-bottom:2px solid #333;
}
#header ul.navMenu li:not(.active) a:hover {
	color:#e60012;
	border-bottom-color:#e60012;
}
#header ul.navMenu li.active a {
	color:#e60012;
	text-shadow:0 0 2px #fff;
	border-bottom-color:#e60012;
}


#header .navMenuAfter {	
	padding-top:10px;
	text-align:center;
}



@media screen and (max-width:799px) { 
	#header #headerInner .navMenuBloc {
		position:fixed;
		top:-120%;
		left:0;
		width:480px;
		height:100%;
		padding:0;
		overflow:hidden;
		z-index:10011;
		transition:all 0.3s ease;
		-webkit-transition:all 0.3s ease;
	}
	#header #headerInner .navMenuBloc > .navMenuBlocInner {
		display:block;
		padding-top:90px;
		width:100%;
		height:100%;
		background-color: rgb(255, 182, 193,0.95);
	}
	body.menuOn #header #headerInner .navMenuBloc {
		top:0px;
	}
	body.menuOn {
		position:fixed;
		top:0;
		bottom:0;
		left:0;
		right:0;
		overflow-y:scroll;
	}
	body.menuOn #body {
		opacity:0;
	}

	#header #headerInner .navMenuBloc .navMenuBlocInner {
		width:480px;
		margin:auto;
	}
	#header #headerInner .navMenuBloc .navMenuBlocInner .navMenu {
		width:400px;
		margin:auto;
	}
	#header ul.navMenu li {
		padding: 0;
	}
	#header ul.navMenu li a {
		background-color: rgb(255, 255, 255,0.8);
	}

	#header ul.navMenu li a span:nth-child(1) {
		font-size:180%;
	}
	#header ul.navMenu li a span:nth-child(2) {
		padding-left:0.8em;
		font-size:100%;
	}
}



/* ==============================================
	header(left side fixed) nav menu
=============================================== */
#header .navIcons {
	width:240px;
	height:60px;
	margin:10px auto;
	display:flex;
	justify-content:space-around;
	align-items:center;
}
#header .navIcons li {
}
#header .navIcons li a {
	position:relative;
	display:block;
	width:60px;
	height:60px;
	background:url(images/icons/side_navi_icon.png) no-repeat;
	transition:none;
	-webkit-transition:none;
}
#header .navIcons li a span {
	display:none;
}

#header .navIcons li:nth-child(1) a { --xPos:0 }
#header .navIcons li:nth-child(2) a { --xPos:1 }
#header .navIcons li:nth-child(3) a { --xPos:2 }
#header .navIcons li:nth-child(4) a { --xPos:3 }

#header .navIcons li a {
	background-position:calc(-60px * var(--xPos)) 0;
}
#header .navIcons li a:hover {
	background-position:calc(-60px * var(--xPos)) -60px;
}

#header .navIcons li a:before {
	content:attr(data-title);
	color:#232323;
	text-shadow:1px 1px 0 #fff;
	white-space:nowrap;
	position:absolute;
	top:calc(100% - 3px);
	left:50%;
/*
	padding:5px;
	background:#fff;
	border-radius:10px;
	box-shadow:1px 1px 3px #333;
*/
	font-family:var(--title-fonts);
	transition:all 0.3s ease;
	-webkit-transition:all 0.3s ease;
	transform:translateX(-50%) scale(0);
}
#header .navIcons li a:hover:before {
	transform:translateX(-50%) scale(1);
}
@media screen and (min-width:800px) { 
}



#navBottomIcon {
	padding-bottom:30px;
	text-align:center;
}
#navBottomIcon img {
	width:80px;
}
@media screen and (max-width:799px) { 
	#navBottomIcon {
		padding-top:20px;
		padding-bottom:10px;
	}
}






/* ==============================================
	footer contents links (sidemenu)
=============================================== */
.sidemenu {
	width:100%;
	padding-top:5em;
}
.sidemenu ul {
	width:100%;
	max-width:1200px;
	margin:auto;
	text-align:center;
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
}
.sidemenu li {
	padding:10px;
	width:50%;
	text-align:center;
	display:none;

}
.sidemenu li.long {
	width:100%;
}

.sidemenu li a {
	display:block;
}
.sidemenu li a img {
	transition:all 0.3s ease;
	-webkit-transition:all 0.3s ease;
}
.sidemenu li a:hover img {
	filter:drop-shadow(0 0 0.5em #f06);
}

.sidemenu li span {
	display:none;
}
.sidemenu li img {
}

@media screen and (min-width:800px) { 
	.sidemenu li.pc {
		display:flex;
		justify-content:center;
		align-items:center;
	}
}
@media screen and (max-width:799px) { 
	.sidemenu {
		padding-top:2em;
	}
	.sidemenu li {
		width:80%;
	}
	.sidemenu li.sp {
		display:block;
	}
	.sidemenu li a {
		border-radius:13px;
	}
}





/* ==============================================
	header(left side fixed) copyright
=============================================== */
@media screen and (min-width:800px) { 
	#copyright {
		position:fixed;
		top:0;
		left:0;
		width:30px;
		height:100%;
		padding-top:20px;
		color:#fff;
		background: #fbb;

		line-height:32px;
		font-size:14px;
		letter-spacing:1px;

		writing-mode:vertical-rl;
		-ms-writing-mode:tb-rl;
		-webkit-writing-mode:vertical-rl;

		z-index:101;
		overflow:hidden;
	}
	#copyright a {
		color:#fff;
	}
	#copyright a:hover {
		color: #ff0000;
	}

	#copyright > span {
		display:inline-block;
	}
}
@media screen and (max-width:799px) { 
	#copyright {
		padding:1em 0;
		font-size:80%;
		color:#666;
		text-align:center;
	}
	#copyright a {
		color:#666;
	}
}


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

#footer #footerInner {
	position:relative;
	width:100%;
	padding-top:100px;
	padding-bottom:30px;
}
#footer #footerInner #footerNavPane .navMenuBloc {
	position:absolute;
	bottom:20px;
	left:0px;
	width:100%;
}
#footer .navMenuBloc .navMenuBlocInner ul.navMenu {
	width:680px;
	max-width:100%;
	margin:auto;
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
}
#footer .navMenuBloc .navMenuBlocInner ul.navMenu li {
	padding:0 10px;
	letter-spacing:1px;
	transition:all 0.3s ease;
	-webkit-transition:all 0.3s ease;
}
#footer .navMenuBloc .navMenuBlocInner ul.navMenu li a {
	display:block;
	position:relative;
	width:100%;
	height:100%;
	padding:5px 0;
	color:#333;
	font-size:12px;
	transition:all 0.4s ease;
	-webkit-transition:all 0.4s ease;
}
#footer .navMenuBloc .navMenuBlocInner ul.navMenu li a span {
	display:block;
	white-space:nowrap;
}

#footer .navMenuBloc .navMenuBlocInner ul.navMenu li a span:nth-child(1) {
	font-size:16px;
	color:#f06;
}
#footer .navMenuBloc .navMenuBlocInner ul.navMenu li a span:nth-child(2) {
	font-size:11px;
	color:#000;
}
#footer .navMenuBloc .navMenuBlocInner ul.navMenu li a:hover {
	text-shadow:1px 1px 2px #f06,1px 1px 0px #fff;
}


@media screen and (max-width:799px) { 
	#footer #footerInner {
		padding:3em 0 1em;
	}

	#footer #footerNavBloc {
		padding:10px 0;
	}
	#footer #footerNavBloc ul.navMenu {
		display:flex;
		justify-content:center;
		flex-wrap:wrap;
		align-items:stretch;
	}
	#footer #footerNavBloc ul.navMenu li {
		width:32%;
		height:50px;
		line-height:50px;
		margin:0 0.5% 5px;
		text-align:center;
	}
	#footer #footerNavBloc ul.navMenu li:nth-child(1) {
		width:98%;
	}
	#footer #footerNavBloc ul.navMenu li a {
		color:#f06;
		background:#fff;
		text-decoration:none;
		letter-spacing:0;
	}
}





/* ==============================================
	footer > logo & info
=============================================== */

#footer #footerInfo {
	color: #ff0000;
	text-shadow:0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff
				,0 0 10px #fff,0 0 10px #fff,0 0 10px #fff,0 0 10px #fff
				,0 0 10px #fff,0 0 10px #fff,0 0 10px #fff,0 0 10px #fff;
	font-family:var(--title-fonts);
}
#footer #footerInfo #footerLogo {
	width:480px;
	margin:auto;
}
#footer #footerInfo #footerLogo a {
	line-height:1;
	color:#fff
}
#footer #footerInfo #footerLogo a span {
	display:none;
}

#footer #footerInfo #footerText ,
#footer #footerInfo #footerTel {
	display:flex;
	justify-content:center;
}

#footer #footerInfo #footerText {
	padding-top:0.5em;
	font-size:160%;
}
#footer #footerInfo #footerTel a {
	font-size:240%;
}

@media screen and (max-width:799px) { 
	#footer #footerInfo {
		display:block;
		text-align:center;
	}
	#footer #footerInfo li {
		padding:0 10px 5px;
	}
	#footer #footerInfo #footerLogo {
		width:320px;
	}
	#footer #footerInfo #footerText {
		padding:0.3em 0 0;
		font-size:140%;
	}
	#footer #footerInfo #footerTel {
		padding:0 0 20px;
	}
	#footer #footerInfo #footerTel a {
		font-size:210%;
	}
}





/* ==============================================
	contents body
=============================================== */
#body {
	position:relative;
	width:100%;
	margin:0;
}

@media screen and (min-width:800px) { 
	#body {
		min-width:1400px;
		min-height:100%;
		padding-top:3em;
		padding-bottom:1em;
		padding-left:330px;
		padding-right:20px;
		z-index:10;
	}
	#mainBloc {
		padding-top:30px;
	}
}
@media screen and (max-width:799px) { 
	#body {
		padding:90px 10px 0;
		transition:all 0.6s ease;
		-webkit-transition:all 0.6s ease;
	}
}




/* ==============================================
	index
=============================================== */
body#PAGE_index:before {
	background:#fff;
}
@media screen and (min-width:800px) { 
	#PAGE_index #body {
		margin:0;
		min-width:1200px;
		max-width:initial;
	}
}
#PAGE_index #body ,
#PAGE_index #body .innerFrame {
	max-width:initial;
	padding:0;
}

#PAGE_index #h1 {
	display:none;
}
#PAGE_index #header {
	display:none;
}

#PAGE_index h1 {
	padding:0.3em 0;
	font-weight:bold;
}


#PAGE_index #filterBg {
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-color:#fff;
	opacity:0;
	z-index:10000;
}


#enterMainFrame {
	position:relative;
	text-align:center;
}

#enterImage img {
	width:100%;
	object-fit:cover;
}

.comingsoon ,
#enterMainFrame {
	background: #ffb6c1;
}
#enterButtonBloc {
	width:1200px;
	margin:0 auto;
	padding:1em 0;
	display:flex;
	justify-content:center;
	align-items:center;
	flex-direction:column;
	font-family:var(--title-fonts);
}
#enterButtonBloc > .btn{
	padding:1em 0;
}
#enterButtonBloc > .btn > a {
	color:#000;
	font-size:240%;
	line-height:1;
}
#enterButtonBloc > .btn a .gradientText > span {
	display:flex;
	justify-content:center;
	align-items:center;
	flex-direction:column;
}
#enterButtonBloc > .btn a .mainText {
	font-size:200%;
}

#enterButtonBloc > .btn > a span {
	transition:all 0.3s ease;
	-webkit-transition:all 0.3s ease;
	text-shadow: 1px 1px 0px #fff, 0 0 10px #fff, 0 0 10px #fff;
}
#enterButtonBloc > .btn > a:hover span {
	text-shadow: 1px 1px 0px #ee85b3, 0 0 10px #ee85b3, 0 0 10px #ee85b3;
}

#indexMain {
	padding-bottom:80px;
}
#PAGE_index footer {
	background:#fde;
	animation:none;
}
@keyframes bggradient{
	  0% { background-position:   0% 50%; }
	100% { background-position: calc(var(--bgSize) * 3) 50%; }
}


@media screen and (min-width:800px) { 
	#enterImage img {
		height:600px;
	}
	#PAGE_index #copyright {
		display:none;
	}
}
@media screen and (max-width:799px) {
	#PAGE_index h1 {
		font-size:80%;
	}
	#enterButtonBloc {
		width:100%;
		padding:20px 40px;
	}
	#enterButtonBloc > .btn > a {
		font-size:180%;
	}
	#enterButtonBloc #mark18 img {
		width:72px;
	}
	#PAGE_index footer {
	}
}




/* ==============================================
	headline
=============================================== */
#headline {
	margin:0 auto 40px;
	position:relative;
	width:100%;
	padding:0.5em;
	color:#000;
	background:rgba(255,255,255,0.8);
    border: 4px solid #f00;
    border-radius: 0.5em;
	box-shadow:0 0 0.5em 0.1em #fff;;
	display:flex;
	align-items:center;
}
#headline #headlineHead {
	width:200px;
	display:flex;
	justify-content:center;
	align-items:center;
	flex-wrap:wrap;
	text-align:center;
}
#headline #headlineHead > * {
	width:100%;
}
#headline #headlineHead > .en {
	color:#f06;
	font-size:150%;
	border-bottom:1px solid #666;
	font-family:var(--title-fonts);
}

#headline #headlineText {
	width:calc(100% - 200px);
	padding:0.5em 1em;
}
#headline #headlineText #headlineTextInner {
	width:100%;
	height:100%;
	padding:0.5em;
	color:#000;
	background-color: rgb(138, 43, 226,0.3);
	border-radius:0.5em;
	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;
	font-size:200%;
}
#headline #headlineText #headlineTextInner ul li span {
	padding-left:0.5em;
	font-size:50%;
	color:#eee;
}


@media screen and (max-width:799px) {
	#headline {
		margin-top:40px;
		flex-direction:column;
	}

	#headline #headlineHead {
		width:100%;
		justify-content:center;
		align-items:baseline;
		flex-direction:row;
	}
	#headline #headlineHead > * {
		width:auto;
		padding:0 0.5em;
	}
	#headline #headlineHead > .en {
		border-bottom:0 none;
	}
	#headline #headlineHead > .jp {
		font-size:80%;
	}
	#headline #headlineText {
		width:100%;
		padding:0.5em;
	}
	#headline #headlineText #headlineTextInner ul li {
		font-size:150%;
	}
}




/* ==============================================
	home > homeTop > slider
=============================================== */
#homeSliderBloc {
	width:100%;
	overflow:hidden;
}
#homeSliderFrame {
	padding-bottom:30px;
}
#homeSliderFrame .bx-wrapper {
}
#homeSliderFrame .bx-wrapper .bx-viewport {
	background:transparent;
	border:0 none;
	text-align:center;
}
#homeSliderFrame .bx-wrapper .bx-viewport img {
	max-width:100%;
	border:1px solid #fff;
	box-shadow:2px 2px 5px #666;
}
#homeSlider {
	margin-left:calc(25% + 5px);
}

#bx-pager-hearts {
	height:60px;
	line-height:1;
	font-size:0px;
	display:flex;
	justify-content:center;
	align-items:center;
	text-align:center;
}
#bx-pager-hearts a {
	cursor:pointer;
	width:77px;
	height:80px;
	background:url(images/icons/slider_heart_2.png) 50% 50% no-repeat;
	background-size:contain;
}

#bx-pager-hearts a.active {
	background-image:url(images/icons/slider_heart_1.png);
	background-size:contain;
}



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

#bgLayer .bx-wrapper .bx-pager.bx-default-pager a {
	display:inline-block;
	width:50px;
	height:50px;
	font-size:0;
	line-height:50px;
	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 {
	cursor:pointer;
	width:77px;
	height:80px;
	background:url(images/icons/slider_heart_2.png) 50% 50% no-repeat;
	background-size:contain;
}

#bgLayer .bx-wrapper .bx-pager.bx-default-pager a.active {
	background-image:url(images/icons/slider_heart_1.png);
	background-size:contain;
}

#bgLayer .bx-wrapper .bx-pager.bx-default-pager a.active {
}

#bgLayer .bx-wrapper .bx-pager {
	position:relative;
	text-align:center;
	font-size:0;
	bottom:auto;
	height:auto;
	padding-top:20px;
}

a.bx-pager-link:after {

}
a.bx-pager-link.active:after {

}


@media screen and (max-width:799px) {
	#homeSliderFrame {
		padding-bottom:15px;
	}
	#homeSlider {
		margin-left:5px;
	}
	#homeSliderFrame .bx-wrapper .bx-viewport img {
		width:450px;
	}
	#bgLayer .bx-wrapper .bx-pager {
		padding-top:5px;
	}
	#bgLayer .bx-wrapper .bx-pager.bx-default-pager .bx-pager-item {
		width:65px;
		padding:0 2px;
	}
	#bgLayer .bx-wrapper .bx-pager.bx-default-pager a {
		width:77px;
	}
	a.bx-pager-link:after {
		font-size:30px;
	}
}


/* ==============================================
	home news
=============================================== */
#homeNews {
	margin-bottom:10px;
}
#homeNews li + li{
	padding-top:2em;
}

#homeNews p {
	padding:0;
}


/* ==============================================
	home newface
=============================================== */
#homeNewface ul.castList {
	font-size:90%;
}
#homeNewface ul.castList li.castCell {
	width:20%;
	padding:0 0.5em;
}
#homeNewface ul.castList li.castCell .castInfo .castIcon .textIcon {
	margin:0 1px;
}
@media screen and (max-width:799px) { 
	#homeNewface {
		min-width:460px;
	}
	#homeNewface ul.castList {
		font-size:80%;
	}
	#homeNewface ul.castList li.castCell {
		width:33.3%;
	}
	#homeNewface ul.castList li.castCell .castInfo .castTime.castFlagToday:before {
		content:none;
	}
}





/* ==============================================
	home schedule
=============================================== */
#homeSchedule {
	padding-bottom:40px;
}

/* ==============================================
	home blog
=============================================== */
#homeBlog {
	width:960px;
	margin:auto;
	height:640px;
}

@media screen and (max-width:1170px) { 
	#homeBlog {
		width:700px;
	}
}
@media screen and (max-width:1070px) { 
	#homeBlog {
		width:600px;
	}
}







/* ==============================================
	cast list
=============================================== */
ul.castList {
	display:flex;
	flex-wrap:wrap;
}
ul.castList > li.castCell {
	position:relative;
	width:25%;
	padding:0.5em 0.5em 1em;
	text-align:center;
}

ul.castList li.castCell .aFrame {
	display:block;
	padding:4px;
	color:#000;
	background:#c9f;
}

.castCellRank{
	display:flex;
}

ul.castList li.castCell .aFrame .castCatch {
	display:block;
	padding-bottom:3px;
	background:#fff;
	border-bottom:1px solid #ccc;
}

ul.castList li.castCell .aFrame .castCatch > span {
	display:block;
	font-size:120%;
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
	-webkit-text-overflow:ellipsis;
}

ul.castList li.castCell .castImage {
	position:relative;
	display:block;
	width:100%;
	aspect-ratio:600 / 800;
}
ul.castList li.castCell .castImage img {
	width:100%;
	height:100%;
	object-fit:cover;
}

ul li.castFlagNewface .aFrame .castImage:after ,
ul li.castFlagPickup .aFrame .castImage:before {
	content:"";
	position:absolute;
	left:-5%;
	width:30%;
	height:75px;
	background-image:url(images/icons/icon_new.png);
	background-repeat:no-repeat;
	background-position:0 0;
	background-size:contain;
	z-index:2;
}
ul li.castFlagNewface .aFrame .castImage:after {
	top:-5%;
	-webkit-animation:animateBlink 1s linear infinite alternate;
	animation:animateBlink 1s linear infinite alternate;
}
ul li.castFlagPickup .aFrame .castImage:before {
	left:auto;
	right:-5%;
	bottom:0px;
	background-image:url(images/icons/icon_osusume.png);
	background-position:100% 100%;
}


ul.castList li.castCell .castImage .noimageText {
	position:absolute;
	top:0px;
	bottom:0px;
	left:3%;
	right:3%;
	padding-top:42%;
	text-align:center;
	font-size:160%;
	line-height:1.4;
	font-weight:bold;
	color:#f06;
	text-shadow:2px 2px 0px #fff ,0px 0px 3px #fff;
}
ul.castList li.castCell .castImage .noimageText > span {
	display:block;
	width:100%;
	overflow:hidden;
	white-space:nowrap;
	font-family:var(--noimage-text-fonts);
}



ul.castList li.castCell .castInfo {
	display:block;
	color:#000;
	background:#fff;
	padding:0 3px 3px;
	border-top:1px solid #ccc;
}
ul.castList li.castCell .castInfo .castName {
	display:block;
	font-size:150%;
	line-height:1.3;
	height:1.5em;
	overflow:hidden;
	border-bottom:1px solid #999;
}
ul.castList li.castCell .castInfo .castName .number ,
ul.castList li.castCell .castInfo .castName .age {
	font-size:80%;
}
ul.castList li.castCell .castInfo .castSize {
	display:block;
	height:1.6em;
	overflow:hidden;
}
ul.castList li.castCell .castInfo .castIcon {
	display:flex;
	height:1.5em;
	line-height:1.5em;
	justify-content:center;
	flex-wrap:wrap;
	overflow:hidden;
}
ul.castList li.castCell .castInfo .castIcon .textIcon {
	display:block;
	min-width:20%;
	margin:0 3px;
	padding:0 2px;
	font-size:80%;
	font-weight:300;
	letter-spacing:0;
	color:#fff;
	background:#f69;
	border-radius:0.3em;
}

ul.castList li.castCell .castInfo .castTime {
	display:block;
	margin-top:5px;
	line-height:1.5em;
	font-size:110%;
	overflow:hidden;
	color:#fff;
	background: #c0c;
	border-radius:0.3em;
}
ul.castList li.castCell .castInfo .castTime.castFlagToday {
}
ul.castList li.castCell .castInfo .castTime.castFlagToday:before {
	content:"本日出勤 ";
}
ul.castList.schedule li.castCell .castInfo .castTime.castFlagToday:not(.day0):before {
	content:"出勤 ";
}
ul.castList li.castCell .castInfo .castText {
	display:none;
}
ul.castList li.castCell .castInfo .castProf {
	display:none;
}


ul.castList li.castCell a.aFrame .castInfo ,
ul.castList li.castCell a.aFrame .castInfo .castIcon .textIcon {
	transition:all 0.3s ease;
	-webkit-transition:all 0.3s ease;
}
ul.castList li.castCell a.aFrame:hover {
	box-shadow:0 0 0.5em 0.1em #fff;
}
ul.castList li.castCell a.aFrame:hover .castInfo .castIcon .textIcon {
}


@media screen and (max-width:1800px) { 
	ul.castList li.castCell {
		font-size:90%;
	}
}
@media screen and (max-width:1600px) { 
	ul.castList li.castCell {
		font-size:85%;
	}
}
@media screen and (max-width:799px) { 
	ul.castList li.castCell {
		width:calc(100% / 2 - 2%);
		padding:0.3em 0.3em 0.5em;
		font-size:80%;
	}
	ul.castList li.castCell a.aFrame {
		padding:3px;
	}
	ul.castList li.castCell .castImage:after {
		bottom:-7px;
	}
	ul.castList li.castCell .castInfo {
		margin:2px 0 0;
	}
	ul.castList li.castCell .castInfo .castIcon .textIcon {
		margin:0 1px;
	}
}



/* ==============================================
	cast schedule
=============================================== */
#dateList {
	width:100%;
	padding:1em 0 2em;
	text-align:center;
	display:flex;
	justify-content:space-between;
	align-items:center;
}
#dateList li {
	width:calc(100% / 7 - 5px);
	padding:0.5em 0;
	line-height:1.3;
	font-size:130%;
	color:#666;
	background:rgba(255,255,255,0.8);
	border:1px solid #c6f;
	cursor:pointer;
}
#dateList li.on {
	color:#fff;
	text-shadow:1px 1px 0 #666;
	background: #c6f;
}
#dateList li:not(.on):hover {
	color:#c5f;
}

#dateList li span.wday {
	font-size:80%;
}

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

	#dateList li span.wday {
		display:block;
	}
}

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

#PAGE_ranking ul.castList li.rankTitle {
	margin-top:20px;
	margin-bottom:20px;
}

#PAGE_ranking ul.castList li.castCell {
	width:19%;
	margin:5px 0.5% 15px;
}

.castRank {
	display:block;
	font-size:16px;
	line-height:26px;
	margin-bottom:3px;
	color:#f06;
	background:#fff;
}


@media screen and (max-width:799px) {
	#PAGE_ranking ul.castList li.castCell {
		width:calc(100% / 2 - 2%);
		margin:5px 1% 15px;
	}

	/* ==============================================
		rank 1 custom
	=============================================== */

	/* ==============================================
		rank 2,3 custom
	=============================================== */
}






/* ==============================================
	system
=============================================== */
div.system {
	width:900px;
	padding-top:15px;
	max-width:100%;
	margin-left:auto;
	margin-right:auto;
	text-align:center;
}
div.system ul.infoBox {
}
div.system ul.infoBox li {
	font-size:250%;
	line-height:1.4;
}
div.system ul.infoBox li.cate {
	padding-bottom:0.5em;
}
div.system ul.infoBox li.cate > span.course {
	font-size:110%;
	color:#f11;
}
div.system ul.infoBox li.cate > span.playtime {
	font-size:90%;
	color: #8a2be2;
}
div.system ul.infoBox li.cate > div.comment {
	font-size:80%;
	color:#06f;
}


div.system ul.infoBox li.cate > span.image {
	width:100%;
}

div.system ul.infoBox li.flex {
	display:flex;
	flex-wrap:wrap;
	align-items:flex-start;
	padding:0 1em 0.3em;
}
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.text {
	width:100%;
	padding-left:1em;
	font-size:60%;
	color:#f0f;
	text-align:left;
}


div.system ul.discount.infoBox {
	padding-top:0.5em;
}
div.system ul.discount.infoBox li.cate {
	line-height:1.4;
	padding-bottom:10px;
}
div.system ul.discount.infoBox li.cate > span.course {
	font-weight:700;
}
div.system ul.discount.infoBox li.cate > span.playtime {
	display:block;
	padding-left:0;
	font-size:28px;
}
div.system ul.discount.infoBox li.flex {
	justify-content:center;
	flex-direction:column;
	text-align:center;
}
div.system ul.discount.infoBox li.flex > span.time {
	width:100%;
	text-align:center;
}
div.system ul.discount.infoBox li.flex > span.price {
	width:100%;
	text-align:center;
	font-size:60px;
}

@media screen and (max-width:799px) { 
	div.system ul.infoBox {
		font-size:60%;
	}
	div.system ul.infoBox li.cate {
		padding-top:0.3em;
	}
	div.system ul.infoBox li.cate > span.course {
		display:block;
	}
	div.system ul.infoBox li.cate > span.playtime {
		display:block;
		padding:0;
	}

	div.system ul.infoBox li.flex {
		justify-content:space-between;
	}
	div.system ul.infoBox li.flex > span.time {
		width:auto;
	}
	div.system ul.infoBox li.flex > span.price {
		width:auto;
	}

	div.system ul.discount.infoBox li.cate > span.playtime {
	}
	div.system ul.discount.infoBox li.flex > span.time {
	}
	div.system ul.discount.infoBox li.flex > span.price {
	}
}








/* ==============================================
	access
=============================================== */
#access {
	max-width:1200px;
	margin:0 auto;
	text-align:center;
	padding:50px;
}
#access iframe {
	width:100%;
	height:360px;
	margin-bottom:20px;
	border:1px solid #fff;
}
#access h3 {
	font-size:160%;
	color:#f06;
}
#access p {
	padding-top:1em;
}
#access p a {
	color:inherit;
}


@media screen and (max-width:1600px) {
	#access {
		font-size:18px;
	}
}

@media screen and (max-width:799px) {
	#access {
		padding:20px;
	}
}


/* ==============================================
	recruit
=============================================== */




#PAGE_recruit .infoBoxHeader {
	width:800px;
	margin-left:auto;
	margin-right:auto;
	padding-top:30px;
}

.contentsBloc.recruitBloc {
}
.contentsBloc.recruitBloc .infoBox {
	width:calc(100% - 40px);
	margin:0 20px;
	padding:20px;
}


.recruitButton {
	padding:30px 0;
	text-align:center;
}
.recruitButton a {
	display:inline-block;
	padding:0.5em 3em;
	font-size:160%;
	color:#fff;
	background-color: #f4c;
	border:1px solid #fff;
	border-radius:0.5em;
}
.recruitButton a:before {
	content:">> ";
}

.recruitButton a:hover {
	background-color: rgb(148, 0, 211,0.8);
}

.recruit-0 .infoBox,
.recruit-1 .infoBox{
	max-width: 1000px;
}

.recruit-0 .infoBox {
	border: 4px solid #f4c;
}

.recruit-0 .commonTable th {
	background-color: #fee;
}

.recruit-0 .commonTable th,
.recruit-0 .commonTable td{
	border-bottom: 1px solid #f4c;
}

.recruit-1 .infoBox {
    border: 4px solid #37f;
}

.recruit-1 .commonTable th {
	background-color: #bef;
}

.recruit-1 .commonTable th,
.recruit-1 .commonTable td {
	border-bottom: 1px solid #37f;
}

.recruit-1 .commonTable a {
	color: #f00;
}

.recruit-1 .commonTable a:hover {
	color: #00f;
}

.recruit-1 .recruitButton a{
	color:#fff;
	background-color: #05f;
	border:1px solid #fff;
}

.recruit-1 .recruitButton a:hover {
	background-color: #03f;
}

@media screen and (max-width:799px) {
	.contentsBloc.recruitBloc .infoBox {
		margin:0 auto;
		width:100%;
		padding:5px 10px;
	}
}


/* ==============================================
	recruit form
=============================================== */
.formNotes {
	padding-bottom:30px;
	font-size:16px;
	letter-spacing:0.1em;
	padding-left:3em;
	text-align:left;
}
.formNotes.center {
	text-align:center;
	color:#6b6b6b;
}

@media screen and (max-width:799px) {
	.formNotes {
		font-size:14px;
	}
}

form .commonTable {
	width:100%;
	padding:0 2em;
	line-height:1.8;
	font-size:110%;
	letter-spacing:0.1em;
	text-align:left;
	color:#000;
}
form .commonTable th {
	width:35%;
	padding:20px 0 20px 20px;
	color:#000;
	border-bottom: 1px solid #c9f;
}
form .commonTable td {
	width:65%;
	padding:20px;
	border-bottom: 1px solid #c9f;
}


form .commonTable .flex {
	display:flex;
	justify-content:flex-start;
}

form .commonTable .form-comment {
	font-size:80%;
	letter-spacing:1px;
}

form .commonTable label {
	display:inline-block;
	text-align:left;
	padding-right:1em;
}


@media screen and (max-width:1600px) { 
}
@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;
	}
	form .commonTable {
		padding:0 0.5em;
	}
	form .commonTable th {
		width:100%;
		padding:0.5em 1em;
		border-bottom:0 none;
	}
	form .commonTable td {
		width:100%;
		padding:0 2em 0.5em;
	}
	form .commonTable .flex.field-group {
		flex-direction:column;
	}
}
.error {
	display:block;
	color:#f00;
}

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;
}
.formButton {
	width:100%;
	margin:auto 10px;
	padding:30px 0;
	text-align:center;
	font-size:13px;
}




.recruitBloc #formTable {
	padding:0;
	letter-spacing:0.1em;
}
.recruitBloc #formTable dt {
	width:40%;
	text-align:right;
	padding:10px 5px;
}
.recruitBloc #formTable dd {
	width:60%;
	padding:10px 5px;
}


@media screen and (max-width:799px) {
	.recruitBloc #formTable dt {
		width:100%;
		text-align:left;
		padding-left:1em;
		padding-bottom:0;
	}
	.recruitBloc #formTable dd {
		width:100%;
		padding-left:2em;
	}

}




/* ==============================================
	recruit form
=============================================== */
#PAGE_melmaga {
}

#PAGE_melmaga input[type='text'] {
	width:480px;
	max-width:75%;
}

#PAGE_melmaga .infoBox.notes p {
	padding:10px 0;
}



/* ==============================================
	link banner
=============================================== */
.linkList {
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
}
.linkList li {
	width:100%;
	padding:0.3em;
	display:flex;
	justify-content:center;
}
.linkList li a {
	padding:0.3em;
	text-align:center;
	font-size:85%;
	color:#ffa8c8;
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
	-webkit-text-overflow:ellipsis;
}
.linkList li a:hover {
	color:#fff;
	background:#ffa8c8;
}


.linkList468 {
	padding-bottom:10px;
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
	text-align:center;
}
.linkList468 li {
	padding:10px 20px;
}
.linkList468 li p {
	padding:0;
}
@media screen and (max-width:799px) { 
	.linkList468 li {
		padding:10px 0;
	}
}


/* ==============================================
	profile
=============================================== */
#PAGE_profile .titleBar {
	font-size:250%;
}
@media screen and (max-width:799px) { 
	#PAGE_profile .titleBar {
		font-size:140%;
	}
}

#profileMainBloc .infoBox.notes {
	max-width:800px;
	margin:0 auto 2em;
	letter-spacing:0.1em;
}

.profileName {
	text-align:center;
	font-size:240%;
}

.profileName .age{
	display:none;
}

.profileName .number {
	font-size:80%;
}
.profileName .profileSize {
	display:block;
	font-size:60%;
	border-top: 2px solid #000;
}

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


/* ==============================================
	profile icons
=============================================== */
.profileIcons {
	text-align:center;
	padding-top:1em;
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
}
.profileIcons .textIcon {
	margin:0 0.1em;
	padding:0.1em 0.8em;
	font-size:130%;
	line-height:1.3;
	letter-spacing:1px;
	color:#fff;
	background:#ff69b4;
	border-radius:0.3em;
}

@media screen and (max-width:799px) { 
	.profileIcons .textIcon {
		font-size:110%;
	}
}



/* ==============================================
	profile thumbs slider
=============================================== */
#profileImageFrame {
	position:relative;
	text-align:center;
	margin:auto auto 60px;
	max-width:600px;
}
#profileImageFrame.castFlagNewface:after ,
#profileImageFrame.castFlagPickup:before {
	content:"";
	position:absolute;
	top:-1%;
	width:30%;
	height:100px;
	background-image:url(images/icons/icon_new.png);
	background-repeat:no-repeat;
	background-position:0 0;
	background-size:contain;
	z-index:2;
}
#profileImageFrame.castFlagNewface:after {
	left:-3%;
	-webkit-animation:animateBlink 1s linear infinite alternate;
	animation:animateBlink 1s linear infinite alternate;
}
#profileImageFrame.castFlagPickup:before {
	right:-3%;
	background-image:url(images/icons/icon_osusume.png);
	background-position:100% 0;
}



#profileImageFrame .bx-wrapper .bx-pager {
	text-align:center;
}
#profileImageFrame .bx-wrapper .bx-controls-direction a {
	top:45%;
}

#profileImageFrame ul#profileThumbs li > div {
	display:inline-block;
	padding:8px;
	background:linear-gradient( 135deg ,#95d9ff ,#ff61d1 ,#ffdb7a ,#95d9ff ,#ff61d1);
}
#profileImageFrame ul#profileThumbs li.noimage .noimageText {
	position:absolute;
	top:0px;
	bottom:0px;
	left:5%;
	right:5%;
	padding-top:40%;
	text-align:center;
	font-size:330%;
	line-height:1.4;
	color:#f06;
	text-shadow:0px 0px 5px #fff ,0px 0px 5px #fff ,0px 0px 5px #fff
				,0px 0px 10px #fff ,0px 0px 10px #fff ,0px 0px 10px #fff
				,0px 0px 10px #fff ,0px 0px 10px #fff ,0px 0px 10px #fff;
}
#profileImageFrame ul#profileThumbs li.noimage .noimageText > span {
	display:block;
	width:100%;
	overflow:hidden;
	white-space:nowrap;
	font-family:var(--noimage-text-fonts);
}


@media screen and (max-width:799px) {
	#profileImageFrame.castFlagNewface:after ,
	#profileImageFrame.castFlagPickup:before {
		top:-2%;
	}
	#profileImageFrame ul#profileThumbs li.noimage > .noimageText {
		font-size:270%;
	}
}



/* ==============================================
	profile information
=============================================== */
#profileInfoFrame {
	min-width:800px;
	max-width:1000px;
	margin:auto;
	line-height:1.8;
}

#profileInfoFrame #profileProfileBloc {
	width:100%;
	padding:1em 1.5em;
	text-align:left;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:flex-start;
	border-radius:1.5em;
}
#profileInfoFrame #profileTable {
	width:100%;
	margin:0 auto;
	display:flex;
	flex-wrap:wrap;
}
#profileInfoFrame #profileTable dt {
	width:260px;
	padding:0.3em 0.5em;
	color:#f06;
}
#profileInfoFrame #profileTable dd {
	color:#333;
	width:calc(100% - 260px);
	padding:0.3em 0.5em;
}

#profileInfoFrame .profileSubHeader {
	color:#ffffff !important;
	background:#ff5fbe;
	line-height:1.2;
	padding:5px 0.5em !important;
	letter-spacing:1px;
	text-align:center;
}

#profileInfoFrame #profileTable dt.profileSubHeader {
	width:100%;
	margin-top:1em;
}
#profileInfoFrame #profileTable dt.profileSubHeader + dd {
	width:100%;
	padding:0.5em 1em;
}



@media screen and (max-width:799px) { 
	#profileInfoFrame {
		font-size:16px;
		line-height:1.6;
		min-width:auto;
		max-width:auto;
	}
	#profileInfoFrame #profileTable {
		width:100%;
		padding-bottom:15px;
	}
	#profileInfoFrame #profileTable dt {
		width:100%;
		padding-bottom:0;
	}
	#profileInfoFrame #profileTable dd {
		width:100%;
		padding-top:0;
		padding-left:2em;
	}
	#profileInfoFrame #profileBlog {
		width:90%;
		margin:0 auto;
	}
}



/* ==============================================
	profile > right info frame > bottom schedule
=============================================== */
#profileScheduleBloc {
	max-width:1000px;
	margin:0 auto;
	padding:3em 0;
}

.profileScheduleCaption {
	text-align:center;
	line-height:2.4;
	color:#3e3e3e;
	background:#fff;
	box-shadow:0 0 3px #666;
}
.profileSchedule {
	width:100%;
	margin:auto;
	text-align:center;
	border-collapse:collapse;
}
.profileSchedule th ,
.profileSchedule td {
	width:14%;
	color:#3e3e3e;
	background:#fff;
	border:1px solid #666;
}
.profileSchedule th {
	padding:5px 0;
	background-color: #FFFFE2;
}
.profileSchedule th.week0 {
	background-color:#fcc;
}
.profileSchedule th.week6 {
	background-color:#ccf;
}

.profileSchedule th span.wday {
	font-size:85%;
}

.profileSchedule td {
	padding:0.5em 0;
}

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


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



/* ==============================================
	profile > sns
=============================================== */
.contentsBloc.sns {
	padding-top:2em;
}
.contentsBloc.sns .infoBox {
	padding:2em;
}
.contentsBloc.sns iframe {
	width:100%;
	aspect-ratio:5/4;
}


/* ==============================================
	profile > guide(bottom)
=============================================== */
#profileGuideBottom {
	width:450px;
	margin:60px auto;

	display:flex;
	justify-content:space-between;
	align-items:center;
	text-align:center;
}
#profileGuideBottom li {
	width:calc(100% / 3 - 1px);
}

#profileGuideBottom li a {
	width:100%;
	padding:0.5em 0 0.6em;
	color:#fff;
	font-size:90%;
	background: #6a5acd;
	border:1px solid #fff;

	display:flex;
	justify-content:center;
	align-items:center;
	text-align:center;
}
#profileGuideBottom li a span {
}
#profileGuideBottom li a:hover {
	color:#6a5acd;
	background:#fff;
	border-color:#6a5acd;
}




/* ==============================================
	loading filter
=============================================== */
#loadingFilter {
	display:none;
	position:fixed;
	top:0;
	left:0;
	margin:0;
	width:100%;
	height:100%;
	z-index:9999;
	background-color:rgba(255,255,255,0.9);
}
body:not(#PAGE_index) #loadingFilter #loadingFrame {
	width:100%;
	height:100%;
	padding-bottom:15%;
}
#loadingFilter #loadingFrame #loadingImg {
	width:100%;
	height:100%;
	background-image:url(img/loading.gif);
	background-position:50% 50%;
	background-repeat:no-repeat;
}

@media screen and (min-width:800px) { 
	body:not(#PAGE_index) #loadingFilter #loadingFrame {
		min-width:1000px;
		max-width:1600px;
		padding-left:300px;
		padding-right:10px;
	}
}




/* ==============================================
	scrollTop
=============================================== */
#scrollTop {
	position:fixed;
	bottom:0;
	right:0;
	display:none;
	width:60px;
	height:60px;
	padding:5px;
	text-align:center;
	background-color: rgb(255, 0, 0,0.9);
}
#scrollTop #scrollTopInner {
	cursor:pointer;
}
#scrollTop img {
}






/* ==============================================
	transfer Banner
=============================================== */
.comingsoon .date {
	font-size:300%;
	font-family:var(--title-fonts);
}

.index-photo {
	width:100%;
	max-width:1920px;
	min-width:1200px;
	display:flex;
	justify-content:center;
	overflow:hidden;
}
.index-photo img {
	width:auto;
	max-width:none;
	object-fit:cover;
}

.transBanner {
	margin:60px auto 30px;
	text-align:center;
}
.transBanner a {
	display:inline-block;
	font-size:18px;
	line-height:2;
	color:#f9c;
}
.transBanner a img {
	border:2px solid transparent;
	transition:all 0.3s ease;
	-webkit-transition:all 0.3s ease;
}
.transBanner a:hover img {
	border:2px solid #fff;
}


@media screen and (max-width:799px) { 
	.comingsoon .date {
		padding:0.5em 0;
		font-size:200%;
		line-height:1.2;
	}
	.transBanner a {
		font-size:14px;
	}

}



/* ==============================================
	event popup
=============================================== */
.sl-wrapper {
	z-index:10040 !important;
}
.sl-overlay {
	z-index:10050 !important;
}
.sl-wrapper .sl-close ,
.sl-wrapper .sl-counter{
	z-index:10060 !important;
}
.sl-spinner {
	z-index:10037 !important;
}
.sl-image {
	z-index:10100 !important;
}






/* ==============================================
	event popup (event_text2)
=============================================== */
#PAGE_event #cboxOverlay {
	background:#fff;
	opacity:0.8 !important;
	z-index:15000;
}
#PAGE_event #colorbox {
	position:fixed !important;
	top:calc(50% - (778px + 32px) / 2) !important;
	overflow:hidden !important;
	z-index:15010;
}
#PAGE_event #cboxContent ,
#PAGE_event #cboxLoadedContent {
	background:transparent;
}
#PAGE_event #cboxLoadedContent {
	padding:10px;
}

.boxFrame {
	padding:20px;
	background:rgba(255,255,255,0.55);
	border-radius:25px;
	box-shadow:3px 3px 10px #000;
	text-align:center;
}
.boxFrame > .boxImage {
	width:452px;
	height:622px;
	padding-bottom:20px;
}
.boxFrame > .boxImage img {
	max-height:100%;
	border:1px solid #666;
	box-shadow:1px 1px 3px #666;
}
.boxFrame > .boxInfo {
	width:452px;
}

.boxFrame > .boxInfo .boxText {
	width:100%;
	height:calc(24px * 2 + 32px * 2 + 2px * 2);		/* 116px */
	padding:24px 10px;
	line-height:32px;
	font-size:24px;
	color:#000;
	border:2px solid #000;
	box-shadow:1px 1px 3px #666;
	overflow:auto;
}

@media screen and (max-width:799px) { 
	#PAGE_event #colorbox {
		top:5% !important;
		left:5% !important;
		width:90% !important;
		height:85% !important;
	}
	#PAGE_event #cboxWrapper ,
	#PAGE_event #cboxWrapper > div:nth-child(2) {
		width:100% !important;
		height:100% !important;
	}
	#PAGE_event #cboxContent {
		width:100% !important;
		height:calc(100% - 32px ) !important;
	}
	#PAGE_event #cboxLoadedContent {
		width:calc(100% - 20px) !important;
		height:calc(100% - 20px) !important;
		padding:10px;
	}

	.boxFrame {
		display:block;
		height:calc(100%) !important;
		overflow:auto;
	}
	.boxFrame > .boxImage {
		width:100%;
		height:auto;
	}
	.boxFrame > .boxInfo {
		width:100%;
	}
	.boxFrame > .boxInfo .boxText {
		font-size:20px;
	}
}



.topMenu {
	display:flex;
	justify-content:space-evenly;
	align-items:center;
	flex-wrap:wrap;
	text-align:center;
}
.topMenu > li {
	width:calc(100% / 4);
	padding:0.2em;
}
.topMenu .button {
	aspect-ratio:1/1;
	padding-top:0.5em;
	background: rgba(255,255,255,0.8);
	border:3px solid #f09;
	border-radius:0.5em;
	overflow:hidden;
	display:flex;
	justify-content:center;
	align-items:center;
	flex-direction:column;
	box-shadow: 0 0 0.3em #f06 inset ,0 0 0.3em #fcf;
}
.topMenu .button > .icon {
	padding:0 1.5em;
	filter:drop-shadow(2px 1px 0 #000);
}
.topMenu .button > .text {
	padding-top:0.3em;
	color:#c06;
}

.pickupEvent img {
	max-width:800px;
}


