/*------------------------------
共通設定
------------------------------*/
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html {
  font-size: 16px;
  scroll-behavior: smooth;
}
body {
  font-family: 'Noto Sans JP', sans-serif;
  color: #333;
  background-color: #fff;
  line-height: 1.6;
}
p {
  line-height: 1.7;
}
section > .inner {
    max-width: 1000px;
    width: 100%;
    padding: 4rem 1.6rem;
    margin-left: auto;
    margin-right: auto;
}
/*視差効果OFFの場合の設定*/
@media (prefers-reduced-motion: reduce) {
  * {
    animation: none !important;
  }
}

/*---------------
共通パーツ
---------------*/
.btn {
  display: block;
  width: 100%;
  padding: 1rem 0.5rem;
  text-decoration: none;
  border-radius: 4px;
  box-shadow: 3px 3px 0px 0px rgba(0, 0, 0, 0.15);
     -webkit-transition: 0.5s all;
  transition: 0.5s all; 
}
.btn > .inner {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
}

.btn:hover {
    -webkit-transform: translateY(3px);
  transform: translateY(3px);
  box-shadow: none;
    -webkit-transition: 0.5s all;
  transition: 0.5s all;
}

.btn > .inner > .text {
  flex: 0 1 auto;
    -ms-flex: 0 1 auto;
  font-weight: 700;
  font-size: clamp(1.125rem, 2.5vw, 1.313rem);
  color: #005773;
}
.btn.btn-primary {
  background-color: #FFF131;
}
.label {
  width: 20%;
  font-size: clamp(0.625rem, 1.5vw, 0.75rem);
  text-align: center;
  padding: 0.1rem 0.15rem;
}
.label.label-primary {
  display: block;
  background-color: #005773;
  border-radius: 88px;
  color: #fff;
}


/* ==========================================================================
   ヘルパークラス
========================================================================== */
.hp_small {
  font-size: 0.8em;
}
.hp_text_bk {
  color: #333;
}
.hp_sp_br {
  display: none;
}
.hp_pc_br {
  display: block;
}
.hp_text_link {
  text-decoration: underline;
}

/* ==========================================================================
   全体
========================================================================== */
.main-wrapper {
  display: grid;
  grid-template-columns: 100%;
}
/* 1. FVを1行目に配置 */
.fv {
  grid-row: 1;
  grid-column: 1;
}

/* 2. 一番下にあるコンテンツを「1行目」に呼び出してFVに重ねる */
.fv-form {
  width: 27%;
  grid-row: 1;
  grid-column: 1;
  /* 重なりの順序と位置調整 */
  z-index: 2;
  align-self: end;
  justify-self: end;
  height: 100%;
}


/* ==========================================================================
   Header
========================================================================== */
.header {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #ffffff;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); /* 軽い影でコンテンツと区別 */
  z-index: 100;
}
.thanks-page > .header {
  position: relative;
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1200px;
  height: 80px;
  margin: 0 auto;
  padding: 0 20px;
}

/* ロゴとラベルのラッパー */
.header-left {
  width: 58%;
  display: flex;
  align-items: center;
  gap: 16px;
}

.header-right {
  width: 100%;
}

.header-logo {
  width: 40%;
  margin: 0;
  line-height: 1;
}

.header-logo img {
  width: auto;
}

/*ボタン横幅指定*/
.header-btn-box {
  width: 100%;
  max-width: 222px;
}

.header-btn-box .btn > .inner > .text {
  font-size: clamp(0.625rem, 1.5vw, 0.75rem);
}

/* ターゲットラベル */
.header-label {
  border: 1px solid #0b5d74;
  color: #0b5d74;
  font-size: 0.625rem; /* 10px相当 */
  font-weight: 700;
  text-align: center;
  padding: 4px 8px;
  line-height: 1.4;
}

/* ナビゲーションメニュー（PC） */
.header-nav {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 24px;
}

.header-nav-list {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 24px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.header-nav-item {
  width: auto;
}

.header-nav-item a {
  color: #333333;
  font-size: clamp(0.625rem, 1.5vw, 0.875rem);
  font-weight: 700;
  text-decoration: none;
  transition: opacity 0.3s ease;
}


.header-nav-item a:hover {
  opacity: 0.7;
}

/* ヘッダー内CTAボタン */
.header-btn {
  /* 以前の .btn クラスのスタイルを継承しつつ、ヘッダー用に微調整 */
  height: 48px;
  width: 240px;
  font-size: 1rem;
}

/* ハンバーガーボタン（PCでは非表示） */
.header-hamburger {
  display: none;
}

/* ドロワー用オーバーレイ（PCでは非表示） */
.header-overlay {
  display: none;
}


/* ==========================================================================
   FV (First View)
   ========================================================================== */
.fv {
  background-color: #f0f4f5; 
  padding: 3rem 1.313rem 0;
  overflow: hidden; /* 人物画像のはみ出し防止 */
  min-height: 100vh;
}

.fv-inner {
  display: flex;
  justify-content: space-between;
  max-width: 1100px;
  height: 100%;
  margin: 0 auto;
  position: relative;
}


/* -----------------------------------
   左側：コンテンツエリア
----------------------------------- */
.fv-content {
  width: 100%;
  max-width: 80%;
    -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  padding-right: 3rem;
  position: relative;
  padding-bottom: 5rem; /* 人物画像を配置するための余白 */
  z-index: 1;
}

.fv-catch {
  display: block;
  color: #0b5d74;
  font-size: clamp(1.125rem, 3vw, 1.5rem);
  font-weight: 700;
  border: 2px solid #0b5d74;
  border-radius: 20px;
  padding: 4px 16px;
  margin-bottom: 16px;
  background-color: #ffffff;
}

.fv-title {
  width: 60%;
  margin-bottom: 24px;
  color: #0b5d74;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
}

.fv-title-lead {
  display: block;
  width: 100%;
}

.fv-description-text {
  background-color: #f0f4f5;
}

/* .fv-title-top {
text-shadow: 1px 2px 0px rgba(0, 0, 0, 0.4);
}
.fv-title-top-text {
  font-size: 3rem;
  text-shadow:2px 2px 0 #fff,-1px 1px 0 #fff,1px -1px 0 #fff,-1px -1px 0 #fff;
} */

.fv-title-bottom {
  font-size: 4rem; /* 64px相当 */
  letter-spacing: -0.05em;
}

/* 「ご紹介」部分の黄色縁取り表現 */
.fv-title-highlight {
  color: #ffeb00;
  -webkit-text-stroke: 2px #0b5d74; /* テキストの縁取り */
  text-shadow: 2px 2px 0 #0b5d74, -2px -2px 0 #0b5d74, 2px -2px 0 #0b5d74, -2px 2px 0 #0b5d74; /* fallback */
}

/* バルーン画像 */
.fv-balloons {
  position: absolute;
  top: -30px;
  right: -14rem;
  width: 46%;
  z-index: 10;
  height: auto;
}

/* データハイライト（3列） */
.fv-stats {
  display: flex;
  align-items: flex-start;
  list-style: none;
  margin: 0 0 1.5rem 0;
  gap: 0.5rem; /* アイテム間の余白 */
}

.fv-stat-item {
  padding: 0.5rem 1rem 0.5rem 0.7rem;
  border-left: 3px solid #0b5d74;
  background-color: #fff;
  align-self: stretch;
}


/* メイン数値・テキストの行 */
.fv-stat-main {
  display: flex;
  align-items: flex-end; /* 下揃え */
  line-height: 1;
  margin-bottom: 8px;
}

/* 数字（500, 1） */
.fv-stat-num {
  font-size: 2.5rem; /* 40px相当 */
  font-weight: 700;
  color: #0b5d74;
  line-height: 0.8; /* ベースライン調整 */
}

/* 大きなテキスト（全国対応） */
.fv-stat-text {
  font-size: 1.75rem; /* 28px相当 */
  font-weight: 700;
  color: #0b5d74;
  line-height: 0.9;
}

/* 単位など（名以上/月, 週間〜） */
.fv-stat-unit {
  font-size: 1rem; /* 16px相当 */
  font-weight: 700;
  color: #333333;
  margin-left: 4px;
}

/* 「最短」の縦積み */
.fv-stat-stacked {
  display: flex;
  flex-direction: column;
  font-weight: 700;
  color: #0b5d74;
  line-height: 1.1;
  margin-right: 4px;
  padding-bottom: 2px;
}

/* サブテキスト（新規求職者登録など） */
.fv-stat-sub {
  font-size: 0.8125rem; /* 13px相当 */
  font-weight: 700;
  color: #333333;
}

/* リード文 */
.fv-description {
  font-size: 0.875rem; /* 14px相当 */
  line-height: 1.6;
  color: #333333;
  max-width: 480px;
  position: relative;
  z-index: 2; /* 人物画像より手前に */
}

/* 人物画像 */
.fv-people {
  position: absolute;
  bottom: 0;
  right: -60px;
  width: 58%;
  max-width: 630px;
  height: auto;
  z-index: -1;
}

/*PC版では出さない*/
.fv-btn-box {
  display: none;
}

/* -----------------------------------
   右側：フォームエリア(SPは下、PCはFV)
----------------------------------- */
/* #inquiry-form {
  position: absolute;
  top: 80px;
  right: 40px;
  width: calc(50% - 60px); 
  max-width: 370px;
  z-index: 99;
} */
/* .fv-form-anchor {
  width: 50%;
  min-height: 320px;
} */

.fv-form-wrapper {
  /* width: 380px; */
  width: 100%;
  height: 100%;
  flex-shrink: 0;
  background-color: #005773;
  /* background-color: #ccc; */
  color: #ffffff;
  padding: 24px 8px;
  position: relative;
  z-index: 2;
}


.fv-form-header {
  text-align: center;
  font-size: 0.875rem; /* 14px相当 */
  font-weight: 700;
  margin-bottom: 24px;
  line-height: 1.5;
}

.fv-form-group {
  margin-bottom: 12px;
  display: flex;
  align-items: center;
}

.fv-form-group-split {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.fv-form-col {
  flex: 1;
  display: flex;
  align-items: center;
}

.fv-form-label {
  font-size: 0.75rem; /* 12px相当 */
  width: 80px;
  flex-shrink: 0;
}

/* 必須マーク */
.fv-form-req {
  color: #ff4d4f; /* 赤色 */
  margin-left: 2px;
}

.fv-form-input,
.fv-form-select {
  flex: 1;
  width: 100%;
  height: 32px;
  border: none;
  border-radius: 4px;
  padding: 0 8px;
  font-size: 0.875rem;
  box-sizing: border-box;
}

/* チェックボックスエリア */
.fv-form-group-flex {
  align-items: flex-start;
  margin-top: 16px;
}

.fv-form-checkbox-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  flex: 1;
}

.fv-form-checkbox-label {
  font-size: 0.625rem; /* 10px相当 */
  display: flex;
  align-items: center;
  cursor: pointer;
}

.fv-form-checkbox-label input {
  margin-right: 4px;
}

.fv-form-policy {
  font-size: 0.625rem; /* 10px相当 */
  text-align: center;
  margin: 16px 0;
}

/* フォーム内ボタンの上書き */
.btn.fv-btn {
  width: 100%;
  height: 56px;
  border: none; /* button要素のリセット */
  cursor: pointer;
}

.fv-btn-tag {
  background-color: #0b5d74;
  color: #ffffff;
  font-size: 0.75rem;
  padding: 4px 12px;
  border-radius: 20px;
  margin-right: 12px;
}

.fv-btn-text {
  font-size: 1rem; /* 16px相当 */
  font-weight: 700;
}

/* ==========================================================================
   Gallery (イメージ帯)
   ========================================================================== */
.gallery {
  width: 100%;
  overflow: hidden; /* PC時の横揺れ・はみ出し防止 */
  background-color: #ffffff;
}

.gallery-list {
  display: flex;
  width: 100%;
  list-style: none;
  padding: 0;
  margin: 0;
}

.gallery-item {
  width: 14vw;
  flex-shrink: 0;
  position: relative;
  border-right: 2px solid #ffffff; 
}

.gallery-item img {
  width: 100%;
  height: auto;
  /* height: 100%; */
  object-fit: cover;
  display: block;
  aspect-ratio: 16 / 9; 
}

@keyframes gallery-loop {
  0% {
    /* 初期位置 */
    transform: translateX(0);
  }
  100% {
    /* X軸（横方向）にマイナス50%移動させる */
    transform: translateX(-50%);
  }
}


/*------------------------------
コンテンツ
------------------------------*/
/* About Section */
.about {
  padding: 4rem 0;
  background-color: #f9f9f9;
}

.about-explain-box {
  max-width: 1048px;
  margin: 0 auto;
  text-align: center;
}

.about-title {
  font-size: clamp(1.313rem, 4vw, 2rem);
  font-weight: 700;
  color: #333;
  margin-bottom: 2rem;
}

.about-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 2rem;
}

.about-card {
  flex: 1 1 calc(25% - 1rem);
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 0.5rem;
  padding: 1rem;
  text-align: center;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.about-card-img {
  width: 4rem; /* 64px */
  height: 4rem; /* 64px */
  margin-bottom: 1rem;
}

.about-card-text {
  font-size: 1rem; /* 16px */
  color: #333;
  line-height: 1.5;
}

.about-lead-box {
  max-width: 859px;
  margin: 0 auto;
  text-align: left;
}

.about-lead-text {
  font-size: 1rem; /* 16px */
  line-height: 1.8;
  color: #333;
}

.about-lead-text .highlight {
  color: #005773;
  font-weight: 700;
}

/* ==========================================================================
   Trouble Banner (課題セクション導入部)
   ========================================================================== */
.trouble-banner {
  background-color: #ffffff;
  width: 100%;
  overflow: hidden; /* 画像のはみ出し防止 */
}

.trouble-banner-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 80%;
  max-width: 1000px; /* 画像の広がりを持たせるため少し広めに設定 */
  margin: 0 auto;
}

/* 左側：テキストエリア */
.trouble-banner-text {
  flex: 1;
  color: #0b5d74;
  /*font-size: clamp(1.313rem, 4vw, 2rem);*/
  font-size: clamp(1.25rem, 3vw, 2rem);
  font-weight: 700;
  line-height: 1.5;
  padding: 40px 0px 40px 0px; /* 左側に余白を持たせる */
  margin: 0;
  position: relative;
  z-index: 2; /* グラデーションより上に配置 */
}

/* 右側：画像エリア */
.trouble-banner-image {
  width: 30%;
  max-width: 600px;
  position: relative;
  flex-shrink: 0;
}

.trouble-banner-image img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

/* 画像左端の白いフェードアウト（CSSでグラデーションマスクを作成） */
.trouble-banner-image::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 30%; /* フェードアウトの幅 */
  background: linear-gradient(to right, #ffffff 0%, rgba(255, 255, 255, 0) 100%);
  z-index: 1;
  pointer-events: none;
}

/* 画像上下のうっすらとしたフェードアウト（画像に合わせて微調整） */
.trouble-banner-image::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(to bottom, #ffffff 0%, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, 0) 90%, #ffffff 100%);
  z-index: 1;
  pointer-events: none;
}

/* ==========================================================================
   Trouble (課題と解決)
   ========================================================================== */
.trouble {
  background-color: #ffffff;
}

.trouble-inner {
  max-width: 1000px;
  margin: 0 auto;
}

.trouble-explain-box {
  margin: 2rem auto;
}

/* 吹き出し見出し */
.trouble-header {
  display: flex;
  justify-content: center;
  margin-bottom: 40px;
}

.trouble-header-title {
  position: relative;
  background-color: #6a6a6a;
  color: #ffffff;
  font-size: 1.375rem; /* 22px相当 */
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
  padding: 20px 64px;
  border-radius: 88px;
  margin: 0;
}

/* 吹き出しの下向き三角形 */
.trouble-header-title::after {
  content: "";
  position: absolute;
  bottom: -12px;
  left: 50%;
  transform: translateX(-50%);
  border-top: 12px solid #6a6a6a;
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
}

/* 4つの課題カードリスト */
.trouble-issues {
  display: flex;
  gap: 16px;
  list-style: none;
  padding: 0;
  margin: 0 0 40px 0;
}

.trouble-issue {
  flex: 1;
  background-color: #e2e2e2; /* 画像に近いライトグレー */
  border-radius: 8px;
  padding: 32px 16px;
  text-align: center;
}

.trouble-issue-icon {
  width: 96px;
  height: 96px;
  background-color: #ffffff;
  border-radius: 50%;
  margin: 0 auto 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.trouble-issue-icon img {
  max-width: 80%;
  height: auto;
  display: block;
}

.trouble-issue-text {
  font-size: 0.9375rem; /* 15px相当 */
  font-weight: 700;
  color: #333333;
  line-height: 1.5;
  margin: 0;
}

/* まとめテキストボックス */
.trouble-summary {
  width: 80%;
  margin: 0 auto;
  border: 1px solid #cce0e5; /* 縁のライトブルー */
  border-radius: 8px;
  padding: 40px;
  background-color: #ffffff;
}

.trouble-summary-text {
  font-size: 1rem; /* 16px相当 */
  color: #333333;
  line-height: 1.8;
  margin: 0 0 24px 0;
}

.trouble-summary-text:last-child {
  margin-bottom: 0;
}

/* 黄色のマーカー線 ＋ 青文字ハイライト */
.trouble-highlight {
  color: #0b5d74;
  font-weight: 700;
  /* 下半分だけを黄色に塗るグラデーション指定 */
  background: linear-gradient(transparent 60%, #ffeb00 60%);
}


/* Feature Section */
.feature {
  background-color: #F8FAFB;
}

.feature-heading-box {
  text-align: center;
  margin-bottom: 2rem;
}

.feature-heading {
  font-size: clamp(1.313rem, 4vw, 2rem);
  font-weight: 700;
  color: #005773;
  line-height: 1.2;
}

.feature-item {
  width: 100%;
  max-width: 1060px;
  margin: 0 auto;
}

.feature-item:nth-of-type(n+2) {
  margin-top: 5rem;
}

.feature-item > .inner {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 3rem;
}

.feature-item > .inner.inner-rev {
  flex-direction: row-reverse;
}

.feature-text-box {
  width: 100%;
    -ms-flex: 0 1 auto;
  flex: 0 1 auto;
}

.feature-title {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  gap: 4px;
}

.feature-point {
  display: block;
  width: 25%;
  font-size: 0.875rem;
  font-weight: 700;
  color: #fff;
  text-align: center;
  padding: 0.5rem 0.2rem;
  background-color: #005773;
  border-radius: 88px;
}

.feature-subtitle {
  font-size: clamp(1.313rem, 3vw, 1.5rem);
  font-weight: 700;
  color: #005773;
  line-height: 1.4;
  margin-bottom: 1rem;
}

.feature-description {
  font-size: 1rem; /* 16px */
  line-height: 1.8;
  color: #333;
  margin-bottom: 1rem;
}

.feature-note {
  font-size: 0.875rem; /* 14px */
  color: #666;
  line-height: 1.6;
}

.feature-date {
  font-style: italic;
}

.feature-img-box {
  width: 100%;
    -ms-flex: 0 1 auto;
  flex: 0 1 auto;
}

.feature-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0.5rem;
}

/*------------------------------
全建との関係説明セクション
------------------------------*/
.explain-box {
  padding: 1.8rem;
  background-color: #FFF9F0;
  border: dashed 1px #DD6B20;
  border-radius: 12px;
  margin-top: 2rem;
}

.explain-explain-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.explain-heading-box {
  margin-bottom: 2rem;
}

.explain-heading {
  /* font-size: 1.5rem; */
  font-size: clamp(1.125rem, 0.9rem + 0.96vw, 1.5rem);
  font-weight: 700;
  line-height: 1.5;
  color: #005773;
}
.explain-heading-subtext {
  font-size: 0.7em;
}

.explain-content {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 2rem;
}

.explain-img-box {
  width: 100%;
    -ms-flex: 0 1 auto;
  flex: 0 1 auto;
}

.explain-img {
  width: 100%;
  height: auto;
}

.explain-text-box {
  width: 100%;
    -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  max-width: 477px;
  text-align: left;
}

.explain-text {
  font-size: 1rem;
  line-height: 1.8;
  color: #333;
}

.explain-note-box {
  margin-top: 1.5rem;
  border: solid 1px #333;
  background-color: #fff;
  padding: 1rem;
}

.explain-note-title {
  display: block;
  color: #005773;
  font-weight: bold;
  border-left: solid 4px currentColor;
  padding-left: 0.8rem;
  margin-bottom: 0.5rem;
}

.explain-note-text {
  font-size: 0.875rem;
  line-height: 1.6;
}



/*------------------------------
jinzai section
------------------------------*/
.jinzai {
    position: relative;
    margin-top: 10rem;
}

.jinzai-explain {
    position: relative;
    width: 100%;
    padding: 2rem 0;
}

.jinzai-explain-box {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 2rem auto 0;
  background-color: #fff;
  border-radius: 12px;
  padding: 1rem 0;
}
.jinzai-explain-box .left-box {
  width: 30%;
  padding: 0.5rem 2rem;
}

.jinzai-explain-box .right-box {
  width: 100%;
  border-left: solid 1px #005773;
  padding: 1em 2rem;
}

.jinzai-explain-title {
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 1.5;
    text-align: center;
    color: #005773;
}

.jobtype-box {
  margin-bottom: 1rem;
}

.jobtype-box,
.lisence-box {
    display: flex;
    align-items: center;
}

.jobtype-title,
.lisence-title {
  width: 17%;
    -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  text-align: center;
  align-self: stretch;
  padding: 1rem;
  border-radius: 8px;
}

.jobtype-title {
    background-color: #005773;
    color: #ffffff;
}
.lisence-title {
  background-color: #fff;
  color: #005773;
  border: solid 1px currentColor;
}


.jobtype-item-box,
.lisence-item-box {
  width: 100%;
    -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  padding: 0 1rem;
}

.jobtype-item-list {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
}
.job-type-item {
  width: auto;
}


.inquiry {
  height: 358px;
  
  /* レイアウト・装飾（※カラーコードは画像からの近似値です） */
  background-color: #0b5d74;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
}

.inquiry-inner {
  width: 100%;
  max-width: 800px;
  text-align: center;
  color: #ffffff;
}

.inquiry-title {
  font-size: 1.75rem; /* 28px相当 */
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 40px;
  letter-spacing: 0.05em;
}

.inquiry-title span {
  display: block;
}

.inquiry-action {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.inquiry-lead {
  font-size: 0.875rem; /* 14px相当 */
  line-height: 1.6;
  margin-bottom: 20px;
  position: relative;
  display: inline-block;
  padding: 0 35px;
}

/* テキスト両脇の斜線あしらい */
.inquiry-lead::before,
.inquiry-lead::after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 30%;
  height: 100%;
  background-size: contain;
  background-repeat: no-repeat;
}
.inquiry-lead::before {
  left: 0;
  background-image: url("../img/cmn/img-slant.png");
}

.inquiry-lead::after {
  right: 0;
  background-image: url("../img/cmn/img-slant-r.png");
}

.inqury-btn-box {
  max-width: 300px;
  width: 100%;
  margin: 0 auto;
}

/* .inquiry-last {
  display: block;
} */

/*------------------------------
caseセクション
------------------------------*/
.case {
  background-color: #F8FAFB;
}

.case-heading-box {
  text-align: center;
  margin-bottom: 2rem;
}

.case-heading {
  font-size: clamp(1.313rem, 4vw, 2rem);
  font-weight: 700;
  color: #005773;
  line-height: 1.2;
}

.case-list {
  display: flex;
  justify-content: space-between;
  gap: 24px; /* カード間の余白 */
  width: 100%;
}

.case-item {
  flex: 1; /* 横幅を均等に割り当て */
  display: flex;
  flex-direction: column;
  background-color: #ffffff;
  padding: 32px 24px;
  border-radius: 8px;
}

.case-item-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 16px;
}

.case-item-tags {
  display: flex;
  gap: 8px;
}

.case-item-tag {
  font-size: 0.75rem; /* 12px相当 */
  font-weight: 700;
  padding: 4px 12px;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* 業種タグ（塗りつぶし） */
.case-item-tag-industry {
  background-color: #0b5d74;
  color: #ffffff;
}

/* エリアタグ（白抜き＋線） */
.case-item-tag-location {
  background-color: #ffffff;
  color: #0b5d74;
  border: 1px solid #0b5d74;
}

/* ダブルクォートアイコン */
.case-item-quote {
  width: 28px;
  height: auto;
  object-fit: contain;
}

.case-item-text {
  font-size: 1rem; /* 16px相当 */
  font-weight: 700;
  line-height: 1.6;
  color: #333333;
  /* テキストの長さが違っても下部のinfoが揃うように設定 */
  margin-bottom: auto; 
  padding-bottom: 24px;
}

.case-item-info {
  font-size: 0.75rem; /* 12px相当 */
  color: #9aa3a6;
}


/* ==========================================================================
   jisseki (サービス実績)
   ========================================================================== */
.jisseki {
  width: 100%;
  max-width: 1000px; /* 親要素に合わせて調整してください */
  margin: 3rem auto 0;
}


/* タイトルと左右の線 */
.jisseki-title {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.375rem; /* 22px相当 */
  font-weight: 700;
  color: #0b5d74;
  margin-bottom: 24px;
}

.jisseki-title::before,
.jisseki-title::after {
  content: "";
  flex-grow: 1;
  height: 1px;
  background-color: #0b5d74;
}

.jisseki-title::before { margin-right: 24px; }
.jisseki-title::after { margin-left: 24px; }

/* 背景ボックス */
.jisseki-box {
  background-color: #0b5d74;
  padding: 40px 20px;
}

/* リストレイアウト */
.jisseki-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}

.jisseki-item {
  flex: 1;
  text-align: center;
  color: #ffffff;
  position: relative;
}

/* アイテム間の白い縦線 */
.jisseki-item:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 1px;
  height: 80%; /* 縦線の長さ */
  background-color: #ffffff;
}

/* 各項目の見出し */
.jisseki-item-title {
  font-size: clamp(1.125rem, 3vw, 1.5rem);
  font-weight: 700;
  margin-bottom: 12px;
}

/* 数値と単位のラッパー */
.jisseki-item-data {
  display: flex;
  justify-content: center;
  align-items: flex-end; /* 下揃え */
  line-height: 1;
}

/* 黄色の大きな数値 */
.jisseki-number {
  font-size: 4rem; /* 64px相当 */
  font-weight: 700;
  color: #ffeb00;
  line-height: 0.9; /* 数値下の余白を詰める調整 */
}

/* 通常の単位（名以上、社以上） */
.jisseki-unit {
  font-size: 1.25rem; /* 20px相当 */
  font-weight: 700;
  margin-left: 4px;
  padding-bottom: 4px; /* ベースラインの微調整 */
}

/* 縦積みになる単位（[毎月] 名以上） */
.jisseki-unit-stacked {
  display: inline-flex;
  flex-direction: column;
  text-align: left;
  margin-left: 4px;
}

.jisseki-unit-top {
  font-size: 0.875rem; /* 14px相当 */
  font-weight: 700;
  margin-bottom: 2px;
}

.jisseki-unit-bottom {
  font-size: 1.25rem; /* 20px相当 */
  font-weight: 700;
}

/* 注釈テキスト（2026年2月） */
.jisseki-item-note {
  font-size: 0.875rem; /* 14px相当 */
  margin-top: 8px;
}

/*下の文章*/
.jisseki-lead-box {
  width: 100%;
  max-width: 780px;
  margin: 2rem auto;
}
.jisseki-lead-text:not(:nth-of-type(1)) {
  margin-top: 1.5rem;
}

/* ==========================================================================
   sec_plan
   ========================================================================== */
.plan {
  padding: 80px 20px;
  background-color: #ffffff;
}

.plan-inner {
  max-width: 1000px;
  margin: 0 auto;
}

/* タイトル周り */
.plan-heading-box {
  text-align: center;
  margin-bottom: 2rem;
}

.plan-heading {
  font-size: clamp(1.313rem, 4vw, 2rem);
  font-weight: 700;
  color: #005773;
  line-height: 1.5;
}

.plan-title-large {
  font-size: 1.5rem; /* 24px相当 */
  display: block;
  margin-top: 8px;
}

/* カードリスト */
.plan-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 32px;
}

/* カード本体 */
.plan-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  border: 1px solid #e0e0e0;
  border-radius: 12px;
  padding: 32px;
  background-color: #ffffff;
}

/* カード内見出しとアイコン */
.plan-item-title {
  display: flex;
  align-items: center;
  font-size: 1.25rem; /* 20px相当 */
  font-weight: 700;
  color: #333333;
  margin-bottom: 16px;
}

.plan-item-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background-color: #0b5d74;
  color: #ffffff;
  border-radius: 50%;
  font-size: 0.875rem; /* 14px相当 */
  margin-right: 12px;
}

/* 料金体系ラベル */
.plan-item-label {
  display: inline-block;
  align-self: flex-start;
  background-color: #e6eff2;
  color: #0b5d74;
  font-size: 0.75rem; /* 12px相当 */
  font-weight: 700;
  padding: 4px 12px;
  margin-bottom: 24px;
}

/* 画像 */
.plan-item-image {
  margin-bottom: 20px;
}

.plan-item-image img {
  width: 100%;
  height: auto;
  display: block;
}

/* テキストエリア */
.plan-item-description {
  font-size: 0.875rem; /* 14px相当 */
  line-height: 1.6;
  color: #333333;
  margin-bottom: 24px;
}

/* 返金保証ボックス（Aのみ） */
.plan-item-guarantee {
  border: 1px dashed #d97a26;
  background-color: #fdf6ec;
  padding: 16px;
  margin-bottom: 24px;
}

.plan-item-guarantee-title {
  color: #d97a26;
  font-size: 0.75rem; /* 12px相当 */
  font-weight: 700;
  margin-bottom: 4px;
}

.plan-item-guarantee-text {
  font-size: 0.75rem; /* 12px相当 */
  color: #333333;
  line-height: 1.5;
}

/* 注釈（Bのみ） */
.plan-item-note {
  font-size: 0.75rem; /* 12px相当 */
  color: #333333;
  line-height: 1.5;
  margin-bottom: 24px;
}

/* メリットエリア（高さが違う要素があっても下揃えにする） */
.plan-item-merit {
  margin-top: auto; 
  text-align: center;
}

.plan-item-merit-title {
  display: inline-block;
  background-color: #0b5d74;
  color: #ffffff;
  font-size: 0.875rem; /* 14px相当 */
  font-weight: 700;
  padding: 6px 24px;
  border-radius: 20px;
  position: relative;
  margin-bottom: 24px;
}

/* 吹き出しの三角形 */
.plan-item-merit-title::after {
  content: "";
  position: absolute;
  bottom: -6px;
  left: 50%;
  transform: translateX(-50%);
  border-top: 6px solid #0b5d74;
  border-right: 6px solid transparent;
  border-left: 6px solid transparent;
}

/* メリットリスト */
.plan-item-merit-list {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: left;
}

.plan-item-merit-item {
  position: relative;
  padding-left: 20px;
  font-size: 0.875rem; /* 14px相当 */
  font-weight: 700;
  color: #0b5d74;
  padding-bottom: 12px;
  margin-bottom: 12px;
  border-bottom: 1px solid #e0e0e0;
  line-height: 1.4;
}

/* 最後の項目の下線とマージンを消す */
.plan-item-merit-item:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

/* チェックマーク（CSSで再現） */
.plan-item-merit-item::before {
  display: block;
  content: "";
  width: 4%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  color: #0b5d74;
  background-image: url("../img/cmn/icon-checkmark.png");
  background-position: center;
  background-size: 100%;
  background-repeat: no-repeat;
}

/* メリット内の注釈テキスト */
.plan-item-merit-note {
  display: block;
  font-size: 0.625rem; /* 10px相当 */
  font-weight: normal;
  margin-top: 4px;
}


/* ==========================================================================
   sec_flow
   ========================================================================== */
.flow {
  /* 背景色は画像のうっすらとしたグレーを想定 */
  background-color: #fafbfc;
  padding: 80px 20px;
}

.flow-inner {
  max-width: 900px;
  margin: 0 auto;
}

/* セクションタイトル */
.flow-heading-box {
  text-align: center;
  margin-bottom: 2rem;
}

.flow-heading {
  font-size: clamp(1.313rem, 4vw, 2rem);
  font-weight: 700;
  color: #005773;
  line-height: 1.2;
}

/* リスト・アイテム設定 */
.flow-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.flow-item {
  position: relative;
  margin-bottom: 3rem; /* 下矢印と次のボックスへの余白 */
}

.flow-item:last-child {
  margin-bottom: 0;
}

/* 下向きの矢印（最後のアイテム以外に付与） */
.flow-item:not(:last-child)::after {
  content: "";
  position: absolute;
  bottom: -32px;
  left: 50%;
  transform: translateX(-50%);
  border-top: 14px solid #0b5d74;
  border-right: 12px solid transparent;
  border-left: 12px solid transparent;
}

/* ボックス共通スタイル */
.flow-box {
  border: solid 1px #005773;
  border-radius: 16px;
  background-color: #ffffff;
  border-radius: 12px;
  padding: 32px 40px;
  /* 軽いシャドウで浮遊感を出す場合は下記を有効に */
  /* box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); */
}

/* 左右分割パターンのボックス */
.flow-box.flow-box-split {
  display: flex;
  padding: 0; /* カラム側でpaddingを持つためリセット */
}

.flow-col {
  flex: 1;
  padding: 32px 40px;
}

/* 左右を区切る点線 */
.flow-col-left {
  border-right: 1px dashed #dcdcdc;
}

/* ヘッダー周り（Step 01, 02用） */
.flow-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

.flow-box-title {
  font-size: clamp(1.125rem, 3vw, 1.5rem);
  font-weight: 700;
  color: #333333;
}

/* ヘッダー周り（Step 03〜05 左右カラム用） */
.flow-col-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

.flow-col-title {
  font-size: 1rem; /* 16px相当 */
  font-weight: 700;
  color: #333333;
  margin-bottom: 12px;
  line-height: 1.5;
}

/* 数字部分 */
.flow-number {
  font-size: 2.25rem; /* 36px相当 */
  font-weight: 700;
  color: #dce4e6;
  line-height: 1;
  font-family: Arial, Helvetica, sans-serif; /* 数字を目立たせる */
}

/* タグ共通 */
.flow-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 16px;
  border-radius: 20px;
  font-size: 0.75rem; /* 12px相当 */
  font-weight: 700;
}

/* 塗りつぶしタグ（人材紹介型） */
.flow-label-solid {
  background-color: #0b5d74;
  color: #ffffff;
}

/* 線画タグ（ダイレクトリクルーティング型） */
.flow-label-outline {
  border: 1px solid #0b5d74;
  color: #0b5d74;
  background-color: #ffffff;
}

/* テキスト共通 */
.flow-text {
  font-size: 0.875rem; /* 14px相当 */
  color: #333333;
  line-height: 1.6;
}

/* ==========================================================================
   sec_faq
   ========================================================================== */
.faq {
  padding: 80px 20px;
  background-color: #ffffff; /* 背景は白を想定 */
}

.faq-inner {
  max-width: 800px;
  margin: 0 auto;
}

/* 見出し周り */
.faq-heading-box {
  text-align: center;
  margin-bottom: 40px;
}

.faq-heading {
  font-size: 1.5rem; /* 24px相当 */
  font-weight: 700;
  color: #0b5d74;
}

/* FAQリスト */
.faq-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 16px; /* 各ボックスの余白 */
}

/* 各ボックスの枠線と背景 */
.faq-item {
  border: 1px solid #dcdcdc; /* 画像のグレーに近い枠線 */
  border-radius: 8px;
  padding: 24px 32px;
  background-color: #ffffff;
}

/* 質問エリア (Q) */
.faq-question {
  display: flex;
  align-items: flex-start;
  color: #0b5d74;
  font-weight: 700;
  font-size: 1rem; /* 16px相当 */
  padding-bottom: 16px;
  margin-bottom: 16px;
  border-bottom: 1px dotted #dcdcdc; /* QとAの間の点線 */
  line-height: 1.5;
}

.faq-q-mark {
  margin-right: 4px;
  flex-shrink: 0; /* 改行防止 */
}

/* 回答エリア (A) */
.faq-answer {
  display: flex;
  align-items: flex-start;
  color: #333333;
  font-size: 0.875rem; /* 14px相当 */
  line-height: 1.6;
}

.faq-a-mark {
  font-weight: 700;
  margin-right: 12px;
  flex-shrink: 0; /* 改行防止 */
}

/* Q8のリンク用スタイル */
.faq-link {
  color: #0b5d74;
  text-decoration: underline;
  font-weight: 700;
  display: inline-block;
  margin-top: 8px;
}

.faq-link:hover {
  text-decoration: none;
}


/* ==========================================================================
   footer
   ========================================================================== */
.footer {
  padding: 40px 20px;
  background-color: #ffffff;
  text-align: center;
}

.footer-inner {
  max-width: 800px;
  margin: 0 auto;
}

/* ナビゲーションリンク */
.footer-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  list-style: none;
  padding: 0;
  margin: 0 0 24px 0;
}

.footer-nav-item {
  display: flex;
  align-items: center;
}

/* リンクとリンクの間の「｜」区切り線 */
.footer-nav-item:not(:last-child)::after {
  content: "｜"; /* 全角パイプまたは適宜調整 */
  color: #0b5d74;
  margin: 0 16px;
  font-size: 0.875rem; /* 14px相当 */
}

.footer-nav-item a {
  color: #0b5d74;
  text-decoration: none;
  font-size: 0.875rem; /* 14px相当 */
  transition: opacity 0.3s ease;
}

.footer-nav-item a:hover {
  opacity: 0.7;
  text-decoration: underline;
}

/* コピーライト */
.footer-copyright {
  margin: 0;
  color: #0b5d74;
}

.footer-copyright small {
  font-size: 0.75rem; /* 12px相当 */
  font-weight: normal;
}
/* ==========================================================================
   Thanks (サンクスページ) - clamp() レスポンシブ版
   ========================================================================== */
.thanks {
  padding: 3rem 1.313rem 5rem;
  background-color: #ffffff;
  text-align: center;
}
.thanks-page > .footer {
  background-color: #F8FAFB;
}

.thanks-inner {
  max-width: 800px;
  margin: 0 auto;
}

/* 見出し */
.thanks-title {
  /* PC最大: 1.5rem (24px相当) / 推奨: ざっくり3vw / SP最小: 1.125rem (18px相当) */
  font-size: clamp(1.125rem, 3vw, 1.5rem);
  font-weight: 700;
  color: #0b5d74;
  line-height: 1.5;
  margin-bottom: 40px;
}

/* 資料イメージのダミーボックス */
.thanks-image-box {
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
  /* height: 200px;
  background-color: #e2e2e2;
  border: 1px solid #333333;
  box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.1);
  margin: 0 auto 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(1.125rem, 2.5vw, 1.25rem);
  font-weight: 700;
  color: #000000; */
}
.download-btn-box {
  width: 100%;
  max-width: 320px;
  margin: 2rem auto;
}


/* 「無料」タグ */
.thanks-btn-tag {
  background-color: #ffeb00;
  color: #0b5d74;
  /* タグ内文字は小さいので、最小値10pxまでざっくり縮小 */
  /* PC最大: 0.75rem (12px相当) / 推奨: ざっくり1.2vw / SP最小: 0.625rem (10px相当) */
  font-size: clamp(0.625rem, 1.2vw, 0.75rem);
  padding: 4px 14px;
  border-radius: 20px;
  margin-right: 12px;
}

/* ボタンテキスト（ダウンロードはこちら） */
.thanks-btn-text {
  /* PC最大: 1.125rem (18px相当) / 推奨: ざっくり2.5vw / SP最小: 1.0rem (16px相当) */
  font-size: clamp(1.0rem, 2.5vw, 1.125rem);
}

/* 説明テキストエリア（本文） */
.thanks-note {
  max-width: 560px;
  margin: 0 auto;
  text-align: left;
  /* FAQ回答などの本文と同等の縮尺 */
  /* PC最大: 0.875rem (14px相当) / 推奨: ざっくり1.5vw / SP最小: 0.75rem (12px相当) */
  font-size: clamp(0.75rem, 1.5vw, 0.875rem);
  line-height: 1.6;
  color: #333333;
}

.thanks-note p {
  margin: 0 0 16px 0;
}

.thanks-note p:last-child {
  margin-bottom: 0;
}

/*-------------------------------- 
PC限定指定
-------------------------------- */
@media (min-width: 831px) {
  a[href^="tel:"] {
      pointer-events: none;
      cursor: default;
      text-decoration: none;
  }
}

/*-------------------------------- 
スマホ対応  @media (max-width: 768px) {
-------------------------------- */
@media (max-width: 830px) {
  .main-wrapper {
    display: block;/*打消し用*/
  }
  .hp_sp_br {
    display: block;
  }
  .hp_pc_br {
    display: none;
  }

  .header-inner {
    height: 60px;
    padding: 0 16px;
  }

  .header-left {
    width: 70%;
    gap: 8px; /* SPは隙間を狭く */
  }
  .header-logo {
    width: 100%;
  }

  .header-label {
    width: 100%;
    font-size: 0.5rem; /* 8px相当に縮小して収める */
    padding: 2px 6px;
  }

  /* ハンバーガーボタン */
  .header-hamburger {
    display: block;
    position: relative;
    width: 32px;
    height: 32px;
    background: transparent;
    border: none;
    cursor: pointer;
    z-index: 102; /* ドロワーより上に配置 */
    padding: 0;
  }

  .header-hamburger span {
    position: absolute;
    left: 4px;
    width: 24px;
    height: 2px;
    background-color: #333333;
    transition: all 0.3s ease;
    border-radius: 2px;
  }

  /* 3本線の配置 */
  .header-hamburger span:nth-child(1) { top: 8px; }
  .header-hamburger span:nth-child(2) { top: 15px; }
  .header-hamburger span:nth-child(3) { top: 22px; }

  /* ハンバーガーボタン クリック時（×印に変形） */
  .header-hamburger.is-active span:nth-child(1) {
    top: 15px;
    transform: rotate(45deg);
  }
  .header-hamburger.is-active span:nth-child(2) {
    opacity: 0;
  }
  .header-hamburger.is-active span:nth-child(3) {
    top: 15px;
    transform: rotate(-45deg);
  }

  /* ドロワーメニュー（右からスライドイン） */
  .header-nav {
    position: fixed;
    top: 0;
    right: -100%; /* 初期状態は画面外 */
    width: 80%;
    max-width: 320px;
    height: 100vh;
    background-color: #ffffff;
    flex-direction: column;
    align-items: flex-start;
    padding: 80px 24px 40px;
    gap: 32px;
    transition: right 0.3s ease;
    z-index: 101;
    overflow-y: auto;
  }

  /* ドロワーメニュー 表示時 */
  .header-nav.is-active {
    right: 0;
  }

  .header-nav-list {
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    gap: 0;
  }

  .header-nav-item {
    width: 100%;
    border-bottom: 1px solid #eeeeee;
  }

  .header-nav-item a {
    display: block;
    padding: 16px 0;
  }

  .header-btn {
    width: 100%;
  }

  /* オーバーレイ（暗い背景） */
  .header-overlay {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.5);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    z-index: 100;
  }

  .header-overlay.is-active {
    opacity: 1;
    visibility: visible;
  }

  .btn-primary {
    align-self: center;
  }

  /*-----------FV-----------*/
  #inquiry-form {
    position: static;
    width: 100%;
    transform: none;
    max-width: 900px;
    margin: 0 auto;
  }

  .fv {
    padding: 3rem 0 0;
    min-height: 0;
  }

  .fv-inner {
    flex-direction: column;
  }

  .fv-content {
    max-width: 100%;
    padding: 0 1.313rem 3rem; /* 下部に人物画像を配置するスペースを確保 */
  }

  .fv-title {
    width: 80%;
  }

  .fv-title-top {
    font-size: clamp(1.313rem, 4vw, 2rem);
  }
  
  .fv-title-bottom {
    font-size: 2.5rem; /* 40px相当 */
  }
  .fv-balloons {
    width: 36%;
    right: -70px;
    top: -30px;
  }

  .fv-stats {
    width: 50%;
    flex-direction: column;
    gap: 16px 0;
  }

  .fv-stat-item {
    padding: 0.5rem 0.7rem;
  }

  .fv-people {
    width: 320px;
    right: -60px;
    bottom: 220px;
    z-index: -3;
  }

  .fv-form-wrapper {
    width: 100%;
    border-radius: 0;
    padding: 2rem 0;
    z-index: 2;
  }

  .fv-form-anchor {
    display: none !important;
  }

  /*PC版では出さない*/
  .fv-btn-box {
    display: block;
    width: 100%;
    margin: 1rem auto 0;
  }

  /*ギャラリー*/
  /* スクロールバーを非表示にする（Chrome/Safari） */
  .gallery-list::-webkit-scrollbar {
    display: none;
  }

  .gallery-list {
    display: flex;
    width: 100%;
    list-style: none;
    padding: 0;
    margin: 0;
    /*アニメーション用指定*/
    width: max-content;
    animation: gallery-loop 30s linear infinite;
  }

  .gallery-item {
    width: 50vw;
    flex-shrink: 0;
    position: relative;
    border-right: 2px solid #ffffff; 
  }

  /*お困りごと*/
  .trouble-banner-inner {
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
  }

  .trouble-banner-text {
    width: 100%;
    padding: 0px 0px 3rem;
    text-align: center;
  }

  .trouble-banner-image {
    width: 100%;
    max-width: 100%;
  }

  /* SP時は画像の「上端」を白くフェードアウトさせる */
  .trouble-banner-image::before {
    width: 100%;
    height: 40px; /* フェードアウトの高さ */
    right: 0;
    bottom: auto;
    background: linear-gradient(to bottom, #ffffff 0%, rgba(255, 255, 255, 0) 100%);
  }
  
  .trouble-header-title {
    font-size: clamp(1.125rem, 3vw, 1.5rem);
    padding: 16px 24px;
    border-radius: 32px;
  }

  /* SP時は2列×2行のレイアウトに変更 */
  .trouble-issues {
    flex-wrap: wrap;
    gap: 16px;
  }

  .trouble-issue {
    flex: calc(50% - 8px); /* 余白を引いてきっちり2列にする計算 */
    padding: 24px 12px;
  }

  .trouble-issue-icon {
    width: 72px;
    height: 72px;
  }

  .trouble-issue-text {
    font-size: 0.8125rem; /* 13px相当 */
  }

  .trouble-summary {
    width: 100%;
    padding: 24px;
  }

  .trouble-summary-text {
    font-size: 0.875rem; /* 14px相当 */
  }

/*about*/
  .about-list {
    flex-direction: column;
    gap: 1.5rem;
  }

  .about-card {
    flex: 1 1 100%;
  }

  .about-lead-box {
    text-align: center;
  }

  .feature-item {
    flex-direction: column;
    gap: 2rem;
  }

  .feature-text-box {
    width: 100%;
    /* text-align: center; */
  }

  .feature-img-box {
    width: 100%;
    height: auto;
  }

  .feature-item > .inner {
    flex-direction: column;
  }
  .feature-item > .inner.inner-rev {
    flex-direction: column-reverse;
  }

  .explain-content {
    flex-direction: column;
  }

    .jinzai-explain-box {
        padding: 1rem;
        flex-direction: column;
    }
    .jinzai-explain-box .left-box {
      width: 100%;
    }
    .jinzai-explain-box .right-box {
      width: 100%;
      border-left-style: none;
      border-top: solid 1px #005773;
      padding: 1em 0rem;
    }

    .jinzai-explain-title {
        font-size: 1.25rem; /* 20px */
    }

    .jobtype-title,
    .lisence-title {
      font-size: 1.25rem;
    }

    .jobtype-item-box,
    .lisence-item-box {
      padding: 0 0 0 1rem;
    }

    .jobtype-item,
    .lisence-item {
        font-size: 1.25rem; /* 20px */
    }

  .inquiry {
      height: auto;
      padding: 60px 20px;
    }

    .inquiry-title {
      font-size: 1.25rem; /* 20px相当 */
      margin-bottom: 30px;
    }

    .inquiry-lead {
      font-size: 0.75rem; /* 12px相当 */
    }

    .btn.inquiry-btn {
      width: 100%;
      height: 56px;
    }

    .inquiry-btn-text {
      font-size: 1rem; /* 16px相当 */
    }
  .inquiry-last {
    display: none !important;
  }

  .case-list {
    flex-direction: column;
    gap: 16px;
  }

  .case-item {
    padding: 24px 20px;
  }
  .jisseki-title {
    font-size: clamp(1.125rem, 3vw, 1.5rem);
  }

  .jisseki-title::before { margin-right: 16px; }
  .jisseki-title::after { margin-left: 16px; }

  .jisseki-box {
    padding: 32px 20px;
  }

  .jisseki-list {
    flex-direction: column;
    gap: 32px; /* 縦積みの際の余白 */
  }

  /* SP時は縦線を横線（下線）に変更 */
  .jisseki-item:not(:last-child)::after {
    top: auto;
    bottom: -16px;
    right: 50%;
    transform: translateX(50%);
    width: 80%;
    height: 1px;
  }

  .jisseki-number {
    font-size: 3rem; /* 48px相当に縮小 */
  }

  .jisseki-unit-bottom,
  .jisseki-unit {
    font-size: 1rem; /* 16px相当に縮小 */
  }

  .plan {
    padding: 60px 20px;
  }
  
  .plan-title {
    font-size: 1rem; /* 16px相当 */
  }
  
  .plan-title-large {
    font-size: 1.25rem; /* 20px相当 */
  }

  .plan-list {
    flex-direction: column;
    gap: 24px;
  }

  .plan-item {
    padding: 24px;
  }

  .flow {
    padding: 60px 20px;
  }

  .flow-title {
    font-size: 1.25rem; /* 20px相当 */
    margin-bottom: 40px;
  }

  .flow-box {
    padding: 24px;
  }

  .flow-box.flow-box-split {
    flex-direction: column;
  }

  .flow-col {
    padding: 24px;
  }

  /* SP時は左右の区切り線を上下の区切り線に変更 */
  .flow-col-left {
    border-right: none;
    border-bottom: 1px dashed #dcdcdc;
  }

  .flow-number {
    font-size: 1.75rem; /* 28px相当に縮小 */
  }

  .flow-item {
    margin-bottom: 40px;
  }
  
  .flow-item:not(:last-child)::after {
    bottom: -28px;
  }
  .faq {
    padding: 60px 20px;
  }

  .faq-heading {
    font-size: 1.25rem; /* 20px相当 */
  }

  .faq-item {
    padding: 20px 24px;
  }

  .faq-question {
    font-size: 0.9375rem; /* 15px相当 */
    padding-bottom: 12px;
    margin-bottom: 12px;
  }

  .faq-answer {
    font-size: 0.8125rem; /* 13px相当 */
  }
  .footer {
    padding: 32px 20px;
  }

  .footer-nav {
    flex-direction: column;
    gap: 16px;
    margin-bottom: 32px;
  }

  /* SP時は縦並びにするため区切り線を消す */
  .footer-nav-item:not(:last-child)::after {
    display: none;
  }

  .footer-nav-item a {
    font-size: 0.8125rem; /* 13px相当 */
  }

  .footer-copyright small {
    font-size: 0.625rem; /* 10px相当 */
  }

  /*------------サンクスページ-----------*/
  .thanks {
    padding: 60px 20px 80px;
  }
  .download-btn-box {
    width: 100%;
    margin: 2rem auto;
  }
  .btn.thanks-btn {
    height: 56px; /* ボタンの高さはメディアクエリで調整 */
  }

}/*media_query_end*/










