:root {
  --spacing-160: 16rem;
  --spacing-120: 12rem;
  --spacing-100: 10rem;
  --spacing-88: 8.8rem;
  --spacing-80: 8rem;
  --spacing-72: 7.2rem;
  --spacing-64: 6.4rem;
  --spacing-56: 5.6rem;
  --spacing-48: 4.8rem;
  --spacing-40: 4rem;
  --spacing-32: 3.2rem;
  --spacing-24: 2.4rem;
  --spacing-16: 1.6rem;
  --spacing-12: 1.2rem;
  --spacing-8: 0.8rem;
  --spacing-4: 0.4rem;
  --spacing-2: 0.2rem;
  --spacing-0: 0rem;
  --spacing-auto: auto;
  --section-spacing-x: 4vw;
  --section-spacing-y: var(--spacing-120);
  --container-width: 152rem;
  --container-width-sm: 136rem;
  --container-width-xs: 125.6rem;
  --font-primary: "Noto Sans TC", sans-serif;
  --font-en: "Patua One", serif;
  --text-4xl: 4rem;
  --text-3xl: 3.2rem;
  --text-2xl: 2.8rem;
  --text-xl: 2.4rem;
  --text-lg: 2rem;
  --text-md: 1.8rem;
  --text-body: 1.6rem;
  --text-sm: 1.4rem;
  --text-xs: 1.2rem;
  --color-primary: #EA5514;
  --color-primary-rgb: 242, 109, 51;
  --color-primary-80: rgba(var(--color-primary-rgb), 0.8);
  --color-primary-60: rgba(var(--color-primary-rgb), 0.6);
  --color-primary-20: rgba(var(--color-primary-rgb), 0.2);
  --color-secondary: #FF986A;
  --color-bg: #F0EAE0;
  --color-success: var(--color-primary);
  --color-danger: #E2907C;
  --color-danger-rgb: 226, 144, 124;
  --color-danger-20: rgba(var(--color-danger-rgb), 0.2);
  --color-cocoa: #C7AF9E;
  --color-cocoa-dark: #C0AC94;
  --color-brown: #8E744D;
  --color-brown-rgb: 142, 116, 77;
  --color-brown-40: rgba(var(--color-brown-rgb), 0.4);
  --color-brown-light: #E3D6C4;
  --color-brown-light-rgb: 227, 214, 196;
  --color-brown-light-60: rgba(var(--color-brown-light-rgb), 0.6);
  --color-black: #000;
  --color-black-rgb: 43, 43, 43;
  --color-black-90: rgba(var(--color-black-rgb), 0.9);
  --color-black-80: rgba(var(--color-black-rgb), 0.8);
  --color-black-60: rgba(var(--color-black-rgb), 0.6);
  --color-black-40: rgba(var(--color-black-rgb), 0.4);
  --color-black-20: rgba(var(--color-black-rgb), 0.2);
  --color-black-10: rgba(var(--color-black-rgb), 0.1);
  --color-gray: #343434;
  --color-gray-light: #F9F8F7;
  --color-gray-light-rgb: 249, 248, 247;
  --color-gray-light-40: rgba(var(--color-gray-light-rgb), 0.4);
  --color-white: #fff;
  --color-white-rgb: 255, 255, 255;
  --color-white-80: rgba(var(--color-white-rgb), 0.8);
  --color-white-60: rgba(var(--color-white-rgb), 0.6);
  --color-white-40: rgba(var(--color-white-rgb), 0.4);
  --color-transparent: transparent;
}
@media (max-width: 575.98px) {
  :root {
    --spacing-160: 24vw;
    --spacing-120: 20vw;
    --spacing-100: 18vw;
    --spacing-88: 17vw;
    --spacing-80: 16vw;
    --spacing-72: 15vw;
    --spacing-64: 14vw;
    --spacing-56: 12vw;
    --spacing-48: 10vw;
    --spacing-40: 8vw;
    --spacing-32: 6vw;
    --spacing-24: 4vw;
    --spacing-16: 3vw;
    --spacing-12: 2vw;
  }
}
@media (max-width: 767.98px) {
  :root {
    --section-spacing-x: 2vw;
  }
}
@media (max-width: 767.98px) {
  :root {
    --text-4xl: 3.6rem;
  }
}
@media (max-width: 575.98px) {
  :root {
    --text-4xl: 3.2rem;
    --text-3xl: 2.8rem;
    --text-2xl: 2.2rem;
    --text-xl: 2rem;
    --text-lg: 1.8rem;
    --text-md: 1.7rem;
  }
}

*, *::before, *::after {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

::-moz-selection {
  background-color: var(--color-black);
  color: var(--color-white);
}

::selection {
  background-color: var(--color-black);
  color: var(--color-white);
}

::-moz-selection {
  background-color: var(--color-black);
  color: var(--color-white);
}

html {
  font-size: 10px;
}
@media (max-width: 1199.98px) {
  html {
    font-size: 9.375px;
  }
}
@media (max-width: 1024px) {
  html {
    font-size: 8.75px;
  }
}

.lenis {
  height: auto;
}
.lenis.lenis-smooth {
  scroll-behavior: auto;
}
.lenis.lenis-smooth [data-lenis-prevent] {
  -ms-scroll-chaining: none;
      overscroll-behavior: contain;
}
.lenis.lenis-stopped {
  overflow: hidden;
}
.lenis.lenis-scrolling iframe {
  pointer-events: none;
}

body {
  margin: 0;
  background-color: var(--color-bg);
  font-family: var(--font-primary);
  font-size: 1.6rem;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  letter-spacing: 0.08em;
  line-height: 1.44;
  color: var(--color-black);
}

/* ----------------------------------- */
/* ------ Reset ------ */
/* ----------------------------------- */
a, button, input, label, select, textarea {
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}

a, button {
  display: inline-block;
  text-decoration: none;
  color: inherit;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
a:hover, button:hover {
  text-decoration: none;
  color: inherit;
}

button {
  padding: 0;
  border: none;
  background: none;
}

img {
  max-width: 100%;
  max-height: 100%;
}

svg {
  max-width: inherit;
}

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

ul.--initial {
  padding-left: 2.4rem;
}

ol.--initial {
  padding-left: 3.6rem;
}

table {
  max-width: 100%;
}

td, th {
  padding: 0 var(--spacing-12);
  border: 1px solid var(--color-black);
}

h1, h2, h3, h4, h5, h6, p, button {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  color: inherit;
}

span {
  display: block;
  line-height: inherit;
}

/* ----------------------------------- */
/* ------ Layouts ------ */
/* ----------------------------------- */
#app {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 100vh;
}

main {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}

section {
  padding: var(--section-spacing-y) var(--section-spacing-x);
}

.container {
  --section-width: 100vw;
  max-width: var(--container-width);
}
.container.--sm {
  --container-width: var(--container-width-sm);
}
.container.--xs {
  --container-width: var(--container-width-xs);
}
.container.--left {
  width: auto;
  max-width: calc(var(--section-width) / 2 + var(--container-width) / 2 - var(--bs-gutter-x) * 0.5);
  padding-left: 0;
  margin-left: calc(-1 * var(--section-spacing-x));
}

.row.--no-gap {
  --bs-gutter-x: 0;
  --bs-gutter-y: 0;
}
.row.--gap {
  --bs-gutter-x: var(--spacing-16);
  --bs-gutter-y: var(--spacing-16);
}
@media (max-width: 575.98px) {
  .row.--gap {
    --bs-gutter-x: var(--spacing-8);
    --bs-gutter-y: var(--spacing-8);
  }
}

.js-lazy {
  background-color: var(--color-black-10);
  background-size: 100% 100%;
  background-position: 0 center;
}
.js-lazy.entered {
  background-color: transparent;
}

.u-inline {
  display: inline;
}

.u-inline-block {
  display: inline-block;
}

.u-block {
  display: block;
}

[class*=u-show] {
  display: none;
}

@media (max-width: 1599.98px) {
  .u-show-xxl {
    display: block;
  }
  .u-hide-xxl {
    display: none;
  }
}
@media (max-width: 1399.98px) {
  .u-show-xl {
    display: block;
  }
  .u-hide-xl {
    display: none;
  }
}
@media (max-width: 1199.98px) {
  .u-show-lg {
    display: block;
  }
  .u-hide-lg {
    display: none;
  }
}
@media (max-width: 1024px) {
  .u-show-ipad {
    display: block;
  }
  .u-hide-ipad {
    display: none;
  }
}
@media (max-width: 991.98px) {
  .u-show-md {
    display: block;
  }
  .u-hide-md {
    display: none;
  }
}
@media (max-width: 767.98px) {
  .u-show-sm {
    display: block;
  }
  .u-hide-sm {
    display: none;
  }
}
@media (max-width: 575.98px) {
  .u-show-xs {
    display: block;
  }
  .u-hide-xs {
    display: none;
  }
}
.u-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.u-flex-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.u-justify-center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.u-justify-end {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.u-align-center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.u-align-end {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.u-self-end {
  -ms-flex-item-align: end;
      align-self: flex-end;
}

.u-shrink-0 {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.u-grow-1 {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}

.u-editor span {
  display: inline;
}
.u-editor ul, .u-editor ol {
  list-style: auto;
  padding-left: 4rem;
  margin-bottom: 1rem;
}

.u-w-full {
  width: 100%;
}

.u-h-full {
  height: 100%;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.u-p-0 {
  padding: var(--spacing-0) !important;
}

.u-p-auto {
  padding: auto;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.u-px-0 {
  padding-left: var(--spacing-0) !important;
  padding-right: var(--spacing-0) !important;
}

.u-px-auto {
  padding-left: auto;
  padding-right: auto;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.u-py-0 {
  padding-top: var(--spacing-0) !important;
  padding-bottom: var(--spacing-0) !important;
}

.u-py-auto {
  padding-top: auto;
  padding-bottom: auto;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.u-pl-0 {
  padding-left: var(--spacing-0) !important;
}

.u-pl-auto {
  padding-left: auto;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.u-pr-0 {
  padding-right: var(--spacing-0) !important;
}

.u-pr-auto {
  padding-right: auto;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.u-pt-0 {
  padding-top: var(--spacing-0) !important;
}

.u-pt-auto {
  padding-top: auto;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.u-pb-0 {
  padding-bottom: var(--spacing-0) !important;
}

.u-pb-auto {
  padding-bottom: auto;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.u-m-0 {
  margin: var(--spacing-0) !important;
}

.u-m-auto {
  margin: auto;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.u-mx-0 {
  margin-left: var(--spacing-0) !important;
  margin-right: var(--spacing-0) !important;
}

.u-mx-auto {
  margin-left: auto;
  margin-right: auto;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.u-my-0 {
  margin-top: var(--spacing-0) !important;
  margin-bottom: var(--spacing-0) !important;
}

.u-my-auto {
  margin-top: auto;
  margin-bottom: auto;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.u-ml-0 {
  margin-left: var(--spacing-0) !important;
}

.u-ml-auto {
  margin-left: auto;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.u-mr-0 {
  margin-right: var(--spacing-0) !important;
}

.u-mr-auto {
  margin-right: auto;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.u-mt-0 {
  margin-top: var(--spacing-0) !important;
}

.u-mt-auto {
  margin-top: auto;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.u-mb-0 {
  margin-bottom: var(--spacing-0) !important;
}

.u-mb-auto {
  margin-bottom: auto;
}

.u-ff-en {
  font-family: var(--font-en);
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.55;
}

.u-ff-primary {
  font-family: var(--font-primary);
}

.u-fw-400 {
  font-weight: 400;
}

.u-fw-500 {
  font-weight: 500;
}

.u-fw-700 {
  font-weight: 700;
}

.u-text-4xl {
  font-size: var(--text-4xl);
}

.u-text-3xl {
  font-size: var(--text-3xl);
}

.u-text-2xl {
  font-size: var(--text-2xl);
}

.u-text-xl {
  font-size: var(--text-xl);
}

.u-text-lg {
  font-size: var(--text-lg);
}

.u-text-md {
  font-size: var(--text-md);
}

.u-text-body {
  font-size: var(--text-body);
}

.u-text-sm {
  font-size: var(--text-sm);
}

.u-text-xs {
  font-size: var(--text-xs);
}

.u-text-2xs {
  font-size: var(--text-2xs);
}

.u-icon {
  font-size: 2.4rem;
  vertical-align: text-bottom;
}
.u-icon.--lg {
  font-size: 3.2rem;
}
.u-icon.--md {
  font-size: 2.8rem;
}
.u-icon.--sm {
  font-size: 1.8rem;
}
.u-icon.--xs {
  font-size: 1.6rem;
}

.u-lh-1 {
  line-height: 1;
}

.u-lh-1-2 {
  line-height: 1.2;
}

.u-color-primary {
  color: var(--color-primary);
}

.u-color-secondary {
  color: var(--color-secondary);
}

.u-color-black-80 {
  color: var(--color-black-80);
}

.u-color-black-60 {
  color: var(--color-black-60);
}

.u-color-black-40 {
  color: var(--color-black-40);
}

.u-color-black-20 {
  color: var(--color-black-20);
}

.u-text-center {
  text-align: center;
}

.u-text-left {
  text-align: left;
}

.u-text-right {
  text-align: right;
}

[class*=u-line-clamp] {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  overflow: hidden;
}

.u-line-clamp-1 {
  -webkit-line-clamp: 1;
}

.u-line-clamp-2 {
  -webkit-line-clamp: 2;
}

.u-line-clamp-3 {
  -webkit-line-clamp: 3;
}

.u-img-ratio {
  --img-w-ratio: 4;
  --img-h-ratio: 3;
  display: block;
  padding-bottom: calc(100% * var(--img-h-ratio) / var(--img-w-ratio));
  background-color: var(--color-black-10);
}

.u-object-fit {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
.u-object-fit.--abs {
  position: absolute;
  left: 0;
  top: 0;
}
.u-object-fit.--right {
  -o-object-position: right center;
     object-position: right center;
}
.u-object-fit.--bottom {
  -o-object-position: center bottom;
     object-position: center bottom;
}

.u-skeleton-text {
  display: block;
  width: 100%;
  height: var(--spacing-16);
  background-color: var(--color-black-10);
}
.u-skeleton-text:not(:last-child) {
  margin-bottom: var(--spacing-12);
}

.u-shadow {
  --shadow: 2px 4px 16px;
  --shadow-color: var(--color-black-10);
  -webkit-box-shadow: var(--shadow) var(--shadow-color);
          box-shadow: var(--shadow) var(--shadow-color);
  -webkit-transition: -webkit-box-shadow 0.3s;
  transition: -webkit-box-shadow 0.3s;
  transition: box-shadow 0.3s;
  transition: box-shadow 0.3s, -webkit-box-shadow 0.3s;
}
.u-shadow.--link:hover {
  --shadow: 1px 2px 4px;
}

.u-word-break {
  word-break: break-all;
}

.u-pre-wrap {
  white-space: pre-wrap;
}

.u-select-none {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.u-drag-none {
  user-drag: none;
  -webkit-user-drag: none;
}
/*# sourceMappingURL=style.css.map */