@charset "UTF-8";
/* =========================================
   フローティングメニュー共通設定
========================================= */
.fixed-float-menu {
  position: fixed;
  z-index: 9999;
  display: flex;
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", serif;
}

.float-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: #fff;
  font-weight: bold;
  text-align: center;
  transition: all 0.3s ease;
  box-sizing: border-box;
  line-height: 1.2;
}

/* アイコンのベース設定 */
.float-btn i {
  font-size: 20px;
}

/* =========================================
   ボタンごとの役割と色分け（視覚的ヒエラルキー）
========================================= */

/* ① お問い合わせ（優先度：低 / 補助） */
.float-contact {
  background-color: #a5b69c; /* 控えめな落ち着いたグリーン */
}

/* ② ご依頼（優先度：高 / 最終ゴール） */
.float-apply {
  background-color: #5d4037; /* 誠実さを伝えるミルルのテーマカラー（こげ茶） */
}

/* ③ かんたんお見積り（優先度：最高 / 最も目立たせる） */
.float-quote {
  background-color: #dca878; /* 明るいゴールド系 */
  /* 波紋が広がるような上品なアニメーションを指定 */
  animation: pulse-glow 2.5s infinite;
}

/* --- お見積りボタン用 光るアニメーション --- */
@keyframes pulse-glow {
  0% { box-shadow: 0 0 0 0 rgba(220, 168, 120, 0.7); }
  70% { box-shadow: 0 0 0 10px rgba(220, 168, 120, 0); }
  100% { box-shadow: 0 0 0 0 rgba(220, 168, 120, 0); }
}

/* =========================================
   PC版（右下に縦並び・丸角ボタン・横並び配置）
========================================= */
@media screen and (min-width: 769px) {
  .fixed-float-menu {
    bottom: 30px;
    right: 30px;
    flex-direction: column;
    gap: 15px;
  }
  .float-btn {
    width: 220px;
    padding: 15px;
    border-radius: 50px;
    font-size: 16px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
    flex-direction: row; /* アイコンと文字を横並びに */
    gap: 10px; /* アイコンと文字の隙間 */
  }

  /* PCでのホバー時アニメーション */
  .float-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 15px rgba(0,0,0,0.25);
    opacity: 0.95;
  }

  /* PC限定：お見積りボタンだけ少し大きくして強調 */
  .float-quote {
    transform: scale(1.05);
    z-index: 2;
  }
  .float-quote:hover {
    transform: scale(1.05) translateY(-3px);
  }
}

@media screen and (max-width: 1200px) {
  
  .float-btn {
    width: 160px;
    font-size: 14px;
    gap: 6px;
}
  .float-btn i{
    font-size: 16px;
}
}
/* =========================================
   スマホ版（画面下部に全幅・3等分・上下配置）
========================================= */
/* @media screen and (max-width: 768px) { */
@media screen and (max-width: 1100px) {
  .fixed-float-menu {
    bottom: 0;
    left: 0;
    width: 100%;
    flex-direction: row;
    /* iPhoneのホームバー（セーフエリア）に被らないようにする設定 */
    padding-bottom: env(safe-area-inset-bottom);
    background-color: #5d4037;
    gap: 0;
    right: 0;
  }
/* 専用クラスが付いている場合、初期状態を「透明・少し下・クリック不可」にする */
.fixed-float-menu.js-scroll-fade {
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px); /* 少し下からフワッとさせるため */
  transition: opacity 0.4s ease, visibility 0.4s ease, transform 0.4s ease;
  pointer-events: none; /* 透明な時に誤ってタップされるのを防ぐ */
}

/* JSによって「is-active」クラスが付与されたら表示する */
.fixed-float-menu.js-scroll-fade.is-active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto; /* クリックを有効化 */
}

  .float-btn {
    flex: 1;
    padding: 12px 5px;
    border-radius: 0;
    border-right: 1px solid rgba(255, 255, 255, 0.3);
    flex-direction: column; /* アイコンを上、文字を下に */
    gap: 6px;
    box-shadow: none; /* スマホでは重たくなるので影を消す */
    width: auto;
  }
  .float-contact{
    order:-1;
  }
  .float-btn:last-child {
    border-right: none;
  }

  /* スマホの時は少し小さくして収まりを良くする */
  .float-btn i { font-size: 18px; }
  .f-txt { font-size: 11px; }

  /* スマホ限定：お見積りボタンの調整 */
  .float-quote {
    /* スマホ画面で浮かないようにアニメーションは維持しつつ、色を少し明るく調整 */
    background-color: #e5b68a;
  }
}