:root{--paper:#f6f2eb;--ink:#302c26;--soft:#625a4f;--rule:#d7cec1;--photo:#dfd6c8;--photo-detail:#e8dfd2;font-family:yu mincho,hiragino mincho pron,noto serif jp,serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;line-height:1.9}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--soft);outline-offset:5px}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400;overflow-wrap:anywhere}.site-background{position:fixed;inset:0;z-index:-1;pointer-events:none}.site-background img{width:100%;height:100%;object-fit:cover}.site-shell{width:min(1120px,calc(100% - 96px));margin:0 auto}.has-background .site-shell{width:min(1216px,calc(100% - 64px));padding:0 48px;background:var(--paper);min-height:100vh}.skip-link{position:absolute;top:10px;left:10px;z-index:2;padding:8px 16px;background:var(--paper);transform:translateY(-200%)}.skip-link:focus{transform:none}.site-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;padding:32px 0;border-bottom:1px solid var(--rule)}.brand{font-size:23px;letter-spacing:.1em;white-space:nowrap}.site-header nav{display:flex;flex-wrap:wrap;gap:24px;font-family:yu gothic,hiragino kaku gothic pron,sans-serif;font-size:13px}.site-header nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:6px}.entrance{display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:48px;padding:72px 0 88px}.eyebrow{font-size:13px;letter-spacing:.18em}.entrance h1{font-size:clamp(28px,3.1vw,42px);line-height:1.8;letter-spacing:.06em;margin:18px 0 26px}.introduction{font-size:16px;color:var(--soft);line-height:2.2}.text-link{display:inline-flex;align-items:center;gap:20px;font-size:14px}.entrance .text-link{margin-top:36px}.image-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.image-group>:only-child,.image-group[data-count="3"]>:first-child{grid-column:1/-1}.image-group>img,.photo-placeholder{width:100%;min-width:0;aspect-ratio:4/5;object-fit:cover}.photo-placeholder{display:flex;align-items:center;justify-content:center;padding:16px;background:var(--photo);color:var(--soft);text-align:center;font-family:yu gothic,sans-serif;font-size:13px}.image-group>:nth-child(even){background-color:var(--photo-detail)}.entrance-image .image-group>*{aspect-ratio:1/1.08}.home-section{padding:38px 0 64px;border-top:1px solid var(--rule)}.section-heading{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:32px}.section-heading h2,.about-section h2{font-size:23px;letter-spacing:.06em}.section-heading p{font-size:13px;color:var(--soft)}.entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}.entry-link{display:block}.entry h3{margin-top:20px;font-size:20px}.entry p{margin-top:7px;font-size:13px;color:var(--soft)}.entry-date{display:block;margin-top:8px;color:var(--soft);font-family:yu gothic,hiragino kaku gothic pron,sans-serif;font-size:12px}.entry-link:hover h3{text-decoration:underline;text-underline-offset:6px}.entry .image-group{aspect-ratio:1;grid-auto-rows:minmax(0,1fr)}.entry .image-group>*{aspect-ratio:auto;height:100%}.section-link{margin-top:32px}.empty-message{grid-column:1/-1;padding:24px 0;font-size:15px;color:var(--soft)}.about-section{display:grid;grid-template-columns:1fr 1.3fr;gap:40px;padding:48px 0 64px}.about-copy p{margin-bottom:22px;font-size:15px;line-height:2.2}.about-copy .text-link{margin-top:8px}.site-footer{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:14px;border-top:1px solid var(--rule);padding:28px 0 36px}.site-footer span{font-size:17px;letter-spacing:.06em}.site-footer small{font-family:yu gothic,sans-serif;font-size:12px;color:var(--soft)}.detail-page,.listing-page{padding:48px 0 72px}.detail-page{margin:0 auto}.detail-hero .image-group{align-items:start}.detail-hero .image-group>img{aspect-ratio:auto;height:auto;object-fit:contain}.detail-content{display:grid;grid-template-columns:180px minmax(0,1fr);align-items:start;gap:40px}.detail-body{grid-column:2;min-width:0}.detail-outline{position:sticky;top:32px;max-height:calc(100vh - 64px);overflow-y:auto;padding-right:16px;font-family:yu gothic,hiragino kaku gothic pron,sans-serif;font-size:14px}.detail-outline h2{margin-bottom:16px;font-size:13px;letter-spacing:.12em}.detail-outline ul{margin:0;padding:0;list-style:none}.detail-outline ul ul{padding-left:16px}.detail-outline a{display:block;padding:5px 0;color:var(--soft);overflow-wrap:anywhere}.detail-outline a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:5px}.page-heading{margin-bottom:32px}.page-heading h1{font-size:clamp(26px,3vw,36px)}.page-heading p{color:var(--soft);margin-top:12px}.detail-divider{border:0;border-top:1px solid var(--rule);margin:48px 0 40px}.prose{font-size:16px;line-height:2.2}.prose p{margin-bottom:24px}.prose a{text-decoration:underline;text-underline-offset:5px}.prose h2,.prose h3{margin:32px 0 16px}.prose>:first-child{margin-top:0}.prose :is(h2,h3,h4,h5,h6){scroll-margin-top:24px}.prose img{margin:24px 0}.detail-body>.text-link{margin-top:24px}@media(max-width:900px){.detail-content{grid-template-columns:minmax(0,1fr);gap:32px}.detail-body{grid-column:1}.detail-outline{position:static;max-height:none;padding-right:0}}@media(max-width:760px){.site-shell{width:calc(100% - 48px)}.has-background .site-shell{width:calc(100% - 32px);padding:0 24px}.site-header{gap:16px;padding:24px 0}.site-header nav{gap:18px}.entrance{grid-template-columns:1fr;gap:32px;padding:44px 0 56px}.entrance h1{font-size:clamp(22px,6vw,28px)}.entry-grid{gap:24px}.about-section{grid-template-columns:1fr;gap:24px}}@media(max-width:560px){.site-shell{width:calc(100% - 40px)}.has-background .site-shell{width:calc(100% - 20px);padding:0 20px}.brand{font-size:21px}.site-header{align-items:flex-start;flex-direction:column}.site-header nav{gap:14px 20px;font-size:12px}.entrance{grid-template-columns:1fr;gap:32px;padding:34px 0 48px}.entrance h1{font-size:28px}.entrance .text-link{margin-top:24px}.entrance-image .image-group>*{aspect-ratio:4/3}.entry-grid{grid-template-columns:1fr;gap:32px}.home-section{padding:28px 0 40px}.section-heading{gap:10px;margin-bottom:24px}.section-heading h2,.about-section h2{font-size:21px}.entry .image-group{aspect-ratio:4/3}.prose{font-size:15px}.detail-page,.listing-page{padding:32px 0 48px}.detail-divider{margin:32px 0 28px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}