@charset "UTF-8";
/* ブレイクポイント */
/* ==========================================================================
   共通スタイル
   デザインパーツ集の「レイアウト パターン」全般で共通のスタイルをここにまとめる
   ========================================================================== */
.pt-heading {
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.5;
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .pt-heading {
    font-size: 1.5rem;
    margin-bottom: 40px;
  }
}

/* ---------------------------------------------------------------------------
   固定ページテンプレート（sass/project/_page-template.scss）側の
   ".page-child article h2" は、パターンを使わず自由にh2を作成した場合の
   デフォルト見出しスタイル（背景ボックス付き）。
   詳細度がこちらの .pt-heading より高いため、そのままだと上書きされてしまう。
   → パターン由来の見出し（.pt-heading が付いている場合）だけ、
     !important で明示的に上書きする。
   → _page-template.scss 側は変更しない（自由作成時の見た目はそのまま維持）
   --------------------------------------------------------------------------- */
.page-child article h2.pt-heading {
  border: none;
  background-color: transparent !important;
  color: #2D4064;
  font-family: "Noto Serif JP", serif !important;
  font-weight: 400 !important;
  font-size: 1.375rem !important;
  line-height: 1.5 !important;
  padding: 0 !important;
  margin: 0 0 20px !important;
}
@media (min-width: 768px) {
  .page-child article h2.pt-heading {
    font-size: 1.5rem !important;
    margin: 0 0 40px !important;
  }
}
@media (min-width: 992px) {
  .page-child article h2.pt-heading {
    font-size: 2rem !important;
  }
}

.page-child article h3.pt-heading-h3 {
  position: relative;
  border: none;
  background-color: transparent !important;
  color: #2D4064;
  font-family: "Noto Serif JP", serif !important;
  font-weight: 400 !important;
  font-size: 1.25rem !important;
  line-height: 1.5 !important;
  padding: 0 !important;
  padding-left: 28px !important;
  margin: 0 0 16px !important;
}
@media (min-width: 768px) {
  .page-child article h3.pt-heading-h3 {
    font-size: 1.5rem !important;
    margin: 0 0 20px !important;
  }
}
@media (min-width: 992px) {
  .page-child article h3.pt-heading-h3 {
    padding-left: 32px;
  }
}
.page-child article h3.pt-heading-h3::before {
  position: absolute;
  content: "";
  background-color: #7C879A;
  width: 14px;
  height: 14px;
  top: 10px;
  left: 0;
}
@media (min-width: 992px) {
  .page-child article h3.pt-heading-h3::before {
    font-weight: 400;
    width: 16px;
    height: 16px;
    top: 9.5px;
  }
}

/* チェックリスト（check.png を使用） */
.pt-checklist {
  list-style: none;
  padding-left: 0 !important;
  margin: 0 0 16px;
}
.pt-checklist li {
  position: relative;
  font-family: "Noto Serif JP", serif;
  padding-left: 32px;
  list-style-type: none !important;
  line-height: 1.6;
}
@media (min-width: 992px) {
  .pt-checklist li {
    font-size: 1.125rem;
    padding-left: 46px;
  }
}
.pt-checklist li:not(:last-child) {
  margin-bottom: 8px !important;
}
@media (min-width: 992px) {
  .pt-checklist li:not(:last-child) {
    margin-bottom: 20px !important;
  }
}
.pt-checklist li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background-image: url("../img/common/check.png");
  background-size: contain;
  background-repeat: no-repeat;
}
@media (min-width: 992px) {
  .pt-checklist li::before {
    width: 30px;
    height: 30px;
  }
}

.margin-no-bottom {
  margin-bottom: 0 !important;
}

.margin-no-top {
  margin-top: 0 !important;
}

/* ==========================================================================
   ボタン（矢印付き）
   - ボタンデザイン1：下層ページリンク（白背景・メインカラー枠）
   - ボタンデザイン2：CTA（サブカラー背景）
   矢印は mask-image で currentColor に追従させているので、
   テキスト色を反転させれば矢印も自動で反転する
   ========================================================================== */
.pt-btn-wrap .wp-block-button {
  width: 100%;
}
@media (min-width: 768px) {
  .pt-btn-wrap .wp-block-button {
    width: initial;
  }
}
.pt-btn-wrap .wp-block-button__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 16px 24px;
  font-size: 0.875rem;
  line-height: 1;
  border: 1px solid currentColor;
  line-height: 1;
  letter-spacing: 0.17em;
  text-decoration: none;
  -webkit-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
  transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
}
@media (min-width: 768px) {
  .pt-btn-wrap .wp-block-button__link {
    gap: 50px;
  }
}
.pt-btn-wrap .wp-block-button__link::after {
  content: "";
  display: inline-block;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 14px;
  height: 14px;
  background-color: currentColor;
  mask-image: url("../img/common/arrow.svg");
  -webkit-mask-image: url("../img/common/arrow.svg");
  mask-size: contain;
  -webkit-mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
}

/* ボタンデザイン1：下層ページリンク */
.pt-btn-wrap--main .wp-block-button__link {
  background-color: #fff;
  color: #2D4064;
}
.pt-btn-wrap--main .wp-block-button__link:hover {
  background-color: #2D4064;
  color: #fff;
}

/* ボタンデザイン2：CTA */
.pt-btn-wrap--sub .wp-block-button__link {
  background-color: #BFA100;
  border-color: #BFA100;
  color: #fff;
}
.pt-btn-wrap--sub .wp-block-button__link:hover {
  background-color: #fff;
  color: #BFA100;
}

@media (min-width: 768px) {
  .tel-button {
    display: none !important;
  }
}
.tel-button .wp-block-button {
  width: 100%;
}
.tel-button .wp-block-button__link {
  background-color: #fff;
  border: 1px solid #2D4064;
  color: #2D4064;
  line-height: 1.22;
  -webkit-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
  transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
  text-decoration: none;
}
.tel-button .wp-block-button__link .span01 {
  font-size: 0.875rem;
  padding-right: 6px;
}
.tel-button .wp-block-button__link .span02 {
  font-size: 1.125rem;
  letter-spacing: 0.12em;
}
.tel-button .wp-block-button__link:hover {
  background-color: #2D4064;
  color: #fff;
}

/* ==========================================================================
   パターン 治療費用
   ========================================================================== */
/* ==========================================================================
   医師紹介
   ========================================================================== */
.pt-group.pt-profile:first-child {
  border-top: 1px solid #CFCFCF;
}

.pt-group.pt-profile {
  border-bottom: 1px solid #CFCFCF;
  padding-top: 20px;
  padding-bottom: 32px;
}
@media (min-width: 768px) {
  .pt-group.pt-profile {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
.pt-group.pt-profile .pt-profile-row {
  gap: 20px;
}
@media (min-width: 768px) {
  .pt-group.pt-profile .pt-profile-row {
    gap: 40px;
  }
}
@media (min-width: 1200px) {
  .pt-group.pt-profile .pt-profile-row {
    gap: 64px;
  }
}
.pt-group.pt-profile .pt-profile-head {
  border-left: 2px solid #2D4064;
  margin-right: 16px;
  margin-left: 16px;
  margin-bottom: 24px;
  padding-left: 20px;
}
@media (min-width: 768px) {
  .pt-group.pt-profile .pt-profile-head {
    margin-right: 0;
    margin-left: 0;
  }
}
@media (min-width: 992px) {
  .pt-group.pt-profile .pt-profile-head {
    margin-bottom: 40px;
  }
}
.pt-group.pt-profile .pt-profile-position {
  color: #8C8480;
  font-size: 0.875rem;
  line-height: 1;
  letter-spacing: 0.07em;
  margin-bottom: 12px;
}
@media (min-width: 768px) {
  .pt-group.pt-profile .pt-profile-position {
    margin-bottom: 20px;
  }
}
.pt-group.pt-profile .pt-profile-nameBox {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
}
.pt-group.pt-profile .pt-profile-name {
  font-size: 1.25rem;
  font-family: "Noto Serif JP", serif;
  line-height: 1;
  letter-spacing: 0.02em;
  margin-bottom: 0;
}
.pt-group.pt-profile .pt-profile-ruby {
  color: #8C8480;
  font-size: 0.75rem;
  font-family: "Open Sans", sans-serif;
  line-height: 1;
  letter-spacing: 0.09em;
}
.pt-group.pt-profile .pt-profile-image {
  margin-right: 16px;
  margin-left: 16px;
}
@media (min-width: 768px) {
  .pt-group.pt-profile .pt-profile-image {
    padding-right: initial;
    padding-left: initial;
  }
}
@media (min-width: 768px) {
  .pt-group.pt-profile .profile-table td {
    padding-left: 16px !important;
  }
}
@media (max-width: 768px) {
  .pt-group.pt-profile .profile-table tbody th {
    padding-bottom: 0 !important;
  }
}
@media (min-width: 768px) {
  .pt-group.pt-profile .profile-table tbody tr:last-child th,
  .pt-group.pt-profile .profile-table tbody tr:last-child td {
    padding-bottom: 0 !important;
  }
}
.pt-group.pt-profile .wp-block-list {
  padding-left: 16px !important;
}
.pt-group.pt-profile .wp-block-details summary {
  color: #004DDE;
  font-size: 1rem;
  font-weight: 300 !important;
  font-family: "Noto Serif JP", serif;
  text-decoration: underline;
  list-style: none;
}
@media (min-width: 992px) {
  .pt-group.pt-profile .wp-block-details summary {
    font-size: 1.125rem;
  }
}
.pt-group.pt-profile .note-row {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding-bottom: 16px;
}
.pt-group.pt-profile .note-row.top-padding {
  padding-top: 16px;
}
.pt-group.pt-profile .note-row.border {
  border-bottom: 1px dashed #707070;
}
.pt-group.pt-profile .note-row p:last-child {
  width: calc(100% - 24px);
}

/* ==========================================================================
   症例紹介
========================================================================== */
.pt-group.pt-case:not(:last-child) {
  margin-bottom: 60px;
}
@media (min-width: 992px) {
  .pt-group.pt-case:not(:last-child) {
    margin-bottom: 140px;
  }
}

.pt-group.pt-case .case-num {
  color: #BFA100;
  line-height: 1;
  font-size: 0.875rem;
  font-weight: 400;
  font-family: "Open Sans", sans-serif;
  letter-spacing: 0.1em;
  margin-bottom: 6px;
}
@media (min-width: 768px) {
  .pt-group.pt-case .case-num {
    margin-bottom: 8px;
  }
}
.pt-group.pt-case .case-title {
  border: none !important;
  color: #575757 !important;
  font-size: 1.25rem !important;
  font-weight: 400 !important;
  font-family: "Noto Serif JP", serif;
  line-height: 1.4 !important;
  line-height: 1.4 !important;
  margin-top: 0 !important;
  margin-bottom: 20px !important;
  padding-bottom: 0 !important;
  padding-left: 0 !important;
}
@media (min-width: 768px) {
  .pt-group.pt-case .case-title {
    margin-bottom: 40px !important;
  }
}
@media (min-width: 992px) {
  .pt-group.pt-case .case-title {
    font-size: 2rem !important;
  }
}
.pt-group.pt-case .case-age {
  position: relative;
  font-size: 0.9375rem;
  line-height: 1.4;
  margin-bottom: 14px;
  padding-left: 18px;
}
@media (min-width: 768px) {
  .pt-group.pt-case .case-age {
    margin-bottom: 16px;
  }
}
.pt-group.pt-case .case-age::before {
  position: absolute;
  content: "";
  background-color: #BFA100;
  width: 10px;
  height: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
}
.pt-group.pt-case .case-group {
  background-color: #fff;
  padding: 20px;
}
@media (min-width: 992px) {
  .pt-group.pt-case .case-group {
    padding: 40px 40px 56px;
  }
}
.pt-group.pt-case .case-column-items {
  gap: 10px;
}
@media (min-width: 768px) {
  .pt-group.pt-case .case-column-items {
    gap: 16px;
  }
}
@media (min-width: 992px) {
  .pt-group.pt-case .case-column-items {
    gap: 40px;
  }
}
.pt-group.pt-case .case-column-item .wp-block-image {
  margin-bottom: 0;
}
.pt-group.pt-case .case-column-top-text {
  font-size: 0.875rem;
  line-height: 1.5;
}
.pt-group.pt-case .case-column-top-text:not(:last-child) {
  margin-bottom: 14px;
}
.pt-group.pt-case .case-other {
  border-bottom: 1px solid #DADADA;
}
.pt-group.pt-case .case-other-items {
  display: grid !important;
  grid-template-columns: 1fr !important;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
}
@media (min-width: 576px) {
  .pt-group.pt-case .case-other-items {
    grid-template-columns: 1fr 1fr !important;
  }
}
@media (min-width: 768px) {
  .pt-group.pt-case .case-other-items {
    grid-template-columns: 24.5% 24.5% 24.5% 24.5% !important;
    gap: 0.6%;
  }
}
.pt-group.pt-case .case-other-items:not(:last-child) {
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .pt-group.pt-case .case-other-items:not(:last-child) {
    margin-bottom: 32px;
  }
}
.pt-group.pt-case .case-other-item .wp-block-image {
  margin-bottom: 10px;
}
.pt-group.pt-case .case-other-item__text {
  font-size: 0.8125rem;
  line-height: 1.5;
}
.pt-group.pt-case .case-summary-title {
  color: #2D4064;
  font-size: 1.125rem;
  font-family: "Noto Serif JP";
  line-height: 140%;
  letter-spacing: 0.01em;
  margin-top: 0 !important;
  margin-bottom: 20px;
  padding-left: 0 !important;
}
@media (min-width: 992px) {
  .pt-group.pt-case .case-summary-title {
    font-size: 1.5rem;
  }
}
.pt-group.pt-case .case-summary-title::before {
  display: none;
}
.pt-group.pt-case .case-summary-text {
  font-size: 0.875rem;
  line-height: 1.6;
}
.pt-group.pt-case .case-summary-text:not(:last-child) {
  margin-bottom: 14px;
}
.pt-group.pt-case .case-summary-items {
  gap: 0 !important;
}
@media (min-width: 768px) {
  .pt-group.pt-case .case-summary-items {
    display: grid;
    grid-template-columns: 23% 18% 18% 18% 23%;
    -webkit-column-gap: 8px;
       -moz-column-gap: 8px;
            column-gap: 8px;
  }
}
.pt-group.pt-case .case-summary-item:first-child {
  border-top: 1px solid #CFCFCF;
}
@media (min-width: 768px) {
  .pt-group.pt-case .case-summary-item:first-child {
    border-top: none;
    padding-left: 0;
  }
}
@media (min-width: 768px) {
  .pt-group.pt-case .case-summary-item:last-child {
    border-right: none;
    padding-right: 0;
  }
}
.pt-group.pt-case .case-summary-item {
  border-bottom: 1px solid #CFCFCF;
  padding-top: 20px;
  padding-bottom: 20px;
}
@media (min-width: 768px) {
  .pt-group.pt-case .case-summary-item {
    border-right: 1px solid #CFCFCF;
    border-bottom: none;
    padding-top: 0;
    padding-bottom: 0;
    padding-right: 20px;
    padding-left: 20px;
  }
}
.pt-group.pt-case .case-summary-item__title {
  background-color: #2D4064;
  color: #fff;
  display: inline-block;
  font-size: 0.75rem;
  line-height: 1;
  letter-spacing: 0.11em;
  margin-bottom: 12px;
  padding: 6px 16px;
}
.pt-group.pt-case .case-summary-item__text {
  font-size: 0.75rem;
  line-height: 1.4;
}
.pt-group.pt-case .before,
.pt-group.pt-case .after {
  position: relative;
}
.pt-group.pt-case .before::before,
.pt-group.pt-case .after::before {
  position: absolute;
  content: "";
  color: #fff;
  font-size: 0.625rem;
  letter-spacing: 0.2em;
  padding: 6px 8px;
  top: 0;
  left: 0;
  text-align: center;
  width: 70px;
  height: 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.pt-group.pt-case .before::before {
  content: "BEFORE";
  background-color: #2D4064;
}
.pt-group.pt-case .after::before {
  content: "AFTER";
  background-color: #BFA100;
}

/* ==========================================================================
   パターン1・パターン3（画像＋テキスト 2カラム）
   - パターン1：テキスト左・画像右（PC）
   - パターン3：画像左・テキスト右（PC）
   - SP：見出し → 画像 → テキスト の順で共通表示
   ========================================================================== */
.pt-img-text_row {
  gap: 24px;
}
@media (min-width: 768px) {
  .pt-img-text_row {
    gap: 40px;
  }
}

.pt-img-text_text-col p:not(:last-child) {
  margin-bottom: 16px;
}

/* パターン1：PC時はテキスト左・画像右 */
.pt-img-text_row--pt1 .pt-img-text_image-col {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
@media (min-width: 992px) {
  .pt-img-text_row--pt1 .pt-img-text_image-col {
    -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
            order: initial;
  }
}
.pt-img-text_row--pt1 .pt-img-text_image-col .wp-block-image {
  margin-right: 16px;
  margin-left: 16px;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  .pt-img-text_row--pt1 .pt-img-text_image-col .wp-block-image {
    margin-right: initial;
    margin-left: initial;
  }
}
.pt-img-text_row--pt1 .pt-img-text_text-col {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
@media (min-width: 992px) {
  .pt-img-text_row--pt1 .pt-img-text_text-col {
    -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
            order: initial;
  }
}

/* パターン3：PC時は画像左・テキスト右（DOM順そのままなので上書き不要だが明示） */
.pt-img-text__row--pt3 {
  gap: 24px;
}
@media (min-width: 768px) {
  .pt-img-text__row--pt3 {
    gap: 40px;
  }
}
.pt-img-text__row--pt3 .wp-block-image {
  margin-bottom: 0;
}

/* ==========================================================================
   パターン5
   ========================================================================== */
/* ==========================================================================
   パターン6
   ========================================================================== */
.pt-group.pt06 .pt-column-items {
  gap: 20px;
}
@media (min-width: 768px) {
  .pt-group.pt06 .pt-column-items {
    gap: 40px;
  }
}
.pt-group.pt06 .pt-column-item {
  background-color: #fff;
  padding: 24px 20px;
}
@media (min-width: 768px) {
  .pt-group.pt06 .pt-column-item {
    padding: 24px 24px 40px;
  }
}
.pt-group.pt06 .heading {
  border-bottom: 1px solid #DBE5F1;
  font-size: 1.125rem;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  margin-bottom: 16px;
  padding-bottom: 20px;
}
@media (min-width: 992px) {
  .pt-group.pt06 .heading {
    font-size: 1.125rem;
  }
}
.pt-group.pt06 .pt-textBox p {
  font-size: 0.875rem;
}

/* ==========================================================================
   パターン7
   ========================================================================== */
.pt-group.pt07 .pt07-item:not(:last-child) {
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .pt-group.pt07 .pt07-item:not(:last-child) {
    margin-bottom: 40px;
  }
}
.pt-group.pt07 .pt07-item {
  background-color: #fff;
  padding: 32px 20px;
}
@media (min-width: 992px) {
  .pt-group.pt07 .pt07-item {
    padding: 40px;
  }
}
.pt-group.pt07 .pt07-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0;
}
@media (min-width: 992px) {
  .pt-group.pt07 .pt07-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    gap: 40px;
  }
}
.pt-group.pt07 .pt07-row .pt07-image-col {
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
}
@media (min-width: 992px) {
  .pt-group.pt07 .pt07-row .pt07-image-col {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
}
.pt-group.pt07 .pt07-row .pt07-image-col .wp-block-image {
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  .pt-group.pt07 .pt07-row .pt07-image-col .wp-block-image {
    margin-bottom: 0;
  }
}
.pt-group.pt07 .pt07-row .pt07-text-col {
  display: contents;
}
@media (min-width: 992px) {
  .pt-group.pt07 .pt07-row .pt07-text-col {
    display: initial;
  }
}
.pt-group.pt07 .point-num {
  color: #BFA100;
  font-size: 0.875rem;
  font-family: "Open Sans", sans-serif;
  line-height: 1;
  letter-spacing: 0.114em;
  margin-bottom: 10px;
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
}
@media (min-width: 992px) {
  .pt-group.pt07 .point-num {
    margin-bottom: 16px;
    -webkit-box-ordinal-group: inherit;
        -ms-flex-order: inherit;
            order: inherit;
  }
}
.pt-group.pt07 .heading {
  border: none !important;
  color: #575757 !important;
  font-size: 1.25rem !important;
  font-weight: 400 !important;
  font-family: "Noto Serif JP", serif;
  line-height: 1.4 !important;
  margin-top: 0 !important;
  margin-bottom: 20px !important;
  padding-bottom: 0 !important;
  padding-left: 0 !important;
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
}
@media (min-width: 992px) {
  .pt-group.pt07 .heading {
    font-size: 1.5rem !important;
    line-height: 1.5 !important;
    margin-bottom: 24px !important;
    -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
            order: initial;
  }
}
.pt-group.pt07 .heading::before {
  display: none;
}
.pt-group.pt07 .pt-textBox p {
  font-size: 0.9375rem;
}
.pt-group.pt07 .wp-block-image {
  margin-bottom: 0;
}

/* ==========================================================================
   パターン9
   ========================================================================== */
.pt-group.pt09 .pt09-item:first-child {
  border-top: 1px solid #CFCFCF;
}
.pt-group.pt09 .pt09-item {
  border-bottom: 1px solid #CFCFCF;
  padding: 32px 20px;
}
@media (min-width: 992px) {
  .pt-group.pt09 .pt09-item {
    padding: 40px 20px;
  }
}
.pt-group.pt09 .pt09-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0;
}
@media (min-width: 768px) {
  .pt-group.pt09 .pt09-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 40px;
  }
}
@media (min-width: 992px) {
  .pt-group.pt09 .pt09-row {
    gap: 60px;
  }
}
.pt-group.pt09 .pt09-text-col {
  display: contents;
}
@media (min-width: 768px) {
  .pt-group.pt09 .pt09-text-col {
    display: initial;
  }
}
.pt-group.pt09 .pt09-image-col {
  -webkit-box-ordinal-group: -1;
      -ms-flex-order: -2;
          order: -2;
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .pt-group.pt09 .pt09-image-col {
    -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
            order: initial;
    margin-bottom: 0;
  }
}
.pt-group.pt09 .point-num {
  color: #BFA100;
  font-size: 0.875rem;
  font-family: "Open Sans", sans-serif;
  font-weight: 400 !important;
  line-height: 1;
  letter-spacing: 0.114em;
  margin-bottom: 10px;
  -webkit-box-ordinal-group: -1;
      -ms-flex-order: -2;
          order: -2;
}
@media (min-width: 768px) {
  .pt-group.pt09 .point-num {
    -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
            order: initial;
  }
}
@media (min-width: 992px) {
  .pt-group.pt09 .point-num {
    margin-bottom: 16px;
  }
}
.pt-group.pt09 .point-num span {
  font-size: 1.125rem;
  padding-left: 4px;
}
@media (min-width: 992px) {
  .pt-group.pt09 .point-num span {
    font-size: 1.5rem;
    padding-left: 6px;
  }
}
.pt-group.pt09 .heading {
  border: none !important;
  color: #575757 !important;
  font-size: 1.25rem !important;
  font-weight: 400 !important;
  font-family: "Noto Serif JP", serif;
  line-height: 1.4 !important;
  margin-top: 0 !important;
  margin-bottom: 20px !important;
  padding-bottom: 0 !important;
  padding-left: 0 !important;
  -webkit-box-ordinal-group: -1;
      -ms-flex-order: -2;
          order: -2;
}
@media (min-width: 768px) {
  .pt-group.pt09 .heading {
    -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
            order: initial;
  }
}
@media (min-width: 992px) {
  .pt-group.pt09 .heading {
    font-size: 1.5rem !important;
    line-height: 1.5 !important;
    margin-bottom: 24px !important;
  }
}
.pt-group.pt09 .wp-block-image {
  margin-bottom: 0;
}

/* ==========================================================================
   傷跡・瘢痕に対する自毛植毛 ページ
   ========================================================================== */
.page-id-248 .pt-group.pt-case {
  margin-bottom: 0;
}
.page-id-248 .pt-group.pt09 h3.heading::before {
  display: none;
}/*# sourceMappingURL=custom.css.map */