/*
 * style-common_2607.css
 * タビケン留学 共通パーツ（ヘッダー・フッター・ハンバーガー）
 * 2607改修用 — このファイルは旧CSSを読み込まない
 *
 * ブレークポイント（Bootstrap 準拠）: sm ≥576px / md ≥768px / lg ≥992px / xl ≥1200px
 * 各セクション直後に max-width: 1200px → 992px → 768px → 576px の順で @media を配置
 */

/* ===========================
   リセット / ベース
   =========================== */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* 2607ページ：画面幅いっぱいに表示 */
html {
  width: 100%;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}

body.tabiken-2607 {
  width: 100%;
  margin: 0;
  padding: 0;
  overflow-x: clip;
  font-family: 'Noto Sans JP', sans-serif;
}

body.tabiken-2607 .hd2607,
body.tabiken-2607 .ft2607 {
  width: 100%;
  max-width: none;
}

body.tabiken-2607 .ft2607__nav-dark,
body.tabiken-2607 .ft2607__info,
body.tabiken-2607 .ft2607__copyright,
body.tabiken-2607 .ft2607-fixed-cta {
  width: 100%;
  max-width: none;
}

@media (min-width: 768px) {
  .d-md-none {
    display: none !important;
  }
}

/* ===========================
   カラー変数
   =========================== */
:root {
  --hd-blue:        #1398bf;
  --hd-orange:      #ff8c00;
  --hd-green:       #00b900;
  --hd-dark:        #333;
  --hd-border:      #717171;
  --ft-dark:        #333;
  --ft-lightblue:   #cfeaf2;
  --ft-border-dark: #cfeaf2;
  --ft-text-dark:   #231816;
  --text-white:     #fff;
}

/* PCナビ展開中は背面コンテンツのスクロールを停止
   body ではなく html 側に指定する（body に指定すると sticky ヘッダーの固定位置がずれるため） */
html.hd2607-nav-open {
  overflow: hidden;
}

/* ===========================
   ヘッダー
   =========================== */
.hd2607 {
  position: sticky;
  top: 0;
  z-index: 100;
  width: 100%;
}
html.hd2607-nav-open .hd2607 {
  z-index: 1000;
}

/* 上段（ロゴ + CTA） */
.hd2607__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100px;
  padding: 0 24px;
  background: #fff;
  border-bottom: 1px solid var(--hd-border);
}

.hd2607__logo {
  margin-right: 20px;
}

.hd2607__logo img {
  display: block;
  width: 193px;
  height: auto;
}

.hd2607__cta {
  display: flex;
  align-items: center;
  gap: 20px;
}

/* ヘッダーCTAボタン共通（外側レイヤー） */
.hd2607__btn {
  display: inline-flex;
  width: 220px;
  height: 50px;
  padding: 2px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  text-decoration: none;
  letter-spacing: 0.04em;
  white-space: nowrap;
  transition: opacity .2s;
  box-sizing: border-box;
}
.hd2607__btn:hover {
  opacity: .85;
}

/* 内側レイヤー */
.hd2607__btn-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  height: 100%;
  border-radius: 6px;
  border: 0.2px solid #fff;
  box-sizing: border-box;
}
.hd2607__btn-icon {
  flex-shrink: 0;
  display: block;
}

.hd2607__btn--counseling {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.30) 40.09%, rgba(219, 219, 219, 0.30) 80.83%), #FF8C00;
}
.hd2607__btn--counseling .hd2607__btn-inner {
  background: #FF8C00;
}

.hd2607__btn--line {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.30) 40.09%, rgba(219, 219, 219, 0.30) 80.83%), #00B900;
}
.hd2607__btn--line .hd2607__btn-inner {
  background: #00B900;
}

/* ハンバーガーボタン */
.hd2607__menu-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 50px;
  height: 50px;
  padding: 10px;
  background: var(--hd-dark);
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: opacity .2s;
}
.hd2607__menu-btn:hover {
  opacity: .8;
}

.hd2607__menu-lines {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 26px;
}
.hd2607__menu-lines span {
  display: block;
  width: 100%;
  height: 3px;
  background: #fff;
  border-radius: 2px;
  transition: transform .3s, opacity .3s;
}

.hd2607__menu-label {
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  line-height: 1;
}

/* 下段ナビバー（PC only / 開閉式トグルメニュー） */
.hd2607__nav {
  position: relative;
  height: 50px;
  background: var(--hd-blue);
}
.hd2607__nav-list {
  display: flex;
  align-items: center;
  height: 100%;
  margin: 0;
  padding: 0 74px;
  gap: 33px;
  list-style: none;
}
.hd2607__nav-item {
  height: 100%;
}

/* トグルボタン / 単純リンク（共通） */
.hd2607__nav-toggle,
.hd2607__nav-link {
  display: flex;
  align-items: center;
  gap: 7px;
  height: 100%;
  padding: 0;
  background: none;
  border: none;
  font-family: inherit;
  font-size: 16px;
  font-weight: 500;
  color: #fff;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: opacity .2s;
}
.hd2607__nav-toggle:hover,
.hd2607__nav-link:hover {
  opacity: .75;
}

/* 開閉アイコン */
.hd2607__nav-arrow {
  width: 11px;
  height: auto;
  transition: transform .25s ease;
}
.hd2607__nav-toggle[aria-expanded="true"] {
  opacity: 1;
}
.hd2607__nav-toggle[aria-expanded="true"] .hd2607__nav-arrow {
  transform: rotate(180deg);
}

/* メガパネル（fixed でメインコンテンツより前面に固定表示） */
.hd2607__panel {
  position: fixed;
  left: 0;
  right: 0;
  top: 150px;
  z-index: 1001;
  background: #fff;
  border-top: 3px solid var(--hd-blue);
  box-shadow: 0 14px 26px rgba(0, 0, 0, .12);
  max-height: calc(100vh - 150px);
  max-height: calc(100dvh - 150px);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  animation: hd2607-panel-in .22s ease;
}
.hd2607__panel[hidden] {
  display: none;
}
@keyframes hd2607-panel-in {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}
.hd2607__panel-inner {
  max-width: 1340px;
  margin: 0 auto;
  padding: 32px 40px;
}

/* カードグリッド */
.hd2607__cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(186px, 1fr));
  gap: 28px 24px;
}
.hd2607__card {
  min-width: 0;
}
.hd2607__card-img {
  display: block;
  margin-bottom: 10px;
}
.hd2607__card-img img,
img.hd2607__card-img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
}
a.hd2607__card-img {
  transition: opacity .2s;
}
a.hd2607__card-img:hover {
  opacity: .85;
}

/* カード見出し */
.hd2607__card-title {
  display: flex;
  align-items: center;
  gap: 5px;
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  color: var(--hd-dark);
  line-height: 1.4;
}
.hd2607__card-title--link {
  text-decoration: none;
  transition: color .2s;
}
.hd2607__card-title--link::after {
  content: "";
  flex-shrink: 0;
  width: 6px;
  height: 6px;
  border-top: 2px solid var(--hd-blue);
  border-right: 2px solid var(--hd-blue);
  transform: rotate(45deg);
}
.hd2607__card-title--link:hover {
  color: var(--hd-blue);
}

/* カード内リンクリスト */
.hd2607__card-links {
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
}
.hd2607__card-links a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 5px;
  padding: 7px 0;
  font-size: 13px;
  font-weight: 500;
  color: var(--hd-dark);
  text-decoration: none;
  border-bottom: 1px solid #ececec;
  transition: color .2s;
}
.hd2607__card-links a::after {
  content: "";
  flex-shrink: 0;
  width: 5px;
  height: 5px;
  border-top: 2px solid #bbb;
  border-right: 2px solid #bbb;
  transform: rotate(45deg);
  transition: border-color .2s;
}
.hd2607__card-links a:hover {
  color: var(--hd-blue);
}
.hd2607__card-links a:hover::after {
  border-color: var(--hd-blue);
}

@media (max-width: 992px) {
  .hd2607__nav {
    display: none;
  }
}

@media (max-width: 768px) {
  .hd2607__top {
    height: 60px;
    padding: 10px 16px;
    border-bottom: 1px solid #e0e0e0;
  }
  .hd2607__logo img {
    width: 147px;
  }
  .hd2607__cta .hd2607__btn--counseling,
  .hd2607__cta .hd2607__btn--line {
    display: none; /* SP: CTA は固定フッターへ */
  }
  .hd2607__menu-btn {
    width: 44px;
    height: 44px;
    border-radius: 7px;
    gap: 5px;
  }
  .hd2607__menu-lines {
    width: 23px;
  }
  .hd2607__menu-label {
    font-size: 11px;
  }
}

/* ===========================
   ドロワー（SP: アコーディオン / PC: 下段メガメニューと併用）
   =========================== */
.hd2607-drawer {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 200;
  width: 100%;
  max-width: 100%;
  height: 100%;
  background: #fff;
  overflow-y: auto;
  transform: translateX(100%);
  transition: transform .3s cubic-bezier(.4,0,.2,1);
}
.hd2607-drawer[aria-hidden="false"] {
  transform: translateX(0);
}
.hd2607-drawer__inner {
  min-height: 100%;
}

/* ドロワー：ヘッド（ロゴ + 閉じるボタン） */
.hd2607-drawer__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  background: var(--hd-blue);
}
.hd2607-drawer__head__logo img {
  display: block;
  width: 130px;
  height: auto;
}
.hd2607-drawer__head__close {
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
}
.hd2607-drawer__head__close img {
  display: block;
  width: 56px;
  height: auto;
}

/* ドロワー：ボディ */
.hd2607-drawer__body {
  padding: 0 0 40px;
}

/* ドロワー：ナビリスト */
.hd2607-drawer__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.hd2607-drawer__list__item {
  border-bottom: 1px solid #eee;
}
.hd2607-drawer__list__item__text {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 15px 20px;
  font-family: inherit;
  font-size: 15px;
  font-weight: 700;
  color: #333;
  text-decoration: none;
  background: none;
  border: none;
  text-align: left;
  cursor: pointer;
  box-sizing: border-box;
}
.hd2607-drawer__list__item__text--link:hover {
  background: #f5f5f5;
}
.hd2607-drawer__list__item.is-active > .hd2607-drawer__list__item__text {
  color: var(--hd-blue);
}

/* 開閉矢印 */
.hd2607-drawer__arrow {
  flex-shrink: 0;
  width: 8px;
  height: auto;
  color: #999;
  transition: transform .25s ease, color .25s ease;
}
.hd2607-drawer__list__item.is-active > .hd2607-drawer__list__item__text .hd2607-drawer__arrow {
  transform: rotate(90deg);
  color: var(--hd-blue);
}

/* ドロワー：サブリスト（アコーディオン） */
.hd2607-drawer__link-list {
  display: none;
  margin: 0;
  padding: 0 0 8px 20px;
  list-style: none;
  background: #f9f9f9;
}
.hd2607-drawer__list__item.is-active > .hd2607-drawer__link-list {
  display: block;
}
.hd2607-drawer__link-list__item a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 11px 20px 11px 0;
  font-size: 14px;
  font-weight: 500;
  color: #333;
  text-decoration: none;
  border-bottom: 1px solid #ebebeb;
}
.hd2607-drawer__link-list__item a::after {
  content: "";
  flex-shrink: 0;
  width: 6px;
  height: 6px;
  border-top: 2px solid #bbb;
  border-right: 2px solid #bbb;
  transform: rotate(45deg);
}
.hd2607-drawer__link-list__item a:hover {
  background: #f0f0f0;
  color: var(--hd-blue);
}
.hd2607-drawer__link-list__item a:hover::after {
  border-color: var(--hd-blue);
}
.hd2607-drawer__link-list__item.none-link {
  padding: 12px 0 4px;
  font-size: 12px;
  font-weight: 700;
  color: #888;
  border-bottom: none;
}
.hd2607-drawer__link-list__item.sub-link a {
  font-weight: 700;
  color: var(--hd-blue);
}

/* オーバーレイ */
.hd2607-overlay {
  position: fixed;
  inset: 0;
  z-index: 190;
  background: rgba(0,0,0,.5);
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s;
}
.hd2607-overlay.is-visible {
  opacity: 1;
  pointer-events: auto;
}

@media (min-width: 769px) {
  /* PC: 下段メガメニューを主ナビ、ドロワーは補助（幅を抑える） */
  .hd2607-drawer {
    width: 400px;
    max-width: 90vw;
  }
  .hd2607-drawer__head__logo img {
    width: 160px;
  }
}

/* ===========================
   フッター — 国別ナビ（ダーク）
   =========================== */
.ft2607__nav-dark {
  background: var(--ft-dark);
  padding: 80px 50px;
}
.ft2607__nav-dark__inner {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 40px 30px;
  max-width: 1340px;
  margin: 0 auto;
}

/* オーストラリア・フィリピンは2ブロック幅 */
.ft2607__country--wide {
  grid-column: span 2;
}

.ft2607__country-heading {
  padding-bottom: 10px;
  margin-bottom: 21px;
  border-bottom: 1px solid var(--ft-border-dark);
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  white-space: nowrap;
}

.ft2607__country-cols {
  display: flex;
  gap: 30px;
}
.ft2607__country--wide .ft2607__country-cols > div {
  flex: 1;
  min-width: 0;
}

/* 単幅ブロックは都市・目的を縦並び */
.ft2607__country:not(.ft2607__country--wide) .ft2607__country-cols {
  flex-direction: column;
  gap: 24px;
}

.ft2607__col-title {
  margin: 0 0 14px;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
}

.ft2607__country ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.ft2607__country ul li {
  padding-left: 19px;
  margin-bottom: 11px;
}
.ft2607__country ul a {
  font-size: 14px;
  font-weight: 300;
  color: #fff;
  text-decoration: none;
  line-height: 1.5;
}
.ft2607__country ul a:hover {
  text-decoration: underline;
}

@media (max-width: 992px) {
  .ft2607__nav-dark__inner {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 768px) {
  .ft2607__nav-dark {
    padding: 40px 20px;
  }
  .ft2607__nav-dark__inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .ft2607__country--wide {
    grid-column: span 1;
  }
  .ft2607__country--wide .ft2607__country-cols {
    flex-direction: column;
    gap: 24px;
  }
  .ft2607__country-heading {
    font-size: 16px;
  }
}

/* ===========================
   フッター — 会社情報 + クイックリンク（ライトブルー）
   =========================== */
.ft2607__info {
  background: var(--ft-lightblue);
  padding: 40px 50px 48px;
}
.ft2607__info__inner {
  display: flex;
  align-items: flex-start;
  gap: 40px;
  max-width: 1340px;
  margin: 0 auto;
}

.ft2607__company {
  flex-shrink: 0;
  width: 552px;
}

/* ロゴ + SNS 横並び */
.ft2607__company-head {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-bottom: 24px;
}
.ft2607__company-logo {
  flex-shrink: 0;
  line-height: 0;
}
.ft2607__company-logo img {
  display: block;
  width: 282px;
  height: auto;
}

.ft2607__sns {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-shrink: 0;
}
.ft2607__sns-link {
  display: flex;
  align-items: center;
  text-decoration: none;
  transition: opacity .2s;
}
.ft2607__sns-link:hover {
  opacity: .75;
}
.ft2607__sns-link img {
  display: block;
  width: auto;
  height: 48px;
}
.ft2607__sns-link:nth-child(2) img {
  height: 36px;
}

.ft2607__company-info {
  display: grid;
  grid-template-columns: auto 1fr auto 1fr;
  column-gap: 4px;
  row-gap: 4px;
  margin: 0 0 16px;
  font-size: 16px;
  color: var(--ft-text-dark);
  letter-spacing: 0.05em;
}
.ft2607__company-info dt {
  font-weight: 500;
}
.ft2607__company-info dd {
  margin: 0;
  font-weight: 400;
}

.ft2607__company-note {
  margin: 0;
  font-size: 16px;
  color: var(--ft-text-dark);
  line-height: 1.8;
}

/* クイックリンク */
.ft2607__quicklinks {
  display: flex;
  gap: 40px;
  flex: 1;
}
.ft2607__quicklinks-col {
  flex: 1;
}
.ft2607__quicklinks-heading {
  padding-bottom: 8px;
  margin-bottom: 14px;
  border-bottom: 1px solid var(--ft-text-dark);
  font-size: 14px;
  font-weight: 700;
  color: var(--ft-text-dark);
}
.ft2607__quicklinks-col ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.ft2607__quicklinks-col li {
  margin-bottom: 11px;
}
.ft2607__quicklinks-col a {
  font-size: 14px;
  font-weight: 300;
  color: var(--ft-text-dark);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.ft2607__quicklinks-col a:hover {
  opacity: .7;
}

@media (max-width: 992px) {
  .ft2607__info__inner {
    flex-direction: column;
    gap: 32px;
  }
  .ft2607__company {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .ft2607__info {
    padding: 40px 20px;
  }
  .ft2607__info__inner {
    flex-direction: column;
    gap: 32px;
  }
  .ft2607__company {
    width: 100%;
  }
  .ft2607__company-head {
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 20px;
  }
  .ft2607__company-logo img {
    width: 220px;
  }
  .ft2607__sns {
    gap: 12px;
  }
  .ft2607__sns-link img {
    height: 40px;
  }
  .ft2607__sns-link:nth-child(2) img {
    height: 30px;
  }
  .ft2607__company-info {
    grid-template-columns: auto 1fr;
  }
  .ft2607__quicklinks {
    flex-direction: column;
    gap: 24px;
    width: 100%;
  }
}

/* ===========================
   フッター — コピーライト
   =========================== */
.ft2607__copyright {
  background: #fff;
  padding: 20px 10px;
  text-align: center;
}
.ft2607__copyright p {
  margin: 0;
  font-size: 14px;
  color: #000;
}

@media (max-width: 768px) {
  /* フッターが固定CTAに隠れないように余白 */
  .ft2607__copyright {
    padding-bottom: calc(20px + env(safe-area-inset-bottom));
  }
}

/* ===========================
   SP 固定CTA
   =========================== */
.ft2607-fixed-cta {
  display: none; /* SP only */
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 150;
  align-items: center;
  background: rgba(0, 0, 0, .7);
  padding: 10px 16px;
  gap: 12px;
}
.ft2607-fixed-cta__link {
  flex: 1;
  min-width: 0;
  display: block;
  line-height: 0;
  transition: opacity .2s;
}
.ft2607-fixed-cta__link:hover {
  opacity: .85;
}
.ft2607-fixed-cta__link img {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 768px) {
  .ft2607-fixed-cta {
    display: flex;
  }
}

/* ===========================
   無料カウンセリング（共通パーツ）
   snippets/rv-counseling-section.php
   =========================== */
.rv-counseling {
  position: relative;
  padding: 80px 70px;
  background-color: #F2FBFF;
}
.rv-counseling::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url('../img/home/top-counseling-bg.jpg') center / cover no-repeat;
  opacity: 0.5;
  pointer-events: none;
}
.rv-counseling__inner {
  position: relative;
  z-index: 1;
  max-width: 1200px;
  margin: 0 auto;
}
.rv-counseling__head {
  text-align: center;
  margin-bottom: 40px;
}
.rv-counseling__title {
  margin: 0 0 5px;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.2;
  color: #1398bf;
}
.rv-counseling__lead {
  margin: 0;
  font-size: 18px;
  line-height: 1;
  color: #717171;
}
.rv-counseling__promo {
  display: flex;
  align-items: center;
  gap: 40px;
  margin: 0 50px 40px 50px;
  padding: 20px 80px;
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.3) 40.09%, rgba(219, 219, 219, 0.3) 80.83%), #FFFFFF;
  border: 1px solid #FFFFFF;
  box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25);
}
.rv-counseling__promo-main {
  flex-shrink: 0;
}
.rv-counseling__promo-badge {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 16px;
  border-radius: 999px;
  background: #ff8c00;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  line-height: 1;
}
.rv-counseling__promo-catch {
  margin: 12px 0 0;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.3;
  color: #ff8c00;
}
.rv-counseling__promo-text {
  flex: 1;
  min-width: 0;
  margin: 0;
  font-size: 15px;
  line-height: 1.9;
  color: #717171;
}
.rv-counseling__body {
  display: flex;
  align-items: flex-start;
  gap: 40px;
  margin-bottom: 43px;
}
.rv-counseling__visual {
  flex-shrink: 0;
  width: 50%;
  border-radius: 8px;
  overflow: hidden;
  line-height: 0;
}
.rv-counseling__visual img {
  display: block;
  width: 100%;
  height: auto;
}
.rv-counseling__steps {
  flex: 1;
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.rv-counseling__step {
  display: flex;
  align-items: flex-start;
  gap: 20px;
}
.rv-counseling__step + .rv-counseling__step {
  margin-top: 28px;
}
.rv-counseling__step-label {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 14.5px;
  border-radius: 999px;
  background: #1398bf;
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  line-height: 1;
}
.rv-counseling__step-title {
  margin: 0 0 12px;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.2;
  color: #1398bf;
}
.rv-counseling__step-text {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  color: #333333;
}
.rv-counseling__btn-wrap {
  display: flex;
  justify-content: center;
}
.rv-counseling__btn {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  padding: 4px;
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.30) 40.09%, rgba(219, 219, 219, 0.30) 80.83%), #00B900;
  font-weight: 700;
  color: #fff;
  text-decoration: none;
  transition: opacity .2s;
}
.rv-counseling__btn:hover {
  opacity: .85;
  color: #fff;
}
.rv-counseling__btn-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 38px;
  padding: 20px 15px;
  border-radius: 8px;
  border: 1px solid #fff;
  background: #00B900;
  box-sizing: border-box;
}
.rv-counseling__btn-icon {
  flex-shrink: 0;
  display: block;
  width: 40px;
  height: auto;
}
.rv-counseling__btn-label {
  flex: 1;
  font-size: 24px;
  text-align: center;
  letter-spacing: 0.04em;
}
.rv-counseling__btn-arrow {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.rv-counseling__btn-arrow svg {
  display: block;
  width: 12px;
  height: 14px;
  fill: #fff;
  margin-left: 2px;
}

@media (max-width: 1200px) {
  .rv-counseling {
    padding: 60px 40px;
  }
  .rv-counseling__promo {
    margin: 0 20px 40px;
    padding: 20px 40px;
  }
  .rv-counseling__title {
    font-size: 36px;
  }
}

@media (max-width: 992px) {
  .rv-counseling {
    padding: 60px 40px;
  }
  .rv-counseling__promo {
    margin: 0 0 32px;
    padding: 20px 40px;
    gap: 24px;
  }
  .rv-counseling__promo-catch {
    font-size: 28px;
  }
  .rv-counseling__title {
    font-size: 32px;
  }
  .rv-counseling__lead {
    font-size: 16px;
  }
  .rv-counseling__body {
    flex-direction: column;
    gap: 32px;
  }
  .rv-counseling__visual {
    width: 100%;
  }
  .rv-counseling__step-title {
    font-size: 22px;
  }
}

@media (max-width: 768px) {
  .rv-counseling {
    padding: 40px 20px;
  }
  .rv-counseling__promo {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    padding: 24px 20px;
    margin: 0 0 20px;
  }
  .rv-counseling__promo-main {
    align-self: center;
    text-align: center;
  }
  .rv-counseling__promo-badge {
    min-height: auto;
    padding: 6px 22px;
    font-size: 20px;
  }
  .rv-counseling__promo-catch {
    font-size: 24px;
    margin: 10px 0 0;
  }
  .rv-counseling__promo-text {
    font-size: 14px;
    line-height: 1.6;
  }
  .rv-counseling__title {
    font-size: 32px;
    margin: 0 0 10px;
  }
  .rv-counseling__lead {
    font-size: 16px;
    line-height: 1.2;
  }
  .rv-counseling__body {
    flex-direction: column;
    gap: 20px;
    margin-bottom: 20px;
  }
  .rv-counseling__visual {
    width: 100%;
    max-width: none;
  }
  .rv-counseling__step-title {
    font-size: 21px;
  }
  .rv-counseling__step-text {
    font-size: 12px;
  }
  .rv-counseling__btn-inner {
    min-width: 0;
    width: 100%;
    gap: 15px;
    min-height: auto;
    padding: 10px;
  }
  .rv-counseling__btn-label {
    font-size: 16px;
  }
  .rv-counseling__step + .rv-counseling__step {
    margin-top: 40px;
  }
}
