/* ============================
   トップページ：全体設定
============================ */
.bodyhome {
  font-family: "Helvetica Neue", "Yu Gothic", "Hiragino Sans", sans-serif;
  color: #222;
  line-height: 1.9;
  /* background: #f8f8f8; html化の差分*/
}

.bodyhome .entry-title {
  text-align: center;
}

/* セクション余白 */
.bodyhome section {
  /* padding: 30px 0; */
  margin-bottom: 10px;
}

.bodyhome section+section {
  /* margin-top: 40px; */
}

/* ============================
   見出し（H2/H3）
============================ */
.bodyhome section h2 {
  font-size: 1.7rem;
  font-weight: 600;
  margin-bottom: 28px;
  padding-left: 14px;
  border-left: 4px solid #3321d4;
  /* ゴールドライン */
  color: #36f57f;
  letter-spacing: 0.02em;
  background: #1d67a3;
}

.bodyhome section h3 {
  font-size: 1.3rem;
  margin-bottom: 15px;
  color: #222;
}

/* ============================
   段落・リスト
============================ */
.bodyhome p {
  font-size: 1.15rem;
  margin-bottom: 22px;
  color: #333;
}

.bodyhome ul li {
  /*margin-bottom: 10px;*/
  font-size: 1.05rem;
  list-style: none;
}

/* ============================
   ヒーローセクション
============================ */
.bodyhome .hero {
  text-align: center;
  padding: 50px 20px;
  background: #ffffff;
  border-radius: 16px;
  /* margin-bottom: 70px; */
  /* margin: 50px 0 0 0; */
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.05);
}

.bodyhome .hero p {
  font-size: 1.25rem;
  margin-bottom: 35px;
  line-height: 1.9;
}

/* ボタン */
.bodyhome .hero-buttons {
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
  padding:0 0 18px 0;
}

.bodyhome .hero-buttons .btn {
  display: inline-block;
  padding: 14px 32px;
  font-size: 1.05rem;
  border-radius: 8px;
  background: #111;
  color: #fff !important;
  letter-spacing: 0.03em;
  transition: 0.3s;
}

.bodyhome .hero-buttons .btn:hover {
  background: #333;
  transform: translateY(-3px);
}

/* ============================
   カテゴリカード
============================ */
.bodyhome .category-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 28px;
  margin-top: 20px;
}

.bodyhome .category-item {
  background: #ffffff;
  border-radius: 14px;
  padding: 8px 24px 28px 24px;
  border: 1px solid #e8e4da;
  /* ゴールド系の淡い枠 */
  transition: 0.35s ease;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
}

.bodyhome .category-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
  border-color: #c9a86a;
}



/* 見出し（アイコン付き） */
.bodyhome .category-item h3 {
  position: relative;
  padding-left: 42px !important;
  min-height: 32px;
  display: flex;
  align-items: center;
  font-size: 1.25rem;
  margin-bottom: 18px;
  letter-spacing: 0.02em;
  white-space: wrap;
  /* max-width: 13em; */
  /* ← ここを調整して「画面・映像トラブル」と同じ幅に */
  overflow: hidden;
  text-overflow: ellipsis;
  margin: 0px 0px 12px 0px;
  background-color: #003366;
  color: #ffffff;
  border-left: sol 5px var(--cocoon-light-green-color) #003366 !important;
}

.bodyhome .category-item a {
  text-decoration: none !important;
  color: inherit;
  display: block;
  /* ← h3 全体をクリック可能にする決定打 */
}

/* アイコン共通（ゴールド） */
.bodyhome .category-item h3::before {
  content: "";
  position: absolute;
  left: 0;
  width: 28px;
  height: 28px;
  background-size: contain;
  background-repeat: no-repeat;
  opacity: 0.95;
  margin-left: 7px;
}

/* ============================
   カテゴリ別アイコン（SVGゴールド）
============================ */

/* 電源・充電トラブル */
.bodyhome .category-item:nth-child(1) h3::before {
  background-image: url("data:image/svg+xml,%3Csvg fill='%23C9A86A' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13 2v8h8l-8 12v-8H5L13 2z'/%3E%3C/svg%3E");
}

/* 画面・映像トラブル */
.bodyhome .category-item:nth-child(2) h3::before {
  background-image: url("data:image/svg+xml,%3Csvg fill='%23C9A86A' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 4h18v12H3z M8 20h8'/%3E%3C/svg%3E");
}

/* キーボード・タッチパッド */
.bodyhome .category-item:nth-child(3) h3::before {
  background-image: url("data:image/svg+xml,%3Csvg fill='%23C9A86A' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 5h16v10H4z M6 17h12'/%3E%3C/svg%3E");
}

/* ネットワーク・通信 */
.bodyhome .category-item:nth-child(4) h3::before {
  background-image: url("data:image/svg+xml,%3Csvg fill='%23C9A86A' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 3a9 9 0 019 9h-2a7 7 0 00-14 0H3a9 9 0 019-9zm0 4a5 5 0 015 5h-2a3 3 0 00-6 0H7a5 5 0 015-5zm0 4a1 1 0 011 1h-2a1 1 0 011-1z'/%3E%3C/svg%3E");
}

/* 動作・システム */
.bodyhome .category-item:nth-child(5) h3::before {
  background-image: url("data:image/svg+xml,%3Csvg fill='%23C9A86A' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2l4 4h-3v6H11V6H8l4-4zm-6 14h12v2H6v-2z'/%3E%3C/svg%3E");
}

/* メンテナンス・予防 */
.bodyhome .category-item:nth-child(6) h3::before {
  background-image: url("data:image/svg+xml,%3Csvg fill='%23C9A86A' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2a5 5 0 015 5c0 1.38-.56 2.63-1.46 3.54L12 15l-3.54-4.46A5 5 0 0112 2zm0 18a7 7 0 01-7-7h2a5 5 0 0010 0h2a7 7 0 01-7 7z'/%3E%3C/svg%3E");
}

/* リストの文字間隔 */
.bodyhome .category-item ul li {
  margin-bottom: 10px;
}

.bodyhome .category-item ul li a {
  color: #444;
  transition: 0.2s;
  text-decoration: none !important;
}

.bodyhome .category-item ul li a:hover {
  color: #000;
  background-color: rgba(233, 217, 174, 0.616);
  border-radius: 7px;
  display: inline-block;
  position: rerative;
  margin: -6px -20px;
  padding: 6px 20px;
}

/* カテゴリー上余白 */
#block-6 {
  margin-top: 33.5px;
}

/* カテゴリー一行省略 */
.wp-block-latest-posts__post-title {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: clip;
  /* ← ellipsis を無効化 */
  position: relative;
  padding-right: 1em;
  /* 余白を確保 */
}

.wp-block-latest-posts__post-title::after {
  content: "...";
  position: absolute;
  right: 0;
  top: 0;
  background: #fff;
  /* サイドバー背景色に合わせる */
  padding-left: 4px;
}

.wp-block-latest-posts__post-title {
  max-width: 95%;
}

/* カテゴリカード全体をリンク化 */
.bodyhome .category-item {
  position: relative;
}

.bodyhome .category-card__overlay {

  /* SPで文字を選択できないため */
  /* position: absolute; */
  /* inset: 0; */
  /* z-index: 2; */
  /* text-indent: -9999px; */
}




/* ============================
   トップページ：人気記事・症状別・ガイド
============================ */
.bodyhome .popular-posts ul,
.bodyhome .symptoms ul,
.bodyhome .beginner-guide ul,
.bodyhome .recommend-items ul {
  padding-left: 20px;
}

.bodyhome .popular-posts ul li,
.bodyhome .symptoms ul li,
.bodyhome .beginner-guide ul li,
.bodyhome .recommend-items ul li {
  margin-bottom: 8px;
}

.bodyhome .popular-posts ul li a,
.bodyhome .symptoms ul li a,
.bodyhome .beginner-guide ul li a,
.bodyhome .recommend-items ul li a {
  color: #333;
}

.bodyhome .popular-posts ul li a:hover,
.bodyhome .symptoms ul li a:hover,
.bodyhome .beginner-guide ul li a:hover,
.bodyhome .recommend-items ul li a:hover {
  color: #000;
}

/* ============================
   シンプル上品リスト（人気記事・症状・ガイド）
============================ */
.bodyhome .card-list ul {
  padding-left: 0;
  margin: 0;
}

.bodyhome .card-list ul li {
  list-style: none;
  margin-bottom: 10px;
  padding-left: 12px;
  border-left: 3px solid #c9a86a;
  transition: 0.25s ease;
}

.bodyhome .card-list ul li:hover {
  border-left-color: #b08d4f;
  transform: translateX(3px);
}

.bodyhome .card-list ul li a {
  color: #333;
  text-decoration: none;
  font-size: 1.05rem;
}

.bodyhome .card-list ul li a:hover {
  color: #000;
}


/* ============================
   カード風リスト
============================ */
.bodyhome .card-list ul {
  padding-left: 0;
  margin: 0;
}

.bodyhome .card-list ul li {
  list-style: none;
  background: #fff;
  padding: 12px 16px;
  margin-bottom: 12px;
  border-radius: 10px;
  border: 1px solid #e8e4da;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
  transition: 0.3s ease;
}

.bodyhome .card-list ul li:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
  border-color: #c9a86a;
}

.bodyhome .card-list ul li a {
  color: #333;
  text-decoration: none;
  font-size: 1.05rem;
}

.bodyhome .card-list ul li a:hover {
  color: #000;
}

/* li 全体をリンク化 */
.bodyhome .card-list ul li {
  position: relative;
}

.bodyhome .card-list ul li .list-link-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  text-indent: -9999px;
}

/* overlay のクリック範囲を微調整 */
.bodyhome .card-list ul li {
  position: relative;
}

.bodyhome .card-list ul li .list-link-overlay {
  position: absolute;
  top: 4px;
  bottom: 4px;
  left: 12px;
  /* ゴールドボーダーを避ける */
  right: 60px;
  z-index: 2;
  text-indent: -9999px;
}


/* ============================
   アイコン付きリスト
============================ */
.bodyhome .icon-list ul {
  padding-left: 0;
  margin: 0;
}

.bodyhome .icon-list ul li {
  list-style: none;
  margin-bottom: 12px;
  padding-left: 28px;
  position: relative;
}

.bodyhome .icon-list ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  width: 18px;
  height: 18px;
  background-size: contain;
  background-repeat: no-repeat;
  opacity: 0.9;
  background-image: url("data:image/svg+xml,%3Csvg fill='%23C9A86A' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='6'/%3E%3C/svg%3E");
}

.bodyhome .icon-list ul li a {
  color: #333;
  text-decoration: none;
  font-size: 1.05rem;
}

.bodyhome .icon-list ul li a:hover {
  color: #000;
}


/* 余白つめる */
.bodyhome h2 {
  margin-bottom: 20px !important;
}


/* ============================
   トップページ：フッター
============================ */
.bodyhome .footer ul {
  display: flex;
  flex-wrap: wrap;
  /* gap: 15px; */
  padding-left: 0;
}


.bodyhome .footer ul li {
  list-style: none;
}

.bodyhome .footer ul li a {
  color: #666;
}

.bodyhome .footer ul li a:hover {
  color: #000;
}

/* ============================
   フッター：カード風
============================ */
.bodyhome footer.footer {
  background: #fff;
  padding: 40px 0 30px;
  /* border-radius: 14px; */
  margin-top: 40px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.bodyhome footer.footer ul {
  display: flex;
  flex-wrap: wrap;
  /* justify-content: center !important; */
  /* gap: 18px; */
  padding-left: 0;
  margin: 0;
}

.bodyhome footer.footer ul li {
  list-style: none;
}

.bodyhome footer.footer ul li a {
  color: #444;
  text-decoration: none;
  font-size: 0.95rem;
  transition: 0.25s ease;
}

.bodyhome footer.footer ul li a:hover {
  color: #000;
}

/* ============================
   スマホ最適化
============================ */
@media (max-width: 600px) {
  .bodyhome section {
    /* padding: 40px 0; */
  }

  .bodyhome section h2 {
    font-size: 1.5rem;
  }

  .bodyhome .hero {
    padding: 60px 15px;
  }

  .bodyhome .hero p {
    font-size: 1.15rem;
  }

  .bodyhome .hero-buttons .btn {
    width: 100%;
    padding: 14px 0;
  }
}

/* ============================
   フッター：スマホ最適化
============================ */
@media (max-width: 600px) {
  .bodyhome footer.footer {
    padding: 28px 16px;
    margin-top: 30px;
    /* border-radius: 12px; */
  }

  .bodyhome footer.footer ul {
    gap: 12px;
  }

  .bodyhome footer.footer ul li a {
    font-size: 0.9rem;
  }
}

/* ============================
   2カラムレイアウト（PCのみ）
============================ */
@media (min-width: 900px) {

  .bodyhome .two-column {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: start;
    /* margin-top: 40px; */
    margin-bottom: 0;
  }
}

@media (max-width: 768px) {
  .header-image {
    background-position: 20% center !important;
    /* 左から20%の位置を中心に */
  }
}