@charset "UTF-8";
/* CSS Document */
/* header */
.header {
  height: 50px;
  display: flex;
  position: relative;
  z-index: 1;
}
.header h1 {
  position: absolute;
  left: 24px;
  top: 10px;
}
.header h1 img {
  width: 105px;
}
.header__navigation {
  position: absolute;
  right: 0;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  transform: translateX(-100%);
  background-color: rgba(255, 255, 255, 0.90); /*ハンバーガーメニュークリック時のナビゲーションメニュー背景色*/
  transition: ease .4s; /*ハンバーガーメニュークリック時のナビゲーションメニュー出現を遅延*/
}
/* ハンバーガーメニュー */
.header__hamburger {
  width: 40px;
  position: absolute;
  top: 15px;
  right: 12px;
}
.hamburger {
  background-color: transparent;
  border-color: transparent;
  z-index: 9999;
}
/* ハンバーガーメニューの線 */
.hamburger span {
  width: 100%;
  height: 1px;
  background-color: #000;
  position: relative;
  transition: ease .4s;
  display: block;
}
.hamburger span:nth-child(1) {
  top: 0;
}
.hamburger span:nth-child(2) {
  margin: 8px 0;
}
.hamburger span:nth-child(3) {
  top: 0;
}
/* ハンバーガーメニュークリック後のスタイル */
.header__navigation.active {
  transform: translateX(0);
}
.hamburger.active span:nth-child(1) {
  top: 5px;
  transform: rotate(45deg);
}
.hamburger.active span:nth-child(2) {
  opacity: 0;
}
.hamburger.active span:nth-child(3) {
  top: -13px;
  transform: rotate(-45deg);
}
.nav-items {
  padding: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
/* ナビのリンク */
.nav-items__item a {
  width: 100%;
  display: block;
  text-align: center;
  font-size: 2rem;
  margin-bottom: 50px;
  text-decoration: none;
  font-family: 'Hina Mincho';
  color: #32630c;
}
.nav-items__item:last-child a {
  margin-bottom: 0;
}
@media(min-width: 992px) {
  .header {
    height: 80px;
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 24px;
    position: relative;
  }
  .header h1 {
    position: absolute;
    top: 10px;
  }
  .header h1 img {
    width: 200px;
  }
  .header__navigation {
    position: static;
    transform: inherit;
    background-color: inherit;
    display: flex;
    height: inherit;
    justify-content: end;
    width: 50%;
  }
  /*PC時のナビゲーションメニュー、横並びにする*/
  .nav__items {
    width: 100%;
    display: flex;
    align-items: center;
    height: initial;
    justify-content: space-between;
  }
  .nav-items {
    position: inherit;
    transform: translate(100%);
  }
  /* ナビのリンク */
  .nav-items__item a {
    font-size: 1.6rem;
    font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    color: #333;
    margin-bottom: 0;
  }
  .hamburger {
    display: none; /*ハンバーガーメニューをPC時非表示にする*/
  }
}
/* section-top */
.section-top {
  position: relative;
  margin-bottom: 50px;
  display: flex;
  justify-content: flex-end;
  z-index: 0;
}
.section-top__image {
  height: 500px;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-size: cover;
  /*  animation: img_anime 16s ease infinite;*/
}
.swiper {
  width: 100%;
  height: 500px;
}
.swiper-slide img {
  width: inherit;
  height: inherit;
  object-fit: cover;
  z-index: 0;
}
/* アニメーション */
/*
@keyframes img_anime {
  0% {
    background-image: url("../images/top/top-img_1.jpg");  背景画像1を指定 
  }
  20% {
    background-image: url("../images/top/top-img_1.jpg");  背景画像1を指定 
  }
  35% {
    background-image: url("../images/top/top-img_2.jpg");  背景画像2を指定 
  }
  53% {
    background-image: url("../images/top/top-img_2.jpg");  背景画像2を指定 
  }
  68% {
    background-image: url("../images/top/top-img_3.jpg");  背景画像3を指定 
  }
  85% {
    background-image: url("../images/top/top-img_3.jpg");  背景画像3を指定 
  }
  100% {
    background-image: url("../images/top/top-img_1.jpg");  背景画像1を指定 
  }
}
*/
.maining-logo img {
  position: absolute;
  width: 205px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
.textbox {
  max-width: 1160px;
  writing-mode: vertical-rl;
  position: absolute;
  top: 15px;
  right: 20px;
  z-index: 1;
}
.text {
  background-color: rgba(255, 255, 255, 0.7);
  padding: 5px 1px;
  font-family: 'Hina Mincho', serif;
  font-size: 1.6rem;
  line-height: 35px;
}
.section-top__lead {
  text-align: left;
  font-size: 1.6rem;
  line-height: 2;
  margin: 0 24px 50px;
}
@media(min-width: 768px) {
  .section-top {
    position: relative;
    margin-bottom: 50px;
    display: flex;
    justify-content: flex-end;
  }
  .maining-logo img {
    position: absolute;
    width: auto;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .section-top__image {
    height: 600px;
    width: 100%;
    object-fit: cover;
    object-position: top;
    position: relative;
  }
  .swiper {
    width: 100%;
    height: 600px;
  }
  .section-top__textbox {
    position: absolute;
    width: 100%;
    height: 100%;
    max-width: 1160px;
  }
  .textbox {
    writing-mode: vertical-rl;
    position: absolute;
    top: 40px;
    right: 20px;
  }
  .text {
    background-color: rgba(255, 255, 255, 0.7);
    padding: 10px 3px;
    font-family: 'Hina Mincho', serif;
    font-size: 3rem;
    line-height: 70px;
  }
  .section-top__lead {
    text-align: center;
    font-size: 2rem;
    line-height: 2;
    margin-bottom: 50px;
  }
}
/* section-hope */
.section-hope {
  padding: 150px 24px 0;
  position: relative;
  max-width: 1160px;
  margin: 0 auto;
}
.section-hope h2 {
  margin-bottom: 35px;
}
.tomato {
  position: absolute;
  top: 90px;
  left: -40px;
}
.talks {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 50px;
}
.talk {
  display: flex;
  justify-content: center;
}
.talk-img_l {
  margin-top: 15px;
  float: left;
  width: 60px;
  height: 60px;
}
.balloon-left {
  position: relative;
  display: inline-block;
  margin: 15px 0;
  padding: 7px 10px;
  background: #fff;
  border-radius: 15px;
}
.balloon-left:before {
  content: "";
  position: absolute;
  top: 50%;
  left: -18px;
  margin-top: -8px;
  border: 6px solid transparent;
  border-right: 12px solid #FFF;
}
.balloon-left p {
  margin: 0;
  padding: 0;
}
.talk-img_r {
  margin-top: 15px;
  float: right;
  width: 60px;
  height: 60px;
}
.balloon-right {
  position: relative;
  display: inline-block;
  margin: 15px 30px 15px 0;
  padding: 7px 10px;
  background: #fff;
  border-radius: 15px;
}
.balloon-right:before {
  content: "";
  position: absolute;
  top: 50%;
  right: -18px;
  margin-top: -8px;
  border: 6px solid transparent;
  border-left: 12px solid #FFF;
}
.balloon-right p {
  margin: 0;
  padding: 0;
}
.color-orange {
  color: #f65a00;
}
.eggplant {
  position: absolute;
  right: -20px;
}
@media (min-width:768px) {
  .tomato {
    left: 0;
  }
  .eggplant {
    right: 0;
  }
}
/* section-reasons */
.section-reasons {
  margin: 150px 24px 100px;
}
.section-reasons ol {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 50px;
}
.reasons-item__title {
  text-align: center;
  margin-top: 50px;
}
.reasons-item__title h3 {
  padding: 20px 0;
  font-family: 'Hina Mincho', serif;
  font-size: 2rem;
}
.reasons-item__img {
  padding-bottom: 20px;
  display: block;
  margin: 0 auto;
}
.reasons-item_text {
  text-align: center
}
.reasons-item_text p {
  max-width: 300px;
  padding: 0 10px;
  display: inline-block;
  text-align: left;
}
/* section-trial */
.section-trial {
  background-image: url("../images/trial/bg.jpg");
  padding: 60px 24px 75px;
}
.section-trial ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 150px;
}
.section-trial ul li {
  width: 327px;
  margin-top: 40px;
  background-color: #fff;
}
.section-trial .trial-btn {
  margin-top: 50px;
}
.trial-item__img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  object-position: 50% 50%;
  display: block;
}
.trial-item__text {
  padding: 20px;
}
.trial-item__text-title {
  padding: 0 10px 20px;
  border-bottom: dashed 2px #32630c;
  line-height: 1;
}
.trial-item__text-title h3 {
  font-size: 20px;
  font-family: 'Hina Mincho', serif;
  text-align: center;
  padding-bottom: 20px;
}
.trial-item__text-title h3 span {
  font-size: 16px;
}
.trial-item__text-title p {
  font-size: 16px;
  color: #f00;
  text-align: right;
  font-weight: 600;
}
.trial-item__text-title p span {
  font-size: 13px;
  font-weight: 500;
}
.trial-item__text-detail {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 20px;
}
.trial-item__text-detail img {
  border-radius: 50%;
  width: 72px;
  height: 72px;
}
.trial-item__text-detail p {
  padding-left: 20px;
  font-size: 13px;
}
.trial-item__text-detail p span {
  font-size: 17px;
  font-weight: 600;
}
@media (min-width:768px) {
  .section-trial ul li {
    width: 500px;
  }
  .trial-item__img {
    height: 360px;
  }
  .trial-item__text {
    padding: 20px 50px;
  }
  .trial-item__text-title h3 {
    font-size: 30px;
  }
  .trial-item__text-title h3 span {
    font-size: 24px;
  }
  .trial-item__text-title p {
    font-size: 24px;
  }
  .trial-item__text-title p span {
    font-size: 16px;
  }
  .trial-item__text-detail p {
    font-size: 16px;
  }
  .trial-item__text-detail p span {
    font-weight: 600;
  }
}
/* section-organic */
.section-organic {
  padding: 75px 24px 100px;
  text-align: center;
}
.section-organic h2 {
  padding-bottom: 50px;
}
.section-organic h3 {
  display: inline;
}
.circle_graph {
  display: block;
  margin: 20px auto 45px;
}
.section-organic p {
  text-align: left;
  line-height: 2;
  display: inline-block;
}
@media (min-width:768px) {
  .section-organic h3 {
    font-size: 2rem;
  }
  .graph-description {
    display: flex;
    gap: 0 50px;
  }
  .circle_graph {
    margin-right: 0;
    margin-bottom: 0;
    width: 207px;
    height: 254px;
  }
  .graph-description p {
    max-width: 580px;
    margin: 80px auto 0 0;
  }
}
/* section-quality */
.section-quality {
  background-image: url("../images/quality/bg.jpg");
  background-color: rgba(255, 255, 255, 0.5);
  background-blend-mode: lighten;
  background-size: cover;
  padding: 50px 24px 75px;
}
.section-quality__text {
  background-color: rgba(255, 255, 255, 0.7);
  margin-bottom: 50px;
  text-align: center;
  max-width: 1160px;
  margin: 0 auto 50px;
}
.section-quality h2 {
  padding: 30px 0;
}
.section-quality h3 {
  text-align: center;
  text-decoration: underline solid #333;
  font-weight: 500;
}
.section-quality__text p {
  padding: 30px 24px;
  line-height: 2;
  display: inline-block;
  text-align: left;
}
@media (min-width:768px) {
  .section-quality h3 {
    font-size: 20px;
  }
  .br-sp {
    display: none;
  }
  .section-quality .trial-btn {
    background-color: rgba(255, 255, 255, 0.7);
    max-width: 1160px;
    padding: 20px 0 50px;
    margin: 0 auto;
  }
  .section-quality__text {
    margin-bottom: 0;
  }
  .section-quality__text p {
    max-width: 825px;
    text-align: center;
  }
}
/* section-voice */
.section-voice {
  padding: 50px 12px 100px;
}
.section-voice__background {
  background-image: url("../images/voice/bg.jpg");
  background-repeat: repeat;
  padding: 15px 10px 70px;
  max-width: 1160px;
  min-width: 320px;
  position: relative;
  margin: 0 auto;
  box-shadow: 2px 2px 10px gray;
}
.section-voice__background::before {
  content: "";
  background-color: #e4e2db;
  transform: rotate(-1deg);
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 10px;
  box-shadow: 2px 2px 10px gray;
}
.section-voice .slick-container {
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.voice-item {
  background-color: #fff;
  padding-top: 20px;
  width: 300px;
  height: 550px;
  margin: 30px 10px;
  display: block;
}
.voice-item__img {
  display: block;
  width: 270px;
  height: 165px;
  margin: 0 auto 20px;
  border-radius: 15px;
}
.voice-item__title {
  font-size: 18px;
  text-align: center;
  color: #32630c;
  line-height: 1;
}
.voice-item__name {
  font-size: 14px;
  line-height: 1;
  text-align: center;
  width: 140px;
  padding: 15px 0 20px;
  border-bottom: dashed 2px #32630c;
  margin: 0 auto;
}
.voice-item__text {
  padding: 20px 24px 0;
}
/* section-farmer */
.section-farmer {
  max-width: 1160px;
  margin: 0 auto;
  padding: 50px 24px 30px;
  position: relative;
  text-align: center;
}
.section-farmer__frame {
  border: 2px solid #32630c; /* 内側の線になる一本線の枠線をひく*/
  margin: 4px; /* 外側の線の場所をつくる */
  position: relative; /* 外側の線の場所を調整する時の基準点になるようにする*/
  padding: 30px 0 40px;
  margin-bottom: 50px;
}
.section-farmer__frame::before {
  content: ''; /* 擬似要素に実体を持たせる */
  width: calc(100% + 14px); /* 外側の線になる要素の幅を指定する*/
  height: calc(100% + 14px); /* 外側の線になる要素の高さを指定する */
  border: 3px solid #32630c; /* 外側の線になる一本線の枠線をひく*/
  position: absolute; /* 外側の線の位置を自由に動かせるようにする */
  top: -10px; /* 外側の線の位置を、内側の線から上にずらす */
  left: -10px; /* 外側の線の位置を、内側の線から左にずらす*/
}
.section-farmer .slick-container {
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.farmer-item {
  padding: 20px;
}
.farmer-item__img {
  margin: 0 auto 20px;
}
.farmer-item__name {
  text-align: center;
  color: #32630c;
  font-weight: 600;
  position: relative;
  margin-bottom: 40px;
}
.farmer-item__name::before {
  content: "";
  border-top: dashed 2px; /*中が空っぽの四角い要素のうちtopだけを表示（色は親で指定ずみ）*/
  bottom: -20px; /* 線の位置 */
  left: 50%; /* 線の中央寄せ */
  position: absolute;
  transform: translateX(-50%); /* 線の中央寄せ */
  width: 140px; /* 線の長さ */
}
.farmer-item__text {
  max-width: 300px;
  text-align: left;
  display: inline-block;
  padding: 0 10px 10px;
}
/* section-faq */
.section-faq {
  max-width: 1160px;
  margin: 0 auto;
  padding: 120px 24px 150px;
  position: relative;
}
.section-faq h2 {
  padding-bottom: 40px;
}
.pumpkin {
  position: absolute;
  top: 30px;
  left: -30px;
}
.faq-content {
  padding-bottom: 30px;
  max-width: 800px;
  margin: 0 auto;
}
.faq-q {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  padding: 20px 45px 20px 30px;
  font-weight: 600;
  cursor: pointer;
  background-color: #32630c;
  color: #fff;
  border-radius: 15px;
  list-style: none; /*デフォルトの三角印（▶︎と▼）を非表示にする*/
}
.faq-q::-webkit-details-marker {
  display: none; /*デフォルトの三角印（▶︎と▼）を非表示にする*/
}
.faq-content[open] .faq-q {
  border-radius: 15px 15px 0 0;
}
/*「＋」「－」の装飾*/
.faq-q::before, .faq-q::after {
  position: absolute;
  top: 50%;
  display: block;
  width: 16px;
  height: 2px;
  content: "";
  background-color: currentColor;
  right: 20px;
}
.faq-q::before {
  transform: translateY(-50%);
}
.faq-q::after {
  transition: transform 0.5s;
  transform: translateY(-50%) rotate(-90deg);
}
.faq-content[open]:not([data-accordion-before-close]) .faq-q::after {
  transform: translateY(-50%);
}
/*「＋」「－」の装飾ここまで*/
.faq-content p {
  overflow: hidden;
  padding: 20px;
  border: solid 2px #32630c;
  border-top: none;
  border-radius: 0 0 15px 15px;
  line-height: 1.7;
}
.faq-content p span {
  color: #32630c;
  font-weight: 600;
  font-size: 1.8rem;
}
.sweetpotato {
  position: absolute;
  right: -20px;
}
@media (min-width:1025px) {
  .pumpkin {
    top: 150px;
    left: 0;
  }
  .sweetpotato {
    right: 0;
  }
}
/* footer */
.footer {
  padding: 15px 24px;
}
.footer_logo img {
  width: 150px;
  display: block;
  margin: 20px auto;
}
.footer div {
  text-align: center;
  font-size: 1.2rem;
}
@media (min-width:768px) {
  .footer {
    max-width: 1160px;
    margin: 0 auto;
  }
  .footer_logo img {
    width: 190px;
    margin-top: 0;
  }
  .footer div {
    font-size: 1.6rem;
  }
}