/* ============================================
   Sticky Footer Bar（固定CTAバー）
   ============================================ */

/* 固定CTAバー全体 */
.cta-fixed {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff;
  border-top: 3px solid #A0BF7C;
  box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.15);
  padding: 12px 16px 16px;
  z-index: 9999;
  transition: transform 0.3s ease;
}

/* 非表示状態 */
.cta-fixed.cta-hidden {
  transform: translateY(100%);
}

/* 吹き出しタイトル */
.cta-title {
  position: relative;
  font-size: 13px;
  font-weight: bold;
  color: #fff;
  margin: 0 0 12px;
  display: inline-block;
  background: #A0BF7C;
  padding: 6px 14px;
  border-radius: 8px;
  line-height: 1.5;
}

.cta-title::before {
  content: "";
  position: absolute;
  bottom: -8px;
  left: 20px;
  border-width: 8px 8px 0 8px;
  border-style: solid;
  border-color: #A0BF7C transparent transparent transparent;
}

/* ボタンエリア */
.cta-buttons {
  display: flex;
  gap: 8px; /* ボタン間を少し詰める */
  align-items: center;
}

.cta-buttons a {
  flex: 1;
  text-align: center;
  padding: 10px 4px; /* ← 横の余白をギリギリまで詰める */
  border-radius: 8px;
  text-decoration: none;
  font-weight: bold;
  color: #fff;
  font-size: 15px; /* ← 現在の大きさを維持 */
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  white-space: nowrap; /* 折り返し防止 */
  overflow: hidden; /* はみ出し防止 */
}

/* 中のテキスト */
.cta-apply-text {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.25em; /* 「体験セッション」と「今すぐ申込」の間の隙間 */
  white-space: nowrap;
}

/* WEB予約ボタン */
.cta-buttons .btn-web {
  background: linear-gradient(135deg, #A0BF7C 0%, #88A666 100%);
}

.cta-buttons .btn-web:hover {
  background: linear-gradient(135deg, #88A666 0%, #7A9557 100%);
  transform: translateY(-2px);
  box-shadow: 0 4px 10px rgba(160, 191, 124, 0.4);
}

/* LINE予約ボタン */
.cta-buttons .btn-line {
  background: linear-gradient(135deg, #06c755 0%, #05b34b 100%);
}

.cta-buttons .btn-line:hover {
  background: linear-gradient(135deg, #05b34b 0%, #049f42 100%);
  transform: translateY(-2px);
  box-shadow: 0 4px 10px rgba(6, 199, 85, 0.4);
}

/* Instagram予約ボタン */
.cta-buttons .btn-instagram {
  background: linear-gradient(135deg, #E4405F 0%, #C13584 50%, #833AB4 100%);
}

.cta-buttons .btn-instagram:hover {
  background: linear-gradient(135deg, #C13584 0%, #833AB4 50%, #5851DB 100%);
  transform: translateY(-2px);
  box-shadow: 0 4px 10px rgba(228, 64, 95, 0.5);
}

/* アイコン付きの場合 */
.cta-buttons a::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-right: 6px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* WEBアイコン */
.cta-buttons .btn-web::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='white' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z'/%3E%3C/svg%3E");
}

/* LINEアイコン */
.cta-buttons .btn-line::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='white' viewBox='0 0 24 24'%3E%3Cpath d='M19.365 9.863c.349 0 .63.285.63.631 0 .345-.281.63-.63.63H17.61v1.125h1.755c.349 0 .63.283.63.63 0 .344-.281.629-.63.629h-2.386c-.345 0-.627-.285-.627-.629V8.108c0-.345.282-.63.63-.63h2.386c.346 0 .627.285.627.63 0 .349-.281.63-.63.63H17.61v1.125h1.755zm-3.855 3.016c0 .27-.174.51-.432.596-.064.021-.133.031-.199.031-.211 0-.391-.09-.51-.25l-2.443-3.317v2.94c0 .344-.279.629-.631.629-.346 0-.626-.285-.626-.629V8.108c0-.27.173-.51.43-.595.06-.023.136-.033.194-.033.195 0 .375.104.495.254l2.462 3.33V8.108c0-.345.282-.63.63-.63.345 0 .63.285.63.63v4.771zm-5.741 0c0 .344-.282.629-.631.629-.345 0-.627-.285-.627-.629V8.108c0-.345.282-.63.63-.63.346 0 .628.285.628.63v4.771zm-2.466.629H4.917c-.345 0-.63-.285-.63-.629V8.108c0-.345.285-.63.63-.63.348 0 .63.285.63.63v4.141h1.756c.348 0 .629.283.629.63 0 .344-.282.629-.629.629M24 10.314C24 4.943 18.615.572 12 .572S0 4.943 0 10.314c0 4.811 4.27 8.842 10.035 9.608.391.082.923.258 1.058.59.12.301.079.771.038 1.08l-.164 1.02c-.045.301-.24 1.186 1.049.645 1.291-.539 6.916-4.078 9.436-6.975C23.176 14.393 24 12.458 24 10.314'/%3E%3C/svg%3E");
}

/* Instagramアイコン */
.cta-buttons .btn-instagram::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='white' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z'/%3E%3C/svg%3E");
}

/* タブレット以上 */
@media (min-width: 768px) {
  .cta-fixed {
    padding: 14px 24px 18px;
  }

  .cta-title {
    font-size: 14px;
    padding: 8px 16px;
  }

  .cta-buttons a {
    padding: 16px 20px;
    font-size: 16px;
  }

  .cta-buttons a::before {
    width: 24px;
    height: 24px;
    margin-right: 8px;
  }
}

/* PC */
@media (min-width: 1024px) {
  .cta-fixed {
    max-width: 600px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 12px 12px 0 0;
    border-left: 3px solid #A0BF7C;
    border-right: 3px solid #A0BF7C;
  }

  .cta-fixed.cta-hidden {
    transform: translate(-50%, 100%);
  }

  .cta-title {
    font-size: 15px;
  }

  .cta-buttons a {
    font-size: 17px;
  }
}

/* スマホ対応：余白をさらに少し調整 */
@media (max-width: 480px) {
  .cta-buttons a {
    padding: 8px 2px; /* ← 横をさらに詰める */
  }
}

/* bodyに下部余白を追加（コンテンツがバーに隠れないように） */
body {
  padding-bottom: 120px;
}

@media (min-width: 768px) {
  body {
    padding-bottom: 130px;
  }
}




/*■■■■■■ お申込みはこちら（追加）ボタン1つver ■■■■■■■*/

.entry-title {
  font-size: 2.8rem;
  font-weight: 700;
}
.entry-title span.entry-a {
  margin: 0 5px;
  font-size: 3.6rem;
  font-weight: 700;
  color: #2FB6A9;
}
.entry-title span.entry-b {
  margin: 0 5px;
  font-size: 3.6rem;
  font-weight: 700;
  color: #E3493D;
}
.entry-button-box {
  margin: 20px auto 20px;
  padding: 6px;
  border-radius: 16px;
  display: inline-block;
  background-color: #E3493D;
}
.entry-button-main {
  margin: auto;
  padding: 15px 15px;
  font-size: 3.8rem;
  font-weight: 700;
  border: 3px solid #FFF;
  color: #FFF;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 12px;
}
.entry-button-main span.yen2 {
  margin: auto 12px auto 0;
}
.entry-button-main span.yen2 img {
  width: 100px;
  height: auto;
}
.entry-button-main span.yoyaku {
  margin: 0 auto;
  color: #ffffff;
  text-align: left;
  line-height: 1;
}
.entry-button-main span.yoyaku small {
  font-size: 2.4rem;
}
.entry-button-main span.yoyaku small.imasugu {
  margin: 0 0 3px;
  display: block;
}
.entry-button-main span.yoyaku small.suru {
  margin: 0 5px 0;
  font-size: 2.6rem;
}
a.entry-button-main:link, a.entry-button-main:visited {
  border: 3px solid #FFF;
  background-color: #fa8383;
}
a.entry-button-main:hover, a.entry-button-main:active {
  border: 3px solid #FFF;
  background-color:#fa8383;
}
.text-caption {
  font-size: 1.5rem;
  text-align: center;
}


.cta-caption-stack{
text-align: center;
margin-bottom:8px;
}
.welcome-text{
  display:block;
  margin-bottom:0.5px;
  font-size:1.5rem;
  font-weight:bold;
  color:#924F00;
}
.zeroen-text{
  display:block;
  font-size:1.5rem;
  font-weight:bold;
  color:#456d08;
}


/* 体験セッション今すぐ申込 テキストをおしゃれに主張 */
.cta-apply-text {
  width: 100%;
  margin-top: 0.01em !important;
  /* margin-top:3px; */
  /* padding-top: 0 !important; */
  text-align: center;
  font-size: 2.0rem;
  font-weight: 900;
  color:#FFF;
  letter-spacing: 0.11em;
  padding: 11px 18px 7px 18px;
  border-radius: 0 0 9px 9px;
}


/* 0円拡大バージョン */
.zeroen-large {
  font-size: 2.9rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  color: #E3493D;
  vertical-align: middle;
  padding-left: 6px;
  text-shadow: 0 1.5px 7px #FFF4B0, 0 0.5px 0 #EAB82D;
  font-family: inherit;
}

