/* レイアウト全体 */
.ebook-page-layout {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  width: 100%;
  max-width: 1800px;
  margin: 0 auto;
  padding: 20px ;
  min-height: 100vh;
}

/* PC: 5.5 : 4.5（gap:30px 前提） */
.ebook-content {
  flex: 1 1 calc(55% - 15px);
  width: calc(55% - 15px);
  min-width: 360px; /* 任意：不要なら削除OK */
}

/* フォーム側（背景・パディング等は現状維持） */
.ebook-form-area {
  flex: 1 1 calc(45% - 15px);
  width: calc(45% - 15px);
  min-width: 400px; /* 推奨：フォームが潰れない下限 */
  background-color: #FAFBFC;
  border-radius: 8px;
}

/* HubSpotフォーム幅調整 */
.hbspt-form,
.hs-form-frame {
  width: 100% !important;
  max-width: 100% !important;
}

/* レスポンシブ */
@media (max-width: 1024px) {
  .ebook-page-layout {
    flex-direction: column;
    gap: 0;
    padding: 0;
    align-items: flex-start;
    text-align: left;
    width: 100%;
    margin: 0;
  }

  .ebook-content,
  .ebook-form-area {
    width: 100%;
    min-width: auto;
    margin: 0;
  }

  .ebook-content .post_content {
    text-align: left;
    padding: 0 15px;
  }

  .ebook-content .post_content p {
    text-align: left;
    margin-bottom: 15px;
  }

  .ebook-form-area {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: 15px;
    margin-top: 20px;
  }

  .hbspt-form,
  .hs-form-frame {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* フォームの見た目 */
.hbspt-form .hs-form-field {
  margin-bottom: 20px;
}
.hbspt-form .hs-button {
  width: 100%;
  padding: 12px 24px;
  background-color: #007cba;
  color: #fff;
  border: none;
  border-radius: 4px;
  font-size: 22.4px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}
.hbspt-form .hs-button:hover {
  background-color: #005a87;
}

/* このテンプレートではTOCを非表示（本文はSWELLの.post_contentを維持） */
.ebook-page-layout .post_content .p-toc,
.ebook-page-layout .post_content .p-articleToc,
.ebook-page-layout .post_content .swell-block-toc,
.ebook-page-layout .post_content .wp-block-swell-toc,
.ebook-page-layout .post_content #toc_container,
.ebook-page-layout .post_content .toc_container,
.ebook-page-layout .post_content .ez-toc-container,
.ebook-page-layout .post_content .ez-toc,
.ebook-page-layout .post_content .toc {
  display: none !important;
}

/* デスクトップのみフォームを追従 */
@media (min-width: 1025px) {
  .ebook-form-area {
    position: sticky;
    top: 24px;              /* ヘッダーの高さ + 余白に合わせて調整 */
    align-self: flex-start; /* フレックス行頭に固定 */
    height: fit-content;    /* 中身サイズに合わせる */
  }
}

/* 念のため：モバイルは従来どおり（縦積み） */
@media (max-width: 1024px) {
  .ebook-form-area {
    position: static;
  }
}
