/* ============================================
   法人カード LP5 - カスタムCSS
   整理版: PC版スタイル → スマホ版スタイル
   ============================================ */

/* ============================================
   【PC版】ベーススタイル・共通スタイル
   ============================================ */
   @import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css');

   /* Swellのリンク装飾のみをリセット（マーカーは残す） */
   .corp-card-lp a::before,
   .corp-card-lp a::after {
     content: none !important;
     display: none !important;
   }
   
   /* あなたのCSSコード */
   .corp-card-lp {
     --ink-950: #0a0c10;
     --ink-900: #12151c;
     --ink-800: #1a1f2b;
     --ink-700: #252b3a;
     --ink-600: #343c4f;
     --ink-500: #4a5568;
     --ink-400: #6b7a94;
     --ink-300: #9ca8bc;
     --ink-200: #c9d1dc;
     --ink-100: #e8ebf0;
     --ink-50: #f4f6f8;
     --gold-600: #a67c00;
     --gold-500: #c9a227;
     --gold-400: #ddb84d;
     --gold-300: #f0d078;
     --navy-900: #0d1b2a;
     --navy-800: #1b263b;
     --navy-700: #243b53;
     --success: #059669;
     --accent-red: #ff4766;
     --accent-blue: #2563eb;
   }
   
   /* reset & base */
   
   .corp-card-lp * {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
   }
   
   .corp-card-lp .main-content h1,
   .corp-card-lp .main-content h2,
   .corp-card-lp .main-content h3,
   .corp-card-lp .main-content h4,
   .corp-card-lp .main-content h5,
   .corp-card-lp .main-content h6 {
     margin: 0;
     padding: 0 !important;
     border: none;
     background: none !important;
     font-family: var(--font-main) !important;
   }
   
   .corp-card-lp .main-content h1::before,
   .corp-card-lp .main-content h2::before,
   .corp-card-lp .main-content h3::before,
   .corp-card-lp .main-content h1::after,
   .corp-card-lp .main-content h2::after,
   .corp-card-lp .main-content h3::after {
     content: none !important;
     display: none !important;
   }
   
   .corp-card-lp .main-content p {
     margin: 0 !important;
     padding: 0 !important;
   }
   
   .corp-card-lp .main-content a {
     text-decoration: none !important;
     color: var(--color_link);
   }
   
   .corp-card-lp .top-ranking-features,
   .corp-card-lp .guide-list,
   .corp-card-lp .recommend-list ul,
   .corp-card-lp .dr-card-list {
     list-style: none !important;
     margin-left: 0 !important;
     padding-left: 0 !important;
   }
   
   .corp-card-lp {
     font-family: var(--font-main);
     color: var(--ink-800);
     min-height: 100vh;
     line-height: 1.8;
     font-size: 16px;
     -webkit-font-smoothing: antialiased;
   }
   
  .corp-card-lp .hero-section {
    background-color: transparent;
    position: relative;
    overflow: hidden;
    padding: 0;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-bottom: 0;
    display: block;
  }
  
  .corp-card-lp .hero-kv-image {
    position: relative;
    width: 100%;
    height: auto;
    z-index: 1;
    display: block !important;
    margin: 0 0 40px 0;
    padding: 0;
  }
  
  .corp-card-lp .hero-kv-image img {
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: center top;
    display: block;
  }
  
  /* PC用：固定サイズにフィット */
  @media (min-width: 768px) {
    .corp-card-lp .hero-section {
      width: 100%;
      max-width: 900px;
      margin: 0 auto;
      margin-bottom: 0 !important;
    }
    
    .corp-card-lp .hero-kv-image {
      width: 100%;
      height: auto;
    }
    
    .corp-card-lp .hero-kv-image img {
      width: 100%;
      height: auto;
      object-fit: contain;
      object-position: center top;
    }
    
    .corp-card-lp .card-carousel-section {
      padding-top: 0 !important;
      margin-top: 0 !important;
    }
  }
   
   .corp-card-lp .hero-section::before {
     display: none;
   }
   
   .corp-card-lp .hero-section::after {
     display: none;
   }
   
   .corp-card-lp .hero-pattern {
     position: absolute;
     inset: 0;
     opacity: 0.03;
     background-image:
       repeating-linear-gradient(45deg,
         transparent,
         transparent 40px,
         var(--gold-400) 40px,
         var(--gold-400) 41px),
       repeating-linear-gradient(-45deg,
         transparent,
         transparent 40px,
         var(--gold-400) 40px,
         var(--gold-400) 41px);
     pointer-events: none;
   }
   
   /* layout */
   
  .corp-card-lp .main-content {
    position: relative;
    z-index: 10;
    max-width: 900px;
    margin: 0 auto;
  }
   
   /* page header */
   
  .corp-card-lp .page-header {
    position: relative;
    z-index: 10;
    text-align: center;
    max-width: 100%;
    margin: 0;
    animation: fadeInUp 0.8s ease-out;
    width: 100%;
  }
   
  .corp-card-lp .header-label {
    display: none !important;
  }
  
  .corp-card-lp .page-title {
    display: none !important;
  }
  
  .corp-card-lp .page-title .highlight {
    display: none !important;
  }
  
  .corp-card-lp .page-description {
    display: none !important;
  }
   
  /* card carousel section */
  
  .corp-card-lp .card-carousel-section {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    background: transparent;
    padding: 0 0 20px;
    position: relative;
    overflow: hidden;
  }
  
  /* card carousel */
  
  .corp-card-lp .card-carousel {
    width: 100%;
    position: relative;
    overflow: hidden;
  }
   
   .corp-card-lp .card-carousel-track {
     display: flex;
     gap: 32px;
     animation: scroll-cards 30s linear infinite;
     width: max-content;
   }
   
   
   
   .corp-card-lp .card-carousel-item {
     flex-shrink: 0;
     width: 160px;
   
   }
   
   
   
   .corp-card-lp .card-carousel-item img {
     width: 100%;
     height: auto;
     border-radius: 10px;
   }
   
   @keyframes scroll-cards {
     0% {
       transform: translateX(0);
     }
   
     100% {
       transform: translateX(-50%);
     }
   }
   
   /* banner */
   
   .corp-card-lp .section-banner {
     background: #07265D;
     padding: 28px 20px;
     margin-left: calc(-50vw + 50%);
     margin-right: calc(-50vw + 50%);
     margin-bottom: 20px;
     width: 100vw;
     position: relative;
     overflow: hidden;
   }
   
   .corp-card-lp .section-banner::before {
     content: '';
     position: absolute;
     inset: 0;
     background: repeating-linear-gradient(45deg,
         transparent,
         transparent 30px,
         rgba(201, 162, 39, 0.03) 30px,
         rgba(201, 162, 39, 0.03) 31px);
     pointer-events: none;
   }
   
   .corp-card-lp .section-banner::after {
     content: '';
     position: absolute;
     bottom: 0;
     left: 0;
     right: 0;
     height: 3px;
     background: #FFF;
   }
   
   .corp-card-lp .section-banner-inner {
     max-width: 900px;
     margin: 0 auto;
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 20px;
     position: relative;
     z-index: 1;
   }
   
   .corp-card-lp .section-banner-content {
     display: flex;
     align-items: center;
     gap: 16px;
   }
   
   .corp-card-lp .section-banner-icon {
     width: 56px;
     height: 56px;
     background: #fff !important;
     display: flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
     border-radius: 4px;
   }
   
   .corp-card-lp .section-banner-icon svg {
     width: 28px;
     height: 28px;
     color: var(--navy-900);
   }
   
   .corp-card-lp .section-banner-text {
     text-align: left;
   }
   
   .corp-card-lp .section-banner-eyebrow {
     font-size: 12px;
     font-weight: 700;
     color: #fff;
     letter-spacing: 0.2em;
     text-transform: uppercase;
     margin-bottom: 4px;
   }
   
   .corp-card-lp .section-banner-title {
     font-size: 24px !important;
     font-weight: 700 !important;
     color: #fff !important;
     letter-spacing: 0.04em;
   }
   
   .corp-card-lp .section-banner-badge {
     background: rgba(255, 255, 255, 0.1);
     border: 1px solid rgba(255, 255, 255, 0.2);
     padding: 6px 16px;
     font-size: 11px;
     color: var(--ink-200);
   }
   
   /* section block */
   
   .corp-card-lp .section-block {
     padding: 0px 0px 40px 0;
     margin-left: calc(-50vw + 50%);
     margin-right: calc(-50vw + 50%);
     width: 100vw;
   }
   
   .corp-card-lp .section-block-inner {
     max-width: 900px;
     margin: 0 auto;
     padding: 0 20px;
   }
   
   .corp-card-lp .section-block.bg-white {
     background: #fff;
   }
   
   .corp-card-lp .section-block.bg-gold-subtle {
     background: linear-gradient(135deg, rgba(201, 162, 39, 0.06), rgba(201, 162, 39, 0.02));
   }
   
   .corp-card-lp .section-subtitle {
     color: var(--ink-500);
     font-size: 13px;
     text-align: center;
     margin-bottom: 24px;
   }
   
   /* top ranking list */
   
   .corp-card-lp .top-ranking-list {
     display: flex;
     flex-direction: column;
     gap: 16px;
   }
   
   .corp-card-lp .top-ranking-item {
     background: #fff;
     border: 1px solid var(--ink-200);
     display: flex;
     flex-direction: column;
     overflow: hidden;
   
     padding: 16px;
     max-width: 700px;
     margin: 0 auto;
   }
   
   
   
   .corp-card-lp .top-ranking-item.rank-1 {
     border: 2px solid var(--gold-500);
   }
   
   .corp-card-lp .top-ranking-item.rank-2 {
     border-left: 4px solid #94a3b8;
   }
   
   .corp-card-lp .top-ranking-item.rank-3 {
     border-left: 4px solid #d97706;
   }
   
   .corp-card-lp .top-ranking-item.rank-4,
   .corp-card-lp .top-ranking-item.rank-5,
   .corp-card-lp .top-ranking-item.rank-6,
   .corp-card-lp .top-ranking-item.rank-7,
   .corp-card-lp .top-ranking-item.rank-8,
   .corp-card-lp .top-ranking-item.rank-9,
   .corp-card-lp .top-ranking-item.rank-10 {
     border-left: 4px solid var(--ink-400);
   }
   
   
   
   
   
   .corp-card-lp .top-ranking-header {
     display: flex;
     align-items: center;
     gap: 10px;
     margin-bottom: 16px;
   }
   
   .corp-card-lp .top-ranking-badge {
     display: flex;
     align-items: center;
   }
   
   .corp-card-lp .top-rank-num {
     width: 36px;
     height: 36px;
     display: flex;
     align-items: center;
     justify-content: center;
     position: relative;
   }
   
   .corp-card-lp .top-rank-num svg {
     width: 32px;
     height: 32px;
   }
   
   .corp-card-lp .top-rank-num .rank-text {
     position: absolute;
     bottom: 5px;
     font-size: 11px;
     font-weight: 700;
     text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
   }
   
   .corp-card-lp .rank-1 .top-rank-num svg {
     color: #fbbf24;
     fill: #fbbf24;
   }
   
   .corp-card-lp .rank-1 .top-rank-num .rank-text,
   .corp-card-lp .rank-2 .top-rank-num .rank-text,
   .corp-card-lp .rank-3 .top-rank-num .rank-text {
     color: #fff;
   }
   
   .corp-card-lp .rank-2 .top-rank-num svg {
     color: #9ca3af;
     fill: #9ca3af;
   }
   
   .corp-card-lp .rank-3 .top-rank-num svg {
     color: #d97706;
     fill: #d97706;
   }
   
   .corp-card-lp .rank-4 .top-rank-num,
   .corp-card-lp .rank-5 .top-rank-num,
   .corp-card-lp .rank-6 .top-rank-num,
   .corp-card-lp .rank-7 .top-rank-num,
   .corp-card-lp .rank-8 .top-rank-num,
   .corp-card-lp .rank-9 .top-rank-num,
   .corp-card-lp .rank-10 .top-rank-num {
     width: 28px;
     height: 28px;
     background: var(--ink-500);
     font-size: 12px;
     font-weight: 700;
     color: #fff;
     border-radius: 50%;
   }
   
   
   .corp-card-lp .top-ranking-best-badge {
     background: linear-gradient(135deg, var(--navy-800), var(--navy-700));
     color: #fff;
     font-size: 10px;
     font-weight: 700;
     padding: 5px 10px;
     letter-spacing: 0.05em;
     margin-left: auto;
   }
   
   .corp-card-lp .top-ranking-card-img {
     width: 330px;
     height: auto;
     margin: 0 auto;
     display: block;
     filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.12));
   }
   
   
   
   .corp-card-lp .top-ranking-tags {
     display: none;
   }
   
   .corp-card-lp .top-ranking-catchcopy {
     font-size: 15px !important;
     font-weight: 700 !important;
     margin-bottom: 16px !important;
     margin-top: 0 !important;
     line-height: 1.6 !important;
     display: flex;
     align-items: flex-start;
     gap: 8px;
     white-space: nowrap;
     overflow: hidden;
     text-overflow: ellipsis;
   }
   
   .corp-card-lp .top-ranking-catchcopy::before {
     content: '✓';
     display: inline-flex;
     align-items: center;
     justify-content: center;
     width: 20px;
     height: 20px;
     background: var(--navy-800);
     color: #fff;
     font-size: 11px;
     font-weight: 700;
     border-radius: 50%;
     flex-shrink: 0;
     margin-top: 2px;
   }
   
   .corp-card-lp .top-ranking-catchcopy .highlight-red {
     color: var(--accent-red);
   }
   
   .corp-card-lp .top-ranking-catchcopy .highlight-blue {
     color: #ff832a;
   }
   
   .corp-card-lp .top-ranking-point-box {
     background: linear-gradient(135deg, rgba(201, 162, 39, 0.1), rgba(201, 162, 39, 0.05));
     border: 1px solid rgba(201, 162, 39, 0.25);
     border-radius: 6px;
     padding: 14px 16px;
     margin-bottom: 16px;
   }
   
   .corp-card-lp .top-ranking-point-label {
     display: inline-flex;
     align-items: center;
     gap: 6px;
     font-size: 15px;
     font-weight: 700;
     color: var(--gold-600);
     background: linear-gradient(135deg, rgba(201, 162, 39, 0.15), rgba(201, 162, 39, 0.08));
     padding: 5px 10px;
     margin-bottom: 10px;
     border-left: 3px solid var(--gold-500);
   }
   
   .corp-card-lp .top-ranking-point-label svg {
     width: 14px;
     height: 14px;
     color: var(--gold-500);
     fill: var(--gold-500);
   }
   
   .corp-card-lp .top-ranking-features {
     display: flex;
     flex-direction: column;
     gap: 6px;
   }
   
   .corp-card-lp .top-ranking-features li {
     font-size: 15px;
     color: var(--ink-600);
     line-height: 1.6;
     padding-left: 16px !important;
     position: relative;
   }
   
   .corp-card-lp .top-ranking-features li::before {
     content: '•' !important;
     position: absolute !important;
     left: 0 !important;
     top: -1px !important;
     color: var(--ink-400) !important;
     font-size: 16px !important;
   }
   
   .corp-card-lp .top-ranking-features li .red {
     color: var(--accent-red);
     font-weight: 600;
   }
   
   .corp-card-lp .top-ranking-features li .blue {
     color: #ff832a;
     font-weight: 600;
   }
   
   .corp-card-lp .top-ranking-cta {
     display: flex;
     flex-direction: column;
     gap: 10px;
     align-items: stretch;
     min-height: 60px;
     justify-content: flex-start;
   }
   
   
   .corp-card-lp .top-cta-btn {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     gap: 6px;
     padding: 14px 24px;
     font-size: 13px;
     font-weight: 700;
   
   }
   
   .corp-card-lp .top-cta-btn.primary {
     background: #fd7e14;
     color: #fff !important;
     flex: 1;
     position: relative;
     overflow: hidden;
     font-weight: 900 !important;
     border-radius: 12px;
     box-shadow: 0 6px 0 #CA6510;
   }
   
   .corp-card-lp .top-cta-btn.primary::before {
     display: none;
   }
   
   
   
   .corp-card-lp .top-cta-btn.secondary {
     background: #fff;
     border: 1px solid var(--ink-300);
     color: var(--ink-600) !important;
     white-space: nowrap;
   }
   
   
   
   /* compare */
   
   /* カード比較セクションを非表示 */
   #compare-section {
     display: none !important;
   }
   
   .corp-card-lp .compare-section {
     margin-top: 40px;
     margin-bottom: 40px;
     position: relative;
     z-index: 20;
     padding: 0 20px;
   }
   
   .corp-card-lp .quick-compare {
     background: #fff;
     box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.1);
     overflow: hidden;
   }
   
   .corp-card-lp .compare-table-v2 {
     width: 100%;
     min-width: 720px;
     border-collapse: collapse;
     font-size: 12px;
     table-layout: fixed;
   }
   
   .corp-card-lp .compare-table-v2 thead tr {
     background: var(--ink-50) !important;
   }
   
   .corp-card-lp .compare-table-v2 th,
   .corp-card-lp .compare-table-v2 td {
     padding: 5px 5px;
     text-align: center;
     vertical-align: middle;
     border-bottom: 1px solid var(--ink-100);
   }
   
   .corp-card-lp .compare-table-v2 .label-col {
     width: 120px !important;
     background: var(--ink-50) !important;
     font-weight: 1000;
     color: var(--ink-600);
     font-size: 15px;
     text-align: left;
     padding-left: 16px !important;
   }
   
   .corp-card-lp .compare-table-v2 .card-col {
     background: #fff !important;
     font-size: 14px;
     width: auto;
     table-layout: fixed;
     text-align: center;
   }
   
   .corp-card-lp .card-col-rank {
     width: 40px;
     height: 40px;
     margin: 0 auto 8px;
     display: flex;
     align-items: center;
     justify-content: center;
     position: relative;
   }
   
   .corp-card-lp .card-col-rank svg {
     width: 40px;
     height: 40px;
   }
   
   .corp-card-lp .card-col-rank .rank-text {
     position: absolute;
     font-size: 14px;
     font-weight: 1000;
     text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
     color: #fff !important;
   }
   
   .corp-card-lp .card-col-rank.rank-1 svg {
     color: #d4a017;
     fill: #d4a017;
   }
   
   .corp-card-lp .card-col-rank.rank-2 svg {
     color: #a0a0a0;
     fill: #a0a0a0;
   }
   
   .corp-card-lp .card-col-rank.rank-3 svg {
     color: #cd7f32;
     fill: #cd7f32;
   }
   
   .corp-card-lp .card-col-rank.rank-4 svg,
   .corp-card-lp .card-col-rank.rank-5 svg,
   .corp-card-lp .card-col-rank.rank-6 svg,
   .corp-card-lp .card-col-rank.rank-7 svg,
   .corp-card-lp .card-col-rank.rank-8 svg,
   .corp-card-lp .card-col-rank.rank-9 svg,
   .corp-card-lp .card-col-rank.rank-10 svg {
     color: #808080;
     fill: #808080;
   }
   
   
   .corp-card-lp .card-col-img {
     width: auto;
     max-width: 100px;
     height: auto;
     object-fit: contain;
     margin: 0 auto 8px;
     display: block;
     filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
   }
   
   .corp-card-lp .compare-table-v2 .brand-icons {
     justify-content: center;
   }
   
   .corp-card-lp .card-col-name {
     font-size: 11px;
     font-weight: 700;
     line-height: 1.4;
     min-height: 36px;
     display: flex;
     align-items: center;
     justify-content: center;
   }
   
   .corp-card-lp .card-col-name a {
     color: var(--accent-blue) !important;
     text-decoration: underline !important;
   
     font-size: 13px;
   }
   
   
   
   .corp-card-lp .feature-cell {
     color: var(--ink-600);
     line-height: 1.6;
     text-align: left;
     padding: 12px !important;
   }
   
   .corp-card-lp .rating-icon {
     display: block !important;
     text-align: center !important;
     margin: 0 auto 6px !important;
     font-weight: 400 !important;
     line-height: 1 !important;
     background: transparent !important;
     border: none !important;
   }
   
   .corp-card-lp .highlight-text {
     display: block;
     font-weight: 600;
     color: #ff832a;
     margin-top: 4px;
   }
   
   .corp-card-lp .highlight-text.free {
     color: var(--accent-red);
   }
   
   .corp-card-lp .num-highlight {
     font-weight: 700;
     color: var(--accent-red);
     font-size: 18px;
   }
   
   .corp-card-lp .point-up {
     font-size: 14px;
     color: var(--ink-600);
   }
   
   .corp-card-lp .point-up small {
     display: block;
     font-size: 8px;
     color: var(--ink-400);
     margin-top: 2px;
   }
   
   .corp-card-lp .empty-cell {
     color: var(--ink-300);
   }
   
   .corp-card-lp .eligibility-cell,
   .corp-card-lp .campaign-cell {
     color: var(--ink-600);
     line-height: 1.4;
   }
   
   .corp-card-lp .campaign-cell .num-highlight {
     display: block;
     margin-top: 2px;
   }
   
   
   /* 交互背景を無効化 */
   .corp-card-lp .compare-table-v2 tbody tr:nth-child(even),
   .corp-card-lp .compare-table-v2 tbody tr:nth-child(even) td {
     background: #fff !important;
   }
   
   .corp-card-lp .compare-table-v2 tbody tr:nth-child(even) .label-col {
     background: var(--ink-50) !important;
   }
   
   .corp-card-lp .brand-cell {
     display: flex;
     gap: 4px;
     flex-wrap: wrap;
     justify-content: center;
     align-items: center;
   }
   
   /* 比較表内のブランドセル */
   .corp-card-lp .compare-table-v2 .card-col .brand-cell {
     display: flex;
     gap: 6px;
     flex-wrap: wrap;
     justify-content: center;
     align-items: center;
     text-align: center;
   }
   
   .corp-card-lp .compare-table-v2 .card-col .brand-cell img,
   .corp-card-lp .compare-table-v2 .card-col .brand-cell .brand-tag-icon,
   .corp-card-lp .compare-table-v2 .card-col .brand-cell .brand-tag {
     width: 40px;
     height: 40px;
     object-fit: contain;
     display: inline-block !important;
     vertical-align: middle;
   }
   
   .corp-card-lp .brand-tag {
     padding: 2px 8px;
     background: var(--navy-800);
     border-radius: 2px;
     font-weight: 600;
     font-size: 9px;
     color: #fff;
   }
   
   .corp-card-lp .emoney-tag {
     padding: 2px 8px;
     background: var(--ink-100);
     border-radius: 2px;
     font-size: 9px;
     color: var(--ink-600);
   }
   
   /* merit grid */
   
   .corp-card-lp .merit-grid {
     display: grid;
     grid-template-columns: 1fr;
     gap: 16px;
   }
   
   .corp-card-lp .merit-card {
     background: #fff;
     border: 1px solid var(--ink-200);
     padding: 20px;
   
     position: relative;
     overflow: hidden;
   }
   
   .corp-card-lp .merit-card::before {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     height: 3px;
     background: linear-gradient(90deg, var(--gold-500), var(--gold-400));
     transform: scaleX(0);
   
   }
   
   
   
   
   
   .corp-card-lp .merit-header {
     display: flex;
     justify-content: space-between;
     align-items: flex-start;
     margin-bottom: 12px;
   }
   
   .corp-card-lp .merit-icon {
     width: 44px;
     height: 44px;
     display: flex;
     align-items: center;
     justify-content: center;
     background: linear-gradient(135deg, var(--navy-800), var(--navy-700));
   }
   
   .corp-card-lp .merit-icon svg {
     width: 20px;
     height: 20px;
     color: #fff;
   }
   
   .corp-card-lp .merit-badge {
     font-size: 9px;
     font-weight: 700;
     padding: 4px 10px;
     background: var(--ink-50);
     color: var(--ink-600);
     letter-spacing: 0.03em;
   }
   
   .corp-card-lp .merit-title {
     font-size: 14px !important;
     font-weight: 700 !important;
     color: var(--ink-800) !important;
     margin-bottom: 8px !important;
   }
   
   .corp-card-lp .merit-description {
     font-size: 12px;
     color: var(--ink-500);
     line-height: 1.7;
   }
   
   /* guide grid */
   
   .corp-card-lp .guide-grid {
     display: grid;
     grid-template-columns: 1fr;
     gap: 16px;
   }
   
   .corp-card-lp .guide-card {
     background: #fff;
     border: 1px solid var(--ink-200);
     padding: 24px;
   
   }
   
   
   
   .corp-card-lp .guide-icon {
     width: 44px;
     height: 44px;
     display: flex;
     align-items: center;
     justify-content: center;
     background: linear-gradient(135deg, rgba(201, 162, 39, 0.15), rgba(201, 162, 39, 0.05));
     margin-bottom: 14px;
   }
   
   .corp-card-lp .guide-icon svg {
     width: 20px;
     height: 20px;
     color: var(--gold-600);
   }
   
   .corp-card-lp .guide-title {
     font-size: 15px !important;
     font-weight: 700 !important;
     color: var(--ink-800) !important;
     margin-bottom: 8px !important;
   }
   
   .corp-card-lp .guide-description {
     font-size: 12px;
     color: var(--ink-500);
     margin-bottom: 14px;
     line-height: 1.6;
   }
   
   .corp-card-lp .guide-list {
     display: flex;
     flex-direction: column;
     gap: 8px;
   }
   
   .corp-card-lp .guide-list li {
     font-size: 12px;
     color: var(--ink-600);
     padding-left: 16px !important;
     position: relative;
   }
   
   .corp-card-lp .guide-list li::before {
     content: '' !important;
     position: absolute !important;
     left: 0 !important;
     top: 7px !important;
     width: 5px !important;
     height: 5px !important;
     background: var(--gold-500) !important;
   }
   
   .corp-card-lp .guide-label {
     color: var(--navy-800);
     font-weight: 600;
   }
   
   /* detail ranking cards */
   
   .corp-card-lp .ranking-cards {
     display: flex !important;
     flex-direction: column !important;
     gap: 20px !important;
     margin-top: 0 !important;
   }
   
   .corp-card-lp .ranking-card {
     position: relative;
     background: #fff;
     border: 1px solid var(--color_main);
     overflow: hidden;
   
     animation: fadeInUp 0.7s ease-out both;
   }
   
   
   
   .corp-card-lp .ranking-card.top-card {
     border: 2px solid var(--gold-500);
     box-shadow: 0 16px 40px -12px rgba(201, 162, 39, 0.2);
   }
   
   .corp-card-lp .top-label {
     position: absolute;
     top: 0;
     right: 0;
     background: linear-gradient(135deg, var(--gold-500), var(--gold-400));
     color: var(--navy-900);
     font-size: 9px;
     font-weight: 700;
     padding: 5px 12px;
     letter-spacing: 0.05em;
     z-index: 10;
   }
   
   .corp-card-lp .card-header-top {
     display: flex;
     align-items: center;
     gap: 14px;
     padding: 14px 20px;
     border-bottom: 1px solid var(--ink-100);
     background: linear-gradient(to right, var(--ink-50), #fff);
   }
   
   .corp-card-lp .rank-number {
     width: 44px;
     height: 44px;
     display: flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
     position: relative;
   }
   
   .corp-card-lp .rank-number svg.crown {
     width: 40px;
     height: 40px;
   }
   
   .corp-card-lp .rank-number .rank-text {
     position: absolute;
     bottom: 6px;
     font-size: 14px;
     font-weight: 700;
     text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
     color: #fff !important;
   }
   
   .corp-card-lp .rank-number.rank-1 svg.crown {
     color: #d4a017;
     fill: #d4a017;
   }
   
   .corp-card-lp .rank-number.rank-2 svg.crown {
     color: #a0a0a0;
     fill: #a0a0a0;
   }
   
   .corp-card-lp .rank-number.rank-3 svg.crown {
     color: #cd7f32;
     fill: #cd7f32;
   }
   
   .corp-card-lp .rank-number.rank-4 svg.crown {
     color: #808080;
     fill: #808080;
   }
   
   .corp-card-lp .rank-number.rank-5 svg.crown {
     color: #808080;
     fill: #808080;
   }
   
   .corp-card-lp .rank-number.rank-4,
   .corp-card-lp .rank-number.rank-5,
   .corp-card-lp .rank-number.rank-6,
   .corp-card-lp .rank-number.rank-7,
   .corp-card-lp .rank-number.rank-8,
   .corp-card-lp .rank-number.rank-9,
   .corp-card-lp .rank-number.rank-10 {
     width: 36px;
     height: 36px;
     background: var(--ink-500);
     font-size: 16px;
     font-weight: 700;
     color: #fff;
   }
   
   .corp-card-lp .card-title-area {
     flex: 1;
   }
   
   .corp-card-lp .card-name {
     font-size: 20px !important;
     font-weight: 700 !important;
     letter-spacing: 0.02em;
   }
   
   .corp-card-lp .card-name a {
     color: var(--accent-blue) !important;
     text-decoration: underline !important;
   }
   
   
   
   .corp-card-lp .card-body {
     display: flex;
     flex-direction: column;
     gap: 0px;
     padding: 16px 20px;
     align-items: center;
   }
   
   /* カード画像を中央配置 */
   .corp-card-lp .card-image-center {
     display: flex;
     justify-content: center;
     align-items: center;
     width: 100%;
     margin-bottom: 0;
   }
   
   .corp-card-lp .card-left {
     flex: 1;
     display: flex;
     flex-direction: column;
     align-items: center;
     gap: 10px;
   }
   
   .corp-card-lp .card-image-wrapper {
     position: relative;
     width: 330px;
     max-width: 330px;
   }
   
   .corp-card-lp .card-image {
     width: 100%;
     height: auto;
     filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.12));
   }
   
   
   .corp-card-lp .rating-label {
     font-size: 9px;
     color: var(--ink-500);
     font-weight: 500;
   }
   
   .corp-card-lp .stars {
     display: flex;
     gap: 1px;
   }
   
   .corp-card-lp .stars svg {
     width: 11px;
     height: 11px;
     color: var(--gold-500);
     fill: var(--gold-500);
   }
   
   .corp-card-lp .stars svg.empty {
     fill: none;
     stroke: var(--ink-300);
     stroke-width: 2;
   }
   
   .corp-card-lp .rating-value {
     color: var(--ink-800);
     font-weight: 700;
     font-size: 13px;
   }
   
   .corp-card-lp .card-right {
     flex: 1;
     min-width: 0;
     width: 100%;
   }
   
   /* おすすめポイントボックスの幅を調整 */
   .corp-card-lp .card-body .recommend-points-box {
     width: 100%;
     margin-top: 20px;
   }
   
   .corp-card-lp .spec-table {
     width: 100%;
     border-collapse: collapse;
     table-layout: fixed;
     font-size: 14px !important;
     border: 1px solid var(--ink-200);
     font-weight: 600;
   }
   
   /* スペック表を中央揃えにするラッパー */
   .corp-card-lp .spec-table-wrapper {
     display: flex;
     justify-content: center;
     align-items: center;
     width: 100%;
     margin: 12px 0;
     box-sizing: border-box;
   }
   
   /* spec-tableはcard-body内に配置 */
   .corp-card-lp .spec-table-wrapper .spec-table {
     margin: 0 auto;
     width: 100%;
     max-width: 100%;
     box-sizing: border-box;
     table-layout: fixed;
   }
   
   .corp-card-lp .spec-table tr {
     border-bottom: 1px solid var(--ink-200);
   }
   
   .corp-card-lp .spec-table tr:last-child {
     border-bottom: none;
   }
   
   .corp-card-lp .spec-table th {
     text-align: left;
     padding: 12px 16px;
     background: #e1f0ff;
     border-right: 1px solid var(--ink-200);
     font-size: 14px;
     width: 35%;
     vertical-align: middle;
     font-weight: 600;
     line-height: 1.6;
   }
   
   .corp-card-lp .spec-table td {
     padding: 12px 16px;
     color: var(--ink-700);
     text-align: center;
     background: #fff;
     width: 65%;
     vertical-align: middle;
     line-height: 1.6;
   }
   
   /* テーブル内の画像やブランドセルを中央揃え */
   .corp-card-lp .spec-table td .brand-cell {
     display: flex;
     align-items: center;
     flex-wrap: wrap;
     gap: 4px;
     min-height: 24px;
   }
   
   .corp-card-lp .spec-table td.free {
     color: #ff832a;
   }
   
   .corp-card-lp .spec-table td.free-forever {
     color: var(--accent-red);
     font-weight: 700;
   }
   
   .corp-card-lp .spec-table td.highlight {
     color: var(--accent-red);
     font-weight: 700;
   }
   
   .corp-card-lp .feature-tags {
     display: flex;
     flex-wrap: wrap;
     gap: 5px;
     margin-top: 10px;
   }
   
   /* card-right内のfeature-tagsはmargin-topのみ */
   .corp-card-lp .card-right .feature-tags {
     margin-top: 0;
   }
   
   .corp-card-lp .feature-tag {
     padding: 3px 7px;
     background: #fff;
     border: 1px solid var(--gold-400);
     font-size: 9px;
     color: var(--gold-600);
     font-weight: 600;
   }
   
   .corp-card-lp .card-cta-area {
     padding: 0 20px 14px;
   }
   
   /* おすすめポイントボックス */
   .corp-card-lp .recommend-points-box {
     background: #fff;
     border: 2px solid #4a7c2a;
     border-radius: 8px;
     margin: 0 0 12px 0;
     overflow: hidden;
   }
   
   .corp-card-lp .recommend-section {
     background: linear-gradient(135deg, rgba(34, 139, 34, 0.1), rgba(50, 205, 50, 0.05));
     color: #2d5016;
     padding: 12px 16px 10px 16px;
     font-size: 20px;
     font-weight: 600;
     display: flex;
     align-items: center;
     justify-content: center;
     border-bottom: 2px solid #4a7c2a;
     text-align: center;
   }
   
   /* カード名に黄色マーカー */
   .corp-card-lp .recommend-section .card-name-highlight {
     background: linear-gradient(transparent 60%, #FFD700 60%);
     padding: 0 2px;
   }
   
   /* card-right内のrecommend-sectionはmarginを削除 */
   .corp-card-lp .card-right .recommend-section {
     margin: 0 0 0 0;
   }
   
   .corp-card-lp .recommend-list {
     padding: 0;
     margin: 0;
     background: #fff;
     border: none;
   }
   
   /* card-right内のrecommend-listはmarginを削除 */
   .corp-card-lp .card-right .recommend-list {
     margin: 0 0 0 0;
   }
   
   .corp-card-lp .recommend-list ul {
     display: flex;
     flex-direction: column;
     gap: 0;
     list-style: none;
     padding: 0;
     margin: 0;
   }
   
   .corp-card-lp .recommend-list li {
     display: flex;
     align-items: flex-start;
     padding: 8px 16px;
     font-size: 15px;
     color: var(--ink-700);
     font-weight: bold;
     line-height: 1.5;
     text-align: left;
   }
   
   .corp-card-lp .recommend-list li:last-child {
     padding-bottom: 0;
   }
   
   .corp-card-lp .recommend-list li.recommend-divider {
     padding: 0;
     margin: 0;
     border-top: 1px dashed var(--ink-200);
     height: 0;
     min-height: 0;
   }
   
   .corp-card-lp .recommend-list li svg {
     display: none;
   }
   
   .corp-card-lp .campaign-section {
     margin: 0 0 12px 0;
     padding: 12px;
     background: linear-gradient(135deg, rgba(201, 162, 39, 0.08), rgba(201, 162, 39, 0.02));
     border: 1px solid var(--gold-400);
     width: 100%;
     box-sizing: border-box;
   }
   
   /* card-body内のcampaign-section */
   .corp-card-lp .card-body .campaign-section {
     margin: 20px 0 12px 0;
     width: 100%;
   }
   
   .corp-card-lp .campaign-header {
     display: flex;
     align-items: center;
     gap: 6px;
     margin-bottom: 5px;
   }
   
   .corp-card-lp .campaign-label {
     font-size: 17px;
     font-weight: 700;
     color: #333;
     background: linear-gradient(135deg, rgb(201, 169, 110) 0%, rgb(232, 213, 168) 50%, rgb(201, 169, 110) 100%);
     padding: 6px 6px;
     letter-spacing: 0.05em;
     width: 100%;
     text-align: center;
   }
   
   .corp-card-lp .campaign-title {
     font-size: 20px !important;
     font-weight: 700 !important;
     color: var(--ink-800) !important;
     margin: 0 0 3px 0 !important;
     text-align: center;
   }
   
   .corp-card-lp .campaign-title .num-highlight {
     color: var(--accent-red);
   }
   
   .corp-card-lp .campaign-detail {
     font-size: 13px;
     color: var(--ink-600);
     line-height: 1.4;
   }
   
   .corp-card-lp .campaign-period {
     font-size: 12px;
     color: var(--ink-500);
     margin-top: 5px;
     text-align: center !important;
     align-items: center;
     gap: 4px;
   }
   
   .corp-card-lp .campaign-period svg {
     width: 11px;
     height: 11px;
   }
   
   
   .corp-card-lp .btn {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     gap: 6px;
     padding: 10px 16px;
     font-size: 12px;
     font-weight: 700;
     cursor: pointer;
     border: none;
   
   }
   
   .corp-card-lp .btn svg {
     width: 12px;
     height: 12px;
   }
   
   /* CTAボタン - 統一スタイル */
   .corp-card-lp .btn-primary {
     display: inline-flex;
     align-items: center;
     gap: 4px;
     background: #fd7e14;
     color: #fff !important;
     font-size: 18px !important;
     font-weight: 900 !important;
     padding: 18px 32px !important;
     cursor: pointer;
     box-shadow: 0 6px 0 #CA6510;
     border-radius: 8px;
   
     text-decoration: none !important;
     border: none;
   }
   
   
   
   
   
   /* diagnosis */
   
   .corp-card-lp .diagnosis-wrapper {
     max-width: 900px;
     margin: 0 auto;
     padding: 20px;
     background: #fff;
     border: 1px solid var(--ink-200);
   }
   
   .corp-card-lp .diagnosis-title {
     text-align: center;
     font-size: 17px;
     font-weight: 700;
     margin-bottom: 26px;
   }
   
   .corp-card-lp .diagnosis-question-box {
     display: none;
     text-align: center;
   }
   
   .corp-card-lp .diagnosis-question-box.active {
     display: block;
   }
   
   .corp-card-lp .dq-label {
     font-size: 14px;
     font-weight: 700;
     color: var(--gold-500);
   }
   
   .corp-card-lp .dq-text {
     font-size: 17px;
     margin: 12px 0 18px;
     color: var(--ink-800);
     font-weight: 700;
   }
   
   .corp-card-lp .dq-btn {
     display: block;
     width: 100%;
     margin: 8px 0;
     padding: 14px;
     font-size: 15px;
     font-weight: 700;
     background: var(--ink-50);
     border: 1px solid var(--ink-200);
     cursor: pointer;
   
   }
   
   
   
   .corp-card-lp .diagnosis-result {
     display: none;
     margin-top: 32px;
   }
   
   .corp-card-lp .result-title {
     text-align: center;
     font-size: 17px;
     font-weight: 700;
     color: var(--ink-700);
     margin-bottom: 16px;
   }
   
   .corp-card-lp .dr-card {
     background: linear-gradient(135deg, var(--ink-50), #fff);
     border: 1px solid var(--ink-200);
     box-shadow: 0 18px 40px -22px rgba(15, 23, 42, 0.8);
     padding: 22px 22px 24px;
   }
   
   .corp-card-lp .dr-card-header {
     display: flex;
     justify-content: space-between;
     align-items: center;
     margin-bottom: 14px;
   }
   
   .corp-card-lp .dr-badge-main {
     font-size: 10px;
     font-weight: 700;
     letter-spacing: 0.14em;
     text-transform: uppercase;
     color: var(--gold-500);
   }
   
   .corp-card-lp .dr-badge-sub {
     font-size: 10px;
     padding: 3px 8px;
     border-radius: 999px;
     background: var(--navy-800);
     color: #fff;
   }
   
   .corp-card-lp .dr-card-body {
     display: flex;
     gap: 22px;
   }
   
   .corp-card-lp .dr-card-left {
     width: 200px;
     flex-shrink: 0;
     text-align: center;
     border-right: 1px solid var(--ink-100);
     padding-right: 18px;
   }
   
   .corp-card-lp .dr-card-img {
     width: 100%;
     max-width: 180px;
     height: auto;
     margin-bottom: 10px;
     filter: drop-shadow(0 6px 15px rgba(0, 0, 0, 0.2));
   }
   
   .corp-card-lp .dr-chip-wrap {
     display: flex;
     flex-direction: column;
     gap: 6px;
   }
   
   .corp-card-lp .dr-chip {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     font-size: 11px;
     padding: 4px 10px;
     border-radius: 2px;
     border: 1px solid var(--gold-300);
     background: rgba(201, 162, 39, 0.06);
     color: var(--ink-800);
   }
   
   .corp-card-lp .dr-card-right {
     flex: 1;
     min-width: 0;
   }
   
   .corp-card-lp .dr-card-name {
     font-size: 18px;
     font-weight: 700;
     color: var(--accent-blue);
     margin-bottom: 6px;
     text-decoration: underline;
   }
   
   .corp-card-lp .dr-card-tagline {
     font-size: 12px;
     font-weight: 600;
     color: var(--accent-red);
     margin-bottom: 10px;
   }
   
   .corp-card-lp .dr-card-copy {
     font-size: 13px;
     color: var(--ink-600);
     margin-bottom: 12px !important;
     line-height: 1.8;
   }
   
   .corp-card-lp .dr-card-list {
     list-style: none;
     margin: 0 0 16px;
     padding: 16px;
     display: flex;
     flex-direction: column;
     gap: 6px;
     font-size: 12px;
     color: var(--ink-700);
     background: rgba(255, 252, 127, 0.2);
     border-radius: 8px;
   }
   
   .corp-card-lp .dr-card-list li {
     position: relative;
     padding-left: 12px;
     line-height: 1.7;
   }
   
   .corp-card-lp .dr-card-list li::before {
     content: '・';
     position: absolute;
     left: 0;
     top: 0;
   }
   
   .corp-card-lp .dr-card-cta {
     display: flex;
     flex-wrap: wrap;
     gap: 8px;
     margin-top: 20px;
   }
   
   .corp-card-lp .dr-btn-primary,
   .corp-card-lp .dr-btn-secondary {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     padding: 10px 16px;
     font-size: 12px;
     font-weight: 700;
     border-radius: 2px;
     text-decoration: none;
     border: none;
     cursor: pointer;
   
   }
   
   .corp-card-lp .dr-btn-primary {
     flex: 1;
     background: linear-gradient(135deg, var(--navy-800), var(--navy-900));
     color: #fff;
     position: relative !important;
     overflow: hidden !important;
     z-index: 1 !important;
   }
   
   
   
   .corp-card-lp .dr-btn-secondary {
     background: #fff;
     border: 1px solid var(--ink-300);
     color: var(--ink-700);
   }
   
   
   
   /* 特典リスト */
   .corp-card-lp .benefit-container {
     display: flex;
     flex-wrap: wrap;
     width: 100%;
     max-width: 900px;
     background: #fff;
     border: none;
     margin: 0;
   }
   
   .corp-card-lp .benefit-item {
     width: 100%;
     padding: 5px 0px;
     display: flex;
     align-items: center;
     border-bottom: none;
     border-right: none;
   }
   
   .corp-card-lp .benefit-item .icon-area {
     width: 21px;
     text-align: center;
     margin-right: 7px;
     flex-shrink: 0
   }
   
   .corp-card-lp .benefit-item .icon-area i {
     font-size: 13px;
     color: var(--gold-500)
   }
   
   .corp-card-lp .benefit-item .text-area {
     display: flex;
     flex-direction: column
   }
   
   .corp-card-lp .benefit-item .title {
     font-size: 15px;
     font-weight: 700;
     color: var(--ink-800);
     line-height: 1.3;
     margin-bottom: 2px
   }
   
   .corp-card-lp .benefit-item .sub-text {
     font-size: 12px;
     font-weight: 600;
     color: var(--ink-600);
     line-height: 1.3
   }
   
   /* card feature tags */
   .corp-card-lp .card-feature-tags {
     display: flex;
     gap: 8px;
     justify-content: center;
     margin-top: 12px;
     flex-wrap: wrap;
     min-height: 60px;
     align-items: flex-start;
   }
   
   .corp-card-lp .card-feature-tag {
     padding: 6px 4px;
     border: 1px solid var(--gold-500);
     color: var(--gold-600);
     font-size: 10px;
     font-weight: 700;
     background: #fff;
     white-space: nowrap;
   }
   
   
   
   
   /* icons common */
   
   .corp-card-lp .top-cta-btn svg,
   .corp-card-lp .table-cta-btn svg,
   .corp-card-lp .btn svg,
   .corp-card-lp .dr-btn-secondary svg,
   .corp-card-lp .dr-btn-primary svg {
     width: 14px !important;
     height: 14px !important;
     min-width: 14px !important;
     flex-shrink: 0 !important;
     margin-top: -1px;
   }
   
   .corp-card-lp .top-cta-btn.primary,
   .corp-card-lp .btn-primary {
     position: relative !important;
     overflow: hidden !important;
     z-index: 1 !important;
   }
   
   
   
   /* animations */
   
   @keyframes fadeInUp {
     from {
       opacity: 0;
       transform: translateY(30px);
     }
   
     to {
       opacity: 1;
       transform: translateY(0);
     }
   }
   
   /* desktop grid */
   
   
   
   /* mobile */
   
   
   
   /* table text size */
   
   .corp-card-lp .table-text {
     font-size: 10px;
   }
   
   
   
   /* rating icon images */
   
   .corp-card-lp .rating-icon.excellent {
     font-size: 0 !important;
     background-image: url('https://finance.saimuseiri-pro.com/wp-content/uploads/2025/12/◎.png');
     background-size: contain;
     background-repeat: no-repeat;
     background-position: center;
     width: 36px;
     height: 36px;
   }
   
   .corp-card-lp .rating-icon.good {
     font-size: 0 !important;
     background-image: url('https://finance.saimuseiri-pro.com/wp-content/uploads/2025/12/◯.png');
     background-size: contain;
     background-repeat: no-repeat;
     background-position: center;
     width: 36px;
     height: 36px;
   }
   
   .corp-card-lp .rating-icon.bad {
     width: 36px;
     height: 36px;
   }
   
   
   
   /* disclaimer (improved) */
   
   .corp-card-lp .disclaimer-section {
     background: linear-gradient(180deg, var(--navy-900) 0%, #0a0e1a 100%);
     color: var(--ink-300);
     padding: 60px 20px 40px;
     position: relative;
     overflow: hidden;
   }
   
   .corp-card-lp .disclaimer-section::before {
     content: '';
     position: absolute;
     inset: 0;
     background-image: repeating-linear-gradient(0deg,
         transparent,
         transparent 2px,
         rgba(255, 255, 255, 0.02) 2px,
         rgba(255, 255, 255, 0.02) 4px);
     pointer-events: none;
   }
   
   .corp-card-lp .disclaimer-section::after {
     content: '';
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     height: 2px;
     background: linear-gradient(90deg, transparent 0%, var(--gold-500) 50%, transparent 100%);
   }
   
   .corp-card-lp .disclaimer-inner {
     max-width: 900px;
     margin: 0 auto;
     position: relative;
     z-index: 1;
     margin-top: 20px;
     margin-bottom: 25px;
   }
   
   .corp-card-lp .disclaimer-title {
     font-size: 15px !important;
     font-weight: 700 !important;
     color: #fff !important;
     margin-bottom: 28px !important;
     padding-bottom: 16px !important;
     border-bottom: 1px solid rgba(201, 162, 39, 0.2) !important;
     display: flex !important;
     align-items: center !important;
     gap: 10px !important;
   }
   
   .corp-card-lp .disclaimer-title::before {
     content: '⚠';
     display: inline-flex;
     align-items: center;
     justify-content: center;
     width: 28px;
     height: 28px;
     background: rgba(201, 162, 39, 0.15);
     border: 1px solid rgba(201, 162, 39, 0.3);
     border-radius: 4px;
     font-size: 14px;
     color: var(--gold-400);
   }
   
   .corp-card-lp .disclaimer-content {
     font-size: 12px;
     line-height: 2;
     background: rgba(255, 255, 255, 0.03);
     padding: 24px;
     border-radius: 4px;
     border: 1px solid rgba(255, 255, 255, 0.08);
   }
   
   .corp-card-lp .disclaimer-content p {
     margin-bottom: 16px !important;
     position: relative;
     padding-left: 20px !important;
   }
   
   .corp-card-lp .disclaimer-content p::before {
     content: '■';
     position: absolute;
     left: 0;
     top: 0;
     color: var(--gold-500);
     font-size: 8px;
     line-height: 2;
   }
   
   .corp-card-lp .disclaimer-content p:last-child {
     margin-bottom: 0 !important;
   }
   
   .corp-card-lp .copyright {
     margin-top: 40px;
     padding-top: 28px;
     border-top: 1px solid rgba(255, 255, 255, 0.1);
     text-align: center;
     font-size: 12px;
     color: var(--ink-400);
     letter-spacing: 0.05em;
     font-weight: 500;
   }
   
   
   
   /* 法人カード診断チャート */
   .corp-card-lp .diagnosis-chart-section {
     max-width: 900px;
     margin: 40px auto;
     padding: 0;
   }
   
   .corp-card-lp .diagnosis-chart-grid {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 24px;
     justify-content: center;
   }
   
   .corp-card-lp .diagnosis-card-wrapper {
     display: flex;
     flex-direction: column;
   }
   
   .corp-card-lp .diagnosis-category-header {
     background: #fff;
     border-radius: 12px 12px 0 0;
     padding: 30px 20px;
     text-align: center;
     border: 2px solid var(--ink-200);
     border-bottom: none;
   }
   
   .corp-card-lp .diagnosis-icon-container {
     display: flex;
     justify-content: center;
     align-items: center;
     margin-bottom: 15px;
   }
   
   .corp-card-lp .diagnosis-icon {
     width: 60px;
     height: 60px;
     fill: var(--ink-800);
   }
   
   .corp-card-lp .diagnosis-category-title {
     font-size: 18px;
     font-weight: 700;
     color: var(--ink-800);
     letter-spacing: 0.5px;
   }
   
   .corp-card-lp .diagnosis-card-image-section {
     background: #fff;
     padding: 20px;
     display: flex;
     justify-content: center;
     align-items: center;
     border-left: 2px solid var(--ink-200);
     border-right: 2px solid var(--ink-200);
     height: 200px;
   }
   
   .corp-card-lp .diagnosis-card-image {
     max-width: 100%;
     max-height: 160px;
     object-fit: contain;
   }
   
   .corp-card-lp .diagnosis-card-name-section {
     background: #fff;
     padding: 15px 20px;
     text-align: center;
     border-left: 2px solid var(--ink-200);
     border-right: 2px solid var(--ink-200);
     height: 70px;
     display: flex;
     align-items: center;
     justify-content: center;
     text-decoration: underline !important;
   }
   
   .corp-card-lp .diagnosis-card-name-link {
     color: var(--accent-blue);
     font-size: 16px;
     font-weight: 700;
     text-decoration: underline;
     cursor: pointer;
     line-height: 1.4;
   }
   
   .corp-card-lp .diagnosis-features-section {
     border-radius: 0 0 12px 12px;
     overflow: hidden;
     box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
     border: 2px solid var(--ink-200);
     border-top: none;
   }
   
   .corp-card-lp .diagnosis-features-header {
     padding: 20px;
     color: #fff;
     font-weight: 700;
     font-size: 16px;
     text-align: center;
     letter-spacing: 0.5px;
   }
   
   .corp-card-lp .diagnosis-card-wrapper:nth-child(1) .diagnosis-features-header {
     background: #1a5f3f;
   }
   
   .corp-card-lp .diagnosis-card-wrapper:nth-child(2) .diagnosis-features-header {
     background: #5a7a8f;
   }
   
   .corp-card-lp .diagnosis-card-wrapper:nth-child(3) .diagnosis-features-header {
     background: var(--ink-800);
   }
   
   .corp-card-lp .diagnosis-features-list {
     background: #fff;
     padding: 10px 0px 0px 10px;
     list-style: none;
     margin: 0;
   }
   
   .corp-card-lp .diagnosis-feature-item {
     display: flex;
     align-items: center;
     gap: 10px;
     margin-bottom: 12px;
     padding: 8px 12px;
     border-radius: 8px;
   }
   
   .corp-card-lp .diagnosis-feature-item:last-child {
     margin-bottom: 0;
   }
   
   .corp-card-lp .diagnosis-checkmark {
     flex-shrink: 0;
     width: 20px;
     height: 20px;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     color: #fff;
     font-weight: 700;
     font-size: 12px;
   }
   
   .corp-card-lp .diagnosis-card-wrapper:nth-child(1) .diagnosis-checkmark {
     background: #1a5f3f;
   }
   
   .corp-card-lp .diagnosis-card-wrapper:nth-child(2) .diagnosis-checkmark {
     background: #5a7a8f;
   }
   
   .corp-card-lp .diagnosis-card-wrapper:nth-child(3) .diagnosis-checkmark {
     background: var(--ink-800);
   }
   
   .corp-card-lp .diagnosis-feature-text {
     font-size: 14px;
     line-height: 1.4;
     color: var(--ink-800);
     flex: 1;
   }
   
   .corp-card-lp .diagnosis-feature-label {
     font-weight: 700;
   }
   
   .corp-card-lp .diagnosis-cta-container {
     background: #fff;
     padding: 20px 25px;
   }
   
   .corp-card-lp .diagnosis-cta-button {
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 8px;
     width: 100%;
     padding: 14px 24px;
     border: none;
     border-radius: 8px;
     background: var(--navy-800);
     color: #fff;
     font-size: 15px;
     font-weight: 700;
     text-decoration: none;
     cursor: pointer;
   }
   
   .corp-card-lp .diagnosis-external-icon {
     width: 18px;
     height: 18px;
   }
   
   
   
   .corp-card-lp .diagnosis-chart-title {
     background: linear-gradient(135deg, var(--navy-900), var(--navy-800));
     color: #fff;
     font-size: 17px;
     font-weight: 700;
     padding: 16px 24px;
     margin-bottom: 30px;
     text-align: center;
     border-radius: 4px;
   }
   
   
   
   /* ポイントごとにカードを比較 - dr-card-grid */
   .corp-card-lp .dr-card-grid {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 20px;
   }
   
   
   
   
   
   .corp-card-lp .dr-card {
     background: #fff;
     border: 1px solid var(--ink-200);
     border-radius: 8px;
     overflow: hidden;
     display: flex;
     flex-direction: column;
   }
   
   .corp-card-lp .dr-card-category {
     background: var(--navy-800);
     color: #fff;
     font-size: 12px;
     font-weight: 700;
     text-align: center;
     padding: 10px;
   }
   
   .corp-card-lp .dr-card-image {
     padding: 20px;
     text-align: center;
     background: linear-gradient(135deg, var(--ink-50), #fff);
   }
   
   .corp-card-lp .dr-card-image img {
     max-width: 180px;
     height: auto;
     filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.15));
   }
   
   .corp-card-lp .dr-card-name {
     text-align: center;
     padding: 0 16px 12px;
   }
   
   .corp-card-lp .dr-card-name a {
     font-size: 14px;
     font-weight: 700;
     color: var(--accent-blue) !important;
     text-decoration: underline !important;
   }
   
   .corp-card-lp .dr-card-features {
     padding: 16px;
     background: var(--ink-50);
     flex: 1;
   }
   
   .corp-card-lp .dr-card-features-title {
     font-size: 12px;
     font-weight: 700;
     color: var(--ink-600);
     margin-bottom: 10px;
     padding-bottom: 8px;
     border-bottom: 1px solid var(--ink-200);
   }
   
   .corp-card-lp .dr-card-list {
     list-style: none !important;
     margin: 0 !important;
     padding: 0 !important;
   }
   
   .corp-card-lp .dr-card-list li {
     display: flex;
     align-items: flex-start;
     gap: 8px;
     font-size: 12px;
     line-height: 1.6;
     color: var(--ink-700);
     margin-bottom: 8px;
   }
   
   .corp-card-lp .dr-card-list li:last-child {
     margin-bottom: 0;
   }
   
   .corp-card-lp .dr-card-list li svg {
     flex-shrink: 0;
     color: var(--gold-600);
     margin-top: 2px;
   }
   
   .corp-card-lp .dr-card-action {
     padding: 16px;
     text-align: center;
   }
   
   .corp-card-lp .dr-card-action .btn {
     width: 100%;
   }
   
   /* セクション説明テキスト */
   .corp-card-lp .section-description {
     text-align: center;
     font-size: 14px;
     color: var(--ink-600);
     margin-bottom: 24px;
   }
   
   /* テキストフォーマット用クラス */
   .corp-card-lp .ccm-highlight {
     color: #dc3545;
     font-weight: 700;
   }
   
   .corp-card-lp .ccm-free {
     color: #ff832a;
     font-weight: 600;
   }
   
   /* spec-table内でも適用 */
   .corp-card-lp .spec-table .ccm-highlight {
     color: #dc3545;
     font-weight: 700;
   }
   
   .corp-card-lp .spec-table .ccm-free {
     color: #ff832a;
     font-weight: 600;
   }
   
   /* compare-table内でも適用 */
   .corp-card-lp .compare-table-v2 .ccm-highlight {
     color: #dc3545;
     font-weight: 700;
   }
   
   .corp-card-lp .compare-table-v2 .ccm-free {
     color: #ff832a;
     font-weight: 600;
   }
   
   /* カードHTML本文 */
   .corp-card-lp .card-html-content {
     padding: 20px;
     background: #f8f9fa;
     border-radius: 8px;
     margin: 15px 0;
     line-height: 1.8;
   }
   
   .corp-card-lp .card-html-content h2,
   .corp-card-lp .card-html-content h3,
   .corp-card-lp .card-html-content h4 {
     margin-top: 1.5em;
     margin-bottom: 0.5em;
     color: #333;
   }
   
   .corp-card-lp .card-html-content h2:first-child,
   .corp-card-lp .card-html-content h3:first-child,
   .corp-card-lp .card-html-content h4:first-child {
     margin-top: 0;
   }
   
   .corp-card-lp .card-html-content p {
     margin-bottom: 1em;
   }
   
   .corp-card-lp .card-html-content ul,
   .corp-card-lp .card-html-content ol {
     margin-left: 1.5em;
     margin-bottom: 1em;
   }
   
   .corp-card-lp .card-html-content li {
     margin-bottom: 0.5em;
   }
   
   .corp-card-lp .card-html-content table {
     width: 100%;
     border-collapse: collapse;
     margin: 1em 0;
   }
   
   .corp-card-lp .card-html-content th,
   .corp-card-lp .card-html-content td {
     border: 1px solid #ddd;
     padding: 8px 12px;
     text-align: left;
   }
   
   .corp-card-lp .card-html-content th {
     background: #f0f0f0;
   }
   
   .corp-card-lp .card-html-content img {
     max-width: 100%;
     height: auto;
   }
   
   .corp-card-lp .card-html-content a {
     color: #0066cc;
     text-decoration: underline;
   }
   
   
   
   /* SWELLマーカースタイル */
   .corp-card-lp .swl-marker.mark_yellow {
     background: linear-gradient(transparent 60%, #ffef8c 60%);
   }
   
   .corp-card-lp .swl-marker.mark_blue {
     background: linear-gradient(transparent 60%, #a8d8ff 60%);
   }
   
   .corp-card-lp .swl-marker.mark_green {
     background: linear-gradient(transparent 60%, #a8ffaa 60%);
   }
   
   .corp-card-lp .swl-marker.mark_red {
     background: linear-gradient(transparent 60%, #ffb8b8 60%);
   }
   
   /* spec-table内でも適用 */
   .corp-card-lp .spec-table .swl-marker.mark_yellow {
     background: linear-gradient(transparent 60%, #ffef8c 60%);
   }
   
   .corp-card-lp .spec-table .swl-marker.mark_blue {
     background: linear-gradient(transparent 60%, #a8d8ff 60%);
   }
   
   .corp-card-lp .spec-table .swl-marker.mark_green {
     background: linear-gradient(transparent 60%, #a8ffaa 60%);
   }
   
   .corp-card-lp .spec-table .swl-marker.mark_red {
     background: linear-gradient(transparent 60%, #ffb8b8 60%);
   }
   
   /* compare-table内でも適用 */
   .corp-card-lp .compare-table-v2 .swl-marker.mark_yellow {
     background: linear-gradient(transparent 60%, #ffef8c 60%);
   }
   
   .corp-card-lp .compare-table-v2 .swl-marker.mark_blue {
     background: linear-gradient(transparent 60%, #a8d8ff 60%);
   }
   
   .corp-card-lp .compare-table-v2 .swl-marker.mark_green {
     background: linear-gradient(transparent 60%, #a8ffaa 60%);
   }
   
   .corp-card-lp .compare-table-v2 .swl-marker.mark_red {
     background: linear-gradient(transparent 60%, #ffb8b8 60%);
   }
   
   /* TOPランキング注釈スタイル */
   .corp-card-lp .top-ranking-right .top-ranking-note,
   .corp-card-lp .top-ranking-right p.top-ranking-note,
   .corp-card-lp p.top-ranking-note {
     font-size: 12px !important;
     color: #666 !important;
     margin-bottom: 8px !important;
     margin-top: 0 !important;
     line-height: 1.5 !important;
     display: block !important;
   }
   
   .corp-card-lp .top-ranking-note *,
   .corp-card-lp .top-ranking-note span,
   .corp-card-lp .top-ranking-note .ccm-highlight,
   .corp-card-lp .top-ranking-note .ccm-free,
   .corp-card-lp .top-ranking-note .swl-marker {
     font-size: 12px !important;
   }
   
   
   /* 比較テーブル注釈スタイル */
   .corp-card-lp .compare-table-note,
   .corp-card-lp .compare-table-note *,
   .corp-card-lp .compare-table-note span {
     font-size: 12px !important;
     text-align: left !important;
     color: #666;
   }
   
   /* 詳細ランキング注釈スタイル */
   .corp-card-lp .detail-ranking-note,
   .corp-card-lp .detail-ranking-note *,
   .corp-card-lp .detail-ranking-note span {
     font-size: 12px !important;
     text-align: left;
     color: #666;
     line-height: 1.6;
   }
   
   /* 詳細ランキング card-actions内の注釈 */
   .corp-card-lp .card-actions {
     display: flex;
     flex-direction: column !important;
     gap: 8px;
     padding: 0 0 16px;
     align-items: center;
     justify-content: center;
   }
   
   /* CTA注釈 */
   .corp-card-lp .cta-note-text {
     font-size: 14px;
     color: #dc3545;
     font-weight: bold;
     margin: 0;
     padding: 0;
     text-align: center;
     line-height: 1.4;
     display: inline-block;
     width: auto;
   }
   
   /* CTA（1つ目と2つ目）の横幅をおすすめポイントと同じ幅に */
   .corp-card-lp .card-actions-first {
     width: 100% !important;
     display: flex;
     flex-direction: column;
     justify-content: center;
     align-items: center;
     margin: 0;
     padding: 10px 0px 16px;
     gap: 0;
   }
   
   .corp-card-lp .card-actions-second {
     width: 100% !important;
     display: flex;
     justify-content: center;
     align-items: center;
     margin: 0;
     padding: 10px 0px 16px;
   }
   
   /* CTAボタン - 詳細ランキング用（幅と表示を調整） */
   .corp-card-lp .card-actions-first .btn-primary,
   .corp-card-lp .card-actions-second .btn-primary,
   .corp-card-lp .card-actions .btn-primary {
     width: 100%;
     display: flex;
     justify-content: center;
   }
   
   
   
   /* 注釈セクション */
   .corp-card-lp .detail-note-section {
     padding: 0 ;
     margin: 0px 0;
     width: 100%;
   }
   
   .corp-card-lp .detail-note-section .detail-ranking-note {
     width: 100% !important;
     margin-bottom: 0 !important;
     font-size: 10px !important;
     color: #666 !important;
     text-align: left;
     line-height: 1.6 !important;
   }
   
   .corp-card-lp .card-actions .detail-ranking-note {
     width: 100% !important;
     margin-bottom: 12px !important;
     font-size: 12px !important;
     color: #666 !important;
     text-align: left;
     line-height: 1.6 !important;
   }
   
  /* プロモーション表示 */
  .corp-card-lp .promotion-notice {
    position: absolute;
   top: 10px;
   right: 20px;
    font-size: 11px;
    color: rgba(255, 255, 255, 0.7);
    background: rgba(0, 0, 0, 0.8);
    padding: 4px 10px;
    border-radius: 2px;
    z-index: 100;
    margin: 0;
  }

  /* ヘッダーロゴ（PC共通） */
  .corp-card-lp .hero-logo-bar {
    position: absolute;
    top: 10px;
    left: 20px;
    margin: 0;
    z-index: 101;
    background: rgba(0, 0, 0, 0.8);
    padding: 8px 12px;
    border-radius: 4px;
  }

  .corp-card-lp .hero-logo-bar img {
    height: 40px;
    width: auto;
  }
   
   
   /* ======================================
         詳細ランキング レイアウト修正
         ====================================== */
   
   /* card-rightの中のおすすめポイント */
   .recommend-section-inline {
     font-size: 14px;
     font-weight: 700;
     color: #1b263b;
     padding: 8px 12px;
     background: linear-gradient(90deg, #f8f9fa 0%, transparent 100%);
     border-left: 3px solid #d4af37;
     margin-bottom: 12px;
   }
   
   .recommend-list-inline ul {
     list-style: none;
     padding: 0;
     margin: 0 0 16px 0;
   }
   
   .recommend-list-inline li {
     display: flex;
     align-items: flex-start;
     gap: 8px;
     padding: 6px 0;
     font-size: 13px;
     color: #333;
     line-height: 1.5;
   }
   
   .recommend-list-inline li svg {
     width: 16px;
     height: 16px;
     color: #d4af37;
     flex-shrink: 0;
     margin-top: 2px;
   }
   
   /* card-right内のfeature-tags */
   .card-right .feature-tags {
     margin-top: auto;
     padding-top: 12px;
     border-top: 1px solid #eee;
   }
   
   /* spec-tableフル幅 */
   .spec-table-fullwidth {
     width: 100%;
     padding: 20px;
     background: #f8f9fa;
     border-top: 1px solid #e9ecef;
   }
   
   .spec-table-fullwidth .spec-table {
     width: 100%;
   }
   
   /* キャンペーン情報フル幅 */
   .campaign-section-fullwidth {
     width: 100%;
     padding: 20px;
     background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
     border-top: 1px solid #fcd34d;
   }
   
   .campaign-section-fullwidth .campaign-header {
     margin-bottom: 8px;
   }
   
   .campaign-section-fullwidth .campaign-label {
     display: inline-block;
     background: linear-gradient(135deg, #d4af37 0%, #b8860b 100%);
     color: #fff;
     padding: 4px 12px;
     border-radius: 4px;
     font-size: 12px;
     font-weight: 700;
   }
   
   .campaign-section-fullwidth .campaign-title {
     font-size: 15px;
     font-weight: 700;
     color: #1b263b;
     margin: 8px 0;
   }
   
   .campaign-section-fullwidth .campaign-period {
     display: flex;
     align-items: center;
     gap: 6px;
     font-size: 12px;
     color: #666;
   }
   
   .campaign-section-fullwidth .campaign-period svg {
     width: 14px;
     height: 14px;
   }
   
   /* card-body調整 - 縦並びに変更 */
   .ranking-card .card-body {
     display: flex;
     flex-direction: column;
     gap: 24px;
     padding: 20px;
     align-items: center;
   }
   
   .ranking-card .card-left {
     width: 100%;
     display: flex;
     justify-content: center;
   }
   
   .ranking-card .card-right {
     width: 100%;
     display: flex;
     flex-direction: column;
   }
   
   
   /* モバイル対応 */
   
   /* テーブルラッパーのoverflow対策 */
   .corp-card-lp .compare-table-wrapper {
     overflow-x: auto;
     overflow-y: visible;
     padding-bottom: 10px;
     /* transform用の余白 */
   }
   
   /* 横スクロール対応の比較表 */
   .corp-card-lp .compare-table-wrapper.compare-table-scroll {
     overflow-x: auto;
     overflow-y: visible;
     -webkit-overflow-scrolling: touch;
     scrollbar-width: thin;
     scrollbar-color: var(--ink-300) var(--ink-50);
   }
   
   .corp-card-lp .compare-table-wrapper.compare-table-scroll::-webkit-scrollbar {
     height: 8px;
   }
   
   .corp-card-lp .compare-table-wrapper.compare-table-scroll::-webkit-scrollbar-track {
     background: var(--ink-50);
     border-radius: 4px;
   }
   
   .corp-card-lp .compare-table-wrapper.compare-table-scroll::-webkit-scrollbar-thumb {
     background: var(--ink-300);
     border-radius: 4px;
   }
   
   .corp-card-lp .compare-table-wrapper.compare-table-scroll::-webkit-scrollbar-thumb:hover {
     background: var(--ink-400);
   }
   
   .corp-card-lp .compare-table-wrapper.compare-table-scroll .compare-table-v2 {
     min-width: 1600px; /* 10件のカードを横に並べるための最小幅 */
   }
   
   /* cta-rowのtdにoverflow visible */
   .corp-card-lp .cta-row td {
     overflow: visible !important;
     padding-top: 16px !important;
     padding-bottom: 20px !important;
     /* 押し込み分の余白 */
   }
   
   /* table-cta-btn 強化版 */
   
   
   
   
   /* テーブル自体のoverflow */
   .corp-card-lp .compare-table-v2 {
     overflow: visible;
   }
   
   /* quick-compareのoverflow対策 */
   .corp-card-lp .quick-compare {
     overflow: visible;
   }
   
   
   
   /* ======================================
         超小型デバイス対応（360px以下）
         ====================================== */
   
   
   /* ============================================
         法人カード診断機能 CSS（デザイン統一版）
         custom.css に追加する内容
         ============================================ */
   
   /* ======================================
         診断バナー（既存デザインに統一）
         ====================================== */
   /* ============================================
         法人カード診断機能 CSS（アコーディオンなし・シンプル版）
         既存の診断CSSをすべて削除して、これに置き換える
         ============================================ */
   
   /* ======================================
         診断バナー（既存デザインに統一）
         ====================================== */
   .corp-card-lp .diagnosis-banner {
     background: #1e1e1e;
   }
   
   .corp-card-lp .diagnosis-banner::before {
     content: '';
     position: absolute;
     inset: 0;
     background: repeating-linear-gradient(45deg,
         transparent,
         transparent 30px,
         rgba(201, 162, 39, 0.03) 30px,
         rgba(201, 162, 39, 0.03) 31px);
     pointer-events: none;
   }
   
   .corp-card-lp .diagnosis-banner::after {
     background: linear-gradient(135deg, #c9a96e 0%, #e8d5a8 50%, #c9a96e 100%);
   }
   
   .corp-card-lp .diagnosis-banner .section-banner-icon {
     background: linear-gradient(135deg, #c9a96e 0%, #e8d5a8 50%, #c9a96e 100%);
   }
   
   .corp-card-lp .diagnosis-banner .section-banner-icon svg {
     color: var(--navy-900);
   }
   
   .corp-card-lp .diagnosis-banner .section-banner-eyebrow {
     color: #d4bc8a;
   }
   
   .corp-card-lp .diagnosis-banner .section-banner-title {
     color: #fff !important;
   }
   
   /* ======================================
         診断フォーム
         ====================================== */
   .corp-card-lp .diagnosis-form-wrapper {
     background: #fff;
     border: 2px solid #e8ebf0;
     border-radius: 12px;
     padding: 24px;
     max-width: 700px;
     margin: 0 auto 20px;
   }
   
   /* タイトル */
   .corp-card-lp .diagnosis-form-title {
     text-align: center;
     font-size: 18px;
     font-weight: 700;
     color: var(--gold-600);
     margin-bottom: 24px;
     padding-bottom: 16px;
     border-bottom: 2px solid var(--gold-400);
   }
   
   .corp-card-lp .diagnosis-question {
     margin-bottom: 24px;
     padding-bottom: 24px;
     border-bottom: 1px solid var(--ink-100);
   }
   
   .corp-card-lp .diagnosis-question:last-of-type {
     margin-bottom: 0;
     padding-bottom: 0;
     border-bottom: none;
   }
   
   .corp-card-lp .diagnosis-question-header {
     display: flex;
     align-items: center;
     gap: 12px;
     margin-bottom: 16px;
   }
   
   .corp-card-lp .diagnosis-q-num {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     width: 32px;
     height: 32px;
     background: linear-gradient(135deg, var(--navy-800) 0%, var(--navy-900) 100%);
     color: #fff;
     font-size: 12px;
     font-weight: 700;
     border-radius: 8px;
   }
   
   .corp-card-lp .diagnosis-q-text {
     font-size: 16px;
     font-weight: 700;
     color: var(--ink-800);
   }
   
   .corp-card-lp .diagnosis-options {
     display: flex;
     flex-wrap: wrap;
     gap: 10px;
   }
   
   .corp-card-lp .diagnosis-option {
     display: flex;
     align-items: center;
     gap: 6px;
     cursor: pointer;
   }
   
   .corp-card-lp .diagnosis-option input {
     width: 16px;
     height: 16px;
     margin: 0;
     cursor: pointer;
     flex-shrink: 0;
   }
   
   .corp-card-lp .diagnosis-option-inner {
     display: flex;
     align-items: center;
     gap: 6px;
   }
   
   .corp-card-lp .diagnosis-option-label {
     font-size: 14px;
     font-weight: 400;
     color: var(--ink-700);
     cursor: pointer;
   }
   
   /* 国際ブランドアイコン */
   .corp-card-lp .diagnosis-brand-icon {
     width: 50px;
     height: 32px;
     object-fit: contain;
   }
   
   
   
   /* 検索ボタン */
   .corp-card-lp .diagnosis-submit-wrapper {
     margin-top: 28px;
     text-align: center;
   }
   
   .corp-card-lp .diagnosis-submit-btn {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     gap: 10px;
     padding: 18px 40px;
     background: #fd7e14;
     color: #fff;
     font-size: 18px;
     font-weight: 900;
     border: none;
     border-radius: 12px;
     cursor: pointer;
   
     box-shadow: 0 6px 0 #CA6510;
   }
   
   .corp-card-lp .diagnosis-submit-btn:hover {
     width: 20px;
     height: 20px;
   }
   
   /* ======================================
         診断結果
         ====================================== */
   .corp-card-lp .diagnosis-results-wrapper {
     max-width: 900px;
     margin: 0 auto;
     animation: fadeInUp 0.4s ease;
   }
   
   .corp-card-lp .diagnosis-results-header {
     display: flex;
     align-items: center;
     justify-content: space-between;
     margin-bottom: 20px;
     padding-bottom: 16px;
     border-bottom: 2px solid var(--gold-500);
   }
   
   .corp-card-lp .diagnosis-results-title {
     display: flex;
     align-items: center;
     gap: 10px;
     font-size: 18px;
     font-weight: 700;
     color: var(--navy-800);
   }
   
   .corp-card-lp .diagnosis-results-title svg {
     color: var(--gold-500);
   }
   
   .corp-card-lp .diagnosis-reset-btn {
     display: inline-flex;
     align-items: center;
     gap: 6px;
     padding: 10px 16px;
     background: var(--ink-50);
     border: 1px solid var(--ink-300);
     border-radius: 6px;
     font-size: 13px;
     font-weight: 600;
     color: var(--ink-600);
     cursor: pointer;
   
   }
   
   
   
   /* 結果カード */
   .corp-card-lp .diagnosis-results-list {
     display: flex;
     flex-direction: column;
     gap: 16px;
   }
   
   .corp-card-lp .diagnosis-result-card {
     display: flex;
     flex-direction: column;
     padding: 20px;
     background: #fff;
     border: 1px solid var(--ink-200);
   
   }
   
   
   /* カード上部: ランキングとカード名 */
   .corp-card-lp .diagnosis-result-header {
     display: flex;
     align-items: center;
     gap: 14px;
     margin-bottom: 16px;
     padding-bottom: 14px;
     border-bottom: 1px solid var(--ink-100);
     background: linear-gradient(to right, var(--ink-50), #fff);
     padding: 14px 20px;
   }
   
   .corp-card-lp .diagnosis-result-rank {
     width: 44px;
     height: 44px;
     display: flex;
     align-items: center;
     justify-content: center;
     position: relative;
     flex-shrink: 0;
   }
   
   .corp-card-lp .diagnosis-result-rank svg.crown {
     width: 40px;
     height: 40px;
   }
   
   .corp-card-lp .diagnosis-result-rank .rank-text {
     position: absolute;
     bottom: 6px;
     font-size: 14px;
     font-weight: 700;
     color: #fff;
     text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
   }
   
   .corp-card-lp .diagnosis-result-rank.rank-1 svg.crown {
     color: #d4a017;
     fill: #d4a017;
   }
   
   .corp-card-lp .diagnosis-result-rank.rank-2 svg.crown {
     color: #a0a0a0;
     fill: #a0a0a0;
   }
   
   .corp-card-lp .diagnosis-result-rank.rank-3 svg.crown {
     color: #cd7f32;
     fill: #cd7f32;
   }
   
   .corp-card-lp .diagnosis-result-rank:not(.rank-1):not(.rank-2):not(.rank-3) {
     background: var(--ink-500);
     width: 36px;
     height: 36px;
   }
   
   .corp-card-lp .diagnosis-result-rank:not(.rank-1):not(.rank-2):not(.rank-3) .rank-text {
     position: static;
     font-size: 14px;
   }
   
   /* カード名 - 法人カードおすすめ10選と同じスタイル */
   .corp-card-lp .diagnosis-result-name {
     font-size: 20px !important;
     font-weight: 700 !important;
     margin: 0 !important;
     flex: 1 !important;
     letter-spacing: 0.02em !important;
   }
   
   .corp-card-lp .diagnosis-result-name::before,
   .corp-card-lp .diagnosis-result-name::after {
     content: none !important;
     display: none !important;
   }
   
   .corp-card-lp .diagnosis-result-name a {
     color: var(--accent-blue) !important;
     text-decoration: underline !important;
   }
   
   .corp-card-lp .diagnosis-result-name a::before,
   .corp-card-lp .diagnosis-result-name a::after {
     content: none !important;
     display: none !important;
   }
   
   
   
   /* カード画像と表を横並び */
   .corp-card-lp .diagnosis-result-body {
     display: flex !important;
     gap: 24px !important;
     padding: 20px !important;
     align-items: center !important;
   }
   
   .corp-card-lp .diagnosis-result-left {
     flex: 1 !important;
     display: flex !important;
     justify-content: center !important;
     align-items: center !important;
   }
   
   .corp-card-lp .diagnosis-result-right {
     flex: 1 !important;
     min-width: 0 !important;
   }
   
   .corp-card-lp .diagnosis-result-image {
     text-align: center !important;
     display: flex !important;
     align-items: center !important;
     justify-content: center !important;
   }
   
   .corp-card-lp .diagnosis-result-image img {
     max-width: 330px !important;
     width: 330px !important;
     height: auto !important;
     filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.12)) !important;
   }
   
   /* 診断結果の表 - カード横に配置 */
   .corp-card-lp .diagnosis-result-spec-table-inline {
     width: 100% !important;
     border-collapse: collapse !important;
     margin: 0 !important;
     border: 1px solid var(--ink-200) !important;
     font-size: 12px !important;
     font-weight: 600 !important;
   }
   
   .corp-card-lp .diagnosis-result-spec-table-inline tr {
     border-bottom: 1px solid var(--ink-200) !important;
   }
   
   .corp-card-lp .diagnosis-result-spec-table-inline tr:last-child {
     border-bottom: none !important;
   }
   
   .corp-card-lp .diagnosis-result-spec-table-inline th {
     text-align: center !important;
     padding: 10px 8px !important;
     background: #F0F0EB !important;
     border-right: 1px solid var(--ink-200) !important;
     font-size: 12px !important;
     width: 25% !important;
     height: 46px !important;
   }
   
   .corp-card-lp .diagnosis-result-spec-table-inline th:last-child {
     border-right: none !important;
   }
   
   .corp-card-lp .diagnosis-result-spec-table-inline td {
     padding: 10px 8px !important;
     color: var(--ink-700) !important;
     text-align: center !important;
     border-right: 1px solid var(--ink-200) !important;
     background: #fff !important;
     width: 25% !important;
     vertical-align: middle !important;
     height: 46px !important;
   }
   
   /* 表の中のハイライトスタイル */
   .corp-card-lp .diagnosis-result-spec-table-inline td .ccm-highlight,
   .corp-card-lp .diagnosis-result-spec-table-inline td highlight {
     color: #dc3545 !important;
     font-weight: 700 !important;
     background: transparent !important;
   }
   
   .corp-card-lp .diagnosis-result-spec-table-inline td .ccm-free,
   .corp-card-lp .diagnosis-result-spec-table-inline td free {
     color: #ff832a !important;
     font-weight: 700 !important;
     background: transparent !important;
   }
   
   .corp-card-lp .diagnosis-result-spec-table-inline td:last-child {
     border-right: none !important;
   }
   
   /* 3行目の申込資格は1列のみ */
   .corp-card-lp .diagnosis-result-spec-table-inline td[colspan="3"] {
     width: 75% !important;
     text-align: center !important;
   }
   
   /* 国際ブランドのロゴ表示（2行目の4番目のtd） */
   .corp-card-lp .diagnosis-result-spec-table-inline tr:nth-child(2) td:nth-child(4) img {
     width: 40px !important;
     height: 40px !important;
     object-fit: contain !important;
     display: inline-block !important;
     margin: 0 2px !important;
   }
   
   /* おすすめポイント - 表の下に配置 */
   .corp-card-lp .diagnosis-result-benefits-wrapper {
     background: #333333 !important;
     padding: 0 !important;
     margin: 0 20px 16px !important;
     border: none !important;
     border-radius: 0 !important;
   }
   
   .corp-card-lp .diagnosis-result-benefits-label {
     display: flex !important;
     align-items: center !important;
     gap: 6px !important;
     font-size: 15px !important;
     font-weight: 600 !important;
     color: var(--gold-400) !important;
     background: transparent !important;
     padding: 8px 14px !important;
     margin-bottom: 0 !important;
     border-left: none !important;
   }
   
   .corp-card-lp .diagnosis-result-benefits-label::before {
     content: '◆' !important;
     color: var(--gold-400) !important;
     font-size: 12px !important;
   }
   
   .corp-card-lp .diagnosis-result-benefits-label svg {
     display: none !important;
   }
   
   .corp-card-lp .diagnosis-result-benefits {
     list-style: none !important;
     margin: 0 !important;
     padding: 10px 14px !important;
     background: #fff !important;
     border: 1px solid var(--ink-200) !important;
     border-top: none !important;
     display: flex !important;
     flex-direction: column !important;
     gap: 5px !important;
   }
   
   .corp-card-lp .diagnosis-result-benefits li {
     display: flex !important;
     align-items: flex-start !important;
     gap: 6px !important;
     font-size: 15px !important;
     color: var(--ink-700) !important;
     line-height: 1.5 !important;
     padding-left: 0 !important;
     position: relative !important;
     font-weight: bold !important;
   }
   
   .corp-card-lp .diagnosis-result-benefits li .benefit-text {
     flex: 1 !important;
     line-height: 1.5 !important;
     word-break: normal !important;
     overflow-wrap: break-word !important;
   }
   
   .corp-card-lp .diagnosis-result-benefits li::before {
     display: none !important;
   }
   
   .corp-card-lp .diagnosis-result-benefits li svg {
     width: 12px !important;
     height: 19px !important;
     color: var(--gold-500) !important;
     flex-shrink: 0 !important;
     margin-top: 1px !important;
   }
   
   /* highlightクラスのスタイル - SWELL上書き */
   .corp-card-lp .diagnosis-result-benefits li highlight,
   .corp-card-lp .diagnosis-result-benefits li .highlight-red,
   .corp-card-lp .diagnosis-result-benefits li .ccm-highlight {
     color: #dc3545 !important;
     font-weight: 700 !important;
     background: transparent !important;
     display: inline !important;
     white-space: normal !important;
     word-break: normal !important;
   }
   
   .corp-card-lp .diagnosis-result-benefits li .highlight-blue,
   .corp-card-lp .diagnosis-result-benefits li .ccm-free {
     color: #ff832a !important;
     font-weight: 700 !important;
     background: transparent !important;
     display: inline !important;
     white-space: normal !important;
     word-break: normal !important;
   }
   
   /* タグは非表示 */
   .corp-card-lp .diagnosis-result-tags {
     display: none !important;
   }
   
   /* 注釈 */
   .corp-card-lp .diagnosis-result-note {
     padding: 0 20px !important;
     margin: 10px 0 0 0 !important;
     font-size: 12px !important;
     color: var(--ink-600) !important;
     line-height: 1.6 !important;
   }
   
   .corp-card-lp .diagnosis-result-note * {
     font-size: 12px !important;
   }
   
   .corp-card-lp .diagnosis-result-cta {
     display: flex !important;
     flex-direction: column !important;
     gap: 10px !important;
     padding: 0 !important;
     margin: 10px 20px 20px !important;
   }
   
   /* 詳細を見るボタン - 薄灰色で目立たなく、立体的に */
   .corp-card-lp .diagnosis-detail-btn {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     padding: 12px 20px;
     background: #e8e8e8;
     color: #666 !important;
     font-size: 13px;
     font-weight: 600;
     border-radius: 5px;
   
     text-decoration: none !important;
     box-shadow: 0 4px 0 #b8b8b8;
   }
   
   
   
   /* 公式サイトで申し込むボタン - 法人カードおすすめ10選と同じデザイン */
   .corp-card-lp .diagnosis-apply-btn {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     gap: 6px;
     padding: 18px 32px;
     background: #fd7e14;
     color: #fff !important;
     font-size: 18px;
     font-weight: 900;
     border-radius: 12px;
   
     text-decoration: none !important;
     box-shadow: 0 6px 0 #CA6510;
   }
   
   
   
   /* 結果なし */
   .corp-card-lp .diagnosis-no-results {
     text-align: center;
     padding: 60px 20px;
     background: var(--ink-50);
     border-radius: 12px;
   }
   
   .corp-card-lp .no-results-icon {
     font-size: 48px;
     margin-bottom: 16px;
   }
   
   .corp-card-lp .no-results-text {
     font-size: 18px;
     font-weight: 700;
     color: var(--ink-600);
     margin-bottom: 8px;
   }
   
   .corp-card-lp .no-results-sub {
     font-size: 14px;
     color: var(--ink-400);
   }
   
   /* ======================================
         モバイル対応
         ====================================== */
   
   
   /* 超小型デバイス */
   
   /* 国際ブランドのアイコン付きオプション */
   .corp-card-lp .diagnosis-option-inner.has-icon {
     gap: 8px;
   }
   
   .corp-card-lp .diagnosis-brand-icon {
     width: 40px;
     height: 24px;
     object-fit: contain;
   }
   
   
   /* クイックリンクボタンをフォームと同じ幅に */
   .corp-card-lp .diagnosis-quick-links {
     display: flex;
     gap: 12px;
     justify-content: center;
     max-width: 700px;
     margin-top: 20px;
     margin-bottom: 30px;
     margin-left: auto;
     margin-right: auto;
   }
   
   
   /* ============================================
         【PC版】タブレット以上 (min-width: 768px)
         ============================================ */
   
   
   /* ============================================
         【SP版】タブレット (max-width: 960px)
         ============================================ */
   
   
   /* ============================================
         【SP版】スマホ (max-width: 767px)
         ============================================ */
   
   
   /* ============================================
         【SP版】小型スマホ (max-width: 600px)
         ============================================ */
   
   
   /* ============================================
         【SP版】超小型デバイス (max-width: 360px)
         ============================================ */
   
   /* ============================================
     display: flex !important;
     flex-direction: row !important;
     align-items: stretch !important;
     padding: 16px 20px 16px 50px !important;
     border: none !important;
     border-bottom: 1px solid #e0e0e0 !important;
     max-width: 100% !important;
     margin: 0 !important;
     position: relative !important;
     overflow: visible !important;
   }
   
   .corp-card-lp .top-ranking-item:last-child {
     border-bottom: none !important;
   }
   
   /* ランク別背景色 */
   .corp-card-lp .top-ranking-item.rank-1 {
     background: linear-gradient(135deg, #fff9e6 0%, #fff3cc 100%) !important;
     border: 2px solid #f0c14b !important;
     border-radius: 8px 8px 0 0 !important;
   }
   
   .corp-card-lp .top-ranking-item.rank-2 {
     background: linear-gradient(135deg, #f0fff4 0%, #e6f7eb 100%) !important;
     border: 2px solid #8bc34a !important;
     border-top: none !important;
   }
   
   .corp-card-lp .top-ranking-item.rank-3 {
     background: linear-gradient(135deg, #fff5f5 0%, #ffe8e8 100%) !important;
     border: 2px solid #ff7043 !important;
     border-top: none !important;
     border-radius: 0 0 8px 8px !important;
   }
   
   /* ======================================
      ランキング番号（左上に配置）
      ====================================== */
   .corp-card-lp .top-ranking-item::before {
     content: '' !important;
     position: absolute !important;
     top: 14px !important;
     left: 14px !important;
     width: 28px !important;
     height: 28px !important;
     border-radius: 50% !important;
     display: flex !important;
     align-items: center !important;
     justify-content: center !important;
     font-size: 14px !important;
     font-weight: 700 !important;
     color: #fff !important;
     z-index: 10 !important;
     line-height: 28px !important;
     text-align: center !important;
   }
   
   .corp-card-lp .top-ranking-item.rank-1::before {
     content: '1' !important;
     background: linear-gradient(135deg, #f0c14b 0%, #d4a017 100%) !important;
     box-shadow: 0 2px 4px rgba(240, 193, 75, 0.4) !important;
   }
   
   .corp-card-lp .top-ranking-item.rank-2::before {
     content: '2' !important;
     background: linear-gradient(135deg, #8bc34a 0%, #689f38 100%) !important;
     box-shadow: 0 2px 4px rgba(139, 195, 74, 0.4) !important;
   }
   
   .corp-card-lp .top-ranking-item.rank-3::before {
     content: '3' !important;
     background: linear-gradient(135deg, #ff7043 0%, #e64a19 100%) !important;
     box-shadow: 0 2px 4px rgba(255, 112, 67, 0.4) !important;
   }
   
   /* 既存のヘッダー・バッジを非表示 */
   .corp-card-lp .top-ranking-header {
     display: none !important;
   }
   
   .corp-card-lp .top-ranking-badge,
   .corp-card-lp .top-rank-num,
   .corp-card-lp .top-ranking-best-badge {
     display: none !important;
   }
   
   /* ======================================
      ランキングボディ（メインレイアウト）
      ====================================== */
   .corp-card-lp .top-ranking-body {
     display: flex !important;
     flex-direction: row !important;
     gap: 20px !important;
     width: 100% !important;
     align-items: flex-start !important;
   }
   
   /* 左側：カード画像エリア */
   .corp-card-lp .top-ranking-left {
     display: flex !important;
     flex-direction: column !important;
     align-items: center !important;
     gap: 8px !important;
     min-width: 140px !important;
     max-width: 160px !important;
   }
   
   /* カード画像 */
   .corp-card-lp .top-ranking-card-img {
     width: 130px !important;
     height: auto !important;
     margin: 0 !important;
     filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.15)) !important;
     border-radius: 6px !important;
   }
   
   /* カード名（画像下） */
   .corp-card-lp .top-ranking-left .card-name-area {
     text-align: center !important;
     margin-top: 4px !important;
   }
   
   .corp-card-lp .top-ranking-item .card-name {
     font-size: 11px !important;
     font-weight: 600 !important;
     color: #333 !important;
     line-height: 1.3 !important;
     margin: 0 !important;
     text-align: center !important;
     background: none !important;
     border: none !important;
     padding: 0 !important;
   }
   
   .corp-card-lp .top-ranking-item .card-name::before,
   .corp-card-lp .top-ranking-item .card-name::after {
     display: none !important;
   }
   
   /* 特徴タグ（年会費・還元率） */
   .corp-card-lp .top-ranking-left .card-feature-tags {
     display: flex !important;
     flex-direction: column !important;
     gap: 4px !important;
     justify-content: center !important;
     align-items: center !important;
     margin-top: 6px !important;
     min-height: auto !important;
   }
   
   .corp-card-lp .top-ranking-left .card-feature-tag {
     padding: 4px 10px !important;
     font-size: 10px !important;
     font-weight: 600 !important;
     border-radius: 4px !important;
     white-space: nowrap !important;
     border: none !important;
     color: #fff !important;
   }
   
   .corp-card-lp .top-ranking-left .card-feature-tag.fee-tag {
     background: #ff6b6b !important;
   }
   
   .corp-card-lp .top-ranking-left .card-feature-tag.rate-tag {
     background: #ffa726 !important;
   }
   
   /* ======================================
      右側：コンテンツエリア
      ====================================== */
   .corp-card-lp .top-ranking-right {
     flex: 1 !important;
     display: flex !important;
     flex-direction: column !important;
     gap: 8px !important;
     min-width: 0 !important;
   }
   
   /* 既存のbenefit-containerを非表示 */
   .corp-card-lp .top-ranking-right .benefit-container {
     display: none !important;
   }
   
   /* キャッチコピー */
   .corp-card-lp .top-ranking-catchcopy {
     font-size: 15px !important;
     font-weight: 700 !important;
     color: #333 !important;
     line-height: 1.4 !important;
     margin: 0 0 6px 0 !important;
     padding: 0 !important;
     display: block !important;
     white-space: normal !important;
     overflow: visible !important;
     text-overflow: unset !important;
   }
   
   .corp-card-lp .top-ranking-catchcopy::before {
     display: none !important;
     content: none !important;
   }
   
   .corp-card-lp .top-ranking-catchcopy .highlight-red,
   .corp-card-lp .top-ranking-catchcopy .ccm-highlight {
     color: #dc3545 !important;
     font-weight: 700 !important;
   }
   
   .corp-card-lp .top-ranking-catchcopy .highlight-blue,
   .corp-card-lp .top-ranking-catchcopy .ccm-free {
     color: #ff832a !important;
     font-weight: 700 !important;
   }
   
   /* 特徴リスト（箇条書き） */
   .corp-card-lp .top-ranking-features-compact {
     list-style: none !important;
     margin: 0 !important;
     padding: 0 !important;
     display: flex !important;
     flex-direction: column !important;
     gap: 3px !important;
   }
   
   .corp-card-lp .top-ranking-features-compact li {
     font-size: 13px !important;
     color: #444 !important;
     line-height: 1.5 !important;
     padding-left: 16px !important;
     position: relative !important;
     margin: 0 !important;
   }
   
   .corp-card-lp .top-ranking-features-compact li::before {
     content: '●' !important;
     position: absolute !important;
     left: 0 !important;
     top: 0 !important;
     color: #ff9800 !important;
     font-size: 8px !important;
     line-height: 1.5 !important;
     margin-top: 4px !important;
   }
   
   .corp-card-lp .top-ranking-features-compact li .ccm-highlight,
   .corp-card-lp .top-ranking-features-compact li .highlight-red {
     color: #dc3545 !important;
     font-weight: 600 !important;
   }
   
   .corp-card-lp .top-ranking-features-compact li .ccm-free,
   .corp-card-lp .top-ranking-features-compact li .highlight-blue {
     color: #ff832a !important;
     font-weight: 600 !important;
   }
   
   /* 注釈 */
   .corp-card-lp .top-ranking-right .top-ranking-note,
   .corp-card-lp .top-ranking-right p.top-ranking-note {
     font-size: 11px !important;
     color: #888 !important;
     margin: 4px 0 0 0 !important;
     padding: 0 !important;
   }
   
   /* CTAボタン */
   .corp-card-lp .top-ranking-cta {
     display: flex !important;
     justify-content: flex-end !important;
     margin-top: auto !important;
     padding-top: 8px !important;
     min-height: auto !important;
   }
   
   .corp-card-lp .top-cta-btn.primary {
     display: inline-flex !important;
     align-items: center !important;
     justify-content: center !important;
     gap: 6px !important;
     padding: 10px 24px !important;
     background: #fff !important;
     border: 2px solid #ff9800 !important;
     color: #333 !important;
     font-size: 13px !important;
     font-weight: 600 !important;
     border-radius: 4px !important;
   
     box-shadow: none !important;
     position: relative !important;
     overflow: visible !important;
     flex: none !important;
   }
   
   .corp-card-lp .top-cta-btn.primary::before {
     display: none !important;
   }
   
   
   
   .corp-card-lp .top-cta-btn.primary svg {
     width: 12px !important;
     height: 12px !important;
   }
   
   /* 既存のpoint-box, features を非表示 */
   .corp-card-lp .top-ranking-point-box,
   .corp-card-lp .top-ranking-features {
     display: none !important;
   }
   
   /* ======================================
      セクションバナー調整（非表示にする場合）
      ====================================== */
   /* .corp-card-lp .section-banner { display: none !important; } */
   
   /* ======================================
      PC版 (min-width: 768px)
      ====================================== */
   
   /* ======================================
      スマホ版 (max-width: 767px)
      ====================================== */
   
   /* ======================================
      超小型デバイス (max-width: 360px)
      ====================================== */
   
   /* ============================================
      法人カード TOP3ランキング - コンパクトデザイン
      スクリーンショット完全準拠版
      既存CSSの最後に追加してください
      ============================================ */
   
   /* ======================================
      TOP3 ランキングリスト（コンパクト版）
      ====================================== */
   .corp-card-lp .top-ranking-list {
     display: flex !important;
     flex-direction: column !important;
     gap: 0 !important;
   }
   
   .corp-card-lp .top-ranking-item {
     background: #fff !important;
     display: flex !important;
     flex-direction: row !important;
     align-items: stretch !important;
     padding: 16px 20px 16px 50px !important;
     border: none !important;
     border-bottom: 1px solid #e0e0e0 !important;
     max-width: 100% !important;
     margin: 0 !important;
     position: relative !important;
     overflow: visible !important;
   }
   
   .corp-card-lp .top-ranking-item:last-child {
     border-bottom: none !important;
   }
   
   /* ランク別背景色 */
   .corp-card-lp .top-ranking-item.rank-1 {
     background: linear-gradient(135deg, #fff9e6 0%, #fff3cc 100%) !important;
     border: 2px solid #f0c14b !important;
     border-radius: 8px 8px 0 0 !important;
   }
   
   .corp-card-lp .top-ranking-item.rank-2 {
     background: linear-gradient(135deg, #f0fff4 0%, #e6f7eb 100%) !important;
     border: 2px solid #8bc34a !important;
     border-top: none !important;
   }
   
   .corp-card-lp .top-ranking-item.rank-3 {
     background: linear-gradient(135deg, #fff5f5 0%, #ffe8e8 100%) !important;
     border: 2px solid #ff7043 !important;
     border-top: none !important;
     border-radius: 0 0 8px 8px !important;
   }
   
   /* ======================================
      ランキング番号（左上に配置）
      ====================================== */
   .corp-card-lp .top-ranking-item::before {
     content: '' !important;
     position: absolute !important;
     top: 14px !important;
     left: 14px !important;
     width: 28px !important;
     height: 28px !important;
     border-radius: 50% !important;
     display: flex !important;
     align-items: center !important;
     justify-content: center !important;
     font-size: 14px !important;
     font-weight: 700 !important;
     color: #fff !important;
     z-index: 10 !important;
     line-height: 28px !important;
     text-align: center !important;
   }
   
   .corp-card-lp .top-ranking-item.rank-1::before {
     content: '1' !important;
     background: linear-gradient(135deg, #f0c14b 0%, #d4a017 100%) !important;
     box-shadow: 0 2px 4px rgba(240, 193, 75, 0.4) !important;
   }
   
   .corp-card-lp .top-ranking-item.rank-2::before {
     content: '2' !important;
     background: linear-gradient(135deg, #8bc34a 0%, #689f38 100%) !important;
     box-shadow: 0 2px 4px rgba(139, 195, 74, 0.4) !important;
   }
   
   .corp-card-lp .top-ranking-item.rank-3::before {
     content: '3' !important;
     background: linear-gradient(135deg, #ff7043 0%, #e64a19 100%) !important;
     box-shadow: 0 2px 4px rgba(255, 112, 67, 0.4) !important;
   }
   
   /* 既存のヘッダー・バッジを非表示 */
   .corp-card-lp .top-ranking-header {
     display: none !important;
   }
   
   .corp-card-lp .top-ranking-badge,
   .corp-card-lp .top-rank-num,
   .corp-card-lp .top-ranking-best-badge {
     display: none !important;
   }
   
   /* ======================================
      ランキングボディ（メインレイアウト）
      ====================================== */
   .corp-card-lp .top-ranking-body {
     display: flex !important;
     flex-direction: row !important;
     gap: 20px !important;
     width: 100% !important;
     align-items: flex-start !important;
   }
   
   /* 左側：カード画像エリア */
   .corp-card-lp .top-ranking-left {
     display: flex !important;
     flex-direction: column !important;
     align-items: center !important;
     gap: 8px !important;
     min-width: 140px !important;
     max-width: 160px !important;
   }
   
   /* カード画像 */
   .corp-card-lp .top-ranking-card-img {
     width: 130px !important;
     height: auto !important;
     margin: 0 !important;
     filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.15)) !important;
     border-radius: 6px !important;
   }
   
   /* カード名（画像下） */
   .corp-card-lp .top-ranking-left .card-name-area {
     text-align: center !important;
     margin-top: 4px !important;
   }
   
   .corp-card-lp .top-ranking-item .card-name {
     font-size: 11px !important;
     font-weight: 600 !important;
     color: #333 !important;
     line-height: 1.3 !important;
     margin: 0 !important;
     text-align: center !important;
     background: none !important;
     border: none !important;
     padding: 0 !important;
   }
   
   .corp-card-lp .top-ranking-item .card-name::before,
   .corp-card-lp .top-ranking-item .card-name::after {
     display: none !important;
   }
   
   /* 特徴タグ（年会費・還元率） */
   .corp-card-lp .top-ranking-left .card-feature-tags {
     display: flex !important;
     flex-direction: column !important;
     gap: 4px !important;
     justify-content: center !important;
     align-items: center !important;
     margin-top: 6px !important;
     min-height: auto !important;
   }
   
   .corp-card-lp .top-ranking-left .card-feature-tag {
     padding: 4px 10px !important;
     font-size: 10px !important;
     font-weight: 600 !important;
     border-radius: 4px !important;
     white-space: nowrap !important;
     border: none !important;
     color: #fff !important;
   }
   
   .corp-card-lp .top-ranking-left .card-feature-tag.fee-tag {
     background: #ff6b6b !important;
   }
   
   .corp-card-lp .top-ranking-left .card-feature-tag.rate-tag {
     background: #ffa726 !important;
   }
   
   /* ======================================
      右側：コンテンツエリア
      ====================================== */
   .corp-card-lp .top-ranking-right {
     flex: 1 !important;
     display: flex !important;
     flex-direction: column !important;
     gap: 8px !important;
     min-width: 0 !important;
   }
   
   /* 既存のbenefit-containerを非表示 */
   .corp-card-lp .top-ranking-right .benefit-container {
     display: none !important;
   }
   
   /* キャッチコピー */
   .corp-card-lp .top-ranking-catchcopy {
     font-size: 15px !important;
     font-weight: 700 !important;
     color: #333 !important;
     line-height: 1.4 !important;
     margin: 0 0 6px 0 !important;
     padding: 0 !important;
     display: block !important;
     white-space: normal !important;
     overflow: visible !important;
     text-overflow: unset !important;
   }
   
   .corp-card-lp .top-ranking-catchcopy::before {
     display: none !important;
     content: none !important;
   }
   
   .corp-card-lp .top-ranking-catchcopy .highlight-red,
   .corp-card-lp .top-ranking-catchcopy .ccm-highlight {
     color: #dc3545 !important;
     font-weight: 700 !important;
   }
   
   .corp-card-lp .top-ranking-catchcopy .highlight-blue,
   .corp-card-lp .top-ranking-catchcopy .ccm-free {
     color: #ff832a !important;
     font-weight: 700 !important;
   }
   
   /* 特徴リスト（箇条書き） */
   .corp-card-lp .top-ranking-features-compact {
     list-style: none !important;
     margin: 0 !important;
     padding: 0 !important;
     display: flex !important;
     flex-direction: column !important;
     gap: 3px !important;
   }
   
   .corp-card-lp .top-ranking-features-compact li {
     font-size: 13px !important;
     color: #444 !important;
     line-height: 1.5 !important;
     padding-left: 16px !important;
     position: relative !important;
     margin: 0 !important;
   }
   
   .corp-card-lp .top-ranking-features-compact li::before {
     content: '●' !important;
     position: absolute !important;
     left: 0 !important;
     top: 0 !important;
     color: #ff9800 !important;
     font-size: 8px !important;
     line-height: 1.5 !important;
     margin-top: 4px !important;
   }
   
   .corp-card-lp .top-ranking-features-compact li .ccm-highlight,
   .corp-card-lp .top-ranking-features-compact li .highlight-red {
     color: #dc3545 !important;
     font-weight: 600 !important;
   }
   
   .corp-card-lp .top-ranking-features-compact li .ccm-free,
   .corp-card-lp .top-ranking-features-compact li .highlight-blue {
     color: #ff832a !important;
     font-weight: 600 !important;
   }
   
   /* 注釈 */
   .corp-card-lp .top-ranking-right .top-ranking-note,
   .corp-card-lp .top-ranking-right p.top-ranking-note {
     font-size: 11px !important;
     color: #888 !important;
     margin: 4px 0 0 0 !important;
     padding: 0 !important;
   }
   
   /* CTAボタン */
   .corp-card-lp .top-ranking-cta {
     display: flex !important;
     justify-content: flex-end !important;
     margin-top: auto !important;
     padding-top: 8px !important;
     min-height: auto !important;
   }
   
   .corp-card-lp .top-cta-btn.primary {
     display: inline-flex !important;
     align-items: center !important;
     justify-content: center !important;
     gap: 6px !important;
     padding: 10px 24px !important;
     background: #fff !important;
     border: 2px solid #ff9800 !important;
     color: #333 !important;
     font-size: 13px !important;
     font-weight: 600 !important;
     border-radius: 4px !important;
   
     box-shadow: none !important;
     position: relative !important;
     overflow: visible !important;
     flex: none !important;
   }
   
   .corp-card-lp .top-cta-btn.primary::before {
     display: none !important;
   }
   
   
   
   .corp-card-lp .top-cta-btn.primary svg {
     width: 12px !important;
     height: 12px !important;
   }
   
   /* 既存のpoint-box, features を非表示 */
   .corp-card-lp .top-ranking-point-box,
   .corp-card-lp .top-ranking-features {
     display: none !important;
   }
   
   /* ============================================
      法人カード TOP3ランキング - コンパクトデザイン
      スクリーンショット完全準拠版
      既存CSSの最後に追加してください
      ============================================ */
   
   /* ======================================
      TOP3 ランキングリスト（コンパクト版）
      ====================================== */
   .corp-card-lp .top-ranking-list {
     display: flex !important;
     flex-direction: column !important;
     gap: 0 !important;
   }
   
   .corp-card-lp .top-ranking-item {
     background: #fff !important;
     display: flex !important;
     flex-direction: row !important;
     align-items: stretch !important;
     padding: 16px 20px 16px 50px !important;
     border: none !important;
     border-bottom: 1px solid #e0e0e0 !important;
     max-width: 100% !important;
     margin: 0 !important;
     position: relative !important;
     overflow: visible !important;
   }
   
   .corp-card-lp .top-ranking-item:last-child {
     border-bottom: none !important;
   }
   
   /* ランク別背景色（元のデザインを維持） */
   .corp-card-lp .top-ranking-item.rank-1,
   .corp-card-lp .top-ranking-item.rank-2,
   .corp-card-lp .top-ranking-item.rank-3 {
     background: #fff !important;
     border: none !important;
     border-bottom: 1px solid #e0e0e0 !important;
     border-radius: 0 !important;
   }
   
   /* ======================================
      ランキング番号（左上に配置）
      ====================================== */
   .corp-card-lp .top-ranking-item::before {
     content: '' !important;
     position: absolute !important;
     top: 14px !important;
     left: 14px !important;
     width: 28px !important;
     height: 28px !important;
     border-radius: 50% !important;
     display: flex !important;
     align-items: center !important;
     justify-content: center !important;
     font-size: 14px !important;
     font-weight: 700 !important;
     color: #fff !important;
     z-index: 10 !important;
     line-height: 28px !important;
     text-align: center !important;
   }
   
   /* 既存のヘッダー・バッジを非表示 */
   .corp-card-lp .top-ranking-header {
     display: none !important;
   }
   
   .corp-card-lp .top-ranking-badge,
   .corp-card-lp .top-rank-num,
   .corp-card-lp .top-ranking-best-badge {
     display: none !important;
   }
   
   /* ======================================
      ランキングボディ（メインレイアウト）
      ====================================== */
   .corp-card-lp .top-ranking-body {
     display: flex !important;
     flex-direction: row !important;
     gap: 20px !important;
     width: 100% !important;
     align-items: flex-start !important;
   }
   
   /* 左側：カード画像エリア */
   .corp-card-lp .top-ranking-left {
     display: flex !important;
     flex-direction: column !important;
     align-items: center !important;
     gap: 8px !important;
     min-width: 140px !important;
     max-width: 160px !important;
   }
   
   /* カード画像 */
   .corp-card-lp .top-ranking-card-img {
     width: 130px !important;
     height: auto !important;
     margin: 0 !important;
     filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.15)) !important;
     border-radius: 6px !important;
   }
   
   /* カード名（画像下） */
   .corp-card-lp .top-ranking-left .card-name-area {
     text-align: center !important;
     margin-top: 4px !important;
   }
   
   .corp-card-lp .top-ranking-item .card-name {
     font-size: 11px !important;
     font-weight: 600 !important;
     line-height: 1.3 !important;
     margin: 0 !important;
     text-align: center !important;
     background: none !important;
     border: none !important;
     padding: 0 !important;
   }
   
   .corp-card-lp .top-ranking-item .card-name a {
     color: #1a73e8 !important;
     text-decoration: underline !important;
   
   }
   
   
   
   .corp-card-lp .top-ranking-item .card-name::before,
   .corp-card-lp .top-ranking-item .card-name::after {
     display: none !important;
   }
   
   /* 特徴タグ（年会費・還元率） */
   .corp-card-lp .top-ranking-left .card-feature-tags {
     display: flex !important;
     flex-direction: column !important;
     gap: 4px !important;
     justify-content: center !important;
     align-items: center !important;
     margin-top: 6px !important;
     min-height: auto !important;
   }
   
   .corp-card-lp .top-ranking-left .card-feature-tag {
     padding: 4px 10px !important;
     font-size: 10px !important;
     font-weight: 600 !important;
     border-radius: 4px !important;
     white-space: nowrap !important;
     background: #fff !important;
     border: 1px solid #ddd !important;
     color: #333 !important;
   }
   
   .corp-card-lp .top-ranking-left .card-feature-tag.fee-tag {
     border-color: #ccc !important;
   }
   
   .corp-card-lp .top-ranking-left .card-feature-tag.rate-tag {
     border-color: #ccc !important;
   }
   
   /* ======================================
      右側：コンテンツエリア
      ====================================== */
   .corp-card-lp .top-ranking-right {
     flex: 1 !important;
     display: flex !important;
     flex-direction: column !important;
     gap: 8px !important;
     min-width: 0 !important;
   }
   
   /* 既存のbenefit-containerを非表示 */
   .corp-card-lp .top-ranking-right .benefit-container {
     display: none !important;
   }
   
   /* キャッチコピー */
   .corp-card-lp .top-ranking-catchcopy {
     font-size: 15px !important;
     font-weight: 700 !important;
     color: #333 !important;
     line-height: 1.4 !important;
     margin: 0 0 6px 0 !important;
     padding: 0 !important;
     display: block !important;
     white-space: normal !important;
     overflow: visible !important;
     text-overflow: unset !important;
   }
   
   .corp-card-lp .top-ranking-catchcopy::before {
     display: none !important;
     content: none !important;
   }
   
   .corp-card-lp .top-ranking-catchcopy .highlight-red,
   .corp-card-lp .top-ranking-catchcopy .ccm-highlight {
     color: #dc3545 !important;
     font-weight: 700 !important;
   }
   
   .corp-card-lp .top-ranking-catchcopy .highlight-blue,
   .corp-card-lp .top-ranking-catchcopy .ccm-free {
     color: #ff832a !important;
     font-weight: 700 !important;
   }
   
   /* 特徴リスト（箇条書き） */
   .corp-card-lp .top-ranking-features-compact {
     list-style: none !important;
     margin: 0 !important;
     padding: 0 !important;
     display: flex !important;
     flex-direction: column !important;
     gap: 3px !important;
   }
   
   .corp-card-lp .top-ranking-features-compact li {
     font-size: 13px !important;
     color: #444 !important;
     line-height: 1.5 !important;
     padding-left: 16px !important;
     position: relative !important;
     margin: 0 !important;
   }
   
   .corp-card-lp .top-ranking-features-compact li::before {
     content: '●' !important;
     position: absolute !important;
     left: 0 !important;
     top: 0 !important;
     color: #ff9800 !important;
     font-size: 8px !important;
     line-height: 1.5 !important;
     margin-top: 4px !important;
   }
   
   .corp-card-lp .top-ranking-features-compact li .ccm-highlight,
   .corp-card-lp .top-ranking-features-compact li .highlight-red {
     color: #dc3545 !important;
     font-weight: 600 !important;
   }
   
   .corp-card-lp .top-ranking-features-compact li .ccm-free,
   .corp-card-lp .top-ranking-features-compact li .highlight-blue {
     color: #ff832a !important;
     font-weight: 600 !important;
   }
   
   /* 注釈 */
   .corp-card-lp .top-ranking-right .top-ranking-note,
   .corp-card-lp .top-ranking-right p.top-ranking-note {
     font-size: 11px !important;
     color: #888 !important;
     margin: 4px 0 0 0 !important;
     padding: 0 !important;
   }
   
   /* CTAボタン */
   .corp-card-lp .top-ranking-cta {
     display: flex !important;
     justify-content: flex-end !important;
     margin-top: auto !important;
     padding-top: 8px !important;
     min-height: auto !important;
   }
   
   .corp-card-lp .top-cta-btn.primary {
     display: inline-flex !important;
     align-items: center !important;
     justify-content: center !important;
     gap: 4px !important;
     padding: 15px 30px !important;
     background: #fd7e14 !important;
     border: none !important;
     color: #fff !important;
     font-size: 11px !important;
     font-weight: 900 !important;
     border-radius: 5px !important;
   
     box-shadow: 0 8px 0 #CA6510 !important;
     position: relative !important;
     z-index: 1 !important;
     flex: none !important;
   }
   
   .corp-card-lp .top-cta-btn.primary::before {
     display: none !important;
   }
   
   
   
   .corp-card-lp .top-cta-btn.primary svg {
     width: 12px !important;
     height: 12px !important;
   }
   
   /* 既存のpoint-box, features を非表示 */
   .corp-card-lp .top-ranking-point-box,
   .corp-card-lp .top-ranking-features {
     display: none !important;
   }
   
   /* ============================================
      法人カード TOP3ランキング - コンパクトデザイン v3
      王冠SVG付き・CTA右配置版
      ============================================ */
   
   
   /* ======================================
      ランクバッジ（王冠SVG付き）
      ====================================== */
   .corp-card-lp .rank-badge-compact {
     display: flex !important;
     align-items: center !important;
     justify-content: center !important;
     min-width: 50px !important;
     position: relative !important;
   }
   
   .corp-card-lp .rank-badge-compact .crown-icon {
     width: 45px !important;
     height: 45px !important;
   }
   
   .corp-card-lp .rank-badge-compact .rank-num {
     position: absolute !important;
     bottom: 4px !important;
     left: 50% !important;
     transform: translateX(-50%) !important;
     font-size: 12px !important;
     font-weight: 700 !important;
     color: #fff !important;
     text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
   }
   
   /* ランク1: ゴールド */
   .corp-card-lp .rank-badge-compact.rank-1 .crown-icon {
     color: #d4a017 !important;
   }
   
   .corp-card-lp .rank-badge-compact.rank-1 .rank-num {
     color: #fff !important;
   }
   
   /* ランク2: シルバー */
   .corp-card-lp .rank-badge-compact.rank-2 .crown-icon {
     color: #a0a0a0 !important;
   }
   
   .corp-card-lp .rank-badge-compact.rank-2 .rank-num {
     color: #fff !important;
   }
   
   /* ランク3: ブロンズ */
   .corp-card-lp .rank-badge-compact.rank-3 .crown-icon {
     color: #cd7f32 !important;
   }
   
   .corp-card-lp .rank-badge-compact.rank-3 .rank-num {
     color: #fff !important;
   }
   
   /* ======================================
      メインボディ
      ====================================== */
   .corp-card-lp .top-ranking-body-compact {
     display: flex !important;
     flex-direction: row !important;
     gap: 20px !important;
     flex: 1 !important;
     min-width: 0 !important;
   }
   
   /* ======================================
      左側：カード画像エリア
      ====================================== */
   .corp-card-lp .top-ranking-left-compact {
     display: flex !important;
     flex-direction: column !important;
     align-items: center !important;
     gap: 8px !important;
     min-width: 140px !important;
     max-width: 160px !important;
   }
   
   /* カード画像 */
   .corp-card-lp .top-ranking-card-img-compact {
     width: 130px !important;
     height: auto !important;
     filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.15)) !important;
     border-radius: 6px !important;
   }
   
   /* カード名 */
   .corp-card-lp .card-name-area-compact {
     text-align: center !important;
   }
   
   .corp-card-lp .card-name-compact {
     font-size: 11px !important;
     font-weight: 600 !important;
     line-height: 1.3 !important;
     margin: 0 !important;
     text-decoration: underline var(--color_link)
   }
   
   
   
   
   /* ======================================
      タグ（年会費・還元率）
      ====================================== */
   .corp-card-lp .card-tags-compact {
     display: flex !important;
     flex-direction: column !important;
     gap: 6px !important;
     align-items: center !important;
     margin-top: 4px !important;
   }
   
   .corp-card-lp .tag-compact {
     display: inline-block !important;
     padding: 4px 10px !important;
     font-size: 11px !important;
     font-weight: 600 !important;
     border-radius: 3px !important;
     text-align: center !important;
     border: 1px solid #ddd !important;
     background: #fff !important;
     color: #333 !important;
   }
   
   /* 年会費タグ */
   .corp-card-lp .tag-compact.tag-fee {
     border: 1px solid #f5e664 !important;
     background: #fff !important;
     color: #333 !important;
   }
   
   
   /* ======================================
      右側：コンテンツエリア
      ====================================== */
   .corp-card-lp .top-ranking-right-compact {
     flex: 1 !important;
     display: flex !important;
     flex-direction: column !important;
     gap: 12px !important;
     min-width: 0 !important;
   }
   
   /* キャッチコピー */
   .corp-card-lp .catchcopy-compact {
     font-size: 19px !important;
     font-weight: 700 !important;
     color: #0029b2 !important;
     line-height: 1.4 !important;
     margin: 0 !important;
     border-bottom: 1px solid #ccc !important;
	 text-align: center;
   }
   
   .corp-card-lp .catchcopy-compact .ccm-highlight {
     background: none !important;
     padding: 0 !important;
     font-weight: 700 !important;
   }
   
   /* ======================================
      特徴リスト＋CTA 横並びエリア
      ====================================== */
   .corp-card-lp .content-and-cta-compact {
     display: flex !important;
     flex-direction: row !important;
     align-items: center !important;
     gap: 24px !important;
   }
   
   /* 特徴リストエリア */
   .corp-card-lp .features-area-compact {
     flex: 1 !important;
     min-width: 0 !important;
   }
   
   /* 特徴リスト */
   .corp-card-lp .features-list-compact {
     list-style: none !important;
     margin: 0 !important;
     padding: 0 !important;
     display: flex !important;
     flex-direction: column !important;
     gap: 6px !important;
   }
   
   .corp-card-lp .features-list-compact li {
     font-size: 13px !important;
     color: #333 !important;
     line-height: 1.4 !important;
     padding-left: 10px !important;
     position: relative !important;
     margin: 0 !important;
     font-weight: 700 !important;
     display: block !important;
     overflow: visible !important;
     white-space: normal !important;
     word-break: break-word !important;
   }
   
   .corp-card-lp .features-list-compact li:nth-child(n+4) {
     display: none !important;
   }
   
   
   /* ハイライトや装飾は管理画面から追加するためリセット */
   .corp-card-lp .features-list-compact li * {
     font-weight: inherit !important;
   }
   
   /* 注釈 */
   .corp-card-lp .note-compact {
     font-size: 11px !important;
     color: #888 !important;
     margin: 8px 0 0 0 !important;
     line-height: 1.5 !important;
   }
   
   /* ======================================
      CTAボタンエリア（右側配置）
      ====================================== */
   .corp-card-lp .cta-area-compact {
     flex-shrink: 0 !important;
     display: flex !important;
     align-items: center !important;
     justify-content: center !important;
     width: 100% !important;
     padding: 0 !important;
     margin-top: 4px !important;
   }
   
   .corp-card-lp .cta-btn-compact {
     align-items: center !important;
     font-weight: 900 !important;
   
     position: relative !important;
     z-index: 1 !important;
     display: flex !important;
     align-items: center !important;
     justify-content: center !important;
     gap: 4px !important;
     padding: 16px 24px !important;
     background: #fd7e14 !important;
     border: none !important;
     color: #fff !important;
     font-size: 16px !important;
     font-weight: 900 !important;
     border-radius: 12px !important;
     box-shadow: 0 6px 0 #CA6510 !important;
     text-decoration: none !important;
     white-space: nowrap !important;
     width: 80% !important;
   }
   
   
   
   
   .corp-card-lp .cta-btn-compact svg {
     width: 20px !important;
     height: 20px !important;
     stroke: #fff !important;
   }
   
   /* ======================================
      PC版 (min-width: 768px)
      ====================================== */
   
   /* ======================================
      スマホ版 (max-width: 767px)
      ====================================== */
   
   /* ランクバッジ：小さめに */
   .corp-card-lp .rank-badge-compact {
     min-width: 40px !important;
   }
   
   
   .corp-card-lp .rank-badge-compact .rank-num {
     font-size: 19px !important;
   }
   
   /* メインボディ：横並びを維持 */
   .corp-card-lp .top-ranking-body-compact {
     flex-direction: row !important;
     align-items: flex-start !important;
     gap: 12px !important;
     width: 100% !important;
     flex-wrap: wrap !important;
   }
   
   /* 左側：カード画像・名前・タグ */
   .corp-card-lp .top-ranking-left-compact {
     min-width: 250px !important;
     max-width: 250px !important;
     flex-shrink: 0 !important;
   }
   
   
   .corp-card-lp .card-name-area-compact {
     text-align: center !important;
   }
   
   .corp-card-lp .card-tags-compact {
     flex-direction: column !important;
     gap: 4px !important;
     align-items: center !important;
   }
   
   .corp-card-lp .tag-compact {
     padding: 4px 8px !important;
     font-size: 10px !important;
     min-width: auto !important;
   }
   
   /* 右側：キャッチコピー・特徴 */
   .corp-card-lp .top-ranking-right-compact {
     flex: 1 !important;
     min-width: 0 !important;
   }
   
   
   /* 特徴とCTAのコンテナ：縦並びに */
   .corp-card-lp .content-and-cta-compact {
     flex-direction: column !important;
     align-items: stretch !important;
     width: 100% !important;
     gap: 4px !important;
   }
   
   
   
   
   /* ======================================
      超小型デバイス (max-width: 360px)
      ====================================== */
   
   /* ============================================
      法人カード TOP3ランキング - PC横並び版
      PC: 3カラム縦型カード / SP: 縦配置コンパクト
      ============================================ */
   
   /* ======================================
      リストコンテナ - PC: 3カラム
      ====================================== */
   .corp-card-lp .top-ranking-list-compact {
     display: grid !important;
     grid-template-columns: repeat(3, 1fr) !important;
     gap: 16px !important;
     background: transparent !important;
     border-radius: 0 !important;
     overflow: visible !important;
     box-shadow: none !important;
   }
   
   /* ======================================
      ランクバッジ - 上部中央
      ====================================== */
   .corp-card-lp .rank-badge-compact {
     position: relative !important;
     top: auto !important;
     left: auto !important;
     min-width: auto !important;
     margin-bottom: 8px !important;
   }
   

   
   
   
   /* ======================================
      カード画像エリア - 縦並び
      ====================================== */
   .corp-card-lp .top-ranking-body-compact {
     display: flex !important;
     flex-direction: column !important;
     gap: 12px !important;
     flex: 1 !important;
     width: 100% !important;
     align-items: center !important;
   }
   
   .corp-card-lp .top-ranking-left-compact {
     display: flex !important;
     flex-direction: column !important;
     align-items: center !important;
     gap: 8px !important;
     padding: 0 !important;
     background: transparent !important;
     width: 100% !important;
     max-width: none !important;
     min-width: auto !important;
   }
   
   .corp-card-lp .top-ranking-card-img-compact {
     width: 230px !important;
     height: auto !important;
     filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.15)) !important;
     border-radius: 6px !important;
   }
   
   /* カード名 */
   .corp-card-lp .card-name-area-compact {
     text-align: center !important;
     margin-top: 4px !important;
     display: flex !important;
     align-items: center !important;
     justify-content: center !important;
     min-height: 48px !important;
   }
   
   .corp-card-lp .card-name-compact {
     font-size: 18px !important;
     font-weight: 700 !important;
     line-height: 1.3 !important;
     margin: 0 !important;
     text-decoration: underline var(--color_link);
     display: -webkit-box !important;
     -webkit-line-clamp: 2 !important;
     line-clamp: 2 !important;
     -webkit-box-orient: vertical !important;
     overflow: hidden !important;
     text-align: center !important;
   }
   
   
   
   /* タグ（年会費・還元率） */
   .corp-card-lp .card-tags-compact {
     display: flex !important;
     flex-direction: row !important;
     gap: 6px !important;
     align-items: center !important;
     justify-content: center !important;
     margin-top: 4px !important;
     flex-wrap: wrap !important;
   }
   
   .corp-card-lp .tag-compact {
     display: inline-block !important;
     padding: 3px 8px !important;
     font-size: 11px !important;
     font-weight: 600 !important;
     border-radius: 4px !important;
     text-align: center !important;
     border: 1px solid #ddd !important;
     background: #fff !important;
     color: #333 !important;
     white-space: nowrap !important;
   }
   
   /* ======================================
      右側コンテンツエリア（キャッチ・特徴）
      ====================================== */
   .corp-card-lp .top-ranking-right-compact {
     flex: 1 !important;
     display: flex !important;
     flex-direction: column !important;
     gap: 10px !important;
     padding: 0 !important;
     min-width: 0 !important;
     width: 100% !important;
     text-align: left !important;
   }
   
   /* 特徴リスト＋CTAコンテナ */
   .corp-card-lp .content-and-cta-compact {
     display: flex !important;
     flex-direction: column !important;
     gap: 12px !important;
     flex: 1 !important;
   }
   
   .corp-card-lp .features-area-compact {
     flex: 1 !important;
   }
   
   /* 特徴リスト - すべて太字 */
   .corp-card-lp .features-list-compact {
     list-style: none !important;
     margin: 0 !important;
     padding: 0 !important;
     display: flex !important;
     flex-direction: column !important;
     gap: 5px !important;
   }
   
   
   .corp-card-lp .features-list-compact li::before {
     content: '●' !important;
     position: absolute !important;
     left: 0 !important;
     top: 0 !important;
     color: #d79759 !important;
     font-size: 7px !important;
     line-height: 1.6 !important;
     margin-top: 3px !important;
   }
   
   /* 注釈 - 非表示 */
   .corp-card-lp .note-compact {
     display: none !important;
   }
   
   
   
   /* 1位のカード：金色のグラデーション枠とシャドウ */
   .corp-card-lp .top-ranking-item-compact.rank-1 {
     position: relative !important;
     background: #fff !important;
     box-shadow: 0px 0px 10px rgb(201 169 110), 0px 0px 10px rgb(201 169 110 / 49%) !important;
   }
   
   /* 1位のCROWNアイコン：金色のグラデーション */
   .corp-card-lp .rank-badge-compact.rank-1 .crown-icon {
     fill: url(#gold-gradient) !important;
   }
   .corp-card-lp .table-cta-btn {
     display: inline-flex !important;
     align-items: center;
     justify-content: center;
     gap: 4px;
     background: #fd7e14;
     color: #fff !important;
     font-size: 11px;
     font-weight: 900;
     padding: 16px 28px;
   
    position: relative;
    z-index: 1;
    box-shadow: 0 6px 0 #CA6510;
    border-radius: 12px;
  }
  
  /* ============================================
     詳細ランキング アコーディオン
     ============================================ */
  .corp-card-lp .detail-accordion {
    margin: 16px 0;
    border: 1px solid var(--ink-200);
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    width: 100%;
    max-width: 100%;
  }
  
  .corp-card-lp .detail-accordion-toggle {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    background: var(--ink-50);
    border: none;
    cursor: pointer;
    font-size: 16px;
    font-weight: 600;
    color: var(--ink-700);
    transition: background-color 0.2s;
  }
  

  
  .corp-card-lp .detail-accordion-toggle .accordion-title {
    flex: 1;
    text-align: left;
  }
  
  .corp-card-lp .detail-accordion-toggle .accordion-icon {
    width: 20px;
    height: 20px;
    transition: transform 0.3s;
    flex-shrink: 0;
  }
  
  .corp-card-lp .detail-accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease-out;
  }
  
  .corp-card-lp .detail-accordion-content > * {
    padding: 20px;
  }