/* =========================================================
   OMAI｜体重米
   選ばれる3つの理由
   CLEAN FINAL v4
   ========================================================= */


/* =========================================================
   01. セクション本体
   ★ テーマ側のflex / gridを完全に無効化
   ========================================================= */

.om-reasons {
  display: block !important;

  width: 100% !important;
  max-width: 1200px !important;

  margin: 0 auto !important;
  padding: 42px 32px 58px !important;

  background: #faf8f3 !important;

  box-sizing: border-box !important;

  float: none !important;
  clear: both !important;
}

.om-reasons *,
.om-reasons *::before,
.om-reasons *::after {
  box-sizing: border-box !important;
}


/* =========================================================
   02. ヘッダー
   「選ばれる3つの理由」＋「目次」
   ========================================================= */

.om-reasons__head {
  display: flex !important;

  flex-direction: row !important;
  flex-wrap: nowrap !important;

  align-items: center !important;
  justify-content: space-between !important;

  width: 100% !important;
  max-width: none !important;

  margin: 0 0 22px !important;
  padding: 0 !important;

  float: none !important;
  clear: both !important;

  background: transparent !important;
}


/* =========================================================
   03. 「選ばれる3つの理由」
   ========================================================= */

.om-reasons__eyebrow {
  display: block !important;

  flex: 1 1 auto !important;

  width: auto !important;

  margin: 0 !important;
  padding: 0 !important;

  color: #b89b5e !important;

  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Helvetica Neue",
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    "YuGothic",
    Meiryo,
    sans-serif !important;

  font-size: 16px !important;
  font-weight: 700 !important;

  line-height: 1.5 !important;

  letter-spacing: .10em !important;

  text-align: left !important;

  white-space: nowrap !important;
}


/* =========================================================
   04. 目次本体
   ========================================================= */

.om-reasons .outline {
  position: relative !important;

  display: flex !important;

  flex: 0 0 auto !important;

  flex-direction: row !important;
  flex-wrap: nowrap !important;

  align-items: center !important;
  justify-content: flex-end !important;

  width: auto !important;
  max-width: none !important;

  height: auto !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;

  background: transparent !important;

  box-shadow: none !important;

  float: none !important;
}


/* =========================================================
   05. 目次タイトル
   ========================================================= */

.om-reasons .outline__title {
  display: inline-flex !important;

  align-items: center !important;
  justify-content: center !important;

  width: auto !important;
  height: 38px !important;

  min-width: 72px !important;
  min-height: 38px !important;

  margin: 0 !important;
  padding: 0 13px !important;

  border: 1px solid #d8d2c8 !important;
  border-radius: 6px !important;

  background: #fff !important;

  color: #444 !important;

  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Helvetica Neue",
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    "YuGothic",
    Meiryo,
    sans-serif !important;

  font-size: 14px !important;
  font-weight: 600 !important;

  line-height: 1 !important;

  white-space: nowrap !important;

  box-shadow: none !important;

  position: static !important;
}


/* 目次の疑似要素を削除 */

.om-reasons .outline__title::before,
.om-reasons .outline__title::after {
  content: none !important;
  display: none !important;
}


/* =========================================================
   06. チェックボックス
   ========================================================= */

.om-reasons .outline__toggle {
  position: absolute !important;

  width: 1px !important;
  height: 1px !important;

  margin: -1px !important;
  padding: 0 !important;

  overflow: hidden !important;

  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;

  white-space: nowrap !important;

  border: 0 !important;

  opacity: 0 !important;
}


/* =========================================================
   07. 「開く」ボタン
   ========================================================= */

.om-reasons .outline__switch {
  display: inline-flex !important;

  align-items: center !important;
  justify-content: center !important;

  flex: 0 0 auto !important;

  width: 48px !important;
  height: 38px !important;

  min-width: 48px !important;
  min-height: 38px !important;

  margin: 0 0 0 6px !important;
  padding: 0 !important;

  border: 1px solid #d8d2c8 !important;
  border-radius: 6px !important;

  background: #fff !important;

  color: #444 !important;

  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Helvetica Neue",
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    "YuGothic",
    Meiryo,
    sans-serif !important;

  font-size: 13px !important;
  font-weight: 500 !important;

  line-height: 1 !important;

  cursor: pointer !important;

  box-shadow: none !important;

  position: static !important;

  transform: none !important;
}


/* 「開く」の文字 */

.om-reasons .outline__switch::before {
  display: block !important;

  content: "開く" !important;

  width: auto !important;
  height: auto !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;

  background: transparent !important;

  color: #444 !important;

  font: inherit !important;

  line-height: 1 !important;

  transform: none !important;
}


/* テーマのアイコン等を完全削除 */

.om-reasons .outline__switch::after {
  display: none !important;
  content: none !important;
}


/* =========================================================
   08. 目次リスト
   ★ ここが「謎の白いボックス」の本丸
   ========================================================= */

.om-reasons .outline__list {
  display: none !important;

  position: absolute !important;

  top: calc(100% + 8px) !important;
  right: 0 !important;

  z-index: 9999 !important;

  width: 300px !important;
  max-width: calc(100vw - 32px) !important;

  height: auto !important;
  min-height: 0 !important;

  margin: 0 !important;
  padding: 14px 16px !important;

  overflow: visible !important;

  border: 1px solid #e5dfd5 !important;
  border-radius: 6px !important;

  background: #fff !important;

  box-shadow:
    0 8px 24px rgba(0,0,0,.12) !important;

  list-style: none !important;
}


/* チェック時だけ表示 */

.om-reasons .outline__toggle:checked ~ .outline__list {
  display: block !important;
}


/* =========================================================
   09. 目次リスト内部
   ========================================================= */

.om-reasons .outline__item {
  display: block !important;

  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  list-style: none !important;
}


.om-reasons .outline__link {
  display: block !important;

  width: 100% !important;

  margin: 0 !important;
  padding: 5px 0 !important;

  color: #444 !important;

  font-size: 14px !important;

  line-height: 1.6 !important;

  text-decoration: none !important;
}


/* =========================================================
   10. タイトル
   ========================================================= */

.om-reasons__title {
  display: block !important;

  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 12px 0 14px 24px !important;

  border-top: 0 !important;
  border-right: 0 !important;

  border-left: 8px solid #304461 !important;
  border-bottom: 2px solid #304461 !important;

  background: transparent !important;

  color: #444 !important;

  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Helvetica Neue",
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    "YuGothic",
    Meiryo,
    sans-serif !important;

  font-size: clamp(28px, 3vw, 40px) !important;

  font-weight: 700 !important;

  line-height: 1.45 !important;

  letter-spacing: .02em !important;

  text-align: left !important;

  float: none !important;
  clear: both !important;
}


/* タイトルラインは使わない */

.om-reasons__title-line {
  display: none !important;
}


/* =========================================================
   11. リード文
   ========================================================= */

.om-reasons__lead {
  display: block !important;

  width: 100% !important;
  max-width: 880px !important;

  margin: 20px 0 30px !important;
  padding: 0 !important;

  color: #555 !important;

  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Helvetica Neue",
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    "YuGothic",
    Meiryo,
    sans-serif !important;

  font-size: 17px !important;

  font-weight: 400 !important;

  line-height: 1.8 !important;

  letter-spacing: .02em !important;

  text-align: left !important;

  float: none !important;
  clear: both !important;
}


/* =========================================================
   12. 3カード
   ========================================================= */

.om-reasons__grid {
  display: grid !important;

  grid-template-columns:
    repeat(3, minmax(0, 1fr)) !important;

  gap: 26px !important;

  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  float: none !important;
  clear: both !important;
}


/* =========================================================
   13. カード
   ========================================================= */

.om-reasons__item {
  display: block !important;

  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;

  background: #fff !important;

  border: 1px solid #e7e1d8 !important;

  border-radius: 10px !important;

  box-shadow:
    0 4px 18px rgba(0,0,0,.05) !important;
}


/* =========================================================
   14. カード画像
   ========================================================= */

.om-reasons__image {
  display: block !important;

  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;

  background: #f1eee8 !important;
}


.om-reasons__image picture {
  display: block !important;

  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;
}


.om-reasons__image img {
  display: block !important;

  width: 100% !important;
  max-width: 100% !important;

  height: auto !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
}


/* =========================================================
   15. カード本文
   ========================================================= */

.om-reasons__content {
  display: block !important;

  width: 100% !important;

  margin: 0 !important;
  padding: 22px 24px 26px !important;

  text-align: center !important;

  position: relative !important;
}


/* 番号 */

.om-reasons__number {
  display: block !important;

  margin: 0 0 7px !important;
  padding: 0 !important;

  color: #b89b5e !important;

  font-family:
    Georgia,
    "Times New Roman",
    serif !important;

  font-size: 14px !important;

  font-weight: 700 !important;

  line-height: 1 !important;

  letter-spacing: .12em !important;
}


/* カード見出し */

.om-reasons__heading {
  display: block !important;

  margin: 0 0 13px !important;
  padding: 0 !important;

  color: #444 !important;

  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Helvetica Neue",
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    "YuGothic",
    Meiryo,
    sans-serif !important;

  font-size: 21px !important;

  font-weight: 700 !important;

  line-height: 1.55 !important;

  letter-spacing: .02em !important;
}


.om-reasons__heading::after {
  display: block !important;

  content: "" !important;

  width: 40px !important;
  height: 2px !important;

  margin: 12px auto 0 !important;

  background: #b89b5e !important;
}


/* カード本文 */

.om-reasons__text {
  display: block !important;

  margin: 0 !important;
  padding: 0 !important;

  color: #555 !important;

  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Helvetica Neue",
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    "YuGothic",
    Meiryo,
    sans-serif !important;

  font-size: 15px !important;

  line-height: 1.8 !important;

  letter-spacing: .02em !important;
}


/* =========================================================
   16. タブレット
   ========================================================= */

@media (max-width: 900px) {

  .om-reasons {
    padding: 36px 24px 50px !important;
  }

  .om-reasons__grid {
    gap: 18px !important;
  }

}


/* =========================================================
   17. スマートフォン
   ========================================================= */

@media (max-width: 768px) {

  .om-reasons {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;

    padding: 28px 16px 42px !important;
  }


  /* ヘッダー */

  .om-reasons__head {
    display: flex !important;

    flex-direction: row !important;
    flex-wrap: nowrap !important;

    align-items: center !important;
    justify-content: space-between !important;

    gap: 8px !important;

    width: 100% !important;

    margin-bottom: 18px !important;
  }


  /* 小見出し */

  .om-reasons__eyebrow {
    flex: 1 1 auto !important;

    font-size: 13px !important;

    letter-spacing: .06em !important;

    white-space: nowrap !important;
  }


  /* 目次 */

  .om-reasons .outline__title {
    height: 34px !important;

    min-width: 62px !important;
    min-height: 34px !important;

    padding: 0 9px !important;

    font-size: 13px !important;
  }


  .om-reasons .outline__switch {
    width: 44px !important;

    min-width: 44px !important;

    height: 34px !important;
    min-height: 34px !important;

    margin-left: 4px !important;

    font-size: 12px !important;
  }


  /* タイトル */

  .om-reasons__title {
    display: block !important;

    width: 100% !important;

    margin: 0 !important;

    padding: 8px 10px 10px 14px !important;

    border-left-width: 6px !important;
    border-bottom-width: 2px !important;

    font-size: 22px !important;

    line-height: 1.5 !important;

    letter-spacing: .01em !important;

    text-align: left !important;
  }


  /* リード */

  .om-reasons__lead {
    display: block !important;

    width: 100% !important;

    margin: 16px 0 24px !important;

    font-size: 14px !important;

    line-height: 1.8 !important;

    text-align: left !important;
  }


  /* カード */

  .om-reasons__grid {
    display: grid !important;

    grid-template-columns: 1fr !important;

    gap: 18px !important;

    width: 100% !important;
  }


  .om-reasons__content {
    padding: 19px 18px 21px !important;
  }


  .om-reasons__number {
    margin-bottom: 6px !important;

    font-size: 13px !important;
  }


  .om-reasons__heading {
    margin-bottom: 10px !important;

    font-size: 19px !important;

    line-height: 1.55 !important;
  }


  .om-reasons__text {
    font-size: 14px !important;

    line-height: 1.8 !important;
  }

}


/* =========================================================
   18. 小型スマホ
   ========================================================= */

@media (max-width: 480px) {

  .om-reasons {
    padding-right: 13px !important;
    padding-left: 13px !important;
  }


  .om-reasons__head {
    gap: 6px !important;
  }


  .om-reasons__eyebrow {
    font-size: 12px !important;

    letter-spacing: .04em !important;
  }


  .om-reasons .outline__title {
    height: 32px !important;
    min-width: 58px !important;
    min-height: 32px !important;

    padding: 0 7px !important;

    font-size: 12px !important;
  }


  .om-reasons .outline__switch {
    width: 40px !important;

    min-width: 40px !important;

    height: 32px !important;
    min-height: 32px !important;

    margin-left: 3px !important;

    font-size: 11px !important;
  }


  .om-reasons__title {
    padding-left: 12px !important;

    font-size: 20px !important;
  }


  .om-reasons__lead {
    font-size: 14px !important;
  }

}
/* =========================================================
   OMAI｜体重米
   選ばれる3つの理由
   HTML構造対応・最終修正版
   ========================================================= */

/* セクション */
.om-reasons {
    display: block !important;
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
}


/* =========================================================
   ヘッダー
   eyebrow + 目次
   ↓
   タイトル
   ↓
   リード
   の3段構成にする
   ========================================================= */

.om-reasons__head {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;

    width: 100% !important;
    margin: 0 0 30px !important;
    padding: 0 !important;

    box-sizing: border-box !important;
}


/* 「選ばれる3つの理由」 */
.om-reasons__eyebrow {
    display: block !important;
    flex: 1 1 auto !important;

    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;

    white-space: nowrap !important;
}


/* 目次 */
.om-reasons__head .outline {
    display: flex !important;
    flex: 0 0 auto !important;

    width: auto !important;
    margin: 0 !important;
}


/* =========================================================
   ★重要
   タイトルをヘッダー内でも強制的に1段独占
   ========================================================= */

.om-reasons__head > .om-reasons__title {
    display: block !important;

    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;

    margin: 22px 0 0 !important;
    padding: 12px 0 14px 24px !important;

    box-sizing: border-box !important;

    border-top: 0 !important;
    border-right: 0 !important;
    border-left: 8px solid #304461 !important;
    border-bottom: 2px solid #304461 !important;

    background: transparent !important;

    color: #444 !important;

    font-size: clamp(28px, 3vw, 40px) !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
    letter-spacing: .02em !important;

    text-align: left !important;
}


/* タイトル下の線は不要 */
.om-reasons__head > .om-reasons__title-line {
    display: none !important;
}


/* =========================================================
   ★重要
   リード文も1段独占
   ========================================================= */

.om-reasons__head > .om-reasons__lead {
    display: block !important;

    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 880px !important;

    margin: 20px 0 30px !important;
    padding: 0 !important;

    box-sizing: border-box !important;

    color: #555 !important;

    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1.8 !important;
    letter-spacing: .02em !important;

    text-align: left !important;
}


/* =========================================================
   3カード
   ========================================================= */

.om-reasons__grid {
    display: grid !important;

    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;

    gap: 26px !important;

    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;

    box-sizing: border-box !important;
}


/* =========================================================
   スマートフォン
   ========================================================= */

@media (max-width: 768px) {

    .om-reasons {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 28px 16px 42px !important;
    }


    /* eyebrow + 目次 */
    .om-reasons__head {
        display: flex !important;

        flex-direction: row !important;
        flex-wrap: wrap !important;

        align-items: center !important;
        justify-content: space-between !important;

        width: 100% !important;

        margin-bottom: 24px !important;
    }


    .om-reasons__eyebrow {
        flex: 1 1 auto !important;

        width: auto !important;

        font-size: 13px !important;
        letter-spacing: .06em !important;

        white-space: nowrap !important;
    }


    /* タイトル */
    .om-reasons__head > .om-reasons__title {
        flex: 0 0 100% !important;

        width: 100% !important;
        max-width: 100% !important;

        margin-top: 18px !important;

        padding: 8px 10px 10px 14px !important;

        border-left-width: 6px !important;
        border-bottom-width: 2px !important;

        font-size: 22px !important;
        line-height: 1.5 !important;

        letter-spacing: .01em !important;
    }


    /* リード */
    .om-reasons__head > .om-reasons__lead {
        flex: 0 0 100% !important;

        width: 100% !important;
        max-width: 100% !important;

        margin: 16px 0 24px !important;

        font-size: 14px !important;
        line-height: 1.8 !important;

        text-align: left !important;
    }


    /* カード */
    .om-reasons__grid {
        display: grid !important;

        grid-template-columns: 1fr !important;

        gap: 18px !important;

        width: 100% !important;
    }
}


/* =========================================================
   小型スマホ
   ========================================================= */

@media (max-width: 480px) {

    .om-reasons {
        padding-right: 13px !important;
        padding-left: 13px !important;
    }


    .om-reasons__eyebrow {
        font-size: 12px !important;
        letter-spacing: .04em !important;
    }


    .om-reasons__head > .om-reasons__title {
        padding-left: 12px !important;
        font-size: 20px !important;
    }


    .om-reasons__head > .om-reasons__lead {
        font-size: 14px !important;
    }
}
/* リード文 → 3コラムの間隔を詰める */
.om-reasons__head > .om-reasons__lead {
  margin-bottom: 12px !important;
}

.om-reasons__grid {
  margin-top: 0 !important;
}

@media (max-width: 768px) {
  .om-reasons__head > .om-reasons__lead {
    margin-bottom: 10px !important;
  }

  .om-reasons__grid {
    margin-top: 0 !important;
  }
}