    body {
      font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
      color: #333;
      line-height: 1.8;
      background: #fffdf9;
    }
    .navbar {
      background: rgba(34, 34, 34, 0.92);
    }
    .navbar-brand,
    .navbar-dark .navbar-nav .nav-link {
      color: #fff;
    }
    .hero {
      position: relative;
      background: linear-gradient(rgba(255,255,255,.55), rgba(255,255,255,.45)), url('img/img_tsuki_002.jpg') center center/cover no-repeat;
      color: #070707;
      padding: 280px 0 200px;
    }
    .hero-badge {
      display: inline-block;
      background: rgba(255,255,255,.16);
      border: 1px solid rgba(255,255,255,.3);
      padding: .35rem .75rem;
      border-radius: 999px;
      font-size: .9rem;
      margin-bottom: 1rem;
    }
    .section-title {
      font-size: 2rem;
      font-weight: 700;
      margin-bottom: 1rem;
      color: #42210b;
    }
    .section-subtitle {
      color: #7a6657;
      margin-bottom: 2.5rem;
    }
    .feature-card,
    .menu-card,
    .flow-card,
    .info-card {
      background: #fff;
      border: 1px solid #eee4d9;
      border-radius: 14px;
      box-shadow: 0 8px 24px rgba(0,0,0,.05);
      height: 100%;
    }
    .feature-card {
      padding: 2rem 1.5rem;
      text-align: center;
    }
    .feature-icon {
      width: 70px;
      height: 70px;
      border-radius: 50%;
      background: #f7efe7;
      color: #8b5e3c;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 1.6rem;
      font-weight: bold;
      margin-bottom: 1rem;
    }
    .bg-soft {
      background: #f8f3ee;
    }
    .menu-card img {
      width: 100%;
      height: 220px;
      object-fit: cover;
      border-top-left-radius: 14px;
      border-top-right-radius: 14px;
    }
    .menu-card .card-body {
      padding: 1.4rem;
    }
    .price {
      color: #9b2f2f;
      font-size: 1.35rem;
      font-weight: 700;
    }
    .flow-step {
      display: inline-block;
      min-width: 48px;
      padding: .35rem .75rem;
      background: #8b5e3c;
      color: #fff;
      border-radius: 999px;
      font-size: .85rem;
      font-weight: 700;
      margin-bottom: 1rem;
    }
    .flow-card,
    .info-card {
      padding: 1.6rem;
    }
    .area-list li,
    .point-list li {
      margin-bottom: .45rem;
    }
    .cta {
      background: linear-gradient(135deg, #5c2f13, #8b5e3c);
      color: #fff;
      border-radius: 18px;
      padding: 3rem 2rem;
    }
    .cta .btn {
      min-width: 220px;
      padding: .85rem 1.4rem;
      font-weight: 700;
      border-radius: 999px;
    }
    .store-box {
      border-left: 4px solid #8b5e3c;
      padding-left: 1rem;
      margin-bottom: 1.5rem;
    }
    footer {
      background: #2b211b;
      color: rgba(255,255,255,.82);
      font-size: .95rem;
    }
    @media (max-width: 767.98px) {
      .hero {
        padding: 150px 0 70px;
      }
      .section-title {
        font-size: 1.65rem;
      }
      .hero h1 {
        font-size: 2rem;
      }
    }
.text-marker {
  color: #000;
  font-weight: 700;
  background: linear-gradient(transparent 60%, #fff3a0 60%);
  padding: 0 3px;
}
.text-outline-white {
color: #000;
  font-weight: 800;
  text-shadow:
    0 0 5px rgba(255,255,255,1),
    0 0 10px rgba(255,255,255,0.9),
    0 0 15px rgba(255,255,255,0.7);
}
.btn-order-premium{
  display:inline-block;
  background:#8b0000;
  color:#fff;
  font-size:18px;
  font-weight:bold;
  padding:16px 34px;
  border-radius:40px;
  text-decoration:none;
  box-shadow:0 6px 16px rgba(0,0,0,0.25);
  transition:0.3s;
}

.btn-order-premium:hover{
  background:#6b0000;
  color:#fff;
}