*, *::before, *::after {
    box-sizing: border-box !important;
}

:root {
  --custom_main_blue: #0A58CA;  /* rgb(10,88,202) */   
  --custom_sub_ice: #E0F4FF;  /* rgb(224,244,255) */      
  --custom_accent_orange: #FF7A00; /* rgb(255,122,0) */
  --custom_accent_blue: #2589d0; /* rgb(37,137,208) */
  --custom_text_navy: #1A2B4C; /* rgb(26,43,76) */ 
  --custom_text_green: #16A34A; /* rgb(22,163,74) */
  --custom_sub_pink:     #FFF0F3;         /* 既存のパステルに100%馴染む、洗練された桜色 */
  --custom_text_pink:    #C2115B;         /* 白背景でも薄ピンクの上でも、文字がクッキリ読める濃いローズ */
  
  --public: var(--custom_sub_ice);  
  --public_text: var(--custom_main_blue);
  --finance: #E6F4EA;
  --finance_text: #137333;
  --social: #FFF0E0;
  --social_text: #B06000;
  --product: #F3E8FF;
  --product_text: #6B21A8; /* rgb(107,33,168) */
  --recruit:             var(--custom_sub_pink);  
  --recruit_text:        var(--custom_text_pink);
  
  --public_border:  color-mix(in srgb, var(--custom_sub_ice) 50%, var(--custom_main_blue));
  --finance_border: color-mix(in srgb, var(--finance) 50%, var(--finance_text));
  --social_border:  color-mix(in srgb, var(--social) 50%, var(--social_text));
  --product_border: color-mix(in srgb, var(--product) 50%, var(--product_text));
  --recruit_border:  color-mix(in srgb, var(--recruit) 50%, var(--recruit_text));
}

img { margin:0 !important; }

/* ==========================================================================
    汎用パーツ：PC・スマホの表示出し分けルール
   ========================================================================== */
/* --- 1. 最初は「PCサイズ」としての基本設定 --- */
/* 「スマホ専用」のものは、PCの画面ではあらかじめ消しておく */
.img-box.sp-only, .pageHeader__detial.sp-only {
    display: none !important;
}

/* --- 2. 「スマホサイズ（767px以下）」になった時の切り替え設定 --- */
@media (max-width: 767px) {
    /* 「PC専用」のものを、スマホ画面で完全に消し去る */
    .img-box.pc-only, .pageHeader__detial.pc-only {
        display: none !important;
    }
    /* 消しておいた「スマホ専用」のものを、スマホ画面で復活させる */
    .img-box.sp-only, .pageHeader__detial.sp-only {
        display: block !important; 
    }
}



/* ==========================================================================
   汎用パーツ：左線付きのアクセントタイトル（オレンジ）
   ========================================================================== */
.subtitle-orange {
    border-left: 6px solid var(--custom_accent_orange) !important;
    color: var(--custom_accent_orange) !important;
    padding-left: 10px !important;
    font-weight: bold !important;
    margin-top: 10px !important;
    margin-bottom: 0.8em !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* ==========================================================================
   共通モーダル（実績NO.1：jQuery完全連動版）
   ========================================================================== */
/* 1. モーダル全体（最初は非表示） */
#common-modal {
  display: none; 
  position: fixed !important;
  top: 0 !important; left: 0 !important;
  width: 100% !important; height: 100% !important;
  z-index: 99999 !important;
  justify-content: center !important;
  align-items: center !important;
}

/* 2. 背景（うっすら黒背景） */
.modal-overlay {
  position: absolute !important;
  width: 100% !important; height: 100% !important;
  background: rgba(0, 0, 0, 0.6) !important;
}

/* 3. 画像とボタンを包む枠 */
.modal-content-wrapper {
  position: relative !important; 
  max-width: 80% !important;
  max-height: 80% !important;
  background: #ffffff !important;
  padding: 12px !important;
  border-radius: 8px !important;
}

/* 4. 画像本体 */
.modal-image {
  display: block !important;
  max-width: 100% !important;
  max-height: 70vh !important;
  height: auto !important;
}

/* 5. 閉じるボタン（画像の右上に綺麗に配置） */
.modal-close-btn {
  position: absolute !important;
  top: 10px !important;
  right: 15px !important;
  font-size: 35px !important;
  color: #333333 !important;
  text-decoration: none !important;
  font-weight: bold !important;
  line-height: 1 !important;
  z-index: 100000 !important;
  cursor: pointer !important;
}

/* 6. 開くリンク（マウスを指マークにする） */
.modal-open {
  cursor: pointer !important;
}


/* ==========================================================================
   リンク時の動作
   ========================================================================== */
a img, a.modal-open img {
    transition: opacity 0.3s ease !important; 
}

/* 🎯 マウスを載せた時 */
a:hover img, a.modal-open img:hover { 
    opacity: 0.7 !important;
    color: #e60012 !important;
} 

a:hover { color: #e60012 !important; }


a button {
    transition: all 0.3s ease !important;
}

a:hover button {
    background-color: var(--custom_text_navy) !important; /* 背景をサクシード様の濃いネイビーに！ */
    color: #ffffff !important;                         /* 文字色を完全な白に！ */
    border-color: var(--custom_text_navy) !important;  /* 枠線もネイビーで一体化！ */
}

@media (max-width: 991px){ a button { font-size:1em !important; } }


/* ==========================================================================
   ページ内ナビゲーション（右端ワープ＆「＞」消去完全版）
   ========================================================================== */
.page-nav-wrap {
    text-align: left;
    margin: 20px 0;
    border-bottom: 1px solid rgba(26, 43, 76, 0.15);
}

.page-nav-list {
    display: flex !important;
    width: 100% !important;
    gap: 40px;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.page-nav-list a {
    color: var(--custom_text_navy) !important;
    font-weight: bold !important;
    text-decoration: none !important;
    transition: color 0.3s ease;
}

/* マウスをのせた時の色変更 */
.page-nav-list a:hover {
    color: var(--custom_main_blue) !important;
}

/* 🚀 右端ワープ：戻るボタンだけを右端に引き寄せます */
.page-nav-list li.nav-return {
    margin-left: auto !important;
    padding-left: 0 !important; 
}

/* ❌ 戻るボタンの頭に出ているお節介な「＞」マークを完全消滅させる！ */
.page-nav-list li.nav-return::before,
.page-nav-list li.nav-return:before {
    display: none !important;
    content: none !important;
}

/* 📱 タブレット・スマホ（767px以下） */
@media (max-width: 767px) {
    .page-nav-wrap { 
        margin: 10px 0; 
    }
    .page-nav-list {
        gap: 16px !important;              
    }
    .page-nav-list li.nav-return {
        margin-left: 0 !important;          
        margin-top: 4px !important; 
    }
}

/* ==========================================================================
   ★最終完成版：番号付きリスト（ol）を「極上シンプルな四角リスト」に魔改造
   ========================================================================== */
/* 1. ol（塊）自体の設定：数字と上下の謎の余白を完全消去 */
.wysiwyg ol,
td ol {
    list-style: none !important;
    list-style-type: none !important;
    padding-left: 0 !important;
    margin: 0 !important; 
}

/* 2. li（各項目）：左側の不要な余白も完全抹殺 */
.wysiwyg ol li,
td ol li {
    list-style: none !important;
    list-style-type: none !important;
    position: relative !important;
    padding-left: 1.5em !important; 
    margin-left: 0; 
    margin-bottom: 0.8em; 
    color: var(--custom_text_navy);
    line-height: 1.5;
}

.wysiwyg ol li:last-child,
td ol li:last-child {
    margin-bottom: 0 !important;
}

/* 3. 一部ブラウザでしぶとく残る「1. 2. 3.」の数字を空気にする */
.wysiwyg ol li::marker,
td ol li::marker {
    content: "" !important;
    display: none !important;
    speak: none !important;
}

/* 4. サイズ・位置・色みの黄金バランス */
.wysiwyg ol li::before,
td ol li::before {
    content: "" !important;
    border: none !important;
    rotate: 0deg !important;
    border-radius: 0px !important;
    width: 8px !important;
    height: 8px !important;
    background-color: #2A4B7C !important; 
    position: absolute !important;
    top: 6px !important; 
    left: 0 !important;
    display: block !important;
}
@media (max-width: 767px) {
    .wysiwyg ol, .wysiwyg ul { padding-left: 0px !important; }
    .wysiwyg ol li, .wysiwyg ul li { padding-left: 10px !important; }
}

/* ==========================================================================
   🎯 【新設】PC・スマホ共通：いつでもどこでも綺麗に横並びにする魔法のリスト
   ========================================================================== */
.flex-list-always {
    display: flex !important;
    flex-wrap: wrap !important;    
    gap: 8px 15px !important;      
}
.flex-list-always li {
    width: auto !important;            
    white-space: nowrap !important;    
    margin-bottom: 0 !important;       
}

/* ==========================================================================
   🎯 【新設】PC限定：社名の長さに合わせて美しく横並びにする魔法のリスト
   ========================================================================== */
@media (min-width: 768px) {
  .flex-list {
      display: flex !important;
      flex-wrap: wrap !important;  
      gap: 12px 35px !important;   
  }
  .flex-list li {
      width: auto !important;          
      white-space: nowrap !important;  
      margin-bottom: 0 !important;     
  }
}

/* ==========================================================================
   汎用パーツ：fieldset と legend のライン重ね合わせ救済措置
   ========================================================================== */
fieldset {
    position: relative !important;    
    margin: 30px 0 !important;
    padding: 24px 20px 20px !important; 
    border: 1px solid rgba(26, 43, 76, 0.2) !important; 
    border-radius: 6px !important;
}

legend {
    position: absolute !important;
    top: 0 !important;                
    left: 20px !important;            
    transform: translateY(-50%) !important; 
    background: #ffffff !important;   
    padding: 0 10px !important;       
    display: inline-block !important;
    width: auto !important;           
    color: var(--custom_text_navy) !important;
    font-weight: bold !important;
    font-size: 1.1rem !important;
}

/* ==========================================================================
   ★完全リニューアル：極上シンプル・レスポンシブテーブル
   ========================================================================== */
.category-section {
    padding: 10px 20px 20px 20px; 
}

.category-section.bg-gray {
    background-color: #F4F8FA !important; 
}

@media (max-width: 767px) {
    .category-section { padding: 10px 5px; }
}

/* ==========================================================================
   h2 サブタイトル
   ========================================================================== */
html body .mt-heading {
    margin-bottom:0px;
    padding: 20px 0 20px 10px;
    border-bottom: 3px solid #364e96 !important;
}
  
html body .mt-heading span,
html body .wysiwyg h2 span,
html body h2 span {
    font-size: 0.95rem !important;         
    font-weight: 500 !important;          
    color: #94A3B8 !important;            
    margin-left: 15px !important;          
    letter-spacing: 0.1em !important;      
    text-transform: uppercase !important; 
    display: inline-block !important;
    vertical-align: baseline !important;
}

@media (max-width: 767px) {
  html body .mt-heading {
    font-size:18px;
    padding:10px 0 10px 10px;
  }
  html body .wysiwyg h2 span {
    font-size: 14px !important;
  }
}

/* ==========================================================================
   下吹き出し付き下線サブタイトル
   ========================================================================== */
.mt-heading-chat {
    position: relative;
    padding: .5em .7em .4em;
    border-top: 3px solid #364e96;
    border-bottom: 3px solid #364e96;
    color: #333333;
}

.mt-heading-chat ::before,
.mt-heading-chat ::after {
    position: absolute;
    left: 30px;
    bottom: -15px;
    width: 30px;
    height: 15px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
}

.mt-heading-chat ::before {
    background-color: #364e96;
}

.mt-heading-chat ::after {
    bottom: -11px;
    background-color: #fff;
}

/* ==========================================================================
   テーブルレイアウト:style-table(レスポンシブ）/ style-table-fix(固定）
   ========================================================================== */
.style-table, .style-table-fix {
    width: 100% !important;
    border-collapse: collapse !important;
    border:none !important; 
    border-top: 2px solid rgba(26, 43, 76, 0.15) !important; 
    border-bottom: 2px solid rgba(26, 43, 76, 0.15) !important; 
    margin: 10px 0 !important;
    background: transparent !important;
}

.style-table tr, 
.style-table-fix thead tr, .style-table-fix tbody tr {
    background: transparent !important;
}

.style-table th, .style-table td,
.style-table-fix tbody th, .style-table-fix tbody td{
    padding: 15px;
    text-align: left !important;
    border: none !important; 
    border-bottom: 1px solid rgba(26, 43, 76, 0.15) !important;
    vertical-align: top;
}

.style-table th, .style-table-fix tbody th {
    width: 25% !important;
    font-weight: 600 !important;
    border-right: 15px solid #fff !important;
    background: #b3ecff !important; 
}

.style-table td, .style-table-fix tbody td {
    color: var(--custom_text_navy) !important;
    background: #fff !important;
}

.style-table-fix thead th, .style-table-fix thead td {
     color: var(--custom_accent_blue) !important;
     border:none !important;
     border-bottom: 2px solid rgba(26, 43, 76, 0.15) !important; 
     background: #fff !important;
     padding: 10px 15px !important;
  }

.style-table-fix tbody th, .style-table-fix tbody td {
    font-weight: normal !important;
}

.style-table-fix thead th:first-child {
    border-right: 15px solid #fff !important;
}
.style-table-fix thead th, .style-table-fix thead td,
.style-table-fix tbody th, .style-table-fix tbody td { 
  width:auto !important; 
}

@media (max-width: 767px) {
    .style-table, 
    .style-table tbody, 
    .style-table tr, 
    .style-table th, 
    .style-table td {
        display: block !important;
        width: 100% !important;
        border: none !important; 
        box-shadow: none !important;
    }
  
    .style-table {  
      margin-top: 10px !important; 
      margin-bottom: 15px !important; 
      border-top: 2px solid rgba(26, 43, 76, 0.15) !important;
      border-bottom: 1px solid rgba(26, 43, 76, 0.15) !important;  
    }  
    
    .style-table tr {
        padding: 6px 0 !important; 
        border-bottom: 1px solid rgba(26, 43, 76, 0.15) !important; 
    }
    
    .style-table th {
        padding: 0 0 4px 0 !important; 
        font-size: 13px !important; 
        font-weight: 700 !important;
        background: transparent !important;
        color: var(--custom_accent_blue) !important;
    }
  
    .style-table th, .style-table-fix thead th:first-child, .style-table-fix tbody th { border-right: 10px solid #fff !important; }

    .style-table td {
        padding:0 0 0 10px !important; 
        color: var(--custom_text_navy) !important;
        line-height: 1.5 !important;
    }
  .style-table td ol li { margin-bottom:8px; }
  
  .style-table-fix thead th, .style-table-fix thead td, 
  .style-table-fix tbody th, .style-table-fix tbody td { 
    padding: 5px 10px !important;
    background: #fff !important;
  }
}

/* ==========================================================================
   Googlemap
   ========================================================================== */
.map-container {
    width: 100%;
    height: 450px;
    margin-top: 40px;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}
.map-container iframe {
    width: 100% !important;
    height: 100% !important;
    border: none !important;
}

/* ==========================================================================
   汎用パーツ：横並びギャラリー用（gallery-mode）
   ========================================================================== */
.img-box.gallery-mode {
    height: 230px !important;
    padding: 5px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
}

.img-box.gallery-mode img {
    height: 100% !important;
    width: auto !important;
    object-fit: cover !important;
    display: block !important;
}

.img-box.gallery-mode iframe {
    border: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

.img-box.gallery-mode .img-title {
    font-size: 0.85rem !important;
    padding: 25px 10px 8px 10px !important;
    left: 5px !important;
    width: calc(100% - 10px) !important;
}

/* ==========================================================================
   実績カード専用パーツ（見た目の装飾のみ・幅は万能システムで制御）
   ========================================================================== */
.badge-public  { background: var(--custom_sub_ice) !important; color: var(--custom_main_blue) !important; border:var(--custom_sub_ice) 2px solid!important; }
.badge-finance { background: #E6F4EA !important; color: #137333 !important; border:#E6F4EA 2px solid!important; }
.badge-social  { background: #FFF0E0 !important; color: #B06000 !important; border:#FFF0E0 2px solid!important; }
.badge-product { background: #F3E8FF !important; color: #6B21A8 !important; border:#F3E8FF 2px solid!important; }

/* ==========================================================================
   Google Map
   ========================================================================== */
.map {
  width: 100%;
}

@media (min-width: 768px) {
  .map {
    aspect-ratio: 16 / 9; 
  }
}

@media (max-width: 767px) {
  .map {
    aspect-ratio: 4 / 3; 
  }
}

/* ==========================================================================
   汎用パーツ：製品紹介・丸ごとリンクカード（product-card）
   ========================================================================== */
.product-card, .business-card {
    display: block !important;        
    border: 2px solid rgba(26, 43, 76, 0.15) !important;
    margin: 10px !important;
    box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.08) !important; 
    text-decoration: none !important; 
    color: #333333 !important;        
    overflow: hidden !important;      
    border-radius: 8px;    
    transition: all 0.3s ease !important; 
}

a.product-card:hover {
    transform: translateY(-5px) !important;   
    box-shadow: 0 10px 20px rgba(26, 43, 76, 0.15) !important; 
    border-color: #364e96 !important;         
}

.product-card .card-logo-zone {
    padding: 20px !important;
    background: #ffffff !important;
    text-align: center !important;
    border-color: rgba(26, 43, 76, 0.15);
    border-width: 0px;
    border-style: solid;
}

.product-card .card-logo-zone h3 {
    font-size:20px !important;
    color: var(--custom_accent_blue); 
    font-weight:bold;
    margin: 10px 0 !important;
}

.business-card { border-radius:0 !important; box-shadow:none!important; }
.business-card .card-logo-zone { padding:10px 0; }
.business-card .card-logo-zone h3 {
    font-size:40px;
    font-weight:bold;
    text-align:center;
    margin: 10px 0 !important;
}

.product-card .card-text-zone {
    padding: 20px !important;
    background: rgba(218,246,250,0.6) !important;
}
.product-card .card-text-zone h4 {
    color: #364e96 !important; 
    font-weight:bold;
}

.business-card .card-text-zone {
    padding: 20px !important;
    background: #fff !important;
}

@media (max-width: 767px) {
  .product-card .card-logo-zone h3 { font-size: 18px !important; margin:0 !important; }
  .business-card .card-logo-zone h3 { font-size: 22px !important; margin:0 !important; }
}

/* ==========================================================================
   汎用パーツ：信頼感を高めるキャッチコピー（message-lead：グラデーション進化版）
   ========================================================================== */
.message-lead {
    text-align: center !important;
    font-size: 1.2rem !important;        
    font-weight: bold !important;
    color: #ffffff !important;          
    letter-spacing: 0.15em !important;  
    line-height: 1.8 !important;
    background: var(--custom_accent_blue);
    padding: 30px 25px !important;      
    margin: 50px auto 25px auto !important; 
    border: 2px solid var(--custom_accent_blue);            
    box-shadow: 5px 5px 0 #2589d066; 
    max-width: 800px !important;        
}

@media (max-width: 767px) {
    .message-lead {
        font-size: 15px !important;  
        letter-spacing: 0.1em !important;
        padding: 25px 15px !important;
        margin: 20px auto 15px auto !important;
        border-radius: 0px !important;  
    }
}

/* ==========================================================================
   デザイン案A：アシンメトリー・リーフバッジ（.sub-badge-leaf)
   ========================================================================== */
.sub-badge-leaf {
    display: inline-block !important;
    font-size: 15px !important;
    font-weight: bold !important;
    color: #ffffff !important;         
    background: linear-gradient(135deg, var(--custom_accent_orange) 0%, #ff9e40 100%) !important;
    border-radius: 18px 4px 18px 4px !important;
    padding: 6px 16px !important;
    margin: 15px 0 !important;
    box-shadow: 2px 3px 8px rgba(255, 122, 0, 0.2) !important; 
}
.sub-badge-leaf .fa-solid, 
.sub-badge-leaf .fa-regular {
    margin-right: 6px !important;
}

/* ==========================================================================
   デザイン案B：2Dソリッドシャドウ・ポップバッジ（.sub-badge-pop)
   ========================================================================== */
.sub-badge-pop {
    display: inline-block !important;
    font-size: 15px !important;
    font-weight: bold !important;
    color: #ffffff !important;
    background: var(--custom_accent_orange) !important;
    border: 2px solid var(--custom_accent_orange) !important;
    border-radius: 6px !important; 
    padding: 5px 14px !important;
    margin: 15px 0 !important;
    box-shadow: 4px 4px 0 rgba(26, 43, 76, 0.15) !important; 
}
.sub-badge-pop .fa-solid, 
.sub-badge-pop .fa-regular {
    margin-right: 6px !important;
}

/* ==========================================================================
   デザイン案C【神域の完成版】：アイコン部屋固定・内側白線リボン（.sub-badge-sharp）
   ========================================================================== */
.sub-badge-sharp {
    display: inline-block !important;
    font-size: 18px !important;
    font-weight: bold !important;
    color: #ffffff !important;
    background: rgba(255, 122, 0, 0.8) !important; 
    position: relative !important; 
    padding: 8px 38px 8px 55px !important; 
    margin: 20px 0 !important;
    clip-path: polygon(0% 0%, calc(100% - 24px) 0%, 100% 100%, 0% 100%) !important;
}

.sub-badge-sharp::before {
    content: "" !important;
    position: absolute !important;
    left: 40px !important;         
    top: 0px !important;               
    bottom: 0px !important;        
    width: 2px !important;         
    background-color: #ffffff !important;
}

.sub-badge-sharp .fa-solid,
.sub-badge-sharp .fa-regular,
.sub-badge-sharp span:first-child {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 40px !important;         
    height: 100% !important;        
    display: inline-flex !important;
    align-items: center !important;     
    justify-content: center !important;    
    margin-right: 0 !important;     
}

@media (max-width: 767px) {
    .sub-badge-sharp {
        font-size: 15px !important;
        padding: 6px 30px 6px 45px !important; 
        clip-path: polygon(0% 0%, calc(100% - 16px) 0%, 100% 100%, 0% 100%) !important;
    }
    .sub-badge-sharp::before {
        left: 32px !important; 
        top: 5px !important;
        bottom: 5px !important;
    }
    .sub-badge-sharp .fa-solid,
    .sub-badge-sharp .fa-regular,
    .sub-badge-sharp span:first-child {
        width: 32px !important; 
    }
}

/* ==========================================================================
   汎用パーツ：改行されても頭が美しく揃う小見出し（.fixed-h4-title）
   ========================================================================== */
.fixed-h4-title {
    display: flex !important;
    align-items: flex-start !important; 
    font-size: 16px !important;
    font-weight: bold !important;
    color: #333333 !important;
    line-height: 1.5 !important;
    margin: 25px 0 12px 0 !important;   
}

.fixed-h4-title .material-symbols-outlined {
    color: var(--custom_accent_blue) !important;
    font-size: 1.35rem !important;
    margin-right: 6px !important;       
    flex-shrink: 0 !important;          
    margin-top: 0px !important;         
}

@media (max-width: 767px) {
    .fixed-h4-title {
        font-size: 13.5px !important;   
        margin: 20px 0 10px 0 !important;
    }
    .fixed-h4-title .material-symbols-outlined {
        font-size: 1.2rem !important;
        margin-right: 4px !important;
    }
}

/* ==========================================================================
   トップページ専用：リンクボックス・画像ふんわりベール版（文字影なし・スマホ最適化版）
   ========================================================================== */
.pagemenu__bgwrap {
    position: relative !important;
    overflow: hidden !important;
    background-size: cover !important;
    background-position: right center !important;
    display: flex !important;
    align-items: center !important;
    border-radius: 0px !important;  
    margin-bottom: 0px !important;  
}

.pagemenu__bgwrap::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(255, 255, 255, 0.55) !important; 
    z-index: 1 !important; 
}

.pagemenu .pagemenu__bgwrap:after,
.pagemenu__bgwrap[data-mt-site-editor-pagemenu__bgwrap]:after {
    background-color: #ffffff !important; 
    opacity: 1 !important;                 
    width: 60% !important;                 
    height: calc(100% - 6px) !important;
    top: 0 !important; 
    clip-path: polygon(0 0, 100% 0, 80% 100%, 0 100%) !important;
    z-index: 2 !important; 
}

.pagemenu .pagemenu__textwrap {
    position: relative !important;
    z-index: 10 !important; 
    padding: 40px 0 20px !important;
    min-height: 250px !important; 
}

.pagemenu .pagemenu__title,
.pagemenu .pagemenu__text,
.pagemenu .pagemenu__button {
    max-width: 100% !important;
    text-shadow: none !important; 
}

.pagemenu__bgwrap .pagemenu__title {
    font-weight: bold !important;
    font-size: 26px !important; 
    margin-bottom: 12px !important;
    color: #111111 !important; 
    text-indent: 0 !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
}

.pagemenu__bgwrap .pagemenu__text,
.pagemenu__bgwrap .pagemenu__text * {
    font-size: 14.5px !important; 
    line-height: 1.7 !important;
    color: #222222 !important; 
    text-indent: 0 !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
}

@media (max-width: 991px) {
    .pagemenu__bgwrap::before {
        background: rgba(255, 255, 255, 0.75) !important; 
    }
    .pagemenu .pagemenu__bgwrap:after,
    .pagemenu__bgwrap[data-mt-site-editor-pagemenu__bgwrap]:after {
        width: 100% !important;
        height: calc(100% - 6px) !important;
        clip-path: none !important;
        display: none !important; 
    }
    .pagemenu__bgwrap .pagemenu__textwrap {
        padding: 3em 20px !important;
    }
    .pagemenu__bgwrap .pagemenu__title {
        font-size: 20px !important; 
        margin-bottom: 8px !important;
    }
    .pagemenu__bgwrap .pagemenu__text,
    .pagemenu__bgwrap .pagemenu__text * {
        font-size: 13.5px !important; 
        line-height: 1.6 !important;
    }
}

/* ==========================================================================
   フッターメニューの横の隙間をキュッと引き締める（★PC限定・安全版）
   ========================================================================== */
@media (min-width: 992px) {
    .footer-menu .footer-menu__wrap {
        gap: 40px 40px !important; 
    }
    .footer-menu .footer-menu__wrap li {
        width: 180px !important; 
    }
}

/* ==========================================================================
   企業方針の番号リスト
   ========================================================================== */
.policy-list  { margin-bottom: 12px; padding-left: 2em; text-indent: -2em; margin-top: 0; }
.policy-list ol li { color:#444 !important;}

@media (max-width: 991px) {
  .policy-list { padding-left: 0em; }
}

/* ==========================================================================
   ニュース一ページの調整
   ========================================================================== */

/* ニュース一覧タイトルのフォント調整 */
@media (max-width: 991px) {
  .newsentry__title { font-size: 1em !important; margin-top:5px !important; }
}

/* 記事の下のナビゲーションボタン（通常時） */
  a.entry-nav-btn,
  .entry-nav-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px 20px !important;
    font-size: 14px !important;
    color: #005bac !important;       /* サクシード様の美しいロイヤルブルー */
    background-color: #fff !important;
    border: 1px #005bac solid !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    font-weight: bold !important;
    transition: all 0.2s ease !important;
    white-space: nowrap !important;
  }

  /* 💎 ホバーしたとき：赤の暴走をブロックしてサクシードブルーに反転！ */
  a.entry-nav-btn:hover,
  .entry-nav-btn:hover {
    background-color: #005bac !important; 
    color: #ffffff !important;             
  }

@media (max-width: 991px) {
    a.entry-nav-btn,
  .entry-nav-btn {
    font-size: 0.85em !important;
    padding: 5px 10px !important;
  }
}

/* 💎 ニュース本文内で「＞」を絶対に消し去る専用の無敵クラス */
/* 👑 師匠の戦略を採用！「＞」を消すだけで、位置は一切縛らない自由なクラス */
.newsMain ul.no-arrow {
    list-style: none !important;
}

.newsMain ul.no-arrow li {
    background: none !important;   /* ＞ の背景画像を完全消去！ */
    padding-left: 0 !important;    /* ＞ 用の左のすき間を完全リセット！ */
}

.newsMain ul.no-arrow li::before {
    content: none !important;      /* ＞ の文字を完全消去！ */
}
/* ==========================================================================
   汎用パーツ：画像文字重ねシステム（レイアウト自由形）
   ========================================================================== */
.img-overlay-container {
    position: relative !important;   
    display: inline-block !important;
    width: 100% !important;
    overflow: hidden !important;     
}

.img-overlay-container img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
}

.img-text-overlay {
    position: absolute !important;   
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    box-sizing: border-box !important;
    padding: 20px !important;        
}

/* ------------------------------------------
	fixed-contact (常時お問い合わせボタン)
------------------------------------------ */
.fixed-contact .fixed-contact__iconWrap {
	width: 48px;  
	height: 48px;
	background-color: var(--custom_text_navy); 
	transition: all 0.5s; 
	position: fixed;
	bottom: calc(1em + 48px + 12px);
	right: 1em; 
	opacity: 1;
	cursor: pointer;
	z-index: 10000;
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
}

.fixed-contact .fixed-contact__iconWrap:hover {
	opacity: 0.5;
}

.fixed-contact .fixed-contact__icon {
	color: var(--bg_color); 
	font-size: 20px;        
	line-height: 1;
	margin: 0;
	padding: 0;
}
.fixed-contact a { text-decoration:none!important; }

/* ------------------------------------------
	btn-page-contact (万能・ページ内お問い合わせボタン)
------------------------------------------ */
.btn-page-contact {
	display: inline-flex !important;
	justify-content: center !important;
	align-items: center !important;
	padding: 14px 40px !important; 
	background-color: var(--custom_text_navy) !important; 
	color: #ffffff !important;
	font-weight: bold !important;
	font-size: 1.1rem !important;
	text-decoration: none !important;
	border-radius: 6px !important; 
	box-shadow: 0 4px 12px rgba(26, 43, 76, 0.12) !important;
	transition: all 0.3s ease !important; 
}

.btn-page-contact:hover {
	transform: translateY(-3px) !important; 
	box-shadow: 0 8px 24px rgba(26, 43, 76, 0.22) !important;
	background-color: #243962 !important; 
	color: #ffffff !important; 
}

/* ------------------------------------------
	ヘッダーロゴ調整
------------------------------------------ */
@media (min-width: 992px) {
  .js-header-logo {
      width: 180px !important;
  }
}
@media (max-width: 991px) {
  .js-header-logo {
      width: 135px !important;
  }
}

/* ------------------------------------------
	スマホメニューの調整
------------------------------------------ */
@media (max-width: 991px) {
  .fixed .mt-navbar-nav {
      height: auto !important;
  }
  .nav.navbar-nav.mt-navbar-nav li {
      height: auto !important;
      padding: 0 !important;
      margin: 0 !important;
  }
  .nav.navbar-nav.mt-navbar-nav li a {
      font-size: 14px !important;
      line-height: 1.4 !important;
      padding-top: 10px !important;
      padding-bottom: 10px !important;
      padding-left: 40px !important; 
      padding-right: 20px !important;
      display: flex !important;
      align-items: center !important;
      width: 100% !important; 
      box-sizing: border-box !important;
      position: relative !important; 
  }
  .nav.navbar-nav.mt-navbar-nav li.active::after,
  .nav.navbar-nav.mt-navbar-nav li a.active::after {
      display: none !important;
  }
  .nav.navbar-nav.mt-navbar-nav li.active a,
  .nav.navbar-nav.mt-navbar-nav li a.active {
      color: var(--main_color) !important;
      font-weight: bold !important;
  }
  .nav.navbar-nav.mt-navbar-nav li.active a::before,
  .nav.navbar-nav.mt-navbar-nav li a.active::before {
      content: "" !important;
      display: block !important;
      position: absolute !important;
      left: 20px !important;           
      top: 50% !important;
      transform: translateY(-50%) !important;
      width: 4px !important;           
      height: 16px !important;          
      background-color: var(--main_color) !important; 
      border-radius: 2px !important;   
  }
}







/* ==========================================================================
   🔍 ヘッダー検索システム専用（外部スタイルシート完全独立版）
   ========================================================================== */

/* 💻 ① PC画面（992px以上）のとき */
@media (min-width: 992px) {
  /* スマホ用のボタンとパネルはPCでは100%完全非表示 */
  #js-final-sp-search-trigger,
  #js-final-sp-search-panel {
      display: none !important;
  }
  
  /* お問い合わせの右隣（liの中）に綺麗に横並びで収める設定 */
  .sc-pc-search-item {
      display: inline-flex !important;
      align-items: center !important;
      margin-left: 15px !important;
      vertical-align: middle !important;
  }
  .sc-pc-search-form {
      display: flex !important;
      align-items: center !important;
      height: 32px !important;
      margin: 0 !important;
      padding: 0 !important;
  }
  /* 文字入力欄：触るとフワッと広がるオシャレ仕様 */
  .sc-pc-search-input {
      width: 90px !important;
      height: 30px !important;
      padding: 0 8px !important;
      font-size: 12px !important;
      border: 1px solid rgba(26, 43, 76, 0.2) !important;
      border-radius: 4px 0 0 4px !important;
      outline: none !important;
      background: #ffffff !important;
      transition: all 0.3s ease !important;
  }
  .sc-pc-search-input:focus {
      border-color: var(--custom_accent_blue) !important;
      width: 140px !important;
  }
  /* 検索ボタン */
  .sc-pc-search-submit {
      height: 30px !important;
      padding: 0 10px !important;
      font-size: 11px !important;
      font-weight: bold !important;
      background-color: var(--custom_text_navy) !important;
      color: #ffffff !important;
      border: none !important;
      border-radius: 0 4px 4px 0 !important;
      cursor: pointer !important;
  }
}

/* 📱 ② スマホ画面（991px以下）のとき */
@media (max-width: 991px) {
  /* PC用の検索バーはスマホメニュー内から完全に非表示 */
  .sc-pc-search-item {
      display: none !important;
  }
  
  /* ヘッダーのはみ出し制限を解除（下へのスライド表示を許可） */
  header, .navbar, .navbar-header, .mt-navbar-default {
      overflow: visible !important;
  }
  
  /* 👑 重なりを綺麗に解消する大脱出バージョン！ */
  #js-final-sp-search-trigger {
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      background: none !important;
      border: none !important;
      color: var(--custom_text_navy) !important;
      padding: 0 !important;
      font-size: 22px !important;
      cursor: pointer !important;
      position: absolute !important;
      
      /* 🚨【ここだけ修正！】60px から「80px」または「85px」に増やします！ */
      right: 90px !important;         /* 👈 数字を増やすほど、虫眼鏡が左にズレて三本線から離れます！ */
      
      top: 50% !important;            
      transform: translateY(-50%) !important; 
      margin: 0 !important;
      z-index: 999995 !important;    
  }
  
  /* 🔍 スマホのスライド検索パネル（ヘッダーの真下に浮かせて、既存のロゴを絶対に押し出さない） */
  #js-final-sp-search-panel {
      position: fixed !important;
      top: 60px !important; /* ヘッダーの真下にピッタリ密着 */
      left: 0 !important;
      width: 100% !important;
      background: #ffffff !important;
      padding: 12px 20px !important;
      box-shadow: 0 4px 12px rgba(26, 43, 76, 0.15) !important;
      z-index: 999999 !important;
      box-sizing: border-box !important;
      display: none; /* 通常時はJavaScriptで開くまで隠す */
  }
  /* クラス「is-open」がついたらシャキーンと出現 */
  #js-final-sp-search-panel.is-open {
      display: block !important;
  }
  
  .sc-sp-search-form {
      display: flex !important;
      width: 100% !important;
      margin: 0 !important;
  }
  .sc-sp-search-input {
      flex-grow: 1 !important;
      height: 42px !important;
      padding: 0 12px !important;
      font-size: 15px !important;
      border: 1px solid rgba(26, 43, 76, 0.2) !important;
      border-radius: 4px 0 0 4px !important;
      background: #ffffff !important;
      outline: none !important;
  }
  .sc-sp-search-submit {
      height: 42px !important;
      padding: 0 18px !important;
      font-size: 14px !important;
      font-weight: bold !important;
      background-color: var(--custom_text_navy) !important;
      color: #ffffff !important;
      border: none !important;
      border-radius: 0 4px 4px 0 !important;
      cursor: pointer !important;
  }
}

/* 🔍 ③ 検索結果専用ページ（search.html）のリスト美化お守り */
#s-result { padding: 20px 0 !important; }
#s-result ul, #s-result li { list-style: none !important; padding: 0 !important; margin: 0 !important; }
#s-result li { margin-bottom: 25px !important; border-bottom: 1px dashed rgba(26, 43, 76, 0.1) !important; padding-bottom: 15px !important; }
#s-result li a { font-size: 18px !important; font-weight: bold !important; color: var(--custom_text_navy) !important; text-decoration: none !important; display: inline-block !important; margin-bottom: 5px !important; }
#s-result li a:hover { color: var(--custom_accent_blue) !important; }
#s-result .search-excerpt { font-size: 14px !important; color: #666666 !important; line-height: 1.6 !important; }