   /* ============================================================
       GUIDE PAGE
    ============================================================ */
    .guide-page {
      max-width: 900px;
      margin: 0 auto;
      padding: 28px 28px 80px;
    }

    /* ---- Hero ---- */
    .guide-hero {
      position: relative;
      overflow: hidden;
      background: linear-gradient(135deg, var(--sky-lt) 0%, var(--mint-lt) 100%);
      border: 1.5px solid var(--sky-mid);
      border-radius: var(--r-xl);
      padding: 36px 40px;
      margin-bottom: 52px;
    }
    .guide-hero::before {
      content: '';
      position: absolute;
      top: -40px; right: -40px;
      width: 200px; height: 200px;
      background: rgba(91,155,213,.06);
      border-radius: 50%;
      pointer-events: none;
    }
    .guide-hero::after {
      content: '';
      position: absolute;
      bottom: -30px; left: -20px;
      width: 140px; height: 140px;
      background: rgba(82,196,154,.06);
      border-radius: 50%;
      pointer-events: none;
    }
    .guide-hero-badge {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: white;
      color: var(--sky);
      font-size: 12px;
      font-weight: 700;
      padding: 4px 14px;
      border-radius: 20px;
      margin-bottom: 16px;
      box-shadow: var(--sh-sm);
    }
    .guide-hero h1 {
      font-size: 28px;
      font-weight: 800;
      color: var(--text);
      margin-bottom: 14px;
      line-height: 1.4;
    }
    .guide-hero-desc {
      font-size: 14px;
      line-height: 1.95;
      color: var(--text-2);
      max-width: 620px;
    }

    /* ---- Section ---- */
    .guide-section {
      margin-bottom: 60px;
    }
    .guide-sec-head {
      display: flex;
      align-items: center;
      gap: 14px;
      margin-bottom: 24px;
      padding-bottom: 16px;
      border-bottom: 2px solid var(--border);
    }
    .guide-sec-icon {
      width: 46px;
      height: 46px;
      border-radius: 14px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 22px;
      flex-shrink: 0;
    }
    .guide-sec-title {
      font-size: 20px;
      font-weight: 800;
      color: var(--text);
    }

    /* ---- Text Boxes ---- */
    .guide-box {
      background: var(--surface);
      border: 1.5px solid var(--border);
      border-radius: var(--r-md);
      padding: 20px 24px;
      margin-bottom: 14px;
      box-shadow: var(--sh-sm);
      font-size: 14px;
      line-height: 1.9;
      color: var(--text-2);
    }
    .guide-box p { margin-bottom: 8px; }
    .guide-box p:last-child { margin-bottom: 0; }
    .guide-box ul {
      list-style: none;
      margin: 8px 0 0;
      padding: 0;
    }
    .guide-box ul li {
      padding-left: 18px;
      position: relative;
      margin-bottom: 5px;
    }
    .guide-box ul li::before {
      content: '▶';
      position: absolute;
      left: 0;
      color: var(--sky);
      font-size: 9px;
      top: 5px;
    }
    .guide-hl {
      background: var(--sky-lt);
      border-left: 4px solid var(--sky);
      border-radius: 0 var(--r-sm) var(--r-sm) 0;
      padding: 14px 18px;
      font-size: 14px;
      line-height: 1.9;
      color: var(--text-2);
      margin-bottom: 14px;
    }
    .guide-hl strong { color: var(--sky); font-weight: 700; }
    .guide-warn {
      background: #FFFBF0;
      border: 1.5px solid var(--gold);
      border-left: 4px solid var(--gold);
      border-radius: 0 var(--r-sm) var(--r-sm) 0;
      padding: 14px 18px;
      font-size: 14px;
      line-height: 1.9;
      color: var(--text-2);
      margin-bottom: 14px;
    }
    .guide-warn strong { color: #b8860b; font-weight: 700; }

    /* ---- Step Flow ---- */
    .step-flow {
      display: flex;
      flex-direction: column;
    }
    .step-item {
      display: flex;
      gap: 0;
    }
    .step-left {
      display: flex;
      flex-direction: column;
      align-items: center;
      width: 60px;
      flex-shrink: 0;
    }
    .step-num {
      width: 46px;
      height: 46px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 17px;
      font-weight: 800;
      color: white;
      flex-shrink: 0;
      box-shadow: var(--sh-md);
    }
    .step-line {
      width: 2px;
      flex: 1;
      min-height: 24px;
      background: var(--border);
      margin: 6px 0;
    }
    .step-item:last-child .step-line {
      display: none;
    }
    .step-right {
      flex: 1;
      padding-left: 16px;
      padding-bottom: 36px;
    }
    .step-item:last-child .step-right {
      padding-bottom: 0;
    }
    .step-label {
      font-size: 10px;
      font-weight: 700;
      letter-spacing: .08em;
      color: var(--text-3);
      text-transform: uppercase;
      margin-bottom: 4px;
    }
    .step-title {
      font-size: 17px;
      font-weight: 800;
      color: var(--text);
      margin-bottom: 12px;
      line-height: 1.4;
    }
    .step-card {
      background: var(--surface);
      border: 1.5px solid var(--border);
      border-radius: var(--r-md);
      padding: 18px 20px;
      box-shadow: var(--sh-sm);
      font-size: 14px;
      line-height: 1.9;
      color: var(--text-2);
    }
    .step-card p { margin-bottom: 8px; }
    .step-card p:last-child { margin-bottom: 0; }
    .step-card ul {
      list-style: none;
      margin: 8px 0 0;
      padding: 0;
    }
    .step-card ul li {
      padding-left: 18px;
      position: relative;
      margin-bottom: 4px;
    }
    .step-card ul li::before {
      content: '•';
      position: absolute;
      left: 5px;
      font-weight: 700;
    }

    /* ---- Category Chips ---- */
    .cat-chips {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 12px;
    }
    .cat-chip {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      padding: 5px 13px;
      border-radius: 20px;
      font-size: 12px;
      font-weight: 700;
      border: 1.5px solid transparent;
    }
    .cat-chip-dot {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      flex-shrink: 0;
    }

    /* ---- Detail Badge Grid (STEP4) ---- */
    .detail-grid {
      display: flex;
      flex-wrap: wrap;
      gap: 7px;
      margin-top: 12px;
    }
    .detail-badge {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      background: var(--sky-lt);
      color: var(--sky);
      border: 1px solid var(--sky-mid);
      border-radius: var(--r-sm);
      padding: 4px 12px;
      font-size: 12px;
      font-weight: 600;
    }

    /* ---- Pricing Box ---- */
    .price-box {
      background: linear-gradient(135deg, var(--sky-lt), #fff);
      border: 2px solid var(--sky-mid);
      border-radius: var(--r-lg);
      padding: 24px 28px;
      margin-bottom: 14px;
    }
    .price-free-row {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 18px;
      padding-bottom: 18px;
      border-bottom: 1px solid var(--border);
    }
    .price-emoji { font-size: 28px; }
    .price-free-text h3 {
      font-size: 16px;
      font-weight: 800;
      color: var(--text);
      margin-bottom: 2px;
    }
    .price-free-text p {
      font-size: 13px;
      color: var(--text-2);
    }
    .price-badge-free {
      margin-left: auto;
      background: var(--mint);
      color: white;
      font-size: 13px;
      font-weight: 800;
      padding: 4px 14px;
      border-radius: 20px;
      white-space: nowrap;
    }
    .price-paid p {
      font-size: 14px;
      line-height: 1.9;
      color: var(--text-2);
      margin-bottom: 6px;
    }
    .price-paid p:last-child { margin-bottom: 0; }

    /* ---- Who Is It For ---- */
    .for-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
    }
    .for-item {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      background: var(--surface);
      border: 1.5px solid var(--border);
      border-radius: var(--r-md);
      padding: 14px 15px;
      box-shadow: var(--sh-sm);
    }
    .for-check {
      width: 24px;
      height: 24px;
      background: var(--mint-lt);
      border: 1.5px solid var(--mint);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 11px;
      font-weight: 700;
      color: var(--mint);
      flex-shrink: 0;
      margin-top: 1px;
    }
    .for-text {
      font-size: 13px;
      line-height: 1.65;
      color: var(--text-2);
    }

    /* ---- Corporate Features ---- */
    .corp-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
      margin-bottom: 14px;
    }
    .corp-item {
      display: flex;
      align-items: center;
      gap: 10px;
      background: var(--surface);
      border: 1.5px solid var(--border);
      border-radius: var(--r-sm);
      padding: 11px 14px;
      box-shadow: var(--sh-sm);
    }
    .corp-icon { font-size: 18px; flex-shrink: 0; }
    .corp-text { font-size: 13px; color: var(--text-2); font-weight: 500; }

    /* ---- History Feature Card ---- */
    .history-card {
      background: linear-gradient(135deg, var(--lav-lt), #fff);
      border: 1.5px solid #d4c8f0;
      border-radius: var(--r-md);
      padding: 20px 24px;
      margin-bottom: 14px;
    }
    .history-card-head {
      display: flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 12px;
    }
    .history-card-icon { font-size: 26px; }
    .history-card-title { font-size: 15px; font-weight: 700; color: var(--text); }
    .history-card-body {
      font-size: 14px;
      line-height: 1.9;
      color: var(--text-2);
    }
    .history-card-body p { margin-bottom: 8px; }
    .history-card-body p:last-child { margin-bottom: 0; }
    .history-card-body ul {
      list-style: none;
      margin: 6px 0 8px;
      padding: 0;
    }
    .history-card-body ul li {
      padding-left: 18px;
      position: relative;
      margin-bottom: 4px;
    }
    .history-card-body ul li::before {
      content: '›';
      position: absolute;
      left: 4px;
      color: var(--lavender);
      font-weight: 700;
      font-size: 16px;
      top: -1px;
    }

    /* ---- FAQ ---- */
    .faq-list {
      display: flex;
      flex-direction: column;
      gap: 14px;
    }
    .faq-item {
      background: var(--surface);
      border: 1.5px solid var(--border);
      border-radius: var(--r-md);
      overflow: hidden;
      box-shadow: var(--sh-sm);
    }
    .faq-q {
      background: var(--sky-lt);
      border-bottom: 1px solid var(--sky-mid);
      padding: 14px 18px;
      display: flex;
      align-items: flex-start;
      gap: 10px;
    }
    .faq-q-badge {
      background: var(--sky);
      color: white;
      font-size: 11px;
      font-weight: 800;
      padding: 2px 8px;
      border-radius: 6px;
      flex-shrink: 0;
      margin-top: 2px;
    }
    .faq-q-text {
      font-size: 14px;
      font-weight: 700;
      color: var(--text);
      line-height: 1.6;
    }
    .faq-a {
      padding: 14px 18px;
      display: flex;
      align-items: flex-start;
      gap: 10px;
    }
    .faq-a-badge {
      background: var(--mint);
      color: white;
      font-size: 11px;
      font-weight: 800;
      padding: 2px 8px;
      border-radius: 6px;
      flex-shrink: 0;
      margin-top: 2px;
    }
    .faq-a-text {
      font-size: 14px;
      line-height: 1.85;
      color: var(--text-2);
    }

    /* ---- Notes Section ---- */
    .guide-notes-box {
      background: #FFFBF0;
      border: 1.5px solid var(--gold);
      border-radius: var(--r-md);
      padding: 20px 24px;
      box-shadow: var(--sh-sm);
    }
    .guide-notes-box p {
      font-size: 14px;
      line-height: 1.9;
      color: var(--text-2);
      margin-bottom: 10px;
    }
    .guide-notes-box p:last-child { margin-bottom: 0; }
    .guide-notes-box strong { color: #b8860b; font-weight: 700; }

    /* ---- Related Links ---- */
    .guide-links {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
      margin-top: 14px;
    }
    .guide-link-btn {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: var(--surface);
      border: 1.5px solid var(--border);
      border-radius: 20px;
      padding: 7px 18px;
      font-size: 13px;
      font-weight: 600;
      color: var(--sky);
      text-decoration: none;
      box-shadow: var(--sh-sm);
      transition: background .2s, border-color .2s;
    }
    .guide-link-btn:hover {
      background: var(--sky-lt);
      border-color: var(--sky-mid);
    }

    /* ---- Responsive ---- */
    @media (max-width: 640px) {
      .guide-page { padding: 20px 16px 60px; }
      .guide-hero { padding: 24px 20px; }
      .guide-hero h1 { font-size: 22px; }
      .guide-sec-title { font-size: 17px; }
      .guide-sec-icon { width: 38px; height: 38px; font-size: 18px; }
      .for-grid { grid-template-columns: 1fr; }
      .corp-grid { grid-template-columns: 1fr; }
      .price-badge-free { margin-left: 0; margin-top: 8px; }
      .price-free-row { flex-wrap: wrap; }
      .step-num { width: 38px; height: 38px; font-size: 15px; }
      .step-left { width: 50px; }
    }


    /***利用規約***/
     .kiyaku-page {
      max-width: 860px;
      margin: 0 auto;
      padding: 28px 28px 80px;
    }
    .kiyaku-page h1 {
      font-size: 24px;
      font-weight: 800;
      color: var(--text);
      margin-bottom: 24px;
      padding-bottom: 16px;
      border-bottom: 2.5px solid var(--sky-mid);
    }
    .kiyaku-intro {
      font-size: 14px;
      line-height: 1.9;
      color: var(--text-2);
      margin-bottom: 40px;
      background: var(--sky-lt);
      border-left: 4px solid var(--sky);
      border-radius: 0 var(--r-sm) var(--r-sm) 0;
      padding: 16px 20px;
    }
    .kiyaku-intro p { margin-bottom: 6px; }
    .kiyaku-intro p:last-child { margin-bottom: 0; }
    .kiyaku-article {
      margin-bottom: 36px;
    }
    .kiyaku-article h2 {
      font-size: 15px;
      font-weight: 700;
      color: var(--sky);
      background: var(--sky-lt);
      border-left: 4px solid var(--sky);
      padding: 8px 14px;
      border-radius: 0 var(--r-sm) var(--r-sm) 0;
      margin-bottom: 14px;
    }
    .kiyaku-article p {
      font-size: 14px;
      line-height: 1.9;
      color: var(--text-2);
      margin-bottom: 10px;
    }
    .kiyaku-article p:last-child { margin-bottom: 0; }
    .kiyaku-article ul {
      font-size: 14px;
      line-height: 1.9;
      color: var(--text-2);
      margin: 6px 0 10px 24px;
    }
    .kiyaku-article ul li {
      list-style-type: disc;
      margin-bottom: 4px;
    }
    .kiyaku-date {
      margin-top: 48px;
      padding-top: 20px;
      border-top: 1px solid var(--border);
      font-size: 13px;
      color: var(--text-3);
      line-height: 2;
    }
    .kiyaku-contact {
      font-size: 14px;
      line-height: 1.9;
      color: var(--text-2);
    }
    @media (max-width: 640px) {
      .kiyaku-page { padding: 20px 16px 60px; }
      .kiyaku-page h1 { font-size: 20px; }
      .kiyaku-article h2 { font-size: 14px; }
    }
/****PMS****/
 .kiyaku-page {
      max-width: 860px;
      margin: 0 auto;
      padding: 28px 28px 80px;
    }
    .kiyaku-page h1 {
      font-size: 24px;
      font-weight: 800;
      color: var(--text);
      margin-bottom: 24px;
      padding-bottom: 16px;
      border-bottom: 2.5px solid var(--sky-mid);
    }
    .kiyaku-intro {
      font-size: 14px;
      line-height: 1.9;
      color: var(--text-2);
      margin-bottom: 40px;
      background: var(--sky-lt);
      border-left: 4px solid var(--sky);
      border-radius: 0 var(--r-sm) var(--r-sm) 0;
      padding: 16px 20px;
    }
    .kiyaku-article {
      margin-bottom: 36px;
    }
    .kiyaku-article h2 {
      font-size: 15px;
      font-weight: 700;
      color: var(--sky);
      background: var(--sky-lt);
      border-left: 4px solid var(--sky);
      padding: 8px 14px;
      border-radius: 0 var(--r-sm) var(--r-sm) 0;
      margin-bottom: 14px;
    }
    .kiyaku-article h3 {
      font-size: 14px;
      font-weight: 700;
      color: var(--text);
      margin: 18px 0 8px;
    }
    .kiyaku-article p {
      font-size: 14px;
      line-height: 1.9;
      color: var(--text-2);
      margin-bottom: 10px;
    }
    .kiyaku-article p:last-child { margin-bottom: 0; }
    .kiyaku-article ul,
    .kiyaku-article ol {
      font-size: 14px;
      line-height: 1.9;
      color: var(--text-2);
      margin: 6px 0 10px 24px;
    }
    .kiyaku-article ul li { list-style-type: disc; margin-bottom: 4px; }
    .kiyaku-article ol li { list-style-type: decimal; margin-bottom: 4px; }
    .kiyaku-date {
      margin-top: 48px;
      padding-top: 20px;
      border-top: 1px solid var(--border);
      font-size: 13px;
      color: var(--text-3);
      line-height: 2;
    }
    .kiyaku-contact {
      font-size: 14px;
      line-height: 1.9;
      color: var(--text-2);
    }
    @media (max-width: 640px) {
      .kiyaku-page { padding: 20px 16px 60px; }
      .kiyaku-page h1 { font-size: 20px; }
      .kiyaku-article h2 { font-size: 14px; }
    }

/* ============================================================
   運営組織ページ (ORG PAGE)
============================================================ */
.org-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  line-height: 1.85;
  margin-bottom: 14px;
}
.org-table th {
  background: var(--sky-lt);
  color: var(--sky);
  font-weight: 700;
  padding: 11px 16px;
  text-align: left;
  border: 1.5px solid var(--sky-mid);
  width: 28%;
  vertical-align: top;
  font-size: 13px;
}
.org-table td {
  background: var(--surface);
  color: var(--text-2);
  padding: 11px 16px;
  border: 1.5px solid var(--border);
  vertical-align: top;
}
.org-role-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  counter-reset: role-counter;
  font-size: 14px;
  line-height: 1.9;
  color: var(--text-2);
}
.org-role-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background: var(--surface);
  border: 1.5px solid var(--border);
  border-radius: var(--r-md);
  padding: 11px 16px;
  box-shadow: var(--sh-sm);
  counter-increment: role-counter;
}
.org-role-list li::before {
  content: counter(role-counter);
  flex-shrink: 0;
  width: 26px; height: 26px;
  background: linear-gradient(135deg, var(--sky), var(--mint));
  color: white; font-size: 12px; font-weight: 800;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  margin-top: 1px;
}
.org-expert-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 14px;
}
.org-expert-item {
  display: flex;
  align-items: center;
  gap: 8px;
  background: var(--surface);
  border: 1.5px solid var(--border);
  border-radius: var(--r-sm);
  padding: 10px 14px;
  box-shadow: var(--sh-sm);
  font-size: 13px;
  color: var(--text-2);
  font-weight: 500;
}
.org-expert-item::before {
  content: '▶';
  color: var(--sky);
  font-size: 9px;
  flex-shrink: 0;
}
.org-contact-box {
  background: var(--surface);
  border: 1.5px solid var(--border);
  border-radius: var(--r-md);
  padding: 20px 24px;
  box-shadow: var(--sh-sm);
  font-size: 14px;
  line-height: 2.2;
  color: var(--text-2);
}
.org-contact-box p { margin-bottom: 4px; }
.org-contact-box p:last-child { margin-bottom: 0; }
.org-contact-box strong { color: var(--text); font-weight: 700; }
@media (max-width: 640px) {
  .org-expert-grid { grid-template-columns: 1fr; }
  .org-table th { width: 36%; font-size: 12px; }
  .org-table td { font-size: 13px; }
}