main {
  .fukidashi {
    max-width: 230px;
    margin: 0 auto 40px;
    padding: 20px 18px;
    text-align: center;
    border: 1px solid var(--Blue-BL1);
    border-radius: 10px;
    color: #000;
    color: var(--Blue-BL1);
    font-weight: 700;
    position: relative;
    em {
      text-decoration: none;
      color: var(--Red-RD1);
      display: block;
    }
    &::before {
      content: "";
      position: absolute;
      bottom: 0;
      left: 50%;
      border-style: solid;
      border-width: 8px 8px 0 8px;
      border-color: var(--Blue-BL1) transparent transparent;
      translate: -50% 100%;
    }
    &::after {
      content: "";
      position: absolute;
      bottom: 0;
      left: 50%;
      border-style: solid;
      border-width: 6.6px 6.6px 0 6.6px;
      border-color: var(--White-WH1) transparent transparent;
      translate: -50% 100%;
    }
  }
  .about {
    .mv {
      width: 100%;
    }
    p.lead {
      margin-top: 60px;
    }
    .col3_box {
      margin-top: 49px;
      display: flex;
      flex-direction: column;
      gap: 49px;
      & > div {
        h3 {
          position: relative;
          border-radius: 4px;
          background: var(--Black-BK4);
          padding: 24px 0px;
          text-align: center;
          .step_ttl {
            position: absolute;
            top: -13px;
            left: 0;
            right: 0;
            margin: auto;
            background: var(--Blue-BL3);
            width: 80px;
            border-radius: 100px;
            padding: 5px 0;
            line-height: 1;
            text-align: center;
            color: var(--Blue-BL1);
            font-size: 15px;
            font-weight: 700;
            span {
              margin-left: 4px;
            }
          }
        }
        ul.point {
          margin: 24px 0;
          li {
            font-size: 18px;
            font-style: normal;
            font-weight: 700;
            line-height: 140%;
            position: relative;
            padding-left: 34px;
            & + li {
              margin-top: 8px;
            }
            &::before {
              content: "";
              width: 26px;
              height: 26px;
              padding: 2px;
              display: block;
              position: absolute;
              left: 0;
              -webkit-mask-repeat: no-repeat;
              mask-repeat: no-repeat;
              -webkit-mask-size: contain;
              mask-size: contain;
              background-color: var(--Blue-BL1); /* 色を指定 */
              -webkit-mask-image: url(../../img/icon/icon_check.svg);
              mask-image: url(../../img/icon/icon_check.svg);
            }
          }
          span {
            color: var(--Blue-BL1);
          }
        }
      }
    }
    .fukidashi {
      margin-top: 60px;
    }
    h5 {
      margin-top: 20px;
    }
  }
  .step {
    & > .inner > picture {
      margin: 32px 0;
      display: block;
    }
    .step_ttl {
      background: var(--Blue-BL3);
      width: 96px;
      margin: 0 auto 24px;
      padding: 6px 0;
      border-radius: 100px;
      line-height: 1;
      text-align: center;
      color: var(--Blue-BL1);
      font-size: 18px;
      font-weight: 700;
      span {
        margin-left: 4px;
      }
    }
    .icon {
      border-radius: 50%;
      background: var(--Black-BK4);
      display: flex;
      justify-content: center;
      align-items: center;
      img {
        width: 56%;
      }
    }
    .title {
      display: flex;

      h3 {
        margin: 0;
      }
    }
  }
  .tab_box {
    display: flex;
    flex-wrap: wrap;
    max-width: 100%;
    & > label {
      flex: 1 1;
      order: -1;
      font-size: 15px;
      display: flex;
      height: 60px;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      /* width: calc(100% / 3); */
      background-color: #fff;
      color: var(--Black-BK2);
      text-align: center;
      cursor: pointer;
      position: relative;
      &::before {
        content: "";
        width: 100%;
        height: 3px;
        position: absolute;
        bottom: 0;
        border-bottom: 1px solid var(--Black-BK3);
      }
    }
    & > label:hover {
      opacity: 0.8;
    }
    & input {
      display: none;
    }
    & > div {
      display: none;
      width: 100%;
      padding: 1.5em 1em;
      background-color: #fff;
    }
    label:has(:checked) {
      color: var(--Black-BK1);
      &::before {
        border-bottom: 3px solid var(--Black-BK1);
      }
      &::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 50%;
        border-style: solid;
        border-width: 6px 6px 0 6px;
        border-color: var(--Black-BK1) transparent transparent;
        translate: -50% 100%;
      }
    }
    label:has(:checked) + div {
      display: block;
    }
  }
  #step1 {
    ul.list {
    }
    ul.list li {
      &::before {
        background-color: var(--Black-BK1); /* 色を指定 */
      }
    }
    .method01 {
      display: flex;
      flex-direction: column;
      gap: 24px;
      margin: 24px 0;
      .content01 {
        display: flex;
        justify-content: center;
        gap: 12px;
        > div {
          width: 130px;
          height: 130px;
          border-radius: 50%;
          background-color: var(--Black-BK4);
          display: flex;
          justify-content: center;
          align-items: center;
          p {
            text-align: center;
            color: var(--Blue-BL1);
            font-size: 18px;
            font-weight: 700;
          }
        }
      }
    }
    .method02 {
      display: flex;
      flex-direction: column;
      gap: 24px;
      h4 {
        color: var(--Blue-BL1);
      }
      .content {
        display: flex;
        flex-wrap: wrap;
        gap: 16px;
        h4 {
          width: 100%;
        }
        .img {
          width: 32.5%;
        }
        .txt {
          width: 62.7%;
        }
      }
    }
    .meyasu {
      width: 100%;
      margin: 24px 0;
    }
  }

  #step2 {
    .type {
      .col3_box {
        display: flex;
        flex-direction: column;
        gap: 24px;
        & > div {
          display: flex;
          justify-content: center;
          gap: 16px;
          .pict {
            display: flex;
            width: 41.8%;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            gap: 4px;
            .icon {
              width: 100px;
              height: 100px;
            }
            h5 {
              margin-top: 0;
            }
          }
          .txt {
            width: 53.4%;
          }
        }
      }
    }
    .point {
      margin-top: 36px;
      h3 {
        margin-bottom: 16px;
        padding: 16px 0px;
        border-radius: 4px;
        background: var(--Blue-BL4);
        text-align: center;
        span {
          color: var(--Blue-BL1);
        }
      }
      .col3_box {
        display: flex;
        gap: 12px;
        position: relative;
        & > div {
          padding: 20px 24px 24px 24px;
          min-width: 280px;
          flex: 1;
          border-radius: 4px;
          border: 1px solid var(--Black-BK3);
          background: var(--White-WH1);
          display: flex;
          flex-direction: column;
          h4 {
            display: flex;
            /* justify-content: center; */
            align-items: center;
            gap: 12px;
            margin-bottom: 4px;
            .icon {
              width: 54px;
              height: 54px;
            }
          }
          p {
            margin-top: 1em;
            margin-bottom: 0;
          }
          .person {
            text-align: right;
            margin-top: auto;
            padding-top: 16px;
            img {
              width: 72px;
              height: 72px;
            }
          }
        }
      }
    }
    .title {
      align-items: center;
      gap: 16px;
      margin-top: 56px;
      margin-bottom: 24px;
      .icon {
        width: 72px;
        height: 72px;
      }
      h3 {
      }
    }
    .btn.btn_bl {
      margin-top: 36px;
    }
  }
  #step3 {
    .col2_box {
      display: flex;
      flex-direction: column;
      gap: 23px;
      .pict {
      }
      .txt {
        h3 {
          margin-top: 24px;
          font-size: 15px;
          &:first-child {
            margin-top: 0;
          }
        }
        p {
          margin-top: 24px;
          font-size: 15px;
          font-weight: 700;
          color: var(--Blue-BL1);
        }
      }
    }
  }
}

@media (min-width: 576px) and (max-width: 1023px) {
  /* タブレット用（必要に応じて） */
}
@media (min-width: 576px) {
  main {
    .about {
      .mv {
        max-width: 1120px;
        margin-left: auto;
        margin-right: auto;
      }

      .col3_box {
        width: 100%;
        flex-direction: row;
        gap: 24px;
        margin-top: 53px;
        & > div {
          flex: 1;
          display: flex;
          flex-direction: column;
          h3 {
            .step_ttl {
              top: -15px;
              width: 85px;
              padding: 7px 0;
              font-size: 16px;
            }
          }
          ul.point {
            flex-grow: 1;
            li {
              font-size: 20px;
            }
          }
          .link_anchor {
            display: block;
          }
        }
      }
    }
    .step {
      & > .inner > picture {
        margin: 32px 0;
        display: block;
      }
      .step_ttl {
        width: 122px;
        margin: 0 0 16px;
        padding: 8px 0;
        font-size: 22px;
      }
      .icon {
        border-radius: 50%;
        background: var(--Black-BK4);
        display: flex;
        justify-content: center;
        align-items: center;
        img {
          width: 56%;
        }
      }
      .title {
        display: flex;

        h3 {
          margin: 0;
        }
      }
    }
    #step1 {
      .method01 {
        flex-direction: row;
        gap: 36px;
        justify-content: center;
        align-items: center;
        margin: 36px 0;
        .content02 {
          max-width: 540px;
        }
      }
      .method02 {
        flex-direction: row;
        gap: 36px;
      }
      .meyasu {
        margin: 32px auto 40px;
        max-width: 55%;
      }
    }
    #step2 {
      .type {
        .col3_box {
          flex-direction: row;
          gap: 36px;
          & > div {
            flex-direction: column;
            flex: 1;
            .pict {
              width: 100%;
              gap: 16px;
            }
            .txt {
              width: 100%;
            }
          }
        }
      }
      .point {
        margin-top: 40px;
        h3 {
          margin-bottom: 20px;
        }
        .col3_box {
          gap: 24px;
          & > div {
            h4 {
              margin-bottom: 12px;
              .icon {
                width: 60px;
                height: 60px;
              }
            }
            ul.list {
              margin-bottom: 0;
            }
          }
        }
      }
      .title {
        flex-direction: column;
        gap: 12px;
        margin-top: 80px;
        margin-bottom: 20px;
        .icon {
          width: 80px;
          height: 80px;
        }
      }
      .btn.btn_bl {
        margin-top: 32px;
      }
    }
    #step3 {
      .col2_box {
        flex-direction: row;
        gap: 32px;
        .pict {
          order: 1;
          max-width: 360px;
        }
        .txt {
          order: 0;
          flex-grow: 1;
        }
        .list_row {
          display: flex;
          gap: 17px;
          li + li {
            margin-top: 0;
          }
        }
      }
    }
  }
}
