:root{color-scheme:light;font-family:"Yu Gothic",YuGothic,"游ゴシック",sans-serif;background:#fff;color:#584d4d}
html,body,body *{font-family:"Yu Gothic",YuGothic,"游ゴシック",sans-serif!important}
*{box-sizing:border-box}body{margin:0;background:#fff}a{color:inherit}a:focus-visible{outline:2px solid #584d4d;outline-offset:4px}
.page{width:var(--page-width);margin:0 auto;position:relative}.canvas{height:var(--canvas-height);position:relative}.block{position:absolute;left:var(--x);top:var(--y);width:var(--w);height:var(--h)}.block-image img{display:block}.site-header{position:absolute;top:0;left:0;width:100%;height:50px;z-index:30;display:flex;align-items:flex-start;padding:13px 21px;gap:9px}.brand{flex:0 0 207px;display:block}.brand img{display:block;width:207px;height:24px}.site-header nav{display:flex;align-items:center;gap:10px;white-space:nowrap;padding-top:0;font:12px/24px Arial,sans-serif}.site-header nav a{text-decoration:none}.site-header nav a:hover,.site-header nav a[aria-current]{text-decoration:underline;text-underline-offset:4px}.home-page .site-header nav{gap:16px}.project-return{display:flex;justify-content:space-between;padding:24px 20px 40px;font-size:12px}.project-return a{text-decoration:none}.skip-link{position:fixed;top:-60px;left:12px;z-index:100;background:#fff;padding:10px}.skip-link:focus{top:8px}.works-grid,.work-card{display:contents}
@media(max-width:819px){
 .page{width:100%;max-width:var(--page-width)}.site-header{position:relative;height:auto;display:block;padding:18px 18px 14px;background:white}.brand{width:207px;margin-bottom:13px}.site-header nav,.home-page .site-header nav{display:flex;flex-wrap:wrap;gap:2px 17px;font-size:12px;line-height:28px;white-space:normal}.canvas{height:auto;display:flex;flex-direction:column;gap:12px}.block{position:relative;left:auto;top:auto;width:auto;height:auto;min-width:0;margin:0 18px}.block-image{margin:0}.block-image img{width:100%!important;height:auto!important;max-width:100%!important}.block-image>div,.block-image>a>div{width:auto!important;height:auto!important}.block-text{margin-top:8px;margin-bottom:8px}.block-text .text-content,.block-text .vertical-align-middle-middlebox,.block-text .vertical-align-middle-innerbox{width:auto!important;height:auto!important;position:static!important}.block-text p{height:auto!important;max-width:100%;overflow-wrap:anywhere;line-height:1.85!important}.block-text img{max-width:100%!important;height:auto!important}.block-text a{overflow-wrap:anywhere}.block-credit{align-self:flex-start;margin-top:-58px;margin-bottom:6px;z-index:2;pointer-events:none}.block-credit p{font-size:11px!important}.project-page .canvas{padding-top:18px;gap:5px}.project-page .block-text{margin:7px 18px}.information-page .canvas{padding:12px 0 35px;gap:14px}.information-page .block-image{margin:0 18px}.information-page .block-image img{max-width:100%}.works-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px;padding:0 18px}.work-card{display:flex;flex-direction:column;min-width:0;gap:6px}.work-card .block{margin:0}.work-card .block-text{margin:0}.work-card p{line-height:1.7!important}.work-card .block-image img{aspect-ratio:auto;object-fit:contain}.works-page .canvas> .block-text{margin-bottom:14px}.project-return{padding:30px 18px 45px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.brand img{height:25px}.project-page .canvas{margin-top:50px}.home-page .site-header{color:#fff}
@media(max-width:819px){.project-page .canvas{margin-top:0}.home-page .site-header{background:#584d4d;color:#fff}}
.project-page .block-text p,.project-page .block-text span{text-align:left!important}
.home-page .site-header{position:absolute;background:transparent;color:#fff;top:0}
.news-page .canvas{height:auto;width:536px;max-width:100%;margin:0 auto;padding:94px 0 50px;display:flex;flex-direction:column;gap:24px}
.news-page .block{position:static;width:auto;height:auto;margin:0}
.news-item{margin:0 0 44px;display:flex;flex-direction:column;gap:16px}
.news-text p{margin:0;overflow-wrap:anywhere;text-align:left}
.news-text p:first-child{margin-bottom:12px;font-weight:500}
.news-images{display:flex;flex-direction:column;gap:16px}
.news-images img{display:block;width:auto;max-width:100%;height:auto}
@media(max-width:819px){.news-page .canvas{padding:18px 18px 40px}.home-page .site-header{position:absolute;background:transparent}.home-page .canvas{gap:12px}}
/* Shared logo and collapsible navigation on every page. */
.site-header{justify-content:space-between;align-items:center;height:56px;padding:13px 21px;gap:16px}
.site-header .brand{margin:0;flex:0 1 207px;max-width:calc(100% - 60px)}
.site-header .brand img{max-width:100%;height:auto}
.menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:44px;height:40px;flex:none;padding:8px;border:0;background:transparent;color:inherit;cursor:pointer}
.menu-toggle span{display:block;width:25px;height:1px;background:currentColor;transition:transform .18s,opacity .18s}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.site-header .site-menu,.home-page .site-header .site-menu{position:absolute;right:21px;top:58px;display:flex;flex-direction:column;align-items:stretch;gap:0;min-width:180px;padding:12px 0;background:#fff;color:#584d4d;border:1px solid #eee;box-shadow:0 8px 24px #00000012;font-size:13px;line-height:24px;white-space:nowrap}
.site-header .site-menu[hidden]{display:none}
.site-header .site-menu a{display:block;padding:9px 24px}
.site-header .site-menu a:hover{background:#f6f5f4}
@media(max-width:819px){.site-header{display:flex;height:68px;padding:14px 18px}.site-header .site-menu,.home-page .site-header .site-menu{right:18px;top:64px}.home-page .site-header{background:transparent}}
/* Shared typography: headings, body copy, and supporting information. */
:root{--body-size:14px;--body-leading:1.95;--heading-size:18px}
.canvas .block-text p,.canvas .block-text span{font-size:var(--body-size)!important;line-height:var(--body-leading)!important;font-weight:400!important;letter-spacing:.015em!important;text-align:left!important;color:inherit}
.canvas .block-text p{margin:0!important;padding:0!important;overflow-wrap:anywhere}
.canvas .block-text strong,.canvas .block-text b{font-weight:600!important}
.canvas .type-heading p,.canvas .type-person-heading p,.canvas .type-project-title p{font-size:var(--heading-size)!important;font-weight:600!important;line-height:1.6!important;letter-spacing:.035em!important}
.canvas .type-heading{margin-bottom:24px!important}
.canvas .type-person-heading{margin-top:24px!important;margin-bottom:12px!important}
.canvas .type-footer{margin-top:48px!important;padding:24px 0!important}
.canvas .type-footer p,.canvas .type-footer span,.canvas .type-metadata p,.canvas .type-metadata span{font-size:12px!important;line-height:1.8!important}
.canvas .type-footer p{text-align:center!important}
.canvas .block-text .year-heading{font-weight:600!important;margin-top:28px!important;margin-bottom:10px!important}
.canvas .block-text .year-heading:first-child{margin-top:0!important}
.canvas .block-text .paragraph-end{margin-bottom:20px!important}
/* Information pages follow the content height rather than legacy coordinates. */
.information-page .canvas{height:auto;width:536px;max-width:100%;margin:0 auto;padding:94px 0 32px;display:flex;flex-direction:column;gap:0}
.information-page .block{position:static;width:100%;height:auto;margin:0}
.information-page .block-text .text-content,.information-page .block-text .text-content>div,.project-page .block-text .text-content,.project-page .block-text .text-content>div{position:static!important;width:100%!important;height:auto!important;min-height:0!important;padding:0!important}
.information-page .block-text .paragraph{width:100%!important;height:auto!important;display:flow-root}
.information-page .block-text .inline-block{float:none!important;clear:both!important;position:static!important;width:100%!important;height:auto!important;margin:20px 0!important}
.information-page .block-text img{display:block;max-width:100%!important;width:100%!important;height:auto!important}
.information-page .type-heading:not(:first-child){margin-top:48px!important}
.information-page:has(img[src*="philosophy_files"]) .canvas{width:700px}
.type-biography p{display:grid;grid-template-columns:90px minmax(0,1fr);column-gap:14px}
.type-staff-list p{display:grid;grid-template-columns:125px minmax(0,1fr);column-gap:16px;padding:3px 0!important}
/* Works cards and project descriptions share the same rhythm. */
.works-page .canvas{height:auto;padding:94px 0 32px;display:flex;flex-direction:column;gap:0}
.works-page .canvas>.block{position:static;width:100%;height:auto;margin:0}
.works-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 20px}
.work-card{display:flex;flex-direction:column;gap:10px;min-width:0}
.work-card .block{position:static;width:100%;height:auto;margin:0}
.work-card .text-content,.work-card .text-content>div{height:auto!important;width:100%!important}
.work-card .block-image img{width:100%!important;height:auto!important;position:static!important}
.work-card .block-image>div,.work-card .block-image a>div{width:100%!important;height:auto!important}
.work-card .block-text p,.work-card .block-text span{font-size:12px!important;line-height:1.8!important}
.project-page .canvas{height:auto;display:flex;flex-direction:column;gap:16px;padding:28px 0 0}
.project-page .block{position:static;width:100%;height:auto;margin:0}
.project-page .block-image>div,.project-page .block-image a>div{width:100%!important;height:auto!important}
.project-page .block-image img{position:static!important;width:100%!important;height:auto!important}
.project-page .type-project-title,.project-page .type-metadata{padding:0 20px}
.project-page .type-body{padding:12px 20px 24px}
.project-page .type-body p+p{margin-top:16px!important}
.project-page .type-footer{padding:24px 20px!important}
.news-text p,.news-text span{font-size:14px!important;line-height:1.95!important;font-weight:400!important}
.news-text p:first-child,.news-text p:first-child span{font-weight:600!important}
.news-text p:first-child{margin-bottom:12px!important}
.home-page .block-credit p,.home-page .block-credit span{font-size:11px!important;line-height:1.6!important}
.home-page .type-footer p,.home-page .type-footer span{text-align:center!important;font-size:12px!important}
@media(max-width:819px){
 .information-page .canvas,.information-page:has(img[src*="philosophy_files"]) .canvas{padding:24px 22px 32px;width:100%}
 .information-page .block-text{margin:0}
 .works-page .canvas{padding:24px 18px 32px}
 .works-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:0;gap:28px 14px}
 .project-page .canvas{padding-top:20px;gap:14px}
 .project-page .block-text{margin:0}
 .canvas .type-heading{margin-bottom:22px!important}
 .type-biography p{grid-template-columns:76px minmax(0,1fr);column-gap:10px}
 .type-staff-list p{grid-template-columns:115px minmax(0,1fr);column-gap:12px}
 .canvas .type-person-heading p{font-size:16px!important}
}
/* Responsive rows use real columns instead of legacy tables and spacing. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.canvas .vertical-align-middle-middlebox,.canvas .vertical-align-middle-innerbox{display:block!important;width:100%!important;height:auto!important;position:static!important;padding:0!important}
.page,.canvas,.block-text .text-content,.news-item,.news-text,.news-images{min-width:0}
.page{max-width:100%}
.canvas .block-text p,.canvas .block-text span,.canvas .block-text a{white-space:normal;word-break:normal;overflow-wrap:anywhere}
.canvas .type-biography p{grid-template-columns:6.5em minmax(0,1fr);align-items:start;column-gap:12px}
.canvas .type-biography .bio-year{white-space:nowrap;overflow-wrap:normal}
.canvas .type-biography .bio-detail,.canvas .type-staff-list span{min-width:0}
.canvas .type-person-heading p{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.canvas .type-person-heading .person-ja{font-size:18px!important;font-weight:600!important}
.canvas .type-person-heading .person-en{font-size:14px!important}
.canvas .type-person-heading .person-license{font-size:12px!important}
.contact-row{display:grid;grid-template-columns:4.5em minmax(0,1fr);gap:12px;align-items:baseline}
.contact-value{min-width:0}
.work-card .block-image{flex:none}
.work-card .block-image>a{display:block}
.work-card .block-image img{aspect-ratio:3/2;object-fit:contain}
.work-card .block-text a{line-height:inherit!important;font-size:inherit!important}
.work-card .text-content>div{padding:0!important}
.site-header .site-menu{max-width:calc(100% - 36px)}
@media(max-width:819px){
 .home-page .block-credit .text-content,.home-page .block-credit .text-content>div{width:100%!important;height:auto!important;position:static!important;padding:0!important}
 .home-page .block-credit{width:auto;max-width:calc(100% - 36px)}
 .canvas .block-text{max-width:100%;min-width:0}
 .canvas .block-text .text-content{max-width:100%!important}
 .information-page .canvas,.news-page .canvas{padding-left:20px;padding-right:20px}
 .project-page .type-body,.project-page .type-footer{padding-left:20px!important;padding-right:20px!important}
 .works-page .works-grid{align-items:start}
}
@media(max-width:599px){
 .works-page .works-grid{grid-template-columns:minmax(0,1fr);gap:30px}
 .works-page .work-card .block-text p,.works-page .work-card .block-text span{font-size:13px!important}
 .canvas .type-person-heading p{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
 .canvas .type-person-heading .person-ja{font-size:17px!important}
 .canvas .type-staff-list p{grid-template-columns:minmax(0,1fr);gap:0;margin-bottom:12px!important}
 .canvas .type-staff-list .staff-en{font-size:12px!important;line-height:1.7!important}
 .canvas .type-biography p{margin-bottom:5px!important}
 .canvas .type-footer p,.canvas .type-footer span{overflow-wrap:normal}
}
@media(max-width:359px){
 .canvas .type-biography p{grid-template-columns:minmax(0,1fr);gap:0;margin-bottom:12px!important}
 .canvas .type-biography .bio-year:empty{display:none}
 .site-header .brand{flex-basis:180px}
}
/* A single narrow interval for full-size photographs at every viewport. */
:root{--photo-gap:5px}
.home-page .canvas{height:auto;display:block;padding:0;gap:0}
.home-gallery{display:flex;flex-direction:column;gap:var(--photo-gap)}
.home-photo{position:relative;margin:0;padding:0}
.home-page .home-photo .block-image{position:static;width:100%;height:auto;margin:0;padding:0}
.home-photo .block-image>div,.home-photo .block-image>a>div{width:100%!important;height:auto!important}
.home-photo img{display:block;width:100%!important;height:auto!important}
.home-photo figcaption{position:absolute;bottom:8px;left:8px;pointer-events:none;color:white}
.home-photo .block-credit{position:static;width:auto;height:auto;margin:0;padding:0;max-width:none}
.home-photo .block-credit .text-content,.home-photo .block-credit .text-content>div{width:auto!important;height:auto!important;padding:0!important;position:static!important}
.home-page .canvas>.block-text{position:static;width:100%;height:auto;margin:0;padding:28px 20px}
.project-page .canvas{gap:0!important;height:auto;padding-top:24px;display:flex;flex-direction:column}
.project-page .canvas>.block{position:static;height:auto;width:100%;margin:0}
.project-page .canvas>.block-image{margin:0!important;padding:0}
.project-page .block-image+.block-image{margin-top:var(--photo-gap)!important}
.project-page .block-image img{display:block;width:100%!important;height:auto!important;max-width:100%!important}
.project-page .block-image>div,.project-page .block-image>a>div{height:auto!important;width:100%!important}
.project-page .canvas>.type-project-title{padding:0 20px 8px}
.project-page .canvas>.type-metadata{padding:0 20px 24px}
.project-page .canvas>.type-body{padding:24px 20px!important}
.project-page .canvas>.type-footer{margin-top:0!important;padding:30px 20px!important}
.works-page .works-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 20px;padding:0}
.works-page .work-card{display:flex;flex-direction:column;gap:8px;min-width:0}
.work-thumb{display:block;width:100%}
.work-thumb img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
.work-caption a{text-decoration:none}
.work-caption p{margin:0;font-size:12px!important;line-height:1.75!important}
.work-caption p+p{font-size:10px!important}
@media(max-width:819px){.project-page .canvas{padding-top:24px}.home-page .canvas{padding:0}.works-page .works-grid{gap:24px 14px}}
@media(max-width:599px){.works-page .works-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-caption p{font-size:12px!important}}
@media(max-width:359px){.works-page .works-grid{grid-template-columns:minmax(0,1fr)}}
@media(min-width:820px){.project-page .canvas{margin-top:0;padding-top:88px}}
.home-page .site-header .site-menu a,.home-page .site-header .site-menu a:visited{color:#584d4d!important}
