    /* サイト共通トーン（ネイビー・ブルー・白・淡いブルー） */
    :root {
      --primary-color: #249e91;     /* 落ち着いたメインネイビー */
      --secondary-color: #48b796;   /* 鮮やかなアクセントブルー */
      --bg-light: #f4f9fd;          /* 淡い水色背景 */
      --border-color: #dbeaf5;      /* 枠線用 */
      --text-main: #333333;         /* 本文文字色 */
      --text-sub: #666666;
    }

    body {
      font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
      /*line-height: 1.7;*/
      color: var(--text-main);
      margin: 0;
      padding: 0;
      background-color: #fcfcfc;
    }

    .container {
      max-width: 900px;
      margin: 0 auto;
      padding: 0px 15px;
    }

    /* ページヘッダー */
    .page-header {
      background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
      color: #ffffff;
      padding: 20px 30px 15px 30px;
      text-align: center;
      border-radius: 8px;
      margin-bottom: 30px;
    }
    .page-header h1 {
      margin: 0;
      font-size: 26px;
      letter-spacing: 0.05em;
    }
    .page-header p {
      margin: 5px 0 0 0;
      font-size: 15px;
      opacity: 0.9;
    }

    /* セクション共通 */
    .section-card {
      background: #ffffff;
      border: 1px solid var(--border-color);
      border-radius: 8px;
      padding: 30px;
      margin-bottom: 30px;
      box-shadow: 0 2px 5px rgba(0,0,0,0.03);
    }
    .section-title {
      font-size: 20px;
      color: var(--primary-color);
      border-left: 5px solid var(--secondary-color);
      padding-left: 12px;
      margin-top: 0;
      margin-bottom: 20px;
    }

    /* 3つの特徴 */
    .features-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
      gap: 20px;
      margin-top: 20px;
    }
    .feature-item {
      background: var(--bg-light);
      border: 1px solid var(--border-color);
      border-radius: 6px;
      padding: 20px;
      text-align: center;
    }
    .feature-item .num {
      display: inline-block;
      width: 32px;
      height: 32px;
      line-height: 32px;
      background: var(--primary-color);
      color: #fff;
      border-radius: 50%;
      font-weight: bold;
      margin-bottom: 10px;
    }
    .feature-item h3 {
      font-size: 16px;
      line-height: 1.5;
      color: var(--primary-color);
      padding: 5px 15px !important;
      margin: 0;
    }
    .feature-item p {
      font-size: 14px;
      color: var(--text-sub);
      margin: 0;
      text-align: left;
    }

    /* 検査の流れ */
    .flow-list {
      list-style: none;
      padding: 0;
      margin: 0;
    }
    .flow-list li {
      position: relative;
      padding-left: 50px;
      margin-bottom: 25px;
    }
    /* 最後のステップだけ下の余白をなくす */
    .flow-list li:last-child {
      margin-bottom: 0;
    }
    .flow-step-num {
      position: absolute;
      left: 0;
      top: 0;
      width: 36px;
      height: 36px;
      background: var(--secondary-color);
      color: #ffffff;
      border-radius: 4px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: bold;
      font-size: 14px;
    }
    .flow-list li:not(:last-child)::after {
      content: "";
      position: absolute;
      left: 17px;
      top: 42px;
      bottom: -15px;
      width: 2px;
      background: #cce2f0;
    }
    .flow-title {
      font-weight: bold;
      font-size: 16px;
      color: var(--primary-color);
      margin-bottom: 4px;
    }
    .flow-desc {
      font-size: 14px;
      color: var(--text-sub);
      margin: 0;
    }

    /* 対象項目一覧表 */
    .allergens-box {
      background: #fafafa;
      border: 1px solid #eaeaea;
      padding: 20px;
      border-radius: 6px;
      font-size: 14px;
    }
    .allergens-category {
      font-weight: bold;
      color: var(--primary-color);
      margin-top: 10px;
      margin-bottom: 5px;
    }
    .allergens-category:first-child {
      margin-top: 0;
    }

    /* 注意事項ボックス */
    .notice-box {
      background-color: #fff8e8;
      border: 1px solid #fae1b4;
      border-radius: 6px;
      padding: 18px;
      font-size: 14px;
      color: #6a4e00;
    }
    .notice-box ul {
      margin: 5px 0 0 20px;
      padding: 0;
    }

    /* 戻るリンク */
    .back-nav {
      text-align: center;
      margin-top: 40px;
    }
    .back-nav a {
      display: inline-block;
      padding: 10px 24px;
      background-color: #ffffff;
      color: var(--primary-color);
      border: 1px solid var(--primary-color);
      border-radius: 4px;
      text-decoration: none;
      font-size: 14px;
      font-weight: bold;
      transition: all 0.2s;
    }
    .back-nav a:hover {
      background-color: var(--primary-color);
      color: #ffffff;
    }

    /* アレルゲン一覧 テーブルスタイル */
    .allergen-lead {
      font-size: 14px;
      color: #555555;
      margin-bottom: 20px;
    }

    .allergen-container {
      display: flex;
      gap: 20px;
      margin-bottom: 12px;
    }

    .allergen-col {
      flex: 1;
      border-radius: 8px;
      overflow: hidden;
      border: 1px solid #e2e8f0;
    }

    /* ヘッダー帯の色分け */
    .inhalation-col .col-header {
      background: #0288d1; /* 吸入系：爽やかなブルー */
      color: #ffffff;
      font-weight: bold;
      text-align: center;
      padding: 10px;
      font-size: 16px;
      letter-spacing: 0.05em;
    }

    .food-col .col-header {
      background: #e91e63; /* 食物系：マゼンタピンク */
      color: #ffffff;
      font-weight: bold;
      text-align: center;
      padding: 10px;
      font-size: 16px;
      letter-spacing: 0.05em;
    }

    /* 表レイアウト */
    .allergen-table {
      width: 100%;
      border-collapse: collapse;
      font-size: 13.5px;
      background-color: #ffffff;
    }

    .allergen-table th,
    .allergen-table td {
      padding: 10px 12px;
      border-bottom: 1px solid #edf2f7;
      vertical-align: middle;
    }

    .allergen-table tr:last-child th,
    .allergen-table tr:last-child td {
      border-bottom: none;
    }

    /* 左列（分類名） */
    .inhalation-col th {
      width: 32%;
      background-color: #e1f5fe;
      color: #01579b;
      font-weight: bold;
      text-align: center;
      border-right: 1px solid #b3e5fc;
    }

    .food-col th {
      width: 32%;
      background-color: #fce4ec;
      color: #880e4f;
      font-weight: bold;
      text-align: center;
      border-right: 1px solid #f8bbd0;
    }

    /* 右列（項目名） */
    .allergen-table td {
      color: #333333;
      line-height: 1.6;
    }

    /* 文字ハイライト（特定原材料） */
    .text-red {
      color: #d32f2f;
      font-weight: bold;
    }

    .text-blue {
      color: #0277bd;
      font-weight: bold;
    }

    /* 凡例 */
    .allergen-legend {
      text-align: right;
      font-size: 12px;
      color: #666666;
      margin-top: 8px;
    }

    .allergen-legend span {
      margin-left: 15px;
    }

    /* スマホ対応（768px以下で1列表示） */
    @media screen and (max-width: 768px) {
      .allergen-container {
        flex-direction: column;
        gap: 25px;
      }
      .allergen-col {
        width: 100%;
      }
    }

    /* サイドバー用バナーのスタイル例（サイトの青基調に合わせた配色） */
    .drop-screen-banner {
      margin: 15px 0;
      border-radius: 8px;
      overflow: hidden;
      box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
      border: 1px solid #cce2f0;
      background: #ffffff;
    }
    .drop-screen-banner .banner-link {
      display: block;
      padding: 16px;
      text-decoration: none;
      color: #333333;
      transition: all 0.2s ease;
    }
    .drop-screen-banner .banner-link:hover {
      background-color: #f4f9fd;
    }
    .drop-screen-banner .banner-badge {
      display: inline-block;
      background: #0070ba; /* 医院サイトに合わせた落ち着いたブルー */
      color: #ffffff;
      font-size: 14px;
      font-weight: bold;
      padding: 3px 8px;
      border-radius: 4px;
      margin-bottom: 8px;
    }
    .drop-screen-banner .banner-title {
      font-size: 16px;
      font-weight: bold;
      color: #0b4f8a;
      margin-bottom: 6px;
      line-height: 1.4;
    }
    .drop-screen-banner .banner-desc {
      font-size: 14px;
      color: #666666;
      line-height: 1.5;
      margin-bottom: 10px;
    }
    .drop-screen-banner img {
      display: block;
      margin: auto;
      margin-bottom: 10px;
    }
    .drop-screen-banner .banner-btn {
      text-align: right;
      font-size: 12px;
      font-weight: bold;
      color: #0070ba;
    }
