.sec_entry_ptn_1 {
  padding-block: 64px;
  background: radial-gradient(circle at 12% 75%, #2b8058, transparent 32%), linear-gradient(110deg, #0d5838, #0d4b33);
  color: #fff;

  @media (max-width: 760px) {
    padding-block: 52px;
  }

  > .wrap {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 3fr) minmax(0, 0.6fr);
    align-items: center;
    gap: 24px;

    @media (max-width: 1200px) {
      gap: 20px;
    }
    @media (max-width: 900px) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 28px 20px;
    }
  }

  .main {
    min-width: 0;
    text-align: center;

    @media (max-width: 900px) {
      grid-column: 1 / -1;
      grid-row: 1;
    }
  }

  .ttl {
    padding-inline: 24px;
    display: inline-block;
    background: linear-gradient(35deg, transparent 42%, var(--heading-line) 44% 57%, transparent 59%) left center / 14px 14px no-repeat, linear-gradient(-35deg, transparent 42%, var(--heading-line) 44% 57%, transparent 59%) right center / 14px 14px no-repeat;
    color: #fff;
    font-family: var(--font-jp);
    font-size: 38px;
    font-weight: 900;
    line-height: 1.4em;
    letter-spacing: -0.045em;

    @media (max-width: 1200px) {
      font-size: 34px;
    }
    @media (max-width: 900px) {
      font-size: 30px;
    }
    @media (max-width: 600px) {
      padding-inline: 16px;
      background-size: 10px 10px;
      font-size: 26px;
    }
    @media (max-width: 350px) {
      font-size: 24px;
    }
  }

  .lead {
    margin: 20px auto 0;
    max-width: 700px;
    color: #e5efe4;
    font-size: var(--copy-size);
    line-height: 1.75em;
    text-wrap: balance;
  }

  .buttons {
    margin-top: 28px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;

    .btn_ptn_1,
    .btn_ptn_2 {
      min-height: 56px;
      background: var(--white);
      color: #255d40;
      font-size: 16px;

      @media (max-width: 600px) {
        width: 100%;
      }
    }

    @media (max-width: 600px) {
      margin-inline: auto;
      max-width: 380px;
    }
  }

  .note,
  .status {
    margin-top: 20px;
    color: #e5efe4;
    font-size: 16px;
    line-height: 1.75em;
    text-wrap: balance;
  }

  .status {
    margin-top: 8px;
  }

  .image {
    min-width: 0;
    align-self: end;

    @media (max-width: 900px) {
      grid-row: 2;
      justify-self: center;
    }

    &.type_left {
      max-width: 210px;

      @media (max-width: 900px) {
        max-width: 180px;
      }
      @media (max-width: 600px) {
        max-width: 150px;
      }
    }

    &.type_right {
      max-width: 180px;

      @media (max-width: 600px) {
        max-width: 150px;
      }
    }

    img {
      width: 100%;
    }
  }
}
