/* 柿ページ（PC 1920 / SP 375） */

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

/* 背景画像レイヤー */
.kaki-variety__bg, .kaki-history__bg, .kaki-eat__bg, .kaki-shop__bg {
  position: absolute; inset: 0; z-index: -1; overflow: hidden;
}
.kaki-variety__bg img, .kaki-history__bg img, .kaki-eat__bg img, .kaki-shop__bg img {
  width: 100%; height: 100%; object-fit: cover;
}

/* ---------- 萱生の柿／柿づくりへの想い ---------- */
.kaki-intro {
  display: flex; flex-direction: column; align-items: center; gap: 16rem;
  padding: 20rem 0;
}
.kaki-intro__title {
  font-family: var(--ff-zen); font-size: 4.8rem; font-weight: 400;
  letter-spacing: 1.44rem; line-height: normal; text-align: center;
}
.kaki-intro__body { display: flex; flex-direction: column; gap: 8rem; width: 112rem; }
.kaki-intro__row { display: flex; align-items: center; justify-content: space-between; }
.kaki-intro__text { display: flex; flex-direction: column; align-items: flex-start; gap: 5.6rem; width: 72rem; }
.kaki-intro__lead { font-size: 1.5rem; letter-spacing: 0.15rem; line-height: 3.8rem; }
.kaki-intro__img-s { width: 40rem; height: 40rem; object-fit: cover; }
.kaki-intro__img-l { width: 100%; height: 56rem; object-fit: cover; }

/* ---------- 栽培している柿 ---------- */
.kaki-variety {
  position: relative; isolation: isolate;
  display: flex; flex-direction: column; align-items: center; gap: 10rem;
  padding: 20rem 0;
}
.kaki-variety__body { display: flex; flex-direction: column; gap: 10rem; width: 112rem; }
.kaki-variety__list { display: flex; align-items: flex-start; justify-content: space-between; }
.kaki-variety__item { display: flex; flex-direction: column; gap: 3.2rem; width: 52rem; }
.kaki-variety__img { width: 100%; height: 36rem; object-fit: cover; }
.kaki-variety__text { display: flex; flex-direction: column; gap: 3.2rem; }
.kaki-variety__head {
  display: flex; align-items: center; justify-content: space-between;
  padding-bottom: 1.2rem; border-bottom: 1px solid var(--gray); white-space: nowrap;
}
.kaki-variety__name { font-size: 2.4rem; font-weight: 400; letter-spacing: 0.24rem; line-height: 3.8rem; }
.kaki-variety__season {
  color: var(--orange); font-size: 1.5rem; letter-spacing: 0.15rem; line-height: 3.8rem; text-align: right;
}
.kaki-variety__desc { font-size: 1.5rem; letter-spacing: 0.15rem; line-height: 3.8rem; }
.kaki-variety__other {
  display: flex; flex-direction: column; align-items: center; gap: 4.8rem;
  padding: 6.4rem 21.2rem; background: #fff;
}
.kaki-variety__other-text {
  display: flex; align-items: center; gap: 2.4rem; width: 100%;
  font-family: var(--ff-zen); font-size: 2rem; letter-spacing: 0.2rem; line-height: 3.4rem;
}
.kaki-variety__other-text::before {
  content: ""; flex-shrink: 0; width: 6.4rem; border-top: 1px solid var(--black);
}
.kaki-variety__other-imgs { display: flex; gap: 5.6rem; width: 100%; }
.kaki-variety__other-imgs picture { display: block; flex: 1 0 0; min-width: 0; }
.kaki-variety__other-imgs img { width: 100%; height: 24rem; object-fit: cover; }

/* ---------- 刀根早生は、この村で生まれました ---------- */
.kaki-history {
  position: relative; isolation: isolate;
  display: flex; flex-direction: column; align-items: center; gap: 6.4rem;
  padding: 20rem 0; color: #fff; text-align: center;
}
.kaki-history__bg::after { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, .6); }
.kaki-history__title {
  font-family: var(--ff-zen); font-size: 3.6rem; font-weight: 400;
  letter-spacing: 1.08rem; line-height: normal; white-space: nowrap;
}
.kaki-history__text { width: 112rem; font-size: 1.5rem; letter-spacing: 0.15rem; line-height: 3.8rem; }
.kaki-history__text p + p { margin-top: 3.8rem; }

/* ---------- 萱生の柿が甘くなる理由 ---------- */
.kaki-reason {
  display: flex; flex-direction: column; align-items: center; gap: 10rem;
  padding: 20rem 0; background: var(--orange); color: #fff;
}
.kaki-reason__list { display: flex; align-items: flex-start; justify-content: space-between; width: 112rem; }
.kaki-reason__item { display: flex; flex-direction: column; gap: 3.2rem; width: 52rem; }
.kaki-reason__img { width: 100%; height: 36rem; object-fit: cover; }
.kaki-reason__text { display: flex; flex-direction: column; gap: 1.6rem; font-size: 1.5rem; letter-spacing: 0.15rem; line-height: 3.8rem; }
.kaki-reason__name { font-size: 2.4rem; font-weight: 400; letter-spacing: 0.24rem; line-height: 3.8rem; white-space: nowrap; }

/* ---------- おいしい柿ができるまで ---------- */
.kaki-process {
  display: flex; flex-direction: column; align-items: center; gap: 10rem;
  padding: 20rem 0;
}
.kaki-process__list { width: 112rem; border-top: 1px solid var(--beige); }
.kaki-process__item {
  display: flex; align-items: center; justify-content: space-between;
  padding: 4rem 0; border-bottom: 1px solid var(--beige);
}
.kaki-process__item picture { display: block; flex-shrink: 0; }
.kaki-process__img { flex-shrink: 0; width: 24rem; height: 24rem; object-fit: cover; }
.kaki-process__text { display: flex; flex-direction: column; gap: 2.4rem; width: 80rem; font-size: 1.5rem; letter-spacing: 0.15rem; line-height: 3.8rem; }
.kaki-process__name { color: var(--orange); font-size: 2.4rem; font-weight: 400; letter-spacing: 0.24rem; line-height: 3.8rem; }

/* ---------- おいしく食べる ---------- */
.kaki-eat {
  position: relative; isolation: isolate;
  display: flex; flex-direction: column; align-items: center; gap: 10rem;
  padding: 20rem 0;
}
.kaki-eat__list { display: flex; flex-direction: column; gap: 8rem; width: 112rem; }
.kaki-eat__item { display: flex; align-items: center; justify-content: space-between; }
.kaki-eat__item--reverse { flex-direction: row-reverse; }
.kaki-eat__img { width: 48rem; height: 36rem; object-fit: cover; }
.kaki-eat__text { display: flex; flex-direction: column; gap: 4rem; width: 56rem; font-size: 1.5rem; letter-spacing: 0.15rem; line-height: 3.8rem; }
.kaki-eat__name { font-size: 2.4rem; font-weight: 400; letter-spacing: 0.24rem; line-height: 3.8rem; white-space: nowrap; }

/* ---------- よくあるご質問 ---------- */
.kaki-faq {
  display: flex; flex-direction: column; align-items: center; gap: 10rem;
  padding-top: 20rem;
}
.kaki-faq__list { width: 112rem; }
.kaki-faq__item { padding: 2.4rem 0; border-bottom: 1px solid var(--beige); }
.kaki-faq__q {
  display: flex; align-items: center; gap: 0.4rem;
  color: var(--orange); font-size: 1.7rem; letter-spacing: 0.17rem; line-height: 3.8rem;
  list-style: none; cursor: pointer;
}
.kaki-faq__q::-webkit-details-marker { display: none; }
.kaki-faq__q::after {
  content: "+"; flex-shrink: 0; margin-left: auto;
  font-size: 3.2rem; letter-spacing: 0.32rem; line-height: 3.8rem; text-align: right;
}
.kaki-faq__item[open] .kaki-faq__q::after { content: "−"; }
.kaki-faq__q-text { flex: 1 0 0; min-width: 0; }
.kaki-faq__mark { flex-shrink: 0; white-space: nowrap; }
.kaki-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;
}
.kaki-faq__a p { flex: 1 0 0; min-width: 0; }

/* ---------- ECへの導線 ---------- */
.kaki-shop { padding: 20rem 0; }
.kaki-shop__box {
  position: relative; isolation: isolate;
  display: flex; flex-direction: column; align-items: center; gap: 8rem;
  width: 112rem; margin: 0 auto; padding: 16rem 0;
}
.kaki-shop__lead {
  font-size: 2.8rem; letter-spacing: 0.56rem; line-height: 5.6rem; text-align: center; white-space: nowrap;
}
.kaki-shop__btn {
  display: flex; align-items: center; justify-content: center;
  height: 7.9rem; padding: 0 6.1rem; background: var(--orange); color: #fff;
  font-size: 1.7rem; font-weight: 500; letter-spacing: 0.51rem; line-height: normal; white-space: nowrap;
  transition: opacity .3s;
}
.kaki-shop__btn:hover { opacity: .8; }

/* ================= SP ================= */
@media (max-width: 768px) {
  .kaki-head { gap: 1.6rem; font-size: 2.2rem; letter-spacing: 0.66rem; }
  .kaki-head::before { width: 1rem; height: 1rem; }
  .kaki-reason .kaki-head, .kaki-process .kaki-head { line-height: 4.4rem; }

  .kaki-intro { gap: 8rem; padding: 8rem 2.4rem; }
  .kaki-intro__title { font-size: 2.4rem; letter-spacing: 0.72rem; }
  .kaki-intro__body { gap: 4rem; width: 100%; }
  .kaki-intro__row { flex-direction: column; align-items: flex-end; gap: 4rem; }
  .kaki-intro__text { gap: 4rem; width: 100%; }
  .kaki-intro__lead { font-size: 1.4rem; letter-spacing: 0.14rem; }
  .kaki-intro__img-s { width: 16rem; height: 16rem; }
  .kaki-intro__img-l { height: 24rem; }

  .kaki-variety { gap: 5.6rem; padding: 8rem 2.4rem; }
  .kaki-variety .kaki-head { font-size: 2rem; letter-spacing: 0.6rem; line-height: normal; }
  .kaki-variety__body { gap: 5.6rem; width: 100%; }
  .kaki-variety__list { flex-direction: column; gap: 5.6rem; }
  .kaki-variety__item { gap: 2.4rem; width: 100%; }
  .kaki-variety__img { height: 24rem; }
  .kaki-variety__text { gap: 1.6rem; }
  .kaki-variety__name { font-size: 2rem; letter-spacing: 0.2rem; }
  .kaki-variety__season { font-size: 1.4rem; letter-spacing: 0.14rem; }
  .kaki-variety__desc { font-size: 1.4rem; letter-spacing: 0.14rem; line-height: 3.5rem; }
  .kaki-variety__other { gap: 3.2rem; padding: 5.6rem 2.4rem; }
  .kaki-variety__other-text {
    flex-direction: column; align-items: flex-start;
    font-size: 1.6rem; letter-spacing: 0.16rem; line-height: 3.2rem;
  }
  .kaki-variety__other-text::before { width: 5.6rem; }
  .kaki-variety__other-imgs { flex-direction: column; gap: 3.2rem; }
  .kaki-variety__other-imgs picture { flex: none; }
  .kaki-variety__other-imgs img { height: 20rem; }

  .kaki-history { gap: 4rem; padding: 8rem 2.4rem; }
  .kaki-history__title { font-size: 2.4rem; letter-spacing: 0.72rem; line-height: 4.8rem; }
  .kaki-history__text { width: 100%; font-size: 1.4rem; letter-spacing: 0.14rem; line-height: 3.5rem; }
  .kaki-history__text p + p { margin-top: 0; }

  .kaki-reason { gap: 5.6rem; padding: 8rem 2.4rem; }
  .kaki-reason__list { flex-direction: column; gap: 5.6rem; width: 100%; }
  .kaki-reason__item { gap: 2.4rem; width: 100%; }
  .kaki-reason__img { height: 24rem; }
  .kaki-reason__text { font-size: 1.4rem; letter-spacing: 0.14rem; line-height: 3.5rem; }
  .kaki-reason__name { font-size: 2rem; letter-spacing: 0.2rem; line-height: 3.8rem; }

  .kaki-process { gap: 5.6rem; padding: 8rem 2.4rem; }
  .kaki-process__list { width: 100%; }
  .kaki-process__item { flex-direction: column; align-items: flex-start; gap: 2.4rem; }
  .kaki-process__item picture { width: 100%; }
  .kaki-process__img { width: 100%; height: 24rem; }
  .kaki-process__text { gap: 1.6rem; width: 100%; font-size: 1.4rem; letter-spacing: 0.14rem; line-height: 3.5rem; }
  .kaki-process__name { font-size: 2rem; letter-spacing: 0.2rem; }

  .kaki-eat { gap: 5.6rem; padding: 8rem 2.4rem; }
  .kaki-eat__list { gap: 5.6rem; width: 100%; }
  .kaki-eat__item, .kaki-eat__item--reverse { flex-direction: column; align-items: flex-start; gap: 2.4rem; }
  .kaki-eat__img { width: 100%; height: 24rem; }
  .kaki-eat__text { gap: 1.6rem; width: 100%; font-size: 1.4rem; letter-spacing: 0.14rem; line-height: 3.5rem; }
  .kaki-eat__name { font-size: 2rem; letter-spacing: 0.2rem; }

  .kaki-faq { gap: 5.6rem; padding: 8rem 2.4rem 0; }
  .kaki-faq__list { width: 100%; }
  .kaki-faq__item { padding: 1.6rem 0; }
  .kaki-faq__q { gap: 0.8rem; font-size: 1.6rem; letter-spacing: 0.16rem; }
  .kaki-faq__q::after { font-size: 2.4rem; letter-spacing: 0.24rem; }
  .kaki-faq__a { gap: 1.6rem; font-size: 1.6rem; letter-spacing: 0.16rem; line-height: 3.2rem; }

  .kaki-shop { padding: 8rem 2.4rem; }
  .kaki-shop__box { gap: 4rem; width: 100%; padding: 8rem 2.4rem; }
  .kaki-shop__lead { font-size: 2rem; letter-spacing: 0.4rem; line-height: 4rem; white-space: normal; }
  .kaki-shop__btn { width: 100%; height: 7.7rem; padding: 0; font-size: 1.6rem; letter-spacing: 0.48rem; }
}
