.sec_reading_reading {
  background: #fffdfc;
  .wrap {
    margin: 0 auto;
    padding: 64px 84px 48px;
    max-width: 1440px;
    @media (max-width: 1200px) { padding-inline: 64px; }
    @media (max-width: 1000px) { padding-inline: 44px; }
    @media (max-width: 733px) { padding: 48px 43px 40px; }
    @media (max-width: 650px) { padding: 48px 24px 40px; }
  }
  .wrap { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 6fr); align-items: center; gap: 56px;
    @media (max-width: 1200px) { gap: 44px; }
    @media (max-width: 1000px) { gap: 32px; }
    @media (max-width: 733px) { gap: 24px; }
    @media (max-width: 650px) { grid-template-columns: minmax(0, 1fr); }
  }
  .main { min-width: 0; }
  .ttl_ptn_1 { --align-ttl: left; }
  .rule_ptn_1 { margin-left: 0; }
  .image { width: 100%; height: auto; display: block; border-radius: 16px;
    @media (max-width: 650px) { margin: 0 auto; max-width: 440px; }
  }
  .buttons { margin-top: 28px; }
  .ttl_ptn_2 { margin-top: 24px; }
  .info {
    margin-top: 24px;
    padding: 24px;
    background: #f6effa;
    border: 1px solid var(--color-border);
    border-radius: 14px;
    .spec {
      margin-top: 0;
      display: grid;
      grid-template-columns: max-content minmax(0, 1fr);
      align-items: baseline;
      gap: 12px 20px;
      @media (max-width: 650px) { grid-template-columns: minmax(0, 1fr); gap: 4px; }
    }
    .label {
      font-size: 16px;
      dd + & { @media (max-width: 650px) { margin-top: 12px; } }
    }
    .price {
      display: grid;
      gap: 4px;
      li { display: flex; align-items: baseline; gap: 16px; }
    }
    .time { min-width: 3em; }
    strong { color: var(--color-rose); font-size: 26px; @media (max-width: 1000px) { font-size: 22px; } }
    .donation {
      margin-top: 16px;
      color: var(--color-text);
      font-size: 16px;
      line-height: 1.8em;
      @media (max-width: 1000px) { font-size: 14px; }
    }
    .buttons { text-align: center; }
  }
}
