:root{
  --paper:#F3F3EF;
  --paper-deep:#EAEAE4;
  --ink:#1F2326;
  --ink-soft:#4A5056;
  --grey:#7C8187;
  --rule:#CFD0C9;
  --gosu:#2E4A7A;
  --seal:#A5322B;
  --serif-h:"Shippori Mincho B1","Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;
  --serif:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;
  --serif-kr:"Noto Serif KR","Noto Serif JP",serif;
  --max:1240px;
  --gut:clamp(20px,5vw,72px);
}
*{box-sizing:border-box;margin:0;padding:0;border-radius:0}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--serif);font-weight:400;line-height:2;font-size:15px;letter-spacing:.04em;-webkit-font-smoothing:antialiased;font-feature-settings:"palt" 0}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
a:hover{color:var(--gosu)}
:lang(ko){font-family:var(--serif-kr);letter-spacing:0}
h1,h2,h3{font-family:var(--serif-h);font-weight:500;line-height:1.5}
.ko{color:var(--grey);font-size:.86em;letter-spacing:0}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
hr.hair{border:0;border-top:1px solid var(--rule);margin:0}

/* 印・目次（固定） */
.mark{position:fixed;top:22px;left:22px;z-index:20;display:flex;align-items:flex-start;gap:12px}
.seal{width:40px;height:66px;background:var(--seal);color:#fff;writing-mode:vertical-rl;font-family:var(--serif-h);font-size:16px;line-height:40px;letter-spacing:.1em;display:flex;align-items:center;justify-content:center;font-weight:600}
.mark small{display:block;writing-mode:vertical-rl;font-size:11px;letter-spacing:.24em;color:var(--ink-soft);line-height:1;padding-top:2px}
.tocbtn{position:fixed;top:22px;right:22px;z-index:20;display:flex;gap:18px;align-items:center;font-size:12px;letter-spacing:.2em}
.tocbtn a.toc-link{border:1px solid var(--ink);padding:9px 16px;background:var(--paper)}
.tocbtn a.tel{color:var(--ink-soft)}
@media (max-width:720px){.tocbtn a.tel{display:none}}

/* 表紙 */
.cover{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:stretch;border-bottom:1px solid var(--rule)}
.cover .text{padding:120px var(--gut) 56px;display:flex;flex-direction:column;justify-content:space-between}
.cover .core{writing-mode:vertical-rl;text-orientation:mixed;height:max(640px,72vh);display:flex;flex-direction:column;gap:0}
.cover .core h1{font-size:clamp(28px,2.7vw,38px);letter-spacing:.12em;line-height:1;font-weight:500;margin-left:34px}
.cover .core p{font-size:clamp(14px,1.15vw,17px);letter-spacing:.18em;line-height:1;color:var(--ink-soft);margin-left:28px}
.cover .core p .name{font-family:var(--serif-h);font-size:1.5em;color:var(--ink);margin-top:.6em;letter-spacing:.2em;display:inline-block;white-space:nowrap}
.cover .coreko{font-size:12.5px;color:var(--grey);margin-top:26px;max-width:420px;line-height:1.8}
.cover .imprint{font-size:12px;letter-spacing:.18em;color:var(--ink-soft);line-height:1.9;margin-top:56px}
.cover .imprint b{font-weight:500;color:var(--ink);font-family:var(--serif-h);font-size:15px;letter-spacing:.22em}
.cover .plate{background:var(--paper-deep);display:flex;flex-direction:column;justify-content:center;padding:96px var(--gut) 48px;border-left:1px solid var(--rule)}
.cover .plate figure{max-width:640px;margin:0 auto;width:100%}
.cover .plate figcaption{margin-top:18px;font-size:12px;letter-spacing:.16em;color:var(--ink-soft);display:flex;justify-content:space-between;gap:16px}
.cover .plate figcaption .ko{font-size:12px}
@media (max-width:900px){
  .cover{grid-template-columns:1fr;min-height:0}
  .cover .text{padding:110px var(--gut) 40px}
  .cover .core{height:max(440px,54vh)}
  .cover .plate{border-left:0;border-top:1px solid var(--rule);padding:48px var(--gut)}
}

/* 目次 */
.toc{padding-top:88px;padding-bottom:80px}
.toc .head{display:flex;align-items:baseline;gap:26px;margin-bottom:38px}
.toc .head h2{font-size:15px;letter-spacing:.34em;font-weight:500}
.toc .head span{font-size:12px;color:var(--grey);letter-spacing:.08em}
.toc ol{list-style:none;border-top:1px solid var(--rule)}
.toc li{border-bottom:1px solid var(--rule)}
.toc li a{display:grid;grid-template-columns:56px minmax(0,1fr) minmax(0,1.4fr) 28px;gap:24px;align-items:baseline;padding:22px 0;transition:background .2s}
.toc li a:hover{background:var(--paper-deep)}
.toc .ch{font-family:var(--serif-h);font-size:22px;letter-spacing:.2em;color:var(--gosu);line-height:1}
.toc .ti{font-family:var(--serif-h);font-size:clamp(18px,1.7vw,22px);letter-spacing:.14em;line-height:1.4}
.toc .ti .ko{display:block;font-size:12px;margin-top:4px}
.toc .de{font-size:13px;color:var(--ink-soft);letter-spacing:.06em;line-height:1.9}
.toc .ar{font-size:14px;color:var(--grey);text-align:right}
@media (max-width:760px){
  .toc{padding-top:64px;padding-bottom:56px}
  .toc li a{display:block;padding:20px 0}
  .toc .ch{display:inline-block;font-size:16px;letter-spacing:.14em;margin-right:14px;vertical-align:baseline}
  .toc .ti{display:inline;font-size:19px;letter-spacing:.1em}
  .toc .ti .ko{display:block;margin-top:2px;padding-left:0}
  .toc .de{display:block;margin-top:8px;font-size:13.5px;line-height:1.85}
  .toc .ar{display:none}
}

/* 近況 */
.news{padding-bottom:88px}
.news .row{display:grid;grid-template-columns:200px minmax(0,1fr);gap:40px;align-items:start}
.news h2{font-size:14px;letter-spacing:.34em;font-weight:500;padding-top:8px}
.news h2 .ko{display:block;font-size:11px;letter-spacing:.06em;margin-top:6px}
.news ul{list-style:none;border-top:1px solid var(--rule)}
.news li{border-bottom:1px solid var(--rule);display:grid;grid-template-columns:110px minmax(0,1fr);gap:20px;padding:14px 0;font-size:14px}
.news time{color:var(--grey);letter-spacing:.06em;font-variant-numeric:tabular-nums}
.news li a{border-bottom:1px solid transparent}
.news li a:hover{border-bottom-color:var(--gosu)}
.news .more{margin-top:14px;font-size:12px;letter-spacing:.18em;color:var(--ink-soft)}
@media (max-width:760px){.news .row{grid-template-columns:1fr;gap:16px}.news li{grid-template-columns:96px 1fr}}

/* 章 共通 */
.chapter{border-top:1px solid var(--rule);padding:96px 0 104px}
.chapter .grid{display:grid;grid-template-columns:120px minmax(0,1fr);gap:40px}
.chapter .side{position:sticky;top:120px;align-self:start;height:min(60vh,420px)}
.chapter .side .ch{writing-mode:vertical-rl;font-family:var(--serif-h);font-size:28px;letter-spacing:.3em;color:var(--gosu);line-height:1;display:flex;align-items:flex-start}
.chapter .side .ch::before{content:"";display:block;width:8px;height:8px;background:var(--gosu);margin-bottom:22px;margin-left:10px}
.chapter .side .ko{writing-mode:vertical-rl;font-size:11px;letter-spacing:.1em;margin-right:14px;color:var(--grey);line-height:1;padding-top:30px}
.chapter .side{display:flex;flex-direction:row-reverse;justify-content:flex-end}
.chapter h2.title{font-size:clamp(24px,2.6vw,34px);letter-spacing:.16em;line-height:1.6;font-weight:500;margin-bottom:34px}
.chapter h2.title .ko{display:block;font-size:14px;margin-top:10px;letter-spacing:.02em;font-weight:400}
.prose{max-width:640px}
.prose p{margin-bottom:1.6em;text-align:justify}
.prose p:last-child{margin-bottom:0}
.prose .lead{font-family:var(--serif-h);font-size:17px;letter-spacing:.08em;line-height:2.1}
.prose .note{font-size:13px;color:var(--ink-soft);letter-spacing:.04em}
.linkline{display:inline-block;margin-top:28px;font-size:13px;letter-spacing:.2em;border-bottom:1px solid var(--ink);padding-bottom:4px}
.linkline:hover{border-bottom-color:var(--gosu)}
@media (max-width:760px){
  .chapter{padding:64px 0 72px}
  .chapter .grid{grid-template-columns:1fr;gap:20px}
  .chapter .side{position:static;height:auto;flex-direction:row;justify-content:flex-start;gap:14px;align-items:center}
  .chapter .side .ch{writing-mode:horizontal-tb;font-size:20px;letter-spacing:.3em;align-items:center}
  .chapter .side .ch::before{margin:0 12px 0 0}
  .chapter .side .ko{writing-mode:horizontal-tb;padding:0;margin:0}
}

/* 序 */
.jo .two{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:64px;align-items:start}
.jo figure{max-width:420px;margin-left:auto}
.jo figure img{width:100%}
.jo figcaption{font-size:12px;color:var(--ink-soft);letter-spacing:.12em;margin-top:14px;line-height:1.9}
.jo .years{margin-top:56px;max-width:640px;border-top:1px solid var(--rule)}
.jo .years div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:18px;padding:12px 0;border-bottom:1px solid var(--rule);font-size:14px}
.jo .years b{font-weight:400;color:var(--gosu);letter-spacing:.06em;font-variant-numeric:tabular-nums}
@media (max-width:900px){.jo .two{grid-template-columns:1fr;gap:40px}.jo figure{margin-left:0}}

/* 図版 */
.plates{display:grid;grid-template-columns:repeat(12,1fr);gap:40px 32px;align-items:end}
.plates figure{margin:0}
.plates figure img{width:100%;background:#fff}
.plates figcaption{margin-top:14px;font-size:12.5px;letter-spacing:.1em;color:var(--ink-soft);line-height:1.9;display:grid;grid-template-columns:36px 1fr;gap:10px}
.plates figcaption .no{color:var(--gosu);font-variant-numeric:tabular-nums}
.plates figcaption .t{color:var(--ink);font-family:var(--serif-h);letter-spacing:.06em}
.p1{grid-column:1/7}
.p2{grid-column:8/11}
.p3{grid-column:11/13;align-self:start}
.p4{grid-column:2/5}
.p5{grid-column:5/9}
.p6{grid-column:9/13;align-self:start}
.plates .hi{grid-column:1/13;padding-top:20px;font-size:13px;color:var(--ink-soft);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px 32px;border-top:1px solid var(--rule);margin-top:8px}
@media (max-width:760px){
  .plates{grid-template-columns:repeat(2,1fr);gap:32px 20px}
  .p1{grid-column:1/3}.p2{grid-column:1/2}.p3{grid-column:2/3}.p4{grid-column:1/2}.p5{grid-column:2/3}.p6{grid-column:1/3}
  .plates .hi{grid-column:1/3}
}

/* 作家 */
.artists{list-style:none;border-top:1px solid var(--rule)}
.artists li{border-bottom:1px solid var(--rule)}
.artists li a{display:grid;grid-template-columns:96px 64px minmax(0,1fr) minmax(0,1.3fr) 28px;gap:28px;align-items:center;padding:20px 0}
.artists li a:hover{background:var(--paper-deep)}
.artists img{width:96px;height:96px;object-fit:cover}
.artists .pl{font-size:12px;letter-spacing:.18em;color:var(--gosu);writing-mode:vertical-rl;justify-self:center;line-height:1}
.artists .nm{font-family:var(--serif-h);font-size:clamp(19px,1.8vw,24px);letter-spacing:.2em;line-height:1.4}
.artists .nm .ko{display:block;font-size:12px;letter-spacing:.02em;margin-top:4px}
.artists .bio{font-size:13px;color:var(--ink-soft);line-height:1.9}
.artists .ar{color:var(--grey);text-align:right}
@media (max-width:760px){
  .artists li a{grid-template-columns:72px minmax(0,1fr) 20px;gap:16px}
  .artists img{width:72px;height:72px}
  .artists .pl{writing-mode:horizontal-tb;justify-self:start;grid-column:2/3}
  .artists .nm{grid-column:2/3}
  .artists .bio{grid-column:2/3}
  .artists .ar{grid-column:3/4;grid-row:1/2}
}

/* 記録 */
.rec .two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}
.chron{border-top:1px solid var(--rule)}
.chron div{display:grid;grid-template-columns:92px minmax(0,1fr);gap:18px;padding:13px 0;border-bottom:1px solid var(--rule);font-size:14px;line-height:1.9}
.chron b{font-weight:400;color:var(--gosu);letter-spacing:.04em;font-variant-numeric:tabular-nums}
.chron span.s{display:block;font-size:12.5px;color:var(--grey)}
.rec .photos figure{margin-bottom:36px}
.rec .photos figcaption{font-size:12px;letter-spacing:.12em;color:var(--ink-soft);margin-top:12px;line-height:1.9}
.rec .photos figure.small{max-width:78%;margin-left:auto}
@media (max-width:900px){.rec .two{grid-template-columns:1fr;gap:44px}}

/* 館 */
.kan .hero{margin-bottom:56px}
.kan .hero figcaption{font-size:12px;letter-spacing:.12em;color:var(--ink-soft);margin-top:12px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 24px}
.kan .rooms{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px 64px;align-items:start}
.kan .room h3{font-size:20px;letter-spacing:.2em;margin-bottom:12px;font-weight:500}
.kan .room h3 .ko{font-size:12px;margin-left:12px;letter-spacing:.02em;font-weight:400}
.kan .room p{font-size:14px;color:var(--ink-soft);margin-bottom:14px;text-align:justify}
.kan table{border-collapse:collapse;width:100%;font-size:13.5px;margin-top:8px}
.kan th,.kan td{text-align:left;padding:9px 0;border-bottom:1px solid var(--rule);vertical-align:top;font-weight:400}
.kan th{width:34%;color:var(--grey);letter-spacing:.06em;padding-right:12px}
.kan td.num{text-align:right;font-variant-numeric:tabular-nums}
.kan .room figure{margin:22px 0 0}
.kan .room figcaption{font-size:12px;color:var(--ink-soft);margin-top:10px;letter-spacing:.1em}
.kan .caution{font-size:12.5px;color:var(--grey);margin-top:10px}
@media (max-width:900px){.kan .rooms{grid-template-columns:1fr;gap:48px}}

/* 案内（奥付） */
.annai{border-top:1px solid var(--ink);padding:88px 0 40px}
.annai .cols{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr);gap:48px}
.annai h2{font-size:14px;letter-spacing:.34em;font-weight:500;margin-bottom:22px}
.annai h2 .ko{font-size:11px;letter-spacing:.04em;margin-left:12px;font-weight:400}
.annai dl{font-size:14px}
.annai dt{color:var(--grey);font-size:12px;letter-spacing:.14em;margin-top:16px}
.annai dt:first-child{margin-top:0}
.annai dd{line-height:1.9}
.annai .big{font-family:var(--serif-h);font-size:clamp(24px,2.4vw,30px);letter-spacing:.1em;line-height:1.4;font-variant-numeric:tabular-nums}
.annai .name{font-family:var(--serif-h);font-size:20px;letter-spacing:.2em;margin-bottom:4px}
.annai .name .ko{display:block;font-size:12px;letter-spacing:.02em}
.annai ul{list-style:none;font-size:14px}
.annai ul li{padding:9px 0;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;gap:16px}
.annai ul li span{color:var(--grey);font-size:12px;letter-spacing:.06em}
.annai .btn{display:inline-block;border:1px solid var(--ink);padding:12px 26px;font-size:13px;letter-spacing:.24em;margin-top:22px}
.annai .btn:hover{background:var(--ink);color:var(--paper)}
.annai .foot{margin-top:72px;padding-top:20px;border-top:1px solid var(--rule);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px 24px;font-size:11.5px;letter-spacing:.14em;color:var(--grey)}
.annai .foot .sealline{display:flex;align-items:center;gap:12px}
.annai .foot .sealline i{display:inline-block;width:12px;height:12px;background:var(--seal)}
@media (max-width:900px){.annai .cols{grid-template-columns:1fr;gap:40px}}

/* スマホ: 印と目次は固定しない（章見出しと重なるため） */
@media (max-width:760px){
  .mark,.tocbtn{position:absolute}
  .mark small{writing-mode:horizontal-tb;padding-top:4px;line-height:1.5;letter-spacing:.12em}
}
@media (max-width:520px){
  .mark small{display:none}
  .tocbtn{gap:12px}
  .artists li a{align-items:start}
  .artists img{grid-row:1/4}
}
.tocbtn a.lang{color:var(--ink-soft);border-bottom:1px solid var(--rule);padding-bottom:2px}

/* 韓国語版 */
.lang-ko{font-family:var(--serif-kr);letter-spacing:0;line-height:1.95;word-break:keep-all}
.lang-ko h1,.lang-ko h2,.lang-ko h3,.lang-ko .toc .ti,.lang-ko .toc .ch,.lang-ko .artists .nm,.lang-ko .plates figcaption .t,.lang-ko .annai .name,.lang-ko .annai .big,.lang-ko .chapter .side .ch,.lang-ko .cover .core .name,.lang-ko .cover .imprint b{font-family:var(--serif-kr)}
.lang-ko :lang(ja){font-family:var(--serif);letter-spacing:.04em}
.lang-ko .mark small{writing-mode:horizontal-tb;padding-top:4px;letter-spacing:.08em;line-height:1.5}
.lang-ko .cover .core{writing-mode:horizontal-tb;height:auto;display:block;padding-top:6vh}
.lang-ko .cover .core h1{font-size:clamp(30px,3.1vw,44px);letter-spacing:-.01em;line-height:1.4;margin:0 0 30px;max-width:520px}
.lang-ko .cover .core p{margin:0;font-size:16px;line-height:1.9;letter-spacing:0;color:var(--ink-soft);max-width:460px}
.lang-ko .cover .core p .name{display:block;font-size:2.2em;color:var(--ink);margin-top:.5em;letter-spacing:.04em;line-height:1.2}
.lang-ko .cover .coreko{font-size:12.5px;letter-spacing:.08em}
.lang-ko .cover .imprint{letter-spacing:.04em}
.lang-ko .cover .imprint b{letter-spacing:.06em}
.lang-ko .toc .ch{letter-spacing:.06em;font-size:19px}
.lang-ko .toc .ti{letter-spacing:0}
.lang-ko .toc .de,.lang-ko .news li,.lang-ko .prose p,.lang-ko .artists .bio,.lang-ko .chron div,.lang-ko .kan .room p,.lang-ko .annai dd{letter-spacing:0}
.lang-ko .chapter .side{height:auto;flex-direction:row;gap:12px;align-items:center}
.lang-ko .chapter .side .ch{writing-mode:horizontal-tb;letter-spacing:.1em;font-size:22px;align-items:center}
.lang-ko .chapter .side .ch::before{margin:0 12px 0 0}
.lang-ko .chapter .side .ko{writing-mode:horizontal-tb;padding:0;margin:0}
.lang-ko .chapter h2.title{letter-spacing:0}
.lang-ko .artists .pl{writing-mode:horizontal-tb;letter-spacing:.06em}
.lang-ko .artists .nm{letter-spacing:.02em}
.lang-ko .kan .room h3{letter-spacing:0}
.lang-ko .annai h2,.lang-ko .toc .head h2,.lang-ko .news h2{letter-spacing:.2em}
.lang-ko .annai .btn,.lang-ko .tocbtn a.toc-link,.lang-ko .linkline{letter-spacing:.1em}
.lang-ko .news li{grid-template-columns:140px minmax(0,1fr)}

/* ===== 下層ページ（章ごとの1ページ） ===== */
.sub .pagehead{padding:150px 0 60px;border-bottom:1px solid var(--rule)}
.sub .pagehead .grid{display:grid;grid-template-columns:120px minmax(0,1fr);gap:40px}
.sub .pagehead .crumb{font-size:12px;letter-spacing:.2em;color:var(--grey);margin-bottom:28px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.sub .pagehead .crumb a{border-bottom:1px solid var(--rule);padding-bottom:2px}
.sub .pagehead .crumb span::before{content:"";display:inline-block;width:6px;height:6px;background:var(--gosu);margin-right:10px;vertical-align:middle}
.sub .pagehead h1{font-size:clamp(30px,3.4vw,46px);letter-spacing:.16em;line-height:1.5;font-weight:500}
.sub .pagehead h1 .ko{display:block;font-size:14px;margin-top:12px;letter-spacing:.02em;font-weight:400}
.sub .pagehead .lead{margin-top:26px;max-width:640px;font-family:var(--serif-h);font-size:16px;line-height:2.1;letter-spacing:.08em}
.sub .chapter{border-top:0;padding:80px 0 96px}
.sub .chapter+.chapter{border-top:1px solid var(--rule)}
.part{margin-bottom:72px}
.part:last-child{margin-bottom:0}
.part>h2{font-size:clamp(20px,2vw,26px);letter-spacing:.16em;line-height:1.6;margin-bottom:22px;font-weight:500}
.part>h2 .no{font-size:13px;color:var(--gosu);letter-spacing:.1em;margin-right:16px;font-variant-numeric:tabular-nums}
.part>h2 .ko{font-size:12px;letter-spacing:.02em;font-weight:400;margin-left:14px}
.sub .two{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:64px;align-items:start}
.sub .two.rev{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}
.sub figure.fig{margin:0}
.sub figure.fig img{width:100%}
.sub figure.fig figcaption{font-size:12px;color:var(--ink-soft);letter-spacing:.12em;margin-top:12px;line-height:1.9}
.sub figure.fig.narrow{max-width:420px}
.sub .years{max-width:640px;border-top:1px solid var(--rule)}
.sub .years div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:18px;padding:12px 0;border-bottom:1px solid var(--rule);font-size:14px;line-height:1.9}
.sub .years b{font-weight:400;color:var(--gosu);letter-spacing:.06em;font-variant-numeric:tabular-nums}
.sub .years .s{display:block;font-size:12.5px;color:var(--grey)}
.sub .prose .note{font-size:12.5px;color:var(--grey);letter-spacing:.04em;line-height:1.9}
@media (max-width:900px){.sub .two,.sub .two.rev{grid-template-columns:1fr;gap:40px}}
@media (max-width:760px){.sub .pagehead{padding:120px 0 44px}.sub .pagehead .grid{grid-template-columns:1fr;gap:0}.sub .chapter{padding:56px 0 64px}.part{margin-bottom:52px}}

/* 記録 */
.yearidx{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:13px;letter-spacing:.12em;color:var(--ink-soft);margin-bottom:40px;font-variant-numeric:tabular-nums}
.yearidx a{border-bottom:1px solid var(--rule);padding-bottom:2px}
.entry{display:grid;grid-template-columns:130px minmax(0,1fr);gap:32px;padding:40px 0;border-top:1px solid var(--rule)}
.entry:last-of-type{border-bottom:1px solid var(--rule)}
.entry .when{color:var(--gosu);font-size:14px;letter-spacing:.06em;line-height:1.9;font-variant-numeric:tabular-nums}
.entry .when small{display:block;font-size:12px;color:var(--grey);letter-spacing:.04em}
.entry h3{font-size:clamp(18px,1.7vw,22px);letter-spacing:.12em;line-height:1.6;margin-bottom:6px;font-weight:500}
.entry .tag{display:block;font-size:12.5px;color:var(--grey);letter-spacing:.06em;margin-bottom:14px}
.entry p{font-size:14px;color:var(--ink-soft);max-width:640px;text-align:justify;margin-bottom:1em;line-height:1.95}
.entry p:last-child{margin-bottom:0}
.entry .facts{font-size:13px;color:var(--ink-soft);margin:0 0 16px;max-width:640px;display:grid;grid-template-columns:72px minmax(0,1fr);gap:4px 16px}
.entry .facts dt{color:var(--grey);letter-spacing:.1em}
.entry .pics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:22px;max-width:760px}
.entry .pics figure{margin:0}
.entry .pics figure.w{grid-column:1/3}
.entry .pics img{width:100%}
.entry .pics figcaption{font-size:12px;color:var(--ink-soft);letter-spacing:.1em;margin-top:10px;line-height:1.8}
@media (max-width:760px){.entry{grid-template-columns:1fr;gap:10px;padding:32px 0}.entry .pics{grid-template-columns:1fr}.entry .pics figure.w{grid-column:auto}}

/* 作家 */
.artist{display:grid;grid-template-columns:200px 44px minmax(0,1fr);gap:36px;padding:52px 0;border-top:1px solid var(--rule);align-items:start}
.artist:last-of-type{border-bottom:1px solid var(--rule)}
.artist>img{width:200px;height:200px;object-fit:cover}
.artist .pl{font-size:12px;letter-spacing:.18em;color:var(--gosu);writing-mode:vertical-rl;line-height:1;justify-self:center;padding-top:6px}
.artist h2{font-size:clamp(22px,2.2vw,30px);letter-spacing:.2em;line-height:1.4;margin-bottom:6px;font-weight:500}
.artist h2 .ko{display:block;font-size:12px;letter-spacing:.02em;font-weight:400;margin-top:4px}
.artist .rm{font-size:12px;color:var(--grey);letter-spacing:.14em;margin-bottom:18px}
.artist .bio{max-width:640px;font-size:14px;color:var(--ink-soft);text-align:justify;margin-bottom:18px}
.artist dl.cv{max-width:640px;border-top:1px solid var(--rule);font-size:13.5px;margin-bottom:18px}
.artist dl.cv div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;padding:8px 0;border-bottom:1px solid var(--rule);line-height:1.8}
.artist dl.cv dt{color:var(--gosu);font-variant-numeric:tabular-nums;letter-spacing:.04em}
.artist .links{display:flex;flex-wrap:wrap;gap:10px 24px;font-size:12.5px;letter-spacing:.14em;color:var(--ink-soft)}
.artist .links a{border-bottom:1px solid var(--rule);padding-bottom:2px}
.artist .works{display:flex;gap:12px;margin-top:22px}
.artist .works a img{width:96px;height:96px;object-fit:cover}
@media (max-width:760px){
  .artist{grid-template-columns:120px minmax(0,1fr);gap:20px;padding:40px 0}
  .artist>img{width:120px;height:120px}
  .artist .pl{writing-mode:horizontal-tb;justify-self:start;padding:0;align-self:end}
  .artist .body{grid-column:1/3}
}

/* 図版（下層） */
.plates.long .p1{grid-column:1/7}.plates.long .p2{grid-column:8/11}.plates.long .p3{grid-column:11/13;align-self:start}
.plates.long .p4{grid-column:2/5}.plates.long .p5{grid-column:5/9}.plates.long .p6{grid-column:9/13;align-self:start}
.plates.long .p7{grid-column:1/5}.plates.long .p8{grid-column:6/9;align-self:start}.plates.long .p9{grid-column:9/13}
@media (max-width:760px){
  .plates.long .p1{grid-column:1/3}.plates.long .p2{grid-column:1/2}.plates.long .p3{grid-column:2/3}.plates.long .p4{grid-column:1/2}.plates.long .p5{grid-column:2/3}
  .plates.long .p6{grid-column:1/3}.plates.long .p7{grid-column:1/2}.plates.long .p8{grid-column:2/3}.plates.long .p9{grid-column:1/3}
}
.howto{max-width:760px;border-top:1px solid var(--rule)}
.howto div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;padding:14px 0;border-bottom:1px solid var(--rule);font-size:14px;line-height:1.9}
.howto b{font-weight:400;color:var(--gosu);letter-spacing:.08em}
.howto span{color:var(--ink-soft)}
@media (max-width:760px){.howto div{grid-template-columns:1fr;gap:2px}}

/* 館（下層） */
.plan{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:48px;align-items:start}
.plan img{width:100%;background:#fff}
@media (max-width:900px){.plan{grid-template-columns:1fr;gap:32px}}

/* 案内（下層） */
.info{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px 64px;align-items:start}
.info h3{font-size:14px;letter-spacing:.34em;font-weight:500;margin-bottom:18px}
.info h3 .ko{font-size:11px;letter-spacing:.04em;margin-left:12px;font-weight:400}
.info dl{font-size:14px}
.info dt{color:var(--grey);font-size:12px;letter-spacing:.14em;margin-top:16px}
.info dt:first-child{margin-top:0}
.info dd{line-height:1.9}
.info .big{font-family:var(--serif-h);font-size:clamp(24px,2.4vw,30px);letter-spacing:.1em;line-height:1.4;font-variant-numeric:tabular-nums}
.info .btn{display:inline-block;border:1px solid var(--ink);padding:12px 26px;font-size:13px;letter-spacing:.24em;margin-top:22px}
.info .btn:hover{background:var(--ink);color:var(--paper)}
.info ul{list-style:none;font-size:14px}
.info ul li{padding:9px 0;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;gap:16px}
.info ul li span{color:var(--grey);font-size:12px;letter-spacing:.06em}
.map{margin-top:8px}
.map iframe{display:block;width:100%;height:440px;border:0;filter:grayscale(1) contrast(1.02)}
.map p{font-size:12px;color:var(--grey);letter-spacing:.1em;margin-top:10px}
@media (max-width:900px){.info{grid-template-columns:1fr;gap:44px}.map iframe{height:340px}}

/* 前後の章・奥付（下層） */
.nextprev{border-top:1px solid var(--ink)}
.nextprev .wrap{display:grid;grid-template-columns:1fr 1fr}
.nextprev a{padding:34px 0;display:flex;flex-direction:column;gap:6px}
.nextprev a.next{text-align:right;border-left:1px solid var(--rule);padding-left:32px}
.nextprev a.prev{padding-right:32px}
.nextprev .lb{font-size:12px;letter-spacing:.2em;color:var(--grey)}
.nextprev .ti{font-family:var(--serif-h);font-size:clamp(18px,1.8vw,24px);letter-spacing:.14em}
.nextprev a:hover .ti{color:var(--gosu)}
.colophon{border-top:1px solid var(--rule);padding:36px 0 40px;font-size:12px;letter-spacing:.14em;color:var(--grey)}
.colophon .row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px 24px;margin-bottom:18px}
.colophon .sealline{display:flex;align-items:center;gap:12px;color:var(--ink-soft)}
.colophon .sealline i{display:inline-block;width:12px;height:12px;background:var(--seal)}
.colophon ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px 24px}
.colophon li a{border-bottom:1px solid transparent}
.colophon li a:hover{border-bottom-color:var(--gosu)}
@media (max-width:760px){.nextprev .wrap{grid-template-columns:1fr}.nextprev a.next{border-left:0;border-top:1px solid var(--rule);padding-left:0;text-align:left}.nextprev a.prev{padding-right:0}}

/* 下層ページ 韓国語版 */
.info dd.blank{min-height:1.9em}
.lang-ko .pagehead h1,.lang-ko .part>h2,.lang-ko .entry h3,.lang-ko .artist h2,.lang-ko .nextprev .ti{font-family:var(--serif-kr)}
.lang-ko .pagehead h1,.lang-ko .part>h2,.lang-ko .entry h3,.lang-ko .nextprev .ti,.lang-ko .pagehead .lead,.lang-ko .entry .when,.lang-ko .entry p,.lang-ko .entry .facts,.lang-ko .artist .bio,.lang-ko .artist dl.cv,.lang-ko .howto div,.lang-ko .info dd,.lang-ko .sub .years div,.lang-ko .colophon{letter-spacing:0}
.lang-ko .pagehead .crumb,.lang-ko .nextprev .lb,.lang-ko .part>h2 .no{letter-spacing:.06em}
.lang-ko .artist h2{letter-spacing:.02em}
.lang-ko .artist{grid-template-columns:200px 72px minmax(0,1fr)}
.lang-ko .artist .pl{writing-mode:horizontal-tb;letter-spacing:.06em;justify-self:start;padding-top:8px}
.lang-ko .info h3{letter-spacing:.2em}
.lang-ko .entry{grid-template-columns:160px minmax(0,1fr)}
.lang-ko .plates figcaption .t{font-family:var(--serif-kr)}
@media (max-width:760px){.lang-ko .artist{grid-template-columns:120px minmax(0,1fr)}.lang-ko .entry{grid-template-columns:1fr}}

/* 英語版（韓国語版の横組みを土台に、書体と字間だけ差し替え） */
:root{--serif-en:"Noto Serif","Noto Serif JP",Georgia,serif}
.lang-en{font-family:var(--serif-en);line-height:1.85;word-break:normal;font-size:15px}
.lang-en h1,.lang-en h2,.lang-en h3,.lang-en .toc .ti,.lang-en .toc .ch,.lang-en .artists .nm,.lang-en .plates figcaption .t,.lang-en .annai .name,.lang-en .annai .big,.lang-en .chapter .side .ch,.lang-en .cover .core .name,.lang-en .cover .imprint b,.lang-en .pagehead h1,.lang-en .part>h2,.lang-en .entry h3,.lang-en .artist h2,.lang-en .nextprev .ti,.lang-en .info .big{font-family:var(--serif-en)}
.lang-en :lang(ja){font-family:var(--serif);letter-spacing:.04em}
.lang-en .cover .core h1{font-size:clamp(30px,3vw,42px);letter-spacing:0;line-height:1.3;max-width:560px}
.lang-en .cover .core p{font-size:16px;max-width:480px}
.lang-en .cover .core p .name{font-size:2em;letter-spacing:.02em}
.lang-en .cover .imprint,.lang-en .cover .imprint b{letter-spacing:.08em}
.lang-en .toc .ch{letter-spacing:.08em;font-size:18px}
.lang-en .toc .head h2,.lang-en .news h2,.lang-en .annai h2,.lang-en .info h3{letter-spacing:.24em;text-transform:uppercase;font-size:12px}
.lang-en .tocbtn,.lang-en .pagehead .crumb,.lang-en .nextprev .lb,.lang-en .colophon,.lang-en .linkline,.lang-en .annai .btn,.lang-en .info .btn,.lang-en .toc .de,.lang-en .yearidx{letter-spacing:.08em}
.lang-en .chapter .side .ch{letter-spacing:.14em;font-size:20px}
.lang-en .chapter h2.title,.lang-en .pagehead h1,.lang-en .part>h2,.lang-en .entry h3,.lang-en .artist h2,.lang-en .nextprev .ti,.lang-en .kan .room h3{letter-spacing:0;line-height:1.35}
.lang-en .pagehead .lead,.lang-en .prose .lead{letter-spacing:0;line-height:1.8}
.lang-en .artists .pl,.lang-en .artist .pl{letter-spacing:.12em;text-transform:uppercase;font-size:11px}
.lang-en .artist{grid-template-columns:200px 84px minmax(0,1fr)}
.lang-en .entry{grid-template-columns:170px minmax(0,1fr)}
.lang-en .news li{grid-template-columns:150px minmax(0,1fr)}
.lang-en .years div{grid-template-columns:72px minmax(0,1fr)}
@media (max-width:760px){.lang-en .artist{grid-template-columns:120px minmax(0,1fr)}.lang-en .entry{grid-template-columns:1fr}.lang-en .news li{grid-template-columns:120px 1fr}}

/* TOP 章末の扉（下層への導線＝写真つきの帯） */
.gate{display:grid;grid-template-columns:260px minmax(0,1fr) auto;align-items:center;gap:0 40px;border:1px solid var(--ink);margin-top:56px;transition:background .2s}
.gate:hover{background:var(--paper-deep);color:inherit}
.gate img{width:100%;height:172px;object-fit:cover;display:block}
.gate .gt{padding:22px 0}
.gate .gc{display:block;font-size:12px;letter-spacing:.3em;color:var(--gosu);margin-bottom:6px;line-height:1}
.gate .gc .ko{margin-left:10px;letter-spacing:.02em}
.gate .gh{display:block;font-family:var(--serif-h);font-size:clamp(18px,1.8vw,22px);letter-spacing:.14em;line-height:1.4}
.gate .gd{display:block;font-size:13px;color:var(--ink-soft);margin-top:8px;line-height:1.8;letter-spacing:.04em}
.gate .ga{align-self:stretch;display:flex;align-items:center;padding:0 28px;font-size:12px;letter-spacing:.2em;white-space:nowrap;border-left:1px solid var(--rule)}
.gate:hover .ga{background:var(--ink);color:var(--paper)}
.jo .gate{max-width:none}
@media (max-width:760px){
  .gate{grid-template-columns:1fr;gap:0;margin-top:40px}
  .gate img{height:150px}
  .gate .gt{padding:16px 16px 0}
  .gate .ga{border-left:0;border-top:1px solid var(--rule);padding:14px 16px;margin-top:16px;justify-content:flex-end}
}
.lang-ko .gate .gh,.lang-ko .gate .gd{letter-spacing:0}
.lang-ko .gate .gc,.lang-ko .gate .ga{letter-spacing:.1em}
.lang-en .gate .gh{font-family:var(--serif-en);letter-spacing:0}

/* TOP 奥付の各ページ（ボタン列） */
.annai .pagenav{list-style:none;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:var(--rule);border:1px solid var(--ink);margin-top:64px}
.annai .pagenav li{background:var(--paper)}
.annai .pagenav a{display:block;height:100%;padding:18px 16px 16px}
.annai .pagenav a:hover{background:var(--ink);color:var(--paper)}
.annai .pagenav .c{display:block;font-family:var(--serif-h);font-size:18px;letter-spacing:.2em;color:var(--gosu);line-height:1;margin-bottom:12px}
.annai .pagenav a:hover .c{color:var(--paper)}
.annai .pagenav .t{display:block;font-size:13px;letter-spacing:.08em;line-height:1.6}
.annai .pagenav .k{display:block;font-size:11px;color:var(--grey);margin-top:4px;letter-spacing:0}
.annai .pagenav a:hover .k{color:var(--rule)}
@media (max-width:900px){.annai .pagenav{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:520px){.annai .pagenav{grid-template-columns:repeat(2,minmax(0,1fr))}}
.lang-ko .annai .pagenav .t{letter-spacing:0}
.lang-ko .annai .pagenav .c{letter-spacing:.06em}
.lang-en .annai .pagenav .c{font-family:var(--serif-en);letter-spacing:.1em}

/* 作家ページ：作品写真の並びと工房・アクセス・作品情報（管理画面から生成） */
.artist dl.meta{max-width:640px;border-top:1px solid var(--rule);font-size:13.5px;margin-bottom:18px}
.artist dl.meta div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;padding:8px 0;border-bottom:1px solid var(--rule);line-height:1.8}
.artist dl.meta dt{color:var(--grey);letter-spacing:.1em}
.artist .gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 16px;margin-top:22px;max-width:640px}
.artist .gallery figure{margin:0}
.artist .gallery img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#fff}
.artist .gallery figcaption{font-size:12px;color:var(--ink-soft);letter-spacing:.06em;margin-top:8px;line-height:1.7}
@media (max-width:760px){.artist .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.artist dl.meta div{grid-template-columns:80px minmax(0,1fr)}}
/* TOP：催し（管理画面のイベント） */
.events{padding-bottom:88px}
.events li.ev{grid-template-columns:110px minmax(0,1fr) 120px;align-items:start}
.events li.ev .evb{display:block}
.events li.ev .evb b{font-weight:500;font-family:var(--serif-h);letter-spacing:.06em}
.events li.ev .s{display:block;font-size:12.5px;color:var(--grey)}
.events li.ev .d{display:block;font-size:13px;color:var(--ink-soft);margin-top:4px}
.events li.ev img{width:120px;height:80px;object-fit:cover;justify-self:end}
@media (max-width:760px){.events li.ev{grid-template-columns:96px 1fr}.events li.ev img{grid-column:2/3;justify-self:start;margin-top:6px}}
.lang-ko .events li.ev{grid-template-columns:150px minmax(0,1fr) 120px}
@media (max-width:760px){.lang-ko .events li.ev{grid-template-columns:120px 1fr}}

/* スマホの表紙：縦書きの核の横に盃の写真を並べ、最初の画面に絵を入れる */
@media (max-width:760px){
  .cover{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:14px;padding:104px var(--gut) 36px;align-items:start}
  .cover .text{display:contents}
  .cover .plate{grid-column:1;grid-row:1;background:none;border:0;padding:6px 0 0;align-self:start}
  .cover .plate figure{max-width:none}
  .cover .plate figcaption{display:block;font-size:11px;margin-top:10px;letter-spacing:.08em}
  .cover .plate figcaption .ko{display:block;margin-top:2px}
  .cover .core{grid-column:2;grid-row:1;height:max(380px,48vh);justify-self:end}
  .cover .core h1{font-size:26px;margin-left:26px}
  .cover .core p{margin-left:22px}
  /* 「百婆仙」を途中で折らない：スマホは名前だけで1列にし、下端にそろえる */
  body:not(.lang-ko) .cover .core p .name{display:block;margin:0 14px 0 0;text-align:end}
  .cover .coreko{grid-column:1/3;grid-row:2;margin-top:28px;max-width:none}
  .cover .imprint{grid-column:1/3;grid-row:3;margin-top:28px}
  /* 横組みの韓国語・英語版は写真を上、文を下に */
  .lang-ko .cover .plate{grid-column:1/3;grid-row:1;max-width:60%}
  .lang-ko .cover .core{grid-column:1/3;grid-row:2;height:auto;justify-self:stretch;padding-top:22px}
  .lang-ko .cover .core h1{font-size:28px;margin:0 0 18px}
  .lang-ko .cover .coreko{grid-row:3}
  .lang-ko .cover .imprint{grid-row:4}
}

/* お問い合わせフォーム */
.cform h3{font-size:14px;letter-spacing:.34em;font-weight:500;margin-bottom:18px}
.cform h3 .ko{font-size:11px;letter-spacing:.04em;margin-left:12px;font-weight:400}
.cform label{display:block;margin-bottom:14px}
.cform label span{display:block;font-size:12px;letter-spacing:.14em;color:var(--grey);margin-bottom:6px}
.cform input[type=text],.cform input[type=email],.cform input[type=tel],.cform select,.cform textarea{width:100%;border:1px solid var(--rule);background:#fff;padding:10px 12px;font:inherit;font-size:14px;line-height:1.7;color:var(--ink);letter-spacing:.04em}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:1px solid var(--gosu);outline-offset:-1px;border-color:var(--gosu)}
.cform select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--grey) 50%),linear-gradient(135deg,var(--grey) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat}
.cform .btn{display:inline-block;border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:12px 32px;font-size:13px;letter-spacing:.24em;cursor:pointer;font-family:inherit;margin-top:6px}
.cform .btn:hover{background:var(--gosu);border-color:var(--gosu)}
.cform .note{font-size:12.5px;color:var(--grey);margin-top:14px;line-height:1.9}
.cform .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.lang-ko .cform label span,.lang-ko .cform .btn,.lang-ko .cform h3{letter-spacing:.06em}

/* 言語案内バー（ブラウザの言語がページと違うときだけ出る） */
.langbar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;align-items:center;justify-content:center;gap:18px;padding:10px 48px 10px 16px;background:var(--ink);color:var(--paper);font-size:13px;letter-spacing:.04em;line-height:1.6}
.langbar a{border-bottom:1px solid var(--paper);padding-bottom:1px;white-space:nowrap}
.langbar a:hover{color:var(--paper);border-bottom-color:var(--gosu)}
.langbar button{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--paper);font-size:20px;line-height:1;padding:6px 10px;cursor:pointer}
@media (max-width:520px){.langbar{font-size:12px;gap:12px;flex-wrap:wrap}}
