.mv__inner {
  position: relative;
}
.mv__img {
  height: 100%;
}
.mv__img picture {
  display: block;
  height: 100%;
}
.mv__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (720px <= width) {
  .mv__img img {
    min-height: 108rem;
  }
}
.mv__text {
  position: absolute;
  color: #fff;
  left: 2rem;
  bottom: 19rem;
}
.mv__text .ja {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1em;
}
.mv__text .en {
  font-size: 5rem;
  font-weight: 700;
  line-height: 1em;
  margin-top: 1rem;
  font-family: var(--ff-outfit);
}
@media (720px <= width) {
  .mv__text {
    bottom: 14rem;
    left: 6rem;
  }
  .mv__text .ja {
    font-size: 3.6rem;
    line-height: 1em;
  }
  .mv__text .en {
    font-size: 9rem;
    margin-top: 3rem;
  }
}
@media (1024px <= width) {
  .mv__text {
    bottom: 30rem;
    left: max(50% - 85rem, 11rem);
  }
  .mv__text .ja {
    font-size: 4rem;
    line-height: 1em;
  }
  .mv__text .en {
    font-size: 13.6rem;
    margin-top: 3rem;
  }
}
.mv .swiperBlocks {
  margin-top: -4rem;
}
@media (720px <= width) {
  .mv .swiperBlocks {
    margin-top: -6rem;
  }
}
.mv .swiper-slide {
  width: 24rem;
}
@media (720px <= width) {
  .mv .swiper-slide {
    width: 40rem;
  }
}

.information {
  padding: 10rem 2rem 10rem;
}
@media (720px <= width) {
  .information {
    padding: 16rem 0;
    position: relative;
  }
}
.information__body {
  margin-top: 4rem;
}
@media (720px <= width) {
  .information .buttonarea {
    margin-top: 0;
    position: absolute;
    top: 11rem;
    right: 0;
  }
}
@media (1024px <= width) {
  .information .buttonarea {
    top: 21rem;
  }
}

.about {
  border-top: 1px solid var(--clr-line);
}
.about__flowingtext {
  overflow: hidden;
  display: flex;
  padding: 1rem 0;
}
@media (720px <= width) {
  .about__flowingtext {
    padding: 2rem 0;
  }
}
.about__flowingtext span {
  white-space: nowrap;
  animation: anim--first 70s infinite linear 0.5s both;
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1em;
  color: #f5f5f5;
}
@media (720px <= width) {
  .about__flowingtext span {
    font-size: 8rem;
  }
}
.about__body a {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 0.6rem;
  aspect-ratio: 375/500;
  background: var(--url) center/cover no-repeat;
  color: #fff;
  font-weight: 700;
  padding: 5rem 2rem;
}
@media (720px <= width) {
  .about__body a {
    aspect-ratio: auto;
    height: 80rem;
    gap: 2rem;
    padding: 8rem 5rem;
    position: relative;
  }
}
@media (1280px <= width) {
  .about__body a {
    padding: 8rem 11rem;
  }
}
@media (hover: hover) and (width >= 720px) {
  .about__body a {
    transition: all var(--speed) ease-in-out;
  }
  .about__body a::before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: all var(--speed) ease-in-out;
  }
  .about__body a:hover::before {
    opacity: 1;
  }
}
.about__body a .label {
  font-size: 3.8rem;
  line-height: 4rem;
  position: relative;
}
@media (720px <= width) {
  .about__body a .label {
    font-size: 4.8rem;
  }
}
@media (1280px <= width) {
  .about__body a .label {
    font-size: 10rem;
    line-height: 10.6rem;
  }
}
.about__body a .text {
  font-size: 1.6rem;
  line-height: 2.8rem;
  position: relative;
}
@media (720px <= width) {
  .about__body a .text {
    font-size: 2.4rem;
    padding-right: 30rem;
  }
}
@media (1280px <= width) {
  .about__body a .text {
    font-size: 3.2rem;
    line-height: 5.2rem;
  }
}
.about__body a .viewmore {
  margin-left: auto;
}
@media (720px <= width) {
  .about__body a .viewmore {
    position: absolute;
    right: 5rem;
    bottom: 8rem;
  }
}
@media (1280px <= width) {
  .about__body a .viewmore {
    right: 11rem;
  }
}
.about__body a.hyperfit24 {
  --url: url(../images/home/hyperfit24_img_sp.webp);
}
@media (720px <= width) {
  .about__body a.hyperfit24 {
    --url: image-set(
      url(../images/home/hyperfit24_img.webp) 1x,
      url(../images/home/hyperfit24_img@2x.webp) 2x
    );
  }
}
.about__body a.wellness {
  --url: url(../images/home/hyperfitwellness24_img_sp.webp);
}
@media (720px <= width) {
  .about__body a.wellness {
    --url: image-set(
      url(../images/home/hyperfitwellness24_img.webp) 1x,
      url(../images/home/hyperfitwellness24_img@2x.webp) 2x
    );
  }
}

.flow {
  padding: 10rem 2rem;
}
@media (720px <= width) {
  .flow {
    padding: 16rem 0;
    position: relative;
  }
}
.flow__body {
  margin-top: 3.6rem;
}
@media (720px <= width) {
  .flow__body {
    margin-top: 8rem;
  }
}
.flow__box {
  display: grid;
  gap: 5.9rem 0;
}
@media (720px <= width) {
  .flow__box {
    grid-template-columns: repeat(2, 1fr);
    gap: 6rem 1.8rem;
  }
}
@media (1280px <= width) {
  .flow__box {
    grid-template-columns: repeat(4, 1fr);
    gap: 6rem;
  }
}
.flow__box .block {
  background-color: var(--clr-bg);
  display: flex;
  align-items: center;
  gap: 0 2rem;
  position: relative;
  padding: 3rem 2rem;
}
@media (720px <= width) {
  .flow__box .block {
    padding: 6rem 2rem 8rem;
    display: block;
    text-align: center;
  }
  .flow__box .block:nth-child(-n+2) {
    margin-right: 4.2rem;
  }
  .flow__box .block:nth-child(n+3) {
    margin-left: 4.2rem;
  }
}
@media (1280px <= width) {
  .flow__box .block:nth-child(-n+2) {
    margin-right: 0;
  }
  .flow__box .block:nth-child(n+3) {
    margin-left: 0;
  }
}
.flow__box .block:not(:last-child)::after {
  content: "";
  display: block;
  width: 3.4rem;
  height: 1.9rem;
  background: #ffe100;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
  left: calc(50% - 1.7rem);
  bottom: -3.9rem;
}
@media (720px <= width) {
  .flow__box .block:not(:last-child)::after {
    width: 2.4rem;
    height: 4rem;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    left: auto;
    bottom: auto;
    top: calc(50% - 2rem);
    right: -4.2rem;
  }
}
.flow__box .num {
  position: absolute;
  right: 2rem;
  top: 0;
  transform: translateY(-50%);
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1em;
  color: var(--clr-main);
}
@media (720px <= width) {
  .flow__box .num {
    right: 3rem;
    font-size: 4.4rem;
  }
}
.flow__box .img {
  width: 10rem;
}
@media (720px <= width) {
  .flow__box .img {
    width: 100%;
    max-width: 20rem;
    margin: 0 auto;
  }
}
.flow__box .label {
  font-size: 2.2rem;
  font-weight: 700;
  color: var(--clr-main);
  line-height: 1em;
}
@media (720px <= width) {
  .flow__box .label {
    font-size: 3.2rem;
    margin-top: 4rem;
  }
}
.flow__box .text {
  font-size: 1.6rem;
  line-height: 1em;
  margin-top: 1.5rem;
}
@media (720px <= width) {
  .flow__box .text {
    font-size: 2rem;
    margin-top: 2.5rem;
  }
}
.flow__note {
  margin-top: 2rem;
  text-align: center;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 2.6rem;
}
.flow__note span {
  color: #ff47ae;
}
@media (720px <= width) {
  .flow__note {
    margin-top: 6rem;
    font-size: 2rem;
  }
}
@media (1024px <= width) {
  .flow__note br {
    display: none;
  }
}
@media (720px <= width) {
  .flow .buttonarea {
    margin-top: 0;
    position: absolute;
    right: 0;
    top: 21rem;
  }
}

.gym {
  position: relative;
}
.gym__bg {
  position: absolute;
  width: 100%;
  height: 100%;
  clip-path: inset(0);
}
.gym__bg::before {
  content: "";
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background: url(../images/home/gym_bg_sp.webp) center/cover no-repeat;
}
@media (720px <= width) {
  .gym__bg::before {
    background-image: -webkit-image-set(url(../images/home/gym_bg.webp) 1x, url(../images/home/gym_bg@2x.webp) 2x);
    background-image: image-set(url(../images/home/gym_bg.webp) 1x, url(../images/home/gym_bg@2x.webp) 2x);
  }
}
.gym__inner {
  position: relative;
  padding: 10rem 2rem;
  color: #fff;
}
@media (720px <= width) {
  .gym__inner {
    padding: 16.5rem 0 16rem;
  }
}
@media (1024px <= width) {
  .gym__body {
    display: grid;
    grid-template-columns: 70fr 90fr;
    align-items: start;
    gap: 0 5.8823529412%;
  }
}
@media (1536px <= width) {
  .gym__body {
    margin-top: -14.5rem;
  }
}
.gym__lead {
  aspect-ratio: 335/265;
  background: url(../images/home/gym_img_map.webp) center/contain no-repeat;
  background-image: -webkit-image-set(url(../images/home/gym_img_map@2x.webp) 2x);
  background-image: image-set(url(../images/home/gym_img_map@2x.webp) 2x);
  margin-top: 4rem;
}
@media (1024px <= width) {
  .gym__lead {
    grid-row: 1/3;
  }
}
@media (1536px <= width) {
  .gym__lead {
    margin-top: 22.5rem;
  }
}
.gym__txt {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1em;
}
.gym__stores {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1em;
}
.gym__stores em {
  font-size: 9.4rem;
  font-style: normal;
  line-height: 1em;
}
.gym__area__lists {
  margin-top: 5rem;
  border-top: 1px solid #fff;
}
.gym__area__lists .area {
  border-bottom: 1px solid #fff;
}
.gym__area__lists .area.open .attention {
  clip-path: polygon(0 calc(50% - 1px), 100% calc(50% - 1px), 100% calc(50% + 1px), 0 calc(50% + 1px));
}
.gym__area__lists .label {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1em;
  padding: 3.1rem 0;
  position: relative;
}
.gym__area__lists .label strong {
  font-size: 2.2rem;
  margin-right: 0.5rem;
}
.gym__area__lists .label .attention {
  content: "";
  width: 2.4rem;
  height: 2.4rem;
  display: block;
  position: absolute;
  right: 0;
  top: calc(50% - 1.2rem);
  background-color: #fff;
  clip-path: polygon(calc(50% - 1px) 0, calc(50% + 1px) 0, calc(50% + 1px) calc(50% - 1px), 100% calc(50% - 1px), 100% calc(50% + 1px), calc(50% + 1px) calc(50% + 1px), calc(50% + 1px) 100%, calc(50% - 1px) 100%, calc(50% - 1px) calc(50% + 1px), 0 calc(50% + 1px), 0 calc(50% - 1px), calc(50% - 1px) calc(50% - 1px));
  transition: all 0.8s ease;
}
.gym__area__lists .lists {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
  background-color: rgba(255, 255, 255, 0.2);
  padding: 3rem 2rem;
  display: none;
}
@media (720px <= width) {
  .gym__area__lists .lists {
    grid-template-columns: repeat(3, 1fr);
  }
}
.gym__area__lists .lists a {
  color: #fff;
  border: 1px solid #fff;
  border-radius: 100rem;
  text-align: center;
  font-size: 1.6rem;
  line-height: 3.8rem;
  position: relative;
}
.gym__area__lists .lists a::after {
  content: "";
  background: url('data:image/svg+xml;charset=utf8, <svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.3 10.3L13 13M11.8 6.4C11.8 4.96783 11.2311 3.59432 10.2184 2.58162C9.20568 1.56893 7.83217 1 6.4 1C4.96783 1 3.59432 1.56893 2.58162 2.58162C1.56893 3.59432 1 4.96783 1 6.4C1 7.83217 1.56893 9.20568 2.58162 10.2184C3.59432 11.2311 4.96783 11.8 6.4 11.8C7.83217 11.8 9.20568 11.2311 10.2184 10.2184C11.2311 9.20568 11.8 7.83217 11.8 6.4Z" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/contain no-repeat;
  width: 1.2rem;
  height: 1.2rem;
  display: block;
  position: absolute;
  right: 1.4rem;
  top: calc(50% - 0.6rem);
}
@media (hover: hover) and (width >= 720px) {
  .gym__area__lists .lists a {
    transition: all var(--speed) ease-in-out;
  }
  .gym__area__lists .lists a:hover {
    background-color: rgba(0, 0, 0, 0.2);
  }
}
@media (720px <= width) {
  .gym .buttonarea {
    margin-top: 6rem;
  }
}
.pages {
  padding: 9.5rem 0 0;
}
@media (720px <= width) {
  .pages {
    padding: 16rem 0 0;
  }
  .pages#links {
    padding: 16rem 0;
  }
}
.pages .wrap {
  padding: 0 2rem;
  display: grid;
  gap: 3rem;
}
@media (720px <= width) {
  .pages .wrap {
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4rem;
  }
}
.pages a {
  background: var(--url) center/cover no-repeat;
  aspect-ratio: 335/205;
  color: #fff;
  padding: 3rem 2rem;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.pages a.company {
  --url: image-set(
    url(../images/home/pages_link01.webp) 1x,
    url(../images/home/pages_link01@2x.webp) 2x
  );
}
.pages a.recruit {
  --url: image-set(
    url(../images/home/pages_link02.webp) 1x,
    url(../images/home/pages_link02@2x.webp) 2x
  );
}
@media (720px <= width) {
  .pages a {
    padding: 3rem;
  }
}
@media (1024px <= width) {
  .pages a {
    padding: 5rem;
  }
}
@media (hover: hover) and (width >= 720px) {
  .pages a {
    transition: all var(--speed) ease-in-out;
    position: relative;
  }
  .pages a::before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: all var(--speed) ease-in-out;
  }
  .pages a i.icon_arrow {
    transition: all var(--speed) ease-in-out;
  }
  .pages a:hover::before {
    opacity: 1;
  }
  .pages a:hover i.icon_arrow {
    transform: translateX(0.3rem);
  }
  .pages a.facility .viewmore {
    transition: all var(--speed) ease-in-out;
  }
  .pages a.facility:hover i.icon_arrow {
    transform: translateX(0);
  }
  .pages a.facility:hover .viewmore {
    transform: translateX(0.3rem);
  }
}
.pages a .en {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1em;
}
@media (720px <= width) {
  .pages a .en {
    font-size: 2rem;
    position: relative;
  }
}
@media (1280px <= width) {
  .pages a .en {
    font-size: 2.4rem;
    position: relative;
  }
}
.pages a .ja {
  font-size: 3.8rem;
  font-weight: 700;
  line-height: 1em;
  margin-top: 0.5rem;
}
@media (720px <= width) {
  .pages a .ja {
    font-size: 5rem;
    position: relative;
  }
}
@media (1280px <= width) {
  .pages a .ja {
    font-size: 7.6rem;
    position: relative;
  }
}
.pages a i.icon_arrow {
  position: absolute;
  right: 2rem;
  bottom: 3rem;
}
@media (1024px <= width) {
  .pages a i.icon_arrow {
    right: 5rem;
    bottom: 5rem;
  }
}
.pages a .viewmore {
  position: absolute;
  right: 2rem;
  bottom: 3rem;
  display: inline-flex;
  align-items: center;
  font-size: 2rem;
  gap: 3rem;
  text-decoration: underline;
  text-underline-offset: 5px;
  text-decoration-thickness: 1px;
}
@media (720px <= width) {
  .pages a .viewmore {
    right: 5rem;
    bottom: 5rem;
  }
}
.pages a .viewmore .text {
  display: none;
}
@media (720px <= width) {
  .pages a .viewmore .text {
    display: inline;
    font-weight: 700;
  }
}
.pages a .viewmore i.icon_arrow {
  position: static;
}
@media (720px <= width) {
  .pages a .viewmore i.icon_arrow {
    width: 9rem;
    height: 9rem;
  }
}
.pages__flowingtext {
  overflow: hidden;
  display: flex;
  padding: 1rem 0;
  border-top: 1px solid var(--clr-line);
  margin-top: 10rem;
}
@media (720px <= width) {
  .pages__flowingtext {
    margin-top: 0;
    padding: 2rem 0;
  }
}
.pages__flowingtext span {
  white-space: nowrap;
  animation: anim--first 70s infinite linear 0.5s both;
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1em;
  color: #f5f5f5;
}
@media (720px <= width) {
  .pages__flowingtext span {
    font-size: 8rem;
  }
}
.pages .facility {
  aspect-ratio: 375/500;
  --url: url(../images/home/pages_link03_sp.webp);
  padding: 5rem 2rem;
}
@media (720px <= width) {
  .pages .facility {
    height: 80rem;
    aspect-ratio: auto;
    --url: image-set(
      url(../images/home/pages_link03.webp) 1x,
      url(../images/home/pages_link03@2x.webp) 2x
    );
    padding: 8rem 5rem;
  }
}
@media (1280px <= width) {
  .pages .facility {
    padding: 8rem 11rem;
  }
}
.pages .facility .en {
  font-size: 1.8rem;
}
@media (720px <= width) {
  .pages .facility .en {
    font-size: 3rem;
  }
}
.pages .facility .ja {
  font-size: 5rem;
  line-height: 1.12;
}
@media (720px <= width) {
  .pages .facility .ja {
    font-size: 10rem;
  }
}
.pages .facility i.icon_arrow {
  bottom: 5rem;
}
@media (720px <= width) {
  .pages .facility i.icon_arrow {
    right: 5rem;
    bottom: 8rem;
  }
}
@media (1280px <= width) {
  .pages .facility i.icon_arrow {
    right: 11rem;
    bottom: 8rem;
  }
}

.faq {
  padding: 10rem 2rem;
}
@media (720px <= width) {
  .faq {
    padding: 16rem 0 0;
  }
}
@media (720px <= width) {
  .faq__inner {
    position: relative;
    display: grid;
    grid-template-columns: 30rem auto;
  }
}
@media (1536px <= width) {
  .faq__inner {
    grid-template-columns: 46rem auto;
  }
}
.faq__body {
  margin-top: 3.4rem;
}
@media (720px <= width) {
  .faq__body {
    margin-top: 0;
  }
}
.faq__group {
  display: grid;
  gap: 1rem;
}
@media (1536px <= width) {
  .faq__group {
    grid-template-columns: repeat(2, 1fr);
    gap: 4rem;
  }
}
.faq__group a {
  background: var(--clr-bg);
  padding: 3rem 2rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 2rem;
  font-weight: 700;
  color: var(--clr-main);
}
.faq__group a::after {
  content: "";
  width: 4rem;
  height: 4rem;
  background: url('data:image/svg+xml;charset=utf8, <svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="20" cy="20" r="20" fill="white"/><path d="M21.6667 15L26 20L21.6667 25M25.5185 20H13" stroke="%23009BFF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/contain no-repeat;
}
@media (720px <= width) {
  .faq__group a {
    font-size: 2.4rem;
    padding: 3rem 3rem;
  }
  .faq__group a::after {
    width: 7rem;
    height: 7rem;
  }
}
@media (1024px <= width) {
  .faq__group a {
    font-size: 3.2rem;
    padding: 6.5rem 4rem;
  }
}
@media (hover: hover) and (width >= 720px) {
  .faq__group a {
    transition: all var(--speed) ease-in-out;
  }
}
@media (720px <= width) {
  .faq .buttonarea {
    position: absolute;
    top: 22.5rem;
    left: 0;
    margin-top: 0;
  }
}

.sublinks {
  background-color: var(--clr-bg);
}
.sublinks__inner {
  padding: 8rem 2rem;
  display: grid;
  gap: 2rem;
}
@media (720px <= width) {
  .sublinks__inner {
    padding: 12rem 0;
    display: flex;
    justify-content: center;
  }
}
.sublinks a {
  display: grid;
  grid-template-columns: 12rem auto;
  align-items: center;
  background: #fff;
  gap: 0 2rem;
}
@media (720px <= width) {
  .sublinks a {
    width: 100%;
    max-width: 400px;
  }
}
.sublinks a .box {
  padding-right: 2rem;
  color: var(--clr-main);
}
@media (720px <= width) {
  .sublinks a .box {
    padding-right: 2rem;
  }
}
.sublinks a .box .en {
  font-size: 1.2rem;
  line-height: 1em;
}
.sublinks a .box .ja {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1em;
  margin-top: 1rem;
}