html {
  scroll-behavior: smooth;
}

.detailButton {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 316px;
  height: 56px;
  border-radius: 28px;
  background: #121212;
  box-shadow: 4px 11px 0 #fff;
  color: #fff;
  padding: 0 25px;
  font-size: 18px;
  font-weight: 300;
  line-height: 1;
  text-decoration: none;
}
.detailButton .linkArrowIcon {
  display: block;
  flex: 0 0 auto;
  width: 10px;
  height: 7px;
}

.pageBody {
  margin: 0;
  background: #121212;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  letter-spacing: 0;
}
.pageBody .pageShell {
  position: relative;
  width: min(100%, 390px);
  margin-right: auto;
  margin-left: auto;
  background: #121212;
  overflow: hidden;
}
.pageBody .pageShell .siteHeader {
  position: fixed;
  top: 0;
  left: 50%;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(100%, 390px);
  padding: 20px 15px 0;
  transform: translateX(-50%);
}
.pageBody .pageShell .siteHeader .headerLogo {
  display: block;
  width: 112px;
  height: 14px;
  text-decoration: none;
}
.pageBody .pageShell .siteHeader .headerLogo .headerLogoImg {
  display: block;
  width: 112px;
  height: 14px;
}
.pageBody .pageShell .siteHeader .menuButton {
  display: flex;
  flex-direction: column;
  width: 24px;
  height: 12px;
  border: 0;
  padding: 2px 0 0;
  row-gap: 7px;
  color: #fff;
  cursor: pointer;
}
.pageBody .pageShell .siteHeader .menuButton .menuLine {
  display: block;
  width: 24px;
  height: 1px;
  background: #fff;
  border-radius: 1px;
}
.pageBody .pageShell .menuPanel {
  position: fixed;
  top: 0;
  left: 50%;
  z-index: 30;
  visibility: hidden;
  width: min(100%, 390px);
  height: 445px;
  opacity: 0;
  pointer-events: none;
  transform: translateX(-50%);
  transition: opacity 0.25s ease, visibility 0s linear 0.25s;
}
.pageBody .pageShell .menuPanel .menuShade {
  position: absolute;
  top: 0;
  right: 0;
  width: 264px;
  height: 445px;
  background: #121212;
}
.pageBody .pageShell .menuPanel .menuLogo {
  display: none;
}
.pageBody .pageShell .menuPanel .menuClose {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 17px;
  height: 17px;
  border: 0;
  padding: 0;
  cursor: pointer;
}
.pageBody .pageShell .menuPanel .menuClose .menuCloseImg {
  display: block;
  width: 17px;
  height: 17px;
}
.pageBody .pageShell .menuPanel .menuNav {
  position: absolute;
  top: 46px;
  left: 148px;
  display: flex;
  flex-direction: column;
  row-gap: 18px;
}
.pageBody .pageShell .menuPanel .menuNav .menuNavLink {
  color: #B7B7B7;
  font-family: "Roboto", sans-serif;
  font-size: 17px;
  font-weight: 200;
  line-height: 20px;
  text-decoration: none;
}
.pageBody .pageShell .menuPanel .menuInstagram {
  position: absolute;
  top: 274px;
  left: 148px;
  width: 22px;
  height: 22px;
  line-height: 0;
}
.pageBody .pageShell .menuPanel .menuInstagram .menuInstagramImg {
  display: block;
  width: 22px;
  height: 22px;
}
.pageBody .pageShell .menuPanel .menuActions {
  position: absolute;
  top: 314px;
  left: 141px;
  display: flex;
  -moz-column-gap: 16px;
       column-gap: 16px;
}
.pageBody .pageShell .menuPanel .menuActions .menuRoundButton {
  display: block;
  width: 106px;
  height: 106px;
  text-decoration: none;
}
.pageBody .pageShell .menuPanel .menuActions .menuRoundButton .menuRoundButtonImg {
  display: block;
  width: 106px;
  height: 106px;
}
.pageBody .pageShell .menuPanel .menuActions .menuRoundButton--visit {
  width: 108px;
  height: 108px;
  transform: translateY(-1px);
}
.pageBody .pageShell .menuPanel .menuActions .menuRoundButton--visit .menuRoundButtonImg {
  width: 108px;
  height: 108px;
}
.pageBody .pageShell .mainContent > section[id] {
  scroll-margin-top: 50px;
}
.pageBody .pageShell .mainContent .heroSection {
  height: 864px;
  background: #121212;
}
.pageBody .pageShell .mainContent .heroSection .heroVisual {
  position: relative;
  height: 413px;
  overflow: hidden;
}
.pageBody .pageShell .mainContent .heroSection .heroVisual .heroSlides,
.pageBody .pageShell .mainContent .heroSection .heroVisual .heroSlide {
  height: 413px;
}
.pageBody .pageShell .mainContent .heroSection .heroVisual .heroVisualImg {
  width: 100%;
  height: 413px;
  -o-object-fit: cover;
     object-fit: cover;
}
.pageBody .pageShell .mainContent .heroSection .heroVisual .heroDots {
  position: absolute;
  right: 17px;
  bottom: 23px;
  display: flex;
  -moz-column-gap: 8px;
       column-gap: 8px;
  left: auto;
  width: auto;
}
.pageBody .pageShell .mainContent .heroSection .heroVisual .heroDots .swiper-pagination-bullet {
  display: block;
  width: 5px;
  height: 5px;
  margin: 0 !important;
  opacity: 1;
  border-radius: 50%;
  background: #828282;
}
.pageBody .pageShell .mainContent .heroSection .heroVisual .heroDots .swiper-pagination-bullet-active {
  background: #fff;
}
.pageBody .pageShell .mainContent .heroSection .heroTicker {
  display: flex;
  align-items: center;
  height: 84px;
  overflow: hidden;
  background: #DEFD3A;
  color: #000;
  font-family: "Roboto", sans-serif;
}
.pageBody .pageShell .mainContent .heroSection .heroTicker .heroTickerTrack {
  display: flex;
  flex: 0 0 auto;
  width: -moz-max-content;
  width: max-content;
  margin-left: -35px;
  animation: heroTickerLoop 12s linear infinite;
}
.pageBody .pageShell .mainContent .heroSection .heroTicker .heroTickerTrack .heroTickerText {
  display: block;
  flex: 0 0 auto;
  padding-right: 36px;
  font-size: 52px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  white-space: nowrap;
}
.pageBody .pageShell .mainContent .heroSection .heroInfo {
  position: relative;
  height: 367px;
  background: #000;
  padding: 42px 15px 0;
}
.pageBody .pageShell .mainContent .heroSection .heroInfo .heroLead {
  display: flex;
  align-items: center;
  margin: 0;
  font-size: 18px;
  font-weight: 300;
  line-height: 1.25;
}
.pageBody .pageShell .mainContent .heroSection .heroInfo .heroLead .heroLeadMark {
  display: flex;
  align-items: center;
  width: 135px;
  height: 22px;
  background: #fff;
  color: #121212;
  padding-left: 4px;
}
.pageBody .pageShell .mainContent .heroSection .heroInfo .heroLead .heroLeadText {
  padding-left: 3px;
  font-size: 19px;
}
.pageBody .pageShell .mainContent .heroSection .heroInfo .heroLogo {
  height: 42px;
  margin: 19px 0 0 1px;
}
.pageBody .pageShell .mainContent .heroSection .heroInfo .heroLogo .heroLogoImg {
  display: block;
  width: 340px;
  height: 42px;
}
.pageBody .pageShell .mainContent .heroSection .heroInfo .heroLocations {
  position: relative;
  height: 15px;
  margin: 20px 0 0;
  font-size: 15px;
  font-weight: 300;
  line-height: 1;
}
.pageBody .pageShell .mainContent .heroSection .heroInfo .heroLocations .locationName {
  position: absolute;
  top: 0;
}
.pageBody .pageShell .mainContent .heroSection .heroInfo .heroLocations .locationName:nth-child(1) {
  left: 1px;
}
.pageBody .pageShell .mainContent .heroSection .heroInfo .heroLocations .locationName:nth-child(3) {
  left: 71px;
}
.pageBody .pageShell .mainContent .heroSection .heroInfo .heroLocations .locationName:nth-child(5) {
  left: 171px;
}
.pageBody .pageShell .mainContent .heroSection .heroInfo .heroLocations .locationDivider {
  position: absolute;
  top: 0;
  left: 51px;
  width: 1px;
  height: 15px;
  background: #B7B7B7;
}
.pageBody .pageShell .mainContent .heroSection .heroInfo .heroLocations .locationDivider:nth-child(4) {
  left: 151px;
}
.pageBody .pageShell .mainContent .heroSection .heroInfo .heroStats {
  display: flex;
  flex-direction: column;
  width: 184px;
  margin: 43px 0 0 5px;
  row-gap: 15px;
}
.pageBody .pageShell .mainContent .heroSection .heroInfo .heroStats .heroStat {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 45px;
  margin: 0;
  border: 1px solid #DEFD3A;
  border-radius: 24px;
  -moz-column-gap: 7px;
       column-gap: 7px;
  line-height: 1;
}
.pageBody .pageShell .mainContent .heroSection .heroInfo .heroStats .heroStat .heroStatLabel {
  color: #fff;
  font-size: 15px;
  font-weight: 300;
}
.pageBody .pageShell .mainContent .heroSection .heroInfo .heroStats .heroStat .heroStatValue {
  display: flex;
  align-items: baseline;
  color: #DEFD3A;
  font-family: "Roboto", sans-serif;
  font-size: 30px;
  font-weight: 200;
}
.pageBody .pageShell .mainContent .heroSection .heroInfo .heroStats .heroStat .heroStatValue .heroStatSuffix {
  font-size: 20px;
  font-weight: 200;
}
.pageBody .pageShell .mainContent .heroSection .heroInfo .heroStats .heroStat .heroStatValue .heroStatSuffix--price {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  margin-left: 4px;
}
.pageBody .pageShell .mainContent .heroSection .heroInfo .heroStats .heroStat .heroStatValue .heroStatSuffix--percent {
  font-family: "Roboto", sans-serif;
}
.pageBody .pageShell .mainContent .heroSection .heroInfo .heroLead.animFadeInUp {
  transition-delay: 0s;
}
.pageBody .pageShell .mainContent .heroSection .heroInfo .heroLogo.animFadeInUp {
  transition-delay: 0.15s;
}
.pageBody .pageShell .mainContent .heroSection .heroInfo .heroLocations.animFadeInUp {
  transition-delay: 0.3s;
}
.pageBody .pageShell .mainContent .heroSection .heroInfo .heroStats.animFadeInUp {
  transition-delay: 0.45s;
}
.pageBody .pageShell .mainContent .recommendSection {
  position: relative;
  height: 981px;
  background: #121212;
}
.pageBody .pageShell .mainContent .recommendSection::after {
  position: absolute;
  bottom: -39px;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 40px;
  background: #121212;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: "";
}
.pageBody .pageShell .mainContent .recommendSection .recommendGallery {
  position: relative;
  height: 239px;
  overflow: hidden;
}
.pageBody .pageShell .mainContent .recommendSection .recommendGallery .recommendTrack {
  position: absolute;
  left: 0;
  display: flex;
  width: -moz-max-content;
  width: max-content;
  -moz-column-gap: 15px;
       column-gap: 15px;
  animation: recommendLoop 18s linear infinite;
}
.pageBody .pageShell .mainContent .recommendSection .recommendGallery .recommendTrack--top {
  top: 0;
}
.pageBody .pageShell .mainContent .recommendSection .recommendGallery .recommendTrack--bottom {
  top: 127px;
  left: -19px;
  -moz-column-gap: 12px;
       column-gap: 12px;
  animation-direction: reverse;
}
.pageBody .pageShell .mainContent .recommendSection .recommendGallery .recommendImg {
  position: relative;
  flex: 0 0 auto;
  width: 201px;
  height: 112px;
  -o-object-fit: cover;
     object-fit: cover;
}
.pageBody .pageShell .mainContent .recommendSection .recommendIntro {
  padding-top: 52px;
  text-align: center;
}
.pageBody .pageShell .mainContent .recommendSection .recommendIntro .recommendLogo {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  height: 21px;
  margin: 0;
  -moz-column-gap: 4px;
       column-gap: 4px;
}
.pageBody .pageShell .mainContent .recommendSection .recommendIntro .recommendLogo .recommendLogoImg {
  display: block;
  width: 128px;
  height: 16px;
}
.pageBody .pageShell .mainContent .recommendSection .recommendIntro .recommendLogo .recommendParticle {
  color: #B7B7B7;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 20px;
  font-weight: 100;
  line-height: 1;
}
.pageBody .pageShell .mainContent .recommendSection .recommendIntro .recommendTitle {
  margin: 7px 0 0;
  color: #DEFD3A;
  font-size: 35px;
  font-weight: 300;
  line-height: 1.2;
}
.pageBody .pageShell .mainContent .recommendSection .recommendIntro .recommendLogo.animFadeInUp {
  transition-delay: 0s;
}
.pageBody .pageShell .mainContent .recommendSection .recommendIntro .recommendTitle.animFadeInUp {
  transition-delay: 0.15s;
}
.pageBody .pageShell .mainContent .recommendSection .worryList {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 28px 0 0 0;
  margin: auto;
  width: -moz-fit-content;
  width: fit-content;
}
.pageBody .pageShell .mainContent .recommendSection .worryList .worryItem {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 358px;
  margin: 0;
  border: 1px solid #fff;
  padding: 0 10px;
  color: #fff;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.12;
  text-align: center;
}
.pageBody .pageShell .mainContent .recommendSection .worryList .worryItem::before, .pageBody .pageShell .mainContent .recommendSection .worryList .worryItem::after {
  position: absolute;
  width: 0;
  height: 0;
  content: "";
}
.pageBody .pageShell .mainContent .recommendSection .worryList .worryItem::before {
  bottom: -17px;
  left: 22px;
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
  border-top: 17px solid #fff;
}
.pageBody .pageShell .mainContent .recommendSection .worryList .worryItem::after {
  bottom: -13px;
  left: 23px;
  border-right: 9px solid transparent;
  border-left: 9px solid transparent;
  border-top: 15px solid #121212;
}
.pageBody .pageShell .mainContent .recommendSection .worryList .worryItem--01 {
  height: 77px;
  font-size: 17px;
}
.pageBody .pageShell .mainContent .recommendSection .worryList .worryItem--01::before {
  left: 319px;
}
.pageBody .pageShell .mainContent .recommendSection .worryList .worryItem--01::after {
  left: 320px;
}
.pageBody .pageShell .mainContent .recommendSection .worryList .worryItem--02 {
  height: 49px;
  margin-top: 25px;
  font-weight: 350;
}
.pageBody .pageShell .mainContent .recommendSection .worryList .worryItem--03 {
  height: 72px;
  margin-top: 29px;
  font-size: 17px;
}
.pageBody .pageShell .mainContent .recommendSection .worryList .worryItem--03::before {
  left: 312px;
}
.pageBody .pageShell .mainContent .recommendSection .worryList .worryItem--03::after {
  left: 313px;
}
.pageBody .pageShell .mainContent .recommendSection .worryList .worryItem--04 {
  height: 49px;
  margin-top: 28px;
}
.pageBody .pageShell .mainContent .recommendSection .worryList .worryItem--01.animFadeInUp {
  transition-delay: 0s;
}
.pageBody .pageShell .mainContent .recommendSection .worryList .worryItem--02.animFadeInUp {
  transition-delay: 0.3s;
}
.pageBody .pageShell .mainContent .recommendSection .worryList .worryItem--03.animFadeInUp {
  transition-delay: 0.6s;
}
.pageBody .pageShell .mainContent .recommendSection .worryList .worryItem--04.animFadeInUp {
  transition-delay: 0.9s;
}
.pageBody .pageShell .mainContent .recommendSection .solutionLead {
  padding: 42px 15px 0;
}
.pageBody .pageShell .mainContent .recommendSection .solutionLead .solutionBrand.animFadeInUp {
  transition-delay: 0s;
}
.pageBody .pageShell .mainContent .recommendSection .solutionLead .solutionText.animFadeInUp {
  transition-delay: 1s;
}
.pageBody .pageShell .mainContent .recommendSection .solutionLead .solutionBrand {
  display: flex;
  align-items: flex-end;
  height: 25px;
  margin: 0;
  -moz-column-gap: 10px;
       column-gap: 10px;
}
.pageBody .pageShell .mainContent .recommendSection .solutionLead .solutionBrand .solutionBrandImg {
  display: block;
  width: 160px;
  height: 20px;
}
.pageBody .pageShell .mainContent .recommendSection .solutionLead .solutionBrand .solutionParticle {
  color: #B7B7B7;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 25px;
  font-weight: 100;
  line-height: 1;
}
.pageBody .pageShell .mainContent .recommendSection .solutionLead .solutionText {
  margin: 14px 0 0;
  color: #fff;
  font-size: clamp(36px, 15.38vw, 60px);
  font-weight: 100;
  line-height: 1.16;
}
.pageBody .pageShell .mainContent .recommendSection .solutionLead .solutionText .solutionStrong {
  display: block;
  padding-left: 112px;
  color: #DEFD3A;
  font-size: clamp(36px, 15.38vw, 60px);
  font-weight: 100;
  line-height: 1.16;
}
.pageBody .pageShell .mainContent .privateSection {
  height: auto;
  min-height: 2924px;
  background: #DEFD3A;
  color: #121212;
}
.pageBody .pageShell .mainContent .privateSection .privateDisclosure {
  position: absolute;
  z-index: 4;
  left: 50%;
  width: 356px;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.pageBody .pageShell .mainContent .privateSection .privateDisclosure .pushLabel {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 15px;
  margin: 0;
  color: #121212;
  -moz-column-gap: 11px;
       column-gap: 11px;
  font-family: "Roboto", sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  list-style: none;
  padding: 15px 0 18px;
  cursor: pointer;
}
.pageBody .pageShell .mainContent .privateSection .privateDisclosure .pushLabel::after {
  position: absolute;
  top: 38px;
  left: 0;
  width: 100%;
  height: 1px;
  background: #121212;
  content: "";
}
.pageBody .pageShell .mainContent .privateSection .privateDisclosure .pushLabel::-webkit-details-marker {
  display: none;
}
.pageBody .pageShell .mainContent .privateSection .privateDisclosure .pushText {
  transform: translate(2px, 1px);
}
.pageBody .pageShell .mainContent .privateSection .privateDisclosure .pushIcon {
  display: block;
  width: 10px;
  height: 7px;
  transition: rotate 0.3s ease-out;
}
.pageBody .pageShell .mainContent .privateSection .privateDisclosure .privateDetail {
  margin-top: 6px;
  border-bottom: 1px solid #121212;
  padding: 12px 8px 14px;
}
.pageBody .pageShell .mainContent .privateSection .privateDisclosure .privateDetail .privateDetailText,
.pageBody .pageShell .mainContent .privateSection .privateDisclosure .privateDetail .privateDetailNote {
  margin: 0;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.65;
}
.pageBody .pageShell .mainContent .privateSection .privateDisclosure .privateDetail .privateDetailNote {
  margin-top: 8px;
  font-size: 11px;
}
.pageBody .pageShell .mainContent .privateSection .privateFeature {
  position: relative;
  box-sizing: border-box;
}
.pageBody .pageShell .mainContent .privateSection .privateFeature .pushIcon {
  flex: 0 0 auto;
  margin-top: 2px;
  transform: translate(2px, 1px);
}
.pageBody .pageShell .mainContent .privateSection .privateFeature--room {
  height: 605px;
}
.pageBody .pageShell .mainContent .privateSection .privateFeature--room .privateTitle {
  position: absolute;
  top: 122px;
  left: 16px;
  z-index: 2;
  width: 129px;
  cursor: pointer;
  height: 355px;
  margin: 0;
  font-size: clamp(36px, 15.38vw, 60px);
  font-weight: 100;
  line-height: 1;
}
.pageBody .pageShell .mainContent .privateSection .privateFeature--room .privateTitle .privateTitleText {
  position: absolute;
  display: block;
  width: 60px;
  margin: 0;
  white-space: nowrap;
  writing-mode: vertical-rl;
}
.pageBody .pageShell .mainContent .privateSection .privateFeature--room .privateTitle .privateTitleText--hours {
  top: -1px;
  left: 63px;
  letter-spacing: 2px;
}
.pageBody .pageShell .mainContent .privateSection .privateFeature--room .privateTitle .privateTitleText--room {
  top: 0;
  left: 0;
}
.pageBody .pageShell .mainContent .privateSection .privateFeature--room .privateTitle .privateTitleNumber {
  display: inline-block;
  text-combine-upright: all;
  transform: translateX(0px) scaleX(1.02);
  transform-origin: center;
}
.pageBody .pageShell .mainContent .privateSection .privateFeature--room .privateImageWrap {
  position: absolute;
  top: 125px;
  right: 0;
  width: 222px;
  height: 355px;
}
.pageBody .pageShell .mainContent .privateSection .privateFeature--room .privateImageWrap .privateImg--room {
  width: 222px;
  height: 355px;
  -o-object-fit: cover;
     object-fit: cover;
}
.pageBody .pageShell .mainContent .privateSection .privateFeature--room .privateDisclosure {
  top: 486px;
}
.pageBody .pageShell .mainContent .privateSection .privateFeature--room:has(.privateDisclosure[open]) {
  height: 735px;
}
.pageBody .pageShell .mainContent .privateSection .privateFeature--monitor {
  height: 516px;
}
.pageBody .pageShell .mainContent .privateSection .privateFeature--monitor .privateImageWrap {
  width: 338px;
  height: 231px;
}
.pageBody .pageShell .mainContent .privateSection .privateFeature--monitor .privateImageWrap .privateImg--monitor {
  width: 338px;
  height: 231px;
  -o-object-fit: cover;
     object-fit: cover;
}
.pageBody .pageShell .mainContent .privateSection .privateFeature--monitor .privateSubTitle {
  position: absolute;
  top: 246px;
  left: 17px;
  margin: 0;
  cursor: pointer;
  font-size: clamp(36px, 15.38vw, 60px);
  font-weight: 100;
  line-height: 1.2;
}
.pageBody .pageShell .mainContent .privateSection .privateFeature--monitor .privateDisclosure {
  top: 397px;
}
.pageBody .pageShell .mainContent .privateSection .privateFeature--monitor:has(.privateDisclosure[open]) {
  height: 646px;
}
.pageBody .pageShell .mainContent .privateSection .privateFeature--companion {
  height: 397px;
}
.pageBody .pageShell .mainContent .privateSection .privateFeature--companion .privateImageWrap {
  width: 283px;
  height: 352px;
}
.pageBody .pageShell .mainContent .privateSection .privateFeature--companion .privateImageWrap .privateImg--companion {
  width: 283px;
  height: 352px;
  -o-object-fit: cover;
     object-fit: cover;
}
.pageBody .pageShell .mainContent .privateSection .privateFeature--companion .privateVerticalTitle {
  position: absolute;
  top: -3px;
  right: 13px;
  margin: 0;
  cursor: pointer;
  font-size: clamp(36px, 15.38vw, 60px);
  font-weight: 100;
  line-height: 1;
  white-space: nowrap;
  writing-mode: vertical-rl;
}
.pageBody .pageShell .mainContent .privateSection .privateFeature--companion .privateVerticalTitle .privateVerticalNumber {
  font-size: 67px;
  text-combine-upright: all;
}
.pageBody .pageShell .mainContent .privateSection .privateFeature--companion .privateDisclosure {
  top: 358px;
}
.pageBody .pageShell .mainContent .privateSection .privateFeature--companion:has(.privateDisclosure[open]) {
  height: 527px;
}
.pageBody .pageShell .mainContent .privateSection .featureList {
  height: auto;
  min-height: 646px;
  margin: 0;
  padding: 0 0 56px;
  list-style: none;
}
.pageBody .pageShell .mainContent .privateSection .featureList .featureItem {
  position: relative;
  height: 131px;
}
.pageBody .pageShell .mainContent .privateSection .featureList .featureItem .featureText {
  position: absolute;
  top: 41px;
  left: 0;
  width: 100%;
  cursor: pointer;
  font-size: 40px;
  font-weight: 100;
  line-height: 1.15;
  text-align: center;
}
.pageBody .pageShell .mainContent .privateSection .featureList .featureItem .privateDisclosure {
  top: 92px;
}
.pageBody .pageShell .mainContent .privateSection .featureList .featureItem:has(.privateDisclosure[open]) {
  height: 261px;
}
.pageBody .pageShell .mainContent .privateSection .featureList .featureItem:first-child {
  height: 197px;
}
.pageBody .pageShell .mainContent .privateSection .featureList .featureItem:first-child .featureText {
  top: 61px;
}
.pageBody .pageShell .mainContent .privateSection .featureList .featureItem:first-child .privateDisclosure {
  top: 158px;
}
.pageBody .pageShell .mainContent .privateSection .featureList .featureItem:first-child:has(.privateDisclosure[open]) {
  height: 327px;
}
.pageBody .pageShell .mainContent .privateSection .oneOnOneTypes {
  padding-bottom: 97px;
}
.pageBody .pageShell .mainContent .privateSection .oneOnOneTypes .oneTypeSet {
  position: relative;
  height: 519px;
}
.pageBody .pageShell .mainContent .privateSection .oneOnOneTypes .oneTypeSet .oneOnOneType {
  position: absolute;
  margin: 0;
}
.pageBody .pageShell .mainContent .privateSection .oneOnOneTypes .oneTypeSet .oneOnOneType .oneOnOneImg {
  width: 260px;
  height: 224px;
  -o-object-fit: cover;
     object-fit: cover;
}
.pageBody .pageShell .mainContent .privateSection .oneOnOneTypes .oneTypeSet .oneOnOneType .oneOnOneName {
  position: absolute;
  margin: 0;
  font-size: clamp(26px, 11.03vw, 43px);
  font-weight: 100;
  line-height: 1;
  white-space: nowrap;
  writing-mode: vertical-rl;
}
.pageBody .pageShell .mainContent .privateSection .oneOnOneTypes .oneTypeSet .oneOnOneType--training {
  top: 0;
  left: 16px;
}
.pageBody .pageShell .mainContent .privateSection .oneOnOneTypes .oneTypeSet .oneOnOneType--training .oneOnOneName {
  top: 2px;
  right: -37%;
}
.pageBody .pageShell .mainContent .privateSection .oneOnOneTypes .oneTypeSet .oneOnOneType--pilates {
  top: 295px;
  left: 113px;
}
.pageBody .pageShell .mainContent .privateSection .oneOnOneTypes .oneTypeSet .oneOnOneType--pilates .oneOnOneName {
  top: 0;
  left: -100px;
}
.pageBody .pageShell .mainContent .privateSection .oneOnOneTypes .oneOnOneLead {
  margin: 45px 0 0 14px;
  font-size: clamp(20px, 8.46vw, 33px);
  font-weight: 100;
  line-height: 1;
}
.pageBody .pageShell .mainContent .privateSection .oneOnOneTypes .oneOnOneLink {
  margin: 20px 0 0 34px;
}
.pageBody .pageShell .mainContent .placeSection {
  height: 831px;
  background: #121212;
  padding-top: 91px;
  color: #fff;
}
.pageBody .pageShell .mainContent .placeSection .sectionHeading {
  padding: 0 13px;
}
.pageBody .pageShell .mainContent .placeSection .sectionHeading .sectionLabel {
  margin: 0;
  color: #DEFD3A;
  font-family: "Roboto", sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
}
.pageBody .pageShell .mainContent .placeSection .sectionHeading .sectionLead {
  margin: 13px 0 0;
  color: #B7B7B7;
  font-size: 22px;
  font-weight: 300;
  line-height: 1;
}
.pageBody .pageShell .mainContent .placeSection .sectionHeading .sectionTitle {
  margin: 10px 0 0;
  color: #DEFD3A;
  font-size: clamp(24px, 10.26vw, 40px);
  font-weight: 300;
  line-height: 1;
}
.pageBody .pageShell .mainContent .placeSection .placeMap {
  width: 358px;
  height: 300px;
  margin: 19px auto 0;
}
.pageBody .pageShell .mainContent .placeSection .placeMap .placeMapImg {
  width: 358px;
  height: 300px;
  -o-object-fit: contain;
     object-fit: contain;
}
.pageBody .pageShell .mainContent .placeSection .placeSlider {
  position: relative;
  margin-top: 70px;
  overflow: visible;
}
.pageBody .pageShell .mainContent .placeSection .placeSlider .placeSlides {
  position: relative;
  height: 217px;
}
.pageBody .pageShell .mainContent .placeSection .placeSlider .placeSlides .placeSlide {
  position: relative;
  top: auto;
  left: auto;
  flex: 0 0 326px;
  width: 326px;
  height: 217px;
}
.pageBody .pageShell .mainContent .placeSection .placeSlider .placeSlides .placeSlide .placeImg {
  width: 326px;
  height: 217px;
  -o-object-fit: cover;
     object-fit: cover;
}
.pageBody .pageShell .mainContent .placeSection .placeSlider .placeSlides .placeSlide .placeCaption {
  position: absolute;
  bottom: 0;
  left: 0;
  margin: 0;
  background: #DEFD3A;
  color: #121212;
  padding: 2px 6px;
  font-size: 12px;
  font-weight: 300;
  line-height: 1.4;
}
.pageBody .pageShell .mainContent .placeSection .placeSlider .placeSlides .placeSlide--prev {
  left: -311px;
}
.pageBody .pageShell .mainContent .placeSection .placeSlider .placeSlides .placeSlide--current {
  left: 32px;
}
.pageBody .pageShell .mainContent .placeSection .placeSlider .placeSlides .placeSlide--next {
  left: 373px;
}
.pageBody .pageShell .mainContent .placeSection .placeSlider .sliderControls {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 16px;
  margin: 13px 0 0;
  -moz-column-gap: 13px;
       column-gap: 13px;
}
.pageBody .pageShell .mainContent .placeSection .placeSlider .sliderControls .sliderArrow {
  position: static;
  width: 12px;
  height: 16px;
  margin: 0;
  color: #fff;
}
.pageBody .pageShell .mainContent .placeSection .placeSlider .sliderControls .sliderArrow::after {
  font-size: 11px;
  font-weight: 700;
}
.pageBody .pageShell .mainContent .placeSection .placeSlider .sliderControls .sliderPagination {
  position: static;
  display: flex;
  width: auto;
  -moz-column-gap: 8px;
       column-gap: 8px;
}
.pageBody .pageShell .mainContent .placeSection .placeSlider .sliderControls .sliderPagination .swiper-pagination-bullet {
  width: 5px;
  height: 5px;
  margin: 0;
  background: #555555;
  opacity: 1;
}
.pageBody .pageShell .mainContent .placeSection .placeSlider .sliderControls .sliderPagination .swiper-pagination-bullet-active {
  background: #fff;
}
.pageBody .pageShell .mainContent .visitSection {
  display: grid;
  grid-template-columns: 196px 150px;
  padding: 63px 15px 65px;
  -moz-column-gap: 14px;
       column-gap: 14px;
  background: #121212;
  color: #fff;
}
.pageBody .pageShell .mainContent .visitSection .visitActions {
  display: flex;
  flex-direction: column;
  row-gap: 31px;
}
.pageBody .pageShell .mainContent .visitSection .visitActions .roundButton {
  display: block;
  width: 196px;
  height: 196px;
  text-decoration: none;
}
.pageBody .pageShell .mainContent .visitSection .visitActions .roundButton .roundButtonImg {
  display: block;
  width: 196px;
  height: 196px;
}
.pageBody .pageShell .mainContent .visitSection .visitMessage {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
  width: 150px;
  height: 430px;
  margin: 2px 0 0;
  -moz-column-gap: 10px;
       column-gap: 10px;
  color: #fff;
  font-size: 70px;
  font-weight: 100;
  line-height: 1;
}
.pageBody .pageShell .mainContent .visitSection .visitMessage .visitMessageText {
  display: block;
  width: 70px;
  white-space: nowrap;
  writing-mode: vertical-rl;
}
.pageBody .pageShell .mainContent .visitSection .visitMessage.animFadeInUp {
  transition-delay: 0.3s;
}
.pageBody .pageShell .mainContent .planSection {
  height: 1478px;
  background: #121212;
  padding-top: 55px;
  color: #fff;
}
.pageBody .pageShell .mainContent .planSection .sectionHeading {
  padding: 0 13px;
}
.pageBody .pageShell .mainContent .planSection .sectionHeading .sectionLabel {
  margin: 0;
  color: #DEFD3A;
  font-family: "Roboto", sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
}
.pageBody .pageShell .mainContent .planSection .sectionHeading .sectionLead {
  margin: 14px 0 0;
  color: #B7B7B7;
  font-size: 20px;
  font-weight: 300;
  line-height: 1;
}
.pageBody .pageShell .mainContent .planSection .sectionHeading .sectionTitle {
  margin: 10px 0 0;
  color: #DEFD3A;
  font-size: clamp(24px, 10.26vw, 40px);
  font-weight: 300;
  line-height: 1;
}
.pageBody .pageShell .mainContent .planSection .sectionHeading .sectionLabel.animFadeInUp {
  transition-delay: 0s;
}
.pageBody .pageShell .mainContent .planSection .sectionHeading .sectionLead.animFadeInUp {
  transition-delay: 0.15s;
}
.pageBody .pageShell .mainContent .planSection .sectionHeading .sectionTitle.animFadeInUp {
  transition-delay: 0.3s;
}
.pageBody .pageShell .mainContent .planSection .campaignBox {
  box-sizing: border-box;
  width: 326px;
  height: 143px;
  margin: 54px auto 0;
  border: 1px solid #DEFD3A;
  text-align: center;
  animation: campaignPulse 2.2s ease-in-out infinite;
}
.pageBody .pageShell .mainContent .planSection .campaignBox.animFadeInUp {
  transition-delay: 0.45s;
}
.pageBody .pageShell .mainContent .planSection .campaignBox .campaignHead {
  height: 63px;
  background: #DEFD3A;
}
.pageBody .pageShell .mainContent .planSection .campaignBox .campaignHead .campaignLimit {
  position: relative;
  display: inline-block;
  margin: 9px 0 0;
  padding: 0 5px;
  color: #121212;
  font-size: 14px;
  font-weight: 300;
  line-height: 1;
}
.pageBody .pageShell .mainContent .planSection .campaignBox .campaignHead .campaignLimit .campaignLimitBar {
  position: absolute;
  bottom: -3px;
  left: 0;
  display: block;
  width: 100%;
  height: 10px;
  background: #fff;
}
.pageBody .pageShell .mainContent .planSection .campaignBox .campaignHead .campaignLimit .campaignLimitText {
  position: relative;
}
.pageBody .pageShell .mainContent .planSection .campaignBox .campaignHead .campaignTitle {
  margin: 9px 0 0;
  color: #121212;
  font-size: 18px;
  font-weight: 300;
  line-height: 1;
}
.pageBody .pageShell .mainContent .planSection .campaignBox .campaignPrices {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  margin-top: 15px;
  -moz-column-gap: 13px;
       column-gap: 13px;
}
.pageBody .pageShell .mainContent .planSection .campaignBox .campaignPrices .campaignPrice {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 90px;
  margin: 0;
}
.pageBody .pageShell .mainContent .planSection .campaignBox .campaignPrices .campaignPrice .campaignPriceLabel {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 90px;
  height: 20px;
  color: #121212;
  font-size: 16px;
  font-weight: 300;
  line-height: 1;
}
.pageBody .pageShell .mainContent .planSection .campaignBox .campaignPrices .campaignPrice .campaignPriceValue {
  margin-top: 3px;
  font-family: "Roboto", sans-serif;
  font-weight: 200;
  line-height: 1;
}
.pageBody .pageShell .mainContent .planSection .campaignBox .campaignPrices .campaignPrice .campaignPriceValue .campaignPriceUnit {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 300;
}
.pageBody .pageShell .mainContent .planSection .campaignBox .campaignPrices .campaignPrice--normal {
  color: #B7B7B7;
}
.pageBody .pageShell .mainContent .planSection .campaignBox .campaignPrices .campaignPrice--normal .campaignPriceLabel {
  background: #fff;
}
.pageBody .pageShell .mainContent .planSection .campaignBox .campaignPrices .campaignPrice--normal .campaignPriceValue {
  background-image: linear-gradient(to bottom right, transparent calc(50% - 0.7px), #B7B7B7 calc(50% - 0.7px), #B7B7B7 calc(50% + 0.7px), transparent calc(50% + 0.7px));
  font-size: 23px;
}
.pageBody .pageShell .mainContent .planSection .campaignBox .campaignPrices .campaignPrice--special {
  color: #DEFD3A;
}
.pageBody .pageShell .mainContent .planSection .campaignBox .campaignPrices .campaignPrice--special .campaignPriceLabel {
  background: #DEFD3A;
}
.pageBody .pageShell .mainContent .planSection .campaignBox .campaignPrices .campaignPrice--special .campaignPriceValue {
  font-size: 28px;
}
.pageBody .pageShell .mainContent .planSection .campaignBox .campaignPrices .campaignArrow {
  width: 13px;
  margin: 22px 0 0;
  color: #fff;
  font-size: 13px;
  line-height: 1;
}
.pageBody .pageShell .mainContent .planSection .planPlus {
  margin: 0;
  color: #fff;
  font-size: 25px;
  font-weight: 300;
  line-height: 1;
  text-align: center;
}
.pageBody .pageShell .mainContent .planSection .planPlus.animFadeIn {
  transition-delay: 0.1s;
}
.pageBody .pageShell .mainContent .planSection .planSlider {
  position: relative;
  margin-top: 5px;
  overflow: visible;
}
.pageBody .pageShell .mainContent .planSection .planSlider .swiper-wrapper {
  height: 402px;
}
.pageBody .pageShell .mainContent .planSection .planSlider .planCard {
  box-sizing: border-box;
  flex: 0 0 325px;
  margin-right: 0;
  margin-left: 0;
}
.pageBody .pageShell .mainContent .planSection .planSlider .sliderControls {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
  width: 100%;
  height: 402px;
  pointer-events: none;
}
.pageBody .pageShell .mainContent .planSection .planSlider .sliderControls .sliderPagination {
  display: none;
}
.pageBody .pageShell .mainContent .planSection .planSlider .sliderControls .sliderArrow {
  width: 28px;
  height: 44px;
  margin-top: -22px;
  color: #fff;
  pointer-events: auto;
}
.pageBody .pageShell .mainContent .planSection .planSlider .sliderControls .sliderArrow::after {
  font-size: 16px;
  font-weight: 700;
}
.pageBody .pageShell .mainContent .planSection .planSlider .sliderControls .swiper-button-prev {
  left: calc(50% - 171px);
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.pageBody .pageShell .mainContent .planSection .planSlider .sliderControls .swiper-button-next {
  right: calc(50% - 200px);
  position: absolute;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.pageBody .pageShell .mainContent .planSection .planSlider .planCard--day {
  padding-right: 18px;
  padding-left: 18px;
}
.pageBody .pageShell .mainContent .planSection .planSlider .planCard--day .planName {
  width: 180px;
  margin-right: auto;
  margin-left: auto;
  padding-top: 13px;
  padding-bottom: 9px;
}
.pageBody .pageShell .mainContent .planSection .planSlider .planCard--day .planPrice {
  margin-top: 19px;
  padding-left: 1px;
  text-align: center;
  white-space: nowrap;
}
.pageBody .pageShell .mainContent .planSection .planSlider .planCard--day .planPrice .planPriceValue {
  letter-spacing: -0.03em;
}
.pageBody .pageShell .mainContent .planSection .planSlider .planCard--day .planPrice .planPriceUnit {
  margin-left: 9px;
  font-size: 25px;
  letter-spacing: 0.05em;
}
.pageBody .pageShell .mainContent .planSection .planSlider .planCard--day .planPrice .planTax {
  margin-left: -1px;
  font-size: 14px;
  letter-spacing: 0.01em;
}
.pageBody .pageShell .mainContent .planSection .planSlider .planCard--day .planDetails {
  margin-top: 24px;
  margin-right: 2px;
}
.pageBody .pageShell .mainContent .planSection .planSlider .planCard--day .planDetails .planDetail {
  grid-template-columns: 110px 1fr;
  padding-top: 17px;
  padding-bottom: 17px;
}
.pageBody .pageShell .mainContent .planSection .planSlider .planCard--day .planDetails .planDetail .planTerm {
  padding-left: 4px;
}
.pageBody .pageShell .mainContent .planSection .planSlider .planCard--day .planDetails .planDetail:last-child {
  border-bottom: 0;
}
.pageBody .pageShell .mainContent .planSection .planCard {
  width: 325px;
  height: 415px;
  margin-right: auto;
  margin-left: auto;
  border: 1px solid #fff;
  padding: 30px 20px 18px;
  background: #121212;
}
.pageBody .pageShell .mainContent .planSection .planCard .planName {
  margin: 0;
  border-bottom: 1px solid #B7B7B7;
  color: #B7B7B7;
  font-size: 18px;
  font-weight: 300;
  line-height: 1;
  text-align: center;
}
.pageBody .pageShell .mainContent .planSection .planCard .planPrice {
  margin: 12px auto 0;
  color: #DEFD3A;
  line-height: 1;
  text-align: center;
  width: -moz-fit-content;
  width: fit-content;
}
.pageBody .pageShell .mainContent .planSection .planCard .planPrice .planPriceValue {
  font-family: "Roboto", sans-serif;
  font-size: 55px;
  font-weight: 100;
  line-height: 1;
}
.pageBody .pageShell .mainContent .planSection .planCard .planPrice .planPriceUnit {
  font-size: 20px;
  font-weight: 300;
}
.pageBody .pageShell .mainContent .planSection .planCard .planPrice .planTax {
  font-size: 12px;
  font-weight: 300;
}
.pageBody .pageShell .mainContent .planSection .planCard .planDetails {
  margin: 20px 0 0;
}
.pageBody .pageShell .mainContent .planSection .planCard .planDetails .planDetail {
  display: grid;
  grid-template-columns: 105px 1fr;
  border-bottom: 1px solid #B7B7B7;
  padding: 12px 0;
  color: #B7B7B7;
  font-size: 11px;
  font-weight: 300;
  line-height: 1.6;
}
.pageBody .pageShell .mainContent .planSection .planCard .planDetails .planDetail:last-child {
  border-bottom: none;
}
.pageBody .pageShell .mainContent .planSection .planCard .planDetails .planDetail .planDescription {
  margin: 0;
}
.pageBody .pageShell .mainContent .planSection .newPlan {
  margin-top: 89px;
}
.pageBody .pageShell .mainContent .planSection .newPlan .newPlanLead {
  margin: 0;
  color: #B7B7B7;
  font-size: 18px;
  font-weight: 300;
  line-height: 1;
  text-align: center;
  transform: translateY(-25px);
}
.pageBody .pageShell .mainContent .planSection .newPlan .newPlanLead.animFadeInUp {
  transition-delay: 0s;
}
.pageBody .pageShell .mainContent .planSection .newPlan .newPlanTitle {
  margin: 12px 0 0;
  color: #DEFD3A;
  font-size: 35px;
  font-weight: 300;
  line-height: 1;
  text-align: center;
  transform: translateY(-25px);
}
.pageBody .pageShell .mainContent .planSection .newPlan .newPlanTitle.animFadeInUp {
  transition-delay: 0.15s;
}
.pageBody .pageShell .mainContent .planSection .newPlan .newPlanTabs {
  display: grid;
  grid-template-columns: repeat(3, 115px);
  width: 359px;
  margin: 42px auto 0;
  -moz-column-gap: 7px;
       column-gap: 7px;
  z-index: 0;
}
.pageBody .pageShell .mainContent .planSection .newPlan .newPlanTabs.animFadeInUp {
  transition-delay: 0.3s;
}
.pageBody .pageShell .mainContent .planSection .newPlan .newPlanTabs .newPlanTab {
  top: 1px;
  position: relative;
  height: 40px;
  border: 1px solid #fff;
  color: #B7B7B7;
  font-size: 13px;
  font-weight: 300;
  line-height: 1;
}
.pageBody .pageShell .mainContent .planSection .newPlan .newPlanTabs .newPlanTab .pushLabel {
  position: absolute;
  top: -34px;
  left: 0;
  width: 100%;
  color: #fff;
  font-family: "Roboto", sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  animation: pushBounce 1.4s ease-in-out infinite;
}
.pageBody .pageShell .mainContent .planSection .newPlan .newPlanTabs .newPlanTab--active {
  z-index: 2;
  height: 44px;
  border-color: #DEFD3A;
  border-bottom-color: #121212;
  color: #DEFD3A;
}
.pageBody .pageShell .mainContent .planSection .newPlan .newPlanTabs .newPlanTab--active .pushLabel {
  display: none;
}
.pageBody .pageShell .mainContent .planSection .newPlan .planCard--women,
.pageBody .pageShell .mainContent .planSection .newPlan .planCard--senior,
.pageBody .pageShell .mainContent .planSection .newPlan .planCard--night {
  position: relative;
  width: 359px;
  height: 422px;
  margin-top: 0;
  padding-right: 35px;
  padding-left: 35px;
  border-color: #defd3a;
  border-top: 0;
}
.pageBody .pageShell .mainContent .planSection .newPlan .planCard--women .planName,
.pageBody .pageShell .mainContent .planSection .newPlan .planCard--senior .planName,
.pageBody .pageShell .mainContent .planSection .newPlan .planCard--night .planName {
  border: 0;
  color: #DEFD3A;
}
.pageBody .pageShell .mainContent .planSection .newPlan .planCard--women .planDetails,
.pageBody .pageShell .mainContent .planSection .newPlan .planCard--senior .planDetails,
.pageBody .pageShell .mainContent .planSection .newPlan .planCard--night .planDetails {
  margin-top: 2px;
}
.pageBody .pageShell .mainContent .planSection .newPlan .planCard--women .planDetails .planDetail,
.pageBody .pageShell .mainContent .planSection .newPlan .planCard--senior .planDetails .planDetail,
.pageBody .pageShell .mainContent .planSection .newPlan .planCard--night .planDetails .planDetail {
  border-color: #DEFD3A;
  padding-top: 18px;
  padding-bottom: 18px;
}
.pageBody .pageShell .mainContent .planSection .newPlan .newPlanPanel.animFadeInUp {
  transition-delay: 0.3s;
}
.pageBody .pageShell .mainContent .planSection .newPlan .planCard--women::before {
  position: absolute;
  top: -1px;
  left: 113px;
  right: -1px;
  height: 1px;
  background: #defd3a;
  content: "";
}
.pageBody .pageShell .mainContent .planSection .newPlan .planCard--senior::before {
  position: absolute;
  top: 0;
  left: -1px;
  width: 123px;
  height: 1px;
  background: #defd3a;
  content: "";
}
.pageBody .pageShell .mainContent .planSection .newPlan .planCard--senior::after {
  position: absolute;
  top: 0;
  left: 235px;
  right: -1px;
  height: 1px;
  background: #defd3a;
  content: "";
}
.pageBody .pageShell .mainContent .planSection .newPlan .planCard--night::before {
  position: absolute;
  top: 0;
  left: -1px;
  right: 113px;
  height: 1px;
  background: #defd3a;
  content: "";
}
.pageBody .pageShell .mainContent .dataSection {
  height: 812px;
  background: #121212;
  padding-top: 55px;
  color: #fff;
}
.pageBody .pageShell .mainContent .dataSection .sectionHeading {
  padding: 0 13px;
}
.pageBody .pageShell .mainContent .dataSection .sectionHeading .sectionLabel {
  margin: 0;
  color: #DEFD3A;
  font-family: "Roboto", sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
}
.pageBody .pageShell .mainContent .dataSection .sectionHeading .sectionTitle {
  margin: 13px 0 0;
  color: #DEFD3A;
  font-size: clamp(24px, 10.26vw, 40px);
  font-weight: 300;
  line-height: 1.1;
}
.pageBody .pageShell .mainContent .dataSection .sectionHeading .sectionTitle .dataBrand {
  display: inline-block;
  width: 150px;
  height: auto;
}
.pageBody .pageShell .mainContent .dataSection .sectionHeading .sectionTitle .dataBrand .dataBrandImg {
  display: block;
  width: 150px;
  height: auto;
}
.pageBody .pageShell .mainContent .dataSection .sectionHeading .sectionLabel.animFadeInUp {
  transition-delay: 0s;
}
.pageBody .pageShell .mainContent .dataSection .sectionHeading .sectionTitle.animFadeInUp {
  transition-delay: 0.15s;
}
.pageBody .pageShell .mainContent .dataSection .dataGrid {
  display: grid;
  grid-template-columns: repeat(2, 168px);
  grid-auto-rows: 163px;
  gap: 21px 20px;
  margin: 40px 15px 0;
}
.pageBody .pageShell .mainContent .dataSection .dataGrid .dataCard {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1px solid #DEFD3A;
  color: #fff;
}
.pageBody .pageShell .mainContent .dataSection .dataGrid .dataCard .dataIcon {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  margin: 0;
  color: #DEFD3A;
  font-size: 25px;
  font-weight: 300;
  line-height: 1;
}
.pageBody .pageShell .mainContent .dataSection .dataGrid .dataCard .dataIcon .dataIconImg {
  display: block;
  max-width: 38px;
  max-height: 40px;
}
.pageBody .pageShell .mainContent .dataSection .dataGrid .dataCard .dataName {
  width: calc(100% - 16px);
  margin: 10px 0 0;
  border-top: 1px solid #DEFD3A;
  padding-top: 7px;
  font-size: 17px;
  font-weight: 300;
  line-height: 1;
  text-align: center;
}
.pageBody .pageShell .mainContent .dataSection .dataGrid .dataCard .dataValue {
  margin: 8px 0 0;
  color: #DEFD3A;
  font-family: "Roboto", sans-serif;
  font-size: 55px;
  font-weight: 200;
  line-height: 1;
}
.pageBody .pageShell .mainContent .dataSection .dataGrid .dataCard .dataValue .dataUnit {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 20px;
  font-weight: 300;
}
.pageBody .pageShell .mainContent .dataSection .dataGrid .dataCard:nth-child(5) .dataUnit {
  color: #fff;
  font-size: 30px;
}
.pageBody .pageShell .mainContent .dataSection .dataGrid .dataCard:nth-child(6) .dataUnit {
  color: #fff;
}
.pageBody .pageShell .mainContent .dataSection .dataGrid .dataCard:nth-child(-n+2).animFadeInUp {
  transition-delay: 0s;
}
.pageBody .pageShell .mainContent .dataSection .dataGrid .dataCard:nth-child(n+3):nth-child(-n+4).animFadeInUp {
  transition-delay: 0.15s;
}
.pageBody .pageShell .mainContent .dataSection .dataGrid .dataCard:nth-child(n+5).animFadeInUp {
  transition-delay: 0.3s;
}
.pageBody .pageShell .mainContent .personalIntroSection {
  background: #DEFD3A;
  padding-bottom: 14px;
  color: #121212;
}
.pageBody .pageShell .mainContent .personalIntroSection .personalIntroHeading {
  padding-top: 74px;
  text-align: center;
}
.pageBody .pageShell .mainContent .personalIntroSection .personalIntroHeading .personalIntroLead {
  margin: 0;
  font-size: 20px;
  font-weight: 300;
  line-height: 1;
}
.pageBody .pageShell .mainContent .personalIntroSection .personalIntroHeading .personalIntroTitle {
  margin: 5px 0 0;
  font-weight: 300;
  line-height: 1;
}
.pageBody .pageShell .mainContent .personalIntroSection .personalIntroHeading .personalIntroTitle .personalIntroTitleLine {
  display: block;
}
.pageBody .pageShell .mainContent .personalIntroSection .personalIntroHeading .personalIntroTitle .personalIntroTitleLine--small {
  font-size: 30px;
}
.pageBody .pageShell .mainContent .personalIntroSection .personalIntroHeading .personalIntroTitle .personalIntroTitleLine--large {
  margin-top: 10px;
  font-size: clamp(24px, 10.26vw, 40px);
}
.pageBody .pageShell .mainContent .personalIntroSection .personalIntroHeading .personalIntroLead.animFadeInUp {
  transition-delay: 0s;
}
.pageBody .pageShell .mainContent .personalIntroSection .personalIntroHeading .personalIntroTitle.animFadeInUp {
  transition-delay: 0.15s;
}
.pageBody .pageShell .mainContent .personalIntroSection .personalIntroTypes {
  position: relative;
  height: 519px;
  margin-top: 58px;
}
.pageBody .pageShell .mainContent .personalIntroSection .personalIntroTypes .personalIntroType {
  position: absolute;
  width: 260px;
  height: 224px;
}
.pageBody .pageShell .mainContent .personalIntroSection .personalIntroTypes .personalIntroType > .op:nth-child(1).animSlideInLeft, .pageBody .pageShell .mainContent .personalIntroSection .personalIntroTypes .personalIntroType > .op:nth-child(1).animSlideInRight {
  transition-delay: 0s;
}
.pageBody .pageShell .mainContent .personalIntroSection .personalIntroTypes .personalIntroType > .op:nth-child(2).animSlideInLeft, .pageBody .pageShell .mainContent .personalIntroSection .personalIntroTypes .personalIntroType > .op:nth-child(2).animSlideInRight {
  transition-delay: 0.15s;
}
.pageBody .pageShell .mainContent .personalIntroSection .personalIntroTypes .personalIntroType .personalIntroImg {
  width: 260px;
  height: 224px;
  -o-object-fit: cover;
     object-fit: cover;
}
.pageBody .pageShell .mainContent .personalIntroSection .personalIntroTypes .personalIntroType .personalIntroName {
  position: absolute;
  margin: 0;
  font-size: clamp(26px, 11.03vw, 43px);
  font-weight: 300;
  line-height: 1;
  writing-mode: vertical-rl;
}
.pageBody .pageShell .mainContent .personalIntroSection .personalIntroTypes .personalIntroType--training {
  top: 0;
  left: 16px;
}
.pageBody .pageShell .mainContent .personalIntroSection .personalIntroTypes .personalIntroType--training .personalIntroName {
  top: 3px;
  right: -96px;
  display: flex;
  flex-direction: row-reverse;
  width: 87px;
  height: 261px;
  writing-mode: horizontal-tb;
}
.pageBody .pageShell .mainContent .personalIntroSection .personalIntroTypes .personalIntroType--training .personalIntroName .personalIntroNameLine {
  display: block;
  width: clamp(26px, 11.03vw, 43px);
  white-space: nowrap;
  writing-mode: vertical-rl;
}
.pageBody .pageShell .mainContent .personalIntroSection .personalIntroTypes .personalIntroType--pilates {
  top: 295px;
  left: 113px;
}
.pageBody .pageShell .mainContent .personalIntroSection .personalIntroTypes .personalIntroType--pilates .personalIntroName {
  top: 0;
  left: -100px;
}
.pageBody .pageShell .mainContent .reasonSection {
  position: relative;
  z-index: 2;
  background: #DEFD3A;
  padding: 46px 15px 0;
  color: #121212;
}
.pageBody .pageShell .mainContent .reasonSection::after {
  position: absolute;
  bottom: -38px;
  left: 0;
  width: 100%;
  height: 40px;
  background: #DEFD3A;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: "";
}
.pageBody .pageShell .mainContent .reasonSection .sectionHeading .sectionLabel {
  margin: 0;
  font-family: "Roboto", sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}
.pageBody .pageShell .mainContent .reasonSection .sectionHeading .sectionTitle {
  margin: 6px 0 0;
  font-weight: 300;
  line-height: 1;
}
.pageBody .pageShell .mainContent .reasonSection .sectionHeading .sectionTitle .reasonTitleLine {
  display: block;
}
.pageBody .pageShell .mainContent .reasonSection .sectionHeading .sectionTitle .reasonTitleLine--small {
  display: flex;
  align-items: center;
  font-size: 20px;
  line-height: 1.3;
}
.pageBody .pageShell .mainContent .reasonSection .sectionHeading .sectionTitle .reasonTitleLine--large {
  margin-top: 0;
  font-size: clamp(24px, 10.26vw, 40px);
  line-height: 1.2;
}
.pageBody .pageShell .mainContent .reasonSection .sectionHeading .sectionTitle .reasonBrand {
  display: inline-block;
  margin-right: 4px;
}
.pageBody .pageShell .mainContent .reasonSection .sectionHeading .sectionTitle .reasonBrand .reasonBrandImg {
  display: block;
  filter: brightness(0);
}
.pageBody .pageShell .mainContent .reasonSection .sectionHeading .sectionLabel.animFadeInUp {
  transition-delay: 0s;
}
.pageBody .pageShell .mainContent .reasonSection .sectionHeading .sectionTitle.animFadeInUp {
  transition-delay: 0.15s;
}
.pageBody .pageShell .mainContent .reasonSection .reasonList {
  margin-top: 18px;
}
.pageBody .pageShell .mainContent .reasonSection .reasonList .reasonItem {
  position: relative;
  border-bottom: 1px solid #121212;
  padding: 0 0 22px;
}
.pageBody .pageShell .mainContent .reasonSection .reasonList .reasonItem .reasonNo {
  margin: 0;
  color: #B9CC55;
  font-family: "Roboto", sans-serif;
  font-size: 50px;
  font-weight: 200;
  line-height: 1;
  transform: translateY(25px);
}
.pageBody .pageShell .mainContent .reasonSection .reasonList .reasonItem .reasonName {
  margin: 8px 0 0;
  font-size: clamp(16px, 6.92vw, 27px);
  font-weight: 300;
  line-height: 1.3;
  transform: translateY(25px);
}
.pageBody .pageShell .mainContent .reasonSection .reasonList .reasonItem .reasonText {
  margin: 10px 0 0;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.55;
  transform: translateY(25px);
}
.pageBody .pageShell .mainContent .reasonSection .reasonList .reasonItem .reasonLink {
  margin: 18px auto 0;
}
.pageBody .pageShell .mainContent .reasonSection .reasonList .reasonItem:nth-child(1) .reasonText {
  padding-bottom: 20px;
}
.pageBody .pageShell .mainContent .reasonSection .reasonList .reasonItem:nth-child(2) {
  padding-top: 20px;
}
.pageBody .pageShell .mainContent .reasonSection .reasonList .reasonItem:nth-child(n+2) .reasonNo {
  transform: translateY(13px);
}
.pageBody .pageShell .mainContent .reasonSection .reasonList .reasonItem:nth-child(n+2) .reasonName {
  transform: translateY(7px);
}
.pageBody .pageShell .mainContent .reasonSection .reasonList .reasonItem:nth-child(n+2) .reasonText {
  transform: translateY(4px);
}
.pageBody .pageShell .mainContent .reasonSection .reasonList .reasonItem:nth-child(2) .reasonLink {
  transform: translateY(-5px);
}
.pageBody .pageShell .mainContent .reasonSection .reasonList .reasonItem:nth-child(3) {
  padding-top: 20px;
}
.pageBody .pageShell .mainContent .reasonSection .reasonList .reasonItem:nth-child(4) {
  border-bottom: 0;
  padding-top: 20px;
  padding-bottom: 45px;
}
.pageBody .pageShell .mainContent .reasonSection .reasonList .reasonItem:nth-child(1).animFadeInUp {
  transition-delay: 0s;
}
.pageBody .pageShell .mainContent .reasonSection .reasonList .reasonItem:nth-child(2).animFadeInUp {
  transition-delay: 0.15s;
}
.pageBody .pageShell .mainContent .reasonSection .reasonList .reasonItem:nth-child(3).animFadeInUp {
  transition-delay: 0.3s;
}
.pageBody .pageShell .mainContent .reasonSection .reasonList .reasonItem:nth-child(4).animFadeInUp {
  transition-delay: 0.45s;
}
.pageBody .pageShell .mainContent .priceCompareSection {
  background: #121212;
  padding: 110px 15px 25px;
  color: #fff;
}
.pageBody .pageShell .mainContent .priceCompareSection .priceCompareHeading {
  text-align: center;
}
.pageBody .pageShell .mainContent .priceCompareSection .priceCompareHeading .priceCompareLead {
  margin: 0;
  color: #B7B7B7;
  font-size: 20px;
  font-weight: 300;
  line-height: 1;
}
.pageBody .pageShell .mainContent .priceCompareSection .priceCompareHeading .priceCompareTitle {
  margin: 14px 0 0;
  color: #DEFD3A;
  font-size: clamp(23px, 9.74vw, 38px);
  font-weight: 300;
  line-height: 1;
}
.pageBody .pageShell .mainContent .priceCompareSection .priceCompareHeading .priceCompareLead.animFadeInUp {
  transition-delay: 0s;
}
.pageBody .pageShell .mainContent .priceCompareSection .priceCompareHeading .priceCompareTitle.animFadeInUp {
  transition-delay: 0.15s;
}
.pageBody .pageShell .mainContent .priceCompareSection .priceChart {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  width: 100%;
  min-height: 330px;
  margin: 71px 0 0 1px;
  -moz-column-gap: 27px;
       column-gap: 27px;
}
.pageBody .pageShell .mainContent .priceCompareSection .priceChart .priceColumn {
  width: 100%;
}
.pageBody .pageShell .mainContent .priceCompareSection .priceChart .priceColumn .pricePlot {
  position: relative;
  display: flex;
  align-items: flex-end;
  height: 256px;
}
.pageBody .pageShell .mainContent .priceCompareSection .priceChart .priceColumn .pricePlot .priceValue {
  position: absolute;
  bottom: calc(var(--priceBarHeight) + 12px);
  left: 0;
  width: 100%;
  margin: 0;
  font-family: "Roboto", sans-serif;
  font-size: 22px;
  font-weight: 200;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  opacity: 0;
  transform: translateY(var(--priceBarHeight));
  transition: transform 1s, opacity 0.35s;
}
.pageBody .pageShell .mainContent .priceCompareSection .priceChart .priceColumn .pricePlot .priceValue .priceUnit {
  font-size: 13px;
  font-weight: inherit;
}
.pageBody .pageShell .mainContent .priceCompareSection .priceChart .priceColumn .pricePlot .priceBar {
  width: 165px;
}
.pageBody .pageShell .mainContent .priceCompareSection .priceChart .priceColumn .pricePlot:has(.priceBar.animated) .priceValue {
  opacity: 1;
  transform: translateY(0);
}
.pageBody .pageShell .mainContent .priceCompareSection .priceChart .priceColumn .priceName {
  margin: 14px 0 0;
  font-size: 16px;
  font-weight: 200;
  line-height: 1.35;
  text-align: center;
}
.pageBody .pageShell .mainContent .priceCompareSection .priceChart .priceColumn--evolva {
  --priceBarHeight: 187px;
  color: #DEFD3A;
}
.pageBody .pageShell .mainContent .priceCompareSection .priceChart .priceColumn--evolva .priceBar {
  height: 187px;
  background: #DEFD3A;
  transition-delay: 0s;
}
.pageBody .pageShell .mainContent .priceCompareSection .priceChart .priceColumn--evolva .priceValue {
  transition-delay: 0s;
}
.pageBody .pageShell .mainContent .priceCompareSection .priceChart .priceColumn--general {
  --priceBarHeight: 256px;
  color: #B7B7B7;
}
.pageBody .pageShell .mainContent .priceCompareSection .priceChart .priceColumn--general .priceBar {
  height: 256px;
  background: #ACACAC;
}
.pageBody .pageShell .mainContent .priceCompareSection .priceCompareText {
  width: 360px;
  margin: 0px 0 0;
  color: #B7B7B7;
  font-size: 15px;
  font-weight: 300;
  line-height: 1.7;
}
.pageBody .pageShell .mainContent .priceCompareSection .priceCompareText .priceCompareStrong {
  color: #DEFD3A;
  font-weight: 300;
}
.pageBody .pageShell .mainContent .priceCompareSection .priceCompareText.animFadeInUp {
  transition-delay: 0.2s;
}
.pageBody .pageShell .mainContent .trainerSection {
  height: 504px;
  background: #121212;
  padding-top: 55px;
  color: #fff;
}
.pageBody .pageShell .mainContent .trainerSection .sectionHeading {
  padding: 0 13px;
}
.pageBody .pageShell .mainContent .trainerSection .sectionHeading .sectionLabel {
  margin: 0;
  color: #DEFD3A;
  font-family: "Roboto", sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
}
.pageBody .pageShell .mainContent .trainerSection .sectionHeading .sectionLead {
  margin: 8px 0 0;
  color: #B7B7B7;
  font-size: 20px;
  font-weight: 300;
  line-height: 1;
}
.pageBody .pageShell .mainContent .trainerSection .sectionHeading .sectionTitle {
  margin: 6px 0 0;
  color: #DEFD3A;
  font-size: clamp(24px, 10.26vw, 40px);
  font-weight: 300;
  line-height: 1;
}
.pageBody .pageShell .mainContent .trainerSection .sectionHeading .sectionLabel.animFadeInUp {
  transition-delay: 0s;
}
.pageBody .pageShell .mainContent .trainerSection .sectionHeading .sectionLead.animFadeInUp {
  transition-delay: 0.15s;
}
.pageBody .pageShell .mainContent .trainerSection .sectionHeading .sectionTitle.animFadeInUp {
  transition-delay: 0.3s;
}
.pageBody .pageShell .mainContent .trainerSection .trainerSlider {
  position: relative;
  margin-top: 44px;
  overflow: visible;
}
.pageBody .pageShell .mainContent .trainerSection .trainerSlider .swiper-wrapper {
  height: 209px;
}
.pageBody .pageShell .mainContent .trainerSection .trainerSlider .trainerCard {
  position: relative;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 140px 1fr;
  width: 325px;
  height: 209px;
  flex: 0 0 325px;
  margin: 0;
  border: 1px solid transparent;
  -o-border-image: linear-gradient(90deg, #DEFD3A 0%, #fff 100%) 1;
     border-image: linear-gradient(90deg, #DEFD3A 0%, #fff 100%) 1;
  background: #121212;
  overflow: hidden;
}
.pageBody .pageShell .mainContent .trainerSection .trainerSlider .trainerCard .trainerMedia {
  position: relative;
  left: 0.5px;
  width: 167px;
  height: 209px;
  overflow: hidden;
}
.pageBody .pageShell .mainContent .trainerSection .trainerSlider .trainerCard .trainerMedia .trainerImg {
  position: absolute;
  max-width: none;
  -o-object-fit: cover;
     object-fit: cover;
}
.pageBody .pageShell .mainContent .trainerSection .trainerSlider .trainerCard .trainerMedia .trainerImg--takahiro {
  bottom: 0;
  left: -15px;
  width: 160px;
  height: auto;
}
.pageBody .pageShell .mainContent .trainerSection .trainerSlider .trainerCard .trainerMedia .trainerImg--yuri {
  bottom: 0;
  left: -15px;
  width: 160px;
  height: auto;
}
.pageBody .pageShell .mainContent .trainerSection .trainerSlider .trainerCard .trainerMedia .trainerImg--taiki {
  bottom: 0;
  left: -15px;
  width: 160px;
  height: auto;
}
.pageBody .pageShell .mainContent .trainerSection .trainerSlider .trainerCard .trainerMedia .trainerImg--takato {
  bottom: 0;
  left: -15px;
  width: 160px;
  height: auto;
}
.pageBody .pageShell .mainContent .trainerSection .trainerSlider .trainerCard .trainerMedia .trainerImg--saeko {
  bottom: 0;
  left: -15px;
  width: 160px;
  height: auto;
}
.pageBody .pageShell .mainContent .trainerSection .trainerSlider .trainerCard .trainerMedia .trainerImg--sota {
  bottom: 0;
  left: -15px;
  width: 160px;
  height: auto;
}
.pageBody .pageShell .mainContent .trainerSection .trainerSlider .trainerCard .trainerMedia .trainerImg--taisei {
  bottom: 0;
  left: -15px;
  width: 160px;
  height: auto;
}
.pageBody .pageShell .mainContent .trainerSection .trainerSlider .trainerCard .trainerInfo {
  position: relative;
  z-index: 2;
  margin-left: 0;
  padding: 13px 10px 0;
}
.pageBody .pageShell .mainContent .trainerSection .trainerSlider .trainerCard .trainerInfo .trainerHead {
  display: flex;
  align-items: flex-end;
  -moz-column-gap: 2px;
       column-gap: 2px;
}
.pageBody .pageShell .mainContent .trainerSection .trainerSlider .trainerCard .trainerInfo .trainerHead .trainerName {
  margin: 0;
  color: #DEFD3A;
  font-size: 28px;
  font-weight: 100;
  letter-spacing: -0.013em;
  line-height: 1;
  margin-right: 5px;
}
.pageBody .pageShell .mainContent .trainerSection .trainerSlider .trainerCard .trainerInfo .trainerHead .trainerInstagram {
  display: block;
  width: 24px;
  height: 24px;
  line-height: 0;
}
.pageBody .pageShell .mainContent .trainerSection .trainerSlider .trainerCard .trainerInfo .trainerHead .trainerInstagram .trainerInstagramImg {
  display: block;
  width: 24px;
  height: 24px;
}
.pageBody .pageShell .mainContent .trainerSection .trainerSlider .trainerCard .trainerInfo .trainerLead {
  max-width: 192px;
  width: 100%;
  margin: 17px 0 0;
  color: #fff;
  font-size: 12px;
  font-weight: 100;
  line-height: 1.2;
  line-break: strict;
}
.pageBody .pageShell .mainContent .trainerSection .trainerSlider .trainerCard .trainerButton {
  position: absolute;
  right: 19px;
  bottom: 14px;
  z-index: 2;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  width: 163px;
  height: 33px;
  border: 1px solid #fff;
  border-radius: 17px;
  padding: 0 0 0 14px;
  background: #DEFD3A;
  color: inherit;
  cursor: pointer;
  font: inherit;
}
.pageBody .pageShell .mainContent .trainerSection .trainerSlider .trainerCard .trainerButton .trainerButtonText {
  color: #121212;
  font-family: "Roboto", sans-serif;
  font-size: 12px;
  font-weight: 100;
  line-height: 1;
}
.pageBody .pageShell .mainContent .trainerSection .trainerSlider .trainerCard .trainerButton .trainerButtonIcon {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 33px;
  height: 33px;
  margin: -1px -1px -1px auto;
  border: 1px solid #fff;
  border-radius: 50%;
  background: #121212;
}
.pageBody .pageShell .mainContent .trainerSection .trainerSlider .trainerCard .trainerButton .trainerButtonIcon .trainerButtonIconImg {
  display: block;
  width: 11px;
  height: 11px;
}
.pageBody .pageShell .mainContent .trainerSection .trainerSlider .trainerCard.swiper-slide-prev {
  transform: translateX(-1px);
}
.pageBody .pageShell .mainContent .trainerSection .trainerSlider .trainerCard.swiper-slide-active {
  transform: translateX(2px);
}
.pageBody .pageShell .mainContent .trainerSection .trainerSlider .trainerCard.swiper-slide-next {
  transform: translateX(1px);
}
.pageBody .pageShell .mainContent .trainerSection .trainerSlider .sliderControls {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
  width: 100%;
  height: 209px;
  margin: 0;
  pointer-events: none;
}
.pageBody .pageShell .mainContent .trainerSection .trainerSlider .sliderControls .sliderArrow {
  position: absolute;
  top: 50%;
  width: 28px;
  height: 44px;
  margin-top: -22px;
  color: #fff;
  pointer-events: auto;
}
.pageBody .pageShell .mainContent .trainerSection .trainerSlider .sliderControls .sliderArrow::after {
  font-size: 16px;
  font-weight: 700;
}
.pageBody .pageShell .mainContent .trainerSection .trainerSlider .sliderControls .swiper-button-prev {
  left: calc(50% - 170px);
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.pageBody .pageShell .mainContent .trainerSection .trainerSlider .sliderControls .swiper-button-next {
  right: calc(50% - 201px);
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.pageBody .pageShell .mainContent .trainerSection .trainerSlider .sliderControls .sliderPagination {
  position: absolute;
  top: 225px;
  left: 0;
  display: flex;
  justify-content: center;
  width: 100%;
  -moz-column-gap: 8px;
       column-gap: 8px;
  pointer-events: auto;
}
.pageBody .pageShell .mainContent .trainerSection .trainerSlider .sliderControls .sliderPagination .swiper-pagination-bullet {
  width: 5px;
  height: 5px;
  margin: 0;
  background: #555555;
  opacity: 1;
}
.pageBody .pageShell .mainContent .trainerSection .trainerSlider .sliderControls .sliderPagination .swiper-pagination-bullet-active {
  background: #DEFD3A;
}
.pageBody .pageShell .mainContent .reviewSection {
  height: 849px;
  background: linear-gradient(180deg, #707070 0%, #121212 95.2%, #121212 100%);
  padding: 63px 15px 0;
  color: #fff;
}
.pageBody .pageShell .mainContent .reviewSection .sectionHeading .sectionLabel {
  margin: 0;
  color: #DEFD3A;
  font-family: "Roboto", sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
}
.pageBody .pageShell .mainContent .reviewSection .sectionHeading .sectionLead {
  margin: 8px 0 0;
  color: #D2D2D2;
  font-size: 22px;
  font-weight: 300;
  line-height: 1;
}
.pageBody .pageShell .mainContent .reviewSection .sectionHeading .reviewScore {
  margin: 9px 0 0;
  color: #DEFD3A;
  font-family: "Roboto", sans-serif;
  font-size: 50px;
  font-weight: 200;
  line-height: 1;
}
.pageBody .pageShell .mainContent .reviewSection .sectionHeading .sectionLabel.animFadeInUp {
  transition-delay: 0s;
}
.pageBody .pageShell .mainContent .reviewSection .sectionHeading .sectionLead.animFadeInUp {
  transition-delay: 0.15s;
}
.pageBody .pageShell .mainContent .reviewSection .sectionHeading .reviewScore.animFadeInUp {
  transition-delay: 0.3s;
}
.pageBody .pageShell .mainContent .reviewSection .reviewList {
  margin-top: 53px;
}
.pageBody .pageShell .mainContent .reviewSection .reviewList .reviewItem {
  border-bottom: 1px solid #D2D2D2;
  padding: 0 0 22px;
}
.pageBody .pageShell .mainContent .reviewSection .reviewList .reviewItem .reviewStars {
  margin: 0;
  color: #DEFD3A;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
}
.pageBody .pageShell .mainContent .reviewSection .reviewList .reviewItem .reviewTitle {
  margin: 16px 0 0;
  color: #D2D2D2;
  font-size: 20px;
  font-weight: 300;
  line-height: 1.3;
}
.pageBody .pageShell .mainContent .reviewSection .reviewList .reviewItem .reviewText {
  margin: 17px 0 0;
  color: #D2D2D2;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.65;
}
.pageBody .pageShell .mainContent .reviewSection .reviewList .reviewItem + .reviewItem {
  padding-top: 20px;
}
.pageBody .pageShell .mainContent .reviewSection .reviewList .reviewItem:nth-child(1).animFadeInUp {
  transition-delay: 0s;
}
.pageBody .pageShell .mainContent .reviewSection .reviewList .reviewItem:nth-child(2).animFadeInUp {
  transition-delay: 0.15s;
}
.pageBody .pageShell .mainContent .reviewSection .reviewList .reviewItem:nth-child(3).animFadeInUp {
  transition-delay: 0.3s;
}
.pageBody .pageShell .mainContent .machinesSection {
  background: #121212;
  padding-top: 28px;
  color: #fff;
}
.pageBody .pageShell .mainContent .machinesSection .sectionHeading {
  padding: 0 15px;
}
.pageBody .pageShell .mainContent .machinesSection .sectionHeading .sectionLabel {
  margin: 0;
  color: #DEFD3A;
  font-family: "Roboto", sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
}
.pageBody .pageShell .mainContent .machinesSection .sectionHeading .sectionLead {
  margin: 14px 0 0;
  color: #B7B7B7;
  font-size: 22px;
  font-weight: 300;
  line-height: 1;
}
.pageBody .pageShell .mainContent .machinesSection .sectionHeading .sectionTitle {
  margin: 10px 0 0;
  color: #DEFD3A;
  font-size: clamp(23px, 9.74vw, 38px);
  font-weight: 300;
  line-height: 1.25;
}
.pageBody .pageShell .mainContent .machinesSection .sectionHeading .sectionLabel.animFadeInUp {
  transition-delay: 0s;
}
.pageBody .pageShell .mainContent .machinesSection .sectionHeading .sectionLead.animFadeInUp {
  transition-delay: 0.15s;
}
.pageBody .pageShell .mainContent .machinesSection .sectionHeading .sectionTitle.animFadeInUp {
  transition-delay: 0.3s;
}
.pageBody .pageShell .mainContent .machinesSection .machineList {
  display: flex;
  flex-direction: column;
  margin: 31px auto 0;
  width: -moz-fit-content;
  width: fit-content;
  row-gap: 20px;
}
.pageBody .pageShell .mainContent .machinesSection .machineList .machineItem {
  width: 356px;
  border: 1px solid #DEFD3A;
  border-radius: 14px;
  overflow: hidden;
}
.pageBody .pageShell .mainContent .machinesSection .machineList .machineItem .machineTitle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 55px;
  padding: 0 17px;
  color: #DEFD3A;
  font-size: 20px;
  font-weight: 300;
  line-height: 1;
  list-style: none;
  cursor: pointer;
}
.pageBody .pageShell .mainContent .machinesSection .machineList .machineItem .machineTitle .machineArrowIcon {
  display: block;
  flex: 0 0 auto;
  width: 10px;
  height: 7px;
}
.pageBody .pageShell .mainContent .machinesSection .machineList .machineItem .machineTitle::-webkit-details-marker {
  display: none;
}
.pageBody .pageShell .mainContent .machinesSection .machineList .machineItem .machineDetail {
  padding: 12px 19px 20px;
}
.pageBody .pageShell .mainContent .machinesSection .machineList .machineItem .machineDetail .machineImg {
  display: block;
  width: 317px;
  height: 202px;
  -o-object-fit: cover;
     object-fit: cover;
}
.pageBody .pageShell .mainContent .machinesSection .machineList .machineItem .machineDetail .machineText {
  margin: 17px 0 0;
  color: #B7B7B7;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.5;
}
.pageBody .pageShell .mainContent .machinesSection .machineList .machineItem:not([open]) {
  height: 56px;
}
.pageBody .pageShell .mainContent .machinesSection .machineList .machineItem:nth-child(1).animFadeInUp {
  transition-delay: 0s;
}
.pageBody .pageShell .mainContent .machinesSection .machineList .machineItem:nth-child(2).animFadeInUp {
  transition-delay: 0.15s;
}
.pageBody .pageShell .mainContent .machinesSection .machineList .machineItem:nth-child(3).animFadeInUp {
  transition-delay: 0.3s;
}
.pageBody .pageShell .mainContent .machinesSection .machineRoom {
  width: 390px;
  height: 320px;
  margin-top: 93px;
}
.pageBody .pageShell .mainContent .machinesSection .machineRoom .machineRoomImg {
  width: 390px;
  height: 320px;
  -o-object-fit: cover;
     object-fit: cover;
}
.pageBody .pageShell .mainContent .machinesSection .machineRoom.animFadeInUp {
  transition-delay: 0.45s;
}
.pageBody .pageShell .mainContent .flowSection {
  height: 735px;
  background: #121212;
  padding: 55px 15px 0;
  color: #fff;
}
.pageBody .pageShell .mainContent .flowSection .sectionHeading .sectionLabel {
  margin: 0;
  color: #DEFD3A;
  font-family: "Roboto", sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
}
.pageBody .pageShell .mainContent .flowSection .sectionHeading .sectionLead {
  margin: 14px 0 0;
  color: #B7B7B7;
  font-size: 22px;
  font-weight: 300;
  line-height: 1;
}
.pageBody .pageShell .mainContent .flowSection .sectionHeading .sectionTitle {
  margin: 10px 0 0;
  color: #DEFD3A;
  font-size: clamp(24px, 10.26vw, 40px);
  font-weight: 300;
  line-height: 1;
}
.pageBody .pageShell .mainContent .flowSection .sectionHeading .sectionLabel.animFadeInUp {
  transition-delay: 0s;
}
.pageBody .pageShell .mainContent .flowSection .sectionHeading .sectionLead.animFadeInUp {
  transition-delay: 0.15s;
}
.pageBody .pageShell .mainContent .flowSection .sectionHeading .sectionTitle.animFadeInUp {
  transition-delay: 0.3s;
}
.pageBody .pageShell .mainContent .flowSection .flowList {
  position: relative;
  display: flex;
  flex-direction: column;
  margin: 45px 0 0;
  padding: 0;
  list-style: none;
}
.pageBody .pageShell .mainContent .flowSection .flowList.animFadeIn {
  transition-delay: 0.3s;
}
.pageBody .pageShell .mainContent .flowSection .flowList::before {
  position: absolute;
  top: 18px;
  bottom: 18px;
  left: 18px;
  height: 220px;
  width: 1px;
  background: #DEFD3A;
  content: "";
}
.pageBody .pageShell .mainContent .flowSection .flowList .flowItem {
  position: relative;
  display: grid;
  grid-template-columns: 38px 1fr;
  -moz-column-gap: 15px;
       column-gap: 15px;
}
.pageBody .pageShell .mainContent .flowSection .flowList .flowItem .flowIcon {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  margin: 0;
  border: 1px solid #DEFD3A;
  border-radius: 50%;
  background: #121212;
  color: #DEFD3A;
  font-size: 16px;
  font-weight: 300;
  line-height: 1;
}
.pageBody .pageShell .mainContent .flowSection .flowList .flowItem .flowIcon .flowIconImg {
  display: block;
  max-width: 20px;
  max-height: 18px;
}
.pageBody .pageShell .mainContent .flowSection .flowList .flowItem .flowBody .flowStep {
  margin: 0;
  color: #DEFD3A;
  font-family: "Roboto", sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}
.pageBody .pageShell .mainContent .flowSection .flowList .flowItem .flowBody .flowName {
  margin: 5px 0 0;
  color: #B7B7B7;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.3;
}
.pageBody .pageShell .mainContent .flowSection .flowList .flowItem .flowBody .flowText {
  margin: 10px 0 0;
  color: #B7B7B7;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.55;
}
.pageBody .pageShell .mainContent .flowSection .flowList .flowItem .flowBody .flowNote {
  margin-top: 18px;
  background: #2B2B2B;
  padding: 17px 13px;
}
.pageBody .pageShell .mainContent .flowSection .flowList .flowItem .flowBody .flowNote .flowNoteTitle {
  margin: 0;
  color: #B7B7B7;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.4;
}
.pageBody .pageShell .mainContent .flowSection .flowList .flowItem .flowBody .flowNote .flowNoteText {
  margin: 9px 0 0;
  color: #B7B7B7;
  font-size: 12px;
  font-weight: 300;
  line-height: 1.5;
}
.pageBody .pageShell .mainContent .flowSection .flowList .flowItem + .flowItem {
  margin-top: 20px;
}
.pageBody .pageShell .mainContent .flowSection .flowList .flowItem:nth-child(1).animFadeInUp {
  transition-delay: 0s;
}
.pageBody .pageShell .mainContent .flowSection .flowList .flowItem:nth-child(2).animFadeInUp {
  transition-delay: 0.15s;
}
.pageBody .pageShell .mainContent .flowSection .flowList .flowItem:nth-child(3).animFadeInUp {
  transition-delay: 0.3s;
}
.pageBody .pageShell .mainContent .faqSection {
  background: linear-gradient(180deg, #707070 0%, #121212 100%);
  padding: 86px 15px 0;
  color: #fff;
}
.pageBody .pageShell .mainContent .faqSection .sectionHeading .sectionLabel {
  margin: 0;
  color: #DEFD3A;
  font-family: "Roboto", sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
}
.pageBody .pageShell .mainContent .faqSection .sectionHeading .sectionLead {
  margin: 14px 0 0;
  color: #B7B7B7;
  font-size: 22px;
  font-weight: 300;
  line-height: 1;
}
.pageBody .pageShell .mainContent .faqSection .sectionHeading .sectionTitle {
  margin: 10px 0 0;
  color: #DEFD3A;
  font-size: clamp(24px, 10.26vw, 40px);
  font-weight: 300;
  line-height: 1;
}
.pageBody .pageShell .mainContent .faqSection .sectionHeading .sectionLabel.animFadeInUp {
  transition-delay: 0s;
}
.pageBody .pageShell .mainContent .faqSection .sectionHeading .sectionLead.animFadeInUp {
  transition-delay: 0.15s;
}
.pageBody .pageShell .mainContent .faqSection .sectionHeading .sectionTitle.animFadeInUp {
  transition-delay: 0.3s;
}
.pageBody .pageShell .mainContent .faqSection .faqList {
  margin-top: 42px;
}
.pageBody .pageShell .mainContent .faqSection .faqList .faqItem {
  border-bottom: 1px solid #B7B7B7;
}
.pageBody .pageShell .mainContent .faqSection .faqList .faqItem .faqQuestion {
  display: grid;
  grid-template-columns: 30px 1fr 16px;
  align-items: center;
  min-height: 70px;
  -moz-column-gap: 10px;
       column-gap: 10px;
  color: #B7B7B7;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.5;
  list-style: none;
  cursor: pointer;
}
.pageBody .pageShell .mainContent .faqSection .faqList .faqItem .faqQuestion .faqMark {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  background: #DEFD3A;
  color: #121212;
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
}
.pageBody .pageShell .mainContent .faqSection .faqList .faqItem .faqQuestion .faqArrow {
  display: block;
  justify-self: end;
  width: 10px;
  height: 7px;
  transition: rotate 0.3s ease-out;
}
.pageBody .pageShell .mainContent .faqSection .faqList .faqItem .faqQuestion::-webkit-details-marker {
  display: none;
}
.pageBody .pageShell .mainContent .faqSection .faqList .faqItem .faqAnswer {
  margin: 0;
  padding: 0 0 24px;
  color: #B7B7B7;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.7;
}
.pageBody .pageShell .mainContent .faqSection .faqList .faqItem[open] .faqAnswer {
  padding-top: 10px;
}
.pageBody .pageShell .mainContent .faqSection .faqList .faqItem:nth-child(1).animFadeInUp {
  transition-delay: 0s;
}
.pageBody .pageShell .mainContent .faqSection .faqList .faqItem:nth-child(2).animFadeInUp {
  transition-delay: 0.15s;
}
.pageBody .pageShell .mainContent .faqSection .faqList .faqItem:nth-child(3).animFadeInUp {
  transition-delay: 0.3s;
}
.pageBody .pageShell .mainContent .closingGallerySection {
  background: #121212;
  color: #fff;
}
.pageBody .pageShell .mainContent .closingGallerySection .closingGallery {
  display: flex;
  flex-direction: column;
  padding: 220px 0 41px;
  row-gap: 90px;
}
.pageBody .pageShell .mainContent .closingGallerySection .closingGallery .closingImg {
  -o-object-fit: cover;
     object-fit: cover;
}
.pageBody .pageShell .mainContent .closingGallerySection .closingGallery .closingImg--01 {
  width: 294px;
  height: 238px;
}
.pageBody .pageShell .mainContent .closingGallerySection .closingGallery .closingImg--02 {
  width: 343px;
  height: 238px;
  margin-left: 47px;
}
.pageBody .pageShell .mainContent .closingGallerySection .closingGallery .closingImg--03 {
  width: 322px;
  height: 238px;
}
.pageBody .pageShell .mainContent .closingGallerySection .closingGallery .closingImg--01.animFadeInUp {
  transition-delay: 0s;
}
.pageBody .pageShell .mainContent .closingGallerySection .closingGallery .closingImg--02.animFadeInUp {
  transition-delay: 0.15s;
}
.pageBody .pageShell .mainContent .closingGallerySection .closingGallery .closingImg--03.animFadeInUp {
  transition-delay: 0.3s;
}
.pageBody .pageShell .mainContent .finalCtaSection {
  display: grid;
  grid-template-columns: 196px 174px;
  padding: 95px 0 183px 0;
  -moz-column-gap: 5px;
       column-gap: 5px;
  background: #121212;
  margin-left: 5px;
  color: #fff;
}
.pageBody .pageShell .mainContent .finalCtaSection .finalActions {
  display: flex;
  flex-direction: column;
  row-gap: 30px;
}
.pageBody .pageShell .mainContent .finalCtaSection .finalActions .roundButton {
  display: block;
  width: 196px;
  height: 196px;
  text-decoration: none;
}
.pageBody .pageShell .mainContent .finalCtaSection .finalActions .roundButton .roundButtonImg {
  display: block;
  width: 196px;
  height: 196px;
}
.pageBody .pageShell .mainContent .finalCtaSection .finalMessage {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
  margin: 4px 0 0;
  padding-right: 17px;
  -moz-column-gap: 7px;
       column-gap: 7px;
  color: #fff;
  font-weight: 100;
}
.pageBody .pageShell .mainContent .finalCtaSection .finalMessage .finalMessageText {
  display: block;
  line-height: 1;
  white-space: nowrap;
  writing-mode: vertical-rl;
}
.pageBody .pageShell .mainContent .finalCtaSection .finalMessage .finalMessageText:nth-child(1) {
  font-size: clamp(19px, 8.21vw, 32px);
}
.pageBody .pageShell .mainContent .finalCtaSection .finalMessage .finalMessageText:nth-child(2) {
  font-size: clamp(34px, 14.36vw, 56px);
}
.pageBody .pageShell .mainContent .finalCtaSection .finalMessage .finalMessageText:nth-child(3) {
  font-size: clamp(34px, 14.36vw, 56px);
}
.pageBody .pageShell .mainContent .finalCtaSection .finalMessage.animFadeInUp {
  transition-delay: 0.3s;
}
.pageBody .pageShell .siteFooter {
  background: #121212;
  padding: 0 0 40px;
  color: #fff;
  text-align: center;
}
.pageBody .pageShell .siteFooter .footerLogo {
  width: 268px;
  margin: 0 auto;
}
.pageBody .pageShell .siteFooter .footerLogo .footerLogoImg {
  display: block;
  width: 268px;
  height: 33px;
}
.pageBody .pageShell .siteFooter .footerTagline {
  margin: 14px 0 0;
  color: #DEFD3A;
  font-family: "Roboto", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
}
.pageBody .pageShell .siteFooter .footerInstagram {
  display: block;
  width: 32px;
  height: 32px;
  margin: 23px auto 0;
  text-decoration: none;
}
.pageBody .pageShell .siteFooter .footerInstagram .footerInstagramImg {
  display: block;
  width: 32px;
  height: 32px;
}
.pageBody .pageShell .siteFooter .footerTel {
  display: flex;
  justify-content: center;
  margin: 25px 0 0;
  -moz-column-gap: 10px;
       column-gap: 10px;
  color: #B7B7B7;
  font-size: 18px;
  font-weight: 300;
  line-height: 1;
}
.pageBody .pageShell .siteFooter .footerTel .footerTelLink {
  color: #B7B7B7;
  text-decoration: none;
}
.pageBody .pageShell .siteFooter .footerNav {
  display: flex;
  justify-content: center;
  margin: 26px 0 0;
}
.pageBody .pageShell .siteFooter .footerNav .footerNavLink {
  position: relative;
  color: #B7B7B7;
  padding: 0 12px;
  font-size: 12px;
  font-weight: 300;
  line-height: 1;
  text-decoration: none;
}
.pageBody .pageShell .siteFooter .footerNav .footerNavLink::after {
  position: absolute;
  top: 0;
  right: 0;
  width: 1px;
  height: 12px;
  background: #B7B7B7;
  content: "";
}
.pageBody .pageShell .siteFooter .footerNav .footerNavLink:last-child::after {
  display: none;
}
.pageBody .pageShell .siteFooter .footerCopyright {
  margin: 54px 0 0;
  color: #666666;
  font-family: "Roboto", sans-serif;
  font-size: 11px;
  font-weight: 300;
  line-height: 1;
}

.pageBody.isMenuOpen {
  overflow: hidden;
}
.pageBody.isMenuOpen .pageShell .menuPanel {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transition-delay: 0s;
}

.pageBody.isTrainerModalOpen {
  overflow: hidden;
}
.pageBody.isTrainerModalOpen .trainerModal {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transition-delay: 0s;
}

.trainerModal {
  position: fixed;
  top: 0;
  left: 50%;
  z-index: 40;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(100%, 390px);
  height: 100dvh;
  visibility: hidden;
  opacity: 0;
  padding: 24px 16px;
  pointer-events: none;
  transform: translateX(-50%);
  transition: opacity 0.25s ease, visibility 0s linear 0.25s;
}
.trainerModal .trainerModalShade {
  position: absolute;
  inset: 0;
  background: #000;
}
.trainerModal .trainerModalPanel {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  width: min(357px, 100%);
  max-height: 100%;
  overflow-y: auto;
  border: 1px solid #DEFD3A;
  background: #fff;
}
.trainerModal .trainerModalPanel .trainerModalHead {
  position: sticky;
  top: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  height: 31px;
  padding-left: 10px;
  -moz-column-gap: 5px;
       column-gap: 5px;
  background: #DEFD3A;
}
.trainerModal .trainerModalPanel .trainerModalHead .trainerModalName {
  margin: 0;
  color: #121212;
  font-family: "Roboto", sans-serif;
  font-size: 20px;
  font-weight: 300;
  line-height: 1;
}
.trainerModal .trainerModalPanel .trainerModalHead .trainerModalInstagram {
  display: block;
  width: 20px;
  height: 20px;
  line-height: 0;
}
.trainerModal .trainerModalPanel .trainerModalHead .trainerModalInstagram .trainerModalInstagramImg {
  display: block;
  width: 20px;
  height: 20px;
}
.trainerModal .trainerModalPanel .trainerModalHead .trainerModalClose {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 31px;
  height: 31px;
  margin-left: auto;
  border: 1px solid #DEFD3A;
  padding: 0;
  background: #121212;
  cursor: pointer;
}
.trainerModal .trainerModalPanel .trainerModalHead .trainerModalClose .trainerModalCloseImg {
  display: block;
  width: 12px;
  height: 12px;
}
.trainerModal .trainerModalPanel .trainerModalBody {
  padding: 11px 10px 20px;
}
.trainerModal .trainerModalPanel .trainerModalBody .trainerModalTop {
  display: flex;
  align-items: center;
  -moz-column-gap: 10px;
       column-gap: 10px;
}
.trainerModal .trainerModalPanel .trainerModalBody .trainerModalTop .trainerModalMedia {
  flex: 0 0 142px;
  width: 142px;
  height: 119px;
  overflow: hidden;
}
.trainerModal .trainerModalPanel .trainerModalBody .trainerModalTop .trainerModalMedia .trainerModalImg {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
}
.trainerModal .trainerModalPanel .trainerModalBody .trainerModalTop .trainerModalTagsText {
  margin: 0;
  color: #121212;
  font-size: 12px;
  font-weight: 300;
  line-height: 1.17;
}
.trainerModal .trainerModalPanel .trainerModalBody .trainerModalDesc {
  margin: 12px 0 0;
  color: #121212;
  font-feature-settings: "palt";
  font-size: 12px;
  font-weight: 300;
  line-height: 1.17;
  line-break: strict;
}
.trainerModal .trainerModalPanel .trainerModalBody .trainerModalQuals {
  display: flex;
  flex-direction: column;
  row-gap: 8px;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}
.trainerModal .trainerModalPanel .trainerModalBody .trainerModalQuals .trainerModalQual {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  height: -moz-fit-content;
  height: fit-content;
  border: 1px solid #121212;
  padding: 4px 8px;
  color: #121212;
  font-size: 10px;
  font-weight: 300;
  line-height: 1;
  text-align: center;
}
.trainerModal .trainerModalPanel .trainerModalBody .trainerModalButton {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  width: 163px;
  height: 33px;
  margin: 18px auto 0;
  border: 1px solid #000;
  border-radius: 17px;
  padding-left: 14px;
  background: #DEFD3A;
}
.trainerModal .trainerModalPanel .trainerModalBody .trainerModalButton .trainerModalButtonText {
  color: #121212;
  font-family: "Roboto", sans-serif;
  font-size: 12px;
  font-weight: 100;
  line-height: 1;
}
.trainerModal .trainerModalPanel .trainerModalBody .trainerModalButton .trainerModalButtonIcon {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 33px;
  height: 33px;
  margin: -1px -1px -1px auto;
  border: 1px solid #000;
  border-radius: 50%;
  background: #121212;
}
.trainerModal .trainerModalPanel .trainerModalBody .trainerModalButton .trainerModalButtonIcon .trainerModalButtonIconImg {
  display: block;
  width: 9px;
  height: 9px;
}

.pcChrome {
  display: none;
}

@keyframes heroTickerLoop {
  to {
    transform: translateX(-33.333333%);
  }
}
@keyframes recommendLoop {
  to {
    transform: translateX(-432px);
  }
}
@keyframes recommendLoopBottom {
  to {
    transform: translateX(-426px);
  }
}
@keyframes pushBounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-4px);
  }
}
@keyframes campaignPulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(222, 253, 58, 0.55);
    transform: scale(1);
  }
  50% {
    box-shadow: 0 0 18px 4px rgba(222, 253, 58, 0.55);
    transform: scale(1);
  }
}
.recommendTrack--bottom {
  animation-name: recommendLoopBottom !important;
}

:where(a, button, summary):focus-visible {
  outline: 2px solid #DEFD3A;
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  .heroTickerTrack,
  .recommendTrack,
  .campaignBox,
  .pushLabel {
    animation: none !important;
  }
  .swiper-wrapper {
    transition-duration: 0ms !important;
  }
}
@media print, screen and (min-width: 768px) {
  .pageBody {
    background: #000 url("../img/pc-bg.png") center center/cover no-repeat;
    background-attachment: fixed;
  }
  .pageBody .pageShell {
    z-index: 2;
    width: 390px;
    transform: translateX(9px);
  }
  .pageBody .pageShell .siteHeader .menuButton {
    display: none;
  }
  .pageBody .pageShell .menuPanel {
    display: none;
  }
  .pageBody .pcChrome {
    position: fixed;
    inset: 0;
    z-index: 1;
    display: block;
    pointer-events: none;
  }
  .pageBody .pcChrome .pcBrand {
    position: absolute;
    bottom: 30px;
    left: 36px;
    width: min(340px, (100vw - 390px) / 2 - 48px);
    margin: 0;
  }
  .pageBody .pcChrome .pcBrand .pcBrandImg {
    display: block;
    width: 100%;
    height: auto;
  }
  .pageBody .pcChrome .pcNav {
    position: absolute;
    bottom: 27px;
    right: 28px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 147px;
    row-gap: 25px;
    pointer-events: auto;
  }
  .pageBody .pcChrome .pcNav .pcNavLink {
    color: #fff;
    font-family: "Roboto", sans-serif;
    font-size: 16px;
    font-weight: 200;
    line-height: 18px;
    text-decoration: none;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1099px) {
  .pageBody .pcChrome .pcBrand {
    left: 20px;
  }
  .pageBody .pcChrome .pcNav {
    right: 30px;
    width: min(127px, (100vw - 390px) / 2 - 24px);
  }
}
@media only screen and (max-width: 389px) {
  .pageBody .pageShell {
    transform-origin: top center;
  }
}/*# sourceMappingURL=style.css.map */