/* ==========================================================
   LP共通追加スタイル（遺品整理 / ゴミ屋敷清掃）
   style.css の後に読み込むこと
   ========================================================== */

/* ----- テーマ変数 ----- */
body.lp-ihin {
  --lp-main: #1e6b41;
  --lp-main-dark: #14512f;
  --lp-main-light: #eef7f0;
  --lp-accent: #b98d2f;
  --lp-accent-light: #f6efdd;
}

body.lp-gomi {
  --lp-main: #c2447c;
  --lp-main-dark: #8e2a58;
  --lp-main-light: #fdeef5;
  --lp-accent: #1a2f66;
  --lp-accent-light: #eef1fb;
}

body.lp-fuyohin {
  --lp-main: #2949B1;
  --lp-main-dark: #1240a0;
  --lp-main-light: #eef3fb;
  --lp-accent: #f07800;
  --lp-accent-light: #fff3e6;
}

/* ==============================
   FV（コーディング版）
   ============================== */
.lp-fv {
  position: relative;
  overflow: hidden;
  color: var(--text);
}

body.lp-ihin .lp-fv {
  background-color: #edf4ed;
  background-image:
    linear-gradient(rgba(247, 243, 232, .24), rgba(238, 247, 240, .38)),
    url(../img/sp/ihin_fv_bg.webp);
  background-size: cover, 100% auto;
  background-position: center, center top;
  background-repeat: no-repeat, no-repeat;
}

body.lp-gomi .lp-fv {
  background:
    repeating-linear-gradient(-45deg, rgba(255, 255, 255, .05) 0 14px, transparent 14px 28px),
    linear-gradient(150deg, #1a2f66 0%, #35256b 45%, #8e2a58 100%);
  color: var(--white);
}

.lp-fv__inner {
  max-width: 670px;
  width: calc(670 / 750 * 100%);
  margin: 0 auto;
  padding: calc(64 / 750 * 100vw) 0 calc(56 / 750 * 100vw);
  text-align: center;
}

/* FVマスコット（キャッチコピー右上のクマ） */
body.lp-gomi .lp-fv__inner {
  padding-top: calc(40 / 750 * 100vw);
}

.lp-fv__mascot {
  position: absolute;
  top: calc(20 / 750 * 100vw);
  right: calc(56 / 750 * 100vw);
  width: calc(150 / 750 * 100vw);
  z-index: 1;
}

.lp-fv__area {
  display: inline-block;
  font-size: calc(30 / 750 * 100vw);
  font-weight: 700;
  letter-spacing: .06em;
  padding: calc(8 / 750 * 100vw) calc(36 / 750 * 100vw);
  border-radius: 999px;
  margin-bottom: calc(28 / 750 * 100vw);
}

body.lp-ihin .lp-fv__area {
  background: var(--lp-main);
  color: var(--white);
}

body.lp-gomi .lp-fv__area {
  background: var(--yellow);
  color: var(--lp-accent);
}

.lp-fv__catch {
  font-size: calc(40 / 750 * 100vw);
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: calc(16 / 750 * 100vw);
}

/* ゴミ屋敷LPのFVは丸ゴシック（お助けうさぎ風） */
body.lp-gomi .lp-fv__catch,
body.lp-gomi .lp-fv__title,
body.lp-gomi .lp-fv__sub,
body.lp-gomi .lp-fv__badge {
  font-family: 'M PLUS Rounded 1c', 'Noto Sans JP', sans-serif;
}

body.lp-gomi .lp-fv__catch,
body.lp-gomi .lp-fv__sub {
  font-weight: 800;
}

body.lp-gomi .lp-fv__title {
  font-weight: 800;
}

body.lp-gomi .lp-fv__badge {
  font-weight: 800;
}

body.lp-ihin .lp-fv__catch {
  font-family: 'Noto Serif JP', serif;
  color: var(--lp-main-dark);
}

.lp-fv__title {
  font-weight: 900;
  font-size: calc(78 / 750 * 100vw);
  line-height: 1.28;
  margin-bottom: calc(20 / 750 * 100vw);
}

body.lp-ihin .lp-fv__title {
  font-family: 'Noto Serif JP', serif;
  color: var(--lp-main-dark);
}

body.lp-gomi .lp-fv__title {
  color: var(--white);
  text-shadow: 0 3px 0 rgba(0, 0, 0, .18);
}

.lp-fv__title-accent {
  color: var(--lp-accent);
}

body.lp-gomi .lp-fv__title-accent {
  color: var(--yellow);
}

.lp-fv__sub {
  font-size: calc(30 / 750 * 100vw);
  line-height: 1.6;
  font-weight: 700;
  margin-bottom: calc(40 / 750 * 100vw);
}

body.lp-gomi .lp-fv__sub {
  color: rgba(255, 255, 255, .92);
}

/* バッジ3連 */
.lp-fv__badges {
  display: flex;
  justify-content: center;
  gap: calc(24 / 750 * 100vw);
  margin-bottom: calc(44 / 750 * 100vw);
}

.lp-fv__badge {
  width: calc(200 / 750 * 100vw);
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: calc(26 / 750 * 100vw);
  line-height: 1.4;
  background: var(--white);
}

body.lp-ihin .lp-fv__badge {
  border: 3px solid var(--lp-main);
  color: var(--lp-main-dark);
  box-shadow: 0 4px 10px rgba(30, 107, 65, .18);
}

body.lp-gomi .lp-fv__badge {
  border: 3px solid var(--yellow);
  color: var(--lp-accent);
  box-shadow: 0 4px 12px rgba(0, 0, 0, .25);
}

.lp-fv__badge strong {
  font-size: calc(32 / 750 * 100vw);
  font-weight: 900;
}

.lp-fv__badge .color-red {
  font-weight: 900;
}

/* 料金訴求ストリップ */
.lp-fv__price {
  background: var(--white);
  border-radius: calc(16 / 750 * 100vw);
  padding: calc(24 / 750 * 100vw) calc(24 / 750 * 100vw);
  margin-bottom: calc(44 / 750 * 100vw);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(20 / 750 * 100vw);
  flex-wrap: wrap;
  font-weight: 700;
}

body.lp-ihin .lp-fv__price {
  border: 2px solid var(--lp-main);
}

body.lp-gomi .lp-fv__price {
  border: 3px solid var(--yellow);
  color: var(--text);
}

.lp-fv__price-label {
  font-size: calc(30 / 750 * 100vw);
  line-height: 1.4;
}

.lp-fv__price-num {
  font-size: calc(64 / 750 * 100vw);
  font-weight: 900;
  color: var(--red);
  line-height: 1;
}

.lp-fv__price-num small {
  font-size: calc(32 / 750 * 100vw);
  font-weight: 900;
}

.lp-fv__price-note {
  width: 100%;
  font-size: calc(22 / 750 * 100vw);
  font-weight: 400;
  color: #666;
}

/* FV CTAボタン（既存画像ボタンを流用） */
.lp-fv__btns {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(24 / 750 * 100vw);
  width: calc(600 / 670 * 100%);
  margin: 0 auto;
}

.lp-fv__btns .sec-fv__btn {
  animation: floating 2s ease-in-out infinite;
}

.lp-fv__btns .sec-fv__btn:nth-child(2) {
  animation-delay: .3s;
}

/* ==============================
   お悩みセクション（コーディング版）
   ============================== */
.lp-worry {
  background: var(--lp-main-light);
  padding: calc(80 / 750 * 100vw) 0;
}

.lp-worry__inner {
  max-width: 670px;
  width: calc(670 / 750 * 100%);
  margin: 0 auto;
}

.lp-worry__title {
  text-align: center;
  font-size: calc(48 / 750 * 100vw);
  font-weight: 900;
  line-height: 1.5;
  margin-bottom: calc(48 / 750 * 100vw);
}

.lp-worry__title .color-red {
  font-size: 1.15em;
}

body.lp-ihin .lp-worry__title {
  font-family: 'Noto Serif JP', serif;
  color: var(--lp-main-dark);
}

.lp-worry__list {
  background: var(--white);
  border-radius: calc(16 / 750 * 100vw);
  padding: calc(40 / 750 * 100vw) calc(36 / 750 * 100vw);
  box-shadow: 0 2px 10px rgba(0, 0, 0, .06);
}

.lp-worry__item {
  position: relative;
  padding-left: calc(56 / 750 * 100vw);
  font-size: calc(30 / 750 * 100vw);
  font-weight: 700;
  line-height: 1.55;
}

.lp-worry__item:not(:last-child) {
  margin-bottom: calc(28 / 750 * 100vw);
  padding-bottom: calc(28 / 750 * 100vw);
  border-bottom: 1px dashed #ddd;
}

.lp-worry__item::before {
  content: '';
  position: absolute;
  left: 0;
  top: calc(6 / 750 * 100vw);
  width: calc(36 / 750 * 100vw);
  height: calc(36 / 750 * 100vw);
  border-radius: 6px;
  background: var(--lp-main);
}

.lp-worry__item::after {
  content: '';
  position: absolute;
  left: calc(8 / 750 * 100vw);
  top: calc(12 / 750 * 100vw);
  width: calc(20 / 750 * 100vw);
  height: calc(12 / 750 * 100vw);
  border-left: 3px solid #fff;
  border-bottom: 3px solid #fff;
  transform: rotate(-45deg);
}

.lp-worry__closing {
  text-align: center;
  margin-top: calc(48 / 750 * 100vw);
  font-size: calc(38 / 750 * 100vw);
  font-weight: 900;
  line-height: 1.6;
}

body.lp-ihin .lp-worry__closing {
  font-family: 'Noto Serif JP', serif;
  color: var(--lp-main-dark);
}

.lp-worry__closing .color-red {
  font-size: 1.2em;
}

/* ==============================
   特徴・お約束（コーディング版）
   ============================== */
.lp-feature {
  background: var(--white);
  padding: calc(80 / 750 * 100vw) 0;
}

.lp-feature__inner {
  max-width: 670px;
  width: calc(670 / 750 * 100%);
  margin: 0 auto;
}

.lp-feature__title {
  text-align: center;
  font-size: calc(48 / 750 * 100vw);
  font-weight: 900;
  line-height: 1.5;
  margin-bottom: calc(20 / 750 * 100vw);
}

body.lp-ihin .lp-feature__title {
  font-family: 'Noto Serif JP', serif;
  color: var(--lp-main-dark);
}

.lp-feature__lead {
  text-align: center;
  font-size: calc(28 / 750 * 100vw);
  line-height: 1.7;
  margin-bottom: calc(48 / 750 * 100vw);
}

.lp-feature__item {
  display: flex;
  gap: calc(28 / 750 * 100vw);
  align-items: flex-start;
  background: var(--lp-main-light);
  border-radius: calc(16 / 750 * 100vw);
  padding: calc(32 / 750 * 100vw);
}

.lp-feature__item:not(:last-child) {
  margin-bottom: calc(24 / 750 * 100vw);
}

.lp-feature__num {
  flex-shrink: 0;
  width: calc(72 / 750 * 100vw);
  height: calc(72 / 750 * 100vw);
  border-radius: 50%;
  background: var(--lp-main);
  color: var(--white);
  font-weight: 900;
  font-size: calc(34 / 750 * 100vw);
  display: flex;
  align-items: center;
  justify-content: center;
}

.lp-feature__body h3 {
  font-size: calc(32 / 750 * 100vw);
  font-weight: 900;
  line-height: 1.5;
  margin-bottom: calc(8 / 750 * 100vw);
  color: var(--lp-main-dark);
}

.lp-feature__body p {
  font-size: calc(27 / 750 * 100vw);
  line-height: 1.7;
}

/* ==============================
   料金セクション（コーディング版）
   ============================== */
.lp-price {
  background: var(--lp-main-light);
  padding: calc(80 / 750 * 100vw) 0;
}

.lp-price__inner {
  max-width: 670px;
  width: calc(670 / 750 * 100%);
  margin: 0 auto;
}

.lp-price__table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--white);
  border: 2px solid var(--lp-main);
  border-radius: calc(12 / 750 * 100vw);
  overflow: hidden;
  font-size: calc(30 / 750 * 100vw);
}

.lp-price__table th,
.lp-price__table td {
  padding: calc(26 / 750 * 100vw) calc(28 / 750 * 100vw);
  text-align: left;
}

.lp-price__table thead th {
  background: var(--lp-main);
  color: var(--white);
  font-weight: 700;
}

.lp-price__table tbody tr:not(:last-child) th,
.lp-price__table tbody tr:not(:last-child) td {
  border-bottom: 1px solid #e3e3e3;
}

.lp-price__table tbody th {
  font-weight: 700;
  width: 38%;
  background: #fafaf7;
}

.lp-price__table tbody td {
  font-weight: 900;
  color: var(--red);
}

.lp-price__table tbody td small {
  font-weight: 400;
  color: #666;
  font-size: calc(22 / 750 * 100vw);
}

.lp-price__note {
  font-size: calc(26 / 750 * 100vw);
  line-height: 1.6;
  margin-top: calc(24 / 750 * 100vw);
}

/* ==============================
   共通調整
   ============================== */
.lp-section-note {
  text-align: center;
  font-size: calc(30 / 750 * 100vw);
  font-weight: 700;
  line-height: 1.7;
  margin-top: calc(40 / 750 * 100vw);
}

/* PC (768px~) */
@media screen and (min-width:768px) {
  body.lp-gomi .lp-fv__inner {
    padding-top: 40px;
  }

  .lp-fv__mascot {
    top: 20px;
    right: 56px;
    width: 150px;
  }

  .lp-fv__inner {
    padding: 64px 0 56px;
  }

  .lp-fv__area {
    font-size: 24px;
    padding: 8px 36px;
    margin-bottom: 28px;
  }

  .lp-fv__catch {
    font-size: 34px;
    margin-bottom: 16px;
  }

  .lp-fv__title {
    font-size: 72px;
    margin-bottom: 20px;
  }

  .lp-fv__sub {
    font-size: 26px;
    margin-bottom: 40px;
  }

  .lp-fv__badges {
    gap: 24px;
    margin-bottom: 44px;
  }

  .lp-fv__badge {
    width: 180px;
    font-size: 22px;
  }

  .lp-fv__badge strong {
    font-size: 27px;
  }

  .lp-fv__price {
    border-radius: 16px;
    padding: 24px;
    gap: 20px;
    margin-bottom: 44px;
  }

  .lp-fv__price-label {
    font-size: 26px;
  }

  .lp-fv__price-num {
    font-size: 56px;
  }

  .lp-fv__price-num small {
    font-size: 28px;
  }

  .lp-fv__price-note {
    font-size: 15px;
  }

  .lp-fv__btns {
    gap: 16px;
    width: min(78%, 520px);
  }

  .lp-worry {
    padding: 80px 0;
  }

  .lp-worry__title {
    font-size: 42px;
    margin-bottom: 48px;
  }

  .lp-worry__list {
    border-radius: 16px;
    padding: 40px 36px;
  }

  .lp-worry__item {
    padding-left: 52px;
    font-size: 26px;
  }

  .lp-worry__item:not(:last-child) {
    margin-bottom: 26px;
    padding-bottom: 26px;
  }

  .lp-worry__item::before {
    top: 4px;
    width: 32px;
    height: 32px;
  }

  .lp-worry__item::after {
    left: 7px;
    top: 10px;
    width: 18px;
    height: 10px;
  }

  .lp-worry__closing {
    margin-top: 48px;
    font-size: 32px;
  }

  .lp-feature {
    padding: 80px 0;
  }

  .lp-feature__title {
    font-size: 42px;
    margin-bottom: 20px;
  }

  .lp-feature__lead {
    font-size: 24px;
    margin-bottom: 48px;
  }

  .lp-feature__item {
    gap: 28px;
    border-radius: 16px;
    padding: 32px;
  }

  .lp-feature__item:not(:last-child) {
    margin-bottom: 24px;
  }

  .lp-feature__num {
    width: 64px;
    height: 64px;
    font-size: 28px;
  }

  .lp-feature__body h3 {
    font-size: 27px;
    margin-bottom: 8px;
  }

  .lp-feature__body p {
    font-size: 22px;
  }

  .lp-price {
    padding: 80px 0;
  }

  .lp-price__table {
    border-radius: 12px;
    font-size: 26px;
  }

  .lp-price__table th,
  .lp-price__table td {
    padding: 24px 28px;
  }

  .lp-price__table tbody td small {
    font-size: 16px;
  }

  .lp-price__note {
    font-size: 20px;
    margin-top: 24px;
  }

  .lp-section-note {
    font-size: 25px;
    margin-top: 40px;
  }
}

/* ==============================
   FV価格ブロック（お助けうさぎ風）
   ============================== */
.lp-fv__price2 {
  margin-bottom: calc(44 / 750 * 100vw);
  font-family: 'M PLUS Rounded 1c', 'Noto Sans JP', sans-serif;
}

.lp-fv__price2-main {
  background: var(--white);
  border-radius: calc(16 / 750 * 100vw) calc(16 / 750 * 100vw) 0 0;
  padding: calc(28 / 750 * 100vw) calc(24 / 750 * 100vw) calc(20 / 750 * 100vw);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(20 / 750 * 100vw);
}

.lp-fv__price2-web {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #17255c;
  font-weight: 800;
  font-size: calc(44 / 750 * 100vw);
  line-height: 1.1;
  flex-shrink: 0;
}

.lp-fv__price2-web-sub {
  font-size: calc(26 / 750 * 100vw);
  background: linear-gradient(transparent 55%, var(--yellow) 55%);
  padding: 0 calc(4 / 750 * 100vw);
}

.lp-fv__price2-badge {
  flex-shrink: 0;
  width: calc(120 / 750 * 100vw);
  height: calc(120 / 750 * 100vw);
  border-radius: 50%;
  background: var(--lp-main);
  color: var(--white);
  font-weight: 800;
  font-size: calc(24 / 750 * 100vw);
  line-height: 1.3;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.lp-fv__price2-num {
  color: #e0407a;
  font-weight: 800;
  font-size: calc(100 / 750 * 100vw);
  line-height: 1;
  display: flex;
  align-items: center;
  white-space: nowrap;
}

.lp-fv__price2-tax {
  display: inline-block;
  color: #e0407a;
  font-size: calc(28 / 750 * 100vw);
  font-weight: 800;
  line-height: 1.3;
  text-align: left;
  margin-left: calc(8 / 750 * 100vw);
}

.lp-fv__price2-note {
  background: var(--white);
  color: #666;
  font-size: calc(22 / 750 * 100vw);
  line-height: 1.5;
  padding: 0 calc(24 / 750 * 100vw) calc(20 / 750 * 100vw);
  text-align: center;
}

.lp-fv__price2-band {
  background: #17255c;
  color: var(--white);
  font-weight: 800;
  font-size: calc(32 / 750 * 100vw);
  line-height: 1.6;
  text-align: center;
  padding: calc(20 / 750 * 100vw) calc(16 / 750 * 100vw);
  border-radius: 0 0 calc(16 / 750 * 100vw) calc(16 / 750 * 100vw);
}

.lp-fv__price2-band strong {
  color: var(--yellow);
  font-size: calc(44 / 750 * 100vw);
}

@media screen and (min-width:768px) {
  .lp-fv__price2 {
    margin-bottom: 44px;
  }

  .lp-fv__price2-main {
    border-radius: 16px 16px 0 0;
    padding: 28px 24px 20px;
    gap: 20px;
  }

  .lp-fv__price2-web {
    font-size: 40px;
  }

  .lp-fv__price2-web-sub {
    font-size: 24px;
    padding: 0 4px;
  }

  .lp-fv__price2-badge {
    width: 110px;
    height: 110px;
    font-size: 22px;
  }

  .lp-fv__price2-num {
    font-size: 92px;
  }

  .lp-fv__price2-tax {
    font-size: 26px;
    margin-left: 8px;
  }

  .lp-fv__price2-note {
    font-size: 15px;
    padding: 0 24px 20px;
  }

  .lp-fv__price2-band {
    font-size: 28px;
    padding: 20px 16px;
    border-radius: 0 0 16px 16px;
  }

  .lp-fv__price2-band strong {
    font-size: 40px;
  }
}

/* ==============================
   FVビフォーアフター
   ============================== */
.lp-fv__ba {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(16 / 750 * 100vw);
  margin-bottom: calc(44 / 750 * 100vw);
}

.lp-fv__ba-item {
  position: relative;
  width: calc(285 / 750 * 100vw);
}

.lp-fv__ba-item img {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  display: block;
  border-radius: calc(14 / 750 * 100vw);
  border: 3px solid var(--white);
  box-shadow: 0 4px 12px rgba(0, 0, 0, .3);
}

.lp-fv__ba-label {
  position: absolute;
  top: calc(-12 / 750 * 100vw);
  left: calc(-8 / 750 * 100vw);
  z-index: 1;
  font-weight: 800;
  font-family: 'M PLUS Rounded 1c', 'Noto Sans JP', sans-serif;
  font-size: calc(26 / 750 * 100vw);
  line-height: 1;
  padding: calc(10 / 750 * 100vw) calc(20 / 750 * 100vw);
  border-radius: calc(8 / 750 * 100vw);
  box-shadow: 0 2px 6px rgba(0, 0, 0, .25);
}

.lp-fv__ba-label--before {
  background: #4a4a4a;
  color: var(--white);
}

.lp-fv__ba-label--after {
  background: var(--yellow);
  color: #333;
}

.lp-fv__ba-arrow {
  flex-shrink: 0;
  width: 0;
  height: 0;
  border-top: calc(18 / 750 * 100vw) solid transparent;
  border-bottom: calc(18 / 750 * 100vw) solid transparent;
  border-left: calc(26 / 750 * 100vw) solid var(--yellow);
  filter: drop-shadow(0 2px 3px rgba(0, 0, 0, .3));
}

@media screen and (min-width:768px) {
  .lp-fv__ba {
    gap: 16px;
    margin-bottom: 44px;
  }

  .lp-fv__ba-item {
    width: 270px;
  }

  .lp-fv__ba-item img {
    border-radius: 14px;
  }

  .lp-fv__ba-label {
    top: -12px;
    left: -8px;
    font-size: 22px;
    padding: 9px 18px;
    border-radius: 8px;
  }

  .lp-fv__ba-arrow {
    border-top-width: 16px;
    border-bottom-width: 16px;
    border-left-width: 24px;
  }
}

/* ==============================
   スタッフ紹介（責任を持って作業）
   ============================== */
.lp-staff {
  background: var(--white);
  padding: calc(80 / 750 * 100vw) 0;
}

.lp-staff__inner {
  max-width: 670px;
  width: calc(670 / 750 * 100%);
  margin: 0 auto;
  text-align: center;
}

.lp-staff__title {
  font-size: calc(48 / 750 * 100vw);
  font-weight: 900;
  line-height: 1.5;
  margin-bottom: calc(40 / 750 * 100vw);
}

body.lp-gomi .lp-staff__title,
body.lp-gomi .lp-staff__message {
  font-family: 'M PLUS Rounded 1c', 'Noto Sans JP', sans-serif;
}

.lp-staff__title .color-red {
  font-size: 1.15em;
}

.lp-staff__photo img {
  width: 100%;
  border-radius: calc(16 / 750 * 100vw);
  box-shadow: 0 6px 18px rgba(0, 0, 0, .18);
  display: block;
}

.lp-staff__message {
  margin-top: calc(36 / 750 * 100vw);
  font-size: calc(30 / 750 * 100vw);
  font-weight: 700;
  line-height: 1.9;
  text-align: center;
}

@media screen and (min-width:768px) {
  .lp-staff {
    padding: 80px 0;
  }

  .lp-staff__title {
    font-size: 42px;
    margin-bottom: 40px;
  }

  .lp-staff__photo img {
    border-radius: 16px;
  }

  .lp-staff__message {
    margin-top: 36px;
    font-size: 25px;
  }
}

/* スタッフ2名+一言インタビュー */
.lp-staff__member {
  margin-top: calc(48 / 750 * 100vw);
  text-align: left;
}

.lp-staff__quote {
  position: relative;
  background: #f6f6f6;
  border-radius: calc(14 / 750 * 100vw);
  padding: calc(28 / 750 * 100vw) calc(28 / 750 * 100vw);
  margin-top: calc(28 / 750 * 100vw);
}

.lp-staff__quote::before {
  content: '';
  position: absolute;
  top: calc(-14 / 750 * 100vw);
  left: calc(60 / 750 * 100vw);
  border-left: calc(14 / 750 * 100vw) solid transparent;
  border-right: calc(14 / 750 * 100vw) solid transparent;
  border-bottom: calc(16 / 750 * 100vw) solid #f6f6f6;
}

.lp-staff__quote-label {
  display: inline-block;
  background: var(--lp-main);
  color: var(--white);
  font-weight: 700;
  font-size: calc(22 / 750 * 100vw);
  line-height: 1;
  border-radius: 999px;
  padding: calc(8 / 750 * 100vw) calc(20 / 750 * 100vw);
  margin-bottom: calc(12 / 750 * 100vw);
}

.lp-staff__quote p {
  font-size: calc(28 / 750 * 100vw);
  line-height: 1.8;
}

@media screen and (min-width:768px) {
  .lp-staff__member {
    margin-top: 48px;
  }

  .lp-staff__quote {
    border-radius: 14px;
    padding: 24px 28px;
    margin-top: 26px;
  }

  .lp-staff__quote::before {
    top: -14px;
    left: 60px;
    border-left-width: 14px;
    border-right-width: 14px;
    border-bottom-width: 16px;
  }

  .lp-staff__quote-label {
    font-size: 15px;
    padding: 7px 18px;
    margin-bottom: 10px;
  }

  .lp-staff__quote p {
    font-size: 20px;
  }
}

/* ==============================
   メディア掲載
   ============================== */
.lp-media {
  background: #2d68cb;
  padding: calc(72 / 750 * 100vw) 0;
}

.lp-media img {
  width: 100%;
  display: block;
}

@media screen and (min-width:768px) {
  .lp-media {
    padding: 96px 0;
  }
}
/* ==============================
   PCワイドレイアウト（ゴミ屋敷LPのみ / 1024px〜）
   ============================== */
@media screen and (min-width:1024px) {

  body.lp-gomi .lp-fv,
  body.lp-gomi .lp-worry,
  body.lp-gomi .lp-staff,
  body.lp-gomi .lp-feature,
  body.lp-gomi .lp-price,
  body.lp-gomi .sec-faq {
    width: 100vw;
    margin-left: calc(50% - 50vw);
  }

  /* FV: 左テキスト+右Before/After */
  body.lp-gomi .lp-fv__inner {
    max-width: 1060px;
    width: 92%;
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    align-items: center;
    column-gap: 48px;
  }

  body.lp-gomi .lp-fv__head {
    grid-column: 1;
    grid-row: 1;
    text-align: left;
  }

  body.lp-gomi .lp-fv__title {
    font-size: 60px;
  }

  body.lp-gomi .lp-fv__catch {
    font-size: 30px;
  }

  body.lp-gomi .lp-fv__sub {
    font-size: 22px;
  }

  body.lp-gomi .lp-fv__ba {
    grid-column: 2;
    grid-row: 1;
    margin-bottom: 0;
  }

  body.lp-gomi .lp-fv__ba-item {
    width: 215px;
  }

  body.lp-gomi .lp-fv__price2 {
    grid-column: 1 / -1;
    width: 100%;
    max-width: 780px;
    margin: 44px auto 36px;
  }

  body.lp-gomi .lp-fv__btns {
    grid-column: 1 / -1;
    flex-direction: row;
    width: min(100%, 900px);
    gap: 24px;
  }

  body.lp-gomi .lp-fv__btns .sec-fv__btn {
    flex: 1;
  }

  body.lp-gomi .lp-fv__mascot {
    top: 24px;
    right: max(24px, calc(50% - 560px));
    width: 150px;
  }

  /* お悩み: 2列 */
  body.lp-gomi .lp-worry__inner {
    max-width: 1000px;
    width: 92%;
  }

  body.lp-gomi .lp-worry__list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 56px;
    padding: 40px 48px;
  }

  body.lp-gomi .lp-worry__item:nth-last-child(-n+2) {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
  }

  /* スタッフ: 2名横並び */
  body.lp-gomi .lp-staff__inner {
    max-width: 1000px;
    width: 92%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 36px;
  }

  body.lp-gomi .lp-staff__title,
  body.lp-gomi .lp-staff__message {
    grid-column: 1 / -1;
  }

  /* メディア掲載: 幅を合わせて拡大 */
  body.lp-gomi .lp-media {
    width: 100vw;
    margin-left: calc(50% - 50vw);
  }

  body.lp-gomi .lp-media img {
    max-width: 1000px;
    margin: 0 auto;
  }

  /* 3つの安心: 3カード横並び */
  body.lp-gomi .lp-feature__inner {
    max-width: 1000px;
    width: 92%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 24px;
  }

  body.lp-gomi .lp-feature__title,
  body.lp-gomi .lp-feature__lead {
    grid-column: 1 / -1;
  }

  body.lp-gomi .lp-feature__item {
    flex-direction: column;
    margin-bottom: 0 !important;
  }

  /* 料金・FAQ: 幅拡大 */
  body.lp-gomi .lp-price__inner {
    max-width: 940px;
    width: 92%;
  }

  body.lp-gomi .sec-faq__inner {
    max-width: 940px;
    width: 92%;
  }
}

/* ==============================
   パック料金比較表
   ============================== */
.lp-packs__scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.lp-packs {
  width: 100%;
  min-width: 640px;
  border-collapse: separate;
  border-spacing: 2px;
  font-family: 'M PLUS Rounded 1c', 'Noto Sans JP', sans-serif;
}

.lp-packs th,
.lp-packs td {
  padding: 12px 10px;
  text-align: center;
  vertical-align: middle;
  font-size: 13px;
  line-height: 1.5;
  background: var(--white);
}

.lp-packs__corner {
  background: transparent !important;
}

.lp-packs__pack {
  color: var(--white) !important;
  font-weight: 800;
  font-size: 15px !important;
  padding: 14px 8px !important;
  border-radius: 10px 10px 0 0;
}

.lp-packs__pack-en {
  color: var(--yellow);
  font-size: 1.5em;
  margin-right: 2px;
}

.lp-packs__pack--1 { background: #d886ab !important; }
.lp-packs__pack--2 { background: #cf6b96 !important; }
.lp-packs__pack--3 { background: #c2447c !important; }
.lp-packs__pack--4 { background: #8e2a58 !important; }

.lp-packs tbody th {
  background: #f0f0f0;
  font-weight: 700;
  white-space: nowrap;
  width: 78px;
}

.lp-packs tbody td {
  font-weight: 700;
}

.lp-packs tbody td small {
  font-weight: 400;
  font-size: 11px;
  color: #666;
}

.lp-packs__items {
  list-style: none;
  margin: 0;
  padding: 6px 8px;
  border-radius: 8px;
  text-align: left;
  font-weight: 700;
}

.lp-packs__items li {
  position: relative;
  padding-left: 14px;
  font-size: 12px;
  line-height: 1.6;
}

.lp-packs__items li::before {
  content: '・';
  position: absolute;
  left: 0;
}

.lp-packs__items--blue { background: #eaf4fd; }
.lp-packs__items--yellow { background: #fdf7dd; }
.lp-packs__items--pink { background: #fdeaf1; }

.lp-packs__plus {
  display: block;
  text-align: center;
  color: var(--red);
  font-weight: 900;
  line-height: 1.4;
}

.lp-packs__price-row td strong {
  color: #d81b60;
  font-weight: 800;
  font-size: 17px;
  line-height: 1.4;
}

.lp-packs__price-row th,
.lp-packs__price-row td {
  border-top: 2px solid #eee;
}

@media screen and (min-width:768px) {
  .lp-packs th,
  .lp-packs td {
    font-size: 14px;
    padding: 14px 12px;
  }

  .lp-packs__pack {
    font-size: 17px !important;
  }

  .lp-packs__items li {
    font-size: 13px;
  }

  .lp-packs__price-row td strong {
    font-size: 20px;
  }
}

/* ==============================
   パック料金カード（スマホ用・横スクロール廃止）
   ============================== */
.lp-packs-cards {
  display: flex;
  flex-direction: column;
  gap: 16px;
  font-family: 'M PLUS Rounded 1c', 'Noto Sans JP', sans-serif;
}

.lp-packs-card {
  background: var(--white);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
}

.lp-packs-card__head {
  color: var(--white);
  font-weight: 800;
  font-size: 17px;
  text-align: center;
  padding: 12px 8px;
}

.lp-packs-card--1 .lp-packs-card__head { background: #d886ab; }
.lp-packs-card--2 .lp-packs-card__head { background: #cf6b96; }
.lp-packs-card--3 .lp-packs-card__head { background: #c2447c; }
.lp-packs-card--4 .lp-packs-card__head { background: #8e2a58; }

.lp-packs-card__meta {
  padding: 12px 14px 4px;
}

.lp-packs-card__meta > div {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 8px;
}

.lp-packs-card__label {
  flex-shrink: 0;
  background: #f0f0f0;
  color: #555;
  font-size: 11px;
  font-weight: 700;
  border-radius: 6px;
  padding: 3px 8px;
  min-width: 58px;
  text-align: center;
}

.lp-packs-card__items {
  padding: 0 14px 10px;
}

.lp-packs-card__items .lp-packs__items li {
  font-size: 13px;
}

.lp-packs-card__price {
  background: #fdeaf1;
  color: #d81b60;
  font-weight: 800;
  font-size: 18px;
  text-align: center;
  padding: 10px 8px;
}

/* 表示切り替え: スマホ=カード / PC=比較表 */
@media screen and (max-width:767px) {
  .lp-packs__scroll {
    display: none;
  }
}

@media screen and (min-width:768px) {
  .lp-packs-cards {
    display: none;
  }
}

/* パック料金: メール問い合わせボタン */
.lp-packs__cta {
  display: block;
  background: var(--orange);
  color: var(--white);
  font-weight: 800;
  font-family: 'M PLUS Rounded 1c', 'Noto Sans JP', sans-serif;
  text-align: center;
  border-radius: 999px;
  padding: 11px 10px;
  font-size: 14px;
  line-height: 1.2;
  position: relative;
  box-shadow: 0 3px 0 #c46200;
  transition: opacity .2s, transform .2s;
}

.lp-packs__cta:hover {
  opacity: .9;
  transform: translateY(1px);
}

.lp-packs__cta::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 14px;
  width: 7px;
  height: 7px;
  border-right: 2px solid var(--white);
  border-bottom: 2px solid var(--white);
  transform: translateY(-50%) rotate(-45deg);
}

.lp-packs-card__cta-wrap {
  padding: 12px 14px 16px;
  background: #fdeaf1;
}

.lp-packs-card__price {
  padding-bottom: 4px;
}

.lp-packs__cta--table {
  margin-top: 10px;
  font-size: 12px;
  padding: 9px 8px;
}

.lp-packs__cta--table::after {
  right: 10px;
  width: 6px;
  height: 6px;
}

/* ==============================
   ハウスクリーニング無料キャンペーン
   ============================== */
.lp-campaign2 {
  background: var(--white);
  padding: calc(40 / 750 * 100vw) calc(24 / 750 * 100vw);
}

.lp-campaign2 img {
  width: 100%;
  display: block;
  border-radius: calc(16 / 750 * 100vw);
  box-shadow: 0 4px 14px rgba(0, 0, 0, .12);
}

@media screen and (min-width:768px) {
  .lp-campaign2 {
    padding: 48px 24px;
  }

  .lp-campaign2 img {
    border-radius: 16px;
  }
}

@media screen and (min-width:1024px) {
  body.lp-gomi .lp-campaign2 {
    width: 100vw;
    margin-left: calc(50% - 50vw);
  }

  body.lp-gomi .lp-campaign2 img {
    max-width: 1000px;
    margin: 0 auto;
  }
}

/* ==============================
   FV左上バッジ（各市町村と提携）
   ============================== */
.lp-fv__partner {
  position: absolute;
  top: calc(16 / 750 * 100vw);
  left: calc(16 / 750 * 100vw);
  width: calc(160 / 750 * 100vw);
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: var(--yellow);
  color: #17255c;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-family: 'M PLUS Rounded 1c', 'Noto Sans JP', sans-serif;
  font-weight: 800;
  font-size: calc(24 / 750 * 100vw);
  line-height: 1.4;
  transform: rotate(-8deg);
  box-shadow: 0 3px 10px rgba(0, 0, 0, .28);
  z-index: 1;
}

@media screen and (min-width:768px) {
  .lp-fv__partner {
    top: 16px;
    left: 16px;
    width: 150px;
    font-size: 22px;
  }
}

@media screen and (min-width:1024px) {
  body.lp-gomi .lp-fv__partner {
    top: 32px;
    left: calc(50% + 95px);
    width: 112px;
    font-size: 17px;
  }

  body.lp-gomi .lp-fv__inner {
    padding-top: 48px;
  }
}

/* CTAメールボタン下の案内文（画像下の帯） */
.c-cta-note {
  background: #17255c;
  color: var(--white);
  font-size: calc(26 / 750 * 100vw);
  font-weight: 700;
  line-height: 1.7;
  text-align: center;
  padding: calc(20 / 750 * 100vw) calc(16 / 750 * 100vw);
  margin: 0;
}

@media screen and (min-width:768px) {
  .c-cta-note {
    font-size: 15px;
    padding: 14px 16px;
  }

  .c-cta-note br {
    display: none;
  }
}

/* ==============================
   PC文字サイズ適正化（ゴミ屋敷LP / 1024px〜）
   基本料金に含まれるサービス以下のテキストセクション
   ============================== */
@media screen and (min-width:1024px) {

  /* 基本料金に含まれるサービス */
  body.lp-gomi .sec-price__service {
    padding: 48px 0;
  }

  body.lp-gomi .sec-price__service-inner {
    max-width: 680px;
  }

  body.lp-gomi .sec-price__service .sec-ttl {
    font-size: 32px;
    padding-bottom: 20px;
  }

  body.lp-gomi .sec-price__service-list {
    margin-bottom: 36px;
  }

  body.lp-gomi .sec-price__service-item {
    font-size: 20px;
    line-height: 1.6;
    padding-left: 34px;
  }

  body.lp-gomi .sec-price__service-item:not(:last-child) {
    margin-bottom: 10px;
  }

  body.lp-gomi .sec-price__service-item::before {
    width: 22px;
    height: 22px;
    top: 4px;
  }

  body.lp-gomi .sec-price__service-description {
    font-size: 22px;
    line-height: 1.6;
  }

  /* 料金セクションの見出し・リード */
  body.lp-gomi .lp-price .sec-ttl {
    font-size: 36px;
  }

  body.lp-gomi .sec-price__description {
    font-size: 21px;
    margin-bottom: 36px;
  }

  body.lp-gomi .lp-price__note {
    font-size: 15px;
  }

  /* 対応エリア */
  body.lp-gomi .sec-area .sec-ttl {
    font-size: 34px;
    padding-bottom: 24px;
  }

  body.lp-gomi .sec-area__description {
    font-size: 19px;
    margin-bottom: 28px;
  }

  body.lp-gomi .sec-area__head {
    font-size: 21px;
    padding: 12px 24px;
  }

  body.lp-gomi .sec-area__area-detail {
    font-size: 16px;
    padding: 20px 24px;
    line-height: 1.8;
  }

  body.lp-gomi .sec-area__note {
    font-size: 15px;
  }

  /* 先延ばしにすると */
  body.lp-gomi .sec-campaign .sec-ttl {
    font-size: 34px;
    padding-bottom: 24px;
  }

  body.lp-gomi .sec-campaign__list-item {
    font-size: 17px;
    line-height: 1.7;
    padding-left: 20px;
  }

  body.lp-gomi .sec-campaign__copy {
    font-size: 24px;
    line-height: 1.7;
    margin-top: 32px;
  }

  body.lp-gomi .sec-campaign__icon {
    width: 90px;
  }

  /* FAQ */
  body.lp-gomi .sec-faq .sec-ttl {
    font-size: 34px;
    padding-bottom: 24px;
  }

  body.lp-gomi .c-faq__item {
    padding: 22px 0;
    gap: 12px;
  }

  body.lp-gomi .c-faq__icon {
    width: 26px;
  }

  body.lp-gomi .c-faq__q .c-faq__text {
    font-size: 19px;
  }

  body.lp-gomi .c-faq__text {
    font-size: 16px;
    line-height: 1.7;
  }

  /* 対応バナー(インボイス等) */
  body.lp-gomi .c-enable__icon {
    width: 80px;
  }

  body.lp-gomi .c-enable__text {
    font-size: 20px;
  }

  body.lp-gomi .c-enable__text--light {
    font-size: 16px;
  }
}

/* ==============================
   作業事例・お客様の声カード
   ============================== */
.lp-cases__title {
  margin-top: calc(80 / 750 * 100vw);
}

.lp-case {
  background: var(--white);
  border-radius: calc(16 / 750 * 100vw);
  padding: calc(36 / 750 * 100vw) calc(32 / 750 * 100vw);
  margin-top: calc(40 / 750 * 100vw);
  box-shadow: 0 2px 10px rgba(0, 0, 0, .07);
}

.lp-case__head {
  display: flex;
  align-items: center;
  gap: calc(20 / 750 * 100vw);
  padding-bottom: calc(24 / 750 * 100vw);
  border-bottom: 1px solid #eee;
  flex-wrap: wrap;
}

.lp-case__avatar {
  width: calc(90 / 750 * 100vw);
  height: calc(90 / 750 * 100vw);
  border-radius: 50%;
  flex-shrink: 0;
}

.lp-case__who {
  flex-grow: 1;
}

.lp-case__name {
  font-size: calc(32 / 750 * 100vw);
  font-weight: 800;
}

.lp-case__meta {
  font-size: calc(24 / 750 * 100vw);
  color: #888;
}

.lp-case__tags {
  display: flex;
  gap: calc(12 / 750 * 100vw);
}

.lp-case__tag {
  display: inline-block;
  font-size: calc(22 / 750 * 100vw);
  font-weight: 700;
  color: var(--white);
  border-radius: 999px;
  padding: calc(8 / 750 * 100vw) calc(22 / 750 * 100vw);
  white-space: nowrap;
}

.lp-case__tag--blue { background: #2f6fe4; }
.lp-case__tag--dark { background: #222; }

.lp-case__title {
  color: #2f6fe4;
  font-size: calc(32 / 750 * 100vw);
  font-weight: 800;
  line-height: 1.6;
  margin-top: calc(28 / 750 * 100vw);
}

.lp-case__body {
  font-size: calc(26 / 750 * 100vw);
  line-height: 1.9;
  margin-top: calc(16 / 750 * 100vw);
}

.lp-case__photos {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(16 / 750 * 100vw);
  margin-top: calc(28 / 750 * 100vw);
}

.lp-case__photo {
  position: relative;
  flex: 1;
  max-width: 48%;
}

.lp-case__photos--single .lp-case__photo {
  max-width: 72%;
}

.lp-case__photo img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  display: block;
  border-radius: calc(12 / 750 * 100vw);
}

.lp-case__pl {
  position: absolute;
  top: calc(-8 / 750 * 100vw);
  font-weight: 800;
  font-size: calc(22 / 750 * 100vw);
  line-height: 1;
  padding: calc(10 / 750 * 100vw) calc(20 / 750 * 100vw);
  border-radius: 999px;
  z-index: 1;
}

.lp-case__pl--b {
  left: calc(-6 / 750 * 100vw);
  background: #17255c;
  color: var(--white);
}

.lp-case__pl--a {
  right: calc(-6 / 750 * 100vw);
  left: auto;
  background: var(--white);
  color: #17255c;
  box-shadow: 0 2px 6px rgba(0, 0, 0, .2);
}

.lp-case__parrow {
  flex-shrink: 0;
  width: 0;
  height: 0;
  border-top: calc(14 / 750 * 100vw) solid transparent;
  border-bottom: calc(14 / 750 * 100vw) solid transparent;
  border-left: calc(20 / 750 * 100vw) solid #2f6fe4;
}

.lp-case__spec {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(8 / 750 * 100vw);
  margin-top: calc(32 / 750 * 100vw);
}

.lp-case__spec-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 2px;
}

.lp-case__spec-table th {
  background: #2f6fe4;
  color: var(--white);
  font-size: calc(24 / 750 * 100vw);
  font-weight: 700;
  padding: calc(14 / 750 * 100vw) calc(8 / 750 * 100vw);
  border-radius: calc(8 / 750 * 100vw) calc(8 / 750 * 100vw) 0 0;
}

.lp-case__spec-table td {
  background: #f7f8fb;
  text-align: center;
  font-size: calc(26 / 750 * 100vw);
  font-weight: 700;
  padding: calc(18 / 750 * 100vw) calc(8 / 750 * 100vw);
}

.lp-case__eq {
  font-weight: 900;
  color: #9db3d0;
  font-size: calc(36 / 750 * 100vw);
  line-height: 1;
}

.lp-case__total {
  width: 100%;
  border-radius: calc(10 / 750 * 100vw);
  overflow: hidden;
  text-align: center;
}

.lp-case__total-head {
  display: block;
  background: #2f6fe4;
  color: var(--white);
  font-size: calc(24 / 750 * 100vw);
  font-weight: 700;
  padding: calc(12 / 750 * 100vw) 0;
}

.lp-case__total-num {
  display: block;
  background: #f7f8fb;
  color: #d81b60;
  font-size: calc(52 / 750 * 100vw);
  font-weight: 900;
  padding: calc(14 / 750 * 100vw) 0;
}

.lp-case__total-num small {
  font-size: calc(26 / 750 * 100vw);
  color: var(--text);
  font-weight: 700;
  margin-left: calc(8 / 750 * 100vw);
}

.lp-case__items {
  display: flex;
  align-items: flex-start;
  gap: calc(16 / 750 * 100vw);
  background: #f5f6f8;
  border-radius: calc(10 / 750 * 100vw);
  padding: calc(18 / 750 * 100vw) calc(20 / 750 * 100vw);
  margin-top: calc(20 / 750 * 100vw);
  font-size: calc(24 / 750 * 100vw);
  line-height: 1.7;
}

.lp-case__items-label {
  flex-shrink: 0;
  color: #2f6fe4;
  font-weight: 800;
}

.lp-case__comment {
  display: flex;
  align-items: flex-end;
  gap: calc(20 / 750 * 100vw);
  margin-top: calc(24 / 750 * 100vw);
}

.lp-case__comment-text {
  flex-grow: 1;
  background: #fdf6de;
  border-radius: calc(12 / 750 * 100vw);
  padding: calc(24 / 750 * 100vw);
  font-size: calc(24 / 750 * 100vw);
  line-height: 1.8;
}

.lp-case__comment-bear {
  flex-shrink: 0;
  width: calc(130 / 750 * 100vw);
  text-align: center;
}

.lp-case__comment-bear img {
  width: 100%;
}

.lp-case__comment-bear span {
  display: block;
  font-size: calc(20 / 750 * 100vw);
  font-weight: 700;
  margin-top: calc(6 / 750 * 100vw);
}

@media screen and (min-width:768px) {
  .lp-cases__title {
    margin-top: 72px;
  }

  .lp-case {
    border-radius: 16px;
    padding: 32px 36px;
    margin-top: 36px;
  }

  .lp-case__head {
    gap: 18px;
    padding-bottom: 20px;
  }

  .lp-case__avatar { width: 64px; height: 64px; }
  .lp-case__name { font-size: 21px; }
  .lp-case__meta { font-size: 14px; }
  .lp-case__tags { gap: 10px; }
  .lp-case__tag { font-size: 14px; padding: 7px 18px; }
  .lp-case__title { font-size: 22px; margin-top: 22px; }
  .lp-case__body { font-size: 15px; margin-top: 12px; }

  .lp-case__photos { gap: 20px; margin-top: 24px; }
  .lp-case__photo { max-width: 320px; }
  .lp-case__photos--single .lp-case__photo { max-width: 340px; }
  .lp-case__photo img { border-radius: 12px; }
  .lp-case__pl { top: -8px; font-size: 14px; padding: 8px 16px; }
  .lp-case__pl--b { left: -6px; }
  .lp-case__pl--a { right: -6px; }
  .lp-case__parrow { border-top-width: 12px; border-bottom-width: 12px; border-left-width: 18px; }

  .lp-case__spec {
    flex-direction: row;
    align-items: stretch;
    gap: 14px;
    margin-top: 28px;
  }

  .lp-case__spec-table { flex: 1.4; }
  .lp-case__spec-table th { font-size: 14px; padding: 10px 6px; border-radius: 8px 8px 0 0; }
  .lp-case__spec-table td { font-size: 16px; padding: 14px 6px; }
  .lp-case__eq { align-self: center; font-size: 26px; }
  .lp-case__total { flex: 1; width: auto; border-radius: 10px; }
  .lp-case__total-head { font-size: 14px; padding: 10px 0; }
  .lp-case__total-num { font-size: 32px; padding: 10px 0; }
  .lp-case__total-num small { font-size: 15px; }

  .lp-case__items { gap: 14px; padding: 12px 16px; margin-top: 16px; font-size: 14px; border-radius: 10px; }
  .lp-case__comment { gap: 18px; margin-top: 20px; }
  .lp-case__comment-text { font-size: 14px; padding: 16px 20px; border-radius: 12px; }
  .lp-case__comment-bear { width: 90px; }
  .lp-case__comment-bear span { font-size: 12px; }
}

/* FVチップ(即日対応) */
body.lp-gomi .lp-fv__area {
  font-size: calc(26 / 750 * 100vw);
  margin-top: calc(8 / 750 * 100vw);
}

@media screen and (min-width:768px) {
  body.lp-gomi .lp-fv__area {
    font-size: 22px;
    margin-top: 6px;
  }
}

/* 遺品整理FVチップ(処分も買取も) 少し大きく */
body.lp-ihin .lp-fv__area {
  font-size: calc(36 / 750 * 100vw);
  padding: calc(12 / 750 * 100vw) calc(44 / 750 * 100vw);
}

@media screen and (min-width:768px) {
  body.lp-ihin .lp-fv__area {
    font-size: 28px;
    padding: 12px 44px;
  }
}

/* 遺品整理LPのスタッフ見出しは明朝 */
body.lp-ihin .lp-staff__title {
  font-family: 'Noto Serif JP', serif;
  color: var(--lp-main-dark);
}

/* ==============================
   主な買取品（遺品整理LP）
   ============================== */
.lp-kaitori {
  background: var(--lp-accent-light, #f6efdd);
  padding: calc(80 / 750 * 100vw) 0;
}

.lp-kaitori__inner {
  max-width: 670px;
  width: calc(670 / 750 * 100%);
  margin: 0 auto;
}

.lp-kaitori__title {
  text-align: center;
  font-size: calc(48 / 750 * 100vw);
  font-weight: 900;
  line-height: 1.5;
  margin-bottom: calc(40 / 750 * 100vw);
}

body.lp-ihin .lp-kaitori__title {
  font-family: 'Noto Serif JP', serif;
  color: var(--lp-main-dark);
}

body.lp-fuyohin .lp-kaitori__title {
  color: var(--lp-main-dark);
}

.lp-kaitori__img img {
  width: 100%;
  display: block;
  border-radius: calc(14 / 750 * 100vw);
  box-shadow: 0 4px 14px rgba(0, 0, 0, .14);
}

.lp-kaitori__img + .lp-kaitori__img {
  margin-top: calc(28 / 750 * 100vw);
}

@media screen and (min-width:768px) {
  .lp-kaitori {
    padding: 72px 0;
  }

  .lp-kaitori__title {
    font-size: 38px;
    margin-bottom: 36px;
  }

  .lp-kaitori__img img {
    border-radius: 14px;
  }

  .lp-kaitori__img + .lp-kaitori__img {
    margin-top: 24px;
  }
}

/* ==============================
   作業実例カード：遺品整理向けバリエーション
   ============================== */
.lp-cases {
  margin-top: calc(16 / 750 * 100vw);
}

/* 横長写真（ベイクドラベル入りなので独自ラベルは出さない） */
.lp-case--land .lp-case__photo img {
  aspect-ratio: 4 / 3;
}

.lp-case__tag--green {
  background: var(--lp-main);
}

/* 遺品整理カラー（緑系） */
.lp-case--ihin .lp-case__title {
  color: var(--lp-main-dark);
  font-family: 'Noto Serif JP', serif;
}

.lp-case--ihin .lp-case__parrow {
  border-left-color: var(--lp-main);
}

.lp-case--ihin .lp-case__spec-table th {
  background: var(--lp-main);
}

.lp-case--ihin .lp-case__eq {
  color: #a7c3ad;
}

.lp-case--ihin .lp-case__total-head {
  background: var(--lp-main);
}

.lp-case--ihin .lp-case__items-label {
  color: var(--lp-main-dark);
}

/* ==============================
   遺品整理FV：クマ＋四角吹き出し見出し
   ============================== */
.lp-fv__intro {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(12 / 750 * 100vw);
  margin-bottom: calc(44 / 750 * 100vw);
}

.lp-fv__intro-bear {
  flex-shrink: 0;
  width: calc(170 / 750 * 100vw);
}

.lp-fv__intro-bear img {
  width: 100%;
  display: block;
}

.lp-fv__intro-bubble {
  position: relative;
  flex: 1;
  max-width: calc(440 / 750 * 100vw);
  background: var(--white);
  border: 3px solid var(--lp-main);
  border-radius: calc(16 / 750 * 100vw);
  padding: calc(24 / 750 * 100vw) calc(28 / 750 * 100vw);
  text-align: center;
}

/* 吹き出しの尾（クマ側＝左向き） */
.lp-fv__intro-bubble::before,
.lp-fv__intro-bubble::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 100%;
  transform: translateY(-50%);
  border-style: solid;
}

.lp-fv__intro-bubble::before {
  border-width: calc(16 / 750 * 100vw);
  border-color: transparent var(--lp-main) transparent transparent;
}

.lp-fv__intro-bubble::after {
  margin-right: calc(-4 / 750 * 100vw);
  border-width: calc(13 / 750 * 100vw);
  border-color: transparent var(--white) transparent transparent;
}

.lp-fv__intro-lead {
  display: inline-block;
  font-size: calc(24 / 750 * 100vw);
  font-weight: 700;
  color: var(--lp-main);
  margin-bottom: calc(8 / 750 * 100vw);
}

.lp-fv__intro-ttl {
  font-family: 'Noto Serif JP', serif;
  font-size: calc(38 / 750 * 100vw);
  font-weight: 900;
  line-height: 1.4;
  color: var(--lp-main-dark);
}

.lp-fv__intro-ttl .color-red {
  font-size: 1.15em;
}

@media screen and (min-width:768px) {
  .lp-fv__intro {
    gap: 12px;
    margin-bottom: 44px;
  }

  .lp-fv__intro-bear {
    width: 150px;
  }

  .lp-fv__intro-bubble {
    max-width: 420px;
    border-radius: 16px;
    padding: 22px 28px;
  }

  .lp-fv__intro-bubble::before {
    border-width: 15px;
  }

  .lp-fv__intro-bubble::after {
    margin-right: -4px;
    border-width: 12px;
  }

  .lp-fv__intro-lead {
    font-size: 17px;
    margin-bottom: 6px;
  }

  .lp-fv__intro-ttl {
    font-size: 30px;
  }
}

/* 遺品整理FV：ここが違う4ポイント */
.lp-fv__points {
  list-style: none;
  margin: 0 auto calc(44 / 750 * 100vw);
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: calc(16 / 750 * 100vw);
  max-width: calc(600 / 750 * 100%);
}

.lp-fv__point {
  display: flex;
  align-items: center;
  gap: calc(20 / 750 * 100vw);
  background: var(--white);
  border: 2px solid var(--lp-main);
  border-radius: calc(14 / 750 * 100vw);
  padding: calc(22 / 750 * 100vw) calc(28 / 750 * 100vw);
  box-shadow: 0 2px 6px rgba(30, 107, 65, .12);
}

.lp-fv__point-no {
  flex-shrink: 0;
  width: calc(56 / 750 * 100vw);
  height: calc(56 / 750 * 100vw);
  border-radius: 50%;
  background: var(--lp-main);
  color: var(--white);
  font-family: 'Noto Serif JP', serif;
  font-weight: 900;
  font-size: calc(32 / 750 * 100vw);
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.lp-fv__point-text {
  flex-grow: 1;
  text-align: left;
  font-size: calc(30 / 750 * 100vw);
  font-weight: 700;
  line-height: 1.45;
  color: var(--lp-main-dark);
}

.lp-fv__point-text .color-red {
  font-size: 1.08em;
}

@media screen and (min-width:768px) {
  .lp-fv__points {
    margin-bottom: 44px;
    gap: 14px;
    max-width: 560px;
  }

  .lp-fv__point {
    gap: 18px;
    border-radius: 14px;
    padding: 18px 26px;
  }

  .lp-fv__point-no {
    width: 46px;
    height: 46px;
    font-size: 26px;
  }

  .lp-fv__point-text {
    font-size: 21px;
  }
}

/* ==============================
   PCワイドレイアウト（遺品整理LP / 1024px〜）ゴミ屋敷LPと同じサイズ感
   ============================== */
@media screen and (min-width:1024px) {

  body.lp-ihin .lp-fv,
  body.lp-ihin .lp-kaitori,
  body.lp-ihin .lp-staff,
  body.lp-ihin .lp-worry,
  body.lp-ihin .lp-feature,
  body.lp-ihin .lp-price,
  body.lp-ihin .sec-examples,
  body.lp-ihin .sec-faq {
    width: 100vw;
    margin-left: calc(50% - 50vw);
  }

  /* FV背景：PCは横幅いっぱい（全写真表示） */
  body.lp-ihin .lp-fv {
    background-color: #edf4ed;
    background-position: center, center top;
    background-size: cover, 100% auto;
  }

  /* FV */
  body.lp-ihin .lp-fv__inner {
    max-width: 1000px;
    width: 92%;
    padding-top: 56px;
  }

  body.lp-ihin .lp-fv__catch {
    font-size: 28px;
  }

  body.lp-ihin .lp-fv__title {
    font-size: 56px;
  }

  body.lp-ihin .lp-fv__sub {
    font-size: 20px;
  }

  body.lp-ihin .lp-fv__intro {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
  }

  body.lp-ihin .lp-fv__points {
    max-width: 820px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
  }

  body.lp-ihin .lp-fv__point:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    max-width: 50%;
    margin: 0 auto;
    width: 100%;
  }

  body.lp-ihin .lp-fv__price2 {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
  }

  body.lp-ihin .lp-fv__btns {
    flex-direction: row;
    width: min(100%, 760px);
    gap: 20px;
  }

  body.lp-ihin .lp-fv__btns .sec-fv__btn {
    flex: 1;
  }

  /* 主な買取品 */
  body.lp-ihin .lp-kaitori__inner {
    max-width: 760px;
    width: 92%;
  }

  /* お悩み：2列 */
  body.lp-ihin .lp-worry__inner {
    max-width: 1000px;
    width: 92%;
  }

  body.lp-ihin .lp-worry__list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 56px;
    padding: 40px 48px;
  }

  body.lp-ihin .lp-worry__item:nth-last-child(-n+2) {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
  }

  /* スタッフ：2名横並び */
  body.lp-ihin .lp-staff__inner {
    max-width: 1000px;
    width: 92%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 36px;
  }

  body.lp-ihin .lp-staff__title,
  body.lp-ihin .lp-staff__message {
    grid-column: 1 / -1;
  }

  /* 3つのお約束：3カード横並び */
  body.lp-ihin .lp-feature__inner {
    max-width: 1000px;
    width: 92%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 24px;
  }

  body.lp-ihin .lp-feature__title,
  body.lp-ihin .lp-feature__lead {
    grid-column: 1 / -1;
  }

  body.lp-ihin .lp-feature__item {
    flex-direction: column;
    margin-bottom: 0 !important;
  }

  /* 料金・作業実例・FAQ：幅拡大 */
  body.lp-ihin .lp-price__inner {
    max-width: 940px;
    width: 92%;
  }

  body.lp-ihin .sec-examples__inner {
    max-width: 940px;
    width: 92%;
  }

  body.lp-ihin .sec-faq__inner {
    max-width: 940px;
    width: 92%;
  }

  /* 基本料金に含まれるサービス */
  body.lp-ihin .sec-price__service-inner {
    max-width: 680px;
  }

  body.lp-ihin .sec-price__service .sec-ttl {
    font-size: 32px;
    padding-bottom: 20px;
  }

  body.lp-ihin .sec-price__service-item {
    font-size: 20px;
    line-height: 1.6;
    padding-left: 34px;
  }

  body.lp-ihin .sec-price__service-item::before {
    width: 22px;
    height: 22px;
    top: 4px;
  }

  body.lp-ihin .sec-price__service-description {
    font-size: 22px;
    line-height: 1.6;
  }

  body.lp-ihin .lp-price .sec-ttl {
    font-size: 36px;
  }

  body.lp-ihin .sec-price__description {
    font-size: 21px;
    margin-bottom: 36px;
  }

  body.lp-ihin .lp-price__note {
    font-size: 15px;
  }

  /* 対応エリア */
  body.lp-ihin .sec-area .sec-ttl {
    font-size: 34px;
    padding-bottom: 24px;
  }

  body.lp-ihin .sec-area__description {
    font-size: 19px;
    margin-bottom: 28px;
  }

  body.lp-ihin .sec-area__head {
    font-size: 21px;
    padding: 12px 24px;
  }

  body.lp-ihin .sec-area__area-detail {
    font-size: 16px;
    padding: 20px 24px;
    line-height: 1.8;
  }

  body.lp-ihin .sec-area__note {
    font-size: 15px;
  }

  /* 先延ばしにすると */
  body.lp-ihin .sec-campaign .sec-ttl {
    font-size: 34px;
    padding-bottom: 24px;
  }

  body.lp-ihin .sec-campaign__list-item {
    font-size: 17px;
    line-height: 1.7;
    padding-left: 20px;
  }

  body.lp-ihin .sec-campaign__copy {
    font-size: 24px;
    line-height: 1.7;
    margin-top: 32px;
  }

  body.lp-ihin .sec-campaign__icon {
    width: 90px;
  }

  /* FAQ */
  body.lp-ihin .sec-faq .sec-ttl {
    font-size: 34px;
    padding-bottom: 24px;
  }

  body.lp-ihin .c-faq__item {
    padding: 22px 0;
    gap: 12px;
  }

  body.lp-ihin .c-faq__icon {
    width: 26px;
  }

  body.lp-ihin .c-faq__q .c-faq__text {
    font-size: 19px;
  }

  body.lp-ihin .c-faq__text {
    font-size: 16px;
    line-height: 1.7;
  }

  /* 対応バナー */
  body.lp-ihin .c-enable__icon {
    width: 80px;
  }

  body.lp-ihin .c-enable__text {
    font-size: 20px;
  }

  body.lp-ihin .c-enable__text--light {
    font-size: 16px;
  }
}

/* メディア掲載（遺品整理LP） */
@media screen and (min-width:1024px) {
  body.lp-ihin .lp-media--ihin {
    width: 100vw;
    margin-left: calc(50% - 50vw);
  }
  body.lp-ihin .lp-media--ihin img {
    max-width: 1000px;
    margin: 0 auto;
  }
}

/* 料金表内：買取例・単品料金の画像 */
.lp-price-imgs {
  margin-top: calc(40 / 750 * 100vw);
  display: flex;
  flex-direction: column;
  gap: calc(28 / 750 * 100vw);
}

.lp-price-imgs img {
  width: 100%;
  display: block;
  border-radius: calc(14 / 750 * 100vw);
  box-shadow: 0 3px 12px rgba(0, 0, 0, .12);
}

@media screen and (min-width:768px) {
  .lp-price-imgs {
    margin-top: 36px;
    gap: 24px;
  }
  .lp-price-imgs img {
    border-radius: 14px;
  }
}

@media screen and (min-width:1024px) {
  body.lp-ihin .lp-price-imgs {
    flex-direction: row;
    justify-content: center;
    align-items: flex-start;
  }
  body.lp-ihin .lp-price-imgs img {
    max-width: 460px;
  }
}

/* ==============================
   不用品回収 FV：分割画像＋SSパック料金ブロック
   ============================== */
.sec-fv--split .sec-fv__price2-wrap {
  background: #0032ac;
  padding: calc(4 / 750 * 100vw) calc(40 / 750 * 100vw) calc(34 / 750 * 100vw);
}

.sec-fv--split .sec-fv__price2-wrap .lp-fv__price2 {
  margin-bottom: 0;
}

@media screen and (min-width:768px) {
  .sec-fv--split .sec-fv__price2-wrap {
    padding: 4px 44px 28px;
  }
}

/* 不用品回収：単品料金表画像（料金表内・1枚） */
.lp-price-imgs--single {
  align-items: center;
}

.lp-price-imgs--single img {
  max-width: 600px;
}

/* 不用品回収：買取例画像（アピールポイント上） */
.sec-kaitori {
  padding: calc(50 / 750 * 100vw) calc(24 / 750 * 100vw);
  background: var(--white);
}
.sec-kaitori__inner {
  max-width: 640px;
  margin: 0 auto;
}
.sec-kaitori__inner img {
  width: 100%;
  display: block;
  border-radius: calc(14 / 750 * 100vw);
}
@media screen and (min-width:768px) {
  .sec-kaitori { padding: 48px 24px; }
  .sec-kaitori__inner img { border-radius: 14px; }
}

/* 不用品回収：メディア掲載（PCワイド） */
@media screen and (min-width:1024px) {
  body.lp-fuyohin .lp-media--fuyohin {
    width: 100vw;
    margin-left: calc(50% - 50vw);
  }
  body.lp-fuyohin .lp-media--fuyohin img {
    max-width: 1000px;
    margin: 0 auto;
  }
}

/* ==============================
   不用品回収：回収可能な品目
   ============================== */
.sec-items {
  background: var(--lp-main-light);
  padding: calc(70 / 750 * 100vw) calc(32 / 750 * 100vw) calc(80 / 750 * 100vw);
}
.sec-items__inner {
  max-width: 720px;
  margin: 0 auto;
}
.sec-items__lead {
  text-align: center;
  font-size: calc(26 / 750 * 100vw);
  line-height: 1.7;
  color: var(--text);
  margin: calc(24 / 750 * 100vw) 0 calc(20 / 750 * 100vw);
}
.sec-items__group {
  margin-top: calc(44 / 750 * 100vw);
}
.sec-items__group-title {
  background: var(--lp-main);
  color: var(--white);
  font-weight: 800;
  font-size: calc(32 / 750 * 100vw);
  line-height: 1.4;
  border-radius: calc(10 / 750 * 100vw);
  padding: calc(16 / 750 * 100vw) calc(24 / 750 * 100vw);
}
.sec-items__sub {
  margin-top: calc(28 / 750 * 100vw);
}
.sec-items__sub-title {
  font-size: calc(28 / 750 * 100vw);
  font-weight: 800;
  color: var(--lp-main-dark);
  border-left: calc(8 / 750 * 100vw) solid var(--lp-accent);
  padding-left: calc(16 / 750 * 100vw);
  line-height: 1.3;
}
.sec-items__tags {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: calc(14 / 750 * 100vw);
  margin: calc(18 / 750 * 100vw) 0 0;
  padding: 0;
}
.sec-items__tag {
  background: var(--white);
  border: 1px solid #d5e0f2;
  border-radius: 999px;
  font-size: calc(25 / 750 * 100vw);
  line-height: 1;
  padding: calc(13 / 750 * 100vw) calc(22 / 750 * 100vw);
  color: var(--text);
}
@media screen and (min-width:768px) {
  .sec-items {
    padding: 64px 24px 80px;
  }
  .sec-items__lead {
    font-size: 16px;
    margin: 20px 0 24px;
  }
  .sec-items__group {
    margin-top: 40px;
  }
  .sec-items__group-title {
    font-size: 22px;
    border-radius: 10px;
    padding: 12px 22px;
  }
  .sec-items__sub {
    margin-top: 24px;
  }
  .sec-items__sub-title {
    font-size: 18px;
    border-left-width: 5px;
    padding-left: 12px;
  }
  .sec-items__tags {
    gap: 10px;
    margin-top: 14px;
  }
  .sec-items__tag {
    font-size: 15px;
    padding: 9px 16px;
  }
}

/* ==============================
   不用品回収：行政と業者の違い
   ============================== */
.sec-vs {
  background: var(--white);
  padding: calc(80 / 750 * 100vw) calc(32 / 750 * 100vw);
}
.sec-vs__inner {
  max-width: 720px;
  margin: 0 auto;
}
.sec-vs__lead {
  font-size: calc(28 / 750 * 100vw);
  line-height: 1.9;
  margin-top: calc(28 / 750 * 100vw);
}
.sec-vs__points {
  list-style: none;
  margin: calc(28 / 750 * 100vw) 0 0;
  padding: calc(28 / 750 * 100vw) calc(30 / 750 * 100vw);
  background: var(--lp-main-light);
  border-radius: calc(14 / 750 * 100vw);
  counter-reset: none;
}
.sec-vs__points li {
  display: flex;
  align-items: center;
  font-size: calc(28 / 750 * 100vw);
  font-weight: 700;
  line-height: 1.5;
  padding: calc(10 / 750 * 100vw) 0;
}
.sec-vs__num {
  flex-shrink: 0;
  width: calc(46 / 750 * 100vw);
  height: calc(46 / 750 * 100vw);
  border-radius: 50%;
  background: var(--lp-main);
  color: var(--white);
  font-weight: 800;
  font-size: calc(26 / 750 * 100vw);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: calc(18 / 750 * 100vw);
}
.sec-vs__feature {
  margin-top: calc(40 / 750 * 100vw);
}
.sec-vs__feature-ttl {
  font-size: calc(30 / 750 * 100vw);
  font-weight: 800;
  color: var(--lp-main-dark);
  border-left: calc(8 / 750 * 100vw) solid var(--lp-accent);
  padding-left: calc(18 / 750 * 100vw);
  line-height: 1.3;
  margin-bottom: calc(14 / 750 * 100vw);
}
.sec-vs__feature-txt {
  font-size: calc(27 / 750 * 100vw);
  line-height: 1.9;
}
.sec-vs__tbl-scroll {
  margin-top: calc(48 / 750 * 100vw);
  overflow-x: auto;
}
.sec-vs__closing {
  margin-top: calc(36 / 750 * 100vw);
  font-size: calc(26 / 750 * 100vw);
  line-height: 1.9;
}

/* 比較表 */
.vs-tbl {
  width: 100%;
  border-collapse: collapse;
  background: var(--white);
  table-layout: fixed;
}
.vs-tbl th,
.vs-tbl td {
  border: 1px solid #d8d8d8;
  padding: calc(20 / 750 * 100vw) calc(16 / 750 * 100vw);
  vertical-align: middle;
  text-align: left;
}
.vs-tbl thead th {
  background: #4c4c4c;
  color: var(--white);
  font-weight: 700;
  font-size: calc(24 / 750 * 100vw);
  text-align: center;
  line-height: 1.4;
}
.vs-tbl__corner {
  background: var(--white) !important;
  width: 22%;
  border-color: #fff transparent transparent #fff !important;
}
.vs-tbl tbody th {
  text-align: center;
  width: 22%;
  background: var(--white);
}
.vs-tbl__label {
  display: block;
  font-weight: 800;
  font-size: calc(24 / 750 * 100vw);
  margin-bottom: calc(8 / 750 * 100vw);
}
.vs-tbl__mark {
  display: block;
  font-size: calc(52 / 750 * 100vw);
  font-weight: 400;
  line-height: 1;
}
.vs-tbl__mark--o { color: #2079c8; }
.vs-tbl__mark--x { color: #e0202b; }
.vs-tbl__row--merit .vs-tbl__label { color: #2079c8; }
.vs-tbl__row--demerit .vs-tbl__label { color: #e0202b; }
.vs-tbl__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.vs-tbl__list li {
  position: relative;
  padding-left: calc(24 / 750 * 100vw);
  font-size: calc(24 / 750 * 100vw);
  font-weight: 700;
  line-height: 1.5;
}
.vs-tbl__list li + li {
  margin-top: calc(14 / 750 * 100vw);
}
.vs-tbl__list li::before {
  content: '・';
  position: absolute;
  left: 0;
}
.vs-tbl__row--merit .vs-tbl__list li { color: #2079c8; }
.vs-tbl__row--demerit .vs-tbl__list li { color: #e0202b; }

@media screen and (min-width:768px) {
  .sec-vs { padding: 72px 24px; }
  .sec-vs__lead { font-size: 16px; margin-top: 20px; }
  .sec-vs__points { padding: 22px 26px; border-radius: 14px; margin-top: 24px; }
  .sec-vs__points li { font-size: 17px; padding: 7px 0; }
  .sec-vs__num { width: 30px; height: 30px; font-size: 16px; margin-right: 14px; }
  .sec-vs__feature { margin-top: 34px; }
  .sec-vs__feature-ttl { font-size: 19px; border-left-width: 5px; padding-left: 14px; margin-bottom: 10px; }
  .sec-vs__feature-txt { font-size: 16px; }
  .sec-vs__tbl-scroll { margin-top: 40px; }
  .sec-vs__closing { font-size: 15px; margin-top: 28px; }
  .vs-tbl th, .vs-tbl td { padding: 18px 16px; }
  .vs-tbl thead th { font-size: 17px; }
  .vs-tbl__label { font-size: 16px; margin-bottom: 6px; }
  .vs-tbl__mark { font-size: 34px; }
  .vs-tbl__list li { font-size: 16px; padding-left: 16px; }
  .vs-tbl__list li + li { margin-top: 10px; }
}

/* ==============================
   不用品回収：PCワイドレイアウト（遺品整理と同サイズ / 1024px〜）
   ============================== */
@media screen and (min-width:1024px) {
  /* 750px制限を解除して全幅に */
  body.lp-fuyohin main {
    max-width: 100%;
  }
  /* 各セクションの中身を中央1000pxに（背景は全幅ブリード） */
  body.lp-fuyohin main > section:not(.sec-cta) > div {
    width: 92%;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
  }
  /* CTA（ボタンを画像に絶対配置）はセクションごと中央寄せして比率を保つ */
  body.lp-fuyohin main > section.sec-cta {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
  }
  /* main直下の画像バナー（sec-alpha等）も中央寄せ */
  body.lp-fuyohin main > .sec-alpha {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
  }
  /* FVは画像の実寸に合わせて900px */
  body.lp-fuyohin .sec-fv > div {
    max-width: 900px;
  }
  /* FVのボタンは本来のサイズに戻し、お値引き文字との間隔を確保 */
  body.lp-fuyohin .sec-fv > .sec-fv__btn-contents {
    width: min(70%, 480px);
    max-width: 480px;
    bottom: 40px;
  }
  /* メディア掲載（imgが直下） */
  body.lp-fuyohin .lp-media--fuyohin img {
    max-width: 1000px;
    margin: 0 auto;
  }
  /* 小さめ画像はぼやけ防止でキャップ */
  body.lp-fuyohin .sec-comparison__inner img {
    max-width: 680px;
    margin: 0 auto;
  }
  body.lp-fuyohin .sec-area__map img {
    max-width: 460px;
    margin: 0 auto;
  }
}

/* 回収品目：遺品整理・ゴミ屋敷のPC全幅対応 */
@media screen and (min-width:1024px) {
  body.lp-ihin .sec-items,
  body.lp-gomi .sec-items {
    width: 100vw;
    margin-left: calc(50% - 50vw);
  }
  body.lp-ihin .sec-items__inner,
  body.lp-gomi .sec-items__inner {
    max-width: 1000px;
  }
}

/* 不用品回収：お客様の声（実例） */
.sec-examples__voices {
  display: flex;
  flex-direction: column;
  gap: calc(32 / 750 * 100vw);
  margin-top: calc(20 / 750 * 100vw);
}
.sec-examples__voices img {
  width: 100%;
  display: block;
  border-radius: calc(16 / 750 * 100vw);
  box-shadow: 0 4px 16px rgba(0, 0, 0, .10);
}
@media screen and (min-width:768px) {
  .sec-examples__voices { gap: 28px; margin-top: 16px; }
  .sec-examples__voices img { border-radius: 16px; }
}
