@charset "UTF-8";
/* ===============================================
  FV（トップ ファーストビュー）— Figma実装
  基準: 1300 x 922（rem基準は html font-size:62.5% = 1rem:10px）
  ※下層ページの .p-top__mv / .slide-* 系とは別名前空間（.fv）
=============================================== */

.fv {
  position: relative;
  width: 100%;
  overflow: hidden;
  /* background: #ffffff url(../img/fv_bg.jpg) center top / cover no-repeat; */
}

.fv__back{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;

  img{
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

/* Figmaのグラデーション（青→白 / mix-blend: multiply） */
.fv::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0, 174, 255, 0.25) 0%,
    rgba(119, 226, 255, 0.25) 15.865%,
    rgba(255, 255, 255, 0.25) 42.308%,
    rgba(255, 255, 255, 0.25) 100%
  );
  mix-blend-mode: multiply;
  pointer-events: none;
  z-index: 1;
}

.fv__inner {
  position: relative;
  z-index: 2;
  width: 100%;
  /* 全幅で拡縮させるため上限を撤去（1300基準の比率を維持したまま大画面でも拡大） */
  margin: 0 auto;
  aspect-ratio: 1300 / 922;
}

/* --- タイトル（建機のことも、補助金のことも、わかります。） --- */
.fv__title {
  position: absolute;
  top: 14.5%;  /* 180/922 */
  left: 7.69%; /* 100/1300 */
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.02em;
  color: #000000;
  font-size: 4.92vw; /* 64/1300 — 全幅vw（上限なし） */
}

.fv__title .is-lg {
  font-size: 6.15vw; /* 80/1300 — 全幅vw（上限なし） */
}

/* --- キャッチ帯（#00aad9） --- */
.fv__catch {
  position: absolute;
  top: 62.4%; /* 576/922 */
  left: 0;
  width: 58%; /* 740/1300 */
  min-height: 20.6%; /* 190/922 */
  display: flex;
  align-items: center;
  padding: 1.8% 0 1.8% 8.5%; /* 左を全体の100px位置に揃える */
  background: #00aad9;
  mix-blend-mode: multiply;
}

.fv__catch p {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-size: 1.9vw; /* 26/1300 — 全幅vw（上限なし） */
  line-height: 1.5;
  color: #ffffff;
}

/* --- 右側のサブ写真2枚 --- */
.fv__photo {
  position: absolute;
  margin: 0;
  overflow: hidden;
}

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

.fv__photo--01 { /* 上：商談 500x340 @ (700,100) */
  top: 10.85%;
  left: 53.85%;
  width: 38.46%;
  height: 36.88%;
}

.fv__photo--02 { /* 下：建機 400x260 @ (820,506) */
  top: 54.88%;
  left: 63.08%;
  width: 30.77%;
  height: 28.2%;
  z-index: 1;
}

/* ===============================================
  SP（〜767px）: Figma SP実装
  基準: 375 x 400（ヘッダー60px下〜キャッチ帯下端）
  位置は実測px→%、文字は実測px→vwで375px基準のまま比率拡縮。
=============================================== */
@media screen and (max-width: 767px) {
  /* FVをSPデザインの 375:400 比率の配置基準にする */
  .fv {
    aspect-ratio: 375 / 400;
  }

  /* 背景ビル画像（Figma: opacity 15%） */

  /* グラデーション（青→白 / Figma SPの停止位置） */
  .fv::before {
    background: linear-gradient(
      to bottom,
      rgba(0, 174, 255, 0.25) 0%,
      rgba(119, 226, 255, 0.25) 40%,
      rgba(255, 255, 255, 0.25) 80%,
      rgba(255, 255, 255, 0.25) 100%
    );
  }

  /* タイトル・写真の配置基準をFV全面に */
  .fv__inner {
    position: absolute;
    inset: 0;
    aspect-ratio: auto;
    max-width: none;
    margin: 0;
    padding: 0;
  }

  /* --- タイトル（建機のことも、補助金のことも、わかります。） --- */
  .fv__title {
    top: 29%;   /* 120/400 */
    left: 4%;   /* 15/375 */
    z-index: 2; /* サブ写真より前面（Figmaはテキストが上） */
    padding: 0;
    font-size: 7.467vw;       /* 28px */
    line-height: 11.733vw;    /* 44px */
  }

  .fv__title .is-lg {
    font-size: 9.067vw;       /* 34px */
  }

  /* --- 右側のサブ写真2枚 --- */
  .fv__photo--01 { /* 商談 140x94 @ (163,76) */
    top: 4%;        /* (76-60)/400 */
    left: 43.467%;  /* 163/375 */
    width: 37.333%; /* 140/375 */
    height: 23.5%;  /* 94/400 */
  }

  .fv__photo--02 { /* 建機 108x76 @ (252,182) */
    top: 30.5%;    /* (182-60)/400 */
    left: 67.2%;   /* 252/375 */
    width: 28.8%;  /* 108/375 */
    height: 19%;   /* 76/400 */
  }

  /* --- キャッチ帯（#00aad9 / 全幅） --- */
  .fv__catch {
    top: 66.75%;     /* (327-60)/400 */
    left: 0;
    width: 100%;
    height: 33.25%;  /* 133/400 */
    min-height: 0;
    z-index: 2;
    justify-content: center;
    padding: 0 4%;
  }

  .fv__catch p {
    font-size: 3.8vw; /* 16px */
    text-align: center;
  }
}

/* ===============================================
  OUR SERVICE（事業内容）微調整
  Figmaのカード比率（写真マスク 340×337 ≒ 正方形）に合わせる。
  差替画像が横長なので object-fit: cover で中央切り抜き。
=============================================== */
.p-top__concept .top_servisebox {
  position: relative;
  overflow: hidden;
}

.p-top__concept .top_servisebox img {
  height: auto;
  aspect-ratio: 340 / 352; /* Figmaの340×337にごく僅かな余白を足し重なり防止（ほぼ正方形） */
  object-fit: cover;
  display: block;
  filter: none; /* brightnessは青オーバーレイに置き換え */
}

/* Figmaの青いオーバーレイ（パス4121 / mix-blend-multiply）を再現 */
.p-top__concept .top_servisebox::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg,
      rgba(0, 41, 73, 0.80) 0%,
      rgba(0, 86, 138, 0.52) 50%,
      rgba(0, 41, 73, 0.88) 100%);
  mix-blend-mode: multiply;
  pointer-events: none;
}

/* テキスト・番号をオーバーレイより前面に */
.p-top__concept .top_servisebox_number,
.p-top__concept .top_servisebox_inner {
  z-index: 2;
}

/* 正方形ボックスに4行テキストを収めるため行間をFigma基準(≒1.7)に。
   SPで文字をvw縮小した際に行間も追従させ、番号との重なりを防ぐ */
.p-top__concept .top_servisebox_txt {
  line-height: 1.7;
}

.p-top__concept .top_servisebox_ttl {
  line-height: 1.4;
}

/* 背景ウォーターマーク "NANAIRO" を Figma(117:330) と同じ虹色グラデ・薄め に */
.p-top__concept .h2Tag_bg {
  opacity: 0.3;
  background-image: linear-gradient(90deg,
      #ffbbbb 33%,
      #ffd48e 44%,
      #fff384 55%,
      #b0ffaa 67%,
      #a2fffc 77%,
      #a4c7fe 88%,
      #f1a1ff 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

/* ===============================================
  CUSTOMERS VOICE（お客様の声）— Figma実装
  ※中身は静的プレースホルダー（voice CPTは将来差し替え）
  カラー: メイン2 #00395c / アクセント #00aad9
=============================================== */
.p-top__voice {
  padding: 120px 0;
  text-align: center;
  overflow: hidden;
}

.p-top__voice__inner {
  width: 100%;
  max-width: 122rem; /* 1220px */
  margin: 0 auto;
  padding: 0 2rem;
  box-sizing: border-box;
}

/* --- スライダー（Swiper） --- */
.p-top__voice__slider {
  position: relative;
  margin-top: 1rem;
  padding: 0 5rem; /* 左右の矢印スペース */
}

.p-top__voice__slider .swiper {
  overflow: hidden;
}

/* カードの影が切れないように上下左右へ余白 */
.p-top__voice__slider .swiper-slide {
  height: auto;
  padding: 1rem 0.6rem 1.6rem;
  box-sizing: border-box;
}

/* 左右矢印 */
.voiceSlider__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  padding: 0;
  background: none;
  border: none;
  color: #00395c;
  cursor: pointer;
  transition: opacity 0.3s;
}

.voiceSlider__arrow::before {
  content: "";
  width: 1.4rem;
  height: 1.4rem;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
}

.voiceSlider__prev {
  left: 0;
}

.voiceSlider__prev::before {
  transform: rotate(-135deg);
}

.voiceSlider__next {
  right: 0;
}

.voiceSlider__next::before {
  transform: rotate(45deg);
}

.voiceSlider__arrow:hover {
  opacity: 0.6;
}

.voiceSlider__arrow.swiper-button-disabled {
  opacity: 0.2;
  cursor: default;
}

/* --- カード --- */
/* .voiceCard 系のスタイルは共通パーツ化（一覧ページと共用）に伴い style.css へ移設 */

/* CONTACT（お問い合わせ・ご相談）のスタイルは共通パーツ化に伴い style.css へ移設 */

/* ===============================================
  SP（〜767px）: VOICE / CONTACT
=============================================== */
@media screen and (max-width: 767px) {
  .p-top__voice {
    padding: 8rem 8%;
  }

  .p-top__voice__inner {
    padding: 0;
  }

  .p-top__voice__slider {
    padding: 0 2rem; /* SPは矢印を内側に */
    margin: 0 -2rem;
  }

  .voiceSlider__arrow {
    width: 3rem;
    height: 3rem;
  }
}

