@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700;900&display=swap');
@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=Angkor&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;
}


@keyframes animateBlink{
	  0%{ opacity:1; }
	100%{ opacity:0.1; }
}

#body{
	opacity:0;
}


/* ==============================================
	CSS reset
=============================================== */
* ,*:before ,*:after{
	box-sizing:border-box;
	text-size-adjust:100%;
	-webkit-text-size-adjust:100%;
}
html ,body ,div ,p ,span ,iframe ,a ,img ,
h1 ,h2 ,h3 ,h4 ,h5 ,h6 ,
dl ,dt ,dd ,ol ,ul ,li ,
form ,label ,
table ,thead ,tbody ,tfoot ,tr ,th ,td ,
blockquote ,q ,pre ,
header ,footer ,nav ,article ,section ,aside{
	margin:0;
	padding:0;
	border:0 none;
	font-size:inherit;
	vertical-align:inherit;
	font-weight:inherit;
}
button ,input ,textarea ,select{
	font-size:16px;
	padding:2px 5px;
	letter-spacing:1px;
	font-family:'Noto Sans JP',sans-serif;
}
input[type="submit"] ,button{
	font-size:18px;
	padding:10px 30px;
}

html ,body{
	min-height:100%;
	height:100%;
}
a ,a:link ,a:visited{
	color:#00f;
	text-decoration:none;
	transition:all 0.3s ease;
	-webkit-transition:all 0.3s ease;
}
a:hover{
	color:#f0f;
	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 iframe{
	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{
	margin:auto 20px;
	padding-bottom:30px;
	line-height:1.1;
	color:#444;

	font-family:'Angkor',sans-serif;
	text-align:center;
}
.titleBar span{
	display:block;
}
.titleBar span:nth-child(1){
	font-size:480%;
	color:#093;
	text-shadow:2px 2px 0 #fff;
}
.titleBar span:nth-child(2){
	padding-top:0.5em;
	font-size:180%;
	font-weight:bold;
	letter-spacing:0.1em;
	text-indent:0.1em;
}

.titleBar.sub{
	margin-top:20px;
	margin-bottom:20px;
	padding:15px;
	line-height:1em;
	font-size:200%;
	letter-spacing:0.1em;
}
.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;
}
.titleBar.sub span:nth-child(2){
	padding-right:10px;
}

@media screen and (max-width:799px){
	.titleBar{
	}
	.titleBar span:nth-child(1){
		font-size:320%;
		line-height:1;
	}
	.titleBar span:nth-child(2){
		padding-top:0.3em;
		font-size:140%;
	}
	.titleBar.sub{
		margin-left:auto;
		margin-right:auto;
		max-width:100%;
		padding:10px 0;
		font-size:180%;
		letter-spacing:0.05em;
		text-indent:0.05em;
	}
}


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


/* ==============================================
	common attribute
=============================================== */
.contentsBloc{
	margin-bottom:80px;
}
@media screen and (max-width:799px){
	.contentsBloc{
		margin-bottom:60px;
	}
}

.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:120%;
}

.bold{
	font-weight:bold;
}


/* ==============================================
	infoBox option
=============================================== */
.noData{
	flex-grow:1;
	margin-left:auto;
	margin-right:auto;
	min-height:300px;
	padding-top:80px;
	font-size:90%;
	text-align:center;
	color:#444;
	background:rgba(255,255,255,0.6);
	border:6px solid #096;
}

.infoBox{
	width:100%;
	margin:0 auto 30px;
	padding:10px 20px;
	color:#333;
	background:rgba(255,255,255,0.6);
	border:6px solid #096;
}
.infoBox.box{
}
.infoBox.frame{
}

.infoBox p{
	padding:5px 0;
}
.infoBox.notes{
	max-width:1200px;
	text-align:center;
}


.infoBox.notes.white{
}
.infoBox.notes.white h3.titleBar.sub.center{
	padding:15px 0;
	border-bottom:2px solid #000;
	text-align:center;
}
.infoBox.notes.white a{
	color:#00f;
}
.infoBox.notes.white a:hover{
	color:#f00;
}

.infoBox.notes .headline ,
.noData .headline{
	color:#f06;
	font-size:150%;
}
.infoBox.notes .comment ,
.noData .comment{
	font-size:90%;
}
.noData .comment2{
	margin-top:15px;
}

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


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

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



/* ==============================================
	common table
=============================================== */
.commonTable{
	width:96%;
	max-width:1400px;
	letter-spacing:0.5px;
}
.commonTable th{
	width:20%;
	padding:5px 15px;
	border-bottom:1px solid #999;
	white-space:nowrap;
	letter-spacing:2px;
	text-align:right;
	vertical-align:middle;
}
.commonTable.recruitTable th{
	text-align:center;
}
.commonTable td:not(.noData){
	padding:5px 10px;
	border-bottom:1px solid #999;
	text-align:left;
}

.commonTable tr:last-child th ,
.commonTable tr:last-child td{
	border-bottom:0 none;
}

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




/* ==============================================
	image list
=============================================== */
.imageList{
	max-width:100%;
	text-align:center;
}
.imageList li:not(.noData){
	display:block;
	margin:auto 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:0px 0px 10px #fff;
}

.imageList.eventList{
	display:flex;
	flex-wrap:wrap;
	margin:auto;
}
#PAGE_home .imageList.eventList{
	padding:30px 0;
	justify-content:center;
}
.imageList.eventList li:not(.noData){
	width:calc(100% / 4);
	margin:auto 0 30px;
	padding:10px;
}
.imageList.eventList li.noData{
	width:100%;
}
#PAGE_home .imageList.eventList li{
	margin:auto 0;
	max-width:300px;
}

@media screen and (max-width:1400px){ 
	.imageList.eventList li{
		width:calc(100% / 3);
	}
	#PAGE_home .imageList.eventList{
		max-width:800px;
	}
	#PAGE_home .imageList.eventList li{
		width:calc(100% / 2);
	}
}
@media screen and (max-width:799px){
	.imageList.eventList li:not(.noData){
		width:calc(100% / 2);
	}
}

body .sl-overlay{
	background:#fff;
	opacity:0.8;
}
body .sl-wrapper .sl-image img{
	border:1px solid #333;
	box-shadow:2px 2px 5px #666;
}


/* ==============================================
	body
=============================================== */
body{
	position:relative;
	font-size:16px;
	line-height:1.6;
	color:#333;
	background:#fff;
	font-family:'Noto Sans JP',sans-serif;
}
body:before{
	content:"";
	position:fixed;
	top:0;
	bottom:0;
	left:0;
	right:0;
	width:100%;
	height:100vh;
	background:url(images/common/bg.jpg) 50% 0 #fff;
	background-size:cover;
	z-index:-1;
}

#bgLayer{
}

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


#h1{
	position:relative;
	margin-left:280px;
	padding:5px 0;
	line-height:1.4;
	font-weight:bold;
	z-index:11;
	text-align:center;
	color:#fff;
	background:rgba(0,102,0,0.8);
}


@media screen and (max-width:799px){ 
	body{
		padding:0;
	}
	body #bgLayer{
		width:480px;
		min-width:initial;
		margin:auto;
		padding-left:5px;
		padding-right:5px;
		overflow:hidden;
	}
	body #mainBloc{
		padding-top:40px;
	}
}


/* ==============================================
	header(left side fixed)
=============================================== */
@media screen and (min-width:800px){ 
	#header{
		position:fixed;
		left:0;
		top:0;
		width:280px;
		height:100%;
		padding-left:24px;
		background:rgba(255,255,255,0.6);
		z-index:100;
		box-shadow:1px 0 5px #666;
	}
	#header #headerInner{
		height:100%;
	}
}

@media screen and (max-width:799px){ 
	#header{
		position:fixed;
		top:0;
		left:0;
		width:100%;
		box-shadow:0 1px 5px #666;
		z-index:102;
	}
	#header #headerInner{
		position:relative;
		z-index:103;
		width:100%;
		height:63px;
		overflow:hidden;
		background:rgba(255,255,255,0.95);
	}
	#header .mCSB_inside > .mCSB_container{
		padding-right:0;
	}
}


/* ==============================================
	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{
		padding:5px;
	}
	#header ul#headerTitle li{
		width:230px;
	}
	#header ul#headerTitle li#headerLogo a img{
	}
	#header ul#headerTitle li#headerLogo a span{
		display:block;
	}
	#header ul#headerTitle li#headerInfoBloc{
		padding-bottom:5px;
		font-size:150%;
		line-height:1.3;
	}
	#header ul#headerTitle li#headerInfoBloc #headerText{
		border-bottom:1px solid #999;
		font-weight:900;
	}
	#header ul#headerTitle li#headerInfoBloc #headerText .time{
		font-size:80%;
		line-height:1.1;
	}
	#header ul#headerTitle li#headerInfoBloc #headerText .tel{
	}
	#header ul#headerTitle li#headerInfoBloc #headerText .tel small{
		font-size:70%;
		padding-right:0.2em;
	}

}
@media screen and (max-width:799px){ 
	#header ul#headerTitle{
		width:480px;
		height:100%;
		margin:auto;
		flex-direction:row;
		text-align:center;
	}
	#header ul#headerTitle li{
		margin:0;
	}
	#header ul#headerTitle li#headerLogo{
		margin-right:auto;
		height:100%;
	}
	#header ul#headerTitle li#headerLogo a span{
		height:100%;
		display:flex;
		align-items:center;
	}
	#header ul#headerTitle li#headerLogo a img{
		max-height:100%;
	}
	#header ul#headerTitle .headerIcon{
		margin:0;
		width:70px;
		padding:5px 10px 5px 0;
	}
	#header ul#headerTitle .headerIcon img{
		width:56px;
		height:56px;
	}
}




/* ==============================================
	header(left side fixed) price panel
=============================================== */
#headerPrice{
	width:100%;
	padding-bottom:10px;
	margin:auto;
	text-align:center;
}
#headerPrice #headerPriceC{
	color:#333;
	font-size:80%;
	line-height:1.3;
}

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






/* ==============================================
	header(left side fixed) nav menu
=============================================== */

@media screen and (min-width:800px){ 
	#header #headerInner .navMenuBloc{
		display:block !important;
	}
	#header .navMenu{
		width:100%;
		margin:0 auto;
		padding:0 1em;
		text-align:center;
	}
	#header .navMenu li{
		position:relative;
		width:100%;
	}
	#header .navMenu li a{
		position:relative;
		display:block;
		width:100%;
		color:#333;
	}
	#header .navMenu li a span:nth-child(1){
		display:block;
		padding:0.2em 0 0;
		font-size:160%;
		line-height:1.3;
		transition:all 0.8s ease;
		-webkit-transition:all 0.8s ease;
		font-family:'Angkor',sans-serif;
	}
	#header .navMenu a span:nth-child(2){
		display:none;
	}
	#header .navMenu li.active a{
		color:#fff;
		background:#093;
		text-shadow:1px 1px 0 #000;
	}
	#header .navMenu li:not(.active) a:hover span:nth-child(1){
		transform:rotateX(360deg);
		background:#6fc;
		transition:all 0.4s ease;
		-webkit-transition:all 0.4s ease;
	}


}


@media screen and (max-width:799px){ 
	#header .navMenuBloc{
		position:fixed;
		top:65px;
		right:-105%;
		padding:5px 0;
		background:rgba(255,255,255,0.95);
		border:1px solid #666;
		font-size:180%;
		z-index:103;
		transition:all 0.3s ease;
		-webkit-transition:all 0.3s ease;
	}
	#header .navMenuBloc.on{
		right:0;
	}

	#header .navMenuBloc a{
		display:block;
		padding:0.1em 1.5em;
		color:#333;
		font-family:'Angkor',sans-serif;
	}
	#header .navMenuBloc a span:nth-child(2){
		display:none;
	}
}



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

#header .navIcons li:nth-child(1) a{ background-position:0px -5px; }
#header .navIcons li:nth-child(2) a{ background-position:-63px -5px; }
#header .navIcons li:nth-child(3) a{ background-position:-124px -5px; }
#header .navIcons li:nth-child(4) a{ background-position:-185px -5px; }

#header .navIcons li:nth-child(1) a:hover{ background-position:0px -65px; }
#header .navIcons li:nth-child(2) a:hover{ background-position:-63px -65px; }
#header .navIcons li:nth-child(3) a:hover{ background-position:-124px -65px; }
#header .navIcons li:nth-child(4) a:hover{ background-position:-185px -65px; }


#header #headerInner .navMenuBloc .navMenuBlocInner ul.navIcons li a:hover:before{
	content:attr(data-title);
	position:absolute;
	top:calc(100%);
	left:50%;
	transform:translateX(-50%);
	line-height:1;
	padding:3px 5px;
	color:#fff;
	background:#093;
	box-shadow:1px 1px 3px #333;
}
#header #headerInner .navMenuBloc .navMenuBlocInner ul.navIcons li:nth-child(4) a:hover:before{
	transform:translateX(-60%);
}
@media screen and (min-width:800px){ 
}




/* ==============================================
	footer contents links (sidemenu)
=============================================== */
.sidemenu{
	width:100%;
	max-width:1200px;
	margin:auto;
	padding-top:50px;
	text-align:center;
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
}
.sidemenu li{
	width:50%;
	padding:15px 30px;
	text-align:center;
}
.sidemenu li > *{
	display:inline-block;
	overflow:hidden;
	border-radius:5px;
}
.sidemenu li span{
	display:none;
}
.sidemenu li img{
}
.sidemenu li a:hover{
	filter:drop-shadow(0 0 10px #fff);
}

@media screen and (min-width:800px){ 
	.sidemenu li.pc{
		display:block;
	}
}
@media screen and (max-width:799px){ 
	.sidemenu li{
		width:80%;
		padding:10px 0;
	}
	.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:24px;
		height:100%;
		padding-top:20px;
		background:rgba(0,102,0,0.8);

		line-height:24px;
		font-family:'Angkor',sans-serif;
		font-size:90%;
		letter-spacing:1px;
		color:#fff;

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

		z-index:101;
	}
	#copyright a{
		color:#fff;
	}
}
@media screen and (max-width:799px){ 
	#copyright{
		padding:1em 0;
		text-align:center;
		font-size:90%;
		font-weight:bold;
		color:#fff;
	}
	#copyright.innerFrame{
		width:480px;
		margin:auto;
		background:rgba(0,102,0,0.8);
	}
	#copyright a{
		color:#fff;
	}
}


/* ==============================================
	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:80%;
	transition:all 0.4s ease;
	-webkit-transition:all 0.4s ease;
}
#footer .navMenuBloc .navMenuBlocInner ul.navMenu li a span{
	display:block;
	white-space:nowrap;
	font-weight:bold;
}

#footer .navMenuBloc .navMenuBlocInner ul.navMenu li a span:nth-child(1){
	color:#f06;
}
#footer .navMenuBloc .navMenuBlocInner ul.navMenu li a span:nth-child(2){
	font-size:70%;
	color:#333;
}
#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:4em 0 1em;
	}

	#footer #footerNavBloc{
		padding:0.5em 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{
}
#footer #footerInfo #footerLogo{
	width:60%;
	max-width:480px;
	margin:auto;
	padding-top:2em;
}

#footer #footerInfo{
	display:block;
	text-align:center;
	color:#333;
	font-weight:700;
	font-size:160%;
	line-height:1.3;
	letter-spacing:0.05em;
}

#footer #footerInfo li{
	padding:0 10px;
}

@media screen and (max-width:799px){ 
	#footer #footerInfo #footerLogo{
		width:80%;
	}
	#footer #footerInfo #footerTel a{
		color:inherit;
		font-size:120%;
	}
}





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

@media screen and (min-width:800px){ 
	#body{
		min-width:1400px;
		max-width:1980px;
		min-height:100%;
		padding-top:40px;
		padding-bottom:10px;
		padding-left:300px;
		padding-right:20px;
		z-index:10;
		overflow:hidden;
	}
	#mainBloc{
		padding-top:30px;
	}
}
@media screen and (max-width:799px){ 
	#body{
		padding-top:90px;
	}
}


/* ==============================================
	index
=============================================== */
#PAGE_index #h1{
	display:none;
}
#PAGE_index #header{
	display:none;
}
#PAGE_index #footer #footerInner{
	padding-bottom:30px;
}
#PAGE_index #filterBg{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-color:#fff;
	opacity:0;
	z-index:10000;
}
@media screen and (min-width:800px){ 
	#PAGE_index #body{
		padding-top:30px;
		padding-left:34px;
		box-shadow:10px 0px 30px 10px rgba(255,255,255,0.8);
	}
}

#enterMainFrame{
	max-width:1200px;
	margin:0 auto;
	text-align:center;
}
#enterMainFrame > div img{
	border:1px solid #fff;
	box-shadow:1px 1px 5px #666;
}
#enterMainFrame ul#enterButtonBloc{
	position:relative;
	width:800px;
	height:120px;
	margin:30px auto 60px;
	text-align:center;
	background:url(images/icons/18yo.png) 50% 50% no-repeat;
	background-size:100px;
	display:flex;
	justify-content:space-between;
	flex-direction:row;
	flex-wrap:wrap;
	align-items:flex-end;
}
#enterMainFrame ul#enterButtonBloc li{
	display:block;
	width:300px;
	height:100%;
}
#enterMainFrame ul#enterButtonBloc li a{
	display:block;
	width:100%;
	height:100%;
	color:#333;
	text-shadow:1px 1px 0px #fff ,0 0 10px #fff ,0 0 10px #fff;
	font-size:240%;
	line-height:1;
	font-family:'Angkor',sans-serif;
	transition:all 0.3s ease;
	-webkit-transition:all 0.3s ease;
}
#enterMainFrame ul#enterButtonBloc li a span{
	display:block;
}
#enterMainFrame ul#enterButtonBloc li a span:nth-child(1){
	font-size:200%;
}
#enterMainFrame ul#enterButtonBloc li a:hover{
	color:#fff;
	text-shadow:2px 2px 0px #000 ,0 0 10px #666 ,0 0 10px #666;
}


@media screen and (max-width:799px){
	#PAGE_index #body{
		padding-top:20px;
	}
	#enterMainFrame ul#enterButtonBloc{
		display:block;
		width:100%;
		height:auto;
		margin:auto;
		background-size:80px;
	}
	#enterMainFrame ul#enterButtonBloc li{
		margin:auto;
		padding:50px 0;
	}
}




/* ==============================================
	home > homeTop > slider
=============================================== */
#homeSliderBloc{
	margin:auto;
	padding-bottom:50px;
}
#homeSliderBloc .bx-wrapper{
}
#homeSliderBloc .bx-wrapper .bx-viewport{
	background:transparent;
	border:0 none;
	text-align:center;
}
#homeSliderBloc .bx-wrapper .bx-viewport img{
	max-width:100%;
	border:1px solid #fff;
	box-shadow:2px 2px 5px #666;
}
#bgLayer #homeSliderBloc .bx-wrapper .bx-pager{
	bottom:-50px;
}


#bgLayer .bx-wrapper .bx-pager{
	text-align:center;
	font-size:0;
	margin:auto;
	bottom:auto;
}

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

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




/* ==============================================
	home newgirls
=============================================== */
#homeNewface{
}

#homeNewface.slider ul.castList{
	display:block;
}
#homeNewface.slider ul.castList li.castCell{
	margin:0;
	padding:10px 0;
}


/* ==============================================
	home schedule
=============================================== */
#homeSchedule{
}



/* ==============================================
	cast search panel
=============================================== */
#searchPanel{
	max-width:1200px;
}
#searchPanel .titleBar{
	font-size:360%;
	padding-bottom:20px;
}
.searchList{
	max-width:960px;
	margin:0 auto;
	padding-left:3em;
	padding-bottom:0.3em;
	font-size:160%;
	display:flex;
	justify-content:space-between;
}
.searchList > *{
	width:calc(100% / 3);
}
.searchList input{
	width:1.5em;
	height:1.2em;
}


#searchButtonBox{
	max-width:600px;
	margin:0 auto;
	padding:1em 0;
}
#searchButton{
	font-size:140%;
	line-height:2;
	color:#fff;
	text-shadow:none;
	background-color:#666;
	text-align:center;
	border-radius:3px;
	cursor:pointer;
}
#searchButton:hover{
	background-color:#333;
}


.castList.search .noData{
	font-size:130%;
}

@media screen and (max-width:799px){
	#searchPanel .titleBar{
		font-size:240%;
		padding-bottom:10px;
	}

	.searchList{
		padding-left:0;
		font-size:120%;
	}
	.searchListTable{
		display:table;
		width:100%;
	}
	.searchListTable .searchList{
		display:table-row;
	}
	.searchListTable .searchList > *{
		display:table-cell;
		width:auto;
		padding:0.3em 0;
	}

	#searchButtonBox{
		padding:0.5em 0;
	}

	.castList.search .noData{
		font-size:110%;
	}
}



/* ==============================================
	cast list
=============================================== */
ul.castList{
	display:flex;
	flex-wrap:wrap;
}
ul.castList li.castCell{
	position:relative;
	display:block;
	width:calc(100% / 4 - 2%);
	margin:5px 1% 15px;
	text-align:center;
}

ul.castList li.castCell .castImage{
	display:block;
	position:relative;
	overflow:hidden;
}
ul.castList li.castCell .castImage .photo{
	position:absolute;
	top:0px;
	bottom:0px;
	left:0;
	right:0;
	width:100%;
	height:100%;
}
ul.castList li.castCell .castImage .photo{
	width:100%;
	height:100%;
	object-fit:contain;
}
ul.castList li.castCell .castImage .noimageText{
	position:absolute;
	top:0px;
	bottom:0px;
	left:3%;
	right:3%;
	padding-top:60%;
	text-align:center;
	font-size:180%;
	line-height:1.4;
	font-weight:700;
	color:#333;
	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;
}
ul.castList li.castCell .castImage .noimageText > span{
	display:block;
	width:100%;
	overflow:hidden;
	white-space:nowrap;
}



ul.castList li.castCell .aFrame{
	display:block;
	color:#333;
	padding-bottom:5px;
	background:rgba(255,255,255,0.8);
	border:1px solid #fff;
}
ul.castList li.castCell a.aFrame:hover{
	background:rgba(255,255,255,0.9);
	box-shadow:0 0 0.5em 2px #0c6;
}

ul li.castFlagNewface a.aFrame:after{
	content:"";
	position:absolute;
	top:5px;
	left:5px;
	width:20%;
	height:100px;
	background-image:url(images/icons/newface_icon.png);
	background-repeat:no-repeat;
	background-position:0 0;
	background-size:contain;
}
ul li.castPickupCell.castFlagNewface a.aFrame:after{
}


ul.castList li.castCell .castInfo{
	display:block;
	margin:0 5px;
}
ul.castList li.castCell .castInfo .castName{
	display:block;
	font-size:160%;
	line-height:1.3;
}
ul.castList li.castCell .castInfo .castSize{
	display:block;
	overflow:hidden;
}
ul.castList li.castCell .castInfo .castIcon{
	display:flex;
	height:1.3em;
	line-height:1;
	justify-content:center;
	flex-wrap:wrap;
	overflow:hidden;
}
ul.castList li.castCell .castInfo .castIcon .textIcon{
	display:block;
	min-width:25%;
	margin:0.1em 3px;
	padding:0 2px;
	font-size:90%;
	line-height:1.2;
	letter-spacing:0;
	color:#fff;
	background:#093;
}

ul.castList li.castCell .castInfo .castTime{
	display:block;
	margin-top:4px;
	overflow:hidden;
	color:#fff;
	background:rgba(0,0,0,0.6);
}
ul.castList li.castCell .castInfo .castTime.castFlagToday{
}
ul.castList li.castCell .castInfo .castTime.castFlagToday:before{
	content:"本日出勤 ";
}


@media screen and (max-width:1600px){ 
	ul.castList{
		font-size:90%;
	}
}

@media screen and (max-width:799px){ 
	ul.castList li.castCell{
		width:calc(100% / 3 - 2%);
	}
	ul.castList li.castCell .aFrame{
		padding-bottom:0;
	}
	ul.castList li.castCell .castImage .noimageText{
		font-size:120%;
	}
	ul.castList li.castCell .castInfo{
		margin:4px 0 0;
		font-size:90%;
		line-height:1.4;
	}
	ul.castList li.castCell .castInfo .castSize span{
		display:block;
	}
	ul.castList li.castCell .castInfo .castIcon .textIcon{
		min-width:initial;
		margin:0.1em 1px;
		font-size:90%;
	}
}



/* ==============================================
	cast schedule
=============================================== */
#dateList{
	width:100%;
	margin:15px auto;
	padding:1px;
	text-align:center;
	display:flex;
	justify-content:space-between;
}
#dateList li{
	width:calc(100% / 7 - 3px);
	min-height:2.4em;
	line-height:1.2;
	padding:5px 0;
	font-size:140%;
	font-weight:bold;
	color:#fff;
	background:rgba(0,0,0,0.2);
	border:3px solid #999;
	cursor:pointer;
	display:flex;
	justify-content:center;
	align-items:center;
	transition:all 0.3s ease;
	-webkit-transition:all 0.3s ease;
}
#dateList li small{
	font-size:90%;
}
#dateList li.on{
	color:#fff;
	background:#093;
	border-color:#060;
}
#dateList li:not(.on):hover{
	color:#666;
	background:rgba(238,238,238,0.6);
}

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

@media screen and (max-width:799px){ 
	#dateList li{
		flex-direction:column;
	}
}




/* ==============================================
	cast ranking
=============================================== */
#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:inline-block;
	width:100%;
	line-height:30px;
	font-size:120%;
	color:#020202;
	background:#fff;
}
.ranking ul.castList li.castCell.castFlagNewface a.aFrame:after{
	top:35px;
}
.ranking ul.castList li.castCell{
	font-size:85%;
}

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

	/* ==============================================
		rank 1,2 custom
	=============================================== */
	#PAGE_ranking ul.castList li.castCell.rank1 ,
	#PAGE_ranking ul.castList li.castCell.rank2{
		width:calc(100% / 2 - 2%);
	}
}




/* ==============================================
	system
=============================================== */
.system{
	width:1000px;
	padding-top:15px;
	max-width:100%;
	margin-left:auto;
	margin-right:auto;
	text-align:center;
}
.system ul.infoBox{
	padding:0.5em 1em;
	font-size:300%;
	font-weight:bold;
}

.system ul.infoBox li.cate{
	margin-bottom:0.5em;
}
.system ul.infoBox li.cate > span.course{
	font-size:130%;
	color:#06f;
}
.system ul.infoBox li.cate > span.playtime{
	padding-left:1em;
	font-size:80%;
	color:#06f;
}
.system ul.infoBox li.cate > .comment{
	font-size:90%;
	color:#f39;
}
.system ul.infoBox li.cate > span.image{
	width:100%;
}

.system ul.infoBox li.flex{
	display:flex;
	flex-wrap:wrap;
	align-items:flex-start;
	padding:0 1em 0.3em;
}
.system ul.infoBox li.flex > span.time{
	width:50%;
	text-align:left;
}
.system ul.infoBox li.flex > span.price{
	width:50%;
	text-align:right;
}


.system ul.discount.infoBox li.cate > span.course{
	font-weight:700;
}
.system ul.discount.infoBox li.cate > span.playtime{
	display:block;
	padding-left:0;
	font-size:70%;
	line-height:1;
}
.system ul.discount.infoBox li.flex{
	justify-content:center;
	flex-direction:column;
	text-align:center;
}
.system ul.discount.infoBox li.flex > span.time{
	width:100%;
	text-align:center;
}
.system ul.discount.infoBox li.flex > span.price{
	width:100%;
	text-align:center;
	font-size:130%;
}

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

	.system ul.discount.infoBox li.cate > span.playtime{
	}
	.system ul.discount.infoBox li.flex > span.time{
		padding-bottom:10px;
	}
	.system ul.discount.infoBox li.flex > span.price{
	}
}





/* ==============================================
	access
=============================================== */
#access{
	max-width:100%;
	text-align:center;
}
#access iframe{
	width:90%;
	height:360px;
	margin:auto auto 30px;
	border:1px solid #fff;
}





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

.recruitButton{
	padding:30px 0;
	text-align:center;
}
.recruitButton a{
	display:inline-block;
	padding:0.5em 3em;
	color:#fff;
	background-color:rgba(51,51,51,0.6);
	font-size:120%;
	font-weight:bold;
	border:2px solid #666;
	border-radius:0.5em;
}
.recruitButton a:before{
	content:">> ";
}
.recruitButton a:hover{
	color:#333;
	background-color:rgba(255,255,255,0.6);
}

.recruit-0 .titleBar span{
	color:#c66;
}
.recruit-0 .infoBox.white{
	border-color:#c99;
}
.recruit-0 .commonTable th{
	font-weight:bold;
	color:#fff;
	background-color:#c99;
}
.recruit-0 .commonTable th ,
.recruit-0 .commonTable td{
	border-color:#c66;
}

.recruit-1 .titleBar span{
	color:#66c;
}
.recruit-1 .infoBox{
	border:3px solid #99c;
}
.recruit-1 .commonTable th{
	font-weight:bold;
	color:#fff;
	background-color:#99c;
}
.recruit-1 .commonTable th ,
.recruit-1 .commonTable td{
	border-color:#66c;
}

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


#recruitForm .titleBar{
	-webkit-text-stroke:1px #6c0;
	text-shadow:1px 1px 0 #000, 0 0 20px #6c0, 0 0 20px #6c0, 0 0 20px #6c0;
}
#recruitForm .infoBox{
	border:3px solid #6c0;
}


@media screen and (max-width:799px){
	.contentsBloc.recruitBloc .infoBox{
		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;
	letter-spacing:0.1em;
	text-align:left;
	color:#333;
}
form .commonTable th{
	width:35%;
	padding:20px 0 20px 20px;
	border-bottom:1px solid #999;
}
form .commonTable td{
	width:65%;
	padding:20px;
	border-bottom:1px solid #999;
}

#PAGE_recruit_form .commonTable td:not(.noData) ,
form.status2 .commonTable td:not(.noData){
	padding:20px 10px;
}

@media screen and (max-width:799px){
	#PAGE_recruit_form .commonTable td:not(.noData){
		padding-top:5px;
	}
}

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;
}


form th{
	text-align:right;
}
form td span{
	display:block;
}
form th .required:after ,
form th .required:before{
	display:inline-block;
	padding:0 0.3em;
	font-size:80%;
	color:#fff;
	background:#f00;
	border-radius:3px;
}

form .form-comment{
	padding-top:0.3em;
	font-size:90%;
	color:#666;
}


@media screen and (min-width:800px){ 
	form th .required:after{
		content:attr(data-text);
		margin-left:0.3em;
	}
}

@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;
		text-align:left;
	}
	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;
	}
	form th .required:before{
		content:attr(data-text);
		margin-right:0.3em;
	}
}
.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;
	}

}







/* ==============================================
	mail magazine
=============================================== */
#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{
	margin:5px;
}
.linkList li a{
	display:block;
	width:132px;
	height:54px;
	padding-top:5px;
	text-align:center;
	font-size:70%;
	color:#333;
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
	-webkit-text-overflow:ellipsis;
	-o-text-overflow:ellipsis;
}
#PAGE_index .linkList li a{
	width:142px;
}
.linkList li a img{
	width:88px;
	height:31px;
}
.linkList li a:hover{
	background:rgba(204,0,255,0.3);
}


.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;
	}
}



/* ==============================================
	review
=============================================== */
.review{
	width:100%;
	display:flex;
	justify-content:space-evenly;
	align-items:flex-start;
}
.review .reviewList.infoBox{
	margin-bottom:10px;
}

.review > .reviewBloc{
	width:48%;
}
.reviewCell{
	width:100% !important;
}
.reviewCell > .infoBox ,
.reviewCell > .noData{
	background:rgba(255,255,255,0.4);
}
.reviewCell > .infoBox .infoBox{
	margin:0.5em 1em;
	width:calc(100% - 1em);
	padding:0.3em 1em;
	background:rgba(255,255,255,0.6);
	border-width:1px;
}

.reviewCell .reviewDate{
	padding-right:1em;
	font-size:80%;
	text-align:right;
}

.reviewCell .text{
	padding-left:1em;
}
.reviewCell .body{
	padding-left:1em;
}

.reviewCell .reviewCast{
	padding-bottom:0.3em;
}



.reviewButton{
	padding:1em 1em 0;
	display:flex;
	justify-content:center;
	align-items:center;
}
.reviewButton > span ,
.reviewButton > a{
	padding:0 1.5em 0.1em;
	line-height:2;
	letter-spacing:0.05em;
	color:#fff;
	border:2px solid;
	border-radius:1.5em;
	cursor:pointer;
}

.reviewNotes{
	padding:1em 1em 0.1em;
	letter-spacing:0.05em;
}
.reviewNotes > span{
	font-size:90%;
	color:#f06;
}

@media screen and (max-width:799px){ 
	.review{
		align-items:center;
		flex-direction:column;
	}
	.review > .reviewBloc{
		width:100%;
	}
	.reviewBloc.shop{
		margin-bottom:40px;
	}
	.reviewCell .reviewDate{
		padding-right:0.5em;
		font-size:95%;
	}
}



/* color */
.reviewBloc.cast .head{
	color:#f06;
}
.reviewBloc.cast .reviewCell > .infoBox .infoBox{
	border-color:#f9c;
}
.reviewBloc.cast .reviewButton > *{
	border-color:#f9c;
	background-color:#f06;
}
.reviewBloc.cast .reviewButton > *:hover{
	color:#f06;
	background-color:#fde;
}

.reviewBloc.shop .head{
	color:#06f;
}
.reviewBloc.shop .reviewButton > *{
	border-color:#9cf;
	background-color:#06f;
}
.reviewBloc.shop .reviewButton > *:hover{
	color:#06f;
	background-color:#def;
}


#profileReviewFrame:not(.all) .reviewList .reviewCell:nth-child(n + 2){
	display:none;
}

@media screen and (max-width:799px){ 
	.reviewCell > .infoBox .infoBox{
		width:auto;
		margin:0.5em 0.5em;
		padding:0.3em 0.5em;
	}
}






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

.profileName{
	text-align:center;
	font-size:300%;
}
.profileName .number{
}
.profileName .profileSize{
	display:block;
	font-size:70%;
}

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


/* ==============================================
	profile icons
=============================================== */
.profileIcons{
	text-align:center;
	margin-top:15px;
	margin-bottom:15px;
}
.profileIcons .textIcon{
	display:inline-block;
	margin:5px 5px;
	padding:5px 20px;
	font-size:150%;
	line-height:1.4;
	letter-spacing:1px;
	color:#fff;
	background:#090;
}

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



/* ==============================================
	profile thumbs slider
=============================================== */
#profileImageFrame{
	position:relative;
	text-align:center;
	margin:auto auto 60px;
	max-width:720px;
}
#profileImageFrame .bx-wrapper .bx-pager{
	bottom:-55px;
	text-align:center;
}
#profileImageFrame.castFlagNewface:after{
	content:"";
	position:absolute;
	top:0%;
	left:10%;
	width:30%;
	height:120px;
	background:url(images/icons/newface_icon.png) 0 0 no-repeat;
	background-size:contain;
}


#profileImageFrame ul#profileThumbs li > div{
	display:inline-block;
	padding:8px;
}

#profileImageFrame ul#profileThumbs li.noimage .noimageText{
	position:absolute;
	top:0px;
	bottom:0px;
	left:5%;
	right:5%;
	padding-top:45%;
	text-align:center;
	font-size:60px;
	line-height:1.4;
	color:#333;
	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;
}


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




/* ==============================================
	profile information
=============================================== */
#profileInfoFrame{
	max-width:1000px;
	margin:auto;
}
#profileInfoFrame h3.titleBar{
	margin-left:0;
	margin-right:0;
	letter-spacing:1px;
	text-indent:1px;
	text-align:center;
}
#profileInfoFrame #profileProfileBloc{
	padding-bottom:30px;
}
#profileInfoFrame #profileProfileBloc img{
	vertical-align:top;
}
#profileInfoFrame #profileTable{
	padding:0.5em;
	background:rgba(255,255,255,0.6);
	border:6px solid #096;
}
#profileInfoFrame #profileTable{
	text-align:left;
	display:flex;
	flex-wrap:wrap;
}
#profileInfoFrame #profileTable dt{
	color:#096;
	font-weight:bold;
	width:320px;
	padding:5px 1em;
}
#profileInfoFrame #profileTable dd{
	width:calc(100% - 320px);
	padding:5px 1em;
}

#profileInfoFrame .profileSubHeader{
	color:#ffd;
	padding-left:1em;
}

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

@media screen and (max-width:799px){ 
	#profileInfoFrame{
	}
	#profileInfoFrame h3.titleBar{
		font-size:80%;
	}
	#profileInfoFrame #profileTable dt{
		width:100%;
		padding-bottom:0;
	}
	#profileInfoFrame #profileTable dd{
		width:100%;
		padding-top:0;
		padding-left:2em;
	}
}



/* ==============================================
	profile > right info frame > bottom schedule
=============================================== */
#profileScheduleBloc{
	max-width:1000px;
	margin:40px auto;
	color:#333;
	background:rgba(255,255,255,0.6);
}

.profileScheduleCaption{
	text-align:center;
	font-weight:bold;
	line-height:2;
	font-size:130%;
}
.profileSchedule{
	width:100%;
	margin:auto;
	text-align:center;
	border-spacing:3px;
	padding:3px;
	border-collapse:collapse;
	font-weight:bold;
}

.profileSchedule th ,
.profileSchedule td{
	width:14%;
	border:1px solid #666;
}
.profileSchedule th{
	padding:5px 0;
	font-size:120%;
	color:#fff;
	background:rgba(0,0,0,0.4);
}
.profileSchedule th.week0{
	background:rgba(255,0,0,0.4);
}
.profileSchedule th.week6{
	background:rgba(0,0,255,0.4);
}

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

.profileSchedule td{
	padding:10px 0;
}



/* ==============================================
	profile > right info frame > chart
=============================================== */
#profileChartOuter{
	margin:30px;
	border:2px solid #f6c;
}
#profileChartOuter .titleBar.sub{
	padding:0;
	margin-bottom:0;
}

#profileChart{
	height:360px;
	padding-top:20px;
	overflow:hidden;
}

@media screen and (max-width:799px){ 
	#profileChartOuter{
		margin:30px auto;
	}
}



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


/* ==============================================
	profile > guide(bottom)
=============================================== */
#profileGuideBottom{
	height:40px;
	margin:60px auto 30px;
	overflow:hidden;
	text-align:center;
	display:flex;
	justify-content:center;
}
#profileGuideBottom li{
	width:150px;
	line-height:2;
	font-size:120%;
	text-align:center;
	padding:0 1px;
}

#profileGuideBottom li a{
	display:block;
	width:148px;
	height:100%;
	color:#eee;
	background:rgba(0,0,0,0.6);
	border:2px solid #f6c;
}
#profileGuideBottom li:last-child a{
}
#profileGuideBottom li a span{
}
#profileGuideBottom li a:hover{
	color:#f6c;
	background:rgba(255,255,255,0.8);
}




/* ==============================================
	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:61px;
	height:61px;
	padding:5px;
	text-align:center;
	background:#096;
	border-top:1px solid #fff;
	border-left:1px solid #fff;
}
#scrollTop #scrollTopInner{
	cursor:pointer;
}
#scrollTop img{
}




/* ==============================================
	diary
=============================================== */
#diary > iframe.infoBox.frame{
	width:800px;
	max-width:100%;
	height:800px;
	margin:auto;
	padding:5px;
}
@media screen and (max-width:799px){
	#diary > iframe.infoBox.frame{
		width:420px;
		height:420px;
	}
}

#profileProfileBloc #diary{
	padding-top:30px;
}
#profileProfileBloc #diary > iframe{
	width:600px;
	max-width:100%;
	height:600px;
	margin:auto;
}
@media screen and (max-width:799px){
	#profileProfileBloc #diary > iframe{
		width:420px;
		height:420px;
	}
}


