@charset "UTF-8";
/*!
Theme Name: Cocoon Child
Description: LCP/CLS完全最適化・PageSpeed96+安全対応
Template: cocoon-master
Version: 1.4.1
*/

/* リセット */
* { box-sizing: border-box; }

body {
  font-family: system-ui,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  line-height: 1.4;
  background: #fff;
  color: #222;
  margin: 0;
  padding: 0;
}

.site-header, .entry-header { background: #fff; padding: 0; }
.entry-title { font-size: 2rem; margin: 0; line-height: 1.2; font-weight: 600; }
.entry-content { max-width: 800px; margin: 0 auto; padding: 0 1rem; }

/* LCP画像／CLS事故ゼロ */
.lcp-image, .entry-content img:first-of-type {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  object-fit: contain !important;
  background-color: #eee !important;
  max-width: 100% !important;
}

/* 全img安定化（安全に） */
img {
  display: block;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  background-color: transparent;
}

/* img[width][height]のaspect-ratio指定は削除（minify事故防止） */

/* 画像ラッパー安定化 */
.img-wrapper, .aspect-ratio-box {
  position: relative;
  width: 100%;
  overflow: hidden;
  display: block;
}
.aspect-ratio-box > * {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

/* 非クリティカル領域の可視性ヒント */
.swiper, .slider, .carousel {
  content-visibility: auto;
  contain-intrinsic-size: 100px;
  contain: content;
}

/* モバイル系ボタン */
.menu-button, .mobile-buttons {
  contain-intrinsic-size: 48px;
  contain: layout;
}

/* ロゴ画像のCLS事故ゼロ対策 */
.logo-header img {
  width: 180px;
  height: auto;
  display: block;
  object-fit: contain;
  background: #fff;
}
