.page-blog { max-width: 100%; color: #333333; }
.page-blog__hero-section { padding: 10px 0 0 0; margin: 0; }
.page-blog__hero-image { width: 100%; max-width: 1200px; aspect-ratio: 17 / 5; object-fit: cover; display: block; margin: 0 auto; }
.page-blog__hero-content { text-align: center; padding: 20px 16px; max-width: 100%; box-sizing: border-box; }
.page-blog h1 { font-weight: bold; line-height: 1.2; letter-spacing: 0.02em; color: #0a0a0a; max-width: 700px; margin: 0 auto 12px auto; }
.page-blog__hero-content p { color: #333333; max-width: 700px; margin: 0 auto; line-height: 1.6; }
.page-blog__guide-section { padding: 20px 0 40px; }
.page-blog__guide-inner { max-width: 1000px; margin: 0 auto; padding: 0 16px; box-sizing: border-box; }
.page-blog__guide-inner > h2 { text-align: center; color: #0477db; font-size: 2rem; margin-bottom: 16px; }
.page-blog__guide-inner > p { text-align: center; margin-bottom: 32px; }
.page-blog__guide-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px; }
.page-blog__guide-item { background: #ffffff; border: 1px solid #e0e0e0; border-radius: 16px; overflow: hidden; padding: 0; display: flex; flex-direction: column; box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
.page-blog__guide-item h3 { padding: 16px 16px 0; font-size: 1.5rem; color: #111; }
.page-blog__guide-item figure { margin: 0; width: 100%; }
.page-blog__guide-item img { width: 100%; display: block; aspect-ratio: 2 / 1; object-fit: cover; }
.page-blog__guide-item p { padding: 16px; margin: 0; }
.page-blog__cta-note { text-align: center; font-weight: 600; color: #333; margin-top: 24px; }
.page-blog__cta-button { display: inline-block; background-color: #26A9E0; color: #ffffff; padding: 12px 28px; border-radius: 999px; text-decoration: none; font-weight: 700; text-align: center; transition: background-color 0.3s ease; margin-top: 8px; }
.page-blog__cta-button:hover { background-color: #1a8ebd; }
@media (max-width: 768px) {
 .page-blog__hero-image { aspect-ratio: 2 / 1; height: auto; }
 .page-blog h1 { font-size: 1.75rem; }
 .page-blog__guide-inner > h2 { font-size: 1.5rem; }
 .page-blog__guide-grid { grid-template-columns: 1fr; }
 .page-blog img { max-width: 100% !important; height: auto !important; }
 .page-blog button, .page-blog .page-blog__cta-button, .page-blog a { max-width: 100%; box-sizing: border-box; white-space: normal; word-wrap: break-word; }
}