.product-tab-panels .acms-tab-panel {
  display: none;
}
.product-tab-panels .acms-tab-panel.acms-tab-panel-active {
  display: block;
}

/* タブの見た目を少し整える（お好みで） */
.product-tabs {
  list-style: none;
  margin: 0 0 30px;
  padding: 0;
  gap: 12px;
}
.product-tabs li a {
  display: inline-block;
  padding: 8px 20px;
  border-radius: 30px;
  border: 1px solid rgba(255,255,255,0.25);
}
.product-tabs .js-acms_tab-active a {
  background-color: #fff;
  color: #0c1631;
}



/* =========================================
 * オリジナル製品カード（一覧）の調整
 * =======================================*/

/* 1) 行ごとに上下の余白をつける ＋ 高さ揃えのために flex に */
.techwix-service-section-02 .service-content-wrap .row > [class^="col-"],
.techwix-service-section-02 .service-content-wrap .row > [class*=" col-"] {
  display: flex;
  margin-bottom: 30px;   /* ★ここが上下行の「すき間」になります */
}

/* 2) カード本体：内部余白を少し減らしつつ、高さ100% で揃える */
.techwix-service-section-02 .service-item-02 {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  padding: 20px 24px 24px;   /* ★元の半分くらいの余白に */
  margin-top: 0;             /* 上側の余白は col の margin-bottom に任せる */
}

/* 3) 写真エリア：大きめに表示してトリミングする */
.techwix-service-section-02 .service-item-02 .service-img {
  position: relative;
  z-index: 1;
  overflow: hidden;
  border-radius: 8px;        /* 角丸はお好みで */
  margin-bottom: 16px;
}

/* 写真をカード幅いっぱいに表示（縦横比バラバラでもOK） */
.techwix-service-section-02 .service-item-02 .service-img img {
  width: 100%;
  height: 180px;             /* ★好みで 160〜220px くらいに調整可 */
  object-fit: cover;         /* 余った部分はトリミング */
  position: static;          /* 元の left:15px を無効化 */
}

/* Techwixの丸いオレンジ背景はこの一覧では使わない */
.techwix-service-section-02 .service-item-02 .service-img::before {
  content: none;
}

/* 4) テキスト部分（カテゴリ・タイトル・本文）の余白を少しコンパクトに */
.techwix-service-section-02 .service-item-02 .service-content .title {
  font-size: 18px;
  line-height: 1.5;
  margin-top: 8px;
}

.techwix-service-section-02 .service-item-02 .service-content p {
  margin-top: 8px;
}

/* 5) 「サービス2・4だけ上にずらす」元CSSを無効化（高さ揃えの邪魔になるため） */
.techwix-service-section-02 .service-item-02.service-2,
.techwix-service-section-02 .service-item-02.service-4 {
  margin-top: 0;
}


.product-tabs {
  list-style: none;
  margin: 0 0 24px;
  padding: 0;
  gap: 12px;
}

.product-tabs li a {
  display: inline-block;
  padding: 6px 18px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,0.08);
  font-size: 14px;
}

/* acms標準の js-acms_tab-active＋自前の is-current の両方に対応 */
.product-tabs li.js-acms_tab-active a,
.product-tabs li.is-current a {
  background-color: #ff5538;
  color: #fff;
  border-color: transparent;
}

/* すべてのタブをいったんリセット */
.product-tabs li a {
  background-color: transparent !important;
  color: #333 !important;
}

/* acms が「今のタブ」に付けるクラスだけ強調 */
.product-tabs li.js-acms_tab-active a {
  background-color: #ff5538 !important;
  color: #fff !important;
  border-color: transparent !important;
}


/* オリジナル製品カードの画像を縦長寄りに揃える */
.techwix-service-section-02 .service-item-02 .service-img img {
  width: 100%;
  height: 260px;        /* ← 縦長にしたいぶんだけ大きめに。お好みで 240〜300px くらい */
  object-fit: cover;    /* はみ出したぶんはトリミング */
  display: block;
}

/* タブの共通スタイル */
.product-tabs a {
  display: inline-block;
  padding: 6px 18px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,0.08);
  background: transparent;
  color: #333;
}

/* 選択中だけオレンジにする用のクラス */
.product-tabs a.active-tab {
  background: #ff5538 !important;
  color: #fff !important;
  border-color: transparent !important;
}

/* タブの共通スタイル */
.product-tabs li {
  margin: 0 6px 12px;
}

.product-tabs a {
  display: inline-block;
  padding: 6px 18px;
  border-radius: 999px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  font-size: 14px;
  line-height: 1.4;
  background: transparent;
  color: #333;
}

/* ★ acms が「今のタブ」に自動で付けるクラスだけをオレンジに */
.product-tabs a.js-acms_tab-active {
  background: #ff5538;
  color: #fff;
  border-color: transparent;
}


.product-pager {
  margin-top: 24px;
  text-align: center;
}
.product-pager-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: inline-flex;
  gap: 8px;
}
.product-pager-list li {
  min-width: 32px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,0.08);
  font-size: 13px;
}
.product-pager-list li a {
  display: block;
}
.product-pager-list li.is-current {
  background: #ff5538;
  color: #fff;
  border-color: transparent;
}

.product-pager {
  margin-top: 24px;
  text-align: center;
}
.product-pager-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: inline-flex;
  gap: 8px;
}
.product-pager-list li {
  min-width: 32px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,0.08);
  font-size: 13px;
}
.product-pager-list li a {
  display: block;
}

/* 現在ページ（pageCurAttr が付く li）をオレンジに */
.product-pager-list li.acms-page-current,
.product-pager-list li.acms-page-current a {
  background: #ff5538;
  color: #fff;
  border-color: transparent;
}

.product-pager {
  margin-top: 24px;
  text-align: center;
}
.product-pager-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: inline-flex;
  gap: 8px;
}
.product-pager-item,
.product-pager-prev,
.product-pager-next {
  min-width: 32px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,0.08);
  font-size: 13px;
}
.product-pager-list a {
  display: block;
}

/* 現在ページ（pageCurAttr が付く li）をオレンジに */
.product-pager-item.acms-page-current,
.product-pager-item.acms-page-current a {
  background: #ff5538;
  color: #fff;
  border-color: transparent;
}

.product-pager {
  margin-top: 24px;
  text-align: center;
}

.product-pager-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: inline-flex;
  gap: 8px;
}

.product-pager-list li {
  min-width: 32px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,0.08);
  font-size: 13px;
}

.product-pager-list li a {
  display: block;
}

/* 現在ページ（pageCurAttr が付く li）をオレンジに */
.product-pager-list li.acms-page-current,
.product-pager-list li.acms-page-current a {
  background: #ff5538;
  color: #fff;
  border-color: transparent;
}


.product-pager {
  margin-top: 24px;
  text-align: center;
}

.product-pager-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: inline-flex;
  gap: 8px;
}

.product-pager-item {
  min-width: 32px;
  padding: 0;
}

.product-page-btn {
  min-width: 32px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,0.08);
  font-size: 13px;
  background: transparent;
  cursor: pointer;
}

.product-page-btn.is-current {
  background: #ff5538;
  color: #fff;
  border-color: transparent;
}


/* ヒーローエリア */

.techwix-hero-section-02 {
    padding-top: 140px;
    padding-bottom: 240px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    overflow: hidden;
    position: relative;
    z-index: 1;
}


.techwix-hero-section-02 .hero-content .title::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    background: #cb0000;
    height: 100px;
    width: 10px;
    transform: translateY(-50%);
}

.techwix-hero-section-02 .hero-content .title {
    font-size: 44px;
    line-height: 48px;
    padding-left: 24px;
    margin-top: 0px;
    color: #ffffff;
    position: relative;
}

.techwix-hero-section-02 .hero-content .sub-title {
    font-size: 20px;
    line-height: 28px;
    font-family: "Jost", sans-serif;
    font-weight: 400;
    color: #ffffff;
	margin-top: 24px;
}

.techwix-hero-section-02 .hero-content .hero-btn .btn {
  margin-top: 24px;
}

.btn {
    display: inline-block;
    overflow: hidden;
    transform: perspective(0) translateZ(0);
    background: linear-gradient(195deg, #cb0000 0%, #990000 100%);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    border-color: transparent;
    color: #ffffff;
    border-radius: 5px;
    font-size: 18px;
    font-family: "Barlow", sans-serif;
    font-weight: 700;
    height: 60px;
    line-height: 56px;
    padding: 0px 70px;
    border: 0;
    border-style: solid;
    box-shadow: none;
    transition: all 0.5s 
ease 0s;
    cursor: pointer;
    z-index: 1;
    position: relative;
}

@media only screen and (max-width: 767px) {
	.techwix-hero-section-02 .hero-content .title::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    background: #cb0000;
    height: 80px;
    width: 10px;
    transform: translateY(-50%);
}
	
	.techwix-hero-section-02 .hero-content .title {
    font-size: 32px;
    line-height: 36px;
    padding-left: 24px;
    margin-top: 0px;
    color: #ffffff;
    position: relative;
}

.techwix-hero-section-02 .hero-content .sub-title {
    font-size: 18px;
    line-height: 20px;
    font-family: "Jost", sans-serif;
    font-weight: 400;
    color: #ffffff;
    margin-top: 24px;
}
}

@media only screen and (max-width: 449px) {
	.techwix-hero-section-02 .hero-content .title::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    background: #cb0000;
    height: 80px;
    width: 10px;
    transform: translateY(-50%);
}
	
    .techwix-hero-section-02 .hero-content .title {
    font-size: 24px;
    line-height: 32px;
    padding-left: 24px;
    margin-top: 0px;
    color: #ffffff;
    position: relative;
    }

.techwix-hero-section-02 .hero-content .sub-title {
    font-size: 16px;
    line-height: 18px;
    font-family: "Jost", sans-serif;
    font-weight: 400;
    color: #ffffff;
    margin-top: 24px;
}
}


/* ヘッダー */

.header-logo a img {
    width: 200px;
}

.header-menu .main-menu li {
    position: relative;
    padding: 24px 8px;
}

@media only screen and (min-width: 1200px) {
.contactMenu {
		display: none;
	}
}

.header-toggle button span {
    width: 25px;
    height: 2px;
    background: #cb0000;
    margin: 5px 0;
    display: block;
}


/* ===============================
   NISSIN original block for Techwix
   scope: only inside .techwix-about-section-03
   =============================== */
.techwix-about-section-03{
  /* 好みで調整 */
  --ns-accent: #cb0000;      /* 小見出しのアクセント */
  --ns-heading: #0b1324;     /* 大見出し色 */
  --ns-text: #4b5563;        /* 段落色 */
  --ns-radius: 16px;         /* カード角丸 */
  --ns-shadow: 0 10px 28px rgba(2,6,23,.10);
}

/* 見出しまわり（テーマに無い場合のフォールバック。既存が効いていれば上書きされません） */
.techwix-about-section-03 .theme-title h6 {
    margin: 0 0 10px;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--ns-accent);
}

.techwix-about-section-03 .theme-title h2{
  margin: 0 0 14px;
  font-size: clamp(24px, 2.6vw, 36px); line-height: 1.3; font-weight: 800;
  color: var(--ns-heading);
}
.techwix-about-section-03 .theme-title p{
  margin: 0;
  color: var(--ns-text);
  max-width: 58ch;
}

/* 5枚バナーの見た目（カード化） */
.techwix-about-section-03 .img-fluid{
  display:block; width:100%; height:auto;
}
.techwix-about-section-03 .mt16{ margin-top:16px; }              /* 独自余白のフォールバック */
.techwix-about-section-03 .gx-4{ --bs-gutter-x: 1.5rem; }         /* Bootstrap非使用時の保険 */

.techwix-about-section-03 .ns-card{
  position: relative; display:block; border-radius: var(--ns-radius);
  overflow: hidden; box-shadow: var(--ns-shadow); background:#fff;
  transform: translateZ(0); transition: transform .18s ease, box-shadow .18s ease;
}
.techwix-about-section-03 .ns-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 16px 38px rgba(2,6,23,.14);
}

/* 画像の比率を安定させたい場合（16:9）。不要なら削除OK */
.techwix-about-section-03 .ns-card .ns-media{
  position:relative; aspect-ratio: 16/9; background:#eef2f7;
}
.techwix-about-section-03 .ns-card .ns-media > img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
}

/* 角丸・影が効くように a をラップ（HTML側の <a> に .ns-card を足すだけでもOK） */
.techwix-about-section-03 a.img-fluid{ border-radius: var(--ns-radius); overflow:hidden; }

/* レスポンシブ微調整（行間・余白） */
@media (max-width: 991.98px){
  .techwix-about-section-03 .theme-title p{ max-width: none; }
}

/* 低速回線/配慮 */
@media (prefers-reduced-motion: reduce){
  .techwix-about-section-03 .ns-card{ transition: none !important; }
}


/* カテゴリーエリア */

.section-padding-02 {
    padding-top: 40px;
}

/* ============================
   差分CSS：導入までの3ステップ（scoped）
   追加するだけでOK（既存は触らない）
   ============================ */
.ns-steps{
  --accent: #cb0000;              /* ブランドに合わせて赤 */
  --ink: #0b1324;                  /* 見出し色 */
  --muted: #4b5563;                /* 説明文色 */
  --card: #ffffff;                 /* カード背景 */
  --ring: #e5e7eb;                 /* 枠線色 */
  --shadow: 0 10px 26px rgba(2,6,23,.10);
  --radius: 14px;
}

.ns-steps{
  display:block !important;      /* 万一display:noneが当たっていても上書き */
  visibility:visible !important;
  opacity:1 !important;
  padding-top: clamp(56px, 6vw, 96px);
  padding-bottom: clamp(56px, 5vw, 96px);
}


/* 見出し（.techwix-about-section-03 のh6/h2とは別スコープ） */
.ns-steps .theme-title h6{
  margin:0 0 10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  color:var(--accent); font-size:14px;   /* 小さめに整える。大きくしたい場合は16〜18pxへ */
}
.ns-steps .theme-title h2{
  margin:0 0 12px; color:var(--ink);
  font-size:clamp(24px,2.6vw,36px); line-height:1.3; font-weight:800;
}
.ns-steps .theme-title p{ margin:0; color:var(--muted); }

/* 左画像（roundedのフォールバックを含む） */
.ns-steps .img-fluid.rounded{
  border-radius:16px; box-shadow:var(--shadow);
  display:block; width:100%; height:auto; object-fit:cover;
}

/* ステップカード（タイムライン風） */
.ns-steps .featured-item.style-6{
  position:relative; display:flex; gap:14px; align-items:flex-start;
  background:var(--card); border:1px solid var(--ring); border-radius:var(--radius);
  padding:16px 18px; box-shadow:var(--shadow);
  transition:transform .18s ease, box-shadow .18s ease;
}
.ns-steps .featured-item.style-6:hover{
  transform:translateY(-3px); box-shadow:0 16px 38px rgba(2,6,23,.14);
}
/* 連続カードの間隔（Bootstrap .mb-5 が無い環境の保険） */
.ns-steps .featured-item.style-6 + .featured-item.style-6{ margin-top:16px; }

/* アイコン（丸背景＋チェック）。Flaticon無しでも✓を表示 */
.ns-steps .featured-icon{
  flex:0 0 auto; width:48px; height:48px; border-radius:999px;
  background:rgba(203,0,0,.10); color:var(--accent);
  display:grid; place-items:center; font-size:22px; line-height:1;
  box-shadow:inset 0 0 0 1px rgba(203,0,0,.18);
}
.ns-steps .featured-icon i::before{ content:"\2713"; }

/* タイトル＋本文 */
.ns-steps .featured-title h4{ margin:2px 0 6px; font-size:18px; color:var(--ink); }
.ns-steps .featured-desc p{ margin:0; color:var(--muted); }

/* タイムラインの縦線（不要ならこの3行ブロックを削除） */
.ns-steps .featured-item.style-6:not(:last-child)::after{
  content:""; position:absolute; left:24px; top:58px;
  width:2px; height:calc(100% - 42px + 16px);
  background:linear-gradient(to bottom, rgba(203,0,0,.20), rgba(203,0,0,0));
}

/* レスポンシブ微調整 */
@media (max-width: 991.98px){
  .ns-steps .theme-title p{ margin-top:8px; }
}

/* フォールバック：テーマに .mt-8 / .mt-lg-0 が無い場合 */
.ns-steps .mt-8{ margin-top:2rem; }
@media (min-width: 992px){
  .ns-steps .mt-lg-0{ margin-top:0 !important; }
}

/* 配慮 */
@media (prefers-reduced-motion: reduce){
  .ns-steps .featured-item.style-6{ transition:none !important; }
}
@media (prefers-color-scheme: dark){
  .ns-steps{ --card:#0f172a; --ink:#e5e7eb; --muted:#a3a3a3; --ring:#1e293b; }
  .ns-steps .img-fluid.rounded{ box-shadow:0 12px 28px rgba(0,0,0,.45); }
}

/* A) タイムラインの線を消す */
.ns-steps .featured-item.style-6::after{
  content: none !important;
  display: none !important;
}

/* ns-steps を前セクションから確実に離す */
.ns-steps{
  padding-top: clamp(64px, 6vw, 104px);
  padding-bottom: clamp(64px, 5vw, 96px);
  position: relative;        /* 背景や装飾の重なり対策 */
  z-index: 1;
  display: flow-root;        /* まれなマージン折り畳み対策 */
}

/* 前の大きなセクション直後ならさらにマージンを追加（必要に応じて残す） */
.section + .ns-steps,
.techwix-service-section-02 + .ns-steps,
.techwix-about-section-03 + .ns-steps{
  margin-top: clamp(24px, 3vw, 48px);
}


/* =========================
   CTA block (scoped)
   ========================= */
.ns-cta{
  --accent: #cb0000;
  --ink: #0b1324;
  --muted: #4b5563;
  --card: #ffffff;
  --shadow: 0 14px 42px rgba(2,6,23,.12);
  --radius: 18px;
}

/* 見出しトーン（既存theme-titleがあれば上書きしない程度） */
.ns-cta .theme-title h6{
  margin:0 0 10px; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  color:var(--accent); font-size:14px;
}
.ns-cta .theme-title h2{
  margin:0; color:var(--ink);
  font-size:clamp(26px,3vw,40px); line-height:1.25; font-weight:800;
}

/* 画像枠 */
.ns-cta__media{
  position:relative; border-radius:var(--radius); overflow:hidden;
  box-shadow:var(--shadow); background:#eef2f7;
}
.ns-cta__media img{ display:block; width:100%; height:auto; object-fit:cover; }
/* ほんのり光彩（好みで外してOK） */
.ns-cta__media::after{
  content:""; position:absolute; inset:auto -8% -10% auto; width:55%; height:55%;
  background:radial-gradient(60% 60% at 50% 50%, rgba(203,0,0,.12), transparent 65%);
  pointer-events:none; filter: blur(6px);
}

/* チェック付きリスト */
.ns-cta__list{ list-style:none; padding:0; margin:16px 0 12px; display:grid; gap:10px; }
.ns-cta__list li{
  position:relative; padding-left:34px; color:var(--ink); font-weight:600;
}
.ns-cta__list li::before{
  content:""; position:absolute; left:0; top:.35em; width:22px; height:22px; border-radius:999px;
  background:rgba(203,0,0,.08); border:1.5px solid rgba(203,0,0,.18);
}
.ns-cta__list li::after{
  content:"✓"; position:absolute; left:5.5px; top:.1em; font-size:14px; color:var(--accent); line-height:1.6;
}

/* 説明文 */
.ns-cta__note{ color:var(--muted); margin:0; }

/* ボタン（テーマが無い時のフォールバック） */
.ns-cta .themeht-btn.primary-btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:14px 22px; border-radius:999px; font-weight:700;
  background:var(--accent); color:#fff; border:none;
  box-shadow:0 8px 22px rgba(203,0,0,.28);
  transition:transform .15s ease, box-shadow .15s ease;
  margin-top:18px;
}
.ns-cta .themeht-btn.primary-btn:hover{
  transform:translateY(-2px); box-shadow:0 12px 30px rgba(203,0,0,.35);
}

/* 余白（テーマに section-padding が無い場合の保険） */
.ns-cta{ padding-top:clamp(64px,6vw,104px); padding-bottom:clamp(64px,5vw,96px); }

/* ダークモード配慮（任意） */
@media (prefers-color-scheme: dark){
  .ns-cta{ --card:#0f172a; --ink:#e5e7eb; --muted:#a3a3a3; }
  .ns-cta__media{ background:#0b1220; }
}


/* === CTA画像の枠をなくす（ns-cta） === */
.ns-cta__media{
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}
.ns-cta__media::after{           /* ほのかな光彩も無効化 */
  content: none !important;
}
.ns-cta__media img{
  border-radius: 0 !important;
  box-shadow: none !important;
}


/* =========================
   Marquee (scoped)
   ========================= */
.ns-marquee{
  --ns-bg: #fff;                 /* ページ背景色（フェード用） */
  --ns-speed-pps: 90;            /* px/秒（大きいほど速い） */
  --ns-gap: clamp(40px, 6vw, 120px);
  --ns-fill-grad: linear-gradient(90deg, #18c0c7 0%, #61e5f0 100%);
  --ns-stroke: #cfd8df;          /* アウトライン色 */
  --ns-size: clamp(54px, 12vw, 220px);
  --ns-weight: 800;
  --ns-stroke-width: 2px;
  position: relative;
  padding-block: clamp(24px, 5vw, 120px);   /* セクション内の上下余白 */
}

/* 表示領域 */
.ns-marquee .marquee-wrap{
  position: relative;
  overflow: hidden;
  white-space: nowrap;
  user-select: none;
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 8%, #000 92%, transparent 100%);
          mask-image: linear-gradient(to right, transparent 0, #000 8%, #000 92%, transparent 100%);
}

/* トラック（JSが生成） */
.ns-marquee .marquee-track{
  display: flex;
  gap: var(--ns-gap);
  width: max-content;
  will-change: transform;
  animation: ns-marquee-scroll var(--ns-duration, 40s) linear infinite;
}

/* フォールバック：JSが走る前でも見せる */
.ns-marquee .marquee-wrap > .marquee-text{
  display: inline-flex; gap: var(--ns-gap);
}

/* 単語スタイル（交互に塗り/アウトライン） */
.ns-marquee .marquee-text span{
  display: inline-block;
  font-weight: var(--ns-weight);
  font-size: var(--ns-size);
  letter-spacing: .02em;
  line-height: .9;
  text-transform: uppercase;
}
.ns-marquee .marquee-text span:nth-child(2n+1){              /* 塗り（グラデ） */
  background: var(--ns-fill-grad);
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
}
.ns-marquee .marquee-text span:nth-child(2n){                 /* アウトライン */
  color: transparent;
  -webkit-text-stroke: var(--ns-stroke-width) var(--ns-stroke);
          text-stroke: var(--ns-stroke-width) var(--ns-stroke);
}

/* 低速端末・配慮 */
@media (prefers-reduced-motion: reduce){
  .ns-marquee .marquee-track{ animation: none !important; transform: none !important; }
}

@keyframes ns-marquee-scroll{
  from{ transform: translate3d(0,0,0); }
  to  { transform: translate3d(-50%,0,0); } /* 中身を2倍に複製する前提 */
}


/* 強制アニメ（他のリセットや prefers-reduced-motion の上書き対策） */
.ns-marquee .marquee-track{
  animation-name: ns-marquee-scroll !important;
  animation-duration: var(--ns-duration, 40s) !important;
  animation-timing-function: linear !important;
  animation-iteration-count: infinite !important;
  animation-play-state: running !important;
  transform: translate3d(0,0,0);
}

/* もし以前に入れた「reduce motionで停止」ルールがあるなら、一旦無効化 */
@media (prefers-reduced-motion: reduce){
  .ns-marquee .marquee-track{
    animation-play-state: running !important;
  }
}

/* 塗りのみ #cb0000、アウトラインは既存のまま */
.ns-marquee{ --ns-fill-grad: linear-gradient(90deg, #cb0000 0%, #cb0000 100%); }



.footer-section-02 {
    background: #ececec;
}

.footer-section-02 .footer-widget-wrap {
    padding-top: 40px;
}

.footer-widget-about p {
    font-size: 14px;
    line-height: 21px;
    color: #5d5b5b;
    padding-right: 20px;
    margin-top: 20px;
}

.footer-widget .footer-widget-title {
    font-size: 20px;
    font-family: "Barlow", sans-serif;
    font-weight: 600;
    color: #6f6d6d;
}

.widget-link .link li a {
    font-size: 14px;
    color: #6f6d6d;
    transition: all 0.3s linear;
}

.widget-info ul li .info-text {
    font-size: 16px;
    line-height: 20px;
    font-family: "Barlow", sans-serif;
    font-weight: 600;
    color: #6f6d6d;
}


.copyright-text p {
    font-size: 14px;
    color: #6f6d6d;
}


/* a-blog ユニット画像のはみ出し対策 */
.entry-style .column-media > div[style]{
  width: 100% !important;
  max-width: 100% !important;
}
.entry-style img.columnImage{
  max-width: 100%;
  height: auto;
}



.page-title-wrapper {
    position: relative;
    display: table;
    width: 100%;
    height: 7.5rem;
    margin: 0 ;
    color: var(--color-gray100);
    background: var(--color-gray20);
    background-size: cover;
}

@media (min-width: 48rem) {
    .page-title-wrapper {
        height: 13rem;
        /* margin: 0 0 5rem 0; */
    }
}

@media (min-width: 48rem) {
    .page-title-wrapper[style] {
        height: 16rem;
    }
}

@media (max-width: 768px) {
	.page-title {
    margin: 3.6rem 0 0.25rem;
    font-weight: bold;
    font-size: 1.2rem;
    line-height: 1.4;
	text-align: left;
}
}
@media (min-width: 769px) {
.page-title {
    margin: 2.4rem 0 0.25rem;
    font-weight: bold;
    font-size: 1.8rem;
    line-height: 1.4;
	text-align: left;
}
}
.module-heading {
    margin: 0;
    font-size: 18px;
    line-height: 125%;
	padding-bottom: 8px;
}

.serial-nav-arrow-text {
	font-size: 1rem;
}

/* topicpath を本文と同じ箱幅に揃える */
.topicpath .topicpath-list{
  margin: 0;
  padding: 10px 0;
}

.acms-page-header {
    margin-top: 8px;
    margin-bottom: 24px;
    border-bottom: 2px solid #333;
}

.ns-cta__list li {
    position: relative;
    padding-left: 34px;
    color: var(--ink);
    font-weight: 600;
	font-size: 20px;
}

.ns-cta__list li::after {
    content: "✓";
    position: absolute;
    left: 5.5px;
    top: .1em;
    font-size: 18px;
    color: var(--accent);
    line-height: 1.6;
}

.ns-cta__list li {
    position: relative;
    padding-left: 34px;
    color: var(--ink);
    font-weight: 600;
	font-size: 20px;
}

.ns-cta__list li::after {
    content: "✓";
    position: absolute;
    left: 5.5px;
    top: .1em;
    font-size: 18px;
    color: var(--accent);
    line-height: 1.6;
}

.ns-cta {
    padding-top: clamp(64px, 6vw, 104px);
    padding-bottom: clamp(64px, 5vw, 96px);
}

.techwix-service-section-06 {
    background: #ffffff;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
	padding-bottom: 64px;
}

.techwix-service-section-06 .service-img {
    display: inline-block;
    position: relative;
    margin-bottom: 30px;
    color: var(--themeht-primary-color);
    font-size: 60px;
    line-height: 1;
}

/* 「日新精器にお任せください！」(service-section-06) のアイコンだけ半分に */
.techwix-service-section-06 .service-item-05 .service-img img{
  width: 40%;
  height: auto;
}

/* 見た目の中央寄せ（必要なら） */
.techwix-service-section-06 .service-item-05 .service-img{
  display: flex;
  justify-content: center;
}

.service-item-05 {
	background: #ffffff; border-radius: 10px; padding: 40px 51px 45px; margin-top: 30px;  box-shadow: 0 12px 30px rgba(0,0,0,.12); transition: box-shadow .2s ease, transform .2s ease;;
}

.service-item-05:hover{
  box-shadow: 0 18px 45px rgba(0,0,0,.18);
  transform: translateY(-3px);
}

/* 列をflexにしてカードを同じ高さに */
.techwix-service-section-06 .service-content-wrap > .row > [class*="col-"]{
  display: flex;
}

/* カード自体を伸ばす */
.techwix-service-section-06 .service-item-05{
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* タイトルと本文の間隔を固定（文章量で開かない） */
.techwix-service-section-06 .service-item-05 .service-content{
  flex: 1;                 /* 余った高さは“下”に溜まる */
  display: flex;
  flex-direction: column;
  gap: 12px;               /* ← h3 と p の間隔（好みで調整） */
}

.techwix-service-section-06 .service-item-05 .service-content p{
  margin: 0;               /* gapで管理するので余計なmarginを消す */
}


.mt-24{
	margin-top: 24px;
}

.section-title .sub-title {
    font-size: 20px;
    line-height: 30px;
    font-family: "Jost", sans-serif;
    font-weight: 500;
    color: #a5a6a8;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 16px;
	margin-top: 24px;
}

.section-title .sub-title.color-3 {
    color: #a5a6a8;
}

.progress-wrap {
    position: fixed;
    right: 50px;
    bottom: 50px;
    height: 45px;
    width: 45px;
    cursor: pointer;
    display: block;
    border-radius: 50px;
    box-shadow: inset 0 0 0 2px rgb(224 15 0 / 20%);
    opacity: 0;
    visibility: hidden;
    transform: translateX(130%);
    z-index: 99;
    transition: all 200ms linear;
}


/* Back to top（progress-wrap）の色を赤に */
.progress-wrap,
.progress-wrap::after,
.progress-wrap svg path{
  color: #cb0000 !important;     /* アイコンやstrokeが currentColor の場合 */
  stroke: #cb0000 !important;    /* 円弧の線色 */
}

/* 塗りつぶし系があるテーマの場合 */
.progress-wrap::before{
  background: #cb0000 !important;
}

/* active-progress時も確実に赤 */
.progress-wrap.active-progress,
.progress-wrap.active-progress::after,
.progress-wrap.active-progress svg path{
  color: #cb0000 !important;
  stroke: #cb0000 !important;
}


/* ===== acms tabs（選択状態）をログアウト時も表示 ===== */
.product-tabs .js-acms_tab{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 18px;
  border-radius: 999px;
  border: 1px solid rgba(203,0,0,.25);
  color: #222;
  text-decoration: none;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}

/* 選択中（a-blog cms が付与するクラス） */
.product-tabs .js-acms_tab.js-acms_tab-active{
  background: #cb0000;
  border-color: #cb0000;
  color: #fff;
}

/* hover */
.product-tabs .js-acms_tab:hover{
  background: rgba(203,0,0,.08);
  border-color: rgba(203,0,0,.35);
}

/* ===== a-blog 標準ページャー ===== */
.acms-pager{
  list-style: none;
  padding: 0;
  margin: 30px 0 0;
  display: flex;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
}

.acms-pager li a,
.acms-pager li span{
  min-width: 36px;
  height: 36px;
  padding: 0 12px;
  border-radius: 999px;
  
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #222;
  text-decoration: none;
}

/* 現在ページ（出力のclassは環境で揺れるので複数拾う） */
.acms-pager li.acms-pager-cur span,
.acms-pager li.cur span,
.acms-pager li.current span{
  background: #cb0000;
  border-color: #cb0000;
  color: #fff;
}

.acms-pager li a:hover{
  background: rgba(203,0,0,.08);
}

/* ===== タブ（選択中の背景色・白抜き） ===== */
.product-tabs .js-acms_tab{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 18px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.15);
  background: transparent;
  color: #222;
  text-decoration: none;
}

/* a-blog側が付ける可能性のある active を全部拾う */
.product-tabs .js-acms_tab.js-acms_tab-active,
.product-tabs .js-acms_tab.is-active,
.product-tabs li.js-acms_tab-active > .js-acms_tab,
.product-tabs li.is-active > .js-acms_tab,
.product-tabs .js-acms_tab[aria-selected="true"]{
  background: #cb0000 !important;
  border-color: #cb0000 !important;
  color: #fff !important;
}

.product-tabs .js-acms_tab:hover{
  border-color: rgba(203,0,0,.45);
}

/* ===== product-pager 見た目 ===== */
.product-pager{
  display: flex;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 30px;
}

.product-pager__btn{
  min-width: 36px;
  height: 36px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.15);
  background: #fff;
  color: #222;
}

.product-pager__btn.is-active{
  background: #cb0000;
  border-color: #cb0000;
  color: #fff;
}

.product-pager__btn:disabled{
  opacity: .4;
  cursor: not-allowed;
}


.shiro {
	color: #ffffff;
}


/* ===== イメージサマリー（summary-default）をサムネ＋タイトル一覧に ===== */
.summary-default{
  list-style: none;
  padding: 0;
  margin: 0;
}

.summary-default-item{
  border-bottom: 1px solid rgba(0,0,0,.08);
}

.summary-default-link{
  display: block;
  padding: 12px 0;
  text-decoration: none;
  color: inherit;
}

.summary-default-link:hover .summary-title{
  text-decoration: underline;
}

.summary-default .acms-summary{
  display: flex;
  align-items: center;
  gap: 14px;
}

.summary-default-image-wrap{
  flex: 0 0 100px;
  width: 100px;
  height: 100px;
  overflow: hidden;
  border-radius: 10px;
  background: rgba(0,0,0,.04);
}

.summary-default-image-wrap img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.acms-summary-body{
  flex: 1;
  min-width: 0;
}

.summary-title{
  margin: 0;
  font-weight: 600;
  line-height: 1.4;
}

/* 空の summary-detail があるなら非表示に */
.summary-detail{
  display: none;
}

/* ===== イメージサマリー（summary-default）整形 ===== */
.summary-default{
  list-style: none;
  padding: 0;
  margin: 0;
}

.summary-default-item{
  border-bottom: 1px solid rgba(0,0,0,.08);
}

.summary-default-link{
  display: block;
  padding: 18px 0;
  text-decoration: none;
  color: inherit;
}

.summary-default-link:hover .summary-title{
  text-decoration: underline;
}

.summary-default .acms-summary{
  display: flex;
  align-items: center;
  gap: 18px;
}

.summary-default-image-wrap{
  width: 120px;
  height: 120px;
  flex: 0 0 120px;
  border-radius: 10px;
  overflow: hidden;
  background: rgba(0,0,0,.04);
}

.summary-default-image-wrap img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.acms-summary-body{
  flex: 1;
  min-width: 0;
}

.summary-title{
  margin: 0;
  font-weight: 600;
  line-height: 1.5;
}

/* summary-detail を出すなら */
.summary-detail{
  margin: 6px 0 0;
  color: rgba(0,0,0,.65);
  font-size: 14px;
  line-height: 1.6;
}

/* ===== ページャー（赤基調） ===== */
.summary-pager{
  margin-top: 24px;
  display: flex;
  justify-content: center;
}

.acms-pager{
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 10px;
  align-items: center;
}

.acms-pager-item a,
.acms-pager-item span{
  min-width: 34px;
  height: 34px;
  padding: 0 10px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  border: 1px solid rgba(0,0,0,.15);
  color: #222;
  background: #fff;
}

.acms-pager-item.cur span{
  background: #cb0000;
  border-color: #cb0000;
  color: #fff;
}

.acms-pager-item a:hover{
  border-color: rgba(203,0,0,.5);
}

/* =========================
   category list : card grid
   ========================= */
.summary-default.summary-default--cardGrid{
  list-style: none;
  margin: 0;
  padding: 0;

  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
}

@media (max-width: 991px){
  .summary-default.summary-default--cardGrid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 575px){
  .summary-default.summary-default--cardGrid{
    grid-template-columns: 1fr;
  }
}


/* ===== Entry_Summary card grid（カテゴリ一覧） ===== */
.summary-default.summary-default--cardGrid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.summary-default.summary-default--cardGrid .summary-default-item{
  margin: 0;
}

.summary-default.summary-default--cardGrid .summary-default-link{
  display: block;
  height: 100%;
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 6px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
}

/* 正方形枠 + 全体表示（切らない） */
.summary-default.summary-default--cardGrid .summary-default-image-wrap{
  aspect-ratio: 1 / 1;
  background: rgba(0,0,0,.04);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
}

.summary-default.summary-default--cardGrid .summary-default-image-wrap img{
  width: 100%;
  height: 100%;
  object-fit: contain; /* ←重要：全体を見せる */
  display: block;
}

.summary-default.summary-default--cardGrid .acms-summary-body{
  padding: 12px 14px;
}

.summary-default.summary-default--cardGrid .summary-title{
  margin: 0;
  font-weight: 600;
  font-size: 14px;
  line-height: 1.4;
}

/* レスポンシブ */
@media (max-width: 1199.98px){
  .summary-default.summary-default--cardGrid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 575.98px){
  .summary-default.summary-default--cardGrid{
    grid-template-columns: 1fr;
  }
}

/* ===== pager ===== */
.summary-pager{
  margin-top: 24px;
  display: flex;
  justify-content: center;
}

.acms-pager.acms-pager--square{
  display: flex;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.acms-pager.acms-pager--square .acms-pager-item a,
.acms-pager.acms-pager--square .acms-pager-item span{
  display: inline-flex;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  background: #e9e9e9;
  color: #111;
  text-decoration: none;
  font-weight: 600;
}

/* current */
.acms-pager.acms-pager--square .acms-pager-item.cur span{
  background: #cb0000;
  color: #fff;
}


.summary-default.summary-default--cardGrid .summary-default-item{
  border: 0;
  margin: 0;
}

.summary-default.summary-default--cardGrid .summary-default-link{
  padding: 0;
  display: block;
  text-decoration: none;
  color: inherit;
}

/* カード本体 */
.summary-default.summary-default--cardGrid .acms-summary{
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 6px;
  overflow: hidden;
  transition: box-shadow .2s ease, transform .2s ease;
}

.summary-default.summary-default--cardGrid .summary-default-link:hover .acms-summary{
  box-shadow: 0 10px 24px rgba(0,0,0,.10);
  transform: translateY(-2px);
}

/* 画像：公開サイトっぽく縦横比固定（崩れ防止） */
.summary-default.summary-default--cardGrid .summary-default-image-wrap{
  width: 100%;
  aspect-ratio: 4 / 3;
  height: auto;
  border-radius: 0;
  background: rgba(0,0,0,.04);
}

.summary-default.summary-default--cardGrid .summary-default-image-wrap img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* タイトル部分（画像の下） */
.summary-default.summary-default--cardGrid .acms-summary-body{
  padding: 10px 12px;
  border-top: 1px solid rgba(0,0,0,.06);
}

.summary-default.summary-default--cardGrid .summary-title{
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;

  /* タイトル行数で高さが暴れないように2行で揃える */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.8em;
}

/* =========================
   pager : square style
   ========================= */
.summary-pager{
  margin-top: 28px;
  display: flex;
  justify-content: center;
}

.acms-pager.acms-pager--square{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 10px;
  align-items: center;
}

.acms-pager.acms-pager--square .acms-pager-item a,
.acms-pager.acms-pager--square .acms-pager-item span{
  width: 32px;
  height: 32px;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  border: 1px solid rgba(0,0,0,.18);
  background: #fff;
  color: rgba(0,0,0,.75);
  font-size: 13px;
}

.acms-pager.acms-pager--square .acms-pager-item.cur span{
  background: #444;
  border-color: #444;
  color: #fff;
}

.acms-pager.acms-pager--square .acms-pager-item a:hover{
  border-color: rgba(0,0,0,.35);
}


/* =========================================================
   Entry_Summary（カテゴリ一覧）: 公開サイト風カードグリッド
   ========================================================= */
.summary-default--cardGrid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* 2列/1列 */
@media (max-width: 991.98px){
  .summary-default--cardGrid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575.98px){
  .summary-default--cardGrid{ grid-template-columns: 1fr; }
}

.summary-default--cardGrid .summary-default-item{ margin: 0; }
.summary-default--cardGrid .summary-default-link{
  display:block;
  height: 100%;
  text-decoration:none;
  color: inherit;
}

.summary-default--cardGrid .ns-card{
  height: 100%;
  background:#fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 6px;
  overflow: hidden;
}

.summary-default--cardGrid .ns-card__thumb{
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;     /* ✅ 正方形 */
  background: #f3f3f3;
  overflow: hidden;
}

/* 既存の「120px制限」系を上書き */
.summary-default--cardGrid .ns-card__thumb img{
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: contain;     /* ✅ 全体を見せる */
  object-position: center;
}

.summary-default--cardGrid .ns-card__body{
  padding: 10px 12px;
}

.summary-default--cardGrid .ns-card__title{
  margin: 0;
  font-size: 14px;
  line-height: 1.4;
  font-weight: 600;
  color: #222;
}

/* hover */
.summary-default--cardGrid .summary-default-link:hover .ns-card{
  box-shadow: 0 10px 26px rgba(0,0,0,.08);
  transform: translateY(-2px);
  transition: .2s;
}

/* =========================================================
   ページャー（公開サイト寄せ）
   ========================================================= */
.summary-pager{
  margin-top: 24px;
  display: flex;
  justify-content: center;
}

.acms-pager--ns{
  display: flex;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.acms-pager--ns > li{
  width: 32px;
  height: 32px;
  border: 1px solid rgba(0,0,0,.15);
  border-radius: 4px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.acms-pager--ns > li > span,
.acms-pager--ns > li > span > a,
.acms-pager--ns > li > a{
  width: 100%;
  height: 100%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size: 13px;
  font-weight: 600;
  color: #333;
  text-decoration: none;
}

/* 現在ページ（モジュール設定の class="cur" が付く想定） */
.acms-pager--ns > li.cur{
  background: #555;
  border-color: #555;
}
.acms-pager--ns > li.cur > span{
  color: #fff;
}

/* hover */
.acms-pager--ns > li:not(.cur) a:hover{
  background: rgba(0,0,0,.06);
}

/* 前後 */
.acms-pager--ns > li.pager-nav{
  width: 36px;
}



/* ✅ トピックパス直下の本文エリアに上下余白を付ける（一覧/詳細どちらも効く） */
nav.topicpath + .acms-container{
  padding-top: 54px;
  padding-bottom: 54px;
}

/* 見出しの下も少し整える（必要なら） */
.ns-entrySummary__header{
  margin-bottom: 24px;
}


.entry-title {
	padding-bottom: 8px;
}


/* =========================
   Product pager：罫線を1種類に統一（二重線対策）
   ========================= */
.product-pager .acms-pager--ns {
  display: flex;
  justify-content: center;
  gap: 10px;
  padding: 0;
  margin: 28px 0 0;
  list-style: none;
}

/* li側の枠線・背景・影を完全に無効化（←二重線の原因） */
.product-pager .acms-pager--ns > li {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ボタン本体（a/span）にだけ枠線を付ける */
.product-pager .acms-pager--ns > li > a,
.product-pager .acms-pager--ns > li > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid #d9d9d9;   /* ←これが“統一する罫線” */
  border-radius: 8px;
  background: #fff;
  color: #333;
  text-decoration: none;
  box-shadow: none;
}

/* もし span の中に a が入るパターンでも二重にしない */
.product-pager .acms-pager--ns > li > span > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  border: 0;                 /* ←内側の線は消す */
  background: transparent;
  color: inherit;
  text-decoration: none;
}

/* 現在ページ */
.product-pager .acms-pager--ns > li.cur > span {
  background: #cb0000;
  border-color: #cb0000;
  color: #fff;
}

/* hover */
.product-pager .acms-pager--ns > li > a:hover {
  border-color: #cb0000;
  color: #cb0000;
}

/* 無効（prev/nextが端のとき） */
.product-pager .acms-pager--ns > li.is-disabled {
  opacity: .45;
  pointer-events: none;
}

/* フォーカス（キーボード操作時） */
.product-pager .acms-pager--ns > li > a:focus-visible,
.product-pager .acms-pager--ns > li > span:focus-visible,
.product-pager .acms-pager--ns > li > span > a:focus-visible {
  outline: 2px solid #cb0000;
  outline-offset: 2px;
}
