/*==================================================
    パンくず
==================================================*/
.breadcrumb {
  padding: 2.8rem 0;
}

/*==================================================
    ページタイトル
==================================================*/
.pageHead {
  padding: 2.2rem 0 3.2rem;

  .inner {
    width: 1100px;
  }
}

@media screen and (max-width: 767px) {
  .pageHead {
    padding: 17.8667vw 0 0 0;
  }
}

#stepThumbnail {
  .inner {
    width: 110rem;
  }

  @media screen and (max-width: 767px) {
    .inner {
      width: 96.2667vw;
    }
  }
}

/*==================================================
    入会までの流れ
==================================================*/
#stepThumbnail {
  .stepThumbnail__text {
    font-size: 2rem;
  }

  .stepThumbnail__list {
    display: grid;
    gap: 3.5rem;
    grid-template-columns: repeat(3, 1fr);
    margin: 3rem auto 0;
    max-width: 100rem;
  }

  .stepThumbnail__item {
    position: relative;
  }

  .stepThumbnail__item:not(:last-child)::after {
    background: url(../img/flow/double-arrow-right.png) no-repeat center / cover;
    bottom: 5.5rem;
    content: '';
    height: 2.3rem;
    position: absolute;
    right: -2.9rem;
    width: 2.5rem;
  }

  .stepThumbnail__link {
    background: #fff;
    border-radius: 1rem;
    box-shadow: 0.2rem 0.3rem 0.8rem 0 rgba(0, 0, 0, 0.34);
    display: block;
    padding: 1rem;
  }

  .stepThumbnail__figure {
    position: relative;
  }

  .stepThumbnail__image {
    aspect-ratio: 290 / 150;
    max-width: 29rem;
    width: 100%;
  }

  .stepThumbnail__count {
    align-items: center;
    background: var(--color-orange);
    border-radius: 1.2rem;
    bottom: 4.3rem;
    color: #fff;
    display: flex;
    font-family: 'Outfit', sans-serif;
    height: 2.4rem;
    justify-content: center;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    width: 10.4rem;
  }

  .stepThumbnail__count span {
    font-size: 2rem;
  }

  .stepThumbnail__figcaption {
    font-size: 2rem;
    font-weight: 700;
    margin-top: 2.6rem;
    text-align: center;
  }

  .stepThumbnail__downArrow {
    bottom: 0;
    max-width: 3.2rem;
    position: absolute;
    right: 0;
  }

  @media screen and (max-width: 767px) {
    .stepThumbnail__text {
      display: none;
    }

    .stepThumbnail__list {
      gap: 4.2667vw;
      margin-top: 5.3333vw;
    }

    .stepThumbnail__link {
      border-radius: 1.3333vw;
      box-shadow: 0.2667vw 0.4vw 1.0667vw 0 rgba(0, 0, 0, 0.34);
      display: block;
      height: 100%;
      padding: 1.3333vw;
    }

    .stepThumbnail__item:not(:last-child)::after {
      bottom: 17.2vw;
      height: 3.7333vw;
      right: auto;
      width: 3.7333vw;
      left: calc(100% + 0.1vw);
    }

    .stepThumbnail__image {
      aspect-ratio: 201 / 150;
      max-width: 26.8vw;
    }

    .stepThumbnail__count {
      border-radius: 1.6vw;
      bottom: 16.3667vw;
      font-size: 2.6667vw;
      height: 4.1333vw;
      width: 18vw;
    }

    .stepThumbnail__count span {
      font-size: 3.4667vw;
    }

    .stepThumbnail__figcaption {
      font-size: 3.4667vw;
      margin-top: 2.8vw;
    }

    .stepThumbnail__downArrow {
      align-self: center;
      margin-top: auto;
      max-width: 4.2667vw;
      position: relative;
    }

    .stepThumbnail__figure {
      display: flex;
      flex-direction: column;
      height: 100%;
      justify-items: center;
    }
  }
}

#steps__container {
  margin: 0 auto;
  max-width: 110rem;
  padding-bottom: 11.5rem;

  .step__list {
    display: flex;
    flex-direction: column;
    gap: 12.5rem;
    margin-top: 12.5rem;
  }

  .step__list li {
    position: relative;
  }

  .step__list > li:not(:last-child)::after {
    background: url(../img/flow/step-arrow.png) no-repeat center / cover;
    bottom: -10.4rem;
    content: '';
    display: block;
    height: 7.8rem;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    width: 11rem;
  }

  .step__section {
    background: #fff;
    border-radius: 2.7rem;
    overflow: hidden;
    padding: 5rem;
  }

  .step__title {
    align-items: center;
    border-bottom: 1px solid #000;
    display: grid;
    gap: 1.8rem;
    grid-template-columns: auto 1fr;
    padding-bottom: 1.6rem;
  }

  .step__label {
    align-items: center;
    background: var(--color-orange);
    border-radius: 2.1rem;
    color: #fff;
    display: flex;
    font-family: 'Outfit', sans-serif;
    font-size: 2.6rem;
    font-weight: 700;
    height: 4.7rem;
    justify-content: center;
    text-align: center;
    width: 12rem;
  }

  .step__label .large {
    font-size: 3.3rem;
    margin-left: 0.2rem;
    margin-top: -0.4rem;
  }

  .step__titleText {
    font-size: 2.6rem;
    font-weight: 600;
  }

  .step1__top,
  .step3__top {
    align-items: center;
    display: grid;
    gap: 7rem;
    grid-template-columns: 1fr 38rem;
    margin-top: 2rem;
  }

  .step3__top {
    align-items: flex-start;
  }

  .step1__topText,
  .step3__topText {
    font-size: 1.8rem;
  }

  .step1__disclaimer {
    display: grid;
    font-size: 1.6rem;
    font-weight: 400;
    grid-template-columns: auto 1fr;
    margin-top: 1.2rem;
  }

  .step1__group {
    padding-top: 6rem;
  }

  .step1__group.hidden {
    display: none;
  }

  .step1__tabGroup {
    display: flex;
    gap: 3.2rem;
    justify-content: center;
    margin-top: 4rem;
    position: relative;
    z-index: 1;
  }

  .step1__tabGroup .line {
    background: #000;
    bottom: 0;
    display: block;
    height: 0.1rem;
    left: 0;
    position: absolute;
    width: 100%;
    z-index: 1;
  }

  .step1__tab {
    align-items: center;
    background: #eae9e9;
    border: 0.1rem solid #eae9e9;
    border-radius: 0.6rem 0.6rem 0 0;
    display: flex;
    font-weight: 600;
    height: 7rem;
    justify-content: center;
    transition: background-color 0.3s;
    width: 27rem;
    z-index: -1;
  }

  .step1__tab.active:hover {
    opacity: 1;
  }

  .step1__tab.active {
    background: #fff;
    border-color: #000;
    border-radius: 1rem 1rem 0 0;
    z-index: 2;
  }

  .step1__tab.active {
    border-bottom-color: #fff;
  }

  .webSteps__swiper {
    position: relative;
  }

  .webSteps__swiper .swiper-wrapper {
    overflow: visible;
  }

  .webSteps__controls {
    opacity: 0;
    position: absolute;
  }

  .webSteps__figure {
    display: grid;
    gap: 2.2rem;
    grid-template-rows: 3.7rem 1fr auto;
    height: 52rem;
    position: relative;
  }

  .webSteps__figure img {
    border: 0.2rem solid #313131;
  }

  .webSteps__imageWrapper {
    position: relative;
  }

  .webSteps__box {
    border: 3px solid var(--color-orange);
    position: absolute;
  }

  .webSteps__box.box1 {
    height: 12.1rem;
    left: 1.1rem;
    top: 17.3rem;
    width: 19.7rem;
  }

  .webSteps__box.box2 {
    height: 2.6rem;
    left: 3.8rem;
    top: 4.6rem;
    width: 3.7rem;
  }

  .webSteps__box.box3 {
    height: 10.4rem;
    left: 6.1rem;
    top: 11.4rem;
    width: 6.4rem;
  }

  .webSteps__box.box4 {
    height: 3.5rem;
    left: 0.6rem;
    top: 18rem;
    width: 20.6rem;
  }

  .webSteps__box.box5 {
    height: 13.4rem;
    left: 0.4rem;
    top: 21.9rem;
    width: 21.4rem;
  }

  .webSteps__highlight {
    align-items: center;
    background: var(--color-orange);
    border-radius: 50%;
    color: #fff;
    display: flex;
    font-size: 1.5rem;
    height: 2.8rem;
    justify-content: center;
    left: 0;
    position: absolute;
    top: 0;
    transform: translate(-50%, -50%);
    width: 2.8rem;
  }

  .webSteps__disclaimer {
    bottom: -7.9rem;
    line-height: 1.35;
    position: absolute;
  }

  .webSteps__link {
    align-items: center;
    color: #fff;
    display: flex;
    gap: 0.8rem;
    height: 6rem;
    justify-content: center;
    margin: 4.4rem auto 0;
    position: relative;
    width: 27.5rem;
    z-index: 1;
    background: #268360;
    border-radius: 999px;
    border-top: 1px solid #268360;
    box-shadow: inset 0px 1px 0px #fff;
    transition: 0.3s;
  }

  .webSteps__link:hover {
    opacity: 1;
    background: #3e3e3e;
    border-top: 1px solid #3e3e3e;
  }

  .webSteps__label {
    align-items: center;
    background: #000;
    border-radius: 0.5rem;
    color: #fff;
    display: flex;
    height: 3.7rem;
    justify-content: center;
    line-height: 1.35;
    margin: 0 auto;
    width: 10.8rem;
  }

  .webSteps__figcaption {
    align-content: center;
    font-size: 1.8rem;
    line-height: 1.33;
    margin: 0 -0.8rem;
    text-align: center;
  }

  .step1__subtitle {
    color: var(--color-orange);
    font-size: 2rem;
    font-weight: 600;
    text-align: center;
  }

  .step1__checkList {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    margin-top: 2rem;
    place-self: center;
  }

  .step1__checkitem {
    align-items: center;
    display: grid;
    font-size: 1.8rem;
    font-weight: 400;
    gap: 1.2rem;
    grid-template-columns: 1.6rem 1fr;
  }

  .step1__checkIcon {
    display: flex;
    transform: translateY(-0.2rem);
  }

  .region__olist {
    display: grid;
    gap: 4.4rem 2.7rem;
    grid-template-columns: 1fr 1fr 1fr;
    margin: 4.8rem auto 0;
    max-width: 95.6rem;
  }

  .region__item--span3 {
    grid-column: span 3;
  }

  .region__heading {
    align-items: center;
    background: #faf2ed;
    display: flex;
    font-size: 2rem;
    font-weight: 600;
    gap: 0.9rem;
    height: 4.7rem;
    padding: 0 1.6rem;
  }

  .region__heading .dot {
    background: var(--color-orange);
    border-radius: 50%;
    display: block;
    height: 1.1rem;
    width: 1.1rem;
  }

  .region__headingText {
    margin-top: 0.1rem;
  }

  .region__ulist {
    display: grid;
    gap: 2.7rem;
    margin-top: 2.4rem;
  }

  .region__item--span3 .region__ulist {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .storeCard {
    align-items: center;
    border: 0.1rem solid #000;
    border-radius: 0.6rem;
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    height: 10.6rem;
    justify-content: center;
    max-width: 29.8rem;
    transition: 0.3s;
  }

  .storeCard:hover {
    background: var(--color-orange);
    color: #fff;
    opacity: 1;
  }

  .storeCard__name {
    font-weight: 700;
    line-height: 1.625;
  }

  .storeCard__number {
    align-items: center;
    display: flex;
    font-family: 'Rowdies', sans-serif;
    font-size: 2.4rem;
    gap: 1.2rem;
    line-height: 1.08;
    padding-left: 2.2rem;
    position: relative;
  }

  .storeCard__number::before {
    position: absolute;
    content: '';
    background-image: url(../img/flow/icon-phone.png);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    top: 0.2rem;
    left: 0;
    width: 1.2rem;
    height: 2rem;
  }

  .storeCard__number:hover::before {
    background-image: url(../img/flow/icon-phone_hover.png);
  }

  .step2__card {
    background: #f7f6f6;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .step2__card:nth-child(2) {
    margin-top: 3.4rem;
  }

  .step2__card:nth-child(3) {
    margin-top: 2.2rem;
  }

  .step2__textarea {
    padding: 2.2rem 3.3rem 3.1rem 2.6rem;
  }

  .step2__subtitle {
    color: var(--color-orange);
    font-size: 2rem;
    font-weight: 600;
  }

  .step2__text {
    font-size: 1.8rem;
    font-weight: 400;
    margin-top: 0.8rem;
  }

  .step2__detailList {
    display: grid;
    gap: 0.3rem;
    grid-template-columns: 18.4rem 20.4rem;
    margin-top: 1.6rem;
  }

  .step2__detailList dt,
  .step2__detailList dd {
    align-items: center;
    display: flex;
    font-size: 1.8rem;
    padding: 1.6rem;
  }

  .step2__detailList dd {
    background: #fff;
  }

  .step2__detailList dt {
    background: #626060;
    color: #fff;
    font-weight: 700;
  }

  .step2__image img {
    height: 100%;
    object-fit: cover;
    width: 100%;
  }

  .step2__cta {
    align-items: center;
    background: #3e3e3e;
    border-radius: 3.1rem;
    display: grid;
    gap: 1.2rem;
    grid-template-columns: 1.2rem 1fr 2.4rem;
    height: 6.2rem;
    margin: 2.2rem 0 0 auto;
    max-width: 29.6rem;
    padding: 0 2.5rem;
    position: relative;
    overflow: hidden;
  }

  .step2__cta:hover {
    opacity: 1;
  }

  .step2__cta::before {
    position: absolute;
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: var(--color-orange);
    top: 0px;
    left: 0px;
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform 0.5s;
  }

  .step2__cta:hover::before {
    transform: scaleX(1);
    transform-origin: left center;
  }

  .step2__ctaText {
    color: #fff;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1;
    transform: translateY(0.1rem);
  }

  .step2__arrow::after {
    position: absolute;
    content: '';
    background-image: url(../img/flow/arrow-right.png);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    top: 50%;
    transform: translateY(-50%);
    height: 1rem;
    width: 2.4rem;
  }

  .dot {
    background: #fff;
    border-radius: 50%;
    display: block;
    height: 1.2rem;
    width: 1.2rem;
  }

  .stepCourse,
  .stepTicket {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-top: 0.5rem;
  }

  .stepTicket {
    margin-top: 3.4rem;
  }

  .stepCourse__title,
  .stepTicket__title {
    align-items: center;
    display: flex;
    font-size: 2.2rem;
    font-weight: 700;
    gap: 1.4rem;
  }

  .stepCourse__title img {
    max-width: 3.8rem;
  }

  .stepTicket__title img {
    max-width: 4.5rem;
  }

  .stepTicket__title span {
    color: var(--color-orange);
    font-size: 1.8rem;
  }

  .stepCourse__display {
    display: grid;
    gap: 1rem;
    grid-template-columns: 1fr 1fr;
  }

  .stepCourse__heading {
    align-items: center;
    display: flex;
    height: 5.4rem;
    padding: 0 2.2rem;
  }

  .stepCourse__single--yellow .stepCourse__heading {
    background: #ec9f01;
  }

  .stepCourse__single--blue .stepCourse__heading {
    background: #004fa8;
  }

  .stepTicket .stepCourse__heading {
    background: var(--color-orange);
  }

  .stepCourse__headingText {
    color: #fff;
    font-size: 2rem;
    font-weight: 700;
  }

  .stepCourse__body,
  .stepTicket__single {
    background: #f7f6f6;
    display: flex;
    flex-direction: column;
    padding: 2.4rem 1.2rem;
  }

  .stepTicket__single {
    padding: 2.6rem 1.7rem;
  }

  .stepCourse__subtitle,
  .stepTicket__subtitle {
    border-bottom: 0.2rem solid;
    font-size: 1.8rem;
    font-weight: 600;
    padding-bottom: 0.8rem;
  }

  .stepCourse__single--yellow .stepCourse__subtitle {
    border-color: #ec9f01;
  }

  .stepCourse__single--blue .stepCourse__subtitle {
    border-color: #004fa8;
  }

  .stepTicket__subtitle {
    border-color: var(--color-orange);
  }

  .stepCourse__list {
    padding: 1.8rem 1.2rem 2.5rem;
  }

  .stepCourse__item {
    display: grid;
    font-size: 1.8rem;
    font-weight: 500;
    gap: 0.1rem;
    grid-template-columns: auto 1fr;
  }

  .stepCourse__notice {
    background: #fff;
    border: 0.1rem solid #c9c8c7;
    margin-top: auto;
    padding: 2rem;
  }

  .stepCourse__noticeText {
    display: grid;
    font-weight: 500;
    grid-template-columns: auto 1fr;
  }

  .stepCourse__single {
    display: grid;
    grid-template-rows: auto 1fr;
  }

  .stepCourse__single--yellow .stepCourse__noticeText {
    color: #ec9f01;
  }

  .stepCourse__single--blue .stepCourse__noticeText {
    color: #004fa8;
  }

  .stepTicket .stepCourse__noticeText {
    color: var(--color-orange);
  }

  @media screen and (min-width: 768px) {
    .webSteps.swiper-wrapper {
      display: grid;
      gap: 2.8rem;
      grid-template-columns: repeat(4, 1fr);
      justify-items: center;
      transform: unset !important;
    }

    .swiper.webSteps__swiper {
      overflow: visible;
    }

    .webSteps__item.swiper-slide {
      max-width: 21.8rem;
    }
  }

  @media screen and (max-width: 767px) {
    max-width: 94.8vw;
    padding-bottom: 13.8667vw;
    overflow: hidden;

    .step__list {
      gap: 17.8667vw;
      margin-top: 19.6vw;
    }

    .step__section {
      border-radius: 2.6667vw;
      overflow: visible;
      padding: 9.3333vw 2.6667vw 10vw;
      position: relative;
    }

    .step__title {
      border-bottom: 0.1333vw solid #000;
      gap: 0;
      grid-template-columns: 1fr;
      padding-bottom: 2.7667vw;
    }

    .step__label {
      border-radius: 3.3333vw;
      font-size: 4.2667vw;
      height: 7.6vw;
      left: 0;
      position: absolute;
      top: -3.7vw;
      width: 19.2vw;
    }

    .step__label .large {
      font-size: 5.2vw;
      margin-left: 0;
      margin-top: 0;
    }

    .step__titleText {
      font-size: 4.8vw;
    }

    .step1__top,
    .step3__top {
      gap: 5.0667vw;
      grid-template-columns: 1fr;
      margin-top: 4.5333vw;
    }

    .step1__topText,
    .step3__topText {
      font-size: 3.7333vw;
    }

    .step1__disclaimer {
      font-size: 3.4667vw;
      margin-top: 4.2667vw;
    }

    .step1__tabGroup {
      gap: 5.6vw;
      margin-top: 9.6vw;
    }

    .step1__tab {
      border-radius: 2.6667vw 2.6667vw 0 0;
      border-width: 0.2667vw;
      font-size: 3.7333vw;
      height: 15.3333vw;
      line-height: 1.3;
      text-align: center;
      width: 34.9333vw;
    }

    .step1__group {
      padding-top: 10vw;
    }

    .step1__subtitle {
      font-size: 4.2667vw;
      text-align: start;
    }

    .step1__checkList {
      gap: 2.1333vw;
      margin-top: 4.2667vw;
    }

    .step1__checkitem {
      font-size: 3.7333vw;
      font-weight: 500;
      gap: 3.2vw;
      grid-template-columns: 3.7333vw 1fr;
    }

    .step1__group:has(.swiper) {
      padding-top: 20.2667vw;
    }

    .step1__checkIcon {
      transform: translateY(-0.1333vw);
    }

    .region__olist {
      gap: 7.2vw 4vw;
      grid-template-columns: 1fr 1fr;
      margin: 10vw auto 0;
      max-width: 88.5333vw;
    }

    .region__item--span3 {
      grid-column: span 2;
    }

    .region__heading {
      font-size: 4.2667vw;
      gap: 2.1333vw;
      height: 10vw;
      padding: 0 2.4vw;
    }

    .region__heading .dot {
      height: 2.4vw;
      width: 2.4vw;
    }

    .region__headingText {
      margin-top: 0.1333vw;
    }

    .webSteps__controls {
      display: flex;
      gap: 5.3333vw;
      opacity: 1;
      right: 0;
      top: -12.5vw;
    }

    .region__item--span3 .region__ulist {
      grid-template-columns: 1fr 1fr;
    }

    .region__ulist {
      gap: 0.5333vw;
      margin-top: 4.2667vw;
    }

    .storeCard {
      border-radius: 1.3vw;
      border-width: 0.2667vw;
      gap: 0.4vw;
      height: 21.3333vw;
      max-width: 44vw;
    }

    .webSteps__swiper {
      overflow: visible;
    }

    .webSteps__swiperPrev,
    .webSteps__swiperNext {
      background: url(../img/flow/swiper-arrow.png) no-repeat center / cover;
      display: block;
      height: 5.8vw;
      width: 3.4667vw;
    }

    .storeCard__name {
      font-size: 3.2vw;
    }

    .storeCard__number {
      font-size: 4.8vw;
      gap: 2.1333vw;
      padding-left: 4vw;
    }

    .storeCard__number::before {
      height: 3.8667vw;
      width: 2.5333vw;
    }

    .webSteps__swiperNext {
      transform: scaleX(-1);
    }

    .webSteps__figure {
      gap: 4.8vw;
      grid-template-rows: auto 10vw auto;
      height: unset;
    }

    .webSteps__label {
      border-radius: 0.6667vw;
      font-size: 3.7333vw;
      height: 8.8vw;
      width: 25.8667vw;
    }

    .webSteps__figcaption {
      font-size: 3.7333vw;
      margin: 0;
    }

    .webSteps__box.box1 {
      aspect-ratio: 56 / 34;
      display: block;
      height: auto;
      left: 4%;
      top: 44%;
      width: 92%;
    }

    .webSteps__box.box2 {
      aspect-ratio: 8.1 / 6;
      display: block;
      height: auto;
      left: 19.2%;
      top: 12.6%;
      width: 13%;
    }

    .webSteps__box.box3 {
      aspect-ratio: 16.7 / 27.1;
      display: block;
      height: auto;
      left: 29.5%;
      top: 30.9%;
      width: 27.1%;
    }

    .webSteps__box.box4 {
      aspect-ratio: 55.9 / 6.6;
      display: block;
      height: auto;
      left: 5%;
      top: 48.2%;
      width: 90%;
    }

    .webSteps__box.box5 {
      aspect-ratio: 60.4 / 38.1;
      display: block;
      height: auto;
      left: 1.3%;
      top: 56.5%;
      width: 97.5%;
    }

    .webSteps__highlight {
      font-size: 3.3333vw;
      height: 6.6667vw;
      width: 6.6667vw;
    }

    .webSteps__disclaimer {
      font-size: 3.7333vw;
      left: 0;
      margin: 4vw auto 0;
      position: relative;
      top: 0;
      width: 70vw;
    }

    .webSteps__link {
      gap: 2.1333vw;
      height: 12.9333vw;
      margin: 5.3333vw auto 0;
      width: 64.8vw;
      z-index: 1;
    }

    .webSteps__linkIcon {
      max-width: 5.8667vw;
    }

    .webSteps__linkText {
      font-size: 3.4667vw;
    }

    .step__list > li:not(:last-child)::after {
      bottom: -15vw;
      height: 11.6vw;
      width: 16.5333vw;
    }

    .step2__card {
      display: flex;
      flex-direction: column;
      gap: 6.6667vw;
    }

    .step2__card:nth-child(2) {
      margin-top: 6.1333vw;
    }

    .step2__card .step2__subtitle,
    .step2__card .step2__text {
      font-weight: 500;
      padding-left: 2.6667vw;
    }

    .step2__card .step2__text {
      margin-top: 1.8667vw;
    }

    .step2__textarea {
      padding: 4vw 0.6667vw 0 1.3333vw;
    }

    .step2__subtitle {
      font-size: 4.2667vw;
    }

    .step2__text {
      font-size: 3.7333vw;
    }

    .step2__detailList {
      gap: 0.4vw 0;
      grid-template-columns: 27.2vw 1fr;
      margin-top: 4vw;
    }

    .step2__detailList dt,
    .step2__detailList dd {
      font-size: 3.7333vw;
      padding: 3.4667vw;
    }

    .step2__cta {
      border-radius: 7.4667vw;
      gap: 3.2vw;
      grid-template-columns: 2.9333vw 1fr 5.8667vw;
      height: 14.6667vw;
      margin: 5.8667vw auto 0;
      max-width: 70.4vw;
      padding: 0 5.8667vw;
    }

    .dot {
      height: 2.9333vw;
      width: 2.9333vw;
    }

    .step2__ctaText {
      font-size: 3.7333vw;
    }

    .step3__top {
      gap: 8.5333vw;
    }

    .step3__topText {
      letter-spacing: -0.02em;
      padding-left: 1.6vw;
    }

    .stepCourse {
      gap: 4.5333vw;
      margin-top: 7.7333vw;
    }

    .stepCourse__title,
    .stepTicket__title {
      font-size: 4.8vw;
      gap: 2.1333vw;
    }

    .stepCourse__title img {
      max-width: 6.8vw;
      transform: translateY(-0.4vw);
    }

    .stepCourse__display {
      display: flex;
      flex-direction: column;
      gap: 3.2vw;
    }

    .stepCourse__heading {
      height: 11.8667vw;
      padding: 0 3.4667vw;
    }

    .stepCourse__headingText {
      font-size: 4vw;
    }

    .stepCourse__body,
    .stepTicket__single {
      padding: 4.8vw 3.7333vw;
    }

    .stepCourse__subtitle,
    .stepTicket__subtitle {
      border-bottom-width: 0.2667vw;
      font-size: 4vw;
      padding-bottom: 2.6667vw;
    }

    .stepCourse__list {
      padding: 3.7333vw 0 0;
    }

    .stepCourse__item {
      font-size: 3.7333vw;
    }

    .stepCourse__notice {
      border-width: 0.1333vw;
      margin-top: 4.5333vw;
      padding: 4vw 1.3333vw 4.6667vw;
    }

    .stepCourse__noticeText {
      font-size: 3.4667vw;
    }

    .stepCourse__body {
      padding-bottom: 8vw;
    }

    .stepTicket__title img {
      max-width: 7.4667vw;
    }

    .stepTicket__title span {
      font-size: 3.7333vw;
    }

    .stepTicket .stepCourse__notice,
    .stepCourse__single--blue .stepCourse__notice {
      padding-bottom: 3.4667vw;
    }
  }
}

/*==================================================
    入会事前手続き
==================================================*/
#register {
  margin: 0 auto;
  max-width: 100rem;
  padding: 13.5rem 2rem 7.2rem;

  .register__title {
    font-size: 3.4rem;
    font-weight: 700;
    text-align: center;
  }

  .register__lead {
    font-size: 1.8rem;
    font-weight: 500;
    margin-top: 2.6rem;
    text-align: center;
  }

  .register__article {
    margin-top: 8.4rem;
  }

  .register__list {
    margin-top: 6.2rem;
  }

  .register__item {
    border-bottom: 0.1rem solid #898989;
    display: grid;
    grid-template-columns: 26rem 1fr;
  }

  .register__item:first-child {
    border-top: 0.1rem solid #898989;
  }

  .register__heading {
    background: #626060;
    color: #fff;
    display: flex;
    font-size: 1.8rem;
    font-weight: 500;
    padding: 3rem 0 1.4rem 2.4rem;
  }

  .register__contents {
    background: #f7f6f6;
    padding: 1.4rem 0;
  }

  .register__contents.largePad {
    padding: 3.2rem 0;
  }

  .register__cta {
    align-items: center;
    color: #fff;
    display: flex;
    font-size: 1.8rem;
    font-weight: 700;
    height: 6.2rem;
    justify-content: center;
    margin: 0 auto;
    max-width: 43rem;
    position: relative;
    width: 100%;
    z-index: 1;
  }

  .register__cta::before {
    background: url(../img/flow/black-btn.png) no-repeat center / cover;
    content: '';
    display: block;
    height: 100%;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    z-index: -1;
  }

  .register__cta--orange::before {
    background: url(../img/flow/orange-btn.png) no-repeat center / cover;
  }

  .register__cta--grey::before {
    background: url(../img/flow/grey-btn.png) no-repeat center / cover;
  }

  .register__cta::after {
    background: url(../img/flow/arrow-right.png) no-repeat center / cover;
    content: '';
    display: block;
    height: 1.4rem;
    position: absolute;
    right: 6.2rem;
    top: 50%;
    transform: translateY(-50%);
    width: 2.4rem;
  }

  .register__pdfNav {
    background: #fff;
    border: 0.1rem solid #000;
    border-radius: 0.5rem;
    margin: 0 auto;
    max-width: 43rem;
    padding: 0.6rem 0;
  }

  .register__pdfNavHead {
    align-items: center;
    background: transparent;
    border: none;
    display: flex;
    height: 4.6rem;
    padding-left: 2.4rem;
    position: relative;
    width: 100%;
  }

  .register__pdfNavHead::after {
    background: #000;
    clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
    content: '';
    display: block;
    height: 1.5rem;
    position: absolute;
    right: 2.1rem;
    transition: 0.3s;
    width: 1.5rem;
  }

  .open .register__pdfNavHead::after {
    transform: scaleY(-1);
  }

  .register__pdfNavHeadText {
    border-right: 0.1rem solid #000;
    display: block;
    font-size: 1.8rem;
    font-weight: 500;
    max-width: 34.5rem;
    width: 100%;
  }

  .register__pdfBody {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s;
  }

  .register__pdfLinkDisplay {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
    padding: 1rem 2.4rem;
  }

  .register__pdfLink {
    text-decoration: underline;
    text-underline-offset: 2px;
  }

  .register__textArea {
    background: #fff;
    box-shadow: inset 0 0 7px 1px rgba(0, 0, 0, 0.43);
    margin: 0 auto;
    max-width: 66.7rem;
    padding: 2rem 1.6rem;
  }

  .register__textAreaInner {
    max-height: 26rem;
    overflow-y: scroll;
  }

  .register__textAreaInnerTitle {
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: 1.6rem;
  }

  .register__box + .register__textAreaInnerTitle {
    margin-top: 2rem;
  }

  .register__boxTitle {
    margin-top: 3rem;
  }

  .register__box ol {
    list-style: decimal;
    padding-left: 1.7rem;
  }

  .register__box ol.is-brackets {
    list-style: none;
    padding-left: 2.5rem;
  }

  .register__box ol.is-brackets li {
    position: relative;
    counter-increment: number;
  }

  .register__box ol.is-brackets li::before {
    position: absolute;
    left: -2.5rem;
    content: '(' counter(number) ')';
  }

  .register__box ul.is-asterisk {
    padding-left: 2.5rem;
  }

  .register__box ul.is-asterisk li {
    position: relative;
  }

  .register__box ul.is-asterisk li::before {
    position: absolute;
    left: -2.5rem;
    content: '※';
  }

  .register__notice {
    font-size: 1.8rem;
    font-weight: 700;
    text-align: center;
  }

  .register__notice span {
    color: var(--color-orange);
  }

  .register__contentBlock {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
  }

  .register__contentBlock:last-child {
    margin-top: 4.2rem;
  }

  .register__context {
    font-size: 1.8rem;
    font-weight: 500;
    margin-top: 2.4rem;
    padding-left: 1rem;
  }

  @media screen and (max-width: 767px) {
    padding: 13.8667vw 5.0667vw 14.9333vw;

    .register__title {
      font-size: 5.3333vw;
    }

    .register__lead {
      font-size: 3.7333vw;
      margin-top: 4.5333vw;
    }

    .register__article {
      margin-top: 6.9333vw;
    }

    .register__article .step__label {
      position: static;
    }

    .register__article .step__titleText {
      margin-top: 5.3333vw;
      display: block;
    }

    .register__article .step__title {
      border-bottom-width: 0.4vw;
    }

    .register__list {
      margin-top: 8.2667vw;
    }

    .register__item {
      border-bottom: none;
      display: flex;
      flex-direction: column;
    }

    .register__item:first-child {
      border-top-width: 0.1333vw;
    }

    .register__heading {
      font-size: 4vw;
      padding: 3.4667vw;
    }

    .register__contents {
      padding: 6.6667vw 0 9.0667vw;
      &.largePad {
        padding-bottom: 12vw;
      }
    }

    .register__cta {
      font-size: 3.8667vw;
      height: 13.3333vw;
      max-width: 72.2667vw;
      width: 100%;
    }

    .register__cta::after {
      background: url(../img/flow/arrow-right_sp.png) no-repeat center / cover;
      height: 2.9vw;
      right: 14.8vw;
      width: 5.3333vw;
    }

    .register__pdfNav {
      border-radius: 0.6667vw;
      border-width: 0.1333vw;
      max-width: 72.2667vw;
      padding: 1.3333vw 0;
    }

    .register__pdfNavHead {
      height: 10vw;
      padding-left: 3.7333vw;
    }

    .register__pdfNavHeadText {
      border-right-width: 0.2667vw;
      font-size: 3.8667vw;
      max-width: 56.5vw;
    }

    .register__pdfNavHead::after {
      height: 3.3333vw;
      right: 4vw;
      width: 3.3333vw;
    }

    .register__pdfLinkDisplay {
      gap: 1.6vw;
      padding: 2.1333vw 3.7333vw;
    }

    .register__pdfLink {
      font-size: 3.4667vw;
    }

    .register__textArea {
      box-shadow: inset 0 0 0.9333vw 0.1333vw rgba(0, 0, 0, 0.43);
      max-width: 81.0667vw;
      padding: 1.8667vw 2.6667vw 5.3333vw 4.8vw;
    }

    .register__textAreaInner {
      max-height: 84vw;
      padding-top: 4.5333vw;
    }

    .register__textAreaInnerTitle {
      font-size: 4vw;
      margin-bottom: 3vw;
    }

    .register__boxTitle,
    .register__box {
      font-size: 3.73vw;
    }

    .register__box ul.is-asterisk {
      padding-left: 5vw;
    }

    .register__box ul.is-asterisk li::before {
      left: -5vw;
    }

    .register__context {
      font-size: 3.7333vw;
      margin-top: 5.3333vw;
      padding-left: 0;
    }

    .register__contentBlock {
      gap: 3.2vw;
    }

    .register__notice {
      font-size: 3.7333vw;
    }

    .register__cta--orange::after,
    .register__cta--grey::after {
      background: url(../img/flow/arrow-right_sp.png) no-repeat center / cover;
      height: 2.5vw;
      right: 4.8vw;
      width: 4.8333vw;
    }

    .register__cta::before {
      background: url(../img/flow/black-btn_sp.png) no-repeat center / cover;
    }

    .register__cta--orange::before {
      background: url(../img/flow/orange-btn_sp.png) no-repeat center / cover;
    }

    .register__cta--grey::before {
      background: url(../img/flow/grey-btn_sp.png) no-repeat center / cover;
    }
  }
}

/*==================================================
    ⼊会の際のご注意事項
==================================================*/
#points {
  margin: 0 auto;
  max-width: 110rem;
  padding: 5.2rem 0 7.2rem;

  .points__title {
    align-items: center;
    display: flex;
    font-size: 2.2rem;
    font-weight: 700;
    gap: 2rem;
    padding-left: 3.8rem;
  }

  .points__title img {
    max-width: 6rem;
  }

  .points__list {
    margin: 1.6rem 0 0 auto;
    width: fit-content;
  }

  .points__item {
    font-size: 1.8rem;
    font-weight: 400;
  }

  @media screen and (max-width: 767px) {
    padding: 10vw 8vw;

    .points__title {
      font-size: 4.2667vw;
      gap: 2.6667vw;
      padding-left: 2.6667vw;
    }

    .points__title img {
      max-width: 7.7333vw;
    }

    .points__list {
      margin-top: 4.8vw;
    }

    .points__item {
      font-size: 3.7333vw;
    }
  }
}
