@charset "UTF-8";

/**
 * 追従CTAフッター
 * メール・LINE問い合わせボタン
 */

/* コンテナ */
#fixed-cta-footer {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  z-index: 9999;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  transform: translateY(100%);
  transition: transform 0.35s ease;
}

#fixed-cta-footer.active {
  transform: translateY(0);
}

/* 共通ボタンスタイル */
#fixed-cta-footer a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex: 1;
  padding: 10px 5px;
  text-decoration: none;
  color: #fff;
  line-height: 1.3;
  transition: opacity 0.3s ease;
}

/* メールボタン（左・青） */
#fixed-cta-footer .cta-mail {
  background: #3b82c4;
}
#fixed-cta-footer .cta-mail:hover {
  background: #5a9ad4;
}

/* LINEボタン（右・緑） */
#fixed-cta-footer .cta-line {
  background: #31ae36;
}
#fixed-cta-footer .cta-line:hover {
  background: #4dc050;
}

/* テキスト */
#fixed-cta-footer .cta-sub {
  font-size: 10px;
  opacity: 0.9;
}

#fixed-cta-footer .cta-main {
  font-size: 14px;
  font-weight: bold;
}

/* 既存要素の位置調整（追従フッター分上にずらす） */
body.has-fixed-cta #return_top.active {
  transform: translate3d(0, -60px, 0) !important;
}

/* スマホ版: 767px以下 - 言語ボタン位置調整 */
@media screen and (max-width: 767px) {
  body.has-fixed-cta .gtranslate_wrapper,
  body.has-fixed-cta .goog-te-gadget,
  body.has-fixed-cta [class*="gtranslate"],
  body.has-fixed-cta #gt_float_wrapper {
    bottom: 70px !important;
  }
}

/* PC版: 768px以上 */
@media screen and (min-width: 768px) {
  #fixed-cta-footer {
    max-width: 700px;
    right: auto;
    left: 50%;
    transform: translateX(-50%) translateY(100%);
    border-radius: 8px 8px 0 0;
    overflow: hidden;
  }

  #fixed-cta-footer.active {
    transform: translateX(-50%) translateY(0);
  }

  #fixed-cta-footer a {
    padding: 12px 30px;
    white-space: nowrap;
    flex: 1 1 50%;
    min-width: 0;
  }

  #fixed-cta-footer .cta-sub {
    font-size: 14px;
  }

  #fixed-cta-footer .cta-main {
    font-size: 18px;
  }

  /* PC版では位置調整は不要（中央配置のため） */
  body.has-fixed-cta #return_top.active {
    transform: translate3d(0, 0, 0) !important;
  }
}

/* スマホ版: 767px以下 */
@media screen and (max-width: 767px) {
  #fixed-cta-footer a {
    padding: 8px 5px;
    min-height: 55px;
  }

  #fixed-cta-footer .cta-sub {
    font-size: 12px;
  }

  #fixed-cta-footer .cta-main {
    font-size: 15px;
  }

  /* ページトップボタンをCTAの上に配置（CTAと同時表示） */
  body.has-fixed-cta #return_top.active {
    bottom: 10px !important;
  }
}
