/* ==========================================================
 * 【料金表】/price専用のシンプルデザイン（既存HTMLを維持）
 * ========================================================== */
:is(.price-page,.classy-price-page){background:#fffdf9;color:#443d37}

:is(.price-page .content, .classy-price-page__container) *{box-sizing:border-box}
:is(.price-page .content, .classy-price-page__container) a{color:#8d6b42;text-underline-offset:3px}



:is(.price-page .content, .classy-price-page__container) .p-price__title{margin:56px 0 18px;padding:0 0 15px;border-bottom:1px solid #d7c4ab;background:none;scroll-margin-top:110px}
:is(.price-page .content, .classy-price-page__container) .p-price__title .classy-price-category-en{display:block;margin:0 0 6px;font:600 11px/1.5 sans-serif;letter-spacing:.22em;color:#aa8960}
:is(.price-page .content, .classy-price-page__container) .p-price__title .classy-price-category-ja{display:block;font-family:"Noto Serif JP",serif;font-size:clamp(21px,2.4vw,29px);font-weight:500;line-height:1.5;color:#443d37}
:is(.price-page .content, .classy-price-page__container) .p-priceTable{width:100%;max-width:100%;border-collapse:collapse;table-layout:fixed;margin:0 0 30px;background:#fff;font-size:var(--site-text-size,18px);line-height:1.65}
:is(.price-page .content, .classy-price-page__container) .p-priceTable th,:is(.price-page .content, .classy-price-page__container) .p-priceTable td{border:1px solid #e8dfd5;padding:16px 12px;vertical-align:middle;text-align:center;overflow-wrap:break-word}
:is(.price-page .content, .classy-price-page__container) .p-priceTable thead th{background:#f3ede4;color:#53483d;font-weight:600;text-align:center}
:is(.price-page .content, .classy-price-page__container) .p-priceTable tbody th{background:#faf7f2;text-align:center;font-weight:600}
:is(.price-page .content, .classy-price-page__container) .p-priceTable .price_name{width:31%}
:is(.price-page .content, .classy-price-page__container) .p-priceTable .price_detail{width:45%}
:is(.price-page .content, .classy-price-page__container) .p-priceTable .price_price{width:24%}
:is(.price-page .content, .classy-price-page__container) .p-priceTable .p-priceTable__price{font-weight:600;text-align:center;white-space:normal;font-variant-numeric:tabular-nums}
:is(.price-page .content, .classy-price-page__container) .p-priceTable .price-del{font-weight:400;color:#8d8175}
:is(.price-page .content, .classy-price-page__container) #pay,:is(.price-page .content, .classy-price-page__container) #young{scroll-margin-top:110px;margin-top:55px}
:is(.price-page .content, .classy-price-page__container) #pay>.c-title3,:is(.price-page .content, .classy-price-page__container) #young>.c-title3{background:none;border:0;border-bottom:1px solid #d7c4ab;color:#443d37;padding:0 0 14px;margin:0 0 22px;font-family:"Noto Serif JP",serif;font-size:clamp(21px,2.4vw,29px);font-weight:500}

@media(max-width:767px){




:is(.price-page .content, .classy-price-page__container) .p-price__title{margin-top:38px}
:is(.price-page .content, .classy-price-page__container) .p-priceTable{font-size:14px;line-height:1.5}
:is(.price-page .content, .classy-price-page__container) .p-priceTable th,:is(.price-page .content, .classy-price-page__container) .p-priceTable td{padding:10px 5px}
:is(.price-page .content, .classy-price-page__container) .p-priceTable .price_name{width:31%}
:is(.price-page .content, .classy-price-page__container) .p-priceTable .price_detail{width:41%}
:is(.price-page .content, .classy-price-page__container) .p-priceTable .price_price{width:28%}
:is(.price-page .content, .classy-price-page__container) .p-priceTable .p-priceTable__price{font-size:14px}
}

/* /price: 画像ヒーロー直下のテキスト見出しだけ新デザインへ統一 */
main:is(.price-page, .classy-price-page) :is(.price-page .content, .classy-price-page__container) h2.c-title {
  background: none;
  background-image: none;
  color: #443d37;
  border: 0;
  border-bottom: 1px solid #d7c4ab;
  padding: 0 0 13px;
  margin: 0 0 24px;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(22px, 2.5vw, 30px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .06em;
  box-shadow: none;
}
main:is(.price-page, .classy-price-page) :is(.price-page .content, .classy-price-page__container) h2.c-title::before,
main:is(.price-page, .classy-price-page) :is(.price-page .content, .classy-price-page__container) h2.c-title::after {
  content: none;
  display: none;
}

/* /price: 2つ目の「料金表」（実HTML: .classy-price-embed > h2.c-title3） */
.classy-price-embed > h2.c-title3 {
  background: none;
  background-image: none;
  border: 0;
  border-bottom: 1px solid #d7c4ab;
  color: #443d37;
  padding: 0 0 13px;
  margin: 0 0 24px;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(22px, 2.5vw, 30px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .06em;
  box-shadow: none;
}
.classy-price-embed > h2.c-title3::before,
.classy-price-embed > h2.c-title3::after {
  content: none;
  display: none;
}

/* ==========================================================
 * 【料金表】ラベルの運用・追加方法
 * ① 新しいラベルを作る場合、下の「ラベル追加用テンプレート」をコピー。
 * ② .new_label を任意のclass名に変更し、背景色・文字色を設定。
 * ③ HTML側のdivにも同じclass名を指定する。
 * 共通のサイズ・余白・角丸・SP表示はここで一括管理するため、
 * 新しいclass名を共通セレクターに追記する必要はありません。
 * ※ラベルは料金表セル直下の <div class="..."> 内に
 *   <a>リンク</a> を入れる、既存のHTML構造を前提とします。
 * ========================================================== */

/* 【料金表】全ラベル共通：位置・サイズ・余白・クリック領域 */
:is(.price-page .content, .classy-price-page__container) .p-priceTable td > div[class]:has(> a){
  display:inline-block;
  max-width:100%;
  line-height:1.5;
  vertical-align:middle;
}
:is(.price-page .content, .classy-price-page__container) .p-priceTable td > div[class] > a{
  display:inline-block;
  box-sizing:border-box;
  max-width:100%;
  padding:5px 15px;
  border-radius:999px;
  font-size:13px;
  font-weight:600;
  line-height:1.5;
  text-align:center;
  text-decoration:none;
  white-space:normal;
  overflow-wrap:break-word;
}
:is(.price-page .content, .classy-price-page__container) .p-priceTable td > div[class] > a:hover{
  filter:brightness(.93);
  text-decoration:none;
}

/* ==========================================================
 * 【料金表】ラベル別の色・固有設定
 * ========================================================== */

/* 【料金表】緑：特別モニター（.s_mo） */
:is(.price-page .content, .classy-price-page__container) .p-priceTable .s_mo > a{
  background-color:#00896b;
  color:#fff;
}

/* 【料金表】赤：特別割引（.cp） */
:is(.price-page .content, .classy-price-page__container) .p-priceTable .cp > a{
  background-color:#cc0000;
  color:#fff;
}

/* 【料金表】ゴールド：コース料金（.course）
 * このラベルのみ本文の下に独立した行として配置する。
 */
:is(.price-page .content, .classy-price-page__container) .p-priceTable td > .course{
  display:block;
  margin-top:7px;
}
:is(.price-page .content, .classy-price-page__container) .p-priceTable .course > a{
  background-color:#dfbc5a;
  color:#352a19;
}

/* ==========================================================
 * 【料金表】新しいラベル追加用テンプレート
 * ▼ここからコピー（コメントの開始・終了を含む）
 *
 * 【料金表】新ラベル（.new_label）ここから
 * :is(.price-page .content, .classy-price-page__container) .p-priceTable .new_label > a{
 *   background-color:#00896b;  ← 好きな背景色に変更
 *   color:#fff;               ← 読みやすい文字色に変更
 * }
 * 【料金表】新ラベル（.new_label）ここまで
 *
 * ▲ここまでコピー。実際に使う際は各行先頭の「 * 」を除き、
 * .new_label を新しいclass名に変更してください。
 * 共通CSSへのclass追記は不要です。
 * ========================================================== */

/* 【料金表】金額と旧料金 */
:is(.price-page .content, .classy-price-page__container) .p-priceTable .p-priceTable__price{
  line-height:1.65;
  font-size:1em;
}
:is(.price-page .content, .classy-price-page__container) .p-priceTable .p-priceTable__price .price-del{
  font-size:.85em;
}
@media(max-width:767px){
  /* 【料金表】SPの全ラベル共通設定 */
  :is(.price-page .content, .classy-price-page__container) .p-priceTable td > div[class] > a{
    font-size:11px;
    padding:5px 9px;
  }
  :is(.price-page .content, .classy-price-page__container) .p-priceTable .p-priceTable__price{font-size:14px}
}
