/* ============================================================
   仙台利府トップ — 案A「処方箋2026 を全校へ」（2026-10-24・札幌の見本で殿承認「この方向でよい」）
   ・札幌月寒の top-a.css を写して、利府トップの部品（動画・教室の写真・3列の料金表・dl のアクセス・クチコミ）に合わせたもの。
   ・このファイルは /sendai_rifu/ のトップ（index.html）だけが読む。
     下層ページは従来どおり site.css を読み、ここの規則は届かない（全規則を .rx26 の下に閉じている）。
   ・和紙白 #FBFAF5／墨 #1B1812／山吹 #E2A400／朱 #C0392B は判子だけ。
     白カード＋墨1px枠＋8pxズレ影、黒ボタン角0、明朝見出し、mono の eyebrow。
   ・縦書きは藤沢だけの象徴として使わない（キャッチは横書きの明朝）。弦の横線は出さない（文字に被るため）。
   ・組版の掟：両端揃えと「pretty」の折り返し指定は使わない。balance は短い見出しとボタンだけ。
     本文の行間（1.9）と段落の間（1.5em）に差をつける。12px 未満の文字と 44px 未満の指の的を作らない。
     太い縦罫の「サイドタブ」は使わない。動かすのは opacity と transform だけ。
   ============================================================ */

.rx26{
  --paper:#FBFAF5;
  --paper-deep:#F4F1E7;
  --ink:#1B1812;
  --ink-soft:#57503F;
  --line:#D9D3C2;
  --amber:#E2A400;
  --amber-deep:#8A6200;
  --amber-text:#8A6200;
  --shu:#C0392B;
  --mute:#57503F;
  --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}  /* ブラウザ既定の8pxを消す（ヘッダーの下線・ロゴの端を下層ページとそろえる・2026-10-27） */
body.rx26{
  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,:is(h2.was-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{
  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{color:var(--amber-text)}
.rx26 p > .textlink: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（地名）：静かに。明朝の小見出しとして置き、キャッチを主役にする */
.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 .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:30em;margin-top:2em}
.rx26 .cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:2.2em}
/* 利府の講師写真は横長（900×731）。ギターのヘッドまで写すため、切り抜かずに原寸の比率のまま額装する */
.rx26 .hero-photo img{width:100%;height:auto}
.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:480px}
  .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}
}

/* ---------- 01/02/03・当日の流れ：白カード ---------- */
.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(2,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:760px){.rx26 .feat,.rx26 #trial-flow .feat{grid-template-columns:1fr}}

/* ---------- 講師 ---------- */
.rx26 .inst{border-top:1px solid var(--line)}
.rx26 .inst .wrap{display:grid;grid-template-columns:minmax(240px,360px) minmax(0,1fr);gap:clamp(32px,6vw,80px);align-items:start}
.rx26 .inst figure{position:sticky;top:calc(var(--head-h) + 24px)}
.rx26 .inst h2:not(:where(.was-h1)){
  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 .inst .name{
  margin:2em 0 1.6em;padding:1em 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  font-family:var(--serif);font-weight:600;font-size:1.05rem;letter-spacing:.08em;line-height:1.7;
}
.rx26 .inst .inst-movie{font-size:.92rem!important;margin-top:1.6em!important}
@media(max-width:860px){
  .rx26 .inst .wrap{grid-template-columns:1fr}
  .rx26 .inst figure{position:static;max-width:360px}
}

/* ---------- 料金：処方箋カード ---------- */
.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(/sendai_rifu/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}
}

/* ---------- 罫線の表（アクセス） ---------- */
.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}
.rx26 .route-title{font-family:var(--serif);font-weight:600;font-size:clamp(1.15rem,2.2vw,1.4rem);line-height:1.7;letter-spacing:.05em;margin:clamp(44px,6vw,64px) 0 0;text-wrap:balance}
.rx26 .route-title::before{content:"";display:block;width:2.6em;height:2px;background:var(--amber);margin-bottom:.9em}
.rx26 .route-table th{white-space:normal;width:34%}
@media(max-width:620px){
  .rx26 .info-table:not(.rx-table),.rx26 .info-table:not(.rx-table) tbody,.rx26 .info-table:not(.rx-table) tr,.rx26 .info-table:not(.rx-table) th,.rx26 .info-table:not(.rx-table) td{display:block;width:auto}
  .rx26 .info-table:not(.rx-table) th{white-space:normal;padding:1em .1em .15em}
  .rx26 .info-table:not(.rx-table) td{padding:0 .1em 1em}
}

/* ---------- 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{
  word-break:keep-all;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 .closing{text-align:center;padding-bottom:clamp(64px,9vw,104px)}
.rx26 .closing p{
  font-family:var(--serif);font-weight:600;color:var(--ink);
  font-size:clamp(1.08rem,2.1vw,1.32rem);line-height:2;letter-spacing:.05em;
  max-width:30em;margin:0 auto;
}
.rx26 .closing p + p{margin-top:1.6em;color:var(--ink-soft);font-size:clamp(1rem,1.8vw,1.12rem)}
.rx26 .closing::before{content:"";display:block;width:1px;height:56px;background:var(--amber);margin:0 auto 2.4em}
.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:not(:where(.was-h1)){
  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 .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.show{translate:0 0;visibility:visible;transition:translate .35s ease,visibility 0s}
}


/* ============================================================
   ここから利府トップ固有の部品（札幌に無いもの）
   ============================================================ */
.rx26 .narrow{max-width:calc(780px + 2*var(--gx))}
.rx26 .wrap.narrow{max-width:calc(780px + 2*var(--gx))}
.rx26 .lead-en.c{justify-content:center}
.rx26 .h2.c{text-align:center}
.rx26 strong{color:var(--ink);font-weight:700;background:linear-gradient(transparent 68%,rgba(226,164,0,.32) 68%)}
.rx26 .t-info .lead-en{margin-bottom:0}

/* 本文（段落の間 1.5em と行間 1.9 に差をつける） */
.rx26 .ptext{color:var(--ink-soft);font-size:1rem;line-height:1.9;max-width:38em}
.rx26 .ptext + .ptext,.rx26 .t-more + .ptext{margin-top:1.5em}
.rx26 .h2 + .ptext,.rx26 .t-sub + .ptext{margin-top:0}
.rx26 .repvideo + .ptext,.rx26 .t-dl + .ptext{margin-top:2em}

/* ② 導入：最初の一文だけ明朝で大きく（左罫は使わない） */
.rx26 .t-open .lede{
  font-family:var(--serif);font-weight:600;color:var(--ink);
  font-size:clamp(1.2rem,2.4vw,1.5rem);line-height:1.9;letter-spacing:.04em;margin-bottom:2em;
}
.rx26 .t-center-note{color:var(--ink-soft);max-width:38em;margin:0 auto;font-size:.98rem}

/* 動画（クリックで再生）：額装＋墨の再生ボタン */
.rx26 .repvideo{
  position:relative;display:block;margin:clamp(28px,4vw,40px) 0 clamp(28px,4vw,40px);
  aspect-ratio:16/9;background:var(--ink);overflow:hidden;
  border:1px solid var(--ink);box-shadow:var(--shadow);
}
.rx26 .repvideo img{width:100%;height:100%;object-fit:cover;opacity:.92;transition:opacity .25s}
.rx26 .repvideo .play{
  position:absolute;left:50%;top:50%;translate:-50% -50%;width:76px;height:76px;
  background:var(--ink);display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(251,250,245,.5);transition:background .25s;
}
.rx26 .repvideo .play::before{content:"";margin-left:6px;border-style:solid;border-width:13px 0 13px 21px;border-color:transparent transparent transparent var(--paper)}
@media(hover:hover){.rx26 a.repvideo:hover img{opacity:1}.rx26 a.repvideo:hover .play{background:var(--amber-deep)}}
.rx26 .repvideo iframe{width:100%;height:100%;border:0;display:block}

/* 教室の部屋：額装の4枚 */
.rx26 .t-sub{color:var(--ink-soft);font-size:.98rem;text-align:center;max-width:38em;margin:0 auto}
.rx26 .t-gal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,2vw,24px);margin-top:clamp(36px,5vw,56px);align-items:start}
.rx26 .t-gal figure{background:#fff;border:1px solid var(--line);padding:8px 8px 0;box-shadow:6px 6px 0 rgba(27,24,18,.07)}
.rx26 .t-gal figure:nth-child(even){margin-top:28px}
.rx26 .t-gal img{width:100%;aspect-ratio:4/3;object-fit:cover}
.rx26 .t-gal figcaption{font-size:.86rem;line-height:1.85;color:var(--ink-soft);padding:12px 6px 16px}
@media(max-width:900px){.rx26 .t-gal{grid-template-columns:repeat(2,minmax(0,1fr))}.rx26 .t-gal figure:nth-child(even){margin-top:18px}}
@media(max-width:480px){.rx26 .t-gal figcaption{font-size:13px;padding:10px 2px 12px}}
.rx26 .t-room-text{max-width:38em;margin:clamp(40px,5vw,56px) auto 0}

/* 本文の後の「→」リンク（山吹の下線・指の的は 44px） */
.rx26 .t-more{margin-top:1.1em;font-size:.95rem;line-height:1.7}
.rx26 .t-more a{
  display:inline-flex;align-items:flex-end;min-height:44px;padding:.5em 0 .3em;
  color:var(--ink);font-weight:700;text-decoration:none;
  border-bottom:2px solid var(--amber);transition:color .2s;
}
.rx26 .t-more a:hover{color:var(--amber-text)}
.rx26 .t-more + .t-more{margin-top:.6em}
.rx26 .t-small{font-size:.9rem;color:var(--ink-soft);margin-top:1.8em;max-width:40em;line-height:1.9}
.rx26 .t-small a,.rx26 .t-dl a{
  color:var(--ink);font-weight:700;text-decoration:none;border-bottom:2px solid var(--amber);
  display:inline-block;padding:1.32em 0 .12em;margin:-1.32em 0 0;line-height:1.7;transition:color .2s;
}
.rx26 .t-small a:hover,.rx26 .t-dl a:hover{color:var(--amber-text)}

/* 講師の写真（額装） */
.rx26 .inst figure img{width:100%;height:auto}

/* ごあいさつ：代表の言葉は白カード（左の太罫は使わない） */
.rx26 .t-founder{background:#fff;border:1px solid var(--ink);box-shadow:var(--shadow);padding:clamp(24px,4vw,36px);margin-top:clamp(36px,5vw,52px)}
.rx26 .t-founder .kicker{font-family:var(--sans);font-weight:700;font-size:.82rem;letter-spacing:.12em;color:var(--amber-deep);margin-bottom:1em;line-height:1.6}
.rx26 .t-founder p{font-family:var(--serif);font-weight:600;color:var(--ink);font-size:1.02rem;line-height:2;letter-spacing:.03em}
/* 次の段への手渡し（問い）：明朝。印は上の短い山吹の罫だけ */
.rx26 .t-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;
  margin-top:clamp(44px,6vw,64px)!important;
}
.rx26 .t-handoff::before{content:"";display:block;width:2.6em;height:2px;background:var(--amber);margin-bottom:1em}

/* 料金：処方箋カードの中の3列の表（PC は表・スマホはカード積み） */
.rx26 .rx .t-table{width:100%;border-collapse:collapse;margin-top:0}
.rx26 .rx .t-table thead th{
  font-family:var(--sans);font-weight:500;font-size:12px;letter-spacing:.12em;color:var(--ink-soft);
  text-align:left;padding:1.1em 1em .7em 0;border-bottom:1px solid var(--line);line-height:1.5;
}
.rx26 .rx .t-table thead th:last-child{text-align:right;padding-right:0}
.rx26 .rx .t-table tbody tr{border-bottom:1px dashed var(--line)}
.rx26 .rx .t-table tbody th{
  font-family:var(--serif);font-weight:600;font-size:1.06rem;letter-spacing:.04em;line-height:1.6;
  text-align:left;vertical-align:baseline;white-space:nowrap;padding:1.3em 1em 1.3em 0;
}
.rx26 .rx .t-table td{font-size:.92rem;color:var(--ink-soft);line-height:1.7;padding:1.3em 1em 1.3em 0;vertical-align:baseline}
.rx26 .rx .t-table td.yen{
  text-align:right;white-space:nowrap;padding-right:0;color:var(--ink);
  font-family:var(--serif);font-weight:600;font-size:clamp(1.4rem,3vw,1.9rem);line-height:1.2;letter-spacing:.02em;font-variant-numeric:tabular-nums;
}
@media(max-width:560px){
  .rx26 .rx .t-table,.rx26 .rx .t-table tbody{display:block}
  .rx26 .rx .t-table thead{display:none}
  .rx26 .rx .t-table tbody tr{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:baseline;padding:1.1em 0}
  .rx26 .rx .t-table tbody th,.rx26 .rx .t-table td{display:block;padding:0;white-space:normal}
  .rx26 .rx .t-table tbody th{grid-column:1;grid-row:1;font-size:1rem}
  .rx26 .rx .t-table tbody th br{display:none}
  .rx26 .rx .t-table td.yen{grid-column:2;grid-row:1;font-size:1.4rem;white-space:nowrap}
  .rx26 .rx .t-table td:nth-child(2){grid-column:1/-1;grid-row:2;font-size:.88rem}
}
.rx26 .t-notes{list-style:none;margin-top:clamp(24px,3vw,32px);max-width:40em}
.rx26 .t-notes li{font-size:.92rem;color:var(--ink-soft);line-height:1.9;padding-left:1.4em;position:relative}
.rx26 .t-notes li + li{margin-top:.5em}
.rx26 .t-notes li::before{content:"—";position:absolute;left:0;color:var(--amber-deep)}

/* アクセス：罫線の dl */
.rx26 .t-info .h2 + .t-sub{text-align:left;margin:0;max-width:40em}
.rx26 .t-dl{display:grid;grid-template-columns:8em minmax(0,1fr);border-top:1px solid var(--line);margin-top:clamp(24px,3vw,36px);max-width:760px}
.rx26 .t-dl dt,.rx26 .t-dl dd{padding:1.15em .1em;border-bottom:1px solid var(--line);line-height:1.85}
.rx26 .t-dl dt{font-family:var(--serif);font-weight:600;font-size:.98rem;letter-spacing:.04em;word-break:keep-all;overflow-wrap:anywhere}
.rx26 .t-dl dd{font-size:.95rem;color:var(--ink-soft)}
.rx26 .t-dl address{font-style:normal}
@media(max-width:560px){
  .rx26 .t-dl{grid-template-columns:1fr}
  .rx26 .t-dl dt{border-bottom:0;padding:1em .1em .15em}
  .rx26 .t-dl dd{padding:0 .1em 1em}
}

/* 生徒さまの声：白カード */
.rx26 .koe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.4vw,28px);margin-top:clamp(28px,4vw,40px);align-items:start}
@media(max-width:760px){.rx26 .koe-grid{grid-template-columns:1fr}}
.rx26 .wcard{background:#fff;border:1px solid var(--ink);box-shadow:var(--shadow);padding:clamp(24px,3vw,32px) clamp(20px,2.6vw,28px)}
.rx26 .wcard .stars{display:block;color:var(--amber-deep);font-size:15px;letter-spacing:.14em;line-height:1;margin-bottom:1.1em}
.rx26 .wcard blockquote p{font-size:.95rem;color:var(--ink);line-height:1.95}
.rx26 .wcard figcaption{margin-top:1.2em;padding-top:1em;border-top:1px dashed var(--line);font-size:.88rem;color:var(--ink-soft);line-height:1.6}

/* Q&A：質問は語の途中で折らない（JSON-LD と同じ文字列のまま保つため <wbr> を入れず、文節で折る） */
.rx26 .faq{max-width:100%}
.rx26 .faq summary{word-break:auto-phrase}

/* 所在地の帯（NAP） */
.rx26 .school-nap{padding:clamp(40px,6vw,56px) 0;border-top:1px solid var(--line);text-align:center;font-size:.92rem;line-height:1.9;color:var(--ink-soft)}
.rx26 .school-nap .nap-name{font-family:var(--serif);font-weight:600;font-size:1.05rem;color:var(--ink);letter-spacing:.05em}
.rx26 .school-nap address{font-style:normal}
.rx26 .school-nap a{
  display:inline-flex;align-items:center;min-height:44px;
  color:var(--ink);font-weight:700;text-decoration:none;border-bottom:2px solid var(--amber);
}
.rx26 .school-nap p a{min-height:0;display:inline-block;padding:1.32em 0 .12em;margin:-1.32em 0 0;line-height:1.7}
.rx26 .school-nap a:hover{color:var(--amber-text)}

/* 短い読み物（導入の一文・手渡しの問い）は文節で折る（語の途中で切らない。文字は変えない） */
.rx26 .t-open .lede,.rx26 .t-handoff{word-break:auto-phrase;overflow-wrap:anywhere}
