/* ====== FV critical CSS (初期表示だけ) ====== */

/* 基本初期化（最小限） */
html { box-sizing: border-box; }
*,*::before,*::after { box-sizing: inherit; }
html,body { margin:0; padding:0; }
body {
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", "Yu Gothic", Meiryo, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: #222;
  background: #fff;
}

/* レイアウトユーティリティ（最小） */
.container, .content_width {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
}

/* 固定ヘッダー（必要なら） */
.page-header {
  position: sticky; top: 0; z-index: 1000;
  background: #fff;
  border-bottom: 1px solid #eee;
}
.header-container {
  display: flex; align-items: center; justify-content: space-between;
  min-height: 64px;
}
.header-title { display: flex; align-items: center; gap: 8px; }
.site-title { font-weight: 700; font-size: 20px; }
.site-lead { font-size: 12px; color: #666; }

/* ヒーロー（FV） */
.fv, .hero, .fv-hero {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr; /* 右：画像 */
  gap: 24px;
  align-items: center;
  min-height: 54vh;  /* スマホで高すぎない程度 */
  padding: 28px 0;
}
.fv .lead, .hero .lead {
  font-size: 28px; font-weight: 700; line-height: 1.3;
  letter-spacing: .02em;
}
.fv .sub, .hero .sub { color:#555; margin-top: 8px; }

/* ボタン（CTA） */
.btn, .formbtn a, .cta {
  display: inline-block;
  background: #338f28;
  color:#fff; text-decoration:none;
  padding: 12px 20px; border-radius: 10px;
  font-weight: 600;
}
.btn:hover, .formbtn a:hover { opacity:.9; }

/* LCP画像の枠（CLS防止） */
.fv .image, .hero .image { position: relative; }
.fv .image img, .hero .image img {
  display:block; width:100%; height:auto;
  /* width/height をHTML側で与えるか、aspect-ratioで固定 */
  aspect-ratio: 16/9; object-fit: cover; 
}

/* パンくずや余白（あれば） */
.breadcrumbs { margin: 16px 0; font-size: 12px; color:#666; }

/* スマホ */
@media (max-width: 767px) {
  .header-container { min-height: 56px; }
  .site-title { font-size: 18px; }
  .fv, .hero, .fv-hero {
    grid-template-columns: 1fr; gap: 16px;
    min-height: auto; padding: 20px 0;
  }
  .fv .lead, .hero .lead { font-size: 22px; }
}