body {
  &.active {
    height: 100%;
    overflow: hidden;
  }

  header {
    width: 100%;
    background-image: url("../assets/images/header-background.webp");
    background-size: cover;
    .main-text {
      h1 {
        font-family: "mplus-extrabold";
        position: relative;
        color: #46a173;
        &:before {
          content: "健美道今里院";
          -webkit-text-stroke: 0;
          position: absolute;
        }
      }
      .tel-address {
        a {
          display: flex;
          justify-content: center;
          img {
            object-fit: contain;
          }
          span {
            position: relative;
            font-family: "mplus-extrabold";
            color: #46a173;
            &:before {
              top: 0;
              content: "06-6974-1300";
              -webkit-text-stroke: 0;
              position: absolute;
            }
          }
        }
        address {
          font-family: "mplus-medium";
          font-style: normal;
          letter-spacing: 0.1108em;
          color: #46a173;
          -webkit-text-stroke: 3px #fff;
          white-space: nowrap;
          span {
            position: relative;
            &:before {
              top: 0;
              content: "〒537-0014 大阪市東成区大今里西2-16-15コーポ1F";
              -webkit-text-stroke: 0;
              position: absolute;
            }
          }
        }
      }
      p {
        font-family: "mplus-medium";
        letter-spacing: 0.0608em;
        color: #46a173;
        -webkit-text-stroke: 3px #fff;
        white-space: nowrap;
        span {
          display: block;
          position: relative;
          &:nth-of-type(1) {
            &:before {
              top: 0;
              content: "大阪メトロ今里筋線今里駅";
              -webkit-text-stroke: 0;
              position: absolute;
            }
          }
          &:nth-of-type(2) {
            &:before {
              top: 0;
              content: "から徒歩3分";
              -webkit-text-stroke: 0;
              position: absolute;
            }
          }
        }
      }
    }
    .nav-wrapper {
      nav {
        font-family: "mplus-regular";
        background-color: #46a173;
        white-space: nowrap;
        a {
          color: #fff;
          font-weight: 400;
          font-size: 1rem;
          letter-spacing: 0.1108em;
          position: relative;
          &::before {
            content: "";
            position: absolute;
            top: 40%;
            left: -10px;
            width: 4px;
            height: 4px;
            background-color: white;
            border-radius: 50%;
            transition: all 0.3s;
          }
          &::after {
            content: "";
            position: absolute;
            top: 100%;
            left: -10%;
            width: 0px;
            height: 2px;
            background-color: white;
            transition: all 0.5s;
          }
          &:hover {
            &::before {
              top: 115%;
              opacity: 0;
            }
            &::after {
              width: 120%;
            }
          }
        }
      }
    }
  }
  .hmbg-btn {
    width: 50px;
    height: 50px;
    border: none;
    background-color: transparent;
    position: fixed;
    top: clamp(10px, 7px + 3vw, 20px);
    right: 12%;
    z-index: 5;
    color: #46a173;
    span {
      transition: all 0.3s;
      position: absolute;
      background-color: #46a173;
      border: 1px solid #fff;
      height: 5px;
      width: 30px;
      left: 10px;
      transition: all 0.3s;
    }
    span:nth-of-type(1) {
      top: 10px;
    }
    span:nth-of-type(2) {
      top: 22px;
    }
    span:nth-of-type(3) {
      top: 34px;
    }
    &.active {
      width: 50px;
      height: 40px;
      border: none;
      background-color: #fff;
      position: fixed;
      top: clamp(10px, 7px + 3vw, 20px);
      right: 12%;
      z-index: 7;
      color: #46a173;
      span {
        position: absolute;
        background-color: #46a173;
        border: none;
        height: 5px;
        width: 30px;
        top: 18px;
        left: 10px;
        transition: all 0.3s;
      }
      span:nth-of-type(1) {
        transform: rotate(45deg);
      }
      span:nth-of-type(2) {
        opacity: 0;
      }
      span:nth-of-type(3) {
        transform: rotate(-45deg);
      }
    }
  }
  .hmbg-menu {
    position: fixed;
    z-index: 6;
    &.active {
      visibility: visible;
      opacity: 1;
      transition: all 0.3s;
    }
    &.passive {
      visibility: hidden;
      opacity: 0;
      transition: all 0.3s;
    }
    ul {
      background-color: #46a173;
      li {
        border-bottom: 1px solid #fff;
        text-align: center;
        a {
          font-weight: lighter;
          font-family: "mplus-light";
          color: #fff;
        }
      }
    }
  }
  .mask {
    transition: all 0.3s;
    &.active {
      transition: all 0.3s;
      position: fixed;
      top: 0;
      left: 0;
      z-index: 5;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.8);
    }
  }
  .icons {
    position: fixed;
    z-index: 5;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    a {
      background-color: white;
      border: 2px solid #46a173;
      border-radius: 50%;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      figure {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        figcaption {
          font-family: "mplus-medium";
          color: #46a173;
          text-align: center;
        }
      }
    }
  }
  .content-header {
    .title {
      h1 {
        font-family: "mplus-extrabold";
        position: relative;
        color: #46a173;
        letter-spacing: 0.1108em;
        -webkit-text-stroke: 1px #fff;
        text-shadow: 0px 3px 3px rgba(0, 0, 0, 0.5);
      }
      &:after {
        content: "";
        background-image: url("../assets/images/contact-head.webp");
      }
    }
    .breadcrumb {
      p {
        display: inline-block;
        background-color: #46a173;
        color: #fff;
      }
      span {
        &:not(.crumb) {
          border-bottom: 1px solid #fff;
        }
      }
      a{
        font-family: "mplus-medium";
        letter-spacing: 0.1108em;
        font-size: 17px;
        padding: 0 5px;
        cursor:pointer;
        color: #fff;
        border-bottom: 1px solid #fff;
      }
    }
  }
  main {
    h2 {
      span {
        color: #46a173;
        border-bottom: 2px solid #46a173;
      }
    }
    p {
      border: 1px solid #000;
    }
	b {
		text-align: center;  
	}
    form {
      color: rgba(0, 0, 0, 0.5);
      .input-field {
        input {
          font-size:20px;
          &::placeholder {
            color: rgba(0, 0, 0, 0.2);
          }
        }
        textarea {
          font-size:20px;
          &::placeholder {
            color: rgba(0, 0, 0, 0.2);
          }
        }
      }
      ul {
        li {
          label {
            span {
              &.required {
                color: #000;
                background-color: rgba(255, 116, 72, 0.44);
              }
            }
          }
          .input-field {
            label {
                input {
                  display: block;
                }
            }
          }
        }
      }
      input.wpcf7-submit {
        position: relative;
        background-color: #46a173;
        cursor: pointer;
        color: #fff;
      }
    }
  }
  footer {
    position: relative;
    background-image: url("../assets/images/header-background.webp");
    background-size: cover;
    background-color: rgba(255, 255, 255, 0.5);
    background-blend-mode: lighten;
    border-top: 2px solid black;
    letter-spacing: 0.1108em;
    nav {
      a {
        font-family: "mplus-extrabold";
        position: relative;
        color: #46a173;
        -webkit-text-stroke: 3px #fff;
        &:nth-of-type(1) {
          &:before {
            content: "HOME";
            -webkit-text-stroke: 0;
            position: absolute;
          }
        }
        &:nth-of-type(2) {
          &:before {
            content: "料金メニュー";
            -webkit-text-stroke: 0;
            position: absolute;
          }
        }
        &:nth-of-type(3) {
          &:before {
            content: "保険について";
            -webkit-text-stroke: 0;
            position: absolute;
          }
        }
        &:nth-of-type(4) {
          &:before {
            content: "お問い合わせ";
            -webkit-text-stroke: 0;
            position: absolute;
          }
        }
      }
    }
    small {
      font-family: "mplus-extrabold";
      color: #46a173;
      /* span {
         position: relative;
         -webkit-text-stroke: 3px #fff;
         &:nth-of-type(1) {
           &:before {
             content: "Copyright";
             -webkit-text-stroke: 0;
             position: absolute;
           }
         }
         &:nth-of-type(2) {
           &:before {
             content: "\0a9";
             -webkit-text-stroke: 0;
             position: absolute;
           }
         }
         &:nth-of-type(3) {
           &:before {
             content: "2023\02003健美道今里院";
             -webkit-text-stroke: 0;
             position: absolute;
           }
         }
       } */
    }
    .rocket {
      button {
        position: relative;
        font-family: "mplus-regular";
        font-weight: 400;
        cursor: pointer;
        background-color: #46a173;
        &:hover {
          background-color: #62bd8f;
          transition: all 0.3s;
        }
      }
    }
  }
}
@media screen and (min-width: 1024.1px) {
  body {
    header {
      height: 180px;
      padding-top: clamp(10px, 5px + 0.7vw, 20px);
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      background-position: 25% 18%;
      background-color: rgba(255, 255, 255, 0.5);
      background-blend-mode: lighten;
      &.fixed {
        height: auto;
        padding-top: 0;
        margin-top: 180px;
        .main-text {
          display: none;
        }
        .nav-wrapper {
          width: 100%;
          position: fixed;
          top: 0;
          z-index: 5;
          nav {
            width: 100%;
            transition: all 0.2s;
          }
        }
      }
      .main-text {
        display: flex;
        justify-content: center;
        align-items: center;
        h1 {
          font-size: clamp(25px, 2.3vw, 35px);
          letter-spacing: 0.1108em;
          -webkit-text-stroke: 5px #fff;
        }
        .tel-address {
          margin: 0 20px;
          img {
            width: 35px;
            object-fit: contain;
          }
          a {
            display: flex;
            justify-content: center;
            span {
              margin-left: 16px;
              text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
              -webkit-text-stroke: 5px #fff;
              font-size: clamp(25px, 2.3vw, 35px);
              line-height: clamp(30px, 15px + 1.3vw, 52px);
              letter-spacing: 0.2em;
            }
          }
          address {
            font-size: clamp(12px, 0.5rem + 1.5vw, 15px);
          }
        }
        p {
          span {
            display: block;
            font-size: clamp(12px, 0.5rem + 0.8vw, 17px);
          }
        }
      }
      .nav-wrapper {
        text-align: center;
        nav {
          display: inline-block;
          padding: 35px 65px;
          height: 100px;
          margin: 0 auto 0 auto;
          a {
            &:not(:nth-of-type(1)) {
              margin-left: clamp(80px, 50px + 3vw, 110px);
            }
          }
        }
      }
    }
    .hmbg-btn {
      display: none;
    }
    .hmbg-menu {
      display: none;
    }
    .icons {
      left: 0;
      a {
        width: 90px;
        height: 90px;
        margin: 15px;
        &.tel {
          display: none;
        }
        &.contact {
          padding-top: 10px;
          img {
            width: 40px;
          }
          figcaption {
            &:before {
              content: "お問い合わせ";
            }
          }
        }
        &.houmon {
          figcaption {
            padding-bottom: 3px;
            &:before {
              content: "訪問について";
            }
          }
          img {
            width: 40px;
          }
        }
        figcaption {
          font-size: 11px;
        }
        img {
          width: 45px;
        }
      }
    }
    .content-header {
      .title {
        display: flex;
        &.no-detection {
          h1 {
            opacity: 0;
            transform: translateX(-100%);
          }
          &:after {
            opacity: 0;
            transform: translateX(100%);
          }
        }
        &.detection {
          h1 {
            opacity: 1;
            transform: translateX(0%);
            transition: transform 0.8s 0.1s, opacity 1s 0.1s;
          }
          &:after {
            opacity: 1;
            transform: translateX(0%);
            transition: transform 0.8s 0.1s, opacity 1s 0.1s;
          }
        }
        h1 {
          flex-grow: 1;
          font-size: clamp(25px, 2.3vw, 35px);
          display: flex;
          justify-content: center;
          align-items: center;
          letter-spacing: 0.1108em;
        }
        &:after {
          display: block;
          width: 70%;
          aspect-ratio: 7/2;
          background-size: 135%;
          background-position: 5% 25%;
          background-repeat: no-repeat;
        }
      }
      .breadcrumb {
        width: 30%;
        margin: 50px 0 100px 0;
        display: flex;
        justify-content: center;
        align-items: center;
        p {
          padding: 15px 30px 18px 30px;
        }
        span {
          font-family: "mplus-medium";
          letter-spacing: 0.1108em;
          font-size: 17px;
          padding: 0 5px;
          &.crumb {
            font-family: "mplus-regular";
          }
        }
        a{
          font-family: "mplus-medium";
          letter-spacing: 0.1108em;
          font-size: 17px;
          padding: 0 5px;
          cursor:pointer;
          color: #fff;
          border-bottom: 1px solid #fff;
        }
      }
    }
    main {
      h2 {
        font-family: "mplus-medium";
        text-align: center;
        span {
          display: inline-block;
          padding: 0 50px 15px 50px;
          font-size: 36px;
        }
      }
      p {
        width: 60%;
        padding: 40px 30px;
        margin: 50px auto 80px auto;
        text-align: center;
        font-size: 19.5px;
        line-height: 29px;
        letter-spacing: 0.1108em;
        font-family: "mplus-light";
      }
      b {
        width: 100%;
        display: block;
        font-family: "mplus-medium";
        font-size: 19.5px;
      }
      form {
        width: 40%;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        .input-field {
          input {
            width: 100%;
            padding: 15px 10px;
            &::placeholder {
              font-family: "mplus-regular";
            }
          }
        }
        ul {
          width: 100%;
          margin-top: 30px;
          li {
            &:not(:last-of-type) {
              margin-bottom: 40px;
            }
            &.mobile-tel {
              display: none;
            }
            label {
              font-family: "mplus-medium";
              &.main-label {
                display: inline-block;
                margin-bottom: 15px;
              }
              span {
                &.required {
                  display: inline-block;
                  border-radius: 5px;
                  padding: 5px 15px;
                  margin-left: 10px;
                  font-family: "mplus-regular";
                }
              }
            }
            .input-field {
              display: flex;
              align-items: end;
              gap: 30px;
              label {
                width: 100%;
              }
              textarea {
                width: 60vw;
                height: 60vh;
                padding: 10px 10px;
                font-family: "mplus-regular";
              }
            }
          }
        }
        input.wpcf7-submit {
          width: 50%;
          display: inline-block;
          padding: 30px 0;
          margin: 100px 0 250px 100px;
          border-radius: 20px;
          box-shadow: 0px 7px 10px -4px #777777;
          font-family: "mplus-medium";
          font-size: 20px;
          letter-spacing: 0.1108em;
          &:hover {
            box-shadow: none;
            transform: translate(3px, 5px);
            transition: all 0.15s;
            background-color: #46a173bb;
          }
        }
      }
    }
    footer {
      height: 150px;
      display: grid;
      align-content: center;
      background-position: 0 1%;
      nav {
        margin-left: 10%;
        margin-bottom: 10px;
        letter-spacing: 0.1em;
        a {
          &:not(:nth-of-type(1)) {
            margin-left: 5%;
          }
        }
      }
      small {
        margin-left: 10%;
        letter-spacing: 0.1em;
      }
      .rocket {
        position: absolute;
        top: 50%;
        right: 0;
        margin-right: 10%;
        transform: translateY(-50%);
        button {
          border-radius: 10px;
          padding: 28px 25px;
          color: #fff;
          letter-spacing: 0.1em;
          font-size: 1rem;
        }
      }
    }
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  body {
    header {
      height: 280px;
      padding-top: clamp(20px, 15px + 1.5vw, 30px);
      background-position: 25% 18%;
      background-color: rgba(255, 255, 255, 0.5);
      background-blend-mode: lighten;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      &.fixed {
        height: auto;
        padding-top: 0;
        margin-top: 280px;
        .main-text {
          display: none;
        }
        .nav-wrapper {
          width: 100%;
          position: fixed;
          top: 0;
          z-index: 5;
          nav {
            width: 100%;
            transition: all 0.2s;
          }
        }
      }
      .main-text {
        display: flex;
        flex-direction: column;
        text-align: center;
        h1 {
          font-size: clamp(25px, 0.5rem + 2.75vw, 36px);
          letter-spacing: 0.1108em;
          -webkit-text-stroke: 5px #fff;
        }
        .tel-address {
          a {
            display: flex;
            justify-content: center;
            img {
              width: 33px;
              object-fit: contain;
            }
            span {
              margin-left: 12px;
              -webkit-text-stroke: 5px #fff;
              font-size: clamp(15px, 0.5rem + 2.5vw, 36px);
              line-height: clamp(30px, 15px + 2vw, 52px);
              letter-spacing: 0.2508em;
            }
          }
          address {
            font-size: clamp(12px, 0.5rem + 0.8vw, 17px);
          }
        }
        p {
          span {
            display: inline;
            font-size: clamp(12px, 0.5rem + 0.8vw, 17px);
          }
        }
      }
      .nav-wrapper {
        text-align: center;
        nav {
          padding: 35px 65px;
          height: 100px;
          margin: 0 auto 0 auto;
          transition: all 0.2s;
          a {
            &:not(:nth-of-type(1)) {
              margin-left: clamp(40px, 25px + 1.5vw, 50px);
            }
          }
        }
      }
    }
    .hmbg-btn {
      display: none;
    }
    .hmbg-menu {
      display: none;
    }
    .icons {
      right: 0;
      bottom: 10%;
      a {
        @media screen and (min-width: 768px) and (max-height: 767px) {
          display: none;
        }
        width: 80px;
        height: 80px;
        margin: 15px;
        &.tel {
          display: none;
        }
        &.contact {
          padding-top: 10px;
          figcaption {
            &:before {
              content: "お問い合わせ";
            }
          }
          img {
            width: 35px;
          }
        }
        &.houmon {
          padding-top: 5px;
          figcaption {
            padding-bottom: 3px;
            &:before {
              content: "訪問について";
            }
          }
          img {
            width: 30px;
          }
        }
        figcaption {
          font-size: 11px;
        }
        img {
          width: 50px;
        }
      }
    }
    .content-header {
      .title {
        display: flex;
        h1 {
          flex-grow: 1;
          font-size: 16px;
          display: flex;
          justify-content: center;
          align-items: center;
        }
        &:after {
          display: block;
          width: 70%;
          aspect-ratio: 8/3;
          background-size: 145%;
          background-position: 20% 25%;
          background-repeat: no-repeat;
        }
      }
      .breadcrumb {
        margin: 50px 0 100px 5%;
        display: flex;
        align-items: center;
        p {
          padding: 15px 30px 18px 30px;
        }
        span {
          font-family: "mplus-medium";
          letter-spacing: 0.1108em;
          font-size: 14px;
          padding: 0 5px;
          &.crumb {
            font-family: "mplus-regular";
          }
        }
        a{
          font-family: "mplus-medium";
          letter-spacing: 0.1108em;
          font-size: 17px;
          padding: 0 5px;
          cursor:pointer;
          color: #fff;
          border-bottom: 1px solid #fff;
        }
      }
    }
    main {
      h2 {
        margin-top: 150px;
        font-family: "mplus-medium";
        text-align: center;
        span {
          display: inline-block;
          padding: 0 50px 15px 50px;
          font-size: 36px;
        }
      }
      p {
        width: 70%;
        padding: 40px 30px;
        margin: 50px auto 80px auto;
        text-align: center;
        font-size: 19.5px;
        line-height: 29px;
        letter-spacing: 0.1108em;
        font-family: "mplus-light";
      }
      b {
        width: 100%;
        display: block;
        font-family: "mplus-medium";
        font-size: 19.5px;
      }
      form {
        width: 70%;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        .input-field {
          input {
            width: 100%;
            padding: 15px 10px;
            &::placeholder {
              font-family: "mplus-regular";
            }
          }
        }
        ul {
          width: 100%;
          margin-top: 30px;
          li {
            &:not(:last-of-type) {
              margin-bottom: 40px;
            }
            &.mobile-tel {
              display: none;
            }
            label {
              font-family: "mplus-medium";
              &.main-label {
                display: inline-block;
                margin-bottom: 15px;
              }
              span {
                &.required {
                  display: inline-block;
                  border-radius: 5px;
                  padding: 5px 15px;
                  margin-left: 10px;
                  font-family: "mplus-regular";
                }
              }
            }
            .input-field {
              display: flex;
              align-items: end;
              gap: 30px;
              label {
                width: 100%;
              }
              textarea {
                width: 115%;
                height: 60vh;
                height: 60dvh;
                padding: 10px 10px;
                font-family: "mplus-regular";
              }
            }
          }
        }
        input.wpcf7-submit {
          width: 50%;
          display: inline-block;
          padding: 30px 0;
          margin: 100px 0 250px 60px;
          border-radius: 20px;
          box-shadow: 0px 7px 10px -4px #777777;
            font-family: "mplus-medium";
            font-size: 20px;
            letter-spacing: 0.1108em;
        }
      }
    }
    @media screen and (min-width: 768px) and (max-width: 1023.9px) {
      footer {
        padding: 10% 20%;
        background-size: 350%;
        background-position: 0 1%;
        nav {
          display: flex;
          flex-direction: column;
          gap: 20px;
          margin-bottom: 10px;
          letter-spacing: 0.1em;
        }
        small {
          display: block;
          margin-top: 10%;
          letter-spacing: 0.1em;
          text-align: center;
        }
        .rocket {
          position: absolute;
          top: 15%;
          right: 0;
          margin-right: 20%;
          button {
            border-radius: 10px;
            padding: 28px 25px;
            color: #fff;
            letter-spacing: 0.1em;
            font-size: 1rem;
          }
        }
      }
    }
    @media screen and (min-width: 1024px) {
      footer {
        height: 150px;
        display: grid;
        align-content: center;
        background-position: 0 1%;
        nav {
          margin-left: 10%;
          margin-bottom: 10px;
          letter-spacing: 0.1em;
          a {
            &:not(:nth-of-type(1)) {
              margin-left: 5%;
            }
          }
        }
        small {
          margin-left: 10%;
          letter-spacing: 0.1em;
        }
        .rocket {
          position: absolute;
          top: 50%;
          right: 0;
          margin-right: 10%;
          transform: translateY(-50%);
          button {
            border-radius: 10px;
            padding: 28px 25px;
            color: #fff;
            letter-spacing: 0.1em;
            font-size: 1rem;
          }
        }
      }
    }
  }
}
@media screen and (max-width: 767.9px) and (orientation: portrait) {
  body {
    header {
      height: 160px;
      padding-top: clamp(20px, 15px + 4vw, 30px);
      background-position: 30% 18%;
      .main-text {
        display: flex;
        flex-direction: column;
        text-align: center;
        h1 {
          font-size: clamp(20px, 18px + 1.5vw, 25px);
          letter-spacing: 0.1108em;
          -webkit-text-stroke: 2px #fff;
        }
        .tel-address {
          a {
            display: flex;
            justify-content: center;
            img {
              width: 28px;
              object-fit: contain;
            }
            span {
              margin-left: 8px;
              -webkit-text-stroke: 2px #fff;
              font-size: clamp(20px, 18px + 1.5vw, 26px);
              letter-spacing: 0.0408em;
            }
          }
          address {
            font-size: clamp(12px, 0.5rem + 1vw, 14px);
          }
        }
        p {
          span {
            display: inline;
            font-size: clamp(12px, 0.5rem + 1vw, 13px);
          }
        }
      }
      .nav-wrapper {
        display: none;
      }
    }
    .hmbg-menu {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 6;
      width: 100%;
      ul {
        padding: 100px 40px;
        background-color: #46a173;
        li {
          border-bottom: 1px solid #fff;
          text-align: center;
          &:nth-of-type(1) {
            padding-bottom: 15px;
          }
          &:not(:nth-of-type(1)) {
            padding: 15px 0;
          }
          a {
            font-weight: lighter;
            font-family: "mplus-light";
            font-size: 24px;
            color: #fff;
          }
        }
      }
    }
    .icons {
      right: 0;
      bottom: 10%;
      a {
        width: 55px;
        height: 55px;
        margin: 10px;
        &.tel {
          figcaption {
            &:before {
              content: "TEL";
            }
          }
          img {
            width: 25px;
          }
        }
        &.contact {
          padding-top: 5px;
          figcaption {
            line-height: 90%;
            &:before {
              content: "mail";
            }
          }
          img {
            width: 30px;
          }
        }
        &.houmon {
          display: none;
        }
        figcaption {
          font-family: "mplus-extrabold";
          font-weight: 800;
          font-size: 12px;
        }
        img {
          width: 40px;
        }
      }
    }
    .content-header {
      position: relative;
      width: 100%;
      aspect-ratio: 1/1;
      .title {
        position: relative;
        width: 100%;
        height: 100%;
        h1 {
          position: absolute;
          z-index: 5;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          font-size: clamp(16px, 2.3vw, 25px);
          display: flex;
          justify-content: center;
          align-items: center;
        }
        &:after {
          position: absolute;
          display: block;
          width: 100%;
          aspect-ratio: 9/10;
          background-size: 150% 100%;
          background-repeat: no-repeat;
        }
      }
      .breadcrumb {
        position: absolute;
        top: 10px;
        left: 5px;
        display: flex;
        justify-content: center;
        align-items: center;
        p {
          padding: 3px 15px 8px 15px;
        }
        span {
          font-family: "mplus-medium";
          letter-spacing: 0.1108em;
          font-size: 10px;
          padding: 0 5px;
          &.crumb {
            font-family: "mplus-regular";
          }
        }
        a{
          font-family: "mplus-medium";
          letter-spacing: 0.1108em;
          font-size: 17px;
          padding: 0 5px;
          cursor:pointer;
          color: #fff;
          border-bottom: 1px solid #fff;
        }
      }
    }
    main {
      padding: 0 5%;
      h2 {
        margin: 150px 0 80px 0;
        font-family: "mplus-medium";
        text-align: center;
        span {
          display: inline-block;
          padding-bottom: 10px;
          font-size: 23px;
        }
      }
      p {
        display: none;
      }
      b {
        width: 100%;
        display: block;
        font-family: "mplus-medium";
        font-size: 19.5px;
      }
      form {
        width: 100%;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        .input-field {
          input {
            width: 100%;
            padding: 15px 10px;
            &::placeholder {
              font-family: "mplus-regular";
            }
          }
        }
        ul {
          width: 100%;
          margin-top: 30px;
          li {
            &:not(:last-of-type) {
              margin-bottom: 40px;
            }
            &.pc-tel {
              display: none;
            }
            label {
              font-family: "mplus-medium";
              &.main-label {
                display: inline-block;
                margin-bottom: 15px;
              }
              span {
                &.required {
                  display: inline-block;
                  border-radius: 5px;
                  padding: 5px 15px;
                  margin-left: 10px;
                  font-family: "mplus-regular";
                }
              }
            }
            .input-field {
              label {
                display: block;
                input {
                  display: block;
                }
                .sub-label {
                  display: inline-block;
                  margin: 5px 0;
                }
              }
              textarea {
                width: 150%;
                height: 65vh;
                padding: 10px 10px;
                font-family: "mplus-regular";
              }
            }
          }
        }
        input.wpcf7-submit {
          width: 65%;
          display: inline-block;
          padding: 20px 0;
          margin: 30px 0 250px 70px;
          border-radius: 10px;
          box-shadow: 0px 7px 10px -4px #777777;
            font-family: "mplus-medium";
            letter-spacing: 0.1108em;
        }
      }
    }
    footer {
      padding: 130px 13% 15% 13%;
      background-size: 450%;
      background-position: 8% 1%;
      font-size: 16px;
      nav {
        display: flex;
        flex-direction: column;
        gap: 30px;
        margin-bottom: 10px;
        letter-spacing: 0.1em;
      }
      small {
        display: block;
        margin-top: 50px;
        text-align: center;
        white-space: nowrap;
      }
      .rocket {
        position: absolute;
        top: 90px;
        right: 0;
        margin-right: 13%;
        button {
          border-radius: 5px;
          padding: 23px 17px;
          color: #fff;
          font-size: 15.5px;
          letter-spacing: 0.1em;
        }
      }
    }
  }
}
@media screen and (max-width: 767.9px) and (orientation: landscape) {
  body {
    header {
      height: 160px;
      padding-top: clamp(20px, 15px + 4vw, 25px);
      background-position: 30% 18%;
      .main-text {
        display: flex;
        flex-direction: column;
        text-align: center;
        h1 {
          font-size: clamp(20px, 18px + 1.5vw, 25px);
          letter-spacing: 0.1108em;
          -webkit-text-stroke: 2px #fff;
        }
        .tel-address {
          a {
            display: flex;
            justify-content: center;
            img {
              width: 28px;
              object-fit: contain;
            }
            span {
              margin-left: 8px;
              -webkit-text-stroke: 2px #fff;
              font-size: clamp(20px, 18px + 1.5vw, 25px);
              letter-spacing: 0.0408em;
            }
          }
          address {
            font-size: clamp(12px, 0.5rem + 1vw, 15px);
          }
        }
        p {
          span {
            display: inline;
            font-size: clamp(12px, 0.5rem + 1vw, 15px);
          }
        }
      }
      .nav-wrapper {
        display: none;
      }
    }
    .hmbg-menu {
      position: fixed;
      top: 0;
      right: 0;
      z-index: 6;
      width: 60%;
      height: 100%;
      ul {
        display: flex;
        flex-direction: column;
        justify-content: center;
        height: 100%;
        margin-left: auto;
        padding: 50px 8%;
        background-color: #46a173;
        li {
          border-bottom: 1px solid #fff;
          text-align: center;
          &:nth-of-type(1) {
            padding-bottom: 15px;
          }
          &:not(:nth-of-type(1)) {
            padding: 15px 0;
          }
          a {
            font-weight: lighter;
            font-family: "mplus-light";
            font-size: 20px;
            color: #fff;
            letter-spacing: 0.01em;
          }
        }
      }
    }
    .icons {
      right: 0;
      bottom: 10%;
      a {
        @media screen and (max-height: 374px) {
          display: none;
        }
        width: 60px;
        height: 60px;
        margin: 5px;
        &.tel {
          figcaption {
            &:before {
              content: "TEL";
            }
          }
          img {
            width: 25px;
          }
        }
        &.contact {
          padding-top: 5px;
          figcaption {
            line-height: 90%;
            &:before {
              content: "mail";
            }
          }
          img {
            width: 30px;
          }
        }
        &.houmon {
          display: none;
        }
        figcaption {
          font-family: "mplus-extrabold";
          font-weight: 800;
          font-size: 12px;
        }
        img {
          width: 40px;
        }
      }
    }
    .content-header {
      .title {
        display: flex;
        h1 {
          flex-grow: 1;
          font-size: 16px;
          display: flex;
          justify-content: center;
          align-items: center;
        }
        &:after {
          display: block;
          width: 70%;
          aspect-ratio: 8/3;
          background-size: 145%;
          background-position: 20% 25%;
          background-repeat: no-repeat;
        }
      }
      .breadcrumb {
        width: 30%;
        margin: 50px 0 0 5%;
        display: flex;
        justify-content: center;
        align-items: center;
        p {
          padding: 3px 15px 8px 15px;
        }
        span {
          font-family: "mplus-medium";
          letter-spacing: 0.1108em;
          font-size: 10px;
          padding: 0 5px;
          &.crumb {
            font-family: "mplus-regular";
          }
        }
        a{
          font-family: "mplus-medium";
          letter-spacing: 0.1108em;
          font-size: 17px;
          padding: 0 5px;
          cursor:pointer;
          color: #fff;
          border-bottom: 1px solid #fff;
        }
      }
    }
    main {
      padding: 0 5%;
      h2 {
        margin: 150px 0 80px 0;
        font-family: "mplus-medium";
        text-align: center;
        span {
          display: inline-block;
          padding-bottom: 10px;
          font-size: 23px;
        }
      }
      p {
        display: none;
      }
      b {
        width: 100%;
        display: block;
        font-family: "mplus-medium";
        font-size: 19.5px;
      }
      form {
        width: 100%;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        .input-field {
          input {
            width: 100%;
            padding: 15px 10px;
            &::placeholder {
              font-family: "mplus-regular";
            }
          }
        }
        ul {
          width: 100%;
          margin-top: 30px;
          li {
            &:not(:last-of-type) {
              margin-bottom: 40px;
            }
            &.pc-tel {
              display: none;
            }
            label {
              font-family: "mplus-medium";
              &.main-label {
                display: inline-block;
                margin-bottom: 15px;
              }
              span {
                &.required {
                  display: inline-block;
                  border-radius: 5px;
                  padding: 5px 15px;
                  margin-left: 10px;
                  font-family: "mplus-regular";
                }
              }
            }
            .input-field {
              label {
                display: block;
                input {
                  display: block;
                }
                .sub-label {
                  display: inline-block;
                  margin: 5px 0;
                }
              }
              textarea {
                width: 150%;
                height: 65vh;
                height: 65dvh;
                padding: 10px 10px;
                font-family: "mplus-regular";
              }
            }
          }
        }
        input.wpcf7-submit {
          width: 65%;
          display: inline-block;
          padding: 20px 0;
          margin: 30px 0 250px 50px;
          border-radius: 10px;
          box-shadow: 0px 7px 10px -4px #777777;
            font-family: "mplus-medium";
            letter-spacing: 0.1108em;
        }
      }
    }
    footer {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      padding: 5% 20% 5% 20%;
      background-size: 200%;
      background-position: 8% 1%;
      font-size: 14px;
      nav {
        display: flex;
        flex-direction: column;
        gap: 20px;
        letter-spacing: 0.1em;
      }
      small {
        font-size: 14px;
        display: block;
        margin-top: 10%;
        text-align: center;
        white-space: nowrap;
      }
      .rocket {
        position: absolute;
        top: 10%;
        right: 0;
        margin-right: 20%;
        button {
          border-radius: 5px;
          padding: 18px 15px;
          color: #fff;
          letter-spacing: 0.1em;
        }
      }
    }
  }
}
