/* ========================================
   768px以下（スマホ）のレイアウト
======================================== */
@media (max-width: 768px) {

  /* ヘッダー内のメインナビだけ非表示（サイドメニューのナビは消さない） */
  .header-logo-pc,
  .site-header .main-navigation { display: none; }

  /* ハンバーガーは表示 */
  .menu-toggle { display: block; }

  /* サイドメニューの幅（開閉はJS＋PC側CSSの .open で） */
  .side-menu { width: 250px; left: -250px; }

  /* サイドメニュー内のナビは必ず表示（保険） */
  #side-menu .main-navigation,
  #side-menu .main-navigation ul {
    display: block !important;
    visibility: visible !important;
  }

  /* 念のため：開いたら項目は確実にアニメで表示（滑らか版に合わせる） */
  #side-menu.open .main-navigation li {
    animation-name: menuStaggerSoft !important;
    animation-duration: 1s !important;
    animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1) !important;
    animation-fill-mode: both !important;
  }

  /* コンテンツまわり */
  .container {
	  padding: 0 15px;
	  max-width:100% !important;
	}

  .about-section,
  .product-section,
  .diary-section,
  .youtube-section,
  .newsletter-section,
  .contact-section { padding: 10px 0; }

  .section-title { font-size: 28px; margin-bottom: 5px; }
  .section-subtitle { font-size: 16px; margin-bottom: 20px; }

  .hero-title { font-size: 36px; }
  .hero-subtitle { font-size: 18px; }

  .footer-top { flex-direction: column; gap: 10px; }
  .footer-navigation ul { flex-direction: column; gap: 10px; }

  .diary-list { display: grid; grid-template-columns: 1fr; gap: 30px; }
  .diary-item .diary-thumbnail img {
    width: 80%; height: auto; margin: 0 auto 10px; display: block;
  }
  .diary-item .diary-title { font-size: 20px; margin-bottom: 5px; }
  .diary-item .diary-date  { font-size: 16px; color: #666; }

  .product-buttons { grid-template-columns: 1fr; }

  .about-content-layout { flex-direction: column; gap: 20px; }
  .about-image, .about-text { flex: none; max-width: 100%; }

  /* 問い合わせ */
  .wpcf7 { padding: 15px; }
  .wpcf7-submit { width: 100%; }
  .wpcf7 p { font-size: 14px; }

  /* aboutページ */
  .member-profile { flex: 1 1 100%; max-width: 100%; padding: 15px; box-sizing: border-box; }
  .about-members .container { padding-left: 0; padding-right: 0; }
  .member-profiles-wrapper { flex-direction: column; padding: 0 5px; }

  /* 投稿/カテゴリページ */
  .single .entry-title { font-size: 28px; }
  .single .entry-content { font-size: 14px; }
  .single .entry-content img { margin: 10px auto; }
  .single .post-navigation { flex-direction: column; gap: 10px; }
  .page-title { font-size: 28px; }
	
	.about-hero{
    display: flex;
    flex-direction: column;   /* ←縦並び */
    align-items: stretch;
    gap: 16px;
    min-height: auto;         /* 80vhを解除して詰まりを防ぐ */
  }
  .about-hero-image,
  .about-hero-content{
    width: 100%;
    max-width: 100%;
  }
  .about-hero-image{
    order: 0;
  }
  .about-hero-image img{
    width: 100%;
    height: auto;             /* ←縦長崩れ防止。PCの height:100% を上書き */
    object-fit: cover;
    display: block;
  }
  .about-hero-content{
    order: 1;
    padding: 0 5%;
  }
	.cover-hit h2,  /* または対象のセレクタに合わせる */
  .cover-hit {
    font-size: clamp(20px, 6vw, 32px) !important; 
    line-height: 1.2;
    width: min(90%, 420px);
    margin: 0 auto;
    text-wrap: balance;
  }
}
