@charset "UTF-8";
/*
サイト名：
URL：
制作開始日：
制作完了予定：

*/
html {
  font-size: 62.5%;
}

body {
  font-family: "M PLUS 1p", sans-serif;
  color: #555;
}

/*=======================================


	共通


=======================================*/
.flex {
  display: flex;
  align-items: flex-start;
}

.row {
  flex-direction: row-reverse;
}

.ps {
  display: block;
}

.sp {
  display: none;
}

.pc-br {
  display: block;
}

.flex {
  display: flex;
}

video {
  display: block;
}

.object {
  position: absolute;
  z-index: -1;
}

.sns-line {
  background-color: #ff5b7d;
  height: 60px;
  align-items: center;
  padding: 0 24px;
  justify-content: end;
}

.sns-set ul {
  align-items: center;
}
.sns-set ul li {
  margin: 0 16px;
}
.sns-set ul li img {
  display: block;
}
.sns-set ul li.line-button img {
  width: 110px;
}

.top {
  height: 55.8vw;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

.top::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  left: 0;
  top: 0;
  z-index: -1;
}

.top-logo {
  position: absolute;
  left: 1vw;
  top: 1vw;
}

.bg_movie {
  position: absolute;
  background-color: #000;
  width: 100%;
  height: 100%;
  z-index: -1;
  background-image: url("img/zumbatop_bg.jpg");
  background-size: cover;
  display: flex;
  align-items: center;
}
.bg_movie video {
  width: 100%;
  height: 100%;
  margin: 0 auto;
}
.bg_movie::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: url("img/pixelgrid.png") 0px 0px repeat fixed transparent;
  background-size: auto;
  display: none;
}

.top-text {
  height: 100%;
}

.montserrat {
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-size: 120%;
  vertical-align: -5%;
}

/*
    About FIT TIP
----------------------------------*/
.section-1::after {
  padding-top: 35%;
  content: "";
  display: block;
}

.section-1 {
  background-color: #1e1e1e;
  overflow: hidden;
  position: relative;
}
.section-1 h2 {
  color: #ff26ff;
  font-size: 4rem;
  position: relative;
  text-align: center;
  margin: 4vw;
  position: relative;
  z-index: 1;
}
.section-1 h2::before {
  content: "";
  position: absolute;
  bottom: -10px;
  right: 0;
  left: 0;
  margin: 0 auto;
  height: 4px;
  width: 440px;
  background-color: #ff26ff;
}
.section-1 .about-text {
  position: absolute;
  left: 10vw;
  top: 20vw;
  width: 44vw;
  z-index: 1;
  color: #fff;
}
.section-1 .about-text p {
  display: block;
  font-size: 1.6rem;
  font-weight: bold;
  margin-top: 8px;
  line-height: 190%;
}
@media screen and (min-width: 640px) {
  .section-1 .about-text p {
    font-size: 1.6vw;
  }
}
@media screen and (min-width: 1200px) {
  .section-1 .about-text p {
    font-size: 2rem;
  }
}
.section-1 .about-instructor {
  position: absolute;
  width: 67vw;
  top: 7vw;
  right: -10vw;
}

.app-link {
  background-color: #060000;
  border-top: solid 5px #ff26ff;
  border-bottom: solid 5px #ff26ff;
  color: #fff;
  padding: 1vw;
  position: fixed;
  bottom: 0;
  z-index: 10;
  width: 100%;
  display: none;
}
.app-link .flex {
  align-items: center;
}
.app-link .inner {
  justify-content: space-around;
  max-width: 980px;
  margin: 0 auto;
}
.app-link .inner p {
  font-size: 2rem;
  font-weight: 800;
  text-align: left;
}
@media screen and (min-width: 640px) {
  .app-link .inner p {
    font-size: 2.4vw;
  }
}
@media screen and (min-width: 1200px) {
  .app-link .inner p {
    font-size: 3rem;
  }
}
.app-link .inner img {
  display: block;
}
.app-link .inner .link-button-outside {
  margin-right: 8px;
}
.app-link .inner .montserrat {
  color: #ff26ff;
}
.app-link .inner a:first-child {
  margin-right: 8px;
}

/*
    FIT TIP の便利な機能
----------------------------------*/
.section-2::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0.7;
  top: 0;
}

.section-2 {
  background-image: url("../img/iphone-mic.jpg");
  background-position: center;
  overflow: hidden;
  position: relative;
  background-size: cover;
}
.section-2 h2 {
  color: #ff26ff;
  font-size: 4rem;
  position: relative;
  text-align: center;
  margin: 4vw;
  position: relative;
  z-index: 1;
}
.section-2 h2::before {
  content: "";
  position: absolute;
  bottom: -10px;
  right: 0;
  left: 0;
  margin: 0 auto;
  height: 4px;
  width: 480px;
  background-color: #ff26ff;
}
.section-2 .function {
  position: relative;
  z-index: 1;
  max-width: 872px;
  margin: 10vw auto;
  text-align: center;
  padding: 0 16px;
}
.section-2 .function .flex {
  justify-content: space-around;
}
.section-2 .function .flex div {
  max-width: 340px;
  margin: 0 8px 64px;
}
.section-2 .function .flex div p {
  text-align: left;
}
.section-2 .function .flex div h3 {
  font-size: 2.4rem;
  font-weight: bold;
  margin: 16px 0;
}
.section-2 .function .flex .pink {
  color: #ff71ff;
}
.section-2 .function .flex .blue {
  color: #61b4c3;
}

/*
    TIPPER (利用者)の声を
    聞いてください
----------------------------------*/
.tipper-customer {
  position: relative;
  overflow: hidden;
  z-index: 1;
  color: #fff;
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ff7467+0,e96bf8+100 */
  background: #ff7467;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(135deg, #ff7467 0%, #e96bf8 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ff7467", endColorstr="#e96bf8", GradientType=1);
  /* IE6-9 fallback on horizontal gradient */
}
.tipper-customer h3 {
  color: #fff;
  font-size: 4rem;
  position: relative;
  text-align: center;
  margin: 4vw;
  z-index: 2;
}
.tipper-customer ul {
  padding: 0 16px;
  justify-content: space-around;
  margin: 6vw auto;
  flex-wrap: wrap;
  max-width: 906px;
  position: relative;
  z-index: 2;
}
.tipper-customer ul li {
  text-align: center;
  margin: 0 8px 24px;
}
.tipper-customer ul li figure {
  margin-bottom: 24px;
}
.tipper-customer ul li p {
  margin-bottom: 8px;
}
.tipper-customer .object {
  position: absolute;
  width: 15vw;
}
.tipper-customer .object img {
  width: 15vw;
}
.tipper-customer .object-1 {
  left: 3vw;
  bottom: -5vw;
}
.tipper-customer .object-2 {
  right: 10vw;
  bottom: 7vw;
}
.tipper-customer .object-2 img {
  width: 60%;
}
.tipper-customer .object-3 {
  left: 10vw;
  top: 5vw;
}
.tipper-customer .object-3 img {
  width: 60%;
}
.tipper-customer .object-4 {
  right: 6vw;
  top: 4vw;
}

/*
    こんなあなたにオススメ
----------------------------------*/
.title-square {
  max-width: 234px;
  width: 24vw;
}

.section-4 {
  position: relative;
  overflow: hidden;
}
.section-4 h3 {
  position: absolute;
  margin: auto;
  z-index: 2;
  right: 0;
  left: 0;
  text-align: center;
}
.section-4 ul {
  position: relative;
  z-index: 1;
  transform: rotate(5deg) translate3d(0, 0, 0);
}
.section-4 ul li {
  font-size: 3.4vw;
  font-weight: 800;
  color: #fff;
  border-left: solid 8px #fff;
  padding-left: 16px;
  margin-bottom: 3vw;
}
@media screen and (min-width: 640px) {
  .section-4 ul li {
    font-size: 2.4vw;
  }
}
@media screen and (min-width: 1200px) {
  .section-4 ul li {
    font-size: 3rem;
  }
}
.section-4 .osusume {
  background-position: center;
  position: relative;
  overflow: hidden;
  width: 120%;
  margin-left: -3vw;
  margin-top: -10vw;
  transform: rotate(-5deg) translate3d(0, 0, 0);
}
.section-4 .osusume::before {
  content: "";
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  width: 100%;
  background-size: cover;
}
.section-4 .osusume-1 {
  z-index: 1;
  margin-top: -5vw;
}
.section-4 .osusume-1 ul {
  top: 35vw;
  left: 50vw;
}
.section-4 .osusume-1::before {
  background-image: url("../img/osusume-bg1.jpg");
  transform: rotate(5deg) translate3d(0, 0, 0);
}
.section-4 .osusume-1::after {
  padding-top: 45%;
  content: "";
  display: block;
}
.section-4 .osusume-2 {
  z-index: 2;
}
.section-4 .osusume-2 ul {
  top: 20vw;
  left: 15vw;
}
.section-4 .osusume-2::before {
  background-image: url("../img/osusume-bg2.jpg");
  transform: rotate(5deg) translate3d(0, 0, 0);
  top: -4.2vw;
}
.section-4 .osusume-2::after {
  padding-top: 30%;
  content: "";
  display: block;
}
.section-4 .osusume-3 {
  z-index: 3;
}
.section-4 .osusume-3 ul {
  top: 20vw;
  left: 55vw;
}
.section-4 .osusume-3::before {
  background-image: url("../img/osusume-bg3.jpg");
  transform: rotate(5deg) translate3d(0, 0, 0);
  top: -4.2vw;
}
.section-4 .osusume-3::after {
  padding-top: 25%;
  content: "";
  display: block;
}

/*
    FIT TIPの使い方
----------------------------------*/
.section-5 {
  position: relative;
  overflow: hidden;
  background-color: #1e1e1e;
  margin-top: -5vw;
  padding-bottom: 48px;
}
.section-5 h3 {
  margin: auto;
  text-align: center;
}
.section-5 h4 {
  color: #ff26ff;
  font-size: 4rem;
  position: relative;
  text-align: center;
  margin: 4vw;
  font-weight: bold;
  z-index: 1;
}
.section-5 .separation {
  max-width: 1100px;
  margin: 0 auto 6vw;
  padding: 0 16px;
  justify-content: space-between;
}
.section-5 .separation .pc-left {
  width: 55%;
  color: #fff;
}
.section-5 .separation .pc-left h5 {
  font-size: 2.4rem;
  font-weight: 800;
  color: #fff;
  margin-bottom: 3vw;
  border-bottom: solid 6px #ff26ff;
  display: inline-block;
  padding-bottom: 8px;
}
.section-5 .separation .pc-left h5 span {
  display: block;
  font-size: 1.6rem;
  font-weight: bold;
  margin-top: 8px;
}
@media screen and (min-width: 640px) {
  .section-5 .separation .pc-left h5 span {
    font-size: 2vw;
  }
}
@media screen and (min-width: 1200px) {
  .section-5 .separation .pc-left h5 span {
    font-size: 2.8rem;
  }
}
@media screen and (min-width: 640px) {
  .section-5 .separation .pc-left h5 {
    font-size: 3.2vw;
  }
}
@media screen and (min-width: 1200px) {
  .section-5 .separation .pc-left h5 {
    font-size: 4rem;
  }
}
.section-5 .separation .pc-left .item {
  justify-content: space-between;
  margin-bottom: 12vw;
  align-items: center;
}
.section-5 .separation .pc-left .item p {
  display: block;
  font-size: 1.6rem;
  margin-top: 8px;
  line-height: 190%;
}
@media screen and (min-width: 640px) {
  .section-5 .separation .pc-left .item p {
    font-size: 2.4vw;
  }
}
@media screen and (min-width: 1200px) {
  .section-5 .separation .pc-left .item p {
    font-size: 2.4rem;
  }
}
.section-5 .separation .use-pc {
  width: 45%;
  padding: 0 16px;
}
.section-5 p {
  display: block;
  color: #fff;
  font-size: 1.6rem;
  margin: 0 auto;
  line-height: 190%;
  max-width: 1100px;
  padding: 0 16px;
}
.section-5 .object {
  position: absolute;
  width: 15vw;
  z-index: 1;
}
.section-5 .object img {
  width: 15vw;
}
.section-5 .object-3 {
  left: 10vw;
  top: 5vw;
}
.section-5 .object-3 img {
  width: 60%;
}
.section-5 .object-4 {
  right: 3vw;
  top: 7vw;
}

/*スマートフォンイメージの切り替え*/
@media screen and (max-width: 640px) {
  .section-5 .separation .pc-left {
    width: 100%;
  }
  .section-5 .separation .sp-separation {
    justify-content: space-between;
  }
  .section-5 .separation .use-sp {
    display: block;
  }
  .section-5 .separation .use-pc {
    display: none;
  }
}
/*
    FIT TIPの使い方
----------------------------------*/
.section-6 {
  position: relative;
  overflow: hidden;
  background-color: #ff6dc8;
  padding-bottom: 48px;
}
.section-6 h3 {
  margin: auto;
  text-align: center;
}
.section-6 h4 {
  color: #6c6c6d;
  font-size: 4rem;
  position: relative;
  text-align: center;
  margin: 4vw;
  font-weight: bold;
  z-index: 1;
}
.section-6 .item {
  max-width: 1100px;
  margin: 0 auto 6vw;
  padding: 0 16px;
  justify-content: space-between;
  align-items: center;
  color: white;
}
.section-6 .item .left-area .glay {
  padding-left: 0;
  color: #6c6c6d;
}
.section-6 .item h5 {
  font-size: 2.8rem;
  font-weight: 800;
  color: #fff;
  margin-bottom: 3vw;
  border-bottom: solid 6px #6c6c6d;
  display: inline-block;
  padding-bottom: 8px;
}
@media screen and (min-width: 640px) {
  .section-6 .item h5 {
    font-size: 3.2vw;
  }
}
@media screen and (min-width: 1200px) {
  .section-6 .item h5 {
    font-size: 4rem;
  }
}
.section-6 .item p {
  display: block;
  font-size: 1.6rem;
  margin-top: 8px;
  line-height: 190%;
}
@media screen and (min-width: 640px) {
  .section-6 .item p {
    font-size: 2.4vw;
  }
}
@media screen and (min-width: 1200px) {
  .section-6 .item p {
    font-size: 2.4rem;
  }
}
.section-6 .item span {
  display: block;
  font-size: 1.6rem;
  margin-top: 8px;
  position: relative;
  padding-left: 20px;
  max-width: 540px;
}
.section-6 .item span .kome {
  position: absolute;
  left: 0;
  padding: 0;
  margin: 0;
}
@media screen and (min-width: 640px) {
  .section-6 .item span {
    font-size: 1.6vw;
  }
}
@media screen and (min-width: 1200px) {
  .section-6 .item span {
    font-size: 1.6rem;
  }
}
.section-6 .object {
  position: absolute;
  width: 15vw;
  z-index: 1;
}
.section-6 .object-3 {
  left: 10vw;
  top: 5vw;
}
.section-6 .object-3 img {
  width: 60%;
}
.section-6 .object-4 {
  right: 3vw;
  top: 7vw;
}

/*
    質問はありますか？
----------------------------------*/
.section-7 {
  position: relative;
  overflow: hidden;
  padding-bottom: 48px;
  color: #fff;
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ff7467+0,e96bf8+100 */
  background: #ff7467;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(135deg, #ff7467 0%, #e96bf8 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ff7467", endColorstr="#e96bf8", GradientType=1);
  /* IE6-9 fallback on horizontal gradient */
}
.section-7 h3 {
  margin: auto;
  text-align: center;
}
.section-7 .question-list {
  max-width: 1040px;
  margin: 7vw auto;
  padding: 0 16px;
}
.section-7 .question-list .item {
  margin-bottom: 4vw;
}
.section-7 .question-list .item p {
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
  margin-top: 8px;
  position: relative;
  padding-left: 6vw;
  margin-bottom: 40px;
}
.section-7 .question-list .item p img {
  position: absolute;
  left: 0;
  margin: auto;
  top: 0;
  max-width: 46px;
  min-width: 20px;
  width: 4vw;
}
.section-7 .question-list .item p .kome {
  position: absolute;
  left: 0;
  padding: 0;
  margin: 0;
}
@media screen and (min-width: 640px) {
  .section-7 .question-list .item p {
    font-size: 2vw;
  }
}
@media screen and (min-width: 1200px) {
  .section-7 .question-list .item p {
    font-size: 2.4rem;
  }
}

/*
   最新ニュースのメルマガ登録フォーム
----------------------------------*/
.section-8 {
  background-color: #1e1e1e;
  color: #fff;
  text-align: center;
  padding-bottom: 5vw;
  position: relative;
  padding: 0 2vw 4vw;
  overflow: hidden;
}
.section-8 h3 {
  font-size: 2rem;
  font-weight: 800;
  color: #fff;
  padding: 2.5vw;
  display: inline-block;
}
@media screen and (min-width: 640px) {
  .section-8 h3 {
    font-size: 3.2vw;
  }
}
@media screen and (min-width: 1200px) {
  .section-8 h3 {
    font-size: 3rem;
  }
}
.section-8 .sendmail-form > span {
  font-size: 1.8rem;
  display: block;
  margin: 2vw 0;
}
.section-8 .sendmail-form ul {
  max-width: 860px;
  margin: 0 auto;
  justify-content: space-between;
  flex-wrap: wrap;
}
.section-8 .sendmail-form ul li {
  width: 50%;
  padding: 0.5vw;
  box-sizing: border-box;
}
.section-8 .sendmail-form ul li input {
  display: block;
  padding: 0 16px;
  width: 100%;
  box-sizing: border-box;
  border-radius: 6px;
  border: solid 3px #fff;
  height: 50px;
}
.section-8 .sendmail-form ul li button {
  display: block;
  background-color: #1e1e1e;
  color: #fff;
  padding: 0 16px;
  width: 100%;
  box-sizing: border-box;
  border-radius: 6px;
  border: solid 3px #fff;
  height: 50px;
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 5px;
}
.section-8 .sendmail-form ul li button:focus,
.section-8 .sendmail-form ul li button:hover {
  background-color: #fff;
  color: #032b2e;
  cursor: pointer;
  cursor: hand;
}
.section-8 .agree {
  margin: auto;
  text-align: center;
}

.sns-line.bottom {
  border-bottom: solid 5px #ffcc00;
}

.section-8 .sendmail-form ul {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 16px;
}
.section-8 .sendmail-form ul li {
  width: calc(50% - 8px);
}
.section-8 .sendmail-form ul li:has(label.agree) {
  width: 100%;
}
.section-8 .sendmail-form ul li.agree-item {
  width: 100%;
}
.section-8 .sendmail-form input[type=text],
.section-8 .sendmail-form input[type=email] {
  height: 56px;
  padding: 0 16px;
  border-radius: 8px;
  border: 2px solid #fff;
  background: #1e1e1e;
  color: #fff;
  font-size: 1.6rem;
  width: 100%;
  box-sizing: border-box;
}
.section-8 .sendmail-form label.agree {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 1.6rem;
  color: #ddd;
  cursor: pointer;
}
.section-8 .sendmail-form label.agree input[type=checkbox] {
  width: 22px;
  height: 22px;
  accent-color: #ff26ff;
  border-radius: 4px;
}
.section-8 .sendmail-form label.agree:has(input:checked) {
  color: #ff26ff;
}
.section-8 .sendmail-form ul li button[type=submit] {
  background: linear-gradient(135deg, #ff26ff 0%, #61b4c3 100%);
  border: none;
  color: #fff;
  font-weight: 800;
  letter-spacing: 0.2em;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
  transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease, opacity 0.15s;
}
.section-8 .sendmail-form ul li button[type=submit]:hover,
.section-8 .sendmail-form ul li button[type=submit]:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45);
  outline: 3px solid #fff;
  outline-offset: 2px;
}
.section-8 .sendmail-form:has(input[name=agree]:not(:checked)) ul li button[type=submit] {
  opacity: 0.45;
  pointer-events: none;
  filter: grayscale(30%);
}
@media (max-width: 640px) {
  .section-8 .sendmail-form ul li {
    width: 100%;
  }
  .section-8 .sendmail-form ul {
    gap: 10px;
  }
}/*# sourceMappingURL=style.css.map */