:root{
  --ink:#0e2748;        /* 本文・見出しの紺 */
  --blue:#2457a5;       /* ポスターの青 */
  --mist:#eef2f8;       /* 淡い地色 */
  --line:#c9d3e3;
  --gold:#e2c93b;       /* 顕微鏡像の干渉色から取った差し色（細い罫線のみ） */
  --paper:#fbfcfe;
  --muted:#4d5f7a;
  --serif:"Shippori Mincho B1","Hiragino Mincho ProN","Yu Mincho",serif;
  --sans:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.85;-webkit-font-smoothing:antialiased}
a{color:var(--blue)}
a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.wrap{width:min(1120px,100% - 40px);margin-inline:auto}

/* header */
.site-head{position:sticky;top:0;z-index:20;background:rgba(251,252,254,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:64px}
.brand{display:block;text-decoration:none;color:var(--ink);line-height:1.25}
.brand b{display:block;font-size:17px;font-weight:700}
.brand span{display:block;font-size:11px;color:var(--muted);letter-spacing:.02em}
.nav{display:flex;flex-wrap:wrap;gap:4px 22px;margin:0;padding:0;list-style:none}
.nav a{display:block;padding:6px 0;color:var(--ink);text-decoration:none;font-size:14px;font-weight:500;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current]{border-bottom-color:var(--blue)}

/* hero */
.hero{--padL:max(20px,calc((100vw - 1120px)/2));display:grid;grid-template-columns:minmax(max(45.4%,calc(var(--padL) + 600px)),auto) minmax(0,1fr);min-height:min(78vh,720px);border-bottom:4px solid var(--blue)}
.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:56px clamp(24px,4vw,64px) 56px var(--padL);background:var(--paper)}
.hero-affil{margin:0 0 28px;font-size:13px;color:var(--muted);padding-bottom:14px;border-bottom:1px solid var(--line);max-width:30em}
.hero h1{margin:0;font-family:var(--serif);font-weight:700;font-size:clamp(28px,3.3vw,46px);line-height:1.5;letter-spacing:.02em}
.hero h1 span{display:block;white-space:nowrap}
.hero-sub{margin:26px 0 0;max-width:27em;font-size:16px;color:var(--muted)}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.btn{display:inline-block;padding:12px 24px;border:2px solid var(--blue);border-radius:2px;font-weight:700;font-size:15px;text-decoration:none;color:var(--blue);background:transparent;transition:background .15s,color .15s}
.btn:hover{background:var(--blue);color:#fff}
.btn--solid{background:var(--blue);color:#fff}
.btn--solid:hover{background:var(--ink);border-color:var(--ink)}
.hero-photo{position:relative;overflow:hidden;background:#8d8fb0}
.hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:42% 40%;animation:settle 2.4s cubic-bezier(.2,.7,.2,1) both}
@keyframes settle{from{transform:scale(1.08);opacity:.2}to{transform:scale(1);opacity:1}}
.hero-photo figcaption{position:absolute;left:0;bottom:0;margin:0;padding:8px 14px;background:rgba(14,39,72,.82);color:#fff;font-size:12px;line-height:1.5}

/* sections */
.section{padding:84px 0}
.section h2{margin:0 0 10px;font-family:var(--serif);font-size:clamp(26px,3vw,34px);line-height:1.4;font-weight:700}
.lead{max-width:36em;margin:0;color:var(--muted)}
.rule{width:56px;height:3px;background:var(--gold);margin:0 0 22px;border:0}

/* flow band */
.flow{position:relative;color:#fff;background:#10206b url("img/band-schlieren.jpg") center/cover;padding:96px 0}
.flow::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,20,60,.82),rgba(8,20,60,.45))}
.flow .wrap{position:relative}
.flow h2{color:#fff}
.flow .lead{color:#dbe5f7}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin:44px 0 0;padding:0;list-style:none;counter-reset:s;border-top:1px solid rgba(255,255,255,.5)}
.steps li{position:relative;padding:20px 10px 0 0;counter-increment:s}
.steps li::before{content:"";position:absolute;top:-6px;left:0;width:11px;height:11px;border-radius:50%;background:var(--gold)}
.steps b{display:block;font-family:var(--serif);font-size:clamp(20px,2.2vw,26px);font-weight:700}
.steps small{display:block;margin-top:2px;font-size:12px;color:#c8d6f0}

/* themes */
.themes{display:grid;grid-template-columns:repeat(2,1fr);gap:0 56px;margin-top:40px}
.theme{padding:26px 0;border-top:1px solid var(--line)}
.theme h3{margin:0 0 6px;font-size:20px;font-weight:700}
.theme p{margin:0;color:var(--muted);font-size:15px}
.theme .gist{color:var(--ink);font-weight:500}

/* news + sns */
.news{background:var(--mist)}
.news-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:56px;align-items:start}
.sns-links{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 0}
.sns-link{display:flex;align-items:center;gap:12px;padding:10px 18px 10px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);text-decoration:none;line-height:1.25;transition:transform .18s,box-shadow .18s,border-color .18s}
.sns-link:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(14,39,72,.14)}
.sns-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;color:#fff}
.sns-icon svg{width:22px;height:22px}
.sns-fb .sns-icon{background:#1877f2}
.sns-ig .sns-icon{background:linear-gradient(45deg,#fdb34a,#f2603f 35%,#d6249f 65%,#6a3fd1)}
.sns-name{display:block;font-weight:700;font-size:15px}
.sns-handle{display:block;font-size:12px;color:var(--muted)}
.join{border-left:4px solid var(--blue);padding:4px 0 4px 24px}
.join h3{margin:0 0 8px;font-size:20px}
.join p{margin:0 0 14px;font-size:15px;color:var(--muted)}
.join ul{margin:0;padding:0;list-style:none}
.join li{margin:0 0 6px;font-size:15px}

/* members + footer */
.people dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 28px;margin:24px 0 0}
.people dt{font-weight:700;color:var(--muted);font-size:14px}
.people dd{margin:0}
footer{background:var(--ink);color:#cdd8ec;padding:44px 0;font-size:14px}
footer a{color:#fff}
footer b{color:#fff;font-size:16px}
.foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px}

/* proposal tag */
.proposal-tag{background:var(--gold);color:var(--ink);text-align:center;font-size:13px;padding:6px 12px;font-weight:700}

@media (max-width:860px){
  .site-head{position:static}
  .site-head .wrap{flex-direction:column;align-items:flex-start;padding-block:10px;gap:4px}
  .hero{grid-template-columns:1fr;min-height:0}
  .hero-photo{order:-1;height:42vh;min-height:240px}
  .hero-copy{padding:36px 20px 44px}
  .steps{grid-template-columns:1fr;border-top:0;border-left:1px solid rgba(255,255,255,.5);margin-left:5px}
  .steps li{padding:0 0 22px 22px}
  .steps li::before{top:6px;left:-6px}
  .themes,.news-grid{grid-template-columns:1fr;gap:28px}
  .section{padding:60px 0}
  .flow{padding:70px 0}
  .people dl{grid-template-columns:1fr;gap:0}
  .people dd{margin-bottom:12px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .hero-photo img{animation:none}
  .sns-link,.btn{transition:none}
  .sns-link:hover{transform:none}
}

/* ---- inner pages ---- */
.page-head{position:relative;color:#fff;background:#10206b url("img/band-schlieren.jpg") center 40%/cover;padding:64px 0 52px}
.page-head::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,20,60,.88),rgba(8,20,60,.5))}
.page-head .wrap{position:relative}
.page-head h1{margin:0;font-family:var(--serif);font-size:clamp(30px,4vw,44px);line-height:1.35}
.page-head .rule{margin:16px 0}
.page-head p{margin:0;max-width:44em;color:#dbe5f7}
.section--tint{background:var(--mist)}
.prose{max-width:40em}
.prose p{margin:0 0 1.1em}
.prose h2.mt{margin-top:2em}
.cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}
.note{font-size:14px;color:var(--muted)}
.btn--solid{background:var(--blue);color:#fff}
.questions{margin:0;padding-left:1.2em;max-width:40em}
.questions li{margin-bottom:.3em;font-weight:500}
.topic h2{max-width:30em}
.topic p{max-width:42em;margin:0 0 1.1em}
.figs{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}
.figs img{height:150px;width:auto;max-width:100%;border:1px solid var(--line);background:#fff}
.figs--covers img{height:220px}
.reflinks{margin:12px 0 0;padding-left:1.2em}
.reflinks li{margin-bottom:.3em;font-size:15px}
dl.records{margin:20px 0 0;max-width:52em}
dl.records dt{margin-top:18px;font-weight:700;font-size:15px;line-height:1.6}
dl.records dd{margin:2px 0 0;color:var(--muted);font-size:15px}
dl.records--career{display:grid;grid-template-columns:max-content 1fr;gap:10px 28px;max-width:60em}
dl.records--career dt{margin:0}
dl.records--career dd{margin:0;color:var(--ink)}
.members{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:36px 32px;margin-top:28px}
.members h2{font-size:18px;font-family:var(--sans);margin:0 0 8px;padding-bottom:6px;border-bottom:2px solid var(--gold)}
.members ul{list-style:none;margin:0;padding:0}
.members li{padding:3px 0;font-size:15px;line-height:1.6}
.group-photo{margin:0}
.group-photo img{display:block;width:100%;height:auto;border:1px solid var(--line)}
.biglinks{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;list-style:none;margin:0;padding:0}
.biglinks a{display:block;padding:22px 24px;border:1px solid var(--line);border-left:4px solid var(--blue);background:#fff;color:var(--ink);text-decoration:none}
.biglinks a:hover{border-color:var(--blue)}
.biglinks b{display:block;font-size:19px}
.biglinks span{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.map{max-width:100%;height:auto;border:1px solid var(--line)}
@media (max-width:860px){
  .cols{grid-template-columns:1fr;gap:12px}
  dl.records--career{grid-template-columns:1fr;gap:0}
  dl.records--career dd{margin-bottom:12px}
  .page-head{padding:44px 0 36px}
}

.videos{display:flex;flex-wrap:wrap;align-items:flex-start;gap:20px;margin:20px 0}
.videos figure{margin:0;flex:1 1 420px;max-width:640px}
.videos figure.portrait{flex:0 1 220px}
.videos video{display:block;width:100%;height:auto;background:#000;border:1px solid var(--line)}
.videos figcaption{margin-top:6px;font-size:13px;color:var(--muted)}

.topic-split{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;align-items:start}
.topic-split figure{margin:0}
.topic-split video{display:block;width:100%;height:auto;aspect-ratio:9/16;background:#000;border:1px solid var(--line)}
.topic-split figcaption{margin-top:6px;font-size:13px;color:var(--muted)}
@media (max-width:860px){.topic-split{grid-template-columns:1fr;gap:16px}.topic-split figure{max-width:300px}}

/* ---- layout refinement (research / awards) ---- */
.topic{display:grid;grid-template-columns:minmax(200px,290px) minmax(0,1fr);gap:24px 56px;padding:44px 0;border-top:1px solid var(--line)}
.topic:first-child{border-top:0;padding-top:0}
.topic h2{margin:0;max-width:none;font-size:clamp(20px,2vw,24px);line-height:1.5}
.topic-body p{max-width:38em;margin:0 0 1.1em}
.topic-body .figs{align-items:flex-end;gap:14px;margin:6px 0 18px}
.topic-body .figs img{height:auto;width:auto;max-width:100%;border:0;background:transparent;box-shadow:0 0 0 1px var(--line)}
.topic-split{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:32px;align-items:start}
.topic-split figure{margin:0}
.topic-split video{display:block;width:100%;height:auto;aspect-ratio:9/16;background:#000;border:0}
dl.records--cols{max-width:none;column-count:2;column-gap:64px}
dl.records--cols>div{break-inside:avoid;padding-bottom:2px}
dl.records--cols dt{margin-top:16px}
@media (max-width:860px){
  .topic{grid-template-columns:1fr;gap:12px;padding:32px 0}
  .topic-split{grid-template-columns:1fr}
  .topic-split figure{max-width:240px}
  dl.records--cols{column-count:1}
}

.statement{font-family:var(--serif);font-size:clamp(19px,2vw,23px);line-height:1.8;font-weight:700;margin:0}
.mt-lg{margin-top:36px}
.subhead{font-family:var(--sans);font-size:17px;margin:2em 0 .6em;padding-bottom:6px;border-bottom:2px solid var(--gold);max-width:38em}

/* ---- publication lists ---- */
.subnav{display:flex;flex-wrap:wrap;gap:8px 8px;list-style:none;margin:0 0 36px;padding:0}
.subnav a{display:block;padding:7px 18px;border:1px solid var(--line);border-radius:999px;color:var(--ink);text-decoration:none;font-size:14px;font-weight:500;background:#fff}
.subnav a:hover{border-color:var(--blue)}
.subnav a[aria-current]{background:var(--blue);border-color:var(--blue);color:#fff}
.pubs-sub{font-size:20px;margin:56px 0 8px}
.pubs{margin-top:8px}
.pubs-year{display:grid;grid-template-columns:90px minmax(0,1fr);gap:8px 24px;padding:26px 0;border-top:1px solid var(--line)}
.pubs-year h3{margin:0;font-family:var(--serif);font-size:24px;line-height:1.3;color:var(--ink)}
.pubs-year ul{list-style:none;margin:0;padding:0}
.pubs-year li{margin:0 0 .95em;padding-left:1.2em;text-indent:-1.2em;font-size:15px;line-height:1.75;max-width:60em;overflow-wrap:anywhere}
.pubs-year li:last-child{margin-bottom:0}
@media (max-width:860px){.pubs-year{grid-template-columns:1fr;gap:6px;padding:20px 0}.pubs-year h3{font-size:20px}}

/* ---- member page ---- */
.person{display:grid;grid-template-columns:248px minmax(0,1fr);gap:48px;align-items:start}
.person-photo{margin:0}
.person-photo img{display:block;width:248px;height:auto;max-width:100%;object-fit:cover}
.back{margin:0 0 18px;font-size:14px}
.back a::before{content:"\2190\00a0"}
.roles{list-style:none;margin:0 0 22px;padding:0;font-weight:700;line-height:1.9}
.roles li{padding:2px 0}
.contact{display:grid;grid-template-columns:max-content 1fr;gap:6px 24px;margin:0;font-size:15px}
.contact dt{color:var(--muted);font-weight:500}
.contact dd{margin:0}
ul.plain{list-style:none;margin:0;padding:0;columns:2;column-gap:48px}
ul.plain li{padding:3px 0;break-inside:avoid}
@media (max-width:860px){.person{grid-template-columns:1fr;gap:24px}.person-photo img{width:200px}.contact{grid-template-columns:1fr;gap:0}.contact dd{margin-bottom:10px}ul.plain{columns:1}}

/* ================= English edition: Latin typography (serif display + humanist sans) ================= */
html[lang="en"]{--serif:"Source Serif 4","Iowan Old Style","Palatino Linotype",Georgia,serif;--sans:"Inter","Helvetica Neue",Arial,sans-serif}
html[lang="en"] body{font-size:16px;line-height:1.7;letter-spacing:0}
html[lang="en"] .brand b{font-size:15.5px;letter-spacing:-.005em}
html[lang="en"] .brand span{font-size:11.5px;letter-spacing:.01em}
html[lang="en"] .nav{gap:2px 20px}
html[lang="en"] .nav a{font-size:13.5px;font-weight:500;letter-spacing:.005em}
html[lang="en"] .hero h1{font-weight:600;font-size:clamp(28px,3.05vw,44px);line-height:1.16;letter-spacing:-.02em}
html[lang="en"] .hero-sub{font-size:17px;line-height:1.65;max-width:29em}
html[lang="en"] .hero-affil{font-size:13px;letter-spacing:.01em;max-width:34em}
html[lang="en"] .btn{font-size:14.5px;letter-spacing:.005em}
html[lang="en"] .section h2,html[lang="en"] footer h2,html[lang="en"] .page-head h1,html[lang="en"] .pubs-sub{font-family:var(--serif);font-weight:600;letter-spacing:-.012em;line-height:1.2}
html[lang="en"] .section h2{font-size:clamp(25px,2.6vw,33px)}
html[lang="en"] .page-head h1{font-size:clamp(32px,4vw,46px);line-height:1.12;letter-spacing:-.02em}
html[lang="en"] .page-head p{font-size:16.5px;line-height:1.6;max-width:34em}
html[lang="en"] .lead,html[lang="en"] .prose p,html[lang="en"] .topic-body p{font-size:16.5px;line-height:1.72;max-width:36em}
html[lang="en"] .statement{font-family:var(--serif);font-weight:600;font-size:clamp(19px,2vw,24px);line-height:1.5;letter-spacing:-.008em}
html[lang="en"] .steps b{font-weight:600;font-size:clamp(19px,2vw,25px);letter-spacing:-.01em}
html[lang="en"] .steps small{font-size:12.5px;line-height:1.4}
html[lang="en"] .theme h3,html[lang="en"] .join h3{font-size:19px;letter-spacing:-.005em;line-height:1.3}
html[lang="en"] .theme p{font-size:15.5px;line-height:1.65}
html[lang="en"] .theme .gist{font-weight:500}
html[lang="en"] .topic h2{font-size:clamp(21px,2vw,25px);line-height:1.25;font-weight:600}
html[lang="en"] .subhead{font-size:16px;font-weight:600}
html[lang="en"] dl.records dt{font-size:15px;line-height:1.5}
html[lang="en"] dl.records dd{font-size:15px;line-height:1.55}
html[lang="en"] dl.records--career{grid-template-columns:minmax(150px,max-content) 1fr}
html[lang="en"] dl.records--career dt{font-variant-numeric:tabular-nums;color:var(--muted);font-weight:500}
html[lang="en"] dl.records--career dd{font-size:15.5px}
html[lang="en"] .pubs-year h3{font-family:var(--serif);font-weight:600;font-size:23px;letter-spacing:-.01em}
html[lang="en"] .pubs-year li{font-size:14.5px;line-height:1.62;max-width:62em}
html[lang="en"] .members h2{font-family:var(--sans);font-size:16px;font-weight:600}
html[lang="en"] .members li{font-size:15px}
html[lang="en"] .roles{font-weight:600;line-height:1.75}
html[lang="en"] .contact{font-size:15px}
html[lang="en"] .biglinks b{font-size:19px;font-weight:600}
html[lang="en"] .biglinks span{font-size:13px}
html[lang="en"] .subnav a{font-size:13.5px}
html[lang="en"] footer{font-size:13.5px;line-height:1.6}
html[lang="en"] .proposal-tag{font-size:12px;letter-spacing:.02em}
html[lang="en"] .sns-name{font-size:14.5px}
@media (max-width:860px){
  html[lang="en"] .hero h1{font-size:clamp(28px,7.6vw,40px)}
  html[lang="en"] .nav{gap:0 16px}
}

/* ---- logo ---- */
.brand{display:flex;align-items:center;gap:12px}
.brand-mark{display:block;height:40px;width:auto;flex:0 0 auto}
.brand .brand-text{display:block;font-size:inherit;color:inherit}
footer .foot-logo{display:block;height:64px;width:auto;margin:0 0 14px}
footer p{margin:0}
@media (max-width:860px){.brand-mark{height:34px}footer .foot-logo{height:54px}}

/* hero affiliation: links look like plain text; a hairline underline appears on hover/focus only */
.hero-affil a{color:inherit;text-decoration:none;text-decoration-thickness:1px;text-underline-offset:4px}
.hero-affil a:hover,.hero-affil a:focus-visible{text-decoration:underline;text-decoration-color:currentColor}

dl.records--career dt{max-width:18em}

/* ---- links: quiet by default (text colour, no underline); an underline and the brand blue appear on hover/focus ---- */
a{color:inherit;text-decoration:none}
main a:hover,footer a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
main a:not(.btn):not(.sns-link):hover{color:var(--blue)}
main a.btn:hover,main a.sns-link:hover,main .biglinks a:hover,main .subnav a:hover,main .hero-affil a:hover{text-decoration:none}
main .hero-affil a:hover{text-decoration:underline}
main .contact a,main .people dd a,main .join li a,main .reflinks a,main .roles a,main .note a,main .back a,main .prose p a{font-weight:600}
.pubs-year li a{font-weight:inherit}
.biglinks a:hover,.subnav a:hover{color:inherit}
.subnav a[aria-current]:hover{color:#fff}

/* language switch: ほぼ全員が日本語トップに着くので，ヘッダー右端の塗りつぶしピルで目立たせる（ナビの下線リンクとは別の部品。navの外に置く） */
.site-head nav{margin-left:auto}
a.lang-switch{display:inline-block;flex:0 0 auto;margin-left:8px;padding:7px 22px;border:2px solid var(--blue);border-radius:999px;background:var(--blue);color:#fff;font-size:14px;font-weight:700;line-height:1.3;text-decoration:none;white-space:nowrap}
a.lang-switch:hover{background:var(--ink);border-color:var(--ink);color:#fff;text-decoration:none}
html[lang="en"] a.lang-switch{letter-spacing:.02em}

/* 幅1140px以下（スマホ・タブレット・狭いウィンドウ）：1段目＝ロゴ（左）＋言語ボタン（右），2段目＝1行メニュー（入りきらなければ横スクロール）。それより広い画面は1行ヘッダー */
@media (max-width:1140px){
  .site-head .wrap{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 12px;padding-block:10px 4px}
  .site-head .brand{grid-column:1;grid-row:1}
  a.lang-switch{grid-column:2;grid-row:1;margin:0;padding:6px 18px}
  .site-head nav{grid-column:1/-1;grid-row:2;margin:0;min-width:0}
  html .site-head .nav{flex-wrap:nowrap;gap:0 22px;overflow-x:auto;overflow-y:hidden;margin-inline:-20px;padding-inline:20px 36px;scrollbar-width:none}
  .site-head .nav::-webkit-scrollbar{display:none}
  html .site-head .nav li{flex:0 0 auto}
  html .site-head .nav a{white-space:nowrap;padding:9px 0 7px}
  .site-head .wrap::after{content:"";position:absolute;right:-20px;bottom:0;width:44px;height:38px;background:linear-gradient(to right,rgba(251,252,254,0),#fbfcfe 85%);pointer-events:none}   /* 右端のフェード＝まだ続く合図 */
}

/* 短い項目の一覧：行頭に金の点を置き，折り返した行は点の右に揃える（ぶら下げインデント）。項目間は行間より広く取り，折り返しと別項目を見分けやすくする */
ul.plain,.questions,.reflinks{list-style:none;padding-left:0}
ul.plain{columns:1;max-width:46em}
ul.plain li,.questions li,.reflinks li{position:relative;padding:0 0 0 22px;line-height:1.6;break-inside:avoid}
ul.plain li{margin:0 0 .7em}
.questions li{margin:0 0 .65em}
.reflinks li{margin:0 0 .65em}
ul.plain li:before,.questions li:before,.reflinks li:before{content:"";position:absolute;left:3px;top:.68em;width:7px;height:7px;border-radius:50%;background:var(--gold)}

/* 受賞の2列：1件ごとに金の点＋ぶら下げインデント。賞名（太字）と受賞者（灰色）は1件としてまとまり，件と件の間は広く空ける */
dl.records--cols>div{position:relative;padding:0 0 0 22px;margin:0 0 1.15em}
dl.records--cols dt{margin-top:0}
dl.records--cols>div:before{content:"";position:absolute;left:3px;top:.56em;width:7px;height:7px;border-radius:50%;background:var(--gold)}

/* 同じ枠の中に .prose が続くとき（学会の一覧→学術活動など），見出しの前を節の間隔に近く空ける */
.wrap>.prose+.prose{margin-top:72px}
@media (max-width:860px){.wrap>.prose+.prose{margin-top:52px}}

/* フッターのSNSリンク：ロゴ（単色）＋名前。トップの「最新情報」のボタンと同じアイコン */
.foot-sns{display:flex;flex-wrap:wrap;gap:6px 22px;margin:0 0 10px}
.foot-sns a{display:inline-flex;align-items:center;gap:8px;color:#fff;text-decoration:none;font-weight:500}
.foot-sns a:hover,.foot-sns a:focus-visible{text-decoration:underline;text-underline-offset:3px}
.foot-sns svg{width:20px;height:20px;flex:0 0 auto}
.foot-sns svg path{stroke:currentColor;stroke-width:1.1;stroke-linejoin:round}   /* Facebookの「f」を少し太く（Instagramのアイコンの線の太さに合わせる） */

/* ---- 写真（2026-10-13 追加）---- */
.photo-band{padding:56px 0 0}
.photo-band-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0;padding:0;list-style:none}
.photo-band-grid img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.photo-band-grid--members{margin:56px 0 0}
.theme-photo{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;margin:0 0 16px}
.join-photo{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;margin:0 0 18px}
.with-photo{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;align-items:start}
.side-photo{margin:0}
.side-photo img{display:block;width:100%;height:auto}
.side-photo figcaption{margin-top:8px;font-size:13px;color:var(--muted)}
.wide-photo{margin:0}
.wide-photo img{display:block;width:100%;height:auto;aspect-ratio:12/5;object-fit:cover}
.section--photo{padding:48px 0 0}
@media (max-width:860px){
  .photo-band{padding-top:40px}
  .photo-band-grid{gap:6px}
  .with-photo{grid-template-columns:1fr;gap:24px}
  .side-photo{max-width:300px;order:-1}
  .section--photo{padding-top:32px}
}

.photo-band-grid--four{grid-template-columns:repeat(4,1fr);margin-top:24px}
@media (max-width:860px){.photo-band-grid--four{grid-template-columns:repeat(2,1fr)}}
