.wp-block-image {
    margin: 0 0 1em;
}

.wp-block-image .aligncenter {
    margin-left: auto;
    margin-right: auto;
}

.wp-block-image img {
    height: auto;
    max-width: 100%;
    vertical-align: bottom;
}

h2.wp-block-post-title {
  font-family: 'source-han-sans-japanese', sans-serif;
  font-size: 28px;
  font-weight: 300;
  line-height: 1.4;
  color: #343541;  /* ← 指定のカラーコード */
}

.wp-block-latest-posts__post-date {
  font-family: "source-han-sans-japanese", sans-serif; /* 任意のフォント名に変更可能 */
  font-size: 12px; /* サイズ調整も可能 */
  font-weight: 300; /* 太さ（例: 400=通常, 700=太字） */
  color: #343541; /* 文字色も調整可能 */
}

.wp-block-latest-posts__post-date {
  color: #888 !important;
}


h1{
font-family: "Source Han Sans Japanese" , sans-serif;
font-weight: 300;
font-style: normal;
}

h2{
font-family: "source-han-sans-japanese" , sans-serif;
font-weight: 300;
font-style: normal;
}

h3{
font-family:"source-han-sans-japanese", sans-serif;
font-weight:300;
font-style: normal;
}

h4{
font-family: "source-han-sans-japanese" , sans-serif;
font-weight: 300;
font-style: normal;
}

h5{
font-family: "source-han-sans-japanese" , sans-serif;
font-weight: 300;
font-style: normal;
}

h6{
font-family: "source-han-sans-japanese" , sans-serif;
font-weight: 300;
font-style: normal;
}

*{
  font-family: 'roboto','source-han-sans-japanese', sans-serif !important;
  font-weight: 350;
}






.floating-banner {
  position: fixed; /* バナーを追従させる */
  z-index: 99999; /* 他の要素の下に隠れないように */
  bottom: 0; /* バナーの上下の位置 */
  right: 0; /* バナーの左右の位置 */
  width: 300px; /* バナーの横幅 */
}
.floating-banner__image {
  max-width: 92%; /* 画像の最大幅 */
}
@media screen and (max-width: 990px) { /* タブレット用のブレイクポイントを指定 */
  .floating-banner {
    display: none; /* タブレットサイズ以下でPC用のバナーを非表示に */
  }
}
@media screen and (max-width: 560px) { /* スマホ用のブレイクポイントを指定 */
  .floating-banner {
    display: block;/* 消していたバナーを表示させる */
    width: 95vw; /* スマホの画面幅いっぱいにバナーを表示 */
  }
}

/* PCでのみ表示 */
.only-pc {
  display: block;
}
.only-sp {
  display: none;
}

/* スマホ（768px以下）でのみ表示 */
@media screen and (max-width: 768px) {
  .only-pc {
    display: none;
  }
  .only-sp {
    display: block;
  }
}
.wp-block-separator.custom-divider {
  width: 85% !important;
  margin: 20px auto;
  border-top: 1px solid #fafafa !important; /* グレーに強制上書き */
}



/* ハンバーガーボタンのサイズを大きく */
.wp-block-navigation__responsive-container-open svg {
  width: 36px;
  height: 36px;
}

/* 三本線（path）の太さ調整 → 通常は線の太さではなく全体スケールで調整 */
.wp-block-navigation__responsive-container-open path {
  stroke-width: 2; /* 明示的に線の太さを調整したい場合 */
}

html {
  scroll-behavior: smooth;
}

/* ヘッダーの背景透過 */
.site-header {
  background-color: rgba(255, 255, 255, 0) !important;
  position: absolute !important;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
}

/* スクロール時のクラスが追加される場合の対応 */
.site-header.sticky-header,
.site-header.is-sticky {
  background-color: rgba(255, 255, 255, 0) !important;
}

/* メインコンテンツを上に押し上げないように */
body {
  margin-top: 0 !important;
}

.wpcf7 input[type="submit"] {
  background-color: #343541;
  color: #ffffff;
  border: none;
  padding: 10px 30px;
  font-size: 16px;
  cursor: pointer;
  border-radius: 4px;
}



/* 最新の投稿ブロックの抜粋文に適用 */
.wp-block-latest-posts__post-excerpt {
  font-size: 11px;
  color: #6E6E6EA8;
}



/* 各投稿の下に空白を追加 */
.wp-block-latest-posts__list li {
  margin-bottom: 2em; /* 投稿本文の下の余白 */
}

/* 区切り線＋空白を投稿の下に入れる */
.wp-block-latest-posts__list li::after {
  content: "";
  display: block;
  width: 100%;                         /* 線の幅 */
  margin: 2em auto 0 auto;            /* 上に2em空白、下は自動 */
  border-bottom: 0.5px solid #bbb;      /* 線の太さと色 */
  opacity: 0.3;
}

@media screen and (min-width: 1024px) {
  .my-cover-width {
    max-width: 500px; /* 好きな幅に変更 */
    margin: 0 auto;   /* 中央寄せ */
  }
}


/* 横並びにする */
.wp-show-posts .wp-show-posts-inner {
  display: flex !important;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 16px;
}

/* 画像サイズ調整 */
.wp-show-posts .wp-show-posts-image.wpsp-image-left {
  width: 100px;
  flex-shrink: 0;
  margin: 0;
}

/* タイトルと日付部分 */
.wp-show-posts .wp-show-posts-entry-header {
  display: block;
  flex-grow: 1;
}

/* 抜粋を画像の下に表示（折り返して全幅） */
.wp-show-posts .wp-show-posts-entry-summary {
  flex-basis: 100%;
  margin-top: 0.5em;
}

.wp-block-file__button {
  font-size: 14px;              /* 小さめの文字サイズ */
  padding: 6px 12px;            /* コンパクトな余白 */
  background-color: #343541;    /* ボタンの背景色 */
  color: #ffffff;               /* 文字色は白 */
  border: none;                 /* 枠線なし */
  border-radius: 4px;           /* 角丸（お好みで調整） */
  line-height: 1.2;
  text-decoration: none;
  display: inline-block;
}

/* 検索フォームのデザイン調整 */
.custom-search-btn select,
.custom-search-btn input[type="text"],
.custom-search-btn button[type="submit"],
.custom-search-btn input[type="submit"] {
    width: 100% !important;       /* 横幅を常に100%（最大）にする */
    box-sizing: border-box !important;
    margin-bottom: 10px !important; /* 下に少し隙間を開ける */
}

/* ボタンのデザイン調整（任意） */
.custom-search-btn button[type="submit"],
.custom-search-btn input[type="submit"] {
    display: block !important;
    margin-top: 10px !important;    /* プルダウンとの隙間 */
}

.imn-report-footer-links{ margin-top: 32px; padding-top: 16px; border-top: 1px solid rgba(0,0,0,.12); }
.imn-hublink{ margin-bottom: 12px; }
.imn-related-title{ font-weight: 600; margin-bottom: 8px; }
.imn-related-list{ margin: 0; padding-left: 18px; }
.imn-related-list li{ margin: 6px 0; }
/* 執筆・監修と「戻る」の間に区切り線を入れる */
.imn-credits{
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(0,0,0,.12);
}
/* 「← ハブに戻る」を1段下げる */
.imn-hublink{
  margin-top: 20px;   /* ← 執筆・監修＋区切り線から1段下げる */
}

/* 「関連レポート」をさらに1段下げる */
.imn-related{
  margin-top: 24px;   /* ← ハブリンクからもう1段下げる */
}

/* ===== 執筆・監修 ===== */
.imn-credits{
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(0,0,0,.12);
  margin-bottom: 18px;
}

/* ===== ハブ案内ブロック ===== */
.imn-hub-block{
  margin-top: 0;
  margin-bottom: 18px;
}

.imn-hub-title{
  font-weight: 600;
  margin: 0;          /* ← 余白を完全に殺す */
}

.imn-hublink{
  margin: 0;          /* ← 見出しとの間を詰める */
}

/* ===== 関連レポートの前に罫線 ===== */
.imn-related{
  padding-top: 14px;
  border-top: 1px solid rgba(0,0,0,.12);
  margin-top: 18px;
}

.imn-H2{
  margin-top: 5px;
  margin-bottom: 0px;
}

/* 個別投稿テンプレ（single-post-v1）だけに効かせる */
@media (max-width: 768px){
  .single-post-v1{
    padding-left: 16px;
    padding-right: 16px;
  }

  /* 埋め込み系が横にはみ出すのを抑止 */
  .single-post-v1 iframe,
  .single-post-v1 embed,
  .single-post-v1 object{
    max-width: 100%;
  }

  /* 長いURLや英数字で横スクロールが出るのを防ぐ */
  .single-post-v1{
    overflow-wrap: anywhere;
  }
}

@media (max-width: 768px){
  h1.wp-block-post-title.single-post-v1{
    margin-left: 16px !important;
    margin-right: 16px !important;
  }
}

/* PC判定：1024px以上 */
/*@media (min-width: 1024px) {

  /* 対象ブロック：中身だけ左右250pxに寄せる（背景はそのまま） */
/*  .about-us-wrap,
/*  .latest-news-pc,
/*  .latest-reports-pc,
/*  .hub4-pc,
/*  .hub4-sp {
/*    margin-left: 250px !important;
/*    margin-right: 250px !important;
/*    box-sizing: border-box;
/*  }
/*
/*}

/* PC判定：1024px以上 */
@media (min-width: 1024px) {

  .about-us-wrap,
  .latest-news-pc,
  .latest-reports-pc,
  .hub4-pc,
  .hub4-sp {
    /* padding ではなく margin を使う */
    margin-left: 250px !important;
    margin-right: 250px !important;
    
    /* 幅を自動調整にする */
    width: auto !important;
    box-sizing: border-box;
  }

}
/* 2026-01-22: モバイル展開ナビ（オーバーレイ）の縦間隔(row-gap:30px)を詰め、階層を見やすくする */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{
  row-gap: 4px !important; /* ←ここが主犯を上書き。0〜12pxで調整 */
}

/* 念のため：項目側の余白で再び間延びしないよう最小限に整える */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{
  margin: 0 !important;
  padding: 0 !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{
  padding-block: 2px !important; /* クリック領域が狭すぎると操作性が落ちるので少し残す */
  line-height: 1.25;
}

/* 階層表現：子メニューを右に下げ、縦線で区切る */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container{
  margin-left: 6px;
  padding-left: 12px !important;
  border-left: 1px solid currentColor;
}

/* 子階層は少し控えめに（任意） */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content{
  font-size: 0.95em;
  opacity: 0.9;
}