.newcomers-about {
  padding-top: 90px;
  position: relative;

  &::after {
    content: "";
    position: absolute;
    top: 100%;
    /* 中央上部(50% 0%)を起点に、横幅120%、縦幅100%の楕円で切り取る */
    clip-path: ellipse(62% 75% at 61% 14%);
    width: 100%;
    height: 220px;
    background-color: white;
    z-index: 1;

    @media screen and (max-width: 768px) {
      height: 100px;
    }
  }

  .subsection-title {
    font-family: 'Noto Sans', sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 24px;
    line-height: 150%;
    text-align: center;

    @media screen and (max-width: 768px) {
      font-size: 20px;
    }
  }

  .what-is-vape {
    padding-top: 55px;
    margin-bottom: 48px;

    .subsection-title {
      margin-bottom: 16px;
    }

    .what-is-vape__info {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: flex-start;
      gap: 20px;
      margin-bottom: 50px;

      .what-is-vape__info--left {
        width: 480px;

        .what-is-vape__info--image {
          display: block;
          width: 100%;
          object-fit: contain;
        }
      }

      .what-is-vape_info--right {
        flex: 1;
        font-family: 'Noto Sans', sans-serif;
        font-style: normal;
        font-weight: 400;
        font-size: 14px;
        line-height: 150%;
        color: #000000;
      }
    }
  }

  .vape-types-wrapper {
    overflow: visible;
    margin-bottom: 80px;

    @media screen and (max-width: 768px) {
      padding: 24px;
      overflow-x: hidden;
      overflow-y: visible;
      width: 100vw;
      position: relative;
      top: 0;
      left: -12px;
    }

    .vape-types {
      margin-bottom: 80px;
      align-items: stretch;

      .vape-type {
        background-color: #ecf4eb; /* 薄いグリーン */
        border-radius: 8px; /* 角の丸み */
        padding: 30px 20px; /* 内側の余白 (上下 左右) */
        width: 320px; /* カードの幅（調整可能） */
        display: flex;
        flex-direction: column; /* 縦並び */
        align-items: center; /* 横方向の中央揃え */
        font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
        box-sizing: border-box;
        position: relative;

        .vape-type__name {
          font-size: 20px;
          font-weight: bold;
          margin: 0 0 20px 0;
          color: #000;
          position: absolute;
          top: -18px;
        }

        .vape-type__image-wrapper {
          background-color: #fff;
          width: 240px; /* 白いエリアの幅 */
          height: 240px; /* 白いエリアの高さ */
          border-radius: 8px;
          display: flex;
          justify-content: center;
          align-items: center;
          margin-bottom: 20px;

          @media screen and (max-width: 768px) {
            width: 100%;
          }

          .vape-type__image {
            display: block;
            width: 100%;
          }
        }

        .vape-type__description {
          font-size: 14px;
          line-height: 1.6; /* 行間 */
          color: #333;
          text-align: left; /* 左揃え */
          margin-bottom: 30px;
          width: 100%;
          flex-grow: 1;

          > p {
            margin: 0;
          }
        }

        .vape-type__button-wrapper {
          display: flex;
          flex-direction: row;
          justify-content: center;
          align-items: center;
          padding: 0 15px;
          gap: 10px;

          .vape-type__button {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 260px;
            height: 50px;
            font-family: 'Noto Sans', sans-serif;
            font-style: normal;
            font-weight: 700;
            font-size: 14px;
            line-height: 150%;
            background: rgb(var(--nicobay-green));
            border-radius: 40px;
            color: #fff;
            text-decoration: none;
          }
        }
      }
    }
  }

  .differences-wrapper {
    padding: 40px 35px 60px;
    background-color: rgb(var(--nicobay-green));
    border-radius: 3px;

    @media screen and (max-width: 768px) {
      padding: 40px 12px 60px;
    }

    .subsection-title {
      color: white;
      margin-bottom: 24px;
    }

    .differences {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: center;

      @media screen and (max-width: 768px) {
        gap: 16px;
      }

      .difference {
        max-width: 450px;

        @media screen and (max-width: 768px) {
          width: 100%;
        }

        .difference-image {
          display: block;
          width: 100%;
        }
      }
    }
  }

  .safety {
    padding: 70px 35px;

    .subsection-title {
      margin-bottom: 32px;
    }

    .safety-flex {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: flex-start;
      gap: 30px;

      .safety-feature {
        width: calc(50% - (30px / 2));

        @media screen and (max-width: 768px) {
          width: 100%;
        }

        .safety-feature__title {
          font-family: 'Noto Sans', sans-serif;
          font-style: normal;
          font-weight: 700;
          font-size: 18px;
          line-height: 150%;
          color: rgb(var(--nicobay-green));
        }

        .safety-feature__image-wrapper {
          margin-bottom: 16px;

          .safety-feature__image {
            display: block;
            width: 150px;
            margin: 0 auto;
          }
        }

        .safety-feature__description {
          font-family: 'Noto Sans', sans-serif;
          font-style: normal;
          font-weight: 400;
          font-size: 14px;
          line-height: 150%;
          color: #000000;
          margin-bottom: 28px;

          > p {
            margin: 0;
          }
        }

        .safety-feature__button-wrapper {

          .safety-feature__button {
            display: flex;
            flex-direction: row;
            justify-content: center;
            align-items: center;
            padding: 0 15px;
            gap: 10px;

            width: 200px;
            height: 50px;

            background: rgba(var(--nicobay-green));
            border-radius: 40px;
            margin: 0 auto;

            font-family: 'Noto Sans', sans-serif;
            font-style: normal;
            font-weight: 700;
            font-size: 14px;
            line-height: 150%;
            color: #FFFFFF;
            text-decoration: none;
          }
        }
      }
    }
  }

  .tariff-and-shipping {
    padding: 40px 0;
    background-color: rgb(var(--nicobay-green));
    border-radius: 3px;

    .subsection-title {
      color: white;
      margin-bottom: 30px;
    }

    .tariff-and-shipping__image-wrapper {
      .tariff-and-shipping__image {
        display: block;
        width: 260px;
        margin: 0 auto 40px;
      }
    }

    .tariff-and-shipping__description {
      width: 700px;
      margin: 0 auto 28px;
      font-family: 'Noto Sans', sans-serif;
      font-style: normal;
      font-weight: 400;
      font-size: 14px;
      line-height: 150%;
      color: #FFFFFF;

      @media screen and (max-width: 768px) {
        width: 100%;
        padding: 0 12px;
      }
    }

    .tariff-and-shipping__details {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      flex-wrap: wrap;
      width: 700px;
      margin: 0 auto 40px;

      @media screen and (max-width: 768px) {
        width: 100%;
        padding: 0 12px;
      }

      .tariff-and-shipping__detail {
        width: 50%;
        font-family: 'Noto Sans', sans-serif;
        font-style: normal;
        font-weight: 400;
        font-size: 14px;
        line-height: 150%;
        color: #FFFFFF;

        @media screen and (max-width: 768px) {
          width: 100%;
        }
      }
    }

    .tariff-and-shipping__button-wrapper {
      .tariff-and-shipping__button {
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        padding: 0 15px;
        gap: 10px;

        width: 200px;
        height: 50px;

        background: white;
        border-radius: 40px;
        margin: 0 auto;

        font-family: 'Noto Sans', sans-serif;
        font-style: normal;
        font-weight: 700;
        font-size: 14px;
        line-height: 150%;
        color: rgb(var(--nicobay-green));
        text-decoration: none;
      }
    }
  }
}