* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

@font-face {
  font-family: "font-face1";
  src: url(../assets/fonts/Abril_Fatface/AbrilFatface-Regular.ttf);
}

@font-face {
  font-family: "font-face2";
  src: url(../assets/fonts/Anton/Anton-Regular.ttf);
}

@font-face {
  font-family: "noto-sans";
  src: url(../assets/fonts/Noto_Sans_JP/NotoSansJP-VariableFont_wght.ttf);
}


@media(min-width:1200px) {
  p {
    font-size: 18px;
  }

  .back-logo {
    font-size: 80px;
  }

  .h2-heading {
    margin-bottom: 100px;
  }

  .wp-block-video video {
    height: 700px;
  }

  header {
    height: 9vh;
    justify-content: space-between;
    padding-left: 50px;

    a {
      width: 200px;
    }

    ul {
      width: 6vw;
    }
  }

  .ham-content {
    width: 30%;

    .ham-nav {
      li {
        a {
          position: relative;
          display: inline-block;
          width: 136px;

          &:before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            display: block;
            width: 100%;
            height: 100%;
            opacity: 0;
            transition-duration: 0.3s;
            box-shadow: 1px 1px 10px #fff, -1px -1px 10px #fff;
          }

          &:hover {
            &::before {
              opacity: 1;
              box-shadow: 1px 1px 0px #fff, -1px -1px 0px #fff;
            }
          }
        }
      }
    }

    .ham-img {
      width: 25%;
      bottom: 15%;
    }
  }

  .top-top-wrapper {
    height: 80vh;
    background-size: 80%;
    background-position: 100% 30%;

    .top-top-text {
      bottom: 60px;
      padding-left: 70px;
      padding-right: 200px;

      h1 {
        font-size: 34px;
      }

      h2 {
        font-size: 20px;
        margin-left: 40px;
      }

      dl {
        padding-top: 20px;
        padding-left: 20px;
      }
    }
  }

  .top-news {
    dl {
      margin-left: 200px;

      dt {
        font-size: 16px;
        width: 150px;
      }

      dd {
        line-height: 110%;
        font-size: 18px;

        a {
          font-size: 14px;
        }
      }
    }
  }

  .top-concept {
    .concept-text {
      h2 {
        font-size: 26px;

        span {
          font-size: 30px;
        }
      }

      ul {
        margin-bottom: 28px;
      }

      p {
        width: 60%;
      }
    }

    .beginner-banner {
      gap: 20px;

      a {
        width: 25vw;
        height: 13vw;

        &:hover {
          opacity: 0.8;
        }
      }
    }

    .under30-banner {
      width: 50%;
      margin: 50px 25%;
    }
  }

  .top-features {
    padding-right: 15px;

    .features-content {
      padding-left: 100px;
      display: flex;
      justify-content: center;
      gap: 50px;
      align-items: center;
      margin-bottom: 200px;

      .features-img {
        height: 400px;
        width: 600px;

        h3 {
          display: none;
        }
      }

      .features-text {
        width: 450px;

        h3 {
          display: block;
          padding-left: 20px;
          font-size: 30px;
          font-family: serif;
          margin-bottom: 30px;
        }

        p {
          margin: 0;
          width: 100%;
        }

        a {
          height: 60px;
        }
      }
    }

    .features-odd {
      img {
        box-shadow: 10px 10px var(--red);
      }
    }

    .features-even {
      flex-direction: row-reverse;

      img {
        box-shadow: -10px 10px var(--red);
      }

      .features-img {
        height: 400px;
        width: 600px;
        margin-left: 0;
      }
    }
  }

  .top-beginner {
    p {
      width: 70%;
    }

    .swiper {
      .swiper-wrapper {
        .swiper-slide {
          height: 400px;
        }
      }
    }
  }

  .top-trainer {
    .trainer-flex {
      display: flex;
      align-items: center;
      justify-content: center;
      margin-left: 100px;

      div {
        width: 50%;

        p {
          width: 90%;
        }
      }

      img {
        width: 45%;
        height: 500px;
        box-shadow: -10px 10px var(--red);
      }
    }
  }

  .top-info {
    .info-img {
      img {
        width: 40%;
      }
    }

    .info-flex {
      display: flex;
      justify-content: center;
      align-items: center;

      ul {
        width: 40%;
      }

      .ggmap {
        width: 40%;
      }
    }
  }

  .top-contact {
    .h2-heading {
      margin-bottom: 30px;
    }

    p {
      margin-bottom: 40px;
    }
  }



  /* trainerページ */
  .back-right {
    left: 91%;
  }

  .page-top-wrapper {
    height: 80vh;

    &::before {
      background: linear-gradient(to right, var(--black) 25%, transparent);
    }

    img {
      width: 75%;
    }

    .top-top-text {
      bottom: 80px;
      padding: 30px 250px 30px 55px;

      h1 {
        font-size: 30px;
      }
    }
  }

  .trainer-wrapper {
    .trainer-content {
      margin-top: 200px;

      .trainer-flex {
        display: flex;
        padding-bottom: 0;

        img {
          width: 50%;
          height: 90vh;
        }
      }

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

      .swiper {
        .swiper-wrapper {
          .swiper-slide {
            height: 300px;
          }
        }
      }
    }
  }


  /* newsページ */
  .news-wrapper {
    .news-contents {
      padding: 0 15%;
      gap: 20px;

      .news-content {
        width: 30%;
        margin-bottom: 20px;

        &:hover {
          .img-content {
            img {
              transform: scale(1.05);
            }
          }

          h3 {
            opacity: 0.7;
          }
        }

        .img-content {
          overflow: hidden;
          width: 90%;

          img {
            transition: all 0.3s;
            height: 200px;
          }
        }

        span {
          font-size: 13px;
        }

        h3 {
          width: 90%;
          transition: all 0.3s;
        }
      }
    }
  }

  /* newページ */
  .new-wrapper {
    margin: 100px auto;
    width: 60%;

    h2 {
      font-size: 30px;
    }

    p {
      font-size: 18px;
      margin: 20px auto;
    }

    h3 {
      font-size: 24px;
    }

    img {
      box-shadow: 15px 8px var(--red);
      margin-top: 70px;
    }
  }


  /* machineページ */
  .machine-wrapper {
    padding: 100px 0;

    .main-machine {
      margin-bottom: 100px;

      .machine-text {
        h2 {
          font-size: 26px;
        }

        p {
          font-size: 16px;
        }
      }
    }

    .sub-machine-wrapper {
      flex-wrap: nowrap;
      gap: 25px;
      padding: 50px 10px 0;

      .sub-machine {
        .machine-text {
          h3 {
            font-size: 18px;
            margin-left: 20px;
          }

          p {
            font-size: 14px;
          }
        }
      }
    }
  }

  .facility {
    width: 85%;
  }

  /* priceページ */
  .price-wrapper {
    .price-content {
      width: 70%;
      margin-bottom: 100px;

      h2 {
        padding: 10px 20px;
      }

      a {
        width: 300px;
      }
    }
  }

  .price-another {
    width: 60%;

    .another-content {
      margin-bottom: 100px;
    }
  }

  /* trialページ */
  .trial-img-flex {
    .trial-img-wrapper {
      width: 45%;
    }
  }

  .trial-flow {
    .flow-content {
      width: 80%;
      padding: 40px 0;
      box-shadow: -10px 10px var(--red);

      span {
        font-size: 50px;
      }

      img {
        height: 300px;
      }

      .flow-text {
        h3 {
          font-size: 30px;
          padding-bottom: 15px;
          margin-bottom: 30px;
        }

        p {
          font-size: 16px;
        }
      }
    }
  }

  /* mildページ */
  .mild-top {
    div {
      width: 40%;

      p {
        font-size: 18px;
      }
    }
  }

  .mild-menu {
    .menu-imgs {
      .menu-img {
        width: 400px;
        height: 300px;
        margin: 0 0 50px;

        .menu-text {
          top: 70%;

          h3 {
            font-size: 22px;
          }

          span {
            font-size: 14px;
          }
        }
      }
    }
  }

  .mild-aroma {
    .aroma-wrapper {
      gap: 50px;

      .aroma-content {
        width: 35%;

        div {
          width: 70%;
        }
      }
    }
  }

  .mild-contact {
    &::before {
      background-position: center 60%;
    }
  }

  /* mild-menuページ */
  .mild-menu-wrapper {
    width: 40%;

    .menu-content {
      h2 {
        padding: 80px 0 20px;
      }

      .menu-h3 {
        width: 85%;
        margin-bottom: 50px;
      }

      .menu-box {
        .mild-price {
          margin-left: 30px;
        }
      }
    }
  }

  /* contactページ */
  .contact-text {
    width: 60%;
  }

  .contact-nav {
    gap: 250px;
    margin-top: 50px;

    .contact-nav-center {
      &::before {
        width: 220px;
        left: -235px;
      }

      &::after {
        width: 220px;
        right: -235px;
      }
    }
  }

  .contact-wrapper {
    width: 85%;

    .contact-content {
      p {
        margin-bottom: 10px;
        font-size: 15px;
      }

      dl {
        display: flex;

        dt {
          width: 18%;
          font-size: 16px;
        }

        .required {
          &::before {
            left: -60px;
          }
        }

        dd {
          width: 70%;
        }

        .time-wrapper {
          flex-direction: row;
          gap: 60px;
          margin-left: 30px;

          .time-content {
            font-size: 15px;
          }
        }
      }
    }
  }

  /* confirmページ */
  .confirm-wrapper {
    width: 85%;

    .confirm-content {
      dl {
        display: flex;
        align-items: center;

        dt {
          width: 18%;
          font-size: 18px;
        }

        dd {
          width: 70%;
          padding-left: 40px;
          font-size: 18px;
        }
      }
    }
  }

  /* privacyページ */
  .privacy-wrapper {
    width: 80%;
    padding: 50px 10%;
  }
}

@media(min-width:1500px) {
  .back-logo {
    font-size: 80px;
    bottom: 20px;
  }

  .ham-content {
    .sns {
      bottom: 60px;
    }
  }

  .top-top-wrapper {
    height: 85vh;

    .top-top-text {
      padding: 80px 300px 40px 100px;

      h1 {
        font-size: 40px;
        letter-spacing: 6px;
      }

      h2 {
        font-size: 24px;
        margin-left: 40px;
      }

      dl {
        font-size: 14px;

        dd {
          margin-left: 30px;
        }
      }
    }
  }

  .top-concept {
    .concept-text {
      p {
        text-align: center;
      }
    }

    .beginner-banner {
      gap: 20px;

      a {
        width: 20vw;
        height: 10vw;
      }
    }

    .under30-banner {
      width: 42%;
      margin: 50px 29%;
    }
  }

  .top-features {
    .features-content {
      justify-content: left;
      margin-left: 100px;
    }

    .features-even {
      justify-content: right;
      margin-right: 100px;
    }
  }

  .top-beginner {
    p {
      width: 50%;
    }
  }

  .top-trainer {
    .trainer-flex {
      justify-content: end;

      div {
        width: 600px;

        p {
          width: 90%;
        }
      }

      img {
        width: 50%;
        height: 80vh;
      }
    }
  }

  /* trainerページ */
  .trainer-wrapper {
    .trainer-content {
      .trainer-flex {
        img {
          height: 75vh;
        }
      }
    }
  }

  /* machineページ */
  .machine-wrapper {
    .main-machine {
      img {
        width: 30%;
      }

      .machine-text {
        width: 35%;

        p {
          font-size: 18px;
        }
      }
    }
  }

  .facility {
    width: 80%;

    .facility-wrapper {
      .facility-content {
        width: 29%;
      }
    }
  }

  /* trialページ */
  .trial-img-flex {
    .trial-img-wrapper {
      width: 30%;

    }
  }

  .trial-text {
    width: 60%;
  }

  .trial-flow {
    .flow-content {
      width: 60%;
      margin-bottom: 80px;

      .flow-text {
        h3 {
          padding-left: 30px;
        }
      }
    }
  }

  /* mildページ */
  .mild-top {
    img {
      width: 40%;
      height: 600px;
    }

    div {
      width: 35%;

      h3 {
        font-size: 35px;
      }

      p {
        font-size: 18px;
      }
    }
  }

  .mild-aroma {
    .aroma-wrapper {
      gap: 50px;

      .aroma-content {
        width: 27%;

        div {
          width: 70%;
        }
      }
    }
  }

  .mild-contact {
    &::before {
      background-position: center 50%;
    }
  }

  /* contactページ */
  .contact-wrapper {
    width: 70%;

    .contact-content {
      p {
        margin-bottom: 10px;
        font-size: 16px;
      }

      dl {
        display: flex;
        align-items: center;

        dt {
          width: 20%;
        }

        dd {
          width: 70%;
        }

        .time-wrapper {
          .time-content {
            input {
              width: 30px;
              height: 30px;
            }
          }
        }
      }
    }
  }
}