/* --- PD4A Gallery01 (Swiper) 固定高さ版 ---
   画像だけ：全高 320px
   サムネあり：全高 380px（= メイン320 + 余白6 + サムネ54）
-------------------------------------------- */

/* 全体幅 */
.pd4a-gallery01 {
  max-width: 900px;
  margin: 0 auto;
}

/* =========================
   メイン（上）: 常に 320px
   ========================= */
.pd4a-gallery01-main{
  position: relative;
  height: 320px;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}

/* スライドは枠いっぱい */
.pd4a-gallery01-main .swiper-slide{
  height: 100%;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
}

/* 画像：切らずに収める */
.pd4a-gallery01-main img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

/* =========================
   サムネ（下）
   ========================= */
.pd4a-gallery01-thumb{
  margin-top: 6px;
  height: 54px;
}

.pd4a-gallery01-thumb .swiper-wrapper{
  height: 100%;
}

.pd4a-gallery01-thumb .swiper-slide{
  height: 100%;
  opacity: .55;
  cursor: pointer;
  border-radius: 8px;
  overflow: hidden;

  background: #fff;
  padding: 6px;
  box-sizing: border-box;
  border: 1px solid #e5e7eb;
}

.pd4a-gallery01-thumb img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.pd4a-gallery01-thumb .swiper-slide-thumb-active{
  border-color: #111;
  opacity: 1;
}

/* =========================
   矢印（左右）
   ========================= */
.pd4a-gallery01-prev,
.pd4a-gallery01-next{
  position: absolute;
  top: 50%;
  width: 44px;
  height: 44px;
  transform: translateY(-50%);
  z-index: 10;
  cursor: pointer;

  background: rgba(0,0,0,.45);
  border-radius: 999px;
  border: none;
  appearance: none;

  display: flex;
  align-items: center;
  justify-content: center;
}

.pd4a-gallery01-prev{ left: 10px; }
.pd4a-gallery01-next{ right: 10px; }

.pd4a-gallery01-prev::after,
.pd4a-gallery01-next::after{
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
}

.pd4a-gallery01-prev::after{
  transform: rotate(-135deg);
  margin-left: 4px;
}

.pd4a-gallery01-next::after{
  transform: rotate(45deg);
  margin-right: 4px;
}

/* =========================
   左下：この商品を見る / 出典リンク（共通）
   ========================= */
.pd4a-gallery01-cta{
  position: absolute;
  left: 12px;   /* 右下 → 左下 */
  bottom: 12px;
  z-index: 20;

  display: flex;
  flex-direction: column;
  align-items: flex-start; /* 右寄せ → 左寄せ */
  gap: 6px;

  pointer-events: none;
}

.pd4a-gallery01-cta a{
  pointer-events: auto;
  text-decoration: none;
  line-height: 1.2;
}

/* =========================
   左下：この商品を見る / 出典リンク（共通）
   ========================= */
.pd4a-gallery01-cta{
  position: absolute;
  left: 12px;   /* 右下 → 左下 */
  bottom: 12px;
  z-index: 20;

  display: flex;
  flex-direction: column;
  align-items: flex-start; /* 右寄せ → 左寄せ */
  gap: 6px;

  pointer-events: none;
}

.pd4a-gallery01-cta a{
  pointer-events: auto;
  text-decoration: none;
  line-height: 1.2;
}

/* 「この商品を見る」：薄いグレー＋透過 */
.pd4a-gallery01-ctaBtn{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 10px 14px;
  border-radius: 999px;

  font-size: 14px;
  font-weight: 700;

  /* ★透過：最後の値が小さいほど透明 */
  background: rgba(120,120,120,.45);
  color: #fff;

  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
}

.pd4a-gallery01-ctaBtn:hover{
  filter: brightness(1.05);
}

/* 出典：背景なし / 文字をグレー */
.pd4a-gallery01-source{
  display: inline-flex;
  align-items: center;

  padding: 0;              /* 背景なしに合わせて余白も最小化 */
  border-radius: 0;
  background: transparent;  /* 背景を消す */

  font-size: 12px;
  color: rgba(120,120,120,.95); /* 白→グレー */
}

@media (max-width: 480px){
  .pd4a-gallery01-cta{
    left: 8px;
    bottom: 8px;
  }
  .pd4a-gallery01-ctaBtn{
    padding: 9px 12px;
    font-size: 13px;
  }
  .pd4a-gallery01-source{
    font-size: 11px;
  }
}