*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#171717;background:#fff;font-family:Arial,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #2353ed;outline-offset:5px}img{display:block;max-width:100%}button{font:inherit}header{max-width:1600px;margin:auto;min-height:114px;padding:22px 4%;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand img{width:77px;max-height:68px;object-fit:contain}.nav{display:flex;gap:27px;align-items:center;font-size:.875rem;font-weight:600}.nav a{padding:10px 0;color:#686868}.nav a:hover,.nav a[aria-current]{color:#111}.nav .contact-nav{border-bottom:1px solid #111;color:#111}.mobile-menu{display:none}.wrap{max-width:1440px;margin:auto;padding-left:5%;padding-right:5%}.intro{display:flex;justify-content:space-between;align-items:flex-end;gap:55px;padding-top:56px;padding-bottom:58px}.eyebrow{font-size:.875rem;letter-spacing:.09em;font-weight:600;margin:0 0 20px}.intro h1{font-size:clamp(2rem,3.7vw,3.65rem);line-height:1.4;letter-spacing:-.035em;margin:0;font-weight:650}.intro-copy{max-width:360px;font-size:1rem;line-height:1.95;margin:0 0 4px}.gallery{max-width:1600px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:0}.work-card{position:relative;overflow:hidden;background:#eee;aspect-ratio:202/158}.work-card img{width:100%;height:100%;object-fit:cover;transition:transform .65s}.work-card:hover img{transform:scale(1.025)}.work-card .overlay{position:absolute;inset:0;background:linear-gradient(transparent 48%,rgba(0,0,0,.65));display:flex;flex-direction:column;justify-content:flex-end;color:white;padding:34px 7%}.overlay h2{font-size:clamp(1.5rem,2.4vw,2.25rem);margin:0 0 7px;letter-spacing:-.035em}.overlay p{font-size:.875rem;margin:0;line-height:1.7}.section{padding-top:100px;padding-bottom:100px}.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:25px;margin-bottom:36px}.section-head h2{font-size:2.5rem;letter-spacing:-.04em;margin:0}.text-link{font-size:.875rem;border-bottom:1px solid;padding-bottom:6px;white-space:nowrap}.section-lead{font-size:1.25rem;line-height:1.9;max-width:760px;margin:0 0 42px}.service-row{display:grid;grid-template-columns:55px 1.1fr 1fr;gap:25px;padding:32px 0;border-top:1px solid #d8d8d8}.service-row:last-child{border-bottom:1px solid #d8d8d8}.number{font-size:.875rem;color:#686868;padding-top:6px}.service-row h3{font-size:1.25rem;line-height:1.5;margin:0 0 9px}.service-row .english{font-size:.875rem;color:#686868}.service-row p{margin:0;line-height:1.9}.profile-split{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.profile-split img{width:100%;aspect-ratio:1/1;object-fit:cover}.profile-split h2{font-size:2rem;margin:22px 0 8px}.profile-split p{line-height:2}.role{font-size:.875rem;color:#555}.contact-block{border-top:1px solid #d8d8d8;padding-top:65px;padding-bottom:65px;display:flex;align-items:center;justify-content:space-between;gap:30px}.contact-block h2{font-size:2.8rem;letter-spacing:-.04em;margin:0 0 16px}.contact-block p{line-height:1.9;margin:0}.button{display:inline-flex;align-items:center;justify-content:center;padding:18px 30px;background:#151515;color:white;font-size:1rem;border:1px solid #151515;transition:background .2s}.button:hover{background:#444}.footer{max-width:1440px;margin:auto;padding:30px 5%;border-top:1px solid #dedede;display:flex;justify-content:space-between;font-size:.875rem;color:#686868}.footer a{margin-left:25px}.page-head{padding-top:58px;padding-bottom:62px}.page-head h1{font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.15;letter-spacing:-.045em;margin:0 0 20px}.page-head .ja{font-size:1.25rem;margin:0 0 22px;font-weight:600}.page-head .desc{font-size:1rem;line-height:2;max-width:750px}.crumb{font-size:.875rem;color:#6a6a6a;margin-bottom:32px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px 35px;padding-bottom:100px}.project img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;background:transparent}.project h2{font-size:1.1rem;line-height:1.65;margin:20px 0 8px}.project p{font-size:.875rem;line-height:1.7;color:#666;margin:0}.project a:hover h2{text-decoration:underline}.prose{max-width:850px;padding-bottom:90px}.prose p{line-height:2.15;margin:0 0 28px}.prose h2{font-size:1.5rem;line-height:1.6;margin:42px 0 18px}.company{width:100%;border-collapse:collapse}.company th,.company td{text-align:left;vertical-align:top;border-top:1px solid #ddd;padding:24px 0;line-height:1.8}.company th{width:30%;font-weight:500;color:#666}.service-detail{border-top:1px solid #ddd;padding:48px 0;display:grid;grid-template-columns:1fr 1.5fr;gap:55px}.service-detail h2{font-size:1.6rem;margin:0 0 12px}.service-detail p,.service-detail li{line-height:2}.service-detail p{margin:0 0 20px}.service-detail ul{padding-left:1.2em}.service-detail .english{font-size:.875rem;color:#666}.service-menu{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.service-menu a{border:1px solid #ddd;padding:10px 15px;font-size:.875rem}.skip{position:absolute;left:10px;top:-100px;background:white;padding:15px;z-index:10}.skip:focus{top:10px}.contact-page{max-width:780px;padding-bottom:120px}.contact-page p{line-height:2}.contact-page .button{margin:25px 0 20px}.note{font-size:.875rem;color:#666}.other-images{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:50px}.other-images img{aspect-ratio:1/1;object-fit:cover;width:100%}@media(min-width:1700px){.gallery{padding:0 0}}@media(max-width:800px){header{min-height:88px;padding:18px 6%}.brand img{width:62px;max-height:52px}.nav{display:none}.mobile-menu{display:block;position:relative}.mobile-menu summary{cursor:pointer;list-style:none;font-size:.875rem;padding:12px}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu[open] .mobile-links{position:absolute;right:0;top:45px;width:230px;background:white;border:1px solid #ddd;box-shadow:0 10px 30px #0001;z-index:5;padding:15px}.mobile-links a{display:block;padding:14px;font-size:1rem}.intro{display:block;padding-top:35px;padding-bottom:40px}.intro h1{font-size:2.05rem}.intro-copy{margin-top:22px;max-width:100%;font-size:1rem}.eyebrow{font-size:.875rem;margin-bottom:15px}.wrap{padding-left:6%;padding-right:6%}.gallery{grid-template-columns:1fr}.work-card{aspect-ratio:1.3}.overlay h2{font-size:1.85rem}.section{padding-top:60px;padding-bottom:60px}.section-head h2{font-size:2rem}.section-lead{font-size:1.125rem}.service-row{grid-template-columns:27px 1fr;gap:15px}.service-row>p{grid-column:2}.profile-split{grid-template-columns:1fr;gap:25px}.profile-split img{aspect-ratio:1.15}.contact-block{display:block;padding-top:45px;padding-bottom:45px}.contact-block h2{font-size:2.3rem}.contact-block .button{margin-top:25px}.footer{gap:20px;flex-wrap:wrap;font-size:.875rem}.footer a{margin-left:0;margin-right:20px}.page-head{padding-top:35px;padding-bottom:35px}.page-head h1{font-size:2.6rem}.project-grid{grid-template-columns:1fr;gap:40px;padding-bottom:60px}.service-detail{grid-template-columns:1fr;gap:20px;padding:35px 0}.other-images{grid-template-columns:1fr 1fr}.company th{width:32%}.company td,.company th{font-size:.95rem}.prose{padding-bottom:60px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Compact introduction and uncropped portraits. */
.intro.intro-simple{display:block;padding-top:32px;padding-bottom:42px}.intro.intro-simple h1{font-size:.875rem;line-height:1.6;letter-spacing:.09em;margin:0 0 16px;font-weight:600}.intro.intro-simple .intro-copy{max-width:780px;margin:0;font-size:1.125rem;line-height:1.95}.profile-split img{height:auto;aspect-ratio:auto;object-fit:contain}@media(max-width:800px){.intro.intro-simple{padding-top:24px;padding-bottom:32px}.intro.intro-simple .intro-copy{font-size:1rem}.profile-split img{aspect-ratio:auto;height:auto}}

/* Other Works: photographic features and a compact editorial credits list. */
.other-index{display:flex;gap:12px 25px;flex-wrap:wrap;margin-top:32px;font-size:.875rem}.other-index a{padding-bottom:6px;border-bottom:1px solid #bbb}.other-index a:hover{border-color:#111}.other-body section{scroll-margin-top:25px}.other-feature{display:grid;grid-template-columns:1.35fr 1fr;gap:7%;align-items:center}.other-image{display:block;width:100%;height:auto;background:transparent}.other-caption{font-size:.875rem;color:#666;line-height:1.8;margin:14px 0 0}.other-work-page h2{font-size:clamp(1.4rem,2.2vw,2rem);line-height:1.6;letter-spacing:-.025em;margin:0 0 20px}.other-work-page h3{font-size:1.125rem;line-height:1.7;margin:0 0 10px}.other-feature-copy p:not(.eyebrow),.other-video-list p,.other-live-intro p{font-size:1rem;line-height:1.95;margin:0 0 24px}.other-feature-copy .text-link{display:inline-block;margin-top:5px}.other-video-list{display:grid;grid-template-columns:1fr 1fr;gap:7%;margin:42px 0 76px;padding-top:28px;border-top:1px solid #ddd}.other-video-list p{margin-bottom:0;color:#555}.other-section{border-top:1px solid #ccc;padding:60px 0}.other-section-title .eyebrow{color:#666;letter-spacing:.1em;margin-bottom:14px}.other-live-intro{margin-bottom:26px}.other-live-intro p{margin-bottom:0;color:#666}.other-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:32px}.other-photo-pair figure{margin:0}.other-photo-pair figcaption{font-size:1rem;line-height:1.8;margin-top:14px}.other-photo-pair figcaption span{display:block;color:#666;font-size:.875rem}.other-two-column{display:grid;grid-template-columns:1fr 1.5fr;gap:8%}.other-ad-list article{display:flex;gap:24px;padding:22px 0;border-bottom:1px solid #ddd}.other-ad-list article:first-child{padding-top:0}.other-ad-list article>span{font-size:.875rem;color:#666;padding-top:5px}.other-ad-list p{font-size:1rem;line-height:1.8;margin:0;color:#666}.other-ad-list h3{margin-bottom:5px}.other-ad-list .other-note{margin-top:24px;font-size:.875rem}.other-work-page .other-station{font-size:2.75rem;font-weight:600;letter-spacing:-.04em;line-height:1.2;margin-bottom:24px}.other-programs{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;font-size:1rem;line-height:1.8}.other-text{font-size:1rem;line-height:2;margin:0 0 26px}.other-artists{font-size:1.5rem;line-height:1.8;margin:0 0 18px}.other-festivals{list-style:none;padding:0;margin:0;font-size:1.25rem;line-height:1.8}.other-festivals li{padding:16px 0;border-bottom:1px solid #ddd}.other-festivals li:first-child{padding-top:0}.other-festivals span{font-size:.875rem;color:#666;margin-left:12px}.other-body{padding-bottom:25px}
@media(max-width:800px){.other-feature{grid-template-columns:1fr;gap:28px}.other-feature-copy h2{font-size:1.5rem}.other-video-list{grid-template-columns:1fr;gap:26px;margin-top:32px;margin-bottom:45px}.other-section{padding:40px 0}.other-two-column{grid-template-columns:1fr;gap:18px}.other-photo-pair{grid-template-columns:1fr;gap:28px}.other-programs{grid-template-columns:1fr 1fr;gap:10px}.other-work-page .other-station{font-size:2.3rem}.other-artists{font-size:1.25rem}.other-festivals{font-size:1.125rem}.other-index{gap:12px 19px}.other-section-title h2 br{display:none}}

/* Profile: uncropped portrait and readable biography sections. */
.bio-content{padding-bottom:40px}.bio-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:7%;align-items:start;padding-bottom:65px}.bio-intro figure{margin:0}.bio-intro img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}.bio-intro figcaption{font-size:.875rem;line-height:1.8;color:#666;margin-top:16px}.bio-page .eyebrow{font-size:.875rem;color:#666;letter-spacing:.1em;margin-bottom:14px}.bio-page h2{font-size:1.65rem;line-height:1.6;letter-spacing:-.025em;margin:0 0 22px}.bio-history p:not(.eyebrow),.bio-section-body>p{font-size:1rem;line-height:2.05;margin:0 0 22px}.bio-history p:last-child{margin-bottom:0}.bio-section{border-top:1px solid #d4d4d4;padding:52px 0;display:grid;grid-template-columns:1fr 1.7fr;gap:8%}.bio-artists{display:grid;grid-template-columns:1fr 1fr;gap:13px 25px;padding:24px 0 16px;margin-top:26px;border-top:1px solid #e0e0e0;font-size:1.125rem;line-height:1.65}.bio-section-body>p.bio-small{font-size:.875rem;color:#666;margin-bottom:30px}.bio-links{display:flex;flex-wrap:wrap;gap:18px 28px;margin-top:28px}.bio-links a{white-space:normal;line-height:1.8}
@media(max-width:800px){.bio-intro{grid-template-columns:1fr;gap:32px;padding-bottom:38px}.bio-page h2{font-size:1.4rem;margin-bottom:20px}.bio-section{grid-template-columns:1fr;gap:8px;padding:35px 0}.bio-artists{font-size:1rem;gap:12px 18px}.bio-links{gap:18px 25px}.bio-content{padding-bottom:20px}}
