/* outline — 生成元: 実装/outline.dc.html */
a { color: #E24369; }
    a:hover { color: #C63056; }

    /* ---- outline definition table ----
       このページのルートには .hr-root が付かず parts.css の box-sizing 指定が効かないため、
       ここで border-box を明示する。これを入れないと SP（≤640px で縦積みになったとき）に
       width:100% + 左右 padding の分だけ .ol-dt / .ol-dd がコンテナからはみ出し、
       見出しのベージュ背景が画面右端をはみ出して見える。
       PC の見た目を変えないよう、.ol-dt の width は旧 232px + 左右 padding 48px = 280px にしている。 */
    .ol-table, .ol-row, .ol-dt, .ol-dd,
    .ol-hist, .hist-timeline, .hist-item, .hist-date, .hist-dot, .hist-event { box-sizing: border-box; }
    .ol-table {
      max-width: 940px;
      margin: 0 auto;
      border-top: 1px solid #EAD9C9;
    }
    .ol-row {
      display: flex;
      align-items: stretch;
      border-bottom: 1px solid #EAD9C9;
    }
    .ol-dt {
      flex: none;
      width: 280px;
      padding: 24px 24px;
      background: #FBF5EF;
      font-size: 15px;
      font-weight: 700;
      letter-spacing: 0.04em;
      color: #524740;
      display: flex;
      align-items: center;
    }
    .ol-dd {
      flex: 1;
      padding: 24px 28px;
      font-size: 15px;
      line-height: 1.95;
      letter-spacing: 0.03em;
      color: #524740;
    }
    .ol-dd .en { display: block; font-size: 13px; color: #9C8F84; letter-spacing: 0.02em; }
    .ol-dd a { color: #E24369; text-decoration: underline; text-underline-offset: 3px; }

    /* PDF リンクリスト */
    .ol-pdf {
      list-style: none;
      margin: 4px 0 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      gap: 12px;
    }
    .ol-pdf a {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      text-decoration: none;
      color: #524740;
      font-size: 14.5px;
      letter-spacing: 0.02em;
      transition: color 0.2s ease;
    }
    .ol-pdf a:hover { color: #E24369; }
    .ol-pdf .pdf-badge {
      flex: none;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 40px;
      height: 20px;
      border-radius: 4px;
      background: #E24369;
      color: #FFFFFF;
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.06em;
    }
    /* ---- 沿革（削除した history.dc.html のタイムラインを移植） ---- */
    .ol-hist { max-width: 940px; margin: 0 auto; }
    .ol-hist__h2 {
      margin: 0;
      font-size: 27px;
      font-weight: 700;
      letter-spacing: 0.12em;
      line-height: 1.5;
    }
    .ol-hist__rule { width: 42px; height: 3px; background: #E24369; border-radius: 2px; margin: 16px 0 0; }
    .hist-timeline {
      position: relative;
      max-width: 860px;
      margin: 46px auto 0;
      padding: 8px 24px 8px;
    }
    /* 縦線 */
    .hist-timeline::before {
      content: "";
      position: absolute;
      left: 178px;
      top: 12px;
      bottom: 12px;
      width: 2px;
      background: linear-gradient(#F2C7D0, #EAD9C9);
    }
    .hist-item {
      position: relative;
      display: flex;
      align-items: flex-start;
      gap: 0;
      padding: 0 0 40px;
    }
    .hist-item:last-child { padding-bottom: 0; }
    .hist-date {
      flex: none;
      width: 150px;
      padding-top: 1px;
      text-align: right;
      font-size: 15px;
      font-weight: 700;
      letter-spacing: 0.04em;
      color: #E24369;
    }
    /* ドット */
    .hist-dot {
      flex: none;
      position: relative;
      width: 56px;
      display: flex;
      justify-content: center;
      padding-top: 6px;
    }
    .hist-dot::before {
      content: "";
      width: 14px;
      height: 14px;
      border-radius: 50%;
      background: #E24369;
      border: 3px solid #FFFFFF;
      box-shadow: 0 0 0 2px #F2C7D0;
      z-index: 1;
    }
    .hist-event {
      flex: 1;
      padding-top: 1px;
      font-size: 15.5px;
      line-height: 1.9;
      letter-spacing: 0.03em;
      color: #524740;
      text-wrap: pretty;
    }

    /* ---- 理念・行動指針（沿革の上。2026-11 追加） ---- */
    .ol-phil-sec { padding: 34px 20px 30px; }
    .ol-phil, .ol-phil *, .ol-values, .ol-values *, .ol-principles, .ol-principles * { box-sizing: border-box; }
    .ol-phil { margin: 34px 0 72px; display: flex; flex-direction: column; gap: 38px; }
    .ol-phil__label { margin: 0; font-size: 15px; font-weight: 700; letter-spacing: 0.06em; color: #E24369; }
    .ol-phil__label span { font-size: 13px; font-weight: 500; color: #9C8F84; letter-spacing: 0.02em; }
    .ol-phil__lead { margin: 10px 0 0; font-size: 21px; font-weight: 700; line-height: 1.7; letter-spacing: 0.06em; color: #524740; text-wrap: pretty; }
    .ol-phil__text { margin: 12px 0 0; font-size: 15px; line-height: 2; letter-spacing: 0.03em; color: #524740; }
    .ol-values { list-style: none; margin: 18px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
    .ol-values li { background: #FBF5EF; border-radius: 14px; padding: 24px 24px 26px; }
    .ol-values__num { display: block; font-size: 13px; font-weight: 700; letter-spacing: 0.1em; color: #E24369; }
    .ol-values h3 { margin: 8px 0 0; font-size: 16.5px; font-weight: 700; line-height: 1.6; letter-spacing: 0.04em; color: #524740; }
    .ol-values h3 small { display: block; margin-top: 2px; font-size: 12px; font-weight: 500; letter-spacing: 0.06em; color: #9C8F84; }
    .ol-values p { margin: 12px 0 0; font-size: 14.5px; line-height: 1.95; letter-spacing: 0.03em; color: #524740; }
    .ol-phil__h2 span { margin-left: 14px; font-size: 14px; font-weight: 500; letter-spacing: 0.06em; color: #9C8F84; }
    .ol-principles { list-style: none; margin: 30px 0 0; padding: 0; border-top: 1px solid #EAD9C9; }
    .ol-principles li { display: flex; align-items: flex-start; gap: 22px; padding: 24px 4px; border-bottom: 1px solid #EAD9C9; }
    .ol-principles__tag { flex: none; min-width: 92px; padding: 6px 12px; border-radius: 999px; background: #E24369; color: #FFFFFF; font-size: 13.5px; font-weight: 700; letter-spacing: 0.06em; text-align: center; }
    .ol-principles h3 { margin: 2px 0 0; font-size: 17px; font-weight: 700; line-height: 1.6; letter-spacing: 0.04em; color: #524740; }
    .ol-principles p { margin: 8px 0 0; font-size: 15px; line-height: 1.95; letter-spacing: 0.03em; color: #524740; }
    @media (max-width: 768px) {
      .ol-phil-sec { padding: 26px 20px 10px; }
      .ol-phil { margin: 26px 0 52px; gap: 30px; }
      .ol-phil__lead { font-size: 17.5px; }
      .ol-phil__text { font-size: 14.5px; line-height: 1.95; }
      .ol-values { grid-template-columns: 1fr; gap: 12px; }
      .ol-values li { padding: 20px 20px 22px; }
      .ol-phil__h2 span { display: block; margin: 4px 0 0; font-size: 13px; }
      .ol-principles li { flex-direction: column; gap: 10px; padding: 20px 2px; }
      .ol-principles h3 { font-size: 16px; }
      .ol-principles p { font-size: 14.5px; }
    }

    @media (max-width: 640px) {
      .ol-row { flex-direction: column; }
      .ol-dt { width: 100%; padding: 16px 20px; }
      .ol-dd { padding: 16px 20px; }
      .hist-timeline::before { left: 7px; }
      .hist-item { flex-wrap: wrap; }
      .hist-date { width: 100%; text-align: left; padding-left: 34px; }
      .hist-dot { position: absolute; left: 0; top: 2px; width: 16px; padding-top: 0; }
      .hist-event { flex-basis: 100%; padding-left: 34px; margin-top: 6px; }
    }

    /* ===== SP (≤768px) — PC版(769px以上)は一切変更しない ===== */
    @media (max-width: 768px) {
      /* lead */
      .pg-lead { padding: 46px 20px 8px !important; }
      .pg-lead h2 { font-size: 22px !important; }
      .pg-lead p { font-size: 14.5px !important; line-height: 2 !important; }
      /* definition table */
      .ol-table { border-top: none !important; }
      .ol-dt { font-size: 13.5px !important; padding: 14px 18px !important; }
      .ol-dd { font-size: 14px !important; padding: 14px 18px !important; line-height: 1.9 !important; }
      .ol-dd .en { font-size: 12px !important; }
      .ol-pdf a { font-size: 13.5px !important; }
      /* 沿革 */
      .ol-hist__h2 { font-size: 21px !important; }
      .hist-timeline { padding: 8px 18px !important; margin-top: 34px !important; }
      .hist-date { font-size: 13.5px !important; }
      .hist-event { font-size: 14.5px !important; line-height: 1.85 !important; }
    }
