@charset "utf-8";

:root { --arrow-size: 46px; --gap: 16px; --arrow-bg: rgba(255,255,255,.95); --arrow-fg: #e8340d; }
body { font-family: system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans JP", sans-serif; margin: 0; }
.wrap { max-width: 70%; min-width: 960px; margin: 32px auto 0 auto; padding: 0 16px; }
h1 { font-size: clamp(20px, 3.2vw, 28px); margin: 0 0 16px; }
p  { color: #555; }

.foods-wrap {
  background-color: #fff4f1;
  margin-bottom: 3em;
}

.foods {
  padding: 3em;
}

/* === カルーセル全体 === */
.carousel-wrap { position: relative; }

/* Slick のスライダー領域 */
.slider .slick-slide { padding: 0 var(--gap); } /* スライド間の余白 */
.slide-card { background: #fff; border-radius: 14px; overflow: hidden; box-shadow: inset 0 6px 18px rgba(0,0,0,.08); padding: 4%; border: 2px solid #e8340d; height: 100%; }
.slide-card h4 { color: #e8340d; text-align: center; margin: 0.5em auto; font-size: 1.5em; }
.slide-card .inset { box-shadow: inset 0 6px 18px rgba(0,0,0,.08); z-index: 1; }
.slide-card img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; z-index: -1; box-shadow: inset 0 0 50px rgba(0,0,0,.35);}
.slide-caption { padding: 10px 12px 14px; font-size: 16px; color: #333; height: 12rem;}

/* === 左右矢印（外側配置） === */
.arrow { position: absolute; top: 50%; z-index: 2; inline-size: var(--arrow-size); block-size: var(--arrow-size); border: none; border-radius: 999px; background: rgba(255,244,241,.95); display: grid; place-items: center; cursor: pointer; }
.arrow:hover { background: #fff; }
.arrow:active { transform: scale(.98); }
.arrow--prev { left: -8px; }
.arrow--next { right: -8px; }
.arrow > span { font-size: 18px; line-height: 1; color: var(--arrow-fg); }
.carousel-wrap .arrow:first-of-type {
  translate: -52% -50%;
}
.carousel-wrap .arrow:last-of-type {
  translate: 52% -50%;
}

/* スクロールバー等の細かい装飾（任意） */
.slick-list { margin: 0 calc(var(--gap) * -1); }

/* レスポンシブ：狭い幅で 2枚/1枚に切替（任意） */
@media (max-width: 1180px) {
  .arrow--prev { left: -4px; }
  .arrow--next { right: -4px; }
  .wrap { max-width: 90%; min-width: 560px; margin: 32px auto 0 auto; padding: 0 16px; }
  .foods-wrap { padding: 2rem 0; }
}
@media (max-width: 560px) {
  .arrow { inline-size: 40px; block-size: 40px; }
  .wrap { max-width: 95%; min-width: 280px; margin: 32px auto 0 auto; padding: 0 16px; }
  .foods-wrap { padding: 2rem 0; }
}