@charset "utf-8";
main img {
  max-width: 100%;width: 100%;height:auto;border:0;vertical-align:bottom;display:inline-block;aspect-ratio: unset;
}
/* ↓↓↓ fv ↓↓↓ */
.fv {
  width: 100%;
  height: min(528px, 41.25vw);
  padding: min(32px, 2.5vw) min(32px, 2.5vw) 0;
  @media (max-width: 768px) {
    height: 588px;
    padding: 20px 16px;
  }
}
.fv .content {
  position: relative;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 127, 11, 0.12);
  border-radius: 32px;
  overflow-x: clip;
  @media (max-width: 768px) {
    border-radius: 20px;
    overflow: unset;
  }
  &::before, &::after {
    content: '';
    position: absolute;
    top: 0;
    left: min(128px, 10vw);
    width: min(33px, 2.578125vw);
    height: min(33px, 2.578125vw);
    background: url(../img/common/corner-deco.png) no-repeat;
    background-size: cover;
    @media (max-width: 768px) {
      width: 20px;
      height: 20px;
      left: 76px;
    }
  }
  &::after {
    top: min(136px, 10.625vw);
    left: 0;
    @media (max-width: 768px) {
      top: 81px;
      left: 0;
    }
  }
}
.fv .content .txt-wrap {
  position: relative;
  padding: min(210px, 16.40625vw) 0 0 min(152px, 11.875cqw);
  z-index: 2;
  @media (max-width: 768px) {
    padding: 124px 0 0 26px;
  }
}
.fv .content .txt-wrap .js-txt {
  display: block;
  transform: translateY(calc(100% + .2em));
}
.fv .content .txt-wrap .sub-ttl {
  overflow: hidden;
}
.fv .content .txt-wrap .sub-ttl .js-txt {
  display: flex;
  gap: min(18px, 1.40625vw);
  align-items: flex-end;
  @media (max-width: 768px) {
    gap: 12px;
  }
}
.fv .content .txt-wrap .sub-ttl .icon {
  display: inline-block;
  width: min(42px, 3.28125vw);
  @media (max-width: 768px) {
    width: 27px;
  }
}
.fv .content .txt-wrap .sub-ttl p {
  font-family: var(--text-dongle);
  font-size: min(3.2rem, 3.28125vw);
  font-weight: 700;
  color: var(--color-orange);
  letter-spacing: 0;
  line-height: 0.8;
  @media (max-width: 768px) {
    font-size: 2.1rem;
  }
}
.fv .content .txt-wrap .ttl {
  font-size: min(5.6rem, 4.375vw);
  font-family: var(--text-zen);
  font-weight: 900;
  margin-top: min(10px, 0.78125vw);
  overflow: hidden;
  @media (max-width: 768px) {
    font-size: 3.2rem;
    margin-top: 10px;
    line-height: 1;
  }
}
.fv .content .txt-wrap .txt {
  font-size: min(1.8rem, 1.40625vw);
  font-family: var(--text-zen);
  font-weight: 500;
  margin-top: min(12px, 1.40625vw);
  overflow: hidden;
  @media (max-width: 768px) {
    font-size: 1.5rem;
    letter-spacing: 0;
    margin-top: 10px;
  }
}
.fv .content .img {
  position: absolute;
  top: 0;
  right: 0;
  width: min(1216px, 95vw);
  @media (max-width: 768px) {
    top: unset;
    bottom: 0;
    width: 344px;
    border-bottom-right-radius: 20px;
    overflow: hidden;
  }
}
.fv .content .star {
  position: absolute;
  top: min(140px, 10.9375vw);
  left: min(450px, 35.15625vw);
  width: min(121px, 9.453125vw);
  z-index: 1;
  filter: brightness(1.5);
  @media (max-width: 768px) {
    top: unset;
    bottom: 60px;
    left: 15px;
    width: 72px;
  }
}
.fv .content .deco {
  position: absolute;
  bottom: max(-92px, -7.187499999999999vw);
  right: min(350px, 27.34375vw);
  width: min(208px, 16.25vw);
  scale: 0;
  @media (max-width: 768px) {
    right: unset;
    left: 0px;
    bottom: -61px;
    width: 107px;
  }
}
/* ↑↑↑ fv ↑↑↑ */
/* ↓↓↓ sticky_wrap ↓↓↓ */
.sticky_wrap {
  margin: min(9.84375vw,126px) auto min(10.15625vw,130px);
  @media (max-width: 768px) {
    margin-block: 52px 100px;
  }
}
.sticky_wrap .flex {
  position: relative;
  max-width: 1280px;
  display: flex;
  gap: 60px min(0.9375vw,12px);
  container-type: inline-size;
  margin: 0 auto;

  @media (max-width: 768px) {
    flex-direction: column;
  }
}
.sticky_wrap .flex .anchor_block {
  position: sticky;
  width: 20.9375cqw;
  height: fit-content;
  flex-shrink: 0;
  margin-left: 2.34375cqw;
  top: 64px;
  left: 0;

  @media (max-width: 768px) {
    width: calc(346/375*100vw);
    border: 2px solid #FF7F0B;
    border-radius: 20px;
    background-color: #fff;
    margin: 0 auto;
    top: 20px;
    z-index: 1;
  }

  .list_head {
    position: relative;
    font-size: 4.8rem;
    font-family: var(--text-dongle);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    color: #FF7F0B;
    cursor: pointer;
    padding: 20px 45px 14px 20px;

    &::before,
    &::after {
      content: '';
      position: absolute;
      width: 18px;
      height: 3px;
      background-color: #FF7F0B;
      border-radius: 9999px;
      transition: rotate ease .3s;
      translate: 0 -50%;
      top: 50%;
      right: 24px;
    }
    &::after {
      rotate: 270deg;
    }
  }

  @media (max-width: 768px) {
    .acc_wrap {
      position: relative;
      display: none;
      padding: 0 15px 30px;
    }
  }
  
  .list {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 2.1875cqw;

    @media (max-width: 768px) {
      flex-wrap: wrap;
      flex-direction: row;
      gap: 25px 10px;
      padding-top: 22px;

      &::before {
        content: '';
        position: absolute;
        width: 100%;
        height: 2px;
        background-color: #FF7F0B;
        border-radius: 9999px;
        top: 0;
        left: 0;
      }
    }
  
    .item {
      position: relative;
      width: 100%;
      display: flex;
      justify-content: flex-end;
      overflow: clip;
      padding-right: 2.5cqw;
      transition: padding ease .3s;
      
      @media (min-width: 769px) {
        &:hover {
          padding-right: 1.25cqw;
        }
      }
      @media (max-width: 768px) {
        display: block;
        overflow: unset;
        padding-right: unset;

        &:nth-of-type(odd) {
          width: calc(150/375*100vw);
        }
        &:nth-of-type(even) {
          width: calc(152/375*100vw);
        }
      }

      .anchor {
        position: relative;
        width: 16.71875cqw;
        display: flex;
        line-height: 1;
        align-items: center;
        gap: 0.9375cqw;
        padding: 1.7187500000000002cqw 0 1.875cqw 0.625cqw;

        @media (max-width: 768px) {
          width: 100%;
          border: unset;
          gap: 8px  ;
          padding: unset;
        }

        .deco {
          content: '';
          position: absolute;
          width: auto;
          height: 100%;
          aspect-ratio: 280/58;
          background-image: url(../img/implant/anchor_deco.svg);
          background-repeat: no-repeat;
          background-position: right center;
          background-size: cover;
          translate: 0 -50%;
          top: 50%;
          right: -1.25cqw;
          @media (max-width: 768px) {
            display: none;
          }
        }

        .num {
          font-size: 3.75cqw;
          font-family: var(--text-dongle);
          font-weight: 700;
          line-height: 0;
          letter-spacing: 0;
          color: #FF7F0B;
          padding-top: 0.625cqw;

          @media (max-width: 768px) {
            font-size: 3.2rem;
            padding-top: 8px;
          }
        }
        .txt {
          font-size: 1.5625cqw;
          font-family: var(--text-zen);
          font-weight: 500;
          letter-spacing: -0.02em;
          color: #FF7F0B;

          @media (max-width: 768px) {
            font-size: 1.5rem;
          }
        }
      }
    }
  }
}
.sticky_wrap .flex .container {
  flex: 1;
  display: flex;
  gap: 0;

  .flow_list {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 5.3125cqw;
    padding-right: 10.15625cqw;

    @media (max-width: 768px) {
      gap: 80px;
      padding-inline: 29px 25px;
    }

    .flow .flow_inner {
      position: relative;
      display: flex;

      @media (max-width: 768px) {
        gap: 13px;
      }

      &::before {
        content: '';
        position: absolute;
        width: 0.3125cqw;
        height: calc((100% - (6.015625cqw + 0.625cqw) + (5.3125cqw - 1.640625cqw)));
        background-color: #FF7F0B;
        border-radius: 9999px;
        top: calc(6.015625cqw + 0.625cqw);
        left: 2.8125cqw;

        @media (max-width: 768px) {
          width: 3px;
          height: calc((100% - (54px + 5px) + (80px - 8px)));
          top: calc(54px + 5px);
          left: 25px;
        }
      }

      &:last-of-type::before {
        height: calc((100% - (6.015625cqw + 0.625cqw) + 0.9375cqw));

        @media (max-width: 768px) {
          height: calc((100% - (54px + 5px)));
        }
      }

      .num {
        width: 6.015625cqw;
        aspect-ratio: 1/1;
        height: fit-content;
        font-size: 5cqw;
        line-height: 1;
        font-family: var(--text-dongle);
        font-weight: 700;
        color: #FF7F0B;
        background-image: url(../img/implant/flow_num_deco.svg);
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        display: flex;
        justify-content: center;
        align-items: center;
        padding-top: 0.78125cqw;
        flex-shrink: 0;

        @media (max-width: 768px) {
          width: 54px;
          aspect-ratio: 1/1;
          font-size: 4.6rem;
          flex-shrink: 0;
          padding-top: 8px;
        }
      }
    
      .conts {
        flex: 1;
        @media (max-width: 768px) {
          width: calc(100% - 54px - 13px);
        }
    
        .conts_ttl {
          font-size: 3.125cqw;
          font-family: var(--text-zen);
          font-weight: 500;
          letter-spacing: 0;
          color: #FF7F0B;
          padding-top: 0.390625cqw;
          margin-left: 0.9375cqw;

          @media (max-width: 768px) {
            font-size: 2.6rem;
            padding-top: 4px;
            margin-left: unset;

            .s_txt {
              font-size: 2rem;
              display: inline-block;
            }
          }
        }
      }
    }

    .flow01 {
      .inner_flex {
        display: flex;
        gap: 16px 1.7187500000000002cqw;
        margin-top: 3.125cqw;
        margin-left: 0.9375cqw;

        @media (max-width: 768px) {
          flex-direction: column;
          margin-top: 18px;
          margin-left: unset;
        }

        .txt {
          font-size: max(1.25cqw,1rem);
          font-weight: 400;
          line-height: 1.75;
          letter-spacing: 0;
          text-align: justify;
          overflow-wrap: anywhere;
          word-break: normal;
          line-break: strict;
          flex: 1;

          @media (max-width: 768px) {
            font-size: 1.5rem;
            line-height: 1.8666666666666667;
          }
        }

        .img {
          width: 19.296875cqw;
          display: block;
          flex-shrink: 0;
          margin-top: -1.7187500000000002cqw;
          margin-right: -1.015625cqw;

          @media (max-width: 768px) {
            width: 100%;
            margin: 0 auto;
          }
        }
      }
      .list {
        display: flex;
        flex-wrap: wrap;
        gap: 2.109375cqw;
        margin-top: 5.078125cqw;

        @media (max-width: 768px) {
          gap: 24px;
          margin-top: 32px;
        }

        .item {
          width: calc((100% - 2.109375cqw)/2);
          min-height: 27.500000000000004cqw;
          background-color: rgba(255, 127, 11,.12);
          border: 0.78125cqw solid transparent;
          border-radius: 5cqw;
          padding: 2.34375cqw 2.5cqw;

          @media (max-width: 768px) {
            width: 100%;
            min-height: unset;
            border-width: 8px;
            border-radius: 32px;
            padding: 27px 22px 30px;
          }
          
          &:last-of-type {
            border-color: rgba(255, 127, 11,.12);
            background-color: unset;
          }

          .head {
            font-size: 1.875cqw;
            font-family: var(--text-zen);
            font-weight: 500;
            line-height: 1.3333333333333333;
            letter-spacing: 0;
            color: #FF7F0B;

            @media (max-width: 768px) {
              font-size: 2rem;
              line-height: 1.3;
            }
          }

          .txt {
            font-size: max(1.25cqw,1rem);
            font-weight: 400;
            line-height: 1.75;
            letter-spacing: 0;
            text-align: justify;
            overflow-wrap: anywhere;
            word-break: normal;
            line-break: strict;
            margin-top: 1.40625cqw;

            @media (max-width: 768px) {
              font-size: 1.5rem;
              line-height: 1.8666666666666667;
              margin-top: 10px;
            }
          }
        }
      }
    }
    .flow02 {
      .list {
        column-count: 2;
        column-gap: 2.109375cqw;
        margin-top: 5.078125cqw;

        @media (max-width: 768px) {
          display: flex;
          flex-direction: column;
          gap: 24px;
        }

        :is(.left_block,.right_block) {
          width: calc((100% - 2.109375cqw)/2);
          display: flex;
          gap: 2.5cqw;
          flex-direction: column;

          @media (max-width: 768px) {
            width: 100%;
          }
        }

        .item {
          width: 100%;
          background-color: rgba(255, 127, 11,.12);
          border-radius: 5cqw;
          -webkit-column-break-inside: avoid;
          page-break-inside: avoid;
          break-inside: avoid;
          padding: 3.125cqw 3.4375000000000004cqw;

          @media (max-width: 768px) {
            border-radius: 32px;
            padding: 36px 24px 40px;
          }

          &+.item {
            margin-top: 2.109375cqw;

            @media (max-width: 768px) {
              margin-top: unset;
            }
          }

          @media (max-width: 768px) {
            &.item01 {
              order: 1;
            }
            &.item02 {
              order: 2;
            }
            &.item03 {
              order: 3;
            }
            &.item04 {
              order: 4;
            }
            &.item05 {
              order: 5;
            }
            &.item06 {
              order: 6;
            }
            &.item07 {
              order: 7;
            }
          }

          .head {
            font-size: 1.875cqw;
            font-family: var(--text-zen);
            font-weight: 500;
            line-height: 1.3333333333333333;
            letter-spacing: 0;
            color: #FF7F0B;
            display: block;
            text-indent: -0.8em;
            padding-left: 0.8em;
            margin-right: -1.953125cqw;

            @media (max-width: 768px) {
              font-size: 2rem;
              letter-spacing: -0.06em;
              line-height: 1.3;
              margin-right: -14px;
            }

            .s_txt {
              font-size: 1.484375cqw;

              @media (max-width: 768px) {
                font-size: 1.5rem;
              }
            }
          }

          .txt {
            font-size: max(1.25cqw,1rem);
            font-weight: 400;
            line-height: 1.75;
            letter-spacing: 0;
            text-align: justify;
            overflow-wrap: anywhere;
            word-break: normal;
            line-break: strict;
            margin-top: 1.40625cqw;

            @media (max-width: 768px) {
              font-size: 1.5rem;
              line-height: 1.8666666666666667;
              margin-top: 10px;
            }
          }

          .img {
            width: 100%;
            display: block;
            margin-top: 1.5625cqw;

            @media (max-width: 768px) {
              margin-top: 28px;
            }
          }
        }
      }
    }
    .flow03 {
      .list {
        display: flex;
        flex-direction: column;
        gap: 1.25cqw;
        margin-top: 4.0625cqw;

        @media (max-width: 768px) {
          gap: 24px;
          margin-top: 32px;
        }

        .item {
          border-radius: 5cqw;
          background-color: rgba(255, 127, 11, .12);
          padding: 2.96875cqw 3.28125cqw 5cqw;

          @media (max-width: 768px) {
            border-radius: 32px;
            padding: 34px 24px 42px;
          }

          .item_head {
            font-size: 1.875cqw;
            font-family: var(--text-zen);
            font-weight: 500;
            line-height: 1.3;
            letter-spacing: 0;
            color: #FF7F0B;

            @media (max-width: 768px) {
              font-size: 2rem;
            }
          }

          .item_txt {
            font-size: max(1.25cqw,1rem);
            font-weight: 400;
            line-height: 1.75;
            letter-spacing: 0;
            text-align: justify;
            overflow-wrap: anywhere;
            word-break: normal;
            line-break: strict;
            margin-top: 0.9375cqw;

            @media (max-width: 768px) {
              font-size: 1.5rem;
              margin-top: 6px;
            }
          }
          .block {
            margin-top: 3.125cqw;

            @media (max-width: 768px) {
              margin-top: 10px;
            }

            .block_head {
              font-size: 1.875cqw;
              font-family: var(--text-zen);
              font-weight: 500;
              letter-spacing: 0;
              color: #FF7F0B;

              @media (max-width: 768px) {
                font-size: 1.5rem;
              }
            }

            .img_wrap {
              position: relative;
              width: 100%;
              display: block;
              margin-top: 1.5625cqw;

              @media (max-width: 768px) {
                margin-top: 25px;
              }

              .scroll_wrap {
                width: 100%;
                overflow-x: scroll;
                -ms-overflow-style: none;
                scrollbar-width: none;

                @media (max-width: 768px) {
                  width: auto;
                  padding-inline: 24px;
                  margin-inline: -24px;
                }

                &::-webkit-scrollbar {
                  display: none;
                }
              }

              .img {
                position: relative;
                width: 100%;
                display: block;

                @media (max-width: 768px) {
                  &::before {
                    content: '';
                    position: absolute;
                    width: 24px;
                    height: auto;
                    aspect-ratio: 1/1;
                    translate: 100% 0;
                    top: 0;
                    right: 0;
                  }
                }
              }
            }
          }

          &.item02 {
            .block .img_wrap {
              .img {
                width: 42.8125cqw;
  
                @media (max-width: 768px) {
                  width: 100%;
                }
              }
            }
          }
          &.item03 {
            .block .img_wrap {
              @media (max-width: 768px) {
                margin-top: 0;
              }
              .img {
                width: 100%;

                @media (max-width: 768px) {
                  width: calc(680/375*100vw);
                }
              }
            }
          }
          &.item05 {
            .block .img_wrap {
              .img {
                width: 45cqw;
                margin: 0 auto;
  
                @media (max-width: 768px) {
                  width: 100%;
                }
              }
            }
          }
          &.item06 {
            .block .img_wrap {
              .img {
                width: 48.75cqw;
  
                @media (max-width: 768px) {
                  width: calc(495/375*100vw);
                }
              }
            }
            .block:last-of-type .img_wrap {
              .img {
                width: 41.875cqw;
                margin: 0 auto;
                
                @media (max-width: 768px) {
                  width: 100%;
                }
              }
            }
          }

          .scrollhint {
            display: none;

            @media (max-width: 768px) {
              display: block;
              position: absolute;
              translate: -50% -50%;
              top: 50%;
              /* top: calc((51 + 8) * ((100vw - 375px) / (768 - 375)) - 8px); */
              left: 50%;
              width: 131px;
            }
          }
        }
      } 
    }

    .flow04 {
      .list {
        display: flex;
        flex-direction: column;
        gap: 1.09375cqw;
        margin-top: 3.125cqw;

        @media (max-width: 768px) {
          gap: 16px;
          margin-top: 30px;
        }

        .item {
          border: 0.78125cqw solid rgba(255, 127, 11,.12);
          border-radius: 5cqw;
          padding: 2.34375cqw 2.96875cqw 2.96875cqw;

          @media (max-width: 768px) {
            border-width: 8px;
            border-radius: 32px;
            padding: 36px 14px 36px 18px;
          }

          .block {
            display: flex;
            gap: 1.5625cqw;
            align-items: flex-start;

            @media (max-width: 768px) {
              gap: 4px;
            }

            .initial {
              font-size: 5cqw;
              font-family: var(--text-dongle);
              font-weight: 700;
              line-height: 0;
              letter-spacing: 0;
              color: #FF7F0B;

              @media (max-width: 768px) {
                font-size: 5.6rem;
              }
            }

            &.q_block {
              .initial {
                padding-top: 1.875cqw;

                @media (max-width: 768px) {
                  padding-top: 15px;
                }
              }
              .txt {
                font-size: 1.875cqw;
                font-family: var(--text-zen);
                font-weight: 500;
                letter-spacing: 0;
                color: #FF7F0B;
                
                @media (max-width: 768px) {
                  font-size: 1.8rem;
                  line-height: 1.2777777777777777;
                }
              }
            }
            &.a_block {
              margin-top: 0.9375cqw;

              @media (max-width: 768px) {
                margin-top: 20px;
              }
              
              .initial {
                padding-top: 2.03125cqw;

                @media (max-width: 768px) {
                  padding-top: 22px;
                }
              }

              .txt {
                font-size: 1.25cqw;
                font-weight: 400;
                line-height: 1.8666666666666667;
                letter-spacing: 0;
                text-align: justify;
                overflow-wrap: anywhere;
                word-break: normal;
                line-break: strict;

                @media (max-width: 768px) {
                  font-size: 1.5rem;
                }

                .txtlink {
                  text-decoration: underline;
                  color: #601863;
                  transition: opacity
                  ease .3s;
                  
                  @media (min-width: 769px) {
                    &:hover {
                      opacity: .7;
                      text-decoration: none;
                    }
                  }
                }
              }
            }
          }
        }
      }
    }

    .flow05 {
      .txt {
        font-size: max(1.25cqw,1rem);
        font-weight: 400;
        line-height: 1.75;
        letter-spacing: 0;

        @media (max-width: 768px) {
          font-size: 1.5rem;
        }
      }
      .conts_ttl+.txt {
        margin-top: 2.8125cqw;

        @media (max-width: 768px) {
          margin-top: 24px;
        }
      }
      .list+.txt {
        margin-top: 1.25cqw;

        @media (max-width: 768px) {
          margin-top: 22px;
        }
      }

      .list {
        display: flex;
        gap: 24px 1.875cqw;
        margin-top: 1.7187500000000002cqw;

        @media (max-width: 768px) {
          flex-direction: column;
          margin-top: 25px;
        }

        .item {
          flex: 1;
          background-color: rgba(255, 127, 11, 0.12);
          border-radius: 2.5cqw;
          display: flex;
          flex-direction: column;
          gap: 2.34375cqw;
          align-items: center;
          padding: 1.5625cqw 0.78125cqw 2.1875cqw;

          @media (max-width: 768px) {
            border-radius: 32px;
            gap: 25px;
            padding: 36px 10px;
          }

          .item_txt {
            position: relative;
            font-size: 1.5625cqw;
            font-family: var(--text-zen);
            font-weight: 500;
            letter-spacing: 0;
            text-align: center;
            color: #FF7F0B;

            @media (max-width: 768px) {
              font-size: 2rem;
            }

            &+.item_txt::before {
              content: '';
              position: absolute;
              width: 1.25cqw;
              height: auto;
              aspect-ratio: 16/17;
              background-image: url(../img/implant/flow05_arrow.svg);
              background-repeat: no-repeat;
              background-position: center;
              background-size: contain;
              translate: -50% -100%;
              top: -0.46875cqw;
              left: 50%;

              @media (max-width: 768px) {
                width: 16px;
                top: -4px;
              }
            }
          }
        }
      }
    }

    .flow06 {

      .block01 {
        border-radius: 5cqw;
        background-color: rgba(255, 127, 11,.12);
        padding: 2.8125cqw 3.4375000000000004cqw;
        margin-top: 4.0625cqw;

        @media (max-width: 768px) {
          border-radius: 32px;
          padding: 36px 24px 40px;
          margin-top: 30px;
        }

        .head {
          font-size: 1.875cqw;
          font-family: var(--text-zen);
          font-weight: 500;
          line-height: 1.3333333333333333;
          letter-spacing: 0;
          color: #FF7F0B;

          @media (max-width: 768px) {
            font-size: 2rem;
            line-height: 1.6;
          }
        }

        .txt {
          font-size: max(1.25cqw,1rem);
          font-weight: 400;
          line-height: 1.75;
          letter-spacing: 0;
          text-align: justify;
          overflow-wrap: anywhere;
          word-break: normal;
          line-break: strict;
          margin-top: 1.875cqw;

          @media (max-width: 768px) {
            font-size: 1.5rem;
            margin-top: 12px;
          }
        }
      }
      .block02 {
        background-color: #F5F5F5;
        border-radius: 5cqw;
        padding: 2.8125cqw 3.4375000000000004cqw;
        margin-top: 1.25cqw;

        @media (max-width: 768px) {
          border-radius: 32px;
          padding: 36px 24px 40px;
          margin-top: 24px;
        }

        .head {
          font-size: 1.40625cqw;
          font-family: var(--text-zen);
          font-weight: 500;
          letter-spacing: 0;
          color: #FF7F0B;

          @media (max-width: 768px) {
            font-size: 1.6rem;
          }
        }

        .txt {
          font-size: max(1.25cqw,1rem);
          font-weight: 400;
          line-height: 1.75;
          letter-spacing: 0;
          text-align: justify;
          overflow-wrap: anywhere;
          word-break: normal;
          line-break: strict;
          margin-top: 0.9375cqw;

          @media (max-width: 768px) {
            font-size: 1.5rem;
            margin-top: 12px;
          }
        }
      }
      .block03 {
        border-radius: 5cqw;
        border: 0.3125cqw solid rgba(255, 127, 11,.12);
        padding: 2.5cqw 3.125cqw;
        margin-top: 1.25cqw;

        @media (max-width: 768px) {
          border-radius: 32px;
          border-width: 8px;
          padding: 28px 16px 32px;
          margin-top: 24px;
        }

        .head {
          font-size: 1.40625cqw;
          font-family: var(--text-zen);
          font-weight: 500;
          letter-spacing: 0;
          color: #FF7F0B;

          @media (max-width: 768px) {
            font-size: 1.6rem;
          }
        }

        .img_wrap {
          position: relative;
          width: auto;
          display: block;
          margin: 0.9375cqw -1.875cqw 0 -1.25cqw;

          @media (max-width: 768px) {
            width: 100%;
            margin: 16px auto 0;
          }

          .scroll_wrap {
            width: 100%;
            overflow-x: scroll;
            -ms-overflow-style: none;
            scrollbar-width: none;

            @media (max-width: 768px) {
              width: auto;
              padding-inline: 16px;
              margin-inline: -16px;
            }

            &::-webkit-scrollbar {
              display: none;
            }

            .img {
              position: relative;
              width: 100%;
              display: block;

              @media (max-width: 768px) {
                width: min(calc(714/375*100vw),800px);
                
                &::before {
                  content: '';
                  position: absolute;
                  width: 24px;
                  height: auto;
                  aspect-ratio: 1/1;
                  translate: 100% 0;
                  top: 0;
                  right: 0;
                }
              }
            }
          }

          .scrollhint {
            display: none;

            @media (max-width: 768px) {
              display: block;
              position: absolute;
              translate: -50% -50%;
              top: 50%;
              left: 50%;
              width: 131px;
            }
          }
        }
      }
      .block04 {
        margin-top: 2.34375cqw;

        @media (max-width: 768px) {
          margin-top: 24px;
        }

        .head {
          font-size: 1.40625cqw;
          font-family: var(--text-zen);
          font-weight: 500;
          letter-spacing: 0;
          color: #FF7F0B;

          @media (max-width: 768px) {
            font-size: 1.6rem;
          }
        }

        .inner_flex {
          display: flex;
          gap: 3.125cqw;
          align-items: flex-start;
          margin-top: 1.25cqw;

          @media (max-width: 768px) {
            flex-direction: column;
            gap: 12px;
            margin-top: 12px;
          }
        }

        .img_wrap {
          position: relative;
          width: 30.078125cqw;
          display: block;
          flex-shrink: 0;

          @media (max-width: 768px) {
            width: 100%;
          }

          .scroll_wrap {
            width: 100%;
            overflow-x: scroll;
            -ms-overflow-style: none;
            scrollbar-width: none;

            &::-webkit-scrollbar {
              display: none;
            }

            @media (max-width: 768px) {
              width: auto;
              margin-right: -25px;
            }

            .img {
              position: relative;
              width: 100%;
              display: block;

              @media (max-width: 768px) {
                width: min(calc(384/375*100vw),800px);
                
                &::before {
                  content: '';
                  position: absolute;
                  width: 25px;
                  height: auto;
                  aspect-ratio: 1/1;
                  translate: 100% 0;
                  top: 0;
                  right: 0;
                }
              }
            }
          }

          .cap {
            font-size: max(1.015625cqw,1rem);
            margin-top: 0.78125cqw;
            margin-left: 1.25cqw;

            @media (max-width: 768px) {
              font-size: 1.3rem;
              margin-top: 12px;
              margin-left: 16px;
            }
          }

          .scrollhint {
            display: none;

            @media (max-width: 768px) {
              display: block;
              position: absolute;
              translate: -50% -50%;
              top: 50%;
              left: 50%;
              width: 131px;
            }
          }
        }

        .txt {
          flex: 1;
          font-size: max(1.09375cqw,1rem);
          font-weight: 400;
          line-height: 1.7142857142857142;
          letter-spacing: 0;

          @media (max-width: 768px) {
            font-size: 1.3rem;
            line-height: 1.8461538461538463;
          }
        }
      }
      .block05 {
        background-color: #F5F5F5;
        border-radius: 5cqw;
        padding: 2.8125cqw 3.4375000000000004cqw;
        margin-top: 2.5cqw;

        @media (max-width: 768px) {
          border-radius: 32px;
          padding: 36px 24px 40px;
          margin-top: 24px;
        }

        .head {
          font-size: 1.40625cqw;
          font-family: var(--text-zen);
          font-weight: 500;
          letter-spacing: 0;
          color: #FF7F0B;

          @media (max-width: 768px) {
            font-size: 1.6rem;
          }
        }

        .txt {
          font-size: max(1.09375cqw,1rem);
          font-weight: 400;
          line-height: 1.7142857142857142;
          letter-spacing: 0;
          text-align: justify;
          overflow-wrap: anywhere;
          word-break: normal;
          line-break: strict;
          margin-top: 1.5625cqw;

          @media (max-width: 768px) {
            font-size: 1.5rem;
            margin-top: 12px;
          }
        }
      }
    }
  }
}
/* ↑↑↑ sticky_wrap ↑↑↑ */
footer .content .goTOP {
  position: absolute;
  width: 3.28125cqw;
  translate: 0 -100%;
  top: -1.5625cqw;
  right: 2.5cqw;
  transition: opacity ease .3s;
  
  @media (min-width: 769px) {
    &:hover {
      opacity: .7;
    }
  }

  @media (max-width: 768px) {
    width: 32px;
    top: -14px;
    right: 24px;
  }
}