@charset "utf-8";
/* ============================================================
   2026 MODERN DESIGN — DIGITAL GATE
   Digital Minimalism: ブランド完成版
   既存HTMLの構造は変更せずCSS上書きのみ
   ============================================================ */

/* ─── Google Fonts ─────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Noto+Sans+JP:wght@300;400;500;700&display=swap');


/* ─── スクロールアニメーション ──────────────────────────────── */
.js-anim-ready .anim-el {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.65s cubic-bezier(0.22, 1, 0.36, 1),
                transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}
.js-anim-ready .anim-el.is-visible {
    opacity: 1;
    transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
    .js-anim-ready .anim-el {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}


/* ─── デザイントークン ──────────────────────────────────────── */
:root {
    --clr-navy:        #064091;
    --clr-red:         #ce1122;
    --clr-text:        rgba(26, 26, 26, 0.82);
    --clr-muted:       rgba(26, 26, 26, 0.52);
    --clr-bg-card:     rgba(255, 255, 255, 0.82);
    --clr-border:      rgba(0, 0, 0, 0.07);
    --sp-section:      110px;
    --sp-title-mb:     48px;
    --radius-card:     4px;
}


/* ─── フォント・テキスト全体 ────────────────────────────────── */
body,
p, li, a,
th, td, dt, dd {
    font-family:
        'Inter', 'Noto Sans JP',
        -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    letter-spacing: 0.06em;
    font-weight: 400;
    color: var(--clr-text);
}
.nav li a,
.navTit,
footer,
.copy {
    font-family: 'Inter', 'Noto Sans JP', sans-serif;
    font-weight: 400;
}
h1, h2, h3, h4, h5, h6 {
    letter-spacing: 0.08em;
    font-weight: 500;
}


/* ─── ページ全体の背景 ─────────────────────────────────────── */
#wrap {
    background: linear-gradient(160deg, #ffffff 0%, #f5f9fc 55%, #fdf6f7 100%);
    background-attachment: fixed;
}


/* ─── 視線誘導ライン ────────────────────────────────────────── */
/*
  body::before = 1px の極細縦線（画面左マージンに固定）
  body::after  = 「·」ドット + 縦書き SCROLL テキスト
  どちらも pointer-events: none で操作に干渉しない
*/
body::before {
    content: '';
    position: fixed;
    left: 36px;
    top: 0;
    height: 100vh;
    width: 1px;
    background: linear-gradient(
        to bottom,
        transparent 0%,
        rgba(6, 64, 145, 0.09) 14%,
        rgba(6, 64, 145, 0.09) 86%,
        transparent 100%
    );
    pointer-events: none;
    z-index: 2;
}
body::after {
    /* 改行コード \A で1文字ずつ縦に並べる */
    content: '\B7\A S\A C\A R\A O\A L\A L';
    white-space: pre;
    position: fixed;
    left: 30px;
    top: 54vh;
    font-family: 'Inter', sans-serif;
    font-size: 9px;
    font-weight: 500;
    line-height: 2.0;
    text-align: center;
    color: rgba(6, 64, 145, 0.22);
    pointer-events: none;
    z-index: 2;
    letter-spacing: 0;
}


/* ─── グラスモーフィズム ヘッダー ───────────────────────────── */
.headSh {
    background: rgba(255, 255, 255, 0.85) !important;
    backdrop-filter: blur(20px) saturate(160%);
    -webkit-backdrop-filter: blur(20px) saturate(160%);
    border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
    transition: background 0.3s ease, box-shadow 0.3s ease;
}
.shadow {
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.06) !important;
}
.navTit { font-size: 15px; letter-spacing: 0.01em; margin-top: 18px !important; }
.navTit span { letter-spacing: 3px; }
.nav li a { letter-spacing: 0.04em; color: var(--clr-text); }
.nav li:nth-child(2) a { width: 180px !important; }


/* ─── ヘッダー中央テキスト ──────────────────────────────────── */
.headTxt {
    color: rgba(26, 26, 26, 0.50) !important;
    font-weight: 500 !important;
    letter-spacing: 0.05em !important;
}


/* ─── ヘッダー右: 電話番号・メール問合せ (画像→CSS置換) ──── */
.head .floatR img { display: none !important; }
.head .floatR {
    float: right !important;
    display: flex !important;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
    padding-top: 14px;
}
.head .floatR::before {
    content: "通話無料　お問合せ・お見積り（平日10:00〜18:00）";
    display: block;
    font-size: 11px;
    color: var(--clr-muted);
    letter-spacing: 0.04em;
    line-height: 1;
    font-family: 'Noto Sans JP', sans-serif;
}
.head .floatR a {
    display: flex !important;
    align-items: center;
    text-decoration: none;
    line-height: 1;
}
.head .floatR a::before {
    content: "0120-935-836";
    display: inline-block;
    font-size: 26px !important;
    font-weight: 700;
    color: var(--clr-navy);
    letter-spacing: 0.06em;
    padding-right: 16px;
    margin-right: 16px;
    border-right: 1px solid var(--clr-border);
    line-height: 1;
    font-family: 'Inter', sans-serif;
}
.head .floatR a::after {
    content: "メール問合せ" !important;
    display: inline-block !important;
    height: auto !important;
    width: auto !important;
    background-color: var(--clr-red) !important;
    background-image: none !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    padding: 12px 18px !important;
    border-radius: 2px !important;
    letter-spacing: 0.06em !important;
    line-height: 1 !important;
    transition: background-color 0.2s !important;
    font-family: 'Noto Sans JP', sans-serif !important;
    transform: none !important;
    position: static !important;
    bottom: auto !important;
    left: auto !important;
}
.head .floatR a:hover::after {
    background-color: #a50e1b !important;
}


/* ─── 幾何学アート: 浮遊アニメーション ─────────────────────── */
@keyframes fvGeoDrift {
    0%   { transform: translate(  0px,   0px); }
    30%  { transform: translate(-14px,  9px); }
    60%  { transform: translate( -6px, -7px); }
    100% { transform: translate(  0px,   0px); }
}


/* ─── ファーストビュー: 斜めオーバーレイ ───────────────────── */
.fvBg02 { position: relative; }
.fvBg02::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        135deg,
        rgba(6, 64, 145, 0.07) 0%,
        rgba(206, 17, 34, 0.03) 65%,
        transparent 100%
    );
    pointer-events: none;
    z-index: 0;
}


/* ─── メインビジュアル: 幾何学ラインアート ──────────────────── */
.fvBg {
    position: relative;
    height: 560px !important;
    display: flex !important;
    align-items: center !important;
}
.fvBg::before {
    content: '';
    position: absolute;
    left: 160px; top: 0; bottom: 0;
    width: 56%;
    pointer-events: none;
    z-index: 0;
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 560 460'%3E%3Cline x1='60' y1='80' x2='160' y2='140' stroke='%230a3d77' stroke-opacity='.09' stroke-width='1.2'/%3E%3Cline x1='160' y1='140' x2='240' y2='60' stroke='%230a3d77' stroke-opacity='.07' stroke-width='1.2'/%3E%3Cline x1='160' y1='140' x2='200' y2='210' stroke='%230a3d77' stroke-opacity='.09' stroke-width='1.2'/%3E%3Cline x1='240' y1='60' x2='340' y2='140' stroke='%230a3d77' stroke-opacity='.06' stroke-width='1.2'/%3E%3Cline x1='200' y1='210' x2='340' y2='140' stroke='%230a3d77' stroke-opacity='.07' stroke-width='1.2'/%3E%3Cline x1='200' y1='210' x2='280' y2='300' stroke='%230a3d77' stroke-opacity='.08' stroke-width='1.2'/%3E%3Cline x1='200' y1='210' x2='100' y2='240' stroke='%230a3d77' stroke-opacity='.08' stroke-width='1.2'/%3E%3Cline x1='100' y1='240' x2='120' y2='350' stroke='%230a3d77' stroke-opacity='.07' stroke-width='1.2'/%3E%3Cline x1='280' y1='300' x2='120' y2='350' stroke='%230a3d77' stroke-opacity='.06' stroke-width='1.2'/%3E%3Cline x1='280' y1='300' x2='380' y2='260' stroke='%230a3d77' stroke-opacity='.06' stroke-width='1.2'/%3E%3Cline x1='340' y1='140' x2='480' y2='180' stroke='%230a3d77' stroke-opacity='.05' stroke-width='.8'/%3E%3Cline x1='40' y1='160' x2='60' y2='80' stroke='%230a3d77' stroke-opacity='.06' stroke-width='.8'/%3E%3Cline x1='40' y1='160' x2='100' y2='240' stroke='%230a3d77' stroke-opacity='.05' stroke-width='.8'/%3E%3Cline x1='380' y1='260' x2='480' y2='180' stroke='%230a3d77' stroke-opacity='.04' stroke-width='.8'/%3E%3Cline x1='60' y1='80' x2='200' y2='210' stroke='%230a3d77' stroke-opacity='.03' stroke-width='.8' stroke-dasharray='4,6'/%3E%3Cline x1='420' y1='80' x2='340' y2='140' stroke='%230a3d77' stroke-opacity='.04' stroke-width='.8'/%3E%3Ccircle cx='60' cy='80' r='3' fill='%230a3d77' fill-opacity='.12'/%3E%3Ccircle cx='160' cy='140' r='4.5' fill='%230a3d77' fill-opacity='.15'/%3E%3Ccircle cx='240' cy='60' r='3' fill='%230a3d77' fill-opacity='.11'/%3E%3Ccircle cx='100' cy='240' r='3' fill='%230a3d77' fill-opacity='.11'/%3E%3Ccircle cx='200' cy='210' r='6' fill='%230a3d77' fill-opacity='.16'/%3E%3Ccircle cx='340' cy='140' r='3.5' fill='%230a3d77' fill-opacity='.11'/%3E%3Ccircle cx='280' cy='300' r='4.5' fill='%230a3d77' fill-opacity='.14'/%3E%3Ccircle cx='120' cy='350' r='3' fill='%230a3d77' fill-opacity='.10'/%3E%3Ccircle cx='40' cy='160' r='2' fill='%230a3d77' fill-opacity='.09'/%3E%3Ccircle cx='420' cy='80' r='2' fill='%230a3d77' fill-opacity='.07'/%3E%3Ccircle cx='380' cy='260' r='3' fill='%230a3d77' fill-opacity='.09'/%3E%3Ccircle cx='480' cy='180' r='2' fill='%230a3d77' fill-opacity='.07'/%3E%3Ccircle cx='200' cy='210' r='12' fill='none' stroke='%230a3d77' stroke-opacity='.05' stroke-width='1'/%3E%3Ccircle cx='160' cy='140' r='8' fill='none' stroke='%230a3d77' stroke-opacity='.04' stroke-width='.8'/%3E%3C/svg%3E"),
        radial-gradient(circle, rgba(10,61,119,0.05) 1.5px, transparent 1.5px),
        linear-gradient(rgba(10,61,119,0.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(10,61,119,0.025) 1px, transparent 1px);
    background-size: 560px 460px, 40px 40px, 40px 40px, 40px 40px;
    background-repeat: no-repeat, repeat, repeat, repeat;
    background-position: left top, 0 0, 0 0, 0 0;
    -webkit-mask-image: linear-gradient(to right, black 0%, black 35%, transparent 92%);
    mask-image: linear-gradient(to right, black 0%, black 35%, transparent 92%);
}


/* ─── FVテキストブロック: flex縦並び・右半分に左寄せ ─────────── */
.fvBox {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding-left: 55% !important;
    padding-right: 4% !important;
    gap: 24px !important;
}


/* ─── 書体: Noto Sans JP に統一 ────────────────────────────── */
.topTit01,
.topJskTxt03,
.topJskTxt10,
.topVoiceTxt01,
.topCaseTxt,
.topBusTxt01,
.topFlowTxt01,
.topFlowTxt02,
.topVoiceTxt02,
.topJskTxt04,
.topJskTxt05,
.topJskTxt06,
.topJskTxt07,
.topJskTxt08,
.topJskTxt09 {
    font-family: 'Inter', 'Noto Sans JP', sans-serif;
}


/* ─── 文字間隔 ─────────────────────────────────────────────── */
/* セクション大見出し: やや広め */
.topTit01     { letter-spacing: 0.07em !important; }
/* カードタイトル: 0.1em で統一 */
.topBusTxt01  { letter-spacing: 0.1em !important; }
.topBusTxt02  { letter-spacing: 0.05em !important; }
.topCaseTxt   { letter-spacing: 0.1em !important; }
.topFlowTxt01 a, .topFlowTxt02 a { letter-spacing: 0.1em; }
.topVoiceTxt01 { letter-spacing: 0.1em !important; }
.topVoiceTxt02 { letter-spacing: 0.1em !important; }
.navTit  { letter-spacing: 0.03em; }
.copy    { letter-spacing: 0.04em; }


/* ─── キャッチコピー h2: 左寄せ・フロー配置 ──────────────────── */
.fvBg h2 {
    position: relative !important;
    top: auto !important; right: auto !important; left: auto !important;
    font-style: normal !important;
    text-align: left !important;
    border-left: none;
    letter-spacing: 0.07em;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
/* アクセント縦線: テキスト左の外側に配置（文頭揃えのため）*/
.fvBg h2::before {
    content: '';
    position: absolute;
    left: -16px; right: auto; top: 10%;
    width: 2px; height: 80%;
    background: #064091;
    border-radius: 1px;
}


/* ─── ヒーロー: テキスト配置（フロー化） ──────────────────── */
.fvBg h2 {
    color: var(--clr-text) !important;
}
.fvBg p.text {
    position: relative !important;
    top: auto !important; left: auto !important;
    text-align: left !important;
    color: rgba(26, 26, 26, 0.82) !important;
    font-size: 20px !important;
    line-height: 1.8 !important;
}
/* 黄色マーカー → 赤下線に変更 */
.fvBg p.text span {
    background: none !important;
    background-color: transparent !important;
    color: inherit !important;
    border-bottom: 2px solid rgba(206, 17, 34, 0.80) !important;
    padding-bottom: 1px !important;
}
.fvBg p.comp {
    position: relative !important;
    top: auto !important; left: auto !important;
    align-self: stretch !important;
    width: auto !important;
    padding-right: 52px !important;
    text-align: center !important;
    color: rgba(26, 26, 26, 0.55) !important;
    font-size: 16px !important;
}

/* ─── FV CTAボタン ──────────────────────────────────────────── */
.fvCtaWrap {
    margin-top: 36px !important;
    margin-bottom: 0 !important;
    align-self: center !important;
}
.fvCtaBtn {
    display: inline-block !important;
    padding: 13px 36px !important;
    border: 1.5px solid var(--clr-navy) !important;
    border-radius: 3px !important;
    color: var(--clr-navy) !important;
    font-family: 'Noto Sans JP', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    letter-spacing: 0.10em !important;
    text-decoration: none !important;
    transition: background 0.25s ease, color 0.25s ease !important;
}
.fvCtaBtn::after {
    content: ' →';
    font-size: 13px;
}
.fvCtaBtn:hover {
    background: var(--clr-navy) !important;
    color: #fff !important;
}
.fvBg p.comp::before {
    content: 'ー 主要お取引先（敬称略） ー';
    display: block;
    font-size: 12px;
    letter-spacing: 0.10em;
    color: rgba(26, 26, 26, 0.40) !important;
    font-weight: 400;
    margin-bottom: 5px;
}
.topJskTxt10 .span01 { font-size: 22px !important; }

.topJskTxt10 {
    font-size: 32px !important;
    line-height: 1.9 !important;
}


/* ─── セクション共通: サブタイトルラベル ───────────────────── */
.topMtit01 {
    font-size: 11px !important;
    letter-spacing: 6px !important;
    color: #b0b8c4 !important;
    transform: none !important;
    margin-top: var(--sp-section);
    margin-bottom: 16px;
    text-transform: uppercase;
    font-weight: 500 !important;
    font-family: 'Inter', sans-serif;
}
.bgBlue .topMtit01,
.topBg01 .topMtit01 {
    margin-top: 0;
}


/* ─── セクション共通: 大見出し ─────────────────────────────── */
.topTit01 {
    font-size: 30px !important;
    font-weight: 700 !important;
    margin-bottom: var(--sp-title-mb) !important;
    background: linear-gradient(100deg, #064091 30%, #ce1122 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent !important;
}


/* ─── BUSINESS セクション ──────────────────────────────────── */
.bgBlue {
    position: relative;
    overflow: hidden;
    background: linear-gradient(160deg, #edf3f9 0%, #f8eff2 100%) !important;
    padding-top: var(--sp-section) !important;
    padding-bottom: var(--sp-section) !important;
}
/* 透かし文字: BUSINESS */
.bgBlue::after {
    content: 'BUSINESS';
    position: absolute;
    font-family: 'Inter', sans-serif;
    font-size: 16vw;
    font-weight: 800;
    color: rgba(6, 64, 145, 0.028);
    top: -0.12em;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    pointer-events: none;
    z-index: 0;
    letter-spacing: -0.02em;
    line-height: 1;
    user-select: none;
}

.topBusBox {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
    overflow: visible !important;
    margin-bottom: 0 !important;
    position: relative;
    z-index: 1;
}
.topBusBox::before,
.topBusBox::after {
    display: none !important;
}
.topBusBox li {
    float: none !important;
    width: auto !important;
    margin-right: 0 !important;
    background: var(--clr-bg-card);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-radius: var(--radius-card);
    padding: 40px 28px 36px;
    border: 1px solid var(--clr-border);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
    transition: transform 0.32s ease, box-shadow 0.32s ease;
}
.topBusBox li:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
}
.topBusImg { text-align: center; margin-bottom: 24px !important; }
.topBusImg img { max-width: 100%; height: auto; }
.topBusTxt01 {
    font-size: 16px !important;
    line-height: 1.55 !important;
    margin-bottom: 14px !important;
    color: #064091 !important;
    font-weight: 600 !important;
    letter-spacing: 0.1em !important;
}
.topBusTxt02 {
    width: auto !important;
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 2.0 !important;
    color: rgba(26, 26, 26, 0.80) !important;
    font-weight: 400 !important;
}


/* ─── サービス紹介エリア: アクセント ───────────────────────── */
.topJskTxt10 .span02 {
    background: linear-gradient(90deg, #064091, #ce1122);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    border-bottom: 1px solid rgba(6, 64, 145, 0.22) !important;
    line-height: 1.6 !important;
    display: inline-block !important;
    overflow: visible !important;
    padding: 4px 0 !important;
}


/* ─── SERVICE セクション ────────────────────────────────────── */
.topSerBox { margin-bottom: var(--sp-section) !important; }

/* カード共通: 高さ自動・白背景 */
.topSerBg01, .topSerBg02 {
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    transition: box-shadow 0.35s ease, transform 0.35s ease;
    position: relative !important; z-index: 1;
    background-image: none !important;
    background-color: #ffffff !important;
    height: auto !important;
}
.topSerBg01 { border-radius: var(--radius-card) 0 0 var(--radius-card) !important; }
.topSerBg02 { border-radius: 0 var(--radius-card) var(--radius-card) 0 !important; }
.topSerBg01:hover, .topSerBg02:hover {
    box-shadow: 0 14px 40px rgba(0, 0, 0, 0.15);
    z-index: 2;
}

/* 上部: daiko画像エリア (::before で配置) */
.topSerBg01::before, .topSerBg02::before {
    content: '';
    display: block !important;
    height: 200px;
    background-repeat: no-repeat;
    background-size: 200% auto;
    background-color: #eef2f7;
}
.topSerBg01::before {
    background-image: url('/images/daiko_opt.jpg');
    background-position: 0% 50%;
}
.topSerBg02::before {
    background-image: url('/images/daiko_opt.jpg');
    background-position: 100% 50%;
}

/* 旧イラスト・readmoreボタン非表示 */
.topSerImg { display: none !important; }
.topSerBtn { display: none !important; }

/* テキストエリア: 絶対配置 → 通常フロー */
.topSerBg01 .topSerTit, .topSerBg02 .topSerTit,
.topSerBg01 .topSerTxt, .topSerBg02 .topSerTxt {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: auto !important;
}
.topSerBg01 .pcOnly, .topSerBg02 .pcOnly {
    padding: 20px 24px 24px !important;
}
/* タイトル: 事例カードと同スタイル */
.topSerTit {
    font-family: 'Inter', 'Noto Sans JP', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0.1em !important;
    color: #064091 !important;
    line-height: 1.75 !important;
    margin-bottom: 8px !important;
}
.topSerTit a { color: #064091 !important; text-shadow: none !important; }
/* 「（ユーザーサポート）」非表示・<br>削除で1行化 */
.topSerTit span { display: none !important; }
.topSerTit br { display: none !important; }
/* 説明文 */
.topSerTxt {
    font-size: 13px !important;
    line-height: 1.75 !important;
    margin-bottom: 0 !important;
}
.topSerTxt a { color: var(--clr-text) !important; text-shadow: none !important; }


/* ─── FIELD セクション ──────────────────────────────────────── */
/* 全セクション見出し: グラデ背景の上に出るよう z-index 確保 */
.topMtit01, .topTit01 {
    position: relative;
    z-index: 2;
}
/* FIELD見出しだけ下にずらしてSOLUTION下辺と揃える */
p.topMtit01:has(+ h3 + .topBg01) {
    margin-top: 244px !important;
}
.topBg01 {
    position: relative;
    overflow: hidden;
    background: linear-gradient(170deg, #eff5fb 0%, #faf0f2 55%, #eff5fb 100%) !important;
    margin-top: -251px !important;
    padding-top: 260px !important;
    padding-bottom: 0 !important;
}
/* 透かし文字: SOLUTION */
.topBg01::before {
    content: 'SOLUTION';
    position: absolute;
    font-family: 'Inter', sans-serif;
    font-size: 16vw;
    font-weight: 800;
    color: rgba(6, 64, 145, 0.025);
    top: -0.12em;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    pointer-events: none;
    z-index: 0;
    letter-spacing: -0.02em;
    line-height: 1;
    user-select: none;
}

.topFieBox {
    position: relative;
    z-index: 1;
}
.topFieBox li {
    background: var(--clr-bg-card);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-radius: var(--radius-card) !important;
    border: 1px solid var(--clr-border) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.topFieBox li:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}
.topCaseImg {
    border: none !important;
    padding: 0 !important;
    border-radius: var(--radius-card);
    overflow: hidden;
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
}
.topCaseImg:hover { border: none !important; padding: 0 !important; }
.topCaseTxt { font-size: 24px !important; font-weight: 700 !important; }
.topCaseTxt a { color: #064091 !important; }
.topCaseTxt a:hover { opacity: 0.75; }


/* FLOW直前: topBg01の直後のtopMtit01の余白を縮小 */
.topBg01 + .cont01 > p.topMtit01 {
    margin-top: 60px !important;
}

/* ─── FLOW セクション ───────────────────────────────────────── */
.topFlowBox {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 24px !important;
    width: auto !important;
    max-width: 1079px;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: var(--sp-section) !important;
    overflow: visible !important;
    position: relative;
}
/* clearfix 無効化（グリッドなので不要） */
.topFlowBox::after {
    display: none !important;
}
/* 透かし文字: PROCESS（::before を流用） */
.topFlowBox::before {
    content: 'PROCESS' !important;
    display: block !important;
    position: absolute !important;
    font-family: 'Inter', sans-serif;
    font-size: 16vw;
    font-weight: 800;
    color: rgba(0, 0, 0, 0.020);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) !important;
    white-space: nowrap;
    pointer-events: none;
    z-index: 0;
    letter-spacing: -0.02em;
    line-height: 1;
    user-select: none;
    clear: none !important;
}
.topFlowBox li {
    float: none !important;
    width: auto !important;
    margin-right: 0 !important;
    position: relative !important;
    z-index: 1;
    background: var(--clr-bg-card);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: var(--radius-card);
    overflow: hidden;
    border: 1px solid var(--clr-border);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.topFlowBox li:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}
.topFlowTxt01 a,
.topFlowTxt02 a {
    color: #064091 !important;
    font-weight: 600 !important;
}
.topFlowTxt01 a::after,
.topFlowTxt02 a::after {
    background: linear-gradient(90deg, #064091, #ce1122) !important;
    left: 60px !important;
}


/* ─── USER VOICE セクション: 非表示 ────────────────────────── */
.topVoiceCont { display: none !important; }
h3.topTit01:has(+ div.topVoiceCont) { display: none !important; }
p.topMtit01:has(+ h3.topTit01 + div.topVoiceCont) { display: none !important; }

.topVoiceCont {
    display: none !important;
    align-items: flex-start !important;
    gap: 48px !important;
    overflow: visible !important;
    position: relative;
}
/* clearfix 無効化 */
.topVoiceCont::after {
    display: none !important;
}
/* 透かし文字: VOICE */
.topVoiceCont::before {
    content: 'VOICE' !important;
    display: block !important;
    position: absolute !important;
    font-family: 'Inter', sans-serif;
    font-size: 22vw;
    font-weight: 800;
    color: rgba(0, 0, 0, 0.018);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) !important;
    white-space: nowrap;
    pointer-events: none;
    z-index: 0;
    letter-spacing: -0.02em;
    line-height: 1;
    user-select: none;
    flex: none !important;
    clear: none !important;
}
.topVoiceImg {
    float: none !important;
    flex-shrink: 0;
    position: relative;
    z-index: 1;
}
.topVoiceBox {
    float: none !important;
    flex: 1 !important;
    width: auto !important;
    margin-left: 0 !important;
    position: relative;
    z-index: 1;
    background: var(--clr-bg-card);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-radius: var(--radius-card);
    padding: 48px 52px !important;
    border: 1px solid var(--clr-border);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
}
.topVoiceTxt01 {
    font-size: 23px !important;
    margin-bottom: 28px !important;
    line-height: 1.6 !important;
    font-weight: 600 !important;
    color: #064091 !important;
}
.topVoiceTxt02 {
    font-size: 15px !important;
    margin-top: 28px !important;
    margin-bottom: 14px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid var(--clr-border) !important;
    font-weight: 600 !important;
    color: #064091 !important;
}
.topVoiceTxt03 {
    font-size: 14px;
    line-height: 2.0;
    color: rgba(26, 26, 26, 0.80);
    font-weight: 400;
    font-family: 'Noto Sans JP', sans-serif;
}


/* ─── CTA セクション ────────────────────────────────────────── */

/* コンテナ: 縦積みフレックス・中央揃え・グラデ背景 */
.topContBox {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 80px 40px !important;
    background: linear-gradient(160deg, #eff5fb 0%, #faf0f2 100%) !important;
    position: relative !important;
    overflow: hidden;
}

/* 透かし文字 CONTACT */
.topContBox::before {
    content: 'CONTACT';
    position: absolute;
    font-family: 'Inter', sans-serif;
    font-size: 17vw;
    font-weight: 800;
    color: rgba(6, 64, 145, 0.025);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    white-space: nowrap;
    pointer-events: none;
    z-index: 0;
    letter-spacing: -0.02em;
    line-height: 1;
    user-select: none;
}

/* 旧ドット画像装飾を非表示 */
.topContDott { display: none !important; }

/* テキスト: 絶対配置 → 通常フロー */
.topContTxt {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: auto !important;
    margin: 0 0 36px !important;
    font-size: 28px !important;
    line-height: 1.65 !important;
    text-align: center !important;
    z-index: 1;
    background: linear-gradient(100deg, #064091 30%, #ce1122 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent !important;
}
.topContTxt span {
    background: linear-gradient(100deg, #064091 30%, #ce1122 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    border-bottom: 1px solid rgba(6, 64, 145, 0.28) !important;
    line-height: 1.65 !important;
    display: inline;
}

/* 旧ボタン画像エリア: padding不要 */
.topContImg,
.topContImg02 {
    padding-top: 0 !important;
    margin: 0 !important;
    position: relative !important;
    z-index: 1;
}

/* 旧ボタン画像を非表示 */
.topContImg img,
.topContImg02 img {
    display: none !important;
}

/* <a> をCSSボタンとして表示 */
.topContImg a,
.topContImg02 a {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 18px 52px;
    background: linear-gradient(100deg, #064091 0%, #ce1122 140%);
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-family: 'Noto Sans JP', 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.1em;
    border-radius: 2px;
    text-decoration: none !important;
    transition: opacity 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
    box-shadow: 0 6px 24px rgba(6, 64, 145, 0.28);
}
.topContImg a::before,
.topContImg02 a::before {
    content: 'コールセンター外注のご相談・お見積り';
}
.topContImg a::after,
.topContImg02 a::after {
    content: '→';
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 400;
}
.topContImg a:hover,
.topContImg02 a:hover {
    opacity: 0.88;
    transform: translateY(-2px);
    box-shadow: 0 10px 32px rgba(6, 64, 145, 0.40);
    text-decoration: none !important;
}


/* ─── フッター: お問い合わせボタン ─────────────────────────── */
/* 旧画像ボタンを非表示 → CSSボタンに置き換え */
.footCon img { display: none !important; }
.footCon a {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 18px 52px;
    background: linear-gradient(100deg, #064091 0%, #ce1122 140%);
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-family: 'Noto Sans JP', 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.1em;
    border-radius: 2px;
    text-decoration: none !important;
    transition: opacity 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
    box-shadow: 0 6px 24px rgba(6, 64, 145, 0.28);
}
.footCon a::before { content: 'お問い合わせ・お見積り'; }
.footCon a::after  {
    content: '→';
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 400;
}
.footCon a:hover {
    opacity: 0.88;
    transform: translateY(-2px);
    box-shadow: 0 10px 32px rgba(6, 64, 145, 0.40);
    text-decoration: none !important;
}


/* ─── フッター上部 (dark) ───────────────────────────────────── */
.footBg {
    background: #545454 !important;
    padding: 72px 0 64px !important;
}
.footTxt01 {
    font-size: 11px !important;
    color: rgba(255, 255, 255, 0.50) !important;
    padding-top: 12px !important;
    margin-left: 0 !important;
    line-height: 2.0 !important;
    letter-spacing: 0.06em;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400 !important;
}


/* ─── フッター下部 (white) ──────────────────────────────────── */
.footer {
    padding: 36px 0 28px !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
}
.foot01 { font-weight: 400 !important; }
.foot01 p {
    font-size: 12px !important;
    color: #064091 !important;
    margin-bottom: 6px !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em;
    font-family: 'Inter', 'Noto Sans JP', sans-serif;
}
.foot01 ul { margin-bottom: 14px !important; }
.foot01 ul li { font-size: 12px !important; line-height: 1.8 !important; }
.foot01 ul li a {
    color: var(--clr-muted) !important;
    font-weight: 400 !important;
    font-family: 'Noto Sans JP', sans-serif;
    letter-spacing: 0.04em;
}
.foot01 ul li a:hover { color: #064091 !important; text-decoration: none !important; }
.footBnr01 { margin-right: 16px !important; }
.footTxt02 {
    font-size: 10px !important;
    color: var(--clr-muted) !important;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400 !important;
    letter-spacing: 0.04em;
}


/* ─── コピーライト ──────────────────────────────────────────── */
.copy {
    font-size: 11px !important;
    color: rgba(26, 26, 26, 0.40) !important;
    letter-spacing: 0.04em;
    padding: 24px 0 !important;
    font-weight: 400 !important;
    font-family: 'Inter', 'Noto Sans JP', sans-serif;
    text-align: center;
}


/* ═══════════════════════════════════════════════════════════════
   事例カードセクション (topJskBox01)
   ─ jirei1_opt.jpg / jirei2_opt.jpg をCSSスプライトで配置
   ═══════════════════════════════════════════════════════════════ */

/* 旧デコレーション画像・ドット区切りを非表示 */
img[src*="top_jisseki01"],
img[src*="top_jisseki02"] {
    display: none !important;
}
.topJskDotto { display: none !important; }

/* セクション見出しテキストをモダン化 */
.topJskTxt01 {
    font-size: 13px !important;
    color: rgba(26, 26, 26, 0.50) !important;
    font-weight: 400 !important;
    letter-spacing: 0.25em !important;
    text-transform: uppercase;
    font-family: 'Inter', sans-serif;
    margin-top: 0 !important;
    margin-bottom: 8px !important;
}
.topJskTxt02 {
    font-size: 14px !important;
    color: rgba(26, 26, 26, 0.55) !important;
    font-weight: 400 !important;
    font-family: 'Noto Sans JP', sans-serif;
    letter-spacing: 0.08em !important;
    margin-top: 0 !important;
}
.topJskTxt03 {
    font-size: 34px !important;
    color: #064091 !important;
    font-weight: 700 !important;
    font-family: 'Inter', 'Noto Sans JP', sans-serif !important;
    letter-spacing: 0.06em !important;
    margin-bottom: 48px !important;
    line-height: 1.4 !important;
}
.topJskTxt03 span { letter-spacing: 0.06em !important; }

/* カードグリッド */
.topJskBox01 {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px !important;
    overflow: visible !important;
    margin-bottom: 60px !important;
}
.topJskBox01::before,
.topJskBox01::after { display: none !important; }

.topJskBox01 li {
    float: none !important;
    width: auto !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    position: relative !important;
    background: rgba(255, 255, 255, 0.88);
    border-radius: var(--radius-card);
    border: 1px solid var(--clr-border);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
    overflow: hidden;
    transition: transform 0.30s ease, box-shadow 0.30s ease;
}
.topJskBox01 li:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
}

/* 旧アイコン img を非表示にしてdivを背景画像コンテナとして使用 */
.topJskBox01 li div img {
    display: none !important;
}
.topJskBox01 li div {
    height: 200px;
    background-repeat: no-repeat;
    background-size: 300% auto;
    background-color: #f0f4f8;
}

/* ── 上段 3枚: jirei1_opt.jpg (ビジネス / 事務 / 光回線) ────── */
/*
  background-size: 300% で画像を3倍幅に拡大。
  position 0%/50%/100% で左・中・右アイコンを切り出す。
*/
.topJskBox01 li:nth-child(1) div {
    background-image: url('../images/jirei1_opt.jpg');
    background-position: 0% center;
}
.topJskBox01 li:nth-child(2) div {
    background-image: url('../images/jirei1_opt.jpg');
    background-position: 50% center;
}
.topJskBox01 li:nth-child(3) div {
    background-image: url('../images/jirei1_opt.jpg');
    background-position: 100% center;
}

/* ── 下段 3枚: jirei2_opt.jpg (防犯 / エンタメ / 官公庁) ──── */
.topJskBox01 li:nth-child(4) div {
    background-image: url('../images/jirei2_opt.jpg');
    background-position: 0% center;
}
.topJskBox01 li:nth-child(5) div {
    background-image: url('../images/jirei2_opt.jpg');
    background-position: 50% center;
}
.topJskBox01 li:nth-child(6) div {
    background-image: url('../images/jirei2_opt.jpg');
    background-position: 100% center;
}

/* ─── FV::before: JSで描画するSVGネットワーク部分を除去 ──────
   ドットグリッドと格子線のみ残す（SVGはfv-animation.jsが担当）  */
.fvBg::before {
    background-image:
        radial-gradient(circle, rgba(10,61,119,0.05) 1.5px, transparent 1.5px),
        linear-gradient(rgba(10,61,119,0.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(10,61,119,0.025) 1px, transparent 1px) !important;
    background-size: 40px 40px, 40px 40px, 40px 40px !important;
    background-repeat: repeat, repeat, repeat !important;
    background-position: 0 0, 0 0, 0 0 !important;
}


/* カードテキスト: 絶対配置 → 通常フローに変更 */
.topJskTxt04,
.topJskTxt05,
.topJskTxt06,
.topJskTxt07,
.topJskTxt08,
.topJskTxt09 {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    padding: 20px 22px 24px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0.1em !important;
    color: #064091 !important;
    line-height: 1.75 !important;
}


/* ═══════════════════════════════════════════════════════════════
   下層ページ共通スタイル
   ═══════════════════════════════════════════════════════════════ */

/* ─── ページタイトルバナー ─────────────────────────────────── */
.underFvBg {
    background-image: none !important;
    background: linear-gradient(160deg, #edf3f9 0%, #f8eff2 100%) !important;
    height: auto !important;
    margin-bottom: 0 !important;
    padding: 56px 0 36px !important;
    position: relative;
    overflow: hidden;
}
.underFvBg .cont01 {
    background-image: none !important;
}
.underFvBg::before {
    content: '';
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 4px;
    background: linear-gradient(to bottom, #064091, #ce1122);
}
.underFvTit {
    font-family: 'Inter', 'Noto Sans JP', sans-serif !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    color: #064091 !important;
    padding: 0 0 0 32px !important;
    text-align: left !important;
    line-height: 1.4 !important;
}
.underFvTit02,
.underFvTit03 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
.pankuzu {
    font-size: 11px !important;
    color: rgba(26, 26, 26, 0.50) !important;
    padding-left: 32px !important;
    margin-top: 10px !important;
    transform: none !important;
    margin-left: 0 !important;
    width: auto !important;
}
.pankuzu a { color: rgba(26, 26, 26, 0.50) !important; }
.pankuzu a:hover { color: #064091 !important; text-decoration: none !important; }


/* ─── 下層 セクション見出し ─────────────────────────────────── */
.underTit01 {
    font-family: 'Inter', 'Noto Sans JP', sans-serif !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    background: linear-gradient(100deg, #064091 30%, #ce1122 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent !important;
    text-align: center !important;
    letter-spacing: 0.06em !important;
    position: relative;
    z-index: 2;
}


/* ─── bgBlue をサブページで使う場合: padding を縮小 ─────────── */
.bgBlue:has(.underTit01) {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
}


/* ─── 代行分野カードグリッド (caseTopBox02) ─────────────────── */
.caseTopBox02 {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
    width: auto !important;
    max-width: 1060px;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 40px !important;
    overflow: visible !important;
}
.caseTopBox02::before,
.caseTopBox02::after { display: none !important; }
.caseTopBox02 li {
    float: none !important;
    width: auto !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    border: 1px solid var(--clr-border) !important;
    border-radius: var(--radius-card);
    overflow: hidden;
    background: var(--clr-bg-card);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    position: relative !important;
}
.caseTopBox02 li:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08) !important;
    border-color: rgba(6, 64, 145, 0.20) !important;
}
.caseTopBox02 li div { overflow: hidden; }
.caseTopBox02 li div img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.4s ease;
}
.caseTopBox02 li:hover div img { transform: scale(1.03); }
.caseTopBox02 li p {
    position: absolute !important;
    top: 25% !important;
    left: 5% !important;
    right: 48% !important;
    bottom: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #064091 !important;
    line-height: 1.7 !important;
    text-align: left !important;
    z-index: 1 !important;
}
.caseTopBox02 li p a {
    color: #064091 !important;
    display: inline !important;
}
.caseTopBox02 li p a:hover { opacity: 0.75; }


/* ─── 区切り画像バナー (caseTopBg): 非表示 ─────────────────── */
.caseTopBg { display: none !important; }


/* ══════════════════════════════════════════════════════════════
   case ページ群 デザイン調整
   ══════════════════════════════════════════════════════════════ */

/* ─── case/ トップ: 特徴カードグリッド (caseTopBox01) ─────────── */
.caseTopBox01 {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
    width: auto !important;
    max-width: 1100px !important;
    margin: 40px auto 60px !important;
}
.caseTopBox01::before,
.caseTopBox01::after { display: none !important; }
.caseTopBox01 li {
    float: none !important;
    width: auto !important;
    margin-right: 0 !important;
    position: relative !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 1px solid rgba(6,64,145,0.12) !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.06) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    display: flex !important;
    flex-direction: column !important;
}
.caseTopBox01 li:last-child { margin-right: 0 !important; }
.caseTopBox01 li:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 14px 32px rgba(0,0,0,0.10) !important;
}

/* 画像非表示・div を小さなCheck番号バッジに */
.caseTopBox01 li div img { display: none !important; }
.caseTopBox01 li div {
    overflow: visible !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: baseline !important;
    justify-content: center !important;
    gap: 3px !important;
    padding: 28px 16px 0 !important;
    background: none !important;
    border-bottom: none !important;
}
/* "Check" 小ラベル */
.caseTopBox01 li div::before {
    content: 'Check' !important;
    display: inline !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    color: rgba(6,64,145,0.35) !important;
    -webkit-text-fill-color: rgba(6,64,145,0.35) !important;
    letter-spacing: 0.18em !important;
}
/* 番号（小） */
.caseTopBox01 li div::after {
    display: inline !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: rgba(6,64,145,0.35) !important;
    -webkit-text-fill-color: rgba(6,64,145,0.35) !important;
    line-height: 1 !important;
}
.caseTopBox01 li:nth-child(1) div::after { content: '1' !important; }
.caseTopBox01 li:nth-child(2) div::after { content: '2' !important; }
.caseTopBox01 li:nth-child(3) div::after { content: '3' !important; }
.caseTopBox01 li:nth-child(4) div::after { content: '4' !important; }

/* ラベルテキスト（主役） */
.caseTopBox01 li p {
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    padding: 16px 16px 32px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    text-align: center !important;
    color: var(--clr-navy) !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
    line-height: 1.75 !important;
    background: none !important;
    background-image: none !important;
}

/* ─── case 下層: 見出し・アクセントカラー統一 ─────────────────── */
.c1Tit01 span,
.c2Tit01 span { color: var(--clr-navy) !important; -webkit-text-fill-color: var(--clr-navy) !important; }
.c2ImgRemoved { display: none !important; }
.c3Txt03 span { color: var(--clr-navy) !important; -webkit-text-fill-color: var(--clr-navy) !important; }
.c3Tit01 { color: var(--clr-navy) !important; -webkit-text-fill-color: var(--clr-navy) !important; }
.c2Txt05 { color: #ffc93c !important; -webkit-text-fill-color: #ffc93c !important; }


/* ══════════════════════════════════════════════════════════════
   case2 テキスト＋図表ベース リデザイン
   ══════════════════════════════════════════════════════════════ */

/* ─── c2Bg01: ヒーローヘッダー ─────────────────────────────── */
.c2Bg01 {
    background-image: none !important;
    background: linear-gradient(160deg, #edf3f9 0%, #e2eef8 100%) !important;
    width: auto !important;
    height: auto !important;
    padding: 64px 20px !important;
    text-align: center !important;
    position: static !important;
}
.c2Tit01 {
    position: static !important;
    top: auto !important; left: auto !important;
    font-size: 28px !important;
    color: var(--clr-navy) !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
    line-height: 1.4 !important;
    margin-bottom: 24px !important;
    background: none !important;
}
.c2Txt01, .c2Txt02 {
    position: static !important;
    top: auto !important; left: auto !important; width: auto !important;
    font-size: 15px !important;
    line-height: 1.8 !important;
    color: var(--clr-text) !important;
    -webkit-text-fill-color: var(--clr-text) !important;
    display: block !important;
    background: none !important;
}
.c2Txt01::before {
    content: '取引先規模';
    display: block !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 0.16em !important;
    color: rgba(6,64,145,0.50) !important;
    -webkit-text-fill-color: rgba(6,64,145,0.50) !important;
    font-weight: 600 !important;
    margin-bottom: 8px !important;
}
.c2Txt01::after {
    content: '' !important;
    display: block !important;
    width: 220px !important;
    margin: 32px auto !important;
    border-top: 1px solid rgba(6,64,145,0.15) !important;
}
.c2Txt02::before {
    content: '主な業務内容';
    display: block !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 0.16em !important;
    color: rgba(6,64,145,0.50) !important;
    -webkit-text-fill-color: rgba(6,64,145,0.50) !important;
    font-weight: 600 !important;
    margin-bottom: 8px !important;
}

/* ─── 比較セクション (c2Bg02a / c2Bg02b) ───────────────────── */
.c2CompareWrap {
    display: flex !important;
    gap: 20px !important;
    align-items: stretch !important;
    padding: 48px 0 !important;
    list-style: none !important;
}
.c2Bg02a {
    background-image: none !important;
    background: #f0f2f5 !important;
    width: auto !important;
    height: auto !important;
    float: none !important;
    flex: 1 !important;
    border-radius: 10px !important;
    padding: 0 0 32px !important;
    overflow: hidden !important;
}
.c2Txt03a {
    background: #6b7280 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    padding: 20px !important;
    text-align: center !important;
    margin-bottom: 24px !important;
}
.c2Txt03b, .c2Txt03c, .c2Txt03d {
    position: relative !important;
    padding: 10px 20px 10px 44px !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: #4b5563 !important;
    -webkit-text-fill-color: #4b5563 !important;
}
.c2Txt03b::before, .c2Txt03c::before, .c2Txt03d::before {
    content: '✗' !important;
    position: absolute !important;
    left: 20px !important;
    color: #9ca3af !important;
    -webkit-text-fill-color: #9ca3af !important;
    font-weight: 700 !important;
}
.c2Bg02b {
    background-image: none !important;
    background: var(--clr-navy) !important;
    width: auto !important;
    height: auto !important;
    float: none !important;
    flex: 1 !important;
    border-radius: 10px !important;
    padding: 0 0 32px !important;
    overflow: hidden !important;
}
.c2Txt04a {
    background: rgba(0,0,0,0.20) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    padding: 20px !important;
    text-align: center !important;
    margin-bottom: 24px !important;
}
.c2Txt04b, .c2Txt04c, .c2Txt04d {
    position: relative !important;
    padding: 10px 20px 10px 44px !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: rgba(255,255,255,0.90) !important;
    -webkit-text-fill-color: rgba(255,255,255,0.90) !important;
}
.c2Txt04b::before, .c2Txt04c::before, .c2Txt04d::before {
    content: '✓' !important;
    position: absolute !important;
    left: 20px !important;
    color: #ffc93c !important;
    -webkit-text-fill-color: #ffc93c !important;
    font-weight: 700 !important;
}

/* ─── img03: 非表示 / アウトソーシング移行セクション ────────── */
.c2Img03Wrap { display: none !important; }
.c2OutsourceSection {
    background: linear-gradient(160deg, #edf3f9 0%, #e2eef8 100%) !important;
    padding: 56px 20px !important;
    text-align: center !important;
}
.c2OsLabel {
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 0.18em !important;
    color: rgba(6,64,145,0.50) !important;
    -webkit-text-fill-color: rgba(6,64,145,0.50) !important;
    display: block !important;
    margin-bottom: 12px !important;
}
.c2OsMain {
    font-size: 24px !important;
    font-weight: 700 !important;
    color: var(--clr-navy) !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
    margin-bottom: 16px !important;
    line-height: 1.5 !important;
}
.c2OsSub {
    font-size: 15px !important;
    color: var(--clr-text) !important;
    -webkit-text-fill-color: var(--clr-text) !important;
    line-height: 1.8 !important;
    max-width: 540px !important;
    margin: 0 auto !important;
}

/* ─── c2Bg03: ベネフィット + CTA ───────────────────────────── */
.c2Img04Wrap, .c2Img05Wrap { display: none !important; }
.c2Img06Wrap img { display: none !important; }
.c2Bg03 {
    background-image: none !important;
    background: var(--clr-navy) !important;
    padding: 64px 20px !important;
    text-align: center !important;
}
.c2BenefitCards {
    display: flex !important;
    justify-content: center !important;
    gap: 24px !important;
    max-width: 820px !important;
    margin: 0 auto 40px !important;
    text-align: left !important;
}
.c2BenefitCard {
    flex: 1 !important;
    background: rgba(255,255,255,0.08) !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
    border-radius: 10px !important;
    padding: 36px 28px !important;
}
.c2BenLabel {
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 0.18em !important;
    color: rgba(255,255,255,0.50) !important;
    -webkit-text-fill-color: rgba(255,255,255,0.50) !important;
    display: block !important;
    margin-bottom: 10px !important;
}
.c2BenMain {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #ffc93c !important;
    -webkit-text-fill-color: #ffc93c !important;
    line-height: 1.4 !important;
    margin-bottom: 12px !important;
}
.c2BenSub {
    font-size: 14px !important;
    color: rgba(255,255,255,0.80) !important;
    -webkit-text-fill-color: rgba(255,255,255,0.80) !important;
    line-height: 1.7 !important;
}
.c2Img06Wrap a {
    display: inline-block !important;
    padding: 14px 48px !important;
    background: #fff !important;
    color: var(--clr-navy) !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    border-radius: 3px !important;
    letter-spacing: 0.10em !important;
    text-decoration: none !important;
    transition: opacity 0.25s !important;
}
.c2Img06Wrap a::before { content: 'お問い合わせ・ご相談はこちら'; }
.c2Img06Wrap a::after { content: ' →'; font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 400; }
.c2Img06Wrap a:hover { opacity: 0.80 !important; }


/* ══════════════════════════════════════════════════════════════
   case3 テキスト＋図表ベース リデザイン
   ══════════════════════════════════════════════════════════════ */

/* ─── c3Bg01: ヒーローヘッダー ─────────────────────────────── */
.c3Bg01 {
    background-image: none !important;
    background: linear-gradient(160deg, #edf3f9 0%, #e2eef8 100%) !important;
    width: auto !important;
    height: auto !important;
    padding: 64px 20px !important;
    text-align: center !important;
    position: static !important;
}
.c3Txt01, .c3Txt02 {
    position: static !important;
    top: auto !important; left: auto !important; width: auto !important;
    font-size: 15px !important;
    line-height: 1.8 !important;
    color: var(--clr-text) !important;
    -webkit-text-fill-color: var(--clr-text) !important;
    display: block !important;
    background: none !important;
}
.c3Txt01::before {
    content: '取引先規模';
    display: block !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 0.16em !important;
    color: rgba(6,64,145,0.50) !important;
    -webkit-text-fill-color: rgba(6,64,145,0.50) !important;
    font-weight: 600 !important;
    margin-bottom: 8px !important;
}
.c3Txt01::after {
    content: '' !important;
    display: block !important;
    width: 220px !important;
    margin: 32px auto !important;
    border-top: 1px solid rgba(6,64,145,0.15) !important;
}
.c3Txt02::before {
    content: '主な業務内容';
    display: block !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 0.16em !important;
    color: rgba(6,64,145,0.50) !important;
    -webkit-text-fill-color: rgba(6,64,145,0.50) !important;
    font-weight: 600 !important;
    margin-bottom: 8px !important;
}

/* ─── img01: 非表示 ─────────────────────────────────────────── */
.c3Img01Wrap { display: none !important; }

/* ─── c3Bg02: 強みテキストセクション ───────────────────────── */
.c3Bg02 {
    background-image: none !important;
    background: linear-gradient(160deg, #edf3f9 0%, #e2eef8 100%) !important;
    height: auto !important;
    padding: 64px 0 !important;
}
.c3Txt03 {
    position: static !important;
    padding: 0 !important;
    width: auto !important;
    max-width: 760px !important;
    margin: 0 auto !important;
    font-size: 16px !important;
    line-height: 2.0 !important;
    color: var(--clr-text) !important;
    -webkit-text-fill-color: var(--clr-text) !important;
    text-align: left !important;
    background: none !important;
}

/* ─── img02: 表示維持・見た目を整える ──────────────────────── */
.c3Img02Wrap {
    padding: 48px 0 !important;
    text-align: center !important;
}
.c3Img02Wrap img {
    width: 680px !important;
    max-width: 100% !important;
    height: auto !important;
    border-radius: 6px !important;
    display: block !important;
    margin: 0 auto !important;
}

/* ─── c3Bg03: テストマーケティングセクション ───────────────── */
.c3Bg03 {
    background-image: none !important;
    background: #fff !important;
    height: auto !important;
    width: auto !important;
    max-width: 860px !important;
    padding: 56px 48px !important;
    border-radius: 10px !important;
    border: 1px solid var(--clr-border) !important;
    margin: 20px auto !important;
    box-sizing: border-box !important;
}
.c3Tit01 {
    position: static !important;
    padding: 0 !important;
    font-size: 24px !important;
    line-height: 1.4 !important;
    margin-bottom: 28px !important;
}
.c3Txt04 {
    position: static !important;
    padding: 0 !important;
    width: auto !important;
    font-size: 15px !important;
    line-height: 2.0 !important;
    color: var(--clr-text) !important;
    -webkit-text-fill-color: var(--clr-text) !important;
    background: none !important;
}
.c3Txt04 span {
    color: var(--clr-navy) !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
    font-weight: 600 !important;
}

/* ─── 最終セクション: img03非表示 / img04→CTAボタン ────────── */
.c3Img03Wrap { display: none !important; }
.c3LastSection {
    text-align: center !important;
    padding: 48px 20px !important;
    width: auto !important;
    margin-bottom: 0 !important;
}
.c3Img04Wrap img { display: none !important; }
.c3Img04Wrap a {
    display: inline-block !important;
    padding: 14px 48px !important;
    background: var(--clr-navy) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    border-radius: 3px !important;
    letter-spacing: 0.10em !important;
    text-decoration: none !important;
    transition: opacity 0.25s !important;
}
.c3Img04Wrap a::before { content: 'お問い合わせ・ご相談はこちら'; }
.c3Img04Wrap a::after { content: ' →'; font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 400; }
.c3Img04Wrap a:hover { opacity: 0.80 !important; }


/* ══════════════════════════════════════════════════════════════
   case4 テキスト＋図表ベース リデザイン
   ══════════════════════════════════════════════════════════════ */

/* ─── c4Bg01: ヒーローヘッダー ─────────────────────────────── */
.c4Bg01 {
    background-image: none !important;
    background: linear-gradient(160deg, #edf3f9 0%, #e2eef8 100%) !important;
    width: auto !important;
    height: auto !important;
    padding: 64px 20px !important;
    text-align: center !important;
    position: static !important;
}
.c4Txt01, .c4Txt02 {
    position: static !important;
    top: auto !important; left: auto !important; width: auto !important;
    font-size: 15px !important;
    line-height: 1.8 !important;
    color: var(--clr-text) !important;
    -webkit-text-fill-color: var(--clr-text) !important;
    display: block !important;
    background: none !important;
}
.c4Txt01::before {
    content: '取引先規模';
    display: block !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 0.16em !important;
    color: rgba(6,64,145,0.50) !important;
    -webkit-text-fill-color: rgba(6,64,145,0.50) !important;
    font-weight: 600 !important;
    margin-bottom: 8px !important;
}
.c4Txt01::after {
    content: '' !important;
    display: block !important;
    width: 220px !important;
    margin: 32px auto !important;
    border-top: 1px solid rgba(6,64,145,0.15) !important;
}
.c4Txt02::before {
    content: '主な業務内容';
    display: block !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 0.16em !important;
    color: rgba(6,64,145,0.50) !important;
    -webkit-text-fill-color: rgba(6,64,145,0.50) !important;
    font-weight: 600 !important;
    margin-bottom: 8px !important;
}

/* ─── ② 画像3枚: 非表示 ─────────────────────────────────────── */
.c4Img123Wrap { display: none !important; }

/* ─── ③ 課題セクション (c4Bg02a / c4Bg02b) ─────────────────── */
.c4ChallengeWrap {
    display: flex !important;
    gap: 20px !important;
    padding: 48px 0 !important;
    max-width: 780px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.c4Bg02a, .c4Bg02b {
    background-image: none !important;
    background: #f0f2f5 !important;
    height: auto !important;
    flex: 1 !important;
    border-radius: 10px !important;
    padding: 0 0 32px !important;
    overflow: hidden !important;
}
.c4Bg02a::before {
    content: '一般的なマルチ対応の問題点';
    display: block !important;
    background: #6b7280 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    padding: 16px 20px !important;
    margin-bottom: 24px !important;
    text-align: center !important;
}
.c4Bg02b::before {
    content: '内製化の問題点';
    display: block !important;
    background: #6b7280 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    padding: 16px 20px !important;
    margin-bottom: 24px !important;
    text-align: center !important;
}
.c4Txt03a, .c4Txt03b {
    position: static !important;
    padding: 0 20px 16px !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    color: #4b5563 !important;
    -webkit-text-fill-color: #4b5563 !important;
    border-bottom: 1px solid rgba(0,0,0,0.08) !important;
    margin-bottom: 16px !important;
}
.c4Txt04a, .c4Txt04b {
    position: static !important;
    padding: 0 20px !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    color: #4b5563 !important;
    -webkit-text-fill-color: #4b5563 !important;
}
.c4Txt03a span, .c4Txt04a span,
.c4Txt03b span, .c4Txt04b span {
    color: var(--clr-navy) !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
    font-weight: 700 !important;
}

/* ─── ④ img04: 非表示 / 専任特化セクション ─────────────────── */
.c4Img04Wrap { display: none !important; }
.c4SpecialSection {
    background: linear-gradient(160deg, #edf3f9 0%, #e2eef8 100%) !important;
    padding: 56px 20px !important;
    text-align: center !important;
}
.c4SpLabel {
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 0.18em !important;
    color: rgba(6,64,145,0.50) !important;
    -webkit-text-fill-color: rgba(6,64,145,0.50) !important;
    display: block !important;
    margin-bottom: 12px !important;
}
.c4SpMain {
    font-size: 24px !important;
    font-weight: 700 !important;
    color: var(--clr-navy) !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
    margin-bottom: 16px !important;
    line-height: 1.5 !important;
}
.c4SpSub {
    font-size: 15px !important;
    color: var(--clr-text) !important;
    -webkit-text-fill-color: var(--clr-text) !important;
    line-height: 1.8 !important;
    max-width: 540px !important;
    margin: 0 auto !important;
}

/* ─── ⑤ c4Bg03a/b: FAQカード ───────────────────────────────── */
.c4FeatureWrap {
    display: flex !important;
    gap: 20px !important;
    list-style: none !important;
    padding: 48px 0 !important;
}
.c4Bg03a, .c4Bg03b {
    background-image: none !important;
    background: var(--clr-navy) !important;
    width: auto !important;
    height: auto !important;
    float: none !important;
    flex: 1 !important;
    border-radius: 10px !important;
    padding: 40px 32px !important;
    text-align: center !important;
}
.c4Bg03a p, .c4Bg03b p {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.6 !important;
    padding: 0 !important;
    text-align: center !important;
}

/* ─── 最終セクション ─────────────────────────────────────────── */
.c4Img05Wrap { display: none !important; }
.c4LastSection {
    text-align: center !important;
    padding: 48px 20px !important;
    width: auto !important;
    margin-bottom: 0 !important;
}
.c4CtaNote {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--clr-navy) !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
    margin-bottom: 24px !important;
    display: block !important;
}
.c4Img06Wrap img { display: none !important; }
.c4Img06Wrap a {
    display: inline-block !important;
    padding: 14px 48px !important;
    background: var(--clr-navy) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    border-radius: 3px !important;
    letter-spacing: 0.10em !important;
    text-decoration: none !important;
    transition: opacity 0.25s !important;
}
.c4Img06Wrap a::before { content: 'お問い合わせ・ご相談はこちら'; }
.c4Img06Wrap a::after { content: ' →'; font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 400; }
.c4Img06Wrap a:hover { opacity: 0.80 !important; }


/* ─── case1: 専任チームリンクボタン (c1btn) — 非表示 ──────── */
.c1btn { display: none !important; }


/* ══════════════════════════════════════════════════════════════
   case1 テキスト＋図表ベース リデザイン
   ══════════════════════════════════════════════════════════════ */

/* ─── c1Bg01: ヒーローヘッダー ────────────────────────────────── */
.c1Bg01 {
    background-image: none !important;
    background: linear-gradient(160deg, #edf3f9 0%, #e2eef8 100%) !important;
    width: auto !important;
    height: auto !important;
    padding: 64px 20px !important;
    text-align: center !important;
    position: static !important;
}
.c1Tit01 {
    position: static !important;
    top: auto !important; left: auto !important;
    font-size: 28px !important;
    color: var(--clr-navy) !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
    line-height: 1.4 !important;
    margin-bottom: 24px !important;
    background: none !important; background-image: none !important;
}
.c1Txt01, .c1Txt02 {
    position: static !important;
    top: auto !important; left: auto !important; width: auto !important;
    font-size: 15px !important;
    line-height: 1.8 !important;
    color: var(--clr-text) !important;
    -webkit-text-fill-color: var(--clr-text) !important;
    display: block !important;
    background: none !important; background-image: none !important;
}
.c1Txt01 {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
.c1Txt01::after {
    content: '' !important;
    display: block !important;
    width: 220px !important;
    margin: 32px auto !important;
    border-top: 1px solid rgba(6,64,145,0.15) !important;
}
.c1Txt01::before {
    content: '実績・取引先規模';
    display: block !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 0.16em !important;
    color: rgba(6,64,145,0.50) !important;
    -webkit-text-fill-color: rgba(6,64,145,0.50) !important;
    font-weight: 600 !important;
    margin-bottom: 8px !important;
}
.c1Txt02 {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
.c1Txt02::before {
    content: '主な業務内容';
    display: block !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    letter-spacing: 0.16em !important;
    color: rgba(6,64,145,0.50) !important;
    -webkit-text-fill-color: rgba(6,64,145,0.50) !important;
    font-weight: 600 !important;
    margin-bottom: 8px !important;
}

/* ─── 旧コンテンツ画像の非表示 ─────────────────────────────────── */
.c1Img01Wrap img, .c1Img02Wrap img, .c1Img04Wrap img { display: none !important; }

/* ─── c1Bg02: テキストカード ────────────────────────────────────── */
.c1Bg02 {
    background-image: none !important;
    background: #fff !important;
    border: 1px solid var(--clr-border) !important;
    border-radius: 8px !important;
    padding: 28px 36px !important;
    height: auto !important;
    position: static !important;
    margin: 24px auto !important;
    max-width: 780px !important;
}
.c1Txt03 {
    position: static !important;
    top: auto !important; right: auto !important; width: auto !important;
    font-size: 15px !important;
    line-height: 2.0 !important;
    color: var(--clr-text) !important;
    -webkit-text-fill-color: var(--clr-text) !important;
    letter-spacing: normal !important;
    margin-bottom: 24px !important;
    background: none !important; background-image: none !important;
}

/* ─── 共通ラベル・見出し ─────────────────────────────────────────── */
.c1SecLabel {
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    letter-spacing: 0.18em !important;
    color: rgba(6,64,145,0.50) !important;
    -webkit-text-fill-color: rgba(6,64,145,0.50) !important;
    display: block !important;
    margin-bottom: 8px !important;
    background: none !important; background-image: none !important;
}
.c1SecTit {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: var(--clr-navy) !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
    margin-bottom: 36px !important;
    background: none !important; background-image: none !important;
}

/* ─── c1TeamBox: チーム構成図 ──────────────────────────────────── */
.c1TeamBox {
    background: #fff !important;
    border: 1px solid var(--clr-border) !important;
    border-radius: 10px !important;
    padding: 32px 32px !important;
    margin: 32px auto 24px !important;
    max-width: 780px !important;
    text-align: center !important;
}
.c1RatioWrap {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 24px !important;
    margin-bottom: 40px !important;
}
.c1RatioBlock {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    background: var(--clr-bg-card) !important;
    border: 1px solid rgba(6,64,145,0.12) !important;
    border-radius: 10px !important;
    padding: 28px 40px !important;
}
.c1RatioBlock.c1RatioSv {
    border-color: rgba(6,64,145,0.28) !important;
    background: rgba(6,64,145,0.06) !important;
}
.c1RatioNum {
    font-family: 'Inter', sans-serif !important;
    font-size: 56px !important;
    font-weight: 700 !important;
    color: var(--clr-navy) !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
    line-height: 1 !important;
    margin-bottom: 8px !important;
    display: block !important;
    background: none !important; background-image: none !important;
}
.c1RatioRole {
    font-size: 14px !important;
    color: var(--clr-text) !important;
    -webkit-text-fill-color: var(--clr-text) !important;
    font-weight: 600 !important;
}
.c1RatioColon {
    font-size: 14px !important;
    color: var(--clr-muted) !important;
    -webkit-text-fill-color: var(--clr-muted) !important;
}
.c1FeatList {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 auto !important;
    max-width: 560px !important;
    text-align: left !important;
}
.c1FeatList li {
    padding: 10px 0 10px 24px !important;
    position: relative !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    color: var(--clr-text) !important;
    border-bottom: 1px solid var(--clr-border) !important;
}
.c1FeatList li:last-child { border-bottom: none !important; }
.c1FeatList li::before {
    content: '✓' !important;
    position: absolute !important;
    left: 0 !important;
    color: var(--clr-navy) !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
    font-weight: 700 !important;
}

/* ─── c1EduBox: スタッフ教育フロー ─────────────────────────────── */
.c1EduBox {
    background: linear-gradient(160deg, #edf3f9 0%, #e2eef8 100%) !important;
    border-radius: 10px !important;
    padding: 48px 40px !important;
    margin: 32px 0 48px !important;
    text-align: center !important;
}
.c1EduFlow {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 auto !important;
    max-width: 640px !important;
    text-align: left !important;
}
.c1EduFlow li {
    display: flex !important;
    align-items: flex-start !important;
    gap: 20px !important;
    padding: 20px 0 !important;
    border-bottom: 1px solid rgba(6,64,145,0.10) !important;
}
.c1EduFlow li:last-child { border-bottom: none !important; }
.c1EduStep {
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    background: var(--clr-navy) !important;
    border-radius: 50% !important;
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.c1EduDetail { flex: 1 !important; }
.c1EduDetail strong {
    display: block !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--clr-navy) !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
    margin-bottom: 4px !important;
}
.c1EduDetail span {
    font-size: 14px !important;
    color: var(--clr-text) !important;
    -webkit-text-fill-color: var(--clr-text) !important;
    line-height: 1.7 !important;
}

/* ─── c1ResultSection: 実績カード ──────────────────────────────── */
.c1ResultSection {
    background: var(--clr-navy) !important;
    padding: 64px 20px !important;
    margin: 48px 0 !important;
    text-align: center !important;
}
.c1ResultSection .c1SecLabel {
    color: rgba(255,255,255,0.55) !important;
    -webkit-text-fill-color: rgba(255,255,255,0.55) !important;
}
.c1ResultSection .c1SecTit {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    margin-bottom: 48px !important;
}
.c1ResultCards {
    display: flex !important;
    justify-content: center !important;
    gap: 24px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 auto !important;
    max-width: 900px !important;
}
.c1ResultCards li {
    flex: 1 !important;
    background: rgba(255,255,255,0.08) !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
    border-radius: 10px !important;
    padding: 36px 20px !important;
    text-align: center !important;
}
.c1ResultNum {
    display: block !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 44px !important;
    font-weight: 700 !important;
    color: #ffc93c !important;
    -webkit-text-fill-color: #ffc93c !important;
    line-height: 1.1 !important;
    margin-bottom: 12px !important;
    background: none !important; background-image: none !important;
}
.c1ResultNum small {
    font-size: 20px !important;
    -webkit-text-fill-color: #ffc93c !important;
}
.c1ResultDesc {
    font-size: 13px !important;
    color: rgba(255,255,255,0.80) !important;
    -webkit-text-fill-color: rgba(255,255,255,0.80) !important;
    line-height: 1.6 !important;
    background: none !important; background-image: none !important;
}

/* ─── c1QualityBox: 品質セクション ─────────────────────────────── */
.c1LastSection { text-align: center !important; padding: 48px 20px 0 !important; }
.c1QualityBox {
    background: linear-gradient(160deg, #edf3f9 0%, #e2eef8 100%) !important;
    border-radius: 10px !important;
    padding: 56px 40px !important;
    margin: 0 auto 32px !important;
    max-width: 760px !important;
}
.c1QualLabel {
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    letter-spacing: 0.18em !important;
    color: rgba(6,64,145,0.50) !important;
    -webkit-text-fill-color: rgba(6,64,145,0.50) !important;
    display: block !important;
    margin-bottom: 12px !important;
}
.c1QualMain {
    font-size: 24px !important;
    font-weight: 700 !important;
    color: var(--clr-navy) !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
    line-height: 1.5 !important;
    margin-bottom: 16px !important;
    background: none !important; background-image: none !important;
}
.c1QualSub {
    font-size: 15px !important;
    color: var(--clr-text) !important;
    -webkit-text-fill-color: var(--clr-text) !important;
    line-height: 1.8 !important;
    max-width: 560px !important;
    margin: 0 auto !important;
    background: none !important; background-image: none !important;
}
.c1Txt04 {
    position: static !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--clr-navy) !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
    text-align: center !important;
    margin: 24px 0 20px !important;
    background: none !important; background-image: none !important;
    display: block !important;
}
.c1Img05Wrap img { display: none !important; }
.c1Img05Wrap a {
    display: inline-block !important;
    padding: 14px 48px !important;
    background: var(--clr-navy) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    border-radius: 3px !important;
    letter-spacing: 0.10em !important;
    text-decoration: none !important;
    transition: opacity 0.25s !important;
    margin-bottom: 48px !important;
}
.c1Img05Wrap a::before { content: 'お問い合わせ・ご相談はこちら'; }
.c1Img05Wrap a::after { content: ' →'; font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 400; }
.c1Img05Wrap a:hover { opacity: 0.80 !important; }


/* ─── 戻るリンク ─────────────────────────────────────────────── */
.underBackTxt {
    background-image: none !important;
    font-size: 12px !important;
    color: rgba(26, 26, 26, 0.50) !important;
    padding: 16px 0 !important;
    text-align: right !important;
    background-position: unset !important;
}
.underBackTxt a {
    color: rgba(26, 26, 26, 0.50) !important;
    font-weight: 400 !important;
}
.underBackTxt a:hover {
    color: #064091 !important;
    text-decoration: none !important;
}


/* ═══════════════════════════════════════════════════════════════
   下層ページ セクション見出し (.underTit02)
   ═══════════════════════════════════════════════════════════════ */
.underTit02 {
    font-family: 'Inter', 'Noto Sans JP', sans-serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: var(--clr-navy) !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
    padding: 0 0 16px 0 !important;
    margin-bottom: 36px !important;
    border: none !important;
    border-bottom: 2px solid var(--clr-border) !important;
    position: relative !important;
    letter-spacing: 0.05em !important;
    background: none !important;
    background-image: none !important;
}
.underTit02::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 60px;
    height: 2px;
    background: linear-gradient(90deg, #064091, #ce1122);
}


/* ═══════════════════════════════════════════════════════════════
   下層フロー見出し (.underFlowTit01)
   ═══════════════════════════════════════════════════════════════ */
.underFlowTit01 {
    font-family: 'Inter', 'Noto Sans JP', sans-serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-align: center !important;
    letter-spacing: 0.06em !important;
    padding: 48px 0 32px !important;
    margin: 0 !important;
    background: none !important;
    background-image: none !important;
}


/* ═══════════════════════════════════════════════════════════════
   会社情報テーブル (.comBox01)
   ═══════════════════════════════════════════════════════════════ */
.comBox01 {
    width: 100% !important;
    border-collapse: collapse !important;
    border: none !important;
    background: none !important;
    background-image: none !important;
    margin-bottom: 60px !important;
}
.comBox01 tr {
    border-bottom: 1px solid var(--clr-border) !important;
}
.comBox01 th {
    width: 180px !important;
    padding: 18px 20px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--clr-navy) !important;
    text-align: left !important;
    vertical-align: top !important;
    background: rgba(6, 64, 145, 0.04) !important;
    border: none !important;
    border-right: 3px solid rgba(6, 64, 145, 0.10) !important;
    white-space: nowrap;
}
.comBox01 td {
    padding: 18px 24px !important;
    font-size: 14px !important;
    color: var(--clr-text) !important;
    line-height: 1.9 !important;
    vertical-align: top !important;
    border: none !important;
    background: none !important;
}


/* ═══════════════════════════════════════════════════════════════
   沿革テーブル (.comBox03)
   ═══════════════════════════════════════════════════════════════ */
.comBox03 {
    width: 100% !important;
    border-collapse: collapse !important;
    border: none !important;
    background: none !important;
    background-image: none !important;
    margin-bottom: 60px !important;
}
.comBox03 tr {
    border-bottom: 1px solid var(--clr-border) !important;
}
.comBox03 th {
    width: 140px !important;
    padding: 14px 20px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--clr-navy) !important;
    text-align: left !important;
    vertical-align: top !important;
    background: rgba(6, 64, 145, 0.04) !important;
    border: none !important;
    border-right: 3px solid rgba(6, 64, 145, 0.10) !important;
    white-space: nowrap;
    letter-spacing: 0.03em;
}
.comBox03 td {
    padding: 14px 24px !important;
    font-size: 14px !important;
    color: var(--clr-text) !important;
    line-height: 1.8 !important;
    vertical-align: top !important;
    border: none !important;
    background: none !important;
}


/* ═══════════════════════════════════════════════════════════════
   拠点カードグリッド (.comBox02)
   ═══════════════════════════════════════════════════════════════ */
.comBox02 {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 24px !important;
    list-style: none !important;
    padding: 0 !important;
    width: auto !important;
}
.comBox02::before,
.comBox02::after { display: none !important; }
.comBox02 li {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    border: 1px solid var(--clr-border) !important;
    border-radius: var(--radius-card) !important;
    overflow: hidden !important;
    background: var(--clr-bg-card) !important;
    padding-bottom: 20px !important;
    box-sizing: border-box !important;
}
.comBox02 li div { overflow: hidden; }
.comBox02 li div img {
    width: 100% !important;
    height: 180px !important;
    object-fit: cover !important;
    display: block !important;
}
.comTxt01 {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--clr-navy) !important;
    padding: 16px 16px 4px !important;
    margin: 0 !important;
    background: none !important;
    background-image: none !important;
}
.comTxt02 {
    font-size: 13px !important;
    color: var(--clr-text) !important;
    line-height: 1.8 !important;
    padding: 0 16px 12px !important;
    margin: 0 !important;
    background: none !important;
    background-image: none !important;
}
.comBtn01 {
    padding: 4px 16px 0 !important;
    margin: 0 !important;
    background: none !important;
    background-image: none !important;
}
.comBtn01 img { display: none !important; }
.comBtn01 a {
    display: inline-block !important;
    font-family: 'Noto Sans JP', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: var(--clr-navy) !important;
    border: 1px solid rgba(6, 64, 145, 0.40) !important;
    padding: 8px 16px !important;
    border-radius: 3px !important;
    text-decoration: none !important;
    letter-spacing: 0.04em !important;
    transition: background-color 0.2s, color 0.2s !important;
    background-image: none !important;
}
.comBtn01 a::after { content: 'Googleマップで見る ↗'; }
.comBtn01 a:hover {
    background-color: var(--clr-navy) !important;
    color: #ffffff !important;
}


/* ═══════════════════════════════════════════════════════════════
   採用・問合せ CTAボタン (.recBtn)
   ═══════════════════════════════════════════════════════════════ */
.recBtn img { display: none !important; }
.recBtn a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: 'Noto Sans JP', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    padding: 16px 44px !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    letter-spacing: 0.06em !important;
    line-height: 1 !important;
    transition: opacity 0.2s !important;
    background-image: none !important;
}
.recBtn a:hover { opacity: 0.85 !important; }
.recBtn a[href*="recruit"] {
    background: var(--clr-navy) !important;
    color: #ffffff !important;
}
.recBtn a[href*="recruit"]::after { content: '採用情報をみる'; }
.recBtn a[href*="call-center-info"] {
    background: var(--clr-red) !important;
    color: #ffffff !important;
}
.recBtn a[href*="call-center-info"]::after { content: 'お問合せ・お見積りはこちら'; }


/* ═══════════════════════════════════════════════════════════════
   Q&Aリスト (.qaBox01 / .qaTxt01 / .qaTxt02)
   ═══════════════════════════════════════════════════════════════ */
.qaBox01 {
    list-style: none !important;
    padding: 40px 0 20px !important;
    margin: 0 auto !important;
    background: none !important;
    background-image: none !important;
}
.qaBox01 li {
    border: 1px solid var(--clr-border) !important;
    border-radius: var(--radius-card) !important;
    background: var(--clr-bg-card) !important;
    background-image: none !important;
    padding: 0 !important;
    margin-bottom: 16px !important;
    overflow: hidden !important;
    list-style: none !important;
}
.qaTxt01 {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--clr-navy) !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
    padding: 18px 20px 18px 60px !important;
    position: relative !important;
    line-height: 1.65 !important;
    margin: 0 !important;
    background: rgba(6, 64, 145, 0.04) !important;
    background-image: none !important;
    border-bottom: 1px solid var(--clr-border) !important;
}
.qaTxt01::before {
    content: 'Q';
    position: absolute;
    left: 18px;
    top: 18px;
    font-family: 'Inter', sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: var(--clr-navy);
    line-height: 1.65;
}
.qaTxt02 {
    font-size: 14px !important;
    color: var(--clr-text) !important;
    -webkit-text-fill-color: var(--clr-text) !important;
    padding: 18px 20px 18px 60px !important;
    position: relative !important;
    line-height: 1.85 !important;
    margin: 0 !important;
    background: none !important;
    background-image: none !important;
}
.qaTxt02::before {
    content: 'A';
    position: absolute;
    left: 18px;
    top: 18px;
    font-family: 'Inter', sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: var(--clr-red);
    line-height: 1.85;
}
.blueTxt {
    color: var(--clr-navy) !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
}
.redTxt {
    color: var(--clr-red) !important;
    -webkit-text-fill-color: var(--clr-red) !important;
}


/* ═══════════════════════════════════════════════════════════════
   導入フロー図 (.flowDiagram)
   ═══════════════════════════════════════════════════════════════ */
.flowDiagram {
    padding: 48px 0 40px !important;
    text-align: center !important;
}
.flowDiagramTit {
    font-size: 18px !important;
    font-weight: 400 !important;
    color: var(--clr-text) !important;
    margin-bottom: 36px !important;
    line-height: 1.5 !important;
    background: none !important;
    background-image: none !important;
}
.flowDiagramTit strong {
    font-family: 'Inter', 'Noto Sans JP', sans-serif !important;
    font-size: 36px !important;
    font-weight: 700 !important;
    color: var(--clr-red) !important;
    -webkit-text-fill-color: var(--clr-red) !important;
    vertical-align: middle !important;
    letter-spacing: 0.04em !important;
}
.flowStepWrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 8px !important;
}
.flowRow {
    display: flex !important;
    align-items: stretch !important;
    justify-content: center !important;
    gap: 0 !important;
}
.flowRowArrow {
    display: none !important;
}
.flowItem {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--clr-bg-card) !important;
    border: 2px solid var(--clr-navy) !important;
    border-radius: 10px !important;
    padding: 18px 14px !important;
    width: 130px !important;
    min-width: 130px !important;
    max-width: 130px !important;
    height: 100px !important;
    flex-shrink: 0 !important;
}
.flowItemFinal {
    background: var(--clr-navy) !important;
}
.flowItemFinal .flowNum { color: rgba(255,255,255,0.6) !important; }
.flowItemFinal .flowLabel {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}
.flowNum {
    font-family: 'Inter', sans-serif !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    color: var(--clr-red) !important;
    letter-spacing: 0.15em !important;
    margin-bottom: 8px !important;
    display: block !important;
}
.flowLabel {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--clr-navy) !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
    line-height: 1.5 !important;
    margin: 0 !important;
    background: none !important;
    background-image: none !important;
}
.flowLabel small {
    display: block !important;
    font-size: 10px !important;
    font-weight: 400 !important;
    color: var(--clr-muted) !important;
    -webkit-text-fill-color: var(--clr-muted) !important;
    margin-top: 4px !important;
    line-height: 1.4 !important;
}
.flowArrowIcon {
    font-size: 28px !important;
    color: var(--clr-navy) !important;
    font-weight: 400 !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 4px !important;
    line-height: 1 !important;
}
.flowDiagramNote {
    margin-top: 20px !important;
    font-size: 12px !important;
    color: var(--clr-muted) !important;
    -webkit-text-fill-color: var(--clr-muted) !important;
    text-align: center !important;
    background: none !important;
    background-image: none !important;
}


/* ═══════════════════════════════════════════════════════════════
   スクリプトフロー比較表 (.talkCompare)
   — 行ごとに左右セルを対応させるCSS Gridレイアウト
   ═══════════════════════════════════════════════════════════════ */
.talkCompare {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    column-gap: 20px !important;
    row-gap: 4px !important;
    margin: 36px auto !important;
}
/* ヘッダー（列タイトル） */
.talkCol {
    border-radius: var(--radius-card) var(--radius-card) 0 0 !important;
    overflow: hidden !important;
    min-width: 0 !important;
}
.talkColTit {
    font-size: 14px !important;
    font-weight: 700 !important;
    padding: 16px 20px !important;
    margin: 0 !important;
    line-height: 1.55 !important;
    text-align: center !important;
    background-image: none !important;
}
.talkColGray .talkColTit {
    background: #5a5a5a !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}
.talkColBlue .talkColTit {
    background: var(--clr-navy) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}
/* 各行セル（共通） */
.talkCell {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--clr-text) !important;
    -webkit-text-fill-color: var(--clr-text) !important;
    padding: 11px 14px !important;
    text-align: center !important;
    line-height: 1.55 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid var(--clr-border) !important;
    background: #ffffff !important;
    background-image: none !important;
    border-radius: 8px !important;
    min-height: 42px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
}
/* 左列セル（グレーアクセント） */
.talkCellL {
    border-left: 4px solid #b0b0b0 !important;
}
/* 右列セル（ネイビーアクセント） */
.talkCellR {
    border-left: 4px solid var(--clr-navy) !important;
}
/* スペーサーセル（左列のデジタルゲイト独自ステップに対応する空欄） */
.talkCellBlank {
    background: transparent !important;
    background-image: none !important;
    border: 1px dashed rgba(180, 180, 180, 0.5) !important;
    box-shadow: none !important;
}
/* ハイライトセル — サイトアクセント(ゴールド)の暖色で強調 */
.talkCell.talkFlowHL {
    background: #fff8e6 !important;
    background-image: none !important;
    border: 1px solid #f0d070 !important;
    border-left: 4px solid #ffc93c !important;
    color: var(--clr-text) !important;
    -webkit-text-fill-color: var(--clr-text) !important;
    font-weight: 700 !important;
    box-shadow: 0 4px 16px rgba(255, 180, 0, 0.12) !important;
    letter-spacing: 0.04em !important;
}
.talkFlowHL::after {
    content: none !important;
}
.talkFeatureTxt {
    font-family: 'Noto Sans JP', sans-serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--clr-navy) !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
    text-align: center !important;
    line-height: 1.8 !important;
    padding: 28px 0 48px !important;
    background: none !important;
    background-image: none !important;
}


/* ═══════════════════════════════════════════════════════════════
   チーム編成 (.teamHeadBox / .teamBenefitList / .teamTrainingTable)
   ═══════════════════════════════════════════════════════════════ */
.teamHeadBox {
    text-align: center !important;
    padding: 48px 0 36px !important;
    background: none !important;
    background-image: none !important;
}
.teamSubTxt {
    font-size: 14px !important;
    color: var(--clr-muted) !important;
    -webkit-text-fill-color: var(--clr-muted) !important;
    letter-spacing: 0.06em !important;
    margin-bottom: 8px !important;
    background: none !important;
    background-image: none !important;
}
.teamHeadTit {
    font-family: 'Noto Sans JP', sans-serif !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    color: var(--clr-navy) !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
    line-height: 1.4 !important;
    letter-spacing: 0.04em !important;
    background: none !important;
    background-image: none !important;
}
.teamBenefitList {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    list-style: none !important;
    padding: 0 !important;
    margin-bottom: 48px !important;
}
.teamBenefitList::before,
.teamBenefitList::after { display: none !important; }
.teamBenefitList li {
    display: flex !important;
    align-items: flex-start !important;
    gap: 16px !important;
    background: var(--clr-bg-card) !important;
    background-image: none !important;
    border: 1px solid var(--clr-border) !important;
    border-radius: var(--radius-card) !important;
    padding: 28px 24px !important;
    float: none !important;
    width: auto !important;
}
.teamBenefitNum {
    font-family: 'Inter', sans-serif !important;
    font-size: 30px !important;
    font-weight: 700 !important;
    color: var(--clr-navy) !important;
    opacity: 0.12 !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
    display: block !important;
}
.teamBenefitList li p {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--clr-text) !important;
    -webkit-text-fill-color: var(--clr-text) !important;
    line-height: 1.8 !important;
    margin: 0 !important;
    background: none !important;
    background-image: none !important;
}
.teamCommitTxt {
    font-family: 'Noto Sans JP', sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--clr-navy) !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
    text-align: center !important;
    padding: 0 0 32px !important;
    background: none !important;
    background-image: none !important;
}
.teamTrainingTit {
    font-family: 'Inter', 'Noto Sans JP', sans-serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: var(--clr-navy) !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
    text-align: center !important;
    margin-bottom: 20px !important;
    letter-spacing: 0.05em !important;
    background: none !important;
    background-image: none !important;
}
.teamTrainingTable {
    width: 100% !important;
    border-collapse: collapse !important;
    border: none !important;
    margin-bottom: 36px !important;
}
.teamTrainingTable tr { border-bottom: 1px solid var(--clr-border) !important; height: 110px !important; }
.teamTrainingTable td {
    padding: 18px 20px !important;
    font-size: 14px !important;
    color: var(--clr-text) !important;
    line-height: 1.7 !important;
    vertical-align: middle !important;
    background: var(--clr-bg-card) !important;
    background-image: none !important;
    border: none !important;
}
.teamTrainTh {
    padding: 18px 16px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-align: center !important;
    vertical-align: middle !important;
    width: 130px !important;
    border: none !important;
}
.teamTrainTh01 { background: var(--clr-red) !important; }
.teamTrainTh02 { background: #b03020 !important; }
.teamTrainTh03 { background: #8a2010 !important; }
.teamTrainHours {
    text-align: center !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    white-space: nowrap !important;
    width: 90px !important;
    color: var(--clr-navy) !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
    background: rgba(6, 64, 145, 0.04) !important;
    background-image: none !important;
    border: none !important;
}
.teamTrainHours strong {
    font-size: 22px !important;
    font-family: 'Inter', sans-serif !important;
    display: block !important;
    line-height: 1.2 !important;
}


/* ═══════════════════════════════════════════════════════════════
   PDCAサイクル図 (.pdcaDiagram)
   ═══════════════════════════════════════════════════════════════ */
.pdcaDiagram {
    padding: 48px 0 32px !important;
    text-align: center !important;
}
.pdcaDiagramTit {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--clr-text) !important;
    -webkit-text-fill-color: var(--clr-text) !important;
    margin-bottom: 16px !important;
    background: none !important;
    background-image: none !important;
}
.pdcaDiagramTit strong {
    color: var(--clr-navy) !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
}
.pdcaCenterBadge {
    display: inline-block !important;
    background: var(--clr-navy) !important;
    background-image: none !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    padding: 8px 32px !important;
    border-radius: 100px !important;
    margin-bottom: 28px !important;
    letter-spacing: 0.04em !important;
}
.pdcaCenterBadge strong {
    font-family: 'Noto Sans JP', sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    margin-left: 6px !important;
}
.pdcaCycleWrap {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
    row-gap: 16px !important;
}
.pdcaItem {
    background: var(--clr-bg-card) !important;
    background-image: none !important;
    border: 2px solid var(--clr-navy) !important;
    border-radius: 10px !important;
    padding: 18px 16px !important;
    min-width: 120px !important;
    max-width: 145px !important;
    text-align: center !important;
}
.pdcaItem p {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--clr-navy) !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
    line-height: 1.65 !important;
    margin: 0 !important;
    background: none !important;
    background-image: none !important;
}
.pdcaCycleArrow {
    font-size: 22px !important;
    color: var(--clr-navy) !important;
    font-weight: 700 !important;
    padding: 0 6px !important;
    flex-shrink: 0 !important;
    line-height: 1 !important;
}
.pdcaCycleReturn {
    color: var(--clr-muted) !important;
    font-size: 18px !important;
}


/* ─── セキュリティ注記 (.secNote) ─────────────────────────── */
.secNote {
    font-size: 12px !important;
    color: var(--clr-muted) !important;
    -webkit-text-fill-color: var(--clr-muted) !important;
    margin-top: 20px !important;
    padding: 10px 16px !important;
    border-left: 2px solid var(--clr-border) !important;
    background: none !important;
    background-image: none !important;
}


/* ═══════════════════════════════════════════════════════════════
   トークスクリプトページ (.talkTxt01)
   ═══════════════════════════════════════════════════════════════ */
.talkTxt01 {
    font-family: 'Noto Sans JP', sans-serif !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    color: var(--clr-navy) !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
    line-height: 1.7 !important;
    letter-spacing: 0.06em !important;
    padding: 48px 0 36px !important;
    background: none !important;
    background-image: none !important;
}
.talkTxt01 span {
    border-bottom: none !important;
    line-height: inherit !important;
    display: inline !important;
}


/* ═══════════════════════════════════════════════════════════════
   チーム編成ページ (.teamTxt03)
   ═══════════════════════════════════════════════════════════════ */
.teamTxt03 {
    font-size: 15px !important;
    line-height: 1.95 !important;
    color: var(--clr-text) !important;
    -webkit-text-fill-color: var(--clr-text) !important;
    padding: 28px 0 !important;
    font-weight: 400 !important;
    max-width: 720px !important;
    background: none !important;
    background-image: none !important;
}
.teamTxt03 .blueTxt {
    font-weight: 700 !important;
}


/* ═══════════════════════════════════════════════════════════════
   PDCAフローページ (.pdcaBg01)
   ═══════════════════════════════════════════════════════════════ */
.pdcaBg01 {
    background: rgba(6, 64, 145, 0.04) !important;
    background-image: none !important;
    border-left: none !important;
    border-radius: var(--radius-card) !important;
    padding: 28px 28px !important;
    margin-top: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 780px !important;
    box-sizing: border-box !important;
    height: auto !important;
}
.pdcaBg01 p {
    font-size: 15px !important;
    line-height: 2.0 !important;
    color: var(--clr-text) !important;
    -webkit-text-fill-color: var(--clr-text) !important;
    font-weight: 400 !important;
    margin: 0 !important;
    text-align: left !important;
    background: none !important;
    background-image: none !important;
    width: 100% !important;
    padding-top: 0 !important;
    padding-left: 0 !important;
}


/* ═══════════════════════════════════════════════════════════════
   セキュリティページ (.secTxt01〜03 / .secBox01)
   ═══════════════════════════════════════════════════════════════ */
.secCont01 {
    max-width: 920px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.secImg01 {
    width: 46% !important;
    max-width: 320px !important;
}
.secImg01 img {
    width: 100% !important;
    height: auto !important;
}
.secImg02 {
    width: 42% !important;
    max-width: 280px !important;
}
.secImg02 img {
    width: 100% !important;
    height: auto !important;
    border-radius: var(--radius-card) !important;
}
.secTxt01 {
    font-size: 15px !important;
    line-height: 2.0 !important;
    color: var(--clr-text) !important;
    -webkit-text-fill-color: var(--clr-text) !important;
    font-weight: 400 !important;
    background: none !important;
    background-image: none !important;
}
.secBox01 {
    background: var(--clr-bg-card) !important;
    background-image: none !important;
    border: 1px solid var(--clr-border) !important;
    border-radius: var(--radius-card) !important;
    padding: 24px 28px !important;
}
.secTxt02 {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--clr-navy) !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
    margin-bottom: 10px !important;
    background: none !important;
    background-image: none !important;
}
.secTxt03 {
    font-size: 14px !important;
    color: var(--clr-text) !important;
    -webkit-text-fill-color: var(--clr-text) !important;
    line-height: 1.9 !important;
    font-weight: 400 !important;
    margin: 0 !important;
    background: none !important;
    background-image: none !important;
}


/* ═══════════════════════════════════════════════════════════════
   プライバシーポリシー / メッセージ ページ共通テキスト
   ═══════════════════════════════════════════════════════════════ */

/* バナー見出しのサブテキスト (underFvTit03の<span>) */
.underFvTit03 span {
    font-size: 16px !important;
    font-weight: 400 !important;
    display: block !important;
    margin-top: 6px !important;
    opacity: 0.75;
    letter-spacing: 0.04em !important;
}

/* 本文テキスト共通 */
.priTxt01,
.spPriTxt01 {
    font-size: 14px !important;
    color: var(--clr-text) !important;
    -webkit-text-fill-color: var(--clr-text) !important;
    line-height: 2.1 !important;
    background: none !important;
    background-image: none !important;
}

/* 本文内の小見出し (<span class="bold">) */
.priTxt01 .bold,
.spPriTxt01 .bold {
    color: var(--clr-navy) !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
    font-weight: 700 !important;
    display: block !important;
    margin-top: 8px !important;
}

/* 制定日・最終改定日などの補足テキスト */
.priTxt02 {
    font-size: 13px !important;
    color: var(--clr-muted) !important;
    -webkit-text-fill-color: var(--clr-muted) !important;
    line-height: 1.8 !important;
    background: none !important;
    background-image: none !important;
}


/* ═══════════════════════════════════════════════════════════════
   企業理念テキストボックス (.messPhilo)
   ═══════════════════════════════════════════════════════════════ */
.messPhilo {
    text-align: center !important;
    padding: 48px 40px !important;
    background: rgba(6, 64, 145, 0.03) !important;
    background-image: none !important;
    border-radius: var(--radius-card) !important;
    position: relative !important;
    overflow: hidden !important;
}
.messPhilo::before {
    content: '';
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 4px;
    background: linear-gradient(to bottom, #064091, #ce1122);
}
.messPhilo p {
    font-family: 'Noto Sans JP', sans-serif !important;
    font-size: 17px !important;
    line-height: 2.5 !important;
    color: var(--clr-navy) !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
    letter-spacing: 0.08em !important;
    margin: 0 !important;
    background: none !important;
    background-image: none !important;
}


/* ═══════════════════════════════════════════════════════════════
   代表者署名 (.messSignature)
   ═══════════════════════════════════════════════════════════════ */
.messSignature {
    text-align: right !important;
    border-top: 1px solid var(--clr-border) !important;
    padding-top: 20px !important;
    background: none !important;
    background-image: none !important;
}
.messSub {
    font-size: 13px !important;
    color: var(--clr-muted) !important;
    -webkit-text-fill-color: var(--clr-muted) !important;
    letter-spacing: 0.05em !important;
    display: block !important;
    margin-bottom: 8px !important;
}
.messMain {
    font-family: 'Noto Sans JP', sans-serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: var(--clr-navy) !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
    letter-spacing: 0.12em !important;
    display: block !important;
}


/* ═══════════════════════════════════════════════════════════════
   カスタマーサポート代行ページ (business)
   ═══════════════════════════════════════════════════════════════ */

/* --- タググリッド共通 (cs_img01 / tel_img01 代替) --- */
.csSubjectSection, .telSubjectSection {
    padding: 48px 0 !important;
    border-bottom: 1px solid var(--clr-border) !important;
    background: var(--clr-bg-card) !important;
    background-image: none !important;
    text-align: center !important;
}
.csSubjectGrid, .telSubjectGrid {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    justify-content: center !important;
    margin-bottom: 32px !important;
}
.csSubjectGrid span, .telSubjectGrid span {
    background: var(--clr-navy) !important;
    background-image: none !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 8px 22px !important;
    border-radius: 4px !important;
}
.csSubjectMain {
    font-family: 'Noto Sans JP', sans-serif !important;
    font-size: 36px !important;
    font-weight: 700 !important;
    color: var(--clr-navy) !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
    background: none !important;
    background-image: none !important;
    line-height: 1.3 !important;
}
.csSubjectSub {
    font-size: 15px !important;
    color: var(--clr-muted) !important;
    -webkit-text-fill-color: var(--clr-muted) !important;
    margin-bottom: 10px !important;
    background: none !important;
    background-image: none !important;
}

/* --- cs_bg02 代替: ピラミッド図 --- */
.csBg02 {
    background-image: none !important;
    background: #f4f7fb !important;
    height: auto !important;
    padding: 48px 0 !important;
}
.csBg02 .cont01 { background-image: none !important; }
.csTxt01 {
    width: 100% !important;
    font-size: 15px !important;
    line-height: 2.0 !important;
    margin-bottom: 0 !important;
    margin-top: 36px !important;
    padding-top: 0 !important;
    padding-left: 0 !important;
}
.csPyramidNotice {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: var(--clr-navy) !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
    border: 1px solid var(--clr-navy) !important;
    padding: 4px 16px !important;
    border-radius: 20px !important;
    display: inline-block !important;
    margin-bottom: 12px !important;
    background: none !important;
    background-image: none !important;
}
.csPyramidHeadline {
    font-size: 22px !important;
    font-weight: 800 !important;
    color: var(--clr-text) !important;
    -webkit-text-fill-color: var(--clr-text) !important;
    margin-bottom: 24px !important;
    background: none !important;
    background-image: none !important;
}
.csPyramidHeadline em {
    color: var(--clr-red) !important;
    -webkit-text-fill-color: var(--clr-red) !important;
    font-style: normal !important;
    text-decoration: underline !important;
}
.csPyramidShape {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 3px !important;
    margin: 0 auto !important;
}
.csPyramidTier {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    background-image: none !important;
}
.csPyramidTier1 { background: #064091 !important; width: 120px !important; height: 44px !important; clip-path: polygon(18% 0%, 82% 0%, 100% 100%, 0% 100%) !important; }
.csPyramidTier2 { background: #3b6abf !important; width: 180px !important; height: 44px !important; clip-path: polygon(11% 0%, 89% 0%, 100% 100%, 0% 100%) !important; }
.csPyramidTier3 { background: #7ea8e0 !important; width: 240px !important; height: 44px !important; }

/* --- cs_bg03 代替: 実績 + チェックリストセクション --- */
.csBg03 {
    background-image: none !important;
    background: linear-gradient(135deg, #0a1628 0%, #0d2150 60%, #1a3a7c 100%) !important;
    height: auto !important;
    padding: 64px 0 !important;
    position: static !important;
}
.csBg03 .cont01 { position: static !important; background-image: none !important; }
.csTxt02a, .csTxt02b, .csTxt02c, .csBtn { display: none !important; }
.csTrackKiyomi {
    font-size: 12px !important;
    color: rgba(255,255,255,0.6) !important;
    -webkit-text-fill-color: rgba(255,255,255,0.6) !important;
    letter-spacing: 0.1em !important;
    text-align: center !important;
    margin-bottom: 10px !important;
    background: none !important;
    background-image: none !important;
}
.csTrackTit {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    line-height: 1.7 !important;
    text-align: center !important;
    margin-bottom: 24px !important;
    background: none !important;
    background-image: none !important;
}
.csTrackTit em { color: #ffc93c !important; -webkit-text-fill-color: #ffc93c !important; font-style: normal !important; }
.csCheckLabel {
    font-size: 12px !important;
    color: rgba(255,255,255,0.65) !important;
    -webkit-text-fill-color: rgba(255,255,255,0.65) !important;
    border: 1px solid rgba(255,255,255,0.3) !important;
    padding: 4px 16px !important;
    border-radius: 20px !important;
    display: block !important;
    margin: 0 auto 20px !important;
    width: fit-content !important;
    background: none !important;
    background-image: none !important;
}
.csCheckList {
    list-style: none !important;
    margin: 0 auto 40px !important;
    max-width: 680px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    background: none !important;
    background-image: none !important;
    padding: 0 !important;
}
.csCheckList li {
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    padding: 16px 20px !important;
    background: rgba(255,255,255,0.08) !important;
    background-image: none !important;
    border-radius: 8px !important;
    border-left: 3px solid #ffc93c !important;
    list-style: none !important;
    margin: 0 !important;
}
.csCheckList li::before { content: '✓' !important; color: #ffc93c !important; font-weight: 900 !important; flex-shrink: 0 !important; }
.csTrackStat {
    text-align: center !important;
    padding-top: 32px !important;
    border-top: 1px solid rgba(255,255,255,0.15) !important;
}
.csTrackStatNum {
    font-family: 'Inter', sans-serif !important;
    font-size: 64px !important;
    font-weight: 700 !important;
    color: #ffc93c !important;
    -webkit-text-fill-color: #ffc93c !important;
    line-height: 1 !important;
    background: none !important;
    background-image: none !important;
}
.csTrackStatLabel {
    font-size: 14px !important;
    color: rgba(255,255,255,0.8) !important;
    -webkit-text-fill-color: rgba(255,255,255,0.8) !important;
    margin-top: 8px !important;
    background: none !important;
    background-image: none !important;
}
.csTrackBtn {
    text-align: center !important;
    margin-top: 28px !important;
}
.csTrackBtn a {
    display: inline-block !important;
    background: #fff !important;
    background-image: none !important;
    color: var(--clr-navy) !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    padding: 14px 40px !important;
    border-radius: 40px !important;
    text-decoration: none !important;
}

/* --- csBg04 削除 + csFeatureWrap 追加 --- */
.csBg04 { display: none !important; }
.csFeatureWrap {
    background: rgba(6,64,145,0.04) !important;
    background-image: none !important;
    padding: 60px 0 !important;
    border-top: 1px solid var(--clr-border) !important;
    border-bottom: 1px solid var(--clr-border) !important;
    text-align: center !important;
}
.csFeatureCard {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 20px !important;
    flex-wrap: wrap !important;
    margin-bottom: 32px !important;
}
.csFeaturePill {
    background: var(--clr-navy) !important;
    background-image: none !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    padding: 18px 32px !important;
    border-radius: 8px !important;
    line-height: 1.6 !important;
}
.csFeatureCross { font-size: 28px !important; font-weight: 700 !important; color: var(--clr-red) !important; -webkit-text-fill-color: var(--clr-red) !important; }
.csFeatureTagline {
    font-family: 'Noto Sans JP', sans-serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: var(--clr-navy) !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
    line-height: 1.8 !important;
    background: none !important;
    background-image: none !important;
}
.csFeatureTagline strong { color: var(--clr-red) !important; -webkit-text-fill-color: var(--clr-red) !important; }

/* --- csBg05 代替: おすすめクライアント4グリッド --- */
.csBg05 {
    background-image: none !important;
    background: var(--clr-bg-card) !important;
    height: auto !important;
    padding: 60px 0 !important;
    position: static !important;
}
.csBg05 .cont01 { background-image: none !important; }
.csTxt03a, .csTxt03b, .csTxt03c, .csTxt03d { display: none !important; }
.csClientSectionTit {
    font-family: 'Noto Sans JP', sans-serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--clr-navy) !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
    text-align: center !important;
    margin-bottom: 32px !important;
    background: none !important;
    background-image: none !important;
}
.csClientGrid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 16px !important;
}
.csClientCard {
    background: #fff !important;
    background-image: none !important;
    border: 2px solid var(--clr-navy) !important;
    border-radius: var(--radius-card) !important;
    padding: 28px 16px !important;
    text-align: center !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--clr-navy) !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
    line-height: 1.7 !important;
}
.csClientCard::before { content: '✦' !important; display: block !important; font-size: 18px !important; color: var(--clr-red) !important; -webkit-text-fill-color: var(--clr-red) !important; margin-bottom: 12px !important; }

/* --- cs_img03/04 代替: CTAセクション --- */
.csCtaSection {
    padding: 60px 0 !important;
    text-align: center !important;
    background: #fff !important;
    background-image: none !important;
}
.csCtaTitle {
    font-family: 'Noto Sans JP', sans-serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--clr-navy) !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
    margin-bottom: 8px !important;
    background: none !important;
    background-image: none !important;
}
.csCtaSub {
    font-size: 14px !important;
    color: var(--clr-muted) !important;
    -webkit-text-fill-color: var(--clr-muted) !important;
    margin-bottom: 32px !important;
    background: none !important;
    background-image: none !important;
}
.csCtaBox {
    display: inline-flex !important;
    align-items: center !important;
    gap: 24px !important;
    background: var(--clr-navy) !important;
    background-image: none !important;
    border-radius: var(--radius-card) !important;
    padding: 24px 48px !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
}
.csCtaTelLabel {
    font-size: 11px !important;
    color: rgba(255,255,255,0.7) !important;
    -webkit-text-fill-color: rgba(255,255,255,0.7) !important;
    display: block !important;
    margin-bottom: 4px !important;
    letter-spacing: 0.1em !important;
    background: none !important;
    background-image: none !important;
}
.csCtaTel {
    font-family: 'Inter', sans-serif !important;
    font-size: 30px !important;
    font-weight: 700 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    background: none !important;
    background-image: none !important;
}
.csCtaMailBtn {
    display: inline-block !important;
    background: #fff !important;
    background-image: none !important;
    color: var(--clr-navy) !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    padding: 14px 28px !important;
    border-radius: 40px !important;
    text-decoration: none !important;
}

/* ═══════════════════════════════════════════════════════════════
   電話営業代行ページ (telsales)
   ═══════════════════════════════════════════════════════════════ */

/* --- telBg01 削除 / tel_img01 代替 --- */
.telBg01 { display: none !important; }
.telSubjectStatLabel {
    font-size: 14px !important;
    color: var(--clr-muted) !important;
    -webkit-text-fill-color: var(--clr-muted) !important;
    margin-bottom: 4px !important;
    background: none !important;
    background-image: none !important;
}
.telSubjectStatNum {
    font-family: 'Inter', sans-serif !important;
    font-size: 68px !important;
    font-weight: 700 !important;
    color: var(--clr-navy) !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
    line-height: 1 !important;
    background: none !important;
    background-image: none !important;
}
.telSubjectStatSub {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--clr-navy) !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
    margin-top: 8px !important;
    background: none !important;
    background-image: none !important;
}

/* --- telBg02a/b 代替 (人物写真除去) --- */
.telBg02a { background: #fff !important; background-image: none !important; padding: 0 !important; }
.telBg02b {
    background-image: none !important;
    background: #fff !important;
    height: auto !important;
    padding: 48px 0 !important;
}
.telCatch01 {
    font-family: 'Noto Sans JP', sans-serif !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    color: var(--clr-navy) !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
    margin-bottom: 24px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 670px !important;
    background: none !important;
    background-image: none !important;
    text-align: left !important;
}
.telCatch01 em { color: var(--clr-red) !important; -webkit-text-fill-color: var(--clr-red) !important; font-style: normal !important; }
.telBg02b .telTxt01 { width: 100% !important; max-width: 640px !important; margin-left: auto !important; margin-right: auto !important; padding-top: 0 !important; padding-left: 0 !important; font-size: 15px !important; line-height: 2.0 !important; }
.telNote01 {
    font-size: 12px !important;
    color: var(--clr-muted) !important;
    -webkit-text-fill-color: var(--clr-muted) !important;
    margin-top: 8px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 670px !important;
    padding: 0 !important;
    border: none !important;
    display: block !important;
    text-align: left !important;
    background: none !important;
    background-image: none !important;
}

/* --- telBg03 代替 (BtoC実績) --- */
.telBg03 {
    background-image: none !important;
    background: linear-gradient(160deg, #edf3f9 0%, #e2eef8 100%) !important;
    height: auto !important;
    padding: 60px 0 !important;
}
.telBg03 .telTxtBox01 { padding-top: 0 !important; padding-left: 0 !important; max-width: 700px !important; margin: 0 auto !important; text-align: center !important; }
.telBtoCLabel {
    font-size: 12px !important;
    letter-spacing: 0.15em !important;
    color: rgba(6, 64, 145, 0.55) !important;
    -webkit-text-fill-color: rgba(6, 64, 145, 0.55) !important;
    border: 1px solid rgba(6, 64, 145, 0.25) !important;
    padding: 4px 16px !important;
    border-radius: 20px !important;
    display: inline-block !important;
    margin-bottom: 20px !important;
    background: none !important;
    background-image: none !important;
}
.telBg03 .telTit01 { font-size: 20px !important; color: var(--clr-navy) !important; -webkit-text-fill-color: var(--clr-navy) !important; background: none !important; background-image: none !important; }
.telBg03 .telTxt01 { color: var(--clr-text) !important; -webkit-text-fill-color: var(--clr-text) !important; width: 100% !important; font-size: 15px !important; line-height: 2.0 !important; background: none !important; background-image: none !important; }

/* --- tel_img02 代替: BtoB事例カード --- */
.telBtoBSection {
    padding: 60px 0 !important;
    background: var(--clr-bg-card) !important;
    background-image: none !important;
}
.telBtoBLabel {
    font-size: 13px !important;
    font-family: 'Inter', sans-serif !important;
    color: var(--clr-muted) !important;
    -webkit-text-fill-color: var(--clr-muted) !important;
    letter-spacing: 0.15em !important;
    text-align: center !important;
    margin-bottom: 28px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid var(--clr-border) !important;
    background: none !important;
    background-image: none !important;
}
.telBtoBGrid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 16px !important;
}
.telBtoBCard {
    background: #fff !important;
    background-image: none !important;
    border-radius: var(--radius-card) !important;
    border: 1px solid var(--clr-border) !important;
    padding: 24px 16px !important;
    text-align: center !important;
}
.telBtoBBadge {
    display: inline-block !important;
    background: var(--clr-red) !important;
    background-image: none !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    padding: 4px 14px !important;
    border-radius: 20px !important;
    margin-bottom: 14px !important;
}
.telBtoBCard p { font-size: 13px !important; font-weight: 700 !important; color: var(--clr-navy) !important; -webkit-text-fill-color: var(--clr-navy) !important; line-height: 1.6 !important; background: none !important; background-image: none !important; }

/* --- telBg04 代替 (握手写真除去) --- */
.telBg04 {
    background-image: none !important;
    background: linear-gradient(160deg, #edf3f9 0%, #e2eef8 100%) !important;
    height: auto !important;
    padding: 60px 0 !important;
}
.telBg04SectionHead { text-align: center !important; margin-bottom: 28px !important; }
.telBg04SectionTit { font-size: 12px !important; font-family: 'Inter', sans-serif !important; letter-spacing: 0.15em !important; color: rgba(6, 64, 145, 0.55) !important; -webkit-text-fill-color: rgba(6, 64, 145, 0.55) !important; background: none !important; background-image: none !important; margin-bottom: 6px !important; }
.telBg04SectionMain { font-family: 'Noto Sans JP', sans-serif !important; font-size: 24px !important; font-weight: 700 !important; color: var(--clr-navy) !important; -webkit-text-fill-color: var(--clr-navy) !important; background: none !important; background-image: none !important; }
.telBg04SectionMain em { color: var(--clr-red) !important; -webkit-text-fill-color: var(--clr-red) !important; font-style: normal !important; }
.telBg04 .telTxt01 { color: var(--clr-text) !important; -webkit-text-fill-color: var(--clr-text) !important; width: 100% !important; max-width: 640px !important; margin-left: auto !important; margin-right: auto !important; font-size: 15px !important; line-height: 2.0 !important; background: none !important; background-image: none !important; padding-top: 0 !important; padding-left: 0 !important; }
.telBg04 .yellTxt { color: var(--clr-navy) !important; -webkit-text-fill-color: var(--clr-navy) !important; font-weight: 700 !important; }

/* --- tel_img03 代替: 注意ボックス --- */
.telWarningBox {
    background: #fff8e1 !important;
    background-image: none !important;
    border: 2px solid #f5a623 !important;
    border-radius: var(--radius-card) !important;
    padding: 28px 36px !important;
    margin: 32px auto !important;
    max-width: 800px !important;
    text-align: center !important;
}
.telWarningLabel { font-size: 12px !important; font-weight: 700 !important; color: #f5a623 !important; -webkit-text-fill-color: #f5a623 !important; letter-spacing: 0.12em !important; margin-bottom: 10px !important; background: none !important; background-image: none !important; }
.telWarningMain { font-size: 20px !important; font-weight: 700 !important; color: var(--clr-text) !important; -webkit-text-fill-color: var(--clr-text) !important; background: none !important; background-image: none !important; }
.telWarningMain em { color: var(--clr-red) !important; -webkit-text-fill-color: var(--clr-red) !important; font-style: normal !important; }

/* --- tel_img04 代替: 比較カード --- */
.telCompareWrap {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 20px !important;
    margin: 28px 0 !important;
}
.telCompareCard { border-radius: var(--radius-card) !important; padding: 28px 24px !important; text-align: center !important; background-image: none !important; }
.telCompareCard.telCompareNG { background: #f5f5f5 !important; border: 2px solid #c0c0c0 !important; }
.telCompareCard.telCompareOK { background: rgba(6,64,145,0.05) !important; border: 2px solid var(--clr-navy) !important; }
.telCompareHead { font-size: 15px !important; font-weight: 700 !important; padding: 10px 20px !important; border-radius: 6px !important; margin-bottom: 20px !important; display: inline-block !important; background-image: none !important; }
.telCompareNG .telCompareHead { background: #888 !important; color: #fff !important; -webkit-text-fill-color: #fff !important; }
.telCompareOK .telCompareHead { background: var(--clr-navy) !important; color: #fff !important; -webkit-text-fill-color: #fff !important; }
.telComparePoint { font-size: 13px !important; font-weight: 700 !important; padding: 12px !important; border-radius: 8px !important; margin-top: 12px !important; background-image: none !important; }
.telCompareNG .telComparePoint { background: rgba(206,17,34,0.07) !important; color: var(--clr-red) !important; -webkit-text-fill-color: var(--clr-red) !important; border: 1px solid rgba(206,17,34,0.2) !important; }
.telCompareOK .telComparePoint { background: rgba(6,64,145,0.07) !important; color: var(--clr-navy) !important; -webkit-text-fill-color: var(--clr-navy) !important; border: 1px solid rgba(6,64,145,0.2) !important; }
.telCompareVerdict { font-size: 13px !important; font-weight: 600 !important; margin-top: 10px !important; background: none !important; background-image: none !important; }
.telCompareNG .telCompareVerdict { color: #888 !important; -webkit-text-fill-color: #888 !important; }
.telCompareOK .telCompareVerdict { color: var(--clr-navy) !important; -webkit-text-fill-color: var(--clr-navy) !important; }
.telTxtBox02 { width: 100% !important; max-width: 800px !important; margin-left: auto !important; margin-right: auto !important; }

/* --- tel_img05 代替: 結論ボックス --- */
.telConclusionBox {
    background: var(--clr-navy) !important;
    background-image: none !important;
    border-radius: var(--radius-card) !important;
    padding: 32px 40px !important;
    text-align: center !important;
    margin: 24px 0 !important;
}
.telConclusionLabel { font-size: 12px !important; letter-spacing: 0.15em !important; color: rgba(255,255,255,0.65) !important; -webkit-text-fill-color: rgba(255,255,255,0.65) !important; margin-bottom: 12px !important; background: none !important; background-image: none !important; }
.telConclusionMain { font-size: 18px !important; font-weight: 700 !important; color: #fff !important; -webkit-text-fill-color: #fff !important; line-height: 1.8 !important; background: none !important; background-image: none !important; }
.telConclusionMain em { color: #ffc93c !important; -webkit-text-fill-color: #ffc93c !important; font-style: normal !important; }

/* --- tel_img06 代替: プランボックス --- */
.telPlanBox {
    background: var(--clr-bg-card) !important;
    background-image: none !important;
    border: 2px solid var(--clr-navy) !important;
    border-radius: var(--radius-card) !important;
    padding: 32px 40px !important;
    text-align: center !important;
    margin: 16px 0 !important;
}
.telPlanMain { font-size: 22px !important; font-weight: 700 !important; color: var(--clr-navy) !important; -webkit-text-fill-color: var(--clr-navy) !important; margin-bottom: 8px !important; background: none !important; background-image: none !important; }
.telPlanMain strong { font-family: 'Inter', sans-serif !important; font-size: 48px !important; color: var(--clr-red) !important; -webkit-text-fill-color: var(--clr-red) !important; vertical-align: middle !important; }
.telPlanSub { font-size: 14px !important; color: var(--clr-muted) !important; -webkit-text-fill-color: var(--clr-muted) !important; background: none !important; background-image: none !important; }

/* ═══════════════════════════════════════════════════════════════
   会社Top（index.html）専用スタイル
   ═══════════════════════════════════════════════════════════════ */

/* ① ABOUT リード文: 暗色テキスト・中央寄せ */
.topAboutLead {
    font-size: 15px !important;
    line-height: 2.1 !important;
    color: var(--clr-text) !important;
    text-align: center !important;
    margin: 0 auto 48px !important;
}

/* ② 縦余白削減（.top スコープで他ページに影響しない） */
.top .bgBlue {
    padding-top: 72px !important;
    padding-bottom: 72px !important;
}
.top .topTit01 {
    margin-bottom: 32px !important;
}
.top .topSerBox {
    margin-bottom: 64px !important;
}
.top .topBg01 {
    margin-top: 0 !important;
    padding-top: 64px !important;
    padding-bottom: 64px !important;
}
.top .topFlowBox {
    margin-bottom: 0 !important;
}
.top .topContBox.m100 {
    margin-top: 64px !important;
}

/* SERVICE 1枚カード: 中央寄せ・幅調整 */
.topSerSingle {
    display: flex !important;
    justify-content: center !important;
}
.topSerSingle li {
    width: 50% !important;
    float: none !important;
    border-radius: var(--radius-card) !important;
    position: relative !important;
}

/* ③ カード全体をクリック可能に（直接カバーリンク） */
.topSerCoverLink {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: block;
}
.topSerSingle li .topSerTit a,
.topSerSingle li .topSerTxt a,
.topSerSingle li .topSerImg a,
.topSerSingle li .topSerBtn a {
    position: relative;
    z-index: 2;
}

/* COMPANY / RECRUIT: 2列グリッド */
.topFlowTwo {
    grid-template-columns: repeat(2, 1fr) !important;
    max-width: 560px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.topFlowTwo::before { display: none !important; }

/* li: グリッド伸張を無効化・確実にクリップ */
.topFlowTwo li {
    align-self: start !important;
    overflow: hidden !important;
    padding: 0 !important;
}

/* COMPANY / RECRUIT カード: containing block を明示 */
.topFlowCard {
    display: block !important;
    position: relative !important;
    overflow: hidden !important;
    text-decoration: none !important;
}
/* 画像: インラインギャップを完全除去 */
.topFlowCardImg {
    display: block !important;
    line-height: 0 !important;
    font-size: 0 !important;
}
.topFlowCardImg img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    vertical-align: bottom !important;
}
/* PNGの白エリア内にテキストを中央配置 */
.topFlowCardBody {
    position: absolute !important;
    top: 43% !important;
    bottom: 28% !important;
    left: 0 !important;
    right: 0 !important;
    padding: 0 24px !important;
    background: transparent !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
}
.topFlowCardTxt {
    font-family: 'Noto Sans JP', sans-serif !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    color: var(--clr-navy) !important;
    line-height: 1.5 !important;
    letter-spacing: 0.05em !important;
    margin: 0 !important;
}
.topFlowCardMore {
    display: none !important;
}

/* ─── 主要お取引先 ───────────────────────────────────────────── */
.topClientNote {
    margin-top: 28px;
    padding-top: 20px;
    border-top: 1px solid rgba(6, 64, 145, 0.12);
    text-align: center;
}
.topClientNoteLabel {
    display: block !important;
    font-size: 30px !important;
    font-weight: 700 !important;
    letter-spacing: 0.07em !important;
    background: linear-gradient(100deg, #064091 30%, #ce1122 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent !important;
    margin-bottom: 16px !important;
}
.topClientList {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 auto !important;
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    text-align: left !important;
}
.topClientList li {
    font-size: 18px !important;
    font-weight: 400 !important;
    color: var(--clr-text) !important;
    -webkit-text-fill-color: var(--clr-text) !important;
    letter-spacing: 0.04em !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
    box-shadow: none !important;
    list-style: none !important;
    line-height: 2.2 !important;
}


/* ─── お問い合わせフォーム ──────────────────────────────────── */

/* フォーム上部画像: 非表示 */
.conImg01 { display: none !important; }

/* 見出し「メール問合せ」の上下余白を均等に */
h3.underTit02:has(+ #_input_area_) {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
    margin-top: 0 !important;
    margin-bottom: 40px !important;
}

/* フォームラッパー */
#_input_area_ {
    max-width: 760px !important;
    margin: 0 auto !important;
    padding: 0 20px 60px !important;
}

/* フォームカード */
.conBox01 {
    background: #fff !important;
    border: 1px solid var(--clr-border) !important;
    border-radius: 8px !important;
    padding: 8px 40px !important;
    margin-bottom: 32px !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.04) !important;
    overflow: visible !important;
    width: auto !important;
}

/* dl 行 */
.conBox01 dl {
    display: flex !important;
    align-items: flex-start !important;
    gap: 24px !important;
    padding: 20px 0 !important;
    border-bottom: 1px solid var(--clr-border) !important;
    margin: 0 !important;
    float: none !important;
    overflow: visible !important;
    width: auto !important;
}
.conBox01 dl:last-child { border-bottom: none !important; }
.conBox01 dl::before, .conBox01 dl::after { display: none !important; }

/* ラベル */
.conBox01 dt {
    width: 120px !important;
    min-width: 120px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: rgba(26, 26, 26, 0.58) !important;
    padding-top: 10px !important;
    letter-spacing: 0.06em !important;
    float: none !important;
}

/* フィールドラッパー */
.conBox01 dd {
    flex: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    width: auto !important;
}

/* 入力フィールド共通 */
.conBox01 input[type="text"],
.conBox01 input[type="email"],
.conBox01 input[type="tel"],
.conBox01 select,
.conBox01 textarea {
    width: 100% !important;
    padding: 10px 14px !important;
    font-family: 'Inter', 'Noto Sans JP', sans-serif !important;
    font-size: 15px !important;
    color: var(--clr-text) !important;
    background: #fafbfc !important;
    border: 1px solid rgba(0, 0, 0, 0.12) !important;
    border-radius: 4px !important;
    box-sizing: border-box !important;
    outline: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    transition: border-color 0.25s, box-shadow 0.25s !important;
}
.conBox01 input[type="text"]:focus,
.conBox01 input[type="email"]:focus,
.conBox01 input[type="tel"]:focus,
.conBox01 select:focus,
.conBox01 textarea:focus {
    border-color: var(--clr-navy) !important;
    box-shadow: 0 0 0 3px rgba(6, 64, 145, 0.08) !important;
    background: #fff !important;
}
.conBox01 textarea {
    resize: vertical !important;
    min-height: 160px !important;
    line-height: 1.7 !important;
}
.conBox01 select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    padding-right: 40px !important;
    cursor: pointer !important;
}

/* tool.css フォント上書き */
.baloon, .errorBox, .errorTit, ul.errorList, ul.errorList li {
    font-family: 'Inter', 'Noto Sans JP', sans-serif !important;
}

/* エラーボックス */
.errorBox {
    width: 100% !important;
    max-width: 760px !important;
    background: #fff !important;
    border: none !important;
    border-left: 3px solid var(--clr-red) !important;
    border-radius: 4px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06) !important;
    padding: 16px 20px !important;
    box-sizing: border-box !important;
    margin: 0 auto 24px !important;
}
.errorTit {
    background: transparent !important;
    color: var(--clr-red) !important;
    text-align: left !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    padding: 0 0 8px !important;
    border-bottom: 1px solid rgba(206, 17, 34, 0.15) !important;
}
ul.errorList {
    padding: 8px 0 0 !important;
    list-style: none !important;
}
ul.errorList li {
    background: none !important;
    color: var(--clr-red) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    padding-left: 14px !important;
    margin-bottom: 4px !important;
    position: relative !important;
}
ul.errorList li::before {
    content: '•';
    position: absolute;
    left: 2px;
    color: var(--clr-red);
}

/* プライバシー文章エリア */
.conBox02 {
    background: #f8f9fb !important;
    border: 1px solid var(--clr-border) !important;
    border-radius: 6px !important;
    padding: 20px 24px !important;
    font-size: 12px !important;
    line-height: 1.9 !important;
    color: rgba(26, 26, 26, 0.58) !important;
    max-height: 180px !important;
    overflow-y: auto !important;
    margin-bottom: 20px !important;
    width: auto !important;
    box-sizing: border-box !important;
}

/* 承諾タイトル */
.conMtit {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: rgba(26, 26, 26, 0.65) !important;
    letter-spacing: 0.08em !important;
    margin-top: 24px !important;
}

/* チェックボックス */
#agree_check {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
}
#agree_check input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    accent-color: var(--clr-navy) !important;
    cursor: pointer !important;
}

/* 送信ボタン */
#form_submit {
    text-align: center !important;
    margin-top: 32px !important;
}
#form_submit_button {
    display: inline-block !important;
    background: var(--clr-navy) !important;
    background-image: none !important;
    color: #fff !important;
    font-family: 'Inter', 'Noto Sans JP', sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em !important;
    padding: 18px 72px !important;
    border: none !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    width: auto !important;
    height: auto !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    transition: opacity 0.25s ease, transform 0.25s ease !important;
}
#form_submit_button:hover {
    opacity: 0.85 !important;
    transform: translateY(-2px) !important;
}


/* ═══════════════════════════════════════════════════════════════
   スマートフォン対応 (max-width: 640px)
   ═══════════════════════════════════════════════════════════════ */
@media screen and (max-width: 640px) {

    /* ── 横スクロール防止 ────────────────────────────────── */
    html, body { overflow-x: hidden; }
    #wrap { overflow-x: hidden; max-width: 100%; }
    body::before, body::after { display: none !important; }


    /* ── スマホヘッダー ──────────────────────────────────── */
    .head { overflow: hidden; }
    .headTxt { display: none !important; }


    /* ── FV ─────────────────────────────────────────────── */
    .fvBg {
        height: auto !important;
        min-height: 0 !important;
        display: block !important;
        padding: 14vw 5% 10vw !important;
        overflow: hidden;
    }
    .fvBg::before { display: none !important; }
    .fvBg svg    { display: none !important; }
    .fvBox {
        padding-left: 0 !important;
        gap: 16px !important;
    }
    .fvBg h2 {
        font-size: 6.5vw !important;
        line-height: 1.65 !important;
    }
    /* ① 「に」「した」などspan要素を同サイズに統一 */
    .fvBg h2 span { font-size: 6.5vw !important; }
    .fvBg h2::before { display: none !important; }
    /* ① FV全体を中央揃えに */
    .fvBox { align-items: center !important; }
    .fvBg h2,
    .fvBg p.text { text-align: center !important; }
    .fvBg p.text {
        font-size: 13px !important;
        line-height: 1.75 !important;
    }
    .fvBg p.comp {
        padding-right: 0 !important;
        font-size: 11px !important;
        text-align: center !important;
    }
    .fvCtaWrap { text-align: center !important; margin-top: 28px !important; }
    .fvCtaBtn { font-size: 13px !important; padding: 12px 28px !important; }


    /* ── セクション共通見出し ────────────────────────────── */
    .topMtit01 {
        font-size: 9px !important;
        letter-spacing: 4px !important;
        margin-top: 56px !important;
    }
    .bgBlue .topMtit01, .topBg01 .topMtit01 { margin-top: 0 !important; }
    .topTit01 {
        font-size: 20px !important;
        margin-bottom: 24px !important;
    }


    /* ② 事例カード: pcOnlyを表示 / spOnlyの旧モバイル画像を非表示 */
    /* bgBlue内のpcOnly(topJskBox01を含む)を表示する */
    .bgBlue .cont01 > .pcOnly { display: block !important; }
    /* bgBlue内のspOnly(旧モバイル用画像)を非表示 */
    .bgBlue .spOnly { display: none !important; }


    /* ── BUSINESS (4列 → 2列) ───────────────────────────── */
    .topBusBox {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
    }
    .topBusBox li { padding: 20px 14px 18px !important; }
    /* ③ pcOnlyテキストを表示 */
    .topBusBox li > .pcOnly { display: block !important; }
    .topBusTxt01 {
        font-size: 12px !important;
        height: auto !important;
    }
    .topBusTxt02 {
        transform: none !important;
        width: 100% !important;
        margin-left: 0 !important;
        font-size: 11px !important;
    }


    /* ── SERVICE (縦積み + テキスト再表示) ──────────────── */
    .topSerBg01, .topSerBg02 {
        float: none !important;
        width: 100% !important;
        margin-bottom: 12px !important;
        border-radius: var(--radius-card) !important;
    }
    .topSerBg01::before, .topSerBg02::before { height: 160px; }
    /* ④ pcOnlyテキストを表示 */
    .topSerBg01 > .pcOnly,
    .topSerBg02 > .pcOnly { display: block !important; }
    .topSerBg01 .pcOnly,
    .topSerBg02 .pcOnly { padding: 16px 18px 20px !important; }
    /* ④ spOnlyの旧モバイル画像を非表示 */
    .topSerBox .spOnly { display: none !important; }


    /* ── FIELD: 事例カード (3列 → 1列) ─────────────────── */
    .topJskBox01 {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        margin-bottom: 40px !important;
    }
    .topJskBox01 li div { height: 160px; }
    .topJskTxt04, .topJskTxt05, .topJskTxt06,
    .topJskTxt07, .topJskTxt08, .topJskTxt09 {
        font-size: 13px !important;
        padding: 14px 16px 18px !important;
    }
    .topJskTxt03 {
        font-size: 22px !important;
        margin-bottom: 28px !important;
    }

    /* FIELD セクション: PCの重なりオフセットをリセット */
    .topBg01 {
        margin-top: 0 !important;
        padding-top: 56px !important;
    }
    p.topMtit01:has(+ h3 + .topBg01) { margin-top: 0 !important; }

    /* FIELD topFieBox (事例リンク画像) */
    .topFieBox li { height: auto !important; min-height: 14vw; }
    .topCaseTxt {
        font-size: 12px !important;
        top: 4vw !important;
        left: 14vw !important;
    }

    /* ② topJskTxt10「デジタル要素が少しでも～」フォントサイズ縮小 */
    .topJskTxt10 {
        font-size: 18px !important;
        padding-left: 0 !important;
        margin-bottom: 32px !important;
        line-height: 1.6 !important;
    }
    .topJskTxt10 .span01 { font-size: 16px !important; }


    /* ── FLOW (3列 → 1列 + 書式修正) ─────────────────── */
    /* ⑤ 1列グリッドに変更 */
    .topFlowBox {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        margin-bottom: 56px !important;
    }
    /* ⑤ 背景イラスト画像（クラスなしp）を非表示 */
    .topFlowBox li > p:not(.topFlowTxt01):not(.topFlowTxt02) {
        display: none !important;
    }
    /* ⑤ 旧CSSの絶対配置・固定高さ・paddingをリセット */
    .topFlowTxt01, .topFlowTxt02 {
        position: relative !important;
        height: auto !important;
        font-size: 14px !important;
    }
    .topFlowTxt01 a, .topFlowTxt02 a {
        position: relative !important;
        display: block !important;
        height: auto !important;
        padding: 18px 20px !important;
        padding-top: 18px !important;
        font-size: 14px !important;
        line-height: 1.65 !important;
    }
    .topFlowTxt01 a::after, .topFlowTxt02 a::after {
        display: none !important;
    }


    /* ── お問い合わせフォーム ───────────────────────────── */
    .conBox01 {
        padding: 8px 20px !important;
    }
    .conBox01 dl {
        flex-direction: column !important;
        gap: 8px !important;
    }
    .conBox01 dt {
        width: auto !important;
        min-width: 0 !important;
        padding-top: 0 !important;
        font-size: 13px !important;
    }
    #form_submit_button {
        padding: 16px 48px !important;
        font-size: 15px !important;
        width: 100% !important;
        max-width: 320px !important;
    }


    /* ── USER VOICE: 削除予定のため非表示 ───────────────── */
    .topVoiceCont { display: none !important; }
    h3.topTit01:has(+ div.topVoiceCont) { display: none !important; }
    p.topMtit01:has(+ h3.topTit01 + div.topVoiceCont) { display: none !important; }


    /* ── CTA ─────────────────────────────────────────────── */
    .topContBox { padding: 52px 20px !important; }
    .topContTxt {
        font-size: 20px !important;
        margin-bottom: 24px !important;
        line-height: 1.6 !important;
    }
    .topContImg a, .topContImg02 a {
        display: flex !important;
        justify-content: center !important;
        width: 100%;
        box-sizing: border-box;
        padding: 16px 20px !important;
        font-size: 14px !important;
    }
    .topContImg a::before, .topContImg02 a::before {
        content: 'ご相談・お見積り' !important;
    }


    /* ── フッター ─────────────────────────────────────────── */
    .footBg { padding: 40px 0 32px !important; }
    .footTxt01 {
        transform: none !important;
        width: 100% !important;
        margin-left: 0 !important;
    }
    /* ③ お問い合わせボタンエリア: スマホでフロート解除・中央表示 */
    .foot01.floatR {
        float: none !important;
        width: 100% !important;
        text-align: center !important;
        margin-top: 20px !important;
    }
    .footCon a {
        padding: 16px 28px !important;
        font-size: 14px !important;
        width: 90%;
        justify-content: center !important;
        box-sizing: border-box;
    }


    /* ── 下層ページ共通 SP ───────────────────────────────────── */
    .underFvBg {
        padding: 36px 0 24px !important;
    }
    .underFvTit {
        font-size: 18px !important;
        padding-left: 20px !important;
    }
    .pankuzu {
        padding-left: 20px !important;
        font-size: 10px !important;
        margin-left: 0 !important;
        width: auto !important;
    }
    .underTit01 {
        font-size: 20px !important;
    }
    /* ── case4 SP ────────────────────────────────────────────── */
    .c4Bg01 { padding: 40px 16px !important; }
    .c4ChallengeWrap { flex-direction: column !important; gap: 12px !important; padding: 32px 0 !important; }
    .c4SpecialSection { padding: 40px 16px !important; }
    .c4SpMain { font-size: 20px !important; }
    .c4FeatureWrap { flex-direction: column !important; gap: 12px !important; padding: 32px 0 !important; }
    .c4LastSection { padding: 32px 16px !important; }
    .c4Img06Wrap a { padding: 14px 24px !important; }

    /* ── case3 SP ────────────────────────────────────────────── */
    .c3Bg01 { padding: 40px 16px !important; }
    .c3Bg02 { padding: 40px 16px !important; }
    .c3Txt03 { font-size: 15px !important; }
    .c3Bg03 { padding: 36px 20px !important; margin: 24px 16px !important; max-width: none !important; }
    .c3Tit01 { font-size: 20px !important; }
    .c3LastSection { padding: 32px 16px !important; }
    .c3Img04Wrap a { padding: 14px 24px !important; }

    /* ── case2 SP ────────────────────────────────────────────── */
    .c2Bg01 { padding: 40px 16px !important; }
    .c2Tit01 { font-size: 20px !important; }
    .c2CompareWrap { flex-direction: column !important; gap: 12px !important; padding: 32px 0 !important; }
    .c2OutsourceSection { padding: 40px 16px !important; }
    .c2OsMain { font-size: 20px !important; }
    .c2Bg03 { padding: 48px 16px !important; }
    .c2BenefitCards { flex-direction: column !important; gap: 12px !important; margin-bottom: 28px !important; }
    .c2BenefitCard { padding: 28px 20px !important; }
    .c2BenMain { font-size: 18px !important; }
    .c2Img06Wrap a { padding: 14px 24px !important; }

    /* ── case1 SP ────────────────────────────────────────────── */
    .c1Bg01 { padding: 40px 16px !important; }
    .c1Tit01 { font-size: 20px !important; }
    .c1TeamBox, .c1EduBox { padding: 32px 16px !important; margin: 24px 0 !important; }
    .c1RatioWrap { gap: 12px !important; }
    .c1RatioBlock { padding: 20px 24px !important; }
    .c1RatioNum { font-size: 40px !important; }
    .c1ResultSection { padding: 48px 16px !important; }
    .c1ResultCards { flex-direction: column !important; gap: 12px !important; }
    .c1ResultCards li { padding: 24px 16px !important; }
    .c1QualityBox { padding: 36px 20px !important; }
    .c1QualMain { font-size: 20px !important; }
    .c1Bg02 { padding: 24px 16px !important; }
    .c1Img05Wrap a { padding: 14px 24px !important; }

    .caseTopBox01 {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
        margin: 24px auto 36px !important;
    }
    .caseTopBox01 li p {
        font-size: 12px !important;
        padding: 10px 8px 12px !important;
    }
    .caseTopBox02 {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        margin-bottom: 28px !important;
    }
    .caseTopBox02 li p {
        font-size: 13px !important;
        top: 22% !important;
        right: 45% !important;
        line-height: 1.6 !important;
    }


    /* ── 導入フロー図 SP ────────────────────────────────────── */
    .flowStepWrap { gap: 12px !important; }
    .flowRow { gap: 0 !important; }
    .flowItem { min-width: 80px !important; max-width: 100px !important; padding: 12px 8px !important; }
    .flowLabel { font-size: 11px !important; }
    .flowArrowIcon { font-size: 20px !important; padding: 0 2px !important; }
    .flowDiagramTit { font-size: 15px !important; }
    .flowDiagramTit strong { font-size: 28px !important; }


    /* ── スクリプト比較表 SP (2列維持・サイズ縮小) ─────────── */
    .talkCompare {
        column-gap: 8px !important;
        row-gap: 3px !important;
        margin: 20px auto !important;
    }
    .talkColTit { font-size: 12px !important; padding: 12px 10px !important; }
    .talkCell {
        font-size: 11px !important;
        padding: 9px 8px !important;
        min-height: 34px !important;
        line-height: 1.5 !important;
        border-radius: 6px !important;
    }
    .talkFeatureTxt { font-size: 15px !important; padding: 20px 0 32px !important; }


    /* ── チーム編成 SP ──────────────────────────────────────── */
    .teamHeadTit { font-size: 22px !important; }
    .teamBenefitList { grid-template-columns: 1fr !important; gap: 12px !important; }
    .teamTrainingTable { display: block !important; }
    .teamTrainingTable tr { display: flex !important; flex-wrap: wrap !important; margin-bottom: 8px !important; }
    .teamTrainTh { width: 100% !important; padding: 10px 14px !important; }
    .teamTrainingTable td { width: calc(100% - 80px) !important; padding: 12px 14px !important; font-size: 13px !important; }
    .teamTrainHours { width: 80px !important; }


    /* ── PDCAサイクル SP ─────────────────────────────────────── */
    .pdcaCycleWrap { gap: 0 !important; row-gap: 10px !important; }
    .pdcaItem { min-width: 90px !important; max-width: 110px !important; padding: 12px 10px !important; }
    .pdcaItem p { font-size: 11px !important; }
    .pdcaCycleArrow { font-size: 16px !important; padding: 0 4px !important; }
    .pdcaBg01 { padding: 20px 16px !important; }
    .pdcaBg01 p { font-size: 13px !important; }


    /* ── フローグループ SP ──────────────────────────────────── */
    .talkTxt01 {
        font-size: 18px !important;
        padding: 32px 0 24px !important;
    }
    .pdcaBg01 {
        padding: 24px 20px !important;
    }
    .pdcaBg01 p {
        font-size: 13px !important;
        line-height: 1.9 !important;
    }
    .secTxt01 { font-size: 13px !important; }
    .secTxt02 { font-size: 15px !important; }
    .secTxt03 { font-size: 13px !important; }
    .secBox01 { padding: 16px 18px !important; }
    .secImg01,
    .secImg02 {
        float: none !important;
        width: 100% !important;
        max-width: 260px !important;
        margin: 0 auto 16px !important;
        display: block !important;
    }
    .secBox01 { float: none !important; width: 100% !important; }


    /* ── 下層 セクション見出し SP ───────────────────────────── */
    .underTit02 {
        font-size: 18px !important;
        margin-bottom: 24px !important;
    }


    /* ── 拠点カード SP (1列) ─────────────────────────────────── */
    .comBox02 {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
    .comBox02 li div img {
        height: 200px !important;
    }


    /* ── 会社情報 / 沿革テーブル SP (縦積み) ───────────────── */
    .comBox01,
    .comBox03 { display: block !important; }
    .comBox01 tr,
    .comBox03 tr { display: block !important; margin-bottom: 8px !important; }
    .comBox01 th,
    .comBox03 th {
        display: block !important;
        width: auto !important;
        white-space: normal !important;
        border-right: none !important;
        border-bottom: none !important;
        padding: 10px 14px !important;
    }
    .comBox01 td,
    .comBox03 td {
        display: block !important;
        padding: 10px 14px 14px !important;
    }


    /* ── Q&A SP ─────────────────────────────────────────────── */
    .qaBox01 { padding: 20px 0 10px !important; }
    .qaTxt01,
    .qaTxt02 {
        padding-left: 44px !important;
        font-size: 13px !important;
    }
    .qaTxt01::before,
    .qaTxt02::before { font-size: 17px !important; }


    /* ── プライバシーポリシー / メッセージ SP ────────────────── */
    .priTxt01,
    .spPriTxt01 {
        font-size: 13px !important;
        line-height: 1.9 !important;
    }
    .messPhilo {
        padding: 32px 20px !important;
    }
    .messPhilo p {
        font-size: 14px !important;
        line-height: 2.1 !important;
    }
    .messMain {
        font-size: 18px !important;
    }

    /* ── business SP ────────────────────────────────────────── */
    .csPyramidTier1 { width: 100px !important; }
    .csPyramidTier2 { width: 150px !important; }
    .csPyramidTier3 { width: 200px !important; }
    .csClientGrid { grid-template-columns: repeat(2, 1fr) !important; }
    .csFeatureCard { flex-direction: column !important; align-items: center !important; }
    .csCtaBox { flex-direction: column !important; padding: 24px 20px !important; }
    .csCheckList { max-width: 100% !important; }
    .csSubjectGrid { gap: 6px !important; }
    .csSubjectGrid span { font-size: 12px !important; padding: 6px 14px !important; }
    .csSubjectMain { font-size: 26px !important; }

    /* ── telsales SP ─────────────────────────────────────────── */
    .telBtoBGrid { grid-template-columns: repeat(2, 1fr) !important; }
    .telCompareWrap { grid-template-columns: 1fr !important; }
    .telConclusionBox, .telPlanBox { padding: 24px 20px !important; margin: 12px 0 !important; }
    .telPlanMain strong { font-size: 36px !important; }
    .telSubjectStatNum { font-size: 52px !important; }

}


/* ═══════════════════════════════════════════════════════════════
   画像置き換え — 人物写真を非表示にして図表セクションへ差し替え
   ═══════════════════════════════════════════════════════════════ */

/* ── businessページ ─────────────────────────────────────────── */
/* csBg01 (cs_img01.jpg) を非表示 → csSubjectSection で代替 */
.csBg01 { display: none !important; }

/* cont01.m90 (cs_img03.jpg / cs_img04.jpg) を非表示 → csCtaSection で代替 */
.csBg05 ~ .cont01.m90 { display: none !important; }


/* ── telsalesページ ─────────────────────────────────────────── */
/* telBg01 はすでに display:none 設定済み */

/* tel_img02 (p.cont01 that follows telBg03.cont01) を非表示 */
.telBg03.cont01 + p.cont01 { display: none !important; }

/* tel_img03 / tel_img04 (div.cont01 の中の img のみ) を非表示 */
.telBg04.cont01 + div.cont01 > p:not(.telTxt01):not(.telTxtBox02) { display: none !important; }

/* tel_img05〜07 の cont01.m90 を非表示 → telConclusionBox / telPlanBox で代替 */
.telBg04 ~ .cont01.m90 { display: none !important; }


/* ═══════════════════════════════════════════════════════════════
   社員インタビューページ群 (recruit/interview/) モダン化
   ═══════════════════════════════════════════════════════════════ */

/* ── FVバナー背景 (interview index + detail 共通) ───────────── */
.intFvBg,
.detaFvBg {
    background: linear-gradient(135deg, var(--clr-navy) 0%, #0a2a6e 100%) !important;
    background-image: none !important;
}
.intFvBg .cont01,
.detaFvBg .cont01 {
    background-image: none !important;
}

/* ─────────────────────────────────────────────────────────────
   interview/index.html
   ───────────────────────────────────────────────────────────── */

/* ── 社内について: コンテナ flex化 ──────────────────────────── */
.intCont01 {
    width: 1060px !important;
    max-width: 94% !important;
    margin: 60px auto !important;
    display: flex !important;
    gap: 32px !important;
    align-items: flex-start !important;
    float: none !important;
    height: auto !important;
}
.intCont01 > div {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    width: auto !important;
    height: auto !important;
    padding: 32px !important;
    background: #f7f9ff !important;
    border-radius: 12px !important;
    border: 1px solid rgba(6, 64, 145, 0.12) !important;
    box-shadow: 0 4px 20px rgba(6, 64, 145, 0.07) !important;
    float: none !important;
}
.intCont01 > div:first-child {
    border-right: none !important;
    padding-right: 32px !important;
    margin-right: 0 !important;
}

/* ── 年齢グラフ画像 (int_img01.jpg) を非表示 ───────────────── */
.intCont01 > div:first-child > p {
    display: none !important;
}

/* ── intBg01: 背景画像を除去してテキストとして整形 ──────────── */
.intBg01 {
    background-image: none !important;
    background: none !important;
    padding: 0 !important;
    height: auto !important;
    width: auto !important;
}
.intBg01 .intTxt01 {
    width: auto !important;
    padding: 0 !important;
}

/* ── 社内データ図表 ─────────────────────────────────────────── */
.intStatBox {
    display: flex !important;
    width: 100% !important;
    gap: 12px !important;
    margin: 0 0 20px !important;
    box-sizing: border-box !important;
}
.intStat {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    overflow: hidden !important;
    background: #fff !important;
    border-radius: 8px !important;
    padding: 16px !important;
    text-align: center !important;
    border: 1px solid rgba(6, 64, 145, 0.15) !important;
}
.intStatLabel {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: var(--clr-navy) !important;
    letter-spacing: 0.1em !important;
    margin-bottom: 8px !important;
}
.intStatNum {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--clr-navy) !important;
    line-height: 1 !important;
    margin: 0 !important;
}
.intStatNum span {
    font-family: 'Inter', sans-serif !important;
    font-size: 40px !important;
    font-weight: 700 !important;
    display: inline-block !important;
    margin-right: 2px !important;
}
.intGenderBar {
    display: flex !important;
    width: 100% !important;
    height: 34px !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    margin-top: 10px !important;
}
.intGenderM {
    flex: 6 !important;
    background: var(--clr-navy) !important;
    color: #fff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
}
.intGenderF {
    flex: 4 !important;
    background: var(--clr-red) !important;
    color: #fff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
}

/* ── 子育て宣言画像 ─────────────────────────────────────────── */
.intCont01 > div:last-child > p img {
    width: 100% !important;
    height: auto !important;
    border-radius: 8px !important;
    display: block !important;
    margin-bottom: 16px !important;
}
.intTxtBox01 {
    width: auto !important;
}

/* ── 本文テキスト・強調 ─────────────────────────────────────── */
.intTxt01 {
    font-size: 15px !important;
    line-height: 1.85 !important;
    color: #333 !important;
}
.blueTxt {
    color: var(--clr-navy) !important;
    font-weight: 700 !important;
}

/* ── 社員インタビュー: リストをカード化 ─────────────────────── */
.intCont02 {
    width: 1060px !important;
    max-width: 94% !important;
    margin: 0 auto 60px !important;
    list-style: none !important;
    padding: 0 !important;
}
.intCont02 > li {
    display: flex !important;
    gap: 32px !important;
    align-items: flex-start !important;
    margin: 0 0 36px !important;
    padding: 32px !important;
    background: #f7f9ff !important;
    border-radius: 12px !important;
    border: 1px solid rgba(6, 64, 145, 0.12) !important;
    box-shadow: 0 4px 20px rgba(6, 64, 145, 0.07) !important;
    float: none !important;
}

/* ── 社員写真 ──────────────────────────────────────────────── */
.intImg01 {
    width: 180px !important;
    flex-shrink: 0 !important;
    float: none !important;
}
.intImg01 img {
    width: 100% !important;
    height: auto !important;
    border-radius: 10px !important;
    display: block !important;
}

/* ── インタビュー本文エリア ─────────────────────────────────── */
.intBox01 {
    flex: 1 !important;
    width: auto !important;
    float: none !important;
}

/* ── 社員名の画像テキスト ───────────────────────────────────── */
.intImg02 {
    margin-bottom: 10px !important;
}
.intImg02 img {
    max-width: 240px !important;
    height: auto !important;
    display: block !important;
}

/* ── 社員名・役職テキスト ───────────────────────────────────── */
.intNameBox {
    border-left: 4px solid var(--clr-navy) !important;
    padding-left: 12px !important;
    margin-bottom: 16px !important;
}
.intName {
    font-family: 'Noto Sans JP', sans-serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--clr-navy) !important;
    letter-spacing: 0.08em !important;
    margin-bottom: 4px !important;
}
.intRole {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #666 !important;
    letter-spacing: 0.06em !important;
}

/* ── 質問テキスト ───────────────────────────────────────────── */
.intTit02 {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--clr-navy) !important;
    border-left: 3px solid var(--clr-navy) !important;
    padding-left: 10px !important;
    margin-bottom: 12px !important;
    line-height: 1.5 !important;
}

/* ── 詳細ボタン: [href*="detail"] に "インタビュー詳細をみる" ─ */
.recBtn a[href*="detail"]::after {
    content: 'インタビュー詳細をみる →' !important;
}
.intBox01 .recBtn {
    text-align: right !important;
    margin-top: 16px !important;
}

/* ── 委員会制度 補助テキスト ────────────────────────────────── */
.intTxt02 {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #333 !important;
}

/* ── 委員会制度: 6グリッドカード ──────────────────────────── */
.intCont03 {
    width: 1060px !important;
    max-width: 94% !important;
    margin: 0 auto 40px !important;
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 24px !important;
    list-style: none !important;
    padding: 0 !important;
    float: none !important;
}
.intCont03 li {
    width: auto !important;
    margin: 0 !important;
    background: #f7f9ff !important;
    border-radius: 10px !important;
    border: 1px solid rgba(6, 64, 145, 0.1) !important;
    overflow: hidden !important;
    float: none !important;
    padding: 0 !important;
}
.intCont03 li > div {
    width: 100% !important;
    overflow: hidden !important;
}
.intCont03 li > div img {
    width: 100% !important;
    height: 130px !important;
    object-fit: cover !important;
    display: block !important;
}
.intTit03 {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--clr-navy) !important;
    text-align: center !important;
    padding: 12px 16px 6px !important;
    background: none !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
}
.intCont03 .intTxt01 {
    font-size: 13px !important;
    padding: 0 14px 16px !important;
    line-height: 1.7 !important;
    color: #444 !important;
    width: auto !important;
}

/* ── 委員会制度セクションを非表示 ──────────────────────────── */
.intCommitteeSection {
    display: none !important;
}

/* ── 採用情報へ戻るボタン ───────────────────────────────────── */
.spRecBtn02 img {
    display: none !important;
}
.spRecBtn02 a {
    display: inline-flex !important;
    align-items: center !important;
    padding: 14px 32px !important;
    background: var(--clr-navy) !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    letter-spacing: 0.05em !important;
    transition: opacity 0.2s !important;
    background-image: none !important;
}
.spRecBtn02 a[href*="recruit"]::after {
    content: '採用情報へ戻る' !important;
}
.spRecBtn02 a[href*="call-center-info"]::after {
    content: 'お問合せはこちら' !important;
}
.spRecBtn02 a:hover {
    opacity: 0.85 !important;
}

/* ─────────────────────────────────────────────────────────────
   recruit/interview/detail1/ & detail2/
   ───────────────────────────────────────────────────────────── */

/* ── 詳細ページ コンテンツ幅 ────────────────────────────────── */
.cont02 {
    width: 860px !important;
    max-width: 94% !important;
    margin: 40px auto 60px !important;
}

/* ── 詳細ページ ヒーロー（写真＋名前・役職） ────────────────── */
.detaHero {
    display: flex !important;
    align-items: center !important;
    gap: 28px !important;
    margin-bottom: 40px !important;
    padding-bottom: 32px !important;
    border-bottom: 1px solid rgba(6, 64, 145, 0.1) !important;
}
.detaHero .intImg01 {
    width: 140px !important;
}

/* ── メイン社員写真 ─────────────────────────────────────────── */
.cont02 > p:first-child img {
    width: 100% !important;
    max-width: 480px !important;
    height: auto !important;
    border-radius: 10px !important;
    display: block !important;
    margin: 0 auto 40px !important;
}

/* ── Q&A リスト ─────────────────────────────────────────────── */
.cont02 > ul {
    list-style: none !important;
    padding: 0 !important;
}
.cont02 > ul > li {
    border-bottom: 1px solid rgba(6, 64, 145, 0.1) !important;
    padding-bottom: 28px !important;
    margin-bottom: 28px !important;
}
.cont02 > ul > li:last-child {
    border-bottom: none !important;
}

/* ── Q&A 内: テキスト横に並ぶ社員写真 ──────────────────────── */
.intImg03 {
    width: 200px !important;
    float: right !important;
    margin-left: 24px !important;
    margin-bottom: 12px !important;
}
.intImg03 img {
    width: 100% !important;
    height: auto !important;
    border-radius: 8px !important;
    display: block !important;
}
.intTxtBox02 {
    width: auto !important;
}

/* ── interview SP ────────────────────────────────────────────── */
@media screen and (max-width: 768px) {
    .intCont01 {
        flex-direction: column !important;
        width: 92% !important;
        gap: 20px !important;
    }
    .intCont01 > div { padding: 20px !important; }
    .intCont02 > li {
        flex-direction: column !important;
        width: 92% !important;
        gap: 16px !important;
        padding: 20px !important;
    }
    .intImg01 { width: 100px !important; }
    .intCont03 {
        grid-template-columns: repeat(2, 1fr) !important;
        width: 92% !important;
        gap: 16px !important;
    }
    .intImg03 {
        width: 120px !important;
        margin-left: 12px !important;
    }
    .cont02 { width: 92% !important; }
}


/* ═══════════════════════════════════════════════════════════════
   採用ページ (recruit/index.html) モダン化
   ═══════════════════════════════════════════════════════════════ */

/* ── FVバナー背景 ───────────────────────────────────────────── */
.recFvBg {
    background: linear-gradient(135deg, var(--clr-navy) 0%, #0a2a6e 100%) !important;
    background-image: none !important;
}
.recFvBg .cont01 {
    background-image: none !important;
}

/* ── コンテンツエリア: float → flex カード ──────────────────── */
.recCont01 {
    width: 1060px !important;
    max-width: 94% !important;
    margin: 60px auto 80px !important;
    display: flex !important;
    gap: 32px !important;
    align-items: flex-start !important;
    height: auto !important;
    float: none !important;
}
.recCont01 > div {
    flex: 1 !important;
    width: auto !important;
    height: auto !important;
    padding: 36px !important;
    margin-right: 0 !important;
    background: #f7f9ff !important;
    border-radius: 12px !important;
    border: 1px solid rgba(6, 64, 145, 0.12) !important;
    box-shadow: 0 4px 20px rgba(6, 64, 145, 0.07) !important;
    float: none !important;
}
.recCont01 > div:first-child {
    border-right: none !important;
    padding-right: 36px !important;
    margin-right: 0 !important;
}

/* ── 採用区分ヘッダー (社員採用 / アルバイト採用) ──────────── */
.recCont01 .underTit02 {
    display: flex !important;
    align-items: center !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    color: var(--clr-navy) !important;
    -webkit-text-fill-color: var(--clr-navy) !important;
    padding: 12px 16px !important;
    margin-bottom: 24px !important;
    background: rgba(6, 64, 145, 0.07) !important;
    background-image: none !important;
    border-radius: 6px !important;
    border: none !important;
    border-left: 4px solid var(--clr-navy) !important;
    border-bottom: none !important;
    letter-spacing: 0.08em !important;
}
.recCont01 .underTit02::after {
    display: none !important;
}

/* ── 採用種別ラベル (新卒採用 / 中途採用 / アルバイト・パート) */
.recTit01 {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--clr-navy) !important;
    border-left: 3px solid var(--clr-navy) !important;
    padding: 2px 0 2px 10px !important;
    margin: 20px 0 6px !important;
    background: none !important;
    letter-spacing: 0.05em !important;
}

/* ── 募集条件ラベル ──────────────────────────────────────────── */
.recTit02 {
    display: inline-block !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #fff !important;
    background: var(--clr-red) !important;
    padding: 3px 10px !important;
    border-radius: 3px !important;
    margin: 10px 0 8px !important;
    letter-spacing: 0.08em !important;
}

/* ── 求人リンクリスト ──────────────────────────────────────── */
.recBox01 {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 24px !important;
}
.recBox01 li {
    border-bottom: 1px solid rgba(6, 64, 145, 0.1) !important;
    margin-bottom: 0 !important;
    font-size: 14px !important;
}
.recBox01 li:first-child {
    border-top: 1px solid rgba(6, 64, 145, 0.1) !important;
}
.recBox01 li a {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 13px 10px !important;
    color: var(--clr-navy) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    background-image: none !important;
    transition: background 0.18s, padding-left 0.18s !important;
}
.recBox01 li a::before {
    content: '' !important;
    display: inline-block !important;
    width: 6px !important;
    height: 6px !important;
    border-top: 2px solid var(--clr-red) !important;
    border-right: 2px solid var(--clr-red) !important;
    transform: rotate(45deg) !important;
    flex-shrink: 0 !important;
}
.recBox01 li a:hover {
    background: rgba(6, 64, 145, 0.06) !important;
    padding-left: 18px !important;
    opacity: 1 !important;
}

/* ── インタビューCTAボタン ──────────────────────────────────── */
/* recBtn a[href*="recruit"] はTopページ用。interview リンクを上書き */
.recCont01 .recBtn {
    text-align: center !important;
}
.recBtn a[href*="interview"] {
    display: inline-flex !important;
    width: auto !important;
    justify-content: center !important;
    background: linear-gradient(135deg, var(--clr-navy), #0a52b8) !important;
    color: #fff !important;
    margin-top: 12px !important;
}
.recBtn a[href*="interview"]::after {
    content: '社員インタビューをみる →' !important;
}

/* ── 人物イラスト画像を非表示 ───────────────────────────────── */
.recCont01 .tCenter {
    display: none !important;
}

/* ── 募集停止中ページ (recruit/closed/) ─────────────────────── */
.recClosedBox {
    width: 660px !important;
    max-width: 90% !important;
    margin: 80px auto 100px !important;
    text-align: center !important;
    padding: 60px 48px !important;
    background: #f7f9ff !important;
    border-radius: 16px !important;
    border: 1px solid rgba(6, 64, 145, 0.12) !important;
    box-shadow: 0 4px 24px rgba(6, 64, 145, 0.07) !important;
}
.recClosedLabel {
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.25em !important;
    color: #fff !important;
    background: var(--clr-red) !important;
    display: inline-block !important;
    padding: 4px 18px !important;
    border-radius: 4px !important;
    margin-bottom: 24px !important;
}
.recClosedTit {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: var(--clr-navy) !important;
    margin-bottom: 24px !important;
    letter-spacing: 0.05em !important;
}
.recClosedTxt {
    font-size: 15px !important;
    line-height: 2 !important;
    color: #555 !important;
    margin-bottom: 40px !important;
}
.recClosedBtn a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 14px 36px !important;
    background: var(--clr-navy) !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    letter-spacing: 0.05em !important;
    transition: opacity 0.2s !important;
}
.recClosedBtn a:hover {
    opacity: 0.85 !important;
}

/* ── recruit SP ─────────────────────────────────────────────── */
@media screen and (max-width: 768px) {
    .recCont01 {
        flex-direction: column !important;
        width: 92% !important;
        gap: 20px !important;
    }
    .recCont01 > div {
        padding: 20px !important;
    }
    .recTit01 { font-size: 14px !important; }
    .recBox01 li { font-size: 13px !important; }
}
