:root {
  --theme: #b7193f;
  --accent: #7D0207;
  --ink: #333333;
  --muted: #8a9298;
  --line: #cfd5d9;
  --bg: #ffffff;
  --bg-soft: #f7f7f8;
}

.post-date{
display: block;
}

/* =========================================================
   Meijo Univ. Vehicle Engine Lab - Members Page Styles
   Theme: Twenty Twelve (Child)
   Scope: .entry-content .lab-members
   ========================================================= */

/* === 基本スコープ＆ガード === */
.entry-content .lab-members{
  /* 配色変数 */
  --theme: #b7193f;   /* メイン赤 */
  --accent: #7D0207;
  --ink: #333333;     /* 本文 */
  --muted: #8a9298;   /* 補助テキスト */
  --line: #cfd5d9;    /* 罫線グレー */
  --bg: #ffffff;
  --bg-soft: #f7f7f8;

  /* 固定ヘッダー用のアンカー余白（必要なら数値だけ調整） */
  --anchor-offset: 96px;

  color: var(--ink);
  background: var(--bg);
  line-height: 1.85;
  letter-spacing: normal;
  position: relative;
  isolation: isolate;
  contain: layout paint;
  overflow-wrap: anywhere;
  padding: clamp(12px, 3vw, 24px);
}
.entry-content .lab-members > *{
  max-width: 1040px;
  margin-inline: auto;
}

/* Twenty Twelve の既定スタイル緩和 */
.entry-content .lab-members p{
  margin: 0.6em 0 !important;
  max-width: none;
}
.entry-content .lab-members :where(h1,h2,h3,h4,h5,h6){
  margin: 0 0 .6em;
  line-height: 1.3;
  letter-spacing: .02em;
}
.entry-content .lab-members :where(ul,ol){
  margin: 0.6em 0;
  padding-left: 1.2em;
}

/* 画像・埋め込みはみ出し防止＆親テーマ装飾の中和 */
.entry-content .lab-members img,
.entry-content .lab-members svg,
.entry-content .lab-members video,
.entry-content .lab-members iframe{
  max-width: 100%;
  height: auto;
  display: block;
  box-shadow: none !important;
  border: none !important;
}
.entry-content .lab-members .wp-caption,
.entry-content .lab-members .alignleft,
.entry-content .lab-members .alignright,
.entry-content .lab-members .aligncenter{
  float: none;
  margin: 0;
  text-align: left;
}

/* === wpautop 対策（<p> で包まれたセクションを「透明化」） === */
.entry-content > p:has(> section.lab-members){
  display: contents;
  margin: 0; padding: 0; border: 0;
}
.entry-content .lab-members > p:has(> section),
.entry-content .lab-members > p:has(> div.lab-members__header){
  display: contents;
  margin: 0; padding: 0; border: 0;
}

/* <p> を挟まれても幅ガードが効くように */
.entry-content .lab-members > *,
.entry-content .lab-members > p > *{
  max-width: 1040px;
  margin-inline: auto;
  overflow: visible;
}

/* ページ内ナビの <br> は非表示（横並び維持） */
.entry-content .lab-members .lab-inpage br{ display: none; }

/* 古い float 影響を切る */
.entry-content .lab-members::after{
  content:"";
  display:block;
  clear:both;
}

/* === 見出し（紺→グレーの傍線） === */
.entry-content .lab-members .lab-headline{
  font-size: clamp(28px, 3.2vw, 40px);
  font-weight: 700;
  color: #000;
  position: relative;
  padding-bottom: .4em;
  scroll-margin-top: var(--anchor-offset);
}
.entry-content .lab-members .lab-headline::after{
  content:"";
  position:absolute;
  left:0; bottom:0;
  width: min(320px, 40%);
  height: 4px;
  background: linear-gradient(90deg, var(--accent) 0 60%, var(--line) 60% 100%);
  border-radius: 3px;
}

.entry-content .lab-members .lab-title{
  font-size: clamp(20px, 2.2vw, 26px);
  font-weight: 700;
  color: var(--ink);
  padding-bottom: .45em;
  position: relative;
  scroll-margin-top: var(--anchor-offset);
}
.entry-content .lab-members .lab-title::after{
  content:"";
  position:absolute;
  left:0; bottom:0;
  height: 3px;
  width: min(260px, 34%);
  background: linear-gradient(90deg, var(--accent) 0 55%, var(--line) 55% 100%);
  border-radius: 2px;
}

/* === ページ内ナビ（headerタグは使わない） === */
.entry-content .lab-members .lab-members__header{ margin-bottom: clamp(14px, 3vw, 22px); }
.entry-content .lab-members .lab-inpage{
  display: flex;
  gap: .8rem 1.2rem;
  flex-wrap: wrap;
  margin-top: .8rem;
}
.entry-content .lab-members .lab-inpage a{
  display:inline-block;
  padding:.35rem .7rem;
  border:1px solid var(--line);
  border-radius:999px;
  font-size:.92rem;
  background:#fff;
  color: var(--accent);
  text-decoration:none;
  position:relative;
  transition: transform .15s ease, background .2s ease;
  /* 下線は出さない（本文リンクとは別挙動） */
  border-bottom: none;
}
.entry-content .lab-members .lab-inpage a:hover{
  transform: translateY(-1px);
  background:#f2f6f9;
  border-bottom: none;
}

/* === セクション === */
.entry-content .lab-members .lab-section{
  margin-top: clamp(32px, 5vw, 56px);
}
/* アンカーで飛んだときのずれ防止（IDを持つセクション） */
.entry-content .lab-members .lab-section[id]{
  scroll-margin-top: var(--anchor-offset);
}

/* === カード（教員・進路） === */
.entry-content .lab-members .lab-card{
  border:1px solid var(--line);
  border-radius:12px;
  background: var(--bg-soft);
  padding: clamp(14px, 2vw, 20px) clamp(16px, 2.4vw, 24px);
  margin-top:14px;
}
.entry-content .lab-members .lab-card--plain{ background:#fff; }

.entry-content .lab-members .lab-card__name{
  font-size: clamp(18px, 2vw, 22px);
  margin: 0 0 .4em;
}
.entry-content .lab-members .lab-card__strong{
  color: var(--ink);
  font-weight: 700;
}
.entry-content .lab-members .lab-card__degree{
  color: var(--theme);
  font-weight: 600;
  margin-left: .6em;
  font-size: .95em;
}
.entry-content .lab-members .lab-card__links{ margin:.2em 0 0; }
.entry-content .lab-members .lab-link--chip{
  display:inline-block;
  padding:.3rem .7rem;
  border:1px solid var(--accent);
  border-radius:999px;
  font-size:.92rem;
  background:#fff;
  color: var(--accent);
  text-decoration:none;
  transition: background .2s ease;
  /* 下線は出さない（本文リンクとは別挙動） */
  border-bottom: none;
}
.entry-content .lab-members .lab-link--chip:hover{ background:#f2f6f9; border-bottom: none; }

/* === ブロック／小見出し === */
.entry-content .lab-members .lab-block{ margin-top:18px; }
.entry-content .lab-members .lab-subtitle{
  font-size: clamp(16px, 1.8vw, 20px);
  font-weight:700;
  margin: 18px 0 8px;
  padding-left:.75em;
  border-left: 6px solid transparent;
  border-image: linear-gradient(180deg, var(--accent) 0 65%, var(--line) 65% 100%) 1 100%;
}

/* 年次ラベル */
.entry-content .lab-members .lab-year{ margin-top:10px; }
.entry-content .lab-members .lab-year__title{
  display:inline-block;
  font-weight:700;
  color: var(--muted);
  font-size:.98rem;
  letter-spacing:.06em;
  margin:0 0 6px;
  padding:.2rem .6rem;
  border:1px dashed var(--line);
  border-radius:6px;
  background:#fff;
}

/* === 名簿リスト === */
.entry-content .lab-members .lab-list{
  list-style:none;
  padding:0; margin:0;
  display:grid;
  gap: 6px 14px;
}
.entry-content .lab-members .lab-list li{
  position:relative;
  padding-left: 1.1em;
}
.entry-content .lab-members .lab-list li::before{
  content:"";
  position:absolute;
  left:0; top:.6em;
  width:.5em; height:.5em;
  border-radius:50%;
  background: radial-gradient(circle at 30% 30%, var(--theme), var(--accent));
  box-shadow: 0 0 0 2px #fff inset;
}

/* 学部4年はカード状に横並び */
.entry-content .lab-members .lab-list--grid{
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 6px 14px;
}

/* === 進路タグ === */
.entry-content .lab-members .lab-careers{
  display:grid;
  gap:16px;
  grid-template-columns: 1fr;
}
@media (min-width: 720px){
  .entry-content .lab-members .lab-careers{
    grid-template-columns: 1fr 1fr;
  }
}
.entry-content .lab-members .lab-tags{
  list-style:none;
  padding:0; margin:6px 0 0;
  display:flex; flex-wrap:wrap; gap:8px;
}
.entry-content .lab-members .lab-tags li{
  font-size:.95rem;
  padding:.25rem .6rem;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  white-space:nowrap;
}

/* === リンク演出（本文リンクのみ：ホバーでグレー点線） === */
.entry-content .lab-members a{
  color: var(--accent);
  text-decoration: none;
  border-bottom: 1px solid transparent; /* 平常時：下線なし */
  position: relative;
}
/* まずは他所の ::after 下線を完全に無効化 */
.entry-content .lab-members a::after{
  content: none !important;
}
.entry-content .lab-members a:hover{
  border-bottom: 1px dotted var(--line); /* ホバー時：グレー点線 */
}

/* ボタン風リンクやページ内ナビは下線を一切出さない */
.entry-content .lab-members .lab-inpage a,
.entry-content .lab-members .lab-inpage a:hover,
.entry-content .lab-members .lab-link--chip,
.entry-content .lab-members .lab-link--chip:hover{
  border-bottom: none !important;
  text-decoration: none !important;
}

/* === 動きを控えめに（環境設定に追従） === */
@media (prefers-reduced-motion: reduce){
  .entry-content .lab-members .lab-inpage a{
    transition: none;
  }
}

/* === 印刷時は装飾を簡略化 === */
@media print{
  .entry-content .lab-members .lab-inpage{ display:none; }
  .entry-content .lab-members .lab-headline::after,
  .entry-content .lab-members .lab-title::after{ background:#000 !important; }
  .entry-content .lab-members a::after{ display:none !important; }
}


/* =========================================================
   Meijo Univ. Vehicle Engine Lab - Research Page Styles
   Theme: Twenty Twelve (Child)
   Scope: .entry-content .lab-research
   ========================================================= */

.entry-content .lab-research {
  color: var(--ink);
  background: var(--bg);
  line-height: 1.85;
  letter-spacing: normal;
  position: relative;
  isolation: isolate;
  contain: layout paint;
  overflow-wrap: anywhere;
  padding: clamp(12px, 3vw, 24px);
}
.entry-content .lab-research > * {
  max-width: 1040px;
  margin-inline: auto;
}

/* --- ページヘッダー --- */
.entry-content .lab-research__header {
  margin-bottom: clamp(14px, 3vw, 22px);
}

/* --- 大見出し（h2相当） --- */
.entry-content .lab-research__title {
  font-size: clamp(22px, 2.6vw, 28px);
  font-weight: 700;
  color: var(--accent);
  margin-top: clamp(36px, 5vw, 56px);
  margin-bottom: 0.6em;
  padding-bottom: .3em;
  border-bottom: 3px solid transparent;
  border-image: linear-gradient(90deg, var(--accent) 0 60%, var(--line) 60% 100%) 1;
  scroll-margin-top: var(--anchor-offset);
}

/* --- 小見出し（h3相当） --- */
.entry-content .lab-research__subtitle {
  font-size: clamp(17px, 2.2vw, 21px);
  font-weight: 600;
  color: var(--theme);
  margin: 1.2em 0 0.3em;
  position: relative;
  padding-left: 0.8em;
}
.entry-content .lab-research__subtitle::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, var(--theme), var(--accent));
}

/* --- 各研究ブロック --- */
.entry-content .lab-research__block {
  margin-top: clamp(32px, 5vw, 48px);
}
.entry-content .lab-research__body p {
  margin: 0.5em 0 1.2em;
  font-size: 1rem;
}

/* --- リンク（本文リンク） --- */
.entry-content .lab-research a {
  color: var(--accent);
  text-decoration: none;
  border-bottom: 1px solid transparent;
}
.entry-content .lab-research a:hover {
  border-bottom: 1px dotted var(--line); /* ホバー時：グレー点線下線 */
}

/* --- ページ内ナビやボタンが将来入っても干渉しないように --- */
.entry-content .lab-research button,
.entry-content .lab-research .lab-link--chip,
.entry-content .lab-research .lab-inpage a {
  border-bottom: none !important;
}

/* --- 印刷時はシンプルに --- */
@media print {
  .entry-content .lab-research a {
    border-bottom: none;
  }
  .entry-content .lab-research__title {
    border: none;
  }
}

/* --- 小見出し（h3相当） 修正版 --- */
.entry-content .lab-research__subtitle {
  font-size: clamp(17px, 2.2vw, 21px);
  font-weight: 600;
  color: var(--theme);
  margin: 1.2em 0 0.3em;
  padding-left: 1.1em;          /* 左余白を少し広げる */
  position: relative;           /* ← 疑似要素の基準を確保 */
  line-height: 1.4;
}

.entry-content .lab-research__subtitle::before {
  content: "";
  position: absolute;
  left: 0;                      /* 見出しテキストの左端 */
  top: 50%;                     /* 行の中央 */
  transform: translateY(-50%);  /* 完全中央寄せ */
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, var(--theme), var(--accent));
}
