/* NSJ Journal：トップページ（兵法書） */
:root{
	--ink:#0a0705; --ink-2:#120d09; --umber:#1d140d;
	--gold:#b0935d; --gold-hi:#dcc9a0; --gold-lo:#7c6236;
	--shu:#b8371f; --shu-hi:#e0694c;
	--cream:#ece2cf; --paper:#d9c7a3; --sumi:#1a130e; --mute:#a8997f; --line:rgba(201,164,92,.26);
	--brush:"Yuji Boku","Yu Mincho","Hiragino Mincho ProN",serif;
	--old:"Zen Antique","Yu Mincho","Hiragino Mincho ProN",serif;
	--ja:"Shippori Mincho B1","Yu Mincho","Hiragino Mincho ProN",serif;
	--gut:clamp(16px,5vw,72px);
	--dust:none;
	color-scheme:dark;
}
*{box-sizing:border-box}
html{background:var(--ink);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ink);color:var(--cream);font:500 16px/1.95 var(--ja);letter-spacing:.04em;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.foil{background:url(img/h_paper.jpg) 0 0/260px,#c9ad78;background-blend-mode:multiply;-webkit-background-clip:text;background-clip:text;color:transparent}
.mon{display:block;width:1em;height:1em}
.seal{display:inline-grid;place-items:center;width:60px;height:60px;border:3px solid var(--shu);border-radius:3px;color:var(--shu);filter:url(#rough);opacity:.9}
.seal .mon{width:44px;height:44px}
em{font-style:normal;-webkit-text-emphasis:filled sesame var(--shu);text-emphasis:filled sesame var(--shu)}

/* ナビ */
.nav{position:fixed;inset:0 0 auto 0;z-index:40;display:flex;align-items:center;gap:28px;height:68px;padding:0 var(--gut);transition:background .5s,border-color .5s;border-bottom:1px solid transparent}
.nav.is-solid{background:rgba(10,7,5,.86);backdrop-filter:blur(10px);border-color:var(--line)}
.nav__logo{display:flex;align-items:center;gap:12px;color:var(--gold-hi)}
.nav__logo .mon{width:30px;height:30px;color:var(--gold)}
.nav__logo b{font:400 21px/1 var(--old);letter-spacing:.16em}
.nav__logo small{font-size:11.5px;letter-spacing:.16em;color:var(--mute)}
.nav__sec{margin-left:auto;font-size:13.5px;letter-spacing:.1em}
.nav__list{display:flex;gap:clamp(12px,1.6vw,26px);margin:0;padding:0;list-style:none}
.nav__sec a{position:relative;display:inline-block;padding:6px 0;white-space:nowrap}
.nav__sec .search-form{display:none}
.nav__sec a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--shu-hi);transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.2,.7,.1,1)}
.nav__sec a:hover::after,.nav__sec a:focus-visible::after{transform:scaleX(1)}
.nav__tools{display:flex;gap:16px;padding-left:22px;border-left:1px solid var(--line);font-size:12.5px;color:var(--mute)}
.nav__tools a:hover{color:var(--gold-hi)}
.nav__btn{display:none;margin-left:auto;background:none;border:1px solid var(--line);color:var(--gold-hi);font:500 13px/1 var(--ja);padding:10px 14px;letter-spacing:.14em}
@media (max-width:1180px){.nav__logo small{display:none}.nav__sec,.nav__tools{display:none}.nav__btn{display:block}
	.nav.is-open .nav__sec{position:fixed;inset:68px 0 0 0;display:block;padding:12px var(--gut) 40px;background:rgba(10,7,5,.97);font-size:18px;margin:0;overflow-y:auto}
	.nav.is-open .nav__list{display:block}
	.nav.is-open .nav__sec a{display:block;padding:15px 0;border-bottom:1px solid var(--line)}
	.nav.is-open .nav__sec .search-form{display:flex;margin-top:22px}
	.nav.is-open{background:rgba(10,7,5,.97)}}

/* 門：紐で結ばれた巻物が開き、紙へ寄っていく */
.gate{position:relative;height:280vh}
.gate__stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:#0d0906}
.gate__scene{position:absolute;inset:0;overflow:hidden}
.g-back{position:absolute;inset:-3%;background:radial-gradient(75% 70% at 50% 50%,rgba(13,9,6,.45),rgba(13,9,6,.94) 80%),linear-gradient(rgba(16,11,7,.62),rgba(16,11,7,.62)),url(img/h_pine.jpg) 40% 50%/cover no-repeat;filter:sepia(.35) saturate(.6)}
.g-mist{position:absolute;inset:-10% -40%;background:radial-gradient(40% 16% at 30% 68%,rgba(214,196,160,.13),transparent 70%),radial-gradient(34% 12% at 72% 32%,rgba(214,196,160,.1),transparent 70%);animation:mist 46s linear infinite alternate;pointer-events:none}
@keyframes mist{from{translate:-10% 0}to{translate:10% 0}}
.g-cam{position:absolute;inset:0;transform-origin:50% 50%;will-change:transform}
.maki{position:absolute;inset:0;--h:min(64vh,600px);--W:min(86vw,1400px);--d:calc(var(--h) * .11)}
.maki__paper{position:absolute;left:50%;top:50%;display:flex;flex-direction:row-reverse;width:var(--W);height:var(--h);margin:calc(var(--h) / -2) 0 0 calc(var(--W) / -2);color:var(--sumi);background:radial-gradient(38% 30% at 22% 28%,rgba(120,78,38,.16),transparent 70%),radial-gradient(26% 36% at 78% 72%,rgba(110,70,30,.13),transparent 70%),radial-gradient(10% 12% at 62% 14%,rgba(100,62,26,.12),transparent 70%),radial-gradient(14% 10% at 36% 86%,rgba(100,62,26,.1),transparent 70%),linear-gradient(90deg,rgba(84,54,24,.16),transparent 5%,transparent 95%,rgba(84,54,24,.16)),linear-gradient(rgba(84,54,24,.14),transparent 7%,transparent 93%,rgba(84,54,24,.16)),url(img/h_paper.jpg) 0 0/420px,#d2be98;box-shadow:inset 0 0 0 1px rgba(90,60,30,.25),0 30px 60px rgba(0,0,0,.55)}
.maki__cover{position:relative;flex:none;width:calc(var(--h) * .16);background:radial-gradient(circle at 50% 50%,rgba(176,147,93,.2) 18%,transparent 21%) 0 0/18px 18px,radial-gradient(circle at 50% 50%,rgba(176,147,93,.12) 18%,transparent 21%) 9px 9px/18px 18px,linear-gradient(90deg,#241a12,#33251a 50%,#241a12);box-shadow:inset 10px 0 14px -6px rgba(0,0,0,.45)}
.maki__cover::after{content:"";position:absolute;top:0;bottom:0;right:0;width:7px;background:linear-gradient(90deg,#4a3826,#2a1d12)}
.maki__slip{position:absolute;top:7%;left:50%;transform:translateX(-50%);padding:12px 5px;writing-mode:vertical-rl;background:url(img/h_paper.jpg) 0 0/200px,#ddcaa4;border:1px solid rgba(60,40,20,.5);font:400 calc(var(--h) * .028)/1 var(--old);letter-spacing:.18em;color:var(--sumi);white-space:nowrap}
.maki__in{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:calc(var(--h) * .055);padding:calc(var(--h) * .1) 0;writing-mode:vertical-rl}
.maki__brand{margin:0;font:400 calc(var(--h) * .074)/1.32 var(--old);letter-spacing:.06em;color:#1d150f}
.maki__brand span,.maki__tag span,.maki__ed span{display:block}
.maki__tag{margin:0;padding-top:calc(var(--h) * .2);font:600 calc(var(--h) * .042)/1.6 var(--ja);letter-spacing:.1em;color:#2b2018}
.maki__en{margin:0;padding-top:calc(var(--h) * .06);font:400 calc(var(--h) * .024)/1 var(--old);letter-spacing:.32em;color:#5a4636;white-space:nowrap}
.maki__ed{margin:0;align-self:flex-end;font:500 max(11px,calc(var(--h) * .022))/1.9 var(--ja);letter-spacing:.14em;color:#5a4636}
.maki__in .seal{align-self:flex-end;width:calc(var(--h) * .09);height:calc(var(--h) * .09);border-width:2px}
.maki__in .seal .mon{width:72%;height:72%}
.maki__roll{position:absolute;left:50%;top:50%;width:var(--d);height:calc(var(--h) + 8px);margin:calc((var(--h) + 8px) / -2) 0 0 calc(var(--d) / -2);border-radius:calc(var(--d) / 2) / 10px;background:linear-gradient(90deg,rgba(40,26,12,.62),rgba(40,26,12,.05) 32%,rgba(255,244,222,.12) 48%,rgba(40,26,12,.2) 68%,rgba(30,18,8,.72)),repeating-linear-gradient(90deg,rgba(110,80,44,.1) 0 2px,transparent 2px 11px),url(img/h_paper.jpg) 0 0/260px,#cbb791;box-shadow:0 26px 40px rgba(0,0,0,.55)}
.maki__roll::before,.maki__roll::after{content:"";position:absolute;left:22%;right:22%;height:16px;border-radius:4px;background:linear-gradient(90deg,#1c120a,#5a422a 42%,#2c1e12)}
.maki__roll::before{top:-14px}.maki__roll::after{bottom:-14px}
.maki__wrap{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,rgba(0,0,0,.6),rgba(0,0,0,.05) 32%,rgba(255,240,210,.08) 48%,rgba(0,0,0,.25) 70%,rgba(0,0,0,.7)),radial-gradient(circle at 50% 50%,rgba(176,147,93,.2) 18%,transparent 21%) 0 0/14px 14px,#2b1f15}
.maki__wrap .maki__slip{top:10%;font-size:calc(var(--h) * .024)}
.himo{position:absolute;left:50%;top:50%;overflow:visible;pointer-events:none}
.himo__c{fill:none;stroke:#62231a;stroke-linecap:round}
.himo__s{fill:none;stroke:rgba(214,160,120,.32);stroke-linecap:round}
.himo__f{fill:#62231a}
.himo__k{fill:#7f2d1c}
.js .maki__paper{clip-path:inset(0 50% 0 50%)}
html:not(.js) .maki__roll{transform:translateX(calc((var(--W) / 2 + var(--d) * .3) * -1))}
html:not(.js) .maki__wrap,html:not(.js) .himo{display:none}
.jo{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;visibility:hidden;opacity:0}
.jo__in{display:flex;flex-direction:column;align-items:flex-start;height:min(66vh,560px);writing-mode:vertical-rl;color:var(--sumi)}
.vest__k{margin:0;padding:6px 4px;border:1px solid rgba(184,55,31,.75);color:var(--shu);font:400 15px/1 var(--old);letter-spacing:.3em}
.vest__h{margin:0 1.1em 0 0;font:400 min(clamp(26px,3.3vw,50px),calc(min(66vh,560px) / (var(--len,10) * 1.14)))/1.42 var(--brush);letter-spacing:.12em}
.vest__h span{display:block}
.vest__p{margin:0 .9em 0 0;font-size:15px;line-height:2.05;letter-spacing:.07em;color:#2b2018}
.jo .seal{align-self:flex-end;margin-right:.6em}
.gate__ui{position:absolute;inset:0;pointer-events:none}
.gate__scroll{position:absolute;left:50%;bottom:24px;width:1px;height:62px;background:linear-gradient(var(--gold),transparent);transform-origin:top;animation:drip 2.6s 3.6s cubic-bezier(.6,0,.2,1) infinite backwards}
@keyframes drip{0%{transform:scaleY(0)}55%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}

/* 見出し */
.sh{text-align:center;margin:0 auto clamp(44px,6vw,76px)}
.sh__no{display:inline-block;margin:0;padding:7px 6px 6px 12px;border:1px solid rgba(224,105,76,.7);color:var(--shu-hi);font:400 13px/1 var(--old);letter-spacing:.42em}
.sh__t{margin:18px 0 0;font:400 clamp(46px,6.2vw,88px)/1.18 var(--brush);letter-spacing:.06em}
.sh__s{margin:12px 0 0;font-size:14px;color:var(--mute);letter-spacing:.2em}
.sh__line{display:block;width:1px;height:60px;margin:22px auto 0;background:linear-gradient(var(--gold),var(--gold-lo));transform-origin:top}

/* 巻之一　四曲屏風 */
.tools{position:relative;padding:clamp(80px,11vw,150px) var(--gut);background:var(--dust),radial-gradient(80% 60% at 50% 40%,#1c130c,var(--ink) 75%);background-size:520px,auto;overflow:hidden}
.byobu{position:relative;max-width:1280px;height:clamp(420px,58vh,540px);margin:auto;perspective:2000px;perspective-origin:50% 40%}
.panel{position:absolute;left:0;top:0;width:calc(100% / var(--n,4));height:100%;transform-origin:0 50%;will-change:transform}
.panel__f{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;padding:clamp(26px,3vw,44px) clamp(18px,2vw,30px);text-align:center;background:linear-gradient(rgba(201,164,92,.06) 1px,transparent 1px) 0 0/100% 64px,linear-gradient(90deg,rgba(201,164,92,.06) 1px,transparent 1px) 0 0/64px 100%,linear-gradient(170deg,#2b1f12,#150e08 55%,#22180e);border:1px solid #050302;box-shadow:inset 0 0 0 7px #2a1d10,inset 0 0 0 8px rgba(176,147,93,.26),inset 0 0 60px rgba(0,0,0,.6)}
.panel__n{margin:0;font:400 12.5px/1 var(--old);letter-spacing:.34em;color:var(--shu-hi)}
.panel__k{margin:clamp(14px,2vh,26px) 0 0;font:400 clamp(92px,10.5vw,150px)/1 var(--brush)}
.panel h3{margin:clamp(14px,2.4vh,28px) 0 10px;font-size:clamp(18px,1.6vw,22px);font-weight:700;letter-spacing:.16em}
.panel h3+p{margin:0;color:#cfc3af;font-size:14.5px;line-height:2;text-align:left}
.panel__sh{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.6),rgba(0,0,0,.25));pointer-events:none;opacity:0}

/* 巻之二　巻物（十二箇条） */
.kajo{position:relative;background:#0b0705}
.kajo__stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(80% 70% at 50% 50%,rgba(40,24,12,.15),rgba(8,5,3,.9)),url(img/a_wood.jpg) center/900px}
.kajo__no{position:absolute;left:var(--gut);top:92px;margin:0}
.kajo__hint{position:absolute;left:var(--gut);bottom:26px;margin:0;font-size:12.5px;color:var(--mute);letter-spacing:.2em}
.kajo__view{position:relative;width:calc(100% - var(--gut)*2);max-width:1520px;height:calc(var(--ph) + 34px);--ph:min(70vh,640px)}
.kajo__win{position:absolute;top:0;bottom:0;left:22px;right:22px;overflow:hidden}
.paper{position:absolute;right:0;top:17px;height:var(--ph);width:max-content;writing-mode:vertical-rl;padding:0 0 0 70px;display:flex;flex-direction:column;color:var(--sumi);background:url(img/h_paper.jpg) 0 0/420px,#d9c7a3;box-shadow:0 22px 40px rgba(0,0,0,.6),inset 0 10px 14px -10px rgba(80,50,20,.4),inset 0 -10px 14px -10px rgba(80,50,20,.4);will-change:transform}
.paper__cover{width:130px;height:100%;margin:0 0 0 54px;position:relative;background:radial-gradient(circle at 50% 50%,rgba(240,210,140,.32) 18%,transparent 20%) 0 0/22px 22px,radial-gradient(circle at 50% 50%,rgba(240,210,140,.22) 18%,transparent 20%) 11px 11px/22px 22px,linear-gradient(90deg,#3d2312,#5c3519 50%,#3d2312);box-shadow:inset -6px 0 10px rgba(0,0,0,.4)}
.paper__slip{position:absolute;top:26px;right:50%;transform:translateX(50%);padding:14px 7px;background:#e8dbbd;border:1px solid #6f5432;box-shadow:inset 0 0 0 3px #e8dbbd,inset 0 0 0 4px rgba(111,84,50,.6);font:400 22px/1 var(--brush);letter-spacing:.3em;color:var(--sumi)}
.paper__title{margin:0 0 0 2.2em;padding-top:1.4em;font:400 clamp(36px,5vh,50px)/1.3 var(--brush);letter-spacing:.14em}
.paper__title small{display:block;margin-right:.3em;font:500 14px/2 var(--ja);letter-spacing:.2em;color:#5a4636}
.art{margin:0 0 0 2.1em}
.art__m{margin:0;padding-top:1.1em;font:400 clamp(20px,2.6vh,26px)/1.62 var(--old);letter-spacing:.06em}
.art__d{margin:0 .3em 0 0;align-self:flex-end;font:400 12px/1.6 var(--old);letter-spacing:.2em;color:#7a6650}
.art{display:flex;flex-direction:column}
.art__c{margin:0 .4em 0 0;padding-top:4.2em;font-size:clamp(13px,1.9vh,15px);line-height:1.95;letter-spacing:.06em;color:#3f3024}
.paper__end{display:flex;flex-direction:column;align-items:flex-end;gap:14px;margin:0 0 0 3em;padding:2em 0 1.6em;font:400 18px/1.6 var(--old);letter-spacing:.2em}
.roll{position:absolute;top:0;bottom:0;width:44px;border-radius:12px;background:linear-gradient(90deg,#2b1d10,#8d7656 22%,#e2d2b0 40%,#cdb995 55%,#806a4a 78%,#2a1c10);box-shadow:0 18px 30px rgba(0,0,0,.6)}
.roll::before,.roll::after{content:"";position:absolute;left:9px;right:9px;height:16px;border-radius:5px;background:linear-gradient(90deg,#120b06,#5b4027 40%,#2a1a0d)}
.roll::before{top:-12px}.roll::after{bottom:-12px}
.roll--l{left:0}.roll--r{right:0}

/* 巻之三　論説 */
.lead{position:relative;overflow-x:hidden;overflow-x:clip;padding:clamp(84px,11vw,160px) var(--gut);background:var(--dust),radial-gradient(90% 70% at 30% 40%,#1e140c,#0a0705 80%);background-size:460px,auto}
.lead__in{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(36px,7vw,110px);max-width:1180px;margin:auto;align-items:center}
.lead__title{margin:0;writing-mode:vertical-rl;font:400 clamp(64px,8.2vw,116px)/1.05 var(--old);letter-spacing:.08em;height:7.2em}
.lead__title a{display:block}
.lead__title.is-vertical{font-size:min(calc(var(--vt-size,60px) * 1.85),clamp(56px,8.2vw,116px));height:calc(var(--vt-len,7) * 1.12em)}
.lead__title:not(.is-vertical){writing-mode:horizontal-tb;height:auto;font-size:clamp(30px,3.6vw,48px);line-height:1.4}
.lead__in.is-h{grid-template-columns:minmax(0,1fr)}
.lead__title .tcy{text-combine-upright:all}
.kicker a{color:inherit}
.kicker a:hover{color:var(--gold-hi)}
.lead__deck+.lead__deck{margin-top:12px}
.kicker{margin:0 0 14px;font-size:13.5px;color:var(--shu-hi);letter-spacing:.2em}
.lead__sub{margin:0;font-size:clamp(23px,2.7vw,34px);font-weight:700;line-height:1.6;letter-spacing:.06em}
.lead__deck{margin:22px 0 0;color:#d7ccb9;line-height:2.1}
.lead__meta{display:flex;flex-wrap:wrap;gap:6px 20px;margin:18px 0 0;font-size:12.5px;color:var(--mute)}
.tags{display:flex;gap:clamp(14px,2.4vw,30px);margin:34px 0 0;padding:0;list-style:none}
.tag{position:relative;padding-top:34px;transform-origin:50% 0}
.tag::before{content:"";position:absolute;left:50%;top:0;width:2px;height:48px;margin-left:-1px;background:linear-gradient(#c23b22,#8e2414);box-shadow:0 0 0 .5px rgba(0,0,0,.3)}
.tag__b{position:relative;display:flex;align-items:center;width:clamp(84px,8vw,104px);height:clamp(300px,28vw,350px);padding:40px 0 18px;clip-path:polygon(16% 0,84% 0,100% 8%,100% 100%,0 100%,0 8%);background:linear-gradient(90deg,rgba(0,0,0,.28),transparent 18%,transparent 82%,rgba(0,0,0,.3)),url(img/h_shiraki.jpg) center/320px;color:var(--sumi);writing-mode:vertical-rl}
.tag__b::before{content:"";position:absolute;top:12px;left:50%;width:9px;height:9px;margin-left:-4.5px;border-radius:50%;background:#1a100a;box-shadow:inset 0 1px 2px #000}
.tag small{font:400 13px/1.2 var(--old);letter-spacing:.24em;color:#9a2a16}
.tag b{margin-top:14px;font:400 clamp(22px,2.1vw,27px)/1 var(--old);letter-spacing:.06em}
@media (hover:hover){.tag:hover{animation:swing 1.8s cubic-bezier(.36,.07,.19,.97)}}
@keyframes swing{20%{transform:rotate(5deg)}45%{transform:rotate(-3.5deg)}68%{transform:rotate(1.8deg)}86%{transform:rotate(-.8deg)}}
.btn{position:relative;display:inline-flex;align-items:center;gap:14px;margin-top:34px;padding:15px 30px 15px 22px;border:1px solid var(--gold);color:var(--gold-hi);font-weight:600;letter-spacing:.14em;overflow:hidden;transition:color .4s}
.btn::before{content:"";position:absolute;inset:0;background:#a8874f;transform:translateX(-101%);transition:transform .5s cubic-bezier(.2,.7,.1,1)}
.btn:hover{color:#160f08}.btn:hover::before{transform:none}
.btn>*{position:relative}

/* 巻之四　新着 */
.news{padding:clamp(70px,8vw,110px) var(--gut) clamp(50px,5vw,70px);background:var(--ink)}
.news__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(30px,5vw,72px);max-width:1180px;margin:auto;padding:0;list-style:none}
.story{border-top:1px solid var(--line)}
.story a{position:relative;display:grid;grid-template-columns:auto 1fr;gap:4px 16px;padding:20px 30px 22px 0;transition:padding .45s cubic-bezier(.2,.7,.1,1)}
.story a::before{content:"一、";grid-row:span 3;font:400 18px/1.6 var(--old);color:var(--gold)}
.story a::after{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:1px;background:var(--shu-hi);transform:scaleX(0);transform-origin:left;transition:transform .6s cubic-bezier(.2,.7,.1,1)}
.story a:hover{padding-left:10px}.story a:hover::after{transform:none}
.story small{font-size:12.5px;color:var(--shu-hi);letter-spacing:.16em}
.story b{display:block;font-size:17px;font-weight:600;line-height:1.7}
.story time{display:block;font-size:12px;color:var(--mute)}

/* 巻之五　面立て（和本） */
.books{padding:clamp(70px,8vw,110px) var(--gut);background:linear-gradient(var(--ink),#0d0906)}
.books__row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2.6vw,40px);max-width:1180px;margin:auto}
.book{position:relative;display:block;aspect-ratio:7/10;perspective:1400px}
.book__page{position:absolute;inset:0;display:flex;flex-direction:column;align-items:flex-start;padding:22px 18px;writing-mode:vertical-rl;background:url(img/h_paper.jpg) 0 0/360px,#d9c7a3;color:var(--sumi);font-size:14px;line-height:1.95;letter-spacing:.06em;box-shadow:0 18px 34px rgba(0,0,0,.55)}
.book__page small{margin-left:.8em;font:400 13px/1.6 var(--old);letter-spacing:.3em;color:#8e2414}
.book__page .seal{margin-top:auto;width:46px;height:46px;border-width:2px}.book__page .seal .mon{width:34px;height:34px}
.book__cover{position:absolute;inset:0;transform-origin:100% 50%;transition:transform 1.1s cubic-bezier(.22,.72,.16,1);background-color:var(--c,#5a3820);background-image:radial-gradient(circle 17px at 50% 50%,transparent 15.6px,rgba(255,226,170,.075) 16.2px,rgba(255,226,170,.075) 17px,transparent 17.4px),radial-gradient(circle 17px at 50% 50%,transparent 15.6px,rgba(255,226,170,.075) 16.2px,rgba(255,226,170,.075) 17px,transparent 17.4px),radial-gradient(circle 17px at 50% 50%,transparent 15.6px,rgba(0,0,0,.2) 16.2px,rgba(0,0,0,.2) 17px,transparent 17.4px),linear-gradient(90deg,rgba(0,0,0,.22),transparent 14%,transparent 86%,rgba(0,0,0,.32)),url(img/h_paper.jpg);background-size:34px 34px,34px 34px,34px 34px,auto,300px;background-position:0 0,17px 17px,1px 1px,0 0,0 0;background-blend-mode:normal,normal,normal,normal,multiply;box-shadow:0 18px 34px rgba(0,0,0,.55),inset 0 0 0 1px rgba(0,0,0,.4)}
.book__slip{position:absolute;left:11%;top:7%;display:flex;align-items:center;gap:8px;width:24%;height:58%;padding:12px 0;writing-mode:vertical-rl;background:url(img/h_paper.jpg) 0 0/260px,#e8dbbd;border:1px solid rgba(40,25,12,.5);box-shadow:inset 0 0 0 3px #e8dbbd,inset 0 0 0 4px rgba(111,84,50,.55),2px 3px 6px rgba(0,0,0,.35);color:var(--sumi)}
.book__slip b{font:400 clamp(20px,2.1vw,28px)/1 var(--old);letter-spacing:.1em;white-space:nowrap;font-size:min(clamp(20px,2.1vw,28px),calc(clamp(170px,19vw,250px) / var(--n,3)))}
.book__slip small:empty{display:none}
.book__slip small{margin-top:auto;font:400 12px/1 var(--old);letter-spacing:.2em;color:#8e2414}
.book__bind{position:absolute;right:0;top:0;bottom:0;width:11%;background:linear-gradient(#d7c597,#d7c597) 40% 0/1.5px 100% no-repeat,linear-gradient(#d7c597,#d7c597) right 0 top 12%/60% 1.5px no-repeat,linear-gradient(#d7c597,#d7c597) right 0 top 37%/60% 1.5px no-repeat,linear-gradient(#d7c597,#d7c597) right 0 top 63%/60% 1.5px no-repeat,linear-gradient(#d7c597,#d7c597) right 0 top 88%/60% 1.5px no-repeat,linear-gradient(90deg,rgba(0,0,0,.35),rgba(255,255,255,.06))}
@media (hover:hover){.book:hover,.book:focus-visible{z-index:2}.book:hover .book__cover,.book:focus-visible .book__cover{transform:rotateY(76deg)}}

/* 稽古：大坂夏の陣図屏風 */
.war{position:relative;height:250vh;background:#0b0705}
.war__stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.war__img{position:absolute;top:-6%;left:0;height:112%;aspect-ratio:2800/1153;background:url(img/h_osaka.jpg) center/cover no-repeat;will-change:transform}
.war__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,5,3,.62),rgba(8,5,3,.42) 34%,rgba(8,5,3,.42) 66%,rgba(8,5,3,.62)),linear-gradient(0deg,rgba(8,5,3,.9),transparent 30%,transparent 72%,rgba(8,5,3,.9))}
#embers{position:absolute;inset:0;width:100%;height:100%;mix-blend-mode:screen}
.war__q{position:absolute;inset:0;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(24px,4vw,60px);writing-mode:vertical-rl;text-shadow:0 2px 18px rgba(0,0,0,.9),0 0 2px rgba(0,0,0,.8)}
.war__l{margin:0;font:400 clamp(34px,5.2vh,68px)/1.5 var(--brush);letter-spacing:.14em;color:#f6ead0}
.war__l span{display:block}
.war__c{margin:0;align-self:center;font:500 14px/2 var(--ja);letter-spacing:.24em;color:var(--gold-hi);padding-top:8em}
.war__n{position:absolute;left:0;right:0;bottom:44px;margin:0;text-align:center;font-size:clamp(14px,1.3vw,17px);letter-spacing:.24em;color:#e9dcc2;text-shadow:0 1px 10px #000}
.war__n b{color:var(--shu-hi);font-weight:600;margin-right:1em}

/* 今日の一言：掛軸 */
.word{position:relative;display:grid;grid-template-columns:auto auto;justify-content:center;align-items:center;gap:clamp(48px,9vw,150px);padding:clamp(100px,12vw,170px) var(--gut);background:radial-gradient(520px 420px at var(--mx,50%) var(--my,40%),rgba(255,190,110,.16),transparent 70%),var(--dust),linear-gradient(#0d0906,#1a120b 60%,#0d0906);background-size:auto,480px,auto;overflow:hidden}
.kake{--kw:clamp(180px,19vw,270px);position:relative;width:var(--kw);margin:0}
.kake__scroll{position:relative}
.kake__hook{display:block;width:2px;height:40px;margin:0 auto;background:#6b5638}
.kake__body{position:relative;padding:22% 9% 15%;background:radial-gradient(circle at 50% 50%,rgba(201,164,92,.16) 20%,transparent 22%) 0 0/12px 12px,#2c1f12;box-shadow:0 26px 50px rgba(0,0,0,.65)}
.kake__body::before,.kake__body::after{content:"";position:absolute;top:0;width:8%;height:calc(var(--kw) * .2);background:#3e2c18;box-shadow:inset 0 -2px 0 #8f7448}
.kake__body::before{left:28%}.kake__body::after{right:28%}
.kake__mid{padding:7% 6%;background:linear-gradient(#8f7448,#8f7448) 0 0/100% 5px no-repeat,linear-gradient(#8f7448,#8f7448) 0 100%/100% 5px no-repeat,#4a3721}
.kake__art{display:block;width:100%;aspect-ratio:720/1684;background:url(img/h_musashi.jpg) center/cover}
.kake__jiku{position:absolute;left:-10%;right:-10%;bottom:-9px;height:18px;border-radius:9px;background:linear-gradient(90deg,#140c06 0 7%,#3a2615 7% 93%,#140c06 93%),#3a2615;box-shadow:inset 0 3px 4px rgba(255,220,170,.18),0 6px 10px rgba(0,0,0,.6)}
.kake figcaption{margin-top:26px;text-align:center;font-size:12px;color:var(--mute);letter-spacing:.1em}
.word__side{display:flex;flex-direction:column;gap:22px;align-items:flex-start;writing-mode:vertical-rl}
.word__k{margin:0;padding:6px 5px;border:1px solid rgba(224,105,76,.7);font:400 14px/1 var(--old);letter-spacing:.34em;color:var(--shu-hi)}
.word__q{margin:0;height:min(15em,72vh);font:400 clamp(28px,3.2vw,46px)/1.55 var(--brush);letter-spacing:.1em;-webkit-text-stroke:.6px currentColor;color:#f0e2c4;text-shadow:0 2px 20px rgba(0,0,0,.6)}

/* 巻之六　教材と講習 */
.offer{padding:clamp(80px,10vw,140px) var(--gut);background:#100b07}
.offer__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,3vw,40px);max-width:1120px;margin:auto}
.card{position:relative;display:grid;grid-template-columns:auto 1fr;gap:clamp(18px,2.6vw,34px);padding:clamp(30px,4vw,52px);background:var(--dust),linear-gradient(150deg,#1d140b,#0e0905);background-size:360px,auto;border:1px solid var(--gold-lo);outline:1px solid var(--line);outline-offset:-9px;overflow:hidden}
.card__v{margin:0;writing-mode:vertical-rl;font:400 clamp(40px,4.4vw,60px)/1.1 var(--brush);letter-spacing:.1em}
.card__tag{display:inline-block;margin:0;padding:5px 9px 4px 11px;background:var(--shu);color:#f6e8d6;font:400 12.5px/1 var(--old);letter-spacing:.3em}
.card h3{margin:14px 0 0;font-size:clamp(21px,2.3vw,28px);font-weight:700;line-height:1.5;letter-spacing:.06em}
.card h3+p{margin:12px 0 0;color:#d2c6b2;font-size:15px}
.card__price{margin:12px 0 0;font-weight:700;color:var(--gold-hi);letter-spacing:.06em}
.gbtn{display:inline-block;margin-top:22px;padding:14px 30px;background:#a8874f;color:#160f08;font-weight:700;letter-spacing:.14em;transition:background .3s}
.gbtn:hover{background:#bb9a5f}

/* 掟：制札 */
.policy{padding:clamp(80px,10vw,130px) var(--gut);background:var(--ink);border-top:1px solid var(--line)}
.policy__in{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(36px,7vw,110px);max-width:1120px;margin:auto;align-items:center}
.board{position:relative;display:flex;flex-direction:column;margin:0;padding:34px 30px 30px;writing-mode:vertical-rl;height:430px;background:linear-gradient(90deg,rgba(0,0,0,.25),transparent 8%,transparent 92%,rgba(0,0,0,.3)),url(img/h_shiraki.jpg) center/380px;color:var(--sumi);box-shadow:0 0 0 8px #2a1a0e,0 24px 50px rgba(0,0,0,.65)}
.board::before,.board::after{content:"";position:absolute;top:12px;width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#7a6a58,#151008 70%)}
.board::before{left:12px}.board::after{right:12px}
.board h2{margin:0 0 0 .6em;font:400 44px/1 var(--brush);letter-spacing:.4em}
.board ul{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}
.board li{margin-left:.9em;padding-top:2em;text-indent:-2em;font:400 18px/1.7 var(--old);letter-spacing:.08em}
.board li::before{content:"一、"}
.board p{margin:0 1em 0 0;align-self:flex-end;font:400 15px/1.6 var(--old);letter-spacing:.3em}
.policy__t{margin:0 0 16px;font-size:19px;letter-spacing:.2em;color:var(--gold-hi)}
.policy__ed{margin:0;color:#cfc3af;font-size:15px}
.policy__lab{margin:0 0 8px;font-size:12.5px;letter-spacing:.24em;color:var(--shu-hi)}

.foot{padding:64px var(--gut) 34px;background:#080504;border-top:1px solid var(--line);text-align:center}
.foot .mon{width:64px;height:64px;margin:0 auto;color:var(--gold)}
.foot__t{margin:18px 0 0;font:400 clamp(26px,3.6vw,44px)/1.3 var(--old);letter-spacing:.12em}
.foot__n{margin:6px 0 0;font:400 12.5px/1.6 var(--old);letter-spacing:.36em;color:var(--mute)}
.foot__s{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 20px;margin:26px 0 0;font-size:13px}
.foot__s a:hover{color:var(--gold-hi)}
.foot__c{margin:24px 0 0;font-size:12px;color:var(--mute);line-height:1.9}

/* WordPress */
.skip-link{position:absolute;left:-9999px;top:8px;z-index:100;padding:8px 14px;background:var(--gold-hi);color:#160f08;font-weight:700}
.skip-link:focus{left:8px}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.admin-bar .nav{top:32px}
.admin-bar .nav.is-open .nav__sec{top:100px}
@media (max-width:782px){.admin-bar .nav{top:46px}.admin-bar .nav.is-open .nav__sec{top:114px}}
.nav__search{position:relative}
.nav__search summary{cursor:pointer;list-style:none}
.nav__search summary::-webkit-details-marker{display:none}
.nav__search summary:hover{color:var(--gold-hi)}
.nav__search-panel{position:absolute;right:0;top:44px;width:300px;padding:14px;background:rgba(10,7,5,.97);border:1px solid var(--line)}
.search-form{display:flex;gap:8px}
.search-form__input{flex:1;min-width:0;padding:10px 12px;background:#120d09;border:1px solid var(--line);color:var(--cream);font:500 14px/1.4 var(--ja)}
.search-form__submit{padding:10px 14px;background:none;border:1px solid var(--gold);color:var(--gold-hi);font:600 13px/1 var(--ja);letter-spacing:.12em;cursor:pointer}
.editor-hint{margin:18px 0 0;padding:10px 14px;border:1px dashed var(--gold-lo);font-size:13px;line-height:1.8;color:var(--mute)}
.editor-hint a{text-decoration:underline}

/* 追従CTA */
.float{position:fixed;right:18px;bottom:18px;z-index:30;display:flex;align-items:center;gap:12px;padding:9px 42px 9px 10px;background:linear-gradient(150deg,#1f150c,#0b0705);border:1px solid var(--gold);outline:1px solid var(--line);outline-offset:-5px;color:var(--gold-hi);box-shadow:0 10px 30px rgba(0,0,0,.6);transform:translateY(160%);transition:transform .7s cubic-bezier(.2,.7,.1,1)}
.float.is-on{transform:none}
.float__t{display:block;padding:5px 8px 4px 10px;background:var(--shu);color:#f7ead6;font:400 12px/1 var(--old);letter-spacing:.24em}
.float b{font:600 14.5px/1 var(--ja);letter-spacing:.08em;white-space:nowrap}
.float__x{position:absolute;right:8px;top:50%;width:24px;height:24px;margin-top:-12px;border:1px solid var(--line);border-radius:50%;background:#0b0705;color:var(--gold-hi);font:400 13px/22px var(--ja);padding:0;cursor:pointer}

@media (max-aspect-ratio:1/1){.gate__ed{display:none}}
@media (max-width:1100px){.books__row{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card{grid-template-columns:1fr}.card__v{writing-mode:horizontal-tb;font-size:40px}}
@media (max-width:760px){
	.gate{height:240vh}
	.maki{--h:min(48vh,410px);--W:82vw;--d:calc(var(--h) * .11)}
	.maki__cover{width:calc(var(--h) * .1)}
	.maki__in{gap:calc(var(--h) * .045)}
	.maki__en,.maki__ed{display:none}
	.jo__in{height:62vh}
	.vest__h{font-size:min(27px,calc(62vh / (var(--len,10) * 1.14)))}
	.vest__h{margin-right:.9em}
	.vest__p{font-size:13.5px;line-height:1.95}
	.jo .seal{width:46px;height:46px}.jo .seal .mon{width:34px;height:34px}
	.gate__ed{display:none}
	.byobu{height:auto;display:grid;grid-template-columns:1fr 1fr;gap:10px;perspective:none}
	.panel{position:relative;width:auto;height:auto;transform:none!important}
	.panel__f{position:relative;min-height:300px;padding:22px 14px}
	.panel__k{font-size:76px}
	.panel h3+p{font-size:13px;line-height:1.85}
	.panel__sh{display:none}
	.kajo__view{--ph:min(62vh,520px)}
	.kajo__no{top:84px}
	.roll{width:30px}.kajo__win{left:15px;right:15px}
	.paper{padding-left:40px}
	.paper__cover{width:90px;margin-left:36px}
	.lead__in{grid-template-columns:minmax(0,1fr)}
	.lead__title{writing-mode:horizontal-tb;height:auto;font-size:clamp(46px,13.5vw,72px);letter-spacing:.06em}
	.tags{justify-content:space-between;gap:10px}
	.tag{flex:1 1 0;min-width:0}
	.tag__b{width:100%;height:290px}
	.news__list,.offer__row{grid-template-columns:minmax(0,1fr)}
	.books__row{grid-template-columns:repeat(2,minmax(0,1fr))}
	.book{display:flex;flex-direction:column;aspect-ratio:auto;perspective:none}
	.book__cover{position:relative;display:block;order:-1;aspect-ratio:7/10}
	.book__page{position:relative;inset:auto;writing-mode:horizontal-tb;background:none;box-shadow:none;color:#d7ccb9;padding:10px 2px 0;font-size:13px;line-height:1.8}
	.book__page small,.book__page .seal{display:none}
	.war{height:220vh}
	.war__q{gap:22px;padding-bottom:40px}
	.war__l{font-size:30px}
	.war__c{font-size:12px;padding-top:4em}
	.war__n{bottom:26px;padding:0 var(--gut);letter-spacing:.12em}
	.word{grid-template-columns:1fr;justify-items:center;gap:56px}
	.kake{--kw:200px}
	.word__q{height:15em;font-size:28px}
	.policy__in{grid-template-columns:minmax(0,1fr)}
	.board{writing-mode:horizontal-tb;height:auto;padding:30px 22px 24px}
	.board h2{margin:0 0 16px;text-align:center}
	.board ul{display:block}
	.board li{margin:0 0 10px;font-size:16px;padding:0 0 0 2em;text-indent:-2em}
	.board p{margin:12px 0 0;text-align:right}
	.float{right:10px;left:10px;bottom:10px;justify-content:flex-start}
}
@media (prefers-reduced-motion:reduce){
	.gate{height:auto}.gate__stage{position:relative;height:auto}
	.gate__scene{position:relative;height:100vh}
	.jo{position:relative;inset:auto;min-height:100vh;padding:80px 0;visibility:visible;opacity:1;background:url(img/h_paper.jpg) 0 0/420px,#d2be98}
	.gate__scroll,.g-mist{animation:none}
	.kajo{height:auto!important}.kajo__stage{position:relative;height:auto;padding:120px 0 80px}
	.kajo__win{overflow-x:auto;writing-mode:vertical-rl}
	.paper{position:relative;right:auto}
	.war{height:auto}.war__stage{position:relative;height:100vh}
	html{scroll-behavior:auto}
}

/* WordPressの部品（追加分） */
.tcy{text-combine-upright:all;-webkit-text-combine:horizontal}
.foot__s ul{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 20px;margin:0;padding:0;list-style:none}
.float>a{display:flex;align-items:center;gap:12px;color:inherit}

/* 古文書の地：繊維の見える暗い紙（マット） */
.tools,.lead,.news,.books,.offer,.policy,.word,.foot{background-color:#110c08!important;background-image:linear-gradient(rgba(17,12,8,.9),rgba(17,12,8,.93)),url(img/h_paper.jpg),var(--dust)!important;background-size:auto,420px,520px!important;background-position:0 0!important}
.war__img{filter:saturate(.75) brightness(.86)}
