.elementor-14 .elementor-element.elementor-element-ba93936{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS for html, class: .elementor-element-ab99422 *//* --- 1. ベーススタイル（ヘッダー全体） --- */
.site-header { 
  width: 100%; 
  padding: 20px 20px; /* 初期状態の余白 */
  background: #fff; 
  box-sizing: border-box; 
  position: fixed; 
  top: 0; 
  left: 0; 
  z-index: 9999; 
  transition: all 0.3s ease; /* スクロール時の変化をスムーズに */
}

.header-container { 
  display: flex; 
  align-items: center; 
  justify-content: space-between; 
  max-width: 100%; /* 必要に応じて調整してください */
  margin: 0 auto; 
}

/* --- 2. ロゴの制御 --- */
.logo img { 
  height: 50px; /* 初期サイズ */
  transition: height 0.3s ease; 
  display: block;
}

/* --- 3. PC用 グローバルメニュー --- */
.nav-menu { display: flex; align-items: center; gap: 30px; } 
.nav-menu a { 
  text-decoration: none; 
  color: #333; 
  font-weight: bold; 
  font-size: 16px; 
  transition: opacity 0.3s;
}
.nav-menu a:hover { opacity: 0.7; }

/* --- 4. エントリーボタン（完全版） --- */
.entry-btn { 
  background: #d62e3d; 
  color: #fff !important; 
  padding: 14px 28px; 
  font-size: 16px; 
  font-weight: 600;
  border-radius: 6px; 
  transition: all 0.3s ease; 
  border: 1px solid #d62e3d; 
  text-decoration: none;
}
.entry-btn:hover { 
  background: #b0202d; 
  transform: translateY(-2px); /* 浮き上がるアニメーション */
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}

/* --- 5. ハンバーガーメニュー --- */
.burger-menu { cursor: pointer; width: 30px; height: 20px; position: relative; display: none; }
.burger-menu span { display: block; width: 100%; height: 2px; background: #333; transition: 0.3s; position: absolute; }
.burger-menu span:nth-child(1) { top: 0; }
.burger-menu span:nth-child(2) { top: 9px; }
.burger-menu span:nth-child(3) { bottom: 0; }

/* ×アニメーション */
.burger-menu.active span:nth-child(1) { transform: translateY(9px) rotate(45deg); }
.burger-menu.active span:nth-child(2) { opacity: 0; }
.burger-menu.active span:nth-child(3) { transform: translateY(-9px) rotate(-45deg); }

/* --- 6. スクロール時の固定スタイル --- */
.site-header.is-scrolled { 
  padding: 10px 20px; /* スクロール時は余白を詰める */
  box-shadow: 0 2px 10px rgba(0,0,0,0.1); 
}
.site-header.is-scrolled .logo img { height: 40px; } /* ロゴを小さく */

/* --- 7. レスポンシブ設定 --- */
@media (max-width: 900px) { /* PCメニューを隠すブレークポイント */
  .nav-menu { display: none; }
  .burger-menu { display: block; }
}
/* --- 8. スマホ用 固定エントリーボタン --- */
.fixed-entry-btn {
  display: none; /* PCでは非表示 */
  position: fixed;
  bottom: 20px;
  left: 20px;
  z-index: 9999;
  background: #d62e3d;
  color: #fff !important;
  padding: 15px 25px;
  border-radius: 50px; /* 丸みを持たせてボタンらしく */
  font-weight: bold;
  text-decoration: none;
  box-shadow: 0 4px 10px rgba(0,0,0,0.2);
  transition: all 0.3s ease;
}

/* 900px以下で表示する */
@media (max-width: 900px) {
  .fixed-entry-btn {
    display: block;
  }
  
  /* ロゴのサイズ調整（スマホで小さく見えすぎないように） */
  .logo img { height: 45px; } 
  .site-header.is-scrolled .logo img { height: 35px; }
}
/* --- 9. アクティブメニューのスタイル --- */
.nav-menu a.is-active {
  color: #d62e3d !important;
  border-bottom: 2px solid #d62e3d; /* 下線をつけて強調 */
  padding-bottom: 5px;
  
}
/* --- 固定エントリーボタンの非表示初期設定 --- */
.fixed-entry-btn {
  display: block; /* JSで管理するためblockにしておく */
  position: fixed;
  bottom: 20px;
  left: 20px;
  z-index: 9999;
  background: #d62e3d;
  color: #fff !important;
  padding: 15px 25px;
  border-radius: 50px;
  font-weight: bold;
  text-decoration: none;
  box-shadow: 0 4px 10px rgba(0,0,0,0.2);
  
  /* 非表示用設定 */
  opacity: 0;
  visibility: hidden;
  transition: all 0.4s ease;
}

/* JSで付与する表示用クラス */
.fixed-entry-btn.is-visible {
  opacity: 1;
  visibility: visible;
}/* End custom CSS */