/* ========================================
   menu-detail.css｜施術詳細ページ共通
   ※ 既存設定を維持してページ順に整理
======================================== */

/* ========================================
   01. 共通：セクション間の余白
======================================== */

/* ========================================
   施術詳細ページ：セクション間の余白
======================================== */

@media (min-width: 768px) {
  #body_wrap.page-id-1367 .title-wrap {
    margin-top: 80px;
  }
}

@media (max-width: 767px) {
  #body_wrap.page-id-1367 .title-wrap {
    margin-top: 60px;
  }
}


/* ========================================
   02. INTRO：導入文
======================================== */

/* ========================================
   施術詳細ページ：導入文
======================================== */

/* グループ全体 */
.menu-detail-intro {
  max-width: 900px;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

/* 英字タイトル */
.menu-detail-intro > p:first-child {
  margin: 0 0 16px;
  color: #D39F9F;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.12em;
}

/* H2：キャッチコピー */
.menu-detail-intro h2 {
  margin: 0 0 24px;
  padding: 0;
  background: none;
  border: none;
  color: #735F5F;
  font-size: 28px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.06em;
}

/* H2下のアクセントライン */
.menu-detail-intro h2::after {
  content: "";
  display: block;
  width: 42px;
  height: 1px;
  margin: 20px auto 0;
  background: #D39F9F;
}

/* 説明文 */
.menu-detail-intro p:not(:first-child) {
  margin: 0 0 12px;
  color: #735F5F;
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.04em;
}

/* 最後の段落 */
.menu-detail-intro p:last-child {
  margin-bottom: 0;
}


/* ========================================
   導入文：スマホ
======================================== */

@media (max-width: 767px) {

  /* 英字タイトル */
  .menu-detail-intro > p:first-child {
    margin-bottom: 12px;
    font-size: 12px;
  }

  /* H2：キャッチコピー */
  .menu-detail-intro h2 {
    margin-bottom: 20px;
    font-size: 22px;
    letter-spacing: 0.03em;
  }

  /* H2下のライン */
  .menu-detail-intro h2::after {
    margin-top: 16px;
  }

  /* 説明文 */
  .menu-detail-intro p:not(:first-child) {
    font-size: 13px;
    line-height: 1.9;
  }

}


/* ========================================
   03. FEATURE：画像・説明文・装飾
======================================== */

/* ========================================
   FEATURE：画像＋説明文
======================================== */

/* 2カラム全体 */
.menu-detail-feature {
  align-items: center;
  gap: 40px;
}

/* 画像側のカラム */
.menu-detail-feature .wp-block-column:first-child {
  position: relative;
}

/* 画像ブロック */
.menu-detail-feature .wp-block-image {
  position: relative;
  margin: 0;
  text-align: center;
}

/* 楕円形画像 */
.menu-detail-feature .wp-block-image img {
  display: block;
  width: 100%;
  max-width: 340px;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center;
  border-radius: 50%;
  margin: 0 auto;
}

/* 右側カラム */
.menu-detail-feature > .wp-block-column:last-child {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* FEATURE：英語見出し */
.menu-detail-feature .wp-block-column:last-child > p.menu-detail-feature-label {
  margin: 0 0 14px;
  color: #D39F9F;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.12em;
  text-align: left;
}

/* 日本語見出し */
.menu-detail-feature .wp-block-column:last-child h3 {
  margin: 0 0 22px;
  padding: 0;
  background: none;
  border: none;
  color: #735F5F;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.04em;
}

/* 見出し下のアクセントライン */
.menu-detail-feature .wp-block-column:last-child h3::after {
  content: "";
  display: block;
  width: 40px;
  height: 1px;
  margin-top: 18px;
  background: #D39F9F;
}

/* 説明文 */
.menu-detail-feature .wp-block-column:last-child p:not(.menu-detail-feature-label) {
  color: #735F5F;
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.04em;
}


/* ========================================
   FEATURE：キラキラ装飾
======================================== */

/* キラキラ共通 */
.menu-detail-feature .wp-block-column:first-child::before,
.menu-detail-feature .wp-block-column:first-child::after,
.menu-detail-feature .wp-block-image::before {
  content: "";
  position: absolute;
  z-index: 2;
  display: block;

  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg fill='%23C9A6A6'%3E%3Cpath d='M50 0 V100 M0 50 H100' fill='none' stroke='%23C9A6A6' stroke-width='0.45'/%3E%3Cpath d='M50 24 C52 42 58 48 76 50 C58 52 52 58 50 76 C48 58 42 52 24 50 C42 48 48 42 50 24Z'/%3E%3C/g%3E%3C/svg%3E");

  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  pointer-events: none;
}


/* ========================================
   FEATURE：キラキラ PC
======================================== */

/* 左中央 */
.menu-detail-feature .wp-block-column:first-child::before {
  width: 90px;
  height: 90px;
  top: 35%;
  left: 0;
  transform: translate(-35%, 70%);
}

/* 右上 */
.menu-detail-feature .wp-block-column:first-child::after {
  width: 70px;
  height: 70px;
  top: 12%;
  right: 0;
  transform: translate(-40%, -50%);
}

/* 左下 */
.menu-detail-feature .wp-block-image::before {
  width: 150px;
  height: 150px;
  bottom: 18%;
  left: 14%;
  transform: translate(-50%, 50%);
}


/* ========================================
   FEATURE：スマホ
======================================== */

@media (max-width: 767px) {

  /* 2カラム間の余白 */
  .menu-detail-feature {
    gap: 24px;
  }

  /* 楕円形画像 */
  .menu-detail-feature .wp-block-image img {
    width: 68%;
    max-width: 340px;
  }

  /* FEATURE：英語見出し */
  .menu-detail-feature .wp-block-column:last-child > p.menu-detail-feature-label {
    font-size: 18px;
    text-align: center;
    letter-spacing: 0.12em;
    margin-bottom: 16px;
  }

  /* 日本語見出し */
  .menu-detail-feature .wp-block-column:last-child h3 {
    margin-bottom: 18px;
    font-size: 18px;
  }

  /* 説明文 */
  .menu-detail-feature .wp-block-column:last-child p:not(.menu-detail-feature-label) {
    font-size: 13px;
    line-height: 1.9;
  }

  /* ----------------------------------------
     キラキラ：左中央
  ---------------------------------------- */

  .menu-detail-feature .wp-block-column:first-child::before {
    width: 60px;
    height: 60px;

    top: 38%;
    left: 5%;

    transform: translate(-15%, 70%);
  }

  /* ----------------------------------------
     キラキラ：右上
  ---------------------------------------- */

  .menu-detail-feature .wp-block-column:first-child::after {
    width: 70px;
    height: 70px;

    top: 15%;
    right: 5%;

    transform: translate(-10%, -50%);
  }

  /* ----------------------------------------
     キラキラ：左下
  ---------------------------------------- */

  .menu-detail-feature .wp-block-image::before {
    width: 120px;
    height: 120px;

    bottom: 12%;
    left: 21%;

    transform: translate(-50%, 50%);
  }

}


/* ========================================
   04. RECOMMEND：おすすめリスト
======================================== */

/* ========================================
   3. RECOMMEND：おすすめリスト
======================================== */

/* リスト全体 */
.menu-detail-recommend {
  max-width: 800px;
  margin-right: auto;
  margin-left: auto;
  padding: 28px 32px;
  border: 1px solid #F0DADA;
  border-radius: 10px;
  background: #fff;
  list-style: none;
}

/* 各項目 */
.menu-detail-recommend li {
  position: relative;
  margin: 0;
  padding: 12px 0 12px 36px;
  color: #735F5F;
  line-height: 1.8;
  letter-spacing: 0.04em;
  list-style: none;
}

/* チェックマーク */
.menu-detail-recommend li::before {
  content: "✓";
  position: absolute;
  top: 15px;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #F8E9E8;
  color: #D39F9F;
  font-size: 14px;
  line-height: 1;
}

/* スマホ */
@media (max-width: 767px) {
  .menu-detail-recommend {
    padding: 18px 16px;
  }

  .menu-detail-recommend li {
    padding-left: 32px;
  }
}


/* ========================================
   05. DESIGN：リッチカラムカード
======================================== */

/* ========================================
   DESIGN：リッチカラムカード
======================================== */

/* ----------------------------------------
   カード共通
---------------------------------------- */

/* 各カード */
.menu-detail-design .swell-block-columns__col {
  min-width: 0;
  padding: 16px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 3px 14px rgba(115, 95, 95, 0.07);
  overflow: hidden;
}

/* 画像 */
.menu-detail-design .wp-block-image {
  margin: 0 0 14px;
}

.menu-detail-design .wp-block-image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 6px;
}

/* 英語の技法名 */
.menu-detail-design .swell-block-columns__col > p:first-of-type {
  margin: 0 0 12px;
  color: #D39F9F;
  font-size: 12px;
  letter-spacing: 0.04em;
}

/* 日本語の技法名 */
.menu-detail-design h3 {
  margin: 0 0 14px;
  padding: 0;
  background: none;
  border: none;
  color: #735F5F;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.6;
}

/* 説明文 */
.menu-detail-design .swell-block-columns__col > p:not(:first-of-type) {
  margin: 0;
  color: #735F5F;
  font-size: 13px;
  line-height: 1.9;
  letter-spacing: 0.02em;
}


/* ========================================
   DESIGN：リッチカラムカード
======================================== */

/* 各カード */
.menu-detail-design .swell-block-column {
  min-width: 0;
  padding: 16px;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 4px 18px rgba(115, 95, 95, 0.06);
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* 画像 */
.menu-detail-design .wp-block-image {
  margin: 0 0 14px;
}

.menu-detail-design .wp-block-image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 6px;
}

/* 英語の技法名 */
.menu-detail-design .swell-block-column > p:first-of-type {
  margin: 0 0 12px;
  color: #D39F9F;
  font-size: 13px;
  letter-spacing: 0.06em;
}

/* 英語名の下のアクセントライン */
.menu-detail-design .swell-block-column > p:first-of-type::after {
  content: "";
  display: block;
  width: 30px;
  height: 1px;
  margin-top: 12px;
  background: #D39F9F;
}

/* 日本語の技法名 */
.menu-detail-design .swell-block-column h3 {
  margin: 0 0 14px;
  padding: 0;
  background: none;
  border: none;
  color: #735F5F;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.6;
}

/* 説明文 */
.menu-detail-design .swell-block-column > p:not(:first-of-type) {
  margin: 0;
  color: #735F5F;
  font-size: 13px;
  line-height: 1.9;
  letter-spacing: 0.02em;
}

/* PC：ホバー装飾 */
@media (hover: hover) {
  .menu-detail-design .swell-block-column:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(115, 95, 95, 0.1);
  }
}


/* ========================================
   DESIGN：スマホ
======================================== */

@media (max-width: 767px) {

  /* カード */
  .menu-detail-design .swell-block-column {
    padding: 10px;
    border-radius: 10px;
  }

  /* 画像 */
  .menu-detail-design .wp-block-image {
    margin-bottom: 10px;
  }

  /* 英語の技法名 */
  .menu-detail-design .swell-block-column > p:first-of-type {
    margin-bottom: 10px;
    font-size: 12px;
    letter-spacing: 0.02em;
    overflow-wrap: anywhere;
  }

  /* アクセントライン */
  .menu-detail-design .swell-block-column > p:first-of-type::after {
    width: 24px;
    margin-top: 10px;
  }

  /* 日本語の技法名 */
  .menu-detail-design .swell-block-column h3 {
    margin-bottom: 12px;
    font-size: 15px;
  }

  /* 説明文 */
  .menu-detail-design .swell-block-column > p:not(:first-of-type) {
    font-size: 12px;
    line-height: 1.8;
  }

}


/* ========================================
   06. CASE：症例カード
======================================== */

/* ========================================
   CASE：症例カードのタイトル・説明文を非表示
======================================== */

/* 症例タイトル */
.menu-detail-case .p-postList__title {
  display: none;
}

/* 症例説明文 */
.menu-detail-case .case-description {
  display: none;
}


/* ========================================
   07. CASE：VIEW MOREボタン
======================================== */

/* ========================================
   CASE：VIEW MOREボタンの位置調整
======================================== */

/* 通常時 */
.menu-detail-case .swell-block-button.menu-more-btn {
  position: relative;
  top: -15px;
}

/* 記事が0件の場合のみ */
.swell-block-fullWide.menu-detail-case:has(
  .p-postListWrap > p
) .swell-block-button.menu-more-btn {
  top: 0;
  margin-top: 20px !important;
}


/* ========================================
   08. PRICE：料金テーブル
======================================== */

/* ========================================
   5. PRICE：料金テーブル
======================================== */

/* テーブルブロック */
.menu-detail-price-table {
  width: 100%;
  max-width: 900px;
  margin-right: auto;
  margin-left: auto;
}

/* テーブル本体 */
.menu-detail-price-table table {
  width: 100%;
  border: 1px solid #F0DADA;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}

/* セル共通 */
.menu-detail-price-table td,
.menu-detail-price-table th {
  padding: 16px 12px;
  border: none;
  border-bottom: 1px solid #F0DADA;
  vertical-align: middle;
  color: #735F5F;
  line-height: 1.7;
}

/* 最終行 */
.menu-detail-price-table tr:last-child td {
  border-bottom: none;
}

/* 1列目：施術名 */
.menu-detail-price-table td:first-child {
  width: 65%;
  text-align: left;
}

/* 2列目：通常・モニター */
.menu-detail-price-table td:nth-child(2) {
  width: 15%;
  padding-right: 4px;
  text-align: right;
}

/* 3列目：料金 */
.menu-detail-price-table td:nth-child(3) {
  width: 20%;
  padding-left: 4px;
  text-align: right;
  white-space: nowrap;
}

/* スマホ */
@media (max-width: 767px) {

  .menu-detail-price-table td,
  .menu-detail-price-table th {
    padding: 14px 8px;
    font-size: 12px;
  }

  .menu-detail-price-table td:first-child {
    width: 55%;
  }

  .menu-detail-price-table td:nth-child(2) {
    width: 17%;
    padding-right: 3px;
  }

  .menu-detail-price-table td:nth-child(3) {
    width: 28%;
    padding-left: 3px;
  }

}



/* PRICE：テーブル内の見出し */
.menu-detail-price-table tr:first-child td[colspan="3"] {
  padding: 18px 12px;
  background: #fff;
  color: #735F5F;
  font-size: 15px;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.05em;
}


/* PRICE：料金表の補足説明 */
.menu-detail-price-note {
  width: 100%;
  max-width: 900px;
  margin-right: auto;
  margin-left: auto;
  font-size: 12px;
  color: #735F5F;
  line-height: 1.8;
}

/* スマホ */
@media (max-width: 767px) {
	.menu-detail-price-note {
  font-size: 11px;
	}
}


/* ----------------------------------------
   PRICE：左右の余白調整
---------------------------------------- */

/* 施術名：左側の余白 */
.menu-detail-price-table td:first-child {
  padding-left: 24px;
}

/* 料金：右側の余白 */
.menu-detail-price-table td:last-child {
  padding-right: 24px;
}

/* スマホ */
@media (max-width: 767px) {

  .menu-detail-price-table td:first-child {
    padding-left: 14px;
  }

  .menu-detail-price-table td:last-child {
    padding-right: 14px;
  }

}

/* ----------------------------------------
   PRICE：文字サイズ・文字間隔
---------------------------------------- */

/* PC・共通 */
.menu-detail-price-table td,
.menu-detail-price-table th {
  font-size: 14px;
  letter-spacing: 0.04em;
  line-height: 1.8;
}

/* スマホ */
@media (max-width: 767px) {

  .menu-detail-price-table td,
  .menu-detail-price-table th {
    font-size: 14px;
    letter-spacing: 0.04em;
    line-height: 1.7;
  }

}


/* ----------------------------------------
   PRICE：通常・モニターの文字サイズ
---------------------------------------- */

.menu-detail-price-table td:nth-child(2) {
  font-size: 12px;
  letter-spacing: 0;
  white-space: nowrap;
}


/* ========================================
   09. FAQ案内バナー：横幅
======================================== */

/* ========================================
   FAQ下：料金案内バナーの横幅
======================================== */

.menu-price-guide.guide-faq {
  width: 100%;
  max-width: 868px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}


/* ========================================
   10. PRICE・FAQ案内バナー：背景画像
======================================== */

/* 背景画像の切り替えは common.css で一括管理 */


/* ========================================
   11. FAQ：横幅
======================================== */

/* ========================================
   共通：FAQの横幅
======================================== */

.lulu-faq.swell-block-faq {
  width: 100%;
  max-width: 868px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}


/* ========================================
   12. RESERVATION：予約CTA
======================================== */

/* ========================================
   2. 予約CTA（RESERVATION）
======================================== */

/* セクション全体 */
.menu-detail-cta {
  text-align: center;
}

/* RESERVATION */
.menu-detail-cta h2 {
  margin: 0 0 20px;
  color: #D39F9F;
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 0.08em;
}

/* キャッチコピー */
.menu-detail-cta h3 {
  margin: 0 0 20px;
  color: #735F5F;
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.6;
}

/* 説明文 */
.menu-detail-cta p {
  color: #735F5F;
  line-height: 1.9;
  letter-spacing: 0.04em;
}

/* スマホ */
@media (max-width: 767px) {

  .menu-detail-cta h2 {
    font-size: 20px;
  }

  .menu-detail-cta h3 {
    font-size: 20px;
  }

}


/* ========================================
   13. NOTES：アコーディオン
======================================== */

/* ========================================
   共通：NOTES アコーディオン
======================================== */

/* アコーディオン全体 */
.lulu-notes {
  max-width: 868px;
  margin-left: auto;
  margin-right: auto;
}

/* 各アコーディオン */
.lulu-notes .swell-block-accordion__item {
  overflow: hidden;
  border: 1px solid #F0DADA;
  border-radius: 8px;
  background: #fff;
}

/* 見出し */
.lulu-notes .swell-block-accordion__title {
  background: #FFF8F8;
  color: #735F5F;
  font-weight: 500;
}

/* 開閉後の本文 */
.lulu-notes .swell-block-accordion__body {
  background: #fff;
  color: #735F5F;
  line-height: 1.9;
}




/* ========================================
   NOTES：開閉アイコン（FAQと統一）
======================================== */

/* SWELL標準アイコンを非表示 */
.lulu-notes .swell-block-accordion__icon i {
  display: none;
}

/* 閉じた状態：プラス */
.lulu-notes .swell-block-accordion__icon {
  position: relative;
  display: block;
  width: 14px;
  height: 14px;
  flex-shrink: 0;

  background:
    linear-gradient(#D39F9F, #D39F9F) center / 14px 1px no-repeat,
    linear-gradient(#D39F9F, #D39F9F) center / 1px 14px no-repeat;
}

/* 開いた状態：マイナス */
.lulu-notes .swell-block-accordion__item[open]
.swell-block-accordion__icon {
  background:
    linear-gradient(#D39F9F, #D39F9F) center / 14px 1px no-repeat;
}

/* NOTES：アイコンの右端位置をFAQと統一 */
.lulu-notes .swell-block-accordion__title {
  position: relative;
}

.lulu-notes .swell-block-accordion__icon {
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
}


/* ========================================
   NOTES：ホバー・開閉時の背景色
======================================== */

/* 通常時 */
.lulu-notes .swell-block-accordion__title {
  background: #FFF8F8;
  transition: background-color 0.3s ease;
}

/* PC：マウスホバー */
@media (hover: hover) {
  .lulu-notes .swell-block-accordion__title:hover {
    background: #FCEFEF;
  }
}

/* 開いているとき */
.lulu-notes .swell-block-accordion__item[open]
.swell-block-accordion__title {
  background: #FCEFEF;
}


