/* Box sizing rules */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Prevent font size inflation */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  -ms-text-size-adjust: none;
      text-size-adjust: none;
  scroll-behavior: smooth;
}

/* Remove default margin in favour of better control in authored CSS */
body, h1, h2, h3, h4, p,
figure, blockquote, dl, dd {
  -webkit-margin-after: 0;
          margin-block-end: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role=list],
ol[role=list] {
  list-style: none;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  line-height: 1.5;
}

/* Set shorter line heights on headings and interactive elements */
h1, h2, h3, h4,
button, input, label {
  line-height: 1.1;
}

/* Balance text wrapping on headings */
h1, h2,
h3, h4 {
  text-wrap: balance;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
  color: currentColor;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
  height: auto;
}

/* Inherit fonts for inputs and buttons */
input, button,
textarea, select {
  font-family: inherit;
  font-size: inherit;
}

/* Make sure textareas without a rows attribute are not tiny */
textarea:not([rows]) {
  min-height: 10em;
}

/* Anything that has been anchored to should have extra scroll margin */
:target {
  scroll-margin-block: 5ex;
}

:root {
  --color-primary: #C60D31;
  --color-black-900: #000000;
  --color-gray-100: #F2F2F2;
  --color-gray-200: #CCCCCC;
  --color-gray-300: #AFAFAF;
  --color-gray-400: #989898;
  --color-gray-500: #777777;
  --color-background: var(--color-gray-100);
  --color-text: var(--color-black-900);
  --border-rounded-full: calc(1px / 0);
  --z-index-highest: calc(infinity);
  --z-index-header: 10000;
  --header-height: calc((160.3053435115 / 900) * 100vw);
}
@media screen and (min-width: 900px) {
  :root {
    --header-height: 70px;
  }
}

*[data-isolate=true] {
  isolation: isolate;
}
*[data-visible=pc] {
  display: none;
}
@media screen and (min-width: 900px) {
  *[data-visible=pc] {
    display: block;
  }
}
*[data-visible=sp] {
  display: block;
}
@media screen and (min-width: 900px) {
  *[data-visible=sp] {
    display: none;
  }
}
*[data-hidden=pc] {
  display: block;
}
@media screen and (min-width: 900px) {
  *[data-hidden=pc] {
    display: none;
  }
}
*[data-hidden=sp] {
  display: none;
}
@media screen and (min-width: 900px) {
  *[data-hidden=sp] {
    display: block;
  }
}
*[data-position=relative] {
  position: relative;
}
*[data-position=absolute] {
  position: absolute;
}
*[data-position=fixed] {
  position: fixed;
}
*[data-position=static] {
  position: static;
}
*[data-position=sticky] {
  position: -webkit-sticky;
  position: sticky;
}
*[data-font=Satoshi] {
  font-family: "Satoshi", sans-serif;
}
*[data-font=roboto] {
  font-family: "Roboto";
  font-optical-sizing: auto;
  font-style: normal;
}
*[data-weight=bold] {
  font-weight: 700;
}
*[data-text=left] {
  text-align: left;
}
*[data-text=right] {
  text-align: right;
}
*[data-text=center] {
  text-align: center;
}

body {
  -webkit-text-size-adjust: 100%;
  background-color: var(--color-background);
  color: var(--color-text);
  font-family: "Satoshi", sans-serif;
  font-size: calc((36.641221374 / 900) * 100vw);
  font-weight: 400;
}
@media screen and (min-width: 900px) {
  body {
    font-size: 16px;
  }
}

textarea {
  resize: vertical;
}

input, select, textarea {
  max-width: 100%;
  width: 100%;
  padding-block: calc((34.3511450382 / 900) * 100vw);
  padding-inline: calc((18.320610687 / 900) * 100vw);
  font-size: clamp(16px, calc((36.641221374 / 900) * 100vw), calc((36.641221374 / 900) * 100vw));
  -webkit-appearance: none;
  border: none;
  background-color: white;
  border-radius: calc((9.1603053435 / 900) * 100vw);
  outline: solid 1px var(--color-black-900);
}
input:focus, select:focus, textarea:focus {
  outline: solid 1px var(--color-black-900);
}
@media screen and (min-width: 900px) {
  input, select, textarea {
    padding-block: 15px;
    padding-inline: 12px;
    font-size: 16px;
    border-radius: 4px;
  }
}

.wrapper {
  width: 100%;
  padding-inline: calc((38.9312977099 / 900) * 100vw);
}
@media screen and (min-width: 900px) {
  .wrapper {
    padding-inline: 20px;
  }
}

.container {
  width: 100%;
  margin-inline: auto;
}
.container[data-width="1440"] {
  max-width: 1440px;
}
.container[data-width="1360"] {
  max-width: 1360px;
}
.container[data-width="1100"] {
  max-width: 1100px;
}
.container[data-width="800"] {
  max-width: 800px;
}

.header {
  top: 0;
  left: 0;
  z-index: var(--z-index-header);
  height: var(--header-height);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: transparent;
  border-top: solid calc((6.8702290076 / 900) * 100vw) var(--color-primary);
}
@media screen and (min-width: 900px) {
  .header {
    border-top: none;
    background-color: rgba(242, 242, 242, 0.8);
  }
}
.header .header__container {
  position: relative;
  display: block flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
}
.header .header__list {
  display: block flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  gap: 132px;
}
.header .header__list a {
  font-size: 14px;
  text-decoration: none;
  letter-spacing: 0.03em;
  font-weight: 500;
  color: var(--color-text);
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}
.header .header__list a:hover {
  color: var(--color-primary);
}
.header .header__btn {
  position: absolute;
  inset-block-start: 0;
  inset-inline-end: 0;
  display: block grid;
  place-content: center;
  max-width: 138px;
  width: 100%;
  height: var(--header-height);
  font-weight: 700;
  background-color: var(--color-primary);
  color: white;
  text-decoration: none;
  opacity: 1;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.header .header__btn:hover {
  opacity: 0.8;
}
.header .header__spcontainer {
  display: block flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
  -webkit-justify-content: end;
      -ms-flex-pack: end;
          justify-content: end;
  width: 97%;
  height: 100%;
}
.header .header__spbtn {
  display: block grid;
  place-content: center;
  width: calc((114.5038167939 / 900) * 100vw);
  height: calc((114.5038167939 / 900) * 100vw);
  background-color: white;
  border-radius: var(--border-rounded-full);
  border: none;
  -webkit-transition: all 0.15s linear;
  transition: all 0.15s linear;
}
.header .header__spbtn .header__spbtn-container {
  position: relative;
  display: block;
  width: calc((50.3816793893 / 900) * 100vw);
  height: calc((4.5801526718 / 900) * 100vw);
}
.header .header__spbtn .header__spbtn-container > span:nth-child(1) {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  background-color: var(--color-black-900);
  -webkit-transition: all 0.15s linear;
  transition: all 0.15s linear;
}
.header .header__spbtn .header__spbtn-container > span:nth-child(2) {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  background-color: var(--color-black-900);
  -webkit-transition: all 0.15s linear;
  transition: all 0.15s linear;
  -webkit-transform: translateY(calc((-18.320610687 / 900) * 100vw)) rotate(0deg);
          transform: translateY(calc((-18.320610687 / 900) * 100vw)) rotate(0deg);
}
.header .header__spbtn .header__spbtn-container > span:nth-child(3) {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  background-color: var(--color-black-900);
  -webkit-transition: all 0.15s linear;
  transition: all 0.15s linear;
  -webkit-transform: translateY(calc((18.320610687 / 900) * 100vw)) rotate(0deg);
          transform: translateY(calc((18.320610687 / 900) * 100vw)) rotate(0deg);
}

body.is-spmenuActive .header .header__spbtn {
  background-color: transparent;
}
body.is-spmenuActive .header .header__spbtn .header__spbtn-container > span:nth-child(1) {
  opacity: 0;
}
body.is-spmenuActive .header .header__spbtn .header__spbtn-container > span:nth-child(2) {
  -webkit-transform: translateY(0) rotate(45deg);
          transform: translateY(0) rotate(45deg);
}
body.is-spmenuActive .header .header__spbtn .header__spbtn-container > span:nth-child(3) {
  -webkit-transform: translateY(0) rotate(-45deg);
          transform: translateY(0) rotate(-45deg);
}

.footer {
  --z-index: 1;
}
.footer .footer__container {
  padding-block: calc((40.0763358779 / 900) * 100vw) calc((73.2824427481 / 900) * 100vw);
  background-color: var(--color-black-900);
}
@media screen and (min-width: 900px) {
  .footer .footer__container {
    padding-block: 66px 32px;
  }
}
.footer .footer__inner {
  max-width: 1200px;
  width: 100%;
  position: relative;
  margin-inline: auto;
}
.footer .footer__totop {
  display: inline-block;
  width: calc((137.4045801527 / 900) * 100vw);
  height: calc((137.4045801527 / 900) * 100vw);
  position: absolute;
  right: 0;
  top: calc((-114.5038167939 / 900) * 100vw);
  margin: auto;
  z-index: calc(var(--z-index) + 1);
}
.footer .footer__totop img {
  width: 100%;
}
@media screen and (min-width: 900px) {
  .footer .footer__totop {
    width: 60px;
    height: 60px;
    top: -106px;
  }
}
.footer .footer__link {
  list-style: none;
  display: block flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0;
  -webkit-margin-after: 0;
          margin-block-end: 0;
  border-top: solid 1px white;
}
@media screen and (min-width: 900px) {
  .footer .footer__link {
    display: block flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 100px;
    -webkit-margin-after: 60px;
            margin-block-end: 60px;
    border-top: none;
  }
}
.footer .footer__link .footer__link-item {
  display: block flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: calc((13.7404580153 / 900) * 100vw);
  width: 100%;
  padding-block: calc((33.6641221374 / 900) * 100vw);
  border-bottom: solid 1px white;
}
.footer .footer__link .footer__link-item::before {
  content: "";
  display: block;
  width: calc((29.7709923664 / 900) * 100vw);
  height: calc((4.5801526718 / 900) * 100vw);
  background-color: var(--color-gray-400);
  border-bottom: none;
}
@media screen and (min-width: 900px) {
  .footer .footer__link .footer__link-item {
    display: block;
    width: auto;
    padding-block: 0;
    border: none;
  }
  .footer .footer__link .footer__link-item::before {
    content: "";
    display: none;
  }
}
.footer .footer__link .footer__link-item a {
  color: white;
  font-size: calc((32.0610687023 / 900) * 100vw);
  font-weight: 700;
  text-decoration: none;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}
.footer .footer__link .footer__link-item a:hover {
  color: var(--color-primary);
}
.footer .footer__link .footer__link-item a:hover[target=_blank]::after {
  background-image: url('data:image/svg+xml;utf8,<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.6715 0.691406H2.57559C2.45956 0.691406 2.34828 0.7375 2.26624 0.819547C2.18419 0.901594 2.13809 1.01287 2.13809 1.12891C2.13809 1.24494 2.18419 1.35622 2.26624 1.43827C2.34828 1.52031 2.45956 1.56641 2.57559 1.56641H9.81359L0.836532 10.5439C0.793136 10.5838 0.758264 10.6321 0.734012 10.6859C0.70976 10.7397 0.696628 10.7978 0.695406 10.8568C0.694185 10.9157 0.704898 10.9743 0.726903 11.029C0.748907 11.0838 0.781749 11.1335 0.823453 11.1752C0.865158 11.2169 0.914864 11.2497 0.969584 11.2717C1.0243 11.2937 1.08291 11.3044 1.14187 11.3032C1.20084 11.302 1.25895 11.2889 1.31271 11.2646C1.36648 11.2404 1.41478 11.2055 1.45472 11.1621L10.4322 2.18459V9.42303C10.4322 9.53906 10.4783 9.65034 10.5604 9.73239C10.6424 9.81444 10.7537 9.86053 10.8697 9.86053C10.9858 9.86053 11.097 9.81444 11.1791 9.73239C11.2611 9.65034 11.3072 9.53906 11.3072 9.42303V1.32753C11.307 1.15897 11.24 0.997367 11.1208 0.878133C11.0016 0.758899 10.8401 0.691753 10.6715 0.691406Z" fill="%23C60D31"/></svg>');
}
.footer .footer__link .footer__link-item a[target=_blank]::after {
  display: inline-block;
  content: "";
  background-image: url('data:image/svg+xml;utf8,<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.6715 0.691406H2.57559C2.45956 0.691406 2.34828 0.7375 2.26624 0.819547C2.18419 0.901594 2.13809 1.01287 2.13809 1.12891C2.13809 1.24494 2.18419 1.35622 2.26624 1.43827C2.34828 1.52031 2.45956 1.56641 2.57559 1.56641H9.81359L0.836532 10.5439C0.793136 10.5838 0.758264 10.6321 0.734012 10.6859C0.70976 10.7397 0.696628 10.7978 0.695406 10.8568C0.694185 10.9157 0.704898 10.9743 0.726903 11.029C0.748907 11.0838 0.781749 11.1335 0.823453 11.1752C0.865158 11.2169 0.914864 11.2497 0.969584 11.2717C1.0243 11.2937 1.08291 11.3044 1.14187 11.3032C1.20084 11.302 1.25895 11.2889 1.31271 11.2646C1.36648 11.2404 1.41478 11.2055 1.45472 11.1621L10.4322 2.18459V9.42303C10.4322 9.53906 10.4783 9.65034 10.5604 9.73239C10.6424 9.81444 10.7537 9.86053 10.8697 9.86053C10.9858 9.86053 11.097 9.81444 11.1791 9.73239C11.2611 9.65034 11.3072 9.53906 11.3072 9.42303V1.32753C11.307 1.15897 11.24 0.997367 11.1208 0.878133C11.0016 0.758899 10.8401 0.691753 10.6715 0.691406Z" fill="white"/></svg>');
  width: calc((27.4809160305 / 900) * 100vw);
  height: calc((27.4809160305 / 900) * 100vw);
  -webkit-margin-start: calc((9.1603053435 / 900) * 100vw);
          margin-inline-start: calc((9.1603053435 / 900) * 100vw);
  background-size: contain;
  background-repeat: no-repeat;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  vertical-align: -0.15em;
}
@media screen and (min-width: 900px) {
  .footer .footer__link .footer__link-item a[target=_blank]::after {
    width: 12px;
    height: 12px;
    -webkit-margin-start: 4px;
            margin-inline-start: 4px;
    vertical-align: -0.07em;
  }
}
@media screen and (min-width: 900px) {
  .footer .footer__link .footer__link-item a {
    font-size: 15px;
  }
}
.footer .footer__list {
  position: relative;
  list-style: none;
  display: block flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding-block: calc((41.2213740458 / 900) * 100vw);
  gap: calc((41.2213740458 / 900) * 100vw);
}
@media screen and (min-width: 900px) {
  .footer .footer__list {
    padding-block: 18px;
    gap: 30px;
    -webkit-margin-after: 34px;
            margin-block-end: 34px;
    border-top: solid 1px white;
    border-bottom: solid 1px white;
  }
}
.footer .footer__list .footer__list-item a {
  color: white;
  font-size: calc((26.5648854962 / 900) * 100vw);
  text-decoration: none;
  letter-spacing: 0.05em;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}
.footer .footer__list .footer__list-item a:hover {
  color: var(--color-primary);
}
@media screen and (min-width: 900px) {
  .footer .footer__list .footer__list-item a {
    font-size: 12px;
  }
}
.footer .footer__copyright {
  position: relative;
  color: white;
  font-size: calc((27.4809160305 / 900) * 100vw);
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.05em;
  -webkit-padding-before: calc((73.2824427481 / 900) * 100vw);
          padding-block-start: calc((73.2824427481 / 900) * 100vw);
}
.footer .footer__copyright::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: white;
}
@media screen and (min-width: 900px) {
  .footer .footer__copyright::before {
    display: none;
  }
}
@media screen and (min-width: 900px) {
  .footer .footer__copyright {
    font-size: 12px;
    -webkit-padding-before: 0;
            padding-block-start: 0;
  }
}

.separator {
  --z-index: 0;
}
.separator::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: var(--color-black-900);
  z-index: calc(var(--z-index) + 1);
}

.spmenu {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: calc(var(--z-index-header) - 1);
  width: 100%;
  height: 100svh;
  background-color: var(--color-background);
}
@media screen and (min-width: 900px) {
  .spmenu {
    display: none;
  }
}
.spmenu .spmenu__list {
  -webkit-margin-before: var(--header-height);
          margin-block-start: var(--header-height);
  border-top: solid 1px var(--color-black-900);
  list-style: none;
}
.spmenu .spmenu__list .spmenu__list-item {
  display: block flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding-block: calc((59.5419847328 / 900) * 100vw);
  border-bottom: solid 1px var(--color-gray-300);
}
.spmenu .spmenu__list .spmenu__list-item:last-child {
  border-bottom: none;
}
.spmenu .spmenu__list .spmenu__list-item::before {
  content: "";
  display: block;
  width: calc((29.7709923664 / 900) * 100vw);
  height: calc((4.5801526718 / 900) * 100vw);
  -webkit-margin-end: calc((36.641221374 / 900) * 100vw);
          margin-inline-end: calc((36.641221374 / 900) * 100vw);
  background-color: var(--color-gray-400);
}
.spmenu .spmenu__list .spmenu__list-item a {
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  color: var(--color-black-900);
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}
.spmenu .spmenu__list .spmenu__list-item a:hover {
  color: var(--color-primary);
}

.breadcrumbs {
  padding-block: calc((36.641221374 / 900) * 100vw);
  border-top: solid 1px var(--color-black-900);
}
@media screen and (min-width: 900px) {
  .breadcrumbs {
    padding-block: 16px;
  }
}
.breadcrumbs .breadcrumbs__list {
  --list-gap: calc((13.7404580153 / 900) * 100vw);
  list-style: none;
  display: block flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: var(--list-gap);
}
@media screen and (min-width: 900px) {
  .breadcrumbs .breadcrumbs__list {
    --list-gap: 6px;
  }
}
.breadcrumbs .breadcrumbs__item {
  display: block flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: var(--list-gap);
  color: var(--color-gray-400);
  font-size: calc((27.4809160305 / 900) * 100vw);
}
@media screen and (min-width: 900px) {
  .breadcrumbs .breadcrumbs__item {
    gap: 6px;
    font-size: 12px;
  }
}
.breadcrumbs .breadcrumbs__item::after {
  content: "";
  display: block;
  width: calc((13.7404580153 / 900) * 100vw);
  height: calc((4.5801526718 / 900) * 100vw);
  background-color: var(--color-gray-400);
}
@media screen and (min-width: 900px) {
  .breadcrumbs .breadcrumbs__item::after {
    width: 6px;
    height: 2px;
  }
}
.breadcrumbs .breadcrumbs__item:last-child::after {
  display: none;
}
.breadcrumbs .breadcrumbs__item a {
  color: var(--color-text);
  text-decoration: none;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}
.breadcrumbs .breadcrumbs__item a:hover {
  color: var(--color-primary);
}

.body-fit {
  display: grid;
  grid-template-rows: auto 1fr auto;
  grid-template-columns: 100%;
  min-height: 100vh;
}

.heading {
  display: block grid;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 0;
}
@media screen and (min-width: 900px) {
  .heading {
    gap: 20px;
  }
}
.heading .heading__main {
  font-size: calc((87.0229007634 / 900) * 100vw);
  font-weight: 900;
  letter-spacing: 0.02em;
  line-height: calc((151.1450381679 / 900) * 100vw);
}
@media screen and (min-width: 900px) {
  .heading .heading__main {
    font-size: 64px;
    line-height: 76px;
  }
}
.heading .heading__sub {
  font-size: calc((36.641221374 / 900) * 100vw);
  font-weight: 700;
  color: var(--color-primary);
  line-height: calc((22.9007633588 / 900) * 100vw);
  letter-spacing: 0.05em;
}
.heading .heading__sub[data-color=gray] {
  color: var(--color-gray-500);
}
@media screen and (min-width: 900px) {
  .heading .heading__sub {
    font-size: 20px;
    line-height: 11px;
  }
}

.button {
  --z-index: 1;
  position: relative;
  display: inline-grid;
  place-content: center;
  color: white;
  background-color: var(--color-primary);
  border-radius: var(--border-rounded-full);
  border: solid 1px var(--color-primary);
  min-height: calc((128.2442748092 / 900) * 100vw);
  padding-block: calc((27.4809160305 / 900) * 100vw);
  padding-inline: calc((141.9847328244 / 900) * 100vw);
  text-decoration: none;
  letter-spacing: 0.02em;
  font-weight: 700;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  cursor: pointer;
}
@media screen and (min-width: 900px) {
  .button {
    min-height: 60px;
    padding-block: 17px;
    padding-inline: 80px;
  }
}
.button:hover {
  color: var(--color-primary);
  border: solid 1px var(--color-primary);
  background-color: white;
}
.button:hover::before {
  background-color: white;
}
.button:hover::after {
  background-color: var(--color-primary);
}
.button::before {
  --size: calc((11.4503816794 / 900) * 100vw);
  position: absolute;
  display: block;
  content: "";
  top: 0;
  bottom: 0;
  right: calc((41.2213740458 / 900) * 100vw);
  margin: auto;
  width: var(--size);
  height: calc(var(--size) / 2 * 1.7320508076);
  -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
          clip-path: polygon(0 0, 100% 50%, 0 100%);
  background-color: var(--color-primary);
  z-index: calc(var(--z-index) + 1);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (min-width: 900px) {
  .button::before {
    --size: 6px;
    right: 20px;
  }
}
.button::after {
  position: absolute;
  display: block;
  content: "";
  top: 0;
  bottom: 0;
  right: calc((32.0610687023 / 900) * 100vw);
  margin: auto;
  width: calc((32.0610687023 / 900) * 100vw);
  height: calc((32.0610687023 / 900) * 100vw);
  background-color: white;
  border-radius: calc((229.0076335878 / 900) * 100vw);
  z-index: var(--z-index);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (min-width: 900px) {
  .button::after {
    right: 14px;
    width: 20px;
    height: 20px;
    border-radius: 100px;
  }
}
.button[data-color=white] {
  color: var(--color-black-900);
  background-color: white;
  border: solid 1px var(--color-black-900);
}
.button[data-color=white]:hover {
  color: white;
  border: solid 1px white;
  background-color: var(--color-black-900);
}
.button[data-color=white]:hover::before {
  background-color: var(--color-black-900);
}
.button[data-color=white]:hover::after {
  background-color: white;
}
.button[data-color=white]::before {
  background-color: white;
}
.button[data-color=white]::after {
  background-color: var(--color-black-900);
}

.form .form__list {
  display: block grid;
  gap: calc((54.9618320611 / 900) * 100vw);
  -webkit-margin-after: calc((73.2824427481 / 900) * 100vw);
          margin-block-end: calc((73.2824427481 / 900) * 100vw);
}
@media screen and (min-width: 900px) {
  .form .form__list {
    gap: 18px;
    -webkit-margin-after: 32px;
            margin-block-end: 32px;
  }
}
.form .form__item {
  display: block grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: calc((29.7709923664 / 900) * 100vw);
  width: 100%;
}
@media screen and (min-width: 900px) {
  .form .form__item {
    gap: 8px;
    grid-template-columns: 180px 1fr;
  }
}
.form .form__item .form__item-label {
  font-size: calc((32.0610687023 / 900) * 100vw);
  font-weight: 700;
  line-height: 1;
}
@media screen and (min-width: 900px) {
  .form .form__item .form__item-label {
    font-size: 14px;
    line-height: 27px;
  }
}
.form .form__item .form__item-select {
  position: relative;
}
.form .form__item .form__item-select::before {
  position: absolute;
  top: 0px;
  right: 0px;
  bottom: 0px;
  width: calc((100.7633587786 / 900) * 100vw);
  content: "";
  background-color: var(--color-gray-200);
  border-radius: calc((9.1603053435 / 900) * 100vw);
}
@media screen and (min-width: 900px) {
  .form .form__item .form__item-select::before {
    width: 44px;
    border-radius: 4px;
  }
}
.form .form__item .form__item-select::after {
  --size: calc((32.0610687023 / 900) * 100vw);
  position: absolute;
  display: block;
  content: "";
  top: 0;
  bottom: 0;
  right: calc((32.0610687023 / 900) * 100vw);
  margin: auto;
  width: var(--size);
  height: calc(var(--size) / 2.2 * 1.7320508076);
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
          clip-path: polygon(0 0, 100% 0, 50% 100%);
  background-color: var(--color-black-900);
  z-index: calc(var(--z-index) + 1);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (min-width: 900px) {
  .form .form__item .form__item-select::after {
    --size: 14px;
    right: 14px;
  }
}
.form .form__flex {
  display: block flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: calc((22.9007633588 / 900) * 100vw);
}
@media screen and (min-width: 900px) {
  .form .form__flex {
    gap: 24px;
  }
}
.form .form__button {
  max-width: calc((1007.6335877863 / 900) * 100vw);
  width: 100%;
  gap: calc((13.7404580153 / 900) * 100vw);
  padding-block: calc((34.3511450382 / 900) * 100vw);
}
@media screen and (min-width: 900px) {
  .form .form__button {
    gap: 6px;
    padding-block: 17px;
    max-width: 440px;
  }
}
.form .form__button > span {
  font-size: calc((27.4809160305 / 900) * 100vw);
}
@media screen and (min-width: 900px) {
  .form .form__button > span {
    font-size: 12px;
  }
}