.hero-small {
    background: url("../../img/washi-bg.jpg");
    background-size: cover;
    background-position: center;
    padding: 40px 20px;
    text-align: center;
    position: relative;
}

.hero-small::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(255,255,255,0.55);
}

.hero-small h1,
.hero-small .sub {
    position: relative;
    z-index: 2;
    color: #1a2a4a;
}

.sake-detail {
    max-width: 900px;
    margin: 40px auto;
    padding: 0 20px;
}

.sake-image img {
    width: 100%;
    max-width: 350px;
    aspect-ratio: 1 / 1; /* 正方形を維持 */
    object-fit: cover;   /* 中央を綺麗に切り抜く */
    border-radius: 6px;
    display: block;
    margin: 0 auto 30px;
}


.sake-info table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 30px;
}

.sake-info th {
    width: 30%;
    background: #f3f3f3;
    padding: 10px;
    border: 1px solid #ddd;
}

.sake-info td {
    padding: 10px;
    border: 1px solid #ddd;
}

.sake-description p {
    line-height: 1.8;
    margin-bottom: 40px;
}

.back-link {
    text-align: center;
}

.back-link a {
    color: #c73e3a;
    text-decoration: none;
}

/* フッター */
footer {
    text-align: center;
    padding: 30px;
    background: #1a2a4a;
    color: #fff;
    margin-top: 40px;
}

/* ▼ インスタ風 3列グリッド（PC） */
.sake-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3列固定 */
    gap: 20px;
}

/* ▼ スマホは2列に自動変更 */
@media (max-width: 768px) {
    .sake-list {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ▼ カードデザイン */
.sake-card {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    text-align: center;
    padding-bottom: 10px;
    transition: transform 0.2s ease;
}

.sake-card:hover {
    transform: scale(1.03);
}

/* ▼ 画像を絶対に正方形にする */
.sake-card img {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;   /* 正方形に固定 */
    object-fit: cover;     /* トリミングして綺麗に見せる */
    display: block;
}

.hawa-tag {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 6px;
  font-size: 1rem;      /* ← 小さめやけど読めるサイズ */
  color: #555;             /* ← ちょい濃いグレーで視認性UP */
  background: #e8e8e8;     /* ← 薄いグレーで上品に */
  border-radius: 4px;
  opacity: 0.85;           /* ← ほんのり控えめ */
}

.hawanii-oshi {
  display: inline-block;
  background: linear-gradient(135deg, #d4af37, #f7e27b);
  color: #5a3e00;
  font-weight: 700;
  font-size: 14px;
  padding: 6px 14px;
  border-radius: 9999px;
  border: 1px solid rgba(255,255,255,0.6);
  letter-spacing: 0.05em;

  /* 光のアニメーション */
  animation: hawaniiGlow 2.5s ease-in-out infinite;
}

@keyframes hawaniiGlow {
  0%, 100% {
    box-shadow:
      0 0 6px rgba(212, 175, 55, 0.35),
      0 3px 8px rgba(212, 175, 55, 0.25);
    transform: scale(1);
  }
  50% {
    box-shadow:
      0 0 18px rgba(212, 175, 55, 0.65),
      0 4px 14px rgba(212, 175, 55, 0.4);
    transform: scale(1.03);
  }
}

/* ==========================================
   ハワ兄推しスタンプアニメーション
========================================== */

.hawa-stamp-wrap {
  margin: 12px 0 20px;
  perspective: 800px;
}

/* 印影本体 */
.hawa-stamp {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 148px;
  height: 148px;
  border: 5px solid #c30000;
  border-radius: 50%;
  color: #c30000;
  background: rgba(255, 255, 255, 0.92);
  box-sizing: border-box;
  position: relative;

  /* 文字のにじみ感 */
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  text-align: center;

  /* 最初は上から落ちてくる */
  opacity: 0;
  transform:
    translateY(-220px)
    rotate(-18deg)
    scale(1.8);

  /* ハンコを押すアニメーション */
  animation: hawaStampDrop 1.25s cubic-bezier(.18,.9,.2,1) forwards;

  /* 印影っぽいざらつき */
  box-shadow:
    0 0 0 2px rgba(195, 0, 0, 0.08) inset,
    0 0 10px rgba(195, 0, 0, 0.08);
}

/* 外周を少しラフに */
.hawa-stamp::before {
  content: "";
  position: absolute;
  inset: 4px;
  border: 2px solid rgba(195, 0, 0, 0.75);
  border-radius: 50%;
}

/* 押した瞬間のインクの広がり */
.hawa-stamp::after {
  content: "";
  position: absolute;
  inset: -12px;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(195, 0, 0, 0.18) 0%,
    rgba(195, 0, 0, 0.08) 40%,
    rgba(195, 0, 0, 0) 75%
  );
  opacity: 0;
  transform: scale(0.5);
  animation: hawaInkBurst 1.25s ease-out forwards;
}

/* 中央の文字 */
.hawa-stamp-inner {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1;
}

.hawa-main {
  display: block;
  font-size: 52px;
  font-weight: 700;
  letter-spacing: -0.06em;
  transform: rotate(-2deg);
}

.hawa-sub {
  display: block;
  margin-top: 4px;
  margin-left: 4px
  font-size: 0.9em;
  font-weight: 700;
  letter-spacing: 0.04em;
  transform: rotate(-4deg);
}

/* ハンコが押される動き */
@keyframes hawaStampDrop {
  0% {
    opacity: 0;
    transform:
      translateY(-220px)
      rotate(-18deg)
      scale(1.8);
  }

  55% {
    opacity: 1;
    transform:
      translateY(0)
      rotate(-2deg)
      scale(1.05);
  }

  /* 押し込む */
  68% {
    transform:
      translateY(6px)
      rotate(0deg)
      scale(0.94);
  }

  /* 跳ね返り */
  82% {
    transform:
      translateY(-2px)
      rotate(1deg)
      scale(1.02);
  }

  100% {
    opacity: 1;
    transform:
      translateY(0)
      rotate(0deg)
      scale(1);
    box-shadow:
      0 8px 20px rgba(195, 0, 0, 0.18),
      0 0 0 2px rgba(195, 0, 0, 0.08) inset;
  }
}

/* インクがじわっと広がる */
@keyframes hawaInkBurst {
  0%, 50% {
    opacity: 0;
    transform: scale(0.5);
  }

  68% {
    opacity: 0.28;
    transform: scale(1.15);
  }

  100% {
    opacity: 0;
    transform: scale(1.45);
  }
}

/* スマホ */
@media (max-width: 767px) {
  .hawa-stamp {
    width: 96px;
    height: 96px;
    border-width: 4px;
  }

  .hawa-main {
    font-size: 38px;
  }

  .hawa-sub {
    font-size: 11px;
    margin-top: 3px;
  }
}

/* 動きを控えたい環境への配慮 */
@media (prefers-reduced-motion: reduce) {
  .hawa-stamp,
  .hawa-stamp::after {
    animation: none;
    opacity: 1;
    transform: none;
  }
}

