.omoi-fv-title-bg {
  width: 1042px;                /* 画像サイズに合わせて固定 */
  height: 325px;             /* 同上 */
  margin: 0 auto 20px auto;   /* 横中央寄せ＆下余白20px */
  
  background: url('../../img/omoi-fvtext-bg.png') no-repeat center center;
  background-size: contain;   /* 画像をはみ出さないよう縮小表示 */
  position: relative;         /* 内部のテキスト配置に備えてrelativeに */
  display: flex;              /* テキストを中央に置くためFlexに */
  justify-content: center;    
  align-items: center;
}

/* ▼ タイトル文字のスタイル（必要に応じて調整） --------------- */
.omoi-fv-text-title {
  line-height: 1.4;
  text-align: center;
  color: #333; /* 背景とのコントラストを考慮してお好みで変更 */
  margin: 0;   /* 親要素 (.omoi-fv-title-bg) 内で中央に配置 */
  padding: 0 10px; /* 文字が背景に重ならないよう余白をとる */
}

.omoi-fv-text-title-large{
  font-size: 32px;
}

.omoi-fv-text-title-small{
  font-size: 20px;
}

/* ▼ 本文は従来のまま or 適宜調整 ---------------------------- */
.omoi-fv-text-text {
  text-align: left;
  max-width: 1024px;
  margin: 0 auto;  /* 中央寄せにする例 */
  padding: 0 40px;
}

.omoi-fv-text-text p {
  font-size: 18px;
  margin-bottom: 10px;
}


.layout-row {
  display: flex;
  flex-wrap: wrap;   /* 内容が狭い場合は折り返し可能に */
  align-items: flex-start;
  margin: 20px 0;    /* 適宜余白 */
}

.layout-row img {
  flex: 0 0 auto;    /* 画像は幅固定/または自動 */
  max-width: 300px;  /* 画像の表示幅を調整 */
  margin-right: 20px;
  border-radius: 8px;
}

.layout-row-text {
  flex: 1;           /* 残りスペースをテキストに */
  min-width: 200px;  /* テキストの最小幅 */
}

.layout-row-text p {
  margin-bottom: 1em; 
  line-height: 200%;
}

.saying{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 56px 0;
    gap: 16px;
    color: #28A06C;
}
  
.saying h3{
    font-size: 40px;
}
  
.saying h4{
    font-size: 24px;
}

.tsuchi-wrapper {
  text-align: center;
}

.tsuchi-wrapper img{
  max-width: 600px !important;
}

@media screen and (max-width: 1024px) {
  /* FVテキストのタイトルと本文のサイズ調整 */
  .omoi-fv-title-bg {
    /* 背景画像を削除 */
    background: none;
    /* 幅・高さの固定指定を解除 */
    width: auto;
    height: auto;
    margin: 0 auto 20px; /* 左右中央寄せしつつ、下余白 */
    
    /* 中身を縦方向中心にするため、引き続きFlexでもOK */
    display: flex;
    justify-content: center;
    align-items: center;
    /* あるいは display: block; でも可 */
  }
  
  .omoi-fv-text-title {
    text-align: center;   /* テキストを中央揃え（継続） */
    line-height: 1.4;
    margin: 0 20px;       /* 左右に余白を確保しつつ中央揃え */
    padding: 0;
  }

  .omoi-fv-text-title-large{
    font-size: 28px;
  }
  
  .omoi-fv-text-title-small{
    font-size: 18px;
  }
  

    .omoi-fv-text-text {
        margin: 0;
        padding: 0 40px;
        margin-bottom: 40px;
    }
    
    .omoi-fv-text-text p {
        font-size: 16px;  /* 20px → 16px */
    }

    .layout-row {
      display: block;  /* 縦並び */
    }
    .layout-row img {
      max-width: 100%;  /* 画面幅いっぱいで表示 */
      margin: 0 0 16px; /* 下余白のみ */
      display: block;
    }
    .layout-row-text {
      min-width: auto;  /* 幅制限解除 */
    }

    /* フェードアウト用のクラス */
    .fade-out {
        opacity: 0;
        transform: translateY(-10px);
    }

    .saying h3{
        font-size: 24px;
    }

    .saying h4{
        font-size: 16px;
    }
}
