@charset "utf-8";

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


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

/* ============================================================================================
	CSS reset
============================================================================================= */
* {
	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;
	font-weight:inherit;
	text-decoration:inherit;
}
button ,input ,textarea ,select ,option {
	font-size:16px;
	letter-spacing:1px;
	font-family:'Noto Sans JP' ,sans-serif;
}
button {
	padding:5px 20px;
}

html ,body {
	min-height:100%;
	height:100%;
	font-family:'Noto Sans JP' ,sans-serif;
	line-height:1.6;
}
a ,a:link ,a:visited {
	color:#f9c;
	text-decoration:none;
}
a:hover {
	color:#ff0;
	text-decoration:none;
}

img {
	vertical-align:bottom;
	max-width:100%;
	image-rendering:auto;
}
ol ,ul ,li {
	list-style:none;
}
ol ,ul {
	font-size:0;
}
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
============================================================================================= */
.centerFlex {
	width:100%;
	height:100%;
	display:flex;
	justify-content:center;
	align-items:center;
}


/* ==============================================
	titlebar
=============================================== */
.titleBar {
	position:relative;
	width:100%;
	padding-top:25px;
	padding-bottom:25px;
	overflow:hidden;
	text-align:center;
}

.titleBar span {
	display:block;
	font-size:32px;
	letter-spacing:2px;
	color:#fff;
	vertical-align:top;
	line-height:1.3;
}
.titleBar span:nth-child(1) {
	font-family:"CGothic",sans-serif;
	text-shadow:0 0 1px #fdb ,0 0 3px #fdb;
}
.titleBar:not(.noMark) span:nth-child(1):before {
	content:"- ";
}
.titleBar:not(.noMark) span:nth-child(1):after {
	content:" -";
}

.titleBar.side {
	padding-top:5px;
	padding-bottom:5px;
}
.titleBar.side span {
	font-size:18px !important;
	letter-spacing:1px;
}

#homeSideBars .infoBox .titleBar {
	padding-bottom:15px;
}


.titleBar span:nth-child(2) {
	display:block;
	font-size:14px;
	color:#c93;
	letter-spacing:1px;
}
@media screen and (max-width:799px) { 
	.titleBar {
		padding-top:10px;
		padding-bottom:20px;
	}
	.titleBar span:nth-child(1) {
		font-size:28px;
	}
	.titleBar span:nth-child(2) {
	}

	.titleBar.noMark span:nth-child(1) {
		font-size:24px;
	}
}




.subtitleBar {
	padding:5px;
	color:#0cf;
	font-size:28px;
	text-align:center;
}

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




/* ==============================================
	blocks
=============================================== */
.noData {
	width:100%;
	min-height:300px;
	padding-top:80px;
	color:#999;
	font-size:16px;
	text-align:center;
}
div.castList.noData {
	background:rgba(0,0,0,0.3);
}

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


/* ==============================================
	blocks infoBox
=============================================== */
.infoBox {
	width:100%;
	font-size:16px;
	line-height:1.6;
}
.infoBox > .infoBox {
	padding:15px;
	background:rgba(0,0,0,0.3);
	margin-bottom:20px;
}
.infoBox .infoBox .infoBox {
	background:transparent;
}
.infoBox .infoBox:last-child {
	margin-bottom:0;
}

.infoBox p {
	padding:5px 0;
}

@media screen and (max-width:799px) { 
	.infoBox {
		padding:10px 0 30px;
		background:transparent;
	}
	.infoBox .infoBox {
		padding-bottom:10px;
	}

}

/* ==============================================
	image list
=============================================== */
.imageList {
	padding:20px;
}
.imageList li {
	text-align:center;
	margin-bottom:30px;
}
.imageList li:last-child {
	margin-bottom:0px;
}


/* ==============================================
	aligns
=============================================== */
.center {
	text-align:center;
}

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

.noticeInfo {
	color:#f90;
}
.noticeAlert {
	color:#f00;
}
.noticeLink {
}
.noticeLink a {
	color:#f9c;
}
.noticeLink a:hover {
	text-decoration:underline;
}

.mBottom {
	margin-bottom:30px;
}

.strong {
	font-size:22px;
	color:#0cf;
}
.em {
	font-size:20px;
	color:#0cf;
}

a ,
a img ,
.castCell {
	transition:all 0.3s ease;
	-webkit-transition:all 0.3s ease;
}
.noHoverTrans a ,
.noHoverTrans a img ,
.bx-wrapper a {
	transition:none;
	-webkit-transition:none;
}

.iframeOuter {
	overflow:auto;
	-webkit-overflow-scrolling:touch;
}
.iframeOuter iframe {
	display:block;
	width:100%;
	height:100%;
	height:-webkit-fill-available;
}


/* ============================================================================================
	body
============================================================================================= */
body {
	position:relative;
	font-size:14px;
	color:#fff;
	text-shadow:1px 1px 0px #000;
	background:url(images/common/bg.jpg) 50% 0 repeat;
}
body .innerFrame ,
body #body {
	width:1200px;
	max-width:100%;
	margin:0 auto;
}
body #body {
	padding-top:30px;
	padding-bottom:40px;
}
body #body .innerFrame {
	padding:0 30px;
}


header #header ,
header nav ul.navMenu ,
body #body {
	background:rgba(0,0,0,0.1);
}



@media screen and (min-width:800px) { 
	body .innerFrame ,
	body #body {
		min-width:1000px;
	}
}
@media screen and (max-width:799px) { 
	body {
		font-size:16px;
	}
	body #bgLayer {
		width:480px;
		margin:auto;
	}
	body .innerFrame {
		width:100%;
	}
	body #body {
		width:100%;
		padding-top:100px;
	}
	body #body .innerFrame {
		width:100%;
		padding:0 15px;
	}
}

/* ============================================================================================
	header
============================================================================================= */
header {
	position:relative;
	margin:0 auto;
}
header #h1 {
	background:rgba(0,0,0,0.6);
	border-bottom:1px solid #660;
}
header #h1 h1 {
	padding:3px 10px;
	font-size:11px;
	color:#a86;
}
@media screen and (max-width:799px) { 
}


/* ==============================================
	header > logo / tel
=============================================== */
header #header {
	height:120px;
	display:flex;
	justify-content:space-between;
	align-items:flex-end;
}
header #header li {
	height:100%;
}
header #header li img {
	max-height:100%;
}
header #header li#headerInfo {
	padding:5px;
	font-size:16px;
	line-height:1.3;
	letter-spacing:1px;
	font-weight:bold;
	color:#fc0;
/*
	text-shadow:2px 2px 2px #fff,-2px 2px 1px #fff,2px -2px 1px #fff,-2px -2px 1px #fff
				,2px 0 2px #fff,-2px 0 1px #fff,0 2px 1px #fff,0 -2px 1px #fff
				,0px 0px 5px #fff;
*/
	font-family:"CGothic",'Sawarabi Mincho',serif;
}
header #header li#headerInfo span {
	display:block;
}
header #header li span#headerTel {
}
header #header li span#headerTel a {
	color:#ffc;
}
header #header li span#headerTel a:hover {
}


@media screen and (min-width:800px) { 
	header #header li#headerInfo span.dispSP {
		display:none;
	}
	header #header li#headerInfo {
		height:auto;
	}
	header #header li#headerInfo span#headerTel a span {
		font-size:30px;
	}
	header #header li#headerInfo #headerAccess {
		text-align:right;
	}
}
@media screen and (max-width:799px) { 
	header #header li#headerInfo span.dispPC {
		display:none;
	}
	header {
		position:fixed;
		top:0;
		left:0;
		width:100%;
		z-index:90000;
	}
	header #headerInner {
		position:relative;
		width:480px;
		margin:auto;
	}
	header #header {
		height:80px;
		padding:5px 0;
		border-bottom:1px solid #666;
		background:rgba(0,0,0,0.9);
		box-shadow:0 1px 5px #ccc;
		align-items:center;
	}
	header #headerMenu {
		cursor:pointer;
	}
	header #header li#headerInfo ,
	header #header li#headerMenu {
		width:auto;
		height:auto;
		padding:0 10px;
		margin-right:10px;
		text-align:center;
	}
	header #header li#headerInfo {
		margin-left:auto;
	}
	header #header li#headerInfo span#headerTel a {
		color:#fc9;
		font-size:12px;
		white-space:nowrap;
		text-shadow:none;
	}
	header #header li#headerInfo img {
		width:45px;
	}
	header #header li#headerMenu img {
		width:60px;
	}
	header #header li span.dispPC {
		display:none !important;
	}
}

/* ==============================================
	header > menu
=============================================== */
header nav {
}
header nav ul.navMenu {
	height:70px;
	padding-top:5px;
	margin:auto;
	display:flex;
	justify-content:space-between;
}
header nav li {
	width:12.5%;
	height:100%;
	overflow:hidden;
}
header nav li a {
	position:relative;
	display:block;
	width:100%;
	height:100%;
	padding:10px 0;
	text-align:center;
}
header nav li a:hover {
	background:rgba(0,0,0,0.3);
}
header nav li a > span {
	position:relative;
	display:block;
	width:100%;
	height:100%;
	padding-left:1px;
	text-align:center;
	overflow:hidden;
}
header nav li:last-child a > span {
	padding-right:1px;
}
header nav li a > span:before ,
header nav li:last-child a > span:after {
	content:"";
	position:absolute;
	top:0;
	display:block;
	width:1px;
	height:100%;
	background:#666;
	background:linear-gradient(#666,#ccc,#666) #666;
	background:-moz-linear-gradient(center top,#666,#ccc,#666);
	background:-webkit-gradient(linear,center top,center bottom,from(#666),color-stop(#ccc 50%),to(#666));
}
header nav li a > span:before {
	left:0;
}
header nav li:last-child a > span:after {
	right:0;
}

header nav li a span > span {
	display:block;
	width:100%;
}
header nav li a span > span:nth-child(1) {
	position:relative;
	padding-top:3px;
	line-height:22px;
	font-size:18px;
	color:#fff;
	text-shadow:0 0 1px #fdb,0 0 3px #fdb;
	font-family:"CSerif",serif;
}
header nav li a span > span:nth-child(2) {
	line-height:14px;
	font-size:11px;
	color:#a86;
	text-shadow:0 0 1px #000;
}

header nav li.active {
	background: rgba(255,255,255,0.15);
}
header nav li.active a span > span:nth-child(1) {
}
header nav li.active a span > span:nth-child(2) {
}

@media screen and (min-width:800px) {
	header nav li:nth-child(n + 9) {
		display:none;
	}
}
@media screen and (max-width:799px) {
	header nav {
		position:absolute;
		top:0;
		left:0;
		margin-top:-100%;
		padding-bottom:10px;
		box-shadow:0 3px 10px #999;
		border-bottom:0 none;
		background:#210;
		transition:all 0.3s ease;
		-webkit-transition:all 0.3s ease;
		z-index:-1;
	}
	header nav.on {
		margin-top:0;
		padding-top:100px;
	}
	header nav ul.navMenu {
		width:96%;
		margin:auto;
		background:rgba(0,0,0,0.6);
		border-top:1px solid #000;
		justify-content:center;
		flex-wrap:wrap;
		align-items:stretch;
		height:auto;
	}
	header nav li:nth-child(2n) a > span:after {
		content:"";
		position:absolute;
		top:0;
		right:0;
		display:block;
		width:1px;
		height:100%;
		background:linear-gradient(#000,#666,#000) #666;
		background:-moz-linear-gradient(center top,#000,#999,#000);
		background:-webkit-gradient(linear,center top,center bottom,from(#000),color-stop(#999 50%),to(#000));
	}
	header nav li {
		width:50%;
		height:65px;
	}
	header nav li a {
		padding:0;
	}
	header nav li a > span {
		padding:10px 0;
		border-bottom:1px solid #666;
	}
	header nav li a span > span:nth-child(1) {
		font-size:20px;
		letter-spacing:1px;
	}
	header nav li a span > span:nth-child(2) {
		font-size:14px;
		line-height:1.4;
	}


	header nav li.navMenu10 {
		width:100%;
	}
}



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

/* ==============================================
	footer > footer bloc
=============================================== */
footer {
	position:relative;
	padding-bottom:20px;
	background:rgba(0,0,0,0.6);
	text-align:center;
	font-family:'CGothic',sans-serif;
	color:#fff;
	text-shadow:0 0 1px #000;
	font-size:14px;
	line-height:1.8;
	letter-spacing:1px;
}


/* ==============================================
	footer > footer navi
=============================================== */
footer .navMenu {
	width:100%;
	padding-top:20px;
}
footer .navMenu {
	display:flex;
	justify-content:center;
}
footer .navMenu li a {
	display:block;
	padding:0 10px;
	color:#fff;
	font-size:14px;
	letter-spacing:1px;
}
footer .navMenu li a span span:nth-child(2) {
	display:none;
}
footer .navMenu li a:hover {
	color:#ff0;
	text-shadow:1px 1px 3px #fff;
}
@media screen and (max-width:799px) { 
	footer .navMenu {
		flex-wrap:wrap;
	}
	footer .navMenu li a {
		padding:10px 15px;
		font-size:18px;
	}
}



/* ==============================================
	footer > footer info
=============================================== */
footer #footerInfo {
	padding-top:30px;
	text-align:center;
	font-size:16px;
}
footer #footerInfo #footerInfoLogo {
	margin:auto;
	width:400px;
	max-width:60%;
}
footer #footerInfo #footerInfoTime {
	padding-top:10px;
}
footer #footerInfo #footerInfoTel a {
	font-size:20px;
	color:#fff;
}
footer #footerInfo #footerInfoTel a:hover {
	color:#ff0;
	text-shadow:1px 1px 3px #fff;
}

footer #footerInfo #footerInfoQR {
	padding-top:20px;
}
footer #footerInfo #footerInfoQR img {
	width:120px;
}


/* ==============================================
	footer > copyright
=============================================== */
#copyright {
	padding-top:20px;
	color:#eee;
	font-size:12px;
	text-align:center;
}
#copyright a {
	color:#eee;
}
#copyright a:hover {
	color:#ccc;
	text-decoration:underline;
}




/* ============================================================================================
	contents
============================================================================================= */
/* ==============================================
	home > slider
=============================================== */
#homeSliderBloc {
	position:relative;
	width:100%;
	padding-top:5px;
	padding-bottom:40px;
}
#homeSliderBloc .bx-wrapper {
	margin-bottom:40px;
	box-shadow: 0 0 10px #fff;
}
#homeSliderBloc .bx-wrapper .bx-viewport {
	border:0 none;
}
#homeSliderBloc .bx-wrapper img {
	box-shadow:1px 1px 3px #666;
}

#homeSliderBloc #bx-pager {
	display:flex;
	justify-content:center;
}
#homeSliderBloc #bx-pager a {
	display:inline-block;
	width:18%;
	margin:0 0.5%;
	cursor:pointer;
	padding:1px;
	border:2px solid #999;
}
#homeSliderBloc #bx-pager a.active {
	border:2px solid #c96;
}
#homeSliderBloc #bx-pager a img {
	width:100%;
	height:auto;
}


#homeSliderBloc .bx-wrapper .bx-pager {
	bottom:-35px;
	display:flex;
	justify-content:center;
}
#homeSliderBloc .bx-wrapper .bx-pager a {
	margin:0 3px;
	border-radius:50%;
	background:#666;
	font-size:0;
	width:16px;
	height:16px;
}
#homeSliderBloc .bx-wrapper .bx-pager a.active {
	background:#f90;
}


@media screen and (max-width:799px) { 
/*
	#homeSliderBloc .bx-wrapper .bx-pager {
		bottom:-45px;
	}
	#homeSliderBloc .bx-wrapper .bx-pager a {
		margin:0 5px;
		width:24px;
		height:24px;
	}
*/
}



/* ==============================================
	page layout
=============================================== */
@media screen and (min-width:800px) { 
	#homeFlex {
		display:flex;
		justify-content:space-between;
		align-items:flex-start;
		flex-direction:row-reverse;
	}
	#homeFlex #homeMain {
		width:calc(100% - 300px - 40px);
	}
	#homeFlex #homeSide {
		width:300px;
	}
}
#homeFlex article {
	margin-bottom:20px;
}
#homeFlex article:last-child {
	margin-bottom:0px;
}


/* ==============================================
	home > pickup
=============================================== */
#homePickup {
}
#homePickup ul li {
	width:100%;
	margin:0;
	background:transparent;
	box-shadow:none;
	border:0 none;
}
#homePickup ul li:hover {
	box-shadow:0px 0px 8px #fc0;
}

@media screen and (max-width:799px) { 
	#homePickup {
		padding:0 75px;
	}
}




/* ==============================================
	home > .contentsBanners
=============================================== */
.contentsBanners {
	text-align:center;
}
.contentsBanners li {
	padding-bottom:20px;
}
.contentsBanners li img {
}
.contentsBanners li a:hover img {
	box-shadow:0px 0px 10px #ccc;
}

@media screen and (max-width:799px) { 
	.contentsBanners {
		width:92%;
		margin-left:auto;
		margin-right:auto;
	}
}





/* ============================================================================================
	home > sns
============================================================================================= */
div#homeTwitter {
	width:100%;
	height:480px;
	overflow:auto;
}
div#homeTwitter iframe {
	width:100%;
}

@media screen and (max-width:799px) { 
	div#homeTwitter {
		width:424px;
		margin-left:auto;
		margin-right:auto;
	}
}


div#homeFacebook {
	width:100%;
	height:480px;
	overflow:auto;
}
div#homeFacebook iframe {
	width:100%;
}

@media screen and (max-width:799px) { 
	div#homeFacebook {
		width:424px;
		margin-left:auto;
		margin-right:auto;
	}
}




/* ==============================================
	home > news
=============================================== */
ul#homeNews {
	width:100%;
	height:300px;
	line-height:1.3;
	overflow-y:scroll;
	background:rgba(0,0,0,0.3);
}
ul#homeNews li {
	position:relative;
	padding-bottom:5px;
	border-bottom:1px solid #666;
	margin-bottom:5px;
}
ul#homeNews li:last-child {
	border-bottom:0 none;
	margin-bottom:0;
}
ul#homeNews li div.news_photo {
	display:block;
	float:left;
	width:25%;
	text-align:center;
}
ul#homeNews li div.news_photo a:hover img {
	box-shadow:0px 0px 8px #fc0;
}
ul#homeNews li div.news_info {
	display:block;
	float:right;
	width:72%;
	font-size:18px;
	line-height:1.4;
}
ul#homeNews li div.news_date {
	font-size:14px;
	color:#f9f;
}
ul#homeNews li h3 {
	font-size:20px;
	color:#6ff;
	font-weight:bold;
}
ul#homeNews li p.news_text {
	letter-spacing:1.5px;
}

@media screen and (max-width:799px) { 
	ul#homeNews li div.news_info {
		font-size:16px;
	}
}



/* ==============================================
	home > schedule
=============================================== */
ul.castList#homeSchedule {
}
@media screen and (min-width:800px) { 
	ul.castList#homeSchedule li.castCell {
		width:calc(100% / 3 - 10px);
	}
	ul.castList#homeSchedule li.castCell(3n) {
		margin-right:0;
	}
	ul.castList#homeSchedule li.castCell .castInfo .castName {
		font-size:16px;
	}
	ul.castList#homeSchedule li.castCell .castInfo .castName span {
		font-size:12px;
	}
	ul.castList#homeSchedule li.castCell .castInfo .castSize {
		height:20px;
		line-height:12px;
		font-size:11px;
	}
	ul.castList#homeSchedule li.castCell .castInfo .castTime {
		font-size:14px;
	}
}


/* ==============================================
	system
=============================================== */
.systemImage {
	padding-bottom:40px;
	text-align:center;
}

.systemCourse {
	font-size:16px;
	font-family:"CSerif","Noto Serif JP",serif;
}
.systemCourse > li:not(:last-child) {
	padding-bottom:40px;
}

.systemCourse > li .systemTitle {
	padding:0.2em 0.5em;
	background:#542;
	font-size:24px;
	display:flex;
	justify-content:space-between;
	align-items:flex-end;
}
.systemCourse > li .systemTitle > .ja {
}
.systemCourse > li .systemTitle > .en {
	font-size:18px;
	text-align:right;
}
.systemCourse > li .systemPrice {
	padding:1em 1em 0.5em;
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
}
.systemCourse > li .systemPrice > .text {
	font-size:14px;
	margin-right:auto;
}
.systemCourse > li .systemPrice > .min {
	width:120px;
	text-align:center;
}
.systemCourse > li .systemPrice > .price {
	width:220px;
	color:#feb;
	text-align:right;
}

.systemCourse > li .systemPrice > .min ,
.systemCourse > li .systemPrice > .price {
	font-size:48px;
}
.systemCourse > li .systemPrice > .min > span ,
.systemCourse > li .systemPrice > .price > span {
	font-size:30px;
}

.systemCourse > li .systemContent {
	padding:0.3em 2em 0.3em 0.3em;
	background:#ffe;
	display:flex;
	justify-content:space-between;
	align-items:center;
}
.systemCourse > li .systemContent > .massage {
	padding:0 1em;
	background:#003;
}
.systemCourse > li .systemContent > .flow {
	color:#600;
	text-shadow:1px 1px 0 #eee;
	text-align:right;
}

.systemEtc {
	margin:40px auto 20px;
	padding:0.5em;
	color:#feb;
	font-size:48px;
	font-family:"CSerif","Noto Serif JP",serif;
	border-top:3px solid #eee;
	border-bottom:3px solid #eee;
}
.systemEtc li {
	display:flex;
	justify-content:space-between;
	align-items:flex-end;
}
.systemEtc li > .etcHead {
	font-size:36px;
	align-self:center;
}
.systemEtc li > .etcPrice > span {
	font-size:30px;
	tetx-algin:right;
}

.aromaTitle {
	padding:0.2em 0.5em;
	background:#542;
	font-size:24px;
	font-family:"CSerif","Noto Serif JP",serif;
	text-align:center;
}
.aromaFlex {
	padding:30px 30px 15px;
	display:flex;
	justify-content:space-between;
	font-family:"CSerif","Noto Serif JP",serif;
}
.aromaFlex > .aromaText {
	width:52%;
	font-size:26px;
	line-height:1.8;
	text-align:center;
}
.aromaFlex > .aromaImage {
	width:45%;
}


.systemNotice {
}
.systemNotice .noticeTitle {
	padding:0.3em 1em;
	background:#544423;
}
.systemNotice .noticeBody {
	padding:0.5em 0;
}
.systemNotice .noticeBody > p {
	padding:0.5em 1em 0.5em 2em;
	line-height:1.6;
}
.systemNotice .noticeBody > p > span {
	margin-left:-1em;
}


@media screen and (max-width:1200px) { 
	.systemCourse > li .systemTitle {
		font-size:20px;
	}
	.systemCourse > li .systemTitle > .en {
		font-size:14px;
	}
	.systemCourse > li .systemPrice > .text {
		font-size:12px;
	}
	.systemCourse > li .systemPrice > .min {
		width:100px;
	}
	.systemCourse > li .systemPrice > .price {
		width:160px;
	}
	.systemCourse > li .systemPrice > .min ,
	.systemCourse > li .systemPrice > .price {
		font-size:32px;
	}
	.systemCourse > li .systemPrice > .min > span ,
	.systemCourse > li .systemPrice > .price > span {
		font-size:24px;
	}
	.systemCourse > li .systemContent {
		font-size:14px;
	}

	.aromaTitle {
		font-size:20px;
	}
	.aromaFlex {
		padding:30px 15px 15px;
	}
	.aromaFlex > .aromaText {
		font-size:22px;
	}

	.systemNotice .noticeBody {
		font-size:14px;
	}

	.systemEtc {
		font-size:32px;
	}
	.systemEtc li > .etcHead {
		font-size:28px;
	}
	.systemEtc li > .etcPrice > span {
		font-size:24px;
	}

}

@media screen and (max-width:799px) { 
	.systemCourse > li .systemTitle {
		flex-wrap:wrap;
	}
	.systemCourse > li .systemTitle > span {
		width:100%;
	}
	.systemCourse > li .systemPrice {
		padding-top:0.5em;
		justify-content:flex-end;
		flex-wrap:wrap;
	}
	.systemCourse > li .systemPrice > .text {
		width:100%;
	}
	.systemCourse > li .systemContent {
		padding-right:1em;
		flex-wrap:wrap;
	}
	.systemCourse > li .systemContent > .flow {
		width:100%;
	}

	.aromaTitle {
		font-size:18px;
	}
	.aromaFlex {
		padding:20px 5px 15px;
	}
	.aromaFlex > .aromaText {
		width:54%;
		font-size:16px;
		line-height:1.8;
	}
	.aromaFlex > .aromaImage {
		width:44%;
	}

	.systemEtc {
		font-size:24px;
	}
	.systemEtc li > .etcHead {
		font-size:20px;
	}
	.systemEtc li > .etcPrice > span {
		font-size:16px;
	}
}


/* ==============================================
	access
=============================================== */
#access iframe {
	width:100%;
	height:480px;
	border:1px solid #fff;
	box-shadow:0px 3px 5px #666;
}
#access p {
	text-align:center;
	line-height:1.8;
}


.routeList {
	display:flex;
	flex-wrap:wrap;
	-webkit-flex-wrap:wrap;
	align-items:stretch;
	-webkit-align-items:stretch;
}
.routeList li {
	width:48%;
	margin:10px 1%;
	padding:10px;
	text-align:center;
	line-height:1.6;
	font-size:16px;
	font-weight:bold;
	text-shadow:none;
	border:1px solid #999;
	box-shadow:1px 1px 3px #666;
}
@media screen and (max-width:799px) { 
	.routeList li {
		padding:5px;
		font-size:14px;
	}
}




/* ==============================================
	castlist
=============================================== */
ul.castList {
	width:100%;
	display:flex;
	flex-wrap:wrap;
	align-items:stretch;
	justify-content:flex-start;
}
ul.castList.infoBox {
	padding:10px;
}
ul.castList li.castCell {
	display:inline-block;
	position:relative;
	width:calc(100% / 4 - 10px);
	background:#210;
	border:1px solid #666;
	margin:5px;
	overflow:hidden;
	text-align:center;
	box-shadow:1px 1px 3px #666;
}

ul.castList li.castCell a {
	display:block;
	width:100%;
	height:100%;
	text-shadow:none;
	color:#fff;
	font-size:14px;
	letter-spacing:1px;
}

ul.castList li.castCell:hover {
	box-shadow:0px 0px 8px #ccc;
}
ul.castList li.castCell a:hover {
	text-shadow:0px 0px 3px #fff,0 0 5px #fff;
}

ul.castList li.castCell .castImage {
	display:block;
	position:relative;
	width:100%;
	text-align:center;
}
ul.castList li.castCell .castImage:before {
	content:"";
	display:block;
	width:100%;
	height:0;
	padding-top:calc(100% * 4 / 3);
}
ul.castList li.castCell .castImage .imgFrame {
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	width:100%;
	height:100%;
	display:flex;
	justify-content:center;
	align-items:center;
}
ul.castList li.castCell .castImage .imgFrame img {
	width:auto;
	max-width:100%;
	height:auto;
	max-height:100%;
}

ul.castList li.castCell .castInfo {
	position:relative;
	display:block;
}
ul.castList li.castCell .castInfo .castCatch {
	display:block;
	width:calc(100% - 6px);
	margin:3px;
	line-height:1.4;
	overflow:hidden;
	white-space:nowrap;
}
ul.castList li.castCell .castInfo .castCatch.on {
	background:#06f;
}

ul.castList li.castCell .castInfo .castName {
	display:block;
	font-size:18px;
	line-height:1.6;
}
ul.castList li.castCell .castInfo .castName span {
	font-size:16px;
}
ul.castList li.castCell .castInfo .castSize {
	display:block;
	height:28px;
	line-height:20px;
	font-size:14px;
}
ul.castList li.castCell .castInfo .castTime {
	display:block;
	height:28px;
	line-height:20px;
	font-size:16px;
	color:#ffe;
	text-shadow:0 0 3px #ff0,0 0 5px #ff0;
}

li.castCell .castImage.castFlagNewface:after {
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:33%;
	height:50px;
	background:url(images/common/new.png) 0 0 no-repeat;
	background-size:contain;
}

@media screen and (max-width:799px) { 
	ul.castList.infoBox {
		padding:5px;
	}
	ul.castList li.castCell {
		width:calc(100% / 2 - 10px);
	}
}

/* ==============================================
	schedule
=============================================== */
#dateList {
	width:100%;
	margin:15px auto;
	display:flex;
	justify-content:space-around;
	text-align:center;
}
#dateList li {
	width:13.5%;
	line-height:40px;
	font-weight:bold;
	font-size:14px;
	color:#fff;
	text-shadow:1px 1px 0px #000;
	cursor:pointer;
	border:1px solid #666;
	background-color:#111;
	box-shadow:1px 1px 3px #666;
}
#dateList li.on {
	font-size:16px;
	color:#fff;
	text-shadow:1px 1px 0px #000;
	background-color:#c93;
}
#dateList li:not(.on):hover {
	background-color:#333;
}
#dateList li.col6 {
	color:#0cf;
}
#dateList li.col6.on {
	color:#cff;
}
#dateList li.col0 {
	color:#f0c;
}
#dateList li.col0.on {
	color:#fcf;
}

@media screen and (max-width:799px) { 
	#dateList li {
		padding:10px 0;
		line-height:24px;
	}
}


/* ==============================================
	gallery
============================================== */
.gallery {
	display:flex;
	flex-wrap:wrap;
	align-items:stretch;
	background:#fff;
	padding:10px;
}
.gallery li {
	position:relative;
	width:48%;
	margin:10px 1%;
	padding-bottom:38px;
}
.gallery li.noData {
	width:100%;
}
.gallery li div img {
	vertical-align:top;
}
.gallery li p {
	position:absolute;
	left:0;
	bottom:0;
	display:block;
	width:100%;
	padding:5px 20px;
	text-align:right;
	font-size:16px;
	line-height:28px;
	color:#fff;
	text-shadow:1px 1px 1px #000;
	background:rgba(0,0,0,0.8);
}
@media screen and (max-width:799px) { 
	.gallery {
		width:100%;
	}
	.gallery li {
		width:auto;
	}
}

/* ==============================================
	recruit
=============================================== */
.recruitImage {
}
.recruitImage img {
	box-shadow:1px 1px 3px #666;
}
.recruitImage a {
	display:inline-block;
	border-radius:17.5px;
	overflow:hidden;
	box-shadow:1px 1px 3px #666;
}
.recruitImage a:hover {
	box-shadow:0px 0px 10px #fff;
}

.recruitMessage {
}
.recruitMessage .subtitleBar {
	margin:0 auto 10px;
	border-bottom:1px dashed #666;
}


.recruitInfo {
	margin-top:15px;
}
.recruitInfo dl {
	margin:0 auto;
	font-size:16px;
	line-height:1.6;
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
	align-items:stretch;
}

@media screen and (min-width:800px) { 
	.recruitMessage {
		font-size:18px;
	}
	.recruitMessage .subtitleBar {
		width:95%;
	}

	.recruitInfo dl dt {
		width:30%;
		padding-right:20px;
		text-align:right;
	}
	.recruitInfo dl dd {
		width:65%;
		padding-left:20px;
		text-align:left;
	}
	.recruitInfo dl dt ,
	.recruitInfo dl dd {
		padding:10px;
		border-top:1px dashed #666;
	}
	.recruitInfo dl dt:last-of-type ,
	.recruitInfo dl dd:last-of-type {
		border-bottom:0 none;
	}
}



@media screen and (max-width:799px) { 
	.recruitMessage .subtitleBar {
		width:100%;
	}
	.recruitInfo dl dt ,
	.recruitInfo dl dd {
		width:100%;
		text-align:left;
	}
	.recruitInfo dl dt {
		color:#9ff;
		padding:5px 15px 0;
		border-top:1px dashed #666;
	}
	.recruitInfo dl dd {
		padding:0px 5px 5px 30px;
	}
	.recruitInfo dl dt:nth-of-type(1) {
	}
}




/* ==============================================
	recruit form
=============================================== */
#recruit_formHtmlBody .infoBox {
	width:90%;
}
.thankyouText ,
#formTable {
	width:100%;
	margin:auto;
	padding:0 10px;
	font-size:14px;
}
#formTable dt {
	line-height:26px;
}
#formTable dd {
	padding-bottom:10px;
	border-bottom:1px dotted #666;
	line-height:1.8;
}
#formTable dd .memo {
	color:#666;
}
#formTable dd:last-child {
	border-bottom:0px none;
}

#formTable dd label {
	display:block;
}
.error {
	display:block;
	color:#ff0;
}
dt .error {
	color:#0cf;
}

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 10px;
	padding:10px;
	font-size:13px;
	border-top:1px dotted #666;
}

@media screen and (min-width:800px) { 
	#formTable dt {
		float:left;
		text-align:right;
		width:320px;
		padding:10px 5px 0;
	}
	#formTable dd {
		padding-top:10px;
		padding-left:330px;
	}
}

@media screen and (max-width:799px) { 
	#formTable dt {
		line-height:2em;
		font-size:16px;
	}

	#formTable dd {
		padding-left:30px;
	}
}


/* ==============================================
	links
=============================================== */
.linkList {
	margin:10px auto;
}
.linkList th ,
.linkList td {
	padding:10px;
	vertical-align:middle;
}
.linkList a {
	color:#eee;
}

.linkList.hAction tr:hover a {
}
.linkList.hAction tr:hover th ,
.linkList.hAction tr:hover td {
	background-color:rgba(255,204,153,0.3);
}

.linkList.banners td {
	padding:10px 0;
	text-align:left;
}
.linkList.banners img {
	border:1px solid #666;
}

@media screen and (max-width:799px) { 
	.linkList {
		width:90%;
		display:block;
	}
	.linkList tbody ,
	.linkList tr ,
	.linkList tr th ,
	.linkList tr td {
		width:100%;
		display:block;
		text-align:center;
	}
	.linkList.banners td {
		padding-top:0;
		text-align:center;
	}
}



/* ============================================================================================
	profile
============================================================================================= */
#profileBloc {
	margin-bottom:30px;
	line-height:1.6;
	display:flex;
}
#profileBloc .infoBox {
	margin-bottom:0;
	background:rgba(0,0,0,0.3);
}

@media screen and (min-width:800px) { 
	#profileBloc {
		justify-content:space-between;
		flex-direction:row-reverse;
		align-items:stretch;
	}

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



/* ==============================================
	profile > right frame > main image
=============================================== */
#profileImageFrame {
	display:flex;
}
@media screen and (min-width:800px) { 
	#profileImageFrame {
		width:500px;
		justify-content:space-between;
		align-items:center;
		padding-right:15px;
	}
}
@media screen and (max-width:799px) { 
	#profileImageFrame {
		width:440px;
		margin:auto auto 20px;
		padding:30px 0 60px;
	}
}

#profileImageFrame #profileImage {
	position:relative;
	width:362px;
	margin:auto;
}
#profileImageFrame #profileImage img {
	vertical-align:top;
	border:1px solid #666;
}

#profileImageFrame #profileImage.castFlagNewface:after {
	content:"";
	position:absolute;
	top:1px;
	left:1px;
	width:25%;
	height:50px;
	background:url(images/common/new.png) 0 0 no-repeat;
	background-size:contain;
}

@media screen and (max-width:799px) { 
	#profileImageFrame {
		overflow:hidden;
	}
	#profileImageFrame #profileImage .bx-wrapper .bx-pager {
		bottom:-45px;
		height:45px;
		line-height:45px;
		text-align:center;
	}
	#profileImageFrame #profileImage .bx-wrapper .bx-pager a {
		width:25px;
		height:25px;
		border-radius:100%;
		text-indent:-9999px;
		background:#666;
		margin:0 5px;
	}
	#profileImageFrame #profileImage .bx-wrapper .bx-pager a:hover {
		background:#999;
	}
	#profileImageFrame #profileImage .bx-wrapper .bx-pager a.active {
		background:#00f;
	}
	#profileImageFrame #profileImage .bx-wrapper .bx-prev {
		left:-35px;
	}
	#profileImageFrame #profileImage .bx-wrapper .bx-next {
		right:-35px;
	}
}


/* ==============================================
	profile > thumbs
=============================================== */
#profileImageFrame #profileThumbs {
}
#profileImageFrame #profileThumbs li {
	display:inline-block;
	width:86px;
	height:114px;
	line-height:112px;
	overflow:hidden;
	background-color:#666;
	text-align:center;
	border:1px solid #666;
	vertical-align:middle;
}
#profileImageFrame #profileThumbs li:last-child {
	margin-bottom:0;
}
#profileImageFrame #profileThumbs li img {
	max-width:100%;
	max-height:100%;
	vertical-align:middle;
}
#profileImageFrame #profileThumbs li.imageOn {
	border:1px solid #099;
	cursor:pointer;
}
@media screen and (min-width:800px) { 
	#profileImageFrame #profileThumbs {
		width:86px;
	}
	#profileImageFrame #profileThumbs li {
		margin-bottom:9px;
	}
}
@media screen and (max-width:799px) { 
	#profileImageFrame #profileThumbs {
		margin:10px 0;
	}
	#profileImageFrame #profileThumbs li {
		margin:0 5px;
	}
}



/* ==============================================
	profile > info
=============================================== */
#profileInfoFrame {
	position:relative;
	width:440px;
	margin:0 auto;
	font-size:16px;
	text-align:center;
}
@media screen and (min-width:800px) { 
	#profileInfoFrame #profileInfoInner {
		overflow:auto;
		margin:0 10px;
		height:100%;
	}
}
@media screen and (max-width:799px) { 
	#profileInfoFrame {
		margin-bottom:20px;
	}
}


#profileInfoFrame #profileCatch {
	width:90%;
	margin:0 auto;
	color:#fff;
	background:#542;
	line-height:1.4;
}

#profileInfoFrame #profileName {
	font-size:30px;
	line-height:2;
}
#profileInfoFrame #profileName span {
	font-size:24px;
}
#profileInfoFrame #profileSize {
	line-height:2;
	padding:3px 0;
}
#profileInfoFrame #profileTime {
	line-height:2;
	color:#ff0;
	text-shadow:1px 1px 3px #ccc;
}

#profileInfoFrame #profileMessage {
	font-size:14px;
	line-height:1.8;
}

#profileInfoFrame #profileBlogLink {
	padding:0 20px;
	text-align:center;
}
#profileInfoFrame #profileBlogLink a {
	display:inline-block;
	padding:5px 15px;
	color:#fff;
	text-shadow:1px 1px 0px #000;
	background:linear-gradient(#09f ,#03f) #09f;
	background:-moz-linear-gradient(center top,#09f,#03f);
	background:-webkit-gradient(linear,center top,center bottom,from(#09f),to(#03f));
	border:1px solid #00f;
	border-radius:5px;
	font-size:14px;
	text-align:center;
}
#profileInfoFrame #profileBlogLink a:hover {
	color:#fff;
	text-shadow:-1px -1px 0px #000;
	background:linear-gradient(#03f ,#09f) #03f;
	background:-moz-linear-gradient(center top,#03f,#09f);
	background:-webkit-gradient(linear,center top,center bottom,from(#03f),to(#09f));
}


#profileInfoFrame #profileTwitterLink {
	margin-top:30px;
	text-align:center;
}
#profileInfoFrame #profileTwitterLink a {
	display:inline-block;
	padding:5px 15px;
	color:#fff;
	text-shadow:1px 1px 0px #000;
	background:linear-gradient(#09f ,#039) #039;
	background:-moz-linear-gradient(center top,#09f,#039);
	background:-webkit-gradient(linear,center top,center bottom,from(#09f),to(#039));
	border:1px solid #09f;
	border-radius:5px;
	font-size:14px;
	text-align:center;
}
#profileInfoFrame #profileTwitterLink a:hover {
	color:#000;
	text-shadow:1px 1px 0px #fff;
}



/* ==============================================
	profile > schedule
=============================================== */
#profileSchedule {
	width:96%;
	margin:auto;
	font-size:14px;
	text-align:center;
	line-height:40px;
}
#profileSchedule caption {
}
#profileSchedule th ,
#profileSchedule td {
	width:14%;
	font-weight:normal;
	height:40px;
	background:rgba(0,0,0,0.3);
	border:1px solid #666;
}
#profileSchedule .week0 {
	background:rgba(255,0,0,0.3);
}
#profileSchedule .week6 {
	background:rgba(0,0,255,0.3);
}
#profileSchedule th {
	color:#eee;
}
#profileSchedule td span:after {
	content:"～";
}
@media screen and (max-width:799px) { 
	#profileSchedule td span:after {
		content:"▼";
		display:block;
	}
	#profileSchedule th ,
	#profileSchedule td {
		height:60px;
		line-height:1.6;
	}
	#profileSchedule td {
		line-height:1.2;
	}
}

/* ==============================================
	profile > guide(bottom)
=============================================== */
#profileGuideBottom {
	width:90%;
	max-width:450px;
	height:50px;
	margin:80px auto 60px;
	display:flex;
	text-align:center;
}
#profileGuideBottom li {
	width:calc(100% / 3);
	height:50px;
	line-height:50px;
	font-size:13px;
	text-align:center;
}

#profileGuideBottom li a {
	display:block;
	width:100%;
	height:100%;
	border-top:1px solid #666;
	border-left:1px solid #666;
	border-bottom:1px solid #666;
	color:#ccc;
	background:rgba(0,0,0,0.3);
}
#profileGuideBottom li:last-child a {
	border-right:1px solid #666;
}
#profileGuideBottom li a span {
}
#profileGuideBottom li a:hover {
	color:#fff;
	background-color:rgba(102,51,0,0.9);
}




/* ============================================================================================
	2018.11.30
	form override
============================================================================================= */
#ui-datepicker-div {
	font-size:16px;
	text-shadow:1px 1px 0 #fff;
}
#ui-datepicker-div .ui-state-active {
	text-shadow:1px 1px 0 #000;
}
.formNotes {
	font-size:13px;
	color:#bbb;
}

@media screen and (max-width:799px) { 
	button ,input ,textarea ,select ,option {
		padding:2px 5px;
		font-size:18px;
	}
	#ui-datepicker-div {
		font-size:20px;
	}
}




/* ============================================================================================
	2018.11.30
	footer fixed buttons
============================================================================================= */
/* ==============================================
	footer override
=============================================== */
@media screen and (max-width:799px) { 
	footer {
	}
}

/* ==============================================
	fixed area
=============================================== */
#footerFixedButtons {
	display:none;
}
@media screen and (max-width:799px) { 
	#footerFixedButtons {
		position:fixed;
		left:0;
		right:0;
		bottom:0;
		display:block;
		width:100%;
		height:65px;
		background:rgba(0,0,0,0.9);
		border-top:1px solid #333;
		box-shadow:0 -1px 5px #000;
	}
	#footerFixedButtons ul.innerFrame {
		width:480px;
		height:100%;
		padding:5px 10px;
		margin:0 auto;
		display:flex;
		justify-content:space-around;
		align-items:center;
	}
	#footerFixedButtons ul.innerFrame li {
		width:49%;
		height:100%;
	}
	#footerFixedButtons ul.innerFrame li a {
		display:block;
		width:100%;
		height:100%;
		font-size:20px;
		line-height:1;
		color:#fff;
		text-shadow:none;
		background:#0b3;
		border-radius:5px;
		box-shadow:1px 1px 3px #666;
		display:flex;
		justify-content:center;
		align-items:center;
	}
	#footerFixedButtons ul.innerFrame li a span {
		padding:0 2.5px;
	}
	#footerFixedButtons ul.innerFrame li a span img {
		height:45px;
	}
	#footerFixedButtons ul.innerFrame li:nth-child(2) a {
		background:#09f;
	}
	#footerFixedButtons ul.innerFrame li a:active {
		opacity:0.8;
	}
}




/* ============================================================================================
	2019.7.11
============================================================================================= */
#profTwitter {
	padding-top:30px;
}
#profTwitter div#profTwitter {
	width:540px;
	height:600px;
	max-width:calc(100% - 30px);
	margin-left:auto;
	margin-right:auto;
	background: rgba(0,0,0,0.3);
}
@media screen and (max-width:799px) { 
	#profTwitter div#profTwitter {
		width:92%;
		margin-left:auto;
		margin-right:auto;
	}
}



#headerImage {
	width:100%;
	background:#4b3e2d;
	background-size:cover;
	text-align:center;
}
#headerImage > * {
}


/* ============================================================================================
	2020.5.8
============================================================================================= */
#insta-widget {
	background:none !important;
	border:1px solid transparent !important;
}










