/* ================================================================
   料金表（[hakuryu_fee]）
   2026.9.1 の /fee 改定案と同じデザイン。すべて .hf-fee でスコープ
   （テーマの .post_content の指定に負けないように）。子セレクタ ">" は不使用。
   ================================================================ */
.hf-fee{
  --blue:#0e95d5;
  --blue-d:#0a76ab;
  --card:#0a76ab;
  --card-d:#085f8a;
  --bank:#9a5a17;
  --bank-d:#7c4812;
  --shop:#2e7d4f;
  --brown:#58330d;
  --ink:#2a2724;
  --sub:#6f6862;
  --mute:#a49b91;
  --line:#e2dcd4;
  --head:#f4f1ec;
  --num:"Helvetica Neue",Arial,"Hiragino Sans","Noto Sans JP","Yu Gothic",sans-serif;
  text-align:left;margin:0 0 8px;
}
/* グループ見出し（神技療法® など） */
.hf-fee .hf-g{margin:0 0 30px}
.hf-fee h3.hf-gh{
  margin:0 0 10px;padding:2px 0 2px 11px;border:none;border-left:4px solid var(--blue);border-radius:0;
  background:none;box-shadow:none;
  font-size:17px;font-weight:700;line-height:1.5;letter-spacing:.04em;color:var(--ink);text-align:left;
}
.hf-fee h3.hf-gh:before,
.hf-fee h3.hf-gh:after{content:none;display:none}

.hf-fee table.hf-t{
  width:100%;table-layout:fixed;border-collapse:collapse;border-spacing:0;
  margin:0;font-size:14.5px;line-height:1.7;color:var(--ink);
}
.hf-fee table.hf-t.is-cont{margin-top:12px}
.hf-fee table.hf-t col.hf-col-m{width:34%}
.hf-fee table.hf-t col.hf-col-c{width:44%}
.hf-fee table.hf-t col.hf-col-p{width:22%}
.hf-fee table.hf-t th,
.hf-fee table.hf-t td{
  border:1px solid var(--line);padding:10px 13px;
  vertical-align:top;text-align:left;background:#fff;font-weight:400;
}
.hf-fee table.hf-t thead th{
  background:var(--head);color:var(--sub);
  font-size:12px;letter-spacing:.08em;text-align:center;
  padding:8px 10px;white-space:nowrap;
}
.hf-fee table.hf-t th.hf-m{font-weight:600;line-height:1.6}
.hf-fee table.hf-t th.hf-m.is-cont{font-weight:400;color:var(--mute)}
.hf-fee .hf-ms{display:block;margin:2px 0 0;font-size:12.5px;font-weight:400;line-height:1.55;color:var(--sub)}
.hf-fee .hf-time{display:block}
.hf-fee .hf-note{
  display:block;margin:3px 0 0;
  font-size:12.5px;line-height:1.7;color:var(--sub);
}
.hf-fee .hf-time + .hf-note{margin-top:5px}
.hf-fee .hf-note.is-list{padding-left:1em}
.hf-fee .hf-dot{display:inline-block;width:1em;margin-left:-1em}

.hf-fee table.hf-t td.hf-p{text-align:right}
.hf-fee .hf-yen{
  display:block;
  font-family:var(--num);
  font-size:18px;font-weight:700;letter-spacing:.01em;line-height:1.35;
  color:var(--ink);white-space:nowrap;
}
.hf-fee .hf-yen.is-text{font-family:inherit;font-size:13.5px;font-weight:600;line-height:1.6;white-space:normal}
.hf-fee a.hf-pay{
  display:inline-block;margin:8px 0 0;padding:7px 13px;
  border-radius:5px;background:var(--card);border:1.5px solid var(--card);
  color:#fff;font-size:12.5px;line-height:1.3;text-decoration:none;
  white-space:nowrap;transition:background-color .12s;
}
.hf-fee a.hf-pay:hover,
.hf-fee a.hf-pay:focus{background:var(--card-d);border-color:var(--card-d);color:#fff;text-decoration:none}
.hf-fee a.hf-pay.is-bank{background:var(--bank);border-color:var(--bank)}
.hf-fee a.hf-pay.is-bank:hover,
.hf-fee a.hf-pay.is-bank:focus{background:var(--bank-d);border-color:var(--bank-d)}
.hf-fee a.hf-pay.is-shop{background:#fff;border-color:var(--shop);color:var(--shop)}
.hf-fee a.hf-pay.is-shop:hover,
.hf-fee a.hf-pay.is-shop:focus{background:var(--shop);border-color:var(--shop);color:#fff}
.hf-fee p.hf-foot{margin:-12px 0 0;font-size:12.5px;line-height:1.8;color:var(--sub)}
.hf-fee p.hf-foot span{display:block;padding-left:1.1em;text-indent:-1.1em}
.hf-fee p.hf-foot span:before{content:"※ "}

/* ---- スマホ・タブレット縦：1行＝1カード（メニュー名 → 時間・内容 → 料金・ボタン の順に縦積み） ---- */
@media screen and (max-width:767px){
  .hf-fee .hf-g{margin-bottom:24px}
  .hf-fee h3.hf-gh{font-size:16px}
  .hf-fee table.hf-t{border:none;font-size:14px;table-layout:auto}
  .hf-fee table.hf-t.is-cont{margin-top:16px}
  .hf-fee table.hf-t colgroup,
  .hf-fee table.hf-t thead{display:none}
  .hf-fee table.hf-t,
  .hf-fee table.hf-t tbody{display:block;width:auto}
  .hf-fee table.hf-t tr{
    display:grid;grid-template-columns:minmax(0,1fr);
    align-items:start;
    border:1px solid var(--line);border-radius:9px;overflow:hidden;
    margin:0 0 9px;background:#fff;
  }
  .hf-fee table.hf-t th,
  .hf-fee table.hf-t td{border:none;background:transparent}
  .hf-fee table.hf-t th.hf-m,
  .hf-fee table.hf-t th.hf-m.is-cont{
    grid-column:1 / -1;
    padding:10px 13px;background:var(--head);
    font-size:14.5px;font-weight:600;line-height:1.55;color:var(--ink);
  }
  .hf-fee table.hf-t td.hf-c{
    grid-row:2;min-width:0;
    padding:10px 13px 0;
  }
  .hf-fee table.hf-t td.hf-p{
    grid-row:3;min-width:0;
    display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:0 12px;
    padding:6px 13px 12px;text-align:right;
  }
  .hf-fee .hf-yen{white-space:nowrap;font-size:18px}
  .hf-fee .hf-yen.is-text{font-size:13.5px;white-space:normal;flex:1 1 0;min-width:0}
  .hf-fee table.hf-t td.hf-p:before{
    content:attr(data-l);
    flex:0 0 auto;
    font-size:11px;letter-spacing:.06em;color:var(--mute);line-height:1.5;
  }
  .hf-fee table.hf-t td.hf-c:before{content:none}
  /* 同じ講座が続く行は、カードを繋げて見出しの重複をなくす */
  .hf-fee table.hf-t tr.is-gtop,
  .hf-fee table.hf-t tr.is-gmid{
    margin-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0;
  }
  .hf-fee table.hf-t tr.is-gmid,
  .hf-fee table.hf-t tr.is-gend{
    border-top:none;border-top-left-radius:0;border-top-right-radius:0;
  }
  .hf-fee table.hf-t tr.is-gmid th.hf-m,
  .hf-fee table.hf-t tr.is-gend th.hf-m{
    position:absolute;width:1px;height:1px;
    padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;
  }
  .hf-fee table.hf-t tr.is-gmid td.hf-c,
  .hf-fee table.hf-t tr.is-gend td.hf-c{
    border-top:1px solid #efeae3;
  }
  .hf-fee a.hf-pay{
    display:block;width:100%;margin:9px 0 0;
    padding:10px 4px;font-size:12.5px;text-align:center;
  }
  .hf-fee p.hf-foot{margin-top:-10px}
}

/* ---- 幅の狭い端末（iPhone SE など）---- */
@media screen and (max-width:359px){
  .hf-fee table.hf-t th.hf-m,
  .hf-fee table.hf-t th.hf-m.is-cont{font-size:14px;padding:9px 11px}
  .hf-fee table.hf-t td.hf-c{padding:9px 11px 0}
  .hf-fee table.hf-t td.hf-p{padding:6px 11px 11px}
  .hf-fee .hf-yen{font-size:16.5px}
  .hf-fee a.hf-pay{font-size:11.5px;padding:10px 2px;letter-spacing:-.01em}
}

/* ---- 1.3.0：料金表ページ（section="all"）---- */
.hf-fee .hf-sec{margin:0 0 56px;scroll-margin-top:90px}
.hf-fee .hf-anchor,.hf-anchor{display:block;height:0;scroll-margin-top:90px}
.hf-fee h2.hf-sh{
  margin:0 0 22px;padding:0 0 12px;border:none;border-bottom:1px solid var(--line);border-radius:0;
  background:none;box-shadow:none;text-align:center;
  font-size:24px;font-weight:700;line-height:1.5;letter-spacing:.06em;color:var(--brown);
}
.hf-fee h2.hf-sh:before,.hf-fee h2.hf-sh:after{content:none;display:none}
.hf-fee p.hf-lead{margin:0 0 18px;font-size:14px;line-height:1.9;color:var(--sub);text-align:center}
.hf-fee p.hf-top{margin:14px 0 0;text-align:right;font-size:12.5px;line-height:1.5}
.hf-fee p.hf-top a{color:var(--sub);text-decoration:underline;text-underline-offset:2px}
.hf-fee nav.hf-toc{margin:0 0 26px}
.hf-fee nav.hf-toc ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}
.hf-fee nav.hf-toc li{margin:0;padding:0;list-style:none;background:none;border:none}
.hf-fee nav.hf-toc li:before{content:none;display:none}
.hf-fee nav.hf-toc a{
  display:block;padding:11px 14px 11px 30px;position:relative;
  border:1px solid var(--line);border-radius:7px;background:#fff;
  font-size:14.5px;line-height:1.5;color:var(--brown);text-decoration:none;font-weight:600;
}
.hf-fee nav.hf-toc a:before{
  content:"";position:absolute;left:13px;top:50%;width:6px;height:6px;margin-top:-4px;
  border-right:2px solid var(--brown);border-bottom:2px solid var(--brown);transform:rotate(45deg);
}
.hf-fee nav.hf-toc a:hover,.hf-fee nav.hf-toc a:focus{border-color:var(--brown);background:#fbf8f4}
.hf-fee ul.hf-legend{margin:0 0 40px;padding:14px 16px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:8px}
.hf-fee ul.hf-legend li{margin:0 0 6px;padding:0;list-style:none;background:none;border:none;font-size:13px;line-height:1.8;color:var(--sub)}
.hf-fee ul.hf-legend li:last-child{margin-bottom:0}
.hf-fee ul.hf-legend li:before{content:none;display:none}
.hf-fee ul.hf-legend a{color:var(--card);text-decoration:underline}
.hf-fee .hf-lg{
  display:inline-block;min-width:8.5em;margin:0 8px 0 0;padding:2px 8px;border-radius:4px;
  border:1.5px solid var(--card);background:var(--card);color:#fff;
  font-size:11.5px;line-height:1.6;text-align:center;vertical-align:1px;
}
.hf-fee .hf-lg.is-bank{background:var(--bank);border-color:var(--bank)}
.hf-fee .hf-lg.is-shop{background:#fff;border-color:var(--shop);color:var(--shop)}
@media screen and (max-width:767px){
  .hf-fee .hf-sec{margin-bottom:44px}
  .hf-fee h2.hf-sh{font-size:19px;margin-bottom:18px}
  .hf-fee nav.hf-toc ul{grid-template-columns:minmax(0,1fr)}
  .hf-fee nav.hf-toc a{font-size:14px;padding:10px 12px 10px 28px}
  .hf-fee ul.hf-legend{padding:12px 13px;margin-bottom:32px}
  .hf-fee .hf-lg{display:block;width:max-content;margin:0 0 2px}
}
