/* ============================================================
   MIRYOKU theme — main.css
   トップ＝三 陰翳（漆黒）／ 商品・読みもの＝一 枯山水（和紙）
   トークン：和紙 #F1EDE3 ／ 墨 #1E1B17 ／ 漆黒 #0F0E0C ／ 竹緑 #3F6B3C ／ 淡竹 #C9BFA8
   ============================================================ */
*,*::before,*::after{box-sizing:border-box}
:root{
  --washi:#F2EDE4; --chalk:#FBF9F4; --sand:#E8E2D4;
  --sumi:#1A160E; --urushi:#141110; --take:#3F6B3C; --kei:#C9BFA8; --mute:#6B6459; --ash:#A69E8F;
  --bg:var(--washi); --fg:var(--sumi); --line:var(--kei); --mu:var(--mute);
  --serif:"Noto Serif JP","Shippori Mincho","Hiragino Mincho ProN","Yu Mincho","Noto Serif CJK JP",serif;
  --sans:"DM Sans","Helvetica Neue",Arial,sans-serif;
  --latin:"Cormorant Garamond","Cormorant",Georgia,serif;
  --cha:#E9E2D3; --wakatake:#E4E7DC;
  --e:cubic-bezier(.2,.7,.2,1);
  --gut:clamp(16px,4.5vw,72px);
  --sec:clamp(56px,7vw,110px);
  --stag:55ms; --d:0s;
}
body.dark{ --bg:var(--urushi); --fg:var(--washi); --line:rgba(241,237,227,.16); --mu:rgba(241,237,227,.52); --acc:#7FA36B; }
:root{--acc:var(--take)}
/* 黒基調ページの中の白い区画 */
.lt{--bg:var(--washi);--fg:var(--sumi);--line:var(--kei);--mu:var(--mute);--acc:var(--take);background:var(--bg);color:var(--fg)}
.dk{--bg:var(--urushi);--fg:var(--washi);--line:rgba(241,237,227,.16);--mu:rgba(241,237,227,.52);--acc:#7FA36B;background:var(--bg);color:var(--fg)}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}
body{margin:0;background:var(--bg);color:var(--fg);font:300 16px/2.2 var(--serif);-webkit-font-smoothing:antialiased;overflow-x:clip}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,p,figure,ul{margin:0}
h1,h2{text-wrap:balance;font-weight:300}
button{font:inherit;color:inherit}
[hidden]{display:none!important}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:1px solid currentColor;outline-offset:4px}
.skip{position:absolute;left:-9999px;top:0;background:var(--fg);color:var(--bg);padding:8px 14px;z-index:999}
.skip:focus{left:16px;top:16px}
.wrap{padding-inline:var(--gut)}
.v{position:relative;min-height:100svh;background:var(--bg);color:var(--fg);overflow-x:clip}
/* 紙目（粒子がわずかに動く） */
.v::before{content:"";position:fixed;inset:-40px;z-index:40;pointer-events:none;opacity:.055;mix-blend-mode:multiply;animation:grain 1.2s steps(6) infinite;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .6 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-12px,8px)}40%{transform:translate(9px,-14px)}60%{transform:translate(-6px,-9px)}80%{transform:translate(13px,5px)}100%{transform:translate(0,0)}}
.v3::before{mix-blend-mode:screen;opacity:.07}
.admin-bar .v::before{top:32px}
.brand{display:flex;align-items:center;gap:12px}
.brand .crest{width:22px;height:auto}
.brand .bt{font-size:20px;letter-spacing:.2em;font-weight:500}
.brand .bs{font-family:var(--sans);font-size:10px;letter-spacing:.28em;color:var(--mu);margin-left:2px}
.util{display:flex;align-items:center;gap:22px;margin-right:72px;font-family:var(--sans);font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.mbtn{display:none;background:none;border:0;padding:6px 0;font-family:var(--sans);font-size:11px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer}
.mbtn{display:none}
.mnav{position:fixed;inset:0;z-index:95;background:var(--bg);color:var(--fg);padding:calc(var(--gut) + 64px) var(--gut) var(--gut);display:flex;flex-direction:column;gap:28px;overflow:auto}
.mnav ul{list-style:none;padding:0;display:grid;gap:14px}
.mnav a{font-size:clamp(28px,7vw,40px);letter-spacing:.1em;line-height:1.4}
.mnav .sub a{font-size:15px;color:var(--mu);letter-spacing:.12em}
.mnav .mclose{position:absolute;top:24px;right:var(--gut);background:none;border:0;font-family:var(--sans);font-size:11px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer}
body.mopen{overflow:hidden}
body.mopen .sqmenu i{transform:rotate(45deg);box-shadow:none}
body.mopen .sqmenu i::after{content:"";position:absolute;inset:0;background:currentColor;transform:rotate(90deg)}
.sqmenu i{position:relative}
.ul{position:relative;display:inline-block;padding-bottom:4px;white-space:nowrap}
.ul::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(1);transform-origin:left;transition:transform .55s var(--e)}
.ul:hover::after{transform:scaleX(0);transform-origin:right}
.ey{font-family:var(--sans);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--mu)}
.en{font-family:var(--sans);font-size:12px;letter-spacing:.14em;color:var(--mu)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;border:1px solid currentColor;background:none;padding:14px 26px;font-family:var(--sans);font-size:11px;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;transition:background .5s var(--e),color .5s var(--e)}
.btn:hover{background:var(--fg);color:var(--bg)}
.btn-solid{background:var(--fg);color:var(--bg)}
.btn-solid:hover{background:var(--take);border-color:var(--take);color:#fff}
.price{font-family:var(--sans);font-variant-numeric:tabular-nums;letter-spacing:.06em}
.price del{opacity:.5;margin-right:6px}
.price ins{text-decoration:none}

/* ---------- 視差 ---------- */
[data-px]{transform:translate3d(0,var(--py,0px),0);will-change:transform}

/* ---------- 出現アニメーション ---------- */
.js .rv .ch{display:inline-block;opacity:0;transform:translateY(.32em);filter:blur(5px);white-space:pre}
.rv .ch{transition:opacity .9s var(--e),transform .9s var(--e),filter .9s var(--e);transition-delay:calc(var(--d) + var(--i) * var(--stag))}
.rv.in .ch{opacity:1;transform:none;filter:blur(0)}
.js .vt .ch{display:inline;transform:none}
.js .fx{opacity:0;transform:translateY(22px)}
.fx{transition:opacity 1.1s var(--e) var(--d),transform 1.1s var(--e) var(--d)}
.fx.in{opacity:1;transform:none}
.js .fx-l{opacity:0;transform:scaleX(0);transform-origin:left}
.fx-l{transition:transform 1.4s var(--e) var(--d),opacity .3s}
.fx-l.in{opacity:1;transform:none}

/* ページ見出し */
.shead{position:relative;padding-block:56px 64px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:end}
.shead .ey{grid-column:1/3;padding-bottom:10px}
.shead h1{grid-column:3/10;font-size:clamp(34px,4.6vw,64px);line-height:1.35;letter-spacing:.08em}
.shead .slead{grid-column:3/9;font-size:15px;line-height:2.1;color:var(--mu);margin-top:8px}
.shead .hl{grid-column:3/13;height:1px;background:var(--kei);margin-top:24px}
@media(max-width:820px){.shead{padding-block:32px 40px}.shead .ey,.shead h1,.shead .slead,.shead .hl{grid-column:1/13}}
/* 棚（商品グリッド） */
.shop{padding-block:var(--sec) calc(var(--sec) * .8)}
.shop-h{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 24px;margin-bottom:36px}
.shop-h h2{font-size:clamp(22px,2.6vw,32px);letter-spacing:.1em}
.grid,ul.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 20px;list-style:none;padding:0;margin:0}
.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pd{display:block;position:relative}
.pd .pimg{overflow:hidden;background:#0a0a0a;aspect-ratio:4/5}
.pd .pimg img{width:100%;height:100%;object-fit:cover;transition:transform 1.3s var(--e)}
.pd:hover .pimg img{transform:scale(1.03)}
.pd .cap{display:flex;justify-content:space-between;gap:12px;font-size:13px;letter-spacing:.08em;margin-top:12px}
.pd .cap span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pd .tag{position:absolute;top:12px;left:12px;background:var(--washi);color:var(--sumi);font-family:var(--sans);font-size:10px;letter-spacing:.18em;text-transform:uppercase;padding:4px 8px;border-radius:3px}
.shop-list{padding-block:0 var(--sec)}
@media(max-width:820px){.grid,.grid.cols-3,ul.products{grid-template-columns:1fr 1fr}}

/* 間（ステートメント） */
.ma{padding-block:var(--sec);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.ma .ey{grid-column:1/3}
.ma h2{grid-column:3/11;font-size:clamp(28px,4vw,56px);line-height:1.55;letter-spacing:.06em}
.ma p{grid-column:6/11;margin-top:36px;font-size:15px;line-height:2.2}
.ma .ul{grid-column:6/11;margin-top:28px;justify-self:start;font-size:14px;letter-spacing:.1em}
@media(max-width:820px){.ma .ey,.ma h2,.ma p,.ma .ul{grid-column:1/13}.ma p{margin-top:20px}}
/* ---------- 商品ページ ---------- */
.prod{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;padding-block:24px var(--sec);align-items:start}
.pgal{grid-column:1/8;position:sticky;top:24px}
.pgal .pmain{background:#0a0a0a;aspect-ratio:4/3;overflow:hidden}
.pgal .pmain img{width:100%;height:100%;object-fit:cover;transition:opacity .5s var(--e)}
.pgal .pmain img.swap{opacity:0}
.pgal .thumbs{display:flex;gap:10px;margin-top:10px;list-style:none;padding:0;flex-wrap:wrap}
.pgal .thumbs button{width:72px;aspect-ratio:1;padding:0;border:1px solid transparent;background:#0a0a0a;cursor:pointer;overflow:hidden}
.pgal .thumbs button img{width:100%;height:100%;object-fit:cover;opacity:.7;transition:opacity .4s}
.pgal .thumbs button[aria-current="true"]{border-color:var(--sumi)}
.pgal .thumbs button[aria-current="true"] img,.pgal .thumbs button:hover img{opacity:1}
.pinfo{grid-column:9/13}
.pinfo .ey{margin-bottom:14px}
.pinfo h1{font-size:clamp(28px,2.8vw,40px);line-height:1.4;letter-spacing:.08em}
.pinfo .pprice{font-size:18px;margin-top:14px}
.pinfo .pprice .tax{font-size:12px;color:var(--mu);margin-left:8px;letter-spacing:.06em}
.pinfo .pshort{font-size:14.5px;line-height:2.1;margin-top:22px;color:var(--fg)}
.pinfo .pshort p+p{margin-top:.6em}
.pcart{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.pcart form.cart{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch}
.pcart .quantity{display:flex;align-items:center;border:1px solid var(--line)}
.pcart .quantity input{width:64px;border:0;background:none;text-align:center;font:400 14px var(--sans);padding:12px 6px;color:inherit}
.pcart .quantity .screen-reader-text,.pcart .quantity label{position:absolute;left:-9999px}
.pcart .single_add_to_cart_button,.pcart .btn{flex:1;min-width:180px}
.pcart .single_add_to_cart_button{display:inline-flex;align-items:center;justify-content:center;background:var(--sumi);color:var(--washi);border:1px solid var(--sumi);padding:14px 26px;font-family:var(--sans);font-size:11px;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;transition:background .5s var(--e)}
.pcart .single_add_to_cart_button:hover{background:var(--take);border-color:var(--take)}
.pcart .variations{width:100%;border-collapse:collapse;margin-bottom:12px}
.pcart .variations td,.pcart .variations th{padding:6px 0;text-align:left;font-size:13px;letter-spacing:.08em;vertical-align:middle}
.pcart .variations select{width:100%;padding:10px;border:1px solid var(--line);background:var(--chalk);font:400 14px var(--serif);color:inherit;border-radius:3px}
.pcart .reset_variations{font-size:12px;color:var(--mu);margin-left:8px}
.pcart .woocommerce-variation-price{margin:8px 0 12px;font-size:16px}
.pcart .stock{font-family:var(--sans);font-size:12px;letter-spacing:.1em;color:var(--mu);margin:8px 0 0;width:100%}
.pcart .out-of-stock{color:#8a3a2a}
.pcart .pnote{font-size:12px;color:var(--mu);margin-top:14px;letter-spacing:.06em}
.pmeta{margin-top:24px;font-family:var(--sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mu);display:flex;flex-wrap:wrap;gap:6px 18px}
.acc{margin-top:32px;border-top:1px solid var(--line)}
.acc details{border-bottom:1px solid var(--line)}
.acc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:16px 0;font-size:14px;letter-spacing:.12em}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";font-family:var(--sans);font-size:16px;color:var(--mu);transition:transform .4s var(--e)}
.acc details[open] summary::after{transform:rotate(45deg)}
.acc .abody{padding:0 0 20px;font-size:14px;line-height:2;color:var(--fg)}
.acc .abody p+p{margin-top:.6em}
.acc table{width:100%;border-collapse:collapse;font-size:13.5px}
.acc th,.acc td{text-align:left;padding:8px 0;border-bottom:1px solid var(--line);vertical-align:top;font-weight:400}
.acc th{width:32%;color:var(--mu);letter-spacing:.08em}
.acc td p{margin:0}
@media(max-width:900px){.pgal{grid-column:1/13;position:static}.pinfo{grid-column:1/13}}
.pstory{padding-block:0 var(--sec);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.pstory .line{grid-column:1/13;height:1px;background:var(--kei);margin-bottom:56px}
.pstory h2{grid-column:1/8;font-size:clamp(24px,3.2vw,44px);line-height:1.55;letter-spacing:.06em}
.pstory p{grid-column:8/13;font-size:14.5px;line-height:2.2;color:var(--mu)}
.pstory .ul{grid-column:8/13;justify-self:start;font-size:14px;letter-spacing:.1em;margin-top:8px;color:var(--fg)}
@media(max-width:820px){.pstory h2,.pstory p,.pstory .ul{grid-column:1/13}}

/* ---------- 読みもの ---------- */
.posts{padding-block:0 var(--sec)}
.plist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px;list-style:none;padding:0}
.plist .po{display:block}
.plist .po .pt{aspect-ratio:4/3;overflow:hidden;background:var(--sand)}
.plist .po .pt img{width:100%;height:100%;object-fit:cover;transition:transform 1.3s var(--e)}
.plist .po:hover .pt img{transform:scale(1.03)}
.plist .po .pm{margin-top:14px;font-family:var(--sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--mu)}
.plist .po h2,.plist .po h3{font-size:18px;line-height:1.7;letter-spacing:.06em;margin-top:6px;font-weight:500}
.plist .po p{font-size:13.5px;color:var(--mu);margin-top:8px;line-height:1.9}
@media(max-width:820px){.plist{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.plist{grid-template-columns:1fr}}
.pagi{display:flex;justify-content:center;gap:18px;margin-top:64px;font-family:var(--sans);font-size:12px;letter-spacing:.16em}
.pagi .page-numbers{padding:6px 2px;border-bottom:1px solid transparent}
.pagi .page-numbers.current{border-bottom-color:currentColor}
.article{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;padding-block:24px var(--sec)}
.article .ahead{grid-column:2/12;text-align:center;padding-block:32px 40px}
.article .ahead .pm{font-family:var(--sans);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--mu);margin-bottom:18px}
.article .ahead h1{font-size:clamp(28px,3.6vw,48px);line-height:1.5;letter-spacing:.08em}
.article .afig{grid-column:1/13;aspect-ratio:16/8;overflow:hidden;background:var(--sand);margin-bottom:24px}
.article .afig img{width:100%;height:100%;object-fit:cover}
.prose{grid-column:4/10;font-size:16px;line-height:2.2;letter-spacing:.02em}
.prose>*+*{margin-top:1.4em}
.prose h2{font-size:clamp(22px,2.2vw,28px);line-height:1.6;margin-top:2.4em;letter-spacing:.06em}
.prose h3{font-size:19px;font-weight:500;margin-top:2em;letter-spacing:.06em}
.prose img{margin-inline:auto}
.prose figure{margin-inline:0}
.prose figcaption{font-size:12px;color:var(--mu);margin-top:8px;letter-spacing:.06em}
.prose blockquote{margin:2em 0;padding-left:1.4em;border-left:1px solid var(--kei);color:var(--mu)}
.prose a{border-bottom:1px solid var(--kei)}
.prose ul,.prose ol{padding-left:1.4em}
.prose .alignwide{grid-column:2/12;max-width:none}
.prose .alignfull{margin-inline:calc(var(--gut) * -1);max-width:none}
.prose .wp-block-image img{width:100%}
.anav{grid-column:4/10;display:flex;justify-content:space-between;gap:24px;margin-top:64px;padding-top:24px;border-top:1px solid var(--line);font-size:13px;letter-spacing:.08em}
.anav a{max-width:46%}
.anav small{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--mu);margin-bottom:4px}
@media(max-width:900px){.article .ahead,.prose,.anav{grid-column:1/13}}
.pagec .ahead{text-align:left;grid-column:3/11;padding-block:24px 32px}
.pagec .prose{grid-column:3/11}
@media(max-width:900px){.pagec .ahead,.pagec .prose{grid-column:1/13}}
.notfound{padding-block:var(--sec);text-align:center}
.notfound h1{font-size:clamp(28px,4vw,56px);letter-spacing:.1em}
.notfound p{color:var(--mu);margin-top:16px}
.notfound .ul{margin-top:32px}
/* --- 滲みから現れる写真 --- */
.js .mist>img{opacity:0;filter:blur(18px);transform:scale(1.05)}
.mist>img{transition:opacity 1.6s var(--e) var(--d),filter 1.6s var(--e) var(--d),transform 1.6s var(--e) var(--d)}
.js .mist.in>img{opacity:1;filter:blur(0);transform:scale(1)}
@supports (animation-timeline: view()){
  @keyframes pan{from{transform:translate(2.5%,-2%)}to{transform:translate(-2.5%,2%)}}
}
@keyframes drift{from{transform:translate(-10%,0)}to{transform:translate(10%,8%)}}

/* 日英の組：大きな日本語＋小さな英字 */
.hd{display:flex;align-items:baseline;gap:20px;flex-wrap:wrap}
.hd h2{font-size:clamp(30px,4vw,56px);letter-spacing:.12em;line-height:1.3}
.en2{font-family:var(--latin);font-style:italic;font-weight:300;font-size:clamp(15px,1.4vw,20px);letter-spacing:.04em;color:var(--mu)}
/* 下線つきリンク（穂垂亭 View Detail） */
.vd{display:inline-flex;align-items:baseline;gap:14px;padding-bottom:10px;border-bottom:1px solid var(--sumi);font-family:var(--latin);font-size:17px;letter-spacing:.06em}
.vd .ar{transition:transform .5s var(--e)}
.vd:hover .ar{transform:translateX(8px)}
/* 固定の丸いボタン（宿） */
.pill{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translate(-50%,140%);z-index:75;background:var(--sumi);color:var(--washi);padding:13px 28px;border-radius:999px;font-size:14px;letter-spacing:.16em;display:flex;gap:12px;align-items:baseline;transition:transform .7s var(--e),opacity .5s;opacity:0;box-shadow:0 10px 30px rgba(0,0,0,.18);white-space:nowrap}
.pill .en2{font-size:12px;color:rgba(241,237,227,.7)}
.pill.on{transform:translate(-50%,0);opacity:1}
.fbottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px 32px;align-items:center;padding-block:24px 8px;border-top:1px solid var(--line);font-size:12px;letter-spacing:.08em;color:var(--mu)}
.fbottom .legal{display:flex;gap:6px;flex-wrap:wrap}
.fbottom .legal a+a::before{content:"／";margin-right:6px;color:var(--kei)}
/* --- 大きなフッター（黒） --- */
.foot3{background:var(--urushi);color:var(--washi);--fg:var(--washi);--mu:rgba(241,237,227,.55);--line:rgba(241,237,227,.16);padding-block:clamp(64px,9vw,140px) 0}
.foot3 .grid{display:grid;grid-template-columns:1.2fr 1fr auto;gap:48px 40px;align-items:start}
.foot3 .brand3{display:grid;gap:18px;justify-items:start}
.foot3 .brand3 img{width:clamp(72px,7vw,104px);height:auto}
.foot3 .brand3 .wm{font-size:clamp(36px,4vw,56px);letter-spacing:.3em;line-height:1;font-weight:500}
.foot3 .brand3 .sub{font-family:var(--latin);font-style:italic;font-size:14px;letter-spacing:.24em;color:var(--mu)}
.foot3 .addr{font-size:14px;line-height:2.2;letter-spacing:.08em;color:var(--mu)}
.foot3 .addr b{font-weight:500;color:var(--washi);display:block;font-size:15px}
.foot3 .addr a{color:var(--washi);border-bottom:1px solid var(--line)}
.foot3 .vnav{display:flex;flex-direction:row-reverse;gap:clamp(22px,2.6vw,40px);height:min(34vh,300px)}
.foot3 .vnav a{writing-mode:vertical-rl;font-size:14px;letter-spacing:.26em;line-height:1;color:var(--washi)}
.foot3 .vnav a:hover{color:var(--acc)}
.foot3 .fbottom{color:var(--mu);border-top-color:var(--line);margin-top:clamp(48px,6vw,96px);padding-block:26px}
.foot3 .fbottom a:hover{color:var(--washi)}
@media(max-width:900px){.foot3 .grid{grid-template-columns:1fr}.foot3 .vnav{flex-direction:row;flex-wrap:wrap;height:auto}.foot3 .vnav a{writing-mode:horizontal-tb;letter-spacing:.14em}}
.hd .en2,.vision .lab{color:var(--acc)}
.v3 .pill{background:var(--washi);color:var(--sumi)}
.v3 .pill .en2{color:var(--mute)}
.v3 .btn{border-color:var(--sumi);color:var(--sumi)}
.lt .btn:hover{background:var(--sumi);color:var(--washi)}
.vd{border-bottom-color:var(--fg)}
.brand .bt{font-weight:300}
.sqmenu{position:fixed;top:0;right:0;z-index:96;width:64px;height:64px;background:var(--sumi);color:var(--washi);display:grid;place-items:center;border:0;cursor:pointer;padding:0}
.sqmenu i{display:block;width:22px;height:1px;background:currentColor;box-shadow:0 -6px 0 currentColor,0 6px 0 currentColor}
.admin-bar .sqmenu{top:32px}
/* --- ヒーロー（唱導林）：和紙の地、右寄せの写真、左に縦書き、右下に白い札 --- */
.hero-s{position:relative;padding:0 0 clamp(64px,8vw,120px)}
.hero-s .pic{margin-left:clamp(120px,28vw,420px);margin-right:clamp(16px,5vw,80px);height:min(78svh,860px);min-height:420px;overflow:hidden;background:var(--sand)}
.hero-s .pic img{width:100%;height:100%;object-fit:cover}
.hero-s .side{position:absolute;left:clamp(24px,7vw,110px);top:clamp(48px,9vh,120px);display:flex;gap:28px;align-items:flex-start}
.hero-s .side .crest{width:clamp(88px,8.8vw,128px);height:auto;margin-top:6px}
.hero-s .side .t{writing-mode:vertical-rl;font-size:clamp(26px,3vw,44px);font-weight:200;letter-spacing:.3em;line-height:1.7}
.hero-s .side .s{writing-mode:vertical-rl;font-size:13px;letter-spacing:.34em;color:var(--mu);padding-top:8px}
.hero-s .card{position:absolute;right:0;bottom:clamp(-20px,-2vw,-40px);width:clamp(260px,28vw,400px);min-height:min(48vh,440px);background:var(--chalk);padding:clamp(36px,4vw,64px) clamp(24px,2.6vw,40px);display:flex;gap:26px;justify-content:flex-end;box-shadow:0 30px 80px rgba(26,22,14,.08)}
.hero-s .card .q{writing-mode:vertical-rl;font-size:clamp(20px,2.1vw,30px);font-weight:300;letter-spacing:.26em;line-height:1.9}
.hero-s .card .b{writing-mode:vertical-rl;font-size:13px;letter-spacing:.2em;line-height:2.1;color:var(--mu);max-height:min(44vh,400px)}
@media(max-width:900px){.hero-s .pic{margin-left:104px;margin-right:0;height:min(64svh,560px)}.hero-s .side{left:12px;top:84px;gap:8px}.hero-s .side .crest{width:64px}.hero-s .side .t{font-size:22px;letter-spacing:.24em}.hero-s .side .s{display:none}.hero-s .card{position:relative;width:min(88%,360px);margin:-40px 16px 0 auto;bottom:auto;min-height:0;padding:28px 20px}.hero-s .card .b{max-height:220px}}
/* 小さな見出し行（唱導林「── 年中行事について」） */
.lbl{display:flex;align-items:center;gap:22px;font-size:14px;letter-spacing:.24em;color:var(--fg)}
.lbl::before{content:"";width:48px;height:1px;background:var(--fg)}
/* --- お知らせ（唱導林）：中央見出し、細い一覧 --- */
.news-c{padding-block:clamp(80px,10vw,150px)}
.news-c h2{text-align:center;font-size:clamp(22px,2.2vw,30px);font-weight:300;letter-spacing:.3em}
.news-c ul{list-style:none;padding:0;max-width:960px;margin:clamp(40px,4vw,64px) auto 0}
.news-c li a{display:grid;grid-template-columns:130px 1fr;gap:32px;align-items:baseline;padding:28px 0;border-bottom:1px solid var(--line);font-size:15px;letter-spacing:.1em;line-height:2}
.news-c li .dt{font-family:var(--latin);font-size:16px;color:var(--mu)}
.news-c .more{display:flex;justify-content:flex-end;max-width:960px;margin:28px auto 0}
@media(max-width:700px){.news-c li a{grid-template-columns:1fr;gap:4px}}
/* 全体の細字化 */
.hd h2{font-weight:200}
.vd{font-size:16px}
.pill{font-weight:300}
.foot3 .brand3 .wm{font-weight:300}
.foot3 .addr{line-height:2.4}

/* --- ヘッダー：上では透過、スクロールで和紙 --- */
.hdr{position:fixed;top:0;left:0;right:0;z-index:94;display:flex;align-items:center;justify-content:space-between;padding:22px var(--gut) 18px;transition:background .5s var(--e),box-shadow .5s,padding .5s var(--e)}
.hdr.on{background:rgba(242,237,228,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding-block:14px;box-shadow:0 1px 0 rgba(26,22,14,.08)}
.hdr .brand .bt{font-weight:300}
.hdr .util{margin-right:72px}
.admin-bar .hdr{top:32px}
main#content{padding-top:0}
/* --- ヒーロー：写真は最上部から --- */
.hero-s{padding-top:0}
.hero-s .pic{height:min(84svh,900px)}
.hero-s .side{top:clamp(96px,14vh,160px)}
/* --- 竹の仕事（旧案「一本の竹をめぐる仕事」）：黒、縦長の四枚 --- */
.works-d{background:var(--urushi);color:var(--washi);--fg:var(--washi);--mu:rgba(242,237,228,.55);--line:rgba(242,237,228,.16);--acc:#7FA36B;padding-block:var(--sec) calc(var(--sec) * 1.1);position:relative;overflow:hidden}
.works-d .hd{margin-bottom:clamp(36px,4vw,60px);justify-content:space-between}
.works-d .hd h2{font-weight:200;letter-spacing:.24em;font-size:clamp(26px,3vw,42px)}
.works-d .hd .pg{font-family:var(--latin);font-style:italic;font-size:15px;color:var(--mu);letter-spacing:.1em}
.wd{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,2vw,32px);list-style:none;padding:0}
.wd .pimg{position:relative;aspect-ratio:3/4;overflow:hidden;background:#000}
.wd .pimg img{width:100%;height:100%;object-fit:cover;opacity:.9;transition:transform 1.4s var(--e),opacity .8s}
.wd a:hover .pimg img{transform:scale(1.04);opacity:1}
.wd .pimg .eb{position:absolute;left:18px;top:16px;font-family:var(--latin);font-style:italic;font-size:13px;letter-spacing:.14em;color:rgba(242,237,228,.85);text-shadow:0 1px 6px rgba(0,0,0,.6)}
.wd h3{font-size:clamp(18px,1.7vw,24px);font-weight:300;letter-spacing:.22em;margin-top:26px;line-height:1.6}
.wd p{font-size:13.5px;line-height:2.2;letter-spacing:.06em;color:var(--mu);margin-top:8px}
.wd .blank{aspect-ratio:3/4;border:1px solid var(--line);display:grid;place-items:center;color:var(--mu);font-size:14px;letter-spacing:.3em}
@media(max-width:900px){.wd{grid-template-columns:1fr 1fr}}
/* --- お知らせ：薄い筆を背後に --- */
.news-c{position:relative;overflow:hidden}
.news-c .ink{position:absolute;right:-4%;top:-20%;height:150%;opacity:.07;pointer-events:none}
.news-c h2,.news-c ul,.news-c .more{position:relative}
/* --- 帯（暮らしの中へ）：全幅・暗め・白文字・半画面弱 --- */
.band2{position:relative;height:min(46svh,520px);min-height:340px;overflow:hidden;background:#000;display:grid;align-content:center;justify-items:center;text-align:center;color:#fff}
.band2 img{position:absolute;inset:0;width:100%;height:118%;top:-9%;object-fit:cover;filter:brightness(.68) saturate(.9)}
.band2 .bin{position:relative;z-index:1;display:grid;justify-items:center;gap:18px;padding-inline:var(--gut)}
.band2 .bin{width:100%}
.band2 h2{font-size:clamp(26px,3.4vw,50px);font-weight:200;letter-spacing:.2em;line-height:1.5;white-space:nowrap;width:max-content;max-width:100%;text-wrap:initial}
.band2 .en2{color:rgba(255,255,255,.7)}
.band2 p{font-size:14px;letter-spacing:.14em;color:rgba(255,255,255,.8);line-height:2.2}
.band2 p:empty{display:none}
.band2 .btn{border-color:#fff;color:#fff;font-family:var(--serif);font-size:14px;letter-spacing:.24em;text-transform:none;padding:15px 34px;margin-top:10px}
.band2 .btn:hover{background:#fff;color:var(--sumi)}
@media(max-width:700px){.band2 h2{white-space:normal;font-size:24px;width:auto}}
/* --- お茶：三点＋茶道具について をひとつに --- */
.tea-s{position:relative;padding-block:var(--sec);overflow:hidden}
.tea-s .green{position:absolute;right:-6%;bottom:-8%;width:clamp(260px,32vw,460px);opacity:.28;pointer-events:none;transform:rotate(-6deg)}
.tea-s .top{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:end;margin-bottom:clamp(32px,4vw,56px)}
.tea-s .top .lbl{grid-column:1/6}
.tea-s .top h2{grid-column:1/8;font-size:clamp(28px,3.4vw,48px);font-weight:200;letter-spacing:.18em;line-height:1.7;margin-top:18px}
.tea-s .top .r{grid-column:8/13;font-size:15px;line-height:2.4;letter-spacing:.08em;color:var(--mu)}
.tea-s .top .r .vd{display:inline-flex;margin-top:22px;color:var(--fg)}
.tea-s .row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,28px);list-style:none;padding:0;position:relative}
.tea-s .row .pimg{aspect-ratio:4/3.3;overflow:hidden;background:#0a0a0a}
.tea-s .row .pimg img{width:100%;height:100%;object-fit:cover;transition:transform 1.3s var(--e)}
.tea-s .row a:hover .pimg img{transform:scale(1.03)}
.tea-s .row .nm{display:flex;justify-content:space-between;align-items:baseline;margin-top:14px;font-size:14px;letter-spacing:.24em}
.tea-s .row .nm .ar{font-family:var(--latin)}
@media(max-width:900px){.tea-s .top .lbl,.tea-s .top h2,.tea-s .top .r{grid-column:1/13}.tea-s .row{grid-template-columns:1fr 1fr 1fr;gap:10px}.tea-s .row .nm{font-size:12px;letter-spacing:.1em}}
/* --- 問い（旧案）：全幅の暗い写真、大きな明朝 --- */
.toi{position:relative;min-height:min(92svh,900px);display:grid;align-content:center;overflow:hidden;background:#000;color:var(--washi)}
.toi img{position:absolute;inset:0;width:100%;height:118%;top:-9%;object-fit:cover;filter:brightness(.5) saturate(.85)}
.toi .tin{position:relative;z-index:1;padding:clamp(80px,10vw,140px) var(--gut);max-width:min(100%,1100px)}
.toi .eb{display:flex;gap:18px;align-items:baseline;font-size:13px;letter-spacing:.3em;color:rgba(242,237,228,.6)}
.toi .eb .en2{color:rgba(242,237,228,.5)}
.toi h2{font-size:clamp(28px,4vw,58px);font-weight:200;letter-spacing:.16em;line-height:1.75;margin-top:28px;white-space:nowrap;text-wrap:initial}
@media(max-width:700px){.toi h2{white-space:normal}}
.toi p{font-size:14.5px;line-height:2.5;letter-spacing:.08em;color:rgba(242,237,228,.75);margin-top:clamp(28px,3vw,48px);max-width:32em}
.toi .vd{margin-top:36px;color:var(--washi);border-bottom-color:rgba(242,237,228,.6)}
/* --- 固定の工程：左に段、右に一枚（入れ替わる） --- */
.pin{background:var(--urushi);color:var(--washi);--fg:var(--washi);--mu:rgba(242,237,228,.5);--acc:#7FA36B;position:relative}
.pin .pin-wrap{position:relative;height:calc(var(--n,4) * 85vh + 30vh)}
.pin .stick{position:sticky;top:0;height:100svh;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:center;padding:0 var(--gut);overflow:hidden}
.pin .lt2{grid-column:1/6;position:relative;z-index:2}
.pin .lt2 .chap{font-family:var(--latin);font-style:italic;font-size:15px;letter-spacing:.1em;color:var(--acc)}
.pin .lt2 h2{font-size:clamp(22px,2.3vw,34px);font-weight:200;letter-spacing:.14em;line-height:1.7;margin-top:14px;white-space:nowrap;text-wrap:initial}
.pin .idx2{list-style:none;padding:0;margin-top:clamp(28px,4vh,56px);display:grid;gap:14px}
.pin .idx2 li{display:grid;grid-template-columns:64px 1fr;align-items:baseline;gap:8px;color:var(--mu);transition:color .6s}
.pin .idx2 .n{font-size:15px;transition:font-size .7s var(--e),color .6s}
.pin .idx2 .nm{font-size:15px;letter-spacing:.16em;transition:font-size .7s var(--e)}
.pin .idx2 li.on{color:var(--fg)}
.pin .idx2 li.on .n{font-size:clamp(36px,3.4vw,52px);color:var(--acc)}
.pin .idx2 li.on .nm{font-size:clamp(20px,2vw,28px);font-weight:300}
.pin .stage{grid-column:6/13;position:relative;height:min(72svh,720px);background:#000}
.pin .stage .sl{position:absolute;inset:0;opacity:0;transition:opacity 1.2s var(--e);will-change:opacity}
.pin .stage .sl img{width:100%;height:100%;object-fit:cover;transform:scale(1.03);transition:transform 6s linear}
.pin .stage .sl.on{opacity:1}
.pin .stage .sl.on img{transform:scale(1.1)}
.pin .stage .sl .blank{position:absolute;inset:0;border:1px solid rgba(242,237,228,.2);display:grid;place-items:center;color:var(--mu);letter-spacing:.34em;writing-mode:vertical-rl}
.pin .stage .cnt{position:absolute;right:18px;bottom:14px;font-family:var(--latin);font-style:italic;font-size:14px;color:rgba(242,237,228,.7);letter-spacing:.1em;z-index:2}
@media(max-width:900px){.pin .stick{grid-template-columns:1fr;align-content:start;padding-top:80px}.pin .lt2{grid-column:1/-1}.pin .stage{grid-column:1/-1;height:min(46svh,420px)}.pin .idx2{gap:8px}.pin .idx2 li.on .nm{font-size:18px}}
/* フッター：下から生える緑、メルマガなし */
.foot3{position:relative;overflow:hidden}
.foot3 .green{position:absolute;right:6%;bottom:-6%;width:clamp(220px,26vw,380px);opacity:.16;pointer-events:none}
.foot3 .grid{position:relative}
.foot3 .fbottom{position:relative;justify-content:flex-start;gap:12px 40px}
/* 見出しの脇の英字を小さく統一 */
.en2{font-size:clamp(13px,1.1vw,15px)}

/* 読み込みの幕 */
.loader{position:fixed;inset:0;z-index:200;background:var(--washi);display:grid;place-items:center;transition:transform 1s cubic-bezier(.76,0,.24,1) .15s}
.loader img{width:72px;height:auto;opacity:0;transform:translateY(10px);animation:ldr 1.2s var(--e) .1s forwards}
@keyframes ldr{to{opacity:1;transform:none}}
.loader.gone{transform:translateY(-101%)}
.loader.gone img{transition:opacity .3s;opacity:0}
.hero-s .pic img{transition:transform 2.2s var(--e)}
body.pre .hero-s .pic img{transform:scale(1.12)}
.hero-s .side,.hero-s .card{will-change:transform}
/* 幕で現れる写真（和紙の板が上に抜け、写真が寄りから戻る） */
.js .cur{position:relative;overflow:hidden}
.js .cur::after{content:"";position:absolute;inset:-1px;background:var(--bg);transform:translateY(0);transition:transform 1.3s cubic-bezier(.76,0,.24,1) var(--d,0s);z-index:3;pointer-events:none}
.js .cur>img{transform:scale(1.14);transition:transform 1.8s var(--e) var(--d,0s)}
.js .cur.in::after{transform:translateY(-101%)}
.js .cur.in>img{transform:scale(1)}
.js .works-d .cur::after,.js .pin .cur::after,.js .toi .cur::after{background:var(--urushi)}
/* 行の幕（見出しが下から現れる） */
.js .rl{overflow:hidden}
.js .rl>span{display:block;transform:translateY(110%);transition:transform 1.2s cubic-bezier(.16,1,.3,1) var(--d,0s)}
.js .rl.in>span{transform:none}
/* 罫線が伸びる */
.js .ln{transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--e) var(--d,0s)}
.js .ln.in{transform:none}
/* 視差：滑らかに（JSが --py を補間） */
[data-px]{transform:translate3d(0,var(--py,0px),0);will-change:transform}
.hero-s .pic img{height:114%;margin-top:-7%}
.works-d .wd .pimg img,.tea-s .row .pimg img{height:114%;margin-top:-7%}
/* ヘッダー：下スクロールで隠れ、上で戻る */
.hdr{transform:translateY(0);transition:transform .6s var(--e),background .5s var(--e),box-shadow .5s,padding .5s var(--e)}
.hdr.hide{transform:translateY(-110%)}
/* メニュー：右から滑り込み、項目が順に */
.mnav{transform:translateX(100%);transition:transform .9s cubic-bezier(.76,0,.24,1);background:var(--sumi);color:var(--washi);--fg:var(--washi);--mu:rgba(242,237,228,.5)}
.mnav.open{transform:none}
.mnav ul{gap:8px}
.mnav a{font-weight:200;letter-spacing:.2em;font-size:clamp(30px,6vw,52px);line-height:1.5;display:inline-block;opacity:0;transform:translateY(24px);transition:opacity .8s var(--e),transform .8s var(--e)}
.mnav.open a{opacity:1;transform:none}
.mnav.open li:nth-child(1) a{transition-delay:.35s}.mnav.open li:nth-child(2) a{transition-delay:.42s}.mnav.open li:nth-child(3) a{transition-delay:.49s}.mnav.open li:nth-child(4) a{transition-delay:.56s}.mnav.open li:nth-child(5) a{transition-delay:.63s}.mnav.open li:nth-child(6) a{transition-delay:.7s}
.mnav .sub a{font-size:14px;color:var(--mu);letter-spacing:.16em}
.mnav .mclose{color:var(--washi)}
.mnav .mfoot{margin-top:auto;font-size:12px;letter-spacing:.14em;color:var(--mu);line-height:2.2}
body.mopen .sqmenu{background:var(--washi);color:var(--sumi)}
/* カーソル */
.cur-dot{position:fixed;left:0;top:0;width:10px;height:10px;border-radius:50%;background:var(--sumi);pointer-events:none;z-index:300;transform:translate(-50%,-50%);mix-blend-mode:difference;background:#fff;transition:width .5s var(--e),height .5s var(--e),opacity .4s;opacity:0}
.cur-dot.show{opacity:1}
.cur-dot.big{width:64px;height:64px;background:#fff}
@media(hover:none){.cur-dot{display:none}}
/* お知らせ：行のホバー */
.news-c li a{position:relative}
.news-c li a::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--fg);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--e)}
.news-c li a:hover::after{transform:scaleX(1)}
.news-c li .tt{transition:transform .6s var(--e)}
.news-c li a:hover .tt{transform:translateX(12px)}
/* 工程：入ってくる写真が少し下から */
.pin .stage .sl{transform:translateY(24px) scale(1.02);transition:opacity 1.2s var(--e),transform 1.4s var(--e)}
.pin .stage .sl.on{transform:none}
.pin .idx2 li{transition:color .6s,transform .7s var(--e)}
.pin .idx2 li.on{transform:translateX(8px)}
/* 竹の仕事：番号が写真の上を滑る */
.wd .pimg .eb{transform:translateY(-8px);opacity:0;transition:transform .9s var(--e) .6s,opacity .9s var(--e) .6s}
.wd .cur.in .eb{transform:none;opacity:1}
/* 帯・問いの文字は少しゆっくり */
.band2 .rv .ch,.toi .rv .ch{transition-duration:1.3s}
/* 筆は逆方向に流れる */
.tea-s .green,.hist .green,.foot3 .green{transition:none}

/* ---------- WooCommerce 汎用（カート・チェックアウト・通知） ---------- */
.wc-wrap{padding-block:24px var(--sec)}
.wc-wrap h1.ptitle{font-size:clamp(28px,3.6vw,48px);letter-spacing:.08em;margin-bottom:32px}
.woocommerce-notices-wrapper .woocommerce-message,.woocommerce-notices-wrapper .woocommerce-info,.woocommerce-notices-wrapper .woocommerce-error,.woocommerce-message,.woocommerce-info,.woocommerce-error{list-style:none;border:1px solid var(--line);border-left:2px solid var(--take);padding:14px 18px;margin:0 0 24px;font-size:14px;background:var(--chalk);color:var(--sumi)}
.woocommerce-error{border-left-color:#8a3a2a}
.woocommerce-message a.button,.woocommerce-info a.button{float:right;font-family:var(--sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase;border-bottom:1px solid currentColor}
.woocommerce table.shop_table{width:100%;border-collapse:collapse;font-size:14px}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{padding:14px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;font-weight:400}
.woocommerce table.shop_table th{font-family:var(--sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--mu)}
.woocommerce table.shop_table img{width:64px}
.woocommerce .button,.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,.woocommerce #respond input#submit,.wc-block-components-button{display:inline-flex;align-items:center;justify-content:center;background:var(--sumi);color:var(--washi);border:1px solid var(--sumi);padding:12px 22px;font-family:var(--sans);font-size:11px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;border-radius:0;transition:background .4s var(--e)}
.woocommerce .button:hover,.woocommerce button.button:hover,.woocommerce a.button:hover{background:var(--take);border-color:var(--take);color:#fff}
.woocommerce .button:disabled,.woocommerce button.button:disabled{opacity:.5;cursor:default}
.woocommerce input[type=text],.woocommerce input[type=email],.woocommerce input[type=tel],.woocommerce input[type=password],.woocommerce input[type=number],.woocommerce select,.woocommerce textarea,.woocommerce .input-text{width:100%;padding:11px 12px;border:1px solid var(--line);background:var(--chalk);font:400 14px var(--serif);color:var(--sumi);border-radius:3px}
.woocommerce label{font-size:13px;letter-spacing:.08em;display:block;margin-bottom:6px}
.woocommerce .form-row{margin-bottom:16px}
.woocommerce .cart-collaterals{margin-top:40px;max-width:480px;margin-left:auto}
.woocommerce .cart-collaterals h2,.woocommerce-checkout h3{font-size:18px;letter-spacing:.1em;font-weight:500;margin:0 0 16px}
.woocommerce .wc-proceed-to-checkout{margin-top:20px}
.woocommerce .wc-proceed-to-checkout .button{width:100%}
.woocommerce-cart .coupon{display:flex;gap:8px}
.woocommerce-cart .coupon .input-text{width:auto;flex:1}
.woocommerce-checkout .col2-set{display:grid;grid-template-columns:1fr 1fr;gap:40px}
@media(max-width:820px){.woocommerce-checkout .col2-set{grid-template-columns:1fr}}
.woocommerce #payment{border:1px solid var(--line);padding:20px;background:var(--chalk);margin-top:24px}
.woocommerce #payment ul{list-style:none;padding:0}
.woocommerce #payment .payment_box{background:none;padding:8px 0 0;font-size:13px;color:var(--mu)}
.woocommerce #payment #place_order{width:100%;margin-top:16px}
.woocommerce-MyAccount-navigation ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:6px 22px;margin-bottom:32px;font-size:14px;letter-spacing:.1em}
.woocommerce-MyAccount-navigation .is-active a{border-bottom:1px solid currentColor}
.woocommerce-breadcrumb,.woocommerce-result-count,.woocommerce-ordering{display:none}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}

/* ---------- 低モーション ---------- */
@media (prefers-reduced-motion: reduce){
  .js .rv .ch,.js .fx,.js .fx-l{opacity:1;transform:none;filter:none}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* ============================================================
   第10版 — 文字ナビ（PC）／ハンバーガーはSPのみ／ロゴ拡大／幕の一本化
   ============================================================ */
.hdr .brand .crest{width:40px}
.hdr .gnav{margin-left:auto;margin-right:clamp(28px,4vw,64px)}
.hdr .glist{display:flex;gap:clamp(20px,2.4vw,38px);list-style:none;padding:0;margin:0;font-size:14px;font-weight:300;letter-spacing:.16em}
.hdr .glist a{display:inline-block;position:relative;padding-bottom:4px}
.hdr .glist a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .55s var(--e)}
.hdr .glist a:hover::after,.hdr .glist .current-menu-item>a::after{transform:scaleX(1);transform-origin:left}
.hdr .util{margin-right:0}
.sqmenu{display:none}
@media(max-width:820px){
  .hdr .gnav{display:none}
  .hdr .util{margin-right:72px}
  .sqmenu{display:grid}
  .hdr .brand .crest{width:32px}
}
/* トップの一番上：右側は写真の上に乗るので、文字は和紙色に */
.home .hdr:not(.on) .gnav,.home .hdr:not(.on) .util{color:#fff;mix-blend-mode:difference}
.hdr .gnav,.hdr .util{transition:color .5s}
/* 帯（茶室で湯を注ぐ写真）：白い着物の上でも読めるよう、墨の薄い膜を重ねる */
.band2 img{filter:brightness(.55) saturate(.85) contrast(.95)}
.band2::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 70% 80% at 50% 55%,rgba(20,17,16,.5),rgba(20,17,16,.2));pointer-events:none}
.band2 h2{text-shadow:0 1px 24px rgba(0,0,0,.35)}
@media(max-width:900px){
  .hero-s .pic{margin-left:152px;height:min(66svh,580px)}
  .hero-s .side{left:12px;top:92px;gap:14px}
  .hero-s .side .crest{width:60px}
  .hero-s .side .t{font-size:21px;letter-spacing:.22em}
  .hdr .brand .bs{display:none}
}

/* 写真の上端に薄い影：番号の英字が明るい写真でも読める */
.wd .pimg::before{content:"";position:absolute;inset:0 0 auto 0;height:36%;background:linear-gradient(to bottom,rgba(0,0,0,.42),rgba(0,0,0,0));z-index:2;pointer-events:none}
.wd .pimg .eb{z-index:3}
/* 下層ページ：固定ヘッダーの分だけ本文を下げる */
body:not(.home) main#content{padding-top:clamp(88px,9vw,124px)}

/* ============================================================
   固定ページ — 魅緑について／茶道具について／ONLINE STORE（準備中）／実務ページ
   ============================================================ */
/* 見出し：細字に統一 */
.shead h1{font-weight:200;letter-spacing:.14em}
.shead .ey{font-family:var(--latin);font-style:italic;text-transform:none;font-size:15px;letter-spacing:.1em}
/* 全幅の写真 */
.pg-hero{height:min(62svh,680px);min-height:320px;overflow:hidden;background:var(--sand)}
.pg-hero img{width:100%;height:114%;margin-top:-7%;object-fit:cover}
/* 一文（.ma を細字に） */
.ma h2{font-weight:200;letter-spacing:.14em;line-height:1.7}
.ma p{color:var(--mu);line-height:2.4;letter-spacing:.06em}
.ma .ey{font-family:var(--latin);font-style:italic;text-transform:none;font-size:15px;letter-spacing:.1em}
/* 一本の竹をめぐる仕事（白地版） */
.works-l{padding-block:0 var(--sec)}
.works-l .hd{margin-bottom:clamp(36px,4vw,60px);justify-content:space-between}
.works-l .hd h2{font-weight:200;letter-spacing:.24em;font-size:clamp(26px,3vw,42px)}
.works-l .wd .pimg{background:var(--sand)}
.works-l .wd .pimg img{opacity:1}
.works-l .wd .pimg::before{display:none}
.works-l .wd .pimg .eb{color:#fff}
.works-l .wd h3{color:var(--fg)}
.works-l .wd p{color:var(--mu)}
/* 未来の竹のために */
.future{padding-block:var(--sec)}
.future .fut{list-style:none;padding:0;margin-top:clamp(36px,4vw,56px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,48px)}
.future .fut li{border-top:1px solid var(--fg);padding-top:22px;display:grid;gap:12px}
.future .fut .n{font-size:clamp(28px,3vw,40px);font-weight:200;line-height:1;color:var(--acc)}
.future .fut h3{font-size:clamp(18px,1.6vw,22px);font-weight:300;letter-spacing:.16em;line-height:1.7}
.future .fut p{font-size:14.5px;line-height:2.2;letter-spacing:.06em;color:var(--mu)}
.future .note{margin-top:clamp(32px,4vw,48px);font-size:14px;letter-spacing:.08em;color:var(--mu)}
@media(max-width:820px){.future .fut{grid-template-columns:1fr}}
/* 穴吹竹材 */
.anabuki{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:center;padding-block:0 var(--sec)}
.anabuki .pimg{grid-column:1/8;aspect-ratio:3/2;overflow:hidden;background:var(--sand)}
.anabuki .pimg img{width:100%;height:114%;margin-top:-7%;object-fit:cover}
.anabuki .txt{grid-column:9/13}
.anabuki .txt .ey{font-family:var(--latin);font-style:italic;text-transform:none;font-size:15px;letter-spacing:.1em}
.anabuki h2{font-size:clamp(26px,3vw,40px);font-weight:200;letter-spacing:.24em;margin-top:14px}
.anabuki p{font-size:15px;line-height:2.4;letter-spacing:.06em;color:var(--mu);margin-top:22px}
@media(max-width:900px){.anabuki .pimg,.anabuki .txt{grid-column:1/13}}
/* 会社概要 */
.company{padding-block:0 var(--sec)}
.company .hd{justify-content:space-between;margin-bottom:clamp(24px,3vw,40px)}
.company .hd h2{font-weight:200;letter-spacing:.24em;font-size:clamp(24px,2.6vw,36px)}
.spec{margin:0;border-top:1px solid var(--fg)}
.spec div{display:grid;grid-template-columns:clamp(120px,18vw,220px) 1fr;gap:24px;padding:22px 0;border-bottom:1px solid var(--line);font-size:15px;letter-spacing:.08em;line-height:2}
.spec dt{color:var(--mu);font-weight:300}
.spec dd{margin:0}
@media(max-width:700px){.spec div{grid-template-columns:1fr;gap:4px;padding:16px 0}}
/* 道具の名前：四つ、写真と文が交互 */
.tools{padding-block:0 var(--sec)}
.tools .hd{justify-content:space-between;margin-bottom:clamp(32px,4vw,56px)}
.tools .hd h2{font-weight:200;letter-spacing:.24em;font-size:clamp(26px,3vw,42px)}
.tl4{list-style:none;padding:0;display:grid;gap:clamp(48px,7vw,110px)}
.tl4 li{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:center;scroll-margin-top:120px}
.tl4 .pimg{grid-column:1/8;aspect-ratio:4/3;overflow:hidden;background:var(--sand)}
.tl4 li:nth-child(even) .pimg{grid-column:6/13;grid-row:1}
.tl4 .pimg img{width:100%;height:114%;margin-top:-7%;object-fit:cover}
.tl4 .txt{grid-column:9/13}
.tl4 li:nth-child(even) .txt{grid-column:1/5;grid-row:1}
.tl4 h3{font-size:clamp(30px,3.6vw,52px);font-weight:200;letter-spacing:.2em;line-height:1.3;display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
.tl4 h3 .yomi{font-size:13px;letter-spacing:.3em;color:var(--mu);font-weight:300}
.tl4 p{font-size:15px;line-height:2.4;letter-spacing:.06em;color:var(--mu);margin-top:22px}
@media(max-width:900px){.tl4 .pimg,.tl4 li:nth-child(even) .pimg{grid-column:1/13;grid-row:auto}.tl4 .txt,.tl4 li:nth-child(even) .txt{grid-column:1/13;grid-row:auto}}
/* 点て方：黒い章、八段 */
.howto{background:var(--urushi);color:var(--washi);--fg:var(--washi);--mu:rgba(242,237,228,.55);--line:rgba(242,237,228,.16);--acc:#7FA36B;--bg:var(--urushi);padding-block:var(--sec)}
.howto .hd{justify-content:space-between}
.howto .hd h2{font-weight:200;letter-spacing:.24em;font-size:clamp(26px,3vw,42px)}
.howto .note{margin-top:18px;font-size:14px;letter-spacing:.08em;color:var(--mu)}
.st8{list-style:none;padding:0;margin-top:clamp(40px,5vw,72px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(40px,5vw,72px) clamp(24px,3vw,48px)}
.st8 li{display:grid;gap:22px}
.st8 li:nth-child(4n+2),.st8 li:nth-child(4n+3){margin-top:clamp(32px,5vw,80px)}
.st8 .pimg{aspect-ratio:4/3;overflow:hidden;background:#000}
.st8 .pimg img{width:100%;height:114%;margin-top:-7%;object-fit:cover;opacity:.92}
.st8 .txt{display:grid;grid-template-columns:auto 1fr;gap:6px 22px;align-items:baseline}
.st8 .n{font-size:clamp(30px,3vw,44px);font-weight:200;line-height:1;color:var(--acc);grid-row:1/3}
.st8 h3{font-size:clamp(20px,1.9vw,26px);font-weight:300;letter-spacing:.2em;line-height:1.6}
.st8 p{font-size:14px;line-height:2.2;letter-spacing:.06em;color:var(--mu)}
.js .howto .cur::after{background:var(--urushi)}
@media(max-width:700px){.st8{grid-template-columns:1fr;gap:40px}.st8 li:nth-child(4n+2),.st8 li:nth-child(4n+3){margin-top:0}}
/* 店へ（茶道具についての末尾） */
.tea-end{padding-block:var(--sec);text-align:center;display:grid;justify-items:center;gap:18px}
.tea-end h2{font-size:clamp(26px,3.2vw,44px);font-weight:200;letter-spacing:.2em}
.tea-end p{font-size:15px;letter-spacing:.08em;color:var(--mu)}
.acts{display:flex;flex-wrap:wrap;gap:20px 36px;align-items:center;justify-content:center;margin-top:16px}
.acts .btn{font-family:var(--latin);font-size:14px;letter-spacing:.2em;text-transform:none;padding:15px 34px}
/* ONLINE STORE 準備中 */
.mnt{min-height:min(60svh,640px);display:grid;align-content:center;justify-items:start;gap:18px;padding-block:clamp(40px,6vw,96px)}
.mnt .ey{font-family:var(--latin);font-style:italic;text-transform:none;font-size:15px;letter-spacing:.1em}
.mnt h1{font-size:clamp(28px,4vw,56px);font-weight:200;letter-spacing:.16em;line-height:1.6}
.mnt .lead{font-size:15px;line-height:2.4;letter-spacing:.08em;color:var(--mu)}
.mnt .acts{justify-content:flex-start;margin-top:8px}
.mnt .note{font-size:13px;letter-spacing:.08em;color:var(--mu);margin-top:8px}
.pg-shop .tea-s{padding-top:0}
/* 実務ページ（エディタ本文） */
.pagec .ahead h1{font-weight:200;letter-spacing:.14em}
.prose{font-weight:300}
.prose h2{font-weight:300;letter-spacing:.2em;font-size:clamp(20px,2vw,26px);padding-top:1.2em;border-top:1px solid var(--line)}
.prose p{color:var(--fg)}
.prose .big-mail{font-family:var(--latin);font-size:clamp(24px,3vw,40px);letter-spacing:.04em;line-height:1.4;word-break:break-all}
.prose .big-mail a{border-bottom:1px solid var(--fg)}
.prose .wp-block-table table,.prose table{width:100%;border-collapse:collapse;font-size:14.5px;line-height:2}
.prose .wp-block-table th,.prose .wp-block-table td,.prose th,.prose td{text-align:left;vertical-align:top;padding:14px 12px 14px 0;border-bottom:1px solid var(--line);font-weight:300}
.prose .wp-block-table th,.prose th{width:32%;color:var(--mu);letter-spacing:.08em;white-space:nowrap}
.prose .wp-block-table{margin:0;overflow-x:auto}
@media(max-width:700px){.prose .wp-block-table th,.prose th{white-space:normal;width:38%}}
/* ヘッダーの英字ナビ項目 */
.hdr .glist a{font-feature-settings:"palt"}
.st8 .blank{aspect-ratio:4/3;border:1px solid var(--line);display:grid;place-items:center;color:var(--mu)}
.st8 .blank span{writing-mode:vertical-rl;font-size:15px;letter-spacing:.34em;font-weight:200}
.prose .wp-block-table td,.prose .wp-block-table th{border:0;border-bottom:1px solid var(--line)}
.prose .wp-block-table table{border:0}

/* ============================================================
   SP の見直し（実機確認より）
   ============================================================ */
.hdr .brand{white-space:nowrap;flex:none}
.hdr .brand .bt{font-size:20px;letter-spacing:.2em;line-height:1}
.hdr .util{white-space:nowrap}
.hdr .util a{white-space:nowrap}
.pin .lt2 h2,.band2 h2,.toi h2{text-wrap:initial}
@media(max-width:820px){
  /* ヘッダー：一行・64px。右のハンバーガーと同じ高さに */
  .hdr{height:64px;padding:0 16px;align-items:center}
  .hdr.on{padding-block:0}
  .hdr .brand{gap:10px}
  .hdr .brand .crest{width:30px}
  .hdr .brand .bt{font-size:18px}
  .hdr .util{margin-right:72px;font-size:10px;gap:14px}
  .hdr .util .cart-link{letter-spacing:.12em}
  /* ヒーロー：写真の下に、札は横書きで全幅 */
  .hero-s{padding-bottom:0}
  .hero-s .pic{margin-left:132px;height:min(62svh,560px)}
  .hero-s .side{top:88px;left:12px;gap:12px}
  .hero-s .side .crest{width:56px}
  .hero-s .side .t{font-size:22px}
  .hero-s .card{position:relative;width:auto;margin:-24px 16px 0;padding:32px 24px 36px;display:grid;gap:16px;justify-content:start;min-height:0;bottom:auto}
  .hero-s .card .q{writing-mode:horizontal-tb;font-size:22px;letter-spacing:.16em;line-height:1.8}
  .hero-s .card .b{writing-mode:horizontal-tb;font-size:13.5px;letter-spacing:.08em;line-height:2.2;max-height:none}
  .hero-s::after{content:"";display:block;height:clamp(48px,10vw,72px)}
  /* 一本の竹をめぐる仕事：一列、横長の写真 */
  .works-d{padding-block:calc(var(--sec) * .9)}
  .wd{grid-template-columns:1fr;gap:44px}
  .wd .pimg{aspect-ratio:4/3}
  .wd .pimg img{opacity:1;height:100%;margin-top:0}
  .wd .pimg::before{height:28%;background:linear-gradient(to bottom,rgba(0,0,0,.35),rgba(0,0,0,0))}
  .wd h3{margin-top:18px;font-size:20px}
  .wd p{font-size:14px}
  /* お知らせ */
  .news-c li a{grid-template-columns:1fr;gap:2px;padding:20px 0}
  /* 問い */
  .toi{min-height:min(80svh,720px)}
  .toi h2{font-size:24px;line-height:1.8;white-space:normal}
  .toi .tin{padding:72px var(--gut)}
  /* 茶道具について：三点を一列に大きく */
  .tea-s .top{margin-bottom:32px}
  .tea-s .top h2{font-size:28px;margin-top:12px}
  .tea-s .row{grid-template-columns:1fr;gap:32px}
  .tea-s .row .pimg{aspect-ratio:4/3}
  .tea-s .row .pimg img{height:100%;margin-top:0}
  .tea-s .row .nm{font-size:15px;letter-spacing:.2em;margin-top:12px}
  /* 暮らしの中へ：写真の上に文字を載せず、写真＋黒い文字面に分ける */
  .band2{height:auto;min-height:0;display:block;background:var(--urushi);text-align:left}
  .band2 img{position:relative;inset:auto;top:auto;width:100%;height:auto;aspect-ratio:4/3;filter:brightness(.9) saturate(.9)}
  .band2::after{display:none}
  .band2 .bin{padding:40px var(--gut) 56px;justify-items:start;gap:14px}
  .band2 h2{white-space:normal;width:auto;font-size:24px;letter-spacing:.14em;line-height:1.8;text-shadow:none}
  .band2 p{font-size:14px}
  .band2 .btn{margin-top:6px}
  /* フッター */
  .foot3 .brand3 img{width:64px}
  .foot3 .brand3 .wm{font-size:32px}
  .foot3 .addr{font-size:13.5px}
  .foot3 .vnav{gap:12px 22px}
  .foot3 .vnav a{font-size:13px}
}
/* 点て方：準備中の札 */
.howto .soon{margin-top:clamp(32px,4vw,56px);border:1px solid var(--line);padding:clamp(32px,5vw,72px) var(--gut);display:grid;justify-items:center;gap:10px;text-align:center}
.howto .soon p{font-size:15px;letter-spacing:.1em;color:var(--mu);line-height:2.2}

/* ---- 問い → 工程 の区切り：細い線と余白、章の英字 ---- */
.pin{border-top:1px solid rgba(242,237,228,.18)}
.pin .stick::before{content:"";position:absolute;left:var(--gut);right:var(--gut);top:0;height:1px;background:rgba(242,237,228,.12)}
.toi{border-bottom:1px solid rgba(242,237,228,.18)}
/* ---- 工程 SP：画面を固定したまま、上に見出しと段、下に一枚 ---- */
@media(max-width:900px){
  .pin .pin-wrap{height:calc(var(--n,4) * 70vh + 30vh)}
  .pin .stick{grid-template-columns:1fr;align-content:start;padding-top:88px;gap:18px;padding-bottom:24px}
  .pin .lt2 h2{white-space:normal;font-size:22px;margin-top:8px}
  .pin .idx2{margin-top:16px;gap:6px}
  .pin .idx2 li{grid-template-columns:40px 1fr}
  .pin .idx2 .n,.pin .idx2 .nm{font-size:14px}
  .pin .idx2 li.on .n{font-size:26px}
  .pin .idx2 li.on .nm{font-size:17px}
  .pin .stage{height:min(40svh,360px)}
  .pin .stage .sl::before,.pin .stage .sl::after{display:none}
}
.pin{border-top-color:rgba(242,237,228,.3)}
.toi{border-bottom:0}
.pin .lt2 .chap{display:flex;align-items:center;gap:14px}
.pin .lt2 .chap::before{content:"";width:32px;height:1px;background:var(--acc)}
