/* =========================================
   Ostia Antica Feature Page 専用スタイル
   ※PCベース／SPレスポンシブは末尾
========================================= */

.featurePage.is-ostia {
  background: #FBFAF7;
  color: #2A2A2A;
  font-size: 16px;
  line-height: 1.7;
  padding-bottom: 80px;
}

/* ---------- HERO ---------- */
.featureHero {
  position: relative;
  text-align: center;
  padding: 48px 0px 64px;
}
.featureHero__image img {
  width: 100%;
  height: auto;
  display: block;
}
.heroCatch {
  font-size: 20px;
  margin-top: 28px;
  line-height: 1.7;
}
.heroTitle.en {
  font-size: 32px;
  font-weight: 700;
  margin-top: 8px;
}

/* ---------- Section ---------- */
.featureSection {
  width: 100%;
  max-width: 980px;
  margin: 0 auto 72px;
  padding: 0 20px;
}
.featureSection .secTitle {
  font-size: 28px;
  font-weight: 700;
  margin: 0 0 28px;
}
.secTitle .secSub {
  font-size: 16px;           /* 章タイトル28px想定 → 約60% */
  color: #7F5539;            /* サブはメイン色より控えめ */
  font-weight: 500;          /* 軽めでOK */
  letter-spacing: 0.05em;    /* 少し広げる */
  margin-top: 4px;           /* タイトルとの余白 */
}

/* 写真（横） */
.featureImage--wide img {
  width: 100%;
  display: block;
  margin: 0 0 28px;
}

/* 写真（縦） */
.featureImage--vertical img {
  width: 80%;
  max-width: 600px;
  display: block;
  margin: 0 auto 28px;
}

/* ---------- Ending ---------- */
.featureEnding img {
  width: 100%;
  max-width: 900px;
  display: block;
  margin: 64px auto 0;
}

/* ===============================
   SP（〜767px）
================================= */
@media (max-width: 767px) {
  .featureHero {
    padding: 32px 16px 48px;
  }
  .heroCatch { font-size: 17px; }
  .heroTitle.en { font-size: 24px; }

  .featureSection {
    margin-bottom: 56px;
    padding: 0 16px;
    box-sizing: border-box;
  }
  .featureSection .secTitle {
    font-size: 22px;
    margin-bottom: 20px;
    text-align: center;
  }
.secTitle .secSub {
    font-size: 12px;         /* モバイルではさらに小さめ */
    letter-spacing: 0.04em;
    margin-top: 2px;
  }
  .featureImage--vertical img {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
  }
 /* 見出し（h2） */
  .featureSection .secTitle {
    font-size: 90%;
  }

  /* 本文テキスト（段落） */
  .featureSection p {
    max-width: 295px; /* 安全策 */
    width: 100%;
    margin: 0 auto; /* 🎯 中央揃え */
    text-align: justify;
    line-height: 1.65;
    font-size: 80%;
  }

  /* HEROテキストも調整（強すぎるのを少し控えめに） */
  .heroCatch {
    font-size: 80%;
  }
  .heroTitle.en {
    font-size: 80%;
  }
.featurePage.is-ostia {
    overflow-x: hidden; /* ← 念のため */
  }
 /* 文章ブロックだけ少し細めにする */
  .featureSection p {
    width: 295px; 
    margin: 0 auto;
    text-align: justify;
  }
   .featureImage--wide img,
  .featureImage--vertical img {
    width: calc(100% - 32px);
    margin: 0 auto; /* 🎯 ここも中央に */
    padding: 12px 0 12px 0;
    display: block;
    object-fit: cover;
    box-sizing: border-box;
  }
}

