@charset "utf-8";


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

@font-face {
	font-family:'CGothic';
	src:url('images/fonts/CGothic.ttf') format('truetype');
}
@font-face {
	font-family:'CSerif';
	src:url('images/fonts/CSerif.ttf') format('truetype');
}
@font-face {
	font-family:'Cplate';
	src:url('images/fonts/Cplate.ttf') format('truetype');
}

/* ==========================================================================================================================================
	fonts
========================================================================================================================================== */
* {
	--fonts-main:"Noto Sans JP" ,sans-serif;
	--fonts-title:"Cplate" ,"Noto Sans JP" ,sans-serif;
	--fonts-serif:"Noto Serif JP" ,serif;
}

/* ==========================================================================================================================================
	default set
========================================================================================================================================== */
@-webkit-keyframes blink {
	0%{opacity:0;} 100%{opacity:1;}
}
@-moz-keyframes blink {
	0%{opacity:0;} 100%{opacity:1;}
}
@keyframes blink{
	0%{opacity:0;} 100%{opacity:1;}
}


.noDisp {
	display:none;
}

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



/* ==========================================================================================================================================
	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;
	vertical-align:inherit;
	color:inherit;
	font-size:inherit;
	font-weight:inherit;
	font-family:inherit;
	font-style:inherit;
	text-decoration:inherit;
}

button ,input ,textarea ,select {
	max-width:100%;
	font-size:16px;
	letter-spacing:1px;
	font-family:var(--fonts-main);
}
button {
	padding:0.3em 1.5em;
}

html ,body {
	min-height:100%;
	height:100%;
	font-family:var(--fonts-main);
}
a {
	transition:all 0.3s ease;
	-webkit-transition:all 0.3s ease;
}
a:hover {
}

img {
	vertical-align:bottom;
	max-width:100%;
	backface-visibility:hidden;
	-webkit-backface-visibility:hidden;
}
ol ,ul ,li {
	list-style:none;
}
table {
	border-collapse:collapse;
	border-spacing:0;
}
blockquote ,q {
	quotes:none;
}
blockquote:before ,blockquote:after
,q:before ,q:after {
	content:'';
	content:none;
}
header ,footer ,nav ,article ,section ,aside {
	display:block;
}

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


/* ==========================================================================================================================================
	common
=========================================================================================================================================== */
.titleBar {
	margin-bottom:1em;
	box-shadow:0 0 3px #606;
	font-family:var(--fonts-title);
}
.titleBar:not(.sub) {
	padding:0.3em 1em;
	color:#fff;
	background: linear-gradient(180deg,#1d2538 0%,#746785 35%,#c9aed1 50%,#746785 65%,#1d2538 100%);
	display:flex;
	justify-content:space-between;
	align-items:center;
}
.titleBar:not(.sub) > span:nth-child(1) {
	font-size:150%;
	text-shadow: 1px 1px 5px #606,1px 1px 5px #606;
}
.titleBar:not(.sub) > span:nth-child(2) {
	font-size:90%;
	text-shadow: 1px 1px 5px #606,1px 1px 5px #606,1px 1px 5px #606;
}

.titleBar.sub {
	padding:0.3em 0.5em 0.2em;
	font-size:120%;
	color:#fff;
	background:linear-gradient(#111, #333) #111;
	border-left:0.3em solid #c0f;
	border-bottom:1px solid #c0f;
}

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

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

.contentsBloc {
	margin-bottom:20px;
}

.infoBox {
	width:100%;
	padding:0.5em 1em 2em;
}
.center {
	text-align:center;
}
.infoBox p {
	padding:5px 0;
}

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

.noticeInfo {
	color:#60c;
}
.noticeAlert {
	color:#60c;
}
.noticeLink {
	padding:0 1.5em;
	color:#fff;
	font-size:80%;
}
.noticeLink a {
	color:#60f;
}
.noticeLink a:hover {
	text-decoration:underline;
}

.mBottom {
	margin-bottom:30px;
}

.strong {
	padding:0 0.2em;
	color: #0ff;
	font-size:120%;
	font-weight:bold;
}

@media screen and (max-width:799px){
	.titleBar:not(.sub) {
		background: linear-gradient(180deg, #1d2538 0%, #746785 30%, #c9aed1 50%, #746785 70%, #1d2538 100%);
	}
	.infoBox {
		padding:0.5em 0.3em 2em;
	}
	.noticeLink {
		padding:0 1em;
		font-size:70%;
	}
}


/* ==========================================================================================================================================
	body
=========================================================================================================================================== */
body {
	position:relative;
	font-size:16px;
	line-height:1.6;
	color:#fff;
	background:url(images/pc/bg.webp) 50% 0% repeat-y #fff;
}
#bgLayer {
	width:100%;
	min-width:1200px;
	max-width:1400px;
	margin:0 auto;
	background: rgba(0,0,0,0.8);
}
body #body {
	position:relative;
	padding:10px 20px 0;
}

.innerFrame {
	width:100%;
	margin:0 auto;
}

#body > .innerFrame {
	padding:0;
	display:flex;
	justify-content:space-between;
}


@media screen and (max-width:799px){
	body {
		font-size:14px;
		background-position:-325px 100px;
	}
	#bgLayer {
		min-width:480px;
		max-width:480px;
		padding:0;
	}
	body #body {
		padding:120px 10px 60px;
	}

	#body > .innerFrame {
		padding:5px 0;
	}
}





/* ==============================================
	body sidemenu
=============================================== */
.sidemenu {
	width:200px;
}
#sidemenuL {
	order:1;
}
#sidemenuR {
	order:3;
}
.sidemenu li {
	padding-bottom:15px;
}
.sidemenu li img {
	width:100%;
	outline: 1px solid #c6f;
    box-shadow: 1px 1px 3px #c6f;
	transition:all 0.3s ease;
	-webkit-transition:all 0.3s ease;
}
.sidemenu li a {
	display:block;
}
.sidemenu li a:hover img {
	box-shadow: 0px 0px 5px 4px #c6f;
}

/* ==============================================
	body mainBloc
=============================================== */
#mainBloc {
	order:2;
	width:calc(100% - 440px);
}

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


/* ==========================================================================================================================================
	header
=========================================================================================================================================== */


/* ============================================================================================
	header PC
============================================================================================= */
@media screen and (min-width:800px){
	#header {
		position:relative;
		margin:0 auto;
	}

	#header #h1 h1 {
		padding:0.2em 0.8em;
		font-size:80%;
		color:#fff;
		text-shadow:1px 1px 0 #000;
		background-color:#1d1d1d;
	}

	#header #headerMain {
		position:relative;
		padding:0 10px;
	}

	#header #headerMain .headerText{
		position:absolute;
		bottom:8px;
		right:20px;
		line-height:1.2;
		color:#fff;
		text-shadow:1px 1px 0 #909,0 0 0.3em #909,0 0 0.5em #909,0 0 0.5em #909,0 0 0.5em #909;
		font-weight:900;
		font-family:var(--fonts-serif);
		text-align:right;
	}
	#header #headerMain .headerText .time{
		font-size:120%;
		padding-right:0.3em;
		display:flex;
		justify-content:flex-end;
		text-align:left;
	}
	#header #headerMain .headerText .tel{
		font-size:200%;
	}
	#header #headerMain .headerText span{
		font-size:90%;
		padding-right:0.3em;
	}

	#header #headerMain.image {
		padding:10px 0;
	}
	#header #headerMain.image .headerText {
		bottom:35px;
		right:45px;
		font-size:115%;
	}


	/* ============================================================================================
		header > menu
	============================================================================================= */
	#header .navMenuBloc {
		padding:0 10px;
	}
	#header .navMenuBloc nav {
		width:100%;
		padding:0;
		background: linear-gradient(180deg,#3f3f3f 50%,#000 50%);
		box-shadow:0 1px 3px #666;
	}
	#header .navMenu {
		line-height:1.2;
		font-family:var(--fonts-title);
		display:flex;
		justify-content:flex-start;
	}
	#header .navMenu > li {
		position:relative;
		width:calc(100% / 8);
		height:60px;
	}
	#header .navMenu > li a {
		position:relative;
		width:100%;
		height:100%;
		display:flex;
		justify-content:center;
		align-items:center;
		flex-direction:column;
	}
	#header .navMenu > li a span {
		position:relative;
		z-index:2;
		transition:all 0.3s ease;
		-webkit-transition:all 0.3s ease;
	}
	#header .navMenuBloc li a span.en {
		font-size:105%;
		color: #fff;
	}
	#header .navMenuBloc li a span.jp {
		font-size:75%;
		color: #fc0;
	}

	#header .navMenuBloc li a:before {
		content:"";
		position:absolute;
		bottom:4px;
		left:0;
		right:0;
		z-index:1;
		display:block;
		width:90%;
		height:4px;
		margin:0 auto;
		background:#96c;
		opacity:0;
		transition:all 0.3s ease;
		-webkit-transition:all 0.3s ease;
	}
	#header .navMenuBloc li:not(.active) a:hover:before {
		opacity:1;
	}
	#header .navMenuBloc li.active a {
		color:#f06;
		background: linear-gradient(180deg,#333 50%,#222 50%);
	}
	#header .navMenuBloc li.active a:before {
		background:#c0f;
		opacity:1;
	}
	#header .navMenuBloc li.active a span.en ,
	#header .navMenuBloc li:not(.active) a:hover span.en {
		text-shadow: 0 0 10px #fff,0 0 15px #fff;
	}
}


/* ============================================================================================
	header SP
============================================================================================= */
@media screen and (max-width:799px){
	body:not(#indexHtmlBody) #header {
		position:fixed;
		top:0;
		left:0;
		width:100%;
		height:105px;
		z-index:10000;
		background-color:rgba(0,0,0,0.8);
	}
	body#indexHtmlBody #header ,
	body#comingsoonHtmlBody #header {
		display:none;
	}

	#header > div {
		width:480px;
		margin:0 auto;
	}
	body#comingsoonHtmlBody #header > div {
		background-color:rgba(0,0,0,0.9);
		box-shadow:0px 1px 5px #ccc;
	}
	body#comingsoonHtmlBody > article {
		min-height:calc(100% - 197px);
		display:flex;
		align-items:stretch;
	}
	body#comingsoonHtmlBody > article #body {
		padding:20px 10px;
		display:flex;
		align-items:center;
	}


	/* ==============================================
		header > spHeaderMenu
	=============================================== */
	#spHeaderMenu {
		position:relative;
		width:100%;
		height:70px;
		padding:0.2em 0.5em 0.2em 0;
		z-index:10002;
		display:flex;
		justify-content:space-between;
		align-items:flex-end;
		text-align:center;
	}
	#spHeaderMenu li {
		height:100%;
	}
	#spHeaderMenu li img {
		max-height:100%;
	}
	#spHeaderMenu li#spHeaderLogo {
	}
	#spHeaderMenu li#spHeaderTel {
		height:50px;
	}
	#spHeaderMenu li#spHeaderTel a {
		position:relative;
		display:block;
		height:100%;
	}
	#spHeaderMenu li#spHeaderTel a span {
		position:absolute;
		top:3px;
		left:40px;
		right:5px;
		color:#ff;
		text-shadow:0 0 0.3em #909,0 0 0.5em #909;
		font-weight:900;
		font-size:130%;
		font-family:var(--fonts-serif);
		text-align:center;
	}


	/* ==============================================
		header > navMenu
	=============================================== */
	#header .navMenuBloc {
		width:100%;
	}
	#header .navMenuBloc ul.navMenu {
		margin:auto;
		width:100%;
		height:30px;
		text-align:center;
		display:flex;
		justify-content:space-evenly;
		align-items:center;
	}
	#header .navMenuBloc li {
		width:calc(100% / 5);
		height:100%;
		padding:0 2px;
	}
	#header .navMenuBloc li a {
		position:relative;
		display:block;
		width:100%;
		height:100%;
        background-color: rgba(0, 0, 0, 0.85);
        outline: 1px solid #c0f;
        border: 1px solid #fff;
	}
	#header .navMenuBloc li a span {
		display:none;
	}
	#header .navMenuBloc li.navMenu06 ,
	#header .navMenuBloc li.navMenu07 ,
	#header .navMenuBloc li.navMenu08 ,
	#header .navMenuBloc li.navMenu09 {
		display:none;
	}

	#header .navMenuBloc li a:after {
		content:"";
		position:absolute;
		top:0;
		left:0;
		display:block;
		width:100%;
		height:100%;
		background-position:50% 50%;
		background-repeat:no-repeat;
		background-size:90% 24px;
		backface-visibility:hidden;
		-webkit-backface-visibility:hidden;
	}

	#header .navMenuBloc li.navMenu01 a:after {
		background-image:url(images/sp/sma_top_txt_w.png);
	}
	#header .navMenuBloc li.navMenu02 a:after {
		background-image:url(images/sp/sma_system_map_txt_w.png);
	}
	#header .navMenuBloc li.navMenu03 a:after {
		background-image:url(images/sp/sma_todays_cast_txt_w.png);
	}
	#header .navMenuBloc li.navMenu04 a:after {
		background-image:url(images/sp/sma_cast_txt_w.png);
	}
	#header .navMenuBloc li.navMenu05 a:after {
		background-image:url(images/sp/sma_event_txt_w.png);
	}
}



/* ==========================================================================================================================================
	footer
=========================================================================================================================================== */

#copyright {
	padding:0.5em 0;
	font-size:80%;
	text-align:center;
}
#copyright a {
}
#copyright a:hover {
	text-decoration:underline;
}



/* ============================================================================================
	footer PC
============================================================================================= */
@media screen and (min-width:800px){
	.footerBannerList {
		padding-bottom:30px;
		text-align:center;
	}
	.footerBannerList > li {
		display:flex;
		justify-content:center;
	}
	.footerBannerList a {
		display:block;
		outline:1px solid #fff;
		box-shadow:1px 1px 3px #fff;
	}
	.footerBannerList a:hover {
		box-shadow:0px 0px 6px 5px #c6f;
	}

	#footer {
		padding:0 10px;
	}
	#footer .innerFrame {
		position:relative;
		padding:2em 1em;
		color:#fff;
		text-align:center;
		background:url(images/pc/footer2.jpg) 50% 50% no-repeat;
		background-size:cover;
		box-shadow:0 0 10px 5px #639 inset;
	}

	#footerLogoPC img {
		width:400px;
	}

	#footer .navMenuBloc {
		width:100%;
		margin:0 auto;
	}
	#footer .navMenuBloc ul.navMenu {
		padding-top:1em;
		text-align:center;
		display:flex;
		justify-content:center;
	}
	#footer .navMenuBloc li {
		display:inline-block;
	}
	#footer .navMenuBloc li a {
		display:block;
		padding:0 10px;
		color:#fff;
		text-shadow: 0 0 5px #fff;
		letter-spacing:1px;
		text-indent:1px;
	}
	#footer .navMenuBloc li a span {
	}
	#footer .navMenuBloc li a span:nth-child(2) {
		display:none;
	}
	#footer .navMenuBloc li a:hover {
		color:#fcf;
		text-shadow: 0 0 5px #c6f;
	}
}



/* ============================================================================================
	footer SP
============================================================================================= */
@media screen and (max-width:799px){
	#footer {
		width:480px;
	}

	#footer .navMenuBloc {
		width:100%;
		padding:20px 5px 10px;
	}
	#footer .navMenuBloc ul.navMenu {
		position:relative;
		text-align:left;
		padding-top:50px;
	}
	#footer .navMenuBloc ul.navMenu:before {
		content:"メインメニュー";
		position:absolute;
		top:0;
		left:0;
		width:100%;
		height:50px;
		line-height:50px;
		text-align:center;
		color: #fff;
		font-size:140%;
		font-weight:bold;
		text-shadow: 1px 1px 0px #000;
		background:linear-gradient(#63c,#96c) #63c;
		border-bottom:1px solid #333;
	}

	#footer .navMenuBloc ul.navMenu li {
		width:100%;
	}
	#footer .navMenuBloc ul.navMenu li a {
		padding:0.7em 3.5em 0.7em 1em;
		color:#fff;
		text-shadow: 1px 1px 5px #909;
		background:#eee;
		background:url(images/icons/x2.png) 98% 50% no-repeat, linear-gradient(#222,#444);
		border-bottom:1px solid #666;
		display:flex;
		justify-content:space-between;
		align-items:center;
		font-weight:bold;
	}
	#footer .navMenuBloc ul.navMenu li a span:nth-child(1) {
		font-size:150%;
	}
	#footer .navMenuBloc ul.navMenu li a span:nth-child(2) {
		padding-bottom:0.1em;
	}


	.footerBanners {
		padding:1em 1em 1.5em;
		text-align:center;
		line-height:2;
		font-size:90%;
	}

	ul.footerBannerList {
		padding:0 0.5em 1em;
		display:flex;
		justify-content:space-around;
		flex-wrap:wrap;
	}
	ul.footerBannerList li {
		width:48%;
		margin:auto;
	}
	ul.footerBannerList li a {
		display:block;
		width:100%;
	}
	ul.footerBannerList li a img {
		box-shadow:0px 0px 3px #60f;
	}

	.footerBanners h3.footerShopHeader {
		padding-top:20px;
		color:#00f;
	}
	.footerBanners ul.footerShopList li {
		width:50%;
		padding:0 1% 15px;
	}

	#body .footerBannerHeader  {
		display:none;
	}
	#body .footerBannerList {
		margin-bottom:30px;
	}

	.footerBannerList .blogBanner {
		width:85%;
	}


	#footer #footerInfo {
		padding:20px 0;
		text-align:center;
		font-size:110%;
		color:#fff;
		background:rgba(51,0,102,0.3);
	}
	#footer #footerInfo a.logo {
		display:block;
		width:60%;
		margin:0 auto;
	}
	#footer #footerInfo a.tellink {
		color:#fff;
		font-size:140%;
	}


	#copyright {
		font-size:80%;
		text-align:center;
	}
	#copyright.innerFrame {
		width:480px;
		margin:auto;
	}
	#copyright a {
		display:block;
	}
	#copyright a:hover {
		text-decoration:underline;
	}

}





/* ============================================================================================
	page layout
============================================================================================= */
#comingsoonFrame {
	position:relative;
	padding-bottom:30px;
}
#comingsoonFrame .openText {
	width:100%;
}

@media screen and (min-width:800px){
	#comingsoonFrame .openText {
		position:absolute;
		top:20px;
		left:0;
		right:0;
		height:100px;
		object-fit:contain;
	}
}

@media screen and (max-width:799px){
	#comingsoonFrame {
		display:flex;
		flex-direction:column-reverse;
	}
	#comingsoonFrame .openText {
		margin-bottom:0.5em;
	}
}


/* ==========================================================================================================================================
	index
=========================================================================================================================================== */
#indexHtmlBody #header {
	position:relative;
	height:auto;
}
#indexHtmlBody #body {
	padding:1em 10px;
}

#indexHtmlBody #footer .navMenuBloc {
	display:none;
}
#indexHtmlBody .footerBanners {
	display:none;
}


div#enterButtonFrame {
	width:100%;
}

div#enterButtonFrame ul {
	margin:0 auto 40px;
	position:relative;
	width:920px;
	height:155px;
	background:url(images/pc/enter_open_button.png) 50% 50% no-repeat;
}
div#enterButtonFrame ul li {
	position:absolute;
	top:36px;
	display:block;
	width:333px;
	height:86px;
}
div#enterButtonFrame ul li#enterButton {
	left:62px;
}
div#enterButtonFrame ul li#exitButton {
	left:531px;
}
div#enterButtonFrame ul li a {
	display:block;
	width:100%;
	height:100%;
	background:url(images/pc/enter_open_button_off.png) 50% 50% no-repeat;
	opacity:0;
}

div#enterButtonFrame ul li a span {
	display:none;
}


@media screen and (min-width:800px){
	div#enterButtonFrame ul li a:hover {
		opacity:1;
	}

	div#enterButtonFrame ul li#enterButton a {
		background-position:-62px -36px;
	}
	div#enterButtonFrame ul li#exitButton a {
		background-position:-531px -36px;
	}
}

@media screen and (max-width:799px){
	div#enterButtonFrame ul {
		width:460px;
		height:77.5px;
		background-size:460px 77.5px;
	}
	div#enterButtonFrame ul li {
		top:18px;
		width:166.5px;
		height:43px;
	}
	div#enterButtonFrame ul li#enterButton {
		left:31px;
	}
	div#enterButtonFrame ul li#exitButton {
		left:265.5px;
	}
}





/* ==========================================================================================================================================
	home
=========================================================================================================================================== */

/* ============================================================================================
	home > slider
============================================================================================= */
#homeSliderBloc {
	width:100%;
	padding-bottom:3px;
}
#homeSliderBloc #homeSliderLoader {
	width:100%;
	height:100%;
	padding-top:150px;
	text-align:center;
}
#homeSliderBloc #homeSlider {
	overflow:hidden;
}

#homeSliderBloc .bx-wrapper {
	margin-bottom:10px;
}
#homeSliderBloc .bx-wrapper .bx-viewport {
	border:0 none;
	box-shadow:1px 1px 1px #60c,-1px -1px 1px #60c,0px 3px 5px #60c;
}
#homeSliderBloc .bx-wrapper img {
	width:100%;
	aspect-ratio:1.4142 / 1;
	object-fit:contain;
}





/* ============================================================================================
	home > news
============================================================================================= */
ul#homeNews {
	width:100%;
	height:480px;
	border:1px solid #333;
	overflow-y:scroll;
}
ul#homeNews li {
	position:relative;
	padding:1em;
	border-bottom:1px dashed #90f;
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
}
ul#homeNews li:last-child {
	border-bottom:0px none;
}


ul#homeNews li p.news_photo {
	width:25%;
	text-align:center;
	padding-right:1em;
}
ul#homeNews li p.news_photo img {
	width:100%;
	height:100%;
	object-fit:contain;
	object-position:top;
}


ul#homeNews li div.news_info {
	width:75%;
	padding-left:1em;
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
}
ul#homeNews li p.news_date {
	order:2;
	color:#666;
	font-size:90%;
	text-align:right;
}
ul#homeNews li p.news_headline {
	order:1;
	font-size:120%;
	color:#60f;
}
ul#homeNews li p.news_text {
	order:3;
	width:100%;
	padding:1em;
}



/* ==========================================================================================================================================
	system
=========================================================================================================================================== */
#system {
}
#system li {
	text-align:center;
	padding-bottom:1em;
}
#system li img {
	width:100%;
}


#systemCampaign {
	width:100%;
	margin-bottom:1em;
}

#systemCampaign li {
	margin-bottom:1.5em;
	padding:1px;
	border-radius:0.3em;
}
#systemCampaign li h3.systemCampaignHead {
	padding:0.3em 1em;
	font-weight:bold;
	color:#fff;
	text-shadow:1px 1px 0 #333;
	background:linear-gradient(#939,#639) #939;
	border:1px solid #939;
	border-radius:0.3em 0.3em 0 0;
}
#systemCampaign li div.systemCampaignBody {
	padding:0.5em 1em;
	font-size:90%;
	color:#fff;
	text-shadow:1px 1px 0 #000;
	background:linear-gradient(#111,#333) #111;
	border:1px solid #939;
	border-radius:0 0 0.3em 0.3em;
}



/* ============================================================================================
	access
============================================================================================= */
#access {
}
#access iframe {
	width:100%;
	height:480px;
	border:1px solid #fff;
	box-shadow:1px 1px 3px #999;
}
#access p {
	padding-top:0.5em;
	text-align:center;
}
#access p.shopName {
	font-size:150%;
	color:#60c;
}

/* ==========================================================================================================================================
	castlist
=========================================================================================================================================== */
ul.castList {
	width:100%;
	padding:0.5em;
	display:flex;
	justify-content:flex-start;
	flex-wrap:wrap;
}
ul.castList li.castCell {
	display:block;
	position:relative;
	width:calc(100% / 4);
	padding:0 5px 10px;
}
ul.castList li.castCell .castCell-inner {
	min-height:100%;
	text-align:center;
	background:url(images/pc/girl_sample00.jpg) 50% 50% no-repeat;
	background-size:cover;
	box-shadow:0 0 0.3em #999;
}

ul.castList li.castCell a {
	position:relative;
	display:block;
	width:100%;
	color:#fff;
}

ul.castList li.castCell a:hover {
	background-color:rgba(204,102,255,0.2);
	box-shadow:0 0 0.5em #c6f;
}

ul.castList li.castCell .castName {
	position:relative;
	display:block;
	letter-spacing:1px;
	text-align:left;
	padding:0.3em 0.5em;
	font-weight:bold;
	z-index:3;
}
ul.castList li.castCell .castImage {
	display:block;
	width:100%;
	padding-bottom:2px;
}
ul.castList li.castCell .castImage img {
	width:100%;
	aspect-ratio:600 / 900;
	object-fit:contain;
	background:rgba(255,255,255,0.7);
}

ul.castList li.castCell .castInfo {
	position:relative;
	display:block;
}
ul.castList li.castCell .castInfo .castIcons {
	padding:1px 2px;
	display:flex;
	justify-content:center;
	align-items:center;
}
ul.castList li.castCell .castInfo .castIcons .castIconCell {
	width:calc(100% / 3);
	padding:0 1px;
}
ul.castList li.castCell .castInfo .castIcons .castIconCell img {
	display:block;
}

ul.castList li.castCell .castInfo .castSize {
	display:block;
	padding:0.1em 0 0.3em;
	font-size:90%;
	line-height:1.4;
	color:#fff;
	font-weight:500;
	font-family:var(--fonts-title);
	letter-spacing:0.05em;
}
ul.castList li.castCell .castInfo .castTime {
	display:block;
	color:#0ff;
	font-weight:bold;
	letter-spacing:1px;
}
ul.castList li.castCell .castInfo .castTime.on {
}

li.castCell .castName.castFlagNewface:after ,
li.castCell .castName.castFlagBlog:before {
	content:"";
	position:absolute;
	top:0;
	right:0;
	display:block;
	width:25%;
	aspect-ratio:1 / 1;
	background:url(images/icons/newface.gif) 50% 50% no-repeat;
	background-size:100%;
	backface-visibility:hidden;
}
li.castCell .castName.castFlagBlog:before {
	background-image:url(images/icons/blog.gif);
}
li.castCell .castName.castFlagNewface.castFlagBlog:before {
	right:25%;
}



@media screen and (max-width:799px){
	ul.castList li.castCell {
		width:calc(100% / 3);
		padding:0 3px 10px;
	}
	ul.castList li.castCell .castCell-inner {
		padding:0;
	}
	ul.castList li.castCell:nth-child(odd) a {
	}
	ul.castList li.castCell:nth-child(even) a {
	}

	ul.castList li.castCell {
	}
	ul.castList li.castCell .castInfo .castSize {
		letter-spacing:0;
	}

}




/* ============================================================================================
	schedule
============================================================================================= */
#dateList {
	padding:0.5em 0.5em 1em;
	font-weight:bold;
	color:#fff;
	display:flex;
	justify-content:space-between;
}
#dateList li {
	width:calc(100% / 7);
	padding:0 2px;
}
#dateList li > div {
	line-height:1.2;
	padding:0.4em 0 0.5em;
	cursor:pointer;
	border:1px solid #999;
	background-color:rgba(255,255,255,0.3);
	text-align: center;

	display:flex;
	justify-content:center;
	align-items:center;

	transition:all 0.3s ease;
	-webkit-transition:all 0.3s ease;
}
#dateList li.on > div {
	color: #fff;
	text-shadow:1px 1px 1px #000;
	background:#c3f;
	border:1px solid #c0f;
	box-shadow:1px 1px 3px #fff inset;
}
#dateList li:not(.on):hover > div {
	color:#fff;
	text-shadow:1px 1px 1px #000;
	background-color: rgba(204,153,255,0.65);
}


/* ==========================================================================================================================================
	mailmagazine
=========================================================================================================================================== */
#mailmagazineForm {
	padding:1.5em;
	text-align:center;
}

.melmagaResistButton:hover {
	opacity:0.8;
}
.melmagaResistButton img {
	width:80%;
}

@media screen and (max-width:799px){
	#mailmagazineForm input[name='form[mail]']{
		max-width:280px;
	}
}


/* ==========================================================================================================================================
	event
========================================================================================================================================== */
.eventList {
	padding-top:0.5em;
}
.eventImage {
	padding:0.5em 1em 1em;
	text-align:center;
}
.eventImage img {
	border:1px solid #fff;
	box-shadow:1px 1px 5px #999;
}
.eventText {
	padding:1em;
	display:none;
}

@media screen and (max-width:799px){
	.eventImage {
		padding:0 0.3em;
	}
}



/* ==========================================================================================================================================
	recruit
=========================================================================================================================================== */
.recruitImage {
	padding:1em;
	text-align:center;
}
.recruitImage li {
	padding-bottom:1.5em;
}
.recruitImage img {
	width:100%;
}
.recruitImage li > img {
	border:1px solid #fff;
	box-shadow:0px 0px 5px #666;
}
.recruitImage a img {
	box-shadow:none;
	transition:all 0.3s ease;
	-webkit-transition:all 0.3s ease;
}
.recruitImage a:not([href^='tel:']):hover img {
	filter:brightness(1.1);
}


@media screen and (max-width:799px){
	.recruitImage {
		padding:0 0.5em;
	}
	.recruitImage li {
		padding-bottom:1em;
	}
}


/* ============================================================================================
	recruit form
============================================================================================= */
.thankyouText ,
#formTable {
	width:100%;
	padding:0 1em;
	display:flex;
	flex-wrap:wrap;
}
#formTable dt {
	text-align:right;
	width:40%;
	padding:10px;
	border-bottom:1px solid #ccc;
}
#formTable dd {
	width:60%;
	padding:10px;
	border-bottom:1px solid #ccc;
}
#formTable dd .memo {
	color:#666;
}

#formTable dd label {
	display:block;
}

.formButton {
	width:100%;
	margin:auto;
	padding:1em;
}

.error {
	color: #ff0;
}

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


@media screen and (max-width:799px){
	#formTable {
	padding:0 0.5em;
	}
	#formTable dt {
		width:100%;
		padding:5px 0.5em 0;
		border-bottom:0 none;
		text-align:left;
	}
	#formTable dd {
		width:100%;
		padding:5px 1em 10px;
	}
	#formTable.confirm dd {
		padding-left:1.5em;
	}
	.formButton {
		font-size:90%;
	}

	textarea {
		width:100%;
	}

	input[name='enq17a'] {
		width:8em;
	}
	input[name='enq17b'] {
		width:10em;
	}
}





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

.linkList {
	padding:0 1em 3em;
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
}
.linkList li {
	padding:0.5em 1em;
}
.linkList li a {
	display:block;
	min-width:calc(100% / 6);
	padding:5px 5px 0;
	text-align:center;
	font-size:70%;
	color:#fff;
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
	-webkit-text-overflow:ellipsis;
}

.linkList li a img {
	border:1px solid #999;
	box-shadow:0 0 3px #666;
}
.linkList li a:hover {
	color:#fcf;
	background-color:rgba(238,221,255,0.4);
	box-shadow:0 0 3px 1px #60c;
}

@media screen and (max-width:799px){
	.linkList {
		padding-bottom:1em;
	}
}



/* ==========================================================================================================================================
	profile
=========================================================================================================================================== */
#profileMainFrame {
	display:flex;
	justify-content:space-between;
}

#profileLeftFrame {
	position:relative;
	width:50%;
	padding-right:1em;
}
#profileImageFrame {
	position:relative;
	width:100%;
	padding:0.5em;
	background:url(images/pc/daiza.jpg) 50% 50%;
	background-size:cover;
	box-shadow:1px 1px 3px #60c;
}
#profileImageFrame.castFlagNewface:after {
	content:"";
	position:absolute;
	width:75px;
	height:75px;
	background-repeat:no-repeat;
	background-position:50% 50%;
	background-size:75px 75px;
}
#profileImageFrame.castFlagNewface:after {
	background-image:url(images/icons/newface.gif);
	top:1px;
	left:0px;
}
#profileImageFrame #profileImage {
	width:100%;
	aspect-ratio:600 / 900;
	display:flex;
	align-items:center;
}
#profileImageFrame #profileImage img {
	border:1px solid #fff;
	box-shadow:1px 1px 3px #000;
}


#profileInfoFrame {
	width:50%;
	padding-left:1em;
}
#profileInfoFrame .profileName {
	position:relative;
	padding:0.3em 0.5em 0.4em;
	background:linear-gradient(#c3f,#63c) #939;
	color:#fff;
	text-shadow:1px 1px 0 #000;
	display:flex;
	justify-content:space-between;
	align-items:center;
}
#profileInfoFrame .profileName span {
	font-size:140%;
}
#profileInfoFrame .profileName #profileIcons {
	display:flex;
	justify-content:space-between;
	align-items:center;
}

#profileInfoFrame .profileName #profileIcons .castIconCell {
	display:flex;
	justify-content:space-between;
	align-items:center;
}
#profileInfoFrame .profileName #profileIcons img {
	width:60px;
	margin-right:1px;
	vertical-align:top;
}

#profileInfoFrame #profileTable {
	width:100%;
	padding:1em;
}
#profileInfoFrame #profileTable th ,
#profileInfoFrame #profileTable td {
	vertical-align:top;
	padding:0.5em;
	border-bottom:1px solid #c0f;
}
#profileInfoFrame #profileTable th {
	color:#fcf;
	font-weight:bold;
	text-align:left;
	padding-left:1em;
}

.profileSubHeader {
	padding:0.3em 0.5em;
	margin-top:1.5em;
	margin-bottom:1em;
	text-align:left;
	color:#fff;
	background:linear-gradient(#111, #333) #111;
	border-left:5px solid #c0f;
	border-bottom:1px solid #c0f;
	box-shadow:0 0 3px #666;
}
#profileInfoFrame p ,
#profileMessage p {
	padding-left:1em;
}



#profileInfoFrame #profileThumbs {
	padding:0 0.3em;
	display:flex;
	justify-content:flex-start;
}
#profileInfoFrame #profileThumbs li {
	display:none;
	width:calc(100% / 5);
	padding:0 3px 6px;
}
#profileInfoFrame #profileThumbs li.imageOn {
	display:initial;
	cursor:pointer;
}
#profileInfoFrame #profileThumbs li img {
	width:100%;
	aspect-ratio:600 / 900;
	object-fit:cover;
	border:1px solid #fff;
	box-shadow:0 0 3px #60c;
}


#profileInfoFrame #profile-info-message {
	height:400px;
	padding:5px;
	border:1px solid #c0f;
	overflow:hidden;
}
#profileInfoFrame #profile-info-message #profile-info-message-inner {
	width:100%;
	height:100%;
	-webkit-overflow-scrolling:touch;
}
#profileInfoFrame #profile-info-message #profile-info-message-inner iframe {
	width:100%;
	height:100%;
	border:0 none;
}



@media screen and (max-width:799px){
	#profileMainFrame {
		position:relative;
		flex-direction:column;
	}

	#profileLeftFrame {
		width:100%;
		padding:0 0.5em;
	}

	#profileImageFrame {
		width:302px;
		height:452px;
		padding:0;
	}
	#profileImageFrame #profileImage {
		width:100%;
		height:100%;
	}

	#profileInfoFrame #profileThumbs li {
		display:initial;
		padding:0;
	}

	#profileInfoFrame {
		width:100%;
		padding:1em 0.5em 0;
	}

	#profileInfoFrame #profileThumbs {
		position:absolute;
		top:1px;
		right:0;
		width:130px;
		justify-content:space-between;
		flex-wrap:wrap;
	}
	#profileInfoFrame #profileThumbs > li {
		width:58px;
		height:91px;
	}
}





/* ============================================================================================
	profile > schedule
============================================================================================= */
#profileSchedule {
	width:95%;
	margin:auto;
	font-size:90%;
	text-align:center;
	padding:3px;
	box-shadow:0 0 3px #ccc;
}
#profileSchedule caption {
}
#profileSchedule th ,
#profileSchedule td {
	width:calc(100% / 7);
	height:3em;
	font-weight:normal;
	border:1px solid #999;
}
#profileSchedule th > div,
#profileSchedule td > div {
	line-height:1.2;
	padding:0.4em 0 0.4em;
	width:100%;
	height:100%;
	display:flex;
	justify-content:center;
	align-items:center;
}

#profileSchedule .week0 {
	background-color:rgba(255,153,153,0.45);
}
#profileSchedule .week6 {
	background-color:rgba(153,153,255,0.45);
}



/* ============================================================================================
	profile > guide(bottom)
============================================================================================= */
#profileGuideBottom {
	width:450px;
	height:40px;
	margin:60px auto 30px;
	box-shadow:0px 0px 5px #c6f;
	display:flex;
	justify-content:space-between;
}
#profileGuideBottom li {
	width:150px;
	font-size:80%;
}

#profileGuideBottom li a {
	width:100%;
	height:100%;
	padding:1em;
	color:#E7F;
	border:1px solid #999;
	display:flex;
	justify-content:center;
	align-items:center;
}
#profileGuideBottom li a span {
}
#profileGuideBottom li a:hover {
	background: rgba(204,153,255,0.3);
}






/* ==========================================================================================================================================
	customize
=========================================================================================================================================== */
li.castCell .castInfo.castFlagBlog:before {
	background:none !important;
}

/*
#header .navMenuBloc li.navMenu06 a {
	pointer-events:none;
}

#header .navMenuBloc li.navMenu06:after {
	content:"COMING\aSOON";
	white-space:pre;
	position:absolute;
	top:1px;
	left:0;
	z-index:5;
	display:flex;
	justify-content:center;
	align-items:center;
	width:calc(100% - 2px);
	height:calc(100% - 0.3em * 2);
	margin:0.3em 0;
	text-align:center;
	font-size:95%;
	color:#333;
	text-shadow:1px 1px 0 #fff;
	background:rgba(255,255,255,0.9);
	font-family:var(--fonts-title);
	font-weight:500;
	line-height:1;
}

#footer .navMenuBloc li.navMenu06 {
	display:none;
}
*/



