.mv {
  position: relative;
  width: 100%;
}

.mv__image {
  width: 100%;
  height: 100%;
}

.mv__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.contents-body {
  padding: 140px 0 0;
  background-image: url(../images/img_home_section_background.png);
  background-size: contain;
  background-position: top;
  background-repeat: no-repeat;
}

@media only screen and (max-width: 750px) {
  .contents-body {
    background-image: url(../images/img_home_section_background_sp.png);
    padding: 25px 0px 0px;
  }
}


.contents-body__text-section {
  max-width: 1000px;
  margin: 0 auto 95px;
}

.contents-body__title {
  font-size: 48px;
  margin: 0 0 30px;
}

@media only screen and (max-width: 750px) {
  .contents-body__title {
    font-size: 24px;
           margin:0px 15px 15px !important;
  }
}



.contents-body__subtitle {
  font-size: 24px;
  color: #791828;
  margin: 0 0 30px;
}

/**おといあわせ*************************************************************************/
/* フォーム全体を包むコンテナ（背景や余白の制御） */
#formWrap {
  max-width: 100%;
  margin: 40px auto;
  padding: 30px;

}

/* フォームリストのスタイルリセット */
#formDl {
  margin: 0;
}

/* 項目ラベル（dt） */
#formDl dt {
  font-weight: bold;
  margin-bottom: 8px;
  font-size: 0.95rem;
  color: #444;
}

/* 入力エリアの親（dd） */
#formDl dd {
  margin-left: 0;
  margin-bottom: 24px;
}

/* Contact Form 7 の自動挿入されるpタグを無効化 */
#formDl p {
  margin: 0;
}

/* 入力フィールド共通設定 */
.wpcf7-form-control {
  width: 100%;
  padding: 14px 16px;
  font-size: 16px;
  border: 1px solid #ddd;
  border-radius: 8px;
  background-color: #fcfcfc;
  transition: all 0.25s ease;
  box-sizing: border-box;
  color: #333;
}

/* プレースホルダーの色（少し薄く） */
::placeholder {
  color: #bbb;
}

/* フォーカス時のリッチな演出 */
.wpcf7-form-control:focus {
  outline: none;
  border-color: #2563eb; /* 鮮やかなブルー */
  background-color: #fff;
  box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.1);
}

/* お問い合わせ内容（textarea）の高さ */
.wpcf7-textarea {
  min-height: 160px;
  line-height: 1.6;
  resize: vertical; /* ユーザーが上下にのみ広げられるように */
}

/* 送信ボタン（中央寄せ・モダンデザイン） */
.wpcf7-submit {
  display: block;
  width: 100%;
  max-width: 300px;
  margin: 40px auto 0;
  padding: 16px;
  font-size: 16px;
  font-weight: bold;
  color: #fff;
  background-color: #791828;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(37, 99, 235, 0.2);
}

.wpcf7-submit:hover {
  background-color: #1d4ed8;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(37, 99, 235, 0.3);
}

/* スマホ対応：さらに余白を調整 */
@media (max-width: 640px) {
  #formWrap {
    margin: 20px 15px;
    padding: 20px;
  }
}


/*よくある質問******************************************************************************************************************************************************/

#faqWrapper .faq-container {
  max-width: 1000px;
  margin: 40px auto;
  font-family: "Hiragino Mincho ProN", "MS PMincho", serif;
  color: #333;
}

/* カテゴリータブ */
#faqWrapper .faq-categories {
  display: flex;
  flex-wrap: nowrap; /* ★ここをwrapからnowrapに変更し、強制的に1行にする */
  justify-content: center; /* 全体を中央寄せ */
  gap: 10px; /* ボタン同士の隙間を少し狭めて余裕を持たせる */
  margin-bottom: 50px;
  list-style: none;
  padding: 0;
}
#faqWrapper .faq-categories li {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 20px; /* ★余白を少しスリムにして、すべてのボタンが1行に入るよう調整 */
  border: 1px solid #dcdcdc;
  border-radius: 50px;
  cursor: pointer;
  font-size: 0.9rem; /* ほんの少し文字を小さくして上品に */
  transition: all 0.3s ease;
  background: #fff;
  white-space: nowrap; /* ★文字の改行を絶対に防ぐ */
  box-sizing: border-box;
}
#faqWrapper .faq-categories li.active {
  background-color: #8c8273;
  color: #fff;
  border-color: #8c8273;
}

/* 質問アンカーリスト */
#faqWrapper .faq-anchor-list {
  margin: 0 auto 60px;
  padding: 0;
  list-style: none;
  max-width: 800px;
}
#faqWrapper .faq-anchor-list li { margin-bottom: 12px; }
#faqWrapper .faq-anchor-list a {
  color: #555;
  text-decoration: none;
  border-bottom: 1px solid #ccc;
  display: inline-block;
  transition: 0.2s;
  font-size: 18px;
}
#faqWrapper .faq-anchor-list a:hover { color: #800000; border-color: #800000; }

/* セクション制御 */
#faqWrapper .faq-content-area { display: none; }
#faqWrapper .faq-content-area.active { display: block; }

#faqWrapper .section-title {
  text-align: center;
  font-size: 1.8rem;
  margin: 60px 0 30px;
  letter-spacing: 0.2em;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}
#faqWrapper .section-title::before,
#faqWrapper .section-title::after {
  content: ""; width: 60px; height: 1px; background: #333;
}

/* アコーディオン本体 */
#faqWrapper .faq-list { list-style: none; padding: 0; margin: 0; }
#faqWrapper .faq-item {
  background: #fff;
  margin-bottom: 20px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.05);
  font-size: 18px;
}

#faqWrapper .faq-list dt {
  padding: 25px 60px 25px 30px;
  cursor: pointer;
  position: relative;
  font-weight: bold;
  display: flex;
  align-items: flex-start;
  line-height: 1.6;
}
#faqWrapper .faq-list dt .prefix {
  color: #800000;
  font-size: 18px;
  margin-right: 15px;
  font-family: "Georgia", serif;
}
/* 矢印アイコン */
#faqWrapper .faq-list dt::after {
  content: "";
  position: absolute;
  right: 25px;
  top: 50%;
  width: 10px;
  height: 10px;
  border-top: 2px solid #800000;
  border-right: 2px solid #800000;
  transform: translateY(-50%) rotate(45deg);
  transition: 0.3s;
}
#faqWrapper .faq-list dt.is-open::after {
  transform: translateY(-70%) rotate(135deg);
}

/* 回答部分（デフォルト非表示） */
#faqWrapper .faq-list dd {
  margin: 0;
  padding: 30px;
  background-color: #f2f0eb;
  border-top: 1px solid #eee;
  line-height: 1.8;
  display: none;
  align-items: flex-start;
}
#faqWrapper .faq-list dd .prefix {
  color: #800000;
  font-size: 18px;
  margin-right: 15px;
  font-family: "Georgia", serif;
}
#faqWrapper .faq-list dd .text { flex: 1; }

/* スマホ表示時の調整 */
@media (max-width: 768px) {
  /* ★画面の左右に20pxの余白を確保 */
  #faqWrapper .faq-container {
    padding: 0 20px;
  }

  #faqWrapper .faq-categories {
    flex-wrap: wrap; /* 折り返しを許可 */
    gap: 10px;
  }

  #faqWrapper .faq-categories li {
    font-size: 0.85rem;
    padding: 12px 10px;
    width: calc(50% - 5px); /* ★すべて同じサイズ（2列表示） */
    white-space: normal;
    text-align: center;
    min-width: auto;
    border-radius: 30px;
  }

  /* 質問のアコーディオン部分もスマホ向けに少し余白をスッキリさせる（おまけ調整） */
  #faqWrapper .faq-list dt {
    padding: 20px 45px 20px 20px;
    font-size: 0.95rem;
  }
  #faqWrapper .faq-list dt::after {
    right: 15px; /* 矢印の位置を少し調整 */
  }
  #faqWrapper .faq-list dd {
    padding: 20px;
    font-size: 0.9rem;
  }
}

/*カテゴリー***************************************************************************/


/* =========================================
   大枠・基本設定
========================================= */
#cateWrapper {
  background-color: #fcfcfc;
  color: #333;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  padding: 40px 20px;
  box-sizing: border-box;
}

#cateWrapper * {
  box-sizing: border-box;
}

#cateWrapper .container {
  max-width: 1000px;
  margin: 0 auto;
}

/* =========================================
   カテゴリナビゲーション

#cateWrapper .filter-nav {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-bottom: 40px;
}

#cateWrapper .filter-item {
  display: block;
  width: 160px;
  padding: 12px 0;
  text-align: center;
  text-decoration: none;
  color: #8b2e3b;
  background-color: #f5e4e6;
  font-weight: bold;
  font-size: 14px;
  transition: 0.3s;
}

#cateWrapper .filter-item:hover,
#cateWrapper .filter-item.active {
  background-color: #8b2e3b;
  color: #fff;
}
========================================= */
/* =========================================
   グリッドレイアウト
========================================= */
#cateWrapper .post-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 30px;
  margin:0px 0px 20px;
}

@media (max-width: 750px) {
  #cateWrapper .post-grid {margin:0px 20px 20px;}
}


/* =========================================
   カードのデザイン
========================================= */
#cateWrapper .post-card {
  background-color: #f1f0e6;
  display: flex;
}

/* カード全体リンクの設定 */
#cateWrapper .card-link {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: inherit;
}

/* =========================================
   画像エリア（★ここをより強力に修正）
========================================= */
#cateWrapper .image-wrapper {
  position: relative;
  width: 100%;
  flex-shrink: 0; /* 追加：枠が画像の高さに合わせて潰れるのを完全に防ぐ */
  aspect-ratio: 16 / 10; /* 枠の比率を固定 */
  overflow: hidden;
}

#cateWrapper .image-wrapper img {
  position: absolute; /* 追加：画像を枠に対して絶対配置にする */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover; /* 縦横比が違っても枠に合わせて自動トリミング */
  transition: transform 0.4s ease;
  display: block;
}

/* 左上のカテゴリタグ */
#cateWrapper .category-tag {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #8b2e3b;
  color: #fff;
  padding: 5px 15px;
  font-size: 13px;
  z-index: 2; /* 画像より確実に上に表示 */
}

/* =========================================
   テキストコンテンツ部分
========================================= */
#cateWrapper .content {
  padding: 20px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

#cateWrapper .date {
  font-size: 12px;
  color: #a8947b;
  margin: 0 0 8px 0;
}

/* タイトルの高さを2行分で完全に固定 */
#cateWrapper .title {
  font-size: 15px;
  line-height: 1.5;
  height: 3em;
  margin: 0 0 15px 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* 概要文の高さを4行分で完全に固定 */
#cateWrapper .excerpt {
  font-size: 13px;
  line-height: 1.6;
  height: 6.4em;
  color: #555;
  margin: 0 0 20px 0;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* 「詳しくはこちら」を常に右下に配置 */
#cateWrapper .more-link-text {
  display: block;
  text-align: right;
  color: #8b2e3b;
  font-size: 13px;
  font-weight: bold;
  transition: opacity 0.3s ease;
  margin-top: auto;
}

#cateWrapper .more-link-text::after {
  content: " ▶";
  font-size: 10px;
}

/* =========================================
   マウスオーバー（ホバー）時の動き
========================================= */
#cateWrapper .card-link:hover .image-wrapper img {
  transform: scale(1.05);
}

#cateWrapper .card-link:hover .more-link-text {
  opacity: 0.7;
}



/****詳細ページ*********************************************************************/
#singleWrap .contents-body__title {font-size: 35px;}
#singleWrap .dete {font-size: 16px;}
#singleWrap .thumb {
  width: 500px;
  height: auto;
  margin: 0px auto 50px;
}
#singleWrap .thumb img {width: 100%;height:auto;}
#singleWrap .singleCont {font-size:18px;line-height:25px;width:800px;margin:0px auto 50px;}
#singleWrap .singleCont p {margin-bottom:25px;}
#singleWrap .singleCont img {margin:50px auto;}


@media screen and (max-width: 750px) {
  #singleWrap .contents-body__title {font-size: 25px;margin:20px 20px 30px;}
  #singleWrap .dete {font-size: 16px;margin:10px 20px 20px;}
  #singleWrap .thumb {width: auto;}
  #singleWrap .singleCont {font-size:18px;line-height:25px;width:auto;margin:0px 15px 50px;}
}

/*修正*/
/* ナビゲーション全体のレイアウト */
.filter-nav {
  display: flex;
  flex-direction: column;   /* 縦に並べる */
  align-items: center;      /* 子要素を中央に配置 */
  padding: 20px 10px;       /* 上下に20px、左右に10pxの余白を固定 */
  gap: 10px;                /* ボタン同士の隙間 */
  width: 100%;              /* 親要素に対して100% */
  box-sizing: border-box;   /* パディングを含めて100%にする */
}

/* 各ボタンのスタイル */
.filter-nav .filter-item {
  display: flex;
  align-items: center;
  justify-content: center;  /* 文字をボタン内の中央に */
  width: 100%;              /* 10pxの余白を除いた横幅いっぱい */
  height: 50px;             /* 押しやすい高さ */
  text-decoration: none;
  font-size: 15px;
  letter-spacing: 0.1em;
  background-color: #fdf1f2; /* 通常時の背景色 */
  color: #8a3b44;           /* 通常時の文字色 */
  border-radius: 4px;       /* 少し角を丸くする */
  box-sizing: border-box;
}

/* PC（画面幅768px以上）での見た目 */
@media screen and (min-width: 768px) {
  .filter-nav {
    flex-direction: row;  /* 横並びに戻す */
    max-width: 900px;     /* PCで広がりすぎないように */
    margin: 0 auto;       /* 全体を中央寄せ */
  }
}

/* --- Active状態（bodyクラス判定） --- */
body.category-1 .newsnav,
body.category-8 .newsnav,
body.category-9 .newsnav {
  background-color: #8a3b44 !important; /* 濃い赤 */
  color: #ffffff !important;           /* 白文字 */
}
