/*
 * lp-bkan-common.css
 * B型肝炎給付金 LP 共通スタイル
 * 対象スコープ: #lp-bkan / #lp-bkan-display-display
 * ─────────────────────────────────────────────────────
 * ページ固有の差分（FV バッジ配色・CTA電話サイズ等）は
 * 各 HTML の inline <style> で上書きすること
 */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", sans-serif;
  font-size: 18px;
  color: #fff;
  background: #fff;
}

/* =====================
   FV 共通構造
===================== */
#lp-bkan .fv,
#lp-bkan-display-display .fv {
  background:
    radial-gradient(ellipse at 20% 30%, rgba(0,180,240,0.35) 0%, transparent 55%),
    radial-gradient(ellipse at 80% 70%, rgba(0,45,100,0.55) 0%, transparent 50%),
    radial-gradient(ellipse at 65% 5%, rgba(0,133,201,0.45) 0%, transparent 45%),
    linear-gradient(150deg, #002d5c 0%, #0069ad 50%, #0085C9 100%);
  overflow: hidden;
}

#lp-bkan .container-fuk,
#lp-bkan-display-display .container-fuk {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr auto;
  min-height: 620px;
}

#lp-bkan .content-left-fuk,
#lp-bkan-display-display .content-left-fuk {
  grid-column: 1;
  grid-row: 1;
  padding: 56px 40px 24px 60px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 24px;
}

#lp-bkan .badge-row,
#lp-bkan-display-display .badge-row {
  grid-column: 1;
  padding: 0 40px 56px 60px;
}

#lp-bkan .fv__text-block,
#lp-bkan-display-display .fv__text-block {
  margin: 0 auto;
}

#lp-bkan .tela ,
#lp-bkan-display-display .tela  {
  color: #000;
  margin-top: -15px;
  margin-bottom: -5px;
}

#lp-bkan .fv__office,
#lp-bkan-display-display .fv__office {
  font-size: 20px;
  color: #2c1a0e;
  letter-spacing: 0.04em;
  display: inline-block;
  background: #fff;
  padding: 8px 20px;
  border-radius: 4px;
  font-weight: 700;
  margin-bottom: 16px;
}
#lp-bkan .fv__office span,
#lp-bkan-display-display .fv__office span {
  margin: 0 8px;
  opacity: 0.5;
}

#lp-bkan .h3-message em,
#lp-bkan-display-display .h3-message em {
  font-style: normal;
  color: #c9a84c;
}

#lp-bkan .lead-text,
#lp-bkan-display-display .lead-text {
  font-size: 18px;
  line-height: 1.8;
  color: rgba(255,255,255,0.85);
}

#lp-bkan .stats-box,
#lp-bkan-display-display .stats-box {
  display: inline-flex;
  align-items: baseline;
  gap: 2px;
}
#lp-bkan .stats-unit,
#lp-bkan-display-display .stats-unit {
  font-size: 18px;
  color: #c9a84c;
}

/* バッジ構造（配色は各ページで上書き） */
#lp-bkan .badge-row,
#lp-bkan-display-display .badge-row {
  display: flex;
  gap: 10px;
}
#lp-bkan .badge-fuk,
#lp-bkan-display-display .badge-fuk {
  flex: 1;
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  text-align: center;
}


/* =====================
   FV 共通ビジュアル
===================== */
#lp-bkan .h3-message,
#lp-bkan-display-display .h3-message {
  font-size: 50px;
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
  letter-spacing: 0.04em;
}
#lp-bkan .stats-num,
#lp-bkan-display-display .stats-num {
  font-size: 35px;
  font-weight: 700;
  color: #000;
}
/* バッジ: 白背景・アイコンあり */
#lp-bkan .badge-row,
#lp-bkan-display-display .badge-row { grid-row: 3; }

#lp-bkan .badge-fuk,
#lp-bkan-display-display .badge-fuk {
  background: #fff;
  padding: 15px 7px;
}
#lp-bkan .badge-label,
#lp-bkan-display-display .badge-label {
  font-size: 16px;
  font-weight: 600;
  color: #000;
  letter-spacing: 0.05em;
}
#lp-bkan .badge-val,
#lp-bkan-display-display .badge-val {
  font-size: 23px;
  font-weight: 700;
  color: #000;
  margin-bottom: 12px;
  line-height: 1.2;
}
#lp-bkan .badge-sub,
#lp-bkan-display-display .badge-sub { display: none; }

#lp-bkan .badge-icon,
#lp-bkan-display-display .badge-icon {
  display: flex;
  justify-content: center;
  margin-bottom: 8px;
}
#lp-bkan .badge-icon img,
#lp-bkan-display-display .badge-icon img {
  width: 80px;
  height: auto;
}
/* モバイル専用要素: デスクトップでは非表示 */
#lp-bkan .h3-message--sp,
#lp-bkan-display-display .h3-message--sp { display: none; }
#lp-bkan .lead-text--sp,
#lp-bkan-display-display .lead-text--sp  { display: none; }
#lp-bkan .fv__mobile-photo,
#lp-bkan-display-display .fv__mobile-photo { display: none; }

/* FV 右カラム写真 */
#lp-bkan .contentfuk-right,
#lp-bkan-display-display .contentfuk-right {
  grid-column: 2;
  grid-row: 1 / 4;
  overflow: hidden;
  padding: 40px 16px 40px 0;
  display: flex;
  align-items: center;
}
#lp-bkan .contentfuk-right picture,
#lp-bkan-display-display .contentfuk-right picture {
  width: 100%;
  display: block;
}
#lp-bkan .teamfuk-photo,
#lp-bkan-display-display .teamfuk-photo {
  width: 85%;
  height: auto;
  display: block;
  -webkit-mask-image: none;
  mask-image: none;
}
/* fv__office */
#lp-bkan .fv__office,
#lp-bkan-display-display .fv__office {
  font-size: 17px;
  margin: 0 auto;
  width: 60%;
}

/* =====================
   CTA 共通（電話番号サイズは各ページで上書き）
===================== */
#lp-bkan .cta,
#lp-bkan-display-display .cta {
  background:
    linear-gradient(to bottom, rgba(245,240,232,0.75) 0%, rgba(245,240,232,0.70) 100%),
    url('https://tokyo.daylight-law.jp/wp-content/uploads/2024/01/officemain.jpg') top/cover no-repeat;
  padding: 48px 40px;
}
#lp-bkan .cta__card,
#lp-bkan-display-display .cta__card {
  max-width: 760px;
  margin: 0 auto;
  background: #fff;
  border: 1px solid #e0d8cc;
  border-radius: 4px;
  padding: 48px 56px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
#lp-bkan .cta__lead-text,
#lp-bkan-display-display .cta__lead-text {
  font-size: 20px;
  font-weight: 700;
  color: #1a0f07;
  text-align: center;
}
#lp-bkan .cta__access,
#lp-bkan-display-display .cta__access {
  font-size: 18px;
  color: #555;
  text-align: center;
}
#lp-bkan .cta__title,
#lp-bkan-display-display .cta__title {
  font-size: 20px;
  font-weight: 700;
  color: #1a0f07;
  letter-spacing: 0.04em;
  text-align: center;
  margin-top: -15px;
}
#lp-bkan .cta__sub,
#lp-bkan-display-display .cta__sub {
  font-size: 18px;
  color: #333;
  text-align: center;
}
#lp-bkan .cta__sub em,
#lp-bkan-display-display .cta__sub em {
  font-style: normal;
  color: #c9a84c;
  font-weight: 700;
}
#lp-bkan .cta__tel,
#lp-bkan-display-display .cta__tel {
  font-weight: 700;
  color: #1a0f07;
  letter-spacing: 0.04em;
  text-decoration: none;
  line-height: 1;
  margin-top: -10px;
  font-size: 35px;
}

#lp-bkan .cta__title2,
#lp-bkan-display-display .cta__title2 {
  font-weight: 700;
  color: #1a0f07;
  letter-spacing: 0.04em;
  text-decoration: none;
  line-height: 1;
  margin-top: 15px;
  font-size: 20px;
}

#lp-bkan .cta__tel:hover,
#lp-bkan-display-display .cta__tel:hover { opacity: 0.75; }

#lp-bkan .cta__btn-tap,
#lp-bkan-display-display .cta__btn-tap {
  display: block;
  width: 100%;
  background: #0085C9;
  color: #fff;
  text-align: center;
  text-decoration: none;
  font-size: 20px;
  font-weight: 700;
  padding: 18px 20px;
  border-radius: 4px;
  box-shadow: 0 4px 0 #035C7F;
  transition: box-shadow 0.1s, transform 0.1s;
}
#lp-bkan .cta__btn-tap:hover,
#lp-bkan-display-display .cta__btn-tap:hover {
  box-shadow: 0 2px 0 #035C7F;
  transform: translateY(2px);
}
#lp-bkan .cta__badges,
#lp-bkan-display-display .cta__badges { display: flex; gap: 8px; }
#lp-bkan .cta__badge,
#lp-bkan-display-display .cta__badge {
  border: 1px solid #333;
  border-radius: 2px;
  padding: 4px 14px;
  font-size: 14px;
  color: #333;
}
#lp-bkan .cta__note,
#lp-bkan-display-display .cta__note { font-size: 18px; color: #555; }
#lp-bkan .cta__cond,
#lp-bkan-display-display .cta__cond {
  font-size: 13px;
  color: #999;
  margin-top: 6px;
  display: block;
  line-height: 1.7;
}
#lp-bkan .cta__btn-row,
#lp-bkan-display-display .cta__btn-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  width: 100%;
  margin-top: 8px;
}
#lp-bkan .cta__btn-web,
#lp-bkan-display-display .cta__btn-web {
  display: block;
  width: 100%;
  background: #82BC2E;
  color: #fff;
  text-align: center;
  text-decoration: none;
  font-size: 20px;
  font-weight: 700;
  padding: 18px 20px;
  border-radius: 4px;
  box-shadow: 0 4px 0 #5C840D;
  transition: box-shadow 0.1s, transform 0.1s;
}
#lp-bkan .cta__btn-web:hover,
#lp-bkan-display-display .cta__btn-web:hover {
  box-shadow: 0 2px 0 #5C840D;
  transform: translateY(2px);
}
#lp-bkan .cta__btn-tel,
#lp-bkan-display-display .cta__btn-tel {
  display: block;
  width: 100%;
  background: #f2a002;
  color: #fff;
  text-align: center;
  text-decoration: none;
  font-size: 20px;
  font-weight: 700;
  padding: 18px 20px;
  border-radius: 4px;
  box-shadow: 0 4px 0 #af7519;
  transition: box-shadow 0.1s, transform 0.1s;
}
#lp-bkan .cta__btn-tel:hover,
#lp-bkan-display-display .cta__btn-tel:hover {
  box-shadow: 0 2px 0 #af7519;
  transform: translateY(2px);
}
#lp-bkan .cta__btn-web .cta-label,
#lp-bkan .cta__btn-tel .cta-label,
#lp-bkan-display-display .cta__btn-web .cta-label,
#lp-bkan-display-display .cta__btn-tel .cta-label { font-size: 18px; }
#lp-bkan .cta__btn-web .cta-sub,
#lp-bkan .cta__btn-tel .cta-sub,
#lp-bkan-display-display .cta__btn-web .cta-sub,
#lp-bkan-display-display .cta__btn-tel .cta-sub { font-size: 13px; opacity: 0.85; }

/* =====================
   共通見出し
===================== */
#lp-bkan .SH2,
#lp-bkan-display-display .SH2 {
  background: #f5f0e8;
  border-bottom: 2px solid #333;
  padding: 12px 16px;
  font-size: clamp(20px, 2vw, 26px);
  font-weight: 700;
  color: #333;
}
#lp-bkan .SH3,
#lp-bkan-display-display .SH3 {
  border-bottom: 2px solid #e57913;
  padding-bottom: 6px;
  font-size: 20px;
  font-weight: 700;
  color: #1a0f07;
  margin-bottom: 12px;
}
#lp-bkan .main_btn,
#lp-bkan-display-display .main_btn {
  display: inline-block;
  background: #e57913;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  font-size: 18px;
  padding: 10px 24px;
  border-radius: 4px;
  margin-top: 16px;
  transition: opacity 0.2s;
}
#lp-bkan .main_btn:hover,
#lp-bkan-display-display .main_btn:hover { opacity: 0.85; }

/* =====================
   お悩みセクション（共通）
===================== */
#lp-bkan .worries,
#lp-bkan-display-display .worries {
  background: #fff;
  padding: 72px 40px;
}
#lp-bkan .worries__inner,
#lp-bkan-display-display .worries__inner {
  max-width: 900px;
  margin: 0 auto;
}
#lp-bkan .worries__title,
#lp-bkan-display-display .worries__title {
  font-size: clamp(20px, 2vw, 28px);
  font-weight: 700;
  color: #1a0f07;
  text-align: center;
  line-height: 1.6;
  margin-bottom: 48px;
}

/* lp-bkan: アイコンリスト型（tosatsu スタイル） */
#lp-bkan .worries__list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 48px;
}
#lp-bkan .worries__item {
  display: flex;
  align-items: center;
  gap: 20px;
  border: 2px solid #0085C9;
  border-radius: 12px;
  padding: 16px 28px 16px 20px;
  background: #fff;
}
#lp-bkan .worries__item-icon {
  width: 80px;
  height: 80px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
#lp-bkan .worries__item-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
#lp-bkan .worries__item-text {
  font-size: 18px;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.6;
}
#lp-bkan .worries__bottom {
  background: #eef4ff;
  border-radius: 12px;
  padding: 40px 48px;
  display: flex;
  align-items: center;
  gap: 40px;
}
#lp-bkan .worries__bottom-text {
  flex: 1;
}
#lp-bkan .worries__bottom-desc {
  font-size: 18px;
  color: #444;
  line-height: 1.9;
  margin-bottom: 20px;
}
#lp-bkan .worries__bottom-cta {
  font-size: clamp(20px, 2vw, 24px);
  font-weight: 900;
  color: #0085C9;
}
#lp-bkan .worries__bottom-photo {
  width: 260px;
  flex-shrink: 0;
}
#lp-bkan .worries__bottom-photo img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
}

/* lp-bkan-display-display: ✔ カード型 */
#lp-bkan-display-display .worries__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
#lp-bkan-display-display .worry-card {
  background: #fff;
  border: 1px solid #e0d8cc;
  border-radius: 8px;
  padding: 24px 28px;
}
#lp-bkan-display-display .worry-card__title {
  font-size: 18px;
  font-weight: 700;
  color: #1a0f07;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  gap: 8px;
}
#lp-bkan-display-display .worry-card__title::before {
  content: '✔';
  color: #4caf50;
  font-size: 24px;
  font-weight: 900;
  -webkit-text-stroke: 1px #4caf50;
  flex-shrink: 0;
}
#lp-bkan-display-display .worry-card__text {
  font-size: 18px;
  color: #555;
  line-height: 1.7;
}

/* =====================
   選ばれる理由
===================== */
#lp-bkan .reasons,
#lp-bkan-display-display .reasons {
  background: #fff;
  padding: 72px 40px;
}
#lp-bkan .reasons__inner,
#lp-bkan-display-display .reasons__inner {
  max-width: 900px;
  margin: 0 auto;
}
#lp-bkan .reasons__head,
#lp-bkan-display-display .reasons__head {
  margin-bottom: 48px;
  text-align: center;
}
#lp-bkan .reasons__head .SH2,
#lp-bkan-display-display .reasons__head .SH2 {
  background: none;
  border-bottom: none;
  color: #1a0f07;
  padding: 0;
  font-size: clamp(22px, 2.2vw, 32px);
  font-weight: 700;
  line-height: 1.5;
}
#lp-bkan .reasons__head .SH2 em,
#lp-bkan-display-display .reasons__head .SH2 em {
  font-style: normal;
  color: #0085C9;
}
#lp-bkan .reasons__head__line,
#lp-bkan-display-display .reasons__head__line {
  height: 3px;
  width: 200px;
  margin: 16px auto 20px;
  background: linear-gradient(to right, #0085C9, #B2E4F9);
  border-radius: 2px;
}
#lp-bkan .reasons__head__sub,
#lp-bkan-display-display .reasons__head__sub {
  font-size: 18px;
  color: #666;
}
#lp-bkan .reasons__list,
#lp-bkan-display-display .reasons__list {
  display: flex;
  flex-direction: column;
  gap: 72px;
}
#lp-bkan .reason-item,
#lp-bkan-display-display .reason-item {
  display: flex;
  align-items: center;
  gap: 60px;
  position: relative;
}
#lp-bkan .reason-item:nth-child(even),
#lp-bkan-display-display .reason-item:nth-child(even) { flex-direction: row-reverse; }
#lp-bkan .reason-item__bg,
#lp-bkan-display-display .reason-item__bg {
  position: absolute;
  top: -20px;
  left: 0;
  font-size: 100px;
  font-weight: 700;
  color: rgba(0,0,0,0.04);
  letter-spacing: -2px;
  line-height: 1;
  pointer-events: none;
  user-select: none;
}
#lp-bkan .reason-item:nth-child(even) .reason-item__bg,
#lp-bkan-display-display .reason-item:nth-child(even) .reason-item__bg {
  left: auto;
  right: 0;
}
#lp-bkan .reason-item__photo-wrap,
#lp-bkan-display-display .reason-item__photo-wrap {
  flex: 0 0 42%;
  position: relative;
}
#lp-bkan .reason-item__accent,
#lp-bkan-display-display .reason-item__accent {
  position: absolute;
  width: 80px;
  height: 80px;
  background: #c9a84c;
  opacity: 0.5;
  bottom: -16px;
  right: -16px;
  z-index: 0;
}
#lp-bkan .reason-item:nth-child(even) .reason-item__accent,
#lp-bkan-display-display .reason-item:nth-child(even) .reason-item__accent {
  right: auto;
  left: -16px;
}
#lp-bkan .reason-item__photo,
#lp-bkan-display-display .reason-item__photo {
  width: 100%;
  height: auto;
  display: block;
  position: relative;
  z-index: 1;
}
#lp-bkan .reason-item__body,
#lp-bkan-display-display .reason-item__body {
  flex: 1;
  position: relative;
  z-index: 1;
}
#lp-bkan .reason-item__num,
#lp-bkan-display-display .reason-item__num {
  font-size: 13px;
  font-weight: 700;
  color: #c9a84c;
  letter-spacing: 0.12em;
  margin-bottom: 6px;
}
#lp-bkan .reason-item__title,
#lp-bkan-display-display .reason-item__title {
  font-size: clamp(20px, 1.8vw, 26px);
  font-weight: 700;
  color: #1a0f07;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 2px solid #0085C9;
}
#lp-bkan .reason-item__text,
#lp-bkan-display-display .reason-item__text {
  font-size: 18px;
  color: #555;
  line-height: 1.8;
  margin-bottom: 24px;
}
#lp-bkan .reason-item__btn,
#lp-bkan-display-display .reason-item__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #1e3a6e;
  color: #fff;
  text-decoration: none;
  font-size: 18px;
  font-weight: 700;
  padding: 12px 28px;
  border-radius: 2px;
  transition: opacity 0.2s;
}
#lp-bkan .reason-item__btn:hover,
#lp-bkan-display-display .reason-item__btn:hover { opacity: 0.85; }

/* =====================
   弁護士紹介
===================== */
#lp-bkan .lawyers,
#lp-bkan-display-display .lawyers {
  background: #f5f0e8;
  padding: 72px 40px;
}
#lp-bkan .lawyers__inner,
#lp-bkan-display-display .lawyers__inner {
  max-width: 960px;
  margin: 0 auto;
}
#lp-bkan .lawyers__head,
#lp-bkan-display-display .lawyers__head {
  margin-bottom: 40px;
  text-align: center;
}
#lp-bkan .lawyers__title,
#lp-bkan-display-display .lawyers__title {
  font-size: clamp(22px, 2.2vw, 30px);
  font-weight: 700;
  color: #1a1a1a;
}
#lp-bkan .lawyers__title em,
#lp-bkan-display-display .lawyers__title em {
  font-style: normal;
  color: #0085C9;
}
#lp-bkan .lawyers__head__line,
#lp-bkan-display-display .lawyers__head__line {
  height: 3px;
  width: 160px;
  margin: 14px auto 0;
  background: linear-gradient(to right, #0085C9, #B2E4F9);
  border-radius: 2px;
}
#lp-bkan .lawyers__carousel-wrap,
#lp-bkan-display-display .lawyers__carousel-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
}
#lp-bkan .lawyers__viewport,
#lp-bkan-display-display .lawyers__viewport {
  flex: 1;
  overflow: hidden;
}
#lp-bkan .lawyers__track,
#lp-bkan-display-display .lawyers__track {
  display: flex;
  gap: 24px;
  transition: transform 0.35s ease;
}
#lp-bkan .lawyer-card,
#lp-bkan-display-display .lawyer-card {
  flex: 0 0 calc((100% - 48px) / 3);
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
#lp-bkan .lawyer-card__img-wrap,
#lp-bkan-display-display .lawyer-card__img-wrap {
  width: 100%;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #e8e0d6;
}
#lp-bkan .lawyer-card__img,
#lp-bkan-display-display .lawyer-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 15%;
  display: block;
}
#lp-bkan .lawyer-card__body,
#lp-bkan-display-display .lawyer-card__body {
  padding: 16px 20px 20px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
#lp-bkan .lawyer-card__name,
#lp-bkan-display-display .lawyer-card__name {
  font-size: 18px;
  font-weight: 700;
  color: #1a1a1a;
}
#lp-bkan .lawyer-card__title,
#lp-bkan-display-display .lawyer-card__title {
  font-size: 14px;
  color: #888;
}
#lp-bkan .lawyer-card__stance,
#lp-bkan-display-display .lawyer-card__stance {
  font-size: 14px;
  color: #444;
  line-height: 1.7;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid #eee;
}
#lp-bkan .lawyers__prev,
#lp-bkan .lawyers__next,
#lp-bkan-display-display .lawyers__prev,
#lp-bkan-display-display .lawyers__next {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 2px solid #0085C9;
  background: #fff;
  color: #0085C9;
  font-size: 24px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s, color 0.2s;
}
#lp-bkan .lawyers__prev:hover,
#lp-bkan .lawyers__next:hover,
#lp-bkan-display-display .lawyers__prev:hover,
#lp-bkan-display-display .lawyers__next:hover {
  background: #0085C9;
  color: #fff;
}
#lp-bkan .lawyers__prev:disabled,
#lp-bkan .lawyers__next:disabled,
#lp-bkan-display-display .lawyers__prev:disabled,
#lp-bkan-display-display .lawyers__next:disabled {
  opacity: 0.3;
  cursor: default;
}
#lp-bkan .lawyers__dots,
#lp-bkan-display-display .lawyers__dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 24px;
}
#lp-bkan .lawyers__dot,
#lp-bkan-display-display .lawyers__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ccc;
  border: none;
  cursor: pointer;
  padding: 0;
  transition: background 0.2s;
}
#lp-bkan .lawyers__dot--active,
#lp-bkan-display-display .lawyers__dot--active { background: #0085C9; }
#lp-bkan .lawyers__cta-line,
#lp-bkan-display-display .lawyers__cta-line {
  text-align: center;
  margin-top: 32px;
  font-size: 20px;
  font-weight: 700;
  color: #1a1a1a;
}

/* =====================
   制度説明（seido）
===================== */
#lp-bkan .seido,
#lp-bkan-display-display .seido {
  background: #fff;
  padding: 64px 40px;
}
#lp-bkan .seido__inner,
#lp-bkan-display-display .seido__inner {
  max-width: 860px;
  margin: 0 auto;
}
#lp-bkan .seido__head,
#lp-bkan-display-display .seido__head {
  text-align: center;
  margin-bottom: 40px;
}
#lp-bkan .seido__title,
#lp-bkan-display-display .seido__title {
  font-size: clamp(22px, 2.2vw, 30px);
  font-weight: 700;
  color: #1a0f07;
  background: none;
  border-bottom: none;
  padding: 0;
}
#lp-bkan .seido__head__line,
#lp-bkan-display-display .seido__head__line {
  height: 3px;
  width: 180px;
  margin: 14px auto 0;
  background: linear-gradient(to right, #0085C9, #B2E4F9);
  border-radius: 2px;
}
#lp-bkan .seido__lead,
#lp-bkan-display-display .seido__lead {
  margin-top: 20px;
  font-size: 18px;
  color: #555;
  line-height: 1.9;
}
#lp-bkan .seido__flow,
#lp-bkan-display-display .seido__flow {
  display: flex;
  align-items: stretch;
  gap: 0;
}
#lp-bkan .seido__box,
#lp-bkan-display-display .seido__box {
  flex: 1;
  background: #fff;
  border: 1px solid #cce3f4;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0, 133, 201, 0.08);
  text-align: center;
}
#lp-bkan .seido__box--result,
#lp-bkan-display-display .seido__box--result {
  background: #eef7ff;
  border: 2px solid #0085C9;
  box-shadow: 0 4px 16px rgba(0, 133, 201, 0.18);
}
#lp-bkan .seido__box__img,
#lp-bkan-display-display .seido__box__img {
  width: 100%;
  height: 80%;
  object-fit: cover;
  object-position: center;
  display: block;
}
#lp-bkan .seido__box__body,
#lp-bkan-display-display .seido__box__body { padding: 30px 20px; }
#lp-bkan .seido__box__title,
#lp-bkan-display-display .seido__box__title {
  font-size: 16px;
  font-weight: 700;
  color: #1a0f07;
  margin-bottom: 8px;
}
#lp-bkan .seido__box--result .seido__box__title,
#lp-bkan-display-display .seido__box--result .seido__box__title { color: #0085C9; }
#lp-bkan .seido__box__sub,
#lp-bkan-display-display .seido__box__sub { font-size: 14px; color: #777; line-height: 1.6; }
#lp-bkan .seido__box__amount,
#lp-bkan-display-display .seido__box__amount {
  font-size: 14px;
  color: #555;
  font-weight: 700;
  line-height: 1.6;
}
#lp-bkan .seido__box__amount em,
#lp-bkan-display-display .seido__box__amount em {
  font-style: normal;
  font-size: 22px;
  color: #e57913;
}
#lp-bkan .seido__arrow,
#lp-bkan-display-display .seido__arrow {
  flex: none;
  width: 52px;
  display: flex;
  justify-content: center;
}
#lp-bkan .seido__arrow::after,
#lp-bkan-display-display .seido__arrow::after {
  content: '▶';
  font-size: 30px;
  color: #0085C9;
  font-weight: 700;
}
#lp-bkan .seido__note,
#lp-bkan-display-display .seido__note {
  text-align: center;
  margin-top: 24px;
  font-size: 15px;
  color: #888;
  line-height: 1.8;
}

/* =====================
   お悩み別サポート
===================== */
#lp-bkan .support,
#lp-bkan-display-display .support {
  background: #fff;
  padding: 72px 40px;
}
#lp-bkan .support__inner,
#lp-bkan-display-display .support__inner { max-width: 960px; margin: 0 auto; }
#lp-bkan .support__head,
#lp-bkan-display-display .support__head { margin-bottom: 48px; text-align: center; }
#lp-bkan .support__head .SH2,
#lp-bkan-display-display .support__head .SH2 {
  background: none;
  border-bottom: none;
  padding: 0;
  font-size: clamp(22px, 2.2vw, 30px);
  color: #1a0f07;
}
#lp-bkan .support__head__lead,
#lp-bkan-display-display .support__head__lead { font-size: 18px; color: #555; line-height: 1.8; margin-top: 20px; }
#lp-bkan .support__head__line,
#lp-bkan-display-display .support__head__line {
  height: 3px;
  width: 160px;
  margin: 14px auto 0;
  background: linear-gradient(to right, #0085C9, #B2E4F9);
  border-radius: 2px;
}
#lp-bkan .support__grid,
#lp-bkan-display-display .support__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
#lp-bkan .support-cat,
#lp-bkan-display-display .support-cat {
  border: 1px solid #e0d8cc;
  border-radius: 8px;
  overflow: hidden;
}
#lp-bkan .support-cat__head,
#lp-bkan-display-display .support-cat__head {
  background: #1e3a6e;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  padding: 14px 20px;
}
#lp-bkan .support-cat__list,
#lp-bkan-display-display .support-cat__list { list-style: none; padding: 8px 0; }
#lp-bkan .support-cat__list li a,
#lp-bkan-display-display .support-cat__list li a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  font-size: 18px;
  color: #333;
  text-decoration: none;
  border-bottom: 1px solid #f0ece6;
  transition: background 0.15s;
}
#lp-bkan .support-cat__list li:last-child a,
#lp-bkan-display-display .support-cat__list li:last-child a { border-bottom: none; }
#lp-bkan .support-cat__list li a:hover,
#lp-bkan-display-display .support-cat__list li a:hover { background: #faf7f2; color: #e57913; }
#lp-bkan .support-cat__list li a::before,
#lp-bkan-display-display .support-cat__list li a::before {
  content: '›';
  color: #e57913;
  font-size: 20px;
  font-weight: 700;
  flex-shrink: 0;
}

/* =====================
   解決事例カルーセル
===================== */
#lp-bkan .cases,
#lp-bkan-display-display .cases {
  background: #f5f0e8;
  padding: 72px 40px;
}
#lp-bkan .cases__inner,
#lp-bkan-display-display .cases__inner { max-width: 960px; margin: 0 auto; }
#lp-bkan .cases__head,
#lp-bkan-display-display .cases__head { margin-bottom: 40px; text-align: center; }
#lp-bkan .cases__head .SH2,
#lp-bkan-display-display .cases__head .SH2 {
  background: none; border-bottom: none; padding: 0;
  font-size: clamp(22px, 2.2vw, 30px); color: #1a0f07;
}
#lp-bkan .cases__head__lead,
#lp-bkan-display-display .cases__head__lead { margin-top: 20px; text-align: center; }
#lp-bkan .cases__head__lead strong,
#lp-bkan-display-display .cases__head__lead strong {
  display: block; font-size: 22px; font-weight: 700; color: #1a0f07; margin-bottom: 8px;
}
#lp-bkan .cases__head__lead p,
#lp-bkan-display-display .cases__head__lead p { font-size: 18px; color: #555; line-height: 1.8; }
#lp-bkan .cases__head__line,
#lp-bkan-display-display .cases__head__line {
  height: 3px; width: 160px; margin: 14px auto 0;
  background: linear-gradient(to right, #0085C9, #B2E4F9); border-radius: 2px;
}
#lp-bkan .cases__carousel-wrap,
#lp-bkan-display-display .cases__carousel-wrap { display: flex; align-items: center; gap: 12px; }
#lp-bkan .cases__viewport,
#lp-bkan-display-display .cases__viewport { flex: 1; overflow: hidden; }
#lp-bkan .cases__track,
#lp-bkan-display-display .cases__track { display: flex; gap: 24px; transition: transform 0.35s ease; }
#lp-bkan .case-card,
#lp-bkan-display-display .case-card {
  flex: 0 0 calc((100% - 48px) / 3);
  background: #fff; border-radius: 8px; overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06); display: flex; flex-direction: column;
}
#lp-bkan .case-card__img-wrap,
#lp-bkan-display-display .case-card__img-wrap {
  width: 100%; aspect-ratio: 16 / 9; overflow: hidden; background: #e8e0d6;
}
#lp-bkan .case-card__img,
#lp-bkan-display-display .case-card__img { width: 100%; height: 100%; object-fit: cover; display: block; }
#lp-bkan .case-card__body,
#lp-bkan-display-display .case-card__body {
  padding: 20px; display: flex; flex-direction: column; gap: 10px; flex: 1;
}
#lp-bkan .case-card__cat,
#lp-bkan-display-display .case-card__cat {
  display: inline-block; background: #0085C9; color: #fff;
  font-size: 13px; font-weight: 700; padding: 3px 10px; border-radius: 2px; align-self: flex-start;
}
#lp-bkan .case-card__title,
#lp-bkan-display-display .case-card__title {
  font-size: 18px; font-weight: 700; color: #1a0f07; line-height: 1.5;
}
#lp-bkan .case-card__result,
#lp-bkan-display-display .case-card__result { font-size: 18px; color: #0085C9; font-weight: 700; }
#lp-bkan .case-card__btn,
#lp-bkan-display-display .case-card__btn {
  display: flex; align-items: center; justify-content: center; gap: 6px;
  background: #82BC2E; color: #fff; text-decoration: none;
  font-size: 18px; font-weight: 700; padding: 12px; border-radius: 4px;
  margin-top: auto; box-shadow: 0 4px 0 #5C840D; transition: box-shadow 0.1s, transform 0.1s;
}
#lp-bkan .case-card__btn:hover,
#lp-bkan-display-display .case-card__btn:hover {
  box-shadow: 0 2px 0 #5C840D; transform: translateY(2px);
}
#lp-bkan .cases__prev,
#lp-bkan .cases__next,
#lp-bkan-display-display .cases__prev,
#lp-bkan-display-display .cases__next {
  flex-shrink: 0; width: 44px; height: 44px; border-radius: 50%;
  border: 2px solid #c9a84c; background: #fff; color: #c9a84c;
  font-size: 24px; cursor: pointer; display: flex; align-items: center;
  justify-content: center; transition: background 0.2s, color 0.2s;
}
#lp-bkan .cases__prev:hover,
#lp-bkan .cases__next:hover,
#lp-bkan-display-display .cases__prev:hover,
#lp-bkan-display-display .cases__next:hover { background: #c9a84c; color: #fff; }
#lp-bkan .cases__prev:disabled,
#lp-bkan .cases__next:disabled,
#lp-bkan-display-display .cases__prev:disabled,
#lp-bkan-display-display .cases__next:disabled { opacity: 0.3; cursor: default; }
#lp-bkan .cases__dots,
#lp-bkan-display-display .cases__dots { display: flex; justify-content: center; gap: 8px; margin-top: 24px; }
#lp-bkan .cases__dot,
#lp-bkan-display-display .cases__dot {
  width: 8px; height: 8px; border-radius: 50%; background: #ccc;
  border: none; cursor: pointer; padding: 0; transition: background 0.2s;
}
#lp-bkan .cases__dot--active,
#lp-bkan-display-display .cases__dot--active { background: #c9a84c; }

/* =====================
   お客様の声 / 顧客満足度
===================== */
#lp-bkan .voices,
#lp-bkan-display-display .voices {
  padding: 72px 40px;
  background:
    radial-gradient(ellipse at 20% 30%, rgba(168,210,190,0.5) 0%, transparent 55%),
    radial-gradient(ellipse at 80% 70%, rgba(140,195,175,0.4) 0%, transparent 50%),
    radial-gradient(ellipse at 60% 10%, rgba(200,225,215,0.35) 0%, transparent 45%),
    linear-gradient(150deg, #e8f2ee 0%, #f5f5f0 50%, #eef4f0 100%);
}
#lp-bkan .voices__inner,
#lp-bkan-display-display .voices__inner { max-width: 1100px; margin: 0 auto; }
#lp-bkan .voices__head,
#lp-bkan-display-display .voices__head { margin-bottom: 48px; text-align: center; }
#lp-bkan .voices__head .SH2,
#lp-bkan-display-display .voices__head .SH2 {
  background: none; border-bottom: none; padding: 0;
  font-size: clamp(22px, 2.2vw, 30px); color: #1a0f07;
}
#lp-bkan .voices__head__line,
#lp-bkan-display-display .voices__head__line {
  height: 3px; width: 160px; margin: 14px auto 0;
  background: linear-gradient(to right, #0085C9, #B2E4F9); border-radius: 2px;
}
#lp-bkan .voices__grid,
#lp-bkan-display-display .voices__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
#lp-bkan .voice-card,
#lp-bkan-display-display .voice-card {
  background: rgba(255,255,255,0.85);
  border-radius: 10px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
}
#lp-bkan .voice-card__title,
#lp-bkan-display-display .voice-card__title {
  font-size: 19px;
  font-weight: 700;
  color: #1a0f07;
  line-height: 1.5;
}
#lp-bkan .voice-card__img,
#lp-bkan-display-display .voice-card__img {
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid #e0d8cc;
  border-radius: 4px;
}
#lp-bkan .voice-card__text,
#lp-bkan-display-display .voice-card__text {
  font-size: 16px;
  color: #444;
  line-height: 1.8;
}

/* =====================
   アクセス
===================== */
#lp-bkan .access,
#lp-bkan-display-display .access {
  background: #fff;
  padding: 64px 40px;
}
#lp-bkan .access__inner,
#lp-bkan-display-display .access__inner { max-width: 1100px; margin: 0 auto; }
#lp-bkan .access__head,
#lp-bkan-display-display .access__head { margin-bottom: 48px; text-align: center; }
#lp-bkan .access__head .SH2,
#lp-bkan-display-display .access__head .SH2 {
  background: none; border-bottom: none; padding: 0;
  font-size: clamp(22px, 2.2vw, 30px); color: #1a0f07;
}
#lp-bkan .access__head__line,
#lp-bkan-display-display .access__head__line {
  height: 3px; width: 160px; margin: 14px auto 0;
  background: linear-gradient(to right, #0085C9, #B2E4F9); border-radius: 2px;
}
#lp-bkan .access__grid,
#lp-bkan-display-display .access__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
#lp-bkan .access__card,
#lp-bkan-display-display .access__card {
  background: #fff; border-radius: 12px; overflow: hidden;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
  transition: transform 0.2s, box-shadow 0.2s;
}
#lp-bkan .access__card:hover,
#lp-bkan-display-display .access__card:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.12);
}
#lp-bkan .access__card--current,
#lp-bkan-display-display .access__card--current { border: 2px solid #c9a84c; }
#lp-bkan .access__photo,
#lp-bkan-display-display .access__photo {
  width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block;
}
#lp-bkan .access__info,
#lp-bkan-display-display .access__info { padding: 16px; }
#lp-bkan .access__name,
#lp-bkan-display-display .access__name {
  font-size: 18px; font-weight: 700; color: #1e3a6e; margin-bottom: 8px; text-align: center;
}
#lp-bkan .access__detail,
#lp-bkan-display-display .access__detail {
  font-size: 18px; color: #555; line-height: 1.7; text-align: center;
}

/* =====================
   弁護士費用
===================== */
#lp-bkan .fee,
#lp-bkan-display-display .fee {
  background: #f5f0e8;
  padding: 64px 40px;
}
#lp-bkan .fee__inner,
#lp-bkan-display-display .fee__inner { max-width: 860px; margin: 0 auto; }
#lp-bkan .fee__head,
#lp-bkan-display-display .fee__head { margin-bottom: 48px; text-align: center; }
#lp-bkan .fee__head .SH2,
#lp-bkan-display-display .fee__head .SH2 {
  background: none; border-bottom: none; padding: 0;
  font-size: clamp(22px, 2.2vw, 30px); color: #1a0f07;
}
#lp-bkan .fee__head__line,
#lp-bkan-display-display .fee__head__line {
  height: 3px; width: 160px; margin: 14px auto 0;
  background: linear-gradient(to right, #0085C9, #B2E4F9); border-radius: 2px;
}
#lp-bkan .fee__highlight,
#lp-bkan-display-display .fee__highlight {
  background: #fff; border: 2px solid #c9a84c; text-align: center;
  padding: 28px 24px; border-radius: 4px; margin-bottom: 28px;
}
#lp-bkan .fee__highlight strong,
#lp-bkan-display-display .fee__highlight strong {
  display: block; font-size: clamp(22px, 2.5vw, 32px); font-weight: 700;
  color: #1a0f07; line-height: 1.4;
}
#lp-bkan .fee__highlight strong em,
#lp-bkan-display-display .fee__highlight strong em {
  font-style: normal; color: #e57913; font-size: clamp(28px, 3.5vw, 48px);
}
#lp-bkan .fee__highlight span,
#lp-bkan-display-display .fee__highlight span {
  display: block; font-size: 18px; color: #888; margin-top: 6px;
}
#lp-bkan .fee__highlight__cond,
#lp-bkan-display-display .fee__highlight__cond {
  display: inline-block; text-align: left; font-size: 14px; color: #888;
  margin-top: 12px; line-height: 1.8; border-top: 1px solid #e8e0d0; padding-top: 10px;
}
#lp-bkan .fee__table,
#lp-bkan-display-display .fee__table {
  width: 100%; border-collapse: collapse; margin-bottom: 28px;
  background: #fff; border-radius: 4px; overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
#lp-bkan .fee__table th,
#lp-bkan-display-display .fee__table th {
  background: #1e3a6e; color: #fff; padding: 14px 16px;
  font-size: 18px; text-align: center;
}
#lp-bkan .fee__table td,
#lp-bkan-display-display .fee__table td {
  padding: 16px; font-size: 18px; color: #333;
  border-bottom: 1px solid #eee; text-align: center; vertical-align: middle;
}
#lp-bkan .fee__table td.fee__label,
#lp-bkan-display-display .fee__table td.fee__label {
  text-align: left; font-weight: 700; background: #fafafa; width: 30%;
}
#lp-bkan .fee__price,
#lp-bkan-display-display .fee__price { color: #e57913; font-weight: 700; }
#lp-bkan .fee__note,
#lp-bkan-display-display .fee__note {
  background: #fff; border: 1px solid #ddd; border-radius: 4px;
  padding: 24px 28px; margin-bottom: 32px;
}
#lp-bkan .fee__note h3,
#lp-bkan-display-display .fee__note h3 {
  font-size: 20px; font-weight: 700; color: #1a0f07; margin-bottom: 12px;
  border-left: 4px solid #e57913; padding-left: 10px;
}
#lp-bkan .fee__note p,
#lp-bkan-display-display .fee__note p { font-size: 18px; color: #555; line-height: 1.8; }

/* =====================
   相談の流れ
===================== */
#lp-bkan .flow,
#lp-bkan-display-display .flow { background: #fff; padding: 64px 40px; }
#lp-bkan .flow__inner,
#lp-bkan-display-display .flow__inner { max-width: 860px; margin: 0 auto; }
#lp-bkan .flow__head,
#lp-bkan-display-display .flow__head { margin-bottom: 48px; text-align: center; }
#lp-bkan .flow__head .SH2,
#lp-bkan-display-display .flow__head .SH2 {
  background: none; border-bottom: none; padding: 0;
  font-size: clamp(22px, 2.2vw, 30px); color: #1a0f07;
}
#lp-bkan .flow__head__line,
#lp-bkan-display-display .flow__head__line {
  height: 3px; width: 160px; margin: 14px auto 0;
  background: linear-gradient(to right, #0085C9, #B2E4F9); border-radius: 2px;
}
#lp-bkan .flow__steps,
#lp-bkan-display-display .flow__steps { display: flex; flex-direction: column; gap: 0; }
#lp-bkan .flow__step,
#lp-bkan-display-display .flow__step { display: flex; gap: 28px; position: relative; }
#lp-bkan .flow__step:not(:last-child)::after,
#lp-bkan-display-display .flow__step:not(:last-child)::after {
  content: '';
  position: absolute;
  left: 28px;
  top: 60px;
  bottom: -20px;
  width: 2px;
  background: linear-gradient(to bottom, #0085C9, #B2E4F9);
}
#lp-bkan .flow__step-left,
#lp-bkan-display-display .flow__step-left {
  display: flex; flex-direction: column; align-items: center; flex-shrink: 0;
}
#lp-bkan .flow__step-num,
#lp-bkan-display-display .flow__step-num {
  width: 58px; height: 58px; border-radius: 50%;
  background: linear-gradient(135deg, #0085C9, #B2E4F9);
  color: #fff; font-size: 22px; font-weight: 700;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
  box-shadow: 0 3px 10px rgba(229,121,19,0.3);
}
#lp-bkan .flow__step-body,
#lp-bkan-display-display .flow__step-body { flex: 1; padding-bottom: 40px; }
#lp-bkan .flow__step:last-child .flow__step-body,
#lp-bkan-display-display .flow__step:last-child .flow__step-body { padding-bottom: 0; }
#lp-bkan .flow__step-title,
#lp-bkan-display-display .flow__step-title {
  font-size: 22px; font-weight: 700; color: #1a0f07; margin-bottom: 16px; padding-top: 14px;
}
#lp-bkan .flow__step-img,
#lp-bkan-display-display .flow__step-img {
  width: 100%; border-radius: 4px; margin-bottom: 16px; display: block;
}
#lp-bkan .flow__step-text,
#lp-bkan-display-display .flow__step-text {
  font-size: 18px; color: #444; line-height: 1.8; margin-bottom: 12px;
}
#lp-bkan .flow__list,
#lp-bkan-display-display .flow__list {
  list-style: none; margin-top: 16px; display: flex; flex-direction: column; gap: 12px;
}
#lp-bkan .flow__list li,
#lp-bkan-display-display .flow__list li {
  background: #f5f0e8; border-radius: 4px; padding: 14px 18px;
  font-size: 18px; color: #333; line-height: 1.7;
}
#lp-bkan .flow__list li strong,
#lp-bkan-display-display .flow__list li strong {
  color: #1e3a6e; display: block; margin-bottom: 4px;
}

/* =====================
   FAQ
===================== */
#lp-bkan .faq,
#lp-bkan-display-display .faq {
  background: #f5f0e8;
  padding: 64px 40px;
}
#lp-bkan .faq__inner,
#lp-bkan-display-display .faq__inner { max-width: 860px; margin: 0 auto; }
#lp-bkan .faq__head,
#lp-bkan-display-display .faq__head { margin-bottom: 48px; text-align: center; }
#lp-bkan .faq__head .SH2,
#lp-bkan-display-display .faq__head .SH2 {
  background: none; border-bottom: none; padding: 0;
  font-size: clamp(22px, 2.2vw, 30px); color: #1a0f07;
}
#lp-bkan .faq__head__line,
#lp-bkan-display-display .faq__head__line {
  height: 3px; width: 160px; margin: 14px auto 0;
  background: linear-gradient(to right, #0085C9, #B2E4F9); border-radius: 2px;
}
#lp-bkan .faq__list,
#lp-bkan-display-display .faq__list { display: flex; flex-direction: column; gap: 12px; }
#lp-bkan .faq__item,
#lp-bkan-display-display .faq__item {
  background: #fff; border-radius: 4px; overflow: hidden;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}
#lp-bkan .faq__question,
#lp-bkan-display-display .faq__question {
  display: flex; align-items: center; gap: 16px;
  padding: 20px 24px; cursor: pointer; user-select: none; list-style: none;
}
#lp-bkan .faq__question::-webkit-details-marker,
#lp-bkan-display-display .faq__question::-webkit-details-marker { display: none; }
#lp-bkan .faq__q-label,
#lp-bkan-display-display .faq__q-label {
  color: #0085C9; font-weight: 700; font-size: 20px; flex-shrink: 0;
}
#lp-bkan .faq__q-text,
#lp-bkan-display-display .faq__q-text {
  flex: 1; font-size: 18px; font-weight: 700; color: #1a0f07; line-height: 1.6;
}
#lp-bkan .faq__arrow,
#lp-bkan-display-display .faq__arrow {
  flex-shrink: 0; width: 28px; height: 28px; border-radius: 50%;
  background: #0085C9; color: #fff; font-size: 20px; font-weight: 300;
  line-height: 1; display: flex; align-items: center; justify-content: center;
}
#lp-bkan .faq__arrow::after,
#lp-bkan-display-display .faq__arrow::after { content: '+'; padding-bottom: 3px; }
#lp-bkan .faq__item[open] .faq__arrow::after,
#lp-bkan-display-display .faq__item[open] .faq__arrow::after { content: '−'; padding-bottom: 3px; }
#lp-bkan .faq__answer,
#lp-bkan-display-display .faq__answer {
  padding: 0 24px 20px 60px; font-size: 18px; color: #444;
  line-height: 1.8; border-top: 1px solid #f0ebe0;
}

/* =====================
   レスポンシブ（1100px）
===================== */
@media (max-width: 1100px) {
  #lp-bkan .container-fuk,
  #lp-bkan-display-display .container-fuk {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    min-height: auto;
  }
  #lp-bkan .content-left-fuk,
  #lp-bkan-display-display .content-left-fuk {
    grid-column: auto; grid-row: auto; order: 1;
    padding: 48px 32px 16px; align-items: center; text-align: center;
  }
  #lp-bkan .contentfuk-right,
  #lp-bkan-display-display .contentfuk-right {
    grid-column: auto; grid-row: auto; order: 2;
    display: block; width: 100%; padding: 0;
  }
  #lp-bkan .badge-row,
  #lp-bkan-display-display .badge-row {
    grid-column: auto; grid-row: auto; order: 3;
    display: grid; grid-template-columns: 1fr 1fr; gap: 8px;
    width: 100%; padding: 0 32px 32px;
  }
  #lp-bkan .fv__text-block,
  #lp-bkan-display-display .fv__text-block { text-align: left; margin: 0 auto; }
  #lp-bkan .h3-message,
  #lp-bkan-display-display .h3-message { font-size: 65px; text-align: center; }
  #lp-bkan .badge-fuk:nth-child(3),
  #lp-bkan-display-display .badge-fuk:nth-child(3) { grid-column: 1 / -1; }
  #lp-bkan .badge-val,
  #lp-bkan-display-display .badge-val { font-size: clamp(22px, 3.5vw, 32px); }
  #lp-bkan .teamfuk-photo,
  #lp-bkan-display-display .teamfuk-photo { width: 100%; height: auto; object-fit: unset; }
  #lp-bkan .reason-item,
  #lp-bkan-display-display .reason-item { flex-direction: column !important; gap: 24px; }
  #lp-bkan .reason-item:nth-child(even),
  #lp-bkan-display-display .reason-item:nth-child(even) { flex-direction: column !important; }
  #lp-bkan .reason-item__photo-wrap,
  #lp-bkan-display-display .reason-item__photo-wrap { flex: none; width: 100%; }
  #lp-bkan .access__grid,
  #lp-bkan-display-display .access__grid { grid-template-columns: 1fr 1fr; gap: 16px; }
}

/* =====================
   レスポンシブ（768px）
===================== */
@media (max-width: 768px) {
  #lp-bkan .container-fuk,
  #lp-bkan-display-display .container-fuk {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    min-height: auto;
  }
  #lp-bkan .worries,
#lp-bkan-display-display .worries {
  padding: 72px 10px;
}
  #lp-bkan .fv__office,
#lp-bkan-display-display .fv__office {width: 100%}
  #lp-bkan .content-left-fuk,
  #lp-bkan-display-display .content-left-fuk {
    grid-column: 1; grid-row: 1; order: 0;
    padding: 28px 20px 16px; align-items: center; text-align: center;
    justify-content: flex-start; gap: 12px;
  }
  #lp-bkan .contentfuk-right,
  #lp-bkan-display-display .contentfuk-right {
    grid-column: 1; grid-row: 2; order: 0; display: block; padding: 0; width: 100%;
  }
  #lp-bkan .teamfuk-photo,
  #lp-bkan-display-display .teamfuk-photo { width: 100%; height: auto; object-fit: unset; }
  #lp-bkan .badge-fuk:nth-child(3),
  #lp-bkan-display-display .badge-fuk:nth-child(3) { grid-column: auto; }
  #lp-bkan .badge-row,
  #lp-bkan-display-display .badge-row {
    grid-column: 1; grid-row: 3; order: 0;
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px;
    padding: 12px 14px 20px; background: transparent;
  }
  #lp-bkan .badge-fuk,
  #lp-bkan-display-display .badge-fuk {
    padding: 12px 6px; border-radius: 8px; gap: 4px;
  }
  #lp-bkan .cta,
  #lp-bkan-display-display .cta { padding: 32px 20px; }
  #lp-bkan .cta__card,
  #lp-bkan-display-display .cta__card { padding: 32px 20px; }
  #lp-bkan .cta__btn-row,
  #lp-bkan-display-display .cta__btn-row { flex-direction: column; gap: 12px; }
  #lp-bkan .cta__btn-web,
  #lp-bkan .cta__btn-tel,
  #lp-bkan-display-display .cta__btn-web,
  #lp-bkan-display-display .cta__btn-tel { width: 100%; }
  #lp-bkan .worries__list { gap: 12px; }
  #lp-bkan .worries__item { padding: 16px 20px; }
  #lp-bkan .worries__item-icon { width: 64px; height: 64px; }
  #lp-bkan .worries__bottom { flex-direction: column; padding: 28px 24px; gap: 24px; }
  #lp-bkan .worries__bottom-photo { width: 100%; max-width: 320px; margin: 0 auto; order: -1; }
  #lp-bkan-display-display .worries__grid { grid-template-columns: 1fr; }
  #lp-bkan .reasons,
  #lp-bkan-display-display .reasons { padding: 48px 20px; overflow: hidden; }
  #lp-bkan .reason-item,
  #lp-bkan-display-display .reason-item { flex-direction: column !important; gap: 20px; }
  #lp-bkan .reason-item:nth-child(even),
  #lp-bkan-display-display .reason-item:nth-child(even) { flex-direction: column !important; }
  #lp-bkan .reason-item__photo-wrap,
  #lp-bkan-display-display .reason-item__photo-wrap { flex: none; width: 100%; }
  #lp-bkan .reason-item__accent,
  #lp-bkan-display-display .reason-item__accent { display: none; }
  #lp-bkan .reason-item__bg,
  #lp-bkan-display-display .reason-item__bg { font-size: 60px; }
  #lp-bkan .lawyers,
  #lp-bkan-display-display .lawyers { padding: 48px 20px; }
  #lp-bkan .lawyers__viewport,
  #lp-bkan-display-display .lawyers__viewport { overflow: hidden; }
  #lp-bkan .lawyer-card,
  #lp-bkan-display-display .lawyer-card { flex: 0 0 82%; }
  #lp-bkan .lawyers__track,
  #lp-bkan-display-display .lawyers__track { gap: 16px; }
  #lp-bkan .support,
  #lp-bkan-display-display .support { padding: 48px 20px; }
  #lp-bkan .support__grid,
  #lp-bkan-display-display .support__grid { grid-template-columns: 1fr; }
  #lp-bkan .cases,
  #lp-bkan-display-display .cases { padding: 48px 20px; }
  #lp-bkan .cases__carousel-wrap,
  #lp-bkan-display-display .cases__carousel-wrap { position: relative; }
  #lp-bkan .cases__prev,
  #lp-bkan .cases__next,
  #lp-bkan-display-display .cases__prev,
  #lp-bkan-display-display .cases__next {
    position: absolute; top: 22%; z-index: 10; width: 36px; height: 36px; font-size: 18px;
  }
  #lp-bkan .cases__prev,
  #lp-bkan-display-display .cases__prev { left: 4px; }
  #lp-bkan .cases__next,
  #lp-bkan-display-display .cases__next { right: 4px; }
  #lp-bkan .case-card,
  #lp-bkan-display-display .case-card { flex: 0 0 88%; }
  #lp-bkan .cases__track,
  #lp-bkan-display-display .cases__track { gap: 16px; }
  #lp-bkan .voices,
  #lp-bkan-display-display .voices { padding: 48px 20px; }
  #lp-bkan .voices__grid,
  #lp-bkan-display-display .voices__grid { grid-template-columns: 1fr; display: block; }
  #lp-bkan .voice-card,
  #lp-bkan-display-display .voice-card { margin-bottom: 10px; }
  #lp-bkan .fee,
  #lp-bkan-display-display .fee { padding: 48px 20px; }
  #lp-bkan .fee__table th,
  #lp-bkan .fee__table td,
  #lp-bkan-display-display .fee__table th,
  #lp-bkan-display-display .fee__table td { font-size: 16px; padding: 12px 10px; }
  #lp-bkan .fee__table td.fee__label,
  #lp-bkan-display-display .fee__table td.fee__label { width: 35%; }
  #lp-bkan .flow,
  #lp-bkan-display-display .flow { padding: 48px 20px; }
  #lp-bkan .flow__step-title,
  #lp-bkan-display-display .flow__step-title { font-size: 20px; }
  #lp-bkan .faq,
  #lp-bkan-display-display .faq { padding: 48px 20px; }
  #lp-bkan .faq__answer,
  #lp-bkan-display-display .faq__answer { padding: 0 16px 20px 20px; }
  #lp-bkan .access,
  #lp-bkan-display-display .access { padding: 48px 20px; }
  #lp-bkan .access__grid,
  #lp-bkan-display-display .access__grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  #lp-bkan .access__name,
  #lp-bkan-display-display .access__name { font-size: 16px; }
  #lp-bkan .access__detail,
  #lp-bkan-display-display .access__detail { font-size: 15px; }
  #lp-bkan .fee__inner,
  #lp-bkan .flow__inner,
  #lp-bkan .faq__inner,
  #lp-bkan .access__inner,
  #lp-bkan-display-display .fee__inner,
  #lp-bkan-display-display .flow__inner,
  #lp-bkan-display-display .faq__inner,
  #lp-bkan-display-display .access__inner { max-width: 100%; }
  #lp-bkan .fee__highlight strong, #lp-bkan-display-display .fee__highlight strong{font-size: 20px;}

  #lp-bkan .seido,
  #lp-bkan-display-display .seido { padding: 48px 20px; }
  #lp-bkan .seido__flow,
  #lp-bkan-display-display .seido__flow { flex-direction: column; align-items: stretch; }
  #lp-bkan .seido__arrow,
  #lp-bkan-display-display .seido__arrow { width: 100%; height: 40px; }
  #lp-bkan .seido__arrow::after,
  #lp-bkan-display-display .seido__arrow::after { content: '▼'; font-size: 22px; }

  #lp-bkan .worries__lawyer,
  #lp-bkan-display-display .worries__lawyer { grid-template-columns: 1fr; }
  #lp-bkan .worries__lawyer__photo-wrap,
  #lp-bkan-display-display .worries__lawyer__photo-wrap { min-height: 240px; }
  #lp-bkan .worries__lawyer__body,
  #lp-bkan-display-display .worries__lawyer__body { padding: 24px 24px 32px; }

  /* FV: モバイル切り替え */
  #lp-bkan .h3-message,
  #lp-bkan-display-display .h3-message { display: none; }
  #lp-bkan .lead-text,
  #lp-bkan-display-display .lead-text  { display: none; }
  #lp-bkan .h3-message--sp,
  #lp-bkan-display-display .h3-message--sp {
    display: block;
    font-size: 47px;
    text-align: center;
    font-weight: 700;
    line-height: 1.4;
    color: #fff;
    letter-spacing: 0.02em;
  }
  #lp-bkan .h3-message--sp em,
  #lp-bkan-display-display .h3-message--sp em { font-style: normal; color: #c9a84c; }
  #lp-bkan .lead-text--sp,
  #lp-bkan-display-display .lead-text--sp {
    display: block;
    font-size: 12px;
    line-height: 1.7;
    color: rgba(255,255,255,0.9);
  }
  #lp-bkan .lead-text--sp p,
  #lp-bkan-display-display .lead-text--sp p { margin-bottom: 3px; }
  /* バッジ: モバイル小サイズ */
  #lp-bkan .badge-icon,
  #lp-bkan-display-display .badge-icon { display: flex; justify-content: center; margin-bottom: 4px; }
  #lp-bkan .badge-icon img,
  #lp-bkan-display-display .badge-icon img { width: 50px; }
  #lp-bkan .badge-label,
  #lp-bkan-display-display .badge-label { font-size: 12px; color: #000; font-weight: 400; }
  #lp-bkan .badge-val,
  #lp-bkan-display-display .badge-val { font-size: 18px; font-weight: 700; color: #000; line-height: 1.3; }
}
