@font-face {
  font-family: 'ZenMaruGothic';
  src: url('/assets/fonts/zen-maru-gothic/zenmaru-regular.woff2') format('woff2'),
       url('/assets/fonts/zen-maru-gothic/zenmaru-regular.ttf') format('truetype'); /* フォールバックとしてTTFも */
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}


@font-face {
  font-family: 'ZenMaruGothic';
  src: url('/assets/fonts/Zen-Maru-Gothic/ZenMaruGothic-Medium.woff2') format('woff2'),
       url('/assets/fonts/zen-maru-gothic/zenmaru--Medium.ttf') format('truetype'); /* フォールバックとしてTTFも */
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Quicksand';
  src: url('/assets/fonts/Quicksand/Quicksand_aa.woff2') format('woff2');
       /* url('/assets/fonts/Quicksand/ZenMaruGothic-Bold.ttf') format('truetype'); */
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

body {
  /* font-family: 'ZenMaruGothic', 'Hiragino Maru Gothic ProN', 'Yu Gothic', 'メイリオ', sans-serif !important; */
  font-family: 'Quicksand', 'Zen Maru Gothic', sans-serif !important;
}


/* ===== Research Page Only (scoped) ===== */
#research-page.rp-container{
  max-width:min(1100px,92vw);
  margin:0 auto;
  padding:28px 0 56px;
}

/* ページH2（知的でシンプル） */
#research-page .rp-h2{
  font-weight:800 !important;
  /* font-size:1.9rem; */
  letter-spacing:.02em;
  color:#1f2937;
  margin:2rem 0 1.25rem;
  padding-bottom:.55rem;
  border-bottom:2px solid #d9e2ec;
}

/* 年見出し（シンプル＆上品） */
#research-page .rp-year{
  font-weight:700;
  font-size:1.25rem;
  color:#334155;
  margin:2rem 0 .9rem;
  padding-bottom:.35rem;
  border-bottom:1px dashed #e2e8f0;
}

/* リスト */
#research-page .rp-list{
  display:grid;
  gap:14px;
  font-size: 1.1rem ; 
}

/* エントリーカード */
#research-page .rp-card{
  display:grid;
  grid-template-columns:128px 1fr;
  gap:18px;
  padding:18px;
  /* background:#fff; */
  /* border:1px solid #eef0f3; */
  border-radius:14px;
  box-shadow:0 1px 0 rgba(16,24,40,.02);
  background-color: #ffffff !important; /* 背景色を強制的に適用 */
  border: none !important; box-shadow: none !important; 

}

/* PDFアイコン */
#research-page .rp-icon img{
  width:112px; height:auto;
  display:block;
  filter: drop-shadow(0 1px 0 rgba(0,0,0,.04));
}

/* タイトル／メタ／タグ */
/* #research-page .rp-title{ margin:0 0 6px; font-size:1.5rem; font-weight:900 !important; } */
/* #research-page .rp-title a{ 
  color:#1f2937; text-decoration:underline; text-underline-offset:3px; 
  font-weight:900 !important;
} */
#research-page .rp-desc {
  margin: 6px 0 10px;
  font-weight:550 !important;
  font-size: 1.1rem;
  line-height: 1.55;
  color: #374151; /* 少し濃いグレー */
}
/* 改行を反映 */
#research-page .rp-desc {
  white-space: pre-line;
  /* お好みで：長い英数字の折返し対策 */
  overflow-wrap: anywhere;
}
/* 1) 研究タイトル色をこげ茶に */
#research-page .rp-title a{
  color:#327a63;
  text-decoration:none;
  font-weight:800 !important;
  font-size: 1.3em !important;
  transition: color 0.28s ease-in-out;
  /* text-underline-offset:3px; */
}
#research-page .rp-title a:hover,
#research-page .rp-title a:focus {
  color:#04ec74;                 /*色はそのまま
  /* text-decoration: underline;         ホバー・フォーカス時のみ下線 */
  /* text-underline-offset: 3px; */
  transition: color 0.28s ease-in-out;
}
#research-page .rp-meta{ 
  margin:2px 0 10px; color:#667085; 
  font-weight:550 !important;
  font-family:'Quicksand','ZenMaruGothic',system-ui,sans-serif !important;
  font-size:1.0rem; }


.rp-meta :lang(ja){
  font-family: 'ZenMaruGothic', 'Hiragino Maru Gothic ProN', 'Yu Gothic', sans-serif !important;
  /* font-weight:350;  お好みで */
}
/* 英語だけ Quicksand に切替（lang=en が付いた範囲） */
.rp-meta :lang(en){
  font-family:'Quicksand','ZenMaruGothic',system-ui,sans-serif !important;
  /* font-weight:350;  お好みで */
}

/* #research-page .rp-tags{ 
  display:flex; flex-wrap:wrap; 
  gap:.45rem; list-style:none; 
  padding:0; margin:0; }
#research-page .rp-tags li{
  font-size:.10rem !important; color:#344054;
  font-family: 'ZenMaruGothic', 'Hiragino Maru Gothic ProN', 'Yu Gothic', 'メイリオ', sans-serif !important;
  background:#f5f7fa; border:1px solid #e5e7eb;
  border-radius:999px; padding:.25rem .6rem;
} */
#research-page .rp-tags {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

#research-page .rp-tags li {
  font-size: clamp(10px, 2vw, 12px) !important; /* フォントサイズの範囲を設定 */
  color: #fff;
  font-family: 'ZenMaruGothic', 'Hiragino Maru Gothic ProN', 'Yu Gothic', 'メイリオ', sans-serif !important;
  background: #3c5344;
  /* border: 1px solid #b7d2c1; */
  border-radius: 999px;
  padding: .25rem .6rem;
}
/* === description内リンク専用スタイル === */
#research-page .rp-desc a {
  color: #327a63;                /* 落ち着いた青緑（例） */
  text-decoration: underline;    /* 下線を付ける */
  text-underline-offset: 3px;    /* 下線を少し離す */
  font-weight: 600;              /* 少し強調 */
  transition: color 0.25s ease;
}

#research-page .rp-desc a:hover,
#research-page .rp-desc a:focus {
  color: #04ec74;                /* ホバー時の明るい青緑 */
  text-decoration-color: #04ec74;
}


/* アーカイブ（折りたたみ） */
#research-page .rp-archive{
  margin-top:28px;
  /* border:1px solid #eef0f3; border-radius:12px; background:#fff; */
}
#research-page .rp-archive > summary{
  cursor:pointer; padding:14px 16px; font-weight:800;
  font-family: 'Quicksand', 'Zen Maru Gothic', sans-serif !important;
  display:flex; align-items:center; gap:.6rem; color:#2b3750;
  border-bottom:1px solid #f2f4f7;
  list-style:none;
}
#research-page .rp-archive > summary::-webkit-details-marker{ display:none; }
#research-page .rp-archive > summary::before{
  content:"▸"; display:inline-block; transform:translateY(-1px);
  transition:transform .15s ease;
}
#research-page .rp-archive[open] > summary::before{ transform:rotate(90deg); }

/* 年度ブロック内の背景帯 */
#research-page .rp-archive-year{
  background:#f8fbff;
  border-bottom:1px solid #edf2f7;
  padding:12px 16px;
  font-weight:700; color:#344054;
}

/* レスポンシブ */
@media (max-width: 640px){
  #research-page .rp-card{ grid-template-columns:86px 1fr; padding:10px; gap:14px; }
  #research-page .rp-icon img{ width:82px; }
  #research-page .rp-title{ font-size:1.5rem; }

}


/*#research-page .rp-title a:hover,
#research-page .rp-title a:focus{
  color:#412702;                 /* 色はそのまま */
  /* text-decoration-thickness:2px; 下線だけ少し強調（任意） */
  /* text-decoration-color:#412702; */
/* } */

/* 2) PC幅でコンテンツ幅を少し絞って左右余白を広げる */
@media (min-width: 1024px){
  #research-page.rp-container{
    max-width: 960px;    /* 既存は 1100px → 少し細く */
  }
}
/* さらに超ワイド画面では気持ち左右に余白（任意） */
@media (min-width: 1280px){
  #research-page.rp-container{
    padding-left: 24px;
    padding-right: 24px;
  }
}
/* ===== PDF Modal Viewer ===== */
/*.pdf-modal[hidden]{ display:none !important; }
.pdf-modal{
  position: fixed; inset: 0; z-index: 9999;
}
.pdf-modal .pdf-backdrop{
  position:absolute; inset:0; background: rgba(0,0,0,.5);
}
.pdf-modal .pdf-dialog{
  position:absolute; inset:5vh 4vw;
  background:#111; border-radius:12px; box-shadow:0 8px 32px rgba(0,0,0,.35);
  display:flex; flex-direction:column; gap:10px; padding:12px;
}
.pdf-modal .pdf-close{
  align-self:flex-end;
  background:rgba(255,255,255,.15); color:#fff; border:0;
  width:36px; height:36px; border-radius:999px; font-size:20px; line-height:36px;
  cursor:pointer;
}
.pdf-modal iframe{
  flex:1 1 auto; width:100%;
  border:0; background:#fff; border-radius:8px;
}
.pdf-modal .pdf-fallback{
  margin:0; color:#fff; font-size:.9rem;
}
.pdf-modal .pdf-fallback a{ color:#fff; text-decoration:underline; }

/* 小さめ端末 */
/*@media (max-width: 640px){ 
  .pdf-modal .pdf-dialog{ inset:6vh 2vw; padding:10px; }
} */
/* 既存 .site-footer を上書きしやすく */
.site-footer.custom-footer{
  position: relative;
  /* background-image: url('/assets/img/footer-bg.png'); */
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-color: transparent;
  height: 500px;

  /* color: #333;
  font-size: 0.9rem; */
  text-align: left;

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 20px 40px;
}
.site-footer.custom-footer p{
  margin: 0 0 5px 0;
  text-align: left;
}


.custom-footer small {
  margin: 0;
  text-align: left;
}

body {
  /* background-color: #a9c5bc  !important; 背景色を設定 */
   background-image: url('/assets/img/body_back_b.png') !important;

  /* ヘッダー分だけ下に余白を作り、背景が下から始まるように見せる */
  /* padding-top: 1000px; ← ヘッダーの高さに合わせて調整（例：900px〜1000px） */


  background-repeat: no-repeat !important;
  background-position: center top !important;

  /* 模様を全体に見せたい＝縮小したい場合は 900px 等の数値指定が安全 */
  background-size: 1500px auto !important;

  /* Safariの描画崩れ回避：fixedは使わない */
  background-attachment: scroll !important;

  /* フォールバック色 */
  background-color: #dff5ed !important;
}

main {
  background-color: #ffffff !important; /* 背景色を強制的に適用 */
  margin-top: 50px  !important; /* ヘッダーとの間隔を空ける */
  margin-bottom: 50px  !important; /* フッターとの間隔を空ける */
  padding: 70px !important;      /* 内側の余白を調整（お好みで調整） */
  
}

.about-grid{
  position: relative;  /* ★ 絶対配置の基準にする */
  border-top: none;    /* 元の全幅ボーダーは消す */

  /* 上のプロフィールとの距離（線ごと動く） */
  padding-top: clamp(64px, 10vw, 140px);

  /* 線からボタンまでの余白 */
  padding-bottom: clamp(24px, 4vw, 40px);
}

/* 中央に短い線（グリッドに参加させない） */
.about-grid::before{
  content: "";
  position: absolute;          /* ★ これがポイント */
  top: 0;                      /* about-grid の一番上 */
  left: 50%;
  transform: translateX(-50%); /* 中央寄せ */

  width: min(800px, 80%);      /* ← 線の横幅 */
  height: 1px;
  background-color: #aab8b4;
}


@media (max-width: 640px) {
.site-footer.custom-footer{
  position: relative;
  /* background-image: url('/assets/img/footer-bg.png'); */
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-color: transparent;
  height: 500px;

  /* color: #333;
  font-size: 0.9rem; */
  text-align: left;

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 20px 40px;
}
.site-footer.custom-footer p{
  margin: 0 0 5px 0;
  text-align: left;
}
main {
  background-color: #ffffff !important;  /* 背景色を強制的に適用*/
  margin-top: 50px  !important;  /* ヘッダーとの間隔を空ける */
  margin-bottom: 50px  !important; /* フ ッターとの間隔を空ける*/
  padding: 10px 20px !important;      /*内側の余白を調整（お好みで調整） */
 }
}
/* モバイル版でアイコンを各項目の一番上に縦並びに表示 */
@media (max-width: 768px) {
  /* アイコンの縦並び */
  #research-page .rp-card {
    display: flex;
    flex-direction: column;  /* 縦並びに配置 */
    gap: 10px; /* アイコンとタイトル・説明の間に少し余白を追加 */
  }

  /* PDFアイコン */
  #research-page .rp-icon {
    order: -1; /* アイコンを上に表示 */
  }

  #research-page .rp-icon img {
    width: 80px;  /* アイコンサイズを調整 */
    margin-bottom: 10px; /* アイコンとタイトルの間に少しスペース */
  }

  /* タイトルと説明のレイアウト調整 */
  #research-page .rp-title {
    font-size: 1.2rem;  /* タイトルの文字サイズ調整 */
    margin-top: 0;
  }

  #research-page .rp-desc {
    font-size: 1.1rem;    /* 説明文の文字サイズを調整 */
    line-height: 1.5;   /* 行間を広げて可読性を向上 */
  }
}
.pdf-modal[hidden]{ display:none !important; }
.pdf-modal{
  position: fixed; inset: 0; z-index: 9999;
}
.pdf-modal .pdf-backdrop{
  position:absolute; inset:0; background: rgba(0,0,0,.5);
}
.pdf-modal .pdf-dialog{
  position:absolute; inset:5vh 4vw;
  background:#111; border-radius:12px; box-shadow:0 8px 32px rgba(0,0,0,.35);
  display:flex; flex-direction:column; gap:10px; padding:12px;
}
.pdf-modal .pdf-close{
  align-self:flex-end;
  background:rgba(255,255,255,.15); color:#fff; border:0;
  width:36px; height:36px; border-radius:999px; font-size:20px; line-height:36px;
  cursor:pointer;
}
.pdf-modal iframe{
  flex:1 1 auto; width:100%;
  border:0; background:#fff; border-radius:8px;
}
.pdf-modal .pdf-fallback{
  margin:0; color:#fff; font-size:.9rem;
}
.pdf-modal .pdf-fallback a{ color:#fff; text-decoration:underline; }

@media (max-width: 640px){
  .pdf-modal .pdf-dialog{ inset:6vh 2vw; padding:10px; }
}

