/* 毎週ひらく催しの頁（共通の意匠）＝夜の地。
   この一本と weekly.js で器を作り、催しごとの字は data-<slug>.js に置く。
   色と字は蔵のトークン（colors_and_type.css）だけを使う。近似の手書きを作らない。
   使う前に、その名が蔵に在るかを数える。定めの無い名を書くと、その宣言だけが捨てられ、
   字の色は親から受け継いだ色になる（＝何も壊れていないように見えて、意匠だけが外れる）。

   注意＝この頁は styles.css（蔵の体系）も読む。体系は .ti h1 / .ti h3 / .ti p に墨の色を当てるので、
   字の色も大きさも「.wkly を前に置いた形」で決めきる（詳細度を一つ足さないと負ける）。 */

.wkly{ font-family:var(--font-jp-serif); color:rgba(255,255,255,.82); background:var(--night-900); }
.wkly-wrap{ max-width:1180px; margin:0 auto; padding:0 20px; }
.wkly-sec{ padding:clamp(76px,11vh,140px) 0; position:relative; }
/* 節は夜の地を二段で交互に。境は罫ではなく、細い金の光の帯 */
.wkly-sec:nth-of-type(even){ background:var(--night-800); }
.wkly-sec + .wkly-sec::before{ content:""; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(to right, transparent, rgba(214,188,126,.42) 22%, rgba(214,188,126,.62) 50%, rgba(214,188,126,.42) 78%, transparent); }
.wkly p{ line-height:var(--lh-body); }

/* 押せる器の既定を外す。:where() で詳細度を 0 にしてあるので、あとに来る器ごとの意匠は
   どれも素のまま勝つ（機の既定には、詳細度に関わらず書いた側が勝つ）。
   なぜ要るか＝戸口を押せる器に替えた所が、機の既定の地と縁に戻る。数の検分には出ない */
:where(.wkly) :where(button){ -webkit-appearance:none; appearance:none; background:none; border:0;
  padding:0; margin:0; color:inherit; font:inherit; letter-spacing:inherit; text-align:inherit; cursor:pointer; }

.wkly-rise{ opacity:0; transform:translateY(18px); transition:opacity .9s var(--ease), transform .9s var(--ease); }
.wkly-rise.is-in{ opacity:1; transform:none; }

.wkly .wkly-eyebrow{ font-family:var(--font-label); font-size:var(--fs-label); letter-spacing:.24em;
  text-transform:uppercase; color:var(--gold-400); margin:0 0 16px; }
.wkly .wkly-h2{ font-family:var(--font-jp-display); color:#fff; line-height:var(--lh-tight);
  letter-spacing:var(--tracking-jp); margin:0 0 14px;
  font-size:clamp(1.1rem, calc((100vw - 60px) / 11.9), var(--fs-h2)); }
.wkly .wkly-lead{ font-size:var(--fs-lead); line-height:var(--lh-body); color:rgba(255,255,255,.66);
  margin:0 0 38px; max-width:44em; }
.wkly-seg{ display:inline-block; white-space:nowrap; }
/* 「続きを読む」＝字は一字も削らず、はじめは畳んでおくだけ */
.wkly-more{ position:relative; }
.wkly-more[data-open="0"] .wkly-more-body{ max-height:7.4em; overflow:hidden; }
.wkly-more[data-open="0"] .wkly-more-body::after{ content:""; position:absolute; left:0; right:0; bottom:2.4em; height:3.4em;
  background:linear-gradient(to bottom, transparent, var(--night-900)); pointer-events:none; }
.wkly-sec:nth-of-type(even) .wkly-more[data-open="0"] .wkly-more-body::after{
  background:linear-gradient(to bottom, transparent, var(--night-800)); }
.wkly .wkly-more-go{ margin-top:14px; background:none; border:0; padding:0; cursor:pointer;
  font-family:var(--font-jp-sans); font-size:var(--fs-small); color:var(--gold-400);
  border-bottom:1px solid rgba(214,188,126,.4); }
.wkly .wkly-more-go:hover{ color:#fff; }

/* ══ 一 ヒーロー ══════════════════════════════════════════ */
.wkly-hero{ position:relative; overflow:hidden; isolation:isolate; background:var(--night-900);
  min-height:100svh; display:flex; flex-direction:column; justify-content:flex-end;
  padding:0 0 clamp(40px,7vh,88px); }
.wkly-hero > .wkly-wrap{ position:relative; z-index:3; }
.wkly-hero-bgs{ position:absolute; inset:0; z-index:0; }
.wkly-hero-bg{ position:absolute; inset:0; background-size:cover; background-position:center;
  opacity:0; transition:opacity 1.6s ease; will-change:opacity, transform; }
.wkly-hero-bg.is-on{ opacity:1; animation:wklyKen 18s ease-out both; }
.wkly-hero-bg.has-vid.is-on{ animation:none; }
@keyframes wklyKen{ from{ transform:scale(1.04); } to{ transform:scale(1.14); } }
.wkly-hero-vid{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  opacity:0; transition:opacity 1.1s ease; pointer-events:none; }
.wkly-hero-bg.has-vid .wkly-hero-vid{ opacity:1; }
.wkly-hero::after{ content:""; position:absolute; inset:0; z-index:2; pointer-events:none;
  background:linear-gradient(to top, rgba(10,14,17,.94) 0%, rgba(10,14,17,.74) 34%, rgba(10,14,17,.30) 64%, rgba(10,14,17,.46) 100%); }
.wkly .wkly-hero-mark{ font-family:var(--font-display); color:#fff; line-height:.94; margin:0 0 .18em;
  font-size:clamp(2.1rem, calc((100vw - 56px) / 9.4), 7.4rem); letter-spacing:.06em; font-weight:500;
  text-shadow:0 2px 28px rgba(0,0,0,.6); }
.wkly .wkly-hero-mark i{ font-style:normal; color:var(--gold-400); }
.wkly .wkly-hero-t{ font-family:var(--font-jp-display); color:#fff; margin:0 0 .5em;
  font-size:clamp(1.05rem, calc((100vw - 60px) / 20), 2rem); letter-spacing:.14em;
  text-shadow:0 2px 20px rgba(0,0,0,.7); }
.wkly .wkly-hero-lead{ font-size:var(--fs-lead); line-height:var(--lh-body); color:rgba(255,255,255,.84);
  max-width:34em; margin:0 0 32px; text-shadow:0 1px 14px rgba(0,0,0,.6); }
.wkly-hero-foot{ display:flex; flex-wrap:wrap; gap:14px 28px; align-items:center; }
.wkly.wkly-root a.wkly-hero-go{ display:inline-flex; align-items:center; gap:12px; background-image:none;
  font-family:var(--font-jp-sans); font-size:var(--fs-body); color:var(--slate-900);
  background:var(--gold-400); padding:15px 26px; border-radius:var(--radius-pill);
  transition:transform .25s var(--ease), box-shadow .25s; }
.wkly.wkly-root a.wkly-hero-go:hover{ transform:translateY(-2px); box-shadow:0 12px 30px rgba(194,160,82,.34); }
.wkly-hero-meta{ font-family:var(--font-label); font-size:var(--fs-caption); letter-spacing:.14em;
  color:rgba(255,255,255,.68); text-transform:uppercase; }
.wkly.wkly-root a.wkly-back{ display:inline-flex; align-items:center; gap:8px; background-image:none;
  position:absolute; top:26px; left:20px; z-index:4;
  font-family:var(--font-jp-sans); font-size:var(--fs-small); color:rgba(255,255,255,.7); }
.wkly.wkly-root a.wkly-back:hover{ color:var(--gold-400); }

/* ══ 二 次の回＝頁の二つ目の主役（画面いっぱい近くの舞台） ══════ */
.wkly-sec.is-stage{ min-height:80svh; display:flex; align-items:center; overflow:hidden; }
/* 背景＝その回の表紙を大きくぼかして敷く（色だけを拾った光の霧） */
.wkly-stage-haze{ position:absolute; inset:0; z-index:0; pointer-events:none; overflow:hidden; }
/* 霧は夜の地に「色だけ」重ねる。そのまま敷くと表紙の白を拾って節が灰になるので、
   明るさをぐっと落として彩度を上げ、重ね方を screen にする（暗いところは地の紺が残る）。 */
.wkly-stage-haze::before{ content:""; position:absolute; inset:-16%;
  background-image:var(--haze, none); background-size:cover; background-position:center;
  filter:blur(74px) saturate(2.6) brightness(.26); opacity:.78; transform:scale(1.1);
  mix-blend-mode:screen; }
.wkly-stage-haze::after{ content:""; position:absolute; inset:0;
  background:radial-gradient(ellipse at 50% 42%, transparent 0%, rgba(18,30,36,.46) 54%, var(--night-900) 94%); }
/* 細かい光の粒 */
.wkly-stage-dust{ position:absolute; inset:0; z-index:1; pointer-events:none; opacity:.5;
  background-image:
    radial-gradient(1.4px 1.4px at 18% 26%, rgba(214,188,126,.8), transparent),
    radial-gradient(1.1px 1.1px at 72% 18%, rgba(255,255,255,.6), transparent),
    radial-gradient(1.6px 1.6px at 36% 72%, rgba(214,188,126,.6), transparent),
    radial-gradient(1.1px 1.1px at 84% 62%, rgba(255,255,255,.5), transparent),
    radial-gradient(1.3px 1.3px at 58% 44%, rgba(214,188,126,.5), transparent),
    radial-gradient(1px 1px at 8% 56%, rgba(255,255,255,.44), transparent),
    radial-gradient(1.2px 1.2px at 92% 34%, rgba(214,188,126,.44), transparent);
  animation:wklyDust 26s linear infinite; }
@keyframes wklyDust{ from{ transform:translate3d(0,0,0); } to{ transform:translate3d(0,-26px,0); } }
/* 型の頭文字を、背景に薄く大きく */
.wkly-stage-letter{ position:absolute; right:2%; top:50%; transform:translateY(-50%); z-index:0;
  font-family:var(--font-display); font-size:min(62vh, 38vw); line-height:.8; font-weight:500;
  color:transparent; -webkit-text-stroke:1.5px rgba(214,188,126,.14); pointer-events:none;
  user-select:none; margin:0; }
.wkly-sec.is-stage > .wkly-wrap{ position:relative; z-index:2; width:100%; }

.wkly-next{ display:grid; grid-template-columns:minmax(0,480px) minmax(0,1fr); gap:clamp(28px,5vw,72px);
  align-items:center; }
.wkly-stage{ position:relative; perspective:1500px; display:flex; justify-content:center;
  padding:clamp(24px,4vw,52px) 0 clamp(52px,7vw,84px); }
/* 奥のぼんやりした金の光輪 */
.wkly-stage::before{ content:""; position:absolute; left:50%; top:38%; width:min(96%,520px); aspect-ratio:1;
  transform:translate(-50%,-50%); border-radius:50%; pointer-events:none;
  background:radial-gradient(circle, rgba(214,188,126,.44) 0%, rgba(214,188,126,.2) 36%, transparent 66%); }
.wkly-book{ position:relative; width:min(100%,380px); transform-style:preserve-3d; z-index:1;
  animation:wklyFloat 7.5s ease-in-out infinite; transition:transform .7s var(--ease); }
.wkly-book:hover{ animation-play-state:paused; transform:rotateY(-11deg) rotateX(2deg) translateY(-6px); }
/* ゆっくり浮く＝立体の向きも動きの中に入れる（transform は一つしか持てないため） */
@keyframes wklyFloat{
  0%,100%{ transform:rotateY(-19deg) rotateX(4deg) translateY(0); }
  50%    { transform:rotateY(-16deg) rotateX(3deg) translateY(-14px); }
}
/* 上の小口（天）＝薄い紙の面 */
.wkly-book-top{ position:absolute; left:0; right:-17px; top:-9px; height:10px;
  background:linear-gradient(to bottom, rgba(255,255,255,.52), rgba(214,188,126,.26));
  transform:rotateX(74deg); transform-origin:bottom center; border-radius:2px 2px 0 0; }
.wkly-book img{ display:block; width:100%; height:auto; border-radius:3px 7px 7px 3px;
  box-shadow:0 44px 84px rgba(0,0,0,.6), 0 14px 28px rgba(0,0,0,.44); }
/* 背の厚み＝側面の面を描く */
.wkly-book::before{ content:""; position:absolute; top:1.2%; right:-17px; width:18px; height:97.6%;
  background:linear-gradient(to right, rgba(255,255,255,.66), rgba(214,188,126,.4) 48%, rgba(10,14,17,.5));
  transform:rotateY(78deg) translateZ(2px); transform-origin:left center; border-radius:0 2px 2px 0; }
.wkly-book::after{ content:""; position:absolute; inset:-1px; border-radius:3px 7px 7px 3px;
  box-shadow:inset 0 0 0 1px rgba(214,188,126,.5), inset -2px 0 12px rgba(255,255,255,.2); pointer-events:none; }
/* 床への映り込み */
.wkly-stage-floor{ position:absolute; left:50%; bottom:clamp(14px,2.6vw,30px); transform:translateX(-50%);
  width:min(100%,392px); height:clamp(42px,7vw,76px); pointer-events:none; overflow:hidden; }
.wkly-stage-floor img{ display:block; width:100%; transform:scaleY(-1); opacity:.2;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.6), transparent 72%);
  -webkit-mask-image:linear-gradient(to bottom, rgba(0,0,0,.6), transparent 72%); }

.wkly-next-body{ min-width:0; }
.wkly .wkly-next-date{ font-family:var(--font-display); color:#fff; line-height:.82;
  font-size:clamp(3.2rem, calc((100vw - 60px) / 5.2), 9.4rem); letter-spacing:.01em; margin:0 0 8px;
  text-shadow:0 2px 30px rgba(0,0,0,.5); }
/* 曜日は日付の肩に（上端に揃える） */
.wkly .wkly-next-date small{ font-family:var(--font-label); font-size:.18em; letter-spacing:.24em;
  color:var(--gold-400); margin-left:.46em; vertical-align:super; line-height:1; }
.wkly-next-kick{ display:inline-flex; align-items:center; gap:10px; margin:0 0 18px;
  font-family:var(--font-label); font-size:var(--fs-caption); letter-spacing:.3em; text-transform:uppercase;
  color:var(--gold-400); }
.wkly-next-kick::before{ content:""; width:34px; height:1px; background:var(--gold-400); }
.wkly-next-when{ font-family:var(--font-jp-sans); font-size:var(--fs-body); color:rgba(255,255,255,.72);
  margin:0 0 10px; }
/* 時計＝あと N 日 HH:MM */
.wkly-next-clock{ display:inline-flex; align-items:baseline; gap:8px; margin:0 0 24px;
  padding:9px 18px; border-radius:var(--radius-pill);
  border:1px solid rgba(214,188,126,.4); background:rgba(214,188,126,.08); }
.wkly-next-clock b{ font-family:var(--font-display); font-size:1.5rem; color:var(--gold-400); line-height:1; font-weight:500; }
.wkly-next-clock i{ font-family:var(--font-jp-sans); font-style:normal; font-size:var(--fs-caption);
  color:rgba(255,255,255,.62); }
.wkly-next-acts{ display:flex; flex-wrap:wrap; gap:14px 20px; align-items:center; margin-top:4px; }
.wkly.wkly-root a.wkly-cta-sub{ display:inline-flex; align-items:center; gap:8px; background-image:none;
  font-family:var(--font-jp-sans); font-size:var(--fs-small); color:rgba(255,255,255,.8);
  border-bottom:1px solid rgba(255,255,255,.26); padding-bottom:3px; }
.wkly.wkly-root a.wkly-cta-sub:hover{ color:var(--gold-400); border-color:var(--gold-400); }
.wkly-next-left{ font-family:var(--font-label); font-size:var(--fs-caption); letter-spacing:.18em;
  color:var(--gold-400); margin:0 0 20px; text-transform:uppercase; }
.wkly .wkly-next-book{ font-family:var(--font-jp-display); color:#fff; line-height:var(--lh-snug);
  font-size:clamp(1.25rem,3.3vw,2.2rem); margin:16px 0 10px; }
.wkly-next-none{ font-size:var(--fs-body); color:rgba(255,255,255,.5); margin:16px 0 10px; }
.wkly-next-theme{ font-size:var(--fs-body); color:rgba(255,255,255,.66); margin:0 0 14px; max-width:30em; }
.wkly-next-before, .wkly-venue-note{ font-family:var(--font-jp-sans); font-size:var(--fs-small);
  color:rgba(255,255,255,.5); margin:0 0 26px; }
.wkly-venue-note{ margin:18px 0 0; }

.wkly-badge{ display:inline-flex; align-items:center; gap:8px; padding:6px 14px; border-radius:var(--radius-pill);
  border:1px solid rgba(214,188,126,.56); background:rgba(214,188,126,.1); color:var(--gold-400);
  font-family:var(--font-label); font-size:var(--fs-caption); letter-spacing:.14em; white-space:nowrap; }
.wkly-badge b{ font-weight:600; }
.wkly-badge-jp{ font-family:var(--font-jp-sans); letter-spacing:var(--tracking-jp); }

/* 主の釦。器が a でも button でも同じ見た目になるよう、機の既定（灰の枠・小さな字）を外してから当てる。
   注意＝a を button に替えたときに、この規則が当たらず素の釦に戻ったことがある（2026/10/7） */
.wkly.wkly-root a.wkly-cta,
.wkly.wkly-root button.wkly-cta{ display:inline-flex; align-items:center; justify-content:center; gap:10px;
  background-image:none; -webkit-appearance:none; appearance:none; border:0; cursor:pointer; text-align:center;
  font-family:var(--font-jp-sans); font-size:clamp(.95rem,1.6vw,1.08rem); color:var(--slate-900);
  background:var(--gold-400); padding:17px 32px; border-radius:var(--radius-pill); font-weight:500;
  transition:transform .25s var(--ease), box-shadow .25s; }
.wkly.wkly-root a.wkly-cta:hover,
.wkly.wkly-root button.wkly-cta:hover{ transform:translateY(-2px); box-shadow:0 14px 34px rgba(194,160,82,.4); }
/* 主の釦の隣に置く、細い縁の丸い釦。縁は内側の影で描く＝丈が主の釦と一画素も違わない
   （本物の縁だと器の丈が縁のぶん増えるので、詰めで合わせることになる）。
   字の戸口（wkly-cta-sub）は別物＝下線の形のまま */
.wkly.wkly-root a.wkly-cta-ghost,
.wkly.wkly-root button.wkly-cta-ghost{ display:inline-flex; align-items:center; justify-content:center; gap:10px;
  background-image:none; -webkit-appearance:none; appearance:none; cursor:pointer; text-align:center;
  font-family:var(--font-jp-sans); font-size:clamp(.95rem,1.6vw,1.08rem); color:var(--gold-400);
  background:transparent; border:0; box-shadow:inset 0 0 0 1px rgba(214,188,126,.56); padding:17px 32px;
  border-radius:var(--radius-pill); font-weight:500;
  transition:transform .25s var(--ease), box-shadow .25s, background .25s; }
.wkly.wkly-root a.wkly-cta-ghost:hover,
.wkly.wkly-root button.wkly-cta-ghost:hover{ transform:translateY(-2px);
  box-shadow:inset 0 0 0 1px var(--gold-400); background:rgba(214,188,126,.1); }

/* ══ 三 これからの回＝本棚の一段 ════════════════════════════ */
.wkly-shelf-outer{ position:relative; margin:0 -20px; }
.wkly-shelf{ display:flex; gap:clamp(18px,2.4vw,30px); overflow-x:auto; scroll-snap-type:x mandatory;
  padding:10px 20px 30px; scroll-padding-left:20px; -webkit-overflow-scrolling:touch; scrollbar-width:thin; }
.wkly-shelf::-webkit-scrollbar{ height:5px; }
.wkly-shelf::-webkit-scrollbar-thumb{ background:rgba(214,188,126,.3); border-radius:3px; }
/* 棚の床＝細い光の線 */
.wkly-shelf-outer::after{ content:""; position:absolute; left:20px; right:20px; bottom:16px; height:1px;
  background:linear-gradient(to right, transparent, rgba(214,188,126,.5) 14%, rgba(214,188,126,.5) 86%, transparent);
  pointer-events:none; }
.wkly-vol{ flex:0 0 auto; width:clamp(150px,21vw,200px); scroll-snap-align:start;
  display:flex; flex-direction:column; gap:12px; text-decoration:none; }
.wkly-vol-art{ position:relative; border-radius:2px 5px 5px 2px; overflow:hidden;
  background:rgba(255,255,255,.04); aspect-ratio:2/3; min-height:clamp(220px,31vw,296px);
  box-shadow:0 18px 34px rgba(0,0,0,.44);
  transition:transform .35s var(--ease), box-shadow .35s var(--ease); }
.wkly-vol:hover .wkly-vol-art, .wkly-vol:focus-visible .wkly-vol-art{
  transform:translateY(-10px); box-shadow:0 30px 52px rgba(0,0,0,.56), 0 0 0 1px rgba(214,188,126,.44); }
.wkly-vol-art img{ display:block; width:100%; height:100%; object-fit:cover; }
/* 「近日」＝暗い硝子の札 */
.wkly-vol-soon{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center;
  justify-content:center; gap:10px; background:rgba(255,255,255,.045); border:1px solid rgba(214,188,126,.26);
  border-radius:2px 5px 5px 2px; backdrop-filter:blur(2px); }
.wkly-vol-soon b{ font-family:var(--font-display); font-size:2.6rem; color:var(--gold-400); line-height:1; font-weight:500; }
.wkly-vol-soon i{ font-family:var(--font-label); font-style:normal; font-size:var(--fs-caption);
  letter-spacing:.2em; color:rgba(255,255,255,.52); }
/* 絵が無いだけで、課題本は決まっている回＝題を出す（未定と読ませない） */
.wkly .wkly-vol-soon.is-book{border-color:rgba(214,188,126,.42);background:rgba(214,188,126,.07)}
.wkly .wkly-vol-soon.is-book i{color:rgba(255,255,255,.82);letter-spacing:.02em;text-align:center;
  padding:0 10px;line-height:1.55;font-family:var(--font-jp-serif)}
.wkly-vol-d{ font-family:var(--font-display); font-size:1.26rem; color:#fff; line-height:1; }
/* 型の札は二段（上＝英字の型・下＝和名）。一続きにすると狭い棚で語の途中が切れる */
.wkly-vol-t{ display:flex; flex-direction:column; gap:3px; }
.wkly-vol-t b{ font-family:var(--font-label); font-size:var(--fs-caption); letter-spacing:.16em;
  color:var(--gold-400); font-weight:500; white-space:nowrap; }
.wkly-vol-t i{ font-family:var(--font-jp-sans); font-style:normal; font-size:var(--fs-caption);
  letter-spacing:var(--tracking-jp); color:rgba(255,255,255,.52); white-space:nowrap; }
.wkly-shelf-note{ font-size:var(--fs-small); color:rgba(255,255,255,.44); margin:10px 0 0; }
@media (max-width:420px){ .wkly-vol-t b, .wkly-vol-t i{ font-size:.66rem; letter-spacing:.06em; } }

/* ══ 四 四つの型＝見開き（頭文字は絵の外） ═══════════════════ */
.wkly-types{ display:grid; gap:clamp(60px,9vh,112px); }
.wkly-type{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(24px,4vw,56px); align-items:center; }
.wkly-type:nth-child(even) .wkly-type-fig{ order:2; }
.wkly-type-fig{ margin:0; border-radius:var(--radius-lg); overflow:hidden; background:rgba(255,255,255,.04); }
.wkly-type-fig img{ display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
.wkly-type-head{ display:flex; align-items:baseline; gap:clamp(14px,2.4vw,26px); margin:0 0 12px; }
.wkly .wkly-type-letter{ font-family:var(--font-display); line-height:.78; margin:0; font-weight:500;
  font-size:clamp(3.4rem,8vw,6.4rem); color:transparent;
  -webkit-text-stroke:1.5px var(--gold-400); letter-spacing:.02em; flex:0 0 auto; }
.wkly .wkly-type-name{ font-family:var(--font-jp-display); color:#fff;
  font-size:clamp(1.1rem,2.4vw,1.6rem); margin:0 0 4px; }
/* 主題は「・」で区切られた短い語の並び。狭い幅で語の途中が割れないように、
   連続する字を割らない設定を当てる（折れ目はいつも区切りの位置になる） */
.wkly-type-theme{ font-family:var(--font-label); font-size:var(--fs-caption); letter-spacing:.14em;
  color:var(--gold-400); margin:0; word-break:keep-all; overflow-wrap:break-word; }
.wkly-type-body p{ margin:0 0 14px; font-size:var(--fs-body); color:rgba(255,255,255,.66); }
.wkly-type-body p:last-child{ margin-bottom:0; }

/* ══ 六 学びの階段 ══════════════════════════════════════════
   読み方を一冊で知り、動画で習い、毎週使い、一年かけて極める。
   段は横一列ではなく縦に積む＝順があるものは、順に読める形にする。 */
.wkly-ladder{display:flex;flex-direction:column;gap:clamp(18px,2.2vw,26px);margin-top:clamp(26px,3vw,38px)}
.wkly-step{display:grid;grid-template-columns:1fr;gap:clamp(18px,2.4vw,30px);
  border:1px solid rgba(214,188,126,.2);border-radius:14px;background:rgba(255,255,255,.028);
  padding:clamp(22px,2.6vw,34px);transition:border-color .3s var(--ease),background .3s}
.wkly-step:hover{border-color:rgba(214,188,126,.4);background:rgba(255,255,255,.045)}
.wkly-step.has-cover{grid-template-columns:minmax(0,164px) minmax(0,1fr);align-items:start}
/* 段の絵の器＝どの段も同じ縦の比にする（絵の寸法で段ごとに丈が変わらないように）。
   比は商品の絵の実寸から取った（この階段の二枚は、どちらもほぼ同じ縦長）。
   絵が読まれる前から場所を取るので、読み込みで行がずれない */
.wkly-step-art{position:relative;border-radius:2px 5px 5px 2px;overflow:hidden;aspect-ratio:800/1118;
  box-shadow:0 18px 34px rgba(0,0,0,.46);background:rgba(255,255,255,.04)}
.wkly-step-art img{display:block;width:100%;height:100%;object-fit:cover}
.wkly-step-art-top{position:absolute;left:0;top:0;bottom:0;width:6px;
  background:linear-gradient(to right,rgba(0,0,0,.5),rgba(255,255,255,.12));pointer-events:none}
.wkly-step-no{display:flex;align-items:baseline;gap:12px;margin:0 0 10px}
.wkly-step-no b{font-family:var(--font-display);font-size:1.3rem;color:var(--gold-400);font-weight:500;line-height:1}
.wkly-step-no i{font-family:var(--font-jp-sans);font-style:normal;font-size:var(--fs-small);
  letter-spacing:var(--tracking-jp);color:rgba(255,255,255,.62)}
.wkly .wkly-step-t{font-family:var(--font-jp-display);color:#fff;line-height:var(--lh-snug);
  letter-spacing:var(--tracking-jp);margin:0 0 10px;font-size:clamp(1.02rem,2.1vw,1.45rem)}
.wkly .wkly-step-l{font-size:var(--fs-small);line-height:var(--lh-body);color:rgba(255,255,255,.7);
  margin:0 0 14px;max-width:46em}
.wkly-step-ul{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:7px}
.wkly-step-ul li{font-family:var(--font-jp-sans);font-size:var(--fs-caption);line-height:1.75;
  color:rgba(255,255,255,.62);padding-left:16px;position:relative}
.wkly-step-ul li::before{content:"";position:absolute;left:0;top:.72em;width:7px;height:1px;background:var(--gold-400)}
.wkly-step-p{display:flex;align-items:baseline;gap:10px;margin:0 0 16px;flex-wrap:wrap}
.wkly-step-p b{font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2.2rem);color:#fff;
  font-weight:500;line-height:1}
.wkly-step-p i{font-family:var(--font-jp-sans);font-style:normal;font-size:var(--fs-caption);
  color:rgba(255,255,255,.55)}
.wkly-step-acts{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center}
.wkly .wkly-step-note{font-family:var(--font-jp-sans);font-size:var(--fs-caption);
  color:rgba(255,255,255,.5);margin:12px 0 0}
.wkly .wkly-buy-err{font-size:var(--fs-small);color:#ff9b8a;margin:12px 0 0}
/* 読書会で使う AI の案内の一行。段の中でも器の中でも同じ見た目にする */
.wkly .wkly-usenote{font-family:var(--font-jp-sans);font-size:var(--fs-caption);
  color:rgba(255,255,255,.58);margin:0 0 16px}
.wkly.wkly-root .wkly-usenote a{background-image:none;color:var(--gold-400);
  border-bottom:1px solid rgba(214,188,126,.4);padding-bottom:2px}
.wkly.wkly-root .wkly-usenote a:hover{color:#fff;border-color:#fff}
.wkly .wkly-round-box .wkly-usenote{margin:10px 0 0}
/* 軸＝読書クラブ。段の外に置いて、階段ぜんたいを受ける */
.wkly-ladder-club{margin-top:clamp(22px,2.6vw,32px);padding:clamp(22px,2.6vw,30px);
  border:1px solid rgba(214,188,126,.34);border-radius:14px;background:rgba(214,188,126,.07)}
.wkly .wkly-ladder-club-t{font-family:var(--font-jp-display);color:#fff;margin:0 0 8px;
  line-height:var(--lh-snug);letter-spacing:var(--tracking-jp);font-size:clamp(1rem,2vw,1.3rem)}
.wkly .wkly-ladder-club-l{font-size:var(--fs-small);line-height:var(--lh-body);
  color:rgba(255,255,255,.7);margin:0 0 16px;max-width:46em}
@media (max-width:680px){
  .wkly-step.has-cover{grid-template-columns:1fr}
  .wkly-step-art{max-width:180px}
  .wkly-step-acts .wkly-cta,.wkly-step-acts .wkly-cta-ghost{width:100%}
}

/* ══ 五 書庫の壁 ══════════════════════════════════════════ */
.wkly-wall{ display:grid; grid-template-columns:repeat(auto-fill, minmax(min(92px,30%),1fr));
  gap:clamp(8px,1.1vw,14px); }
.wkly-wall a, .wkly-wall div, .wkly-wall button{ display:block; border-radius:2px 4px 4px 2px; overflow:hidden;
  background:rgba(255,255,255,.04); aspect-ratio:2/3; box-shadow:0 10px 20px rgba(0,0,0,.4);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease); }
.wkly-wall a:hover, .wkly-wall button:hover{ transform:translateY(-8px) scale(1.04);
  box-shadow:0 24px 40px rgba(0,0,0,.56), 0 0 0 1px rgba(214,188,126,.5); }
.wkly-wall img{ display:block; width:100%; height:100%; object-fit:cover; }
.wkly .wkly-wall-count{ font-family:var(--font-display); font-size:clamp(3rem,9vw,6.4rem); color:#fff;
  line-height:.9; margin:0 0 24px; font-weight:500; }
.wkly .wkly-wall-count small{ font-family:var(--font-jp-sans); font-size:.22em; color:var(--gold-400); margin-left:.5em; }

/* ══ 六 とは＝引用と三本の柱 ═══════════════════════════════ */
.wkly-quote{ font-family:var(--font-jp-display); color:#fff; line-height:1.5; margin:0 0 36px;
  font-size:clamp(1.3rem,3.6vw,2.4rem); max-width:22em; }
.wkly-pillars{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));
  gap:clamp(18px,2.6vw,32px); margin:0 0 40px; }
.wkly-pillar{ border:1px solid rgba(214,188,126,.24); border-radius:var(--radius-lg); padding:26px 22px;
  background:rgba(255,255,255,.03); }
.wkly-pillar svg{ width:34px; height:34px; stroke:var(--gold-400); fill:none; stroke-width:1.3;
  stroke-linecap:round; stroke-linejoin:round; margin:0 0 14px; }
.wkly .wkly-pillar-t{ font-family:var(--font-jp-display); font-size:1.04rem; color:#fff; margin:0 0 6px; }
.wkly-pillar-d{ font-size:var(--fs-small); color:rgba(255,255,255,.62); margin:0; }
.wkly-intro-body p{ margin:0 0 16px; max-width:44em; font-size:var(--fs-body); color:rgba(255,255,255,.66); }
.wkly-intro-ai{ font-family:var(--font-display); font-size:clamp(1.6rem,4.4vw,2.6rem); color:var(--gold-400);
  letter-spacing:.08em; margin:28px 0 !important; }
.wkly-cycle{ font-family:var(--font-label); font-size:var(--fs-caption); letter-spacing:.12em;
  color:rgba(255,255,255,.5); margin:0 0 28px; }

/* ══ 七 参加のしかた＝会員の札が主役 ═══════════════════════ */
.wkly-fees{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr)); gap:18px; align-items:start; }
.wkly-fee{ border:1px solid rgba(255,255,255,.12); border-radius:var(--radius-lg); padding:26px 22px;
  background:rgba(255,255,255,.03); }
.wkly-fee.is-free{ grid-column:1 / -1; border-color:var(--gold-400); border-width:2px; padding:clamp(30px,4vw,46px);
  background:linear-gradient(135deg, rgba(214,188,126,.12), rgba(255,255,255,.03) 56%); }
.wkly .wkly-fee-t{ font-family:var(--font-jp-display); font-size:1.02rem; color:rgba(255,255,255,.76); margin:0 0 10px; }
.wkly .wkly-fee.is-free .wkly-fee-t{ color:var(--gold-400); font-size:clamp(1.05rem,2.2vw,1.35rem); }
.wkly-fee-d{ font-family:var(--font-display); font-size:clamp(1.4rem,3vw,2.1rem); color:#fff; margin:0; line-height:1.15; }
.wkly-fee.is-free .wkly-fee-d{ font-family:var(--font-jp-display); font-size:clamp(2.2rem,6.4vw,4.2rem); color:#fff; }
.wkly.wkly-root .wkly-fee a.wkly-card-go{ display:inline-flex; align-items:center; gap:8px; margin-top:20px;
  font-family:var(--font-jp-sans); font-size:var(--fs-small); color:rgba(255,255,255,.8); background-image:none;
  border-bottom:1px solid rgba(255,255,255,.26); padding-bottom:2px; }
.wkly.wkly-root .wkly-fee.is-free a.wkly-card-go{ color:var(--slate-900); background:var(--gold-400);
  border:0; padding:14px 28px; border-radius:var(--radius-pill); font-size:var(--fs-body);
  transition:transform .25s var(--ease), box-shadow .25s; }
.wkly.wkly-root .wkly-fee.is-free a.wkly-card-go:hover{ transform:translateY(-2px); box-shadow:0 12px 30px rgba(194,160,82,.36); }

/* ══ 八 会場・申込み・注意＝細く畳む ═══════════════════════ */
.wkly-venues{ display:grid; gap:0; margin:0; padding:0; list-style:none; }
.wkly-venue{ display:grid; grid-template-columns:minmax(min(160px,34%),auto) 1fr; gap:4px 20px;
  padding:14px 0; border-bottom:1px solid rgba(255,255,255,.1); }
.wkly-venue-t{ font-family:var(--font-label); font-size:var(--fs-caption); letter-spacing:.14em; color:var(--gold-400); }
.wkly-venue-d{ font-size:var(--fs-small); margin:0; color:rgba(255,255,255,.76); }
.wkly-venue-tel{ font-family:var(--font-label); font-size:var(--fs-caption); color:rgba(255,255,255,.46); display:block; margin-top:4px; }
.wkly-notes{ margin:0; padding-left:1.15em; }
.wkly-notes li{ font-size:var(--fs-small); color:rgba(255,255,255,.6); line-height:var(--lh-body); margin:9px 0; }
.wkly-cond{ font-size:var(--fs-small); margin:24px 0 0; padding:16px 18px; border-left:2px solid var(--gold-400);
  background:rgba(255,255,255,.04); color:rgba(255,255,255,.78); }
.wkly-fold{ border-top:1px solid rgba(255,255,255,.1); }
.wkly-fold > summary{ cursor:pointer; list-style:none; padding:18px 0;
  font-family:var(--font-jp-sans); font-size:var(--fs-small); color:rgba(255,255,255,.7);
  display:flex; justify-content:space-between; align-items:center; gap:14px; }
.wkly-fold > summary::-webkit-details-marker{ display:none; }
.wkly-fold > summary::after{ content:"＋"; color:var(--gold-400); font-family:var(--font-label); }
.wkly-fold[open] > summary::after{ content:"－"; }

.wkly-foot{ background:var(--night-900); color:rgba(255,255,255,.6); padding:48px 0; font-size:var(--fs-small); }
.wkly.wkly-root .wkly-foot a{ color:rgba(255,255,255,.88); background-image:none; }
.wkly.wkly-root .wkly-foot a:hover{ color:var(--gold-400); }
.wkly-foot-row{ display:flex; flex-wrap:wrap; gap:12px 28px; }

@media (max-width:860px){
  /* 狭い幅＝一冊は画面いっぱいにせず、下の日付・時計・釦が一画面に入る大きさに。
     背の頭文字は右端ではなく、一冊の後ろ全体へ回す（足元に半端に出さない）。
     注意＝一冊を大きくすると字が画面の外へ出るので、重なっている字を畳んで場所を作る＝
       曜日と刻は時計が言っている／型の主題は型の札が言っている（どちらも消えていない） */
  /* 器に対して 74% ＝ 画面に対して約 64%（ご指定の 62〜68% の帯）。
     これ以上広げると、下の日付・時計・釦が最初の一画面から出る（実測＝余り 42px） */
  .wkly-book{ width:74%; max-width:380px; margin:0 auto; }
  .wkly-stage{ padding:10px 0 16px; }
  .wkly-stage-floor{ width:74%; max-width:392px; }
  .wkly-stage-letter{ right:auto; left:50%; top:46%; transform:translate(-50%,-50%);
    font-size:min(46vh, 86vw); -webkit-text-stroke-width:1.2px; }
  .wkly-sec.is-stage{ min-height:auto; padding:40px 0; }
  .wkly-next{ gap:20px; }
  .wkly-next-when, .wkly-next-theme, .wkly-next-before{ display:none; }
  .wkly .wkly-next-kick{ margin-bottom:10px; }
  .wkly-next-clock{ margin-bottom:16px; }
  .wkly .wkly-next-book{ margin:12px 0 8px; }
  .wkly-next-acts{ margin-top:14px; }
  .wkly-next{ grid-template-columns:1fr; gap:30px; }
  .wkly-type{ grid-template-columns:1fr; gap:20px; }
  .wkly-type:nth-child(even) .wkly-type-fig{ order:0; }
  .wkly-venue{ grid-template-columns:1fr; gap:4px; }
}
@media (prefers-reduced-motion: reduce){
  .wkly-hero-bg.is-on{ animation:none; }
  .wkly-hero-vid{ display:none; }
  .wkly-rise{ opacity:1; transform:none; transition:none; }
  .wkly-book, .wkly-vol-art, .wkly-wall a{ transition:none; }
  .wkly-book{ animation:none; transform:rotateY(-19deg) rotateX(4deg); }
  .wkly-stage-dust{ animation:none; }
}

/* ══ 申込みの器 ══════════════════════════════════════════
   順＝① 回 ② 会場 ③ 参加の形 ④ 同意。参加の形は、会員になる道をいつもいちばん上に置く。 */
.wkly-locked{ overflow:hidden; }
.wkly-apply{ position:fixed; inset:0; z-index:9000; display:flex; align-items:center; justify-content:center;
  padding:20px; background:rgba(6,10,13,.82); backdrop-filter:blur(5px); overflow-y:auto; }
.wkly-apply-box{ position:relative; width:min(100%,600px); max-height:92vh; overflow-y:auto;
  background:var(--night-800); border:1px solid rgba(214,188,126,.34); border-radius:var(--radius-xl);
  padding:clamp(24px,4vw,40px); box-shadow:0 40px 90px rgba(0,0,0,.6); }
.wkly .wkly-apply-x{ position:absolute; top:14px; right:16px; background:none; border:0; cursor:pointer;
  font-family:var(--font-jp-sans); font-size:var(--fs-caption); color:rgba(255,255,255,.56); padding:6px 8px; }
.wkly .wkly-apply-x:hover{ color:var(--gold-400); }
.wkly .wkly-apply-kick{ font-family:var(--font-label); font-size:var(--fs-caption); letter-spacing:.3em;
  text-transform:uppercase; color:var(--gold-400); margin:0 0 6px; }
.wkly .wkly-apply-t{ font-family:var(--font-jp-display); font-size:clamp(1.2rem,3vw,1.7rem); color:#fff; margin:0 0 24px; }
.wkly .wkly-apply-step{ font-family:var(--font-jp-sans); font-size:var(--fs-small); color:var(--gold-400);
  margin:22px 0 10px; letter-spacing:.08em; }
.wkly-apply-dates{ display:flex; gap:8px; overflow-x:auto; padding-bottom:6px; scrollbar-width:thin; }
.wkly .wkly-chip{ flex:0 0 auto; display:flex; flex-direction:column; gap:3px; cursor:pointer;
  padding:10px 14px; border-radius:var(--radius-md); border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.03); text-align:left; transition:border-color .2s, background .2s; }
.wkly .wkly-chip b{ font-family:var(--font-display); font-size:1.08rem; color:#fff; font-weight:500; }
.wkly .wkly-chip i{ font-family:var(--font-jp-sans); font-style:normal; font-size:.68rem;
  color:rgba(255,255,255,.52); white-space:nowrap; }
.wkly .wkly-chip.is-on{ border-color:var(--gold-400); background:rgba(214,188,126,.12); }
.wkly-apply-venues{ display:grid; grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr)); gap:8px; }
/* 狭い幅＝五つを縦に積むと丈を食うので二列に。館の字は小さく一行 */
@media (max-width:520px){
  /* 列の下限を 0 にする。1fr のままだと中身の幅が下限になり、長い館の字で列が器からはみ出す
     （頁の幅には出ないので、器の内側の右端と子の右端を比べないと気づけない） */
  .wkly-apply-venues{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:7px; }
  .wkly .wkly-venue-pick{ padding:10px 11px; min-width:0; }
  .wkly .wkly-venue-pick b{ font-size:.9rem; }
  /* 館の字は切らずに二行まで折り返す */
  /* 館の字は切らずに折り返す。三行まで許すのは、いちばん長い館の名が二行に入らないため
     （実測＝二行だと一件だけ入りきらなかった） */
  .wkly .wkly-venue-pick i{ font-size:.62rem; white-space:normal; line-height:1.4;
    display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
}
.wkly .wkly-venue-pick{ display:flex; flex-direction:column; gap:3px; cursor:pointer; text-align:left;
  padding:12px 14px; border-radius:var(--radius-md); border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.03); transition:border-color .2s, background .2s; }
.wkly .wkly-venue-pick b{ font-family:var(--font-jp-display); font-size:.98rem; color:#fff; font-weight:500; }
.wkly .wkly-venue-pick i{ font-family:var(--font-jp-sans); font-style:normal; font-size:.7rem; color:rgba(255,255,255,.5); }
.wkly .wkly-venue-pick.is-on{ border-color:var(--gold-400); background:rgba(214,188,126,.12); }
.wkly-apply-tiers{ display:grid; gap:10px; }
.wkly .wkly-tier{ display:grid; gap:5px; cursor:pointer; text-align:left; padding:16px 18px;
  border-radius:var(--radius-md); border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.03);
  transition:border-color .2s, background .2s; }
.wkly .wkly-tier.is-club{ border-color:rgba(214,188,126,.56); background:linear-gradient(135deg, rgba(214,188,126,.12), rgba(255,255,255,.03) 60%); }
.wkly .wkly-tier.is-on{ border-color:var(--gold-400); border-width:2px; padding:15px 17px; }
.wkly-tier-t{ font-family:var(--font-jp-display); font-size:1rem; color:#fff;
  display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.wkly .wkly-tier.is-club .wkly-tier-t{ color:var(--gold-400); font-size:1.08rem; }
/* 小札＝語の途中で折らない（390 で「（こ｜の回から無料）」と割れていた） */
.wkly-tier-tag{ display:inline-block; white-space:nowrap; padding:3px 10px; border-radius:var(--radius-pill);
  border:1px solid rgba(214,188,126,.56); background:rgba(214,188,126,.12); color:var(--gold-400);
  font-family:var(--font-jp-sans); font-size:.7rem; letter-spacing:.04em; }
.wkly-tier-p{ font-family:var(--font-jp-display); font-size:1.5rem; color:#fff; line-height:1.15; }
.wkly .wkly-tier.is-club .wkly-tier-p{ font-size:1.8rem; color:var(--gold-400); }
.wkly-tier-d{ font-family:var(--font-jp-sans); font-size:.74rem; color:rgba(255,255,255,.6); line-height:1.6; }
.wkly .wkly-apply-note{ font-size:.76rem; color:rgba(255,255,255,.5); margin:12px 0 0; }
/* 同じ夜の別の催しの一行＝段の下に小さく。体系の .ti p に負けないよう器の名から当てる */
.wkly .wkly-apply-before{ font-family:var(--font-jp-sans); font-size:.76rem; line-height:1.7;
  color:rgba(255,255,255,.44); margin:8px 0 0; }
.wkly-apply-agree{ display:flex; align-items:flex-start; gap:10px; margin:22px 0 0; cursor:pointer;
  font-family:var(--font-jp-sans); font-size:var(--fs-small); color:rgba(255,255,255,.72); }
.wkly-apply-agree input{ margin-top:3px; accent-color:var(--gold-400); width:17px; height:17px; }
.wkly .wkly-apply-err{ font-size:var(--fs-small); color:#ff9b8a; margin:14px 0 0; }
/* 器はすぐ開く。中身がまだ来ていないあいだの姿と、受けられないときの姿 */
.wkly-apply-wait{ display:grid; gap:14px; padding:38px 0 26px; }
.wkly-apply-wait i{ display:block; height:1px; background:linear-gradient(to right,
  transparent, rgba(214,188,126,.5), transparent); animation:wklyWait 1.4s ease-in-out infinite; }
.wkly .wkly-apply-wait span{ font-family:var(--font-jp-sans); font-size:var(--fs-small); color:rgba(255,255,255,.62); }
@keyframes wklyWait{ 0%,100%{ opacity:.25; } 50%{ opacity:1; } }
.wkly.wkly-root a.wkly-apply-fallback{ display:inline-flex; align-items:center; gap:8px; margin-top:14px;
  background-image:none; font-family:var(--font-jp-sans); font-size:var(--fs-small); color:var(--gold-400);
  border-bottom:1px solid rgba(214,188,126,.44); padding-bottom:2px; }
/* 釦を黙って殺さない＝押せない理由を、釦のすぐ上に一行 */
.wkly .wkly-apply-why{ font-family:var(--font-jp-sans); font-size:var(--fs-small); color:var(--gold-400);
  margin:16px 0 0; }
.wkly.wkly-root .wkly-apply-agree a{ color:var(--gold-400); background-image:none;
  border-bottom:1px solid rgba(214,188,126,.44); }
.wkly.wkly-root .wkly-apply-agree a:hover{ color:#fff; border-color:#fff; }
.wkly .wkly-apply-go{ width:100%; margin-top:18px; cursor:pointer; border:0;
  font-family:var(--font-jp-sans); font-size:1.02rem; color:var(--slate-900); background:var(--gold-400);
  padding:17px 24px; border-radius:var(--radius-pill); transition:transform .2s var(--ease), opacity .2s; }
.wkly .wkly-apply-go:disabled{ opacity:.42; cursor:not-allowed; }
.wkly .wkly-apply-go:not(:disabled):hover{ transform:translateY(-2px); }
/* 本棚の各冊の申し込み */
.wkly .wkly-vol-go{ margin-top:2px; cursor:pointer; background:none; border:0; padding:0; text-align:left;
  font-family:var(--font-jp-sans); font-size:.72rem; color:var(--gold-400);
  border-bottom:1px solid rgba(214,188,126,.34); align-self:flex-start; padding-bottom:2px; }
.wkly .wkly-vol-go:hover{ color:#fff; border-color:#fff; }

/* 参加の形＝会員になる道の下に、一般と学生を横並びの小さめの札で（最初の一画面に入るように） */
.wkly-apply-pair{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px; margin-top:10px; }
.wkly .wkly-tier.is-small{ padding:13px 15px; gap:3px; }
.wkly .wkly-tier.is-small.is-on{ padding:12px 14px; }
.wkly .wkly-tier.is-small .wkly-tier-t{ font-size:.9rem; }
.wkly .wkly-tier.is-small .wkly-tier-p{ font-size:1.25rem; }
.wkly .wkly-tier.is-small .wkly-tier-d{ font-size:.68rem; }
/* 上限に来たら、残りの回は薄く（押しても何も起きないことを目で分かるように） */
.wkly .wkly-chip.is-dim{ opacity:.34; cursor:not-allowed; }
/* 合計＝釦のすぐ上 */
.wkly .wkly-apply-sum{ display:flex; align-items:baseline; justify-content:space-between; gap:14px;
  margin:20px 0 0; padding:14px 18px; border-radius:var(--radius-md);
  border:1px solid rgba(255,255,255,.16); background:rgba(255,255,255,.04); }
.wkly .wkly-apply-sum b{ font-family:var(--font-jp-sans); font-size:var(--fs-small); color:rgba(255,255,255,.72); font-weight:400; }
.wkly .wkly-apply-sum i{ font-family:var(--font-display); font-style:normal; font-size:1.7rem; color:#fff; }
/* 会員になる道のおすすめ＝合計のすぐ上に金の一行 */
.wkly-apply-rec{ display:grid; gap:12px; margin:20px 0 0; padding:16px 18px; border-radius:var(--radius-md);
  border:1px solid var(--gold-400); background:linear-gradient(135deg, rgba(214,188,126,.14), rgba(255,255,255,.03) 62%); }
.wkly .wkly-apply-rec span{ font-family:var(--font-jp-sans); font-size:var(--fs-small); color:var(--gold-400); line-height:1.7; }
.wkly .wkly-apply-rec-go{ justify-self:start; cursor:pointer; border:0; -webkit-appearance:none; appearance:none;
  font-family:var(--font-jp-sans); font-size:var(--fs-small); color:var(--slate-900); background:var(--gold-400);
  padding:10px 20px; border-radius:var(--radius-pill); transition:transform .2s var(--ease); }
.wkly .wkly-apply-rec-go:hover{ transform:translateY(-2px); }
@media (max-width:420px){
  .wkly-apply-pair{ grid-template-columns:1fr; }
}

/* ══ この回について（頁の中で完結する回の器）══ */
.wkly-round-box{ width:min(100%,680px); }
.wkly .wkly-round-date{ font-family:var(--font-jp-display); font-size:clamp(1.5rem,4vw,2.3rem); color:#fff; margin:0 0 14px; }
.wkly .wkly-round-date small{ font-family:var(--font-jp-sans); font-size:.46em; color:rgba(255,255,255,.62); margin-left:.6em; }
.wkly-round-theme{ font-size:var(--fs-small); color:rgba(255,255,255,.66); margin:12px 0 0; }
/* 頭の申込みの釦。器の中なので、下の釦の並びより詰めを狭くする */
.wkly-round-acts-top{ margin:18px 0 0; }
.wkly-round-book{ display:grid; grid-template-columns:minmax(0,148px) minmax(0,1fr); gap:clamp(16px,3vw,26px);
  margin:26px 0 0; padding:22px 0 0; border-top:1px solid rgba(255,255,255,.1); align-items:start; }
.wkly-round-cover{ margin:0; border-radius:2px 5px 5px 2px; overflow:hidden; background:rgba(255,255,255,.04);
  box-shadow:0 18px 34px rgba(0,0,0,.44); }
.wkly-round-cover img{ display:block; width:100%; height:auto; }
.wkly-round-booklabel{ font-family:var(--font-label); font-size:var(--fs-caption); letter-spacing:.2em;
  color:var(--gold-400); margin:0 0 6px; text-transform:uppercase; }
.wkly .wkly-round-booktitle{ font-family:var(--font-jp-display); font-size:clamp(1.05rem,2.4vw,1.4rem);
  color:#fff; margin:0 0 14px; line-height:var(--lh-snug); }
.wkly-round-note p{ font-size:var(--fs-small); color:rgba(255,255,255,.72); line-height:1.9; margin:0 0 10px; }
.wkly-round-note p:last-child{ margin-bottom:0; }
.wkly-round-done{ font-family:var(--font-jp-sans); font-size:var(--fs-small); color:var(--gold-400); margin:22px 0 0; }
.wkly-round-box .wkly-venues{ margin-top:4px; }
.wkly-round-box .wkly-next-acts{ margin-top:24px; }
@media (max-width:520px){
  .wkly-round-book{ grid-template-columns:1fr; gap:16px; }
  .wkly-round-cover{ width:56%; }
}
