@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

.en-ft {
    font-family: "Poppins", sans-serif;
}
.navbar .navbar-nav .nav-link p {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
}
.item-sub-txt {
    display: block;
    font-size: 10px;
}
.c-sp-bnr.shop-bnr {
    display: flex;
    opacity: .85;
}
.page-shop-header {
    background: rgba(0, 0, 0, 0.8);
    width: 250px;
    height: 150px;
    display: inline-block;
    padding: 20px 30px;
}
.page-shop-header .p-locations-header__title {
    font-size: 40px;
    text-align: left;
    margin-bottom: 9px;
}
.p-locations-header__head {
    width: auto;
    height: auto;
    transform: translate(0);
    top: 0;
    left: 0;
    padding-right: 0;
    padding-bottom: 0;
}
.p-locations-header__head .page-shop-header  p {
    font-size: 24px;
    line-height: 1.3;
    text-align: left;
}
.swiper-facility-thumbs {
    padding: 30px 0;
}
.shop-page-btn {
    background: #b6161c;
    padding: 50px 0;
}
.btn-info-01 {
    width: 900px;
    margin: 0 auto 30px;
}
.btn-info-02 {
    display: flex;
    width: 900px;
    margin: auto;
    justify-content: space-between;
}
.info-btn {
    text-align: center;
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 1), rgba(211, 211, 211, 1));
    width: 100%;
    display: block;
    border-radius: 10px;
    font-weight: bold;
    border: 1px solid #d3d3d3;
    border: 1px solid #969696;
}
.info-btn:hover {
    text-decoration: none;
}
.btn-info-01 .info-btn {
    font-size: 32px;
    line-height: 100px;
    position: relative;
}
.btn-info-01 .info-btn::after {
    content: "";
    position: absolute;
    width: 40px;
    height: 40px;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    background-image: url('../img/shop/btn_arrow_red.svg');
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
}
.btn-info-02 .info-btn {
    font-size: 24px;
    line-height: 60px;
    width: calc((100% - 20px) / 2);
    position: relative;
}
.btn-info-02 .info-btn::after {
    content: "";
    position: absolute;
    width: 30px;
    height: 30px;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    background-image: url('../img/shop/btn_arrow_red.svg');
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
}
.camp-btn {
    cursor: pointer;
}

.shop-main .p-locations-facility {
    padding-top: 60px;
}

.shop-reason {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 80px;
}
.reason-item {
    width: calc((100% - 20px) / 2);
    margin-top: 20px;
    position: relative;
}
.reason-txt {
    position: absolute;
    color: #fff;
    bottom: 0;
    width: 100%;
    left: 0;
    display: flex;
    align-items: center;
    margin-bottom: 40px;
}
.reason-num {
    width: 150px;
    padding: 0 40px;
}
.reason-num p {
    font-family: "Poppins", sans-serif;
    font-size: 60px;
    font-weight: 600;
    margin: 0;
}
.reason-tt {
    padding-left: 20px;
    border-left: 1px solid #fff;
}
.reason-tt h3 {
    font-size: 32px;
    color: #fff;
    font-weight: 700;
}
.reason-tt p {
    line-height: 2;
    margin-bottom: 0;
}
.shop-swiper {
    position: relative;
    margin-bottom: 100px;
}
.shop-swiper-01 {
    margin-bottom: 60px;
}
.shop-swiper .swiper-wrapper {
    position: static;
}
.slider-02 {
  margin-inline: auto;
  position: relative;
  margin-bottom: 100px;
}
.slider-02 .swiper-item {
    width: 700px;
    max-width: 90%;
  margin: 0 3vw;
}
.shop-swiper-01 .swiper-item {
  height: 800px;
}
.shop-swiper-02  .swiper-item {
  height: 550px;
}
.slider-02 .swiper-item img {
  height: auto;
  width: 100%;
}
.shop-swiper .swiper-item {
    width: 700px;
    max-width: 90%;
}
.shop-swiper img {
    border: 1px solid #dcdcdc;
}
.slider-02 img {
    border: 1px solid #dcdcdc;
}
.shop-swiper .swiper-button-next {
    width: 50px;
    height: 50px;
    right: calc((100% - 700px) / 2);
    transform: translateX(70px);
    top: 200px;
}
button.slick-prev.slick-arrow {
    border: 0;
    background: none;
    font-size: 0;
    width: 50px;
    height: 50px;
    position: absolute;
    left: 29.5vw;
    top: 35%;
    transform: translateX(-100%);
    background-image: url('../img/shop/btn_slide_left.svg');
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 500;
    outline: none;
}
button.slick-next.slick-arrow {
    border: 0;
    background: none;
    font-size: 0;
    width: 50px;
    height: 50px;
    position: absolute;
    right: 29.5vw;
    top: 35%;
    transform: translateX(100%);
    background-image: url('../img/shop/btn_slide_right.svg');
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 500;
    outline: none;
}
.shop-swiper-01 button.slick-prev.slick-arrow {
    top: 23%;
}
.shop-swiper-01 button.slick-next.slick-arrow  {
    top: 23%;
}
.shop-swiper .swiper-button-next::after {
    content: "";
    background-image: url('../img/shop/btn_slide_right.svg');
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    width: 100%;
    height: 100%;
}
.shop-swiper .swiper-button-prev {
    width: 50px;
    height: 50px;
    left: calc((100% - 700px) / 2);
    transform: translateX(-70px);
    top: 200px;
}
.shop-swiper .swiper-button-prev::after {
    content: "";
    background-image: url('../img/shop/btn_slide_left.svg');
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    width: 100%;
    height: 100%;
}
.slide-txt {
    opacity: 0;
}
.swiper-item.swiper-slide.swiper-slide-active .slide-txt {
    opacity: 1;
}
.swiper-item.swiper-slide.slick-slide.slick-active .slide-txt {
    opacity: 1;
}
.shop-swiper h3 {
    font-size: 32px;
    color: #b6161c;
    line-height: 1;
    margin-top: 25px;
    margin-bottom: 15px;
    font-weight: 700;
}
.shop-swiper p {
    margin-bottom: 25px;
    line-height: 2;
    color: #6f7074;
}
.slider-02 h3 {
    font-size: 32px;
    color: #b6161c;
    line-height: 1;
    margin-top: 25px;
    margin-bottom: 30px;
    font-weight: 700;
    text-transform: inherit;
}
.slider-02 p {
    margin-bottom: 25px;
    line-height: 2;
    color: #6f7074;
}
.merit-item {
    display: flex;
    align-items: center;
    background: #f0f0f0;
}
.merit-ttl {
    background: #6f7074;
    width: 120px;
}
.shop-swiper .merit-item p {
    margin: 0;
    font-weight: bold;
    text-align: center;
    line-height: 80px;
    color: #fff;
}
.slider-02 .merit-item p {
    margin: 0;
    font-weight: bold;
    text-align: center;
    line-height: 80px;
    color: #fff;
}
.merit-txt {
    width: calc(100% - 120px);
    padding-left: 25px;
    color: #6f7074;
}
.merit-txt ul {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
}
.merit-txt ul li {
    text-indent: -1em;
    padding-left: 1em;
}

.shop-swiper a {
    text-align: center;
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 1), rgba(211, 211, 211, 1));
    width: 100%;
    display: block;
    border-radius: 10px;
    font-weight: bold;
    border: 1px solid #d3d3d3;
    line-height: 60px;
    position: relative;
    pointer-events: auto;
}
.shop-swiper a::after {
    content: "";
    position: absolute;
    width: 30px;
    height: 30px;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    background-image: url('../img/shop/btn_arrow_red.svg');
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
}
.shop-swiper a:hover {
    text-decoration: none;
}
.slider-02 a {
    text-align: center;
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 1), rgba(211, 211, 211, 1));
    width: 100%;
    display: block;
    border-radius: 10px;
    font-weight: bold;
    border: 1px solid #d3d3d3;
    line-height: 60px;
    position: relative;
    pointer-events: auto;
}
.slider-02 a::after {
    content: "";
    position: absolute;
    width: 30px;
    height: 30px;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    background-image: url('../img/shop/btn_arrow_red.svg');
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
}
.slider-02 a:hover {
    text-decoration: none;
}
.swiper-item-link {
  display: block; /* aタグがスライド全体に広がるように */
  text-decoration: none; /* aタグのアンダーラインを削除 */
  pointer-events: auto; /* aタグをクリックできるように */
}
.shop-swiper-02 {
    margin-bottom: 90px;
}
.slider-02 p {
    margin-top: 30px;
    line-height: 1.5;
}

.voices {
    background: #f0f0f0;
    padding: 70px 0 100px;
    margin-bottom: 60px;
}
.member_voice {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.voice_item {
    width: calc((100% - 20px) / 2);
    margin-top: 20px;
    background: #fff;
    padding: 30px;
    display: flex;
}
.voice_icon {
    width: 120px;
    display: flex;
    align-items: center;
}
.voice_txt {
    width: calc(100% - 120px);
    padding-left: 20px;
}
.voice_txt p {
    line-height: 1.8;
    color: #6f7074;
}
.voice_txt p.voice_info {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 10px;
}

section.personal {
    padding-top: 60px;
}
.personal-inner {
    max-width: 1100px;
    width: 100%;
    margin: auto;
}
.personal-mv {
    position: relative;
}
.personal-txt {
    position: absolute;
    color: #fff;
    top: 0;
    width: 100%;
    text-align: center;
    padding: 30px 0;
}
.personal-txt p {
    margin: 0;
}
.personal-txt .personal-tt01 {
    font-size: 20px;
}
.personal-txt .personal-tt02 {
    font-size: 32px;
    font-weight: bold;
    margin: 10px auto;
}
.personal-txt .personal-tt03 {
    font-size: 32px;
    font-weight: bold;
    margin: 10px auto;
}
.personal-txt .personal-tt04 {
    font-size: 16px;
}
.arrow {
    width: 120px;
    display: block;
    margin: auto;
    margin-top: 20px;
}
.personal-logo {
    width: 254px;
    display: block;
    margin: auto;
    margin-top: 24px;
    margin-bottom: 22px;
}
.personal-btn {
    background: #f0f0f0;
    padding: 40px 0 20px;
}
.personal-btn img {
    width: 800px;
    margin: auto;
    display: block;
}
.personal-features {
    padding: 40px;
    background: #f0f0f0;
}
.c-title-03 {
    font-size: 32px;
    color: #d5007f;
    font-weight: bold;
    margin-bottom: 20px;
    list-style: 1.5;
}
.features {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.features-item {
    width: calc((100% - 20px) / 2);
    margin-top: 20px;
    display: flex;
    padding: 30px;
    background: #fff;
    align-items: center;
}
.feat-no p {
    margin: 0;
    font-size: 60px;
    color: #d5007f;
    font-weight: bold;
}
.feat-txt {
    padding-left: 35px;
}
.feat-txt p {
    line-height: 2;
    margin-bottom: 0;
    color: #6f7074;
}
.feat-ps {
    display: flex;
    border: 2px solid #d5007f;
    background: #fff;
    margin-top: 20px;
}
.feat-pk {
    display: flex;
    width: 50%;
    align-items: center;
    background: #d5007f;
    color: #fff;
    justify-content: center;
}
.feat-pk p {
    font-size: 30px;
    border-bottom: 1px solid;
    font-weight: bold;
}
.feat-pk p span {
    font-size: 48px;
}
.feat-gr {
    display: flex;
    width: 50%;
    align-items: center;
    justify-content: center;
    padding: 0 30px;
}
.feat-gr p {
    margin: 0;
    color: #6f7074;
}
.personal-trainer {
    padding: 40px;
    background: #f0f0f0;
}
.trainer {
    padding: 30px;
    background: #fff;
    display: flex;
}
.trainer-img {
    width: 280px;
}
.trainer-info {
    width: calc(100% - 280px);
    padding-left: 30px;
}
p.tran-cc {
    line-height: 1;
    color: #d5007f;
    margin-bottom: 0px;
}
h4.trainer-name {
    font-size: 24px;
    color: #d5007f;
    line-height: 1.8;
    margin-bottom: 5px;
}
p.trainer-message {
    line-height: 1.8;
    color: #6f7074;
}
p.trainer-item-name {
    color: #6f7074;
    border-bottom: 2px solid #b7b7b9;
    font-weight: bold;
    line-height: 1;
    padding-bottom: 5px;
    margin-bottom: 5px;
    margin-top: 15px;
}
.trainer ul {
    display: flex;
    font-size: 14px;
    flex-wrap: wrap;
    color: #6f7074;
    line-height: 1.8;
    margin: 0;
}
.trainer ul li {
    margin-right: 1em;
}

.flow {
    padding-top: 85px;
    padding-bottom: 50px;
    margin-bottom: 50px;
}
.web-step {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.step-item {
    width: calc((100% - 200px) / 5);
    text-align: center;
    padding: 20px;
    border: 1px solid #969696;
    border-radius: 15px;
    position: relative;
}
.step-item::before {
    content: "";
    position: absolute;
    left: -12px;
    top: 50%;
    transform: translate(-100%, -50%);
     width: 0;
    height: 0;
    border-style: solid;
    border-top: 25px solid transparent;
    border-bottom: 25px solid transparent;
    border-left: 26px solid #b6161c;
    border-right: 0;
}
.step-item.step-btn {
    border-color: #b6161c;
    background: #b6161c;
    padding: 20px 20px 15px;
}
.step-item.step-btn::before {
    display: none;
}
.step-item p.step-no {
    font-size: 32px;
    margin-bottom: 15px;
    line-height: 1;
    color: #b6161c;
}
.step-item.step-btn  p.step-no  {
    color: #fff;
}
.step-item p {
    margin: 0;
    font-weight: bold;
}
.step-item p.step-no {
    font-size: 32px;
    margin-bottom: 15px;
    line-height: 1;
}
.step-item div {
    height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.step-item.step-btn div {
    flex-direction: column;
}
.step-item div p {
    color: #6f7074;
}
.step-item.step-btn div p  {
    color: #fff;
}
.step-item a {
    text-align: center;
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 1), rgba(211, 211, 211, 1));
    width: 100%;
    display: block;
    border-radius: 10px;
    font-weight: bold;
    border: 1px solid #d3d3d3;
    line-height: 50px;
    margin-bottom: 10px;
    color: #b6161c;
    font-size: 24px;
    border: 1px solid #969696;
}
.step-item a:hover {
    text-decoration: none;
}
.step-ps {
    display: flex;
    padding: 8px 30px;
    background: #f0f0f0;
    color: #6f7074;
    margin-top: 40px;
}
.st-ps-txt {
    display: flex;
    align-items: center;
    font-size: 20px;
    font-weight: bold;
    margin-right: 25px;
}
.st-ps-txt p {
    font-size: 20px;
    font-weight: bold;
    margin: 0;
}
.st-ps-lt ul {
    margin: 0;
    line-height: 2;
}



.shop-slider-thumbs .swiper-facility-thumbs .swiper-slide {
    padding-bottom: 45px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}
.shop-slider-thumbs .swiper-facility-thumbs .swiper-slide {
    width: calc((100% - 135px) / 10) !important;
}
.shop-slider-thumbs .swiper-facility-thumbs .swiper-slide:nth-child(9n) {
    margin-right: 15px !important;
}
.shop-slider-thumbs .swiper-facility-thumbs .swiper-slide:nth-child(10n) {
    margin-right: 0 !important;
}

.popup {
    display: none;
    position: fixed;
    width: 100%;
    height: 100vh;
    background: #fff;
    left: 0;
    top: 0;
    z-index: 30001;
    padding: 50px 0 130px;
    overflow-y: auto;
}
.popup h2 {
    text-align: center;
    font-size: 48px;
    line-height: 1.5;
    margin-bottom: 28px;
}
.bg-gr {
    padding: 40px 0;
    background: #f0f0f0;
}
.camp-info {
    display: flex;
    justify-content: center;
    padding-bottom: 33px;
}
.camp-txt {
    width: calc((100% - 20px) / 2);
    background: #fff;
    border: 1px solid #969696;
    overflow-y: auto;
    padding: 30px;
}
.camp-txt p {
    color: #6f7074;
    line-height: 1.8;
}
.camp-ps {
    display: flex;
    align-items: center;
    padding-top: 15px;
    border-top: 1px solid #969696;
}
.camp-ps p {
    margin: 0;
}
.camp-pl p {
    font-size: 20px;
    font-weight: bold;
}
.camp-pt {
    padding-left: 25px;
}
.camp-pt p {
    line-height: 1.8;
    color: #6f7074;
}
.popup-btn {
    text-align: center;
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 1), rgba(211, 211, 211, 1));
    width: 440px;
    display: block;
    border-radius: 10px;
    font-weight: bold;
    border: 1px solid #d3d3d3;
    line-height: 60px;
    margin: auto;
    font-size: 24px;
    margin-top: 40px;
    position: relative;
    color: #ad121b;
}
.popup-btn::after {
    content: "";
    position: absolute;
    width: 30px;
    height: 30px;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    background-image: url('../img/shop/btn_arrow_red.svg');
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
}
.popup-btn:hover {
    text-decoration: none;
}
.close {
    position: absolute;
    top: 0;
    right: 0;
    width: 100px;
    height: 100px;
    opacity: 1;
    background: #ad121b;
    cursor: pointer;
}
.close::before,
.close::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    height: 1px;
    width: 30px;
    background-color: #fff;
    cursor: pointer;
}
.close::before {
    transform: translate(-50%,-50%) rotate(45deg);
}
.close::after {
    transform: translate(-50%,-50%) rotate(-45deg);
}

.swiper-facility .swiper-slide.shop-mv-slider {
    width: 100%;
    padding-bottom: 50vw;
}
.shop_in_view iframe {
    width: 100%;
    height: 600px;
}
@media screen and (min-width: 581px) {
    .shop-main .c-title-02 {
        margin-bottom: 40px;
    }
}
@media screen and (min-width: 771px) {
    .swiper-facility .swiper-slide.shop-mv-slider {
        width: 1100px;
        padding-bottom: 500px;
        background-size: cover;
        background-position:  center center;
        background-repeat: no-repeat;
    }
}
@media screen and (max-width: 1701px) {
    .shop-swiper-01 .swiper-item  {
        height: 750px;
    }
    button.slick-prev.slick-arrow {
        left: 27vw;
    }
    button.slick-next.slick-arrow {
        right: 27vw;
    }
}
@media screen and (max-width: 1501px) {
    .shop-swiper-01 .swiper-item  {
        height: 800px;
    }
    button.slick-prev.slick-arrow {
        left: 22vw;
    }
    button.slick-next.slick-arrow {
        right: 22vw;
    }
    .shop-swiper-01 button.slick-prev.slick-arrow {
        top: 25%;
    }
    .shop-swiper-01 button.slick-next.slick-arrow  {
        top: 25%;
    }
}
@media screen and (max-width: 1301px) {
    button.slick-prev.slick-arrow {
        left: 19vw;
        width: 45px;
        height: 45px;
        top: 38%;
    }
    button.slick-next.slick-arrow {
        right: 19vw;
        width: 45px;
        height: 45px;
        top: 38%;
    }
    .shop-swiper-01 button.slick-prev.slick-arrow {
        top: 23%;
    }
    .shop-swiper-01 button.slick-next.slick-arrow  {
        top: 23%;
    }
    .slider-02.shop-swiper-02 .swiper-item {
        height: 500px;
    }
}
@media screen and (max-width: 1001px) {
    .shop-swiper-01 .swiper-item  {
        height: 750px;
    }
    button.slick-prev.slick-arrow {
        left: 12vw;
        width: 40px;
        height: 40px;
    }
    button.slick-next.slick-arrow {
        right: 12vw;
        width: 40px;
        height: 40px;
    }
    .slider-02.shop-swiper-02 .swiper-item {
        height: 55vw;
    }
}
@media screen and (max-width: 1171px) {
    .reason-num {
        width: 90px;
        padding: 0 20px;
    }
    .reason-num p {
        font-size: 40px;
    }
    .reason-tt h3 {
        font-size: 24px;
    }
    .reason-tt p {
        line-height: 1.6;
    }
    .web-step {
        display: block;
        width: 100%;
        max-width: 600px;
        margin: auto;
    }
    .step-item {
        width: 100%;
        text-align: left;
        padding: 15px;
        border: 1px solid #969696;
        border-radius: 10px;
        position: relative;
        display: flex;
        align-items: center;
        margin-bottom: 40px;
    }
    .step-item.step-btn {
        padding: 15px;
    }
    .step-item p.step-no {
        font-size: 30px;
        margin-bottom: 0;
        line-height: 1;
        width: 100px;
    }
    .step-item div {
        height: auto;
        display: flex;
        justify-content: flex-start;
        padding-left: 30px;
        width: calc(100% - 100px);
    }
    .step-item.step-btn div {
        align-items: flex-start;
    }
    .step-item a {
        line-height: 40px;
        margin-bottom: 7px;
        font-size: 20px;
    }
    .step-item div p {
        text-align: left;
    }
    .step-item::before {
        left: 50%;
        top: -10px;
        transform: translate(-50%, -100%);
        border-top: 20px solid #b6161c;
        border-bottom: 0;
        border-left: 22px solid transparent;
        border-right: 22px solid transparent;
    }
}
.sp-menu {
    display: none;
}
@media screen and (max-width: 991px) {
    .sp-menu {
        display: block;
    }
    .pc-menu {
        display: none;
    }
    .navbar .navbar-nav .m-menu p {
        color: #8D8D90;
        font-size: 1.75rem;
        font-family: "Poppins", sans-serif;
        margin-bottom: 0;
        padding: .5rem 0;
        line-height: 1;
        font-weight: 500;
    }
    .navbar .navbar-nav .s-menu .nav-link {
        color: #8D8D90;
        font-size: 1rem;
        font-weight: 400;
        font-family: "Poppins", sans-serif;
        line-height: 1;
    }
}
@media screen and (max-width: 971px) {
    .btn-info-01 {
        width: 100%;
    }
    .btn-info-02 {
        width: 100%;
    }
    .reason-txt {
        margin-bottom: 10px;
    }
    .reason-tt p {
        font-size: 15px;
    }
    .shop-main .c-title-02 {
        font-size: 30px;
    }
    .personal-txt {
        position: relative;
        background: #d5007f;
    }
    .personal-txt .personal-tt01 {
        font-size: 16px;
    }
    .personal-txt .personal-tt02 {
        font-size: 20px;
        font-weight: bold;
        margin: 5px auto 10px;
    }
    .arrow {
        width: 102px;
        display: block;
        margin: auto;
        margin-top: 10px;
    }
    .personal-logo {
        width: 219px;
        display: block;
        margin: auto;
        margin-top: 20px;
        margin-bottom: 15px;
    }
    .personal-txt .personal-tt03 {
        font-size: 25px;
        font-weight: bold;
        margin: 10px auto;
    }
    .personal-txt .personal-tt04 {
        font-size: 14px;
        line-height: 2;
    }
    .feat-ps {
        display: block;
        border: 2px solid #d5007f;
        background: #fff;
        margin-top: 20px;
    }
    .feat-pk {
        display: flex;
        width: 100%;
        align-items: center;
        background: #d5007f;
        color: #fff;
        justify-content: center;
        padding: 5px 0;
    }
    .feat-pk p {
        font-size: 21px;
        border-bottom: 1px solid;
        font-weight: bold;
    }
    .feat-pk p span {
        font-size: 35px;
    }
    .feat-gr {
        display: flex;
        width: 100%;
        align-items: center;
        justify-content: center;
        padding: 10px 15px;
    }
}
@media screen and (max-width: 851px) {
    .member_voice {
        display: block;
    }
    .voice_item {
        width: 100%;
        display: block;
        position: relative;
    }
}
@media screen and (max-width: 771px) {
    ul.navbar-nav.ml-auto.rnew-nav {
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
        padding: 1rem;
    }
    .rnew-nav li.nav-item:nth-of-type(2n + 1) {
        width: 45%;
        padding-top: .5rem;
        text-align: left;
    }
    .rnew-nav li.nav-item:nth-of-type(2n) {
        width: 55%;
        text-align: left;
        font-weight: bold;
    }
    .rnew-nav li.nav-item:nth-of-type(2n) span {
        font-size: .8rem;
        margin-top: 8px;
        display: block;
    }
    .navbar .navbar-nav .s-menu .nav-link p {
        margin: 0;
        line-height: 1;
        font-size: 2rem;
        font-weight: 700;
    }
    .rnew-nav li.locale-picker {
        width: 100%;
        padding: 1rem 0 0;
    }
    .rnew-nav .info-btn {
        font-size: 20px;
        line-height: 1.5;
        position: relative;
        text-align: left;
        padding: 8px 20px;
    }
    .rnew-nav .info-btn::after {
        content: "";
        position: absolute;
        width: 20px;
        height: 20px;
        right: 10px;
        top: 50%;
        transform: translateY(-50%);
        background-image: url(../img/shop/btn_arrow_red.svg);
        background-size: contain;
        background-position: center center;
        background-repeat: no-repeat;
    }
    .navbar .navbar-nav .m-menu {
        padding-left: 1.5rem;
    }
    .navbar .navbar-nav .m-menu p {
        font-size: 1.2rem;
        padding: 0;
        line-height: 1;
    }
    .navbar .navbar-nav .m-menu p.item-sub-txt {
        font-size: .7rem;
    }
    .navbar .navbar-nav .s-menu .nav-link {
        line-height: 1;
        padding: 0 0 .5rem;
    }
    .p-locations-header.shop_page {
        height: auto;
    }
    .p-locations-header__head.page-shop-head {
        padding: 0;
        position: static;
        transform: none;
        height: auto;
    }
    .page-shop-header {
        padding: 15px 20px;
        width: 100%;
        height: auto;
        display: flex;
        align-items: center;
    }
    .page-shop-header .p-locations-header__title {
        font-size: 26px;
        margin-bottom: 0;
    }
    .p-locations-header__head .page-shop-header p {
        display: flex;
        flex-direction: column;
    }
    .p-locations-header__head .page-shop-header p span.main {
        font-size: 12px;
        margin-bottom: 0;
        margin-left: 1em;
    }
    .p-locations-header__head .page-shop-header p span.sub {
        font-size: 12px;
        margin-left: 1em;
    }
    .shop_page .swiper-facility {
        padding-bottom: 0;
    }
    .btn-info-01 .info-btn {
        font-size: 24px;
        line-height: 1.5;
        position: relative;
        text-align: left;
        padding: 8px 20px;
        padding-right: 50px;
    }
    .btn-info-02 .info-btn {
        font-size: 16px;
        line-height: 1.4;
        width: calc((100% - 7px) / 2);
        position: relative;
        padding: 0 15px;
        height: 60px;
        display: flex;
        align-items: center;
        text-align: left;
        padding-right: 40px;
    }
    .btn-info-01 {
        margin-bottom: 20px;
    }
    .btn-info-01 .info-btn::after {
        width: 30px;
        height: 30px;
        right: 20px;
    }
    .btn-info-02 .info-btn::after {
        width: 20px;
        height: 20px;
        right: 15px;
    }
    .shop-reason {
        display: block;
        margin-bottom: 40px;
    }
    .reason-item {
        width: 100%;
    }
    .reason-txt {
        display: block;
    }
    .reason-num {
        width: auto;
        padding: 0px 15px;
    }
    .reason-num p {
        font-size: 40px;
        line-height: 1;
        padding-bottom: 10px;
        display: inline-block;
        border-bottom: 1px solid;
        margin-bottom: 10px;
    }
    .reason-tt {
        padding-left: 15px;
        border-left: 0;
    }
    .swiper-facility .swiper-slide.shop-mv-slider {
        width: 100%;
        padding-bottom: 100vw;
        position: relative;
    }
    .swiper-facility .swiper-slide.shop-mv-slider div {
        position: absolute;
        width: 100%;
        background: rgba(0, 0, 0, 0.8);
        top: 0;
        left: 0;
    }
    .swiper-facility .swiper-slide.shop-mv-slider div p{
        
    }
    .slider-02 {
        margin-bottom: 40px;
    }
    .slider-02 .swiper-item {
        margin: 0 5vw;
    }
    .shop-swiper-01 .swiper-item {
        height: 800px;
    }
    .shop-swiper .swiper-button-next {
        width: 40px;
        height: 40px;
        right: 10px;
        transform: translateX(0px);
        top: 32vw;
    }
    .shop-swiper .swiper-button-prev {
        width: 40px;
        height: 40px;
        left: 10px;
        transform: translateX(0px);
        top: 32vw;
    }
    button.slick-prev.slick-arrow {
        left: 10px;
        transform: translateX(0px);
        top: 28vw;
    }
    button.slick-next.slick-arrow {
        right: 10px;
        transform: translateX(0px);
        top: 28vw;
    }
    .shop-swiper-01 button.slick-prev.slick-arrow {
        top: 28vw;
    }
    .shop-swiper-01 button.slick-next.slick-arrow  {
        top: 28vw;
    }
    .shop-swiper h3 {
        font-size: 20px;
        color: #b6161c;
        line-height: 1;
        margin-top: 25px;
        margin-bottom: 10px;
    }
    .slider-02 h3 {
        font-size: 20px;
        color: #b6161c;
        line-height: 1.5;
        margin-top: 25px;
        margin-bottom: 30px;
    }
    .shop-swiper p {
        margin-bottom: 20px;
        line-height: 2;
        font-size: 15px;
    }
    .slider-02 p {
        margin-bottom: 20px;
        line-height: 2;
        font-size: 15px;
    }
    .merit-item {
        display: block;
    }
    .merit-ttl {
        width: 100%;
        padding: 0 15px;
    }
    .shop-swiper .merit-item p {
        text-align: left;
        line-height: 30px;
        font-size: 15px;
    }
    .slider-02 .merit-item p {
        text-align: left;
        line-height: 30px;
        font-size: 15px;
    }
    .shop-main .p-locations-facility {
        padding-top: 45px;
    }
    .merit-txt {
        width: 100%;
        padding: 5px 20px;
    }
    .merit-txt ul {
        display: block;
    }
    .shop-swiper-02 {
        margin-bottom: 40px;
    }
    .voices {
        padding: 50px 0 60px;
    }
    .voice_item {
        width: 100%;
        display: block;
        position: relative;
        padding: 50px 15px 10px;
        margin-top: 75px;
    }
    .voice_icon {
        width: 90px;
        padding-top: 0;
        position: absolute;
        top: 0;
        left: 50%;
        transform: translate(-50%, -50%);
    }
    .voice_txt {
        width: 100%;
        padding-left: 0;
    }
    .voice_txt p.voice_info {
        font-size: 20px;
        font-weight: 600;
        margin-bottom: 5px;
        text-align: center;
        color: #000;
    }
    .personal-btn {
        padding: 10px 20px;
    }
    .personal-features {
        padding: 20px;
        background: #f0f0f0;
    }
    .c-title-03 {
        font-size: 26px;
        color: #d5007f;
        font-weight: bold;
        margin-bottom: 20px;
        line-height: 1.5;
    }
    .features {
        display: block;
    }
    .features-item {
        width: 100%;
        margin-top: 15px;
        display: flex;
        padding: 10px 15px;
        background: #fff;
        align-items: center;
    }
    .feat-no p {
        margin: 0;
        font-size: 45px;
        color: #d5007f;
        line-height: 1;
        font-weight: bold;
    }
    .feat-txt {
        padding-left: 25px;
    }
    .feat-txt p {
        line-height: 1.8;
    }
    .personal-trainer {
        padding: 10px 20px 60px;
    }
    .trainer {
        display: block;
        padding: 20px;
    }
    .trainer-img {
        width: 100%;
    }
    .trainer-info {
        padding-top: 20px;
        width: 100%;
        padding-left: 0;
    }
    p.tran-cc {
        font-size: 15px;
    }
    h4.trainer-name {
        font-size: 20px;
    }
    p.trainer-message {
        font-size: 15px;
    }
    p.trainer-item-name {
        font-size: 15px;
        margin-top: 25px;
        padding-bottom: 7px;
        border-bottom: 1px solid #b7b7b9;
    }
    .trainer ul {
        display: block;
    }
    .trainer ul li {
        margin: 0;
        padding-left: 1em;
        text-indent: -1em;
    }
    .flow {
        padding-top: 60px;
        padding-bottom: 45px;
        margin-bottom: 20px;
    }
    .step-ps {
        display: block;
        padding: 15px;
    }
    .st-ps-txt {
        display: block;
        font-size: 20px;
        font-weight: bold;
        margin-right: 0;
    }
    .st-ps-txt p {
        font-size: 16px;
        font-weight: bold;
        margin: 0;
    }
    .st-ps-lt ul li {
        font-size: 15px;
    }
    .st-ps-lt ul li:first-child {
        padding-left: 1em;
        text-indent: -1em;
    }
    .popup h2 {
        text-align: center;
        font-size: 30px;
        line-height: 1.5;
        margin-bottom: 28px;
    }
    .bg-gr {
        padding: 20px 0 45px;
        background: #f0f0f0;
    }
    .camp-info {
        display: block;
        padding-bottom: 15px;
    }
    .camp-txt {
        width: 100%;
        background: #fff;
        border: 1px solid #969696;
        margin-bottom: 20px;
        padding: 20px;
    }
    .camp-ps p {
        margin: 0;
    }
    .camp-ps {
        display: block;
        padding-top: 30px;
        border-top: 1px solid #969696;
    }
    .camp-pl p {
        font-size: 16px;
        font-weight: bold;
        color: #6f7074;
        margin-bottom: 7px;
    }
    .camp-pt {
        padding-left: 0;
    }
    .camp-pt p {
        line-height: 1.8;
        color: #6f7074;
    }
    .camp-pt p:first-of-type {
        padding-left: 1em;
        text-indent: -1em;
    }
    .popup-btn {
        width: 90%;
    }
    .popup-btn::after {
        width: 20px;
        height: 20px;
        right: 15px;
    }
    .close {
        width: 60px;
        height: 60px;
    }
    .close::before, 
    .close::after {
        width: 25px;
    }
    .shop-main .swiper-pagination {
        display: none;
    }
    .shop-slider-thumbs .l-main__inner {
        width: 100%;
    }
    .shop-slider-thumbs .swiper-facility-thumbs {
        display: block;
        padding: 0 5% 30px;
        overflow-x: auto;
    }
    .shop-slider-thumbs .swiper-facility-thumbs .swiper-wrapper {
        width: 545px;
    }
    .shop-slider-thumbs .swiper-facility-thumbs .swiper-slide {
        width: calc((100% - 45px) / 10) !important;
        margin-right: 5px;
        margin-bottom: 0;
    }
    .shop-slider-thumbs .swiper-facility-thumbs .swiper-slide:nth-child(6n) {
        margin-right: 5px !important;
    }
    .shop-slider-thumbs .swiper-facility-thumbs .swiper-slide:nth-child(9n) {
        margin-right: 5px !important;
    }
    .slider-02.shop-swiper-02 .swiper-item {
        height: 105vw;
    }
    .shop_in_view iframe {
        height: 80vw;
    }
}
@media screen and (max-width: 401px) {
    .page-shop-header .p-locations-header__title {
        font-size: 24px;   
    }
}

.swiper-facility-thumbs .swiper-slide {
    position: relative;
    padding-bottom: 10px;
}
.swiper-facility-thumbs .swiper-slide::before,
.swiper-facility-thumbs .swiper-slide::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    height: 3px;
}
.swiper-facility-thumbs .swiper-slide::after {
    background-color: #969696;
    z-index: 1;
    width: 100%;
}
.swiper-facility-thumbs .swiper-slide::before {
    background-color: #ad121b;
    z-index: 2;
    width: 0%;
}
.swiper-slide.shop-mv-slider.swiper-slide-thumb-active::before {
    animation-name: anime-slide;
    animation-duration: 2.8s;
    animation-timing-function: linear;
    animation-delay: 0;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
}

 
@keyframes anime-slide {
  0% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}

li.nav-item.m-menu.sp-menu.camp-item {
    width: 100%;
    padding-bottom: 1rem;
}

.m-btn {
    position: relative;
}
.m-btn-link {
    position: absolute;
    width: 16.5%;
    height: 1%;
    cursor: pointer;
}
.m-btn01 {
    top: 19%;
    right: 5%;
}
.m-btn02 {
    top: 32%;
    left: 27%;
}
.m-btn03 {
    top: 43.5%;
    right: 5%;
}
.m-btn04 {
    top: 56.2%;
    left: 27%;
}
.m-btn05 {
    top: 68.5%;
    right: 5%;
}

.pop-blk {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 90000;
    width: 100%;
    height: 100%;
    /*background: rgba(0, 0, 0, 0.7);*/
}
.pop-blk img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.merit-txt.sld-mtt ul li {
    width: 100%;
}
.slider-02 .merit-item .sld-mtt p {
    line-height: 130px;
}
.slider-02 p.p-li {
    margin: 0;
    text-indent: -1em;
    padding-left: 1em;
}
@media screen and (max-width: 771px) {
    .m-btn-link {
        width: 16.5%;
        height: .5%;
    }
    .m-btn01 {
        top: 14.9%;
        right: 7%;
    }
    .m-btn02 {
        top: 24.6%;
        left: 28%;
    }
    .m-btn03 {
        top: 33.5%;
        right: 7%;
    }
    .m-btn04 {
        top: 43.4%;
        left: 28%;
    }
    .m-btn05 {
        top: 52.8%;
        right: 7%;
    }
    .pop-blk img {
        width: 80%;
    }
    .slider-02 .merit-item .sld-mtt p {
        line-height: 30px;
    }
}


.m-btn {
    position: relative;
}
.m-btn-link {
    position: absolute;
    width: 16.5%;
    height: 1%;
    cursor: pointer;
}
.m-btn01 {
    top: 19%;
    right: 5%;
}
.m-btn02 {
    top: 32%;
    left: 27%;
}
.m-btn03 {
    top: 43.5%;
    right: 5%;
}
.m-btn04 {
    top: 56.2%;
    left: 27%;
}
.m-btn05 {
    top: 68.5%;
    right: 5%;
}

.pop-blk {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 90000;
    width: 100%;
    height: 100%;
    /*background: rgba(0, 0, 0, 0.7);*/
}
.pop-blk img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

@media screen and (max-width: 771px) {
    .m-btn-link {
        width: 16.5%;
        height: .5%;
    }
    .m-btn01 {
        top: 14.9%;
        right: 7%;
    }
    .m-btn02 {
        top: 24.6%;
        left: 28%;
    }
    .m-btn03 {
        top: 33.5%;
        right: 7%;
    }
    .m-btn04 {
        top: 43.4%;
        left: 28%;
    }
    .m-btn05 {
        top: 52.8%;
        right: 7%;
    }
    .pop-blk img {
        width: 80%;
    }
}


@media screen and (max-width: 580px) {
    
}