.sec_together_ptn_1 {
  padding-block: 64px;
  background: #fffefa;
  text-align: center;

  .head {
    max-width: 780px;
    margin-inline: auto;

    h2 {
      display: inline-block;
      padding-bottom: 5px;
      background: linear-gradient(var(--heading-line), var(--heading-line)) center bottom / 48% 3px no-repeat;
      color: var(--heading);
      font-size: 37px;
      font-weight: 900;
      line-height: 1.2em;
      letter-spacing: -0.05em;
    }
    p { margin-top: 20px; color: var(--ink-soft); font-size: var(--copy-size); line-height: 1.7em; }
  }

  .list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin-top: 36px;
  }

  .item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 24px;
    background: #fbf8ee;
    border-radius: 16px;
    text-align: left;

    &:nth-child(2) { background: #f2f7ec; }
    .num { display: grid; width: 30px; height: 30px; place-items: center; background: #3f9667; border-radius: 50%; color: #fff; font-size: 12px; font-weight: 800; line-height: 1em; }
    h3 { margin-top: 10px; font-size: 20px; font-weight: 800; }
    p { min-height: 32px; margin-top: 8px; color: var(--ink-soft); font-size: var(--copy-size); line-height: 1.7em; }
    img { width: 100%; aspect-ratio: 2.3; margin-top: 18px; border-radius: 10px; object-fit: cover; }
  }

  @media (max-width: 700px) {
    padding-block: 40px;
    .list { gap: 16px; }
    .item { padding: 18px; h3 { font-size: 17px; } }
  }

  @media (max-width: 580px) {
    .head h2 { font-size: 29px; }
    .list { grid-template-columns: 1fr; max-width: 400px; margin: 25px auto 0; }
    .item { padding-inline: 18px; }
  }
}

.sec_services_ptn_1 {
  padding-block: 64px;
  background: #fffefa;

  .head {
    max-width: 790px;
    margin-inline: auto;
    text-align: center;
    h2 {
      display: inline-block;
      padding-bottom: 5px;
      background: linear-gradient(var(--heading-line), var(--heading-line)) center bottom / 54% 3px no-repeat;
      color: var(--heading);
      font-size: 37px;
      font-weight: 900;
      line-height: 1.2em;
      letter-spacing: -0.05em;
    }
    p { margin-top: 20px; color: var(--ink-soft); font-size: var(--copy-size); line-height: 1.7em; }
  }

  .list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 36px; }
  .item {
    overflow: hidden;
    background: #edf5e9;
    border-radius: 17px;
    &:nth-child(2) { background: #faf1de; }
    &:nth-child(3) { background: #f2f7e8; }
    .art { width: 100%; aspect-ratio: 3.1; object-fit: cover; }
    .body {
      padding: 20px 20px 24px;
      h3 { font-size: 20px; font-weight: 800; }
      p { margin-top: 10px; color: var(--ink-soft); font-size: var(--copy-size); line-height: 1.7em; }
    }
  }
  .footnote { margin-top: 18px; color: #728176; font-size: 14px; line-height: 1.7em; text-align: center; }

  @media (max-width: 700px) {
    padding-block: 40px;
    .list { gap: 16px; }
    .item .body { padding-inline: 16px; h3 { font-size: 17px; } }
  }
  @media (max-width: 580px) {
    .head h2 { font-size: 29px; }
    .list { grid-template-columns: 1fr; max-width: 400px; margin: 25px auto 0; }
    .item .body { padding: 18px 18px 24px; }
  }
}

.sec_plans_ptn_1 {
  padding-block: 64px;
  background: #fffefa;

  .head {
    max-width: 730px;
    margin-inline: auto;
    text-align: center;
    h2 {
      display: inline-block;
      padding-bottom: 5px;
      background: linear-gradient(var(--heading-line), var(--heading-line)) center bottom / 48% 3px no-repeat;
      color: var(--heading);
      font-size: 37px;
      font-weight: 900;
      line-height: 1.2em;
      letter-spacing: -0.05em;
    }
    p { margin-top: 20px; color: var(--ink-soft); font-size: var(--copy-size); line-height: 1.7em; }
  }

  .list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 36px; }
  .item {
    padding: 24px;
    background: #eaf5e9;
    border-radius: 16px;
    text-align: center;
    &:nth-child(2) { background: #fbf4e5; }
    &:nth-child(3) { background: #fff8dd; }
    .top { display: flex; align-items: center; gap: 10px; text-align: left; }
    .clock { color: #3e9867; font-size: 34px; line-height: 1em; }
    h3 { font-size: 20px; font-weight: 800; }
    img { width: 100%; aspect-ratio: 2.8; margin-top: 18px; border-radius: 9px; object-fit: cover; }
    p { margin-top: 12px; color: var(--ink-soft); font-size: var(--copy-size); line-height: 1.7em; }
  }
  .footnote { max-width: 880px; margin: 18px auto 0; color: #6d7e71; font-size: 14px; line-height: 1.7em; text-align: center; }

  @media (max-width: 700px) {
    padding-block: 40px;
    .list { gap: 16px; }
    .item { padding: 18px; h3 { font-size: 17px; } }
  }
  @media (max-width: 580px) {
    .head h2 { font-size: 29px; }
    .list { grid-template-columns: 1fr; max-width: 400px; margin: 25px auto 0; }
    .item { padding-inline: 18px; }
  }
}
