.elementor-1496 .elementor-element.elementor-element-a90890e{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1496 .elementor-element.elementor-element-a90890e.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-1496 .elementor-element.elementor-element-6deba01 .elementor-button{background-color:#FFFFFF;font-family:"Shippori Mincho", Sans-serif;font-size:17px;font-weight:100;letter-spacing:2.5px;text-shadow:0px 0px 0px rgba(0, 0, 0, 0);fill:#000000;color:#000000;box-shadow:0px 0px 0px 0px rgba(0, 0, 0, 0) inset;border-style:none;}.elementor-1496 .elementor-element.elementor-element-6deba01{padding:0px 0px 0px 0px;z-index:9999;}.elementor-1496 .elementor-element.elementor-element-6deba01.elementor-element{--align-self:center;--order:99999 /* order end hack */;}.elementor-1496 .elementor-element.elementor-element-6deba01 .elementor-button .elementor-button-content-wrapper{justify-content:center;}.elementor-1496 .elementor-element.elementor-element-6deba01 .elementor-button:hover, .elementor-1496 .elementor-element.elementor-element-6deba01 .elementor-button:focus{box-shadow:0px 0px 0px 0px rgba(0,0,0,0.5);}#elementor-popup-modal-1496 .dialog-widget-content{animation-duration:1.2s;box-shadow:2px 8px 23px 3px rgba(0,0,0,0.2);}#elementor-popup-modal-1496 .dialog-message{width:370px;height:auto;}#elementor-popup-modal-1496{justify-content:center;align-items:flex-end;}@media(max-width:767px){.elementor-1496 .elementor-element.elementor-element-a90890e{--content-width:100%;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.elementor-1496 .elementor-element.elementor-element-a90890e.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-1496 .elementor-element.elementor-element-6deba01 .elementor-button{font-size:13px;}#elementor-popup-modal-1496 .dialog-message{width:290px;}}/* Start custom CSS for button, class: .elementor-element-6deba01 *//*********************************************************
 *  追従ボタン ポップアップ用 完全CSS（PC/モバイル両対応）
 *  これを「ポップアップ > カスタムCSS」にそのまま貼るだけ
 *  前提：最上位コンテナに CSS ID = floating-btn
 *********************************************************/

/* ===== 全体の横はみ出しを封じてバーを出さない（PC/SP共通） ===== */
html, body { overflow-x: hidden; }            /* 安全策：横スクロール禁止 */
.elementor-popup-modal,
.elementor-popup-modal .dialog-message{
  max-width: 100vw;                           /* ポップアップ自体が画面幅超過しない */
  overflow-x: hidden;
}

/* ===== 追従本体：画面下中央に固定（上方向の押上げはJSで--pushに代入） ===== */
#floating-btn{
  position: fixed;
  left: 50%;
  bottom: max(20px, env(safe-area-inset-bottom));
  transform: translate(-50%, var(--push, 0));
  z-index: 99999;
  max-width: 100vw;                           /* 物理的に超えない */
  box-sizing: border-box;
  inset-inline: auto;                         /* Elementorの整列影響を受けにくく */
}

/* ===== 追従内の余計な横スクロールを完全無効化 ===== */
#floating-btn .e-con-inner,
#floating-btn .elementor-widget-container{
  overflow: visible !important;
}

/* ===== ボタンの“文字が上にズレる”問題のリセット（PC/SP共通） ===== */
#floating-btn .elementor-button,
#floating-btn .elementor-button-link{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;                /* 44–52pxで調整OK */
  padding: 12px 20px !important;
  line-height: 1.3 !important;
  height: auto !important;
  max-width: 92vw;                            /* 余白を確保してはみ出し防止 */
  box-sizing: border-box;
  overflow: visible !important;
}

#floating-btn .elementor-button-content-wrapper{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .5em;
}

#floating-btn .elementor-button-text{
  position: static !important;
  transform: none !important;
  margin: 0 !important;
  line-height: 1.3 !important;
  white-space: nowrap;                         /* 1行表示。折り返したいなら削除 */
}

#floating-btn .elementor-button-icon{
  position: static !important;
  transform: none !important;
  margin: 0 .4em 0 0 !important;
}

/* ===== モバイル微調整（必要なら値だけ触ってOK） ===== */
@media (max-width: 767px){
  #floating-btn .elementor-button,
  #floating-btn .elementor-button-link{
    min-height: 48px !important;
    padding: 12px 18px !important;
  }
  body{ width: 100%; }                        /* アドレスバーの伸縮での1pxはみ出し対策 */
}

/* ===== オーバーレイがクリックを阻害する場合の保険（必要な人だけ解除） ===== */
/* 使うときはコメントアウトを外してください
.dialog-widget-content.dialog-lightbox-widget{
  background: transparent !important;
}
*/

/* ===== まれに発生する“独自スクロール領域”の解除（必要時のみ） ===== */
/* 使うときはコメントアウトを外してください
.elementor-popup-modal .dialog-message{
  overflow: visible !important;
  max-height: none !important;
}
*/

.elementor-1496 .elementor-element.elementor-element-6deba01 a:focus,
.elementor-1496 .elementor-element.elementor-element-6deba01 a:active,
.elementor-1496 .elementor-element.elementor-element-6deba01 button:focus,
.elementor-1496 .elementor-element.elementor-element-6deba01 button:active {
    outline: none !important;
    box-shadow: none !important;
}/* End custom CSS */