/* 新規ページ用の追記CSS（既存CSSは編集しない） */
html {
  scroll-behavior: smooth;
}

.p-clubasuka {
  background: #fff;
}

.p-clubasuka .clubasuka-mv {
  position: relative;
  background-image: linear-gradient(rgba(32, 22, 14, 0.35), rgba(32, 22, 14, 0.35)),
    url("../images/club-asuka/club_asuka_main_visual.jpg");
  background-size: cover;
  background-position: center;
}

.p-winery .ticket-area .inner {
  width: calc(1500px + 5% * 2);
  max-width: 100%;
  box-sizing: border-box;
}

.p-clubasuka .academy-benefits-area .inner {
  width: calc(1100px + 5% * 2);
  max-width: 100%;
  box-sizing: border-box;
}

.p-clubasuka #subscription-plan {
  margin-top: 56px;
}

.p-clubasuka .academy-benefits-area {
  margin-top: 56px;
}

.p-clubasuka .about-tour,
.p-clubasuka .tour-information .info-detail {
  max-width: 960px;
}

.p-clubasuka .about-text .c-ttl {
  margin-bottom: 20px;
}

.p-clubasuka .about-text p + .tour-caution,
.p-clubasuka .about-text p + .faq-wrap {
  margin-top: 20px;
}

.p-clubasuka .tour-caution {
  margin-top: 16px;
}

.p-clubasuka .club-plan-wrap {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-top: 28px;
}

.p-clubasuka .club-plan-wrap .ticket-box {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.p-clubasuka .club-plan-wrap .ticket-box .btn-wrap {
  margin-top: auto;
}

.p-clubasuka .academy-intro .about-winery {
  align-items: flex-start;
}

.p-clubasuka #wine-subscription .about-winery {
  flex-direction: row;
}

.p-clubasuka #wine-subscription .about-text .c-ttl {
  text-align: left;
}

.p-clubasuka #wine-subscription .club-info-boxes,
.p-clubasuka #academy-course .club-info-boxes {
  margin-top: 32px;
  max-width: 100%;
}

.p-clubasuka #wine-subscription .club-info-boxes .club-info-box,
.p-clubasuka #academy-course .club-info-boxes .club-info-box {
  border: 0;
  padding: 28px 8px;
}

.p-clubasuka #wine-subscription .club-info-boxes .about-ttl,
.p-clubasuka #academy-course .club-info-boxes .about-ttl {
  margin-bottom: 16px;
}

.p-clubasuka .academy-benefits .info-detail .info-ttl {
  margin-top: 28px;
  margin-bottom: 16px;
}

.p-clubasuka .academy-benefits .info-detail .info-ttl:first-of-type {
  margin-top: 0;
}

.p-clubasuka .academy-benefits .info-detail .tour-caution {
  margin-bottom: 28px;
}

.p-clubasuka .academy-benefits .info-detail .tour-price {
  text-align: left;
}

.p-clubasuka #academy-course .about-winery {
  flex-direction: row-reverse;
}

.p-clubasuka .academy-howto-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  margin-top: 32px;
}

.p-clubasuka .academy-schedule-grid {
  margin-top: 64px;
}

.p-clubasuka .academy-schedule-grid .academy-schedule-carousel {
  width: 100vw;
  max-width: none;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.p-clubasuka .academy-schedule-grid .academy-schedule-carousel.slick-initialized {
  display: block;
}

.p-clubasuka .academy-schedule-grid .academy-schedule-carousel .ht-box {
  padding: 0 20px;
}

.p-clubasuka .academy-schedule-grid .academy-schedule-carousel .ht-img img {
  display: block;
  width: 88%;
  margin: 0 auto;
}

.p-clubasuka .academy-schedule-grid .academy-schedule-carousel + .tour-caution {
  margin-top: 40px;
}

.p-clubasuka .academy-schedule-grid .c-ttl {
  text-align: center;
  font-size: 2.6rem;
  margin-bottom: 28px;
}

.p-clubasuka .academy-schedule-grid .c-ttl .jp {
  display: block;
  font-size: 0.82em;
}

.p-clubasuka .academy-schedule-grid .ht-text dt {
  font-weight: 400;
  color: #666;
}

.p-clubasuka .academy-schedule-grid .ht-text dd {
  font-size: 1.12em;
  font-weight: 700;
  color: #222;
}

.p-clubasuka .academy-benefits .tour-information {
  padding: 0;
  justify-content: space-between;
  gap: 24px;
}

.p-clubasuka .academy-benefits .tour-information .info-text {
  width: 52%;
}

.p-clubasuka .academy-benefits .tour-information .info-text .c-ttl {
  text-align: left;
  margin-bottom: 32px;
}

.p-clubasuka .academy-benefits .tour-information .info-text .info-detail {
  width: 100%;
  padding-top: 2em;
}

.p-clubasuka .academy-benefits .tour-information .info-img {
  width: 40%;
}

.p-clubasuka .academy-benefits .info-img-mobile {
  display: none;
}

.p-clubasuka .academy-howto-grid .ht-box {
  margin: 0;
}

.p-clubasuka .academy-howto-grid .ht-img img {
  width: 100%;
  height: auto;
  display: block;
}

.p-clubasuka .academy-howto-grid .ht-text {
  text-align: center;
  margin-top: 14px;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.6;
}

.p-clubasuka .academy-howto-grid .ht-text dt,
.p-clubasuka .academy-howto-grid .ht-text dd {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}

.p-clubasuka .academy-schedule-grid .academy-howto-grid .ht-text dt {
  font-size: 1em;
  font-weight: 400;
  color: #666;
}

.p-clubasuka .academy-schedule-grid .academy-howto-grid .ht-text dd {
  font-size: 1.2em;
  font-weight: 700;
  color: #222;
}

.p-clubasuka .academy-benefits .btn-wrap {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  margin-top: 24px;
}

.p-clubasuka .academy-benefits .btn-wrap .btn {
  min-width: 320px;
  white-space: nowrap;
  text-align: center;
}

.p-clubasuka .clubasuka-anchor-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 20px;
}

@media (max-width: 1024px) {
  .p-clubasuka .club-plan-wrap {
    justify-content: space-between;
  }
  .p-winery .ticket-area .ticket-box-wrap .ticket-box {
    margin: 0;
    width: 29%;
  }

  .p-clubasuka .academy-howto-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .p-winery .ticket-area .inner {
    width: 100%;
  }

  .p-clubasuka .academy-benefits .tour-information {
    flex-direction: column;
    gap: 20px;
  }

  .p-clubasuka .academy-benefits .tour-information .info-text,
  .p-clubasuka .academy-benefits .tour-information .info-img {
    width: 100%;
    margin: 0;
  }

  .p-clubasuka .academy-benefits .info-img-mobile {
    display: block;
    margin-top: 16px;
  }

  .p-clubasuka .academy-benefits .info-img-desktop {
    display: none;
  }

  .p-clubasuka .academy-benefits .tour-information .info-text {
    margin-bottom: 16px;
  }

  .p-clubasuka .academy-benefits .tour-information .info-img {
    margin-top: 16px;
  }

  .p-clubasuka .academy-benefits .btn-wrap {
    width: 100%;
  }

  .p-clubasuka .academy-benefits .btn-wrap .btn {
    min-width: 0;
    width: 100%;
    white-space: normal;
  }

  .p-clubasuka .club-info-boxes .about-ttl,
  .p-clubasuka .academy-benefits .info-detail .info-ttl {
    font-size: 1.8rem;
  }

  .p-clubasuka .academy-howto-grid .ht-text {
    font-size: 1.3rem;
  }

  .p-clubasuka .about-winery .about-img {
    margin-top: 6em;
  }
  .p-clubasuka #wine-subscription .about-winery {
    margin-top: 0;
  }

  .p-clubasuka .club-plan-wrap {
    grid-template-columns: 1fr;
  }

  .p-clubasuka .club-plan-wrap .ticket-box {
    width: 100%;
  }
  .p-clubasuka .academy-schedule-grid {
    padding-top: 6em;
  }

  .p-clubasuka .academy-howto-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 480px) {
  .p-winery .ticket-area .ticket-box-wrap .ticket-box {
    width: 100%;
  }

  .p-clubasuka .clubasuka-anchor-btns {
    width: 100%;
  }

  .p-clubasuka .clubasuka-anchor-btns .btn,
  .p-clubasuka .btn-wrap .btn {
    width: 100%;
    max-width: 100%;
  }

  .p-clubasuka .academy-benefits .btn-wrap {
    width: 100%;
  }

  .p-clubasuka .academy-benefits .btn-wrap .btn {
    width: 100%;
    max-width: 100%;
  }
}
.p-clubasuka .clubasuka-mv .b-mv-ttl {
  text-align: center;
}

@media (max-width: 1025px) {
  .p-clubasuka .clubasuka-mv .b-mv-ttl {
  }
}

@media (max-width: 768px) {
  .p-clubasuka .clubasuka-mv .b-mv-ttl {
  }
}
