@charset "UTF-8";
/*==================================
キャンペーンコンテンツ
==================================*/
.p-campaign_wrap .l-inner {
  padding-top: 50px;
  padding-bottom: 50px;
}
.p-campaign_wrap .c-campaign_slider {
  margin: 0 auto;
}
.p-campaign_wrap .c-campaign_item {
  text-align: center;
}
.p-campaign_wrap .campaign-dots-wrap {
  position: absolute;
  right: 0;
  bottom: -40px;
  display: flex; /* 追加 */
  justify-content: center; /* 中央寄せにするため追加 */
  align-items: center; /* 垂直方向の中央寄せ（必要であれば） */
}
.p-campaign_wrap .campaign-dots-wrap li {
  width: 20px;
  height: 20px;
  background-color: #b2b2b2;
  border-radius: 50%;
  margin-bottom: 0;
  margin-right: 40px;
  cursor: pointer;
  opacity: 0.45;
}
.p-campaign_wrap .campaign-dots-wrap li.slick-active,
.p-campaign_wrap .campaign-dots-wrap li:hover {
  opacity: 1;
  background-color: #d5ad58;
  position: relative;
}
.p-campaign_wrap .campaign-dots-wrap li.slick-active:after,
.p-campaign_wrap .campaign-dots-wrap li:hover:after {
  content: "";
  position: absolute;
  top: -8px;
  left: -8px;
  width: calc(100% + 16px);
  height: calc(100% + 16px);
  border: 1px solid #d5ad58;
  border-radius: 50%;
}
.p-campaign_wrap .campaign-dots-wrap li:last-child {
  margin-bottom: 0;
}
.p-campaign_wrap .campaign-dots-wrap li button {
  display: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  padding: 0;
  border: none;
  background-color: transparent;
}
@media screen and (max-width: 750px) {
  .p-campaign_wrap .campaign-dots-wrap {
    right: 20px;
  }
  .p-campaign_wrap .c-scrollbox {
    overflow-x: scroll;
    padding-bottom: 10px;
    -webkit-overflow-scrolling: touch;
  }
  .p-campaign_wrap .c-scrollbox img {
    max-width: 100%;
    min-width: 600px;
    vertical-align: top;
  }
  .p-campaign_wrap .c-scrollbox::-webkit-scrollbar {
    height: 4px;
  }
  .p-campaign_wrap .c-scrollbox::-webkit-scrollbar-track {
    background: #eee;
  }
  .p-campaign_wrap .c-scrollbox::-webkit-scrollbar-thumb {
    background: #aaa;
    border: none;
  }
  .p-campaign_wrap .c-scrollbox::-webkit-scrollbar-thumb:hover {
    background: #999;
  }
}

/*==================================
インナー1カラム 
==================================*/
/* 下マージン */
.p-max1col {
  margin-bottom: 80px;
}

@media screen and (max-width: 750px) {
  .p-max1col {
    margin-bottom: 40px;
  }
  .l-2col_wrap + .l-3col_wrap {
    margin-top: 20px;
  }
  .l-3col_wrap + .l-3col_wrap {
    margin-top: 20px;
  }
}
/*==================================
インナー2カラム 
==================================*/
/* センター揃え */
.p-2col_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}

/*==================================
インナー3カラム 
==================================*/
/* 上マージン、センター揃え */
.p-3col_wrap {
  margin-top: 80px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  position: relative;
}
.p-3col_wrap .l-3col {
  display: flex;
}
.p-3col_wrap .c-menu_wide {
  display: flex;
  justify-content: flex-start;
  flex-direction: column;
  flex: 1;
}
.p-3col_wrap .c-menu_tag {
  position: relative;
  margin: 1em auto;
}
.p-3col_wrap .p-menu_flex_price_wrap {
  display: flex;
  flex-direction: column;
}

.p-3col_wrap + .p-3col_ttlspace {
  margin-top: 150px;
}

@media screen and (max-width: 750px) {
  .p-3col_wrap {
    margin-top: 0;
  }
  .p-3col_wrap .c-menu_tag {
    left: 12%;
    bottom: 15%;
  }
  .p-3col_wrap .p-menu_tag_tac {
    bottom: 20%;
  }
  .p-3col_wrap .p-menu_flex_price_wrap {
    display: flex;
    flex-direction: row;
    justify-content: center;
  }
  .p-3col_wrap .p-menu_flex_price_wrap .c-menu_tag {
    margin: 0;
    position: relative;
    left: auto;
    bottom: auto;
    margin-right: 0.5em;
    padding: 0.5em 1em;
  }
  .c-accordion_wrap .c-menu_tag {
    left: 8%;
    bottom: 16%;
  }
  .c-accordion_wrap .p-3col_wrap {
    gap: 0;
  }
  .c-accordion_wrap .p-menu_tag_tac {
    bottom: 20%;
  }
}
/*==================================
インナーカラム共通
==================================*/
/*タグ1行*/
.p-menu_wide_tag {
  padding: 1.2em 1em;
}

/*テキスト行間*/
.p-menu_note {
  line-height: 1.5em;
}

/*==================================
料金表アコーディオン
==================================*/
.p-accordion_wrap {
  margin-top: 80px;
}

.p-pane {
  padding-bottom: 60px;
}

@media screen and (max-width: 750px) {
  .p-accordion_wrap {
    margin-top: 40px;
  }
}
/*==================================
その他の料金
==================================*/
.p-bg_white {
  background-color: #fff;
}

.p-others {
  margin-bottom: 100px;
}

.p-payment_img {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

@media screen and (max-width: 750px) {
  .p-payment_img .c-menu_img {
    max-width: 45%;
  }
}