/* ========== スマホ専用 ========== */
/* 最初に登場する要素には、なるべくコメントを記載 */
/* ===== 全体設定 ===== */
body {
  /* 文字サイズ */
  font-size: 15px;
  /* 行間の指定 */
  line-height: 1.6;
  /* 要素の横方向（X軸）にはみ出した内容の設定 */
  /*  visible  ：はみ出した内容をそのまま表示（デフォルト）。スクロールバーなし */
  /*  hidden   ：はみ出した部分を非表示。スクロールバーなし */
  /*  scroll   ：はみ出しの有無にかかわらず、常に横スクロールバーを表示 */
  /*  auto     ：はみ出したときだけスクロールバーを自動表示 */
  /*  clip     ：はみ出しを切り取るが、hiddenとは違いスクロール位置の操作も無効 */
  overflow-x: hidden;
  /* モバイルブラウザでの文字自動拡大防止 */
  -webkit-text-size-adjust: 100%;
}
/* 画像をはみ出させない */
img, video, iframe {
  /* 最大幅の制限 */
  max-width: 100%;
  /* 高さの自動調整 */
  height: auto;
  /* 要素をどのように表示・配置 */
  /*  block：ブロック要素 */
  /*  flex：子要素をフレックスボックスで配置 */
  display: block;
  /* 上下の余白、左右の余白 */
  padding: 4px 0;
}

/* ===== ヘッダ ===== */
#headInn{
  padding-top:0px;
  padding-bottom:0px;
  display:flex;
  /* 垂直方向の中央揃え */
  align-items:center;
  /* 水平方向の配置を両端揃え */
  justify-content:space-between;
  /* 要素間のすき間 */
  gap:8px;
}
#logo{
  /* 外側余白 */
  margin:0;
  padding:0px 0;
}
#logo img{
  width:auto;
  height:auto;
  max-width:100%;
  display:block;
  margin:0 auto;
}

/* ===== メニューボタン ===== */
:root{ --menu-accent:#129346; }
/* 既存UIはスマホで隠す（英語/会社/採用/検索/PCナビ） */
#headMenu .gSearch, #headMenu ul, #navi { display:none !important; }

/* ボタン */
.spmenu-btn{
  position:absolute;
  right:12px;
  top:8px;
  width:56px;
  height:56px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  background:#fff;
  border:none;
  z-index:10001;
}
.spmenu-icon{
  display:flex;
  flex-direction:column;
  gap:4px;
  align-items:center;
}
.spmenu-icon i{
  width:28px;
  height:3px;
  background:var(--menu-accent);
  border-radius:2px;
  transition:transform .2s ease,opacity .2s ease;
  display:block;
}
.spmenu-label{
  font-size:11px;
  line-height:1;
  color:#111;
  position:relative;
}
/* × アニメ */
body.spmenu-open .spmenu-icon i:nth-child(1){ transform:translateY(7px) rotate(45deg); }
body.spmenu-open .spmenu-icon i:nth-child(2){ opacity:0; }
body.spmenu-open .spmenu-icon i:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
/* メニュー本体：開いている時だけ表示（競合を潰す） */
.spmenu[hidden]{ display:none !important; }
body.spmenu-open .spmenu{ display:grid !important; }
.spmenu{
  position:fixed !important;
  inset:0;
  z-index:10000;
  display:none;
  grid-template-columns: 1fr min(86vw,360px);
  background: rgba(0,0,0,.35);
}
/* メニューを開いている間だけ、右上に固定して最前面 */
body.spmenu-open .spmenu-btn{
  position: fixed !important;
}
.spmenu::before{ content:""; }
.spmenu-panel{
  background:#fff;
  height:100%;
  overflow-y:auto;
  height: 100dvh;
  max-height: 100dvh;
  box-sizing: border-box;
  padding: 75px 16px calc(40px + env(safe-area-inset-bottom)) 16px;
  box-shadow:-8px 0 16px rgba(0,0,0,.08);
  padding-bottom: calc(64px + env(safe-area-inset-bottom));
}
.spmenu-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
}
.spmenu-list a{
  display:block;
  padding:12px;
  border:1px solid #e5e7eb; border-radius:10px;
  background:#f8fafc;
  color:#111;
  text-decoration:none;
}
/* 会社情報より上 */
.spmenu-list li:nth-child(-n+6) a{
  background: #129346;
  border-color: #0a0a0a;
  color: #edf0f4;
}
/* 会社情報より下 */
.spmenu-list li:nth-child(n+7) a{
  background: #f8fafc;
  border-color: #0a0a0a;
  color: #111;
}
.spmenu-list a:active{ background:#eef2f7; }
/* メニュー表示中は背景スクロール禁止 */
body.spmenu-open {
  overflow: hidden;
  touch-action: none;
}
/* メニュー内はスクロール */
body.spmenu-open .spmenu-panel {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
  overscroll-behavior: contain;
}

#visualArea ul{
  display:none !important;
}
#visualArea{
  display:none !important;
}

/* ===== トップバナー ===== */
.sectionInn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
/* トピックス位置補正 */
section[style*="bg_strong_point_dotted_green"]{
  height: auto !important;
  padding: 8px 0 !important;
}
section[style*="bg_strong_point_dotted_green"] ul {
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  justify-items: center;
}
section[style*="bg_strong_point_dotted_green"] ul li {
  list-style: none;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  text-align: center;
}

/* ===== 取扱いメーカー一覧 ===== */
/* 1) 見出しとセクションの余白をタイトに */
#manufacturer h2,
.ttl_h2 {
  margin: 12px 0 !important;
  line-height: 1.25;
}
/* セクション内の上下余白を詰める */
#manufacturer {
  padding-top: 8px;
  padding-bottom: 8px;
}
#manufacturer .sectionInn {
  gap: 10px;
}
/* 2) ULの黒点を消す & 左余白除去 */
#manufacturer ul,
#manufacturer .sectionInn ul {
  list-style: none !important;
  margin: 0 !important;
  padding-left: 0 !important;
}
#manufacturer ul li {
  list-style: none !important;
  margin: 8px 0 !important;
  padding: 0 !important;
}
#manufacturer ul li img {
  width: 100%;
  height: auto;
  display: block;
}
/* 3) float崩れの回り込み抑止 */
#manufacturer .sectionInn::after,
#topInfo .infoArea::after,
#aboutArea .sectionInn::after {
  content: ""; display: block; clear: both;
}
/* 4) “取り扱いメーカー以降が消える”対策：明示表示 */
#topInfo, #aboutArea, #newProducts, #topics, #links, footer {
  display: block !important;
  visibility: visible !important;
}
/* 5) 横はみ出し抑止 */
.sectionInn, .infoArea { overflow-x: hidden; }

/* 縦積み */
#manufacturer .sectionInn,
#topInfo .infoArea,
#aboutArea .sectionInn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
/* スマホで productUnit のリンクを常に有効化 */
.productUnit .moUnit {
  display: block !important;
  position: absolute;
  inset: 0; /* 画像全体を覆う */
  z-index: 5;
}
/* テキストの下線と色指定（リンク感を出す） */
.productUnit .productUTxt h2{
  color: #0044cc;              /* リンク青 */
  text-decoration: underline;  /* 下線を追加 */
  cursor: pointer;
}
.productUnit .moUnit a {
  display: block;
  width: 100%;
  height: 100%;
}
.productUnit {
  position: relative; /* 絶対配置の基準にする */
}

/* ===== 製品情報：製品名から探す ===== */
/* 大カテゴリ */
.categoryListUl {
  display: grid !important;
  grid-template-columns: 1fr 1fr; /* 2列 */
  gap: 8px;
  padding: 0;
  margin: 8px 0;
  list-style: none;
}
.categoryListUl li {
  border: 1px solid #ccc;
  background: #fff;
  padding: 10px 8px;
  text-align: center;
  border-radius: 6px;
  font-size: 15px;
  line-height: 1.4;
  color: #111;
}
/* アクティブ項目（選択中）を強調 */
.categoryListUl li.on {
  background: #77d1c6;
  border-color: #77d1c6;
  font-weight: bold;
}
/* 中カテゴリ */
.categorySecondListUl {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 0;
  margin: 8px 0;
  list-style: none;
}
.categorySecondListUl li {
  border: 1px solid #ccc;
  background: #fff;
  padding: 8px 6px;
  text-align: center;
  border-radius: 6px;
  font-size: 14px;
  color: #111;
}
.categorySecondListUl li.on {
  background: #77d1c6;
  border-color: #77d1c6;
  font-weight: bold;
}

/* ===== 製品情報：測定内容から探す ===== */
.categoryListUlL {
  display: grid !important;
  grid-template-columns: 1fr 1fr; /* 2列 */
  gap: 8px;
  padding: 0;
  margin: 8px 0;
  list-style: none;
}
.categoryListUlL li {
  border: 1px solid #ccc;
  background: #fff;
  padding: 10px 8px;
  text-align: center;
  border-radius: 6px;
  font-size: 15px;
  line-height: 1.4;
  color: #111;
}
/* アクティブ項目（選択中）を強調 */
.categoryListUlL li.on {
  background: #77d1c6;
  border-color: #77d1c6;
  font-weight: bold;
}

/* ===== 製品情報：分野から探す ===== */
.fieldListUl {
  display: grid !important;
  grid-template-columns: 1fr 1fr; /* 2列 */
  gap: 8px;
  padding: 0;
  margin: 8px 0;
  list-style: none;
}
.fieldListUl li {
  border: 1px solid #ccc;
  background: #fff;
  padding: 10px 8px;
  text-align: center;
  border-radius: 6px;
  font-size: 15px;
  line-height: 1.4;
  color: #111;
}
/* アクティブ項目（選択中）を強調 */
.fieldListUl li.on {
  background: #77d1c6;
  border-color: #77d1c6;
  font-weight: bold;
}

/* ======== index.html（光測定 基礎講座）専用・スマホ調整 ======== */
/* 固定幅テーブルをスマホ幅にフィット */
/* 1) 余白ゼロ・はみ出し防止 */
#contentSec, 
#contentSec .sectionInn,
#contentSec .apListArea,
#contentSec .apListArea * {
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box;
}
/* 2) 「目次」テーブルを“見出し→項目”の縦並びに再配置 */
/* テーブルを1カラムGrid化し、trを透明化してtdを直接並べる */
#contentSec .apListArea table{
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 8px;
  width: 100% !important;
  border: 0 !important;
  overflow: visible !important;
}
#contentSec .apListArea table thead,
#contentSec .apListArea table tbody,
#contentSec .apListArea table tr{
  display: contents !important;
}
/* 見出しの体裁 */
#contentSec .apListArea table h4{
  display:block;
  font-size:18px !important;
  font-weight:700;
  margin:16px 0 8px !important;
  padding:0 0 4px !important;
  border-bottom:2px solid #ccc;
}
/* 並び順を「見出し→項目」に */
/* 1列目（光測定 基礎講座） */
#contentSec .apListArea table tr:first-child td:nth-child(1){ grid-row:1; }
#contentSec .apListArea table tr:nth-child(2)  td:nth-child(1){ grid-row:2; }
/* 2列目（OEM） */
#contentSec .apListArea table tr:first-child td:nth-child(2){ grid-row:3; }
#contentSec .apListArea table tr:nth-child(2)  td:nth-child(2){ grid-row:4; }
/* 3列目（アプリケーション） */
#contentSec .apListArea table tr:first-child td:nth-child(3){ grid-row:5; }
#contentSec .apListArea table tr:nth-child(2)  td:nth-child(3){ grid-row:6; }
/* 4列目が存在する場合（同様に続く） */
#contentSec .apListArea table tr:first-child td:nth-child(4){ grid-row:7; }
#contentSec .apListArea table tr:nth-child(2)  td:nth-child(4){ grid-row:8; }
/* リスト体裁（左寄せ・読みやすく） */
#contentSec .apListArea table td{
  border:0 !important;
  padding:0 !important;
}
#contentSec .apListArea table td li{
  list-style-position: inside;
  line-height:1.8;
  margin:0 !important;
  padding:0 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}
/* 3) 旧テーブル系の「全部block化」などは不要なので打ち消し */
#contentSec table,
#contentSec table tr,
#contentSec table td{
  width:100% !important;
}
/* 4) 画像は必ず親幅フィット */
#contentSec img{ display:block; max-width:100% !important; height:auto !important; }

/* 「目次」のsectionInnだけ、flexの影響を打ち消して左揃え */
#contentSec .sectionInn{
  display:block !important;        /* flex → block に戻す */
  padding-left:0 !important;
  padding-right:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
/* 目次テーブルのグリッド（既存）＋左寄せを強制 */
#contentSec .apListArea table{
  width:100% !important;
  justify-items:start;             /* グリッド内の要素を左寄せ */
}
#contentSec .apListArea table > *{
  justify-self:start;              /* 各セルを左寄せ */
}
/* 見出し・リストを左寄せ＆インデント最小化 */
#contentSec .apListArea h3,
#contentSec .apListArea h4{
  text-align:left !important;
  margin-left:0 !important;
  padding-left:0 !important;
}
#contentSec .apListArea ul{
  margin-left:0 !important;
  padding-left:1.1em !important;   /* 箇条書きの最小インデント */
  list-style:disc;
}
#contentSec .apListArea li{
  margin:0 !important;
  padding:0 !important;
}
/* NEW!画像をインライン中央揃えに */
#contentSec .apListArea img[alt*="NEW"],
#contentSec .apListArea img[src*="new"],
#contentSec img[alt*="NEW"],
#contentSec img[src*="new"] {
  display: inline-block !important;
  vertical-align: middle !important;
  margin-left: 4px !important;  /* テキストとの間隔 */
  margin-right: 0 !important;
}
/* NEW!が改行されないようにリンクとセット扱い */
#contentSec a {
  white-space: nowrap !important;
}
/* PDFアイコン画像をインライン表示に */
#contentSec img[src*="pdf"],
#contentSec img[alt*="PDF"] {
  display: inline-block !important;
  vertical-align: middle !important;
  margin-right: 4px !important; /* テキストとの隙間 */
}
/* PDFアイコンとリンクテキストの間で改行させない */
#contentSec a,
#contentSec li {
  white-space: normal !important;
  word-break: break-word !important;
}

/* ===== 仕様テーブルをPC版と同じレイアウトで固定表示 ===== */
/* 横スクロールを解除してPC同様に全体表示 */
.table-wrap {
  overflow-x: visible !important;
  border: none !important;
}
/* テーブルサイズとフォントをPC基準に */
table.itemSpec {
  width: 100% !important;
  border-collapse: collapse;
  min-width: 100% !important; /* 横スクロール不要 */
  table-layout: auto !important;
  font-size: 12px !important; /* 小さめ文字でPCと同等情報量 */
}
/* 見た目をPC版に合わせる */
table.itemSpec th,
table.itemSpec td {
  border: 1px solid #ccc !important;
  padding: 6px 8px !important;
  line-height: 1.4;
  word-break: normal;
  white-space: normal;
}
/* 背景や色もPCと統一 */
table.itemSpec th {
  background: #e8f0f2;
  font-weight: bold;
  color: #111;
  text-align: left;
}
table.itemSpec td {
  background: #fff;
}
/* ルビ文字などの補助は非表示（文字欠け防止） */
table.itemSpec rt,
table.itemSpec rp {
  display: none !important;
}
table.itemSpec {
  font-size: 11.5px !important;
}

/* ===== itemSpecNarrow (仕様表) 罫線追加 ===== */
table.itemSpecNarrow {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #ccc;
  table-layout: auto;
  font-size: 12px;
}
table.itemSpecNarrow th,
table.itemSpecNarrow td {
  border: 1px solid #ccc;
  padding: 6px 8px;
  line-height: 1.4;
  text-align: left;
  background: #fff;
}
table.itemSpecNarrow th {
  background: #e8f0f2;
  font-weight: bold;
}
/* ===== 仕様表の列幅バランスを調整 ===== */
table.itemSpecNarrow {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;   /* 均等幅を強制 */
}
/* 各セルの共通設定 */
table.itemSpecNarrow th,
table.itemSpecNarrow td {
  border: 1px solid #ccc;
  padding: 6px 8px;
  text-align: center;
  word-break: break-word;
  white-space: normal;
}
/* 左端の機能名は少し広めに */
table.itemSpecNarrow th:first-child {
  width: 18%;
  text-align: left;
}
/* 各モデル列の幅を均等に */
table.itemSpecNarrow th:nth-child(2),
table.itemSpecNarrow th:nth-child(3),
table.itemSpecNarrow th:nth-child(4),
table.itemSpecNarrow th:nth-child(5),
table.itemSpecNarrow th:nth-child(6) {
  width: 16%;
}
/* テキストが詰まりすぎないように */
table.itemSpecNarrow td {
  padding: 6px 6px;
  vertical-align: middle;
}

/* ===== itemSpec（仕様テーブル）: 見出しの見切れ防止 ===== */
/* ヘッダセルは強制折返し＆小さめ文字＆高さ自動 */
table.itemSpec thead th,
table.itemSpec tr:first-child th {
  font-size: 11px !important;     /* もう少し小さくしたい場合は 10.5px へ */
  line-height: 1.25 !important;
  white-space: normal !important;  /* 1行固定を解除して折返し */
  word-break: keep-all;            /* 英単語の途中改行は避ける */
  overflow-wrap: anywhere;         /* ただし収まらない場合は改行可 */
  hyphens: auto;                   /* 自然なハイフネーション */
  height: auto !important;         /* 高さ固定があれば解除 */
  padding: 6px 8px !important;     /* 余白は控えめに */
  vertical-align: middle !important;
  text-align: left;
}
/* 行見出し/カテゴリ列（左端）が途中で欠けないように */
table.itemSpec th.thH02,
table.itemSpec td:first-child {
  white-space: normal !important;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
/* もしヘッダ行の背景がPCと違って見える場合は統一 */
table.itemSpec thead th { background: #e8f0f2 !important; }
table.itemSpec th.thH02 {
  font-size: 10.5px !important;     /* もう少し小さくしたい場合は 10.5px へ */
}

/* ===== PC版仕様表の色統一（スマホでも同じ色調に） ===== */
table.itemSpec th.thH01 {
  background: #77d1c6 !important;
  color: #111 !important;          /* 黒文字 */
  text-align: center !important;
}
table.itemSpec th.thH02 {
  background: #e5dfdf !important;
  color: #111 !important;
}
table.itemSpec td {
  background: #fff !important;
  color: #111 !important;
}
table.itemSpec .thH01 td,
table.itemSpec .thH01 th {
  background: #77d1c6 !important;
  color: #111 !important;          /* 黒文字 */
}
/* 電話発信リンクを無効化 */
table.itemSpec a[href^="tel"] {
  pointer-events: none !important;
  color: inherit !important;
  text-decoration: none !important;
  cursor: default !important;
}

/* ===== 展示会情報テーブル（aboutTbl） ===== */
table.aboutTbl {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #ccc;
  margin: 12px 0;
  font-size: 14px;
}
table.aboutTbl th,
table.aboutTbl td {
  border: 1px solid #ccc;
  padding: 8px;
  vertical-align: top;
  text-align: left;
  background: #fff;
  line-height: 1.5;
}
table.aboutTbl th {
  background: #e8f0f2;
  font-weight: bold;
  width: 30%;
  white-space: normal !important;
  word-break: keep-all;       /* 英単語の途中では改行しない */
  overflow-wrap: anywhere;    /* でも2文字程度で折り返せる */
}
/* 右列（td）：リストの・を左揃えに */
table.aboutTbl td ul {
  list-style-position: inside;   /* ・を内側に */
  padding-left: 0 !important;    /* 左余白を消す */
  margin: 0;
}
table.aboutTbl td li {
  text-align: left;
  padding-left: 0;
  margin-left: 0;
}

/* デモ測定例（offerDemoTable）のスマホ最適化 */
table.offerDemoTable { 
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}
table.offerDemoTable tr { 
  display: block !important; 
  margin: 0 0 16px !important; 
}
table.offerDemoTable td { 
  display: block !important; 
  width: 100% !important; 
  padding: 0 0 8px !important; 
  text-align: left !important;
}
/* 画像は親幅にフィット */
table.offerDemoTable img { 
  width: 100% !important; 
  height: auto !important; 
  max-width: 100% !important; 
}
/* テキストの見切れ防止 */
table.offerDemoTable a {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

/* 2カラム案内ボックスをスマホでは縦に */
#topInfo .infoArea {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
#topInfo .infoArea > * {
  width: 100% !important;
}
#topInfo .infoArea > * .infoBox,
#topInfo .infoArea > * {
  background: #f7f9fa;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 14px;
}
#topInfo .infoArea h3,
#topInfo .infoArea .ttl,
#topInfo .infoArea .ttlSP {
  font-size: 18px;
  line-height: 1.35;
  margin: 0 0 10px;
  text-align: left;
}
#topInfo .infoArea img {
  max-width: 100%;
  height: auto;
}
#topInfo .infoArea a.btn,
#topInfo .infoArea .btn a,
#topInfo .infoArea .toBtn a {
  display: block;
  width: 100%;
  text-align: center;
  padding: 12px 10px;
  border-radius: 8px;
  box-sizing: border-box;
  margin-top: 10px;
}

/* ===== インフォメーションのスマホ最適化 ===== */
#information .infoArea dl {
  display: block !important;
}

#information .infoArea dt {
  display: block !important;
  font-weight: bold;
  margin-top: 16px;
  margin-bottom: 4px;
}

#information .infoArea dd {
  display: block !important;
  margin: 0 0 12px;
}

/* ===== ご提案（#topStrongPointDtd）スマホ最適化 ===== */
#topStrongPointDtd { 
  padding: 12px 0 16px;
}

/* 既存の全imgに付けた上下paddingを、このセクションでは無効化 */
#topStrongPointDtd img { 
  padding: 0 !important; 
}

/* 見出し画像＋サブリード（PCで見えていたテキストを再現） */
#topStrongPointDtd .ttlSP {
  display: block;
  text-align: center;
  margin: 0 0 8px !important;
}
#topStrongPointDtd .ttlSP img {
  width: min(92%, 420px);
  height: auto;
  display: inline-block;
}
/* PC版バナーの「お客様に4つのバリューをご提供します」をモバイルに表示 */
#topStrongPointDtd .ttlSP::after {
  content: "お客様に4つのバリューをご提供します";
  display: block;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.4;
  margin-top: 8px;
  letter-spacing: 0.02em;
  color: #0f172a; /* 読みやすい濃いめの文字色 */
}

/* 4つのカードを2列グリッドに、余白を整える */
#topStrongPointDtd .tspUl {
  list-style: none;
  margin: 10px auto 0 !important;
  padding: 0 12px;
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  max-width: 760px;
}
#topStrongPointDtd .tspUl li { 
  margin: 0 !important; 
}
#topStrongPointDtd .tspUl li a {
  display: block;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0,0,0,.06);
}
#topStrongPointDtd .tspUl li a img {
  display: block;
  width: 100%;
  height: auto;
}

/* 端末が狭いときは1列に落とす */
@media (max-width: 360px) {
  #topStrongPointDtd .tspUl { grid-template-columns: 1fr; }
}

/* 必須マーク（上部テキスト用）をフォーム内と同じサイズに統一 */
#contentSec img[src*="img_required_red"] {
  height: 20px !important;
  vertical-align:baseline !important;
}

/* ===== 会社・氏名・メルアド ===== */
.bownowWrapBase {
  padding: 0 16px;    /* 左右の余白 */
  margin: 0 auto;
}
.bownowWrapBase iframe,
iframe[id^="_bownow_cs_sid_7762ed3e12b287fd1ff5"] {
  width: 100%;
  height: 500px;
  border: 0;
  display: block;
  overflow: auto;  /* スクロール可能 */
  scrollbar-gutter: stable;
}

/* ===== お問い合わせ ===== */
.bownowWrapInquiry {
  margin: 0 auto;
  padding: 0;
  width: 100%;
  overflow: visible;
  padding-right: 8px;
}
.bownowWrapInquiry iframe,
iframe[id^="_bownow_cs_sid_40a974b0bdb8b9f291c1"] {
  border: 0;
  display: block;
  width: 560px;
  height: 2000px;
  transform-origin: 0 0;  /* 左上基準で縮小 */
  overflow: auto;         /* スクロール可能 */
}

/* ===== 関連製品 ===== */
/* スライダー系の横配置・変形を無効化して1列グリッドに */
.resultSlider,
.slick-list, .slick-track,
.swiper, .swiper-wrapper{
  display: grid !important;
  grid-template-columns: 1fr !important; /* ←ここで縦1列 */
  gap: 16px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 16px 0 4px !important;
  transform: none !important;
  white-space: normal !important;
  overflow: visible !important;
}
/* 各カードを全幅で表示 */
.resultSlider > .resultUnitSd,
.slick-slide, .swiper-slide{
  width: 100% !important;
  min-width: 0 !important;           /* 1文字縦並び防止（flex圧縮対策） */
  box-sizing: border-box !important;
  float: none !important;
}
/* 画像は親幅フィット */
.resultSlider img{
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
}
/* テキストの読みにくさ対策（1文字折り回避） */
.resultTtl, .resultTtl a, .companyName{
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
}
/* スライダーの矢印/ドットは非表示 */
.slick-arrow,
.swiper-button-prev, .swiper-button-next,
.slick-dots, .swiper-pagination{
  display: none !important;
}

/* オーシャンオプティクス社製品について */
/* オーシャンフォトニクス株式会社 ご連絡先 */
#oceanOpAb,
#oceanPhAb {
  position: relative;
  width: 100%;
  aspect-ratio: 472 / 200; /* 画像の縦横比に合わせる */
  background-repeat: no-repeat;
  background-size: cover;
  background-position: -16px center;
  margin: 0 auto !important;
  padding: 0 4px 0 4px !important;
}
/* 背景画像を個別指定 */
#oceanOpAb {
  background-image: url(../images/bg_top_foot_01.png);
}
#oceanPhAb {
  background-image: url(../images/bg_top_foot_02.png);
}
#oceanOpAb p,
#oceanPhAb p {
	position: relative;
	left: 14px;
	top: 102px;
}

.hiddenTxt {display: none;}

/* ===== フッター ===== */
footer ul {
  display: flex !important;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 30px;
  list-style: none;
  margin: 10px auto 14px !important;
  padding: 0 !important;
}
footer ul li {
  float: none !important;
  width: auto !important;
  line-height: 1.6;
  padding: 0;
  background: none !important;
}
footer ul li a {
  display: inline-block;
  padding: 6px 0;
  font-size: 14px;
  text-decoration: underline;
}
#copyright {
  font-size: 13px;
  line-height: 1.5;
  padding: 8px 0 14px;
  text-align: center;
}
#pageTop {
  right: 12px;
  bottom: 72px;
  z-index: 999;
}
#copyright {
  font-size: 13px;
  line-height: 1.4;
  padding: 10px 0;
}
