:root{--paper:#fff;--line:#d9d3c8;--accent:#ef705e;--mint:#fff;--sky:#fff;--yellow:#fff}
@font-face{font-family:'Higure Gothic';src:url('assets/HigureGothic-Medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
body{background:#fff;font-family:'Higure Gothic','Noto Sans JP',sans-serif}
header{background:rgba(255,255,255,.92);position:sticky;top:0;z-index:5;backdrop-filter:blur(12px)}
.hero h1 em{color:var(--accent);font-style:italic}
.intro .note{font-size:clamp(18px,2.2vw,28px);line-height:1.9;max-width:720px}
.works.wrap{max-width:none;padding-left:clamp(24px,2.5vw,64px);padding-right:clamp(24px,2.5vw,64px)}
.works{background-color:#fff;background-image:linear-gradient(#f4f4f4 1px,transparent 1px),linear-gradient(90deg,#f4f4f4 1px,transparent 1px);background-size:42px 42px}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none;height:auto;gap:72px clamp(24px,3vw,64px)}
.work,.work:nth-child(3n+1),.work:nth-child(3n+2),.work:nth-child(3n){min-width:0;min-height:0;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
.work:hover{transform:none;box-shadow:none}
.work .visual{aspect-ratio:1.6;overflow:hidden;border-radius:22px;box-shadow:0 4px 16px rgba(35,37,32,.08)}
.work .visual img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center;border-radius:0;background:#fff}
.work .meta{display:none}
.work h3{font-size:clamp(18px,1.4vw,26px);line-height:1.45;text-align:center;margin:28px 0 4px}
.work p{font-size:clamp(14px,.9vw,17px);line-height:1.6;text-align:center;margin:0}
.contact{background:var(--accent)}
.contact .mail-note{color:#fff}
.detail-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,48px);align-items:start}
.detail-gallery img{width:100%;height:auto;border-radius:20px;box-shadow:0 4px 16px rgba(35,37,32,.08);background:#fff}
@media(max-width:900px){.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:52px 24px}}
@media(max-width:900px){.detail-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.grid{grid-template-columns:1fr;gap:42px}.work h3{margin-top:18px}.detail-gallery{grid-template-columns:1fr;gap:24px}}
