/* ================================================================
   Be Contact — 統合スタイルシート  style-common.css
   対象: 01 逆SEO対策 / 02 サジェスト対策 / 03 監視ツール
         04 MEO対策   / 05 ホームページ制作 / 06 Instagram運用代行

   ★ HTMLは一切変更不要。各 index0X.html の link href を
      "../common/style-common.css" (配置場所に合わせて調整) に
      書き換えるだけで動作します。

   ページ固有の差分は <body class="p06"> のような bodyクラスで管理します。
   06 のみ bodyクラスが必要です（他は不要）。
   ================================================================ */


/* ================================================================
   1. RESET & BASE
   ================================================================ */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Meiryo', sans-serif;
  background: #ffffff;
  color: #222222;
  font-size: 14px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}

ul { list-style: none; }
a  { text-decoration: none; }


/* ================================================================
   2. PAGE WRAPPER
   ================================================================ */
.page {
  max-width: 860px;
  margin: 0 auto;
  padding: 32px 32px 48px;
  background: #ffffff;
}

/* 04・05: bottom padding が広い */
.page--pb56 { padding-bottom: 56px; }

/* 06 Instagram: 幅広・背景色が異なる */
body.p06 { background: #f7f5f2; }
body.p06 .page {
  max-width: 900px;
  padding: 36px 36px 56px;
  background: #f7f5f2;
}


/* ================================================================
   3. SECTION HEADER
   ================================================================ */
.section-header {
  display: flex;
  align-items: stretch;
  gap: 0;
  margin-bottom: 24px;
}

/* 06: margin-bottom 広め */
body.p06 .section-header { margin-bottom: 32px; }

.section-num-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: auto;
  background: #f5a623;
  color: #ffffff;
  font-size: 22px;
  font-weight: 900;
  border-radius: 8px 0 0 8px;
  flex-shrink: 0;
  letter-spacing: -1px;
}

/* 06: 円形・紫バッジ */
body.p06 .section-num-badge {
  width: 52px;
  height: 52px;
  background: #7b5ea7;
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(123,94,167,0.35);
}

.section-title {
  font-size: 26px;
  font-weight: 900;
  color: #222222;
  background: #f5f0e8;
  padding: 8px 28px 8px 20px;
  border-radius: 0 24px 24px 0;
  letter-spacing: 0.12em;
  line-height: 1;
  display: flex;
  align-items: center;
}

/* 06: 白背景・シャドウ・角丸大 */
body.p06 .section-title {
  font-weight: 700;
  background: #ffffff;
  padding: 10px 32px 10px 22px;
  border-radius: 0 32px 32px 0;
  letter-spacing: 0.06em;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}


/* ================================================================
   4. RED BULLET LEAD LINE
   ================================================================ */
.lead-line {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}

/* 01: margin-bottom 少し広め */
.lead-line--mb20 { margin-bottom: 20px; }

/* 06: align-items flex-start（ドット上寄せ） */
body.p06 .lead-line {
  align-items: flex-start;
  margin-bottom: 14px;
}

.lead-dot {
  display: inline-block;
  width: 14px;
  height: 14px;
  background: #d63030;
  border-radius: 50%;
  flex-shrink: 0;
}

/* 06: ドット少し大きく・上マージン */
body.p06 .lead-dot {
  width: 15px;
  height: 15px;
  margin-top: 3px;
}

.lead-text {
  font-size: 17px;
  font-weight: 700;
  color: #222222;
  text-decoration: underline;
  text-underline-offset: 3px;
  line-height: 1.4;
}

/* 06: フォントサイズ大きめ */
body.p06 .lead-text {
  font-size: 20px;
  font-weight: 900;
  text-underline-offset: 4px;
}


/* ================================================================
   5. POINT BOX (ハートカード)
   ================================================================ */
.point-box {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  background: #f5f5f5;
  border-radius: 10px;
  padding: 16px 20px;
  margin-bottom: 28px;
  border: 1px solid #e0e0e0;
}

/* 06: シャドウ */
body.p06 .point-box {
  background: #f5f5f5;
  border: 1px solid #e0e0e0;
  border-radius: 12px;
  padding: 18px 22px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.point-heart {
  flex-shrink: 0;
  margin-top: 1px;
  display: flex;
  align-items: center;
}

.point-text {
  font-size: 13.5px;
  color: #222222;
  line-height: 1.85;
}

/* 06: 少し大きめ */
body.p06 .point-text { font-size: 14px; }

.point-text strong { font-weight: 900; }


/* ================================================================
   6. TOP 2カラムブロック (01・03・05)
   ================================================================ */
.top-block {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  margin-bottom: 20px;
}

.top-left  { flex: 1; min-width: 0; }

/* 01・03: 右カラム 180px */
.top-right { flex: 0 0 180px; }

/* 03: 縦方向に2要素並ぶ */
.top-right--col { flex-direction: column; gap: 14px; display: flex; }

/* 05: 右カラム 200px */
.top-right--200 { flex: 0 0 200px; }

/* 05: margin-bottom 少し広め */
.top-block--mb22 { margin-bottom: 22px; }

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

.hero-img--rounded { border-radius: 6px; }


/* ================================================================
   7. よくある事例 BAR
   ================================================================ */
/* 01・05: ボーダー付きタイプ */
.case-bar {
  display: flex;
  align-items: center;
  gap: 16px;
  background: #e8f0ff;
  border: 1.5px solid #4a7ddc;
  border-radius: 6px;
  padding: 10px 16px;
  margin-bottom: 14px;
}

.case-bar--mb16 { margin-bottom: 16px; }

/* 06: ボーダーなし・フラッシュタイプ */
body.p06 .case-bar {
  gap: 0;
  background: #d8eaf8;
  border: none;
  padding: 0;
  overflow: hidden;
  margin-bottom: 16px;
}

.case-label {
  display: inline-block;
  background: #3a6fd8;
  color: #ffffff;
  font-size: 13px;
  font-weight: 700;
  padding: 5px 12px;
  border-radius: 4px;
  white-space: nowrap;
  flex-shrink: 0;
}

/* 06: フラッシュラベル（縦いっぱい・角丸なし） */
body.p06 .case-label {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #3a7bd5;
  padding: 12px 18px;
  border-radius: 0;
  align-self: stretch;
  min-width: 110px;
}

.case-desc {
  font-size: 13px;
  color: #222222;
  line-height: 1.6;
}

/* 06: パディング付き・フォントやや大きめ */
body.p06 .case-desc {
  font-size: 13.5px;
  line-height: 1.65;
  padding: 10px 16px;
}


/* ================================================================
   8. 業種パネル
   ================================================================ */
.industries-panel {
  background: #fdf8f0;
  border: 1.5px solid #e8d8b0;
  border-radius: 8px;
  padding: 14px 16px;
}

/* 01: flex:1 でリサイズ */
.industries-panel--flex1 { flex: 1; }

/* 02: 右固定200px */
.industries-panel--200 { flex: 0 0 200px; }

/* 03: パディング狭め */
.industries-panel--sm { padding: 12px 14px; }

/* 05: flex固定180px */
.industries-panel--180 { flex: 0 0 180px; }

.industries-heading {
  font-size: 13px;
  font-weight: 900;
  color: #222222;
  margin-bottom: 10px;
  text-align: center;
}

/* 01: 少し大きく */
.industries-heading--lg { font-size: 14px; margin-bottom: 12px; }

/* 03: 少し小さく */
.industries-heading--sm { font-size: 12px; margin-bottom: 8px; }

/* 06: 左寄せ・やや大きめ */
body.p06 .industries-heading { font-size: 14px; text-align: left; margin-bottom: 10px; }

.industry-cat {
  font-size: 12px;
  font-weight: 700;
  color: #222222;
  margin-bottom: 6px;
}

/* 01: フォントやや大きめ */
.industry-cat--lg { font-size: 13px; }

.industries-grid { display: flex; gap: 20px; }
.industry-col   { flex: 1; }

.industry-list li {
  font-size: 12px;
  color: #333333;
  padding-left: 12px;
  position: relative;
  line-height: 1.8;
}

.industry-list li::before {
  content: "・";
  position: absolute;
  left: 0;
  color: #333333;
}

/* 06: フォント大きめ・パディング広め */
body.p06 .industry-list li { font-size: 13px; padding-left: 14px; line-height: 1.9; }


/* ================================================================
   9. テキストブロック
   ================================================================ */
.body-text-block { margin-bottom: 20px; }
.body-text-block p { font-size: 14px; color: #222222; line-height: 1.9; }

/* 05 単体テキスト */
.body-text { font-size: 13.5px; color: #333333; line-height: 1.9; margin-bottom: 6px; }

.intro-text-block { margin-bottom: 18px; }
.intro-text-block p { font-size: 14px; color: #222222; line-height: 1.9; }

/* 03: margin・フォントが微妙に違う */
.intro-text-block--03 { margin-bottom: 14px; }
.intro-text-block--03 p { font-size: 13.5px; }

/* 04 intro-text（段落ではなくdiv内テキスト） */
.intro-text {
  font-size: 13.5px;
  color: #222222;
  line-height: 1.9;
  margin-bottom: 14px;
}

/* 06 intro-text */
body.p06 .intro-text { font-size: 15px; color: #333333; margin-bottom: 20px; }

.divider-text-block { margin-bottom: 20px; }
.divider-text-block p { font-size: 13px; color: #333333; line-height: 1.9; }


/* ================================================================
   10. 検索バーモック (01)
   ================================================================ */
.search-mock-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 1.5px solid #cccccc;
  border-radius: 24px;
  padding: 8px 16px;
  margin-bottom: 14px;
  background: #ffffff;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}
.mock-query  { font-size: 14px; color: #222222; }
.mock-icons  { display: flex; align-items: center; gap: 8px; color: #666666; }
.mock-x      { font-size: 13px; color: #888888; }
.mock-sep    { color: #cccccc; font-size: 18px; line-height: 1; margin: 0 2px; }
.mock-icon   { display: block; color: #555555; }


/* ================================================================
   11. 検索結果 + 業種 ROW (01)
   ================================================================ */
.results-industries-row { display: flex; gap: 14px; align-items: flex-start; }

.search-results-col {
  flex: 0 0 210px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.result-item        { display: flex; align-items: flex-start; gap: 8px; }
.result-globe-img   { width: 20px; height: 20px; object-fit: cover; border-radius: 50%; flex-shrink: 0; margin-top: 14px; }
.result-text        { display: flex; flex-direction: column; gap: 0; }
.result-domain      { font-size: 11px; color: #444444; line-height: 1.4; }
.result-url         { font-size: 11px; color: #1a7a3a; line-height: 1.4; }
.result-title       { font-size: 14px; font-weight: 500; line-height: 1.4; }
.bad-title          { color: #1a6fc4; }


/* ================================================================
   12. 施策 ROW + IMAGE (01)
   ================================================================ */
.shisaku-row { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.shisaku-label-txt { font-size: 12px; color: #555555; white-space: nowrap; }

.shisaku-search-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex: 1;
  border: 1.5px solid #cccccc;
  border-radius: 24px;
  padding: 7px 16px;
  background: #ffffff;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}
.shisaku-query  { font-size: 13px; color: #222222; }
.shisaku-right  { display: flex; align-items: center; gap: 8px; color: #666666; }
.shisaku-x      { font-size: 12px; color: #888888; }
.shisaku-btn    { font-size: 12px; color: #222222; font-weight: 500; }

.shisaku-image-wrap {
  border: 1.5px solid #c0d0f0;
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 20px;
  background: #eef3fc;
  padding: 16px;
}
.shisaku-img { width: 100%; height: auto; display: block; border-radius: 6px; }


/* ================================================================
   13. サジェスト画像 (02)
   ================================================================ */
.suggest-image-wrap { margin-bottom: 20px; border-radius: 8px; overflow: hidden; }
.suggest-img        { width: 100%; height: auto; display: block; }


/* ================================================================
   14. CASE SECTION — BtoC / BtoB (02)
   ================================================================ */
.case-section       { margin-bottom: 24px; }
.case-header-row    { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 16px; }
.case-label-box     { flex-shrink: 0; border-radius: 6px; padding: 10px 14px; min-width: 130px; }
.case-label-box.btoc { background: #3a7bd5; }
.case-label-box.btob { background: #2a5caa; }
.case-label-title   { font-size: 14px; font-weight: 900; color: #ffffff; white-space: nowrap; line-height: 1.4; }
.case-header-desc   { flex: 1; font-size: 13px; color: #333333; line-height: 1.7; padding-top: 8px; }

/* ドーナツ (02) */
.donut-wrap { flex-shrink: 0; display: flex; flex-direction: column; align-items: center; gap: 4px; }
.donut-caption { font-size: 11px; color: #555555; white-space: nowrap; text-align: center; }
.donut-chart   { position: relative; width: 90px; height: 90px; }
.donut-svg     { width: 100%; height: 100%; display: block; }
.donut-inner   {
  position: absolute; inset: 0; display: flex;
  align-items: center; justify-content: center;
  font-weight: 900; color: #3a7bd5; line-height: 1;
}
.donut-num { font-size: 28px; }
.donut-pct { font-size: 14px; margin-top: 6px; }

/* ドーナツ (04): 大きめ */
.donut-chart--lg { width: 110px; height: 110px; }
.donut-num--lg   { font-size: 32px; }
.donut-pct--lg   { font-size: 16px; margin-top: 8px; }

.case-list { margin-bottom: 16px; padding-left: 4px; }
.case-list li {
  position: relative; padding-left: 18px;
  font-size: 13.5px; color: #222222; line-height: 1.8; margin-bottom: 4px;
}
.case-list li::before { content: "・"; position: absolute; left: 0; color: #333333; font-weight: 700; }

/* 04: margin-top付き */
.case-list--04 { padding-left: 4px; margin-top: 14px; margin-bottom: 0; }
.case-list--04 li { line-height: 1.85; margin-bottom: 3px; }

.case-bottom-row      { display: flex; gap: 16px; align-items: flex-start; }
.suggest-examples-col { flex: 1; min-width: 0; }
.suggest-examples-img { width: 100%; height: auto; display: block; border-radius: 6px; }

.btob-section   { margin-top: 0; }
.btob-header    { align-items: flex-start; }
.btob-industries { flex: 0 0 180px; }

.btob-search-mock {
  flex: 0 0 220px; border: 1.5px solid #cccccc; border-radius: 6px;
  overflow: hidden; font-size: 12px; background: #fff; box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}
.btob-mock-bar {
  display: flex; align-items: center; gap: 6px; padding: 8px 12px;
  border-bottom: 1px solid #eeeeee; background: #f8f8f8;
}
.btob-mock-query   { flex: 1; font-size: 12px; color: #222222; }
.btob-mock-kensaku {
  font-size: 11px; color: #3a7bd5; font-weight: 700;
  border: 1px solid #3a7bd5; padding: 2px 8px; border-radius: 3px;
}
.btob-suggest-list { padding: 6px 0; }
.btob-suggest-list li {
  padding: 5px 14px; font-size: 12px; color: #333333;
  border-bottom: 1px solid #f5f5f5; line-height: 1.4;
}
.btob-suggest-list li:last-child { border-bottom: none; }
.btob-body-row { display: flex; gap: 16px; align-items: flex-start; }
.btob-list-col { flex: 1; min-width: 0; }


/* ================================================================
   15. Be Contact + 非表示率 (02)
   ================================================================ */
.becontact-row      { display: flex; gap: 24px; align-items: flex-start; margin-bottom: 28px; }
.becontact-text-col { flex: 1; min-width: 0; }
.becontact-desc     { font-size: 13.5px; color: #222222; line-height: 1.9; }
.search-engine-share-col { flex: 0 0 180px; }
.search-engine-img  { width: 100%; height: auto; display: block; }

.hihyoji-note { margin-bottom: 20px; }
.hihyoji-note p { font-size: 13.5px; color: #222222; line-height: 1.8; margin-bottom: 8px; }
.hihyoji-disclaimer { font-size: 11px !important; color: #666666 !important; line-height: 1.7 !important; }

.shisaku-period-title {
  font-size: 14px; font-weight: 700; color: #222222;
  margin-bottom: 14px; border-left: 4px solid #3a7bd5; padding-left: 10px;
}

/* Engine cards */
.engine-cards-row { display: flex; gap: 14px; align-items: stretch; }
.engine-card {
  flex: 1; border-radius: 10px; overflow: hidden;
  display: flex; flex-direction: column; box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.engine-card-header { padding: 14px 16px 12px; text-align: center; }
.google-card { border: 5px solid #00bf63; }
.yahoo-card  { border: 5px solid #ffd21f; }
.bing-card   { border: 5px solid #0081cc; }
.google-card .engine-card-header { background: #00bf63; }
.yahoo-card  .engine-card-header { background: #ffd21f; }
.bing-card   .engine-card-header { background: #0081cc; }
.engine-logo { font-size: 25px; font-weight: 900; color: #ffffff; letter-spacing: -0.5px; }

.engine-card-body {
  padding: 14px 16px 12px; background: #ffffff;
  border-left: 1px solid #eeeeee; border-right: 1px solid #eeeeee;
}
.engine-card-label  { font-size: 15px; color: #555555; margin-bottom: 6px; text-align: center; }
.engine-card-period { font-size: 16px; font-weight: 700; color: #222222; text-align: center; line-height: 1.3; }
.google-card .engine-card-period { color: #00bf63; }
.yahoo-card  .engine-card-period { color: #ffd21f; }
.bing-card   .engine-card-period { color: #0081cc; }
.period-num { font-size: 32px; font-weight: 900; line-height: 1; }

.engine-card-footer {
  padding: 12px 14px 16px; background: #e8e8e8;
  border: 1px solid #eeeeee; border-top: none;
  border-radius: 0 0 10px 10px; flex: 1;
}
.engine-card-footer-label { font-size: 11px; font-weight: 700; color: #444444; margin-bottom: 6px; text-align: center; }
.engine-card-footer-desc  { font-size: 11.5px; color: #555555; line-height: 1.7; text-align: center; }


/* ================================================================
   16. 監視対象メディアカード (03)
   ================================================================ */
.bullet-list { padding-left: 4px; }
.bullet-list li {
  position: relative; padding-left: 18px;
  font-size: 13.5px; color: #222222; line-height: 1.85; margin-bottom: 2px;
}
.bullet-list li::before { content: "・"; position: absolute; left: 0; font-weight: 700; color: #333333; }

/* 05: flex:1 で横並びレイアウト内でリサイズ */
.bullet-list--flex { flex: 1; }
.bullet-list--flex li { padding-left: 16px; }

/* 06: 薄青ボックス内 */
.issues-box { background: #eef4fb; border-radius: 10px; padding: 18px 20px; }
body.p06 .bullet-list li { font-size: 14.5px; line-height: 2.0; font-weight: 500; }

.media-cards-row { display: flex; gap: 12px; margin-bottom: 16px; }
.media-card { flex: 1; border: 1.5px solid #dddddd; border-radius: 8px; overflow: hidden; background: #ffffff; }
.media-mock { background: #f8f8f8; border-bottom: 1px solid #eeeeee; padding: 10px 12px; min-height: 100px; }
.sns-mock, .kuchikomi-mock { padding: 10px 12px; min-height: 100px; font-size: 11px; }

.mock-inner-bar {
  display: flex; align-items: center; justify-content: space-between;
  border: 1px solid #cccccc; border-radius: 16px; padding: 5px 10px;
  background: #ffffff; margin-bottom: 8px; font-size: 11px;
}
.mock-inner-query  { font-size: 11px; color: #222222; }
.mock-inner-icons  { display: flex; align-items: center; gap: 4px; color: #888888; font-size: 11px; }
.mock-suggest-list li { font-size: 11px; color: #333333; padding: 3px 4px; border-bottom: 1px solid #f0f0f0; line-height: 1.4; }
.mock-suggest-list li:last-child { border-bottom: none; }
.highlight-bad { background: #fff3cd; color: #c0392b !important; font-weight: 700; border-radius: 2px; padding: 1px 3px; }

.sns-mock-header { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.sns-avatar      { width: 26px; height: 26px; border-radius: 50%; background: #cccccc; flex-shrink: 0; }
.sns-name-block  { display: flex; flex-direction: column; gap: 1px; }
.sns-name        { font-size: 11px; font-weight: 700; color: #222222; }
.sns-handle      { font-size: 10px; color: #888888; }
.sns-mock-text   { font-size: 11px; color: #333333; line-height: 1.6; margin-bottom: 8px; }
.sns-highlight   { background: #ffe0e0; color: #c0392b; font-weight: 700; border-radius: 2px; padding: 1px 2px; }
.sns-mock-actions { display: flex; gap: 12px; font-size: 11px; color: #888888; }

.media-card-label { display: flex; align-items: center; gap: 6px; padding: 10px 12px 6px; }
.media-title      { font-size: 14px; font-weight: 900; color: #222222; }
.media-icon       { display: flex; align-items: center; }
.media-desc       { font-size: 11.5px; color: #444444; line-height: 1.65; padding: 0 12px 12px; }

.kanshi-scope-box   { background: #eef3fc; border: 1.5px solid #c0d0f0; border-radius: 8px; padding: 14px 20px; margin-bottom: 8px; }
.kanshi-scope-title { font-size: 13px; font-weight: 700; color: #2a5caa; margin-bottom: 10px; text-align: center; }
.kanshi-scope-cols  { display: flex; gap: 32px; }
.kanshi-scope-list li { font-size: 12.5px; color: #333333; padding-left: 14px; position: relative; line-height: 1.85; }
.kanshi-scope-list li::before { content: "・"; position: absolute; left: 0; color: #3a7bd5; font-weight: 700; }


/* ================================================================
   17. 炎上フロー (03)
   ================================================================ */
.enjyo-section   { display: flex; gap: 20px; align-items: flex-start; margin-bottom: 24px; }
.enjyo-flows-col { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.enjyo-graph-col { flex: 0 0 160px; }
.enjyo-graph-img { width: 100%; height: auto; display: block; }

.flow-block       { display: flex; flex-direction: column; gap: 8px; }
.flow-block-title { font-size: 12.5px; font-weight: 700; color: #333333; }
.flow-row  { display: flex; align-items: center; gap: 4px; flex-wrap: nowrap; }
.flow-step { border-radius: 6px; padding: 6px 10px; font-size: 11.5px; font-weight: 700; text-align: center; line-height: 1.35; white-space: nowrap; flex-shrink: 0; }
.flow-arrow { color: #13a3b5; font-size: 12px; flex-shrink: 0; }

.bad-flow  .step-monitor-no  { background: #ffb7ad; color: #fff; }
.bad-flow  .step-fire        { background: #ed8f82; color: #fff; }
.bad-flow  .step-notice      { background: #e84a34; color: #fff; }
.bad-flow  .step-fail        { background: #c82328; color: #fff; }
.bad-flow  .step-bigfire     { background: #74070b; color: #fff; }
.good-flow .step-monitor-yes { background: #88ccf1; color: #fff; }
.good-flow .step-notice2     { background: #54a1cb; color: #fff; }
.good-flow .step-internal    { background: #3d93c2; color: #fff; }
.good-flow .step-external    { background: #196086; color: #fff; }
.good-flow .step-calm        { background: #03334d; color: #fff; }

.tobanu-block { margin-bottom: 24px; }
.tobanu-title { font-size: 15px; font-weight: 900; color: #222222; margin-bottom: 10px; }
.tobanu-text  { font-size: 13.5px; color: #333333; line-height: 1.9; margin-bottom: 8px; }


/* ================================================================
   18. 事例フロー + クリック率テーブル (03)
   ================================================================ */
.jirei-section    { display: flex; gap: 20px; align-items: flex-start; }
.jirei-users-col  { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.jirei-table-col  { flex: 0 0 210px; }
.jirei-category   { font-size: 12px; color: #555555; font-weight: 500; margin-bottom: 6px; }
.jirei-flow-row   { display: flex; align-items: center; gap: 6px; flex-wrap: nowrap; }
.jirei-user-block { flex-shrink: 0; text-align: center; width: 60px; }
.jirei-user-img   { width: 48px; height: 48px; object-fit: cover; border-radius: 50%; display: block; margin: 0 auto 4px; }
.jirei-user-label { font-size: 11px; font-weight: 700; color: #222222; text-align: center; line-height: 1.3; }
.jirei-arrow      { color: #888888; font-size: 12px; flex-shrink: 0; }
.jirei-search-block { flex: 1; min-width: 0; }
.jirei-search-img { width: 100%; height: auto; display: block; border-radius: 4px; margin-bottom: 4px; }
.jirei-search-note { font-size: 10.5px; color: #e05050; font-weight: 500; line-height: 1.4; }
.jirei-result-block { flex-shrink: 0; border-radius: 8px; padding: 8px 12px; text-align: center; min-width: 90px; }
.bad-result    { background: #1565c0; }
.orange-result { background: #e65100; }
.red-result    { background: #b71c1c; }
.jirei-result-title { font-size: 12px; font-weight: 900; color: #ffffff; line-height: 1.4; margin-bottom: 4px; }
.jirei-result-sub   { font-size: 11px; font-weight: 700; color: #ffeb3b; line-height: 1.35; }

.click-rate-table { border: 1.5px solid #3a7bd5; border-radius: 8px; overflow: hidden; }
.click-rate-title { font-size: 11px; font-weight: 700; color: #ffffff; background: #3a7bd5; padding: 8px 12px; line-height: 1.5; text-align: center; }
.click-rate-table table  { width: 100%; border-collapse: collapse; }
.click-rate-table th { font-size: 11px; font-weight: 700; color: #333333; background: #eef3fc; padding: 6px 10px; border-bottom: 1px solid #c0d0f0; text-align: left; }
.click-rate-table td { font-size: 11.5px; color: #333333; padding: 5px 10px; border-bottom: 1px solid #eeeeee; line-height: 1.5; }
.click-rate-table tr:last-child td { border-bottom: none; }
.click-rate-table td:last-child { font-weight: 700; color: #c0392b; white-space: nowrap; }
.click-rate-table tr:nth-child(even) { background: #fafafa; }


/* ================================================================
   19. MEO 業種テーブル + ドーナツ (04)
   ================================================================ */
.intro-block { display: flex; gap: 24px; align-items: flex-start; margin-bottom: 20px; }
.intro-left  { flex: 1; min-width: 0; }
.intro-right { flex: 0 0 150px; display: flex; flex-direction: column; align-items: center; gap: 6px; }

.gyoshu-table-wrap   { border: 1.5px solid #3a7bd5; border-radius: 8px; overflow: hidden; }
.gyoshu-table-header { background: #3a7bd5; color: #ffffff; font-size: 13px; font-weight: 700; padding: 8px 14px; }
.gyoshu-table        { width: 100%; border-collapse: collapse; }
.gyoshu-table thead th { background: #eef3fc; font-size: 12px; font-weight: 700; color: #2a5caa; padding: 6px 12px; border-bottom: 1px solid #c0d0f0; text-align: left; }
.gyoshu-table tbody td { font-size: 12px; color: #333333; padding: 6px 12px; border-bottom: 1px solid #eeeeee; vertical-align: top; line-height: 1.6; }
.gyoshu-table tbody tr:last-child td { border-bottom: none; }
.gyoshu-table tbody tr:nth-child(even) { background: #fafcff; }
.gyoshu-cat { font-weight: 700; white-space: nowrap; color: #1a4a9a !important; }

.donut-caption-top { font-size: 11px; color: #555555; text-align: center; line-height: 1.55; }


/* ================================================================
   20. 有用性・企業 BLOCK (04)
   ================================================================ */
.yuyosei-block { display: flex; gap: 20px; align-items: flex-start; margin-bottom: 20px; }
.yuyosei-left  { flex: 1; min-width: 0; }
.yuyosei-text  { font-size: 13.5px; color: #333333; line-height: 1.9; }
.yuyosei-right { flex: 0 0 200px; }
.yuyosei-img   { width: 100%; height: auto; display: block; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); }

.kigyou-block { display: flex; gap: 20px; align-items: flex-start; margin-bottom: 20px; }
.kigyou-left  { flex: 1; min-width: 0; }
.kigyou-text  { font-size: 13.5px; color: #333333; line-height: 1.9; }
.kigyou-right { flex: 0 0 160px; }
.kigyou-img   { width: 100%; height: auto; display: block; border-radius: 8px; }


/* ================================================================
   21. Be Contact メソット 4特長 (04)
   ================================================================ */
.method-intro  { font-size: 13.5px; color: #333333; line-height: 1.8; margin-bottom: 18px; }
.features-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 12px; }
.feature-card  { border: 1.5px solid #dddddd; border-radius: 10px; overflow: hidden; background: #ffffff; display: flex; flex-direction: column; }
.feature-card-header { display: flex; align-items: center; gap: 10px; padding: 12px 14px 10px; background: #f8f9ff; border-bottom: 1px solid #eeeeee; }
.feature-icon  { width: 36px; height: 36px; object-fit: contain; flex-shrink: 0; }
.feature-title-block { flex: 1; min-width: 0; }
.feature-subtitle { font-size: 14px; color: #222222; line-height: 1.4; margin-bottom: 2px; font-weight: 700; }
.feature-title { font-size: 14px; font-weight: 900; color: #222222; line-height: 1.3; }
.feature-img   { width: 100%; height: 100px; object-fit: cover; display: block; }
.feature-desc  { font-size: 12px; color: #444444; line-height: 1.8; padding: 12px 14px 14px; flex: 1; }


/* ================================================================
   22. 手厚いサポート (04)
   ================================================================ */
.support-intro  { font-size: 13.5px; color: #333333; line-height: 1.8; margin-bottom: 18px; }
.support-section { display: flex; gap: 20px; align-items: flex-start; }
.support-blocks-col { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.support-block  { border: 1.5px solid #dddddd; border-radius: 10px; overflow: hidden; background: #ffffff; }
.support-block-header { background: #f0f4ff; border-bottom: 1px solid #dde5f5; padding: 10px 16px; }
.support-block-title { font-size: 14px; font-weight: 900; color: #1a4a9a; line-height: 1.4; }
.support-block-body  { padding: 12px 16px 14px; }
.support-block-desc  { font-size: 13px; color: #333333; line-height: 1.85; margin-bottom: 10px; }
.support-point { display: flex; align-items: flex-start; gap: 8px; }
.support-check { flex-shrink: 0; margin-top: 1px; display: flex; align-items: center; }
.support-point-text { font-size: 12.5px; color: #444444; line-height: 1.7; }
.support-model-col  { flex: 0 0 200px; }
.support-model-img  { width: 100%; height: auto; display: block; border-radius: 10px; }


/* ================================================================
   23. ホームページ制作 各パーツ (05)
   ================================================================ */
.issues-industries-row { display: flex; gap: 16px; align-items: flex-start; }

.marketing-section { display: flex; gap: 28px; align-items: center; margin-bottom: 28px; }
.marketing-left    { flex: 1; min-width: 0; }
.marketing-right   { flex: 0 0 180px; display: flex; justify-content: center; align-items: center; }

.one-stop-diagram { position: relative; width: 180px; height: 180px; }
.one-stop-svg     { position: absolute; inset: 0; width: 100%; height: 100%; }
.one-stop-center  { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; z-index: 2; }
.one-stop-one, .one-stop-stop { font-size: 18px; font-weight: 900; color: #3a7bd5; line-height: 1.1; letter-spacing: 1px; }
.one-stop-item    { position: absolute; font-size: 12px; font-weight: 700; background: #ffffff; border: 2px solid #3a7bd5; border-radius: 20px; padding: 5px 10px; color: #1a4a9a; white-space: nowrap; z-index: 3; box-shadow: 0 2px 6px rgba(58,123,213,0.15); }
.item-kikaku  { top: 6px;  left: 50%; transform: translateX(-50%); }
.item-chosa   { top: 32px; right: 6px; }
.item-seisaku { bottom: 32px; right: 6px; }
.item-kokai   { bottom: 6px; left: 50%; transform: translateX(-50%); }
.item-bunseki { top: 50%; left: 4px; transform: translateY(-50%); }

.request-box       { background: #f8faff; border: 1.5px solid #c0d0f0; border-radius: 10px; padding: 16px 20px; margin-bottom: 10px; }
.request-box-title { font-size: 13px; font-weight: 700; color: #2a5caa; margin-bottom: 12px; }
.request-tags-wrap { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.request-tag       { background: #ffffff; border: 1.5px solid #c0d0f0; border-radius: 4px; padding: 5px 14px; font-size: 13px; color: #333333; font-weight: 500; }
.request-point     { display: flex; align-items: flex-start; gap: 10px; background: #fff0f0; border-radius: 8px; padding: 10px 14px; border: 1px solid #f5cccc; }
.request-heart     { flex-shrink: 0; display: flex; align-items: center; margin-top: 1px; }
.request-point-text { font-size: 13px; color: #222222; line-height: 1.8; }

.price-intro-row   { display: flex; gap: 20px; align-items: center; margin-bottom: 20px; }
.price-intro-left  { flex: 1; min-width: 0; }
.price-intro-text  { font-size: 13.5px; color: #333333; line-height: 1.9; }
.price-intro-right { flex: 0 0 180px; }
.price-img         { width: 100%; height: auto; display: block; border-radius: 8px; box-shadow: 0 3px 12px rgba(0,0,0,0.12); }

.price-cards-row { display: flex; gap: 14px; align-items: stretch; margin-bottom: 8px; }
.price-card      { flex: 1; border-radius: 10px; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 2px 10px rgba(0,0,0,0.08); }
.price-card-header { padding: 12px 14px; text-align: center; }
.plan-blue   .price-card-header  { background: #4a90d9; }
.plan-teal   .price-card-header  { background: #38a89d; }
.plan-orange .price-card-header  { background: #e8a020; }
.plan-pages      { color: #ffffff; line-height: 1.3; display: flex; align-items: baseline; justify-content: center; flex-wrap: wrap; gap: 2px; }
.plan-pages-num  { font-size: 20px; font-weight: 900; letter-spacing: -0.5px; }
.plan-pages-unit { font-size: 13px; font-weight: 500; margin-left: 2px; }
.price-card-body { background: #ffffff; padding: 14px 14px 10px; text-align: center; border-left: 1px solid #eeeeee; border-right: 1px solid #eeeeee; }
.plan-price      { display: flex; align-items: baseline; justify-content: center; gap: 2px; margin-bottom: 6px; }
.plan-price-range { font-size: 26px; font-weight: 900; color: #222222; line-height: 1; }
.plan-blue   .plan-price-range { color: #2a6fcf; }
.plan-teal   .plan-price-range { color: #1e8a84; }
.plan-orange .plan-price-range { color: #cc7a00; }
.plan-price-unit { font-size: 16px; font-weight: 700; color: #222222; }
.plan-period     { font-size: 12px; color: #555555; font-weight: 500; }
.price-card-footer { padding: 12px 14px 14px; flex: 1; }
.blue-footer   { background: #e8f0fc; }
.teal-footer   { background: #e0f5f3; }
.orange-footer { background: #fef4e0; }
.plan-type-label { font-size: 12px; font-weight: 700; color: #333333; margin-bottom: 6px; text-align: center; }
.plan-type-list li { font-size: 12px; color: #444444; line-height: 1.8; }
.price-note { font-size: 11.5px; color: #777777; text-align: right; margin-bottom: 6px; }


/* ================================================================
   24. Instagram グラフ (06)
   ================================================================ */
.main-layout { display: flex; gap: 32px; align-items: flex-start; margin-bottom: 24px; }
.main-left   { flex: 1; min-width: 0; }
.main-right  { flex: 0 0 260px; display: flex; flex-direction: column; gap: 18px; }

.graph-wrap  { background: #ffffff; border-radius: 10px; padding: 14px 10px 10px; box-shadow: 0 2px 8px rgba(0,0,0,0.06); }
.graph-title { font-size: 11px; color: #666666; text-align: center; margin-bottom: 6px; letter-spacing: 0.04em; }
.donut-area  { display: flex; justify-content: center; }
/* 06のdonut-svgはインラインSVGで overflow:visible が必要 */
body.p06 .donut-svg { width: 100%; max-width: 260px; height: auto; display: block; overflow: visible; }
.graph-label { font-family: 'Noto Sans JP', sans-serif; font-size: 11px; font-weight: 700; fill: #333333; }
.graph-pct   { font-family: 'Noto Sans JP', sans-serif; font-size: 10px; fill: #555555; }


/* ================================================================
   25. RESPONSIVE — タブレット (max-width: 768px)
   ================================================================ */
@media (max-width: 768px) {

  /* --- 共通 --- */
  .page { padding: 24px 20px 40px; }

  .section-num-badge { width: 40px; height: 40px; font-size: 18px; }
  .section-title     { font-size: 20px; padding: 6px 20px 6px 14px; }
  .lead-text         { font-size: 15px; }
  .point-text        { font-size: 13px; }

  /* --- 01 top-block --- */
  .top-block { flex-direction: column; gap: 16px; }
  .top-right { flex: none; width: 160px; align-self: flex-end; margin-top: -16px; }
  .top-right--200 { width: 180px; margin-top: 0; }

  .results-industries-row { flex-direction: column; gap: 14px; }
  .search-results-col     { flex: none; width: 100%; }
  .industries-panel--flex1 { flex: none; width: 100%; }
  .industries-grid { gap: 12px; }

  .shisaku-row        { flex-wrap: wrap; gap: 8px; }
  .shisaku-search-bar { flex: 1 1 200px; min-width: 0; }
  .shisaku-image-wrap { padding: 10px; }
  .body-text-block p  { font-size: 13px; }

  /* --- 02 --- */
  .case-header-row    { flex-wrap: wrap; }
  .donut-wrap         { order: 3; width: 100%; flex-direction: row; justify-content: flex-end; align-items: center; gap: 10px; }
  .donut-chart        { width: 80px; height: 80px; }
  .case-bottom-row    { flex-direction: column; }
  .industries-panel, .btob-industries { flex: none; width: 100%; }
  .btob-search-mock   { flex: none; width: 100%; }
  .btob-body-row      { flex-direction: column; }
  .becontact-row      { flex-direction: column; gap: 16px; }
  .search-engine-share-col { flex: none; width: 200px; align-self: center; }
  .engine-cards-row   { gap: 10px; }
  .period-num         { font-size: 26px; }
  .engine-card-period { font-size: 13px; }

  /* --- 03 top-right: 横並びフレックスに --- */
  .top-right--col {
    flex-direction: row;
    width: 100%;
    gap: 14px;
    flex: none;
    margin-top: 0;
  }
  .top-right--col .hero-img { width: 140px; flex-shrink: 0; }
  .top-right--col .industries-panel { flex: 1; }

  .media-cards-row { gap: 10px; }
  .enjyo-section   { flex-direction: column; gap: 16px; }
  .enjyo-graph-col { flex: none; width: 200px; align-self: center; }
  .flow-step       { padding: 5px 7px; font-size: 10.5px; }
  .jirei-section   { flex-direction: column; gap: 16px; }
  .jirei-table-col { flex: none; width: 100%; }

  /* --- 04 --- */
  .intro-block   { flex-direction: column; gap: 18px; }
  .intro-right   { flex: none; flex-direction: row; width: 100%; align-items: center; justify-content: center; gap: 16px; }
  .donut-caption-top { text-align: left; font-size: 12px; }
  .yuyosei-block { flex-direction: column; gap: 16px; }
  .yuyosei-right { flex: none; width: 200px; align-self: center; }
  .kigyou-block  { flex-direction: column; gap: 16px; }
  .kigyou-right  { flex: none; width: 160px; align-self: center; }
  .features-grid { gap: 12px; }
  .feature-img   { height: 80px; }
  .support-section  { flex-direction: column; gap: 16px; }
  .support-model-col { flex: none; width: 220px; align-self: center; }

  /* --- 05 top-block: reverse --- */
  .top-block--reverse { flex-direction: column-reverse; }
  .issues-industries-row { flex-direction: column; gap: 14px; }
  .case-bar { flex-direction: column; align-items: flex-start; gap: 8px; }
  .marketing-section { flex-direction: column; gap: 20px; }
  .marketing-right   { flex: none; align-self: center; }
  .price-intro-row   { flex-direction: column-reverse; gap: 14px; }
  .price-intro-right { flex: none; width: 200px; align-self: center; }
  .price-cards-row   { gap: 10px; }
  .plan-pages-num    { font-size: 16px; }
  .plan-price-range  { font-size: 22px; }

  /* --- 06 --- */
  body.p06 .page           { padding: 28px 24px 44px; }
  body.p06 .section-num-badge { width: 44px; height: 44px; }
  body.p06 .section-title  { font-size: 21px; padding: 8px 24px 8px 18px; }
  body.p06 .lead-text      { font-size: 17px; }
  body.p06 .intro-text     { font-size: 14px; }
  .main-layout { flex-direction: column; gap: 24px; }
  .main-right  { flex: none; width: 100%; flex-direction: row; gap: 16px; align-items: flex-start; }
  .graph-wrap  { flex: 1; }
  body.p06 .industries-panel { flex: 0 0 180px; }
}


/* ================================================================
   26. RESPONSIVE — スマートフォン (max-width: 480px)
   ================================================================ */
@media (max-width: 480px) {

  /* --- 共通 --- */
  .page { padding: 16px 14px 36px; }
  .page--pb56 { padding-bottom: 40px; }

  .section-num-badge { width: 36px; height: 36px; font-size: 16px; border-radius: 6px 0 0 6px; }
  .section-title     { font-size: 17px; padding: 6px 14px 6px 12px; letter-spacing: 0.06em; }

  .lead-line  { gap: 8px; margin-bottom: 12px; }
  .lead-dot   { width: 11px; height: 11px; }
  .lead-text  { font-size: 13px; line-height: 1.5; }

  .point-box  { padding: 12px 14px; gap: 10px; margin-bottom: 20px; }
  .point-text { font-size: 12.5px; line-height: 1.8; }

  /* --- 01 --- */
  .top-right { order: -1; width: 120px; margin-top: 0; }
  .case-bar  { flex-direction: column; align-items: flex-start; gap: 8px; padding: 10px 12px; }
  .case-label { font-size: 12px; padding: 4px 10px; }
  .case-desc  { font-size: 12px; }
  .search-mock-bar { padding: 7px 12px; }
  .mock-query { font-size: 13px; }
  .mock-icons { gap: 5px; }
  .mock-sep   { display: none; }
  .search-results-col { gap: 8px; }
  .result-title  { font-size: 13px; }
  .result-domain, .result-url { font-size: 10px; }
  .industries-heading { font-size: 13px; margin-bottom: 10px; }
  .industries-grid { gap: 10px; }
  .industry-cat { font-size: 12px; }
  .industry-list li { font-size: 11px; line-height: 1.7; }
  .body-text-block  { margin-bottom: 16px; }
  .body-text-block p { font-size: 12.5px; line-height: 1.85; }
  .shisaku-row { gap: 6px; margin-bottom: 10px; }
  .shisaku-label-txt { font-size: 11px; }
  .shisaku-search-bar { padding: 6px 12px; }
  .shisaku-query { font-size: 12px; }
  .shisaku-right { gap: 5px; }
  .shisaku-btn   { font-size: 11px; }
  .shisaku-image-wrap { padding: 8px; border-radius: 8px; margin-bottom: 16px; }

  /* --- 02 --- */
  .intro-text-block p { font-size: 12.5px; }
  .case-header-row { flex-direction: column; gap: 10px; }
  .case-label-box  { min-width: auto; width: 100%; }
  .donut-wrap { order: 0; width: auto; flex-direction: column; align-items: center; }
  .donut-chart { width: 70px; height: 70px; }
  .donut-num   { font-size: 22px; }
  .case-list li { font-size: 12.5px; }
  .btob-search-mock { width: 100%; }
  .engine-cards-row { flex-direction: column; gap: 12px; }
  .engine-card  { flex: none; }
  .period-num   { font-size: 30px; }
  .engine-card-period { font-size: 14px; }
  .search-engine-share-col { width: 160px; }
  .becontact-desc  { font-size: 12.5px; }
  .hihyoji-note p  { font-size: 12.5px; }
  .divider-text-block p { font-size: 12px; }

  /* --- 03 --- */
  .top-right--col { flex-direction: column; gap: 12px; }
  .top-right--col .hero-img { width: 100%; }
  .media-cards-row { flex-direction: column; gap: 12px; }
  .kanshi-scope-cols { flex-direction: column; gap: 6px; }
  .flow-row  { flex-wrap: wrap; gap: 6px; }
  .flow-step { font-size: 11px; padding: 5px 8px; }
  .jirei-flow-row { flex-wrap: wrap; gap: 8px; }
  .jirei-result-block { min-width: 80px; }
  .enjyo-graph-col { width: 160px; }
  .tobanu-title { font-size: 14px; }
  .tobanu-text  { font-size: 12.5px; }

  /* --- 04 --- */
  .intro-text { font-size: 12.5px; }
  .intro-right { flex-direction: column; align-items: center; gap: 8px; }
  .donut-caption-top { text-align: center; }
  .donut-chart--lg { width: 90px; height: 90px; }
  .donut-num--lg   { font-size: 26px; }
  .donut-pct--lg   { font-size: 13px; }
  .gyoshu-table tbody td, .gyoshu-table thead th { font-size: 11px; padding: 5px 8px; }
  .yuyosei-text, .kigyou-text { font-size: 12.5px; }
  .yuyosei-right { width: 100%; }
  .kigyou-right  { width: 100%; }
  .features-grid { grid-template-columns: 1fr; gap: 12px; }
  .feature-img   { height: 120px; }
  .support-block-title { font-size: 13px; }
  .support-block-desc  { font-size: 12px; }
  .support-point-text  { font-size: 12px; }
  .support-model-col   { width: 100%; }
  .method-intro, .support-intro { font-size: 12.5px; }

  /* --- 05 --- */
  .top-right--200 { width: 120px; }
  .bullet-list li { font-size: 12.5px; }
  .body-text      { font-size: 12.5px; }
  .one-stop-diagram { width: 150px; height: 150px; }
  .one-stop-one, .one-stop-stop { font-size: 15px; }
  .one-stop-item  { font-size: 10.5px; padding: 4px 8px; }
  .request-tag    { font-size: 12px; padding: 4px 10px; }
  .request-point-text { font-size: 12px; }
  .price-intro-text   { font-size: 12.5px; }
  .price-intro-right  { width: 160px; }
  .price-cards-row    { flex-direction: column; gap: 12px; }
  .plan-pages-num  { font-size: 18px; }
  .plan-price-range { font-size: 24px; }
  .plan-type-list li { font-size: 12.5px; }
}


/* ================================================================
   27. RESPONSIVE — 06 Instagram SP (max-width: 560px)
   ================================================================ */
@media (max-width: 560px) {
  body.p06 .page          { padding: 18px 16px 40px; }
  body.p06 .section-num-badge { width: 38px; height: 38px; font-size: 16px; }
  body.p06 .section-title { font-size: 18px; padding: 7px 16px 7px 14px; letter-spacing: 0.03em; }
  body.p06 .lead-text     { font-size: 15px; line-height: 1.5; }
  body.p06 .intro-text    { font-size: 13px; }
  body.p06 .case-bar      { flex-direction: column; align-items: flex-start; }
  body.p06 .case-label    { width: 100%; padding: 8px 16px; border-radius: 0; }
  body.p06 .case-desc     { padding: 10px 14px; font-size: 13px; }
  .issues-box             { padding: 14px 16px; }
  body.p06 .bullet-list li { font-size: 13px; line-height: 1.85; }
  .main-right             { flex-direction: column; }
  body.p06 .industries-panel { flex: none; width: 100%; }
  body.p06 .point-box     { padding: 14px 16px; gap: 10px; }
  body.p06 .point-text    { font-size: 13px; }
}

/* サービスページのh1には三角アイコンを非表示 */
.page h1::before {
  display: none;
}

/* bodyのtext-align: center打ち消し・ヘッダー余白 */
.page {
  text-align: left;
  padding-top: 53px;
}

/* sub.cssのh2グローバルスタイルを打ち消し */
.page h2 {
  position: static;
  left: unset;
  white-space: normal;
  line-height: inherit;
  text-align: left;
}

/* lead-textのh2は個別スタイルを維持 */
.page .lead-text {
  color: #222222;
  font-family: inherit;
  font-size: 17px;
  font-weight: 700;
}
