@charset "UTF-8";

@media only screen and (max-width : 768px) {

  /*--------------------------------------------------
  共通設定(スマホ)
  -----------------------------------------------------*/
  body {
    width: 100%;
    -webkit-text-size-adjust: 100%;
  }

  /* カラム幅を画面いっぱいに */
  .article,
  .top_image_in,
  .header_inr {
    width: 100% !important;
    /* PC版の700px指定を解除 */
    margin: 0 auto;
  }

  /*--------------------------------------------------
  見出しタグ設定（スマホ）
  -----------------------------------------------------*/
  h2 {
    font-size: 1.6em;
    margin: 0.5em 0;
  }

  h3 {
    font-size: 1.4em;
  }

  h4 {
    font-size: 1.2em;
  }

  /*--------------------------------------------------
  上部固定ヘッダー設定
  -----------------------------------------------------*/
  .header_inr {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5em 1em;
    box-sizing: border-box;
  }

  .header_logo img {
    height: 35px;
    width: auto;
  }

  .header_tel {
    margin-left: auto;
    margin-right: 0.5em;
  }


  .header_mail img {
    height: 32px;
    width: auto;
  }

  /*--------------------------------------------------
  メイン部分(ボディ)
  -----------------------------------------------------*/
  /* 3つの理由セクション */
  .bg_3reasons {
    background-size: 100% auto;
    padding: 0.8em 0 0 0;
  }

  .image_wrap {
    margin-bottom: -4em;
    /* スマホに合わせて食い込み量を調整 */
  }

  .box_reason {
    margin: 0 1em 1.2em 1em;
    padding: 0.6em 1.2em 1.2em 1.2em;
    border-radius: 20px;
  }

  .box_reason_inr {
    font-size: 0.95rem;
    line-height: 1.7;
  }

  .reason03_wrap {
    position: relative;
  }

  /* 特徴③の囲みを前面 */
  .reason03_wrap .box_reason {
    position: relative;
    z-index: 2;
  }

  /* コーチ挨拶を後ろにして上に食い込ませる */
  .reason03_wrap .coach_greet {
    display: block;
    position: relative;
    z-index: 1;
    margin-top: -3em;
    /* ←ここ調整 */
    width: 100%;
    height: auto;
  }

  /* お客様の声セクション */
  .bg_koe {
    background-size: cover;
    padding: 1.5em 0.5em 0.6em 0.5em;
  }

  .box_koe {
    margin: 1em 0.5em;
  }

  .box_koe_inr {
    padding: 1em;
    font-size: 0.95rem;
    line-height: 1.7;
  }

  /*--------------------------------------------------
  CTAエリア
  -----------------------------------------------------*/
  .cta-area {
    padding: 0.2em 0 0.8em 0;
  }

  .cta-btn img {
    padding: 0 0 0.1em 0;
  }

  .cta-lead {
    margin: 0 auto 0.4em;
    padding: 0 0.5em;
    /* ←ここで左右余白を確保 */
    font-weight: 900;
    font-size: 1.1rem;
    color: #20ae49;
    letter-spacing: -0.02em;
    text-shadow:
      -2px -2px 0 #ffffff,
      2px -2px 0 #ffffff,
      -2px 2px 0 #ffffff,
      2px 2px 0 #ffffff;
  }

  /* microcopy画像 */
  .cta-micro {
    width: 80% !important;
    display: block;
    margin: 0 auto 0;
  }

  /*--------------------------------------------------
  QAエリア
  -----------------------------------------------------*/

  .faq details {
    margin: 0 0.8em 1em 0.8em;
    padding: 1em;
    border: 0.15em solid #01fcfe;
    /* PC版と同じ青色に */
  }

  .faq details:last-of-type {
    margin-bottom: 0.1em;
  }

  .faq summary {
    font-size: 0.9em;
  }

  .faq summary span {
    color: #1e2887;
    /* Qの色をPC版と統一 */
  }

  .faq summary::after {
    color: #1e2887;
    /* ＋の色をPC版と統一 */
  }

  .faq .answer {
    font-size: 0.95rem;
    line-height: 1.5;
    border-left: 0.19em solid #86ddf8;
    /* アクセントカラーをPC版と統一 */
  }

  /*--------------------------------------------------
フッター
-----------------------------------------------------*/

  .footer {
    background-color: #f7f7f7;
    padding: 1.5em;
    text-align: center;
    font-size: 13px;
    color: #666;
  }

  .footer .privacy-link {
    display: inline-block;
    margin-bottom: 8px;
    color: #666;
    text-decoration: underline;
  }
}