.sec_app_price {
  padding: 76px 40px 85px;
  background: linear-gradient(105deg, #f2f9ff, #fff 60%);

  .wrap {
    margin: 0 auto;
    max-width: 1360px;
    display: grid;
    grid-template-columns: minmax(0, .43fr) minmax(0, 1fr);
    align-items: center;
    gap: 27px 46px;
    @media (max-width: 800px) { grid-template-columns: 1fr; }
  }

  .heading {
    .kicker { margin-bottom: 8px; }
    h2 { color: #0b2344; font-size: 36px; font-weight: 800; line-height: 1.4em; letter-spacing: -.03em; }
    > p:last-child { margin-top: 11px; max-width: 420px; color: #607995; font-size: 14px; line-height: 1.8em; }
    @media (max-width: 600px) { h2 { font-size: 28px; } }
  }

  .panel {
    padding: 31px 33px;
    display: grid;
    grid-template-columns: minmax(0, .75fr) minmax(0, 1fr);
    gap: 30px;
    border: 1px solid #d1e4f8;
    border-radius: 9px;
    background: #fff;
    box-shadow: 0 16px 42px #1a5caf10;

    @media (max-width: 600px) { padding: 24px; grid-template-columns: 1fr; gap: 21px; }
  }

  .amount {
    display: flex;
    flex-direction: column;
    justify-content: center;

    p { color: #173760; font-size: 16px; font-weight: 800; line-height: 1.5em; }
    strong { margin-top: 9px; color: #0a2850; font-family: var(--font-jp); font-size: 31px; font-weight: 800; line-height: 1.2em; white-space: nowrap; span { font-family: var(--font-en); font-size: 57px; font-variant-numeric: lining-nums; font-feature-settings: "lnum" 1; vertical-align: baseline; } }
    small { margin-top: 4px; color: #758ba2; font-size: 12px; }
    @media (max-width: 1100px) { strong span { font-size: 48px; } }
    @media (max-width: 600px) { strong span { font-size: 54px; } }
  }

  .scope {
    padding-left: 27px;
    border-left: 2px solid #5d9dff;

    h3 { color: #18385d; font-size: 14px; font-weight: 800; line-height: 1.5em; }
    ul { margin-top: 13px; display: grid; gap: 7px; }
    li { padding-left: 21px; position: relative; color: #5c7692; font-size: 13px; line-height: 1.6em; &::before { position: absolute; top: 5px; left: 0; width: 12px; height: 6px; border-left: 2px solid #1674ef; border-bottom: 2px solid #1674ef; content: ""; transform: rotate(-45deg); } }
    @media (max-width: 600px) { padding: 19px 0 0; border-top: 2px solid #5d9dff; border-left: 0; }
  }

  .note { grid-column: 2; color: #7389a3; font-size: 12px; line-height: 1.8em; @media (max-width: 800px) { grid-column: 1; } }
  @media (max-width: 800px) { padding: 67px 28px 72px; }
  @media (max-width: 600px) { padding: 57px 18px 61px; }
}
