/* =============================================================
   料金ページ — .pr-page でスコープ
   ============================================================= */
.pr-page{
  --navy:#2c5f8a;
  --blue:#4a8fc8;
  --light-blue:#ccdff0;
  --bg-light:#f0f4fd;
  --bg-pale:#e6eef9;
  --text:#333;
  --text-mid:#555;
  --text-light:#888;
  --gold:#C5A55A;
  --gold-light:#fff7e6;
  --gold-border:#f0d99c;
  font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN',sans-serif!important;
  color:var(--text)!important;
  line-height:1.8!important;
  background:#fff!important;
  margin-top:-8em!important;
  margin-bottom:-6em!important;
  padding:0!important;
}
.pr-page *,.pr-page *::before,.pr-page *::after{
  box-sizing:border-box!important;
  margin:0!important;
  padding:0!important;
}

/* === Hero === */
.pr-page .pr-hero {
  position: relative !important;
  background: linear-gradient(135deg, #123058 0%, #1E4F8E 50%, #3A6DAE 100%) !important;
  padding: clamp(5rem, 12vw, 9rem) 2rem clamp(3rem, 8vw, 5rem) !important;
  text-align: center !important;
  overflow: hidden !important;
  margin: 0 !important;
  border: none !important;
  margin-left: calc(-50vw + 50%) !important;
  margin-right: calc(-50vw + 50%) !important;
  width: 100vw !important;
}
.pr-page .pr-hero::before {
  content: '' !important;
  position: absolute !important;
  top: -50% !important;
  right: -20% !important;
  width: 600px !important;
  height: 600px !important;
  border-radius: 50% !important;
  background: radial-gradient(circle, rgba(197, 165, 90, 0.08) 0%, transparent 70%) !important;
  pointer-events: none !important;
}
.pr-page .pr-hero::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 80px !important;
  background: linear-gradient(180deg, transparent, #FFFFFF) !important;
  pointer-events: none !important;
}
.pr-page .pr-hero__en {
  font-family: 'Cormorant Garamond', 'Noto Serif JP', serif !important;
  font-size: clamp(0.7rem, 1.2vw, 0.82rem) !important;
  font-weight: 400 !important;
  letter-spacing: 0.35em !important;
  text-transform: uppercase !important;
  color: #DCC88E !important;
  margin: 0 0 1rem 0 !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
}
.pr-page .pr-hero__title {
  font-family: 'Noto Serif JP', 'Hiragino Mincho ProN', serif !important;
  font-size: clamp(1.6rem, 4vw, 2.4rem) !important;
  font-weight: 400 !important;
  letter-spacing: 0.15em !important;
  color: #FFFFFF !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-left: none !important;
  background: none !important;
  border-radius: 0 !important;
}
.pr-page .pr-hero__line {
  display: block !important;
  width: 40px !important;
  height: 1px !important;
  background: linear-gradient(90deg, #C5A55A, #DCC88E) !important;
  margin: 1.5rem auto 0 !important;
  border: none !important;
}

/* === Layout === */
.pr-page .pr-wrap{
  max-width:860px!important;
  margin:0 auto!important;
  padding:3rem 24px 80px!important;
}
.pr-page .pr-section{margin-bottom:48px!important;}
.pr-page .pr-section-title{
  font-size:1.2rem!important;font-weight:700!important;
  color:var(--navy)!important;
  border-left:4px solid var(--blue)!important;
  padding-left:14px!important;
  margin-bottom:28px!important;
  letter-spacing:0.03em!important;
  background:none!important;border-radius:0!important;
  font-family:'Noto Sans JP',sans-serif!important;
}

/* === Discount Notice === */
.pr-page .pr-discount{
  background:linear-gradient(135deg,var(--gold-light) 0%,#fffaf0 100%)!important;
  border:1px solid var(--gold-border)!important;
  border-radius:12px!important;
  padding:28px 32px!important;
  margin-top:48px!important;
  margin-bottom:0!important;
}
.pr-page .pr-discount__title{
  font-size:1rem!important;font-weight:700!important;
  color:#8a6d2c!important;margin-bottom:14px!important;
  display:flex!important;align-items:center!important;gap:10px!important;
  font-family:'Noto Sans JP',sans-serif!important;
  border:none!important;background:none!important;
  border-left:none!important;border-radius:0!important;padding:0!important;
}
.pr-page .pr-discount__title::before{
  content:"★"!important;color:var(--gold)!important;
  font-size:1.1rem!important;
}
.pr-page .pr-discount__list{
  list-style:none!important;padding:0!important;margin:0!important;
}
.pr-page .pr-discount__list li{
  font-size:0.95rem!important;color:var(--text)!important;
  padding:6px 0 6px 22px!important;position:relative!important;
  list-style:none!important;margin:0!important;
  border:none!important;background:none!important;
}
.pr-page .pr-discount__list li::before{
  content:""!important;position:absolute!important;
  left:0!important;top:14px!important;
  width:8px!important;height:8px!important;
  border-radius:50%!important;background:var(--gold)!important;
}
.pr-page .pr-discount__list strong{
  color:#8a6d2c!important;font-weight:700!important;
  margin:0 4px!important;
}
.pr-page .pr-discount__note{
  font-size:0.83rem!important;color:#a08850!important;
  margin-top:14px!important;padding-top:14px!important;
  border-top:1px dashed var(--gold-border)!important;
  border-left:none!important;border-right:none!important;border-bottom:none!important;
  background:none!important;
}

/* === Menu List === */
.pr-page .pr-menu{
  background:#fff!important;
  border:1px solid var(--light-blue)!important;
  border-radius:12px!important;
  overflow:hidden!important;
}
.pr-page .pr-menu__item{
  padding:24px 28px!important;
  border-bottom:1px solid var(--light-blue)!important;
  transition:background 0.2s ease!important;
}
.pr-page .pr-menu__item:last-child{border-bottom:none!important;}
.pr-page .pr-menu__head{
  display:flex!important;align-items:flex-start!important;
  gap:12px!important;margin-bottom:10px!important;flex-wrap:wrap!important;
}
.pr-page .pr-menu__name{
  font-size:1.05rem!important;font-weight:700!important;
  color:var(--navy)!important;line-height:1.5!important;
  flex:1!important;
  font-family:'Noto Sans JP',sans-serif!important;
  border:none!important;background:none!important;
  border-left:none!important;border-radius:0!important;padding:0!important;
  margin:0!important;
}
.pr-page .pr-menu__time{
  font-size:0.82rem!important;font-weight:500!important;
  color:#fff!important;background:var(--blue)!important;
  padding:3px 12px!important;border-radius:4px!important;
  letter-spacing:0.05em!important;flex-shrink:0!important;
  white-space:nowrap!important;
}
.pr-page .pr-menu__star{
  display:inline-block!important;color:var(--gold)!important;
  font-size:1.05rem!important;margin-right:4px!important;
}
.pr-page .pr-menu__desc{
  font-size:0.88rem!important;color:var(--text-mid)!important;
  line-height:1.8!important;margin:0 0 12px 0!important;
  border:none!important;background:none!important;padding:0!important;
}
.pr-page .pr-menu__price{
  display:flex!important;align-items:baseline!important;
  gap:14px!important;
  padding-top:8px!important;border-top:1px dashed var(--light-blue)!important;
  border-left:none!important;border-right:none!important;border-bottom:none!important;
  background:none!important;
}
.pr-page .pr-menu__price-amount{
  font-family:'Noto Serif JP',serif!important;
  font-size:1.4rem!important;font-weight:600!important;
  color:var(--navy)!important;letter-spacing:0.02em!important;
}
.pr-page .pr-menu__price-tax{
  font-size:0.78rem!important;color:var(--text-light)!important;
  margin-right:6px!important;
}
.pr-page .pr-menu__price-duration{
  font-size:0.85rem!important;color:var(--text-mid)!important;
}

/* === Note === */
.pr-page .pr-note{
  font-size:0.85rem!important;color:var(--text-light)!important;
  margin-top:24px!important;line-height:1.8!important;
  padding:16px 20px!important;background:var(--bg-light)!important;
  border-radius:8px!important;border:none!important;
}

/* === CTA === */
.pr-page .pr-cta{
  text-align:center!important;
  padding:56px 24px!important;
  background:linear-gradient(135deg,var(--bg-light) 0%,var(--bg-pale) 100%)!important;
  border-radius:12px!important;margin-top:64px!important;
}
.pr-page .pr-cta p{
  font-size:0.95rem!important;color:var(--text-mid)!important;
  margin-bottom:28px!important;
  border:none!important;background:none!important;
}
.pr-page .pr-cta__btn{
  display:inline-block!important;
  background:var(--navy)!important;color:#fff!important;
  padding:18px 56px!important;border-radius:50px!important;
  font-size:1rem!important;font-weight:700!important;
  text-decoration:none!important;letter-spacing:0.06em!important;
  transition:background 0.3s!important;
  border:none!important;
}

/* === Responsive === */
@media(max-width:640px){
  .pr-page .pr-discount{padding:20px 22px!important;}
  .pr-page .pr-menu__item{padding:20px!important;}
  .pr-page .pr-menu__name{font-size:0.98rem!important;}
  .pr-page .pr-menu__price-amount{font-size:1.25rem!important;}
}

/* === 施術料金一覧テーブル(ホバーなし) === */
.pr-page .pr-pricelist{
  background:#fff!important;
  border:1px solid var(--light-blue)!important;
  border-radius:12px!important;
  overflow:hidden!important;
  margin:0 0 16px 0!important;
}
.pr-page .pr-pricelist__wrap{
  overflow-x:auto!important;
  -webkit-overflow-scrolling:touch!important;
}
.pr-page .pr-pricelist__table{
  width:100%!important;
  min-width:560px!important;
  border-collapse:collapse!important;
  font-size:14px!important;
  border:none!important;
  border-radius:0!important;
}
.pr-page .pr-pricelist__table thead th{
  background:var(--navy)!important;
  color:#fff!important;
  font-weight:600!important;
  padding:14px 10px!important;
  text-align:center!important;
  border:none!important;
  font-size:13px!important;
  letter-spacing:0.05em!important;
  font-family:'Noto Sans JP',sans-serif!important;
}
.pr-page .pr-pricelist__table thead th.pr-pricelist__th-menu{
  text-align:left!important;
  padding-left:16px!important;
  min-width:200px!important;
}
.pr-page .pr-pricelist__table thead th small{
  font-weight:400!important;
  font-size:11px!important;
  display:block!important;
  opacity:0.85!important;
  margin-top:2px!important;
}
.pr-page .pr-pricelist__table tbody td{
  padding:11px 12px!important;
  border-bottom:1px solid var(--bg-light)!important;
  vertical-align:middle!important;
  color:var(--text)!important;
  background:#fff!important;
}
.pr-page .pr-pricelist__table tbody tr:last-child td{
  border-bottom:none!important;
}
.pr-page .pr-pricelist__table tbody td:first-child{
  text-align:left!important;
  padding-left:16px!important;
}
.pr-page .pr-pricelist__table tbody td:not(:first-child){
  text-align:right!important;
  font-feature-settings:'tnum'!important;
  white-space:nowrap!important;
  font-weight:500!important;
}

/* カテゴリ見出し行 */
.pr-page .pr-pricelist__cat th{
  background:var(--bg-light)!important;
  color:var(--navy)!important;
  font-weight:700!important;
  padding:13px 16px!important;
  text-align:left!important;
  letter-spacing:0.04em!important;
  border:none!important;
  border-top:1px solid var(--light-blue)!important;
  border-bottom:1px solid var(--light-blue)!important;
  font-size:14px!important;
  font-family:'Noto Sans JP',sans-serif!important;
}
.pr-page .pr-pricelist__table tbody tr.pr-pricelist__cat:first-child th{
  border-top:none!important;
}

/* スター(注目)行 */
.pr-page .pr-pricelist__star td{
  background:#fff8e6!important;
  font-weight:600!important;
}
.pr-page .pr-pricelist__star td:first-child{
  color:#8a6d2c!important;
}

/* テーブル内の時間バッジ */
.pr-page .pr-pricelist__table .pr-menu__time{
  display:inline-block!important;
  font-size:12px!important;
  font-weight:500!important;
  color:#fff!important;
  background:var(--blue)!important;
  padding:2px 8px!important;
  border-radius:4px!important;
  letter-spacing:0.04em!important;
  margin-left:6px!important;
  vertical-align:middle!important;
  white-space:nowrap!important;
}

/* モバイル */
@media(max-width:640px){
  .pr-page .pr-pricelist__table{
    font-size:13px!important;
    min-width:520px!important;
  }
  .pr-page .pr-pricelist__table thead th,
  .pr-page .pr-pricelist__cat th{
    padding:10px 8px!important;
    font-size:12px!important;
  }
  .pr-page .pr-pricelist__table tbody td{
    padding:9px 8px!important;
  }
}

/* =============================================================
   v2.11.0 — 新料金表バリエーション (5列 / 6列) + イントロ文
   ============================================================= */

/* 各セクションタイトル直下の説明文 */
.pr-page .pr-pricelist__intro{
  font-size:0.92rem!important;
  color:var(--text-mid)!important;
  margin:-16px 0 16px 14px!important;
  padding:0 0 0 4px!important;
  line-height:1.7!important;
  background:none!important;
  border:none!important;
  letter-spacing:0.02em!important;
}

/* 5列テーブル(部位/メニュー｜分量｜定価｜会員価格｜誕生日価格) */
.pr-page .pr-pricelist__table--5col{
  min-width:600px!important;
}
.pr-page .pr-pricelist__table--5col thead th:nth-child(1){ width:30%!important; }
.pr-page .pr-pricelist__table--5col thead th:nth-child(2){ width:16%!important; }
.pr-page .pr-pricelist__table--5col thead th:nth-child(3){ width:18%!important; }
.pr-page .pr-pricelist__table--5col thead th:nth-child(4){ width:18%!important; }
.pr-page .pr-pricelist__table--5col thead th:nth-child(5){ width:18%!important; }

/* 6列テーブル(セット｜内容｜通常価格｜セット価格｜会員価格｜誕生日価格) */
.pr-page .pr-pricelist__table--6col{
  min-width:720px!important;
}
.pr-page .pr-pricelist__table--6col thead th:nth-child(1){ width:18%!important; }
.pr-page .pr-pricelist__table--6col thead th:nth-child(2){ width:24%!important; }
.pr-page .pr-pricelist__table--6col thead th:nth-child(3){ width:14.5%!important; }
.pr-page .pr-pricelist__table--6col thead th:nth-child(4){ width:14.5%!important; }
.pr-page .pr-pricelist__table--6col thead th:nth-child(5){ width:14.5%!important; }
.pr-page .pr-pricelist__table--6col thead th:nth-child(6){ width:14.5%!important; }

/* モバイル: イントロ文を小さく */
@media(max-width:640px){
  .pr-page .pr-pricelist__intro{
    font-size:0.82rem!important;
    margin:-12px 0 12px 10px!important;
    line-height:1.6!important;
  }
}

/* 見出しサブ表記(カッコ部分)はモバイルで改行 */
.pr-page .pr-section-title__sub{
  display:inline!important;
}
@media(max-width:640px){
  .pr-page .pr-section-title__sub{
    display:block!important;
    margin-top:2px!important;
    font-size:0.92em!important;
  }
}
