html,body {
  scroll-behavior: smooth;
}

.main_container {
  max-width: 460px;
  margin: 0 auto;
  width: 100%;
}

.mv {
  position: relative;
}

.mv_btn {
  position: absolute;
  right: 0;
  left: 0;
  margin: auto;
  transition: .2s;
  width: 90%;
}

.mv_btn img {
  position: relative;
  opacity: 1;
  transition: .2s;
  z-index: 2;
}

.mv_btn:hover img {
  opacity: .6;
}

.mv_btn::after {
  background-color: #fff;
  border-radius: 50px;
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
  height: 92%;
  width: 98%;
  z-index: 0;
}

.mv_btn01 {
  bottom: 14.5%;
}

.mv_btn02 {
  bottom: 4%;
}

.btn_hover {
  opacity: 1;
  transition: .2s;
}

.btn_hover:hover {
  opacity: .7;
}

.cta_introduce {
  background-color: #fff;
  padding: 0 0 13%;
}

.cta_introduce_head {
  margin: 0 0 17%;
}

.cta_introduce_img {
  margin: 0 auto;
  width: 86%;
}

.cta_plan {
  background-image: url("../img/cta_plan_bg.jpg");
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center top;
  padding: 10.392% 0 8.392%;
}

.cta_plan_title {
  margin: 0 auto 8%;
  width: 74%;
}

.cta_plan_item {
  background-image: url("../img/cta_plan_item_bg.png");
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center top;
  padding: 13.264% 0 14.828%;
  width: 92%;
  margin: 0 auto;
}

.cta_plan_item_inner {
  margin: 0 auto;
  width: 88%;
}

.cta_plan_item_head {
  margin: 0 0 10%;
}

.cta_plan_item_head {
  margin: 0 0 10%;
}

.cta_plan_item_btn_head {
  margin: 0 0 4%;
}

.cta_plan_item_price {
  margin: 0 0 10%;
}

.cta_plan_item_btn01 {
  display: block;
  margin: 0 0 4%;
}

.cta_plan_item_btn02 {
  display: block;
}

.cta_plan_caption {
  color: #fff;
  font-size: 12.26666666666667px;
  font-weight: 400;
  line-height: 1.4em;
  text-align: justify;
  margin: 0 auto;
  width: 90%;
}

.facility {
  background-color: #eee;
  padding: 20% 0 14%;
}

.facility_head {
  margin: 0 auto 4%;
  width: 94%;
}

.facility_text {
  color: #1b1b1b;
  font-size: 22.08px;
  font-feature-settings: "palt";
  line-height: 1.6em;
  text-align: justify;
  margin: 0 auto 12%;
  width: 90%;
}

.facility_gym {
  margin: 0 auto 16%;
  width: 90%;
}

.facility_gym_head {
  margin: 0 auto 8%;
  width: 62%;
}

.facility_gym_items > div:not(:last-of-type) {
  margin: 0 0 10%;
}

.facility_gym_item {
  background-color: #fff;
  border-radius: 50px;
  box-shadow: 0 0 10px rgb(0 0 0 / .1);
  padding: 10% 0 0;
}

.facility_gym_item_head {
  color: #1b1b1b;
  font-size: 22.08px;
  font-weight: bold;
  margin: 0 auto 2%;
  width: 90%;
}

.facility_gym_item_head span {
  background-color: rgb(248 84 84 / .3);
  padding: 0 6px 2px;
}

.facility_gym_item_text {
  color: #1b1b1b;
  font-feature-settings: "palt";
  font-size: 19.62666666666667px;
  font-weight: 400;
  margin: 0 auto 6%;
  text-align: justify;
  width: 90%;
}

.facility_spa {
  margin: 0 auto;
  width: 90%;
}

.facility_spa_head {
  margin: 0 auto 8%;
  width: 62%;
}

.facility_spa_items > div:not(:last-of-type) {
  margin: 0 0 10%;
}

.facility_spa_item {
  background-color: #fff;
  border-radius: 50px;
  box-shadow: 0 0 10px rgb(0 0 0 / .1);
  padding: 10% 0 0;
}

.facility_spa_item_head {
  color: #1b1b1b;
  font-size: 22.08px;
  font-weight: bold;
  margin: 0 auto 2%;
  width: 90%;
}

.facility_spa_item_head span {
  background-color: rgb(158 197 238 / .3);
  padding: 0 6px 2px;
}

.facility_spa_item_text {
  color: #1b1b1b;
  font-feature-settings: "palt";
  font-size: 19.62666666666667px;
  font-weight: 400;
  margin: 0 auto 6%;
  text-align: justify;
  width: 90%;
}

.facility_spa_item_text span {
  display: block;
  font-size: .6em;
  line-height: 1.8em;
  margin: 4px 0 0;
}

.column {
  background-image: url("../img/column_bg_new.png");
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center top;
  padding: 28% 0 14.6%;
  margin: -1.8% 0 0;
}

.column_inner {
  margin: 0 auto;
  width: 84%;
}

.column_title {
  margin: 0 0 10%;
}

.column_items {
  margin: 0 0 12%;
}

.column_item_title01 {
  margin: 0 0 4%;
  width: 86%;
}

.column_item_text {
  color: #1b1b1b;
  font-size: 18.4px;
  font-feature-settings: "palt";
  line-height: 1.8em;
  text-align: justify;
}

.column_items > div:not(:last-of-type) {
  margin: 0 0 14%;
}

.column_item_title02 {
  margin: 0 0 4%;
  width: 54%;
}

.column_list {
  padding: 0 4% 0 6%;
  margin: 0 0 6%;
}

.column_introduce_title {
  margin: 0 auto 6%;
  width: 94%;
}

.column_introduce_text {
  color: #1b1b1b;
  font-size: 18.4px;
  line-height: 1.8em;
  text-align: justify;
}

.column_introduce_text span {
  background-color: #fff;
  padding: 0 2px 0px;
}

.support {
  background-color: #eee;
  padding: 16% 0 14%;
}

.support_inner {
  margin: 0 auto;
  width: 90%;
}

.support_title {
  margin: 0 0 8%;
  width: 100%;
}

.support_items > div:not(:last-of-type) {
  margin: 0 0 10%;
}

.support_item {
  background-color: #fff;
  border-radius: 50px;
  box-shadow: 0 0 10px rgb(0 0 0 / .1);
  padding: 10% 0 0;
}

.support_item_title {
  color: #1b1b1b;
  font-feature-settings: "palt";
  font-size: 22.08px;
  font-weight: bold;
  margin: 0 auto 2%;
  width: 90%;
}

.support_item_title span {
  background-color: rgb(250 160 245 / .3);
  padding: 0 6px 2px;
}

.support_item_text {
  color: #1b1b1b;
  font-feature-settings: "palt";
  font-size: 19.62666666666667px;
  font-weight: 400;
  margin: 0 auto 6%;
  text-align: justify;
  width: 90%;
}

.support_item_text span {
  display: block;
  font-size: .6em;
  line-height: 1.8em;
  margin: 4px 0 0;
}

.plan {
  background-image: url("../img/plan_bg.jpg");
  background-size: 100%;
  background-repeat: repeat-y;
  background-position: center top;
  padding: 13% 0 12%;
  position: relative;
}

.plan::after {
  background-image: url("../img/plan_bg_up.jpg");
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
  height: 276px;
  width: 460px;
}

.plan_inner {
  position: relative;
  margin: 0 auto;
  width: 90%;
  z-index: 10;
}

.plan_title {
  margin: 0 auto 8%;
  width: 82%;
}

.plan_items {
  background-color: #fff;
  border: 3.68px solid #354756;
  box-shadow: 4px 4px 0 #354756;
  padding: 8% 4%;
}

.plan_items > div:not(:last-of-type) {
  border-bottom: 1px solid #354756;
  padding: 0 0 6%;
  margin: 0 0 6%;
}

.plan_item_tag {
  color: #fff;
  font-feature-settings: "palt";
  font-size: 19.62666666666667px;
  font-weight: 500;
  margin: 0 0 2%;
}

.plan_item_tag span {
  background-color: #354756;
  padding: 1px 6px 4px;
  box-sizing: border-box;
}

.plan_item_title {
  color: #1b1b1b;
  font-feature-settings: "palt";
  font-size: 22.08px;
  font-weight: bold;
  line-height: 1.4em;
  margin: 0 0 1.4%;
}

.plan_item_text {
  color: #1b1b1b;
  font-size: 19.62666666666667px;
  font-weight: 500;
  line-height: 1.8em;
}

.plan_item_text span {
  background:linear-gradient(transparent 66%, #c6d7e4 66%);
  color: #1b1b1b;
  font-size: 22.08px;
  font-weight: 900;
}

.plan_item_caption {
  color: #1b1b1b;
  font-size: 12.26666666666667px;
  text-align: justify;
  word-break: break-all;
}

.fadeIn {
  transform: translateY(20px);
  opacity: 0;
  visibility: hidden;
  transition: 0.8s;
}

.fadeIn.active {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
}

@keyframes zoomInAnime {
  0% {
    transform: scale(0.6);
    opacity: 0;
  }
  30% {
    transform: scale(0.6);
    opacity: 0;
  }
  55% {
    transform: scale(1.1);
    opacity: 1;
  }
  73% {
    transform: scale(1);
  }
}

@keyframes UpAnime {
  from {
    opacity: 0;
    transform: translateY(130px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes DownAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 1;
    transform: translateY(130px);
  }
}

@keyframes floating-y {
  0% {
    transform: translateY(-4px);
  }
  100% {
    transform: translateY(4px);
  }
}

@media screen and (max-width: 460px) {
  .main_container {
    max-width: 100%;
  }

  .cta_plan {
    padding: 9.392% 0 8.392%;
  }
  
  .cta_plan_caption {
    font-size: 2.667vw;
  }
  
  .facility_text {
    font-size: 4.8vw;
  }
  
  .facility_gym_item {
    border-radius: 10.87vw;
    box-shadow: 0 0 2.174vw rgb(0 0 0 / .1);
  }
  
  .facility_gym_item_head {
    font-size: 4.8vw;
  }
  
  .facility_gym_item_head span {
    padding: 0 1.304vw 0.435vw;
  }
  
  .facility_gym_item_text {
    font-size: 4.267vw;
  }
  
  .facility_spa_item {
    border-radius: 10.87vw;
    box-shadow: 0 0 2.174vw rgb(0 0 0 / .1);
  }
  
  .facility_spa_item_head {
    font-size: 4.8vw;
  }
  
  .facility_spa_item_head span {
    padding: 0 1.304vw 0.435vw;
  }
  
  .facility_spa_item_text {
    font-size: 4.267vw;
  }
  
  .facility_spa_item_text span {
    margin: 0.87vw 0 0;
  }

  .column {
    padding: 28% 0 14.6%;
  }

  .column_items {
    margin: 0 0 8%;
  }

  .column_items > div:not(:last-of-type) {
    margin: 0 0 14%;
  }
  
  .column_item_text {
    font-size: 4vw;
  }
  
  .column_introduce_text {
    font-size: 4vw;
  }
  
  .column_introduce_text span {
    padding: 0 0.435vw 0;
  }
  
  .support_item {
    border-radius: 10.87vw;
    box-shadow: 0 0 2.174vw rgb(0 0 0 / .1);
  }
  
  .support_item_title {
    font-size: 4.8vw;
  }
  
  .support_item_title span {
    padding: 0 1.304vw 0.435vw;
  }
  
  .support_item_text {
    font-size: 4.267vw;
  }
  
  .support_item_text span {
    margin: 0.87vw 0 0;
  }
  
  .plan {
    padding: 13% 0 12%;
  }
  
  .plan::after {
    height: 60vw;
    width: 100vw;
  }
  
  .plan_items {
    border: .8vw solid #354756;
    box-shadow: .87vw .87vw 0 #354756;
  }
  
  .plan_item_tag {
    font-size: 4.267vw;
  }
  
  .plan_item_tag span {
    padding: 0.217vw 1.304vw 0.87vw;
  }
  
  .plan_item_title {
    font-size: 4.8vw;
  }
  
  .plan_item_text {
    font-size: 4.267vw;
  }
  
  .plan_item_text span {
    font-size: 4.8vw;
  }
  
  .plan_item_caption {
    font-size: 2.667vw;
  }
}
