@charset "utf-8";
/* -------------------------
   Contact Form 7 カスタマイズ
------------------------- */
/* 入力欄のフォーカス時の色をブランドカラーに */
.cf7-wrapper .form-control:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 0.25rem rgba(0, 86, 179, 0.1);
}

/* ラジオボタンを縦並びに綺麗に配置 */
.custom-radio-group .wpcf7-list-item {
    display: block;
    margin-bottom: 12px;
    margin-left: 0;
}
.custom-radio-group .wpcf7-list-item-label {
    cursor: pointer;
    font-weight: 400;
}
.custom-radio-group input[type="radio"] {
    margin-right: 10px;
    transform: scale(1.2); /* 少し大きくして押しやすく */
    cursor: pointer;
}


/* -------------------------
   事業案内ページ用フローティングボタン
------------------------- */
  @media (min-width: 992px) {
    .floating-side-menu {
      position: fixed;
      top: 50%;
      transform: translateY(-50%);
      z-index: 1050;
      display: flex;
      flex-direction: column;
      gap: 15px; /* ボタン同士の隙間 */
    }
    .floating-circle-btn {
      width: 85px;
      height: 85px;
      border-radius: 50%;
      background-color: #2b303a; /* クールなダークグレー */
      color: #ffffff !important;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-decoration: none;
      box-shadow: 0 5px 15px rgba(0,0,0,0.25); /* 浮遊感のある影 */
      transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1);
      font-size: 0.7rem;
      font-weight: 500;
      letter-spacing: 0.05em;
      line-height: 1.2;
      text-align: center;
    }
    .floating-circle-btn i {
      font-size: 1.3rem;
      margin-bottom: 6px;
      color: #adb5bd;
      transition: color 0.3s ease;
    }
    /* ホバー時の動き */
    .floating-circle-btn:hover {
      background-color: var(--primary-color);
      transform: translateY(-5px); /* 少し上に浮き上がる */
      box-shadow: 0 10px 25px rgba(0,0,0,0.3); /* 影を濃く広く */
    }
    .floating-circle-btn:hover i {
      color: #ffffff;
    }
  }

/* -------------------------
   共通フローティングボタン (Page Navigation)
------------------------- */
@media (min-width: 992px) {
  /* ベースレイアウト */
  .floating-side-menu {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1050;
    display: flex;
    flex-direction: column;
    gap: 15px; /* ボタン同士の隙間 */
  }

  /* 配置バリエーション */
  .floating-side-menu.pos-left {
    left: 20px;
  }
  .floating-side-menu.pos-right {
    right: 20px;
  }

  /* ボタン共通の形と動き */
  .floating-circle-btn {
    width: 85px;
    height: 85px;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    box-shadow: 0 5px 15px rgba(0,0,0,0.25);
    transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1);
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.2;
    text-align: center;
  }
  .floating-circle-btn i {
    font-size: 1.3rem;
    margin-bottom: 6px;
    transition: color 0.3s ease;
  }
  /* ホバー時の浮き上がりと影 */
  .floating-circle-btn:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.3);
  }

  /* === テーマ1：ダークグレー（事業案内用） === */
  .theme-dark .floating-circle-btn {
    background-color: #2b303a;
    color: #ffffff !important;
  }
  .theme-dark .floating-circle-btn i {
    color: #adb5bd;
  }
  .theme-dark .floating-circle-btn:hover {
    background-color: var(--primary-color);
  }
  .theme-dark .floating-circle-btn:hover i {
    color: #ffffff;
  }

  /* === テーマ2：薄いブルーグレー（会社概要用） === */
  .theme-bluegray .floating-circle-btn {
    background-color: #7a8b9e; /* 上品な薄いブルーグレー */
    color: #ffffff !important;
  }
  .theme-bluegray .floating-circle-btn i {
    color: #e2e8f0;
  }
  .theme-bluegray .floating-circle-btn:hover {
    background-color: var(--primary-color);
  }
  .theme-bluegray .floating-circle-btn:hover i {
    color: #ffffff;
  }
}

/* マップボタンのホバーエフェクト（共通） */
.btn-map-custom {
  background-color: var(--primary-color);
  color: #ffffff !important;
  border: none;
  transition: all 0.3s ease;
}
.btn-map-custom:hover {
  background-color: #2b303a;
  transform: translateY(-3px);
  box-shadow: 0 5px 15px rgba(0,0,0,0.15);
}

/* ==========================================================================
   右側 SNSフローティングメニュー (不動産ページ用)
   ========================================================================== */
.floating-side-menu.pos-right {
    position: fixed;
    top: 50%;
    right: 20px; /* 画面右端からの余白 */
    transform: translateY(-50%);
    z-index: 1000;
    flex-direction: column;
    gap: 15px; /* ボタン同士の隙間 */
}

/* ボタンの基本形状と動き */
.floating-side-menu.pos-right .floating-circle-btn {
    width: 100px!important;
    height: 100px!important;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: #fff !important;
    text-decoration: none;
    box-shadow: 0 4px 15px rgba(0,0,0,0.15);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* ホバーで少し浮き上がる動き */
.floating-side-menu.pos-right .floating-circle-btn:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.25);
}

/* アイコンのサイズと色 */
.floating-side-menu.pos-right .floating-circle-btn i {
    font-size: 1.8rem;
    margin-bottom: 2px;
    color: #ffffff; /* ★追加: アイコンの色を確実に白にする */
}

/* テキストのサイズ */
.floating-side-menu.pos-right .floating-circle-btn span {
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.05em;
}

/* LINEカラー */
.floating-side-menu.pos-right .btn-line {
    background-color: #06C755;
}

/* Instagramカラー (公式グラデーション) */
.floating-side-menu.pos-right .btn-insta {
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
}