@charset "utf-8";


/* ============================================================================================
	組み込みフォント
============================================================================================= */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho+B1:wght@500;600;700;800&display=swap');



:root {
	--font-base:'Shippori Mincho B1',serif;
	--font-title:var(--font-base);
}


/* ============================================================================================
	タグ初期化
============================================================================================= */
* ,*: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;
}
#bx-pager {
	padding-top:2em;
}


html ,body {
	position:relative;
	height:100%;
	min-height:100%;
	font-size:16px;
	line-height:1.6;
	font-family:var(--font-base);
}

button ,input ,textarea ,select {
	font-size:inherit;
	letter-spacing:1px;
	text-indent:1px;
	font-family:var(--font-base);
	padding:0.3em 0.3em;
	border:1px solid #999;
	border-radius:5px;
	background:#333;
}

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:#fc0;
	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-bottom:2em;
	text-align:center;
	line-height:1.4;
	font-weight:bold;
}
.titleBar:not(.sub) {
	display:flex;
	justify-content:center;
	align-items:center;
	flex-direction:column;
	text-shadow:0 0 0.8em #fff;
}
.titleBar > span:nth-child(1) {
	font-size:300%;
	font-family:var(--font-title);
}
.titleBar > span:nth-child(2) {
	font-size:140%;
	letter-spacing:0.1em;
	text-indent:0.1em;
}

.titleBar.sub {
	padding-bottom:0.5em;
	color:#fc0;
	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 1em;
	font-size:200%;
}
.titleBar.grad + div {
	padding:1em 0 4em;
}


@media screen and (max-width:799px) { 
	.titleBar > span:nth-child(1) {
		font-size:240%;
	}
	.titleBar > span:nth-child(2) {
		font-size:130%;
		letter-spacing:0.05em;
		text-indent:0.05em;
	}
	.titleBar.grad {
		font-size:180%;
	}
}


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

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

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



/* ==============================================
	汎用テーブル
=============================================== */
.commonTable {
	width:100%;
	max-width:800px;
	margin:0 auto;
	background:rgba(0,0,0,0.3);
	backdrop-filter:blur(0.3em);
}
.commonTable th {
	width:20%;
	padding:0.5em 0.1em;
	white-space:nowrap;
	border:1px solid #666;
	letter-spacing:2px;
	text-indent:2px;
}
.commonTable td {
	padding:0.5em 1em;
	border:1px solid #666;
}




/* ============================================================================================
	デザイン＆レイアウト設定
============================================================================================= */
body {
	color:#fff;
	background-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 {
	}
	body div#bgLayer {
	}
	#mainblock {
	}
}


/* ============================================================================================
	デザイン＆レイアウト設定
============================================================================================= */
/*
	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% 100%;
	background-repeat:no-repeat;
}

@media screen and (max-width:799px) { 
	#header {
		background-size:cover;
	}
	#indexHtmlBody #spHeaderMenu {
		display:none;
	}
}


#indexHtmlBody #header ,
#indexHtmlBody #header-image ,
#indexHtmlBody #sp-menu {
	opacity:0;
	animation:1s animateShow forwards linear;
}
#indexHtmlBody #header {
}
#indexHtmlBody #header-image {
	animation-delay:0.5s;
}
#indexHtmlBody #sp-menu {
	animation-delay:1.2s;
}
@keyframes animateShow {
	  0% { opacity:0.1; }
	100% { opacity:1; filter:blur(0); }
}



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

#h1 {
	position:absolute;
	top:0;
	right:0;
	padding:0.2em 0.5em;
	font-size:90%;
	color:#fff;
}

#header-image {
	position:relative;
    text-align:center;
}
#header-image .innerFrame {
	height:100vh;
	min-height:30em;
	padding-bottom:5%;
	display:flex;
	justify-content:center;
	align-items:center;
	flex-direction:column;
	text-align:column;
	gap:2em;
}
#header-image .innerFrame img {
	width:18em;
}
#header-image .innerFrame div {
	font-size:200%;
	line-height:2;
}

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

#header-image-small {
	height:10em;
}
#header-image-small .innerFrame {
	height:100%;
	display:flex;
	justify-content:space-between;
	align-items:center;
}
#header-image-small .innerFrame > div.logo {
	text-align:left;
}
#header-image-small .innerFrame > div.text {
	align-self:flex-end;
	padding:1em;
	line-height:1.2;
	text-align:right;
	display:flex;
	justify-content:flex-end;
	flex-direction:column;

	color:#fff;
	text-shadow:0px 0px 8px #00f;
}
#header-image-small .innerFrame > div.text .time {
	padding-right:0.2em;
	font-size:150%;
}
#header-image-small .innerFrame > div.text .tel {
	font-size:240%;
}

@media screen and (min-width:800px) { 
	#header-image-small .innerFrame {
		width:auto;
		max-width:1600px;
		min-width:1200px;
	}
}
@media screen and (max-width:799px) { 
	#header-image .innerFrame {
		padding-bottom:15%;
	}
	#header-image .innerFrame img {
		width:50%;
	}
	#header-image .innerFrame div {
		font-size:180%;
	}
	#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
=============================================== */
#header-pc {
	position:sticky;
	top:0;
	left:0;
	right:0;
	color:#fff;
	background:rgba(17,17,17,0.6);
	backdrop-filter:blur(0.3em);
	z-index:10000;
}
#header-pc .navMenu {
	position:relative;
	display:flex;
	justify-content:center;
	align-items:stretch;
	text-align:center;
}
#header-pc .navMenu > li.navCell {
	position:relative;
	flex-grow:1;
}


#header-pc .navMenu > li.navCell a {
	position:relative;
	width:100%;
	height:100%;
	padding:1.5em 0 1.2em;
	line-height:2;
	display:flex;
	justify-content:center;
	align-items:stretch;
	flex-direction:column;
}
#header-pc .navMenu > li.navCell a:hover {
	text-shadow:1px 1px 0 #000,0 0 0.8em #fff,0 0 1em #fff;
}

#header-pc .navMenu > li.navCell a > span:nth-child(1) {
	line-height:1.2;
	font-size:110%;
	letter-spacing:-0.05em;
	text-indent:-0.05em;
}
#header-pc .navMenu > li.navCell a > span:nth-child(2) {
	font-size:80%;
}


/* ==============================================
	header-nav
=============================================== */
.nav-fixed #header-pc {
}



/* ==============================================
	header-sp
=============================================== */
#header-sp {
}
#header-sp-button {
	display:none;
}
#header-sp-button > div {
	height:100%;
}
#header-sp-button > div img {
	height:100%;
}

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


/* ==============================================
	フッターメニュー
=============================================== */
#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 {
		padding-top:6em;
	}

	#footerNav .navMenu {
		flex-direction:column;
	}
	#footerNav .navMenu > li {
		padding:0;
	}
	#footerNav .navMenu > li a {
		padding:0.6em 2em;
		color:#fff;
		background:linear-gradient(180deg ,rgba(0,0,0,0.6) 50% ,rgba(51,51,51,0.6) 50%);
		backdrop-filter:blur(0.3em);
		border-top:1px solid #666;

		display:flex;
		justify-content:space-between;
		align-items:center;
	}
	#footerNav .navMenu > li a > span:nth-child(1) {
		font-size:140%;
	}
}



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

@media screen and (max-width:799px) { 
	#footer-info {
		padding:4em 0;
	}
	#logo-f {
		padding:0 25%;
	}
	#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 (min-width:800px) { 
	#copyright:before {
		content:"Copyright ";
	}
}
@media screen and (max-width:799px) { 
	#copyright {
		padding:1em 0;
		line-height:2;
	}
}



/* ============================================================================================
	メイン部分
============================================================================================= */
#mainblock > .innerFrame {
	padding:2em 2em 4em;
	display:flex;
	justify-content:center;
}

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


/* ==============================================
	body sidemenu
=============================================== */
.side {
	display:none;
	width:180px;
}

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



/* ==============================================
	body mainBloc
=============================================== */
#main {
}

@media screen and (min-width:800px) { 
	#main {
		min-width:800px;
	}
}
@media screen and (max-width:799px) { 
	#main {
		width:100%;
	}
}






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

/* ==============================================
	home > homeTop > slider
=============================================== */
.homeSliderBloc {
	width:960px;
	max-width:100%;
	margin:0 auto;
}
.homeSliderBloc #bx-pager {
	gap:5px;
}
.homeSliderBloc #bx-pager a {
	width:calc(100% / 5 - 5px);
	margin:0;
	border:0 none;
	box-shadow:0 0 0.3em #333;
	filter:grayscale(1);
}
.homeSliderBloc #bx-pager a.active {
	border:0 none;
	box-shadow:0 0 0.6em #666;
	filter:grayscale(0);
}

.homeSliderBloc #bx-pager a img {
	width:100%;
	aspect-ratio:4/3;
	object-fit:contain;
	opacity:1;
}

#homeSlider img {
	width:100%;
	max-height:800px;
	object-fit:contain;
}
#mainblock .homeSliderBloc .bx-wrapper .bx-viewport {
	background:rgba(0,0,0,0.6);
	border:0 none;
	box-shadow:0 0 0.5em #666;
}




/* ==============================================
	system
=============================================== */
.system.infoBox {
	padding:2em 0.5em;
}
.systemBloc {
	font-size:180%;
	line-height:2.1;
	background:rgba(0,0,0,0.6);
	text-align:center;
	overflow:hidden;
}
.systemBloc:before {
	content:"SYSTEM";
	font-size:130%;
	font-weight:bold;
	display:block;
	width:100%;
	color:#fff;
	background:#6669;
}
.systemBloc:after {
	content:"";
	display:block;
	width:100%;
	height:0.3em;
}

.systemBloc ul {
}
.systemCell {
	padding:0 2em;
	display:flex;
	justify-content:center;
	align-items:center;
}
.systemCell.title {
	background:#3339;
}
.systemCell.price {
	padding:0.2em 2em;
	justify-content:space-between;
}

.systemCell.line {
	border-bottom:0.2em solid #666c;
}

.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 0 0.3em;
	}
}



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

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


/* ============================================================================================
	castlist
============================================================================================= */
ul.castList {
	position:relative;
	width:100%;
	margin:0 auto;
	padding:2em 1em 0;
	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:0.8em;
}
ul.castList li.castCell .aFrame {
	position:relative;
	display:block;
	padding:1px;
	color:#fff;
	text-align:center;
	transition: all 0.6s ease;
    -webkit-transition: all 0.6s ease;
	cursor:pointer;
	overflow:hidden;
}

ul.castList li.castCell a.aFrame:hover {
	box-shadow:0 0 2em #666;
}



/* ==============================================
	cast image
=============================================== */
.castImage {
	display:block;
	position:relative;
	overflow:hidden;
}
.castImageBG {
	display:none;
}
.castImage .castImageMain {
	width:100%;
	aspect-ratio:2/3;
}
.castImage .castImageMain img {
	width:100%;
	height:100%;
	object-fit:cover;
}


/* ==============================================
	cast info
		name
		icons
		age height
		B(cup) W H
=============================================== */
.castInfo {
	position:relative;
}

.castInfo .castName {
	padding:0.5em 0;
	font-size:130%;
}
.castInfo .castName .castData {
	font-size:80%;
}

.castIcon {
	display:flex;
	justify-content:center;
	align-items:center;
	text-align:center;
	gap:1px;
}
.castIcon > li {
	width:calc(100% / 3 - 1px);
	background:#222;
	overflow:hidden;
}
.castIcon > li > span {
	display:block;
	padding-top:0.2em;
	font-size:80%;
	font-weight:600;
	background:none !important;
	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);
}


.castSize {
	padding:0.3em 0;
	font-size:100%;
	letter-spacing:0.08em;
}



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


@media screen and (max-width:799px) { 
	.castIcon > li > span {
		font-size:80%;
	}
	#prof-sp .castIcon > li > span {
		font-size:100%;
	}

}

/* ==============================================
	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 ,
#recruit-1 .commonTable td {
	font-size:110%;
	box-shadow:0 0 0.1em #f09 inset;
}


#recruit-2 .commonTable th ,
#recruit-2 .commonTable td {
	font-size:120%;
	box-shadow:0 0 0.1em #06f inset;
}

.td-image {
	padding:1em 0 0.5em;
	display:flex;
	justify-content:center;
}


/* ==============================================
	recruit button
=============================================== */
.recruitButton {
	width:100%;
	max-width:800px;
	margin:0 auto;
	padding:1em;
	font-size:160%;
	letter-spacing:0.1em;
	text-align:0.1em;
	text-align:center;
}
.recruitButton a {
	width:100%;
	height:3em;
	color:#fff;
	background:rgba(34,34,34,0.3);
	backdrop-filter:blur(0.3em);
	border:1px solid #666;
	transition: all 0.6s ease;
    -webkit-transition: all 0.6s ease;

	display:flex;
	justify-content:center;
	align-items:center;
}
.recruitButton a:after {
	content:"\025B6";
	font-size:90%;
	padding-left:0.5em;
}
.recruitButton a:hover {
	background:rgba(102,102,102,0.6);
	box-shadow:0 0 0.5em #666;
}



@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 #333;
}
#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 #333;
}
#recruitHtmlBody #body #formTable dd {
	width:calc(100% - 210px);
}
#formTable dd .memo {
	color:#666;
}

#formTable dd label {
	display:block;
}
.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;
}

.formButton {
	width:100%;
	margin:auto 0.5em;
	padding:2em 0.5em 0;
	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.2em 0.3em 0;
	line-height:1.3;
	font-size:80%;
	color:#fff;
	background:#f00;
	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:420px;
}
#prof-left > #prof-image {
	position:relative;
	width:100%;
	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-slider li > img {
	aspect-ratio:2/3;
	object-fit:contain;
}

#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:2em;
	display:flex;
	justify-content:center;
	gap:5px;
}
#prof-slider-thumbs > * {
	width:calc(100% / 5 - 5px);
	cursor:pointer;
}
#prof-slider-thumbs > *:hover {
	opacity:0.8;
}

#prof-slider-thumbs img {
	aspect-ratio:2/3;
	object-fit:cover;
}

#prof-info {
	flex-grow:1;
	padding-left:2em;
}

.prof-header {
	padding:20px 0 15px;
}
.prof-header span {
	display:block;
	padding-left:15px;
	line-height:1.8;
}
.prof-body {
	padding:1.5em 1.5em 0;
}


.prof-name {
	font-size:200%;
	font-weight:bold;
	line-height:1;
	padding-left:0.5em;
	padding-bottom:0.5em;
	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:1em;
	font-size:130%;
}

#prof-info .castIcon {
	justify-content:flex-start;
	height:2.4em;
	line-height:1.8em;
}


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






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


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

#prof-schedule tr > * {
	width:calc(100% / 7);
	border:1px solid #fc0;
	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.6;
	padding:0 1em 0.1em;
	border:1px solid #444;
}
#prof-profile dd {
	padding-left:2em;
	padding-top:0.5em;
	padding-bottom:1.5em;
}


@media screen and (max-width:799px) { 
	#prof-profile {
		font-size:120%;
	}
	#prof-profile dd {
		padding-left:1.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:4em;
	aspect-ratio:1/1;
	background:rgba(51,51,51,0.6);
	backdrop-filter:blur(0.3em);
	text-align:center;
	cursor:pointer;
	z-index:10000;
}
#scrollTopInner {
	width:100%;
	height:100%;
	display:flex;
	justify-content:center;
	align-items:center;
}

#scrollTop:hover {
	background:#999;
}




/* ==============================================
	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:5em;
		display:flex;
		justify-content:space-between;
		align-items:center;
		gap:0.3em;
		overflow:hidden;
		line-height:1;
	}
	#spHeaderMenu .logo {
		height:90%;
		display:flex;
		justify-content:center;
		align-items:center;
	}
	#spHeaderMenu .logo a {
		height:100%;
	}
	#spHeaderMenu .logo img {
		max-height:100%;
	}
	#spHeaderMenu .tel {
		padding:0.5em 0;
	}
	#spHeaderMenu .tel:before {
		content:"TEL";
		font-size:90%;
	}
	#spHeaderMenu .tel a {
		padding:0 0.5em 0.2em;
		text-align:center;
		white-space:nowrap;
		display:flex;
		justify-content:center;
		align-items:center;
	}
	#spHeaderMenu .tel a span {
		display:block;
	}
	#spHeaderMenu .tel a .number {
		font-size:160%;
		font-weight:bold;
		letter-spacing:-0.01em;
	}
	#spHeaderMenu .tel a .number small {
		display:none;
		font-size:70%;
		padding-right:0.3em;
	}
	#spHeaderMenu .tel a .text {
		display:none;
		padding-top:0.2em;
		font-size:90%;
	}


	#sp-menu {
		position:fixed;
		z-index:19800;
		top:1em;
		right:1em;
		height:3em;
		aspect-ratio:1/1;
		display:flex;
		justify-content:center;
		align-items:center;
	}
	#sp-menu .menu-bars ,
	#sp-menu .menu-bars:before ,
	#sp-menu .menu-bars:after {
		position:relative;
		display:block;
		width:2em;
		height:2px;
		background:#fff;
		outline:1px solid #000;
		transition: all 0.5s ease;
	    -webkit-transition: all 0.5s ease;
	}
	#sp-menu .menu-bars:before ,
	#sp-menu .menu-bars:after {
		content:"";
		position:absolute;
		left:0;
		right:0;
	}
	#sp-menu .menu-bars:before {
		top:-0.7em;
	}
	#sp-menu .menu-bars:after {
		bottom:-0.7em;
	}





	/* ==============================================
		sp menu
	=============================================== */
	#header-sp {
		position:fixed;
		top:0;
		left:0;
		right:0;
		z-index:10100;

		height:100vh;

		text-shadow:0 0 0.3em #000,0 0 0.5em #000;
		background:rgba(0,0,0,0.6);
		backdrop-filter:blur(4px);
		overflow:hidden;

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

		transform:translateY(-110%);
	}

	#header-sp > .innerFrame {
		padding:2em;

		display:flex;
		justify-content:center;
		align-items:center;
		flex-direction:column;
	}

	#header-sp .tel .number {
		font-size:200%;
	}
	#header-sp .tel .number small {
		padding-right:0.3em;
		font-size:80%;
	}

	#fixedNav-sp .navMenu {
		display:flex;
		justify-content:center;
		align-items:stretch;
		flex-direction:column;
		text-align:center;
		gap:0.3em;
	}
	#fixedNav-sp .navMenu > li {
	}
	#fixedNav-sp .navMenu > li a {
		display:block;
		padding:0.5em 2em;
	}
	#fixedNav-sp .navMenu > li a img {
		max-width:12em;
	}
	#fixedNav-sp .navMenu > li a > span:nth-child(1) {
		font-size:140%;
	}
	#fixedNav-sp .navMenu > li a > span:nth-child(0) {
		display:none;
	}



	/* ==============================================
		sp menu open
	=============================================== */
	body.menuOpen {
		overflow:hidden;
	}
	body.menuOpen #header-sp {
		transform:translate(-0%);
	}

	body.menuOpen #sp-menu .menu-bars {
		background:transparent;
	}
	body.menuOpen #sp-menu .menu-bars:before {
		top:0;
		transform:rotate(45deg);
	}
	body.menuOpen #sp-menu .menu-bars:after {
		bottom:0;
		transform:rotate(-45deg);
	}



	/* ==============================================
		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: 1.5em 0 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;
		font-size:120%;
		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;
}











