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

    /* ---- message page local styles ---- */
    .msg-essay { max-width: 720px; margin: 0 auto; padding: 0 24px; }
    .msg-block { padding: 0 0 84px; }
    .msg-head {
      display: flex; flex-direction: column; align-items: center;
      text-align: center; margin-bottom: 44px;
    }
    .msg-avatar {
      width: 148px; height: 148px; border-radius: 50%;
      background: radial-gradient(ellipse at 32% 28%, #FBE0E4 0%, #F4C9D2 62%, #EEB9C6 100%);
      display: flex; align-items: center; justify-content: center;
      box-shadow: 0 18px 34px -22px rgba(226,67,105,0.55);
      overflow: hidden;
    }
    .msg-role {
      margin: 26px 0 0; font-size: 13px; font-weight: 700;
      color: #E24369; letter-spacing: 0.14em;
    }
    .msg-name {
      margin: 10px 0 0; font-size: 26px; font-weight: 700;
      letter-spacing: 0.12em; color: #524740;
    }
    .msg-name span { font-size: 14px; font-weight: 500; letter-spacing: 0.06em; color: #9C8F84; }
    .msg-p {
      margin: 0 0 28px; font-size: 16px; line-height: 2.35;
      letter-spacing: 0.045em; text-wrap: pretty;
    }
    .msg-p:last-child { margin-bottom: 0; }
    .msg-sign {
      margin: 40px 0 0; text-align: right; line-height: 1.9;
      letter-spacing: 0.08em;
    }
    .msg-sign small { display: block; font-size: 13px; color: #9C8F84; letter-spacing: 0.06em; }
    .msg-sign b { font-size: 20px; font-weight: 700; color: #524740; }
    .msg-divider {
      max-width: 720px; margin: 0 auto 84px; padding: 0 24px;
      display: flex; align-items: center; justify-content: center; gap: 16px;
    }
    .msg-divider::before, .msg-divider::after {
      content: ""; flex: 1; height: 1px; background: #EAD9C9;
    }

    /* ---- 「私たちからのメッセージ」セクション（PDF 7p / 付録D） ---- */
    .msg-us__head { text-align: center; margin: 0 auto 52px; padding: 0 24px; }
    .msg-us__h2 {
      margin: 12px 0 0; font-size: 28px; font-weight: 700;
      letter-spacing: 0.14em; line-height: 1.7; color: #524740;
      display: inline-flex; align-items: center; gap: 14px;
    }
    .msg-us__inner {
      max-width: 1100px; margin: 0 auto; padding: 0 24px;
      display: flex; align-items: flex-start; gap: 52px;
    }
    .msg-us__main { flex: 1 1 0; min-width: 0; }
    .msg-us__side { flex: 0 0 320px; position: sticky; top: 100px; }
    .msg-us__block { margin: 0 0 48px; }
    .msg-us__block:last-child { margin-bottom: 0; }
    .msg-h3 {
      margin: 0 0 18px; padding-left: 18px;
      font-size: 19px; font-weight: 700; letter-spacing: 0.08em; line-height: 1.7;
      color: #E24369; border-left: 4px solid #F3C3CE;
    }
    /* 絵本カラム */
    .msg-book {
      background: #FBF5EF; border: 1px solid #F0E8DC; border-radius: 16px;
      padding: 18px 18px 22px; box-shadow: 0 6px 22px rgba(82,71,64,0.05);
    }
    .msg-book img {
      display: block; width: 100%; height: auto;
      border-radius: 10px; background: #FFFFFF;
    }
    .msg-book__cap {
      margin: 18px 0 0; font-size: 13.5px; line-height: 1.95;
      letter-spacing: 0.02em; color: #524740; text-wrap: pretty;
    }
    .msg-book__creator {
      margin: 18px 0 0; padding-top: 16px; border-top: 1px dashed #E3D4C2;
    }
    .msg-book__creator b {
      display: block; font-size: 14px; font-weight: 700;
      letter-spacing: 0.04em; color: #E24369;
    }
    .msg-book__creator p {
      margin: 8px 0 0; font-size: 12.5px; line-height: 1.9;
      letter-spacing: 0.02em; color: #7C7168; text-wrap: pretty;
    }

    /* ===== 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; }
      /* message essays */
      .msg-essay { padding: 0 20px !important; }
      .msg-block { padding-bottom: 56px !important; }
      .msg-avatar { width: 112px !important; height: 112px !important; }
      .msg-role { font-size: 12px !important; }
      .msg-name { font-size: 20px !important; }
      .msg-p { font-size: 15px !important; line-height: 2.05 !important; margin-bottom: 22px !important; }
      .msg-sign b { font-size: 17px !important; }
      .msg-divider { margin-bottom: 56px !important; }
      /* 私たちからのメッセージ */
      .msg-us__head { margin-bottom: 36px !important; padding: 0 20px !important; }
      .msg-us__h2 { font-size: 22px !important; letter-spacing: 0.1em !important; gap: 10px !important; }
      .msg-us__inner { flex-direction: column !important; gap: 40px !important; padding: 0 20px !important; }
      .msg-us__side { position: static !important; top: auto !important; flex: 1 1 auto !important; width: 100% !important; }
      .msg-us__block { margin-bottom: 36px !important; }
      .msg-h3 { font-size: 16.5px !important; padding-left: 14px !important; margin-bottom: 14px !important; }
      .msg-book { padding: 14px 14px 18px !important; border-radius: 14px !important; }
      .msg-book__cap { font-size: 13px !important; }
      .msg-book__creator p { font-size: 12px !important; }
    }
