/* 野菜ページ（vegetable） */

/* ---------- 見出し（■＋和文） ---------- */
.veg-head {
  display: flex; align-items: center; gap: 2.4rem;
  font-family: var(--ff-zen); font-size: 2.8rem; letter-spacing: 0.84rem; line-height: normal; font-weight: 400;
}
.veg-head::before {
  content: ""; flex-shrink: 0; width: 1.2rem; height: 1.2rem; background: var(--orange);
}
.veg-head--center { flex-direction: column; text-align: center; }

/* ---------- 導入（h1＋野菜づくりへの想い） ---------- */
.veg-intro {
  display: flex; flex-direction: column; align-items: center; gap: 16rem;
  padding: 20rem 40rem;
}
.veg-intro__title {
  width: 100%; text-align: center;
  font-family: var(--ff-zen); font-size: 4.8rem; letter-spacing: 1.44rem; line-height: normal; font-weight: 400;
}
.veg-intro__body { display: flex; flex-direction: column; gap: 8rem; width: 100%; }
.veg-intro__row { display: flex; align-items: center; justify-content: space-between; }
.veg-intro__text { display: flex; flex-direction: column; gap: 5.6rem; width: 72rem; }
.veg-intro__lead { font-size: 1.5rem; letter-spacing: 0.15rem; line-height: 3.8rem; }
.veg-intro__thumb { flex-shrink: 0; width: 28rem; height: 28rem; }
.veg-intro__thumb img { width: 100%; height: 100%; object-fit: cover; object-position: 100% 50%; }
.veg-intro__wide { height: 56rem; }
.veg-intro__wide img { width: 100%; height: 100%; object-fit: cover; }

/* ---------- 栽培している野菜 ---------- */
.veg-crops, .veg-faq {
  background: url(../img/vegetable/bg.webp) center / cover no-repeat;
}
.veg-crops {
  display: flex; flex-direction: column; align-items: center; gap: 10rem;
  padding: 20rem 40rem;
}
.veg-crops__list { display: flex; flex-direction: column; gap: 6.4rem; width: 112rem; }
.veg-crop { display: flex; align-items: center; justify-content: space-between; }
.veg-crop--reverse { flex-direction: row-reverse; }
.veg-crop__img { flex-shrink: 0; width: 48rem; height: 36rem; }
.veg-crop__img img { width: 100%; height: 100%; object-fit: cover; }
.veg-crop__body { display: flex; flex-direction: column; gap: 4rem; width: 56rem; }
.veg-crop__head {
  display: flex; align-items: center; justify-content: space-between;
  padding-bottom: 1.2rem; border-bottom: 1px solid var(--gray); white-space: nowrap;
}
.veg-crop__name { font-size: 2.4rem; letter-spacing: 0.24rem; line-height: 3.8rem; font-weight: 400; }
.veg-crop__season {
  color: var(--orange); font-size: 1.5rem; letter-spacing: 0.15rem; line-height: 3.8rem; text-align: right;
}
.veg-crop__text { font-size: 1.5rem; letter-spacing: 0.15rem; line-height: 3.8rem; }

/* ---------- 野菜づくり ---------- */
.veg-making {
  display: flex; flex-direction: column; align-items: center; gap: 10rem;
  padding: 20rem 40rem;
}
.veg-making__list { display: flex; align-items: flex-start; justify-content: space-between; width: 100%; }
.veg-making__item { display: flex; flex-direction: column; gap: 3.2rem; width: 52rem; }
.veg-making__img { height: 36rem; }
.veg-making__img img { width: 100%; height: 100%; object-fit: cover; }
.veg-making__body { display: flex; flex-direction: column; gap: 1.6rem; }
.veg-making__title { font-size: 2.4rem; letter-spacing: 0.24rem; line-height: 3.8rem; font-weight: 400; }
.veg-making__text { font-size: 1.5rem; letter-spacing: 0.15rem; line-height: 3.8rem; }

/* ---------- よくあるご質問 ---------- */
.veg-faq {
  display: flex; flex-direction: column; align-items: center; gap: 10rem;
  padding: 20rem 40rem;
}
.veg-faq__list { display: flex; flex-direction: column; width: 100%; }
.veg-faq__item { border-bottom: 1px solid var(--beige); padding: 2.4rem 0; }
.veg-faq__q {
  display: flex; align-items: center; justify-content: space-between;
  color: var(--orange); cursor: pointer; list-style: none;
}
.veg-faq__q::-webkit-details-marker { display: none; }
.veg-faq__qa {
  display: flex; align-items: center; gap: 0.4rem; flex: 1 0 0; min-width: 0;
  font-size: 1.7rem; letter-spacing: 0.17rem; line-height: 3.8rem;
}
.veg-faq__label { flex-shrink: 0; white-space: pre; }
.veg-faq__qtext { flex: 1 0 0; min-width: 0; }
.veg-faq__icon {
  flex-shrink: 0; font-size: 3.2rem; letter-spacing: 0.32rem; line-height: 3.8rem; text-align: right;
}
.veg-faq__icon::before { content: "+"; }
.veg-faq__item[open] .veg-faq__icon::before { content: "−"; }
.veg-faq__a {
  display: flex; align-items: flex-start; gap: 0.4rem; margin-top: 1.2rem;
  font-size: 1.7rem; letter-spacing: 0.17rem; line-height: 3.8rem;
}
.veg-faq__a p { flex: 1 0 0; min-width: 0; }

/* ---------- SP ---------- */
@media (max-width: 768px) {
  .veg-head { gap: 1.6rem; font-size: 2.2rem; letter-spacing: 0.66rem; }
  .veg-head::before { width: 1rem; height: 1rem; }

  .veg-intro { gap: 8rem; padding: 8rem 2.4rem; }
  .veg-intro__title {
    width: auto; writing-mode: vertical-rl;
    font-size: 2.4rem; letter-spacing: 1.1rem;
  }
  .veg-intro__body { gap: 4rem; }
  .veg-intro__row { flex-direction: column; align-items: flex-end; gap: 4rem; }
  .veg-intro__text { gap: 3.2rem; width: 100%; }
  .veg-intro__lead { font-size: 1.4rem; letter-spacing: 0.14rem; line-height: 3.5rem; }
  .veg-intro__thumb { width: 16rem; height: 16rem; }
  .veg-intro__wide { height: 24rem; }

  .veg-crops { gap: 6.4rem; padding: 8rem 2.4rem; }
  .veg-crops__list { gap: 5.6rem; width: 100%; }
  .veg-crop, .veg-crop--reverse { flex-direction: column; align-items: stretch; gap: 2.4rem; }
  .veg-crop__img { width: 100%; height: 24rem; }
  .veg-crop__body { gap: 1.6rem; width: 100%; }
  .veg-crop__name { font-size: 2rem; letter-spacing: 0.2rem; }
  .veg-crop__season { font-size: 1.4rem; letter-spacing: 0.14rem; }
  .veg-crop__text { font-size: 1.4rem; letter-spacing: 0.14rem; line-height: 3.5rem; }

  .veg-making { gap: 5.6rem; padding: 8rem 2.4rem; }
  .veg-making__list { flex-direction: column; gap: 5.6rem; }
  .veg-making__item { gap: 2.4rem; width: 100%; }
  .veg-making__body { gap: 1.2rem; }
  .veg-making__title { font-size: 2rem; letter-spacing: 0.2rem; }
  .veg-making__text { font-size: 1.4rem; letter-spacing: 0.14rem; line-height: 3.5rem; }

  .veg-faq { gap: 5.6rem; padding: 8rem 2.4rem; }
  .veg-faq__item { padding: 1.6rem 0; }
  .veg-faq__qa { gap: 0.8rem; font-size: 1.6rem; letter-spacing: 0.16rem; }
  .veg-faq__icon { font-size: 2.4rem; letter-spacing: 0.24rem; }
  .veg-faq__a { gap: 1.6rem; font-size: 1.6rem; letter-spacing: 0.16rem; line-height: 3.2rem; }
}
