:root{--table:#16110d;--table-2:#1f1812;--cream:#eadcc0;--cream-dim:hsla(40,50%,84%,.62);--paper:#efe5ce;--paper-2:#e6d9bb;--edge:#d6c6a2;--ink:#2b221c;--ink-soft:#5f5144;--ink-faint:#8a7a68;--rubric:#93311f;--rubric-soft:#b5523c;--foil:#b88a3b;--foil-hi:#f3dc9a;--display:"Yuji Syuku","Hiragino Mincho ProN","Yu Mincho",serif;--body:"Zen Old Mincho","Hiragino Mincho ProN","Yu Mincho",serif;--hand:"Klee One","Hiragino Maru Gothic ProN","Yu Gothic",sans-serif;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:#16110d}body{margin:0;min-height:100vh;color:var(--ink);font-family:var(--body);font-size:16.5px;line-height:2;background:radial-gradient(1200px 700px at 12% -8%,rgba(255,170,90,.2),rgba(255,150,70,0) 60%),radial-gradient(900px 600px at 100% 110%,rgba(0,0,0,.5),transparent 60%),repeating-linear-gradient(90deg,hsla(0,0%,100%,.012) 0 2px,rgba(0,0,0,.02) 2px 5px),linear-gradient(180deg,var(--table-2),var(--table));background-attachment:fixed}a{color:inherit}img{max-width:100%;display:block}::selection{background:rgba(147,49,31,.18)}.rbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:20px;padding:12px max(18px,env(safe-area-inset-left,0px));background:linear-gradient(180deg,rgba(18,13,9,.96),rgba(18,13,9,.86));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid hsla(44,79%,78%,.14);color:var(--cream)}.rbar .brand{font-family:var(--display);font-size:20px;letter-spacing:.2em;text-decoration:none;color:var(--cream)}.rbar nav{margin-left:auto;display:flex;gap:18px;font-family:var(--hand);font-size:14px;letter-spacing:.12em}.rbar nav a{text-decoration:none;color:var(--cream-dim);border-bottom:1px solid transparent;padding-bottom:1px}.rbar nav a:hover{color:var(--cream);border-color:hsla(44,79%,78%,.5)}.sheet{position:relative;max-width:820px;margin:28px auto 0;padding:56px clamp(22px,7vw,84px) 64px;background:var(--paper);background-image:radial-gradient(ellipse at 50% 40%,rgba(255,252,240,.55),rgba(255,252,240,0) 65%),radial-gradient(ellipse at 50% 120%,rgba(120,90,50,.16),rgba(120,90,50,0) 60%);box-shadow:0 1px 0 var(--edge),0 2px 0 #cdbb93,0 3px 0 #e2d4b3,0 30px 60px rgba(0,0,0,.55),0 8px 18px rgba(0,0,0,.35);border-radius:3px}.sheet:after,.sheet:before{content:"";position:absolute;pointer-events:none;border:1px solid rgba(147,49,31,.38);inset:16px}.sheet:after{inset:21px;border-color:rgba(147,49,31,.18)}@media (max-width:640px){body{font-size:16px;line-height:1.95}.sheet{margin:0;border-radius:0;padding:40px 22px 48px;box-shadow:none}.sheet:before{inset:9px}.sheet:after{inset:13px}.rbar{gap:12px;padding:10px 14px}.rbar .brand{font-size:17px}.rbar nav{gap:12px;font-size:12.5px;letter-spacing:.06em}}.crumbs{font-family:var(--hand);font-size:12.5px;letter-spacing:.06em;color:var(--ink-faint);margin:0 0 22px;line-height:1.7}.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 0}.crumbs li+li:before{content:"›";margin:0 .6em;color:var(--edge)}.crumbs a{text-decoration:none;border-bottom:1px solid hsla(32,14%,47%,.35)}.crumbs a:hover,.kicker{color:var(--rubric)}.kicker{font-family:var(--hand);font-size:13px;letter-spacing:.32em;text-align:center;margin:0}.kicker:after,.kicker:before{content:"";display:inline-block;width:34px;height:1px;background:currentColor;opacity:.5;vertical-align:middle;margin:0 .9em}h1{word-break:auto-phrase;font-family:var(--display);font-weight:400;font-size:clamp(26px,4.6vw,38px);line-height:1.5;letter-spacing:.08em;text-align:center;margin:12px 0 6px;color:var(--ink)}.orn{display:block;margin:10px auto 18px;width:120px;height:12px;color:var(--rubric);opacity:.7}.lead{font-size:1.04em;color:var(--ink-soft);margin:0 auto;max-width:36em;text-align:left}.plate{margin:26px auto 8px;width:min(340px,78%);aspect-ratio:1;position:relative}.plate img{width:100%;height:100%;object-fit:cover;-webkit-mask:radial-gradient(closest-side,#000 62%,transparent 100%);mask:radial-gradient(closest-side,#000 62%,transparent 100%)}.plate.cover{width:auto;aspect-ratio:auto;display:flex;justify-content:center}.coverw img{border-radius:2px 5px 5px 2px;box-shadow:0 1px 0 rgba(0,0,0,.2),6px 10px 22px rgba(60,35,10,.35),inset 0 0 0 1px rgba(0,0,0,.1)}.badge{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 18px;margin:14px 0 0;font-family:var(--hand);font-size:13px;color:var(--ink-faint);letter-spacing:.08em}.badge b{font-weight:600;color:var(--ink-soft)}.open{display:flex;align-items:center;gap:16px;width:-moz-fit-content;width:fit-content;max-width:100%;margin:30px auto;padding:12px 26px 12px 12px;text-decoration:none;border:1px solid rgba(147,49,31,.35);border-radius:6px;background:rgba(255,250,236,.55);transition:background .2s,transform .2s,box-shadow .2s}.open:hover{background:#fff8e6;transform:translateY(-1px);box-shadow:0 6px 16px rgba(110,60,20,.15)}.seal{flex:none;display:grid;place-items:center;width:58px;height:58px;background:var(--rubric);color:#fbefe0;font-size:30px;border-radius:5px;transform:rotate(-4deg);box-shadow:inset 0 0 0 3px var(--rubric),inset 0 0 0 4.5px hsla(33,77%,93%,.75),0 2px 4px rgba(80,20,10,.3)}.open b,.seal{font-family:var(--display)}.open b{display:block;font-weight:400;font-size:19px;letter-spacing:.12em;color:var(--rubric)}.open small{display:block;font-family:var(--hand);font-size:12.5px;color:var(--ink-faint);letter-spacing:.06em;line-height:1.6}article{margin-top:34px}.chap{font-family:var(--hand);font-size:12px;letter-spacing:.3em;color:var(--rubric);margin:56px 0 0}.chap,h2{text-align:center}h2{word-break:auto-phrase;font-family:var(--display);font-weight:400;font-size:clamp(21px,3.2vw,26px);line-height:1.6;letter-spacing:.06em;margin:6px 0 20px;color:var(--ink)}h2:after{content:"";display:block;width:64px;height:1px;margin:14px auto 0;background:linear-gradient(90deg,transparent,var(--rubric),transparent);opacity:.55}article p{margin:0 0 1.2em;text-indent:1em;text-align:justify}article p.dc{text-indent:0}article p.dc:first-letter{font-family:var(--display);font-size:2.4em;float:left;line-height:1;margin:.1em .14em 0 0;color:var(--rubric)}article ul{margin:0 0 1.4em;padding:0;list-style:none}article li{position:relative;padding-left:1.4em;margin:.3em 0}article li:before{content:"◆";position:absolute;left:0;top:.05em;font-size:.6em;color:var(--rubric);opacity:.7}.shelf-h{margin-top:64px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));grid-gap:14px;gap:14px;margin:0;padding:0;list-style:none}.cards a{display:flex;flex-direction:column;align-items:center;text-align:center;height:100%;padding:14px 10px 12px;text-decoration:none;border:1px solid rgba(147,49,31,.18);border-radius:4px;background:rgba(255,250,236,.45);transition:background .2s,border-color .2s}.cards a:hover{background:#fff8e6;border-color:rgba(147,49,31,.45)}.cards a[aria-current]{border-color:var(--rubric);background:#f8eedb}.cards .th{width:84px;height:84px;margin-bottom:8px}.cards .th img{width:100%;height:100%;object-fit:cover;-webkit-mask:radial-gradient(closest-side,#000 58%,transparent 100%);mask:radial-gradient(closest-side,#000 58%,transparent 100%)}.cards .th.blank{display:grid;place-items:center;font-size:30px;color:var(--rubric);opacity:.75}.cards .th.blank,.cards b{font-family:var(--display)}.cards b{word-break:auto-phrase;font-weight:400;font-size:15.5px;letter-spacing:.06em;line-height:1.5}.cards small{font-family:var(--hand);font-size:11.5px;color:var(--ink-faint);line-height:1.5;margin-top:3px}.books{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.books .cv{margin-bottom:10px}.faq details{border-top:1px solid rgba(147,49,31,.18);padding:14px 2px}.faq details:last-child{border-bottom:1px solid rgba(147,49,31,.18)}.faq summary{cursor:pointer;list-style:none;font-family:var(--display);font-size:17px;letter-spacing:.04em;line-height:1.7;padding-right:28px;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:before{content:"問";font-size:.8em;color:var(--rubric);margin-right:.7em}.faq summary:after{content:"＋";position:absolute;right:2px;top:0;color:var(--rubric);opacity:.7}.faq details[open] summary:after{content:"－"}.faq details p{margin:10px 0 0;text-indent:0;color:var(--ink-soft)}.pn{display:flex;justify-content:space-between;gap:12px;margin:46px 0 0;font-family:var(--hand);font-size:14px}.pn a{text-decoration:none;color:var(--ink-soft);border-bottom:1px solid hsla(32,14%,47%,.35)}.pn a:hover{color:var(--rubric)}.aff{margin:48px 0 0;padding:22px 24px;border:1px dashed rgba(147,49,31,.4);border-radius:4px;background:rgba(255,250,236,.5)}.aff,.aff p{text-align:center}.aff p{margin:0 0 12px;text-indent:0;font-size:.95em;color:var(--ink-soft)}.aff a{display:inline-block;font-family:var(--display);letter-spacing:.1em;color:#fbefe0;background:var(--rubric);text-decoration:none;padding:9px 22px;border-radius:4px}.aff small{display:block;margin-top:8px;font-size:11px}.aff small,.note{font-family:var(--hand);color:var(--ink-faint)}.note{font-size:12.5px;text-align:center;margin:44px 0 0;line-height:1.8}.prose h2{text-align:left}.prose h2:after{margin-left:0}.prose p{text-indent:0}.rfoot{max-width:820px;margin:0 auto;padding:36px 20px 48px;text-align:center;color:var(--cream-dim);font-family:var(--hand);font-size:12.5px;letter-spacing:.08em;line-height:2}.rfoot nav{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 20px;margin-bottom:10px}.rfoot a{color:var(--cream-dim);text-decoration:none}.rfoot .brand,.rfoot a:hover{color:var(--cream)}.rfoot .brand{font-family:var(--display);font-size:18px;letter-spacing:.2em;display:block;margin-bottom:8px}@media (max-width:640px){.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.books{grid-template-columns:repeat(3,minmax(0,1fr))}}.coverw{position:relative;display:inline-block;flex:none}.coverw img{width:100%;height:100%;object-fit:cover;-webkit-mask:none;mask:none;border-radius:1px 4px 4px 1px;box-shadow:0 1px 0 rgba(0,0,0,.2),4px 8px 18px rgba(60,35,10,.32),inset 0 0 0 1px rgba(0,0,0,.1)}.coverw .ct{position:absolute;transform:translate(-50%,-50%);white-space:nowrap;font-family:var(--display);letter-spacing:.12em;line-height:1;text-shadow:0 1px 0 rgba(0,0,0,.3);pointer-events:none}.aff{position:relative;padding-top:30px}.aff .pr{position:absolute;top:8px;right:10px;margin:0;font-family:var(--hand);font-size:10px;letter-spacing:.1em;color:var(--ink-faint);border:1px solid rgba(110,95,80,.35);border-radius:2px;padding:0 5px}.aff .px{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.aff-sub{display:block;margin-top:12px}.aff .aff-sub a{background:none;color:var(--rubric);padding:0;font-family:inherit;font-size:.92em;letter-spacing:.04em;text-decoration:underline;text-underline-offset:3px}.months{margin:44px 0 0}.months dl{margin:14px 0 0;border-top:1px solid rgba(147,49,31,.22)}.months dl>div{display:grid;grid-template-columns:minmax(7.5em,9.5em) 1fr;grid-gap:4px 18px;gap:4px 18px;padding:12px 2px;border-bottom:1px solid rgba(147,49,31,.14)}.months dt{font-family:var(--display);color:var(--rubric);letter-spacing:.06em;font-size:15px;line-height:1.7}.months dd{margin:0;line-height:1.95}@media (max-width:560px){.months dl>div{grid-template-columns:1fr}.months dt{font-size:14.5px}}.ysecs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:12px;gap:12px;margin:14px 0 0;padding:0;list-style:none}.ysecs a{display:block;height:100%;padding:16px 18px;text-decoration:none;border:1px solid rgba(147,49,31,.25);border-radius:4px;background:rgba(255,250,236,.5)}.ysecs a:hover{background:#fff8e6;border-color:rgba(147,49,31,.5)}.ysecs b{display:block;font-family:var(--display);font-weight:400;font-size:17px;letter-spacing:.06em;color:var(--ink)}.ysecs small{display:block;margin-top:4px;color:var(--ink-soft);font-size:13px}.ylink{margin:28px 0 0;text-indent:0}.ylink a{display:flex;align-items:center;gap:14px;padding:12px 16px;border:1px solid rgba(147,49,31,.3);border-radius:4px;background:rgba(255,250,236,.55);text-decoration:none;color:var(--ink)}.ylink a:hover{background:#fff8e6}.ylink .yr{font-family:var(--display);font-size:22px;color:var(--rubric);letter-spacing:.04em;line-height:1}.ytable{width:100%;border-collapse:collapse;margin:14px 0 0;font-size:14.5px}.ytable td,.ytable th{padding:9px 8px;border-bottom:1px solid rgba(147,49,31,.16);text-align:left;vertical-align:top}.ytable th{font-family:var(--display);font-weight:400;color:var(--rubric);white-space:nowrap}.ytable td a{text-decoration:none}.ywrap{overflow-x:auto}.ytable td:nth-child(-n+2){white-space:nowrap}