
:root{--ink:#1a1a1a;--sub:#6b6b6b;--line:#e4e4e4;--bg:#fff}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Hiragino Mincho ProN","Yu Mincho",serif;line-height:1.9}
.sans{font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}
header{display:flex;justify-content:space-between;align-items:center;padding:18px 28px;border-bottom:1px solid var(--line)}
header a{color:var(--ink);text-decoration:none}header .name{letter-spacing:.32em;font-size:15px}
header nav a{margin-left:22px;font-size:13px;letter-spacing:.12em}
main{max-width:1120px;margin:0 auto;padding:56px 28px}
.crumb{font-size:12px;color:var(--sub);letter-spacing:.1em}.crumb a{color:var(--sub)}
h1{font-weight:normal;font-size:clamp(24px,3.4vw,36px);letter-spacing:.06em;margin:8px 0 4px}
.meta{color:var(--sub);font-size:13px;margin:0 0 6px}
.spec{font-size:13px;color:#444;margin:0 0 28px}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:0 0 40px}
.words p{margin:0 0 10px;font-size:16px}.words .by{font-size:12px;color:var(--sub)}
.note{font-size:15px;color:#333}
.gal{columns:3 280px;column-gap:14px}
.gal figure{margin:0 0 14px;break-inside:avoid}.gal img{width:100%;display:block;background:#eee}
.diag{display:flex;gap:18px;flex-wrap:wrap;margin:24px 0 0}.diag img{max-width:300px;width:100%;border:1px solid var(--line)}
.diag p{width:100%;font-size:12px;color:var(--sub);margin:0}
.pn{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:48px;padding-top:16px;font-size:14px}
.pn a{color:var(--ink);text-decoration:none}
footer{max-width:1120px;margin:0 auto;padding:28px;border-top:1px solid var(--line);color:var(--sub);font-size:12px}
.sample{position:fixed;right:12px;bottom:12px;background:#c75b12;color:#fff;font-size:12px;padding:6px 10px;border-radius:4px}
.ask{color:#c75b12;font-size:12px}
table.cv{border-collapse:collapse;width:100%;font-size:14px}table.cv td{border-top:1px solid var(--line);padding:6px 8px;vertical-align:top}
table.cv td:first-child{width:70px;color:var(--sub);white-space:nowrap}
h2{font-weight:normal;font-size:13px;letter-spacing:.4em;color:var(--sub);margin:48px 0 16px}
@media(max-width:720px){header{padding:14px 16px}header nav a{margin-left:12px;font-size:12px}main{padding:40px 16px}.cols{grid-template-columns:1fr;gap:20px}}

.gal figcaption{font-size:11px;color:#666;line-height:1.5;margin-top:4px;font-family:'Hiragino Sans',sans-serif}
.hist{font-size:13px;margin:0 0 28px;padding:0;list-style:none}.hist li{border-top:1px solid var(--line);padding:6px 0}
.credit{font-size:12px;color:var(--sub)}
@media(max-width:720px){header .name{font-size:12px;letter-spacing:.18em;white-space:nowrap}header nav{white-space:nowrap}header nav a{margin-left:12px;letter-spacing:.06em}}
