/* =========================================================
  custom.css
========================================================= */


/* =========================================================
  ★ ブランドカラー
========================================================= */
:root {
    --c-primary:      #1A472A;
    --c-primary-dark: #123420;
    --c-accent:       #92B54B;
    --c-bg-wh:        #FFFFFFED;
    --c-bg-green: #e4e7de;
}

/* =========================================================
  common
========================================================= */
body {
  background-color: #FAF8F2;
}

[data-scrolled="true"] .l-header {
    box-shadow: none;
    background-color: #FFFFFFED;
}

[data-scrolled="false"] .l-header {
    box-shadow: none;
    background-color: unset;
}

h2 {
  color: var(--c-primary);
}

.h_sub {
  font-size: var(--fz-sm);
  color: var(--c-primary);
  font-weight: 700;
  margin-top: 10px;
}

.c-gnav .__mainText {
  line-height: 1.4;
}


/* =========================================================
  font
========================================================= */
body {
    font-family: "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho,
                 "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro",
                 "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.font-gothic {
    font-family: var(--wp--preset--font-family--sans);
}

/* =========================================================
  TOP
========================================================= */
.wp-block-cover.mv {
    min-height: 100vh;
    min-height: 100svh; /* スマホのアドレスバー分のガタつきを防ぐ */
    overflow: hidden;
}

.wp-block-cover.mv .wp-block-cover__image-background {
    animation: mv-zoom 20s ease-out forwards;
    transform-origin: right center; /* object-position(100% 50%)に合わせる */
}

@keyframes mv-zoom {
    from { transform: scale(1); }
    to   { transform: scale(1.15); }
}

.mv_copy p {
  font-size: var(--fz-24-36);
  color: var(--c-bg);
  font-weight: 600;
  margin-top: 0 !important;
}

/* 下からの移動なしで、透明度のみでふわっと表示する */
.mv_copy .u-anim-fade-up {
  transform: none !important;
  transition-duration: 5s !important;
}

.mv_copy .u-anim-fade-up:nth-child(2) {
  transition-delay: 1s !important;
}

@media (max-width:640px) {
  .mv_copy > div {
    writing-mode: vertical-rl;
    text-orientation: upright;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-left: calc(50% - 2em);
    margin-top: -20%;
  }
}

.mv_bnr {
  position: relative;
  margin-top: -50px;
  z-index: 10;
  gap: var(--st-pad--container-lg) !important;
}

.mv_bnr_col {
  padding: var(--st-pad--container-lg);
  background-color: var(--c-bg-wh);
  box-shadow: var(--shadow1);
}

.mv_bnr_col h2 {
  font-size: var(--fz-20-24);
  color: var(--c-primary);
  text-align: center;
  margin-top: 1.5em !important;
}

.mv_bnr_col .wp-block-button.c-btn-outline .wp-block-button__link::before {
  content: "";
  position: absolute;
  top: 3px;
  right: 3px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 18px 18px 0;
  border-color: transparent var(--c-accent) transparent transparent;
}

.mv_bnr_col .wp-block-button.c-btn-outline .wp-block-button__link:hover::before {
  border-color: transparent var(--c-bg) transparent transparent;
}

.mv_btn_col {
  gap: 20px !important;
  margin-top: 2.5em !important;
}

.mv_btn_col a {
  margin-top: 0 !important;
  white-space: nowrap;
  font-size: var(--fz-14-16) !important; 
}

.mv_btn_col .c-btn-outline {
  width: 100%;
}

.mv_btn_col .wp-block-button.c-btn-outline .wp-block-button__link {
  padding:1.2em 0.5em;
}

@media (max-width: 781px) {
  /* コアのモバイルスタック（.wp-block-column に flex-basis:100% !important）を打ち消す */
  .wp-block-columns.mv_btn_col > .wp-block-column {
    flex-basis: 0 !important;
    flex-grow: 1;
  }
}

.top_his {
  background-image: url(/wp-content/uploads/2026/07/top_bg01-scaled.webp);
  height: 600px;
  background-size: cover;
  background-position: center;
  padding: 100px var(--ark-pad--container) 60px;
}

/* パララックス（PCのみ／iOS Safariはfixed非対応・不安定なため除外） */
@media (min-width: 782px) {
  .top_his {
    background-attachment: fixed;
  }
}


.top_hist_box {
  writing-mode: vertical-rl;
  text-combine-upright: digits 2;
  text-orientation: upright;
  margin-left: auto;
  margin-right: auto;
  line-height: clamp(1.8rem, 1.5rem + 1vw, 2.4rem);
  text-shadow: var(--shadow2);
}

.top_hist_box h3 {
  line-height: 2;
  margin-left: 1.5vw;
}

.top_hist_txt1 {
  margin-left: 1.5vw;
}

.top_hist_box > div > div {
  margin-top: 0 !important;
}

@media (max-width: 781px) {
  .top_his {
    height: auto;
    padding: 60px var(--ark-pad--container);
  }

  .top_hist_box h3  {
    margin-left: 0;
    margin-bottom: 1em;
  }

  .top_hist_txt1 {
    margin-left: 0;
    margin-bottom: 0.8em !important;
  }

  .top_hist_box {
    writing-mode: horizontal-tb;
    text-align: center;
  }

  .top_hist_box .top_hist_txt2,
  .top_hist_box .top_hist_txt1 {
    text-align: left;
  }

  .top_hist_box .top_hist_txt2 br,
  .top_hist_box .top_hist_txt1 br {
    display: none;
  }
}

.top_service_grid {
  gap: 30px;
  padding: 0 var(--st-pad--container);
}

body:not(.home) .top_service_grid {
  padding: 0;
}

.service_box {
  border: 2px solid var(--c-primary);
  padding: 0 !important;
}

.service_txt {
  padding: var(--st-pad--container);
  margin-top: 0 !important;
}

@media (max-width: 781px) {
  .wp-container-core-group-is-layout-0fed8f92 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }  
}

@media (max-width: 1000px) {
  .top_service_grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 480px) {
  .wp-container-core-group-is-layout-0fed8f92 {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }

  .top_service_grid{
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}

.sns_wrap {
  background-image: url(/wp-content/uploads/2026/07/top_bg02-scaled.webp);
  height: auto;
  background-size: cover;
  background-position: center;
  padding: 100px var(--ark-pad--container) 60px;
}

.news_wrap {
  background-image: url(/wp-content/uploads/2026/07/top_bg04.webp);
  height: 600px;
  background-size: contain;
  background-position: left 5vw center;
  padding: 100px var(--ark-pad--container) 60px;
  background-repeat: no-repeat;
  min-height: 500px;
}

.news_box > div {
  position: relative;
}

.news_title_box {
  position: absolute;
  background: var(--c-accent);
  width: 280px;
  height: 120px;
  margin-top: -50px !important;
  margin-left: -20px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.news_title_box h2 {
  font-size: var(--fz-20-24);
  color: var(--c-bg);
  padding-bottom: 0.8em;
}

.news_txt_box {
  margin-left: 50px;
  background: #FFFFFFAD;
  padding: var(--ark-pad--container);
}

.news_txt_box ul {
  margin-left: 220px;
  max-height: 300px;
  overflow-y: scroll;
}
.news_txt_box ul li {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
}

.news_txt_box ul li a {
  margin-left: 2em;
}

.news_txt_box ul li a,
.news_txt_box ul li time {
  font-size: 1em;
}

.news_txt_box ul li time {
  min-width: 130px;
}

@media (max-width:781px) {
  .news_txt_box > div {
    margin-top: 80px !important;
  }

  .news_title_box {
    margin-left: 0;
  }

  .news_txt_box ul {
    max-height: 200px;
    margin-left: var(--ark-pad--container);
    padding-top: 0.8em;
    padding-bottom: 0.8em;
  }
}

@media (max-width:640px) {
  .news_txt_box ul li {
    flex-direction: column-reverse;
  }

  .news_txt_box ul li a {
    margin-left: 0;
    margin-top: 1em;
  }

  .news_txt_box {
    margin-left: 5vw;
  }
}

.access_wrap {
  background-image: url(/wp-content/uploads/2026/07/top_bg03-scaled.webp);
  height: auto;
  background-size: cover;
  background-position: center;
  padding: 100px var(--ark-pad--container) 60px;
}

.access_wrap iframe {
  margin-left: 0;
  margin-right: 0;
}

.access_box {
  background: #FFFFFFAD;
  padding: 30px var(--st-pad--container);
  box-shadow: var(--shadow1);
}

/* =========================================================
  page
========================================================= */
.p-topArea.-noimg {
    /* パターン①: 画像 + オーバーレイ */
    background-image: linear-gradient(rgba(0,0,0,0.2), rgba(0,0,0,0.2)), url(/wp-content/uploads/2026/07/page_bg_00.webp);
    background-size: cover;
    background-position: center right 25%;

    /* パターン②: グラデーションのみ */
    /* background: linear-gradient(to right, var(--c-primary) 0%, var(--c-primary-dark) 100%); */
}



.product_col{
  margin-top: 3rem;
  padding: 2.5rem 1.75rem !important;
}


.tst_box {
  border: 2px solid var(--c-accent);
  background-color: var(--c-bg-wh);
  padding: 30px var(--ark-pad--container);
}

.page_wrap1 {
  background-image: url(/wp-content/uploads/2026/07/page_bg01.webp);
  height: auto;
  background-size: cover;
  background-position: center;
  padding: 100px var(--ark-pad--container) 60px;
}

.page_wrap2 {
  background-image: url(/wp-content/uploads/2026/07/page_bg02.webp);
  height: auto;
  background-size: cover;
  background-position: center;
  padding: 100px var(--ark-pad--container) 60px;
}

/* パララックス（PCのみ／iOS Safariはfixed非対応・不安定なため除外） */
@media (min-width: 782px) {
  .page_wrap1,
  .page_wrap2 {
    background-attachment: fixed;
  }
}

.story_col {
  gap: 0 !important;
}

/* is-vertically-aligned-center（コア機能）の align-self:center を打ち消し、行の高さいっぱいに揃える */
.story_boxl,
.story_boxr {
  display: flex;
  align-items: center;
  align-self: stretch !important;
}

.story_boxl {
  border-bottom: 2px solid var(--c-accent);
  padding: 1rem;
}

.story_boxr {
  border-bottom: 1px solid var(--c-bg-green);
  padding: 1rem;
}

@media (max-width: 781px) {
  .story_boxl {
    border-bottom: 1px solid var(--c-bg-green);
    padding: 1rem;
  }

  .story_boxr {
    border-bottom: 2px solid var(--c-accent);
  }
}

.farmer_col_main {
  display: flex;
  flex-direction: column;
}

.farmer_col_main > div:first-child {
  display: flex;
  gap: 20px;
}

.farmer_col_main > div figure:first-child {
  margin-top: var(--ark-mt--inner, var(--ark-mt--s));
}

@media (max-width: 781px) {
  .farmer_col_main > div:first-child {
    flex-direction: column;
  }
}

/* =========================================================
  ドロワー（スマホメニュー）背景色
  child.css のデフォルトは --c-primary。
  異なる色にする場合はコメントを外して上書き。
========================================================= */
/* .p-drawer { background-color: var(--c-accent); } */


/* =========================================================
  フッター色
  child.css のデフォルトは --c-primary 背景 / --c-bg テキスト。
  異なる場合はコメントを外して上書き。
========================================================= */
/* .l-footer { background-color: var(--c-accent); color: var(--c-bg); } */
/* .l-footer p.c-copyright { color: var(--c-bg); } */


/* =========================================================
  str-table 見出し色
  child.css のデフォルトは --c-bg-soft（グレー）。
  ブランドカラーを使う場合はコメントを外して上書き。
========================================================= */
/* .str-table th {
    background: var(--c-primary);
    color: var(--c-bg);
} */


/* =========================================================
  ページ固有スタイル
========================================================= */
