: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}.masthead{display:grid;grid-template-columns:1fr clamp(280px,40%,480px);gap:clamp(24px,4vw,56px);align-items:center;margin-top:clamp(18px,3vw,32px);padding-bottom:clamp(28px,4vw,44px);border-bottom:1px solid var(--line-2)}.masthead__brand{font-size:12.5px;letter-spacing:.2em;color:var(--ink);margin:0 0 12px}.masthead__name{font-size:clamp(34px,6vw,56px);font-weight:700;letter-spacing:.03em;margin:0;line-height:1.1}.masthead__role{font-size:clamp(12px,1.4vw,13.5px);color:var(--ink-2);margin:16px 0 0;line-height:1.7}.masthead__about{font-size:13px;color:var(--ink-2);margin:12px 0 0;line-height:1.85;max-width:30em}.masthead__about b{font-weight:700}.masthead__img{width:100%;height:clamp(290px,27vw,380px);object-fit:cover;object-position:60% 20%;border:1px solid var(--line-2);background:#f0efec}@media (max-width: 700px){.masthead{grid-template-columns:1fr;gap:18px;padding-bottom:26px}.masthead__img{height:280px;object-position:60% 14%;order:-1}}.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)}.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:18px 0;border-top:1px solid var(--line)}.orgs li:first-child{border-top:0;padding-top:0}.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)}.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,.masthead__name{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__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}
