/*
 * Theme Name:  NANO Child
 * Theme URI:   https://tcd-theme.com/tcd065
 * Description: Child theme of NANO theme.
 * Author:      snoda
 * Template:    nano_tcd065
 * Template Version: 1.21.2
 * Version: 0.0.1
 */


/* TOPページ ヘッダーコンテンツ下  */
.p-index-content01 {
  background: #fff;
  box-shadow: 0 -8px 10px rgba(0, 0, 0, 0.2);
  padding: 55px 35px 95px;
  text-align: center;
  position: relative;
  z-index: 1;
}

/* TOPページ ヘッダーコンテンツ下 バナーを非表示 */
body.home .p-index-content02,
body.front-page .p-index-content02,
body.page-template-front-page .p-index-content02 { display: none !important; }


/* TOPページ  お知らせ  NEWS */
.l-contents .p-cat--6 {
  color: #FABE00 /* #000000 */;
  border: 1px solid #FABE00 /* #000000 */;
}

/* TOPページ  お知らせ  EVENT */
.l-contents .p-cat--3 {
  color: #59AE8D;
  border: 1px solid #59AE8D;
}


/* TOPページ フッターロゴ */

/* 任意で高さを調整しやすいように変数化 */
:root { --footer-info-height: 17px /*80px */; }  /* お好みで 60–100px などに */

.p-info {
  /* テーマ側に上下パディングがあれば、下寄せの見え方に影響するため調整 */
  padding-top: 0;
  padding-bottom: 0;
}

/* 右端寄せ + 下側（ボトム）に揃える */
.p-info .p-info__inner.l-inner{
  display: grid !important;
  justify-content: end !important; /* 水平方向：右端 */
  align-content: end !important;   /* 垂直方向：下側 */
  min-height: var(--footer-info-height); /* 帯の高さ（必要なら固定化：heightでも可） */
  /* .l-inner の幅制約はそのまま */
  width: 92.1875%;
  max-width: 1180px;
  /* margin: 0 auto 19px; */
  margin: 0 auto;
}

/* 念のためロゴ自身も下側に */
.p-info .p-info__logo{
  justify-self: end;  /* 右端 */
  align-self: end;    /* 下側 */
  float: none !important;
  display: none;
}

/* 画像はブロック化してベースライン影響をなくす */
.p-info .p-info__logo img{
  display: block;
  height: clamp(28px, 6vw, 56px);
  width: auto;
}


/* PC等は40px、スマホ(<=576px)は32pxに */
/*
.p-info .p-info__logo img { height: 40px; width: auto; display:block; }
@media (max-width: 576px) {
  .p-info .p-info__logo img { height: 32px; }
}
*/



/** header  **/
.l-header__inner {
  display: flex;
  align-items: center;
  height: 86px;
  position: relative;
}

/** 2025-10-30 14:29  TOPスライダー **/

/* ▼TOPのスライダー高さをさらに縮める（60%）— PC */
.home .mv,
.home .p-hero,
.home .p-slider,
.home .p-header-slider,
.home [class*="hero"] [class*="slider"],
.home [class*="header"] [class*="slider"] {
  height: 30.00vh !important;     /* 55vh → 30.00vh（60%） */
  max-height: 312px !important;    /* 520px → 312px（60%） */
  min-height: 192px;               /* 320px → 192px（60%） */
  overflow: hidden;
}

/* 画像は枠にフィット */
.home .mv img,
.home .p-hero img,
.home .p-slider img,
.home .p-header-slider img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* ▼スマホはさらに低く（約 2/3） */
@media (max-width: 768px) {
  .home .mv,
  .home .p-hero,
  .home .p-slider,
  .home .p-header-slider,
  .home [class*="hero"] [class*="slider"],
  .home [class*="header"] [class*="slider"] {
    height: 25.33vh !important;   /* 38vh → 25.33vh（約2/3） */
    max-height: 240px !important;  /* 360px → 240px（約2/3） */
    min-height: 150px;             /* 220px → 150px（約2/3） */
  }
}


/** footer border */
.p-footer-nav {
  border-top: 0px solid #196aab;
  font-size: 14px;
  margin-bottom: 0;
  line-height: 60px;
  text-align: center;
  display: flex;
  justify-content: center;
}



/* スライダー枠を相対配置に */
.home #js-header-slider.p-header-slider{
  position: relative;
  margin-bottom: 40px;        /* 元CSSの余白 */
}

/* 下端に横ライン画像を敷く */
.home #js-header-slider.p-header-slider::after{
  content:"";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 10px;               /* ライン画像の見せたい高さ */
  background: url("../img/site_img_horizontal-scaled.png") center bottom repeat-x;
  background-size: 1400px 10px;  /* 画像1枚の表示サイズ（px） */
  pointer-events: none;
  z-index: 5;                  /* スライドの上に表示したいなら高めに */
}

/* フッター　ロゴのdiv高さ変更  */
.p-info__inner {
  display: flex;
  align-items: center;
  height: 10px /* 50px */;
}

/* お知らせの上の余白  */
.l-contents {
  border-top: 0px solid #ddd;
  margin-bottom: 50px /* 150px */;
  padding-top: 10px;
}

/* ロゴ帯だけ相対配置に */
.l-footer .p-info{ position:relative; }

/* ロゴ帯の下端に横ライン */
.l-footer .p-info::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;       /* ← 下端に表示 */
  height:10px;
  background: url("../img/site_img_horizontal-scaled.png") center bottom repeat-x;
  background-size:1400px 10px;
  pointer-events:none;
  z-index:1;
}

.p-copyright small {
  font-size: 14px;
  color: #202020;
}





/* ---------------------------------------------------------
   フッター著作権行の中央テキスト＋右端ロゴ配置
   --------------------------------------------------------- */

/* 親ボックス（これが位置の基準になる） */
.l-footer .p-copyright__row--top {
  position: relative;      /* ← ロゴ位置の基準 */
  width: 100%;
  padding: 12px 0;
}

/* 中央テキスト */
.l-footer .p-copyright__row--top .l-inner {
  max-width: 600px;        /* 既存テーマの中央幅 */
  margin: 0 auto;          /* ← これで中央配置 */
  text-align: center;
}

/* ロゴ：ブラウザ右端まで寄せる */
.l-footer .p-copyright__row--top .p-copyright__logo {
  position: absolute;      /* ← 位置固定開始 */
  right: 40px;             /* ← 画面右端に固定 */
  top: 50%;
  transform: translateY(-50%); /* ← 垂直中央合わせ */
}

/* ロゴ画像サイズ：幅150〜160px、高さは自動 */
.l-footer .p-copyright__row--top .p-copyright__logo img {
  width: clamp(150px, 14vw, 160px);
  height: auto;
  display: block;
}

/* スマホ表示では中央に寄せる（右端のままでよければ削除） */
@media (max-width: 768px) {
  .l-footer .p-copyright__row--top {
    position: relative;
  }
  .l-footer .p-copyright__row--top .p-copyright__logo {
    position: static;
    transform: none;
    margin-top: 8px;
    display: flex;
    justify-content: center;
  }
}




.top-visual__title {
  font-size: 2.5rem;
  font-weight: 900;
  text-align: center;
  margin-bottom: 8px;
  color: #202020;
}


.top-visual__lead {
  font-size: 1.35rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.6;
  margin-bottom: 20px;
  color: #202020;
}

.about-vision__desc {
  font-size: 0.85rem;
  margin-top: 24px;
  color: #303030;
  line-height: 1.7;
  word-wrap: break-word;
  width:100%;
  text-align:left;
}



/* スライド1枚（親）を位置の基準にする */
.p-header-slider__item { position: relative; }

/* 背景画像：一番下のレイヤー */
.p-header-slider__item-img {
  z-index: 0;
  /* 念のため指定（テーマが既に持っていれば不要） */
  position: absolute; inset: 0;
  background-position: center;
  background-size: cover;
}

/* 自前のオーバーレイ：画像の上、他テキストより前面 */
.custom-hero{
  position: absolute; inset: 0;
  z-index: 20;                /* ← ここが肝。画像より上に */
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 4vw;
  pointer-events: none;       /* 下のリンクをクリック可能に */
  text-align: center;
}

.custom-hero__body{
  /* color: #fff;
  text-shadow: 0 2px 8px rgba(0,0,0,.35); */
}


/**  debug: お知らせ    **/

/* ▼ お知らせ行のレイアウト調整 ▼ */

/* お知らせ一覧の行レイアウト（親テーマを上書き） */
.p-news-list .p-article04__inner {
  display: flex;              /* flexは維持 */
  flex-direction: column;     /* 上: 日付＋カテゴリ / 下: タイトル */
  align-items: flex-start;
  padding: 8px 25px;          /* 上下にも少し余白をつける（お好みで調整） */
  height: auto;               /* ★ここが重要：高さを固定しない */
  line-height: 1.5;           /* テキスト用の通常行間に戻す */
}


/* 日付＋カテゴリをまとめた行（news-panels.php で追加したラッパ） */
.p-news-list .p-article04__meta {
  font-size: 1.4rem;
  line-height: 1.0;
  margin-bottom: 0;       /* タイトルとの隙間 */
  width: 100%;
}

/* 日付：カテゴリとの間に少しスペース */
.p-news-list .p-article04__date {
  margin-right: 0.75em;
}

/* カテゴリ：枠線・背景を消してテキストだけにする */
.p-news-list .p-article04__cat.p-cat {
  border: none;
  padding: 0;
  background: none;
  border-radius: 0;
  font-weight:bold;
}

/* タイトル：必ず meta の下に来て、複数行折り返しOK */
.p-news-list .p-article04__title {
  margin: 0.1em 0 0.4em;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  word-break: break-word;
}

/* 基本：タイトルリンクは通常時は下線なし、色は継承 */
.p-news-list .p-article04__title a {
  color: inherit;
  text-decoration: none;
  transition: color .2s ease, text-decoration-color .2s ease;
}

/* ホバー／フォーカス時：色変更（下線が欲しければ underline に変更） */
.p-news-list .p-article04__title a:hover,
.p-news-list .p-article04__title a:focus,
.p-news-list .p-article04__title a:focus-visible {
  color: #0B8BEE;
  text-decoration: none;
  text-decoration-color: #0B8BEE;
  text-underline-offset: 2px;
  text-decoration-thickness: 1px;
  outline: none;
}

/* 動きを極力なくす環境への配慮（任意） */
@media (prefers-reduced-motion: reduce) {
  .p-news-list .p-article04__title a {
    transition: none;
  }
}

.site-footer__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 25px  -24px;
}

@media screen and (max-width: 992px) {
  .site-footer__list {
    margin: 16px -16px;
  }
}

@media screen and (max-width: 768px) {
  .site-footer__list {
    margin: 10px -10px;
  }
}

.site-footer__list__item {
  position: relative;
  padding: 0 24px;
}

@media screen and (max-width: 992px) {
  .site-footer__list__item {
    padding: 0 16px;
  }
}

@media screen and (max-width: 768px) {
  .site-footer__list__item {
    padding: 0 10px;
  }
}

.site-footer__list__item::after {
  content: '';
  width: 1px;
  height: 18px;
  background-color: #202020;
  position: absolute;
  left: 0;
  top: 2px;
}

@media screen and (max-width: 992px) {
  .site-footer__list__item::after {
    height: 14px;
  }
}

@media screen and (max-width: 768px) {
  .site-footer__list__item::after {
    height: 13px;
    top: 9px;
  }
}

.site-footer__list__item:first-child::after {
  content: none;
}

.site-footer__list__item a {
  font-size: 0.85rem;
  color:#202020;
  text-decoration: none;
  -webkit-transition: color .3s ease;
  transition: color .3s ease;
  padding: 15px 0;
}

@media screen and (max-width: 992px) {
  .site-footer__list__item a {
    font-size: 0.75rem;
  }
}

@media screen and (max-width: 768px) {
  .site-footer__list__item a {
    font-size: 0.7rem;
  }
}

/* フッター関係先リンク：ホバー/フォーカスでカラー変更 */
.site-footer__list__item a:hover,
.site-footer__list__item a:focus,
.site-footer__list__item a:focus-visible {
  color: #0B8BEE;
  text-decoration: underline;
}


/* ===========================
   NEWS 見出し（1カラム・カード見出し風）
   - 薄い面 + 上インセット罫
   - タイトルの真下にサブを中央寄せ
   =========================== */

/* 見出しコンテナ：横長バー / 中央寄せ */
.l-page-header .p-page-header{
  display: flex !important;
  flex-direction: column !important;  /* タイトル→サブ を縦並び */
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;

  width: 100% !important;
  max-width: 1180px;                  /* サイトの .l-inner に合わせて変更可 */
  margin: 0 auto !important;
  height: clamp(70px, 9vw, 90px) !important;
  padding: 0 24px !important;

  background: #f7fafc !important;     /* 薄い面 */
  box-shadow: inset 0 2px 0 #196aab !important;  /* 上インセット罫線 */
  border-top: none !important;
  border-radius: 0 !important;
}

/* 以前の 300x300 指定などを確実に無効化 */
.p-page-header{
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
}

/* タイトル＆サブのタイポと間隔 */
.p-page-header__title{
  margin: 0 !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  font-size: clamp(18px, 2.4vw, 24px) !important;
  color: #111 !important;             /* 指定色を強制 */
}
.p-page-header__sub{
  margin: 6px 0 0 0 !important;       /* タイトル直下に間隔を確保 */
  line-height: 1.2 !important;
  font-weight: 700 !important;
  font-size: clamp(12px, 1.6vw, 14px) !important;
  color: #456 !important;              /* 指定色を強制 */
}

/* ヘッダー下の余白（必要なら調整） */
header.pb0{
  padding-bottom: 27px !important;
}

/* スマホ微調整 */
@media (max-width: 767px){
  .l-page-header .p-page-header{
    padding: 0 16px !important;
    height: clamp(56px, 14vw, 64px) !important;
  }
  .p-page-header__sub{
    margin-top: 6px !important;       /* 念のため再指定 */
  }
}

/** debug 2025-11-02 12:56  お知らせタイトル      ***/

.p-entry__title {
  font-size: 26px !important;
}

.p-entry__body {
  font-size: 0.9rem !important;
  color: #202020 !important;
}
p-entry__body p {
  font-size: inherit;
  line-height: 2.2;
  margin-bottom: 35px;
  word-wrap: break-word;
}

.p-entry {
  border: 0px solid #ddd !important;
  border-top-width: 1px;
  border-top-style: solid;
  border-top-color: rgb(221, 221, 221);
  margin-bottom: 50px;
}

/**********************************************************
 * single-news 最終版（左寄せ・全幅アンダーライン・罫線除去・パンくず可視）
 * 置き場所：/wp-content/themes/nano_tcd065-child/late.css
 **********************************************************/

:root { --brand-blue: #0B8BEE; } /* 必要なら #196aab 0B8BEE へ */

/* ================= パンくず（可視 & 余白圧縮） ================= */
.single-news .p-breadcrumb,
.single-ex_notice .p-breadcrumb,
.single-edu_notice .p-breadcrumb{
  position: relative !important;
  z-index: 5 !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin: 6px 0 8px !important;   /* 上下の余白を圧縮 */
}

.single-news .l-contents,
.single-news .l-contents__inner,
.single-news .p-entry__inner,
.single-ex_notice .l-contents,
.single-ex_notice .l-contents__inner,
.single-ex_notice .p-entry__inner,
.single-edu_notice .l-contents,
.single-edu_notice .l-contents__inner,
.single-edu_notice .p-entry__inner{
  overflow: visible !important; 
}

.single-news .p-breadcrumb.is-hidden,
.single-news .p-breadcrumb.-hidden,
.single-ex_notice .p-breadcrumb.is-hidden,
.single-ex_notice .p-breadcrumb.-hidden,
.single-edu_notice .p-breadcrumb.is-hidden,
.single-edu_notice .p-breadcrumb.-hidden{
  opacity: 1 !important;
  transform: none !important;
  pointer-events: auto !important;
}
/* パンくず周辺の不要な上余白を圧縮 */
/*
.single-news .l-contents{ padding-top: 12px !important; margin-top: 0 !important; }
.single-news .l-contents__inner{ padding-top: 0 !important; margin-top: 0 !important; }
*/

/* ===== パンくず：コンパクト表示（上下の余白を最小化） ===== */
.single-news .p-breadcrumb,
.single-ex_notice .p-breadcrumb,
.single-edu_notice .p-breadcrumb{
  /* 高さを増やす余白をゼロに */
  padding: 0 !important;
  margin: 4px 0 6px !important;  /* ↑グローバルメニュー側 / ↓コンテンツ側 */
  line-height: 1.2 !important;   /* 行間を詰める */
  min-height: 0 !important;
}

/* l-inner が ol に付いていて余白が入る場合の保険（左右だけ残すなら調整） */

.single-news .p-breadcrumb.l-inner,
.single-ex_notice .p-breadcrumb.l-inner,
.single-edu_notice .p-breadcrumb.l-inner{
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* 各項目の行揃えと余白リセット（高さが出ないように） */
.single-news .p-breadcrumb li,
.single-news .p-breadcrumb a,
.single-news .p-breadcrumb span,
.single-ex_notice .p-breadcrumb li,
.single-ex_notice .p-breadcrumb a,
.single-ex_notice .p-breadcrumb span,
.single-edu_notice .p-breadcrumb li,
.single-edu_notice .p-breadcrumb a,
.single-edu_notice .p-breadcrumb span{
  align-items: center !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}
/* 区切り（> など）の余白も最小に。テーマが疑似要素で入れていても詰める */
.single-news .p-breadcrumb li::before,
.single-news .p-breadcrumb li::after,
.single-ex_notice .p-breadcrumb li::before,
.single-ex_notice .p-breadcrumb li::after,
.single-edu_notice .p-breadcrumb li::before,
.single-edu_notice .p-breadcrumb li::after{
  margin: 0 6px !important;
  line-height: 1 !important;
}

/* 直前直後のブロックが余白を持っている場合の保険（必要に応じて有効化）
.single-news .l-contents__inner > *:first-child { margin-top: 4px !important; }
.single-news .p-breadcrumb + * { margin-top: 6px !important; }
*/




/* ================= 罫線/影/背景のリセット ================= */

.single-news .p-entry,
.single-news .p-entry__inner,
.single-news .p-entry__body,
.single-news .p-headline,
.single-news .p-cat-list__title,
.single-news .p-blog__title{
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* ================= メタ行（年月日＋カテゴリ） ================= */
.single-news .p-entry__header--compact .p-entry__meta-top{
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important; /* ← 日付とカテゴリを同一ラインに */
  gap: 8px;
  margin: 0 0 9px 0 !important;
  text-align: left !important;
  color: #444;
  font-size: 0.95rem;
}


.single-news .p-entry__header--compact .p-entry__meta-top time{
  display: inline-flex !important;
  align-items: center !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  vertical-align: middle !important;
}
/* カテゴリ：枠・背景・影を排除して文字リンクのみ */
.single-news .p-entry__header--compact .p-entry__cat,
.single-news .p-entry__header--compact .p-cat,
.single-news .p-entry__header--compact .p-cat--inline,
.single-news .p-entry__header--compact .p-cat a,
.single-news .p-entry__header--compact [class*="p-cat"]{
  position: static !important;
  top: auto !important;
  transform: none !important;
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.2 !important;
  vertical-align: middle !important;
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  text-decoration: none !important;
}
.single-news .p-entry__header--compact .p-cat--inline{
  font-weight: 700;
  border-bottom: 1px solid transparent;
  transition: border-color .2s ease, color .2s ease;
}
.single-news .p-entry__header--compact .p-cat--inline:hover{
  border-color: currentColor;
}

/* お知らせ（教育）シングルのパンくず位置調整 */
.single-ex_notice .p-breadcrumb,
.single-ex_notice .c-breadcrumb,
.single-edu_notice .p-breadcrumb,
.single-edu_notice .c-breadcrumb {
  margin-top: 16px;      /* news と同程度の余白に調整（必要なら数値は微調整） */
  margin-bottom: 24px;
  position: relative;
  z-index: 10;           /* ヘッダー要素より前に出す保険 */
}





/* ================= タイトル & アンダーライン ================= */
.single-news .p-entry__title--compact{
  text-align: left !important;
  margin: 0 0 10px 0 !important;
  font-size: clamp(1.6rem, 2.4vw, 2rem);
  line-height: 1.3;
  font-weight: 700;
  color: #111;
}
.single-news .p-entry__title-underline{
  display: block !important;
  width: 100% !important;      /* コンテンツ幅いっぱい */
  height: 3px !important;
  background: var(--brand-blue) !important;
  margin: 0 0 28px 0 !important; /* タイトルと本文の間を広げる */
}

/* ================= 本文まわり ================= */
.single-news .p-entry__img{ margin-bottom: 20px !important; }
.single-news .p-entry__body{
  margin-top: 0 !important;
  padding-top: 0 !important;
  color: #222;
  line-height: 1.9;
  font-size: 1rem;
}

/* ================= スマホ微調整 ================= */
@media (max-width: 768px){
  .single-news .p-entry__meta-top{ gap: 6px; font-size: 0.95rem; }
  .single-news .p-entry__title-underline{ margin-bottom: 24px !important; }
}


/* debug 2025-11-02 16:21   **************/

/* single-news：本文下の戻るボタンの間隔＆センター揃え */
.single-news .p-entry__back .p-btn{
  margin: 28px 0 0 !important;  /* 本文との間を少し広めに */
  text-align: center !important; /* 念のため中央寄せ */
}
.single-news .p-entry__back .p-btn a{
  /* TOPのボタンスタイルを踏襲する想定。最低幅だけ補助（任意） */
  min-width: 220px;
  display: inline-block;
}

.p-btn a {
  color: #ffffff;
  background: #196aab;
  display: inline-block;
  font-size: 1.0rem;
  font-weight: 700;
  line-height: 60px;
  min-width: 240px;
  height: 60px;
  padding: 0 15px;
}
 
.p-btn a:hover {
  color: #ffffff;
  background: #06355b;
}

/* ====== Newsアーカイブ：パンくず可視化＆余白圧縮 ====== */
/* WPのbodyクラス：post-type-archive-news（CPT news の一覧） */
.post-type-archive-news .p-breadcrumb{
  position: relative !important;
  z-index: 5 !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  padding: 0 !important;
  margin: 4px 0 6px !important;     /* ↑グローバルメニュー側 / ↓コンテンツ側 */
  line-height: 1.2 !important;
  min-height: 0 !important;
}

/* l-inner が ol についていて上下余白が乗る場合の保険 */
.post-type-archive-news .p-breadcrumb.l-inner{
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* 内包要素の高さ肥大を防止（区切りも詰める） */
.post-type-archive-news .p-breadcrumb li,
.post-type-archive-news .p-breadcrumb a,
.post-type-archive-news .p-breadcrumb span{
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}
.post-type-archive-news .p-breadcrumb li::before,
.post-type-archive-news .p-breadcrumb li::after{
  margin: 0 6px !important;
  line-height: 1 !important;
}

/* 親ラッパーが overflow:hidden で隠すのを防止 */
.post-type-archive-news .l-contents,
.post-type-archive-news .l-contents__inner,
.post-type-archive-news .p-entry__inner{
  overflow: visible !important;
}

/* グローバルメニュー直下の余白を詰める（必要に応じて微調整） */
.post-type-archive-news .l-contents{
  padding-top: 12px !important;
  margin-top: 0 !important;
}
.post-type-archive-news .l-contents__inner{
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.p-breadcrumb__item--home [itemprop="name"]{
  display: none !important;
}

/* HOMEテキストを完全に非表示（アイコンはそのまま） */
ol.p-breadcrumb.c-breadcrumb.l-inner
> li.p-breadcrumb__item.c-breadcrumb__item.c-breadcrumb__item--home
> a[itemprop="item"] > span[itemprop="name"]{
  display: none !important;
}


/* お知らせ　タブ */
.p-news-tab-list__tabs-item.is-active a,
.p-news-tab-list__tabs-item a:hover,
.p-news-tab-list__tabs2 .p-news-tab-list__tabs-item.is-active a,
.p-news-tab-list__tabs2 .p-news-tab-list__tabs-item a:hover {
  background: #06355b /* #196aab */;
  border-color: #000;
  color: #0b4a7d;
  font-weight:700;
  text-decoration: underline;
}

/* お知らせタブのパネル(一覧UL)の左端をタブに揃える */
.p-news-tab-list__panel.p-news-list {
  margin: 0;          /* ul のデフォルトマージンを消す */
  padding: 0;         /* ul のデフォルト左パディングを消す */
  list-style: none;   /* 左の「・」も念のため消す（親で消していれば不要） */
}

.p-news-tab-list__tabs2 .p-news-tab-list__tabs-item {
  list-style-type: none;
  font-size: 16px;
  text-align: center;
  width: 20%;
  font-weight:700;
}


.p-article04 {
  background: #f7fafc; /* #f0f5f9 #f8f8f8 */
  border: 1px solid #ddd;
}

/* ===== お知らせ一覧とページネーションの間隔調整 ===== */

/* テーマの .p-pager の負の余白などを打ち消して基準化 */
.p-pager {
  margin: 28px 0 24px;     /* 上にしっかり余白、下も少し */
  padding-top: 8px;        /* 視覚的な間 */
  gap: 6px;                /* ページ番号の間隔 */
}

/* 一覧直後のページャにだけ強めの上マージンを付与（安全） */
.p-news-list + .p-pager {
  margin-top: 28px;
}

/* モバイルは少しだけ詰める */
@media (max-width: 768px) {
  .p-pager { margin: 20px 0 20px; padding-top: 6px; gap: 4px; }
  .p-news-list + .p-pager { margin-top: 20px; }
}

/* ページャボタン内をセンター配置（テーマの line-height を無効化） */
.p-pager .p-pager__item a,
.p-pager .p-pager__item span {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1; /* ← 重要 */
}

/* ラッパーのサイズだけで縮小を制御（親40pxの中に収める） */
.p-pager .pager-ico {
  display: block;
  width: 18px;   /* ← お好みで 14〜20px などに調整 */
  height: 18px;
}

/* SVGはラッパーのサイズにフィット */
.p-pager .pager-ico svg {
  display: block;
  width: 10%;
  height:100%;
}

/* さらに小さくしたい場合の例 */
/*
.p-pager .pager-ico { width: 16px; height: 16px; }
*/

/* ミニカバー：画像なし・固定高なし・タイポで魅せる */
.p-cover-min {
  background: linear-gradient(180deg, rgba(0,0,0,0.02), rgba(0,0,0,0));
  /* padding: clamp(20px, 3vw, 40px) 0; */
  padding: clamp(5px, 1.2vw, 13px) 0;
  border-bottom: 1px solid rgba(0,0,0,.06);
}
.p-cover-min__title {
  font-weight: 700;
  font-size: clamp(20px, 2.0vw, 28px);
  line-height: 1.2;
  letter-spacing: .01em;
  /* アクセントライン（UTokyo系の深緑 #367963 を想定） */
  position: relative;
  display: inline-block;
  padding-right: .1em;
}
.p-cover-min__title::after {
  content: "";
  display: block;
  width: 100%;
  height: 4px;
  margin-top: .35em;
  background: #367963;
}
.p-cover-min__sub {
  margin-top: .6rem;
  opacity: .8;
  font-size: clamp(13px, 1.4vw, 15px);
}

/* 既存テンプレの「カバーが無いときに付く余白(mt50)」調整が要るなら： */
.page-template-page-standard .l-contents__inner.mt50 { margin-top: 0 !important; }

.p-cover__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
  height: 19%;
  z-index: 1;
}



/* =========================================================
   パンくず（page-standard 専用・置き換え版）
   - 確実表示／前面
   - 固定高さを撤廃して自然な高さに
   - デスクトップは1行省略、モバイルは折返し
   - 目次との間隔をクリーンに詰める（負のmarginなし）
   ========================================================= */

/* 1) 確実表示＆前面 + 余白コンパクト化 */
.page-template-page-standard .p-breadcrumb,
.page-template-page-standard .c-breadcrumb {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative;
  z-index: 10;

  /* 余白（上/下）を小さめに。必要に応じて 2–8px で微調整 */
  margin: 4px 0 6px;

  font-size: 0.9rem;
  color: rgba(0,0,0,.75);
}

/* 2) テーマ元の .p-breadcrumb の固定高さを打ち消す（ここが本丸） */
.page-template-page-standard .p-breadcrumb,
.page-template-page-standard .c-breadcrumb {
  height: auto;             /* ← 固定 111px を撤回 */
  line-height: 1.25;        /* 行間ややタイトに */
  overflow: hidden;         /* 1行運用時は省略記号に備えて hidden */
  white-space: nowrap;      /* PCは1行に */
  text-overflow: ellipsis;  /* 長い場合は末尾を … で省略 */
}

/* 3) パンくず親の “はみ出しカット” を解除（既存維持） */
.page-template-page-standard .l-contents__inner {
  overflow: visible !important;
}

/* 4) カバーを背面に（既存維持） */
.page-template-page-standard .p-cover {
  position: relative;
  z-index: 1;
}

/* 5) リンクの視認性（既存維持） */
.page-template-page-standard .p-breadcrumb a,
.page-template-page-standard .c-breadcrumb a {
  color: inherit;
  text-decoration: none;
}
.page-template-page-standard .p-breadcrumb a:hover,
.page-template-page-standard .c-breadcrumb a:hover {
  text-decoration: underline;
}

/* 6) 「パンくず → 目次」が連続する場合だけ、さらに上を少し詰める */
.page-template-page-standard .p-breadcrumb + .page-link,
.page-template-page-standard .c-breadcrumb + .page-link {
  margin-top: 2px; /* 0〜4pxでお好み調整 */
}

/* 7) モバイルでは折返し許可（読みやすさ優先） */
@media (max-width: 640px) {
  .page-template-page-standard .p-breadcrumb,
  .page-template-page-standard .c-breadcrumb {
    white-space: normal;     /* 折返し */
    text-overflow: clip;     /* 省略記号は不要に */
    overflow: visible;
    line-height: 1.35;
    margin: 6px 0 6px;       /* 視覚的に少し余裕を戻す */
  }
}

/* 8) 万一、テーマのグローバル指定が勝つ場合の保険（強度アップ） */
.p-breadcrumb { height: auto !important; line-height: 1.25 !important; }



/* =========================================================
   archive-header（$catch）の見た目をコンパクト化
   ========================================================= */

.page-template-page-standard .p-archive-header,
.page-template-page-standard .archive-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: .35rem;
  margin: 0 0 14px;
  padding: 8px 0;
}

/* タイトル */
.page-template-page-standard .p-archive-header h1,
.page-template-page-standard .archive-header h1,
.page-template-page-standard .p-archive-header .p-archive-header__title,
.page-template-page-standard .archive-header .archive-header__title {
  font-size: clamp(18px, 2vw, 26px);
  line-height: 1.15;
  margin: 0;
  font-weight: 700;
}

/* タイトル下線を非表示 */
.page-template-page-standard .p-archive-header .p-archive-header__title::after,
.page-template-page-standard .archive-header .archive-header__title::after {
  display: none !important;
  content: none !important;
}

/* サブテキスト */
.page-template-page-standard .p-archive-header .p-archive-header__sub,
.page-template-page-standard .archive-header .archive-header__sub {
  font-size: .9rem;
  line-height: 1.3;
  margin: 0;
  opacity: .85;
}

/* Coverと重ならないように */
.page-template-page-standard .p-archive-header,
.page-template-page-standard .archive-header {
  position: relative;
  z-index: 5;
}


/** debug 2025-11-09 13:25 =====================  **/



/* =========================================================
   page-standard：MT移設ブロック・構造物
   ========================================================= */

/* 1) 画像と表の安全策 */
.mt-legacy img { max-width:100%; height:auto; }
.mt-legacy figure { margin:0; }

/* 2) 固定ヘッダーでアンカーが隠れないように */
#mechanism, #vision, #mission, #roadmap {
  scroll-margin-top: 100px;
}

/* 3) ビジョン＆ミッション：カード揃え */
/* .about-vision__body, .about-mission__body { */
.about-mission__body {
  display: grid;
  gap: 20px 24px;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

/* .about-vision-block, .about-mission-block { */
.about-mission-block {
  display: grid;
  grid-template-rows: auto 1fr;
}

/* 4) 目次ブロック */
.page-link__list {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem 1rem;
  padding: 0;
  margin: 0;
  list-style: none;
}
.page-link__list a {
  display: inline-block;
  padding: .3rem .7rem;
  border: 0px solid #e5e5e5;
  border-radius: 6px;
  text-decoration: none;
  color: inherit;
}
.page-link__list a:hover {
  background: #f7faf9;
}

/* 5) 見出しデザイン */

.p-entry__body p.page-contents__label {
  margin-bottom:0;
  line-height: 2.3;
}

.page-contents__title {
  font-weight: 700;
  line-height: 1.2;
  font-size: clamp(20px, 2.2vw, 25px) !important;
  margin: 55px 0 0px !important;
}
.page-contents__label {
  margin: 0 0 14px;
  opacity: .8;
  font-size: 1.1rem !important;
  font-weight: bold;
}

.page-contents__header {
  border-bottom: 4px solid #187FC4;
  padding-bottom: 0px;
  margin-bottom: 34px;
  margin-top: 50px;
}

/*
.p-entry__body p {
  font-size: inherit;
  line-height: 1.9;
  margin-bottom: 0px;
  word-wrap: break-word;
}
*/

/* 6) 段落 */
/* .mt-legacy p + p { margin-top: 1rem; } */



/* =========================================================
   cover-min（ミニカバー）タイトル & サブタイトル
   standard-page.php（page-standard テンプレ）の固定ページ用
   ========================================================= */

/* ヘッダー全体：センター寄せ＋背景画像＋下端ライン */
.page-template-page-standard .p-cover-min {
  position: relative;
  margin: 0;
  padding: 72px 0 80px; /* 上下余白でヘッダーの高さとタイトル位置を調整 */
  text-align: center;
  color: #000;

  /* ▼ MT版と同じ背景画像を指定（TOPのヘッダー画像を流用） */
  /* ↓ ここの URL を実際の背景画像パスに差し替えてください */
  background:
    url("../img/hero_bg-scaled.jpg");
    center top / cover no-repeat;
}

/* 内側ラッパー：中央寄せ＆縦方向センタリング */
.page-template-page-standard .p-cover-min__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 2; /* 下端ラインより前面に出す */
}

/* ▼ ヘッダー下端に横ライン画像を敷く（TOPで使用しているものを流用） */
.page-template-page-standard .p-cover-min::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 10px;               /* ライン画像の見せたい高さ */
  background:
    url("../img/site_img_horizontal-scaled.png") 
    center bottom repeat-x;
  background-size: 1400px 10px;  /* 画像1枚の表示サイズ（px） */
  pointer-events: none;
  z-index: 1;
}

/* ▼ タイトル（日本語）= 小さめ + 下線なし */
.page-template-page-standard .p-cover-min__title {
  text-align: center;
  font-weight: 700;
  font-size: clamp(18px, 2.4vw, 28px);
  line-height: 1.2;
  margin: 0 auto .25em;
}

/* デフォルトテーマのタイトル下線を無効化 */
.page-template-page-standard .p-cover-min__title::after {
  display: none !important;
  content: none !important;
}

/* ▼ サブタイトル（英語）= weight ↑ */
.page-template-page-standard .p-cover-min__subtitle {
  text-align: center;
  font-weight: 600;
  font-size: clamp(14px, 2vw, 20px);
  line-height: 1.3;
  margin: 0 auto .6em;
  opacity: .85;
}

/* ▼ スマホ向け調整 */
@media (max-width: 767px) {
  .page-template-page-standard .p-cover-min {
    padding: 48px 0 56px;
    /* 必要なら背景画像の見え方も微調整 */
    background-size: auto 200px;
  }

  .page-template-page-standard .p-cover-min::after {
    height: 5px;
    background-size: 760px 5px;  /* HOME のスマホ用指定と合わせる */
  }

  .page-template-page-standard .p-cover-min__title {
    font-size: clamp(18px, 4.2vw, 24px);
  }

  .page-template-page-standard .p-cover-min__subtitle {
    font-size: clamp(13px, 3.4vw, 18px);
  }
}


/* =========================================================
 * standard-page：グローバルメニューとの隙間調整
 * ========================================================= */

/* グローバルメニュー直下にヘッダー（p-cover-min）を密着させる */
.page-template-page-standard .l-contents {
  margin-top: 0;
  padding-top: 0;
}

/* タイトルは p-cover-min 内側の余白で少し下げる */
.page-template-page-standard .p-cover-min {
  padding-top: 16px;  /* メニューと「概要」の距離。狭ければ数値を増やす */
  padding-bottom: 16px; /* ここは前と同じでOKならそのまま */
}



/** debug 14:23  202501109 **/


/* =========================================================
   目次リスト（page-standard 専用）
   ・下線をアイコン端まで伸ばす
   ・パンくずとの間隔を詰める
   ・左端位置をパンくずと揃える
   ・フォント大きめ
   ・ホバー時は背景を変えず「下線色のみ #196aab」に
   ========================================================= */

/* 1) パンくずと目次の間を詰める（パンくずの下・目次の上） */
.page-template-page-standard .p-breadcrumb,
.page-template-page-standard .c-breadcrumb{
  margin-top: 16px;
  margin-bottom: 8px;  
}
.page-template-page-standard .page-link{
  /* margin-top: 4px; */      /* ← 目次の上マージンも最小限に */
  /* border: none;  */
}

/* パンくず直後の本文ブロックの上余白を詰める（p-entry の場合） */
.page-template-page-standard .p-breadcrumb + .p-entry,
.page-template-page-standard .c-breadcrumb + .p-entry {
  margin-top: 0;
}


/* 2) 左端をパンくずと揃える（.l-inner と同じ幅センタリング） */
.page-template-page-standard .page-link__inner{
  max-width: 1180px;    /* テーマの .l-inner と同値に */
  margin: 0 auto;
  padding-left: 0px;    /* 必要に応じて微調整 */
  padding-right: 0px;
}

/* 3) 等幅グリッド（PC4列 → 狭い幅で折返し） */
.page-template-page-standard .page-link__list{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0 2.4rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (max-width: 1024px){
  .page-template-page-standard .page-link__list{
    grid-template-columns: repeat(2, 1fr);
    row-gap: .5rem;
  }
}
@media (max-width: 640px){
  .page-template-page-standard .page-link__list{
    grid-template-columns: 1fr;
    row-gap: .45rem;
  }
}

/* 4) 各アイテム：テキスト左／アイコン右・フォント大きめ（背景は常に透明） */
.page-template-page-standard .page-link__list__item a{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;   /* テキスト左／アイコン右 */
  gap: .6rem;
  padding: .5rem .25rem .1rem;      /* 下線分の下余白を確保 */
  color: #202020;
  font-weight: 600;
  font-size: clamp(16px, 1.7vw, 18px);
  text-decoration: none;
  white-space: nowrap;
  background: transparent !important;  /* ← 背景は変えない */
}

/* 5) 下線を“アイコン端まで”フルに伸ばす（通常はグレー） */
.page-template-page-standard .page-link__list__item a::before{
  content: "";
  position: absolute;
  left: 0;
  right: 0;                           /* ← アイコン端まで */
  bottom: 0;
  height: 2px;
  background: #BCBCBC;                /* 通常色（グレー） */
  pointer-events: none;
  transition: background-color .2s ease; /* ← 色だけスムーズに変化 */
}

/* 6) ホバー時（およびキーボードフォーカス時）：背景は不変／下線色のみ変更 */
.page-template-page-standard .page-link__list__item a:hover,
.page-template-page-standard .page-link__list__item a:focus{
  background: transparent !important;  /* 念のため固定 */
  color: #202020;                      /* 文字色も固定 */
}
.page-template-page-standard .page-link__list__item a:hover::before,
.page-template-page-standard .page-link__list__item a:focus-visible::before{
  background: #196aab;                 /* ★ 下線のみブルーに */
}

/* 7) 右端のアイコン（IcoMoon "icon" フォント） */
.page-template-page-standard .page-link__list__item a::after{
  font-family: "design_plus";
  content: "\E90E";                    /* ※ご利用のコードポイントに合わせて */
  font-size: 1.2rem;
  line-height: 1;
  color: #202020;
  transform: translateY(1px);          /* 視覚センタリング微調整 */
}

/* （保険）テーマ側の装飾を無効化 */
.page-template-page-standard .page-link__list__item,
.page-template-page-standard .page-link__list__item::before,
.page-template-page-standard .page-link__list__item::after{
  border: none !important;
  background: none !important;
  box-shadow: none !important;
  margin: 0;
}


/** 機構長ご挨拶 **/

.profile-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 36px;
}

/* 本文（PC） */
.profile-block__body {
  padding: 24px;
  width: calc(100% - 270px);
}

.profile-block__body p {
  font-size: 1.0rem;
}

/* キャプション */
.profile-block__thumb__caption {
  margin-top: 16px;
  text-align: center;
  font-weight: bold;
  color: #707070;
  font-size: 1.0rem;
  line-height: 1.4;
}


.profile-block__thumb img {
  border-radius: 2px;   /* ほぼ直角だが硬すぎない */
}


/* ======================================
   スマートフォン対応（重要）
====================================== */
@media screen and (max-width: 767px) {

  .profile-block {
    flex-direction: column;
  }

  .profile-block__header {
    text-align: left;        /* ← 左揃えに戻す */
    padding-left: 16px;     /* ← 本文と起点を揃える */
  }

  .profile-block__thumb {
    margin: 0;              /* ← auto をやめる */
    max-width: 240px;       /* 見やすい実寸 */
  }

  .profile-block__body {
    width: 100%;
    padding: 16px;
  }

}


.about-vision {
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
}


/** debug 20251110 0929   **/

/** vision **/
.about-vision {
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
}

.about-vision__header > p.about-vision__lead {
  font-size: 1.5rem;
  text-align: center;
  font-weight: bold;
  margin-bottom: 32px;
}

.about-vision__body {
  margin-top: 40px;
}

.about-vision__item {
  margin-top: 20px;
}



/* ─ 概要ページ：ビジョンブロック（上下センター確実化） ─ */
.page-template-page-standard .about-vision-block{
  /* 高さが固定されている/等高化されている場合に備えて解除 */
  height: auto !important;
  min-height: 0 !important;

  /* レイアウト：左右2カラム+縦中央 */
  display: flex;
  align-items: center;           /* ★ 親で縦中央 */
  gap: 20px;
  padding: 22px 24px;

  border: 6px solid #E7F6FE;
  border-radius: 15px;
  box-sizing: border-box;
  line-height: normal;           /* 余計な行高を無効化 */
}

/* 左：画像カラム（幅固定） */
.page-template-page-standard .about-vision-block__header{
  flex: 0 0 100px;               /* 幅固定 */
  display: flex;
  align-items: center;           /* 画像を枠内で縦中央 */
  justify-content: center;       /* 横中央 */
  margin: 0;                     /* 余白は gap で管理 */
  text-align: center;
}

/* 画像の安全策 */
.page-template-page-standard .about-vision-block__thumb{
  display: flex;
  align-items: center;
  justify-content: center;
}
.page-template-page-standard .about-vision-block__thumb img{
  display: block;
  max-width: 100%;
  height: auto;
}

/* 右：本文カラム（行数が1行でも2行でも縦中央） */
.page-template-page-standard .about-vision-block__body{
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;       /* ★ 本文全体を縦中央へ */
  gap: 6px;                      /* 段落間の間隔はここで統一 */
}

/* 段落のデフォルト余白を無効化。空段落は非表示 */
.page-template-page-standard .about-vision-block p{
  margin: 0;
}
.page-template-page-standard .about-vision-block p:empty{
  display: none;
}

/* 既存指定の微調整：読みやすさを保ちつつ上下センター見えに */
.page-template-page-standard p.about-vision-block__desc{
  font-size: inherit;
  line-height: 1.8;
  word-wrap: break-word;
}

/* スマホ微調整（任意） */
@media (max-width: 640px){
  .page-template-page-standard .about-vision-block{
    gap: 16px;
    padding: 18px;
  }
  .page-template-page-standard .about-vision-block__header{
    flex-basis: 84px;
  }
}



/* ===== Mission 3カラムの親グリッド ===== */


/* ===== Mission 3カラムの親グリッド ===== */
/* =========================
   ミッション（.about-mission 配下だけ）
   ========================= */

/* 3カラム（自動幅） */
.about-mission .about-mission__body{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)); /* 3等分 */
  gap: 24px;                                        /* カラム間 */
  margin: 0;
  padding: 15px 0 0;
}

/* 幅が狭くなったら 2→1 カラム */
@media (max-width: 1024px){
  .about-mission .about-mission__body{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 640px){
  .about-mission .about-mission__body{ grid-template-columns: 1fr; }
}

/* 各カード（囲み・高さ・内側余白） */
.about-mission .about-mission-block{
  display: grid;
  grid-template-rows: auto auto auto 1fr; /* 画像 / タイトル群 / JA / EN */
  height: auto !important;                /* 既存の等高化や inline height を無効化 */
  min-height: 512.6px;                    /* 目安の高さ */
  padding: 22px 35px;                     /* 上下左右の余白 */
  border: 6px solid #E7F6FE;
  border-radius: 15px;
  box-sizing: border-box;
  background: #fff;
}

/* 画像（最上段） */
.about-mission .about-mission-block__header{
  display: grid;
  place-items: center;       /* 画像を中央に */
  margin: 0 0 35px;
}
.about-mission .about-mission-block__thumb{
  display: grid; place-items: center;
}
.about-mission .about-mission-block__thumb img{
  display: block;
  max-width: 100%;
  height: auto;
}

/* タイトル＆サブタイトル（2段目） */
.about-mission .about-mission-block__title{
  margin: 24px 0 0px;
  font-weight: 700;
  font-size: clamp(22px, 2.1vw, 28px);
  line-height: 2.3;
  text-align: center;
}

.about-mission .about-mission-block__label{
  margin: 0 0;
  font-size: clamp(18px, 1.6vw, 26px);
  line-height: 1.2;
  opacity: 1.0;
  text-align: center;
}

/* 日本語・英語テキスト（3・4段目） */
.about-mission .about-mission-block__body{
  display: grid;
  grid-template-rows: auto auto; /* JA / EN */
  align-content: start;          /* 上から順に詰める */
  gap: 8px;
  min-height: 0;                 /* はみ出し防止 */
}

/* 段落の余白はリセットして gap で統一管理 */
.about-mission .about-mission-block__body p{ margin: 0; }

/* 日本語文 */
.about-mission .about-mission-block__desc{
  font-size: 0.98rem;
  line-height: 1.8;
  color: #202020;
  word-wrap: break-word;
  padding-bottom: 21px;
}

/* 英文（弱めのトーン） */
.about-mission .about-mission-block__desc[lang="en"]{
  font-size: 0.95rem;
  line-height: 1.7;
  opacity: .85;
}


.about-mission p {
  line-height: 2.0;
}

/* 空段落の無効化（NANO が空 <p> を出す対策。ミッションのみ適用） */
.about-mission .about-mission-block p:empty{ display:none; }

/* ===============================
   ミッション：各 item の囲み罫
   =============================== */
.about-mission .about-mission__item{
  border: 1px solid #777777;   /* ボーダー */
  border-radius: 15px;         /* 角丸 */
  padding: 21px;               /* 四辺に余白 */
  box-sizing: border-box;      /* パディング込みで整える */
}

/* （二重枠を避けたい場合は有効化）
.about-mission .about-mission-block{
  border: none !important;
  padding: 0 !important;
}
*/

/* ===============================
   Mission：画像を高さ52px以内に
   =============================== */
.about-mission .about-mission-block__thumb img{
  max-height: 52px;       /* ★ 高さ52px以内に収める */
  width: auto;            /* 縦横比を維持 */
  height: auto;
  display: block;
  object-fit: contain;    /* 画像比率を維持して収める */
}

/** Contact & Acces **/

.contact .page-lead {
  font-weight: bold;
  font-size: 1.05rem;
}


/* ================= お知らせ（教育）ラベル調整 ================= */

/* 日付と種別ラベルの間隔を少しだけ（今の約半分くらい） */
.single-ex_notice .p-entry__catline,
.single-edu_notice .p-entry__catline {
  margin-left: 0.1em;  /* もっと詰めたければ 0.3em などに */
}

/* NEWS / EVENT：文字色だけ指定（枠線なし・背景なし） */

.single-ex_notice .p-cat--ex-news,
.single-ex_notice .p-cat--ex-event,
.single-edu_notice .p-cat--edu-news,
.single-edu_notice .p-cat--edu-event {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  text-transform: uppercase;
  font-weight: bold;
}

/* 文字色だけ変える */
.single-ex_notice .p-cat--ex-news,
.single-edu_notice .p-cat--edu-news {
  color: #FABE00 !important;
}

.single-ex_notice .p-cat--ex-event,
.single-edu_notice .p-cat--edu-event {
  color: #59AE8D !important;
}

/* お知らせ（教育）シングル：日付とタイトルの間隔を詰める */
.single-ex_notice .p-entry__header--compact .p-entry__meta-top,
.single-edu_notice .p-entry__header--compact .p-entry__meta-top {
  margin-bottom: 4px !important;   /* もともと大きければ 0〜6px くらいで調整 */
}

.single-ex_notice .p-entry__header--compact .p-entry__title--compact,
.single-edu_notice .p-entry__header--compact .p-entry__title--compact {
  margin-top: 0 !important;        /* タイトルの上マージンをゼロに */
}

/* お知らせ（教育）シングル：タイトル下アンダーライン */
.single-ex_notice .p-entry__title-underline,
.single-edu_notice .p-entry__title-underline {
  display: block;
  width: 100%;
  height: 3px;
  background-color: var(--brand-blue, #0B8BEE); /* news と同じブランドカラー */
  margin: 8px 0 20px;  /* タイトルとの間隔 / 本文との間隔はお好みで微調整 */
}

/* 念のため、デフォルトの下線系をオフにしておく（news と同じ方向性） */
.single-ex_notice .p-entry__title--compact,
.single-edu_notice .p-entry__title--compact {
  border-bottom: none !important;
  padding-bottom: 0 !important;
}

/* 教育ページ用お知らせリスト */
.ex-notice-list__items,
.edu-notice-list__items {
  list-style: none;
  margin: 0;
  padding: 0;
}

.ex-notice-list__item,
.edu-notice-list__item {
  margin: 0 0 6px;
}


.ex-notice-list__link,
.edu-notice-list__link {
  color: #202020;
  font-weight: 700;
}

.ex-notice-list__link,
.edu-notice-list__link {
  text-decoration: none;
  display: inline-flex;
  flex-wrap: wrap;
  column-gap: 0.6em;
}



/* 日付 */
.ex-notice-list__date,
.edu-notice-list__date {
  font-size: 0.9rem;
  padding-right: 1rem;
  font-weight: bold;
  margin: 5px 0 0 5px;
}

/* 種別ラベル（色はシングルと同じに揃える例） */
.edu-notice-list__kind {
  font-size: 0.9rem;
  text-transform: uppercase;
  font-weight: bold;
  margin: 5px 0 0 5px;
}

.edu-notice-list__kind--news {
  color: #FABE00;
}

.edu-notice-list__kind--event {
  color: #59AE8D;
}

/* タイトル */
p.ex-notice-list__title,
p.edu-notice-list__title {
  font-size: 1.05rem /* 0.95rem */;
}

/**   **/

/* =========================================================
 * 教育ページ用 お知らせ（教育）リストの見た目調整（カード型）
 *  - 日付＋カテゴリ＋タイトル＋本文をまとめてカード表示
 * ======================================================= */

/* 全体リストのリセット */
.edu-notice-list__items {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* 各お知らせをカード風に */
.edu-notice-list__item {
  margin: 0 0 8px;
  padding: 8px 10px 10px;
  background: #f7fafc;         /* ご希望の背景色 */
  border: 1px solid #ddd;      /* ご希望の枠線色 */
  border-radius: 4px;
  position: relative;
}

/* テーマ側の疑似要素で丸や記号が付く場合の対策 */
.edu-notice-list__item::before {
  content: none !important;
}

/* 日付＋カテゴリの行（1行目） */
.edu-notice-list__head {
  font-size: 0.9rem;
  color: #666;
  display: flex;
  flex-wrap: wrap;
  column-gap: 0.5em;

  margin: 0 0 2px;
  padding: 0;                /* 個別の囲み用の余白はナシ */
  background: none;
  border: none;
}

/* タイトル行（2行目） */
.ex-notice-list__title,
.edu-notice-list__title {
  margin: 0;
  padding: 2px 0 0;
  font-weight: 500;
  line-height: 1.4 !important;  /* .p-entry__body p の 2.2 を上書き */
}


/* タイトル内リンク */
.ex-notice-list__title a,
.edu-notice-list__title a {
  text-decoration: none;
  color: #202020 /* inherit */;
  line-height: 1.4 !important;
}

.ex-notice-list__title a:hover,
.edu-notice-list__title a:hover {
  text-decoration: underlinei;
  color: #0066cc !important;
}

.ex-notice-list__item a {
  color: #202020 !important;
}

.ex-notice-list__item a:hover {
  color: #0066cc !important;
  text-decoration: underlinei;
}

/* 本文部分（抜粋・本文） */
.edu-notice-list__content {
  margin-top: 6px;
  font-size: 0.95rem;
  line-height: 1.6;
  background: none;           /* 本文部分は白ベースのまま扱う */
}


/* 教育お知らせ一覧ボタンの調整 */

/* ボタン位置をセンター寄せ */
.edu-notice-list__more {
  margin: 5em 0;
  text-align: center !important;   /* テーマ側の指定を上書き */
}

/* a（実ボタン）を中央に配置 */
.edu-notice-list__more a {
  display: inline-block;          /* 中央寄せのため */
}

/* ボタン文字を白に（テーマ側の色を上書き） */
.edu-notice-list__more a {
  color: #fff !important;
}



/** debug:2025-11-20 10:45 教育お知らせ一覧 **/


/** =========================================================
 * 教育お知らせ一覧 (post-type-archive-edu_notice) 用スタイル
 * ======================================================= */

/* 1) パンくずを強制的に可視化 */
.post-type-archive-edu_notice .p-breadcrumb {
  position: relative !important;
  z-index: 5 !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin: 6px 0 8px !important;
}

.post-type-archive-edu_notice .l-contents,
.post-type-archive-edu_notice .l-contents__inner {
  overflow: visible !important;
}

/* 2) ページヘッダー（お知らせ〈教育〉） */
.post-type-archive-edu_notice .p-page-header {
  background: #fff /* #f7fafc */;
  padding: 15px 0 !important;  /* グローバルの padding:0 !important を上書き */
}

.post-type-archive-edu_notice .p-page-header__inner,
.post-type-archive-edu_notice .p-page-header__title,
.post-type-archive-edu_notice .p-page-header__sub {
  text-align: center;
}

/* 3) 教育お知らせ一覧：タブエリア */
.edu-notice-tabs {
  margin-top: 40px;  /* ヘッダーとの間をしっかり空ける */
  margin-bottom: 4px;/* タブと一覧の間：やや詰めめ */
}

.edu-notice-tabs__nav {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  border-collapse: separate;
  justify-content: flex-start;  /* タブは左寄せ */
}

.edu-notice-tabs__item {
  flex: 0 0 33.333%;    /* 将来 3タブにしたとき用に 1/3 幅 */
  max-width: 33.333%;
  text-align: center;
  padding: 10px 0;
  font-size: 0.95rem;
  border: 1px solid #196aab;
  cursor: default;
}

.edu-notice-tabs__item + .edu-notice-tabs__item {
  border-left: none;   /* 仕切り線が太くならないように */
}

/* アクティブ（現在は「すべて」のみ） */
.edu-notice-tabs__item.is-active {
  background-color: #196aab;
  color: #fff;
  font-weight: 700;
}

/* 将来用：EVENT / NEWS タブ（今は PHP 側で出していない） */
.edu-notice-tabs__item.is-disabled {
  background-color: #fff;
  color: #196aab;
}

.edu-notice-tabs__item span {
  display: inline-block;
}

/* 4) タブの下の一覧ブロックとの間隔 */
.edu-notice-archive {
  margin-top: 5px;  /* タブとカード群の距離 */
}


/** debug:2025-11-20 13:33 **/

/***************************************************
 * 
 * エネルギートランスフォーメーション（EX）研究会 
 *
 ****************************************************/
.page-contents.page-id-ex p {
  line-height: 1.9;
}

.page-contents.page-id-ex h4 {
  font-size:1.5em;
}
.title-circle, h4:not([class]) {
  position: relative;
  font-size: 2rem;
  font-weight: bold;
  padding-left: 32px;
  margin-top: 60px;
  margin-bottom: 16px;
}

.title-circle::after, h4:not([class])::after {
  content: '';
  position: absolute;
  left: 0;
  top: 4px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: #187FC4;
}

/** news-btns **/

.news-btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0 32px;
  margin-top: 80px;
}

.news-btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0 32px;
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  .news-btns {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 16px;
    margin-top: 40px;
  }
}
.news-btns__item {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 50%;
          flex: 1 1 50%;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #187FC4;
  color: #fff;
  height: 54px;
  width: 100%;
  text-decoration: none;
  font-weight: bold;
  font-size: 1.1rem;
  border: none;
  max-width: 300px;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
  cursor: pointer;
  border-radius: 27px;
  border: 2px solid #187FC4;
  -webkit-transition: background-color 0.3s ease, color 0.3s ease;
  transition: background-color 0.3s ease, color 0.3s ease;
}
@media screen and (max-width: 768px) {
  .news-btns__item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    font-size: 1.3rem;
  }
}
.news-btns__item:visited, .news-btns__item:link {
  color: #fff;
}
.news-btns__item:hover {
  background-color: #fff;
  color: #187FC4;
}
.news-btns__item.-red {
  border-color: #c9181e;
  background-color: #c9181e;
}
.news-btns__item.-red:hover {
  background-color: #fff;
  color: #c9181e;
}
.news-btns__item.-yellow {
  border-color: #FABE00;
  background-color: #FABE00;
}
.news-btns__item.-yellow:hover {
  background-color: #fff;
  color: #FABE00;
}
.news-btns__item::after {
  font-family: "design_plus" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  text-indent: 0;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\e910";
  position: absolute;
  right: 20px;
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}

.news-block > a {
  padding-top: 8px;
  padding-bottom: 8px;
}
.news-block__tag {
  display: inline-block;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  min-width: 100px;
  padding: 2px 16px 4px;
  border-radius: 20px;
  margin-left: 20px;
  vertical-align: 2px;
}
.news-block__tag.-premium {
  background: #c9181e;
}
.news-block__tag.-all {
  background: #FABE00;
}
.news-block__title {
  margin-bottom: 0;
}


/** debug:2025-11-21 14:15 ex news list  **/
.ex-notice-entry  ul {
  list-style-type: disc;
  margin-left: 2.3em;
}

.p-entry__header .p-cat {
  background: #fff;
  border-radius: 15px;
  display: inline-block;
  font-size: 14px;
  min-width: 110px;
  height: 30px;
  line-height: 28px;
  padding: 0 10px;
  text-align: center;
  transition: color 0.2s ease, border-color 0.2s ease;
}


/** debug:2025-11-21 11:57 **/


/** debug:2025-11-21 EX notice related **/

/* =========================================================
 * 1) 固定ページ「EX研究会」内
 *    お知らせ（EX）ショートコード一覧
 *    (.page-contents.page-id-ex ...)
 * =======================================================*/

/* リスト全体：黒ポチ消し・上罫線なし */
.page-contents.page-id-ex .ex-notice-list__items {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 0 solid #d9d9d9;
}

/* 各行（1件分） */
.page-contents.page-id-ex .ex-notice-list__item {
  margin: 0;
  padding: 10px 0;
  border-bottom: 1px solid #d9d9d9;
}

/* リンク全体（矢印レイアウトを打ち消す） */
.page-contents.page-id-ex .ex-notice-list__link {
  display: block;
  padding: 4px 0;
  padding-right: 0;              /* 矢印用余白をリセット */
  text-decoration: none;
  color: inherit;
}

/* NANO 標準の「＞」アイコンを無効化 */
.page-contents.page-id-ex .ex-notice-list__link::after,
.page-contents.page-id-ex .p-archive-news__link::after {
  content: none !important;
  display: none !important;
}

/* 1行目：日付 + 種別 + 会員タイプ（横並び） */
.page-contents.page-id-ex p.ex-notice-list__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0 0 8px;               /* 1行目と2行目の間隔 */
  line-height: 1.5;
  font-size: 0.9rem;
}

/* 日付はやや強調 */
.page-contents.page-id-ex .ex-notice-list__date {
  font-weight: 700;
}

/* 2行目：タイトル（複数行折り返し OK） */
.page-contents.page-id-ex p.ex-notice-list__title {
  margin: 0;
  padding: 0;
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 1.6;
  white-space: normal;
}

/* EX お知らせ一覧内の p 共通（line-height 抑えめ） */
.page-contents.page-id-ex .ex-notice-list p {
  line-height: 1.6;
  margin-bottom: 0;
}

/* お知らせ種別（EVENT / NEWS）テキストのみ表示 */
.page-contents.page-id-ex .ex-notice-list__cat {
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding: 0;
  margin: 0 0 0 8px;
  border: none !important;
  background: none !important;
  box-shadow: none !important;
}

/* EVENT = #59AE8D */
.page-contents.page-id-ex .ex-notice-list__cat--event {
  color: #59AE8D;
}

/* NEWS = #FABE00 */
.page-contents.page-id-ex .ex-notice-list__cat--news {
  color: #FABE00;
}

/* 会員タイプラベル：ALL / PREMIUM を同じ幅で揃える */
.page-contents.page-id-ex .ex-notice-list__member {
  margin-left: 16px;             /* 種別から少し右にずらす */
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding: 6px 15px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  min-width: 100px;              /* ALL / PREMIUM の見た目サイズを揃える */
  box-sizing: border-box;
}

/* Premium = 赤 */
.page-contents.page-id-ex .ex-notice-list__member--premium {
  background-color: #c9181e;
  color: #fff;
}

/* Regular = ALL（黄） */
.page-contents.page-id-ex .ex-notice-list__member--regular {
  background-color: #ffb11b;
  color: #fff;
}


/* ▼ 一覧本体（共通） */
.post-type-archive-ex_notice .ex-notice-list__items {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 0 solid #d9d9d9;
}

.post-type-archive-ex_notice .ex-notice-list__item {
  margin: 0;
  padding: 10px 0;
  border-bottom: 1px solid #d9d9d9;
}

/* リンク全体 */
.post-type-archive-ex_notice .ex-notice-list__link {
  display: block;
  padding: 4px 0;
  text-decoration: none;
  color: inherit;
}

/* 右端の「＞」アイコンを消す（NANOデフォルト上書き） */
.post-type-archive-ex_notice .ex-notice-list__link::after,
.post-type-archive-ex_notice .p-archive-news__link::after {
  content: none !important;
  display: none !important;
}

/* 1行目メタ情報 */
.post-type-archive-ex_notice p.ex-notice-list__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0 0 8px;
  line-height: 1.5;
  font-size: 0.9rem;
}

.post-type-archive-ex_notice .ex-notice-list__date {
  font-weight: 700;
}

/* 2行目タイトル */
.post-type-archive-ex_notice p.ex-notice-list__title {
  margin: 0;
  padding: 0;
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.6;
  white-space: normal;
}

/* お知らせ種別（EVENT / NEWS） */
.post-type-archive-ex_notice .ex-notice-list__cat {
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding: 0;
  margin: 0 0 0 8px;
  border: none !important;
  background: none !important;
  box-shadow: none !important;
}
.post-type-archive-ex_notice .ex-notice-list__cat--event {
  color: #59AE8D;
}
.post-type-archive-ex_notice .ex-notice-list__cat--news {
  color: #FABE00;
}

/* 会員タイプ（PREMIUM / All） */
.post-type-archive-ex_notice .ex-notice-list__member {
  margin-left: 20px;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: none;
  padding: 6px 14px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  min-width: 100px;                /* PREMIUM / ALL の幅をそろえる */
  box-sizing: border-box;
}
.post-type-archive-ex_notice .ex-notice-list__member--premium {
  background-color: #c9181e;
  color: #fff;
}
.post-type-archive-ex_notice .ex-notice-list__member--regular {
  background-color: #ffb11b;
  color: #fff;
}

/* ページネーション */
.post-type-archive-ex_notice .ex-notice-archive__pagination ul {
  display: flex;
  justify-content: center;
  gap: 8px;
  list-style: none;
  padding: 16px 0 0;
  margin: 0;
}
.post-type-archive-ex_notice .ex-notice-archive__pagination li a,
.post-type-archive-ex_notice .ex-notice-archive__pagination li span {
  display: block;
  padding: 4px 9px;
  font-size: 1.2rem;
  text-decoration: none;
  border-bottom: 2px solid transparent;
}
.post-type-archive-ex_notice .ex-notice-archive__pagination li span.current,
.post-type-archive-ex_notice .ex-notice-archive__pagination li a:hover {
  border-bottom-color: #0070c0;
}

/* EXお知らせアーカイブ：ページネーション NEXT をアイコンに置き換え */
.post-type-archive-ex_notice .ex-notice-archive__pagination a.next.page-numbers {
  position: relative;
  font-size: 0;          /* NEXT 文字を見た目だけ消す（contentは残る） */
  padding: 4px 9px;      /* 既存と揃える */
}

/* AFTERでアイコンフォントを表示 */
.post-type-archive-ex_notice .ex-notice-archive__pagination a.next.page-numbers::after {
  content: "\E910";          /* ★ ＞ に相当するアイコンコード（例） */
  font-family: "design_plus";/* ★ 使いたいアイコンフォントに合わせる */
  font-size: 1.2rem;         /* 表示サイズ */
  line-height: 1;
  display: inline-block;
  transform: translateY(7px);  /* ← ★ 下へ 7px 下げる */
}

.post-type-archive-ex_notice .ex-notice-archive__pagination a.prev.page-numbers {
  position: relative;
  font-size: 0;
  padding: 4px 9px;
}

.post-type-archive-ex_notice .ex-notice-archive__pagination a.prev.page-numbers::after {
  content: "\E90F";           /* 左向きアイコンなど */
  font-family: "design_plus";
  font-size: 1.2rem;
  line-height: 1;
  display: inline-block;
  transform: translateY(7px);  /* ← ★ 下へ 7px 下げる */
}


/* =========================================
 * EX お知らせアーカイブ：ページネーション微調整
 * - 番号をボールドに
 * - 番号は #202020
 * - PREV/NEXT アイコンの色は変更しない
 * - Hover 時はアンダーラインなし、青に変わる
 * ========================================= */

/* =========================================
 * EX お知らせアーカイブ ページネーション 最終版
 * ======================================= */

/* UL：中央揃え、余白 */
.post-type-archive-ex_notice .ex-notice-archive__pagination ul {
  display: flex;
  justify-content: center;
  gap: 8px;
  list-style: none;
  padding: 16px 0 0;
  margin: 0;
}

/* 共通設定：番号・PREV・NEXT */
.post-type-archive-ex_notice .ex-notice-archive__pagination li a,
.post-type-archive-ex_notice .ex-notice-archive__pagination li span {
  display: block;
  padding: 4px 9px;
  font-size: 1.0rem;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 2px solid transparent; /* デフォルトは線なし */
  box-sizing: border-box;
}

/* -----------------------------------------
 * 番号：通常色
 * -------------------------------------- */
.post-type-archive-ex_notice .ex-notice-archive__pagination a.page-numbers:not(.prev):not(.next),
.post-type-archive-ex_notice .ex-notice-archive__pagination span.page-numbers:not(.prev):not(.next) {
  color: #202020;
}

/* -----------------------------------------
 * 現在ページ：黒い下線のみ出す
 * -------------------------------------- */
.post-type-archive-ex_notice .ex-notice-archive__pagination span.current.page-numbers {
  color: #202020;
  border-bottom-color: #187FC4; !important;  /* ★ 黒い下線を確実に出す */
}

/* -----------------------------------------
 * ホバー（番号のみ）：
 *   下線は出さない → 色だけ青に
 * -------------------------------------- */
.post-type-archive-ex_notice .ex-notice-archive__pagination a.page-numbers:not(.prev):not(.next):hover {
  color: #0070c0;
  border-bottom-color: transparent !important;
}

/* -----------------------------------------
 * PREV / NEXT（アイコン）
 * -------------------------------------- */
.post-type-archive-ex_notice .ex-notice-archive__pagination a.prev.page-numbers,
.post-type-archive-ex_notice .ex-notice-archive__pagination a.next.page-numbers {
  color: #0070c0;
}

/* アイコンの位置調整 */
.post-type-archive-ex_notice .ex-notice-archive__pagination a.prev.page-numbers::after,
.post-type-archive-ex_notice .ex-notice-archive__pagination a.next.page-numbers::after {
  transform: translateY(7px);
}

/* NEXT / PREV のホバー時には下線を出さない */
.post-type-archive-ex_notice .ex-notice-archive__pagination a.prev.page-numbers:hover,
.post-type-archive-ex_notice .ex-notice-archive__pagination a.next.page-numbers:hover {
  border-bottom-color: transparent !important; /* ← 強制的に消す */
}


/* Regular のラベルだけ text-transform を無効化する */
.ex-notice-list__member.ex-notice-list__member--regular {
  text-transform: none;
}


/* EXログイン状態表示：中央寄せはそのまま */
.news-login-status {
  text-align: center;
  margin: 24px 0;
}

.news-login-status__text {
  margin: 0;
}

/* ログアウトリンクは小さく、ひっそり右側に */
.news-login-status__logout {
  font-size: 0.9em;
  margin-left: 1em;
  text-decoration: none;
}

/* ホバー時だけ下線を出す */
.news-login-status__logout:hover {
  text-decoration: underline;
}


/* =====================================================
 * お知らせ系パンくずの HOME をアイコンだけにする
 *  - 対象：NEWSアーカイブ / NEWSシングル / NEWSカテゴリ
 * =================================================== */

/* HOMEテキストを視覚的に消す */
.post-type-archive-news .c-breadcrumb__item--home a,
.post-type-archive-news .p-breadcrumb__item--home a,
.single-news .c-breadcrumb__item--home a,
.single-news .p-breadcrumb__item--home a,
.tax-news_category .c-breadcrumb__item--home a,
.tax-news_category .p-breadcrumb__item--home a {
  font-size: 0;
}

/* アイコン（::before）を表示・位置調整 */
.post-type-archive-news .c-breadcrumb__item--home a::before,
.post-type-archive-news .p-breadcrumb__item--home a::before,
.single-news .c-breadcrumb__item--home a::before,
.single-news .p-breadcrumb__item--home a::before,
.tax-news_category .c-breadcrumb__item--home a::before,
.tax-news_category .p-breadcrumb__item--home a::before {
  content: "\E90C";
  font-family: "design_plus";
  display: inline-block;
  font-size: 1.0rem;  /* アイコンの大きさ。0.9〜1.1rem で微調整可 */
  line-height: 1;
  vertical-align: middle;
  position: relative;
  top: 0.1em;        /* ★ Chrome / Edge で揃い、Firefox も許容範囲 */
}

/* =====================================================
 * シングルニュースだけ少し上げる
 * =================================================== */
.single-news .c-breadcrumb__item--home a::before,
.single-news .p-breadcrumb__item--home a::before {
  top: -0.3rem;   /* ← 最適値。上下の見え方が最も美しい */
}




/* =====================================================
 * EX研究会：アクセス権限エラーメッセージ
 *  [ex_access_denied] 用（Nextcloudカード風・調整版）
 * =================================================== */

.ex-access-denied {
  max-width: 720px;               /* ★ 幅を広げて改行を減らす */
  margin: 32px auto;
  padding: 0;
  background-color: #e6f3ff;
  border-radius: 18px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  box-sizing: border-box;
  font-family: inherit;
}

.ex-access-denied__inner {
  display: flex;                  /* ★ アイコン＋本文を横並びに */
  align-items: flex-start;        /* タイトルの行頭に揃える */
  padding: 20px 24px 18px;
}

/* 上部のアイコン（丸＋!） */
/* ! マーク入りの青い丸アイコン */
.ex-access-denied__icon {
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  margin: 4px 12px 0 0;
  border-radius: 50%;
  background-color: #0070c0;
  color: #fff !important;           /* ← 他の色指定を上書き */
  font-size: 15px !important;       /* ← 念のため強めに指定 */
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}


.ex-access-denied__body {
  flex: 1 1 auto;
}

/* タイトル */
.ex-access-denied__title {
  margin: 0 0 8px;
  font-size: 1.1rem;
  font-weight: 700;
  color: #000;
}

/* リード文 */
.ex-access-denied__lead {
  margin: 0 0 10px;
  font-size: 0.95rem;
  line-height: 1.7;
  color: #111;
}

/* 箇条書き：黒丸（●）に統一 */
.ex-access-denied__rules {
  margin: 4px 0 8px 1.4em;
  padding: 0;
  font-size: 0.95rem;
  line-height: 1.7;
  color: #111;
  list-style-type: disc !important;   /* ★ 黒丸を強制 */
}

.ex-access-denied__rules li {
  margin: 0 0 4px;
}

/* 補足文 */
.ex-access-denied__note {
  margin: 4px 0 10px;
  font-size: 0.9rem;
  color: #333;
}

/* アクション部：EX研究会へ戻る */
.ex-access-denied__actions {
  margin: 6px 0 0 !important;        /* ★ 下側の余白を詰めて上下バランス調整 */
  font-size: 0.9rem;
}

/* ログイン画面へ（未ログイン時） */
.ex-access-denied__btn {
  display: inline-block;
  padding: 6px 18px;
  font-size: 0.9rem;
  text-align: center;
  text-decoration: none;
  border-radius: 999px;
  border: none;
  background-color: #0070c0;
  color: #fff;
  line-height: 1.4;
}

.ex-access-denied__btn:hover {
  background-color: #005a99;
  text-decoration: none;
}

/* EX研究会へ戻る（ログイン済み時）は青文字リンク */
.ex-access-denied__link {
  font-size: 0.9rem;
  color: #0070c0;
  text-decoration: none;
  font-weight: 600;
}

.ex-access-denied__link::after {
  content: " \2192"; /* → */
  font-size: 0.9em;
}

.ex-access-denied__link:hover {
  text-decoration: underline;
}

/* スマホ幅調整 */
@media (max-width: 767px) {
  .ex-access-denied {
    margin: 24px auto;
  }

  .ex-access-denied__inner {
    padding: 16px 16px 14px;
  }
}

/* 「アクセス権限がありません」ページだけカバータイトルを非表示 */
.page-id-685 .p-cover-min {
  display: none;
}

/* タイトル分の余白を少しだけ補正（必要に応じて調整） */
.page-id-685 .l-contents {
  margin-top: 24px;
}

/*****************************************
 *
 * 参画教員カード：基本レイアウト
 * 
 *****************************************/

/*****************************************
 *
 * 参画教員ページ用 CSS（整理版）
 *
 *****************************************/


/*========================================
 * 1. グループ見出し
 *   - 機構長 / 名誉フェロー / メンバー
 *========================================*/

.member-group {
  margin: 40px 0 32px;
}

.member-group__title {
  margin: 0 0 12px;
  padding-bottom: 4px;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  display: block;
  border-bottom: 4px solid #0070c0;  /* 青ラインを横いっぱいに */
}

/* 日本語の下に英字ラベル（DIRECTOR / MEMBER など） */
.member-group__title::after {
  content: attr(data-en);
  display: block;
  margin-top: 2px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.12em;
}

.member-group--single .member-card {
  margin-top: 12px;   /* 機構長 / 名誉フェローのカードと見出しの距離 */
}

/* NANO テーマの h2（.p-entry__body h2）を上書きする */
.p-entry__body .member-group__title {
  font-size: 1.6rem;  
}

/*========================================
 * 2. メンバー一覧 2列レイアウト（flex）
 *========================================*/

/* カードを並べるグリッド（工学系研究科など） */
ul.member-grid {
  list-style: none;
  margin: 0;
  padding: 0;

  display: flex;
  flex-wrap: wrap;
  gap: 24px;          /* カード間のすき間 */
}

/* ショートコードが返す <li> をフレックスアイテムに */
ul.member-grid > li.member-grid__item {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  width: 100%;        /* SP など幅が狭いときは 1列 */
}

/* 画面が広いときは 2 列に */
@media (min-width: 768px) {
  ul.member-grid > li.member-grid__item {
    width: calc(50% - 12px);  /* gap:24px の半分を引いて 2 列 */
  }
}

/* wpautop が勝手に挿入する <br> は無効化しておく */
ul.member-grid > br {
  display: none;
}



/*========================================
 * 3. カード共通レイアウト
 *========================================*/

/* .member-card 自体の外側余白はグリッドに任せる */
.member-card {
  margin: 0;
}

/* カード内コンテナ */
.member-card__inner {
  display: flex;
  align-items: flex-start;
  padding: 18px 18px !important;

  border: 1px solid #e2e5f0 !important;  /* 淡い枠線 */
  border-radius: 8px;
  background-color: #fff;
  box-shadow: 0 0 0 1px #f7f8fc !important;
}

/* 写真：145 × 193.5 固定 */
.member-card__thumb {
  flex: 0 0 145px !important;
  max-width: 145px !important;
  height: 193.5px !important;       /* 高さ固定 */
  margin-right: 20px !important;
  overflow: hidden;                 /* はみ出し防止 */
}

.member-card__thumb img {
  display: block;
  width: 145px !important;
  height: 193.5px !important;
  object-fit: cover;                /* 中央でトリミング */
  border-radius: 3px;
}

/* テキスト側エリア */
.member-card__body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  row-gap: 3px;                     /* 名前〜所属〜研究〜ボタンの縦間隔 */
}

/* 余白は row-gap に任せるので 0 に統一 */
.member-card__name,
.member-card__position-main,
.member-card__summary,
.member-card__lab {
  margin: 0 !important;
  padding: 0 !important;
}

/* 氏名 */
.member-card__name {
  font-size: 1.6rem !important;
  font-weight: 700;
  line-height: 1.25;
}

/* ▼ 専攻＋肩書き（1行目・2行目以降）共通調整 */


/* ▼ 専攻＋肩書き 1行目（メイン） */
.p-entry__body .member-card__position-main {
  font-size: 1.15rem !important;  /* デフォルトはこれで固定 */
  font-weight: 700;
  margin: 0;
  padding: 0;
  line-height: 1.5 !important;
}

/* ▼ 専攻＋肩書き 2行目以降（サブのコンテナ） */
.p-entry__body .member-card__positions-sub {
  list-style: none !important;
  margin: -4px 0 0 0;   /* 1行目との間を少し詰める用。-3〜-6pxで調整OK */
  padding: 0;
  font-size: 1.15rem !important;  /* ★ デフォルトは 1行目と同じに統一 */
  font-weight: 700;
}

/* ▼ 2行目以降の各行 */
.p-entry__body .member-card__positions-sub li {
  list-style: none !important;
  margin: 0;
  padding: 0;
  font-size: 1.15rem !important;  /* 念のため li にも明示 */
  line-height: 1.35;
}


/* 肩書き 1行目と2行目の間を少しだけ詰める */
.p-entry__body .member-card__positions-sub {
  margin-top: -6px;   /* 行間がまだ広いようなら -3px でもOK */
}


/* 研究内容 */
.member-card__summary {
  font-size: 0.95rem !important;
  line-height: 1.5 !important;
}

/* 研究室ボタン */
.member-card__lab {
  margin-top: 4px !important;
}

.member-card__lab-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 16px !important;
  border-radius: 999px;
  border: 1px solid #0070c0 !important;
  background-color: #fff;
  color: #0070c0 !important;
  font-size: 0.9rem !important;
  line-height: 1;
  text-decoration: none;
}

.member-card__lab-link::after {
  content: "↗";
  font-size: 0.8em;
  margin-left: 4px;
  position: relative;
  top: -1px;
}

.member-card__lab-link:hover,
.member-card__lab-link:focus-visible {
  background-color: #0070c0;
  color: #fff !important;
}



/*========================================
 * 4. 機構長・名誉フェロー用：ワイドカード
 *   [member_ref layout="wide"] 用
 *========================================*/

.member-card--wide {
  width: 100% !important;         /* 親コンテナの幅いっぱいに */
  max-width: none !important;
  margin: 16px 0 28px !important;
}

.member-card--wide .member-card__inner {
  padding: 18px 22px !important;
}



/*========================================
 * 5. 未登録カード（placeholder）
 *   - slug 未登録時のダミーカード
 *========================================*/

/* 左側の画像枠を No Image に */
.member-card--placeholder .member-card__thumb {
  display: flex;
  align-items: center;
  justify-content: center;

  background-color: #f3f4f8;   /* 薄いグレー */
  color: #b3b7c4;              /* 文字も淡く */
  font-size: 0.9rem;
  font-weight: 600;
  border-radius: 3px;
}

.member-card--placeholder .member-card__thumb img {
  display: none !important;
}

/* 未登録テキストは控えめに */
.member-card--placeholder .member-card__name {
  font-weight: 400 !important;   /* 太字にしない */
  color: #999 !important;
}

.member-card--placeholder .member-card__summary {
  margin-top: 6px !important;    /* タイトルと本文の間 */
  font-size: 0.9rem !important;
  color: #999 !important;
}



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

@media (max-width: 767px) {
  .member-card__inner {
    flex-direction: column;
    padding: 12px 14px !important;
  }

  .member-card__thumb {
    margin-right: 0 !important;
    margin-bottom: 8px !important;
  }
}

/* 研究室ボタン：ホバー時のアニメーション強化 */
.member-card__lab-link {
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.15s ease;
}

.member-card__lab-link::after {
  transition: transform 0.15s ease;
}

.member-card__lab-link:hover,
.member-card__lab-link:focus-visible {
  background-color: #0070c0;
  color: #fff !important;
  box-shadow:
    0 0 0 1px #005a9e,
    0 2px 4px rgba(0, 0, 0, 0.12);
  transform: translateY(-1px); /* ほんの少しだけ浮かせる */
  text-decoration: none;
}

.member-card__lab-link:hover::after,
.member-card__lab-link:focus-visible::after {
  transform: translateX(2px);  /* ↗ をちょっと右へ */
}


/* サブグループ見出し（例：工学系研究科） */
.p-entry__body .member-subgroup__title {
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0 0 29x;      /* ▼ 下のカードとの間をさらに広げる（18 → 24） */
  padding-left: 14px;
  position: relative;
}

/* 左側の青い縦棒：テキストの縦中央に揃える */
.p-entry__body .member-subgroup__title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;                     /* 行の中央基準 */
  transform: translateY(-50%);  /* ぴったり中央へ */
  width: 3px;                   /* 細く */
  height: 1.6em;                /* 適度な縦長 */
  background-color: #0070c0;
  border-radius: 2px;
}

/* 参画教員カード（グリッド用）の高さを旧サイトに近づける */
.p-entry__body .member-card--card .member-card__inner,
.p-entry__body .member-card--card.member-card--placeholder .member-card__inner {
  min-height: 236px;   /* 旧サイトと同じぐらいの高さに */
}

/* =========================================
 * お知らせ一覧（公開 / EX / 教育）
 * リンク hover 時は下線を表示に統一
 *  - HOMEのお知らせは現状のまま
 * ======================================= */

/* ▼ EXお知らせ一覧（行全体がリンク） */
.ex-notice-list__link:hover .ex-notice-list__title {
  text-decoration: underline !important;
}


/* ▼ 共通クラス p-archive-news__link / p-archive-news__title を使っている一覧もカバー */
.p-archive-news__link:hover .p-archive-news__title {
  text-decoration: underline !important;
}

/* ▼ お知らせ（公開）一覧（タイトルだけリンクの場合） */
.p-article04__title a:hover {
  text-decoration: underline !important;
}

/* 教育お知らせ一覧：タイトルリンク hover 時に下線を表示 */
.edu-notice-list__title a:hover {
  text-decoration: underline !important;
}

h3:not([class]) {
  font-size: 1.5rem;
  font-weight: bold;
  padding-left: 16px;
  border-left: 4px solid #187FC4;
  margin-bottom: 24px;
  margin-top: 70px;
}



/* =====================================================
 * お知らせ（公開）アーカイブ ＋ カテゴリアーカイブ
 *  - /news/
 *  - /news_category/event/
 *  - /news_category/news/
 * ===================================================== */

/* 見出しブロック：位置調整 */
.post-type-archive-news .l-page-header,
.tax-news_category      .l-page-header {
  margin: 10px 0 0px;
  border-top: none !important; /* 上に余計な線を出さない */
}

/* タイトル帯：背景色とbox-shadowを消す＋中央揃え */
.post-type-archive-news .l-page-header .p-page-header,
.tax-news_category      .l-page-header .p-page-header {
  background: none !important;
  box-shadow: none !important;
  text-align: center;
}

/* 日本語タイトル */
.post-type-archive-news .p-page-header__title,
.tax-news_category      .p-page-header__title {
  font-size: 1.8rem;
  font-weight: 700;
  margin: 0;
}

/* 英字サブタイトル */
.post-type-archive-news .p-page-header__sub,
.tax-news_category      .p-page-header__sub {
  margin: 4px 0 0;
  font-size: 1.0rem;
  color: #202020;
  font-weight: 700;
}

/* パンくずの線を消す */
.post-type-archive-news .p-breadcrumb,
.tax-news_category      .p-breadcrumb {
  border-top: none !important;
  border-bottom: none !important;
}

/* -----------------------------------------------------
 * タブエリア
 * --------------------------------------------------- */

/* タブ全体のベース */
.post-type-archive-news .p-news-tab-list__tabs-wrapper,
.tax-news_category      .p-news-tab-list__tabs-wrapper {
  margin: 0px 0 24px;
}

.post-type-archive-news .p-news-tab-list__tabs2,
.tax-news_category      .p-news-tab-list__tabs2 {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
  border-bottom: none; /* ベースラインは使わず、タブ側に線を持たせる */
}

/* 各タブ（li） */
.post-type-archive-news .p-news-tab-list__tabs-item,
.tax-news_category      .p-news-tab-list__tabs-item {
  flex: 1 1 0;
  text-align: center;
  box-sizing: border-box;
}

/* タブリンク共通（未選択） */
.post-type-archive-news .p-news-tab-list__tabs-item > a,
.tax-news_category      .p-news-tab-list__tabs-item > a {
  display: flex !important;
  align-items: center !important;      /* 縦方向センター */
  justify-content: center !important;  /* 横方向センター */
  height: 47px !important;             /* タブの高さ（お好みで 40〜46px） */
  padding: 0 !important;
  line-height: 1 !important;

  font-weight: 700;
  font-size: 0.95rem;
  text-decoration: none;
  color: #0070c0;
  background-color: #ffffff;
  border: 1px solid #0070c0;
  border-bottom: 1px solid #0070c0;    /* 細い下線をタブ自身に */
  margin: 0;
}

/* 左端・右端タブの角丸 */
.post-type-archive-news .p-news-tab-list__tabs-item:first-child > a,
.tax-news_category      .p-news-tab-list__tabs-item:first-child > a {
  border-top-left-radius: 3px;
}
.post-type-archive-news .p-news-tab-list__tabs-item:last-child > a,
.tax-news_category      .p-news-tab-list__tabs-item:last-child > a {
  border-top-right-radius: 3px;
}

/* Hover（未選択のみ） */
.post-type-archive-news .p-news-tab-list__tabs-item:not(.is-active) > a,
.tax-news_category      .p-news-tab-list__tabs-item:not(.is-active) > a {
  background-color: #f9fbfe;
}

/* アクティブタブ */
.post-type-archive-news .p-news-tab-list__tabs-item.is-active > a,
.tax-news_category      .p-news-tab-list__tabs-item.is-active > a {
  background-color: #e5f1fb;
  color: #0070c0;
  border-color: #0070c0;
  border-bottom-width: 3px;           /* アクティブだけ下線を太く */
}

/* お知らせ（公開）アーカイブ／カテゴリ：タイトル下のカラーバーを表示 */
.post-type-archive-news .p-page-header::after,
.tax-news_category      .p-page-header::after {
  content: "";
  display: block;
  width: 160px;
  height: 3px;
  margin: 12px auto 0;
  border-radius: 999px;
  background: linear-gradient(to right, #0070c0, #59AE8D, #FABE00);
}


/* =========================================================
 * 2) EX研究会 お知らせアーカイブ (/ex-notice/)
 *    (post-type-archive-ex_notice ...)
 * =======================================================*/

/* パンくずを隠さず表示 */
.post-type-archive-ex_notice .p-breadcrumb {
  position: relative !important;
  z-index: 5 !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  margin: 6px 0 8px !important;
}

.post-type-archive-ex_notice .l-contents,
.post-type-archive-ex_notice .l-contents__inner {
  overflow: visible !important;
}

/* 見出し（中央揃え） */
.post-type-archive-notice .notice-archive__header, 
.post-type-archive-ex_notice .ex-notice-archive__header {
  margin: 10px 0 16px;
  text-align: center;
}

.post-type-archive-ex_notice .ex-notice-archive__title {
  font-size: 1.8rem;
  font-weight: 700;
  margin: 0;
}

.post-type-archive-ex_notice .ex-notice-archive__subtitle {
  margin: 4px 0 0;
  font-size: 1.0rem;
  color: #202020;
  font-weight:700;
}

/* 見出しの下にカラーバー */
.post-type-archive-ex_notice .ex-notice-archive__header::after {
  content: "";
  display: block;
  width: 160px;
  height: 3px;
  margin: 12px auto 0;
  border-radius: 999px;
  background: linear-gradient(to right, #0070c0, #59AE8D, #FABE00);
}

/* ▼ タブ全体のベース */
.post-type-archive-ex_notice .ex-notice-archive__tabs { 
  display: flex;
  margin: 32px 0 24px;
  border-bottom: 2px solid #0070c0; /* 下にだけ太めの青ライン */
}

/* ▼ タブ（未選択） */
.post-type-archive-ex_notice .ex-tabs__item,
.post-type-archive-news .p-news-tab-list__tabs-item.is-active > a {
  flex: 1 1 0;
  text-align: center;
  padding: 10px 0;
  font-weight: 700;
  font-size: 0.95rem;
  text-decoration: none;
  color: #0070c0;
  background-color: #ffffff;       /* 背景は白 */
  border: 1px solid #0070c0;       /* 薄い罫線でタブを囲む */
  /* border-left: none; */
  border-bottom: none;             /* 下側はベースのラインに任せる */
  box-sizing: border-box;
}

/* 左端・右端の角を少し丸める */
.post-type-archive-ex_notice .ex-tabs__item:first-child {
  border-top-left-radius: 3px;
  border-left-color: #0070c0;
}
.post-type-archive-ex_notice .ex-tabs__item:last-child {
  border-top-right-radius: 3px;
  border-right-color: #0070c0;
}

/* Hover 時にほんの少しだけ背景をトーンアップ */
.post-type-archive-ex_notice .ex-tabs__item:not(.is-active):hover {
  background-color: #f9fbfe;
}

/* ▼ アクティブなタブ（選択中） */
.post-type-archive-ex_notice .ex-tabs__item.is-active,
.post-type-archive-edu_notice .ex-tabs__item.is-active,
.post-type-archive-news .p-news-tab-list__tabs-item.is-active > a {
  background-color: #e5f1fb;
  color: #0070c0;
  border-color: #c5dbf4;     
  border-bottom: 3px solid #0070c0;
}


/* =====================================================
 * 教育お知らせアーカイブ ＋ カテゴリアーカイブ
 *  - /edu-notice/
 *  - /edu_notice_kind/...
 * ===================================================== */

/* 見出しブロック：位置調整 */
.post-type-archive-edu_notice .l-page-header,
.tax-edu_notice_kind         .l-page-header {
  margin: 10px 0 16px;
  border-top: none !important;
}

/* タイトル帯：背景色と box-shadow を消す＋中央揃え */
.post-type-archive-edu_notice .l-page-header .p-page-header,
.tax-edu_notice_kind         .l-page-header .p-page-header {
  background: none !important;
  box-shadow: none !important;
  text-align: center;
}

/* 日本語タイトル */
.post-type-archive-edu_notice .p-page-header__title,
.tax-edu_notice_kind         .p-page-header__title {
  font-size: 1.8rem;
  font-weight: 700;
  margin: 0;
}

/* 英字サブタイトル */
.post-type-archive-edu_notice .p-page-header__sub,
.tax-edu_notice_kind         .p-page-header__sub {
  margin: 4px 0 0;
  font-size: 1.0rem;
  color: #202020;
  font-weight: 700;
}

/* タイトル下のカラーバー（news / EX と同じグラデ） */
.post-type-archive-edu_notice .p-page-header::after,
.tax-edu_notice_kind         .p-page-header::after {
  content: "";
  display: block;
  width: 160px;
  height: 3px;
  margin: 12px auto 0;
  border-radius: 999px;
  background: linear-gradient(to right, #0070c0, #59AE8D, #FABE00);
}

/* パンくずの線を消す（教育お知らせだけ） */
.post-type-archive-edu_notice .p-breadcrumb,
.tax-edu_notice_kind         .p-breadcrumb {
  border-top: none !important;
  border-bottom: none !important;
}

/* リストとの間隔を少しだけ詰める */
.post-type-archive-edu_notice .edu-notice-archive,
.tax-edu_notice_kind         .edu-notice-archive {
  margin-top: 8px !important;
}

/* =========================================================
 *  教育 お知らせアーカイブ (/edu-notice/)
 *   - タブデザインは EX研究会と共通
 *   - タブは「お知らせ一覧」1つのみ
 * =======================================================*/

/* ▼ タブ全体のベース（教育） */
.post-type-archive-edu_notice .ex-notice-archive__tabs {
  display: flex;
  margin: 32px 0 24px;
  border-bottom: 2px solid #e5f1fb /* #0070c0 */;
  justify-content: flex-start; /* 左寄せ（将来3つ並べる前提） */
}

/* ▼ タブ（未選択） */
.post-type-archive-edu_notice .ex-tabs__item {
  flex: 0 0 33.333%;          /* ★ 横幅を全体の 1/3 に固定 */
  max-width: 33.333%;
  text-align: center;
  padding: 10px 0;
  font-weight: 700;
  font-size: 0.95rem;
  text-decoration: none;
  color: #0070c0;
  background-color: #ffffff;
  border: 1px solid #0070c0;
  border-bottom: none;
  box-sizing: border-box;
}

/* 左端・右端の角を少し丸める */
.post-type-archive-edu_notice .ex-tabs__item:first-child {
  border-top-left-radius: 3px;
  border-left-color: #0070c0;
}
.post-type-archive-edu_notice .ex-tabs__item:last-child {
  border-top-right-radius: 3px;
  border-right-color: #0070c0;
}

/* Hover */
.post-type-archive-edu_notice .ex-tabs__item:not(.is-active):hover {
  background-color: #f9fbfe;
}

/* 参画教員：肩書きの行間を少しだけ詰める調整 */

/* 参画教員：肩書きの行間をタイトにする調整一式 */
.member-card__body {
  /* カード内の縦方向のスキマを少しだけにする */
  row-gap: 1px !important;
}

/* 肩書き1行目と2行目以降の間を詰める */
.member-card__position-main {
  margin-bottom: 0 !important;
}

/* 2行目以降（ul 全体）の上下マージンをゼロに */
.member-card__positions-sub {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: 0;
  list-style: none;
}

/* 各行（li）の行間をきっちり詰める */
.member-card__positions-sub li {
  margin: 0 !important;
  line-height: 1.25;
}

/* 念のため：本文用の p-entry__body の指定より優先させる */
.p-entry__body .member-card__positions-sub li {
  line-height: 1.25 !important;
}


/* =========================================
 * 参画教員カード：スマホ版も写真＋テキストの横並びに
 *  - 写真は PC 版をそのまま縮小
 *  - 右側に名前・肩書き・研究内容を表示
 * =======================================*/
@media (max-width: 767px) {

  /* 縦積み指定を打ち消して、横並びに戻す */
  .member-card__inner {
    flex-direction: row !important;
    align-items: flex-start;
    padding: 10px 14px !important;
  }

  /* 写真：PC より一回り小さく（肩まで写る縦長を維持） */
  .member-card__thumb {
    flex: 0 0 110px !important;   /* ★ 幅だけ少し細く */
    max-width: 110px !important;
    height: auto !important;      /* 高さは画像に任せる */
    margin-right: 12px !important;
    margin-bottom: 0 !important;  /* 下の余白は不要 */
  }

  .member-card__thumb img {
    width: 100% !important;
    height: auto !important;
    object-fit: cover;            /* PC と同じく肩までトリミング */
  }

  /* テキスト側：スマホで読みやすいように、少しだけ余裕を持たせる */
  .member-card__body {
    row-gap: 3px !important;
  }

  .member-card__name {
    font-size: 1.3rem !important;
    line-height: 1.3;
  }

  .member-card__position-main {
    font-size: 1.0rem !important;
    margin-bottom: 2px !important;
  }

  .member-card__positions-sub {
    margin-top: 0 !important;
    margin-bottom: 2px !important;
  }

  .member-card__positions-sub li {
    line-height: 1.3 !important;
  }

  .member-card__summary {
    font-size: 0.95rem !important;
    line-height: 1.55 !important;
  }
}

/* 教育固定ページ  */
.page-id-education h4 {
position: relative;
  font-size: 1.3rem;
  font-weight: bold;
  padding-left: 32px;
  margin-top: 60px;
  margin-bottom: 16px;
}

/* PC：横一列で表示 */
.contact-line {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.5em;              /* テキストと画像の間隔 */
}

.contact-line__img {
  height: auto;
}

/* スマホ：上下2段に分ける */
@media (max-width: 767px) {
  .contact-line {
    flex-direction: column;        /* 上下に並べる */
    align-items: flex-start !important; /* 左寄せ（保険） */
    text-align: left !important;   /* 親の text-align:center を上書き */
    gap: 0.3em;
  }

  .contact-line__label,
  .contact-line__img {
    align-self: flex-start;        /* 各要素も左寄せに */
  }
}


.post-type-archive-ex_notice .ex-notice-filter{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:flex-end;
  margin: 10px 0 14px;
}
.post-type-archive-ex_notice .ex-notice-filter__label{
  font-weight:600;
}
.post-type-archive-ex_notice .ex-notice-filter__select{
  padding:6px 10px;
}
.post-type-archive-ex_notice .ex-notice-filter__btn{
  padding:6px 12px;
  font-weight:600;
}


/* Image credit  */
.credit {
  position: fixed;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);

  font-size: 0.7rem;
  opacity: 0.6;
  color: #f0f0f0;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  white-space: nowrap;
}

.credit a {
  color: inherit;
  text-decoration: none;
}

.credit a:hover {
  text-decoration: underline;
}



/* ==================================================
   403 Forbidden Page
   ================================================== */

.error-page.error-403 {
  position: relative;
  min-height: 105vh;
  background: url('../img/403-bg.jpg') center center / cover no-repeat;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 背景を少し落とすオーバーレイ */
.error-page.error-403::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
}

/* 中央テキスト */
.error-page.error-403 .overlay {
  position: relative;
  z-index: 1;
  text-align: center;
  color: #fff;
  max-width: 720px;
  padding: 2.5rem 2rem;
  background: rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(2px);
}

/* 見出し */
.error-page.error-403 h1 {
  font-size: 2.6rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  margin-bottom: 1.5rem;
}

/* 日本語メッセージ */
.error-page.error-403 p.jp {
  font-size: 1.05rem;
  line-height: 1.9;
  margin: 0.4rem 0;
}

/* クレジット表記 */
.error-page.error-403 .credit {
  position: absolute;
  left: 50%;
  bottom: 0.8rem;
  transform: translateX(-50%);
  z-index: 1;
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.65);
  text-align: center;
  white-space: nowrap;
}

.error-page.error-403 .credit a {
  color: rgba(255, 255, 255, 0.75);
  text-decoration: none;
}

.error-page.error-403 .credit a:hover {
  text-decoration: underline;
}

/* ------------------------------
   Responsive
   ------------------------------ */

@media (max-width: 768px) {
  .error-page.error-403 h1 {
    font-size: 2rem;
  }

  .error-page.error-403 .overlay {
    padding: 2rem 1.5rem;
  }

  .error-page.error-403 p.jp {
    font-size: 0.95rem;
  }
}


@media screen and (max-width: 375px) {
  .error-page.error-403 {
    min-height: 60vh;
  }
}

