@charset "UTF-8";

@font-face {
    font-family: 'CustomFont'; /* フォントの名前 */
    src: url('../fonts/NotoSansJP-ExtraBold.ttf') format('truetype'); /* フォントファイルへのパス */
    font-weight: 900; /* より細いフォントの太さ */
    font-style: normal; /* フォントのスタイル */
  }
@font-face {
    font-family: 'CustomFont2'; /* フォントの名前 */
    src: url('../fonts/GoldenGooseUppercase-VariableVF.ttf') format('truetype'); /* フォントファイルへのパス */
    font-weight: 900; /* より細いフォントの太さ */
    font-style: normal; /* フォントのスタイル */
  }
@font-face {
    font-family: 'CustomFont3'; /* フォントの名前 */
    src: url('../fonts/Medium.ttf') format('truetype'); /* フォントファイルへのパス */
    font-weight: 900; /* より細いフォントの太さ */
    font-style: normal; /* フォントのスタイル */
  }



body {
    font-family: 'CustomFont', sans-serif;  
    overflow-x: hidden;
}
.store-list-heading {
  text-align: center;
  margin-bottom: 82px;
}

.store-list-en {
  display: block;
  font-size: 14px;
  letter-spacing: 0.15em;
  color: #6ec6d9; /* 水色 */
  margin-bottom: 6px;
  font-weight: 600;
}

.store-list-title {
  font-size: 30px;
  font-weight: bold;
  color: #363636;

}
    .store-detail {
      max-width: 1100px;
      margin: 100px auto;
      padding: 0 20px;
    }

    .store-detail h1 {
      text-align: center;
      font-size: 28px;
      margin-bottom: 48px;
    }

    /* ===== 上段（画像＋情報） ===== */
    .store-main {
      display: flex;
      gap: 40px;
      margin-bottom: 88px;
    }

    .store-main-img {
      width: 45%;
      border-radius: 16px;
      object-fit: cover;
    }

    .store-info {
      flex: 1;
      display: flex;
      flex-direction: column;
      gap: 16px;
    }

    .store-profile {
      display: flex;
      align-items: center;
      gap: 14px;
    }

    .store-profile img {
      width: 60px;
      height: 60px;
      border-radius: 50%;
      object-fit: cover;
    }

    .store-name {
      font-size: 22px;
      font-weight: bold;
    }

    .store-category {
      display: inline-block;
      padding: 4px 12px;
      border-radius: 20px;
      background: #8e44ad;
      color: #fff;
      font-size: 12px;
      width: fit-content;
    }

    .store-desc {
      font-size: 15px;
      line-height: 1.7;
    }

    /* ===== 店舗情報 ===== */
    .store-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 24px;
      margin-top: 12px;
    }

    .store-meta-item {
      width: calc(50% - 12px);
      font-size: 14px;
    }

    .store-meta-item span {
      display: block;
      font-weight: bold;
      margin-bottom: 4px;
    }

    .store-meta-item a {
      color: #2980b9;
      text-decoration: underline;
    }

    /* ===== クーポン ===== */
.store-coupon {
  position: relative;
  background: url(../img/huwa117.png);
  background-size: cover;
  border-radius: 20px;
  padding: 32px;
  box-shadow: 0 6px 20px rgba(0,0,0,0.08);
  max-width: 600px;
  margin: 0 auto;
  overflow: hidden;
}

/* 白をかぶせる */
.store-coupon::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.45);
  z-index: 0;
}

/* 中身を前面に */
.store-coupon > * {
  position: relative;
  z-index: 1;
}

    .store-coupon h2 {
      font-size: 22px;
      margin-bottom: 20px;
      color: #363636;
      text-align: center;
      display: flex;
      align-items: center;
      gap: 10px;
      justify-content: center;
    }
    .store-coupon h2 img{
      max-width: 30px;
      width: 100%;
    }

.coupon-content {
  font-size: 20px;
  font-weight: bold;
  color: #537dd8;
  max-width: 450px;
  margin: 0 auto 20px;
}

.coupon-point {
  background: #fff;
  border-radius: 12px;
  padding: 16px;
  font-size: 14px;
  line-height: 1.6;
  color: #555;
  box-shadow: inset 0 0 0 1px #e0e0e0;
    max-width: 450px;
  margin: 0 auto 28px;
}

/* ===== クーポンボタン ===== */
.coupon-btn {
  display: block;          /* ← ここ重要 */
  width: fit-content;      /* ボタン幅を中身に合わせる */
  margin: 0 auto;          /* ← 中央寄せ */
  padding: 14px 36px;
  background: #41a6ce;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  border-radius: 999px;
  text-decoration: none;
  transition: all 0.25s ease;
  box-shadow: 0 8px 20px rgba(65,166,206,0.4);
}

.coupon-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(65,166,206,0.5);
}

.coupon-btn:active {
  transform: translateY(0);
  box-shadow: 0 6px 16px rgba(65,166,206,0.4);
}

    /* ===== SP ===== */
    @media (max-width: 768px) {
        .store-detail {
      max-width: 1100px;
      margin: 70px auto;
      padding: 0 20px;
    }

      .store-list-heading {
  text-align: center;
  margin-bottom: 52px;
}
    /* ===== 上段（画像＋情報） ===== */
    .store-main {
      display: flex;
      gap: 40px;
      margin-bottom: 48px;
    }

      .store-main {
        flex-direction: column;
      }

      .store-main-img {
        width: 100%;
      }

      .store-meta-item {
        width: 100%;
      }
    }