/* ============================================================
 * libnew-yao.css
 * lib-inc.co.jp リニューアル yao 専用
 * SWELL 子テーマ functions.php で wp_enqueue_style（前提: libnew-base.css 読込済）
 * ============================================================ */


/* ============================================================
 * [01] [八尾] Hero  (yao_hero.html)
 * ============================================================ */
.post_content .libnew-hero {
      position: relative;
      min-height: 720px;
      display: flex;
      align-items: center;
      overflow: hidden;
      background: #1a1a1a;
    }
    .post_content .libnew-hero-bg {
      position: absolute;
      inset: 0;
      width: 100%; height: 100%;
      object-fit: cover;
      z-index: 1;
    }
    .post_content .libnew-hero-scrim {
      position: absolute; inset: 0;
      background: linear-gradient(90deg, rgba(0,0,0,0.70) 0%, rgba(0,0,0,0.50) 55%, rgba(0,0,0,0.30) 100%);
      z-index: 2;
    }
    .post_content .libnew-hero-wrap {
      position: relative; z-index: 3;
      max-width: 1140px;
      margin: 0 auto;
      padding: 96px 24px;
      width: 100%;
    }
    .post_content .libnew-hero-copy {
      max-width: 820px;
      word-break: keep-all;
      overflow-wrap: anywhere;
      line-break: strict;
    }
    

    .post_content .libnew-hero-pill {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      padding: 8px 16px 8px 8px;
      border-radius: 999px;
      background: rgba(255,255,255,0.12);
      color: #fff;
      font-size: 13px;
      font-weight: 500;
      backdrop-filter: blur(6px);
      margin-bottom: 28px;
      border: 1px solid rgba(255,255,255,0.18);
    }
    .post_content .libnew-hero-pill-tag {
      background: #F97316;
      color: #fff;
      padding: 3px 10px;
      border-radius: 999px;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.05em;
    }
    .post_content .libnew-hero-h1 {
      color: #fff;
      font-size: 54px;
      font-weight: 700;
      line-height: 1.3;
      letter-spacing: -0.01em;
      margin-bottom: 24px;
    }
    .post_content .libnew-hero-h1-accent { color: #F97316; }
    .post_content .libnew-hero-sub {
      color: rgba(255,255,255,0.92);
      font-size: 18px;
      font-weight: 400;
      line-height: 1.85;
      margin-bottom: 40px;
    }
    .post_content .libnew-hero-cta {
      display: flex;
      gap: 16px;
      flex-wrap: wrap;
    }
    .post_content .libnew-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 18px 32px;
      border-radius: 12px;
      font-size: 16px;
      font-weight: 700;
      text-decoration: none;
      transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
      cursor: pointer;
    }
    .post_content .libnew-btn-primary {
      background: #F97316;
      color: #fff;
      box-shadow: 0 8px 24px rgba(249, 115, 22, 0.35);
    }
    .post_content .libnew-btn-primary:hover { background: #ea6510; transform: translateY(-2px); }
    .post_content .libnew-btn-line {
      background: #06C755;
      color: #fff;
      box-shadow: 0 8px 24px rgba(6, 199, 85, 0.30);
    }
    .post_content .libnew-btn-line:hover { background: #05a648; transform: translateY(-2px); }

    .post_content .libnew-hero-trust {
      display: flex;
      gap: 28px;
      margin-top: 36px;
      flex-wrap: wrap;
    }
    .post_content .libnew-hero-trust-item {
      display: flex;
      align-items: center;
      gap: 8px;
      color: rgba(255,255,255,0.88);
      font-size: 14px;
    }
    .post_content .libnew-hero-trust-check {
      width: 18px; height: 18px;
      border-radius: 50%;
      background: #F97316;
      color: #fff;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 11px;
      font-weight: 900;
    }

    @media (max-width: 1024px) { .libnew-hero-h1 { font-size: 42px; } }
    @media (max-width: 768px) {
      .post_content .libnew-hero { min-height: 580px; }
      .post_content .libnew-hero-wrap { padding: 72px 20px; }
      .post_content .libnew-hero-pill { font-size: 11px; margin-bottom: 20px; padding: 7px 14px 7px 7px; }
      .post_content .libnew-hero-pill-tag { font-size: 10px; padding: 2px 8px; }
      .post_content .libnew-hero-h1 { font-size: 24px; line-height: 1.5; margin-bottom: 20px; }
      .post_content .libnew-hero-sub { font-size: 14.5px; line-height: 1.95; margin-bottom: 28px; }
      .post_content .libnew-hero-cta { flex-direction: column; gap: 12px; }
      .post_content .libnew-btn { width: 100%; padding: 16px; font-size: 15px; }
      .post_content .libnew-hero-trust { gap: 12px; margin-top: 24px; flex-direction: column; }
      .post_content .libnew-hero-trust-item { font-size: 13px; }
      .post_content .libnew-hero-scrim { background: linear-gradient(180deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.70) 100%); }
    }

/* ============================================================
 * [02] [八尾] AI社員とは  (yao_ai-shain.html)
 * ============================================================ */
.post_content .libnew-aishain { background: #fff; padding: 96px 0; position: relative; }
  .post_content .libnew-aishain-wrap { max-width: 1140px; margin: 0 auto; padding: 0 24px; }

  .post_content .libnew-aishain-eyebrow {
    display: inline-block;
    color: #F97316;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.18em;
    margin-bottom: 12px;
    text-transform: uppercase;
  }
  .post_content .libnew-aishain-h2 {
    font-size: 40px;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 24px;
    color: #1a1a1a;
  }
  .post_content .libnew-aishain-h2 strong { color: #F97316; }
  .post_content .libnew-aishain-lead {
    font-size: 17px;
    line-height: 2;
    color: #444;
    margin-bottom: 56px;
    max-width: 820px;
  }
  .post_content .libnew-aishain-lead strong { color: #F97316; font-weight: 700; }

  /* 定義ブロック */
  .post_content .libnew-def {
    background: linear-gradient(135deg, #1e3a8a 0%, #2563EB 100%);
    color: #fff;
    border-radius: 20px;
    padding: 40px 48px;
    margin-bottom: 80px;
    position: relative;
    overflow: hidden;
  }
  .post_content .libnew-def::before {
    content: '';
    position: absolute;
    top: -40px; right: -40px;
    width: 200px; height: 200px;
    border-radius: 50%;
    background: rgba(249, 115, 22, 0.18);
  }
  .post_content .libnew-def-label {
    display: inline-block;
    background: #F97316;
    color: #fff;
    padding: 6px 16px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 20px;
    letter-spacing: 0.05em;
  }
  .post_content .libnew-def-text {
    font-size: 22px;
    font-weight: 500;
    line-height: 1.9;
    position: relative;
    z-index: 2;
  }
  .post_content .libnew-def-text strong { color: #F97316; font-weight: 700; }

  .post_content .libnew-aishain-h3 {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 32px;
    color: #1a1a1a;
    display: flex;
    align-items: center;
    gap: 12px;
  }
  .post_content .libnew-aishain-h3::before {
    content: '';
    width: 6px;
    height: 28px;
    background: #F97316;
    border-radius: 3px;
  }

  /* 業種別カード */
  .post_content .libnew-aishain-strip { margin-bottom: 0; }
  .post_content .libnew-aishain-strip-scroll {
    display: flex;
    gap: 20px;
    overflow-x: auto;
    padding: 8px 4px 24px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }
  .post_content .libnew-aishain-strip-scroll::-webkit-scrollbar { height: 8px; }
  .post_content .libnew-aishain-strip-scroll::-webkit-scrollbar-track { background: #f1f1f1; border-radius: 4px; }
  .post_content .libnew-aishain-strip-scroll::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }

  .post_content .libnew-aishain-strip-card {
    flex: 0 0 320px;
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid #e5e7eb;
    box-shadow: 0 4px 12px rgba(0,0,0,0.04);
    scroll-snap-align: start;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
  }
  .post_content .libnew-aishain-strip-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(0,0,0,0.08);
  }
  .post_content .libnew-aishain-strip-img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    background: #f3f4f6;
    display: block;
  }
  .post_content .libnew-aishain-strip-body { padding: 20px 22px 24px; }
  .post_content .libnew-aishain-strip-industry {
    font-size: 12px;
    font-weight: 700;
    color: #2563EB;
    letter-spacing: 0.1em;
    margin-bottom: 6px;
  }
  .post_content .libnew-aishain-strip-name {
    font-size: 20px;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 10px;
  }
  .post_content .libnew-aishain-strip-desc {
    font-size: 14px;
    line-height: 1.7;
    color: #555;
  }

  @media (max-width: 768px) {
    .post_content .libnew-aishain { padding: 64px 0; }
    .post_content .libnew-aishain-wrap { padding: 0 20px; }
    .post_content .libnew-aishain-eyebrow { font-size: 11px; }
    .post_content .libnew-aishain-h2 { font-size: 26px; line-height: 1.5; margin-bottom: 16px; }
    .post_content .libnew-aishain-lead { font-size: 15px; line-height: 2; margin-bottom: 40px; }
    .post_content .libnew-aishain-h3 { font-size: 21px; margin-bottom: 20px; }
    .post_content .libnew-aishain-h3::before { height: 22px; }

    .post_content .libnew-def { padding: 28px 24px; margin-bottom: 56px; border-radius: 14px; }
    .post_content .libnew-def-text { font-size: 16px; line-height: 1.9; }
    .post_content .libnew-def-label { font-size: 12px; margin-bottom: 14px; }

    .post_content .libnew-aishain-strip-scroll {
      gap: 14px;
      padding: 4px 4px 20px;
      margin-right: -20px;
      padding-right: 20px;
    }
    .post_content .libnew-aishain-strip-card { flex: 0 0 260px; }
    .post_content .libnew-aishain-strip-body { padding: 16px 18px 20px; }
    .post_content .libnew-aishain-strip-name { font-size: 17px; }
  }

/* ============================================================
 * [03] [八尾] お悩み  (yao_pain.html)
 * ============================================================ */
.post_content .libnew-pain {
    padding: 96px 0;
    background: #f9fafb;
  }
  .post_content .libnew-pain-wrap {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 24px;
  }
  .post_content .libnew-pain-eyebrow {
    display: inline-block;
    color: #F97316;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.18em;
    margin-bottom: 12px;
    text-transform: uppercase;
  }
  .post_content .libnew-pain-h2 {
    font-size: 40px;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 24px;
    color: #1a1a1a;
  }
  .post_content .libnew-pain-lead {
    font-size: 17px;
    line-height: 2;
    color: #444;
    margin-bottom: 56px;
    max-width: 820px;
  }
  .post_content .libnew-pain-lead strong { color: #F97316; font-weight: 700; }

  /* 5列グリッド */
  .post_content .libnew-pain-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
  }
  .post_content .libnew-pain-card {
    background: #fff;
    border-radius: 16px;
    padding: 32px 20px 26px;
    border: 1px solid #e5e7eb;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    position: relative;
  }
  .post_content .libnew-pain-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(0,0,0,0.08);
  }
  .post_content .libnew-pain-num {
    position: absolute;
    top: -16px;
    left: 18px;
    background: #fff;
    color: #1a1a1a;
    font-size: 13px;
    font-weight: 700;
    padding: 4px 12px;
    border-radius: 999px;
    border: 1px solid #e5e7eb;
    letter-spacing: 0.05em;
    font-family: 'Inter', sans-serif;
  }
  .post_content .libnew-pain-cat {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    padding: 4px 10px;
    border-radius: 4px;
    margin-bottom: 16px;
  }
  .post_content .libnew-pain-cat-recruit { background: #fef3e6; color: #ea6510; }
  .post_content .libnew-pain-cat-system { background: #e8f0fe; color: #1e40af; }
  .post_content .libnew-pain-cat-efficiency { background: #e6f7ed; color: #047857; }
  .post_content .libnew-pain-cat-overtime { background: #fef3f3; color: #b91c1c; }
  .post_content .libnew-pain-cat-common { background: #f3f4f6; color: #4b5563; }

  .post_content .libnew-pain-icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: #f3f6fb;
    color: #2563EB;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
  }
  .post_content .libnew-pain-icon svg { width: 24px; height: 24px; stroke-width: 2; }

  .post_content .libnew-pain-h3 {
    font-size: 15.5px;
    font-weight: 700;
    line-height: 1.6;
    color: #1a1a1a;
    margin-bottom: 12px;
    min-height: 54px;
  }
  .post_content .libnew-pain-text {
    font-size: 12.5px;
    line-height: 1.85;
    color: #555;
  }

  .post_content .libnew-pain-bottom {
    margin-top: 56px;
    text-align: center;
    padding: 32px 24px;
    background: #fff;
    border-radius: 16px;
    border: 1px solid #e5e7eb;
  }
  .post_content .libnew-pain-bottom-text {
    font-size: 17px;
    font-weight: 500;
    color: #1a1a1a;
    line-height: 1.9;
  }
  .post_content .libnew-pain-bottom-text strong { color: #F97316; font-weight: 700; }

  @media (max-width: 1024px) {
    .post_content .libnew-pain-grid { grid-template-columns: repeat(2, 1fr); }
    .post_content .libnew-pain-h3 { min-height: auto; }
  }
  @media (max-width: 768px) {
    .post_content .libnew-pain { padding: 64px 0; }
    .post_content .libnew-pain-wrap { padding: 0 20px; }
    .post_content .libnew-pain-eyebrow { font-size: 11px; }
    .post_content .libnew-pain-h2 { font-size: 26px; line-height: 1.5; margin-bottom: 16px; }
    .post_content .libnew-pain-lead { font-size: 15px; line-height: 2; margin-bottom: 36px; }

    .post_content .libnew-pain-grid {
      display: flex;
      grid-template-columns: none;
      gap: 14px;
      overflow-x: auto;
      scroll-snap-type: x mandatory;
      -webkit-overflow-scrolling: touch;
      padding: 12px 4px 24px;
      margin-right: -20px;
      padding-right: 20px;
    }
    .post_content .libnew-pain-grid::-webkit-scrollbar { height: 6px; }
    .post_content .libnew-pain-grid::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 3px; }
    .post_content .libnew-pain-card {
      flex: 0 0 280px;
      scroll-snap-align: start;
      padding: 28px 22px 24px;
    }
    .post_content .libnew-pain-icon { width: 44px; height: 44px; }
    .post_content .libnew-pain-icon svg { width: 24px; height: 24px; }
    .post_content .libnew-pain-h3 { font-size: 16.5px; min-height: auto; }
    .post_content .libnew-pain-text { font-size: 13.5px; }

    .post_content .libnew-pain-bottom { margin-top: 36px; padding: 24px 20px; }
    .post_content .libnew-pain-bottom-text { font-size: 15px; line-height: 1.95; }
  }

/* ============================================================
 * [04] [八尾] Why Now  (yao_why-now.html)
 * ============================================================ */
.post_content .libnew-why {
    padding: 96px 0;
    background: #fff;
  }
  .post_content .libnew-why-wrap {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 24px;
  }
  .post_content .libnew-why-eyebrow {
    display: inline-block;
    color: #F97316;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.18em;
    margin-bottom: 12px;
    text-transform: uppercase;
  }
  .post_content .libnew-why-h2 {
    font-size: 40px;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 24px;
    color: #1a1a1a;
  }
  .post_content .libnew-why-h2 strong { color: #F97316; }
  .post_content .libnew-why-lead {
    font-size: 17px;
    line-height: 2;
    color: #444;
    margin-bottom: 64px;
    max-width: 820px;
  }

  /* 2x2 グリッド */
  .post_content .libnew-why-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
  .post_content .libnew-why-card {
    background: #fff;
    border-radius: 20px;
    padding: 40px 36px;
    border: 1px solid #e5e7eb;
    box-shadow: 0 4px 12px rgba(0,0,0,0.04);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    position: relative;
    overflow: hidden;
  }
  .post_content .libnew-why-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(0,0,0,0.08);
  }
  .post_content .libnew-why-num-label {
    display: inline-block;
    color: #2563EB;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.1em;
    margin-bottom: 16px;
    font-family: 'Inter', sans-serif;
  }
  .post_content .libnew-why-bignum {
    font-family: 'Inter', sans-serif;
    font-size: 60px;
    font-weight: 800;
    color: #F97316;
    line-height: 1;
    margin-bottom: 4px;
    letter-spacing: -0.02em;
  }
  .post_content .libnew-why-bignum-unit {
    font-size: 26px;
    font-weight: 700;
    color: #F97316;
    margin-left: 4px;
  }
  .post_content .libnew-why-bignum-sub {
    font-size: 14px;
    color: #888;
    margin-bottom: 24px;
  }
  .post_content .libnew-why-h3 {
    font-size: 21px;
    font-weight: 700;
    line-height: 1.55;
    color: #1a1a1a;
    margin-bottom: 16px;
  }
  .post_content .libnew-why-text {
    font-size: 14.5px;
    line-height: 1.95;
    color: #555;
    margin-bottom: 16px;
  }
  .post_content .libnew-why-source {
    font-size: 11px;
    color: #999;
    padding-top: 16px;
    border-top: 1px solid #f0f0f0;
  }

  .post_content .libnew-why-bottom {
    margin-top: 80px;
    text-align: center;
    padding: 48px 32px;
    background: linear-gradient(135deg, #1e3a8a 0%, #2563EB 100%);
    color: #fff;
    border-radius: 20px;
    position: relative;
    overflow: hidden;
  }
  .post_content .libnew-why-bottom::before {
    content: '';
    position: absolute;
    top: -50px; right: -50px;
    width: 240px; height: 240px;
    border-radius: 50%;
    background: rgba(249, 115, 22, 0.15);
  }
  .post_content .libnew-why-bottom-text {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.7;
    position: relative;
    z-index: 1;
  }
  .post_content .libnew-why-bottom-text strong { color: #F97316; }

  @media (max-width: 768px) {
    .post_content .libnew-why { padding: 64px 0; }
    .post_content .libnew-why-wrap { padding: 0 20px; }
    .post_content .libnew-why-eyebrow { font-size: 11px; }
    .post_content .libnew-why-h2 { font-size: 26px; line-height: 1.5; margin-bottom: 16px; }
    .post_content .libnew-why-lead { font-size: 15px; line-height: 2; margin-bottom: 40px; }

    .post_content .libnew-why-grid { grid-template-columns: 1fr; gap: 16px; }
    .post_content .libnew-why-card { padding: 28px 22px 26px; border-radius: 16px; }
    .post_content .libnew-why-bignum { font-size: 46px; }
    .post_content .libnew-why-bignum-unit { font-size: 20px; }
    .post_content .libnew-why-bignum-sub { font-size: 12.5px; margin-bottom: 18px; }
    .post_content .libnew-why-h3 { font-size: 17px; margin-bottom: 12px; }
    .post_content .libnew-why-text { font-size: 13.5px; }
    .post_content .libnew-why-source { font-size: 10.5px; }

    .post_content .libnew-why-bottom { margin-top: 48px; padding: 32px 22px; border-radius: 16px; }
    .post_content .libnew-why-bottom-text { font-size: 16px; line-height: 1.8; }
  }

/* ============================================================
 * [05] [八尾] 業種別活用例  (yao_industries.html)
 * ============================================================ */
.post_content .libnew-ind {
    padding: 96px 0;
    background: #f9fafb;
  }
  .post_content .libnew-ind-wrap {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 24px;
  }
  .post_content .libnew-ind-eyebrow {
    display: inline-block;
    color: #F97316;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.18em;
    margin-bottom: 12px;
    text-transform: uppercase;
  }
  .post_content .libnew-ind-h2 {
    font-size: 40px;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 24px;
    color: #1a1a1a;
  }
  .post_content .libnew-ind-h2 strong { color: #F97316; }
  .post_content .libnew-ind-lead {
    font-size: 17px;
    line-height: 2;
    color: #444;
    margin-bottom: 48px;
    max-width: 820px;
  }
  .post_content .libnew-ind-lead strong { color: #F97316; font-weight: 700; }

  /* サマリ表 */
  .post_content .libnew-ind-table-wrap {
    margin-bottom: 56px;
    overflow-x: auto;
  }
  .post_content .libnew-ind-table {
    width: 100%;
    min-width: 600px;
    border-collapse: separate;
    border-spacing: 0;
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,0.04);
  }
  .post_content .libnew-ind-table thead {
    background: #1a1a1a;
    color: #fff;
  }
  .post_content .libnew-ind-table th {
    padding: 16px 20px;
    text-align: left;
    font-size: 13.5px;
    font-weight: 700;
  }
  .post_content .libnew-ind-table td {
    padding: 16px 20px;
    border-top: 1px solid #f0f0f0;
    font-size: 14.5px;
    color: #333;
  }
  .post_content .libnew-ind-table tbody tr:hover { background: #fafbfc; }
  .post_content .libnew-ind-table .indu { font-weight: 700; color: #2563EB; }
  .post_content .libnew-ind-table .num-time { font-family: 'Inter', sans-serif; font-weight: 700; color: #1a1a1a; }
  .post_content .libnew-ind-table .num-cost { font-family: 'Inter', sans-serif; font-weight: 700; color: #F97316; }

  .post_content .libnew-ind-table-note {
    font-size: 12px;
    color: #888;
    margin-top: 10px;
  }

  /* 5カード Before/After */
  .post_content .libnew-ind-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
  .post_content .libnew-ind-card {
    background: #fff;
    border-radius: 16px;
    padding: 28px 24px 24px;
    border: 1px solid #e5e7eb;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    display: flex;
    flex-direction: column;
  }
  .post_content .libnew-ind-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(0,0,0,0.08);
  }
  .post_content .libnew-ind-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
  }
  .post_content .libnew-ind-icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: #e8f0fe;
    color: #2563EB;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }
  .post_content .libnew-ind-icon svg { width: 24px; height: 24px; stroke-width: 2; }
  .post_content .libnew-ind-industry {
    font-size: 12px;
    font-weight: 700;
    color: #2563EB;
    letter-spacing: 0.05em;
    margin-bottom: 2px;
  }
  .post_content .libnew-ind-name {
    font-size: 17px;
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1.4;
  }
  .post_content .libnew-ind-task {
    font-size: 14px;
    font-weight: 700;
    color: #1a1a1a;
    padding: 10px 14px;
    background: #fff7ed;
    border-radius: 8px;
    margin-bottom: 16px;
    text-align: center;
    border: 1px solid #fed7aa;
  }
  .post_content .libnew-ind-ba {
    margin-bottom: 16px;
  }
  .post_content .libnew-ind-ba-row {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    margin-bottom: 10px;
  }
  .post_content .libnew-ind-ba-row:last-child { margin-bottom: 0; }
  .post_content .libnew-ind-ba-label {
    flex-shrink: 0;
    width: 52px;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 0;
    text-align: center;
    border-radius: 4px;
    letter-spacing: 0.05em;
  }
  .post_content .libnew-ind-ba-label.before { background: #fef2f2; color: #b91c1c; }
  .post_content .libnew-ind-ba-label.after { background: #f0f9f4; color: #047857; }
  .post_content .libnew-ind-ba-text {
    font-size: 12.5px;
    line-height: 1.7;
    color: #444;
    flex: 1;
  }
  .post_content .libnew-ind-reduction {
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px solid #f0f0f0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 12px;
    color: #666;
  }
  .post_content .libnew-ind-reduction-num {
    font-family: 'Inter', sans-serif;
    font-weight: 800;
    color: #F97316;
    font-size: 14.5px;
  }
  .post_content .libnew-ind-reduction-num small {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 11px;
    color: #F97316;
    font-weight: 700;
    margin-left: 1px;
  }

  /* 締めブロック */
  .post_content .libnew-ind-bottom {
    margin-top: 56px;
    padding: 36px 32px;
    background: #fff;
    border-radius: 16px;
    border: 1px solid #e5e7eb;
    text-align: center;
  }
  .post_content .libnew-ind-bottom-text {
    font-size: 17px;
    line-height: 1.9;
    color: #333;
  }
  .post_content .libnew-ind-bottom-text strong { color: #F97316; font-weight: 700; }

  /* タブレット */
  @media (max-width: 1024px) {
    .post_content .libnew-ind-grid { grid-template-columns: repeat(2, 1fr); }
  }
  /* スマホ：横スクロール */
  @media (max-width: 768px) {
    .post_content .libnew-ind { padding: 64px 0; }
    .post_content .libnew-ind-wrap { padding: 0 20px; }
    .post_content .libnew-ind-eyebrow { font-size: 11px; }
    .post_content .libnew-ind-h2 { font-size: 24px; line-height: 1.55; margin-bottom: 16px; }
    .post_content .libnew-ind-lead { font-size: 14.5px; line-height: 2; margin-bottom: 32px; }

    .post_content .libnew-ind-table-wrap { margin: 0 -20px 40px; padding: 0 20px; }
    .post_content .libnew-ind-table { min-width: 540px; }
    .post_content .libnew-ind-table th { font-size: 12px; padding: 12px 14px; }
    .post_content .libnew-ind-table td { font-size: 13px; padding: 12px 14px; }

    .post_content .libnew-ind-grid {
      display: flex;
      grid-template-columns: none;
      gap: 14px;
      overflow-x: auto;
      scroll-snap-type: x mandatory;
      -webkit-overflow-scrolling: touch;
      padding: 8px 4px 24px;
      margin-right: -20px;
      padding-right: 20px;
    }
    .post_content .libnew-ind-grid::-webkit-scrollbar { height: 6px; }
    .post_content .libnew-ind-grid::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 3px; }

    .post_content .libnew-ind-card {
      flex: 0 0 290px;
      scroll-snap-align: start;
      padding: 24px 22px 22px;
    }
    .post_content .libnew-ind-name { font-size: 16.5px; }

    .post_content .libnew-ind-bottom { margin-top: 36px; padding: 26px 22px; }
    .post_content .libnew-ind-bottom-text { font-size: 14.5px; line-height: 1.95; }
  }

/* ============================================================
 * [06] [八尾] Why Lib  (yao_why-lib.html)
 * ============================================================ */
.post_content .libnew-wlib { padding: 96px 0; background: #fff; }
  .post_content .libnew-wlib-wrap { max-width: 1140px; margin: 0 auto; padding: 0 24px; }

  .post_content .libnew-wlib-eyebrow {
    display: inline-block;
    color: #F97316;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.18em;
    margin-bottom: 12px;
    text-transform: uppercase;
  }
  .post_content .libnew-wlib-h2 {
    font-size: 40px;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 24px;
    color: #1a1a1a;
  }
  .post_content .libnew-wlib-h2 strong { color: #F97316; }
  .post_content .libnew-wlib-lead {
    font-size: 17px;
    line-height: 2;
    color: #444;
    margin-bottom: 64px;
    max-width: 820px;
  }
  .post_content .libnew-wlib-lead strong { color: #F97316; font-weight: 700; }

  .post_content .libnew-wlib-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }
  .post_content .libnew-wlib-card {
    background: #fff;
    border-radius: 20px;
    padding: 40px 32px 36px;
    border: 1px solid #e5e7eb;
    box-shadow: 0 4px 12px rgba(0,0,0,0.04);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    position: relative;
    overflow: hidden;
  }
  .post_content .libnew-wlib-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(0,0,0,0.08);
  }
  .post_content .libnew-wlib-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 4px;
    background: linear-gradient(90deg, #F97316 0%, #fb923c 100%);
  }

  .post_content .libnew-wlib-num {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 20px;
  }
  .post_content .libnew-wlib-num-label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.18em;
    color: #888;
    font-family: 'Inter', sans-serif;
  }
  .post_content .libnew-wlib-num-big {
    font-family: 'Inter', sans-serif;
    font-size: 48px;
    font-weight: 800;
    color: #F97316;
    line-height: 1;
    letter-spacing: -0.02em;
  }
  .post_content .libnew-wlib-icon {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    background: #f3f6fb;
    color: #2563EB;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
  }
  .post_content .libnew-wlib-icon svg { width: 30px; height: 30px; stroke-width: 2; }
  .post_content .libnew-wlib-h3 {
    font-size: 21px;
    font-weight: 700;
    line-height: 1.55;
    color: #1a1a1a;
    margin-bottom: 16px;
  }
  .post_content .libnew-wlib-text {
    font-size: 14.5px;
    line-height: 1.9;
    color: #555;
  }
  .post_content .libnew-wlib-text strong { color: #1a1a1a; font-weight: 700; }

  /* 締めコピー */
  .post_content .libnew-wlib-bottom {
    margin-top: 56px;
    padding: 28px 32px;
    background: #f9fafb;
    border-radius: 14px;
    text-align: center;
    border-left: 4px solid #F97316;
  }
  .post_content .libnew-wlib-bottom-text {
    font-size: 17px;
    font-weight: 600;
    color: #1a1a1a;
    line-height: 1.85;
  }

  @media (max-width: 768px) {
    .post_content .libnew-wlib { padding: 64px 0; }
    .post_content .libnew-wlib-wrap { padding: 0 20px; }
    .post_content .libnew-wlib-eyebrow { font-size: 11px; }
    .post_content .libnew-wlib-h2 { font-size: 24px; line-height: 1.55; margin-bottom: 16px; }
    .post_content .libnew-wlib-lead { font-size: 14.5px; line-height: 2; margin-bottom: 40px; }

    .post_content .libnew-wlib-grid {
      display: flex;
      grid-template-columns: none;
      gap: 16px;
      overflow-x: auto;
      scroll-snap-type: x mandatory;
      -webkit-overflow-scrolling: touch;
      padding: 12px 4px 24px;
      margin-right: -20px;
      padding-right: 20px;
    }
    .post_content .libnew-wlib-grid::-webkit-scrollbar { height: 6px; }
    .post_content .libnew-wlib-grid::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 3px; }

    .post_content .libnew-wlib-card {
      flex: 0 0 300px;
      scroll-snap-align: start;
      padding: 32px 26px 28px;
      border-radius: 16px;
    }
    .post_content .libnew-wlib-num-big { font-size: 40px; }
    .post_content .libnew-wlib-icon { width: 50px; height: 50px; }
    .post_content .libnew-wlib-icon svg { width: 26px; height: 26px; }
    .post_content .libnew-wlib-h3 { font-size: 18px; }
    .post_content .libnew-wlib-text { font-size: 13.5px; }

    .post_content .libnew-wlib-bottom { margin-top: 36px; padding: 22px 22px; border-radius: 12px; }
    .post_content .libnew-wlib-bottom-text { font-size: 14.5px; }
  }

/* ============================================================
 * [07] [八尾] Seminar  (yao_seminar.html)
 * ============================================================ */
.post_content .libnew-sem {
    background: linear-gradient(135deg, #1e3a8a 0%, #2563EB 60%, #1e40af 100%);
    color: #fff;
    padding: 96px 0;
    position: relative;
    overflow: hidden;
  }
  .post_content .libnew-sem::before {
    content: '';
    position: absolute;
    top: -100px; right: -100px;
    width: 400px; height: 400px;
    border-radius: 50%;
    background: rgba(249, 115, 22, 0.12);
  }
  .post_content .libnew-sem::after {
    content: '';
    position: absolute;
    bottom: -150px; left: -150px;
    width: 360px; height: 360px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.06);
  }
  .post_content .libnew-sem-wrap {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 24px;
    position: relative;
    z-index: 2;
  }

  .post_content .libnew-sem-eyebrow {
    display: inline-block;
    color: #F97316;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.18em;
    margin-bottom: 12px;
    text-transform: uppercase;
  }
  .post_content .libnew-sem-h2 {
    font-size: 38px;
    font-weight: 700;
    line-height: 1.45;
    margin-bottom: 24px;
  }
  .post_content .libnew-sem-h2 strong { color: #F97316; }
  .post_content .libnew-sem-lead {
    font-size: 16px;
    line-height: 2;
    color: rgba(255, 255, 255, 0.92);
    margin-bottom: 48px;
    max-width: 820px;
  }
  .post_content .libnew-sem-lead strong { color: #F97316; font-weight: 700; }

  /* タイトル＋キャッチ */
  .post_content .libnew-sem-title-block {
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 20px;
    padding: 36px 40px;
    margin-bottom: 48px;
  }
  .post_content .libnew-sem-title-label {
    font-size: 13px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.75);
    margin-bottom: 8px;
    letter-spacing: 0.05em;
  }
  .post_content .libnew-sem-title {
    font-size: 26px;
    font-weight: 700;
    margin-bottom: 20px;
    line-height: 1.5;
  }
  .post_content .libnew-sem-catch {
    font-size: 32px;
    font-weight: 800;
    color: #F97316;
    line-height: 1.5;
    margin-bottom: 20px;
    letter-spacing: -0.01em;
  }
  .post_content .libnew-sem-catch span { color: #fff; }
  .post_content .libnew-sem-desc {
    font-size: 16px;
    line-height: 2;
    color: rgba(255, 255, 255, 0.92);
  }
  .post_content .libnew-sem-desc strong { color: #F97316; font-weight: 700; }

  /* チラシ画像 */
  .post_content .libnew-sem-flyers {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 56px;
  }
  .post_content .libnew-sem-flyer {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 12px 32px rgba(0,0,0,0.25);
    aspect-ratio: 1 / 1.414;
  }
  .post_content .libnew-sem-flyer img { width: 100%; height: 100%; object-fit: cover; display: block; }

  /* 共通H3 */
  .post_content .libnew-sem-h3 {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    gap: 12px;
  }
  .post_content .libnew-sem-h3::before {
    content: '';
    width: 6px; height: 26px;
    background: #F97316;
    border-radius: 3px;
  }

  /* こんな方におすすめ */
  .post_content .libnew-sem-target {
    margin-bottom: 56px;
  }
  .post_content .libnew-sem-target-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .post_content .libnew-sem-target-item {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 12px;
    padding: 18px 22px 18px 50px;
    font-size: 15.5px;
    line-height: 1.7;
    position: relative;
  }
  .post_content .libnew-sem-target-item::before {
    content: '✓';
    position: absolute;
    left: 18px;
    top: 18px;
    width: 22px;
    height: 22px;
    background: #F97316;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 900;
  }

  /* 特典 */
  .post_content .libnew-sem-bonus { margin-bottom: 56px; }
  .post_content .libnew-sem-bonus-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }
  .post_content .libnew-sem-bonus-item {
    background: linear-gradient(135deg, #F97316 0%, #fb923c 100%);
    border-radius: 14px;
    padding: 22px 28px;
    display: flex;
    align-items: center;
    gap: 16px;
    box-shadow: 0 8px 20px rgba(249, 115, 22, 0.3);
  }
  .post_content .libnew-sem-bonus-icon {
    width: 44px; height: 44px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.22);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }
  .post_content .libnew-sem-bonus-icon svg { width: 22px; height: 22px; stroke-width: 2; }
  .post_content .libnew-sem-bonus-text {
    font-size: 15px;
    font-weight: 600;
    line-height: 1.6;
  }

  /* 開催情報 */
  .post_content .libnew-sem-info {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 20px;
    padding: 36px 40px;
    margin-bottom: 48px;
  }
  .post_content .libnew-sem-info-table { width: 100%; }
  .post_content .libnew-sem-info-row {
    display: grid;
    grid-template-columns: 160px 1fr;
    gap: 16px;
    padding: 16px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  }
  .post_content .libnew-sem-info-row:last-child { border-bottom: none; }
  .post_content .libnew-sem-info-label {
    font-size: 14px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.75);
    letter-spacing: 0.04em;
    display: flex;
    align-items: center;
    gap: 8px;
  }
  .post_content .libnew-sem-info-label svg {
    width: 18px; height: 18px;
    stroke-width: 2;
    color: #F97316;
  }
  .post_content .libnew-sem-info-value {
    font-size: 15px;
    line-height: 1.8;
    color: #fff;
    font-weight: 500;
  }
  .post_content .libnew-sem-info-note {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.7);
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
  }

  /* 会場アクセス */
  .post_content .libnew-sem-access {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 20px;
    padding: 32px 36px;
    margin-bottom: 48px;
  }
  .post_content .libnew-sem-access-h4 {
    font-size: 19px;
    font-weight: 700;
    margin-bottom: 16px;
  }
  .post_content .libnew-sem-access-h4 strong { color: #F97316; }
  .post_content .libnew-sem-access-addr {
    font-size: 14.5px;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.92);
    margin-bottom: 12px;
  }
  .post_content .libnew-sem-access-route {
    font-size: 13.5px;
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.7;
    padding-top: 12px;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
  }

  /* 大型CTA */
  .post_content .libnew-sem-cta { text-align: center; }
  .post_content .libnew-sem-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 22px 48px;
    border-radius: 14px;
    background: #F97316;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 12px 32px rgba(249, 115, 22, 0.45);
    transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
  }
  .post_content .libnew-sem-cta-btn:hover {
    background: #ea6510;
    transform: translateY(-2px);
    box-shadow: 0 16px 36px rgba(249, 115, 22, 0.55);
  }
  .post_content .libnew-sem-cta-note {
    margin-top: 16px;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.75);
  }

  /* スマホ */
  @media (max-width: 768px) {
    .post_content .libnew-sem { padding: 64px 0; }
    .post_content .libnew-sem-wrap { padding: 0 20px; }
    .post_content .libnew-sem-eyebrow { font-size: 11px; }
    .post_content .libnew-sem-h2 { font-size: 24px; line-height: 1.55; margin-bottom: 18px; }
    .post_content .libnew-sem-lead { font-size: 14.5px; margin-bottom: 36px; }

    .post_content .libnew-sem-title-block { padding: 24px 22px; margin-bottom: 32px; border-radius: 16px; }
    .post_content .libnew-sem-title { font-size: 18px; line-height: 1.6; margin-bottom: 16px; }
    .post_content .libnew-sem-catch { font-size: 22px; line-height: 1.5; margin-bottom: 16px; }
    .post_content .libnew-sem-desc { font-size: 14px; line-height: 1.95; }

    .post_content .libnew-sem-flyers { grid-template-columns: 1fr; gap: 14px; margin-bottom: 40px; }
    .post_content .libnew-sem-flyer { aspect-ratio: auto; max-height: 480px; }

    .post_content .libnew-sem-h3 { font-size: 19px; margin-bottom: 18px; }
    .post_content .libnew-sem-h3::before { height: 22px; }

    .post_content .libnew-sem-target { margin-bottom: 40px; }
    .post_content .libnew-sem-target-item { font-size: 14px; padding: 16px 18px 16px 46px; }
    .post_content .libnew-sem-target-item::before { left: 14px; top: 16px; width: 20px; height: 20px; font-size: 12px; }

    .post_content .libnew-sem-bonus { margin-bottom: 40px; }
    .post_content .libnew-sem-bonus-list { grid-template-columns: 1fr; gap: 12px; }
    .post_content .libnew-sem-bonus-item { padding: 18px 22px; }
    .post_content .libnew-sem-bonus-text { font-size: 14px; }

    .post_content .libnew-sem-info { padding: 24px 22px; margin-bottom: 32px; border-radius: 16px; }
    .post_content .libnew-sem-info-row { grid-template-columns: 1fr; gap: 4px; padding: 12px 0; }
    .post_content .libnew-sem-info-value { font-size: 14px; }

    .post_content .libnew-sem-access { padding: 24px 22px; margin-bottom: 32px; border-radius: 16px; }
    .post_content .libnew-sem-access-h4 { font-size: 16.5px; }
    .post_content .libnew-sem-access-addr { font-size: 13.5px; }
    .post_content .libnew-sem-access-route { font-size: 12.5px; }

    .post_content .libnew-sem-cta-btn { padding: 18px 28px; font-size: 16px; width: 100%; }
    .post_content .libnew-sem-cta-note { font-size: 12px; }
  }

/* ============================================================
 * [08] [八尾] アクセス  (yao_access.html)
 * ============================================================ */
.post_content .libnew-acc { padding: 96px 0; background: #f9fafb; }
  .post_content .libnew-acc-wrap { max-width: 1140px; margin: 0 auto; padding: 0 24px; }

  .post_content .libnew-acc-eyebrow {
    display: inline-block;
    color: #F97316;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.18em;
    margin-bottom: 12px;
    text-transform: uppercase;
  }
  .post_content .libnew-acc-h2 {
    font-size: 38px;
    font-weight: 700;
    line-height: 1.45;
    margin-bottom: 24px;
    color: #1a1a1a;
  }
  .post_content .libnew-acc-h2 strong { color: #F97316; }
  .post_content .libnew-acc-lead {
    font-size: 16px;
    line-height: 2;
    color: #444;
    margin-bottom: 48px;
    max-width: 820px;
  }
  .post_content .libnew-acc-lead strong { color: #1a1a1a; font-weight: 700; }

  /* エリア表 */
  .post_content .libnew-acc-table-wrap {
    margin-bottom: 36px;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.04);
    overflow: hidden;
    border: 1px solid #e5e7eb;
  }
  .post_content .libnew-acc-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
  }
  .post_content .libnew-acc-table tr {
    border-bottom: 1px solid #f0f0f0;
  }
  .post_content .libnew-acc-table tr:last-child { border-bottom: none; }
  .post_content .libnew-acc-table th,
  .post_content .libnew-acc-table td {
    padding: 22px 28px;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid #f0f0f0;
  }
  .post_content .libnew-acc-table tr:last-child th,
  .post_content .libnew-acc-table tr:last-child td { border-bottom: none; }
  .post_content .libnew-acc-table th {
    width: 32%;
    background: #fafbfc;
    font-size: 14px;
    color: #2563EB;
    font-weight: 700;
    letter-spacing: 0.03em;
  }
  .post_content .libnew-acc-table td {
    font-size: 15px;
    line-height: 1.85;
    color: #333;
    font-weight: 500;
  }
  .post_content .libnew-acc-table .area-main {
    color: #F97316;
    font-weight: 700;
    font-size: 16px;
  }

  /* 締めコピー */
  .post_content .libnew-acc-msg {
    margin-bottom: 32px;
    padding: 24px 28px;
    background: #fff7ed;
    border-radius: 12px;
    border-left: 4px solid #F97316;
    font-size: 15px;
    line-height: 1.9;
    color: #1a1a1a;
  }
  .post_content .libnew-acc-msg strong { color: #F97316; font-weight: 700; }

  /* CTA */
  .post_content .libnew-acc-cta-wrap { text-align: center; }
  .post_content .libnew-acc-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 18px 44px;
    background: #06C755;
    color: #fff;
    border-radius: 999px;
    text-decoration: none;
    font-size: 15.5px;
    font-weight: 700;
    box-shadow: 0 6px 20px rgba(6,199,85,0.35);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
  }
  .post_content .libnew-acc-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(6,199,85,0.45);
  }
  .post_content .libnew-acc-cta-icon {
    width: 20px;
    height: 20px;
    background: #fff;
    border-radius: 4px;
    color: #06C755;
    font-weight: 800;
    font-size: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: 'Inter', sans-serif;
  }

  @media (max-width: 768px) {
    .post_content .libnew-acc { padding: 64px 0; }
    .post_content .libnew-acc-wrap { padding: 0 20px; }
    .post_content .libnew-acc-eyebrow { font-size: 11px; }
    .post_content .libnew-acc-h2 { font-size: 23px; line-height: 1.55; margin-bottom: 18px; }
    .post_content .libnew-acc-lead { font-size: 14.5px; line-height: 1.95; margin-bottom: 32px; }

    .post_content .libnew-acc-table th,
    .post_content .libnew-acc-table td { padding: 16px 18px; }
    .post_content .libnew-acc-table th { font-size: 12.5px; width: 36%; }
    .post_content .libnew-acc-table td { font-size: 13.5px; line-height: 1.8; }
    .post_content .libnew-acc-table .area-main { font-size: 14.5px; }

    .post_content .libnew-acc-msg { padding: 18px 20px; font-size: 14px; margin-bottom: 28px; }
    .post_content .libnew-acc-cta { padding: 16px 32px; font-size: 14.5px; }
  }

/* ============================================================
 * [09] [八尾] FAQ  (yao_faq.html)
 * ============================================================ */
.post_content .libnew-faq { padding: 96px 0; background: #fff; }
  .post_content .libnew-faq-wrap { max-width: 900px; margin: 0 auto; padding: 0 24px; }

  .post_content .libnew-faq-eyebrow {
    display: inline-block;
    color: #F97316;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.18em;
    margin-bottom: 12px;
    text-transform: uppercase;
  }
  .post_content .libnew-faq-h2 {
    font-size: 38px;
    font-weight: 700;
    line-height: 1.45;
    margin-bottom: 48px;
    color: #1a1a1a;
  }

  .post_content .libnew-faq-item {
    border-bottom: 1px solid #e5e7eb;
  }
  .post_content .libnew-faq-item summary {
    list-style: none;
    cursor: pointer;
    padding: 22px 56px 22px 44px;
    position: relative;
    font-size: 16px;
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1.65;
  }
  .post_content .libnew-faq-item summary::-webkit-details-marker { display: none; }
  .post_content .libnew-faq-item summary::before {
    content: 'Q';
    position: absolute;
    left: 8px;
    top: 22px;
    font-family: 'Inter', sans-serif;
    font-size: 17px;
    font-weight: 800;
    color: #F97316;
    line-height: 1.65;
  }
  .post_content .libnew-faq-item summary::after {
    content: '＋';
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 20px;
    color: #888;
    font-weight: 400;
    transition: transform 0.2s ease;
  }
  .libnew-faq-item[open] summary::after { content: '−'; }
  .post_content .libnew-faq-item summary:hover { background: #fafafa; }
  .post_content .libnew-faq-item-answer {
    padding: 0 56px 26px 44px;
    position: relative;
    font-size: 14.5px;
    line-height: 2;
    color: #444;
  }
  .post_content .libnew-faq-item-answer::before {
    content: 'A';
    position: absolute;
    left: 8px;
    top: 0;
    font-family: 'Inter', sans-serif;
    font-size: 17px;
    font-weight: 800;
    color: #2563EB;
    line-height: 1.65;
  }

  @media (max-width: 768px) {
    .post_content .libnew-faq { padding: 64px 0; }
    .post_content .libnew-faq-wrap { padding: 0 20px; }
    .post_content .libnew-faq-eyebrow { font-size: 11px; }
    .post_content .libnew-faq-h2 { font-size: 23px; line-height: 1.55; margin-bottom: 32px; }

    .post_content .libnew-faq-item summary {
      padding: 18px 44px 18px 36px;
      font-size: 14.5px;
      line-height: 1.65;
    }
    .post_content .libnew-faq-item summary::before { left: 4px; top: 18px; font-size: 15px; }
    .post_content .libnew-faq-item summary::after { right: 10px; font-size: 18px; }
    .post_content .libnew-faq-item-answer {
      padding: 0 16px 22px 36px;
      font-size: 13.5px;
      line-height: 1.95;
    }
    .post_content .libnew-faq-item-answer::before { left: 4px; font-size: 15px; }
  }

/* ============================================================
 * [10] [八尾] 最終CTA + NAP  (yao_office.html)
 * ============================================================ */
/* === 最終CTAブロック === */
  .post_content .libnew-finalcta {
    padding: 96px 0 72px;
    background: linear-gradient(135deg, #1e3a8a 0%, #2563EB 100%);
    color: #fff;
    text-align: center;
    position: relative;
    overflow: hidden;
  }
  .post_content .libnew-finalcta::before {
    content: '';
    position: absolute;
    top: -80px; right: -80px;
    width: 320px; height: 320px;
    border-radius: 50%;
    background: rgba(249, 115, 22, 0.15);
  }
  .post_content .libnew-finalcta::after {
    content: '';
    position: absolute;
    bottom: -120px; left: -120px;
    width: 300px; height: 300px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.05);
  }
  .post_content .libnew-finalcta-wrap {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 24px;
    position: relative;
    z-index: 2;
  }
  .post_content .libnew-finalcta-eyebrow {
    display: inline-block;
    color: #F97316;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.18em;
    margin-bottom: 16px;
    text-transform: uppercase;
  }
  .post_content .libnew-finalcta-h2 {
    font-size: 36px;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 24px;
  }
  .post_content .libnew-finalcta-h2 strong { color: #F97316; }
  .post_content .libnew-finalcta-desc {
    font-size: 16px;
    line-height: 2;
    color: rgba(255, 255, 255, 0.92);
    margin-bottom: 40px;
  }
  .post_content .libnew-finalcta-desc strong { color: #F97316; font-weight: 700; }

  .post_content .libnew-finalcta-btns {
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
  }
  .post_content .libnew-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 20px 36px;
    border-radius: 14px;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
  }
  .post_content .libnew-btn-primary {
    background: #F97316;
    color: #fff;
    box-shadow: 0 12px 32px rgba(249, 115, 22, 0.45);
  }
  .post_content .libnew-btn-primary:hover {
    background: #ea6510;
    transform: translateY(-2px);
    box-shadow: 0 16px 36px rgba(249, 115, 22, 0.55);
  }
  .post_content .libnew-btn-line {
    background: #06C755;
    color: #fff;
    box-shadow: 0 12px 32px rgba(6,199,85,0.40);
  }
  .post_content .libnew-btn-line:hover {
    background: #05a648;
    transform: translateY(-2px);
    box-shadow: 0 16px 36px rgba(6,199,85,0.50);
  }
  .post_content .libnew-btn-icon {
    width: 22px;
    height: 22px;
    background: rgba(255, 255, 255, 0.22);
    border-radius: 5px;
    color: #fff;
    font-weight: 800;
    font-size: 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: 'Inter', sans-serif;
  }

  /* === NAP（会社情報）ブロック === */
  .post_content .libnew-office {
    padding: 80px 0 96px;
    background: linear-gradient(135deg, #2563EB 0%, #1e3a8a 100%);
    color: #fff;
  }
  .post_content .libnew-office-wrap {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 24px;
  }
  .post_content .libnew-office-eyebrow {
    display: inline-block;
    color: #F97316;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.18em;
    margin-bottom: 12px;
    text-transform: uppercase;
  }
  .post_content .libnew-office-h2 {
    font-size: 36px;
    font-weight: 700;
    line-height: 1.45;
    margin-bottom: 48px;
    color: #fff;
  }

  .post_content .libnew-office-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start;
    margin-bottom: 32px;
  }

  .post_content .libnew-office-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
  }
  .post_content .libnew-office-table tr { border-bottom: 1px solid rgba(255,255,255,0.18); }
  .post_content .libnew-office-table th,
  .post_content .libnew-office-table td {
    padding: 16px 12px;
    text-align: left;
    font-size: 14.5px;
    line-height: 1.7;
    vertical-align: top;
    border-bottom: 1px solid rgba(255,255,255,0.18);
  }
  .post_content .libnew-office-table th {
    width: 32%;
    color: rgba(255,255,255,0.7);
    font-weight: 500;
    font-size: 13px;
    letter-spacing: 0.04em;
  }
  .post_content .libnew-office-table td {
    width: 68%;
    color: #fff;
    font-weight: 500;
  }
  .post_content .libnew-office-table tr:first-child th,
  .post_content .libnew-office-table tr:first-child td { padding-top: 8px; }
  .post_content .libnew-office-table tr:last-child th,
  .post_content .libnew-office-table tr:last-child td { border-bottom: none; }
  .post_content .libnew-office-table a {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-color: rgba(249,115,22,0.6);
  }
  .post_content .libnew-office-table a:hover { text-decoration-color: #F97316; }

  .post_content .libnew-office-map {
    width: 100%;
    height: 400px;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 12px 36px rgba(0,0,0,0.20);
    background: rgba(255,255,255,0.05);
  }
  .post_content .libnew-office-map iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
  }

  .post_content .libnew-office-note {
    padding: 20px 24px;
    background: rgba(255,255,255,0.08);
    border-radius: 12px;
    border-left: 3px solid #F97316;
    font-size: 13.5px;
    line-height: 1.9;
    color: rgba(255,255,255,0.92);
  }
  .post_content .libnew-office-note strong { color: #fff; font-weight: 700; }

  /* スマホ */
  @media (max-width: 768px) {
    /* CTA */
    .post_content .libnew-finalcta { padding: 64px 0 56px; }
    .post_content .libnew-finalcta-wrap { padding: 0 20px; }
    .post_content .libnew-finalcta-eyebrow { font-size: 11px; }
    .post_content .libnew-finalcta-h2 { font-size: 22px; line-height: 1.55; margin-bottom: 18px; }
    .post_content .libnew-finalcta-desc { font-size: 14.5px; margin-bottom: 32px; }

    .post_content .libnew-finalcta-btns { flex-direction: column; gap: 12px; }
    .post_content .libnew-btn { width: 100%; padding: 18px; font-size: 15px; }

    /* Office */
    .post_content .libnew-office { padding: 56px 0 72px; }
    .post_content .libnew-office-wrap { padding: 0 20px; }
    .post_content .libnew-office-eyebrow { font-size: 11px; }
    .post_content .libnew-office-h2 { font-size: 23px; line-height: 1.55; margin-bottom: 28px; }

    .post_content .libnew-office-grid { grid-template-columns: 1fr; gap: 24px; margin-bottom: 24px; }
    .post_content .libnew-office-table th,
    .post_content .libnew-office-table td { padding: 13px 8px; font-size: 13px; }
    .post_content .libnew-office-table th { font-size: 12px; width: 34%; }
    .post_content .libnew-office-map { height: 280px; }

    .post_content .libnew-office-note { padding: 16px 18px; font-size: 12.5px; }
  }
