/* 02バッジの背景色 */
    .section-num-badge {
      background: #ff9501;
    }

    /* ===== 横スクロール防止 ===== */
    html,
    body {
      overflow-x: hidden;
      width: 100%;
      position: relative;
    }

    .page {
      overflow-x: hidden;
      width: 100%;
      box-sizing: border-box;
    }

    @media (max-width: 768px) {
      * {
        min-width: 0;
        box-sizing: border-box;
      }

      img {
        max-width: 100%;
        height: auto;
        display: block;
      }

      .engine-card {
        width: 100%;
      }

      .becontact-row {
        flex-wrap: wrap;
      }

      .search-engine-share-col {
        width: 100% !important;
        max-width: 200px;
        margin: 0 auto;
      }
    }

    /* ===== BtoCセクション 表示改善 ===== */

    /* ヘッダー: ラベル + 説明を同じ枠に */
    .btoc-header-box {
      display: flex;
      align-items: stretch;
      border: 1.5px solid #4a7ddc;
      border-radius: 6px;
      overflow: hidden;
      margin-bottom: 16px;
    }

    .btoc-header-box .case-label-box.btoc {
      border-radius: 0;
      flex-shrink: 0;
      display: flex;
      align-items: center;
    }

    .btoc-header-desc {
      background: #ddeeff;
      padding: 10px 14px;
      font-size: 13px;
      color: #222;
      line-height: 1.65;
      flex: 1;
      display: flex;
      align-items: center;
      margin: 0;
    }

    /* 事例リスト+画像 | グラフ+業種 の2列 */
    .btoc-body-row {
      display: flex;
      gap: 16px;
      align-items: stretch;
      margin-bottom: 16px;
    }

    /* 左列: 事例リスト + 画像 */
    .btoc-case-col {
      flex: 1;
      display: flex;
      flex-direction: column;
      gap: 12px;
      min-height: 0;
    }

    /* 右列: グラフ + 業種パネル */
    .btoc-right-col {
      flex: 0 0 220px;
      display: flex;
      flex-direction: column;
      gap: 12px;
      align-items: center;
    }

    .btoc-right-col .industries-panel {
      width: 100%;
    }

    /* グラフを150pxに拡大 */
    .btoc-donut {
      width: 173px;
      height: 173px;
    }

    .btoc-donut .donut-num {
      font-size: 48px;
    }

    .btoc-donut .donut-pct {
      font-size: 20px;
      margin-top: 8px;
    }

    /* 事例リスト: 薄ブルー背景 */
    .btoc-case-list {
      background: #e8f4ff;
      border: 1px solid #b8d8f0;
      border-radius: 8px;
      padding: 14px 16px 14px 18px;
      margin-bottom: 0;
    }

    /* 事例リスト下の画像 */
    .btoc-suggest-img {
      width: 100%;
      height: auto;
      display: block;
      border-radius: 4px;
    }

    /* BtoBラベルをBtoCと同色に */
    .btoc-header-box .case-label-box.btoc,
    .btoc-header-box .case-label-box.btob {
      border-radius: 0;
      flex-shrink: 0;
      display: flex;
      align-items: center;
      background: #3a7bd5;
    }

    /* BtoB: 上段2列 (検索モック | 業種) */
    .btob-top-row {
      display: flex;
      gap: 16px;
      align-items: stretch;
      margin-bottom: 12px;
    }

    .btob-top-row .btob-search-mock {
      flex: 0 0 55%;
    }

    .btob-top-row .btob-industries {
      flex: 1;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
    }

    /* BtoB: 下段 事例リスト（行間詰め） */
    .btob-caselist {
      line-height: 1.5;
    }

    .btob-caselist li {
      padding: 5px 0;
      border-bottom: 1px solid #c8dff5;
    }

    .btob-caselist li:last-child {
      border-bottom: none;
    }

    /* タブレット以下共通: 横はみ出し防止 */
    @media (max-width: 768px) {

      html,
      body {
        overflow-x: hidden;
        max-width: 100%;
      }

      .page {
        box-sizing: border-box;
        max-width: 100%;
        overflow-x: hidden;
      }

      img {
        max-width: 100%;
        height: auto;
      }

      .btoc-header-box,
      .btoc-body-row,
      .btoc-case-col,
      .btoc-right-col,
      .btob-body-row,
      .btob-left-col,
      .btob-right-col,
      .btoc-case-list,
      .btob-search-mock,
      .btob-suggest-list {
        max-width: 100%;
        box-sizing: border-box;
      }
    }

    /* タブレット (≤768px) */
    @media (max-width: 768px) {
      .btoc-body-row {
        flex-direction: column;
        align-items: flex-start;
      }

      .btoc-case-col {
        width: 100%;
      }

      .btoc-right-col {
        flex: none;
        width: 100%;
        flex-direction: row;
        align-items: flex-start;
        gap: 16px;
      }

      .btoc-right-col .donut-wrap {
        flex-shrink: 0;
      }

      .btoc-right-col .industries-panel {
        flex: 1;
        width: auto;
      }

      .btoc-donut {
        width: 120px;
        height: 120px;
      }

      .btoc-donut .donut-num {
        font-size: 32px;
      }

      .btoc-donut .donut-pct {
        font-size: 15px;
      }

      .btoc-suggest-img {
        height: auto;
      }

      /* BtoB タブレット */
      .btob-top-row .btob-industries {
        flex: 0 0 150px;
      }
    }

    /* SP (≤480px) */
    @media (max-width: 480px) {
      .page {
        padding-left: 2%;
        padding-right: 2%;
      }

      /* BtoC ヘッダーボックス: 縦積み */
      .btoc-header-box {
        flex-direction: column;
      }

      .btoc-header-box .case-label-box.btoc,
      .btoc-header-box .case-label-box.btob {
        width: 100%;
        justify-content: center;
      }

      .btoc-header-desc {
        width: 100%;
        box-sizing: border-box;
      }

      /* BtoC ボディ */
      .btoc-body-row {
        flex-direction: column;
        align-items: stretch;
      }

      .btoc-case-col {
        width: 100%;
      }

      /* BtoC 右列: 縦積み */
      .btoc-right-col {
        flex: none;
        width: 100%;
        flex-direction: column;
        align-items: center;
      }

      .btoc-right-col .industries-panel {
        width: 100%;
      }

      .btoc-donut {
        width: 110px;
        height: 110px;
      }

      .btoc-donut .donut-num {
        font-size: 28px;
      }

      .btoc-donut .donut-pct {
        font-size: 14px;
      }

      .btoc-suggest-img {
        height: auto;
        width: 100%;
      }

      /* BtoB SP */
      .btob-top-row {
        flex-direction: column;
      }

      .btob-top-row .btob-industries {
        flex: none;
        width: 100%;
      }
    }
