/* ============================================================
   WEBコンサルティング /web_consultin/（最終ページ型）
   ⚠ page-sales.css の組み立て・クラス設計を踏襲。接頭辞のみ p-webcon__ に変更。
   確定デザインが無いページのため、数値は page-sales.css / front-page 系の値を流用している。
   本文が3つのh2ブロックに分かれるため、リード面のあとに「面を分けた」2ブロックを追加している
   （詳細は page-web_consultin.php 冒頭コメントと完了報告を参照）。
   ============================================================ */

/* ---- ページヘッダー（パンくず＋WEB CONSULTING＋h1）。図形を置かない面 ---- */
.p-webcon__head {
  background: var(--c-ground);
}

.p-webcon__head-body { padding: 24px 0 32px; }

.p-webcon__title { margin-top: 12px; }

@media (min-width: 768px) {
  .p-webcon__head-body { padding: 44px 0 46px; }
  .p-webcon__title { margin-top: 14px; }
}

/* ---- リード：ホームページをもっともっと活用したい ---- */
.p-webcon__lead-title {
  margin: 0;
  font-size: 21px;
  line-height: 1.7;
}

.p-webcon__lead-body p + p { margin-top: 18px; }

@media (min-width: 768px) {
  .p-webcon__lead-body { padding-top: 6px; }
  .p-webcon__lead-title { font-size: 30px; line-height: 1.65; }
  .p-webcon__lead-body p + p { margin-top: 22px; }
}
@media (min-width: 1024px) {
  .p-webcon__lead .l-split { gap: 56px; }
}

/* ---- WEBプロモーションのご相談 ----
   カードが主役ではないプレーンな本文の面。2026-08-13よりl-split 2カラム化（おじさん指示）。
   見出しサイズはリード面(.p-webcon__lead-title)と統一。 ---- */
.p-webcon__promo-title {
  margin-top: 12px;
  font-size: 21px;
  line-height: 1.7;
}

.p-webcon__promo-body { margin-top: 24px; }
.p-webcon__promo-body p + p { margin-top: 18px; }

@media (min-width: 768px) {
  /* ⚠ 2026-08-13: l-split で2カラム化(おじさん指示)。本文側の margin-top を
     見出し側と揃うよう詰める（リード面の l-split と同じ考え方＝padding-topで微調整）。 */
  .p-webcon__promo-title { margin-top: 0; font-size: 30px; line-height: 1.65; }
  .p-webcon__promo-body { margin-top: 0; padding-top: 6px; }
  .p-webcon__promo-body p + p { margin-top: 22px; }
}
@media (min-width: 1024px) {
  .p-webcon__promo .l-split { gap: 56px; }
}

/* ---- 料金プラン ----
   ⚠ 2026-08-13: page-sales.css / page-manegement.css の料金プランカード型に統一
   （おじさん指示。この面には data-orbit を付けない＝価格情報の面には図形を置かない）。
   カードは2枚のみ（manegement と同じ）なので、768px〜は2列。 */
.p-webcon__plan-title {
  margin-top: 12px;
  font-size: 22px;
  line-height: 1.5;
}

.p-webcon__plans {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  margin-top: 24px;
}

@media (min-width: 768px) {
  .p-webcon__plan-title { margin-top: 14px; font-size: 32px; line-height: 1.45; }
  .p-webcon__plans { grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 32px; }
}

.p-webcon__plan-card {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--c-rule);
  border-radius: 12px;
  background: var(--c-panel);
  padding: 22px 20px;
}

.p-webcon__plan-card-head {
  display: flex;
  align-items: center;
  gap: 11px;
}

.p-webcon__plan-bar {
  flex: none;
  width: 3px;
  height: 20px;
  background: var(--c-accent);
}

.p-webcon__plan-card-title {
  margin: 0;
  font-size: 17px;
  font-weight: 900;
  color: var(--c-text);
}

.p-webcon__plan-price-row {
  margin-top: 14px;
  display: flex;
  align-items: baseline;
  gap: 6px;
  border-bottom: 1px solid var(--c-rule-light);
  padding-bottom: 14px;
}

.p-webcon__plan-price-prefix {
  font-size: 12px;
  font-weight: 700;
  color: var(--c-text-sub);
}

.p-webcon__plan-price-num {
  font-size: 30px;
  font-weight: 900;
  color: var(--c-text);
  letter-spacing: .01em;
}

.p-webcon__plan-price-suffix {
  font-size: 14px;
  font-weight: 900;
  color: var(--c-text);
}

.p-webcon__plan-price-cond {
  margin-left: auto;
  font-size: 12px;
  font-weight: 700;
  color: var(--c-link);
}

.p-webcon__plan-note {
  margin: 8px 0 0;
  font-size: 11.5px;
  color: var(--c-text-sub);
}

.p-webcon__plan-desc {
  margin: 14px 0 0;
  font-size: 12.5px;
  line-height: 1.95;
  color: var(--c-heading-sub);
  /* ⚠ 幅230〜290px程度の狭いカラムでは、body既定の字間均等割り付け(inter-character)
     が行ごとの文字数差でバラついて見えるため、このカードだけ左揃えに戻す（おじさん指示2026-08-13）。
     さらに「WEBサイト」「聞きたい」等が意味の途中で改行されるのを防ぐため、
     page-ec_consulting.cssの.p-ec__card-textと同じword-break:auto-phraseを適用する。 */
  text-align: left;
  word-break: auto-phrase;
  text-wrap: pretty;
}

.p-webcon__plan-foot {
  margin-top: 22px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  border-left: 2px solid var(--c-rule);
  padding: 2px 0 2px 14px;
}

@media (min-width: 768px) {
  .p-webcon__plan-card { border-radius: 14px; padding: 32px 28px; }
  .p-webcon__plan-card-head { gap: 14px; }
  .p-webcon__plan-bar { height: 26px; }
  .p-webcon__plan-card-title { font-size: 20px; }
  .p-webcon__plan-price-row { margin-top: 20px; gap: 7px; padding-bottom: 16px; }
  .p-webcon__plan-price-prefix { font-size: 13px; }
  .p-webcon__plan-price-num { font-size: 34px; }
  .p-webcon__plan-price-suffix { font-size: 15px; }
  .p-webcon__plan-price-cond { font-size: 13px; }
  .p-webcon__plan-note { margin-top: 10px; font-size: 12px; }
  .p-webcon__plan-desc { margin-top: 18px; font-size: 13.5px; line-height: 2; }
  .p-webcon__plan-foot { margin-top: 32px; gap: 10px; padding-left: 18px; }
}
