@charset "utf-8";
/* ============================================================
   PC Responsive (2000px → 1024px)
   基準レイアウト: 2000px
   ============================================================ */


/* ===========================================================
   2000px 以下 — 基準幅直下・微調整
   =========================================================== */
@media screen and (max-width: 2000px) {

  /* --- Hero Overlay (タイトル周り) --- */
  .fp-hero-overlay {
    width: 39% !important;
  }
  .fp-hero-catch {
    font-size: clamp(11px, 1.7vw, 26px) !important;
  }
  .fp-hero-region-text {
    font-size: clamp(21px, 2.7vw, 42px) !important;
  }
  .fp-hero-bubble-text {
    font-size: clamp(13px, 1.7vw, 27px) !important;
  }
  .fp-hero-bubble-deco {
    width: clamp(10px, 2vw, 22px) !important;
  }

  /* --- Hero Points --- */
  .fp-hero-points-inner {
    max-width: 900px !important;
    gap: 14px !important;
  }
  .fp-hero-point-item img {
    width: clamp(55px, 12vw, 180px) !important;
  }
  .fp-hero-point-content {
    top: 22% !important;
    width: 82% !important;
  }
  .fp-hero-point-orange {
    font-size: clamp(8px, 1.8vw, 24px) !important;
    text-shadow:
        -2px -2px 0 #fff,
         2px -2px 0 #fff,
        -2px  2px 0 #fff,
         2px  2px 0 #fff,
         0   -2px 0 #fff,
         0    2px 0 #fff,
        -2px  0   0 #fff,
         2px  0   0 #fff !important;
  }
  .fp-hero-point-green {
    font-size: clamp(10px, 2vw, 26px) !important;
    text-shadow:
        -2px -2px 0 #fff,
         2px -2px 0 #fff,
        -2px  2px 0 #fff,
         2px  2px 0 #fff,
         0   -2px 0 #fff,
         0    2px 0 #fff,
        -2px  0   0 #fff,
         2px  0   0 #fff !important;
    margin-top: 2px !important;
  }
  .fp-hero-point-sub {
    font-size: clamp(4px, 1.2vw, 10px) !important;
  }
  .fp-hero-point-item:nth-child(3) .fp-hero-point-orange,
  .fp-hero-point-item:nth-child(5) .fp-hero-point-orange {
    font-size: clamp(8px, 1.6vw, 22px) !important;
  }
  .fp-hero-point-item:nth-child(5) .fp-hero-point-sub.fp-hero-point-orange {
    font-size: clamp(5px, 1vw, 12px) !important;
    text-shadow:
        -1.5px -1.5px 0 #fff,
         1.5px -1.5px 0 #fff,
        -1.5px  1.5px 0 #fff,
         1.5px  1.5px 0 #fff,
         0     -1.5px 0 #fff,
         0      1.5px 0 #fff,
        -1.5px  0     0 #fff,
         1.5px  0     0 #fff !important;
  }
.fp-area-no1-medal-label {
    font-size: clamp(5px, 3vw, 16px) !important;
}
.fp-area-no1-heading {
    font-size: clamp(18px, 7.8vw, 69px) !important;
}
.fp-reasons-medal-number {
    font-size: clamp(18px, 3vw, 25px) !important;
}
  /* --- Area No.1 --- */
  .fp-area-no1-medal {
    right: 33% !important;
  }

  /* --- Overview（激安・丁寧・迅速） --- */
  .fp-overview-lead {
    font-size: 28px !important;
  }
  .fp-overview-lead-em {
    font-size: 40px !important;
  }
  .fp-overview-heading {
    font-size: 36px !important;
  }

  /* --- Worries（お悩み） --- */
  .fp-worries-name {
    font-size: 38px !important;
  }
  .fp-worries-omakase {
    font-size: 32px !important;
  }

  /* --- Caution（悪徳業者注意） --- */
  .fp-caution-title {
    font-size: 54px !important;
  }
  .fp-caution-inner {
    padding-bottom: 300px !important;
  }

  /* --- Comparison --- */
  .comp-main-title {
    font-size: 2.5rem !important;
  }

  /* --- Voices header --- */
  .fp-voices-header-lead,
  .fp-voices-header-lead2 {
    font-size: 18px !important;
    margin-left: 4rem !important;
  }
  .fp-voices-header-medal-number {
    font-size: 36px !important;
  }
  .fp-voices-header-medal-img {
    width: 120px !important;
  }

  /* --- Review No.1 --- */
  .fp-review-no1-medal-wrap {
    width: 130px !important;
  }
  .fp-medal-num {
    font-size: 36px !important;
  }
}

@media screen and (max-width: 1280px) {
.fp-hero-bubble--1 {
    right: 14% !important;
}
.fp-hero-bubble--2 {
    right: 1% !important;
}
}
/* ===========================================================
   1200px 以下 — ノートPC
   =========================================================== */
@media screen and (max-width: 1200px) {

  /* --- Area No.1 --- */
  .fp-area-no1-label {
    top: 34% !important;
    left: 12% !important;
  }
  .fp-area-no1-heading {
    left: 12% !important;
  }
  .fp-area-no1-medal {
    right: 22% !important;
  }

  /* --- Hero Overlay (タイトル周り) --- */
  .fp-hero-overlay {
    width: 42% !important;
    top: 8% !important;
  }
  .fp-hero-title-svg {
    width: 88% !important;
    margin: 0 auto !important;
  }
  .fp-hero-catch {
    font-size: clamp(11px, 1.5vw, 20px) !important;
    margin-top: 0.6rem !important;
  }
  .fp-hero-region-text {
    font-size: clamp(21px, 2.25vw, 30px) !important;
    padding-bottom: 18px !important;
    margin-top: -8px !important;
  }
  .fp-hero-bubble-text {
    font-size: clamp(11px, 1.1vw, 15px) !important;
  }
  .fp-hero-bubble-deco {
    width: clamp(10px, 0.9vw, 13px) !important;
  }
  .fp-hero-bubble--1 {
    top: 2% !important;
    right: 16% !important;
  }
  .fp-hero-bubble--2 {
    top: 13% !important;
    right: 3% !important;
  }

  /* --- Hero Points --- */
  .fp-hero-points-inner {
    max-width: 850px !important;
    gap: 12px !important;
  }
  .fp-hero-point-item img {
    width: clamp(55px, 12.5vw, 165px) !important;
  }
  .fp-hero-point-content {
    top: 22% !important;
    width: 78% !important;
    filter: drop-shadow(3px 3px 6px rgba(0, 0, 0, 0.3)) !important;
  }
  .fp-hero-point-orange {
    font-size: clamp(8px, 1.6vw, 20px) !important;
    text-shadow:
        -1.5px -1.5px 0 #fff,
         1.5px -1.5px 0 #fff,
        -1.5px  1.5px 0 #fff,
         1.5px  1.5px 0 #fff,
         0     -1.5px 0 #fff,
         0      1.5px 0 #fff,
        -1.5px  0     0 #fff,
         1.5px  0     0 #fff !important;
  }
  .fp-hero-point-green {
    font-size: clamp(10px, 1.8vw, 22px) !important;
    text-shadow:
        -1.5px -1.5px 0 #fff,
         1.5px -1.5px 0 #fff,
        -1.5px  1.5px 0 #fff,
         1.5px  1.5px 0 #fff,
         0     -1.5px 0 #fff,
         0      1.5px 0 #fff,
        -1.5px  0     0 #fff,
         1.5px  0     0 #fff !important;
    margin-top: 1px !important;
  }
  .fp-hero-point-sub {
    font-size: clamp(4px, 1vw, 9px) !important;
    margin-bottom: 0 !important;
  }
  .fp-hero-point-item:nth-child(3) .fp-hero-point-orange,
  .fp-hero-point-item:nth-child(5) .fp-hero-point-orange {
    font-size: clamp(8px, 1.4vw, 18px) !important;
  }
  .fp-hero-point-item:nth-child(5) .fp-hero-point-sub.fp-hero-point-orange {
    font-size: clamp(4px, 0.9vw, 10px) !important;
    text-shadow:
        -1px -1px 0 #fff,
         1px -1px 0 #fff,
        -1px  1px 0 #fff,
         1px  1px 0 #fff,
         0   -1px 0 #fff,
         0    1px 0 #fff,
        -1px  0   0 #fff,
         1px  0   0 #fff !important;
  }

  /* --- 共通セクション --- */
  .fp-section-title {
    font-size: 26px !important;
  }

  /* --- Overview --- */
  .fp-overview-inner {
    max-width: 100% !important;
    padding: 0 30px !important;
  }
  .fp-overview-heading {
    font-size: 28px !important;
    margin-bottom: 25px !important;
  }
  .fp-overview-heading-hl {
    font-size: 40px !important;
    text-shadow:
        -2px -2px 0 #fff,
         2px -2px 0 #fff,
        -2px  2px 0 #fff,
         2px  2px 0 #fff,
         0   -2px 0 #fff,
         0    2px 0 #fff,
        -2px  0   0 #fff,
         2px  0   0 #fff !important;
  }
  .fp-overview-lead {
    font-size: 22px !important;
    padding: 8px 20px !important;
  }
  .fp-overview-lead-em {
    font-size: 30px !important;
  }
  .fp-overview-subtitle {
    font-size: 20px !important;
  }
  .fp-overview-desc {
    font-size: 15px !important;
  }
  .fp-overview-badge img {
    height: 42px !important;
  }
  .fp-overview-badge span {
    font-size: 15px !important;
  }

  /* --- Features（3つの特徴） --- */
  .fp-features-inner {
    max-width: 100% !important;
    padding: 0 30px !important;
  }
  .fp-features-grid {
    gap: 22px !important;
  }

  /* --- Worries --- */
  .fp-worries-title {
    font-size: 26px !important;
  }
  .fp-worries-title-hl {
    font-size: 38px !important;
  }
  .fp-worries-item {
    font-size: 15px !important;
  }
  .fp-worries-woman {
    flex: 0 0 200px !important;
    margin-top: -70px !important;
  }
  .fp-worries-lead {
    font-size: 22px !important;
  }
  .fp-worries-cta-text {
    font-size: 26px !important;
  }
  .fp-worries-name {
    font-size: 30px !important;
  }
  .fp-worries-omakase {
    font-size: 26px !important;
  }
  .fp-worries-lower-inner {
    margin-bottom: 5rem !important;
  }
  .fp-worries-strength-text h3 {
    font-size: 16px !important;
  }

  /* --- Reasons（選ばれる理由） --- */
  .fp-reasons-inner {
    max-width: 100% !important;
    padding: 50px 30px 70px !important;
  }
  .fp-reason-card {
    padding: 22px 14px 18px !important;
  }
  .fp-reason-text {
    font-size: 13px !important;
  }

  /* --- Voices header --- */
  .fp-voices-header-lead,
  .fp-voices-header-lead2 {
    font-size: 16px !important;
    margin-left: 3.5rem !important;
  }
  .fp-voices-header-medal-img {
    width: 100px !important;
  }
  .fp-voices-header-medal-number {
    font-size: 32px !important;
  }
  .fp-voices-header-medal-label {
    font-size: 11px !important;
  }

  /* --- Voices cards --- */
  .fp-voices-inner {
    max-width: 100% !important;
    padding: 40px 30px 0 !important;
  }

  /* --- Truck Pack（トラック積み放題） --- */
  .truck-pack-section {
    width: 90% !important;
  }

  /* --- Buyback（買取でお得） --- */
  .fp-buyback-inner {
    max-width: 100% !important;
    padding: 0 30px !important;
  }
  .fp-buyback-compare {
    width: 240px !important;
  }
  .fp-buyback-title {
    font-size: 20px !important;
  }

  /* --- Buy items grid --- */
  .fp-buyitems-inner {
    max-width: 100% !important;
    padding: 0 30px !important;
  }
  .fp-buyitems-grid {
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 14px !important;
  }

  /* --- Credit Card --- */
  .fp-creditcard-inner {
    max-width: 100% !important;
    padding: 0 30px !important;
  }

  /* --- Caution --- */
  .fp-caution-title {
    font-size: 44px !important;
  }
  .fp-caution-inner {
    padding-bottom: 260px !important;
  }
  .fp-caution-label {
    font-size: 17px !important;
  }
  .fp-caution-stripe-text {
    font-size: 18px !important;
  }

  /* --- Comparison --- */
  .comp-container {
    max-width: 100% !important;
    padding: 0 20px !important;
  }
  .comp-main-title {
    font-size: 2.2rem !important;
  }

  /* --- Review No.1 --- */
  .fp-review-no1-medal-wrap {
    width: 115px !important;
  }
  .fp-medal-num {
    font-size: 32px !important;
  }
  .fp-medal-top {
    font-size: 11px !important;
  }

  /* --- BA Cases --- */
  .fp-ba-cases-inner {
    max-width: 100% !important;
    padding: 0 30px !important;
  }
  .fp-ba-case-photos {
    height: 230px !important;
  }

  /* --- Services --- */
  .fp-services-inner {
    max-width: 100% !important;
    padding: 0 30px !important;
  }

  /* --- Area --- */
  .fp-area-inner {
    max-width: 100% !important;
    padding: 0 30px !important;
  }

  /* --- Intro --- */
  .fp-intro-inner {
    max-width: 100% !important;
    padding: 0 30px !important;
  }
  .fp-intro-heading {
    font-size: 28px !important;
  }
  .fp-intro-heading-bold {
    font-size: 34px !important;
  }
  .fp-intro-text-line1 { font-size: 18px !important; }
  .fp-intro-text-line2 { font-size: 20px !important; }
  .fp-intro-text-line3 { font-size: 22px !important; }
  .fp-intro-text-accent { font-size: 24px !important; }
  .fp-intro-desc { font-size: 14px !important; }

  /* --- Web CTA --- */
  .fp-web-cta-heading {
    font-size: 20px !important;
  }
  .fp-web-cta-highlight {
    font-size: 24px !important;
  }
  .fp-web-cta-phone-number {
    font-size: 34px !important;
  }
}


/* ===========================================================
   1024px 以下 — 小型ノートPC / タブレット横
   =========================================================== */
@media screen and (max-width: 1024px) {

  /* --- Area No.1 --- */
  .fp-area-no1-label {
    top: 30% !important;
    left: 8% !important;
  }
  .fp-area-no1-heading {
    top: 44% !important;
    left: 8% !important;
  }
  .fp-area-no1-medal {
    right: 20% !important;
    bottom: 8% !important;
  }

  /* --- Hero Overlay (タイトル周り) --- */
  .fp-hero-overlay {
    width: 44% !important;
    top: 6% !important;
  }
  .fp-hero-catch {
    font-size: clamp(11px, 1.3vw, 16px) !important;
    margin-top: 0.4rem !important;
    letter-spacing: 1px !important;
  }
  .fp-hero-region-text {
    font-size: clamp(21px, 1.95vw, 24px) !important;
    padding-bottom: 14px !important;
    margin-top: -6px !important;
    letter-spacing: 2px !important;
  }
  .fp-hero-region {
    margin-bottom: clamp(1px, 0.2vw, 4px) !important;
  }
  .fp-hero-bubble-text {
    font-size: clamp(11px, 1vw, 13px) !important;
  }
  .fp-hero-bubble-deco {
    width: clamp(8px, 0.8vw, 11px) !important;
  }
  .fp-hero-bubble--1 {
    top: 3% !important;
    right: 8% !important;
  }
  .fp-hero-bubble--2 {
    top: 12% !important;
    right: 0 !important;
  }

  /* --- Hero Points --- */
  .fp-hero-points-inner {
    max-width: 730px !important;
    gap: 8px !important;
  }
  .fp-hero-point-item img {
    width: clamp(55px, 12.5vw, 140px) !important;
  }
  .fp-hero-point-content {
    top: 20% !important;
    width: 78% !important;
    filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.25)) !important;
  }
  .fp-hero-point-orange {
    font-size: clamp(8px, 1.5vw, 17px) !important;
    text-shadow:
        -1.5px -1.5px 0 #fff,
         1.5px -1.5px 0 #fff,
        -1.5px  1.5px 0 #fff,
         1.5px  1.5px 0 #fff,
         0     -1.5px 0 #fff,
         0      1.5px 0 #fff,
        -1.5px  0     0 #fff,
         1.5px  0     0 #fff !important;
  }
  .fp-hero-point-green {
    font-size: clamp(10px, 1.8vw, 20px) !important;
    text-shadow:
        -1.5px -1.5px 0 #fff,
         1.5px -1.5px 0 #fff,
        -1.5px  1.5px 0 #fff,
         1.5px  1.5px 0 #fff,
         0     -1.5px 0 #fff,
         0      1.5px 0 #fff,
        -1.5px  0     0 #fff,
         1.5px  0     0 #fff !important;
    margin-top: 0 !important;
  }
  .fp-hero-point-sub {
    font-size: clamp(4px, 0.9vw, 9px) !important;
    margin-bottom: 0 !important;
  }
  .fp-hero-point-item:nth-child(3) .fp-hero-point-orange,
  .fp-hero-point-item:nth-child(5) .fp-hero-point-orange {
    font-size: clamp(8px, 1.3vw, 15px) !important;
  }
  .fp-hero-point-item:nth-child(5) .fp-hero-point-sub.fp-hero-point-orange {
    font-size: clamp(4px, 0.8vw, 9px) !important;
    text-shadow:
        -1px -1px 0 #fff,
         1px -1px 0 #fff,
        -1px  1px 0 #fff,
         1px  1px 0 #fff,
         0   -1px 0 #fff,
         0    1px 0 #fff,
        -1px  0   0 #fff,
         1px  0   0 #fff !important;
  }

  /* --- Overview --- */
  #fp-overview {
    padding: 45px 20px 55px !important;
  }
  .fp-overview-heading {
    font-size: 24px !important;
  }
  .fp-overview-heading-hl {
    font-size: 34px !important;
    text-shadow:
        -1px -1px 0 #fff,
         1px -1px 0 #fff,
        -1px  1px 0 #fff,
         1px  1px 0 #fff,
         0   -1px 0 #fff,
         0    1px 0 #fff,
        -1px  0   0 #fff,
         1px  0   0 #fff !important;
    filter: drop-shadow(3px 3px 1px rgba(0, 0, 0, 0.2)) !important;
  }
  .fp-overview-lead {
    font-size: 20px !important;
    padding: 8px 18px !important;
    letter-spacing: 3px !important;
  }
  .fp-overview-lead-em {
    font-size: 28px !important;
  }
  .fp-overview-content {
    gap: 25px !important;
  }
  .fp-overview-subtitle {
    font-size: 18px !important;
  }
  .fp-overview-desc {
    font-size: 14px !important;
  }
  .fp-overview-badge img {
    height: 38px !important;
  }
  .fp-overview-badge span {
    font-size: 13px !important;
  }

  /* --- Features --- */
  #fp-features {
    padding: 60px 20px 55px !important;
  }
  .fp-features-grid {
    gap: 18px !important;
  }
  .fp-feature-title {
    font-size: 15px !important;
    padding: 7px 18px !important;
  }
  .fp-feature-text {
    font-size: 13px !important;
  }

  /* --- Worries --- */
  .fp-worries-title {
    font-size: 22px !important;
  }
  .fp-worries-title-hl {
    font-size: 32px !important;
  }
  .fp-worries-card {
    padding: 28px 22px 28px 30px !important;
  }
  .fp-worries-item {
    font-size: 14px !important;
    padding: 7px 0 !important;
  }
  .fp-worries-woman {
    flex: 0 0 180px !important;
    margin-top: 0px !important;
  }
  .fp-worries-lead {
    font-size: 18px !important;
  }
  .fp-worries-cta-text {
    font-size: 20px !important;
    margin-bottom: 30px !important;
  }
  .fp-worries-name {
    font-size: 26px !important;
  }
  .fp-worries-omakase {
    font-size: 22px !important;
  }
  .fp-worries-deco {
    width: 30px !important;
  }
  .fp-worries-lower-inner {
    padding-top: 6rem !important;
    margin-top: -3.5rem !important;
    margin-bottom: 4rem !important;
  }
  .fp-worries-strength-icon {
    width: 60px !important;
  }
  .fp-worries-strength-text h3 {
    font-size: 15px !important;
  }
  .fp-worries-strength-text p {
    font-size: 12px !important;
  }

  /* --- Reasons --- */
  .fp-reasons-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 16px !important;
  }
  .fp-reason-card {
    padding: 20px 12px 16px !important;
  }
  .fp-reason-icon img {
    width: 60px !important;
    height: 60px !important;
  }
  .fp-reason-title {
    font-size: 15px !important;
  }
  .fp-reason-text {
    font-size: 12px !important;
  }

  /* --- CTA Banner --- */
  .fp-reasons-cta-banner {
    padding: 25px 20px 18px !important;
  }

  /* --- Voices --- */
  .fp-voices-header-left {
    width: 50% !important;
  }
  .fp-voices-header-medals {
    width: 25% !important;
  }
  .fp-voices-header-lead,
  .fp-voices-header-lead2 {
    font-size: 14px !important;
    margin-left: 1rem !important;
  }
  .fp-voices-header-medal-img {
    width: 85px !important;
  }
  .fp-voices-header-medal-number {
    font-size: 28px !important;
  }
  .fp-voices-header-medal-label {
    font-size: 10px !important;
  }
  .fp-voice-card {
    padding: 25px 22px !important;
  }
  .fp-voice-title {
    font-size: 17px !important;
  }
  .fp-voice-text {
    font-size: 13px !important;
  }

  /* --- Truck Pack --- */
  .truck-pack-section {
    width: 95% !important;
  }
  .section-main-title {
    font-size: 1.5rem !important;
  }

  /* --- Buyback --- */
  .fp-buyback-compare {
    width: 200px !important;
  }
  .fp-buyback-subtitle {
    font-size: 17px !important;
  }
  .fp-buyback-desc {
    font-size: 13px !important;
  }
  .fp-buyback-header {
    height: 75px !important;
  }
  .fp-buyback-title {
    font-size: 18px !important;
  }
  .fp-buyback-check-badge {
    width: 80px !important;
  }

  /* --- Buy items --- */
  .fp-buyitems-title {
    font-size: 24px !important;
  }
  .fp-buyitems-grid {
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 10px !important;
  }
  .fp-buyitem-desc {
    font-size: 11px !important;
  }

  /* --- Credit Card --- */
  .fp-creditcard-banner {
    font-size: 18px !important;
  }
  .fp-creditcard-badge-item {
    padding: 8px 10px !important;
  }
  .fp-creditcard-badge-icon {
    width: 32px !important;
    height: 32px !important;
  }
  .fp-creditcard-badge-text {
    font-size: 11px !important;
  }
  .fp-creditcard-logos-img {
    height: 42px !important;
  }

  /* --- Caution --- */
  .fp-caution-title {
    font-size: 36px !important;
  }
  .fp-caution-inner {
    padding-bottom: 200px !important;
  }
  .fp-caution-label {
    font-size: 15px !important;
  }
  .fp-caution-stripe-text {
    font-size: 16px !important;
  }

  /* --- Comparison --- */
  .comp-main-title {
    font-size: 2rem !important;
  }
  .comp-sub-title {
    font-size: 1.1rem !important;
  }
  .comp-crown-img {
    width: clamp(30px, 4.5vw, 45px) !important;
  }
  .comp-header-label {
    font-size: 0.8rem !important;
  }
  .comp-big {
    font-size: 1.2rem !important;
  }

  /* --- Review No.1 --- */
  .fp-review-no1-medal-wrap {
    width: 100px !important;
  }
  .fp-medal-num {
    font-size: 28px !important;
  }
  .fp-medal-top {
    font-size: 10px !important;
  }

  /* --- BA Cases --- */
  .fp-ba-cases-inner {
    max-width: 100% !important;
    padding: 0 30px !important;
  }
  .fp-ba-case-photos {
    height: 200px !important;
  }
  .fp-ba-icon-item {
    width: 70px !important;
  }
  .fp-ba-icon-label {
    font-size: 10px !important;
  }
  .fp-ba-case-highlight {
    font-size: 17px !important;
  }
  .fp-ba-case-title {
    font-size: 13px !important;
  }
  .fp-ba-arrow {
    width: 55px !important;
  }
  .after-label {
    font-size: 24px !important;
  }

  /* --- Services --- */
  .fp-services-grid {
    gap: 16px !important;
  }
  .fp-service-card h3 {
    font-size: 14px !important;
    padding: 12px 14px 5px !important;
  }
  .fp-service-card p {
    font-size: 12px !important;
    padding: 0 14px 14px !important;
  }

  /* --- Area --- */
  .fp-area-desc {
    font-size: 13px !important;
  }
  .fp-area-cities span {
    font-size: 12px !important;
    padding: 6px 12px !important;
  }

  /* --- Intro --- */
  #fp-intro {
    padding: 55px 20px !important;
  }
  .fp-intro-heading {
    font-size: 26px !important;
    margin-bottom: 35px !important;
  }
  .fp-intro-heading-bold {
    font-size: 30px !important;
  }
  .fp-intro-content {
    gap: 30px !important;
  }
  .fp-intro-photos {
    flex: 0 0 42% !important;
    min-height: 260px !important;
  }
  .fp-intro-text-line1 { font-size: 16px !important; }
  .fp-intro-text-line2 { font-size: 18px !important; }
  .fp-intro-text-line3 { font-size: 20px !important; }
  .fp-intro-text-accent { font-size: 22px !important; }

  /* --- Web CTA --- */
  .fp-web-cta-heading {
    font-size: 18px !important;
  }
  .fp-web-cta-highlight {
    font-size: 22px !important;
  }
  .fp-web-cta-phone-number {
    font-size: 30px !important;
  }
  .fp-web-cta-phone-icon {
    width: 32px !important;
  }
  .fp-web-cta-banner {
    font-size: 16px !important;
    padding: 8px 20px !important;
  }

  /* --- Beginner --- */
  .fp-beginner-link {
    max-width: 700px !important;
  }

  /* --- Campaign --- */
  .fp-campaign-link {
    max-width: 850px !important;
  }
}


/* ===========================================================
   950px 以下 — メダル縮小
   =========================================================== */
@media screen and (max-width: 950px) {
  .fp-reasons-medal-number {
    font-size: clamp(14px, 2.5vw, 22px) !important;
  }
  .fp-reasons-medal-label {
    font-size: clamp(6px, 0.9vw, 11px) !important;
    letter-spacing: 0.5px !important;
  }
  .fp-reasons-medal-number small {
    font-size: 0.35em !important;
  }
}

/* ===========================================================
   700px 以下 — メダルさらに縮小
   =========================================================== */
@media screen and (max-width: 700px) {
  .fp-reasons-medal-number {
    font-size: clamp(12px, 2.2vw, 18px) !important;
  }
  .fp-reasons-medal-label {
    font-size: clamp(5px, 0.8vw, 9px) !important;
    letter-spacing: 0 !important;
  }
}

/* ===========================================================
   500px 以下 — メダル極小
   =========================================================== */
@media screen and (max-width: 500px) {
  .fp-reasons-medal-number {
    font-size: clamp(10px, 2vw, 14px) !important;
  }
  .fp-reasons-medal-label {
    font-size: clamp(4px, 0.7vw, 7px) !important;
  }
  .fp-reasons-medal-text {
    top: 34% !important;
  }
}


/* ===========================================================
   768px 以下 — ポイントバー上3下2配置
   =========================================================== */
@media screen and (max-width: 768px) {
  .fp-voices-header-lead {
    margin-top: 0rem !important;
  }
  #fp-overview {
    padding-bottom: 7rem !important;
  }
  #fp-features {
    margin-top: -55px !important;
  }
  .fp-hero-points-inner {
    flex-wrap: wrap !important;
    gap: clamp(4px, 1.5vw, 10px) !important;
  }
  .fp-hero-points-row {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    gap: clamp(4px, 1.5vw, 10px) !important;
  }
  .fp-hero-points-row--top {
    justify-content: center !important;
  }
  .fp-hero-points-row--bottom {
    justify-content: center !important;
  }
  .fp-hero-point-item img {
    width: clamp(55px, 22vw, 120px) !important;
  }
}


/* ===========================================================
   800px 以下 — PC→SPトランジションゾーン
   =========================================================== */
@media screen and (max-width: 800px) {

  /* --- Hero Overlay --- */
  .fp-hero-overlay {
    width: 46% !important;
  }
  .fp-hero-region-text {
    padding-bottom: 18px !important;
    margin-top: -8px !important;
  }
  .fp-hero-catch {
    margin-top: 0.3rem !important;
  }

  /* --- Hero Points --- */
  .fp-hero-points-inner {
    max-width: 560px !important;
    gap: 4px !important;
  }

  /* --- 共通セクションタイトル --- */
  .fp-section-title {
    font-size: 22px !important;
  }
  .fp-section-title .accent-number {
    font-size: 32px !important;
  }

  /* --- Overview --- */
  .fp-overview-heading {
    font-size: 20px !important;
  }
  .fp-overview-heading-hl {
    font-size: 28px !important;
    text-shadow:
        -1px -1px 0 #fff,
         1px -1px 0 #fff,
        -1px  1px 0 #fff,
         1px  1px 0 #fff,
         0   -1px 0 #fff,
         0    1px 0 #fff,
        -1px  0   0 #fff,
         1px  0   0 #fff !important;
  }
  .fp-overview-lead {
    font-size: 16px !important;
    letter-spacing: 2px !important;
  }
  .fp-overview-lead-em {
    font-size: 24px !important;
  }

  /* --- Features --- */
  .fp-feature-title {
    font-size: 14px !important;
    padding: 6px 16px !important;
  }
  .fp-feature-text {
    font-size: 13px !important;
  }

  /* --- Worries --- */
  .fp-worries-lower-inner {
    padding-top: 5rem !important;
    margin-top: -3rem !important;
    margin-bottom: 5rem !important;
    margin-left: 15px !important;
    margin-right: 15px !important;
  }
  .fp-worries-cta-text {
    font-size: 18px !important;
    margin-bottom: 25px !important;
  }
  .fp-worries-name {
    font-size: 22px !important;
  }
  .fp-worries-omakase {
    font-size: 18px !important;
  }

  /* --- Caution --- */
  .fp-caution-title {
    font-size: 30px !important;
  }
  .fp-caution-inner {
    padding-bottom: 150px !important;
  }
  .fp-caution-label {
    font-size: 14px !important;
  }
  .fp-caution-stripe-text {
    font-size: 15px !important;
  }

  /* --- Comparison --- */
  .comp-magnifying-glass {
    width: 50px !important;
    height: 50px !important;
  }
  .comp-main-title {
    font-size: 1.6rem !important;
  }
  .comp-sub-title {
    font-size: 1rem !important;
  }
  .comp-table {
    width: 780px !important;
  }

  /* --- Voices header --- */
  .fp-voices-header-left {
    width: 60% !important;
  }
  .fp-voices-header-medals {
    width: 30% !important;
  }
  .fp-voices-header-lead,
  .fp-voices-header-lead2 {
    font-size: 13px !important;
    margin-left: 0.5rem !important;
  }
  .fp-voices-header-medal-img {
    width: 75px !important;
  }
  .fp-voices-header-medal-number {
    font-size: 24px !important;
  }
  .fp-voices-header-medal-label {
    font-size: 9px !important;
  }

  /* --- Voices cards --- */
  .fp-voice-card {
    padding: 22px 18px !important;
  }
  .fp-voice-title {
    font-size: 16px !important;
  }
  .fp-voice-text {
    font-size: 13px !important;
  }

  /* --- Review No.1 --- */
  .fp-review-no1-medals {
    margin-top: -4rem !important;
  }
  .fp-review-no1-medal-wrap {
    width: 95px !important;
  }
  .fp-medal-num {
    font-size: 26px !important;
  }
  .fp-medal-top {
    font-size: 9px !important;
  }
  .fp-review-no1-sub {
    font-size: 32px !important;
  }
  .fp-review-no1-gyoukai {
    font-size: 32px !important;
  }
  .fp-review-no1-number {
    font-size: 90px !important;
  }

  /* --- BA Cases --- */
  .fp-ba-case-photos {
    height: 190px !important;
  }
  .fp-ba-arrow {
    width: 50px !important;
  }
  .after-label {
    font-size: 22px !important;
  }

  /* --- Intro --- */
  .fp-intro-heading {
    font-size: 22px !important;
  }
  .fp-intro-heading-bold {
    font-size: 26px !important;
  }
  .fp-intro-photos {
    min-height: 230px !important;
  }
  .fp-intro-text-line1 { font-size: 15px !important; }
  .fp-intro-text-line2 { font-size: 17px !important; }
  .fp-intro-text-line3 { font-size: 19px !important; }
  .fp-intro-text-accent { font-size: 20px !important; }

  /* --- Buyback --- */
  .fp-buyback-header {
    height: 70px !important;
  }
  .fp-buyback-title {
    font-size: 17px !important;
  }
  .fp-buyback-check-badge {
    width: 70px !important;
  }

  /* --- Area --- */
  .fp-area-cities span {
    font-size: 12px !important;
    padding: 6px 14px !important;
  }

  /* --- 共通ボタン --- */
  .fp-btn-more {
    padding: 12px 32px !important;
    font-size: 14px !important;
  }
}


/* ===========================================================
   600px 以下 — Area No.1 ラベル調整
   =========================================================== */
@media screen and (max-width: 600px) {
  .fp-worries-banner-img {
    padding: 0 15px !important;
  }
  .fp-buyitem-name {
    bottom: 9% !important;
    font-size: 15px !important;
  }
  .fp-buyitem-desc {
    font-size: 15px !important;
  }
  .fp-buyitems-inner {
    max-width: 100% !important;
    padding: 0 0px !important;
  }
  .fp-service-card h3 {
    font-size: 17px !important;
  }
  .fp-service-card p {
    font-size: 15px !important;
  }
  .fp-overview-inner {
    padding: 0 0px !important;
  }
  .fp-features-inner {
    padding: 0 0px !important;
  }
  #fp-beginner {
    background: #ffffff !important;
    padding: 0 5px 90px !important;
  }
  #fp-area {
    padding-top: 0 !important;
  }

  /* 本文テキスト 15px統一 */
  .fp-overview-desc,
  .fp-feature-card .fp-feature-title,
  .fp-feature-card .fp-feature-text,
  .fp-worries-strength-text p,
  .cta-unified-btn-text,
  .cta-unified-btn--phone .cta-unified-btn-text strong,
  .fp-reason-text,
  .fp-voice-text,
  .fp-buyback-desc {
    font-size: 15px !important;
  }

  /* 見出しテキスト 17px統一 */
  .fp-worries-strength-text h3,
  .fp-worries-item p,
  .fp-reason-title,
  .fp-voice-title {
    font-size: 17px !important;
  }

  .price-big {
    font-size: clamp(1.5rem, 8vw, 2rem) !important;
  }

  .fp-buyback-title {
    top: 22% !important;
  }
  .comp-container {
    max-width: 100% !important;
    padding: 0 0px !important;
  }
  .fp-ba-cases-inner {
    padding: 0 0px !important;
  }
  .fp-hero-bubble {
    display: none !important;
  }
  .fp-area-no1-label {
    top: 31% !important;
    font-size: clamp(22px, 7.8vw, 50px) !important;
  }
  .fp-area-no1-heading {
    left: 4% !important;
    font-size: clamp(18px, 8.8vw, 69px) !important;
  }
  .fp-area-no1-deco {
    width: clamp(47px, 3vw, 30px) !important;
  }
  .fp-area-no1-medal {
    right: inherit !important;
    bottom: 4% !important;
    left: 4% !important;
  }
  .fp-area-no1-medal-img {
    width: clamp(161px, 12vw, 195px) !important;
  }
  .fp-area-no1-medal-label {
    font-size: clamp(7px, 6vw, 17px) !important;
    margin-bottom: clamp(0px, 3.15vw, 10px) !important;
  }
  .fp-area-no1-medal-number {
    font-size: clamp(18px, 10.8vw, 60px) !important;
  }
  .fp-worries-card {
    padding: 28px 22px 16px 30px !important;
  }
  .fp-reasons-header-sub {
    font-size: clamp(23px, 2.2vw, 26px) !important;
    text-align: center !important;
  }
  .fp-reasons-medal-img {
    width: clamp(104px, 11vw, 168px) !important;
  }
  .fp-reasons-medal {
    left: 2% !important;
  }
  .fp-reasons-medal-label {
    font-size: clamp(12px, 0.7vw, 7px) !important;
  }
  .fp-reasons-medal-number {
    font-size: clamp(19px, 2vw, 14px) !important;
  }
  .fp-reasons-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }
  .fp-reasons-inner {
    padding: 40px 10px 60px !important;
  }
  .fp-voices-header-left {
    width: 100% !important;
  }
  .fp-voices-header-ribbon {
    width: 89% !important;
    margin: 1rem 0 !important;
    display: block !important;
    text-align: left !important;
  }
  .fp-voices-header-main {
    text-align: left !important;
  }
  .fp-voices-header-lead,
  .fp-voices-header-lead2 {
    font-size: 27px !important;
    margin-left: 0rem !important;
  }
  #fp-voices {
    padding: 60px 0px !important;
  }
  .fp-voices-header-banner {
    padding: 0px 0px !important;
  }
  .fp-voices-header-medal-img {
    width: 100% !important;
  }
  .fp-voices-header-medals {
    width: 70% !important;
  }
  .fp-voices-header-medal-label {
    font-size: 13px !important;
  }
  .fp-voices-header-medal-number {
    font-size: 38px !important;
  }
  .fp-overview-badge img {
    height: clamp(55px, 15vw, 82px) !important;
  }
  .fp-overview-badge span {
    font-size: clamp(16px, 4.5vw, 24px) !important;
  }
  .fp-buyback-check-badge {
    left: 2% !important;
  }
  .fp-buyback-content {
    flex-direction: column-reverse !important;
  }
  .fp-buyback-compare {
    width: 100% !important;
  }
  .fp-buyitems-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .fp-buyback-subtitle {
    font-size: clamp(12px, 3.5vw, 17px) !important;
    white-space: nowrap !important;
  }
  .fp-creditcard-banner {
    font-size: clamp(12px, 3.5vw, 18px) !important;
    white-space: nowrap !important;
    padding: 10px 8px !important;
  }
  .fp-review-no1-crown img {
    width: 87% !important;
  }
  .fp-review-no1-medal-wrap {
    width: 147px !important;
  }
  .fp-medal-top {
    font-size: 13px !important;
    margin-bottom: 4px !important;
  }
  .fp-medal-num {
    font-size: 38px !important;
  }
  .fp-ba-icons {
    display: grid !important;
    grid-template-columns: repeat(6, 1fr) !important;
    gap: 12px !important;
    justify-items: center !important;
  }
  .fp-ba-icon-item {
    width: 80px !important;
  }
  .fp-ba-icon-item:nth-child(1) { grid-column: 1 / 3 !important; }
  .fp-ba-icon-item:nth-child(2) { grid-column: 3 / 5 !important; }
  .fp-ba-icon-item:nth-child(3) { grid-column: 5 / 7 !important; }
  .fp-ba-icon-item:nth-child(4) { grid-column: 2 / 4 !important; }
  .fp-ba-icon-item:nth-child(5) { grid-column: 4 / 6 !important; }
  .fp-area-cities span {
    font-size: 14px !important;
    padding: 8px 16px !important;
  }

  /* --- ポイントバー テキスト改行防止 --- */
  .fp-hero-point-orange {
    white-space: nowrap !important;
    font-size: clamp(8px, 3vw, 16px) !important;
  }
  .fp-hero-point-item:nth-child(3) .fp-hero-point-orange {
    font-size: clamp(8px, 3.6vw, 16px) !important;
  }
  .fp-hero-point-content {
    top: 20% !important;
  }
  .fp-hero-point-green {
    white-space: nowrap !important;
    font-size: clamp(10px, 3.5vw, 18px) !important;
  }
  .fp-hero-point-sub {
    white-space: nowrap !important;
    font-size: clamp(4px, 2.6vw, 11px) !important;
  }
  .fp-hero-point-item:nth-child(5) .fp-hero-point-sub.fp-hero-point-orange {
    font-size: clamp(4px, 1.8vw, 8px) !important;
  }
  .fp-hero-point-item:nth-child(5) .fp-hero-point-green {
    font-size: clamp(10px, 3.5vw, 16px) !important;
  }

  /* --- 「不用品の回収でお困りですか？」改行防止 --- */
  .fp-intro-heading {
    font-size: clamp(20px, 5.5vw, 36px) !important;
    white-space: nowrap !important;
  }
  .fp-intro-heading-bold {
    font-size: clamp(24px, 6.5vw, 44px) !important;
  }

  /* --- 「ひとつでも当てはまる方は」改行防止 --- */
  .fp-worries-lead {
    font-size: clamp(18px, 5vw, 30px) !important;
    white-space: nowrap !important;
  }

  /* --- 比較ヘッダー 1.2倍 --- */
  .comp-magnifying-glass {
    width: 60px !important;
    height: 60px !important;
  }
  .comp-main-title {
    font-size: 1.9rem !important;
  }
  .comp-sub-title {
    font-size: 1.2rem !important;
  }

  /* --- 比較テーブル はみ出し防止 --- */
  .comp-table {
    width: 100% !important;
    table-layout: fixed !important;
  }
  .comp-table th,
  .comp-table td {
    font-size: clamp(11px, 3vw, 16px) !important;
    padding: 14px 6px !important;
    word-break: break-all !important;
  }
  .comp-big {
    font-size: clamp(14px, 4vw, 20px) !important;
  }

  /* --- 3つの特徴 タイトル改行防止 --- */
  .fp-feature-title {
    white-space: nowrap !important;
    font-size: clamp(11px, 3vw, 14px) !important;
    padding: 5px 10px !important;
  }
}




/* ===========================================================
   400px 以下 — 極小画面（310px対応）
   =========================================================== */
@media screen and (max-width: 400px) {

  /* --- Hero FV --- */
  .fp-hero-catch {
    font-size: clamp(11px, 3.5vw, 16px) !important;
    letter-spacing: 0 !important;
  }
  .fp-hero-region-text {
    font-size: clamp(18px, 6vw, 27px) !important;
    padding-bottom: 8px !important;
    margin-top: -4px !important;
    letter-spacing: 0 !important;
  }

  /* --- ポイントバー --- */
  .fp-hero-point-item img {
    width: clamp(45px, 26vw, 90px) !important;
  }
  .fp-hero-point-orange {
    font-size: clamp(6px, 2.5vw, 12px) !important;
  }
  .fp-hero-point-green {
    font-size: clamp(8px, 3vw, 14px) !important;
  }
  .fp-hero-point-sub {
    font-size: clamp(3px, 1.6vw, 7px) !important;
  }
  .fp-hero-point-item:nth-child(5) .fp-hero-point-sub.fp-hero-point-orange {
    font-size: clamp(3px, 1.4vw, 6px) !important;
  }
  .fp-hero-points-inner {
    gap: 2px !important;
  }
  .fp-hero-points-row {
    gap: 2px !important;
  }

  /* --- 共通セクションタイトル --- */
  .fp-section-title {
    font-size: 18px !important;
  }
  .fp-section-title .accent-number {
    font-size: 24px !important;
  }

  /* --- Overview --- */
  .fp-overview-heading {
    font-size: 16px !important;
  }
  .fp-overview-heading-hl {
    font-size: 22px !important;
  }
  .fp-overview-lead {
    font-size: clamp(9px, 2.8vw, 13px) !important;
    padding: 5px clamp(6px, 1.5vw, 10px) !important;
    letter-spacing: 0 !important;
  }
  .fp-overview-lead-em {
    font-size: clamp(13px, 3.8vw, 18px) !important;
  }
  .fp-overview-badge img {
    height: clamp(28px, 8vw, 36px) !important;
  }
  .fp-overview-badge span {
    font-size: clamp(8px, 2.5vw, 12px) !important;
  }

  /* --- Features 3つの特徴 --- */
  .fp-feature-title {
    font-size: clamp(9px, 2.6vw, 12px) !important;
    padding: 4px 8px !important;
  }
  .fp-feature-text {
    font-size: 11px !important;
    line-height: 1.6 !important;
  }

  /* --- Worries --- */
  .fp-worries-lower-inner {
    margin-bottom: 1.5rem !important;
  }
  .fp-worries-title {
    font-size: 18px !important;
  }
  .fp-worries-title-hl {
    font-size: 24px !important;
  }
  .fp-worries-item {
    font-size: 12px !important;
  }
  .fp-worries-lead {
    font-size: clamp(14px, 4.5vw, 22px) !important;
  }

  /* --- Reasons 選ばれる理由 --- */
  .fp-reasons-header-sub {
    font-size: clamp(16px, 5vw, 23px) !important;
  }
  .fp-reason-title {
    font-size: 12px !important;
  }
  .fp-reason-text {
    font-size: 10px !important;
  }
  .fp-reason-icon img {
    width: 45px !important;
    height: 45px !important;
  }

  /* --- Caution --- */
  .fp-caution-title {
    font-size: 22px !important;
  }
  .fp-caution-label {
    font-size: 12px !important;
  }
  .fp-caution-stripe-text {
    font-size: 12px !important;
  }

  /* --- Comparison --- */
  .comp-table {
    width: 600px !important;
  }
  .comp-main-title {
    font-size: 1.1rem !important;
  }

  /* --- Review No.1 --- */
  .fp-review-no1-medals {
    margin-top: -2.5rem !important;
  }
  .fp-review-no1-medal-wrap {
    width: clamp(60px, 20vw, 100px) !important;
  }
  .fp-medal-num {
    font-size: clamp(16px, 5vw, 28px) !important;
  }
  .fp-medal-top {
    font-size: clamp(6px, 2vw, 10px) !important;
    margin-bottom: 3px !important;
  }
  .fp-review-no1-sub {
    font-size: 20px !important;
  }
  .fp-review-no1-gyoukai {
    font-size: 20px !important;
  }
  .fp-review-no1-number {
    font-size: 55px !important;
  }

  /* --- Voices header --- */
  .fp-voices-header-ribbon {
    width: 80% !important;
  }
  .fp-voices-header-lead,
  .fp-voices-header-lead2 {
    font-size: clamp(16px, 5vw, 22px) !important;
  }
  .fp-voices-header-medal-img {
    width: 100% !important;
  }
  .fp-voices-header-medals {
    width: 80% !important;
  }
  .fp-voices-header-medal-number {
    font-size: clamp(24px, 7vw, 34px) !important;
  }
  .fp-voices-header-medal-label {
    font-size: clamp(8px, 2.5vw, 12px) !important;
  }

  /* --- BA Cases --- */
  .fp-ba-case-photos {
    height: 160px !important;
  }
  .fp-ba-arrow {
    width: 30px !important;
  }
  .after-label {
    font-size: 18px !important;
  }
  .fp-ba-icon-item {
    width: 60px !important;
  }

  /* --- Intro --- */
  .fp-intro-heading {
    font-size: clamp(16px, 5vw, 20px) !important;
  }
  .fp-intro-heading-bold {
    font-size: clamp(18px, 5.5vw, 24px) !important;
  }
  .fp-intro-photos {
    min-height: 180px !important;
  }

  /* --- Buyback --- */
  .fp-buyback-title {
    font-size: 14px !important;
  }
  .fp-buyback-check-badge {
    width: 50px !important;
  }

  /* --- Area --- */
  .fp-area-cities span {
    font-size: 12px !important;
    padding: 6px 12px !important;
  }

  /* --- 共通ボタン --- */
  .fp-btn-more {
    padding: 9px 22px !important;
    font-size: 12px !important;
  }
}

/* ========== max-width: 370px ========== */
@media screen and (max-width: 370px) {
  .phone-number-display {
    font-size: 26px !important;
  }
  .fp-web-cta-phone-number {
    font-size: 26px !important;
  }
}
