@charset "utf-8";

/* CSS Document */
body {
  color: #322d2d;
}

/* =========================================================
	main
========================================================= */
#todayGirls,
#newfaceGirls,
#mainSyameBlock,
#mainSyameBlock,
#shop {
  margin-bottom: 5%;
}

.contentsBlock .flatBtn {
  margin-bottom: 6.6%;
  width: 99.3%;
  border-width: 2px;
  font-size: 3.8vw;
  font-weight: bold;
  padding: 3% 0;
  color: #074cc9;
}

.contentsBlockHealth,
.contentsBlockEsthe {
  margin: 0px auto;
}

.contentsBlockEsthe .flatBtn.base {
  color: #158039;
  border-color: #158039;
}

.contentsBlockEsthe .flatBtn.base a {
  color: #158039;
}

/*	top画
------------------------------------------ */
#iview {
  margin-bottom: 7.5%;
}

/*	グラビア・バナー
------------------------------------------ */
#gravure {

  margin-bottom: 3.5%;
}

.campaign {
  margin: 1% 0 4%;
}

/*	スライダー
------------------------------------------ */
#slider {
  position: relative;
  margin-bottom: 10%;
}

#slider .subHeading {
  margin-bottom: 0;
}

#slider #slideBox {
  width: 94.4%;
  margin: auto;
  overflow: hidden;
}

#slider ul {
  margin: 0 auto;
  position: absolute;
}

#slider .operationArrow {
  width: 100%;
  position: relative;
}

#slider .operationArrow li {
  width: 7%;
  position: absolute;
  bottom: 0;
  background: url(/img/s/main/img_slider_arrow.png) no-repeat;
  line-height: 1.7em;
  background-size: 200% auto;
}

#slider .operationArrow li:nth-child(1) {
  left: 0;
  background-position: left top;
}

#slider .operationArrow li:nth-child(2) {
  right: 0;
  background-position: right top;
}

#slider .sliderImage li {
  float: left;
}

#slider .operationArrow li:nth-child(1) {
  left: 2.8%;
  background-position: left top;
}

#slider .operationArrow li:nth-child(2) {
  right: 2.8%;
  background-position: left top;
  transform: scale(-1, 1);
}

#slider .sliderImage {
  position: relative;
}

#slider .sliderImage li {
  float: left;
}

#slider .sliderImage li img {
  width: 94.4%;
  margin: 2.8%;
}

#slider .sliderThumbnailImgWrapper .sliderThumbnailImage {
  position: relative;
  overflow: hidden;
}

#slider .sliderThumbnailImgWrapper .sliderThumbnailImage li {
  float: left;
}

#slider .sliderThumbnailImgWrapper .sliderThumbnailImage li a {
  display: block;
  width: 90%;
  margin: 0 auto;
}

#slider .sliderThumbnailImgWrapper .sliderThumbnailImage li img {
  margin-left: 10%;
  width: 80%;
}

/*--打ち消し--*/
#slider ul {
  position: inherit;
}

#slider .sliderThumbnailImgWrapper .sliderThumbnailImage li img {
  width: 100%;
  margin: 0 auto;
}

#slider #slideBox {
  position: relative;
  margin-top: 3%;
}

#slider .sliderThumbnailImage {
  margin-bottom: 2%;
}

#thumbnail_slider {
  width: calc(100% + 2%);
  margin: 0 auto 10px;
}

#thumbnail_slider li img {
  width: 96%;
}

/*-- スライダーpnボタンの設定 --*/
#slider .slick-arrow {
  position: absolute;
  width: 10%;
  bottom: 0;
  z-index: 1;
}

#slider .prev-arrow {
  left: 0;
}

#slider .next-arrow {
  right: 0;
}

/*mainVisual*/
#TopMainVisual {
  margin-bottom: 3%;
}

.mainVisual .slick-arrow {
  z-index: 1;
  width: 6%;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  pointer-events: auto;
}

.mainVisual .prev-arrow {
  left: 0;
}

.mainVisual .next-arrow {
  right: 0;
}

.dots {
  text-align: center;
}

.dots .slick-dots {
  bottom: 11%;
}

.slick-dots li button:before {
  position: static;
  height: 20px;
}

#contentsWrapper .slick-dots {
  bottom: 0;
}

#contentsWrapper .slick-dotted.slick-slider {
  margin-bottom: 0;
}

/*	マップ
------------------------------------------ */
#imgMapWrap {
  position: relative;
  margin: -3.125% 0 3.125%;
  width: 94.4%;
  margin: 9% auto 10%;
}

#imgMap {
  width: 86%;
  margin: 0 3% 0 auto;
  text-align: center;
  position: relative;
}

#imgMap .mapNote {
  width: 25vw;
  height: 25vw;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: -8%;
  right: -5%;
}

#imgMapBtn {
  width: 94.4%;
  margin: auto;
}

#imgMapBtn li {
  position: absolute;
  color: #ffffff;
  line-height: 2;
  text-align: center;
  width: 23.5%;
  height: 9vw;
  line-height: 9vw;
}

#imgMapBtn li#kawaguchi {
  top: -2.7%;
  left: 0;
}

#imgMapBtn li#ikebukuro {
  top: 15.7%;
  left: 37.4%;
}

#imgMapBtn li#shinjuku {
  top: 18.5%;
  left: 22.5%;
}

#imgMapBtn li#gotanda {
  top: 63.4%;
  left: 23%;
}

#imgMapBtn li#shinagawa {
  top: 79%;
  left: 37%;
}

#imgMapBtn li#shinbashi {
  left: 54%;
  top: 63.7%;
}

#imgMapBtn li#kichijoji {
  top: 30%;
  left: 0;
}

#imgMapBtn li#kinshicho {
  top: 32%;
  right: 0;
}

#imgMapBtn li#kasai {
  right: 0;
  top: 79%;
}

#imgMapBtn li#yokohama {
  top: 92.3%;
  left: 0;
}

#imgMapBtn li#sakuragicho {
  top: 57%;
  left: 2.8%;
}

#imgMapBtn li#shinyokohama {
  top: 48%;
  left: 2.8%;
}

#imgMapBtn li a {
  font-weight: bold;
  color: #1c1c1e;
  text-decoration: none;
  font-size: 0.9em;
  width: 100%;
  height: 100%;
  display: block;
  background-color: #ffffff;
  border-radius: 1vw;
  box-shadow: 0 0.8vw 0 #1c1c1e;
}

#imgMapBtn li a::after {
  content: "";
  border-top: 2px solid;
  border-right: 2px solid;
  display: inline-block;
  width: 0.45em;
  height: 0.45em;
  transform: rotate(45deg);
  margin-left: 2.5%;
}

#mapRoute {
  width: 94.4%;
  margin: 10% auto;
  position: absolute;
  bottom: 0;
}

#mapRoute li {
  float: left;
  width: 33.3%;
  font-size: 3.5vw;
  margin-bottom: 0.5em;
  font-weight: bold;
  text-align: left;
}

#mapRoute li#asakusa {
  width: 42%;
  margin-bottom: 0;
}

#mapRoute li#blueLine {
  width: 66.6%;
  margin-bottom: 0;
}

#mapRoute li#touyoko,
#mapRoute li#touzai {
  width: 29%;
  margin-bottom: 0;
}

/*	緊急バナー
------------------------------------------ */
#mapNews {
  margin: 4.8% 0;
}

/*	店舗速報
------------------------------------------ */
#news .newsTub {
  display: table;
  width: 100%;
  margin: auto;
}

#news .newsTub li {
  color: #ffffff;
  text-align: center;
  font-size: 3.4vw;
  font-weight: bold;
  height: 2.8em;
}

#news .newsTub li:first-child {
  width: 100%;
  margin: 0 auto 3%;
  display: table-caption;
  line-height: 3.2em;
  height: 3.2em;
  border: 2px solid #fff200;
  box-sizing: border-box;
}

#news .newsTub li:not(:first-child) {
  width: 25%;
  line-height: 1.2;
  display: table-cell;
  vertical-align: middle;
  padding: 1% 0;
}

#news .newsTub li:hover {
  opacity: 0.7;
}

#news .newsTub li.newInformation {
  background-color: #ff4747;
}

#news .newsTub li.eventNews {
  background-color: #5193ff;
}

#news .newsTub li.pureNews {
  background-color: #ff6b95;
}

#news .newsTub li.pickUpGirlsNews {
  background-color: #56a166;
}

#news .newsTub li.updateNews {
  background-color: #ff893a;
}

/* -- 一覧 -- */
#news #newsContentWrap {
  height: 300px;
  overflow: auto;
  background-color: #ffffff;
  padding: 2% 0% 0%;
  margin-bottom: 3.2%;
}

#news #newsContentWrap li {
  padding: 3% 0 3.5%;
}

#news .newsTub li.select {
  border: 3px solid #ff0;
  box-sizing: border-box;
}

#news #newsContentWrap li:not(:last-child) {
  border-bottom: 1px solid #6a6a6a;
}

#news #newsContentWrap li a {
  text-decoration: none;
}

#news #newsContentWrap li .newsSupplement {
  margin: 0 auto 3%;
  width: 96%;
}

#news #newsContentWrap li .newsSupplement p {
  font-size: 86%;
  line-height: 1em;
  color: #414141;
  float: left;
}

#news #newsContentWrap li .newsSupplement p.data {
  margin-right: 1.5%;
}

#news #newsContentWrap li .newsContent {
  margin: 0 auto;
  width: 94%;
}

#news #newsContentWrap li .newsContent:before {
  font-size: 80%;
  width: 54%;
  color: #ffffff;
  text-align: center;
  display: block;
  font-weight: bold;
  padding: 0 1%;
  margin-bottom: 3.5%;
  height: 1.7em;
  line-height: 1.7em;
}

#news #newsContentWrap li.eventNews .newsContent:before {
  content: 'イベント割引情報';
  background-color: #5193ff;
}

#news #newsContentWrap li.pureNews .newsContent:before {
  content: '面接・体入情報';
  background-color: #ff6b95;
}

#news #newsContentWrap li.pickUpGirlsNews .newsContent:before {
  content: 'ピックアップガール';
  background-color: #56a166;
}

#news #newsContentWrap li.updateNews .newsContent:before {
  content: '更新情報';
  background-color: #ff893a;
}

#news #newsContentWrap li .newsContent {
  font-size: 100%;
  font-weight: bold;
  white-space: nowrap;
  overflow: hidden;
  text-decoration: underline;
}

#news #newsContentWrap li.eventNews .newsContent {
  color: #5193ff;
}

#news #newsContentWrap li.pureNews .newsContent {
  color: #ff6b95;
}

#news #newsContentWrap li.pickUpGirlsNews .newsContent {
  color: #56a166;
}

#news #newsContentWrap li.updateNews .newsContent {
  color: #ff893a;
}

/*	Twitter速報
------------------------------------------ */
#twitter .subHeading {
  margin-bottom: 0;
}

#twitter .timeline {
  margin-bottom: 4%;
  margin-top: 2%;
}

/*	店舗を探す
------------------------------------------ */
#shop .shopSearch li {
  margin-bottom: 3%;
  aspect-ratio: 80 / 13;
  position: relative;
  overflow: hidden;
  width: 100%;
}

#shop .shopSearch li:last-child {
  margin-bottom: 3.13%;
}

#shop .shopSearch li img {
  position: absolute;
  height: 100%;
  width: auto;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

#shop .flatBtn {
  margin: 5% auto 5%;
  width: 94.4%;

}

/*	グループ紹介
------------------------------------------ */
#group #groupList {
  margin: 0 auto;
  width: 94.4%;
}

#group #groupList li {
  width: 48.5%;
  text-align: center;
  font-weight: bold;
  font-size: 86%;
  padding-top: 6vw;
  color: #ffffff;
  background-color: #2f2f2f;
  margin-bottom: 3%;
  padding: 6% 6% 5%;
  box-sizing: border-box;
}

#group ul li .groupContent {
  background-image: url(/img/main/img_laurel.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  width: 100%;
  aspect-ratio: 115 / 101;
  padding-top: 20%;
  box-sizing: border-box;
  font-size: 1em;
  margin-bottom: 4%;
}

#group #groupList li:nth-child(1) .groupContent {
  padding-top: 23%;
}

#group #groupList li:nth-child(3) .groupContent {
  padding-top: 14%;
}

#group #groupList li:nth-child(odd) {
  margin-right: 3%;
}

#group #groupList li .ornamentText {
  font-size: 1em;
  font-weight: bold;
}

#group #groupList li span {
  color: #facc22;
  -webkit-text-fill-color: rgba(255, 255, 255, 0);
  background-image: linear-gradient(-20deg, #f83600, #facc22 60%);
  font-family: 'BodoniModa', serif;
  font-size: 2.3em;
  font-weight: bold;
  background-clip: text;
  -webkit-background-clip: text;
  display: block;
}

#group .flatBtn {
  width: 94.4%;
  margin: 3% auto 5%;
}

#group #groupList ul {
  display: flex;
  flex-wrap: wrap;
}

#group #groupList .groupContentText {
  text-align: justify;
  line-height: 1.5;
  font-size: 1em;
}

/*	クラブシンデレラ
------------------------------------------ */
#club .flatBtn {
  width: 94.4%;
  margin: 5% auto;
}

/*横向きの時の処理*/
@media only screen and (orientation:landscape) {

  /*	スライダー
------------------------------------------ */
  #slider .operationArrow li {
    margin-bottom: -2%;
  }

  #slider .operationArrow li:nth-child(1) {
    left: 1%;
  }

  #slider .operationArrow li:nth-child(2) {
    right: 1%;
  }
}

.girlsBlock {
  display: flex;
  flex-wrap: wrap;
}

/* iPhoneでtwitterウィジェットがはみ出すのを回避 */
#twitter iframe {
  background-color: #ffffff;
}

.mainVisual.slick-dotted.slick-slider {
  margin-bottom: 4%;
}

.mainVisual .slick-slide a {
  color: #ffffff;
}

.mainVisual .slick-slide a p {
  text-align: center;
  background-color: #000000;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 3.2% 0;
  line-height: 1.2;
}

.mainVisual .slick-slide a p span {
  font-size: 3vw;
}

.mainVisual .slick-slide a p span::before {
  content: ">>> ";
}

.mainVisual .slick-slide a p span::after {
  content: " <<<";
}

/* 在籍数 */
.girlsDigit {
  background-color: #2f2f2f;
  width: 94.4%;
  margin: 0 auto 4%;
  text-align: center;
  box-sizing: border-box;
  padding: 3% 0 4%;
}

.girlsDigit>p {
  color: #ffffff;
  font-weight: 700;
  font-size: 4.5vw;
}

.enrolledCounter {
  width: 47%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 2% auto 0;
}

.enrolledCounter span {
  color: #000000;
  background-color: #ffffff;
  font-weight: 700;
  font-size: 11vw;
  width: 23%;
  height: 12vw;
  line-height: 13vw;
}