/* ===== Hero Section ===== */
.page-index__hero-section { width: 100%; overflow: hidden; background-color: #140C0C; }
.page-index__hero-container { max-width: 1200px; margin: 0 auto; padding: 0; }
.page-index__hero-link { display: block; width: 100%; text-decoration: none; }
.page-index__hero-image { width: 100%; height: auto; display: block; aspect-ratio: 17 / 5; object-fit: cover; }

/* ===== Logo Grid Section ===== */
.page-index__logo-grid-section { background-color: #ffffff; width: 100%; padding: 20px 0; }
.page-index__logo-grid { max-width: 1200px; margin: 0 auto; padding: 0 15px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 25px 20px; justify-items: center; }
.page-index__logo-item { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 12px; width: 100%; max-width: 280px; background: #ffffff; border-radius: 15px; overflow: hidden; padding: 15px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); transition: transform .3s ease; }
.page-index__logo-item:hover { transform: translateY(-5px); box-shadow: 0 6px 20px rgba(0,0,0,0.15); }
.page-index__logo-image { width: 100%; height: auto; aspect-ratio: 2 / 1; object-fit: contain; border-radius: 10px; display: block; }
.page-index__logo-cta { display: inline-block; padding: 10px 25px; border-radius: 999px; background: linear-gradient(90deg, #0477db, #0458a0); color: #ffffff; font-weight: 700; text-decoration: none; font-size: 1rem; border: none; transition: opacity .2s ease; }
.page-index__logo-cta:hover { opacity: 0.9; }
.page-index__logo-item:nth-child(5) { grid-column: 2; }
.page-index__logo-item:nth-child(6) { grid-column: 3; }

/* ===== Guide Section ===== */
.page-index__guide-section { background-color: #ffffff; width: 100%; }
.page-index__guide-inner { max-width: 1050px; margin: 0 auto; padding: 20px 20px 60px; }
.page-index__guide-title { text-align: center; color: #0477db; margin: 15px 0; font-family: 'Segoe UI', sans-serif; font-size: 1.75rem; line-height: 1.4; }
.page-index__guide-subtitle { color: #1e2b7c; margin: 2rem 0 0.5rem; font-size: 1.8rem; border-bottom: 2px solid #e5e5e5; padding-bottom: .5rem; text-align: left; }
.page-index__guide-sub-subtitle { color: #2b3d8f; margin: 1rem 0 0.5rem; font-size: 1.3rem; }
.page-index__guide-intro { color: #333; line-height: 1.8; margin-bottom: 1.5rem; }
.page-index__guide-inner p { color: #333; line-height: 1.8; margin: 0 0 1rem; }
.page-index__guide-inner a { color: #0458a0; text-decoration: underline; font-weight: 600; }
.page-index__guide-figure { margin: 25px auto; text-align: center; max-width: 800px; border: 1px solid #dddddd; border-radius: 15px; padding: 10px; background: #fafafa; box-shadow: 0 2px 10px rgba(0,0,0,0.1); }
.page-index__guide-figure p { margin: 0; }
.page-index__guide-figure img {
  width: 100%; height: auto; max-width: 100%; aspect-ratio: 2 / 1; object-fit: cover; border-radius: 10px; display: block;
}
.page-index__guide-figure figcaption { font-size: 0.9rem; color: #777; margin-top: 10px; font-style: italic; }
.page-index__guide-list li { color: #444; margin-bottom: 10px; }

/* ===== Responsive ===== */
@media (max-width: 768px) {
  .page-index__hero-image { aspect-ratio: 2 / 1; }
  .page-index__logo-grid { grid-template-columns: repeat(2, 1fr); gap: 20px 10px; padding: 0 20px; }
  .page-index__logo-item { max-width: 100%; }
  .page-index__logo-item:nth-child(5),
  .page-index__logo-item:nth-child(6) { grid-column: auto; }
  .page-index__guide-title { font-size: 1.35rem; }
  .page-index__guide-subtitle { font-size: 1.4rem; }
  .page-index__guide-sub-subtitle { font-size: 1.2rem; }
  .page-index__guide-figure { margin: 15px auto; padding: 5px; }
  .page-index__guide-figure p { margin: 0; }
  .page-index__guide img,
  .page-index__logo-grid-section img,
  .page-index__hero-section img {
    max-width: 100%;
    height: auto;
  }
  .page-index__logo-cta {
    max-width: 100%;
    white-space: normal;
    word-break: break-word;
    box-sizing: border-box;
  }
  .page-index__guide-inner { padding: 10px 20px 40px; }
}