/* -----------------------------
-----------------------------
  ご依頼についてのページ
  -----------------------------
----------------------------- */
.main {
  position: relative;
}

#production-main img {
  height: auto;
  display: block;
  margin: 0 auto; /* 中央寄せにしたい場合 */
}

/* commission section */
.commission-section .goirai-content {
  display: flex;              /* 横並びにする */
  align-items: center;        /* 縦方向の中央揃え */
  justify-content: space-between; /* 左右に余白を作る */
  gap: 2rem;                  /* テキストと画像の間の余白 */
  flex-wrap: wrap;            /* 画面が狭くなったら折り返す */
}

.commission-section .goirai-content .text {
  flex: 1 1 400px;            /* 最小幅400px、必要に応じて縮小 */
}

.commission-note-adult {
  margin-top: 1.5em;
  font-size: 0.8rem;
  color: #555;
  line-height: 1.6;
}

.commission-section .goirai-content .image {
  flex: 1 1 300px;            /* 最小幅300px、必要に応じて縮小 */
}

.commission-section .goirai-content .image img {
  width: 100%;                /* 画像を親要素に合わせる */
  height: auto;               /* 高さは自動 */
  display: block;             /* 余白の隙間をなくす */
}

/* examples-section 全体 */
.examples-section .container {
  text-align: center;
}

/* 上段・下段共通 */
.examples-section .example-images-top,
.examples-section .example-images-bottom {
  padding: 40px 0; /* 上下50px */
  display: flex;
  justify-content: space-between; /* 均等割 */
  flex-wrap: nowrap;              /* 折り返さない */
  gap: 10px;                      /* 画像間隔 */
  align-items: center;            /* 上下中央揃え */
}
.examples-section .example-images-top .image,
.examples-section .example-images-bottom .image {
  flex: 1 1 0;  /* 均等幅にする */
}

.examples-section .example-images-top .image img,
.examples-section .example-images-bottom .image img {
  width: 100%;        /* 親幅いっぱいに */
  height: auto;       /* 縦横比維持 */
  display: block;
}

.examples-section .image,
.flow-section .image {
  text-align: center;
}

.examples-section .caption,
.flow-section .caption {
  font-size: 14px;
  color: #555;
  margin-top: 5px;
  font-weight: bold;   /* これで太文字に */
}
.examples-section .caption a {
  color: #007acc;        /* わかりやすい青 */
  font-weight: bold;     /* 太字でさらに目立たせる */
  text-decoration: none; /* 下線を消す場合 */
}

/* ホバー時に少し変化させるとさらにわかりやすく */
.examples-section .caption a:hover,
.examples-section .caption a:focus,
.examples-section .caption a:active {
  text-decoration: none; /* ホバーやクリック後も下線なし */
  color: #005fa3;
}

/* 2段目：テキスト */
.examples-section .example-text p {
  text-align: center;
  max-width: 800px; /* テキスト幅制限 */
  margin: 1rem auto;
  line-height: 1.6;
  font-size: 1rem;
}

/* 制作の流れセクション */
/* フロー図全体 */
.flow-diagram {
  display: flex;
  justify-content: space-between; /* 均等に配置 */
  align-items: center;
  gap: 40px; /* ステップ間の距離 */
  margin-top: 40px;
}

/* 各ステップ */
.flow-step {
  flex: 1 1 0;            /* 均等幅にする */
  text-align: center;      /* 中央揃え */
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* ステップの枠 */
.step-box {
  border: 2px solid #888;
  border-radius: 10px;
  padding: 20px;
  background: #f9f9f9;
  display: inline-block; 
  flex-direction: column;
  align-items: center;
  min-width: 120px;
}

/* 制作内の画像群 */
.step-images {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 10px;
}

.step-images .image {
  text-align: center;
}

.step-images .image img {
  width: 100px; /* 好きなサイズに調整 */
  height: auto;
  display: block;
}

/* 矢印 */
/* 真ん中のflow-stepだけ左右に矢印 */
.flow-step:nth-child(2)::before,
.flow-step:nth-child(2)::after {
  content: "▶︎";         /* 矢印文字 */
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 24px;
  color: #888;
}

/* 左矢印 */
.flow-step:nth-child(2)::before {
  left: -40px;           /* 左側のボックスとの距離 */
}

/* 右矢印 */
.flow-step:nth-child(2)::after {
  right: -40px;          /* 右側のボックスとの距離 */
}


/* 料金についてセクション */
.pricing-section .price-list {
  max-width: 390px;   /* テキスト枠の幅 */
  margin: 0 auto;     /* 左右中央寄せ */
  text-align: left;   /* テキストは左揃え */
}
.price-list + p {
  margin-top: 1em; /* 上の段落との間にスペース */
}

.highlight-link {
  color: #1da1f2; /* Rinちゃんリンク色と同じ */
  text-decoration: none; /* 下線なし */
  font-weight: 700;      /* 太文字 */
}

.highlight-link:hover {
  text-decoration: underline; /* ホバー時に下線 */
}
/* 料金カード */
.price-cards {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
  margin: 20px 0;
}

.price-card {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 12px;
  padding: 16px;
  width: 200px;
  text-align: center;
  box-shadow: 0 4px 6px rgba(0,0,0,0.05);
  transition: transform 0.2s ease;
}

.price-card:hover {
  transform: translateY(-4px);
}

.price-card h3 {
  margin: 0 0 8px;
  font-size: 1.1rem;
  font-weight: 600;
}

.price-card .price {
  font-size: 1.3rem;
  font-weight: bold;
  margin: 0 0 6px;
}

.price-card .note {
  font-size: 0.8rem;
  line-height: 1.2;  /* 行間も少し詰める */
  margin-top: 4px;   /* 上余白を少し減らす */
  color: #555;
}




@media (max-width: 600px) {
  /* ---------- Production Page ---------- */
  .production-page-main p {
    font-size: 14px;
    line-height: 1.6;
  }

  /* ---------- 作品紹介 ---------- */
  .examples-section .example-images-top,
  .examples-section .example-images-bottom {
    flex-direction: column;
    gap: 10px;
  }
  .examples-section .image img,
  .flow-section .flow-images .image img {
    width: 100%;
    height: auto;
  }

  /* ---------- 制作の流れ ---------- */
  .flow-section .flow-images {
    flex-direction: column;
    gap: 10px;
  }
  .flow-diagram {
    flex-direction: column;
    gap: 20px;
  }
  .flow-step:nth-child(2)::before,
  .flow-step:nth-child(2)::after {
    display: none;
  }
  .step-box {
    width: 80%;
    min-width: unset;
  }
  .step-images {
    flex-direction: column;
    gap: 10px;
    margin-top: 10px;
  }
  .step-images .image img {
    width: 100%;
    max-width: 300px;
  }

  /* ---------- 料金 ---------- */
  .mobile-br {
    display: inline;
  }
}