
:root {
  --c-base:#444444;
  --c-main:#FF9C1A;
  --c-main_li: rgba(255, 156, 26, 0.6);
  --c-sub1:#0F75B7;
  --c-sub2:rgba(15, 117, 183, 0.1);
  --c-sub3:rgba(15, 117, 183, 0.2);
  --c-red:#FE5A4D;
  --c-back: #FAF8F3;

  --f-en: "Prompt", sans-serif;

}


html {
  main {
    font-size: 1.6rem;
    line-height: 1.8;
  }
}
.fvArea {
  background: url(../img/image1.png) no-repeat;
  background-size: cover;
  /* height: 750px; */
  .catchCopy {
    height: 80%;
   right: 60%;
   top: 10%;

  }
  .spFV {

  }
}
.bgwrapA {
  background: url(../img/tm_bg_img003.png) no-repeat;
  background-size: cover;
  background-position: center top;
  position: relative;
  overflow: hidden;
  z-index: 1;
  &:before {
    content: "";
    display: block;
    position: absolute;
    width: 370px;
    height: 651px;
    background: url(../img/tm_bg_img004.png)  no-repeat;
    background-size: contain;
    right: 0;
    bottom: 0;
    top: 0;
    margin: auto 0;
    z-index: -1;
  }
  &:after {
    content: "";
    position: absolute;
    display: block;
    width: 421px;
    height: 944px;
    background: url(../img/tm_bg_img005.png)  no-repeat;
    background-size: contain;
    left: 0;
    bottom: 50px;
    z-index: -1;
  }
  .secA {
    padding: 1px;
    margin-bottom: 60px;
    h2 {
      margin-top: 80px;
      margin-bottom: 40px;
      text-align: center;
      font-size: 2.8rem;
      color: #fff;
      span {
        font-size: 3.4rem;
      }
      &:before {
        content: "";
        display: inline-block;
        width: 1em;
        height: 1em;
        position: relative;
        border-left: 2px  solid #fff;
        margin-right: -.2em;
        margin-bottom: .2em;
        transform: rotate(-50deg);
      }
      &:after {
        content: "";
        display: inline-block;
        width: 1em;
        height: 1em;
        position: relative;
        border-right: 2px  solid #fff;
        margin-left: -.2em;
        margin-bottom: .2em;
        transform: rotate(50deg);
      }
    }
    .list {
      width: 92%;
      max-width: 640px;
      margin: 0 auto;


          display: flex;
          justify-content: center;
          align-items: center;
          gap: 50px 4% ;
          flex-wrap: wrap;
          background: url(../img/tm_img001_2.png) no-repeat;
          background-size: min(50%,475px);
          background-position: bottom right 0%;
          padding-bottom: 20px;
        .item {

          flex: 1 48%;
          max-width: 320px;
          background: #fff;
          padding: 1em .5em;
          font-size: 1.6rem;
          border-radius: 24px;
          position: relative;
          &:after {
            content: "";
            position: absolute;
            left: 45%;
            bottom: -20px;
            transform: translateX(-50%);
            width: 30px;
            height: 20px;
            background: #fff;
            clip-path: polygon(0 0, 100% 0, 0% 100%);
          }

          .pc-only {
            display: none;
          }
        }

        .item:nth-of-type(1) {
            order: 1;
          &:after {
            transform: translateX(-50%) scaleX(-1);
          }
        }
        .item:nth-of-type(2) {
          order: 1;
          &:after {
            transform: translateX(-50%) scaleX(-1);

          }
        }
        .item:nth-of-type(3) {
            order: 1;
          &:after {
            transform: translateX(-50%) scaleX(-1);
          }
        }
        .item:nth-of-type(4) {
            order: 1;
          &:after {
            transform: translateX(-50%) scaleX(-1);
          }
        }
        .item:nth-of-type(5) {
            order: 3;
          &:after {
            inset: 45% -10px 0 auto;
            transform: translateX(50%) scaleX(1) rotate(-90deg);
          }
        }

        &:after {
          content: "";
          display: block;
          flex: 1 48%;
          max-width: 320px;
          order: 4;
        }

      



    }
  }
  .secB {
    .steplist {
      background: #fff;
      width: 92%;
      max-width: 640px;
      padding: 1px;
      margin: 0 auto;
      border-radius: 20px;
      .stepitem {
        background: url(../img/tm_sp_img002.png) no-repeat;
        background-size: 100% auto;
        background-position: top center;
        width: 92%;
        max-width: 560px;
        margin: 24px auto;
        height: auto;
        padding: min(52vw, 330px) 0 20px;
        display: block;

        .text {
          display: block;
          width: 92%;
          max-width: 100%;
          margin: 0 auto;

          .num {
            font-size: 3.0rem;
            font-family: "Prompt", sans-serif;
            color: var(--c-main);
            font-weight: 500;
          }
          .tit {
            font-size: 2.2rem;
            color: var(--c-sub1);
            font-weight: 700;
            margin-bottom: 18px;
            .pc-only {
            }
            br {
              display: none;
            }
          }
          .comme {
            strong {
            }
          }
        }

        &:nth-of-type(2) {
          background: url(../img/tm_sp_img003.png) no-repeat;
          background-size: 100% auto;
          background-position: top center;
          .text {
            margin: 0 auto;
          }
        }
        &:nth-of-type(3) {
          background: url(../img/tm_sp_img004.png) no-repeat;
          background-size: 100% auto;
          background-position: top center;
          .text {

          }
        }
        &:nth-of-type(4) {
          background: url(../img/tm_sp_img005.png) no-repeat;
          background-size: 100% auto;
          background-position: top center;
          .text {
            margin: 0 auto;
          }

        }

      }

    }
  }
}
.secC {
  text-align: center;
  background: var(--c-sub3);
  padding: 70px 0;
  h2 {
    background: var(--c-sub1);
    color: #fff;
    width: auto;
    font-size: 2.4rem;
    display: inline-block;
    padding: .5em 1em;
    border-radius: 55px;
    position: relative;
    z-index: 1;
    margin-bottom: 40px;
    &:after {
      content: "";
      width: 95vw;
      height: 5px;
      max-width: 1400px;
      position: absolute;
      margin:  auto;
      background: var(--c-sub1);
      inset: 0 0 0 50%;
      z-index: -1;
      transform: translateX(-50%);
    }

  }
  .list {
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 18px;
    .item {
      flex: 1 100%;
      max-width: 92%;
      background: #fff;
      border-radius: 20px;
      padding: 1em 1em 2em;
      img {

        max-height: 160px;

        display: block;
        margin: 24px auto;
      }
      h3 {
        color: var(--c-sub1);
        font-size: 2.0rem;
        margin-bottom: 14px;
      }
      .comme {
        strong {
        }
      }
    }
  }
}
.secD {
  padding: 1px;
  .inner {
    width: 92%;
    margin: 80px auto 60px;
    background: #fff;
    position: relative;
    text-align: center;
    padding: 1px;
    border-radius: 20px;
    h2 {
      position: relative;
      top: -1em;
      text-align: center;
      justify-content: center;
      background: var(--c-sub1);
      color: #fff;
      display: inline-block;
      padding: .1em 1em;
      font-size: 2.4rem;
      border-radius: 50px;

    }
    .comme {
      margin: 0 1em 24px;


      .pc-only {
      }
    }
    .pricebox {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      gap: 5px;
      margin-bottom: 20px;
      .tag {
        color: var(--c-sub1);
        font-size: 2.0rem;
        font-weight: 500;
      }
      .price {
        font-size: 4.0rem;
        color: var(--c-red);
        font-family: var(--f-en);
        font-weight: 500;
        line-height: 1;

        .yen {
          font-size: 2.2rem;
          font-family: sans-serif;
          font-weight: 700;
        }
      }
    }
    .menulist {
      column-count: 1;
      column-gap: 0;
      background: var(--c-sub2);
      width: 95%;
      max-width: 1200px;
      margin: 0 auto 40px;
      padding: 1.5em 1.8em 1.5em 3.5em;
      border-radius: 16px;
      list-style: revert!important;

      li {
        break-inside: avoid;
        -webkit-column-break-inside: avoid;
        padding-left: .3em;
        text-align: left;
        list-style: disc!important;
        list-style-position: outside!important;

        &::marker {
          content: initial;
        }
      }
    }
  }
}
.secE {
  background: var(--c-sub1);
  padding: 1px;
  position: relative;
  z-index: 1;
  &:before {
    content: "";
    display: block;
    position: absolute;
    width: 320px;
    height: 472px;
    background: url(../img/tm_bg_img006.png)  no-repeat;
    background-size: contain;
    right: 0;
    top: 70px;
    z-index: -1;
  }
  &:after {
    content: "";
    position: absolute;
    display: block;
    width: 220px;
    height: 366px;
    background: url(../img/tm_bg_img007.png)  no-repeat;
    background-size: contain;
    left: 0;
    bottom: 20px;
    z-index: -1;
  }


  .titarea {
    margin: 80px auto 40px;
    text-align: center;
    color: #fff;
    h2 {
      font-size: 3.6rem;
      font-family: var(--f-en);
      font-weight: 500;
      margin-bottom: 10px;
      line-height: 1em;
    }
    .subtit {
      font-size: 2.1rem;
      font-weight: 500;
    }
  }
  .steplist {
    width: 92%;
    max-width: 640px;
    margin: 0 auto;
    .item {
      display: flex;
      justify-content: flex-start;
      align-items: stretch;
      flex-wrap: wrap;
      gap: 14px;
      background: #fff;
      border-radius: 16px;
      margin-bottom: 72px;
      position: relative;
      padding: 22px 16px;

      .left {
        flex: 1 100%;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        gap: 14px;
        .num {
          color: var(--c-main);
          font-family: var(--f-en);
          font-weight: 500;
          font-size: 3.6rem;
          text-align: center;
          line-height: .8em;
          display: inline-block;
          .step {
            font-size: 1.6rem;
            line-height: 1.4;

          }
        }
        h3 {
          display: inline-block;
          color: var(--c-sub1);
          font-size: 2.4rem;
          line-height: 1.5;
          br {
          }
        }
      }
      .right {
        flex: 1 100%;
        border-left: none;
        border-top: 1px solid var(--c-main);
        padding: 14px 0 0;
      }
    }
      /* 矢印 */
    .item:not(:last-child)::after {
      content: "";
      display: block;
      position: absolute;
      left: 50%;
      bottom: -44px;
      transform: translateX(-50%);
      width: 0;
      height: 0;
      border-left: 26px solid transparent;
      border-right: 26px solid transparent;
      border-top: 18px solid var(--c-main);
      z-index: 2;
    }
  }
}
.lastArea.outerDefault.backTransparent {
  .width1400 {
    .faqTitle {
      /* position: relative;
      &:before {
        content:"";
        width: 20px;
        height: 20px;
        display: block;
        border-radius: .5em;
        border: 3px solid var(--c-sub1);


          &:after {
              background-color:  var(--c-sub1);
          }
      } */
      span {
        span {
        }
      }
    }
    #faq01.faqInput {
    }
    .faqList01 {
      dt {
        label {
        }
      }
      dd {
        span {
          br {
          }
        }
      }
    }
    #faq02.faqInput {
    }
    .faqList02 {
      dt {
        label {
        }
      }
      dd {
        span {
          br {
          }
        }
      }
    }
    #faq03.faqInput {
    }
    .faqList03 {
      dt {
        label {
        }
      }
      dd {
        span {
          br {
          }
        }
      }
    }
  }
}
.secF {
  .inner {
    border: 3px solid var(--c-main);
    border-radius: 18px;
    overflow: hidden;
    margin-bottom: 80px;
    width: 92%;

    h2 {
      background: var(--c-main);
      color: #fff;
      padding: 16px 14px;
      text-align: center;
      font-size: 2.4rem;
      border-radius: 14px 14px 0 0;

      br {
      }
    }
    .textbox {
      padding: 24px 1em 18px;
      text-align: center;
      background: #fff;
      .comme {
        margin-bottom: 24px;
        strong {
        }
      }
      .btn {
        margin: 10px auto;
        color: #fff;
        background: var(--c-main);
        padding: .8em 2em .8em 1.5em;
        border-radius: 40px;
        position: relative;
        font-size: 1.6rem;
        width: 90%;
        max-width: 228px;
        display: block;
        
        &:after {
          content:"";
          background: url(../img/arrow_w.png) no-repeat;
          background-size: contain;
          width: 15px;
          height: 18px;
          display: inline-block;
          position: absolute;
          right: 10px;
          top: 0;
          bottom: 0;
          margin: auto;
          transition: .3s;
        }
        &:hover {
          &:after {
            right: 0px;
          }
        }
      }
    }
  }
}