/*------------------------------------------------------------------------------
 カバーガール
 ------------------------------------------------------------------------------*/
.coverGirl {
	margin: 0 0 25px;
	--height: 330px;
}
.coverGirl > .title {
	text-align: right;
	display: block;
}
.coverGirl > .more {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	height: 30px;
	padding-right: 10px;
	background: url(/common/image/top/covergirl-link.png) no-repeat center / 100%;
}

/* main */
.coverGirl .main {
	display: flex;
	width: 690px;
	border: 1px solid #EEE;
}

/* pager
------------------------------------------------------------------------------*/
.coverGirl .pager {
	position: relative;
	flex: 0 0 25px;
	min-width: 0;
	height: var(--height);
	background: #F1F1F1;
}
.coverGirl .pager.prev {
	border-right: 1px solid #EEE;
}
.coverGirl .pager.next {
	border-left: 1px solid #EEE;
}
.coverGirl .pager:after {
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	content: '';
	display: block;
	width: 15px;
	height: 15px;
	border-top: 3px solid #CCC;
	border-right: 3px solid #CCC;
}
.coverGirl .pager.prev:after {
	left: 8px;
	transform: rotate(-135deg);
}
.coverGirl .pager.next:after {
	right: 8px;
	transform: rotate(45deg);
}
.coverGirl .pager:hover {
	background: #F1F1F1AA;
}
.coverGirl .pager:hover:after {
	border-color: #FF3860;
}

/* holder
------------------------------------------------------------------------------*/
.coverGirl .holder {
	overflow: hidden;
	position: relative;
	width: 640px;
	min-width: 0;
	height: var(--height);
}

/* items */
.coverGirl .items {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	width: 100%;
}
.coverGirl .item {
	width: 640px;
	height: var(--height);
	min-width: 0; /* ※ */
}
.coverGirl .mask {
	display: none;
}
.coverGirl .body {
	display: flex;
}

/* dataItem
------------------------------------------------------------------------------*/
.coverGirl .dataItem {
	flex: 0 0 200px;
	min-width: 0;
	color: #333
}
.coverGirl .datas {
	overflow: hidden;
	height: var(--height);
}
.coverGirl .datas .logo {
	display: block;
	width: 180px;
	margin: 10px auto 0;
}
.coverGirl .datas .logo img {
	display: block;
	width: 100%;
}
.coverGirl .datas .shop {
	display: inline-block;
	line-height: 1.4;
	margin: 7px 15px 0;
}
.coverGirl .datas .work {
	margin: 5px 15px 0;
}
.coverGirl .datas .tel {
	margin: 5px 15px 0;
}
.coverGirl .datas p.data {
	margin: 10px 5px 0;
	padding-left: 5px;
	font-family: 'Times New Roman';
	color: #666;
	border-bottom: 1px solid #CCC;
}
.coverGirl .datas .girl {
	display: flex;
	align-items: center;
	margin: 7px 15px 0;
}
.coverGirl .datas .girl .name {
	font-size: 108%;
	font-weight: bold;
	color: deeppink;
}
.coverGirl .datas .girl .age {
	margin-left: 5px;
}
.coverGirl .datas .pr {
	line-height: 1.4;
	margin: 7px 15px 0;
	color: #AF0000;
}
.coverGirl .datas .size {
	margin: 7px 15px 0;
}
.coverGirl .datas .type {
	margin: 7px 15px 0;
	font-size: 92%;
	color: #C09;
}

/* gpIcons */
.coverGirl .datas .gpIcons {
	margin: 7px 10px 0;
}
.coverGirl .datas .gpIcons > * {
	flex: 0 0 calc((100% - 2px) / 3) !important;
	width: 62px !important;
}

/* photoItem
------------------------------------------------------------------------------*/
.coverGirl .photoItem {
	flex: 0 0 440px;
	min-width: 0;
	overflow: hidden;
}
.coverGirl .photos {
	display: flex;
}
.coverGirl .photos .photo {
	flex: 0 0 50%;
	height: var(--height);
}

/*------------------------------------------------------------------------------
 激押しNEW FACE
 ------------------------------------------------------------------------------*/
.topOption {
	margin: 15px 0;
}

/* heading */
.topOption .heading {
	position: relative;
}
.topOption .heading h3 {
	font-size: 1em;
	color: #FFF;
}
.topOption .heading h3 img {
	display: block;
	width: 100%;
}
.topOption .heading span {
	position: absolute;
	bottom: 22px;
	right: 15px;
}
.topOption .heading span a {
	color: #FFF;
	text-decoration: underline;
}
.topOption .heading span a:hover {
	color: yellow;
}

/* list */
.topOption .list {
	display: flex;
	gap: 8px;
	padding: 8px;
	background: #F0F3FB;
}
.topOption .box {
	flex: 0 0 calc((100% - 32px) / 5);
	min-width: 0;
	text-align: center;
}
.topOption .photo a {
	overflow: hidden;
	position: relative;
	display: block;
	width: 100%;
	height: 0;
	padding-top: 150%;
}
.topOption .photo a img {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.topOption .girl {
	margin: 5px 0;
}
.topOption .girl .name {
	font-weight: bold;
	text-decoration: underline;
}
.topOption .girl .age {
	margin-left: 3px;
}
.topOption .shop {
	margin: 5px 0;
}
.topOption .shop .name {
	text-decoration: underline;
}
.topOption .sample {
	text-align: center;
	color: #555;
}
.topOption .sample span {
	display: block;
	margin: 5px 0;
}

/*------------------------------------------------------------------------------
 見出し
 ------------------------------------------------------------------------------*/
.topHeading {
	display: flex;
	align-items: center;
	min-height: 40px;
	margin: 20px 0 10px;
	padding: 0 15px;
}
.topHeading h3 {
	font-size: 18px;
	font-weight: bold;
	color: #FFF;
}
.topHeading span {
	margin-left: auto;
}
.topHeading span a {
	color: #FFF;
}
.topHeading._waiting {
	margin-bottom: 0;
	background-image: linear-gradient(#FF1493BB 0%, #FF1493 100%);
}
.topHeading._ichioshi {
	background-image: linear-gradient(#EC3534BB 0%, #EC3534 100%);
}
.topHeading._diarys {
	background-image: linear-gradient(#FF0066BB 0%, #FF0066 100%);
}
.topHeading._ranking {
	margin: 0;
	background-image: linear-gradient(#FEB001BB 0%, #FEB001 100%);
}
.topHeading._ranking h3 {
	font-size: 16px;
}

/*------------------------------------------------------------------------------
 出勤パンチラ動画
 ------------------------------------------------------------------------------*/
.topSmovie {
	display: flex;
	gap: 10px;
	padding: 10px;
	background: #000;
}
.topSmovie .item {
	text-align: center;
	flex: 0 0 calc((100% - 40px) / 5);
	min-width: 0;
	color: #FFF;
}
.topSmovie .playHolder {
	display: block;
	position: relative;
	display: block;
	width: 100%;
	height: 0;
	padding-top: 100%;
}
.topSmovie .playHolder img:not(.playIcon) {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.topSmovie .playIcon {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: block;
	width: 25%;
	opacity: 0.8;
}
.topSmovie .nowWorking {
	position: absolute;
	bottom: 0px;
	left: 0px;
	display: grid;
	place-items: center;
	width: 100%;
	height: 20px;
	font-size: 13px;
	color: #FFF;
	background: rgba(255,34,106,0.6);
}
.topSmovie .shop {
	margin: 5px 0;
}
.topSmovie .shop a {
	color: gold;
}
.topSmovie .girl {
	margin: 5px 0;
}
.topSmovie .girl a {
	color: #FFF;
	text-decoration: none;
}
.topSmovie .girl span {
	margin-left: 3px;
}

/*------------------------------------------------------------------------------
 待機ガール
 ------------------------------------------------------------------------------*/
.topWaiting {
	padding: 10px;
	background: #000;
}

/*------------------------------------------------------------------------------
 イチオシの女の子
 ------------------------------------------------------------------------------*/
.topIchioshi {
	display: flex;
	gap: 10px;
	margin: 10px 0 20px;
}
.topIchioshi li {
	flex: 0 0 calc((100% - 20px) / 3);
	min-width: 0;
	display: flex;
}
.topIchioshi li:nth-last-child(1),
.topIchioshi li:nth-last-child(2):nth-child(2n+1) {
	border-bottom: 0;
}

/* photo */
.topIchioshi .photo {
	flex: 0 0 60px;
}
.topIchioshi .photo a {
	overflow: hidden;
	position: relative;
	display: block;
	width: 60px;
	height: 90px;
}
.topIchioshi .photo a img {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.topIchioshi .photo a:hover {
	opacity: 0.8;
}

/* datas */
.topIchioshi .datas {
	flex: 1;
	min-width: 0;
	margin-left: 2px;
	padding: 5px;
	display: flex;
	flex-direction: column;
	background: #FAD6EEAA;
}
.topIchioshi .girl {
	overflow: hidden;
	white-space: nowrap;
}
.topIchioshi .girl strong {
	font-weight: normal;
	font-size: 13px;
}
.topIchioshi .shop {
	overflow: hidden;
	margin: 4px 0 0;
	font-size: 12px;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.topIchioshi .mssg {
	flex: 1;
	min-height: 0;
	margin: 5px 0 0;
}
.topIchioshi .mssg p {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	line-height: 1.4;
	font-size: 12px;
}
.topIchioshi .mssg a {
	display: block;
	text-align: right;
}

/*------------------------------------------------------------------------------
 最新写メ日記
 ------------------------------------------------------------------------------*/
.topDiarys {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 10px 0 20px;
}
.topDiarys .box {
	flex: 0 0 calc((100% - 20px) / 3);
	min-width: 0;
	display: flex;
}

/* photo */
.topDiarys .photo {
	flex: 0 0 60px;
}
.topDiarys .photo .wrap {
	overflow: hidden;
	position: relative;
	display: block;
	width: 60px;
	height: 90px;
}
.topDiarys .photo .wrap img {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.topDiarys .photo a.wrap:hover {
	opacity: 0.8;
}

/* datas */
.topDiarys .datas {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 3px;
	margin-left: 2px;
	padding: 5px;
	font-size: 12px;
	background: #FEDEE9;
}
.topDiarys .content p {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	line-height: 1.4;
	font-size: 12px;
	overflow-wrap: break-word;
	word-break: break-all;
}

/*------------------------------------------------------------------------------
 コスプレ
 ------------------------------------------------------------------------------*/
.cospBox {
	margin: 20px 0;
	background: #000 url(/common/image/top/cosplay-bg.png) no-repeat center / 100%;
	border: 2px solid #FFF;
	border-radius: 8px;
}
.cospBox h3 {
	text-align: center;
	padding: 10px 0 0;
}
.cospBox h3 img {
	height: 20px;
}
.cospBox .photos {
	display: flex;
	padding: 10px 15px 15px;
}
.cospBox .photos li {
	flex: 0 0 calc(100% / 8);
}
.cospBox .photos li a {
	overflow: hidden;
	position: relative;
	display: block;
	width: 100%;
	padding-top: 150%;
}
.cospBox .photos li a img {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.cospBox .photos li a:hover {
	opacity: 0.8;
}

/*------------------------------------------------------------------------------
 泡姫図鑑
 ------------------------------------------------------------------------------*/
.awahimeBox {
	height: 336px;
	margin: 20px 0;
	background: url(/common/image/top/awahime.png) no-repeat center / 100% 100%;
	border: 2px solid #FFF;
	border-radius: 8px;
}
.awahimeBox h3 {
	text-align: center;
}
.awahimeBox h3 a {
	display: block;
}
.awahimeBox h3 a:hover {
	opacity: 0.8;
}
.awahimeBox ul {
	display: flex;
	gap: 15px;
	width: 500px;
	margin: 0 auto;
}
.awahimeBox li {
	flex: 0 0 calc((100% - 30px) / 3);
}
.awahimeBox li a.photo {
	overflow: hidden;
	position: relative;
	display: block;
	width: 100%;
	height: 0;
	padding-top: 120%;
	border: 3px solid #DF0078CC;
	box-shadow: 3px 3px 5px rgba(0,0,0,0.7);
}
.awahimeBox li a.photo:hover {
	opacity: 0.8;
}
.awahimeBox li a.photo img {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.awahimeBox li .girl {
	text-align: center;
	display: block;
	padding: 9px 0 0;
}
.awahimeBox li .girl a {
	font-weight: bold;
}
.awahimeBox li .shop {
	text-align: center;
	display: block;
	padding: 6px 0 0;
}

/*------------------------------------------------------------------------------
 ランキング
 ------------------------------------------------------------------------------*/
.ranking {
	display: flex;
	gap: 10px;
	margin: 20px 0;
}
.ranking .block {
	flex: 0 0 calc((100% - 10px) / 2);
	min-width: 0;
}
.ranking .list {
	display: flex;
	flex-direction: column;
	padding: 0 8px;
	background: #FFFFCC66;
	border: 1px solid #FFCC0077;
}
.ranking .list .waiting {
	color: #777;
}
.ranking .list dl {
	padding: 8px 0;
}
.ranking .list dl + dl {
	border-top: 1px solid #FFCC0077;
}
.ranking .list dt {
	margin-bottom: 8px;
	font-size: 92%;
}
.ranking .list dt a {
	color: #333;
}
.ranking .list dt a:hover {
	color: #F60;
}
.ranking .list dd {
	height: 20px;
	line-height: 20px;
	margin: 0 5px;
	padding-left: 17px;
	background-repeat: no-repeat;
	background-image: url(/common/image/top/marker-rank-bg.gif);
	background-size: 12px 20px;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}
.ranking .list dd + dd {
	margin-top: 5px;
}
.ranking .list dd.rank-1  { background-image: url(/common/image/top/marker-rank-1.gif); }
.ranking .list dd.rank-2  { background-image: url(/common/image/top/marker-rank-2.gif); }
.ranking .list dd.rank-3  { background-image: url(/common/image/top/marker-rank-3.gif); }
.ranking .list dd.rank-4  { background-image: url(/common/image/top/marker-rank-4.gif); }
.ranking .list dd.rank-5  { background-image: url(/common/image/top/marker-rank-5.gif); }
.ranking .list dd.rank-6  { background-image: url(/common/image/top/marker-rank-6.gif); }
.ranking .list dd.rank-7  { background-image: url(/common/image/top/marker-rank-7.gif); }
.ranking .list dd.rank-8  { background-image: url(/common/image/top/marker-rank-8.gif); }
.ranking .list dd.rank-9  { background-image: url(/common/image/top/marker-rank-9.gif); }
.ranking .list dd.rank-10 { background-image: url(/common/image/top/marker-rank-10.gif); }
