@charset "utf-8";

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


@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:#9ff;
	text-decoration:none;
	transition:all 0.3s ease;
	-webkit-transition:all 0.3s ease;
}
a:hover {
	color:#ff0;
	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:#fff;
	text-shadow:2px 3px 0 #000,0 0 20px #f6c,0 0 20px #f6c,0 0 20px #f6c;

	font-family:"Roboto Slab",'Noto Sans JP',sans-serif;
	text-align:center;
}
.titleBar span {
	display:block;
}
.titleBar span:nth-child(1) {
	font-size:480%;
	font-weight:600;
	font-style:italic;
}
.titleBar span:nth-child(2) {
	font-size:240%;
	font-weight:700;
	letter-spacing:0.3em;
	text-indent:0.3em;
	font-style: oblique;
}

.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:300%;
	}
	.titleBar span:nth-child(2) {
		font-size:150%;
	}
	.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:#ccc;
	background:rgba(0,0,0,0.9);
	border:3px solid #f6c;
}

.infoBox {
	width:100%;
	margin:0 auto 30px;
	padding:10px 20px;
	background:rgba(0,0,0,0.9);
	border:3px solid #f6c;
}
.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 .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 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:not(.noData) img {
	aspect-ratio:1/1;
	object-fit:cover;
}
.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:#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:#fff;
	background:#000;
	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.webp) 50% 0 #000;
	background-size:cover;
	z-index:-1;
}

#bgLayer {
	background:rgba(0,0,0,0.2);
}

.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:#e22c;
}


@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:#e229;
		z-index:100;
		box-shadow:1px 0 5px #fff;
	}
	#header #headerInner {
		height:100%;
	}
}

@media screen and (max-width:799px) { 
	#header {
		position:fixed;
		top:0;
		left:0;
		width:100%;
		height:62px;
		box-shadow:0 1px 5px #fff;
		z-index:102;
	}
	#header #headerInner {
		position:relative;
		z-index:103;
		width:100%;
		height:100%;
		background:#e229;
	}
}


#header {
	font-family:"Roboto Slab",'Noto Sans JP',sans-serif;
}
/* ==============================================
	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%;
	padding:3px 0;
}

@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 {
		padding-top:5px;
		border-bottom:1px solid #fff;
		letter-spacing:1px;
	}
	#header ul#headerTitle li#headerInfoBloc #headerText .time {
		font-size:80%;
		font-weight:bold;
		line-height:1.1;
	}
	#header ul#headerTitle li#headerInfoBloc #headerText .tel {
		font-weight:bold;
	}

}
@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;
		padding:0 10px;
		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 {
		padding-right:10px;
	}
	#header ul#headerTitle .headerIcon img {
		width:56px;
		height:56px;
	}
}




/* ==============================================
	header(left side fixed) price panel
=============================================== */
#headerPrice {
	width:100%;
	padding-bottom:10px;
	margin:auto;
	font-weight:bold;
	text-align:center;
}
#headerPrice #headerPriceC {
	color:#fff;
	text-shadow:2px 3px 0 #000 ,0 0 20px #f6c ,0 0 20px #f6c ,0 0 20px #f6c;
	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%;
		padding-bottom:2px;
	}
	#header .navMenu li a {
		position:relative;
		display:block;
		width:100%;
		color:#fff;
	}
	#header .navMenu li a span:nth-child(1) {
		display:block;
		font-size:140%;
		line-height:1.6;
		transition:all 0.8s ease;
		-webkit-transition:all 0.8s ease;
	}
	#header .navMenu a span:nth-child(2) {
		display:none;
	}
	#header .navMenu li.active a {
		background:rgba(0,0,0,0.5);;
		text-shadow:1px 1px 0 #000,0 0 20px #fff;
	}
	#header .navMenu li:not(.active) a:hover span:nth-child(1) {
		transform:rotateX(360deg);
		background:rgba(0,0,0,0.5);;
		transition:all 0.4s ease;
		-webkit-transition:all 0.4s ease;
	}


}


@media screen and (max-width:799px) { 
	#header .navMenuBloc{
		position:fixed;
		top:63px;
		right:-100%;
		padding:5px 0;
		background:#e229;
		font-size:180%;
		z-index:102;
		transition:all 0.3s ease;
		-webkit-transition:all 0.3s ease;
	}
	#header .navMenuBloc.on {
		right:0;
	}
	#header .navMenuBloc a {
	}
	#header .navMenuBloc a {
		display:block;
		padding:0.1em 1.5em;
		color:#fff;
	}
	#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;
}
#header .navIcons li a span {
	display:none;
}

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

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


#header #headerInner .navMenuBloc .navMenuBlocInner ul.navIcons li a:hover:before {
	content:attr(data-title);
	position:absolute;
	top:calc(100% - 5px);
	left:50%;
	transform:translateX(-50%);
	line-height:1;
	padding:3px 5px;
	color:#fff;
	background:#e22;
	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;
}
.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;
	}
}




/* ==============================================
	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,0,0,0.5);

		line-height:24px;
		font-family:"Roboto Slab",'Noto Sans JP',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;
	}
	#copyright a:hover {
		color:#ffff00;
	}
}
@media screen and (max-width:799px) { 
	#copyright {
		line-height:4;
		text-align:center;
		font-size:90%;
		color:#fff;
		text-shadow:2px 3px 0 #000 ,0 0 20px #f6c ,0 0 20px #f6c ,0 0 20px #f6c;
	}
	#copyright.innerFrame {
		width:480px;
		margin:auto;
		background:rgba(0,0,0,0.3);
	}
	#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:#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:60px 0 10px;
	}

	#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 {
}
#footer #footerInfo #footerLogo {
	max-width:360px;
	margin:auto;
	padding-bottom:30px;
}

#footer #footerInfo {
	display:block;
	text-align:center;
	color:#fff;
	text-shadow:2px 3px 0 #000 ,0 0 20px #f6c ,0 0 20px #f6c ,0 0 20px #f6c;
	font-family:"Roboto Slab",'Noto Sans JP',sans-serif;
	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 {
		max-width:60%;
	}
	#footer #footerInfo #footerTel a {
		color:#fff;
		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:#fff;
	text-shadow:1px 1px 0px #000 ,0 0 10px #c6f ,0 0 10px #c6f;
	font-size:240%;
	line-height:1;
	font-family:"Roboto Slab",'Noto Sans JP',sans-serif;
	font-weight:900;
	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:#000;
	text-shadow:1px 1px 0px #fff ,0 0 10px #fff ,0 0 10px #fff;
}


@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:#000;
}


.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 img{
	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:#000;
	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;
	padding-bottom:5px;
	background:rgba(0,0,0,0.9);
	border:1px solid #fff;
	box-shadow: 0 0 5px 3px #333;
}
ul.castList li.castCell a.aFrame:hover {
	box-shadow: 0 0 10px 5px #f6c;
}

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:#e22;
}

ul.castList li.castCell .castInfo .castTime {
	display:block;
	margin-top:5px;
	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:70%;
	}
	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:60%;
	}
}



/* ==============================================
	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:900;
	color:#ccc;
	background:rgba(0,0,0,0.6);
	border:2px solid #f6c;
	cursor:pointer;
	font-family:"Roboto Slab",'Noto Sans JP',sans-serif;
	display:flex;
	justify-content:center;
	align-items:center;
}
#dateList li.on {
	color:#f6c;
	background:rgba(255,255,255,0.95);
}
#dateList li:not(.on):hover {
	color:#000;
	background:rgba(255,255,255,0.8);
}

#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-family:"Roboto Slab",'Noto Sans JP',sans-serif;
	font-weight:900;
}

.system ul.infoBox li.cate {
	margin-bottom:0.5em;
}
.system ul.infoBox li.cate > span.course {
	font-size:130%;
	color:#fff;
	text-shadow: 0 0 10px #f6c ,0 0 10px #f6c ,0 0 10px #f6c;
}
.system ul.infoBox li.cate > span.playtime {
	font-size:80%;
	color:#fff;
	text-shadow: 0 0 10px #f6c ,0 0 10px #f6c ,0 0 10px #f6c;
}
.system ul.infoBox li.cate > div.comment {
	font-size:80%;
	color:#ff6;
	line-height:1.4;
}
.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.infoBox li.flex > span.text {
	font-size:60%;
}

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

.system ul.notice.infoBox {
	font-size: 240%;
}
.system ul.notice.infoBox .text {
	padding-top:0.5em;
	font-size: 80%;
}

@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 {
	}

	.system ul.notice.infoBox {
		font-size: 150%;
	}
}





/* ==============================================
	access
=============================================== */
#access {
	max-width:100%;
	text-align:center;
}
#access iframe {
	width:100%;
	height:360px;
	margin:auto auto 30px;
	border:1px solid #ccc;
	filter:invert(90%) hue-rotate(-180deg);
}





/* ==============================================
	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.9);
	font-size:120%;
	font-weight:bold;
	border:2px solid #fff;
	border-radius:0.5em;
}
.recruitButton a:before {
	content:">> ";
}
.recruitButton a:hover {
	color:#fff;
	background-color:rgba(154,154,154,0.9);
}

.recruit-0 .titleBar {
}
.recruit-0 .infoBox.white {
	border-color:#f9c;
}
.recruit-0 .commonTable th {
	background-color:#600;
}
.recruit-0 .commonTable th ,
.recruit-0 .commonTable td {
	border-color:#900;
}

.recruit-1 .titleBar {
	-webkit-text-stroke:1px #09f;
	text-shadow: 1px 1px 0 #000, 0 0 20px #09f, 0 0 20px #09f, 0 0 20px #09f;
}
.recruit-1 .infoBox {
	border:3px solid #09f;
}
.recruit-1 .commonTable th {
	background-color:#006;
}
.recruit-1 .commonTable th ,
.recruit-1 .commonTable td {
	border-color:#009;
}

@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;
}
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:#f06;
	border-radius:3px;
}

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


@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:#ff5fbe;
}

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;
	padding-top:5px;
	text-align:center;
	font-size:80%;
	color:#333;
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
	-webkit-text-overflow:ellipsis;
	-o-text-overflow: ellipsis;
}
.linkList li a:hover {
	background:rgba(204,0,255,0.3);
}





/* ==============================================
	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:#e22;
}

@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 img {
	width:600px;
	max-width:90%;
	aspect-ratio:600/800;
	object-fit:contain;
	outline:1px solid #ccc;
}
#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:#000;
	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(0,0,0,0.9);
	border:3px solid #f6c;
}
#profileInfoFrame #profileTable dl {
	text-align:left;
	display:flex;
	flex-wrap:wrap;
}
#profileInfoFrame #profileTable dt {
	color:#ff9;
	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;
	background:rgba(0,0,0,0.9);
}

.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.8);
}
.profileSchedule th.week0 {
	background:rgba(255,0,153,0.8);
}
.profileSchedule th.week6 {
	background:rgba(0,153,255,0.8);
}

.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;
	font-style:italic;
	font-weight:bold;
	font-size:300%;
}

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

@media screen and (max-width: 799px) { 
	#profileChartOuter {
		margin:30px auto;
	}
	#profileChartOuter .titleBar.sub {
		font-size:240%;
	}
}



/* ==============================================
	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;
	font-family:"Roboto Slab",'Noto Sans JP',sans-serif;
	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.95);
}




/* ==============================================
	loading filter
=============================================== */
#loadingFilter {
	display:none;
	position:fixed;
	top:0;
	left:0;
	margin:0;
	width:100%;
	height:100%;
	z-index:9999;
	background-color:rgba(0,0,0,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:#e229;
}
#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:2em 0;
}
#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;
	}
}



/* ==============================================
	index text
=============================================== */
.indexText {
	width:800px;
	max-width:100%;
	margin:10em auto 0;
	padding:1em;
	text-align:center;
	font-weight:bold;
	background:rgba(0,0,0,0.5);
}
.indexText > * {
	white-space:nowrap;
}
.indexText .pt {
	padding-top:0.5em;
}
.indexText h2 {
	text-shadow:0 0 3px #ff0,0 0 5px #ff0;
}
.indexText strong {
	text-shadow:0 0 3px #f6c,0 0 5px #f6c;
}


.fujoho_custom_banner {
	width:100% !important;
}
