@charset "UTF-8";
/* ==========================================================================
   ネス駒沢クリニック 新規パーツ（ブロックエディタ用）
   nes-parts.css

   ・既存パーツはスプシの「識別クラス」をそのまま付けているので、
     見た目は main.css の既存スタイルがそのまま効きます。
     このファイルはブロックエディタ化で崩れる部分の「補正」と、
     新規パーツ（ステップ／見出し付き枠／数字リスト）だけを書いています。
   ・main.css / style.css の「後」に読み込んでください
========================================================================== */


/* ==========================================================================
   共通補正：ブロックの見出しに付く余白（main.css の h2/h3/h4.wp-block-heading）
   既存パーツ内では元の余白に戻す
========================================================================== */
.wp-block-group.gutters h2.wp-block-heading:first-child,
.wp-block-group.gutters > .wp-block-group__inner-container > h2.wp-block-heading:first-child,
.qa h3.wp-block-heading.question,
.sp_box h2.wp-block-heading,
.authorProfile h5.wp-block-heading,
.highlight02 h3.wp-block-heading:first-child,
.highlight02 > .wp-block-group__inner-container > h3.wp-block-heading:first-child,
.wp-block-group[class*="is-style-nes-"] h2.wp-block-heading:first-child,
.wp-block-group[class*="is-style-nes-"] h3.wp-block-heading:first-child,
.wp-block-group[class*="is-style-nes-"] h4.wp-block-heading:first-child,
.box_border h3.wp-block-heading:first-child,
.highlight h3.wp-block-heading:first-child {
  margin-top: 0 !important;
}


/* ==========================================================================
   共通補正：グループブロックの内側ラッパー
   クラシックテーマでは表側でグループの中に
   <div class="wp-block-group__inner-container"> が自動で挿入されるため、
   「>」で指定している既存CSSを内側ラッパー経由でも効くようにする
========================================================================== */

/* No.10 目次（menu_custom） … main.css「.menu_list_box > ol」の補完 */
.menu_list_box > .wp-block-group__inner-container > ol > li > ol {
  list-style: none;
  padding: 0;
}
.menu_list_box > .wp-block-group__inner-container > ol > li > ol li {
  position: relative;
  padding-left: 15px;
}
.menu_list_box > .wp-block-group__inner-container > ol > li > ol li:before {
  content: "";
  width: 5px;
  height: 1px;
  background: #666666;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}

/* No.19 記事執筆者（authorProfile） … main.css「.authorProfileInner」の flex 補完 */
.authorProfileInner > .wp-block-group__inner-container {
  width: 100%;
}
@media (min-width: 768px) {
  .authorProfileInner > .wp-block-group__inner-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
.authorProfile figure.wp-block-image {
  margin: 0;
}
@media (max-width: 767px) {
  .authorProfile figure.wp-block-image {
    margin: auto;
  }
}
/* 元の <ruby> の代わり（ブロックでは ruby が使えないため段落で再現） */
.authorProfile .txtBox .author_name {
  margin: 0;
  color: #666666;
  font-family: "Noto Serif JP", serif;
  font-size: 160%;
  font-weight: bold;
  letter-spacing: 0.25em;
  line-height: 1.5;
}
.authorProfile .txtBox .author_kana {
  margin: 0;
  font-size: 85%;
  letter-spacing: 0.25em;
}
@media (max-width: 767px) {
  .authorProfile .txtBox .author_name,
  .authorProfile .txtBox .author_kana {
    text-align: center;
  }
}

/* ==========================================================================
   No.05 枠線ボックス（box_border）／ No.18 チェックリスト（ul_check）
   main.css と同じ指定を、ブロック（グループ・リスト）でも確実に効くよう強めて再指定
   チェックアイコンは uploads の画像に頼らず、同じ形のSVGを埋め込み
========================================================================== */
.wp-block-group.box_border {
  border: solid 5px #fbf4f5;
  padding: 30px 15px;
  background: #fff;
}
@media (min-width: 768px) {
  .wp-block-group.box_border {
    padding: 30px;
  }
}
.wp-block-group.box_border > .wp-block-group__inner-container > :last-child,
.wp-block-group.box_border > :last-child {
  margin-bottom: 0;
}
ul.wp-block-list.ul_check {
  padding: 0;
  list-style: none;
}
ul.wp-block-list.ul_check li {
  position: relative;
  padding-left: 25px;
  margin: 0.5em 0;
}
ul.wp-block-list.ul_check li:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%234b4b4b' d='M335.644 414.285H53.466V132.107h237.632l53.466-53.467H0v389.111h389.106V323.746l-53.462 53.467z'/%3E%3Cpath fill='%234b4b4b' d='M158.903 163.312l-54.989 54.999 89.52 89.511 54.989 54.998 54.989-54.998L512 99.247l-54.998-54.998-208.571 208.574z'/%3E%3C/svg%3E") no-repeat center/cover;
}


/* No.18 チェックリスト（ul_check） … 元は span でマーカー。ブロックでは太字で同じ表現に */
.ul_check li strong {
  background: linear-gradient(transparent 70%, rgba(224, 159, 165, 0.5) 0%);
  font-weight: bold;
}


/* ==========================================================================
   No.09 アコーディオン（詳細ブロック版）
   アトピー性皮膚炎ページの「.qa .question / .answer」と同じ見た目を
   詳細ブロック（details）で再現。JS不要でクリック開閉します
   使い方：
     ・グループ（追加CSSクラス：container gutters qa）の中に詳細ブロックを並べる
     ・または詳細ブロック単体に追加CSSクラス「nes-faq」
========================================================================== */
.qa .wp-block-details,
.wp-block-details.nes-faq {
  margin: 0;
  padding: 0;
  border: 0;
  overflow: hidden; /* 開閉アニメーション用（nes-parts.js） */
}
.qa .wp-block-details > *,
.wp-block-details.nes-faq > * {
  margin-top: 0;
  margin-bottom: 0;
}
/* 質問（= 元の h3.question） */
.qa .wp-block-details > summary,
.wp-block-details.nes-faq > summary {
  display: block;
  position: relative;
  margin: 0 0 20px;
  padding: 10px 30px 10px 35px;
  border: solid 1px #e7bdc1;
  color: #666666;
  font-family: "Times New Roman", "游明朝体", "Yu Mincho", YuMincho,
    "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", serif;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  list-style: none;
  cursor: pointer;
}
@media (min-width: 768px) {
  .qa .wp-block-details > summary,
  .wp-block-details.nes-faq > summary {
    font-size: 2rem;
  }
}
.qa .wp-block-details > summary::-webkit-details-marker,
.wp-block-details.nes-faq > summary::-webkit-details-marker {
  display: none;
}
.qa .wp-block-details > summary::marker,
.wp-block-details.nes-faq > summary::marker {
  content: "";
}
.qa .wp-block-details > summary:before,
.wp-block-details.nes-faq > summary:before {
  content: "Q.";
  position: absolute;
  top: 0.4em;
  left: 10px;
  color: #e8bdc1;
}
.qa .wp-block-details > summary:after,
.wp-block-details.nes-faq > summary:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 15px;
  left: auto;
  width: 0;
  height: 0;
  margin: auto;
  border-style: solid;
  border-width: 10px 5px 0 5px;
  border-color: #e09fa5 transparent transparent transparent;
  background: transparent;
  transition: 0.3s;
}
.qa .wp-block-details[open]:not(.is-closing) > summary:after,
.wp-block-details.nes-faq[open]:not(.is-closing) > summary:after {
  transform: rotate(180deg);
}
/* 回答（= 元の .answer） */
.qa .wp-block-details > summary ~ *,
.wp-block-details.nes-faq > summary ~ * {
  position: relative;
  padding-left: 35px;
}
.qa .wp-block-details > summary ~ * + *,
.wp-block-details.nes-faq > summary ~ * + * {
  margin-top: 1em;
}
.qa .wp-block-details > summary + *:before,
.wp-block-details.nes-faq > summary + *:before {
  content: "A.";
  position: absolute;
  top: -3px;
  left: 10px;
  color: #e2c778;
  font-family: -apple-system, BlinkMacSystemFont, Arial, "游ゴシック体",
    YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic",
    "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  font-size: 1.6rem;
  font-weight: normal;
}
@media (min-width: 768px) {
  .qa .wp-block-details > summary + *:before,
  .wp-block-details.nes-faq > summary + *:before {
    font-size: 2rem;
  }
}
.qa .wp-block-details[open] > :last-child,
.wp-block-details.nes-faq[open] > :last-child {
  margin-bottom: 5%;
}


/* ==========================================================================
   No.07 / 08 Web予約ボタン
   ボタンブロック ＞ スタイル「矢印」（is-style-arrow）
   main.css の「a.button.arrow」と同じ見た目＋文字色を白に固定
========================================================================== */
.wp-block-buttons:has(.is-style-arrow),
.wp-block-buttons:has(.is-style-nes-arrow) {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.wp-block-buttons.is-content-justification-center {
  justify-content: center;
}
.wp-block-buttons > .wp-block-button.is-style-arrow,
.wp-block-buttons > .wp-block-button.is-style-nes-arrow {
  width: 100%;
  max-width: 320px;
}
.wp-block-button.is-style-arrow .wp-block-button__link ,
.wp-block-button.is-style-nes-arrow .wp-block-button__link {
  display: inline-block;
  position: relative;
  box-sizing: border-box;
  width: 100%;
  max-width: 320px;
  min-width: 0;
  margin: 0;
  padding: 1em 1em;
  border: #e09fa5 solid 1px;
  border-radius: 0;
  background: #e09fa5;
  color: #fff !important;
  font-family: -apple-system, BlinkMacSystemFont, Arial, "游ゴシック体",
    YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic",
    "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  font-size: 1.6rem;
  line-height: 1;
  text-align: center;
  text-decoration: none !important;
  transition: 0.3s;
}
.wp-block-button.is-style-arrow .wp-block-button__link:after ,
.wp-block-button.is-style-nes-arrow .wp-block-button__link:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 49%;
  right: 5%;
  margin: auto;
  width: 20px;
  height: 5px;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: skew(45deg);
  transition: 0.2s;
}
.wp-block-button.is-style-arrow .wp-block-button__link:hover ,
.wp-block-button.is-style-nes-arrow .wp-block-button__link:hover {
  border: 1px solid #e09fa5;
  background: #da8c93;
  color: #fff !important;
}
.wp-block-button.is-style-arrow .wp-block-button__link:hover:after ,
.wp-block-button.is-style-nes-arrow .wp-block-button__link:hover:after {
  right: 4%;
}


/* ==========================================================================
   【新規】No.06 ステップ（治療・施術の流れ／事前準備の流れ など）
   .nes-step > .nes-step__item（h3.nes-step__title ＋ 本文）
   番号は CSS で自動採番。ステップを複製するだけで連番になります
========================================================================== */
.nes-step {
  counter-reset: nes-step;
  margin: 0 0 2em;
}
.nes-step .nes-step__item {
  position: relative;
  counter-increment: nes-step;
  min-height: 56px;
  margin: 0;
  padding: 0 0 36px 80px;
  background: linear-gradient(#f0d3d6, #f0d3d6) no-repeat 27px 64px / 2px calc(100% - 72px);
}
.nes-step .nes-step__item:last-child {
  padding-bottom: 0;
  background: none;
}
.nes-step .nes-step__item::before {
  content: "STEP";
  position: absolute;
  top: 0;
  left: 0;
  box-sizing: border-box;
  width: 56px;
  height: 56px;
  padding-top: 11px;
  border-radius: 50%;
  background: #e09fa5;
  color: #fff;
  font-family: "Times New Roman", "游明朝体", "Yu Mincho", YuMincho, serif;
  font-size: 1rem;
  line-height: 1;
  letter-spacing: 0.1em;
  text-align: center;
}
.nes-step .nes-step__item::after {
  content: counter(nes-step);
  position: absolute;
  top: 23px;
  left: 0;
  width: 56px;
  color: #fff;
  font-family: "Times New Roman", "游明朝体", "Yu Mincho", YuMincho, serif;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
.nes-step .nes-step__title {
  margin: 0 0 0.6em !important;
  padding: 14px 0 0 !important;
  border: 0 !important;
  color: #54484b;
  font-size: 1.9rem;
  line-height: 1.5;
  text-align: left;
}
.nes-step .nes-step__title::after {
  content: none;
}
.nes-step .nes-step__item > :last-child,
.nes-step .nes-step__item > .wp-block-group__inner-container > :last-child {
  margin-bottom: 0 !important;
}
@media (max-width: 767px) {
  .nes-step .nes-step__item {
    min-height: 46px;
    padding: 0 0 28px 60px;
    background-position: 22px 54px;
    background-size: 2px calc(100% - 62px);
  }
  .nes-step .nes-step__item::before {
    width: 46px;
    height: 46px;
    padding-top: 9px;
    font-size: 0.9rem;
  }
  .nes-step .nes-step__item::after {
    top: 19px;
    width: 46px;
    font-size: 1.8rem;
  }
  .nes-step .nes-step__title {
    padding-top: 10px !important;
    font-size: 1.7rem;
  }
}


/* ==========================================================================
   【新規】No.13 見出し付き枠
   .nes-titlebox > .nes-titlebox__title（h2〜h4どれでも可）＋ 本文
   タイトル帯は記事執筆者（authorProfile h5）と同じピンク帯に合わせています
========================================================================== */
.nes-titlebox {
  margin: 0 0 2em;
  padding: 0 30px 30px;
  border: solid 5px #fbf4f5;
  background: #fff;
}
.nes-titlebox .nes-titlebox__title {
  margin: 0 -30px 24px !important;
  padding: 8px 15px 5px !important;
  border: 0 !important;
  background: #e09fa5;
  color: #fff;
  font-size: 1.8rem;
  line-height: 1.5;
  text-align: left;
}
.nes-titlebox .nes-titlebox__title::after {
  content: none;
}
.nes-titlebox > :last-child,
.nes-titlebox > .wp-block-group__inner-container > :last-child {
  margin-bottom: 0 !important;
}
@media (max-width: 767px) {
  .nes-titlebox {
    padding: 0 15px 30px;
  }
  .nes-titlebox .nes-titlebox__title {
    margin: 0 -15px 20px !important;
    font-size: 1.6rem;
  }
}


/* ==========================================================================
   【新規】No.17 リスト（数字）
   番号付きリストに追加CSSクラス「ol_number」
   ul02 / ul_check と並ぶ見た目（マーカー色はテーマのピンク）
========================================================================== */
ol.ol_number {
  counter-reset: ol-number;
  padding: 0;
  list-style: none;
}
ol.ol_number > li {
  position: relative;
  counter-increment: ol-number;
  margin: 0.5em 0;
  padding-left: 30px;
}
ol.ol_number > li:before {
  content: counter(ol-number);
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #e09fa5;
  color: #fff;
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 20px;
  text-align: center;
}


/* ==========================================================================
   旧クラス互換（最初の版で作ったパーツ・登録済みパターン用）
   is-style-nes-border / gray / pink / arrow / check / number、nes-author
   → 現在のパーツ（box_border / highlight02 / highlight / ul02 / ul_check /
     ol_number）と同じ見た目で表示します
========================================================================== */
.wp-block-group.is-style-nes-border {
  border: solid 5px #fbf4f5;
  padding: 30px 15px;
  background: #fff;
}
@media (min-width: 768px) {
  .wp-block-group.is-style-nes-border {
    padding: 30px;
  }
}
.wp-block-group.is-style-nes-gray {
  padding: 4%;
  background: #f7f7f7;
}
.wp-block-group.is-style-nes-pink {
  padding: 4%;
  background: rgba(224, 159, 165, 0.1);
  color: #666666;
}
.wp-block-group.is-style-nes-border > :last-child,
.wp-block-group.is-style-nes-gray > :last-child,
.wp-block-group.is-style-nes-pink > :last-child,
.wp-block-group.is-style-nes-border > .wp-block-group__inner-container > :last-child,
.wp-block-group.is-style-nes-gray > .wp-block-group__inner-container > :last-child,
.wp-block-group.is-style-nes-pink > .wp-block-group__inner-container > :last-child {
  margin-bottom: 0;
}

/* リスト（三角）＝ ul02 */
ul.wp-block-list.is-style-nes-arrow {
  padding: 0 0 0 0.5em;
  list-style: none;
}
ul.wp-block-list.is-style-nes-arrow > li {
  position: relative;
  padding: 0 0 5px 14px;
  list-style: none;
}
ul.wp-block-list.is-style-nes-arrow > li:before {
  display: block;
  content: "";
  position: absolute;
  top: 8px;
  left: 3px;
  width: 0;
  height: 0;
  border: 5px solid transparent;
  border-left: 5px solid #e2c778;
}

/* リスト（チェック・ピンク）＝ is-style-nes-check
   診療ページ「こんな方におすすめ」（.med-point-list）と同じピンクのチェック。
   ul_check と併用してもこちらが優先されます */
ul.wp-block-list.is-style-nes-check.is-style-nes-check {
  margin: 0 0 1.5em;
  padding: 0;
  list-style: none;
}
ul.wp-block-list.is-style-nes-check.is-style-nes-check > li {
  position: relative;
  margin: 0 0 9px;
  padding-left: 26px;
  line-height: 1.8;
  color: #666666;
}
ul.wp-block-list.is-style-nes-check.is-style-nes-check > li:last-child {
  margin-bottom: 0;
}
ul.wp-block-list.is-style-nes-check.is-style-nes-check > li:before {
  content: "";
  position: absolute;
  top: calc(0.9em - 3px);
  left: 3px;
  box-sizing: border-box;
  width: 11px;
  height: 6px;
  border-left: 2px solid #e09fa5;
  border-bottom: 2px solid #e09fa5;
  background: none;
  border-radius: 0;
  transform: rotate(-45deg);
}
ul.wp-block-list.is-style-nes-check.is-style-nes-check > li:after {
  content: none;
}
ul.wp-block-list.is-style-nes-check.is-style-nes-check strong {
  background: linear-gradient(transparent 65%, rgba(224, 159, 165, 0.45) 0%);
  font-weight: bold;
}

/* リスト（数字）＝ ol_number */
ol.wp-block-list.is-style-nes-number {
  counter-reset: ol-number;
  padding: 0;
  list-style: none;
}
ol.wp-block-list.is-style-nes-number > li {
  position: relative;
  counter-increment: ol-number;
  margin: 0.5em 0;
  padding-left: 30px;
}
ol.wp-block-list.is-style-nes-number > li:before {
  content: counter(ol-number);
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #e09fa5;
  color: #fff;
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 20px;
  text-align: center;
}

/* ==========================================================================
   No.19 監修者紹介（nes-author）
   写真（丸）＋ 肩書き ＋［監修者］ラベル ＋ 氏名、下に説明文
   ※ グループの内側ラッパー（wp-block-group__inner-container）があってもなくても効く書き方
========================================================================== */
.wp-block-group.nes-author {
  box-sizing: border-box;
  margin: 60px 0 2em;
  padding: 24px;
  background: #ffffff;
  border: 1px solid #f0dfe1;
}
/* 編集画面ではブロックごとに上下・左右の余白が自動で付くため、パーツ内では打ち消す */
.nes-author .wp-block-group,
.nes-author .wp-block-image,
.nes-author .wp-block-paragraph,
.nes-author p {
  max-width: none;
  margin: 0;
}
/* 上段：写真＋肩書き・氏名 */
.nes-author .nes-author__head > .wp-block-group__inner-container,
.nes-author .nes-author__head:not(:has(> .wp-block-group__inner-container)) {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 24px;
  align-items: center;
}
.nes-author figure.nes-author__photo {
  width: auto;
  max-width: none;
  margin: 0;
}
.nes-author .nes-author__photo img {
  display: block;
  width: 150px;
  height: 150px;
  border: 4px solid #fff;
  border-radius: 50%;
  box-sizing: border-box;
  background: #f2e6e8;
  object-fit: cover;
}
.nes-author .nes-author__role {
  margin: 0 0 12px;
  color: #54484b;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
/* ［監修者］ラベル＋氏名を横並び */
.nes-author .nes-author__nameline > .wp-block-group__inner-container,
.nes-author .nes-author__nameline:not(:has(> .wp-block-group__inner-container)) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 18px;
}
.nes-author .nes-author__label {
  margin: 0;
  padding: 8px;
  background: #f0dfe1;
  color: #54484b;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.08em;
}
.nes-author .nes-author__name {
  margin: 0;
  color: #54484b;
  font-family: "Times New Roman", "游明朝体", "Yu Mincho", YuMincho,
    "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", serif;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.1em;
}
/* 下段：説明文 */
.nes-author .nes-author__text {
  margin: 16px 0 0;
  color: #666666;
  font-size: 1.5rem;
  line-height: 1.9;
}
.nes-author .nes-author__text + .nes-author__text {
  margin-top: 1em;
}
@media (max-width: 767px) {
  .wp-block-group.nes-author {
    padding: 20px 16px;
  }
  .nes-author .nes-author__head > .wp-block-group__inner-container,
  .nes-author .nes-author__head:not(:has(> .wp-block-group__inner-container)) {
    grid-template-columns: 96px 1fr;
    gap: 16px;
  }
  .nes-author .nes-author__photo img {
    width: 96px;
    height: 96px;
    border-width: 3px;
  }
  .nes-author .nes-author__role {
    margin-bottom: 8px;
    font-size: 1.3rem;
  }
  .nes-author .nes-author__label {
    padding: 6px;
    font-size: 1.2rem;
  }
  .nes-author .nes-author__name {
    font-size: 1.8rem;
  }
  .nes-author .nes-author__text {
    margin-top: 14px;
    font-size: 1.4rem;
  }
}


/* ==========================================================================
   パーツ一覧ページ専用（確認用。実ページでは使いません）
========================================================================== */
.nes-parts-label {
  margin: 0 0 8px;
  padding: 6px 12px;
  background: #54484b;
  color: #fff;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.5;
}
.nes-parts-note {
  margin: 0 0 28px;
  padding: 10px 12px;
  border: 1px dashed #ccc;
  background: #fafafa;
  color: #888;
  font-size: 1.3rem;
  line-height: 1.7;
}
.nes-parts-item {
  margin: 0 0 90px;
}
.nes-parts-note + .wp-block-heading {
  margin-top: 0 !important;
}
