@charset "UTF-8";
/*
Theme Name:  リーチング
Theme URL: https://reaching.jp/lp/fc_001/
Description: LP固有のCSS
Author: リーチング
Author URI: https://reaching.jp/
Version: 1.0.0
*/

/* ===================================================================
 1. 設計思想
 ===================================================================*/
/*
設計原則：
- BEMによるコンポーネント設計
- ユーティリティクラスによる柔軟性確保
- LP/メディアサイト共通の基盤設計
- Figma命名規則との一貫性維持
- 14px=1rem基準の統一フォントシステム
- LINE Seed JP優先のフォントスタック

命名規則：
- Block: .c-lp-{component-name}
- Element: .c-lp-{component-name}__{element-name}
- Modifier: .c-lp-{component-name}--{modifier-name}
- Utility: .u-{property}-{value}
- Layout: .l-{layout-name}

実際のコンポーネント構成：
1. c-lp-fv - ファーストビュー
5. c-lp-case - 事例紹介
6. c-lp-flow - フロー
7. c-lp-notice - 注意事項
8. c-lp-form - フォーム
9. c-lp-faq - よくある質問
10. c-lp-company - 企業情報
11. c-lp-cta - Call to Action（共通）
*/

/* ===================================================================
 2. LP固有の変数
 ===================================================================*/

:root {
  /* === カラー変数 === */
  /* === 基本カラー === */
  --color-black: #544343;
  /* フォントカラー */
  --color-white: #ffffff;
  /* 白 */

  /* === ピンク系 === */
  --color-pink-lightest: #FFEFED;
  /* 薄いピンク */
  --color-pink-light: #FFA89C;
  /* ピンク */
  --color-pink: #FF8C7C;
  /* 濃いピンク */
  --color-pink-dark: #FF8C7C;
  /* 濃いピンク（エイリアス） */

  /* === レッド === */
  --color-red: #FF634D;
  /* レッド */

  /* === イエロー系 === */
  --color-yellow-lightest: #FFFCED;
  /* 薄いイエロー */
  --color-yellow: #EFD899;
  /* イエロー */

  /* === グリーン系 === */
  --color-green-lightest: #E9FBEC;
  /* 薄いグリーン */
  --color-green: #9BDFA5;
  /* グリーン */

  /* === グレー === */
  --color-gray-light: #BABABA;
  /* 薄いグレー */
  --color-gray: #BABABA;
  /* グレー（エイリアス） */

  /* === グラデーション === */
  --gradient-primary: linear-gradient(135deg, #E2474B 0%, #EF7B23 100%);
  --gradient-primary-50: linear-gradient(135deg, rgba(226, 71, 75, 0.5) 0%, rgba(239, 123, 35, 0.5) 100%);

  /* === 互換性のためのエイリアス（既存コードとの互換性維持） === */
  --color-black-light: #6d6363;
  /* 少し明るい黒 */
  --color-blue: #2196f3;
  /* アクセントブルー */
  --color-blue-light: #f6fbfe;
  /* 薄いブルー */

  /* === シャドウ === */
  --shadow-soft: 0 4px 16px rgba(84, 67, 67, 0.08);
  --shadow-medium: 0 8px 24px rgba(84, 67, 67, 0.12);
  --shadow-strong: 0 12px 32px rgba(84, 67, 67, 0.16);
}


body {
  overflow-x: hidden;
}

/* ===================================================================
3. 固有コンポーネント
 ===================================================================*/

.c-lp-container--white {
  background: var(--color-white);
  border-radius: var(--border-radius-md);
}

/* ===================================================================
 4. セクションヘッダー（LPコンポーネント用）
 ===================================================================*/

.c-lp-section__heading {
  text-align: center;
  color: var(--color-black);
  position: relative;
}

.c-lp-section__heading--main {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  margin: 0 auto var(--space-lg);
}

.c-lp-section__heading--sub-wrapper {
  display: block;
  position: relative;
  margin-bottom: var(--space-sm);
}

.c-lp-section__heading--sub {
  display: block;
  font-size: var(--font-sm);
  font-weight: var(--font-weight-bold);
  color: var(--color-black);
  position: relative;
  z-index: 2;
}

.c-lp-section__heading--sub-en {
  display: block;
  font-size: var(--font-2xl);
  color: var(--color-white);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
  z-index: 1;
}

/* ===================================================================
 背景色に応じた見出しカラーバリエーション
 ===================================================================*/

/* 濃いピンク背景（白文字） */
.c-lp-profitability .c-lp-section__heading--main,
.c-lp-profitability .c-lp-section__heading--sub,
.c-lp-startup-flow .c-lp-section__heading--main,
.c-lp-startup-flow .c-lp-section__heading--sub {
  color: var(--color-white);
}

.c-lp-case .c-lp-section__heading--sub-en,
.c-lp-profitability .c-lp-section__heading--sub-en,
.c-lp-startup-flow .c-lp-section__heading--sub-en {
  color: rgba(255, 255, 255, 0.4);
}

/* グラデーション背景（白文字） */
.c-lp-cta .c-lp-section__heading--main,
.c-lp-cta .c-lp-section__heading--sub {
  color: var(--color-white);
}

.c-lp-cta .c-lp-section__heading--sub-en {
  color: var(--color-pink-dark);
}

.c-lp-attention .c-lp-section__heading--sub-en,
.c-lp-area .c-lp-section__heading--sub-en,
.c-lp-requirements .c-lp-section__heading--sub-en,
.c-lp-structure .c-lp-section__heading--sub-en,
.c-lp-flow .c-lp-section__heading--sub-en,
.c-lp-form .c-lp-section__heading--sub-en {
  color: var(--color-pink-lightest);
}

.c-lp-merit .c-lp-section__heading--sub-en,
.c-lp-faq .c-lp-section__heading--sub-en {
  color: var(--color-yellow);
}

/* 薄い背景色（黒文字）- デフォルトのまま */
/* .c-lp-customer, .c-lp-support, .c-lp-referral, .c-lp-workflow, .c-lp-company */
/* .c-lp-merit, .c-lp-form, .c-lp-requirements, .c-lp-faq */

/* ===================================================================
 4. セクション共通設定（全幅背景）
 ===================================================================*/
/* 親要素のmax-widthを解除して全幅を許可 */
.l-main--fc-001,
.l-container,
.l-article--fc-001,
.l-content {
  overflow: visible;
  max-width: none;
}

/* 背景色を持つセクションに全幅を適用 */
section {
  max-width: 100vw;
  width: 100vw;
  margin: 0 auto;
  padding-left: calc(50% - 50vw);
  padding-right: calc(50% - 50vw);

}

@media (min-width: 1024px) {
  section {
    max-width: 100vw;
  }
}

/* コンテンツ幅を元に戻す */
.l-container--xl,
.c-lp-container--white {
  max-width: var(--mobile-base-width);
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}

@media (min-width: 768px) {

  .l-container--xl,
  .c-lp-container--white {
    max-width: var(--container-md);
  }
}

@media (min-width: 1024px) {

  .l-container--xl,
  .c-lp-container--white {
    max-width: var(--container-lg);
  }
}

@media (max-width: 767px) {

  .l-container--xl,
  .c-lp-container--white {
    padding-left: 16px;
    padding-right: 16px;
  }
}

/* 背景色の指定 */
.c-lp-case {
  background: linear-gradient(180deg, #FFBDBD 0%, #FFD4D4 100%);
}

.c-lp-fv {
  max-width: 100vw;
}

.c-lp-customer,
.c-lp-support,
.c-lp-profitability,
.c-lp-referral,
.c-lp-workflow,
.c-lp-member,
.c-lp-company {
  max-width: 100vw;
  background: var(--color-pink-lightest);
}

.c-lp-profitability,
.c-lp-startup-flow {
  max-width: 100vw;
  background: var(--color-pink);
}

.c-lp-merit {
  max-width: 100vw;
  background: #FFFCF5;
}

.c-lp-form,
.c-lp-requirements {
  max-width: 100vw;
  background: var(--color-white);
}

.c-lp-faq {
  max-width: 100vw;
  background: var(--color-yellow-lightest);
}

.c-lp-cta {
  max-width: 100vw;
  background: linear-gradient(135deg, #E2474B 0%, #EF7B23 100%);
}

/* ===================================================================
 5. ファーストビュー
 ===================================================================*/
.c-lp-fv {
  background: linear-gradient(180deg, #FFF5F5 0%, #FFFFFF 100%);
  padding: var(--space-lg) 0 var(--space-2xl);
  overflow: hidden;
}

.c-lp-fv__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--space-md);
}

/* ヘッダー（ロゴとCTA） */
.c-lp-fv__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-md);
  margin-bottom: var(--space-lg);
}

/* ロゴ */
.c-lp-fv__logo {
  text-align: center;
}

.c-lp-fv__logo img {
  max-width: 180px;
  height: auto;
}

/* CTAボタン */
.c-lp-fv__cta {
  text-align: center;
}

/* SP版CTAを非表示（PC版のみ表示） */
.c-lp-fv__cta--sp {
  display: none;
}

/* SP版では画像の下にCTAを表示 */
@media (max-width: 767px) {
  .c-lp-fv__cta--pc {
    display: none;
  }

  .c-lp-fv__cta--sp {
    display: block;
    margin-top: var(--space-lg);
  }
}

.c-lp-fv__image--sp {
  padding: var(--space-sm) 0;
  background: var(--color-pink-lightest);
  border-radius: var(--border-radius-lg);
}

.c-lp-fv__cta-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #FF6B6B 0%, #FF8E53 100%);
  color: #fff;
  padding: var(--space-sm);
  border-radius: 50px;
  font-size: var(--font-lg);
  font-weight: bold;
  text-decoration: none;
  transition: all 0.3s ease;
  gap: var(--space-md);
  min-width: 280px;
}

.c-lp-fv__cta-button:hover {
  transform: translateY(-2px);
}

.c-lp-fv__cta-button-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  background: rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  position: relative;
  flex-shrink: 0;
}

.c-lp-fv__cta-button-icon::before {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  right: 12px;
}

/* 画像エリア */
.c-lp-fv__images {
  width: 100%;
  text-align: center;
}

.c-lp-fv__image--pc,
.c-lp-fv__image--sp {
  display: block;
  width: 100%;
}

.c-lp-fv__image--pc img,
.c-lp-fv__image--sp img {
  width: 100%;
  height: auto;
  display: block;
}

/* PC版画像を表示 */
.c-lp-fv__image--pc {
  display: block;
}

.c-lp-fv__image--sp {
  display: none;
}

/* SP版: SP画像を表示 */
@media (max-width: 767px) {
  .c-lp-fv__image--pc {
    display: none;
  }

  .c-lp-fv__image--sp {
    display: block;
  }
}

/* タブレット以上 */
@media (min-width: 768px) {
  .c-lp-fv {
    padding: var(--space-2xl) 0 var(--space-3xl);
  }

  /* ヘッダーを左右に配置 */
  .c-lp-fv__header {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--space-2xl);
  }

  .c-lp-fv__logo {
    text-align: left;
  }

  .c-lp-fv__logo img {
    max-width: 220px;
  }

  .c-lp-fv__cta {
    text-align: right;
  }

  .c-lp-fv__cta-button {
    font-size: var(--font-xl);
    padding: var(--space-sm);
    min-width: 320px;
  }

  .c-lp-fv__cta-button-icon {
    width: 40px;
    height: 40px;
  }

  .c-lp-fv__cta-button-icon::before {
    width: 10px;
    height: 10px;
    right: 12px;
  }
}

/* PC */
@media (min-width: 1024px) {
  .c-lp-fv {
    padding: var(--space-3xl) 0 var(--space-4xl);
  }

  .c-lp-fv__container {
    max-width: 1400px;
  }
}

/* ===================================================================
 8. 大注目
 ===================================================================*/

/* 画像エリア */
.c-lp-atention__images {
  width: 100%;
  text-align: center;
}

.c-lp-atention__image--pc,
.c-lp-atention__image--sp {
  display: block;
  width: 100%;
}

.c-lp-atention__image--pc img,
.c-lp-atention__image--sp img {
  width: 100%;
  height: auto;
  display: block;
}

/* PC版画像を表示 */
.c-lp-atention__image--pc {
  display: block;
}

.c-lp-atention__image--sp {
  display: none;
}

/* SP版: SP画像を表示 */
@media (max-width: 767px) {
  .c-lp-atention__image--pc {
    display: none;
  }

  .c-lp-atention__image--sp {
    display: block;
  }
}

/* ===================================================================
 9. 事例紹介セクション（お客様の声）
 ===================================================================*/
.c-lp-case {
  position: relative;
  width: 100%;
  max-width: 100vw;
  padding: var(--space-3xl) 16px;
}

.c-lp-case .l-container--xl {
  position: relative;
  z-index: 1;
}

.c-lp-case .c-lp-section__heading {
  margin-bottom: var(--space-3xl);
}

@media (min-width: 768px) {
  .c-lp-case .c-lp-section__heading {
    margin-bottom: var(--space-4xl);
  }
}

/* スライダーラッパー */
.c-lp-case__slider-wrapper {
  position: relative;
  max-width: 100%;
  margin: 0 auto;
  padding: 0 60px;
}

@media (max-width: 767px) {
  .c-lp-case__slider-wrapper {
    padding: 0;
  }
}

/* スライダー - Slick Carouselで制御 */
.c-lp-case__slider .slick-list {
  overflow: visible;
}

.c-lp-case__slider .slick-track {
  display: flex !important;
  gap: var(--space-xl);
  justify-content: center;
  align-items: stretch;
}

@media (min-width: 768px) {
  .c-lp-case__slider .slick-track {
    gap: var(--space-2xl);
  }
}

/* スライド */
.c-lp-case__slide {
  width: 100% !important;
  max-width: 380px;
  display: flex !important;
  justify-content: center;
}

/* カード */
.c-lp-case__card {
  background: var(--color-white);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* カード画像 */
.c-lp-case__card-image {
  position: relative;
  width: 100%;
  padding-top: 75%;
  overflow: hidden;
  background: #F5F5F5;
}

.c-lp-case__card-image picture {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.c-lp-case__card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* カードコンテンツ */
.c-lp-case__card-content {
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1;
}

@media (min-width: 768px) {
  .c-lp-case__card-content {
    padding: 28px;
  }
}

/* タグ */
.c-lp-case__card-tag {
  display: inline-block;
  align-self: flex-start;
  background: linear-gradient(135deg, #FF8C7C 0%, #FF6B6B 100%);
  color: var(--color-white);
  padding: 6px 16px;
  border-radius: 20px;
  font-size: var(--font-sm);
  font-weight: 500;
  white-space: nowrap;
}

@media (min-width: 768px) {
  .c-lp-case__card-tag {
    font-size: var(--font-sm);
  }
}

/* 会社名 */
.c-lp-case__card-company {
  font-size: var(--font-base);
  font-weight: bold;
  color: #333;
  margin: 0;
  line-height: var(--line-height-tight);
}

@media (min-width: 768px) {
  .c-lp-case__card-company {
    font-size: var(--font-md);
  }
}

/* テキスト */
.c-lp-case__card-text {
  font-size: var(--font-sm);
  line-height: var(--line-height-relaxed);
  color: #666;
  margin: 0;
}

/* 矢印ボタン */
.c-lp-case__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(255, 107, 107, 0.9);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
}

.c-lp-case__arrow:active {
  transform: translateY(-50%) scale(0.95);
}

.c-lp-case__arrow--prev {
  left: 0;
}

.c-lp-case__arrow--next {
  right: 0;
}

@media (max-width: 767px) {
  .c-lp-case__arrow {
    display: none;
  }
}

@media (min-width: 768px) {
  .c-lp-case__card-desc {
    font-size: var(--font-base);
  }
}

/* ===================================================================
 仕組みセクション (c-lp-structure)
 ===================================================================*/

.c-lp-structure {
  position: relative;
}

.c-lp-structure .c-lp-container--white {
  position: relative;
}

.c-lp-structure__content {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}

.c-lp-structure__image {
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--border-radius-lg);
}

/* タブレット */
@media (max-width: 1023px) {
  .c-lp-structure__content {
    max-width: 700px;
  }
}

/* モバイル */
@media (max-width: 767px) {
  .c-lp-structure__content {
    max-width: 100%;
  }

  .c-lp-structure__image {
    border-radius: var(--border-radius-md);
  }
}

/* ===================================================================
 エリアセクション (c-lp-area)
 ===================================================================*/

.c-lp-area {
  position: relative;
}

.c-lp-area .c-lp-container--white {
  position: relative;
}

.c-lp-area__content {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}

.c-lp-area__image--pc,
.c-lp-area__image--sp {
  display: block;
  width: 100%;
}

.c-lp-area__image--pc img,
.c-lp-area__image--sp img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--border-radius-lg);
}

/* デフォルト: PC版を表示、SP版を非表示 */
.c-lp-area__image--pc {
  display: block;
}

.c-lp-area__image--sp {
  display: none;
}

/* タブレット */
@media (max-width: 1023px) {
  .c-lp-area__content {
    max-width: 700px;
  }
}

/* モバイル: PC版を非表示、SP版を表示 */
@media (max-width: 767px) {
  .c-lp-area__content {
    max-width: 100%;
  }

  .c-lp-area__image--pc {
    display: none;
  }

  .c-lp-area__image--sp {
    display: block;
  }

  .c-lp-area__image--pc img,
  .c-lp-area__image--sp img {
    border-radius: var(--border-radius-md);
  }
}

/* ===================================================================
 リーチングFCの集客力セクション (c-lp-customer)
 ===================================================================*/

.c-lp-customer {
  position: relative;
}

/* コンテナ */
.c-lp-customer .l-container--xl {
  position: relative;
  z-index: 1;
}

/* セクション見出しのマージン調整 */
.c-lp-customer .c-lp-section__heading {
  margin-bottom: var(--space-3xl);
}

@media (min-width: 768px) {
  .c-lp-customer .c-lp-section__heading {
    margin-bottom: var(--space-4xl);
  }
}

/* 画像エリア */
.c-lp-customer__images {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}

.c-lp-customer__image--pc,
.c-lp-customer__image--sp {
  display: block;
  width: 100%;
}

.c-lp-customer__image--pc img,
.c-lp-customer__image--sp img {
  width: 100%;
  height: auto;
  display: block;
}

/* PC版画像を表示 */
.c-lp-customer__image--pc {
  display: block;
}

.c-lp-customer__image--sp {
  display: none;
}

/* SP版: SP画像を表示 */
@media (max-width: 767px) {
  .c-lp-customer__image--pc {
    display: none;
  }

  .c-lp-customer__image--sp {
    display: block;
  }
}

/* ===================================================================
 サポート体制セクション (c-lp-support)
 ===================================================================*/

.c-lp-support {
  position: relative;
}

/* コンテナ */
.c-lp-support .l-container--xl {
  position: relative;
  z-index: 1;
}

/* セクション見出しのマージン調整 */
.c-lp-support .c-lp-section__heading {
  margin-bottom: var(--space-3xl);
}

@media (min-width: 768px) {
  .c-lp-support .c-lp-section__heading {
    margin-bottom: var(--space-4xl);
  }
}

/* 画像エリア */
.c-lp-support__images {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}

.c-lp-support__image--pc,
.c-lp-support__image--sp {
  display: block;
  width: 100%;
}

.c-lp-support__image--pc img,
.c-lp-support__image--sp img {
  width: 100%;
  height: auto;
  display: block;
}

/* PC版画像を表示 */
.c-lp-support__image--pc {
  display: block;
}

.c-lp-support__image--sp {
  display: none;
}

/* SP版: SP画像を表示 */
@media (max-width: 767px) {
  .c-lp-support__image--pc {
    display: none;
  }

  .c-lp-support__image--sp {
    display: block;
  }
}

/* ===================================================================
 サポートメンバーセクション (c-lp-member)
 ===================================================================*/

.c-lp-member {
  position: relative;
}


/* コンテナ */
.c-lp-member .l-container--xl {
  position: relative;
  z-index: 1;
}

/* セクション見出しのマージン調整 */
.c-lp-member .c-lp-section__heading {
  margin-bottom: var(--space-3xl);
}

@media (min-width: 768px) {
  .c-lp-member .c-lp-section__heading {
    margin-bottom: var(--space-4xl);
  }
}

/* 画像エリア */
.c-lp-member__images {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}

.c-lp-member__image--pc,
.c-lp-member__image--sp {
  display: block;
  width: 100%;
}

.c-lp-member__image--pc img,
.c-lp-member__image--sp img {
  width: 100%;
  height: auto;
  display: block;
}

/* PC版画像を表示 */
.c-lp-member__image--pc {
  display: block;
}

.c-lp-member__image--sp {
  display: none;
}

/* SP版: SP画像を表示 */
@media (max-width: 767px) {
  .c-lp-member__image--pc {
    display: none;
  }

  .c-lp-member__image--sp {
    display: block;
  }
}

/* ===================================================================
 リーチングFCのメリットセクション (c-lp-merit)
 ===================================================================*/

.c-lp-merit {
  position: relative;
  padding: var(--space-3xl) 0;
}

/* ラベル */
.c-lp-merit__label {
  display: inline-block;
  font-size: var(--font-sm);
  color: var(--color-black);
  text-align: center;
  padding: 4px var(--space-md);
  border: 1px solid var(--color-black);
  border-radius: var(--border-radius-full);
  background: var(--color-white);
  font-weight: var(--font-weight-semibold);
  box-shadow: var(--shadow-soft);
}

@media (min-width: 768px) {
  .c-lp-merit__label {
    font-size: var(--font-base);
    padding: 6px var(--space-lg);
  }
}

/* ===================================================================
 カードグリッド（レスポンシブレイアウト）
 ===================================================================*/

.c-lp-merit__grid {
  display: grid;
  gap: var(--space-md);
  max-width: 100%;
  margin: 0 auto;
  justify-content: center;
}

/* スマホ: 2列 */
@media (max-width: 767px) {
  .c-lp-merit__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-md);
  }
}

/* タブレット以上: 上3列+下2列（中央寄せ） */
@media (min-width: 768px) {
  .c-lp-merit__grid {
    grid-template-columns: repeat(6, 1fr);
    gap: var(--space-lg);
    justify-items: center;
  }

  /* 上段3カード: 各2列幅で中央配置 */
  .c-lp-merit__card:nth-child(1) {
    grid-column: 1 / 3;
  }

  .c-lp-merit__card:nth-child(2) {
    grid-column: 3 / 5;
  }

  .c-lp-merit__card:nth-child(3) {
    grid-column: 5 / 7;
  }

  /* 下段2カード: 各2列幅で中央配置 */
  .c-lp-merit__card:nth-child(4) {
    grid-column: 2 / 4;
  }

  .c-lp-merit__card:nth-child(5) {
    grid-column: 4 / 6;
  }
}

/* デスクトップ: より広い間隔 */
@media (min-width: 1024px) {
  .c-lp-merit__grid {
    gap: var(--space-xl);
  }
}

/* ===================================================================
 カード共通スタイル
 ===================================================================*/

.c-lp-merit__card {
  background: var(--color-white);
  border-radius: var(--border-radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-soft);
  display: flex;
  width: 100%;
  flex-direction: column;
}

/* カードヘッダー */
.c-lp-merit__card-header {
  padding: var(--space-lg);
  text-align: center;
}

/* カードタイトル */
.c-lp-merit__card-title {
  font-size: var(--font-md);
  color: var(--color-white);
  margin: 0;
  line-height: var(--line-height-tight);
}

@media (min-width: 768px) {
  .c-lp-merit__card-title {
    font-size: var(--font-lg);
  }
}

/* カードボディ */
.c-lp-merit__card-body {
  padding: var(--space-lg);
  background: var(--color-white);
  text-align: center;
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

@media (min-width: 768px) {
  .c-lp-merit__card-body {
    padding: var(--space-xl);
  }
}

/* アイコン */
.c-lp-merit__card-icon {
  width: 80px;
  height: 80px;
  margin: 0 auto var(--space-xl);
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-pink-lightest);
  border-radius: var(--border-radius-full);
}

@media (min-width: 768px) {
  .c-lp-merit__card-icon {
    width: 100px;
    height: 100px;
    margin-bottom: var(--space-2xl);
  }
}

.c-lp-merit__card-icon img {
  width: 60%;
  height: 60%;
  object-fit: contain;
}

/* カードテキスト */
.c-lp-merit__card-text {
  font-size: var(--font-base);
  line-height: var(--line-height-relaxed);
  color: var(--color-black);
  margin: 0;
}

@media (min-width: 768px) {
  .c-lp-merit__card-text {
    font-size: var(--font-md);
  }
}

/* 収益性 - ピンク系 */
.c-lp-merit__card-header {
  background: var(--color-pink-dark);
}

.c-lp-merit__card-icon {
  background: var(--color-pink-lightest);
}

/* ===================================================================
 人材紹介料セクション
 ===================================================================*/

.c-lp-referral {
  position: relative;
}

/* カードグリッド */
.c-lp-referral__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-md);
  max-width: 100%;
}

@media (min-width: 768px) {
  .c-lp-referral__grid {
    grid-template-columns: repeat(4, 1fr);
    gap: var(--space-lg);
    max-width: 1200px;
    margin: 0 auto;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .c-lp-referral__grid {
    max-width: 720px;
  }
}

/* カード共通スタイル */
.c-lp-referral__card {
  background: var(--color-white);
  border-radius: var(--border-radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-soft);
}

@media (min-width: 768px) {
  .c-lp-referral__card {
    border-radius: var(--border-radius-lg);
  }
}

@media (max-width: 767px) {
  .c-lp-referral__card {
    min-height: 240px;
  }
}

/* カードヘッダー */
.c-lp-referral__card-header {
  padding: var(--space-md) var(--space-sm);
  text-align: center;
}

@media (min-width: 768px) {
  .c-lp-referral__card-header {
    padding: var(--space-lg) var(--space-md);
  }
}

@media (max-width: 767px) {
  .c-lp-referral__card-header {
    padding: var(--space-sm);
  }
}

/* カードタイトル */
.c-lp-referral__card-title {
  font-size: var(--font-base);
  color: var(--color-white);
  margin: 0;
  line-height: var(--line-height-tight);
}

@media (min-width: 768px) {
  .c-lp-referral__card-title {
    font-size: var(--font-md);
  }
}

@media (max-width: 767px) {
  .c-lp-referral__card-title {
    font-size: var(--font-sm);
  }
}

/* カードボディ */
.c-lp-referral__card-body {
  padding: var(--space-xl) var(--space-md);
  background: var(--color-white);
  text-align: center;
}

@media (min-width: 768px) {
  .c-lp-referral__card-body {
    padding: var(--space-lg);
  }
}

@media (max-width: 767px) {
  .c-lp-referral__card-body {
    padding: var(--space-lg) var(--space-sm);
  }
}

/* アイコン */
.c-lp-referral__card-icon {
  width: 80px;
  height: 80px;
  margin: 0 auto var(--space-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-pink-lightest);
  border-radius: var(--border-radius-full);
}

@media (min-width: 768px) {
  .c-lp-referral__card-icon {
    width: 100px;
    height: 100px;
    margin-bottom: var(--space-xl);
  }
}

@media (max-width: 767px) {
  .c-lp-referral__card-icon {
    width: 60px;
    height: 60px;
    margin-bottom: var(--space-md);
  }
}

.c-lp-referral__card-icon img {
  width: 60%;
  height: 60%;
  object-fit: contain;
}

/* 価格 */
.c-lp-referral__card-price {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-xs);
}

.c-lp-referral__card-price-number {
  font-family: var(--font-family-en);
  font-size: clamp(1.75rem, 5vw, 2.5rem);
  line-height: 1;
  color: var(--color-black);
  letter-spacing: -0.02em;
}

@media (min-width: 768px) {
  .c-lp-referral__card-price-number {
    font-size: var(--font-2xl);
  }
}

@media (max-width: 767px) {
  .c-lp-referral__card-price-number {
    font-size: var(--font-xl);
  }
}

.c-lp-referral__card-price-unit {
  font-size: var(--font-base);
  color: var(--color-black);
  font-weight: var(--font-weight-medium);
}

@media (min-width: 768px) {
  .c-lp-referral__card-price-unit {
    font-size: var(--font-md);
  }
}

@media (max-width: 767px) {
  .c-lp-referral__card-price-unit {
    font-size: var(--font-sm);
  }
}

/* ===================================================================
   カード個別の色設定（新カラー変数対応）
   ================================================================= */

/* 看護師 - レッド系（グラデーション） */
.c-lp-referral__card--nurse .c-lp-referral__card-header {
  background: var(--color-red);
}

.c-lp-referral__card--nurse .c-lp-referral__card-icon {
  background: var(--color-pink-lightest);
}

/* 幼稚園教諭 - グリーン系 */
.c-lp-referral__card--teacher .c-lp-referral__card-header {
  background: var(--color-green);
}

.c-lp-referral__card--teacher .c-lp-referral__card-icon {
  background: var(--color-green-lightest);
}

/* 保育士 - ピンク系 */
.c-lp-referral__card--childcare .c-lp-referral__card-header {
  background: var(--color-pink);
}

.c-lp-referral__card--childcare .c-lp-referral__card-icon {
  background: var(--color-pink-lightest);
}

/* 介護士 - イエロー系 */
.c-lp-referral__card--caregiver .c-lp-referral__card-header {
  background: var(--color-yellow);
}

.c-lp-referral__card--caregiver .c-lp-referral__card-icon {
  background: var(--color-yellow-lightest);
}

/* ===================================================================
 10. フローセクション
 ===================================================================*/
/* ===================================================================
 10. フローセクション
 ===================================================================*/
.c-lp-flow {
  position: relative;
}

.c-lp-flow .c-lp-container--white {
  position: relative;
}

/* 画像エリア */
.c-lp-flow__images {
  max-width: 1200px;
  margin: 0 auto var(--space-2xl);
  text-align: center;
}

.c-lp-flow__image--pc,
.c-lp-flow__image--sp {
  display: block;
  width: 100%;
}

.c-lp-flow__image--pc img,
.c-lp-flow__image--sp img {
  width: 100%;
  height: auto;
  display: block;
}

/* デフォルト: PC版を表示、SP版を非表示 */
.c-lp-flow__image--pc {
  display: block;
}

.c-lp-flow__image--sp {
  display: none;
}

/* モバイル: PC版を非表示、SP版を表示 */
@media (max-width: 767px) {
  .c-lp-flow__image--pc {
    display: none;
  }

  .c-lp-flow__image--sp {
    display: block;
  }
}

/* ===================================================================
 12. フォームセクション（Contact Form 7対応）
 ===================================================================*/

.c-lp-form {}

.c-lp-form__container {
  margin: 0 auto;
  background: var(--color-white);
  border-radius: var(--border-radius-lg);
}

/* フォームフィールド */
.c-lp-form__field {
  margin-bottom: var(--space-lg);
}

/* ラベル */
.c-lp-form__label {
  display: block;
  font-size: var(--font-base);
  font-weight: normal;
  color: var(--color-black);
  margin-bottom: var(--space-xs);
}

/* 必須マーク */
.c-lp-form__required {
  display: inline-block;
  font-size: var(--font-xs);
  color: var(--color-white);
  background: #FF6B6B;
  padding: 2px 8px;
  border-radius: var(--border-radius-sm);
  margin-left: var(--space-xs);
  font-weight: normal;
}

/* テキスト入力 */
.c-lp-form__input,
.c-lp-form__select,
.c-lp-form__textarea {
  width: 100%;
  padding: var(--space-sm) var(--space-md);
  font-size: var(--font-base);
  color: var(--color-black);
  background: var(--color-white);
  border: 1px solid #E0E0E0;
  border-radius: var(--border-radius-md);
  transition: border-color var(--transition-base), box-shadow var(--transition-base);
  font-family: inherit;
}

.c-lp-form__input::placeholder,
.c-lp-form__textarea::placeholder {
  color: #BDBDBD;
}

.c-lp-form__input:focus,
.c-lp-form__select:focus,
.c-lp-form__textarea:focus {
  outline: none;
  border-color: #FF8C7C;
  box-shadow: 0 0 0 3px rgba(255, 140, 124, 0.1);
}

/* セレクトボックス */
.c-lp-form__select {
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right var(--space-md) center;
  background-size: 12px;
  padding-right: calc(var(--space-md) + 24px);
}

/* テキストエリア */
.c-lp-form__textarea {
  resize: vertical;
  min-height: 120px;
  line-height: 1.6;
}

/* ラジオボタングループ */
.c-lp-form__radio-group {
  display: flex;
  gap: var(--space-sm);
  flex-wrap: wrap;
}

.c-lp-form__radio {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  position: relative;
}

.c-lp-form__radio input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.c-lp-form__radio-label {
  display: inline-block;
  padding: var(--space-xs) var(--space-lg);
  font-size: var(--font-base);
  color: var(--color-black);
  background: var(--color-white);
  border: 2px solid #E0E0E0;
  border-radius: var(--border-radius-full);
  user-select: none;
}

.c-lp-form__radio input[type="radio"]:checked+.c-lp-form__radio-label {
  background: #FF8C7C;
  border-color: #FF8C7C;
  color: var(--color-white);
  font-weight: bold;
}

/* チェックボックスグループ */
.wpcf7-form-control.wpcf7-checkbox {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-sm);
}

.c-lp-form__checkbox {
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  position: relative;
  width: 100%;
}

.c-lp-form__checkbox input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.c-lp-form__checkbox-label {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: var(--space-sm) var(--space-md);
  font-size: var(--font-base);
  color: var(--color-black);
  background: var(--color-white);
  border: 1px solid #E0E0E0;
  border-radius: var(--border-radius-full);
  user-select: none;
  text-align: center;
  min-height: 44px;
}

.c-lp-form__checkbox input[type="checkbox"]:checked+.c-lp-form__checkbox-label {
  background: #FF8C7C;
  border-color: #FF8C7C;
  color: var(--color-white);
  font-weight: normal;
}

/* 送信ボタン */
.c-lp-form__submit {
  margin-top: var(--space-xl);
  text-align: center;
}

.c-lp-form__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
  padding: var(--space-md) var(--space-3xl);
  font-size: var(--font-lg);
  font-weight: bold;
  color: var(--color-white);
  background: linear-gradient(135deg, #FF8C7C 0%, #FF6B6B 100%);
  border: none;
  border-radius: var(--border-radius-full);
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(255, 107, 107, 0.3);
  min-width: 280px;
}

.c-lp-form__button:active {
  transform: translateY(0);
  box-shadow: 0 2px 8px rgba(255, 107, 107, 0.3);
}

.c-lp-form__button-text {
  font-size: var(--font-lg);
}

.c-lp-form__button-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: var(--border-radius-full);
}

.c-lp-form__button-icon svg {
  display: block;
}

/* Contact Form 7 固有のクラス対応 */
.wpcf7 {
  width: 100%;
}

.wpcf7-form {
  width: 100%;
}

.wpcf7-form-control-wrap {
  display: block;
}

.wpcf7-not-valid-tip {
  display: block;
  color: #FF6B6B;
  font-size: var(--font-sm);
  margin-top: var(--space-xs);
}

.wpcf7-response-output {
  margin: var(--space-lg) 0 0;
  padding: var(--space-md);
  border-radius: var(--border-radius-md);
  font-size: var(--font-base);
}

.wpcf7-response-output.wpcf7-validation-errors {
  background: #FFF3F3;
  border: 1px solid #FF6B6B;
  color: #FF6B6B;
}

.wpcf7-response-output.wpcf7-mail-sent-ok {
  background: #F0F9FF;
  border: 1px solid #4CAF50;
  color: #4CAF50;
}

.wpcf7-spinner {
  margin-left: var(--space-sm);
}

/* タブレット */
@media (max-width: 1023px) {
  .c-lp-form {
    padding: var(--space-2xl) 0;
  }

  .c-lp-form__container {
    padding: var(--space-lg);
  }

  .c-lp-form__button {
    min-width: 240px;
    font-size: var(--font-md);
  }

  .c-lp-form__button-text {
    font-size: var(--font-md);
  }
}

/* モバイル */
@media (max-width: 767px) {
  .c-lp-form {
    padding: var(--space-xl) 0;
  }

  .c-lp-form__container {
    padding: var(--space-md);
  }

  .c-lp-form__radio-group {
    flex-direction: column;
    gap: var(--space-xs);
  }

  .c-lp-form__checkbox-group {
    grid-template-columns: 1fr;
    gap: var(--space-xs);
  }

  .c-lp-form__radio-label,
  .c-lp-form__checkbox-label {
    display: block;
    text-align: center;
    width: 100%;
  }

  .c-lp-form__button {
    width: 100%;
    min-width: auto;
    padding: var(--space-md) var(--space-xl);
  }

  .c-lp-form__label {
    font-size: var(--font-sm);
  }

  .c-lp-form__input,
  .c-lp-form__select,
  .c-lp-form__textarea {
    font-size: var(--font-sm);
  }
}

/* ===================================================================
 フォーム状態表示スタイル（LP001固有）
 ===================================================================*/

/* よくある質問セクション */

.c-form__email-suggestions {
  border-radius: var(--border-radius-md);
  box-shadow: 0 3px 16px rgba(0, 0, 0, 0.1);
}

.c-form__email-suggestion {
  border-bottom: 1px solid var(--color-gray-light);
  transition: background-color var(--transition-fast);
}

.c-form__email-suggestion.highlighted {
  background-color: var(--color-gray-light);
}

.c-form__email-suggestion:active {
  background-color: var(--color-gray);
}

/* ボタンのLP001固有カラー設定 */
.c-button {
  background: var(--gradient-multi);
}

.c-button:disabled,
.c-button.disabled {
  background: var(--color-gray-light);
  color: var(--color-black-light);
  border-color: var(--color-gray);
}

/* ===================================================================
 13. 加盟条件セクション
 ===================================================================*/
.c-lp-requirements {
  position: relative;
}

/* 画像エリア */
.c-lp-requirements__images {
  max-width: 1200px;
  margin: var(--space-2xl) auto 0;
  text-align: center;
}

.c-lp-requirements__image--pc,
.c-lp-requirements__image--sp {
  display: block;
  width: 100%;
}

.c-lp-requirements__image--pc img,
.c-lp-requirements__image--sp img {
  width: 100%;
  height: auto;
  display: block;
}

/* PC版画像を表示 */
.c-lp-requirements__image--pc {
  display: block;
}

.c-lp-requirements__image--sp {
  display: none;
}

/* SP版: SP画像を表示 */
@media (max-width: 767px) {
  .c-lp-requirements__image--pc {
    display: none;
  }

  .c-lp-requirements__image--sp {
    display: block;
  }
}

/* =============================================
業務フロー
============================================= */
/* タイムライン共通 */
.c-lp-workflow__timeline {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  position: relative;
  max-width: 100%;
  margin: 0 auto;
  padding: 40px 0;
}

/* PC版タイムライン - 横並び */
.c-lp-workflow__timeline--pc {
  flex-direction: row;
  gap: var(--space-sm);
}

@media (max-width: 767px) {
  .c-lp-workflow__timeline--pc {
    display: none;
  }
}

/* SP版タイムライン - 2列グリッド */
.c-lp-workflow__timeline--sp {
  display: none;
  flex-wrap: wrap;
  flex-direction: row;
  gap: 32px 16px;
  justify-content: center;
  padding: 40px 20px;
  max-width: 500px;
  margin: 0 auto;
}

@media (max-width: 767px) {
  .c-lp-workflow__timeline--sp {
    display: flex;
  }
}

.c-lp-workflow__timeline--sp .c-lp-workflow__step {
  width: calc(50% - 8px);
  flex-shrink: 0;
}

/* ステップ */
.c-lp-workflow__step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  position: relative;
}

/* バッジ */
.c-lp-workflow__badge {
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  padding: 4px 12px;
  border-radius: var(--border-radius-full);
  font-size: var(--font-xs);
  font-weight: 600;
  white-space: nowrap;
  min-width: 100px;
  text-align: center;
  z-index: 1;
}

.c-lp-workflow__badge--fc {
  background-color: #FF6B6B;
  color: var(--color-white);
}

.c-lp-workflow__badge--partner {
  background-color: #333;
  color: var(--color-white);
}

/* 円 */
.c-lp-workflow__circle {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: transform 0.3s ease;
}

@media (max-width: 767px) {
  .c-lp-workflow__circle {
    width: 140px;
    height: 140px;
  }
}

/* 白塗り円 */
.c-lp-workflow__circle--white {
  background-color: var(--color-white);
  border: 3px solid #FFB6C1;
}

/* 枠線のみの円 */
.c-lp-workflow__circle--border {
  background-color: var(--color-white);
  border: 3px solid #FFB6C1;
}

/* グラデーション円 */
.c-lp-workflow__circle--filled {
  background: var(--color-pink-dark);
  border: none;
}

.c-lp-workflow__circle--filled .c-lp-workflow__number,
.c-lp-workflow__circle--filled .c-lp-workflow__label {
  color: var(--color-white);
}

/* 番号 */
.c-lp-workflow__number {
  font-size: var(--font-2xl);
  font-weight: 700;
  color: #FF8C7C;
  line-height: 1;
  margin-bottom: 4px;
}

/* ラベル */
.c-lp-workflow__label {
  font-size: var(--font-sm);
  font-weight: 600;
  color: #333;
  text-align: center;
  line-height: 1.4;
}

/* 矢印 */
.c-lp-workflow__arrow {
  width: 40px;
  height: 2px;
  background-color: #FFB6C1;
  position: relative;
  align-self: center;
}

@media (max-width: 767px) {
  .c-lp-workflow__arrow {
    display: none;
  }
}

.c-lp-workflow__arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 10px;
  border-color: transparent transparent transparent #FFB6C1;
}

/* ホバー効果 */
@media (min-width: 768px) {
  .c-lp-workflow__circle:hover {
    transform: scale(1.05);
  }
}

/* ===================================================================

/* =============================================
開業までの流れ
============================================= */
.c-lp-startup-flow {
  position: relative;
  z-index: 0;
}

.c-lp-startup-flow__image--pc,
.c-lp-startup-flow__image--sp {
  display: block;
  width: 100%;
}

.c-lp-startup-flow__image--pc img,
.c-lp-startup-flow__image--sp img {
  width: 100%;
  height: auto;
  display: block;
}

/* デフォルト: PC版を表示、SP版を非表示 */
.c-lp-startup-flow__image--pc {
  display: block;
}

.c-lp-startup-flow__image--sp {
  display: none;
}

/* モバイル: PC版を非表示、SP版を表示 */
@media (max-width: 767px) {
  .c-lp-startup-flow__image--pc {
    display: none;
  }

  .c-lp-startup-flow__image--sp {
    display: block;
  }
}

/* ===================================================================
 14. よくある質問セクション
 ===================================================================*/
.c-lp-faq {
  position: relative;
}

.c-lp-faq .l-container--xl {
  position: relative;
}

.c-lp-faq__list {
  position: relative;
  list-style: none;
  padding: 0;
  margin: 0;
  margin-left: auto;
  margin-right: auto;
}

.c-lp-faq__item {
  background: var(--color-white);
  border-radius: 16px;
  margin-bottom: 16px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
}

.c-lp-faq__toggle {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  padding: 20px 24px;
  gap: 16px;
}

.c-lp-faq__title {
  margin: 0;
  font-size: var(--font-base);
  display: flex;
  align-items: flex-start;
  gap: 12px;
  flex: 1;
}

.c-lp-faq__title::before {
  content: "Q.";
  color: #333;
  font-weight: 500;
  flex-shrink: 0;
}

.c-lp-faq__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 32px;
  height: 32px;
  border-radius: var(--border-radius-full);
  background-color: transparent;
  transition: transform var(--transition-base);
  will-change: transform;
  flex-shrink: 0;
}

.c-lp-faq__icon::before,
.c-lp-faq__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 2px;
  background: #FFB3BA;
  transform: translate(-50%, -50%);
  transition: transform var(--transition-base), opacity var(--transition-base);
}

.c-lp-faq__icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.c-lp-faq__item.is-open .c-lp-faq__icon::after {
  transform: translate(-50%, -50%) rotate(0deg) scaleX(0);
  opacity: 0;
}

.c-lp-faq__desc {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  padding: 0 24px;
  font-size: var(--font-sm);
  line-height: var(--line-height-relaxed);
  color: #FF8C7C;
  transition: max-height 0.3s ease, opacity 0.3s ease, padding 0.3s ease;
  display: flex;
  gap: 12px;
}

.c-lp-faq__desc::before {
  content: "A.";
  color: #FF8C7C;
  font-weight: 500;
  flex-shrink: 0;
}

.c-lp-faq__item.is-open .c-lp-faq__desc {
  max-height: 1000px;
  opacity: 1;
  padding: 0 24px 20px 24px;
}

.c-faq-answer {
  padding: 20px;
  border: 1px solid #eee;
  border-radius: 6px;
  max-width: 800px;
  margin: 0 auto;
}

.c-faq-answer__content-list {
  list-style: none;
  padding: 0;
}

.c-faq-answer__content-item {
  margin-bottom: var(--space-md);
  padding-bottom: var(--space-md);
  border-bottom: 1px dashed #ddd;
}

.c-faq-answer__last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

h4.c-faq-answer__sub-title {
  font-weight: bold;
  font-size: var(--font-base);
  margin-top: 0;
  margin-bottom: 10px;
  padding-left: 0;
  line-height: 1.4;
}

.c-faq-answer__closing-note {
  margin-top: var(--space-md);
  padding-top: var(--space-md);
}

@media (max-width: 767px) {
  .c-lp-faq__list {
    max-width: 100%;
  }

  .c-lp-faq__item {
    margin-bottom: 12px;
    border-radius: 12px;
  }

  .c-lp-faq__toggle {
    padding: 16px;
  }

  .c-lp-faq__title {
    font-size: var(--font-sm);
    gap: 8px;
  }

  .c-lp-faq__icon {
    width: 28px;
    height: 28px;
  }

  .c-lp-faq__icon::before,
  .c-lp-faq__icon::after {
    width: 14px;
  }

  .c-lp-faq__desc {
    padding: 0 16px;
    font-size: 0.875rem;
    gap: 8px;
  }

  .c-lp-faq__item.is-open .c-lp-faq__desc {
    padding: 0 16px 16px 16px;
  }
}

/* ===================================================================
 15. 企業情報セクション
 ===================================================================*/
.c-lp-company {
  position: relative;
}

.c-lp-company__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
  user-select: none;
}

.c-lp-company__bg img,
.c-lp-company__bg source {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.c-lp-company .l-container--xl {
  position: relative;
}

/* コンテンツエリア */
.c-lp-company__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xl);
  max-width: 100%;
}

@media (min-width: 768px) {
  .c-lp-company__content {
    gap: var(--space-3xl);
    max-width: 900px;
    margin: 0 auto;
  }
}

@media (min-width: 1024px) {
  .c-lp-company__content {
    max-width: 1000px;
  }
}

/* 画像 */
.c-lp-company__image {
  width: 100%;
  border-radius: var(--border-radius-lg);
  overflow: hidden;
}

.c-lp-company__image img {
  width: 100%;
  height: auto;
  display: block;
}

/* 企業情報テーブル */
.c-lp-company__info {
  overflow: hidden;
  margin-bottom: var(--space-3xl);
}

.c-lp-company__info-list {
  margin: 0;
  padding: 0;
}

.c-lp-company__info-item {
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid var(--color-gray-light);
  padding: var(--space-lg);
}

@media (min-width: 768px) {
  .c-lp-company__info-item {
    flex-direction: row;
    padding: var(--space-xl) var(--space-2xl);
  }
}

.c-lp-company__info-item:last-child {
  border-bottom: none;
}

.c-lp-company__info-label {
  font-size: var(--font-sm);
  font-weight: var(--font-weight-bold);
  color: var(--color-black);
  margin: 0 0 var(--space-sm) 0;
  min-width: 120px;
}

@media (min-width: 768px) {
  .c-lp-company__info-label {
    font-size: var(--font-base);
    margin: 0;
    flex-shrink: 0;
  }
}

.c-lp-company__info-value {
  font-size: var(--font-sm);
  color: var(--color-black);
  margin: 0;
  line-height: var(--line-height-relaxed);
}

@media (min-width: 768px) {
  .c-lp-company__info-value {
    font-size: var(--font-base);
  }
}

/* フッター */
.c-lp-footer {
  position: relative;
  font-size: var(--font-xs);
  background: var(--color-pink-dark);
  color: var(--color-white);
  padding: var(--space-md) 0;
}

/* ===================================================================
 15. CTAセクション
 ===================================================================*/

.c-lp-cta {
  position: relative;
}

/* 背景テキスト REQUEST */
.c-lp-cta__bg-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: clamp(6rem, 20vw, 12rem);
  font-weight: var(--font-weight-black);
  color: rgba(255, 255, 255, 0.3);
  letter-spacing: 0.1em;
  white-space: nowrap;
  pointer-events: none;
  user-select: none;
  z-index: 0;
}

/* コンテンツエリア */
.c-lp-cta__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-xl);
  max-width: 100%;
}

@media (min-width: 768px) {
  .c-lp-cta__content {
    gap: var(--space-2xl);
  }
}

/* ボタンラッパー */
.c-lp-cta__button-wrapper {
  margin-top: var(--space-md);
}

/* ボタン */
.c-lp-cta__button {
  display: inline-flex;
  align-items: center;
  gap: var(--space-md);
  background: var(--color-white);
  color: var(--color-red);
  font-size: var(--font-lg);
  font-weight: var(--font-weight-bold);
  padding: var(--space-lg);
  border-radius: 50px;
  text-decoration: none;
}

@media (min-width: 768px) {
  .c-lp-cta__button {
    font-size: var(--font-xl);
    padding: var(--space-xl);
  }
}

.c-lp-cta__button:active {
  transform: translateY(0);
}

/* ボタンテキスト */
.c-lp-cta__button-text {
  line-height: 1;
}

/* ボタンアイコン */
.c-lp-cta__button-icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: var(--color-pink-lightest);
  border: 1px solid var(--color-red);
  border-radius: 50%;
  color: var(--color-white);
  flex-shrink: 0;
}

/* 右向き矢印を疑似要素で作成 */
.c-lp-cta__button-icon::before {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  border-top: 2px solid var(--color-red);
  border-right: 2px solid var(--color-red);
  transform: rotate(45deg) translateX(-1px);
}

@media (min-width: 768px) {
  .c-lp-cta__button-icon {
    width: 40px;
    height: 40px;
  }

  .c-lp-cta__button-icon::before {
    width: 10px;
    height: 10px;
  }
}

/* =========================================================================
   収益性セクション (Profitability Section)
   ========================================================================= */

.c-lp-profitability {
  padding-top: var(--space-2xl);
  padding-bottom: var(--space-2xl);
}

/* 画像エリア */
.c-lp-profitability__images {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}

.c-lp-profitability__image--pc,
.c-lp-profitability__image--sp {
  display: block;
  width: 100%;
}

.c-lp-profitability__image--pc img,
.c-lp-profitability__image--sp img {
  width: 100%;
  height: auto;
  display: block;
}

/* PC版画像を表示 */
.c-lp-profitability__image--pc {
  display: block;
}

.c-lp-profitability__image--sp {
  display: none;
}

/* SP版: SP画像を表示 */
@media (max-width: 767px) {
  .c-lp-profitability__image--pc {
    display: none;
  }

  .c-lp-profitability__image--sp {
    display: block;
  }
}

/* PC */
@media (min-width: 1024px) {
  .c-lp-profitability {
    padding-top: var(--space-3xl);
    padding-bottom: var(--space-3xl);
  }
}

/* ========================================
   Contact Form 7 新しいクラス構造対応
   wpcf7-form-control.wpcf7-checkboxでグリッド分割
   ======================================== */

/* wpcf7-checkboxをグリッドレイアウトに */
.c-lp-form__checkbox-group .wpcf7-form-control.wpcf7-checkbox {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-sm);
  width: 100%;
}

/* wpcf7-list-itemのスタイル */
.c-lp-form__checkbox-group .wpcf7-list-item {
  display: flex;
  margin: 0;
  padding: 0;
}

/* label要素全体をボタン風に */
.c-lp-form__checkbox-group .wpcf7-list-item label {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: var(--space-sm) var(--space-md);
  font-size: var(--font-base);
  color: var(--color-black);
  background: var(--color-white);
  border: 1px solid #E0E0E0;
  border-radius: var(--border-radius-full);
  cursor: pointer;
  user-select: none;
  text-align: center;
  min-height: 44px;
  transition: all 0.3s ease;
  margin: 0;
}

/* チェックボックス本体を非表示 */
.c-lp-form__checkbox-group .wpcf7-list-item input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  margin: 0;
  padding: 0;
}

/* wpcf7-list-item-labelのスタイル */
.c-lp-form__checkbox-group .wpcf7-list-item-label {
  display: inline;
  font-size: var(--font-base);
  color: inherit;
  font-weight: inherit;
}

/* チェック時のlabel背景色変更 */
.c-lp-form__checkbox-group .wpcf7-list-item label:has(input[type="checkbox"]:checked) {
  background: #FF8C7C;
  border-color: #FF8C7C;
  color: var(--color-white);
  font-weight: normal;
}

/* ホバー効果 */
.c-lp-form__checkbox-group .wpcf7-list-item label:hover {
  border-color: #FF8C7C;
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(255, 140, 124, 0.2);
}

/* pタグのスタイルリセット */
.c-lp-form__checkbox-group p {
  margin: 0;
  padding: 0;
  width: 100%;
}

/* wpcf7-form-control-wrapのスタイルリセット */
.c-lp-form__checkbox-group .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

/* レスポンシブ対応 */
@media screen and (max-width: 768px) {
  .c-lp-form__checkbox-group .wpcf7-form-control.wpcf7-checkbox {
    grid-template-columns: 1fr;
    gap: var(--space-xs);
  }

  .c-lp-form__checkbox-group .wpcf7-list-item label {
    padding: var(--space-xs) var(--space-sm);
    font-size: var(--font-sm);
    min-height: 40px;
  }
}

/* ========================================
   Contact Form 7 優先度を上げて確実に適用
   ======================================== */

/* 既存スタイルを上書き - より具体的なセレクタで */
.c-lp-form__checkbox-group .wpcf7-form-control-wrap .wpcf7-form-control.wpcf7-checkbox {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: var(--space-sm) !important;
  width: 100% !important;
}

.c-lp-form__checkbox-group .wpcf7-checkbox .wpcf7-list-item {
  display: flex !important;
  margin: 0 !important;
  padding: 0 !important;
}

.c-lp-form__checkbox-group .wpcf7-checkbox .wpcf7-list-item label {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  padding: var(--space-sm) var(--space-md) !important;
  font-size: var(--font-base) !important;
  color: var(--color-black) !important;
  background: var(--color-white) !important;
  border: 1px solid #E0E0E0 !important;
  border-radius: var(--border-radius-full) !important;
  cursor: pointer !important;
  user-select: none !important;
  text-align: center !important;
  min-height: 44px !important;
  transition: all 0.3s ease !important;
  margin: 0 !important;
}

.c-lp-form__checkbox-group .wpcf7-checkbox .wpcf7-list-item input[type="checkbox"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.c-lp-form__checkbox-group .wpcf7-checkbox .wpcf7-list-item .wpcf7-list-item-label {
  display: inline !important;
  font-size: var(--font-base) !important;
  color: inherit !important;
  font-weight: inherit !important;
}

.c-lp-form__checkbox-group .wpcf7-checkbox .wpcf7-list-item label:has(input[type="checkbox"]:checked) {
  background: #FF8C7C !important;
  border-color: #FF8C7C !important;
  color: var(--color-white) !important;
  font-weight: normal !important;
}

.c-lp-form__checkbox-group .wpcf7-checkbox .wpcf7-list-item label:hover {
  border-color: #FF8C7C !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 8px rgba(255, 140, 124, 0.2) !important;
}

@media screen and (max-width: 768px) {
  .c-lp-form__checkbox-group .wpcf7-form-control-wrap .wpcf7-form-control.wpcf7-checkbox {
    grid-template-columns: 1fr !important;
    gap: var(--space-xs) !important;
  }

  .c-lp-form__checkbox-group .wpcf7-checkbox .wpcf7-list-item label {
    padding: var(--space-xs) var(--space-sm) !important;
    font-size: var(--font-sm) !important;
    min-height: 40px !important;
  }
}
