/* =====================================================
  SERVICE page only
  /css/pages/service.css
===================================================== */

.page.page-service .page-hero.page-hero--diagonal .page-hero__image img{
  object-position: center 90%;
}

/* ==============================
  1) Page header (title area)
  「主な事業内容」見出しの装飾（中央＋両端ライン）
============================== */

.page.page-service .service-page-header{
  text-align: center;
  margin-bottom: 18px;
}

/*.page.page-service .service-page-header .section__title-en{

}*/

.page.page-service .service-page-header .section__title-ja{
  display: inline-flex;
  align-items: center;
  gap: 18px;
  font-weight: 700;
  letter-spacing: 0.02em;
}

/*.page.page-service .service-page-header .section__title-ja::before,
.page.page-service .service-page-header .section__title-ja::after{
  content: "";
  width: 56px;
  height: 2px;
  background: #0f1a26;
  opacity: 0.9;
}*/

/* リード文（中央・読みやすい幅） */
.page.page-service .service-page-lead{
  max-width: 860px;
  margin: 0 auto 34px;
  text-align: center;
}

.page.page-service .service-page-lead p{
  margin: 0;
  line-height: 2.0;
  font-size: 15px;
  color: #111827;
}

/* ==============================
  2) Feature blocks (text + photo alternate)
  スクショのように交互レイアウトで並べる
============================== */
.page.page-service .service-feature{
  margin-top: 36px;
}

.page.page-service .service-feature__grid{
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: 38px;
  align-items: start;
}

/* 文章側 */
.page.page-service .service-feature__content{
  padding-top: 6px;
}

.page.page-service .service-feature__title{
  margin: 0 0 12px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;

  /* 左の縦ライン */
  border-left: 4px solid #111827;
  padding-left: 12px;
}

.page.page-service .service-feature__text{
  margin: 0 0 14px;
  line-height: 1.9;
  font-size: 15px;
  color: #111827;
}

.page.page-service .service-feature__list{
  margin: 0;
  padding-left: 1.2em;
  line-height: 1.9;
  font-size: 15px;
  color: #111827;
}

/* 写真側 */
.page.page-service .service-feature__media{
  margin: 0;
  border-radius: 12px;
  overflow: hidden;
  background: #e5e7eb;
}

.page.page-service .service-feature__media img{
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

/* 2段目以降の間隔を少し詰めたい場合（任意） */
.page.page-service .service-feature + .service-feature{
  margin-top: 44px;
}

/* ==============================
  3) CTA (white background)
  「ご相談・お見積り」「採用情報」だけ残す
  背景は白（フッター紺と被せない）
============================== */
.page.page-service .section--service-page-cta{
  background: #ffffff;
  color: #111827;
}

/* 2カラム */
.page.page-service .service-cta--white{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 10px;
}

/* ==============================
  Photo-only service gallery
============================== */
.page.page-service .section--service-gallery{
  background: #ffffff;
}

/* 各ギャラリーブロック */
.page.page-service .service-gallery{
  margin-top: 42px;
}

/* 見出し（スクショと同じ縦ライン系） */
.page.page-service .service-gallery__title{
  margin: 0 0 16px;
  font-size: 18px;
  font-weight: 700;
  border-left: 4px solid #111827;
  padding-left: 12px;
  line-height: 1.5;
}

/* 写真3カラム */
.page.page-service .service-gallery__grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

/* 写真 */
.page.page-service .service-gallery__grid figure{
  margin: 0;
  border-radius: 10px;
  overflow: hidden;
  background: #e5e7eb;
}

.page.page-service .service-gallery__grid img{
  width: 100%;
  height: 300px;
  display: block;
  object-fit: cover;
}

/* CTA box */
.page.page-service .service-cta--white .service-cta__box{
  border-radius: 14px;
  padding: 22px 22px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  background: #f7f8fa;
}

.page.page-service .service-cta--white .service-cta__en{
  margin: 0 0 6px;
  font-weight: 900;
  letter-spacing: 0.08em;
  opacity: 0.85;
  color: #0f1a26;
}

.page.page-service .service-cta--white .service-cta__title{
  margin: 0 0 8px;
  font-size: 20px;
  font-weight: 700;
  color: #0f1a26;
}

.page.page-service .service-cta--white .service-cta__text{
  margin: 0 0 14px;
  line-height: 1.8;
  color: #111827;
  opacity: 0.85;
}

/* 採用側のボタンを“紺色”に */
/*.page.page-service .btn-primary--ghost{
  background: #002855;
  border: 1px solid rgba(17, 24, 39, 0.55);
  color: #ffffff;
}*/

/* ==============================
  4) Responsive
============================== */
@media (max-width: 768px){

  /* 見出し：SPは左寄せ */
  .page.page-service .service-page-header{
    text-align: center;
    margin-bottom: 14px;
  }

  .page.page-service .service-page-header .section__title-ja{
    justify-content: flex-start;
  }

  .page.page-service .service-page-lead{
    text-align: left;
    margin-bottom: 26px;
  }

  /* ===== 交互レイアウト：SPは「文章 → 写真」に統一 ===== */
  .page.page-service .service-feature__grid{
    grid-template-columns: 1fr;
    gap: 18px;
  }

  /* 写真は必ず後ろ */
  .page.page-service .service-feature__media{
    order: 2;
  }

  /* 文章は必ず先 */
  .page.page-service .service-feature__content{
    order: 1;
  }

  .page.page-service .service-gallery{
    margin-top: 32px;
  }

  .page.page-service .service-gallery__grid{
    grid-template-columns: 1fr;
    gap: 12px;
  }

  /* CTA：1カラム */
  .page.page-service .service-cta--white{
    grid-template-columns: 1fr;
  }
}