@charset "utf-8";
/* ==========================================================================
   ブロックエディターで書いた下層ページの本文（page-block.php）
   固定ページの本文ブロックを、施術詳細（detail.css）と同じ見た目にそろえる。
   セクションの枠・見出しは page-block.php が組み立てるので、ここでは中身だけを扱う。
   ========================================================================== */
.d-blocks > *{margin:0}
.d-blocks > * + *{margin-top:1.25rem}
.d-blocks > p{margin-top:.75rem;font-size:1rem;letter-spacing:.03em;line-height:2;color:var(--c-body)}
.d-blocks > h3{margin-top:1.75rem;font-size:1.25rem;font-weight:500;letter-spacing:.06em;line-height:1.6;color:var(--c-ink)}
.d-blocks > h4{margin-top:1.75rem;font-size:1.0625rem;font-weight:500;letter-spacing:.06em;color:var(--c-ink)}
.d-blocks strong{font-weight:700;color:var(--c-ink)}
.d-blocks p a,.d-lead a{color:var(--d-gold);text-decoration:underline;text-underline-offset:.2em}
.d-blocks > ul:not([class*="is-style-"]),
.d-blocks > ol{margin-top:.875rem;padding-left:1.25rem;font-size:1rem;letter-spacing:.03em;line-height:2;color:var(--c-body)}
.d-blocks > ul:not([class*="is-style-"]){list-style:disc}
.d-blocks > ol{list-style:decimal}
.d-blocks .wp-block-image img{max-width:100%;height:auto}
.d-lead > *{margin:0}
.d-lead > * + *{margin-top:.5rem}

/* ---------- 番号つき項目（期待できる変化・選ばれる理由） ---------- */

.d-blocks .is-style-items{counter-reset:d-bitem}
.d-blocks .is-style-items > *,
.d-blocks .is-style-items > .wp-block-group__inner-container > *{margin:0}
.d-blocks .is-style-items > h3,
.d-blocks .is-style-items > .wp-block-group__inner-container > h3{
  counter-increment:d-bitem;padding-top:calc(2px + 1.3125rem);
  background:linear-gradient(var(--d-gold),var(--d-gold)) no-repeat 0 0/1.875rem 2px;
  font-size:1.375rem;font-weight:500;letter-spacing:.04em;line-height:1.6;color:var(--c-ink);
}
.d-blocks .is-style-items > h3::before,
.d-blocks .is-style-items > .wp-block-group__inner-container > h3::before{content:counter(d-bitem) ". "}
.d-blocks .is-style-items > p,
.d-blocks .is-style-items > .wp-block-group__inner-container > p{margin-top:.625rem;font-size:1rem;letter-spacing:.03em;line-height:2;color:var(--c-body)}
.d-blocks .is-style-items > p + h3,
.d-blocks .is-style-items > .wp-block-group__inner-container > p + h3{margin-top:3rem}
.d-blocks .is-style-items > .wp-block-table,
.d-blocks .is-style-items > .wp-block-group__inner-container > .wp-block-table{margin-top:1.75rem}

/* ---------- 施術の流れ（番号は自動） ---------- */

.d-blocks .is-style-flow{counter-reset:d-bflow}
.d-blocks .is-style-flow > *,
.d-blocks .is-style-flow > .wp-block-group__inner-container > *{margin:0}
.d-blocks .is-style-flow > h3,
.d-blocks .is-style-flow > .wp-block-group__inner-container > h3{
  counter-increment:d-bflow;position:relative;padding:2.5rem 0 0 1.875rem;
  font-size:1.25rem;font-weight:500;letter-spacing:.06em;line-height:1.5;color:var(--c-ink);
}
.d-blocks .is-style-flow > h3:not(:first-child),
.d-blocks .is-style-flow > .wp-block-group__inner-container > h3:not(:first-child){border-top:1px solid #E7E3E0}
.d-blocks .is-style-flow > h3::before,
.d-blocks .is-style-flow > .wp-block-group__inner-container > h3::before{
  content:counter(d-bflow);position:absolute;left:0;top:calc(2.5rem + .0625rem);
  width:1.625rem;height:1.625rem;border-radius:50%;background:var(--d-gold);color:#fff;
  font-family:var(--f-en);font-size:.8125rem;line-height:1.625rem;text-align:center;
}
.d-blocks .is-style-flow > p,
.d-blocks .is-style-flow > .wp-block-group__inner-container > p{margin:.5rem 0 0 2.6875rem;padding-bottom:2.5rem;font-size:.9375rem;letter-spacing:.04em;line-height:1.8;color:var(--c-body)}
.d-blocks .is-style-flow > p + p,
.d-blocks .is-style-flow > .wp-block-group__inner-container > p + p{margin-top:-1.75rem}

/* ---------- ダウンタイム・リスク ---------- */

.d-blocks .is-style-risk > *,
/* ---------- ダウンタイム・リスク ---------- */
.d-blocks .is-style-risk > .wp-block-group__inner-container > *{margin:0}
.d-blocks .is-style-risk > h3,
.d-blocks .is-style-risk > .wp-block-group__inner-container > h3{
  position:relative;padding-left:1.125rem;font-size:1.25rem;font-weight:500;letter-spacing:.06em;color:var(--c-ink);
}
.d-blocks .is-style-risk > h3::before,
.d-blocks .is-style-risk > .wp-block-group__inner-container > h3::before{
  content:"";position:absolute;left:0;top:.5rem;width:.375rem;height:.375rem;border-radius:50%;background:var(--d-gold);
}
.d-blocks .is-style-risk > p,
.d-blocks .is-style-risk > .wp-block-group__inner-container > p{margin-top:.875rem;font-size:.9375rem;letter-spacing:.04em;line-height:1.95;color:var(--c-body)}
.d-blocks .is-style-risk > p + p,
.d-blocks .is-style-risk > .wp-block-group__inner-container > p + p{margin-top:.5rem}
.d-blocks .is-style-risk > p + h3,
.d-blocks .is-style-risk > .wp-block-group__inner-container > p + h3{margin-top:2.25rem}

/* ---------- よくある質問 ---------- */

.d-blocks .is-style-faq > *,
/* ---------- よくある質問 ---------- */
.d-blocks .is-style-faq > .wp-block-group__inner-container > *{margin:0}
.d-blocks .is-style-faq > h3,
.d-blocks .is-style-faq > .wp-block-group__inner-container > h3{
  position:relative;padding-left:2.125rem;font-size:1.25rem;font-weight:500;letter-spacing:.06em;line-height:1.5;color:var(--c-ink);
}
.d-blocks .is-style-faq > h3::before,
.d-blocks .is-style-faq > .wp-block-group__inner-container > h3::before{
  content:"Q";position:absolute;left:0;top:.125rem;width:1.375rem;height:1.375rem;border-radius:50%;
  background:var(--d-gold);color:#fff;font-family:var(--f-en);font-size:.75rem;line-height:1.375rem;text-align:center;
}
.d-blocks .is-style-faq > p,
.d-blocks .is-style-faq > .wp-block-group__inner-container > p{margin:.75rem 0 0 2.125rem;font-size:.9375rem;letter-spacing:.04em;line-height:1.95;color:var(--c-body)}
.d-blocks .is-style-faq > p + h3,
.d-blocks .is-style-faq > .wp-block-group__inner-container > p + h3{margin-top:2.5rem}

/* ---------- チェックリスト（こんな方におすすめ） ---------- */

.d-blocks .is-style-check{
  list-style:none;background:#F6F6F6;border-radius:.375rem;padding:1.625rem 1.5rem 1.625rem 1rem;
}
.d-blocks .is-style-check li{position:relative;padding-left:2.4375rem;font-size:1rem;letter-spacing:.04em;line-height:1.9;color:var(--c-ink)}
.d-blocks .is-style-check li + li{margin-top:.75rem}
.d-blocks .is-style-check li::before{
  content:"";position:absolute;left:0;top:.375rem;width:1.0625rem;height:1.0625rem;border-radius:50%;border:1px solid #D9B77E;
}
.d-blocks .is-style-check li::after{
  content:"";position:absolute;left:.28125rem;top:.625rem;width:.5rem;height:.3125rem;
  border-left:1.5px solid var(--d-gold);border-bottom:1.5px solid var(--d-gold);transform:rotate(-45deg);
}

/* ---------- リンク（→付き） ---------- */

.d-blocks .is-style-links{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.75rem 1.5rem}
.d-blocks .is-style-links a{
  display:inline-flex;align-items:center;gap:.5rem;font-size:.9375rem;letter-spacing:.06em;color:var(--d-gold);text-decoration:none;
}
.d-blocks .is-style-links a::after{
  content:"";display:inline-block;width:1rem;height:.875rem;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 12' fill='none' stroke='%23000' stroke-width='1.05' stroke-linecap='round'%3E%3Cpath d='M.7 6h12.6'/%3E%3Cpath d='M8.5.8C9.1 3.2 10.8 5.2 13.3 6'/%3E%3Cpath d='M8.5 11.2C9.1 8.8 10.8 6.8 13.3 6'/%3E%3C/svg%3E") no-repeat center/contain;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 12' fill='none' stroke='%23000' stroke-width='1.05' stroke-linecap='round'%3E%3Cpath d='M.7 6h12.6'/%3E%3Cpath d='M8.5.8C9.1 3.2 10.8 5.2 13.3 6'/%3E%3Cpath d='M8.5 11.2C9.1 8.8 10.8 6.8 13.3 6'/%3E%3C/svg%3E") no-repeat center/contain;
}

/* ---------- お知らせ枠（準備中など） ---------- */

.d-doc .is-style-notice{
  margin-top:2.5rem;padding:2.75rem 2rem;border:1px solid var(--d-line);border-radius:.375rem;text-align:center;background:#fff;
}
.d-doc .is-style-notice::before{
  content:"";display:block;width:1.375rem;height:1.3125rem;margin:0 auto .875rem;
  background:url(../img/leaf.png) no-repeat center/contain;
}
.d-doc .is-style-notice > *,
.d-doc .is-style-notice > .wp-block-group__inner-container > *{margin:0}
.d-doc .is-style-notice > p,
.d-doc .is-style-notice > .wp-block-group__inner-container > p{font-size:1rem;letter-spacing:.06em;line-height:2;color:var(--c-body)}
.d-doc .is-style-notice > * + *,
.d-doc .is-style-notice > .wp-block-group__inner-container > * + *{margin-top:.75rem}

/* ---------- 注記 ---------- */

.d-doc .is-style-note{font-size:.875rem;letter-spacing:.04em;line-height:1.9;color:#7A6E6B}

/* ---------- 表 ---------- */

.d-blocks .wp-block-table{margin-top:1.125rem;overflow-x:auto}
.d-blocks .wp-block-table table{width:100%;border-collapse:collapse;font-size:.875rem;letter-spacing:.04em}
.d-blocks .wp-block-table th,
.d-blocks .wp-block-table td{
  border:0;border-bottom:1px solid #E7E3E0;padding:.8125rem 1rem;color:var(--c-ink);text-align:center;font-weight:400;
}
.d-blocks .wp-block-table thead{border:0}
.d-blocks .wp-block-table thead th{
  background:linear-gradient(100deg,#D8BE86,#C2A05C);color:#fff;font-weight:500;border-bottom:0;
}
.d-blocks .wp-block-table th:first-child,
.d-blocks .wp-block-table td:first-child{text-align:left}
.d-blocks .wp-block-table figcaption{margin-top:.5rem;font-size:.8125rem;color:#7A6E6B;text-align:left}

/* ==========================================================================
   SP
   ========================================================================== */

@media (max-width:899px){.d-blocks > p,
.d-blocks .is-style-items > p,
.d-blocks .is-style-items > .wp-block-group__inner-container > p,
.d-blocks > ul:not([class*="is-style-"]),
.d-blocks > ol{font-size:.9375rem}
.d-blocks > h3,
.d-blocks .is-style-items > h3,
.d-blocks .is-style-items > .wp-block-group__inner-container > h3{font-size:1.0625rem}
.d-blocks .is-style-flow > h3,
.d-blocks .is-style-flow > .wp-block-group__inner-container > h3,
.d-blocks .is-style-faq > h3,
.d-blocks .is-style-faq > .wp-block-group__inner-container > h3,
.d-blocks .is-style-risk > h3,
.d-blocks .is-style-risk > .wp-block-group__inner-container > h3{font-size:1rem}
  .d-blocks .is-style-check{padding:1.375rem 1.125rem}
  .d-blocks .is-style-check li{font-size:.9375rem;padding-left:1.75rem}
  .d-blocks .wp-block-table table{font-size:.8125rem;min-width:30rem}
  .d-blocks .wp-block-table th,
  .d-blocks .wp-block-table td{padding:.625rem .5rem}
  .d-doc .is-style-notice{margin-top:1.75rem;padding:1.75rem 1.25rem}
}

/* ---------- 料金（小見出しは金の罫線つき） ---------- */
.d-blocks .is-style-price > *,
.d-blocks .is-style-price > .wp-block-group__inner-container > *{margin:0}
.d-blocks .is-style-price > h3,
.d-blocks .is-style-price > .wp-block-group__inner-container > h3{
  margin-top:2.25rem;padding-top:1.5rem;border-top:2px solid var(--d-gold);
  font-size:1.25rem;font-weight:500;letter-spacing:.06em;line-height:1.6;color:var(--c-ink);
}
.d-blocks .is-style-price > h3:first-child,
.d-blocks .is-style-price > .wp-block-group__inner-container > h3:first-child{margin-top:0}
.d-blocks .is-style-price > p,
.d-blocks .is-style-price > .wp-block-group__inner-container > p{margin-top:.875rem;font-size:.9375rem;letter-spacing:.04em;line-height:1.95;color:var(--c-body)}
.d-blocks .is-style-price > .wp-block-table,
.d-blocks .is-style-price > .wp-block-group__inner-container > .wp-block-table{margin-top:1.125rem}
.d-blocks .is-style-links,
.d-blocks .is-style-price > .wp-block-group__inner-container > .is-style-links{margin-top:1.75rem}

/* ---------- アフターフォロー（リスクの直後の見出し） ---------- */
.d-blocks > .is-style-risk + h3{margin-top:2.25rem;font-size:1.125rem}
.d-blocks > .is-style-risk + h3 + p{margin-top:.625rem;font-size:.9375rem;line-height:1.95}

/* ---------- ボタン（お知らせ枠の「施術メニューを見る」など） ---------- */
.d-doc .wp-block-buttons{display:flex;justify-content:center;margin-top:1.75rem}
.d-doc .wp-block-button{margin:0}
.d-doc .wp-block-button__link{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  width:18.75rem;height:3.5rem;padding:0 1.125rem;border-radius:0;
  background:var(--c-dark);color:#fff;font-size:1rem;letter-spacing:.12em;line-height:1;text-decoration:none;
  transition:opacity .3s;
}
.d-doc .wp-block-button__link:hover{opacity:.78}
.d-doc .wp-block-button__link::after{
  content:"";flex:none;width:1.25rem;height:1.0625rem;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 12' fill='none' stroke='%23000' stroke-width='1.05' stroke-linecap='round'%3E%3Cpath d='M.7 6h12.6'/%3E%3Cpath d='M8.5.8C9.1 3.2 10.8 5.2 13.3 6'/%3E%3Cpath d='M8.5 11.2C9.1 8.8 10.8 6.8 13.3 6'/%3E%3C/svg%3E") no-repeat center/contain;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 12' fill='none' stroke='%23000' stroke-width='1.05' stroke-linecap='round'%3E%3Cpath d='M.7 6h12.6'/%3E%3Cpath d='M8.5.8C9.1 3.2 10.8 5.2 13.3 6'/%3E%3Cpath d='M8.5 11.2C9.1 8.8 10.8 6.8 13.3 6'/%3E%3C/svg%3E") no-repeat center/contain;
}

/* ---------- 施術メニュー（二層）の注記 ---------- */
.p-mindex > .is-style-note{
  max-width:68.75rem;margin:2.5rem auto 3.125rem;
  font-size:.9375rem;letter-spacing:.05em;line-height:2;color:var(--c-body);
}

@media (max-width:899px){
  .d-blocks .is-style-price > h3,
  .d-blocks .is-style-price > .wp-block-group__inner-container > h3{font-size:1rem}
  .d-blocks .is-style-price > p,
  .d-blocks .is-style-price > .wp-block-group__inner-container > p{font-size:.9375rem}
  .p-mindex > .is-style-note{margin:1.75rem 0 2rem;font-size:.875rem;line-height:1.9}
}

/* ---------- 箇条書き（公開版の .p-free__list と同じ：金の点） ---------- */
.d-blocks > ul:not([class*="is-style-"]){list-style:none;padding-left:0;display:grid;gap:.625rem}
.d-blocks > ul:not([class*="is-style-"]) > li{position:relative;padding-left:1rem;font-size:1rem;letter-spacing:.03em;line-height:2;color:var(--c-body)}
.d-blocks > ul:not([class*="is-style-"]) > li::before{
  content:"";position:absolute;left:0;top:.875rem;width:.4375rem;height:.4375rem;border-radius:50%;background:var(--c-gold-l);
}
.d-blocks > ul:not([class*="is-style-"]) > li strong{margin-right:.5rem}
@media (max-width:899px){
  .d-blocks > ul:not([class*="is-style-"]) > li{font-size:.9375rem}
}

/* ==========================================================================
   文字サイズの下限（下層ページ・2026-10-06 先方指定）
   rem は画面幅で伸縮するので、本文は 16px、本文内の見出しは 17px を下回らないようにする。
   見出しラベル（EN）・パンくず・バッジは対象外。
   ========================================================================== */
#bc-main.l-main--detail :is(
  .d-lead p, .d-blocks p:not(.is-style-en), .d-blocks li, .d-blocks td, .d-blocks th,
  .d-blocks .is-style-links a, .d-blocks figcaption, .d-doc .is-style-note,
  .d-doc .is-style-notice p, .d-doc .c-btn, .d-doc .wp-block-button__link, .d-map__addr, .d-notice__text,
  .d-idx__list a, .d-related__label, .d-related__more,
  .p-mcard__text, .p-mcard__btn, .p-mfeat__text, .p-mfeat .c-btn,
  .p-tcard__text, .p-tcard__link, .p-mgroup__text, .p-mgroup__more, .p-pill__label
){font-size:max(16px,1rem)}
#bc-main.l-main--detail .d-blocks h3{font-size:max(17px,1.25rem)}
#bc-main.l-main--detail .d-blocks :is(.is-style-items h3, .d-items__ttl){font-size:max(17px,1.375rem)}
#bc-main.l-main--detail .d-blocks > .is-style-risk + h3{font-size:max(17px,1.125rem)}
#bc-main.l-main--detail .p-tcard__ttl{font-size:max(17px,1.25rem)}
@media (max-width:899px){
  #bc-main.l-main--detail :is(.d-blocks h3, .d-blocks .is-style-items h3, .d-blocks .d-items__ttl, .d-blocks > .is-style-risk + h3, .p-tcard__ttl){font-size:max(17px,1.0625rem)}
}

/* 2列の表（項目｜内容）は横スクロールさせず画面幅に収め、内容は左揃え（料金表など3列以上はそのまま） */
.d-blocks .wp-block-table table:not(:has(tr > :nth-child(3))) :is(td,th):nth-child(2){text-align:left}
.d-blocks .wp-block-table table:not(:has(tr > :nth-child(3))) th:first-child,
.d-blocks .wp-block-table table:not(:has(tr > :nth-child(3))) td:first-child{width:9.5rem;white-space:nowrap}
@media (max-width:899px){
  .d-blocks .wp-block-table table:not(:has(tr > :nth-child(3))){min-width:0}
  .d-blocks .wp-block-table table:not(:has(tr > :nth-child(3))) th:first-child,
  .d-blocks .wp-block-table table:not(:has(tr > :nth-child(3))) td:first-child{width:1%;white-space:nowrap}
}
