@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
@font-face {
  font-family: "Inter";
  src: url(../fonts/Inter-Regular.ttf);
}
@font-face {
  font-family: "Inter Bold";
  src: url(../fonts/Inter-Bold.ttf);
}
/*! destyle.css v4.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.min.css */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

body {
  margin: 0;
}

main {
  display: block;
}

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

dt {
  font-weight: 700;
}

dd {
  margin-left: 0;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

pre {
  font-family: monospace, monospace;
  font-size: inherit;
}

address {
  font-style: inherit;
}

a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

abbr[title] {
  text-decoration: underline dotted;
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: inherit;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit;
}

button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
  cursor: default;
}

:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

option {
  padding: 0;
}

fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

[type=number] {
  -moz-appearance: textfield;
}

label[for] {
  cursor: pointer;
}

details {
  display: block;
}

summary {
  display: list-item;
}

[contenteditable]:focus {
  outline: auto;
}

table {
  border-color: inherit;
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: 700;
}

:root {
  --color-base-white: #ffffff;
  --color-base-black: #000000;
  --color-gray-25: #fcfcfd;
  --color-gray-50: #f9fafb;
  --color-gray-100: #f2f4f7;
  --color-gray-200: #eaecf0;
  --color-gray-300: #d0d5dd;
  --color-gray-400: #98a2b3;
  --color-gray-500: #667085;
  --color-gray-600: #475467;
  --color-gray-700: #344054;
  --color-gray-800: #1d2939;
  --color-gray-900: #101828;
  --color-primary-25: #f8f6ff;
  --color-primary-50: #f6f4ff;
  --color-primary-100: #ebe7ff;
  --color-primary-200: #dbd5f5;
  --color-primary-300: #bcaff3;
  --color-primary-400: #9c8bf5;
  --color-primary-500: #7963f0;
  --color-primary-600: #6a50f4;
  --color-primary-700: #5539e9;
  --color-primary-800: #482cdb;
  --color-primary-900: #371dc1;
  --color-blueDark-25: #f5f8ff;
  --color-blueDark-50: #eff4ff;
  --color-blueDark-100: #d1e0ff;
  --color-blueDark-200: #b2ccff;
  --color-blueDark-300: #84adff;
  --color-blueDark-400: #528bff;
  --color-blueDark-500: #2970ff;
  --color-blueDark-600: #155eef;
  --color-blueDark-700: #004eeb;
  --color-blueDark-800: #0040c1;
  --color-blueDark-900: #00359e;
  --spacing-1: 0.25rem;
  --spacing-2: 0.5rem;
  --spacing-3: 0.75rem;
  --spacing-4: 1rem;
  --spacing-5: 1.25rem;
  --spacing-6: 1.5rem;
  --spacing-8: 2rem;
  --spacing-10: 2.5rem;
  --spacing-12: 3rem;
  --spacing-16: 4rem;
  --spacing-20: 5rem;
  --spacing-24: 6rem;
  --spacing-32: 8rem;
  --spacing-40: 10rem;
  --spacing-48: 12rem;
  --spacing-56: 14rem;
  --spacing-64: 16rem;
  --border-radius-1: 4px;
  --border-radius-2: 8px;
  --border-radius-3: 12px;
}

/*
  ***** Default values *****
*/
html {
  font-size: 16px;
  font-family: -apple-system, blinkmacsystemfont, "Segoe UI", roboto, "Helvetica Neue", arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  color: black;
}

/*
  ***** Misc *****
*/
.pointer {
  cursor: pointer;
}

/*
  ***** Responsive *****
*/
@media (max-width: 768px) {
  .hide-mobile {
    display: none !important;
  }
}

@media (min-width: 769px) {
  .hide-desktop {
    display: none !important;
  }
}

/*
  ***** Typography *****
*/
.h1 {
  font-weight: 700;
  font-size: 28px;
  line-height: 40px;
}

.h2 {
  font-weight: 700;
  font-size: 22px;
  line-height: 30px;
}

.h3 {
  font-weight: 700;
  font-size: 18px;
  line-height: 26px;
}

.h4 {
  font-weight: 700;
  font-size: 16px;
  line-height: 24px;
}

.body-regular {
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
}

.body-medium {
  font-weight: 500;
  font-size: 16px;
  line-height: 24px;
}

.body-bold {
  font-weight: 700;
  font-size: 16px;
  line-height: 24px;
}

.body-regular-underline {
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  text-decoration-line: underline;
}

.body-regular-strikethrough {
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  text-decoration-line: line-through;
}

.body-code {
  font-family: "Roboto Mono";
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
}

/*
  ***** Flex *****
*/
.flex {
  display: flex;
}

.flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

.wrap {
  flex-wrap: wrap;
}

.align-center {
  align-items: center;
}

.align-end {
  align-items: flex-end;
}

.justify-center {
  justify-content: center;
}

.justify-between {
  justify-content: space-between;
}

.justify-around {
  justify-content: space-around;
}

.justify-end {
  justify-content: flex-end;
}

.column {
  flex-direction: column;
}

/*
  ***** Debugging *****
*/
.red {
  border: 1px solid red;
}

.blue {
  border: 1px solid blue;
}

.green {
  border: 1px solid green;
}

/*
  ***** Spacing *****
*/
.m-1 {
  margin: var(--spacing-1);
}

.mt-1 {
  margin-top: var(--spacing-1);
}

.mr-1 {
  margin-right: var(--spacing-1);
}

.mb-1 {
  margin-bottom: var(--spacing-1);
}

.ml-1 {
  margin-left: var(--spacing-1);
}

.mx-1 {
  margin-right: var(--spacing-1);
  margin-left: var(--spacing-1);
}

.my-1 {
  margin-top: var(--spacing-1);
  margin-bottom: var(--spacing-1);
}

.p-1 {
  padding: var(--spacing-1);
}

.pt-1 {
  padding-top: var(--spacing-1);
}

.pr-1 {
  padding-right: var(--spacing-1);
}

.pb-1 {
  padding-bottom: var(--spacing-1);
}

.pl-1 {
  padding-left: var(--spacing-1);
}

.px-1 {
  padding-right: var(--spacing-1);
  padding-left: var(--spacing-1);
}

.py-1 {
  padding-top: var(--spacing-1);
  padding-bottom: var(--spacing-1);
}

.gap-1 {
  gap: var(--spacing-1);
}

.m-2 {
  margin: var(--spacing-2);
}

.mt-2 {
  margin-top: var(--spacing-2);
}

.mr-2 {
  margin-right: var(--spacing-2);
}

.mb-2 {
  margin-bottom: var(--spacing-2);
}

.ml-2 {
  margin-left: var(--spacing-2);
}

.mx-2 {
  margin-right: var(--spacing-2);
  margin-left: var(--spacing-2);
}

.my-2 {
  margin-top: var(--spacing-2);
  margin-bottom: var(--spacing-2);
}

.p-2 {
  padding: var(--spacing-2);
}

.pt-2 {
  padding-top: var(--spacing-2);
}

.pr-2 {
  padding-right: var(--spacing-2);
}

.pb-2 {
  padding-bottom: var(--spacing-2);
}

.pl-2 {
  padding-left: var(--spacing-2);
}

.px-2 {
  padding-right: var(--spacing-2);
  padding-left: var(--spacing-2);
}

.py-2 {
  padding-top: var(--spacing-2);
  padding-bottom: var(--spacing-2);
}

.gap-2 {
  gap: var(--spacing-2);
}

.m-3 {
  margin: var(--spacing-3);
}

.mt-3 {
  margin-top: var(--spacing-3);
}

.mr-3 {
  margin-right: var(--spacing-3);
}

.mb-3 {
  margin-bottom: var(--spacing-3);
}

.ml-3 {
  margin-left: var(--spacing-3);
}

.mx-3 {
  margin-right: var(--spacing-3);
  margin-left: var(--spacing-3);
}

.my-3 {
  margin-top: var(--spacing-3);
  margin-bottom: var(--spacing-3);
}

.p-3 {
  padding: var(--spacing-3);
}

.pt-3 {
  padding-top: var(--spacing-3);
}

.pr-3 {
  padding-right: var(--spacing-3);
}

.pb-3 {
  padding-bottom: var(--spacing-3);
}

.pl-3 {
  padding-left: var(--spacing-3);
}

.px-3 {
  padding-right: var(--spacing-3);
  padding-left: var(--spacing-3);
}

.py-3 {
  padding-top: var(--spacing-3);
  padding-bottom: var(--spacing-3);
}

.gap-3 {
  gap: var(--spacing-3);
}

.m-4 {
  margin: var(--spacing-4);
}

.mt-4 {
  margin-top: var(--spacing-4);
}

.mr-4 {
  margin-right: var(--spacing-4);
}

.mb-4 {
  margin-bottom: var(--spacing-4);
}

.ml-4 {
  margin-left: var(--spacing-4);
}

.mx-4 {
  margin-right: var(--spacing-4);
  margin-left: var(--spacing-4);
}

.my-4 {
  margin-top: var(--spacing-4);
  margin-bottom: var(--spacing-4);
}

.p-4 {
  padding: var(--spacing-4);
}

.pt-4 {
  padding-top: var(--spacing-4);
}

.pr-4 {
  padding-right: var(--spacing-4);
}

.pb-4 {
  padding-bottom: var(--spacing-4);
}

.pl-4 {
  padding-left: var(--spacing-4);
}

.px-4 {
  padding-right: var(--spacing-4);
  padding-left: var(--spacing-4);
}

.py-4 {
  padding-top: var(--spacing-4);
  padding-bottom: var(--spacing-4);
}

.gap-4 {
  gap: var(--spacing-4);
}

.m-5 {
  margin: var(--spacing-5);
}

.mt-5 {
  margin-top: var(--spacing-5);
}

.mr-5 {
  margin-right: var(--spacing-5);
}

.mb-5 {
  margin-bottom: var(--spacing-5);
}

.ml-5 {
  margin-left: var(--spacing-5);
}

.mx-5 {
  margin-right: var(--spacing-5);
  margin-left: var(--spacing-5);
}

.my-5 {
  margin-top: var(--spacing-5);
  margin-bottom: var(--spacing-5);
}

.p-5 {
  padding: var(--spacing-5);
}

.pt-5 {
  padding-top: var(--spacing-5);
}

.pr-5 {
  padding-right: var(--spacing-5);
}

.pb-5 {
  padding-bottom: var(--spacing-5);
}

.pl-5 {
  padding-left: var(--spacing-5);
}

.px-5 {
  padding-right: var(--spacing-5);
  padding-left: var(--spacing-5);
}

.py-5 {
  padding-top: var(--spacing-5);
  padding-bottom: var(--spacing-5);
}

.gap-5 {
  gap: var(--spacing-5);
}

.m-6 {
  margin: var(--spacing-6);
}

.mt-6 {
  margin-top: var(--spacing-6);
}

.mr-6 {
  margin-right: var(--spacing-6);
}

.mb-6 {
  margin-bottom: var(--spacing-6);
}

.ml-6 {
  margin-left: var(--spacing-6);
}

.mx-6 {
  margin-right: var(--spacing-6);
  margin-left: var(--spacing-6);
}

.my-6 {
  margin-top: var(--spacing-6);
  margin-bottom: var(--spacing-6);
}

.p-6 {
  padding: var(--spacing-6);
}

.pt-6 {
  padding-top: var(--spacing-6);
}

.pr-6 {
  padding-right: var(--spacing-6);
}

.pb-6 {
  padding-bottom: var(--spacing-6);
}

.pl-6 {
  padding-left: var(--spacing-6);
}

.px-6 {
  padding-right: var(--spacing-6);
  padding-left: var(--spacing-6);
}

.py-6 {
  padding-top: var(--spacing-6);
  padding-bottom: var(--spacing-6);
}

.gap-6 {
  gap: var(--spacing-6);
}

.m-8 {
  margin: var(--spacing-8);
}

.mt-8 {
  margin-top: var(--spacing-8);
}

.mr-8 {
  margin-right: var(--spacing-8);
}

.mb-8 {
  margin-bottom: var(--spacing-8);
}

.ml-8 {
  margin-left: var(--spacing-8);
}

.mx-8 {
  margin-right: var(--spacing-8);
  margin-left: var(--spacing-8);
}

.my-8 {
  margin-top: var(--spacing-8);
  margin-bottom: var(--spacing-8);
}

.p-8 {
  padding: var(--spacing-8);
}

.pt-8 {
  padding-top: var(--spacing-8);
}

.pr-8 {
  padding-right: var(--spacing-8);
}

.pb-8 {
  padding-bottom: var(--spacing-8);
}

.pl-8 {
  padding-left: var(--spacing-8);
}

.px-8 {
  padding-right: var(--spacing-8);
  padding-left: var(--spacing-8);
}

.py-8 {
  padding-top: var(--spacing-8);
  padding-bottom: var(--spacing-8);
}

.gap-8 {
  gap: var(--spacing-8);
}

.m-10 {
  margin: var(--spacing-10);
}

.mt-10 {
  margin-top: var(--spacing-10);
}

.mr-10 {
  margin-right: var(--spacing-10);
}

.mb-10 {
  margin-bottom: var(--spacing-10);
}

.ml-10 {
  margin-left: var(--spacing-10);
}

.mx-10 {
  margin-right: var(--spacing-10);
  margin-left: var(--spacing-10);
}

.my-10 {
  margin-top: var(--spacing-10);
  margin-bottom: var(--spacing-10);
}

.p-10 {
  padding: var(--spacing-10);
}

.pt-10 {
  padding-top: var(--spacing-10);
}

.pr-10 {
  padding-right: var(--spacing-10);
}

.pb-10 {
  padding-bottom: var(--spacing-10);
}

.pl-10 {
  padding-left: var(--spacing-10);
}

.px-10 {
  padding-right: var(--spacing-10);
  padding-left: var(--spacing-10);
}

.py-10 {
  padding-top: var(--spacing-10);
  padding-bottom: var(--spacing-10);
}

.gap-10 {
  gap: var(--spacing-10);
}

.m-12 {
  margin: var(--spacing-12);
}

.mt-12 {
  margin-top: var(--spacing-12);
}

.mr-12 {
  margin-right: var(--spacing-12);
}

.mb-12 {
  margin-bottom: var(--spacing-12);
}

.ml-12 {
  margin-left: var(--spacing-12);
}

.mx-12 {
  margin-right: var(--spacing-12);
  margin-left: var(--spacing-12);
}

.my-12 {
  margin-top: var(--spacing-12);
  margin-bottom: var(--spacing-12);
}

.p-12 {
  padding: var(--spacing-12);
}

.pt-12 {
  padding-top: var(--spacing-12);
}

.pr-12 {
  padding-right: var(--spacing-12);
}

.pb-12 {
  padding-bottom: var(--spacing-12);
}

.pl-12 {
  padding-left: var(--spacing-12);
}

.px-12 {
  padding-right: var(--spacing-12);
  padding-left: var(--spacing-12);
}

.py-12 {
  padding-top: var(--spacing-12);
  padding-bottom: var(--spacing-12);
}

.gap-12 {
  gap: var(--spacing-12);
}

.m-16 {
  margin: var(--spacing-16);
}

.mt-16 {
  margin-top: var(--spacing-16);
}

.mr-16 {
  margin-right: var(--spacing-16);
}

.mb-16 {
  margin-bottom: var(--spacing-16);
}

.ml-16 {
  margin-left: var(--spacing-16);
}

.mx-16 {
  margin-right: var(--spacing-16);
  margin-left: var(--spacing-16);
}

.my-16 {
  margin-top: var(--spacing-16);
  margin-bottom: var(--spacing-16);
}

.p-16 {
  padding: var(--spacing-16);
}

.pt-16 {
  padding-top: var(--spacing-16);
}

.pr-16 {
  padding-right: var(--spacing-16);
}

.pb-16 {
  padding-bottom: var(--spacing-16);
}

.pl-16 {
  padding-left: var(--spacing-16);
}

.px-16 {
  padding-right: var(--spacing-16);
  padding-left: var(--spacing-16);
}

.py-16 {
  padding-top: var(--spacing-16);
  padding-bottom: var(--spacing-16);
}

.gap-16 {
  gap: var(--spacing-16);
}

.m-20 {
  margin: var(--spacing-20);
}

.mt-20 {
  margin-top: var(--spacing-20);
}

.mr-20 {
  margin-right: var(--spacing-20);
}

.mb-20 {
  margin-bottom: var(--spacing-20);
}

.ml-20 {
  margin-left: var(--spacing-20);
}

.mx-20 {
  margin-right: var(--spacing-20);
  margin-left: var(--spacing-20);
}

.my-20 {
  margin-top: var(--spacing-20);
  margin-bottom: var(--spacing-20);
}

.p-20 {
  padding: var(--spacing-20);
}

.pt-20 {
  padding-top: var(--spacing-20);
}

.pr-20 {
  padding-right: var(--spacing-20);
}

.pb-20 {
  padding-bottom: var(--spacing-20);
}

.pl-20 {
  padding-left: var(--spacing-20);
}

.px-20 {
  padding-right: var(--spacing-20);
  padding-left: var(--spacing-20);
}

.py-20 {
  padding-top: var(--spacing-20);
  padding-bottom: var(--spacing-20);
}

.gap-20 {
  gap: var(--spacing-20);
}

.m-24 {
  margin: var(--spacing-24);
}

.mt-24 {
  margin-top: var(--spacing-24);
}

.mr-24 {
  margin-right: var(--spacing-24);
}

.mb-24 {
  margin-bottom: var(--spacing-24);
}

.ml-24 {
  margin-left: var(--spacing-24);
}

.mx-24 {
  margin-right: var(--spacing-24);
  margin-left: var(--spacing-24);
}

.my-24 {
  margin-top: var(--spacing-24);
  margin-bottom: var(--spacing-24);
}

.p-24 {
  padding: var(--spacing-24);
}

.pt-24 {
  padding-top: var(--spacing-24);
}

.pr-24 {
  padding-right: var(--spacing-24);
}

.pb-24 {
  padding-bottom: var(--spacing-24);
}

.pl-24 {
  padding-left: var(--spacing-24);
}

.px-24 {
  padding-right: var(--spacing-24);
  padding-left: var(--spacing-24);
}

.py-24 {
  padding-top: var(--spacing-24);
  padding-bottom: var(--spacing-24);
}

.gap-24 {
  gap: var(--spacing-24);
}

.m-32 {
  margin: var(--spacing-32);
}

.mt-32 {
  margin-top: var(--spacing-32);
}

.mr-32 {
  margin-right: var(--spacing-32);
}

.mb-32 {
  margin-bottom: var(--spacing-32);
}

.ml-32 {
  margin-left: var(--spacing-32);
}

.mx-32 {
  margin-right: var(--spacing-32);
  margin-left: var(--spacing-32);
}

.my-32 {
  margin-top: var(--spacing-32);
  margin-bottom: var(--spacing-32);
}

.p-32 {
  padding: var(--spacing-32);
}

.pt-32 {
  padding-top: var(--spacing-32);
}

.pr-32 {
  padding-right: var(--spacing-32);
}

.pb-32 {
  padding-bottom: var(--spacing-32);
}

.pl-32 {
  padding-left: var(--spacing-32);
}

.px-32 {
  padding-right: var(--spacing-32);
  padding-left: var(--spacing-32);
}

.py-32 {
  padding-top: var(--spacing-32);
  padding-bottom: var(--spacing-32);
}

.gap-32 {
  gap: var(--spacing-32);
}

.m-40 {
  margin: var(--spacing-40);
}

.mt-40 {
  margin-top: var(--spacing-40);
}

.mr-40 {
  margin-right: var(--spacing-40);
}

.mb-40 {
  margin-bottom: var(--spacing-40);
}

.ml-40 {
  margin-left: var(--spacing-40);
}

.mx-40 {
  margin-right: var(--spacing-40);
  margin-left: var(--spacing-40);
}

.my-40 {
  margin-top: var(--spacing-40);
  margin-bottom: var(--spacing-40);
}

.p-40 {
  padding: var(--spacing-40);
}

.pt-40 {
  padding-top: var(--spacing-40);
}

.pr-40 {
  padding-right: var(--spacing-40);
}

.pb-40 {
  padding-bottom: var(--spacing-40);
}

.pl-40 {
  padding-left: var(--spacing-40);
}

.px-40 {
  padding-right: var(--spacing-40);
  padding-left: var(--spacing-40);
}

.py-40 {
  padding-top: var(--spacing-40);
  padding-bottom: var(--spacing-40);
}

.gap-40 {
  gap: var(--spacing-40);
}

.m-48 {
  margin: var(--spacing-48);
}

.mt-48 {
  margin-top: var(--spacing-48);
}

.mr-48 {
  margin-right: var(--spacing-48);
}

.mb-48 {
  margin-bottom: var(--spacing-48);
}

.ml-48 {
  margin-left: var(--spacing-48);
}

.mx-48 {
  margin-right: var(--spacing-48);
  margin-left: var(--spacing-48);
}

.my-48 {
  margin-top: var(--spacing-48);
  margin-bottom: var(--spacing-48);
}

.p-48 {
  padding: var(--spacing-48);
}

.pt-48 {
  padding-top: var(--spacing-48);
}

.pr-48 {
  padding-right: var(--spacing-48);
}

.pb-48 {
  padding-bottom: var(--spacing-48);
}

.pl-48 {
  padding-left: var(--spacing-48);
}

.px-48 {
  padding-right: var(--spacing-48);
  padding-left: var(--spacing-48);
}

.py-48 {
  padding-top: var(--spacing-48);
  padding-bottom: var(--spacing-48);
}

.gap-48 {
  gap: var(--spacing-48);
}

.m-56 {
  margin: var(--spacing-56);
}

.mt-56 {
  margin-top: var(--spacing-56);
}

.mr-56 {
  margin-right: var(--spacing-56);
}

.mb-56 {
  margin-bottom: var(--spacing-56);
}

.ml-56 {
  margin-left: var(--spacing-56);
}

.mx-56 {
  margin-right: var(--spacing-56);
  margin-left: var(--spacing-56);
}

.my-56 {
  margin-top: var(--spacing-56);
  margin-bottom: var(--spacing-56);
}

.p-56 {
  padding: var(--spacing-56);
}

.pt-56 {
  padding-top: var(--spacing-56);
}

.pr-56 {
  padding-right: var(--spacing-56);
}

.pb-56 {
  padding-bottom: var(--spacing-56);
}

.pl-56 {
  padding-left: var(--spacing-56);
}

.px-56 {
  padding-right: var(--spacing-56);
  padding-left: var(--spacing-56);
}

.py-56 {
  padding-top: var(--spacing-56);
  padding-bottom: var(--spacing-56);
}

.gap-56 {
  gap: var(--spacing-56);
}

.m-64 {
  margin: var(--spacing-64);
}

.mt-64 {
  margin-top: var(--spacing-64);
}

.mr-64 {
  margin-right: var(--spacing-64);
}

.mb-64 {
  margin-bottom: var(--spacing-64);
}

.ml-64 {
  margin-left: var(--spacing-64);
}

.mx-64 {
  margin-right: var(--spacing-64);
  margin-left: var(--spacing-64);
}

.my-64 {
  margin-top: var(--spacing-64);
  margin-bottom: var(--spacing-64);
}

.p-64 {
  padding: var(--spacing-64);
}

.pt-64 {
  padding-top: var(--spacing-64);
}

.pr-64 {
  padding-right: var(--spacing-64);
}

.pb-64 {
  padding-bottom: var(--spacing-64);
}

.pl-64 {
  padding-left: var(--spacing-64);
}

.px-64 {
  padding-right: var(--spacing-64);
  padding-left: var(--spacing-64);
}

.py-64 {
  padding-top: var(--spacing-64);
  padding-bottom: var(--spacing-64);
}

.gap-64 {
  gap: var(--spacing-64);
}

@font-face {
  font-family: "Inter";
  src: url(../fonts/Inter-Regular.ttf);
}
@font-face {
  font-family: "Inter Bold";
  src: url(../fonts/Inter-Bold.ttf);
}
.cloudHeader {
  height: 66px;
  display: flex;
  align-items: center;
  background: #23252b;
  padding: 24px;
  gap: 40px;
  position: fixed;
  z-index: 10;
  width: 100%;
}

.cloudHeader__logo {
  font-size: 18px;
  font-weight: 700;
  line-height: 21px;
}

@media (max-width: 1024px) {
  .cloudHeader__nav {
    display: none;
  }
}

.cloudHeader__nav ul {
  display: flex;
  grid-gap: 24px;
  gap: 24px;
  font-size: 13px;
  line-height: 19px;
  color: #f2f2f2;
}

.cloudHeader__loginButtons {
  display: flex;
  grid-gap: 40px;
  gap: 40px;
  margin-left: auto;
}
@media (max-width: 1024px) {
  .cloudHeader__loginButtons {
    display: none;
  }
}

.cloudHeader__loginButton {
  display: flex;
  align-items: center;
  gap: 8px;
}
@media (max-width: 1024px) {
  .cloudHeader__loginButton {
    display: initial;
  }
}

.cloudHeader__login {
  font-size: 13px;
}
@media (max-width: 1024px) {
  .cloudHeader__login {
    margin-left: 0;
    flex-basis: 50%;
    border-right: 1px solid #fff;
  }
}

.cloudHeader__signUpButton {
  display: flex;
  align-items: center;
  gap: 8px;
}
@media (max-width: 1024px) {
  .cloudHeader__signUpButton {
    display: initial;
  }
}

.cloudHeader__signUp {
  font-size: 13px;
}
@media (max-width: 1024px) {
  .cloudHeader__signUp {
    flex-basis: 50%;
  }
}

.cloudHeader__bottomsMenu {
  display: none;
}
@media (max-width: 1024px) {
  .cloudHeader__bottomsMenu {
    display: block;
    height: 66px;
    width: 100%;
    background: #23252b;
    position: fixed;
    z-index: 10;
    left: 0;
    bottom: 0;
    padding: 24px 0;
    display: flex;
    text-align: center;
    box-sizing: border-box;
  }
}

@font-face {
  font-family: "Inter";
  src: url(../fonts/Inter-Regular.ttf);
}
@font-face {
  font-family: "Inter Bold";
  src: url(../fonts/Inter-Bold.ttf);
}
.cloudHero {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 20px;
}
@media (max-width: 1024px) {
  .cloudHero {
    padding: 0;
  }
}

.cloudHero__inner {
  display: flex;
  justify-content: space-between;
  max-width: 1250px;
  margin: auto;
  padding: 80px 0;
}
@media (max-width: 1024px) {
  .cloudHero__inner {
    flex-direction: column-reverse;
    padding: 90px 24px 24px;
    margin: 0 0 80px;
    gap: 32px;
  }
}

.cloudHero__reft {
  width: 630px;
}
@media (max-width: 1024px) {
  .cloudHero__reft {
    width: 100%;
  }
}

.cloudHero__heading {
  width: fit-content;
  font-family: Noto Sans JP;
  font-size: 52px;
  font-style: normal;
  font-weight: 700;
  line-height: 78px;
  letter-spacing: 0.5px;
  background: linear-gradient(252deg, #34e8ac 5.67%, #9174e3 70.34%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (max-width: 1024px) {
  .cloudHero__heading {
    font-size: 26px;
    line-height: 36px;
  }
}

.cloudHero__desc {
  color: #f2f2f2;
  font-family: Noto Sans JP;
  font-size: 21px;
  font-style: normal;
  font-weight: 400;
  line-height: 36px;
  letter-spacing: 0.5px;
  color: #f2f2f2;
}
@media (max-width: 1024px) {
  .cloudHero__desc {
    font-size: 14px;
    line-height: 24px;
  }
}

.cloudHero__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 160px;
  height: 48px;
  flex-shrink: 0;
  color: var(--color-base-white);
  border-radius: 4px;
  background: linear-gradient(265deg, #4acdb9 0%, #9174e3 74.48%);
}
@media (max-width: 1024px) {
  .cloudHero__btn {
    width: 100%;
  }
}

.cloudHero__imgCon {
  max-width: 40%;
}
@media (max-width: 1024px) {
  .cloudHero__imgCon {
    width: 100%;
    max-width: initial;
  }
}

.cloudHero__img {
  object-fit: contain;
  width: 100%;
  height: auto;
}

@font-face {
  font-family: "Inter";
  src: url(../fonts/Inter-Regular.ttf);
}
@font-face {
  font-family: "Inter Bold";
  src: url(../fonts/Inter-Bold.ttf);
}
.cloudSteps {
  padding-bottom: 120px;
}

.cloudSteps__lead {
  text-align: center;
  margin-bottom: 120px;
}

.title {
  margin: 8px 0;
}

.cloudSteps__container {
  display: flex;
  justify-content: space-between;
  margin-top: 24px;
}
.cloudSteps__container div {
  width: 334px;
}
.cloudSteps__container .cloudSteps__containerTitle {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 24px;
}
.cloudSteps__container .cloudSteps__containerDescription {
  margin-bottom: 24px;
  font-size: 14px;
  line-height: 21px;
}

.cloudSteps:after {
  content: "";
  width: 100vw;
  max-width: calc(100vw - (100vw - 1180px) / 2 - 8px);
  height: 2990px;
  background: #161c27;
  position: absolute;
  top: -4px;
  left: 0;
  z-index: -2;
}

.cloudSteps__containerStep1 {
  position: relative;
}

.cloudSteps__containerStep3 {
  position: relative;
}

.cloudSteps__containerStep1:after {
  content: "";
  width: 100vw;
  height: 1462px;
  background: #232a37;
  position: absolute;
  top: -358px;
  right: 24px;
  z-index: -1;
}

.cloudSteps__containerStep3:before {
  content: "";
  width: 100vw;
  height: 944px;
  background: #232a37;
  position: absolute;
  top: -126px;
  right: 300px;
  z-index: -1;
}

.cloudSteps__containerStep3:after {
  content: "";
  width: 100vw;
  height: 444px;
  background: #232a37;
  position: absolute;
  top: 110px;
  right: calc((100vw - 1180px) / 2 * -1 + 8px);
  z-index: -1;
}

@media (max-width: 1024px) {
  .cloudSteps {
    padding-bottom: 120px;
  }
  .cloudSteps:after {
    background: transparent;
  }
  .cloudSteps__lead {
    margin-bottom: 120px;
  }
  .cloudSteps__container {
    flex-direction: column;
    gap: 32px;
  }
  .cloudSteps__container div {
    width: 100%;
  }
  .cloudSteps__container img {
    width: 100%;
    max-width: 460px;
    height: auto;
    margin: 0 auto;
    display: block;
  }
  .cloudSteps__container .cloudSteps__containerTitle {
    margin-bottom: 16px;
  }
  .cloudSteps__container .cloudSteps__containerDescription {
    margin-bottom: 16px;
    font-size: 14px;
    line-height: 21px;
  }
  .cloudSteps__containerStep1:after {
    background: transparent;
  }
  .cloudSteps__containerStep3:before {
    background: transparent;
  }
  .cloudSteps__containerStep3:after {
    background: transparent;
  }
}
@font-face {
  font-family: "Inter";
  src: url(../fonts/Inter-Regular.ttf);
}
@font-face {
  font-family: "Inter Bold";
  src: url(../fonts/Inter-Bold.ttf);
}
.cloudFrameworks {
  text-align: center;
  margin-bottom: 240px;
}

.cloudFrameworks__icons {
  display: flex;
  gap: 56px;
  justify-content: center;
  margin-top: 24px;
}

@media (max-width: 768px) {
  .cloudFrameworks__icons {
    flex-wrap: wrap;
    gap: 16px;
  }
}
@font-face {
  font-family: "Inter";
  src: url(../fonts/Inter-Regular.ttf);
}
@font-face {
  font-family: "Inter Bold";
  src: url(../fonts/Inter-Bold.ttf);
}
.cloudFeatures {
  padding-bottom: 240px;
}

.cloudFeatures__title {
  margin: 16px 0;
}

.cloudFeaturesContainer {
  display: flex;
  justify-content: space-between;
  margin-top: 24px;
}
.cloudFeaturesContainer .cloudFeaturesContainer__feature {
  width: 250px;
}
.cloudFeaturesContainer .cloudFeaturesContainer__featureImage {
  margin-top: 8px;
  margin-bottom: 16px;
}
.cloudFeaturesContainer .cloudFeaturesContainer__featureTitle {
  text-align: center;
  margin-bottom: 16px;
  font-size: 18px;
  line-height: 27px;
}
.cloudFeaturesContainer .cloudFeaturesContainer__featureDescription {
  font-size: 14px;
  line-height: 21px;
}

@media (max-width: 1024px) {
  .cloudFeaturesContainer__featureTitle {
    height: 27px;
  }
  .cloudFeatures {
    padding-bottom: 120px;
  }
  .cloudFeatures__title {
    margin: 8px 0;
  }
  .cloudFeaturesContainer {
    flex-direction: column;
    gap: 32px;
  }
  .cloudFeaturesContainer .cloudFeaturesContainer__feature {
    width: 100%;
    display: flex;
    flex-direction: column;
  }
  .cloudFeaturesContainer .cloudFeaturesContainer__feature svg {
    width: 100%;
    height: auto;
  }
}
@font-face {
  font-family: "Inter";
  src: url(../fonts/Inter-Regular.ttf);
}
@font-face {
  font-family: "Inter Bold";
  src: url(../fonts/Inter-Bold.ttf);
}
.cloudFunctions {
  padding-bottom: 240px;
}

.cloudFunctions__container {
  display: flex;
  gap: 80px;
  margin-top: 24px;
}

.cloudFunctions__containerLists {
  width: 530px;
}

.cloudFunctions__containerListsFeatureTitle {
  margin-top: 40px;
  margin-bottom: 24px;
}

.cloudFunctions__containerList {
  margin-bottom: 24px;
}

.cloudFunctions__next {
  display: flex;
  justify-content: center;
  margin-top: 56px;
}

.cloudFunctions__checkTextTitle {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
}

.cloudFunctions__checkTextDescription {
  font-size: 14px;
  line-height: 21px;
}

@media (max-width: 1024px) {
  .cloudFunctions {
    padding-bottom: 120px;
  }
  .cloudFunctions__container {
    flex-direction: column;
    margin-top: 8px;
    gap: 32px;
  }
  .cloudFunctions__containerLists {
    width: 100%;
  }
  .cloudFunctions__next {
    margin-top: 60px;
  }
  .cloudFunctions__checkTextTitle {
    margin-bottom: 8px;
  }
}
@font-face {
  font-family: "Inter";
  src: url(../fonts/Inter-Regular.ttf);
}
@font-face {
  font-family: "Inter Bold";
  src: url(../fonts/Inter-Bold.ttf);
}
.cloudPlans {
  padding-bottom: 160px;
}

.cloudPlans__title {
  text-align: center;
}
.cloudPlans__title h2 {
  margin: 16px;
}

.cloudPlans__container {
  margin-top: 64px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
}
.cloudPlans__container div {
  flex-grow: 1;
  min-width: 31%;
}

@media (max-width: 1024px) {
  .cloudPlans {
    padding-bottom: 120px;
  }
  .cloudPlans__container {
    flex-direction: column;
  }
}
.cloudPlans__card {
  background: #161c27;
  border-radius: 15px;
  width: 340px;
  text-align: center;
}

.cloudPlans__cardRecommend {
  background: linear-gradient(180deg, #9174e3 0%, #4acdb9 99.99%, rgba(22, 28, 39, 0) 100%);
}

.cloudPlans__cardInfo {
  padding: 40px;
}
.cloudPlans__cardInfo .spacing4 {
  letter-spacing: 4px;
}
.cloudPlans__cardInfo table {
  margin: 40px auto;
  border-collapse: collapse;
  width: 100%;
}
.cloudPlans__cardInfo table tr {
  border-top: 1px solid #292b35;
}
.cloudPlans__cardInfo table tr:last-child {
  border-bottom: 1px solid #292b35;
}
.cloudPlans__cardInfo table td {
  text-align: left;
  padding: 16px 0;
}
.cloudPlans__cardInfo button,
.cloudPlans__cardInfo a {
  width: 210px;
  height: 48px;
  background: #9174e3;
  border-radius: 4px;
  font-weight: bold;
}
.cloudPlans__cardInfo a {
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cloudPlans__cardInfoIcon {
  height: 64px;
  margin-bottom: 40px;
}

.cloudPlans__cardInfoName {
  font-size: 21px;
  font-weight: bold;
  line-height: 30px;
  margin-bottom: 40px;
}

.cloudPlans__cardInfoUser {
  font-size: 10px;
  font-weight: bold;
  line-height: 14px;
}

.cloudPlans__cardInfoPrice {
  font-size: 40px;
  font-weight: bold;
  line-height: 58px;
  letter-spacing: 1px;
}
.cloudPlans__cardInfoPrice span {
  font-size: 2px;
  margin-left: 4px;
}

.cloudPlans__cardShowDetail {
  width: 100%;
  padding: 24px 0;
  border-top: 1px solid #292b35;
}

@media (max-width: 1024px) {
  .cloudPlans__card {
    width: 100%;
  }
  .cloudPlans__cardInfo {
    padding: 32px 24px;
  }
  .cloudPlans__cardInfo table {
    margin: 24px auto;
    font-size: 14px;
  }
  .cloudPlans__cardInfo button,
  .cloudPlans__cardInfo a {
    width: 80%;
    height: 48px;
    background: #9174e3;
    border-radius: 4px;
    font-weight: bold;
  }
  .cloudPlans__cardInfoIcon {
    height: 64px;
    margin-bottom: 24px;
  }
  .cloudPlans__cardInfoName {
    font-size: 18px;
    margin-bottom: 24px;
  }
  .cloudPlans__cardInfoPrice {
    font-size: 32px;
  }
  .cloudPlans__cardInfoPrice span {
    font-size: 16px;
  }
}
html {
  background: #15161a;
  font-family: -apple-system, blinkmacsystemfont, "Segoe UI", roboto, "Helvetica Neue", arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  color: #fff;
}

main {
  background: #15161a;
  padding-top: 70px;
}

.cloud__contentsContainer {
  max-width: 1180px;
  margin: 0 auto;
  position: relative;
  z-index: 0;
}

@media (max-width: 1024px) {
  .cloud__contentsContainer {
    padding: 24px;
  }
}
.cloud__btnGradient {
  border-radius: 4px;
  background: linear-gradient(265deg, #4acdb9 0%, #9174e3 74.48%);
}

.cloud__label {
  padding: 8px;
  font-weight: bold;
  font-size: 12px;
  background: #494c5e;
  width: fit-content;
}

@media (max-width: 768px) {
  .cloud__label {
    font-size: 11px;
  }
}
h2.cloud__heading {
  font-size: 36px;
  line-height: 54px;
  font-weight: bold;
  margin: 8px 0;
}

@media (max-width: 768px) {
  h2.cloud__heading {
    font-size: 22px;
    line-height: 38px;
  }
}
p.cloud__heading {
  font-size: 18px;
  font-weight: bold;
}

@media (max-width: 768px) {
  p.cloud__heading {
    font-size: 16px;
  }
}