/* ----------------------------------------* -new oneway---------------------------------------- */

.container--1280 {
  max-width: 1280px;
}

.oneway-box {
  input,
  textarea,
  select {
    border: none;
  }
  .form-control,
  .form-select {
    border: none;
    border-radius: 0;
  }
  textarea {
    resize: vertical;
  }
}

br.pc-only {
  display: none;
}

/* PCサイズ以上では改行にする */
@media screen and (min-width: 769px) {
  br.pc-only {
    display: block;
  }
}
br.sp-only {
  display: none;
}

.cv_footer .cv_footer__nav {
  position: fixed;
  bottom: 10px;
  z-index: 4;
  width: 100%;
  display: grid;
  grid-template-columns: 1.5fr 1.2fr 1fr;
  gap: 5px;
  padding: 0 10px;
  justify-content: center;
}
.cv_footer .cv_footer__nav li {
  width: 100%;
  border-radius: 8px;
  box-shadow: rgba(0, 0, 0, 0.2) 0px 4px 12px;
}
.cv_footer .cv_footer__nav li:nth-child(1) {
  background: #03c755;
}
.cv_footer .cv_footer__nav li:nth-child(2) {
  background: #41517d;
}
.cv_footer .cv_footer__nav li:nth-child(3) {
  background: #ff9402;
}
.cv_footer .cv_footer__nav li a {
  color: #fff;
  font-size: min(3.2vw, 15px);
  font-weight: bold;
  display: flex;
  gap: 5px;
  justify-content: center;
} /*# sourceMappingURL=style.css.map */


/* SPのときだけ改行を有効化 */
@media (max-width: 767px) {
  br.sp-only {
    display: inline;
  } /* 改行が効く */
}
/* ----------------------------------------
* onewae-fv
---------------------------------------- */
.main_image {
  margin: 0 auto;
  background: #fcfaf7;
}

/* PC用はデフォルトで表示、SPは非表示 */
.main_image.sp { display: none; }

@media screen and (max-width: 768px) {
  .main_image.pc { display: none; }
  .main_image.sp { display: block; }
}

/* PC用だけ margin を変えたい */
@media screen and (min-width: 769px) {
  .main_image.pc {
    margin: auto 0;
  }
}
/* ----------------------------------------
* onewae-title
---------------------------------------- */
.oneway-title-box {
  text-align: center;
  margin: 40px 0;
}

.oneway-title-box .oneway-title-en {
  font-family: brothers, sans-serif;
  font-size: 4em;
  /* font-weight: bold !important; */
  color: #3c5380;
  margin: 0;
}

.oneway-title-box .oneway-title-line {
  display: block;
  width: 50px;
  height: 5px;
  background: #ffc107; /* 黄色ライン */
  margin: 10px auto;
  margin-top: -10px;
}

.oneway-title-box .oneway-title-jp {
  font-size: 1.2em;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif; /* 日本語はシンプルゴシック */
  color: #3c5380;
  margin: 0;
  font-weight: 600;
}

/* ----------------------------------------
* onewae-price-table
---------------------------------------- */

/* ラッパー：影と角丸でカード風 */
.price-table-wrap {
  max-width: 920px;
  margin: 24px auto;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(28, 42, 60, 0.06);
}

/* テーブル基本 */
.price-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  color: #3c5380;
}

/* ヘッダーは非表示でもOK（アクセシビリティのため一応残す） */
.price-table thead th {
  text-align: left;
  font-weight: 700;
  font-size: 0.95rem;
  padding: 12px 20px;
  background: #f6f8fc;
  color: #546b84;
  border-bottom: 1px solid #e7edf5;
}

/* セル共通 */
.price-table td {
  padding: 18px 20px;
  vertical-align: middle;
  line-height: 1.6;
  font-weight: 700; /* 見本の太め感 */
  color: #3a4a66; /* ややネイビー */
  vertical-align: middle; /* ← 縦方向中央 */
  padding-left: 100px;
  padding-right: 100px;
  font-size: 1.2rem;
}

/* 右カラムの体裁 */
.price-table td.price {
  text-align: right;
  font-size: 1.4rem;
  white-space: nowrap;
  color: #3D5281;
}
.price-table .tax {
  font-size: 0.9rem;
  font-weight: 600;
  color: #6d7f95;
}

/* ゼブラ行 */
.price-table tbody tr:nth-child(odd) {
  background: #edf1fa;
}
.price-table tbody tr:nth-child(even) {
  background: #ffffff;
}

/* CTA行だけ少し高さ感 */
.price-table tr.is-cta td {
  padding-top: 22px;
  padding-bottom: 22px;
}

/* CTAボタン */
.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 20px;
  background: #3c5380; /* ネイビー */
  color: #fff !important;
  text-decoration: none;
  border-radius: 5px;
  font-weight: 700;
  letter-spacing: 0.02em;
  transition: transform 0.06s ease, box-shadow 0.2s ease, background 0.2s ease;
}
.btn-primary:hover {
  background: #3c5380;
}
.btn-primary:active {
  transform: translateY(1px);
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.15);
}

/* 右端セルは右寄せ */
.price-table .cta-cell {
  text-align: right;
}

/* くの字アイコン（テキストで簡易） */
.btn-primary .chevron {
  font-size: 1.2em;
  line-height: 1;
}

/* スマホ対応：縦積み */
@media (max-width: 640px) {
  .price-table-wrap {
    max-width: 920px;
    margin: 24px auto;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(28, 42, 60, 0.06);
  }

  /* テーブル基本 */
  .price-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
    color: #3c5380;
  }

  /* ヘッダーは非表示でもOK（アクセシビリティのため一応残す） */
  .price-table thead th {
    text-align: left;
    font-weight: 700;
    font-size: 0.95rem;
    padding: 12px 20px;
    background: #f6f8fc;
    color: #546b84;
    border-bottom: 1px solid #e7edf5;
  }

  /* セル共通 */
  .price-table td {
    padding: 12px 12px;
    vertical-align: middle;
    line-height: 1.6;
    font-weight: 700; /* 見本の太め感 */
    color: #3a4a66; /* ややネイビー */
    vertical-align: middle; /* ← 縦方向中央 */
    font-size: 0.9rem;
  }

  /* 右カラムの体裁 */
  .price-table td.price {
    text-align: right;
    font-size: 1.125rem;
    white-space: nowrap;
  }
  .price-table .tax {
    font-size: 0.9rem;
    font-weight: 600;
    color: #6d7f95;
  }

  /* ゼブラ行 */
  .price-table tbody tr:nth-child(odd) {
    background: #edf1fa;
  }
  .price-table tbody tr:nth-child(even) {
    background: #ffffff;
  }

  /* CTA行だけ少し高さ感 */
  .price-table tr.is-cta td {
    padding-top: 22px;
    padding-bottom: 22px;
  }

  /* CTAボタン */
  .btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 16px;
    background: #3c5380; /* ネイビー */
    color: #fff !important;
    text-decoration: none;
    border-radius: 3px;
    font-weight: 700;
    letter-spacing: 0.02em;
    transition: transform 0.06s ease, box-shadow 0.2s ease, background 0.2s ease;
  }
  .btn-primary:hover {
    background: #3c5380;
  }
  .btn-primary:active {
    transform: translateY(1px);
    box-shadow: 0 2px 0 rgba(0, 0, 0, 0.15);
  }

  /* 右端セルは右寄せ */
  .price-table .cta-cell {
    text-align: right;
  }

  /* くの字アイコン（テキストで簡易） */
  .btn-primary .chevron {
    font-size: 1.2em;
    line-height: 1;
  }
}

/* ----------------------------------------
* onewae-price_cta
---------------------------------------- */

/* セクション全体 */
.cta-section {
  padding: 80px 0px;
}

/* 白い箱 */
.cta-box {
  max-width: 960px;
  margin: 0 auto;
  background: #fff;
  border-radius: 7px;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.06);
  padding: 40px 32px;
  text-align: center;
}

/* 見出し */
.cta-title {
  font-size: 2.5rem;
  font-weight: 700;
  color: #3c5380;
  margin: 0 0 24px;
}

/* グレー線 */
.cta-line {
  display: block;
  width: auto;
  height: 2px;
  background: #edeeef;
  margin: 10px auto;
}

/* サブタイトル */
.cta-subtitle {
  font-size: 1.1rem;
  font-weight: 600;
  color: #3c5380;
  margin: 25px 10px 4px;
}

/* 補足説明 */
.cta-note {
  font-size: 0.9rem;
  color: #555;
  margin: 0 0 28px;
}

/* ボタン3つを横並び */
.cta-buttons {
  display: flex;
  justify-content: center;
  gap: 20px;
}

.cta-buttons a img {
  display: block;
  max-width: 280px; /* 画像サイズ調整 */
  width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.08);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.cta-buttons a:hover img {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
}
@media (max-width: 640px) {
  .cta-section {
    padding: 40px 0px;
  }
  .cta-box {
    padding: 24px 16px;
  }
  .cta-title {
    font-size: 1.4rem;
    margin: 0 0 15px;
  }
  .cta-subtitle {
    font-size: 1.1rem;
    margin-top: 16px;
  }
  .cta-note {
    font-size: 0.8rem;
    margin-bottom: 20px;
  }

  .cta-buttons {
    flex-direction: column; /* 縦積み */
    align-items: stretch; /* 幅いっぱい */
    gap: 14px;
  }
  .cta-buttons a img {
    max-width: none; /* 画像を幅いっぱいに */
    width: 100%;
  }
}
/* ----------------------------------------
* onewae-service
---------------------------------------- */

/* ===== 背景（どちらか1つを採用） ===== */

/* A: 画像をタイル（推奨はSVG） */
.service-box {
  padding-top: 100px;
}
.service-section {
  padding: 40px 0 80px 0;
  background: url("images/oneway/check.svg") center/cover repeat;
}
/* ===== コンテナ ===== */
.service-inner {
  max-width: 1040px;
  margin: 0 auto;
  /* padding: 0 20px; */
  text-align: center;
}

.service-title {
  font-size: clamp(28px, 3.2vw, 48px);
  letter-spacing: 0.08em;
  color: #2e4877;
  font-weight: 800;
  margin: 0 0 8px;
}

.service-subtitle {
  color: #2e78b6;
  font-weight: 700;
  margin: 0 0 28px;
}

/* ===== リスト（2カラム行） ===== */
.service-list {
  display: grid;
  gap: 18px 22px; /* 行間・列間 */
}

.service-item {
  display: grid;
  grid-template-columns: 320px 1fr; /* 左：紺、右：白 */
  align-items: stretch;
}

.service-label {
  position: relative;
  background: #3d5281;
  color: #fff;
  font-weight: 800;
  font-size: 1.5em !important;
  line-height: 1.4;
  padding: 24px 20px; /* ← ここを戻す（左の巨大paddingは削除） */
  text-align: center;
  display: flex;
  align-items: center; /* 縦中央 */
  justify-content: center; /* 横中央 */
  isolation: isolate;
}

/* 車は左端に固定（テキスト幅を圧迫しないよう%で調整） */
.service-car {
  position: absolute;
  left: 0; /* 一番左に寄せるなら 0、はみ出させるなら -8px など */
  top: 50%;
  transform: translateY(-50%);
  width: clamp(180px, 42%, 240px); /* 画面に応じて適度に可変。固定なら 220px でOK */
  height: auto;
  opacity: 1; /* うっすらにしない */
  pointer-events: none;
  z-index: 0; /* テキストより背面にしたい時は -1 でもOK（isolation 推奨） */
}

.service-car-02 {
  position: absolute;
  right: 0; /* 一番左に寄せるなら 0、はみ出させるなら -8px など */
  top: 50%;
  transform: translateY(-50%);
  width: clamp(180px, 42%, 240px); /* 画面に応じて適度に可変。固定なら 220px でOK */
  height: auto;
  opacity: 1; /* うっすらにしない */
  pointer-events: none;
  z-index: 0; /* テキストより背面にしたい時は -1 でもOK（isolation 推奨） */
}

.service-card {
  position: relative;
  background: #fff;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.06);
  padding: 18px 22px 20px 28px;
  text-align: left;
}

/* 左のオレンジ帯（見出し横の縦バー） */
.service-card-title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.15em; /* お好みで上下の余白を微調整 */
  bottom: 0.15em;
  width: 6px;
  background: #ffcf2e;
}

.service-card-title {
  position: relative;
  padding-left: 16px; /* ラインと文字の間隔 */
  font-weight: 800;
  color: #2f4a7a;
  margin: 0 0 6px;
  font-size: 1.5em !important;
}
.service-card-text {
  color: #2d3d55;
  line-height: 1.9;
  margin: 0;
  font-size: 1em !important;
}
@media (max-width: 767px) {
  .service-card-title {
  position: relative;
  padding-left: 16px; /* ラインと文字の間隔 */
  font-weight: 800;
  color: #2f4a7a;
  margin: 0 0 12px;
  font-size: 1.rem !important;
  line-height: 1.5;
}
  .service-section {
    /* padding: 56px 0; */
  }
  .service-subtitle {
    margin-bottom: 20px;
  }

  .service-item {
    grid-template-columns: 1fr; /* 縦積み */
  }

  .service-label {
    padding: 18px 16px;
    font-size: 16px;
  }

  .service-label::after {
    right: -10px;
    width: 160px;
    height: 88px;
    opacity: 0.1; /* もしくは display:none; にしてもOK */
  }

  .service-card {
    padding: 16px 16px 18px 22px;
  }

  .service-card::before {
    top: 12px;
    bottom: 12px;
  }
  .service-card-text {
    color: #000;
    line-height: 1.9;
    margin: 0;
    font-size: 0.8rem !important;
    line-height: 1.3rem;
  }
}
/* ----------------------------------------
* onewae-future
---------------------------------------- */
.future-box {
  padding-top: 100px;
}
/* セクションヘッダー */
.feature-section {
  padding: 0 0 80px 0;
}

.feature-inner {
  max-width: 1100px;
  margin: 0 auto;
  /* padding: 0 20px;  */
  text-align: center;
}

.feature-title {
  font-size: clamp(28px, 3.5vw, 56px);
  font-weight: 800;
  letter-spacing: 0.06em;
  color: #2e3f66;
  margin: 0;
}
.feature-underline {
  display: inline-block;
  width: 60px;
  height: 6px;
  border-radius: 3px;
  background: #f1b53f;
  margin: 14px auto 8px;
}
.feature-subtitle {
  color: #3d5281;
  font-weight: 700;
  margin: 0 0 28px;
}

/* PC：3カラムグリッド */
.feature-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}

/* カード */
.feature-card {
  background: #fff;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
  overflow: hidden;
  text-align: left;
  display: flex;
  flex-direction: column;
  padding-bottom: 24px;
}

.feature-media {
  position: relative;
}
.feature-media img {
  display: block;
  width: 100%;
  height: auto;
}
.feature-num {
  font-family: brothers, sans-serif;
  position: absolute;
  left: 16px;
  top: -1px;
  font-weight: 900;
  color: #fff;
  font-size: 2.5rem;
  letter-spacing: 0.02em;
}

.feature-heading {
  margin: 20px 25px 16px;
  font-weight: 800;
  color: #3d5281;
  line-height: 1.6;
  text-align: center;
  font-size: 1.2rem;
}
.feature-heading .emph {
  color: #3d5281;
  font-size: 1.6rem;
  margin: 0 -5px;
}
.feature-heading .emph-02 {
  color: #3d5281;
  font-size: 1.6rem;
}

.feature-text {
  margin: 0 18px 22px;
  color: #000;
  line-height: 1.7;
  font-size: 0.85rem;
}

@media (max-width: 767px) {
  .feature-section {
    padding: 0;
  }

  .feature-list {
    display: grid;
    grid-template-columns: 1fr; /* 1カラム */
    gap: 25px;
    overflow: visible; /* 横スクロール解除 */
    scroll-snap-type: none; /* スナップ解除 */
  }

  .feature-card {
    padding-bottom: 28px;
  }
  .feature-heading {
    margin: 20px 14px 16px;
    font-size: 1.05rem;
    text-align: center;
  }
  .feature-text {
    margin: 0 20px 0;
  }

  .feature-heading .emph {
    color: #3d5281;
    font-size: 1.6rem;
    margin: 0 -6px;
  }
  .feature-heading .emph-02 {
    color: #3d5281;
    font-size: 1.6rem;
  }
}
/* ----------------------------------------
* onewae-howtouse
---------------------------------------- */
/* ---- Box / Inner ---- */
.howto_box {
  /* background: #fff; */
  padding: 84px 0 120px;
}

/* ★ 固定幅 → 可変（親幅にフィット） */
.howto-section .howto-inner {
  max-width: 1120px; /* 上限を1120pxに */
  width: 100%; /* 親幅に追従 */
  margin: 0 auto;
  box-sizing: border-box;
}
/* ---- List layout (3カラム固定) ---- */
.howto-list {
  list-style: none;
  padding: 0;
  margin: 40px 0 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
}

/* ---- Card ---- */
.howto-card {
  position: relative;
  background: #fff;
  padding: 5px 20px;
  border-radius: 10px;
  clip-path: polygon(0 0, 92% 0, 100% 50%, 92% 100%, 0 100%);
  filter: drop-shadow(8px 0 12px rgba(0, 0, 0, 0.3)); /* ← これで右に影が出る */
  overflow: visible; /* ← 影が切れないように */
}
.howto-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(255, 255, 255, 0.6), #fff), /* ← オーバーレイ */ url("images/oneway/check.jpg") no-repeat center center;
  background-size: 700%;
  background-blend-mode: lighten; /* multiply, overlay なども試せる */
  z-index: -2;
}
/* 右側フェード */
.howto-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 60%, #fff 100%);
  z-index: -1;
}
/* ---- head ---- */
.howto-head {
  display: flex;
  align-items: center;
  gap: 16px;
  /* margin:0 0 16px; */
}
.howto-num {
  font-weight: 900;
  color: #3d5281;
  font-size: 2.3rem;
  font-family: brothers, sans-serif;
  letter-spacing: 0.02em;
}
.howto-bar {
  width: 5px;
  height: 27px;
  background: #3d5281;
}
.howto-title {
  font-weight: 900;
  color: #3d5281;
  font-size: 1.9rem;
  letter-spacing: 0.06em;
}

/* ---- Pill ---- */
.howto-pill {
  display: inline-block;
  margin: 10px 0 10px;
  padding: 2px 10px;
  border-radius: 999px;
  border: 2.5px solid #3d5281; /* ← ここを修正 */
  color: #3d5281;
  font-weight: 800;
  font-size: 1rem;
}
/* ---- Text ---- */
.howto-body p {
  color: #000;
  font-size: 0.85rem;
  line-height: 1.9;
  margin: 0 0 0.8em;
}
@media (max-width: 768px) {
  .howto_box {
  /* background: #fff; */
  padding: 30px 0 40px;
}

  /* カードレイアウトを縦組に */
  .howto-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }

  .howto-card {
    /* 下辺が尖る形に変更 */
    clip-path: polygon(0 0, 100% 0, 100% 92%, 50% 100%, 0 92%);
    filter: drop-shadow(0 8px 12px rgba(0, 0, 0, 0.3)); /* 下に影を出す */
    border-radius: 0; /* clip-path と共存できないので無効化 */
    padding:10px 20px;
  }

  /* 背景（チェック＋オーバーレイ） */
  .howto-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.6), #fff), /* 上から下へオーバーレイ */ url("images/oneway/check.jpg") no-repeat center center;
    background-size: 250%; /* ← SPではもう少し拡大 */
    background-blend-mode: lighten;
    z-index: -2;
  }

  /* フェードも下方向に変更 */
  .howto-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 40%, #fff 100%);
    z-index: -1;
  }

  /* ヘッダーを縦積みに */
  .howto-head {
    flex-direction: row; /* 横並びのまま */
    align-items: center;
    gap: 12px; /* 余白は少し狭く */
  }
  .howto-num {
    font-size: 2rem;
  }
  .howto-title {
    font-size: 1.6rem;
  }
  .howto-bar {
    width: 4px;
    height: 25px; /* 棒も少し短く */
  }
  .howto-body p {
    color: #000;
    font-size: 0.8rem;
    line-height: 1.9;
    margin: 0 0 30px 0;
  }
  /* ---- Pill ---- */
  .howto-pill {
    display: inline-block;
    margin: 10px 0 15px;
    padding: 2px 10px;
    border-radius: 999px;
    border: 2.5px solid #3d5281; /* ← ここを修正 */
    color: #3d5281;
    font-weight: 800;
    font-size: 1rem;
  }
}
/* ----------------------------------------
* onewae-scene
---------------------------------------- */
.scene-inner {
  max-width: 1200px;
  margin: 0 auto;
}

.scene-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px 24px;
  padding: 0 40px 0 40px;
}

.scene-card {
  background: #fff;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
}

.scene-media img {
  width: 100%;
  height: auto;
  display: block;
}

.scene-content {
  padding: 25px;
}

/* タイトル全体ラップ */
.scene-titlewrap {
  display: flex;
  align-items: stretch; /* ← 高さを揃える */
  gap: 15px;
  margin-bottom: 12px;
}

/* 黄色ライン */
.scene-line {
  display: inline-block;
  width: 5px;
  background: #ffd24c;
  flex-shrink: 0;
}

/* 見出し＋サブを縦に */
.scene-titles {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.scene-heading {
  font-size: 2rem;
  font-weight: 700;
  color: #3d5281;
  line-height: 1.3;
}

.scene-sub {
  font-size: 1.2rem;
  font-weight: 700;
  color: #3d5281;
  line-height: 1.3;
}
.scene-text {
  font-size: 0.85rem;
  color: #000;
  line-height: 1.6;
}
@media (max-width: 768px) {
  .scene-list {
    display: flex; /* グリッド → フレックス */
    gap: 16px; /* カード間の余白 */
    overflow-x: auto; /* 横スクロール有効化 */
    scroll-snap-type: x mandatory; /* スクロールをカード単位で止める */
    -webkit-overflow-scrolling: touch; /* iOS慣性スクロール */
    padding: 20px 20px 70px 20px;

  }
  .sceene-padding{
    padding-left: 20px;
  }

  .scene-card {
    flex: 0 0 80%; /* カード幅（80%にすると横に2.5枚ぐらい見える） */
    scroll-snap-align: start; /* スクロール位置でカード頭にピタッと止まる */
  }

  .scene-media img {
  }
  .scene-sub {
  font-size: 1rem;
  font-weight: 700;
  color: #3d5281;
  line-height: 1.3;
}
}
/* ----------------------------------------
* onewae-gradation
---------------------------------------- */

.sections-wrapper {
  background: linear-gradient(to top, /* ← 上下逆にするなら「to top」 */ #c0d1fa 0%, /* 濃い青（スタート） */ #f6f9ff 40%, /* 薄めの青（中間を長めにする） */ #ffffff 100% /* 白（上で消えていく感じ） */);
  padding: 80px 0;
}
@media (max-width: 768px) {
.sections-wrapper {
  background: linear-gradient(to top, /* ← 上下逆にするなら「to top」 */ #c0d1fa 0%, /* 濃い青（スタート） */ #f6f9ff 40%, /* 薄めの青（中間を長めにする） */ #ffffff 100% /* 白（上で消えていく感じ） */);
  padding: 0px 0;
}
}

/* ----------------------------------------
* onewae-FAQ
---------------------------------------- */

/* ===== ベース ===== */
.faq-inner {
  max-width: 960px;
  margin: 0 auto;
  padding: 40px 20px 0;
}
.faq-list {
  margin-top: 24px;
}
.faq-item {
  border-bottom: 1px solid #e5e8f0;
  padding-bottom: 20px;
}

/* ===== 質問行（Q.） ===== */
.faq-question {
  width: 100%;
  text-align: left;
  border: 0;
  cursor: pointer;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 14px;
  padding: 18px 20px;
  background: #3D5281; /* 濃い青（スクショ寄せ） */
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.08), inset 0 -1px rgba(0, 0, 0, 0.06);
}
.faq-question:hover {
  background: #3D5281;
}

/* 左の「Q.」を大きく & 角丸枠っぽく */
.faq-question .faq-q {
  font-family: brothers, sans-serif;
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  min-width: 42px;
  /* border: 2px solid rgba(255, 255, 255, 0.35); */
  border-radius: 8px;
  font-weight: 900;
  font-size: 2rem;
  letter-spacing: 0.04em;
  margin-right: 4px;
}

/* 右端の＋／− を白枠の角丸ボタン風に */
.faq-toggle {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 8px;
  font-size: 2.35rem;
  font-weight: 900;
  line-height: 1;
  transition: transform 0.15s ease;
}
.faq-question:active .faq-toggle {
  transform: scale(0.96);
}

/* JSで .open を付ける or <details open> の両対応 */
.faq-item.open .faq-question,
.faq-item[open] .faq-question {
  background: #3D5281;
}
.faq-item.open .faq-toggle,
.faq-item[open] .faq-toggle {
  border-color: #fff;
}

/* ===== 回答エリア（A.） ===== */
.faq-answer {
  background: #eef3f8; /* スクショのライトグレー寄り */
  padding: 16px 20px 22px;
  font-size: 0.95rem;
  color: #333;
  border-top: 4px solid #E4E8EB; /* Q行とA行の区切り帯 */
}
[hidden] {
  display: none !important;
}

/* 先頭行を強調（青太字） */
.faq-answer > p:first-child {
  display: flex;
  align-items: center;   /* ← baseline ではなく center揃え */
  margin-bottom: 12px;
  color: #3D5281;
  font-weight: 800;
}

/* 2段落目以降の頭を、faq-textの開始位置に合わせる（42px + 8px） */
.faq-answer > p:not(:first-child) {
  margin: 0 0 8px;
  padding-left: calc(42px + 8px); /* A.の分＋間隔 */
  padding-right: 40px;            /* ← 任意の右余白を追加 */
  line-height: 1.8;
}

/* 左の「A.」も大きく見せる */
.faq-answer .faq-a {
  flex: 0 0 42px;        /* 幅固定 */
  display: flex;
  justify-content: center;
  align-items: center;   /* ←中の文字も中央配置 */
  height: 42px;          /* ボックス高さも合わせる */
  margin-right: 8px;
  font-family: brothers, sans-serif;
  font-weight: 900;
  font-size: 2rem;
  color: #3D5281;
}

.faq-answer .faq-text {
  font-size: 1.2rem;    /* 例: 24Q */
  line-height: 1.4;
  font-weight: 700;
}

.faq-list-cancel {
  margin: 8px 0 16px;                /* 上下の余白だけ残す */
  padding-left: calc(42px + 8px);    /* ← 「A.」＋間隔ぶん右にずらす */
  list-style: none;                  /* デフォルトの黒丸を消す */
}

.faq-list-cancel li {
  margin-bottom: 4px;
  line-height: 1.6;
  position: relative;
  padding-left: 1em;                 /* 擬似要素の位置調整用 */
}

.faq-list-cancel li::before {
  content: "・";                     /* 中黒マーカー */
  position: absolute;
  left: 0;
  color: #27467d;                    /* 青系で統一 */
  font-weight: bold;
}

/* ===== “＋ / −” の見た目を状態で切替（JS版 & details版） ===== */
/* .faq-item.open .faq-toggle::after,
.faq-item[open] .faq-toggle::after {
  content: "−";
}
.faq-item:not(.open) .faq-toggle::after {
  content: "＋";
}
.faq-item:not([open]) .faq-toggle::after {
  content: "＋";
}
 */
/* ===== スマホ微調整 ===== */
@media (max-width: 640px) {
  .faq-question {
  width: 100%;
  text-align: left;
  border: 0;
  cursor: pointer;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 14px;
  padding: 18px 20px;
  background: #3D5281; /* 濃い青（スクショ寄せ） */
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.4;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.08), inset 0 -1px rgba(0, 0, 0, 0.06);
}
.faq-question:hover {
  background: #3D5281;
}

  .faq-answer .faq-text {
  font-size: 1rem;    /* 例: 24Q */
  line-height: 1.4;
  font-weight: 700;
}
  .faq-inner {
  max-width: 960px;
  margin: 0 auto;
  padding: 40px 0px 0;
}
  .faq-question {
    padding: 16px 14px;
    gap: 10px;
  }
  .faq-question .faq-q {
    width: 38px;
    height: 38px;
    font-size: 1.8rem;
  }
  .faq-toggle {
    width: 34px;
    height: 34px;
    font-size: 1.2rem;
  }
  .faq-answer {
    padding: 16px 14px 18px;
    font-size: 0.8rem;
  }
  .faq-answer > p:not(:first-child) {
  margin: 0 0 8px;
  padding-left: calc(42px + 8px); /* A.の分＋間隔 */
  padding-right: 10px;            /* ← 任意の右余白を追加 */
  line-height: 1.8;
}

  .faq-answer .faq-a {
    width: 38px;
    height: 38px;
    font-size: 1.8rem;
  }
.faq-item {
  border-bottom: 1px solid #e5e8f0;
  padding-bottom: 10px;
}
}
/* ----------------------------------------
* onewae-form
---------------------------------------- */
/* セクションの器（他セクションと同様の内側幅） */
.contact-inner {
  max-width: 960px;
  margin: 0 auto;
  padding: 40px 20px;
}

/* パネル背景（淡いブルー） */
.contact-formbg {
  background: #eef4ff; /* スクショ寄せの淡ブルー */
  border-radius: 8px;
  padding: 60px 60px 40px;
}

/* ラベル・行 */
.form-row {
  margin: 0 0 22px;
}
.form-label {
  display: block;
  margin-bottom: 10px;
  font-weight: 700;
  color: #3d5281; /* 既存ブランド色 */
  letter-spacing: 0.02em;
}
.req {
  color: #e55;
  margin-left: 0.25em;
}

/* 入力要素 */
.form-control,
.form-select {
  width: 100%;
  background: #fff;
  border: 1.5px solid #e6eaf3;
  border-radius: 8px;
  height: 54px;
  padding: 0 14px;
  font-size: 16px;
  color: #1b1e27;
  outline: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
textarea.form-control {
  height: auto;
  padding: 12px 14px;
  line-height: 1.7;
}

/* フォーカス */
.form-control:focus,
.form-select:focus {
  border-color: #3d5281;
  box-shadow: 0 0 0 3px rgba(61, 82, 129, 0.15);
}

/* セレクトの矢印 */
.select-wrap {
  position: relative;
}
.select-wrap::after {
  content: "";
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 7px solid #3d5281; /* 濃いめの矢印 */
  pointer-events: none;
}
.form-select {
  appearance: none;
  -webkit-appearance: none;
}

/* 注意＋同意 */
.privacy-note {
  margin: 60px 0 40px;
  font-size: 0.8rem;
  line-height: 1.8;
  color: #52607a;
  text-align: center;
}
.check-row {
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: center;
  font-weight: 700;
  color: #3d5281;
  margin-bottom: 18px;
}
.check-row input {
  width: 18px;
  height: 18px;
}

/* 送信ボタン */
.form-actions {
  text-align: center;
}
.btn-submit {
  display: inline-block;
  min-width: 220px;
  height: 48px;
  padding: 0 22px;
  border-radius: 999px;
  border: 2px solid #3d5281;
  background: #3d5281;
  color: #fff;
  font-weight: 800;
  letter-spacing: 0.15em;
  box-shadow: 0 6px 14px rgba(33, 50, 78, 0.18);
  transition: transform 0.05s ease, filter 0.15s ease, background 0.15s ease;
}
.btn-submit:hover {
  filter: brightness(1.05);
}
.btn-submit:active {
  transform: translateY(1px);
}

/* スマホ微調整 */
@media (max-width: 600px) {
  .contact-formbg {
  background: #eef4ff; /* スクショ寄せの淡ブルー */
  border-radius: 8px;
  padding: 40px 20px 20px;
}
  .contact-inner {
    padding: 32px 16px;
  }
  .contact-form {
    /* padding: 24px 16px 28px; */
  }
  .form-control,
  .form-select {
    height: 52px;
  }
.form-label {
  display: block;
  margin-bottom: 10px;
  font-weight: 700;
  color: #3d5281; /* 既存ブランド色 */
  letter-spacing: 0.02em;
  font-size: 0.9rem;
}
.privacy-note {
  margin: 60px 0 40px;
  font-size: 0.75rem;
  line-height: 1.8;
  color: #52607a;
  text-align: center;
}
}

.cv_footer_oneway .cv_footer__nav {
  padding: 0 !important;
  bottom: 0 !important;
  gap: 0 !important;
  grid-template-columns: repeat(3, 1fr) !important;
}
.cv_footer_oneway .cv_footer__nav li {
  border-radius: 0;
}

.form-actions .btn-submit {
  border-radius: 5px;
  background: #3d5281;
  color: #fff;
}
