/* =========================================================
   OHANA for Twenty Twenty-Five
   統合版CSS
   - 固定ページデザイン
   - ブログ一覧ページ
   - ブログ投稿ページ
   - スマホレスポンシブ強化
========================================================= */


/* =========================================================
   0. 全体の横ズレ・はみ出し対策
========================================================= */

html {
  width: 100%;
  overflow-x: hidden !important;
}

body {
  width: 100%;
  overflow-x: hidden !important;
  background: #ffffff !important;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

img,
video,
iframe,
table {
  max-width: 100%;
}

img {
  height: auto;
}


/* =========================
   1. テーマ干渉リセット
========================= */

html,
body {
  background: #ffffff !important;
}

body,
.wp-site-blocks,
.wp-block-post-content,
.entry-content,
main,
main.wp-block-group {
  background: #ffffff !important;
}

.wp-site-blocks {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  overflow-x: hidden !important;
}

/* 固定ページではテーマ側タイトルを非表示 */
body.page .wp-block-post-title,
body.page .entry-title,
body.page h1.wp-block-post-title {
  display: none !important;
}

body.page .wp-block-post-content,
body.page .entry-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* 固定ページの独自LPだけ横幅制限を解除 */
body.page .wp-block-post-content > .ohana-page,
body.page .entry-content > .ohana-page,
.ohana-page {
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
}


/* =========================
   2. OHANA共通
========================= */

.ohana-page {
  --ohana-main: #b3a799;
  --ohana-main-dark: #8f8173;
  --ohana-text: #333333;
  --ohana-light: #f7f5f2;
  --ohana-yellow: #fff7dc;
  --ohana-orange: #fff0e8;
  --ohana-purple: #eadff5;
  --ohana-border: rgba(179, 167, 153, 0.28);

  display: block !important;
  overflow: hidden !important;
  background: #ffffff !important;
  color: var(--ohana-text) !important;
  font-family: "Helvetica Neue", Arial, "Yu Gothic", "YuGothic", "Meiryo", sans-serif !important;
  line-height: 1.9 !important;
  letter-spacing: 0.03em !important;
}

.ohana-page * {
  box-sizing: border-box !important;
}

.ohana-page img {
  display: block !important;
  max-width: 100% !important;
  height: auto;
}

.ohana-page a {
  color: var(--ohana-main-dark);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.ohana-section {
  display: block !important;
  width: 100% !important;
  padding: 82px 24px !important;
  margin: 0 !important;
  background: #ffffff;
}

.ohana-inner {
  width: min(1120px, 100%) !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
}

.ohana-narrow {
  width: min(820px, 100%) !important;
  max-width: 820px !important;
  margin: 0 auto !important;
}

.ohana-page h1,
.ohana-page h2,
.ohana-page h3 {
  margin-top: 0 !important;
  line-height: 1.5 !important;
  letter-spacing: 0.06em !important;
}

.ohana-page h2 {
  text-align: center !important;
  font-size: clamp(24px, 3vw, 36px) !important;
  color: var(--ohana-main) !important;
  margin-bottom: 34px !important;
  font-weight: 500 !important;
}

.ohana-page h3 {
  font-size: clamp(18px, 2.4vw, 25px) !important;
  color: var(--ohana-main) !important;
  margin-bottom: 18px !important;
}

.ohana-page p {
  margin-top: 0 !important;
  margin-bottom: 1.2em !important;
}

.ohana-center {
  text-align: center !important;
}

.ohana-lead {
  text-align: center !important;
  font-size: clamp(18px, 2.4vw, 26px) !important;
  font-weight: 700 !important;
  margin-bottom: 28px !important;
}

.ohana-strong {
  font-weight: 700 !important;
}


/* =========================
   3. HERO
========================= */

.ohana-hero {
  padding: 0 !important;
  background: #ffffff !important;
}

.ohana-hero-inner {
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}

.ohana-slider-wrap,
.ohana-slider-wrap .n2-section-smartslider,
.ohana-slider-wrap .n2-ss-slider {
  width: 100% !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  overflow: hidden !important;
}


/* =========================
   4. CATCH
========================= */

.ohana-catch {
  background: #ffffff !important;
  text-align: center !important;
  padding-top: 68px !important;
  padding-bottom: 74px !important;
}

.ohana-catch h2 {
  color: #222222 !important;
  font-size: clamp(24px, 4vw, 42px) !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
  margin-bottom: 28px !important;
  text-decoration: underline !important;
  text-decoration-color: #f8ccd5 !important;
  text-decoration-thickness: 11px !important;
  text-underline-offset: -3px !important;
}

.ohana-catch p {
  color: #222222 !important;
  font-size: clamp(22px, 3.5vw, 34px) !important;
  line-height: 1.6 !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
  text-decoration-color: #f8ccd5 !important;
  text-decoration-thickness: 11px !important;
  text-underline-offset: -3px !important;
}


/* =========================
   5. CONCEPT
========================= */

.ohana-concept {
  background:
    linear-gradient(rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.45)),
    url("https://ohanahair.info/wp-content/uploads/2023/12/concept.png") center / cover no-repeat !important;
  color: #ffffff !important;
}

.ohana-concept h2,
.ohana-concept .ohana-lead {
  color: #ffffff !important;
}

.ohana-concept-box {
  background: rgba(0, 0, 0, 0.36) !important;
  padding: 52px 42px !important;
  border-radius: 6px !important;
}

.ohana-concept p {
  font-size: 16px !important;
}


/* =========================
   6. PROBLEM
========================= */

.ohana-problem {
  background: var(--ohana-yellow) !important;
}

.ohana-list {
  width: min(720px, 100%) !important;
  margin: 0 auto 34px !important;
  padding: 0 !important;
  list-style: none !important;
}

.ohana-list li {
  position: relative !important;
  padding: 13px 12px 13px 38px !important;
  border-bottom: 1px solid var(--ohana-border) !important;
  font-size: clamp(15px, 2vw, 18px) !important;
}

.ohana-list li::before {
  content: "✓";
  position: absolute;
  left: 10px;
  top: 13px;
  color: var(--ohana-main);
  font-weight: 700;
}


/* =========================
   7. CUSTOMER
========================= */

.ohana-customer {
  background: #ffffff !important;
}

.ohana-two-column {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 48px !important;
  align-items: center !important;
}

.ohana-image-card img {
  width: 100% !important;
  height: 380px !important;
  object-fit: cover !important;
  border-radius: 10px !important;
}

.ohana-text-card {
  font-size: 15px !important;
}

.ohana-text-card p {
  margin-bottom: 13px !important;
}


/* =========================
   8. STAFF
========================= */

.ohana-staff {
  background: var(--ohana-light) !important;
}

.ohana-staff .ohana-inner {
  max-width: 780px !important;
}

.ohana-staff-photo {
  width: 230px !important;
  margin: 0 auto 26px !important;
}

.ohana-staff-photo img {
  width: 230px !important;
  height: 230px !important;
  object-fit: cover !important;
  border-radius: 999px !important;
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.14) !important;
}

.ohana-staff h3 {
  text-align: center !important;
}

.ohana-profile-text {
  margin-top: 28px !important;
}


/* =========================
   9. MENU
========================= */

.ohana-menu {
  background: linear-gradient(135deg, #eeeeee, #dbe4ea) !important;
}

.ohana-menu .ohana-inner {
  max-width: 720px !important;
}

.ohana-menu-image {
  width: 100% !important;
  height: 230px !important;
  object-fit: cover !important;
  border-radius: 10px !important;
  margin-bottom: 24px !important;
}

.ohana-price-box {
  background: #ffffff !important;
  padding: 18px 22px !important;
  border-radius: 8px !important;
  margin-bottom: 14px !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06) !important;
}

.ohana-price-box p {
  margin: 0 0 4px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}

.ohana-price-box span {
  font-size: 14px !important;
  color: #555555 !important;
}


/* =========================
   10. STYLE
========================= */

.ohana-style {
  background: var(--ohana-light) !important;
}

.ohana-style-inner {
  width: min(980px, 100%) !important;
  max-width: 980px !important;
}

.ohana-instagram-feed {
  width: min(980px, 100%) !important;
  max-width: 980px !important;
  margin: 0 auto !important;
}


/* =========================
   11. VOICE
========================= */

.ohana-voice {
  background: var(--ohana-orange) !important;
}

.ohana-voice-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(280px, 420px)) !important;
  gap: 30px !important;
  justify-content: center !important;
  align-items: start !important;
  margin-bottom: 14px !important;
}

.ohana-voice-card {
  background: rgba(255, 255, 255, 0.68) !important;
  padding: 12px !important;
  border-radius: 14px !important;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.1) !important;
}

.ohana-voice-card img {
  width: 100% !important;
  height: auto !important;
  border-radius: 10px !important;
  background: #ffffff !important;
}


/* =========================
   12. ACCESS
========================= */

.ohana-access {
  background: var(--ohana-light) !important;
}

.ohana-access-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 42px !important;
  align-items: stretch !important;
}

.ohana-map {
  height: 100% !important;
}

.ohana-map iframe {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 430px !important;
  border: 0 !important;
  border-radius: 10px !important;
}

.ohana-access-info {
  display: flex !important;
  flex-direction: column !important;
}

.ohana-access-info h3 {
  text-align: left !important;
}

.ohana-access-info img {
  width: 100% !important;
  height: 230px !important;
  object-fit: cover !important;
  border-radius: 10px !important;
  margin-bottom: 18px !important;
}

.ohana-access-info ul {
  margin: 0 !important;
  padding-left: 1.2em !important;
}

.ohana-access-info li {
  margin-bottom: 9px !important;
  font-size: 15px !important;
}


/* =========================
   13. RESERVE
========================= */

.ohana-reserve {
  background: #ffffff !important;
}

.ohana-reserve-inner {
  width: min(860px, 100%) !important;
  max-width: 860px !important;
  margin: 0 auto !important;
}

.ohana-reserve-icons {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
  width: 100% !important;
  max-width: 860px !important;
  margin: 0 auto 18px !important;
  padding: 0 !important;
  align-items: stretch !important;
}

.ohana-reserve-icons > a,
.ohana-reserve-icons .ohana-reserve-card {
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 178px !important;
  padding: 22px 14px !important;
  border-radius: 12px !important;
  background: var(--ohana-light) !important;
  color: #333333 !important;
  text-decoration: none !important;
  text-align: center !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}

.ohana-reserve-icons img {
  display: block !important;
  width: 82px !important;
  height: 82px !important;
  object-fit: contain !important;
  margin: 0 auto 12px !important;
}

.ohana-reserve-icons span {
  display: block !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
}

.ohana-reserve-text {
  margin-top: 0 !important;
  margin-bottom: 10px !important;
}


/* =========================
   14. BUTTON 統一
========================= */

.ohana-button-wrap {
  text-align: center !important;
  margin-top: 16px !important;
}

.ohana-button {
  display: inline-flex !important;
  width: 260px !important;
  max-width: 100% !important;
  min-height: 52px !important;
  padding: 13px 24px !important;
  border-radius: 999px !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--ohana-main) !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  text-align: center !important;
  text-decoration: none !important;
  border: none !important;
}

.ohana-button-light {
  background: var(--ohana-purple) !important;
  color: #222222 !important;
}


/* =========================================================
   15. 固定ページレスポンシブ
========================================================= */

@media (max-width: 960px) {
  .ohana-section {
    padding: 68px 20px !important;
  }

  .ohana-two-column,
  .ohana-access-grid {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  .ohana-image-card img,
  .ohana-access-info img {
    height: auto !important;
  }

  .ohana-map iframe {
    height: 360px !important;
    min-height: 360px !important;
  }

  .ohana-reserve-icons {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  .ohana-reserve-icons > a,
  .ohana-reserve-icons .ohana-reserve-card {
    min-height: 150px !important;
    padding: 18px 8px !important;
  }

  .ohana-reserve-icons img {
    width: 64px !important;
    height: 64px !important;
  }

  .ohana-reserve-icons span {
    font-size: 12px !important;
  }

  .ohana-access-info h3 {
    text-align: center !important;
  }
}

@media (max-width: 640px) {
  .ohana-section {
    padding: 54px 16px !important;
  }

  .ohana-concept-box {
    padding: 34px 20px !important;
  }

  .ohana-hero-inner {
    padding: 0 12px !important;
  }

  .ohana-voice-grid {
    grid-template-columns: 1fr !important;
  }

  .ohana-menu-image {
    height: 180px !important;
  }

  .ohana-button {
    width: 260px !important;
    max-width: 100% !important;
  }

  .ohana-staff-photo,
  .ohana-staff-photo img {
    width: 190px !important;
    height: 190px !important;
  }

  .ohana-reserve-icons {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .ohana-reserve-icons > a,
  .ohana-reserve-icons .ohana-reserve-card {
    min-height: 128px !important;
    padding: 14px 6px !important;
  }

  .ohana-reserve-icons img {
    width: 50px !important;
    height: 50px !important;
    margin-bottom: 8px !important;
  }

  .ohana-reserve-icons span {
    font-size: 10px !important;
  }
}

@media (max-width: 480px) {
  .ohana-section {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  .ohana-catch h2 {
    font-size: 24px !important;
  }

  .ohana-catch p {
    font-size: 21px !important;
  }

  .ohana-reserve-icons {
    gap: 6px !important;
  }

  .ohana-reserve-icons > a,
  .ohana-reserve-icons .ohana-reserve-card {
    min-height: 118px !important;
    padding: 12px 4px !important;
  }

  .ohana-reserve-icons img {
    width: 44px !important;
    height: 44px !important;
  }

  .ohana-reserve-icons span {
    font-size: 9.5px !important;
    letter-spacing: 0 !important;
  }
}


/* =========================================================
   16. Blog Archive CSS
   /blog/ ブログ一覧カード型
   右寄り調整・スマホ対応強化
========================================================= */


/* =========================
   ブログページ全体
========================= */

body.blog,
body.archive {
  background: #ffffff !important;
}

/* ブログ一覧ページの中央寄せ */
body.blog main,
body.archive main {
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  overflow-x: hidden !important;
}

/* ブログ一覧まわり */
body.blog .wp-block-query,
body.archive .wp-block-query {
  width: 100% !important;
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 48px 20px 80px !important;
}

/* 固定ページ内にブログ一覧ブロックがある場合 */
body.page .wp-block-query {
  width: calc(100% - 40px) !important;
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 48px 0 80px !important;
}


/* =========================
   不要な全文表示を消す
========================= */

body.blog .wp-block-post-content,
body.archive .wp-block-post-content,
body.page .wp-block-query .wp-block-post-content {
  display: none !important;
}

/* 抜粋も不要なら非表示 */
body.blog .wp-block-post-excerpt,
body.archive .wp-block-post-excerpt,
body.page .wp-block-query .wp-block-post-excerpt {
  display: none !important;
}


/* =========================
   投稿一覧グリッド
========================= */

body.blog .wp-block-post-template,
body.archive .wp-block-post-template,
body.page .wp-block-query .wp-block-post-template {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
  width: 100% !important;
  max-width: 1080px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 !important;
  list-style: none !important;
  transform: none !important;
}

/* liの余白リセット */
body.blog .wp-block-post-template > li,
body.archive .wp-block-post-template > li,
body.page .wp-block-query .wp-block-post-template > li {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}


/* =========================
   記事カード
========================= */

body.blog .wp-block-post,
body.archive .wp-block-post,
body.page .wp-block-query .wp-block-post {
  display: flex !important;
  flex-direction: column !important;
  background: #ffffff !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08) !important;
  border: 1px solid rgba(179, 167, 153, 0.16) !important;
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0 !important;
}


/* =========================
   アイキャッチ画像
========================= */

body.blog .wp-block-post-featured-image,
body.archive .wp-block-post-featured-image,
body.page .wp-block-query .wp-block-post-featured-image {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.blog .wp-block-post-featured-image a,
body.archive .wp-block-post-featured-image a,
body.page .wp-block-query .wp-block-post-featured-image a {
  display: block !important;
  width: 100% !important;
}

body.blog .wp-block-post-featured-image img,
body.archive .wp-block-post-featured-image img,
body.page .wp-block-query .wp-block-post-featured-image img {
  display: block !important;
  width: 100% !important;
  height: 210px !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 0 !important;
}


/* =========================
   投稿タイトル
========================= */

body.blog .wp-block-post-title,
body.archive .wp-block-post-title,
body.page .wp-block-query .wp-block-post-title {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
  font-weight: 700 !important;
  color: #333333 !important;
  margin: 18px 18px 10px !important;
  padding: 0 !important;
  background: transparent !important;
}

body.blog .wp-block-post-title a,
body.archive .wp-block-post-title a,
body.page .wp-block-query .wp-block-post-title a {
  display: block !important;
  color: #333333 !important;
  text-decoration: none !important;
}

body.blog .wp-block-post-title a:hover,
body.archive .wp-block-post-title a:hover,
body.page .wp-block-query .wp-block-post-title a:hover {
  color: #8f8173 !important;
}


/* =========================
   投稿日
========================= */

body.blog .wp-block-post-date,
body.archive .wp-block-post-date,
body.page .wp-block-query .wp-block-post-date {
  display: block !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  color: #8f8173 !important;
  margin: 0 18px 18px !important;
  padding: 0 !important;
}


/* =========================
   投稿カテゴリなどがある場合
========================= */

body.blog .wp-block-post-terms,
body.archive .wp-block-post-terms,
body.page .wp-block-query .wp-block-post-terms {
  display: none !important;
}


/* =========================
   ページネーション
========================= */

body.blog .wp-block-query-pagination,
body.archive .wp-block-query-pagination,
body.page .wp-block-query .wp-block-query-pagination {
  margin-top: 48px !important;
  display: flex !important;
  justify-content: center !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
}

body.blog .wp-block-query-pagination a,
body.archive .wp-block-query-pagination a,
body.page .wp-block-query .wp-block-query-pagination a {
  color: #8f8173 !important;
  text-decoration: none !important;
  font-weight: 700 !important;
}


/* =========================
   Twenty Twenty-Fiveの不要パターンを弱める
========================= */

/* 黄色CTAが残る場合の一時非表示 */
body.blog .wp-block-cover,
body.archive .wp-block-cover,
body.page .wp-block-query + .wp-block-cover {
  display: none !important;
}

/* ブログ下に出る大きなCTA風グループ対策 */
body.blog main > .wp-block-group.has-background,
body.archive main > .wp-block-group.has-background {
  display: none !important;
}


/* =========================
   ブログ一覧レスポンシブ
========================= */

@media (max-width: 960px) {
  body.blog .wp-block-query,
  body.archive .wp-block-query {
    max-width: 760px !important;
    padding: 40px 20px 72px !important;
  }

  body.page .wp-block-query {
    width: calc(100% - 40px) !important;
    max-width: 760px !important;
    padding: 40px 0 72px !important;
  }

  body.blog .wp-block-post-template,
  body.archive .wp-block-post-template,
  body.page .wp-block-query .wp-block-post-template {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
  }

  body.blog .wp-block-post-featured-image img,
  body.archive .wp-block-post-featured-image img,
  body.page .wp-block-query .wp-block-post-featured-image img {
    height: 220px !important;
  }
}

@media (max-width: 600px) {
  body.blog .wp-block-query,
  body.archive .wp-block-query {
    width: 100% !important;
    max-width: 100% !important;
    padding: 32px 16px 64px !important;
  }

  body.page .wp-block-query {
    width: 100% !important;
    max-width: 100% !important;
    padding: 32px 16px 64px !important;
  }

  body.blog .wp-block-post-template,
  body.archive .wp-block-post-template,
  body.page .wp-block-query .wp-block-post-template {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.blog .wp-block-post-featured-image img,
  body.archive .wp-block-post-featured-image img,
  body.page .wp-block-query .wp-block-post-featured-image img {
    height: 220px !important;
  }

  body.blog .wp-block-post-title,
  body.archive .wp-block-post-title,
  body.page .wp-block-query .wp-block-post-title {
    font-size: 16px !important;
    margin: 16px 16px 10px !important;
  }

  body.blog .wp-block-post-date,
  body.archive .wp-block-post-date,
  body.page .wp-block-query .wp-block-post-date {
    margin: 0 16px 16px !important;
  }
}

@media (max-width: 420px) {
  body.blog .wp-block-query,
  body.archive .wp-block-query,
  body.page .wp-block-query {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  body.blog .wp-block-post-featured-image img,
  body.archive .wp-block-post-featured-image img,
  body.page .wp-block-query .wp-block-post-featured-image img {
    height: 200px !important;
  }
}


/* =========================================================
   17. ブログ投稿ページ用 CSS
   記事本文・目次・見出し・CTA
   スマホレスポンシブ強化版
========================================================= */


/* =========================
   投稿ページ 全体設定
========================= */

body.single-post {
  background: #fbfaf7 !important;
}

body.single-post main {
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 32px 0 0 !important;
  overflow-x: hidden !important;
}

body.single-post article {
  width: 100% !important;
  max-width: 1040px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
}

/* 投稿ページでは記事タイトルを表示 */
body.single-post h1.wp-block-post-title,
body.single-post .wp-block-post-title {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* 本文エリア */
body.single-post .entry-content,
body.single-post .wp-block-post-content {
  width: 100% !important;
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  font-size: 17px !important;
  line-height: 2 !important;
  color: #3b302b !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
}

/* 本文直下のブロックのはみ出し対策 */
body.single-post .entry-content > *,
body.single-post .wp-block-post-content > * {
  max-width: 100% !important;
}

/* 段落 */
body.single-post .entry-content p,
body.single-post .wp-block-post-content p {
  margin: 0 0 1.7em !important;
}

/* リンク */
body.single-post .entry-content a,
body.single-post .wp-block-post-content a {
  color: #8a5f45 !important;
  text-decoration: underline !important;
  text-underline-offset: 4px !important;
}

body.single-post .entry-content a:hover,
body.single-post .wp-block-post-content a:hover {
  color: #5f3f2d !important;
}


/* =========================
   記事タイトル・日付・アイキャッチ
========================= */

body.single-post h1.wp-block-post-title,
body.single-post .wp-block-post-title {
  width: 100% !important;
  max-width: 860px !important;
  margin: 0 auto 20px !important;
  padding: 0 !important;
  font-size: clamp(26px, 4vw, 42px) !important;
  line-height: 1.45 !important;
  letter-spacing: 0.03em !important;
  color: #2f2723 !important;
  font-weight: 600 !important;
  text-align: left !important;
}

body.single-post .wp-block-post-date,
body.single-post .wp-block-post-terms {
  width: 100% !important;
  max-width: 860px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  color: #8c7a70 !important;
  font-size: 14px !important;
}

body.single-post .wp-block-post-featured-image {
  width: 100% !important;
  max-width: 920px !important;
  margin: 32px auto 48px !important;
  border-radius: 22px !important;
  overflow: hidden !important;
}

body.single-post .wp-block-post-featured-image img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}


/* =========================
   この記事でわかること
========================= */

.article-summary {
  width: 100% !important;
  max-width: 760px !important;
  margin: 36px auto 44px !important;
  padding: 28px 30px !important;
  background: #ffffff !important;
  border: 1px solid #eadfd7 !important;
  border-radius: 20px !important;
  box-shadow: 0 10px 30px rgba(74, 54, 42, 0.06) !important;
}

.article-summary__title {
  margin: 0 0 14px !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #5f3f2d !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.article-summary__title::before {
  content: "";
  width: 10px;
  height: 10px;
  background: #c8a98d;
  border-radius: 50%;
  display: inline-block;
  flex-shrink: 0;
}

.article-summary ul {
  margin: 0 !important;
  padding-left: 1.2em !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
}

.article-summary li {
  margin: 8px 0 !important;
  line-height: 1.8 !important;
}


/* =========================
   目次デザイン
========================= */

.toc-box {
  width: 100% !important;
  max-width: 760px !important;
  margin: 40px auto 56px !important;
  padding: 30px !important;
  background: #ffffff !important;
  border: 1px solid #e8ddd4 !important;
  border-radius: 22px !important;
  box-shadow: 0 12px 34px rgba(74, 54, 42, 0.07) !important;
}

.toc-box__title {
  margin: 0 0 18px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid #eadfd7 !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #4a3529 !important;
  letter-spacing: 0.04em !important;
}

.toc-box ol,
.toc-box ul {
  margin: 0 !important;
  padding-left: 0 !important;
  list-style: none !important;
  counter-reset: toc-counter;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
}

.toc-box li {
  counter-increment: toc-counter;
  margin: 0 !important;
  border-bottom: 1px solid #f0e7df !important;
}

.toc-box li:last-child {
  border-bottom: none !important;
}

.toc-box a {
  position: relative;
  display: block !important;
  padding: 13px 8px 13px 42px !important;
  color: #3b302b !important;
  text-decoration: none !important;
  line-height: 1.6 !important;
  transition: 0.2s ease;
}

.toc-box a::before {
  content: counter(toc-counter);
  position: absolute;
  left: 8px;
  top: 13px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #f1e5dc;
  color: #7c563f;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
  line-height: 24px;
}

.toc-box a:hover {
  color: #8a5f45 !important;
  background: #fbf6f1 !important;
  border-radius: 10px !important;
}

/* 目次内のH3階層 */
.toc-box li li a {
  padding-left: 58px !important;
  font-size: 15px !important;
  color: #6f625b !important;
}

.toc-box li li a::before {
  left: 24px;
  background: #f7f1ec;
  color: #9a7860;
}


/* =========================
   本文見出し
========================= */

body.single-post .entry-content h2,
body.single-post .wp-block-post-content h2 {
  position: relative;
  width: 100% !important;
  margin: 72px 0 28px !important;
  padding: 18px 22px 18px 26px !important;
  background: #ffffff !important;
  border-left: 6px solid #c8a98d !important;
  border-radius: 0 16px 16px 0 !important;
  box-shadow: 0 8px 24px rgba(74, 54, 42, 0.06) !important;
  color: #3b302b !important;
  font-size: clamp(24px, 3vw, 32px) !important;
  line-height: 1.45 !important;
  letter-spacing: 0.03em !important;
}

body.single-post .entry-content h3,
body.single-post .wp-block-post-content h3 {
  width: 100% !important;
  margin: 48px 0 20px !important;
  padding-bottom: 10px !important;
  border-bottom: 2px solid #eadfd7 !important;
  color: #4a3529 !important;
  font-size: clamp(20px, 2.4vw, 25px) !important;
  line-height: 1.5 !important;
}

body.single-post .entry-content h4,
body.single-post .wp-block-post-content h4 {
  margin: 36px 0 16px !important;
  color: #5f3f2d !important;
  font-size: 18px !important;
  font-weight: 700 !important;
}


/* =========================
   リスト
========================= */

body.single-post .entry-content ul,
body.single-post .entry-content ol,
body.single-post .wp-block-post-content ul,
body.single-post .wp-block-post-content ol {
  width: 100% !important;
  margin: 24px 0 32px !important;
  padding: 24px 28px 24px 48px !important;
  background: #ffffff !important;
  border: 1px solid #eadfd7 !important;
  border-radius: 18px !important;
}

body.single-post .entry-content li,
body.single-post .wp-block-post-content li {
  margin: 10px 0 !important;
  line-height: 1.8 !important;
}

body.single-post .entry-content li::marker,
body.single-post .wp-block-post-content li::marker {
  color: #a4775c !important;
  font-weight: 700 !important;
}


/* =========================
   引用・強調
========================= */

body.single-post blockquote {
  width: 100% !important;
  margin: 36px 0 !important;
  padding: 28px 30px !important;
  background: #fff8f2 !important;
  border-left: 5px solid #c8a98d !important;
  border-radius: 16px !important;
  color: #4a3529 !important;
}

body.single-post blockquote p {
  margin-bottom: 0 !important;
}

/* 任意の強調ボックス */
.ohana-note {
  width: 100% !important;
  margin: 36px 0 !important;
  padding: 26px 28px !important;
  background: #f7f1ec !important;
  border-radius: 18px !important;
  color: #3b302b !important;
}

.ohana-note strong {
  color: #7c563f !important;
}


/* =========================
   記事下CTA
========================= */

.ohana-cta {
  width: 100% !important;
  max-width: 760px !important;
  margin: 64px auto 40px !important;
  padding: 36px 30px !important;
  background: linear-gradient(135deg, #ffffff 0%, #f7efe8 100%) !important;
  border: 1px solid #eadfd7 !important;
  border-radius: 24px !important;
  text-align: center !important;
  box-shadow: 0 14px 38px rgba(74, 54, 42, 0.08) !important;
}

.ohana-cta__title {
  margin: 0 0 12px !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #3b302b !important;
}

.ohana-cta__text {
  margin: 0 0 24px !important;
  color: #6f625b !important;
  line-height: 1.8 !important;
}

.ohana-cta__button {
  display: inline-block !important;
  padding: 14px 34px !important;
  background: #7c563f !important;
  color: #ffffff !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  transition: 0.2s ease;
}

.ohana-cta__button:hover {
  background: #5f3f2d !important;
  transform: translateY(-2px);
}


/* =========================
   画像・テーブル調整
========================= */

body.single-post .entry-content figure,
body.single-post .wp-block-post-content figure {
  width: 100% !important;
  margin: 36px 0 !important;
}

body.single-post .entry-content img,
body.single-post .wp-block-post-content img {
  max-width: 100% !important;
  height: auto !important;
  border-radius: 16px !important;
}

body.single-post .entry-content table,
body.single-post .wp-block-post-content table {
  width: 100% !important;
  min-width: 0 !important;
  border-collapse: collapse !important;
  margin: 32px 0 !important;
  background: #ffffff !important;
  border-radius: 16px !important;
  overflow: hidden !important;
}

body.single-post .entry-content th,
body.single-post .entry-content td,
body.single-post .wp-block-post-content th,
body.single-post .wp-block-post-content td {
  padding: 16px !important;
  border: 1px solid #eadfd7 !important;
  line-height: 1.7 !important;
}

body.single-post .entry-content th,
body.single-post .wp-block-post-content th {
  background: #f7f1ec !important;
  color: #4a3529 !important;
  font-weight: 700 !important;
}


/* =========================
   投稿ナビゲーション・関連記事周辺
========================= */

body.single-post .wp-block-post-navigation-link,
body.single-post .wp-block-query {
  width: 100% !important;
  max-width: 860px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.single-post .wp-block-post-navigation-link a {
  color: #7c563f !important;
  text-decoration: none !important;
}

body.single-post .wp-block-post-navigation-link a:hover {
  text-decoration: underline !important;
}


/* =========================
   ブログ投稿ページ スマホ調整
========================= */

@media (max-width: 768px) {
  body.single-post main {
    padding-top: 20px !important;
  }

  body.single-post article {
    max-width: 100% !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  body.single-post .entry-content,
  body.single-post .wp-block-post-content {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    font-size: 16px !important;
    line-height: 1.9 !important;
  }

  body.single-post h1.wp-block-post-title,
  body.single-post .wp-block-post-title {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    font-size: 26px !important;
    line-height: 1.5 !important;
  }

  body.single-post .wp-block-post-date,
  body.single-post .wp-block-post-terms {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.single-post .wp-block-post-featured-image {
    max-width: 100% !important;
    margin: 24px 0 40px !important;
    border-radius: 18px !important;
  }

  .article-summary,
  .toc-box,
  .ohana-cta {
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 24px 20px !important;
  }

  body.single-post .entry-content h2,
  body.single-post .wp-block-post-content h2 {
    margin-top: 56px !important;
    padding: 16px 18px !important;
    font-size: 23px !important;
    border-radius: 0 14px 14px 0 !important;
  }

  body.single-post .entry-content h3,
  body.single-post .wp-block-post-content h3 {
    margin-top: 40px !important;
    font-size: 20px !important;
  }

  body.single-post .entry-content ul,
  body.single-post .entry-content ol,
  body.single-post .wp-block-post-content ul,
  body.single-post .wp-block-post-content ol {
    padding: 20px 20px 20px 38px !important;
  }

  .toc-box a {
    padding: 12px 6px 12px 40px !important;
  }

  .toc-box a::before {
    top: 12px;
  }

  .toc-box li li a {
    padding-left: 52px !important;
  }

  .toc-box li li a::before {
    left: 20px;
  }

  .ohana-cta__title {
    font-size: 21px !important;
  }

  .ohana-cta__button {
    width: 100% !important;
    box-sizing: border-box !important;
  }

  body.single-post .entry-content th,
  body.single-post .entry-content td,
  body.single-post .wp-block-post-content th,
  body.single-post .wp-block-post-content td {
    padding: 12px !important;
    font-size: 14px !important;
  }
}

@media (max-width: 480px) {
  body.single-post article {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  body.single-post h1.wp-block-post-title,
  body.single-post .wp-block-post-title {
    font-size: 24px !important;
  }

  body.single-post .entry-content,
  body.single-post .wp-block-post-content {
    font-size: 15.5px !important;
  }

  .article-summary,
  .toc-box,
  .ohana-cta {
    padding: 22px 16px !important;
    border-radius: 18px !important;
  }

  body.single-post .entry-content h2,
  body.single-post .wp-block-post-content h2 {
    font-size: 21px !important;
    padding: 15px 16px !important;
  }

  body.single-post .entry-content h3,
  body.single-post .wp-block-post-content h3 {
    font-size: 19px !important;
  }

  body.single-post .entry-content ul,
  body.single-post .entry-content ol,
  body.single-post .wp-block-post-content ul,
  body.single-post .wp-block-post-content ol {
    padding: 18px 16px 18px 34px !important;
  }

  .toc-box__title {
    font-size: 18px !important;
  }

  .toc-box a {
    font-size: 14.5px !important;
    padding-left: 38px !important;
  }

  .toc-box a::before {
    left: 6px;
    width: 22px;
    height: 22px;
    line-height: 22px;
    font-size: 12px;
  }
}
/* =========================================================
   OHANA 追加調整CSS
   - ブログ一覧を中央揃え
   - カード幅を大きめに調整
   - 投稿ページ左右余白を広めに調整
========================================================= */


/* =========================================================
   1. ブログ一覧ページ 中央寄せ・カード幅調整
========================================================= */

/* ブログ一覧全体の親要素を中央に固定 */
body.blog main,
body.archive main,
body.page main {
  width: 100% !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* ブログ一覧ブロック自体を中央揃え */
body.blog .wp-block-query,
body.archive .wp-block-query,
body.page .wp-block-query {
  width: 100% !important;
  max-width: 1240px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 56px 32px 88px !important;
  box-sizing: border-box !important;
}

/* 投稿一覧グリッドを中央に固定 */
body.blog .wp-block-post-template,
body.archive .wp-block-post-template,
body.page .wp-block-query .wp-block-post-template {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 34px !important;
  width: 100% !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  justify-content: center !important;
  align-items: stretch !important;
  list-style: none !important;
}

/* 各カードのズレ防止 */
body.blog .wp-block-post-template > li,
body.archive .wp-block-post-template > li,
body.page .wp-block-query .wp-block-post-template > li {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* カードを少し大きく見せる */
body.blog .wp-block-post,
body.archive .wp-block-post,
body.page .wp-block-query .wp-block-post {
  width: 100% !important;
  min-height: 100% !important;
  border-radius: 16px !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.09) !important;
}

/* アイキャッチ画像を大きめに */
body.blog .wp-block-post-featured-image img,
body.archive .wp-block-post-featured-image img,
body.page .wp-block-query .wp-block-post-featured-image img {
  height: 240px !important;
  object-fit: cover !important;
}

/* タイトルも少し見やすく */
body.blog .wp-block-post-title,
body.archive .wp-block-post-title,
body.page .wp-block-query .wp-block-post-title {
  font-size: 18px !important;
  line-height: 1.65 !important;
  margin: 20px 20px 12px !important;
}

/* 投稿日 */
body.blog .wp-block-post-date,
body.archive .wp-block-post-date,
body.page .wp-block-query .wp-block-post-date {
  margin: 0 20px 22px !important;
}


/* =========================================================
   2. ブログ一覧 タブレット対応
========================================================= */

@media (max-width: 1024px) {
  body.blog .wp-block-query,
  body.archive .wp-block-query,
  body.page .wp-block-query {
    max-width: 900px !important;
    padding: 48px 28px 80px !important;
  }

  body.blog .wp-block-post-template,
  body.archive .wp-block-post-template,
  body.page .wp-block-query .wp-block-post-template {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: 820px !important;
    gap: 28px !important;
  }

  body.blog .wp-block-post-featured-image img,
  body.archive .wp-block-post-featured-image img,
  body.page .wp-block-query .wp-block-post-featured-image img {
    height: 230px !important;
  }
}


/* =========================================================
   3. ブログ一覧 スマホ対応
========================================================= */

@media (max-width: 640px) {
  body.blog .wp-block-query,
  body.archive .wp-block-query,
  body.page .wp-block-query {
    width: 100% !important;
    max-width: 100% !important;
    padding: 36px 22px 68px !important;
  }

  body.blog .wp-block-post-template,
  body.archive .wp-block-post-template,
  body.page .wp-block-query .wp-block-post-template {
    grid-template-columns: 1fr !important;
    max-width: 420px !important;
    gap: 26px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.blog .wp-block-post-featured-image img,
  body.archive .wp-block-post-featured-image img,
  body.page .wp-block-query .wp-block-post-featured-image img {
    height: 230px !important;
  }

  body.blog .wp-block-post-title,
  body.archive .wp-block-post-title,
  body.page .wp-block-query .wp-block-post-title {
    font-size: 16.5px !important;
    margin: 18px 18px 10px !important;
  }

  body.blog .wp-block-post-date,
  body.archive .wp-block-post-date,
  body.page .wp-block-query .wp-block-post-date {
    margin: 0 18px 20px !important;
  }
}

@media (max-width: 420px) {
  body.blog .wp-block-query,
  body.archive .wp-block-query,
  body.page .wp-block-query {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  body.blog .wp-block-post-template,
  body.archive .wp-block-post-template,
  body.page .wp-block-query .wp-block-post-template {
    max-width: 100% !important;
  }

  body.blog .wp-block-post-featured-image img,
  body.archive .wp-block-post-featured-image img,
  body.page .wp-block-query .wp-block-post-featured-image img {
    height: 210px !important;
  }
}


/* =========================================================
   4. ブログ投稿ページ 左右余白を広めに調整
========================================================= */

/* 投稿ページ全体 */
body.single-post main {
  width: 100% !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 記事全体に左右余白を追加 */
body.single-post article {
  width: 100% !important;
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 48px !important;
  padding-right: 48px !important;
  box-sizing: border-box !important;
}

/* 本文幅は読みやすく維持 */
body.single-post .entry-content,
body.single-post .wp-block-post-content {
  width: 100% !important;
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* タイトル・日付・アイキャッチも中央ラインに揃える */
body.single-post h1.wp-block-post-title,
body.single-post .wp-block-post-title,
body.single-post .wp-block-post-date,
body.single-post .wp-block-post-terms {
  max-width: 860px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.single-post .wp-block-post-featured-image {
  max-width: 920px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}


/* =========================================================
   5. 投稿ページ タブレット・スマホ余白調整
========================================================= */

@media (max-width: 1024px) {
  body.single-post article {
    max-width: 100% !important;
    padding-left: 36px !important;
    padding-right: 36px !important;
  }
}

@media (max-width: 768px) {
  body.single-post article {
    padding-left: 28px !important;
    padding-right: 28px !important;
  }

  body.single-post .entry-content,
  body.single-post .wp-block-post-content {
    max-width: 100% !important;
  }

  .article-summary,
  .toc-box,
  .ohana-cta {
    max-width: 100% !important;
  }
}

@media (max-width: 480px) {
  body.single-post article {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  body.single-post h1.wp-block-post-title,
  body.single-post .wp-block-post-title {
    font-size: 24px !important;
  }

  body.single-post .entry-content,
  body.single-post .wp-block-post-content {
    font-size: 15.5px !important;
    line-height: 1.9 !important;
  }
}
/* =========================================================
   OHANA ブログ一覧 最終応急処置
   本文画像・本文表示を強制的に消してカード幅を修正
========================================================= */


/* ブログ一覧エリアを中央に戻す */
body.page main,
body.blog main,
body.archive main {
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  overflow-x: hidden !important;
}

/* クエリーループ・最新投稿ブロックの中央寄せ */
body.page .wp-block-query,
body.blog .wp-block-query,
body.archive .wp-block-query,
body.page .wp-block-latest-posts,
body.blog .wp-block-latest-posts,
body.archive .wp-block-latest-posts {
  width: min(100% - 40px, 1120px) !important;
  max-width: 1120px !important;
  margin: 48px auto 80px !important;
  padding: 0 !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
}


/* =========================================================
   クエリーループ用
========================================================= */

/* 投稿テンプレートをカードグリッド化 */
body.page .wp-block-query .wp-block-post-template,
body.blog .wp-block-query .wp-block-post-template,
body.archive .wp-block-query .wp-block-post-template {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 32px !important;
  width: 100% !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  list-style: none !important;
}

/* 投稿カード */
body.page .wp-block-query .wp-block-post,
body.blog .wp-block-query .wp-block-post,
body.archive .wp-block-query .wp-block-post {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #ffffff !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.08) !important;
  border: 1px solid rgba(179, 167, 153, 0.18) !important;
}

/* 投稿本文・抜粋を完全に非表示 */
body.page .wp-block-query .wp-block-post-content,
body.blog .wp-block-query .wp-block-post-content,
body.archive .wp-block-query .wp-block-post-content,
body.page .wp-block-query .entry-content,
body.blog .wp-block-query .entry-content,
body.archive .wp-block-query .entry-content,
body.page .wp-block-query .wp-block-post-excerpt,
body.blog .wp-block-query .wp-block-post-excerpt,
body.archive .wp-block-query .wp-block-post-excerpt {
  display: none !important;
  height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
}

/* アイキャッチ以外の画像・本文画像を非表示 */
body.page .wp-block-query .wp-block-post figure:not(.wp-block-post-featured-image),
body.blog .wp-block-query .wp-block-post figure:not(.wp-block-post-featured-image),
body.archive .wp-block-query .wp-block-post figure:not(.wp-block-post-featured-image),
body.page .wp-block-query .wp-block-post .wp-block-image,
body.blog .wp-block-query .wp-block-post .wp-block-image,
body.archive .wp-block-query .wp-block-post .wp-block-image,
body.page .wp-block-query .wp-block-post .wp-block-gallery,
body.blog .wp-block-query .wp-block-post .wp-block-gallery,
body.archive .wp-block-query .wp-block-post .wp-block-gallery,
body.page .wp-block-query .wp-block-post p:has(img),
body.blog .wp-block-query .wp-block-post p:has(img),
body.archive .wp-block-query .wp-block-post p:has(img) {
  display: none !important;
}

/* アイキャッチ画像 */
body.page .wp-block-query .wp-block-post-featured-image,
body.blog .wp-block-query .wp-block-post-featured-image,
body.archive .wp-block-query .wp-block-post-featured-image {
  order: 1 !important;
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.page .wp-block-query .wp-block-post-featured-image img,
body.blog .wp-block-query .wp-block-post-featured-image img,
body.archive .wp-block-query .wp-block-post-featured-image img {
  display: block !important;
  width: 100% !important;
  height: 230px !important;
  object-fit: cover !important;
  border-radius: 0 !important;
}

/* タイトル */
body.page .wp-block-query .wp-block-post-title,
body.blog .wp-block-query .wp-block-post-title,
body.archive .wp-block-query .wp-block-post-title {
  order: 2 !important;
  display: block !important;
  margin: 20px 20px 10px !important;
  padding: 0 !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
  font-weight: 700 !important;
  color: #333333 !important;
  text-align: left !important;
}

body.page .wp-block-query .wp-block-post-title a,
body.blog .wp-block-query .wp-block-post-title a,
body.archive .wp-block-query .wp-block-post-title a {
  color: #333333 !important;
  text-decoration: none !important;
}

/* 日付 */
body.page .wp-block-query .wp-block-post-date,
body.blog .wp-block-query .wp-block-post-date,
body.archive .wp-block-query .wp-block-post-date {
  order: 3 !important;
  display: block !important;
  margin: 0 20px 22px !important;
  padding: 0 !important;
  font-size: 12px !important;
  color: #8f8173 !important;
}


/* =========================================================
   最新の投稿ブロック用
========================================================= */

/* 最新の投稿をグリッド化 */
body.page ul.wp-block-latest-posts,
body.blog ul.wp-block-latest-posts,
body.archive ul.wp-block-latest-posts {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 32px !important;
  width: min(100% - 40px, 1120px) !important;
  max-width: 1120px !important;
  margin: 48px auto 80px !important;
  padding: 0 !important;
  list-style: none !important;
}

/* 最新の投稿カード */
body.page ul.wp-block-latest-posts > li,
body.blog ul.wp-block-latest-posts > li,
body.archive ul.wp-block-latest-posts > li {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #ffffff !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.08) !important;
  border: 1px solid rgba(179, 167, 153, 0.18) !important;
}

/* 最新の投稿ブロックの本文・抜粋を非表示 */
body.page .wp-block-latest-posts__post-excerpt,
body.blog .wp-block-latest-posts__post-excerpt,
body.archive .wp-block-latest-posts__post-excerpt,
body.page .wp-block-latest-posts__post-full-content,
body.blog .wp-block-latest-posts__post-full-content,
body.archive .wp-block-latest-posts__post-full-content {
  display: none !important;
  height: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
}

/* 最新の投稿のアイキャッチ */
body.page .wp-block-latest-posts__featured-image,
body.blog .wp-block-latest-posts__featured-image,
body.archive .wp-block-latest-posts__featured-image {
  order: 1 !important;
  width: 100% !important;
  margin: 0 !important;
}

body.page .wp-block-latest-posts__featured-image a,
body.blog .wp-block-latest-posts__featured-image a,
body.archive .wp-block-latest-posts__featured-image a {
  display: block !important;
  width: 100% !important;
}

body.page .wp-block-latest-posts__featured-image img,
body.blog .wp-block-latest-posts__featured-image img,
body.archive .wp-block-latest-posts__featured-image img {
  display: block !important;
  width: 100% !important;
  height: 230px !important;
  object-fit: cover !important;
  border-radius: 0 !important;
}

/* 最新の投稿タイトル */
body.page ul.wp-block-latest-posts > li > a,
body.blog ul.wp-block-latest-posts > li > a,
body.archive ul.wp-block-latest-posts > li > a {
  order: 2 !important;
  display: block !important;
  margin: 20px 20px 10px !important;
  color: #333333 !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.65 !important;
  text-decoration: none !important;
}

/* 最新の投稿の日付 */
body.page .wp-block-latest-posts__post-date,
body.blog .wp-block-latest-posts__post-date,
body.archive .wp-block-latest-posts__post-date {
  order: 3 !important;
  display: block !important;
  margin: 0 20px 22px !important;
  color: #8f8173 !important;
  font-size: 12px !important;
}


/* =========================================================
   スマホ対応
========================================================= */

@media (max-width: 960px) {
  body.page .wp-block-query .wp-block-post-template,
  body.blog .wp-block-query .wp-block-post-template,
  body.archive .wp-block-query .wp-block-post-template,
  body.page ul.wp-block-latest-posts,
  body.blog ul.wp-block-latest-posts,
  body.archive ul.wp-block-latest-posts {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 26px !important;
  }
}

@media (max-width: 640px) {
  body.page .wp-block-query,
  body.blog .wp-block-query,
  body.archive .wp-block-query,
  body.page .wp-block-latest-posts,
  body.blog .wp-block-latest-posts,
  body.archive .wp-block-latest-posts {
    width: calc(100% - 32px) !important;
    max-width: 430px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.page .wp-block-query .wp-block-post-template,
  body.blog .wp-block-query .wp-block-post-template,
  body.archive .wp-block-query .wp-block-post-template,
  body.page ul.wp-block-latest-posts,
  body.blog ul.wp-block-latest-posts,
  body.archive ul.wp-block-latest-posts {
    grid-template-columns: 1fr !important;
    gap: 26px !important;
    width: 100% !important;
    max-width: 430px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.page .wp-block-query .wp-block-post,
  body.blog .wp-block-query .wp-block-post,
  body.archive .wp-block-query .wp-block-post,
  body.page ul.wp-block-latest-posts > li,
  body.blog ul.wp-block-latest-posts > li,
  body.archive ul.wp-block-latest-posts > li {
    width: 100% !important;
    max-width: 430px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.page .wp-block-post-featured-image img,
  body.blog .wp-block-post-featured-image img,
  body.archive .wp-block-post-featured-image img,
  body.page .wp-block-latest-posts__featured-image img,
  body.blog .wp-block-latest-posts__featured-image img,
  body.archive .wp-block-latest-posts__featured-image img {
    height: 220px !important;
  }
}

@media (max-width: 420px) {
  body.page .wp-block-query,
  body.blog .wp-block-query,
  body.archive .wp-block-query,
  body.page .wp-block-latest-posts,
  body.blog .wp-block-latest-posts,
  body.archive .wp-block-latest-posts {
    width: calc(100% - 28px) !important;
    max-width: calc(100% - 28px) !important;
  }

  body.page .wp-block-post-featured-image img,
  body.blog .wp-block-post-featured-image img,
  body.archive .wp-block-post-featured-image img,
  body.page .wp-block-latest-posts__featured-image img,
  body.blog .wp-block-latest-posts__featured-image img,
  body.archive .wp-block-latest-posts__featured-image img {
    height: 205px !important;
  }
}
/* =========================================================
   OHANA ブログ一覧 最終応急処置
   本文画像・本文表示を強制的に消してカード幅を修正
========================================================= */


/* ブログ一覧エリアを中央に戻す */
body.page main,
body.blog main,
body.archive main {
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  overflow-x: hidden !important;
}

/* クエリーループ・最新投稿ブロックの中央寄せ */
body.page .wp-block-query,
body.blog .wp-block-query,
body.archive .wp-block-query,
body.page .wp-block-latest-posts,
body.blog .wp-block-latest-posts,
body.archive .wp-block-latest-posts {
  width: min(100% - 40px, 1120px) !important;
  max-width: 1120px !important;
  margin: 48px auto 80px !important;
  padding: 0 !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
}


/* =========================================================
   クエリーループ用
========================================================= */

/* 投稿テンプレートをカードグリッド化 */
body.page .wp-block-query .wp-block-post-template,
body.blog .wp-block-query .wp-block-post-template,
body.archive .wp-block-query .wp-block-post-template {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 32px !important;
  width: 100% !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  list-style: none !important;
}

/* 投稿カード */
body.page .wp-block-query .wp-block-post,
body.blog .wp-block-query .wp-block-post,
body.archive .wp-block-query .wp-block-post {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #ffffff !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.08) !important;
  border: 1px solid rgba(179, 167, 153, 0.18) !important;
}

/* 投稿本文・抜粋を完全に非表示 */
body.page .wp-block-query .wp-block-post-content,
body.blog .wp-block-query .wp-block-post-content,
body.archive .wp-block-query .wp-block-post-content,
body.page .wp-block-query .entry-content,
body.blog .wp-block-query .entry-content,
body.archive .wp-block-query .entry-content,
body.page .wp-block-query .wp-block-post-excerpt,
body.blog .wp-block-query .wp-block-post-excerpt,
body.archive .wp-block-query .wp-block-post-excerpt {
  display: none !important;
  height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
}

/* アイキャッチ以外の画像・本文画像を非表示 */
body.page .wp-block-query .wp-block-post figure:not(.wp-block-post-featured-image),
body.blog .wp-block-query .wp-block-post figure:not(.wp-block-post-featured-image),
body.archive .wp-block-query .wp-block-post figure:not(.wp-block-post-featured-image),
body.page .wp-block-query .wp-block-post .wp-block-image,
body.blog .wp-block-query .wp-block-post .wp-block-image,
body.archive .wp-block-query .wp-block-post .wp-block-image,
body.page .wp-block-query .wp-block-post .wp-block-gallery,
body.blog .wp-block-query .wp-block-post .wp-block-gallery,
body.archive .wp-block-query .wp-block-post .wp-block-gallery,
body.page .wp-block-query .wp-block-post p:has(img),
body.blog .wp-block-query .wp-block-post p:has(img),
body.archive .wp-block-query .wp-block-post p:has(img) {
  display: none !important;
}

/* アイキャッチ画像 */
body.page .wp-block-query .wp-block-post-featured-image,
body.blog .wp-block-query .wp-block-post-featured-image,
body.archive .wp-block-query .wp-block-post-featured-image {
  order: 1 !important;
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.page .wp-block-query .wp-block-post-featured-image img,
body.blog .wp-block-query .wp-block-post-featured-image img,
body.archive .wp-block-query .wp-block-post-featured-image img {
  display: block !important;
  width: 100% !important;
  height: 230px !important;
  object-fit: cover !important;
  border-radius: 0 !important;
}

/* タイトル */
body.page .wp-block-query .wp-block-post-title,
body.blog .wp-block-query .wp-block-post-title,
body.archive .wp-block-query .wp-block-post-title {
  order: 2 !important;
  display: block !important;
  margin: 20px 20px 10px !important;
  padding: 0 !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
  font-weight: 700 !important;
  color: #333333 !important;
  text-align: left !important;
}

body.page .wp-block-query .wp-block-post-title a,
body.blog .wp-block-query .wp-block-post-title a,
body.archive .wp-block-query .wp-block-post-title a {
  color: #333333 !important;
  text-decoration: none !important;
}

/* 日付 */
body.page .wp-block-query .wp-block-post-date,
body.blog .wp-block-query .wp-block-post-date,
body.archive .wp-block-query .wp-block-post-date {
  order: 3 !important;
  display: block !important;
  margin: 0 20px 22px !important;
  padding: 0 !important;
  font-size: 12px !important;
  color: #8f8173 !important;
}


/* =========================================================
   最新の投稿ブロック用
========================================================= */

/* 最新の投稿をグリッド化 */
body.page ul.wp-block-latest-posts,
body.blog ul.wp-block-latest-posts,
body.archive ul.wp-block-latest-posts {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 32px !important;
  width: min(100% - 40px, 1120px) !important;
  max-width: 1120px !important;
  margin: 48px auto 80px !important;
  padding: 0 !important;
  list-style: none !important;
}

/* 最新の投稿カード */
body.page ul.wp-block-latest-posts > li,
body.blog ul.wp-block-latest-posts > li,
body.archive ul.wp-block-latest-posts > li {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #ffffff !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.08) !important;
  border: 1px solid rgba(179, 167, 153, 0.18) !important;
}

/* 最新の投稿ブロックの本文・抜粋を非表示 */
body.page .wp-block-latest-posts__post-excerpt,
body.blog .wp-block-latest-posts__post-excerpt,
body.archive .wp-block-latest-posts__post-excerpt,
body.page .wp-block-latest-posts__post-full-content,
body.blog .wp-block-latest-posts__post-full-content,
body.archive .wp-block-latest-posts__post-full-content {
  display: none !important;
  height: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
}

/* 最新の投稿のアイキャッチ */
body.page .wp-block-latest-posts__featured-image,
body.blog .wp-block-latest-posts__featured-image,
body.archive .wp-block-latest-posts__featured-image {
  order: 1 !important;
  width: 100% !important;
  margin: 0 !important;
}

body.page .wp-block-latest-posts__featured-image a,
body.blog .wp-block-latest-posts__featured-image a,
body.archive .wp-block-latest-posts__featured-image a {
  display: block !important;
  width: 100% !important;
}

body.page .wp-block-latest-posts__featured-image img,
body.blog .wp-block-latest-posts__featured-image img,
body.archive .wp-block-latest-posts__featured-image img {
  display: block !important;
  width: 100% !important;
  height: 230px !important;
  object-fit: cover !important;
  border-radius: 0 !important;
}

/* 最新の投稿タイトル */
body.page ul.wp-block-latest-posts > li > a,
body.blog ul.wp-block-latest-posts > li > a,
body.archive ul.wp-block-latest-posts > li > a {
  order: 2 !important;
  display: block !important;
  margin: 20px 20px 10px !important;
  color: #333333 !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.65 !important;
  text-decoration: none !important;
}

/* 最新の投稿の日付 */
body.page .wp-block-latest-posts__post-date,
body.blog .wp-block-latest-posts__post-date,
body.archive .wp-block-latest-posts__post-date {
  order: 3 !important;
  display: block !important;
  margin: 0 20px 22px !important;
  color: #8f8173 !important;
  font-size: 12px !important;
}


/* =========================================================
   スマホ対応
========================================================= */

@media (max-width: 960px) {
  body.page .wp-block-query .wp-block-post-template,
  body.blog .wp-block-query .wp-block-post-template,
  body.archive .wp-block-query .wp-block-post-template,
  body.page ul.wp-block-latest-posts,
  body.blog ul.wp-block-latest-posts,
  body.archive ul.wp-block-latest-posts {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 26px !important;
  }
}

@media (max-width: 640px) {
  body.page .wp-block-query,
  body.blog .wp-block-query,
  body.archive .wp-block-query,
  body.page .wp-block-latest-posts,
  body.blog .wp-block-latest-posts,
  body.archive .wp-block-latest-posts {
    width: calc(100% - 32px) !important;
    max-width: 430px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.page .wp-block-query .wp-block-post-template,
  body.blog .wp-block-query .wp-block-post-template,
  body.archive .wp-block-query .wp-block-post-template,
  body.page ul.wp-block-latest-posts,
  body.blog ul.wp-block-latest-posts,
  body.archive ul.wp-block-latest-posts {
    grid-template-columns: 1fr !important;
    gap: 26px !important;
    width: 100% !important;
    max-width: 430px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.page .wp-block-query .wp-block-post,
  body.blog .wp-block-query .wp-block-post,
  body.archive .wp-block-query .wp-block-post,
  body.page ul.wp-block-latest-posts > li,
  body.blog ul.wp-block-latest-posts > li,
  body.archive ul.wp-block-latest-posts > li {
    width: 100% !important;
    max-width: 430px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.page .wp-block-post-featured-image img,
  body.blog .wp-block-post-featured-image img,
  body.archive .wp-block-post-featured-image img,
  body.page .wp-block-latest-posts__featured-image img,
  body.blog .wp-block-latest-posts__featured-image img,
  body.archive .wp-block-latest-posts__featured-image img {
    height: 220px !important;
  }
}

@media (max-width: 420px) {
  body.page .wp-block-query,
  body.blog .wp-block-query,
  body.archive .wp-block-query,
  body.page .wp-block-latest-posts,
  body.blog .wp-block-latest-posts,
  body.archive .wp-block-latest-posts {
    width: calc(100% - 28px) !important;
    max-width: calc(100% - 28px) !important;
  }

  body.page .wp-block-post-featured-image img,
  body.blog .wp-block-post-featured-image img,
  body.archive .wp-block-post-featured-image img,
  body.page .wp-block-latest-posts__featured-image img,
  body.blog .wp-block-latest-posts__featured-image img,
  body.archive .wp-block-latest-posts__featured-image img {
    height: 205px !important;
  }
}