@charset "utf-8";

/********** 【仮】 サイトの定義 **********

使用する文字サイズ：
14px（基本）

空白の使用サイズ：
10px
20px（基本）
40px
60px
80px
120px

*******************************/




/********** ヘッダー領域 **********/

header #region {
	width: 100%;
	height: 192px;

	background-repeat: no-repeat;
	background-position: center center;
}




/********** 上部グローバルメニュー **********/

nav {
	width: 100%;

	/* background: #600060; */

	background-image: linear-gradient(180deg, #d1098e, #600060); /* ← 特例：グラデーション時のみの個別調整済み */
}

nav ul {
	width: 1200px;
	margin: 0 auto;
}

nav ul li {
	display: inline-block;

	position: relative;

	width: calc(1200px / 9);
	height: 57px;
	font-weight: bold;
	text-align: center;

	transition: 0.2s;
}

nav ul li a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;

	line-height: 18px;
	padding: 10px 0;

	color: #fff;
	text-decoration: none;

	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;

	transition: 0.2s;

	text-shadow: -1px -1px 3px rgba(0, 0, 0, 0.6);
}

nav ul li a.yellow {
	animation: pypy 2s ease-out infinite;
	opacity: 1;
}
/* ボタン 縮小＆拡大アニメーションCSS */
@keyframes pypy {
  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
	color: #fff;
  }
  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
	color: #ff0;
  }
}

nav ul li a:hover {
	color: #8e008e;
	background-color: #fff;

	text-shadow: -1px -1px 2px rgba(0, 0, 0, 0.1);
}
nav ul li a.yellow:hover {
	color: #8e008e;
	animation: unset;
}

nav ul li a span {
	font-size: 11px;
	font-weight: normal;
	color: #f315a9;
}
nav ul li a.yellow span {
	color: #f315a9;
}
nav ul li a.yellow:hover span {
	color: #f315a9;
}




/*-- かんたんネット予約ボタン --*/

#fade-character.fade-element {
  position: fixed;
  bottom: 312px; /* ← 元の設定は 435px */
  right: 282px;
  opacity: 0;			/* 初期状態：透明 */
  visibility: hidden;	/* 初期状態：クリックできないようにする */
  transition: all 0.5s;	/* フェード効果の速さ */
  z-index: 999;
}

/* スクロール時にJSで付与するクラス */
#fade-character.fade-element.is-show {
  opacity: 1;			/* 表示状態 */
  visibility: visible;
}


#fade-character.fade-element #reserve_animation {
	position: absolute; /* ← 【注】 この行を消すと、縦揺れのアニメーションが動作しなくなる */
}

#fade-character.fade-element #reserve_animation img {
    position: fixed;
    z-index: 9999;
	width: 130px;
}




/********** メイン画像（枠） **********/

#main_Image {
	width: 100%;
	margin-top: 1px;
}

#main_Image a {

}

#main_Image a img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

#main_Image a img:hover {
	opacity: 1;
}




/*** パンくずリスト ***/

#breadcrumb {
	width: 100%;
	padding: 10px 0;
}

#breadcrumb ul {
	width: 1200px;
	margin: 0 auto;
}

#breadcrumb ul li {
	display: inline-flex;
	font-size: 12px;
}

#breadcrumb ul li::after {
	content: '\f105';
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	color: #999;

	height: 21px;
	line-height: 21px;

	margin: 0 7.5px;
}

#breadcrumb ul li:last-child::after {
	content: '';
}

#breadcrumb ul li a {
	color: #fff;
	text-decoration: none;
}
#breadcrumb ul li a:hover {
	color: #fff;
	text-decoration: underline;
}

#breadcrumb ul li a i {
	line-height: 21px;
	margin-right: 5px;
	color: #999;
}




/*** 中央カラム ***/
main .page {
	padding: 20px 0 120px 0;
}

main .page div.Center {
	display: inline-block;
	width: 762px;
}

main .page div.Center.c1 { /* 1カラムの場合のみ適用 */
	width: 100%;
	padding: 0;
}




/*** サイドカラム（ 左カラム・右カラム 共通CSS ）***/
main .page aside {

}


/*** 左カラム ***/
main .page aside.Left {
	float: left;
	width: 200px;
	margin-right: 19px; /* ← ここを 20px ではなく 19px とすることで、メインとなる中央カラム内部要素幅を 720px にできるため */
}

main .page aside.Left img {
	max-width: 100%;
}

main .page aside.Left .qr {
	margin-top: 20px;
}


/*** 右カラム ***/
main .page aside.Right {
	float: right;
	display: inline-block;
	width: 200px;
}

main .page aside.Right img {
	max-width: 100%;
}

main .page aside.Right .qr {
	margin-top: 20px;
}




/*** section 枠の設定 （ 全ページ共通CSS ） ***/

main .page div.Center div.content section {
	margin-bottom: 20px;
}
main .page div.Center div.content section:last-child {
	margin-bottom: 0;
}

main .page div.Center div.content section h2 {
	margin: 0;
	padding: 15px 20px;
	font-size: 20px;
	color: #fff;
	text-shadow: -1px -1px 3px rgba(0, 0, 0, 0.6);

	border-radius: 6px 6px 0 0;

	background: #8e008e;
	background-image: linear-gradient(180deg, #d1098e, #600060);
}
main .page div.Center.c1 div.content section h2 { /* 1カラムの場合のみ適用 */
	text-align: center;
}

main .page div.Center div.content section h2 i {
	margin-right: 5px;
}

main .page div.Center div.content section .inner {
	padding: 20px;
	background: #000;
	border-bottom: 1px solid #600060;
	border-right: 1px solid #600060;
	border-left: 1px solid #600060;

	/* font-size: 0; ← 有効にすると、2個目以降の <br> による空白行が無効になってしまう */

	border-radius:0 0 6px 6px;
}

main .page div.Center div.content section .inner p.description {
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1px dashed #777;
}
main .page div.Center.c1 div.content section .inner p.description { /* 1カラムの場合のみ適用 */
	text-align: center;
}

main .page div.Center div.content section .inner .item {
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1px dashed #777;
}
main .page div.Center div.content section .inner .item:last-of-type {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}

main .page div.Center div.content section .inner .item div {
	font-size: 0;
}

main .page div.Center div.content section .inner .item h3 {
	height: 26px;
	line-height: 26px;
	margin: 0 0 20px 0;
	padding-left: 10px;
	font-size: 18px;
	text-align: left;
	border-left: 5px solid #8e008e;
}

main .page div.Center div.content section .inner .item p {
	margin-bottom: 20px;
	text-align: left;
}
main .page div.Center div.content section .inner .item p:last-child {
	margin-bottom: 0;
}

main .page div.Center div.content section .inner .item p img {
	width: 100%;
}




/*** テーブル表 （ 全ページ共通CSS ） ***/
main .page div.Center div.content section table {
	width: 100%;
	line-height: 1.5;
	margin-bottom: 20px;
	font-size: 14px;
	color: #000;
	text-align: left;

	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;

	border-collapse: separate;
	border-spacing: 0;
}

main .page div.Center div.content section table th,
main .page div.Center div.content section table td {
	vertical-align: middle;
	padding: 10px 20px;
}

main .page div.Center div.content section table th {
	width: 30%;
	font-weight: normal;
	text-align: center;
	border-top:	1px solid #fff;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	border-left: 1px solid #fff;
	background: #eee;
}

main .page div.Center div.content section table td {
	width: 70%;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	background: #fff;
}




/********** 入場後TOPページ **********/

.free {

}

.free.TopPage {
	margin-bottom: 20px;
}

.free.TopPage.last {
	margin-bottom: 0;
}


main .page div.Center div.content .news.TopPage {
	margin-bottom: 20px;
}

main .page div.Center div.content .news.TopPage section .inner p.title {
	font-size: 20px;
	font-weight: bold;
}


main .page div.Center div.content .event.TopPage {
	margin-bottom: 20px;
}

main .page div.Center div.content .event.TopPage section .inner p.title {
	font-size: 20px;
	font-weight: bold;
}


/*** もっと見るボタン ***/
main .page div.Center div.content .news.TopPage section h2,
main .page div.Center div.content .event.TopPage section h2,
main .page div.Center div.content .schedule.TopPage section h2 {
	position: relative;
}

main .page div.Center div.content section h2 p.more {
	position: absolute;
	top: 14px;
	right: 15px;
	font-size: 14px;
}

main .page div.Center div.content section h2 p.more a {
	padding: 4px 10px;
	color: #666;
	display: block;
	border: 1px solid #c0c0c0;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
	-webkit-border-radius: 4px;
	   -moz-border-radius: 4px;
	        border-radius: 4px;
	text-shadow: 0 1px 0 white;
	text-decoration: none;

	background: #e2e2e2;
	background: -webkit-gradient(linear,left top,left bottom,color-stop(0,#ffffff),color-stop(1,#e2e2e2));
	background: linear-gradient(to bottom,#ffffff 0%,#e2e2e2 100%);

	height: 30px;
	line-height: 20px;
}
main .page div.Center div.content section h2 p.more a:hover {
	text-decoration: none;
	background: #e2e2e2;
	background: -webkit-gradient(linear,left top,left bottom,color-stop(0,#e2e2e2),color-stop(1,#ffffff));
	background: linear-gradient(to bottom,#e2e2e2 0%,#ffffff 100%);
}

main .page div.Center div.content section h2 p.more a i {
	color: #f315a9;
}


/*** ランキング ＋ 本日の出勤 ***/
main .page div.Center div.content .schedule.TopPage {
	margin-bottom: 20px;
}

main .page div.Center div.content .schedule.TopPage section .inner .item #list ul.castList li {
	width: calc(100% / 5 - 32px / 5);
	margin: 0;
	margin-right: 8px;
	margin-bottom: 20px;
}
main .page div.Center div.content .schedule.TopPage section .inner .item #list ul.castList li:nth-child(4n) { /* 打ち消すため */
	margin: 0 8px 20px 0;
}
main .page div.Center div.content .schedule.TopPage section .inner .item #list ul.castList li:nth-child(5n) {
	margin-right: 0;
}

main .page div.Center div.content .schedule.TopPage section .inner .item #list ul.castList li:nth-last-child(-n+5) {
	margin-bottom: 0;
}


/* ランキング（順位表示部分） */
main .page div.Center div.content .ranking.TopPage section .inner .item #list ul.castList li {
	margin-bottom: 0;
}
main .page div.Center div.content .ranking.TopPage section .inner .item #list ul.castList li:nth-child(4n) { /* 打ち消すため */
	margin: 0 8px 0 0;
}

main .page div.Center div.content .ranking.TopPage section .inner .item #list ul.castList li .number {
	margin-bottom: 10px;
}

main .page div.Center div.content .ranking.TopPage section .inner .item #list ul.castList li .number img {
	width: unset;
	height: 30px;
	margin: 0 auto;
}


main .page div.Center div.content .schedule.TopPage section .inner .item #list ul.castList li a {
	position: relative;
}

main .page div.Center div.content .schedule.TopPage section .inner .item #list ul.castList li .photo .waiting {
	padding: 2.5px 10px;
}

main .page div.Center div.content .schedule.TopPage section .inner .item #list ul.castList li .photo .waiting p {
	font-size: 12px;
}


main .page div.Center div.content .schedule.TopPage section .inner .item #list ul.castList li .photo .time {
	position: absolute;
	left: 0;
	bottom: 33px;

	width: 100%;
	margin: 0;
}

main .page div.Center div.content .schedule.TopPage section .inner .item #list ul.castList li .photo .time p {
	margin-bottom: 0;
	font-size: 16px;
	font-weight: bold;
	color: #000;
	text-align: center;

	text-shadow:
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,

		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff;
}

main .page div.Center div.content .schedule.TopPage section .inner .item #list ul.castList li .photo .rank {
	position: absolute;
	left: 0;
	bottom: 0;

	width: calc(100% - 10px);
	margin: 5px;
}

main .page div.Center div.content .schedule.TopPage section .inner .item #list ul.castList li .photo .rank img {
	aspect-ratio: unset;
}
main .page div.Center div.content .schedule.TopPage section .inner .item #list ul.castList li .photo .rank img:hover {
	transform: unset;
}


main .page div.Center div.content .schedule.TopPage section .inner .item #list ul.castList li .details {
	margin: 5px auto;
	padding: 0;
	color: #fff;
}

main .page div.Center div.content .schedule.TopPage section .inner .item #list ul.castList li .details p {
	margin-bottom: 0;
	text-align: center;
	text-shadow: none;

	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
main .page div.Center div.content .schedule.TopPage section .inner .item #list ul.castList li .details p.name_age {
	font-size: 16px;
	font-weight: bold;
}
main .page div.Center div.content .schedule.TopPage section .inner .item #list ul.castList li .details p.size {
	font-size: 12px;
}


main .page div.Center div.content .schedule.TopPage section .inner .item #list ul.castList li  .type {
	width: 100%;
	background:rgba(0,0,0,0.5);
}

main .page div.Center div.content .schedule.TopPage section .inner .item #list ul.castList li .type p {
	display: inline-block;
	width: calc(100% / 2 - 28px / 2);
	line-height: 1.6;
	margin-right: 4px;
	margin-bottom: 4px;
	padding: 3px 6px;
	font-size: 10px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	background: rgba(243,21,169,0.85);
	border-radius: 21px;

	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
main .page div.Center div.content .schedule.TopPage section .inner .item #list ul.castList li .type p:nth-child(2n) {
	margin-right: 0;
}

main .page div.Center div.content .schedule.TopPage section .inner .item #list ul.castList li .type p:nth-last-child(-n+2) {
	margin-bottom: 0;
}




/********** お知らせページ **********/

main .page div.Center div.content .news {

}


main .page div.Center div.content .news section .inner p.date {
	width: calc(100% - 18px);
	padding: 6px 8px;
	color: #fff;
	text-align: center;
	border-radius: 6px;
	border: 1px solid #fff;
}

main .page div.Center div.content .news section .inner p.image {
	width: 100%;
}

main .page div.Center div.content .news section .inner p.image img {
	width: 100%;
}




/********** イベント情報ページ **********/

main .page div.Center div.content .event {

}


main .page div.Center div.content .event section .inner p.date {
	width: calc(100% - 18px);
	padding: 6px 8px;
	color: #fff;
	text-align: center;
	border-radius: 6px;
	border: 1px solid #fff;
}

main .page div.Center div.content .event section .inner p.image {
	width: 100%;
}

main .page div.Center div.content .event section .inner p.image img {
	width: 100%;
}




/********** 在籍キャストページ **********/

main .page div.Center div.content .cast {

}


main .page div.Center div.content .cast section .inner .item #sortArea #sort {
	width: 100%;
	margin-bottom: 20px;
	overflow: hidden;
}
main .page div.Center div.content .cast section .inner .item #sortArea #sort:after {
  display : table;
  clear : both;
  content : '';
}
main .page div.Center div.content .cast section .inner .item #sortArea #sort ul {
	width: 100%;
	margin-right: -20px;
}
main .page div.Center div.content .cast section .inner .item #sortArea #sort ul li {
	border-radius: 8px;
	background: #fff;
	border: 1px solid #8e008e;
	display: inline-block;
	float: left;
	margin-right: 10px;
	margin-bottom: 10px;
	text-align: center;
	padding: 7.5px 0;
	cursor: pointer;
	-webkit-transition: .1s linear;
	-moz-transition: .1s linear;
	-o-transition: .1s linear;
	margin-left:0;
}

/* すべて */
main .page div.Center div.content .cast section .inner .item #sortArea #sort ul li:first-child { width: 100%; margin-right:0; }

/* 体型 */
main .page div.Center div.content .cast section .inner .item #sortArea #sort ul li:nth-child(n+2):nth-child(-n+5) { width:calc(100% / 4 - 38px / 4); }
main .page div.Center div.content .cast section .inner .item #sortArea #sort ul li:nth-child(5) { margin-right:0; }

/* 雰囲気 */
main .page div.Center div.content .cast section .inner .item #sortArea #sort ul li:nth-child(n+6):nth-child(-n+11) { width:calc(100% / 6 - 62px / 6); }
main .page div.Center div.content .cast section .inner .item #sortArea #sort ul li:nth-child(11) { margin-right:0; }

/* 見た目 */
main .page div.Center div.content .cast section .inner .item #sortArea #sort ul li:nth-child(n+12):nth-child(-n+15) { width:calc(100% / 4 - 38px / 4); }
main .page div.Center div.content .cast section .inner .item #sortArea #sort ul li:nth-child(15) { margin-right:0; }

/* 特徴・セールスポイント */
main .page div.Center div.content .cast section .inner .item #sortArea #sort ul li:nth-child(n+16):nth-child(-n+20) { width:calc(100% / 5 - 50px / 5); margin-bottom:0; }
main .page div.Center div.content .cast section .inner .item #sortArea #sort ul li:nth-child(20) { margin-right:0; }


main .page div.Center div.content .cast section .inner .item #sortArea #sort ul li a {
	display: block;
	color:#8e008e;
	text-align: center;
	text-decoration: none;
}

main .page div.Center div.content .cast section .inner .item #sortArea #sort ul li:hover,
main .page div.Center div.content .cast section .inner .item #sortArea #sort ul li.active {
	color:#fff;
	background-color:#8e008e;
}

main .page div.Center div.content .cast section .inner .item #sortArea #sort ul li:hover a,
main .page div.Center div.content .cast section .inner .item #sortArea #sort ul li.active a {
	color:#fff;
}

main .page div.Center div.content .cast section .inner .item #sortArea #sort ul li a i {
	margin-right: 4px;
}


main .page div.Center div.content .cast section .inner .item #sortArea #itemList .list {
	position: relative;
	width: calc(100% / 4 - 12px / 4);
	margin: 20px 4px 0 0;	/* ← 「Shuffle.js」の仕様の関係で、下（margin-bottom）ではなく上（実質：margin-top）にスペースを空けて調整済み */
	padding: 0;
	color: #000;
}
main .page div.Center div.content .cast section .inner .item #sortArea #itemList .list:nth-child(4n) {
	margin: 20px 0 0 0;
}


main .page div.Center div.content .cast section .inner .item #sortArea #itemList .list a {
	/* position: absolute; */

	color: #fff;

	/* z-index: 2; 必要であればリンク要素の重なりのベース順序指定 */
}


main .page div.Center div.content .cast section .inner .item #sortArea #itemList .list .photo {
	max-width: 500px;
	overflow: hidden;
	width: 100%;
}

main .page div.Center div.content .cast section .inner .item #sortArea #itemList .list .photo img {
	width: 100%;
	aspect-ratio: 3 / 4;

	transition: transform .6s ease;	/* ゆっくり変化させる */
}

main .page div.Center div.content .cast section .inner .item #sortArea #itemList .list .photo img:hover {
	opacity: unset;

	transform: scale(1.125); /* 拡大ズーム */
}


main .page div.Center div.content .cast section .inner .item #sortArea #itemList .list .waiting {
	position: absolute;
	top: 0;
	/* left: 0; */

	width: calc(100% - 20px);
	margin: 0;
	padding: 7.5px 10px;
	background: rgba(243,21,169,0.7);
}

main .page div.Center div.content .cast section .inner .item #sortArea #itemList .list .waiting p {
	line-height: 18px;
	font-size: 16px;
	font-weight: bold;
	color: #ffff00;
	text-align: center;

	text-shadow:
		0 0 2px #d1098e,
		0 0 2px #d1098e,
		0 0 2px #d1098e,
		0 0 2px #d1098e,
		0 0 2px #d1098e,
		0 0 2px #d1098e,
		0 0 2px #d1098e,
		0 0 2px #d1098e,
		0 0 2px #d1098e,
		0 0 2px #d1098e;

	animation: BLINK 0.7s ease-in-out infinite alternate;
}
@keyframes BLINK {
	0% { opacity: 1.0; }
	100% { opacity:0; }
}


main .page div.Center div.content .cast section .inner .item #sortArea #itemList .list .data {
	position: absolute;
	left: 0;
	bottom: 0;

	width: 100%;
	margin: 0;
}

main .page div.Center div.content .cast section .inner .item #sortArea #itemList .list .data .details {
	width: calc(100% - 20px);
	padding: 10px;
	color: #000;
}

main .page div.Center div.content .cast section .inner .item #sortArea #itemList .list .data .details p {
	margin-bottom: 0;
	text-align: center;

	text-shadow:
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,

		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff;

	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
main .page div.Center div.content .cast section .inner .item #sortArea #itemList .list .data .details p.name_age {
	font-size: 24px;
}
main .page div.Center div.content .cast section .inner .item #sortArea #itemList .list .data .details p.size {
	font-size: 12px;
}


main .page div.Center div.content .cast section .inner .item #sortArea #itemList .list .data .type {
	width: calc(100% - 20px);
	margin: 0;
	padding: 10px;
	background:rgba(0,0,0,0.5);
}

main .page div.Center div.content .cast section .inner .item #sortArea #itemList .list .data .type ul {

}

main .page div.Center div.content .cast section .inner .item #sortArea #itemList .list .data .type ul li {
	display: inline-block;
	width: calc(100% / 4 - 60px / 4);
	line-height: 1.6;
	margin-right: 4px;
	padding: 3px 6px;
	font-size: 10px;
	font-weight: bold;
	text-align: center;
	background: rgba(243,21,169,0.7);
	border-radius: 21px;

	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
main .page div.Center div.content .cast section .inner .item #sortArea #itemList .list .data .type ul li:last-child {
	margin-right: 0;
}


main .page div.Center div.content .cast section .inner .item #sortArea #itemList .list .data .rank {
	width: calc(100% - 20px);
	margin: 10px;
}

main .page div.Center div.content .cast section .inner .item #sortArea #itemList .list .rank img {
	width: 100%;
}
main .page div.Center div.content .cast section .inner .item #sortArea #itemList .list .rank img:hover { opacity:unset; transition:unset; }



/********** 在籍キャストページ ＞ プロフィール詳細ページ **********/

main .page div.Center div.content .profile {
	font-size: 0;
}


main .page div.Center div.content .profile section .inner {
	font-size: 0;
}


main .page div.Center div.content .profile section .inner h4 { /* プロフィール詳細ページ 共通CSS */
	margin: 0 0 10px 0;

	font-size: 20px;
	font-weight: bold;
}


main .page div.Center div.content .profile section .inner .headline {
	margin-bottom: 40px;
	padding: 20px;
	color: #000;
	background-color: #fff;
	border-radius: 12px;
}

main .page div.Center div.content .profile section .inner .headline .left {
	float: left;
	width: 552px;
}


main .page div.Center div.content .profile section .inner .headline .left .icon {
    position: relative;
	display: inline-block;
	vertical-align: top;
    width: 172px;
    height: 172px;
	margin-right: 20px;
}
main .page div.Center div.content .profile section .inner .headline .left .icon::before {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        z-index: 0; /* 一番下に敷く */
        border-radius: 50%;
        background: linear-gradient(65deg, #8114b0, #ff4291 50%, #f7ff3c);
}
main .page div.Center div.content .profile section .inner .headline .left .icon::after {
        content: "";
        position: absolute;
        width: calc(100% - 8px);
        height: calc(100% - 8px);
        top: 4px;
        left: 4px;
        z-index: 0;  /* グラデーションの上に被せる、かつ表示したいテキストより下にする */
        border-radius: 50%;

		background-size: cover;
		background-position: center center;
		background-repeat: no-repeat;
}

main .page div.Center div.content .profile section .inner .headline .left .icon img {
	width: 100%;
	object-fit: cover;
	border-radius: 50%;
}


main .page div.Center div.content .profile section .inner .headline .left .summary {
	display: inline-block;
	vertical-align: top;
	width: 360px;
}


main .page div.Center div.content .profile section .inner .headline .left .summary h3 {
	margin: 0 0 10px 0;
	font-size: 42px;

	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

main .page div.Center div.content .profile section .inner .headline .left .summary p.appeal {
	margin-bottom: 10px;
	font-size: 20px;
	color: #f315a9;

	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}


main .page div.Center div.content .profile section .inner .headline .left .summary ul.size {
	margin-bottom: 10px;
}

main .page div.Center div.content .profile section .inner .headline .left .summary ul.size li {
	display: inline-block;
	font-size: 16px;
}
main .page div.Center div.content .profile section .inner .headline .left .summary ul.size li::after {
	content: "/";
	margin: 0 5px;
}
main .page div.Center div.content .profile section .inner .headline .left .summary ul.size li:last-child::after {
	content: "";
	margin: 0;
}


main .page div.Center div.content .profile section .inner .headline .left .summary ul.type {

}

main .page div.Center div.content .profile section .inner .headline .left .summary ul.type li {
	display: inline-block;
	width: calc(100% / 4 - 94px / 4);
	line-height: 1.6;
	margin-right: 10px;
	padding: 4.41px 8px;
	font-size: 12px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	background: #f315a9;
	border-radius: 21px;

	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
main .page div.Center div.content .profile section .inner .headline .left .summary ul.type li:last-child {
	margin-right: 0;
}


main .page div.Center div.content .profile section .inner .headline .left .feature ul.type {

}

main .page div.Center div.content .profile section .inner .headline .left .feature ul.type li {

}
main .page div.Center div.content .profile section .inner .headline .left .feature ul.type li:last-child {

}


main .page div.Center div.content .profile section .inner .headline .right {
	float: right;
	width: 526px;
}

main .page div.Center div.content .profile section .inner .headline .right p {
	font-size: 16px;
	text-align: center;
}

main .page div.Center div.content .profile section .inner .headline .right p a {
	font-size: 16px;
	text-align: center;
}

main .page div.Center div.content .profile section .inner .headline .right p.waiting {
	width: 100%;
	margin-bottom: 15px;
	padding: 6.5px 0;
	background: #ffff80;
}

main .page div.Center div.content .profile section .inner .headline .right p.waiting span {
	line-height: 18px;
	font-size: 20px;
	font-weight: bold;
	color: #f315a9;
	text-align: center;

	animation: BLINK 0.7s ease-in-out infinite alternate;
}
@keyframes BLINK {
	0% { opacity: 1.0; }
	100% { opacity:0; }
}

main .page div.Center div.content .profile section .inner .headline .right p.tel {
	margin-bottom: 10px;
	padding: 10px 20px 17px 20px;
	line-height: 48px;
	font-size: 20px;
	border: 4px solid #000;
	border-radius: 53px;
	letter-spacing: 1.5px;
}

main .page div.Center div.content .profile section .inner .headline .right p.tel i {
	vertical-align: sub;
	font-size: 32px;
	color: #f315a9;
}

main .page div.Center div.content .profile section .inner .headline .right p.tel span.underline_Animation {
	position: relative;
	z-index: 1;

	vertical-align: -3px;
	margin: 0 4px;
	padding: 0 4px;

	font-family: Impact;
	font-size: 36px;
	color: #f315a9;

	background: linear-gradient(#ffff77, #ffff77) 0 95%/0 0 no-repeat;
	transition: background 3s;
	text-decoration: none;
}
main .page div.Center div.content .profile section .inner .headline .right p.tel span:after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0%;
  height: 14px;
  background: #ffff77;
  z-index: -1;
  transition: all 1.6s;
}
main .page div.Center div.content .profile section .inner .headline .right p.tel span.isActive:after {
  width: 100%;
}


main .page div.Center div.content .profile section .inner .details {
	width: 100%;
	margin-bottom: 40px;
}



main .page div.Center div.content .profile section .inner .details .photo {
	float: left;
	width: 510px;
}


/* スライダーの幅 */
main .page div.Center div.content .profile section .inner .details .photo .wrapper {
	margin-inline: auto;
	max-width: 510px;
	width: 100%;
}

/* サムネイルの幅を調整 */
main .page div.Center div.content .profile section .inner .details .photo .splide__track--nav > .splide__list > .splide__slide {
	width: 100% !important;
}
main .page div.Center div.content .profile section .inner .details .photo .splide__track--nav > .splide__list > .splide__slide.is-active {
	width: 100% !important;
}

/* サムネイルをグリッド表示 */
main .page div.Center div.content .profile section .inner .details .photo #thumbnail-carousel .splide__list {
	display: grid;
	grid-template-columns: repeat(10, 2fr);
}

/*
* 選択されていないサムネイルは薄くする *
main .page div.Center div.content .profile section .inner .details .photo .splide__slide {
	opacity: .6;
}

* 選択されているサムネイルだけ透過しない *
main .page div.Center div.content .profile section .inner .details .photo .splide__slide.is-active {
	opacity: 1;
}
*/


/* 画像サイズ調整 */
/*
main .page div.Center div.content .profile section .inner .details .photo .splide__slide img {
	width: 100%;
	height: auto;
}
*/

main .page div.Center div.content .profile section .inner .details .photo #main-carousel .splide__slide img {
	width: 510px;
	aspect-ratio: 3 / 4;
	object-fit: contain;
	background: #000;
}

main .page div.Center div.content .profile section .inner .details .photo #thumbnail-carousel li.splide__slide img {
	width: 69px;
	height: 92px;
	object-fit: cover;
}


main .page div.Center div.content .profile section .inner .details .prof {
	float: right;
	width: 628px;
}


main .page div.Center div.content .profile section .inner .details .prof table {
	margin-bottom: 0;
}

main .page div.Center div.content .profile section .inner .details .prof table th {
	width: 32%;
	color: #fff;
	border-top: none;
	border-left: none;
	background: #8e008e;
}

main .page div.Center div.content .profile section .inner .details .prof table td {
	width: 68%;
}


main .page div.Center div.content .profile section .inner .details .prof table td.size ul li {
	display: inline-block;
}
main .page div.Center div.content .profile section .inner .details .prof table td.size ul li::after {
	content: "/";
	margin: 0 5px;
}
main .page div.Center div.content .profile section .inner .details .prof table td.size ul li:last-child::after {
	content: "";
}


main .page div.Center div.content .profile section .inner .details .prof table td .rank {

}

main .page div.Center div.content .profile section .inner .details .prof table td .rank img {
	width: 280px;
}


main .page div.Center div.content .profile section .inner .details .prof table td.possible {
	padding: 10px 20px 5px 20px;
}

main .page div.Center div.content .profile section .inner .details .prof table td.possible ul {

}

main .page div.Center div.content .profile section .inner .details .prof table td.possible ul li {
	display: inline-block;
	margin-right: 5px;
	margin-bottom: 5px;
	padding: 5px 10px;
	font-size: 12px;
	color: #fff;
	border-radius: 30px;
	background: #f315a9;
}

main .page div.Center div.content .profile section .inner .details .prof table td.possible ul li:last-child {
	margin-right: 0;
}


main .page div.Center div.content .profile section .inner .message {
	margin-bottom: 40px;
}

main .page div.Center div.content .profile section .inner .message .cast {
	float: left;
	width: calc(100% / 2 - 20px / 2);
}

@font-face {
font-family:HuiFont109;
src:url('../../fonts/HuiFont109.ttf') format("truetype");
}
main .page div.Center div.content .profile section .inner .message .cast .text {
	line-height: 1.3;

	font-family: 'HuiFont109';
	font-size: 20px;
	font-weight: bold;
	color: #ff66c4;

    border-color: #f315a9 !important;
	scrollbar-color: #f315a9 #e0e0e0;
}

main .page div.Center div.content .profile section .inner .message .shop {
	float: right;
	width: calc(100% / 2 - 20px / 2);
	font-size: 16px;
}

main .page div.Center div.content .profile section .inner .message .shop .text {
	line-height: 1.4;
	color: #000;
    border-color: #8e008e !important;
	scrollbar-color: #8e008e #e0e0e0;
}


main .page div.Center div.content .profile section .inner .message .cast .text,
main .page div.Center div.content .profile section .inner .message .shop .text {
    padding: 20px;
    height: 200px;
    width: calc(100% - 48px);
    margin: 0 auto;
    border: 4px solid;
	background: #fff;
    overflow-y: scroll;
}


main .page div.Center div.content .profile section .inner .schedule {
	margin-bottom: 40px;
}

main .page div.Center div.content .profile section .inner .schedule .fixed-box {

}

main .page div.Center div.content .profile section .inner .schedule .fixed-box table {
	margin-bottom: 0;
}

main .page div.Center div.content .profile section .inner .schedule .fixed-box table th,
main .page div.Center div.content .profile section .inner .schedule .fixed-box table td {
	width: calc(100% / 7);
	padding: 20px;
	font-size: 18px;
	text-align: center;
}

main .page div.Center div.content .profile section .inner .schedule .fixed-box table th {
	font-weight: bold;
}

main .page div.Center div.content .profile section .inner .schedule .fixed-box table th.saturday {
	color: #0000ff;
}
main .page div.Center div.content .profile section .inner .schedule .fixed-box table th.sunday {
	color: #ff0000;
}


main .page div.Center div.content .profile section .inner .reserve {
	width: 526px;
	margin: 0 auto 40px;
}

main .page div.Center div.content .profile section .inner .reserve p {
	font-size: 16px;
	text-align: center;
}

main .page div.Center div.content .profile section .inner .reserve p a {
	font-size: 16px;
	color: #fff;
	text-align: center;
}

main .page div.Center div.content .profile section .inner .reserve p.waiting {
	width: 100%;
	margin-bottom: 20px;
	padding: 10px 0;
}

main .page div.Center div.content .profile section .inner .reserve p.waiting span {
	line-height: 16px;
	font-size: 28px;
	font-weight: bold;
	color: #ffff00;
	text-align: center;

	animation: BLINK 0.7s ease-in-out infinite alternate;
}
@keyframes BLINK {
	0% { opacity: 1.0; }
	100% { opacity:0; }
}

main .page div.Center div.content .profile section .inner .reserve p.tel {
	margin-bottom: 10px;
	padding: 10px 20px;
	line-height: 48px;
	font-size: 20px;
	border: 4px solid #fff;
	border-radius: 53px;
	letter-spacing: 1.5px;
}

main .page div.Center div.content .profile section .inner .reserve p.tel i {
	vertical-align: sub;
	font-size: 32px;
	color: #f315a9;
}

main .page div.Center div.content .profile section .inner .reserve p.tel span {
	position: relative;
	z-index: 1;

	vertical-align: -7px;
	margin: 0 4px;
	padding: 0 4px;

	font-family: Impact;
	font-size: 40px;
	color: #f315a9;
}


main .page div.Center div.content .profile section .inner .similar {
	padding-top: 40px;
	border-top: 1px dashed #777;
}


main .page div.Center div.content .profile section .inner .similar ul {
	margin-bottom: 10px;
}

main .page div.Center div.content .profile section .inner .similar ul li {
	position: relative;
	display: inline-block;
	width: calc(100% / 6 - 20px / 6);
	margin-right: 4px;
	padding: 0;
	color: #000;
}
main .page div.Center div.content .profile section .inner .similar ul li:nth-child(6n) {
	margin-right: 0;
}


main .page div.Center div.content .profile section .inner .similar ul li a {
	/* position: absolute; */

	color: #fff;

	/* z-index: 2; 必要であればリンク要素の重なりのベース順序指定 */
}


main .page div.Center div.content .profile section .inner .similar ul li .photo {
	max-width: 500px;
	overflow: hidden;
	width: 100%;
}

main .page div.Center div.content .profile section .inner .similar ul li .photo img {
	width: 100%;
	aspect-ratio: 3 / 4;

	transition: transform .6s ease;	/* ゆっくり変化させる */
}

main .page div.Center div.content .profile section .inner .similar ul li .photo img:hover {
	opacity: unset;

	transform: scale(1.125); /* 拡大ズーム */
}


main .page div.Center div.content .profile section .inner .similar ul li .waiting {
	position: absolute;
	top: 0;
	/* left: 0; */

	width: calc(100% - 20px);
	margin: 0;
	padding: 7.5px 10px;
	background: rgba(243,21,169,0.7);
}

main .page div.Center div.content .profile section .inner .similar ul li .waiting p {
	line-height: 18px;
	font-size: 16px;
	font-weight: bold;
	color: #ffff00;
	text-align: center;

	text-shadow:
		0 0 2px #d1098e,
		0 0 2px #d1098e,
		0 0 2px #d1098e,
		0 0 2px #d1098e,
		0 0 2px #d1098e,
		0 0 2px #d1098e,
		0 0 2px #d1098e,
		0 0 2px #d1098e,
		0 0 2px #d1098e,
		0 0 2px #d1098e;

	animation: BLINK 0.7s ease-in-out infinite alternate;
}
@keyframes BLINK {
	0% { opacity: 1.0; }
	100% { opacity:0; }
}


main .page div.Center div.content .profile section .inner .similar ul li .data {
	position: absolute;
	left: 0;
	bottom: 0;

	width: 100%;
	margin: 0;
}

main .page div.Center div.content .profile section .inner .similar ul li .data .castDetails {
	width: calc(100% - 20px);
	padding: 10px 10px 0 10px;
	color: #000;
}

main .page div.Center div.content .profile section .inner .similar ul li .data .castDetails p {
	margin-bottom: 0;
	text-align: center;

	text-shadow:
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,

		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff;
}
main .page div.Center div.content .profile section .inner .similar ul li .data .castDetails p.name_age {
	font-size: 24px;
}
main .page div.Center div.content .profile section .inner .similar ul li .data .castDetails p.size {
	font-size: 12px;
}


main .page div.Center div.content .profile section .inner .similar ul li .data .rank {
	width: calc(100% - 20px);
	margin: 0;
	padding: 10px;
}

main .page div.Center div.content .profile section .inner .similar ul li .rank img {
	width: 100%;
}


main .page div.Center div.content .profile section .inner .similar p.addition {
	font-size: 12px;
}




/********** 出勤情報ページ **********/

main .page div.Center div.content .schedule {

}


main .page div.Center div.content .schedule section .inner .item #list #data {
	width: 100%;
	margin-bottom: 20px;
	overflow: hidden;
}
main .page div.Center div.content .schedule section .inner .item #list #data:after {
  display : table;
  clear : both;
  content : '';
}

main .page div.Center div.content .schedule section .inner .item #list #data ul.tabs {
	width: 100%;
	margin-bottom: 20px;
}

main .page div.Center div.content .schedule section .inner .item #list #data ul.tabs li {
	float: left;
	display: inline-block;

	width:calc(100% / 7 - 74px / 7);
	margin-right: 10px;
	margin-left: 0;
	padding: 7.5px 0;

	font-size: 16px;
	text-align: center;

	border: 1px solid;
	border-color: #8e008e;
	background-color:#fff;

	cursor: pointer;
	-webkit-transition: .1s linear;
	-moz-transition: .1s linear;
	-o-transition: .1s linear;
}
main .page div.Center div.content .schedule section .inner .item #list #data ul.tabs li.saturday {
	border-color: #0000ff;
}
main .page div.Center div.content .schedule section .inner .item #list #data ul.tabs li.sunday {
	border-color: #ff0000;
}
main .page div.Center div.content .schedule section .inner .item #list #data ul.tabs li:last-child {
	margin-right: 0;
}

main .page div.Center div.content .schedule section .inner .item #list #data ul.tabs li:hover,
main .page div.Center div.content .schedule section .inner .item #list #data ul.tabs li.active {
	color:#fff;
	background-color:#8e008e;
}
main .page div.Center div.content .schedule section .inner .item #list #data ul.tabs li.saturday:hover,
main .page div.Center div.content .schedule section .inner .item #list #data ul.tabs li.saturday.active {
	background-color: #0000ff;
}
main .page div.Center div.content .schedule section .inner .item #list #data ul.tabs li.sunday:hover,
main .page div.Center div.content .schedule section .inner .item #list #data ul.tabs li.sunday.active {
	background-color: #ff0000;
}

main .page div.Center div.content .schedule section .inner .item #list #data ul.tabs li a {
	display: block;
	color: #8e008e;
	text-align: center;
	text-decoration: none;
}
main .page div.Center div.content .schedule section .inner .item #list #data ul.tabs li.saturday a {
	color: #0000ff;
}
main .page div.Center div.content .schedule section .inner .item #list #data ul.tabs li.sunday a {
	color: #ff0000;
}

main .page div.Center div.content .schedule section .inner .item #list #data ul.tabs li:hover a,
main .page div.Center div.content .schedule section .inner .item #list #data ul.tabs li.active a {
	color:#fff;
}

/*
main .page div.Center div.content .schedule section .inner .item #list #data ul.tabs li a i {
	margin-right: 4px;
}
*/


main .page div.Center div.content .schedule section .inner .item #list ul.castList li {
	position: relative;
	display: inline-block;
	width: calc(100% / 4 - 12px / 4);
	margin: 20px 4px 0 0;
	padding: 0;
	color: #000;
}
main .page div.Center div.content .schedule section .inner .item #list ul.castList li:nth-child(4n) {
	margin: 20px 0 0 0;
}


main .page div.Center div.content .schedule section .inner .item #list ul.castList li a {
	/* position: absolute; */

	color: #fff;

	/* z-index: 2; 必要であればリンク要素の重なりのベース順序指定 */
}


main .page div.Center div.content .schedule section .inner .item #list ul.castList li .photo {
	max-width: 500px;
	overflow: hidden;
	width: 100%;
}

main .page div.Center div.content .schedule section .inner .item #list ul.castList li .photo img {
	width: 100%;
	aspect-ratio: 3 / 4;

	transition: transform .6s ease;	/* ゆっくり変化させる */
}

main .page div.Center div.content .schedule section .inner .item #list ul.castList li .photo img:hover {
	opacity: unset;

	transform: scale(1.125); /* 拡大ズーム */
}


main .page div.Center div.content .schedule section .inner .item #list ul.castList li .waiting {
	position: absolute;
	top: 0;
	/* left: 0; */

	width: calc(100% - 20px);
	margin: 0;
	padding: 7.5px 10px;
	background: rgba(243,21,169,0.7);
}

main .page div.Center div.content .schedule section .inner .item #list ul.castList li .waiting p {
	line-height: 18px;
	font-size: 16px;
	font-weight: bold;
	color: #ffff00;
	text-align: center;

	text-shadow:
		0 0 2px #d1098e,
		0 0 2px #d1098e,
		0 0 2px #d1098e,
		0 0 2px #d1098e,
		0 0 2px #d1098e,
		0 0 2px #d1098e,
		0 0 2px #d1098e,
		0 0 2px #d1098e,
		0 0 2px #d1098e,
		0 0 2px #d1098e;

	animation: BLINK 0.7s ease-in-out infinite alternate;
}
@keyframes BLINK {
	0% { opacity: 1.0; }
	100% { opacity:0; }
}


main .page div.Center div.content .schedule section .inner .item #list ul.castList li .data {
	position: absolute;
	left: 0;
	bottom: 0;

	width: 100%;
	margin: 0;
}

main .page div.Center div.content .schedule section .inner .item #list ul.castList li .data .details {
	width: calc(100% - 20px);
	padding: 10px;
	color: #000;
}

main .page div.Center div.content .schedule section .inner .item #list ul.castList li .data .details p {
	margin-bottom: 0;
	text-align: center;

	text-shadow:
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,

		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff,
		0 0 2px #fff;
}
main .page div.Center div.content .schedule section .inner .item #list ul.castList li .data .details p.name_age {
	font-size: 24px;
}
main .page div.Center div.content .schedule section .inner .item #list ul.castList li .data .details p.size {
	font-size: 12px;
}


main .page div.Center div.content .schedule section .inner .item #list ul.castList li .data .type {
	width: calc(100% - 20px);
	margin: 0;
	padding: 10px;
	background:rgba(0,0,0,0.5);
}

main .page div.Center div.content .schedule section .inner .item #list ul.castList li .data .type p {
	display: inline-block;
	width: calc(100% / 4 - 60px / 4);
	line-height: 1.6;
	margin-right: 4px;
	margin-bottom: 0;
	padding: 3px 6px;
	font-size: 10px;
	font-weight: bold;
	text-align: center;
	background: rgba(243,21,169,0.7);
	border-radius: 21px;

	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
main .page div.Center div.content .schedule section .inner .item #list ul.castList li .data .type p:last-child {
	margin-right: 0;
}


main .page div.Center div.content .schedule section .inner .item #list ul.castList li .data .rank {
	width: calc(100% - 20px);
	margin: 10px;
}

main .page div.Center div.content .schedule section .inner .item #list ul.castList li .rank img {
	width: 100%;
}
main .page div.Center div.content .schedule section .inner .item #list ul.castList li .rank img:hover { opacity:unset; transition:unset; }


/* 店休日メッセージ */
main .page div.Center div.content .schedule section .inner .item #list p.holiday {
	font-size: 16px;
	text-align: center;
}




/********** 今スグ遊べる女の子ページ **********/

main .page div.Center div.content .nowgirl {

}

main .page div.Center div.content .nowgirl section .inner .item #list ul.castList li {
	margin: 0;
	margin-right: 4px;
	margin-bottom: 20px;
}
main .page div.Center div.content .nowgirl section .inner .item #list ul.castList li:nth-child(4n) {
	margin: 0;
	margin-right: 0;
	margin-bottom: 20px;
}
main .page div.Center div.content .nowgirl section .inner .item #list ul.castList li:nth-last-child(-n+4) {
	margin-bottom: 0;
}




/********** 料金システムページ **********/

main .page div.Center div.content .system {

}


main .page div.Center div.content .system section#course .inner .item table.basic th {
	width: 35%;
}

main .page div.Center div.content .system section#course .inner .item table.basic th img {
	width: 100%;
	margin-top: 5px;
}

main .page div.Center div.content .system section#course .inner .item table.basic td {
	width: 65%;
}


main .page div.Center div.content .system section#course .inner .item table.course {
	margin-top: 20px;

	border-top: none;
	border-left: none;

	border-radius: 12px;

	background: #fff;
}

main .page div.Center div.content .system section#course .inner .item table.course th {
	width: 30%;

	border-top: none;
	border-right: none;
	border-bottom: none;
	border-left: none;

	background: unset;
}

main .page div.Center div.content .system section#course .inner .item table.course th span {
	vertical-align: -3px;
	margin-right: 3px;
	font-family: Impact;
	font-size: 36px;
	color: #8e008e;
}

main .page div.Center div.content .system section#course .inner .item table.course td {
	width: 35%;

	text-align: center;

	border-right: none;
	border-bottom: none;

	background: unset;
}



/* Reset
*:before, *:after { content: ''; }
*/

hr {
  border: 0;
  margin: 1.35em auto;
  max-width: 100%;
  background-position: 50%;
  box-sizing: border-box;
}


main .page div.Center div.content .system section#course .inner .item table.course td hr {
	width: 100%;

	border-width: 0 0 8px;
	border-style: solid;
	border-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 1"><circle fill="hsla(0, 0%, 65%, 1.0)" cx="1" cy="0.5" r="0.5"/></svg>') 0 0 100% repeat;
}


main .page div.Center div.content .system section#course .inner .item table.course td span {
	vertical-align: -3px;
	margin-right: 3px;
	font-family: Impact;
	font-size: 36px;
	color: #8e008e;
}


main .page div.Center div.content .system section#course .inner .item table.other th {
	width: 50%;
}

main .page div.Center div.content .system section#course .inner .item table.other td {
	width: 50%;
}


main .page div.Center div.content .system section#option .inner .item table th {
	width: 50%;
}

main .page div.Center div.content .system section#option .inner .item table th a {
	color: #000;
}

main .page div.Center div.content .system section#option .inner .item table th a i {
	margin-right: 4px;
}

main .page div.Center div.content .system section#option .inner .item table td {
	width: 50%;
}


main .page div.Center div.content .system section#transfer .inner p.image {
	margin-bottom: 20px;
}

main .page div.Center div.content .system section#transfer .inner p.image img {
	width: 100%;
}

main .page div.Center div.content .system section#transfer .inner .item table {

}

main .page div.Center div.content .system section#transfer .inner .item table th,
main .page div.Center div.content .system section#transfer .inner .item table td {
	padding: 20px;
}

main .page div.Center div.content .system section#transfer .inner .item table th {
	width: 75%;
	text-align: left;

	background: #fff;
}

main .page div.Center div.content .system section#transfer .inner .item table td {
	width: 25%;
	text-align: center;

	color: #fff;
	background: #8e008e;

}



/********** ホテル一覧ページ **********/

main .page div.Center div.content .hotel {

}


main .page div.Center div.content .hotel section .inner .item #sortArea #sort {
	width: 100%;
	margin-bottom: 0;
	overflow: hidden;
}
main .page div.Center div.content .hotel section .inner .item #sortArea #sort:after {
  display : table;
  clear : both;
  content : '';
}
main .page div.Center div.content .hotel section .inner .item #sortArea #sort ul {
	width: 100%;
	margin-right: -20px;
}
main .page div.Center div.content .hotel section .inner .item #sortArea #sort ul li {
	border-radius: 8px;
	background: #fff;
	border: 1px solid #8e008e;
	display: inline-block;
	float: left;
	margin-right: 20px;
	margin-bottom: 20px;
	width: calc(100% / 5 - 90px / 5);
	text-align: center;
	padding: 10px 0;
	cursor: pointer;
	-webkit-transition: .1s linear;
	-moz-transition: .1s linear;
	-o-transition: .1s linear;
	margin-left:0;
}
main .page div.Center div.content .hotel section .inner .item #sortArea #sort ul li:nth-child(5n) {
	margin-right: 0;
}

main .page div.Center div.content .hotel section .inner .item #sortArea #sort ul li a {
	display: block;
	color:#8e008e;
	text-align: center;
	text-decoration: none;
}

main .page div.Center div.content .hotel section .inner .item #sortArea #sort ul li:hover,
main .page div.Center div.content .hotel section .inner .item #sortArea #sort ul li.active {
	color:#fff;
	background-color:#8e008e;
}

main .page div.Center div.content .hotel section .inner .item #sortArea #sort ul li:hover a,
main .page div.Center div.content .hotel section .inner .item #sortArea #sort ul li.active a {
	color:#fff;
}

main .page div.Center div.content .hotel section .inner .item #sortArea #sort ul li a i {
	margin-right: 5px;
}


main .page div.Center div.content .hotel section .inner .item #sortArea #itemList .list {
	position: relative;
	width: calc(100% / 3 - 106px / 3);
	margin: 20px 20px 0 0;
	padding: 10px;
	color: #000;
	border: 1px solid #ccc;
	background: #fff;
}
main .page div.Center div.content .hotel section .inner .item #sortArea #itemList .list:nth-child(3n) {
	margin: 20px 0 0 0;
}


main .page div.Center div.content .hotel section .inner .item #sortArea #itemList .list div p {
	margin: 0;
}

main .page div.Center div.content .hotel section .inner .item #sortArea #itemList .list div p.title {
	display: inline-block;
	vertical-align: middle;
	margin-right: 4px;
	padding: 3px 4px;
	font-size: 10px;
	color: #8e008e;
	border: 1px solid #8e008e;
}

main .page div.Center div.content .hotel section .inner .item #sortArea #itemList .list div p.detail {
	display: inline-block;
	vertical-align: middle;

	height: 25px;
	line-height: 25px;

	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}


main .page div.Center div.content .hotel section .inner .item #sortArea #itemList .list .headline {
	margin-bottom: 5px;
}

main .page div.Center div.content .hotel section .inner .item #sortArea #itemList .list .headline .area_type {
	float: left;
	height: 22px;
	line-height: 22px;

	font-size: 0;
}
main .page div.Center div.content .hotel section .inner .item #sortArea #itemList .list .headline .area_type p {
	display: inline-block;
	margin-bottom: 0;
	font-size: 12px;
}

main .page div.Center div.content .hotel section .inner .item #sortArea #itemList .list .headline .area_type p::after {
    content: "/";
	margin: 0 5px;
}

main .page div.Center div.content .hotel section .inner .item #sortArea #itemList .list .headline .area_type p:last-child::after {
    content: "";
}


main .page div.Center div.content .hotel section .inner .item #sortArea #itemList .list .headline .midnight {
	float: right;

	padding: 3px 6px;

	background: #ffff00;
}

main .page div.Center div.content .hotel section .inner .item #sortArea #itemList .list .headline .midnight p {
	margin-bottom: 0;
	font-size: 11px;
	font-weight: bold;
	color: #ff0000;
	text-align: center;
}


main .page div.Center div.content .hotel section .inner .item #sortArea #itemList .list .name {
	margin: 0 0 10px 0;
	padding: 0 0 10px 0;
	border-bottom: 1px solid #ccc;
}

main .page div.Center div.content .hotel section .inner .item #sortArea #itemList .list .name h3 {
	height: unset;
	line-height: unset;
	border-left: none;

	margin: 0;
	padding: 0;
	font-size: 16px;
	font-weight: 900;

	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

main .page div.Center div.content .hotel section .inner .item #sortArea #itemList .list .address {
	margin-bottom: 10px;
}

main .page div.Center div.content .hotel section .inner .item #sortArea #itemList .list .address p.detail {
	width: calc(100% - 44px);
}

main .page div.Center div.content .hotel section .inner .item #sortArea #itemList .list .address p.detail a {
	color: #000;
	text-decoration: underline;
}
main .page div.Center div.content .hotel section .inner .item #sortArea #itemList .list .address p.detail a:hover {
	color: #000;
	text-decoration: none;
}

main .page div.Center div.content .hotel section .inner .item #sortArea #itemList .list .tel {
	margin-bottom: 10px;
}

main .page div.Center div.content .hotel section .inner .item #sortArea #itemList .list .tel p.detail {
	width: calc(100% - 66px);
}

main .page div.Center div.content .hotel section .inner .item #sortArea #itemList .list .price {

}

main .page div.Center div.content .hotel section .inner .item #sortArea #itemList .list .price .rest {
	display: inline-block;
	margin-right: 8px;
}
main .page div.Center div.content .hotel section .inner .item #sortArea #itemList .list .price .rest:last-child {
	margin-right: 0;
}

main .page div.Center div.content .hotel section .inner .item #sortArea #itemList .list .price .rest p.detail span {
	margin-left: 1px;
	font-size: 10px;
}


main .page div.Center div.content .hotel section .inner .item .caution {
	margin-top: 20px;
}

main .page div.Center div.content .hotel section .inner .item .caution p {
	margin-bottom: 0;
}




/********** 求人情報ページ **********/

/*** ※ 最終的には「女性求人」と「男性募集」のページを分ける可能性あり？ ※ ***/

main .page div.Center div.content .recruit {

}

main .page div.Center div.content .recruit section .inner .image {
	margin-bottom: 20px;
}

main .page div.Center div.content .recruit section .inner .image img {
	width: 100%;
}


main .page div.Center div.content .recruit section .inner .item table th {
	width: 20%;
}

main .page div.Center div.content .recruit section .inner .item table td {
	width: 80%;
}

main .page div.Center div.content .recruit section .inner .item table td i {
	margin-right: 5px;
}

main .page div.Center div.content .recruit section .inner .item table td span {
	font-size: 12px;
}
main .page div.Center div.content .recruit section .inner .item table td span::before {
	content: "※";
}




/********** 店舗情報ページ **********/

main .page div.Center div.content .about {

}


main .page div.Center div.content .about section .inner .item table {
	margin: 0;
}

main .page div.Center div.content .about section .inner .item table th,
main .page div.Center div.content .about section .inner .item table td {
	padding: 20px;
}

main .page div.Center div.content .about section .inner .item table th {
	width: 26%;
}

main .page div.Center div.content .about section .inner .item table td {
	width: 74%;
}

main .page div.Center div.content .about section .inner .item table td font {
	font-size: 12px;
}


/*
main .page div.Center div.content .about section .inner .item table td .link_btn {
	position: relative;

	width: 124px;
	height: 20px;
	line-height: 20px;
	margin: 5px 0 0 0;
	padding: 5px 10px;
	font-size: 12px;
	text-align: center;

	background-color: #8e008e;
	border: 1px solid #8e008e;
	border-radius: 40px;

	transition: 0.2s;
}

main .page div.Center div.content .about section .inner .item table td .link_btn:hover {
	background-color: #fff;
}

main .page div.Center div.content .about section .inner .item table td .link_btn:last-child {
	margin-bottom: 0;
}

main .page div.Center div.content .about section .inner .item table td .link_btn a {
	display: block;

	position: absolute;
	top: 0;
	left: 0;
	width: 124px;

	padding: 5px 10px;
	color: #fff;
	text-decoration: none;

	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

main .page div.Center div.content .about section .inner .item table td .link_btn a:hover {
	color: #8e008e;
}
*/




/********** 個人情報保護方針ページ **********/

main .page div.Center div.content .privacy {

}


main .page div.Center div.content .privacy section .inner .item table {
	margin-top: 20px;
}

main .page div.Center div.content .privacy section .inner .item table th {
	width: 28%;
}

main .page div.Center div.content .privacy section .inner .item table td {
	width: 72%;
}




/********** サイトマップページ **********/

main .page div.Center div.content .sitemap {

}

main .page div.Center div.content .sitemap section .inner ul {
	padding-left: 20px;
}

main .page div.Center div.content .sitemap section .inner ul li {
	margin-bottom: 10px;
	list-style-type: disc;
}
main .page div.Center div.content .sitemap section .inner ul li:last-child {
	margin-bottom: 0;
}

main .page div.Center div.content .sitemap section .inner ul li a {
	color: #fff;
}

main .page div.Center div.content .sitemap section .inner ul li ol {
	margin-top: 10px;
}

main .page div.Center div.content .sitemap section .inner ul li ol li {
	margin-bottom: 10px;
	list-style-type: circle;
}
main .page div.Center div.content .sitemap section .inner ul li ol li:last-child {
	margin-bottom: 0;
}

main .page div.Center div.content .sitemap section .inner ul li ol li a {
	color: #fff;
}



/********** リンクページ **********/

main .page div.Center div.content .link {

}


main .page div.Center div.content .link section .inner p span {
	font-weight: bold;
	border-bottom: 1px solid #fff;
}


/*** 相互リンク用バナー表示枠 ***/
main .page div.Center div.content .link section .inner ul.banner {
	margin-bottom: 20px;
}

main .page div.Center div.content .link section .inner ul.banner li {
	margin-bottom: 20px;
}
main .page div.Center div.content .link section .inner ul.banner li:last-child {
	margin-bottom: 0;
}

main .page div.Center div.content .link section .inner ul.banner li p {
	font-weight: bold;
}
main .page div.Center div.content .link section .inner ul.banner li p:first-child {
	margin-bottom: 5px;
}

main .page div.Center div.content .link section .inner ul.banner li p img {
	max-width: 100%;
}
main .page div.Center div.content .link section .inner ul.banner li p img.w300 {
	max-width: 300px;
}


/*** おすすめサイト表示枠 ***/
main .page div.Center div.content .link section#free .inner {
	padding: 20px 20px 0 20px;
}

main .page div.Center div.content .link section#free .inner ul.freeHTML li {
	display: inline-block;
	vertical-align: top;
	margin: 0 20px 20px 0;

	font-size: 12px;

	overflow: hidden; /* ← 分裂型バナーの場合も、崩れない（縦幅を超えない）ようにするための対処 */
}


/*** 風俗情報サイト表示枠・求人情報サイト表示枠 ***/
main .page div.Center div.content .link section .inner ul.Size88x31 li {
	display: inline-block;
	vertical-align: top;
	width: 88px;
	height: 31px;
	margin-right: 17px;
	margin-bottom: 17px;
}
main .page div.Center div.content .link section .inner ul.Size88x31 li:nth-child(7n) {
	margin-right: 0;
}
main .page div.Center div.content .link section .inner ul.Size88x31 li:nth-last-child(-n+7) {
	margin-bottom: 0;
}

main .page div.Center div.content .link section .inner ul.Size88x31 li img {
	width: 100%;
}




/*** キャスト写真スライド無限ループ表示 ***/
.scroll-infinity {
	margin-bottom: 20px;
}

.scroll-infinity__wrap {
	display: flex;
	overflow: hidden;
}

.scroll-infinity__list {
	display: flex;
	list-style: none;
	padding: 0
}

.scroll-infinity__list--left {
	animation: infinity-scroll-left 80s infinite linear 0.5s both;
}
@keyframes infinity-scroll-left {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-100%);
	}
}

.scroll-infinity__item {
	width: 200px;
}

.scroll-infinity__item img {
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
}


/*** hoverするとアニメーションが一時停止 （ 検討中・現在は OFF ） ***
.scroll-infinity__wrap:hover .scroll-infinity__list--left {
  animation-play-state: paused;
}
*/




/********** フッター領域全体 **********/

footer .f_top .f_details .menuLink {
	display: block;
	width: 791px;
	margin-bottom: 10px;
}

footer .f_top .f_details .menuLink ul {
	margin-bottom: 7px; /* 右端のロゴ（高さ45px）と、高さを合わせるため */
}

footer .f_top .f_details .menuLink ul:last-child {
	margin-bottom: 0;
}

footer .f_top .f_details .menuLink ul li {
	display: inline-block;
	font-size: 12px;
}

footer .f_top .f_details .menuLink ul li::after {
    content: "｜";
    color: #777;
}

footer .f_top .f_details .menuLink ul li:last-child::after {
    content: "";
}

footer .f_top .f_details .menuLink ul li a {
	color: #fff;
}
footer .f_top .f_details .menuLink ul li a:hover {
	color: #fff;
}


footer .f_top .f_logo {
	float: right;
}

footer .f_top .f_logo img {
	height: 130px;
}

footer .f_top .f_logo a img:hover { opacity:unset; transition:unset; }




/*** 外部ウィジェット（lightbox）に対する強制適用 ***/

.lb-data .lb-details {
	position: relative !important;
	top: 8px !important;
	text-align: center !important;
}

.lb-data .lb-caption {
	font-size: 16px !important;
}

.lb-data .lb-close {
	position: relative !important;
	top: 8px !important;
}