
:root{
  --ink:#2d3f4a;
  --muted:#60727c;
  --accent:#5f8498;
  --line:rgba(145,174,188,.46);
  --glass:rgba(255,255,255,.66);
  --shadow:0 16px 38px rgba(45,63,74,.10);
  --max:1120px;
}
*{box-sizing:border-box}
html{font-size:16px}
body{
  margin:0;
  min-height:100vh;
  color:var(--ink);
  font-family:"Hiragino Maru Gothic ProN","Hiragino Maru Gothic Pro","Yu Gothic","Noto Sans JP",sans-serif;
  line-height:1.9;
  letter-spacing:.025em;
  background:#f8f7f4 url("../img/page-background.png") center top/cover fixed no-repeat;
}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:4px}
.site-header{
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(255,255,255,.86);
  border-bottom:1px solid rgba(210,218,220,.86);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.header-inner{
  max-width:1320px;
  margin:auto;
  padding:22px 34px 18px;
  display:flex;
  align-items:center;
  gap:36px;
}
.brand{min-width:230px}
.brand-title{display:block;font-size:1.42rem;font-weight:600;letter-spacing:.08em}
.brand-sub{display:block;margin-top:2px;color:var(--muted);font-size:.84rem;letter-spacing:.11em}
.nav{flex:1;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:24px;font-size:.93rem}
.nav a{padding:6px 0 8px;border-bottom:3px solid transparent}
.nav a.active{border-color:var(--accent)}
main{
  max-width:var(--max);
  margin:0 auto;
  padding:150px 28px 72px;
}
body.page-index{
  background:#f8f7f4 url("../img/top-background.png") center top/cover fixed no-repeat;
  margin:0;
  min-height:100vh;
  overflow-x:hidden;
}
body.page-index .index-hotspots a{
  position:fixed;
  display:block;
  text-indent:-9999px;
  overflow:hidden;
  z-index:50;
  border:0;
  background:transparent;
}
body.page-index .index-hotspots a:focus{
  outline:2px solid rgba(95,132,152,.7);
  outline-offset:2px;
}
.nav-home{left:28.0%;top:3.2%;width:6.0%;height:4.2%}
.nav-research{left:35.0%;top:3.2%;width:7.0%;height:4.2%}
.nav-lectures{left:43.0%;top:3.2%;width:7.0%;height:4.2%}
.nav-papers{left:51.0%;top:3.2%;width:5.0%;height:4.2%}
.nav-seminar{left:56.5%;top:3.2%;width:10.0%;height:4.2%}
.nav-profile{left:67.0%;top:3.2%;width:8.0%;height:4.2%}
.nav-diary{left:76.0%;top:3.2%;width:4.5%;height:4.2%}
.nav-links{left:81.5%;top:3.2%;width:4.8%;height:4.2%}
.nav-contact{left:87.0%;top:3.2%;width:5.5%;height:4.2%}
.nav-english{left:93.0%;top:3.2%;width:6.5%;height:4.2%}
.card-research{left:4.8%;top:51.5%;width:22.0%;height:16.8%}
.card-lectures{left:27.2%;top:51.5%;width:22.0%;height:16.8%}
.card-papers{left:49.2%;top:51.5%;width:22.0%;height:16.8%}
.card-profile{left:71.0%;top:51.5%;width:22.0%;height:16.8%}
.card-diary{left:4.8%;top:69.0%;width:22.0%;height:16.8%}
.card-links{left:27.2%;top:69.0%;width:22.0%;height:16.8%}
.card-contact{left:49.2%;top:69.0%;width:22.0%;height:16.8%}
.card-english{left:71.0%;top:69.0%;width:22.0%;height:16.8%}

h1{
  margin:0;
  color:var(--ink);
  font-weight:600;
  font-size:2.45rem;
  letter-spacing:.12em;
  line-height:1.35;
}
.page-title{
  max-width:960px;
  margin:0 auto 42px;
  padding:0 8px;
}
.glass-card{
  background:var(--glass);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.content-card{
  max-width:960px;
  margin:0 auto 38px;
  padding:56px 70px;
  border-radius:30px;
}
.content-card h2{
  margin:0 0 28px;
  color:#426578;
  font-size:1.72rem;
}
.term{
  margin:28px 0;
  padding:42px 56px;
  border-radius:22px;
  background:rgba(255,255,255,.54);
  border:1px solid rgba(196,215,224,.62);
}
.term-label{
  display:inline-block;
  margin-bottom:20px;
  padding:5px 16px;
  border-radius:999px;
  background:rgba(230,239,243,.9);
  font-weight:600;
  font-size:.9rem;
}
ul{margin:.2em 0 0 1.1em;padding:0}
li{margin:.6em 0;line-height:1.95;overflow-wrap:anywhere}
.simple-list li{padding:.45em 0}
.plain-content{
  max-width:960px;
  margin:0 auto;
  font-size:1.04rem;
}
.plain-content p{margin:1em 0}
.diary-year-list{margin-top:4px;display:flex;flex-wrap:wrap;gap:14px}
.year-link{
  display:inline-block;
  padding:12px 20px;
  border-radius:999px;
  background:rgba(255,255,255,.64);
  border:1px solid var(--line);
}
.diary-entry{
  margin:30px 0 44px;
  padding:46px 58px;
  border-radius:28px;
  background:rgba(255,255,255,.64);
  border:1px solid rgba(196,215,224,.62);
}
.diary-entry h2{margin:0 0 22px;color:#6a1f1f;font-size:1.15rem}
.diary-entry p{margin:1.1em 0;overflow-wrap:anywhere}
.diary-entry a{color:#315d78;text-decoration:underline;text-underline-offset:3px}
.back-link{margin-top:34px}
.profile-list h2{
  margin-top:0;
  color:#426578;
}
.profile-list ul{
  list-style:none;
  margin-left:0;
}
.profile-list li{
  margin:.55em 0;
}
.footer{text-align:center;color:rgba(73,88,97,.72);font-size:.82rem;padding:42px 18px 52px}
@media (max-width:900px){
  .header-inner{display:block}.brand{margin-bottom:12px}.nav{justify-content:flex-start;gap:14px}
  main{padding:80px 18px 48px}h1{font-size:2rem}
  .content-card{padding:36px 26px}.term{padding:30px 24px}.diary-entry{padding:32px 24px}
}


/* v15: トップページ以外は、ページの用途・縦横比に合わせてアップロード背景5種から選択 */
body.page{
  background-color:#f8f7f4;
  background-position:center top;
  background-repeat:no-repeat;
  background-size:cover;
  background-attachment:fixed;
}
body.bg-wide-blue{ background-image:url("../img/bg-wide-blue.jpeg") !important; }
body.bg-wide-pink{ background-image:url("../img/bg-wide-pink.jpeg") !important; }
body.bg-wide-light{ background-image:url("../img/bg-wide-light.jpeg") !important; }
body.bg-square-floral{ background-image:url("../img/bg-square-floral.png") !important; }
body.bg-portrait-floral{
  background-image:url("../img/bg-portrait-floral.jpeg") !important;
  background-position:center top;
}

/* トップページは以前確定した画像を維持 */
body.page-index{
  background:#f8f7f4 url("../img/top-background.png") center top/cover fixed no-repeat !important;
}

/* 余白を広めに維持 */
.content-card{
  padding:56px 70px !important;
}
.term{
  padding:42px 56px !important;
  margin:28px 0 !important;
}
.diary-entry{
  padding:46px 58px !important;
  margin:30px 0 44px !important;
}
li{
  line-height:1.95;
}

@media (max-width:900px){
  body.page{ background-attachment:scroll; }
}


/* v16: 全ページの文字をトップページの柔らかい丸ゴ系に統一 */
html, body, input, textarea, button, select, a, p, li, h1, h2, h3, h4, h5, h6, .nav, .brand, .menu-card, .content-card{
  font-family:"Hiragino Maru Gothic ProN","Hiragino Maru Gothic Pro","Yu Gothic","Noto Sans JP",sans-serif !important;
}

/* 余白・可読性を最終調整 */
main{ padding-top:150px; }
.content-card{
  max-width:980px;
  padding:56px 70px !important;
}
.term{
  padding:42px 56px !important;
  margin:28px 0 !important;
}
.diary-entry{
  padding:46px 58px !important;
  margin:30px 0 44px !important;
}
.plain-content{
  max-width:980px;
  margin:0 auto;
  padding:0 8px;
  font-size:1.04rem;
}
.plain-content p{ margin:1.05em 0; }
.link-list{
  list-style:none;
  padding:0;
  margin:0;
}
.link-list li{
  margin:1em 0;
  padding:.8em 0;
  border-bottom:1px solid rgba(145,174,188,.25);
}
.link-list a{
  color:#315d78;
  text-decoration:underline;
  text-underline-offset:3px;
}
.meta-note{
  color:var(--muted);
  font-size:.92rem;
}
.two-column{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
@media (max-width:900px){
  main{ padding-top:90px; }
  .two-column{ grid-template-columns:1fr; }
}


/* v17: 画面上でHTMLとして表示される文字をヒラギノ丸ゴ系に統一 */
*,
*::before,
*::after,
html,
body,
div,
span,
p,
a,
li,
ul,
ol,
dl,
dt,
dd,
table,
thead,
tbody,
tfoot,
tr,
td,
th,
h1,h2,h3,h4,h5,h6,
input, textarea, select, button {
  font-family:"Hiragino Maru Gothic ProN","Hiragino Maru Gothic Pro","Yu Gothic","Noto Sans JP",sans-serif !important;
}

.pdf-link {
  display:inline-block;
  margin-top:.35em;
  padding:.35em .8em;
  border-radius:999px;
  background:rgba(230,239,243,.9);
  border:1px solid rgba(145,174,188,.45);
  color:#315d78;
  text-decoration:none;
}
.pdf-link:hover {
  text-decoration:underline;
  text-underline-offset:3px;
}


/* v19: トップページを透明リンク式から、通常のHTMLページへ戻す */
body.page-index{
  margin:0;
  min-height:1200px;
  overflow-x:hidden;
  overflow-y:auto;
  background:#f8f7f4 url("../img/top-background.png") center top/cover fixed no-repeat !important;
}

body.page-index main{
  max-width:1120px;
  margin:0 auto;
  padding:150px 28px 90px;
}

body.page-index .hero{
  max-width:680px;
  margin:0 auto 70px;
  padding:36px 42px;
  border-radius:30px;
  background:rgba(255,255,255,.52);
  border:1px solid rgba(145,174,188,.38);
  box-shadow:0 16px 38px rgba(45,63,74,.08);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

body.page-index .card-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px 26px;
  max-width:1060px;
  margin:0 auto;
  padding-bottom:80px;
}

body.page-index .menu-card{
  min-height:116px;
  border-radius:28px;
  background:rgba(255,255,255,.62);
  border:1px solid rgba(145,174,188,.48);
  box-shadow:0 16px 38px rgba(45,63,74,.09);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:28px 34px;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

body.page-index .menu-card .label{
  font-size:1.23rem;
  font-weight:500;
}

body.page-index .menu-card .sub{
  display:block;
  color:var(--muted);
  font-size:.78rem;
  letter-spacing:.08em;
  margin-top:3px;
}

body.page-index .menu-card .arrow{
  color:var(--accent);
  font-size:1.45rem;
}

/* 以前の透明ホットスポットが残っていても無効化 */
body.page-index .index-hotspots{
  display:none !important;
}

/* 研究概要は透明度のある枠に戻す */
body.page-research .plain-content{
  background:rgba(255,255,255,.66);
  border:1px solid rgba(145,174,188,.46);
  border-radius:30px;
  box-shadow:0 16px 38px rgba(45,63,74,.10);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  padding:50px 64px;
}

/* 連絡先の余白を調整 */
body.page-contact .content-card p{
  margin:.65em 0;
}

/* 全HTML文字は引き続き丸ゴ系 */
*,
*::before,
*::after,
html,
body,
div,
span,
p,
a,
li,
ul,
ol,
dl,
dt,
dd,
table,
thead,
tbody,
tfoot,
tr,
td,
th,
h1,h2,h3,h4,h5,h6,
input, textarea, select, button{
  font-family:"Hiragino Maru Gothic ProN","Hiragino Maru Gothic Pro","Yu Gothic","Noto Sans JP",sans-serif !important;
}

@media (max-width:900px){
  body.page-index{
    background-attachment:scroll !important;
  }
  body.page-index main{
    padding:100px 18px 60px;
  }
  body.page-index .hero{
    margin:0 0 40px;
    padding:28px 24px;
  }
  body.page-index .card-grid{
    grid-template-columns:1fr;
  }
}


/* v20: 連絡先・English専用背景 */
body.bg-smoketree{
  background-image:url("../img/smoketree.png") !important;
  background-position:center top;
  background-size:cover;
}
body.bg-mimoza{
  background-image:url("../img/mimoza.png") !important;
  background-position:center top;
  background-size:cover;
}


/* v21: 指定された背景画像 */
body.bg-career{
  background-image:url("../img/career.jpeg") !important;
  background-position:center top;
  background-size:cover;
}
body.bg-diary-top{
  background-image:url("../img/diary_top.jpeg") !important;
  background-position:center top;
  background-size:cover;
}
body.bg-diary{
  background-image:url("../img/diary.jpeg") !important;
  background-position:center top;
  background-size:cover;
}
body.bg-link{
  background-image:url("../img/link.jpeg") !important;
  background-position:center top;
  background-size:cover;
}
body.bg-papers{
  background-image:url("../img/papers.jpeg") !important;
  background-position:center top;
  background-size:cover;
}
body.page-index{
  background:#f8f7f4 url("../img/top-background.png") center top/cover fixed no-repeat !important;
}
@media (max-width:900px){
  body.bg-career,
  body.bg-diary-top,
  body.bg-diary,
  body.bg-link,
  body.bg-papers,
  body.page-index{
    background-attachment:scroll !important;
  }
}


/* v22: 研究概要・English Research Overview の本文整形 */
.research-overview h2,
.english-overview h2{
  color:#426578;
  font-size:1.45rem;
  margin:2.0em 0 .75em;
}
.research-overview h2:first-child,
.english-overview h2:first-child{
  margin-top:0;
}
.research-overview p,
.english-overview p{
  margin:1.05em 0;
}
.theme-list{
  margin:1em 0 1.2em 1.3em;
}
.theme-list li{
  margin:.5em 0;
}
.keyword-list{
  display:flex;
  flex-wrap:wrap;
  gap:.65em .75em;
  list-style:none;
  margin:1em 0 1.5em;
  padding:0;
}
.keyword-list li{
  margin:0;
  padding:.35em .85em;
  border-radius:999px;
  background:rgba(230,239,243,.85);
  border:1px solid rgba(145,174,188,.35);
  line-height:1.5;
}


/* v23: 研究概要・English の背景を research.jpeg に統一 */
body.bg-research{
  background-image:url("../img/research.jpeg") !important;
  background-position:center top !important;
  background-size:cover !important;
}

/* v23: 日記トップ背景は上端合わせに固定 */
body.bg-diary-top{
  background-position:center top !important;
  background-size:cover !important;
}


/* v24: 担当講義ページ専用背景 */
body.bg-lectures{
  background-image:url("../img/lectures.jpeg") !important;
  background-position:center top !important;
  background-size:cover !important;
}
@media (max-width:900px){
  body.bg-lectures{
    background-attachment:scroll !important;
  }
}


/* v28: 日記ページ微調整 */
/* 日記トップの背景画像を少し下に寄せ、月とカエルが見えやすい位置にする */
body.bg-diary-top{
  background-position:center 120px !important;
  background-repeat:no-repeat !important;
  background-size:cover !important;
  background-color:#f5f3ec !important;
}

/* 個別の日記の日付見出しを、現在のHP全体の青灰色系に合わせる */
body.page-diary-year .diary-entry h2{
  color:#426578 !important;
}


/* v29: 研究概要ページの挿絵 */
.research-figure{
  margin:2.1em auto 2.4em;
  padding:18px;
  border-radius:28px;
  background:rgba(255,255,255,.58);
  border:1px solid rgba(145,174,188,.34);
  box-shadow:0 14px 34px rgba(45,63,74,.09);
}
.research-figure img{
  display:block;
  width:100%;
  height:auto;
  border-radius:20px;
}
.research-figure figcaption{
  margin-top:.85em;
  color:#6b7f8a;
  font-size:.92rem;
  line-height:1.7;
  text-align:center;
}

/* v29: 個別日記ページから日記一覧へ戻るリンク */
.diary-back{
  max-width:980px;
  margin:28px auto 0;
  padding:0 8px;
}
.diary-back a{
  display:inline-flex;
  align-items:center;
  gap:.45em;
  padding:.62em 1.05em;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(145,174,188,.42);
  color:#426578;
  text-decoration:none;
  box-shadow:0 10px 24px rgba(45,63,74,.08);
}
.diary-back a:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}


/* v30: 研究概要の今回の2枚の挿絵は、枠・背景・説明文なしで表示 */
.research-figure.research-figure-plain{
  margin:2.2em auto 2.6em !important;
  padding:0 !important;
  max-width:940px;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.research-figure.research-figure-plain img{
  display:block;
  width:100%;
  height:auto;
  border-radius:0 !important;
}
.research-figure.research-figure-plain figcaption{
  display:none !important;
}


/* v31: 研究概要の挿絵サイズを本文中の小さめの挿絵として調整 */
.research-figure.research-figure-plain{
  max-width:620px !important;
  margin:1.45em auto 1.9em !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.research-figure.research-figure-plain img{
  display:block;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  border-radius:0 !important;
}
@media (max-width:760px){
  .research-figure.research-figure-plain{
    max-width:92% !important;
  }
}


/* v32: 研究概要ページの挿絵を再調整 */
/* mug.png は上下余白を画像側でカットしたうえで、本文中の挿絵サイズを維持 */
.research-overview > figure.research-figure.research-figure-plain:nth-of-type(1){
  max-width:620px !important;
  margin:1.25em auto 1.7em !important;
}

/* bridges.jpeg は本文に対して大きすぎたため、さらに小さめに表示 */
.research-overview > figure.research-figure.research-figure-plain:nth-of-type(2){
  max-width:500px !important;
  margin:1.25em auto 1.7em !important;
}


/* v33: bridges.jpeg はさらに小さく、本文中の控えめな挿絵として表示 */
/* nth-of-type と :has の両方で指定し、表示環境差を吸収する */
.research-overview > figure.research-figure.research-figure-plain:nth-of-type(2),
.research-figure.research-figure-plain:has(img[src$="bridges.jpeg"]){
  max-width:380px !important;
  margin:1.15em auto 1.65em !important;
}


/* v34: bridges.jpeg をさらに小さく表示 */
.research-overview > figure.research-figure.research-figure-plain:nth-of-type(2),
.research-figure.research-figure-plain:has(img[src$="bridges.jpeg"]){
  max-width:320px !important;
  margin:1.05em auto 1.5em !important;
}


/* v35: bridges をさらに小さく、graph をケーニヒスベルク段落の下に挿入 */
.research-overview > figure.research-figure.research-figure-plain:nth-of-type(2),
.research-figure.research-figure-plain:has(img[src$="bridges.jpeg"]){
  max-width:260px !important;
  margin:1.0em auto 1.45em !important;
}
.research-figure.research-figure-graph{
  max-width: 300px !important;
  margin:1.15em auto 1.85em !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.research-figure.research-figure-graph img{
  display:block;
  width:100% !important;
  height:auto !important;
  border-radius:0 !important;
}


/* v37: graph.jpeg の挿絵だけをさらに小さくする */
.research-figure.research-figure-graph,
.research-overview .research-figure.research-figure-graph,
.research-figure.research-figure-plain.research-figure-graph,
.research-figure.research-figure-plain:has(img[src$="graph.jpeg"]){
  max-width:210px !important;
  margin:0.95em auto 1.45em !important;
}


/* v38: graph.jpeg はさらに小さい挿絵として表示 */
.research-figure.research-figure-graph,
.research-overview .research-figure.research-figure-graph,
.research-figure.research-figure-plain.research-figure-graph,
.research-figure.research-figure-plain:has(img[src$="graph.jpeg"]){
  max-width:160px !important;
  margin:0.85em auto 1.35em !important;
}

/* v38: 2026年日記の猫の挿絵 */
.diary-figure{
  margin:1.1em auto 1.4em;
  text-align:center;
}
.diary-figure img{
  display:block;
  margin:0 auto;
  max-width:100%;
  height:auto;
}
.diary-figure-small{
  max-width:230px;
}
.diary-figure-small img{
  border-radius:0;
}


/* v39: 2026年日記の猫画像を、その日の枠内右側に小さく配置 */
.diary-entry-with-side-image::after{
  content:"";
  display:block;
  clear:both;
}
.diary-side-figure{
  float:right;
  width:180px;
  max-width:34%;
  margin:0 0 1.1em 1.6em;
}
.diary-side-figure img{
  display:block;
  width:100%;
  max-width:180px;
  height:auto;
}
@media (max-width:640px){
  .diary-side-figure{
    float:none;
    width:170px;
    max-width:70%;
    margin:0 auto 1.1em;
  }
}


/* v40: bridges.jpeg を前回より約1.5倍大きく表示 */
.research-overview > figure.research-figure.research-figure-plain:nth-of-type(2),
.research-figure.research-figure-plain:has(img[src$="bridges.jpeg"]){
  max-width:390px !important;
  margin:1.1em auto 1.65em !important;
}

/* v40: 2026年5月20日の日記の猫画像を少し大きく、右端から少し左へ */
.diary-entry-with-side-image::after{
  content:"";
  display:block;
  clear:both;
}
.diary-side-figure{
  float:right;
  width:220px !important;
  max-width:38% !important;
  margin:0 3.2em 1.1em 1.6em !important;
}
.diary-side-figure img{
  display:block;
  width:100% !important;
  max-width:220px !important;
  height:auto !important;
}
@media (max-width:640px){
  .diary-side-figure{
    float:none;
    width:190px !important;
    max-width:72% !important;
    margin:0 auto 1.1em !important;
  }
}


/* v41: bridges.jpeg を大きめの挿絵として表示 */
.research-overview > figure.research-figure.research-figure-plain:nth-of-type(2),
.research-figure.research-figure-plain:has(img[src$="bridges.jpeg"]){
  max-width:900px !important;
  margin:1.45em auto 2.0em !important;
}


/* v42: bridges.jpeg を約800pxに調整 */
.research-overview > figure.research-figure.research-figure-plain:nth-of-type(2),
.research-figure.research-figure-plain:has(img[src$="bridges.jpeg"]){
  max-width:800px !important;
  margin:1.35em auto 1.9em !important;
}


/* v43: bridges.jpeg を約700px、graph.jpeg を少し大きめに調整 */
.research-overview > figure.research-figure.research-figure-plain:nth-of-type(2),
.research-figure.research-figure-plain:has(img[src$="bridges.jpeg"]){
  max-width:700px !important;
  margin:1.25em auto 1.85em !important;
}
.research-figure.research-figure-graph,
.research-overview .research-figure.research-figure-graph,
.research-figure.research-figure-plain.research-figure-graph,
.research-figure.research-figure-plain:has(img[src$="graph.jpeg"]){
  max-width:260px !important;
  margin:1.0em auto 1.55em !important;
}


/* v44: bridges.jpeg を少し小さく調整 */
.research-overview > figure.research-figure.research-figure-plain:nth-of-type(2),
.research-figure.research-figure-plain:has(img[src$="bridges.jpeg"]){
  max-width:650px !important;
  margin:1.2em auto 1.8em !important;
}


/* v45: bridges.jpeg を少し小さく調整 */
.research-overview > figure.research-figure.research-figure-plain:nth-of-type(2),
.research-figure.research-figure-plain:has(img[src$="bridges.jpeg"]){
  max-width:600px !important;
  margin:1.15em auto 1.75em !important;
}


/* v46: bridges.jpeg をさらに少し小さく調整 */
.research-overview > figure.research-figure.research-figure-plain:nth-of-type(2),
.research-figure.research-figure-plain:has(img[src$="bridges.jpeg"]){
  max-width:550px !important;
  margin:1.1em auto 1.7em !important;
}


/* v52: 講義ノート・補足資料 */
.lecture-notes-section{
  position:relative;
}
.lecture-notes-note{
  margin:0 0 1.25em;
  color:#425764;
  line-height:1.9;
}
.lecture-note-list{
  display:grid;
  gap:14px;
  margin-top:1.1em;
}
.lecture-note-card{
  display:grid;
  grid-template-columns:1fr auto;
  gap:.35em 1.2em;
  align-items:center;
  padding:1.05em 1.25em;
  border-radius:24px;
  border:1px solid rgba(145,174,188,.42);
  background:rgba(255,255,255,.62);
  box-shadow:0 10px 26px rgba(45,63,74,.08);
  color:#2d3f4a;
  text-decoration:none;
}
.lecture-note-card:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 32px rgba(45,63,74,.12);
  text-decoration:none;
}
.lecture-note-title{
  font-size:1.08rem;
  font-weight:700;
  letter-spacing:.04em;
}
.lecture-note-meta{
  grid-column:1/2;
  color:#5d717c;
  font-size:.94rem;
  line-height:1.7;
}
.lecture-note-action{
  grid-row:1/3;
  grid-column:2/3;
  color:#426578;
  font-weight:700;
  white-space:nowrap;
}
@media (max-width:700px){
  .lecture-note-card{
    grid-template-columns:1fr;
  }
  .lecture-note-action{
    grid-column:1;
    grid-row:auto;
  }
}


/* v53: 日記トップページの背景画像をほんの少し上側に移動 */
body.bg-diary-top{
  background-position:center 95px !important;
}


/* v55: トップページ背景画像を数学・宇宙イメージに差し替え */
body.page-index{
  background:#f8f7f4 url("../img/top-background-math-space.jpeg") center top/cover fixed no-repeat !important;
}


/* v58: トップページ背景画像の再指定（画像欠落・CSSキャッシュ対策） */
body.page-index{
  background-color:#f8f7f4 !important;
  background-image:url("../img/top-background-math-space.jpeg") !important;
  background-position:center top !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  background-attachment:fixed !important;
}


/* v59: 講義ノート一覧ページへの分離 */
.lecture-notes-teaser{
  padding-bottom:1.4em;
}
.lecture-notes-teaser .lecture-note-card{
  max-width:760px;
}
.lecture-notes-main{
  margin-bottom:1.2em;
}
.lecture-notes-subject h2{
  margin-bottom:.45em;
}
.lecture-notes-back{
  padding-top:1em;
  padding-bottom:1em;
}
.text-link{
  color:#426578;
  font-weight:700;
  text-decoration:none;
}
.text-link:hover{
  text-decoration:underline;
}
.lecture-note-index-card{
  margin-top:.75em;
}
.page-lecture-notes .lecture-note-list{
  margin-top:1.15em;
}
