/* 旧 WordPress 追加CSS（投稿 676）を移植。2026-10-08 書き出し */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');
/* ==================================================================
   株式会社テクノスイッチ  サイト共通スタイル  2026-09 全面改訂
   WordPress「外観 > カスタマイズ > 追加CSS」に、既存の内容を全て
   置き換えて貼り付ける（貼り付け前に旧CSSをテキストファイルに退避）。

   方針
   - デジタル庁デザインシステム（DADS）のデザイントークン v2.0.1 に準拠
     https://github.com/digital-go-jp/design-tokens （MIT）
   - 書体は Noto Sans JP のみ。装飾・影・グラデーションは使わない
   - 生成画像は表示しない（各ページのヒーロー背景・挿絵は非表示）
   - 対象：トップ（新HTML）、ソリューション6ページ、会社情報、ベトナム、
           セミナー、お問い合わせ、資料DL、アーカイブ、個別記事、
           ヘッダー（Totalテーマ）、フッター（site-footer-new）
   ================================================================== */


/* ------------------------------------------------------------------
   0. トークン（DADS v2.0.1 から必要分を抜粋。名前はDADSのまま）
   ------------------------------------------------------------------ */
:root{
  --color-primitive-blue-50:#e8f1fe;
  --color-primitive-blue-100:#d9e6ff;
  --color-primitive-blue-200:#c5d7fb;
  --color-primitive-blue-900:#0017c1;
  --color-primitive-blue-1000:#00118f;
  --color-primitive-blue-1200:#000060;
  --color-primitive-magenta-900:#8b008b;
  --color-primitive-orange-800:#c74700;
  --color-primitive-yellow-300:#ffd43d;
  --color-primitive-red-800:#ec0000;
  --color-primitive-green-600:#259d63;
  --color-neutral-white:#ffffff;
  --color-neutral-black:#000000;
  --color-neutral-solid-gray-50:#f2f2f2;
  --color-neutral-solid-gray-100:#e6e6e6;
  --color-neutral-solid-gray-200:#cccccc;
  --color-neutral-solid-gray-300:#b3b3b3;
  --color-neutral-solid-gray-420:#949494;
  --color-neutral-solid-gray-500:#7f7f7f;
  --color-neutral-solid-gray-536:#767676;
  --color-neutral-solid-gray-600:#666666;
  --color-neutral-solid-gray-700:#4d4d4d;
  --color-neutral-solid-gray-800:#333333;
  --color-neutral-solid-gray-900:#1a1a1a;
  --font-family-sans:'Noto Sans JP',-apple-system,BlinkMacSystemFont,'Hiragino Sans','Hiragino Kaku Gothic ProN',sans-serif;

  /* サイト内で使う別名（役割で参照する） */
  --ts-text:var(--color-neutral-solid-gray-800);
  --ts-text-strong:var(--color-neutral-solid-gray-900);
  --ts-text-sub:var(--color-neutral-solid-gray-700);
  --ts-link:var(--color-primitive-blue-1000);
  --ts-link-hover:var(--color-primitive-blue-900);
  --ts-link-visited:var(--color-primitive-magenta-900);
  --ts-key:var(--color-primitive-blue-900);
  --ts-key-hover:var(--color-primitive-blue-1000);
  --ts-key-active:var(--color-primitive-blue-1200);
  --ts-key-tint:var(--color-primitive-blue-50);
  --ts-border:var(--color-neutral-solid-gray-420);
  --ts-border-strong:var(--color-neutral-solid-gray-500);
  --ts-bg:var(--color-neutral-white);
  --ts-bg-alt:var(--color-neutral-solid-gray-50);
  --ts-bg-head:var(--color-neutral-solid-gray-100);
  --ts-radius-s:8px;
  --ts-radius:16px;
  --ts-container:1024px;
  --ts-gutter:24px;
  --ts-section:56px;

  /* Totalテーマの変数を上書き（メニューの黄色を消す） */
  --total-template-color:var(--ts-key);
  --total-template-transparent-color:var(--ts-key-tint);
  --total-menu-link-color:var(--ts-text-strong);
  --total-menu-link-color-hover:var(--ts-link-hover);
  --total-menu-link-color-active:var(--ts-text-strong);
  --total-menu-link-hover-bg-color:transparent;
  --total-menu-link-hov-color:var(--ts-link-hover);
  --total-submenu-link-hover-color:var(--ts-link-hover);
  --total-submenu-link-hover-bg-color:var(--ts-key-tint);
  --total-content-header-color:var(--ts-text);
  --total-content-text-color:var(--ts-text);
  --total-content-link-color:var(--ts-link);
}


/* ------------------------------------------------------------------
   1. ベース
   ------------------------------------------------------------------ */
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--ts-bg);
  color:var(--ts-text);
  font-family:var(--font-family-sans);
  font-size:1rem;
  line-height:1.7;
  letter-spacing:.02em;
  font-feature-settings:"palt" 0;
}
*,*::before,*::after{box-sizing:border-box}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4,h5,h6{color:var(--ts-text);font-family:var(--font-family-sans);font-weight:700;margin:0}
h1{font-size:2.8125rem;line-height:1.4;letter-spacing:0}
h2{font-size:1.75rem;line-height:1.5;letter-spacing:.01em}
h3{font-size:1.375rem;line-height:1.5;letter-spacing:.02em}
h4{font-size:1.125rem;line-height:1.6;letter-spacing:.02em}
p{margin:0}
p + p{margin-top:1em}
ul,ol{margin:0;padding-left:1.5rem}
strong,b{font-weight:700}
em{font-style:normal}
table{border-collapse:collapse}

/* リンク（DADS link） */
a:any-link{color:var(--ts-link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--ts-link-hover);text-decoration-thickness:3px}
a:visited{color:var(--ts-link-visited)}
a:active{color:var(--color-primitive-orange-800)}

/* フォーカス（DADS） */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{
  outline:4px solid var(--color-neutral-black);
  outline-offset:2px;
  box-shadow:0 0 0 2px var(--color-primitive-yellow-300);
  border-radius:4px;
}

/* コンテナ・セクション */
.container{width:100%;max-width:var(--ts-container);margin:0 auto;padding:0 var(--ts-gutter)}
.section-light{padding:var(--ts-section) 0;background:var(--ts-bg)}
.section-light + .section-light{border-top:1px solid var(--ts-border)}
.section-light--alt,.ts-alt{background:var(--ts-bg-alt)}
.section-label-light{display:none}                 /* 「— ラベル」のアイキャッチ行は使わない */
.section-title-light{font-size:1.75rem;line-height:1.5;letter-spacing:.01em;margin-bottom:1rem}
.section-title-light br{display:none}              /* 読点改行の2行見出しをやめる */
.section-lead-light{max-width:44em;margin-bottom:1.5rem}

/* Total / Elementor の余白リセット */
.ht-site-content{padding:0}
.elementor-widget-html .elementor-widget-container{width:100%}
.e-con-boxed > .e-con-inner{max-width:var(--ts-container);padding-left:var(--ts-gutter);padding-right:var(--ts-gutter)}

/* 汎用：生成画像を出さない（各ページの背景・挿絵） */
.ts-noimg,
.fv-light__bg,.sol-fv__bg,.vn-fv__bg,.about-hero__bg,.about-rep__bg-img,.sem-hero__bg,.dl-hero__bg,
.inq-hero-bg,.arc-hero__bg,.vn-cta-section__bg,.ts-sem-cta-banner__bg,.ts-sem-cta-banner__overlay,
.pain-light__image,.sol-detail__image,.sol-flow__image,.vn-pain__visual,.vn-flow__image,
.how-section__image,.about-strengths > .container > img,.why-section img,.final-cta-light__inner > img,
.dl-card__image{display:none !important}

/* ダークモード切替（プラグイン無効化までの保険） */
.onyx-switch-trigger-block{display:none !important}


/* ------------------------------------------------------------------
   2. ボタン（DADS button）
   ------------------------------------------------------------------ */
.btn,.ts-btn,
.top-seminar-card__btn,.ts-sem-btn-primary,.ts-sem-btn-detail,.ts-sem-btn-white,
.inq-form__submit,.dl-card__btn,.arc-grid__card-more{
  display:inline-flex;align-items:center;justify-content:center;column-gap:.25rem;
  min-height:3rem;padding:.5rem 1rem;
  border:4px double transparent;border-radius:var(--ts-radius-s);
  background:var(--ts-key);color:var(--color-neutral-white);
  font-family:var(--font-family-sans);font-weight:700;font-size:1rem;line-height:1;letter-spacing:.02em;
  text-decoration:none;cursor:pointer;width:fit-content;max-width:100%;
}
.btn:any-link,.btn:visited,.ts-btn:any-link,.ts-btn:visited,.top-seminar-card__btn:any-link,.ts-sem-btn-primary:any-link,.dl-card__btn:any-link,
.ts-sem-btn-detail:any-link,.ts-sem-btn-white:any-link,.arc-grid__card-more:any-link{color:var(--color-neutral-white);text-decoration:none}
.btn:hover,.ts-btn:hover,.inq-form__submit:hover{background:var(--ts-key-hover);color:var(--color-neutral-white);text-decoration:underline;text-decoration-thickness:1px}
.btn:active,.ts-btn:active{background:var(--ts-key-active)}
.btn--lg,.ts-btn--lg{min-height:3.5rem;padding:.75rem 1.5rem}
.btn--sm,.ts-btn--sm{min-height:2.25rem;padding:.125rem .75rem;border-radius:6px;font-size:.9375rem}
.btn--outline-white,.btn--outline,.ts-btn--outline,.ts-sem-btn-detail,.ts-sem-btn-white,.arc-grid__card-more{
  border:1px solid currentColor;background:var(--color-neutral-white);color:var(--ts-key)
}
.btn--outline-white:any-link,.btn--outline:any-link,.ts-btn--outline:any-link,.ts-sem-btn-detail:any-link,.ts-sem-btn-white:any-link,.arc-grid__card-more:any-link,
.btn--outline-white:visited,.btn--outline:visited,.ts-btn--outline:visited{color:var(--ts-key);text-decoration:none}
.btn--outline-white:hover,.btn--outline:hover,.ts-btn--outline:hover,.ts-sem-btn-detail:hover,.ts-sem-btn-white:hover,.arc-grid__card-more:hover{
  background:var(--color-primitive-blue-200);color:var(--ts-key-hover)
}
.btn--text,.ts-btn--text,.btn--text:any-link{border:0;background:transparent;color:var(--ts-key);text-decoration:underline;text-decoration-thickness:1px}
.btn--text:hover{background:var(--ts-key-tint)}
.top-seminar-card__btn--closed,.btn[aria-disabled="true"]{background:var(--color-neutral-solid-gray-300);color:var(--color-neutral-solid-gray-50);border-color:transparent;pointer-events:none}

/* 矢印アイコン（インラインSVG用） */
.ts-arrow{width:24px;height:24px;flex-shrink:0;color:var(--ts-key)}


/* ------------------------------------------------------------------
   3. 共通部品（DADS card / resource list / table / description list / chip）
   ------------------------------------------------------------------ */
/* カード */
.ts-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.ts-cards--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ts-card{
  display:flex;flex-direction:column;gap:.75rem;height:100%;
  padding:1.5rem 1.5rem 1.25rem;background:var(--color-neutral-white);
  border:1px solid var(--ts-border);border-radius:var(--ts-radius);
  color:var(--ts-text);text-decoration:none;
}
a.ts-card:any-link{color:var(--ts-text);text-decoration:none}
a.ts-card:hover{border-color:var(--ts-border-strong);background:var(--ts-key-tint)}
a.ts-card:hover .ts-card__title{text-decoration-thickness:3px}
.ts-card__kicker{font-size:.875rem;color:var(--ts-text-sub)}
.ts-card__title{font-size:1.5rem;font-weight:700;line-height:1.5;color:var(--ts-link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.ts-card__title--plain{color:var(--ts-text);text-decoration:none}
.ts-card__text{font-size:1rem;line-height:1.7}
.ts-card__foot{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:.25rem;font-size:.875rem;color:var(--ts-text-sub)}

/* リソースリスト（新着・更新など） */
.ts-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}
.ts-list__item{
  display:grid;grid-template-columns:minmax(0,1fr) 24px;column-gap:1rem;align-items:center;
  padding:1rem 1.25rem;border:1px solid var(--ts-border);border-radius:var(--ts-radius);
  background:var(--color-neutral-white);color:var(--ts-text);text-decoration:none;
}
a.ts-list__item:any-link{color:var(--ts-text);text-decoration:none}
a.ts-list__item:hover{background:var(--ts-key-tint);border-color:var(--ts-border-strong)}
a.ts-list__item:hover .ts-list__title{text-decoration-thickness:3px}
.ts-list__title{color:var(--ts-link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;line-height:1.7}
.ts-list__meta{display:block;margin-top:.375rem;font-size:.875rem;color:var(--ts-text-sub)}
.ts-list__meta .ts-badge{margin-right:.5rem}

/* 罫線だけの簡易リスト（枠なし） */
.ts-rows{list-style:none;margin:0;padding:0;border-top:1px solid var(--ts-border)}
.ts-rows > li{padding:1rem 0;border-bottom:1px solid var(--ts-border)}

/* 表（DADS table） */
.ts-table{width:100%;border-collapse:collapse;font-size:1rem;line-height:1.7;background:var(--color-neutral-white)}
.ts-table caption{text-align:left;font-weight:700;font-size:1.0625rem;margin-bottom:1rem}
.ts-table th,.ts-table td{padding:1.25rem 1rem;text-align:left;vertical-align:baseline}
.ts-table thead th{background:var(--ts-bg-head);color:var(--ts-text-strong);border-top:1px solid var(--ts-border-strong);border-bottom:1px solid var(--ts-border-strong);font-weight:700}
.ts-table tbody th{background:var(--ts-bg-head);color:var(--ts-text-strong);font-weight:700;width:12em}
.ts-table tbody td,.ts-table tbody th{border-bottom:1px solid var(--ts-border)}
.ts-table--framed{border:1px solid var(--ts-border)}
.ts-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.ts-table__sub{display:block;font-size:.875rem;color:var(--ts-text-sub);font-weight:400}

/* 記述リスト（会社概要など） */
.ts-dl{margin:0;display:grid;grid-template-columns:9em minmax(0,1fr);column-gap:1.5rem}
.ts-dl dt,.ts-dl dd{margin:0;padding:.75rem 0;border-bottom:1px solid var(--ts-border)}
.ts-dl dt{font-weight:700}

/* チップ・バッジ（DADS chip label） */
.ts-badge,.promise-tag,.fv-hero__badge,.vn-badge,.top-target-card__tag,.sol-flow-step__tag,.ts-sem-type-badge,
.inq-ok-item,.about-area-tag,.dl-single__badge,.dl-single__category,.dl-single__tags span,.single-tag,.arc-tag-filter,.about-cert-item p{
  display:inline-flex;align-items:center;min-height:2rem;padding:.1875rem .5rem;
  border:1px solid var(--ts-text-strong);border-radius:var(--ts-radius-s);
  background:var(--color-neutral-white);color:var(--ts-text-strong);
  font-size:.875rem;line-height:1.3;letter-spacing:.02em;font-weight:400;text-decoration:none;
}
.ts-badge--key,.badge-online,.dl-single__badge{border-color:var(--ts-key);color:var(--ts-key)}
.ts-badge--muted,.badge-offline,.ts-sem-past__badge{border-color:var(--ts-border);color:var(--ts-text-sub)}
a.arc-tag-filter:any-link,a.single-tag:any-link{color:var(--ts-text-strong)}
a.arc-tag-filter:hover,a.single-tag:hover{background:var(--ts-key-tint);color:var(--ts-key)}

/* 通知バナー風の注記 */
.ts-note{padding:1rem 1.25rem;border:1px solid var(--ts-border);border-radius:var(--ts-radius-s);background:var(--ts-bg-alt);font-size:.9375rem}

/* FAQ（details） */
.faq__list{display:flex;flex-direction:column;gap:.75rem;max-width:52em}
.faq-item details{border:1px solid var(--ts-border);border-radius:var(--ts-radius-s);background:var(--color-neutral-white)}
.faq-item summary{list-style:none;cursor:pointer;padding:1rem 3rem 1rem 1.25rem;font-weight:700;position:relative}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"";position:absolute;right:1.25rem;top:50%;width:10px;height:10px;border-right:2px solid var(--ts-key);border-bottom:2px solid var(--ts-key);transform:translateY(-70%) rotate(45deg)}
.faq-item details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq-q-inner{display:block}
.faq-a{padding:0 1.25rem 1.25rem;border-top:1px solid var(--ts-border);padding-top:1rem;color:var(--ts-text)}

/* 番号付き特徴リスト（sol-features / vn-service など共通の形） */
.ts-numbered{list-style:none;margin:0;padding:0;border-top:1px solid var(--ts-border)}
.ts-numbered > *{display:grid;grid-template-columns:3rem minmax(0,1fr);column-gap:1rem;padding:1.25rem 0;border-bottom:1px solid var(--ts-border)}
.ts-numbered .ts-num,.sol-feature__num,.sol-flow-step__num,.vn-service-card__num,.about-strength-card__num,.how-step__num{
  font-weight:700;color:var(--ts-key);font-size:1rem;line-height:1.7;
  background:none;border:0;border-radius:0;width:auto;height:auto;padding:0;margin:0;display:block;
}


/* ------------------------------------------------------------------
   4. ヘッダー（Totalテーマ .ht-site-header を上書き）
   ------------------------------------------------------------------ */
.ht-site-header{background:var(--color-neutral-white);border-bottom:1px solid var(--ts-border);box-shadow:none;position:relative}
.ht-header{padding:0}
.ht-header .ht-container{max-width:1280px;padding:0 var(--ts-gutter);display:flex;align-items:center;justify-content:space-between;min-height:80px}
#ht-site-branding{padding:0;margin:0;display:flex;align-items:center}
#ht-site-branding .custom-logo-link{display:block;line-height:0}
#ht-site-branding .custom-logo{height:40px;width:auto}
.ht-main-navigation{margin:0;padding:0}
.ht-menu{background:transparent;float:none}
.ht-menu > ul{display:flex;flex-wrap:wrap;align-items:center;gap:.125rem;margin:0;padding:0;list-style:none}
.ht-menu > ul > li{margin:0;padding:0;float:none}
.ht-menu ul li a{
  display:inline-block;padding:.5rem .625rem;border:1px solid transparent;border-radius:9999px;
  color:var(--ts-text-strong);font-size:.875rem;font-weight:400;line-height:1.3;letter-spacing:.01em;
  text-decoration:none;text-transform:none;background:transparent;
}
.ht-menu ul li a:any-link,.ht-menu ul li a:visited{color:var(--ts-text-strong)}
.ht-menu ul li a:hover{color:var(--ts-link-hover);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px;background:transparent}
/* Total の高詳細度な hover/current 指定（.ht-menu > ul > li.menu-item:hover > a）を上書き */
.ht-menu > ul > li.menu-item:hover > a,.ht-menu > ul > li.menu-item.current_page_item > a,.ht-menu > ul > li.menu-item.current-menu-item > a,.ht-menu > ul > li.menu-item.current-menu-ancestor > a{background:transparent;color:var(--ts-text-strong)}
.ht-menu > ul > li.menu-item:hover > a{color:var(--ts-link-hover);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.ht-menu > ul > li.menu-item.ts-nav-cta:hover > a{background:var(--color-primitive-blue-200);color:var(--ts-key-hover);text-decoration:none}
.ht-menu ul li.current-menu-item > a,
.ht-menu ul li.current_page_item > a,
.ht-menu ul li.current-menu-ancestor > a{border-color:var(--ts-text-strong);background:transparent;color:var(--ts-text-strong)}
/* 「お問い合わせ」だけ副ボタン風に：メニュー項目のCSSクラスに ts-nav-cta を付ける */
.ht-menu ul li.ts-nav-cta > a,.ht-menu ul li.ts-nav-cta > a:any-link{border:1px solid var(--ts-key);border-radius:var(--ts-radius-s);color:var(--ts-key);font-weight:700;padding:.625rem 1rem;margin-left:.5rem}
.ht-menu ul li.ts-nav-cta > a:hover{background:var(--color-primitive-blue-200);text-decoration:none}
/* ドロップダウン */
.ht-menu ul ul.sub-menu{background:var(--color-neutral-white);border:1px solid var(--ts-border);border-radius:var(--ts-radius-s);padding:.5rem;min-width:14em;box-shadow:none}
.ht-menu ul ul.sub-menu li a{display:block;border-radius:6px;padding:.5rem .75rem;font-size:.9375rem}
.ht-menu ul ul.sub-menu li a:hover{background:var(--ts-key-tint);text-decoration:none}
.ht-menu .ht-dropdown{color:var(--ts-text-strong);background:transparent}
.ht-menu ul li a.sf-with-ul::after{border-color:var(--ts-text-strong)}
/* モバイルのハンバーガー（Totalの .toggle-bar） */
.toggle-bar{background:transparent !important;border:1px solid var(--ts-border);border-radius:var(--ts-radius-s)}
.toggle-bar span{background:var(--ts-text-strong);box-shadow:0 10px 0 0 var(--ts-text-strong),0 -10px 0 0 var(--ts-text-strong)}
#ht-back-top{display:none !important}


/* ------------------------------------------------------------------
   5. トップページ（新HTML：tp-* クラス）
   ------------------------------------------------------------------ */
.tp-hero{padding:4rem 0 3.5rem}
.tp-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;column-gap:3rem;align-items:start}
.tp-hero__title{font-size:2.25rem;line-height:1.5;letter-spacing:0;margin-bottom:1.5rem} /* 写真の分だけ幅が588pxしかないので、14文字の1行目が収まる36pxに（会社情報のh1と同じ） */
.tp-hero__lead{font-size:1.125rem;max-width:36em;margin-bottom:1.5rem}
.tp-hero__cta{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-bottom:1.25rem}
.tp-hero__facts{margin:0;padding-left:1.5rem;font-size:1rem}
.tp-hero__figure{margin:0;display:flex;flex-direction:column;gap:.75rem}
.tp-hero__photo{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 12%;border:1px solid var(--ts-border);border-radius:var(--ts-radius);background:#fff}
.tp-hero__photo--placeholder{display:flex;align-items:center;justify-content:center;text-align:center;padding:1.5rem;background:var(--ts-bg-alt);color:var(--ts-text-sub);font-size:.875rem;line-height:1.6}
.tp-hero__quote{font-weight:700}
.tp-hero__who{font-size:.875rem;color:var(--ts-text-sub)}

.tp-notice{padding:0 0 3.5rem}
.tp-notice__title{font-size:1.75rem;margin-bottom:1rem}
.tp-notice__list{margin:0;padding-left:1.5rem;display:flex;flex-direction:column;gap:.5rem}

.tp-services{background:var(--ts-bg-alt);padding:var(--ts-section) 0}
.tp-section__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1.5rem;margin-bottom:1.5rem}
.tp-section__title{font-size:1.75rem}
.tp-section__lead{max-width:44em}
.tp-services__note{margin-top:1.5rem}

.tp-updates{padding:var(--ts-section) 0}
.tp-updates .tp-section__head{margin-bottom:1rem}

.tp-cases{padding:0 0 var(--ts-section)}
.tp-cases .ts-table{margin-top:1rem}
.tp-cases .ts-table td:first-child{width:14em}

.tp-pricing{background:var(--ts-bg-alt);padding:var(--ts-section) 0}
.tp-pricing__grid{display:grid;grid-template-columns:4fr 8fr;column-gap:2rem;align-items:start}
.tp-pricing__grid .ts-table th:first-child{width:11em}
.tp-pricing__grid .ts-table td:nth-child(2){white-space:nowrap}

.tp-company{padding:var(--ts-section) 0}
.tp-company__grid{display:grid;grid-template-columns:4fr 8fr;column-gap:2rem;align-items:start}
.tp-company__links{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}

.tp-contact{padding:2.5rem 0 4rem}
.tp-contact__lead{max-width:40em;margin:1rem 0 1.25rem}
.tp-contact__cta{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}


/* ------------------------------------------------------------------
   6. ソリューション6ページ（genba-dx / ai-docs / keiei-viz / it-hitsuji / sotoduke / poc）
   ------------------------------------------------------------------ */
.sol-fv{position:relative;padding:3.5rem 0 3rem;background:var(--ts-bg);color:var(--ts-text);border-bottom:1px solid var(--ts-border)}
.sol-fv__inner{max-width:44em}
.sol-fv__category{font-size:.9375rem;color:var(--ts-text-sub);margin-bottom:1rem}
.sol-fv__heading{font-size:2.8125rem;line-height:1.4;letter-spacing:0;color:var(--ts-text);margin-bottom:1rem}
.sol-fv__heading-sub{display:block;font-size:1.125rem;font-weight:400;color:var(--ts-text-sub);margin-top:.5rem;line-height:1.6}
.sol-fv__sub{font-size:1.0625rem;margin-bottom:1.5rem}
.sol-fv__sub br{display:none}
.sol-fv__cta{display:flex;flex-wrap:wrap;gap:1rem}

.sol-pain__grid,.vn-pain__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.sol-pain-card,.vn-pain-card{padding:1.25rem 1.5rem;border:1px solid var(--ts-border);border-radius:var(--ts-radius);background:var(--color-neutral-white)}
.sol-pain-card h4,.vn-pain-card h4{font-size:1.0625rem;margin-bottom:.375rem}
.sol-pain-card p,.vn-pain-card p{font-size:.9375rem;color:var(--ts-text-sub)}

.sol-detail__inner{display:block}
.sol-detail__content{max-width:52em}
.sol-detail__lead{margin-bottom:1.5rem;padding:0;border:0;background:none}
.sol-features{display:flex;flex-direction:column;border-top:1px solid var(--ts-border)}
.sol-feature{display:grid;grid-template-columns:3rem minmax(0,1fr);column-gap:1rem;padding:1.25rem 0;border-bottom:1px solid var(--ts-border)}
.sol-feature__title{font-weight:700;font-size:1.0625rem;margin-bottom:.25rem}
.sol-feature__text{font-size:.9375rem;color:var(--ts-text-sub)}

.sol-flow__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.sol-flow-step{padding:1.25rem 1.25rem 1rem;border:1px solid var(--ts-border);border-radius:var(--ts-radius);background:var(--color-neutral-white);display:flex;flex-direction:column;gap:.5rem}
.sol-flow-step--final{border-color:var(--ts-key)}
.sol-flow-step__title{font-weight:700;font-size:1.0625rem}
.sol-flow-step__text{font-size:.9375rem;color:var(--ts-text-sub)}
.sol-flow-step__tag{margin-top:auto;width:fit-content}

.sv-collab-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.sv-collab-card{padding:1.25rem 1.5rem;border:1px solid var(--ts-border);border-radius:var(--ts-radius);background:var(--color-neutral-white)}

/* 最終CTA（全ページ共通） */
.final-cta-light{background:var(--ts-bg);border-top:1px solid var(--ts-border)}
.final-cta-light__inner{max-width:44em}
.final-cta-light__heading{font-size:1.75rem;margin-bottom:1rem}
.final-cta-light__heading br{display:none}
.final-cta-light__sub{margin-bottom:1.25rem}
.final-cta-light__sub br{display:none}
.final-cta-light__promises{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}
.final-cta-light__buttons{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}
.final-cta-light__area{font-size:.875rem;color:var(--ts-text-sub)}


/* ------------------------------------------------------------------
   7. 会社情報（about-*）
   ------------------------------------------------------------------ */
.about-hero{position:relative;padding:3.5rem 0 3rem;background:var(--ts-bg);border-bottom:1px solid var(--ts-border)}
.about-hero__overlay{display:none}
.about-hero__inner{max-width:44em}
.about-hero__heading{font-size:2.25rem;line-height:1.5;letter-spacing:0;color:var(--ts-text);margin-bottom:1rem}
/* 「製造業のITを、」で改行する元HTMLの<br>を活かす（消すと45pxで「進め／る」のように途中で折れる） */
.about-hero__em{color:inherit;font-style:normal}
.about-hero__sub{font-size:1.0625rem}

.about-mission{background:var(--ts-bg-alt) !important}
.about-mission__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.about-mission-card{padding:1.75rem;border:1px solid var(--ts-border);border-radius:var(--ts-radius);background:var(--color-neutral-white);color:var(--ts-text)}
.about-mission-card--main{grid-column:1 / -1}
.about-mission-card__label{font-size:.875rem;color:var(--ts-text-sub);margin-bottom:.5rem}
.about-mission-card__title{font-size:1.375rem;line-height:1.5;color:var(--ts-text);margin-bottom:.75rem}
.about-mission-card__title br{display:none} /* 「〜」<br>をなくす。 の3文字だけの2行目を防ぐ */
.about-mission-card--main .about-mission-card__title{font-size:1.625rem}
.about-mission-card__text{font-size:.9375rem;max-width:44em}

.about-rep__inner{display:grid;grid-template-columns:240px minmax(0,1fr);column-gap:2rem;align-items:start}
.about-rep__photo{width:100%;max-width:240px;aspect-ratio:4/5;object-fit:cover;object-position:50% 12%;border:1px solid var(--ts-border);border-radius:var(--ts-radius);margin-bottom:1rem}
.about-rep__profile-card{padding:1rem 1.25rem;border:1px solid var(--ts-border);border-radius:var(--ts-radius-s);background:var(--color-neutral-white);font-size:.875rem}
.about-rep__role{color:var(--ts-text-sub)}
.about-rep__name{font-size:1.25rem;font-weight:700}
.about-rep__name-en{color:var(--ts-text-sub);margin-bottom:.75rem}
.about-rep__certs{list-style:none;padding:0;margin:0;border-top:1px solid var(--ts-border)}
.about-rep__certs li{padding:.375rem 0;border-bottom:1px solid var(--ts-border)}
.about-rep__body p + p{margin-top:1em}
.about-rep__sig{margin-top:1.5rem;font-weight:700;text-align:right}

.about-strengths__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.about-strength-card{padding:1.25rem 1.5rem;border:1px solid var(--ts-border);border-radius:var(--ts-radius);background:var(--color-neutral-white);display:grid;grid-template-columns:3rem minmax(0,1fr);column-gap:1rem}
.about-strength-card__title{font-size:1.0625rem;margin-bottom:.375rem}
.about-strength-card__text{font-size:.9375rem;color:var(--ts-text-sub);grid-column:2}

.about-stats__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.about-stat{padding:1rem 0;border-top:1px solid var(--ts-border)}
.about-stat__num{font-size:2rem;font-weight:700;line-height:1.2;color:var(--ts-text)}
.about-stat__num span,.about-stat__num small{font-size:1rem;font-weight:400;margin-left:.25rem}
.about-stat__label{font-weight:700;margin-top:.25rem}
.about-stat__note{font-size:.875rem;color:var(--ts-text-sub)}

.about-company__table-wrap{overflow-x:auto}
.about-company__table{width:100%;border-collapse:collapse;background:var(--color-neutral-white)}
.about-company__table th,.about-company__table td{padding:1rem;text-align:left;vertical-align:baseline;border-bottom:1px solid var(--ts-border)}
.about-company__table th{width:11em;background:var(--ts-bg-head);color:var(--ts-text-strong);font-weight:700}
.about-company__table tr:first-child th,.about-company__table tr:first-child td{border-top:1px solid var(--ts-border-strong)}
.about-company__list{margin:0;padding-left:1.25rem}

.about-area__inner{display:grid;grid-template-columns:minmax(0,1fr) 420px;column-gap:2rem;align-items:start}
.about-area__lead{margin-bottom:1rem}
.about-area__tags{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:1rem}
.about-area-region-label{width:100%;font-weight:700;font-size:.9375rem;margin-top:.5rem}
.about-area-tag--main{border-color:var(--ts-key);color:var(--ts-key)}
.about-area__offices{margin:1rem 0}
.about-area-office{padding:.75rem 0;border-top:1px solid var(--ts-border);font-size:.9375rem}
.about-area__online{font-size:.9375rem;color:var(--ts-text-sub)}
.about-area__maps iframe{width:100%;border:1px solid var(--ts-border);border-radius:var(--ts-radius)}

.about-partners__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.about-partner-item{padding:1rem 1.25rem;border:1px solid var(--ts-border);border-radius:var(--ts-radius-s);background:var(--color-neutral-white)}
.about-partner-item__name{font-weight:700;font-size:.9375rem}
.about-certs__grid{display:flex;flex-wrap:wrap;gap:.5rem}
.about-cert-item{display:contents}


/* ------------------------------------------------------------------
   8. ベトナム拠点IT支援（vn-*）
   ------------------------------------------------------------------ */
.vn-fv{position:relative;padding:3.5rem 0 3rem;background:var(--ts-bg);border-bottom:1px solid var(--ts-border)}
.vn-fv__bg-overlay{display:none}
.vn-fv__inner{max-width:44em}
.vn-fv__eyebrow{font-size:.9375rem;color:var(--ts-text-sub);margin-bottom:1rem}
.vn-fv__heading{font-size:2.8125rem;line-height:1.4;letter-spacing:0;color:var(--ts-text);margin-bottom:1rem}
.vn-fv__heading br{display:none}
.vn-fv__em{color:inherit}
.vn-fv__sub{font-size:1.0625rem;margin-bottom:1.5rem}
.vn-fv__sub br{display:none}
.vn-fv__cta{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.25rem}
.vn-fv__badges{display:flex;flex-wrap:wrap;gap:.5rem}
.vn-services__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.vn-service-card{padding:1.25rem 1.5rem;border:1px solid var(--ts-border);border-radius:var(--ts-radius);background:var(--color-neutral-white)}
.vn-service-card__title{font-size:1.125rem;margin:.25rem 0 .5rem}
.vn-service-card__text{font-size:.9375rem;margin-bottom:.5rem}
.vn-service-card__list{font-size:.9375rem;color:var(--ts-text-sub)}
.vn-flow__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.vn-flow-card{padding:1.25rem 1.5rem;border:1px solid var(--ts-border);border-radius:var(--ts-radius);background:var(--color-neutral-white)}
.vn-flow-card--accent{border-color:var(--ts-key)}
.vn-flow-card__title{font-size:1.125rem;margin-bottom:.5rem}
.vn-flow-card__text{font-size:.9375rem;margin-bottom:.5rem}
.vn-flow-card__list{font-size:.9375rem;color:var(--ts-text-sub)}
.vn-flow__note{margin-top:1rem;font-size:.9375rem;color:var(--ts-text-sub)}
.vn-pricing__card{display:grid;grid-template-columns:1fr 2fr;column-gap:2rem;padding:1.5rem;border:1px solid var(--ts-border);border-radius:var(--ts-radius);background:var(--color-neutral-white)}
.vn-pricing__label{font-size:.875rem;color:var(--ts-text-sub)}
.vn-pricing__price{font-size:1.5rem;font-weight:700}
.vn-pricing__note{font-size:.875rem;color:var(--ts-text-sub)}
.vn-pricing__includes-label{font-weight:700;margin-bottom:.5rem}
.vn-cta-section{position:relative;background:var(--ts-bg)}
.vn-cta-section__overlay{display:none}
.vn-cta-section .final-cta-light{background:transparent}


/* ------------------------------------------------------------------
   9. セミナー（sem-hero / ts-sem-*）
   ------------------------------------------------------------------ */
.sem-hero,.dl-hero,.inq-hero-section,.arc-hero{position:relative;padding:3rem 0 2.5rem;background:var(--ts-bg);color:var(--ts-text);border-bottom:1px solid var(--ts-border);min-height:0}
.sem-hero__overlay,.dl-hero__overlay,.inq-hero-overlay,.arc-hero__overlay{display:none}
.sem-hero__inner,.dl-hero__inner,.inq-hero-inner,.arc-hero__inner{max-width:var(--ts-container);margin:0 auto;padding:0 var(--ts-gutter);position:relative}
.sem-hero__label,.dl-hero__label,.inq-hero-label,.arc-hero__label{font-size:.9375rem;color:var(--ts-text-sub);margin-bottom:.75rem;letter-spacing:.02em;text-transform:none}
.sem-hero__heading,.dl-hero__heading,.inq-hero-heading,.arc-hero__heading{font-size:2.25rem;line-height:1.4;letter-spacing:.01em;color:var(--ts-text);margin-bottom:.75rem}
.sem-hero__sub,.dl-hero__sub,.inq-hero-sub,.arc-hero__sub{font-size:1.0625rem;color:var(--ts-text)}
.dl-hero__sub br,.inq-hero-sub br{display:none}
.dl-hero__back,.arc-hero__back{font-size:.9375rem}

.ts-seminar-wrap{max-width:var(--ts-container);margin:0 auto;padding:2.5rem 0}
.ts-sem-section-label{font-size:1.375rem;font-weight:700;margin:2rem 0 1rem;padding:0;background:none;border:0;color:var(--ts-text)}
.ts-sem-section-label:first-child{margin-top:0}
.ts-sem-list{display:flex;flex-direction:column;gap:.75rem}
.ts-sem-card{border:1px solid var(--ts-border);border-radius:var(--ts-radius);background:var(--color-neutral-white);box-shadow:none;overflow:hidden}
.ts-sem-card-inner{display:grid;grid-template-columns:150px minmax(0,1fr) auto;column-gap:1.5rem;align-items:center;padding:1.25rem 1.5rem}
.ts-sem-date-col{display:flex;flex-direction:column;gap:.125rem;border-right:1px solid var(--ts-border);padding-right:1.5rem;background:none;color:var(--ts-text)}
.ts-sem-month{font-size:.875rem;color:var(--ts-text-sub)}
.ts-sem-day{font-size:2rem;font-weight:700;line-height:1.2}
.ts-sem-weekday{font-size:.875rem;color:var(--ts-text-sub);margin-bottom:.5rem}
.ts-sem-organizer{font-size:.875rem;color:var(--ts-text-sub)}
.ts-sem-title{font-size:1.125rem;font-weight:700;line-height:1.5;margin:.25rem 0}
.ts-sem-title a{color:var(--ts-link)}
.ts-sem-meta{display:flex;flex-wrap:wrap;gap:.25rem 1rem;font-size:.875rem;color:var(--ts-text-sub)}
.ts-sem-meta-item{display:inline-flex;align-items:center;gap:.25rem}
.ts-sem-meta-item svg,.ts-sem-past__item svg{width:1.125em;height:1.125em;flex-shrink:0}
.ts-sem-cta-col{display:flex;flex-direction:column;gap:.5rem;align-items:stretch}
.ts-sem-cta-banner{position:relative;margin:2.5rem 0;padding:1.5rem;border:1px solid var(--ts-border);border-radius:var(--ts-radius);background:var(--ts-bg-alt);min-height:0}
.ts-sem-cta-banner__content{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;color:var(--ts-text)}
.ts-sem-cta-banner__content h2{font-size:1.375rem;margin-bottom:.25rem;color:var(--ts-text)}
.ts-sem-cta-banner__content p{color:var(--ts-text-sub);font-size:.9375rem}
.ts-sem-past__heading{font-size:1.375rem;margin:2rem 0 1rem}
.ts-sem-past__list{border-top:1px solid var(--ts-border)}
.ts-sem-past__item{display:grid;grid-template-columns:170px minmax(0,1fr) auto;column-gap:1.5rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--ts-border)}
.ts-sem-past__item-left{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem;color:var(--ts-text-sub)}
.ts-sem-past__type{font-size:.875rem}
.ts-sem-past__org{font-size:.875rem;color:var(--ts-text-sub)}
.ts-sem-past__title{font-weight:700;margin:.125rem 0}
.ts-sem-past__place{font-size:.875rem;color:var(--ts-text-sub)}

/* トップの旧セミナー帯（HTML差し替え前の互換） */
.top-seminar-strip__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.top-seminar-card{padding:1.25rem 1.5rem;border:1px solid var(--ts-border);border-radius:var(--ts-radius);background:var(--color-neutral-white)}


/* ------------------------------------------------------------------
   10. お問い合わせ（inq-*）／ Contact Form 7
   ------------------------------------------------------------------ */
.inq-wrap{max-width:var(--ts-container);margin:0 auto;padding:2.5rem var(--ts-gutter) 0}
.inq-wrap--below{padding-top:0;padding-bottom:3rem}
.inq-promises{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:2rem}
.inq-promise{padding:1.25rem 1.5rem;border:1px solid var(--ts-border);border-radius:var(--ts-radius);background:var(--color-neutral-white)}
.inq-promise__title{font-weight:700;margin-bottom:.25rem}
.inq-promise__text{font-size:.9375rem;color:var(--ts-text-sub)}
.inq-ok-box{padding:1.25rem 1.5rem;border:1px solid var(--ts-border);border-radius:var(--ts-radius);background:var(--ts-bg-alt);margin-bottom:2rem}
.inq-ok-box__title{font-weight:700;margin-bottom:.75rem}
.inq-ok-list{display:flex;flex-wrap:wrap;gap:.5rem}
.inq-form-lead{margin-bottom:1rem}
.inq-form-lead__text strong{font-weight:700}
.palegray-back.about-service{background:transparent;padding:0}
.inq-privacy-note{font-size:.875rem;color:var(--ts-text-sub);margin:1rem 0 2rem}
.inq-divider{display:flex;align-items:center;gap:1rem;color:var(--ts-text-sub);margin:2rem 0}
.inq-divider::before,.inq-divider::after{content:"";flex:1;border-top:1px solid var(--ts-border)}
.inq-alt-contact__title{font-weight:700;margin-bottom:.75rem}
.inq-alt-contact__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:2rem}
.inq-alt-card{padding:1.25rem 1.5rem;border:1px solid var(--ts-border);border-radius:var(--ts-radius);background:var(--color-neutral-white)}
.inq-from-rep{display:grid;grid-template-columns:96px minmax(0,1fr);column-gap:1.25rem;align-items:start;padding:1.25rem 1.5rem;border:1px solid var(--ts-border);border-radius:var(--ts-radius);background:var(--color-neutral-white)}
.inq-from-rep__avatar img{width:96px;height:96px;object-fit:cover;border-radius:var(--ts-radius-s);border:1px solid var(--ts-border)}
.inq-from-rep__name{font-weight:700;margin-bottom:.25rem}
.inq-from-rep__message{font-size:.9375rem}

/* お問い合わせフォーム（自前。DADS input。送信先は api/ の Functions） */
.inq-form{max-width:var(--ts-container);margin:0 auto;padding:0 0 3.5rem}
.inq-form__form{max-width:36em}
.inq-form__field{margin:0 0 1.25rem}
.inq-form__field label{display:block;font-weight:700;margin-bottom:.375rem}
.inq-form__req,.inq-form__opt{display:inline-block;margin-left:.5rem;padding:0 .375rem;border-radius:4px;font-size:.75rem;font-weight:700;line-height:1.5;vertical-align:middle}
.inq-form__req{background:var(--color-primitive-red-800);color:var(--color-neutral-white)}
.inq-form__opt{background:var(--ts-bg-head);color:var(--ts-text-sub)}
.inq-form input[type="text"],.inq-form input[type="email"],.inq-form textarea{
  width:100%;min-height:3.5rem;padding:.75rem 1rem;border:1px solid var(--ts-text-strong);border-radius:var(--ts-radius-s);
  background:var(--color-neutral-white);color:var(--ts-text);font-family:var(--font-family-sans);font-size:1rem;line-height:1.5;
}
.inq-form textarea{min-height:10rem;resize:vertical}
.inq-form input:focus,.inq-form textarea:focus{outline:4px solid var(--color-neutral-black);outline-offset:2px;box-shadow:0 0 0 2px var(--color-primitive-yellow-300)}
.inq-form .is-invalid{border:2px solid var(--color-primitive-red-800)}
.inq-form__error{display:block;color:var(--color-primitive-red-800);font-size:.875rem;margin-top:.25rem}
.inq-form__error[hidden]{display:none}
.inq-form__hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.inq-form__turnstile{margin:0 0 1.25rem}
.inq-form__status{margin:0 0 1.25rem;padding:1rem 1.25rem;border:1px solid var(--ts-border);border-radius:var(--ts-radius-s)}
.inq-form__status.is-error{border-color:var(--color-primitive-red-800);color:var(--color-primitive-red-800)}
.inq-form__status[hidden]{display:none}
.inq-form__actions{margin:0}
.inq-form__submit{min-height:3.5rem;padding:.75rem 1.5rem;cursor:pointer}
.inq-form__submit[disabled]{opacity:.6;cursor:progress}
/* Zoho Marketing Automation 登録フォーム（資料DL）。埋め込みの inline style を !important で上書き */
.dl-zoho{padding:0 0 3.5rem}
.dl-zoho [data-type="signupform"]{font-family:var(--font-family-sans)}
.dl-zoho #SIGNUP_PAGE{background:transparent !important;padding:0 !important;color:var(--ts-text) !important;font-family:var(--font-family-sans) !important;font-size:1rem !important;text-align:left !important}
.dl-zoho #imgBlock,.dl-zoho #SIGNUP_PAGE > br{display:none !important}
.dl-zoho #signupMainDiv{margin:0 !important;max-width:36em !important;min-width:0 !important;width:100% !important}
.dl-zoho #SIGNUP_BODY_ALL{border:0 !important}
.dl-zoho #SIGNUP_HEADING{background:transparent !important;color:var(--ts-text) !important;font-family:var(--font-family-sans) !important;font-size:1.375rem !important;font-weight:700;line-height:1.5;padding:0 0 .5rem !important;margin:0 !important;border:0 !important}
.dl-zoho #SIGNUP_BODY{padding:0 !important;font-family:var(--font-family-sans) !important;font-size:1rem !important;color:var(--ts-text) !important}
.dl-zoho #SIGNUP_DESCRIPTION{font-size:1rem;line-height:1.7 !important;margin-bottom:.5rem}
.dl-zoho #errorMsgDiv{background:#fdeeee !important;border:1px solid var(--color-primitive-red-800) !important;color:var(--color-primitive-red-800) !important;font-size:.9375rem !important;border-radius:var(--ts-radius-s);padding:.75rem 1rem !important;margin:1rem 0 !important}
.dl-zoho .zcsffieldsdiv{font-size:1rem !important;margin-top:0 !important}
.dl-zoho .zcsffieldsdiv > div{padding:.75rem 0 !important}
.dl-zoho [name="SIGNUP_FORM_LABEL"]{float:none !important;width:auto !important;display:block;margin:0 0 .375rem !important;font-family:var(--font-family-sans) !important;font-size:1rem !important;font-weight:700;color:var(--ts-text) !important}
.dl-zoho [name="SIGNUP_REQUIRED"]{color:var(--color-primitive-red-800) !important;font-family:var(--font-family-sans) !important;font-size:.875rem !important}
.dl-zoho .zcinputbox{float:none !important;width:100% !important;max-width:100% !important;min-width:0 !important}
.dl-zoho [changeitem="SIGNUP_FORM_FIELD"]{width:100% !important;height:3.5rem !important;padding:.75rem 1rem !important;border:1px solid var(--ts-text-strong) !important;border-radius:var(--ts-radius-s) !important;background:#fff !important;color:var(--ts-text) !important;font-family:var(--font-family-sans) !important;font-size:1rem !important;line-height:1.5}
.dl-zoho [changeitem="SIGNUP_FORM_FIELD"]:focus{outline:4px solid #000 !important;outline-offset:2px;box-shadow:0 0 0 2px var(--color-primitive-yellow-300)}
.dl-zoho #recapDiv{margin:1rem 0 0 !important;width:auto !important}
.dl-zoho #selectMailingLists{margin-top:0 !important}
.dl-zoho #listRelTable:empty,.dl-zoho #listRelTable tbody:empty{display:none}
.dl-zoho [id=" REQUIRED_FIELD_TEXT"]{font-family:var(--font-family-sans) !important;font-size:.875rem !important;color:var(--ts-text-sub) !important;padding:.5rem 0 !important}
.dl-zoho #zcWebOptin{appearance:none !important;-webkit-appearance:none !important;display:inline-flex !important;align-items:center;justify-content:center;min-height:3.5rem !important;padding:.75rem 1.5rem !important;border:4px double transparent !important;border-radius:var(--ts-radius-s) !important;background:var(--ts-key) !important;color:#fff !important;font-family:var(--font-family-sans) !important;font-weight:700;font-size:1rem !important;line-height:1 !important;letter-spacing:.02em;cursor:pointer;width:auto !important}
.dl-zoho #zcWebOptin:hover{background:var(--ts-key-hover) !important;text-decoration:underline}
.dl-zoho #zcWebOptin:focus-visible{outline:4px solid #000;outline-offset:2px;box-shadow:0 0 0 2px var(--color-primitive-yellow-300)}
.dl-zoho #zcWebOptin + *,.dl-zoho div[style*="text-align:center"]{text-align:left !important;padding:.5rem 0 !important}
.dl-zoho #privacyNotes{height:auto !important;margin:1rem 0 0 !important;max-width:36em;font-size:.875rem;color:var(--ts-text-sub);line-height:1.7}
.dl-zoho #Zc_SignupSuccess{position:static !important;margin:0 0 1rem !important;width:100% !important;padding:.75rem 1rem !important;border:1px solid var(--color-primitive-green-600) !important;border-radius:var(--ts-radius-s);word-break:normal !important}
.dl-zoho #signupSuccessMsg{font-family:var(--font-family-sans) !important;font-size:1rem !important;color:var(--ts-text) !important}
.dl-zoho .successicon{display:none}
#zcOptinSuccessPopup{width:min(90vw,640px) !important;left:50% !important;transform:translateX(-50%);height:auto !important;border-radius:var(--ts-radius);font-family:var(--font-family-sans);box-shadow:var(--elevation-2,0 2px 12px rgba(0,0,0,.2)) !important}
@media (max-width:640px){
  .dl-zoho #recapDiv{transform:scale(.9);transform-origin:0 0}
}



/* ------------------------------------------------------------------
   11. 資料ダウンロード（dl-*）
   ------------------------------------------------------------------ */
.dl-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.dl-card{display:flex;flex-direction:column;border:1px solid var(--ts-border);border-radius:var(--ts-radius);background:var(--color-neutral-white);overflow:hidden}
.dl-card__body{padding:1.5rem;display:flex;flex-direction:column;gap:.75rem}
.dl-card__title,.dl-card h3{font-size:1.25rem}
.dl-card__text,.dl-card p{font-size:.9375rem}
.dl-list__note{margin-top:1.5rem}
.dl-single-wrap{max-width:var(--ts-container);margin:0 auto;padding:2.5rem var(--ts-gutter) 3rem}
.dl-single__meta{display:flex;gap:.5rem;margin-bottom:1.5rem}
.dl-single__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:2rem;align-items:start}
.dl-single__title{font-size:1.375rem;margin-bottom:.75rem}
.dl-single__desc{margin-bottom:1rem}
.dl-single__list{margin-bottom:1rem}
.dl-single__tags{display:flex;flex-wrap:wrap;gap:.5rem}
.dl-single__form-intro{padding:1.5rem;border:1px solid var(--ts-border);border-radius:var(--ts-radius);background:var(--ts-bg-alt)}
.dl-single__form-intro-text{margin-bottom:1rem;font-size:.9375rem}


/* ------------------------------------------------------------------
   12. アーカイブ（arc-*）／ 個別記事（single-*）
   ------------------------------------------------------------------ */
.arc-hero__meta{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;font-size:.875rem;color:var(--ts-text-sub);margin-top:.5rem}
.arc-cat-nav{border-bottom:1px solid var(--ts-border);background:var(--color-neutral-white)}
.arc-cat-nav__inner{display:flex;gap:.25rem}
.arc-cat-btn{display:inline-block;padding:.875rem 1.25rem;border-bottom:3px solid transparent;color:var(--ts-text-strong);text-decoration:none;font-weight:700;margin-bottom:-1px}
.arc-cat-btn:any-link,.arc-cat-btn:visited{color:var(--ts-text-strong)}
.arc-cat-btn:hover{color:var(--ts-link-hover);text-decoration:none;background:var(--ts-bg-alt)}
.arc-cat-btn--active,.arc-cat-btn--active:any-link{border-bottom-color:var(--ts-key);color:var(--ts-key)}
.arc-tag-nav{padding:1rem 0;border-bottom:1px solid var(--ts-border)}
.arc-tag-nav__inner{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.arc-tag-nav__label{font-size:.875rem;color:var(--ts-text-sub)}
.arc-list{padding:2.5rem 0 3rem}
.arc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.arc-grid__card{display:flex;flex-direction:column;border:1px solid var(--ts-border);border-radius:var(--ts-radius);background:var(--color-neutral-white);overflow:hidden}
.arc-grid__card--featured{grid-column:1 / -1}
.arc-grid__card-img-wrap{display:block;aspect-ratio:16/9;background:var(--ts-bg-alt);border-bottom:1px solid var(--ts-border)}
.arc-grid__card-img-wrap img{width:100%;height:100%;object-fit:cover}
.arc-grid__card-img-wrap:any-link{text-decoration:none}
/* サムネイルは「写真のある記事」だけ出す。自動生成の文字画像（eyecatch-*.png）はタイトルと二重になるので一覧・関連記事では出さない（OGP専用）。画像なしのプレースホルダーも出さない */
.arc-grid__card-img-wrap:not(:has(img.wp-post-image)),.arc-grid__card-img-wrap:has(img[src*="/eyecatch-"]),
.related-card__image:not(:has(img)),.related-card__image:has(img[src*="/eyecatch-"]){display:none}
/* 1件目：写真があるときだけ 画像｜本文 の2列 */
.arc-grid__card--featured:has(> .arc-grid__card-img-wrap img.wp-post-image:not([src*="/eyecatch-"])){display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.arc-grid__card--featured .arc-grid__card-img-wrap{aspect-ratio:auto;border-bottom:0;border-right:1px solid var(--ts-border)}
.arc-grid__card-body{padding:1.25rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.arc-grid__card-meta{display:flex;gap:.75rem;align-items:center;font-size:.875rem;color:var(--ts-text-sub)}
.arc-grid__cat{font-size:.875rem}
.arc-grid__card-title{font-size:1.125rem;line-height:1.5}
.arc-grid__card--featured .arc-grid__card-title{font-size:1.5rem}
.arc-grid__card-title a{color:var(--ts-link)}
.arc-grid__card-excerpt{font-size:.9375rem;color:var(--ts-text-sub)}
.arc-grid__card-more{margin-top:auto;align-self:flex-start;min-height:2.25rem;padding:.125rem .75rem;font-size:.9375rem}
.arc-pagination{margin-top:2rem}
.page-numbers{display:flex;justify-content:center;gap:.25rem;list-style:none;padding:0;margin:0}
.page-numbers li{margin:0}
.page-numbers a,.page-numbers span{display:inline-flex;align-items:center;justify-content:center;min-width:2.75rem;min-height:2.75rem;padding:0 .5rem;border:1px solid transparent;border-radius:var(--ts-radius-s);text-decoration:none;color:var(--ts-text-strong)}
.page-numbers a:hover{background:var(--ts-key-tint);color:var(--ts-key)}
.page-numbers .current{border-color:var(--ts-text-strong);font-weight:700}

/* 個別記事 */
.single-wrap{padding:2.5rem 0 3rem}
.single-inner{max-width:720px;margin:0 auto}
.single-meta{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;font-size:.875rem;color:var(--ts-text-sub);margin-bottom:1.5rem}
.single-toc{margin:0 0 2rem;padding:1.25rem 1.5rem;border:1px solid var(--ts-border);border-radius:var(--ts-radius-s);background:var(--ts-bg-alt)}
.single-toc__header{font-weight:700;margin-bottom:.5rem}
.single-toc__list{margin:0;padding-left:1.5rem;font-size:.9375rem}
.single-toc__item{margin:.25rem 0}
.single-toc__item--h3{margin-left:1rem;list-style:circle}
.single-content{font-size:1rem;line-height:1.9}
.single-content > * + *{margin-top:1.25em}
.single-content h2{font-size:1.5rem;line-height:1.5;margin-top:2.5em;padding-top:1.25rem;border-top:1px solid var(--ts-border)}
.single-content > h2:first-child{margin-top:0;padding-top:0;border-top:0} /* 先頭見出しは罫線なし（ヒーローの罫線と二重になるため） */
.single-content h3{font-size:1.25rem;margin-top:2em}
.single-content h4{font-size:1.0625rem}
.single-content ul,.single-content ol{padding-left:1.5rem}
.single-content li + li{margin-top:.375em}
.single-content img{border:1px solid var(--ts-border);border-radius:var(--ts-radius-s)}
.single-content blockquote{margin:0;padding:.5rem 0 .5rem 1.25rem;border-left:3px solid var(--ts-border);color:var(--ts-text-sub)}
.single-content table{width:100%;border-collapse:collapse;font-size:.9375rem;line-height:1.6}
.single-content th,.single-content td{padding:.75rem 1rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--ts-border)}
.single-content thead th,.single-content tbody tr:first-child th{background:var(--ts-bg-head);border-top:1px solid var(--ts-border-strong);border-bottom:1px solid var(--ts-border-strong)}
.single-content .wp-block-table{overflow-x:auto}
.single-content pre,.single-content .wp-block-code{padding:1rem 1.25rem;border:1px solid var(--ts-border);border-radius:var(--ts-radius-s);background:var(--ts-bg-alt);font-family:'Noto Sans Mono',ui-monospace,Menlo,Consolas,monospace;font-size:.875rem;line-height:1.7;overflow-x:auto;white-space:pre-wrap}
.single-content code{font-family:'Noto Sans Mono',ui-monospace,Menlo,Consolas,monospace;font-size:.9em;background:var(--ts-bg-alt);padding:.1em .35em;border-radius:4px}
.single-content pre code{background:none;padding:0}
.single-content hr{border:0;border-top:1px solid var(--ts-border);margin:2.5em 0}
.single-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin:2.5rem 0 1.5rem}
.single-share{padding:1.25rem 0;border-top:1px solid var(--ts-border);border-bottom:1px solid var(--ts-border)}
.single-share__label{font-size:.875rem;color:var(--ts-text-sub);margin-bottom:.5rem}
.single-share__buttons{display:flex;gap:.5rem}
.single-share__btn{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:0 1rem;border:1px solid var(--ts-text-strong);border-radius:var(--ts-radius-s);color:var(--ts-text-strong);text-decoration:none;font-size:.9375rem;background:var(--color-neutral-white)}
.single-share__btn:any-link,.single-share__btn:visited{color:var(--ts-text-strong)}
.single-share__btn:hover{background:var(--ts-bg-alt)}
.single-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.5rem}
.single-nav__link{display:flex;flex-direction:column;gap:.25rem;padding:1rem 1.25rem;border:1px solid var(--ts-border);border-radius:var(--ts-radius);text-decoration:none;color:var(--ts-text)}
.single-nav__link:any-link,.single-nav__link:visited{color:var(--ts-text)}
.single-nav__link:hover{background:var(--ts-key-tint)}
.single-nav__dir{font-size:.875rem;color:var(--ts-text-sub)}
.single-nav__title{font-weight:700;font-size:.9375rem}
.single-nav__link--next{text-align:right;grid-column:2}
/* 著者ボックス（Simple Author Box） */
.saboxplugin-wrap{border:1px solid var(--ts-border) !important;border-radius:var(--ts-radius) !important;box-shadow:none !important;margin-top:2.5rem !important;background:var(--color-neutral-white) !important}
.saboxplugin-wrap .saboxplugin-gravatar img{border-radius:var(--ts-radius-s)}
.saboxplugin-wrap .saboxplugin-authorname{font-family:var(--font-family-sans) !important;font-size:1.0625rem !important}
.saboxplugin-wrap .saboxplugin-desc{font-family:var(--font-family-sans) !important;font-size:.9375rem !important}


/* ------------------------------------------------------------------
   13. フッター（site-footer-new）
   ------------------------------------------------------------------ */
.site-footer-new{background:var(--ts-bg-alt);color:var(--ts-text);border-top:1px solid var(--ts-border);padding:2.5rem 0 2rem;font-size:.875rem;line-height:1.7}
.footer-new__inner{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:1.5rem}
.footer-new__logo{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:1rem;color:var(--ts-text-strong);margin-bottom:.5rem}
.footer-new__logo-mark{display:none}
.footer-new__logo img{height:32px;width:auto}
.footer-new__tagline{margin-bottom:.5rem}
.footer-new__tagline br{display:none}
.footer-new__address{color:var(--ts-text-sub)}
.footer-new__col-title{font-weight:700;margin:0 0 .5rem}
.footer-new__col-title + .footer-new__list + .footer-new__col-title{margin-top:1.25rem}
.footer-new__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.375rem}
.footer-new__list a{color:var(--ts-text);text-decoration:underline;text-decoration-thickness:1px}
.footer-new__list a:visited{color:var(--ts-text)}
.footer-new__list a:hover{color:var(--ts-link-hover)}
.footer-new__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--ts-border)}
.footer-new__copy{color:var(--ts-text-sub)}
.footer-new__privacy,.footer-new__privacy:any-link{color:var(--ts-text)}


/* ------------------------------------------------------------------
   14. レスポンシブ（2段階：1000 = Totalテーマのメニュー切替幅 / 640）
   ------------------------------------------------------------------ */
@media (max-width:1000px){
  :root{--ts-section:40px}
  h1,.tp-hero__title,.sol-fv__heading,.about-hero__heading,.vn-fv__heading{font-size:2rem}
  .tp-hero{padding:2.5rem 0 2rem}
  .tp-hero__grid,.tp-pricing__grid,.tp-company__grid,.about-rep__inner,.about-area__inner,.vn-pricing__card,.dl-single__inner{grid-template-columns:minmax(0,1fr);row-gap:1.5rem}
  .ts-cards--3,.about-mission__grid,.about-partners__list,.vn-flow__grid,.inq-promises,.arc-grid,.top-seminar-strip__list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .arc-grid__card--featured:has(> .arc-grid__card-img-wrap img.wp-post-image:not([src*="/eyecatch-"])){grid-template-columns:minmax(0,1fr)}
  .arc-grid__card--featured .arc-grid__card-img-wrap{aspect-ratio:16/9;border-right:0;border-bottom:1px solid var(--ts-border)}
  .sol-flow__grid,.about-stats__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .about-mission-card--main{grid-column:1 / -1}
  .ts-sem-card-inner{grid-template-columns:120px minmax(0,1fr);row-gap:1rem}
  .ts-sem-cta-col{grid-column:1 / -1;flex-direction:row}
  .ts-sem-past__item{grid-template-columns:minmax(0,1fr);row-gap:.25rem}
  /* ヘッダー：ハンバーガー */
  .ht-main-navigation{display:flex;flex-wrap:wrap;justify-content:flex-end;flex:1 0 auto}
  .ht-menu{flex-basis:100%;width:100%}   /* 表示/非表示は Total のCSSとJS（slideToggle）に任せる */
  .ht-menu > ul{flex-direction:column;align-items:stretch;gap:0;padding:.5rem 0 1rem;border-top:1px solid var(--ts-border)}
  .ht-menu ul li a{display:block;border-radius:0;padding:.875rem .25rem;font-size:1rem;border:0;border-bottom:1px solid var(--ts-border)}
  .ht-menu ul li.current-menu-item > a{border:0;border-bottom:1px solid var(--ts-border);font-weight:700}
  .ht-menu ul li.ts-nav-cta > a{margin:1rem 0 0;border:1px solid var(--ts-key);border-radius:var(--ts-radius-s);text-align:center;padding:.875rem 1rem}
  .ht-menu ul ul.sub-menu{position:static;border:0;padding:0 0 0 1rem;min-width:0}
  .ht-header .ht-container{flex-wrap:wrap;padding-top:.75rem;padding-bottom:.75rem;min-height:64px}
}
@media (max-width:640px){
  :root{--ts-gutter:16px}
  body{font-size:.9375rem}
  h2,.section-title-light,.tp-section__title,.tp-notice__title,.final-cta-light__heading{font-size:1.5rem}
  .ts-cards,.ts-cards--3,.sol-pain__grid,.vn-pain__grid,.about-strengths__grid,.sv-collab-grid,.vn-services__grid,.vn-flow__grid,
  .about-mission__grid,.about-partners__list,.inq-promises,.inq-alt-contact__grid,.dl-cards,.arc-grid,.sol-flow__grid,.about-stats__grid,.top-seminar-strip__list,.single-nav{grid-template-columns:minmax(0,1fr)}
  .single-nav__link--next{grid-column:auto;text-align:left}
  .ts-card__title{font-size:1.25rem}
  .btn,.ts-btn,.inq-form__submit{width:100%}
  .btn--sm,.ts-btn--sm{width:auto}
  .tp-hero__cta,.sol-fv__cta,.vn-fv__cta,.final-cta-light__buttons,.tp-contact__cta{flex-direction:column;align-items:stretch}
  .ts-dl{grid-template-columns:minmax(0,1fr)}
  .ts-dl dt{border-bottom:0;padding-bottom:0}
  .ts-table th,.ts-table td{padding:.875rem .75rem;font-size:.9375rem}
  .ts-table-wrap .ts-table{min-width:600px}
  .tp-pricing__grid .ts-table td:nth-child(2){white-space:normal}
  .about-company__table th{width:7em}
  .ts-sem-card-inner{grid-template-columns:minmax(0,1fr);padding:1rem 1.25rem}
  .ts-sem-date-col{border-right:0;border-bottom:1px solid var(--ts-border);padding:0 0 .75rem;flex-direction:row;align-items:baseline;gap:.5rem}
  .ts-sem-day{font-size:1.5rem}
  .inq-from-rep{grid-template-columns:minmax(0,1fr)}
  .footer-new__inner{grid-template-columns:minmax(0,1fr)}
}

/* 印刷 */
@media print{
  .ht-site-header,.site-footer-new,.final-cta-light,.toggle-bar,.single-share,.single-nav{display:none}
  a:any-link{color:#000;text-decoration:none}
}

/* トップ: BizMeow バナー（2026-10-03） */
.tp-banner{padding:var(--ts-section) 0 0;}
.tp-banner__link{display:block;}
.tp-banner__link img{display:block;width:100%;height:auto;}
.tp-banner__link:hover img{opacity:.9;}

/* /it-hitsuji: BizMeow への案内（2026-10-03） */
.sol-media__title{font-size:1.25rem;margin:0 0 8px;}
.sol-media__text{margin:0;}

