/*
 * TOA 設計サポートサイト — サイト全体デザイン統一CSS v2.0
 * 参考: toa.co.jp / toa-products.com/trifora/
 *
 * デザインルール:
 * - ベース: 白背景・黒〜濃いグレーテキスト
 * - アクセント: オレンジ (#E8621A) → ボタン・リンクホバー・アイコンのみ
 * - グローバルナビ: 白背景・黒テキスト・ホバー時オレンジ
 * - フッター: 薄いグレー背景・黒テキスト
 * - 角丸: 最小限
 * - 影: なし
 */

/* ================================================================
   CSS カスタムプロパティ上書き
   テーマの --main_color (青 #00698c) をオレンジに差し替え
================================================================ */
:root {
  --main_color:        #E8621A;
  --main_color_dark:   #C9531A;
  --main_color_light:  #F28340;
  --main_color_light2: #F5A070;
  --content_link_color:#E8621A;

  --ds-orange:      #E8621A;
  --ds-orange-hover:#C9531A;
  --ds-orange-pale: #FFF4EE;
  --ds-dark:        #1A1A1A;
  --ds-mid:         #555555;
  --ds-gray:        #888888;
  --ds-border:      #E0E0E0;
  --ds-bg:          #F8F8F8;
  --ds-white:       #FFFFFF;
  --ds-grey1:       #333333;
  --ds-grey2:       #666666;
  --ds-grey3:       #F2F2F2;
}

/* ================================================================
   グローバル
================================================================ */
body,
#content_area,
#content,
#container,
.post_content {
  font-family: 'Noto Sans JP', 'Hiragino Sans', 'Yu Gothic', YuGothic, sans-serif;
  color: var(--ds-dark);
  -webkit-font-smoothing: antialiased;
}
body { background: #fff; }

a { color: var(--ds-dark); transition: color 0.2s; }
a:hover { color: var(--ds-dark); text-decoration: underline; }
.post_content a,
.widget_block a,
.textwidget a { color: var(--ds-orange) !important; }

/* ================================================================
   ヘッダー：白背景
================================================================ */
#header {
  background: #fff !important;
  border-bottom: 1px solid var(--ds-border);
}
#header_top { background: #fff !important; }

/* ================================================================
   グローバルメニュー：白背景・黒テキスト・ホバーオレンジ
================================================================ */
#header_bottom {
  background: #fff !important;
  border-top: 1px solid var(--ds-border);
}
#global_menu > ul > li > a {
  color: var(--ds-dark) !important;
  font-size: 14px;
  font-weight: 500;
}
#global_menu > ul > li::before {
  background: #555 !important;
}
#global_menu ul li:hover {
  background: transparent !important;
}
#global_menu > ul > li > a:hover {
  color: #fff !important;
}
#global_menu ul ul {
  background: #fff !important;
  border: 1px solid var(--ds-border);
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}
#global_menu ul ul a { color: var(--ds-dark) !important; }
#global_menu ul ul a:hover {
  color: var(--ds-orange) !important;
  background: transparent !important;
}

/* ログイン中ボタン */
.tcd-login-icon-item .tcd-login-btn {
  background: var(--ds-orange) !important;
  color: #fff !important;
  border-radius: 2px;
}
.tcd-login-icon-item .tcd-login-btn:hover {
  background: var(--ds-orange-hover) !important;
}
.tcd-login-dropdown a { color: var(--ds-dark) !important; }
.tcd-login-dropdown a:hover { color: var(--ds-orange) !important; }

/* ================================================================
   見出し
================================================================ */
.page_title {
  font-size: clamp(20px, 3vw, 28px);
  font-weight: 700;
  color: var(--ds-dark);
}
.post_content h2,
.styled_h2 {
  font-size: clamp(18px, 2.5vw, 22px) !important;
  font-weight: 700 !important;
  color: var(--ds-dark) !important;
  border-bottom: 2px solid var(--ds-dark) !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  background: transparent !important;
  padding: 0 0 10px !important;
  margin: 40px 0 20px !important;
  text-align: left !important;
}
.post_content h3,
.styled_h3 {
  font-size: clamp(16px, 2vw, 18px) !important;
  font-weight: 600 !important;
  color: var(--ds-dark) !important;
  border-left: 3px solid var(--ds-orange) !important;
  border-top: none !important;
  border-right: none !important;
  border-bottom: none !important;
  background: transparent !important;
  padding: 2px 0 2px 12px !important;
  margin: 28px 0 14px !important;
}
.post_content h4,
.styled_h4 {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--ds-dark) !important;
  border-bottom: 1px solid var(--ds-border) !important;
  padding-bottom: 6px !important;
  margin: 20px 0 12px !important;
  background: transparent !important;
}

/* ================================================================
   ボタン
================================================================ */
.design_button,
.q_custom_button2,
.ds-btn,
input[type="submit"],
button[type="submit"],
.ds-wp-login-form__btn {
  background: var(--ds-orange) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 2px !important;
  font-family: 'Noto Sans JP', sans-serif !important;
  font-weight: 600 !important;
  transition: background 0.15s !important;
  cursor: pointer !important;
}
.design_button:hover,
.q_custom_button2:hover,
.ds-btn:hover,
input[type="submit"]:hover,
button[type="submit"]:hover {
  background: var(--ds-orange-hover) !important;
  color: #fff !important;
}
.q_custom_button1,
.ds-btn--outline {
  background: #fff !important;
  color: var(--ds-orange) !important;
  border: 1.5px solid var(--ds-orange) !important;
  border-radius: 2px !important;
}
.q_custom_button1:hover,
.ds-btn--outline:hover {
  background: var(--ds-orange) !important;
  color: #fff !important;
}

/* ================================================================
   タブ・カテゴリ
================================================================ */
#index_tab li a {
  color: var(--ds-mid);
  border-color: var(--ds-border);
  font-size: 13px;
}
#index_tab li.active a,
#index_tab li a:hover {
  background: var(--ds-orange) !important;
  border-color: var(--ds-orange) !important;
  color: #fff !important;
}
#index_tab li.active + li a {
  border-left-color: var(--ds-orange) !important;
}
#blog_category_sort .item a {
  border-color: var(--ds-border);
  color: var(--ds-mid);
  font-size: 13px;
}
#blog_category_sort .item a:hover,
#blog_category_sort .item.active_category a {
  background: var(--ds-orange) !important;
  border-color: var(--ds-orange) !important;
  color: #fff !important;
}

/* ================================================================
   カテゴリリンク
================================================================ */
.blog_list .blog_category a,
.news_list .blog_category a,
.p-slider-contents__category a,
.p-slider-contents__category span {
  color: var(--ds-orange) !important;
}

/* ================================================================
   ページネーション
================================================================ */
.page_navi a,
.page_navi .current,
.page_navi .dots {
  border-radius: 2px !important;
  border-color: var(--ds-border) !important;
  color: var(--ds-mid) !important;
}
.page_navi a:hover,
.page_navi .current {
  background: var(--ds-orange) !important;
  border-color: var(--ds-orange) !important;
  color: #fff !important;
}

/* ================================================================
   フォーム
================================================================ */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="search"],
select,
textarea {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 14px;
  color: var(--ds-dark);
  border: 1px solid var(--ds-border) !important;
  border-radius: 2px !important;
  background: #fff;
  transition: border-color 0.15s, box-shadow 0.15s;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
textarea:focus {
  outline: none;
  border-color: var(--ds-orange) !important;
  box-shadow: 0 0 0 3px var(--ds-orange-pale);
}

/* ================================================================
   FAQ
================================================================ */
.faq_list .title.active { color: var(--ds-orange) !important; }
.faq_list .title:hover  { color: var(--ds-orange) !important; }

/* ================================================================
   glue_headline（帯見出し）
================================================================ */
.glue_headline {
  background-color: var(--ds-grey3) !important;
  color: var(--ds-dark) !important;
  border-bottom: 2px solid var(--ds-orange) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}

/* ================================================================
   フッター：薄いグレー背景・黒テキスト（toa.co.jp準拠）
================================================================ */
#footer {
  background: #2d2d2d !important;
  color: rgba(255,255,255,0.75) !important;
}
#footer a { color: rgba(255,255,255,0.75) !important; }
#footer a:hover { color: #fff !important; text-decoration: none; }
#footer .times_headline,
#footer .footer_widget_headline span { color: #fff !important; }
#footer_nav {
  background: #222 !important;
  border-top: 1px solid rgba(255,255,255,0.1);
}
#footer_nav a { color: rgba(255,255,255,0.6) !important; }
#footer_nav a:hover { color: #fff !important; }
.footer_bottom {
  background: #1a1a1a !important;
  color: rgba(255,255,255,0.35) !important;
}
#copyright { color: rgba(255,255,255,0.35) !important; }

/* ================================================================
   パンくずリスト
================================================================ */
#breadcrumb a,
.breadcrumb a { color: var(--ds-mid) !important; }
#breadcrumb a:hover,
.breadcrumb a:hover { color: var(--ds-dark) !important; }

/* ================================================================
   ds-系カスタムクラス（CAD図面・BIMページ等）
================================================================ */
.ds-second-hero {
  background: var(--ds-bg);
  border-bottom: 1px solid var(--ds-border);
  padding: 28px 0;
}
.ds-second-hero__ttl {
  font-size: clamp(18px, 3vw, 26px);
  font-weight: 700;
  color: var(--ds-dark);
}
.ds-h__ttl--02 {
  font-size: clamp(16px, 2.2vw, 20px) !important;
  font-weight: 700 !important;
  color: var(--ds-dark) !important;
  padding-bottom: 10px !important;
  border-bottom: 2px solid var(--ds-dark) !important;
  margin-bottom: 20px !important;
}
.ds-h__ttl--03 {
  font-size: 16px !important;
  font-weight: 600 !important;
  padding-left: 10px !important;
  border-left: 3px solid var(--ds-orange) !important;
  margin-bottom: 12px !important;
}
.ds-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 28px;
  background: var(--ds-orange) !important;
  color: #fff !important;
  font-size: 14px;
  font-weight: 600;
  border: none !important;
  border-radius: 2px !important;
  cursor: pointer;
  text-decoration: none !important;
  transition: background 0.15s;
}
.ds-btn:hover {
  background: var(--ds-orange-hover) !important;
  color: #fff !important;
}
.ds-basic-facility__btn,
.ds-basic-product__btn {
  background: #fff;
  color: var(--ds-grey1);
  border: 1px solid var(--ds-border);
  border-radius: 2px;
  font-size: 13px;
  transition: border-color 0.15s, color 0.15s, background 0.15s;
}
.ds-basic-facility__check:checked + .ds-basic-facility__btn,
.ds-basic-product__check:checked + .ds-basic-product__btn {
  background: var(--ds-orange) !important;
  color: #fff !important;
  border-color: var(--ds-orange) !important;
}
.ds-basic-facility__btn:hover,
.ds-basic-product__btn:hover {
  border-color: var(--ds-orange);
  color: var(--ds-orange);
}

/* ================================================================
   レスポンシブ
================================================================ */
@media (max-width: 768px) {
  .ds-btn { padding: 11px 22px; font-size: 13px; }
  .ds-second-hero { padding: 20px 16px; }
}

/* ================================================================
   テーマ残存の青色ホバーを完全排除
================================================================ */
#global_menu > ul > li:hover {
  background: #555 !important;
}
#global_menu ul ul li:hover {
  background: #f5f5f5 !important;
}
/* アクティブメニュー：グレー背景・白文字 */
#global_menu .current-menu-item > a,
#global_menu .current_page_item > a {
  color: #fff !important;
  background: #555 !important;
}

/* ================================================================
   ヘッダー右上リンク（問い合わせ・商品データDLサイト）
================================================================ */
.l-header__top-links {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-left: auto;
  padding-right: 16px;
}
.l-header__top-link {
  font-size: 12px;
  color: var(--ds-mid) !important;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  gap: 2px;
  white-space: nowrap;
  transition: color 0.15s;
  border-bottom: 1px solid transparent;
  padding-bottom: 1px;
}
.l-header__top-link:hover {
  color: var(--ds-dark) !important;
  border-bottom-color: var(--ds-dark);
  text-decoration: none !important;
}

/* グレーアウトメニュー項目 */
#global_menu ul li.menu-item-disabled > a,
#global_menu ul li > a[href=#] {
  color: #bbb !important;
  pointer-events: none;
  cursor: default;
}

@media (max-width: 768px) {
  .l-header__top-links { display: none; }
}



/* ================================================================
   2段ヘッダー：上段（白）＋下段（濃いグレー）toa.co.jp準拠
================================================================ */

/* 上段：白背景・左寄せロゴ＋サイト名＋右寄せリンク＋検索 */
#header { text-align: left !important; }
#header_top {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  padding: 0 32px !important;
  height: 64px !important;
  background: #fff !important;
  border-bottom: 1px solid var(--ds-border);
}
#header_logo {
  flex-shrink: 0;
  margin: 0 !important;
  position: static !important;
  left: auto !important;
  transform: none !important;
}
#header_logo img {
  height: 36px !important;
  width: auto !important;
  display: block !important;
}
/* ロゴ右のサイト名 */
.header-site-label {
  font-size: 15px;
  font-weight: 700;
  color: var(--ds-dark);
  margin-left: 16px;
  padding-left: 16px;
  border-left: 1px solid var(--ds-border);
  white-space: nowrap;
  flex-shrink: 0;
  letter-spacing: 0.02em;
}
/* 外部リンク：右寄せ */
.l-header__top-links {
  margin-left: auto !important;
  position: static !important;
  top: auto !important;
  right: auto !important;
}


/* 下段：濃いグレー背景・メニュー */
#header_bottom {
  background: #3a3a3a !important;
  height: 52px !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 32px !important;
}
#global_menu {
  height: 52px !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: 1;
}
#global_menu > ul > li > a {
  color: rgba(255,255,255,0.85) !important;
  font-size: 13px !important;
  height: 52px !important;
}
#global_menu > ul > li > a:hover {
  color: #fff !important;
  background: rgba(255,255,255,0.1) !important;
}
#global_menu > ul > li::before {
  background: rgba(255,255,255,0.1) !important;
}
#global_menu > ul > li:hover {
  background: rgba(255,255,255,0.1) !important;
}
/* アクティブ：オレンジアンダーバーなし・白文字のみ */
#global_menu .current-menu-item > a,
#global_menu .current_page_item > a {
  color: #fff !important;
  background: rgba(255,255,255,0.12) !important;
  border-bottom: none !important;
}
#global_menu ul ul {
  background: #3a3a3a !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  top: 52px !important;
}
#global_menu ul ul a { color: rgba(255,255,255,0.85) !important; }
#global_menu ul ul a:hover {
  color: #fff !important;
  background: rgba(255,255,255,0.1) !important;
}



/* ================================================================
   ヘッダー検索フォーム（常設表示）
================================================================ */
#js-header-search {
  display: flex !important;
  align-items: center;
  margin-left: 20px;
  flex-shrink: 0;
  background: var(--ds-bg);
  border: 1px solid var(--ds-border);
  border-radius: 24px;
  padding: 0 6px 0 14px;
  transition: border-color 0.15s, background 0.15s;
}
#js-header-search:focus-within {
  border-color: var(--ds-dark);
  background: #fff;
}
#js-header-search input[type="text"] {
  border: none !important;
  outline: none !important;
  background: transparent !important;
  font-size: 13px !important;
  padding: 7px 4px !important;
  width: 180px !important;
  color: var(--ds-dark) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  min-width: unset !important;
}
#js-header-search input[type="text"]::placeholder { color: #aaa !important; }
.search-submit-btn {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--ds-mid);
  display: flex;
  align-items: center;
  padding: 5px;
  flex-shrink: 0;
  transition: color 0.15s;
  border-radius: 50%;
}
.search-submit-btn:hover { color: var(--ds-orange); }
#header .l-header__search { display: none !important; }

/* ================================================================
   フッター：住所・注意書き・コピーライト
================================================================ */
.footer-address-section {
  background: #2d2d2d;
  padding: 40px 0 32px;
  border-top: 1px solid rgba(255,255,255,0.1);
}
.footer-address-inner {
  max-width: 900px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  padding: 0 32px;
}
.footer-address-company {
  font-size: 14px;
  font-weight: 700;
  color: #fff !important;
  margin-bottom: 4px;
}
.footer-address-dept {
  font-size: 13px;
  font-weight: 600;
  color: #fff !important;
  margin-bottom: 10px;
}
.footer-address-detail {
  font-size: 12px;
  color: rgba(255,255,255,0.65) !important;
  line-height: 1.8;
  margin-bottom: 12px;
}
.footer-map-wrap {
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.1);
}
.footer-notice {
  text-align: center;
  font-size: 11px;
  color: rgba(255,255,255,0.4) !important;
  padding: 16px 32px 8px;
  background: #2d2d2d;
}
#copyright {
  background: #2d2d2d;
  text-align: center;
  padding: 8px 32px 20px;
  margin: 0;
}
#copyright span {
  font-size: 12px;
  color: rgba(255,255,255,0.4) !important;
}
.footer_bottom {
  background: #2d2d2d !important;
  padding: 0 !important;
}
@media (max-width: 768px) {
  .footer-address-inner {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 0 20px;
  }
}

/* ================================================================
   フッター下部バー：Smilesロゴ＋コピーライト
================================================================ */
.footer-bottom-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 32px 24px;
  background: #2d2d2d;
}
.footer-smiles-logo {
  height: 24px;
  width: auto;
  opacity: 0.85;
}
.footer-bottom-bar #copyright {
  padding: 0;
  background: transparent;
  margin: 0;
}


/* ============================================
   PC（1201px以上）：ハンバーガー非表示
============================================ */
@media screen and (min-width:1201px) {
  #drawer_menu_button { display: none !important; }
}

/* ============================================
   タブレット（701px〜1200px）：グローバルメニュー縮小表示
============================================ */
@media screen and (min-width:701px) and (max-width:1200px) {
  #header_bottom {
    display: block !important;
    height: auto !important;
    min-height: 50px;
  }
  #global_menu {
    display: block !important;
    height: auto !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  #global_menu > ul {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center;
  }
  #global_menu > ul > li {
    flex: none !important;
    width: auto !important;
  }
  #global_menu > ul > li > a {
    font-size: 12px !important;
    padding: 0 8px !important;
    height: 50px !important;
    white-space: nowrap;
  }
  .hover_background { display: none; }
  #drawer_menu_button { display: none !important; }
  #js-header-search,
  .l-header__search,
  .l-header__search_inner { display: none !important; }
}

/* ============================================
   スマホ（700px以下）：ハンバーガーメニューのみ
============================================ */
@media screen and (max-width:700px) {
  /* 黒いナビバー非表示 */
  #header_bottom { display: none !important; }
  /* 検索バー非表示 */
  #js-header-search,
  .l-header__search,
  .l-header__search_inner { display: none !important; }
  /* ヘッダー：ロゴ左端・サイト名中央・ハンバーガー右端 */
  #header_top {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    padding: 0 70px 0 10px !important;
    height: 60px !important;
  }
  #header_logo {
    position: absolute !important;
    left: 10px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
  }
  #header_logo img { height: 24px !important; }
  .header-site-label {
    font-size: 14px !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
    border-left: none !important;
    text-align: center !important;
  }
  .l-header__top-links { display: none !important; }
  /* ハンバーガーボタン：オレンジ */
  #drawer_menu_button {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 60px !important;
    height: 60px !important;
    background: #f47920 !important;
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    cursor: pointer;
  }
  #drawer_menu_button span { background: #fff !important; }
  #drawer_menu_button::after { content: none !important; }
}


/* ============================================
   非常用放送ページ スタイル統一
============================================ */

/* ヒーローセクション */
.ds-second-hero {
  background: #3a3a3a;
  color: #fff;
  padding: 60px 0;
}
.ds-second-hero__wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
}
.ds-second-hero__ttl {
  font-size: 32px;
  font-weight: bold;
  margin-bottom: 16px;
  color: #fff;
}
.ds-second-hero__text {
  font-size: 16px;
  line-height: 1.8;
  color: #ccc;
  margin-bottom: 28px;
}
.ds-second-hero__btn {
  display: inline-block;
  background: #f47920;
  color: #fff !important;
  font-size: 15px;
  font-weight: bold;
  padding: 12px 32px;
  text-decoration: none;
  border-radius: 4px;
  transition: background 0.2s;
}
.ds-second-hero__btn:hover { background: #d4661a !important; }

/* ページナビ */
.ds-pagenavi {
  background: #3a3a3a;
  border-bottom: 2px solid #f47920;
  position: sticky;
  top: 0;
  z-index: 100;
}
.ds-pagenavi__list {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
  display: flex;
  list-style: none;
}
.ds-pagenavi__item { flex: 1; }
.ds-pagenavi__link {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 52px;
  padding: 0 12px;
  font-size: 13px;
  font-weight: 600;
  color: #ccc !important;
  text-decoration: none !important;
  border-right: 1px solid rgba(255,255,255,0.1);
  transition: background 0.2s, color 0.2s;
  text-align: center;
  line-height: 1.3;
}
.ds-pagenavi__link:hover {
  background: #f47920 !important;
  color: #fff !important;
}
.ds-pagenavi__item:last-child .ds-pagenavi__link { border-right: none; }

/* セクション見出し */
.ds-h__ttl--02 {
  font-size: 22px;
  font-weight: bold;
  border-left: 5px solid #f47920;
  padding-left: 15px;
  margin-bottom: 25px;
  color: #111;
}

/* コンテナ */
.ds-container-full { width: 100%; }
.ds-container-full--bg2 { background: #f8f8f8; }
.ds-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
}
.ds-container__section { padding: 60px 0; }
.ds-page { padding: 0; }

/* スマホ対応 */
@media (max-width: 768px) {
  .ds-second-hero { padding: 40px 0; }
  .ds-second-hero__wrap { padding: 0 20px; }
  .ds-second-hero__ttl { font-size: 24px; }
  .ds-pagenavi__list { padding: 0 16px; overflow-x: auto; flex-wrap: nowrap; }
  .ds-pagenavi__item { flex: none; }
  .ds-pagenavi__link { height: 44px; padding: 0 14px; font-size: 12px; white-space: nowrap; }
  .ds-container { padding: 0 20px; }
  .ds-container__section { padding: 40px 0; }
  .ds-h__ttl--02 { font-size: 18px; }
}

/* 非常用放送ヒーロー：スマホで縦積み */
@media (max-width: 768px) {
  .ds-second-hero__wrap {
    flex-direction: column !important;
    gap: 24px !important;
  }
  .ds-second-hero__img-area img {
    max-width: 100% !important;
  }
}


/* ============================================
   非常用放送：商品データ・動画・サービスセクション
============================================ */

/* 商品データ ダウンロード */
.ds-hijo-download__list {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: 12px;
}
.ds-hijo-download__item {
  display: flex; align-items: center; justify-content: space-between;
  padding: 20px 24px; background: #fff;
  border: 1px solid #eee; border-radius: 6px;
  gap: 20px;
}
.ds-hijo-download__text { font-size: 15px; font-weight: 600; color: #222; margin: 0; line-height: 1.6; }
.ds-btn {
  display: inline-block; padding: 10px 28px;
  background: #f47920; color: #fff !important;
  font-size: 14px; font-weight: bold;
  text-decoration: none; border-radius: 4px;
  white-space: nowrap;
  transition: background 0.2s;
}
.ds-btn:hover { background: #d4661a !important; }

/* 設定動画 */
.ds-hijo-movie-content__list {
  list-style: none; padding: 0; margin: 0;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
}
.ds-hijo-movie-content__video {
  position: relative; width: 100%; padding-top: 56.25%; /* 16:9 */
  background: #000; border-radius: 6px; overflow: hidden;
}
.ds-hijo-movie-content__video iframe {
  position: absolute; top: 0; left: 0;
  width: 100%; height: 100%; border: 0;
}
.ds-hijo-movie-content__caption {
  margin-top: 10px; font-size: 13px; color: #555;
  text-align: center; line-height: 1.5;
}

/* サービスカード */
.ds-hijo-service-content__lead {
  font-size: 15px; line-height: 1.9; color: #444;
  margin-bottom: 28px;
}
.ds-card__list {
  list-style: none; padding: 0; margin: 0;
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px;
}
.ds-card__link {
  display: block; text-decoration: none; color: inherit;
  border: 1px solid #eee; border-radius: 6px; overflow: hidden;
  transition: box-shadow 0.2s, transform 0.2s;
  background: #fff;
}
.ds-card__link:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.1);
  transform: translateY(-2px);
}
.ds-card__ph { display: block; overflow: hidden; }
.ds-card__ph img,
.hijo__sev-ph--img {
  width: 100%; height: auto; display: block;
}
.ds-card__ttl {
  font-size: 14px; font-weight: 600; color: #222;
  line-height: 1.6; padding: 16px; margin: 0;
}
.ds-card__arrow {
  display: block; padding: 0 16px 14px;
  font-size: 13px; color: #f47920; font-weight: bold;
}
.ds-card__arrow::after { content: '→'; }

/* レスポンシブ */
@media (max-width: 768px) {
  .ds-hijo-download__item { flex-direction: column; align-items: flex-start; }
  .ds-hijo-movie-content__list { grid-template-columns: 1fr; }
  .ds-card__list { grid-template-columns: 1fr; }
}


/* ============================================
   グローバルメニュー 修正
============================================ */

/* 黒いナビバー */
#header_bottom {
  background: #3a3a3a !important;
  border-top: none !important;
}

/* メニュー項目 */
#global_menu > ul > li > a {
  color: #ccc !important;
  font-size: 14px;
  font-weight: 500;
  transition: background 0.2s, color 0.2s !important;
}

/* ホバー：オレンジ */
#global_menu > ul > li > a:hover,
#global_menu > ul > li:hover > a {
  background: #f47920 !important;
  color: #fff !important;
}

/* 現在のページ */
#global_menu .current-menu-item > a,
#global_menu .current_page_item > a {
  background: #f47920 !important;
  color: #fff !important;
}

/* サブメニュー：白飛び修正 */
#global_menu ul ul {
  background: #3a3a3a !important;
  border: none !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3) !important;
}
#global_menu ul ul a {
  color: #ccc !important;
  transition: background 0.2s, color 0.2s !important;
}
#global_menu ul ul a:hover {
  background: #f47920 !important;
  color: #fff !important;
  text-indent: 0 !important;
}

/* hover_background 無効化 */
#global_menu .hover_background { display: none !important; }

/* ============================================
   「ページ作成中」ツールチップ
============================================ */
.menu-item-disabled {
  position: relative;
}
.menu-item-disabled > a {
  cursor: default !important;
  opacity: 0.6;
}
.menu-item-disabled > a::after {
  content: '只今ページ作成中';
  display: none;
  position: absolute;
  top: calc(100% + 6px);
  left: 50%;
  transform: translateX(-50%);
  background: #333;
  color: #fff;
  font-size: 11px;
  font-weight: 400;
  padding: 5px 10px;
  border-radius: 4px;
  white-space: nowrap;
  z-index: 9999;
  pointer-events: none;
}
.menu-item-disabled > a:hover::after {
  display: block;
}


/* ============================================
   「商品情報」クリック無効化
============================================ */
#global_menu .menu-item-has-children > a[href*="/products"] {
  pointer-events: none !important;
  cursor: default !important;
}


/* ================================================================
   ログイン・会員登録メニュー：人形アイコン追加
   li:last-child で対象指定（WordPressのCSSクラス設定不要）
================================================================ */

/* PC / タブレット グローバルメニュー */
#global_menu > ul > li:last-child > a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  background: #E8621A !important;
  color: #fff !important;
  padding: 0 18px !important;
  font-weight: 600 !important;
  height: 52px !important;
}
#global_menu > ul > li:last-child > a:hover {
  background: #C9531A !important;
  color: #fff !important;
}
/* 人形アイコン */
#global_menu > ul > li:last-child > a::before {
  content: '' !important;
  display: inline-block !important;
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 20c0-4 3.6-7 8-7s8 3 8 7'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  background-position: center !important;
}

/* タブレット（701px〜1200px） */
@media screen and (min-width:701px) and (max-width:1200px) {
  #global_menu > ul > li:last-child > a {
    height: 50px !important;
    font-size: 12px !important;
    padding: 0 10px !important;
  }
}

/* スマホ ドロワーメニュー：ログイン・会員登録を最上部へ */
#mobile_menu > ul {
  display: flex !important;
  flex-direction: column !important;
}
#mobile_menu > ul > li:last-child {
  order: -1 !important;
}
#mobile_menu > ul > li:last-child > a {
  background: #E8621A !important;
  color: #fff !important;
  font-weight: 600 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  border-bottom: 1px solid rgba(255,255,255,0.3) !important;
}
#mobile_menu > ul > li:last-child > a::before {
  content: '' !important;
  display: inline-block !important;
  width: 18px !important;
  height: 18px !important;
  flex-shrink: 0 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 20c0-4 3.6-7 8-7s8 3 8 7'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  background-position: center !important;
}


/* ================================================================
   ヘッダー検索フォーム：一時非表示
   PC・タブレット：#js-header-search
   スマホドロワー内：#drawer_menu_search
================================================================ */
#js-header-search,
#drawer_menu_search {
  display: none !important;
}



/* ================================================================
   商品情報サブメニュー：制作中項目のグレーアウト
   対象：「セキュリティカメラ」「IPオーディオ」
================================================================ */
#global_menu ul ul li.menu-item-wip > a {
  color: #888 !important;
  opacity: 0.55 !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
}
#mobile_menu li.menu-item-wip > a {
  color: rgba(255,255,255,0.35) !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
}
