

/* ==================================================
   Base Styles
================================================== */

 body
 {    
  background-color: #f8f9fa; /* Bootstrapの light gray */
  display: flex;
  flex-direction: column;
  min-height: 100vh; /* フッターを最下部に固定するため */
  /* === 背景画像設定 (custom.css に追加) === */
  position: relative;   /* 疑似要素の基準点とする */
  z-index: 0;              /* コンテンツが疑似要素より手前に来るように念のため設定 */
   /* 既存の background-color は削除またはコメントアウトしても良いですが、
   画像読み込み失敗時の色や、透過部分の色として残してもOK */
    /* background-color: #ffffff; */
}

body::before 
{
  content: "";                    /* 疑似要素には必須 */
  position: fixed;         /* 画面に固定 */   /* または position: absolute; でbody全体に広げる */
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;               /* コンテンツの後ろに配置 */
  /* 背景画像の設定 */
  /*background-image: url('../img/img3.jpg'); /* ★画像のパスを指定してください */
 /* background-size: cover; /* 画面全体を覆うように調整 */
 /* background-position: center center; /* 画像の中央を表示 */
    /* background-repeat: no-repeat; /* 繰り返し表示しない */
  /*background-attachment: fixed; /* スクロールしても背景を固定 */
  /*opacity: 0.5; /* ★この値を 0.1 ～ 0.3 程度で調整 */  /* 透明度の設定 (0.1 = 10% から調整してください) */
  background-color: #f8f9fa; /* 単色の背景を指定 (より明るい色や白でも良い) */
  display: flex;
  flex-direction: column;
  min-height: 100vh;

}

a {
  color: #0056b3; /* 落ち着いた青 */
  text-decoration: none; /* 下線なし */
  /*color: #0D47A1; /* Material Design Blue 900 */
  transition: color 0.2s ease-in-out; /* ホバー時の色変化を滑らかに */
}
a:hover {
  color: #003d80; /* ホバー時もう少し濃い青 */
  text-decoration: underline; /* ホバー時下線表示 */
}

/* hr (区切り線) */
hr {
  border-top: 1px solid #e0e7f1;
  width: 80%; /* 幅を少し狭く */
  margin-left: auto;
  margin-right: auto; /* 中央揃え */
  margin-top: 2rem;
  margin-bottom: 2rem;  /*border-top: 1px solid #dee2e6; /* 区切り線の色を薄く */
}

/*====================================
Layout（レイアウト、コンテナ幅など/*
===================================*/

@media (min-width: 576/*540*/px) {
  .container, .container-sm {
    max-width: 576/*540*/px;
  }
}
@media (min-width: 768/*750*/px) {
  .container, .container-md, .container-sm {
    max-width: 768/*750*/px;
  }
}
@media (min-width: 860/*992*/px) {
  .container, .container-lg, .container-md, .container-sm {
    /* max-width: 960px; */ /* デフォルト */
    /* max-width: 900px; */ /* 以前の狭い設定 */
    max-width: 900/*860*/px; /* ★さらに狭くする場合の例 */
  }
}
@media (min-width: 1200px) { /* xl (extra large) breakpoint and up */
  .container,
  .container-xl,
  .container-lg,
  .container-md,
  .container-sm {
    max-width: 1100/*920*/px; /* 例: 1140px (Bootstrapデフォルト) -> 920px に変更 */
                    /* 上の 860px よりは少し広くしつつ、デフォルトより狭く */
  }
}

@media (min-width: 1400px) { /* xxl (extra extra large) breakpoint and up */
  .container,
  .container-xxl,
  .container-xl,
  .container-lg,
  .container-md,
  .container-sm {
    max-width: 1100px; /* 例: 1320px (Bootstrapデフォルト) -> 980px に変更 */
                    /* さらに大きな画面でも広がりすぎないように */
  }
}

/*====================================
Typography （タイポグラフィ、見出し、本文フォントなど
===================================*/

/* 見出しフォント (上品なセリフ体を追加) */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Lora', 'Noto Serif JP', serif; /* 例: Google Fonts の Lora や Noto Serif JP */
  font-weight: 700;/*500; /* 少し細めのウェイト */
  letter-spacing: 0.02em; /* 文字間隔をわずかに広げる */
  /* color:#1A2A4D; /* より深みのある紺色 */
   color:  #013a7d;/*#253d94; /*#245ad1*//*#213A5C;*/ /* 濃い青 (見出し用) */
  margin-bottom: 1rem; /* 見出し下の余白 */
}

/*個別の見出しサイズ　（bodyのfont-sizeに対する相対指定）*/
 
h1 { font-size: 2.2/*2*/rem; } 
h2 { font-size: 1.8/*1.6*/rem; } 
h3 { font-size: 1.5/*1.4*/rem; }
h4 { font-size: 1.25rem; }/*サイドバーのh4との兼ね合い*/
h5 { font-size: 1.1rem; }
h6 { font-size: 1rem; }

/* 強調された下線 */
.text-underline-blue {
    border-bottom: 2px solid #A0B4D1; /* 色を調整 */
    padding-bottom: 0.1em;
    display: inline-block;
}

/*====================================
Heder（ヘッダー、hero section, .header-infoなど）
===================================*/
/* ヘッダー (Navbar) */
   header .navbar {
       background-color: #1A2A4D !important; /* 濃い青に変更 (重要度を上げるため !important を使う場合あり) */
       box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15); /* 影を少しはっきり */
       z-index: 1020; 
}

.header-info {
        color: #ffffff; /* ヘッダー情報の文字色を白に */
        background-color: #213A5C; /* 濃い青背景 */
        padding: 1rem 0;
        margin-bottom: 2rem;
}
.header-info hr {
        border-top: 1px solid rgba(255, 255, 255, 0.3); /* 区切り線を半透明白に */
}

/*ヒーローセクションのスタイル（index,htmlのhero-sectionなど*/
.hero-section {
    background: linear-gradient(to bottom, rgba(26, 42, 77, 0.1), rgba(255, 255, 255, 0.1)), #f0f4f8;
    padding: 4rem 1rem;
    margin-bottom: 3rem;
    text-align: center;
}
.hero-section img {
    max-height: 280px;
    box-shadow: 0 .5rem 1.5rem rgba(0,0,0,.15)!important;
}
.hero-section h1 { /* ヒーローセクション内のh1は特にスタイルが異なる場合 */
    color: #1A2A4D;
    margin-top: 1.5rem;
    margin-bottom: 0.5rem;
    font-weight: 700;
    font-size: 2.8rem; /* 例: ページタイトルよりさらに大きく */
    border-bottom: none; /* ページタイトルとは異なるスタイル */
}
.hero-section .lead {
    color: #34568B;
    margin-bottom: 0;
}

/* ==================================================
   Navigation (ナビゲーション - Navbar内部、ドロップダウン)
================================================== */
.navbar-brand img {
    max-height: 50px;
    width: auto;
}
.navbar-light .navbar-nav .nav-link {
  color: rgba(255, 255, 255, 0.8); /* やや薄い白 */
  /*color: rgba(0, 0, 0, 0.65); /* 通常のリンク色 */
}

.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link:focus {
  color: #ffffff; /* ホバー/フォーカスで白 */
  /*color: rgba(0, 0, 0, 0.8);*/
}
.navbar-light .navbar-nav .nav-link.active
.navbar-light .navbar-nav .show > .nav-link {
  color: #0056b3; /* アクティブなリンクの色を基調の青に */
  /*font-weight: 500; *//* 少し太字に */
  /*color: #ffffff; /* アクティブも白 */
  /*color: #0D47A1; /* アクティブリンクの色を統一 */
  font-weight: bold; /* アクティブを太字で強調 */
  border-bottom: 2px solid #A0B4D1; /* アクティブ項目に下線を追加 */
  padding-bottom: 0.5rem; /* 下線とのスペース */
}
.navbar-toggler {
    border-color: rgba(255,255,255,0.2); /* トグルボタンの枠線 */
}
.navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.8%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); /* アイコンの色を白系に */
}
/* もしNavbarに .navbar-dark を使用している場合は、セレクタを .navbar-dark に変更 */

/* Dropdown Menu */
.dropdown-menu {
    border: 2px solid #0056b3; /* 枠線の色を少し濃く */
    background-color: #edf3fa;/*#ffffff;*/
    box-shadow: 0.2rem 0.4rem rgba(0,0,0,.1); /* 影を少し付ける */
    position: absolute; /* position指定がないとz-indexが効かない場合がある */
    z-index: 1040;   /* Navbarより手前に */
	border-radius: 0.375rem; /* 角丸をつける */
}
/* ドロップダウンアイテムのスタイルは変更なし... */
.dropdown-item {
    color: #333;
}
.dropdown-item:hover {
    background-color: #e9ecef; /* ホバー背景色 */
    color: #1A2A4D;
}

.dropdown-item.active, .dropdown-item:active {
	background-color: #0D47A1; /* ドロップダウンのアクティブ色 (少し明るい青) */
    color: #fff;
}

/* Main Content */
main {
  flex-grow: 1; /* フッターを最下部に固定するため */
  background-color: rgba(255, 255, 255, 0.9); /* 半透明の白背景 (少し透けさせる場合) */
  padding: 2rem;  /* 上下左右のパディング */
  border-radius: 0.375rem; 
}
/* メインコンテンツのタイトル (h1) */
main h1 {
  font-size: 2.5rem; /* サイズを大きく */
  font-weight: 700; /* 太字 */
  color: #1A2A4D; /* 濃い青 */
  border-bottom: 4px solid #0D47A1; /* 太めの線 */
  padding-bottom: 0.8rem;
  margin-bottom: 2.5rem; /* 下の余白を広げる */
  display: block; /* inline-block解除 */
  text-align: center; /* 中央揃えにしてみる (オプション) */
}

/* セクション見出し (h2) - 例: 研究内容ページの見出し */
/*.research-theme-heading,*/
main > section > h2.h4, /* 各ページのセクション見出し(h4クラスがついている場合) */
main > section > h2:not(.accordion-header > button)   /* h2でアコーディオンボタンでないもの */
{
  background-color: #d7e5fa/*#e4eaf3*/; /* 薄い青系の背景 */
  color: #1A2A4D; /* 濃い青の文字 */
  padding: 0.8rem 1.2rem;
  margin-top: 3rem; /* セクション間の余白を確保 */
  margin-bottom: 1.8rem;
  font-size: 1.5rem; /* 少し大きめに */
  font-weight: 600;
  border-left: 5px solid #0D47A1; /* 左に太い青線 */
  border-radius: 0.25rem;
}

main .info-box { /* トップページ */
   margin-right:auto;
   max-height: 300/*400*/px;/* 高さを指定 */
   overflow-y: auto;/* 縦スクロールを有効化 */
   border: 1px solid #e0e7f1; /* 枠線を青みがかったグレーに */
   box-shadow: 0 1px 2px rgba(0,0,0,0.5/*0.03*/); /* わずかな影 */
  /*border: 1px solid #ced4da; /* 枠線をグレーに */
  background-color: #fff; /* 背景を白に */
}
/* Information Box (汎用的なスタイル) */
.info-box {	
    /*max-width: 400/*450px; /* ← この数値を小さく調整 (例: 400px, 350pxなど) */
   /* margin-left: auto;  /* ★中央寄せにする場合 */
  /*  margin-right: auto; /* ★中央寄せにする場合 */
    /* --- ここまで幅の調整 --- */
  /*  max-height: 250px; /* 高さを少し確保 (スクロール量に応じて調整) */
    overflow-y: auto;
    border: none; /* 枠線削除 */
    border-left: 8px solid var(--color-primary); /* 太い左線 */
    background-color:white;/* var(--color-sidebar-bg); /* サイドバーと同系色 */
    padding: 1.2rem 1.5rem;
    margin-bottom: 2rem;
    border-radius: 0 5px 5px 0;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    font-size: 0.97/*0.95*/rem; /* ← この数値を少し大きく (例: 1rem, 1.05remなど) */
}
.info-box dl dt {
    font-weight: bold/*700*/;
    margin-top: 0.8/*0.9*/rem;
    /* font-size: 0.95em; */ /* 親要素のfont-sizeに連動させるためコメントアウト推奨 */
    color: #0056b3; /*var(--color-primary-dark);*/
}
.info-box dl dd {
  margin-left: 0;
  padding-left: 0.8rem; /* インデント調整 */
  margin-bottom: 0.5rem;
  font-size: 0.9em;
  border-left-color: #A0B4D1; /* 左線を柔らかい青系に */
  /*border-left: 3px solid  #A0B4D1; /*#adb5bd;*/ /* 少し濃いグレーの線 */
 /* border-left: 3px solid #e9ecef; /* Bootstrap light gray */ 
}


/* トップページ用の Information Box (main .info-box は詳細度が高いのでこちらが優先される) */
/* body に .hayashi-lab-top や .chushikoku-em-top などのクラスを付与して区別 */
body.hayashi-lab-top main .info-box,
body.chushikoku-em-top main .info-box {
    max-height: 200px; /* index.html から */
    border: 1px solid #e0e7f1; /* index.html から */
    box-shadow: 0 1px 2px rgba(0,0,0,0.03); /* index.html の影より少し控えめに調整 */
    margin-left: auto;
    margin-right: auto;
}
body.chushikoku-em-top main .info-box { /* 中四国EM研究会トップページに特化 */
     max-width: 480px; /* index.html 内の .info-box で指定されていた値を参考 */
     height: 220px; /* 固定高さは内容量によって overflow する可能性あり */
     max-height: none; /* もし固定高さならmax-heightは不要 */
     border-left: none; /* 左の太線を消す場合 */
}

/* イベントセクション */
.event-section .event-detail-item {
    margin-bottom: 0.4rem; /* 各行の間隔 */
    font-size: 0.95rem;
    line-height: 1.7;
}
.event-section .event-detail-item:last-child {
    margin-bottom: 0; /* 最後の行の下マージン削除 */
}

.event-section .event-detail-label {
    font-weight: 600;
    color: #495057;
    padding-right: 0.5rem; /* 内容との隙間 */
    text-align: right; /* 右揃え */
}

.event-section .event-detail-value {/* 内容部分 */
    color: #333; /*var(--color-text);*/
}

/* モバイル表示 (画面幅が狭い場合) */
@media (max-width: 575.98px) {
    .event-section .event-detail-label {
        text-align: left; /* 左揃えに戻す */
        font-weight: bold; /* 少し強調 */
        margin-bottom: 0; /* 下マージン削除 */
        /* width: auto; */ /* 幅指定を解除する場合 (任意) */
    }
    .event-section .event-detail-value {
        padding-left: 1rem; /* モバイルではインデント */
    }
    .event-section .event-detail-item {
        margin-bottom: 0.8rem; /* モバイルでの行間を少し広げる */
    }
}

/* 研究内容ページ用 */

.research-excerpt { /* 研究内容ページ */
  font-style: italic;
  color: #6c757d;
}
.research-theme-heading { /* 研究内容ページ */
    border-bottom: 2px solid #34568B; /* 青系の区切り線 */
    padding-bottom: 0.5rem;
    margin-top: 2rem;
    margin-bottom: 1.5rem;
    color: #34568B; /* 見出し色 */
	 background-color: transparent; /* main > section > h2 の背景を上書き */
    border-left: none; /* main > section > h2 の左ボーダーを上書き */
}
/* 論文リスト、発表リストなど */
.paper-list h3, /* 論文リスト */
.presentation-list h3, /* 発表リスト */
.event-list h3 { /* 会議リスト */
  color: #0056b3; /* 年の見出しを青に */
  font-weight: bold;
  margin-top: 2rem;
}

/* サブ見出し (h3, h5) - 例: 論文リストの年号 */
.paper-list h3,
 .presentation-list h3,
 .event-list h3,
.funding-list .year-heading,
 .support-list h3,
 .publication-list h3 {
  color: #0D47A1; /* やや明るめの青 */
  font-weight: 600;
  margin-top: 2.5rem;
  margin-bottom: 1rem;
  padding-bottom: 0.3rem;
  border-bottom: 1px dashed #A0B4D1; /* 点線で区切り */
}
/* 論文アイテムなどの背景 */
.paper-item, .presentation-item, .event-item {
   background-color: #f8f9fa; /* 項目背景を薄いグレーに */
   border: 1px solid #e9ecef;
   padding: 1rem 1.2rem;
   border-radius: 0.25rem;
   margin-bottom: 1.5rem;
   border-left: 1px solid #023c96; /*5px solid #A0B4D1; /* 左線を少し太く */
   border-bottom: 1px dashed #e0e7f1; /* 点線で区切る */
   box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}
.paper-item:last-child, .presentation-item:last-child, .event-item:last-child {
    margin-bottom: 0; /* 最後の要素のマージンは不要 */
    border-bottom: none; /* 最後のアイテムの下線は削除 */
}
/* アコーディオンボタン (論文ページ) */
.papers-accordion .accordion-button {
  border-radius: 0; /* アコーディオンボタンの角丸をなくす */
  font-family: 'Noto Sans JP', sans-serif; /* ボタンはサンセリフ体の方が見やすいかも */
  font-weight: 500;
}
.paper-item .authors {
    font-size: 0.95rem;
}
.paper-item .authors strong {
    font-weight: 600;
}
.paper-item .title {
    font-size: 1.05rem;
}
.paper-item .journal {
    font-size: 0.9rem;

}
.funding-list .year-heading { /* 研究費リストは左ボーダーも活かす */
    margin-top: 1.5rem;
    border-left: 2/*4*/px solid #0056b3; /* 左の線を青に */
    padding-left: 0.8rem;
    border-bottom: none; /* 点線は不要に */
	color: #213A5C; /* 必要なら色指定を追加 */
}

.gallery-thumbnail { /* ギャラリー */
    width: 100%;
    height: 120px;
    object-fit: cover;
    margin-bottom: 1rem;
    cursor: pointer;
    border: 3/*1*/px solid #dee2e6; /* サムネイル枠線 */
}
.video-thumbnail-container::after { /* ギャラリー動画 */
    content: '\25BA'; /* 再生マーク */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 2rem;
    color: rgba(255, 255, 255, 0.9); /* アイコン色 */
    text-shadow: 0 0 8px rgba(0, 0, 0, 0.6); /* 影をつけて見やすく */
    pointer-events: none;
}	
/*.paper-item にシャドウやボーダー、背景色を加えてカード風にする。*/
	.paper-item:hover {
	    box-shadow: 0 0.5rem 1rem rgba(0,0,0,.15);
	}
	.paper-item:last-child {
	    margin-bottom: 0;
	}

    .paper-item {
	    background-color: #fff;
	    border: 1px solid #e9ecef;
	    border-left: 2px solid #0d6efd; /* 左のアクセントカラー */
	    padding: 1.25rem;
	    margin-bottom: 1rem; /* カード間のスペース */
	    border-radius: 0.25rem;
	    box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,.075);
	    transition: box-shadow 0.2s ease-in-out;
	}
	
/* ==================================================
   Sidebar (サイドバー)
================================================== */
aside .sticky-lg-top {
  top: 80/*120*/px; /* ヘッダーの高さに合わせて調整 */
  /* ▼▼▼ サイドバーの z-index をドロップダウンより低く設定 (必要なら) ▼▼▼ */
  z-index: 1019;/*1 !important; /* ★ Navbar(1030) やドロップダウン(1040)より低い値 */
  /* ▲▲▲ サイドバーの z-index をドロップダウンより低く設定 ▲▲▲ */
}

aside.sidebar .bg-light /* .bg-light がサイドバーの主要なラッパーである想定 */
 {
    background-color: #f5f7fa  !important;   
	border: 1px solid; #dee2e6;  /* 色指定追加*/ 
	border-radius: 0.375rem; /* 角丸をつける */
    box-shadow: 0 1px 3px rgba(0,0,0,0.04); /* わずかな影 */
}	

aside h4 {
    color:#253d94; /* サイドバーの見出し色 */
    font-size: 1.15rem; /* bodyフォントサイズに対する相対値 */
    font-weight: 600;
    border-bottom: 3px solid #d3dce6;
    padding-bottom: 0.5rem;
    margin-bottom: 1rem;
}

aside .list-group-item {
    color: #343a40; /* リンク色を少し濃く */
    font-weight: 500; /* 少し太字に */
    border-left: 3px solid transparent; /* 非アクティブ時は透明な左線 */
    transition: background-color 0.2s ease-in-out, border-left-color 0.2s ease-in-out;
	font-size: 0.95rem; /* bodyフォントサイズに対する相対値 */
    background-color: transparent; /* 背景を透過に */
    /*border: none; /* 枠線なし */
    padding-top: 0.4rem;
    padding-bottom: 0.4rem;
}
aside .list-group-item:hover {
    background-color: rgba(0, 86, 179, 0.1); /* 青系の薄い背景 */
    color: #0056b3;
	
	border-left-color: #A0B4D1; /* ホバー時に左線を表示 */
	/*background-color: #e4eaf3; /* ホバー背景色 */
}
aside .list-group-item.active {
    background-color: #0D47A1; /* アクティブ背景 (明るめの青) *//* #34568B; /* アクティブ背景色 (既存の青系) */
    border-color: #34568B;
    color: #fff;
	
    border-left-color: #1A2A4D; /* アクティブ時の左線を濃く */
    font-weight: 600;
}
aside.sidebar hr {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
    border-top: 1px solid #ced4da;
}

/*#sidebarPaperLinks a {
  display: inline-block;
  width: 30ch; /* 最大の文字数に合わせる */
 /* text-align: left;
  font-variant-numeric: tabular-nums;
}*/

/* サイドバー内アコーディオン */
/* サイドバー内のアコーディオンボタンのスタイル調整 */
#sidebarOlderYearsAccordion .accordion-button {
    padding-top: 0.5rem; /* list-group-item のデフォルトに合わせる */
    padding-bottom: 0.5rem;
    font-weight: 500; /* 他のリスト項目と合わせる */
    color: #343a40; /* 他のリスト項目と合わせる */
    background-color: transparent; /* 背景を透明に */
    border: none; /* 通常のボタン枠線を削除 */
    text-align: left; /* 文字を左揃えに */
    font-size: 0.95rem; /* 他のリストアイテムと合わせる */
}
#sidebarOlderYearsAccordion .accordion-button:focus {
    box-shadow: none; /* フォーカス時の影を削除 */
}
#sidebarOlderYearsAccordion .accordion-button:not(.collapsed) {
    color: #0056b3; /* 開いているときの色 (任意) */
    background-color: rgba(0, 86, 179, 0.05); /* 開いているときの薄い背景色 (任意) */
}
/* アコーディオン開閉アイコンの色を調整 */
#sidebarOlderYearsAccordion .accordion-button::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23343a40'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}
#sidebarOlderYearsAccordion .accordion-button:not(.collapsed)::after {
     background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230056b3'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}
/* サイドバーの年別リンクのインデント */
#sidebarOlderYearsAccordion .list-group-item { /* インデントされたアイテム */
    padding-left: 1.5rem; /* 例: 少しインデント */
}

/* ==================================================
   Footer (フッター)
================================================== */
footer {
  background-color: rgba(26, 42, 77, 0.95) !important;  /* 半透明の濃紺 */
  color: #adb5bd; /* 文字色を調整 */
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  border-top: 3px solid #0D47A1; /* 上部にアクセント線 */
  margin-top:auto; /* flexコンテナ内でフッターを最下部に固定 */
}
footer a {
  color: #dee2e6;
}
footer a:hover {
  color: #fff; /* フッター内リンクホバー色 */
}
footer .list-inline-item a {
    text-decoration: none; /* フッターナビのリンク下線なし */
}
footer .list-inline-item a:hover {
    text-decoration: underline; /* ホバー時下線 */
}
/* ==================================================
   Components (コンポーネント - アコーディオン、カードなど)
================================================== */
  .accordion-item { /* 汎用的な .accordion-item */
	    border: 1px solid #dee2e6; /* アコーディオンアイテムの境界線 */
	    margin-bottom: 0.5rem; /* アイテム間の少しの隙間 */
	    border-radius: 0.25rem; /* アイテム自体の角丸 */
	    overflow: hidden; /* 角丸を維持するため */
	}
	 /* アコーディオン内の見出しは対象外にする */
    .accordion .accordion-item h2{
    background-color: transparent;
    padding: 0;
    margin: 0;
    border: none;
    font-size: inherit; /* 必要に応じて調整 */
	}
	.accordion-button {
	    font-size: 1.4rem; /* 年号を少し大きく */
	    font-weight: 600;
	    color: #fff; /* 文字色を白に */
	    background-color: #b1cafa;/*#bccee6;*/
	    border-radius: 0 !important; /* 角丸をなくしてシャープに */
	    transition: background-color 0.3s ease;
		
		position: relative;/*アコーディオンボタンの左側に太めの色付きバーを配置して、視覚的なアクセントにする。*/
	    padding-left: 2rem; /* バーの分のスペース */
	}
	.accordion-button:not(.collapsed){
	    background-color: #0a58ca; /* 開いているときは少し濃い色に */
	    color: #fff;
	    box-shadow: inset 0 -1px 0 rgba(0,0,0,.125); /* 内側に影 */
	}	
	  .accordion-button::before {
	    content: '';
	    position: absolute;
	    left: 0;
	    top: 0;
	    bottom: 0;
	    width: 8px; /* バーの太さ */
	    background-color: #0453c7/*#01265c/*濃い青*//*#ffc107*/; /*橙/* Bootstrap warning color (例) または年ごとに色を変えるなど */
	}
	.accordion-button::after {   /* 開閉アイコンのカスタマイズ */
	    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
	    transform: rotate(-90deg); /* 初期状態（閉） */
	}
	.accordion-button:not(.collapsed)::after {
	    transform: rotate(0deg); /* 開いている状態 */
    }
	.accordion-body {
	    background-color:#f8f9fa; /* アコーディオン内容部分の背景色 */
	    padding: 1.5rem;
	}

/* 論文ページ用アコーディオン (papers-accordion) */
	.paper-item {
    background-color: #fff;
    border: 1px solid #e9ecef;
    border-left: 5px solid #0d6efd; /* Typographyの .paper-item とスタイルが重複 */
    padding: 1.25rem;
    margin-bottom: 1rem;
    border-radius: 0.25rem;
    box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,.075);
    transition: box-shadow 0.2s ease-in-out;
}
.paper-item:hover {
    box-shadow: 0 0.5rem 1rem rgba(0,0,0,.15);
}
/* .paper-item:last-child はメインコンテンツセクションにもあり、どちらか一方で良い */

/* Card (汎用的なカードスタイル) */
	
.card {
  border: 1px solid #e9ecef; /* 枠線を薄く */
  box-shadow: none; /* 影を削除してフラットに */
  border-radius: 0.3rem; /* 角丸を少し調整 */
  transition: border-color 0.2s ease-in-out;
}
.card:hover {
    border-color: #ced4da; /* ホバー時に少し枠線を濃く */
}
.card-img-top {
        height: 150px; /* カード画像高さを統一 */
        object-fit: cover; /* 画像のアスペクト比を保ちつつ領域を埋める */		
}

/* Buttons (ボタン) */
.btn-primary {
  background-color: #0D47A1;
  border-color: #0D47A1;
  transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out;
}
.btn-primary:hover {
  background-color: #0B3A80;
  border-color: #0B3A80;
}
.btn-outline-primary {
    border-color: blue/*#A0B4D1; /* アウトラインボタンの枠線を柔らかい色に */
    color: #0D47A1;
    transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
}
.btn-outline-primary:hover {
    background-color: rgba(13, 71, 161, 0.05); /* 背景を薄い青に */
    color: green/*#0B3A80;*/
    border-color: #0D47A1; /* ホバー時は濃く */

/* Blockquote (引用) */
blockquote {
  border-left: 4px solid #A0B4D1; /* 引用符の左線 */
  padding-left: 1rem;
  margin-left: 0;
  color: #555;
  font-style: italic;
}

/* ==================================================
   Utility (ユーティリティ)
================================================== */
.shadow {
    /* 影を少し調整 or 削除してもよい */
	 box-shadow: 0 .5rem 1rem rgba(0,0,0,.15)!important
}
.img-thumbnail {
    border: 1px solid #dee2e6; /* 枠線の色 */
}
 
 /* ========== Link Page Specific Styles (リンクページ固有) ========== */
/* このセクションは link.html にのみ関連する場合 */
.link-section {
    margin-bottom: 2.5rem;
}
.link-section-title {
    font-size: 1.5rem;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 1.2rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #e0e0e0;
    position: relative;
}
.link-section-title::before {
    content: '';
    position: absolute;
    left: -15px;
    top: 5px;
    bottom: 13px;
    width: 5px;
    background-color: #3498db;
    border-radius: 2px;
}
/* メインカラム内では左のpaddingが必要な場合、ページごとのbodyクラスで対応 */
body.page-links main { /* 例: リンクページのbodyに class="page-links" を追加 */
    padding-left: 25px;
}

.link-list .list-group-item {
    border: 1px solid #e9ecef;
    border-radius: 6px;
    margin-bottom: 0.75rem;
    padding: 1rem 1.25rem;
    background-color: #fff;
    box-shadow: 0 2px 5px rgba(0,0,0,0.06);
    transition: transform 0.2s ease-out, box-shadow 0.2s ease-out;
    font-weight: 500;
    color: #34568B;
}
.link-list .list-group-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 12px rgba(0,0,0,0.1);
    color: #2980b9;
    z-index: 2;
}
.link-list .list-group-item .link-icon {
    color: #adb5bd;
    font-size: 0.9em;
    transition: color 0.2s ease-out;
}
.link-list .list-group-item:hover .link-icon {
    color: #3498db;
}



/*@media (min-width: 980/*1200px) {
  .container, .container-xl, .container-lg, .container-md, .container-sm {
    /* max-width: 1140px; */ /* デフォルト */
    /* max-width: 1080px; */ /* 以前の狭い設定 */
    /*max-width: 980px; /* ★さらに狭くする場合の例 */
  }
}
/*@media (min-width: 1100/*1400*px) {
  .container, .container-xxl, .container-xl, .container-lg, .container-md, .container-sm {
    /* max-width: 1320px; */ /* デフォルト */
    /* max-width: 1200px; */ /* 以前の狭い設定 */
   /* max-width: 1100px; /* ★さらに狭くする場合の例 */
  }
}

 /* ...既存のbodyスタイル... */
/*body {
  font-size: 15px; /* 例: デフォルトの16pxから17pxに (約6.25%増) */
                  /* または 1.05rem や 1.1rem など相対単位でも可 */
                  /* 18px や 19px など、読みやすさを見ながら調整 */
/*  line-height: 1.7; /* 文字サイズを大きくした場合、行間も少し調整すると読みやすい */
}

/*==Sidebar==*/
/* サイドバーの文字サイズ */
/*.sidebar .list-group-item {
    font-size: 0.95rem; /* bodyの17pxに対して0.95倍 */
}
/*.sidebar h4 {
    font-size: 1.15rem; /* bodyの17pxに対して1.15倍 */
}
/*==Media==*/
/* サイドバーのスティッキー（スクロール追従）に関する調整 */
/*@media (min-width: 992px) { /* lg breakpoint */
/*  .sticky-lg-top {
    top: 80px; /* Navbarの高さに応じて調整 */
  }
}
/*@media (min-width: 800/*1200px) {
  .container {
    max-width: 1050/*1180*/:px; /* コンテナ幅少し広げる */
  }
}
/* 背景画像の設定 (相対パス) */
/*background-image: url('../img/img18.jpg'); /* ../ で一つ上の階層へ */
/*background-size: cover;
background-position: center center;
background-repeat: no-repeat;
background-attachment: fixed;
opacity: 0.30/*15*/; /* 透明度も忘れずに */



 




	






