  /*
 Theme Name:   Twenty Twenty-Five Child
 Template:     twentytwentyfive
 Version:      1.0.0
 Text Domain:  twentytwentyfive-child
*/
/* ===========================
   データ消去ソリューション
   CSS Stylesheet
   =========================== */
.dataerasure-full-bleed {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

/* --- Reset & Base --- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Yu Gothic', sans-serif;
  font-size: 16px; line-height: 1.7; color: #1a2340; background: #fff;
  margin: 0 !important;
  padding: 0 !important;
}
a:where(:not(.wp-element-button)) { /*color: #fff;*/ text-decoration: none; }
/*自動で入る余白の削除*/
.wp-block-post-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
/* マウスクリック時のみ枠を非表示（キーボードフォーカスは残す） */
.wp-block-button__link:focus:not(:focus-visible),
.wp-element-button:focus:not(:focus-visible) {
    outline: none;
    box-shadow: none;
}
/* --- Variables --- */
:root {
  --primary: #0047AB; --primary-dark: #003087; --primary-light: #2563eb;
  --accent: #1D4ED8; --navy: #0A1A40;
  --light-bg: #EFF6FF; --white: #fff;
  --text: #1a2340; --text-muted: #4B5563; --text-light: #6B7280;
  --border: #E2E8F0;
  --ok: #16A34A; --mid: #CA8A04; --ng: #DC2626; --best: #0047AB;
  --r-sm: 6px; --r-md: 10px; --r-lg: 16px;
  --shadow-sm: 0 1px 3px rgba(0,0,0,.08);
  --shadow-md: 0 4px 16px rgba(0,0,0,.10);
  --shadow-lg: 0 8px 32px rgba(0,0,0,.12);
  --header-h: 80px;
}
/* font-size*/
.font-sm { font-size: 14px; }
/* sp 非表示*/
@media (max-width: 768px) {
.no-display { display: none; }
}
/* --- Layout --- */
.dataerasure-container { max-width: 1340px; margin: 0 auto; padding: 0 24px; }
.dataerasure-section { padding: 80px 0; }
.dataerasure-section--white { background: #fff; }
.dataerasure-section--light { background: var(--light-bg); }
.dataerasure-section--dark  { background: #1a2b5e; }
.dataerasure-section--navy  { background: var(--navy); }

.dataerasure-section__header { text-align: center; margin-bottom: 56px; }
.dataerasure-section__header--light .dataerasure-section__title,
.dataerasure-section__header--light .dataerasure-section__subtitle,
.dataerasure-section__header--light .dataerasure-section__note { color: #fff; }
.dataerasure-section__title { font-size: clamp(24px,3vw,36px); font-weight: 700; color: var(--text); line-height: 1.3; margin-bottom: 16px; }
.dataerasure-section__subtitle { font-size: 16px; color: var(--text-muted); max-width: 720px; margin: 0 auto; }
.dataerasure-section__note { font-size: 13px; color: var(--text-light); margin-top: 8px; }

.dataerasure-width--md  { max-width: 768px; }

/* --- Card Grids --- */
.dataerasure-card-grid { display: grid; gap: 24px; }
.dataerasure-card-grid--2 { grid-template-columns: repeat(2,1fr); }
.dataerasure-card-grid--3 { grid-template-columns: repeat(3,1fr); }
.dataerasure-card-grid--4 { grid-template-columns: repeat(4,1fr); }

/* --- Buttons --- */
.dataerasure-btn:hover {
  letter-spacing: 0.05em; /* 字間の設定 */
}
.dataerasure-btn-op:hover{
  opacity: 0.7!important;
}
.dataerasure-btn--sm  { padding: 8px 20px; font-size: 14px; }
.dataerasure-btn--md  { padding: 12px 28px; }
.dataerasure-btn--lg  { padding: 16px 36px; font-size: 16px; }
.dataerasure-btn--primary { color: #1C3F94; border-color: #1C3F94; }
.dataerasure-btn--outline { background: transparent; color: var(--primary); border-color: var(--primary); }
.dataerasure-btn--outline-white { background: transparent; color: #fff; border-color: rgba(255,255,255,.6); }
.dataerasure-btn--outline-white:hover { background: rgba(255,255,255,.1); }
.dataerasure-btn--ghost { background: #2563EB; color: #fff; }
.dataerasure-btn--ghost:hover, .dataerasure-btn--primary:hover { background-color: #1C3F94; color: #fff; border-radius: 16px;}
.dataerasure-btn--ghost-light { background: transparent; color: rgba(255,255,255,.75); border-color: rgba(255,255,255,.3); }
.dataerasure-btn--ghost-light:hover { color: #fff; border-color: rgba(255,255,255,.6); }

/* アイコン付きボタン */
.wp-block-button .wp-block-button__link img{
      vertical-align: sub; /* アイコンとテキストの位置調整 */
      margin-right: 8px;
}

/* スマホで縦並びに */
@media (max-width: 768px) {
  .wp-block-buttons {
    flex-direction: column; }

  /* ボタン幅を揃えたい場合 */
  .wp-block-buttons .wp-block-button, .wp-block-buttons>.wp-block-button.wp-block-button__width-50, .wp-block-buttons>.wp-block-button.wp-block-button__width-25 {
    width: 100%;
  }
}
.dataerasure-link-line {display: inline-block; text-decoration: unset; }
.dataerasure-link-line:hover {border-bottom: 2px solid #1C3F94; display: inline-block; }

/*パンくず*/
.wp-image-1031{
  width: 16px;
  height: 16px!important;
  vertical-align: middle!important;
  margin: 0 4px;
}
/* ===========================
   HEADER
   =========================== */
.dataerasure-logo-icon {
  width: 40px; height: 40px; background: var(--primary); color: #fff;
  display: flex; align-items: center; justify-content: center;
  border-radius: var(--r-sm); font-size: 20px; font-weight: 900;
}
.dataerasure-logo-text { display: flex; flex-direction: column; }
.dataerasure-logo-text__ja { font-size: 15px; font-weight: 700; color: var(--text); line-height: 1.2; }
.dataerasure-logo-text__en { font-size: 12px; color: var(--text-light); line-height: 1.2; }

/* --- Hamburger (mobile) --- */
.dataerasure-hamburger {
  display: none; flex-direction: column; justify-content: space-between;
  width: 36px; height: 36px; padding: 8px;
  background: transparent; border: none; cursor: pointer;
  border-radius: var(--r-sm); transition: background .15s;
}
.dataerasure-hamburger:hover { background: var(--light-bg); }
.dataerasure-hamburger__bar {
  display: block; width: 100%; height: 2px;
  background: var(--text); border-radius: 2px;
  transition: transform .25s, opacity .25s;
  transform-origin: center;
}
.dataerasure-hamburger--open .dataerasure-hamburger__bar:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.dataerasure-hamburger--open .dataerasure-hamburger__bar:nth-child(2) { opacity: 0; }
.dataerasure-hamburger--open .dataerasure-hamburger__bar:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
/* ===========================
   MOBILE MENU DRAWER
   =========================== */
.dataerasure-mobile-menu {
  position: fixed; inset: 0; z-index: 500;
  visibility: hidden; pointer-events: none;
}
.dataerasure-mobile-menu--open { visibility: visible; pointer-events: auto; }

.dataerasure-mobile-menu__overlay {
  position: absolute; inset: 0;
  background: rgba(0,0,0,.45);
  opacity: 0; transition: opacity .3s;
}
.dataerasure-mobile-menu--open .dataerasure-mobile-menu__overlay { opacity: 1; }

.dataerasure-mobile-menu__drawer {
  display: none;
}
.dataerasure-mobile-nav__sub a:hover { background: #fff; color: var(--primary); }

.dataerasure-mobile-nav__chevron {
  width: 16px; height: 16px; flex-shrink: 0; opacity: .6;
  transition: transform .25s;
}
.dataerasure-mobile-nav__item--open .dataerasure-mobile-nav__chevron { transform: rotate(180deg); }

/*データ消去グラデーションタイトル*/
.dataerase-service-title-blue-gd {
  background: linear-gradient(135deg, #1C3F94 0%, #2563EB 50%, #0891B2 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
/*電子データシュレッダーのグラデーションタイトル*/
.eds2-title-or-gd {
  background: linear-gradient(90deg, #9E1900 0%, #FBBF3A 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
/*ターミネータBusinessーのグラデーションタイトル*/
.tm-business-title-or-gd {
  background: linear-gradient(90deg, #00DBDE 0%, #FC00FF 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

    /* ===== Subnav wrapper ===== */
    .subnav {
      background: #fff;
      /*border-bottom: 0.833px solid #e5e7eb;
      padding: 0 304px;*/
    }

    .subnav__list {
      display: flex;
      list-style: none;
      height:140px;
      align-items: stretch;
    }

    /* ===== Each item ===== */
    .subnav__item {
      flex: 1;
    }

    .subnav__link {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 4px;
      height: 100%;
      text-decoration: none;
      color: #374151;
      transition: color 0.2s ease;
      cursor: pointer;
      padding: 0 8px;
    }

    .subnav__link:hover {
      color: #1c3f94;
    }

    .subnav__label {
      font-size: 16px;
      font-weight: 500;
      line-height: 1.75;
      white-space: nowrap;
      text-align: center;
    }

    .subnav__chevron {
      width: 16px;
      height: 16px;
      display: block;
      transition: transform 0.2s ease;
    }

    .subnav__link:hover .subnav__chevron {
      filter: brightness(0) saturate(100%) invert(18%) sepia(72%) saturate(900%) hue-rotate(204deg) brightness(80%) contrast(102%);
    }

    /* ===== Responsive ===== */
    @media (max-width: 1200px) {
      .subnav { padding: 0 40px; }
    }
    @media (max-width: 900px) {
      .subnav { padding: 0 16px; overflow-x: auto; }
      .subnav__list { height: auto; flex-wrap: nowrap; width: max-content; min-width: 100%; }
      .subnav__item { flex: none; }
      .subnav__link { height: 64px; padding: 0 16px; }
      .subnav__label { font-size: 14px; }
    }

.dataerasure-hero__tag-list {
  display: flex; flex-wrap: wrap; gap: 12px;
  margin-bottom: 24px;
}
.dataerasure-feature-chip {
  display: inline-flex; width: 100%; align-items: center; gap: 16px;
  padding: 18px; border-radius: 16px;
  font-size: 16px; line-height: 28px; color: #374151;
  background: rgba(28,63,148,.05);
  white-space: nowrap;
}
.dataerasure-feature-chip__dot {
  width: 8px; height: 8px; border-radius: 9999px;
  flex-shrink: 0;
  background: #1c3f94;
}
.dataerasure-feature-chip--accent { background: rgba(37,99,235,.05); }
.dataerasure-feature-chip--accent .dataerasure-feature-chip__dot { background: #2563eb; }

.dataerasure-cta-section {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, #1c3f94 0%, #3658c4 100%);
  padding: 96px 0;
}
.dataerasure-cta-section__blur {
  position: absolute;
  width: 384px;
  height: 384px;
  border-radius: 50%;
  background: rgba(255,255,255,.16);
  filter: blur(64px);
}
.dataerasure-cta-section__blur--left {
  top: -80px;
  left: -96px;
}
.dataerasure-cta-section__blur--right {
  top: 96px;
  right: -120px;
}
.dataerasure-cta-section__card {
  position: relative;
  max-width: 896px;
  margin: 0 auto;
  padding: 0 24px;
  text-align: center;
}
.dataerasure-cta-section__title {
  font-size: clamp(24px, 2.4vw, 28px);
  font-weight: 700;
  color: #fff;
  line-height: 1.4;
  margin-bottom: 20px;
}
.dataerasure-cta-section__subtitle {
  max-width: 760px;
  margin: 0 auto 40px;
  color: rgba(255,255,255,.95);
  font-size: 16px;
  line-height: 1.75;
}
.dataerasure-cta-section__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}
.dataerasure-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 260px;
  height: 62px;
  padding: 0 28px;
  border-radius: 24px;
  font-size: 18px;
  font-weight: 700;
  text-decoration: none;
  transition: background .2s, transform .2s;
}
.dataerasure-cta-btn:hover { transform: translateY(-1px); }
.dataerasure-cta-btn--primary {
  background: #2563eb;
  color: #fff;
  border: 1px solid transparent;
}
.dataerasure-cta-btn--primary:hover { background: #1c4eda; }
.dataerasure-cta-btn--outline {
  background: #fff;
  color: #1c3f94;
  border: 1.667px solid #1c3f94;
}
.dataerasure-cta-btn--outline:hover { background: #eff4ff; }
.dataerasure-cta-btn__icon {
  width: 20px;
  height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.dataerasure-cta-note {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 16px 24px;
  border-radius: 24px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.3);
  color: #fff;
  font-size: 16px;
  margin: 0 auto;
}
.dataerasure-cta-note__icon {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  background: rgba(255,255,255,.18);
  flex-shrink: 0;
}
.dataerasure-cta-note__icon svg { width: 20px; height: 20px; }
.dataerasure-cta-note__text { margin: 0; }

@media (max-width: 900px) {
  .dataerasure-cta-section { padding: 64px 0; }
  .dataerasure-cta-section__title { font-size: 22px; }
  .dataerasure-cta-section__subtitle { margin-bottom: 28px; }
  .dataerasure-cta-section__actions { flex-direction: column; gap: 12px; }
  .dataerasure-cta-btn { width: 100%; max-width: 100%; }
  .dataerasure-cta-note { width: 100%; justify-content: center; }
}

/* ===========================
   OFFERING TYPES
   =========================== */
.dataerasure-check-list { list-style: none; display: flex; flex-direction: column; gap: 8px; }
.dataerasure-check-list li { padding-left: 24px; position: relative; }
.dataerasure-check-list li::before { content: ""; position: absolute; left: 0; top: 0.2em; width: 20px; height: 20px; padding-left: 34px; position: absolute; background-image: url("/wp-content/uploads/Icon-bl-check.svg");
    background-repeat: no-repeat; background-size: contain; }
.dataerasure-product-list { list-style: none; display: flex; flex-direction: column; gap: 6px; }
.dataerasure-product-list li { position: relative; border-radius: 16px; background: #F9FAFB; padding: 6px; }
.dataerasure-check-list02 li::before {background-image: url("/wp-content/uploads/Icon-gr-check.svg");}
.dataerasure-check-list-wt{ color: #fff;}
.dataerasure-check-list-wt li::before { background-image: url("/wp-content/uploads/icon-bl-container.svg"); } 

/* ===========================
   COMPARISON TABLE
   =========================== */
.dataerasure-table-wrapper { overflow-x: auto; border-radius: 24px; box-shadow: 0 1px 3px rgba(0,0,0,.1), 0 1px 2px -1px rgba(0,0,0,.1); margin-bottom: 40px; /*max-width: 1210px;*/ width: 100%; margin-left: auto; margin-right: auto; }
.dataerasure-comparison-table { width: 100%; border-collapse: collapse; background: #fff; font-size: 18px; table-layout: fixed; }
/* Header */
.dataerasure-comparison-table thead th { background: #1c3f94; color: #fff; padding: 16px 14px; text-align: center; font-weight: 700; line-height: 1.4; border: 0.833px solid #1c3f94; }
.dataerasure-comparison-table thead th:first-child { text-align: left; padding-left: 20px; width: 19%; }
.dataerasure-comparison-table thead th .th-main { display: block; font-weight: 700; }
.dataerasure-comparison-table thead th .th-sub { display: block; font-weight: 400; color: rgba(255,255,255,0.8); margin-top: 4px; }
/* Body rows */
.dataerasure-comparison-table tbody tr { border-bottom: none; background: #fff; }
.dataerasure-comparison-table tbody tr.dataerasure-comparison-table__row--highlight { background: rgba(37,99,235,0.05); }
.dataerasure-comparison-table td { padding: 8px; border: 0.833px solid #e5e7eb; vertical-align: middle; }
/* Product name cell */
.dataerasure-comparison-table__product { padding: 14px 14px 14px 20px !important; text-align: left !important; }
.dataerasure-comparison-table__product strong { display: block; font-weight: 700; color: #111827; margin-bottom: 4px; }
.dataerasure-comparison-table__note { color: #4b5563; font-weight: 400; }
/* Icon+text cells */
.dataerasure-comparison-cell { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; min-height: 80px; }
.dataerasure-comparison-cell__icon { width: 24px; height: 24px; flex-shrink: 0; }
.dataerasure-comparison-cell__icon img { display: block; width: 100%; height: 100%; }
.dataerasure-comparison-cell__text { color: #4b5563; font-weight: 400; text-align: center; line-height: 1.4; }
/* CTA */
.dataerasure-comparison__cta { display: flex; gap: 16px; justify-content: center; margin-top: 40px; }
.dataerasure-comparison__cta .dataerasure-btn { display: inline-flex; align-items: center; gap: 8px; border-radius: 16px; font-size: 16px; font-weight: 500; padding: 16px 28px; }
.dataerasure-comparison__cta .dataerasure-btn__icon { width: 20px; height: 20px; }
@media (max-width: 768px) {
  .dataerasure-comparison__cta { flex-direction: column; align-items: center; }
  .dataerasure-comparison-table thead th { font-size: 14px; padding: 12px 6px; }
  .dataerasure-comparison-cell__text { font-size: 14px; }
  .dataerasure-comparison-table td { padding: 8px!important; font-size: 80%;}
}

/* ===========================
   CASE STUDY CARDS
   =========================== */
/* Stack layout */
.dataerasure-case-study-list { display: flex; flex-direction: column; gap: 32px; max-width: 1024px; width: 100%; margin: 0 auto!important; }

/* Card shell */
.dataerasure-case-card { background: #fff; border: 0.833px solid #e5e7eb; border-radius: 16px; box-shadow: 0 1px 3px rgba(0,0,0,.1), 0 1px 2px -1px rgba(0,0,0,.1); overflow: hidden; display: flex; flex-direction: column; }

/* Card header */
.dataerasure-case-card__header { background: linear-gradient(to right, rgba(28,63,148,0.1), rgba(28,63,148,0.05)); border-bottom: 0.833px solid #e5e7eb; padding: 24px; display: flex; flex-direction: column; gap: 16px; }
.dataerasure-case-card__heading { font-size: 20px; font-weight: 700; color: #111827; line-height: 1.4; }
.dataerasure-case-card__pills { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.dataerasure-case-pill { height: 33px; border-radius: 9999px; display: inline-flex; align-items: center; padding: 0 32px; font-size: 15px; font-weight: 500; white-space: nowrap; }
.dataerasure-case-pill--white { background: #fff; border: 0.833px solid #e5e7eb; color: #111827; }
.dataerasure-case-pill--navy  { background: #1c3f94; color: #fff; }

/* Card body: 50/50 split */
.dataerasure-case-card__body { display: grid; grid-template-columns: 1fr 1fr; flex: 1; }
.dataerasure-case-card__before { padding: 24px; border-right: 0.833px solid #e5e7eb; background: #fff; }
.dataerasure-case-card__after  { padding: 24px; background: linear-gradient(to bottom, #e6f4fb, #f0f9ff); border: 0.833px solid rgba(0,140,211,0.2); border-top: none; border-bottom: none; border-right: none; }

/* Phase headings */
.dataerasure-case-card__phase { display: flex; align-items: center; gap: 8px; font-weight: 700; margin-bottom: 16px; }
.dataerasure-case-card__phase-icon { width: 20px; height: 20px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 10px; font-weight: 900; flex-shrink: 0; }
.dataerasure-case-card__phase-label { font-size: 18px; }
.dataerasure-case-card__before .dataerasure-case-card__phase-icon { background: #fee2e2; color: #c10007; }
.dataerasure-case-card__before .dataerasure-case-card__phase-label { color: #c10007; }
.dataerasure-case-card__after  .dataerasure-case-card__phase-icon { background: #dbeafe; color: #1c3f94; }
.dataerasure-case-card__after  .dataerasure-case-card__phase-label { color: #1c3f94; font-size: 20px; }

/* list colors:blue */
.is-style-blue li::marker {
  color: #1C3F94;}
  
/* Before list */
.dataerasure-case-card__before-list { list-style: none; display: flex; flex-direction: column; gap: 16px; }
.dataerasure-case-card__before-list li { display: flex; align-items: flex-start; gap: 8px; font-size: 16px; color: #4b5563; line-height: 1.5; }
.dataerasure-case-card__before-list li::before { content: '•'; color: #fb2c36; font-size: 16px; line-height: 1.5; flex-shrink: 0; }

/* After list */
.dataerasure-case-card__after-list { list-style: none; display: flex; flex-direction: column; gap: 16px; }
.dataerasure-case-card__after-list li { display: flex; align-items: center; gap: 8px; font-size: 16px; color: #1c3f94; font-weight: 500; line-height: 1.5; }
.dataerasure-case-card__after-list li img { width: 16px; height: 16px; flex-shrink: 0; }

@media (max-width: 768px) {
  .dataerasure-case-card__body { grid-template-columns: 1fr; }
  .dataerasure-case-card__before { border-right: none; border-bottom: 0.833px solid #e5e7eb; }
  .dataerasure-case-card__after  { border-left: none; border-top: 0.833px solid rgba(0,140,211,0.2); }
  .dataerasure-case-pill { font-size: 13px; padding: 0 12px; }
}

/* ===========================
   PROCESS FLOW
   =========================== */
/* ===== Process Flow ===== */

/* Base (Desktop): 1行横並び */
.dataerasure-flow { display: flex; gap: 48px; justify-content: center; }
.dataerasure-flow-step { display: flex; flex-direction: column; align-items: center; flex: 1; max-width: 214px; }
.dataerasure-flow-step__icon-wrap { position: relative; width: 112px; height: 112px; flex-shrink: 0; }
.dataerasure-flow-step__circle { width: 112px; height: 112px; border-radius: 9999px; background: linear-gradient(to bottom, #1c3f94, #3658c4); box-shadow: 0 10px 15px rgba(0,0,0,.1), 0 4px 6px rgba(0,0,0,.1); display: flex; align-items: center; justify-content: center; }
.dataerasure-flow-step__circle img { width: 28px; height: 28px; display: block; }
.dataerasure-flow-step__badge { position: absolute; top: -8px; right: -8px; width: 40px; height: 40px; border-radius: 9999px; background: #fff; border: 1.667px solid #1c3f94; box-shadow: 0 4px 6px rgba(0,0,0,.1), 0 2px 4px rgba(0,0,0,.1); display: flex; align-items: center; justify-content: center; font-size: 18px; font-weight: 700; color: #1c3f94; line-height: 1; }
.dataerasure-flow-step__text { text-align: center; margin-top: 24px; display: flex; flex-direction: column; gap: 8px; }
.dataerasure-flow-step__title { font-size: 16px; font-weight: 700; color: #111827; line-height: 1.75; }
.dataerasure-flow-step__sub { font-size: 14px; font-weight: 400; color: #4b5563; line-height: 1.7; }
/* 横コネクター */
.dataerasure-flow-connector { display: none; flex: 1; max-width: 60px; height: 2px; background: linear-gradient(to right, #1c3f94, #3658c4); margin-top: 55px; align-self: flex-start; flex-shrink: 0; }

/* Tablet (481px〜900px): 2列＋3列の2段組み */
@media (min-width: 481px) and (max-width: 900px) {
  .dataerasure-flow { flex-wrap: wrap; justify-content: center; row-gap: 0; }
  /* 横コネクターをすべて非表示 */
  .dataerasure-flow-connector { display: none; }
  /* テキストの折り返しを許可 */
  .dataerasure-flow-step__title,
  .dataerasure-flow-step__sub { white-space: normal; }
  /* 1段目: Step1(1番目)・Step2(3番目) → 各50% */
  .dataerasure-flow > .dataerasure-flow-step:nth-child(1),
  .dataerasure-flow > .dataerasure-flow-step:nth-child(3) {
    flex: 0 0 calc(50% - 24px);
    max-width: calc(50% - 24px);
    margin-bottom: 52px;
  }
  /* 2段目: Step3(5番目)・Step4(7番目)・Step5(9番目) → 各33% */
  .dataerasure-flow > .dataerasure-flow-step:nth-child(5),
  .dataerasure-flow > .dataerasure-flow-step:nth-child(7),
  .dataerasure-flow > .dataerasure-flow-step:nth-child(9) {
    flex: 0 0 calc(33.333% - 16px);
    max-width: calc(33.333% - 16px);
  }
  /* 1段目と2段目の間の区切り線 */
  .dataerasure-flow > .dataerasure-flow-step:nth-child(3)::after {
    content: '';
    display: block;
    position: absolute;
    left: -100%;
    width: 200%;
    bottom: -26px;
    height: 1px;
    background: #e5e7eb;
  }
  .dataerasure-flow > .dataerasure-flow-step:nth-child(3) { position: relative; }
}

/* Mobile (〜480px): 縦並び */
@media (max-width: 480px) {
  .dataerasure-flow { flex-direction: column; align-items: stretch; }
  /* 各ステップをアイコン＋テキスト横並びに */
  .dataerasure-flow-step { flex-direction: row; align-items: center; max-width: 100%; gap: 20px; }
  .dataerasure-flow-step__icon-wrap { flex-shrink: 0; }
  .dataerasure-flow-step__text { text-align: left; margin-top: 0; }
  .dataerasure-flow-step__title,
  .dataerasure-flow-step__sub { white-space: normal; }
  /* 縦コネクター: アイコン中央に揃える */
  .dataerasure-flow-connector {
    display: block;
    width: 2px; height: 36px;
    max-width: none; flex: none;
    margin: 0 0 0 55px;
    align-self: flex-start;
    background: linear-gradient(to bottom, #1c3f94, #3658c4);
  }
}

/* ===========================
   PRICING
   =========================== */
/* --- Tabs --- */
.dataerasure-pricing-tabs { display: flex; gap: 8px; justify-content: center; margin-bottom: 40px; }
.dataerasure-pricing-tab { height: 44px; padding: 8px 28px; border-radius: 14px; border: 0.833px solid #e5e7eb; font-size: 16px; font-weight: 400; cursor: pointer; background: #fff; color: #0b1220; transition: all .2s; }
.dataerasure-pricing-tab--active { background: linear-gradient(to bottom, #1c3f94, #5cc6ff); color: #fff; border-color: transparent; box-shadow: 0 4px 6px rgba(0,0,0,.1), 0 2px 4px rgba(0,0,0,.1); }
.dataerasure-pricing-tab02--active { background: linear-gradient(to bottom, #1c3f94, #5cc6ff); color: #fff; border-color: transparent; box-shadow: 0 4px 6px rgba(0,0,0,.1), 0 2px 4px rgba(0,0,0,.1); }
.dataerasure-pricing-tab:hover:not(.dataerasure-pricing-tab--active) { background: #f9fafb; }

/* --- Tab Panels --- */
.dataerasure-pricing-panel { display: none; }
.dataerasure-pricing-panel--active { display: block; }

/* --- Cards Grid --- */
.dataerasure-pricing-cards { display: flex; gap: 36px; justify-content: center; align-items: stretch; }

/* --- Pricing Card --- */
.dataerasure-pricing-card-v2 { background: #fff; border: 0.833px solid #e5e7eb; border-radius: 20px; padding: 25px; display: flex; flex-direction: column; gap: 24px; width: 358px; flex-shrink: 0; }
.dataerasure-pricing-card-v2--featured { border-color: #1c3f94; }
.dataerasure-pricing-card-v2--shadow { box-shadow: 0 10px 15px rgba(0,0,0,.1), 0 4px 6px rgba(0,0,0,.1); }

/* Card header */
.dataerasure-pricing-card-v2__head { display: flex; gap: 16px; align-items: flex-start; }
.dataerasure-pricing-card-v2__icon { width: 40px; height: 40px; border-radius: 14px; background: linear-gradient(135deg, #1c3f94 0%, #5cc6ff 100%); flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: 18px; color: #fff; }
.dataerasure-pricing-card-v2__icon02 { width: 40px; height: 40px; border-radius: 14px; background: linear-gradient(135deg, #008CD3 0%, #5CC6FF 100%); flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: 18px; color: #fff; }
.dataerasure-pricing-card-v2__title { font-size: 20px; font-weight: 700; color: #0b1220; line-height: 1.4; }
.dataerasure-pricing-card-v2__sub { font-size: 16px; color: #4b5563; margin-top: 4px; }

/* Price block */
.dataerasure-pricing-card-v2__price-block { border-bottom: 0.833px solid #e5e7eb; padding-bottom: 8px; display: flex; flex-direction: column; gap: 8px; }
.dataerasure-pricing-card-v2__price-label { font-size: 16px; color: #4b5563; }
.dataerasure-pricing-card-v2__price { font-size: 20px; font-weight: 700; color: #0b1220; line-height: 1.4; }

/* Includes */
.dataerasure-pricing-card-v2__includes { display: flex; flex-direction: column; gap: 16px; }
.dataerasure-pricing-card-v2__block-label { font-size: 16px; color: #4b5563; }
.dataerasure-pricing-card-v2__check-list { list-style: none; display: flex; flex-direction: column; gap: 16px; }
.dataerasure-pricing-card-v2__check-list li { display: flex; align-items: center; gap: 8px; font-size: 16px; color: #0b1220; }
.dataerasure-pricing-card-v2__check-list li img { width: 14px; height: 14px; flex-shrink: 0; }

/* Conditions box */
.dataerasure-pricing-card-v2__conditions { background: #f7fafc; border-radius: 14px; padding: 12px; display: flex; flex-direction: column; gap: 16px; flex: 1; }
.dataerasure-pricing-card-v2__cond-list { list-style: none; display: flex; flex-direction: column; gap: 8px; }
.dataerasure-pricing-card-v2__cond-list li { display: flex; align-items: flex-start; gap: 8px; font-size: 16px; color: #0b1220; line-height: 1.5; }
.dataerasure-pricing-card-v2__cond-list li::before { content: '•'; color: #1c3f94; font-size: 16px; flex-shrink: 0; }

/* Card CTA button */
.dataerasure-pricing-card-v2__btn { display: flex; align-items: center; justify-content: center; height: 56px; border-radius: 14px; text-decoration: none; background: linear-gradient(170deg, #1c3f94 0%, #5cc6ff 100%); color: #fff; font-size: 16px; border: none; cursor: pointer; margin-top: auto; }
.dataerasure-pricing-card-v2__btn02 { display: flex; align-items: center; justify-content: center; height: 56px; border-radius: 14px; text-decoration: none; background: linear-gradient(135deg, #008CD3 0%, #5CC6FF 100%); color: #fff; font-size: 16px; border: none; cursor: pointer; margin-top: auto; }
.dataerasure-pricing-card-v2__btn:hover, .dataerasure-pricing-card-v2__btn02:hover { opacity: .9; }

.dataerasure-info-icon { font-size: 14px;
    font-weight: 500;
    color: #fff;
    margin-right: 4px;
    word-break: break-word;
    background-color: #6E8EAC;
    border: 1px solid #6b7280;
    border-radius: 4px;
    padding: 0 8px; }

@media (max-width: 1100px) {
  .dataerasure-pricing-cards { gap: 20px; }
  .dataerasure-pricing-card-v2 { width: calc(33% - 14px); min-width: 260px; }
}
@media (max-width: 768px) {
  .dataerasure-pricing-cards { flex-direction: column; align-items: center; }
  .dataerasure-pricing-card-v2 { width: 100%; max-width: 420px; }
  .dataerasure-pricing__cta { flex-direction: column; align-items: center; }
}
/* ===========================
   FAQ ACCORDION
   =========================== */
.dataerasure-faq-section__label { display: block; font-size: 12px; font-weight: 700; color: #1c3f94; letter-spacing: 0.6px; text-transform: uppercase; text-align: center; margin-bottom: 16px; }
.dataerasure-faq-list { display: flex; flex-direction: column; gap: 8px; width: 896px; max-width: 100%; margin: 0 auto; }
.dataerasure-faq-item { background: #fff; border: 0.833px solid #e5e7eb; border-radius: 16px; overflow: hidden; }
.dataerasure-faq-item__btn { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 0 24px; height: 76px; background: none; border: none; cursor: pointer; text-align: left; }
.dataerasure-faq-item__question { font-size: 16px; font-weight: 700; color: #111827; line-height: 1.75; flex: 1; }
.dataerasure-faq-item__icon { width: 20px; height: 20px; flex-shrink: 0; transition: transform 0.25s ease; }
.dataerasure-faq-item--open .dataerasure-faq-item__icon { transform: rotate(180deg); }
.dataerasure-faq-item__answer { display: none; background: #f9fafb; border-top: 0.833px solid #e5e7eb; padding: 20px 24px 24px; }
.dataerasure-faq-item--open .dataerasure-faq-item__answer { display: block; }
.dataerasure-faq-item__answer p { font-size: 16px; font-weight: 400; color: #374151; line-height: 1.75; margin: 0; }
@media (max-width: 768px) {
  .dataerasure-faq-item__question { font-size: 14px; }
  .dataerasure-faq-item__btn { height: auto; min-height: 60px; padding: 14px 20px; }
  .dataerasure-faq-item__answer { padding: 16px 20px; }
}

/* ===========================
   FOOTER
   =========================== */
.dataerasure-footer { background: #0A1628; color: rgba(255,255,255,.7); padding: 60px 0 0; }
.dataerasure-footer__inner { display: flex; flex-direction: column; gap: 48px; }
.dataerasure-footer__cols { display: grid; grid-template-columns: repeat(3,1fr); gap: 40px; }
.dataerasure-footer__col-heading { font-size: 12px; font-weight: 700; color: rgba(255,255,255,.4); text-transform: uppercase; letter-spacing: .1em; margin-bottom: 20px; }
.dataerasure-footer__links { list-style: none; display: flex; flex-direction: column; gap: 12px; }
.dataerasure-footer__links a { color: rgba(255,255,255,.7); text-decoration: none; font-size: 14px; transition: color .15s; }
.dataerasure-footer__links a:hover { color: #fff; }
.dataerasure-footer__bottom { border-top: 1px solid rgba(255,255,255,.08); padding: 24px 0; display: flex; align-items: center; justify-content: space-between; }
.dataerasure-footer__brand { display: flex; flex-direction: column; gap: 4px; }
.dataerasure-footer__brand-name { font-size: 15px; font-weight: 700; color: #fff; }
.dataerasure-footer__brand-tagline { font-size: 12px; color: rgba(255,255,255,.4); }
.dataerasure-footer__copy { font-size: 12px; color: rgba(255,255,255,.35); }

/* ===========================
   RESPONSIVE
   =========================== */
@media (max-width: 1024px) {
  .dataerasure-card-grid--4 { grid-template-columns: repeat(2,1fr); }
/*  .dataerasure-mega-menu { min-width: 400px; }
  .dataerasure-mega-menu__inner { grid-template-columns: 1fr; }*/
}

@media (max-width: 1023px) {
  .dataerasure-section { padding: 56px 0; }

  /* Header: hide desktop nav & cta, show hamburger */
  .dataerasure-header__nav { display: none; }
  .dataerasure-header__cta { display: none; }
  .dataerasure-hamburger { display: flex; }

  /* Hero */
  .dataerasure-hero__inner { flex-direction: column; padding: 48px 0; }
  .dataerasure-hero__content { flex: none; width: 100%; max-width: 100%; }
  .dataerasure-hero__heading { font-size: 28px; line-height: 40px; }
  .dataerasure-hero__description { font-size: 16px; line-height: 32px; }
  .dataerasure-hero__actions { flex-direction: column; margin-top: 40px; }
  .dataerasure-hero-btn { width: 100%; justify-content: center; min-width: unset; }
  .dataerasure-hero__right { padding-left: 0; padding-top: 40px; width: 100%; overflow-x: auto; }
  .dataerasure-hero__flow-cards { justify-content: flex-start; }
  .dataerasure-hero__cert-pill { width: 100%; margin-left: 0; }
  .dataerasure-hero__bg-illustration { display: none; }
  .dataerasure-hero-badge { font-size: 14px; padding: 6px 14px 6px 10px; }
  .dataerasure-hero__badges { gap: 8px; }

  .dataerasure-card-grid--2 { grid-template-columns: 1fr; }
  .dataerasure-card-grid--3 { grid-template-columns: 1fr; }
  .dataerasure-card-grid--4 { grid-template-columns: 1fr 1fr; }
  .dataerasure-offering-grid { grid-template-columns: 1fr; }
  .dataerasure-comparison__cta { flex-direction: column; align-items: center; }
  .dataerasure-pricing__cta { flex-direction: column; align-items: center; }
  .dataerasure-final-cta__actions { flex-direction: column; }
  .dataerasure-final-cta__info-list { grid-template-columns: 1fr; }
  .dataerasure-footer__cols { grid-template-columns: 1fr; }
  .dataerasure-footer__bottom { flex-direction: column; gap: 12px; text-align: center; }
}

@media (max-width: 480px) {
  .dataerasure-card-grid--4 { grid-template-columns: 1fr; }
  .dataerasure-case-card__comparison { grid-template-columns: 1fr; }
}

/* =============================================
   利用ステップ (steps-)
   ============================================= */

.steps-flow {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    padding-top: 20px; /* バッジのはみ出し分を確保 */
}

.steps-card {
    position: relative;
    background: #fff;
    border: 0.625px solid #e5e7eb;
    border-radius: 24px;
    box-shadow: 0 4px 6px rgba(0,0,0,.1), 0 2px 4px rgba(0,0,0,.1);
    padding: 40px 24px 32px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.steps-card-gr { position: relative; border-radius: 16px; padding: 40px 24px 24px;
background: #F4F6F8; display: flex; flex-direction: column; align-items: center;}

/* ステップ番号バッジ */
.steps-card__badge {
    position: absolute;
    top: -12px;
    left: -12px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: linear-gradient(135deg, #1e6fbf 0%, #165a9f 100%);
    box-shadow: 0 10px 15px rgba(0,0,0,.1), 0 4px 6px rgba(0,0,0,.1);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: 700;
    color: #fff;
    font-family: 'Noto Sans JP', sans-serif;
    line-height: 1;
    flex-shrink: 0;
}

/* アイコンコンテナ */
.steps-card__icon-wrap {
    width: 64px;
    height: 64px;
    border-radius: 24px;
    background: rgba(30, 111, 191, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-bottom: 16px;
}

.steps-card__icon {
    width: 32px;
    height: 32px;
    display: block;
}

/* 見出し */
.steps-card__heading {
    font-size: 16px;
    font-weight: 700;
    color: #1a2e4a;
    line-height: 28px;
    margin-bottom: 8px;
}

/* 本文 */
.steps-card__text {
    font-size: 14px;
    font-weight: 400;
    color: #6b7280;
    line-height: 24px;
}

/* --- Responsive --- */

/* タブレット: 2×2グリッド */
@media (max-width: 960px) {
    .steps-flow {
        grid-template-columns: repeat(2, 1fr);
        gap: 32px 24px;
    }

    .steps-card__heading {
        white-space: normal;
    }
}

/* モバイル: 1列 */
@media (max-width: 560px) {
    .steps-flow {
        grid-template-columns: 1fr;
        gap: 28px;
        padding-top: 20px;
    }

    .steps-card {
        padding: 40px 20px 28px;
    }
}

/* =============================================
   消去ログ履歴カード (elog-)
   ============================================= */

.elog-card {
    background: #fff;
    border: 0.625px solid #e5e7eb;
    border-radius: 16px;
    box-shadow: 0 20px 25px -5px rgba(0,0,0,.1), 0 8px 10px -6px rgba(0,0,0,.1);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', sans-serif;
}

/* --- Header --- */
.elog-card__header {
    background: #1a2e4a;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 24px;
    flex-shrink: 0;
}

.elog-card__title {
    display: flex;
    align-items: center;
    gap: 16px;
}

.elog-card__title-icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    display: block;
}

.elog-card__title-text {
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    line-height: 24px;
    white-space: nowrap;
}

.elog-card__csv-btn {
    background: rgba(255,255,255,.1);
    border: 0.625px solid rgba(255,255,255,.3);
    border-radius: 4px;
    padding: 5px 16px;
    font-size: 16px;
    font-weight: 400;
    color: #fff;
    line-height: 24px;
    font-family: inherit;
}

/* --- Column header --- */
.elog-table-head {
    background: #f9fafb;
    border-bottom: 0.625px solid #e5e7eb;
    display: grid;
    grid-template-columns: 121px 121px 1fr 90px;
    padding: 16px 19px 16px 16px;
    flex-shrink: 0;
}

.elog-table-head__cell {
    font-size: 16px;
    font-weight: 700;
    color: #6b7280;
    line-height: 24px;
}

/* --- Table body --- */
.elog-table-body {
    overflow-y: auto;
    max-height: 320px;
    flex-shrink: 0;
}

/* --- Data row --- */
.elog-row {
    border-bottom: 0.625px solid #e5e7eb;
    padding: 16px 19px 16px 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.elog-row--last {
    border-bottom: none;
}

.elog-row__main {
    display: grid;
    grid-template-columns: 121px 121px 1fr 90px;
    align-items: start;
}

.elog-row__datetime {
    font-size: 16px;
    font-weight: 500;
    color: #1a2e4a;
    line-height: 24px;
}

.elog-row__user {
    font-size: 16px;
    font-weight: 400;
    color: #374151;
    line-height: 24px;
}

.elog-row__target {
    font-size: 16px;
    font-weight: 500;
    color: #374151;
    line-height: 24px;
}

.elog-row__result {
    display: flex;
    align-items: center;
    gap: 4px;
}

.elog-row__result-icon {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    display: block;
}

.elog-row__result-text {
    font-size: 16px;
    font-weight: 500;
    color: #10b981;
    line-height: 24px;
    white-space: nowrap;
}

/* Sub-row: detail text offset to column 2 */
.elog-row__sub {
    display: grid;
    grid-template-columns: 121px 1fr;
}

.elog-row__sub-text {
    font-size: 16px;
    font-weight: 400;
    color: #6b7280;
    line-height: 24px;
}

/* --- Footer --- */
.elog-card__footer {
    background: #f9fafb;
    border-top: 0.625px solid #e5e7eb;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px;
    flex-shrink: 0;
}

.elog-card__footer-count,
.elog-card__footer-updated {
    font-size: 16px;
    font-weight: 400;
    color: #6b7280;
    line-height: 24px;
    white-space: nowrap;
}

/* --- Responsive --- */
@media (max-width: 600px) {
    .elog-table-head {
        display: none;
    }

    .elog-row__main {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .elog-row__sub {
        grid-template-columns: 1fr;
    }

    .elog-row__datetime::before { content: "実行日時: "; font-weight: 700; color: #6b7280; }
    .elog-row__user::before    { content: "実行者: ";  font-weight: 700; color: #6b7280; }
    .elog-row__target::before  { content: "対象: ";    font-weight: 700; color: #6b7280; }
}
/* =============================================
   データ削除セクション (del-)
   ============================================= */

.del-section {
    padding: 80px 40px;
    font-family: 'Noto Sans JP', sans-serif;
}

.del-wrap {
    max-width: 1226px;
    margin: 0 auto;
}

.del-title {
    font-size: 28px;
    font-weight: 700;
    line-height: 40px;
    color: #1a2e4a;
    text-align: center;
    margin-bottom: 22px;
}

.del-subtitle {
    font-size: 16px;
    font-weight: 400;
    line-height: 28px;
    color: #6b7280;
    text-align: center;
    max-width: 800px;
    margin: 0 auto 48px;
}

.del-cards {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 12px;
    gap: 9px;
    margin-bottom: 40px;
}

.del-arrow {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
}

.del-arrow img {
    width: 100%;
    height: 100%;
    display: block;
}

.del-card {
    position: relative;
    width: 363px;
    flex-shrink: 0;
    border-radius: 16px;
    border: 1.875px solid;
    padding: 32px 32px 36px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.del-card--gray {
    background-color: #f3f4f6;
    border-color: #6b7280;
}

.del-card--yellow {
    background-color: #fef3c7;
    border-color: #d97706;
}

.del-card--blue {
    background-color: #eff6ff;
    border-color: #1e6fbf;
}

.del-card__badge {
    position: absolute;
    top: -12px;
    left: -12px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 700;
    color: #ffffff;
    line-height: 1;
}

.del-card__badge--gray   { background-color: #6b7280; }
.del-card__badge--yellow { background-color: #d97706; }
.del-card__badge--blue   { background-color: #1e6fbf; }

.del-card__label {
    position: absolute;
    top: -12px;
    left: 60px;
    width: 239px;
    height: 32px;
    background-color: #1e6fbf;
    border-radius: 4px;
    display: flex;
    align-items: center;
    padding-left: 8px;
    font-size: 16px;
    font-weight: 700;
    color: #ffffff;
    white-space: nowrap;
}

.del-card__icon-wrap {
    display: flex;
    justify-content: center;
    margin-bottom: 16px;
}

.del-card__icon {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background-color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.del-card__icon img {
    width: 32px;
    height: 32px;
    display: block;
}

.del-card__heading {
    font-size: 20px;
    font-weight: 700;
    line-height: 32px;
    text-align: center;
    margin-bottom: 16px;
    white-space: nowrap;
}

.del-card__heading--gray   { color: #6b7280; }
.del-card__heading--yellow { color: #d97706; }
.del-card__heading--blue   { color: #1e6fbf; }

.del-card__text {
    font-size: 14px;
    font-weight: 400;
    line-height: 24px;
    color: #374151;
    text-align: center;
}

.del-footer {
    font-size: 16px;
    font-weight: 700;
    line-height: 28px;
    color: #1a2e4a;
    text-align: center;
}

@media (max-width: 1200px) {
    .del-cards {
        flex-direction: column;
        gap: 40px;
    }

    .del-arrow {
        transform: rotate(90deg);
    }

    .del-card {
        width: 100%;
        max-width: 480px;
    }

    .del-card__heading {
        white-space: normal;
    }
}

@media (max-width: 768px) {
    .del-section {
        padding: 60px 20px;
    }

    .del-title {
        font-size: 22px;
        line-height: 1.5;
    }

    .del-card__label {
        font-size: 12px;
        width: auto;
        right: 0;
    }
}
/* ==========================================
   作業中.css
========================================== */
   *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    .diag-tool-wrap {
      font-family: 'Noto Sans JP', sans-serif;
      background: #fff;
      overflow: hidden;
      color: #334158;
    }

    /* ==========================================
       Hero
    ========================================== */
    .diag-tool-hero {
      background: #fff;
      padding: 90px 240px;
      display: flex;
      gap: 90px;
      align-items: center;
      justify-content: center;
    }
    .diag-tool-hero__left {
      display: flex;
      flex-direction: column;
      gap: 24px;
      width: 480px;
      flex-shrink: 0;
    }
    .diag-tool-hero__eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: #dbe7fe;
      border: 1px solid #c0d5fa;
      border-radius: 999px;
      padding: 4px 12px 4px 10px;
      align-self: flex-start;
    }
    .diag-tool-hero__eyebrow-text {
      font-size: 12px;
      font-weight: 500;
      color: #2563eb;
      line-height: 18px;
    }
    .diag-tool-hero__title {
      font-size: 40px;
      font-weight: 700;
      color: #0f172a;
      line-height: 52px;
    }
    .diag-tool-hero__title-blue { color: #2563eb; }
    .diag-tool-hero__title-gradient {
      background: linear-gradient(to right, #004bff, #344f90);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }
    .diag-tool-hero__desc {
      font-size: 16px;
      font-weight: 400;
      color: #334158;
      line-height: 28px;
    }
    .diag-tool-hero__cta-row {
      display: flex;
      gap: 12px;
      align-items: center;
      flex-wrap: wrap;
    }
    .diag-tool-btn-primary {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: #2563eb;
      color: #fff;
      border-radius: 12px;
      padding: 14px 28px;
      font-size: 16px;
      font-weight: 700;
      line-height: 24px;
      box-shadow: 0px 4px 12px 0px rgba(37,99,235,0.25);
      text-decoration: none;
      cursor: pointer;
      border: none;
    }
    .diag-tool-btn-secondary {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: #fff;
      border: 1px solid #e2e8f0;
      border-radius: 12px;
      padding: 12px 20px;
      font-size: 15px;
      font-weight: 500;
      color: #334158;
      line-height: 24px;
      text-decoration: none;
      cursor: pointer;
    }
    .diag-tool-btn-secondary__arrow {
      /*transform: rotate(90deg);*/
      flex-shrink: 0;
    }
    .diag-tool-hero__trust-row {
      display: flex;
      gap: 24px;
      align-items: center;
      flex-wrap: wrap;
    }
    .diag-tool-hero__trust-item {
      display: flex;
      gap: 8px;
      align-items: center;
    }
    .diag-tool-hero__trust-badge {
      display: flex;
      align-items: center;
      justify-content: center;
      background: #dbe7fe;
      border-radius: 999px;
      width: 16px;
      height: 16px;
      flex-shrink: 0;
    }
    .diag-tool-hero__trust-text {
      font-size: 14px;
      font-weight: 400;
      color: #334158;
      line-height: 20px;
      white-space: nowrap;
    }

    /* App Window */
    .diag-tool-hero__right {
      width: 518px;
      height: 480px;
      position: relative;
      flex-shrink: 0;
    }
    .diag-tool-app-window {
      position: absolute;
      left: 40px;
      top: 20px;
      width: 420px;
      background: #fff;
      border: 1px solid #e2e8f0;
      border-radius: 12px;
      box-shadow: 0px 8px 24px 0px rgba(15,23,42,0.08);
      overflow: hidden;
    }
    .diag-tool-app-window__titlebar {
      background: #2563eb;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 12px 16px;
    }
    .diag-tool-app-window__title {
      font-size: 12px;
      font-weight: 500;
      color: #fff;
      line-height: 18px;
      white-space: nowrap;
    }
    .diag-tool-app-window__main {
      background: #f8fafc;
      padding: 24px;
      display: flex;
      flex-direction: column;
      gap: 20px;
      min-height: 368px;
    }
    .diag-tool-app-window__app-title {
      font-size: 16px;
      font-weight: 700;
      color: #0f172a;
      line-height: 26px;
      text-align: center;
    }
    .diag-tool-app-window__table {
      background: #fff;
      border-radius: 8px;
      display: flex;
      align-items: center;
      justify-content: center;
      height: 227px;
      overflow: hidden;
    }
    .diag-tool-app-window__action-row {
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .diag-tool-app-window__start-btn {
      background: #2d89ef;
      color: #fff;
      border-radius: 8px;
      padding: 8px 14px;
      font-size: 11px;
      font-weight: 500;
      line-height: 18px;
      cursor: pointer;
      border: none;
      font-family: inherit;
    }

    /* ==========================================
       Section common
    ========================================== */
    .diag-tool-section-title {
      font-size: 28px;
      font-weight: 700;
      color: #0f172a;
      line-height: 40px;
      text-align: center;
    }
    .diag-tool-cards-row {
      display: flex;
      gap: 24px;
      /*align-items: flex-start;*/
      flex-wrap: wrap;
      justify-content: center;
    }

    /* ==========================================
       Benefits
    ========================================== */
    .diag-tool-benefits {
      background: #f8fafc;
      padding: 80px 160px;
      display: flex;
      flex-direction: column;
      gap: 48px;
      align-items: center;
    }
    .diag-tool-card--benefit {
      background: #fff;
      border: 1px solid #e2e8f0;
      border-radius: 16px;
      padding: 24px;
      box-shadow: 0px 1px 2px 0px rgba(15,23,42,0.06);
      display: flex;
      flex-direction: column;
      gap: 8px;
      width: 330px;
      flex-shrink: 0;
    }
    .diag-tool-card__icon-badge {
      background: #dbe7fe;
      border-radius: 999px;
      width: 40px;
      height: 40px;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }
    .diag-tool-card__spacer { height: 8px; }
    .diag-tool-card__title {
      font-size: 20px;
      font-weight: 700;
      color: #0f172a;
      line-height: 32px;
    }
    .diag-tool-card__desc {
      font-size: 16px;
      font-weight: 400;
      color: #334158;
      line-height: 28px;
    }

    /* ==========================================
       Devices
    ========================================== */
    .diag-tool-devices {
      background: #fff;
      padding: 80px 160px;
      display: flex;
      flex-direction: column;
      gap: 40px;
      align-items: center;
    }
    .diag-tool-devices__heading {
      display: flex;
      flex-direction: column;
      gap: 8px;
      align-items: center;
      text-align: center;
    }
    .diag-tool-devices__subtitle {
      font-size: 16px;
      font-weight: 400;
      color: #334158;
      line-height: 28px;
    }
    .diag-tool-device-grid {
      display: flex;
      flex-direction: column;
      gap: 16px;
      align-items: center;
    }
    .diag-tool-device-row {
      display: flex;
      gap: 16px;
      align-items: center;
      flex-wrap: wrap;
      justify-content: center;
    }
    .diag-tool-device-chip {
      display: flex;
      gap: 10px;
      align-items: center;
      background: #fff;
      border: 1px solid #e2e8f0;
      border-radius: 12px;
      padding: 12px 16px 12px 12px;
      box-shadow: 0px 1px 2px 0px rgba(15,23,42,0.06);
    }
    .diag-tool-device-chip__label {
      font-size: 14px;
      font-weight: 500;
      color: #0f172a;
      line-height: 24px;
      white-space: nowrap;
    }
    .diag-tool-devices__caution {
      display: flex;
      gap: 10px;
      align-items: flex-start;
      background: #faf9f5;
      border: 1px solid #fde0b2;
      border-radius: 8px;
      padding: 12px 16px 12px 12px;
      max-width: 700px;
    }
    .diag-tool-devices__caution-text {
      font-size: 13px;
      font-weight: 400;
      color: #d97706;
      line-height: 22px;
    }

    /* ==========================================
       Download CTA
    ========================================== */
    .diag-tool-download-cta {
      background: #fff;
      padding: 80px 160px;
      display: flex;
      flex-direction: column;
      align-items: center;
    }
    .diag-tool-cta-card {
      background: #eff3fe;
      border: 1px solid #ccdbfa;
      border-radius: 20px;
      box-shadow: 0px 8px 24px 0px rgba(37,99,235,0.06);
      width: 100%;
      max-width: 1120px;
      overflow: hidden;
    }
    .diag-tool-cta-card__inner {
      padding: 56px 64px;
      display: flex;
      flex-direction: column;
      gap: 24px;
      align-items: center;
    }
    .diag-tool-cta-card__title {
      font-size: 28px;
      font-weight: 700;
      color: #0f172a;
      line-height: 42px;
      text-align: center;
    }
    .diag-tool-cta-card__copy {
      display: flex;
      flex-direction: column;
      gap: 4px;
      align-items: center;
      text-align: center;
    }
    .diag-tool-cta-card__copy p {
      font-size: 16px;
      font-weight: 400;
      color: #334158;
      line-height: 28px;
    }
    .diag-tool-btn-primary--lg {
      padding: 17px 32px;
      font-size: 18px;
      line-height: 26px;
      border-radius: 12px;
      box-shadow: 0px 4px 16px 0px rgba(37,99,235,0.22);
    }
    .diag-tool-chips-row {
      display: flex;
      gap: 8px;
      align-items: center;
      flex-wrap: wrap;
      justify-content: center;
    }
    .diag-tool-chip {
      display: flex;
      gap: 6px;
      align-items: center;
      background: #fff;
      border: 1px solid #e2e8f0;
      border-radius: 999px;
      padding: 6px 12px 6px 10px;
    }
    .diag-tool-chip__text {
      font-size: 13px;
      font-weight: 500;
      color: #334158;
      line-height: 20px;
      white-space: nowrap;
    }

    /* ==========================================
       How To Use
    ========================================== */
    .diag-tool-howto {
      background: #f8fafc;
      padding: 80px 160px;
      display: flex;
      flex-direction: column;
      gap: 48px;
      align-items: center;
    }
    .diag-tool-howto__heading {
      display: flex;
      flex-direction: column;
      gap: 12px;
      align-items: center;
      text-align: center;
    }
    .diag-tool-howto__desc {
      font-size: 16px;
      font-weight: 400;
      color: #334158;
      line-height: 28px;
      max-width: 600px;
    }
    .diag-tool-step-card {
      background: #fff;
      border: 1px solid #e2e8f0;
      border-radius: 16px;
      padding: 24px;
      box-shadow: 0px 1px 2px 0px rgba(15,23,42,0.06);
      display: flex;
      flex-direction: column;
      gap: 16px;
      width: 357px;
      flex-shrink: 0;
    }
    .diag-tool-step-card__header {
      display: flex;
      gap: 12px;
      align-items: center;
    }
    .diag-tool-step-card__badge {
      background: #2563eb;
      border-radius: 999px;
      width: 32px;
      height: 24px;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      font-size: 14px;
      font-weight: 700;
      color: #fff;
      line-height: 20px;
    }
    .diag-tool-step-card__conn-line {
      width: 2px;
      height: 32px;
      background: #dbe7fe;
      border-radius: 999px;
      flex-shrink: 0;
    }
    .diag-tool-step-card__header-title {
      font-size: 16px;
      font-weight: 700;
      color: #0f172a;
      line-height: 26px;
    }
    .diag-tool-step-card__preview {
      background: #fff;
      border: 1px solid #e2e8f0;
      border-radius: 10px;
      padding: 16px;
      display: flex;
      flex-direction: column;
      gap: 8px;
      align-items: center;
      justify-content: center;
      min-height: 110px;
    }
    .diag-tool-step-card__file-row {
      display: flex;
      gap: 10px;
      align-items: center;
    }
    .diag-tool-step-card__file-info {
      display: flex;
      flex-direction: column;
      gap: 2px;
    }
    .diag-tool-step-card__file-name {
      font-size: 11px;
      font-weight: 500;
      color: #0f172a;
      line-height: 18px;
      white-space: nowrap;
    }
    .diag-tool-step-card__file-meta {
      font-size: 10px;
      font-weight: 400;
      color: #64748b;
      line-height: 16px;
    }
    .diag-tool-step-card__dl-btn {
      display: inline-flex;
      gap: 6px;
      align-items: center;
      background: #2563eb;
      color: #fff;
      border-radius: 8px;
      padding: 8px 16px;
      font-size: 11px;
      font-weight: 500;
      line-height: 18px;
      cursor: pointer;
      border: none;
      font-family: inherit;
    }
    .diag-tool-step-card__desc {
      font-size: 14px;
      font-weight: 400;
      color: #334158;
      line-height: 24px;
    }

    /* ==========================================
       Results
    ========================================== */
    .diag-tool-results {
      background: #f8fafc;
      padding: 80px 160px;
      display: flex;
      flex-direction: column;
      gap: 48px;
      align-items: center;
    }
    .diag-tool-results__heading {
      display: flex;
      flex-direction: column;
      gap: 8px;
      align-items: center;
      text-align: center;
    }
    .diag-tool-results__desc {
      font-size: 16px;
      font-weight: 400;
      color: #334158;
      line-height: 28px;
      max-width: 560px;
      text-align: center;
    }
    .diag-tool-result-card {
      background: #fff;
      border: 1px solid #e2e8f0;
      border-radius: 16px;
      padding: 24px;
      box-shadow: 0px 1px 2px 0px rgba(15,23,42,0.06);
      display: flex;
      flex-direction: column;
      gap: 12px;
      width: 344px;
      flex-shrink: 0;
    }
    .diag-tool-status-chip {
      display: inline-flex;
      gap: 6px;
      align-items: center;
      border-radius: 999px;
      padding: 4px 10px 4px 8px;
      border: 1px solid;
      align-self: flex-start;
    }
    .diag-tool-status-chip__label {
      font-size: 13px;
      font-weight: 700;
      line-height: 20px;
      white-space: nowrap;
    }
    .diag-tool-status-chip--ok  { background: #f0fef3; border-color: #bbf0c4; }
    .diag-tool-status-chip--ok  .diag-tool-status-chip__label { color: #16a34a; }
    .diag-tool-status-chip--warn { background: #fffbeb; border-color: #fedf99; }
    .diag-tool-status-chip--warn .diag-tool-status-chip__label { color: #d97706; }
    .diag-tool-status-chip--error { background: #fef2f2; border-color: #fecccc; }
    .diag-tool-status-chip--error .diag-tool-status-chip__label { color: #dc2626; }
    .diag-tool-result-card__divider { height: 1px; }
    .diag-tool-result-card--ok   .diag-tool-result-card__divider { background: #c4e8d1; }
    .diag-tool-result-card--warn  .diag-tool-result-card__divider { background: #f5ddc0; }
    .diag-tool-result-card--error .diag-tool-result-card__divider { background: #f6c8c8; }
    .diag-tool-result-card__title {
      font-size: 16px;
      font-weight: 700;
      color: #0f172a;
      line-height: 28px;
    }
    .diag-tool-result-card__desc {
      font-size: 14px;
      font-weight: 400;
      color: #334158;
      line-height: 24px;
    }

    /* ==========================================
       Disclaimer
    ========================================== */
    .diag-tool-disclaimer {
      background: #fff;
      padding: 64px 160px;
      display: flex;
      flex-direction: column;
      align-items: center;
    }
    .diag-tool-disclaimer__block {
      background: #f1f5f9;
      border: 1px solid #e2e8f0;
      border-radius: 12px;
      padding: 24px;
      width: 100%;
      max-width: 1080px;
      display: flex;
      flex-direction: column;
      align-items: center;
    }
    .diag-tool-disclaimer__header {
      display: flex;
      gap: 8px;
      align-items: center;
    }
    .diag-tool-disclaimer__header-title {
      font-size: 14px;
      font-weight: 700;
      color: #0f172a;
      line-height: 24px;
    }
    .diag-tool-disclaimer__divider-wrap {
      width: 100%;
      max-width: 752px;
      padding: 16px 0;
    }
    .diag-tool-disclaimer__divider { height: 1px; background: #e2e8f0; }
    .diag-tool-disclaimer__notes {
      display: flex;
      flex-direction: column;
      gap: 12px;
      width: 100%;
      max-width: 1000px;
    }
    .diag-tool-disclaimer__note-row {
      display: flex;
      gap: 10px;
      align-items: flex-start;
    }
    .diag-tool-disclaimer__bullet { flex-shrink: 0; }
    .diag-tool-disclaimer__note-text {
      font-size: 16px;
      font-weight: 400;
      color: #334158;
      line-height: 24px;
    }

    /* ==========================================
       FAQ
    ========================================== */
    .diag-tool-faq {
      background: #fff;
      padding: 80px 160px;
      display: flex;
      flex-direction: column;
      gap: 40px;
      align-items: center;
    }
    .diag-tool-faq__heading {
      display: flex;
      flex-direction: column;
      gap: 8px;
      align-items: center;
      text-align: center;
    }
    .diag-tool-faq__desc {
      font-size: 16px;
      font-weight: 400;
      color: #334158;
      line-height: 28px;
      max-width: 480px;
    }
    .diag-tool-faq__list {
      display: flex;
      flex-direction: column;
      gap: 8px;
      width: 100%;
      max-width: 720px;
    }
    .diag-tool-faq-item {
      background: #fff;
      border: 1px solid #e2e8f0;
      border-radius: 12px;
      overflow: hidden;
    }
    .diag-tool-faq-item__question-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 20px;
      cursor: pointer;
      gap: 16px;
    }
    .diag-tool-faq-item__question {
      font-size: 15px;
      font-weight: 500;
      color: #0f172a;
      line-height: 26px;
    }
    .diag-tool-faq-item__chevron { flex-shrink: 0; }
    .diag-tool-faq-item__divider-wrap { padding: 0 20px; }
    .diag-tool-faq-item__divider { height: 1px; background: #e2e8f0; }
    .diag-tool-faq-item__answer-row {
      background: #f8fafc;
      padding: 16px 20px 20px;
    }
    .diag-tool-faq-item__answer {
      font-size: 14px;
      font-weight: 400;
      color: #334158;
      line-height: 24px;
    }
    .diag-tool-faq-item__divider-wrap,
.diag-tool-faq-item__answer-row {
  display: none;
}
.diag-tool-faq-item--open .diag-tool-faq-item__divider-wrap,
.diag-tool-faq-item--open .diag-tool-faq-item__answer-row {
  display: block;
}
.diag-tool-faq-item__chevron {
  transition: transform 0.2s ease;
  flex-shrink: 0;
}
.diag-tool-faq-item--open .diag-tool-faq-item__chevron {
  transform: rotate(90deg);
}

    /* ==========================================
       Consultation
    ========================================== */
    .diag-tool-consultation {
      background: #f8fafc;
      padding: 64px 160px;
      display: flex;
      flex-direction: column;
      align-items: center;
    }
    .diag-tool-consultation-card {
      background: #fff;
      border: 1px solid #e2e8f0;
      border-radius: 16px;
      padding: 32px;
      box-shadow: 0px 1px 2px 0px rgba(15,23,42,0.06);
      width: 100%;
      max-width: 800px;
      display: flex;
      flex-direction: column;
      gap: 24px;
      align-items: center;
    }
    .diag-tool-caution-chip {
      display: inline-flex;
      gap: 6px;
      align-items: center;
      background: #2563eb;
      border: 1px solid #f8fafc;
      border-radius: 999px;
      padding: 4px 10px 4px 8px;
    }
    .diag-tool-caution-chip__text {
      font-size: 12px;
      font-weight: 500;
      color: #fff;
      line-height: 18px;
      white-space: nowrap;
    }
    .diag-tool-consultation-card__message {
      display: flex;
      flex-direction: column;
      gap: 8px;
      width: 100%;
    }
    .diag-tool-consultation-card__message-title {
      font-size: 16px;
      font-weight: 700;
      color: #0f172a;
      line-height: 28px;
    }
    .diag-tool-consultation-card__message-desc {
      font-size: 14px;
      font-weight: 400;
      color: #334158;
      line-height: 24px;
    }
    .diag-tool-consultation-card__divider { height: 1px; background: #e2e8f0; width: 100%; }
    .diag-tool-consultation-card__btn-row {
      display: flex;
      gap: 12px;
      align-items: center;
      justify-content: center;
      flex-wrap: wrap;
    }
    .diag-tool-btn-outline {
      display: inline-flex;
      gap: 6px;
      align-items: center;
      background: #fff;
      border: 1px solid #e2e8f0;
      border-radius: 12px;
      padding: 10px 20px;
      font-size: 14px;
      font-weight: 500;
      color: #334158;
      line-height: 24px;
      text-decoration: none;
      cursor: pointer;
    }

    .diag-tool-hero__eyebrow-dot {
  display: inline-block;
  width: 6px;
  height: 6px;
  background-color: #2563eb;
  border-radius: 50%;
  flex-shrink: 0;
}
.diag-tool-disclaimer__bullet {
  display: inline-flex;
  align-items: center;
  width: 5px;
  height: 24px;
  flex-shrink: 0;
}
.diag-tool-disclaimer__bullet::before {
  content: '';
  display: block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: #334158;
}

/* hover時処理 */
.diag-tool-btn-primary--lg:hover, .diag-tool-btn-primary:hover {
  background: #1447e6;
  transform: translateY(-1px); /* 少し浮かせる */  
}
.diag-tool-btn-secondary:hover, .diag-tool-btn-outline:hover {
    background: #f9fafb;
  transform: translateY(-1px); /* 少し浮かせる */    
}
    /* ==========================================
       Responsive
    ========================================== */
    @media (max-width: 1400px) {
      .diag-tool-hero { padding: 80px 120px; gap: 60px; }
      .diag-tool-benefits,
      .diag-tool-devices,
      .diag-tool-download-cta,
      .diag-tool-howto,
      .diag-tool-results,
      .diag-tool-disclaimer,
      .diag-tool-faq,
      .diag-tool-consultation { padding-left: 80px; padding-right: 80px; }
    }

    @media (max-width: 1100px) {
      .diag-tool-hero { padding: 60px 48px; gap: 40px; }
      .diag-tool-hero__left { width: auto; flex: 1; min-width: 0; }
      .diag-tool-hero__right { width: 400px; }
      .diag-tool-benefits,
      .diag-tool-devices,
      .diag-tool-download-cta,
      .diag-tool-howto,
      .diag-tool-results,
      .diag-tool-disclaimer,
      .diag-tool-faq,
      .diag-tool-consultation { padding-left: 40px; padding-right: 40px; }
      .diag-tool-card--benefit { width: calc(50% - 12px); flex-shrink: unset; }
      .diag-tool-step-card { width: calc(50% - 12px); flex-shrink: unset; }
      .diag-tool-result-card { width: calc(50% - 12px); flex-shrink: unset; }
    }

    @media (max-width: 900px) {
      .diag-tool-hero {
        flex-direction: column;
        padding: 48px 32px;
        gap: 40px;
        align-items: stretch;
      }
      .diag-tool-hero__left { width: auto; }
      .diag-tool-hero__title { font-size: 32px; line-height: 44px; }
      .diag-tool-hero__right {
        width: auto;
        height: auto;
        min-height: 360px;
      }
      .diag-tool-app-window {
        position: relative;
        left: auto;
        top: auto;
        width: 100%;
        max-width: 420px;
        margin: 0 auto;
      }
      .diag-tool-benefits,
      .diag-tool-devices,
      .diag-tool-download-cta,
      .diag-tool-howto,
      .diag-tool-results,
      .diag-tool-disclaimer,
      .diag-tool-faq,
      .diag-tool-consultation { padding: 60px 24px; }
      .diag-tool-section-title { font-size: 24px; }
      .diag-tool-card--benefit { width: 100%; }
      .diag-tool-step-card { width: 100%; }
      .diag-tool-result-card { width: 100%; }
      .diag-tool-cta-card__inner { padding: 40px 32px; }
      .diag-tool-cta-card__title { font-size: 22px; line-height: 34px; }
    }

    @media (max-width: 600px) {
      .diag-tool-hero { padding: 40px 20px; }
      .diag-tool-hero__title { font-size: 26px; line-height: 38px; }
      .diag-tool-hero__desc { font-size: 15px; }
      .diag-tool-btn-primary { padding: 16px 20px; font-size: 15px; }
      .diag-tool-btn-secondary { padding: 16px 16px; font-size: 14px; }
      .diag-tool-btn-primary--lg { padding: 22px 32px; }
      .diag-tool-howto{margin-bottom: 0;}
      .diag-tool-btn-outline{width: 100%; justify-content: center;}
      .diag-tool-benefits,
      .diag-tool-devices,
      .diag-tool-download-cta,
      .diag-tool-howto,
      .diag-tool-results,
      .diag-tool-disclaimer,
      .diag-tool-faq,
      .diag-tool-consultation { padding: 48px 20px; }
      .diag-tool-cta-card__inner { padding: 32px 20px; }
      .diag-tool-cta-card__title { font-size: 20px; line-height: 30px; }
      .diag-tool-disclaimer__note-text { font-size: 14px; }
      .diag-tool-step-card__file-name { font-size: 10px; }
    }

/* ==========================================
   Header
========================================== */
.dataerasure-header {
  background: #fff;
  border-bottom: 0.625px solid #e5e7eb;
  box-shadow: 0px 1px 1.5px rgba(0, 0, 0, 0.1);
  position: sticky;
  top: 0;
  z-index: 100;
  font-family: 'Noto Sans JP', sans-serif;
}

.dataerasure-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 80px;
  /*padding: 0 24px;*/
  padding: 0;
  gap: 40px;
}

/* Logo */
.dataerasure-header__logo {
  display: flex;
  align-items: center;
  gap: 16px;
  text-decoration: none;
  flex-shrink: 0;
}

.dataerasure-logo-icon {
  width: 48px;
  height: 48px;
  background: #1c3f94;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  font-weight: 700;
  color: #fff;
  flex-shrink: 0;
  font-family: 'Noto Sans JP', sans-serif;
}

.dataerasure-logo-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.dataerasure-logo-text__ja {
  font-size: 20px;
  font-weight: 700;
  color: #111827;
  line-height: 1.2;
  white-space: nowrap;
}

.dataerasure-logo-text__en {
  font-size: 14px;
  font-weight: 400;
  color: #6b7280;
  line-height: 1.2;
}

/* Desktop Navigation */
.dataerasure-header__nav {
  display: flex;
  align-items: center;
  gap: 40px;
}

.dataerasure-nav-item {
  position: relative;
}

.dataerasure-nav-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 16px;
  font-weight: 500;
  color: #111827;
  text-decoration: none;
  white-space: nowrap;
  padding: 8px 16px;
  border-radius: 16px;
  border-bottom: 1.875px solid transparent;
  background: transparent;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
}

/* Hover state */
.dataerasure-nav-link:hover,
.dataerasure-nav-item--has-menu:hover > .dataerasure-nav-link {
  background: #eff6ff;
  border-bottom-color: #1c3f94;
  color: #1c3f94;
  font-weight: 700;
}

.dataerasure-nav-chevron {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  transition: transform 0.2s ease;
  color: #111827;
}

.dataerasure-nav-chevron,
 .dataerasure-nav-chevron {
  color: #1c3f94;
}

/* Mega Menu */
.dataerasure-mega-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 25%;
  background: #fff;
  border: 0.625px solid #e5e7eb;
  border-radius: 16px;
  box-shadow: 0px 10px 7.5px rgba(0, 0, 0, 0.1), 0px 4px 3px rgba(0, 0, 0, 0.05);
  width: 480px;
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.15s, visibility 0.15s;
  z-index: 200;
}

.dataerasure-nav-item--has-menu:hover .dataerasure-mega-menu,
.dataerasure-mega-menu--open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* ナビリンクとメガメニューの間のギャップ(8px)を透明な疑似要素で埋めて
   カーソル移動中も :hover が外れないようにするブリッジ */
.dataerasure-nav-item--has-menu::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  height: 12px;
  z-index: 199;
}

/* JSが付与する --open クラスでもアクティブ表示を維持 */
.dataerasure-nav-link--open {
  background: #eff6ff !important;
  border-bottom-color: #1c3f94 !important;
  color: #1c3f94 !important;
  font-weight: 700 !important;
}

.dataerasure-mega-menu__link {
  display: flex;
  align-items: center;
  height: 60px;
  padding: 0 16px;
  border-radius: 16px;
  font-size: 16px;
  font-weight: 500;
  color: #111827;
  text-decoration: none;
  transition: background 0.15s;
  white-space: nowrap;
}

.dataerasure-mega-menu__link:hover {
  background: #f3f4f6;
  color: #1C3F94;
  font-weight: 700;
}

/* Header CTA */
.dataerasure-header__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-shrink: 0;
}

.dataerasure-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 16px;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 16px;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  border: none;
  /*white-space: nowrap;*/
  transition: opacity 0.15s, transform 0.15s;
}

.dataerasure-btn--sm {
  padding: 10px 20px;
  font-size: 14px;
}

.dataerasure-btn--lg {
  padding: 16px 32px;
}

.dataerasure-btn--primary {
  background: #1c3f94;
  color: #fff;
  box-shadow: 0px 1px 1.5px rgba(0, 0, 0, 0.1);
}

.dataerasure-btn--ghost {
  background: #fff;
  color: #374151;
  border: 1px solid #e5e7eb;
}

.dataerasure-btn--primary:hover {
  opacity: 0.88;
  transform: translateY(-1px);
}

@media (max-width: 1360px) {
  .dataerasure-header__inner {
    padding: 0 16px;
    gap: 24px;
  }
  .dataerasure-header__nav{
    gap: 20px;
  }
  .dataerasure-nav-link{
    padding: 6px 12px;
  }
}

/* ==========================================================================
   ARC – Article page styles  (prefix: arc-)
   ========================================================================== */
/* ---- Variables (scoped) ---- */
:root {
  --arc-primary:   #1c3f94;
  --arc-primary-d: #0f2656;
  --arc-accent:    #2563eb;
  --arc-bg:        #f5f7fa;
  --arc-bg-blue:   #eff6ff;
  --arc-text:      #111827;
  --arc-text-sub:  #374151;
  --arc-muted:     #6b7280;
  --arc-border:    #e5e7eb;
  --arc-warn-bg:   #fff7ed;
  --arc-warn-bd:   #f59e0b;
  --arc-max-w:     1320px;
  --arc-guide-w:   800px;
  --arc-container: 0 auto;
  --arc-pad:       0 24px;
}

/* ---- Reset helpers ---- */
.arc-breadcrumb,
.arc-hero,
.arc-layout,
.arc-faq,
.arc-summary,
.arc-related,
.arc-final-cta {
  box-sizing: border-box;
}

/* ==========================================================================
   BREADCRUMB
   ========================================================================== */
.arc-breadcrumb {
  background: #F9FAFB;
  border-bottom: 1px solid var(--arc-border);
  padding: 12px 0;
}
.arc-breadcrumb__inner {
  max-width: 1340px;
  margin: var(--arc-container);
  padding: var(--arc-pad);
}
.arc-breadcrumb__list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 13px;
  color: var(--arc-muted);
}
.arc-breadcrumb__link {
  color: var(--arc-primary);
  text-decoration: none;
}
.arc-breadcrumb__link:hover { text-decoration: underline; }
.arc-breadcrumb__sep-icon {
  width: 14px;
  height: 14px;
  display: block;
  opacity: .5;
}
.arc-breadcrumb__item--current { color: var(--arc-muted); }

/* ==========================================================================
   HERO
   ========================================================================== */

/* Hero summary box */
.arc-hero__summary {
  background: #fff;
  border-radius: 12px;
  padding: 24px 28px;
  margin-bottom: 32px;
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
}
.arc-hero__summary-heading {
  font-size: 15px;
  font-weight: 700;
  color: var(--arc-primary);
  margin: 0 0 16px;
  border-left: 4px solid var(--arc-primary);
  padding-left: 12px;
}
.arc-hero__summary-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.arc-hero__summary-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: var(--arc-text-sub);
}
.arc-hero__summary-icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

/* ==========================================================================
   ARTICLE LAYOUT  (body + sidebar flex wrapper)
   ========================================================================== */
.arc-layout {
  padding: 48px 0 64px;
}
.arc-layout__inner {
  max-width: var(--arc-max-w);
  margin: var(--arc-container);
  padding: var(--arc-pad);
  display: flex;
  align-items: stretch; /* sidebar stretches to match body height so sticky has room */
  gap: 40px;
}
.arc-layout__body {
  flex: 1 1 0;
  min-width: 0;
}

/* ==========================================================================
   ARTICLE SECTIONS
   ========================================================================== */
.arc-section, .arc-top-section{
  background: #fff;
  border-radius: 16px;
  padding: 40px 0px;
  margin-bottom: 24px;
}
.arc-section{
  max-width: var(--arc-guide-w);
}
.arc-section__h2 {
  font-size: 28px;
  font-weight: 700;
  color: #111827;
  border-left: 4px solid #1c3f94;
  padding-left: 20px;
  margin: 0 0 24px;
  line-height: 1.43;
  display: flex;
  align-items: center;
  min-height: 56px;
}
.arc-section__p {
  font-size: 16px;
  line-height: 1.8;
  color: #374151;
  margin: 0 0 20px;
}

/* ---- Table ---- */
.arc-table-wrap {
  overflow-x: auto;
  border-radius: 16px;
  border: 1px solid #e5e7eb;
  margin-bottom: 24px;
}
.arc-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 16px;
  background: #fff;
}
.arc-table--sm { font-size: 14px; }
.arc-table thead th {
  background: #f9fafb;
  color: #111827;
  padding: 14px 24px;
  font-weight: 700;
  text-align: left;
  border-bottom: 1px solid #e5e7eb;
}
.arc-table tbody td {
  padding: 14px 24px;
  border-bottom: 1px solid #e5e7eb;
  color: #374151;
  vertical-align: top;
}
.arc-table__label {
  font-weight: 500;
  color: #6b7280;
  /*white-space: nowrap;*/
}

/* ---- Note box ---- */
.arc-note {
  display: flex;
  gap: 16px;
  align-items: center;
  border-radius: 16px;
  padding: 24px 24px 24px 28px;
  /*margin-bottom: 20px;*/
}
.arc-note--warning {
  background: #fff7ed;
}
.arc-note__icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  margin-top: 2px;
}
.arc-note__body { flex: 1; }
.arc-note__title {
  font-size: 16px;
  font-weight: 700;
  color: #92400e;
  margin: 0 0 16px;
}
.arc-note__text {
  font-size: 16px;
  line-height: 1.8;
  color: #78350f;
  margin: 0;
}

/* ---- Use-case cards (section 2) ---- */
.arc-use-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 24px;
}
.arc-use-card {
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 24px 16px;
  background: #f9fafb;
  text-align: center;
}
.arc-use-card__icon-wrap {
  width: 40px;
  height: 40px;
  border-radius: 9999px;
  background: #eff6ff;
  margin: 0 auto 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.arc-use-card__icon-wrap img {
  width: 20px;
  height: 20px;
  display: block;
}
.arc-use-card__title {
  font-size: 16px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 4px;
}
.arc-use-card__desc {
  font-size: 14px;
  color: #6b7280;
  margin: 0;
}

/* ---- Criterion blocks (section 3) ---- */
.arc-criterion {
  margin-bottom: 32px;
}
.arc-criterion__header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
}
.arc-criterion__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 9999px;
  background: #1c3f94;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  flex-shrink: 0;
}
.arc-criterion__h3 {
  font-size: 20px;
  font-weight: 700;
  color: #111827;
  margin: 0;
}

/* ---- Checklist ---- */
.arc-checklist, .arc-summary__intro-box {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 24px;
  margin-bottom: 16px;
}
.arc-checklist__heading {
  font-size: 16px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 16px;
}
.arc-checklist__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.arc-checklist__item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 16px;
  color: #374151;
}
.arc-checklist__icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

/* ---- Point box ---- */
.arc-point {
  padding: 16px 20px;
  margin-top: 16px;
  background: #eff6ff;
  border-left: 4px solid #1c3f94;
}
.arc-point--blue-border {
  background: #eff6ff;
  border-left-color: #1c3f94;
}
.arc-point__label {
  font-size: 14px;
  font-weight: 700;
  color: #1c3f94;
  margin: 0 0 4px;
}
.arc-point__text {
  font-size: 14px;
  line-height: 1.6;
  color: #374151;
  margin: 0;
}

/* ---- Inline CTA (between section 2 and 3) ---- */
.arc-inline-cta {
  background: linear-gradient(90deg, #eff6ff 0%, #dbeafe 100%);
  border: 1px solid #bfdbfe;
  border-radius: 16px;
  padding: 32px;
  margin-bottom: 24px;
}
.arc-inline-cta__heading {
  font-size: 20px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 12px;
}
.arc-inline-cta__desc {
  font-size: 16px;
  color: #374151;
  margin: 0 0 24px;
  line-height: 1.7;
}
.arc-inline-cta__buttons {
  display: flex;
  gap: 16px;
  align-items: center;
  flex-wrap: wrap;
}
.arc-inline-cta__btn {
  width: 280px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 56px;
  padding: 0 32px;
  border-radius: 16px;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  transition: opacity .15s;
}
.arc-inline-cta__btn:hover { opacity: .88; }
.arc-inline-cta__btn--primary {
  background: #1c3f94;
  color: #fff;
}
.arc-inline-cta__btn--outline {
  background: #fff;
  color: #1c3f94;
  border: 2px solid #1c3f94;
}
.arc-inline-cta__btn-icon {
  width: 20px;
  height: 20px;
  display: block;
  flex-shrink: 0;
}

/* ---- Section H3 ---- */
.arc-section__h3 {
  font-size: 20px;
  font-weight: 700;
  color: #111827;
  margin: 32px 0 16px;
  line-height: 1.4;
}

/* ---- Case selection cards (ケース別) ---- */
.arc-case-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-bottom: 24px;
}
.arc-case-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 24px;
}
.arc-case-card__header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
}
.arc-case-card__icon-wrap {
  width: 40px;
  height: 40px;
  border-radius: 9999px;
  background: #eff6ff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.arc-case-card__title {
  font-size: 16px;
  font-weight: 700;
  color: #111827;
  line-height: 1.4;
  margin: 0;
}
.arc-case-card__situation {
  font-size: 14px;
  color: #6b7280;
  line-height: 1.6;
  margin: 0 0 16px;
}
.arc-case-card__points-label {
  font-size: 14px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 8px;
}
.arc-case-card__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.arc-case-card__list-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 14px;
  color: #374151;
  line-height: 1.5;
}
.arc-case-card__list-item::before {
  content: '';
  display: block;
  width: 4px;
  height: 4px;
  border-radius: 9999px;
  background: #1c3f94;
  flex-shrink: 0;
  margin-top: 7px;
}

/* ---- Danger note variant ---- */
.arc-note--danger { background: #fef2f2; margin-bottom: 20px; }
.arc-note--danger .arc-note__title { color: #991b1b; }
.arc-note__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.arc-note__list-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 16px;
  color: #7f1d1d;
  line-height: 1.5;
}
.arc-note__list-item::before {
  content: '';
  display: block;
  width: 4px;
  height: 4px;
  border-radius: 9999px;
  background: #ef4444;
  flex-shrink: 0;
  margin-top: 7px;
}

/* ---- Section bottom CTA ---- */
.arc-section-cta {
  background: linear-gradient(90deg, #eff6ff 0%, #dbeafe 100%);
  border: 1px solid #bfdbfe;
  border-radius: 16px;
  padding: 32px;
  margin-bottom: 24px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.arc-section-cta__heading {
  font-size: 20px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 12px;
}
.arc-section-cta__desc {
  font-size: 16px;
  color: #374151;
  margin: 0 0 24px;
  line-height: 1.7;
}
.arc-section-cta__btn-wrap {
  width: 100%;
  display: flex;
  justify-content: center;
}
.arc-section-cta__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 64px;
  padding: 0 48px;
  border-radius: 16px;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  background: #1c3f94;
  color: #fff;
  transition: opacity .15s;
}
.arc-section-cta__btn:hover { opacity: .88; }
.arc-section-cta__btn-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

/* ---- Certificate example ---- */
.arc-cert-example {
  background: #fff;
  border: 2px solid #1c3f94;
  border-radius: 16px;
  padding: 26px;
  margin-bottom: 16px;
}
.arc-cert-example__heading {
  color: #1c3f94;
  font-size: 16px;
  font-weight: 700;
  line-height: 24px;
  margin-bottom: 24px;
}
.arc-cert-example__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  row-gap: 16px;
}
.arc-cert-example__item {
  display: flex;
  gap: 16px;
}
.arc-cert-example__label {
  font-size: 14px;
  line-height: 21px;
  color: #6b7280;
  white-space: nowrap;
  flex-shrink: 0;
}
.arc-cert-example__value {
  font-size: 14px;
  line-height: 21px;
  font-weight: 500;
  color: #111827;
}

/* ---- Media cards (section 4) ---- */
.arc-media-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 24px;
}
.arc-media-card {
  padding: 24px 18px;
  text-align: center;
  border-radius: 16px;
  border: 0.625px solid #E5E7EB;
  background: #F9FAFB;
}
.arc-media-card__icon-wrap {
  width: 56px;
  height: 56px;
  margin: 0 auto 14px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.arc-media-card__icon-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.arc-media-card__title {
  font-size: 16px;
  font-weight: 700;
  color: var(--arc-text);
  margin: 0 0 8px;
}
.arc-media-card__desc {
  font-size: 13px;
  line-height: 1.65;
  color: var(--arc-text-sub);
  margin: 0;
}

/* ==========================================================================
   SIDEBAR
   ========================================================================== */
.arc-sidebar {
  width: 320px;
  flex-shrink: 0;
  animation: arc-sidebar-in .4s ease both;
}
@keyframes arc-sidebar-in {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}
/* kept for backwards-compat in case JS adds the class */
.arc-sidebar--visible { opacity: 1; }
.arc-sidebar__sticky {
  position: sticky;
  top: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* Sidebar cards */
.arc-sidebar-card {
  background: #fff;
  border-radius: 14px;
  padding: 20px 18px;
  box-shadow: 0 1px 4px rgba(0,0,0,.07);
}
.arc-sidebar-card--gray {
  background: #f8fafc;
  border: 1px solid var(--arc-border);
  box-shadow: none;
}
.arc-sidebar-card--navy {
  background: linear-gradient(167.6deg, var(--arc-primary) 0%, var(--arc-primary-d) 100%);
  color: #fff;
}
.arc-sidebar-card__heading {
  font-size: 15px;
  font-weight: 700;
  margin: 0 0 14px;
  border-bottom: 0.625px solid #E5E7EB;
}
.arc-sidebar-card__heading--plain {
  border-left: none;
  padding-left: 0;
}
.arc-sidebar-card__heading--white {
  color: #fff;
  border-left-color: rgba(255,255,255,.6);
}

/* TOC list */
.arc-toc__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.arc-toc__item {
  border-bottom: 1px solid var(--arc-border);
}
.arc-toc__item:last-child { border-bottom: none; }
.arc-toc__link {
  display: block;
  padding: 8px 0;
  font-size: 13px;
  color: #6B7280;
  text-decoration: none;
  transition: color .15s, padding-left .15s;
}
.arc-toc__link:hover,
.arc-toc__link--active {
  color: var(--arc-primary);
  padding-left: 6px;
  font-weight: 600;
}

/* Criteria list */
.arc-criteria-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.arc-criteria-list__item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: var(--arc-text-sub);
}
.arc-criteria-list__item a:hover { color: var(--arc-primary); }
.arc-criteria-list__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--arc-primary);
  flex-shrink: 0;
  color: #374151;
}

/* Sidebar service links */
.arc-sidebar-services {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.arc-sidebar-service {
  display: block;
  text-decoration: none;
  background: #fff;
  border: 1px solid var(--arc-border);
  border-radius: 10px;
  padding: 12px 14px;
  transition: border-color .15s, box-shadow .15s;
}
.arc-sidebar-service:hover {
  border-color: var(--arc-primary);
  box-shadow: 0 0 0 2px rgba(28,63,148,.08);
}
.arc-sidebar-service__title {
  color: #111827;
  font-size: 13px;
  font-weight: 700;
  margin: 0 0 3px;
}
.arc-sidebar-service__desc {
  font-size: 12px;
  color: var(--arc-muted);
  margin: 0;
}

/* Sidebar CTA (navy card) */
.arc-sidebar-cta__desc {
  font-size: 13px;
  line-height: 1.7;
  color: rgba(255,255,255,.9);
  margin: 0 0 16px;
}
.arc-sidebar-cta__buttons {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.arc-sidebar-cta__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 44px;
  border-radius: 16px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: opacity .15s, transform .15s;
}
.arc-sidebar-cta__btn:hover { transform: translateY(-1px); opacity: .92; }
.arc-sidebar-cta__btn--white {
  background: #fff;
  color: var(--arc-primary);
}
.arc-sidebar-cta__btn--outline-white {
  background: transparent;
  color: #fff;
  border: 1.5px solid rgba(255,255,255,.7);
}
.arc-sidebar-cta__btn-icon {
  width: 18px;
  height: 18px;
  display: block;
}

/* ==========================================================================
   FAQ
   ========================================================================== */
.arc-faq {
  background: #F9FAFB;
  padding: 64px 0;
}
.arc-faq__inner {
  max-width: var(--arc-max-w);
  margin: var(--arc-container);
  padding: var(--arc-pad);
}
.arc-faq__heading {
  color: #111827;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 28px;
  font-style: normal;
  font-weight: 700;
  line-height: 40.001px; /* 142.86% */
  margin: 0 0 28px;
}
.arc-faq__list {
  display: flex;
  flex-direction: column;
  gap: 0;
  border-top: 1px solid var(--arc-border);
}
.arc-faq__item {
  border-bottom: 1px solid var(--arc-border);
}
.arc-faq__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 20px 0;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 15px;
  font-weight: 600;
  color: var(--arc-text);
  text-align: left;
  gap: 16px;
}
.arc-faq__question:hover { color: var(--arc-primary); }
.arc-faq__chevron {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  transition: transform .3s ease;
}
.arc-faq__answer {
  font-size: 14px;
  line-height: 1.8;
  color: var(--arc-text-sub);
  padding: 0 0 20px;
  max-height: 0;
  overflow: hidden;
  transition: max-height .3s ease;
}
.arc-faq__answer[hidden] {
  display: block !important; /* override browser hidden; JS controls max-height */
}
.arc-faq__answer p { margin: 0; }

/* ==========================================================================
   SUMMARY
   ========================================================================== */
.arc-summary {
  padding: 64px 0;
}
.arc-summary__inner {
  max-width: var(--arc-max-w);
  margin: var(--arc-container);
  padding: var(--arc-pad);
}
.arc-summary__heading {
  font-size: 24px;
  font-weight: 700;
  color: var(--arc-text);
  margin: 0 0 28px;
  border-left: 4px solid var(--arc-primary);
  padding-left: 16px;
}

.arc-summary__intro-title {
  color: #111827;
  font-size: 20px;
  font-weight: 700;
  line-height: 32px; /* 160% */
}
.arc-summary__intro-text {
  font-size: 14px;
  line-height: 1.8;
  color: var(--arc-text-sub);
  margin: 0;
}

/* Summary check icon */
.arc-summary-check {
  display: flex;
  align-items: center;
  gap: 8px;
}
.arc-summary-check__icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

/* Summary CTA box */
.arc-summary__cta-box {
  background: var(--arc-bg-blue);
  border-radius: 16px;
  padding: 36px 32px;
  margin-top: 28px;
}
.arc-summary__cta-title {
  font-size: 18px;
  font-weight: 700;
  color: var(--arc-text);
  margin: 0 0 12px;
}
.arc-summary__cta-text {
  font-size: 16px;
  line-height: 1.75;
  color: var(--arc-text-sub);
  margin: 0 0 24px;
}
.arc-summary__cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 52px;
  padding: 32px;
  border-radius: 16px;
  background: var(--arc-primary);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  transition: background .2s, transform .15s;
}
.arc-summary__cta-btn:hover {
  background: var(--arc-primary-d);
  transform: translateY(-1px);
}
.arc-summary__cta-btn-icon {
  width: 20px;
  height: 20px;
}

/* ==========================================================================
   RELATED SERVICES
   ========================================================================== */
.arc-related {
  background: #fff;
  padding: 64px 0;
  border-top: 1px solid var(--arc-border);
}
.arc-related__inner {
  max-width: var(--arc-max-w);
  margin: var(--arc-container);
  padding: var(--arc-pad);
}
.arc-related__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.arc-related__card {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--arc-border);
  border-radius: 14px;
  padding: 24px 20px;
  text-decoration: none;
  background: #fff;
  transition: border-color .15s, box-shadow .15s;
}
.arc-related__card:hover {
  border-color: var(--arc-primary);
  box-shadow: 0 4px 16px rgba(28,63,148,.1);
}
.arc-related__card-title {
  font-size: 20px;
  font-weight: 700;
  color: var(--arc-text);
  margin: 0 0 10px;
}
.arc-related__card-desc {
  font-size: 16px;
  line-height: 1.7;
  color: var(--arc-text-sub);
  flex: 1;
  margin: 0 0 16px;
}
.arc-related__card-more {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 16px;
  font-weight: 600;
  color: var(--arc-primary);
}
.arc-related__card-arrow {
  width: 16px;
  height: 16px;
}

/* ==========================================================================
   FINAL CTA
   ========================================================================== */
.arc-final-cta {
  background: linear-gradient(167.6deg, var(--arc-primary) 0%, var(--arc-primary-d) 100%);
  padding: 80px 0;
}
.arc-final-cta__inner {
  max-width: var(--arc-max-w);
  margin: var(--arc-container);
  padding: var(--arc-pad);
  text-align: center;
}
.arc-final-cta__heading {
  font-size: clamp(22px, 2.5vw, 28px);
  font-weight: 700;
  color: #fff;
  margin: 0 0 20px;
}
.arc-final-cta__desc {
  font-size: 15px;
  line-height: 1.8;
  color: rgba(255,255,255,.9);
  margin: 0 0 36px;
}
.arc-final-cta__buttons {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px;
}
.arc-final-cta__btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 56px;
  padding: 0 32px;
  border-radius: 16px;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  transition: opacity .15s, transform .15s;
}
.arc-final-cta__btn:hover { transform: translateY(-1px); opacity: .9; }
.arc-final-cta__btn--white {
  background: #fff;
  color: var(--arc-primary);
}
.arc-final-cta__btn--outline-white {
  background: transparent;
  color: #fff;
  border: 1.5px solid rgba(255,255,255,.75);
}
.arc-final-cta__btn-icon {
  width: 20px;
  height: 20px;
  display: block;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 1024px) {
  .arc-layout__inner {
    gap: 28px;
  }
  .arc-sidebar {
    width: 280px;
  }
}

@media (max-width: 900px) {
  /* Stack layout vertically, hide sidebar */
  .arc-layout__inner {
    flex-direction: column;
  }
  .arc-sidebar {
    display: none;
  }
  .arc-use-cards,
  .arc-media-cards {
    grid-template-columns: repeat(2, 1fr);
  }
  .arc-case-cards {
    grid-template-columns: repeat(2, 1fr);
  }
  .arc-related__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .arc-hero { padding: 40px 0 36px; }
  .arc-hero__title { font-size: 22px; }
  .arc-hero__cta-row { flex-direction: column; }
  .arc-hero__cta-btn { width: 100%; justify-content: center; }
  /*.arc-section { padding: 28px 20px; }*/
  .arc-section__h2 { font-size: 17px; }
  .arc-use-cards,
  .arc-media-cards,
  .arc-case-cards { grid-template-columns: 1fr; }
  .arc-related__grid { grid-template-columns: 1fr; }
  .arc-summary__cta-box { padding: 24px 18px; }
  .arc-summary__cta-btn { width: 100%; justify-content: center; }
  .arc-final-cta { padding: 56px 0; }
  .arc-final-cta__buttons { flex-direction: column; }
  .arc-final-cta__btn { width: 100%; justify-content: center; }
  .arc-faq__heading { font-size: 20px; }
  .arc-cert-example__grid { grid-template-columns: 1fr; row-gap: 12px; }
  .arc-criterion { padding: 20px 16px; }
}

/* ==========================================================================
   GUIDE SIDEBAR OVERRIDES & NEW CARDS (arc-guide-sidebar)
   ========================================================================== */

/* Card gap: 24px for guide sidebar */
.arc-guide-sidebar .arc-sidebar__sticky {
  gap: 24px;
}

/* TOC card: border + 16px radius + 24px padding */
.arc-guide-sidebar .arc-sidebar-card {
  border: 0.625px solid #e5e7eb;
  border-radius: 16px;
  padding: 24px;
  box-shadow: none;
}
.arc-guide-sidebar .arc-sidebar-card__heading {
  font-size: 20px;
  color: #1a2e4a;
  border-bottom: none;
  margin-bottom: 16px;
  padding-bottom: 0;
}

/* TOC list: no border-bottom, 8px gap, rounded links */
.arc-guide-sidebar .arc-toc__list {
  gap: 8px;
}
.arc-guide-sidebar .arc-toc__item {
  border-bottom: none;
}
.arc-guide-sidebar .arc-toc__link {
  padding: 8px 12px;
  border-radius: 4px;
  font-size: 14px;
  color: #4a5568;
  line-height: 1.71;
}
.arc-guide-sidebar .arc-toc__link:hover {
  background: #f5f7fa;
  color: #1e6fbf;
  padding-left: 12px;
  font-weight: 400;
}
.arc-guide-sidebar .arc-toc__link--active,
.arc-guide-sidebar .arc-toc__link--current {
  border-radius: 4px;
  padding-left: 14px;
  margin-left: 0;
  color: #1e6fbf;
  font-weight: 700;
}
.arc-guide-sidebar .arc-toc__link--current {
  background: #eff6ff;
}
/* Warning card */
.arc-guide-sidebar-warn {
  background: #fee2e2;
  border: 0.625px solid #dc2626;
  border-radius: 16px;
  padding: 24px;
}
.arc-guide-sidebar-warn__header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}
.arc-guide-sidebar-warn__icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  display: block;
}
.arc-guide-sidebar-warn__title {
  font-size: 20px;
  font-weight: 700;
  color: #991b1b;
  margin: 0;
  line-height: 1.6;
}
.arc-guide-sidebar-warn__text {
  font-size: 14px;
  line-height: 1.71;
  color: #991b1b;
  margin: 0;
}

/* Manual link card */
.arc-guide-sidebar-manual {
  background: #fff;
  border: 0.625px solid #e5e7eb;
  border-radius: 16px;
  padding: 24px;
}
.arc-guide-sidebar-manual__heading {
  font-size: 16px;
  font-weight: 700;
  color: #1a2e4a;
  margin: 0 0 12px;
  padding-bottom: 12px;
  border-bottom: 0.625px solid #e5e7eb;
  line-height: 1.75;
}
.arc-guide-sidebar-manual__link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 14px;
  color: #1e6fbf;
  text-decoration: none;
  line-height: 1.71;
}
.arc-guide-sidebar-manual__link:hover { text-decoration: underline; }
.arc-guide-sidebar-manual__icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  display: block;
}

/* ==========================================================================
   GUIDE ARTICLE: UEFI Quick Guide (arc-guide-*)
   ========================================================================== */

/* Numbered step heading */
.arc-guide-step {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 0 0 24px;
}
.arc-guide-step__num {
  width: 48px;
  height: 48px;
  border-radius: 9999px;
  background: #1e6fbf;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.arc-guide-step__title {
  font-size: 28px;
  font-weight: 700;
  color: #1a2e4a;
  line-height: 1.43;
  margin: 0;
}

/* Body paragraphs */
.arc-guide-p {
  font-size: 16px;
  line-height: 1.75;
  color: #4a5568;
  margin: 0 0 16px;
}
.arc-guide-p:last-child { margin-bottom: 0; }

.arc-guide-p a{
  text-decoration: underline;
}

.arc-guide-p a:hover {
  color: #1e6fbf;
  flex-shrink: 0;
  /*display: block;*/
}


/* Screenshot image box */
.arc-guide-img {
  background: #f4f6f8;
  border-radius: 16px;
  padding: 16px;
  margin: 24px 0;
}
.arc-guide-img__img {
  display: block;
  border: 1px solid #e5e7eb;
  border-radius: 4px;
}
.arc-guide-img__caption {
  text-align: center;
  font-size: 14px;
  color: #6b7280;
  margin: 12px 0 0;
}

/* Blue info note */
.arc-note--info {
  background: #eff6ff;
  padding: 16px 24px 16px 24px;
  margin: 0 0 24px;
}
.arc-note--info .arc-note__text { color: #1e3a8a; }

/* Red caution note (destructive action warning) */
.arc-note--caution {
  background: #fee2e2;
  margin: 0 0 24px;
}
.arc-note--caution .arc-note__title { color: #991b1b; }
.arc-note--caution .arc-note__text { color: #7f1d1d; font-weight: 700; }

/* TOC current-page highlight (always visible, not IntersectionObserver driven) */
/*.arc-toc__link--current {
  background: #eff6ff;
  border-radius: 4px;
  padding-left: 12px;
  color: #1e6fbf;
  font-weight: 700;
}*/
.arc-toc__link--current:hover { color: #1e6fbf; padding-left: 12px; }

/* Intro overview box */
.arc-guide-intro {
  background: #f4f6f8;
  border-radius: 16px;
  padding: 24px;
  margin-bottom: 0;
}
.arc-guide-intro__header {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-bottom: 16px;
}
.arc-guide-intro__icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  margin-top: 3px;
}
.arc-guide-intro__text {
  font-size: 16px;
  line-height: 1.75;
  color: #374151;
  margin: 0;
}
.arc-guide-intro__steps {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.arc-guide-intro__step-item {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 16px;
  color: #374151;
}
.arc-guide-intro__step-num {
  width: 24px;
  height: 24px;
  border-radius: 9999px;
  background: #1e6fbf;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.arc-guide-intro__note {
  font-size: 14px;
  color: #6b7280;
  margin: 0;
}
@media (max-width: 1280px) {
  .arc-guide-img__img {
    max-width: stretch;width: 100%;}
  }
@media (max-width: 600px) {
  .arc-guide-step { gap: 12px; }
  .arc-guide-step__title { font-size: 20px; }
  .arc-guide-step__num { width: 40px; height: 40px; font-size: 18px; }
}

/* ==========================================================================
   END arc-* styles
   ========================================================================== */
.dataerasure-btn--ghost:hover {
  background: #f9fafb;
  transform: translateY(-1px);
}

/* Hamburger */
.dataerasure-hamburger {
  display: none;
  flex-direction: column;
  justify-content: flex-start;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  width: 36px;
  height: 36px;
}

.dataerasure-hamburger__bar {
  display: block;
  width: 20px;
  height: 2px;
  background: #374151;
  border-radius: 2px;
  transition: transform 0.2s, opacity 0.2s;
}

.dataerasure-hamburger--open .dataerasure-hamburger__bar:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.dataerasure-hamburger--open .dataerasure-hamburger__bar:nth-child(2) {
  opacity: 0;
}
.dataerasure-hamburger--open .dataerasure-hamburger__bar:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

/* Mobile menu (full-screen overlay) */
.dataerasure-mobile-menu {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 300;
  background: #fff;
  flex-direction: column;
  overflow-y: auto;
  visibility: visible;
  pointer-events: auto;
}

.dataerasure-mobile-menu--open {
  display: flex;
}

.dataerasure-mobile-menu__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  height: 80px;
  flex-shrink: 0;
  position: relative;
  box-shadow: 0px 1px 1.5px rgba(0, 0, 0, 0.1);
}

.dataerasure-mobile-menu__header::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 0.625px;
  background: #e5e7eb;
}

.dataerasure-mobile-menu__close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background: none;
  border: none;
  cursor: pointer;
  color: #374151;
  border-radius: 16px;
  flex-shrink: 0;
}

.dataerasure-mobile-nav {
  display: flex;
  flex-direction: column;
  padding: 24px 16px;
  flex: 1;
}

.dataerasure-mobile-nav__item {
  display: flex;
  flex-direction: column;
  border-bottom: 0.625px solid #e5e7eb;
}

.dataerasure-mobile-nav__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 16px;
  height: 60px;
  background: none;
  border: none;
  outline: none;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #111827;
  cursor: pointer;
  text-align: left;
  width: 100%;
}

.dataerasure-mobile-nav__chevron {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.dataerasure-mobile-nav__toggle[aria-expanded="true"] .dataerasure-mobile-nav__chevron {
  transform: rotate(180deg);
}

.dataerasure-mobile-nav__sub {
  display: none;
  flex-direction: column;
  gap: 8px;
  background: #f9fafb;
  border-radius: 16px;
  padding: 16px;
  margin-bottom: 8px;
}

.dataerasure-mobile-nav__toggle[aria-expanded="true"] + .dataerasure-mobile-nav__sub {
  display: flex;
}

.dataerasure-mobile-nav__sub-link {
  display: flex;
  align-items: center;
  height: 60px;
  padding: 16px;
  border-radius: 4px;
  font-size: 16px;
  font-weight: 400;
  color: #111827;
  text-decoration: none;
  transition: background 0.15s;
}

.dataerasure-mobile-nav__sub-link:hover {
  background: rgba(255, 255, 255, 0.7);

}

.dataerasure-mobile-nav__link {
  display: flex;
  align-items: center;
  height: 68px;
  padding: 0 16px;
  font-size: 16px;
  font-weight: 700;
  color: #111827;
  text-decoration: none;
  border-bottom: 0.625px solid #e5e7eb;
}

.dataerasure-mobile-menu__cta {
  padding: 24px 16px;
}

.dataerasure-btn--mobile-cta {
  width: 100%;
  height: 76px;
  border-radius: 16px;
  font-size: 16px;
  font-weight: 700;
  justify-content: center;
  box-shadow: 0px 4px 3px rgba(0, 0, 0, 0.1);
}

/* Responsive */
@media (max-width: 1024px) {
  .dataerasure-header__nav,
  .dataerasure-header__cta {
    display: none;
  }
  .dataerasure-hamburger {
    display: flex;
  }
  .dataerasure-header__inner {
    padding: 12px 16px;
    gap: 0;
  }
}


/* Feature card row */
.feat-row {
  display: flex;
  gap: 36px;
  align-items: center;
  width: 100%;
  justify-content: center;
  margin-bottom: 40px;
}

/* Feature card */
.feat-card {
  position: relative;
  background: #f4f6f8;
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 4px 8px rgba(0,0,0,0.18);
  border-radius: 12px;
  width: 400px;
  min-height: 267px;
  padding: 23px;
  overflow: visible;
  flex-shrink: 0;
}

.feat-card-bar {
  position: absolute;
  top: -1px;
  left: 10px;
  right: 10px;
  height: 2px;
  border-radius: 2px;
}

.feat-card-ellipse {
  position: absolute;
  top: -17px;
  right: -1px;
  width: 80px;
  height: 80px;
  pointer-events: none;
}

.feat-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 14px;
}
@media (max-width: 900px) {
  .feat-row {
    flex-direction: column;
    gap: 28px;
  }
  .feat-card {
    width: 100%;
  }
  .feat-10plus-arrow{
    flex: unset;
    flex-basis: 40px !important;
    margin: auto;
  }
  .feat-10plus-arrow img{
    transform: rotate(90deg);
  }
  .license-table, .indiv-cards {
    flex-direction: column;
  }
}

/* Icon box */
.icon-box {
  width: 48px;
  height: 48px;
  border-radius: 10px;
  border: 1px solid;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  flex-shrink: 0;
}

.icon-box--blue   { background: rgba(50,132,255,0.13);  border-color: rgba(50,132,255,0.28); }
.icon-box--cyan   { background: rgba(36,202,226,0.13);  border-color: rgba(36,202,226,0.28); }
.icon-box--amber  { background: rgba(255,183,61,0.13);  border-color: rgba(255,183,61,0.28); }
.icon-box--purple { background: rgba(155,96,255,0.13);  border-color: rgba(155,96,255,0.28); }
.icon-box--green  { background: rgba(56,222,158,0.13);  border-color: rgba(56,222,158,0.28); }
.icon-box--indigo { background: rgba(122,125,255,0.13); border-color: rgba(122,125,255,0.28); }

.icon-img {
  width: 24px;
  height: 24px;
  display: block;
}

/* Feature tag */
.feat-tag {
  display: inline-flex;
  align-items: center;
  padding: 3px 7px;
  border-radius: 4px;
  font-family: 'Inter', sans-serif;
  font-size: 9px;
  font-weight: 500;
  white-space: nowrap;
}

.feat-tag--blue   { background: rgba(50,132,255,0.1);  color: #3284ff; }
.feat-tag--cyan   { background: rgba(36,202,226,0.1);  color: #24cae2; }
.feat-tag--amber  { background: rgba(255,183,61,0.1);  color: #ffb73d; }
.feat-tag--purple { background: rgba(155,96,255,0.1);  color: #9b60ff; }
.feat-tag--green  { background: rgba(56,222,158,0.1);  color: #38de9e; }
.feat-tag--indigo { background: rgba(122,125,255,0.1); color: #7a7dff; }

/* Feature number */
.feat-num {
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  font-weight: 700;
  margin-bottom: 6px;
}

/* Feature title */
.feat-title {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 24px;
  color: #0e1932;
  margin-bottom: 14px;
}

/* Divider */
.feat-divider {
  height: 1px;
  background: #0e1932;
  margin-bottom: 18px;
}

/* Feature description */
.feat-desc-text {
  font-size: 16px;
  font-weight: 400;
  line-height: 28px;
  color: #0e1932;
}


/* =============================================
   Section 2: Lineup (料金)
   ============================================= */
.lineup-section {
  background: #fff;
  display: flex;
  gap: 60px;
  padding: 90px 80px;
  max-width: 1440px;
  margin: 0 auto;
}

/* Left column */
.lineup-left {
  flex: 0 0 476px;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.lineup-left .pill-badge {
  margin-bottom: 20px;
  align-self: flex-start;
}

.lineup-left .section-h2 {
  margin-bottom: 20px;
}

.lineup-desc {
  font-size: 16px;
  line-height: 28px;
  color: #374151;
  margin-bottom: 32px;
}

.lineup-bullets {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: 32px;
}

.lineup-bullets li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 16px 0;
  font-size: 16px;
  line-height: 28px;
  color: #121b30;
}

.lineup-bullets li::before {
  content: '';
  display: block;
  width: 6px;
  height: 6px;
  background: #121b30;
  border-radius: 3px;
  margin-top: 11px;
  flex-shrink: 0;
}

.download-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #121b30;
  border: 1px solid rgba(50,132,255,0.35);
  border-radius: 8px;
  padding: 12px 24px;
  color: #fff;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  white-space: nowrap;
  align-self: flex-start;
}

.download-btn span {
  font-weight: 400;
}

/* Right column */
.lineup-right {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.lineup-category-label {
  font-size: 16px;
  font-weight: 400;
  color: #617094;
  margin-top: 20px;
}

/* Individual cards */
.indiv-cards {
  display: flex;
  gap: 16px;
}

.indiv-card {
  position: relative;
  background: #f4f6f8;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 12px;
  flex: 1;
  min-height: 124px;
  padding: 16px 19px 19px;
  overflow: visible;
}

.indiv-card-bar {
  position: absolute;
  top: -1px;
  left: 10px;
  right: 10px;
  height: 2px;
  border-radius: 2px;
}

.indiv-card-ellipse {
  position: absolute;
  top: -16px;
  right: -1px;
  width: 80px;
  height: 80px;
  pointer-events: none;
}

.indiv-tag {
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  border-radius: 4px;
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
  margin-bottom: 4px;
}

.indiv-tag--cyan { background: rgba(36,202,226,0.12); color: #24cae2; }
.indiv-tag--blue { background: rgba(50,132,255,0.12); color: #3284ff; }

.indiv-card-title {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: #121b30;
}

.indiv-card-price {
  display: flex;
  align-items: baseline;
  gap: 2px;
  margin-bottom: 6px;
}

.price-num {
  font-family: 'Inter', sans-serif;
  font-size: 28px;
  font-weight: 700;
  color: #121b30;
}

.price-unit {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 12px;
  font-weight: 400;
  color: #121b30;
}

.indiv-card-note {
  font-size: 14px;
  color: #121b30;
}

.indiv-footnote {
  font-size: 14px;
  line-height: 20px;
  color: #617094;
  margin-top: -4px;
}

/* License card */
.license-card {
  position: relative;
  background: #f4f6f8;
  border: 1px solid rgba(50,132,255,0.18);
  box-shadow: 0 4px 8px rgba(0,0,0,0.14);
  border-radius: 12px;
  padding: 19px 23px 23px;
  overflow: visible;
}

.license-card-bar,
.unlimited-card-bar {
  position: absolute;
  top: -1px;
  left: 11px;
  right: 10px;
  height: 2px;
  border-radius: 2px;
}

.license-card-ellipse {
  position: absolute;
  top: -41px;
  right: -1px;
  width: 120px;
  height: 120px;
  pointer-events: none;
}

.license-card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.license-card-header-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.license-card-title {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: #121b30;
}

.license-card-sub {
  font-size: 14px;
  color: #617094;
}

.license-tag {
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  border-radius: 4px;
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
  flex-shrink: 0;
}

.license-tag--blue   { background: rgba(50,132,255,0.12);  color: #3284ff; }
.license-tag--purple { background: rgba(155,96,255,0.12); color: #9b60ff; }

.license-divider {
  height: 1px;
  background: rgba(255,255,255,0.09);
  margin-bottom: 12px;
}

/* License table (2 columns) */
.license-table {
  display: flex;
  gap: 18px;
}

.license-col {
  flex: 1;
  border-right: 1px solid rgba(18,27,48,0.06);
}

.license-col:last-child {
  border-right: none;
}

.license-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 12px;
  padding: 5px 10px 5px 10px;
  height: 26px;
}

.license-row--shaded {
  background: rgba(18,27,48,0.1);
  border-radius: 2px;
}

.license-range {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: #617094;
}

.license-row--shaded .license-range {
  color: #374151;
}

.license-col:first-child .license-row:not(:first-child) .license-range {
  color: #374151;
}

.license-price {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: #151f37;
}

/* Unlimited card */
.unlimited-card {
  position: relative;
  background: #f4f6f8;
  border: 1px solid rgba(155,96,255,0.22);
  box-shadow: 0 4px 7px rgba(0,0,0,0.12);
  border-radius: 12px;
  margin-top: 40px;
  padding: 19px 23px 23px;
  overflow: visible;
}

.unlimited-table {
  display: flex;
  flex-direction: column;
}

.unlimited-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 12px;
  padding: 5px 10px;
  height: 24px;
}

.unlimited-row--shaded {
  background: rgba(18,27,48,0.1);
  border-radius: 2px;
}

.unlimited-label {
  font-size: 14px;
  font-weight: 400;
  color: #374151;
}

.unlimited-price {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: #151f37;
}

.unlimited-footnote {
  font-size: 14px;
  color: #617094;
  margin-top: 12px;
}

/* =============================================
   コラム カテゴリーアーカイブ
   ============================================= */

/* パンくずリスト */
.column-breadcrumb {
  background: #f9fafb;
  border-bottom: 1px solid #e5e7eb;
  padding: 16px 0;
}
.column-breadcrumb__inner {
  max-width: 1340px;
  margin: 0 auto;
  padding: 0 40px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.column-breadcrumb__link {
  font-size: 14px;
  color: #6b7280;
  text-decoration: none;
}
.column-breadcrumb__link:hover {
  text-decoration: underline;
}
.column-breadcrumb__sep {
  flex-shrink: 0;
}
.column-breadcrumb__current {
  font-size: 14px;
  color: #212121;
}

/* ヒーローセクション */
.column-hero {
  background: #1a2e4a;
  padding: 72px 40px 80px;
  text-align: center;
}
.column-hero__title {
  font-size: 40px;
  font-weight: 700;
  color: #fff;
  line-height: 1.2;
  margin: 0 0 16px;
}
.column-hero__desc {
  font-size: 16px;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.75;
  margin: 0;
}

/* アーカイブ全体 */
.column-archive {
  background: #fff;
  padding: 80px 0;
}
.column-archive__inner {
  max-width: 1064px;
  margin: 0 auto;
  padding: 0 40px;
}
.column-archive__empty {
  text-align: center;
  color: #6b7280;
  font-size: 16px;
  padding: 60px 0;
}

/* 2カラムグリッド */
.column-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

/* 記事カード */
.column-card {
  border: 2px solid #e5e7eb;
  border-radius: 16px;
  background: #fff;
  overflow: hidden;
  transition: box-shadow 0.2s;
}
.column-card:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}
.column-card__link {
  display: flex;
  flex-direction: column;
  padding: 32px;
  height: 100%;
  text-decoration: none;
  color: inherit;
}

/* バッジ＋日付行 */
.column-card__meta {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
}
.column-card__badge {
  display: inline-block;
  background: rgba(28, 63, 148, 0.1);
  color: #1c3f94;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  padding: 8px 12px;
  border-radius: 4px;
  white-space: nowrap;
}
.column-card__date-wrap {
  display: flex;
  align-items: center;
  gap: 6px;
}
.column-card__date {
  font-size: 14px;
  color: #4b5563;
}

/* タイトル */
.column-card__title {
  font-size: 20px;
  font-weight: 700;
  color: #111827;
  line-height: 1.6;
  margin: 0 0 16px;
}

/* 概要文 */
.column-card__excerpt {
  font-size: 16px;
  color: #374151;
  line-height: 1.8;
  margin: 0;
  flex: 1;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* フッター（続きを読む） */
.column-card__footer {
  border-top: 1px solid #e5e7eb;
  margin-top: 24px;
  padding-top: 12px;
  display: flex;
  justify-content: flex-end;
}
.column-card__more {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 500;
  color: #1c3f94;
}

/* ページネーション */
.column-pagination {
  margin-top: 48px;
  display: flex;
  justify-content: center;
}
.column-pagination .page-numbers {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 8px;
  align-items: center;
}
.column-pagination .page-numbers li a,
.column-pagination .page-numbers li span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 48px;
  padding: 0 12px;
  border: 2px solid #e5e7eb;
  border-radius: 4px;
  font-size: 16px;
  color: #111827;
  text-decoration: none;
  background: #fff;
  transition: background 0.15s, color 0.15s;
}
.column-pagination .page-numbers li a:hover {
  background: #f3f4f6;
}
.column-pagination .page-numbers li span.current {
  background: #1c3f94;
  border-color: #1c3f94;
  color: #fff;
  font-weight: 700;
}
.column-pagination .page-numbers li span.dots {
  border: none;
  background: transparent;
}

/* レスポンシブ */
@media (max-width: 768px) {
  .column-grid {
    grid-template-columns: 1fr;
  }
  .column-hero__title {
    font-size: 28px;
  }
  .column-archive__inner {
    padding: 0 20px;
  }
  .column-breadcrumb__inner {
    padding: 0 20px;
  }
}

.dataerasure-logo-text__ja-wt {
  color: #FFF;
font-family: "Noto Sans JP";
font-size: 16px;
font-style: normal;
font-weight: 700;
line-height: 24px; /* 150% */
}
/* =============================================
   category-column.php フッター全幅修正

   WordPress ブロック CSS:
     .is-layout-constrained > :where(:not(.alignfull))
       → max-width: var(--wp--style--global--content-size); margin: auto !important
     .is-layout-constrained > .alignwide
       → max-width: var(--wp--style--global--wide-size)
   これらがフッター要素に当たり幅が制限される。
   body.category-column 配下でこれらを直接上書きして解消。
   ============================================= */
body.category-column .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
body.category-column .is-layout-constrained > .alignwide {
  max-width: 1340px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* =============================================
   ページトップへ戻るボタン（全ページ共通・左端固定）
   ============================================= */
#page-top-btn {
  position: fixed;
  left: 24px;
  bottom: 40px;
  z-index: 9999;
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: #1c3f94;
  color: #fff;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.22);
  opacity: 0;
  pointer-events: none;
  transform: translateY(12px);
  transition: opacity 0.3s ease, transform 0.3s ease, background 0.2s ease;
}
#page-top-btn.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}
#page-top-btn:hover {
  background: #163282;
}
#page-top-btn svg {
  width: 20px;
  height: 20px;
  display: block;
}
@media (max-width: 768px) {
  #page-top-btn {
    left: 16px;
    bottom: 24px;
    width: 46px;
    height: 46px;
    border-radius: 6px;
  }
  #page-top-btn svg {
    width: 22px;
    height: 22px;
  }
}
