@charset "UTF-8";

/* =========================================
   RESERVATION & CONTACT (CTA) セクション
========================================= */
.cta {
  padding: 100px 40px;
  background-color: #F8F1F1; /* これまでのセクションと統一された背景色 */
}

.cta__inner {
  display: flex;
  justify-content: space-between;
  align-items: center; /* 左右の要素を上下中央揃え */
  max-width: 1100px;
  margin: 0 auto;
  gap: 60px;
}

/* --- 左側エリア --- */
.cta__left {
  flex: 1.2;
}

.cta__title {
  font-size: 32px;
  font-family: serif;
  color: var(--text-color);
  font-weight: normal;
  margin: 16px 0 24px;
}

.cta__desc {
  font-size: 14px;
  color: var(--text-color);
  line-height: 1.8;
}

/* --- 右側エリア --- */
.cta__right {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 360px; /* 右側ボタン群の横幅制限 */
  width: 100%;
}

/* 共通ボタン調整（幅いっぱいに広げる） */
.cta__btn {
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 16px;
}

/* 予約ボタン個別のテキストレイアウト調整 */
.cta .btn-primary {
  justify-content: space-between;
  padding: 16px 24px;
}

/* テキストリンク装飾 */
.cta__link {
  font-size: 13px;
  color: var(--main-color);
  text-decoration: underline;
  margin-top: 8px;
  transition: opacity 0.3s ease;
}

.cta__link:hover {
  opacity: 0.7;
}

.cta__link .arrow {
  display: inline-block;
  transition: transform 0.3s ease;
}

.cta__link:hover .arrow {
  transform: translateX(4px);
}

/* =========================================
   CTA：モバイル表示対応（768px以下）
========================================= */
@media screen and (max-width: 768px) {
  .cta {
    padding: 60px 20px;
  }

  .cta__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 28px;
  }

  .cta__title {
    font-size: 26px;
    line-height: 1.5;
    margin: 12px 0 16px;
  }

  .cta__right {
    max-width: 100%;
  }

  /* 白背景の「お問い合わせはこちら」ボタン */
  .cta .btn-outline,
  .cta .btn-outline-white {
    background-color: #FFFFFF;
    border-radius: 4px;
    max-width: 100%;
  }
}
