/* ==== Single (post detail) ==== */
.single-hero{padding:28px 0 8px;border-top:1px solid var(--line);background:linear-gradient(180deg,var(--hero-from),transparent 60%),#fff}
.crumbs{color:var(--muted);font-size:12px}
.crumbs a{text-decoration:none}
.single-title{font-size:clamp(24px,3.2vw,34px);line-height:1.25;margin:8px 0 6px;font-weight:900}
.meta-top{margin-top:6px}
.work-headline{font-weight:800;margin-top:4px}
.single-lead{color:#0f172a;opacity:.9;margin-top:6px}

.single-eyecatch{padding:10px 0}
.container--wide{max-width:min(1200px,94vw)}
.eyecatch{aspect-ratio:16/9;position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(135deg,#e9f1ff,#eef6ff)}
.eyecatch img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}

.work-meta{display:flex;gap:14px;flex-wrap:wrap;padding:12px 16px;border-radius:14px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}
.work-meta .k{display:inline-block;background:#eef2ff;color:#1e40af;border:1px solid #dbeafe;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800;margin-right:8px}
.work-meta .v{font-weight:800}

.single-content{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:20px}
.single-content img{height:auto;max-width:100%}
.single-content h2{font-size:clamp(20px,2.4vw,26px);margin:18px 0 8px}
.single-content h3{font-size:clamp(18px,2vw,22px);margin:16px 0 6px}

.single-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.pill-tab{text-decoration:none}
.post-nav{display:flex;justify-content:space-between;margin-top:18px}
.post-nav a{text-decoration:none;font-weight:800}

.related-title{margin-bottom:10px}

/* ========================================
   コンサル生＆加盟店募集 記事用スタイル
   ======================================== */

.lp-main {
  font-size: 15px;
  line-height: 1.8;
}

/* コンテナ・セクション共通 */

.lp-container {
  width: min(1080px, 100% - 32px);
  margin: 0 auto;
}

.lp-section {
  padding: 56px 0;
  background: #ffffff;
}

.lp-section--soft {
  background: linear-gradient(180deg, #f9fbff 0%, #ffffff 100%);
}

.lp-section--cta {
  padding: 64px 0 72px;
  background: radial-gradient(circle at top, #e0f2fe 0, #eff6ff 45%, #ffffff 100%);
}

.lp-section__head {
  text-align: center;
  margin-bottom: 28px;
}

.lp-heading {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 8px;
}

.lp-section__lead {
  font-size: 14px;
  color: #4b5563;
}

/* Hero */

.lp-hero {
  padding: 40px 0 28px;
  background: radial-gradient(circle at top, #e0f2fe 0, #dbeafe 40%, #ffffff 100%);
}

.lp-hero__inner {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
  align-items: center;
}

.lp-hero__text {
  flex: 1 1 320px;
  min-width: 0;
}

.lp-hero__title {
  font-size: 26px;
  font-weight: 700;
  margin: 6px 0 12px;
}

.lp-hero__lead {
  font-size: 14px;
  color: #374151;
}

.lp-hero__actions {
  margin-top: 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-start;
}

.lp-hero__links {
  font-size: 13px;
  color: #4b5563;
}

.lp-hero__links a {
  color: #2563eb;
  text-decoration: none;
}

.lp-hero__links a:hover {
  text-decoration: underline;
}

.lp-hero__media {
  flex: 1 1 260px;
  min-width: 260px;
  max-width: 420px;
}

.lp-hero__image-wrap {
  border-radius: 20px;
  overflow: hidden;
  background: #e5edff;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.15);
}

.lp-hero__image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lp-breadcrumb {
  margin-top: 16px;
  font-size: 12px;
  color: #6b7280;
}

.lp-breadcrumb a {
  color: inherit;
  text-decoration: none;
}

.lp-breadcrumb a:hover {
  text-decoration: underline;
}

/* チップ・ボタンなど */

.lp-chip {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(37, 99, 235, 0.08);
  color: #1d4ed8;
  font-size: 11px;
  font-weight: 600;
}

.lp-note {
  font-size: 11px;
  color: #6b7280;
  margin-top: 6px;
}

.lp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 20px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: transform 0.12s ease, box-shadow 0.12s ease, background-color 0.12s ease;
}

.lp-btn--primary {
  background: linear-gradient(90deg, #2563eb, #1d4ed8);
  color: #ffffff;
  box-shadow: 0 12px 25px rgba(37, 99, 235, 0.35);
}

.lp-btn--primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 16px 32px rgba(37, 99, 235, 0.45);
}

.lp-btn--lg {
  padding-inline: 32px;
}

.lp-tag {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  border-radius: 999px;
  background: #dcfce7;
  color: #166534;
  font-size: 11px;
  font-weight: 600;
  margin-bottom: 6px;
}

.lp-tag--blue {
  background: #dbeafe;
  color: #1d4ed8;
}

.lp-pill {
  display: inline-flex;
  align-items: center;
  padding: 3px 9px;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid #d1d5db;
  font-size: 12px;
}

/* グリッド・カード */

.lp-grid {
  display: grid;
}

.lp-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.lp-grid--gap-xl {
  gap: 28px;
}

.lp-align-start {
  align-items: flex-start;
}

.lp-card {
  border-radius: 16px;
  padding: 20px;
  background: #ffffff;
  box-shadow: 0 10px 25px rgba(15, 23, 42, 0.06);
}

.lp-card--border {
  border-top: 4px solid #2563eb;
}

.lp-card--soft {
  background: #f9fafb;
  box-shadow: none;
  border: 1px solid #e5e7eb;
}

.lp-card__title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 10px;
}

/* リスト・テキスト */

.lp-list {
  padding-left: 1.2em;
}

.lp-list li {
  margin-bottom: 0.4em;
}

.lp-list--tight li {
  margin-bottom: 0.2em;
}

.lp-subheading {
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 6px;
}

.lp-text-muted {
  color: #6b7280;
}

/* コールアウト・イメージカード */

.lp-callout {
  margin-top: 24px;
  padding: 18px 20px;
  border-radius: 16px;
}

.lp-callout--primary {
  background: linear-gradient(90deg, #2563eb0f, #22c55e0f);
  border: 1px solid #bfdbfe;
  text-align: center;
  font-weight: 600;
}

.lp-callout--soft {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
}

.lp-callout__title {
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 6px;
}

.lp-image-card {
  margin-top: 16px;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid #e5e7eb;
  background: #ffffff;
}

.lp-image-card img {
  display: block;
  width: 100%;
  height: auto;
}

.lp-image-card__caption {
  font-size: 12px;
  color: #6b7280;
  padding: 8px 12px 10px;
}

.lp-image-card--soft {
  background: #f9fafb;
}

/* ステップリスト */

.lp-step-list {
  list-style: none;
  padding-left: 0;
  counter-reset: lp-step;
}

.lp-step-list li {
  counter-increment: lp-step;
  position: relative;
  padding-left: 2.4em;
  margin-bottom: 0.6em;
}

.lp-step-list li::before {
  content: counter(lp-step);
  position: absolute;
  left: 0;
  top: 0.1em;
  width: 1.7em;
  height: 1.7em;
  border-radius: 999px;
  border: 1px solid #2563eb;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8em;
  font-weight: 600;
  color: #2563eb;
  background: #eff6ff;
}

/* インタビュー */

.lp-interview p {
  margin-bottom: 0.6em;
}

/* FAQ */

.lp-faq {
  border-radius: 12px;
  border: 1px solid #e5e7eb;
  padding: 10px 14px;
  background: #ffffff;
  margin-bottom: 8px;
}

.lp-faq summary {
  cursor: pointer;
  font-weight: 600;
  list-style: none;
}

.lp-faq summary::-webkit-details-marker {
  display: none;
}

.lp-faq summary::after {
  content: "＋";
  float: right;
  font-weight: 400;
}

.lp-faq[open] summary::after {
  content: "－";
}

.lp-faq div {
  margin-top: 6px;
  font-size: 14px;
  color: #4b5563;
}

/* CTAボックス */

.lp-cta-box {
  text-align: center;
  max-width: 720px;
  margin: 0 auto;
  padding: 28px 24px 32px;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.18);
}

.lp-cta-box p {
  margin-bottom: 10px;
}

/* リンク */

.lp-link {
  display: inline-flex;
  align-items: center;
  margin-top: 8px;
  font-size: 13px;
  color: #2563eb;
  text-decoration: none;
}

.lp-link:hover {
  text-decoration: underline;
}

/* レスポンシブ */

@media (max-width: 768px) {
  .lp-section {
    padding: 40px 0;
  }

  .lp-hero__inner {
    align-items: flex-start;
  }

  .lp-heading {
    font-size: 20px;
  }

  .lp-grid--2 {
    grid-template-columns: minmax(0, 1fr);
  }

  .lp-card {
    padding: 18px;
  }

  .lp-cta-box {
    padding-inline: 18px;
  }
}

/* =========================
   コンサル生・加盟店インタビュー（FAQ風）
   ========================= */

.lp-interview-block {
  margin-bottom: 16px;
}

.lp-intv-note {
  font-size: 12px;
  color: var(--muted);
  margin-top: 12px;
}

/* インタビュー用アコーディオン本体 */

.lp-intv-faq {
  display: grid;
  gap: 12px;
  margin-top: 12px;
}

/* 1つ1つのQ&Aボックス */
.lp-intv-faq .lp-intv-item {
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--shadow);
  overflow: hidden;
  transition: box-shadow .2s ease, border-color .2s ease;
}

.lp-intv-faq .lp-intv-item[open] {
  box-shadow: 0 3px 30px rgba(37,99,235,.12), 0 1px 2px rgba(15,23,42,.06);
  border-color: #d7e6ff;
}

/* 質問部分（summary） */

.lp-intv-faq summary {
  padding: 14px 16px;
  list-style: none;
  cursor: pointer;
  font-weight: 800;
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--ink);
  position: relative;
  font-size: 14px;
}

/* ブラウザデフォルトのマーカーを消す */
.lp-intv-faq summary::-webkit-details-marker {
  display: none;
}

/* 左の「Q：」ラベル */
.lp-intv-faq summary::before {
  content: "Q：";
  font-weight: 800;
  color: var(--pill);
  margin-right: 4px;
}

/* 右端の矢印アイコン（開閉で回転） */
.lp-intv-faq summary::after {
  content: "▾";
  position: absolute;
  right: 14px;
  font-size: 18px;
  line-height: 1;
  transform: rotate(0deg);
  transition: transform .2s ease;
  color: #334155;
}

.lp-intv-faq .lp-intv-item[open] > summary::after {
  transform: rotate(180deg);
}

/* 回答部分 */

.lp-intv-answer {
  background: var(--hero-from);
  border-top: 1px solid #dbeafe;
}

.lp-intv-answer p {
  margin: 0;
  padding: 12px 16px 16px;
  color: var(--ink);
  font-size: 14px;
}

/* A：ラベル */

.lp-intv-answer p::before {
  content: "A：";
  font-weight: 800;
  color: var(--pill);
  margin-right: 6px;
}

/* スマホ調整（2カラム→1カラムは既に lp-grid 側で制御中） */
@media (max-width: 768px) {
  .lp-intv-faq summary {
    padding-right: 32px; /* 矢印ぶんちょい余白 */
  }
}

.lp-faq {
  border-radius: 12px;
  border: 1px solid #e5e7eb;
  padding: 10px 14px;
  background: #ffffff;
  margin-bottom: 8px;
}
.lp-faq summary {
  cursor: pointer;
  font-weight: 600;
  list-style: none;
  position: relative;
}
/* …中略… */

/* =========================
   導入オプション（加盟店 / コンサル生）
   ========================= */

.lp-intro-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-top: 20px;
}

.lp-intro-option {
  border-radius: 16px;
  border: 1px solid var(--line);
  background: var(--card);
  box-shadow: var(--shadow);
  padding: 16px 18px;
  text-align: left;
}

.lp-intro-title {
  font-size: 17px;
  font-weight: 700;
  margin: 4px 0 6px;
}

@media (max-width: 768px) {
  .lp-intro-options {
    grid-template-columns: 1fr;
  }
}

/* =========================
   募集要項カード
   ========================= */

.lp-recruit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.lp-recruit-card {
  border-radius: 18px;
  border: 1px solid var(--line);
  background: var(--card);
  box-shadow: var(--shadow);
  padding: 18px 20px;
  position: relative;
  overflow: hidden;
}

.lp-recruit-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top left, rgba(37,99,235,.04), transparent 55%);
  pointer-events: none;
}

.lp-recruit-card--partner {
  border-top: 4px solid var(--brand);
}

.lp-recruit-card--consult {
  border-top: 4px solid #22c55e;
}

.lp-recruit-label {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  background: #eef2ff;
  color: #1e40af;
  border: 1px solid #dbeafe;
  font-size: 11px;
  font-weight: 700;
  position: relative;
  z-index: 1;
}

.lp-recruit-label--green {
  background: #dcfce7;
  border-color: #bbf7d0;
  color: #166534;
}

.lp-recruit-title {
  font-size: 18px;
  font-weight: 800;
  margin: 6px 0 10px;
  position: relative;
  z-index: 1;
}

.lp-recruit-list {
  list-style: none;
  padding: 0;
  margin: 0 0 6px;
  position: relative;
  z-index: 1;
}

.lp-recruit-list li {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 6px;
  padding: 6px 0;
  border-bottom: 1px dashed var(--line);
  font-size: 14px;
}

.lp-recruit-list li span {
  color: var(--muted);
  font-weight: 600;
}

@media (max-width: 768px) {
  .lp-recruit-grid {
    grid-template-columns: 1fr;
  }
  .lp-recruit-list li {
    grid-template-columns: 80px minmax(0, 1fr);
  }
}

/* =========================
   FAQ（/faq/ ページと同じデザイン）
   ========================= */

.lp-faq-cols {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.lp-faq-block {
  text-align: left;
}

.lp-faq-block .faq {
  display: grid;
  gap: 12px;
  margin-top: 10px;
}

/* アコーディオン本体 */
.lp-faq-block .faq details {
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--shadow);
  overflow: hidden;
  transition: box-shadow .2s ease, border-color .2s ease;
}

.lp-faq-block .faq details[open] {
  box-shadow: 0 3px 30px rgba(37,99,235,.12), 0 1px 2px rgba(15,23,42,.06);
  border-color: #d7e6ff;
}

/* 質問部分 */
.lp-faq-block .faq summary {
  padding: 14px 16px;
  list-style: none;
  cursor: pointer;
  font-weight: 800;
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--ink);
  position: relative;
}

.lp-faq-block .faq summary::marker {
  display: none;
}

/* Q: ラベル */
.lp-faq-block .faq summary::before {
  content: "Q：";
  font-weight: 800;
  color: var(--pill);
  margin-right: 6px;
}

/* 右端の三角アイコン（開閉で回転） */
.lp-faq-block .faq summary::after {
  content: "▾";
  position: absolute;
  right: 14px;
  font-size: 18px;
  line-height: 1;
  transform: rotate(0deg);
  transition: transform .2s ease;
  color: #334155;
}

.lp-faq-block .faq details[open] > summary::after {
  transform: rotate(180deg);
}

/* 回答部分 */
.lp-faq-block .faq .answer {
  background: var(--hero-from);
  border-top: 1px solid #dbeafe;
}

.lp-faq-block .faq p {
  margin: 0;
  padding: 12px 16px 16px;
  color: var(--ink);
}

/* A: ラベル */
.lp-faq-block .faq .answer > p::before {
  content: "A：";
  font-weight: 800;
  color: var(--pill);
  margin-right: 6px;
}

@media (max-width: 768px) {
  .lp-faq-cols {
    grid-template-columns: 1fr;
  }
  .lp-faq-block .faq summary {
    padding-right: 32px;
  }
}

/* =========================
   トップCTA（加盟店・コンサル生募集）
   ========================= */

.lp-section--top-cta {
  padding: 56px 0 44px;
  background: linear-gradient(
    135deg,
    var(--hero-from, #eff6ff),
    var(--hero-to, #e0f2fe)
  );
}

.lp-top-cta {
  max-width: 860px;
  margin: 0 auto;
  padding: 28px 24px 26px;
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.18);
  text-align: center;
  position: relative;
  overflow: hidden;
}

/* 上の黄色い帯っぽいやつ */
.lp-top-cta::before {
  content: "加盟店・コンサル生 無料相談受付中";
  position: absolute;
  top: 14px;
  left: 50%;
  transform: translateX(-50%);
  padding: 6px 32px;
  border-radius: 999px;
  background: linear-gradient(90deg, #fbbf24, #f59e0b);
  color: #111827;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .05em;
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.6);
}

/* 上の帯と被らないよう余白調整 */
.lp-top-cta__eyebrow {
  margin-top: 40px;
  font-size: 12px;
  font-weight: 700;
  color: #6b7280;
}

/* メイン見出し */
.lp-top-cta__title {
  font-size: clamp(22px, 2.6vw, 30px);
  line-height: 1.3;
  margin: 6px 0 8px;
  font-weight: 900;
  letter-spacing: .02em;
}

/* 強いキャッチ部分 */
.lp-top-cta__catch {
  font-size: 18px;
  font-weight: 700;
  margin: 4px 0 10px;
  color: #111827;
}

.lp-top-cta__catch span {
  color: #ea580c;
  font-weight: 900;
}

/* 説明テキスト */
.lp-top-cta__lead {
  font-size: 14px;
  color: #374151;
  margin: 6px 0 8px;
}

.lp-top-cta__sub {
  font-size: 13px;
  color: #4b5563;
  margin: 4px 0 12px;
}

/* LINE風ボタン周り */
.lp-top-cta__action {
  margin-top: 4px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

/* 既存 .lp-btn を継承して上書き */
.lp-btn--line-main {
  background: #22c55e;
  color: #ffffff;
  padding: 13px 30px;
  border-radius: 999px;
  font-size: 16px;
  box-shadow: 0 14px 30px rgba(22, 163, 74, 0.45);
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.lp-btn--line-main:hover {
  transform: translateY(-1px);
  box-shadow: 0 18px 36px rgba(22, 163, 74, 0.55);
}

/* 左に丸いLINEアイコンっぽいドット */
.lp-btn__line-dot {
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: #ffffff;
  position: relative;
  flex-shrink: 0;
}

.lp-btn__line-dot::before {
  content: "";
  position: absolute;
  inset: 6px;
  border-radius: inherit;
  background: #22c55e;
}

/* 注意書き */
.lp-top-cta__note {
  font-size: 11px;
  color: #6b7280;
}

/* スマホ調整 */
@media (max-width: 768px) {
  .lp-section--top-cta {
    padding: 40px 0 32px;
  }

  .lp-top-cta {
    padding: 24px 18px 22px;
    border-radius: 20px;
  }

  .lp-top-cta::before {
    font-size: 11px;
    padding-inline: 22px;
  }

  .lp-top-cta__catch {
    font-size: 16px;
  }
}

/* =========================
   お悩みセクション（カード）
   ========================= */

.lp-section--problems {
  background: linear-gradient(180deg, #f9fbff 0%, #ffffff 100%);
}

.lp-problem-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-top: 12px;
}

.lp-problem {
  border-radius: 20px;
  padding: 18px 20px 16px;
  border: 1px solid var(--line, #e5e7eb);
  background: #ffffff;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.06);
  position: relative;
  overflow: hidden;
}

.lp-problem::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top left, rgba(37,99,235,.06), transparent 55%);
  pointer-events: none;
}

.lp-problem-label {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  background: #eef2ff;
  color: #1e40af;
  border: 1px solid #dbeafe;
  font-size: 11px;
  font-weight: 700;
  position: relative;
  z-index: 1;
}

.lp-problem-label--green {
  background: #dcfce7;
  border-color: #bbf7d0;
  color: #166534;
}

.lp-problem-label--blue {
  /* 念のため明示的に */
  background: #eef2ff;
  border-color: #dbeafe;
  color: #1e40af;
}

.lp-problem-title {
  font-size: 16px;
  font-weight: 800;
  margin: 6px 0 8px;
  position: relative;
  z-index: 1;
}

.lp-problem-list {
  position: relative;
  z-index: 1;
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.lp-problem-list li {
  position: relative;
  padding-left: 24px;
  margin-bottom: 6px;
  font-size: 14px;
  color: var(--ink, #0f172a);
}

.lp-problem-list li::before {
  content: "";
  position: absolute;
  left: 8px;
  top: 0.7em;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: #2563eb;
}

/* =========================
   お悩み解決の帯（フル幅）
   ========================= */

.lp-problem-cta {
  padding: 26px 0;
  background: radial-gradient(circle at top, #e0f2fe 0, #e5edff 50%, #eef2ff 100%);
  border-top: 1px solid var(--line, #e5e7eb);
  border-bottom: 1px solid var(--line, #e5e7eb);
}

.lp-problem-cta__inner {
  max-width: 980px;
  margin: 0 auto;
  padding: 14px 16px;
  border-radius: 999px;
  background: rgba(255,255,255,0.95);
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.12);
  text-align: center;
}

.lp-problem-cta__text {
  margin: 0;
  font-size: 17px;
  font-weight: 800;
  color: var(--ink, #0f172a);
}

.lp-problem-cta__text .lp-pill {
  margin: 0 4px;
}

/* スマホ調整 */
@media (max-width: 768px) {
  .lp-problem-grid {
    grid-template-columns: 1fr;
  }

  .lp-problem {
    padding-inline: 16px;
  }

  .lp-problem-cta__inner {
    border-radius: 18px;
    padding-inline: 14px;
  }

  .lp-problem-cta__text {
    font-size: 15px;
    line-height: 1.7;
  }
}

/* =========================
   業界の魅力と将来性セクション
   ========================= */

.lp-section--industry {
  background: linear-gradient(180deg, #f9fbff 0%, #ffffff 100%);
}

.lp-section--industry .lp-section__head--center {
  text-align: center;
}

.lp-chip {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  background: #eef2ff;
  border: 1px solid #dbeafe;
  color: #1e40af;
  font-size: 11px;
  font-weight: 700;
  margin-bottom: 6px;
}

/* レイアウト */

.lp-industry-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  gap: 28px;
  align-items: flex-start;
  margin-top: 16px;
}

.lp-industry-main p {
  margin-bottom: 10px;
}

/* 小さなバッジ群 */

.lp-industry-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 10px;
}

.lp-industry-badge {
  padding: 4px 8px;
  border-radius: 999px;
  background: #e5edff;
  color: #1d4ed8;
  font-size: 11px;
  font-weight: 700;
}

/* リスト */

.lp-industry-list {
  margin-top: 8px;
}

/* 右側：数字カード＆画像カード */

.lp-industry-side {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* KPIカード */

.lp-industry-kpi {
  border-radius: 18px;
  padding: 16px 16px 14px;
  border: 1px solid var(--line, #e5e7eb);
  background: #ffffff;
  box-shadow: 0 12px 30px rgba(15,23,42,.08);
}

.lp-industry-kpi-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 10px;
}

.lp-industry-kpi-item {
  border-radius: 14px;
  padding: 10px 8px;
  background: linear-gradient(135deg, #eef2ff, #e0f2fe);
  text-align: center;
}

.lp-industry-kpi-label {
  font-size: 11px;
  font-weight: 700;
  color: #1e293b;
  margin-bottom: 2px;
}

.lp-industry-kpi-value {
  font-size: 15px;
  font-weight: 900;
  line-height: 1.3;
}

.lp-industry-kpi-note {
  font-size: 11px;
  color: #475569;
  margin-top: 2px;
}

.lp-industry-kpi-bottom {
  font-size: 12px;
  margin-top: 8px;
}

/* 画像カードの見た目を少しリッチに */

.lp-image-card {
  border-radius: 18px;
  border: 1px solid var(--line, #e5e7eb);
  background: #ffffff;
  overflow: hidden;
  box-shadow: 0 10px 26px rgba(15,23,42,.06);
}

.lp-image-card__thumb {
  position: relative;
  overflow: hidden;
  max-height: 180px;
}

.lp-image-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.lp-image-card__caption {
  font-size: 12px;
  color: #475569;
  padding: 10px 12px 12px;
}

/* レスポンシブ */

@media (max-width: 900px) {
  .lp-industry-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .lp-industry-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* =========================
   コンサル生・加盟店の声（実績カード）
   ========================= */

.lp-section--voices {
  background: linear-gradient(180deg, #fefce8 0%, #ffffff 60%);
}

.lp-section--voices .lp-section__head--center {
  text-align: center;
}

.lp-voices-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.4fr);
  gap: 24px;
  align-items: flex-start;
  margin-top: 12px;
}

.lp-voices-col {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* 実績カード本体 */

.lp-voice-card {
  border-radius: 20px;
  padding: 18px 20px 16px;
  border: 1px solid var(--line, #e5e7eb);
  background: #ffffff;
  box-shadow:
    0 18px 40px rgba(15,23,42,.08),
    0 1px 2px rgba(15,23,42,.04);
}

.lp-voice-card--partner {
  background: #f0fdf4;
}

.lp-voice-label {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  margin-bottom: 6px;
}

.lp-voice-label--blue {
  background: #eef2ff;
  border: 1px solid #dbeafe;
  color: #1e40af;
}

.lp-voice-label--green {
  background: #dcfce7;
  border: 1px solid #bbf7d0;
  color: #166534;
}

.lp-voice-title {
  font-size: 18px;
  font-weight: 800;
  margin: 4px 0 6px;
  line-height: 1.4;
}

.lp-voice-meta {
  font-size: 13px;
  color: #4b5563;
  margin-bottom: 10px;
}

/* テキスト＋写真の横並び */

.lp-voice-body {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 0.9fr);
  gap: 16px;
  align-items: flex-start;
}

.lp-voice-text p {
  margin-bottom: 8px;
  font-size: 14px;
}

.lp-voice-photo {
  max-width: 220px;
  justify-self: flex-end;
}

.lp-voice-photo img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
  object-fit: cover;
  border: 1px solid #e5e7eb;
  background: #f8fafc;
}

/* レスポンシブ */

@media (max-width: 1024px) {
  .lp-voices-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .lp-voice-body {
    grid-template-columns: 1fr;
  }
  .lp-voice-photo {
    max-width: 180px;
    margin: 0 auto;
  }
}
