/*
You can add your own CSS here.

Click the help icon above to learn more.
*/

/* ★★レスポンシブ対応fitty */
/* 親要素の幅を明確にする（または固定幅でもOK） */
/* 任意：最大幅を設定するとスマホで見切れにくくなる */
.fitty-container {
  width: 100%;
  max-width: 500px;
}

.elementor-widget-container {
  box-sizing: border-box;
}

.fitty-text {
  box-sizing: border-box;
  display: block;
  width: 100%;
  white-space: nowrap;     /* 改行を禁止 */
  overflow: hidden;        /* はみ出しを防ぐ */
  margin: 0;
  text-align: center;
}

/* ★★buttonきらっって */
.elementor-element.nyainy-btn {
  position: relative;
  box-shadow: 
    0px 5px 0px rgba(0, 0, 0, 0.25),
    inset 0px 3px 0px rgba(255, 255, 255, 0.4),
    inset 0 -2px 4px rgba(0, 0, 0, 0.55);
  overflow: hidden !important;
  z-index: 1 !important;
}

.elementor-element.nyainy-btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 80%;
  height: 100%;
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 1) 45%,
    rgba(255, 255, 255, 0) 100%
  );
  transform: skewX(-25deg);
  animation: nyainy-btn 2.5s cubic-bezier(0.55, 0.085, 0.68, 0.53) infinite;
  pointer-events: none;
  z-index: 2;
}

@keyframes nyainy-btn {
  0% {
    left: -100%;
  }
  25% {
    left: 100%;
  }
  100% {
    left: 100%;
  }
}

/* テキストを光より前面に出す */
.elementor-element.nyainy-btn > * {
  position: relative;
  z-index: 3;
}

.elementor-element.nyainy-btn02 {
  position: relative;
  box-shadow: 
    0px 5px 0px rgba(0, 0, 0, 0.25),
    inset 0px 3px 0px rgba(255, 255, 255, 0.4),
    inset 0 -2px 4px rgba(0, 0, 0, 0.55);
  overflow: hidden !important;
  z-index: 1 !important;
}

.elementor-element.nyainy-btn02::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 80%;
  height: 100%;
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.5) 45%,
    rgba(255, 255, 255, 0) 100%
  );
  transform: skewX(-25deg);
  animation: nyainy-btn 2.5s cubic-bezier(0.55, 0.085, 0.68, 0.53) infinite;
  pointer-events: none;
  z-index: 2;
}

@keyframes nyainy-btn02 {
  0% {
    left: -100%;
  }
  25% {
    left: 100%;
  }
  100% {
    left: 100%;
  }
}

/* テキストを光より前面に出す */
.elementor-element.nyainy-btn02 > * {
  position: relative;
  z-index: 3;
}

/* ★★popmake-3024サイズ設定 */
/* デスクトップとタブレット向け */
@media (min-width: 768px) {
  #popmake-3024 {
    width: 480px !important;
  }
}
/* スマホ向け */
@media (max-width: 767px) {
  #popmake-3024 {
    width: 95% !important;
  }
}

/* ★★form整形 */
/* CSS */
.RS2container01 {
  display: flex;           /* 子要素を横並びにする */
  align-items: center;     /* 縦方向の中央揃え */
  gap: 10px;               /* 画像とテキストの間隔（任意） */
}
.RS2container01 img {
  max-width: 50px !important;        /* 画像サイズ調整 */
  height: auto;
}
.RS2container01 p {
  margin-bottom: 0em !important;
  font-weight: 900; 
  color: #000; 
  font-family:
    "Hiragino Kaku Gothic Pro", 
    "ヒラギノ角ゴ Pro", 
    "メイリオ", 
    sans-serif;
}
.RS2formtext01 {
  flex: 1;                 /* テキスト部分を余白いっぱいに広げる */
}

.RS2formp01{
  color: #000; 
  margin-top: 1em;
}

.RS2button-group {
  display: grid;
  grid-template-columns: repeat(2, 45%);
  column-gap: 10px;
  row-gap: 0.5em;
  justify-content: center;
}

.RS2button-group .RS2btn {
  /* セルいっぱいに広げる */
  width: 100%;
  padding: 0em 0.5em;
  text-align: center;
  border-radius: 8px;
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.35);
  height: 5em;
  line-height: 1.3em;
}

.RS2btn001 {
  padding: 1.5em 1.5em;
    margin: 1em;
  text-align: center;
  border-radius: 8px;
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.35);
  display: block;
  margin-left: auto; 
  margin-right: 0;
}

.RS2formtextbox {
    margin-top: -1em;
    width: 100%;
    padding: .75em;
    background-color: lightgoldenrodyellow;
    font-size: .8em;
}

.RS2formfullbox {
  display: flex;
  width: clac(100% +30px);
  border-radius: 0 0 15px 15px;
  margin: 0 -15px -15px;
  padding: 10px 5px !important; 
  background-color: #004AAD; 
  display: block;
  flex-direction: column; 
  align-items: center; 
  text-align: center;
}

.RS2formfullbox p{
  color: #ffffff;
   margin-bottom: 0.2em;
}

.RS2custom-btn {
  display: inline-block;                   /* インラインブロックにしてサイズ調整 */
  padding: 0.8em 1.2em;                    /* 上下・左右の余白 */
  background-color: #FFD145;               /* 指定の背景色 */
  border-radius: 6px;                      /* 少し丸みをつける */
  
  box-shadow:
    0px 5px 0px rgba(0, 0, 0, 0.25),       /* 外側の下向き影 */
    inset 0px 3px 0px rgba(255, 255, 255, 0.4),  /* 上側のインセットハイライト */
    inset 0 -2px 4px rgba(0, 0, 0, 0.55);        /* 下側のインセットシャドウ */

  text-align: center;                      /* テキスト中央寄せ */
  cursor: pointer;                         /* ホバーでポインタ */
  user-select: none;                       /* テキスト選択不可 */
  
  /* 任意：フォント設定 */
  font-family: sans-serif;
  font-weight: 600;
  color: #000;
  line-height: 0em;
}

.RS2custom-btn .line1{
    font-size: 0.8em;
    padding: 0px;
    margin: 0px;
    line-height: 1.2em;
}

.RS2custom-btn .line2{
  display: inline-flex; 
  align-items: center; 
  justify-content: center; 
    font-size: 1.6em;
    padding: 0px;
    margin: 0px;
}

/* １行目／２行目をブロック化 */
.RS2custom-btn .line1,
.RS2custom-btn .line2 {
  display: flex;
  line-height: 1.2;
}

/* 電話アイコンと番号の間にすきまを */
.RS2custom-btn .line2 i {
  margin-right: 0.4em;
  vertical-align: middle;
}

/* ★★h付与 */
.RS2visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  border: 0;
  white-space: nowrap;
}

/* ★★注意喚起部調整*/
.elementor-element-ac44a34 {
   margin-right: auto !important;
   margin-left: auto !important;
}

/* ★★footer*/
footer {
  background-color: #212529; /* 背景色（お好みで変更） */
  color: #fff;
  text-align: center;
  padding: 30px 15px;
  font-family: 'Helvetica', 'Arial', sans-serif;
}

.RS2footerline1 {
  font-size: 14px;
  font-weight: 700;
  color: #fff;
}

.RS2footerline2 {
  font-size: 24px;
  font-weight: 700;
  color: #fff;
  margin-top: 5px;
  margin-bottom: 15px;
}

footer nav ul {
  list-style: none;
  padding: 0;
  margin: 0 auto 15px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
}

footer nav ul li {
  display: inline;
}

footer nav ul li::after {
  content: "｜";
  margin: 0 6px;
  color: #fff;
}

footer nav ul li:last-child::after {
  content: "";
}

footer nav ul li a {
  color: #fff;
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
}

footer nav ul li a:hover {
  text-decoration: underline;
}

.RS2copyright {
  display: block;
  font-size: 12px;
  color: #ccc;
  margin-top: 10px;
}

/* ▼ 特定ポップアップのオーバーレイに余白を与える ▼ */
#pum-5761.pum-overlay {
  padding: 2em 0px !important;  /* 上下に余白を追加 */
}

/* ▼ ポップアップ本体の位置リセット・中央表示に強制調整 ▼ */
#popmake-5761 {
  position: relative !important;
  top: auto !important;
  margin: 0 auto !important;
}

/* ▼ ポップアップ電話 ▼ */
.RS2phonepopup-text1 {
   color: #004AAD;
    line-height: 0.8em;
    padding: 20px;
}
.RS2phonepopup-text2 {
   color: #000;
   text-align: center;
    line-height: 0;
}
.RS2phonepopup-text3 {
   color: #919191;
   text-align: center;
   font-size: small;
}
.RS2phonepopupimg01 {
    width: 90%;
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.RS2phonepopupimg02 {
    width: 4em;
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.RS2phonepopup-btn {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 85%;
  padding: 0.8em 1.2em;                    /* 上下・左右の余白 */
  background-color: #004AAD;               /* 指定の背景色 */
  border-radius: 6px;                      /* 少し丸みをつける */
  
  box-shadow:
    0px 5px 0px rgba(0, 0, 0, 0.25),       /* 外側の下向き影 */
    inset 0px 3px 0px rgba(255, 255, 255, 0.4),  /* 上側のインセットハイライト */
    inset 0 -2px 4px rgba(0, 0, 0, 0.55);        /* 下側のインセットシャドウ */

  text-align: center;                      /* テキスト中央寄せ */
  cursor: pointer;                         /* ホバーでポインタ */
  user-select: none;                       /* テキスト選択不可 */
  
  /* 任意：フォント設定 */
  font-family: sans-serif;
  font-weight: 600;
  color: #000;
  line-height: 0em;
}
.RS2phonepopup-btn .RS2phonepopup-line1{
    font-size: 0.8em;
    padding: 0px;
    margin: 0px;
    line-height: 1.4em;
    color: #fff;
}

.RS2phonepopup-btn .RS2phonepopup-line2{
  display: flex; 
  align-items: center; 
  justify-content: center; 
    font-size: 1.6em;
    padding: 0px;
    margin: 0px;
    color: #fff;
}

/* １行目／２行目をブロック化 */
.RS2phonepopup-btn .RS2phonepopup-line1,
.RS2phonepopup-btn .RS2phonepopup-line2 {
  display: flex;
  line-height: 1.2;
  justify-content: center;
}

/* 電話アイコンと番号の間にすきまを */
.RS2phonepopup-btn .RS2phonepopup-line2 i {
  margin-right: 0.4em;
  vertical-align: middle;
}