@media (max-width: 860px){
  body{
    padding-bottom: calc(96px + env(safe-area-inset-bottom)) !important;
  }

  .mobile-cta{
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 9999 !important;

    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;

    padding: 8px 8px calc(8px + env(safe-area-inset-bottom)) 8px !important;
    margin: 0 !important;

    background: rgba(255, 255, 255, 0.96) !important;
    border-top: 1px solid rgba(190, 200, 210, 0.45) !important;
    border-radius: 0 !important;
    box-shadow: 0 -6px 18px rgba(0, 0, 0, 0.08) !important;
  }

  .mobile-cta a,
  .mobile-cta button{
    min-height: 56px !important;
    padding: 8px 6px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    border-radius: 16px !important;
    font-weight: 700 !important;
    text-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: normal !important;
    word-break: keep-all !important;
    box-shadow: none !important;
  }

  /* 1つ目: LINE寄りの緑 */
  .mobile-cta a:nth-child(1),
  .mobile-cta button:nth-child(1){
    background: #16d84f !important;
    color: #ffffff !important;
    border: 1px solid rgba(0,0,0,0.04) !important;
  }

  /* 2つ目: 電話寄りの濃い青 */
  .mobile-cta a:nth-child(2),
  .mobile-cta button:nth-child(2){
    background: #1f4f86 !important;
    color: #ffffff !important;
    border: 1px solid rgba(0,0,0,0.04) !important;
  }

  /* 3つ目: フォーム寄りのブラウン */
  .mobile-cta a:nth-child(3),
  .mobile-cta button:nth-child(3){
    background: #9a7447 !important;
    color: #ffffff !important;
    border: 1px solid rgba(0,0,0,0.04) !important;
  }

  /* 4つ目: 内容寄りの淡色 */
  .mobile-cta a:nth-child(4),
  .mobile-cta button:nth-child(4){
    background: #f6f1e7 !important;
    color: #6a5a45 !important;
    border: 1px solid rgba(180, 160, 135, 0.45) !important;
  }
}

@media (max-width: 520px){
  body{
    padding-bottom: calc(90px + env(safe-area-inset-bottom)) !important;
  }

  .mobile-cta{
    gap: 6px !important;
    padding: 6px 6px calc(6px + env(safe-area-inset-bottom)) 6px !important;
  }

  .mobile-cta a,
  .mobile-cta button{
    min-height: 52px !important;
    padding: 7px 4px !important;
    font-size: 12px !important;
    border-radius: 14px !important;
  }
}
