:root {
  --base-black: #4f4f4f;
  --base-gray: #eef0f3;
  --base-lightGray: #fdfdfd;
  --base-grayBlue: #97a5b5;
  --base-white: #ffffff;
  --base-lightBlue: #81d8d0;
  --base-red: #f53662;
  --base-lightPink: #f53561;
  --base-peach: #ec73b2;
  --base-brown: #8c4239;
  --base-darkGray: #97a5b5;
  --base-darkBlueGray: #98a6b5;
  --base-inputGray: #cdd6dd;
  --text-black1: #4f4f4f;
  --text-white: #ffffff;
  --text-lightBlue: #81d8d0;
  --text-red: #f53662;
  --text-peach: #ec73b2;
  --text-brown: #8c4239;
  --text-lightPink: #f53561;
  --base-bgBeige: #faf8f5;
  --base-bgLinearTop: #fafcfb;
  --base-darkText: #333;
  --base-mediumText: #555;
  --base-borderGray: #ccc;
  --base-lightBg: #f5f5f5;
  --base-darkGreen: #003032;
  --base-greenAccent: #5eada5;
  --base-purple: #6c5ce7;
  --base-darkPurple: #5b4bc4;
  --base-navy: #1a1a2e;
  --base-borderLight: #e0e0e0;
  --base-borderLightGray: #eee;
  --base-successGreen: #4cc764;
  --intro-border: #e5e7eb;
  --intro-darkGreen: #4e6269;
  --intro-cyan: #5fced8;
  --intro-borderSage: #a6bdc2;
  --intro-lightBg: #f3f4f6;
  --intro-darkText: #314348;
  --intro-yellow: #ffff00;
  --intro-midGreen: #4d6369;
  --base-mintBorder: #e6eeee;
  --base-lightGrayBorder: #eaeaea;
  --base-nearWhiteBg: #f9fbfb;
  --base-paleTealBg: #eaf4f6;
  --base-tealBg: #eaeff0;
  --base-lightMintBorder: #c8ebe9;
  --base-mintBg: #e8f8f7;
  --base-paleMintBg: #e8f5f5;
  --base-borderCard: #e8ecf0;
  --base-lightBorder: #ddd;
  --base-cardBorder: #dbdbdb;
  --base-midGray: #aaa;
  --base-mutedText: #999;
  --base-darkCharcoal: #444;
  --base-midCharcoal: #666;
  --base-slateGray: #6b7280;
  --base-coolGray: #9ca3af;
  --base-paleGray: #f0f0f0;
  --base-hoverGray: #f0f1f3;
  --base-teal: #3bb8b8;
  --base-softTeal: #7ecfcf;
  --base-mediumTeal: #5cc4bb;
  --base-mediumTealDark: #4ab3aa;
  --base-lightTeal: #a8e8e2;
  --base-lightTealScrollTrack: #e8f7f6;
  --base-darkTeal: #1a6b6b;
  --base-lightCyan: #e6faf8;
  --base-googleBlue: #6186ec;
  --base-googleRed: #cd523f;
  --base-googleYellow: #eabe43;
  --base-googleGreen: #63a45d;
  --base-googleStar: #fbbc04;
  --base-googleBadge: #1a73e8;
  --base-googleBadgeHover: #1557b0;
  --base-alertRed: #ff4d5a;
  --base-pink: #e8527a;
  --base-nearBlack: #1a1a1a;
  --base-pureBlack: #000000;
  --fs-3xs: 0.6875rem;
  --fs-xs: 0.75rem;
  --fs-2xs: 0.8125rem;
  --fs-sm: 0.875rem;
  --fs-sm2: 0.9375rem;
  --fs-base: 1rem;
  --fs-md: 1.125rem;
  --fs-lg: 1.25rem;
  --fs-lg2: 1.375rem;
  --fs-xl: 1.5rem;
  --fs-xl2: 1.75rem;
  --fs-2xl: 1.875rem;
  --fs-2xl2: 2rem;
  --fs-3xl: 2.25rem;
  --fs-4xl: 2.5rem;
  --fs-4xl2: 2.625rem;
  --fs-5xl: 3rem;
  --fs-6xl: 3.75rem;
  --fs-7xl: 4rem;
  --fs-8xl: 4.5rem;
  --fs-9xl: 5rem;
  --fs-display: 6.25rem;
  --font-outfit: Outfit;
  --font-zen: Zen Kaku Gothic New;
}

.p-visitor__section--white {
  width: 100%;
  height: auto;
  overflow: hidden;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-image: url("../img/common/bg_white_pattern.webp");
  background-size: cover;
  background-position: center;
  position: relative;
}

.p-visitor__content {
  position: relative;
  padding-top: 7rem;
  padding-bottom: 7rem;
}

.p-visitor__campaign-img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-visitor__section--lightblue {
  background-image: -webkit-gradient(linear, left top, right top, from(#eff3f6), color-stop(50%, #b5ece9), to(#97e8e1));
  background-image: linear-gradient(to right, #eff3f6, #b5ece9 50%, #97e8e1);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.p-visitor__about {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 100px 20px 100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 60px;
}

.p-visitor__about-card,
.p-visitor__about-card--alt {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: white;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0%;
          flex: 1 1 0%;
  overflow: hidden;
}

.p-visitor__about-card--alt {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  font-weight: 500;
}

.p-visitor__about-card-accent,
.p-visitor__about-card--alt-accent {
  color: var(--text-lightBlue);
}

.p-visitor__about-card-body,
.p-visitor__about-card-body--alt {
  padding: 1.5rem 2.5rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  font-family: var(--font-zen);
}

.p-visitor__about-card-body {
  gap: 0.25rem;
}

.p-visitor__about-card-body-text {
  font-weight: 500;
  line-height: 2;
  font-family: var(--font-zen);
}

.p-visitor__about-card-body--alt-text {
  font-weight: 500;
  line-height: 2;
  font-family: var(--font-zen);
}

.p-visitor__about-header,
.p-visitor__about-header--red {
  width: 15rem;
  background-color: var(--base-lightBlue);
  color: white;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 10px 0;
}

.p-visitor__about-header-subheading,
.p-visitor__about-header--red-subheading {
  font-family: var(--font-zen);
}

.p-visitor__about-header--red {
  background-color: var(--base-red);
  gap: 0.5rem;
}

.p-visitor__note {
  white-space: nowrap;
  margin-top: -1rem;
  margin-bottom: -1rem;
}

.p-visitor__announcement-section .c-announcement__btn svg {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

@media (min-width: 768px) {
  .p-visitor__announcement-section {
    padding: 72px 16px;
  }
  .p-visitor__announcement-section .c-announcement {
    width: 100%;
    max-width: 1000px;
    padding: 40px 16px 44px;
    gap: 30px;
  }
  .p-visitor__announcement-section .c-announcement__title-container-heading {
    font-size: var(--fs-xl2);
    font-weight: 700;
    line-height: 1.35;
  }
  .p-visitor__announcement-section .c-announcement__body {
    line-height: 1.8;
  }
}
.p-visitor__about-groups {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 50px;
}

.p-visitor__about-group {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  padding-bottom: 50px;
  border-bottom: 1px solid white;
}
.p-visitor__about-group:last-child {
  padding-bottom: 0;
  border-bottom: none;
}

.p-visitor__about-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: 50px;
}

.p-visitor__about-alt-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.75rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1.5;
}

.p-visitor__about-alt-heading-title {
  font-family: var(--font-zen);
  color: var(--text-lightBlue);
}

.p-visitor__checklist {
  list-style: none;
  padding: 0;
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0;
}

.p-visitor__checklist-item {
  color: var(--base-darkText);
  line-height: 2;
  font-family: var(--font-zen);
}

.p-visitor__checklist-item-text {
  color: var(--text-lightBlue);
  font-size: var(--fs-xs);
}
.p-visitor__speak--left {
  bottom: -2.5rem;
  left: 0.5rem;
}
.p-visitor__speak--left .c-speak-person__person {
  height: 349px;
}
.p-visitor__speak--left .c-speak-person__bubble {
  top: -3rem;
  right: 7rem;
}

.p-visitor__speak--right {
  bottom: -2.5rem;
  right: -3rem;
}
.p-visitor__speak--right .c-speak-person__person {
  height: 360px;
}
.p-visitor__speak--right .c-speak-person__bubble {
  top: -5rem;
  right: -4rem;
}

.p-visitor__howto-section {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.6)), to(rgba(0, 0, 0, 0.6))), url("../img/common/img_gym03.webp");
  background-image: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url("../img/common/img_gym03.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.p-visitor__howto-section .c-section-title {
  color: white;
}

.p-visitor__howto-content {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 150px 20px 100px 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 77px;
}

.p-visitor__howto-content-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 50px;
}

.p-visitor__glassy-bg {
  background-color: rgba(42, 42, 42, 0.5);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  padding: 1rem;
}

.p-visitor__howto-steps {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  border: 1px solid rgba(129, 216, 208, 0.4);
}

.p-visitor__howto-step {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  padding: 3rem 2rem;
  gap: 0.5rem;
}
.p-visitor__howto-step svg {
  min-height: auto;
}

.p-visitor__howto-divider {
  width: 1px;
  background-color: rgba(238, 240, 243, 0.5);
  -ms-flex-item-align: stretch;
      align-self: stretch;
  margin: 5rem 0 7rem;
}

.p-visitor__howto-step-label {
  font-size: 1.5rem;
  font-weight: 500;
  color: white;
  letter-spacing: 0.05em;
  font-family: var(--font-outfit);
}

.p-visitor__howto-step-title {
  font-size: 1.875rem;
  font-weight: 600;
  color: var(--text-lightBlue);
  letter-spacing: 0.05em;
  font-family: var(--font-zen);
}

.p-visitor__howto-step-desc {
  font-size: 1rem;
  font-weight: 500;
  color: white;
  line-height: 1.8;
  text-align: justify;
  font-family: var(--font-zen);
}
.p-visitor__howto-step .c-btn--light-blue {
  margin-top: 1.5rem;
}
.p-visitor__howto-step > svg {
  height: 70px;
  width: auto;
}

.p-visitor__faq-content {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 150px 20px 100px 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 77px;
}

.p-visitor__faq-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
}

@media (max-width: 1024px) {
  .p-visitor__title {
    font-size: 4rem;
  }
  .p-visitor__content {
    padding-top: 2rem;
    padding-bottom: 4rem;
  }
  .p-visitor__content .c-flex-gap-30 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-visitor__about {
    padding: 50px 20px;
    gap: 1.5rem;
  }
  .p-visitor__about-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2rem;
  }
  .p-visitor__about-header,
  .p-visitor__about-header--red {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    min-width: 200px;
    padding: 8px 0;
  }
  .p-visitor__about-card-body,
  .p-visitor__about-card-body--alt {
    padding: 1.5rem;
  }
  .p-visitor__about-groups {
    gap: 3rem;
  }
  .p-visitor__about-group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2rem;
  }
  .p-visitor__speak--left {
    bottom: -1.5rem;
    left: 5rem;
  }
  .p-visitor__speak--left .c-speak-person__bubble {
    right: 5rem;
    top: -1rem;
    width: 5rem;
    height: auto;
  }
  .p-visitor__speak--right {
    bottom: -1.5rem;
    right: 5rem;
  }
  .p-visitor__speak--right .c-speak-person__bubble {
    right: -4rem;
    top: -1rem;
    width: 5rem;
    height: auto;
  }
  .p-visitor__speak--left .c-speak-person__person,
  .p-visitor__speak--right .c-speak-person__person {
    height: 18rem;
  }
  .p-visitor__announcement-section .c-announcement {
    padding-bottom: 22.75rem;
  }
  .p-visitor__howto-steps {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-visitor__howto-divider {
    width: 80%;
    height: 1px;
    -ms-flex-item-align: center;
        align-self: center;
    margin: 20px 0;
  }
  .p-visitor__howto-content {
    padding: 50px 20px;
    gap: 1.5rem;
  }
  .p-visitor__howto-content-body {
    gap: 2rem;
  }
  .p-visitor__faq-content {
    padding: 50px 20px;
    gap: 1.5rem;
  }
  .p-visitor__section--white .c-faq-ribbon {
    width: 90vw;
    right: -5%;
  }
  .p-visitor__banner .c-banner__content {
    left: 2.5rem;
  }
  .p-visitor__banner .c-banner__title {
    font-size: 1.875rem;
  }
  .p-visitor__banner .c-banner__subtitle {
    font-size: 1.125rem;
  }
}
@media (max-width: 767px) {
  .p-visitor__banner .c-banner__content {
    left: 1.25rem;
    gap: 0.5rem;
  }
  .p-visitor__banner .c-banner__title {
    font-size: 1.375rem;
  }
  .p-visitor__banner .c-banner__subtitle {
    font-size: 0.9375rem;
  }
  .p-visitor__title {
    font-size: 2.5rem;
  }
  .p-visitor__subtitle {
    font-size: 1rem;
  }
  .p-visitor__content {
    padding: 2rem 0 50px;
  }
  .p-visitor__about-alt-heading-title {
    white-space: nowrap;
  }
  .p-visitor__about-alt-heading svg {
    display: none;
  }
  .p-visitor__about-alt-heading::after {
    content: "";
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 20px;
    height: 1px;
    background-color: var(--base-lightBlue);
  }
  .p-visitor__title-wrap {
    margin-bottom: 1.5rem;
  }
  .p-visitor__content .c-campaign-block {
    line-height: 1.5rem;
  }
  .p-visitor__about-card-body,
  .p-visitor__about-card-body--alt {
    padding: 1.25rem 15px;
  }
  .p-visitor__note {
    white-space: normal;
  }
  .p-visitor__announcement-section .c-announcement__title-container .c-announcement__title-container-heading {
    line-height: 1.6;
  }
  .p-visitor__announcement-section {
    padding-left: 0;
    padding-right: 0;
  }
  .p-visitor__announcement-section .c-btn--light-blue {
    margin-bottom: 2rem;
  }
  .p-visitor__speak--left .c-speak-person__person,
  .p-visitor__speak--right .c-speak-person__person {
    height: 20rem;
    position: relative;
    left: 15px;
  }
  .p-visitor__speak--left {
    left: 28px;
    bottom: -1.5rem;
  }
  .p-visitor__speak--right {
    right: 28px;
    bottom: -1.5rem;
  }
  .p-visitor__speak--left .c-speak-person__bubble {
    width: 90px;
    height: auto;
    right: auto;
    left: -30px;
    top: -70px;
  }
  .p-visitor__speak--right .c-speak-person__bubble {
    width: 90px;
    height: auto;
    right: -20px;
    top: -70px;
  }
  .p-visitor__howto-step {
    padding: 2rem 1.25rem;
    display: grid;
    grid-template-columns: 60px 1fr;
    gap: 0 25px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: left;
  }
  .p-visitor__howto-step > svg {
    grid-column: 1;
    grid-row: 1/3;
    width: 60px;
    height: 60px;
    margin-left: 24px;
  }
  .p-visitor__howto-step-title {
    font-size: 1.5rem;
    grid-column: 2;
    grid-row: 2;
    -ms-flex-item-align: start;
        align-self: start;
    margin-left: 24px;
  }
  .p-visitor__howto-step-label {
    font-size: 1rem;
    grid-column: 2;
    grid-row: 1;
    -ms-flex-item-align: end;
        align-self: end;
    margin-left: 24px;
  }
  .p-visitor__howto-step > :not(svg):not(.p-visitor__howto-step-title):not(.p-visitor__howto-step-label) {
    grid-column: 1/-1;
  }
  .p-visitor__howto-step-desc {
    line-height: 2;
    margin-top: 1rem;
  }
  .p-visitor__howto-step .c-btn--light-blue {
    justify-self: center;
  }
  .p-visitor__howto-content {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .p-visitor__faq-content {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .p-visitor__faq {
    padding: 4rem 0;
  }
  .p-visitor__section--white .c-faq-ribbon {
    width: 100vw;
    right: 0;
    top: 0;
  }
}
@media (min-width: 1025px) {
  .p-visitor__about-group > .p-visitor__about-card:nth-child(1) {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .p-visitor__about-group > .p-visitor__about-card:nth-child(2) {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .p-visitor__about-group > .p-visitor__about-card:nth-child(3) {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .p-visitor__about-group > .p-visitor__about-card:nth-child(4) {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
}/*# sourceMappingURL=visitor.css.map */
