
  .media {
    display: flex;
    gap: 24px;               /* 画像とテキストの間隔 */
    align-items: center;     /* 縦中央揃え */
    padding: 16px;
  }

  .media__image {
    flex: 0 0 40%;           /* 画像領域の幅（固定比率） */
    max-width: 320px;        /* 最大幅 */
  }

  .media__image img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 8px;
    object-fit: cover;
  }

  .media__body {
    flex: 1 1 60%;
    min-width: 0;            /* テキストの折り返しを正しく動作させる */
  }

  /* レスポンシブ：画面が狭いときは縦並びに */
  @media (max-width: 720px) {
    .media { flex-direction: column; align-items: stretch; }
    .media__image { width: 100%; max-width: none; }
  }

   /* 画面区切り線 */
  .dashed-line {
    border: none;
    border-top: 1px dashed #aaa; /* 点線 */
    margin: 32px 0;
  }

  /* 🌿 全体のフォントをここで一括指定 */
  body {
    font-family: "Noto Serif JP", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;
    font-size: 16px;          /* 読みやすい標準サイズ */
    line-height: 1.8;         /* 行間をゆったり */
    color: #222;              /* 濃いグレーで柔らかく */
    background-color: #fff;   /* 白背景で清潔感 */
    margin: 0;
    padding: 0;
  }


  /* サムネイルに文字をセット */
    .image-container {
    position: relative;       /* 子要素を絶対配置可能にする */
    width: 300px;             /* 任意の幅 */
  }

  .image-container img {
    width: 100%;
    display: block;
    border-radius: 8px;
  }

  .image-caption {
    position: absolute;       /* 親要素に対して絶対位置 */
    bottom: 16px;             /* 下から16pxの位置 */
    left: 50%;                /* 横中央の基準 */
    transform: translateX(-50%); /* 横中央に調整 */
    color: #fff;              /* 白文字 */
    background: rgba(0,0,0,0.5); /* 半透明の背景 */
    padding: 4px 12px;
    border-radius: 4px;
    font-size: 14px;
    font-family: "Noto Serif JP", serif;
  }