@charset "UTF-8";
@font-face {
  font-family: "DB Heavent Bold Ext";
  src: url("../fonts/DBHeavent-BoldExt.woff2") format("woff2"), url("../fonts/DBHeavent-BoldExt.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "DB Heavent Med Ext";
  src: url("../fonts/DBHeavent-MedExt.woff2") format("woff2"), url("../fonts/DBHeavent-MedExt.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "DB Heavent Light";
  src: url("../fonts/DBHeaventt-Light.woff2") format("woff2"), url("../fonts/DBHeaventt-Light.woff") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "DB Heavent Med";
  src: url("../fonts/DBHeavent-Med.woff2") format("woff2"), url("../fonts/DBHeavent-Med.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "DB Heavent Bold";
  src: url("../fonts/DBHeavent-Bold.woff2") format("woff2"), url("../fonts/DBHeavent-Bold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "DB Heavent Thin";
  src: url("../fonts/DBHeavent-Thin.woff2") format("woff2"), url("../fonts/DBHeavent-Thin.woff") format("woff");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "DB Helvethaica UltraLight";
  src: url("../fonts/DBHelvethaicaXExt-UltraLight.woff2") format("woff2"), url("../fonts/DBHelvethaicaXExt-UltraLight.woff") format("woff");
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "DB Helvethaica Medium";
  src: url("../fonts/DBHelvethaicaXExt-Medium.woff2") format("woff2"), url("../fonts/DBHelvethaicaXExt-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "DB Helvethaica Bold";
  src: url("../fonts/DBHelvethaicaXExt-Bold.woff2") format("woff2"), url("../fonts/DBHelvethaicaXExt-Bold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "DB Helvethaica Black";
  src: url("../fonts/DBHelvethaicaXExt-Black.woff2") format("woff2"), url("../fonts/DBHelvethaicaXExt-Black.woff") format("woff");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "DB Helvethaica Thin";
  src: url("../fonts/DBHelvethaicaXExt-Thin.woff2") format("woff2"), url("../fonts/DBHelvethaicaXExt-Thin.woff") format("woff");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "DB Helvethaica Light";
  src: url("../fonts/DBHelvethaicaXExt-Light.woff2") format("woff2"), url("../fonts/DBHelvethaicaXExt-Light.woff") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "DB Helvethaica";
  src: url("../fonts/DBHelvethaicaXExt.woff2") format("woff2"), url("../fonts/DBHelvethaicaXExt.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Sarabun";
  src: url("../fonts/Sarabun-Regular.eot");
  src: url("../fonts/Sarabun-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/Sarabun-Regular.woff") format("woff"), url("../fonts/Sarabun-Regular.ttf") format("truetype"), url("../fonts/Sarabun-Regular.svg#Sarabun-Regular") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Sarabun Light";
  src: url("../fonts/Sarabun-Light.eot");
  src: url("../fonts/Sarabun-Light.eot?#iefix") format("embedded-opentype"), url("../fonts/Sarabun-Light.woff") format("woff"), url("../fonts/Sarabun-Light.ttf") format("truetype"), url("../fonts/Sarabun-Light.svg#Sarabun-Light") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Sarabun Medium";
  src: url("../fonts/Sarabun-Medium.eot");
  src: url("../fonts/Sarabun-Medium.eot?#iefix") format("embedded-opentype"), url("../fonts/Sarabun-Medium.woff") format("woff"), url("../fonts/Sarabun-Medium.ttf") format("truetype"), url("../fonts/Sarabun-Medium.svg#Sarabun-Medium") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Sarabun SemiBold";
  src: url("../fonts/Sarabun-SemiBold.eot");
  src: url("../fonts/Sarabun-SemiBold.eot?#iefix") format("embedded-opentype"), url("../fonts/Sarabun-SemiBold.woff") format("woff"), url("../fonts/Sarabun-SemiBold.ttf") format("truetype"), url("../fonts/Sarabun-SemiBold.svg#Sarabun-SemiBold") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Sarabun Bold";
  src: url("../fonts/Sarabun-Bold.eot");
  src: url("../fonts/Sarabun-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/Sarabun-Bold.woff") format("woff"), url("../fonts/Sarabun-Bold.ttf") format("truetype"), url("../fonts/Sarabun-Bold.svg#Sarabun-Bold") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "ToyotaType Regular";
  src: url("../fonts/ToyotaType-Regular.eot");
  src: url("../fonts/ToyotaType-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/ToyotaType-Regular.woff") format("woff"), url("../fonts/ToyotaType-Regular.ttf") format("truetype"), url("../fonts/ToyotaType-Regular.svg#ToyotaType-Regular") format("svg");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "ToyotaType Light";
  src: url("../fonts/ToyotaType-Light.eot");
  src: url("../fonts/ToyotaType-Light.eot?#iefix") format("embedded-opentype"), url("../fonts/ToyotaType-Light.woff") format("woff"), url("../fonts/ToyotaType-Light.ttf") format("truetype"), url("../fonts/ToyotaType-Light.svg#ToyotaType-Light") format("svg");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "ToyotaType Semibold";
  src: url("../fonts/ToyotaType-Semibold.eot");
  src: url("../fonts/ToyotaType-Semibold.eot?#iefix") format("embedded-opentype"), url("../fonts/ToyotaType-Semibold.woff") format("woff"), url("../fonts/ToyotaType-Semibold.ttf") format("truetype"), url("../fonts/ToyotaType-Semibold.svg#ToyotaType-Semibold") format("svg");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "ToyotaType Bold";
  src: url("../fonts/ToyotaType-Bold.eot");
  src: url("../fonts/ToyotaType-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/ToyotaType-Bold.woff") format("woff"), url("../fonts/ToyotaType-Bold.ttf") format("truetype"), url("../fonts/ToyotaType-Bold.svg#ToyotaType-Bold") format("svg");
  font-weight: normal;
  font-style: normal;
}
:root {
  --color-white: #ffffff;
  --color-blue-light: #eff4ff;
  --color-blue-light-2: #f0f3f8;
  --color-blue-light-3: #c8e7f7;
  --color-blue-1: #618bc7;
  --color-blue-2: #46b2e5;
  --color-blue-3: #325aa9;
  --color-blue-4: #446697;
  --color-blue-5: #21516a;
  --color-red: #df101d;
  --color-red-2: #c2121d;
  --color-yellow: #f9c341;
  --color-black: #111111;
  --color-black-2: #101010;
  --color-gray: #808080;
  --color-gray-2: #f5f5f5;
  --color-gray-3: #3a3a3a;
  --color-gray-4: #464646;
  --color-gray-5: #cccccc;
  --color-gray-6: #dddddd;
  --color-gray-7: #a2a2a2;
  --color-gray-8: #a1a1a1;
  --color-gray-9: #5c6c78;
  --color-gray-10: #eeeeee;
  --color-gray-11: #c1c1c1;
  --color-brown-1: #7e6e6d;
  --font-heavent-medium: "DB Heavent Med";
  --font-heavent-light: "DB Heavent Light";
  --font-heavent-thin: "DB Heavent Thin";
  --font-heavent-bold: "DB Heavent Bold";
  --font-toyota-regular: "ToyotaType Regular";
  --font-toyota-light: "ToyotaType Light";
  --font-toyota-semibold: "ToyotaType Semibold";
  --font-toyota-bold: "ToyotaType Bold";
  --font-saraban-regular: "Sarabun";
  --font-saraban-medium: "Sarabun Medium";
  --font-saraban-light: "Sarabun Light";
  --font-saraban-semibold: "Sarabun SemiBold";
  --font-saraban-bold: "Sarabun Bold";
  --font-weight-light: 200;
  --font-weight-normal: 400;
  --font-weight-bold: 600;
}

body {
  font-family: var(--font-toyota-regular, Arial, sans-serif);
  padding: 0;
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
}

.container {
  margin: 0 auto;
}
@media (min-width: 992px) {
  .container {
    max-width: 79.6875vw;
    padding: 0;
  }
}
@media (max-width: 991px) {
  .container {
    padding: 0 3.90625vw;
  }
}

.icon {
  --icon-color: var(--color-gray-7);
  display: inline-block;
  background-size: contain;
  background-position: center;
}
@media (min-width: 992px) {
  .icon {
    width: 1.0416666667vw;
    height: 1.0416666667vw;
  }
}
@media (max-width: 991px) {
  .icon {
    width: 2.6041666667vw;
    height: 2.6041666667vw;
  }
}
.icon--arrow-left {
  background-color: var(--icon-color);
  mask: url("../img/icon-arrow-left-3.webp") no-repeat center/contain;
  -webkit-mask: url("../img/icon-arrow-left-3.webp") no-repeat center/contain;
}
.icon--arrow-right {
  background-color: var(--icon-color);
  mask: url("../img/icon-arrow-right-3.webp") no-repeat center/contain;
  -webkit-mask: url("../img/icon-arrow-right-3.webp") no-repeat center/contain;
}
.icon--arrow-down {
  background-color: var(--icon-color);
  mask: url("../img/icon-arrow-down.webp") no-repeat center/contain;
  -webkit-mask: url("../img/icon-arrow-down.webp") no-repeat center/contain;
}
.icon--download {
  background-color: var(--icon-color);
  mask: url("../img/icon-download.webp") no-repeat center/contain;
  -webkit-mask: url("../img/icon-download.webp") no-repeat center/contain;
}
.icon--views {
  background-color: var(--icon-color);
  mask: url("../img/icon-views.webp") no-repeat center/contain;
  -webkit-mask: url("../img/icon-views.webp") no-repeat center/contain;
}
.icon--ask {
  background-color: var(--icon-color);
  mask: url("../img/icon-ask.webp") no-repeat center/contain;
  -webkit-mask: url("../img/icon-ask.webp") no-repeat center/contain;
}
.icon--close {
  background-color: var(--icon-color);
  mask: url("../img/icon-close.webp") no-repeat center/contain;
  -webkit-mask: url("../img/icon-close.webp") no-repeat center/contain;
}
.icon--send {
  background-color: var(--icon-color);
  mask: url("../img/icon-send.webp") no-repeat center/contain;
  -webkit-mask: url("../img/icon-send.webp") no-repeat center/contain;
}

strong {
  font-family: var(--font-toyota-semibold, Arial, sans-serif);
}

p {
  margin: 0;
}

@media (min-width: 992px) {
  .login {
    display: flex;
    height: 100vh;
  }
}
@media (max-width: 991px) {
  .login {
    background: #000;
    padding: 0 5.2083333333vw 0;
    min-height: 100vh;
  }
}
.login__left {
  background: #000;
  color: #fff;
  position: relative;
  box-sizing: border-box;
}
@media (min-width: 992px) {
  .login__left {
    flex: 1;
    padding: 5.2083333333vw 6.25vw;
    min-width: 20.8333333333vw;
    width: 50%;
    flex: 0 0 50%;
  }
}
@media (max-width: 991px) {
  .login__left {
    padding: 26.0416666667vw 0;
  }
}
.login__left__wrapper {
  width: 100%;
}
@media (min-width: 992px) {
  .login__left__wrapper {
    max-width: 28.6458333333vw;
    padding: 5.2083333333vw 0;
    margin: 0 auto;
  }
}
.login__right {
  flex: 1;
  background: #f5f5f5;
  display: flex;
  align-items: stretch;
  justify-content: stretch;
}
@media (min-width: 992px) {
  .login__right {
    width: 50%;
    flex: 0 0 50%;
  }
}
.login__right picture {
  width: 100%;
  height: 100%;
}
.login__right picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (min-width: 992px) {
  .login__right picture {
    width: 100%;
    height: 100%;
  }
}
.login__logo {
  position: absolute;
}
@media (min-width: 992px) {
  .login__logo {
    margin-bottom: 2.5vw;
    top: 2.34375vw;
    left: 1.5625vw;
  }
  .login__logo img {
    height: 2.0833333333vw;
  }
}
@media (max-width: 991px) {
  .login__logo {
    top: 5.859375vw;
    left: -2.6041666667vw;
  }
  .login__logo img {
    width: 59.1145833333vw;
  }
}
.login__title {
  font-weight: bold;
  letter-spacing: 1px;
}
@media (min-width: 992px) {
  .login__title {
    font-size: 2.1354166667vw;
    margin-bottom: 0.8333333333vw;
  }
}
@media (max-width: 991px) {
  .login__title {
    font-size: 7.8125vw;
    margin-bottom: 3.90625vw;
  }
}
.login__desc {
  color: #fff;
  opacity: 0.85;
}
@media (min-width: 992px) {
  .login__desc {
    font-size: 1.0416666667vw;
    margin-bottom: 2.0833333333vw;
  }
}
@media (max-width: 991px) {
  .login__desc {
    font-size: 3.3854166667vw;
    margin-bottom: 5.2083333333vw;
  }
}
.login__form {
  width: 100%;
}
@media (min-width: 992px) {
  .login__form {
    max-width: 26.0416666667vw;
  }
}
.login__form .form-group {
  position: relative;
}
@media (min-width: 992px) {
  .login__form .form-group {
    margin-bottom: 1.6666666667vw;
  }
}
@media (max-width: 991px) {
  .login__form .form-group {
    margin-bottom: 6.5104166667vw;
  }
}
.login__form .form-group__input {
  width: 100%;
  background: transparent;
  border: none;
  border-bottom: 2px solid #fff;
  color: #fff;
  outline: none;
  transition: border-color 0.2s;
  box-sizing: border-box;
}
@media (min-width: 992px) {
  .login__form .form-group__input {
    padding: 1.25vw 0.625vw 0.4166666667vw 0;
    font-size: 0.9375vw;
  }
}
@media (max-width: 991px) {
  .login__form .form-group__input {
    padding: 3.125vw 1.5625vw 1.0416666667vw 1.5625vw;
    font-size: 3.6458333333vw;
    line-height: 5.2083333333vw;
  }
}
.login__form .form-group__input:focus {
  border-bottom: 2px solid var(--color-red, #df101d);
}
.login__form .form-group__input:focus + .form-group__label, .login__form .form-group__input:not(:placeholder-shown) + .form-group__label {
  color: var(--color-red, #df101d);
  background: #000;
  opacity: 1;
  box-sizing: border-box;
}
@media (min-width: 992px) {
  .login__form .form-group__input:focus + .form-group__label, .login__form .form-group__input:not(:placeholder-shown) + .form-group__label {
    top: -0.6770833333vw;
    left: 0;
    font-size: 0.7291666667vw;
    padding: 0;
  }
}
@media (max-width: 991px) {
  .login__form .form-group__input:focus + .form-group__label, .login__form .form-group__input:not(:placeholder-shown) + .form-group__label {
    top: -1.6927083333vw;
    left: 1.0416666667vw;
    font-size: 2.34375vw;
    padding: 0 0.2083333333vw;
  }
}
.login__form .form-group__label {
  position: absolute;
  color: #fff;
  opacity: 0.7;
  pointer-events: none;
  transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  background: transparent;
}
@media (min-width: 992px) {
  .login__form .form-group__label {
    left: 0;
    top: 0.9375vw;
    font-size: 0.8333333333vw;
  }
}
@media (max-width: 991px) {
  .login__form .form-group__label {
    left: 1.5625vw;
    top: 2.34375vw;
    font-size: 3.6458333333vw;
  }
}
.login__form .form-checkbox {
  display: flex;
  align-items: center;
}
@media (min-width: 992px) {
  .login__form .form-checkbox {
    margin-bottom: 2.0833333333vw;
  }
}
@media (max-width: 991px) {
  .login__form .form-checkbox {
    margin-bottom: 5.2083333333vw;
  }
}
.login__form .form-checkbox__checkbox {
  border-radius: 0;
  accent-color: var(--color-red, #df101d);
}
@media (min-width: 992px) {
  .login__form .form-checkbox__checkbox {
    width: 0.9375vw;
    height: 0.9375vw;
    margin-right: 0.625vw;
  }
}
@media (max-width: 991px) {
  .login__form .form-checkbox__checkbox {
    width: 4.1666666667vw;
    height: 4.1666666667vw;
    margin-right: 2.6041666667vw;
  }
}
.login__form .form-checkbox__label {
  color: #fff;
  opacity: 0.85;
}
@media (min-width: 992px) {
  .login__form .form-checkbox__label {
    font-size: 0.8333333333vw;
  }
}
@media (max-width: 991px) {
  .login__form .form-checkbox__label {
    font-size: 3.6458333333vw;
  }
}
.login__form .btn {
  background: var(--color-red, #df101d);
  color: #fff;
  border: none;
  cursor: pointer;
  font-family: var(--font-toyota-light);
  transition: background 0.2s;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 992px) {
  .login__form .btn {
    width: 8.3333333333vw;
    padding: 0.7291666667vw 0;
    font-size: 0.9375vw;
    gap: 0.4166666667vw;
  }
}
@media (max-width: 991px) {
  .login__form .btn {
    padding: 3.90625vw 7.8125vw;
    font-size: 3.6458333333vw;
    gap: 1.0416666667vw;
  }
}
.login__form .btn .icon {
  --icon-color: #fff;
  width: 0.8333333333vw;
  height: 0.8333333333vw;
  margin-top: 0.15625vw;
}
@media (max-width: 991px) {
  .login__form .btn .icon {
    width: 2.6041666667vw;
    height: 2.6041666667vw;
    margin-top: 0.390625vw;
  }
}
.login__form .btn svg {
  fill: #fff;
}
@media (min-width: 992px) {
  .login__form .btn svg {
    width: 0.9375vw;
    height: 0.9375vw;
  }
}
.login__form .btn:hover {
  background: #b80c18;
}

.header {
  width: 100vw;
  background: #000;
  color: #fff;
  border-bottom: 1px solid #fff;
  display: flex;
  align-items: center;
  position: relative;
}
.header.--sticky {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
}
@media (min-width: 992px) {
  .header {
    padding: 1.0416666667vw 0;
  }
}
@media (max-width: 991px) {
  .header {
    padding: 2.6041666667vw 0;
  }
}
.header__container {
  display: flex;
  justify-content: space-between;
  width: 100%;
  box-sizing: border-box;
}
@media (min-width: 992px) {
  .header__container {
    width: 100vw;
    max-width: 100vw;
    align-items: center;
    padding: 0 1.25vw;
    height: 2.5vw;
  }
}
@media (max-width: 991px) {
  .header__container {
    padding: 0 3.125vw;
  }
}
.header__divider {
  background: #3a3a3a;
}
@media (min-width: 992px) {
  .header__divider {
    width: 0.0520833333vw;
    height: 1.25vw;
    margin: 0 0.5208333333vw;
  }
}
.header__left {
  display: flex;
  align-items: center;
}
.header__logo {
  width: auto;
  display: block;
}
@media (min-width: 992px) {
  .header__logo {
    margin-right: 0.625vw;
  }
}
.header__logo img {
  display: block;
}
@media (min-width: 992px) {
  .header__logo img {
    height: 2.0833333333vw;
  }
}
@media (max-width: 991px) {
  .header__logo img {
    height: 5.2083333333vw;
  }
}
.header__title {
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #fff;
  display: block;
}
@media (min-width: 992px) {
  .header__title {
    margin-left: 0.625vw;
    font-size: 1.5625vw;
    margin-bottom: 0.2604166667vw;
  }
}
@media (max-width: 991px) {
  .header__title {
    margin-left: 1.5625vw;
    font-size: 3.90625vw;
  }
}
.header__title-main {
  font-family: var(--font-toyota-bold);
}
.header__title-sub {
  font-family: var(--font-toyota-light);
}
.header__hamburger {
  display: block;
  background: none;
  border: 0;
  padding: 0;
  position: relative;
  display: block;
  z-index: 1;
  -webkit-user-select: none;
  user-select: none;
}
@media (min-width: 992px) {
  .header__hamburger {
    width: 2.0833333333vw;
    margin: 0;
    transform: scale(0.6);
  }
}
@media (max-width: 991px) {
  .header__hamburger {
    width: 5.2083333333vw;
    margin: 0.6510416667vw 0 0 2.6041666667vw;
  }
}
.header__hamburger input {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  cursor: pointer;
  opacity: 0; /* hide this */
  z-index: 2; /* and place it over the hamburger */
  -webkit-touch-callout: none;
}
.header__hamburger span {
  display: block;
  width: 100%;
  position: relative;
  background: var(--color-red);
  z-index: 1;
  transition: transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1), background 0.5s cubic-bezier(0.77, 0.2, 0.05, 1), opacity 0.55s ease;
}
@media (min-width: 992px) {
  .header__hamburger span {
    height: 0.2083333333vw;
    margin-bottom: 0.46875vw;
    border-radius: 0.15625vw;
    transform-origin: 0.2083333333vw 0px;
  }
}
@media (max-width: 991px) {
  .header__hamburger span {
    height: 0.5208333333vw;
    margin-bottom: 1.171875vw;
    border-radius: 0.390625vw;
    transform-origin: 0.5208333333vw 0px;
  }
}
.header__hamburger span:first-child {
  transform-origin: 0% 0%;
}
.header__hamburger span:nth-last-child(2) {
  transform-origin: 0% 100%;
}
.header__hamburger span:last-child {
  margin: 0;
}
.header__hamburger.\--active span:nth-last-child(3) {
  opacity: 1;
  background: var(--color-red, #df101d);
}
@media (min-width: 992px) {
  .header__hamburger.\--active span:nth-last-child(3) {
    transform: rotate(45deg) translate(0.2604166667vw, 0.0520833333vw);
  }
}
@media (max-width: 991px) {
  .header__hamburger.\--active span:nth-last-child(3) {
    transform: rotate(45deg) translate(0.6510416667vw, 0.1302083333vw);
  }
}
.header__hamburger.\--active span:nth-last-child(2) {
  opacity: 0;
  transform: rotate(0deg) scale(0.2, 0.2);
}
@media (min-width: 992px) {
  .header__hamburger.\--active span:nth-last-child(1) {
    transform: rotate(-45deg) translate(-0.0520833333vw, 0vw);
  }
}
@media (max-width: 991px) {
  .header__hamburger.\--active span:nth-last-child(1) {
    transform: rotate(-45deg) translate(-0.1302083333vw, 0vw);
  }
}
@media (min-width: 992px) {
  .header__brand {
    font-size: 1.0416666667vw;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: #fff;
    display: block;
  }
}
@media (min-width: 992px) {
  .header__center {
    flex: 1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }
}
.header__portal {
  font-weight: 400;
  letter-spacing: 0.08em;
  color: #fff;
}
@media (min-width: 992px) {
  .header__portal {
    font-size: 1.1458333333vw;
    margin-right: 0.78125vw;
  }
}
@media (max-width: 991px) {
  .header__portal {
    display: none;
  }
}
.header__right {
  display: flex;
  align-items: center;
}
.header__icon-btn {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background 0.2s;
}
@media (min-width: 992px) {
  .header__icon-btn {
    margin: 0 0.2083333333vw;
    width: 2.0833333333vw;
    height: 2.0833333333vw;
    padding: 0.2604166667vw;
  }
  .header__icon-btn img {
    width: 1.5625vw;
    height: 1.5625vw;
  }
}
@media (max-width: 991px) {
  .header__icon-btn {
    padding: 0.6510416667vw;
    margin-left: 1.3020833333vw;
  }
  .header__icon-btn img {
    width: 5.2083333333vw;
    height: 5.2083333333vw;
  }
}
.header__icon-btn:hover, .header__icon-btn:focus {
  outline: none;
}
.header__icon-btn--search {
  display: block;
}
.header__icon-btn--search.--opened-search {
  display: none;
}
.header__icon-btn--close {
  display: none;
}
.header__icon-btn--close.--opened-search {
  display: block;
}
@media (min-width: 992px) {
  .header__icon {
    width: 1.0416666667vw;
    height: 1.0416666667vw;
    display: block;
    filter: brightness(0) invert(1);
  }
}

.search-bar {
  width: 100vw;
  background: #000;
  color: #fff;
  border-bottom: 1px solid #333;
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
}
@media (min-width: 992px) {
  .search-bar {
    padding: 0.8333333333vw 0;
  }
}
@media (max-width: 991px) {
  .search-bar {
    padding: 2.0833333333vw 0;
  }
}
.search-bar.--opened-search {
  display: block;
}
.search-bar__container {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}
@media (min-width: 992px) {
  .search-bar__container {
    margin: 0 auto;
  }
}
.search-bar__input-wrapper {
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
}
.search-bar__input {
  width: 100%;
  background: #fff;
  color: #000;
  border: none;
  border-radius: 0.2083333333vw;
  outline: none;
  font-family: var(--font-toyota-regular);
}
@media (min-width: 992px) {
  .search-bar__input {
    padding: 0.625vw 2.6041666667vw 0.625vw 0.8333333333vw;
    font-size: 0.8333333333vw;
    border-radius: 0.2083333333vw;
  }
}
@media (max-width: 991px) {
  .search-bar__input {
    padding: 1.5625vw 6.5104166667vw 1.5625vw 2.0833333333vw;
    font-size: 2.0833333333vw;
    border-radius: 0.5208333333vw;
  }
}
.search-bar__input::placeholder {
  color: #666;
  font-family: var(--font-toyota-regular);
}
.search-bar__input:focus {
  box-shadow: 0 0 0 2px var(--color-red);
}
.search-bar__submit {
  position: absolute;
  right: 0.4166666667vw;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.4166666667vw;
  border-radius: 50%;
  transition: background 0.2s;
}
@media (min-width: 992px) {
  .search-bar__submit {
    right: 0.4166666667vw;
    padding: 0.4166666667vw;
  }
}
@media (max-width: 991px) {
  .search-bar__submit {
    right: 1.0416666667vw;
    padding: 1.0416666667vw;
  }
}
.search-bar__submit:hover {
  background: rgba(0, 0, 0, 0.1);
}
.search-bar__submit:focus {
  outline: none;
  background: rgba(0, 0, 0, 0.1);
}
@media (min-width: 992px) {
  .search-bar__icon {
    width: 1.0416666667vw;
    height: 1.0416666667vw;
    display: block;
  }
}
@media (max-width: 991px) {
  .search-bar__icon {
    width: 2.6041666667vw;
    height: 2.6041666667vw;
    display: block;
  }
}

.main {
  max-width: 100vw;
  overflow-x: hidden;
}

.banner-swiper {
  max-width: 100vw;
  overflow: hidden;
}

.banner {
  position: relative;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
}
@media (min-width: 992px) {
  .banner {
    min-height: 30.5208333333vw;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-end;
  }
}
.banner:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}
@media (max-width: 991px) {
  .banner:before {
    background: linear-gradient(0deg, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0) 52%);
  }
}
.banner__image {
  width: 100vw;
  height: 100vh;
  display: block;
  position: relative;
  z-index: 1;
}
@media (min-width: 992px) {
  .banner__image {
    height: 52.0833333333vw;
  }
}
.banner__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  object-position: center;
}
.banner__info {
  position: absolute;
  z-index: 2;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
@media (min-width: 992px) {
  .banner__info {
    left: 10.4166666667vw;
    bottom: 5.2083333333vw;
    max-width: 20.8333333333vw;
  }
}
@media (max-width: 991px) {
  .banner__info {
    left: 5.2083333333vw;
    bottom: 13.0208333333vw;
  }
}
.banner__title {
  font-size: 2.5vw;
  font-weight: bold;
  letter-spacing: 0.04em;
  margin-bottom: 0.8333333333vw;
  color: #fff;
}
@media (min-width: 992px) {
  .banner__title {
    font-size: 2.5vw;
    margin-bottom: 0.8333333333vw;
  }
}
@media (max-width: 991px) {
  .banner__title {
    font-size: 6.5104166667vw;
    margin-bottom: 2.0833333333vw;
  }
}
.banner__desc {
  font-size: 0.9375vw;
  line-height: 1.5;
  margin-bottom: 1.6666666667vw;
  color: #fff;
}
@media (min-width: 992px) {
  .banner__desc {
    font-size: 0.9375vw;
    margin-bottom: 1.6666666667vw;
  }
}
@media (max-width: 991px) {
  .banner__desc {
    font-size: 3.3854166667vw;
    margin-bottom: 4.1666666667vw;
  }
}
.banner__btn {
  display: inline-flex;
  align-items: center;
  background: var(--color-red, #df101d);
  color: #fff;
  text-decoration: none;
  letter-spacing: 0.04em;
  transition: background 0.2s;
  border: none;
  outline: none;
  cursor: pointer;
  position: relative;
}
@media (min-width: 992px) {
  .banner__btn {
    font-size: 0.9375vw;
    padding: 0.625vw 1.6666666667vw;
  }
}
@media (max-width: 991px) {
  .banner__btn {
    font-size: 3.6458333333vw;
    padding: 1.5625vw 4.1666666667vw 2.6041666667vw;
  }
}
.banner__btn:hover, .banner__btn:focus {
  background: #b80c18;
}
.banner__btn .icon {
  --icon-color: #fff;
  width: 0.8333333333vw;
  height: 0.8333333333vw;
  margin-top: 0.2083333333vw;
  margin-left: 0.2083333333vw;
}

.banner-swiper__progress-group {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 20;
  pointer-events: none;
}
@media (min-width: 992px) {
  .banner-swiper__progress-group {
    gap: 0.4166666667vw;
    padding: 0.8333333333vw 1.6666666667vw 0 1.6666666667vw;
  }
}
@media (max-width: 991px) {
  .banner-swiper__progress-group {
    gap: 1.0416666667vw;
    padding: 2.0833333333vw 4.1666666667vw 0 4.1666666667vw;
  }
}
.banner-swiper__progress-item {
  flex: 1 1 0;
  background: rgba(255, 255, 255, 0.25);
  overflow: hidden;
  position: relative;
}
@media (min-width: 992px) {
  .banner-swiper__progress-item {
    height: 0.2083333333vw;
    border-radius: 0.1041666667vw;
  }
}
@media (max-width: 991px) {
  .banner-swiper__progress-item {
    height: 0.5208333333vw;
    border-radius: 0.2604166667vw;
  }
}
.banner-swiper__progress-bar {
  height: 100%;
  width: 0%;
  background: #000;
  transition: width 0s;
}
@media (min-width: 992px) {
  .banner-swiper__progress-bar {
    border-radius: 0.1041666667vw;
  }
}
.banner-swiper__autoplay-progress {
  position: absolute;
  background: rgba(255, 255, 255, 0.15);
  z-index: 10;
  width: 100%;
  left: 0;
  bottom: 0;
}
@media (min-width: 992px) {
  .banner-swiper__autoplay-progress {
    height: 0.5208333333vw;
  }
}
@media (max-width: 991px) {
  .banner-swiper__autoplay-progress {
    height: 1.3020833333vw;
    width: 100%;
    left: 0;
  }
}
.banner-swiper__autoplay-bar {
  width: 0;
  height: 100%;
  background: #000000;
  transition: width 0s;
}
.banner-swiper .swiper:hover .banner-swiper__autoplay-bar {
  /* Optional: pause animation on hover */
  transition: none;
}
.banner-swiper__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 30;
  background: #000;
  border: none;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
  cursor: pointer;
  transition: filter 0.2s, background 0.2s;
  padding: 0;
  outline: none;
}
@media (min-width: 992px) {
  .banner-swiper__arrow {
    width: 2.5vw;
    height: 2.5vw;
  }
}
@media (max-width: 991px) {
  .banner-swiper__arrow {
    width: 7.8125vw;
    height: 7.8125vw;
  }
}
.banner-swiper__arrow:hover, .banner-swiper__arrow:focus {
  filter: brightness(1.2);
  background: #222;
}
.banner-swiper__arrow img {
  height: auto;
  display: block;
  filter: brightness(0) invert(1);
}
@media (min-width: 992px) {
  .banner-swiper__arrow img {
    width: 0.78125vw;
  }
}
@media (max-width: 991px) {
  .banner-swiper__arrow img {
    width: 2.6041666667vw;
  }
}
@media (min-width: 992px) {
  .banner-swiper__arrow--prev {
    left: 1.6666666667vw;
  }
}
@media (max-width: 991px) {
  .banner-swiper__arrow--prev {
    left: 4.1666666667vw;
  }
}
@media (min-width: 992px) {
  .banner-swiper__arrow--next {
    right: 1.6666666667vw;
  }
}
@media (max-width: 991px) {
  .banner-swiper__arrow--next {
    right: 4.1666666667vw;
  }
}

.minisite-nav {
  width: 100vw;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  position: relative;
  box-sizing: border-box;
  padding: 0;
}
@media (min-width: 992px) {
  .minisite-nav {
    min-height: 2.0833333333vw;
    min-height: 3.125vw;
    padding: 0 1.6666666667vw;
  }
}
@media (max-width: 991px) {
  .minisite-nav {
    min-height: 5.2083333333vw;
    padding: 2.6041666667vw 2.6041666667vw;
  }
}
.minisite-nav__back-icon {
  --icon-color: #888;
}
@media (min-width: 992px) {
  .minisite-nav__back-icon {
    width: 0.8333333333vw;
    height: 0.8333333333vw;
    margin-top: 0.15625vw;
  }
}
@media (min-width: 992px) {
  .minisite-nav__spacer {
    flex: 0 0 10.9375vw;
  }
}
.minisite-nav__back {
  display: flex;
  align-items: center;
  color: #888;
  font-size: 0.78125vw;
  text-decoration: none;
  margin-right: 1.6666666667vw;
}
@media (max-width: 991px) {
  .minisite-nav__back {
    font-size: 1.6927083333vw;
    margin-right: 1.0416666667vw;
  }
}
.minisite-nav__back:hover {
  text-decoration: underline;
}
.minisite-nav__back-icon {
  width: 0.8333333333vw;
  height: 0.8333333333vw;
  margin-right: 0.3125vw;
  opacity: 0.7;
}
@media (max-width: 991px) {
  .minisite-nav__back-icon {
    width: 3.6458333333vw;
    height: 3.6458333333vw;
    margin-right: 0.5208333333vw;
  }
}
.minisite-nav__back-text {
  color: #888;
  font-weight: 400;
  letter-spacing: 0.01em;
}
@media (min-width: 992px) {
  .minisite-nav__back-text {
    font-size: 0.7291666667vw;
  }
}
@media (max-width: 991px) {
  .minisite-nav__back-text {
    font-size: 1.5625vw;
    display: none;
  }
}
.minisite-nav__menu {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 2.0833333333vw;
}
@media (max-width: 991px) {
  .minisite-nav__menu {
    gap: 4.5572916667vw;
    justify-content: flex-end;
  }
}
.minisite-nav__item {
  font-weight: 700;
  color: #111;
  background: none;
  border: none;
  outline: none;
  padding: 0 0 0.2083333333vw 0;
  cursor: pointer;
  position: relative;
  transition: color 0.2s;
  font-size: 0.9375vw;
}
.minisite-nav__item a {
  color: #111;
  text-decoration: none;
}
.minisite-nav__item a:hover {
  color: var(--color-red, #df101d);
}
@media (max-width: 991px) {
  .minisite-nav__item {
    font-size: 3.125vw;
    padding-bottom: 0.5208333333vw;
  }
}
.minisite-nav__item--active {
  color: #111;
}
.minisite-nav__item--active::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 0.15625vw;
  background: var(--color-red, #df101d);
  border-radius: 0.1041666667vw;
}
@media (max-width: 991px) {
  .minisite-nav__item--active::after {
    height: 0.390625vw;
    border-radius: 0.2604166667vw;
  }
}
.minisite-nav__item:hover:not(.minisite-nav__item--active) {
  color: var(--color-red, #df101d);
}

.minisite__banner {
  position: relative;
  width: 100vw;
  min-height: 31.25vw;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  overflow: hidden;
}
@media (min-width: 992px) {
  .minisite__banner {
    min-height: 31.25vw;
  }
}
@media (max-width: 991px) {
  .minisite__banner {
    min-height: 52.0833333333vw;
  }
}
.minisite__banner-image {
  width: 100vw;
  height: auto;
  display: block;
}
.minisite__banner-image img {
  width: 100vw;
  height: auto;
  object-fit: cover;
  display: block;
}
@media (min-width: 992px) {
  .minisite__banner-image img {
    min-height: 31.25vw;
  }
}
@media (max-width: 991px) {
  .minisite__banner-image img {
    min-height: 52.0833333333vw;
  }
}
.minisite__banner-content {
  position: absolute;
  top: 3.125vw;
  left: 0;
  width: 100vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 2;
}
@media (min-width: 992px) {
  .minisite__banner-content {
    top: 3.125vw;
  }
}
@media (max-width: 991px) {
  .minisite__banner-content {
    top: 15.625vw;
  }
}
.minisite__banner-title {
  font-weight: bold;
  font-family: var(--font-toyota-bold);
  color: #111;
  text-align: center;
  letter-spacing: 0.02em;
  margin-bottom: 0.8333333333vw;
  font-size: 3.125vw;
}
@media (max-width: 991px) {
  .minisite__banner-title {
    font-size: 7.8125vw;
    margin-bottom: 2.6041666667vw;
  }
}
.minisite__banner-desc {
  color: #111;
  text-align: center;
  font-weight: 400;
  line-height: 1.4;
  font-size: 1.3541666667vw;
}
@media (max-width: 991px) {
  .minisite__banner-desc {
    font-size: 4.4270833333vw;
  }
}

.minisite__content {
  width: 100vw;
  max-width: 100vw;
  margin: 0 auto;
  box-sizing: border-box;
  background: #f5f5f5;
}
@media (max-width: 991px) {
  .minisite__content {
    padding: 7.8125vw 3.90625vw;
  }
}
.minisite__content__container {
  width: 100%;
  margin: 0 auto;
  align-self: center;
}
@media (min-width: 992px) {
  .minisite__content__container {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: center;
    gap: 4.1666666667vw;
    padding: 2.5vw 0;
  }
}
@media (max-width: 991px) {
  .minisite__content__container {
    gap: 3.125vw;
  }
}
.minisite__content-col--main {
  flex: 0 0 26.0416666667vw;
  max-width: 26.0416666667vw;
}
@media (max-width: 991px) {
  .minisite__content-col--main {
    flex: 1 1 100%;
    max-width: 100%;
  }
}
.minisite__content-col--side {
  flex: 1 1 0;
  min-width: 0;
}
@media (max-width: 991px) {
  .minisite__content-col--side {
    flex: 1 1 100%;
    min-width: 0;
  }
}
.minisite__content-main {
  color: #111;
  line-height: 1.32;
  letter-spacing: 0.01em;
  text-align: left;
  font-family: var(--font-toyota-semibold);
  font-size: 1.7708333333vw;
  margin-bottom: 0.8333333333vw;
}
@media (max-width: 991px) {
  .minisite__content-main {
    font-size: 5.9895833333vw;
    margin-bottom: 5.2083333333vw;
  }
}
.minisite__content-main .minisite__content-highlight {
  font-weight: 700;
  font-style: italic;
  color: #111;
  letter-spacing: 0.01em;
}
.minisite__content-highlight {
  font-weight: 700;
  font-style: italic;
  color: #111;
  letter-spacing: 0.01em;
}
.minisite__content-section {
  margin-bottom: 1.6666666667vw;
}
@media (max-width: 991px) {
  .minisite__content-section {
    margin-bottom: 2.6041666667vw;
  }
}
.minisite__content-section--footer {
  font-size: 0.78125vw;
  color: #222;
  opacity: 0.8;
  font-weight: 400;
  margin-top: 1.25vw;
}
@media (max-width: 991px) {
  .minisite__content-section--footer {
    font-size: 1.6927083333vw;
    margin-top: 2.0833333333vw;
  }
}
.minisite__content-title {
  font-family: var(--font-toyota-bold);
  font-size: 1.25vw;
  margin-bottom: 1.0416666667vw;
  color: #101010;
}
@media (max-width: 991px) {
  .minisite__content-title {
    font-size: 4.6875vw;
    margin-bottom: 2.6041666667vw;
  }
}
.minisite__content-desc {
  font-size: 1.0416666667vw;
  color: #222;
  line-height: 1.6;
}
@media (max-width: 991px) {
  .minisite__content-desc {
    font-size: 3.6458333333vw;
  }
}
.minisite__content-desc b {
  font-family: var(--font-toyota-semibold);
}
.minisite__content-desc p {
  margin-bottom: 1.0416666667vw;
}
@media (max-width: 991px) {
  .minisite__content-desc p {
    margin-bottom: 2.6041666667vw;
  }
}
.minisite__content-timeline {
  display: flex;
  flex-direction: column;
  gap: 0.9375vw;
  margin-top: 0.4166666667vw;
}
@media (max-width: 991px) {
  .minisite__content-timeline {
    gap: 5.2083333333vw;
    margin-top: 0.5208333333vw;
  }
}
.minisite__content-timeline-row {
  gap: 0.8333333333vw;
  border-left: 0.1041666667vw solid #ccc;
  padding-left: 0.9375vw;
}
@media (min-width: 992px) {
  .minisite__content-timeline-row {
    display: flex;
    flex-direction: row;
    align-items: baseline;
  }
}
@media (max-width: 991px) {
  .minisite__content-timeline-row {
    gap: 5.2083333333vw;
    padding-left: 2.6041666667vw;
  }
}
.minisite__content-timeline-year {
  font-size: 3.125vw;
  font-family: var(--font-toyota-semibold);
  font-weight: bolder;
  color: #222;
  min-width: 3.125vw;
}
@media (min-width: 992px) {
  .minisite__content-timeline-year {
    text-align: right;
  }
}
@media (max-width: 991px) {
  .minisite__content-timeline-year {
    font-size: 7.8125vw;
    min-width: 18.2291666667vw;
    margin-bottom: 2.6041666667vw;
    line-height: 1;
  }
}
.minisite__content-timeline-desc {
  font-size: 0.78125vw;
  color: #222;
  font-weight: 400;
  line-height: 1.4;
}
@media (max-width: 991px) {
  .minisite__content-timeline-desc {
    font-size: 3.3854166667vw;
  }
}

.sub-nav {
  background: #2a2a2a;
  border-bottom: 1px solid #444;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 5.2083333333vw;
  box-sizing: border-box;
}
@media (max-width: 991px) {
  .sub-nav {
    min-height: 15.625vw;
  }
}
.sub-nav .sub-nav-swiper {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}
@media (max-width: 991px) {
  .sub-nav .sub-nav-swiper {
    width: 100%;
  }
}
.sub-nav .swiper-wrapper {
  align-items: center;
}
.sub-nav .swiper-slide {
  width: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 991px) {
  .sub-nav .swiper-slide {
    padding: 0 5.2083333333vw;
  }
}
.sub-nav__item {
  color: #fff;
  font-size: 0.8333333333vw;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: none;
  border: none;
  outline: none;
  padding: 0 0 0.3125vw 0;
  cursor: pointer;
  position: relative;
  transition: color 0.2s;
  white-space: nowrap;
  text-decoration: none;
}
@media (max-width: 991px) {
  .sub-nav__item {
    font-size: 3.125vw;
    padding-bottom: 0.5208333333vw;
  }
}
.sub-nav__item--active {
  color: #fff;
}
.sub-nav__item--active::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 0.1041666667vw;
  background: var(--color-red, #df101d);
  border-radius: 0.0520833333vw;
}
@media (max-width: 991px) {
  .sub-nav__item--active::after {
    height: 0.2604166667vw;
    border-radius: 0.1302083333vw;
  }
}
.sub-nav__item:hover:not(.sub-nav__item--active) {
  color: var(--color-red, #df101d);
}
.sub-nav .swiper-scrollbar {
  position: absolute;
  bottom: 0.5208333333vw;
  left: 50%;
  transform: translateX(-50%);
  width: 10.4166666667vw;
  height: 0.2083333333vw;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 0.1041666667vw;
}
@media (max-width: 991px) {
  .sub-nav .swiper-scrollbar {
    bottom: 1.3020833333vw;
    width: 19.53125vw;
    height: 0.390625vw;
    border-radius: 0.1953125vw;
  }
}
.sub-nav .swiper-scrollbar .swiper-scrollbar-drag {
  background: var(--color-red, #df101d);
  border-radius: 0.1041666667vw;
  height: 100%;
  position: relative;
  cursor: grab;
}
@media (max-width: 991px) {
  .sub-nav .swiper-scrollbar .swiper-scrollbar-drag {
    border-radius: 0.1953125vw;
  }
}
.sub-nav .swiper-scrollbar .swiper-scrollbar-drag:active {
  cursor: grabbing;
}

.section-concept {
  width: 100vw;
  background: #fff;
  padding: 3.125vw 0;
  box-sizing: border-box;
}
@media (max-width: 991px) {
  .section-concept {
    padding: 4.1666666667vw 0;
  }
}
.section-concept__container {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: center;
  margin: 0 auto;
  gap: 3.125vw;
  flex-wrap: wrap;
}
@media (max-width: 991px) {
  .section-concept__container {
    flex-direction: column;
    max-width: 100vw;
    gap: 3.125vw;
    padding: 0 1.5625vw;
  }
}
.section-concept__col--main {
  flex: 0 0 100%;
}
.section-concept__col--left {
  flex: 1;
  min-width: 0;
  text-align: justify;
}
@media (min-width: 992px) {
  .section-concept__col--left {
    flex: 0 0 31.25vw;
    max-width: 31.25vw;
    padding-right: 5.2083333333vw;
    order: 1;
  }
}
@media (max-width: 991px) {
  .section-concept__col--left {
    width: 100%;
  }
}
.section-concept__col--right {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (min-width: 992px) {
  .section-concept__col--right {
    order: 2;
  }
}
@media (max-width: 991px) {
  .section-concept__col--right {
    width: 100%;
    margin-top: 3.125vw;
  }
}
.section-concept__label {
  color: #888;
  font-size: 0.7291666667vw;
  font-weight: 500;
  letter-spacing: 0.12em;
  margin-bottom: 0.8333333333vw;
  text-transform: uppercase;
  text-align: center;
}
@media (max-width: 991px) {
  .section-concept__label {
    font-size: 1.5625vw;
    margin-bottom: 1.0416666667vw;
  }
}
.section-concept__title {
  font-size: 1.6666666667vw;
  font-family: var(--font-toyota-semibold);
  color: #111;
  margin-bottom: 1.6666666667vw;
  line-height: 1.2;
  text-align: center;
}
@media (max-width: 991px) {
  .section-concept__title {
    font-size: 3.90625vw;
    margin-bottom: 2.0833333333vw;
  }
}
.section-concept__desc {
  font-size: 0.8333333333vw;
  color: #222;
  line-height: 1.7;
  font-weight: 400;
}
.section-concept__desc .large-text {
  font-size: 1.25vw;
}
@media (max-width: 991px) {
  .section-concept__desc .large-text {
    font-size: 3.90625vw;
  }
}
.section-concept__desc p {
  margin-bottom: 0.625vw;
}
@media (max-width: 991px) {
  .section-concept__desc {
    font-size: 3.125vw;
  }
}
.section-concept__desc b {
  font-weight: 700;
}
.section-concept__image-wrap {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 0.8333333333vw;
}
@media (max-width: 991px) {
  .section-concept__image-wrap {
    margin-top: 1.0416666667vw;
  }
}
.section-concept__image {
  width: 21.875vw;
  max-width: 100%;
  height: auto;
  display: block;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
  border-radius: 0.625vw;
}
@media (max-width: 991px) {
  .section-concept__image {
    width: 100%;
    border-radius: 1.0416666667vw;
  }
}
.section-concept__image-caption {
  color: #888;
  font-family: var(--font-toyota-light);
  font-size: 0.7291666667vw;
  margin-top: 0.625vw;
  text-align: center;
}
@media (max-width: 991px) {
  .section-concept__image-caption {
    font-size: 2.6041666667vw;
    margin-top: 0.78125vw;
  }
}

.drag-to-change-angle {
  width: 100%;
  position: relative;
}
.drag-to-change-angle__slider {
  height: 100%;
  position: relative;
  margin: 0 auto;
}
@media (min-width: 992px) {
  .drag-to-change-angle__slider {
    width: 80%;
  }
}
.drag-to-change-angle__slider img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.drag-to-change-angle__controls {
  width: 60%;
  margin: 0.625vw auto 0 auto;
  position: relative;
}
@media (max-width: 991px) {
  .drag-to-change-angle__controls {
    width: 100%;
    margin-top: 1.0416666667vw;
  }
}
.drag-to-change-angle__controls input[type=range] {
  width: 100%;
  background: transparent;
  -webkit-appearance: none;
  appearance: none;
  height: 0.3125vw;
  margin: 0;
  padding: 0;
}
@media (max-width: 991px) {
  .drag-to-change-angle__controls input[type=range] {
    height: 0.78125vw;
  }
}
.drag-to-change-angle__controls input[type=range]::-webkit-slider-runnable-track {
  height: 0.15625vw;
  background: #bdbdbd;
  border-radius: 0.1041666667vw;
}
@media (max-width: 991px) {
  .drag-to-change-angle__controls input[type=range]::-webkit-slider-runnable-track {
    height: 0.390625vw;
    border-radius: 0.2604166667vw;
  }
}
.drag-to-change-angle__controls input[type=range]::-moz-range-track {
  height: 0.15625vw;
  background: #bdbdbd;
  border-radius: 0.1041666667vw;
}
@media (max-width: 991px) {
  .drag-to-change-angle__controls input[type=range]::-moz-range-track {
    height: 0.390625vw;
    border-radius: 0.2604166667vw;
  }
}
.drag-to-change-angle__controls input[type=range]::-ms-fill-lower, .drag-to-change-angle__controls input[type=range]::-ms-fill-upper {
  background: #bdbdbd;
  border-radius: 0.1041666667vw;
}
@media (max-width: 991px) {
  .drag-to-change-angle__controls input[type=range]::-ms-fill-lower, .drag-to-change-angle__controls input[type=range]::-ms-fill-upper {
    border-radius: 0.2604166667vw;
  }
}
.drag-to-change-angle__controls input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 5.2083333333vw;
  height: 0.3125vw;
  background: #111;
  border-radius: 0.15625vw;
  border: none;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  margin-top: -0.078125vw;
}
@media (max-width: 991px) {
  .drag-to-change-angle__controls input[type=range]::-webkit-slider-thumb {
    width: 3.6458333333vw;
    height: 0.6510416667vw;
    border-radius: 0.3255208333vw;
    margin-top: -0.1953125vw;
  }
}
.drag-to-change-angle__controls input[type=range]::-moz-range-thumb {
  width: 5.2083333333vw;
  height: 0.3125vw;
  background: #111;
  border-radius: 0.15625vw;
  border: none;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  cursor: pointer;
}
@media (max-width: 991px) {
  .drag-to-change-angle__controls input[type=range]::-moz-range-thumb {
    width: 3.6458333333vw;
    height: 0.6510416667vw;
    border-radius: 0.3255208333vw;
  }
}
.drag-to-change-angle__controls input[type=range]::-ms-thumb {
  width: 5.2083333333vw;
  height: 0.3125vw;
  background: #111;
  border-radius: 0.15625vw;
  border: none;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  cursor: pointer;
}
@media (max-width: 991px) {
  .drag-to-change-angle__controls input[type=range]::-ms-thumb {
    width: 3.6458333333vw;
    height: 0.6510416667vw;
    border-radius: 0.3255208333vw;
  }
}
.drag-to-change-angle__controls input[type=range]:focus {
  outline: none;
}

.footer {
  width: 100vw;
  background: #000;
  color: #fff;
  font-size: 0.6770833333vw;
  padding: 1.0416666667vw 0;
}
@media (max-width: 991px) {
  .footer {
    font-size: 2.6041666667vw;
    padding: 2.6041666667vw 0;
  }
}
.footer__container {
  margin: 0 auto;
  padding: 0;
}
@media (min-width: 992px) {
  .footer__container {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}
@media (max-width: 991px) {
  .footer__container {
    flex-direction: column;
    align-items: flex-start;
    padding: 0 1.5625vw;
    gap: 0.5208333333vw;
    text-align: center;
  }
}
.footer__left {
  color: #fff;
  opacity: 0.8;
}
@media (max-width: 991px) {
  .footer__left {
    margin-bottom: 0.5208333333vw;
  }
}
.footer__right {
  display: flex;
  align-items: center;
  gap: 0.8333333333vw;
}
@media (max-width: 991px) {
  .footer__right {
    justify-content: center;
    gap: 1.0416666667vw;
  }
}
.footer__link {
  color: #fff;
  opacity: 0.8;
  text-decoration: none;
  font-size: inherit;
  transition: opacity 0.2s;
}
.footer__link:hover, .footer__link:focus {
  opacity: 1;
  text-decoration: underline;
}
.footer__divider {
  color: #fff;
  opacity: 0.5;
  margin: 0 0.3125vw;
}
@media (max-width: 991px) {
  .footer__divider {
    margin: 0 0.5208333333vw;
  }
}

.section-header {
  padding: 0 0 2.0833333333vw 0;
}
.section-header__label {
  color: #808080;
  font-family: var(--font-toyota-light);
  font-size: 0.8333333333vw;
  letter-spacing: 0.12em;
  margin-bottom: 0.8333333333vw;
  text-align: center;
  text-transform: uppercase;
}
@media (max-width: 991px) {
  .section-header__label {
    font-size: 3.125vw;
    margin-bottom: 2.6041666667vw;
  }
}
.section-header__title {
  font-size: 2.0833333333vw;
  font-weight: 700;
  color: #000000;
  margin-bottom: 1.0416666667vw;
  text-align: center;
  line-height: 1.2;
}
@media (max-width: 991px) {
  .section-header__title {
    font-size: 7.03125vw;
    margin-bottom: 5.2083333333vw;
  }
}
.section-header__desc {
  font-size: 1.0416666667vw;
  color: #3a3a3a;
  line-height: 1.7;
  font-weight: 400;
  text-align: center;
}
@media (max-width: 991px) {
  .section-header__desc {
    font-size: 3.6458333333vw;
    margin-bottom: 5.2083333333vw;
  }
}

.tabs-section__menu {
  display: flex;
  justify-content: center;
  width: fit-content;
  margin: 0 auto;
  list-style: none;
  border-bottom: 1px solid #ccc;
  padding: 0;
}
@media (max-width: 991px) {
  .tabs-section__menu {
    gap: 1.5625vw;
  }
}
.tabs-section__menu__item {
  color: #222;
  font-size: 0.8333333333vw;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: none;
  border: none;
  outline: none;
  padding: 0 1.0416666667vw 0.4166666667vw;
  cursor: pointer;
  position: relative;
  transition: color 0.2s;
  text-decoration: none;
}
@media (max-width: 991px) {
  .tabs-section__menu__item {
    font-size: 3.125vw;
    padding-bottom: 1.953125vw;
  }
}
.tabs-section__menu__item.--active {
  color: #111;
}
.tabs-section__menu__item.--active::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 0.1041666667vw;
  background: #111;
  border-radius: 0.0520833333vw;
}
@media (max-width: 991px) {
  .tabs-section__menu__item.--active::after {
    height: 0.390625vw;
    border-radius: 0.1302083333vw;
  }
}
.tabs-section__menu__item:hover:not(.--active) {
  color: #df101d;
}
.tabs-section__contents__item {
  display: none;
}
.tabs-section__contents__item.--active {
  display: block;
}

.tabs-swiper {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}
@media (max-width: 991px) {
  .tabs-swiper {
    width: 100%;
    border-bottom: 1px solid #ccc;
  }
}
.tabs-swiper .swiper-wrapper {
  align-items: center;
  margin: 0;
}
@media (max-width: 991px) {
  .tabs-swiper .swiper-wrapper {
    justify-content: start;
    gap: 0;
    border-bottom: 0;
  }
}
.tabs-swiper .swiper-slide {
  width: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 991px) {
  .tabs-swiper .swiper-slide {
    padding: 0 2.6041666667vw;
  }
}
.tabs-swiper .swiper-scrollbar {
  position: absolute;
  bottom: 0.5208333333vw;
  left: 50%;
  transform: translateX(-50%);
  width: 10.4166666667vw;
  height: 0.2083333333vw;
  background: rgba(0, 0, 0, 0.2);
  border-radius: 0.1041666667vw;
}
@media (max-width: 991px) {
  .tabs-swiper .swiper-scrollbar {
    bottom: 1.3020833333vw;
    width: 19.53125vw;
    height: 0.390625vw;
    border-radius: 0.1953125vw;
  }
}
.tabs-swiper .swiper-scrollbar .swiper-scrollbar-drag {
  background: var(--color-red, #df101d);
  border-radius: 0.1041666667vw;
  height: 100%;
  position: relative;
  cursor: grab;
}
@media (max-width: 991px) {
  .tabs-swiper .swiper-scrollbar .swiper-scrollbar-drag {
    border-radius: 0.1953125vw;
  }
}
.tabs-swiper .swiper-scrollbar .swiper-scrollbar-drag:active {
  cursor: grabbing;
}

.section-package__container {
  padding: 2.5vw 0;
}
@media (max-width: 991px) {
  .section-package__container {
    padding: 4.1666666667vw 1.5625vw;
  }
}
.section-package__tabs-menu {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 1.25vw;
}
@media (max-width: 991px) {
  .section-package__tabs-menu {
    margin-bottom: 1.5625vw;
  }
}
.section-package__tabs-content__item {
  display: none;
}
.section-package__tabs-content__item.--active {
  display: block;
}

.package-panel {
  position: relative;
  width: 100%;
  max-width: 100vw;
}
.package-panel__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.package-panel__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.package-panel__image-img.\--desktop {
  display: block;
}
.package-panel__image-img.\--mobile {
  display: none;
}
@media (max-width: 991px) {
  .package-panel__image-img.\--desktop {
    display: none;
  }
  .package-panel__image-img.\--mobile {
    display: block;
  }
}
.package-panel__btns {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  display: none;
}
@media (max-width: 991px) {
  .package-panel__btns {
    height: auto;
    padding-bottom: 46.875%;
    top: 25%;
    width: 110%;
    left: -10%;
  }
}
.package-panel__btns.--shown {
  display: block;
}
.package-panel__btns__item {
  position: absolute;
  width: 2.5vw;
  height: 2.5vw;
  min-width: 1.6666666667vw;
  min-height: 1.6666666667vw;
  max-width: 2.5vw;
  max-height: 2.5vw;
  background: url("../img/icon-circle-add.webp") no-repeat center/contain;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  pointer-events: auto;
  transition: background 0.2s;
  z-index: 2;
}
@media (max-width: 991px) {
  .package-panel__btns__item {
    width: 13.0208333333vw;
    height: 13.0208333333vw;
    min-width: 7.8125vw;
    min-height: 7.8125vw;
    max-width: 13.0208333333vw;
  }
}
.package-panel__btns__item.--active {
  background-image: url("../img/icon-circle-add-red.webp");
}
.package-panel__control {
  position: absolute;
  top: 2.0833333333vw;
  right: 2.0833333333vw;
  display: flex;
  gap: 1.0416666667vw;
  z-index: 10;
}
.package-panel__control__btn {
  display: flex;
  align-items: center;
  width: 5.2083333333vw;
  justify-content: center;
  gap: 0.5208333333vw;
  padding: 0.5208333333vw 1.5625vw;
  font-size: 1.0416666667vw;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
  background: var(--color-red, #df101d);
  color: var(--color-white, #fff);
  text-transform: uppercase;
}
@media (max-width: 991px) {
  .package-panel__control__btn {
    width: auto;
    padding: 1.3020833333vw 3.90625vw;
    font-size: 3.125vw;
  }
}
.package-panel__control__btn .icon--hide {
  width: 1.25vw;
  height: 1.25vw;
  background: url("../img/icon-show.webp") no-repeat center/contain;
  display: inline-block;
}
@media (max-width: 991px) {
  .package-panel__control__btn .icon--hide {
    width: 5.2083333333vw;
    height: 5.2083333333vw;
  }
}
.package-panel__control__btn > span {
  display: inline-block;
  text-align: center;
}
@media (min-width: 992px) {
  .package-panel__control__btn > span {
    width: 3.125vw;
  }
}
.package-panel__control__btn .text-hide {
  display: none;
}
.package-panel__control__btn.--shown {
  background: #111;
  color: #fff;
}
.package-panel__control__btn.--shown .icon--hide {
  background: url("../img/icon-hide.webp") no-repeat center/contain;
}
.package-panel__control__btn.--shown .text-hide {
  display: inline-block;
}
.package-panel__control__btn.--shown .text-show {
  display: none;
}
.package-panel__cards {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
}
.package-panel__cards.--shown {
  display: block;
}
.package-panel__cards__item {
  position: absolute;
  top: 0;
  left: 0;
  display: none;
}
.package-panel__cards__item.--active {
  display: block;
  z-index: 100;
}
@media (max-width: 991px) {
  .package-panel__cards__item {
    top: auto !important;
    bottom: 5.2083333333vw !important;
    left: 50% !important;
    transform: translateX(-50%);
  }
}

.package-card {
  width: 24.4791666667vw;
  max-width: 90vw;
  background: #fff;
  box-shadow: 0 0.4166666667vw 2.0833333333vw rgba(0, 0, 0, 0.18);
  padding: 3.125vw 1.0416666667vw 1.25vw;
  display: flex;
  flex-direction: column;
  gap: 0.8333333333vw;
  animation: fadeIn 0.2s;
}
@media (max-width: 991px) {
  .package-card {
    width: 76.8229166667vw;
    max-width: 90vw;
    padding: 10.4166666667vw 2.6041666667vw 5.2083333333vw;
  }
}
.package-card__close {
  position: absolute;
  top: 1.0416666667vw;
  right: 1.0416666667vw;
  width: 1.25vw;
  height: 1.25vw;
  cursor: pointer;
  z-index: 2;
}
@media (max-width: 991px) {
  .package-card__close {
    top: 2.6041666667vw;
    right: 2.6041666667vw;
    width: 5.2083333333vw;
    height: 5.2083333333vw;
  }
}
.package-card__close .icon--close {
  width: 100%;
  height: 100%;
  background: url("../img/icon-close.webp") no-repeat center/contain;
  display: block;
}
.package-card__image {
  width: 100%;
  overflow: hidden;
}
.package-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (max-width: 991px) {
  .package-card__image {
    margin-bottom: 1.3020833333vw;
  }
}
.package-card__title {
  font-size: 1.25vw;
  font-family: var(--font-toyota-bold);
  margin: 0.4166666667vw 0 0;
  color: #111;
}
@media (max-width: 991px) {
  .package-card__title {
    font-size: 3.90625vw;
    margin-bottom: 1.3020833333vw;
  }
}
.package-card__desc {
  font-size: 0.8333333333vw;
  color: #222;
  line-height: 1.5;
  margin-bottom: 0.8333333333vw;
  text-align: justify;
}
@media (max-width: 991px) {
  .package-card__desc {
    font-size: 2.8645833333vw;
    margin-bottom: 5.2083333333vw;
  }
}
.package-card__btns {
  display: flex;
  text-transform: uppercase;
  justify-content: flex-start;
  gap: 0.625vw;
}
.package-card__btns__item {
  background: #df101d;
  color: #fff;
  padding: 0.625vw 1.4583333333vw;
  font-size: 0.8333333333vw;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 0.4166666667vw;
  border: none;
  transition: background 0.2s;
}
@media (max-width: 991px) {
  .package-card__btns__item {
    font-size: 3.125vw;
    padding: 1.5625vw 3.6458333333vw;
  }
}
.package-card__btns__item .icon {
  background-color: #fff;
  width: 0.8333333333vw;
  height: 0.8333333333vw;
  margin-top: 0.2083333333vw;
  display: inline-block;
}
@media (max-width: 991px) {
  .package-card__btns__item .icon {
    width: 3.125vw;
    height: 3.125vw;
  }
}
.package-card__btns__item:hover {
  background: #b80c18;
}
.package-card__overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.25);
  z-index: 1000;
  animation: fadeIn 0.2s;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.section-accessories__list {
  background: #eeeeee;
  padding: 4.1666666667vw 0;
}
@media (max-width: 991px) {
  .section-accessories__list {
    padding: 10.4166666667vw 5.2083333333vw;
  }
}
.section-accessories__gallery {
  padding: 4.1666666667vw 0;
}
@media (min-width: 992px) {
  .section-accessories__cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25vw;
  }
}
@media (max-width: 991px) {
  .section-accessories__cards__item {
    margin-top: 5.2083333333vw;
  }
}

.accessories-card {
  background: #fff;
  box-shadow: 0 0.1041666667vw 0.625vw rgba(0, 0, 0, 0.08);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  height: 100%;
  transition: box-shadow 0.2s;
}
.accessories-card:hover {
  box-shadow: 0 0.2083333333vw 1.25vw rgba(0, 0, 0, 0.14);
}
.accessories-card__image {
  width: 100%;
  aspect-ratio: 1.1/1;
  background: #eee;
}
.accessories-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.accessories-card__title {
  font-size: 1.875vw;
  font-weight: 700;
  text-align: center;
  margin: 1.25vw 0 0.4166666667vw 0;
  color: #000000;
}
@media (max-width: 991px) {
  .accessories-card__title {
    font-size: 5.2083333333vw;
    margin: 3.125vw 0 1.0416666667vw 0;
  }
}
.accessories-card__desc {
  font-size: 0.9375vw;
  color: #222;
  text-align: center;
  margin: 0 0.8333333333vw 1.25vw 0.8333333333vw;
  min-height: 2.5vw;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  line-clamp: 3;
  /* fallback for non-webkit browsers */
  max-height: 5.1em;
  height: 4.1666666667vw;
}
@media (max-width: 991px) {
  .accessories-card__desc {
    font-size: 3.125vw;
    margin: 0 2.0833333333vw 3.125vw 2.0833333333vw;
    padding: 0 2.6041666667vw;
  }
}
.accessories-card__btn {
  display: flex;
  justify-content: center;
  margin-bottom: 1.25vw;
}
@media (max-width: 991px) {
  .accessories-card__btn {
    margin-bottom: 5.2083333333vw;
  }
}
.accessories-card__btn-link {
  background: #df101d;
  color: #fff;
  padding: 0.625vw 1.6666666667vw;
  font-size: 0.8333333333vw;
  font-weight: 600;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 0.4166666667vw;
  transition: background 0.2s;
  text-transform: uppercase;
}
@media (max-width: 991px) {
  .accessories-card__btn-link {
    font-size: 3.125vw;
    padding: 1.5625vw 4.1666666667vw;
  }
}
.accessories-card__btn-link .icon {
  background-color: #fff;
  margin-top: 0.15625vw;
  width: 0.7291666667vw;
  height: 0.7291666667vw;
  display: block;
}
@media (max-width: 991px) {
  .accessories-card__btn-link .icon {
    width: 2.3697916667vw;
    height: 2.3697916667vw;
    margin-top: 0.5078125vw;
  }
}
.accessories-card__btn-link:hover {
  background: #b80c18;
}

.accessories-gallery {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5625vw;
  margin: 2.0833333333vw 0 0;
}
.accessories-gallery__btn {
  text-align: center;
  margin-top: 2.0833333333vw;
}
@media (max-width: 991px) {
  .accessories-gallery__btn {
    margin-top: 5.2083333333vw;
    margin-bottom: 5.2083333333vw;
  }
}

.gallery-card {
  position: relative;
  background: #fff;
  overflow: hidden;
  aspect-ratio: 1/1;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
  cursor: pointer;
}
.gallery-card .gallery-content__wrapper {
  display: none;
}
.gallery-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.gallery-card.--new::after {
  content: "NEW";
  display: block;
  width: 3.3854166667vw;
  height: 1.3541666667vw;
  padding-right: 0.625vw;
  position: absolute;
  top: 0.4166666667vw;
  left: -0.2083333333vw;
  color: #fff;
  font-size: 0.7291666667vw;
  clip-path: polygon(0 0, 100% 0, 83% 100%, 0% 100%);
  background: #df101d;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 991px) {
  .gallery-card.--new::after {
    width: 10.15625vw;
    height: 4.0625vw;
    font-size: 2.0833333333vw;
    top: 1.25vw;
    left: -0.625vw;
  }
}
.gallery-card__content {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 85%;
  background: #fff;
  padding: 0.9375vw 0.9375vw 0.625vw 0.9375vw;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  z-index: 2;
  box-sizing: border-box;
  opacity: 0;
  transition: opacity 0.2s;
}
@media (max-width: 991px) {
  .gallery-card__content {
    width: 100%;
    padding: 2.6041666667vw;
  }
}
.gallery-card__title {
  color: #111;
  font-size: 0.9375vw;
  font-family: var(--font-toyota-semibold);
  margin-bottom: 0.4166666667vw;
  line-height: 1.3;
}
@media (max-width: 991px) {
  .gallery-card__title {
    font-size: 2.8645833333vw;
    margin-bottom: 2.6041666667vw;
  }
}
.gallery-card__btn {
  color: #df101d;
  font-size: 0.78125vw;
  font-weight: 500;
  text-transform: uppercase;
  text-decoration: none;
  margin-top: 0.2083333333vw;
  display: flex;
  align-items: center;
  gap: 0.2083333333vw;
  transition: color 0.2s;
}
@media (max-width: 991px) {
  .gallery-card__btn {
    font-size: 3.125vw;
    margin-top: 0.5208333333vw;
  }
}
.gallery-card__btn:hover {
  color: #b40511;
}
.gallery-card__btn .icon {
  background-color: #df101d;
  width: 0.7291666667vw;
  height: 0.7291666667vw;
  display: inline-block;
  transition: transform 0.2s;
  margin-top: 0.15625vw;
}
@media (max-width: 991px) {
  .gallery-card__btn .icon {
    width: 2.1875vw;
    height: 2.1875vw;
    margin-top: 0.46875vw;
  }
}
.gallery-card__btn:hover .gallery-card__btn__icon {
  transform: translateX(0.15625vw);
}
.gallery-card:hover .gallery-card__content {
  opacity: 1;
}

@media (max-width: 991px) {
  .accessories-gallery {
    gap: 2.6041666667vw;
    grid-template-columns: repeat(2, 1fr);
  }
}
.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0.1041666667vw solid #df101d;
  background: #df101d;
  color: #fff;
  padding: 0.78125vw 0.5208333333vw;
  font-size: 0.8333333333vw;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
  outline: none;
  box-shadow: none;
  text-decoration: none;
  gap: 0.4166666667vw;
}
@media (max-width: 991px) {
  .btn-primary {
    font-size: 3.6458333333vw;
    padding: 1.5625vw 4.1666666667vw;
    gap: 1.953125vw;
  }
}
.btn-primary .btn-outline__text {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: 0.02em;
}
.btn-primary .icon {
  width: 0.9375vw;
  height: 0.9375vw;
  margin-left: 0.2083333333vw;
  display: inline-block;
  vertical-align: middle;
  --icon-color: #fff;
}
@media (max-width: 991px) {
  .btn-primary .icon {
    width: 3.28125vw;
    height: 3.28125vw;
  }
}
.btn-primary:hover, .btn-primary:focus {
  background: #b40511;
  color: #fff;
  border-color: #df101d;
}
.btn-primary:hover .icon, .btn-primary:focus .icon {
  --icon-color: #fff;
}

.btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0.1041666667vw solid #df101d;
  background: #fff;
  color: #df101d;
  padding: 0.78125vw 1.6666666667vw;
  font-size: 0.8333333333vw;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
  outline: none;
  box-shadow: none;
  gap: 0.4166666667vw;
}
@media (max-width: 991px) {
  .btn-outline {
    font-size: 3.6458333333vw;
    padding: 1.5625vw 4.1666666667vw;
    gap: 1.953125vw;
  }
}
.btn-outline .btn-outline__text {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: 0.02em;
}
.btn-outline .icon {
  width: 0.9375vw;
  height: 0.9375vw;
  margin-left: 0.2083333333vw;
  display: inline-block;
  vertical-align: middle;
  --icon-color: #df101d;
}
@media (max-width: 991px) {
  .btn-outline .icon {
    width: 2.8125vw;
    height: 2.8125vw;
  }
}
.btn-outline:hover, .btn-outline:focus {
  background: #df101d;
  color: #fff;
  border-color: #df101d;
}
.btn-outline:hover .icon, .btn-outline:focus .icon {
  --icon-color: #fff;
}

.btn-inline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  padding: 0;
  font-size: 0.8333333333vw;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
  outline: none;
  box-shadow: none;
  background-color: transparent;
  border: 0;
  gap: 0.4166666667vw;
  text-transform: none;
}
.btn-inline__text {
  text-decoration: underline;
  text-underline-offset: 0.15625vw;
}
@media (max-width: 991px) {
  .btn-inline__text {
    text-underline-offset: 0.390625vw;
  }
}
@media (max-width: 991px) {
  .btn-inline {
    font-size: 3.6458333333vw;
    gap: 1.953125vw;
  }
}
.btn-inline .btn-outline__text {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: 0.02em;
}
.btn-inline .icon {
  width: 0.9375vw;
  height: 0.9375vw;
  margin-left: 0.2083333333vw;
  display: inline-block;
  vertical-align: middle;
  --icon-color: #fff;
}
@media (max-width: 991px) {
  .btn-inline .icon {
    width: 3.28125vw;
    height: 3.28125vw;
  }
}
.btn-inline:hover, .btn-inline:focus {
  color: #df101d;
}
.btn-inline:hover .icon, .btn-inline:focus .icon {
  --icon-color: #df101d;
}

.section-accessories__modal {
  position: fixed;
  inset: 0;
  z-index: 2000;
  background: rgba(0, 0, 0, 0.45);
  transition: opacity 0.2s;
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
}
.section-accessories__modal__container {
  background: #fff;
  height: 100vh;
  display: flex;
  flex-direction: row;
  position: relative;
  box-shadow: -vw(8) 0 1.6666666667vw rgba(0, 0, 0, 0.1);
}
@media (max-width: 991px) {
  .section-accessories__modal__container {
    flex-direction: column;
    overflow: auto;
  }
}
.section-accessories__modal__close {
  position: absolute;
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 1.25vw;
  right: 1.25vw;
  width: 1.6666666667vw;
  height: 1.6666666667vw;
}
@media (max-width: 991px) {
  .section-accessories__modal__close {
    top: 3.125vw;
    right: 3.125vw;
    width: 6.5104166667vw;
    height: 6.5104166667vw;
    background: #fff;
  }
}
.section-accessories__modal__close .icon--close {
  --icon-color: #222;
  width: 1.1979166667vw;
  height: 1.1979166667vw;
}
@media (max-width: 991px) {
  .section-accessories__modal__close .icon--close {
    width: 3.90625vw;
    height: 3.90625vw;
  }
}
.section-accessories__modal__close:hover {
  background: #eee;
}
.section-accessories__modal__gallery {
  flex: 1;
  min-width: 0;
  background: #111111;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 991px) {
  .section-accessories__modal__gallery {
    flex: 0 0 62.5vw;
    background: #fff;
  }
}
.section-accessories__modal__gallery .gallery {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}
@media (max-width: 991px) {
  .section-accessories__modal__gallery .gallery {
    padding-bottom: 13.0208333333vw;
    box-sizing: border-box;
  }
}
.section-accessories__modal__gallery .gallery .gallery__item {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.section-accessories__modal__gallery .gallery .gallery__item.\--new::after {
  content: "NEW";
  display: block;
  width: 3.3854166667vw;
  height: 1.3541666667vw;
  padding-right: 0.625vw;
  position: absolute;
  top: 0.4166666667vw;
  left: -0.2083333333vw;
  color: #fff;
  font-size: 0.7291666667vw;
  clip-path: polygon(0 0, 100% 0, 83% 100%, 0% 100%);
  background: #df101d;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  display: none;
}
@media (max-width: 991px) {
  .section-accessories__modal__gallery .gallery .gallery__item.\--new::after {
    display: block;
    width: 11.8489583333vw;
    height: 4.7395833333vw;
    font-size: 2.5520833333vw;
    top: 1.25vw;
    left: 0vw;
  }
}
.section-accessories__modal__gallery .gallery .gallery__item__img {
  height: 100%;
  width: 100%;
  position: relative;
  z-index: 1;
}
.section-accessories__modal__gallery .gallery .gallery__item__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.section-accessories__modal__gallery .gallery .gallery-content__wrapper {
  display: none;
}
.section-accessories__modal__gallery .gallery .gallery__pagination {
  background: rgba(0, 0, 0, 0.4);
  text-align: center;
  position: absolute;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  gap: 0.2083333333vw;
  padding: 2.0833333333vw 0;
}
@media (max-width: 991px) {
  .section-accessories__modal__gallery .gallery .gallery__pagination {
    background: #fff;
    padding: 5.2083333333vw 0;
  }
}
.section-accessories__modal__gallery .gallery .gallery__pagination .swiper-pagination-bullet {
  background: #ccc;
  opacity: 1;
  display: block;
  border-radius: 0;
  margin: 0 0.2083333333vw;
  width: 1.5625vw;
  height: 0.15625vw;
}
@media (max-width: 991px) {
  .section-accessories__modal__gallery .gallery .gallery__pagination .swiper-pagination-bullet {
    width: 3.90625vw;
    height: 0.390625vw;
    margin-bottom: 1.3020833333vw;
  }
}
.section-accessories__modal__gallery .gallery .gallery__pagination .swiper-pagination-bullet-active {
  background: #df101d;
}
.section-accessories__modal__gallery .gallery .gallery__arrow-left,
.section-accessories__modal__gallery .gallery .gallery__arrow-right {
  position: absolute;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  color: var(--color-white);
  cursor: pointer;
  transition: background 0.2s;
  bottom: 0.5208333333vw;
  font-size: 0.8333333333vw;
  top: inherit;
  margin: 0;
  z-index: 2;
  width: auto;
  gap: 0.625vw;
}
@media (max-width: 991px) {
  .section-accessories__modal__gallery .gallery .gallery__arrow-left,
.section-accessories__modal__gallery .gallery .gallery__arrow-right {
    font-size: 3.90625vw;
    bottom: 1.5625vw;
    color: var(--color-black);
  }
}
.section-accessories__modal__gallery .gallery .gallery__arrow-left:after,
.section-accessories__modal__gallery .gallery .gallery__arrow-right:after {
  display: none;
}
.section-accessories__modal__gallery .gallery .gallery__arrow-left .wrap-icon,
.section-accessories__modal__gallery .gallery .gallery__arrow-right .wrap-icon {
  background: #fff;
  width: 2.6041666667vw;
  flex: 0 0 2.6041666667vw;
  height: 2.6041666667vw;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 0.4166666667vw rgba(0, 0, 0, 0.1);
  transition: background 0.2s;
}
@media (max-width: 991px) {
  .section-accessories__modal__gallery .gallery .gallery__arrow-left .wrap-icon,
.section-accessories__modal__gallery .gallery .gallery__arrow-right .wrap-icon {
    width: 7.8125vw;
    flex: 0 0 7.8125vw;
    height: 7.8125vw;
    background: var(--color-black);
  }
}
.section-accessories__modal__gallery .gallery .gallery__arrow-left .icon,
.section-accessories__modal__gallery .gallery .gallery__arrow-right .icon {
  --icon-color: #222;
  width: 2.0833333333vw;
  height: 2.0833333333vw;
}
@media (max-width: 991px) {
  .section-accessories__modal__gallery .gallery .gallery__arrow-left .icon,
.section-accessories__modal__gallery .gallery .gallery__arrow-right .icon {
    width: 3.90625vw;
    height: 3.90625vw;
    --icon-color: var(--color-white);
  }
}
.section-accessories__modal__gallery .gallery .gallery__arrow-left:hover,
.section-accessories__modal__gallery .gallery .gallery__arrow-right:hover {
  color: #df101d;
}
.section-accessories__modal__gallery .gallery .gallery__arrow-left:hover .wrap-icon,
.section-accessories__modal__gallery .gallery .gallery__arrow-right:hover .wrap-icon {
  background: #df101d;
}
.section-accessories__modal__gallery .gallery .gallery__arrow-left:hover .icon,
.section-accessories__modal__gallery .gallery .gallery__arrow-right:hover .icon {
  --icon-color: #fff;
}
.section-accessories__modal__gallery .gallery .gallery__arrow-left {
  left: 0.5208333333vw;
}
@media (max-width: 991px) {
  .section-accessories__modal__gallery .gallery .gallery__arrow-left {
    left: 2.6041666667vw;
  }
}
.section-accessories__modal__gallery .gallery .gallery__arrow-right {
  right: 0.5208333333vw;
}
@media (max-width: 991px) {
  .section-accessories__modal__gallery .gallery .gallery__arrow-right {
    right: 2.6041666667vw;
  }
}
.section-accessories__modal__gallery .gallery .gallery__arrow-right .wrap-icon {
  order: 2;
}
.section-accessories__modal__content {
  min-width: 0;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  flex: 0 0 33.8541666667vw;
  max-width: 33.8541666667vw;
  max-height: 100%;
  box-sizing: border-box;
  overflow: visible;
  z-index: 2;
}
@media (max-width: 991px) {
  .section-accessories__modal__content {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
.section-accessories__modal__content .gallery-content {
  width: 100%;
  max-height: calc(100% - 4.6875vw);
  padding: 4.1666666667vw 1.6666666667vw 1.6666666667vw 1.6666666667vw;
  box-sizing: border-box;
  position: relative;
  overflow: visible;
}
.section-accessories__modal__content .gallery-content.\--new::after {
  content: "NEW";
  display: block;
  width: 3.3854166667vw;
  height: 1.3541666667vw;
  padding-right: 0.625vw;
  position: absolute;
  top: 0.4166666667vw;
  left: -0.2083333333vw;
  color: #fff;
  font-size: 0.7291666667vw;
  clip-path: polygon(0 0, 100% 0, 83% 100%, 0% 100%);
  background: #df101d;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 991px) {
  .section-accessories__modal__content .gallery-content.\--new::after {
    display: none;
  }
}
.section-accessories__modal__content .gallery-content__holder {
  overflow: auto;
  height: 100%;
  position: relative;
  /* Track */
  /* Handle */
  /* Handle on hover */
}
.section-accessories__modal__content .gallery-content__holder::-webkit-scrollbar {
  width: 0.1041666667vw;
}
.section-accessories__modal__content .gallery-content__holder::-webkit-scrollbar-track {
  background: #f1f1f1;
}
.section-accessories__modal__content .gallery-content__holder::-webkit-scrollbar-thumb {
  background: #888;
}
.section-accessories__modal__content .gallery-content__holder::-webkit-scrollbar-thumb:hover {
  background: #555;
}
.section-accessories__modal__content .gallery-content__wrapper {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  position: relative;
  padding-right: 0.8333333333vw;
}
.section-accessories__modal__content .gallery-content__grid {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.625vw;
}
.section-accessories__modal__content .gallery-content__grid .gallery-content__label {
  color: #df101d;
  font-family: var(--font-toyota-semibold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.8333333333vw;
}
@media (max-width: 991px) {
  .section-accessories__modal__content .gallery-content__grid .gallery-content__label {
    font-size: 2.8645833333vw;
  }
}
.section-accessories__modal__content .gallery-content__grid .gallery-content__views {
  color: #888;
  display: flex;
  align-items: center;
  font-size: 0.7291666667vw;
  gap: 0.3125vw;
}
@media (max-width: 991px) {
  .section-accessories__modal__content .gallery-content__grid .gallery-content__views {
    font-size: 2.34375vw;
  }
}
.section-accessories__modal__content .gallery-content__grid .gallery-content__views .icon--views {
  --icon-color: #888;
  width: 0.8333333333vw;
  height: 0.8333333333vw;
}
@media (max-width: 991px) {
  .section-accessories__modal__content .gallery-content__grid .gallery-content__views .icon--views {
    width: 3.90625vw;
    height: 3.90625vw;
  }
}
.section-accessories__modal__content .gallery-content__title {
  font-family: var(--font-toyota-semibold);
  color: #000;
  font-size: 1.5625vw;
  margin-bottom: 0.625vw;
}
@media (max-width: 991px) {
  .section-accessories__modal__content .gallery-content__title {
    font-size: 5.2083333333vw;
  }
}
.section-accessories__modal__content .gallery-content__price {
  text-align: right;
}
.section-accessories__modal__content .gallery-content__no {
  align-items: center;
  gap: 0.4166666667vw;
}
.section-accessories__modal__content .gallery-content__no .gallery-content__no__label, .section-accessories__modal__content .gallery-content__no .gallery-content__price__label {
  color: #888;
  font-size: 0.8333333333vw;
  font-family: var(--font-toyota-normal);
}
@media (max-width: 991px) {
  .section-accessories__modal__content .gallery-content__no .gallery-content__no__label, .section-accessories__modal__content .gallery-content__no .gallery-content__price__label {
    font-size: 2.6041666667vw;
  }
}
.section-accessories__modal__content .gallery-content__no .gallery-content__no__value, .section-accessories__modal__content .gallery-content__no .gallery-content__price__value {
  color: #000;
  font-size: 1.0416666667vw;
  font-family: var(--font-toyota-semibold);
}
@media (max-width: 991px) {
  .section-accessories__modal__content .gallery-content__no .gallery-content__no__value, .section-accessories__modal__content .gallery-content__no .gallery-content__price__value {
    font-size: 3.90625vw;
  }
}
.section-accessories__modal__content .gallery-content__price {
  align-items: center;
  gap: 0.4166666667vw;
}
.section-accessories__modal__content .gallery-content__price .gallery-content__no__label, .section-accessories__modal__content .gallery-content__price .gallery-content__price__label {
  color: #888;
  font-size: 0.8333333333vw;
  font-family: var(--font-toyota-normal);
}
@media (max-width: 991px) {
  .section-accessories__modal__content .gallery-content__price .gallery-content__no__label, .section-accessories__modal__content .gallery-content__price .gallery-content__price__label {
    font-size: 2.8645833333vw;
  }
}
.section-accessories__modal__content .gallery-content__price .gallery-content__no__value, .section-accessories__modal__content .gallery-content__price .gallery-content__price__value {
  color: #000;
  font-size: 1.1458333333vw;
  font-family: var(--font-toyota-semibold);
  font-weight: bolder;
}
@media (max-width: 991px) {
  .section-accessories__modal__content .gallery-content__price .gallery-content__no__value, .section-accessories__modal__content .gallery-content__price .gallery-content__price__value {
    font-size: 3.90625vw;
  }
}
.section-accessories__modal__content .gallery-content hr {
  border: none;
  border-top: 1px solid #cccccc;
  margin: 0.8333333333vw 0;
}
.section-accessories__modal__content .gallery-content__desc {
  color: #222;
  line-height: 1.7;
  font-size: 0.8333333333vw;
}
@media (max-width: 991px) {
  .section-accessories__modal__content .gallery-content__desc {
    font-size: 2.8645833333vw;
  }
}
.section-accessories__modal__content .gallery-content__desc strong {
  font-family: var(--font-toyota-semibold);
}
.section-accessories__modal__content .gallery-content__desc ul {
  padding: 0;
  list-style: disc;
  margin: 0.4166666667vw 0 0.4166666667vw 0;
  color: #3a3a3a;
  padding: 0;
}
@media (max-width: 991px) {
  .section-accessories__modal__content .gallery-content__desc ul {
    margin: 1.0416666667vw 0 1.0416666667vw 0;
  }
}
.section-accessories__modal__content .gallery-content__desc ul li {
  display: flex;
  align-items: baseline;
  margin-bottom: 0.4166666667vw;
  line-height: 1.3;
  color: #3a3a3a;
}
@media (max-width: 991px) {
  .section-accessories__modal__content .gallery-content__desc ul li {
    margin-bottom: 1.0416666667vw;
  }
}
.section-accessories__modal__content .gallery-content__desc ul li:before {
  content: "•";
  display: block;
  color: #3a3a3a;
  margin-right: 0.4166666667vw;
  font-size: 0.8333333333vw;
}
@media (max-width: 991px) {
  .section-accessories__modal__content .gallery-content__desc ul li:before {
    margin-right: 1.0416666667vw;
  }
}
.section-accessories__modal__content .gallery-content__desc .light {
  color: #808080;
  font-weight: normal;
  margin: 0;
}
.section-accessories__modal__content .gallery-content__desc b {
  font-weight: 700;
}
.section-accessories__modal__content .gallery-footer {
  margin-top: auto;
  background: #000000;
  padding: 1.0416666667vw 1.6666666667vw;
}
@media (max-width: 991px) {
  .section-accessories__modal__content .gallery-footer {
    padding: 5.2083333333vw 2.6041666667vw;
  }
}
.section-accessories__modal__content .gallery-footer .gallery-footer__btn {
  display: flex;
  gap: 0.8333333333vw;
  justify-content: space-between;
}
@media (max-width: 991px) {
  .section-accessories__modal__content .gallery-footer .gallery-footer__btn {
    flex-direction: column;
    gap: 3.90625vw;
    justify-content: center;
    align-items: center;
  }
}
.section-accessories__modal__content .gallery-footer .gallery-footer__btn button {
  min-width: 11.4583333333vw;
}

@keyframes fadeInModal {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
body.modal-open {
  overflow: hidden !important;
  height: 100vh;
}

.accessories-form-modal {
  position: fixed;
  inset: 0;
  z-index: 3000;
  display: flex;
  align-items: end;
  justify-content: end;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s;
}
.accessories-form-modal.is-active {
  pointer-events: auto;
  opacity: 1;
  animation: fadeInModal 0.3s;
}
.accessories-form-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
  z-index: 1;
}
.accessories-form-modal__box {
  position: relative;
  z-index: 2;
  background: #fff;
  box-shadow: 0 0.4166666667vw 2.0833333333vw rgba(0, 0, 0, 0.18);
  width: 21.875vw;
  max-width: 95vw;
  padding: 1.6666666667vw 1.6666666667vw 1.25vw 1.6666666667vw;
  display: flex;
  flex-direction: column;
  animation: fadeInModal 0.3s;
}
@media (max-width: 991px) {
  .accessories-form-modal__box {
    width: 95vw;
    padding: 5.2083333333vw 5.2083333333vw;
    margin: 0 auto;
    box-sizing: border-box;
  }
}
.accessories-form-modal__close {
  position: absolute;
  top: 0.8333333333vw;
  right: 0.8333333333vw;
  width: 1.6666666667vw;
  height: 1.6666666667vw;
  cursor: pointer;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 991px) {
  .accessories-form-modal__close {
    top: 2.6041666667vw;
    right: 2.6041666667vw;
    width: 6.5104166667vw;
    height: 6.5104166667vw;
  }
}
.accessories-form-modal__close .icon--close {
  width: 0.9375vw;
  height: 0.9375vw;
  --icon-color: #222;
}
@media (max-width: 991px) {
  .accessories-form-modal__close .icon--close {
    width: 3.90625vw;
    height: 3.90625vw;
  }
}
.accessories-form-modal__close:hover {
  background: #eee;
  border-radius: 50%;
}
.accessories-form-modal__subject {
  font-size: 0.8333333333vw;
  font-weight: 700;
  color: #df101d;
  margin-bottom: 0.2083333333vw;
}
@media (max-width: 991px) {
  .accessories-form-modal__subject {
    font-size: 2.6041666667vw;
  }
}
.accessories-form-modal__subject-label {
  color: #df101d;
  font-size: 0.7291666667vw;
  font-weight: 500;
  display: block;
}
@media (max-width: 991px) {
  .accessories-form-modal__subject-label {
    font-size: 2.8645833333vw;
  }
}
.accessories-form-modal__subject-text {
  color: #111;
  font-size: 0.8333333333vw;
  font-weight: 700;
}
@media (max-width: 991px) {
  .accessories-form-modal__subject-text {
    font-size: 3.90625vw;
  }
}
.accessories-form-modal__desc {
  font-size: 0.8333333333vw;
  color: #222;
  font-weight: 500;
  margin-bottom: 0.625vw;
}
@media (max-width: 991px) {
  .accessories-form-modal__desc {
    font-size: 2.8645833333vw;
    margin-bottom: 2.6041666667vw;
  }
}
.accessories-form-modal__greeting {
  font-size: 0.78125vw;
  color: #222;
  margin-bottom: 0.4166666667vw;
  line-height: 1.6;
}
@media (max-width: 991px) {
  .accessories-form-modal__greeting {
    font-size: 2.8645833333vw;
    margin-bottom: 2.6041666667vw;
  }
}
.accessories-form-modal__img {
  width: 100%;
  height: 13.0208333333vw;
  overflow: hidden;
  margin-bottom: 0.625vw;
}
@media (max-width: 991px) {
  .accessories-form-modal__img {
    height: 35.15625vw;
    flex: 0 0 35.15625vw;
    margin-bottom: 2.6041666667vw;
  }
}
.accessories-form-modal__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.accessories-form-modal__form {
  display: flex;
  flex-direction: column;
  gap: 0.625vw;
}
@media (max-width: 991px) {
  .accessories-form-modal__form {
    gap: 2.6041666667vw;
  }
}
.accessories-form-modal__input {
  width: 100%;
  border: 1px solid #ccc;
  padding: 0.5208333333vw 0.7291666667vw;
  font-size: 0.78125vw;
  color: #222;
  background: #fafafa;
  resize: none;
  transition: border 0.2s;
  box-sizing: border-box;
}
@media (max-width: 991px) {
  .accessories-form-modal__input {
    font-size: 2.8645833333vw;
    padding: 2.6041666667vw 2.6041666667vw;
  }
}
.accessories-form-modal__input:focus {
  border-color: #df101d;
  outline: none;
  background: #fff;
}
.accessories-form-modal__btns {
  display: flex;
  gap: 0.625vw;
  margin-top: 0.4166666667vw;
}
.accessories-form-modal__btns .icon--send {
  width: 1.0416666667vw;
  height: 1.0416666667vw;
}
@media (max-width: 991px) {
  .accessories-form-modal__btns .icon--send {
    width: 3.90625vw;
    height: 3.90625vw;
  }
}
.accessories-form-modal__btns .btn {
  flex: 1 1 0;
  min-width: 0;
}
@media (max-width: 991px) {
  .accessories-form-modal__btns .btn {
    padding: 2.6041666667vw;
  }
}

.contactus-cards {
  display: flex;
  gap: 1.6666666667vw;
  margin: 2.0833333333vw 0 4.1666666667vw 0;
  justify-content: center;
}
@media (max-width: 991px) {
  .contactus-cards {
    flex-direction: column;
    gap: 5.2083333333vw;
    margin: 3.125vw 0 5.2083333333vw 0;
  }
}

.contactus-card {
  background: #f5f5f5;
  border-radius: 0.4166666667vw;
  padding: 3.125vw 2.0833333333vw;
  flex: 1 1 0;
  min-width: 0;
  max-width: 50%;
  box-sizing: border-box;
  font-size: 0.9375vw;
  color: #111;
  box-shadow: 0 0.1041666667vw 0.4166666667vw rgba(0, 0, 0, 0.04);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media (max-width: 991px) {
  .contactus-card {
    max-width: inherit;
    padding: 10.4166666667vw 5.2083333333vw;
    font-size: 3.125vw;
  }
}
.contactus-card__title {
  font-family: var(--font-toyota-semibold);
  font-size: 1.3541666667vw;
  margin-bottom: 0.625vw;
}
@media (max-width: 991px) {
  .contactus-card__title {
    font-size: 5.2083333333vw;
    margin-bottom: 2.6041666667vw;
  }
}
.contactus-card__name {
  font-weight: 600;
  font-family: var(--font-toyota-semibold);
  font-size: 0.9375vw;
  margin-bottom: 0.3125vw;
}
@media (max-width: 991px) {
  .contactus-card__name {
    font-size: 3.125vw;
    margin-bottom: 2.6041666667vw;
  }
}
.contactus-card__desc {
  color: #222;
  font-size: 0.9375vw;
  margin-bottom: 1.1458333333vw;
}
@media (max-width: 991px) {
  .contactus-card__desc {
    font-size: 3.125vw;
    margin-bottom: 2.6041666667vw;
  }
}
.contactus-card__tel {
  margin-bottom: 0.4166666667vw;
  color: #222;
}
@media (max-width: 991px) {
  .contactus-card__tel {
    font-size: 3.125vw;
    margin-bottom: 2.6041666667vw;
  }
}
.contactus-card__email {
  color: #222;
  display: flex;
  align-items: center;
}
@media (max-width: 991px) {
  .contactus-card__email {
    font-size: 3.125vw;
    margin-bottom: 2.6041666667vw;
  }
}
.contactus-card__email a {
  color: #df101d;
  text-decoration: underline;
  font-weight: 500;
  transition: color 0.2s;
  display: flex;
  align-items: center;
  margin-left: 0.2604166667vw;
}
.contactus-card__email a:hover {
  color: #b40511;
}
.contactus-card__email a .contactus-card__email-arrow {
  font-size: 1.1em;
  margin-left: 0.2em;
  vertical-align: middle;
}
.contactus-card__email .icon {
  background-color: #df101d;
  width: 0.8333333333vw;
  height: 0.8333333333vw;
  border-radius: 50%;
  display: inline-block;
  margin-top: 0.2604166667vw;
  margin-left: 0.2083333333vw;
}
@media (max-width: 991px) {
  .contactus-card__email .icon {
    width: 2.6041666667vw;
    height: 2.6041666667vw;
    margin-top: 0.9114583333vw;
    margin-left: 0.5208333333vw;
  }
}
.contactus-card.contactus-card--highlight {
  background: #fff;
  border: 1.5px solid #618bc7;
  box-shadow: 0 0.1041666667vw 0.4166666667vw rgba(97, 139, 199, 0.08);
}

.section-contactus {
  padding: 4.1666666667vw 0;
}

.section-brochure {
  padding: 4.1666666667vw 0;
}
@media (max-width: 991px) {
  .section-brochure {
    padding: 5.2083333333vw 0;
  }
}

.brochure-cards {
  display: flex;
  background: #f5f5f5;
  overflow: hidden;
  margin: 2.0833333333vw 0;
  text-align: center;
}
@media (max-width: 991px) {
  .brochure-cards {
    flex-direction: column;
    margin: 2.6041666667vw 0;
  }
}
.brochure-cards__left {
  flex: 1.2;
  padding: 2.5vw 2.0833333333vw;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media (max-width: 991px) {
  .brochure-cards__left {
    padding: 4.1666666667vw 2.0833333333vw;
  }
}
.brochure-cards__right {
  flex: 1.1;
  position: relative;
  min-width: 0;
  background: #fff;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}
@media (max-width: 991px) {
  .brochure-cards__right {
    min-height: 23.4375vw;
  }
}
.brochure-cards__img-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 16.6666666667vw;
}
@media (max-width: 991px) {
  .brochure-cards__img-wrapper {
    min-height: 23.4375vw;
  }
}
.brochure-cards__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.brochure-cards__logo {
  position: absolute;
  top: 0.9375vw;
  right: 0.9375vw;
  width: 2.0833333333vw;
  height: auto;
}
@media (max-width: 991px) {
  .brochure-cards__logo {
    width: 3.6458333333vw;
    top: 1.0416666667vw;
    right: 1.0416666667vw;
  }
}
.brochure-cards__label {
  color: #888;
  font-size: 0.8333333333vw;
  letter-spacing: 0.08em;
  margin-bottom: 0.4166666667vw;
  text-transform: uppercase;
}
@media (max-width: 991px) {
  .brochure-cards__label {
    font-size: 1.5625vw;
  }
}
.brochure-cards__title {
  font-size: 1.6666666667vw;
  font-family: var(--font-toyota-bold);
  margin-bottom: 1.6666666667vw;
}
@media (max-width: 991px) {
  .brochure-cards__title {
    font-size: 2.8645833333vw;
    margin-bottom: 2.34375vw;
  }
}
.brochure-cards__downloads {
  display: flex;
  gap: 1.25vw;
}
@media (max-width: 991px) {
  .brochure-cards__downloads {
    flex-direction: column;
    gap: 1.5625vw;
  }
}

.brochure-download-card {
  background: #fff;
  box-shadow: 0 0.1041666667vw 0.4166666667vw rgba(0, 0, 0, 0.04);
  padding: 1.6666666667vw 1.25vw 1.25vw 1.25vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 9.375vw;
  flex: 1 1 0;
}
@media (max-width: 991px) {
  .brochure-download-card {
    min-width: 0;
    padding: 2.34375vw 1.3020833333vw 1.8229166667vw 1.3020833333vw;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 1.3020833333vw;
  }
}
.brochure-download-card__icon {
  margin-bottom: 0.9375vw;
}
.brochure-download-card__icon img {
  width: 2.6041666667vw;
  height: auto;
  display: block;
}
@media (max-width: 991px) {
  .brochure-download-card__icon img {
    width: 9.1145833333vw;
  }
}
.brochure-download-card__name {
  font-size: 1.0416666667vw;
  font-family: var(--font-toyota-semibold);
  margin-bottom: 0.3125vw;
  text-align: center;
}
@media (max-width: 991px) {
  .brochure-download-card__name {
    font-size: 3.3854166667vw;
    margin-bottom: 1.3020833333vw;
  }
}
.brochure-download-card__size {
  color: #888;
  font-size: 0.7291666667vw;
  margin-bottom: 0.9375vw;
}
@media (max-width: 991px) {
  .brochure-download-card__size {
    font-size: 2.6041666667vw;
    margin-bottom: 2.6041666667vw;
  }
}
@media (max-width: 991px) {
  .brochure-download-card__content {
    text-align: left;
    margin-left: 2.6041666667vw;
  }
}
@media (max-width: 991px) {
  .brochure-download-card__title {
    text-align: left;
    margin-left: 2.6041666667vw;
  }
}
@media (max-width: 991px) {
  .brochure-download-card__btn {
    margin-left: auto;
  }
}
@media (max-width: 991px) {
  .brochure-download-card--link .brochure-download-card__content {
    margin-left: auto;
    width: 28.6458333333vw;
  }
}
.brochure-download-card--link .brochure-download-card__desc {
  color: #888;
  font-size: 0.8333333333vw;
  margin-top: auto;
  text-align: center;
}
@media (max-width: 991px) {
  .brochure-download-card--link .brochure-download-card__desc {
    font-size: 2.6041666667vw;
  }
}
.brochure-download-card--link .brochure-download-card__desc .brochure-download-card__link {
  color: #df101d;
  text-decoration: underline;
  font-weight: 500;
  display: block;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.2083333333vw;
}
@media (max-width: 991px) {
  .brochure-download-card--link .brochure-download-card__desc .brochure-download-card__link {
    font-size: 2.6041666667vw;
  }
}
.brochure-download-card--link .brochure-download-card__desc .brochure-download-card__link .icon {
  width: 0.8333333333vw;
  height: 0.8333333333vw;
  --icon-color: #df101d;
  margin-top: 0.15625vw;
}
@media (max-width: 991px) {
  .brochure-download-card--link .brochure-download-card__desc .brochure-download-card__link .icon {
    width: 2.0833333333vw;
    height: 2.0833333333vw;
    margin-top: 0.2604166667vw;
  }
}
.brochure-download-card--link .brochure-download-card__desc .brochure-download-card__link:hover {
  color: #b40511;
}

.js-minisite-nav.is-sticky {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
}

.js-sub-nav.is-sticky {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
}

/*# sourceMappingURL=styles.css.map */
