/* CONTACTボタン */
.contact-cta-btn {
    background-color: #d2b48c !important;
    color: #ffffff !important;
    transition: background-color 0.3s ease;
}

/* CONTACTボタン：マウスを乗せたとき */
.contact-cta-btn:hover,
.contact-cta-btn:focus {
    background-color: #7a5a44 !important;
    color: #ffffff !important;
    opacity: 1 !important;
    text-decoration: none !important;
}

/* キャンペーン特典カードの高さを左右で揃える */
@media screen and (min-width: 768px) {

    .campaign-present-row {
        display: flex;
        align-items: stretch;
    }

    .campaign-present-row > .lbox,
    .campaign-present-row > .rbox {
        display: flex;
    }

    .campaign-present-row .st-mybox-class {
        width: 100%;
    }
}

/* =========================
   プランページ：カード高さ調整
========================= */

.plan-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px 14px;
  align-items: stretch;
  margin: 25px 0;
}

.plan-grid .plan-card-box {
  height: 100%;
  box-sizing: border-box;
  margin: 0 !important;
}

/* スマホでは1列表示 */
@media screen and (max-width: 767px) {
  .plan-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .plan-grid .plan-card-box {
    height: auto;
  }
}

/* AFFINGERの左右カラムをplan-grid内では均等配置 */
.plan-grid > .lbox,
.plan-grid > .rbox {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  display: flex;
}

.plan-grid > .lbox .plan-card-box,
.plan-grid > .rbox .plan-card-box {
  width: 100%;
}

.abe-pc-fv__buttons .abe-pc-fv__button {
  display: block;
  width: 85%;
  margin-left: auto;
}

.abe-pc-fv__buttons .abe-pc-fv__button img {
  width: 100%;
  height: auto;
  display: block;
}

@media screen and (max-width: 960px) {
  .home #content-w {
    padding-top: 10px !important;
  }
}

.recommend-small-left .st-labelbox-label {
  transform-origin: left top;
  left: -20px;
}

@media screen and (max-width: 1200px) {
  .recommend-small-left .st-labelbox-label {
    transform: scale(0.9);
  }
}

@media screen and (max-width: 960px) {
  .recommend-small-left .st-labelbox-label {
    transform: scale(0.8);
  }
}

@media screen and (max-width: 767px) {
  .recommend-small-left .st-labelbox-label {
    transform: scale(0.7);
  }
}