/* --- class="mark" の文字をファンシーなピンクの円角背景で装飾 --- ここから　*/
.mark {
  /* 背景装飾の基準点とする */
  position: relative;
  /* 文字を太字にする */
  font-weight: 700;
  /* 文字が背景に乗っているように見せるため、文字色は通常通り */
  color: inherit; 
  /* 擬似要素に背景を与えるため、パディングを確保する */
  padding: 0 2px; 
  /* テキストが改行された場合にも対応できるよう、インラインブロック要素化 */
  display: inline-block;
  z-index: 1;
}

.mark::before {
  content: "";
  /* 絶対配置でテキストの背面に固定 */
  position: absolute;
  /* 親要素 (.mark) のパディング領域も含めて全体を覆う */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* ファンシーピンクの背景色 */
  background-color: #F4CCCC;
  /* 角を丸くする */
  border-radius: 4px; 
  /* テキストの裏側に配置 */
  z-index: -1; 
}
/* --- class="mark" の文字をファンシーなピンクの円角背景で装飾 --- ここまで　*/

/* --- 画面幅が768px未満の場合に比較テーブルモジュールを非表示にする --- ここから　*/
@media (max-width: 767px) {
    .pricing-comparison.srp {
        display: none !important;
    }
}
/* --- 画面幅が768px未満の場合に比較テーブルモジュールを非表示にする --- ここまで　*/

/* --- 英単語が途中で切れるのを防ぐ設定 ---　ここから */
h1, h2, h3, .hs-richtext {
    word-break: normal !important;
    overflow-wrap: break-word !important; /* これがあれば英単語は適切に改行されます */
    word-wrap: break-word !important;
}

/* スマホでは強制的に改行を許可して、画面からはみ出すのを防ぐ */
@media (max-width: 767px) {
    h1, h2, h3, .hs-richtext, p, div {
        word-break: break-all !important; /* 必要なら単語の途中でも改行する */
        overflow-wrap: break-word !important;
    }
@media (max-width: 480px) {
    h1, h2, h3, .hs-richtext, p, div {
        word-break: break-all !important; /* 必要なら単語の途中でも改行する */
        overflow-wrap: break-word !important;
    }
}
/* --- 英単語が途中で切れるのを防ぐ設定 ---　ここまで */

/* --- 画面幅1229px以下：文字サイズ調整 ---　ここから */
@media (max-width: 1229px) {
    /* テンプレート見出し */
    .heading-text h1 { font-size: 36px !important; }
    .heading-text h2 { font-size: 29px !important; }
    .heading-text h3 { font-size: 23px !important; }
    .heading-text h4 { font-size: 20px !important; }
    .heading-text h5 { font-size: 18px !important; }
    .heading-text p { font-size: 16px !important; }

    /* リッチテキスト内の見出し */
    .hs-richtext h1 { font-size: 36px !important; }
    .hs-richtext h2 { font-size: 29px !important; }
    .hs-richtext h3 { font-size: 23px !important; }
    .hs-richtext h4 { font-size: 20px !important; }
    .hs-richtext h5 { font-size: 18px !important; }
    .hs-richtext p { font-size: 16px !important; }

  /* 事例モジュール */
    .case-stud-top-content h1 { font-size: 36px !important; }
    .case-stud-top-content h2 { font-size: 29px !important; }
    .case-stud-top-content h3 { font-size: 23px !important; }
    .case-stud-top-content h4 { font-size: 20px !important; }
    .case-stud-top-content h5 { font-size: 18px !important; }
    .case-stud-top-content p { font-size: 16px !important; }

  /* タイムラインモジュール */
    .row-fluid .timeline-with-scrolling-animation-timeline-main h2.title { font-size: 29px !important; }
    .row-fluid .timeline-with-scrolling-animation-timeline-main .timeline-with-scrolling-animation-heading-main .content { font-size: 23px !important; }
    .row-fluid .timeline-with-scrolling-animation-timeline-main .timeline-with-scrolling-animation-timeline-outer .timeline-section h3 { font-size: 23px !important; }
    .row-fluid .timeline-with-scrolling-animation-timeline-main .timeline-with-scrolling-animation-timeline-outer .timeline-section .timeline-text { font-size: 18px !important; }

  /* アコーディオン（FAQ）モジュール */
  .accordion-with-background-color-content-inner h2 { font-size: 29px !important; }
  .faq-box .faq-title { font-size: 23px !important; }
  .faq-box .faq-content { font-size: 18px !important; }
  
  /* アコーディオン（FAQ_type1）モジュール */
  .panel-heading h5 { font-size: 23px !important; }
  .panel-heading .tagline { font-size: 18px !important; }
  .panel-body .content p { font-size: 18px !important; }
}
/* --- 画面幅1229px以下：文字サイズ調整 ---　ここまで */

/* --- 画面幅991px以下：文字サイズ調整 ---　ここから */
@media (max-width: 991px) {
    /* テンプレート見出し */
    .heading-text h1 { font-size: 32px !important; }
    .heading-text h2 { font-size: 26px !important; }
    .heading-text h3 { font-size: 22px !important; }
    .heading-text h4 { font-size: 19px !important; }
    .heading-text h5 { font-size: 17px !important; }
    .heading-text p { font-size: 15px !important; }

    /* リッチテキスト内の見出し */
    .hs-richtext h1 { font-size: 32px !important; }
    .hs-richtext h2 { font-size: 26px !important; }
    .hs-richtext h3 { font-size: 22px !important; }
    .hs-richtext h4 { font-size: 19px !important; }
    .hs-richtext h5 { font-size: 17px !important; }
    .hs-richtext p { font-size: 15px !important; }

  /* 事例モジュール */
    .case-stud-top-content h1 { font-size: 32px !important; }
    .case-stud-top-content h2 { font-size: 26px !important; }
    .case-stud-top-content h3 { font-size: 22px !important; }
    .case-stud-top-content h4 { font-size: 19px !important; }
    .case-stud-top-content h5 { font-size: 17px !important; }
    .case-stud-top-content p { font-size: 15px !important; }

  /* タイムラインモジュール */
    .row-fluid .timeline-with-scrolling-animation-timeline-main h2.title { font-size: 26px !important; }
    .row-fluid .timeline-with-scrolling-animation-timeline-main .timeline-with-scrolling-animation-heading-main .content { font-size: 22px !important; }
    .row-fluid .timeline-with-scrolling-animation-timeline-main .timeline-with-scrolling-animation-timeline-outer .timeline-section h3 { font-size: 22px !important; }
    .row-fluid .timeline-with-scrolling-animation-timeline-main .timeline-with-scrolling-animation-timeline-outer .timeline-section .timeline-text { font-size: 18px !important; }

  /* アコーディオン（FAQ）モジュール */
  .accordion-with-background-color-content-inner h2 { font-size: 26px !important; }
  .faq-box .faq-title { font-size: 22px !important; }
  .faq-box .faq-content { font-size: 18px !important; }
  
  /* アコーディオン（FAQ_type1）モジュール */
  .panel-heading h5 { font-size: 22px !important; }
  .panel-heading .tagline { font-size: 18px !important; }
  .panel-body .content p { font-size: 18px !important; }
}
/* --- 画面幅991px以下：文字サイズ調整 ---　ここまで */

/* --- 画面幅767px以下：文字サイズ調整 ---　ここから */
@media (max-width: 767px) {
    /* テンプレート見出し */
    .heading-text h1 { font-size: 28px !important; }
    .heading-text h2 { font-size: 24px !important; }
    .heading-text h3 { font-size: 20px !important; }
    .heading-text h4 { font-size: 18px !important; }
    .heading-text h5 { font-size: 16px !important; }
    .heading-text p { font-size: 15px !important; }

    /* リッチテキスト内の見出し */
    .hs-richtext h1 { font-size: 28px !important; }
    .hs-richtext h2 { font-size: 24px !important; }
    .hs-richtext h3 { font-size: 20px !important; }
    .hs-richtext h4 { font-size: 18px !important; }
    .hs-richtext h5 { font-size: 16px !important; }
    .hs-richtext p { font-size: 15px !important; }

  /* 事例モジュール */
    .case-stud-top-content h1 { font-size: 28px !important; }
    .case-stud-top-content h2 { font-size: 24px !important; }
    .case-stud-top-content h3 { font-size: 20px !important; }
    .case-stud-top-content h4 { font-size: 18px !important; }
    .case-stud-top-content h5 { font-size: 16px !important; }
    .case-stud-top-content p { font-size: 15px !important; }

  /* タイムラインモジュール */
    .row-fluid .timeline-with-scrolling-animation-timeline-main h2.title { font-size: 24px !important; }
    .row-fluid .timeline-with-scrolling-animation-timeline-main .timeline-with-scrolling-animation-heading-main .content { font-size: 20px !important; }
    .row-fluid .timeline-with-scrolling-animation-timeline-main .timeline-with-scrolling-animation-timeline-outer .timeline-section h3 { font-size: 20px !important; }
    .row-fluid .timeline-with-scrolling-animation-timeline-main .timeline-with-scrolling-animation-timeline-outer .timeline-section .timeline-text { font-size: 16px !important; }

  /* アコーディオン（FAQ）モジュール */
  .accordion-with-background-color-content-inner h2 { font-size: 24px !important; }
  .faq-box .faq-title { font-size: 20px !important; }
  .faq-box .faq-content { font-size: 16px !important; }
  
  /* アコーディオン（FAQ_type1）モジュール */
  .panel-heading h5 { font-size: 20px !important; }
  .panel-heading .tagline { font-size: 16px !important; }
  .panel-body .content p { font-size: 16px !important; }
}
/* --- 画面幅767px以下：文字サイズ調整 ---　ここまで */

/* --- 画面幅480px以下：文字サイズ調整 ---　ここから */
@media (max-width: 480px) {
    /* テンプレート見出し */
    .heading-text h1 { font-size: 24px !important; }
    .heading-text h2 { font-size: 21px !important; }
    .heading-text h3 { font-size: 19px !important; }
    .heading-text h4 { font-size: 17px !important; }
    .heading-text h5 { font-size: 16px !important; }
    .heading-text p { font-size: 15px !important; }

    /* リッチテキスト内の見出し */
    .hs-richtext h1 { font-size: 24px !important; }
    .hs-richtext h2 { font-size: 21px !important; }
    .hs-richtext h3 { font-size: 19px !important; }
    .hs-richtext h4 { font-size: 17px !important; }
    .hs-richtext h5 { font-size: 16px !important; }
    .hs-richtext p { font-size: 15px !important; }

  /* 事例モジュール */
    .case-stud-top-content h1 { font-size: 24px !important; }
    .case-stud-top-content h2 { font-size: 21px !important; }
    .case-stud-top-content h3 { font-size: 19px !important; }
    .case-stud-top-content h4 { font-size: 17px !important; }
    .case-stud-top-content h5 { font-size: 16px !important; }
    .case-stud-top-content p { font-size: 15px !important; }

  /* タイムラインモジュール */
    .row-fluid .timeline-with-scrolling-animation-timeline-main h2.title { font-size: 21px !important; }
    .row-fluid .timeline-with-scrolling-animation-timeline-main .timeline-with-scrolling-animation-heading-main .content { font-size: 19px !important; }
    .row-fluid .timeline-with-scrolling-animation-timeline-main .timeline-with-scrolling-animation-timeline-outer .timeline-section h3 { font-size: 19px !important; }
    .row-fluid .timeline-with-scrolling-animation-timeline-main .timeline-with-scrolling-animation-timeline-outer .timeline-section .timeline-text { font-size: 16px !important; }

  /* アコーディオン（FAQ）モジュール */
  .accordion-with-background-color-content-inner h2 { font-size: 21px !important; }
  .faq-box .faq-title { font-size: 18px !important; }
  .faq-box .faq-content { font-size: 16px !important; }
  
  /* アコーディオン（FAQ_type1）モジュール */
  .panel-heading h5 { font-size: 18px !important; }
  .panel-heading .tagline { font-size: 16px !important; }
  .panel-body .content p { font-size: 16px !important; }
}
/* --- 画面幅480px以下：文字サイズ調整 ---　ここまで */

/* スマホで隠す */
@media (max-width: 767px) {
    .mobile-hidden {
        display: none !important;
    }
}