@charset "utf-8";

/*!
* Bootstrap Utilities v5.3.1 (https://getbootstrap.com/)
* Copyright 2011-2023 The Bootstrap Authors
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
/*!
* Bootstrap Utilities v5.2.3 (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors
* Copyright 2011-2022 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
/*! tailwindcss v3.3.6 | MIT License | https://tailwindcss.com */


/* ============================================================
# Helper
============================================================ */

/* ## Clearfix
======================================== */

.clearfix::after {
  clear: both;
  content: "";
  display: block;
}


/* ## Ratio(iframe)
======================================== */

/* .ratio > * { */
.ratio > iframe {
  aspect-ratio: var(--aspect-ratio);
  height: auto;
  max-width: 100%;
  /* width: 100%; */
}
.ratio-1x1 {
  --aspect-ratio: 1;
}
.ratio-4x3 {
  --aspect-ratio: 4 / 3;
}
.ratio-16x9 {
  --aspect-ratio: 16 / 9;
}
.ratio-21x9 {
  --aspect-ratio: 21 / 9;
}


/* ## Aspect ratio
======================================== */

.aspect-ratio-1x1 {
  aspect-ratio: 1;
}
.aspect-ratio-4x3 {
  aspect-ratio: 4 / 3;
}
.aspect-ratio-16x9 {
  aspect-ratio: 16 / 9;
}
.aspect-ratio-21x9 {
  aspect-ratio: 21 / 9;
}


/* ## ScreenReaders (Tailwind CSS)
======================================== */

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}


/* ## Visually hidden content
======================================== */

.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.visually-hidden:not(caption),
.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {
  position: absolute !important;
}



/* ## Grid
======================================== */

/* ### grid columns
---------------------------------------- */

.gridColsFill-md {
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

.grid-cols-subgrid {
  grid-template-columns: subgrid;
}


/* ### grid rows
---------------------------------------- */

.grid-rows-subgrid {
  grid-template-rows: subgrid;
}



/* ## Others
======================================== */

/* ### Hover flash
---------------------------------------- */

@media (hover: hover) {
  .hoverFlash:hover {
    animation: hoverFlash 0.45s;
  }
}
@keyframes hoverFlash {
  from { opacity: 1; }
  30% { opacity: 0.7; }
  to { opacity: 1; }
}


/* ### Hover bright
---------------------------------------- */

.hoverBright {
  transition: filter 0.15s;
}
@media (hover: hover) {
  .hoverBright:hover {
    filter: brightness(1.1);
  }
}


/* ### Copy guard
---------------------------------------- */

.copyGuard {
  pointer-events: none;
  -webkit-user-select: none;
  user-select: none;
}


/* ### 縦書き
---------------------------------------- */

.verticalWriting {
  writing-mode: vertical-rl;
}


/* ### ２行目以降文字下げ
---------------------------------------- */

.textIndent1 {
  padding-left: 1em;
  text-indent: -1em;
}
.textIndent2 {
  padding-left: 2em;
  text-indent: -2em;
}
.textIndent3 {
  padding-left: 3em;
  text-indent: -3em;
}


/* ### ラッパー不要の中央揃え
---------------------------------------- */

.inlineCenter {
  max-inline-size: max-content;
  margin-inline: auto;
}


/* ### 「position: fixed;」で上下左右の中央
---------------------------------------- */

.positionFixedCenter {
  position: fixed;
  inset: 0;
  margin: auto;
}



/* ============================================================
# Utilities
============================================================ */

/* ## Colors
======================================== */

/* ### Text color
---------------------------------------- */

.text-body {
  color: var(--body-color) !important;
}
.text-black {
  color: var(--black) !important;
}
.text-white {
  color: var(--white) !important;
}

.text-gray-500 {
  color: var(--gray-500) !important;
}
.text-gray-600 {
  color: var(--gray-600) !important;
}

.text-primary {
  color: var(--primary) !important;
}
.text-primary-lt {
  color: var(--primary-lt) !important;
}
.text-secondary {
  color: var(--secondary) !important;
}

.text-accent {
  color: var(--accent) !important;
}
.text-muted {
  color: #777 !important;
}
.text-reset {
  color: inherit !important;
}

.text-red {
  color: var(--red) !important;
}



/* ## Background
======================================== */

/* ### Background color
---------------------------------------- */

.bg-white {
  background-color: var(--white) !important;
}
.bg-primary {
  background-color: var(--primary) !important;
  color: var(--white);
}
.bg-primary-lt {
  background-color: var(--primary-lt) !important;
}

.bg-secondary {
  background-color: var(--secondary) !important;
  color: var(--white);
}
.bg-accent {
  background-color: var(--accent) !important;
  color: var(--white);
}
.bg-transparent {
  background-color: transparent !important;
}

/* 中古 */
.bg-green {
  background-color: #51cb60 !important;
  color: var(--white);
}
/* 未使用 */
.bg-orange {
  background-color: #ff8400 !important;
  color: var(--white);
}
/* .bg-pink {
  background-color: var(--pink) !important;
  color: var(--white);
} */

.bg-gray-100 {
  background-color: var(--gray-100) !important;
}
.bg-gray-200 {
  background-color: var(--gray-200) !important;
}
.bg-gray-300 {
  background-color: var(--gray-300) !important;
}
.bg-gray-400 {
  background-color: var(--gray-400) !important;
}
.bg-gray-500 {
  background-color: var(--gray-500) !important;
  color: var(--white);
}
.bg-gray-600 {
  background-color: var(--gray-600) !important;
  color: var(--white);
}


/* ## Borders
======================================== */

.border {
  border: var(--border-width) var(--border-style) var(--border-color) !important;
}
.border-0 {
  border: 0 !important;
}
.border-top {
  border-top: var(--border-width) var(--border-style) var(--border-color) !important;
}
.border-top-0 {
  border-top: 0 !important;
}
.border-right,
.border-end {
  border-right: var(--border-width) var(--border-style) var(--border-color) !important;
}
.border-right-0,
.border-end-0 {
  border-right: 0 !important;
}
.border-bottom {
  border-bottom: var(--border-width) var(--border-style) var(--border-color) !important;
}
.border-bottom-0 {
  border-bottom: 0 !important;
}
.border-left,
.border-start {
  border-left: var(--border-width) var(--border-style) var(--border-color) !important;
}
.border-left-0,
.border-start-0 {
  border-left: 0 !important;
}
.border-solid {
  --border-style: solid;
}
.border-dotted {
  --border-style: dotted;
}
.border-dashed {
  --border-style: dashed;
}
.border-double {
  --border-style: double;
}
.border-primary {
  --border-color: var(--primary);
}
.border-secondary {
  --border-color: var(--secondary);
}
.border-white {
  --border-color: var(--white);
}
.border-black {
  --border-color: var(--black);
}

.border-1 {
  border-width: 1px !important;
}
.border-2 {
  border-width: 2px !important;
}
.border-3 {
  border-width: 3px !important;
}
.border-4 {
  border-width: 4px !important;
}
.border-5 {
  border-width: 5px !important;
}
@media (min-width: 576px) {
  .border-sm {
    border: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-sm-0 {
    border: 0 !important;
  }
  .border-sm-top {
    border-top: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-sm-top-0 {
    border-top: 0 !important;
  }
  .border-sm-right,
  .border-sm-end {
    border-right: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-sm-right-0,
  .border-sm-end-0 {
    border-right: 0 !important;
  }
  .border-sm-bottom {
    border-bottom: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-sm-bottom-0 {
    border-bottom: 0 !important;
  }
  .border-sm-left,
  .border-sm-start {
    border-left: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-sm-left-0,
  .border-sm-start-0 {
    border-left: 0 !important;
  }
}
@media (min-width: 768px) {
  .border-md {
    border: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-md-0 {
    border: 0 !important;
  }
  .border-md-top {
    border-top: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-md-top-0 {
    border-top: 0 !important;
  }
  .border-md-right,
  .border-md-end {
    border-right: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-md-right-0,
  .border-md-end-0 {
    border-right: 0 !important;
  }
  .border-md-bottom {
    border-bottom: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-md-bottom-0 {
    border-bottom: 0 !important;
  }
  .border-md-left,
  .border-md-start {
    border-left: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-md-left-0,
  .border-md-start-0 {
    border-left: 0 !important;
  }
}
@media (min-width: 992px) {
  .border-lg {
    border: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-lg-0 {
    border: 0 !important;
  }
  .border-lg-top {
    border-top: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-lg-top-0 {
    border-top: 0 !important;
  }
  .border-lg-right,
  .border-lg-end {
    border-right: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-lg-right-0,
  .border-lg-end-0 {
    border-right: 0 !important;
  }
  .border-lg-bottom {
    border-bottom: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-lg-bottom-0 {
    border-bottom: 0 !important;
  }
  .border-lg-left,
  .border-lg-start {
    border-left: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-lg-left-0,
  .border-lg-start-0 {
    border-left: 0 !important;
  }
}
@media (min-width: 1200px) {
  .border-xl {
    border: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-xl-0 {
    border: 0 !important;
  }
  .border-xl-top {
    border-top: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-xl-top-0 {
    border-top: 0 !important;
  }
  .border-xl-right,
  .border-xl-end {
    border-right: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-xl-right-0,
  .border-xl-end-0 {
    border-right: 0 !important;
  }
  .border-xl-bottom {
    border-bottom: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-xl-bottom-0 {
    border-bottom: 0 !important;
  }
  .border-xl-left,
  .border-xl-start {
    border-left: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-xl-left-0,
  .border-xl-start-0 {
    border-left: 0 !important;
  }
}
@media (min-width: 1400px) {
  .border-2xl {
    border: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-2xl-0 {
    border: 0 !important;
  }
  .border-2xl-top {
    border-top: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-2xl-top-0 {
    border-top: 0 !important;
  }
  .border-2xl-right,
  .border-2xl-end {
    border-right: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-2xl-right-0,
  .border-2xl-end-0 {
    border-right: 0 !important;
  }
  .border-2xl-bottom {
    border-bottom: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-2xl-bottom-0 {
    border-bottom: 0 !important;
  }
  .border-2xl-left,
  .border-2xl-start {
    border-left: var(--border-width) var(--border-style) var(--border-color) !important;
  }
  .border-2xl-left-0,
  .border-2xl-start-0 {
    border-left: 0 !important;
  }
}

.rounded-none,
.rounded-0 {
  border-radius: 0 !important;
}
.rounded-sm {
  border-radius: 0.125rem !important;
}
.rounded {
  border-radius: 0.25rem !important;
}
.rounded-md {
  border-radius: 0.375rem !important;
}
.rounded-lg {
  border-radius: 0.5rem !important;
}
.rounded-xl {
  border-radius: 0.75rem !important;
}
.rounded-2xl {
  border-radius: 1rem !important;
}
.rounded-3xl {
  border-radius: 1.5rem !important;
}
.rounded-4xl {
  border-radius: 3rem !important;
}
.rounded-pill {
  border-radius: 50rem !important;
}
.rounded-circle {
  border-radius: 50% !important;
}



/* ## Display property
======================================== */

.d-inline {
  display: inline !important;
}
.d-inline-block {
  display: inline-block !important;
}
.d-block {
  display: block !important;
}
.d-grid {
  display: grid !important;
}
.d-inline-grid {
  display: inline-grid !important;
}
.d-table {
  display: table !important;
}
.d-table-row {
  display: table-row !important;
}
.d-table-cell {
  display: table-cell !important;
}
.d-flex {
  display: flex !important;
}
.d-inline-flex {
  display: inline-flex !important;
}
.d-none {
  display: none !important;
}


/* ## Display switch
======================================== */

@media (min-width: 576px) {
  .d-lt-sm {
    display: none;
  }
}
@media (min-width: 768px) {
  .d-lt-md {
    display: none;
  }
}
@media (min-width: 992px) {
  .d-lt-lg {
    display: none;
  }
}
@media (min-width: 1200px) {
  .d-lt-xl {
    display: none;
  }
}
@media (min-width: 1400px) {
  .d-lt-2xl {
    display: none;
  }
}

@media not all and (min-width: 576px) {
  .d-gt-sm {
    display: none;
  }
}
@media not all and (min-width: 768px) {
  .d-gt-md {
    display: none;
  }
}
@media not all and (min-width: 992px) {
  .d-gt-lg {
    display: none;
  }
}
@media not all and (min-width: 1200px) {
  .d-gt-xl {
    display: none;
  }
}
@media not all and (min-width: 1400px) {
  .d-gt-2xl {
    display: none;
  }
}




/* ## Grid (Tailwind CSS)
======================================== */

/* ### Grid Template Columns
---------------------------------------- */

.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.grid-cols-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.grid-cols-6 {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
.grid-cols-none {
  grid-template-columns: none;
}
@media (min-width: 576px) {
  .grid-cols-sm-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid-cols-sm-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid-cols-sm-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .grid-cols-sm-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .grid-cols-sm-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .grid-cols-sm-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .grid-cols-sm-none {
    grid-template-columns: none;
  }
}
@media (min-width: 768px) {
  .grid-cols-md-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid-cols-md-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid-cols-md-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .grid-cols-md-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .grid-cols-md-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .grid-cols-md-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .grid-cols-md-none {
    grid-template-columns: none;
  }
}
@media (min-width: 992px) {
  .grid-cols-lg-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid-cols-lg-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid-cols-lg-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .grid-cols-lg-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .grid-cols-lg-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .grid-cols-lg-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .grid-cols-lg-none {
    grid-template-columns: none;
  }
}
@media (min-width: 1200px) {
  .grid-cols-xl-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid-cols-xl-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid-cols-xl-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .grid-cols-xl-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .grid-cols-xl-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .grid-cols-xl-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .grid-cols-xl-none {
    grid-template-columns: none;
  }
}
@media (min-width: 1400px) {
  .grid-cols-2xl-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid-cols-2xl-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid-cols-2xl-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .grid-cols-2xl-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .grid-cols-2xl-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .grid-cols-2xl-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .grid-cols-2xl-none {
    grid-template-columns: none;
  }
}

/* ### Grid Column Start / End
---------------------------------------- */
/* ### Grid Template Rows
---------------------------------------- */


/* ### Grid Row Start / End
---------------------------------------- */

.row-auto {
  grid-row: auto;
}
.row-span-1 {
  grid-row: span 1 / span 1;
}
.row-span-2 {
  grid-row: span 2 / span 2;
}
.row-span-3 {
  grid-row: span 3 / span 3;
}
.row-span-4 {
  grid-row: span 4 / span 4;
}
.row-span-5 {
  grid-row: span 5 / span 5;
}
.row-span-6 {
  grid-row: span 6 / span 6;
}
.row-span-full {
  grid-row: 1 / -1;
}


/* ### Grid Auto Flow
---------------------------------------- */

.grid-flow-row {
  grid-auto-flow: row;
}
.grid-flow-col {
  grid-auto-flow: column;
}
.grid-flow-dense {
  grid-auto-flow: dense;
}
.grid-flow-row-dense {
  grid-auto-flow: row dense;
}
.grid-flow-col-dense {
  grid-auto-flow: column dense;
}

/* ### Grid Auto Columns
---------------------------------------- */
/* ### Grid Auto Rows
---------------------------------------- */
/* ### Justify Content
---------------------------------------- */


/* ### Justify items
---------------------------------------- */

.justify-items-start {
  justify-items: start !important;
}
.justify-items-end {
  justify-items: end !important;
}
.justify-items-center {
  justify-items: center !important;
}
.justify-items-stretch {
  justify-items: stretch !important;
}


/* ### Justify self
---------------------------------------- */

.justify-self-auto {
  justify-self: auto !important;
}
.justify-self-start {
  justify-self: start !important;
}
.justify-self-end {
  justify-self: end !important;
}
.justify-self-center {
  justify-self: center !important;
}
.justify-self-stretch {
  justify-self: stretch !important;
}



/* ## Flex
======================================== */

.flex-1 {
  flex: 1 1 0% !important;
}
.flex-fill {
  flex: 1 1 auto !important;
}
.flex-row {
  flex-direction: row !important;
}
.flex-column {
  flex-direction: column !important;
}
.flex-row-reverse {
  flex-direction: row-reverse !important;
}
.flex-column-reverse {
  flex-direction: column-reverse !important;
}
.flex-grow-0 {
  flex-grow: 0 !important;
}
.flex-grow-1 {
  flex-grow: 1 !important;
}
.flex-shrink-0 {
  flex-shrink: 0 !important;
}
.flex-shrink-1 {
  flex-shrink: 1 !important;
}
.flex-wrap {
  flex-wrap: wrap !important;
}
.flex-nowrap {
  flex-wrap: nowrap !important;
}
.flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}
@media (min-width: 576px) {
  .flex-sm-1 {
    flex: 1 1 0% !important;
  }
  .flex-sm-fill {
    flex: 1 1 auto !important;
  }
  .flex-sm-row {
    flex-direction: row !important;
  }
  .flex-sm-column {
    flex-direction: column !important;
  }
  .flex-sm-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-sm-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-sm-wrap {
    flex-wrap: wrap !important;
  }
  .flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }
}
@media (min-width: 768px) {
  .flex-md-1 {
    flex: 1 1 0% !important;
  }
  .flex-md-fill {
    flex: 1 1 auto !important;
  }
  .flex-md-row {
    flex-direction: row !important;
  }
  .flex-md-column {
    flex-direction: column !important;
  }
  .flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-md-wrap {
    flex-wrap: wrap !important;
  }
  .flex-md-nowrap {
    flex-wrap: nowrap !important;
  }
}
@media (min-width: 992px) {
  .flex-lg-1 {
    flex: 1 1 0% !important;
  }
  .flex-lg-fill {
    flex: 1 1 auto !important;
  }
  .flex-lg-row {
    flex-direction: row !important;
  }
  .flex-lg-column {
    flex-direction: column !important;
  }
  .flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-lg-wrap {
    flex-wrap: wrap !important;
  }
  .flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }
}
@media (min-width: 1200px) {
  .flex-xl-1 {
    flex: 1 1 0% !important;
  }
  .flex-xl-fill {
    flex: 1 1 auto !important;
  }
  .flex-xl-row {
    flex-direction: row !important;
  }
  .flex-xl-column {
    flex-direction: column !important;
  }
  .flex-xl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-xl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-xl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }
}
@media (min-width: 1400px) {
  .flex-2xl-1 {
    flex: 1 1 0% !important;
  }
  .flex-2xl-fill {
    flex: 1 1 auto !important;
  }
  .flex-2xl-row {
    flex-direction: row !important;
  }
  .flex-2xl-column {
    flex-direction: column !important;
  }
  .flex-2xl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .flex-2xl-column-reverse {
    flex-direction: column-reverse !important;
  }
  .flex-2xl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .flex-2xl-shrink-1 {
    flex-shrink: 1 !important;
  }
  .flex-2xl-wrap {
    flex-wrap: wrap !important;
  }
  .flex-2xl-nowrap {
    flex-wrap: nowrap !important;
  }
}


/* ### Justify content
---------------------------------------- */

.justify-content-start {
  justify-content: flex-start !important;
}
.justify-content-end {
  justify-content: flex-end !important;
}
.justify-content-center {
  justify-content: center !important;
}
.justify-content-between {
  justify-content: space-between !important;
}
.justify-content-around {
  justify-content: space-around !important;
}
.justify-content-evenly {
  justify-content: space-evenly !important;
}
@media (min-width: 576px) {
  .justify-content-sm-start {
    justify-content: flex-start !important;
  }
  .justify-content-sm-end {
    justify-content: flex-end !important;
  }
  .justify-content-sm-center {
    justify-content: center !important;
  }
  .justify-content-sm-between {
    justify-content: space-between !important;
  }
  .justify-content-sm-around {
    justify-content: space-around !important;
  }
  .justify-content-sm-evenly {
    justify-content: space-evenly !important;
  }
}
@media (min-width: 768px) {
  .justify-content-md-start {
    justify-content: flex-start !important;
  }
  .justify-content-md-end {
    justify-content: flex-end !important;
  }
  .justify-content-md-center {
    justify-content: center !important;
  }
  .justify-content-md-between {
    justify-content: space-between !important;
  }
  .justify-content-md-around {
    justify-content: space-around !important;
  }
  .justify-content-md-evenly {
    justify-content: space-evenly !important;
  }
}
@media (min-width: 992px) {
  .justify-content-lg-start {
    justify-content: flex-start !important;
  }
  .justify-content-lg-end {
    justify-content: flex-end !important;
  }
  .justify-content-lg-center {
    justify-content: center !important;
  }
  .justify-content-lg-between {
    justify-content: space-between !important;
  }
  .justify-content-lg-around {
    justify-content: space-around !important;
  }
  .justify-content-lg-evenly {
    justify-content: space-evenly !important;
  }
}
@media (min-width: 1200px) {
  .justify-content-xl-start {
    justify-content: flex-start !important;
  }
  .justify-content-xl-end {
    justify-content: flex-end !important;
  }
  .justify-content-xl-center {
    justify-content: center !important;
  }
  .justify-content-xl-between {
    justify-content: space-between !important;
  }
  .justify-content-xl-around {
    justify-content: space-around !important;
  }
  .justify-content-xl-evenly {
    justify-content: space-evenly !important;
  }
}
@media (min-width: 1400px) {
  .justify-content-2xl-start {
    justify-content: flex-start !important;
  }
  .justify-content-2xl-end {
    justify-content: flex-end !important;
  }
  .justify-content-2xl-center {
    justify-content: center !important;
  }
  .justify-content-2xl-between {
    justify-content: space-between !important;
  }
  .justify-content-2xl-around {
    justify-content: space-around !important;
  }
  .justify-content-2xl-evenly {
    justify-content: space-evenly !important;
  }
}


/* ### Align items
---------------------------------------- */

.align-items-start {
  align-items: flex-start !important;
}
.align-items-end {
  align-items: flex-end !important;
}
.align-items-center {
  align-items: center !important;
}
.align-items-baseline {
  align-items: baseline !important;
}
.align-items-stretch {
  align-items: stretch !important;
}
@media (min-width: 576px) {
  .align-items-sm-start {
    align-items: flex-start !important;
  }
  .align-items-sm-end {
    align-items: flex-end !important;
  }
  .align-items-sm-center {
    align-items: center !important;
  }
  .align-items-sm-baseline {
    align-items: baseline !important;
  }
  .align-items-sm-stretch {
    align-items: stretch !important;
  }
}
@media (min-width: 768px) {
  .align-items-md-start {
    align-items: flex-start !important;
  }
  .align-items-md-end {
    align-items: flex-end !important;
  }
  .align-items-md-center {
    align-items: center !important;
  }
  .align-items-md-baseline {
    align-items: baseline !important;
  }
  .align-items-md-stretch {
    align-items: stretch !important;
  }
}
@media (min-width: 992px) {
  .align-items-lg-start {
    align-items: flex-start !important;
  }
  .align-items-lg-end {
    align-items: flex-end !important;
  }
  .align-items-lg-center {
    align-items: center !important;
  }
  .align-items-lg-baseline {
    align-items: baseline !important;
  }
  .align-items-lg-stretch {
    align-items: stretch !important;
  }
}
@media (min-width: 1200px) {
  .align-items-xl-start {
    align-items: flex-start !important;
  }
  .align-items-xl-end {
    align-items: flex-end !important;
  }
  .align-items-xl-center {
    align-items: center !important;
  }
  .align-items-xl-baseline {
    align-items: baseline !important;
  }
  .align-items-xl-stretch {
    align-items: stretch !important;
  }
}
@media (min-width: 1400px) {
  .align-items-2xl-start {
    align-items: flex-start !important;
  }
  .align-items-2xl-end {
    align-items: flex-end !important;
  }
  .align-items-2xl-center {
    align-items: center !important;
  }
  .align-items-2xl-baseline {
    align-items: baseline !important;
  }
  .align-items-2xl-stretch {
    align-items: stretch !important;
  }
}


/* ### Align content
---------------------------------------- */

.align-content-start {
  align-content: flex-start !important;
}
.align-content-end {
  align-content: flex-end !important;
}
.align-content-center {
  align-content: center !important;
}
.align-content-between {
  align-content: space-between !important;
}
.align-content-around {
  align-content: space-around !important;
}
.align-content-stretch {
  align-content: stretch !important;
}
@media (min-width: 576px) {
  .align-content-sm-start {
    align-content: flex-start !important;
  }
  .align-content-sm-end {
    align-content: flex-end !important;
  }
  .align-content-sm-center {
    align-content: center !important;
  }
  .align-content-sm-between {
    align-content: space-between !important;
  }
  .align-content-sm-around {
    align-content: space-around !important;
  }
  .align-content-sm-stretch {
    align-content: stretch !important;
  }
}
@media (min-width: 768px) {
  .align-content-md-start {
    align-content: flex-start !important;
  }
  .align-content-md-end {
    align-content: flex-end !important;
  }
  .align-content-md-center {
    align-content: center !important;
  }
  .align-content-md-between {
    align-content: space-between !important;
  }
  .align-content-md-around {
    align-content: space-around !important;
  }
  .align-content-md-stretch {
    align-content: stretch !important;
  }
}
@media (min-width: 992px) {
  .align-content-lg-start {
    align-content: flex-start !important;
  }
  .align-content-lg-end {
    align-content: flex-end !important;
  }
  .align-content-lg-center {
    align-content: center !important;
  }
  .align-content-lg-between {
    align-content: space-between !important;
  }
  .align-content-lg-around {
    align-content: space-around !important;
  }
  .align-content-lg-stretch {
    align-content: stretch !important;
  }
}
@media (min-width: 1200px) {
  .align-content-xl-start {
    align-content: flex-start !important;
  }
  .align-content-xl-end {
    align-content: flex-end !important;
  }
  .align-content-xl-center {
    align-content: center !important;
  }
  .align-content-xl-between {
    align-content: space-between !important;
  }
  .align-content-xl-around {
    align-content: space-around !important;
  }
  .align-content-xl-stretch {
    align-content: stretch !important;
  }
}
@media (min-width: 1400px) {
  .align-content-2xl-start {
    align-content: flex-start !important;
  }
  .align-content-2xl-end {
    align-content: flex-end !important;
  }
  .align-content-2xl-center {
    align-content: center !important;
  }
  .align-content-2xl-between {
    align-content: space-between !important;
  }
  .align-content-2xl-around {
    align-content: space-around !important;
  }
  .align-content-2xl-stretch {
    align-content: stretch !important;
  }
}


/* ### Align self
---------------------------------------- */

.align-self-auto {
  align-self: auto !important;
}
.align-self-start {
  align-self: flex-start !important;
}
.align-self-end {
  align-self: flex-end !important;
}
.align-self-center {
  align-self: center !important;
}
.align-self-baseline {
  align-self: baseline !important;
}
.align-self-stretch {
  align-self: stretch !important;
}
@media (min-width: 576px) {
  .align-self-sm-auto {
    align-self: auto !important;
  }
  .align-self-sm-start {
    align-self: flex-start !important;
  }
  .align-self-sm-end {
    align-self: flex-end !important;
  }
  .align-self-sm-center {
    align-self: center !important;
  }
  .align-self-sm-baseline {
    align-self: baseline !important;
  }
  .align-self-sm-stretch {
    align-self: stretch !important;
  }
}
@media (min-width: 768px) {
  .align-self-md-auto {
    align-self: auto !important;
  }
  .align-self-md-start {
    align-self: flex-start !important;
  }
  .align-self-md-end {
    align-self: flex-end !important;
  }
  .align-self-md-center {
    align-self: center !important;
  }
  .align-self-md-baseline {
    align-self: baseline !important;
  }
  .align-self-md-stretch {
    align-self: stretch !important;
  }
}
@media (min-width: 992px) {
  .align-self-lg-auto {
    align-self: auto !important;
  }
  .align-self-lg-start {
    align-self: flex-start !important;
  }
  .align-self-lg-end {
    align-self: flex-end !important;
  }
  .align-self-lg-center {
    align-self: center !important;
  }
  .align-self-lg-baseline {
    align-self: baseline !important;
  }
  .align-self-lg-stretch {
    align-self: stretch !important;
  }
}
@media (min-width: 1200px) {
  .align-self-xl-auto {
    align-self: auto !important;
  }
  .align-self-xl-start {
    align-self: flex-start !important;
  }
  .align-self-xl-end {
    align-self: flex-end !important;
  }
  .align-self-xl-center {
    align-self: center !important;
  }
  .align-self-xl-baseline {
    align-self: baseline !important;
  }
  .align-self-xl-stretch {
    align-self: stretch !important;
  }
}
@media (min-width: 1400px) {
  .align-self-2xl-auto {
    align-self: auto !important;
  }
  .align-self-2xl-start {
    align-self: flex-start !important;
  }
  .align-self-2xl-end {
    align-self: flex-end !important;
  }
  .align-self-2xl-center {
    align-self: center !important;
  }
  .align-self-2xl-baseline {
    align-self: baseline !important;
  }
  .align-self-2xl-stretch {
    align-self: stretch !important;
  }
}


/* ### Order
---------------------------------------- */

.order-first {
  order: -1 !important;
}
.order-0 {
  order: 0 !important;
}
.order-1 {
  order: 1 !important;
}
.order-2 {
  order: 2 !important;
}
.order-3 {
  order: 3 !important;
}
.order-4 {
  order: 4 !important;
}
.order-5 {
  order: 5 !important;
}
.order-last {
  order: 6 !important;
}
@media (min-width: 576px) {
  .order-sm-first {
    order: -1 !important;
  }
  .order-sm-last {
    order: 6 !important;
  }
}
@media (min-width: 768px) {
  .order-md-first {
    order: -1 !important;
  }
  .order-md-last {
    order: 6 !important;
  }
}
@media (min-width: 992px) {
  .order-lg-first {
    order: -1 !important;
  }
  .order-lg-last {
    order: 6 !important;
  }
}
@media (min-width: 1200px) {
  .order-xl-first {
    order: -1 !important;
  }
  .order-xl-last {
    order: 6 !important;
  }
}
@media (min-width: 1400px) {
  .order-2xl-first {
    order: -1 !important;
  }
  .order-2xl-last {
    order: 6 !important;
  }
}



/* ## Gap
======================================== */

.gap-0 {
  gap: 0 !important;
}
.gap-1 {
  gap: 0.25rem !important;
}
.gap-2 {
  gap: 0.5rem !important;
}
.gap-3 {
  gap: var(--space-g-3) !important;
}
.gap-4 {
  gap: var(--space-g-4) !important;
}
.gap-5 {
  gap: var(--space-g-5) !important;
}
.gap-6 {
  gap: var(--space-g-6) !important;
}
.gap-x-0 {
  column-gap: 0 !important;
}
.gap-x-1 {
  column-gap: 0.25rem !important;
}
.gap-x-2 {
  column-gap: 0.5rem !important;
}
.gap-x-3 {
  column-gap: var(--space-g-3) !important;
}
.gap-x-4 {
  column-gap: var(--space-g-4) !important;
}
.gap-x-5 {
  column-gap: var(--space-g-5) !important;
}
.gap-x-6 {
  column-gap: var(--space-g-6) !important;
}
.gap-y-0 {
  row-gap: 0 !important;
}
.gap-y-1 {
  row-gap: 0.25rem !important;
}
.gap-y-2 {
  row-gap: 0.5rem !important;
}
.gap-y-3 {
  row-gap: var(--space-g-3) !important;
}
.gap-y-4 {
  row-gap: var(--space-g-4) !important;
}
.gap-y-5 {
  row-gap: var(--space-g-5) !important;
}
.gap-y-6 {
  row-gap: var(--space-g-6) !important;
}



/* ## Interactions
======================================== */

.user-select-all {
  -webkit-user-select: all !important;
  user-select: all !important;
}
.user-select-auto {
  -webkit-user-select: auto !important;
  user-select: auto !important;
}
.user-select-none {
  -webkit-user-select: none !important;
  user-select: none !important;
}

.pe-none {
  pointer-events: none !important;
}
.pe-auto {
  pointer-events: auto !important;
}



/* ## Link
======================================== */

/* ### Link opacity
---------------------------------------- */

/* ### Link underlines
---------------------------------------- */
/* Underline color */

/* Underline offset */
.link-offset-1 {
  text-underline-offset: 0.125em !important;
}
.link-offset-1-hover:hover {
  text-underline-offset: 0.125em !important;
}
.link-offset-2 {
  text-underline-offset: 0.25em !important;
}
.link-offset-2-hover:hover {
  text-underline-offset: 0.25em !important;
}
.link-offset-3 {
  text-underline-offset: 0.375em !important;
}
.link-offset-3-hover:hover {
  text-underline-offset: 0.375em !important;
}
.link-offset-4 {
  text-underline-offset: 0.5em !important;
}
.link-offset-4-hover:hover {
  text-underline-offset: 0.5em !important;
}


/* ### Colored links
---------------------------------------- */

.link-inherit {
  color: inherit !important;
  text-decoration: none !important;
}
@media (hover: hover) {
  .link-inherit:hover {
    color: inherit !important;
    text-decoration: underline !important;
  }
}
.link-inherit:focus {
  color: inherit !important;
  text-decoration: underline !important;
}



/* ## Object fit
======================================== */

.object-fit-contain {
  -o-object-fit: contain !important;
  object-fit: contain !important;
}
.object-fit-cover {
  -o-object-fit: cover !important;
  object-fit: cover !important;
}
.object-fit-fill {
  -o-object-fit: fill !important;
  object-fit: fill !important;
}
.object-fit-scale {
  -o-object-fit: scale-down !important;
  object-fit: scale-down !important;
}
.object-fit-none {
  -o-object-fit: none !important;
  object-fit: none !important;
}

.object-fit-bottom {
  object-position: bottom !important;
}
.object-fit-center {
  object-position: center !important;
}
.object-fit-left {
  object-position: left !important;
}
.object-fit-left-bottom {
  object-position: left bottom !important;
}
.object-fit-left-top {
  object-position: left top !important;
}
.object-fit-right {
  object-position: right !important;
}
.object-fit-right-bottom {
  object-position: right bottom !important;
}
.object-fit-right-top {
  object-position: right top !important;
}
.object-fit-top {
  object-position: top !important;
}



/* ## Opacity
======================================== */

.opacity-0 {
  opacity: 0 !important;
}
.opacity-25 {
  opacity: 0.25 !important;
}
.opacity-50 {
  opacity: 0.5 !important;
}
.opacity-75 {
  opacity: 0.75 !important;
}
.opacity-100 {
  opacity: 1 !important;
}



/* ## Overflow
======================================== */

.overflow-auto {
  overflow: auto !important;
}
.overflow-hidden {
  overflow: hidden !important;
}
.overflow-visible {
  overflow: visible !important;
}
.overflow-scroll {
  overflow: scroll !important;
}
.overflow-x-auto {
  overflow-x: auto !important;
}
.overflow-x-hidden {
  overflow-x: hidden !important;
}
.overflow-x-visible {
  overflow-x: visible !important;
}
.overflow-x-scroll {
  overflow-x: scroll !important;
}
.overflow-y-auto {
  overflow-y: auto !important;
}
.overflow-y-hidden {
  overflow-y: hidden !important;
}
.overflow-y-visible {
  overflow-y: visible !important;
}
.overflow-y-scroll {
  overflow-y: scroll !important;
}



/* ## Position
======================================== */

.position-static {
  position: static !important;
}
.position-relative {
  position: relative !important;
}
.position-absolute {
  position: absolute !important;
}
.position-fixed {
  position: fixed !important;
}
.position-sticky {
  position: -webkit-sticky !important;
  position: sticky !important;
}

.top-0 {
  top: 0 !important;
}
.top-50 {
  top: 50% !important;
}
.top-100 {
  top: 100% !important;
}
.bottom-0 {
  bottom: 0 !important;
}
.bottom-50 {
  bottom: 50% !important;
}
.bottom-100 {
  bottom: 100% !important;
}
.start-0 {
  left: 0 !important;
}
.start-50 {
  left: 50% !important;
}
.start-100 {
  left: 100% !important;
}
.end-0 {
  right: 0 !important;
}
.end-50 {
  right: 50% !important;
}
.end-100 {
  right: 100% !important;
}
.translate-middle {
  transform: translate(-50%, -50%) !important;
}
.translate-middle-x {
  transform: translateX(-50%) !important;
}
.translate-middle-y {
  transform: translateY(-50%) !important;
}

.fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030;
}
.fixed-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030;
}
.sticky-top {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 1020;
}
.sticky-bottom {
  position: -webkit-sticky;
  position: sticky;
  bottom: 0;
  z-index: 1020;
}



/* ## Shadows
======================================== */

.shadow-none {
  box-shadow: none !important;
}
.shadow-sm {
  box-shadow: 0.125rem 0.125rem 0.25rem rgb(0 0 0 / 0.25) !important;
}
.shadow-md {
  box-shadow: 0.25rem 0.25rem 0.5rem rgb(0 0 0 / 0.2) !important;
}
.shadow-lg {
  box-shadow: 0.5rem 0.5rem 1rem rgb(0 0 0 / 0.15) !important;
}



/* ## Sizing
======================================== */

.w-25 {
  width: 25% !important;
}
.w-50 {
  width: 50% !important;
}
.w-75 {
  width: 75% !important;
}
.w-100 {
  width: 100% !important;
}
.w-auto {
  width: auto !important;
}
.mw-100 {
  max-width: 100% !important;
}
.vw-100 {
  width: 100vw !important;
}
.min-vw-100 {
  min-width: 100vw !important;
}
.h-25 {
  height: 25% !important;
}
.h-50 {
  height: 50% !important;
}
.h-75 {
  height: 75% !important;
}
.h-100 {
  height: 100% !important;
}
.h-auto {
  height: auto !important;
}
.mh-100 {
  max-height: 100% !important;
}
.vh-100 {
  height: 100vh !important;
}
.min-vh-100 {
  min-height: 100vh !important;
}
.w-min {
  width: min-content;
}
.w-max {
  width: max-content;
}
.w-fit {
  width: fit-content;
}
@media (min-width: 576px) {
  .w-sm-100 {
    width: 100% !important;
  }
  .w-sm-auto {
    width: auto !important;
  }
  .mw-sm-100 {
    max-width: 100% !important;
  }
  .vw-sm-100 {
    width: 100vw !important;
  }
  .min-vw-sm-100 {
    min-width: 100vw !important;
  }
  .w-sm-min {
    width: min-content;
  }
  .w-sm-max {
    width: max-content;
  }
  .w-sm-fit {
    width: fit-content;
  }
}
@media (min-width: 768px) {
  .w-md-100 {
    width: 100% !important;
  }
  .w-md-auto {
    width: auto !important;
  }
  .mw-md-100 {
    max-width: 100% !important;
  }
  .vw-md-100 {
    width: 100vw !important;
  }
  .min-vw-md-100 {
    min-width: 100vw !important;
  }
  .w-md-min {
    width: min-content;
  }
  .w-md-max {
    width: max-content;
  }
  .w-md-fit {
    width: fit-content;
  }
}
@media (min-width: 992px) {
  .w-lg-100 {
    width: 100% !important;
  }
  .w-lg-auto {
    width: auto !important;
  }
  .mw-lg-100 {
    max-width: 100% !important;
  }
  .vw-lg-100 {
    width: 100vw !important;
  }
  .min-vw-lg-100 {
    min-width: 100vw !important;
  }
  .w-lg-min {
    width: min-content;
  }
  .w-lg-max {
    width: max-content;
  }
  .w-lg-fit {
    width: fit-content;
  }
}
@media (min-width: 1200px) {
  .w-xl-100 {
    width: 100% !important;
  }
  .w-xl-auto {
    width: auto !important;
  }
  .mw-xl-100 {
    max-width: 100% !important;
  }
  .vw-xl-100 {
    width: 100vw !important;
  }
  .min-vw-xl-100 {
    min-width: 100vw !important;
  }
  .w-xl-min {
    width: min-content;
  }
  .w-xl-max {
    width: max-content;
  }
  .w-xl-fit {
    width: fit-content;
  }
}
@media (min-width: 1400px) {
  .w-2xl-100 {
    width: 100% !important;
  }
  .w-2xl-auto {
    width: auto !important;
  }
  .mw-2xl-100 {
    max-width: 100% !important;
  }
  .vw-2xl-100 {
    width: 100vw !important;
  }
  .min-vw-2xl-100 {
    min-width: 100vw !important;
  }
  .w-2xl-min {
    width: min-content;
  }
  .w-2xl-max {
    width: max-content;
  }
  .w-2xl-fit {
    width: fit-content;
  }
}


/* ### 特殊クラスなど
---------------------------------------- */

.w-8em {
  width: 8em;
}
.w-12em {
  width: 12em;
}
.w-15em {
  width: 15em;
}
.w-310px {
  width: 310px;
}
.w-130px {
  width: 130px;
}
.mw-600px {
  max-width: 600px;
}



/* ## Spacing
======================================== */

.m-0 {
  margin: 0 !important;
}
.mt-0, .my-0 {
  margin-top: 0 !important;
}
.mr-0, .mx-0 {
  margin-right: 0 !important;
}
.mb-0, .my-0 {
  margin-bottom: 0 !important;
}
.ml-0, .mx-0 {
  margin-left: 0 !important;
}
.m-1 {
  margin: 0.25rem !important;
}
.mt-1, .my-1 {
  margin-top: 0.25rem !important;
}
.mr-1, .mx-1 {
  margin-right: 0.25rem !important;
}
.mb-1, .my-1 {
  margin-bottom: 0.25rem !important;
}
.ml-1, .mx-1 {
  margin-left: 0.25rem !important;
}
.m-2 {
  margin: 0.5rem !important;
}
.mt-2, .my-2 {
  margin-top: 0.5rem !important;
}
.mr-2, .mx-2 {
  margin-right: 0.5rem !important;
}
.mb-2, .my-2 {
  margin-bottom: 0.5rem !important;
}
.ml-2, .mx-2 {
  margin-left: 0.5rem !important;
}
.m-3 {
  margin: var(--space-m-3) !important;
}
.mt-3, .my-3 {
  margin-top: var(--space-m-3) !important;
}
.mr-3, .mx-3 {
  margin-right: var(--space-m-3) !important;
}
.mb-3, .my-3 {
  margin-bottom: var(--space-m-3) !important;
}
.ml-3, .mx-3 {
  margin-left: var(--space-m-3) !important;
}
.m-4 {
  margin: var(--space-m-4) !important;
}
.mt-4, .my-4 {
  margin-top: var(--space-m-4) !important;
}
.mr-4, .mx-4 {
  margin-right: var(--space-m-4) !important;
}
.mb-4, .my-4 {
  margin-bottom: var(--space-m-4) !important;
}
.ml-4, .mx-4 {
  margin-left: var(--space-m-4) !important;
}
.m-5 {
  margin: var(--space-m-5) !important;
}
.mt-5, .my-5 {
  margin-top: var(--space-m-5) !important;
}
.mr-5, .mx-5 {
  margin-right: var(--space-m-5) !important;
}
.mb-5, .my-5 {
  margin-bottom: var(--space-m-5) !important;
}
.ml-5, .mx-5 {
  margin-left: var(--space-m-5) !important;
}
.m-6 {
  margin: var(--space-m-6) !important;
}
.mt-6, .my-6 {
  margin-top: var(--space-m-6) !important;
}
.mr-6, .mx-6 {
  margin-right: var(--space-m-6) !important;
}
.mb-6, .my-6 {
  margin-bottom: var(--space-m-6) !important;
}
.ml-6, .mx-6 {
  margin-left: var(--space-m-6) !important;
}
.mt-7, .my-7 {
  margin-top: var(--space-m-7) !important;
}
.mb-7, .my-7 {
  margin-bottom: var(--space-m-7) !important;
}
.mt-8, .my-8 {
  margin-top: var(--space-m-8) !important;
}
.mb-8, .my-8 {
  margin-bottom: var(--space-m-8) !important;
}
.m-auto {
  margin: auto !important;
}
.mt-auto, .my-auto {
  margin-top: auto !important;
}
.mr-auto, .mx-auto {
  margin-right: auto !important;
}
.mb-auto, .my-auto {
  margin-bottom: auto !important;
}
.ml-auto, .mx-auto {
  margin-left: auto !important;
}
.p-0 {
  padding: 0 !important;
}
.pt-0, .py-0 {
  padding-top: 0 !important;
}
.pr-0, .px-0 {
  padding-right: 0 !important;
}
.pb-0, .py-0 {
  padding-bottom: 0 !important;
}
.pl-0, .px-0 {
  padding-left: 0 !important;
}
.p-1 {
  padding: 0.25rem !important;
}
.pt-1, .py-1 {
  padding-top: 0.25rem !important;
}
.pr-1, .px-1 {
  padding-right: 0.25rem !important;
}
.pb-1, .py-1 {
  padding-bottom: 0.25rem !important;
}
.pl-1, .px-1 {
  padding-left: 0.25rem !important;
}
.p-2 {
  padding: 0.5rem !important;
}
.pt-2, .py-2 {
  padding-top: 0.5rem !important;
}
.pr-2, .px-2 {
  padding-right: 0.5rem !important;
}
.pb-2, .py-2 {
  padding-bottom: 0.5rem !important;
}
.pl-2, .px-2 {
  padding-left: 0.5rem !important;
}
.p-3 {
  padding: var(--space-p-3) !important;
}
.pt-3, .py-3 {
  padding-top: var(--space-p-3) !important;
}
.pr-3, .px-3 {
  padding-right: var(--space-p-3) !important;
}
.pb-3, .py-3 {
  padding-bottom: var(--space-p-3) !important;
}
.pl-3, .px-3 {
  padding-left: var(--space-p-3) !important;
}
.p-4 {
  padding: var(--space-p-4) !important;
}
.pt-4, .py-4 {
  padding-top: var(--space-p-4) !important;
}
.pr-4, .px-4 {
  padding-right: var(--space-p-4) !important;
}
.pb-4, .py-4 {
  padding-bottom: var(--space-p-4) !important;
}
.pl-4, .px-4 {
  padding-left: var(--space-p-4) !important;
}
.p-5 {
  padding: var(--space-p-5) !important;
}
.pt-5, .py-5 {
  padding-top: var(--space-p-5) !important;
}
.pr-5, .px-5 {
  padding-right: var(--space-p-5) !important;
}
.pb-5, .py-5 {
  padding-bottom: var(--space-p-5) !important;
}
.pl-5, .px-5 {
  padding-left: var(--space-p-5) !important;
}
.p-6 {
  padding: var(--space-p-6) !important;
}
.pt-6, .py-6 {
  padding-top: var(--space-p-6) !important;
}
.pr-6, .px-6 {
  padding-right: var(--space-p-6) !important;
}
.pb-6, .py-6 {
  padding-bottom: var(--space-p-6) !important;
}
.pl-6, .px-6 {
  padding-left: var(--space-p-6) !important;
}
.p-7 {
  padding: var(--space-p-7) !important;
}
.pt-7, .py-7 {
  padding-top: var(--space-p-7) !important;
}
.pr-7, .px-7 {
  padding-right: var(--space-p-7) !important;
}
.pb-7, .py-7 {
  padding-bottom: var(--space-p-7) !important;
}
.pl-7, .px-7 {
  padding-left: var(--space-p-7) !important;
}
.p-8 {
  padding: var(--space-p-8) !important;
}
.pt-8, .py-8 {
  padding-top: var(--space-p-8) !important;
}
.pr-8, .px-8 {
  padding-right: var(--space-p-8) !important;
}
.pb-8, .py-8 {
  padding-bottom: var(--space-p-8) !important;
}
.pl-8, .px-8 {
  padding-left: var(--space-p-8) !important;
}
@media (min-width: 576px) {
  .m-sm-0 {
    margin: 0 !important;
  }
  .mt-sm-0, .my-sm-0 {
    margin-top: 0 !important;
  }
  .mr-sm-0, .mx-sm-0 {
    margin-right: 0 !important;
  }
  .mb-sm-0, .my-sm-0 {
    margin-bottom: 0 !important;
  }
  .ml-sm-0, .mx-sm-0 {
    margin-left: 0 !important;
  }
  .m-sm-1 {
    margin: 0.25rem !important;
  }
  .mt-sm-1, .my-sm-1 {
    margin-top: 0.25rem !important;
  }
  .mr-sm-1, .mx-sm-1 {
    margin-right: 0.25rem !important;
  }
  .mb-sm-1, .my-sm-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-sm-1, .mx-sm-1 {
    margin-left: 0.25rem !important;
  }
  .m-sm-2 {
    margin: 0.5rem !important;
  }
  .mt-sm-2, .my-sm-2 {
    margin-top: 0.5rem !important;
  }
  .mr-sm-2, .mx-sm-2 {
    margin-right: 0.5rem !important;
  }
  .mb-sm-2, .my-sm-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-sm-2, .mx-sm-2 {
    margin-left: 0.5rem !important;
  }
  .m-sm-3 {
    margin: var(--space-m-3) !important;
  }
  .mt-sm-3, .my-sm-3 {
    margin-top: var(--space-m-3) !important;
  }
  .mr-sm-3, .mx-sm-3 {
    margin-right: var(--space-m-3) !important;
  }
  .mb-sm-3, .my-sm-3 {
    margin-bottom: var(--space-m-3) !important;
  }
  .ml-sm-3, .mx-sm-3 {
    margin-left: var(--space-m-3) !important;
  }
  .m-sm-4 {
    margin: var(--space-m-4) !important;
  }
  .mt-sm-4, .my-sm-4 {
    margin-top: var(--space-m-4) !important;
  }
  .mr-sm-4, .mx-sm-4 {
    margin-right: var(--space-m-4) !important;
  }
  .mb-sm-4, .my-sm-4 {
    margin-bottom: var(--space-m-4) !important;
  }
  .ml-sm-4, .mx-sm-4 {
    margin-left: var(--space-m-4) !important;
  }
  .m-sm-5 {
    margin: var(--space-m-5) !important;
  }
  .mt-sm-5, .my-sm-5 {
    margin-top: var(--space-m-5) !important;
  }
  .mr-sm-5, .mx-sm-5 {
    margin-right: var(--space-m-5) !important;
  }
  .mb-sm-5, .my-sm-5 {
    margin-bottom: var(--space-m-5) !important;
  }
  .ml-sm-5, .mx-sm-5 {
    margin-left: var(--space-m-5) !important;
  }
  .m-sm-6 {
    margin: var(--space-m-6) !important;
  }
  .mt-sm-6, .my-sm-6 {
    margin-top: var(--space-m-6) !important;
  }
  .mr-sm-6, .mx-sm-6 {
    margin-right: var(--space-m-6) !important;
  }
  .mb-sm-6, .my-sm-6 {
    margin-bottom: var(--space-m-6) !important;
  }
  .ml-sm-6, .mx-sm-6 {
    margin-left: var(--space-m-6) !important;
  }
  .mt-sm-7, .my-sm-7 {
    margin-top: var(--space-m-7) !important;
  }
  .mb-sm-7, .my-sm-7 {
    margin-bottom: var(--space-m-7) !important;
  }
  .mt-sm-8, .my-sm-8 {
    margin-top: var(--space-m-8) !important;
  }
  .mb-sm-8, .my-sm-8 {
    margin-bottom: var(--space-m-8) !important;
  }
  .m-sm-auto {
    margin: auto !important;
  }
  .mt-sm-auto, .my-sm-auto {
    margin-top: auto !important;
  }
  .mr-sm-auto, .mx-sm-auto {
    margin-right: auto !important;
  }
  .mb-sm-auto, .my-sm-auto {
    margin-bottom: auto !important;
  }
  .ml-sm-auto, .mx-sm-auto {
    margin-left: auto !important;
  }
  .p-sm-0 {
    padding: 0 !important;
  }
  .pt-sm-0, .py-sm-0 {
    padding-top: 0 !important;
  }
  .pr-sm-0, .px-sm-0 {
    padding-right: 0 !important;
  }
  .pb-sm-0, .py-sm-0 {
    padding-bottom: 0 !important;
  }
  .pl-sm-0, .px-sm-0 {
    padding-left: 0 !important;
  }
  .p-sm-1 {
    padding: 0.25rem !important;
  }
  .pt-sm-1, .py-sm-1 {
    padding-top: 0.25rem !important;
  }
  .pr-sm-1, .px-sm-1 {
    padding-right: 0.25rem !important;
  }
  .pb-sm-1, .py-sm-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-sm-1, .px-sm-1 {
    padding-left: 0.25rem !important;
  }
  .p-sm-2 {
    padding: 0.5rem !important;
  }
  .pt-sm-2, .py-sm-2 {
    padding-top: 0.5rem !important;
  }
  .pr-sm-2, .px-sm-2 {
    padding-right: 0.5rem !important;
  }
  .pb-sm-2, .py-sm-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-sm-2, .px-sm-2 {
    padding-left: 0.5rem !important;
  }
  .p-sm-3 {
    padding: var(--space-p-3) !important;
  }
  .pt-sm-3, .py-sm-3 {
    padding-top: var(--space-p-3) !important;
  }
  .pr-sm-3, .px-sm-3 {
    padding-right: var(--space-p-3) !important;
  }
  .pb-sm-3, .py-sm-3 {
    padding-bottom: var(--space-p-3) !important;
  }
  .pl-sm-3, .px-sm-3 {
    padding-left: var(--space-p-3) !important;
  }
  .p-sm-4 {
    padding: var(--space-p-4) !important;
  }
  .pt-sm-4, .py-sm-4 {
    padding-top: var(--space-p-4) !important;
  }
  .pr-sm-4, .px-sm-4 {
    padding-right: var(--space-p-4) !important;
  }
  .pb-sm-4, .py-sm-4 {
    padding-bottom: var(--space-p-4) !important;
  }
  .pl-sm-4, .px-sm-4 {
    padding-left: var(--space-p-4) !important;
  }
  .p-sm-5 {
    padding: var(--space-p-5) !important;
  }
  .pt-sm-5, .py-sm-5 {
    padding-top: var(--space-p-5) !important;
  }
  .pr-sm-5, .px-sm-5 {
    padding-right: var(--space-p-5) !important;
  }
  .pb-sm-5, .py-sm-5 {
    padding-bottom: var(--space-p-5) !important;
  }
  .pl-sm-5, .px-sm-5 {
    padding-left: var(--space-p-5) !important;
  }
  .p-sm-6 {
    padding: var(--space-p-6) !important;
  }
  .pt-sm-6, .py-sm-6 {
    padding-top: var(--space-p-6) !important;
  }
  .pr-sm-6, .px-sm-6 {
    padding-right: var(--space-p-6) !important;
  }
  .pb-sm-6, .py-sm-6 {
    padding-bottom: var(--space-p-6) !important;
  }
  .pl-sm-6, .px-sm-6 {
    padding-left: var(--space-p-6) !important;
  }
  .p-sm-7 {
    padding: var(--space-p-7) !important;
  }
  .pt-sm-7, .py-sm-7 {
    padding-top: var(--space-p-7) !important;
  }
  .pr-sm-7, .px-sm-7 {
    padding-right: var(--space-p-7) !important;
  }
  .pb-sm-7, .py-sm-7 {
    padding-bottom: var(--space-p-7) !important;
  }
  .pl-sm-7, .px-sm-7 {
    padding-left: var(--space-p-7) !important;
  }
}
@media (min-width: 768px) {
  .m-md-0 {
    margin: 0 !important;
  }
  .mt-md-0, .my-md-0 {
    margin-top: 0 !important;
  }
  .mr-md-0, .mx-md-0 {
    margin-right: 0 !important;
  }
  .mb-md-0, .my-md-0 {
    margin-bottom: 0 !important;
  }
  .ml-md-0, .mx-md-0 {
    margin-left: 0 !important;
  }
  .m-md-1 {
    margin: 0.25rem !important;
  }
  .mt-md-1, .my-md-1 {
    margin-top: 0.25rem !important;
  }
  .mr-md-1, .mx-md-1 {
    margin-right: 0.25rem !important;
  }
  .mb-md-1, .my-md-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-md-1, .mx-md-1 {
    margin-left: 0.25rem !important;
  }
  .m-md-2 {
    margin: 0.5rem !important;
  }
  .mt-md-2, .my-md-2 {
    margin-top: 0.5rem !important;
  }
  .mr-md-2, .mx-md-2 {
    margin-right: 0.5rem !important;
  }
  .mb-md-2, .my-md-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-md-2, .mx-md-2 {
    margin-left: 0.5rem !important;
  }
  .m-md-3 {
    margin: var(--space-m-3) !important;
  }
  .mt-md-3, .my-md-3 {
    margin-top: var(--space-m-3) !important;
  }
  .mr-md-3, .mx-md-3 {
    margin-right: var(--space-m-3) !important;
  }
  .mb-md-3, .my-md-3 {
    margin-bottom: var(--space-m-3) !important;
  }
  .ml-md-3, .mx-md-3 {
    margin-left: var(--space-m-3) !important;
  }
  .m-md-4 {
    margin: var(--space-m-4) !important;
  }
  .mt-md-4, .my-md-4 {
    margin-top: var(--space-m-4) !important;
  }
  .mr-md-4, .mx-md-4 {
    margin-right: var(--space-m-4) !important;
  }
  .mb-md-4, .my-md-4 {
    margin-bottom: var(--space-m-4) !important;
  }
  .ml-md-4, .mx-md-4 {
    margin-left: var(--space-m-4) !important;
  }
  .m-md-5 {
    margin: var(--space-m-5) !important;
  }
  .mt-md-5, .my-md-5 {
    margin-top: var(--space-m-5) !important;
  }
  .mr-md-5, .mx-md-5 {
    margin-right: var(--space-m-5) !important;
  }
  .mb-md-5, .my-md-5 {
    margin-bottom: var(--space-m-5) !important;
  }
  .ml-md-5, .mx-md-5 {
    margin-left: var(--space-m-5) !important;
  }
  .m-md-6 {
    margin: var(--space-m-6) !important;
  }
  .mt-md-6, .my-md-6 {
    margin-top: var(--space-m-6) !important;
  }
  .mr-md-6, .mx-md-6 {
    margin-right: var(--space-m-6) !important;
  }
  .mb-md-6, .my-md-6 {
    margin-bottom: var(--space-m-6) !important;
  }
  .ml-md-6, .mx-md-6 {
    margin-left: var(--space-m-6) !important;
  }
  .mt-md-7, .my-md-7 {
    margin-top: var(--space-m-7) !important;
  }
  .mb-md-7, .my-md-7 {
    margin-bottom: var(--space-m-7) !important;
  }
  .mt-md-8, .my-md-8 {
    margin-top: var(--space-m-8) !important;
  }
  .mb-md-8, .my-md-8 {
    margin-bottom: var(--space-m-8) !important;
  }
  .m-md-auto {
    margin: auto !important;
  }
  .mt-md-auto, .my-md-auto {
    margin-top: auto !important;
  }
  .mr-md-auto, .mx-md-auto {
    margin-right: auto !important;
  }
  .mb-md-auto, .my-md-auto {
    margin-bottom: auto !important;
  }
  .ml-md-auto, .mx-md-auto {
    margin-left: auto !important;
  }
  .p-md-0 {
    padding: 0 !important;
  }
  .pt-md-0, .py-md-0 {
    padding-top: 0 !important;
  }
  .pr-md-0, .px-md-0 {
    padding-right: 0 !important;
  }
  .pb-md-0, .py-md-0 {
    padding-bottom: 0 !important;
  }
  .pl-md-0, .px-md-0 {
    padding-left: 0 !important;
  }
  .p-md-1 {
    padding: 0.25rem !important;
  }
  .pt-md-1, .py-md-1 {
    padding-top: 0.25rem !important;
  }
  .pr-md-1, .px-md-1 {
    padding-right: 0.25rem !important;
  }
  .pb-md-1, .py-md-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-md-1, .px-md-1 {
    padding-left: 0.25rem !important;
  }
  .p-md-2 {
    padding: 0.5rem !important;
  }
  .pt-md-2, .py-md-2 {
    padding-top: 0.5rem !important;
  }
  .pr-md-2, .px-md-2 {
    padding-right: 0.5rem !important;
  }
  .pb-md-2, .py-md-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-md-2, .px-md-2 {
    padding-left: 0.5rem !important;
  }
  .p-md-3 {
    padding: var(--space-p-3) !important;
  }
  .pt-md-3, .py-md-3 {
    padding-top: var(--space-p-3) !important;
  }
  .pr-md-3, .px-md-3 {
    padding-right: var(--space-p-3) !important;
  }
  .pb-md-3, .py-md-3 {
    padding-bottom: var(--space-p-3) !important;
  }
  .pl-md-3, .px-md-3 {
    padding-left: var(--space-p-3) !important;
  }
  .p-md-4 {
    padding: var(--space-p-4) !important;
  }
  .pt-md-4, .py-md-4 {
    padding-top: var(--space-p-4) !important;
  }
  .pr-md-4, .px-md-4 {
    padding-right: var(--space-p-4) !important;
  }
  .pb-md-4, .py-md-4 {
    padding-bottom: var(--space-p-4) !important;
  }
  .pl-md-4, .px-md-4 {
    padding-left: var(--space-p-4) !important;
  }
  .p-md-5 {
    padding: var(--space-p-5) !important;
  }
  .pt-md-5, .py-md-5 {
    padding-top: var(--space-p-5) !important;
  }
  .pr-md-5, .px-md-5 {
    padding-right: var(--space-p-5) !important;
  }
  .pb-md-5, .py-md-5 {
    padding-bottom: var(--space-p-5) !important;
  }
  .pl-md-5, .px-md-5 {
    padding-left: var(--space-p-5) !important;
  }
  .p-md-6 {
    padding: var(--space-p-6) !important;
  }
  .pt-md-6, .py-md-6 {
    padding-top: var(--space-p-6) !important;
  }
  .pr-md-6, .px-md-6 {
    padding-right: var(--space-p-6) !important;
  }
  .pb-md-6, .py-md-6 {
    padding-bottom: var(--space-p-6) !important;
  }
  .pl-md-6, .px-md-6 {
    padding-left: var(--space-p-6) !important;
  }
  .p-md-7 {
    padding: var(--space-p-7) !important;
  }
  .pt-md-7, .py-md-7 {
    padding-top: var(--space-p-7) !important;
  }
  .pr-md-7, .px-md-7 {
    padding-right: var(--space-p-7) !important;
  }
  .pb-md-7, .py-md-7 {
    padding-bottom: var(--space-p-7) !important;
  }
  .pl-md-7, .px-md-7 {
    padding-left: var(--space-p-7) !important;
  }
}
@media (min-width: 992px) {
  .m-lg-0 {
    margin: 0 !important;
  }
  .mt-lg-0, .my-lg-0 {
    margin-top: 0 !important;
  }
  .mr-lg-0, .mx-lg-0 {
    margin-right: 0 !important;
  }
  .mb-lg-0, .my-lg-0 {
    margin-bottom: 0 !important;
  }
  .ml-lg-0, .mx-lg-0 {
    margin-left: 0 !important;
  }
  .m-lg-1 {
    margin: 0.25rem !important;
  }
  .mt-lg-1, .my-lg-1 {
    margin-top: 0.25rem !important;
  }
  .mr-lg-1, .mx-lg-1 {
    margin-right: 0.25rem !important;
  }
  .mb-lg-1, .my-lg-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-lg-1, .mx-lg-1 {
    margin-left: 0.25rem !important;
  }
  .m-lg-2 {
    margin: 0.5rem !important;
  }
  .mt-lg-2, .my-lg-2 {
    margin-top: 0.5rem !important;
  }
  .mr-lg-2, .mx-lg-2 {
    margin-right: 0.5rem !important;
  }
  .mb-lg-2, .my-lg-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-lg-2, .mx-lg-2 {
    margin-left: 0.5rem !important;
  }
  .m-lg-3 {
    margin: var(--space-m-3) !important;
  }
  .mt-lg-3, .my-lg-3 {
    margin-top: var(--space-m-3) !important;
  }
  .mr-lg-3, .mx-lg-3 {
    margin-right: var(--space-m-3) !important;
  }
  .mb-lg-3, .my-lg-3 {
    margin-bottom: var(--space-m-3) !important;
  }
  .ml-lg-3, .mx-lg-3 {
    margin-left: var(--space-m-3) !important;
  }
  .m-lg-4 {
    margin: var(--space-m-4) !important;
  }
  .mt-lg-4, .my-lg-4 {
    margin-top: var(--space-m-4) !important;
  }
  .mr-lg-4, .mx-lg-4 {
    margin-right: var(--space-m-4) !important;
  }
  .mb-lg-4, .my-lg-4 {
    margin-bottom: var(--space-m-4) !important;
  }
  .ml-lg-4, .mx-lg-4 {
    margin-left: var(--space-m-4) !important;
  }
  .m-lg-5 {
    margin: var(--space-m-5) !important;
  }
  .mt-lg-5, .my-lg-5 {
    margin-top: var(--space-m-5) !important;
  }
  .mr-lg-5, .mx-lg-5 {
    margin-right: var(--space-m-5) !important;
  }
  .mb-lg-5, .my-lg-5 {
    margin-bottom: var(--space-m-5) !important;
  }
  .ml-lg-5, .mx-lg-5 {
    margin-left: var(--space-m-5) !important;
  }
  .m-lg-6 {
    margin: var(--space-m-6) !important;
  }
  .mt-lg-6, .my-lg-6 {
    margin-top: var(--space-m-6) !important;
  }
  .mr-lg-6, .mx-lg-6 {
    margin-right: var(--space-m-6) !important;
  }
  .mb-lg-6, .my-lg-6 {
    margin-bottom: var(--space-m-6) !important;
  }
  .ml-lg-6, .mx-lg-6 {
    margin-left: var(--space-m-6) !important;
  }
  .mt-lg-7, .my-lg-7 {
    margin-top: var(--space-m-7) !important;
  }
  .mb-lg-7, .my-lg-7 {
    margin-bottom: var(--space-m-7) !important;
  }
  .mt-lg-8, .my-lg-8 {
    margin-top: var(--space-m-8) !important;
  }
  .mb-lg-8, .my-lg-8 {
    margin-bottom: var(--space-m-8) !important;
  }
  .m-lg-auto {
    margin: auto !important;
  }
  .mt-lg-auto, .my-lg-auto {
    margin-top: auto !important;
  }
  .mr-lg-auto, .mx-lg-auto {
    margin-right: auto !important;
  }
  .mb-lg-auto, .my-lg-auto {
    margin-bottom: auto !important;
  }
  .ml-lg-auto, .mx-lg-auto {
    margin-left: auto !important;
  }
  .p-lg-0 {
    padding: 0 !important;
  }
  .pt-lg-0, .py-lg-0 {
    padding-top: 0 !important;
  }
  .pr-lg-0, .px-lg-0 {
    padding-right: 0 !important;
  }
  .pb-lg-0, .py-lg-0 {
    padding-bottom: 0 !important;
  }
  .pl-lg-0, .px-lg-0 {
    padding-left: 0 !important;
  }
  .p-lg-1 {
    padding: 0.25rem !important;
  }
  .pt-lg-1, .py-lg-1 {
    padding-top: 0.25rem !important;
  }
  .pr-lg-1, .px-lg-1 {
    padding-right: 0.25rem !important;
  }
  .pb-lg-1, .py-lg-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-lg-1, .px-lg-1 {
    padding-left: 0.25rem !important;
  }
  .p-lg-2 {
    padding: 0.5rem !important;
  }
  .pt-lg-2, .py-lg-2 {
    padding-top: 0.5rem !important;
  }
  .pr-lg-2, .px-lg-2 {
    padding-right: 0.5rem !important;
  }
  .pb-lg-2, .py-lg-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-lg-2, .px-lg-2 {
    padding-left: 0.5rem !important;
  }
  .p-lg-3 {
    padding: var(--space-p-3) !important;
  }
  .pt-lg-3, .py-lg-3 {
    padding-top: var(--space-p-3) !important;
  }
  .pr-lg-3, .px-lg-3 {
    padding-right: var(--space-p-3) !important;
  }
  .pb-lg-3, .py-lg-3 {
    padding-bottom: var(--space-p-3) !important;
  }
  .pl-lg-3, .px-lg-3 {
    padding-left: var(--space-p-3) !important;
  }
  .p-lg-4 {
    padding: var(--space-p-4) !important;
  }
  .pt-lg-4, .py-lg-4 {
    padding-top: var(--space-p-4) !important;
  }
  .pr-lg-4, .px-lg-4 {
    padding-right: var(--space-p-4) !important;
  }
  .pb-lg-4, .py-lg-4 {
    padding-bottom: var(--space-p-4) !important;
  }
  .pl-lg-4, .px-lg-4 {
    padding-left: var(--space-p-4) !important;
  }
  .p-lg-5 {
    padding: var(--space-p-5) !important;
  }
  .pt-lg-5, .py-lg-5 {
    padding-top: var(--space-p-5) !important;
  }
  .pr-lg-5, .px-lg-5 {
    padding-right: var(--space-p-5) !important;
  }
  .pb-lg-5, .py-lg-5 {
    padding-bottom: var(--space-p-5) !important;
  }
  .pl-lg-5, .px-lg-5 {
    padding-left: var(--space-p-5) !important;
  }
  .p-lg-6 {
    padding: var(--space-p-6) !important;
  }
  .pt-lg-6, .py-lg-6 {
    padding-top: var(--space-p-6) !important;
  }
  .pr-lg-6, .px-lg-6 {
    padding-right: var(--space-p-6) !important;
  }
  .pb-lg-6, .py-lg-6 {
    padding-bottom: var(--space-p-6) !important;
  }
  .pl-lg-6, .px-lg-6 {
    padding-left: var(--space-p-6) !important;
  }
  .p-lg-7 {
    padding: var(--space-p-7) !important;
  }
  .pt-lg-7, .py-lg-7 {
    padding-top: var(--space-p-7) !important;
  }
  .pr-lg-7, .px-lg-7 {
    padding-right: var(--space-p-7) !important;
  }
  .pb-lg-7, .py-lg-7 {
    padding-bottom: var(--space-p-7) !important;
  }
  .pl-lg-7, .px-lg-7 {
    padding-left: var(--space-p-7) !important;
  }
}
@media (min-width: 1200px) {
  .m-xl-0 {
    margin: 0 !important;
  }
  .mt-xl-0, .my-xl-0 {
    margin-top: 0 !important;
  }
  .mr-xl-0, .mx-xl-0 {
    margin-right: 0 !important;
  }
  .mb-xl-0, .my-xl-0 {
    margin-bottom: 0 !important;
  }
  .ml-xl-0, .mx-xl-0 {
    margin-left: 0 !important;
  }
  .m-xl-1 {
    margin: 0.25rem !important;
  }
  .mt-xl-1, .my-xl-1 {
    margin-top: 0.25rem !important;
  }
  .mr-xl-1, .mx-xl-1 {
    margin-right: 0.25rem !important;
  }
  .mb-xl-1, .my-xl-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-xl-1, .mx-xl-1 {
    margin-left: 0.25rem !important;
  }
  .m-xl-2 {
    margin: 0.5rem !important;
  }
  .mt-xl-2, .my-xl-2 {
    margin-top: 0.5rem !important;
  }
  .mr-xl-2, .mx-xl-2 {
    margin-right: 0.5rem !important;
  }
  .mb-xl-2, .my-xl-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-xl-2, .mx-xl-2 {
    margin-left: 0.5rem !important;
  }
  .m-xl-3 {
    margin: var(--space-m-3) !important;
  }
  .mt-xl-3, .my-xl-3 {
    margin-top: var(--space-m-3) !important;
  }
  .mr-xl-3, .mx-xl-3 {
    margin-right: var(--space-m-3) !important;
  }
  .mb-xl-3, .my-xl-3 {
    margin-bottom: var(--space-m-3) !important;
  }
  .ml-xl-3, .mx-xl-3 {
    margin-left: var(--space-m-3) !important;
  }
  .m-xl-4 {
    margin: var(--space-m-4) !important;
  }
  .mt-xl-4, .my-xl-4 {
    margin-top: var(--space-m-4) !important;
  }
  .mr-xl-4, .mx-xl-4 {
    margin-right: var(--space-m-4) !important;
  }
  .mb-xl-4, .my-xl-4 {
    margin-bottom: var(--space-m-4) !important;
  }
  .ml-xl-4, .mx-xl-4 {
    margin-left: var(--space-m-4) !important;
  }
  .m-xl-5 {
    margin: var(--space-m-5) !important;
  }
  .mt-xl-5, .my-xl-5 {
    margin-top: var(--space-m-5) !important;
  }
  .mr-xl-5, .mx-xl-5 {
    margin-right: var(--space-m-5) !important;
  }
  .mb-xl-5, .my-xl-5 {
    margin-bottom: var(--space-m-5) !important;
  }
  .ml-xl-5, .mx-xl-5 {
    margin-left: var(--space-m-5) !important;
  }
  .m-xl-6 {
    margin: var(--space-m-6) !important;
  }
  .mt-xl-6, .my-xl-6 {
    margin-top: var(--space-m-6) !important;
  }
  .mr-xl-6, .mx-xl-6 {
    margin-right: var(--space-m-6) !important;
  }
  .mb-xl-6, .my-xl-6 {
    margin-bottom: var(--space-m-6) !important;
  }
  .ml-xl-6, .mx-xl-6 {
    margin-left: var(--space-m-6) !important;
  }
  .mt-xl-7, .my-xl-7 {
    margin-top: var(--space-m-7) !important;
  }
  .mb-xl-7, .my-xl-7 {
    margin-bottom: var(--space-m-7) !important;
  }
  .mt-xl-8, .my-xl-8 {
    margin-top: var(--space-m-8) !important;
  }
  .mb-xl-8, .my-xl-8 {
    margin-bottom: var(--space-m-8) !important;
  }
  .m-xl-auto {
    margin: auto !important;
  }
  .mt-xl-auto, .my-xl-auto {
    margin-top: auto !important;
  }
  .mr-xl-auto, .mx-xl-auto {
    margin-right: auto !important;
  }
  .mb-xl-auto, .my-xl-auto {
    margin-bottom: auto !important;
  }
  .ml-xl-auto, .mx-xl-auto {
    margin-left: auto !important;
  }
  .p-xl-0 {
    padding: 0 !important;
  }
  .pt-xl-0, .py-xl-0 {
    padding-top: 0 !important;
  }
  .pr-xl-0, .px-xl-0 {
    padding-right: 0 !important;
  }
  .pb-xl-0, .py-xl-0 {
    padding-bottom: 0 !important;
  }
  .pl-xl-0, .px-xl-0 {
    padding-left: 0 !important;
  }
  .p-xl-1 {
    padding: 0.25rem !important;
  }
  .pt-xl-1, .py-xl-1 {
    padding-top: 0.25rem !important;
  }
  .pr-xl-1, .px-xl-1 {
    padding-right: 0.25rem !important;
  }
  .pb-xl-1, .py-xl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-xl-1, .px-xl-1 {
    padding-left: 0.25rem !important;
  }
  .p-xl-2 {
    padding: 0.5rem !important;
  }
  .pt-xl-2, .py-xl-2 {
    padding-top: 0.5rem !important;
  }
  .pr-xl-2, .px-xl-2 {
    padding-right: 0.5rem !important;
  }
  .pb-xl-2, .py-xl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-xl-2, .px-xl-2 {
    padding-left: 0.5rem !important;
  }
  .p-xl-3 {
    padding: var(--space-p-3) !important;
  }
  .pt-xl-3, .py-xl-3 {
    padding-top: var(--space-p-3) !important;
  }
  .pr-xl-3, .px-xl-3 {
    padding-right: var(--space-p-3) !important;
  }
  .pb-xl-3, .py-xl-3 {
    padding-bottom: var(--space-p-3) !important;
  }
  .pl-xl-3, .px-xl-3 {
    padding-left: var(--space-p-3) !important;
  }
  .p-xl-4 {
    padding: var(--space-p-4) !important;
  }
  .pt-xl-4, .py-xl-4 {
    padding-top: var(--space-p-4) !important;
  }
  .pr-xl-4, .px-xl-4 {
    padding-right: var(--space-p-4) !important;
  }
  .pb-xl-4, .py-xl-4 {
    padding-bottom: var(--space-p-4) !important;
  }
  .pl-xl-4, .px-xl-4 {
    padding-left: var(--space-p-4) !important;
  }
  .p-xl-5 {
    padding: var(--space-p-5) !important;
  }
  .pt-xl-5, .py-xl-5 {
    padding-top: var(--space-p-5) !important;
  }
  .pr-xl-5, .px-xl-5 {
    padding-right: var(--space-p-5) !important;
  }
  .pb-xl-5, .py-xl-5 {
    padding-bottom: var(--space-p-5) !important;
  }
  .pl-xl-5, .px-xl-5 {
    padding-left: var(--space-p-5) !important;
  }
  .p-xl-6 {
    padding: var(--space-p-6) !important;
  }
  .pt-xl-6, .py-xl-6 {
    padding-top: var(--space-p-6) !important;
  }
  .pr-xl-6, .px-xl-6 {
    padding-right: var(--space-p-6) !important;
  }
  .pb-xl-6, .py-xl-6 {
    padding-bottom: var(--space-p-6) !important;
  }
  .pl-xl-6, .px-xl-6 {
    padding-left: var(--space-p-6) !important;
  }
  .p-xl-7 {
    padding: var(--space-p-7) !important;
  }
  .pt-xl-7, .py-xl-7 {
    padding-top: var(--space-p-7) !important;
  }
  .pr-xl-7, .px-xl-7 {
    padding-right: var(--space-p-7) !important;
  }
  .pb-xl-7, .py-xl-7 {
    padding-bottom: var(--space-p-7) !important;
  }
  .pl-xl-7, .px-xl-7 {
    padding-left: var(--space-p-7) !important;
  }
}
@media (min-width: 1400px) {
  .m-2xl-0 {
    margin: 0 !important;
  }
  .mt-2xl-0, .my-2xl-0 {
    margin-top: 0 !important;
  }
  .mr-2xl-0, .mx-2xl-0 {
    margin-right: 0 !important;
  }
  .mb-2xl-0, .my-2xl-0 {
    margin-bottom: 0 !important;
  }
  .ml-2xl-0, .mx-2xl-0 {
    margin-left: 0 !important;
  }
  .m-2xl-1 {
    margin: 0.25rem !important;
  }
  .mt-2xl-1, .my-2xl-1 {
    margin-top: 0.25rem !important;
  }
  .mr-2xl-1, .mx-2xl-1 {
    margin-right: 0.25rem !important;
  }
  .mb-2xl-1, .my-2xl-1 {
    margin-bottom: 0.25rem !important;
  }
  .ml-2xl-1, .mx-2xl-1 {
    margin-left: 0.25rem !important;
  }
  .m-2xl-2 {
    margin: 0.5rem !important;
  }
  .mt-2xl-2, .my-2xl-2 {
    margin-top: 0.5rem !important;
  }
  .mr-2xl-2, .mx-2xl-2 {
    margin-right: 0.5rem !important;
  }
  .mb-2xl-2, .my-2xl-2 {
    margin-bottom: 0.5rem !important;
  }
  .ml-2xl-2, .mx-2xl-2 {
    margin-left: 0.5rem !important;
  }
  .m-2xl-3 {
    margin: var(--space-m-3) !important;
  }
  .mt-2xl-3, .my-2xl-3 {
    margin-top: var(--space-m-3) !important;
  }
  .mr-2xl-3, .mx-2xl-3 {
    margin-right: var(--space-m-3) !important;
  }
  .mb-2xl-3, .my-2xl-3 {
    margin-bottom: var(--space-m-3) !important;
  }
  .ml-2xl-3, .mx-2xl-3 {
    margin-left: var(--space-m-3) !important;
  }
  .m-2xl-4 {
    margin: var(--space-m-4) !important;
  }
  .mt-2xl-4, .my-2xl-4 {
    margin-top: var(--space-m-4) !important;
  }
  .mr-2xl-4, .mx-2xl-4 {
    margin-right: var(--space-m-4) !important;
  }
  .mb-2xl-4, .my-2xl-4 {
    margin-bottom: var(--space-m-4) !important;
  }
  .ml-2xl-4, .mx-2xl-4 {
    margin-left: var(--space-m-4) !important;
  }
  .m-2xl-5 {
    margin: var(--space-m-5) !important;
  }
  .mt-2xl-5, .my-2xl-5 {
    margin-top: var(--space-m-5) !important;
  }
  .mr-2xl-5, .mx-2xl-5 {
    margin-right: var(--space-m-5) !important;
  }
  .mb-2xl-5, .my-2xl-5 {
    margin-bottom: var(--space-m-5) !important;
  }
  .ml-2xl-5, .mx-2xl-5 {
    margin-left: var(--space-m-5) !important;
  }
  .m-2xl-6 {
    margin: var(--space-m-6) !important;
  }
  .mt-2xl-6, .my-2xl-6 {
    margin-top: var(--space-m-6) !important;
  }
  .mr-2xl-6, .mx-2xl-6 {
    margin-right: var(--space-m-6) !important;
  }
  .mb-2xl-6, .my-2xl-6 {
    margin-bottom: var(--space-m-6) !important;
  }
  .ml-2xl-6, .mx-2xl-6 {
    margin-left: var(--space-m-6) !important;
  }
  .mt-2xl-7, .my-2xl-7 {
    margin-top: var(--space-m-7) !important;
  }
  .mb-2xl-7, .my-2xl-7 {
    margin-bottom: var(--space-m-7) !important;
  }
  .mt-2xl-8, .my-2xl-8 {
    margin-top: var(--space-m-8) !important;
  }
  .mb-2xl-8, .my-2xl-8 {
    margin-bottom: var(--space-m-8) !important;
  }
  .m-2xl-auto {
    margin: auto !important;
  }
  .mt-2xl-auto, .my-2xl-auto {
    margin-top: auto !important;
  }
  .mr-2xl-auto, .mx-2xl-auto {
    margin-right: auto !important;
  }
  .mb-2xl-auto, .my-2xl-auto {
    margin-bottom: auto !important;
  }
  .ml-2xl-auto, .mx-2xl-auto {
    margin-left: auto !important;
  }
  .p-2xl-0 {
    padding: 0 !important;
  }
  .pt-2xl-0, .py-2xl-0 {
    padding-top: 0 !important;
  }
  .pr-2xl-0, .px-2xl-0 {
    padding-right: 0 !important;
  }
  .pb-2xl-0, .py-2xl-0 {
    padding-bottom: 0 !important;
  }
  .pl-2xl-0, .px-2xl-0 {
    padding-left: 0 !important;
  }
  .p-2xl-1 {
    padding: 0.25rem !important;
  }
  .pt-2xl-1, .py-2xl-1 {
    padding-top: 0.25rem !important;
  }
  .pr-2xl-1, .px-2xl-1 {
    padding-right: 0.25rem !important;
  }
  .pb-2xl-1, .py-2xl-1 {
    padding-bottom: 0.25rem !important;
  }
  .pl-2xl-1, .px-2xl-1 {
    padding-left: 0.25rem !important;
  }
  .p-2xl-2 {
    padding: 0.5rem !important;
  }
  .pt-2xl-2, .py-2xl-2 {
    padding-top: 0.5rem !important;
  }
  .pr-2xl-2, .px-2xl-2 {
    padding-right: 0.5rem !important;
  }
  .pb-2xl-2, .py-2xl-2 {
    padding-bottom: 0.5rem !important;
  }
  .pl-2xl-2, .px-2xl-2 {
    padding-left: 0.5rem !important;
  }
  .p-2xl-3 {
    padding: var(--space-p-3) !important;
  }
  .pt-2xl-3, .py-2xl-3 {
    padding-top: var(--space-p-3) !important;
  }
  .pr-2xl-3, .px-2xl-3 {
    padding-right: var(--space-p-3) !important;
  }
  .pb-2xl-3, .py-2xl-3 {
    padding-bottom: var(--space-p-3) !important;
  }
  .pl-2xl-3, .px-2xl-3 {
    padding-left: var(--space-p-3) !important;
  }
  .p-2xl-4 {
    padding: var(--space-p-4) !important;
  }
  .pt-2xl-4, .py-2xl-4 {
    padding-top: var(--space-p-4) !important;
  }
  .pr-2xl-4, .px-2xl-4 {
    padding-right: var(--space-p-4) !important;
  }
  .pb-2xl-4, .py-2xl-4 {
    padding-bottom: var(--space-p-4) !important;
  }
  .pl-2xl-4, .px-2xl-4 {
    padding-left: var(--space-p-4) !important;
  }
  .p-2xl-5 {
    padding: var(--space-p-5) !important;
  }
  .pt-2xl-5, .py-2xl-5 {
    padding-top: var(--space-p-5) !important;
  }
  .pr-2xl-5, .px-2xl-5 {
    padding-right: var(--space-p-5) !important;
  }
  .pb-2xl-5, .py-2xl-5 {
    padding-bottom: var(--space-p-5) !important;
  }
  .pl-2xl-5, .px-2xl-5 {
    padding-left: var(--space-p-5) !important;
  }
  .p-2xl-6 {
    padding: var(--space-p-6) !important;
  }
  .pt-2xl-6, .py-2xl-6 {
    padding-top: var(--space-p-6) !important;
  }
  .pr-2xl-6, .px-2xl-6 {
    padding-right: var(--space-p-6) !important;
  }
  .pb-2xl-6, .py-2xl-6 {
    padding-bottom: var(--space-p-6) !important;
  }
  .pl-2xl-6, .px-2xl-6 {
    padding-left: var(--space-p-6) !important;
  }
  .p-2xl-7 {
    padding: var(--space-p-7) !important;
  }
  .pt-2xl-7, .py-2xl-7 {
    padding-top: var(--space-p-7) !important;
  }
  .pr-2xl-7, .px-2xl-7 {
    padding-right: var(--space-p-7) !important;
  }
  .pb-2xl-7, .py-2xl-7 {
    padding-bottom: var(--space-p-7) !important;
  }
  .pl-2xl-7, .px-2xl-7 {
    padding-left: var(--space-p-7) !important;
  }
}



/* ## Text
======================================== */

/* ### Text alignment
---------------------------------------- */

.text-start,
.text-left {
  text-align: left !important;
}
.text-end,
.text-right {
  text-align: right !important;
}
.text-center {
  text-align: center !important;
}
@media (min-width: 576px) {
  .text-sm-start,
  .text-sm-left {
    text-align: left !important;
  }
  .text-sm-end,
  .text-sm-right {
    text-align: right !important;
  }
  .text-sm-center {
    text-align: center !important;
  }
}
@media (min-width: 768px) {
  .text-md-start,
  .text-md-left {
    text-align: left !important;
  }
  .text-md-end,
  .text-md-right {
    text-align: right !important;
  }
  .text-md-center {
    text-align: center !important;
  }
}
@media (min-width: 992px) {
  .text-lg-start,
  .text-lg-left {
    text-align: left !important;
  }
  .text-lg-end,
  .text-lg-right {
    text-align: right !important;
  }
  .text-lg-center {
    text-align: center !important;
  }
}
@media (min-width: 1200px) {
  .text-xl-start,
  .text-xl-left {
    text-align: left !important;
  }
  .text-xl-end,
  .text-xl-right {
    text-align: right !important;
  }
  .text-xl-center {
    text-align: center !important;
  }
}
@media (min-width: 1400px) {
  .text-2xl-start,
  .text-2xl-left {
    text-align: left !important;
  }
  .text-2xl-end,
  .text-2xl-right {
    text-align: right !important;
  }
  .text-2xl-center {
    text-align: center !important;
  }
}


/* ### Text wrapping and overflow, Word break
---------------------------------------- */

.text-wrap {
  white-space: normal !important;
}
.text-nowrap {
  white-space: nowrap !important;
}
.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  /* 併せて幅を指定した方がいい */
  /* max-width: 60vw; */
}
.text-break {
  word-wrap: break-word !important;
  word-break: break-word !important;
}


/* ### Text Wrap (Tailwind CSS)
---------------------------------------- */
/* https://caniuse.com/?search=text-wrap */

/* .text-wrap {
  text-wrap: wrap;
} */
/* .text-nowrap {
  text-wrap: nowrap;
} */
.text-balance {/*見出し向き*/
  text-wrap: balance;
}
.text-pretty {/*本文向き*/
  text-wrap: pretty;
}


/* ### Whitespace (Tailwind CSS)
---------------------------------------- */

.whitespace-normal {
  white-space: normal;
}
.whitespace-nowrap {
  white-space: nowrap;
}
.whitespace-pre {
  white-space: pre;
}
.whitespace-pre-line {
  white-space: pre-line;
}
.whitespace-pre-wrap {
  white-space: pre-wrap;
}
.whitespace-break-spaces {
  white-space: break-spaces;
}


/* ### Text transform
---------------------------------------- */

.text-lowercase {
  text-transform: lowercase !important;
}
.text-uppercase {
  text-transform: uppercase !important;
}
.text-capitalize {
  text-transform: capitalize !important;
}


/* ### Font size
---------------------------------------- */

.fs-2xs {
  font-size: clamp(0.625rem, 0.625rem + 0.1vw, 0.688rem) !important;
}
.fs-xs {
  font-size: clamp(0.75rem, 0.75rem + 0.1vw, 0.813rem) !important;
}
.fs-sm {
  font-size: clamp(0.813rem, 0.8rem + 0.1vw, 0.875rem) !important;
}
.fs-md {
  font-size: clamp(0.875rem, 0.825rem + 0.25vw, 1rem) !important;
}
.fs-lg {
  font-size: clamp(1rem, 0.9rem + 0.3vw, 1.125rem) !important;
}
.fs-xl {
  font-size: clamp(1.125rem, 1rem + 0.35vw, 1.25rem) !important;
}
.fs-2xl {
  font-size: clamp(1.375rem, 1.25rem + 0.35vw, 1.5rem) !important;
}
.fs-3xl {
  font-size: clamp(1.625rem, 1.4rem + 0.65vw, 1.875rem) !important;
}
.fs-4xl {
  font-size: clamp(1.875rem, 1.7rem + 0.75vw, 2.25rem) !important;
}
.fs-5xl {
  font-size: clamp(2.375rem, 2rem + 1.35vw, 3rem) !important;
}
.fs-6xl {
  font-size: clamp(3rem, 2.6rem + 1.9vw, 4rem) !important;
}
.fs-7xl {
  font-size: clamp(3.25rem, 2.7rem + 2.4vw, 4.5rem) !important;
}
.fs-8xl {
  font-size: clamp(3.5rem, 2.9rem + 2.8vw, 5rem) !important;
}
.fs-9xl {
  font-size: clamp(3.75rem, 3rem + 4vw, 6rem) !important;
}


/* ### Font style and weight
---------------------------------------- */

.fst-italic {
  font-style: italic !important;
}
.fst-normal {
  font-style: normal !important;
}
.fw-lighter {
  font-weight: lighter !important;
}
.fw-light {
  font-weight: 300 !important;
}
.fw-normal {
  font-weight: 400 !important;
}
.fw-medium {
  font-weight: 500 !important;
}
.fw-semibold {
  font-weight: 600 !important;
}
.fw-bold {
  font-weight: 700 !important;
}
.fw-black {
  font-weight: 900 !important;
}
.fw-bolder {
  font-weight: bolder !important;
}


/* ### Font family
---------------------------------------- */

.font-family-gothic,
.ff-sans {
  font-family: var(--font-family-sans) !important;
}
.font-family-mincho,
.ff-serif {
  font-family: var(--font-family-serif) !important;
}
.ff-mono {
  font-family: var(--font-monospace) !important;
}


/* ### Line height
---------------------------------------- */

.lh-1 {
  line-height: 1 !important;
}
.lh-xs {
  line-height: 1.2 !important;
}
.lh-sm {
  line-height: 1.4 !important;
}
.lh-base {
  line-height: 1.5 !important;
}
.lh-md {
  line-height: 1.6 !important;
}
.lh-lg {
  line-height: 1.8 !important;
}
.lh-xl {
  line-height: 2 !important;
}
.lh-2xl {
  line-height: 2.4 !important;
}
@media (min-width: 576px) {
  .lh-sm-1 {
    line-height: 1 !important;
  }
  .lh-sm-xs {
    line-height: 1.2 !important;
  }
  .lh-sm-sm {
    line-height: 1.4 !important;
  }
  .lh-sm-base {
    line-height: 1.5 !important;
  }
  .lh-sm-md {
    line-height: 1.6 !important;
  }
  .lh-sm-lg {
    line-height: 1.8 !important;
  }
  .lh-sm-xl {
    line-height: 2 !important;
  }
  .lh-sm-2xl {
    line-height: 2.4 !important;
  }
}
@media (min-width: 768px) {
  .lh-md-1 {
    line-height: 1 !important;
  }
  .lh-md-xs {
    line-height: 1.2 !important;
  }
  .lh-md-sm {
    line-height: 1.4 !important;
  }
  .lh-md-base {
    line-height: 1.5 !important;
  }
  .lh-md-md {
    line-height: 1.6 !important;
  }
  .lh-md-lg {
    line-height: 1.8 !important;
  }
  .lh-md-xl {
    line-height: 2 !important;
  }
  .lh-md-2xl {
    line-height: 2.4 !important;
  }
}
@media (min-width: 992px) {
  .lh-lg-1 {
    line-height: 1 !important;
  }
  .lh-lg-xs {
    line-height: 1.2 !important;
  }
  .lh-lg-sm {
    line-height: 1.4 !important;
  }
  .lh-lg-base {
    line-height: 1.5 !important;
  }
  .lh-lg-md {
    line-height: 1.6 !important;
  }
  .lh-lg-lg {
    line-height: 1.8 !important;
  }
  .lh-lg-xl {
    line-height: 2 !important;
  }
  .lh-lg-2xl {
    line-height: 2.4 !important;
  }
}
@media (min-width: 1200px) {
  .lh-xl-1 {
    line-height: 1 !important;
  }
  .lh-xl-xs {
    line-height: 1.2 !important;
  }
  .lh-xl-sm {
    line-height: 1.4 !important;
  }
  .lh-xl-base {
    line-height: 1.5 !important;
  }
  .lh-xl-md {
    line-height: 1.6 !important;
  }
  .lh-xl-lg {
    line-height: 1.8 !important;
  }
  .lh-xl-xl {
    line-height: 2 !important;
  }
  .lh-xl-2xl {
    line-height: 2.4 !important;
  }
}
@media (min-width: 1400px) {
  .lh-2xl-1 {
    line-height: 1 !important;
  }
  .lh-2xl-xs {
    line-height: 1.2 !important;
  }
  .lh-2xl-sm {
    line-height: 1.4 !important;
  }
  .lh-2xl-base {
    line-height: 1.5 !important;
  }
  .lh-2xl-md {
    line-height: 1.6 !important;
  }
  .lh-2xl-lg {
    line-height: 1.8 !important;
  }
  .lh-2xl-xl {
    line-height: 2 !important;
  }
  .lh-2xl-2xl {
    line-height: 2.4 !important;
  }
}


/* ### Letter spacing
---------------------------------------- */

.ls-1 {
  letter-spacing: 0.05em !important;
}
.ls-2 {
  letter-spacing: 0.1em !important;
}
.ls-3 {
  letter-spacing: 0.2em !important;
}
.ls-m1 {
  letter-spacing: -0.05em !important;
}
.ls-m2 {
  letter-spacing: -0.1em !important;
}


/* ### Text decoration
---------------------------------------- */
.text-decoration-none {
  text-decoration: none !important;
}
.text-decoration-underline {
  text-decoration: underline !important;
}



/* ## Vertical alignment
======================================== */

.align-baseline {
  vertical-align: baseline !important;
}
.align-top {
  vertical-align: top !important;
}
.align-middle {
  vertical-align: middle !important;
}
.align-bottom {
  vertical-align: bottom !important;
}
.align-text-bottom {
  vertical-align: text-bottom !important;
}
.align-text-top {
  vertical-align: text-top !important;
}



/* ## Visibility
======================================== */

.visible {
  visibility: visible !important;
}
.invisible {
  visibility: hidden !important;
}



/* ## Z-index
======================================== */

.z-n1 {
  z-index: -1 !important;
}
.z-0 {
  z-index: 0 !important;
}
.z-1 {
  z-index: 1 !important;
}
.z-2 {
  z-index: 2 !important;
}
.z-3 {
  z-index: 3 !important;
}



/* ## Others
======================================== */

/* ### Mix Blend Mode (Tailwind CSS)
---------------------------------------- */

.mix-blend-normal {
  mix-blend-mode: normal;
}
.mix-blend-multiply {
  mix-blend-mode: multiply;
}
.mix-blend-screen {
  mix-blend-mode: screen;
}
.mix-blend-overlay {
  mix-blend-mode: overlay;
}
.mix-blend-darken {
  mix-blend-mode: darken;
}
.mix-blend-lighten {
  mix-blend-mode: lighten;
}
.mix-blend-color-dodge {
  mix-blend-mode: color-dodge;
}
.mix-blend-color-burn {
  mix-blend-mode: color-burn;
}
.mix-blend-hard-light {
  mix-blend-mode: hard-light;
}
.mix-blend-soft-light {
  mix-blend-mode: soft-light;
}
.mix-blend-difference {
  mix-blend-mode: difference;
}
.mix-blend-exclusion {
  mix-blend-mode: exclusion;
}
.mix-blend-hue {
  mix-blend-mode: hue;
}
.mix-blend-saturation {
  mix-blend-mode: saturation;
}
.mix-blend-color {
  mix-blend-mode: color;
}
.mix-blend-luminosity {
  mix-blend-mode: luminosity;
}


/* ### Drop Shadow (Tailwind CSS)
---------------------------------------- */

.drop-shadow-sm {
  filter: drop-shadow(0 1px 1px rgb(0 0 0 / 0.05));
}
.drop-shadow {
  filter: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06));
}
.drop-shadow-md {
  filter: drop-shadow(0 4px 3px rgb(0 0 0 / 0.07)) drop-shadow(0 2px 2px rgb(0 0 0 / 0.06));
}
.drop-shadow-lg {
  filter: drop-shadow(0 10px 8px rgb(0 0 0 / 0.04)) drop-shadow(0 4px 3px rgb(0 0 0 / 0.1));
}
.drop-shadow-xl {
  filter: drop-shadow(0 20px 13px rgb(0 0 0 / 0.03)) drop-shadow(0 8px 5px rgb(0 0 0 / 0.08));
}
.drop-shadow-2xl {
  filter: drop-shadow(0 25px 25px rgb(0 0 0 / 0.15));
}
.drop-shadow-none {
  filter: drop-shadow(0 0 #0000);
}
