@charset "UTF-8";
/* SEO製品ページ用 追加スタイル（独立ファイル・sassコンパイル対象外）
   既存製品ページ（本文13px・画像はコンテナ幅・見出しと本文を左揃え）に統一 */

/* スライド画像：元画像サイズに関わらず4:3枠いっぱいにcover表示（社長指示） */
.swiper_products .swiper-slide{ aspect-ratio:auto; position:relative; display:block; overflow:visible; }
.swiper_products .img_cap_wrap{ position:relative; display:block; width:100%; margin-inline:auto; line-height:1.5; }
/* 製品写真の枠を70%に縮小して中央寄せ（社長指示 2026-08-10）。
   支給写真が150〜600pxしかないため、枠を950px→665pxに詰めることで拡大率も下がる。
   SPは元から枠が狭いので等倍に近く、70%にすると小さくなりすぎるためPCのみ。 */
/* 2026-08-19 社長指示：メイン写真をさらに現在の70%へ（70% -> 49%＝950px枠に対し約466px） */
@media screen and (min-width:768px){
  .swiper_products .img_cap_wrap{ width:49%; margin-left:auto; margin-right:auto; }
}
.swiper_products .swiper-slide img{ display:block; width:100%; height:auto; }
/* 画像キャプション：オーバーレイをやめ画像下に外出し＋センター寄せ（社長指示・CFS w_products_image_caption） */
.swiper_products .slide_caption{
  position:static; display:block; margin-top:.7em;
  background:none; color:#333; box-sizing:border-box;
  padding:0; font-size:.9rem; line-height:1.6; text-align:center; letter-spacing:.02em;
}
@media screen and (max-width:767px){
  .swiper_products .slide_caption{ font-size:.8rem; }
}

/* 本文サイズを既存(13px)に統一・見出しと頭を左揃え */
.list_products li > p{ font-size:16px; line-height:1.9; margin:0 0 .7em; }
.list_products .list_dot{ list-style:none; padding-left:0; margin:.6em 0; }
.list_products .list_dot li{ padding-left:1em; text-indent:-1em; font-size:16px; line-height:1.9; margin-bottom:.2em; }
.list_products .list_dot li::before{ content:"・"; }
.list_products .note{ font-size:13px; font-weight:300; color:#888; line-height:1.8; margin-top:.8em; }   /* #4667 12→13px・500→300 */

/* 仕様テーブル：添付見本の体裁（ラベル列＝コーポレートカラー#004677背景＋白文字／値セル＝白＋細罫線／偶数行ゼブラ）。現デザインの色・フォント踏襲 */
.list_products .spec_table{ width:100%; border-collapse:collapse; margin:1.1em 0 1.4em; border:1px solid #d3dde4; }
/* 行ラベルth（2行目以降）＝薄い青＋濃紺文字（社長指示・階層化） */
.list_products .spec_table th{
  width:34%; text-align:center; vertical-align:middle;
  background:#cfe0ee !important; color:#004677 !important; font-weight:700;
  padding:.95rem 1.2rem; border-bottom:2px solid #fff; border-right:2px solid #fff;
  font-size:13px; line-height:1.6; letter-spacing:.04em;
}
/* 1行目（マトリクス表のヘッダー行＝型式/型番）は濃紺#004677のまま */
.list_products .spec_matrix tr:first-child th{ background:#004677 !important; color:#fff !important; }
.list_products .spec_table td{
  vertical-align:middle; padding:.95rem 1.2rem; background:#fff;
  border-bottom:1px solid #e5e5e5; border-left:1px solid #edf1f4;
  font-size:13px; line-height:1.7;
}
.list_products .spec_table tr:nth-child(even) td{ background:#f4f8fb; }
/* 仕様表内のセクション見出し行（colspan＝電子銃/制御電源 等） */
.list_products .spec_table td[colspan]{ background:#004677 !important; border-bottom:2px solid #fff !important; color:#fff !important; font-weight:700; text-align:center; letter-spacing:.04em; padding:.95rem 1.2rem; }
@media screen and (max-width:767px){
  .list_products .spec_table th{ width:100%; display:block; padding:.7rem 1rem; border-right:none; }
  .list_products .spec_table td{ width:100%; display:block; padding:.8rem 1rem; border-left:none; }
  .list_products .spec_table tr:nth-child(even) td{ background:#fff; }
}

/* #3980 型番（型式）の表示：少し小さく・横並び（生成器側で " / " 区切り済み） */
.ttl_box .ttl_s{ font-size:.95rem; font-weight:normal; line-height:1.7; }
@media screen and (max-width:767px){ .ttl_box .ttl_s{ font-size:.8rem; } }

/* #3983 グローバルナビ：製品一覧カテゴリのドロップダウン */
#gnavi ul li.has_sub{ position:relative; }
/* 製品一覧はドロップダウンの親＝非遷移（社長指示 websupport #7843） */
#gnavi ul li.has_sub > a.no_link{ cursor:default; }
#gnavi ul li.has_sub > .sub_menu{
  position:absolute; left:50%; transform:translateX(-50%); top:100%;
  min-width:13em; background:#fff; box-shadow:0 8px 24px rgba(0,0,0,.12);
  padding:.6em 0; border-radius:4px; opacity:0; visibility:hidden;
  transition:opacity .2s, visibility .2s; z-index:50; text-align:left;
}
#gnavi ul li.has_sub:hover > .sub_menu{ opacity:1; visibility:visible; }
#gnavi ul li.has_sub > .sub_menu li{ margin:0; display:block; }
#gnavi ul li.has_sub > .sub_menu li > a{
  display:block; padding:.55em 1.4em; font-size:.9rem; color:#21201c; white-space:nowrap; line-height:1.5;
}
#gnavi ul li.has_sub > .sub_menu li > a:hover{ background:#f2f6fb; color:#004677; }
/* SP：ホバー不可のため常時展開のサブリスト */
@media screen and (max-width:767px){
  #gnavi ul li.has_sub > .sub_menu{
    position:static; transform:none; opacity:1; visibility:visible; box-shadow:none;
    padding:.2em 0 .4em; min-width:0; background:transparent;
  }
  #gnavi ul li.has_sub > .sub_menu li > a{ color:#fff; padding:.4em 0 .4em 1.5em; font-size:.95rem; }
  #gnavi ul li.has_sub > .sub_menu li > a:before{ content:"- "; }
}

/* 沿革タイムライン（会社案内・添付デザイン／色は既存ブルー #004677） */
.vp_history{ --yw:7.5rem; --gap:2.6rem; position:relative; max-width:880px; margin:3.5rem auto 0; padding:0; list-style:none; }
.vp_history::before{ content:""; position:absolute; top:.9em; bottom:.9em; left:calc(var(--yw) + var(--gap)/2); width:2px; background:#004677; transform:translateX(-1px); }
.vp_history__item{ position:relative; display:grid; grid-template-columns:var(--yw) 1fr; column-gap:var(--gap); padding-bottom:3.6rem; }
.vp_history__item:last-child{ padding-bottom:0; }
.vp_history__item::before{ content:""; position:absolute; left:calc(var(--yw) + var(--gap)/2); top:.5em; width:13px; height:13px; margin-left:-6.5px; border-radius:50%; background:#004677; box-shadow:0 0 0 4px #fff; }
.vp_history__year{ text-align:right; font-size:1.9rem; font-weight:700; line-height:1.2; color:rgba(0,70,119,.30); letter-spacing:.02em; }
.vp_history__body{ padding-top:.35em; font-size:1rem; font-weight:700; color:#21201c; line-height:1.9; }
@media screen and (max-width:767px){
  .vp_history{ --yw:3.6rem; --gap:1.1rem; margin-top:2rem; }
  .vp_history::before{ left:calc(var(--yw) + var(--gap)/2); }
  .vp_history__item{ padding-bottom:2.6rem; }
  .vp_history__year{ font-size:1.1rem; padding-top:.15em; }
  .vp_history__body{ font-size:.9rem; font-weight:700; line-height:1.8; }
  .vp_history__item::before{ width:11px; height:11px; margin-left:-5.5px; top:.35em; }
}

/* #4010 #4011 製品一覧/関連製品カードの型番(.ttl_s)を小さく（全ページ共通・タイトルの .ttl_box .ttl_s には不影響） */
.products_box .ttl_s{ font-size:12px; line-height:22px; }

/* 導入実績(works)のコンテンツ画像：2カラムグリッド＋一定サイズ枠（縦横混在でも統一・縦写真は左右余白） */
.single-works .works_gallery{ display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
.single-works .works_gallery__item img{ width:100%; aspect-ratio:4 / 3; object-fit:contain; display:block; }
.single-works .works_gallery__item:only-child{ grid-column:1 / -1; }
@media screen and (max-width:767px){
  .single-works .works_gallery{ grid-template-columns:1fr; gap:1rem; }
}

/* === 追従ヘッダー(.header_scroll)：中身を垂直中央に・検索/お問い合わせも一緒に表示（社長指示・#4435） === */
/* 対称パディング＋min-height＋align-items:center でロゴ・ナビ・CTAを縦中央に揃える（従来は下寄り） */
.header_scroll{ padding-top:0 !important; padding-bottom:0 !important; }
.header_scroll .header_box{ padding-top:0 !important; padding-bottom:0 !important; min-height:78px; align-items:center; }
.header_scroll #overlay{ display:flex; align-items:center; }
.header_scroll .header_navi{ margin-bottom:0 !important; }
.header_scroll .header_ttl{ margin:0 !important; }
/* トップ用のロゴ上余白(#4511 .home #header_left padding-top:30px)は追従時に無効化 */
.header_scroll #header_left{ padding:0 !important; }
/* 以前のスリム化で検索/問い合わせを非表示にしていたが、追従ヘッダーにも表示する方針に変更 */
@media screen and (max-width:767px){
  .header_scroll{ padding-bottom:.4rem !important; }
  .header_scroll .header_box{ padding-top:.4rem !important; }
}

/* === 右下に固定追従する「お問い合わせ」フローティングボタン（スクロール時に表示） === */
.float_contact{
  display:none; position:fixed; right:22px; bottom:22px; z-index:9999;
  align-items:center; gap:.5em; padding:.95em 1.5em; border-radius:999px;
  background:#004677; color:#fff; font-weight:bold; font-size:.95rem; line-height:1;
  box-shadow:0 8px 22px rgba(0,40,80,.30); text-decoration:none;
  transition:transform .2s ease, background .2s ease;
}
.float_contact:hover{ background:#013a63; transform:translateY(-2px); color:#fff; }
.float_contact .ico{ width:1.15em; height:1.15em; flex:0 0 auto; }
/* 追従ヘッダー内に検索・問い合わせを表示する方針にしたため、右下フロートは無効化（#4435） */
/* body:has(header.header_scroll) .float_contact{ display:inline-flex; } */
@media screen and (max-width:767px){
  .float_contact{ right:14px; bottom:14px; padding:.85em 1.2em; font-size:.85rem; }
}

/* === 追従ヘッダーは白背景＋黒ナビ/CTA・フッターは黒背景に（社長指示） === */
.sub_header{ background-color:#004677 !important; }         /* 静止時サブヘッダーは従来どおり濃紺 */
.header_scroll{ background-color:#fff !important; }          /* 追従ヘッダーは白 */
footer{ background-color:#000 !important; }                  /* フッターは黒 */

/* 追従ヘッダー：白ロゴは白背景で消えるため公式の黒ロゴ(logo_b.svg)に差し替え */
.header_scroll #header_left .header_ttl img.logo{ content:url("../images/logo_b.svg"); }
/* 追従ヘッダー PC：ナビ/CTA/検索を黒に（視認性） */
@media screen and (min-width:768px){
  .header_scroll #gnavi > ul > li > a{ color:#000; }
  .header_scroll a.h_contact{ color:#000; border-color:#000; }
  .header_scroll .header_search{ border-color:#000 !important; }
  .header_scroll input.search_box{ color:#000; }
  .header_scroll input.search_box::placeholder{ color:#666; }
  .header_scroll .btn_search{ filter:brightness(0); }        /* 白い検索アイコン→黒 */
}
/* 追従ヘッダー SP：ハンバーガーは閉時のみ黒（開時=.activeは黒オーバーレイ上なので白のまま） */
@media screen and (max-width:767px){
  .header_scroll .menu-trigger:not(.active) span{ background:#000; }
  .header_scroll .menu-trigger:not(.active) p{ color:#000; }
}

/* フッター内CTAボタン：黒背景上でも白塗り＋濃紺文字で分離（従来踏襲） */
footer a.footer_btn_w{ background:#fff !important; color:#004677 !important; border-color:#fff !important; }
footer a.footer_btn_w::after{ border-left-color:#004677 !important; }
footer a.footer_btn_w:hover{ background:#e6edf3 !important; color:#013a63 !important; }
footer a.footer_btn_w:hover::after{ border-left-color:#013a63 !important; }
/* 右下フロート：どの背景でも分離するよう細い白縁を追加 */
.float_contact{ border:1px solid rgba(255,255,255,.85); }

/* === 全体の本文テキストを #000 に統一（社長指示）。白文字・濃紺背景・青アクセント(.txt_clr_blue)は維持。灰色本文のみ黒へ === */
.list_products li > p,
.list_products .list_dot li,
.list_products .note,
.list_products .spec_table td,
.vp_history__body{ color:#000; }

/* === 会社案内トップ：4カード（写真+タイトル→各ページ） === */
.section_company_cards{ padding:5rem 0; }
.section_company_cards .inner{ max-width:1000px; margin:0 auto; }
.company_cards{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:2.2rem; }
.company_cards > li{ margin:0; }
.company_cards a{ display:block; text-decoration:none; color:#000; }
.company_cards .img_wrap{ overflow:hidden; border-radius:4px; aspect-ratio:4 / 3; background:#f2f4f6; }
.company_cards .img_wrap img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease; }
.company_cards a:hover .img_wrap img{ transform:scale(1.05); }
.company_cards .ttl{ margin:1.1rem 0 0; font-size:1.25rem; font-weight:700; line-height:1.4; display:flex; flex-direction:column; }
.company_cards .ttl .ttl_e{ font-size:.8rem; font-weight:500; letter-spacing:.08em; color:#004677; margin-top:.25em; }
@media screen and (max-width:767px){
  .section_company_cards{ padding:3rem 0; }
  .company_cards{ grid-template-columns:1fr; gap:1.6rem; }
  .company_cards .ttl{ font-size:1.1rem; }
}
/* 会社案内配下ページ末尾の他ページ動線：3列1行 */
.company_cards.cols3{ grid-template-columns:repeat(3,1fr); }
.section_company_cards.company_cards_sub{ padding:0 0 5rem; }
@media screen and (max-width:767px){ .company_cards.cols3{ grid-template-columns:1fr; } }

/* 会社概要：主要取引先を企業/大学/研究機関の3ブロックに。大学ブロックの前後に20px余白（社長指示） */
.table_company .clients-block{ display:block; }
.table_company .clients-univ{ margin:20px 0; }

/* === トップページ 余白微調整（websupport 要素調整・.home スコープ＝トップのみ） === */
.home .section_news{ padding:180px 0 128px 0; }           /* #4508 上余白 100→180 */
.home .list_about_1{ margin:0 0 80px 0; }                 /* #4509 下余白 0→80 */
.home .header_box{ padding:0; }                           /* #4510 上余白 40→0 */
.home #header_left{ padding:30px 0 0 0; }                 /* #4511 上余白 0→30 */

/* === ファーストビュー：左に文字パネル・右に写真の横分割（社長指示・文字を写真に重ねない） === */
/* 写真/動画は右側 62% に。左 38% は墨色パネルで文字を載せる＝製品写真に重ならない */
.home .main_img{ overflow:hidden; }
.home .main_img .img_wrap{ width:62%; margin:0 0 0 auto; }
.home .swiper_top .swiper-slide{ height:100vh; }
.home .slide-img{ position:relative; height:100vh; }
.home .slide-img img{ width:100%; height:100vh; object-fit:cover; display:block; }
/* ↑の display:block がグローバルの .sp{display:none} を特異度で上書きしてしまい、
   PC画像とSP画像が両方描画されていた（PC用が常に手前で見える）。明示的に加重して切替を復活させる。 */
.home .slide-img img.sp{ display:none; }
.home .slide-img video{ position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; }
/* 左の文字パネル（全高・墨色・中央寄せ）＝写真と完全分離 */
.home .main_img .txt_wrap{
  left:0; right:auto; top:0; transform:none;
  width:38%; height:100%;
  display:flex; flex-direction:column; justify-content:center; align-items:center;
  background:#0e2233; text-align:center; z-index:14; box-sizing:border-box; padding:0 4%;
}
.home .main_img .txt_wrap .ttl_65px{ margin:0; }
.home .main_img .txt_wrap .mv_ttl_e{ margin-top:1.2rem; }
/* 縦flex(align-items:center)で子がmax-content幅になり折返さない問題→パネル幅に収めて折返す */
.home .main_img .txt_wrap > *{ max-width:100%; box-sizing:border-box; }
/* 左パネルにかかる装飾バンド（黒帯/装飾画像）はパネル背後で隠す */
.home .main_img_bg::before,
.home .main_img_bg::after{ z-index:0; }
@media screen and (max-width:767px){
  /* SP：上に文字パネル(42vh)・下に写真(58vh)の縦分割 */
  .home .main_img .img_wrap{ width:100%; height:58vh; position:absolute; left:0; bottom:0; top:auto; margin:0; }
  .home .swiper_top .swiper-slide{ height:58vh; }
  .home .slide-img{ height:58vh; }
  .home .slide-img img{ height:58vh; }
  .home .slide-img img.pc{ display:none; }
  .home .slide-img img.sp{ display:block; }
  .home .main_img .txt_wrap{
    width:100%; height:42vh; top:0; padding:0 8%;
  }
  .home .main_img .txt_wrap .mv_ttl_e{ font-size:.58rem; letter-spacing:.03rem; width:100%; white-space:normal; overflow-wrap:break-word; }
}

/* ヒーローの SCROLL 表示：左パネル上＝白文字で左下に（社長指示） */
.home .top_scroll_wrap{ left:4.5%; bottom:60px; }
@media screen and (max-width:767px){ .home .top_scroll_wrap{ display:none; } }

/* パンくずの上余白を 8px→20px に（#4649・全ページ共通） */
#list_breadcrumb{ padding-top:20px; }

/* アンカーリンク着地時に固定ヘッダー(約99px)へ潜らないよう余白（downloadsのカタログアンカー等） */
html{ scroll-padding-top:110px; }
.list_products > li{ scroll-margin-top:110px; margin-bottom:60px; }   /* #4665 本文ブロック間 120→60px */
/* #4666 ページネーション上余白 35.3px→60px */
.list_pagination{ margin-top:60px; }

/* 製品名の下のサブタイトル（和名＋測定モード）＝products-subtitle/products-modes meta があれば表示 */
.ttl_box .products_subttl{ margin-top:.7rem; line-height:1.55; }
.products_subttl__name{ display:block; font-size:1.1rem; font-weight:700; color:#004677; }
.products_subttl__modes{ display:block; font-size:.95rem; color:#555; letter-spacing:.04em; margin-top:.25em; }

/* === ヘッダー：ナビゲーションとCTA(検索＋お問い合わせ)を横並列に（追従ヘッダーも同一要素で自動適用・社長指示）=== */
@media screen and (min-width:768px){
  .header_box{ align-items:center; padding-top:1.25rem; }   /* 上余白を半分に（2.5rem→1.25rem・社長指示）。home(#4510で0)・追従(0!important)は不変 */
  #header_right{ display:flex; align-items:center; gap:2.5rem; }
  #header_right #gnavi{ order:1; }
  #header_right .header_navi{ order:2; margin-bottom:0; }
}

/* === 会社概要ページ：アクセスセクション（Googleマップ＋バス案内） === */
.section_access{ padding-top:0; padding-bottom:5rem; }
.access_map{ margin:2.5rem 0 0; }
.access_map iframe{ display:block; width:100%; height:450px; border:0; }
.access_info{ margin-top:2.5rem; }
.access_heading{ font-size:1.25rem; font-weight:700; margin:0 0 1.2rem; padding-left:.7em; border-left:4px solid #004677; }
.access_route{ margin-bottom:1.6rem; }
.access_route .route_ttl{ font-weight:700; font-size:1.05rem; margin:0 0 .4em; color:#004677; }
.access_route .route_body{ line-height:1.9; margin:0; }
@media screen and (max-width:767px){
  .access_map iframe{ height:300px; }
  .access_heading{ font-size:1.1rem; }
}

/* === 見積もり依頼・お問い合わせセクション：電話ボタン撤去で1ボタンになったため中央配置（社長指示・全ページ） === */
.section_contact .contact_box{ justify-content:center; }
/* お問い合わせ・見積もりボタン：高さ70px・ピル型（角丸60px）に（社長指示） */
a.contact_btn{ height:70px; border-radius:60px; }

/* === 光電子分光／SPM カテゴリ 専用レイアウト
   正典＝260706_光電子分光ページ修正指示案.pdf（p.1=PES／p.2=SPM）。
   ヒーロー紺帯（横グラデ）＋左タイトル＋右図版／本文は1カラム左寄せ／紺帯見出し／枠付きカード。
   PDF実測：ページ幅540pt・帯169pt・本文10.8pt・見出し13.7pt・紺 #001d5f→#085171・オレンジ #ff9300 === */

/* --- ヒーロー：紺帯。帯は上85%だけに敷き、図版が帯の下へはみ出す（PDF準拠の"はみ出し"） --- */
.pes_hero{ position:relative; }
/* ヘッダーは position:fixed・白・高さ99px(PC)/106px(タブレット)/66px(SP)＝ヒーロー上部が潜るので
   その分を padding-top で逃がす（紺帯だけは --hd 分さかのぼって敷き、帯が途切れないようにする） */
.pes_hero--band{ position:relative; --hd:99px; padding-top:var(--hd); }
@media screen and (max-width:1199px){ .pes_hero--band{ --hd:106px; } }
.pes_hero__inner{ position:relative; width:100%; aspect-ratio:540 / 199; min-height:210px; }  /* 帯169pt＋はみ出し30pt */
.pes_hero--spm .pes_hero__inner{ aspect-ratio:540 / 210; }                                    /* 帯169pt＋はみ出し41pt */
/* 紺帯本体（横グラデ）。ヘッダー下から帯下端まで */
.pes_hero__inner::before{
  content:""; position:absolute; left:0; right:0; top:calc(var(--hd) * -1); height:calc(84.9% + var(--hd)); z-index:0;
  background-image:linear-gradient(90deg,#001d5f 0%,#001d5f 13%,#043266 30%,#085171 45%,#085171 60%,#053367 75%,#001d5f 90%,#001d5f 100%);
}
.pes_hero--spm .pes_hero__inner::before{ height:calc(80.5% + var(--hd)); }
.pes_hero__ttl{ position:absolute; left:7.2%; top:39.7%; transform:translateY(-50%); z-index:5; }
.pes_hero--spm .pes_hero__ttl{ top:37.6%; }
.pes_hero__ttl .sub_ttl{ text-align:left; width:auto; margin:0; color:#fff; font-size:clamp(20px,2.54vw,38px); line-height:1.3; text-shadow:0 2px 10px rgba(0,0,0,.35); }
.pes_hero__fig{ position:absolute; left:36.5%; top:5.5%; width:49.4%; z-index:2; }
.pes_hero--spm .pes_hero__fig{ left:45%; top:0; width:34.4%; }
.pes_hero__fig img{ width:100%; height:auto; display:block; }
.pes_hero__cap{ position:absolute; z-index:5; left:76.5%; top:67.8%; color:#ff9300; font-weight:700; font-size:clamp(13px,2vw,30px); letter-spacing:.02em; line-height:1; white-space:nowrap; }
.pes_hero__logo{ position:absolute; right:5.2%; top:5%; width:13%; max-width:185px; min-width:96px; height:auto; z-index:5; }

@media screen and (max-width:767px){
  /* SPは重ね配置をやめて縦積み（ロゴ→タイトル→図→DeepCore-X）。ヘッダー66px分を上に確保 */
  .pes_hero--band{ --hd:66px; padding-top:0; }
  .pes_hero__inner, .pes_hero--spm .pes_hero__inner{ aspect-ratio:auto; min-height:0; display:flex; flex-direction:column; padding:calc(var(--hd) + 16px) 5% 24px; }
  .pes_hero__inner::before, .pes_hero--spm .pes_hero__inner::before{ top:0; height:100%; }
  .pes_hero__ttl, .pes_hero--spm .pes_hero__ttl,
  .pes_hero__fig, .pes_hero--spm .pes_hero__fig,
  .pes_hero__cap, .pes_hero__logo{ position:static; transform:none; width:auto; max-width:none; }
  .pes_hero__logo{ order:1; width:120px; margin:0 0 10px auto; }
  .pes_hero__ttl{ order:2; }
  .pes_hero__ttl .sub_ttl{ font-size:1.25rem; padding-bottom:0; }
  .pes_hero__ttl .sub_ttl::before{ display:none; }
  .pes_hero__fig{ order:3; margin-top:10px; }
  .pes_hero--spm .pes_hero__fig{ max-width:78%; margin-left:auto; margin-right:auto; }
  .pes_hero__cap{ order:4; text-align:right; font-size:1rem; margin-top:6px; }
}

/* --- 私たちの強み／Scienta Omicron社について：1カラム・左寄せ（PDF p.1/p.2） --- */
.section_pes_intro{ padding:4.5rem 0 3.2rem; }
.pes_block{ margin-bottom:3rem; }
.pes_block:last-child{ margin-bottom:0; }
.pes_h2{ font-size:20px; font-weight:700; color:#111; margin:0 0 1rem; line-height:1.6; }
/* Scienta Omicron社についてのオフィシャルサイトURL（先方指摘 2026-08-20 ④）。
   見出しの右端に置くと本文から離れて「何のURLか」が読み取れないため、
   実績ページのカーボンフライのURL表記に合わせ、見出しの直下に本文と同じ16pxで1行で出す。
   行の下余白は .pes_h2 から .pes_h2row に移して従来どおり1remを保つ。 */
.pes_h2row{ display:block; margin:0 0 1rem; }
.pes_h2row .pes_h2{ margin-bottom:.35rem; }
/* 下線は layout.css の a:link(0,1,1) に負けるので、.pes_h2row を頭に付けて(0,2,1)で勝たせる */
.pes_h2row a.pes_so_link{ display:inline-block; font-size:16px; line-height:1.6; color:#004677; text-decoration:underline; word-break:break-all; }
.pes_h2row a.pes_so_link:hover{ text-decoration:none; }
@media screen and (max-width:767px){
  .pes_h2row a.pes_so_link{ font-size:15px; }
}
.pes_text{ font-size:16px; line-height:1.95; color:#000; margin:0; }   /* 1カラム＝16px */
/* 200px→PDF比率（本文幅の約28%）。グローバル img[src$=".svg"]{width:100%} に勝つよう親クラスで加重 */
.section_pes_intro .pes_scienta_logo{ width:270px; max-width:62%; height:auto; display:block; margin:0 0 1.2rem; }

/* --- 紺帯の見出しセクション（光電子アナライザー／走査プローブ顕微鏡） --- */
.section_pes_band{
  color:#fff; padding:2.4rem 0 2.6rem;
  background-image:linear-gradient(90deg,#001d5f 0%,#001d5f 13%,#043266 30%,#085171 45%,#085171 60%,#053367 75%,#001d5f 90%,#001d5f 100%);
}
.pes_band_ttl{ font-size:clamp(20px,1.9vw,26px); font-weight:700; color:#fff; margin:0 0 1rem; line-height:1.5; }
.pes_band_text{ font-size:16px; line-height:1.95; color:#fff; margin:0; }

/* --- 用途カード：細枠の箱・写真は左寄せで原寸を超えない・本文は写真の下（PDF p.1/p.2） --- */
.section_pes_cards{ padding:30px 0 5rem; }
.pes_card{ border:1px solid #cbd3da; padding:28px 30px 30px; margin-bottom:14px; }
.pes_card:last-child{ margin-bottom:0; }
.pes_card__head{ font-size:19px; font-weight:700; color:#111; margin:0 0 20px; display:flex; align-items:center; line-height:1.5; }
.pes_card__head::before{ content:""; width:.62em; height:.62em; border-radius:50%; background:#e8820c; margin-right:.5em; flex:0 0 auto; }
/* 写真：高さ揃え＋contain。max-width はPHPが元画像の実寸を出力＝原寸超えの拡大をしない（粗さ対策） */
.pes_card__photos{ display:flex; flex-wrap:wrap; align-items:flex-end; gap:18px 34px; margin:0 0 18px; }
.pes_prod{ text-decoration:none; color:#000; display:block; flex:0 0 auto; }
.pes_prod__img{ display:flex; align-items:flex-end; justify-content:center; height:170px; overflow:hidden; }
.section_pes_cards--spm .pes_prod__img{ height:220px; }
.pes_prod__img img{ max-width:100%; max-height:100%; width:auto; height:auto; display:block; transition:transform .4s; }
.pes_prod:hover .pes_prod__img img{ transform:scale(1.04); }
.pes_prod__name{ display:block; text-align:center; font-size:14px; font-weight:700; margin-top:10px; color:#004677; }
/* 説明・主な研究対象・製品は連続した行（PDFは同一テキストブロック） */
.pes_card__desc, .pes_card__meta{ font-size:16px; line-height:1.9; color:#000; margin:0; }

@media screen and (max-width:767px){
  .section_pes_intro{ padding:2.6rem 0 2rem; }
  .pes_block{ margin-bottom:2.2rem; }
  .pes_h2{ font-size:18px; }
  .pes_text, .pes_band_text, .pes_card__desc, .pes_card__meta{ font-size:15px; }
  .section_pes_band{ padding:1.8rem 0 2rem; }
  .section_pes_cards{ padding:20px 0 3rem; }
  .pes_card{ padding:20px 18px 22px; margin-bottom:12px; }
  .pes_card__head{ font-size:17px; align-items:flex-start; }
  .pes_card__head::before{ margin-top:.42em; }
  .pes_card__photos{ gap:14px 18px; justify-content:flex-start; }
  .pes_prod__img{ height:120px; }
  .section_pes_cards--spm .pes_prod__img{ height:150px; }
  .section_pes_intro .pes_scienta_logo{ width:210px; max-width:72%; }
}


/* === 仕様マトリクス表：型式×仕様が多数の製品（XYステージ等）＝横スクロール対応・SPで縦積みさせない === */
.list_products .spec_scroll{ overflow-x:auto; -webkit-overflow-scrolling:touch; margin:1.1em 0 1.4em; border:1px solid #d3dde4; }
.list_products .spec_scroll .spec_table{ margin:0; min-width:820px; border:none; }
.list_products .spec_matrix th,
.list_products .spec_matrix td{ padding:.72rem .7rem; font-size:12.5px; text-align:center; line-height:1.55; }
.list_products .spec_matrix th{ width:auto; white-space:nowrap; }
.list_products .spec_matrix td{ white-space:nowrap; }  /* 改行せず横スクロール表示（社長指示・.spec_scrollがoverflow-x:auto） */
.list_products .spec_matrix tr > th:first-child{ text-align:center; white-space:nowrap; }
@media screen and (max-width:767px){
  .list_products .spec_matrix th,
  .list_products .spec_matrix td{ display:table-cell; width:auto; }
  .list_products .spec_matrix tr:nth-child(even) td{ background:#f4f8fb; }
}

/* === 仕様マトリクス：横スクロールの可視化（ヒントチップ＋右端フェード＋一度だけナッジはbase.js） === */
.list_products .spec_scrollwrap{ position:relative; padding-top:2em; margin:1.1em 0 1.4em; }
.list_products .spec_scrollwrap .spec_scroll{ margin:0; }
.list_products .spec_scrollwrap::after{
  content:""; position:absolute; top:2em; bottom:0; right:0; width:42px; z-index:2;
  background:linear-gradient(to left, #ffffff, rgba(255,255,255,0));
  pointer-events:none; opacity:1; transition:opacity .35s ease;
}
.list_products .spec_scrollwrap.at-end::after{ opacity:0; }
.list_products .spec_scrollhint{
  position:absolute; top:0; right:2px; z-index:3;
  display:inline-flex; align-items:center; gap:.3em;
  font-size:11.5px; font-weight:700; color:#004677; letter-spacing:.05em; line-height:1;
  background:#eaf1f6; border:1px solid #c3d4e2; border-radius:999px; padding:.4em .85em;
  pointer-events:none; transition:opacity .4s ease;
}
.list_products .spec_scrollhint__arw{ display:inline-block; font-style:normal; animation:spec_nudge 1.25s ease-in-out infinite; }
@keyframes spec_nudge{ 0%,100%{ transform:translateX(0); } 50%{ transform:translateX(6px); } }
.list_products .spec_scrollwrap.is-scrolled .spec_scrollhint{ opacity:0; }
@media (prefers-reduced-motion:reduce){ .list_products .spec_scrollhint__arw{ animation:none; } }

/* === オプション欄に写真（181 Qruva 小型表示機 等）＝テキスト左・写真右、SPは縦積み === */
.list_products .option_media{ display:flex; flex-direction:column; align-items:flex-start; gap:1rem; }
.list_products .option_media > ul{ margin:0; }
.list_products .option_media__fig{ margin:0; width:220px; text-align:left; }
.list_products .option_media__fig img{ width:100%; height:auto; border:1px solid #e5e5e5; background:#fff; }
.list_products .option_media__fig figcaption{ font-size:12px; color:#004677; margin-top:.5em; letter-spacing:.03em; text-align:center; }
/* 画像キャプションは基本センター寄せ（社長指示・本文/添付図の説明文） */
.list_products figcaption, .list_products .wp-caption-text{ text-align:center; }
@media screen and (max-width:767px){ .list_products .option_media__fig{ width:180px; } }

/* === 仕様表内の注記行（精度注記等）＝白背景の注記体裁（セクション見出しcolspanと区別・#4723-4725）=== */
.list_products .spec_table td.spec_note{ background:#fff !important; color:#000 !important; font-weight:400; text-align:left; font-size:12.5px; line-height:1.7; }

/* === 外部リンク（別ドメイン）のURL右に外部リンクアイコン（mask＝リンク文字色に追従・自ドメイン/PDFは除外）=== */
.list_products a[href^="http"]:not([href*="vacuumproducts"]):not([href*="apricot-design"])::after{
  content:""; display:inline-block; width:0.82em; height:0.82em; margin-left:0.32em; vertical-align:-0.06em;
  background-color:currentColor;
  -webkit-mask:url("../images/ext-link.svg") no-repeat center / contain;
  mask:url("../images/ext-link.svg") no-repeat center / contain;
}

/* === 本文リスト内のリンク（製品ページへの相互リンク等）をリンク色に＝#000一括ルールで黒くなるのを回避 === */
.list_products .list_dot li a,
.list_products li > p a{ color:#004677; text-decoration:underline; text-underline-offset:2px; }
.list_products .list_dot li a:hover,
.list_products li > p a:hover{ opacity:.7; }

/* === マトリクス表のセクション見出し行（colspan＝動作仕様/スパッタ性能等）は白背景＋枠線なし（2列表の水色セクション見出しは維持）=== */
.list_products .spec_matrix td[colspan]{ background:#004677 !important; border:none !important; color:#fff !important; font-weight:700; text-align:center; padding:.72rem .7rem; }

/* === トップ section_top_about 下余白 284.8px→150px（#4789・PC/SP両方）=== */
.section_top_about{ padding-bottom:150px; }

/* === トップ h2.main_ttl 中央寄せ（社長指示）=== */
.home .main_ttl{ text-align:center; }

/* === トップ list_about_1：画像＋白カードのオーバーラップを左右交互（PC・添付レイアウト）=== */
@media screen and (min-width:768px){
  .section_top_about .inner{ overflow:visible; }
  /* 白カードを写真に重ねない＝横並び（写真52%／カード44%・間に余白）。左右交互（社長指示） */
  .list_about_1 > li{ align-items:center; justify-content:space-between; flex-wrap:nowrap; position:relative; margin-bottom:7rem; }
  .list_about_1 > li .img_wrap{ flex:0 0 auto; width:52%; margin:0; }
    /* 白背景＋ドロップシャドウは削除（社長指示 2026-08-07）＝写真の横に素のテキストで置く */
  .list_about_1 > li .txt_wrap{ flex:0 0 auto; width:44%; margin:0; box-sizing:border-box; background:none; padding:0 .4rem; box-shadow:none; position:relative; z-index:2; }
  .list_about_1 > li:nth-child(even){ flex-direction:row-reverse; }
}

/* === 技術力セクション：背景動画＋黒30%オーバーレイ（社長指示・bg_black_decoration装飾は非表示）=== */
.section_about_2{ overflow:hidden; }
.section_about_2.bg_black_decoration::before,
.section_about_2.bg_black_decoration::after{ display:none !important; }
.section_about_2 .section_video_bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.section_about_2 .section_video_overlay{ position:absolute; inset:0; background:rgba(0,0,0,.30); z-index:1; pointer-events:none; }
.section_about_2 .inner_lv3{ position:relative; z-index:3; }

/* トップ About us の3枚（.list_about_1）：高さを約100px短く（自然比8:7→4:3にクロップ・PC・.homeスコープ・社長指示） */
.home .list_about_1 > li .img_wrap img{ aspect-ratio:4 / 3; object-fit:cover; }

/* ============================================================
   下層ページ：ヒーローの黒背景を除去＋ヘッダー白基調・黒ナビ（社長指示 2026-07-13）
   静止時ヘッダーにも既存の追従(.header_scroll)と同じ明色仕様を適用し、
   スクロール中(0-300px)でも黒帯無しで視認性を確保。トップ(.home)は不変。
   ============================================================ */
/* 1) ヒーロー上部の黒帯(::before)＋左右スペックル装飾(::after)を除去 */
body:not(.home) .main_img_bg::before,
body:not(.home) .main_img_bg::after{ content:none !important; display:none !important; }

/* 2) ヒーロー写真の濃い暗幕(0.6)を薄く＝写真を明るく。タイトルはtext-shadowで可読化（.pes_hero_ttl 踏襲） */
body:not(.home) .header_sub_wrap .img_wrap::after{
  background:linear-gradient(100deg, rgba(0,0,0,.42) 0%, rgba(0,0,0,.14) 40%, rgba(0,0,0,0) 66%);
}
body:not(.home) .header_sub_wrap .sub_ttl{ text-shadow:0 2px 12px rgba(0,0,0,.6), 0 0 5px rgba(0,0,0,.4); }
@media screen and (max-width:767px){
  /* SPはタイトル中央＝方向グラデが効きにくいので軽い均一veil */
  body:not(.home) .header_sub_wrap .img_wrap::after{ background:rgba(0,0,0,.24); }
}

/* 3) 下層ヘッダーを白基調に（静止時も＝スクロールしても常に白背景・黒ナビ） */
body:not(.home) header{ background-color:#fff; }

/* 4) 静止時ロゴを黒版(logo_b)に（白ロゴは白背景で消える）。追従時は既存で対応済 */
body:not(.home) #header_left .header_ttl img.logo{ content:url("../images/logo_b.svg"); }

/* 5) 静止時PC：ナビ/CTA/検索を黒に（追従時と対称） */
@media screen and (min-width:768px){
  body:not(.home) #gnavi > ul > li > a{ color:#000; }
  body:not(.home) a.h_contact{ color:#000; border-color:#000; }
  body:not(.home) .header_search{ border-color:#000 !important; }
  body:not(.home) input.search_box{ color:#000; }
  body:not(.home) input.search_box::placeholder{ color:#666; }
  body:not(.home) .btn_search{ filter:brightness(0); }
}

/* 6) 静止時SP：ハンバーガー閉時のみ黒（開時=.activeは黒ドロワー上なので白のまま） */
@media screen and (max-width:767px){
  body:not(.home) .menu-trigger:not(.active) span{ background:#000; }
  body:not(.home) .menu-trigger:not(.active) p{ color:#000; }
}

/* 下層ヒーロー：ヘッダーとの余白を約半分に（社長指示 2026-07-13・黒帯除去後の白余白が広すぎ）
   PC 190.8→148px（見える余白84→42px）・SP 89→77px。タイトルは画像中央基準(offset=padding÷2)を維持 */
body:not(.home) .header_sub_wrap{ padding-top:148px; }
body:not(.home) .header_sub_wrap .ttl_wrap{ top:calc(74px + 50%); }
@media screen and (max-width:767px){
  body:not(.home) .header_sub_wrap{ padding-top:77px; }
  body:not(.home) .header_sub_wrap .ttl_wrap{ top:calc(38.5px + 50%); }
}

/* === company/message(1327)：メッセージ本文セクションを白背景に（社長指示 2026-07-14） ===
   共有クラス(bg_blue/txt_clr_white/main_ttl_center_w_2)はページ限定で上書き。白文字→濃色に */
body.page-id-1327 .section_about_3.bg_blue{ background:#fff !important; }
body.page-id-1327 .main_ttl_center_w_2{ color:#808080; }              /* 「メッセージ」ラベル */
body.page-id-1327 .main_ttl_center_w_2::before{ color:#004677; }      /* 「Message」英字＝紺 */
body.page-id-1327 .message_box_1.txt_clr_white{ color:#333; }         /* 本文 */
body.page-id-1327 .message_box_1 .ttl_50px{ color:#004677; }          /* 大見出し「不変的な使命を全うする」＝紺 */

/* === ヘッダーのナビ＋CTAボタンを20px上へ（社長指示 2026-07-14） ===
   #header_right（検索・ナビ・お問い合わせCTAを内包）を下層の静止時PCで20px上げる。
   追従(.header_scroll＝スリム中央寄せ)・SP(ドロワー内)は不変 */
@media screen and (min-width:768px){
  body:not(.home) header:not(.header_scroll) #header_right{ transform:translateY(-20px); }
}

/* =========================================================
   製品詳細ページ：#sub 撤去に伴う1カラム化＋カタログDLをh1右へ（社長指示・2026-07-29）
   ========================================================= */
.single-products .main_sub_wrap{ display:block; }
.single-products #main{ width:100%; }
@media screen and (max-width:767px){
  .single-products #main{ margin-bottom:0; }
}

/* ttl_box：h1（左）とカタログDLボタン（右寄せ） */
.ttl_box__head{ display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap; }
.ttl_box__head .ttl{ margin-bottom:0; }
.ttl_box__actions{ flex:0 0 auto; }
.ttl_box__actions .btn_catalog{ width:auto; max-width:none; height:44px; margin:0; padding:0 1.6em; white-space:nowrap; font-size:0.62rem; }
@media screen and (max-width:767px){
  .ttl_box__head{ gap:.9rem; }
  .ttl_box__actions{ flex-basis:100%; }
  .ttl_box__actions .btn_catalog{ width:100%; }
}

/* ソフトウェアDL（残置ボタン）は中央寄せで従来同様 */
.products_dl{ margin-top:2.5rem; }
.products_dl .btn{ margin-left:auto; margin-right:auto; }

/* === 製品詳細：ヒーロー写真(.header_sub_wrap)撤去に伴い、固定ヘッダー分の上余白をパンくずに付与（社長指示） === */
.single-products #list_breadcrumb{ padding-top:130px; }
@media screen and (max-width:767px){ .single-products #list_breadcrumb{ padding-top:90px; } }

/* === ヒーロー左パネル上の SCROLL 表示は白系に（横分割対応） === */
.home .top_scroll_wrap .top_scroll_txt,
.home .top_scroll_wrap .top_scroll_txt::after{ color:#fff; }
.home .top_scroll_wrap .top_scroll::before{ background:#fff; }

/* === space-chamber #8307：先頭 .inner_1000 の下に 100px 余白（この要素だけ・websupport） === */
body.page-id-942 #container > div:nth-of-type(3){ margin-bottom:100px; }

/* PES/SPM概要の旧オーバーライド（2カラム時代・.pes_hero--diagram）はPDF準拠の全面改修で不要になったため削除（2026-08-07） */

/* Excel変更要請260819「左寄せ、順送りにする」用のリード段落クラス。
   中央寄せだったリード段落の .center / .left_sp を置き換えて使う
   （共用クラス側は他ページでも使うので触らない）。
   幅と揃えはトップ About us（.about_lead）と同一＝700pxの箱を中央に置き、中は左寄せ
   （社長指示 2026-08-19：特注製品のリードもトップのaboutと同じにする）。 */
.lead_left{
  width:700px; max-width:100%;
  margin-left:auto; margin-right:auto;
  text-align:left;
}

/* トップ About us のリード（社長指示 2026-08-19）：700px幅の箱を中央に置き、中は左寄せ。
   共用の .center / .left_sp は他所でも使うので触らず、この段落だけ .about_lead に付け替えている。 */
.section_top_about .about_lead{
  width:700px; max-width:100%;
  margin-left:auto; margin-right:auto;
  text-align:left;
}

/* ============================================================
   トップ 製品紹介セクション（.section_top_special）2026-08-19
   参考＝kanex-tool.co.jp の home-special（社長指示「同じ見せ方で」）。
   骨格のみ採寸移植し、色はコーポレートカラー #004677 に置換。
   ・写真は images/shape/ の抜き素材（背景を平坦化→フラッドフィルで透過）
     ＝背面の巨大英字が枠の中を透ける。JPGに戻すと白い四角が出るので注意。
   ・カルーセルは Swiper を使わない純CSSループ（装飾のみ・リンクなし）。
     2周分をDOMに置いて -50% 送りにしているので、スライドを増減したら
     PHP側の $vp_shapes だけ触れば継ぎ目は自動で合う。
   ・英字は Montserrat の italic 500/700 しか読み込んでいない（header.php）。
     upright を指定すると sans-serif に落ちるので italic 固定。
   ============================================================ */
.section_top_special{
  --vp-navy:#004677;
  --vp-band:#f2f3f5;
  --vp-frame:600px;   /* 枠の一辺 */
  --vp-gap:50px;      /* 枠の左右マージン（隣との間隔は2倍） */
  --vp-bracket:20px;  /* 四隅のカギ括弧の一辺＝内側paddingと同値 */
  --vp-marquee:180px;
  position:relative; z-index:1;
  background:var(--vp-band); color:var(--vp-navy);
  padding:130px 0; overflow:hidden;
  /* websupport #9068（中村・PC/SP両方）：帯の下に余白。
     次の section_top_about が padding-top:0 で、帯の下端に「About us」が
     ぴったり付いていた（実測 gap 0px）ため、この節の margin で空ける。 */
  margin:0 0 130px;
}

/* ---------- カルーセル ---------- */
.section_top_special .special_carousel{ position:relative; z-index:0; overflow:hidden; }

/* 背面の巨大英字マーキー */
.section_top_special .special_marquee{
  position:absolute; top:50%; left:0; z-index:0;
  width:100%; transform:translateY(-50%);
  opacity:.10; pointer-events:none; overflow:hidden;
}
.section_top_special .special_marquee_track{
  display:flex; width:max-content;
  animation:vp-marquee-x 42s linear infinite;
}
.section_top_special .special_marquee_track p{
  font-family:Montserrat, sans-serif; font-style:italic; font-weight:700;
  font-size:var(--vp-marquee); line-height:1; white-space:nowrap;
  padding-right:.28em; margin:0; color:var(--vp-navy);
}
@keyframes vp-marquee-x{ from{ transform:translateX(0) } to{ transform:translateX(-50%) } }

/* 枠のループ */
.section_top_special .special_loop{ position:relative; z-index:1; overflow:hidden; }
.section_top_special .special_loop_track{
  display:flex; width:max-content;
  animation:vp-marquee-x 90s linear infinite;
}

/* ---------- 枠（測定枠：四隅のカギ括弧＋内側の点線） ---------- */
.section_top_special .special_slide{
  position:relative; flex:none;
  width:var(--vp-frame); height:var(--vp-frame);
  margin:0 var(--vp-gap);
}
.section_top_special .special_slide_inner{
  position:relative; width:100%; height:100%;
  padding:var(--vp-bracket); box-sizing:border-box;
}
/* 点線の内枠と写真 */
.section_top_special .special_figure{
  position:relative; width:100%; height:100%; margin:0;
  display:flex; align-items:center; justify-content:center;
}
.section_top_special .special_figure::before{
  content:""; position:absolute; inset:0;
  border:1px dotted currentColor; opacity:.5;
}
.section_top_special .special_figure_main{ position:relative; display:block; width:var(--w,86%); }
.section_top_special .special_figure_main img{ display:block; width:100%; height:auto; }

/* ---------- 見出し・リード・ボタン ---------- */
.section_top_special .special_contents{ position:relative; z-index:2; margin-top:64px; text-align:left; }
.section_top_special .special_ttl{
  font-size:56px; line-height:1.28; font-weight:700; letter-spacing:.02em;
  color:var(--vp-navy); margin:0;
}
.section_top_special .special_lead{
  font-size:16px; line-height:2; margin:28px 0 0; color:#333;
}
/* ---------- レスポンシブ ---------- */
@media screen and (max-width:1279px){
  .section_top_special{ --vp-frame:480px; --vp-gap:42px; --vp-marquee:140px; }
  .section_top_special .special_ttl{ font-size:46px; }
}
@media screen and (max-width:1023px){
  .section_top_special{ --vp-frame:400px; --vp-gap:36px; --vp-marquee:104px; }
  .section_top_special .special_contents{ margin-top:48px; }
  .section_top_special .special_ttl{ font-size:38px; }
}
@media screen and (max-width:767px){
  .section_top_special{
    --vp-frame:280px; --vp-gap:26px; --vp-bracket:15px;
    --vp-marquee:56px;
    padding:70px 0;
  }
  .section_top_special .special_contents{ margin-top:28px; }
  .section_top_special .special_ttl{ font-size:30px; line-height:1.4; }
  .section_top_special .special_lead{ font-size:15px; line-height:1.9; margin-top:20px; }
}

/* 動きを減らす設定の端末では止める */
@media (prefers-reduced-motion:reduce){
  .section_top_special .special_marquee_track,
  .section_top_special .special_loop_track{ animation:none; }
}

/* ============================================================
   スマホ表示の調整（社長指示 2026-08-31）
   ①ヘッダーのロゴ：左25px・上25px・大きさ80%（35%→28%）
   ②ハンバーガーメニュー：ロゴを左上へ、その下にリスト。項目は左寄せ
   ③ヒーローのタイトルを40px下げる
   ④トップのお知らせ：見出しを左寄せ、「ニュース一覧」はリストの下へ
   ============================================================ */
@media screen and (max-width:767px){

  /* ① ヘッダーのロゴ（静止時のみ。追従ヘッダー .header_scroll は従来どおり） */
  header:not(.header_scroll) .header_box{ padding:0; }
  header:not(.header_scroll) #header_left{ padding:0; }
  header:not(.header_scroll) .header_ttl img.logo{
    padding-top:0;
    margin:25px 0 0 25px;   /* 上・左の余白を25pxに */
    width:28%;              /* 従来35%の80% */
  }

  /* 追従ヘッダーも左余白25px・同じ大きさに（高さが細いので上下は中央そろえのまま） */
  .header_scroll .header_box{ padding-left:0; padding-right:0; }
  .header_scroll .header_ttl img.logo{ padding-top:0; margin:0 0 0 25px; width:28%; }

  /* ② ハンバーガーメニュー：ロゴ→リスト→問い合わせボタンの縦並びに組み替え */
  /* #overlay 直下の空白テキスト（&nbsp;）が27pxの行を作り中身を押し下げるので潰す */
  #overlay{ font-size:0; }
  #header_right{ display:flex; flex-direction:column; padding:0 25px; font-size:1rem; }
  .sp_nav_logo{ order:1; padding-top:0; margin:25px 0 0; width:28vw; }
  #gnavi{ order:2; padding-top:2.5rem; }
  .sp_gnavi_btn{ order:3; }
  /* 項目は中央寄せ→左寄せ（製品一覧・お知らせ等の親項目も） */
  #gnavi ul,
  #gnavi ul li,
  #gnavi ul li > a{ text-align:left; }

  /* ③ ヒーローのタイトルを40px下げる（パネルは上下中央そろえのまま＝上余白80pxで+40px） */
  .home .main_img .txt_wrap{ padding-top:80px; }

  /* ④ トップのお知らせ：見出し左寄せ／「ニュース一覧」をリストの下へ
        box_l を display:contents で透過させ、見出し・リスト・ボタンを1列に並べ替える
        （PCの2カラムは不変） */
  .top_news_wrap{ flex-direction:column; }
  .top_news_wrap .box_l{ display:contents; }
  .home .top_news_ttl.main_ttl{ order:1; width:100%; text-align:left; margin-bottom:3rem; }
  .top_news_wrap .box_r{ order:2; width:100%; }
  .top_news_wrap .top_news_btn{ order:3; width:100%; margin-top:2.5rem; }
}
