/* ============================================================
   北九州トップ — 案A「処方箋2026 を全校へ」（2026-10-24 殿承認「この方向でよい」）
   ・札幌月寒の見本（sapporo_tsukisamu/assets/top-a.css）を写して、北九州の部品に合わせたもの。
   ・このファイルは /kitakyushu/ のトップ（index.html）だけが読む。
     下層ページは従来どおり site.css を読み、ここの規則は届かない（全規則を .rx26 の下に閉じている）。
   ・和紙白 #FBFAF5／墨 #1B1812／山吹 #E2A400／朱 #C0392B は判子だけ。
     白カード＋墨1px枠＋8pxズレ影、黒ボタン角0、明朝見出し、mono の eyebrow。
   ・オンライン専門の教室なので、住所・駅・駐車場の部品は持たない。
   ・組版の掟：両端揃えと pretty 折り返しは使わない。balance は短い見出しとボタンだけ。
     本文の行間（1.9）と段落の間（1.5em）に差をつける。12px 未満の文字と 44px 未満の指の的を作らない。
     ヒーローの背景に弦の横線は出さない（文字に被るため・藤沢と同じ）。
   ============================================================ */

.rx26{
  --paper:#FBFAF5;
  --paper-deep:#F4F1E7;
  --ink:#1B1812;
  --ink-soft:#57503F;
  --line:#D9D3C2;
  --amber:#E2A400;
  --amber-deep:#8A6200;
  --amber-text:#8A6200;
  --shu:#C0392B;
  --serif:"Hiragino Mincho ProN","Yu Mincho","YuMincho","Noto Serif JP",serif;
  --sans:"Hiragino Kaku Gothic ProN","Yu Gothic","YuGothic","Noto Sans JP",sans-serif;
  --mono:ui-monospace,"SF Mono",Menlo,monospace;
  --gx:clamp(20px,5vw,48px);
  --shadow:8px 8px 0 rgba(27,24,18,.08);
  --head-h:68px;
}

/* ---------- 土台 ---------- */
.rx26 *,.rx26 *::before,.rx26 *::after{box-sizing:border-box;margin:0;padding:0}
html:has(body.rx26){scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--head-h,68px) + 12px)}
html:has(body.rx26),body.rx26{overflow-x:clip}
body.rx26{
  margin:0;
  background:var(--paper);color:var(--ink);
  font-family:var(--sans);font-weight:400;font-size:16px;line-height:1.9;
  font-feature-settings:"palt" 1;
}
.rx26 img{max-width:100%;height:auto;display:block}
.rx26 a{color:inherit}
.rx26 ::selection{background:var(--amber);color:var(--ink)}
.rx26 :focus-visible{outline:2px solid var(--amber-deep);outline-offset:3px}
.rx26 .wrap{max-width:1080px;margin:0 auto;padding:0 var(--gx)}
.rx26 .sp{display:none}
@media(max-width:720px){.rx26 .sp{display:inline}}

/* 見出し：句の境（<wbr>）でだけ折る。語の途中では折らない */
.rx26 .jp-ph{word-break:keep-all;overflow-wrap:anywhere}
:is(h1,h2).jp-ph{word-break:keep-all;overflow-wrap:anywhere}
.rx26 .nb{display:inline-block;white-space:nowrap}

/* ---------- 出現（藤沢と同じ：下から 0.8s でふわり） ---------- */
.rx26 .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease;transition-delay:calc(var(--i,0)*70ms)}
.rx26 .reveal.in{opacity:1;transform:none}
html:not(.js) .rx26 .reveal{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rx26 .reveal{opacity:1;transform:none;transition:none}}

/* ---------- 共通部品 ---------- */
.rx26 .sec{padding-top:clamp(80px,11vw,136px);padding-bottom:clamp(80px,11vw,136px)}
.rx26 .sec.tight{padding-top:clamp(40px,6vw,72px)}
.rx26 .bg-deep{background:var(--paper-deep)}

/* eyebrow：mono・山吹濃・左に山吹罫。1行に収める */
.rx26 .eyebrow,.rx26 .lead-en{
  font-family:var(--mono);font-size:12px;font-weight:400;
  letter-spacing:.22em;text-transform:uppercase;line-height:1.5;
  color:var(--amber-deep);
  display:flex;align-items:center;gap:.9em;white-space:nowrap;
}
.rx26 .eyebrow::before,.rx26 .lead-en::before{content:"";display:block;width:2.6em;height:1px;background:var(--amber);flex-shrink:0}

/* 明朝のセクション見出し */
.rx26 .h2,.rx26 .sec-title{
  font-family:var(--serif);font-weight:600;
  font-size:clamp(1.62rem,3.6vw,2.6rem);
  line-height:1.6;letter-spacing:.06em;text-wrap:balance;
  margin:.9em 0 1em;
}
.rx26 .sub{color:var(--ink-soft);max-width:38em;font-size:.98rem}
.rx26 .sub + .sub{margin-top:1.2em}
.rx26 .feat + .note{margin-top:2.4em}
.rx26 .note{font-size:.92rem;color:var(--ink-soft);max-width:40em;line-height:1.95;margin-top:1.4em}

/* 本文中のリンク（山吹の下線）。指の的を 44px に広げつつ、行送りは変えない */
.rx26 .textlink,.rx26 .tlink{
  color:var(--ink);font-weight:700;text-decoration:none;
  border-bottom:2px solid var(--amber);
  display:inline-block;padding:.84em 0 .12em;margin:-.84em 0 0;line-height:1.7;
  transition:color .2s;
}
.rx26 .textlink:hover,.rx26 .tlink:hover{color:var(--amber-text)}
.rx26 p > .textlink:only-child,.rx26 p > .tlink:only-child{padding-bottom:.35em}

/* ボタン：墨ベタ・角0。山吹の下線が hover で走る */
.rx26 .btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:.95em 2.2em;
  background:var(--ink);color:var(--paper);text-decoration:none;
  font-family:var(--sans);font-weight:700;font-size:.95rem;letter-spacing:.1em;line-height:1.5;
  text-align:center;text-wrap:balance;border:1px solid var(--ink);border-radius:0;
  position:relative;overflow:hidden;transition:background .25s,color .25s;
}
.rx26 .btn::after{
  content:"";position:absolute;inset:auto 0 0 0;height:3px;background:var(--amber);
  transform:scaleX(0);transform-origin:left;transition:transform .35s;
}
.rx26 .btn:hover::after{transform:scaleX(1)}
.rx26 .btn.ghost{background:transparent;color:var(--ink)}
.rx26 .btn.ghost:hover{background:var(--ink);color:var(--paper)}
.rx26 .btn.lg{padding:1.05em 2.4em}

/* 白カード＋墨1px枠＋8pxズレ影（処方箋2026 の基本形） */
.rx26 .card{background:#fff;border:1px solid var(--ink);box-shadow:var(--shadow)}
.rx26 .frame{background:#fff;border:1px solid var(--line);padding:10px 10px 12px;box-shadow:var(--shadow)}

/* ---------- ヘッダー ---------- */
.rx26 .site-head{
  position:sticky;top:0;z-index:50;
  background:color-mix(in srgb,var(--paper) 90%,transparent);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.rx26 .site-head nav{display:flex;align-items:center;justify-content:space-between;gap:16px;height:var(--head-h)}
.rx26 .brand{display:inline-flex;align-items:center;min-height:44px}
.rx26 .site-head .logo{height:40px;width:auto}
.rx26 .links{display:flex;align-items:center;gap:26px}
.rx26 .links a{
  font-size:.86rem;letter-spacing:.08em;text-decoration:none;
  min-height:44px;min-width:44px;justify-content:center;display:inline-flex;align-items:center;position:relative;
}
.rx26 .links a:not(.btn)::after{
  content:"";position:absolute;left:0;right:0;bottom:8px;height:1px;background:var(--amber-deep);
  transform:scaleX(0);transform-origin:left;transition:transform .3s;
}
.rx26 .links a:not(.btn):hover::after{transform:scaleX(1)}
.rx26 .links a.btn{padding:.7em 1.9em .7em 2.05em;font-size:.86rem;letter-spacing:.12em;min-height:44px}
.rx26 .nav-toggle{
  display:none;flex-direction:column;justify-content:center;align-items:center;gap:6px;
  width:44px;height:44px;background:none;border:0;cursor:pointer;
}
.rx26 .nav-toggle span{width:24px;height:1.5px;background:var(--ink);display:block;transition:transform .3s,opacity .3s}
.rx26 .site-head.open .nav-toggle span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.rx26 .site-head.open .nav-toggle span:nth-child(2){opacity:0}
.rx26 .site-head.open .nav-toggle span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
.rx26 .head-cta{display:none}
@media(max-width:860px){
  .rx26{--head-h:60px}
  .rx26 .site-head .logo{height:34px}
  .rx26 .nav-toggle{display:flex}
  .rx26 .site-head nav{position:relative;gap:8px}
  .rx26 .links{
    position:absolute;top:calc(100% + 1px);left:calc(-1*var(--gx));right:calc(-1*var(--gx));
    flex-direction:column;align-items:stretch;gap:0;
    background:var(--paper);box-shadow:0 18px 34px -22px rgba(27,24,18,.35);
    max-height:calc(100svh - var(--head-h));overflow-y:auto;
    opacity:0;visibility:hidden;transform:translateY(-8px);
    transition:opacity .25s ease,transform .25s ease,visibility 0s linear .25s;
  }
  .rx26 .site-head.open .links{opacity:1;visibility:visible;transform:none;border-top:1px solid var(--line);transition:opacity .25s ease,transform .25s ease,visibility 0s}
  .rx26 .links a:not(.btn){padding:12px var(--gx);border-bottom:1px solid var(--line);font-size:1rem}
  .rx26 .links a:not(.btn)::after{display:none}
  .rx26 .links a.btn{margin:18px var(--gx);min-height:50px}
  .rx26 .head-cta{
    display:inline-flex;align-items:center;justify-content:center;
    margin-left:auto;min-height:44px;padding:0 1em;
    background:var(--ink);color:var(--paper)!important;text-decoration:none;
    font-weight:700;font-size:.8rem;letter-spacing:.06em;white-space:nowrap;border-radius:0;
    transition:opacity .2s ease,visibility 0s;
  }
  .rx26:has(.cta-sticky.show) .head-cta{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility 0s .2s}
}

/* ---------- ① 最初の画面 ---------- */
.rx26 .hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.rx26 .heromark{position:absolute;right:0;bottom:0;width:min(46vw,520px);opacity:.035;pointer-events:none}
.rx26 .hero > .wrap{
  position:relative;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,440px);
  grid-template-areas:"copy photo" "body photo";
  column-gap:clamp(36px,5.6vw,72px);align-items:start;
  padding-top:clamp(56px,8vw,104px);padding-bottom:clamp(64px,9vw,112px);
}
.rx26 .hero-copy{grid-area:copy}
.rx26 .hero-body{grid-area:body}
.rx26 .hero-photo{grid-area:photo;align-self:center;margin:0}
.rx26 .hero .eyebrow{margin-bottom:1.6em}
/* h1（地名＋全国対応の添え書き）：静かに置き、キャッチを主役にする。2つのラベルは畳まずに残す */
.rx26 .hero .h1-place{
  font-family:var(--sans);font-weight:500;font-size:.95rem;letter-spacing:.14em;line-height:1.7;
  color:var(--ink-soft);margin-bottom:1.1em;
}
.rx26 .hero .h1-sub{
  display:block;margin-top:.35em;
  font-size:.86rem;font-weight:400;letter-spacing:.08em;color:var(--amber-deep);
}
.rx26 .hero .catch{
  font-family:var(--serif);font-weight:600;
  font-size:clamp(1.55rem,3.3vw,2.6rem);line-height:1.55;letter-spacing:.05em;
  color:var(--ink);
}
.rx26 .hero .catch .b{
  color:var(--amber-deep);
  text-emphasis:filled dot var(--amber);-webkit-text-emphasis:filled dot var(--amber);
}
.rx26 .hero .lead{color:var(--ink-soft);font-size:.98rem;max-width:34em;margin-top:2em}
.rx26 .hero .lead2{margin-top:1.5em;color:var(--ink);font-family:var(--serif);font-weight:600;font-size:1.04rem;line-height:1.95;letter-spacing:.03em}
.rx26 .cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:2.2em}
.rx26 .hero .sublink{margin-top:1.2em;font-size:.88rem;line-height:1.85;color:var(--ink-soft);max-width:34em}
/* 講師写真は横位置（バンドの集合写真）なので切り抜かず、原寸比 4:3 のまま額装する */
.rx26 .hero-photo img{width:100%;aspect-ratio:4/3;object-fit:cover}
.rx26 .hero-photo figcaption,.rx26 .inst figcaption{
  font-family:var(--mono);font-size:12px;letter-spacing:.18em;color:var(--ink-soft);
  margin-top:10px;text-align:center;line-height:1.5;
}
@media(max-width:860px){
  .rx26 .hero > .wrap{grid-template-columns:1fr;grid-template-areas:"copy" "photo" "body";padding-top:40px;padding-bottom:56px}
  .rx26 .hero .eyebrow{letter-spacing:.1em;gap:.7em;margin-bottom:1.3em}
  .rx26 .hero .eyebrow::before{width:1.4em}
  .rx26 .hero .h1-place{font-size:.9rem;margin-bottom:.8em}
  .rx26 .hero .catch{font-size:clamp(1.45rem,6.4vw,2.4rem)}
  .rx26 .hero-photo{margin-top:28px;max-width:520px}
  .rx26 .hero .lead{margin-top:1.8em}
  .rx26 .cta-row{flex-direction:column;align-items:stretch}
  .rx26 .cta-row .btn{padding:1em 12px;font-size:15px;letter-spacing:.04em}
}

/* ---------- 本文の段（画面ごし・処方箋・料金・用意・当日・FAQ） ---------- */
.rx26 .kicker{
  font-family:var(--mono);font-size:12px;font-weight:400;
  letter-spacing:.22em;text-transform:uppercase;line-height:1.5;
  color:var(--amber-deep);
  display:flex;align-items:center;gap:.9em;flex-wrap:wrap;
}
.rx26 .kicker::before{content:"";display:block;width:2.6em;height:1px;background:var(--amber);flex-shrink:0}
@media(max-width:560px){.rx26 .kicker{letter-spacing:.12em}.rx26 .kicker::before{width:1.4em}}
.rx26 .pc{display:inline}
@media(max-width:720px){.rx26 .pc{display:none}}
.rx26 .ptext{color:var(--ink-soft);max-width:38em}
.rx26 .ptext + .ptext,.rx26 .ans + .ptext{margin-top:1.5em}
.rx26 .h2 + .ptext{margin-top:0}
/* 次の段への手渡し（問い）。明朝・山吹の細い左罫 */
.rx26 .handoff{
  font-family:var(--serif);font-weight:600;color:var(--ink)!important;
  font-size:1.08rem;line-height:1.95;letter-spacing:.04em;max-width:34em;
  border-left:2px solid var(--amber);padding:.2em 0 .2em 1.1em;
  margin-top:2.6em!important;
}
.rx26 #prob .handoff{margin-top:clamp(40px,5vw,56px)!important}

/* 画面ごしの2つの答え：白カードに罫の行 */
.rx26 .ans{
  background:#fff;border:1px solid var(--ink);box-shadow:var(--shadow);
  max-width:760px;margin:2.4em 0;padding:clamp(6px,1.2vw,10px) clamp(20px,3vw,32px);
}
.rx26 .ans-row{display:grid;grid-template-columns:9.5em minmax(0,1fr);gap:1.4em;padding:1.3em 0;align-items:baseline}
.rx26 .ans-row + .ans-row{border-top:1px dashed var(--line)}
.rx26 .ans-k{font-family:var(--serif);font-weight:600;font-size:1.06rem;letter-spacing:.04em;line-height:1.7;color:var(--ink)}
.rx26 .ans-row p{font-size:.95rem;color:var(--ink-soft);line-height:1.9}
@media(max-width:620px){.rx26 .ans-row{grid-template-columns:1fr;gap:.4em}}

.rx26 strong{color:var(--ink);font-weight:700;background:linear-gradient(transparent 68%,rgba(226,164,0,.32) 68%)}

/* 背景を一段沈める段（.soft） */
.rx26 .soft{background:var(--paper-deep)}

/* ---------- つまずき3つ・用意3つ・当日の流れ：白カード ---------- */
.rx26 .feat{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,28px);margin-top:clamp(28px,4vw,48px)}
.rx26 #trial-flow .feat{grid-template-columns:repeat(4,minmax(0,1fr))}
.rx26 .frow{background:#fff;border:1px solid var(--ink);box-shadow:var(--shadow);padding:clamp(22px,2.4vw,30px) clamp(20px,2.2vw,26px)}
.rx26 .frow .n{
  font-family:var(--mono);font-size:12px;letter-spacing:.2em;color:var(--amber-deep);
  border-bottom:1px solid var(--line);padding-bottom:.8em;margin-bottom:1em;line-height:1.5;
}
.rx26 .frow .n::before{content:"No. "}
.rx26 #trial-flow .frow .n::before{content:"STEP "}
.rx26 .frow h3{font-family:var(--serif);font-weight:600;font-size:1.14rem;line-height:1.65;letter-spacing:.04em;text-wrap:balance;margin-bottom:.7em}
.rx26 .frow p{font-size:.92rem;color:var(--ink-soft);line-height:1.9}
@media(max-width:1000px){.rx26 #trial-flow .feat{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.rx26 .feat,.rx26 #trial-flow .feat{grid-template-columns:1fr}}

.rx26 #trial-flow .feat{margin-top:clamp(28px,4vw,48px)}
/* 「用意するもの」から同じ地で続くので、上の余白を詰める（札幌の .sec.tight と同じ値） */
.rx26 #trial-flow{padding-top:clamp(40px,6vw,72px)}
/* つまずきやすい3つの場所 */
.rx26 .prob{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,28px);margin-top:clamp(28px,4vw,48px)}
.rx26 .pcard{background:#fff;border:1px solid var(--ink);box-shadow:var(--shadow);padding:clamp(22px,2.4vw,30px) clamp(20px,2.2vw,26px)}
.rx26 .pcard .q{
  font-family:var(--mono);font-size:12px;letter-spacing:.2em;color:var(--amber-deep);
  border-bottom:1px solid var(--line);padding-bottom:.8em;margin-bottom:1em;line-height:1.5;
}
.rx26 .pcard .q::before{content:"No. "}
.rx26 .pcard h3{font-family:var(--serif);font-weight:600;font-size:1.14rem;line-height:1.65;letter-spacing:.04em;text-wrap:balance;margin-bottom:.7em}
.rx26 .pcard p{font-size:.92rem;color:var(--ink-soft);line-height:1.9}
/* 始めるのに必要な3つ */
.rx26 .prep{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,28px);margin-top:clamp(28px,4vw,48px)}
.rx26 .prep li{background:#fff;border:1px solid var(--ink);box-shadow:var(--shadow);padding:clamp(22px,2.4vw,30px) clamp(20px,2.2vw,26px)}
.rx26 .prep .pn{
  display:block;font-family:var(--mono);font-size:12px;letter-spacing:.2em;color:var(--amber-deep);
  border-bottom:1px solid var(--line);padding-bottom:.8em;margin-bottom:1em;line-height:1.5;
}
.rx26 .prep .pn::before{content:"ITEM "}
.rx26 .prep h3{font-family:var(--serif);font-weight:600;font-size:1.14rem;line-height:1.65;letter-spacing:.04em;text-wrap:balance;margin-bottom:.7em}
.rx26 .prep p{font-size:.92rem;color:var(--ink-soft);line-height:1.9}
@media(max-width:760px){.rx26 .prob,.rx26 .prep{grid-template-columns:1fr}}

/* ---------- 講師 ---------- */
/* 前後（つまずき3つ・料金）が沈んだ地なので、講師の段は和紙白に戻して交互にする */
.rx26 .inst{background:var(--paper)}
.rx26 .inst .wrap{display:grid;grid-template-columns:minmax(260px,420px) minmax(0,1fr);gap:clamp(32px,6vw,80px);align-items:start}
.rx26 .inst figure{position:sticky;top:calc(var(--head-h) + 24px);margin:0}
.rx26 .inst figure img{width:100%;aspect-ratio:4/3;object-fit:cover}
.rx26 .inst h2{
  font-family:var(--serif);font-weight:600;font-size:clamp(1.5rem,3.2vw,2.3rem);
  line-height:1.65;letter-spacing:.06em;text-wrap:balance;margin:.9em 0 1em;
}
.rx26 .inst p{color:var(--ink-soft);max-width:38em}
.rx26 .inst p + p{margin-top:1.4em}
.rx26 .meta2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:2em;max-width:38em;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.rx26 .meta2 > div{padding:1em 1em 1em 0}
.rx26 .meta2 > div + div{border-left:1px solid var(--line);padding-left:1.2em}
.rx26 .meta2 dt{font-family:var(--mono);font-size:12px;letter-spacing:.16em;color:var(--amber-deep);line-height:1.5}
.rx26 .meta2 dd{font-family:var(--serif);font-weight:600;font-size:1.04rem;letter-spacing:.04em;line-height:1.7;margin-top:.3em;color:var(--ink)}
.rx26 .inst .name{
  margin:1.8em 0 1.6em;padding:1em 0;border-bottom:1px solid var(--line);
  font-family:var(--serif);font-weight:600;font-size:1.05rem;letter-spacing:.08em;line-height:1.7;
}
@media(max-width:860px){
  .rx26 .inst .wrap{grid-template-columns:1fr}
  .rx26 .inst figure{position:static;max-width:520px}
}
@media(max-width:480px){
  .rx26 .meta2{grid-template-columns:1fr}
  .rx26 .meta2 > div{display:flex;align-items:baseline;gap:1.2em;padding:.7em 0}
  .rx26 .meta2 > div + div{border-left:0;border-top:1px dashed var(--line);padding-left:0}
  .rx26 .meta2 dt{min-width:7em}
  .rx26 .meta2 dd{margin-top:0}
}

/* ---------- 料金：処方箋カード ---------- */
.rx26 .rx{
  background:#fff;border:1px solid var(--ink);box-shadow:var(--shadow);
  max-width:760px;margin-top:clamp(28px,4vw,44px);
  padding:clamp(26px,5vw,52px);position:relative;
}
.rx26 .rx::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:url(/kitakyushu/img/logo.png) center 46%/min(52%,280px) no-repeat;opacity:.05;
}
.rx26 .rx > *{position:relative}
.rx26 .rx-head{display:flex;justify-content:space-between;align-items:baseline;gap:1em;flex-wrap:wrap;border-bottom:2px solid var(--ink);padding-bottom:14px}
.rx26 .rx-head strong{font-family:var(--serif);font-size:1.5rem;letter-spacing:.35em;font-weight:600;background:none;line-height:1.4}
.rx26 .rx-head span{font-family:var(--mono);font-size:12px;letter-spacing:.2em;color:var(--ink-soft)}
.rx26 .rx .info-table{margin-top:0;border-top:0}
.rx26 .rx .info-table tr{border-bottom:1px dashed var(--line)}
.rx26 .rx .info-table th{font-family:var(--serif);font-weight:600;font-size:1.06rem;letter-spacing:.04em;padding:1.3em 1em 1.3em 0}
.rx26 .rx .info-table th small{display:block;font-family:var(--sans);font-weight:400;font-size:.86rem;color:var(--ink-soft);letter-spacing:.02em;margin-top:.2em}
.rx26 .rx .info-table td{text-align:right;white-space:nowrap;font-size:.98rem;padding:1.3em 0}
.rx26 .rx .info-table .num{font-family:var(--serif);font-weight:600;font-size:clamp(1.7rem,4vw,2.3rem);line-height:1.2;letter-spacing:.02em;font-variant-numeric:tabular-nums;margin-right:.15em}
.rx26 .rx-issuer{display:flex;justify-content:space-between;align-items:center;gap:1em;margin-top:1.4em;padding-top:1.3em;border-top:1px solid var(--line)}
.rx26 .rx-issuer .who small{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.22em;color:var(--ink-soft);margin-bottom:.3em;line-height:1.5}
.rx26 .rx-issuer .who strong{font-family:var(--serif);font-weight:600;font-size:1rem;letter-spacing:.08em;line-height:1.7;background:none}
.rx26 .hanko{
  width:78px;height:78px;flex-shrink:0;margin:-2px 4px -4px 0;
  border:2.5px solid var(--shu);border-radius:50%;color:var(--shu);
  font-family:var(--serif);font-weight:600;font-size:.95rem;line-height:1.25;letter-spacing:.12em;text-align:center;
  display:flex;align-items:center;justify-content:center;
  transform:rotate(-8deg);opacity:.85;
}
.js .rx26 .rx:not(.stamped) .hanko{opacity:0}
.rx26 .rx.stamped .hanko{animation:rx26stamp .55s cubic-bezier(.2,1.4,.4,1) both}
@keyframes rx26stamp{
  0%{opacity:0;transform:rotate(-16deg) scale(2.4)}
  55%{opacity:.9;transform:rotate(-8deg) scale(.92)}
  75%{transform:rotate(-8deg) scale(1.05)}
  100%{opacity:.85;transform:rotate(-8deg) scale(1)}
}
@media(prefers-reduced-motion:reduce){.js .rx26 .rx:not(.stamped) .hanko{opacity:.85}.rx26 .rx.stamped .hanko{animation:none}}
@media(max-width:560px){
  .rx26 .rx{padding:24px 20px}
  .rx26 .rx-head strong{letter-spacing:.24em}
  .rx26 .rx .info-table th{font-size:.98rem;padding-right:.6em}
  .rx26 .rx .info-table td{white-space:normal;font-size:.92rem}
  .rx26 .rx .info-table .num{font-size:1.55rem}
  .rx26 .rx-issuer .who strong{font-size:.9rem;letter-spacing:.03em}
  .rx26 .hanko{width:68px;height:68px;font-size:.88rem}
}

/* 北九州は添え書き（small）が長いので、項目名の側を折り返し、金額の側は1行に保つ（「円」だけの行を作らない） */
.rx26 .rx .info-table th{white-space:normal;width:auto}
.rx26 .rx .info-table td{white-space:nowrap;padding-left:1em}
@media(max-width:560px){.rx26 .rx .info-table td{white-space:nowrap}.rx26 .rx .info-table .num{font-size:1.4rem}}
/* 「月謝に含まれるもの」は文の行なので、左寄せで折り返す */
.rx26 .rx .rx-wide td{text-align:left;white-space:normal;color:var(--ink-soft);font-size:.95rem;line-height:1.9}
@media(max-width:560px){
  .rx26 .rx .rx-wide th,.rx26 .rx .rx-wide td{display:block;width:auto}
  .rx26 .rx .rx-wide th{padding-bottom:.3em}
  .rx26 .rx .rx-wide td{padding-top:0;padding-left:0}
}
.rx26 .note-line{font-size:.92rem;color:var(--ink-soft);max-width:40em;line-height:1.95;margin-top:1.8em}

/* ---------- 罫線の表（料金カードの土台） ---------- */
.rx26 .info-table{width:100%;max-width:760px;border-collapse:collapse;margin-top:clamp(24px,3vw,36px);border-top:1px solid var(--line)}
.rx26 .info-table tr{border-bottom:1px solid var(--line)}
.rx26 .info-table th{
  word-break:keep-all;overflow-wrap:anywhere;
  text-align:left;vertical-align:top;white-space:nowrap;
  font-family:var(--serif);font-weight:600;font-size:.98rem;letter-spacing:.04em;line-height:1.8;
  padding:1.15em 2em 1.15em .1em;width:1%;
}
.rx26 .info-table td{font-size:.95rem;line-height:1.85;color:var(--ink-soft);padding:1.15em .1em;vertical-align:top}

/* ---------- Q&A（罫線式） ---------- */
.rx26 .faq{margin-top:clamp(24px,3vw,40px);border-top:1px solid var(--line);max-width:860px}
.rx26 .faq details{border-bottom:1px solid var(--line)}
.rx26 .faq summary{
  /* 質問文は JSON-LD と同じ文字列のまま（<wbr> を入れない）。句の境での折り返しはブラウザの文節判定に任せる */
  word-break:keep-all;word-break:auto-phrase;overflow-wrap:anywhere;text-wrap:balance;
  list-style:none;cursor:pointer;display:flex;gap:1.1em;align-items:baseline;
  min-height:44px;padding:1.35em .2em;
  font-family:var(--serif);font-weight:600;font-size:1.04rem;line-height:1.8;letter-spacing:.04em;
}
.rx26 .faq summary::-webkit-details-marker{display:none}
.rx26 .faq summary::before{content:"Q";font-family:var(--mono);font-size:.85rem;color:var(--amber-deep);flex-shrink:0}
.rx26 .faq summary::after{content:"＋";margin-left:auto;flex-shrink:0;font-family:var(--mono);font-size:.95rem;color:var(--ink-soft)}
.rx26 .faq details[open] summary::after{content:"−"}
.rx26 .faq details p{display:flex;gap:1.1em;align-items:baseline;padding:0 .2em 1.7em;font-size:.95rem;color:var(--ink-soft);line-height:1.9}
.rx26 .faq details p::before{content:"A";font-family:var(--mono);font-size:.85rem;color:var(--ink-soft);flex-shrink:0}

/* ---------- 講師からのひとこと（余韻の言葉） ---------- */
.rx26 .quote .wrap{max-width:calc(36em + 2*var(--gx))}
.rx26 .quote .mark{font-family:var(--serif);font-weight:700;font-size:4.2rem;line-height:1;color:var(--amber);height:.55em;overflow:visible}
.rx26 .quote h2{
  font-family:var(--serif);font-weight:600;font-size:clamp(1.45rem,3vw,2.1rem);
  line-height:1.7;letter-spacing:.06em;text-wrap:balance;margin:.6em 0 1.1em;
}
.rx26 .quote p{color:var(--ink-soft)}
.rx26 .quote p + p{margin-top:1.5em}
.rx26 .quote .name{margin-top:2em;padding-top:1.1em;border-top:1px solid var(--line);font-family:var(--mono);font-size:12px;letter-spacing:.2em;color:var(--amber-deep);line-height:1.5}

/* ---------- もっと、知る（4枚の白カード） ---------- */
.rx26 .explore{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2.2vw,24px);margin-top:clamp(28px,4vw,44px)}
.rx26 .ecard{
  display:flex;flex-direction:column;min-height:44px;text-decoration:none;color:var(--ink);
  background:#fff;border:1px solid var(--ink);box-shadow:var(--shadow);
  padding:clamp(20px,2.2vw,26px) clamp(18px,2vw,24px);
  transition:transform .25s ease,box-shadow .25s ease;
}
.rx26 .ecard:hover{transform:translate(-2px,-2px);box-shadow:10px 10px 0 rgba(27,24,18,.12)}
.rx26 .ecard .en{font-family:var(--mono);font-size:12px;letter-spacing:.2em;color:var(--amber-deep);line-height:1.5}
.rx26 .ecard h3{font-family:var(--serif);font-weight:600;font-size:1.14rem;line-height:1.6;letter-spacing:.05em;margin:.7em 0 .5em}
.rx26 .ecard p{font-size:.9rem;color:var(--ink-soft);line-height:1.85;flex:1}
.rx26 .ecard .arrow{margin-top:1.1em;padding-top:.8em;border-top:1px solid var(--line);font-size:.86rem;font-weight:700;letter-spacing:.06em;line-height:1.6}
@media(max-width:1000px){.rx26 .explore{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.rx26 .explore{grid-template-columns:1fr}}

/* ---------- 締め：墨地の申込帯（「まずは、診察から。」の型に北九州の言葉） ---------- */
.rx26 .band{background:var(--ink);color:var(--paper);text-align:center;padding:clamp(80px,11vw,128px) 0}
.rx26 .band .eyebrow{justify-content:center;color:var(--amber)}
.rx26 .band .eyebrow::before{background:var(--amber)}
.rx26 .band h2{
  font-family:var(--serif);font-weight:600;color:var(--paper);
  font-size:clamp(1.62rem,3.6vw,2.6rem);line-height:1.6;letter-spacing:.06em;text-wrap:balance;
  margin:.9em 0 .8em;
}
.rx26 .band p{color:rgba(251,250,245,.74);font-size:.98rem;max-width:34em;margin:0 auto}
.rx26 .band .btn{
  margin-top:2.4em;background:var(--amber);color:var(--ink);border-color:var(--amber);
  padding:1.1em 2.8em;transition:transform .25s,box-shadow .25s;
}
.rx26 .band .btn::after{display:none}
.rx26 .band .btn:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(226,164,0,.35)}
@media(max-width:560px){.rx26 .band .btn{display:flex;padding:1em 12px;font-size:15px;letter-spacing:.04em}}

.rx26 .band .btns{margin-top:2.4em}
.rx26 .band .btns .btn{margin-top:0}
.rx26 .band .note{display:block;margin:1.6em auto 0;max-width:34em;font-size:.88rem;line-height:1.85;color:rgba(251,250,245,.66)}

/* ---------- フッター ---------- */
.rx26 .site-foot{border-top:1px solid var(--line);padding:clamp(48px,7vw,72px) 0 40px;font-size:.88rem;color:var(--ink-soft)}
.rx26 .site-foot .wrap{display:flex;flex-direction:column;align-items:flex-start;gap:.9em}
.rx26 .site-foot .logo{height:48px;width:auto;margin-bottom:.6em}
.rx26 .foot-contact,.rx26 .foot-links a{
  display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;text-decoration:none;color:var(--ink);
  border-bottom:1px solid transparent;transition:color .2s;
}
.rx26 .foot-contact{font-weight:700;border-bottom-color:var(--amber)}
.rx26 .foot-contact:hover,.rx26 .foot-links a:hover{color:var(--amber-text)}
.rx26 .foot-links{display:flex;flex-wrap:wrap;align-items:center;gap:0 1.6em;padding-top:.6em;border-top:1px solid var(--line);width:100%}
.rx26 .foot-rooms{border-top:0;padding-top:0}
.rx26 .foot-rooms span{font-family:var(--mono);font-size:12px;letter-spacing:.16em;color:var(--amber-deep)}

/* ---------- スマホの追従ボタン（最初の画面と最後の申込帯では隠す） ---------- */
.rx26 .cta-sticky{display:none}
@media(max-width:860px){
  .rx26:has(.cta-sticky) .site-foot{padding-bottom:120px}
  .rx26 .cta-sticky{
    display:block;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:60;
    min-height:54px;padding:15px 12px;text-align:center;text-decoration:none;
    background:var(--ink);color:var(--paper)!important;
    font-weight:700;font-size:15px;line-height:1.5;letter-spacing:.04em;
    border:1px solid var(--ink);box-shadow:8px 8px 0 rgba(27,24,18,.14);
    translate:0 160%;visibility:hidden;transition:translate .35s ease,visibility 0s linear .35s;
  }
  .rx26 .cta-sticky small{display:block;font-size:12px;font-weight:400;letter-spacing:.08em;opacity:.8;line-height:1.4;margin-top:2px}
  .rx26 .cta-sticky.show{translate:0 0;visibility:visible;transition:translate .35s ease,visibility 0s}
}

