.shockwave-title {
  font-size: 23px;
  font-weight: bold;
  color: #895024;
  text-align: center; }
  @media screen and (max-width: 1200px) {
    .shockwave-title {
      font-size: 1.916vw; } }
  @media screen and (max-width: 640px) {
    .shockwave-title {
      font-size: 4.375vw; } }

.section-hero .box {
  position: relative;
  z-index: 0;
  width: 100%; }
  .section-hero .box .img {
    width: 93.166vw;
    border-top-right-radius: 8.333vw;
    border-bottom-right-radius: 8.333vw;
    overflow: hidden; }
    @media screen and (max-width: 640px) {
      .section-hero .box .img {
        width: 95.312vw; } }
    .section-hero .box .img img {
      width: 100%; }
  .section-hero .box .txt {
    position: absolute;
    top: 50%;
    left: 3.333vw;
    z-index: 1;
    transform: translateY(-50%);
    font-size: 3.666vw;
    font-weight: bold;
    color: #483f3c;
    mix-blend-mode: color-burn; }
    @media screen and (max-width: 640px) {
      .section-hero .box .txt {
        font-size: 3.75vw; } }
.section-shockwave {
  padding: 20px 0 40px; }
  @media screen and (max-width: 1200px) {
    .section-shockwave {
      padding: 1.666vw 0 3.333vw; } }
  @media screen and (max-width: 640px) {
    .section-shockwave {
      padding: 3.125vw 0 6.25vw; } }
  .section-shockwave .box {
    margin-top: 20px; }
    @media screen and (max-width: 1200px) {
      .section-shockwave .box {
        margin-top: 1.666vw; } }
    @media screen and (max-width: 640px) {
      .section-shockwave .box {
        margin-top: 4.687vw;
        padding: 0 4.687vw; } }
    .section-shockwave .box .txt-1 {
      display: flex;
      justify-content: center;
      text-align: center;
      font-size: 18px;
      line-height: 1.3; }
      @media screen and (max-width: 1200px) {
        .section-shockwave .box .txt-1 {
          font-size: 1.5vw; } }
      @media screen and (max-width: 640px) {
        .section-shockwave .box .txt-1 {
          font-size: 4.218vw;
          line-height: 1.6;
          text-align: left; } }
    .section-shockwave .box .txt-2 {
      display: flex;
      justify-content: center;
      text-align: center;
      margin-top: 20px;
      font-size: 14px;
      line-height: 1.3; }
      @media screen and (max-width: 1200px) {
        .section-shockwave .box .txt-2 {
          margin-top: 1.666vw;
          font-size: 1.166vw; } }
      @media screen and (max-width: 640px) {
        .section-shockwave .box .txt-2 {
          margin-top: 4.687vw;
          font-size: 4.062vw;
          line-height: 1.6;
          text-align: left; } }
      @media screen and (max-width: 640px) {
        .section-shockwave .box .txt-2 br {
          display: none; } }
.section-valid {
  padding: 50px 0 20px; }
  @media screen and (max-width: 1200px) {
    .section-valid {
      padding: 4.166vw 0 1.666vw; } }
  @media screen and (max-width: 640px) {
    .section-valid {
      padding: 7.812vw 0 3.125vw; } }
  .section-valid .box {
    margin-top: 20px; }
    @media screen and (max-width: 1200px) {
      .section-valid .box {
        margin-top: 1.666vw; } }
    @media screen and (max-width: 640px) {
      .section-valid .box {
        margin-top: 4.687vw;
        padding: 0 4.687vw; } }
    .section-valid .box .txt-0 {
      font-size: 14px;
      text-align: center; }
      @media screen and (max-width: 1200px) {
        .section-valid .box .txt-0 {
          font-size: 1.166vw; } }
      @media screen and (max-width: 640px) {
        .section-valid .box .txt-0 {
          font-size: 4.062vw;
          text-align: left; } }
    .section-valid .box .row {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 40px;
      width: 100%;
      max-width: 760px;
      margin: 20px auto 0; }
      @media screen and (max-width: 1200px) {
        .section-valid .box .row {
          gap: 3.333vw;
          max-width: 63.333vw;
          margin-top: 1.666vw; } }
      @media screen and (max-width: 640px) {
        .section-valid .box .row {
          grid-template-columns: repeat(2, 1fr);
          gap: 4.687vw;
          max-width: 100%;
          margin-top: 4.687vw; } }
      .section-valid .box .row .col {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: 94px 1fr;
        text-align: center; }
        @media screen and (max-width: 1200px) {
          .section-valid .box .row .col {
            grid-template-rows: 7.833vw 1fr; } }
        @media screen and (max-width: 640px) {
          .section-valid .box .row .col {
            grid-template-rows: 14.687vw 1fr; } }
        .section-valid .box .row .col .img .valid-img-1 {
          width: 54px; }
          @media screen and (max-width: 1200px) {
            .section-valid .box .row .col .img .valid-img-1 {
              width: 4.5vw; } }
          @media screen and (max-width: 640px) {
            .section-valid .box .row .col .img .valid-img-1 {
              width: 8.437vw; } }
        .section-valid .box .row .col .img .valid-img-2 {
          width: 42px; }
          @media screen and (max-width: 1200px) {
            .section-valid .box .row .col .img .valid-img-2 {
              width: 3.5vw; } }
          @media screen and (max-width: 640px) {
            .section-valid .box .row .col .img .valid-img-2 {
              width: 6.562vw; } }
        .section-valid .box .row .col .img .valid-img-3 {
          width: 46px; }
          @media screen and (max-width: 1200px) {
            .section-valid .box .row .col .img .valid-img-3 {
              width: 3.833vw; } }
          @media screen and (max-width: 640px) {
            .section-valid .box .row .col .img .valid-img-3 {
              width: 7.187vw; } }
        .section-valid .box .row .col .img .valid-img-4 {
          width: 34px; }
          @media screen and (max-width: 1200px) {
            .section-valid .box .row .col .img .valid-img-4 {
              width: 2.833vw; } }
          @media screen and (max-width: 640px) {
            .section-valid .box .row .col .img .valid-img-4 {
              width: 5.312vw; } }
        .section-valid .box .row .col .img .valid-img-5 {
          width: 42px; }
          @media screen and (max-width: 1200px) {
            .section-valid .box .row .col .img .valid-img-5 {
              width: 3.5vw; } }
          @media screen and (max-width: 640px) {
            .section-valid .box .row .col .img .valid-img-5 {
              width: 6.562vw; } }
        .section-valid .box .row .col .txt h3 {
          border-bottom: 1px solid #447caa;
          width: 190px;
          margin: 0 auto;
          padding-bottom: 5px;
          font-size: 17px;
          color: #447caa; }
          @media screen and (max-width: 1200px) {
            .section-valid .box .row .col .txt h3 {
              width: 15.833vw;
              padding-bottom: 0.416vw;
              font-size: 1.416vw; } }
          @media screen and (max-width: 640px) {
            .section-valid .box .row .col .txt h3 {
              width: 39.032vw;
              padding-bottom: 0.781vw;
              font-size: 4.218vw; } }
        .section-valid .box .row .col .txt .txt-1 {
          margin-top: 10px;
          font-size: 16px;
          line-height: 1.3; }
          @media screen and (max-width: 1200px) {
            .section-valid .box .row .col .txt .txt-1 {
              margin-top: 0.833vw;
              font-size: 1.333vw; } }
          @media screen and (max-width: 640px) {
            .section-valid .box .row .col .txt .txt-1 {
              margin-top: 2.343vw;
              font-size: 3.437vw; } }
.section-feature {
  padding: 50px 0 20px; }
  @media screen and (max-width: 1200px) {
    .section-feature {
      padding: 4.166vw 0 1.666vw; } }
  @media screen and (max-width: 640px) {
    .section-feature {
      padding: 7.812vw 0 3.125vw; } }
  .section-feature .box {
    margin-top: 20px; }
    @media screen and (max-width: 1200px) {
      .section-feature .box {
        margin-top: 1.666vw; } }
    @media screen and (max-width: 640px) {
      .section-feature .box {
        margin-top: 4.687vw;
        padding: 0 4.687vw; } }
    .section-feature .box .row {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 60px;
      width: 100%;
      max-width: 910px;
      margin: 0 auto; }
      @media screen and (max-width: 1200px) {
        .section-feature .box .row {
          gap: 5vw;
          max-width: 75.833vw; } }
      @media screen and (max-width: 640px) {
        .section-feature .box .row {
          grid-template-columns: repeat(2, 1fr);
          gap: 30px;
          max-width: 100%; } }
      .section-feature .box .row .col {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: 135px 50px 1fr;
        gap: 10px; }
        @media screen and (max-width: 1200px) {
          .section-feature .box .row .col {
            grid-template-rows: 11.25vw 4.166vw 1fr;
            gap: 0.833vw; } }
        @media screen and (max-width: 640px) {
          .section-feature .box .row .col {
            grid-template-rows: 21.093vw 10.937vw 1fr;
            gap: 1.562vw; } }
        .section-feature .box .row .col .img {
          display: flex;
          justify-content: center;
          align-items: center; }
          .section-feature .box .row .col .img .feature-img-1 {
            width: 92px; }
            @media screen and (max-width: 1200px) {
              .section-feature .box .row .col .img .feature-img-1 {
                width: 7.666vw; } }
            @media screen and (max-width: 640px) {
              .section-feature .box .row .col .img .feature-img-1 {
                width: 14.375vw; } }
          .section-feature .box .row .col .img .feature-img-2 {
            width: 92px; }
            @media screen and (max-width: 1200px) {
              .section-feature .box .row .col .img .feature-img-2 {
                width: 7.666vw; } }
            @media screen and (max-width: 640px) {
              .section-feature .box .row .col .img .feature-img-2 {
                width: 14.375vw; } }
          .section-feature .box .row .col .img .feature-img-3 {
            width: 115px; }
            @media screen and (max-width: 1200px) {
              .section-feature .box .row .col .img .feature-img-3 {
                width: 9.583vw; } }
            @media screen and (max-width: 640px) {
              .section-feature .box .row .col .img .feature-img-3 {
                width: 17.968vw; } }
          .section-feature .box .row .col .img .feature-img-4 {
            width: 109px; }
            @media screen and (max-width: 1200px) {
              .section-feature .box .row .col .img .feature-img-4 {
                width: 9.083vw; } }
            @media screen and (max-width: 640px) {
              .section-feature .box .row .col .img .feature-img-4 {
                width: 17.031vw; } }
        .section-feature .box .row .col h3 {
          font-size: 20px;
          text-align: center;
          color: #447caa;
          line-height: 1.2; }
          @media screen and (max-width: 1200px) {
            .section-feature .box .row .col h3 {
              font-size: 1.666vw; } }
          @media screen and (max-width: 640px) {
            .section-feature .box .row .col h3 {
              font-size: 4.357vw; } }
        .section-feature .box .row .col .txt {
          font-size: 14px;
          line-height: 1.3; }
          @media screen and (max-width: 1200px) {
            .section-feature .box .row .col .txt {
              font-size: 1.166vw; } }
          @media screen and (max-width: 640px) {
            .section-feature .box .row .col .txt {
              font-size: 4.062vw; } }
.section-flow {
  padding: 50px 0 20px; }
  @media screen and (max-width: 1200px) {
    .section-flow {
      padding: 4.166vw 0 1.666vw; } }
  @media screen and (max-width: 640px) {
    .section-flow {
      padding: 7.812vw 0 3.125vw; } }
  .section-flow .box {
    margin-top: 20px; }
    @media screen and (max-width: 1200px) {
      .section-flow .box {
        margin-top: 1.666vw; } }
    @media screen and (max-width: 640px) {
      .section-flow .box {
        margin-top: 4.687vw;
        padding: 0 4.687vw; } }
    .section-flow .box .row {
      display: grid;
      grid-template-columns: 210px 330px 210px;
      gap: 40px;
      width: 100%;
      max-width: 830px;
      margin: 0 auto; }
      @media screen and (max-width: 1200px) {
        .section-flow .box .row {
          grid-template-columns: 17.5vw 27.5vw 17.5vw;
          gap: 3.333vw;
          max-width: 69.166vw; } }
      @media screen and (max-width: 640px) {
        .section-flow .box .row {
          grid-template-columns: 1fr;
          grid-template-rows: repeat(3, auto);
          gap: 9.375vw;
          max-width: 100%; } }
      .section-flow .box .row .col {
        position: relative;
        border: 1px solid #447caa;
        border-radius: 27px;
        padding: 10px 10px 15px; }
        @media screen and (max-width: 1200px) {
          .section-flow .box .row .col {
            border-radius: 2.25vw;
            padding: 0.833vw 0.833vw 1.25vw; } }
        @media screen and (max-width: 640px) {
          .section-flow .box .row .col {
            border-radius: 4.687vw;
            width: 80%;
            margin: 0 auto;
            padding: 3.125vw 3.125vw 4.687vw; } }
        .section-flow .box .row .col h3 {
          border-bottom: 1px solid #447caa;
          padding-bottom: 5px;
          font-size: 17px;
          color: #447caa;
          text-align: center; }
          @media screen and (max-width: 1200px) {
            .section-flow .box .row .col h3 {
              padding-bottom: 0.416vw;
              font-size: 1.416vw; } }
          @media screen and (max-width: 640px) {
            .section-flow .box .row .col h3 {
              padding-bottom: 1.562vw;
              font-size: 4.375vw; } }
        .section-flow .box .row .col .txt-1 {
          margin-top: 20px;
          font-size: 16px;
          text-align: center; }
          @media screen and (max-width: 1200px) {
            .section-flow .box .row .col .txt-1 {
              margin-top: 1.666vw;
              font-size: 1.333vw; } }
          @media screen and (max-width: 640px) {
            .section-flow .box .row .col .txt-1 {
              margin-top: 4.687vw;
              font-size: 4.062vw; } }
        .section-flow .box .row .col::before {
          content: "";
          position: absolute;
          top: 50%;
          left: -38px;
          transform: translateY(-50%);
          background-color: #83a5c2;
          clip-path: polygon(0 0, 100% 50%, 0 100%);
          width: 30px;
          height: 52px; }
          @media screen and (max-width: 1200px) {
            .section-flow .box .row .col::before {
              left: -3.166vw;
              width: 2.5vw;
              height: 4.333vw; } }
          @media screen and (max-width: 640px) {
            .section-flow .box .row .col::before {
              top: -8.125vw;
              left: 50%;
              transform: translateX(-50%);
              clip-path: polygon(0 0, 100% 0, 50% 100%);
              width: 12.5vw;
              height: 6.25vw; } }
        .section-flow .box .row .col:first-child::before {
          display: none; }
      .section-flow .box .row .col-2 {
        padding-right: 130px;
        z-index: 0; }
        @media screen and (max-width: 1200px) {
          .section-flow .box .row .col-2 {
            padding-right: 10.833vw; } }
        @media screen and (max-width: 640px) {
          .section-flow .box .row .col-2 {
            padding-right: 31.25vw;
            width: 100%; } }
        .section-flow .box .row .col-2 .txt-1 {
          margin-top: 10px; }
          @media screen and (max-width: 1200px) {
            .section-flow .box .row .col-2 .txt-1 {
              margin-top: 0.833vw; } }
          @media screen and (max-width: 640px) {
            .section-flow .box .row .col-2 .txt-1 {
              margin-top: 3.125vw; } }
        .section-flow .box .row .col-2 .img {
          position: absolute;
          top: 15px;
          right: 0;
          z-index: -1;
          border-radius: 20px;
          overflow: hidden; }
          @media screen and (max-width: 1200px) {
            .section-flow .box .row .col-2 .img {
              top: 1.25vw;
              border-radius: 1.666vw; } }
          @media screen and (max-width: 640px) {
            .section-flow .box .row .col-2 .img {
              top: 3.125vw;
              border-radius: 4.687vw; } }
          .section-flow .box .row .col-2 .img img {
            width: 155px; }
            @media screen and (max-width: 1200px) {
              .section-flow .box .row .col-2 .img img {
                width: 12.916vw; } }
            @media screen and (max-width: 640px) {
              .section-flow .box .row .col-2 .img img {
                width: 40vw; } }
.section-faq {
  padding: 50px 0; }
  @media screen and (max-width: 1200px) {
    .section-faq {
      padding: 4.166vw 0; } }
  @media screen and (max-width: 640px) {
    .section-faq {
      padding: 7.812vw 0; } }
  .section-faq .box {
    display: grid;
    grid-auto-flow: row;
    gap: 30px;
    margin-top: 20px; }
    @media screen and (max-width: 1200px) {
      .section-faq .box {
        gap: 2.5vw;
        margin-top: 1.666vw; } }
    @media screen and (max-width: 640px) {
      .section-faq .box {
        gap: 10.812vw;
        margin-top: 4.687vw;
        padding: 0 4.687vw; } }
    .section-faq .box .row {
      width: 100%;
      max-width: 920px;
      margin: 0 auto;
      padding-left: 40px;
      border-bottom: 1px solid #d1d1d1;
      padding: 0 0 40px; }
      @media screen and (max-width: 1200px) {
        .section-faq .box .row {
          max-width: 76.666vw;
          padding-left: 3.333vw; } }
      @media screen and (max-width: 640px) {
        .section-faq .box .row {
          max-width: 100%;
          padding-left: 0; } }
      .section-faq .box .row h3 {
        position: relative;
        padding-left: 1.5em;
        font-size: 16px;
        color: #895024; }
        @media screen and (max-width: 1200px) {
          .section-faq .box .row h3 {
            font-size: 1.333vw; } }
        @media screen and (max-width: 640px) {
          .section-faq .box .row h3 {
            font-size: 4.357vw; } }
        .section-faq .box .row h3::before {
          content: "Q.";
          position: absolute;
          top: 0;
          left: 0; }
      .section-faq .box .row .txt-a {
        position: relative;
        margin: 10px 0 0 30px;
        padding-left: 1.5em;
        font-size: 14px;
        line-height: 1.3; }
        @media screen and (max-width: 1200px) {
          .section-faq .box .row .txt-a {
            margin: 0.833vw 0 0 2.5vw;
            font-size: 1.166vw; } }
        @media screen and (max-width: 640px) {
          .section-faq .box .row .txt-a {
            margin: 3.125vw 0 0;
            font-size: 4.062vw;
            line-height: 1.6; } }
        .section-faq .box .row .txt-a::before {
          content: "A.";
          position: absolute;
          top: 0;
          left: 0;
          color: #447caa; }
        @media screen and (max-width: 640px) {
          .section-faq .box .row .txt-a br {
            display: none; } }
