@charset "UTF-8";
body {
  background: #fbf9f6;
}
/*//////////PCサイズ///////////*/
/*//////////PCサイズ///////////*/
@media screen and (min-width: 768px) {
/** ==============================
 * ファーストビュー start
 * ============================== **/
.MainVisualSection {
  position: relative;
  width: 100vw;
  /*height: calc(var(--vh, 1vh) * 100);
  height: 100vh;
   min-height: 600px; ← 任意で残してもOK */
  aspect-ratio: 16 / 12;
  overflow: hidden;
  background-color: #333;
}
/* ===== 動画背景 ===== */
.MainVisualSection__video-bg {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.MainVisualSection__video-bg video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
/* ★ 黒オーバーレイ */
.MainVisualSection__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.3); /* 黒＋透明30% */
  z-index: 2;
  pointer-events: none; /* 下の動画ボタンなどの操作を邪魔しない */
}
/* ===== ブランドMOVIEリンク・コピー配置 ===== */
.MainVisualSection__content {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  pointer-events: none;
}
.MainVisualSection__brand-movie {
  align-self: flex-start;
  margin: 0 0 40px 40px;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
  pointer-events: auto;
}
/* ブランドムービーボタン */
.MainVisualSection__brand-link img {
  width: 10vw;
  height: auto;
}
/* ライトボックスのスタイル */
.VideoLightbox {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.8);
  z-index: 9999; /* 必ずヘッダーより前に */
  align-items: center;
  justify-content: center;
}
.VideoLightbox.is-active {
  display: flex;
}
.VideoLightbox__inner {
  position: relative;
  max-width: 90%;
  max-height: 80%;
}
.VideoLightbox__inner video {
  width: 100%;
  max-width: 1280px;
  height: auto;
  display: block;
}
.VideoLightbox__close {
  position: absolute;
  top: -2.5rem;
  right: -2.5rem;
  font-size: 2rem;
  color: #fff;
  background: none;
  border: none;
  cursor: pointer;
  z-index: 10000; /* 念のためボタンも強く */
}
.MainVisualSection__brand-link:hover {
  opacity: 0.8;
}
.MainVisualSection__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  position: absolute;
  left: 10vw;
  top: 41%;
  margin: 0 0 0 0;
  z-index: 2;
  pointer-events: auto;
}
.MainVisualSection__en.serif {
  font-family: 'Noto Serif JP', serif;
  font-size: 2.7rem;
  font-weight: 100;
  color: #fff;
  letter-spacing: 0.2rem;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.18);
  line-height: 190%
}
.HeaderSection {
  position: relative;
}
/* ヘッダーは画像の前面（オーバーレイ） */
/* 旧：
.MainVisualHeader{
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  z-index: 10;
  background: transparent;
}
*/
.MainVisualHeader {
  /* fixed は common.css に従う */
  background: transparent;
  z-index: 1000; /* 念のため強めておく（任意） */
}
/* 画像コンテナ：100vw × 28vw */
.MainVisualSection__content {
  width: 100vw;
  height: 28vw;
  overflow: hidden;
}
/* 画像は等倍でトリミング（cover） */
.mv-img, .mv-img img {
  width: 100%;
  height: 100%;
  display: block;
}
.mv-img img {
  object-fit: cover;
}
/** ==============================
 * ファーストビュー end
 * ============================== **/
/* ==============================
 * 汎用リボンヒーロー（PCのみ）
 * ============================== */
.RibbonHeroSection {
  position: relative;
  height: calc(18vw + 70px);
  padding-top: 70px
}
/* セクション内インナー（ラベル整列用） */
.rhero-in {
  width: 100vw; /* TB規約v1：sec-in=85vw */
  margin: 0 auto;
  position: absolute;
  z-index: 1;
  display: flex;
  align-items: center; /* ← 高さが付くので効くようになる */
  height: 18vw; /* ← 追加：親と同じ高さを持たせる */
}
/* 白帯ラベル */
.rhero-label {
  display: inline-block;
  background: #fff;
  padding: 0.5vw 1.4vw;
  margin: 0 5vw;
  position: relative; /* z-index を効かせるため */
  z-index: 3;
}
.RibbonHeroSection .ttl {
  color: #947847;
  margin: 0;
  z-index: 1;
}
/* 右側の画像（絶対配置） */
.rhero-figure {
  position: absolute;
  right: 0;
  top: 0;
  width: 60vw;
  height: 18vw;
  z-index: 2;
  overflow: hidden;
}
/* 最背面の帯（生成り） */
.RibbonHeroSection .obi {
  position: absolute;
  left: 0;
  top: 1.6vw;
  width: 100%;
  height: 15vw;
  background: #e3daca;
  z-index: 0;
}
.rhero-figure img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
/** ==============================
 汎用リボンヒーロー end
============================== **/
/* ==============================
 * support: サービスフロー冒頭 style start（PC）
 * ============================== */
.SupHeadSec {
  width: 100vw;
  background: #fbf9f6; /* 全体地色（サイト共通と同色） */
  text-align: center;
  padding: 6vw 0 0; /* 上下ゆったり */
}
.SupHeadSec .sec-in {
  width: 100vw; /* 共通インナー幅 */
  margin: 0 auto;
}
.SupHeadSec .ttl { /* 共通 .ttl を踏襲しつつ色/文字間調整のみ */
  color: #947847; /* 見本の金茶 */
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
  letter-spacing: .12rem;
  line-height: 1.6;
  font-size: 2.7rem; /* 見本相当（必要に応じて微調整） */
  margin: 0 0 1.5rem;
}
.SupHeadSec .lead { /* .lead のサイズは共通に委譲し、色/間だけ調整 */
  color: #a99f96; /* 見本の薄いグレーブラウン */
  letter-spacing: .12rem;
  margin: 0;
  text-align: center;
  font-size: 1.5rem;
  font-family: 'Noto Serif JP', serif;
}
/* ==============================
 * support: サービスフロー冒頭 style end
 * ============================== */
/* ==============================
 * support: サービスフロー Steps style start（PC）
 * ============================== */
/* セクション全体 */
.SupFlowItem {
  width: 100vw;
  margin: 7vw 0 0 0;
}
/* 3分割グリッド：左10vw／中央自動／右50vw */
.SupFlowItem .flow-grid {
  /* トークン（数値を一元管理） */
  --flow-pad-b: 10vw; /* 下に欲しい余白量（線もここまで延長） */
  --line-w: .1rem; /* 縦線の太さ（統一） */
  --num-size: 5vw; /* 数字サイズ（ttlと合わせる） */
  --num-gap: 1.2vw; /* 数字下の隙間 */
  --step-pad-top: 2vw; /* 左カラムの上余白 */
  position: relative; /* 絶対配置の基準にする */
  display: grid;
  grid-template-columns: 10vw 1fr 50vw;
  align-items: stretch;
  padding: 0 0 var(--flow-pad-b) 0; /* 下余白（線もここまで延ばす） */
}
/* 左：番号＆縦線 */
.flow-step {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding-top: var(--step-pad-top);
}
.flow-num {
  font-family: 'Noto Serif JP', serif; /* 見本に合わせる（EB GaramondでなくてOKならこのまま） */
  font-size: var(--num-size);
  line-height: 1;
  color: #947847;
  font-weight: 100;
}
/* ← 単一要素で“パディング分も含めて”最下端まで */
.flow-line {
  position: absolute;
  left: 50%;
  transform: translateX(-50%) scaleY(var(--line-scale, 1)); /* 伸縮アニメ用 */
  transform-origin: top; /* 上から伸ばす */
  top: calc(var(--step-pad-top) + var(--num-size) + var(--num-gap)); /* 数字の下から開始 */
  bottom: calc(-1 * var(--flow-pad-b)); /* パディングの外側最下端まで延長 */
  width: var(--line-w);
  background: #855f5a;
  will-change: transform;
}
/* 中央：文章ブロック（上下中央・左寄せ） */
.flow-words {
  display: flex;
  align-items: center;
  justify-content: left;
  padding: 2.5vw 0;
}
.flow-words__in {
  width: 33vw;
  max-width: 48rem;
  text-align: left;
}
.SupFlowItem .ttl {
  color: #947847;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
  letter-spacing: .08rem;
  line-height: 1.6;
  font-size: 2.4rem;
  margin: 0 0 1.8rem;
}
.SupFlowItem .lead {
  color: #6f6556;
  font-size: 1.05rem;
  line-height: 2;
  letter-spacing: .06rem;
  margin: 0;
}
.SupFlowItem .lead + .lead {
  margin-top: 1.2rem;
}
/* 右：画像 50vw */
.flow-fig {
  width: 50vw;
  margin: 0;
}
.flow-fig img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
/* ==============================
 * support: サービスフロー Steps style end
 * ============================== */
/* ==============================
 * support: サービスフロー冒頭（濃色版）start
 * ============================== */
.SupHeadSec--dark{
  background:#6f6b6b;            /* 見本のダークグレー */
  padding: 6vw 0 4vw 0;                /* 余白は上下とも確保（下側も欲しいため） */
}
.SupHeadSec--dark .ttl{
  color:#fff;                    /* タイトルは白 */
}
.SupHeadSec--dark .lead{
  color:#fff;                    /* 眉（導入文）も白 */
  opacity:.92;                   /* 視認性を保ちつつ主張を少し抑える */
}
/* 任意：眉用の微調整（行間/余白） */
.sup-eyebrow{
  margin:0 0 1.2rem;
  letter-spacing:.12rem;
  font-family:'Noto Serif JP', serif;
}
/* ==============================
 * support: サービスフロー冒頭（濃色版）end
 * ============================== */
/* ==============================
 * support: 3サービスブロック style start（PC）
 * ============================== */
.SupServicesSec{
  width: 100vw;
  background: #6f6b6b;          /* 濃色ヘッダーと同色 */
  padding: 0 0 5vw 0;
}
.ssv-in{
  width: 90vw;
  margin: 0 auto 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 4vw;
  row-gap: 4vw;  padding: 0 0 6vw 0;
}
/* カード */
.ssv-card{ color: #fff; }
.ssv-fig{
  margin: 0 0 1.6rem 0;
  aspect-ratio: 16 / 11;
  overflow: hidden;
  background: #999;
}
.ssv-fig img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ssv-ttl{
  margin: 0 0 1rem 0;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
  letter-spacing: .08rem;
  font-size: 2.0rem;
  line-height: 1.4;
  color: #fff;
}
.ssv-lead{
  margin: 0;
  color: #efeceb;              /* 段落は少し柔らかい白 */
  font-size: 1.08rem;
  line-height: 2;
  letter-spacing: .04rem;
}
/* セクション区切り線（全ページ内で使い回し） */
.ArchDivider {
  width: 90vw;
  height: 0;
  border-top: .1rem solid #fff;
  margin: 0 auto; /* 上下の余白は必要に応じて調整 */
  opacity: 0.95;
}
/* ==============================
 * support: 3サービスブロック style end（PC）
 * ============================== */
/* ==============================
グループサービス詳細 2カラム rows style start（PC）
============================== */
.SupportServicesRows{
width: 100vw;
background: #6f6b6b; /* 濃色ヘッダーと同色 */
color: #fff;
padding: 4vw 0 6vw;
}

.ssr-in{
width: 90vw;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(2, 1fr);
column-gap: 4vw;
row-gap: 4vw;
}

.ssr-item{
/* 画像＋テキストの塊 /
/ 必要に応じて下線を付ける場合は以下を有効化
border-bottom: .1rem solid rgba(255,255,255,.9);
padding-bottom: 2.2vw;
*/
}

.ssr-fig{
margin: 0;
aspect-ratio: 16 / 8;
overflow: hidden;

}
.ssr-fig img{
width: 100%;
height: 100%;
display: block;
object-fit: cover;
}

/* 見出し・補足・本文 */
.ssr-ttl{
margin: 1.6vw 0 .3vw;
font-family: 'Noto Serif JP', serif;
font-weight: 400;
font-size: 2.2rem;
letter-spacing: .08rem;
line-height: 1.4;
color: #fff;
}
.ssr-cap{
margin: 0 0 1.4vw;
color: #d7d1cc;
font-size: 1.2rem;
letter-spacing: .06rem;
}
.SupportServicesRows .lead{
margin: 0;
color: #efeceb;
line-height: 2;
letter-spacing: .04rem;
font-size: 1.1rem;
}

/* ==============================
グループサービス詳細 2カラム rows style end（PC）
============================== */

}
/*//////////SPサイズ///////////*/
@media screen and (max-width:767px) {
/** ==============================
 * ファーストビュー (SP)
 * ============================== **/
.MainVisualSection {
  position: relative;
  width: 100vw;
  aspect-ratio: 16 / 12;
  overflow: hidden;
  background-color: #333;
}
/* 動画背景 */
.MainVisualSection__video-bg {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.MainVisualSection__video-bg video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
/* 黒オーバーレイ */
.MainVisualSection__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.3);
  z-index: 2;
  pointer-events: none;
}
/* 画像/動画コンテナ：SPは自然フロー */
.MainVisualSection__content {
  position: static;                /* absolute → static */
  width: 100vw;
  aspect-ratio: 16 / 11;
  overflow: hidden;
  z-index: 3;
}
/* ブランドムービー */
.MainVisualSection__brand-movie {
  align-self: flex-start;
  margin: 0 0 4vw 4vw;             /* 40px → 4vw */
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 4;
  pointer-events: auto;
}
.MainVisualSection__brand-link img { width: 24vw; height: auto; }

/* コピー */
.MainVisualSection__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;         /* 右寄せ→左寄せ */
  position: absolute;
  left: 6.5vw;                     /* 安全域 */
  right: 6.5vw;
  bottom: 10vw;                    /* 下部UIと干渉回避 */
  margin: 0;
  z-index: 4;
  pointer-events: auto;
}
.MainVisualSection__en.serif {
  font-family: 'Noto Serif JP', serif;
  font-size: 1.8rem;               /* 見出し＝1.6基準＋役割強調で+α */
  font-weight: 100;
  color: #fff;
  letter-spacing: .12rem;
  text-shadow: 0 .125rem 1.125rem rgba(0,0,0,.18);
  line-height: 1.8;                /* ビルドSP：本文行間 */
}

/* ライトボックス（ボタン位置だけ最適化） */
.VideoLightbox { display:none; position:fixed; inset:0; background:rgba(0,0,0,.8); z-index:9999; align-items:center; justify-content:center; }
.VideoLightbox.is-active { display:flex; }
.VideoLightbox__inner { position:relative; max-width:90vw; max-height:80vh; }
.VideoLightbox__inner video { width:100%; height:auto; display:block; }
.VideoLightbox__close { position:absolute; top:.8rem; right:.8rem; font-size:1.6rem; color:#fff; background:none; border:none; cursor:pointer; z-index:10000; }

/* ヘッダー重なり */
.HeaderSection { position: relative; }
.MainVisualHeader { background: transparent; z-index: 1000; }

/* 画像コンテナ：PC専用の高さ指定は無効化済み（上で比率運用） */
.mv-img, .mv-img img { width: 100%; height: 100%; display: block; }
.mv-img img { object-fit: cover; }

/* ==============================
 * 汎用リボンヒーロー (SP) start
 * ============================== */
.RibbonHeroSection{
  position: relative;
  display: grid;                  /* ← 重ね合わせの土台 */
  grid-template-areas: "stack";   /* 1セルを共有させて重ねる */
  padding: 70px 0 0;              /* 画像を上から70px下げて開始（要件） */
}

/* セクション内インナー（ラベル等） */
.rhero-in{
  grid-area: stack;               /* ← 同じセルに重ねる */
  width: 100vw;                   /* 87vw → 100vw（要望） */
  margin: 0 auto;
  position: relative;
  z-index: 3;                     /* 帯や画像より前に */
}

/* 右側の画像（全幅・比率10:3） */
.rhero-figure{
  grid-area: stack;               /* ← 画像も同セル */
  position: relative;
  width: 100%;
  aspect-ratio: 10 / 4;           /* 要望の比率 */
  overflow: hidden;
  z-index: 1;
}
.rhero-figure img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* タイトル：画像の右下固定（right:0,bottom:0 相当） */
.RibbonHeroSection .ttl{
  grid-area: stack;               /* ← 画像と同セルに重ねる */
  align-self: end;                /* 下寄せ */
  justify-self: end;              /* 右寄せ */
  margin: 0;
  margin-right: 0vw;
  margin-bottom: 0.3rem;
  font-size: 1.6rem;              /* ビルドSP：見出し */
  line-height: 1.4;
  color: #947847;
  z-index: 2;
}

/* 白帯ラベル（そのまま使用可） */
.rhero-label{
  display: inline-block;
  background: #fff;
  padding: .6rem 1rem;
  margin: 7vw 0 .8rem 0;
  position: relative;
  z-index: 4;                     /* タイトルより前に出したい場合は 4 */
}

/* 最背面の帯（生成り） */
.RibbonHeroSection .obi{
  position: absolute;
  left: 0;
  top: .8rem;
  width: 100%;
  height: 24vw;
  background: #e3daca;
  z-index: 0;
}
/* ==============================
 * 汎用リボンヒーロー (SP) end
 * ============================== */
/** ==============================
 * support: サービスフロー冒頭 (SP)
 * ============================== **/
.SupHeadSec {
  width: 100vw;
  background: #fbf9f6;
  text-align: center;
  padding: 2.4rem 0 0;
}
.SupHeadSec .sec-in { width: 100vw; margin: 0 auto; }
.SupHeadSec .ttl {
  color: #947847;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
  letter-spacing: .12rem;
  line-height: 1.4;
  font-size: 1.6rem;               /* ビルドSP：見出し */
  margin: 0 0 .8rem;
}
.SupHeadSec .lead {
  color: #a99f96;
  letter-spacing: .08rem;
  margin: 0;
  text-align: center;
  font-size: 1.0rem;               /* ビルドSP：本文 */
  line-height: 1.8;                /* ビルドSP：行間 */
  font-family: 'Noto Serif JP', serif;
}

/** ==============================
 * support: サービスフロー Steps (SP)
 * ============================== **/
.SupFlowItem {
  width: 100vw;
  margin: 2.4rem 0 0 0;           /* 7vw → SP余白 */
}
/* 3分割 → 1カラム縦積み（番号→画像→文章） */
.SupFlowItem .flow-grid {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 1.5rem;
  padding: 0 0 10vw 0;                      /* 下パディングの線演出はSPで省略 */
}
/* 左：番号＆線 → 中央寄せ */
.flow-step {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding-top: .4rem;
}
.flow-num {
  font-family: 'Noto Serif JP', serif;
  font-size: 2.4rem;               /* 強調は維持 */
  line-height: 1;
  color: #947847;
  font-weight: 100;
  margin: .4rem 0;
}
/* 縦線はSPでは非表示（可読性優先） */
.flow-line { display: none; }

/* 画像 */
.flow-fig {
  width: 100%;
  margin: 0;
  aspect-ratio: 16 / 10;          /* 50vw → 全幅比率 */
  overflow: hidden;
}
.flow-fig img {
  width: 100%; height: 100%; display: block; object-fit: cover;
}

/* 文章 */
.flow-words {
  display: block;
  padding: 0;
}
.flow-words__in {
  width: 87vw;                     /* 33vw → 既定幅 */
  max-width: none;
  margin: 0 auto;
  text-align: left;
}
.SupFlowItem .ttl {
  color: #947847;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
  letter-spacing: .08rem;
  line-height: 1.4;
  font-size: 1.6rem;               /* ビルドSP見出し */
  margin: 0 0 .8rem;
  text-align: center;
}
.SupFlowItem .lead {
  color: #6f6556;
  font-size: 1.0rem;               /* ビルドSP本文 */
  line-height: 1.8;                /* ビルドSP行間 */
  letter-spacing: .04rem;
  margin: 0;
}
.SupFlowItem .lead + .lead { margin-top: .6rem; }

/** ==============================
 * support: サービスフロー冒頭（濃色版）(SP)
 * ============================== **/
.SupHeadSec--dark {
  background: #6f6b6b;
  padding: 2.4rem 0 1.6rem 0;
}
.SupHeadSec--dark .ttl { color: #fff; }
.SupHeadSec--dark .lead { color: #fff; opacity: .92; }
.sup-eyebrow {
  margin: 0 0 .8rem;
  letter-spacing: .12rem;
  font-family: 'Noto Serif JP', serif;
}

/** ==============================
 * support: 3サービスブロック (SP)
 * ============================== **/
.SupServicesSec {
  width: 100vw;
  background: #6f6b6b;
  padding: 0 0 2.4rem 0;
}
.ssv-in {
  width: 87vw;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;      /* 3 → 1カラム */
  row-gap: 1.6rem;
  column-gap: 0;
  padding: 0 0 2.4rem 0;
}
.ssv-card { color: #fff; 
  padding: 0 0 2.4rem 0;
}
.ssv-fig {
  margin: 0 0 .8rem 0;
  aspect-ratio: 16 / 10;           /* 16/11 → 16/10に統一 */
  overflow: hidden;
  background: #999;
}
.ssv-fig img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ssv-ttl {
  margin: 0 0 .6rem 0;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
  letter-spacing: .08rem;
  font-size: 1.6rem;               /* ビルドSP見出し */
  line-height: 1.4;
  color: #fff;
}
.ssv-lead {
  margin: 0;
  color: #efeceb;
  font-size: 1.0rem;               /* ビルドSP本文 */
  line-height: 1.8;                /* ビルドSP行間 */
  letter-spacing: .04rem;
}

/* セクション区切り線（SPは既定幅へ） */
.ArchDivider {
  width: 87vw;
  height: 0;
  border-top: .1rem solid #fff;
  margin: 0 auto;
  opacity: .95;
}

/** ==============================
 * グループサービス詳細 rows (SP)
 * ============================== **/
.SupportServicesRows {
  width: 100vw;
  background: #6f6b6b;
  color: #fff;
  padding: 2.4rem 0;
}
.ssr-in {
  width: 87vw;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;      /* 2 → 1カラム */
  row-gap: 1.6rem;
  column-gap: 0;
}
.ssr-item {   padding: 0 0 2.4rem 0; }
.ssr-fig {
  margin: 0;
  aspect-ratio: 16 / 10;           /* 16/8 → SPはやや縦を深めに */
  overflow: hidden;
}
.ssr-fig img { width: 100%; height: 100%; display: block; object-fit: cover; }

.ssr-ttl {
  margin: 1rem 0 .2rem;
  font-family: 'Noto Serif JP', serif;
  font-weight: 400;
  font-size: 1.6rem;               /* ビルドSP見出し */
  letter-spacing: .08rem;
  line-height: 1.4;
  color: #fff;
}
.ssr-cap {
  margin: 0 0 .8rem;
  color: #d7d1cc;
  font-size: 1.0rem;
  letter-spacing: .06rem;
}
.SupportServicesRows .lead {
  margin: 0;
  color: #efeceb;
  line-height: 1.8;                /* ビルドSP行間 */
  letter-spacing: .04rem;
  font-size: 1.0rem;               /* ビルドSP本文 */
}

}