/* 右下の操作アイコンを全ページで共通化する最終上書きCSS */
@media screen and (max-width: 1100px) {
  /* 横長の上部連絡ボタンは、右下の共通アイコン列と重複するため隠す */
  .pc-header-contact {
    display: none !important;
  }

  .mobile-floating-buttons {
    position: fixed !important;
    right: 18px !important;
    bottom: 18px !important;
    left: auto !important;
    top: auto !important;
    z-index: 4000 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 56px !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 10px !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .mobile-floating-buttons a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    flex: 0 0 56px !important;
    width: 56px !important;
    height: 56px !important;
    min-height: 56px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #167dc9 !important;
    color: transparent !important;
    box-shadow: 0 4px 12px rgba(16, 83, 132, 0.28) !important;
    font-size: 0 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: 25px 25px !important;
  }

  /* 既存のページ固有アイコンは使わず、全ページで同じSVGを表示する */
  .mobile-floating-buttons a i,
  .mobile-floating-buttons a .fas,
  .mobile-floating-buttons a .fab {
    display: none !important;
  }

  .mobile-floating-buttons a:nth-child(1) {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M7 3v4M17 3v4M3 10h18M8 14h.01M12 14h.01M16 14h.01M8 18h.01M12 18h.01'/%3E%3C/svg%3E") !important;
  }
  .mobile-floating-buttons a:nth-child(2) {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/svg%3E") !important;
  }
  .mobile-floating-buttons a:nth-child(3) {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M17.5 6.5h.01'/%3E%3C/svg%3E") !important;
  }
  .mobile-floating-buttons a:nth-child(4) {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 11 6-6 6 6M12 5v14'/%3E%3C/svg%3E") !important;
  }

  .mobile-floating-buttons a:hover,
  .mobile-floating-buttons a:focus-visible {
    background: #0d67a9 !important;
    outline: 3px solid rgba(22, 125, 201, 0.3) !important;
    outline-offset: 2px !important;
  }
}

@media screen and (min-width: 1101px) {
  .mobile-floating-buttons {
    display: none !important;
  }
}
