.sec_publications_book {
  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;
    span { display: block; }
    .link {
      display: block;
      color: inherit;
      text-decoration: underline;
      text-decoration-color: #d6bfe6;
      text-decoration-thickness: 1px;
      text-underline-offset: .3em;
      transition: text-decoration-color .3s;
      @media (hover: hover) { &:hover { text-decoration-color: currentColor; } }
      &:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
    }
  }
  .rule_ptn_1 { margin-left: 0; }
  .image {
    margin: 0 auto;
    max-width: 360px;
    width: 100%;
    height: auto;
    display: block;
    border-radius: 4px;
    box-shadow: 0 16px 36px #6b4e7a33;
    @media (max-width: 1000px) { max-width: 300px; }
    @media (max-width: 650px) { max-width: 260px; }
  }
  .buttons {
    margin-top: 28px;
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    @media (max-width: 650px) { flex-direction: column; align-items: stretch; }
  }
  .note { font-size: 16px; @media (max-width: 650px) { font-size: 14px; } }
}
