@charset "utf-8";
/* ###################################### */
/* ◆共通 */
/* ###################################### */
/* -------------------------------------- */
:root {
  --color-main: rgb(240, 240, 240);
  --color-secondary: rgba(240, 240, 240, 0.8);
}

/* body ◆共通 */
html {
  scroll-behavior: smooth;
}
body {
  /* font-family: "Geist", "Noto Sans JP", "Noto Sans KR", serif; */
  /* 「"Geist"」は部分的に使われているので、使用されている箇所だけに適用する */
  font-family: 'Noto Sans JP', 'Noto Sans KR', serif;
  font-weight: 400;
  font-style: normal;
  position: relative;
  background-color: rgb(0, 0, 0);
  color: rgb(240, 240, 240);
  font-size: 16px;
  word-wrap: break-word;
  width: 100%;
}
.body-wrap {
  max-width: 1920px;
  margin: 0 auto;
  padding-left: min(2.82vw, 21px);
  padding-right: min(2.82vw, 21px);
  margin-top: 60px;
}
/* -------------------------------------- */
/* header ◆共通 */
.header-wrap {
  display: flex;
  justify-content: space-between;
  width: 100%;
  max-width: 1920px;
  position: fixed;
  top: 0;
  left: 0;
  background-color: rgb(0, 0, 0);
  z-index: 1000;
  padding-left: min(2.82vw, 21px);
  padding-right: min(2.82vw, 21px);
}
@media screen and (min-width: 1921px) {
  .header-wrap {
    left: 50%;
    transform: translate(-50%, 0);
  }
}

.header-global-logo {
  display: flex;
  align-items: center;
  width: 21px;
  padding-left: 1px;
}
.global-logo-icon {
  width: 100%;
}
@media screen and (max-width: 374px) {
  .header-global-logo {
    width: 5.63vw;
  }
}

.header-logo {
  width: 168px;
  height: 60px;
  padding-top: 10px;
  padding-bottom: 10px;
  z-index: 1001;
}
.header-logo img {
  width: 100%;
}
.header-logo a {
  height: 100%;
  display: flex;
  align-items: center;
}

/* -------------------------------------- */
/* footer ◆共通 */
.footer-middle {
  width: 100%;
  border-radius: 5px;
  background-color: rgb(30, 30, 30);
  padding: 30px 0 50px 0;
  margin-bottom: min(2.8vw, 11px);
}
.footer-adjustment {
  margin: 0 auto;
  width: 88%;
}
.footer-inner {
  width: 100%;
}
/* app ◆共通 */
.footer-app-wrap {
  border-bottom: 2px solid rgba(240, 240, 240, 0.2);
  padding: 0 4vw 40px 4vw;
  margin-bottom: 40px;
}
.footer-app {
  text-align: center;
}

.footer-app-title {
  font-size: 1.15rem;
  font-weight: 500;
  padding-bottom: 0.8rem;
}
.footer-app-explanation {
  font-size: 0.81rem;
  font-weight: 500;
  color: rgb(255, 91, 191);
}
.footer-app-img-wrap {
  display: flex;
  justify-content: center;
  margin-top: 0.9rem;
}
.apple-app-img {
  width: 135px;
  padding: 0 5px 0 0;
}
.google-app-img {
  width: 165px;
  padding: 0 0 0 5px;
}
.apple-app-img img {
  width: 100%;
}
.google-app-img img {
  width: 100%;
}

/* site map ◆共通 */
.site-map-inner {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  width: min(69vw, 280px);
}
/* 左 */
.site-map-left {
  line-height: 2.3rem;
}
.site-map-left h3 {
  font-size: 0.8rem;
  color: rgba(240, 240, 240, 0.5);
}
.site-map-left p {
  font-size: 0.95rem;
}
.site-map-border {
  display: flex;
}
.site-map-border-left {
  width: 21px;
  margin-right: 4px;
}
.site-map-left hr {
  color: rgba(240, 240, 240, 0.2);
  margin: 1.2rem 0 0 0;
  border-width: 2px 0 0 0;
}
/* 右 */
.site-map-right h3 {
  line-height: 2.3rem;
  font-size: 0.8rem;
  margin-bottom: 0.7rem;
  color: rgba(240, 240, 240, 0.5);
}
.site-map-sns {
  margin: 0 auto 30px auto;
}
.site-map-sns-wrap .site-map-sns:nth-child(1) {
  width: 27px;
}
.site-map-sns-wrap .site-map-sns:nth-child(2) {
  width: 23px;
}
.site-map-sns-wrap .site-map-sns:nth-child(3) {
  width: 30px;
}
.site-map-sns-wrap .site-map-sns:nth-child(4) {
  width: 27px;
}
.site-map-sns img {
  width: 100%;
}
/* footer logo ◆共通 */
.footer-logo-wrap {
  margin-top: 40px;
  padding-top: 20px;
  border-top: 2px solid rgba(240, 240, 240, 0.2);
  width: 100%;
}
.footer-logo-img {
  margin: 9px auto 22px auto;
  width: min(72vw, 300px);
}
.footer-logo-img img {
  width: 100%;
}
.footer-privacy-policy p {
  font-size: 0.83rem;
  margin: 7px auto 0px auto;
  width: min(72vw, 300px);
}
.footer-commercial-law p {
  font-size: 0.83rem;
  margin: 22px auto 0px auto;
  width: min(72vw, 300px);
}
.copyright {
  font-size: 0.7rem;
  color: rgba(240, 240, 240, 0.6);
  margin: 26px auto 10px auto;
  width: min(72vw, 300px);
} /* ◆共通 end */

/* ###################################### */
/* フェードアニメーション 共通 */
/* ###################################### */
/* フェードアニメーション スライドイン */
.slide-box {
  opacity: 0;
}
.slide-box.is-slide {
  animation: fadeup 1.2s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}
/* ブラウザ戻るボタン利用時、アニメーションを無効にする */
.slide-box.no-animation.is-slide {
  animation: none !important;
  opacity: 1;
  transform: translateY(0);
}
@keyframes fadeup {
  0% {
    transform: translateY(70px);
    opacity: 0.1;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/* フェードアニメーション */
.fade-box {
  opacity: 0;
}
.fade-box.is-fade {
  animation: fade 0.8s cubic-bezier(0.48, 0.45, 0.43, 0.7) forwards;
}
@keyframes fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* ###################################### */
/* TOP 4枚　フェードアニメーション */
/* ###################################### */
.img-layer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: center;
  background-repeat: no-repeat;
  max-width: 1920px;
  background-size: 100%;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.8s ease-in, visibility 0s linear 0.8s;
}

.img-layer.is-fade-start {
  opacity: 1;
  visibility: visible;
}

@media screen and (min-width: 1921px) {
  .img-layer {
    left: 50%;
    transform: translate(-50%, 0);
  }
}

/* スマホ用画像 */
.layer1 {
  background-image: url('../img/fv1.webp');
  transition-delay: 0s;
}
.layer2 {
  background-image: url('../img/fv2.webp');
  transition-delay: 0.25s;
}
.layer3 {
  background-image: url('../img/fv3.webp');
  transition-delay: 0.5s;
}
.layer4 {
  background-image: url('../img/fv4.webp');
  transition-delay: 0.75s;
}

/* PC用画像に切り替え */
@media screen and (min-width: 640px) {
  .layer1 {
    background-image: url('../img/fv1_pc.webp');
  }
  .layer2 {
    background-image: url('../img/fv2_pc.webp');
  }
  .layer3 {
    background-image: url('../img/fv3_pc.webp');
  }
  .layer4 {
    background-image: url('../img/fv4_pc.webp');
  }
}

/* ###################################### */
/* TOPページ */
/* ###################################### */
/* アイキャッチ */
.toppage-top-img-wrap {
  border-radius: 5px;
  margin-bottom: min(2.8vw, 11px);
  /* 縦横比 */
  aspect-ratio: 277 / 654;
  width: 100%;
  position: relative;
}

/* TOP ニュース */
.toppage-news-wrap {
  width: 100%;
  border-radius: 5px;
  background-color: rgb(30, 30, 30);
  padding: 30px 0 34px 0;
  margin-bottom: min(2.8vw, 11px);
}
.toppage-news-adjustment {
  margin: 0 6.5%;
  display: flex;
  justify-content: center;
}
.toppage-news-middle {
  display: inline-block;
}
.toppage-news-inner {
  display: flex;
}
.toppage-news-mark-wrpa {
  width: 41px;
  align-self: end;
  margin: 0 5px 5px 0;
}
.toppage-news-mark {
  font-size: 0.65rem;
  color: rgb(255, 70, 120);
  border: solid 1px rgb(255, 70, 120);
  border-radius: 3px;
  text-align: center;
  padding: 0.1rem 0 0.14rem 0;
}

.toppage-news-text-wrap {
  display: inline;
  text-align: left;
  width: 100%;
}
.toppage-news-text {
  /* 文字数超過三点リーダー */
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 2rem;
  font-size: 0.9rem;
}
.toppage-news-wrap a {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.toppage-line {
  color: rgba(240, 240, 240, 0.2);
  margin: 12px 0 5px 0;
  border-width: 1px 0 0 0;
}
/* TOP コンセプト */
/* 画像1 */
.toppage-concept-img01 {
  width: 100%;
  margin-bottom: min(2.8vw, 11px);
  aspect-ratio: 1 / 1;
  background-image: url(../img/toppage_concept_img_01.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
  border-radius: 5px;
  display: flex;
  justify-content: center;
  align-items: end;
}
.toppage-concept-text-wrap {
  margin-bottom: 5%;
}
.toppage-concept-text-wrap p {
  font-size: 3.8vw;
  font-weight: 700;
}
.toppage-concept-text-wrap h2 {
  font-family: 'Geist', serif;
  font-size: 16.8vw;
  font-weight: 500;
  margin-left: -2px;
}
/* 画像2 */
.toppage-concept-img02 {
  width: 100%;
  margin-bottom: min(2.8vw, 11px);
  aspect-ratio: 1 / 1;
  background-image: url(../img/toppage_concept_img_02.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
  border-radius: 5px;
}
.toppage-concept-text {
  display: inline-block;
  padding-top: 30px;
  margin-left: 10%;
}
.toppage-concept-text p {
  font-weight: 600;
  font-size: 4.1vw;
  line-height: 7.2vw;
  margin-bottom: 4vw;
}
.toppage-concept-OL-logo {
  width: 66%;
  margin-left: 10%;
  padding-bottom: 30px;
}
.toppage-concept-OL-logo img {
  width: 100%;
}
/* TOP SOLOTTE リンク */
.toppage-app-link-wrap {
  width: 100%;
  border-radius: 5px;
  background-color: rgb(30, 30, 30);
  padding: 30px 0 32px 0;
  margin-bottom: min(2.8vw, 11px);
  position: relative;
  height: min(50vw, 300px);
}
.toppage-app-link {
  display: inline-block;
  width: 100%;
  height: 100%;
}
/* icon */
.toppage-app-icon-wrap {
  width: 77%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  justify-content: center;
}
.toppage-app-icon {
  margin-right: 11px;
  min-width: min(18.5vw, 72px);
  width: min(18.5vw, 72px);
}
.toppage-app-icon img {
  width: 100%;
  border-radius: 24%;
}
.toppage-app-text {
  font-size: min(3.28vw, 0.95rem);
  line-height: min(6.2vw, 1.5rem);
  max-width: 237px;
}
/* 矢印 */
.toppage-app-link-arrows {
  position: absolute;
  bottom: 17px;
  right: 17px;
  width: min(9.2vw, 72px);
}
.toppage-app-link-arrows-img {
  width: 100%;
}
/* 店舗一覧 title */
.toppage-shop-img {
  width: 100%;
  margin-bottom: min(2.8vw, 11px);
  aspect-ratio: 1 / 1;
  background-image: url(../img/toppage_shop_sp.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
  border-radius: 5px;
  display: flex;
  justify-content: left;
  align-items: end;
}
.toppage-shop-text-wrap {
  margin: 0 0 6% 6%;
}
.toppage-shop-text-wrap p {
  display: block;
  font-weight: 700;
  font-size: min(4.1vw, 1.96rem);
  margin-left: 4px;
}
.toppage-shop-title {
  font-family: 'Geist', serif;
  font-size: min(15.35vw, 7.33rem);
  font-weight: 500;
}
/* ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● */
/* 店舗一覧 */
.toppage-shop-list-wrap {
  width: 100%;
}
/* 店舗一覧 地域タイトル ◆共通 */
.toppage-shop-list-title {
  width: 100%;
  border-radius: 5px;
  background-color: rgb(30, 30, 30);
  margin-bottom: min(2.8vw, 11px);
}
.toppage-shop-list-title-inner {
  margin: 0 6%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: min(14vw, 111px);
}
.toppage-shop-list-title-inner h3 {
  display: block;
  font-weight: 500;
  margin-left: 4px;
  font-size: 5vw;
  line-height: 5vw;
}
/* ストア一覧　コンテナ ◆共通 */
.toppage-shop-list-inner {
  margin-bottom: 10px;
}
.container {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
/* 波アニメーションに関わるcss */
/* カード */
.card {
  position: relative;
  flex: 0 0 calc((100% - 10px * 1) / 2);
  border-radius: 5px;
  overflow: hidden;
  color: #fff;
}
/* 店内画像 */
.card-shop-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  opacity: 0.5;
}
.card-shop-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.white-filter {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(248, 248, 255, 0.3);
  background-blend-mode: overlay;
}

/* 新規店舗など表示用 */
.card-text-other {
  height: 16.27vw;
  display: flex;
  align-items: center;
}
/* 新規店舗など表示テキスト */
.card-text-other p {
  font-size: 6vw;
}
/* 縦横比維持用 */
.card::before {
  content: '';
  display: block;
  padding-top: 81.6%;
}
/* テクスチャ */
.mix-blend-overlay {
  width: 100%;
  height: 100%;
  mix-blend-mode: overlay;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(../img/gradient/particle_200.webp);
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (min-width: 640px) {
  .mix-blend-overlay {
    background-image: url(../img/gradient/particle_600.webp);
  }
}

/* カード内のテキストコンテンツ */
.card-title h4 {
  letter-spacing: 0.2vw;
  font-size: 4.85vw;
  font-weight: 500;
  margin-bottom: 3.5vw;
}
.card-title span {
  display: block;
  letter-spacing: 0.1vw;
  font-weight: 400;
  font-size: 2.83vw;
  margin-bottom: 2.5vw;
}

.card-content {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  padding: 8px;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.lang-badge-list {
  display: flex;
  justify-content: center;
  gap: 4px;
  position: absolute;
  top: 4px;
  right: 8px;
}

/* MEN / LADIES 表示 */
.counts {
  display: flex;
  justify-content: center;
}
.counts-inner {
  width: 48%;
}
.counts-num {
  font-family: 'Geist', serif;
  display: block;
  font-size: 9vw;
  line-height: 9vw;
}
.counts-gender {
  letter-spacing: 0.15vw;
  font-weight: 400;
  font-size: 2.83vw;
  display: block;
}
/* 波画像の背景 */
.wave-warp {
  position: absolute;
  top: 0;
  left: 0;
  /* レスポンシブで大きさが変化した際、背景画像が枠より小さくなり、画像の右が足りなくなることがあるため、背景の幅を1%増やした */
  width: 101%;
  height: 101%;
}
/* TOPページ、アニメーション用 */
.wave-anime-move {
  /* 画像1枚分の高さだけ上方向に移動 */
  animation: waveScroll 18s linear infinite;
  opacity: 0;
}
/* 支店ページ、アニメーション用 */
.branch-mix-blend-overlay.wave-anime-move {
  animation: waveScroll 29s linear infinite;
  opacity: 0;
}
/* 店舗詳細画面アニメーション部分 */
.branch-particle-img {
  height: 101%;
}
.branch-particle-img img {
  height: 100%;
  display: inline;
  mix-blend-mode: overlay;
}
.branch-mix-blend-overlay {
  width: 101%;
  height: 101%;
  position: absolute;
  top: 0;
  left: 0;
}
.customers-sale-wrap p {
  margin-bottom: 10px;
}

.customers-sale-inner img {
  width: 100%;
  height: 100%;
}
/* 店舗詳細画面アニメーション部分 ここまで ---- */
/* css変数の初期値 */
:root {
  --dynamic-a-height: 0; /* 初期値：画像の高さ */
}
/* アニメーション定義 */
/* 画像の1枚分の高さだけ背景を上に移動させる */
@keyframes waveScroll {
  0% {
    background-position-y: 0px;
  }
  100% {
    /* jsで縦横比8対3(1200/450)で計算した画像の高さの値をcss変数--dynamic-heightに代入して出力 */
    /* 横幅100%で表示すると、画像サイズのpxそのままではダメらしい */
    background-position-y: var(--dynamic-a-height); /* 画像1枚の高さに合わせる */
  }
}
@media screen and (max-width: 280px) {
  .counts-num {
    font-size: 7vw;
  }
}
/* TOPページ一覧用 */
/* 来客数 男性0 女性10 */
.wave-bg0 {
  /* タイルパターンにして上下に繰り返し表示 */
  background: url('../img/gradient/gradient0.webp') repeat-y;
  background-size: 100% auto;
  opacity: 1;
}
.wave-bg1 {
  background: url('../img/gradient/gradient1.webp') repeat-y;
  background-size: 100% auto;
  opacity: 1;
}
.wave-bg2 {
  background: url('../img/gradient/gradient2.webp') repeat-y;
  background-size: 100% auto;
  opacity: 1;
}
.wave-bg3 {
  background: url('../img/gradient/gradient3.webp') repeat-y;
  background-size: 100% auto;
  opacity: 1;
}
.wave-bg4 {
  background: url('../img/gradient/gradient4.webp') repeat-y;
  background-size: 100% auto;
  opacity: 1;
}
.wave-bg5 {
  background: url('../img/gradient/gradient5.webp') repeat-y;
  background-size: 100% auto;
  opacity: 1;
}
.wave-bg6 {
  background: url('../img/gradient/gradient6.webp') repeat-y;
  background-size: 100% auto;
  opacity: 1;
}
.wave-bg7 {
  background: url('../img/gradient/gradient7.webp') repeat-y;
  background-size: 100% auto;
  opacity: 1;
}
.wave-bg8 {
  background: url('../img/gradient/gradient8.webp') repeat-y;
  background-size: 100% auto;
  opacity: 1;
}
.wave-bg9 {
  background: url('../img/gradient/gradient9.webp') repeat-y;
  background-size: 100% auto;
  opacity: 1;
}
/* 来客数 男性10 女性0 */
.wave-bg10 {
  background: url('../img/gradient/gradient10.webp') repeat-y;
  background-size: 100% auto;
  opacity: 1;
}
/* ----------------------------------- */
/* 支店ページ用 */
.wave-anime-move.wave-branch0 {
  /* タイルパターンにして上下に繰り返し表示 */
  background: url('../img/gradient/branch0.webp') repeat-y;
  background-size: 100% auto;
  opacity: 1;
}
.wave-anime-move.wave-branch1 {
  background: url('../img/gradient/branch1.webp') repeat-y;
  background-size: 100% auto;
  opacity: 1;
}
.wave-anime-move.wave-branch2 {
  background: url('../img/gradient/branch2.webp') repeat-y;
  background-size: 100% auto;
  opacity: 1;
}
.wave-anime-move.wave-branch3 {
  background: url('../img/gradient/branch3.webp') repeat-y;
  background-size: 100% auto;
  opacity: 1;
}
.wave-anime-move.wave-branch4 {
  background: url('../img/gradient/branch4.webp') repeat-y;
  background-size: 100% auto;
  opacity: 1;
}
.wave-anime-move.wave-branch5 {
  background: url('../img/gradient/branch5.webp') repeat-y;
  background-size: 100% auto;
  opacity: 1;
}
.wave-anime-move.wave-branch6 {
  background: url('../img/gradient/branch6.webp') repeat-y;
  background-size: 100% auto;
  opacity: 1;
}
.wave-anime-move.wave-branch7 {
  background: url('../img/gradient/branch7.webp') repeat-y;
  background-size: 100% auto;
  opacity: 1;
}
.wave-anime-move.wave-branch8 {
  background: url('../img/gradient/branch8.webp') repeat-y;
  background-size: 100% auto;
  opacity: 1;
}
.wave-anime-move.wave-branch9 {
  background: url('../img/gradient/branch9.webp') repeat-y;
  background-size: 100% auto;
}
/* 来客数 男性10 女性0 */
.wave-anime-move.wave-branch10 {
  background: url('../img/gradient/branch10.webp') repeat-y;
  background-size: 100% auto;
  opacity: 1;
}
@media screen and (min-width: 640px) {
  /* 店舗一覧 地域タイトル ◆共通 */
  .toppage-shop-list-title-inner {
    margin: 0 4%;
  }
  .toppage-shop-list-title-inner h3 {
    font-size: 4vw;
    line-height: 4vw;
  }
  /* ストア一覧　コンテナ ◆共通 */
  .card {
    flex: 0 0 calc((100% - 12px * 2) / 3);
  }
  .toppage-shop-list-inner {
    margin-bottom: 12px;
  }
  .container {
    gap: 12px;
  }
  .card-title h4 {
    font-size: 3.3vw;
    margin-bottom: 2vw;
  }
  .card-title span {
    font-size: 1.7vw;
    margin-bottom: 1.9vw;
  }
  /* 新規店舗など表示用 */
  .card-text-other {
    height: 10.964vw;
  }
  /* 新規店舗など表示テキスト */
  .card-text-other p {
    font-size: 4.1vw;
  }
  .counts-num {
    font-size: 6vw;
    line-height: 6vw;
  }
  .counts-gender {
    font-size: 1.5vw;
  }
}
@media screen and (min-width: 1024px) {
  /* 店舗一覧 地域タイトル ◆共通 */
  .toppage-shop-list-title-inner h3 {
    font-size: 3vw;
    line-height: 3vw;
  }
  /* ストア一覧　コンテナ ◆共通 */
  .card {
    flex: 0 0 calc((100% - 14px * 3) / 4);
  }
  .toppage-shop-list-inner {
    margin-bottom: 14px;
  }
  .container {
    gap: 14px;
  }
  .card-title h4 {
    font-size: 2.5vw;
    margin-bottom: 1.5vw;
  }
  .card-title span {
    font-size: 1.3vw;
    margin-bottom: 1.5vw;
  }
  /* 新規店舗など表示用 */
  .card-text-other {
    height: 8.147vw;
  }
  /* 新規店舗など表示テキスト */
  .card-text-other p {
    font-size: 3vw;
  }
  .counts-num {
    font-size: 4.65vw;
    line-height: 4.65vw;
  }
  .counts-gender {
    font-size: 1vw;
  }
}
@media screen and (min-width: 1500px) {
  /* 店舗一覧 地域タイトル ◆共通 */
  .toppage-shop-list-title {
    border-radius: 7px;
  }
  .toppage-shop-list-title-inner h3 {
    font-size: 2rem;
    line-height: 2rem;
  }
  /* ストア一覧　コンテナ ◆共通 */
  .card {
    border-radius: 7px;
    flex: 0 0 calc((100% - 14px * 4) / 5);
  }
  .card-title h4 {
    letter-spacing: 0.1vw;
    font-size: 1.7rem;
    margin-bottom: 21px;
  }
  .card-title span {
    font-size: 0.9rem;
    margin-bottom: 16px;
  }
  /* 新規店舗など表示用 */
  .card-text-other {
    height: 80.906px;
  }
  /* 新規店舗など表示テキスト */
  .card-text-other p {
    font-size: 2.11rem;
  }
  .counts-num {
    font-size: 3rem;
    line-height: 3rem;
  }
  .counts-gender {
    font-size: 0.65rem;
  }
}
/* TOP ご利用方法 */
.toppage-system-img {
  width: 100%;
  margin-bottom: min(2.8vw, 11px);
  aspect-ratio: 1 / 1;
  background-image: url(../img/toppage_system_img_sp.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
  border-radius: 5px;
  display: flex;
  justify-content: left;
  align-items: end;
}
.toppage-system-text-wrap {
  margin: 0 0 6% 6%;
}
.toppage-system-text-wrap p {
  display: block;
  font-weight: 700;
  font-size: 4.1vw;
  margin-left: 4px;
}
.toppage-system-title {
  font-family: 'Geist', serif;
  font-size: 15.35vw;
  font-weight: 500;
}
/* ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● */
/* システム 説明 */
.toppage-system-explanation {
  width: 100%;
}
.system-card {
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 16px;
  padding: 28px 24px;
  color: #000;
  background-color: #08d874;
  border-radius: 12px;
}
.system-card hr {
  width: 100%;
  height: 0;
  border-left: none;
  border-top: 1px solid #06a156;
}

.system-card-inner {
  display: flex;
  gap: 16px;
  flex-direction: column;
}

.system-card-title {
  display: flex;
  gap: 8px;
  justify-content: start;
  align-items: baseline;
  font-weight: bold;
}

.system-card-title h2 {
  font-weight: bold;
  font-size: 1.6rem;
}

.system-card-content {
  display: flex;
  flex-direction: column;
  gap: 8px;
  justify-content: start;
  align-items: flex-start;
}

.system-card-text {
  font-size: 0.8rem;
  line-height: normal;
}
.system-card-download {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-top: 0.9rem;
}
.system-card-download a {
  height: 100%;
  display: inline-block;
}
.system-card-download-apple {
  width: 135px;
  padding: 0 5px 0 0;
}
.system-card-download-google {
  width: 165px;
  padding: 0 0 0 5px;
}
.system-card-download img {
  width: 100%;
}
/* TOP貸し切りプラン リンク */
.toppage-privateplan-link-wrap {
  width: 100%;
  border-radius: 5px;
  background-color: rgb(30, 30, 30);
  padding: 30px 0 32px 0;
  margin-bottom: min(2.8vw, 11px);
  position: relative;
  height: min(50vw, 300px);
}
.toppage-privateplan-link {
  display: inline-block;
  width: 100%;
  height: 100%;
}
/* icon */
.toppage-privateplan-icon-wrap {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  justify-content: center;
}
.toppage-privateplan-icon {
  margin-right: 8px;
  width: min(21.5vw, 130px);
  min-width: min(21.5vw, 130px);
}
.toppage-privateplan-icon img {
  width: 100%;
}
.toppage-privateplan-text {
  margin-top: -3px;
  display: flex;
  align-items: center;
  font-size: min(3.28vw, 0.95rem);
  line-height: min(6.2vw, 1.5rem);
}
/* 矢印 */
.toppage-privateplan-link-arrows {
  position: absolute;
  bottom: 17px;
  right: 17px;
  width: min(9.2vw, 72px);
}
.toppage-privateplan-link-arrows-img {
  width: 100%;
}

/* TOP　料金  */
.toppage-price-img {
  width: 100%;
  margin-bottom: min(2.8vw, 11px);
  aspect-ratio: 1 / 1;
  background-image: url(../img/toppage_price_img_sp.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
  border-radius: 5px;
  display: flex;
  justify-content: left;
  align-items: end;
}
.toppage-price-text-wrap {
  margin: 0 0 6% 6%;
}
.toppage-price-text-wrap p {
  display: block;
  font-weight: 700;
  font-size: 4.1vw;
  margin-left: 4px;
}
.toppage-price-title {
  font-family: 'Geist', serif;
  font-size: 15.35vw;
  font-weight: 500;
}
/* 料金表 */
.toppage-price-list-wrap {
  width: 100%;
  margin-bottom: min(2.8vw, 11px);
  display: flex;
}
/* 男性 */
.toppage-price-list-gentlemen {
  width: 50%;
  background-image: url(../img/toppage_price_male_sp.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 5px;
  margin-right: 2px;
  padding: 30px 0 30px 0;
}

.toppage-price-list-inner {
  width: 100%;
}
.toppage-price-list-title {
  margin-bottom: 10px;
}
.toppage-price-list-title h3 {
  font-weight: 500;
  text-align: center;
  font-size: min(6.155vw, 1.8rem);
}
.toppage-price-dl-table-wrap {
  width: 81%;
  font-weight: 500;
  margin: 0 auto;
  margin-bottom: 10px;
  max-width: 300px;
}
.toppage-price-dl-table-inner {
  color: rgb(240, 240, 240);
  display: flex;
  justify-content: left;
  align-items: center;
  padding: 10px 0 8px 0;
  border-bottom: solid 1px rgb(240, 240, 240);
}
.toppage-price-dl-table-last-child {
  border-bottom: none;
}
.toppage-price-dl-table-left {
  width: 45%;
  text-align: left;
}

.toppage-price-dl-table-left p {
  font-weight: 500;
  line-height: min(3.9vw, 1.5rem);
  font-size: min(3.28vw, 1.1rem);
}

.toppage-price-dl-table-right dd {
  font-size: min(3.28vw, 1rem);
  font-weight: 500;
}
.toppage-price-dl-table-right span {
  font-family: 'Geist', serif;
  margin-right: 3px;
  font-size: min(5.35vw, 1.55rem);
}
.toppage-price-list-msg {
  text-align: center;
  text-decoration: underline;
  text-underline-offset: 3px;
  line-height: min(4.5vw, 1.4rem);
  font-size: min(2.88vw, 0.9rem);
  font-weight: 600;
}

/* 女性 */
.toppage-price-list-ladies {
  width: 50%;
  background-image: url(../img/toppage_price_female_sp.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 5px;
  padding: 30px 0 30px 0;
}
.toppage-price-list-title-female {
  margin-bottom: 33px;
}
.toppage-price-list-title-female h3 {
  font-weight: 500;
  text-align: center;
  font-size: min(6.155vw, 1.8rem);
}
.toppage-price-dl-table-female {
  width: 76%;
  font-size: min(4.1vw, 1.2rem);
  font-weight: 500;
  margin: 0 auto;
  text-align: center;
}
.toppage-price-female {
  font-weight: 700;
  font-size: min(8.2vw, 2.8rem);
}
.toppage-price-female span {
  font-family: 'Geist', serif;
  font-weight: 400;
  margin-right: 3px;
  font-size: min(24.6vw, 8rem);
}
/* ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● */

/* TOP メンバーズクラブ リンク */
.toppage-members-link-wrap {
  width: 100%;
  border-radius: 5px;
  background-color: rgb(30, 30, 30);
  padding: 30px 0 32px 0;
  margin-bottom: min(2.8vw, 11px);
  position: relative;
  height: min(50vw, 300px);
}
.toppage-members-link {
  display: inline-block;
  width: 100%;
  height: 100%;
}
/* icon */
.toppage-members-icon-wrap {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  justify-content: center;
}
.toppage-members-icon {
  margin-right: 8px;
  width: min(21.5vw, 124px);
  min-width: min(21.5vw, 124px);
}
.toppage-members-icon img {
  width: 100%;
}
.toppage-members-text {
  margin-top: -3px;
  display: flex;
  align-items: center;
  font-size: min(3.28vw, 0.95rem);
  line-height: min(6.2vw, 1.5rem);
}
/* 矢印 */
.toppage-members-link-arrows {
  position: absolute;
  bottom: 17px;
  right: 17px;
  width: min(9.2vw, 72px);
}
.toppage-members-link-arrows-img {
  width: 100%;
}
/* TOP info リンク */
.toppage-info-img {
  width: 100%;
  margin-bottom: min(2.8vw, 11px);
  aspect-ratio: 1 / 1;
  background-image: url(../img/toppage-info-img_sp.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
  border-radius: 5px;
  display: flex;
  justify-content: left;
  align-items: end;
}
.toppage-info-text-wrap {
  margin: 0 0 6% 6%;
}
.toppage-info-text-wrap p {
  display: block;
  font-weight: 700;
  font-size: 4.1vw;
  margin-left: 4px;
}
.toppage-info-title {
  font-family: 'Geist', serif;
  font-size: 15.35vw;
  font-weight: 500;
}
/* スライダー */
.toppage-slider-wrap {
  margin-bottom: min(2.8vw, 11px);
}
.toppage-slider {
  height: 100%;
}
.toppage-slider img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 5px;
}
@media screen and (min-width: 640px) {
  /* スライダー */
  .toppage-slider img {
    border-radius: 10px;
  }
}

/* TOP 過去のお知らせ リンク */
.toppage-past-news-link-wrap {
  width: 100%;
  border-radius: 5px;
  background-color: rgb(30, 30, 30);
  padding: 30px 0 32px 0;
  margin-bottom: min(2.8vw, 11px);
  position: relative;
  height: min(50vw, 300px);
}
.toppage-past-news-link {
  display: inline-block;
  width: 100%;
  height: 100%;
}
/* icon */
.toppage-past-news-icon-wrap {
  width: 90%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  justify-content: center;
}
.toppage-past-news-icon {
  margin-right: 8px;
  width: min(9vw, 51px);
  width: min(9vw, 51px);
}
.toppage-past-news-icon img {
  width: 100%;
}
.toppage-past-news-text {
  margin-top: -3px;
  display: flex;
  align-items: center;
  font-size: min(3.28vw, 0.95rem);
  line-height: min(6.2vw, 1.5rem);
}
/* 矢印 */
.toppage-past-news-link-arrows {
  position: absolute;
  bottom: 17px;
  right: 17px;
  width: min(9.2vw, 72px);
}
.toppage-past-news-link-arrows-img {
  width: 100%;
}

/* ###################################### */
/* 支店ページ */
/* ###################################### */
/* アイキャッチ */
/* 支店画像 */
/* 恵比寿 */
.branch-top-img-ebisu {
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: 50% 50%;
  background-repeat: no-repeat;
}
.branch-top-img-wrap {
  border-radius: 5px;
  overflow: hidden;
  margin-bottom: min(2.8vw, 11px);
  position: relative;
  background-repeat: no-repeat;
  /* 縦横比 */
  aspect-ratio: 366 / 215;
  width: 100%;
  background-size: cover;
  background-position: 50% 50%;
}
.branch-top-name {
  position: absolute;
  bottom: 20px;
  left: 20px;
  font-size: min(8.2vw, 4rem);
  font-weight: 500;
  letter-spacing: 0.1rem;
}
/* 来客数 */
.branch-num-customers-wrap {
  width: 100%;
  height: 90px;
  border-radius: 5px;
  overflow: hidden;
  margin-bottom: min(2.8vw, 11px);
  position: relative;
  background-color: rgb(30, 30, 30);
}
.branch-num-customers-middle {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.branch-num-customers-inner {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: space-around;
  align-items: center;
  text-align: center;
  padding: 0 4vw;
}
.customers-num {
  font-family: 'Geist', serif;
  font-size: 2.1rem;
}
.customers-gentlemen {
  font-size: 0.8rem;
  font-weight: 500;
}
.customers-ladies {
  font-size: 0.8rem;
  font-weight: 500;
  padding: 0 16.5px;
}
.customers-sale-inner {
  width: min(14.5vw, 72px);
  margin: 0 auto;
  margin-bottom: min(1.6vw, 8px);
}
.customers-text {
  font-size: 0.8rem;
  font-weight: 600;
}
/* ニュース */
.branch-news-wrap {
  width: 100%;
  border-radius: 5px;
  background-color: rgb(30, 30, 30);
  padding: 30px 0 34px 0;
  margin-bottom: min(2.8vw, 11px);
}
.branch-news-adjustment {
  margin: 0 6.5%;
  display: flex;
  justify-content: center;
}
.branch-news-middle {
  display: inline-block;
}
.branch-news-inner {
  display: flex;
}
.branch-news-mark-wrpa {
  width: 41px;
  align-self: end;
  margin: 0 5px 5px 0;
}
.branch-news-mark {
  font-size: 0.65rem;
  color: rgb(255, 70, 120);
  border: solid 1px rgb(255, 70, 120);
  border-radius: 3px;
  text-align: center;
  padding: 0.1rem 0 0.14rem 0;
}
.branch-line {
  color: rgba(240, 240, 240, 0.2);
  margin: 12px 0 5px 0;
  border-width: 1px 0 0 0;
}
.branch-news-text-wrap {
  display: inline;
  text-align: left;
  width: 100%;
}
.branch-news-text {
  /* 文字数超過三点リーダー */
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 2rem;
  font-size: 0.9rem;
}
.branch-news-wrap a {
  text-decoration: underline;
  text-underline-offset: 3px;
}
/* 支店 公式SNS */
.branch-close-wrap {
  width: 100%;
  border-radius: 5px;
  background-color: rgb(30, 30, 30);
  padding: 30px 0 32px 0;
  margin-bottom: min(2.8vw, 11px);
  display: flex;
  justify-content: center;
}
.branch-close-text {
  font-size: 0.9rem;
  line-height: 1.3rem;
  color: rgba(240, 240, 240, 0.6);
}
.branch-sns-wrap {
  width: 100%;
  border-radius: 5px;
  background-color: rgb(30, 30, 30);
  padding: 22px 0 22px 0;
  margin-bottom: min(2.8vw, 11px);
}
.branch-sns-title {
  font-size: 0.9rem;
  letter-spacing: 0.04rem;
  text-align: center;
  margin-bottom: 21px;
}
.branch-sns-icon-wrap {
  display: flex;
  justify-content: center;
}
.branch-sns-icon-inner {
  width: 26px;
  margin: 0 12px;
}
.branch-sns-icon-inner img {
  width: 100%;
  opacity: 0.2;
}
.branch-sns-link {
  display: block;
}
.branch-sns-link img {
  opacity: 1;
}
/* 男女 ◆共通 */
/* 料金 ◆共通 */
/* タイトル ◆共通 */
.fee-title {
  display: flex;
  justify-content: space-between;
}
.fee-title-sex {
  white-space: nowrap;
}
.fee-title-sex h3 {
  font-size: 1.5rem;
  font-weight: 500;
}
.fee-title-service-wrap {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
}
.fee-title-service {
  border: 1px solid rgba(240, 240, 240, 0.2);
  border-radius: 14px;
  font-size: 0.7rem;
  padding: 3px 9px;
  margin: 3px 0 0 8px;
  height: 22px;
  min-width: 64.81px;
  white-space: nowrap;
  line-height: 0.87rem;
}
/* 表 ◆共通 */
.dl-table-wrap {
  width: 100%;
  font-weight: 500;
}
.dl-table-middle {
  padding-top: 16px;
}
.dl-table-inner dt {
  color: rgba(240, 240, 240, 0.6);
}
.dl-table-inner {
  display: flex;
  justify-content: space-between;
  padding: 10px 0 8px 0;
  border-bottom: solid 1px rgba(240, 240, 240, 0.2);
}
.dl-table {
  display: flex;
  justify-content: flex-start;
}
.dl-table dd {
  font-size: 1.1rem;
}
.dl-table-right {
  width: 50%;
}
.dl-table-right dd {
  font-family: 'Geist', serif;
}
.dl-table dt:first-child,
.dl-table dd:first-child {
  width: 53%;
}
.dl-table-fee dd:last-child {
  margin-left: 51px;
  margin-right: 27px;
}
dd.dl-vip {
  width: 50px;
  display: block;
  margin: 0 0 0 25%;
}
.dl-vip img {
  width: 100%;
}
.business-fee-wrap {
  position: relative;
}
/* 男性 */
.male-fee-wrap {
  width: 100%;
  border-radius: 5px;
  background-color: rgb(30, 30, 30);
  padding: 30px 0 32px 0;
  margin-bottom: min(2.8vw, 11px);
}
.male-fee-adjustment {
  margin: 0 auto;
  width: 87%;
  max-width: 600px;
}
.male-fee-inner {
  width: 100%;
}
/* 女性 */
.female-fee-wrap {
  width: 100%;
  border-radius: 5px;
  background-color: rgb(30, 30, 30);
  padding: 30px 0 32px 0;
  margin-bottom: min(2.8vw, 11px);
}
.female-fee-adjustment {
  margin: 0 auto;
  width: 87%;
  max-width: 600px;
}
.female-fee-inner {
  width: 100%;
}
/* female 0円 */
dd.dl-female {
  display: block;
  margin: 0 0 0 30%;
}
.female-fee-wrap .fee-note li:first-child {
  padding-bottom: 0;
}
/* 備考 */
.fee-note {
  padding-top: 23px;
  font-size: 0.7rem;
  color: rgba(240, 240, 240, 0.6);
}
.fee-note ul {
  list-style-type: none;
  margin-left: 0.7rem;
}
.fee-note p {
  line-height: 1.3rem;
}
.fee-note li p::before {
  content: '※';
  margin-left: -0.7rem;
}
/* 営業時間 対象年齢*/
.stance-time-wrap,
.stance-age-wrap {
  width: 100%;
  border-radius: 5px;
  background-color: rgb(30, 30, 30);
  padding: 30px 0 32px 0;
  margin-bottom: min(2.8vw, 11px);
}
.stance-adjustment {
  margin: 0 auto;
  width: 87%;
  max-width: 600px;
}
.stance-inner {
  width: 100%;
}
.stance-title {
  margin-bottom: 8px;
  white-space: nowrap;
}
.stance-title h3 {
  font-size: 1.5rem;
  font-weight: 500;
}
.stance-text {
  display: flex;
  padding-top: 13px;
}
.stance-text dt {
  margin-right: 14px;
  color: rgba(240, 240, 240, 0.6);
}
/* 入店ルール */
.entry-rules {
  width: 88%;
  margin: 0 auto;
  padding: 30px 0 30px 0;
  max-width: 705px;
}
.entry-rules-text {
  font-size: 0.75rem;
  margin-left: 1rem;
  list-style: disc;
  text-align: justify;
}
.entry-rules-text p {
  padding-bottom: 0.5rem;
  line-height: 1.15rem;
  margin-left: -0.3rem;
}
/* 店舗地図 */
.branch-map {
  border-radius: 5px;
  overflow: hidden;
  margin-bottom: min(2.8vw, 11px);
}
/* 住所 */
.branch-address-wrap {
  width: 100%;
  border-radius: 5px;
  background-color: rgb(30, 30, 30);
  padding: 30px 0 32px 0;
}
.branch-address-adjustment {
  margin: 0 auto;
  width: 88%;
  max-width: 600px;
}
.branch-address-inner {
  width: 100%;
}
.branch-address-title h3 {
  font-weight: 700;
}
.branch-address-title span:first-child {
  margin-right: 0.5rem;
}
.branch-address-title span:last-child {
  white-space: nowrap;
}
.branch-address span {
  margin-left: 0.5rem;
}
.branch-address {
  display: flex;
  padding-top: 13px;
}
.branch-address-link {
  padding-top: 13px;
  display: inline-block;
}
.branch-address-link a {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.branch-address-link p {
  margin-bottom: 2.5px;
}
/* ページトップリンク */
.page-top {
  position: relative;
  height: 180px;
}
.page-top-img-wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.page-top-img-wrap a {
  display: inline-block;
  padding: 20px 30px;
}
.page-top-img {
  width: 24px;
}
.page-top-img img {
  width: 100%;
}
/* ###################################### */
/* solotteページ */
/* ###################################### */
/* body-solotte-wrap はみ出し要素対応のため、アプリページだけwrapを独自に変更 */
.body-solotte-wrap {
  max-width: 1920px;
  margin: 0 auto;
  margin-top: 60px;
}
/* アイキャッチ ◆共有 */
.solotte-top-img-wrap {
  margin-left: min(2.82vw, 21px);
  margin-right: min(2.82vw, 21px);
}
.solotte-top-img-inner {
  border-radius: 5px;
  overflow: hidden;
  margin-bottom: min(2.8vw, 11px);
  position: relative;
  background-image: url(../img/solotte_top_img.jpg);
  background-repeat: no-repeat;
  aspect-ratio: 366 / 215;
  width: 100%;
  background-size: cover;
  background-position: 50% 50%;
}
/* ソロッテlogo */
.solotte-top-logo {
  width: 77vw;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.solotte-top-logo img {
  width: 100%;
}

/* アプリストアlink */
.solotte-app-wrap {
  margin-left: min(2.82vw, 21px);
  margin-right: min(2.82vw, 21px);
}
.solotte-app-middle {
  width: 100%;
  border-radius: 5px;
  background-color: rgb(30, 30, 30);
  padding: 30px 0 34px 0;
  margin-bottom: min(11vw, 50px);
}
.solotte-app-adjustment {
  margin: 0 auto;
  text-align: center;
}
.solotte-app-inner {
  margin: 0 6%;
}
.solotte-app-info-wrap {
  padding: 20px 4vw;
}
.solotte-app {
  text-align: center;
}
.solotte-app-title {
  font-size: 1.15rem;
  font-weight: 500;
  padding-bottom: 0.8rem;
}
.solotte-app-explanation {
  font-size: 0.81rem;
  font-weight: 500;
  color: rgb(255, 91, 191);
}
.solotte-app-img-wrap {
  display: flex;
  justify-content: center;
  margin-top: 0.9rem;
}
.solotte-apple-app-img {
  width: 135px;
  padding: 0 5px 0 0;
}
.solotte-google-app-img {
  width: 165px;
  padding: 0 0 0 5px;
}
.solotte-apple-app-img img {
  width: 100%;
}
.solotte-google-app-img img {
  width: 100%;
}
/* solotte内、スマホimg横メッセージ◆共通 */
.solotte-msg-inner {
  width: 80%;
  max-width: 760px;
  position: absolute;
  bottom: min(6.5vw, 109px);
  left: 50%;
  transform: translate(-50%, 0);
}
.solotte-msg-inner h2 {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 2.3rem;
  margin-bottom: 10px;
  font-size: min(7.4vw, 46px);
  line-height: min(9.55vw, 61px);
}
.solotte-msg-inner h2 span {
  white-space: nowrap;
}
.solotte-msg-inner p {
  font-size: 0.8rem;
  font-weight: 500;
  text-align: justify;
  line-height: 1.3rem;

  line-height: min(5.5vw, 33px);
  font-size: min(3.3vw, 18px);
}
/* 説明 wrap */
.solotte-explanation-wrap {
  max-width: 1760px;
  margin: 0 auto;
}
/* 注文 */
.solotte-order-wrap {
  display: flex;
  overflow: hidden;
  margin-left: min(2.82vw, 21px);
  margin-bottom: min(11vw, 50px);
}
.solotte-order-msg {
  position: relative;
  background-image: url(../img/solotte-img-order.jpg);
  background-repeat: no-repeat;
  width: min(70vw, 1400px);
  background-size: cover;
  background-position: 50% 50%;
  border-radius: 5px;
}
.solotte-order-img {
  margin-right: -12vw;
  margin-left: min(3.5vw, 64px);
  height: 100%;
  width: 65vw;
  max-width: 257px;
}
.solotte-order-img img {
  width: 100%;
  object-fit: contain;
}

/* 席替え */
.solotte-change-seat-wrap {
  display: flex;
  overflow: hidden;
  justify-content: flex-end;
  margin-right: min(2.82vw, 21px);
  margin-bottom: min(11vw, 50px);
}
.solotte-change-seat-msg {
  position: relative;
  background-image: url(../img/solotte-img-changing.jpg);
  background-repeat: no-repeat;
  width: min(70vw, 1400px);
  background-size: cover;
  background-position: 100% 0%;
  border-radius: 5px;
}
.solotte-change-seat-img {
  margin-left: -12vw;
  margin-right: min(3.5vw, 64px);
  height: 100%;
  width: 65vw;
  max-width: 257px;
}
.solotte-change-seat-img img {
  width: 100%;
  object-fit: contain;
}
/* マッチング */
.solotte-matching-wrap {
  display: flex;
  overflow: hidden;
  margin-left: min(2.82vw, 21px);
}
.solotte-matching-msg {
  position: relative;
  background-image: url(../img/solotte-img-matching.jpg);
  background-repeat: no-repeat;
  width: min(70vw, 1400px);
  background-size: cover;
  background-position: 50% 0%;
  border-radius: 5px;
}
.solotte-matching-img {
  margin-right: -12vw;
  margin-left: min(3.5vw, 64px);
  height: 100%;
  width: 65vw;
  max-width: 257px;
}
.solotte-matching-img img {
  width: 100%;
  object-fit: contain;
}

/* ページトップlink */
.solotte-page-top {
  position: relative;
  height: 180px;
}
.solotte-page-top-img-wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.solotte-page-top-img-wrap a {
  display: inline-block;
  padding: 20px 30px;
}
.solotte-page-top-img {
  width: 24px;
}
.solotte-page-top-img img {
  width: 100%;
}
.footer-solotte-wrap {
  margin-left: min(2.82vw, 21px);
  margin-right: min(2.82vw, 21px);
}

/* ###################################### */
/* メンバーズページ */
/* ###################################### */
/* -------------------------------------- */
/* アイキャッチ ◆共通 */
.members-top-img-wrap {
  border-radius: 5px;
  overflow: hidden;
  margin-bottom: min(2.8vw, 11px);
  position: relative;
  background-image: url(../img/members-img-top.jpg);
  background-repeat: no-repeat;
  /* 縦横比 */
  aspect-ratio: 366 / 215;
  width: 100%;
  background-size: cover;
  background-position: 50% 50%;
}
/* タイトルテキスト ◆共通 */
.members-top-title {
  width: 73vw;
  margin: 5.2vw 0 3.3vw 5.2vw;
}
.members-top-img-wrap p {
  display: block;
  font-weight: 700;
  font-size: 4.1vw;
  margin-left: 5.2vw;
}
/* -------------------------------------- */
/* card img */
.card-img-wrap {
  width: 100%;
  border-radius: 5px;
  background-color: rgb(30, 30, 30);
  padding-top: min(9.5vw, 60px);
  padding-bottom: min(10vw, 60px);
  margin-bottom: min(2.8vw, 11px);
}
.card-img-middle {
  padding: 20px 0 8px 0;
  font-size: 4.1vw;
  font-weight: 500;
  text-align: center;
}
.card-img-middle p {
  line-height: min(7.5vw, 2.4rem);
  font-size: min(4vw, 1.3rem);
}
.card-img-inner {
  display: flex;
  justify-content: center;
  margin-bottom: min(2.7vw, 1.1rem);
}
.card-img {
  margin-left: min(1.25vw, 10px);
  margin-right: min(1.25vw, 10px);
  width: min(16vw, 89px);
  max-height: 56px;
}
.card-img img {
  border-radius: 2px;
  width: 100%;
  vertical-align: top;
}
/* -------------------------------------- */
/* カード説明 ◆共通 */
.card-description-middle {
  width: 100%;
  padding: 30px 0 20px 0;
  margin-bottom: min(2.8vw, 11px);
}
.card-description-inner {
  margin: 0 auto;
  width: 88%;
  max-width: 1000px;
}
/* カードimg ◆共通 */
.card-description-wrap {
  margin-bottom: 25px;
}
.card-description-img-wrap {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}
.card-description-img-middle {
  width: 100px;
  margin-right: 15px;
}
.card-description-img {
  width: 100%;
  border-radius: 4px;
}
.card-description-text {
  font-size: 27px;
  font-weight: 600;
  width: 165px;
}
/* プラン特典　◆共通 */
.card-benefits-text-wrap {
  display: flex;
  align-items: baseline;
  margin-bottom: 0.18rem;
}
.card-benefits-circle-wrap {
  width: 16px;
}
.card-benefits-circle {
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  vertical-align: middle;
}
.card-benefits-text {
  display: inline-block;
  font-size: 0.813rem;
  line-height: min(5.2vw, 1.45rem);
  width: 95%;
}
/* 鍵かっこ付文字だけ左へ寄せる */
.card-text-square-brackets {
  margin-left: -6px;
}
.card-benefits-remarks {
  font-size: 0.75rem;
  opacity: 0.5;
  margin-top: 10px;
}
/* 料金表 ◆共通 */
/* 月額 ◆共通 */
.card-price-wrap {
  position: relative;
  border: 1px solid rgba(240, 240, 240, 0.5);
  border-radius: 5px;
  background-color: rgba(240, 240, 240, 0.1);
  margin-bottom: 12px;
}
.card-price-inner {
  padding: 15px;
}
.card-plan-name-wrap {
  display: flex;
  align-items: center;
  margin-bottom: 12px;
}
.card-plan-name {
  font-size: 15px;
  font-weight: 600;
  line-height: 15px;
  margin-right: 6px;
}
.card-plan-discount {
  font-size: 13px;
  font-weight: 500;
  color: rgb(255, 91, 191);
  line-height: 13px;
}
.card-plan-discount-num {
  font-family: 'Geist', serif;
}
.card-plan-discount-text {
  margin-left: -2.5px;
}
.card-plan-price-wrap {
  display: flex;
  align-items: baseline;
}
.card-plan-price {
  font-size: 27px;
  line-height: 27px;
  font-weight: 400;
  font-family: 'Geist', serif;
  margin-right: 4px;
}
.card-plan-text {
  font-size: 16px;
  line-height: 16px;
  font-weight: 500;
}
.card-plan-tax {
  font-size: 11px;
  line-height: 11px;
  font-weight: 500;
}
/* 矢印 ◆共通 */
.card-price-arrows {
  position: absolute;
  bottom: 12px;
  right: 12px;
  width: 24px;
}
.card-price-arrows-img {
  width: 100%;
  opacity: 0.5;
}
.card-price-link {
  display: inline-block;
  width: 100%;
  height: 100%;
}
/* ◆共通 end */
/* -------------------------------------- */
/* 会員カードカラー */
.card-bg-color-green {
  border-radius: 5px;
  background-color: rgb(27, 46, 40);
}
.card-bg-color-gold {
  border-radius: 5px;
  background-color: rgb(54, 48, 30);
}
.card-bg-color-platinum {
  border-radius: 5px;
  background-color: rgb(45, 46, 52);
}
/* プラン特典カラー */
.circle-green {
  background-color: rgb(152, 255, 170);
}
.card-color-green {
  color: rgb(152, 255, 170);
}
.circle-gold {
  background-color: rgb(244, 222, 144);
}
.card-color-gold {
  color: rgb(244, 222, 144);
}
.circle-platinum {
  background-color: rgb(204, 190, 235);
}
.card-color-platinum {
  color: rgb(204, 190, 235);
}
/* -------------------------------------- */
/* ご利用の流れ */
.hou-to-wrap {
  border-radius: 5px;
  overflow: hidden;
  position: relative;
  background-image: url(../img/members-img-houto.jpg);
  background-repeat: no-repeat;
  width: 100%;
  background-size: cover;
  background-position: 50% 28%;
}
.hou-to-middle {
  margin: 0 auto;
  width: 88%;
  padding-top: min(12.4vw, 58px);
  padding-bottom: min(11.6vw, 90px);
}
.hou-to-title-wrap {
  margin-bottom: min(8.5vw, 41px);
}
.hou-to-title {
  font-size: min(5.38vw, 1.7rem);
  font-weight: 700;
  text-align: center;
}
.hou-to-explanation-wrap {
  max-width: 1100px;
  margin: 0 auto;
}
.hou-to-explanation-middle {
  font-size: 1rem;
}
.hou-to-explanation-inner {
  display: flex;
  width: 83%;
  margin: 0 auto;
}
.hou-to-explanation-num {
  font-family: 'Geist', serif;
  font-size: min(4.1vw, 1.35rem);
  font-weight: 600;
  width: 15%;
  line-height: min(7.4vw, 2.5rem);
  white-space: nowrap;
}
.hou-to-explanation-text-wrap {
  font-weight: 600;
  text-align: left;
  display: inline-block;
  width: 85%;
}
.hou-to-explanation-text {
  font-size: min(4.1vw, 1.35rem);
  line-height: min(7.4vw, 2.5rem);
}

.hou-to-line-border {
  color: rgba(240, 240, 240, 0.3);
  margin: 5.3vw 0 4.7vw 0;
  border-width: 2px 0 0 0;
}
/* -------------------------------------- */
/* 注意事項 */
.card-notes-wrap {
  width: 90%;
  margin: 0 auto;
  max-width: 800px;
  margin-top: min(7.88vw, 60px);
}
.card-notes-title {
  margin-left: -0.2rem;
}
.card-notes-wrap li,
h3.card-notes-title,
.card-usage-example p {
  font-size: min(3.035vw, 0.85rem);
  font-weight: 300;
  line-height: min(4.925vw, 1.5rem);

  text-align: justify;
}
.card-usage-example,
.card-notes-margin {
  margin-bottom: min(5.5vw, 24px);
}
.card-usage-example p {
  margin-left: 0.8rem;
}
.card-notes-wrap li {
  text-indent: -1em;
  padding-left: 1em;
}
.card-notes-wrap li::before {
  content: '・';
}
.card-notes-text {
  margin-bottom: min(5.5vw, 24px);
}

/* ###################################### */
/* 貸し切りプラン */
/* ###################################### */
/* アイキャッチ ◆共通 */
.private-top-img-wrap {
  border-radius: 5px;
  overflow: hidden;
  margin-bottom: min(2.8vw, 11px);
  position: relative;
  background-image: url(../img/private-img-top.jpg);
  background-repeat: no-repeat;
  /* 縦横比 */
  aspect-ratio: 366 / 215;
  width: 100%;
  background-size: cover;
  background-position: 50% 50%;
}
/* 貸し切り説明 呼びかけ ◆共通 */
.private-explanation-wrap {
  width: 100%;
  border-radius: 5px;
  background-color: rgb(30, 30, 30);
  padding: 48px 0 50px 0;

  margin-bottom: min(2.8vw, 11px);
}
.private-explanation-inner {
  font-weight: 500;
  text-align: center;
  max-width: 400px;
  margin: 0 auto;
}
/* タイトルテキスト */
.private-top-title {
  width: 59vw;
  margin: 5.2vw 0 3.3vw 5.2vw;
}
.private-top-img-wrap p {
  display: block;
  font-weight: 700;
  font-size: 4.1vw;
  margin-left: 5.2vw;
}
/* 貸し切り説明 */
.private-explanation-inner p {
  line-height: min(7.5vw, 2.4rem);
  font-size: min(4vw, 1.375rem);
}
p.private-explanation-remarks {
  font-size: min(3.3vw, 0.93rem);
  color: rgba(240, 240, 240, 0.5);
}
/* 使用例 */
.private-uses-examples-wrap {
  border-radius: 5px;
  overflow: hidden;
  margin-bottom: min(2.8vw, 11px);
  position: relative;
  background-image: url(../img/private-img-examples.jpg);
  background-repeat: no-repeat;
  width: 100%;
  background-size: cover;
  background-position: 75% 37%;
}
.private-uses-examples-middle {
  padding-top: 45px;
  padding-bottom: 45px;
}
.private-uses-examples-inner {
  width: 77%;
  max-width: 450px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.private-uses-examples-inner:before {
  content: '';
  display: block;
  width: 22%;
  order: 1;
  max-width: 220px;
}
.private-uses-examples-inner:after {
  content: '';
  display: block;
  width: 22%;
  order: 1;
  max-width: 220px;
}
.private-uses-examples-inner li {
  display: inline-block;
  width: 46%;
  padding: 9px 0 11px 0;
  border: 1px solid rgba(240, 240, 240);
  border-radius: 3px;
  text-align: center;
  letter-spacing: 0.1rem;
  font-size: min(4.1vw, 1.45rem);
  font-weight: 500;
  margin-bottom: 20px;
}
li.private-uses-examples-note {
  width: 100%;
  border: none;
  font-size: min(3.3vw, 0.95rem);
  margin-bottom: 0;
  padding: 0;
}
/* 呼びかけ */
.private-explanation-call {
  width: 72%;
  margin: 0 auto;
}
.private-explanation-call span {
  white-space: nowrap;
}
/* 設備 */
.private-facility-wrap {
  border-radius: 5px;
  overflow: hidden;
  margin-bottom: min(2.8vw, 11px);
  position: relative;
  background-image: url(../img/private-img-facilitie.jpg);
  background-repeat: no-repeat;
  width: 100%;
  background-size: cover;
  background-position: 50% 50%;
}
.private-facility-middle {
  padding-top: 45px;
  padding-bottom: 45px;
}
.private-facility-inner {
  text-align: center;
}
.private-facility-inner h2 {
  font-size: min(5.75vw, 1.71rem);
  font-weight: 600;
  margin-bottom: 37px;
}
.private-facility-img-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 4px;
}
.private-facility-img-middle {
  width: min(27vw, 127px);
  margin-bottom: 31px;
}
.private-facility-img-middle p {
  font-size: 1rem;
  font-size: min(4.1vw, 1.222rem);
  font-weight: 600;
}
.private-facility-img-inner {
  width: min(18vw, 70px);
  margin: 0 auto;
}
.private-facility-img-inner img {
  width: 100%;
}
p.private-facility-note {
  width: 100%;
  border: none;
  font-size: min(3.415vw, 0.909rem);
  margin-bottom: 0;
  padding: 0;
}
/* お問い合わせ */
.private-inquiry-wrap {
  border-radius: 5px;
  overflow: hidden;
  margin-bottom: min(2.8vw, 11px);
  position: relative;
  background-image: url(../img/private-img-inquiry.jpg);
  background-repeat: no-repeat;
  width: 100%;
  height: min(38.5vw, 380px);
  background-size: cover;
  background-position: 50% 50%;
  border: 1px solid rgba(240, 240, 240, 0.8);
}

.private-inquiry-arrows {
  position: absolute;
  bottom: min(4.5vw, 35px);
  right: min(4.5vw, 35px);
  width: min(9.2vw, 72px);
}
.private-inquiry-text {
  position: absolute;
  bottom: min(4.5vw, 35px);
  left: min(4.5vw, 30px);
  font-size: min(8.21vw, 4.187rem);
  font-weight: 700;
}
.private-inquiry-arrows-img {
  width: 100%;
}
.private-inquiry-link {
  display: inline-block;
  width: 100%;
  height: 100%;
}

/* ###################################### */
/* リクルート */
/* ###################################### */
/* アイキャッチ ◆共通 */
.recruit-top-img-wrap {
  border-radius: 5px;
  overflow: hidden;
  margin-bottom: min(2.8vw, 11px);
  position: relative;
  background-image: url(../img/recruit_top_img.jpg);
  background-repeat: no-repeat;
  /* 縦横比 */
  aspect-ratio: 366 / 215;
  width: 100%;
  background-size: cover;
  background-position: 50% 50%;
}
/* タイトルテキスト ◆共通 */
.recruit-top-title {
  width: 64vw;
  margin: 5.2vw 0 3.3vw 5.2vw;
}
.recruit-top-img-wrap p {
  display: block;
  font-weight: 700;
  font-size: 4.1vw;
  margin-left: 5.2vw;
}
/* リクルート説明 ◆共通 */
.recruit-explanation-wrap {
  width: 100%;
  border-radius: 5px;
  background-color: rgb(30, 30, 30);
  padding: 48px 0 50px 0;
  margin-bottom: min(2.8vw, 11px);
}
.recruit-explanation-inner {
  font-weight: 500;
  text-align: center;
  max-width: 400px;
  margin: 0 auto;
}
.recruit-explanation-inner p {
  line-height: min(7.5vw, 2.4rem);
  font-size: min(4vw, 1.375rem);
}
/* 正社員採用・アルバイト採用 */
.recruit-inquiry-full-time-wrap {
  border-radius: 5px;
  overflow: hidden;
  margin-bottom: min(2.8vw, 11px);
  position: relative;
  background-image: url(../img/recruit_full_time_img.jpg);
  background-repeat: no-repeat;
  width: 100%;
  height: min(38.5vw, 380px);
  background-size: cover;
  background-position: 50% 10%;
  border: 1px solid rgba(240, 240, 240, 0.8);
}
.recruit-inquiry-part-time-wrap {
  border-radius: 5px;
  overflow: hidden;
  margin-bottom: min(2.8vw, 11px);
  position: relative;
  background-image: url(../img/recruit_part_time_img.jpg);
  background-repeat: no-repeat;
  width: 100%;
  height: min(38.5vw, 380px);
  background-size: cover;
  background-position: 50% 33%;
  border: 1px solid rgba(240, 240, 240, 0.8);
}
.recruit-inquiry-arrows {
  position: absolute;
  bottom: 17px;
  right: 17px;
  width: min(9.2vw, 72px);
}
.recruit-inquiry-text {
  position: absolute;
  bottom: 17px;
  left: 17px;
  font-size: min(8.21vw, 5.187rem);
  font-weight: 700;
}
.recruit-inquiry-arrows-img {
  width: 100%;
}
.recruit-inquiry-link {
  display: inline-block;
  width: 100%;
  height: 100%;
}
/* テキスト改行 on off */
.recruit-switch {
  display: none;
}

/* ###################################### */
/* コンタクト */
/* ###################################### */
/* アイキャッチ ◆共通 */
.contact-top-img-wrap {
  border-radius: 5px;
  overflow: hidden;
  margin-bottom: min(2.8vw, 11px);
  position: relative;
  background-image: url(../img/contact_top_img.jpg);
  background-repeat: no-repeat;
  /* 縦横比 */
  aspect-ratio: 366 / 215;
  width: 100%;
  background-size: 113vw;
  background-position: 50% 43%;
}
/* タイトルテキスト ◆共通 */
.contact-top-title {
  width: 69vw;
  margin: 5.2vw 0 3.3vw 5.2vw;
}
.contact-top-img-wrap p {
  margin-left: 5.2vw;
}
/* コンタクト説明 ◆共通 */
.contact-explanation-wrap {
  width: 100%;
  border-radius: 5px;
  background-color: rgb(30, 30, 30);
  padding: 48px 0 50px 0;
  margin-bottom: min(2.8vw, 11px);
}
.contact-explanation-inner {
  font-weight: 500;
  text-align: center;
  max-width: 400px;
  margin: 0 auto;
  margin-bottom: 1.8rem;
}
.contact-explanation-inner p {
  line-height: min(7.5vw, 2.4rem);
  font-size: min(4vw, 1.375rem);
}

/* コンタクト お問い合わせの例 */
.contact-inquiry-example-wrap {
  text-align: center;
  font-size: min(3.3vw, 0.91rem);
  color: rgba(240, 240, 240, 0.5);
  margin-bottom: 5px;
}
.contact-inquiry-list-inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.contact-inquiry-list-inner li {
  background-color: rgb(50, 50, 50);
  display: inline-block;
  padding: 5px 9px 7px 9px;
  font-size: min(3.35vw, 0.815rem);
  border-radius: 6px;
  margin: 5px;
}

/* お問い合わせボタン */
.contact-inquiry-wrap {
  border-radius: 5px;
  overflow: hidden;
  margin-bottom: min(2.8vw, 11px);
  position: relative;
  background-image: url(../img/contact-img-inquiry.jpg);
  background-repeat: no-repeat;
  width: 100%;
  height: min(38.5vw, 380px);
  background-size: cover;
  background-position: 50% 50%;
  border: 1px solid rgba(240, 240, 240, 0.8);
}
.contact-inquiry-arrows {
  position: absolute;
  bottom: min(4.5vw, 35px);
  right: min(4.5vw, 35px);
  width: min(9.2vw, 72px);
}
.contact-inquiry-text {
  position: absolute;
  bottom: min(4.5vw, 35px);
  left: min(4.5vw, 30px);
  font-size: min(8.21vw, 4.187rem);
  font-weight: 700;
}
.contact-inquiry-arrows-img {
  width: 100%;
}
.contact-inquiry-link {
  display: inline-block;
  width: 100%;
  height: 100%;
}
/* PRESS KIT ◆共通 */
.contact-press-kit-wrap {
  width: 100%;
  border-radius: 5px;
  background-color: rgb(30, 30, 30);
  padding: 48px 0 50px 0;
  margin-bottom: min(2.8vw, 11px);
}
.contact-press-kit-inner {
  font-weight: 500;
  margin: 0 auto;
  position: relative;
  width: 87%;
}
.contact-press-kit-inner h2 {
  text-align: center;
  font-size: min(7.2vw, 1.94rem);
  margin-bottom: 32px;
}
.contact-press-kit-inner p {
  font-size: min(3.3vw, 0.91rem);
  text-align: justify;
  line-height: 1.35rem;
  margin-bottom: 32px;
}
/* テキスト改行 on off */
.contact-switch {
  display: none;
}
.contact-press-kit-link {
  position: relative;
  border: 1px solid rgba(240, 240, 240, 0.3);
  border-radius: 6px;
  background-color: rgb(50, 50, 50);
  height: 88px;
  max-width: 320px;
  margin: 0 auto;
}
.contact-press-kit-link a {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.contact-press-kit-link p {
  text-align: center;
  margin: 0;
  font-size: min(3.835vw, 0.94rem);
}
.contact-press-kit-arrows {
  position: absolute;
  bottom: 12px;
  right: 12px;
  width: min(6.1vw, 24px);
  opacity: 0.6;
}
.contact-press-kit-arrows-img {
  width: 100%;
}

/* ###################################### */
/* information */
/* ###################################### */
/* アイキャッチ ◆共通 */
.info-top-img-wrap {
  border-radius: 5px;
  overflow: hidden;
  margin-bottom: min(2.8vw, 11px);
  position: relative;
  background-image: url(../img/information_top_img.jpg);
  background-repeat: no-repeat;
  /* 縦横比 */
  aspect-ratio: 366 / 215;
  width: 100%;
  background-size: cover;
  background-position: 50% 50%;
}
/* タイトルテキスト ◆共通 */
.info-top-title {
  width: 32.5vw;
  margin: 5.2vw 0 3.3vw 5.2vw;
}
.info-top-img-wrap p {
  display: block;
  font-weight: 700;
  font-size: 4.1vw;
  margin-left: 5.2vw;
}
/* お知らせ一覧 */
.info-list-wrap {
  width: 100%;
  border-radius: 5px;
  background-color: rgb(30, 30, 30);
  padding: 48px 0 50px 0;
  margin-bottom: min(2.8vw, 11px);
}
.info-list-inner {
  font-weight: 400;
  margin: 0 auto;
  width: 87%;
  max-width: 1000px;
}
.info-list-text-inner {
  padding-top: min(3.2vw, 22px);
  padding-bottom: min(3.5vw, 23px);
  border-bottom: 1px solid rgba(240, 240, 240, 0.2);
}
.info-list-text-inner:last-child {
  padding-bottom: 0;
  border-bottom: none;
}
.info-list-date {
  color: rgba(240, 240, 240, 0.5);
  margin-bottom: 1px;
  font-size: min(3.59vw, 1.05rem);
}
.info-list-text {
  line-height: min(6.8vw, 2rem);
  font-size: min(3.59vw, 1.05rem);
  text-align: justify;
}
.info-list-link {
  text-decoration: underline;
  text-underline-offset: 3px;
}
/* ページャー */
.info-list-pager {
  padding-top: 20px;
  padding-bottom: 20px;
  display: flex;
  justify-content: center;
  line-height: 1.6rem;
  gap: 8px;
}
.info-list-pager-button {
  font-size: 2rem;
}
.info-list-item {
  height: 28px;
  width: 28px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: min(3.59vw, 1.05rem);
}
.info-list-pager-active {
  background-color: rgb(240, 240, 240);
  color: rgb(0, 0, 0);
  border-radius: 50%;
}
.info-tag-list {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.info-tag-item {
  font-size: min(3.59vw, 1.05rem);
  color: rgba(240, 240, 240, 0.5);
  padding: 4px 8px;
  border: 1px solid rgba(240, 240, 240, 0.5);
  border-radius: 4px;
}
/* ###################################### */
/* 特定商取引法 */
/* ###################################### */

.legal-disclosures-middle {
  width: 85%;
  margin: 0 auto;
  padding: 90px 0 0 0;
  max-width: 1000px;
}

.legal-disclosures-h1 {
  font-size: 1.3rem;
  font-weight: 700;
}
.legal-disclosures-h2 {
  font-size: 0.9rem;
  font-weight: 600;
  margin-bottom: 2px;
}
.legal-disclosures-text {
  font-size: 0.8rem;
  color: rgba(240, 240, 240, 0.9);
}
.legal-disclosures-inner dt,
.legal-disclosures-inner dd {
  line-height: 1.6rem;
}
.disclosure-item {
  margin: 27px 0;
}

/* ###################################### */
/* プライバシーポリシー */
/* ###################################### */

.privacy-policy-middle {
  width: 85%;
  margin: 0 auto;
  padding: 90px 0 0 0;
  max-width: 1000px;
}

.privacy-policy-inner h1 {
  font-size: 1.3rem;
  font-weight: 700;
  margin-bottom: 38px;
}
.privacy-policy-section {
  margin: 25px 0;
}
.privacy-policy-section h2,
.privacy-policy-section p,
.privacy-policy-section li {
  line-height: 1.6rem;
}

.privacy-policy-text,
.privacy-policy-list li {
  font-size: 0.8rem;
  color: rgba(240, 240, 240, 0.9);
}

/* ###################################### */
/* 個別ページ お知らせ */
/* ###################################### */

/* お知らせ */
.individually-wrap {
  border-radius: 5px;
  overflow: hidden;
  margin-bottom: min(2.8vw, 11px);
}
.individually-news-wrap {
  width: 100%;
  background-color: rgb(30, 30, 30);
  padding: 48px 0 50px 0;
}
.individually-news-inner {
  font-weight: 400;
  margin: 0 auto;
  width: 87%;
  max-width: 1000px;
}
.individually-news-title h1 {
  font-size: min(3.87vw, 1.48rem);
  font-weight: 700;
  line-height: min(6.8vw, 2.75rem);
  text-align: justify;
}
.individually-news-title time {
  font-size: min(3.59vw, 1.05rem);
  font-weight: 500;
  color: rgba(240, 240, 240, 0.5);
  line-height: min(6.5vw, 2.7rem);
}
.individually-news-inner hr {
  color: rgba(240, 240, 240, 0.2);
  margin-top: min(4vw, 2.3rem);
  margin-bottom: min(4.2vw, 2.35rem);
}
.individually-news-subtitle h2 {
  font-size: min(3.59vw, 1.05rem);
  font-weight: 600;
  line-height: min(6.3vw, 2rem);
  text-align: justify;
  margin-bottom: min(1.5vw, 12px);
}
.individually-news-subtitle p {
  font-size: min(3.59vw, 1.05rem);
  line-height: min(6.3vw, 2.3rem);
  text-align: justify;
  color: rgba(240, 240, 240, 0.8);
}
.individually-news-text {
  font-size: min(3.59vw, 1.05rem);
  line-height: min(6.3vw, 2.3rem);
  text-align: justify;
  color: rgba(240, 240, 240, 0.8);
}
/* ページャー */
.individually-list-pager {
  padding: 20px;
  display: flex;
  justify-content: center;
  line-height: 1.6rem;
}
.individually-list-pager div {
  margin: 0 13px;
  display: grid;
  place-items: center;
}
.individually-list-pager-button {
  font-size: 2rem;
}

/* レスポンシブ画像対応 */
.responsive-image {
  width: 100%;
  height: auto;
  display: block;
}

/* スライダー内のレスポンシブ画像 */
.toppage-slider .responsive-image {
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* モバイル用画像（デフォルト） */
@media screen and (max-width: 767px) {
  .responsive-image[data-mobile-src] {
    content: attr(data-mobile-src);
  }
}

/* PC用画像 */
@media screen and (min-width: 768px) {
  .responsive-image[data-pc-src] {
    content: attr(data-pc-src);
  }
}

/* picture要素のレスポンシブ対応 */
picture {
  display: block;
  width: 100%;
}

picture img {
  width: 100%;
  height: auto;
  display: block;
}

/* スライダー内のpicture要素 */
.toppage-slider picture {
  width: 100%;
  height: auto;
}

.toppage-slider picture img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
