.elementor-14 .elementor-element.elementor-element-03dcce5{--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-58ff556 */@media (max-width: 1024px) {
  /* PC用ナビを隠す */
  .so-global-nav { display: none !important; }

  /* お問い合わせボタン：文字を消してアイコンのみに */
  .so-contact-btn {
    padding: 10px !important; /* 円形に近いパディングに調整 */
    border-radius: 50% !important; /* アイコンのみなら円形が綺麗です */
    width: 42px !important;    /* タップしやすいサイズ */
    height: 42px !important;
    justify-content: center !important;
  }
  
  .so-contact-btn span {
    display: none !important; /* 「お問い合わせ」の文字を非表示 */
  }

  .so-mail-icon {
    width: 22px !important; /* アイコンを少し強調 */
    margin: 0 !important;
  }

  /* ロゴサイズ調整 */
  .so-logo-img { width: 140px !important; }

  /* ドロワー（サイトマップ）の列調整 */
  .sitemap-container { 
    grid-template-columns: repeat(2, 1fr); 
    gap: 30px; 
  }
}

@media (max-width: 600px) {
  .sitemap-container { grid-template-columns: 1fr; }
  
  /* スマホ等でさらにヘッダーをコンパクトにする場合 */
  .so-header { height: 70px !important; }
  .so-logo-img { width: 120px !important; }
}
/* --- ヘッダーの中身を全幅にして左右に80pxの余白を設ける --- */
.so-header-inner { 
    width: 100% !important; 
    max-width: none !important;      /* 最大幅の制限を解除 */
    margin: 0 !important;            /* 中央寄せ用のmarginをリセット */
    padding: 0 80px !important;      /* 左右に80pxのパディング */
    display: flex !important; 
    justify-content: space-between !important; 
    align-items: center !important; 
}

/* レスポンシブ：画面が狭くなってきたら余白を調整（任意） */
@media (max-width: 1400px) {
    .so-header-inner {
        padding: 0 40px !important; /* 1400px以下では少し狭める */
    }
}

@media (max-width: 1024px) {
    .so-header-inner {
        padding: 0 25px !important; /* スマホ・タブレットではさらに調整 */
    }
}
/* --- 通常のスクロール時（黒） --- */
.so-header.is-scrolled .so-burger span {
    background: #333 !important; /* スクロール中は黒 */
}

/* --- メニュー開閉時（強制的に白） --- */
/* is-active がついている間は、スクロール状態を無視して白にする */
.so-burger.is-active span {
    background: #fff !important; 
}

/* お問い合わせボタンなどの色調整（ドロワー開閉時） */
.so-drawer.is-active ~ .so-header .so-contact-btn {
    border-color: #fff !important;
    color: #fff !important;
}
/* --- ヘッダーの基本設定 --- */
.so-header { 
    position: fixed !important; top: 0 !important; left: 0 !important; width: 100% !important; 
    height: 85px !important; z-index: 999 !important; background: transparent !important; transition: 0.4s !important; 
    display: flex !important; align-items: center !important;
    border-bottom: 1px solid transparent !important; /* 初期は透明 */
}

/* 下層ページ、またはスクロールした時に線を出す */
.so-header.is-subpage,
.so-header.is-scrolled { 
    background: #fff !important; 
    box-shadow: none !important; 
    border-bottom: 1px solid #e0e0e0 !important; /* 常に表示される線の色 */
}

/* 文字色の制御：下層ページまたはスクロール時 */
.so-header.is-subpage .so-global-nav a,
.so-header.is-scrolled .so-global-nav a { color: #333 !important; }

.so-header.is-subpage .so-contact-btn,
.so-header.is-scrolled .so-contact-btn { border-color: #2877bc !important; color: #2877bc !important; }

.so-header.is-subpage .so-burger span,
.so-header.is-scrolled .so-burger span { background: #333 !important; }

/* ロゴの反転解除：下層ページまたはスクロール時 */
.so-header.is-subpage .so-logo-img,
.so-header.is-scrolled .so-logo-img { filter: none !important; }
/* --- 通常時（透過ヘッダー・白文字）のアクティブ色 --- */
.so-global-nav a.current,
.so-global-nav a:hover {
    color: #fff !important; /* ホバー・アクティブ時は白（必要に応じて調整） */
    opacity: 0.7;           /* 少し透かすことで選択中を表現 */
}

/* --- スクロール時・下層ページ（白背景・黒文字）のアクティブ色 --- */
.so-header.is-scrolled .so-global-nav a.current,
.so-header.is-scrolled .so-global-nav a:hover,
.so-header.is-subpage .so-global-nav a.current,
.so-header.is-subpage .so-global-nav a:hover {
    color: #2877bc !important; /* アクティブ時は青にする */
    font-weight: bold !important; /* 太字にして強調（任意） */
}

/* 下線を入れる場合の演出（オプション） */
.so-global-nav a.current::after {
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    background: #2877bc;
    position: absolute;
    bottom: -5px;
    left: 0;
}
/* --- グローバルナビ アクティブ設定 --- */

/* 1. 通常時（トップ等の透過状態） */
.so-global-nav a.active {
    color: #fff !important;
    font-weight: bold !important;
    position: relative;
}

/* 2. スクロール後 or 下層ページ（背景が白の状態） */
.so-header.is-scrolled .so-global-nav a.active,
.so-header.is-subpage .so-global-nav a.active {
    color: #2877bc !important; /* ソストロンブルー */
    font-weight: bold !important;
}

/* 3. 下線を入れる場合（共通：必要なければ削除してください） */
.so-global-nav a.active::after {
    content: "";
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: currentColor; /* 文字色と同じ色になる */
}/* End custom CSS */