:root{color-scheme:light;--paper:#ffffff;--ink:#444444;--muted:#444444;--line:#e5e5e5;--photo:#ffffff;--font-brand:"futura-pt","ヒラギノ角ゴ Pro W3","メイリオ",sans-serif}
*{box-sizing:border-box}
html{font-size:16px;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-brand);font-weight:400;letter-spacing:.1em;-webkit-font-smoothing:antialiased}
a{-webkit-tap-highlight-color:transparent}
a:focus-visible{outline:2px solid var(--ink);outline-offset:6px}
.skip-link{position:fixed;top:10px;left:10px;z-index:5;background:var(--paper);color:var(--ink);padding:12px;transform:translateY(-180%)}
.skip-link:focus{transform:translateY(0)}
.masthead{text-align:center;padding:57px 24px 46px}
.masthead h1{font-weight:400;line-height:1;margin:0}
.brand-logo{display:block;max-width:100%;height:auto}
.masthead .brand-logo{width:320px;margin-inline:auto}
main,footer{width:calc(100% - 112px);max-width:1440px;margin:auto}
.gallery-heading{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 0 24px;color:#767676;letter-spacing:.06em;line-height:1.5}
.gallery-heading h2{font-size:.75rem;font-weight:400;margin:0}
.gallery-heading span{font-size:.6875rem;font-variant-numeric:tabular-nums}
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:25px;row-gap:38px}
.piece{margin:0;min-width:0}
.photo-link{display:block;width:100%;padding:0;border:0;cursor:pointer;background:var(--photo);position:relative;overflow:hidden;aspect-ratio:3/4}
.photo-link img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .6s ease}
.piece figcaption{padding-top:13px;display:flex;align-items:baseline;gap:16px;justify-content:space-between;font-size:.875rem;line-height:1.5;color:var(--muted)}
.piece-name{max-width:calc(100% - 35px);overflow-wrap:anywhere}
.piece-number{font-variant-numeric:tabular-nums}
.notice{text-align:center;line-height:1.8;padding:50px 0;font-size:1rem}
.image-unavailable{position:absolute;inset:0;display:grid;place-items:center;padding:24px;text-align:center;font-size:.875rem;color:var(--muted)}
footer{border-top:1px solid var(--line);margin-top:76px;padding:22px 0 34px;display:flex;justify-content:space-between;gap:24px;font-size:.75rem;color:var(--muted)}
[hidden]{display:none!important}
@media(hover:hover){.photo-link:hover img{transform:scale(1.025)}}
@media(min-width:1800px){.masthead{padding-top:70px;padding-bottom:58px}}
@media(max-width:1000px){main,footer{width:calc(100% - 64px)}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 22px}.masthead{padding:45px 24px 36px}}
@media(max-width:540px){.masthead{padding:38px 20px 32px}.masthead .brand-logo{width:200px}main,footer{width:calc(100% - 40px)}.gallery-heading{padding:19px 0 20px}.gallery-heading h2,.gallery-heading span{font-size:.625rem}.gallery{grid-template-columns:minmax(0,1fr);row-gap:30px}.piece figcaption{padding-top:11px;font-size:.75rem}.photo-link{aspect-ratio:3/4}footer{margin-top:48px;padding-bottom:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.photo-link img{transition:none}}
