@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@400;500;700;900&display=swap');
/*
	font-family:'Noto Sans JP' ,sans-serif;
	font-family:'Noto Serif JP' ,serif;
*/



/* ============================================================================================
	タグ初期化
============================================================================================= */
* ,*:before ,*:after {
	box-sizing:border-box;
	margin:0;
	padding:0;
	border:0 none;
	font-size:inherit;
	vertical-align:inherit;
	color:inherit;
	font-style:inherit;
	font-weight:inherit;
	text-decoration:inherit;
	text-size-adjust:100%;
	-webkit-text-size-adjust:100%;
}
.bx-slider * {
	backface-visibility:hidden;
	-webkit-backface-visibility:hidden;
}
#mainblock .bx-wrapper .bx-viewport {
	box-shadow:none;
}

html ,body {
	position:relative;
	height:100%;
	min-height:100%;
	font-size:16px;
	line-height:1.6;
	font-family:'Noto Serif JP' ,sans-serif;
	font-weight:500;
}

button ,input ,textarea ,select {
	font-size:inherit;
	letter-spacing:1px;
	text-indent:1px;
	font-family:'Noto Serif JP' ,serif;
	padding:0.3em 0.3em;
	border:1px solid #ccc;
	border-radius:5px;
}

input[type="submit"] ,button {
	padding:5px 20px;
}

a ,a:link ,a:visited {
	transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
}
a:hover {
}

img {
	vertical-align:bottom;
	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;
}



/* ==============================================
	cleafix
=============================================== */
.clearfix:before ,
.clearfix:after {
	display:table;
	content:" ";
}
.clearfix:after {
	clear:both;
}




/* ============================================================================================
	汎用設定
============================================================================================= */
.center {
	text-align:center;
}
.strong {
	color:#f30;
	font-size:120%;
}

.sendIP {
	margin-top:1em;
	color:#666;
	font-size:xx-small;
	text-align:right;
}
.noticeInfo {
	color:#90f;
}
.noticeAlert {
	color:#f06;
}
.noticeLink {
}
.noticeLink a {
	color:#f9c;
}
.noticeLink a:hover {
	text-decoration:underline;
}

.nopage {
	padding:5em 0 10em;
	text-align:center;
}

.mBottom {
	margin-bottom:30px;
}



/* ==============================================
	タイトルバー
=============================================== */
.titleBar {
	width:100%;
	padding:0.5em 0 1.5em;
	color:#000;
	text-align:center;
}
.titleBar:not(.sub) {
	padding:0.6em 1em 0.8em;
	line-height:1;
	color:#fff;
	background:#00c;
	background:-webkit-gradient(linear ,center top ,center bottom ,from(#00f) ,to(#00c));
	background:linear-gradient(180deg ,#00f ,#00c);
	display:flex;
	justify-content:space-between;
	align-items:center;
}
.titleBar > span:nth-child(1) {
	font-size:160%;
}
.titleBar > span:nth-child(2) {
	font-size:100%;
}

.titleBar.sub {
	padding-bottom:0.5em;
	color:#22e;
	font-size:160%;
}

.titleBar.sub.color0 {
	color:#900;
	border-bottom:3px solid #900;
}
.titleBar.sub.color1 {
	color:#009;
	border-bottom:3px solid #009;
}
.titleBar > span {
	display:block;
}

.titleImage {
	padding-bottom:30px;
	text-align:center;
}
.titleImage img {
	border:1px solid #fff;
	box-shadow:2px 2px 5px #666;
}


.titleBar.grad {
	padding:0.3em 0;
	color:#fff;
	font-size:160%;
	background:rgba(0,0,255,0.3);
    background:-webkit-gradient(linear ,center top ,center bottom ,from(#09fc) ,to(#06cc));
    background:linear-gradient(180deg ,#09fc ,#06cc);
	justify-content:center;
}
.titleBar.grad + div {
	padding:0.5em 0 1.5em;
}



/* ==============================================
	汎用コンテンツボックス
=============================================== */
.contentsBloc {
	padding-bottom:2em;
}

.infoBox {
	width:100%;
	padding:2em 0;
}

.infoBox p {
	padding:5px 0;
}
.infoBox.notes {
	width:80%;
	min-width:630px;
	margin-left:auto;
	margin-right:auto;
	text-align:center;
}


.noData {
	width:70%;
	min-width:850px;
	margin-left:auto;
	margin-right:auto;
	min-height:300px;
	padding-top:80px;
	text-align:center;
}

.infoBox.notes .headline ,
.noData .headline {
	color:#22e;
	font-size:160%;
}
.infoBox.notes .comment ,
.noData .comment {
	padding-top:2em;
}
.noData .comment2 {
	margin-top:1em;
	font-size:120%;
	color:#00f;
}



.infoBox.notes .comment a ,
.noData .comment a {
	text-decoration:underline;
}
.infoBox.notes .comment a:hover ,
.noData .comment a:hover {
	color:#f00;
}



/* ==============================================
	汎用リスト
=============================================== */
.commonList {
	text-align:center;
	padding-bottom:1em;
}

.imageList {
	width:100%;
	padding:2em 10% 0;
	margin:0 auto;
	display:flex;
	justify-content:space-around;
	flex-wrap:wrap;
	text-align:center;
}
.imageList li {
	width:100%;
	padding:0.5em 0.5em 2em;
	text-align:center;
}
.imageList li img {
	border:1px solid #00c;
}

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



/* ==============================================
	汎用テーブル
=============================================== */
.commonTable {
	width:100%;
}
.commonTable th {
	width:20%;
	padding:5px;
	border:1px solid #666;
	letter-spacing:2px;
}
.commonTable td {
	padding:5px 10px;
	border:1px solid #666;
}




/* ============================================================================================
	デザイン＆レイアウト設定
============================================================================================= */
body {
	color:#000;
	background-position:50% 0;
	background-repeat:repeat-y;
}
body div#bgLayer {
}

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

#mainblock {
	background-position:50% 0;
	background-repeat:repeat-y;
}

@media screen and (min-width:800px) { 
	.innerFrame {
		width:1200px;
	}
}
@media screen and (max-width:799px) { 
	body {
		background-image:url(imagesB/sp/bg.jpg);
		background-size:100%;
	}
	body div#bgLayer {
		background:rgba(255,255,255,0.8);
	}
	#mainblock {
		background:none !important;
	}
}


/* ============================================================================================
	デザイン＆レイアウト設定
============================================================================================= */
/*
	header
		h1
		header-image
		header-nav
	mainblock
		innerFrame
			side
				sidebox
			main
				titlebar
				infobox
		footer
			footer-nav
			footer-info
			copyright
*/


/* ============================================================================================
	ヘッダー
============================================================================================= */
#header {
	position:relative;
	margin:0 auto;
	background-position:50% calc(100% - 60px);
	background-repeat:no-repeat;
}

@media screen and (min-width:800px) { 
	#header {
		padding-bottom:60px;
	}
}

@media screen and (max-width:799px) { 
	#header {
		padding-top:80px;
		background-position:0 0;
	}
}



/* ==============================================
	header-main ( h1 & hedaer-image )
=============================================== */
#header-main {
	position:relative;
	width:100%;
	overflow:hidden;
}

#h1 {
	padding:0.2em 0.5em;
	font-size:80%;
	color:#fff;
	background-color:#06f;
}

#header-image {
	position:relative;
    background-position: 50% 0;
    text-align:center;
}

#header-image + #header-sub {
	display:none;
}

#header-image-small {
	height:100px;
	text-align:center;
}
#header-image-small .innerFrame {
	height:100%;
	display:flex;
	justify-content:space-between;
}
#header-image-small .innerFrame > div {
	width:30%;
	height:100%;
}
#header-image-small .innerFrame > div img {
	height:100%;
}
#header-image-small .innerFrame > div.logo {
	text-align:left;
}
#header-image-small .innerFrame > div.text {
	text-align:right;
	line-height:1.2;
	padding-bottom:0.3em;
	display:flex;
	justify-content:flex-end;
	flex-direction:column;

	color:#fff;
	font-weight:bold;
	text-shadow:2px 2px 0 #900 ,1px 1px 1.5em #0cf ,1px 1px 1.5em #0cf ,1px 1px 1.5em #0cf;
}
#header-image-small .innerFrame > div.text .time {
	padding-right:0.2em;
	font-size:130%;
}
#header-image-small .innerFrame > div.text .tel {
	font-size:200%;
}


@media screen and (max-width:799px) { 
	#header-image-small {
		display:none;
	}
}

/* ==============================================
	header-sub ( small header )
=============================================== */
#header-sub {
	line-height:1;
}
#header-sub > .innerFrame {
	padding:5px 20px;
	height:100px;
	display:flex;
	justify-content:space-between;
	align-items:flex-end;
}

#header-sub > .innerFrame > #logo-h {
	height:100%;
}
#header-sub > .innerFrame > #logo-h img {
	max-height:100%;
}

#header-sub > .innerFrame > .header-info {
	height:100%;
	padding-bottom:0.5em;
	display:flex;
	justify-content:flex-end;
	align-items:flex-end;
}
#header-sub > .innerFrame > .header-info .time {
	font-size:120%;
}
#header-sub > .innerFrame > .header-info .tel {
	padding-left:1em;
	font-size:200%;
}



/* ==============================================
	header-nav
=============================================== */
#headerNav-pc {
	position:absolute;
	top:calc(100% - 60px);
	left:0;
	right:0;
	color:#fff;
	background:#00c;
	background:-webkit-gradient(linear ,center top ,center bottom ,from(#06f) ,to(#03c));
	background:linear-gradient(180deg ,#06f ,#03c);
	z-index:10000;
}
#headerNav-pc .navMenu {
	height:60px;
	display:flex;
	justify-content:center;
	align-items:stretch;
	text-align:center;
}
#headerNav-pc .navMenu > li.navCell {
	position:relative;
	flex-grow:1;
	height:100%;
}
#headerNav-pc .navMenu > li.navCell:before {
	content:"";
	position:absolute;
	top:calc(50% - 45% / 2);
	left:0;
	display:block;
	width:0;
	height:45%;
	border:1px solid #cff;
}
#headerNav-pc .navMenu:after {
	content:"";
	position:absolute;
	top:calc(50% - 45% / 2);
	right:0;
	display:block;
	width:0;
	height:45%;
	border:1px solid #c00;
}

#headerNav-pc .navMenu > li.navCell a {
	position:relative;
	width:100%;
	height:100%;
	line-height:1.2;
	display:flex;
	justify-content:center;
	align-items:stretch;
	flex-direction:column;
	text-shadow:0 0 5px #fff0;
}
#headerNav-pc .navMenu > li.navCell a:hover {
	background:rgba(0,0,0,0.3);
	text-shadow:0 0 10px #ffff;
}

#headerNav-pc .navMenu > li.navMenu a > span:nth-child(1) {
	font-size:120%;
	line-height:1;
}
#headerNav-pc .navMenu > li.navMenu a > span:nth-child(2) {
}


/* ==============================================
	header-nav
=============================================== */
.nav-fixed #headerNav-pc {
	position:fixed;
	top:0;
}



/* ==============================================
	header-sp
=============================================== */
#header-sp {
	position:fixed;
	top:0;
	left:0;
	right:0;
	height:80px;
	background:rgba(0,51,255,0.7);
	z-index:10010;
}
#header-sp-button {
	width:480px;
	height:100%;
	margin:0 auto;
	padding:5px;
	display:flex;
	justify-content:space-around;
	align-items:center;
}
#header-sp-button > div {
	height:100%;
}
#header-sp-button > div img {
	height:100%;
}

/* ============================================================================================
	フッター
============================================================================================= */
#footer {
	color:#fff;
	text-align:center;
}

@media screen and (min-width:800px) { 
	#footer {
		border-top:1px solid #9cf;
		background:rgba(0,102,255,0.8);
		box-shadow:0 1px 1em #9cf;
	}
}


/* ==============================================
	フッターメニュー
=============================================== */
#footerNav {
	padding-top:1em;
}
#footerNav .navMenu {
	display:flex;
	justify-content:center;
	text-align:center;
	letter-spacing:0.05em;
	text-indent:0.05em;
}
#footerNav .navMenu > li {
	padding:1em;
}


@media screen and (min-width:800px) { 
	#footerNav .navMenu > li a:hover {
		text-decoration:underline;
	}
	#footerNav .navMenu > li a > span:nth-child(2) {
		display:none;
	}
}

@media screen and (max-width:799px) { 
	#footerNav .navMenu {
		flex-direction:column;
	}
	#footerNav .navMenu > li {
		padding:0 0 2px;
	}
	#footerNav .navMenu > li a {
		padding:0.3em 2em;
		background:rgba(0,51,255,0.8);
		font-family:'Noto Sans JP' ,sans-serif;
		display:flex;
		justify-content:space-between;
		align-items:center;
	}
	#footerNav .navMenu > li a > span:nth-child(1) {
		font-size:130%;
	}
}



/* ==============================================
	footer ロゴ＆お店情報
=============================================== */
@media screen and (min-width:800px) { 
	#logo-f img {
		height:200px;
	}
}

@media screen and (max-width:799px) { 
	#footer-info {
		padding:1em 0 1.5em;
		background:rgba(0,102,255,0.8);
	}
	#logo-f {
		padding:0 30%;
	}
	#footer-info .addr {
	}
	#footer-info .time {
		padding-top:0.5em;
		font-size:120%;
	}
	#footer-info .tel {
		font-size:200%;
	}
}


/* ==============================================
	copyright
=============================================== */
#copyright {
	color:#fff;
	line-height:3;
}
#copyright a {
}
#copyright a:hover {
	text-decoration:underline;
}


@media screen and (max-width:799px) { 
	#copyright {
		padding:1em 0;
		line-height:2;
		background:rgba(0,102,255,0.8);
	}
}



/* ============================================================================================
	メイン部分
============================================================================================= */
#mainblock > .innerFrame {
	padding:20px;
	display:flex;
	justify-content:space-between;
}

@media screen and (max-width:799px) { 
	#mainblock > .innerFrame {
		padding:20px 10px;
	}
	#mainblock .infoBox {
		padding:2em 10px;
	}
}


/* ==============================================
	body sidemenu
=============================================== */
#side {
	width:300px;
}

.side-banner {
	padding-bottom:20px;
}
.side-banner a {
	display:block;
}
.side-banner a:hover {
	box-shadow:0 0 0 1px #fff,0 0 10px #00f;
}



/* ==============================================
	body mainBloc
=============================================== */
#main {
	width:840px;
}
@media screen and (max-width:799px) { 
	#main {
		width:100%;
	}
}






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

/* ==============================================
	home > homeTop > slider
=============================================== */

#homeSliderBloc .bx-wrapper {
	background-color:rgba(255,255,255,1);
}
#homeSliderBloc .bx-wrapper .bx-viewport {
	background:transparent;
	border:0 none;
}
#homeSliderBloc .bx-wrapper .bx-viewport img {
	width:100%;
	height:;
}

#bx-pager {
	padding-top:1em;
}


#homeSlider li:before {
	content:"";
	display:block;
	width:100%;
	height:0;
	padding-top:calc(100% / 4 * 3);
}
#homeSlider li > * {
	position:absolute;
	top:0;
	left:0;
	display:block;
	width:100%;
	height:100%;
}
#homeSlider li img {
	width:100%;
	height:100%;
	object-fit:contain;
}

@media screen and (max-width:799px) { 
}


/* ==============================================
	system
=============================================== */
.system.infoBox {
	padding:2em 1em;
}
.systemBloc {
	background:url(imagesB/common/system_bg.jpg) 100% 0 repeat-y;
	background-size:cover;
	font-size:180%;
	line-height:2;
	text-align:center;
	overflow:hidden;
}
.systemBloc:before {
	content:"SYSTEM";
	font-size:130%;
	font-weight:bold;
	display:block;
	width:100%;
	color:#fff;
	background:rgba(0,0,204,0.8);
    background:-webkit-gradient(linear ,center top ,center bottom ,from(#00fc) ,to(#00cc));
    background:linear-gradient(180deg ,#00fc ,#00cc);
}
.systemBloc:after {
	content:"";
	display:block;
	width:100%;
	height:1em;
	background:rgba(0,0,0,0.4);
}

.systemBloc ul {
}
.systemCell {
	padding:0 2em;
	display:flex;
	justify-content:center;
	align-items:center;
}
.systemCell.title {
	background:rgba(0,0,255,0.3);
    background:-webkit-gradient(linear ,center top ,center bottom ,from(#00f3) ,to(#00c6));
    background:linear-gradient(180deg ,#00f3 ,#00c6);
}
.systemCell.price {
	justify-content:space-between;
}

.systemCell.line {
	border-bottom:0.2em solid rgba(0,0,255,0.6);
}

.systemCell .size-s {
	font-size:75%;
}
.systemCell .size-l {
	font-size:120%;
	font-weight:bold;
}


@media screen and (max-width:799px) { 
	.system.infoBox {
		padding:1.5em 0 2em;
	}
	.systemBloc {
		font-size:130%;
	}
	.systemCell {
		padding:0 1.5em;
	}
}



/* ==============================================
	access
=============================================== */
#access.infoBox {
	width:90%;
	margin:0 auto;
}
#access.infoBox iframe {
	width:100%;
	height:480px;
	border:1px solid #00c;
}
#access.infoBox .infoBox {
}
#access p {
	text-align:center;
	line-height:1.8;
}
#access p.shopName {
	font-size:160%;
	color:#00c;
	font-weight:bold;
}

@media screen and (max-width:799px) { 
	#access.infoBox {
		width:95%;
	}
}


/* ============================================================================================
	castlist
============================================================================================= */
ul.castList {
	position:relative;
	width:100%;
	margin:0 auto;
	padding-top:1em;
	display:flex;
	justify-content:flex-start;
	align-items:flex-start;
	flex-wrap:wrap;
	text-align:center;
}


/* ==============================================
	cast cell
=============================================== */
ul.castList > li.castCell {
	display:block;
	width:25%;
	padding:10px 5px;
}
ul.castList li.castCell .aFrame {
	position:relative;
	display:block;
	width:100%;
	height:100%;
	color:#000;
	text-align:center;
	transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
	cursor:pointer;
	overflow:hidden;
	color:#fff;
	background:url(imagesB/common/cast-bg.png) 50% 0 #00c;
}

ul.castList li.castCell a.aFrame:hover {
	box-shadow:0 0 0 1px #fff,0 0 10px #00f;
}



/* ==============================================
	cast image
=============================================== */
.castImage {
	display:block;
	position:relative;
	overflow:hidden;
}
.castImage .castImageMain {
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	width:100%;
	height:100%;
	z-index:2;
	display:flex;
	justify-content:center;
	align-items:center;
}
.castImage .castImageMain img {
	max-height:100%;
}


/* ==============================================
	cast info
		name
		icons
		age height
		B(cup) W H
=============================================== */
.castInfo {
	position:relative;
	padding-bottom:5px;
	border-bottom:15px solid #000;
}

.castInfo .castName {
	font-size:120%;
}
.castInfo .castName .castData {
	font-size:90%;
}

.castIcon {
	padding:0.3em;
	height:2.2em;
	line-height:1.6em;
	display:flex;
	justify-content:center;
	align-items:center;
	text-align:center;
}
.castIcon > li {
	position:relative;
	width:100px;
	margin:0 1px;
	color:#fff;
	text-shadow:1px 1px 3px #000;
/*
	background:#90f;
*/
	border-radius:3px;
	overflow:hidden;
}
.castIcon > li:after {
	content:"";
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	display:block;
	width:100%;
	height:100%;
	box-shadow:1px 1px 3px #fff inset ,-1px -1px 3px #000 inset;
	z-index:2;
}
.castIcon > li img {
	max-height:100%;
}
.castIcon > li > span {
	display:block;
	font-family:'Noto Sans JP','メイリオ',sans-serif;
	white-space:nowrap;
	transform-origin:left;
	background-size:100% 100%;
}

.castIcon > li.L5 > span {
	transform:scaleX(0.96);
	width:calc(100% / 0.96);
}
.castIcon > li.L6 > span {
	transform:scaleX(0.8);
	width:calc(100% / 0.8);
}
.castIcon > li.L7 > span {
	transform:scaleX(0.68);
	width:calc(100% / 0.68);
}
.castIcon > li.L8 > span {
	transform:scaleX(0.6);
	width:calc(100% / 0.6);
}




.castInfo .castIcon {
	padding:0;
	justify-content:center;
}
.castInfo .castIcon > li {
	width:32%;
	font-size:70%;
}


.castData {
}

.castSize {
	background:rgba(0,0,102,0.8);
}



.moreLink {
	padding-right:1em;
	text-align:right;
}
.moreLink a {
	text-decoration:underline;
}
.moreLink a:hover {
	color:#f00;
}


/* ==============================================
	event
============================================== */
#eventHtmlBody {
}



/* ==============================================
	mail magazine
=============================================== */
#mailmagazineHtmlBody #body .infoBox.notes .comment {
	padding-top:20px;
	font-size:110%;
}
#mailmagazineHtmlBody #body form {
	padding:20px 0;
}
#mailmagazineHtmlBody #body input[type="text"] {
	margin-bottom:1em;
	width:30em;
	max-width:100%;
}


/* ==============================================
	recruit
=============================================== */
#recruit-1 .commonTable th {
	color:#fff;
	background-color:#c00;
	border:1px solid #f66;
}
#recruit-1 .commonTable td {
	border:1px solid #f00;
}

#recruit-2 .commonTable th {
	color:#fff;
	background-color:#006;
	border:1px solid #06c;
}
#recruit-2 .commonTable td {
	border:1px solid #00f;
}



/* ==============================================
	recruit button
=============================================== */
.recruitButton {
	padding:15px 10%;
	font-size:160%;
	letter-spacing:0.1em;
	text-align:0.1em;
	text-align:center;
}
.recruitButton a {
	width:100%;
	height:3em;
	color:#fff;
	border:1px solid #ccc;
	border-radius:10px;
	box-shadow:3px 3px 3px #fff9 inset ,-4px -4px 5px #0009 inset;
	transition: all 0.2s ease;
    -webkit-transition: all 0.2s ease;

	display:flex;
	justify-content:center;
	align-items:center;
}
.recruitButton a:after {
	content:"\025B6";
	font-size:90%;
	padding-left:0.5em;
}


.recruitButton.cast a {
	border:1px solid #f00;
	background-color:#f00;
}
.recruitButton.cast a:hover {
	color:#fff;
	background-color:#f66;
}

.recruitButton.staff a {
	border:1px solid #00f;
	background-color:#006;
}
.recruitButton.staff a:hover {
	color:#fff;
	background-color:#00f;
}

.recruitButton.form a {
	border:1px solid #0c0;
	background-color:#060;
}
.recruitButton.form a:hover {
	color:#fff;
	background-color:#090;
}

@media screen and (max-width:799px) { 
	.recruitButton {
		padding:15px 5%;
		font-size:130%;
	}
}



/* ==============================================
	recruit form
=============================================== */
#formTable {
	max-width:800px;
	margin:0 auto;
	padding:0 0.5em;
	display:flex;
	justify-content:center;
	align-items:stretch;
	flex-wrap:wrap;
}
#formTable dt {
	width:45%;
	padding:1.3em 0.5em;
	text-align:right;
	border-bottom:1px solid #ddd;
}
#recruitHtmlBody #body #formTable dt {
	width:210px;
	padding:1em 0.5em;
}
#formTable dd {
	width:calc(100% - 45%);
	padding:1em 0.5em;
	text-align:left;
	border-bottom:1px solid #ddd;
}
#recruitHtmlBody #body #formTable dd {
	width:calc(100% - 210px);
}
#formTable dd .memo {
	color:#666;
}

#formTable dd label {
	display:block;
}
.error {
	color:#f00;
}

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

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

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

#formTable .error {
	display:block;
}




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

.linkList {
	width:100%;
	padding:0 10%;
	margin:0 auto;
	display:flex;
	justify-content:flex-start;
	align-items:flex-start;
}
.linkList li {
	width:calc(100% / 6);
	padding:0.5em;
}
.linkList li a {
	display:block;
	width:100%;
	padding:0.2em;
	line-height:1.2;
	color:#333;
	text-align:center;
	transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
}
.linkList li a img {
}
.linkList li a span {
	width:100%;
	font-size:70%;
}
.linkList li:not(.clearfix) a span {
	display:block;
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
	-webkit-text-overflow:ellipsis;
	-o-text-overflow: ellipsis;
}

.linkList li a:hover {
	background:rgba(238,34,34,0.2);
}




/* ==============================================
	profile
=============================================== */
#prof-layout {
	width:100%;
	margin:0 auto;
	padding:2em 1em;
	display:flex;
	justify-content:center;
	align-items:flex-start;
}

#prof-left {
	width:422px;
}
#prof-left > #prof-image {
	position:relative;
	width:calc(420px + 2px);
	height:calc(560px + 2px);
	margin:0 auto;
}

#prof-image .bx-wrapper .bx-controls-direction a {
	transition:none;
	-webkit-transition:none;
}
#prof-image .bx-wrapper .bx-controls-direction a.bx-prev {
	left:-5px;
}
#prof-image .bx-wrapper .bx-controls-direction a.bx-next {
	right:-5px;
}
#prof-image .prof-icons {
	position:absolute;
	top:0;
	left:0;
	width:20%;
	z-index:30;
}

#prof-image .bx-wrapper .bx-viewport {
	background:none;
	border:0 none;
	box-shadow:none;
}

#prof-slider-thumbs {
	padding-top:5px;
	display:flex;
	justify-content:flex-start;
}
#prof-slider-thumbs > * {
	width:calc( (100% - 5px * 4) / 5);
	margin-right:5px;
	cursor:pointer;
}
#prof-slider-thumbs > *:last-child {
	margin-right:0;
}
#prof-slider-thumbs > *:hover {
	opacity:0.8;
}


#prof-info {
	width:calc(100% - 392px);
	padding-left:20px;
}

.prof-header {
	padding:20px 0 15px;
}
.prof-header span {
	display:block;
	padding-left:15px;
	line-height:1.8;
	color:#fff;
	background:#00c;
	background:-webkit-gradient(linear ,center top ,center bottom ,from(#00f) ,to(#00c));
	background:linear-gradient(180deg ,#00f ,#00c);
}
.prof-body {
	padding:0 10px;
}


.prof-name {
	font-size:200%;
	font-weight:bold;
	line-height:1;
	padding-left:15px;
	padding-bottom:0.3em;
	border-bottom:2px solid #22e;
	display:flex;
	justify-content:flex-start;
	align-items:flex-end;
}
.prof-name .castData {
	font-size:80%;
}
.prof-name .num {
	padding-right:0.5em;
}
.prof-name .name {
	padding-right:0.5em;
}
.prof-name .age {
	padding-right:0.8em;
}
.prof-name .cup {
}
.prof-name .cup .cupsize {
	font-size:120%;
}
.prof-name .cup .cuplabel {
	font-size:80%;
}

.prof-size {
	padding-left:15px;
	font-size:160%;
	font-weight:bold;
}

#prof-info .castIcon {
	justify-content:flex-start;
	height:2.4em;
	line-height:2.0em;
}
#prof-info .castIcon > li {
	border-radius:5px;
}


@media screen and (max-width:799px) { 
	.prof-name {
		justify-content:center;
	}
	.prof-size {
		padding:0;
		text-align:center;
	}
}






#prof-catch {
	width:100%;
	display:flex;
	justify-content:flex-start;
	align-items:center;
	flex-wrap:wrap;
	text-align:center;
}
#prof-catch > li {
	padding:0.1em;
}
#prof-catch > li > span {
	display:block;
	line-height:1.8;
	padding:0 1em;
	background:#fff;
	border:1px solid #22e;
}


#prof-schedule {
	width:100%;
	font-size:95%;
	color:#000;
	background:#fff;
	text-align:center;
}

#prof-schedule tr > * {
	width:calc(100% / 7);
	border:1px solid #22e;
	padding:0.1em 0 0.2em;
	vertical-align:middle;
}
#prof-schedule thead tr > * {
	padding:0.3em 0 0.4em;
	background:rgba(255,204,204,0.6);
	font-size:90%;
}
#prof-schedule thead tr > .week0 {
	color:#f00;
}
#prof-schedule thead tr > .week6 {
	color:#00f;
}

#prof-schedule tbody td.none {
	background:rgba(204,204,204,0.6);
}

#prof-schedule tbody td > div {
	padding:0.2em 0;
	line-height:18px;
}
#prof-schedule tbody td > div > span {
	display:block;
	height:18px;
}
#prof-schedule tbody td > div > span.sign {
	font-size:60%;
}



#prof-profile {
}
#prof-profile dt {
}
#prof-profile dt span {
	display:inline-block;
	line-height:1.8;
	padding:0 1em;
	background:#fff9;
	border:1px solid #22e;
}
#prof-profile dd {
	padding-left:1em;
	padding-top:0.2em;
	padding-bottom:1em;
}




/* ==============================================
	profile > guide(bottom)
=============================================== */
#profileGuideBottom {
	width:451px;
	height:40px;
	margin:60px auto 30px;
	border-left:1px solid #fff;
	overflow:hidden;
	background-color:rgba(255,255,255,1);
	box-shadow:2px 2px 5px #666;
}
#profileGuideBottom li {
	float:left;
	display:block;
	width:150px;
	height:40px;
	line-height:40px;
	font-size:13px;
	text-align:center;
}

#profileGuideBottom li a {
	display:block;
	width:150px;
	height:40px;
	color:#00f;
	border-top:1px solid #fff;
	border-right:1px solid #999;
	border-bottom:1px solid #fff;
}
#profileGuideBottom li:last-child a {
	border-right:0px none;
}
#profileGuideBottom li a span {
}
#profileGuideBottom li a:hover {
	color:#00f;
	text-shadow:1px 1px 0 #fff;
	background-color:rgba(51,153,255,0.2);
}






/* ==============================================
	home > slider
=============================================== */
#homeSliderBloc {
	width:100%;
	margin:auto;
}
#homeTopBloc {
	width:100%;
	overflow:hidden !important;
}

#homeSliderBloc .bx-wrapper {
	width:800px;
}
#homeSliderBloc .bx-viewport {
	overflow:initial !important;
	box-shadow:none;
}

#homeSliderBloc #homeSlider li {
	width:800px;
	height:560px;
}
#homeSliderBloc #homeSlider li a {
	position:relative;
	display:block;
	padding:0;
	width:100%;
	height:100%;
}
#homeSliderBloc #homeSlider li img {
	width:100%;
	height:100%;
/*
	border: 1px solid #fff;
    box-shadow: 2px 2px 5px #666;
*/
}

#homeSliderBloc #bx-pager {
	padding:30px 10%;
}
#homeSliderBloc #bx-pager a {
	width:calc(800px * 0.1 + 4px);
	height:calc(560px * 0.1 + 4px);
	margin:0 10px;
	border:0 none;
}
#homeSliderBloc #bx-pager a img {
	width:100%;
	height:100%;
	opacity:1;
	box-shadow:none;
}


#homeSliderBloc .bx-wrapper .bx-pager {
    text-align: center;
}

#homeSliderBloc .bx-wrapper .bx-pager {
    text-align: center;
}
#homeSliderBloc .bx-wrapper .bx-pager.bx-default-pager a {
	width:15px;
	height:15px;
	font-size:0;
	border-radius:50%;
}

/*
#homeSliderBloc #homeSlider li a:before ,
#homeSliderBloc #homeSlider li a:after {
	content:"";
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	display:block;
	padding-top:30%;
	font-size:200%;
	color:rgba(255,255,255,0);
	background:rgba(0,0,0,0);
	text-align:center;
	z-index:10;
	transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
}
#homeSliderBloc #homeSlider li a:hover:before {
	background:rgba(0,0,0,0.4);
}
#homeSliderBloc #homeSlider li a:after {
	content:"more \027a4";
	z-index:11;
	transform:scale(0);
}
#homeSliderBloc #homeSlider li a:hover:after {
	color:rgba(255,255,255,1);
	transform:scale(1);
}
*/




.routeTextOuter {
	text-align:center;
}
.routeText {
	display:inline-block;
	padding:30px 0;
	text-align:left;
}


.bottomBanners {
}
.bottomBanners .innerFrame {

}
.bottomBanners ul {
	width:1700px;
	max-width:100%;
	margin:0 auto;
	padding:0 20px;
	display:flex;
	justify-content:center;
	align-items:flex-start;
	flex-wrap:wrap;
}

.bottomBanners ul > li {
	width:50%;
	padding:10px 0;
}
.bottomBanners ul > li.long {
	width:100%;
}

.bottomBanners ul > li span.none {
	display:none;
}






/* ==============================================
	scroll top
=============================================== */
#scrollTop {
	position:fixed;
	display:none;
	bottom:0;
	right:0;
	width:61px;
	height:61px;
	border-top:1px solid #fff;
	border-left:1px solid #fff;
	background:#00c;
	text-align:center;
	cursor:pointer;
	z-index:10000;
	transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
}
#scrollTopInner {
	width:100%;
	height:100%;
	display:flex;
	justify-content:center;
	align-items:center;
}

#scrollTop:hover {
	background:#00f;
}








/* ==============================================
	sp
=============================================== */
@media screen and (min-width:800px) { 
	.dispSP {
		display:none !important;
	}
	.bottomBanners ul > li.pc {
		display:block;
	}

	#formTable dt .required:after {
		content:attr(data-text);
		margin-left:0.3em;
	}
}
@media screen and (max-width:799px) { 
	.dispPC {
		display:none !important;
	}

	#bgLayer {
		width:480px;
		margin:0 auto;
	}
	body #body ,
	#header .innerFrame ,
	#header_sticky .innerFrame ,
	#footer .innerFrame {
		min-width:480px;
	}

	/* ==============================================
		common
	=============================================== */
	.infoBox.notes {
		width:100%;
		min-width:auto;
	}
	.infoBox.notes.thanks {
		text-align:left;
	}
	.infoBox.notes .headline ,
	.noData .headline {
		font-size:140%;
	}

	.imageList li {
		width:100%;
	}

	.noData {
		width:100%;
		min-width:auto;
	}

	/* ==============================================
		header
	=============================================== */
	#spHeaderMenu {
		height:60px;
		display:flex;
		justify-content:space-between;
		align-items:center;
		overflow:hidden;
		line-height:1;
		background:rgba(255,255,255,0.8);
		border-bottom:2px solid #00c;
	}
	#spHeaderMenu .logo {
		height:60px;
		display:flex;
		justify-content:center;
		align-items:center;
	}
	#spHeaderMenu .logo a {
		height:100%;
	}
	#spHeaderMenu .logo img {
		max-height:100%;
	}
	#spHeaderMenu .tel {
		padding-right:0.5em;
	}
	#spHeaderMenu .tel a {
		display:block;
		padding:0.2em 0.5em;
		color:#fff;
		text-shadow:1px 1px 1px #000;
		background:#06f;
		border:1px solid #fff;
		border-radius:0.5em;
		text-align:center;
		white-space:nowrap;
	}
	#spHeaderMenu .tel a span {
		display:block;
	}
	#spHeaderMenu .tel a .number {
		font-size:160%;
		font-weight:bold;
	}
	#spHeaderMenu .tel a .number small {
		font-size:80%;
		padding-right:0.5em;
	}
	#spHeaderMenu .tel a .text {
		padding-top:0.2em;
		font-size:90%;
	}






	/* ==============================================
		sp menu
	=============================================== */
	#fixedNav-sp {
		position:fixed;
		top:0;
		bottom:100%;
		left:0;
		right:0;
		z-index:10100;

		background:rgba(255,255,255,0.3);
		overflow:hidden;

	}
	#fixedNav-sp .innerFrame {
		position:fixed;
		top:-50%;
		left:0;
		right:0;
		z-index:10101;

		transition: all 0.5s ease;
	    -webkit-transition: all 0.5s ease;

		display:inline-block;
		padding:10px;
		background:rgba(0,102,255,0.8);
	}
	#fixedNav-sp .innerFrame:after {
		content:"";
		display:block;
		width:100%;
		height:50px;
		background:url(imagesB/sp/menu/sma_menu_buttonbar.png) 50% 10px no-repeat;
		background-size:contain;
	}

	#fixedNav-sp .navMenu {
		width:100%;
		max-width:460px;
		margin:0 auto;
		display:flex;
		justify-content:center;
		flex-wrap:wrap;
		align-items:center;
	}
	#fixedNav-sp .navMenu > li {
		width:calc(100% / 4);
		padding:2px;
	}
	#fixedNav-sp .navMenu > li a {
		display:block;
		width:100%;
		height:100%;
		border-radius:50%;
		overflow:hidden;
		filter:hue-rotate(240deg);
	}



	/* ==============================================
		sp menu open
	=============================================== */
	.menuOpen #scrollTop {
		display:none !important;
	}

	.menuOpen #fixedNav-sp {
		bottom:0;
	}
	.menuOpen #fixedNav-sp .innerFrame {
		top:0%;
	}

	body.menuOpen {
		overflow:hidden;
	}
	.menuOpen header ,
	.menuOpen #mainblock {
		filter:blur(3px);
	}


	/* ==============================================
		bottom Banners
	=============================================== */
	.bottomBanners {
	}
	.bottomBanners .innerFrame {
		min-width:auto;
	}
	.bottomBanners ul {
	}
	.bottomBanners ul > li{
		width:100%;
	}
	.bottomBanners ul > li.sp {
		display:block;
	}





	/* ==============================================
		cast
	=============================================== */
	ul.castList {
		width:100%;
		min-width:auto;
		padding:1em 5px 0;
	}
	ul.castList > li.castCell {
		width:calc(100% / 2);
		padding:0 5px 20px;
	}




	/* ==============================================
		profile
	=============================================== */
	#prof-layout {
		width:100%;
		flex-direction:column;
	}
	#prof-layout > div {
		width:100%;
		padding:10px;
	}
	#prof-left > #prof-image {
		height:auto;
	}


	/* ==============================================
		home
	=============================================== */
	#homeSliderBloc #homeSlider li {
		width:450px;
		height:315px;
	}
	#homeSliderBloc #bx-pager {
		padding:20px 0;
	}
	#homeSliderBloc #bx-pager a {
		width:calc(450px / 5);
		height:64px;
		margin:0;
		padding:2px;
	}



	/* ==============================================
		system
	=============================================== */
	.systemList li.flex {
		width:100%;
		padding:0.5em 2em;
	}

	.systemList li.flex.type0 {
		padding:0.5em 1em;
	}

	.systemList li .size0 {
	}
	.systemList li .size1 {
		font-size:130%;
	}
	.systemList li .size2 {
		font-size:140%;
	}



	/* ==============================================
		recruit
	=============================================== */
	#recruitHtmlBody #body #mainBloc {
		padding:0 5%;
	}

	#recruitHtmlBody #body .commonTable {
		font-size:90%;
	}

	#formTable {
	}
	#formTable dt {
		width:100%;
		padding-bottom:0;
		text-align:left;
		border-bottom:0 none;
	}
	#formTable dt > span {
		justify-content:flex-start;
	}
	#formTable dt .required:before {
		content:attr(data-text);
		margin-right:0.3em;
	}
	#formTable dd {
		width:100%;
		padding-top:0.5em;
		padding-left:2em;
	}



	/* ==============================================
		link
	=============================================== */
	.linkList {
		padding:0 5%;
	}
	.linkList li {
		width:calc(100% / 3);
	}

}



#melmagaForm input[type='text'] {
    width: 20em;
}



#footer-text {
	padding-bottom:1em;
	font-size:75%;
	font-weight:400;
}
#footer-text h2 {
	font-size:110%;
	padding-bottom:0.5em;
}
#footer-text p {
	color:ddd;
}
#footer-text p strong {
}

