:root{color-scheme:light;--color-bg:#f7fbfe;--color-canvas:#eaf6fc;--color-panel:#fff;--color-panel-soft:#f0f8fc;--color-text:#173246;--color-heading:#0d2b3e;--color-muted:#526b7b;--color-accent:#0b628f;--color-accent-hover:#07496d;--color-accent-soft:#d9f2ff;--color-line:#cbdde8;--color-focus:#005b8c;--shadow-card:0 1.25rem 3.75rem #1f547017;--font-sans:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", Meiryo, sans-serif;--max-width:74rem;--measure:48rem;--space-1:.5rem;--space-2:.875rem;--space-3:1.25rem;--space-4:2rem;--space-5:3rem;--space-6:clamp(4.5rem, 9vw, 8rem);--radius-small:.65rem;--radius-card:1.25rem}*,:before,:after{box-sizing:border-box}html{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);scroll-behavior:smooth}body{background:var(--color-bg);min-width:18rem;min-height:100vh;color:var(--color-text);overflow-wrap:break-word;margin:0;font-size:1rem;line-height:1.8}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration-color:color-mix(in srgb, var(--color-accent) 58%, transparent);text-underline-offset:.22em}a:hover{color:var(--color-accent-hover)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--color-heading);letter-spacing:.02em;line-height:1.25}h1{font-size:clamp(2.35rem,8vw,5.35rem);font-weight:670}h2{font-size:clamp(1.55rem,3vw,2.4rem);font-weight:650}.shell{width:min(calc(100% - 1.5rem), var(--max-width));margin-inline:auto}.narrow-page{max-width:var(--measure)}.skip-link{z-index:100;border-radius:var(--radius-small);background:var(--color-accent);color:#fff;padding:.7rem 1rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:20;border-bottom:1px solid color-mix(in srgb, var(--color-line) 82%, transparent);backdrop-filter:blur(1rem);background:#fffffff0;position:sticky;top:0}.header-inner{width:min(calc(100% - 1.5rem), var(--max-width));justify-content:space-between;align-items:center;gap:.75rem;min-height:4.75rem;margin-inline:auto;padding-block:.55rem;display:flex}.brand{min-width:0;max-width:calc(100% - 4.75rem);color:var(--color-heading);letter-spacing:.08em;overflow-wrap:anywhere;align-items:center;gap:.75rem;font-size:.88rem;font-weight:720;line-height:1.35;text-decoration:none;display:inline-flex}.brand:before{aspect-ratio:1;background:var(--color-accent);width:.65rem;box-shadow:0 0 0 .3rem var(--color-accent-soft);content:"";border-radius:50%;flex:none}.desktop-nav{display:none}.desktop-nav ul,.mobile-nav ul{margin:0;padding:0;list-style:none}.mobile-nav summary{border:1px solid var(--color-line);border-radius:var(--radius-small);min-width:3.75rem;min-height:2.75rem;color:var(--color-muted);cursor:pointer;place-items:center;font-size:.82rem;font-weight:650;list-style:none;display:grid}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav[open] nav{border-bottom:1px solid var(--color-line);background:var(--color-panel);box-shadow:var(--shadow-card);padding:.8rem 1rem 1.25rem;position:absolute;inset:4.75rem 0 auto}.mobile-nav a{min-height:3rem;color:var(--color-muted);padding:.65rem 0;text-decoration:none;display:block}.mobile-nav a[aria-current=page],.desktop-nav a[aria-current=page]{color:var(--color-accent-hover);font-weight:700}.hero{isolation:isolate;align-items:center;gap:clamp(2.5rem,4vw,4rem);min-height:calc(100svh - 4.75rem);padding-block:clamp(3.5rem,7vw,6.5rem);display:grid;position:relative;overflow:clip}.hero:before{z-index:-1;aspect-ratio:1.18;background:var(--color-canvas);content:"";border-radius:50%;width:min(38rem,56vw);position:absolute;top:13%;right:-10%}.hero-copy{z-index:1;max-width:34rem;position:relative}.hero-copy h1{margin-bottom:var(--space-3);letter-spacing:.015em;font-size:clamp(2.45rem,5.2vw,4.3rem)}.hero-copy h1 span{white-space:nowrap;display:block}.hero-copy h1 span:last-child{color:var(--color-accent)}.hero-copy>p:not(.eyebrow){max-width:34rem;color:var(--color-muted);font-size:clamp(1rem,2vw,1.18rem)}.hero-media{aspect-ratio:1;border:1px solid var(--color-line);border-radius:var(--radius-card);width:min(100%,48rem);box-shadow:var(--shadow-card);background:#fff;justify-self:center;overflow:hidden}.hero-picture,.hero-image{width:100%;height:100%;display:block}.hero-image{object-fit:cover;object-position:94% center}.eyebrow{color:var(--color-accent);letter-spacing:.19em;text-transform:uppercase;margin-bottom:1rem;font-size:.72rem;font-weight:760}.hero-actions,.detail-links,.link-cluster{flex-wrap:wrap;align-items:center;gap:.85rem 1.25rem;display:flex}.button{border:1px solid var(--color-accent);border-radius:var(--radius-small);background:var(--color-accent);color:#fff;justify-content:center;align-items:center;min-height:3rem;padding:.65rem 1.3rem;font-weight:680;text-decoration:none;display:inline-flex}.button:hover{border-color:var(--color-accent-hover);background:var(--color-accent-hover);color:#fff}.button-secondary{border-color:var(--color-line);background:var(--color-panel);color:var(--color-accent-hover)}.button-secondary:hover{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent-hover)}.text-link,.back-link{min-height:2.75rem;color:var(--color-accent);align-items:center;gap:.42rem;font-weight:650;text-decoration:none;display:inline-flex}.work-grid,.goods-grid{gap:1rem;display:grid}.work-card,.goods-card{min-width:0}.work-card>a{color:inherit;text-decoration:none;display:block}.media-frame{border:1px solid var(--color-line);background:var(--color-panel-soft);overflow:hidden}.media-frame img{object-fit:cover;width:100%;height:100%;transition:transform .18s,opacity .18s}.work-card .media-frame{aspect-ratio:16/9;border-radius:var(--radius-card)}.work-card a:hover img{opacity:.94;transform:scale(1.012)}.card-meta{justify-content:space-between;gap:1rem;padding-top:.9rem;display:flex}.card-meta h2{margin:0;font-size:1rem}.card-meta p{color:var(--color-muted);margin:0;font-size:.78rem}.section{padding-block:var(--space-6)}.section-panel{border-block:1px solid var(--color-line);background:var(--color-canvas)}.section-heading-row{margin-bottom:var(--space-4);justify-content:space-between;align-items:end;gap:1.5rem;display:flex}.section-heading-row h2{margin-bottom:0}.work-grid,.goods-grid{grid-template-columns:1fr;gap:1.5rem}.goods-card{border:1px solid var(--color-line);border-radius:var(--radius-card);background:var(--color-panel);min-height:100%;box-shadow:var(--shadow-card);flex-direction:column;display:flex;overflow:hidden}.goods-image{aspect-ratio:3/2;border:0;border-bottom:1px solid var(--color-line);background:#edf6fa;border-radius:0}.goods-image img{object-fit:contain}.goods-copy{flex-direction:column;flex:1;padding:1.35rem;display:flex}.goods-copy h2{margin-bottom:.7rem;font-size:1.18rem}.goods-copy>p{color:var(--color-muted)}.meta-row{color:var(--color-accent-hover);letter-spacing:.08em;justify-content:space-between;gap:1rem;margin-bottom:.75rem;font-size:.74rem;font-weight:720;display:flex}.meta-row span{background:var(--color-accent-soft);border-radius:999px;padding:.2rem .6rem}.goods-copy dl{grid-template-columns:3rem 1fr;margin-block:auto 1rem;padding-top:.75rem;font-size:.86rem;display:grid}.goods-copy dt{color:var(--color-muted)}.goods-copy dd{margin:0}.goods-copy .text-link{align-self:flex-start}.connect{gap:var(--space-4);display:grid}.link-cluster a,.detail-links a{min-height:2.75rem;color:var(--color-accent);align-items:center;gap:.35rem;font-weight:650;text-decoration:none;display:inline-flex}.page-hero{border:1px solid var(--color-line);border-radius:var(--radius-card);background:var(--color-canvas);margin-top:clamp(1.5rem,4vw,3rem);padding:clamp(3rem,8vw,6rem) clamp(1.25rem,5vw,4rem);overflow:hidden}.section-intro{max-width:46rem}.section-intro h1{margin-bottom:1rem}.lead{color:var(--color-muted);font-size:clamp(1rem,2vw,1.18rem)}.page-section{padding-block:var(--space-5) var(--space-6)}.empty-state{max-width:var(--measure);border:1px solid var(--color-line);border-radius:var(--radius-card);background:var(--color-panel);box-shadow:var(--shadow-card);padding:clamp(1.5rem,4vw,2.75rem)}.works-empty{align-items:center;gap:2rem;max-width:none;display:grid}.empty-state-copy p{color:var(--color-muted);margin-bottom:.4rem}.empty-state-copy p:first-child{color:var(--color-heading);font-size:clamp(1.2rem,3vw,1.55rem);font-weight:680}.empty-state-copy p:last-child{margin-bottom:0}.empty-state a{color:var(--color-accent);margin-inline:.25rem;font-weight:680;text-decoration:none;display:inline-flex}.empty-state-art{background:var(--color-panel-soft);border-radius:1rem;min-height:9rem;position:relative;overflow:hidden}.empty-state-art:before,.empty-state-art:after,.empty-state-art span{content:"";display:block;position:absolute}.empty-state-art:before{aspect-ratio:1;border:1px solid #0b628f47;border-radius:50%;width:6.5rem;top:18%;right:12%}.empty-state-art:after{aspect-ratio:1;background:#d8f1fd;border-radius:50%;width:3.6rem;bottom:8%;right:25%}.empty-state-art span{transform-origin:0;background:#0b628f4d;width:55%;height:1px;left:10%}.empty-state-art span:first-child{top:30%;transform:rotate(8deg)}.empty-state-art span:nth-child(2){top:52%;transform:rotate(-5deg)}.empty-state-art span:nth-child(3){width:38%;top:72%;transform:rotate(3deg)}.prose{margin-block:var(--space-5) var(--space-6);border:1px solid var(--color-line);border-radius:var(--radius-card);background:var(--color-panel);box-shadow:var(--shadow-card);padding:clamp(1.5rem,5vw,3.5rem)}.prose h2{border-top:1px solid var(--color-line);margin-top:3rem;padding-top:1.5rem;font-size:1.35rem}.prose p,.prose li{color:var(--color-muted)}.prose li+li{margin-top:.4rem}.prose a{color:var(--color-accent);font-weight:620}.notice{border:1px solid #b9d9e9;border-left:4px solid var(--color-accent);border-radius:var(--radius-small);background:var(--color-panel-soft);padding:1rem 1.1rem}.contact-address{overflow-wrap:anywhere;word-break:break-word;max-width:100%;font-size:clamp(1rem,5.4vw,1.6rem);display:inline-block}.link-list{border:1px solid var(--color-line);border-radius:var(--radius-card);background:var(--color-panel);box-shadow:var(--shadow-card);margin:0;padding:0 1.25rem;list-style:none;overflow:hidden}.link-list li+li{border-top:1px solid var(--color-line)}.link-list a{min-height:6.25rem;color:var(--color-heading);grid-template-columns:1fr auto;align-items:center;gap:.5rem 1rem;padding:1rem 0;text-decoration:none;display:grid}.link-list a>span:first-child{font-size:1.25rem;font-weight:680}.link-list small{color:var(--color-muted);grid-column:1}.work-detail{padding-block:var(--space-4) var(--space-6)}.detail-title-row{margin-block:var(--space-4);flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem;display:flex}.detail-title-row h1{margin:0;font-size:clamp(2rem,6vw,4.2rem)}.detail-title-row time{color:var(--color-muted);font-size:.84rem}.detail-image{border:1px solid var(--color-line);border-radius:var(--radius-card);background:var(--color-panel);overflow:hidden}.detail-image img{object-fit:contain;width:100%;max-height:82vh}.detail-copy{max-width:46rem;margin:var(--space-4) auto}.detail-copy>p:first-child{color:var(--color-muted);font-size:1.05rem}.work-description{margin-top:var(--space-3)}.work-description p:last-child{margin-bottom:0}.tag-list{flex-wrap:wrap;gap:.5rem;display:flex}.tag-list span{border:1px solid var(--color-line);color:var(--color-muted);border-radius:999px;padding:.25rem .6rem;font-size:.78rem}.work-pagination{padding-top:var(--space-4);border-top:1px solid var(--color-line);grid-template-columns:1fr 1fr;gap:1rem;display:grid}.work-pagination a{flex-direction:column;text-decoration:none;display:inline-flex}.work-pagination a span{color:var(--color-muted);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem}.next-link{text-align:right}.not-found{min-height:70vh;padding-block:var(--space-6);text-align:center;place-content:center;display:grid}.not-found h1{font-size:clamp(2rem,7vw,4rem)}.not-found p:not(.eyebrow){color:var(--color-muted)}.not-found .button{margin-inline:auto}.site-footer{border-top:1px solid var(--color-line);background:var(--color-canvas)}.footer-inner{width:min(calc(100% - 1.5rem), var(--max-width));min-height:11rem;color:var(--color-muted);align-content:center;gap:1rem;margin-inline:auto;padding-block:2rem;font-size:.8rem;display:grid}.footer-brand{color:var(--color-heading);letter-spacing:.08em;overflow-wrap:anywhere;margin:0;font-weight:720}.footer-inner nav{flex-wrap:wrap;gap:1rem;display:flex}.footer-inner a{color:var(--color-accent-hover)}.copyright{margin:0}code{background:var(--color-panel-soft);color:var(--color-heading);border-radius:.25rem;padding:.12em .35em;font-family:ui-monospace,Cascadia Code,SFMono-Regular,Consolas,monospace}@media (width>=42rem){.shell,.header-inner,.footer-inner{width:min(calc(100% - 3rem), var(--max-width))}.desktop-nav{display:block}.desktop-nav ul{align-items:center;gap:.35rem;display:flex}.desktop-nav a{border-radius:var(--radius-small);min-height:2.75rem;color:var(--color-muted);align-items:center;padding-inline:.85rem;font-size:.8rem;text-decoration:none;display:inline-flex}.desktop-nav a[aria-current=page]{background:var(--color-accent-soft)}.mobile-nav{display:none}.work-grid,.goods-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.works-empty{grid-template-columns:minmax(0,1fr) minmax(13rem,.48fr)}.connect{grid-template-columns:minmax(0,1fr) auto;align-items:end}.footer-inner{grid-template-columns:1fr auto;align-items:center}.copyright{grid-column:1/-1}}@media (width>=62rem){.hero{grid-template-columns:minmax(21rem,.82fr) minmax(31rem,1.06fr)}.work-grid,.goods-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=41.999rem){.hero{gap:2.25rem;min-height:auto;padding-block:3rem 4.5rem}.hero-copy h1{font-size:clamp(2.35rem,11.5vw,3.15rem)}.hero-media{width:100%}.hero-actions{gap:.75rem}.hero-actions .button{flex:9rem}.section-heading-row{flex-direction:column;align-items:flex-start;gap:.75rem}.page-hero,.prose{border-radius:1rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (forced-colors:active){.media-frame,.goods-card,.empty-state,.page-hero,.prose,.link-list,.tag-list span,.button{border:1px solid canvastext}}
