
: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.8rem;
    line-height: 1.8;
  }
}
.fvArea {
  background: url(../img/image1.png) no-repeat;
  background-size: cover;
  background-position: center top;
  aspect-ratio: 192 / 85;
  /* height: 750px; */
  .catchCopy {
    height: 75%;
    right: 58%;
    top: 20%;

    

  }
  .spFV {

  }
}
.bgwrapA {
  background: url(../img/tm_bg_img003.png) no-repeat;
  background-size: cover;
  background-position: center top;
  position: relative;
  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: 100px;
    h2 {
      margin-top: 150px;
      margin-bottom: 40px;
      text-align: center;
      font-size: 4.0rem;
      color: #fff;
      span {
        font-size: 4.8rem;
      }
      &: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: 95%;
      max-width: 1000px;
      margin: 0 auto;
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 50px;
      flex-wrap: wrap;
      background: url(../img/tm_img001_2.png) no-repeat;
      background-size: min(40%,475px);
      background-position: bottom center;
      padding-bottom: 100px;

      .item {

        flex: 1 300px;
        max-width: 320px;
        background: #fff;
        padding: 1.5em 1em;
        font-size: 1.8rem;
        border-radius: 20px;
        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 {
        }
      }

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

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

      &:after {
        content: "";
        display: block;
        flex: 1 300px;
        max-width: 320px;
        order: 2;
      }

      @media screen and (max-width:1065px)  {
          display: flex;
          justify-content: center;
          align-items: center;
          gap: 50px;
          flex-wrap: wrap;
          background: url(../img/tm_img001_2.png) no-repeat;
          background-size: min(40%,475px);
          background-position: bottom right 20%;
          padding-bottom: 100px;
        .item {

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

          .pc-only {
          }
        }

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

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

      }
    }
  }
  .secB {
    .steplist {
      background: #fff;
      width: 95%;
      max-width: 1400px;
      padding: 1px;
      margin: 0 auto;
      border-radius: 32px;
      .stepitem {
        background: url(../img/tm_img004.png) no-repeat;
        background-size: contain;
        background-position: left center;
        width: 95%;
        max-width: 1285px;
        margin: 50px auto;
        height: 456px;
        padding:  1px;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;


        .text {
          display: block;
          flex: 1 ;
          width: 45%;
          max-width: 485px;
          margin: 0px 5% 0px auto;

          .num {
            font-size: 4.0rem;
            font-family: "Prompt", sans-serif;
            color: var(--c-main);
            font-weight: 500;
          }
          .tit {
            font-size: 3.2rem;
            color: var(--c-sub1);
            font-weight: 700;
            margin-bottom: 30px;
            .pc-only {
            }
          }
          .comme {
            strong {
            }
          }
        }

        &:nth-of-type(2) {
          background: url(../img/tm_img005.png) no-repeat;
          background-size: contain;
          background-position: right center;
          .text {
            margin: 0 auto 0 5%;
          }
        }
        &:nth-of-type(3) {
          background: url(../img/tm_img006.png) no-repeat;
          background-size: contain;
          background-position: left center;
          .text {

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

    @media screen and (max-width:1065px)  {

      .steplist {
        background: #fff;
        width: 95%;
        max-width: 1400px;
        padding: 1px;
        margin: 0 auto;
        border-radius: 32px;
        .stepitem {
          background: url(../img/tm_sp_img002.png) no-repeat;
          background-size: min(90%, 600px);
          background-position: center bottom;
          width: 95%;
          max-width: 1285px;
          margin: 50px auto;
          height: initial;
          padding: 0 1px min(52vw, 360px) ;
          display: flex;
          justify-content: center;
          align-items: center;
          flex-wrap: wrap;


          .text {
            display: block;
            flex: 1 ;
            width: 45%;
            max-width: 485px;
            margin: 0px ;

            .num {
              font-size: 4.0rem;
              font-family: "Prompt", sans-serif;
              color: var(--c-main);
              font-weight: 500;
            }
            .tit {
              font-size: 3.2rem;
              color: var(--c-sub1);
              font-weight: 700;
              margin-bottom: 30px;
              .pc-only {
              }
            }
            .comme {
              strong {
              }
            }
          }

          &:nth-of-type(2) {
            background: url(../img/tm_sp_img003.png) no-repeat;
          background-size: min(90%, 600px);
            background-position: center  bottom;
            .text {
              margin: 0 0 0 ;
            }
          }
          &:nth-of-type(3) {
            background: url(../img/tm_sp_img004.png) no-repeat;
          background-size: min(90%, 600px);
            background-position: center bottom;
            .text {

            }
          }
          &:nth-of-type(4) {
            background: url(../img/tm_sp_img005.png) no-repeat;
          background-size: min(90%, 600px);
            background-position: center bottom;
            .text {
              margin: 0 ;
            }
          }
        }

      }
  }




  }
}
.secC {
  text-align: center;
  background: var(--c-sub3);
  padding: 140px;

  h2 {
    background: var(--c-sub1);
    color: #fff;
    width: auto;
    font-size: 3.6rem;
    display: inline-block;
    padding: .5em 1em;
    border-radius: 55px;
    position: relative;
    z-index: 1;
    margin-bottom: 60px;
    &:after {
      content: "";
      width: calc(95vw - 200px);
      height: 5px;
      border-radius: 2.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: 30px;
    .item {
      flex: 1 330px;
      max-width: 448px;
      background: #fff;
      border-radius: 32px;
      padding: 1em 1em 3em;
      img {

        max-height: 200px;

        display: block;
        margin: 40px auto;
      }
      h3 {
        color: var(--c-sub1);
        font-size: 2.4rem;
        margin-bottom: 20px;
      }
      .comme {
        text-align: left;
        strong {
        }
      }
    }
  }
}
.secD {
  padding: 1px;
  position: relative;
  z-index: 1;

  &:before {
    content: "";
    position: absolute;
    background: url(../img/tm_bg_img008.png) no-repeat;
    background-size: contain;
    width: 489px;
    height: 589px;
    left: 0;
    top: -2px;
    display: block;
    z-index: -1;
  }



  .inner {
    margin: 140px auto 80px;
    background: #fff;
    position: relative;
    text-align: center;
    padding: 1px;
    border-radius: 32px;
    max-width: 1000px;
    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: 3.6rem;
      border-radius: 50px;

    }
    .comme {
      width: 95%;
      margin: 0 auto 40px;

      .pc-only {
      }
    }
    .pricebox {
      width: 95%;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-wrap: wrap;
      gap: 0 10px;
      margin: 0 auto 20px;
      .tag {
        flex: 1 385px;
        color: var(--c-sub1);
        font-size: 28px;
        font-weight: 500;
      }
      .price {
        flex: 1 0  375px;
        font-size: 5.2rem;
        color: var(--c-red);
        font-family: var(--f-en);
        font-weight: 500;
        line-height: 1em;

        .yen {
          font-size: 3.6rem;
          font-family: sans-serif;
          font-weight: 700;
        }
      }
    }
    .menulist {
      column-count: 2;
      column-gap: 2.4em;
      background: var(--c-sub2);
      width: 95%;
      max-width: 1200px;
      margin: 0 auto 40px;
      padding: 3em 3em;
      padding-left: 4.2em;
      border-radius: 30px;
      list-style: revert!important;

      li {
        break-inside: avoid;
        -webkit-column-break-inside: avoid;
        padding-left: .8em;
        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: 521px;
    height: 769px;
    background: url(../img/tm_bg_img006.png)  no-repeat;
    background-size: contain;
    right: 0;
    top: 100px;
    z-index: -1;
  }
  &:after {
    content: "";
    position: absolute;
    display: block;
    width: 330px;
    height: 549px;
    background: url(../img/tm_bg_img007.png)  no-repeat;
    background-size: contain;
    left: 0;
    bottom: 50px;
    z-index: -1;
  }


  .titarea {
    margin: 140px auto 60px;
    text-align: center;
    color: #fff;
    h2 {
      font-size: 52px;
      font-family: var(--f-en);
      font-weight: 500;
      margin-bottom: 10px;
      line-height: 1em;
    }
    .subtit {
      font-size: 32px;
      font-weight: 500;
    }
  }
  .steplist {
    width: 95%;
    max-width: 1400px;
    margin: 0 auto;
    .item {
      display: flex;
      justify-content: center;
      align-items: center;
      flex-wrap: wrap;
      gap: 30px 20px;
      background: #fff;
      border-radius: 24px;
      margin-bottom: 100px;
      position: relative;
      padding: 40px 20px;

      .left {
        flex: 5 435px;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        gap: 20px;
        .num {
          color: var(--c-main);
          font-family: var(--f-en);
          font-weight: 500;
          font-size: 5.2rem;
          text-align: center;
          line-height: .8em;
          display: inline-block;
          .step {
            font-size: 2.4rem;
            line-height: 1.4;

          }
        }
        h3 {
          display: inline-block;
          color: var(--c-sub1);
          font-size: 3.2rem;
          line-height: 1.5;
          br {
          }
        }
      }
      .right {
        flex: 8 705px;
        border-left: 1px solid var(--c-main);
        padding-left: 20px;
      }
    }
      /* 矢印 */
    .item:not(:last-child)::after {
      content: "";
      display: block;
      position: absolute;
      left: 50%;
      bottom: -70px;
      transform: translateX(-50%);
      width: 0;
      height: 0;
      border-left: 44px solid transparent;
      border-right: 44px solid transparent;
      border-top: 28px 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: 5px solid var(--c-main);
    border-radius: 32px;
    overflow: hidden;
    margin-bottom: 150px;

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

      br {
      }
    }
    .textbox {
      padding: 40px 2em 20px ;
      text-align: center;
      background: #fff;
      .comme {
        margin-bottom: 40px;
        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;
          }
        }
      }
    }
  }
}