@charset "utf-8";
/* ==========================================================================
   施術詳細ページ（下層）— 2025/09/25 版デザイン
   Figma「Bless Clinic様納品用_0925 / 下層PC」を 1600px 等倍で実測して起こしたもの。
   旧スタイルと干渉しないよう d- 接頭辞の独自クラスで完結させている。
   ========================================================================== */

.l-main--detail{
  --d-line:#D2B87E;              /* セクション区切りの金 */
  --d-gold:#C09B4E;              /* 小見出し・EN ラベル */
  --d-bg:#FBF7F8;                /* ページ地 */
  background:var(--d-bg);
}

/* ---------- hero ---------- */
.d-hero{
  position:relative;height:30.3125rem;padding-top:7.875rem;overflow:hidden;
}
.d-hero__inner{
  position:relative;z-index:2;max-width:100rem;margin-inline:auto;padding:0 6.875rem 0 6.25rem;
}
.d-hero__eyebrow{
  margin-top:4.6875rem;font-size:1.0625rem;letter-spacing:.16em;color:var(--d-gold);
}
.d-hero__title{
  margin-top:1.25rem;font-size:2.625rem;font-weight:400;letter-spacing:.04em;line-height:1.3;
  color:var(--c-ink);
}
.d-hero__crumb{margin-top:2.6875rem;font-size:.8125rem;letter-spacing:.06em;color:#8A7F7B}
.d-hero__crumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}
.d-hero__crumb li + li::before{content:"－";margin-right:.5rem;color:#B6ACA8}
.d-hero__crumb a{color:#8A7F7B}
.d-hero__crumb a:hover{color:var(--d-gold)}
.d-hero__ph{
  position:absolute;right:7.1875rem;top:9.5625rem;z-index:1;
  width:49.6875rem;height:28.25rem;margin:0;overflow:hidden;background:#F2F4F6;
}
.d-hero__ph img{width:100%;height:100%;object-fit:cover;display:block}

/* ---------- 本文（白地の2カラム） ---------- */
.d-doc{background:#fff}
.d-doc__inner{
  max-width:100rem;margin-inline:auto;padding:0 6.875rem 6.25rem 8.125rem;
  display:grid;grid-template-columns:22.5rem 56.25rem;column-gap:6.25rem;align-items:start;
}

/* 目次 */
.d-idx{
  position:sticky;top:8.125rem;margin-top:13.25rem;align-self:start;
  max-height:calc(100vh - 10.125rem);overflow-y:auto;overscroll-behavior:contain;
  scrollbar-width:thin;scrollbar-color:#DCD3CF transparent;
}
.d-idx::-webkit-scrollbar{width:.25rem}
.d-idx::-webkit-scrollbar-thumb{background:#DCD3CF;border-radius:.125rem}
.d-idx__ttl{
  font-family:var(--f-en);font-size:3.25rem;font-weight:400;letter-spacing:.04em;line-height:1;
  color:var(--d-gold);
}
.d-idx__list{margin-top:1.75rem}
.d-idx__list li + li{margin-top:.9375rem}
.d-idx__list a{
  display:block;font-size:.875rem;letter-spacing:.04em;line-height:2.14;color:var(--c-ink);
  transition:color .3s;
}
.d-idx__list a:hover,
.d-idx__list li.is-current a{color:var(--d-gold)}
.d-idx__toggle{display:none}

/* 右カラム */
.d-doc__body{padding-top:12.5625rem;min-width:0}
.d-lead p{font-size:1.15625rem;letter-spacing:.035em;line-height:2.216;color:var(--c-body)}
.d-lead p + p{margin-top:.5rem}

/* セクション共通 */
.d-sec{margin-top:9.25rem;padding-top:3rem;border-top:1px solid var(--d-line)}
.d-sec__leaf{width:1.375rem;height:auto;display:block}
.d-sec__ttl{
  margin-top:.75rem;font-size:1.875rem;font-weight:400;letter-spacing:.04em;line-height:1.45;
  color:var(--c-ink);
}
.d-sec__en{margin-top:.5rem;font-family:var(--f-en);font-size:1rem;letter-spacing:.1em;color:var(--d-gold)}
.d-sec__body{margin-top:3.3125rem}

/* 番号つきの項目（期待できる変化 / 選ばれる理由） */
.d-items{counter-reset:d-item}
.d-items__item + .d-items__item{margin-top:3rem}
.d-items__item::before{
  content:"";display:block;width:1.875rem;height:2px;margin-bottom:1.3125rem;background:var(--d-gold);
}
.d-items__ttl{
  counter-increment:d-item;
  font-size:1.375rem;font-weight:500;letter-spacing:.04em;line-height:1.6;color:var(--c-ink);
}
.d-items__ttl::before{content:counter(d-item) ". "}
.d-items__text{margin-top:.625rem;font-size:1rem;letter-spacing:.03em;line-height:2;color:var(--c-body)}

/* こんな方におすすめ */
.d-rec{background:#F6F6F6;border-radius:.375rem;padding:1.625rem 1.5rem 1.625rem 1rem}
.d-rec li{position:relative;padding-left:2.4375rem;font-size:1rem;letter-spacing:.04em;line-height:1.9;color:var(--c-ink)}
.d-rec li + li{margin-top:.75rem}
.d-rec li::before{
  content:"";position:absolute;left:0;top:.375rem;width:1.0625rem;height:1.0625rem;border-radius:50%;
  border:1px solid #D9B77E;
}
.d-rec 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-flow__item{display:grid;grid-template-columns:1.875rem 1fr;padding:2.5rem 0}
.d-flow__item + .d-flow__item{border-top:1px solid #E7E3E0}
.d-flow__num{
  grid-column:1;grid-row:1;display:flex;align-items:center;justify-content:center;
  width:1.625rem;height:1.625rem;margin-top:.0625rem;border-radius:50%;
  background:var(--d-gold);color:#fff;font-family:var(--f-en);font-size:.8125rem;line-height:1;
}
.d-flow__ttl{grid-column:2;grid-row:1;font-size:1.25rem;font-weight:500;letter-spacing:.06em;line-height:1.5;color:var(--c-ink)}
.d-flow__text{grid-column:2;grid-row:2;margin:.5rem 0 0 .8125rem;font-size:.9375rem;letter-spacing:.04em;line-height:1.8;color:var(--c-body)}

/* ダウンタイム・リスク */
.d-risk__group + .d-risk__group{margin-top:2.25rem}
.d-risk__ttl{
  position:relative;padding-left:1.125rem;font-size:1.25rem;font-weight:500;letter-spacing:.06em;color:var(--c-ink);
}
.d-risk__ttl::before{content:"";position:absolute;left:0;top:.5rem;width:.375rem;height:.375rem;border-radius:50%;background:var(--d-gold)}
.d-risk__dl{margin-top:.875rem;font-size:.9375rem;letter-spacing:.04em;line-height:1.95;color:var(--c-body)}
.d-risk__dl dt{font-weight:700;color:var(--c-ink)}
.d-risk__dl dd{margin:0 0 .5rem}
.d-risk__note{margin-top:2.25rem}
.d-risk__note-ttl{font-size:1.125rem;font-weight:500;letter-spacing:.06em;color:var(--c-ink)}
.d-risk__note p{margin-top:.625rem;font-size:.9375rem;letter-spacing:.04em;line-height:1.95;color:var(--c-body)}

/* 料金 */
.d-price__sub{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}
.d-price__sub:first-child{margin-top:0}
.d-price__note{margin-top:.875rem;font-size:.9375rem;letter-spacing:.04em;line-height:1.95;color:var(--c-body)}
.d-price__cap{margin-top:1.75rem;font-size:.9375rem;font-weight:500;letter-spacing:.06em;color:var(--c-ink)}
.d-table{width:100%;margin-top:1.125rem;border-collapse:collapse;font-size:.875rem;letter-spacing:.04em}
.d-table th{
  padding:.75rem 1rem;background:linear-gradient(100deg,#D8BE86,#C2A05C);color:#fff;
  font-weight:500;text-align:center;
}
.d-table th:first-child{text-align:left}
.d-table td{padding:.8125rem 1rem;border-bottom:1px solid #E7E3E0;color:var(--c-ink);text-align:center}
.d-table td:first-child{text-align:left}
.d-price__links{display:flex;flex-wrap:wrap;gap:1.25rem;margin-top:1.75rem}
.d-price__link{display:inline-flex;align-items:center;gap:.5rem;font-size:.9375rem;letter-spacing:.06em;color:var(--d-gold)}

/* よくある質問 */
.d-faq__item + .d-faq__item{margin-top:2.5rem}
.d-faq__q{display:flex;gap:.75rem;align-items:flex-start;font-size:1.25rem;font-weight:500;letter-spacing:.06em;line-height:1.5;color:var(--c-ink)}
.d-faq__mark{
  flex:none;display:flex;align-items:center;justify-content:center;width:1.375rem;height:1.375rem;margin-top:.125rem;
  border-radius:50%;background:var(--d-gold);color:#fff;font-family:var(--f-en);font-size:.75rem;line-height:1;
}
.d-faq__a{margin:.75rem 0 0 2.125rem;font-size:.9375rem;letter-spacing:.04em;line-height:1.95;color:var(--c-body)}

/* 自由記述 */
.d-free h3{margin-top:1.75rem;font-size:1.0625rem;font-weight:500;letter-spacing:.06em}
.d-free p{margin-top:.75rem;font-size:.9375rem;letter-spacing:.04em;line-height:1.95;color:var(--c-body)}
.d-free ul{margin-top:.75rem}
.d-free li{position:relative;padding-left:1rem;font-size:.875rem;line-height:2;color:var(--c-body)}
.d-free li::before{content:"・";position:absolute;left:0}

/* ---------- 関連メニュー ---------- */
.d-related{background:var(--d-bg);padding:3.9375rem 0 6.25rem}
.d-related__inner{max-width:100rem;margin-inline:auto;padding:0 6.875rem 0 6.25rem}
.d-related__leaf{width:1.375rem;height:auto;display:block}
.d-related__ttl{
  margin-top:1.0625rem;font-size:1.5rem;font-weight:400;letter-spacing:.14em;color:var(--d-gold);
}
.d-related__en{margin-top:.5rem;font-family:var(--f-en);font-size:.8125rem;letter-spacing:.1em;color:var(--c-ink)}
.d-related__list{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem 1.5rem;margin-top:1.625rem;
}
.d-related__list a{
  display:flex;align-items:center;gap:1.0625rem;height:5.5rem;padding:0 1.5rem 0 .5rem;
  background:#fff;border-radius:2.75rem;box-shadow:0 .125rem .75rem rgba(90,60,40,.06);
  transition:transform .3s var(--rv-ease),box-shadow .3s;
}
.d-related__list a:hover{transform:translateY(-.1875rem);box-shadow:0 .5rem 1.25rem rgba(90,60,40,.12)}
.d-related__thumb{flex:none;width:4.5rem;height:4.5rem;border-radius:50%;overflow:hidden;background:#F2EDEA}
.d-related__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.d-related__label{flex:1 1 auto;font-size:.9375rem;letter-spacing:.06em;color:var(--c-ink)}
.d-related__list .c-arw{flex:none;color:var(--d-gold)}
.d-related__more{display:inline-flex;align-items:center;gap:.625rem;margin-top:2.25rem;font-size:.9375rem;letter-spacing:.06em;color:var(--d-gold)}

/* ==========================================================================
   SP
   ========================================================================== */
@media (max-width:899px){
  .d-hero{height:auto;padding:4.375rem 0 0}
  .d-hero__inner{padding:0 1rem}
  .d-hero__eyebrow{margin-top:3.125rem;font-size:.8125rem;letter-spacing:.14em}
  .d-hero__title{margin-top:.375rem;font-size:1.3125rem;line-height:1.45}
  .d-hero__crumb{margin-top:.75rem;font-size:.625rem;letter-spacing:.02em;white-space:nowrap;overflow:hidden}
  .d-hero__crumb ol{gap:.25rem;flex-wrap:nowrap}
  .d-hero__crumb li + li::before{margin-right:.25rem}
  .d-hero__ph{position:static;width:auto;height:12.5rem;margin:1.0625rem 1.25rem 0}

  .d-doc__inner{display:block;padding:2.5rem 1.3125rem 3rem}

  /* 目次：カンプどおりピル型のボックス。タップで開く */
  .d-idx{
    position:static;margin:0;padding:0;max-height:none;overflow:visible;
    border:1px solid var(--d-gold);border-radius:1.3125rem;background:#fff;
    display:flex;flex-wrap:wrap;align-items:center;
  }
  .d-idx__ttl{
    flex:1 1 auto;padding:.625rem 0 .625rem 1.25rem;font-size:1.0625rem;letter-spacing:.14em;
  }
  .d-idx__toggle{
    flex:none;display:flex;flex-direction:column;justify-content:center;gap:.25rem;
    width:2.75rem;height:2.625rem;padding:0 1.25rem 0 0;align-items:flex-end;
  }
  .d-idx__toggle span{display:block;width:1.125rem;height:1px;background:var(--d-gold)}
  .d-idx__list{display:none;flex:1 1 100%;margin:0;padding:0 1.25rem 1.125rem}
  .d-idx.is-open{border-radius:1.25rem}
  .d-idx.is-open .d-idx__list{display:block}
  .d-idx__list li + li{margin-top:.5rem}
  .d-idx__list a{font-size:.9375rem;line-height:1.8}
  .d-doc__body{padding-top:2.375rem}

  .d-sec{margin-top:3rem;padding-top:1.75rem}
  .d-sec__ttl{margin-top:1rem;font-size:1.375rem}
  .d-sec__en{margin-top:.625rem;font-size:.875rem}
  .d-sec__body{margin-top:1.75rem}
  .d-lead p,.d-items__text,.d-flow__text,.d-risk__dl,.d-faq__a,.d-price__note,.d-free p,.d-free li{font-size:.9375rem}
  .d-lead p{line-height:2}
  .d-lead p + p{margin-top:.375rem}
  .d-rec{padding:1.375rem 1.125rem}
  .d-rec li{font-size:.9375rem;padding-left:1.75rem}
  .d-items__ttl{font-size:1.0625rem}
  .d-flow__ttl,.d-faq__q,.d-risk__ttl,.d-price__sub{font-size:1rem}
  .d-table{font-size:.8125rem}
  .d-table th,.d-table td{padding:.625rem .5rem}
  .d-related{padding:2.5rem 0 3rem}
  .d-related__inner{padding:0 1.3125rem}
  .d-related__ttl{font-size:1.25rem}
  .d-related__list{grid-template-columns:1fr;gap:.75rem;margin-top:1.25rem}
  .d-related__list a{height:4.5rem;padding-right:1rem}
  .d-related__thumb{width:3.75rem;height:3.75rem}
}

/* ==========================================================================
   一覧ページ・固定ページでも使う追加パーツ
   ========================================================================== */
/* 1カラムの白ブロック（一覧系） */
.d-doc--wide .d-doc__inner{display:block;padding-left:6.25rem;padding-right:6.875rem;padding-top:4.375rem}
.d-doc--wide .d-doc__body{padding-top:0}
.d-doc--wide .d-lead{max-width:62.5rem}

/* 準備中のお知らせ */
.d-notice{
  margin-top:2.5rem;padding:2.75rem 2rem;border:1px solid var(--d-line);border-radius:.375rem;
  text-align:center;background:#fff;
}
.d-notice__leaf{width:1.375rem;height:auto;margin:0 auto .875rem}
.d-notice__text{font-size:1rem;letter-spacing:.06em;line-height:2;color:var(--c-body)}
.d-notice .c-btn{margin:1.75rem auto 0}

/* 地図・ギャラリー */
.d-map{margin-top:2.5rem}
.d-map__addr{margin-top:1rem;font-size:.9375rem;letter-spacing:.04em;color:var(--c-body)}
.d-gallery{background:var(--d-bg);padding:3.9375rem 0 0}
.d-gallery__inner{max-width:100rem;margin-inline:auto;padding:0 6.875rem 2.5rem 6.25rem}

/* 旧レンダラーが出すクラスを新デザインの見た目にそろえる */
.l-main--detail .p-free__ttl{margin-top:1.75rem;font-size:1.25rem;font-weight:500;letter-spacing:.06em;color:var(--c-ink)}
.l-main--detail .p-free__text{margin-top:.75rem;font-size:1rem;letter-spacing:.03em;line-height:2;color:var(--c-body)}
.l-main--detail .p-free__list{margin-top:.875rem}
.l-main--detail .p-free__list li{position:relative;padding-left:1rem;font-size:1rem;letter-spacing:.03em;line-height:2;color:var(--c-body)}
.l-main--detail .p-free__list li::before{content:"・";position:absolute;left:0}
.l-main--detail .p-free__list li b{font-weight:700;color:var(--c-ink);margin-right:.5rem}
.l-main--detail .p-price__scroll{overflow-x:auto;margin-top:1.125rem}
.l-main--detail .p-price__table{width:100%;border-collapse:collapse;font-size:.875rem;letter-spacing:.04em}
.l-main--detail .p-price__table thead th{
  padding:.75rem 1rem;background:linear-gradient(100deg,#D8BE86,#C2A05C);color:#fff;font-weight:500;text-align:center;
}
.l-main--detail .p-price__table thead th:first-child{text-align:left}
.l-main--detail .p-price__table tbody th,
.l-main--detail .p-price__table td{padding:.8125rem 1rem;border-bottom:1px solid #E7E3E0;color:var(--c-ink);text-align:center;font-weight:400}
.l-main--detail .p-price__table tbody th{text-align:left}

@media (max-width:899px){
  .d-doc--wide .d-doc__inner{padding:2.5rem 1.3125rem 3rem}
  .d-notice{margin-top:1.75rem;padding:1.75rem 1.25rem}
  .d-notice__text{font-size:.9375rem}
  .d-gallery{padding-top:2.5rem}
  .d-gallery__inner{padding:0 1.3125rem 1.75rem}
  .l-main--detail .p-free__text,
  .l-main--detail .p-free__list li{font-size:.9375rem}
  .l-main--detail .p-free__ttl{font-size:1.0625rem}
}

/* Nasolabial detail: PC content template, Figma 427:2 (2026-10-02). */
.d-nasolabial .d-items__photo{display:none}
.d-nasolabial .d-price__intro{font-size:1rem;line-height:2;color:var(--c-body)}
.d-nasolabial .d-price__sub + .d-price__intro{margin-top:.875rem}
.d-nasolabial .d-risk__benefits li{position:relative;padding-left:.875rem;font-size:.9375rem;line-height:2}
.d-nasolabial .d-risk__benefits li::before{content:"";position:absolute;left:0;top:.7em;width:.5625rem;height:.5625rem;border-radius:50%;background:var(--d-line)}
.d-nasolabial .d-risk__benefits + p{margin-top:0}
.d-nasolabial .d-table__scroll{overflow-x:auto}
.d-nasolabial .d-sec--price .d-table{min-width:42rem}
.d-nasolabial .d-sec--price .d-table th{background:#D8C59A;color:var(--c-ink);font-weight:700;text-align:center}
.d-nasolabial .d-sec--price .d-table td{text-align:right;white-space:nowrap;padding:.625rem .75rem}
.d-nasolabial .d-sec--price .d-table td:first-child{text-align:left;white-space:normal;width:54%}
.d-nasolabial .d-sec--price .d-table tr:nth-child(8) td{border-top:2px solid var(--line)}
.d-nasolabial .d-sec--price .d-price__note{font-size:.8125rem;margin-top:.375rem}
@media (min-width:900px){
  .d-nasolabial .d-hero{overflow:visible}
  .d-nasolabial .d-hero__ph{width:49.6875rem;height:28.25rem}
  .d-nasolabial .d-hero__ph img{object-position:center top}
  .d-nasolabial .d-hero__ph::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--d-bg),transparent 38%);pointer-events:none}
  .d-nasolabial .d-sec__en{font-size:1.375rem;letter-spacing:0}
  .d-nasolabial .d-items--illustrated{display:grid;grid-template-columns:480fr 380fr;gap:3rem 2.5rem}
  .d-nasolabial .d-items__photo{display:block;grid-column:2;grid-row:1 / span 2;margin:0;align-self:start}
  .d-nasolabial .d-items__photo img{width:100%;height:auto}
  .d-nasolabial .d-items--illustrated .d-items__item{grid-column:1;margin:0;min-width:0}
  .d-nasolabial .d-items--illustrated .d-items__item:nth-of-type(n+3){grid-column:1 / -1}
  .d-nasolabial .d-sec--changes .d-items__item{position:relative;border-top:1px solid var(--line);padding-top:1.3125rem}
  .d-nasolabial .d-sec--changes .d-items__item::before{position:absolute;left:0;top:-1px;margin:0}
  .d-nasolabial .d-sec--changes .d-items__ttl{font-weight:700}
  .d-nasolabial .d-flow__item{grid-template-columns:2rem 1fr;column-gap:.625rem}
  .d-nasolabial .d-flow__item:first-child{padding-top:0}
  .d-nasolabial .d-flow__item:last-child{border-bottom:1px solid var(--line)}
  .d-nasolabial .d-flow__num{width:2rem;height:2rem;font-size:1.125rem;background:linear-gradient(110deg,var(--d-line),var(--d-gold))}
  .d-nasolabial .d-flow__text{margin-left:0}
  .d-nasolabial .d-risk__group{position:relative;border-top:1px solid var(--line);padding-top:1.3125rem}
  .d-nasolabial .d-risk__group::before,
  .d-nasolabial .d-price__sub::before{content:"";position:absolute;left:0;top:-1px;width:1.875rem;height:2px;background:var(--d-gold)}
  .d-nasolabial .d-risk__group + .d-risk__group{margin-top:3rem}
  .d-nasolabial .d-risk__ttl{padding-left:0;font-weight:700}
  .d-nasolabial .d-risk__ttl::before{display:none}
  .d-nasolabial .d-risk__row{margin-top:.875rem}
  .d-nasolabial .d-risk__row dt,.d-nasolabial .d-risk__row dd{display:inline;margin:0}
  .d-nasolabial .d-risk__row dt::after{content:"："}
  .d-nasolabial .d-risk__note{margin-top:3rem}
  .d-nasolabial .d-risk__note .d-risk__note-ttl{font-size:1.25rem;font-weight:700;color:var(--d-gold);margin-bottom:1rem}
  .d-nasolabial .d-price__sub{position:relative;border-top:1px solid var(--line);padding-top:1.3125rem;font-weight:700}
  .d-nasolabial .d-price__cap{font-size:1.125rem;font-weight:700;margin-top:1.125rem}
  .d-nasolabial .d-sec--price .d-table{font-size:1rem;margin-top:.875rem}
  .d-nasolabial .d-faq__mark{width:2rem;height:2rem;font-size:1.125rem;margin-top:0;background:linear-gradient(110deg,var(--d-line),var(--d-gold))}
  .d-nasolabial .d-faq__a{margin-left:2.75rem}
}

.d-nasolabial .d-sec{scroll-margin-top:calc(var(--h-head) + 1.5rem)}

/* Equivalent editable WordPress blocks. */
.d-nasolabial .d-risk__line{margin-top:.875rem;font-size:.9375rem;line-height:1.95;letter-spacing:.04em;color:var(--c-body)}
.d-nasolabial .d-blocks .d-price-table table{min-width:42rem;font-size:1rem}
.d-nasolabial .d-blocks .d-price-table thead th{background:#D8C59A;color:var(--c-ink);font-weight:700;text-align:center}
.d-nasolabial .d-blocks .d-price-table td{text-align:right;white-space:nowrap;padding:.625rem .75rem}
.d-nasolabial .d-blocks .d-price-table td:first-child{text-align:left;white-space:normal;width:54%}
.d-nasolabial .d-blocks .d-price-table tr:nth-child(8) td{border-top:2px solid var(--line)}
.d-nasolabial .d-blocks .d-price__cap{font-size:1.125rem;font-weight:700;margin-top:1.125rem}
@media (min-width:900px){
 .d-nasolabial .d-blocks .is-style-flow h3{padding-left:2.625rem}
 .d-nasolabial .d-blocks .is-style-flow h3:first-child{padding-top:0}
 .d-nasolabial .d-blocks .is-style-flow h3::before{width:2rem;height:2rem;font-size:1.125rem;line-height:2rem;background:linear-gradient(110deg,var(--d-line),var(--d-gold))}
 .d-nasolabial .d-blocks .is-style-flow h3:first-child::before{top:.0625rem}
 .d-nasolabial .d-blocks .is-style-flow p{margin-left:2.625rem}
 .d-nasolabial .d-blocks .is-style-flow{border-bottom:1px solid var(--line)}
 .d-nasolabial .d-blocks .is-style-faq h3{padding-left:2.75rem}
 .d-nasolabial .d-blocks .is-style-faq h3::before{width:2rem;height:2rem;font-size:1.125rem;line-height:2rem;top:0;background:linear-gradient(110deg,var(--d-line),var(--d-gold))}
 .d-nasolabial .d-blocks .is-style-faq p{margin-left:2.75rem}
 .d-nasolabial .d-blocks > .d-price__sub{border-top:1px solid var(--line);font-weight:700}
 .d-nasolabial .d-blocks > .d-price__intro{margin-top:0}
 .d-nasolabial .d-blocks > .d-price__sub + .d-price__intro{margin-top:.875rem}
}

@media (min-width:900px){.d-nasolabial .d-items--illustrated > .wp-block-group__inner-container{display:contents}}

@media (min-width:900px){
.d-nasolabial .d-blocks .is-style-flow > .wp-block-group__inner-container > h3{padding-left:2.625rem}
.d-nasolabial .d-blocks .is-style-flow > .wp-block-group__inner-container > h3:first-child{padding-top:0}
.d-nasolabial .d-blocks .is-style-flow > .wp-block-group__inner-container > h3::before{width:2rem;height:2rem;font-size:1.125rem;line-height:2rem;background:linear-gradient(110deg,var(--d-line),var(--d-gold))}
.d-nasolabial .d-blocks .is-style-flow > .wp-block-group__inner-container > h3:first-child::before{top:.0625rem}
.d-nasolabial .d-blocks .is-style-flow > .wp-block-group__inner-container > p{margin-left:2.625rem}
.d-nasolabial .d-blocks .is-style-faq > .wp-block-group__inner-container > h3{padding-left:2.75rem}
.d-nasolabial .d-blocks .is-style-faq > .wp-block-group__inner-container > h3::before{width:2rem;height:2rem;font-size:1.125rem;line-height:2rem;top:0;background:linear-gradient(110deg,var(--d-line),var(--d-gold))}
.d-nasolabial .d-blocks .is-style-faq > .wp-block-group__inner-container > p{margin-left:2.75rem}
}

/* Nasolabial SP template: Figma 427:680 (2026-10-02). */
@media (max-width:899px){
  .d-nasolabial .d-hero{padding-bottom:2.5rem}
  .d-nasolabial .d-hero__title{font-size:1.25rem;line-height:1.5}
  .d-nasolabial .d-hero__ph{position:relative;width:100%;height:12.25rem;margin:1.0625rem 0 0;top:auto;right:auto}
  .d-nasolabial .d-hero__ph img{object-position:center top}
  .d-nasolabial .d-hero__ph::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--d-bg),transparent 52%);pointer-events:none}
  .d-nasolabial .d-doc{margin-inline:.625rem}
  .d-nasolabial .d-doc__inner{padding-inline:.625rem}

  .d-nasolabial .d-blocks .is-style-check,.d-nasolabial .d-rec{padding:1rem}
  .d-nasolabial .d-blocks .is-style-check li,.d-nasolabial .d-rec li{padding-left:2rem}
  .d-nasolabial .d-blocks .is-style-check li::before,.d-nasolabial .d-rec li::before{width:1.375rem;height:1.375rem;top:50%;transform:translateY(-50%)}
  .d-nasolabial .d-blocks .is-style-check li::after,.d-nasolabial .d-rec li::after{width:.625rem;height:.375rem;left:.375rem;top:calc(50% - .0625rem);transform:translateY(-50%) rotate(-45deg)}

  .d-nasolabial .d-blocks .is-style-flow > .wp-block-group__inner-container > h3,
  .d-nasolabial .d-blocks .is-style-flow > h3{padding:1rem 0 0 2.625rem;font-size:1.125rem;line-height:1.6;text-align:left;letter-spacing:.04em}
  .d-nasolabial .d-blocks .is-style-flow > .wp-block-group__inner-container > h3:first-child,
  .d-nasolabial .d-blocks .is-style-flow > h3:first-child{padding-top:0}
  .d-nasolabial .d-blocks .is-style-flow > .wp-block-group__inner-container > h3::before,
  .d-nasolabial .d-blocks .is-style-flow > h3::before{width:2rem;height:2rem;top:1rem;font-size:1.125rem;line-height:2rem;background:linear-gradient(110deg,var(--d-line),var(--d-gold))}
  .d-nasolabial .d-blocks .is-style-flow > .wp-block-group__inner-container > h3:first-child::before,
  .d-nasolabial .d-blocks .is-style-flow > h3:first-child::before{top:0}
  .d-nasolabial .d-blocks .is-style-flow > .wp-block-group__inner-container > p,
  .d-nasolabial .d-blocks .is-style-flow > p{margin:.5rem 0 0 2.625rem;padding-bottom:1rem;font-size:1rem;line-height:1.8;letter-spacing:.03em;text-align:left}
  .d-nasolabial .d-blocks .is-style-flow{border-bottom:1px solid var(--line)}
  .d-nasolabial .d-flow__item{grid-template-columns:2rem 1fr;column-gap:.625rem;padding:1rem 0}
  .d-nasolabial .d-flow__item:first-child{padding-top:0}
  .d-nasolabial .d-flow__num{width:2rem;height:2rem;font-size:1.125rem;background:linear-gradient(110deg,var(--d-line),var(--d-gold))}
  .d-nasolabial .d-flow__ttl{font-size:1.125rem;line-height:1.6}
  .d-nasolabial .d-flow__text{font-size:1rem;margin-left:0;line-height:1.8}

  .d-nasolabial .d-blocks .is-style-faq > .wp-block-group__inner-container > h3,
  .d-nasolabial .d-blocks .is-style-faq > h3{padding-left:2.625rem;font-size:1.125rem;line-height:1.6;letter-spacing:.04em}
  .d-nasolabial .d-blocks .is-style-faq > .wp-block-group__inner-container > h3::before,
  .d-nasolabial .d-blocks .is-style-faq > h3::before{width:2rem;height:2rem;top:50%;transform:translateY(-50%);font-size:1.125rem;line-height:2rem;background:linear-gradient(110deg,var(--d-line),var(--d-gold))}
  .d-nasolabial .d-blocks .is-style-faq > .wp-block-group__inner-container > p,
  .d-nasolabial .d-blocks .is-style-faq > p{margin:.875rem 0 0;font-size:1rem;line-height:1.8;letter-spacing:.03em}
  .d-nasolabial .d-faq__q{align-items:center;font-size:1.125rem;line-height:1.6;gap:.625rem}
  .d-nasolabial .d-faq__mark{width:2rem;height:2rem;font-size:1.125rem;margin-top:0;background:linear-gradient(110deg,var(--d-line),var(--d-gold))}
  .d-nasolabial .d-faq__a{margin:.875rem 0 0;font-size:1rem;line-height:1.8}
}

/* Shared FV on clinic / trouble / hyaluronic-acid, 2026-10-02. 写真のある下層すべてに適用（.d-hasph、2026-10-06）。 */
@media(min-width:900px){
 :is(.page-id-37,.page-id-47,.page-id-5,.d-hasph) .d-hero{overflow:visible}
 :is(.page-id-37,.page-id-47,.page-id-5,.d-hasph) .d-hero__ph::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--d-bg),transparent 38%);pointer-events:none}
}
.d-nasolabial .d-blocks .d-section-photo{width:42%;margin:0 0 2rem auto}
.d-nasolabial .d-blocks .d-section-photo img{display:block;width:100%;height:auto}
.d-nasolabial .d-blocks .d-price-table--dissolve{margin-top:2rem}
.d-nasolabial .d-price__note a{text-decoration:underline;color:var(--d-gold)}
@media(max-width:899px){
 :is(.page-id-37,.page-id-47,.page-id-5,.d-hasph) .d-hero{padding-bottom:2.5rem}
 :is(.page-id-37,.page-id-47,.page-id-5,.d-hasph) .d-hero__title{font-size:1.25rem;line-height:1.5}
 :is(.page-id-37,.page-id-47,.page-id-5,.d-hasph) .d-hero__ph{position:relative;width:100%;height:12.25rem;margin:1.0625rem 0 0;top:auto;right:auto}
 :is(.page-id-37,.page-id-47,.page-id-5,.d-hasph) .d-hero__ph::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--d-bg),transparent 52%);pointer-events:none}
 :is(.page-id-37,.page-id-47,.page-id-5,.d-hasph) .d-doc{margin-inline:.625rem}
 :is(.page-id-37,.page-id-47,.page-id-5,.d-hasph) .d-doc__inner{padding-inline:.625rem}
 .d-nasolabial .d-blocks .d-section-photo{width:100%;margin:0 0 1.5rem}
}

@media(min-width:900px){:is(.page-id-37,.page-id-47,.page-id-5,.d-hasph) .d-doc--wide .d-doc__inner{padding-top:12.5625rem}}

/* 本文の写真（選ばれる理由・施術の流れ）。PCは写真を右に置き、最初の項目を左に回り込ませる（Figma 427:9）。 */
@media(min-width:900px){
 .d-blocks:has(> .d-section-photo){display:flow-root}
 .d-blocks > .d-section-photo:has(+ .wp-block-group){float:right;width:42%;margin:0 0 2rem 2.5rem}
 .d-nasolabial .d-blocks > .d-section-photo:has(+ .wp-block-group){margin:0 0 2rem 2.5rem}
 .d-blocks > .d-section-photo + .wp-block-group > .wp-block-group__inner-container > p + h3,
 .d-blocks > .d-section-photo + .wp-block-group > p + h3{clear:both}
}

/* 本文の写真（原稿の画像）。PCは右に置いて本文を回り込ませ、SPは全幅。 */
.d-blocks > .d-section-photo{margin:0 0 1.5rem}
.d-blocks > .d-section-photo img{display:block;width:100%;height:auto}
@media(min-width:900px){
 .d-blocks > .d-section-photo{float:right;width:42%;margin:0 0 2rem 2.5rem}
 .d-blocks > .d-section-photo + .is-style-check{clear:both}
}

/* その他のメニュー：サムネイルのないボタンは左にも余白をとる */
.d-related__list a:not(:has(.d-related__thumb)){padding-left:2rem}
@media(max-width:899px){.d-related__list a:not(:has(.d-related__thumb)){padding-left:1.5rem}}

/* ==========================================================================
   キャンペーン（一覧 /campaign/ と個別 /campaign/{slug}/）
   ========================================================================== */
.d-cplist{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem 2.25rem}
.d-cplist--sm{grid-template-columns:repeat(4,1fr);gap:2rem 1.5rem;margin-top:1.625rem}
.d-cplist__card{display:block;color:var(--c-ink)}
.d-cplist__ph{display:block;aspect-ratio:660/780;overflow:hidden;border-radius:.5rem;background:#F2EDEA;box-shadow:0 .125rem .75rem rgba(90,60,40,.06)}
.d-cplist__ph img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--rv-ease)}
.d-cplist__card:hover .d-cplist__ph img{transform:scale(1.03)}
.d-cplist__ttl{display:block;margin-top:.875rem;font-size:max(16px,1rem);letter-spacing:.06em;line-height:1.6}
.d-cplist__card:hover .d-cplist__ttl{color:var(--d-gold)}
.d-cp{display:grid;grid-template-columns:26rem minmax(0,1fr);gap:4rem;align-items:start}
.d-cp__bnr{margin:0}
.d-cp__bnr img{display:block;width:100%;height:auto;border-radius:.5rem}
.d-cp__body > :first-child{margin-top:0}
@media (max-width:899px){
  .d-cplist,.d-cplist--sm{grid-template-columns:1fr 1fr;gap:1.75rem .875rem}
  .d-cp{grid-template-columns:minmax(0,1fr);gap:2rem}
}


/* キャンペーン一覧：リード文と一覧のあいだの余白 */
.d-doc__body > .d-cplist{margin-top:4rem}
@media (max-width:899px){.d-doc__body > .d-cplist{margin-top:2.5rem}}

/* ドクター紹介のMV：院長写真は横長に背景を広げた画像（h-doctor）。SPは枠を画像と同じ比率にして切り抜かない */
@media (max-width:899px){:is(.page-id-37,.page-id-47,.page-id-5,.d-hasph) .d-hero__ph:has(img[src*="h-doctor"]){height:auto;aspect-ratio:1600/910}}

/* お知らせ（一覧 /news/ と記事） */
.d-newslist{border-top:1px solid #E7E1DE}
.d-newslist li{border-bottom:1px solid #E7E1DE}
.d-newslist a{display:flex;align-items:center;gap:2rem;padding:1.5rem .5rem;color:var(--c-ink);transition:color .3s}
.d-newslist a:hover{color:var(--d-gold)}
.d-newslist__date{flex:none;font-family:var(--f-en);font-size:max(16px,1rem);letter-spacing:.08em;color:var(--c-body)}
.d-newslist__ttl{flex:1 1 auto;font-size:max(16px,1rem);letter-spacing:.05em;line-height:1.7}
.d-newslist .c-arw{flex:none;color:var(--d-gold)}
.d-news__date{font-family:var(--f-en);font-size:max(16px,1rem);letter-spacing:.08em;color:var(--d-gold)}
.d-news__body{margin-top:1.5rem;padding-bottom:3rem;border-bottom:1px solid #E7E1DE}
.d-news .c-btn{margin-top:3rem}
@media (max-width:899px){
  .d-newslist a{flex-wrap:wrap;gap:.375rem 1rem;padding:1.125rem .25rem}
  .d-newslist__ttl{flex-basis:calc(100% - 2.5rem)}
}
