.culture { background: #f7f2e9; overflow: hidden; }
.culture-head { max-width: 680px; margin-bottom: 62px; }
.culture-head h2 { font-size: clamp(42px, 5.2vw, 76px); }
.culture-head > p:last-child { max-width: 560px; color: #6f6258; font-size: 13px; }
.trip-slider { position: relative; max-width: 920px; margin: 0 auto; overflow: hidden; touch-action: pan-y; }
.trip-track { display: flex; transition: transform .65s cubic-bezier(.22,.61,.36,1); }
.trip-slide { min-width: 100%; margin: 0; }
.trip-slide img { width: 100%; aspect-ratio: 16 / 9; display: block; object-fit: cover; }
.trip-slide.portrait { background: #e5dacd; }
.trip-slide.portrait img { object-fit: contain; }
.trip-slide figcaption { display: flex; gap: 16px; padding-top: 12px; color: #7d6c5d; font: 500 9px/1.4 var(--sans); letter-spacing: .18em; }
.trip-slide figcaption span { font-family: var(--serif); font-size: 14px; }
.slider-button { position: absolute; top: calc(50% - 28px); width: 56px; height: 56px; border: 0; border-radius: 50%; background: rgba(247,242,233,.9); color: #49382c; font-size: 19px; cursor: pointer; box-shadow: 0 8px 24px rgba(56,43,33,.15); }
.slider-button.prev { left: 18px; }
.slider-button.next { right: 18px; }
.slider-dots { display: flex; justify-content: center; gap: 9px; margin-top: 22px; }
.slider-dots button { width: 34px; height: 3px; padding: 0; border: 0; background: #c9bbad; cursor: pointer; transition: background .25s; }
.slider-dots button.is-active { background: #594437; }
.culture-note { margin: 92px 0 0; color: #857668; font-size: 10px; letter-spacing: .08em; }
@media (max-width: 760px) {
  .culture-head { margin-bottom: 36px; }
  .culture-head h2 { font-size: 38px; }
  .trip-slider { margin-left: -24px; margin-right: -24px; }
  .trip-slide img { aspect-ratio: 4 / 3; }
  .trip-slide figcaption { padding-left: 24px; }
  .slider-button { width: 44px; height: 44px; top: calc(50% - 23px); }
  .slider-button.prev { left: 10px; }
  .slider-button.next { right: 10px; }
  .culture-note { margin-top: 42px; }
}
