:root{--paper:#fafaf8;--ink:#1d2921;--muted:#60675f;--line:#dadfd8;--serif:'Yu Mincho','Hiragino Mincho ProN','Times New Roman',serif;--sans:-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--sans);font-size:16px;line-height:1.7}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid currentColor;outline-offset:6px}img{display:block;max-width:100%;height:auto}.skip{position:fixed;top:-100px;left:16px;z-index:100;background:var(--ink);color:white;padding:12px}.skip:focus{top:10px}.concept-nav{position:relative;z-index:10;display:flex;justify-content:center;align-items:center;gap:30px;min-height:48px;background:#edf0ea;color:#283d2d;font-size:14px;border-bottom:1px solid #d5ddd3;padding:8px 20px}.concept-nav span{font-size:12px;letter-spacing:.12em;margin-right:20px}.concept-nav a{padding:4px 0;border-bottom:1px solid transparent}.concept-nav a[aria-current]{border-bottom-color:currentColor}.masthead{margin:0 4.5%;display:flex;justify-content:space-between;align-items:center;padding:31px 0}.brand{font-family:var(--serif);font-size:25px;letter-spacing:.1em;line-height:1.4}.brand span{display:block;font-family:var(--sans);font-size:12px;letter-spacing:.14em;margin-top:9px}.text-button{background:none;border:0;font-size:14px;padding:10px 0}.eyebrow{font-size:12px;letter-spacing:.18em;margin:0 0 28px}.site-footer{margin:0 4.5%;padding:35px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:12px;letter-spacing:.09em}.site-footer p{font-size:20px;font-family:var(--serif);margin:0}dialog{color:var(--ink);background:var(--paper);border:0;width:min(620px,calc(100% - 32px));padding:55px}dialog::backdrop{background:#00150999;backdrop-filter:blur(6px)}dialog h2{font:normal 36px/1.6 var(--serif);letter-spacing:.05em}dialog p{font-size:16px;line-height:2}.dialog-close{display:block;margin-left:auto;background:none;border:0;border-bottom:1px solid;padding:6px;font-size:14px}.dialog-note{border-top:1px solid var(--line);padding-top:20px;margin-top:40px;font-size:12px!important}.motion-button{background:none;border:1px solid currentColor;font-size:12px;min-height:40px;padding:6px 12px}body.motion-paused *,body.motion-paused *::before,body.motion-paused *::after{animation-play-state:paused!important}@media(max-width:760px){.concept-nav{gap:20px;padding:10px 12px;flex-wrap:wrap}.concept-nav span{display:none}.masthead{padding:25px 0}.brand{font-size:22px}.brand span{font-size:10px}.text-button{font-size:12px}.site-footer{flex-wrap:wrap;justify-content:space-between}.site-footer span:last-child{display:none}dialog{padding:28px}dialog h2{font-size:28px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* 大きな写真は常に全体を表示。展示画面のトリミングとは独立させる。 */
#viewer{background:#101511;color:#fff;max-width:96vw;width:1200px;max-height:94dvh;padding:20px 30px}#viewer::backdrop{background:#06110df0}#viewer-image{width:100%;height:min(65dvh,700px);object-fit:contain}#viewer-caption{text-align:center;margin:14px 0 8px;font-size:14px}.viewer-close{display:block;margin-left:auto;margin-bottom:15px;background:none;border:0;color:#fff;padding:8px;font-size:14px}.viewer-controls{display:flex;gap:30px;justify-content:center;align-items:center;font-size:12px}.viewer-controls button{background:none;border:1px solid #7c867c;color:inherit;padding:9px 16px;font-size:14px}@media(max-width:760px){#viewer{padding:16px;width:96vw}.viewer-controls{gap:15px}}
