:root{--paper: #fcfcfb;--ink: #171717;--ink-2: #3a3a3a;--gray: #6f6f6d;--line: #e4e3df;--line-2: #cfceca;--gothic: "Hiragino Kaku Gothic ProN","Yu Gothic","游ゴシック",YuGothic,"Noto Sans JP",system-ui,sans-serif;--latin: "Helvetica Neue", Arial;--font: var(--latin), var(--gothic);--wrap: 1080px;--gut: clamp(22px, 5vw, 56px)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;line-break:strict}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.8;letter-spacing:.01em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"pkna" 1}a{color:inherit}h1,h2,h3{font-weight:700;letter-spacing:.02em;font-feature-settings:"palt" 1;word-break:keep-all;overflow-wrap:normal}.tnum{font-variant-numeric:tabular-nums;font-feature-settings:"palt" 1}.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}.layout{display:grid;grid-template-columns:232px 1fr;gap:clamp(36px,6vw,88px);align-items:start}.hero{margin-top:clamp(16px,3vw,28px)}.hero__img{display:block;width:100%;height:auto;border:1px solid var(--line-2)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.prof__def{margin-top:clamp(28px,4vw,40px);padding-top:clamp(24px,3vw,32px);border-top:1px solid var(--line);max-width:760px}.lead__lede{font-size:clamp(16px,1.7vw,18px);font-weight:500;color:var(--ink);line-height:1.95;margin:0 0 18px}.lead__body{font-size:15px;color:var(--ink-2);line-height:1.95;margin:0}.lead__body b{font-weight:700;color:var(--ink)}.prof__title{font-size:13px;color:var(--gray);line-height:1.7;margin:0 0 16px}.rail{position:sticky;top:0;align-self:start;padding-block:clamp(32px,5vw,56px) 40px}.rail nav{margin:0;border-top:1px solid var(--line)}.rail nav a{display:flex;gap:12px;align-items:baseline;padding:11px 2px;border-bottom:1px solid var(--line);text-decoration:none;font-size:14px;color:var(--ink)}.rail nav a:hover{color:var(--gray)}.rail nav a .n{font-size:11.5px;color:var(--gray);width:16px}.rail__ext{margin:26px 0 0;font-size:12.5px;line-height:2}.rail__ext a{color:var(--gray);text-decoration:none;border-bottom:1px solid var(--line-2)}.rail__ext a:hover{color:var(--ink)}.main{padding-block:clamp(40px,6vw,72px) 0;min-width:0}.sec{padding-block:clamp(34px,5vw,56px);border-top:1px solid var(--line-2)}.sec:first-child{border-top:0;padding-top:0}.sec__head{display:flex;align-items:baseline;gap:14px;margin:0 0 6px}.sec__no{font-size:12px;color:var(--gray);letter-spacing:.12em}.sec__t{font-size:clamp(18px,2.2vw,22px);margin:0}.sec__intro{font-size:13.5px;color:var(--gray);margin:0 0 22px;max-width:42em}.more{display:inline-block;margin-top:20px;font-size:13px;text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:1px;color:var(--ink)}.more:hover{border-color:var(--gray);color:var(--gray)}.ledger{list-style:none;margin:0;padding:0}.ledger li{display:grid;grid-template-columns:84px 1fr;gap:16px;padding:15px 0;border-top:1px solid var(--line)}.ledger li:first-child{border-top:0}.ledger time{font-size:13px;color:var(--gray);padding-top:1px}.ledger .body .k{font-size:11.5px;color:var(--gray);letter-spacing:.08em;margin-right:10px}.ledger .body .t{font-size:15px}.ledger .body a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line-2)}.ledger .body a:hover{color:var(--gray)}.ledger .body p{margin:5px 0 0;font-size:13px;color:var(--gray)}.ext{font-size:11.5px;color:var(--gray);margin-left:9px;white-space:nowrap;border:0}.prof{display:grid;grid-template-columns:150px 1fr;gap:28px;align-items:start}.prof__photo{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:60% 22%;background:#ededeb;border:1px solid var(--line-2)}.prof__photo+.dl{margin-top:10px}.dl{display:inline-block;font-size:12px;color:var(--gray);text-decoration:none;border-bottom:1px solid var(--line-2)}.dl:hover{color:var(--ink)}.prof__bio p{margin:0 0 1.1em;font-size:15.5px;color:var(--ink-2)}.cv{list-style:none;margin:22px 0 0;padding:18px 0 0;border-top:1px solid var(--line)}.cv li{display:grid;grid-template-columns:108px 1fr;gap:16px;padding:7px 0;font-size:14px}.cv li .y{color:var(--gray);font-size:13px}.works{list-style:none;margin:0;padding:0}.work{display:grid;grid-template-columns:208px 1fr;gap:22px;padding:22px 0;border-top:1px solid var(--line);align-items:start}.work:first-child{border-top:0;padding-top:0}.work__banner{display:flex;align-items:center;justify-content:center;aspect-ratio:16/9;background:#ededeb;border:1px solid var(--line-2);color:var(--gray);font-size:11px;line-height:1.5;text-align:center;text-decoration:none;overflow:hidden}.work__banner img{width:100%;height:100%;object-fit:cover;display:block}.work .k{font-size:11.5px;color:var(--gray);letter-spacing:.08em}.work__t{font-size:15.5px;font-weight:700;line-height:1.65;margin:7px 0 0}.work__t a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line-2)}.work__t a:hover{color:var(--gray)}.work__src,.work__desc{font-size:13px;color:var(--gray);margin:8px 0 0}@media (max-width: 560px){.work{grid-template-columns:1fr;gap:10px}.work__banner{max-width:280px}}.subhead{font-size:14px;font-weight:700;color:var(--ink);margin:2px 0 14px}.subhead--gap{margin-top:44px;padding-top:28px;border-top:1px solid var(--line)}.chip{display:inline-block;font-size:11px;color:var(--ink-2);border:1px solid var(--line-2);padding:1px 8px;margin-right:10px;white-space:nowrap}.soon{display:inline-block;margin-top:5px;font-size:10.5px;letter-spacing:.04em;color:var(--gray);border:1px solid var(--line-2);padding:0 6px}.ledger--talks li{grid-template-columns:96px 1fr}.ledger--talks .t a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line-2)}.ledger--talks .t a:hover{color:var(--gray)}.talk-banner{display:block;margin-top:12px;max-width:340px;border:1px solid var(--line-2)}.talk-banner img{display:block;width:100%}@media (max-width: 560px){.ledger--talks li{grid-template-columns:80px 1fr}}.orgs{list-style:none;margin:0;padding:0}.orgs li{padding:22px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:start}.orgs li:first-child{border-top:0;padding-top:0}.org-banner-link{display:block}.org-banner{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--line-2);background:#fff}.org-banner--logo{object-fit:contain;padding:16px}@media (max-width: 560px){.orgs li{grid-template-columns:1fr;gap:12px}.org-banner{max-width:280px}}.orgs .nm{font-size:16px;font-weight:700}.orgs .meta{font-size:13px;color:var(--gray);margin:3px 0 0}.orgs .desc{font-size:15px;color:var(--ink-2);margin:8px 0 0}.orgs .lnk{font-size:12.5px;margin:9px 0 0}.orgs .lnk a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line-2)}.orgs .lnk a:hover{color:var(--gray)}.faq{max-width:720px;margin:0}.faq dt{font-size:15px;font-weight:700;color:var(--ink);margin-top:22px}.faq dt:first-of-type{margin-top:0}.faq dd{margin:8px 0 0;font-size:14.5px;color:var(--ink-2);line-height:1.9}.form{max-width:560px}.radios{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:4px 0 20px}.radio input{position:absolute;opacity:0}.radio label{display:block;border:1px solid var(--line-2);padding:12px 14px;cursor:pointer;font-size:13.5px}.radio input:checked+label{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.field{margin-bottom:16px}.field label{display:block;font-size:13px;color:var(--ink);margin-bottom:6px}.field label .req{color:var(--gray);font-size:11px;margin-left:6px}.field input,.field textarea{width:100%;font-family:var(--gothic);font-size:14.5px;color:var(--ink);padding:11px 12px;border:1px solid var(--line-2);background:#fff;border-radius:0}.field input:focus,.field textarea:focus{outline:none;border-color:var(--ink)}.field textarea{min-height:120px;resize:vertical}.submit{font-family:var(--gothic);font-size:14px;font-weight:700;color:var(--paper);background:var(--ink);border:0;border-radius:0;padding:13px 30px;cursor:pointer}.submit:hover{background:#000}.note{font-size:12.5px;color:var(--gray);margin-top:12px}.contact-direct{font-size:13.5px;color:var(--ink-2);margin:0 0 20px}.contact-direct a{color:var(--ink);border-bottom:1px solid var(--line-2);text-decoration:none}.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}.form-done{font-size:14.5px;color:var(--ink);border:1px solid var(--line-2);padding:16px 18px;max-width:560px}.foot{border-top:1px solid var(--line-2);margin-top:8px;padding:26px 0 64px}.foot .wrap{display:flex;flex-wrap:wrap;gap:10px 28px;justify-content:space-between;align-items:baseline}.foot .who{font-size:12.5px;color:var(--gray)}.foot nav{font-size:12.5px}.foot nav a{color:var(--gray);text-decoration:none;margin-left:16px;border-bottom:1px solid transparent}.foot nav a:hover{color:var(--ink);border-color:var(--line-2)}.foot .cr{width:100%;font-size:11.5px;color:var(--gray);margin-top:18px}@media (max-width: 860px){.layout{grid-template-columns:1fr;gap:0}.rail{position:static;padding-bottom:8px}.rail nav{display:grid;grid-template-columns:1fr 1fr}.main{padding-top:28px}}@media (max-width: 560px){.prof{grid-template-columns:1fr}.prof__photo{max-width:150px}.radios{grid-template-columns:1fr}.ledger li,.cv li{grid-template-columns:72px 1fr;gap:12px}.rail nav{grid-template-columns:1fr}}@media (max-width: 560px){.sec__t{word-break:keep-all;overflow-wrap:normal}}.subpage{max-width:760px;margin-inline:auto;padding:clamp(36px,6vw,72px) var(--gut) 80px}.back{font-size:13px;color:var(--gray);text-decoration:none;border-bottom:1px solid var(--line-2)}.back:hover{color:var(--ink)}.page-title{font-size:clamp(22px,3vw,28px);font-weight:700;letter-spacing:.04em;margin:26px 0 6px}.page-sub{font-size:13.5px;color:var(--gray);margin:0 0 30px}.empty{font-size:14px;color:var(--gray)}.article__hero{display:block;width:100%;height:auto;margin:26px 0 4px;border:1px solid var(--line-2)}.article__meta{font-size:13px;color:var(--gray);margin:0 0 4px}.prose{max-width:720px}.prose>:first-child{margin-top:0}.prose h2{font-size:20px;margin:1.9em 0 .6em}.prose h3{font-size:16px;margin:1.6em 0 .5em}.prose p{margin:0 0 1.3em;font-size:15.5px;line-height:1.95;color:var(--ink-2)}.prose ul,.prose ol{margin:0 0 1.3em;padding-left:1.4em}.prose li{margin:.3em 0;color:var(--ink-2)}.prose a{color:var(--ink);border-bottom:1px solid var(--line-2);text-decoration:none}.prose a:hover{color:var(--gray)}.prose blockquote{margin:1.5em 0;padding-left:1em;border-left:2px solid var(--line-2);color:var(--gray)}.prose strong{font-weight:700;color:var(--ink)}.prose hr{border:0;border-top:1px solid var(--line);margin:2em 0}
