/*
Theme Name: Kadence Child
Template: kadence
Version: 1.0.0
Description: Kadenceの子テーマ
Author: 日本内科学会若手委員会
*/
/* 運用ルール：
 * - 共通デザインはこの style.css を編集
 * - イベントカレンダー：ywc-event-calendar.css を編集
 * - トピックス：ywc-topics.css を編集
 * - 追加CSS（カスタマイザー）は使わない
 */
/* =========================================================
   HEADER
========================================================= */

/* ---------------------------------
   1) ヘッダー全体
--------------------------------- */
#masthead .site-container{
  max-width: none;
  width: 100%;
  padding-left: 2rem;
  padding-right: 2rem;
}

@media (max-width: 768px){
  #masthead .site-container{
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

/* ---------------------------------
   2) 固定ヘッダー（PC・タブレット）
--------------------------------- */
@media (min-width: 768px){
  .site-header-upper-wrap{
    position: fixed !important;
    top: 32px !important;
    left: 0;
    width: 100%;
    z-index: 9998;
    background: #fff !important;
  }

  .site-header-row-container.kadence-sticky-header{
    position: fixed !important;
    top: 67px !important;
    left: 0;
    width: 100%;
    z-index: 9997;
    background: #fff !important;
  }

  body:not(.admin-bar) .site-header-upper-wrap{
    top: 0 !important;
  }

  body:not(.admin-bar) .site-header-row-container.kadence-sticky-header{
    top: 35px !important;
  }
}

/* スマホは固定解除 */
@media (max-width: 767px){
  .site-header-upper-wrap,
  .site-header-row-container.kadence-sticky-header{
    position: static !important;
  }
}

/* ---------------------------------
   3) ロゴ
--------------------------------- */
.site-branding{
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

#masthead .site-title{
  font-size: 1.2rem;
  font-weight: 800;
  line-height: 1.15;
  margin: 0;
}

#masthead .site-tagline,
#masthead .site-description{
  font-size: 1rem;
  opacity: 0.78;
  margin-top: 0.2rem;
}

/* ---------------------------------
   4) タブレット/モバイル：ロゴ横タイトル表示
--------------------------------- */
@media (max-width: 1024px){
  .site-header-main-section-left{
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
    padding-top: 10px;
  }

  .site-header-main-section-left .custom-logo-link,
  .site-header-main-section-left .site-branding,
  .site-header-main-section-left .site-title-wrap{
    display: flex !important;
    align-items: center !important;
  }

  .site-header-main-section-left .site-branding{
    flex: 1 1 auto !important;
    min-width: 0 !important;
    overflow: visible !important;
  }

  .site-title-wrap{
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
  }

  .site-header-main-section-left .site-title,
  .site-header-main-section-left .site-description{
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    white-space: normal !important;
  }

  .site-header-main-section-left .site-title{
    font-size: 18px !important;
    line-height: 1.25 !important;
    margin: 0 !important;
  }

  .site-header-main-section-left .site-description{
    font-size: 11px !important;
    line-height: 1.4 !important;
    margin: 2px 0 0 !important;
    text-align: left !important;
    width: 100%;
  }
}

/* ---------------------------------
   5) メニュー
--------------------------------- */
.main-navigation .menu > li{
  position: relative;
  padding: 0 0.75rem;
}

.main-navigation .menu > li:not(:last-child)::after{
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 0.9rem;
  background: #cfd6df;
}

.main-navigation .menu > li > a{
  position: relative;
  display: inline-block;
  text-align: center;
  font-size: 1.05rem;
  font-weight: 600;
  padding-bottom: 0.6rem;
}

.menu-en{
  display: block;
  font-size: 0.75rem;
  color: #8a96a8;
  margin-top: 0.3rem;
}

/* 上段サブメニューのアイコン */
#secondary-navigation .menu-home > a::before,
#secondary-navigation .menu-contact > a::before{
  display: inline-block;
  margin-right: 6px;
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free";
  font-weight: 900;
  color: #ef7f9c;
  font-size: 0.9em;
  line-height: 1;
  vertical-align: middle;
}

#secondary-navigation .menu-home > a::before{
  content: "\f015";
}

#secondary-navigation .menu-contact > a::before{
  content: "\f0e0";
}

/* ---------------------------------
   6) 意見箱ボタン
--------------------------------- */
li.menu-voice-btn{
  display: flex;
  align-items: stretch;
  background: #2f6f97;
  border-radius: 4px;
  min-height: 52px;
}

li.menu-voice-btn a{
  display: flex !important;
  align-items: center;
  justify-content: center;
  height: 52px;
  padding: 0 1.4rem !important;
  gap: 1rem;
  color: #fff !important;
  font-weight: 700;
  border-radius: 4px;
}

@media (max-width: 1280px){
  .main-navigation .menu > li{
    padding: 0 0.6rem;
  }

  .main-navigation .menu > li > a{
    font-size: 0.9rem;
  }

  li.menu-voice-btn a{
    padding: 0 1.1rem !important;
  }
}
/* =========================================================
   PAGE HERO
========================================================= */
.content-area{
  padding-top: 0 !important;
}

.page-hero{
  background: #eef2f6;
  text-align: center;
}
/* =========================================================
   MOBILE MENU
========================================================= */
@media (max-width: 1024px){
  .mobile-navigation .menu-voice-btn,
  .drawer-menu-sidebar .menu-voice-btn,
  .mobile-navigation-popup .menu-voice-btn{
    background: transparent !important;
    margin: 12px 22px 0 !important;
    padding: 0 !important;
  }

  .mobile-navigation .menu-voice-btn > a,
  .drawer-menu-sidebar .menu-voice-btn > a,
  .mobile-navigation-popup .menu-voice-btn > a{
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    background: transparent !important;
    color: #ffffff !important;
    border: 1.5px solid rgba(255,255,255,0.78) !important;
    border-radius: 5px !important;
    margin: 0 !important;
    padding: 16px 14px !important;
    font-size: 14px;
  }

  .mobile-navigation .menu-voice-btn > a:hover,
  .drawer-menu-sidebar .menu-voice-btn > a:hover,
  .mobile-navigation-popup .menu-voice-btn > a:hover{
    background: rgba(255,255,255,0.08) !important;
    opacity: 1 !important;
  }

  .mobile-navigation .menu-voice-btn > a::after,
  .drawer-menu-sidebar .menu-voice-btn > a::after,
  .mobile-navigation-popup .menu-voice-btn > a::after{
    display: none !important;
  }
}
/* =========================================================
   SINGLE POST
========================================================= */

/* 投稿ヒーロー位置 */
.single-post .entry-hero .title-align-left{
  margin-top: 180px;
}

@media (max-width: 1024px){
  .single-post .entry-hero .title-align-left{
    margin-top: 140px;
  }
}

@media (max-width: 767px){
  .single-post .entry-hero .title-align-left{
    margin-top: 0;
  }
}

/* タイトル周り */
.single-post .entry-header{
  max-width: 760px;
  margin: 0 auto 28px;
  padding: 0 0 8px;
}

/* カテゴリラベル */
.single-post .entry-taxonomies,
.single-post .cat-links,
.single-post .entry-categories{
  margin-bottom: 14px;
}

.single-post .entry-taxonomies a,
.single-post .cat-links a,
.single-post .entry-categories a,
.single-post .category-links a{
  display: inline-block;
  background: #2f6f97;
  color: #fff !important;
  text-decoration: none !important;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  padding: 8px 12px;
  border-radius: 5px;
}

/* タイトル */
.single-post .entry-title{
  font-size: 42px;
  line-height: 1.35;
  font-weight: 700;
  color: #17345f;
  margin: 0 0 16px;
}

/* 投稿日 */
.single-post .entry-meta,
.single-post .posted-on,
.single-post .byline{
  font-size: 14px;
  line-height: 1.6;
  color: #5d6f85;
}

/* 本文 */
.single-post .entry-content p{
  font-size: 17px;
  line-height: 2;
  color: #24364d;
  margin: 0 0 1.8em;
}

.single-post .entry-content h2{
  font-size: 28px;
  line-height: 1.4;
  color: #17345f;
  margin: 2.4em 0 0.8em;
}

.single-post .entry-content h3{
  font-size: 22px;
  line-height: 1.45;
  color: #17345f;
  margin: 2em 0 0.7em;
}

.single-post .entry-content ul,
.single-post .entry-content ol{
  margin: 0 0 1.8em 1.4em;
  color: #24364d;
  line-height: 1.9;
}

.single-post .entry-content a{
  color: #2f6f97;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

/* アイキャッチ */
.single-post .post-thumbnail,
.single-post .featured-image{
  max-width: 760px;
  margin: 0 auto 24px;
  overflow: hidden;
  border-radius: 18px;
}

/* コメント欄は非表示 */
.single-post .comments-area{
  display: none;
}

/* スマホ */
@media (max-width: 767px){
  .single-post .content-area{
    padding-bottom: 56px;
  }

  .single-post .content-container{
    padding-left: 16px;
    padding-right: 16px;
  }

  .single-post .entry-header{
    margin-bottom: 18px;
  }

  .single-post .entry-title{
    font-size: 30px;
    margin-bottom: 12px;
  }

  .single-post .entry-content{
    padding: 28px 20px 32px;
    border-radius: 14px;
  }

  .single-post .entry-taxonomies a,
  .single-post .cat-links a,
  .single-post .entry-categories a,
  .single-post .category-links a{
    font-size: 12px;
    padding: 7px 10px;
  }

  .single-post .entry-content p{
    font-size: 15px;
    line-height: 1.95;
  }

  .single-post .entry-content h2{
    font-size: 24px;
  }

  .single-post .entry-content h3{
    font-size: 20px;
  }
}
/* カテゴリとドット消す */
.single-post .entry-meta .category-links{
  display: none !important;
}

.single-post .entry-meta .posted-on::after{
  display: none !important;
  content: none !important;
}


/* Info Box ボタン */
.kt-info-box49_2f2727-eb .kt-blocks-info-box-learnmore{
  border: 2px solid #3182CE !important;
  padding: 10px 20px !important;
  font-size: 14px !important;
  border-radius: 6px !important;
}

/* =========================================================
   下層ページ見出し・ページタイトル・Postsカード調整
   ========================================================= */
/* ---------------------------------
   1) 下層ページ共通見出し（◯＋ライン）
--------------------------------- */
.yk-section-title{
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 32px;
  color: var(--ywc-navy);
}

.yk-section-title::before{
  content: "";
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--ywc-green);
  flex: 0 0 auto;
}

.yk-section-title::after{
  content: "";
  height: 1px;
  background: rgba(31,42,68,0.25);
  flex: 1 1 auto;
  max-width: 520px;
  transform: translateY(0.08em);
}

/* 赤丸バージョン */
.yk-section-title.is-red::before{
  background-color: #b71c1c;
}

/* ---------------------------------
   2) ページタイトル・投稿タイトル（本文上部のh1）のみ
      ◯＋ラインを付与
   ※ Postsブロック内には効かせない
--------------------------------- */
.single .entry-content-wrap > .entry-header .entry-title,
.page .entry-content-wrap > .entry-header .entry-title{
  display: flex;
  align-items: center;
  gap: 14px;
  color: var(--ywc-navy);
}

.single .entry-content-wrap > .entry-header .entry-title::before,
.page .entry-content-wrap > .entry-header .entry-title::before{
  content: "";
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--ywc-green);
  flex: 0 0 auto;
}

.single .entry-content-wrap > .entry-header .entry-title::after,
.page .entry-content-wrap > .entry-header .entry-title::after{
  content: "";
  height: 1px;
  background: rgba(31,42,68,0.25);
  flex: 1 1 auto;
  max-width: 640px;
  transform: translateY(0.08em);
}

/* ---------------------------------
   3) Kadence Postsブロック内では
      タイトル装飾（丸・線）を完全解除
--------------------------------- */
.wp-block-kadence-postgrid .entry-title,
.wp-block-kadence-postgrid .kt-blocks-post-title,
.wp-block-kadence-postgrid h2.entry-title,
.wp-block-kadence-postgrid h3.entry-title,
.kt-blocks-post-grid-item .entry-title,
.kt-blocks-post-grid-item .kt-blocks-post-title{
  display: block !important;
  align-items: initial !important;
  gap: 0 !important;
  color: var(--ywc-navy);
}

.wp-block-kadence-postgrid .entry-title::before,
.wp-block-kadence-postgrid .entry-title::after,
.wp-block-kadence-postgrid .kt-blocks-post-title::before,
.wp-block-kadence-postgrid .kt-blocks-post-title::after,
.wp-block-kadence-postgrid h2.entry-title::before,
.wp-block-kadence-postgrid h2.entry-title::after,
.wp-block-kadence-postgrid h3.entry-title::before,
.wp-block-kadence-postgrid h3.entry-title::after,
.kt-blocks-post-grid-item .entry-title::before,
.kt-blocks-post-grid-item .entry-title::after,
.kt-blocks-post-grid-item .kt-blocks-post-title::before,
.kt-blocks-post-grid-item .kt-blocks-post-title::after,
.wp-block-kadence-postgrid .entry-title a::before,
.wp-block-kadence-postgrid .entry-title a::after,
.wp-block-kadence-postgrid .kt-blocks-post-title a::before,
.wp-block-kadence-postgrid .kt-blocks-post-title a::after,
.kt-blocks-post-grid-item .entry-title a::before,
.kt-blocks-post-grid-item .entry-title a::after,
.kt-blocks-post-grid-item .kt-blocks-post-title a::before,
.kt-blocks-post-grid-item .kt-blocks-post-title a::after{
  content: none !important;
  display: none !important;
}

/* ---------------------------------
   4) Postsカードのホバー演出
--------------------------------- */
.kt-blocks-post-grid-item{
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.kt-blocks-post-grid-item:hover{
  transform: translateY(-4px);
  box-shadow: 0 14px 30px rgba(0,0,0,0.08);
}

/* ---------------------------------
   5) 単一投稿ページではアイキャッチ画像を非表示
   ※ 設定で消せるならCSS不要
--------------------------------- */
.single-post .post-thumbnail,
.single-post .featured-image,
.single-post .entry-hero img,
.single-post .post-hero-image,
.single-post .post-thumbnail-inner{
  display: none !important;
}
/* =========================================================
   定義リスト（2カラム）シンボルマークとか
   ========================================================= */
.yk-deflist{
  margin: 1.8rem 0;
}

/* 2カラムレイアウト */
.yk-deflist--2col{
  display: grid;
  grid-template-columns: 3em 1fr; /* ← dtの幅はここ */
  column-gap: 1.2rem;
  row-gap: .8rem;
}

/* 定義語（左） */
.yk-deflist--2col dt{
  font-weight: 700;
  color: var(--ywc-navy);
  line-height: 1.6;
}

/* 説明（右） */
.yk-deflist--2col dd{
  margin: 0; /* dlのデフォ余白を殺す */
  line-height: 1.8;
  color: #222;
}

/* スマホ：1カラムに戻す */
@media (max-width: 600px){
  .yk-deflist--2col{
    grid-template-columns: 1fr;
  }

  .yk-deflist--2col dt{
    margin-top: 1rem;
  }

  .yk-deflist--2col dd{
    margin-left: 0;
  }
}
/* ======================================
   委員リスト：科目タグ（15分野フルセット / CSS完結）
   使い方：
   - Accordion全体（親）に追加CSSクラス： yk-dept
   - 各 Pane に以下いずれかのクラスを付与：
     dept-gi / dept-liver / dept-cardio / dept-endo / dept-diabetes /
     dept-renal / dept-resp / dept-heme / dept-neuro / dept-allergy /
     dept-infection / dept-rheum / dept-geri / dept-onco / dept-endoscopy
   ====================================== */

/* タイトル行（科目タグ＋氏名）を横並びにする */
.yk-dept .kt-blocks-accordion-title-wrap{
  display: inline-flex;
  align-items: center;
  gap: .8em;
}

/* 共通：タグ本体（タイトルの前に差し込む） */
.yk-dept .kt-blocks-accordion-title-wrap::before{
  content: "";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 7.5em;          /* 均等割っぽい幅 */
  padding: .5em .7em;
  border-radius: 6px;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.2;
  color: #fff;
  white-space: nowrap;
}

/* ===== 15分野（Paneのクラスで出し分け） ===== */

/* 消化器 */
.yk-dept .kt-accordion-pane.dept-gi .kt-blocks-accordion-title-wrap::before{
  content: "消化器";
  background: #2FA4A9;
}

/* 肝臓 */
.yk-dept .kt-accordion-pane.dept-liver .kt-blocks-accordion-title-wrap::before{
  content: "肝臓";
  background: #2F7D4F;
}

/* 循環器 */
.yk-dept .kt-accordion-pane.dept-cardio .kt-blocks-accordion-title-wrap::before{
  content: "循環器";
  background: #0B4F71;
}

/* 内分泌 */
.yk-dept .kt-accordion-pane.dept-endo .kt-blocks-accordion-title-wrap::before{
  content: "内分泌";
  background: #2563EB;
}

/* 糖尿病 */
.yk-dept .kt-accordion-pane.dept-diabetes .kt-blocks-accordion-title-wrap::before{
  content: "糖尿病";
  background: #7C3AED;
}

/* 腎臓 */
.yk-dept .kt-accordion-pane.dept-renal .kt-blocks-accordion-title-wrap::before{
  content: "腎臓";
  background: #A21CAF;
}

/* 呼吸器 */
.yk-dept .kt-accordion-pane.dept-resp .kt-blocks-accordion-title-wrap::before{
  content: "呼吸器";
  background: #ff1493;
}

/* 血液 */
.yk-dept .kt-accordion-pane.dept-heme .kt-blocks-accordion-title-wrap::before{
  content: "血液";
  background: #B11226;
}

/* 神経 */
.yk-dept .kt-accordion-pane.dept-neuro .kt-blocks-accordion-title-wrap::before{
  content: "神経";
  background: #6A4A3C;
}

/* アレルギー */
.yk-dept .kt-accordion-pane.dept-allergy .kt-blocks-accordion-title-wrap::before{
  content: "アレルギー";
  background: #C97A3A;
}

/* 感染症 */
.yk-dept .kt-accordion-pane.dept-infection .kt-blocks-accordion-title-wrap::before{
  content: "感染症";
  background: #B89B2E;
}

/* リウマチ */
.yk-dept .kt-accordion-pane.dept-rheum .kt-blocks-accordion-title-wrap::before{
  content: "リウマチ";
  background: #7A9A2A;
}

/* 老年 */
.yk-dept .kt-accordion-pane.dept-geri .kt-blocks-accordion-title-wrap::before{
  content: "老年";
  background: #4E7A65;
}

/* 臨床腫瘍 */
.yk-dept .kt-accordion-pane.dept-onco .kt-blocks-accordion-title-wrap::before{
  content: "臨床腫瘍";
  background: #3F5E73;
}

/* 消化器内視鏡 */
.yk-dept .kt-accordion-pane.dept-endoscopy .kt-blocks-accordion-title-wrap::before{
  content: "消化器内視鏡";
  background: #374151;
}

/* スマホ微調整 */
@media (max-width: 600px){
  .yk-dept .kt-blocks-accordion-title-wrap::before{
    min-width: 5.5em;
    font-size: 11px;
  }
}



/* =========================================================
   フッター
   ========================================================= */
/* 青帯リンクを白に */
.site-footer .site-footer-bottom a,
.site-footer .footer-sub-links a {
  color: #fff !important;
	font-size:14px;
}

.site-footer .site-footer-bottom a:hover,
.site-footer .footer-sub-links a:hover {
  color: #ddd !important;
		font-size:14px;
}
.footer-sub-links {
  display: flex;
  flex-wrap: wrap; /* スマホで折り返しOK */
  gap: 16px 24px;  /* ← 縦 横 */
}

.footer-sub-links a {
  display: inline-flex;
  align-items: center;
  gap: 8px; /* テキストと矢印の間 */
}
.footer-sub-links a {
  color: #fff;
  text-decoration: none;
}

.footer-sub-links a:hover {
  opacity: 0.7;
}
/* -------------------------
   左ブロック：ロゴ＋委員会名＋住所
   ------------------------- */

/* ロゴまわりの余白をリセット */
.site-footer .footer-widget1 figure,
.site-footer .footer-widget1 .wp-block-image,
.site-footer .footer-widget1 .wp-block-kadence-image figure,
.site-footer .footer-widget1 .wp-block-kadence-image .kb-img {
  padding: 0 !important;
  width: auto !important;
}

.site-footer .footer-widget1 img,
.site-footer .footer-widget1 .wp-block-kadence-image img {
  display: block !important;
  width: 80px !important;
  max-width: 80px !important;
  height: auto !important;
  margin: 0 !important;
}

/* 左ブロック内の余白調整 */
.site-footer .footer-widget1 .kt-inside-inner-col {
  padding: 0 !important;
}

/* ロゴとテキストの間隔 */
.site-footer .footer-widget1 .kt-row-column-wrap {
  column-gap: 4px !important;
}

/* 右側テキスト列の内側余白を削除 */
.site-footer .footer-widget1 .kt-row-column-wrap > .wp-block-kadence-column:last-child,
.site-footer .footer-widget1 .kt-row-column-wrap > .wp-block-kadence-column:last-child .kt-inside-inner-col {
  padding-left: 0 !important;
  margin-left: 0 !important;
}

/* -------------------------
   上段フッター：2カラム幅調整
   左 40% / 右 60%
   ------------------------- */
.site-footer .site-top-footer-inner-wrap.site-footer-row-columns-2 {
  display: flex !important;
  align-items: flex-start !important;
}

.site-footer .site-top-footer-inner-wrap.site-footer-row-columns-2 > * {
  min-width: 0 !important;
}

/* 左：ロゴ＋団体情報 */
.site-footer .site-top-footer-inner-wrap.site-footer-row-columns-2 > *:first-child {
  flex: 0 0 40% !important;
}

/* 右：リンク */
.site-footer .site-top-footer-inner-wrap.site-footer-row-columns-2 > *:last-child {
  flex: 0 0 60% !important;
}

/* -------------------------
   右ブロック：リンクを1列に
   ------------------------- */
.site-footer .footer-widget2 ul,
.site-footer .footer-widget2 .menu,
.site-footer .footer-widget2 nav ul {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 28px !important;
  justify-content: flex-end !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

.site-footer .footer-widget2 li {
  white-space: nowrap !important;
}
.site-footer .footer-widget2 nav,
.site-footer .footer-widget2 ul {
  padding-right: 0 !important;
  margin-right: 0 !important;
}
.site-footer .footer-widget2 ul::after {
  content: none !important;
  display: none !important;
}

/* =========================================================
   フッター：スマホ版（整理版）
========================================================= */
@media (max-width: 767px) {

  /* 上段全体を縦並び */
  .site-footer .site-top-footer-inner-wrap.site-footer-row-columns-2 {
    display: flex !important;
    flex-direction: column !important;
  }

  .site-footer .site-top-footer-inner-wrap.site-footer-row-columns-2 > * {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* 順番：上にナビ、下に団体情報 */
  .site-footer .site-top-footer-inner-wrap.site-footer-row-columns-2 > *:first-child {
    order: 2 !important;
  }

  .site-footer .site-top-footer-inner-wrap.site-footer-row-columns-2 > *:last-child {
    order: 1 !important;
  }

  /* -------------------------
     フッターナビ
  ------------------------- */
  .site-footer .footer-widget2,
  .site-footer .widget_nav_menu,
  .site-footer .widget_block nav {
    width: 100% !important;
    text-align: center !important;
  }
.site-footer .footer-menu-container,
.site-footer nav#footer-navigation {
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
  /* ここだけに絞って2列グリッド */
ul#footer-menu.menu {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px 20px !important;
  justify-items: center !important;
  align-items: center !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto 28px !important;
  padding: 0 !important;
  list-style: none !important;
}

  ul#footer-menu.menu li {
    width: 100% !important;
    margin: 0 !important;
    text-align: center !important;
  }

  ul#footer-menu.menu li a {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    padding: 0 !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
  }

  /* 最後の「リンク集」を中央に */
  ul#footer-menu.menu li:last-child {
    grid-column: 1 / -1 !important;
    justify-self: center !important;
    width: auto !important;
  }

  /* -------------------------
     団体情報
  ------------------------- */
  .site-footer .footer-widget1 {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    margin: 18px auto 0 !important;
    text-align: center !important;
    max-width: 340px !important;
  }

  .site-footer .footer-widget1 .kt-row-column-wrap,
  .site-footer .footer-widget1 .wp-block-columns {
    width: min(92%, 320px) !important;
    max-width: 320px !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
  }

  .site-footer .footer-widget1 img {
    width: 64px !important;
    max-width: 64px !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto 6px !important;
  }

  .site-footer .footer-widget1 h1,
  .site-footer .footer-widget1 h2,
  .site-footer .footer-widget1 h3,
  .site-footer .footer-widget1 .wp-block-heading,
  .site-footer .footer-widget1 p {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .site-footer .footer-widget1 h1,
  .site-footer .footer-widget1 h2,
  .site-footer .footer-widget1 h3,
  .site-footer .footer-widget1 .wp-block-heading {
    font-size: 16px !important;
    line-height: 1.5 !important;
    margin-bottom: 4px !important;
  }

  .site-footer .footer-widget1 p {
    font-size: 12px !important;
    line-height: 1.7 !important;
    margin-bottom: 4px !important;
  }
  .site-footer .footer-widget1 .kt-row-column-wrap,
  .site-footer .footer-widget1 .wp-block-columns {
    row-gap: 0 !important;
    column-gap: 0 !important;
  }
  /* -------------------------
     下段青帯
  ------------------------- */
  .site-footer .site-footer-bottom,
  .site-footer .site-bottom-footer-wrap .site-footer-row-container-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 16px 24px !important;
    font-size: 80% !important;
  }

  .footer-sub-links {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    align-items: center !important;
  }

  .site-footer .site-footer-bottom p,
  .site-footer .copyright-wrap,
  .site-footer .footer-html {
    margin: 20px 0 0 !important;
    text-align: center !important;
    white-space: normal !important;
  }
}
/* ===============================
   メッセージページ
=============================== */
/* 各メッセージカード */
.message-block{
  max-width: 1080px;
  margin: 0 auto 40px;
  background: #fff;
  border-radius: 10px;
  padding: 40px;
  box-shadow: 0 12px 30px rgba(0,0,0,0.06);
  display: flex;
  gap: 40px;
  align-items: center;
}

.message-block:last-child{
  margin-bottom: 0;
}

/* 偶数だけ左右反転 */
.message-block:nth-child(even){
  flex-direction: row-reverse;
}

/* テキスト */
.message-block__content{
  flex: 1;
  max-width: 720px;
}

.message-block__role{
  font-size: 13px;
  line-height: 1.6;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #6f86a3;
  margin: 0 0 6px;
}

.message-block__name{
  font-size: 22px;
  line-height: 1.45;
  font-weight: 700;
  color: #1f3a5f;
  margin: 0 0 14px;
}

.message-block__text{
  font-size: 15px;
  line-height: 1.9;
  color: #334;
}

.message-block__text p{
  margin: 0 0 1em;
}

.message-block__text p:last-child{
  margin-bottom: 0;
}

/* ===============================
   メッセージカード 微調整
=============================== */

/* 本文を通常ウェイトに戻す */
.message-block__text,
.message-block__text p{
  font-weight: 400 !important;
}

/* 念のため、strong だけは強調維持 */
.message-block__text strong{
  font-weight: 700;
}

/* 画像を少し大きく */
.message-block__image{
  flex: 0 0 300px;
}

.message-block__image img{
  width: 250px;
  height: 300px;
  object-fit: cover;
  object-position: center top;
  border-radius: 12px;
  display: block;
  box-shadow: 0 6px 16px rgba(0,0,0,0.08);
}
/* スマホ */
@media (max-width: 768px){

  .message-hero{
    padding: 56px 16px 78px;
  }

  .message-section{
    padding: 32px 16px 48px;
  }

  .message-block{
    flex-direction: column !important;
  padding: 16px 16px !important; 
  gap: 12px !important;  
    border-radius: 16px;
    margin-bottom: 24px;
    align-items: center !important;
  }

  .message-block__image{
    flex: 0 0 auto;
    width: 140px;
    margin: 0 auto !important;
    display: flex;
    justify-content: center;
  }

  .message-block__image img{
    width: 140px;
    height: 140px;
    margin: 0 auto !important;
    display: block;
  }

  .message-block figure,
  .message-block .wp-block-image,
  .message-block .wp-block-kadence-image{
    text-align: center !important;
    margin: 0 auto !important;
  }

  .message-block figure img,
  .message-block .wp-block-image img,
  .message-block .wp-block-kadence-image img{
    width: 140px;
    height: 140px;
    margin: 0 auto !important;
    display: block;
  }

  .message-block__content{
    max-width: 100%;
    width: 100%;
  }

  .message-block__role{
    font-size: 12px;
    margin-bottom: 4px;
    text-align: left;
  }

  .message-block__name{
    font-size: 20px;
    margin-bottom: 10px;
    text-align: left;
  }

  .message-block__text{
    font-size: 14px;
    line-height: 1.8;
    text-align: left;
  }
}
/* ===============================
   ABOUT 3BOX ボタン統一（タブレット・PC）
=============================== */
@media (min-width: 768px) {

  /* ボタンを中央寄せ */
  .entry-content .kt-blocks-info-box-learnmore-wrap {
    text-align: center !important;
    margin-top: 12px !important;
  }

  /* ボタン本体 */
  .entry-content .kt-blocks-info-box-learnmore {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-width: 148px !important;
    height: 40px !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;

    font-size: 0.95rem !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    text-align: center !important;
    text-transform: none !important;

    color: #3182CE !important;
    background: transparent !important;
    border: 2px solid #3182CE !important;
    border-radius: 6px !important;
  }
}
/* ===============================
   ABOUT 3BOX スマホ版 最終調整
=============================== */
@media (max-width: 767px) {

  /* カード全体 */
  .entry-content .kt-blocks-info-box-link-wrap {
    display: grid !important;
    grid-template-columns: 76px 1fr !important;
    grid-template-rows: auto auto auto !important;
    align-items: start !important;
    min-height: auto !important;
  }

  /* 左のアイコン列 */
  .entry-content .kt-blocks-info-box-media-container {
    grid-column: 1 !important;
    grid-row: 1 / 4 !important;
    width: 76px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: flex-start !important;
    align-self: start !important;
    margin: 2px 0 0 !important;
  }

  /* アイコン外枠 */
  .entry-content .kt-blocks-info-box-media {
    width: 56px !important;
    height: 56px !important;
    margin: 0 !important;
    flex: 0 0 56px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
  }

  /* 中のラッパー全部を中央揃え */
  .entry-content .kb-svg-icon-wrap,
  .entry-content .kt-info-svg-icon,
  .entry-content .kb-svg-icon-wrap svg {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* SVGサイズ */
  .entry-content .kb-svg-icon-wrap svg,
  .entry-content .kt-info-svg-icon svg {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    overflow: visible !important;
  }

  /* SVG内の描画位置のズレ対策 */
  .entry-content .kb-svg-icon-wrap svg path {
    transform: none !important;
  }

  /* ボタン中央寄せ＋角丸 */
  .entry-content .kt-blocks-info-box-learnmore-wrap {
    text-align: center !important;
  }

  .entry-content .kt-blocks-info-box-learnmore {
    border-radius: 6px !important;
  }

  /* 右側テキスト全体 */
  .entry-content .kt-infobox-textcontent {
    grid-column: 2 !important;
    display: grid !important;
    grid-template-rows: auto auto auto !important;
    row-gap: 4px !important;
    align-content: start !important;
  }

  /* タイトル */
  .entry-content .kt-blocks-info-box-title {
    margin: 0 !important;
    text-align: left !important;
    line-height: 1.3 !important;
    font-size: 1.2rem !important;
  }

  /* 本文 */
  .entry-content .kt-blocks-info-box-text {
    margin: 0 0 6px !important;
    text-align: left !important;
    line-height: 1.55 !important;
    font-size: 0.92rem !important;
  }

  /* ボタンラッパー */
  .entry-content .kt-blocks-info-box-learnmore-wrap {
    margin: 4px 0 0 !important;
    text-align: left !important;
  }

  /* 実際のボタン本体 */
  .entry-content .kt-blocks-info-box-learnmore {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 148px !important;
    height: 40px !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;

    font-size: 0.88rem !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    text-align: center !important;
    text-transform: none !important;

    color: #3182CE !important;
    background: transparent !important;
    border: 2px solid #3182CE !important;
    border-radius: 2px !important;
  }
}