/* ---------------------------------------------------------
       リセット & ベース設定
    --------------------------------------------------------- */
    :root {
      --lp-primary: #007BC7;
      --lp-secondary: #005a9e;
      --lp-text: #1a1a1a;
      --lp-muted: #6b7280;
      --lp-bg-muted: #f5f5f5;
      --lp-bg-card: #ffffff;
      --lp-border: rgba(0, 0, 0, 0.1);
    }
    
    html body.starlink-lp-body {
      margin: 0 !important;
      padding: 0 !important;
      background-color: #fff !important;
      color: var(--lp-text) !important;
      font-family: 'Manrope', 'Noto Sans JP', sans-serif !important;
      line-height: 1.6 !important;
      width: 100% !important;
      overflow-x: hidden !important;
    }
    
    html body #starlink-lp-root {
      width: 100%;
      overflow-x: hidden;
      font-family: 'Manrope', 'Noto Sans JP', sans-serif;
      color: var(--lp-text);
      line-height: 1.6;
      text-align: left;
      padding-top: 100px !important;
    }
    
    @media (max-width: 768px) {
      html body #starlink-lp-root {
        padding-top: 80px !important;
      }
    }
    
    html body #starlink-lp-root * {
      box-sizing: border-box;
    }
    
    /* 親テーマのh3スタイル（ボーダー）を強制リセット */
    html body #starlink-lp-root h3,
    html body #starlink-lp-root h3:not(.title_no-style) {
      border: none !important;
      border-top: none !important;
      border-bottom: none !important;
      padding-top: 0 !important;
      padding-bottom: 0 !important;
      background: none !important;
    }
    
    /* 不要なCTAセクションの削除（非表示） */
    html body #starlink-lp-root .section:has(.cta-section-wrapper) {
      display: none !important;
    }
    
    html body #starlink-lp-root .cta-section-wrapper {
      display: none !important;
    }
    
    /* ---------------------------------------------------------
           ヘッダー
        --------------------------------------------------------- */
    html body #starlink-lp-root .header {
      position: fixed !important;
      top: 0 !important;
      left: 0 !important;
      width: 100vw !important;
      max-width: 100vw !important;
      z-index: 99999 !important;
      background: #ffffff !important;
      border-bottom: none !important;
      box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05) !important;
      height: auto !important;
      min-height: 80px !important;
      margin: 0 !important;
      padding: 0 !important;
      display: flex !important;
      justify-content: center !important;
    }
    
    html body.admin-bar #starlink-lp-root .header {
      top: 32px !important;
    }
    
    @media screen and (max-width: 782px) {
      html body.admin-bar #starlink-lp-root .header {
        top: 46px !important;
      }
    }
    
    html body #starlink-lp-root .header .container,
    html body #starlink-lp-root .header .header-content {
      max-width: 100vw !important;
      width: 100vw !important;
      padding-left: 40px !important;
      padding-right: 40px !important;
      margin: 0 !important;
      display: flex !important;
      justify-content: space-between !important;
      align-items: center !important;
      height: 100% !important;
      min-height: 80px !important;
    }
    
    html body #starlink-lp-root .header-logo {
      display: flex !important;
      align-items: center !important;
      justify-content: flex-start !important;
      width: auto !important;
      height: auto !important;
      margin: 0 !important;
      padding: 10px 0 !important;
      flex-shrink: 0 !important;
    }
    
    html body #starlink-lp-root .header-logo img {
      width: 150px !important;
      min-width: 150px !important;
      height: auto !important;
      aspect-ratio: 156 / 80 !important;
      object-fit: contain !important;
      max-width: none !important;
      display: block !important;
      margin: 0 !important;
      padding: 0 !important;
      border: none !important;
    }
    
    @media (max-width: 768px) {
      html body #starlink-lp-root .header-logo img {
        width: 120px !important;
        min-width: 120px !important;
      }
    
      html body #starlink-lp-root .header,
      html body #starlink-lp-root .header .container {
        min-height: 70px !important;
      }
    
      html body #starlink-lp-root .header .container {
        padding-left: 16px !important;
        padding-right: 16px !important;
      }
    }
    
    html body #starlink-lp-root .header-nav {
      display: none !important;
    }
    
    html body #starlink-lp-root .header-cta {
      display: none !important;
    }
    
    /* 文字サイズ強制指定 */
    @media (min-width: 1024px) {
      html body #starlink-lp-root .header-nav {
        display: flex !important;
        gap: 2.5rem !important;
        margin-left: auto !important;
        margin-right: 2.5rem !important;
      }
    
      html body #starlink-lp-root .header-nav a {
        text-decoration: none !important;
        color: var(--lp-text) !important;
        font-weight: 800 !important;
        font-size: 20px !important;
        border: none !important;
        background: none !important;
        letter-spacing: 0.05em !important;
      }
    
      html body #starlink-lp-root .header-nav a:hover {
        color: var(--lp-primary) !important;
      }
    
      html body #starlink-lp-root .header-cta {
        display: flex !important;
        gap: 1rem !important;
        align-items: center !important;
        margin-left: 0 !important;
      }
    
      html body #starlink-lp-root .header-cta .btn {
        width: auto !important;
        padding: 0.5rem 2rem !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        height: auto !important;
        min-height: 48px !important;
        /* 高さ調整 */
        line-height: 1.2 !important;
        display: inline-flex !important;
        border-radius: 6px !important;
        align-items: center !important;
      }
    }
    
    /* ---------------------------------------------------------
           電話番号バナー
        --------------------------------------------------------- */
    html body #starlink-lp-root .phone-banner {
      background: #fff !important;
      color: #1a1a1a !important;
      padding: 2.5rem 1rem !important;
      border: 3px solid var(--lp-primary) !important;
      border-radius: 12px !important;
      margin: 2rem auto !important;
      max-width: 900px !important;
      box-shadow: 0 4px 12px rgba(0, 123, 199, 0.1) !important;
    }
    
    html body #starlink-lp-root .phone-content {
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      gap: 2rem !important;
      flex-wrap: wrap !important;
    }
    
    /* WordPressが勝手に入れる br/p タグ対策 */
    html body #starlink-lp-root .phone-content br {
      display: none !important;
    }
    
    html body #starlink-lp-root .phone-content>p:empty {
      display: none !important;
    }
    
    @media (max-width: 768px) {
      html body #starlink-lp-root .phone-content {
        flex-direction: column !important;
        gap: 1.5rem !important;
      }
    }
    
    html body #starlink-lp-root .phone-text {
      font-weight: 700 !important;
      margin: 0 !important;
      font-size: 1.5rem !important;
      text-align: center !important;
    }
    
    @media (max-width: 768px) {
      html body #starlink-lp-root .phone-text {
        font-size: 1.125rem !important;
      }
    }
    
    html body #starlink-lp-root .phone-main-wrapper {
      display: flex !important;
      align-items: center !important;
      gap: 1.5rem !important;
    }
    
    html body #starlink-lp-root .badge-free {
      background: #00c0a0 !important;
      color: #fff !important;
      padding: 0.4rem 1rem !important;
      border-radius: 6px !important;
      font-size: 1.1rem !important;
      font-weight: bold !important;
      display: inline-block !important;
      line-height: 1.2 !important;
      vertical-align: middle !important;
    }
    
    @media (max-width: 768px) {
      html body #starlink-lp-root .badge-free {
        font-size: 0.9rem !important;
        padding: 0.25rem 0.75rem !important;
      }
    }
    
    html body #starlink-lp-root .phone-link {
      text-decoration: none !important;
      display: flex !important;
      align-items: center !important;
      gap: 0.5rem !important;
    }
    
    html body #starlink-lp-root .phone-icon {
      color: #0056b3 !important;
      font-size: 3.5rem !important;
      line-height: 1 !important;
      height: auto !important;
      width: auto !important;
    }
    
    @media (max-width: 768px) {
      html body #starlink-lp-root .phone-icon {
        font-size: 2.5rem !important;
      }
    }
    
    html body #starlink-lp-root .phone-number {
      font-size: 4rem !important;
      font-weight: 700 !important;
      color: #0056b3 !important;
      text-decoration: none !important;
      line-height: 1 !important;
      display: inline-block !important;
    }
    
    @media (max-width: 768px) {
      html body #starlink-lp-root .phone-number {
        font-size: 2.5rem !important;
      }
    }
    
    /* 受付時間 */
    html body #starlink-lp-root .phone-info {
      display: flex !important;
      flex-direction: row !important;
      gap: 1rem !important;
      align-items: center !important;
      font-size: 1.25rem !important;
      color: #666 !important;
      line-height: 1.4 !important;
      text-align: left !important;
      width: auto !important;
    }
    
    @media (max-width: 768px) {
      html body #starlink-lp-root .phone-info {
        font-size: 1rem !important;
        justify-content: center !important;
      }
    }
    
    html body #starlink-lp-root .phone-label {
      display: block !important;
    }
    
    html body #starlink-lp-root .phone-time {
      display: block !important;
      font-weight: 500 !important;
    }
    
    /* ---------------------------------------------------------
           ファーストビュー（余白削除）
        --------------------------------------------------------- */
    html body #starlink-lp-root .hero {
      position: relative !important;
      width: 100% !important;
      padding: 0 !important;
      margin: 0 !important;
      line-height: 0 !important;
      font-size: 0 !important;
      background: transparent !important;
      display: block !important;
    }
    
    html body #starlink-lp-root .hero picture,
    html body #starlink-lp-root .hero img {
      width: 100% !important;
      height: auto !important;
      display: block !important;
      border: none !important;
      margin: 0 !important;
      padding: 0 !important;
      vertical-align: bottom !important;
    }
    
    /* ---------------------------------------------------------
           ユーティリティ & 通常セクション
        --------------------------------------------------------- */
    html body #starlink-lp-root .container {
      max-width: 1200px !important;
      margin: 0 auto !important;
      padding: 0 1rem !important;
      width: 100% !important;
    }
    
    html body #starlink-lp-root .section {
      padding: 5rem 1rem !important;
      background: transparent !important;
    }
    
    @media (max-width: 768px) {
      html body #starlink-lp-root .section {
        padding: 3rem 1rem !important;
      }
    }
    
    html body #starlink-lp-root .bg-muted {
      background-color: var(--lp-bg-muted) !important;
    }
    
    html body #starlink-lp-root .text-center {
      text-align: center !important;
    }
    
    /* ---------------------------------------------------------
           セクションタイトル周り
        --------------------------------------------------------- */
    html body #starlink-lp-root .section-label {
      font-size: 1.75rem !important;
      font-weight: 800 !important;
      color: var(--lp-primary) !important;
      text-transform: uppercase;
      letter-spacing: 0.05em !important;
      margin-bottom: 0.75rem !important;
      text-align: center !important;
      display: block !important;
      border: none !important;
      background: none !important;
    }
    
    html body #starlink-lp-root .section-title {
      font-size: 3.25rem !important;
      font-weight: 800 !important;
      margin-bottom: 1.5rem !important;
      color: var(--lp-text) !important;
      text-align: center !important;
      line-height: 1.2 !important;
      background: transparent !important;
      border: none !important;
      padding: 0 !important;
      width: auto !important;
      display: block !important;
      box-shadow: none !important;
    }
    
    @media (max-width: 768px) {
      html body #starlink-lp-root .section-title {
        font-size: 2rem !important;
      }
    }
    
    html body #starlink-lp-root .section-subtitle {
      font-size: 1.5rem !important;
      color: var(--lp-muted) !important;
      margin-bottom: 4rem !important;
      text-align: center !important;
      max-width: 1000px !important;
      margin-left: auto !important;
      margin-right: auto !important;
      line-height: 1.8 !important;
      font-weight: 500 !important;
    }
    
    @media (max-width: 768px) {
      html body #starlink-lp-root .section-subtitle {
        font-size: 1.125rem !important;
      }
    }
    
    /* ---------------------------------------------------------
           カード・グリッド
        --------------------------------------------------------- */
    html body #starlink-lp-root .grid {
      display: grid !important;
      gap: 1.5rem !important;
    }
    
    html body #starlink-lp-root .grid-2 {
      grid-template-columns: 1fr !important;
    }
    
    html body #starlink-lp-root .grid-3 {
      grid-template-columns: 1fr !important;
    }
    
    html body #starlink-lp-root .grid-4 {
      grid-template-columns: 1fr !important;
    }
    
    html body #starlink-lp-root .grid-5 {
      grid-template-columns: 1fr !important;
    }
    
    @media (min-width: 768px) {
      html body #starlink-lp-root .grid-2 {
        grid-template-columns: repeat(2, 1fr) !important;
        display: grid !important;
      }
    
      /* 【修正】#plans配下で .grid-3 が指定されている場合、3列を優先する
             以前の記述だと #plans .grid の詳細度が高く、2列強制になっていた
            */
      html body #starlink-lp-root #plans .grid:not(.grid-3),
      html body #starlink-lp-root .plan-grid:not(.grid-3) {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 2rem !important;
      }
    
      /* .grid-3 の定義を明確化 */
      html body #starlink-lp-root .grid-3,
      html body #starlink-lp-root #plans .grid.grid-3 {
        grid-template-columns: repeat(3, 1fr) !important;
        display: grid !important;
        gap: 1.5rem !important;
      }
    
      html body #starlink-lp-root .grid-4 {
        grid-template-columns: repeat(4, 1fr) !important;
      }
    
      html body #starlink-lp-root .grid-5 {
        grid-template-columns: repeat(5, 1fr) !important;
      }
    }
    
    html body #starlink-lp-root .card {
      background: var(--lp-bg-card) !important;
      border-radius: 12px !important;
      padding: 1.5rem !important;
      box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06) !important;
      transition: all 0.3s ease !important;
      border: 1px solid var(--lp-border) !important;
      list-style: none !important;
      margin: 0 !important;
    }
    
    html body #starlink-lp-root .card:hover {
      box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05) !important;
      border-color: var(--lp-primary) !important;
    }
    
    html body #starlink-lp-root .icon-circle {
      width: 64px !important;
      height: 64px !important;
      background: rgba(0, 123, 199, 0.05) !important;
      border-radius: 50% !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      margin: 0 auto 1.5rem !important;
      color: var(--lp-primary) !important;
      border: none !important;
      box-shadow: none !important;
    }
    
    html body #starlink-lp-root .icon-circle .material-symbols-outlined {
      font-size: 32px !important;
      width: auto !important;
      height: auto !important;
      line-height: 1 !important;
      background: none !important;
    }
    
    /* ---------------------------------------------------------
           ボタン
        --------------------------------------------------------- */
    html body #starlink-lp-root .btn {
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      padding: 0.8rem 2rem !important;
      border-radius: 8px !important;
      font-weight: 700 !important;
      text-decoration: none !important;
      transition: all 0.3s ease !important;
      font-size: 1rem !important;
      cursor: pointer !important;
      line-height: 1.5 !important;
      border-style: solid !important;
      margin: 0 !important;
      max-width: 100% !important;
      height: auto !important;
      box-sizing: border-box !important;
    }
    
    html body #starlink-lp-root .btn-primary {
      background-color: var(--lp-primary) !important;
      color: #fff !important;
      border: 2px solid var(--lp-primary) !important;
    }
    
    html body #starlink-lp-root .btn-primary:hover {
      background-color: var(--lp-secondary) !important;
      border-color: var(--lp-secondary) !important;
      color: #fff !important;
    }
    
    html body #starlink-lp-root .btn-outline {
      background-color: transparent !important;
      color: var(--lp-primary) !important;
      border: 2px solid var(--lp-primary) !important;
    }
    
    html body #starlink-lp-root .btn-outline:hover {
      background-color: rgba(0, 123, 199, 0.05) !important;
    }
    
    html body #starlink-lp-root .btn-lg {
      min-height: 72px !important;
      font-size: 1.25rem !important;
      font-weight: 800 !important;
      padding: 1rem 3rem !important;
      min-width: 340px !important;
      display: inline-flex !important;
    }
    
    @media (max-width: 768px) {
    
      html body #starlink-lp-root .cta-section-wrapper .btn-lg,
      html body #starlink-lp-root .plan-card .btn {
        width: 100% !important;
        min-width: auto !important;
      }
    }
    
    /* ---------------------------------------------------------
           その他パーツ
        --------------------------------------------------------- */
    html body #starlink-lp-root .cta-section-wrapper {
      display: flex !important;
      flex-direction: column !important;
      align-items: center !important;
      gap: 1.5rem !important;
      max-width: 700px !important;
      margin: 0 auto !important;
    }
    
    html body #starlink-lp-root .intro-container {
      display: flex !important;
      flex-direction: column !important;
      gap: 3rem !important;
    }
    
    @media (min-width: 768px) {
      html body #starlink-lp-root .intro-container {
        flex-direction: row !important;
        align-items: center !important;
      }
    
      html body #starlink-lp-root .intro-text {
        flex: 1 !important;
      }
    
      html body #starlink-lp-root .intro-image {
        flex: 1 !important;
      }
    }
    
    html body #starlink-lp-root .feature-item {
      display: flex !important;
      align-items: flex-start !important;
      gap: 1rem !important;
      margin-bottom: 2rem !important;
    }
    
    html body #starlink-lp-root .feature-icon {
      color: var(--lp-primary) !important;
      background: rgba(0, 123, 199, 0.05) !important;
      padding: 0.5rem !important;
      border-radius: 50% !important;
      flex-shrink: 0 !important;
    }
    
    /* ---------------------------------------------------------
           【新規】料金プランカード
        --------------------------------------------------------- */
    html body #starlink-lp-root .plan-card-new {
      display: flex !important;
      flex-direction: column !important;
      height: 100% !important;
      border: 1px solid var(--lp-border) !important;
      border-radius: 12px !important;
      overflow: hidden !important;
      background: #fff !important;
      transition: all 0.3s ease !important;
    }
    
    html body #starlink-lp-root .plan-card-new.featured {
      border-color: var(--lp-primary) !important;
      box-shadow: 0 8px 24px rgba(0, 123, 199, 0.15) !important;
      transform: scale(1.02) !important;
      z-index: 1 !important;
    }
    
    html body #starlink-lp-root .plan-header-new {
      padding: 2rem 1.5rem !important;
      text-align: center !important;
      color: #fff !important;
    }
    
    html body #starlink-lp-root .plan-card-new.local .plan-header-new {
      background: var(--lp-primary) !important;
    }
    
    html body #starlink-lp-root .plan-card-new.global .plan-header-new {
      background: #001f5c !important;
    }
    
    html body #starlink-lp-root .plan-title-new {
      font-weight: 800 !important;
      margin: 0 !important;
      color: #fff !important;
    }
    
    html body #starlink-lp-root .plan-usecase {
      padding: 1.5rem !important;
      background: #f9fafb !important;
      border-bottom: 1px solid var(--lp-border) !important;
      line-height: 1.6 !important;
      color: var(--lp-text) !important;
      flex-grow: 1 !important;
    }
    
    html body #starlink-lp-root .plan-price-table {
      width: 100% !important;
      border-collapse: collapse !important;
      margin: 0 !important;
    }
    
    html body #starlink-lp-root .plan-price-table th,
    html body #starlink-lp-root .plan-price-table td {
      padding: 1rem 1.5rem !important;
      border-bottom: 1px solid var(--lp-border) !important;
      text-align: left !important;
    }
    
    html body #starlink-lp-root .plan-price-table th {
      background: #fff !important;
      font-weight: 700 !important;
      color: var(--lp-text) !important;
      width: 45% !important;
    }
    
    html body #starlink-lp-root .plan-price-table td {
      text-align: right !important;
      font-weight: 700 !important;
      color: var(--lp-primary) !important;
    }
    
    html body #starlink-lp-root .plan-support {
      padding: 1.5rem !important;
      background: rgba(0, 123, 199, 0.05) !important;
      text-align: center !important;
      font-weight: 700 !important;
    }
    
    html body #starlink-lp-root .support-label {
      display: block !important;
      font-size: 0.9rem !important;
      color: var(--lp-muted) !important;
      margin-bottom: 0.25rem !important;
    }
    
    html body #starlink-lp-root .support-price {
      font-size: 1.5rem !important;
      color: var(--lp-primary) !important;
    }
    
    /* ---------------------------------------------------------
           比較表・詳細スペック表
        --------------------------------------------------------- */
    html body #starlink-lp-root .spec-table-wrapper {
      overflow-x: auto !important;
      border-radius: 8px !important;
      border: 1px solid var(--lp-border) !important;
      background: #fff !important;
    }
    
    html body #starlink-lp-root .spec-table {
      width: 100% !important;
      border-collapse: collapse !important;
      min-width: 800px !important;
      margin: 0 !important;
      background: transparent !important;
    }
    
    html body #starlink-lp-root .spec-table th,
    html body #starlink-lp-root .spec-table td {
      padding: 1.25rem !important;
      border: 1px solid var(--lp-border) !important;
      text-align: center !important;
      vertical-align: middle !important;
    }
    
    html body #starlink-lp-root .spec-table th {
      background-color: var(--lp-primary) !important;
      color: #fff !important;
      font-weight: 700 !important;
      border-color: rgba(255, 255, 255, 0.1) !important;
    }
    
    html body #starlink-lp-root .spec-detail-table {
      width: 100% !important;
      border-collapse: collapse !important;
      min-width: 700px !important;
      margin: 0 !important;
      background: transparent !important;
    }
    
    html body #starlink-lp-root .spec-detail-table th,
    html body #starlink-lp-root .spec-detail-table td {
      padding: 1rem 1.5rem !important;
      border: 1px solid var(--lp-border) !important;
      vertical-align: middle !important;
    }
    
    html body #starlink-lp-root .spec-detail-table thead th {
      background-color: var(--lp-primary) !important;
      color: #fff !important;
      font-weight: 700 !important;
      text-align: center !important;
      border-color: rgba(255, 255, 255, 0.1) !important;
    }
    
    html body #starlink-lp-root .spec-detail-table tbody th {
      background-color: var(--lp-bg-muted) !important;
      color: var(--lp-text) !important;
      font-weight: 700 !important;
      text-align: left !important;
    }
    
    html body #starlink-lp-root .spec-detail-table tbody td {
      background-color: #fff !important;
      color: var(--lp-text) !important;
      text-align: left !important;
    }
    
    html body #starlink-lp-root .spec-detail-table .col-category {
      width: 15% !important;
    }
    
    html body #starlink-lp-root .spec-detail-table .col-item {
      width: 25% !important;
    }
    
    html body #starlink-lp-root .spec-detail-table .col-value {
      width: 60% !important;
    }
    
    html body #starlink-lp-root .spec-notes {
      margin-top: 1rem !important;
      padding: 1rem !important;
      background: #f9fafb !important;
      border-radius: 8px !important;
    }
    
    html body #starlink-lp-root .spec-notes p {
      color: var(--lp-muted) !important;
      margin-bottom: 0.5rem !important;
      line-height: 1.5 !important;
    }
    
    html body #starlink-lp-root .spec-notes p:last-child {
      margin-bottom: 0 !important;
    }
    
    html body #starlink-lp-root .text-sm {
      font-size: 0.875rem !important;
      color: var(--lp-muted) !important;
    }
    
    html body #starlink-lp-root .note-mark {
      font-size: 0.75em !important;
      vertical-align: super !important;
      color: var(--lp-primary) !important;
    }
    
    html body #starlink-lp-root .specs-layout {
      display: flex !important;
      gap: 2rem !important;
      align-items: center !important;
      flex-wrap: wrap !important;
    }
    
    html body #starlink-lp-root .specs-main {
      flex: 1 !important;
      min-width: 0 !important;
    }
    
    html body #starlink-lp-root .specs-sidebar {
      width: 320px !important;
      flex-shrink: 0 !important;
      background: #fff !important;
      padding: 1.5rem !important;
      border-radius: 12px !important;
      border: 1px solid var(--lp-border) !important;
    }
    
    html body #starlink-lp-root .specs-sidebar-title {
      font-size: 1.25rem !important;
      font-weight: 700 !important;
      margin-bottom: 1rem !important;
      text-align: center !important;
      border: none !important;
      color: var(--lp-text) !important;
    }
    
    html body #starlink-lp-root .specs-image-wrapper img {
      width: 100% !important;
      height: auto !important;
      border-radius: 8px !important;
      display: block !important;
    }
    
    @media (max-width: 1024px) {
      html body #starlink-lp-root .specs-layout {
        flex-direction: column !important;
      }
    
      html body #starlink-lp-root .specs-sidebar {
        width: 100% !important;
        max-width: 500px !important;
        margin: 0 auto !important;
      }
    }
    
    /* ---------------------------------------------------------
           導入の流れ（ステップ表示）
        --------------------------------------------------------- */
    html body #starlink-lp-root .flow-steps-grid {
      display: grid !important;
      grid-template-columns: 1fr !important;
      gap: 2rem !important;
    }
    
    @media (min-width: 1024px) {
      html body #starlink-lp-root .flow-steps-grid {
        grid-template-columns: repeat(5, 1fr) !important;
        gap: 1rem !important;
      }
    }
    
    html body #starlink-lp-root .flow-step-item {
      display: flex !important;
      flex-direction: column !important;
      align-items: center !important;
      text-align: center !important;
    }
    
    html body #starlink-lp-root .step-indicator {
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      position: relative !important;
      width: 100% !important;
      margin-bottom: 1.5rem !important;
    }
    
    html body #starlink-lp-root .step-circle {
      width: 70px !important;
      height: 70px !important;
      background: #dbeafe !important;
      color: #1e40af !important;
      border-radius: 50% !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      font-weight: 800 !important;
      z-index: 2 !important;
      flex-shrink: 0 !important;
    }
    
    html body #starlink-lp-root .step-line-left,
    html body #starlink-lp-root .step-line-right {
      height: 3px !important;
      background: #bfdbfe !important;
      flex-grow: 1 !important;
    }
    
    html body #starlink-lp-root .step-line-left {
      margin-right: 0 !important;
    }
    
    html body #starlink-lp-root .step-line-right {
      margin-left: 0 !important;
    }
    
    html body #starlink-lp-root .flow-step-item:first-child .step-line-left {
      visibility: hidden !important;
    }
    
    html body #starlink-lp-root .flow-step-item:last-child .step-line-right {
      visibility: hidden !important;
    }
    
    @media (max-width: 1024px) {
    
      html body #starlink-lp-root .step-line-left,
      html body #starlink-lp-root .step-line-right {
        display: none !important;
      }
    }
    
    html body #starlink-lp-root .step-card {
      background: #fff !important;
      border-radius: 8px !important;
      padding: 2rem 1.5rem !important;
      box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important;
      width: 100% !important;
      height: 100% !important;
      display: flex !important;
      flex-direction: column !important;
      align-items: center !important;
      border: 1px solid var(--lp-border) !important;
    }
    
    html body #starlink-lp-root .step-icon {
      color: var(--lp-primary) !important;
      margin-bottom: 1.5rem !important;
    }
    
    html body #starlink-lp-root .step-icon .material-symbols-outlined {
      font-size: 3rem !important;
    }
    
    html body #starlink-lp-root .step-title {
      font-weight: 700 !important;
      margin-bottom: 1rem !important;
      color: var(--lp-text) !important;
    }
    
    html body #starlink-lp-root .step-desc {
      color: var(--lp-muted) !important;
      line-height: 1.8 !important;
      margin: 0 !important;
    }
    
    /* ---------------------------------------------------------
           活用シーン
        --------------------------------------------------------- */
    html body #starlink-lp-root .usecase-item {
      margin-top: 1rem !important;
    }
    
    html body #starlink-lp-root .usecase-label {
      display: inline-block !important;
      font-weight: 700 !important;
      padding: 0.25rem 0.75rem !important;
      border-radius: 4px !important;
      margin-bottom: 0.5rem !important;
    }
    
    html body #starlink-lp-root .usecase-label.problem {
      background-color: #fef2f2 !important;
      color: #dc2626 !important;
      border: 1px solid #fecaca !important;
    }
    
    html body #starlink-lp-root .usecase-label.solution {
      background-color: #eff6ff !important;
      color: var(--lp-primary) !important;
      border: 1px solid #bfdbfe !important;
    }
    
    html body #starlink-lp-root .usecase-text {
      line-height: 1.6 !important;
      color: var(--lp-text) !important;
      margin: 0 !important;
    }
    
    /* ---------------------------------------------------------
           FAQセクション
        --------------------------------------------------------- */
    html body #starlink-lp-root .faq-details {
      border: 1px solid var(--lp-border) !important;
      border-radius: 8px !important;
      margin-bottom: 1rem !important;
      background: #fff !important;
      overflow: hidden !important;
    }
    
    html body #starlink-lp-root .faq-summary {
      display: flex !important;
      justify-content: space-between !important;
      align-items: center !important;
      padding: 1.5rem !important;
      cursor: pointer !important;
      list-style: none !important;
      font-weight: 700 !important;
      background-color: #fff !important;
      transition: background-color 0.2s !important;
    }
    
    html body #starlink-lp-root .faq-summary:hover {
      background-color: #f9fafb !important;
    }
    
    html body #starlink-lp-root .faq-summary::-webkit-details-marker {
      display: none !important;
    }
    
    html body #starlink-lp-root .faq-icon {
      font-size: 1.5rem !important;
      transition: transform 0.3s ease !important;
      color: var(--lp-text) !important;
    }
    
    html body #starlink-lp-root .faq-details[open] .faq-icon {
      transform: rotate(180deg) !important;
    }
    
    html body #starlink-lp-root .faq-content {
      padding: 0 1.5rem 1.5rem 1.5rem !important;
      color: var(--lp-muted) !important;
      line-height: 1.8 !important;
      border-top: 1px solid transparent !important;
    }
    
    html body #starlink-lp-root .faq-details[open] .faq-content {
      border-top-color: var(--lp-border) !important;
      padding-top: 1.5rem !important;
    }
    
    
    html body #starlink-lp-root .faq-item {
      border: 1px solid var(--lp-border) !important;
      border-radius: 8px !important;
      margin-bottom: 1rem !important;
      overflow: hidden !important;
      background: #fff !important;
    }
    
    html body #starlink-lp-root .faq-question {
      background: #fff !important;
      padding: 1.5rem !important;
      cursor: pointer !important;
      font-weight: 700 !important;
      display: flex !important;
      justify-content: space-between !important;
      align-items: center !important;
      list-style: none !important;
      margin: 0 !important;
    }
    
    html body #starlink-lp-root .faq-question::-webkit-details-marker {
      display: none !important;
    }
    
    html body #starlink-lp-root .faq-question::after {
      content: '+' !important;
      font-size: 1.5rem !important;
      color: var(--lp-primary) !important;
    }
    
    details[open] .faq-question::after {
      content: '−' !important;
    }
    
    html body #starlink-lp-root .faq-answer {
      background: var(--lp-bg-muted) !important;
      padding: 1.5rem !important;
      color: var(--lp-muted) !important;
      border-top: 1px solid var(--lp-border) !important;
      margin: 0 !important;
      line-height: 1.8 !important;
    }
    
    /* ---------------------------------------------------------
           フッター（白背景・横並び修正版・ボーダー強制削除）
        --------------------------------------------------------- */
    /* フッター全体 */
    html body #starlink-lp-root .footer {
      background-color: #ffffff !important;
      color: var(--lp-text) !important;
      padding: 4rem 0 2rem !important;
      border-top: none !important;
      border: none !important;
      /* 親テーマのボーダーを消す */
    }
    
    /* リンク色などのリセット */
    html body #starlink-lp-root .footer a {
      color: var(--lp-muted) !important;
      text-decoration: none !important;
    }
    
    html body #starlink-lp-root .footer a:hover {
      color: var(--lp-primary) !important;
    }
    
    /* グリッドレイアウト（PCは横並び、SPは縦並び） */
    html body #starlink-lp-root .footer-grid {
      display: flex !important;
      flex-direction: column !important;
      gap: 3rem !important;
      margin-bottom: 3rem !important;
    }
    
    @media (min-width: 768px) {
      html body #starlink-lp-root .footer-grid {
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: flex-start !important;
      }
    
      /* 左側の幅確保 */
      html body #starlink-lp-root .footer-col-main {
        flex: 1 !important;
        max-width: 50% !important;
        margin-right: auto !important;
      }
    
      /* 右側のリンク群 */
      html body #starlink-lp-root .footer-col-links,
      html body #starlink-lp-root .footer-col-legal {
        min-width: 200px !important;
      }
    }
    
    /* ロゴ */
    html body #starlink-lp-root .footer-logo {
      margin-bottom: 1.5rem !important;
    }
    
    /* 【修正】正しいセレクタ (imgタグ自体にクラスがあるため) */
    html body #starlink-lp-root img.footer-logo {
      height: 70px !important;
      width: auto !important;
      filter: none !important;
      /* 元の黒背景用反転を解除 */
      border: none !important;
      margin: 0 !important;
    }
    
    /* 会社名・住所 */
    html body #starlink-lp-root .footer-company-name {
      font-size: 1.125rem !important;
      font-weight: 700 !important;
      margin-bottom: 1rem !important;
      color: var(--lp-text) !important;
    }
    
    html body #starlink-lp-root .footer-address {
      font-size: 0.875rem !important;
      color: var(--lp-muted) !important;
      line-height: 1.6 !important;
      margin: 0 !important;
    }
    
    /* 見出し */
    html body #starlink-lp-root .footer-heading {
      /* 【修正】見出しサイズ2rem */
      font-size: 2rem !important;
      font-weight: 700 !important;
      margin-bottom: 1.5rem !important;
      color: var(--lp-text) !important;
      border: none !important;
      /* 見出しのボーダー対策 */
    }
    
    /* リンク */
    html body #starlink-lp-root .footer-links {
      list-style: none !important;
      padding: 0 !important;
      margin: 0 !important;
    }
    
    html body #starlink-lp-root .footer-links li {
      margin-bottom: 0.75rem !important;
      border: none !important;
      /* リストアイテムのボーダー対策 */
    }
    
    /* コピーライト */
    html body #starlink-lp-root .footer-copyright {
      /* ボーダーなし */
      border-top: none !important;
      border: none !important;
      padding-top: 2rem !important;
      text-align: center !important;
      margin-top: 0 !important;
    }
    
    html body #starlink-lp-root .footer-copyright p {
      color: var(--lp-muted) !important;
      font-size: 0.875rem !important;
      margin: 0 !important;
    }
    
    html body #starlink-lp-root .footer p:empty,
    html body #starlink-lp-root .footer-grid>p {
      display: none !important;
    }
    
    /* ---------------------------------------------------------
           【PC版フォントサイズ調整】
           ※768px以上で強制的にサイズを上書き
        --------------------------------------------------------- */
    @media (min-width: 768px) {
    
      /* StarlinkBusiness */
      html body #starlink-lp-root #about h3,
      html body #starlink-lp-root .intro-text h3 {
        font-size: 2rem !important;
      }
    
      html body #starlink-lp-root #about h4,
      html body #starlink-lp-root .intro-text h4 {
        font-size: 2rem !important;
      }
    
      html body #starlink-lp-root #about p,
      html body #starlink-lp-root .intro-text p {
        font-size: 1.5rem !important;
      }
    
      /* 提供プラン・料金 */
      html body #starlink-lp-root .plan-title-new {
        font-size: 2rem !important;
      }
    
      html body #starlink-lp-root .plan-usecase {
        font-size: 1.5rem !important;
      }
    
      html body #starlink-lp-root .plan-price-table th,
      html body #starlink-lp-root .plan-price-table td {
        font-size: 1.8rem !important;
      }
    
      /* 補足欄（#plansセクション内のコンテナ直下div内のp） */
      html body #starlink-lp-root #plans>.container>div:last-of-type p {
        font-size: 1.5rem !important;
        line-height: 1.8 !important;
      }
    
      /* 提供機器スペック */
      html body #starlink-lp-root .spec-detail-table td {
        font-size: 1.8rem !important;
      }
    
      html body #starlink-lp-root .spec-notes p {
        font-size: 1.5rem !important;
      }
    
      /* ご利用開始までの流れ */
      html body #starlink-lp-root .step-title {
        font-size: 1.8rem !important;
      }
    
      html body #starlink-lp-root .step-circle {
        font-size: 2.5rem !important;
      }
    
      html body #starlink-lp-root .step-desc {
        font-size: 1.5rem !important;
      }
    
      html body #starlink-lp-root #onboarding p {
        font-size: 1.5rem !important;
      }
    
      /* よくある質問 */
      html body #starlink-lp-root .faq-question-text {
        font-size: 1.5rem !important;
      }
    
      html body #starlink-lp-root .faq-summary {
        font-size: 1.5rem !important;
      }
    
      html body #starlink-lp-root .faq-content p {
        font-size: 1.5rem !important;
      }
    }
    
    /* ---------------------------------------------------------
           スマホ表示修正パッチ（最後に追加してください）
        --------------------------------------------------------- */
    @media (max-width: 768px) {
    
      /* 1. レイアウトを縦並びにする（念のため詳細度を高く指定） */
      html body #starlink-lp-root .specs-layout {
        display: flex !important;
        flex-direction: column !important;
        gap: 2rem !important;
      }
    
      /* 2. 画像エリアを画面幅いっぱいに広げる */
      html body #starlink-lp-root .specs-sidebar {
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 1rem !important;
      }
    
      /* 3. テーブルの固定幅(700px)を解除し、画面幅に合わせる */
      html body #starlink-lp-root .spec-detail-table {
        min-width: auto !important;
        /* 固定幅を解除 */
        width: 100% !important;
        table-layout: fixed !important;
        /* カラム幅を維持してはみ出しを防ぐ */
      }
    
      html body #starlink-lp-root .spec-table-wrapper {
        overflow-x: visible !important;
        /* 横スクロールをさせない */
      }
    
      /* 4. セル内の余白を縮めて文字を小さくする（スマホで見やすく） */
      html body #starlink-lp-root .spec-detail-table th,
      html body #starlink-lp-root .spec-detail-table td {
        padding: 0.8rem 0.4rem !important;
        /* 左右の余白を極限まで削る */
        font-size: 13px !important;
        /* 文字サイズ調整 */
        word-wrap: break-word !important;
        /* 長い単語は改行させる */
        line-height: 1.4 !important;
      }
    
      /* 5. カラム幅のバランス調整 */
      html body #starlink-lp-root .spec-detail-table .col-category {
        width: 12% !important;
      }
    
      html body #starlink-lp-root .spec-detail-table .col-item {
        width: 28% !important;
      }
    
      html body #starlink-lp-root .spec-detail-table .col-value {
        width: 60% !important;
      }
    
      /* --------------------------------------------------------------------------------
               導入フローのスマホ最適化（Timeline化）
            -------------------------------------------------------------------------------- */
    
      /* 全体を縦並びに変更し、ギャップをなくす（線をつなげるため） */
      html body #starlink-lp-root .flow-steps-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
      }
    
      /* アイテムを横並び（番号-内容）に変更 */
      html body #starlink-lp-root .flow-step-item {
        display: flex !important;
        flex-direction: row !important;
        align-items: stretch !important;
        text-align: left !important;
        position: relative !important;
        padding-bottom: 2rem !important;
      }
    
      /* 最後のアイテムは下の余白なし */
      html body #starlink-lp-root .flow-step-item:last-child {
        padding-bottom: 0 !important;
      }
    
      /* インジケーター（左側の丸と線） */
      html body #starlink-lp-root .step-indicator {
        width: 48px !important;
        flex-shrink: 0 !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        margin: 0 !important;
        padding-top: 0.5rem !important;
        /* カードの上端と合わせる微調整 */
        position: relative !important;
      }
    
      /* 数字の丸 */
      html body #starlink-lp-root .step-circle {
        width: 40px !important;
        height: 40px !important;
        font-size: 1.25rem !important;
        margin: 0 auto !important;
        z-index: 2 !important;
        background: #e0f2fe !important;
        /* 背景色（薄い青） */
        color: var(--lp-primary) !important;
        border: 2px solid #fff !important;
        /* 白枠で浮き立たせる */
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
      }
    
      /* 縦線（擬似要素で描画） */
      html body #starlink-lp-root .step-indicator::after {
        content: '' !important;
        position: absolute !important;
        top: 40px !important;
        /* 丸の下から */
        bottom: -30px !important;
        /* 次の丸まで伸ばす */
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: 2px !important;
        background: #bfdbfe !important;
        z-index: 1 !important;
      }
    
      /* 最後の要素の線は消す */
      html body #starlink-lp-root .flow-step-item:last-child .step-indicator::after {
        display: none !important;
      }
    
      /* カード部分（右側） */
      html body #starlink-lp-root .step-card {
        flex: 1 !important;
        margin-left: 1rem !important;
        padding: 1.25rem !important;
        text-align: left !important;
        align-items: flex-start !important;
        width: auto !important;
        height: auto !important;
        min-height: auto !important;
      }
    
      /* アイコンは非表示にしてコンパクト化 */
      html body #starlink-lp-root .step-icon {
        display: none !important;
      }
    
      /* テキスト調整 */
      html body #starlink-lp-root .step-title {
        margin-top: 0 !important;
        margin-bottom: 0.5rem !important;
        font-size: 1.1rem !important;
      }
    
      html body #starlink-lp-root .step-desc {
        margin: 0 !important;
        font-size: 0.9rem !important;
        line-height: 1.6 !important;
      }
    }