.gochiso { --gold:#d1a35c; overflow-x: clip; }

/* ===== 見出し ===== */
.gochiso__head {
  position: relative;
  text-align: center;
  margin-top: 1.7em;
  padding-bottom: .6em;
}
.gochiso__head::after {
  content:"";
  position:absolute; left:0; right:0; bottom:0;
  height:1px; background:var(--gold);
}
.gochiso__title {
  font-family:"Zen Old Mincho",serif;
  font-size:1.6rem; font-weight:500; margin:0; color:#151515;
}
.gochiso__note {
  margin:0;
  font-size:1rem; font-weight:400; color:var(--gold);
  position:absolute; right:0; bottom:.6em;
}

.gochiso-small {
  display: block;
  margin-top: 3%;
  text-align: center;
  font-size: 90%;
}

/* SP: h4 → 線 → p（中央） */
@media (max-width:767px){
  .gochiso__head { padding-bottom:0; margin-top:1.2em; }
  .gochiso__head::after { content:none; }
  .gochiso__title { position:relative; padding-bottom:.6em; }
  .gochiso__title::after {
    content:""; position:absolute; left:0; right:0; bottom:0;
    height:1px; background:var(--gold);
  }
  .gochiso__note { position:static; display:block; text-align:center; margin-top:.6em; }
}

/* ===== メインスライダー ===== */
.gochiso__main {
  font-family:"Zen Old Mincho",serif;
  padding:16px 0;
  overflow: visible;
  max-width:100%;
  position:relative;
}
.gochiso__main .swiper-slide {
  background:#fff;
  padding:16px;
  box-sizing:border-box;
  border-radius:5px;
  margin: 0;             /* 念のため */
}

/* カード内 */
.gochiso__hero{ margin:0; }
.gochiso__hero img{
  display:block; width:100%; height:auto; border-radius:5px; margin-inline:auto;
}
.gochiso__desc{ margin-top:12px; }
.gochiso__num{
  font-family:"Playfair Display",serif; font-style:italic;
  color:var(--gold); font-size:1.5rem; margin:0;
}
.gochiso__name{ margin:.2em 0 .4em; font-size:clamp(1.1rem,2vw,1.4rem); font-weight:400; }
.gochiso__lead{ color:#151515; line-height:1.8; font-size:.94rem; font-weight:400; }

/* ===== サムネスライダー ===== */
.gochiso__thumbs-wrap {
  margin-top: 14px;
  display: flex;
  justify-content: center; /* サムネ全体を中央寄せ */
}

.gochiso__thumbs {
  position: relative;
  padding: 4px 36px;
  max-width: 100%;
  display: inline-block;   /* 中身の幅に合わせる */
  overflow: hidden;
}

.gochiso__thumb {
  width: 77px;
  aspect-ratio: 1/1;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid #eee;
  cursor: pointer;
}
.gochiso__thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.swiper-slide-thumb-active{ outline:2px solid var(--gold); filter:none; }
.gochiso__thumbs .swiper-slide:not(.swiper-slide-thumb-active){ filter:grayscale(.05) contrast(.96); }

/* サムネ矢印 */
.gochiso__tprev,.gochiso__tnext{
  position:absolute; top:50%; translate:0 -50%;
  inline-size:28px; block-size:28px; border-radius:50%;
  border:none; background:#fff; z-index:5;
  box-shadow:0 1px 4px rgba(0,0,0,.1); cursor:pointer;
  display:grid; place-items:center;
}
.gochiso__tprev{ left:4px; } .gochiso__tnext{ right:4px; }
.gochiso__tprev::after,.gochiso__tnext::after{
  content:""; width:6px; height:6px;
  border-right:2px solid #666; border-bottom:2px solid #666;
}
.gochiso__tprev::after{ rotate:135deg; }    /* ← */
.gochiso__tnext::after{ rotate:-45deg; }    /* → */

/* stacking context の保険 */
.gochiso__main .swiper, .gochiso__thumbs .swiper{ transform:translateZ(0); }
