@charset "utf-8";

/*----------------------------------------------------------
font-size
26px : 2rem
24px : 1.84rem
22px : 1.69rem
20px : 1.53rem
18px : 1.38rem
16px : 1.23rem
15px : 1.15rem
14px : 1.07rem
13px : 1rem
12px : .92rem
11px : .84rem
10px : .76rem
----------------------------------------------------------*/

article {
  padding-top: 5vw;
  margin-bottom: 10vw;
}

/*
list
--------------------------------------------------------- */
.list {
  padding: 0 2.5vw;
}
.list .listItem {
  margin-bottom: 5vw;
}

.listItem {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	padding: 2.5vw;
	box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.15);
	border-top: 1px solid #eeeeee;
	background-color: #f5f5f5;
	flex-wrap: wrap;
}
.listItem.dx {
  background-color: #fff9d3;
}
.listItem .left {
  position: relative;
/*   z-index: 1; */
  width: 40%;
}
.listItem .left .thumbBg {
  display: block;
  width: 100%;
  padding-top:133.3%;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.listItem .left .dxIcon {
  position: absolute;
  left: -2.5vw;
  top: -2.5vw;
  width: 10vw;
}
.listItem .left .voiceIcon {
  position: absolute;
  right: 2vw;
  bottom: 2vw;
  width: 15vw;
}
.listItem .left .voiceIcon img {
  width: 100%;
}

.listItem .right {
  width: 57.5%;
}
.listItem .right .listItemData {
	background: #fff;
}
.listItemData {}
.listItemData > .schedule {
  margin-bottom: .25em;
  font-size: .92rem;
  text-align: center;
}
.listItemData > .schedule-now {
  margin: 0;
  background-color: #ff0000;
  color: #ffffff;
}
.schedule.w-time.schedule-now {
	font-weight: bold;
	color: #fd2922;
	border: 2px solid #fd2922;
	background-color: transparent;
	font-size: 15px;
	margin-bottom: 5px;
}
.schedule.w-time.schedule-now img {
	max-width: 8%;
}
.listItemData > .schedule strong {}
.listItemData .listItemDataPanel {
  min-height: 47.5vw;
}

.listItemDataPanel {
  padding: 0 2.5vw;
  background-color: #ffffff;
}
.listItemDataPanel .listItemDataPanelTop {}

.listItemDataPanelTop {
  margin-bottom: 1vw;
  padding-bottom: 1vw;
  border-bottom: 1px solid #e5e5e5;
}
.listItemDataPanelTop > .schedule {
  margin-bottom: .25em;
  font-weight: bold;
  text-align: center;
}
.listItemDataPanelTop .schedule img {
  height: 1em;
  width:auto;
}
.listItemDataPanelTop .name {}
.listItemDataPanelTop .name a {
  font-weight: bold;
  color: #c80037;
}
.listItemDataPanelTop .profile {
  font-size: .76rem;
}
.listItemDataPanelTop .listItemDataIcons {}

.listItemDataIcons {
  font-size: 0;
}
.listItemDataIcons li {
  display: inline-block;
  margin: .125em;
  font-size: .76rem;
}
.listItemDataIcons li:first-child {
  margin-left: 0;
}
.listItemDataIcons li:last-child {
  margin-right: 0;
}
.listItemDataIcons li a {
  display: block;
}
.listItemDataIcons li img {
  height: 5vw;
  width:auto;
}

.listItemDataPanelTop .listItemDataLabels {}

.listItemDataLabels {
  font-size: 0;
}
.listItemDataLabels .label {
	display: inline-block;
	padding: .125em;
	margin-right: .125em;
	margin-bottom: .25em;
	border-radius: .25em;
	border: 1px solid #e5e5e5;
	font-size: .76rem;
}
.listItemDataLabels .label:first-child {
  margin-left: 0;
}
.listItemDataLabels .label:last-child {
  margin-right: 0;
}

.listItemDataPanel .listItemDataPanelBottom {}
.listItemDataPanelBottom {}
.listItemDataPanelBottom .area {
  font-size: .76rem;
}
.listItemDataPanelBottom .shopName {
  color: #c80037;
}
.listItemDataPanelBottom .shopInfo {
  font-size: .76rem;
}
.listItemDataPanelBottom .shopInfo img {
  height: 1em;
  width:auto;
}

/***********************************************************
* >>> shop.css, girls.css, ranking.css共通
**********************************************************/
/* shopList01 
--------------------------------------------------------- */
.shopList01 {
  margin-bottom: 5vw;
}
.shopList01 ul {
  padding: 0 2.5vw;
}
.shopList01 ul li {
  margin-bottom: 2.5vw;
  padding: 2.5vw 2.5%;
  border-top: 1px solid #cccccc;
  border-bottom: 1px solid #cccccc;
}
.shopList01 ul li a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: inherit;
}
.shopList01 ul li a .image {
  width: 20%;
  padding-bottom: 20%;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.shopList01 ul li a .content {
  width: 77.5%;
}
.shopList01 ul li a .content .title {}
.shopList01 ul li a .content .title li {
  margin-bottom: 0;
  padding: 0;
  border-top: none;
  border-bottom: none;
}
.shopList01 ul li a .content .body {
  font-size: .76rem;
}
.state_detail5_sp {
	font-size: 3.1vw;
	padding-left: 2vw;
}

/***********************************************************
可能プレイ検索項目

************************************************************/
.can_play {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	width: 100%;
	background: #fff;
	margin-top: 10px;
	flex-direction: column;
	padding: 5px 10px;
	font-size: 14px;
	box-shadow: 0 0 2px #dddcda;
}
.can_play_ttl {
	border-bottom: 1px solid #ccc;
	padding-bottom: 1px;
	margin-bottom: 2px;
	width: 100%;
	text-align: center;
	font-weight: bold;
}
.can_play_link a {
	color: #1b78bc;
}
.can_play_item {
	text-align: center;
}
.can_play_item.elps {
	width: 100%;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}

/*
areainfo
----------------------------------------------------------*/
#areainfo {}
#areainfo div {
  padding: 0 2.5vw;
}
#areainfo div.title_area {
  padding: 0;
}
#areainfo .title01 {
  position: relative;
  margin-bottom: 2.5vw;
  padding: 0 .5em;
  font-size: 1.38rem;
  color: #c80037;
}
#areainfo p {
  /* padding: 0 2.5vw; */
}
/* dx pickup 松山施策 */
.dx_pickup {
  clear: both !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  overflow: hidden;
  border: none !important;
  background: #fff7c2 !important;
}
.dx_pickup .dx_pickup_ttl {
  display: block;
  padding: 5px 15px;
  color: #ffffff;
  font-size: 124%;
  background: #c6003b;
}
.dx_pickup .dx_bnr {
  display: block;
  margin: 8px 11px;
  text-align: center;
  border: none !important;
  position: relative;
  overflow: hidden;
}
.dx_pickup .dx_bnr a {
  display: block;
  margin: 0;
  padding: 0;
}
.dx_pickup .dx_bnr a img {
  vertical-align: top;
}
.dx_pickup .dx_at_link {
  display: block;
  margin-bottom: 5%;
  text-align: center;
  border: none !important;
}
.dx_pickup .dx_at_link a {
  display: block;
  margin: 0 10px;
  padding: 8px 0;
  color: #f85a98;
  font-size: 116%;
  text-align: center;
  font-weight: bold;
  background: none !important;
  border: 1px solid #f85a98;
  border-radius: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  -o-border-radius: 5px;
  -ms-border-radius: 5px;
}
.dx_pickup .reflection {
  height: 100%;
  width: 30px;
  position: absolute;
  top: -180px;
  left: 0;
  background-color: #ffffff;
  opacity: 0;
  transform: rotate(45deg);
  animation: reflection 2s ease-in-out infinite;
  -webkit-transform: rotate(45deg);
  -webkit-animation: reflection 2s ease-in-out infinite;
  -moz-transform: rotate(45deg);
  -moz-animation: reflection 2s ease-in-out infinite;
  -ms-transform: rotate(45deg);
  -ms-animation: reflection 2s ease-in-out infinite;
  -o-transform: rotate(45deg);
  -o-animation: reflection 2s ease-in-out infinite;
}
/***********************************************************
* <<< shop.css, girls.css, ranking.css共通
**********************************************************/
.state_box {
	background: #f4f4f4;
	margin-top: -20px;
	padding: 20px 0 5px;
}
.state_slide {
	display: flex;
	overflow-x: auto;
	overflow-y: hidden;
	padding-bottom: 20px;
}
.state_slide {
	display: flex;
	overflow-x: auto;
	padding-left: 10px;
}
.state_box-top {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 20px;
	margin-bottom: 10px;
}
.state_box-top .ttl {
	font-weight: bold;
}
.state_box-top .all a {
	display: block;
	background: #fff;
	color: #000;
	border: 1px solid #d9d9d9;
	border-radius: 5px;
	padding: 5px 10px;
	font-size: 12px;
}
.state_box-top .all.on {
	top: initial;
	position: static;
}
.state_box-top .all.on a {
	display: block;
	background: #c90037;
	color: #fff;
	border: 1px solid #a4002b;
	border-radius: 5px;
	padding: 5px 10px;
	font-size: 12px;
}
.state_slide-item {
	border: 1px solid #dcdcdc;
	padding: 5px 10px;
	background: #fff;
	border-radius: 5px;
	text-align: center;
	white-space: nowrap;
	margin-right: 5px;
	line-height: 1.2;
	position: relative;
}
.state_slide-item span {
	display: block;
	font-size: 12px;
}
.state_slide-item .time {
	font-weight: bold;
	color: #e00;
	font-size: 14px;
}
#state_slide .slick-list {
	padding: 0 5% 25px 0 !important;
	overflow-x: hidden;
}

.slick-next::before,
.slick-next::after,
.slick-prev::before,
.slick-prev::after {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}
.slick-next::after, .slick-prev::after {
	width: 8px;
	height: 8px;
	border-top: 3px solid #000;
	border-right: 3px solid #000;
}
/* next */

#state_slide .slick-next {
	right: -20px;
	background: transparent;
}
#state_slide .slick-next::after {
	right: 4px;
	transform: rotate(45deg);
}

/* prev */

#state_slide .slick-prev {
	left: -20px;
	background: transparent;
}
#state_slide .slick-prev::after {
	left: 4px;
	transform: rotate(-135deg);
}
#state_slide .slick-arrow {
	top: calc(50% - 23px);
}

.state_slide-item.on {
	background: #c90037;
	top: initial;
}
.state_slide-item.on a {
	color: #fff;
}
.state_slide-item.on .time {
	color: #fff;
}
.state_slide-item.on::after {
	content: "";
	position: absolute;
	bottom: -15px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 12px 8px 0 9px;
	border-color: #000000 transparent transparent transparent;
	left: 50%;
	transform: translateX(-50%);
}

.schedule.--blue {
	display: block;
	background: #249bff;
	padding: 3px 0;
	color: #fff;
	text-align: center;
}
.schedule.--red {
	display: block;
	background: #c90037;
	padding: 3px 0;
	color: #fff;
	text-align: center;
}
.schedule.--orange {
	display: block;
	background:#ff9900;
	padding: 3px 0;
	color: #fff;
	text-align: center;
}
.schedule.--border {
	display: block;
	border: 1px solid #249bff;
	text-align: center;
	padding: 3px 0;
	color: #000;
}


.shop_feature figure {
	width: 50px;
}
.shop_heading {
	position: absolute;
	left: -5px;
	bottom: -5px;
}
.shop_feature-modal {
	position: absolute;
	padding: 15px 10px;
	font-size: 14px;
	line-height: 1.6em;
	color: #fff;
	border-radius: 10px;
	background: #000;
	width: 75vw;
	z-index: 1;
	left: 0;
	top: -390%;
}
.shop_feature-btn a {
	display: block;
	text-align: center;
	padding: 10px;
	border-radius: 40px;
	color: #fff;
	font-size: 18px;
	font-family: "Reggae One", system-ui;
	position: relative;
}
.shop_feature-btn a::before {
	content: "";
	width: 20px;
	height: 20px;
	display: inline-block;
	background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='18px'%20height='18px'%20viewBox='0%200%2024%2024'%3E%3Ctitle%3Eright_line%3C/title%3E%3Cg%20id='right_line'%20fill='none'%20fill-rule='evenodd'%3E%3Cpath%20d='M24%200v24H0V0h24ZM12.593%2023.258l-.011.002-.071.035-.02.004-.014-.004-.071-.035c-.01-.004-.019-.001-.024.005l-.004.01-.017.428.005.02.01.013.104.074.015.004.012-.004.104-.074.012-.016.004-.017-.017-.427c-.002-.01-.009-.017-.017-.018Zm.265-.113-.013.002-.185.093-.01.01-.003.011.018.43.005.012.008.007.201.093c.012.004.023%200%20.029-.008l.004-.014-.034-.614c-.003-.012-.01-.02-.02-.022Zm-.715.002a.023.023%200%200%200-.027.006l-.006.014-.034.614c0%20.012.007.02.017.024l.015-.002.201-.093.01-.008.004-.011.017-.43-.003-.012-.01-.01-.184-.092Z'/%3E%3Cpath%20fill='%23FFFFFF'%20d='M15.707%2011.293a1%201%200%200%201%200%201.414l-5.657%205.657a1%201%200%201%201-1.414-1.414l4.95-4.95-4.95-4.95a1%201%200%200%201%201.414-1.414l5.657%205.657Z'/%3E%3C/g%3E%3C/svg%3E");
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
}

.shop_feature-s {
	margin-bottom: 10px;
	background:#c80037;
}
.shop_feature-t {
	background:#4a6f8c;
}

.shop_feature-txt {
	text-align: center;
	margin: 0 auto 10px;
}
.shop_feature-modal::before {
	content: "";
	position: absolute;
	top: 100%;
	left: 8%;
	border: 15px solid transparent;
	border-top: 15px solid #000;
	margin-left: -15px;
}
.shop_feature-close {
	position: absolute;
	right: 5px;
	top: 5px;
}
