/* リセット・ベース */
:root {
 --header-height: 80px;
 --hash-size: 24px; /* ＃全体の幅・高さ */
 --section-padding-vertical: 2rem;
 --cci-width: 1200px; /* 横幅 */
 --cci-height: 600px; /* 高さ */
 --cci-item-size: 200px; /* 各円の直径 */
 --cci-duration: 40s; /* １周にかかる時間 */
 --cci-count: 8; /* アイテム数と合わせる */
 --cci-step: calc(var(--cci-duration) / var(--cci-count));
 --cci-radius-x: calc((var(--cci-width) - var(--cci-item-size)) / 2);
 --cci-radius-y: calc((var(--cci-height) - var(--cci-item-size)) / 2);
}

* {
 margin: 0;
 padding: 0;
 box-sizing: border-box;
}

/* グローバル */
html,
body {
    overflow-x: hidden;
    overflow: hidden;
}

body {
 opacity: 0;
 transition: opacity 0.1s ease-in-out; /* 0.5秒でフェード */
}

body {
 color: #000000;
 line-height: 1.5;
 overflow-x: hidden;
}

/* body の最背面に固定背景を置く */
/*
    body::before {
        content: "";
        position: fixed;
        top: 50%;
        left: 50%;
       
        transform: translate( -50%, calc(-50% + var(--bg-offset, 0px)) );
       
        width: 45vw;
        height: 20vw;
        
        background-image: url("/img/tagger-logo.png");
        background-repeat: no-repeat;
        background-position: center center;
       
        background-size: contain;
       
        opacity: 0.3; 
        
        z-index: -1;
       
        pointer-events: none;
    }
        */

/* ヘッダー直下の .container だけ full-width に */
.header > .container,
.header__inner.container {
 width: 100%;
 max-width: none;
 margin: 0; /* 中央寄せをリセット */
 padding: 0 16px; /* 両サイドに余白が欲しければ */
}

/* ヘッダー */
.header {
 position: fixed;
 top: 0;
 left: 0;
 width: 100%;
 z-index: 300; /* 他の要素より前面に */
 background: #fbf151;
 /* position: sticky;*/
 top: 0;
 overflow-x: hidden; /* ← 追加 */
}

/* 非表示用 */
.is-hidden {
 display: none !important;
}

.header__inner {
 display: flex;
 align-items: center;
 justify-content: space-between;
 height: 80px;
 flex-wrap: nowrap;
}

.header .logo {
 display: block;
 margin-top: -5px;
 margin-left: 10px;
 margin-right: 40px; /* ロゴとナビのあいだ */
}

.header .logo img {
 display: block;
 height: 32px; /* お好みの高さに */
 width: auto;
}

.logo:focus,
.logo img:focus,
.logo a:focus {
 outline: none;
 box-shadow: none; /* 念のため */
}

.nav {
 overflow: visible; /* はみ出し要素は隠しておく */
 flex-direction: row;
 justify-content: flex-end;
 height: 100%;
}

.nav__list {
 display: flex;
 flex-wrap: nowrap; /* 折り返しさせたいなら wrap に */
 /* flex-wrap: nowrap;   どうしても１行にしたいなら nowrap のままでもOK */
 list-style: none;
 margin: 0;
 padding: 0;
 overflow-x: visible; /* ← auto を消して、この行を追加 */
 white-space: normal; /* ← nowrap を外して、必要に応じて折り返しを許可 */
 justify-content: flex-end;
 gap: 16px;
}

.nav__list li {
 flex: 0 1 auto; /* shrink を許可 */
}

.nav__list li:last-child {
 margin-right: 0;
}

.nav__list a {
 display: flex;
 align-items: center;
 color: #393939;
 font-size: 14px;
 font-style: normal;
 font-weight: 500;
 line-height: normal;
 text-decoration: none; /* 下線を消す */
 white-space: nowrap; /* リンクの途中改行を防止 */
 position: relative;
 height: 100%;
 z-index: 2;
 transition: color 0.3s ease;
}

.nav__list a::before {
 content: "";
 width: 0;
 position: absolute;
 right: 0;
 bottom: 0;
 display: block;
 height: 3px;
 background-color: #393939;
 transition: width 0.4s cubic-bezier(0.84, 0.09, 0.2, 0.95);
}

/* メイン行・サブ行ともにブロックにする */
.nav__break-link .nav__break-main,
.nav__break-link .nav__break-sub {
 display: block;
}

/* メイン行は通常の見た目 */
.nav__break-link .nav__break-main {
 font-size: 12px;
 font-weight: 500;
 line-height: 1; /* 高さをぴったり */
}

/* サブ行だけ小さく＆詰める */
.nav__break-link .nav__break-sub {
 font-size: 12px; /* お好みで */
 font-weight: 500;
 line-height: 1; /* 高さをぴったり */
 margin-top: 2px; /* ほんの少しだけ隙間を開ける */
}

.lang-selector {
 display: flex;
 align-items: center;
 gap: 6px; /* JP と VN のあいだ、VN と EN のあいだに均等な余白 */
 margin-left: 50px;
}

.lang-selector__btn {
 width: 32px; /* ボタンサイズ */
 height: 32px;
 display: flex;
 align-items: center;
 justify-content: center;
 border-radius: 50%;
 background: transparent;
 color: #393939; /* 文字色黒 */
 border: none; /* 枠線を消す */
 outline: none; /* フォーカス時のアウトラインを消す */
 font-size: 13px;
 font-weight: 500;
 text-decoration: none;
 cursor: pointer;
 transition: background 0.2s;
}
.lang-selector__btn:focus {
 outline: none; /* 念のためフォーカス時も */
}
.lang-selector__btn:hover {
 background: rgba(255, 255, 255, 0.7);
}
.lang-selector__btn.active {
 background: #ffffff;
}

.main-wrapper {
    height: 100svh;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
}

section {
 /* 背景を白に統一 */
 background-color: transparent;
 /* 高さを「100vh − ヘッダー高さ（80px）」に固定 */
 height: auto;
 /* すでに入っている flex 中央寄せはそのまま活かす */
 display: flex;
 flex-direction: column;
 justify-content: center;
 /* ローカル座標系を維持 */
 position: relative;
 overflow: hidden;
 scroll-margin-top: 80px;
 padding-top: 160px;
}

/* すべてのセクションをローカル座標系にする――★追加 */
main > section[id] {
 position: relative; /* これで .marker の top/left が
                                 “そのセクション左上” 基準になる */
}

main[role="main"] {
 padding-top: 80px;
}

.button {
 display: inline-block;
 font-size: 32px;
 font-weight: 700;
 padding: 12px 24px;
 text-decoration: none;
 border-radius: 4px;
}

.button--outline {
 border: 3px solid #717171;
 color: #717171;
}

/* フッター */
.footer {
 display: flex;
 text-align: center;
 padding: 80px 0;
 background: #111111;
 font-size: 16px;
 position: relative;
 width: 100%;
 color: #cccccc;
 justify-content: center;
}

.section-header {
 display: flex;
 align-items: flex-end;
 justify-content: space-between;
 gap: 16px;
 padding-inline: 60px;
 margin-bottom: 40px;
}

.section-title {
 font-size: 52px;
 width: auto;
 text-align: left;
 font-style: normal;
 line-height: normal;
 letter-spacing: 0.02em;
 color: #393939;
 font-style: normal;
 line-height: normal;
 text-transform: uppercase;
 font-weight: 600;
 padding-left: 28px;
 margin-bottom: unset;
 position: relative;
 line-height: 1;
}

/* 縦棒本体（h2の左に固定） */
.section-title::before {
 --bar-w: 6px; /* 棒の太さ（お好みで） */
 --bar-gray: #bdbdbd; /* グレー */
 --bar-yellow: #fbf151; /* 明るいイエロー（ヘッダーと合わせ） */
 content: "";
 position: absolute;
 left: 0;
 --y-tweak: 0.06em; /* 上下微調整量 */
 width: var(--bar-w);
 height: 1em; /* 文字の高さに追従 */
 background-color: var(--bar-gray);
}

.section-title.-show::before {
 animation: hotbar-blink 0.4s ease-out 0.2s both;
}
/* グレー ⇄ イエローをゆっくり交互に */

@keyframes hotbar-blink {
 0% {
  background-color: var(--bar-gray);
 }
 100% {
  background-color: var(--bar-yellow);
 }
}

@media (prefers-reduced-motion: reduce) {
 .section-title-hot::before {
  animation: none;
  background-color: var(--bar-yellow);
 }
}

/* -----------------------------------------
   共通
----------------------------------------- */
.vm-wrap {
 --ink: #666; /* 濃いグレー（最終色） */
 --bg0: #393939; /* 初期の背景（濃グレー） */
 --bg1: #fff; /* 走る帯の色（最終の背景＝白） */
 --dur: 2.8s;
 --ease: cubic-bezier(0.2, 0.8, 0.2, 1);
 --fade: 56px;
 --line: 1px;
 --gap: 120px;
 --shift: 0px;
 --arrow-size: 10px;
 --arrow-right: 10px;
 position: relative;
 display: inline-block;
}

/* 左へはみ出す短い線 */
.vm-wrap::before {
 content: "";
 position: absolute;
 top: 50%;
 left: -20px;
 width: 30px;
 height: var(--line);
 background: var(--bg0);
 transform: translateY(-50%);
 z-index: 3;
 pointer-events: none;
}

/* -----------------------------------------
   ボタン
----------------------------------------- */
.view-more {
 position: relative;
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 22px;
 min-width: 200px;
 height: 60px;
 padding: 10px 20px;
 border: 1px solid var(--bg0);
 text-decoration: none;
 overflow: hidden;
 transition: all 0.6s cubic-bezier(0.075, 0.82, 0.165, 1);
 cursor: pointer;
 z-index: 2;
}

/* 白い帯（背景用） 右端だけフェード */
.view-more::before {
 content: "";
 position: absolute;
 top: 0;
 right: 0;
 left: 0;
 height: 101%;
 z-index: 0;
 transform: scaleX(0);
 transform-origin: right top;
 transition: 0.6s cubic-bezier(0.075, 0.82, 0.165, 1) transform;
 background: var(--bg0);
}

/* -----------------------------------------
   ラベル：帯に“追随して”白→濃グレーに反転
----------------------------------------- */
.view-more .label {
 position: relative;
 font-size: 14px;
 font-weight: 400;
 letter-spacing: 0.08em;
 color: var(--bg0);
 transition: all 0.3s ease-out;
}

.view-more:hover .label {
 background-position: left;
}

/* -----------------------------------------
   横線（矢の軸）：帯に追随して反転
----------------------------------------- */
.view-more .arrow {
 width: 20px;
 height: var(--line);
 position: relative;
 background-color: var(--bg0);
 transition: all 0.3s ease-out;
 z-index: 2;
}

.view-more .arrow::after {
 content: "";
 position: absolute;
 right: 1px;
 top: 50%;
 width: var(--arrow-size);
 height: var(--arrow-size);
 transform: translateY(-50%) rotate(45deg);
 border-top: var(--line) solid var(--bg0); /* 初期：白 */
 transition: all 0.3s ease-out;
}

@media screen and (min-width: 769px) {
 .view-more:hover::before {
  transform-origin: left top;
  transform: scaleX(1.1);
 }
 .view-more:hover .label {
  color: var(--bg1);
 }
 .view-more:hover .arrow {
  transform: translateX(10px);
  background-color: var(--bg1);
 }
 .view-more:hover .arrow::after {
  border-top-color: var(--bg1);
 }
}

/* タイトル中央寄せ */
.section-title--center {
 text-align: center;
 margin-bottom: 1rem;
}

/* キャプション */
.caption {
 margin-top: 20px; /* 完全に画像の下へ分離 */
 font-size: 1rem;
 text-align: center;
 color: #333;
}

/* ハンバーガーボタン */
.menu-toggle {
 display: none; /* デフォルトは非表示 */
 background: transparent;
 border: none;
 padding: 0;
 cursor: pointer;
}

.menu-toggle img {
 width: 50px;
 height: 50px;
}

.header--mobile {
 display: none;
}

.breadcrumb {
 display: flex;
 flex-wrap: wrap;
 padding: 0 0;
 margin-top: 120px;
 margin-bottom: 30px;
 margin-inline: 60px;
 list-style: none;
 font-size: 14px;
}

.breadcrumb a {
 color: #393939; /* 他のテキストと同じダークグレーに */
 text-decoration: none; /* 下線も消す */
 margin-right: 0.5rem;
}

/* 次の要素とのスペース */
.breadcrumb a + a,
.breadcrumb a + span,
.breadcrumb span + a {
 margin-inline: 0.5rem;
}

/* （必要なら）全体の文字色も合わせる */
.breadcrumb span {
 color: #393939;
}

/* ---------- 右端に縦並びで固定 ---------- */
.floating-images {
 position: fixed;
 top: 70%; /* 初期位置：画面下寄り */
 right: 0;
 /* transform: translateY(-50%); 削除 */
 display: flex;
 flex-direction: column;
 z-index: 200;
}
/* 各アイテム */
.floating-item {
 position: relative;
 display: flex;
 flex-direction: column;
 align-items: center;
 justify-content: center;
 width: 100px;
 height: 100px;
 text-decoration: none;
 color: #ffffff;
 background-color: #717171;
 gap: 6px;
 z-index: 400;
}
.floating-item:nth-child(1) {
 border-top-left-radius: 4px;
}
.floating-item:nth-child(2) {
 flex-direction: column-reverse;
 border-bottom-left-radius: 4px;
 background-color: #585858;
}
.floating-item figure {
 display: block;
 width: 44px;
 height: 44px;
 margin: 0;
}
.floating-item figure svg {
 width: 44px;
 height: 44px;
}
.floating-item:nth-child(1) figure {
 background: url(../img/icon_contact.svg) no-repeat 50% 50%;
 background-size: contain;
}
.floating-item:nth-child(2) figure {
 background: url(../img/icon_ai.svg) no-repeat 50% 50%;
 background-size: contain;
}
.floating-text {
 display: block;
 text-align: center;
 color: #fff;
 white-space: nowrap;
 font-size: 12px;
 font-weight: 400;
 pointer-events: none;
 z-index: 400;
}
/* ホバー時に差し替え */
.floating-item:hover {
 background-color: #393939;
}

.nav__list a,
.nav__list span,
.nav__list small {
 text-transform: uppercase;
}

/* モバイル用メニュー大文字化 */
.nav__list a,
.nav__list span,
.nav__list small {
 text-transform: uppercase;
}

/* 追従カーソル */
.js-cursor-light {
 display: flex;
 align-items: center;
 justify-content: center;
 position: fixed;
 top: 0;
 left: 0;
 width: 120px;
 height: 120px;
 margin: -60px 0 0 -60px;
 border-radius: 50%;
 background: radial-gradient(circle, rgba(255, 245, 0, 0.9) 0%, rgba(255, 240, 0, 0.75) 42%, rgba(255, 235, 0, 0.58) 68%, rgba(255, 232, 0, 0) 82%);
 filter: saturate(130%);
 mix-blend-mode: none;
 color: #000;
 font-size: 2rem;
 font-weight: bold;
 pointer-events: none; /* 重要：これで自分自身には反応しない */
 transform: scale(0);
 opacity: 0;
 transition:
  transform 0.3s ease-out,
  opacity 0.3s ease-out;
 z-index: 1000;
}

/* 表示状態 */
.js-cursor-light.is-active {
 transform: scale(1);
 opacity: 0.8;
}

/* モバイルや動き控えめ設定では非表示 */
@media (pointer: coarse), (prefers-reduced-motion: reduce) {
 .js-cursor-light.is-active {
  display: none !important;
  transform: scale(0);
  opacity: 0;
 }
}

/* hover */
@media screen and (min-width: 1281px) {
 .nav__list a:hover::before {
  left: 0;
  right: auto;
  width: 100%;
 }
}

@media screen and (min-width: 821px) {
 .breadcrumb a:hover {
  text-decoration: underline;
 }
 .menu-toggle:hover:before {
  transition: all 0.4s ease;
  -webkit-transform: scale(1.1, 1.1);
  transform: scale(1.1, 1.1);
 }
 .menu-toggle:hover span::before,
 .menu-toggle:hover span::after {
  top: 25px;
  transition: all 0.2s ease;
 }
}

@media (max-width: 1392px) {
 /* 通常時：ナビを隠し、ボタンを表示 */
 .nav {
  display: none;
 }

 .menu-toggle {
  display: block;
  margin-left: auto; /* ロゴとlang-selectorの間に配置*/
  z-index: 200;
 }

 .menu-toggle {
  position: fixed;
  right: 15px;
  top: 15px;
  display: block;
  width: 50px;
  height: 50px;
  z-index: 300;
 }

 .menu-toggle::before {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  display: block;
  width: 50px;
  height: 50px;
  background-color: #393939;
  border-radius: 100%;
  transition: all 0.4s ease;
 }

 .menu-toggle span {
  display: flex;
  width: 50px;
  height: 50px;
  position: relative;
 }

 .menu-toggle span::before,
 .menu-toggle span::after {
  content: "";
  position: absolute;
  left: 15px;
  top: 22px;
  display: block;
  width: 20px;
  height: 1px;
  background-color: #ffffff;
  transition: all 0.2s ease;
  z-index: 2;
 }

 .menu-toggle span::after {
  top: 28px;
 }

 /* メニューを開いたとき */
 .header.menu-open .menu-toggle span::before {
  transform: rotate(45deg);
  top: 25px;
 }

 .header.menu-open .menu-toggle span::after {
  transform: rotate(-45deg);
  top: 25px;
 }

 .header.menu-open .nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100svh;
  max-height: unset;
  background: #fbf151;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  z-index: 200;
  display: block;
  flex-direction: unset;
  align-items: unset;
  justify-content: unset;
  padding-block: 60px 100px;
 }

 .nav .nav__list {
  display: flex; /* フレックスレイアウト */
  flex-direction: column; /* 縦並び */
  align-items: center; /* 子要素を横軸方向中央揃え */
 }

 /* 背景を薄暗くするオーバーレイ */
 /* —— ② 画面全体オーバーレイ —— */
 .header.menu-open::before {
  content: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 150; /* メニュー本体より下 */
 }

 .header.menu-open .nav__list {
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
 }

 .header.menu-open .nav__list li {
  animation: hd__start 0.6s both;
 }
 .header.menu-open .nav__list li:nth-child(2) {
  animation-delay: 0.05s;
  -webkit-animation-delay: 0.05s;
 }
 .header.menu-open .nav__list li:nth-child(3) {
  animation-delay: 0.1s;
  -webkit-animation-delay: 0.1s;
 }
 .header.menu-open .nav__list li:nth-child(4) {
  animation-delay: 0.15s;
  -webkit-animation-delay: 0.15s;
 }
 .header.menu-open .nav__list li:nth-child(5) {
  animation-delay: 0.2s;
  -webkit-animation-delay: 0.2s;
 }
 .header.menu-open .nav__list li:nth-child(6) {
  animation-delay: 0.25s;
  -webkit-animation-delay: 0.25s;
 }
 .header.menu-open .nav__list li:nth-child(7) {
  animation-delay: 0.3s;
  -webkit-animation-delay: 0.3s;
 }
 .header.menu-open .nav__list li:nth-child(8) {
  animation-delay: 0.35s;
  -webkit-animation-delay: 0.35s;
 }
 .header.menu-open .nav__list li:nth-child(9) {
  animation-delay: 0.35s;
  -webkit-animation-delay: 0.35s;
 }
 .header.menu-open .nav__list li:nth-child(10) {
  animation-delay: 0.4s;
  -webkit-animation-delay: 0.4s;
 }
 .header.menu-open .nav__list li:nth-child(11) {
  animation-delay: 0.45s;
  -webkit-animation-delay: 0.45s;
 }
 .header.menu-open .nav__list li:nth-child(12) {
  animation-delay: 0.5s;
  -webkit-animation-delay: 0.5s;
 }
 @keyframes hd__start {
  0% {
   opacity: 0;
   transform: translateY(50px);
  }
  100% {
   opacity: 1;
   transform: translateY(0);
  }
 }

 .header.menu-open .nav__list a {
  display: block;
  color: #393939;
  text-decoration: none;
  font-weight: 700;
  font-size: 1.7rem;
  line-height: 1.5;
  padding: 0.2rem 1rem;
 }

 .header.menu-open .nav__list a small {
  display: block;
  text-align: center;
  font-size: 0.8em;
  font-weight: 500;
 }

 .header.menu-open .lang-selector {
  gap: 12px;
  justify-content: center;
  margin-top: 30px;
  margin-left: unset;
  animation: hd__start 0.6s 0.4s both;
 }
}

/* ---------- レスポンシブ例（幅 768px 以下で縮小） ---------- */
@media (max-width: 768px) {
 :root {
  --cci-width: 100vw;
  --cci-height: 70vw;
  --cci-item-size: 120px;
 }

 /* 通常時：ナビを隠し、ボタンを表示 */
 .nav {
  display: none;
 }

 .menu-toggle {
  display: block;
  margin-left: auto; /* ロゴとlang-selectorの間に配置*/
  z-index: 300;
 }

 section {
  height: auto;
  padding-top: 180px;
 }
 .section-header {
  row-gap: 8px;
 }

 .section-header .view-more {
  order: 2; /* タイトルの下に落としてもOKなら */
 }

 body::before {
  width: 80vw !important;
  height: 40vw !important;
 }
 .floating-text {
  font-size: 0.8rem; /* テキストサイズも小さく */
 }
 .section-title {
  font-size: 40px;
  padding-left: 22px;
 }

 .view-more {
  flex: 0 0 auto;
  white-space: nowrap; /* こちらも1行 */
  margin: 0; /* 右マージンは不要なら削除 */
 }

 .section-header {
  padding-inline: 30px;
  margin-bottom: 30px;
 }

 .view-more {
  margin: 0;
 }

 .footer {
  font-size: 12px;
 }

 .vm-wrap {
  transform: scale(0.8);
  transform-origin: right center;
 }
 .breadcrumb {
  margin-top: 60px;
  margin-bottom: 20px;
  margin-inline: 30px;
  font-size: 14px;
 }
 .js-cursor-light.is-active {
  display: none !important;
  transform: scale(0);
  opacity: 0;
 }
}

.submit-overlay {
 position: fixed;
 inset: 0;
 z-index: 9999;
 display: grid;
 place-items: center;
 background: rgba(0, 0, 0, 0.45);
 backdrop-filter: blur(2px);
}

.submit-overlay__box {
 display: grid;
 gap: 14px;
 place-items: center;
 padding: 22px 26px;
 border-radius: 16px;
 background: rgba(20, 20, 20, 0.72);
 border: 1px solid rgba(255, 208, 64, 0.35);
 box-shadow:
  0 0 30px rgba(255, 208, 64, 0.18),
  0 0 90px rgba(255, 208, 64, 0.1);
}

.glow-spinner {
 width: 56px;
 height: 56px;
 border-radius: 50%;
 /* 二重リングで“輝き” */
 border: 5px solid rgba(255, 208, 64, 0.25);
 border-top-color: rgba(255, 208, 64, 1);
 border-right-color: rgba(255, 208, 64, 0.85);
 /* 光彩 */
 filter: drop-shadow(0 0 8px rgba(255, 208, 64, 0.8)) drop-shadow(0 0 18px rgba(255, 208, 64, 0.45));
 animation: spin 0.85s linear infinite;
}

.submit-overlay__text {
 color: #ffe7a0;
 letter-spacing: 0.04em;
 font-weight: 600;
}

@keyframes spin {
 to {
  transform: rotate(360deg);
 }
}

/* スマホ */
@media (max-width: 600px) {
 .header > .container,
 .header__inner.container {
  height: 0;
 }
 .header .logo {
  position: fixed;
  top: 12px;
  left: 10px;
  display: block;
  margin-top: unset;
  margin-left: unset;
  margin-right: unset;
  z-index: 201;
 }
 .header .logo img {
  height: 26px;
  width: auto;
 }
 .menu-toggle {
  right: 5px;
  top: 5px;
 }
 .header.menu-open .nav {
  padding-block: 90px 80px;
 }
 .header.menu-open .lang-selector {
  gap: 20px;
  margin-top: 30px;
 }
 .lang-selector__btn {
  width: 40px;
  height: 40px;
  font-size: 16px;
  font-weight: 600;
 }
 section {
  padding-top: 120px;
 }
 .section-header {
  padding-inline: 20px;
  margin-bottom: 20px;
  flex-direction: column;
  align-items: flex-start;
  gap: 15px;
 }
 .section-title {
  font-size: 30px;
  padding-left: 20px;
 }
 .vm-wrap {
  margin-left: auto;
 }
 .view-more {
  gap: 20px;
  min-width: 120px;
 }
 .view-more .label {
  font-size: 16px;
 }
 .floating-images {
  top: unset;
  bottom: 0;
  flex-direction: row;
 }
 .floating-item {
  width: 80px;
  height: 80px;
  gap: 4px;
 }
 .floating-item figure {
  width: 30px;
  height: 30px;
 }
 .floating-text {
  white-space: unset;
  padding-inline: 4px;
  line-height: 1.1;
 }
 .floating-item:nth-child(1) {
  border-top-left-radius: unset;
 }
 .floating-item:nth-child(2) {
  flex-direction: column;
  border-bottom-left-radius: unset;
 }
 .footer {
  padding-block: 40px 120px;
  background: #111111;
  font-size: calc((12 / 375) * 100cqw);
 }
 .breadcrumb {
  margin-top: 60px;
  margin-bottom: 20px;
  margin-inline: 20px;
  font-size: 12px;
 }
}
