@charset "UTF-8";

html {
  scroll-behavior: smooth;
}
.modal-paid-course {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
  display: grid;
  place-items: center;
  opacity: 0;
  pointer-events: none;
  /*z-index: -1;*/
  transition: opacity .3s ease;
  &[data-modal-status="open"] {
    z-index: 30;
    opacity: 1;
    pointer-events: auto;
  }
  &[data-modal-status="close"] {
    .modal-paid-course__container {
      translate: 0 100rem;
    }
  }
}
.modal-paid-course__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
  background: rgba(0, 0, 0, 0.60);
  cursor: pointer;
}
.modal-paid-course__container {
  transition: translate .3s ease;
  position: relative;
  border-radius: 20rem;
  background: #fff;
  flex-shrink: 0;

  @media (min-width: 769px) { /* PC */
    padding: 62rem 40rem;
  }
  @media (max-width: 768px) { /* SP */
    padding: 31rem 16rem;
    width: 344rem;
  }
}
.modal-paid-course__button {
  all: unset;
  position: relative;
  cursor: pointer;
  @media (min-width: 769px) { /* PC */
    display: flex;
    width: 495rem;
    height: 89.646rem;
    justify-content: center;
    align-items: center;
    gap: 98.68rem;
    flex-shrink: 0;
    border-radius: 58.465rem;
    background: linear-gradient(90deg, #80338F 6.22%, #C668A6 94.22%);
    box-shadow: 3.898rem 7.795rem 0rem 0rem rgba(0, 0, 0, 0.25);
    color: #fff;
    font-size: 38.916rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    transition: translate .15s ease, box-shadow 0.15s ease;
    img {
      position: absolute;
      top: 0;
      bottom: 0;
      right: 27.53rem;
      margin: auto;
      width: 25.335rem;
      height: 25.335rem;
      flex-shrink: 0;
    }
    @media (hover:hover) {
      &:hover {
        box-shadow: 0 0 0 0;
        translate: 3.898rem 7.795rem;
      }
    }
  }
  @media (max-width: 768px) { /* SP */
    box-sizing: border-box;
    display: flex;
    width: 279.348rem;
    height: 50.591rem;
    justify-content: center;
    align-items: center;
    gap: 55.689rem;
    flex-shrink: 0;
    border-radius: 32.994rem;
    background: linear-gradient(90deg, #80338F 6.22%, #C668A6 94.22%);
    box-shadow: 2.2rem 4.399rem 0rem 0rem rgba(0, 0, 0, 0.25);
    color: #fff;
    font-size: 21.962rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    img {
      position: absolute;
      top: 0;
      bottom: 0;
      right: 15.56rem;
      margin: auto;
      width: 14.297rem;
      height: 14.297rem;
      flex-shrink: 0;
    }
  }
}

.header {
  max-width: 100vw;
  width: 100%;
  overflow: hidden;

  @media (min-width: 769px) { /* PC */
    height: 108rem;
    display: grid;
    place-items: center;
  }
}
.header__container {
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-shrink: 0;

  @media (min-width: 769px) { /* PC */
    width: 1200rem;
    padding: 0 0 0 43rem;
  }
  @media (max-width: 768px) { /* SP */
    padding: 14rem 15rem;
    flex-wrap: wrap;
    gap: 13rem 0;
  }
}
.header__logo {
  display: block;
  aspect-ratio: 237/34;

  @media (min-width: 769px) { /* PC */
    width: 342rem;
    height: 49rem;
    aspect-ratio: 342/49;
  }
  @media (max-width: 768px) { /* SP */
    width: 237rem;
    height: 34rem;
    order: 1;
  }
}
.header__buttons {
  display: flex;
  justify-content: center;
  align-items: center;

  @media (min-width: 769px) { /* PC */
    justify-content: space-between;
    gap: 10rem;
  }
  @media (max-width: 768px) { /* SP */
    order: 3;
    flex-wrap: wrap;
    gap: 12rem 15rem;
  }
}
.hero {
  pointer-events: none;
  @media (min-width: 769px) { /* PC */
    margin-top: -84rem;
  }
  @media (min-width: 1200px) { /* wide PC */
    margin-top: -7.1vw;
  }
}
.hero__image {
  width: 100%;
  display: block;

  @media (min-width: 769px) { /* PC */
    aspect-ratio: 2399/1200;
  }
  @media (max-width: 768px) { /* SP */
    aspect-ratio: 749/498;
  }
}
.nav {
  position: fixed;
  z-index: 10;
  top: 0;
  right: 0;
  height: 100vh;
  height: 100dvh;
  flex-shrink: 0;
  background: #fff;
  translate: 353rem 0;
  transition: translate .3s ease;
  display: flex;
  flex-direction: column;
  &[aria-hidden="false"] {
    translate: 0;
    & + .nav__overlay {
      display: block;
      pointer-events: auto;
    }
  }

  @media (min-width: 769px) { /* PC */
    width: 353rem;
  }
  @media (max-width: 768px) { /* SP */
    width: 291rem;
  }
}
.nav__overlay {
  position: fixed;
  z-index: 8;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.60);
  display: none;
  pointer-events: none;
}
.nav__list {
  flex: 1;
  overflow-y: auto;

  @media (min-width: 769px) { /* PC */
    padding: 0 50rem;
  }
  @media (max-width: 768px) { /* SP */
    padding: 0 16rem;
  }
}
.nav__item {
  a {
    color: #000;
    font-family: var(--noto-sans-jp);
    font-size: 13rem;
    font-style: normal;
    font-weight: 350;
    line-height: normal;
    padding: 15rem 0 17rem;
    display: block;

    @media (min-width: 769px) { /* PC */
      border-bottom: 1px solid #7e318e;
      width: 253rem;
    }
    @media (max-width: 768px) { /* SP */
      border-bottom: 1px solid #7e318e;
    }
  }
}
.button--menu-close {
  align-self: flex-end;

  img {
    flex-shrink: 0;
    aspect-ratio: 22/22;

    @media (min-width: 769px) { /* PC */
      width: 22rem;
      height: 22rem;
    }
    @media (max-width: 768px) { /* SP */
      width: 22rem;
      height: 22rem;
    }
  }

  @media (min-width: 769px) { /* PC */
    margin: 20rem 28rem 25rem;
  }
  @media (max-width: 768px) { /* SP */
    margin: 20rem 16rem 25rem;
  }
}
.button--header-violet {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10rem;
  flex-shrink: 0;
  background: linear-gradient(90deg, #80338F 6.22%, #C668A6 94.22%);
  box-shadow: 2rem 4rem 0px 0px rgba(0, 0, 0, 0.25);
  color: #fff67f;
  font-size: 18rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;

  @media (min-width: 769px) { /* PC */
    width: 254rem;
    height: 46rem;
    padding: 7rem 27rem;
    border-radius: 30rem;
    border: 2px solid #fff67f;
    transition: translate .15s ease, box-shadow 0.15s ease;
    @media (hover:hover) {
      &:hover {
        box-shadow: 0 0 0 0;
        translate: 2rem 4rem;
      }
    }
  }
  @media (max-width: 768px) { /* SP */
    text-decoration: none;
    width: 165rem;
    height: 29rem;
    gap: 8.246rem;
    border-radius: 24.738rem;
    border: 1.649rem solid #FFF67F;
    box-shadow: 1.649rem 3.298rem 0rem 0rem rgba(0, 0, 0, 0.25);
    font-family: "Noto Serif JP";
    font-size: 16rem;
  }
}
.button--header {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10rem;
  flex-shrink: 0;
  border-radius: 30rem;
  border: 2px solid #ee87b4;
  background: #FFF;
  box-shadow: 2rem 4rem 0rem 0rem rgba(0, 0, 0, 0.25);
  color: #7e318e;
  font-size: 18rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;

  @media (min-width: 769px) { /* PC */
    height: 46rem;
    padding: 7rem 27rem;
    transition: translate .15s ease, box-shadow 0.15s ease;
    width: 250rem;
    @media (hover:hover) {
      &:hover {
        box-shadow: 0 0 0 0;
        translate: 2rem 4rem;
      }
    }
  }
  @media (max-width: 768px) { /* SP */
    text-decoration: none;
    /* width: fit-content; */
    width: 165rem;
    height: 29rem;
    padding: 5.772rem 22.264rem;
    gap: 8.246rem;
    border-radius: 24.738rem;
    border: 1.649rem solid #EE87B4;
    background: #fff;
    box-shadow: 1.649rem 3.298rem 0rem 0rem rgba(0, 0, 0, 0.25);
    color: var(--, #7E318E);
    font-family: "Noto Serif JP";
    font-size: 16rem;
  }
}
.button--menu-open {
  img {
    flex-shrink: 0;

    @media (min-width: 769px) { /* PC */
      width: 42rem;
      height: 38rem;
      aspect-ratio: 42/38;
    }
    @media (max-width: 768px) { /* SP */
      width: 25rem;
      height: 23rem;
      aspect-ratio: 25/23;
    }
  }
  @media (max-width: 768px) { /* SP */
    order: 2;
  }
}
.free__container {
  background: #efefef;

  @media (min-width: 769px) { /* PC */
    padding-top: 31.7rem;
  }
  @media (max-width: 768px) { /* SP */
    padding: 20rem 0;
  }
}
.free__inner {
  margin-inline: auto;
  @media (min-width: 769px) { /* PC */
    width: 1100rem;
  }
  @media (max-width: 768px) { /* SP */
    width: 345rem;
  }
}
.free__text {
  color: #000;
  text-align: center;
  font-style: normal;
  font-weight: 700;
  line-height: normal;

  @media (min-width: 769px) { /* PC */
    font-size: 36rem;
    margin-bottom: 44rem;
  }
  @media (max-width: 768px) { /* SP */
    font-size: 18rem;
    margin-bottom: 20rem;
  }
}
.button--large-violet {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  background: linear-gradient(90deg, #80338F 6.22%, #C668A6 94.22%);
  color: #fff67f;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  margin-inline: auto;

  .--icon {
    flex-shrink: 0;
  }

  @media (min-width: 769px) { /* PC */
    width: 712.304rem;
    height: 129rem;
    padding: 19.63rem 0rem 19.63rem 42.065rem;
    gap: 50.478rem;
    border-radius: 84.13rem;
    border: 5.609rem solid #FFF67F;
    box-shadow: 5.609rem 11.217rem 0rem 0rem rgba(0, 0, 0, 0.25);
    font-size: 56rem;
    margin-bottom: 26rem;
    transition: translate .15s ease, box-shadow 0.15s ease;
    @media (hover:hover) {
      &:hover {
        box-shadow: 0 0 0 0;
        translate: 5.609rem 11.217rem;
      }
    }
    .--icon {
      width: 36.457rem;
      height: 36.457rem;
    }
  }
  @media (max-width: 768px) { /* SP */
    width: 341rem;
    height: 61.756rem;
    padding: 9.398rem 0rem 9.398rem 20.138rem;
    gap: 24.165rem;
    border-radius: 40.276rem;
    border: 2.685rem solid #FFF67F;
    box-shadow: 2.685rem 5.37rem 0rem 0rem rgba(0, 0, 0, 0.25);
    font-size: 26.809rem;
    margin-bottom: 20rem;
    .--icon {
      width: 17.453rem;
      height: 17.453rem;
    }
  }
}
.balloon {
  display: grid;
  place-items: center;

  img {
    grid-area: 1/1;
    display: block;
    flex-shrink: 0;
    object-fit: cover;
    margin-inline: auto;

    @media (min-width: 769px) { /* PC */
      width: 1098.225rem;
      height: 192.209rem;
      aspect-ratio: 1098.225/192.209;
    }
    @media (max-width: 768px) { /* SP */
      width: 345rem;
      height: 118rem;
      aspect-ratio: 345/118;
    }
  }
  p {
    grid-area: 1/1;
    color: #7e318e;
    text-align: center;
    font-style: normal;
    font-weight: 700;
    line-height: normal;

    @media (min-width: 769px) { /* PC */
      padding-top: 30rem;
      font-size: 36rem;
    }
    @media (max-width: 768px) { /* SP */
      z-index: 1;
      font-size: 16rem;
      padding-top: 17rem;
    }
  }

  @media (max-width: 768px) { /* SP */
    width: 100%;
    margin-bottom: 20rem;
  }
}
.paid__container {
  background: #efefef;

  @media (min-width: 769px) { /* PC */
    padding-bottom: 73rem;
    padding-top: 43rem;
  }
  @media (max-width: 768px) { /* SP */
    padding: 20rem 0;
  }
}
.paid__inner {
  position: relative;
  margin-inline: auto;
  @media (min-width: 769px) { /* PC */
    width: 1100rem;
  }
  @media (max-width: 768px) { /* SP */
    width: 345rem;
  }
}
.paid-live-inperson__title {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 10rem;
  background: #7e318e;
  font-style: normal;
  font-weight: 700;
  line-height: normal;

  @media (min-width: 769px) { /* PC */
    padding: 6rem 21rem;
    border-radius: 10rem;
    color: #FFF67F;
    font-size: 42rem;
    margin-bottom: 38rem;
  }
  @media (max-width: 768px) { /* SP */
    padding: 3.408rem 11.928rem;
    gap: 5.68rem;
    border-radius: 5.68rem;
    color: #fff67f;
    font-size: 22rem;
    margin-bottom: 16.18rem;
  }
}
.paid-live-inperson__lead {
  font-style: normal;
  font-weight: 700;
  line-height: normal;

  @media (min-width: 769px) { /* PC */
    color: #7e318e;
    font-size: 36rem;
    margin-bottom: 42rem;
  }
  @media (max-width: 768px) { /* SP */
    color: #000;
    font-size: 16rem;
    margin-bottom: 20rem;
  }
}
.paid-live-inperson__illust--man {
  position: absolute;
  top: -40rem;
  right: 0;
  width: 325rem;
  height: 239.542rem;
}
.workshop__list {
  display: flex;
  justify-content: space-between;

  @media (max-width: 768px) { /* SP */
    flex-wrap: wrap;
    gap: 10rem 7rem;
  }
}
.workshop__item {
  @media (min-width: 769px) { /* PC */
    width: 336rem;
  }
  @media (max-width: 768px) { /* SP */
    width: 169rem;
  }
  &:not(:empty) {
    flex-direction: column;
    align-items: center;
    gap: 11rem;
    border-radius: 10rem;
    background: #fff;
    box-shadow: 0rem 4rem 4rem 0rem rgba(0, 0, 0, 0.25);
    overflow: hidden;
    @media (min-width: 769px) { /* PC */
      box-shadow: 0rem 4rem 4rem 0rem rgba(0, 0, 0, 0.25);
      border-radius: 10rem;
    }
    @media (max-width: 768px) { /* SP */
      border-radius: 5.025rem;
      box-shadow: 0rem 2.01rem 2.01rem 0rem rgba(0, 0, 0, 0.25);
    }
  }
}
.workshop__link {
  width: 100%;
  display: block;
  @media (min-width: 769px) { /* PC */
    @media (hover:hover) {
      &:hover {
        .workshop__image {
          transform: scale(1.05);
        }
      }
    }
  }
}
.workshop__figure {
  position: relative;
  overflow: hidden;
  width: 100%;
  flex-shrink: 0;

  @media (min-width: 769px) { /* PC */
    height: 256rem;
  }
  @media (max-width: 768px) { /* SP */
    height: 128.646rem;
  }
}
.workshop__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .3s ease;
}
.workshop__image--extra {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;

  @media (min-width: 769px) { /* PC */
    width: 205.57rem;
    height: 102.78rem;
  }
  @media (max-width: 768px) { /* SP */
    width: 103.304rem;
    height: 51.65rem;
  }
}
.workshop__box--text {
  @media (min-width: 769px) { /* PC */
    padding: 11rem 25rem 25rem;
  }
  @media (max-width: 768px) { /* SP */
    padding: 5.53rem 10rem 20rem;
  }
}
.workshop__title {
  color: #7e318e;
  font-style: normal;
  font-weight: 400;
  line-height: normal;

  @media (min-width: 769px) { /* PC */
    font-size: 28rem;
    margin-bottom: 11rem;
  }
  @media (max-width: 768px) { /* SP */
    font-size: 16rem;
  }
}
.workshop__text {
  color: #000;
  font-style: normal;
  font-weight: 400;
  line-height: normal;

  @media (min-width: 769px) { /* PC */
    font-size: 22rem;
  }
  @media (max-width: 768px) { /* SP */
    font-size: 16rem;
  }
}
.archive__container {
  background: #ee87b4;
  width: 100%;
  overflow: hidden;

  @media (min-width: 769px) { /* PC */
    display: grid;
    place-items: center;
    padding: 55rem 48rem;
  }
  @media (max-width: 768px) { /* SP */
    padding: 33rem 0 38rem;
  }
}
.archive__inner {
  @media (min-width: 769px) { /* PC */
    width: calc(1200rem - 47rem * 2);
  }
  @media (max-width: 768px) { /* SP */
    width: 345rem;
    margin-inline: auto;
  }
}
.archive__lead {
  color: var(--ffffff, #FFF);
  font-size: 36px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;

  @media (min-width: 769px) { /* PC */
    color: var(--ffffff, #FFF);
    font-size: 36px;
    margin-bottom: 49.95rem;
  }
  @media (max-width: 768px) { /* SP */
    color: #fff;
    font-size: 16rem;
    margin-bottom: 37rem;
  }
}
.archive__slider {
  .splide__track {
    overflow: hidden;
    @media (min-width: 769px) { /* PC */
      @media screen and (max-width: 1396px) {
        margin-inline: calc((100vw - 1396px) * .5);
      }
    }
  }
  .splide__list {
    @media (min-width: 769px) { /* PC */
      width: 1396rem;
    }
    @media (max-width: 768px) { /* SP */
      width: 100vw;
    }
  }
  .splide__slide {
    flex-shrink: 0;
    border-radius: 10rem;
    overflow: hidden;
    img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    @media (min-width: 769px) { /* PC */
      width: 256.96rem;
      height: 188.44rem;
    }
    @media (max-width: 768px) { /* SP */
      width: 216.712rem;
      height: 158.924rem;
    }
  }
  @media (min-width: 769px) { /* PC */
    @media screen and (max-width: 1396px) {
      margin-inline: calc((100vw - 1396rem) * .5);
      width: 100vw;
      margin-inline: -48rem;
    }
  }
  .splide-archive__pagination {
    position: static;
    margin-top: 27.47rem;
    li {
      display: grid;
      place-items: center;
    }
    .splide__pagination__page {
      opacity: 1;
      background-color: #fff;
      &.is-active {
        transform: scale(1);
      }

      @media (min-width: 769px) { /* PC */
        width: 17.14rem;
        height: 17.14rem;
      }
      @media (max-width: 768px) { /* SP */
        width: 16.438rem;
        height: 16.438rem;
        flex-shrink: 0;
      }
    }
    .pagination-prev,
    .pagination-next {
      content: "";
      display: block;
      background-image: url(../images/home/icon-arrow-right-o.svg);
      background-size: contain;
      cursor: pointer;

      @media (min-width: 769px) { /* PC */
        width: 34.26rem;
        height: 34.26rem;
      }
      @media (max-width: 768px) { /* SP */
        width: 32.856rem;
        height: 32.856rem;
        flex-shrink: 0;
      }
    }
    .pagination-prev {
      transform: rotate(180deg);
    }
    .pagination-next {
    }

    @media (min-width: 769px) { /* PC */
      gap: 17.12rem;
    }
    @media (max-width: 768px) { /* SP */
      gap: 16.42rem;
      margin-top: 47rem;
    }
  }
  .splide__arrow {
    background: none;
    background-image: url(../images/home/icon-arrow-right-o.svg);
    background-size: contain;
    opacity: 1;
    svg {
      display: none;
    }

    @media (min-width: 769px) { /* PC */
      width: 68.52rem;
      height: 68.52rem;
      top: calc((188.44rem - 68.52rem)*.5);
      transform: translate(0);
    }
    @media (max-width: 768px) { /* SP */
      width: 38.349rem;
      height: 38.349rem;
      flex-shrink: 0;
      top: 60rem;
    }
  }
  .splide__arrow--prev {
    @media (min-width: 769px) { /* PC */
      transform: rotate(180deg) translateX(-80rem);
    }
    @media (max-width: 768px) { /* SP */
      left: 14.65rem;
      transform: rotate(180deg) translate(0,0);
    }
  }
  .splide__arrow--next {
    @media (min-width: 769px) { /* PC */
      transform: translateX(-70rem);
    }
    @media (max-width: 768px) { /* SP */
      right: 14.65rem;
      transform: translate(0,0);
    }
  }
  .splide__arrows {
    position: relative;

    @media (min-width: 769px) { /* PC */
      width: 1396rem !important;
      @media screen and (max-width: 1396px) {
        margin-inline: calc((100vw - 1396rem) * .5);
      }
    }
    @media (max-width: 768px) { /* SP */
      position: absolute;
      width: 100vw;
      left: 0;
      top: 0;
    }
  }
}
.archive__coming-soon {
  color: var(--ffffff, #FFF);
  text-align: center;
  font-family: "Noto Serif JP";
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  @media (min-width: 769px) { /* PC */
    font-size: 55rem;
    margin: 80rem 0 120rem;
  }
  @media (max-width: 768px) { /* SP */
    font-size: 24rem;
  }
}
.workshop__coming-soon {
  color: #7e318e;
  text-align: center;
  font-family: "Noto Serif JP";
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  @media (min-width: 769px) { /* PC */
    font-size: 55rem;
    margin: 40rem 0 60rem;
  }
  @media (max-width: 768px) { /* SP */
    font-size: 24rem;
    margin: 20rem 0 30rem;
  }
}
.target-picker__container {
  background-color: #7e318e;
  display: grid;
  place-items: center;
}
.target-picker__inner {
  @media (min-width: 769px) { /* PC */
    width: 1100rem;
    padding: 42rem 0 65rem;
  }
  @media (max-width: 768px) { /* SP */
    width: 345rem;
    padding: 20rem 0 30rem;
  }
}
.target-picker__title {
  color: #fff;
  text-align: center;
  font-style: normal;
  font-weight: 700;
  line-height: normal;

  @media (min-width: 769px) { /* PC */
    font-size: 55rem;
    margin-bottom: 42rem;
  }
  @media (max-width: 768px) { /* SP */
    font-size: 24rem;
    margin-bottom: 18rem;
  }
}
.target-picker__list {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 42rem;

  @media (min-width: 769px) { /* PC */
    gap: 25rem;
  }
  @media (max-width: 768px) { /* SP */
    margin-bottom: 14rem;
    flex-wrap: wrap;
    gap: 17rem 16rem;
  }
}
.target-picker__item {
  flex-shrink: 0;
  color: #fff;
  text-align: center;
  font-style: normal;
  font-weight: 600;
  border-radius: 10rem;
  border: 2px solid #FFF;
  display: grid;
  place-items: center;

  @media (min-width: 769px) { /* PC */
    width: 256rem;
    height: 209rem;
    line-height: 48rem; /* 150% */
  }
  @media (max-width: 768px) { /* SP */
    width: 163.38rem;
    height: 133.384rem;
    font-size: 20rem;
    line-height: 30.634rem;
    border-radius: 6.382rem;
    border: 1.276rem solid #FFF;
  }
}
.target-picker__text {
  color: #fff;
  text-align: center;
  font-style: normal;
  font-weight: 700;
  line-height: normal;

  @media (min-width: 769px) { /* PC */
    font-size: 36rem;
  }
  @media (max-width: 768px) { /* SP */
    font-size: 16rem;
  }
}
.course__container {
  @media (min-width: 769px) { /* PC */
    width: 1100rem;
    margin-inline: auto;
    padding: 42rem 0 84rem;
  }
  @media (max-width: 768px) { /* SP */
    padding: 14rem 0 24rem;
  }
}
.course__box--title {
  display: grid;

  @media (min-width: 769px) { /* PC */
    margin-bottom: 36.9rem;
  }
  @media (max-width: 768px) { /* SP */
    margin-bottom: 15rem;
  }
}
.course__title {
  color: #7e318e;
  text-align: center;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  grid-area: 1/1;

  @media (min-width: 769px) { /* PC */
    font-size: 55rem;
  }
  @media (max-width: 768px) { /* SP */
    font-size: 22rem;
  }
}
.course__delta {
  grid-area: 1/1;
  margin-inline: auto;
  flex-shrink: 0;

  @media (min-width: 769px) { /* PC */
    width: 210.2rem;
    height: 105.1rem;
  }
  @media (max-width: 768px) { /* SP */
    width: 145rem;
    height: 73rem;
  }
}
.course__list {
  display: flex;
  flex-wrap: wrap;

  @media (min-width: 769px) { /* PC */
    margin-inline: -2rem;
    margin-bottom: 39rem;
  }
  @media (max-width: 768px) { /* SP */
    justify-content: center;
    margin-bottom: 8.33rem;
  }
}
.course__item {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  border: 2px solid #DBD7D5;
  color: #000;
  text-align: center;
  font-style: normal;
  font-weight: 500;
  line-height: normal;

  @media (min-width: 769px) { /* PC */
    width: 276rem;
    height: 120rem;
    font-size: 32rem;
    &:nth-of-type(2),
    &:nth-of-type(4),
    &:nth-of-type(5),
    &:nth-of-type(7) {
      background: #dbd7d5;
    }
  }
  @media (max-width: 768px) { /* SP */
    width: 172.312rem;
    height: 74.918rem;
    font-size: 18rem;
    &:nth-of-type(2),
    &:nth-of-type(3),
    &:nth-of-type(6),
    &:nth-of-type(7) {
      background: #dbd7d5;
    }
  }
}
.course__text {
  color: #000;
  text-align: center;
  font-style: normal;
  line-height: normal;

  @media (min-width: 769px) { /* PC */
    font-size: 22rem;
    font-weight: 500;
  }
  @media (max-width: 768px) { /* SP */
    font-size: 16rem;
    font-weight: 700;
  }
}
.school__container {
  background-image: url(../images/home/school-bg.png);
  display: grid;
  place-items: center;
}
.school__illust {
  @media (min-width: 769px) { /* PC */
    width: 1201rem;
    height: 1201rem;
    flex-shrink: 0;
    aspect-ratio: 1/1;
  }
  @media (max-width: 768px) { /* SP */
    width: 100%;
  }
}
.voice__container {
  display: grid;
  place-items: center;
  background: #efefef;

  @media (min-width: 769px) { /* PC */
    padding: 85.3rem 0 98rem;
  }
  @media (max-width: 768px) { /* SP */
    padding: 19rem 0 37rem;
  }
}
.voice__inner {
  @media (min-width: 769px) { /* PC */
    width: 1200rem;
  }
  @media (max-width: 768px) { /* SP */
    width: 345rem;
  }
}
.voice__title {
  display: grid;
  place-items: center;

  img {
    flex-shrink: 0;

    @media (min-width: 769px) { /* PC */
      width: 533.25rem;
      height: 114.34rem;
      aspect-ratio: 533.25/114.34;
    }
    @media (max-width: 768px) { /* SP */
      width: 211rem;
      height: 45.243rem;
      aspect-ratio: 211/45.243;
    }
  }

  @media (min-width: 769px) { /* PC */
    margin-bottom: 83.66rem;
  }
  @media (max-width: 768px) { /* SP */
    margin-bottom: 20rem;
  }
}
.voice__list {
  display: grid;

  @media (min-width: 769px) { /* PC */
    grid-template-rows: 215rem 215rem 215rem;
    grid-template-columns: 537rem 537rem;
    gap: 23rem;
  }
  @media (max-width: 768px) { /* SP */
    display: flex;
    flex-direction: column;
    gap: 23rem;
    width: 345rem;
  }
}
.voice__item {
  flex-shrink: 0;
  border-radius: 10rem;
  background: #FFF;
  box-shadow: 2px 2px 10px 1px #885D91;
  display: flex;
  flex-direction: column;

  &:nth-of-type(2) {
    @media (min-width: 769px) { /* PC */
      grid-row: span 2;
    }
  }

  @media (min-width: 769px) { /* PC */
    padding: 33rem 43rem 23rem 43rem;
    justify-content: space-between;
    align-items: center;
  }
  @media (max-width: 768px) { /* SP */
    padding: 21.017rem 27.385rem 14.648rem 27.385rem;
    align-items: flex-start;
    gap: 6.369rem;
    align-self: stretch;
    border-radius: 6.369rem;
    box-shadow: 1.274rem 1.274rem 6.369rem 0.637rem #885D91;
  }
}
.voice__text {
  color: #000;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  text-align: center;
  white-space: nowrap;

  em {
    color: #7e318e;
    text-align: center;
    font-style: normal;
    font-weight: 700;
    line-height: normal;

    @media (min-width: 769px) { /* PC */
      font-size: 30rem;
    }
    @media (max-width: 768px) { /* SP */
      font-size: 18rem;
    }
  }

  @media (min-width: 769px) { /* PC */
    font-size: 28rem;
  }
  @media (max-width: 768px) { /* SP */
    font-size: 16rem;
    margin-bottom: 16rem;
  }
}
.voice__meta {
  border-radius: 5rem;
  overflow: hidden;
  filter: drop-shadow(2px 2px 10px #a67aaf);
  display: flex;
  justify-content: center;
  align-items: center;
  margin-inline: auto;
}
.voice__course {
  flex-shrink: 0;
  background: #7e318e;
  color: #fff;
  text-align: center;
  font-family: var(--noto-sans-jp);
  font-style: normal;
  font-weight: 350;
  line-height: normal;

  @media (min-width: 769px) { /* PC */
    width: 198rem;
    height: 34rem;
    font-size: 21rem;
  }
  @media (max-width: 768px) { /* SP */
    width: 153rem;
    height: 25rem;
    font-size: 16rem;
  }
}
.voice__gender {
  background: #d9d9d9;
  flex-shrink: 0;
  color: #000;
  text-align: center;
  font-family: var(--noto-sans-jp);
  font-style: normal;
  font-weight: 350;
  line-height: normal;

  @media (min-width: 769px) { /* PC */
    width: 66rem;
    height: 34rem;
    font-size: 21rem;
  }
  @media (max-width: 768px) { /* SP */
    width: 51rem;
    height: 25rem;
    font-size: 16rem;
  }
}
.faq__container {
  display: grid;
  place-items: center;
  background: #dbd7d5;

  @media (min-width: 769px) { /* PC */
    padding: 84rem 0;
  }
  @media (max-width: 768px) { /* SP */
    padding: 18rem 15rem 30rem;
  }
}
.faq__inner {
  @media (min-width: 769px) { /* PC */
    width: 1100rem;
  }
}
.faq__title {
  display: grid;
  place-items: center;

  img {
    flex-shrink: 0;

    @media (min-width: 769px) { /* PC */
      width: 481.484rem;
      height: 112.8rem;
      aspect-ratio: 481.484/112.8;
    }
    @media (max-width: 768px) { /* SP */
      width: 188.956rem;
      height: 44.379rem;
      aspect-ratio: 188.956/44.379;
    }
  }

  @media (min-width: 769px) { /* PC */
    margin-bottom: 78.2rem;
  }
  @media (max-width: 768px) { /* SP */
    margin-bottom: 22rem;
  }
}
.faq__list {
  display: flex;

  @media (min-width: 769px) { /* PC */
    justify-content: center;
    gap: 21.13rem;
  }
  @media (max-width: 768px) { /* SP */
    gap: 16rem;
    flex-direction: column;
  }
}
.faq__column {
  display: flex;
  flex-direction: column;

  @media (min-width: 769px) { /* PC */
    gap: 25.92rem;
  }
  @media (max-width: 768px) { /* SP */
    gap: 16rem;
  }
}
.faq__item {
  border-radius: 10rem 10rem 0 0;
  overflow: hidden;
  cursor: pointer;
  &[aria-expanded="true"] {
    border-radius: 10rem;
    .faq__answer {
      grid-template-rows: 1fr;
    }
  }
  &[aria-expanded="false"] {
    .faq__question {
      &:after {
        transform: rotate(180deg);
      }
    }
  }

  @media (min-width: 769px) { /* PC */
    width: 538rem;
  }
  @media (max-width: 768px) { /* SP */
    width: 345rem;
  }
}
.faq__question {
  position: relative;
  background: #fff;
  display: flex;
  align-items: flex-start;
  gap: 19.94rem;
  padding: 18rem 18rem calc(18rem + 25rem);

  img {
    flex-shrink: 0;

    @media (min-width: 769px) { /* PC */
      width: 70.304rem;
      height: 81.029rem;
      aspect-ratio: 70.30/81.03;
    }
    @media (max-width: 768px) { /* SP */
      width: 44.59rem;
      height: 51.392rem;
      aspect-ratio: 44.59/51.39;
    }
  }
  p {
    color: #7e318e;
    font-style: normal;
    font-weight: 700;
    line-height: 1;

    @media (min-width: 769px) { /* PC */
      font-size: 30rem;
    }
    @media (max-width: 768px) { /* SP */
      font-size: 19rem;
      line-height: normal;
    }
  }
  &:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    display: block;
    width: 100%;
    background: #7e318e;
    background-image: url(../images/home/icon-chevron-up.svg);
    background-repeat: no-repeat;
    background-position: center;

    @media (min-width: 769px) { /* PC */
      height: 24.799rem;
      background-size: 20rem 12rem;
    }
    @media (max-width: 768px) { /* SP */
      height: 15.768rem;
      background-size: 14rem 8rem;
    }
  }
}
.faq__answer {
  background: #efefef;
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.2s ease-out;
}
.faq__inner--answer {
  overflow: hidden;
  color: #231815;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  p {
    padding: 11.41rem 15rem 30rem 25rem;
  }

  @media (min-width: 769px) { /* PC */
    font-size: 30rem;
  }
  @media (max-width: 768px) { /* SP */
    font-size: 19rem;
  }
}
.cancel__container {
  display: grid;
  place-items: center;

  @media (min-width: 769px) { /* PC */
    padding: 69rem 0;
  }
  @media (max-width: 768px) { /* SP */
    padding: 16rem 0 24rem;
  }
}
.cancel__inner {
  @media (min-width: 769px) { /* PC */
    width: 1100rem;
  }
  @media (max-width: 768px) { /* SP */
    width: 345rem;
  }
}
.cancel__title {
  color: #000;
  text-align: center;
  font-style: normal;
  font-weight: 700;
  line-height: normal;

  @media (min-width: 769px) { /* PC */
    font-size: 36rem;
    margin-bottom: 28rem;
  }
  @media (max-width: 768px) { /* SP */
    font-size: 24rem;
    margin-bottom: 10rem;
  }
}
.cancel__text {
  color: #000;
  font-style: normal;
  line-height: normal;

  @media (min-width: 769px) { /* PC */
    font-size: 22rem;
    font-weight: 500;
  }
  @media (max-width: 768px) { /* SP */
    font-size: 16rem;
    font-weight: 400;
  }
}
.contact__container {
  background: #efefef;
  display: grid;
  place-items: center;

  @media (min-width: 769px) { /* PC */
    padding: 64rem 0 119rem;
  }
  @media (max-width: 768px) { /* SP */
    padding: 19rem 0 45rem;
  }
}
.contact__inner {
  @media (min-width: 769px) { /* PC */
    width: 1100rem;
  }
  @media (max-width: 768px) { /* SP */
    width: 345rem;
  }
}
.contact__title {
  display: grid;
  place-items: center;
  color: #7e318e;
  text-align: center;
  font-style: normal;
  font-weight: 700;
  line-height: normal;

  @media (min-width: 769px) { /* PC */
    font-size: 60rem;
    margin-bottom: 81rem;
  }
  @media (max-width: 768px) { /* SP */
    font-size: 24rem;
    margin-bottom: 15rem;
  }
}
.contact__button--free {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16.304rem;
  flex-shrink: 0;
  background: linear-gradient(90deg, #80338F 6.22%, #C668A6 94.22%);
  color: #fff67f;
  font-style: normal;
  font-weight: 700;
  line-height: normal;

  @media (min-width: 769px) { /* PC */
    width: 414.13rem;
    height: 75rem;
    padding: 11.413rem 44.022rem;
    border-radius: 48.913rem;
    border: 3.261rem solid #FFF67F;
    box-shadow: 3.261rem 6.522rem 0rem 0rem rgba(0, 0, 0, 0.25);
    font-size: 29.348rem;
    transition: translate .15s ease, box-shadow 0.15s ease;
    @media (hover:hover) {
      &:hover {
        box-shadow: 0 0 0 0;
        translate: 3.261rem 6.522rem;
      }
    }
  }
  @media (max-width: 768px) { /* SP */
    width: 211.757rem;
    height: 33.557rem;
    padding: 6.679rem 25.762rem;
    gap: 9.542rem;
    border-radius: 28.625rem;
    border: 1.908rem solid #FFF67F;
    box-shadow: 1.908rem 3.817rem 0rem 0rem rgba(0, 0, 0, 0.25);
    font-size: 18.514rem;
  }
}
.contact__button--paid,
.contact__button--document {
  all: unset;
  cursor: pointer;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16.304rem;
  flex-shrink: 0;
  border-radius: 48.913rem;
  border: 3.261rem solid #ee87b4;
  background: #FFF;
  color: #7E318E;
  font-style: normal;
  font-weight: 700;
  line-height: normal;

  @media (min-width: 769px) { /* PC */
    height: 75rem;
    padding: 11.413rem 44.022rem;
    font-size: 29.348rem;
    box-shadow: 3.261rem 6.522rem 0rem 0rem rgba(0, 0, 0, 0.25);
    transition: translate .15s ease, box-shadow 0.15s ease;
    @media (hover:hover) {
      &:hover {
        box-shadow: 0 0 0 0;
        translate: 3.261rem 6.522rem;
      }
    }
  }
  @media (max-width: 768px) { /* SP */
    height: 33.557rem;
    padding: 6.679rem 25.762rem;
    gap: 9.542rem;
    border-radius: 28.625rem;
    border: 1.908rem solid #EE87B4;
    box-shadow: 1.908rem 3.817rem 0rem 0rem rgba(0, 0, 0, 0.25);
    font-size: 18.514rem;
  }
}
.contact__button--paid {
  @media (min-width: 769px) { /* PC */
    width: 404.348rem;
    font-family: "Noto Serif JP";
  }
  @media (max-width: 768px) { /* SP */
    width: 207.129rem;
  }
}
.contact__buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;

  @media (min-width: 769px) { /* PC */
    gap: 35rem 26.3rem;
    flex-direction: column;
  }
  @media (max-width: 768px) { /* SP */
    flex-direction: column;
    gap: 19rem;
  }
}
.contact__button--document {
  @media (min-width: 769px) { /* PC */
    width: 414rem;
  }
  @media (max-width: 768px) { /* SP */
    width: 207rem;
  }
}
.modal-paid-course__icon--close {
  pointer-events: none;
  position: absolute;
  top: -61rem;
  right: 0;
  width: 41rem;
  height: 40rem;
  flex-shrink: 0;
  cursor: pointer;
}
.modal-paid-course__course {
  label {
    color: #000;
    font-style: normal;
    font-weight: 700;
    line-height: normal;

    @media (min-width: 769px) { /* PC */
      font-size: 36rem;
    }
    @media (max-width: 768px) { /* SP */
      font-size: 20rem;
      display: block;
      margin-bottom: 15rem;
    }
  }
  select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    flex-shrink: 0;
    background: #efefef;
    border: 1px solid #9FA0A0;
    color: #626664;
    font-family: var(--noto-sans-jp);
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    background-image: url(../images/home/icon-chevron-down.svg);
    background-repeat: no-repeat;
    background-position: right 10rem center;
    padding: 0 15rem;

    @media (min-width: 769px) { /* PC */
      width: 796rem;
      height: 37rem;
      font-size: 18rem;
      background-size: 18rem 12rem;
    }
    @media (max-width: 768px) { /* SP */
      width: 310rem;
      height: 32rem;
      background-color: #efefef;
      border: 1px solid #9fa0a0;
      font-size: 14rem;
      padding: 0 11rem;
      background-size: 12rem 7rem;
    }
  }

  @media (min-width: 769px) { /* PC */
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 27rem;
    margin-bottom: 60rem;
  }
  @media (max-width: 768px) { /* SP */
    margin-bottom: 41rem;
  }
}
.modal-paid-course__buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 31rem;

  @media (max-width: 768px) { /* SP */
    flex-direction: column;
  }
}
.modal-paid-course__item {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
.modal-paid-course__text {
  color: #000;
  font-style: normal;
  line-height: normal;

  @media (min-width: 769px) { /* PC */
    font-size: 30rem;
    font-weight: 400;
    margin-bottom: 24rem;
  }
  @media (max-width: 768px) { /* SP */
    font-size: 16rem;
    font-weight: 700;
    margin-bottom: 13rem;
  }
}
.training__container {
  background: #ee87b4;
  display: grid;
  place-items: center;

  @media (min-width: 769px) { /* PC */
    padding: 55rem 0 97rem;
  }
  @media (max-width: 768px) { /* SP */
    padding: 26rem 0 33rem;
  }
}
.training__inner {
  @media (min-width: 769px) { /* PC */
    width: 1100rem;
  }
  @media (max-width: 768px) { /* SP */
    width: 345rem;
  }
}
.training__title {
  color: #7e318e;
  text-align: center;
  font-style: normal;
  font-weight: 700;
  line-height: normal;

  @media (min-width: 769px) { /* PC */
    font-size: 55rem;
    margin-bottom: 30rem;
  }
  @media (max-width: 768px) { /* SP */
    font-size: 24rem;
    margin-bottom: 10rem;
  }
}
.training__lead {
  color: #fff;
  text-align: center;
  font-style: normal;
  font-weight: 700;
  line-height: normal;

  @media (min-width: 769px) { /* PC */
    font-size: 36rem;
    margin-bottom: 19rem;
  }
  @media (max-width: 768px) { /* SP */
    font-size: 16rem;
    margin-bottom: 13rem;
  }
}
.training__line {
  margin-inline: auto;
  display: block;
  flex-shrink: 0;
  aspect-ratio: 935/23;
  margin-bottom: 26rem;

  @media (min-width: 769px) { /* PC */
    width: 935rem;
    height: 23rem;
  }
  @media (max-width: 768px) { /* SP */
    width: 344.644rem;
    height: 8.5rem;
    margin-bottom: 8rem;
  }
}
.training__list {
  display: flex;
  flex-direction: column;
  gap: 18.38rem;
}
.training__item {
  display: flex;
  align-items: center;
  gap: 15.38rem;
  p {
    color: #fff;
    font-style: normal;
    line-height: normal;

    @media (min-width: 769px) { /* PC */
      font-size: 30rem;
      font-weight: 400;
    }
    @media (max-width: 768px) { /* SP */
      font-size: 16rem;
      font-weight: 700;
    }
  }
}
.training__number {
  flex-shrink: 0;
  aspect-ratio: 1/1;

  @media (min-width: 769px) { /* PC */
    width: 43.62rem;
    height: 43.62rem;
  }
  @media (max-width: 768px) { /* SP */
    width: 25.674rem;
    height: 25.674rem;
  }
}
.training__box {
  display: flex;
  justify-content: space-between;
  margin-bottom: 26.36rem;

  @media (min-width: 769px) { /* PC */
    padding-right: 54.36rem;
  }
}
.training__button {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 19.783rem;
  flex-shrink: 0;
  border-radius: 59.348rem;
  border: 3.957rem solid #ee87b4;
  background: #FFF;
  margin-inline: auto;
  color: #7e318e;
  font-style: normal;
  font-weight: 700;
  line-height: normal;

  @media (min-width: 769px) { /* PC */
    width: 490.609rem;
    height: 91rem;
    font-size: 35.609rem;
    box-shadow: 3.957rem 7.913rem 0rem 0rem rgba(0, 0, 0, 0.25);
    transition: translate .15s ease, box-shadow 0.15s ease;
    @media (hover:hover) {
      &:hover {
        box-shadow: 0 0 0 0;
        translate: 3.957rem 7.913rem;
      }
    }
  }
  @media (max-width: 768px) { /* SP */
    width: 193rem;
    height: 35.798rem;
    padding: 5.448rem 21.012rem;
    gap: 7.782rem;
    border-radius: 23.347rem;
    border: 1.556rem solid #ee87b4;
    box-shadow: 1.556rem 3.113rem 0rem 0rem rgba(0, 0, 0, 0.25);
    font-size: 14rem;
  }
}
.training__person {
  flex-shrink: 0;

  @media (min-width: 769px) { /* PC */
    width: 185.64rem;
    height: 185.64rem;
  }
  @media (max-width: 768px) { /* SP */
    margin-top: 10rem;
    width: 60.472rem;
    height: 60.472rem;
  }
}
.job__container {
  background: #7e318e;
  display: grid;
  place-items: center;

  @media (min-width: 769px) { /* PC */
    padding-bottom: 150rem;
  }
  @media (max-width: 768px) { /* SP */
    padding: 30rem 0 60rem;
  }
}
.job__inner {
  @media (min-width: 769px) { /* PC */
    width: 1100rem;
  }
  @media (max-width: 768px) { /* SP */
    width: 345rem;
  }
}
.job__title {
  color: #fff;
  text-align: center;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  margin-bottom: 25rem;

  @media (min-width: 769px) { /* PC */
    font-size: 55rem;
    padding: 57rem 0 0;
  }
  @media (max-width: 768px) { /* SP */
    font-size: 24rem;
  }
}
.job__list {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 31rem;
  margin-bottom: 44rem;

  @media (max-width: 768px) { /* SP */
    gap: 25rem;
    margin-bottom: 23rem;
    flex-direction: column;
  }
}
.job__item {
  @media (min-width: 769px) { /* PC */
    width: 534rem;
  }
  @media (max-width: 768px) { /* SP */
    width: 100%;
  }
  p {
    &:nth-of-type(1) {
      color: #fff;
      text-align: center;
      font-style: normal;
      line-height: normal;

      @media (min-width: 769px) { /* PC */
        font-size: 30rem;
        font-weight: 400;
        margin-bottom: 30rem;
      }
      @media (max-width: 768px) { /* SP */
        font-size: 16rem;
        font-weight: 700;
        margin-bottom: 11rem;
      }
    }
    &:nth-of-type(2) {
      flex-shrink: 0;
      display: grid;
      place-items: center;

      color: #fff;
      text-align: center;
      font-style: normal;
      font-weight: 600;
      line-height: 48rem;
      border-radius: 10rem;
      border: 2px solid #FFF;

      @media (min-width: 769px) { /* PC */
        font-size: 32rem;
        width: 534rem;
        height: 97rem;
      }
      @media (max-width: 768px) { /* SP */
        font-size: 18rem;
        line-height: 30.921rem;
        width: 344rem;
        height: 46rem;
        border-radius: 6.442rem;
        border: 1.288rem solid #FFF;
      }
    }
  }
}
.job__text {
  color: #fff;
  text-align: center;
  font-style: normal;
  line-height: normal;

  @media (min-width: 769px) { /* PC */
    font-size: 30rem;
    font-weight: 400;
    margin-bottom: 50rem;
  }
  @media (max-width: 768px) { /* SP */
    margin-bottom: 13rem;
    font-size: 16rem;
    font-weight: 700;
  }
}
.job__button {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 19.783rem;
  flex-shrink: 0;
  border-radius: 59.348rem;
  border: 3.957rem solid #ee87b4;
  background: #FFF;
  color: #7e318e;
  font-style: normal;
  font-weight: 700;
  line-height: normal;

  @media (min-width: 769px) { /* PC */
    width: 490.609rem;
    height: 91rem;
    font-size: 35.609rem;
    box-shadow: 3.957rem 7.913rem 0rem 0rem rgba(0, 0, 0, 0.25);
    transition: translate .15s ease, box-shadow 0.15s ease;
    @media (hover:hover) {
      &:hover {
        box-shadow: 0 0 0 0;
        translate: 3.957rem 7.913rem;
      }
    }
  }
  @media (max-width: 768px) { /* SP */
    width: 193rem;
    height: 35.798rem;
    padding: 5.448rem 21.012rem;
    gap: 7.782rem;
    border-radius: 23.347rem;
    border: 1.556rem solid #ee87b4;
    box-shadow: 1.556rem 3.113rem 0rem 0rem rgba(0, 0, 0, 0.25);
  }
}
.footer {
  background: #7e318e;
  display: grid;
  place-items: center;

  @media (min-width: 769px) { /* PC */
    padding-bottom: 43rem;
  }
  @media (max-width: 768px) { /* SP */
    padding-bottom: 18rem;
  }
}
.footer__inner {
  @media (min-width: 769px) { /* PC */
    width: 1200rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding: 0 30rem 0 39rem;
  }
  @media (max-width: 768px) { /* SP */
    width: 345rem;
  }
}
.footer__heading--company {
  color: #fff;
  font-family: var(--noto-sans-jp);
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  @media (min-width: 769px) { /* PC */
    font-size: 16rem;
    margin-bottom: 3rem;
  }
  @media (max-width: 768px) { /* SP */
    font-size: 12rem;
    margin-bottom: 5rem;
  }
}
.footer__company {
  a {
    color: #FFF;
    font-family: var(--noto-sans-jp);
    font-style: normal;
    font-weight: 350;
    line-height: normal;

    @media (min-width: 769px) { /* PC */
      font-size: 19rem;
      line-height: 1;
    }
    @media (max-width: 768px) { /* SP */
      font-size: 14rem;
    }
  }
  @media (min-width: 769px) { /* PC */
    margin-bottom: 7rem;
  }
  @media (max-width: 768px) { /* SP */
    margin-bottom: 2rem;
  }
}
.footer__copyright {
  color: #FFF;
  font-family: var(--noto-sans-jp);
  font-style: normal;
  font-weight: 350;
  line-height: normal;

  @media (min-width: 769px) { /* PC */
    font-size: 15rem;
  }
  @media (max-width: 768px) { /* SP */
    font-size: 14rem;
    margin-bottom: 9rem;
  }
}
.footer__right {
  display: flex;
  align-items: flex-end;
  flex-direction: column;
}
.footer__address {
  color: #fff;
  font-family: var(--noto-sans-jp);
  font-style: normal;
  font-weight: 350;
  line-height: normal;
  display: flex;
  align-items: center;
  margin-bottom: 8rem;
  @media (min-width: 769px) { /* PC */
    font-size: 18rem;
    margin-bottom: -5rem;
  }
  @media (max-width: 768px) { /* SP */
    font-size: 14rem;
  }
  img {
    flex-shrink: 0;

    @media (min-width: 769px) { /* PC */
      width: 16.96rem;
      height: 24.38rem;
      aspect-ratio: 16.96/24.38;
      margin-right: 4rem;
    }
    @media (max-width: 768px) { /* SP */
      margin-right: 3rem;
      width: 13rem;
      height: 18rem;
      aspect-ratio: 13/18;
    }
  }
}
.footer__privacy-policy {
  color: #FFF;
  font-family: var(--noto-sans-jp);
  font-style: normal;
  font-weight: 350;
  line-height: normal;

  @media (min-width: 769px) { /* PC */
    font-size: 15rem;
  }
  @media (max-width: 768px) { /* SP */
    font-size: 14rem;
  }
}
.footer__box--link {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  @media (min-width: 769px) { /* PC */
    gap: 10rem;
  }
  @media (max-width: 768px) { /* SP */
    gap: 15rem;
  }
}
