* {
  margin: 0;
  padding: 0;
  font-family: 'Noto Sans JP', sans-serif;
}

/* body{
    max-width: 1360px;
    margin: 0 auto;
  } */

/* font 共通 */
.font-common-color {
  color: #132464;
}

.font-family-common {
  font-family: "Shippori Mincho B1", serif;
}

.font-family-common-bold {
  font-family: "Shippori Mincho B1", serif;
  font-weight: 800;
}

.font-mini {
  font-size: 1vw;
}

.font-small {
  /* 12pt */
  /* font-size: 1.2vw; */
  font-size: 1rem;
}

.font-common {
  /* 16pt */
  /* font-size: 1.5vw; */
  font-size: 1.15rem;
}

.font-sub-important {
  /* 20pt */
  font-size: 1.25vw;
}

.font-important {
  /* 24pt */
  font-size: 22.4px;
  font-weight: bold;
}

.font-sub-heading {
  /* 29pt */
  font-size: 2.9vw;
}

.font-heading {
  /* 31pt */
  font-size: 3vw;
}

#page-top {
  position: absolute;
  top: 16px;
  left: 32px;
  z-index: 999999999999;

  img {
    margin-top: 1vw;
    width: 20.14vw;
  }
}

.heading-common {
  margin: 0 auto;
  display: flex;
  justify-content: center;

  img {
    max-height: 72px;
    width: 27.857vw !important;
  }
}

.fixed-contact {
  display: none;
  opacity: 0;
  transition: opacity 0.5s ease, transform 0.5s ease;
  transform: translateY(20px);
}

.fixed-contact.fixed {
  display: block;
  opacity: 1;
  transform: translateY(0);
}

.about-text {
  font-size: 1.5vw;
}

.about-us-contet {
  font-size: 1.5vw;
  text-align: center;
}

.page-top {
  position: fixed;
  bottom: 0.5vw;
  right: 3vw;
  z-index: 9999;
}

.contact-fixed {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease, transform 0.5s ease;
  width: 100%;
  height: 100px;
  position: fixed;
  bottom: 0;
  z-index: 999;
  background-color: rgba(255, 255, 255, 0.3);
  display: flex;
  /* justify-content: center; */
  align-items: center;
  pointer-events: none;
  /* 非表示中はクリックを無効にする */
}

.contact-fixed.fixed {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  overflow-x: hidden;
  /* 表示中はクリック可能にする */
}


.contact-fixed-box {
  /* width: 20%;
  height: 70px;
  border: 1px solid #132464;
  border-radius: 2vw;
  background-color: #132464;
  align-content: center;
  margin: 0 auto; */
  margin-left: 5vw;
}

.contact-fixed-flex {
  color: #fff;
  display: flex;
  justify-content: space-around;
  align-items: center;

  img {
    height: 80px;
  }

  a {
    text-decoration: none;
    color: #fff;
  }

  .outer-circle {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 20px rgba(255, 255, 255, 0.2);
  }

  .inner-circle {
    width: 55px;
    height: 55px;
    border-radius: 50%;
    background-color: #132464;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1vw;
    font-weight: bold;
  }
}


/* top */
.mincho-font {
  font-family: "Shippori Mincho B1", serif;
  /* font-family: "Shippori Mincho B1", serif;
  font-weight: 900; */
}

.top-container-sp {
  display: none;
}

.top-container {
  width: 100%;
  height: auto;
  margin: 0 auto;
  background-image: url("../../images/top.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  object-fit: cover;
  position: relative;
  z-index: 1;
  justify-self: center;

  .top-container-text-box {
    width: 55vw;
    padding-top: 7.5vw;
    margin-left: 6.428vw;

    .top-text-p:nth-child(2) {
      margin-bottom: 1vw;
    }
  }

  /* top-border */
  .top-container-yellow-box {
    width: 100%;
    background: linear-gradient(to bottom, #d4af37, #caa536 84%, #a88332 89%, #caa536 84%, #caa536 85%, #a88332 95%, #caa536 95%);
    color: white;
    clip-path: polygon(50% 0, 54% 35%, 100% 35%, 100% 100%, 0 99%, 0% 60%, 0 0);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
    padding-bottom: 2vw;

    .caption {
      padding: 2vw 5vw;
      opacity: 0.9;
    }

    .yellow-yield {
      display: flex;
      padding-left: 5vw;
      align-items: flex-start;
      gap: 10px;
      padding-bottom: 1vw;
      /* font-size: 1.6em; */
      font-weight: 900;

      .yellow-yield-left,
      .yellow-yield-right {
        align-self: center;
      }

      .yellow-yield-left p,
      .yellow-yield-right p {
        margin: 0;
        /* font-size: 1.2em; */
      }

      .yellow-yield-center {
        display: flex;
        flex-direction: column;
        align-items: center;
      }

      .yellow-yield-center .top-formula {
        border-bottom: 2px solid white;
        padding-bottom: 4px;
        margin-bottom: 4px;
      }

      .bottom-formula {
        /* font-size: 1em; */
      }

      .yellow-yield-center .bottom-formula {
        /* 中央にくるように */
        text-align: center;
      }
    }
  }
}

.top-container-text-flex {
  display: flex;
  margin: 1.5vw 0;
  margin-top: 2vw;

  img {
    width: 100px;
    align-items: center;
    margin-right: 1vw;
  }

  .top-container-text-flex-box {
    align-content: center;

    p:nth-child(1) {
      font-size: 3em;
      font-weight: 600;
    }

    p:nth-child(2) {
      font-size: 0.75em;
    }
  }
}

.headline {
  font-size: 5.5vw;
  font-weight: bold;
  color: #002060;
  line-height: 1;

  span {
    font-size: 1.7em;
  }

  p {
    text-decoration: underline;
    text-underline-offset: 15px;
    text-decoration-thickness: 1px;
    font-weight: 900;
  }
}

ruby rt {
  font-size: 24px;
  /* 上に表示される文字のサイズ */
  color: #132464;
}

/* お問い合わせ */
.top-contact-container {
  width: 100%;
  display: grid;
  place-items: center;
  /* 中央寄せ */
  margin: auto;
  overflow: visible;

  /* height: 115px; */
  img {
    grid-area: 1 / 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .text {
    grid-area: 1 / 1;
    color: white;
    font-size: 24px;
    font-weight: bold;
    border-radius: 8px;
    display: flex;
    align-items: center;

    .blue-text {
      color: #8ce8ff;
      font-family: "Shippori Mincho B1", serif;
      font-style: italic;
      display: flex;
      align-items: center;

      .none {
        font-size: 1.2vw;
      }
    }

    .mail-text {
      display: flex;
      align-items: center;
      border-bottom: 1px solid #fff;
      margin: 0 1vw;
      text-decoration: none;
      color: #fff;
      font-weight: 500;
    }

    .mail-text img {
      height: 0.75em;
      /* テキストの高さに合わせる */
      width: auto;
      margin-left: 8px;
      /* テキストと画像の間に余白をつける */
    }

    .a,
    .contact-people-img {
      width: 10vw;
    }

    .contact-people-img {
      margin-top: -15px;
      z-index: 999;
    }
  }
}

.top-contact-container2 {
  height: 10vw;

  .text2 {
    margin-top: -1vw;

    .contact-men-height {
      height: 12vw;
    }
  }
}

.four-img-container {
  width: 100%;

  .four-img-box {
    display: flex;

    img {
      width: 25%;
    }
  }
}

.contact-sp-img-container {

  .contact-sp-img,
  .contact-sp-img2 {
    display: none;
  }
}

.br-sp {
  display: none;
}

/* features */
.features-bg {
  width: 100%;
  /* background-image: url(../../images/tenper-bg.jpg); */
  background-image: url(../../front/pte_index_back01.jpg);
  /* background-size: cover;
  background-repeat: no-repeat;
  object-fit: cover; */

  .features-container {
    width: 92vw;
    max-width: 940px;
    margin: 0 auto;
    color: #fff;
    text-align: center;

    .annex-img {
      width: 100%;
      max-width: 505px;
      padding-top: 55px;
      margin: 0 auto;
      margin-bottom: 47px;
    }

    .font-sub-heading {
      display: flex;
      justify-content: center;

      .text {
        display: none;
        /* 初期状態は非表示 */
      }

      @media (max-width: 768px) {
        .text-small {
          display: block;
          font-size: 6.5vw;
        }
      }

      @media (min-width: 769px) {
        .text-large {
          display: block;
        }
      }
    }

    .features-border {
      border-bottom: 1px solid #fff;
      margin-top: 23px;
      margin-bottom: 31px;
    }

    .features-text {
      margin: 0 auto;
      margin-top: 61px;
      margin-bottom: 63px;

      img {
        max-width: 390px;
        width: 27.857vw;
      }
    }

    @media (max-width: 768px) {
      .features-text {
        img {
          width: 100% !important;
        }
      }
    }

    .features-yellow-text {
      color: #d6a539;
      padding-top: 25px;
      padding-bottom: 44px;
    }
  }

  .features-card-box {
    width: 80vw;
    height: 30vh;
    margin: 0 auto;
    border: 1px solid #fff;
    background-color: #fff;
  }


  .features-card-container {
    max-width: 940px;
    width: 92vw;
    margin: 0 auto;
    margin-bottom: 3vw;
    font-size: 23px;

    .br-sp {
      display: none;
    }

    /* 見出しのエリア */
    h2 {
      font-family: "Shippori Mincho B1", serif;
      font-style: italic;
    }

    .features-card-gradation {
      /* background: linear-gradient(to bottom, #d4af37, #caa536 77%, #a88332 78%, #caa536 83%, #caa536 89%, #a88332 90%, #caa536 95%); */
      /* background-color: #cfad44; */
      background-image: url(../../front/font-bg.svg);
      /* background-size: cover; */
      background-position: bottom;
      background-size: auto;
      background-repeat: repeat-x;
      color: white;
      text-align: center;
      padding: 1vw 0 2vw 0;
      font-weight: bold;
      letter-spacing: 0.1em;
      text-shadow: 1px 1px 2px #555;
    }

    /* 本文セクション */
    .features-card {
      display: flex;
      /* justify-content: space-around; */
      gap: 50px;
      padding: 30px 50px;
      background-color: #fff;

      img {
        width: 30%;
        height: auto;
        object-fit: cover;
        /* border-radius: 6px; */
        /* margin-right: 40px; */
      }

      .features-card-text {
        /* width: 60%; */
        align-content: center;

        h3 {
          font-size: 19.2px;
          color: #1a237e;
          margin-bottom: 20px;
          display: flex;
          align-items: center;
          font-weight: bold;
        }

        h3::before {
          content: "◆";
          color: #d4af37;
          /* font-size: 20px; */
          margin-right: 10px;
        }

        p {
          /* font-size: 18px; */
          line-height: 1.8;
          color: #333;

          span {
            /* font-size: 0.5em; */
          }
        }
      }
    }

    .features-card2 {
      display: flex;
      justify-content: space-around;
      padding: 30px 50px;
      background-color: #fff;

      img {
        width: 32%;
        height: auto;
        /* border-radius: 6px; */
        /* margin-right: 40px; */
      }

      .features-card-text {
        width: 100%;
        align-content: center;

        .features-card-text-culum {
          margin-top: 10px;
        }

        .features-card2-img-box {
          display: flex;
          justify-content: space-between;
        }

        h3 {
          font-size: 19.2px;
          color: #1a237e;
          margin-top: 20px;
          margin-bottom: 20px;
          display: flex;
          align-items: center;
          font-weight: bold;
        }

        h3::before {
          content: "◆";
          color: #d4af37;
          /* font-size: 20px; */
          margin-right: 10px;
        }

        p {
          /* font-size: 18px; */
          line-height: 1.8;
          color: #333;
          margin-bottom: 2vw;

          span {
            /* font-size: 0.5em; */
          }
        }
      }
    }
  }
}

/* investment */
.investment-img {
  width: 100%;
  object-fit: cover;
}

.investment-container {
  width: 92vw;
  max-width: 940px;
  margin: 0 auto;
  margin-bottom: 84px;
  font-weight: 900;

  .investment-logo {
    text-align: center;
    width: 36vw;
    display: block;
    margin: 0 auto;
    margin-top: -5vw;
  }

  .investment-heading {
    /* font-size: 5vw;
    text-align: center; */
    padding: 13px 0;
    display: flex;
    justify-content: center;
    /* text-decoration: underline overline;
        text-underline-offset: 50px;
        text-decoration-thickness: 1px; */
    border-top: 1px solid #333;
    border-bottom: 1px solid #333;
    /* margin-top: 2.5vw; */
    margin-bottom: 4vw;

    img {
      width: 51vw;
      max-width: 715px;
    }
  }

  .investment-heading::after {
    text-underline-offset: 50px;
  }

  .investment-heading::before {
    text-underline-offset: 50px;
  }

  .investment-flex {
    font-family: "Shippori Mincho B1", serif;
    display: flex;
    justify-content: center;
    gap: 4.5vw;

    .img-human {
      /* align-content: center; */

      img {
        width: 35vw;
        max-width: 456px;
      }
    }

    .investment-left {
      max-width: 440px;
      width: 35vw;
      text-align: center;
      align-self: center;

      .investment-border-text {
        color: #9A8852;
        white-space: nowrap;
        margin-bottom: 10px;

        :nth-child(1) {
          display: flex;
          align-items: center;
          letter-spacing: 3px;

          &::before,
          &::after {
            content: "";
            flex: 1;
            border-top: 3px solid #9A8852;
            margin: 0 10px;
          }
        }
      }

      table {
        margin: 1vw auto;
        border-spacing: 0 10px;

        tr {
          border: 1px solid #9A8852;
          background-color: #9A8852;
          color: #fff;

          td {
            padding: 0 2vw;
          }

          .dot {
            writing-mode: vertical-lr;
            text-orientation: upright;
          }
        }

        tr:nth-child(4) {
          color: #9A8852;
          border: none;
          background-color: unset;
        }
      }

      .img-arrow {
        img {
          width: 5vw;
        }
      }

      p {
        color: #9A8852;
      }
    }
  }
}

/* .investment-container{
    width: 80vw;
    margin: 0 auto;
    text-align: center;
    .tenper-logo{
      width: 30vw;
      margin: 3vw 0;
    }
    h2{
      padding: 1vw;
      font-weight: 700;
      color: #002060;
      border-top: 1px solid #002060;
      border-bottom: 1px solid #002060;
    }
    .investment-img{
      width: 100%;
      height: auto;
      object-fit: cover;
      margin: 5vw 0;
    }
  } */

/* case */
.case-study-container {
  max-width: 940px;
  width: 92vw;
  margin: 0 auto;
  border-top: 5px solid #002060;

  .case-study-text {
    text-align: center;
    margin: 50px auto;

    img {
      width: 15vw;
      margin-bottom: 20px;
    }

    .case-study-flexbox {
      display: flex;
      justify-content: space-between;
    }

    h3 {
      /* font-size: 39px; */
      color: #132464;
      font-weight: 600;
    }
  }
}

/* 見出しのエリア */
.case-study-container2 {
  max-width: 940px;
  width: 92vw;
  margin: 0 auto;
  margin-bottom: 50px;
  margin-top: 57px;

  .case-study-card-flexbox {
    max-width: 1360px;
    margin: 0 auto;
    /* padding: 1vw; */
    display: flex;
    justify-content: center;
    gap: 28px;

    .case-study-card-box {
      width: 33vw;
      max-width: 456px;
      background-color: #f5eedf;

      .case-study-card-header {
        /* background: linear-gradient(to top, #d4af37, #caa536);  */
        /* margin-bottom: 3vw; */
        background: #948149;
        color: white;
        text-align: center;
        letter-spacing: 0.1em;
        text-shadow: 1px 1px 2px #555;
        padding: 1vw;
        font-weight: 600;
        /* font-size: 21px; */
      }

      .case-study-card-textflex {
        display: flex;
        padding: 5px 0;

        p {
          margin: 0;
          /* font-size: 19px; */
        }

        p:nth-child(1) {
          width: 35%;
        }
      }

      .case-study-yield {
        width: 100%;
        max-width: 376px;
        color: #fff;
        /* padding: 1vw 2vw; */
        /* margin-top: 3vw; */
        border: #c8a547 1px solid;
        background-color: #c8a547;
        /* text-align: center; */
        justify-self: center;
        margin-bottom: 30px;

        p {
          padding: 12px 20px;
          font-weight: bold;
        }
      }
    }
  }
}

/* form */
.form-container {
  border: 2px solid #1f2a52;
  max-width: 940px;
  width: 92vw;
  margin: 0 auto;

  .form-header {
    background-color: #e1e8f0;
    padding: 20px 0;
    border-bottom: 2px solid #1f2a52;
    text-align: center;

    P {
      margin: 0;
      font-weight: bold;
      color: #1f2a52;
      font-size: 22.4px;
    }
  }

  .back {
    background-color: #002060;
    border-bottom: 3px solid #a88332;

    p {
      color: #fff;
    }
  }

  .form {
    padding: 30px;
    padding-bottom: 0;

    /* font-size: 21px; */
    .form-row {
      display: flex;
      align-items: center;

      .form-row-box {
        display: flex;
        align-items: center;

        input[type="text"] {
          width: 150px;
          height: 2vw;
          align-self: center;
          padding: 5px;
          margin-right: 10px;
          text-align: right;
          font-size: 1rem;
        }
      }

      label {
        /* font-size: 1.5vw; */
        font-size: 1rem;
        width: 30%;
        font-weight: 300;
        color: #1f2a52;
      }

      p {
        font-size: 1rem;
      }


      .form-three {
        width: 25%;
      }

      .form-three-none {
        width: 30%;
      }

      .form-four {
        width: 40%;
      }

      select {
        padding: 5px;
      }
    }

    .form-row:nth-child(2) {
      border-top: none;
      border-bottom: none;
    }

    .form-row:nth-child(n+3):nth-child(-n+8) {
      border-bottom: none;
    }

    .form-buttons {
      text-align: center;

      button {
        background-color: #6a73a7;
        color: white;
        padding: 11px;
        margin: 5px;
        width: 171px;
        /* font-size: 16px; */
        border: none;
        cursor: pointer;
        border-radius: 5px;

        image {
          width: 100%;
          max-width: 16px;
        }
      }
    }

    .form-row,
    .form-buttons {
      border: #1f2a52 1px solid;
      /* padding: 1vw 4vw 1vw 4vw; */
      padding: 10px 50px;
      background-color: #f4f7fb;
    }

    .form-block {
      display: block;
    }
  }

  .result {
    background-color: #fff;
    text-align: center;
    font-size: 24px;
    padding: 3vw;
    padding-top: 0;
    color: #1f2a52;

    p {
      border: 1px solid #ccc;
      padding: 10px 0;
    }
  }

  .result2 {
    background-color: #fff;
    text-align: center;
    font-size: 24px;
    padding: 30px;
    color: #1f2a52;
    display: flex;
    justify-content: center;

    .result-flex {
      width: 450px;
      border: 1px solid #ccc;
      display: flex;
      justify-content: center;
      border-radius: 50px;
      background-color: #1f2a52;
      color: #fff;
      padding: 10px 20px;
      gap: 20px;

      a {
        align-content: center;
        color: #fff;
        text-decoration: none;
        font-size: 22.4px;
      }
    }

    p {
      /* padding: 30px; */
      font-size: 22.4px;
    }
  }

  .dropdown {
    text-align: center;
    font-size: 18px;
    color: #6a73a7;
    padding: 10px 0;
  }

  .us-India {
    padding: 30px;
    padding-top: 0;
    font-size: 1rem;
    line-height: 1.5em;
  }
}

.form-arrow {
  max-width: 69px;
  width: 10%;
  display: flex;
  margin: 20px auto;
}

/* procedure */
.procedure-img-box {
  display: grid;
  margin-top: 50px;
}

.Procedure-img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.Procedure-bg {
  background-color: #0e215d;
  color: #fff;
  font-family: 'Hiragino Kaku Gothic ProN', sans-serif;
  text-align: center;
  padding: 5vw 2vw;

  .Procedure-container {
    max-width: 940px;
    width: 80vw;
    margin: 0 auto;

    h1 {
      font-size: 2rem;
    }

    .procedure-heading {
      width: 20vw;
    }

    @media (max-width: 768px) {
      .section-heading {
        img {
          width: 100%;
        }
      }
    }

    h1 {
      border-bottom: 1px solid #fff;
      margin-bottom: 1vw;
      padding-bottom: 1vw;
    }

    .main-heading {
      color: #f3cc71;
      margin-bottom: 40px;
    }

    img {
      width: 15vw;
      margin: 1vw 0;
    }

    .step-group {
      display: flex;
      justify-content: center;
      /* width: 70%; */
      margin: 0 auto;
      gap: 17px;
    }

    .step {
      border: 1px solid #fff;
      padding: 2.5vw 1.5vw;
      min-height: 300px;
      display: flex;
      flex-direction: column;
      background-color: transparent;

      .step-title {
        color: #f3cc71;
        font-weight: bold;
        margin-bottom: 2vw;
      }

      .vertical-text {
        writing-mode: vertical-rl;
        align-content: center;
        text-align: start;
      }
    }

    .arrow {
      font-size: 2rem;
      color: white;
      align-self: center;
      /* margin: 0 1vw; */
      font-weight: lighter;
    }
  }
}

/* library */
.library-container {
  max-width: 940px;
  width: 92vw;
  margin: 0 auto;
  margin-top: 100px;
  margin-bottom: 50px;

  .library-img {
    width: 15vw;
  }

  .library-heading {
    text-align: center;
    margin-top: 20px;
    margin-bottom: 30px;
    color: #132464;
    font-weight: 600;

  }

  .library-linkflex {
    display: flex;
    /* justify-content: space-between; */
    align-items: center;
    gap: 30px 50px;
    flex-wrap: wrap;

    a {
      font-size: 16px;
    }
  }

  .logo {
    width: 40vw;
    margin: 5vw;
  }

  .company-text-flex {
    display: flex;
    justify-content: center;
    gap: 50px;
    align-items: center;

    .company-text {
      color: #002060;
      font-weight: 600;
      h3{
        font-size: 1.1vw;
      }
      p{
        font-size: 1.4vw;
      }
    }
  }

  .library-img,
  .logo {
    display: flex;
    margin: 0 auto;
  }
}

.form-buttons {
  display: flex;
  justify-content: center;
  gap: 30px;

  button {
    display: flex;
    justify-content: center;
    gap: 10px;
    align-items: center;
  }

  /* line-height: 1.5; */
  img {
    /* height: 1lh; */
    height: 18px;
    margin-right: 0.5vw;
  }

  span {
    font-size: 1rem;
  }
}

footer {
  background-color: #002060;
  max-height: 200px;
  height: 50vh;
  position: relative;

  .copy-right {
    font-size: 1.2vw;
    color: #fff;
    text-align: center;
    position: absolute;
    bottom: 10%;
    /* 下に配置 */
    left: 50%;
    /* 横中央基準 */
    transform: translateX(-50%);
    /* 水平方向の中央寄せ */
  }
}

.investment-logo-flex {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 2vw;

  img {
    width: 10vw;
    height: auto;
    margin: 0 !important;
  }

  .investment-perple {
    width: 10vw;
    height: auto;
    margin: 0 !important;
    margin-left: 1vw;
  }
}

.ml-05 {
  margin-left: 0.5vw;
}

.ml-25 {
  margin-left: 25px;
}

.fs-115rem {
  font-size: 1.15rem;
}

.fs-15rem {
  font-size: 1.5rem;
}

.fs-2rem {
  font-size: 2rem;
}

.fs-25rem {
  font-size: 2.5rem;
}

.ml-05vw {
  margin-left: 0.5vw;
}

.mb-15vw {
  margin-bottom: 1.5vw 21.87px;
}

.fw-900 {
  font-weight: 900;
}

.max-w1100 {
  max-width: 1100px;
}

.p-0-60 {
  padding: 0 60px;
}

.top-message {
  font-weight: 900;
  margin-top: 31px;
}

.mt-30 {
  margin-top: 30px;
}

.pc {
  @media (max-width: 768px) {
    display: none;
  }
}

.sp {
  @media (min-width: 769px) {
    display: none;
  }
}

.investment-text-sub {
  font-size: 2rem;
  max-width: 393px;
  margin: 0 auto;
}

.tablefont {
  font-size: 2rem;
  margin-top: 1.5vw;

  img {
    width: 28.1vw;
    max-width: 393px;
  }
}

.simulation-top-text {
  font-size: 1.2rem;
  font-family: 'Shippori Mincho B1', serif;
}

.case-study-card-text-content {
  padding: 20px;

  p {
    font-size: 1rem;
    font-weight: 300;
  }
}

.font-span {
  font-size: 31.36px;
  font-weight: bolder;
}

.form-calc {
  gap: 25px;
}


.section-heading {
  margin-top: 24px;
  margin-bottom: 54px;
}

.library-heading {
  margin-top: 66px;
}

.footer-heading {
  margin-top: 133px;
  margin-bottom: 37px;
}

.features-small {
  font-size: 14.4px;
  padding-top: 20px;
}

.features-comment {
  font-size: 16px;
}

.mail-text {
  font-size: 1.5vw;
}

.catch-section {
  margin-left: 6.428vw;
  padding-top: 30px;
  padding-bottom: 19px;
}

.contact-header {
  width: 100%;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;

  .header-logo {
    width: 366px;
    padding: 10px;
    padding-bottom: 0;

    img {
      width: 100%;
    }
  }

  h1 {
    color: #132464;
    font-size: 1.2rem;
    font-weight: normal;
    margin: 0;
    text-align: center;
    font-family: 'Noto Sans JP', sans-serif;
  }
}

.features-text {
  font-size: 16px !important;
}

.justify-center {
  justify-content: center !important;
}

.form-caveat-box {
  display: flex;
  padding: 30px;
  padding-top: 0;

  p {
    padding: 0 !important;
  }
}

.error-message{
  background-color: red;
  color: white;
}

.flex-center {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 1100px) {
  .simulation-top-text {
    font-size: 1.5vw;
  }

  .tablefont {
    font-size: 2.75vw;
  }
}