ruby{ruby-align:center;ruby-position:over}rt,rp{display:none}html[data-ruby=on] rt{display:revert;color:var(--ruby-muted-color);font-size:.5em;font-weight:400;line-height:1.15}html[data-ruby=on] ruby{line-height:1.45}.ruby-toggle{border:1px solid var(--ruby-border-color);border-radius:var(--ruby-radius);background:var(--ruby-surface-color);font-family:var(--ruby-font);align-items:stretch;padding:2px 3px;display:inline-flex}.ruby-toggle__caption{border-right:1px solid var(--ruby-border-color);color:var(--ruby-muted-color);align-items:center;padding:0 10px 0 9px;font-size:.82rem;font-weight:700;line-height:1.3;display:inline-flex}.ruby-toggle__track{gap:2px;padding-left:3px;display:inline-flex}.ruby-toggle__opt{border-radius:var(--ruby-radius);min-height:28px;color:var(--ruby-muted-color);font:inherit;cursor:pointer;background:0 0;border:0;padding:3px 12px;font-size:.82rem;font-weight:700;line-height:1.3;transition:color .16s,background-color .16s}.ruby-toggle__opt:hover{color:var(--ruby-text-color)}.ruby-toggle__opt[aria-pressed=true]{background:var(--ruby-accent-color);color:var(--ruby-accent-text-color)}.ruby-toggle__opt:focus-visible{outline:2px solid var(--ruby-accent-color);outline-offset:2px}:root{--color-bg:#fbfaf7;--color-surface:#fbfaf7;--color-surface-muted:#f0ede8;--color-text:#151315;--color-muted:#625c63;--color-muted-inverse:#d9d3da;--color-border:#ded5cd;--color-accent:#67407f;--color-accent-strong:#4d2f62;--color-accent-soft:#f1edf4;--color-grid-line:#15131509;--color-rail-bg:color-mix(in srgb, var(--color-surface-muted) 62%, var(--color-bg));--font-body:"UD デジタル教科書体 N-R", "UD Digi Kyokasho N-R", var(--font-biz-udpgothic), serif;--font-ui:var(--font-biz-udpgothic), "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", system-ui, -apple-system, "Segoe UI", sans-serif;--container:min(100% - 48px, 920px);--prose:min(100%, 720px);--content-wide:min(100%, 920px);--ruby-accent-color:var(--color-accent);--ruby-accent-text-color:var(--color-bg);--ruby-border-color:var(--color-border);--ruby-font:var(--font-ui);--ruby-muted-color:var(--color-muted);--ruby-radius:0;--ruby-surface-color:var(--color-surface);--ruby-text-color:var(--color-text)}*{box-sizing:border-box}html{color:var(--color-text);background:var(--color-bg);font-family:var(--font-body);overflow-wrap:anywhere;text-size-adjust:100%;line-height:1.75}body{background:linear-gradient(90deg, var(--color-grid-line) 1px, transparent 1px) 0 0 / 24px 24px, var(--color-bg);min-width:320px;margin:0;font-size:1.04rem}a{color:var(--color-accent-strong);text-underline-offset:.22em;text-decoration-thickness:1px;transition:color .16s,background-color .16s,border-color .16s,text-decoration-thickness .16s}a:hover{text-decoration-thickness:2px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--color-accent);outline-offset:4px}img{max-width:100%;height:auto}html[data-ruby=on] .chip-type rt{color:var(--color-muted-inverse)}.skip-link{z-index:40;border:1px solid var(--color-text);background:var(--color-bg);font-family:var(--font-ui);padding:7px 10px;position:absolute;top:16px;left:16px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-layout{grid-template-columns:minmax(260px,320px) minmax(0,1fr);min-height:100vh;display:grid}.site-rail{border-right:1px solid var(--color-text);background:var(--color-rail-bg);scrollbar-gutter:stable;flex-direction:column;align-self:start;gap:14px;min-height:100vh;max-height:100vh;padding:28px 24px 100px;display:flex;position:sticky;top:0;overflow-y:auto}.site-rail__identity{gap:14px;display:grid}.site-rail__image-link{width:118px;color:inherit;display:block}.site-rail img{aspect-ratio:1;border:1px solid var(--color-text);object-fit:cover;width:118px;display:block}.rail-kicker,.eyebrow{color:var(--color-accent);font-family:var(--font-ui);letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px;font-size:.76rem;font-weight:700;line-height:1.35}.site-rail__name{margin:0;font-size:1.4rem;font-weight:700;line-height:1.4}.site-rail__name a{color:var(--color-text);text-decoration:none}.site-rail p{margin:0}.site-rail__affiliation{color:var(--color-muted)}.site-rail__nav,.in-page-nav{border-top:1px solid var(--color-border);font-family:var(--font-ui);gap:0;margin:12px 0;display:grid}.in-page-nav{margin-top:0}.in-page-nav p{border-bottom:1px solid var(--color-border);color:var(--color-muted);letter-spacing:.1em;text-transform:uppercase;margin:0;padding:10px 0;font-size:.72rem;font-weight:700}.site-rail__nav a,.in-page-nav a{border-bottom:1px solid var(--color-border);min-width:0;color:var(--color-text);padding:10px 0 10px 18px;font-weight:700;line-height:1.35;text-decoration:none;position:relative}.site-rail__nav a:before,.in-page-nav a:before{content:"";border:1px solid var(--color-muted);background:0 0;width:7px;height:7px;position:absolute;top:50%;left:1px;transform:translateY(-50%)}.site-rail__nav a[aria-current=page],.in-page-nav a[aria-current=location]{color:var(--color-accent)}.site-rail__nav a[aria-current=page]:before,.in-page-nav a[aria-current=location]:before{border-color:var(--color-accent);background:var(--color-accent)}.in-page-nav--inline{font-family:var(--font-ui);flex-wrap:wrap;align-items:baseline;gap:0 10px;margin:0 0 30px;font-size:.88rem;font-weight:700;display:none}.page-hero+.in-page-nav--inline{margin-top:-18px}.in-page-nav--inline__caption{color:var(--color-muted);letter-spacing:.06em;margin-right:4px;font-size:.76rem}.in-page-nav--inline__sep{color:var(--color-border)}.in-page-nav--inline a{min-height:40px;color:var(--color-text);align-items:center;text-decoration:none;display:inline-flex}.in-page-nav--inline a[aria-current=location]{color:var(--color-accent)}.site-contact,.side-sticky__contact,.btn,.copy-email-button{border:1px solid var(--color-text);min-height:44px;color:var(--color-text);font-family:var(--font-ui);background:0 0;border-radius:0;justify-content:center;align-items:center;padding:10px 14px;font-size:.95rem;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex}.site-contact:hover,.site-contact[aria-current=page],.side-sticky__contact:hover,.side-sticky__contact[aria-current=page],.btn:hover,.copy-email-button:hover{border-color:var(--color-accent);color:var(--color-accent)}.site-rail__tools{gap:12px;margin-top:auto;display:grid}.language-switch{color:var(--color-muted);font-family:var(--font-ui);flex-wrap:wrap;align-items:center;gap:8px;font-size:.86rem;display:flex}.language-switch a{color:var(--color-muted);text-decoration:none}.language-switch a[aria-current=true]{color:var(--color-accent);text-underline-offset:.28em;font-weight:700;text-decoration:underline}.side-sticky{display:none}.site-content{min-width:0}.page-shell{width:var(--container);margin-inline:auto;padding:70px 0 84px}.home-lead,.section,.cv-section{scroll-margin-top:30px}.home-lead{max-width:var(--content-wide);padding-bottom:42px}.home-lead h2{max-width:min(100%,13.5em);color:var(--color-text);letter-spacing:0;line-break:strict;overflow-wrap:normal;text-wrap:balance;word-break:keep-all;margin:0;font-size:clamp(2.05rem,4vw,3rem);font-weight:700;line-height:1.2}.home-lead__heading>span{display:inline-block}.home-lead__summary{max-width:min(100%,42em);margin:16px 0 0}.cta-row{font-family:var(--font-ui);flex-wrap:wrap;gap:6px 20px;margin:18px 0 30px;font-weight:700;display:flex}.home-lead__cta{margin:20px 0 32px}.home-research-grid{grid-template-columns:minmax(0,1fr);gap:22px;max-width:min(100%,42em);display:grid}.home-research-grid article{min-width:0;padding:0}.home-research-grid article+article{border-top:1px solid var(--color-border);padding-top:22px}.home-research-grid h3,.book-card h3{margin:0 0 10px;font-size:1.15rem;line-height:1.35}.home-research-grid p,.book-card p{color:var(--color-muted);margin:0;font-size:.94rem}.book-card .book-description{white-space:pre-line}.section,.cv-section{border-top:3px double var(--color-border);margin-top:0;padding:42px 0}.section-header,.cv-section h2,.year-group h2{color:var(--color-accent);font-family:var(--font-ui);letter-spacing:.06em;border:0;margin:0 0 20px;padding:0;font-size:1.15rem;font-weight:700;line-height:1.3}.section-header{max-width:var(--content-wide);justify-content:space-between;align-items:baseline;gap:18px;display:flex}.section-header h2{font:inherit;color:inherit;letter-spacing:inherit;margin:0}.section-header a{font-family:var(--font-ui);letter-spacing:0;flex:none;font-size:.92rem}.prose{max-width:var(--prose);overflow-wrap:anywhere}.prose p{margin:0 0 1em}.page-hero{max-width:var(--prose);overflow-wrap:anywhere;margin-bottom:44px}.page-hero h1{letter-spacing:0;margin:0;font-size:clamp(2rem,5vw,2.6rem);font-weight:700;line-height:1.22}.page-hero p:not(.eyebrow){color:var(--color-muted);margin:20px 0 0;font-size:1.02rem}html[data-ruby=on] .page-hero h1,html[data-ruby=on] .home-lead h2{line-height:1.42}.research-list{max-width:var(--content-wide);grid-template-columns:minmax(0,1fr);gap:28px;display:grid}.research-list article{flex-direction:column;gap:12px;min-width:0;padding:0;display:flex}.research-list article+article{border-top:1px solid var(--color-border);padding-top:28px}.research-list h3{margin:0;font-size:1.22rem;font-weight:700;line-height:1.34}.research-list p,.research-list ul{margin:0}.research-list ul{color:var(--color-muted);padding-left:1.2em}.research-list li+li{margin-top:6px}.related-links{font-family:var(--font-ui);flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:6px;font-size:.86rem;display:flex}.related-links span{color:var(--color-muted);letter-spacing:.04em;flex-basis:100%;font-size:.78rem;font-weight:700}.related-links a{border:1px solid var(--color-border);min-height:30px;color:var(--color-text);align-items:center;padding:3px 8px;font-weight:700;line-height:1.35;text-decoration:none;display:inline-flex}.related-links a:hover{border-color:var(--color-accent);color:var(--color-accent)}.outreach-block{max-width:var(--content-wide)}.cv-section{max-width:860px}.cv-section--wide{max-width:var(--content-wide)}.cv-list,.compact-ledger,.ledger{max-width:var(--content-wide);border-top:1px solid var(--color-border);gap:0;margin:0;padding:0;list-style:none;display:grid}.cv-list,.compact-ledger{grid-template-columns:max-content minmax(0,1fr);column-gap:20px}.cv-list li,.compact-ledger li{grid-column:1/-1;grid-template-columns:max-content minmax(0,1fr);grid-template-columns:subgrid;border-bottom:1px solid var(--color-border);gap:8px 20px;padding:14px 0;display:grid}.cv-period,.compact-ledger time{color:var(--color-accent);font-family:var(--font-ui);font-size:.84rem;font-weight:700}.cv-list h3,.compact-ledger strong,.compact-ledger a{margin:0;font-size:1rem;font-weight:700;line-height:1.45}.cv-list p,.compact-ledger span{color:var(--color-muted);grid-column:2;margin:0;font-size:.92rem}.year-groups{gap:34px;display:grid}.year-group{max-width:var(--content-wide)}.talk-sections{gap:44px;display:grid}.talk-section{max-width:var(--content-wide)}.talk-section-heading,.talk-year-heading{color:var(--color-accent);font-family:var(--font-ui);letter-spacing:.04em;border:0;margin:0 0 18px;padding:0;font-size:1.04rem;font-weight:700;line-height:1.3}.talk-year-heading{color:var(--color-muted);margin-bottom:10px;font-size:.9rem}.ledger-item{border-bottom:1px solid var(--color-border);padding:18px 0;scroll-margin-top:24px}.ledger-item article{overflow-wrap:anywhere;margin:0}.ledger-item h3{margin:0;font-size:1.04rem;font-weight:700;line-height:1.5}.ledger-item h3 a{align-items:baseline;gap:.38em;display:inline-flex}.ledger-alt,.ledger-meta{color:var(--color-muted);margin:6px 0 0;font-size:.9rem}.ledger-meta cite{font-style:italic}.ledger-meta cite.cite-ja{font-style:normal}.latin-fallback{font-family:system-ui,-apple-system,Segoe UI,Helvetica Neue,Arial,sans-serif}.author-list{color:var(--color-muted)}.author-self{color:var(--color-text);text-underline-offset:.22em;text-decoration:underline 1px}.ledger-links{font-family:var(--font-ui);flex-wrap:wrap;gap:8px 14px;margin:8px 0 0;font-size:.88rem;display:flex}.ledger-links a,.footer-links a{align-items:baseline;gap:.35em;display:inline-flex}.link-icon-wrap{flex:none;line-height:1;display:inline-flex}.link-icon{fill:currentColor;vertical-align:-.125em;width:1em;height:1em}.pub-tags{flex-wrap:wrap;gap:6px;margin:0 0 10px;padding:0;display:flex}.chip{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-muted);font-family:var(--font-ui);letter-spacing:.02em;border-radius:0;padding:3px 9px;font-size:.74rem;font-weight:600;line-height:1.5;display:inline-block}.chip-type{border-color:var(--color-text);background:var(--color-text);color:var(--color-bg)}html[data-ruby=on] .chip rt{font-size:.62em}.book-shelf{max-width:var(--content-wide)}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0;padding:0;list-style:none;display:grid}.book-card{border-bottom:1px solid var(--color-border);grid-template-columns:96px minmax(0,1fr);align-items:start;gap:16px;min-width:0;padding-bottom:18px;display:grid}.book-cover-link{color:inherit;text-decoration:none;display:block}.book-cover{aspect-ratio:7/10;border:1px solid var(--color-border);background:var(--color-surface-muted);object-fit:cover;width:100%;display:block}.book-cover--fallback{color:var(--color-accent-strong);place-items:end start;padding:14px;font-size:.92rem;font-weight:700;line-height:1.45;display:grid}.book-card__body{margin-top:0}.book-role{color:var(--color-accent);font-family:var(--font-ui);margin:0 0 6px;font-size:.78rem;font-weight:700}.book-card__links{font-family:var(--font-ui);flex-wrap:wrap;gap:8px 12px;margin-top:8px;display:flex}.request-list,.contact-methods{max-width:var(--prose);border-top:1px solid var(--color-border);gap:0;padding:0;list-style:none;display:grid}.request-list{margin:18px 0 0}.contact-methods{margin:0}.request-list li,.contact-methods li{border-bottom:1px solid var(--color-border);padding:14px 0}.request-list h3{margin:0 0 6px;font-size:1.1rem;font-weight:700}.request-list p,.contact-fee{color:var(--color-muted);margin:0}.contact-fee{max-width:var(--prose);margin-top:20px}.contact-methods li{flex-wrap:wrap;align-items:baseline;gap:6px 14px;min-width:0;display:flex}.contact-method-label{min-width:88px;color:var(--color-text);font-family:var(--font-ui);font-size:.9rem;font-weight:700}.contact-email-row{flex-wrap:wrap;align-items:center;gap:8px 12px;display:inline-flex}.copy-email-button{min-height:32px;font:inherit;font-family:var(--font-ui);cursor:pointer;padding:4px 11px;font-size:.84rem}.empty-state{max-width:var(--prose);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);color:var(--color-muted);padding:18px 0}.empty-state strong{color:var(--color-text);font-size:1.2rem;font-weight:700;display:block}.site-footer{width:var(--container);border-top:1px solid var(--color-border);color:var(--color-muted);font-family:var(--font-ui);margin-inline:auto;padding:26px 0 36px}.site-footer__copyright{margin:0;font-size:.82rem}@media (width<=880px){:root{--container:min(100% - 32px, 920px)}.site-layout{grid-template-columns:1fr}.side-sticky{z-index:20;border-bottom:1px solid var(--color-text);background:color-mix(in srgb, var(--color-bg) 96%, transparent);min-height:48px;font-family:var(--font-ui);backdrop-filter:blur(10px);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 10px;display:grid;position:sticky;top:0}.side-sticky__main{justify-content:flex-start;align-items:center;gap:8px;min-width:0;display:flex}.side-sticky__tools{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:6px;min-width:0;display:flex}.side-sticky__brand{min-width:0;color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:.98rem;font-weight:700;line-height:1.2;text-decoration:none;overflow:hidden}.side-sticky__contact{white-space:nowrap;flex:none;min-height:34px;padding:5px 9px;font-size:.84rem}.side-sticky__contact-short{display:none}.language-switch--compact{white-space:nowrap;flex-wrap:nowrap;flex:none;gap:4px;font-size:.78rem;font-weight:700;line-height:1.2}.side-sticky .ruby-toggle--compact{flex:none;align-items:center;padding:1px}.side-sticky .ruby-toggle--compact .ruby-toggle__caption{padding-inline:6px;font-size:.72rem;line-height:1.2}.side-sticky .ruby-toggle--compact .ruby-toggle__track{gap:1px;padding-left:2px}.side-sticky .ruby-toggle--compact .ruby-toggle__opt{min-height:28px;padding:3px 7px;font-size:.76rem;line-height:1.2}.site-rail{border-right:0;border-bottom:1px solid var(--color-text);gap:12px;min-height:0;max-height:none;padding-top:20px;padding-bottom:18px;position:relative;overflow-y:visible}.site-rail .in-page-nav,.site-rail .site-contact,.site-rail__tools{display:none}.in-page-nav--inline{display:flex}.site-rail__identity{grid-template-columns:auto minmax(0,1fr);align-items:center}.site-rail__identity h1,.site-rail__name{font-size:1.3rem}.site-rail__image-link,.site-rail img{width:76px}.site-rail__nav{grid-template-columns:repeat(2,minmax(0,1fr))}.site-rail__nav a{align-items:center;min-height:44px;padding-block:8px;display:flex}.page-shell{padding-top:46px}.home-research-grid,.research-list,.book-grid,.compact-ledger li,.cv-list li{grid-template-columns:1fr}.research-list article:last-child{grid-column:auto}.compact-ledger span,.cv-list p{grid-column:1}.book-card{grid-template-columns:104px minmax(0,1fr)}.footer-links{justify-content:flex-start}}@media (width<=520px){:root{--container:min(100% - 24px, 920px)}.side-sticky{grid-template-columns:minmax(3.9em,1fr) auto;gap:5px;padding-inline:8px}.side-sticky__main{gap:5px}.side-sticky__tools{gap:4px}.side-sticky__brand{font-size:.92rem}.side-sticky__contact{min-height:32px;padding-inline:7px;font-size:.78rem}.side-sticky__contact-full{display:none}.side-sticky__contact-short{display:inline}.language-switch--compact{gap:3px;font-size:.74rem}.side-sticky .ruby-toggle--compact .ruby-toggle__caption{padding-inline:5px;font-size:.68rem}.side-sticky .ruby-toggle--compact .ruby-toggle__opt{min-height:26px;padding-inline:5px;font-size:.72rem}.site-rail{padding-inline:18px}.site-rail__nav{grid-template-columns:1fr}.home-lead h2{font-size:1.92rem}.page-hero h1{font-size:2rem}.book-card{grid-template-columns:92px minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-property:none!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
