@charset "UTF-8";
/**
 * ▼ 使用するリセットCSSを1つだけ選んでコメントを外してください。
 *
 * - the-new-css-reset:
 *   デフォルトスタイルをほぼ全て削除する超ミニマルなリセット。
 *   → 自分で全てのスタイルを定義したい場合に最適。
 *
 * - modern-css-reset:
 *   フォームやUIパーツにも配慮された汎用的なリセット。
 *   → ベーススタイルを少し残しつつ整えたい場合におすすめ。
 *
 * - ress:
 *   normalize.cssをベースにした古いブラウザにも対応する安定型。
 *   → 互換性を重視したい場合はこちら。
 */
/**
 * Minified by jsDelivr using clean-css v5.3.3.
 * Original file: /npm/the-new-css-reset@1.8.0/css/reset.css
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}

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

a,
button {
  cursor: revert;
}

menu,
ol,
ul {
  list-style: none;
}

img {
  max-width: 100%;
}

table {
  border-collapse: collapse;
}

input,
textarea {
  -webkit-user-select: auto;
}

textarea {
  white-space: revert;
}

meter {
  -webkit-appearance: revert;
  appearance: revert;
}

pre {
  all: revert;
}

::placeholder {
  color: unset;
}

:where([hidden]) {
  display: none;
}

:where([contenteditable]:not([contenteditable=false])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto;
}

:where([draggable=true]) {
  -webkit-user-drag: element;
}

:where(dialog:modal) {
  all: revert;
}


/**
 * ▼ メディアクエリ用ブレイクポイント
 *
 * - $bp-sp:
 *   スマホの上限幅（例: ~767px）
 * - $bp-tab:
 *   タブレットの上限幅（例: ~1023px）
 */
/**
 * ▼ メディアクエリミックスイン
 *
 * - media-pc:
 *   PC向けのスタイルを適用するためのメディアクエリ。
 * - media-tab:
 *   タブレット向けのスタイルを適用するためのメディアクエリ。
 * - media-sp:
 *   スマホ向けのスタイルを適用するためのメディアクエリ。
 */
/**
 * ▼ fluidスケーリングに関する設定
 *
 * - $fluid-vw-min / $fluid-vw-max:
 *   clamp()で滑らかに変化させる際のビューポート最小・最大値。
 *   → 通常はスマホ〜PCの幅（375〜1280pxなど）を想定。
 */
/**
 * ▼ fluid()
 *
 * - clamp()を生成するSass関数。
 * - 引数に最小サイズ・最大サイズを渡すことで、
 *   指定したビューポート範囲内で値を滑らかに変化させる。
 *
 * 使用例:
 *   font-size: fluid(14, 20);
 */
/**
 * @function vw-○○()
 * 指定されたサイズを基準に、ビューポート幅に応じたvw単位の値を計算します。
 * 
 * @param {Number} $size - 基準となるサイズ（ピクセル単位）。
 * @param {Number} $viewport - ビューポートの幅（デフォルトは1920px, 768px, 375px）。
 * @return {String} - 計算されたvw単位の値。
 */
:root {
  --color-primary: #007bff;
  --color-base-black: #000;
  --color-base-white: #fff;
  --color-data-gray: #666666;
  --font-main: "Noto Sans JP", sans-serif;
  --font-main-cjk: "noto-sans-cjk-jp", sans-serif;
}

html {
  font-size: 10px;
}
@media (max-width: 1000px) {
  html {
    font-size: 1vw; /* 10px / 1000px * 100 */
  }
}
@media (max-width: 767px) {
  html {
    font-size: 2.6667vw; /* 10px / 375px * 100 */
  }
}
html.is-locked {
  overflow: hidden;
  overscroll-behavior: contain;
  touch-action: none;
}

body {
  color: var(--color-base-black);
  font-size: 1.6rem;
  font-family: "Helvetica Neue", arial, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", meiryo, sans-serif;
  line-height: 1.5;
}
@media (max-width: 767px) {
  body {
    font-size: 1.4rem;
  }
}
body.is-locked {
  overflow: hidden;
  overscroll-behavior: contain;
  touch-action: none;
}

.u-block {
  display: block !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-block-tab {
    display: block !important;
  }
}
@media (max-width: 767px) {
  body .u-block-sp {
    display: block !important;
  }
}
.u-inline {
  display: inline !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-inline-tab {
    display: inline !important;
  }
}
@media (max-width: 767px) {
  body .u-inline-sp {
    display: inline !important;
  }
}
.u-inline-block {
  display: inline-block !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-inline-block-tab {
    display: inline-block !important;
  }
}
@media (max-width: 767px) {
  body .u-inline-block-sp {
    display: inline-block !important;
  }
}
.u-flex {
  display: flex !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-flex-tab {
    display: flex !important;
  }
}
@media (max-width: 767px) {
  body .u-flex-sp {
    display: flex !important;
  }
}
.u-inline-flex {
  display: inline-flex !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-inline-flex-tab {
    display: inline-flex !important;
  }
}
@media (max-width: 767px) {
  body .u-inline-flex-sp {
    display: inline-flex !important;
  }
}
.u-grid {
  display: grid !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-grid-tab {
    display: grid !important;
  }
}
@media (max-width: 767px) {
  body .u-grid-sp {
    display: grid !important;
  }
}
.u-hidden {
  display: none !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-hidden-tab {
    display: none !important;
  }
}
@media (max-width: 767px) {
  body .u-hidden-sp {
    display: none !important;
  }
}
@media (max-width: 1023px) {
  .u-is-pc {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .u-is-tab {
    display: none !important;
  }
}
@media (min-width: 1024px) {
  .u-is-tab {
    display: none !important;
  }
}

@media (min-width: 768px) {
  .u-is-sp {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .u-is-pc-tab {
    display: none !important;
  }
}

@media (min-width: 1024px) {
  .u-is-tab-sp {
    display: none !important;
  }
}

.u-grid-cols-none {
  grid-template-columns: none !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-grid-cols-none-tab {
    grid-template-columns: none !important;
  }
}
@media (max-width: 767px) {
  body .u-grid-cols-none-sp {
    grid-template-columns: none !important;
  }
}
.u-grid-cols-1 {
  grid-template-columns: repeat(1, 1fr) !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-grid-cols-1-tab {
    grid-template-columns: repeat(1, 1fr) !important;
  }
}
@media (max-width: 767px) {
  body .u-grid-cols-1-sp {
    grid-template-columns: repeat(1, 1fr) !important;
  }
}
.u-grid-cols-2 {
  grid-template-columns: repeat(2, 1fr) !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-grid-cols-2-tab {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 767px) {
  body .u-grid-cols-2-sp {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
.u-grid-cols-3 {
  grid-template-columns: repeat(3, 1fr) !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-grid-cols-3-tab {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}
@media (max-width: 767px) {
  body .u-grid-cols-3-sp {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}
.u-grid-cols-4 {
  grid-template-columns: repeat(4, 1fr) !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-grid-cols-4-tab {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}
@media (max-width: 767px) {
  body .u-grid-cols-4-sp {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}
.u-grid-cols-5 {
  grid-template-columns: repeat(5, 1fr) !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-grid-cols-5-tab {
    grid-template-columns: repeat(5, 1fr) !important;
  }
}
@media (max-width: 767px) {
  body .u-grid-cols-5-sp {
    grid-template-columns: repeat(5, 1fr) !important;
  }
}
.u-grid-cols-6 {
  grid-template-columns: repeat(6, 1fr) !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-grid-cols-6-tab {
    grid-template-columns: repeat(6, 1fr) !important;
  }
}
@media (max-width: 767px) {
  body .u-grid-cols-6-sp {
    grid-template-columns: repeat(6, 1fr) !important;
  }
}
.u-grid-autofit-160 {
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}

.u-grid-autofit-200 {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

.u-grid-autofit-240 {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.u-grid-autofit-300 {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

.u-grid-autofit-360 {
  grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
}

.u-col-span-full {
  grid-column: span 1/-1 !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-col-span-full-tab {
    grid-column: span 1/-1 !important;
  }
}
@media (max-width: 767px) {
  body .u-col-span-full-sp {
    grid-column: span 1/-1 !important;
  }
}
.u-col-span-1 {
  grid-column: span 1/span 1 !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-col-span-1-tab {
    grid-column: span 1/span 1 !important;
  }
}
@media (max-width: 767px) {
  body .u-col-span-1-sp {
    grid-column: span 1/span 1 !important;
  }
}
.u-col-span-2 {
  grid-column: span 2/span 2 !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-col-span-2-tab {
    grid-column: span 2/span 2 !important;
  }
}
@media (max-width: 767px) {
  body .u-col-span-2-sp {
    grid-column: span 2/span 2 !important;
  }
}
.u-col-span-3 {
  grid-column: span 3/span 3 !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-col-span-3-tab {
    grid-column: span 3/span 3 !important;
  }
}
@media (max-width: 767px) {
  body .u-col-span-3-sp {
    grid-column: span 3/span 3 !important;
  }
}
.u-col-span-4 {
  grid-column: span 4/span 4 !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-col-span-4-tab {
    grid-column: span 4/span 4 !important;
  }
}
@media (max-width: 767px) {
  body .u-col-span-4-sp {
    grid-column: span 4/span 4 !important;
  }
}
.u-col-span-5 {
  grid-column: span 5/span 5 !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-col-span-5-tab {
    grid-column: span 5/span 5 !important;
  }
}
@media (max-width: 767px) {
  body .u-col-span-5-sp {
    grid-column: span 5/span 5 !important;
  }
}
.u-col-span-6 {
  grid-column: span 6/span 6 !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-col-span-6-tab {
    grid-column: span 6/span 6 !important;
  }
}
@media (max-width: 767px) {
  body .u-col-span-6-sp {
    grid-column: span 6/span 6 !important;
  }
}
.u-gap-0 {
  gap: 0rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-gap-0-tab {
    gap: 0rem !important;
  }
}
@media (max-width: 767px) {
  body .u-gap-0-sp {
    gap: 0rem !important;
  }
}
.u-gap-4 {
  gap: 0.4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-gap-4-tab {
    gap: 0.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-gap-4-sp {
    gap: 0.4rem !important;
  }
}
.u-gap-8 {
  gap: 0.8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-gap-8-tab {
    gap: 0.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-gap-8-sp {
    gap: 0.8rem !important;
  }
}
.u-gap-12 {
  gap: 1.2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-gap-12-tab {
    gap: 1.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-gap-12-sp {
    gap: 1.2rem !important;
  }
}
.u-gap-16 {
  gap: 1.6rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-gap-16-tab {
    gap: 1.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-gap-16-sp {
    gap: 1.6rem !important;
  }
}
.u-gap-20 {
  gap: 2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-gap-20-tab {
    gap: 2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-gap-20-sp {
    gap: 2rem !important;
  }
}
.u-gap-24 {
  gap: 2.4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-gap-24-tab {
    gap: 2.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-gap-24-sp {
    gap: 2.4rem !important;
  }
}
.u-gap-28 {
  gap: 2.8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-gap-28-tab {
    gap: 2.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-gap-28-sp {
    gap: 2.8rem !important;
  }
}
.u-gap-32 {
  gap: 3.2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-gap-32-tab {
    gap: 3.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-gap-32-sp {
    gap: 3.2rem !important;
  }
}
.u-gap-36 {
  gap: 3.6rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-gap-36-tab {
    gap: 3.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-gap-36-sp {
    gap: 3.6rem !important;
  }
}
.u-gap-40 {
  gap: 4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-gap-40-tab {
    gap: 4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-gap-40-sp {
    gap: 4rem !important;
  }
}
.u-gap-48 {
  gap: 4.8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-gap-48-tab {
    gap: 4.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-gap-48-sp {
    gap: 4.8rem !important;
  }
}
.u-gap-56 {
  gap: 5.6rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-gap-56-tab {
    gap: 5.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-gap-56-sp {
    gap: 5.6rem !important;
  }
}
.u-gap-64 {
  gap: 6.4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-gap-64-tab {
    gap: 6.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-gap-64-sp {
    gap: 6.4rem !important;
  }
}
.u-gap-72 {
  gap: 7.2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-gap-72-tab {
    gap: 7.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-gap-72-sp {
    gap: 7.2rem !important;
  }
}
.u-gap-80 {
  gap: 8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-gap-80-tab {
    gap: 8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-gap-80-sp {
    gap: 8rem !important;
  }
}
.u-justify-center {
  justify-content: center !important;
}

.u-justify-between {
  justify-content: space-between !important;
}

.u-items-center {
  align-items: center !important;
}

.u-flex-row {
  flex-direction: row !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-flex-row-tab {
    flex-direction: row !important;
  }
}
@media (max-width: 767px) {
  body .u-flex-row-sp {
    flex-direction: row !important;
  }
}
.u-flex-col {
  flex-direction: column !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-flex-col-tab {
    flex-direction: column !important;
  }
}
@media (max-width: 767px) {
  body .u-flex-col-sp {
    flex-direction: column !important;
  }
}
.u-font-normal {
  font-weight: 400 !important;
}

.u-font-midium {
  font-weight: 500 !important;
}

.u-font-bold {
  font-weight: 700 !important;
}

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

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-text-left-tab {
    text-align: left !important;
  }
}
@media (max-width: 767px) {
  body .u-text-left-sp {
    text-align: left !important;
  }
}
.u-text-center {
  text-align: center !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-text-center-tab {
    text-align: center !important;
  }
}
@media (max-width: 767px) {
  body .u-text-center-sp {
    text-align: center !important;
  }
}
.u-text-right {
  text-align: right !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-text-right-tab {
    text-align: right !important;
  }
}
@media (max-width: 767px) {
  body .u-text-right-sp {
    text-align: right !important;
  }
}
.u-text-xs {
  font-size: 1.2rem !important;
}
@media (max-width: 767px) {
  .u-text-xs {
    font-size: 1rem !important;
  }
}

.u-text-sm {
  font-size: 1.4rem !important;
}
@media (max-width: 767px) {
  .u-text-sm {
    font-size: 1.2rem !important;
  }
}

.u-text-md {
  font-size: 1.6rem !important;
}
@media (max-width: 767px) {
  .u-text-md {
    font-size: 1.4rem !important;
  }
}

.u-text-lg {
  font-size: 1.8rem !important;
}
@media (max-width: 767px) {
  .u-text-lg {
    font-size: 1.6rem !important;
  }
}

.u-text-xl {
  font-size: 2rem !important;
}
@media (max-width: 767px) {
  .u-text-xl {
    font-size: 1.8rem !important;
  }
}

.u-text-2xl {
  font-size: 2.4rem !important;
}
@media (max-width: 767px) {
  .u-text-2xl {
    font-size: 2rem !important;
  }
}

.u-text-3xl {
  font-size: 3rem !important;
}
@media (max-width: 767px) {
  .u-text-3xl {
    font-size: 2.4rem !important;
  }
}

.u-text-10 {
  font-size: 1rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-text-10-tab {
    font-size: 1rem !important;
  }
}
@media (max-width: 767px) {
  body .u-text-10-sp {
    font-size: 1rem !important;
  }
}
.u-text-12 {
  font-size: 1.2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-text-12-tab {
    font-size: 1.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-text-12-sp {
    font-size: 1.2rem !important;
  }
}
.u-text-14 {
  font-size: 1.4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-text-14-tab {
    font-size: 1.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-text-14-sp {
    font-size: 1.4rem !important;
  }
}
.u-text-16 {
  font-size: 1.6rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-text-16-tab {
    font-size: 1.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-text-16-sp {
    font-size: 1.6rem !important;
  }
}
.u-text-18 {
  font-size: 1.8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-text-18-tab {
    font-size: 1.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-text-18-sp {
    font-size: 1.8rem !important;
  }
}
.u-text-20 {
  font-size: 2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-text-20-tab {
    font-size: 2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-text-20-sp {
    font-size: 2rem !important;
  }
}
.u-text-24 {
  font-size: 2.4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-text-24-tab {
    font-size: 2.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-text-24-sp {
    font-size: 2.4rem !important;
  }
}
.u-text-30 {
  font-size: 3rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-text-30-tab {
    font-size: 3rem !important;
  }
}
@media (max-width: 767px) {
  body .u-text-30-sp {
    font-size: 3rem !important;
  }
}
.u-link {
  color: var(--color-primary);
  text-decoration: none;
}
.u-link:hover {
  text-decoration: underline;
}

.u-ul-default {
  margin: 1rem 0;
  padding-left: 4rem;
  list-style-type: disc;
}
.u-ul-default li {
  list-style: inherit;
}

.u-ol-default {
  margin: 1rem 0;
  padding-left: 4rem;
  list-style-type: decimal;
}
.u-ol-default li {
  list-style: inherit;
}

.u-ul-asterisk {
  list-style: none;
  padding-left: 0;
}
.u-ul-asterisk > li {
  position: relative;
  padding-left: 1em;
}
.u-ul-asterisk > li::before {
  content: "※";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
}

.u-input, .u-textarea {
  display: inline-block;
  width: 100%;
  padding: 0.4rem 0.8rem;
  border: 1px solid #ccc;
  border-radius: 4px;
  background-color: var(--color-base-white);
  color: inherit;
  font: inherit;
}
.u-input:focus, .u-textarea:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);
}

.u-textarea {
  resize: vertical;
  min-height: 4rem;
}

.u-button {
  display: inline-block;
  padding: 0.4rem 0.8rem;
  border: 1px solid transparent;
  border-radius: 4px;
  background-color: var(--color-primary);
  color: var(--color-base-white);
  font: inherit;
  cursor: pointer;
  text-align: center;
}
.u-button:hover {
  border: 1px solid color-mix(in srgb, var(--color-primary) 90%, black);
  background-color: color-mix(in srgb, var(--color-primary) 90%, black);
}
.u-button:disabled {
  background-color: #ccc;
  cursor: not-allowed;
}

.u-default-checkbox {
  appearance: auto;
  -webkit-appearance: auto;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  cursor: pointer;
}

.u-default-radio {
  appearance: auto;
  -webkit-appearance: auto;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  cursor: pointer;
}

.u-select {
  display: inline-block;
  padding: 0.4rem 1.2rem;
  border: 1px solid #ccc;
  border-radius: 4px;
  background-color: var(--color-base-white);
  color: inherit;
  font: inherit;
  cursor: pointer;
}
.u-select:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);
}

.u-aspect-square {
  aspect-ratio: 1 !important;
}

.u-aspect-16x9 {
  aspect-ratio: 1.7777777778 !important;
}

.u-aspect-4x3 {
  aspect-ratio: 1.3333333333 !important;
}

.u-aspect-3x2 {
  aspect-ratio: 1.5 !important;
}

.u-aspect-2x3 {
  aspect-ratio: 0.6666666667 !important;
}

.u-aspect-3x4 {
  aspect-ratio: 0.75 !important;
}

.u-aspect-9x16 {
  aspect-ratio: 0.5625 !important;
}

.u-w-auto {
  width: auto !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-w-auto-tab {
    width: auto !important;
  }
}
@media (max-width: 767px) {
  body .u-w-auto-sp {
    width: auto !important;
  }
}
.u-w-full {
  width: 100% !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-w-full-tab {
    width: 100% !important;
  }
}
@media (max-width: 767px) {
  body .u-w-full-sp {
    width: 100% !important;
  }
}
.u-w-screen {
  width: 100vw !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-w-screen-tab {
    width: 100vw !important;
  }
}
@media (max-width: 767px) {
  body .u-w-screen-sp {
    width: 100vw !important;
  }
}
.u-h-auto {
  height: auto !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-h-auto-tab {
    height: auto !important;
  }
}
@media (max-width: 767px) {
  body .u-h-auto-sp {
    height: auto !important;
  }
}
.u-h-full {
  height: 100% !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-h-full-tab {
    height: 100% !important;
  }
}
@media (max-width: 767px) {
  body .u-h-full-sp {
    height: 100% !important;
  }
}
.u-h-screen {
  height: 100vh !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-h-screen-tab {
    height: 100vh !important;
  }
}
@media (max-width: 767px) {
  body .u-h-screen-sp {
    height: 100vh !important;
  }
}
.u-mt-0 {
  margin-top: 0rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mt-0-tab {
    margin-top: 0rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mt-0-sp {
    margin-top: 0rem !important;
  }
}
.u-mb-0 {
  margin-bottom: 0rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mb-0-tab {
    margin-bottom: 0rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mb-0-sp {
    margin-bottom: 0rem !important;
  }
}
.u-my-0 {
  margin-top: 0rem !important;
  margin-bottom: 0rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-my-0-tab {
    margin-top: 0rem !important;
    margin-bottom: 0rem !important;
  }
}
@media (max-width: 767px) {
  body .u-my-0-sp {
    margin-top: 0rem !important;
    margin-bottom: 0rem !important;
  }
}
.u-pt-0 {
  padding-top: 0rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pt-0-tab {
    padding-top: 0rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pt-0-sp {
    padding-top: 0rem !important;
  }
}
.u-pb-0 {
  padding-bottom: 0rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pb-0-tab {
    padding-bottom: 0rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pb-0-sp {
    padding-bottom: 0rem !important;
  }
}
.u-py-0 {
  padding-top: 0rem !important;
  padding-bottom: 0rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-py-0-tab {
    padding-top: 0rem !important;
    padding-bottom: 0rem !important;
  }
}
@media (max-width: 767px) {
  body .u-py-0-sp {
    padding-top: 0rem !important;
    padding-bottom: 0rem !important;
  }
}
.u-mt-4 {
  margin-top: 0.4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mt-4-tab {
    margin-top: 0.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mt-4-sp {
    margin-top: 0.4rem !important;
  }
}
.u-mb-4 {
  margin-bottom: 0.4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mb-4-tab {
    margin-bottom: 0.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mb-4-sp {
    margin-bottom: 0.4rem !important;
  }
}
.u-my-4 {
  margin-top: 0.4rem !important;
  margin-bottom: 0.4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-my-4-tab {
    margin-top: 0.4rem !important;
    margin-bottom: 0.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-my-4-sp {
    margin-top: 0.4rem !important;
    margin-bottom: 0.4rem !important;
  }
}
.u-pt-4 {
  padding-top: 0.4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pt-4-tab {
    padding-top: 0.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pt-4-sp {
    padding-top: 0.4rem !important;
  }
}
.u-pb-4 {
  padding-bottom: 0.4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pb-4-tab {
    padding-bottom: 0.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pb-4-sp {
    padding-bottom: 0.4rem !important;
  }
}
.u-py-4 {
  padding-top: 0.4rem !important;
  padding-bottom: 0.4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-py-4-tab {
    padding-top: 0.4rem !important;
    padding-bottom: 0.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-py-4-sp {
    padding-top: 0.4rem !important;
    padding-bottom: 0.4rem !important;
  }
}
.u-mt-8 {
  margin-top: 0.8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mt-8-tab {
    margin-top: 0.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mt-8-sp {
    margin-top: 0.8rem !important;
  }
}
.u-mb-8 {
  margin-bottom: 0.8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mb-8-tab {
    margin-bottom: 0.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mb-8-sp {
    margin-bottom: 0.8rem !important;
  }
}
.u-my-8 {
  margin-top: 0.8rem !important;
  margin-bottom: 0.8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-my-8-tab {
    margin-top: 0.8rem !important;
    margin-bottom: 0.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-my-8-sp {
    margin-top: 0.8rem !important;
    margin-bottom: 0.8rem !important;
  }
}
.u-pt-8 {
  padding-top: 0.8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pt-8-tab {
    padding-top: 0.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pt-8-sp {
    padding-top: 0.8rem !important;
  }
}
.u-pb-8 {
  padding-bottom: 0.8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pb-8-tab {
    padding-bottom: 0.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pb-8-sp {
    padding-bottom: 0.8rem !important;
  }
}
.u-py-8 {
  padding-top: 0.8rem !important;
  padding-bottom: 0.8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-py-8-tab {
    padding-top: 0.8rem !important;
    padding-bottom: 0.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-py-8-sp {
    padding-top: 0.8rem !important;
    padding-bottom: 0.8rem !important;
  }
}
.u-mt-12 {
  margin-top: 1.2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mt-12-tab {
    margin-top: 1.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mt-12-sp {
    margin-top: 1.2rem !important;
  }
}
.u-mb-12 {
  margin-bottom: 1.2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mb-12-tab {
    margin-bottom: 1.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mb-12-sp {
    margin-bottom: 1.2rem !important;
  }
}
.u-my-12 {
  margin-top: 1.2rem !important;
  margin-bottom: 1.2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-my-12-tab {
    margin-top: 1.2rem !important;
    margin-bottom: 1.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-my-12-sp {
    margin-top: 1.2rem !important;
    margin-bottom: 1.2rem !important;
  }
}
.u-pt-12 {
  padding-top: 1.2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pt-12-tab {
    padding-top: 1.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pt-12-sp {
    padding-top: 1.2rem !important;
  }
}
.u-pb-12 {
  padding-bottom: 1.2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pb-12-tab {
    padding-bottom: 1.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pb-12-sp {
    padding-bottom: 1.2rem !important;
  }
}
.u-py-12 {
  padding-top: 1.2rem !important;
  padding-bottom: 1.2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-py-12-tab {
    padding-top: 1.2rem !important;
    padding-bottom: 1.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-py-12-sp {
    padding-top: 1.2rem !important;
    padding-bottom: 1.2rem !important;
  }
}
.u-mt-16 {
  margin-top: 1.6rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mt-16-tab {
    margin-top: 1.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mt-16-sp {
    margin-top: 1.6rem !important;
  }
}
.u-mb-16 {
  margin-bottom: 1.6rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mb-16-tab {
    margin-bottom: 1.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mb-16-sp {
    margin-bottom: 1.6rem !important;
  }
}
.u-my-16 {
  margin-top: 1.6rem !important;
  margin-bottom: 1.6rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-my-16-tab {
    margin-top: 1.6rem !important;
    margin-bottom: 1.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-my-16-sp {
    margin-top: 1.6rem !important;
    margin-bottom: 1.6rem !important;
  }
}
.u-pt-16 {
  padding-top: 1.6rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pt-16-tab {
    padding-top: 1.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pt-16-sp {
    padding-top: 1.6rem !important;
  }
}
.u-pb-16 {
  padding-bottom: 1.6rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pb-16-tab {
    padding-bottom: 1.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pb-16-sp {
    padding-bottom: 1.6rem !important;
  }
}
.u-py-16 {
  padding-top: 1.6rem !important;
  padding-bottom: 1.6rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-py-16-tab {
    padding-top: 1.6rem !important;
    padding-bottom: 1.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-py-16-sp {
    padding-top: 1.6rem !important;
    padding-bottom: 1.6rem !important;
  }
}
.u-mt-20 {
  margin-top: 2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mt-20-tab {
    margin-top: 2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mt-20-sp {
    margin-top: 2rem !important;
  }
}
.u-mb-20 {
  margin-bottom: 2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mb-20-tab {
    margin-bottom: 2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mb-20-sp {
    margin-bottom: 2rem !important;
  }
}
.u-my-20 {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-my-20-tab {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-my-20-sp {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
  }
}
.u-pt-20 {
  padding-top: 2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pt-20-tab {
    padding-top: 2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pt-20-sp {
    padding-top: 2rem !important;
  }
}
.u-pb-20 {
  padding-bottom: 2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pb-20-tab {
    padding-bottom: 2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pb-20-sp {
    padding-bottom: 2rem !important;
  }
}
.u-py-20 {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-py-20-tab {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-py-20-sp {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }
}
.u-mt-24 {
  margin-top: 2.4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mt-24-tab {
    margin-top: 2.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mt-24-sp {
    margin-top: 2.4rem !important;
  }
}
.u-mb-24 {
  margin-bottom: 2.4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mb-24-tab {
    margin-bottom: 2.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mb-24-sp {
    margin-bottom: 2.4rem !important;
  }
}
.u-my-24 {
  margin-top: 2.4rem !important;
  margin-bottom: 2.4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-my-24-tab {
    margin-top: 2.4rem !important;
    margin-bottom: 2.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-my-24-sp {
    margin-top: 2.4rem !important;
    margin-bottom: 2.4rem !important;
  }
}
.u-pt-24 {
  padding-top: 2.4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pt-24-tab {
    padding-top: 2.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pt-24-sp {
    padding-top: 2.4rem !important;
  }
}
.u-pb-24 {
  padding-bottom: 2.4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pb-24-tab {
    padding-bottom: 2.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pb-24-sp {
    padding-bottom: 2.4rem !important;
  }
}
.u-py-24 {
  padding-top: 2.4rem !important;
  padding-bottom: 2.4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-py-24-tab {
    padding-top: 2.4rem !important;
    padding-bottom: 2.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-py-24-sp {
    padding-top: 2.4rem !important;
    padding-bottom: 2.4rem !important;
  }
}
.u-mt-28 {
  margin-top: 2.8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mt-28-tab {
    margin-top: 2.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mt-28-sp {
    margin-top: 2.8rem !important;
  }
}
.u-mb-28 {
  margin-bottom: 2.8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mb-28-tab {
    margin-bottom: 2.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mb-28-sp {
    margin-bottom: 2.8rem !important;
  }
}
.u-my-28 {
  margin-top: 2.8rem !important;
  margin-bottom: 2.8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-my-28-tab {
    margin-top: 2.8rem !important;
    margin-bottom: 2.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-my-28-sp {
    margin-top: 2.8rem !important;
    margin-bottom: 2.8rem !important;
  }
}
.u-pt-28 {
  padding-top: 2.8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pt-28-tab {
    padding-top: 2.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pt-28-sp {
    padding-top: 2.8rem !important;
  }
}
.u-pb-28 {
  padding-bottom: 2.8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pb-28-tab {
    padding-bottom: 2.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pb-28-sp {
    padding-bottom: 2.8rem !important;
  }
}
.u-py-28 {
  padding-top: 2.8rem !important;
  padding-bottom: 2.8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-py-28-tab {
    padding-top: 2.8rem !important;
    padding-bottom: 2.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-py-28-sp {
    padding-top: 2.8rem !important;
    padding-bottom: 2.8rem !important;
  }
}
.u-mt-32 {
  margin-top: 3.2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mt-32-tab {
    margin-top: 3.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mt-32-sp {
    margin-top: 3.2rem !important;
  }
}
.u-mb-32 {
  margin-bottom: 3.2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mb-32-tab {
    margin-bottom: 3.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mb-32-sp {
    margin-bottom: 3.2rem !important;
  }
}
.u-my-32 {
  margin-top: 3.2rem !important;
  margin-bottom: 3.2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-my-32-tab {
    margin-top: 3.2rem !important;
    margin-bottom: 3.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-my-32-sp {
    margin-top: 3.2rem !important;
    margin-bottom: 3.2rem !important;
  }
}
.u-pt-32 {
  padding-top: 3.2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pt-32-tab {
    padding-top: 3.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pt-32-sp {
    padding-top: 3.2rem !important;
  }
}
.u-pb-32 {
  padding-bottom: 3.2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pb-32-tab {
    padding-bottom: 3.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pb-32-sp {
    padding-bottom: 3.2rem !important;
  }
}
.u-py-32 {
  padding-top: 3.2rem !important;
  padding-bottom: 3.2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-py-32-tab {
    padding-top: 3.2rem !important;
    padding-bottom: 3.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-py-32-sp {
    padding-top: 3.2rem !important;
    padding-bottom: 3.2rem !important;
  }
}
.u-mt-36 {
  margin-top: 3.6rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mt-36-tab {
    margin-top: 3.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mt-36-sp {
    margin-top: 3.6rem !important;
  }
}
.u-mb-36 {
  margin-bottom: 3.6rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mb-36-tab {
    margin-bottom: 3.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mb-36-sp {
    margin-bottom: 3.6rem !important;
  }
}
.u-my-36 {
  margin-top: 3.6rem !important;
  margin-bottom: 3.6rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-my-36-tab {
    margin-top: 3.6rem !important;
    margin-bottom: 3.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-my-36-sp {
    margin-top: 3.6rem !important;
    margin-bottom: 3.6rem !important;
  }
}
.u-pt-36 {
  padding-top: 3.6rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pt-36-tab {
    padding-top: 3.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pt-36-sp {
    padding-top: 3.6rem !important;
  }
}
.u-pb-36 {
  padding-bottom: 3.6rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pb-36-tab {
    padding-bottom: 3.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pb-36-sp {
    padding-bottom: 3.6rem !important;
  }
}
.u-py-36 {
  padding-top: 3.6rem !important;
  padding-bottom: 3.6rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-py-36-tab {
    padding-top: 3.6rem !important;
    padding-bottom: 3.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-py-36-sp {
    padding-top: 3.6rem !important;
    padding-bottom: 3.6rem !important;
  }
}
.u-mt-40 {
  margin-top: 4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mt-40-tab {
    margin-top: 4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mt-40-sp {
    margin-top: 4rem !important;
  }
}
.u-mb-40 {
  margin-bottom: 4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mb-40-tab {
    margin-bottom: 4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mb-40-sp {
    margin-bottom: 4rem !important;
  }
}
.u-my-40 {
  margin-top: 4rem !important;
  margin-bottom: 4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-my-40-tab {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-my-40-sp {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important;
  }
}
.u-pt-40 {
  padding-top: 4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pt-40-tab {
    padding-top: 4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pt-40-sp {
    padding-top: 4rem !important;
  }
}
.u-pb-40 {
  padding-bottom: 4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pb-40-tab {
    padding-bottom: 4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pb-40-sp {
    padding-bottom: 4rem !important;
  }
}
.u-py-40 {
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-py-40-tab {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-py-40-sp {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
}
.u-mt-48 {
  margin-top: 4.8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mt-48-tab {
    margin-top: 4.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mt-48-sp {
    margin-top: 4.8rem !important;
  }
}
.u-mb-48 {
  margin-bottom: 4.8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mb-48-tab {
    margin-bottom: 4.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mb-48-sp {
    margin-bottom: 4.8rem !important;
  }
}
.u-my-48 {
  margin-top: 4.8rem !important;
  margin-bottom: 4.8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-my-48-tab {
    margin-top: 4.8rem !important;
    margin-bottom: 4.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-my-48-sp {
    margin-top: 4.8rem !important;
    margin-bottom: 4.8rem !important;
  }
}
.u-pt-48 {
  padding-top: 4.8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pt-48-tab {
    padding-top: 4.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pt-48-sp {
    padding-top: 4.8rem !important;
  }
}
.u-pb-48 {
  padding-bottom: 4.8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pb-48-tab {
    padding-bottom: 4.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pb-48-sp {
    padding-bottom: 4.8rem !important;
  }
}
.u-py-48 {
  padding-top: 4.8rem !important;
  padding-bottom: 4.8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-py-48-tab {
    padding-top: 4.8rem !important;
    padding-bottom: 4.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-py-48-sp {
    padding-top: 4.8rem !important;
    padding-bottom: 4.8rem !important;
  }
}
.u-mt-56 {
  margin-top: 5.6rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mt-56-tab {
    margin-top: 5.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mt-56-sp {
    margin-top: 5.6rem !important;
  }
}
.u-mb-56 {
  margin-bottom: 5.6rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mb-56-tab {
    margin-bottom: 5.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mb-56-sp {
    margin-bottom: 5.6rem !important;
  }
}
.u-my-56 {
  margin-top: 5.6rem !important;
  margin-bottom: 5.6rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-my-56-tab {
    margin-top: 5.6rem !important;
    margin-bottom: 5.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-my-56-sp {
    margin-top: 5.6rem !important;
    margin-bottom: 5.6rem !important;
  }
}
.u-pt-56 {
  padding-top: 5.6rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pt-56-tab {
    padding-top: 5.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pt-56-sp {
    padding-top: 5.6rem !important;
  }
}
.u-pb-56 {
  padding-bottom: 5.6rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pb-56-tab {
    padding-bottom: 5.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pb-56-sp {
    padding-bottom: 5.6rem !important;
  }
}
.u-py-56 {
  padding-top: 5.6rem !important;
  padding-bottom: 5.6rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-py-56-tab {
    padding-top: 5.6rem !important;
    padding-bottom: 5.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-py-56-sp {
    padding-top: 5.6rem !important;
    padding-bottom: 5.6rem !important;
  }
}
.u-mt-64 {
  margin-top: 6.4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mt-64-tab {
    margin-top: 6.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mt-64-sp {
    margin-top: 6.4rem !important;
  }
}
.u-mb-64 {
  margin-bottom: 6.4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mb-64-tab {
    margin-bottom: 6.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mb-64-sp {
    margin-bottom: 6.4rem !important;
  }
}
.u-my-64 {
  margin-top: 6.4rem !important;
  margin-bottom: 6.4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-my-64-tab {
    margin-top: 6.4rem !important;
    margin-bottom: 6.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-my-64-sp {
    margin-top: 6.4rem !important;
    margin-bottom: 6.4rem !important;
  }
}
.u-pt-64 {
  padding-top: 6.4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pt-64-tab {
    padding-top: 6.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pt-64-sp {
    padding-top: 6.4rem !important;
  }
}
.u-pb-64 {
  padding-bottom: 6.4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pb-64-tab {
    padding-bottom: 6.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pb-64-sp {
    padding-bottom: 6.4rem !important;
  }
}
.u-py-64 {
  padding-top: 6.4rem !important;
  padding-bottom: 6.4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-py-64-tab {
    padding-top: 6.4rem !important;
    padding-bottom: 6.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-py-64-sp {
    padding-top: 6.4rem !important;
    padding-bottom: 6.4rem !important;
  }
}
.u-mt-72 {
  margin-top: 7.2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mt-72-tab {
    margin-top: 7.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mt-72-sp {
    margin-top: 7.2rem !important;
  }
}
.u-mb-72 {
  margin-bottom: 7.2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mb-72-tab {
    margin-bottom: 7.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mb-72-sp {
    margin-bottom: 7.2rem !important;
  }
}
.u-my-72 {
  margin-top: 7.2rem !important;
  margin-bottom: 7.2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-my-72-tab {
    margin-top: 7.2rem !important;
    margin-bottom: 7.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-my-72-sp {
    margin-top: 7.2rem !important;
    margin-bottom: 7.2rem !important;
  }
}
.u-pt-72 {
  padding-top: 7.2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pt-72-tab {
    padding-top: 7.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pt-72-sp {
    padding-top: 7.2rem !important;
  }
}
.u-pb-72 {
  padding-bottom: 7.2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pb-72-tab {
    padding-bottom: 7.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pb-72-sp {
    padding-bottom: 7.2rem !important;
  }
}
.u-py-72 {
  padding-top: 7.2rem !important;
  padding-bottom: 7.2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-py-72-tab {
    padding-top: 7.2rem !important;
    padding-bottom: 7.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-py-72-sp {
    padding-top: 7.2rem !important;
    padding-bottom: 7.2rem !important;
  }
}
.u-mt-80 {
  margin-top: 8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mt-80-tab {
    margin-top: 8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mt-80-sp {
    margin-top: 8rem !important;
  }
}
.u-mb-80 {
  margin-bottom: 8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mb-80-tab {
    margin-bottom: 8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mb-80-sp {
    margin-bottom: 8rem !important;
  }
}
.u-my-80 {
  margin-top: 8rem !important;
  margin-bottom: 8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-my-80-tab {
    margin-top: 8rem !important;
    margin-bottom: 8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-my-80-sp {
    margin-top: 8rem !important;
    margin-bottom: 8rem !important;
  }
}
.u-pt-80 {
  padding-top: 8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pt-80-tab {
    padding-top: 8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pt-80-sp {
    padding-top: 8rem !important;
  }
}
.u-pb-80 {
  padding-bottom: 8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pb-80-tab {
    padding-bottom: 8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pb-80-sp {
    padding-bottom: 8rem !important;
  }
}
.u-py-80 {
  padding-top: 8rem !important;
  padding-bottom: 8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-py-80-tab {
    padding-top: 8rem !important;
    padding-bottom: 8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-py-80-sp {
    padding-top: 8rem !important;
    padding-bottom: 8rem !important;
  }
}
.u-mt-96 {
  margin-top: 9.6rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mt-96-tab {
    margin-top: 9.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mt-96-sp {
    margin-top: 9.6rem !important;
  }
}
.u-mb-96 {
  margin-bottom: 9.6rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mb-96-tab {
    margin-bottom: 9.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mb-96-sp {
    margin-bottom: 9.6rem !important;
  }
}
.u-my-96 {
  margin-top: 9.6rem !important;
  margin-bottom: 9.6rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-my-96-tab {
    margin-top: 9.6rem !important;
    margin-bottom: 9.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-my-96-sp {
    margin-top: 9.6rem !important;
    margin-bottom: 9.6rem !important;
  }
}
.u-pt-96 {
  padding-top: 9.6rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pt-96-tab {
    padding-top: 9.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pt-96-sp {
    padding-top: 9.6rem !important;
  }
}
.u-pb-96 {
  padding-bottom: 9.6rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pb-96-tab {
    padding-bottom: 9.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pb-96-sp {
    padding-bottom: 9.6rem !important;
  }
}
.u-py-96 {
  padding-top: 9.6rem !important;
  padding-bottom: 9.6rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-py-96-tab {
    padding-top: 9.6rem !important;
    padding-bottom: 9.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-py-96-sp {
    padding-top: 9.6rem !important;
    padding-bottom: 9.6rem !important;
  }
}
.u-mt-112 {
  margin-top: 11.2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mt-112-tab {
    margin-top: 11.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mt-112-sp {
    margin-top: 11.2rem !important;
  }
}
.u-mb-112 {
  margin-bottom: 11.2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mb-112-tab {
    margin-bottom: 11.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mb-112-sp {
    margin-bottom: 11.2rem !important;
  }
}
.u-my-112 {
  margin-top: 11.2rem !important;
  margin-bottom: 11.2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-my-112-tab {
    margin-top: 11.2rem !important;
    margin-bottom: 11.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-my-112-sp {
    margin-top: 11.2rem !important;
    margin-bottom: 11.2rem !important;
  }
}
.u-pt-112 {
  padding-top: 11.2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pt-112-tab {
    padding-top: 11.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pt-112-sp {
    padding-top: 11.2rem !important;
  }
}
.u-pb-112 {
  padding-bottom: 11.2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pb-112-tab {
    padding-bottom: 11.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pb-112-sp {
    padding-bottom: 11.2rem !important;
  }
}
.u-py-112 {
  padding-top: 11.2rem !important;
  padding-bottom: 11.2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-py-112-tab {
    padding-top: 11.2rem !important;
    padding-bottom: 11.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-py-112-sp {
    padding-top: 11.2rem !important;
    padding-bottom: 11.2rem !important;
  }
}
.u-mt-120 {
  margin-top: 12rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mt-120-tab {
    margin-top: 12rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mt-120-sp {
    margin-top: 12rem !important;
  }
}
.u-mb-120 {
  margin-bottom: 12rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mb-120-tab {
    margin-bottom: 12rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mb-120-sp {
    margin-bottom: 12rem !important;
  }
}
.u-my-120 {
  margin-top: 12rem !important;
  margin-bottom: 12rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-my-120-tab {
    margin-top: 12rem !important;
    margin-bottom: 12rem !important;
  }
}
@media (max-width: 767px) {
  body .u-my-120-sp {
    margin-top: 12rem !important;
    margin-bottom: 12rem !important;
  }
}
.u-pt-120 {
  padding-top: 12rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pt-120-tab {
    padding-top: 12rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pt-120-sp {
    padding-top: 12rem !important;
  }
}
.u-pb-120 {
  padding-bottom: 12rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pb-120-tab {
    padding-bottom: 12rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pb-120-sp {
    padding-bottom: 12rem !important;
  }
}
.u-py-120 {
  padding-top: 12rem !important;
  padding-bottom: 12rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-py-120-tab {
    padding-top: 12rem !important;
    padding-bottom: 12rem !important;
  }
}
@media (max-width: 767px) {
  body .u-py-120-sp {
    padding-top: 12rem !important;
    padding-bottom: 12rem !important;
  }
}
.u-mt-128 {
  margin-top: 12.8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mt-128-tab {
    margin-top: 12.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mt-128-sp {
    margin-top: 12.8rem !important;
  }
}
.u-mb-128 {
  margin-bottom: 12.8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mb-128-tab {
    margin-bottom: 12.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mb-128-sp {
    margin-bottom: 12.8rem !important;
  }
}
.u-my-128 {
  margin-top: 12.8rem !important;
  margin-bottom: 12.8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-my-128-tab {
    margin-top: 12.8rem !important;
    margin-bottom: 12.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-my-128-sp {
    margin-top: 12.8rem !important;
    margin-bottom: 12.8rem !important;
  }
}
.u-pt-128 {
  padding-top: 12.8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pt-128-tab {
    padding-top: 12.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pt-128-sp {
    padding-top: 12.8rem !important;
  }
}
.u-pb-128 {
  padding-bottom: 12.8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pb-128-tab {
    padding-bottom: 12.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pb-128-sp {
    padding-bottom: 12.8rem !important;
  }
}
.u-py-128 {
  padding-top: 12.8rem !important;
  padding-bottom: 12.8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-py-128-tab {
    padding-top: 12.8rem !important;
    padding-bottom: 12.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-py-128-sp {
    padding-top: 12.8rem !important;
    padding-bottom: 12.8rem !important;
  }
}
.u-ml-0 {
  margin-left: 0rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-ml-0-tab {
    margin-left: 0rem !important;
  }
}
@media (max-width: 767px) {
  body .u-ml-0-sp {
    margin-left: 0rem !important;
  }
}
.u-mr-0 {
  margin-right: 0rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mr-0-tab {
    margin-right: 0rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mr-0-sp {
    margin-right: 0rem !important;
  }
}
.u-mx-0 {
  margin-left: 0rem !important;
  margin-right: 0rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mx-0-tab {
    margin-left: 0rem !important;
    margin-right: 0rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mx-0-sp {
    margin-left: 0rem !important;
    margin-right: 0rem !important;
  }
}
.u-pl-0 {
  padding-left: 0rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pl-0-tab {
    padding-left: 0rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pl-0-sp {
    padding-left: 0rem !important;
  }
}
.u-pr-0 {
  padding-right: 0rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pr-0-tab {
    padding-right: 0rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pr-0-sp {
    padding-right: 0rem !important;
  }
}
.u-px-0 {
  padding-left: 0rem !important;
  padding-right: 0rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-px-0-tab {
    padding-left: 0rem !important;
    padding-right: 0rem !important;
  }
}
@media (max-width: 767px) {
  body .u-px-0-sp {
    padding-left: 0rem !important;
    padding-right: 0rem !important;
  }
}
.u-ml-4 {
  margin-left: 0.4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-ml-4-tab {
    margin-left: 0.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-ml-4-sp {
    margin-left: 0.4rem !important;
  }
}
.u-mr-4 {
  margin-right: 0.4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mr-4-tab {
    margin-right: 0.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mr-4-sp {
    margin-right: 0.4rem !important;
  }
}
.u-mx-4 {
  margin-left: 0.4rem !important;
  margin-right: 0.4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mx-4-tab {
    margin-left: 0.4rem !important;
    margin-right: 0.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mx-4-sp {
    margin-left: 0.4rem !important;
    margin-right: 0.4rem !important;
  }
}
.u-pl-4 {
  padding-left: 0.4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pl-4-tab {
    padding-left: 0.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pl-4-sp {
    padding-left: 0.4rem !important;
  }
}
.u-pr-4 {
  padding-right: 0.4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pr-4-tab {
    padding-right: 0.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pr-4-sp {
    padding-right: 0.4rem !important;
  }
}
.u-px-4 {
  padding-left: 0.4rem !important;
  padding-right: 0.4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-px-4-tab {
    padding-left: 0.4rem !important;
    padding-right: 0.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-px-4-sp {
    padding-left: 0.4rem !important;
    padding-right: 0.4rem !important;
  }
}
.u-ml-8 {
  margin-left: 0.8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-ml-8-tab {
    margin-left: 0.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-ml-8-sp {
    margin-left: 0.8rem !important;
  }
}
.u-mr-8 {
  margin-right: 0.8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mr-8-tab {
    margin-right: 0.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mr-8-sp {
    margin-right: 0.8rem !important;
  }
}
.u-mx-8 {
  margin-left: 0.8rem !important;
  margin-right: 0.8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mx-8-tab {
    margin-left: 0.8rem !important;
    margin-right: 0.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mx-8-sp {
    margin-left: 0.8rem !important;
    margin-right: 0.8rem !important;
  }
}
.u-pl-8 {
  padding-left: 0.8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pl-8-tab {
    padding-left: 0.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pl-8-sp {
    padding-left: 0.8rem !important;
  }
}
.u-pr-8 {
  padding-right: 0.8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pr-8-tab {
    padding-right: 0.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pr-8-sp {
    padding-right: 0.8rem !important;
  }
}
.u-px-8 {
  padding-left: 0.8rem !important;
  padding-right: 0.8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-px-8-tab {
    padding-left: 0.8rem !important;
    padding-right: 0.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-px-8-sp {
    padding-left: 0.8rem !important;
    padding-right: 0.8rem !important;
  }
}
.u-ml-12 {
  margin-left: 1.2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-ml-12-tab {
    margin-left: 1.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-ml-12-sp {
    margin-left: 1.2rem !important;
  }
}
.u-mr-12 {
  margin-right: 1.2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mr-12-tab {
    margin-right: 1.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mr-12-sp {
    margin-right: 1.2rem !important;
  }
}
.u-mx-12 {
  margin-left: 1.2rem !important;
  margin-right: 1.2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mx-12-tab {
    margin-left: 1.2rem !important;
    margin-right: 1.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mx-12-sp {
    margin-left: 1.2rem !important;
    margin-right: 1.2rem !important;
  }
}
.u-pl-12 {
  padding-left: 1.2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pl-12-tab {
    padding-left: 1.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pl-12-sp {
    padding-left: 1.2rem !important;
  }
}
.u-pr-12 {
  padding-right: 1.2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pr-12-tab {
    padding-right: 1.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pr-12-sp {
    padding-right: 1.2rem !important;
  }
}
.u-px-12 {
  padding-left: 1.2rem !important;
  padding-right: 1.2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-px-12-tab {
    padding-left: 1.2rem !important;
    padding-right: 1.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-px-12-sp {
    padding-left: 1.2rem !important;
    padding-right: 1.2rem !important;
  }
}
.u-ml-16 {
  margin-left: 1.6rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-ml-16-tab {
    margin-left: 1.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-ml-16-sp {
    margin-left: 1.6rem !important;
  }
}
.u-mr-16 {
  margin-right: 1.6rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mr-16-tab {
    margin-right: 1.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mr-16-sp {
    margin-right: 1.6rem !important;
  }
}
.u-mx-16 {
  margin-left: 1.6rem !important;
  margin-right: 1.6rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mx-16-tab {
    margin-left: 1.6rem !important;
    margin-right: 1.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mx-16-sp {
    margin-left: 1.6rem !important;
    margin-right: 1.6rem !important;
  }
}
.u-pl-16 {
  padding-left: 1.6rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pl-16-tab {
    padding-left: 1.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pl-16-sp {
    padding-left: 1.6rem !important;
  }
}
.u-pr-16 {
  padding-right: 1.6rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pr-16-tab {
    padding-right: 1.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pr-16-sp {
    padding-right: 1.6rem !important;
  }
}
.u-px-16 {
  padding-left: 1.6rem !important;
  padding-right: 1.6rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-px-16-tab {
    padding-left: 1.6rem !important;
    padding-right: 1.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-px-16-sp {
    padding-left: 1.6rem !important;
    padding-right: 1.6rem !important;
  }
}
.u-ml-20 {
  margin-left: 2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-ml-20-tab {
    margin-left: 2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-ml-20-sp {
    margin-left: 2rem !important;
  }
}
.u-mr-20 {
  margin-right: 2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mr-20-tab {
    margin-right: 2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mr-20-sp {
    margin-right: 2rem !important;
  }
}
.u-mx-20 {
  margin-left: 2rem !important;
  margin-right: 2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mx-20-tab {
    margin-left: 2rem !important;
    margin-right: 2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mx-20-sp {
    margin-left: 2rem !important;
    margin-right: 2rem !important;
  }
}
.u-pl-20 {
  padding-left: 2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pl-20-tab {
    padding-left: 2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pl-20-sp {
    padding-left: 2rem !important;
  }
}
.u-pr-20 {
  padding-right: 2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pr-20-tab {
    padding-right: 2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pr-20-sp {
    padding-right: 2rem !important;
  }
}
.u-px-20 {
  padding-left: 2rem !important;
  padding-right: 2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-px-20-tab {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-px-20-sp {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
  }
}
.u-ml-24 {
  margin-left: 2.4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-ml-24-tab {
    margin-left: 2.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-ml-24-sp {
    margin-left: 2.4rem !important;
  }
}
.u-mr-24 {
  margin-right: 2.4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mr-24-tab {
    margin-right: 2.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mr-24-sp {
    margin-right: 2.4rem !important;
  }
}
.u-mx-24 {
  margin-left: 2.4rem !important;
  margin-right: 2.4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mx-24-tab {
    margin-left: 2.4rem !important;
    margin-right: 2.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mx-24-sp {
    margin-left: 2.4rem !important;
    margin-right: 2.4rem !important;
  }
}
.u-pl-24 {
  padding-left: 2.4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pl-24-tab {
    padding-left: 2.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pl-24-sp {
    padding-left: 2.4rem !important;
  }
}
.u-pr-24 {
  padding-right: 2.4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pr-24-tab {
    padding-right: 2.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pr-24-sp {
    padding-right: 2.4rem !important;
  }
}
.u-px-24 {
  padding-left: 2.4rem !important;
  padding-right: 2.4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-px-24-tab {
    padding-left: 2.4rem !important;
    padding-right: 2.4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-px-24-sp {
    padding-left: 2.4rem !important;
    padding-right: 2.4rem !important;
  }
}
.u-ml-28 {
  margin-left: 2.8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-ml-28-tab {
    margin-left: 2.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-ml-28-sp {
    margin-left: 2.8rem !important;
  }
}
.u-mr-28 {
  margin-right: 2.8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mr-28-tab {
    margin-right: 2.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mr-28-sp {
    margin-right: 2.8rem !important;
  }
}
.u-mx-28 {
  margin-left: 2.8rem !important;
  margin-right: 2.8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mx-28-tab {
    margin-left: 2.8rem !important;
    margin-right: 2.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mx-28-sp {
    margin-left: 2.8rem !important;
    margin-right: 2.8rem !important;
  }
}
.u-pl-28 {
  padding-left: 2.8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pl-28-tab {
    padding-left: 2.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pl-28-sp {
    padding-left: 2.8rem !important;
  }
}
.u-pr-28 {
  padding-right: 2.8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pr-28-tab {
    padding-right: 2.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pr-28-sp {
    padding-right: 2.8rem !important;
  }
}
.u-px-28 {
  padding-left: 2.8rem !important;
  padding-right: 2.8rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-px-28-tab {
    padding-left: 2.8rem !important;
    padding-right: 2.8rem !important;
  }
}
@media (max-width: 767px) {
  body .u-px-28-sp {
    padding-left: 2.8rem !important;
    padding-right: 2.8rem !important;
  }
}
.u-ml-32 {
  margin-left: 3.2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-ml-32-tab {
    margin-left: 3.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-ml-32-sp {
    margin-left: 3.2rem !important;
  }
}
.u-mr-32 {
  margin-right: 3.2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mr-32-tab {
    margin-right: 3.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mr-32-sp {
    margin-right: 3.2rem !important;
  }
}
.u-mx-32 {
  margin-left: 3.2rem !important;
  margin-right: 3.2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mx-32-tab {
    margin-left: 3.2rem !important;
    margin-right: 3.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mx-32-sp {
    margin-left: 3.2rem !important;
    margin-right: 3.2rem !important;
  }
}
.u-pl-32 {
  padding-left: 3.2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pl-32-tab {
    padding-left: 3.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pl-32-sp {
    padding-left: 3.2rem !important;
  }
}
.u-pr-32 {
  padding-right: 3.2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pr-32-tab {
    padding-right: 3.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pr-32-sp {
    padding-right: 3.2rem !important;
  }
}
.u-px-32 {
  padding-left: 3.2rem !important;
  padding-right: 3.2rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-px-32-tab {
    padding-left: 3.2rem !important;
    padding-right: 3.2rem !important;
  }
}
@media (max-width: 767px) {
  body .u-px-32-sp {
    padding-left: 3.2rem !important;
    padding-right: 3.2rem !important;
  }
}
.u-ml-36 {
  margin-left: 3.6rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-ml-36-tab {
    margin-left: 3.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-ml-36-sp {
    margin-left: 3.6rem !important;
  }
}
.u-mr-36 {
  margin-right: 3.6rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mr-36-tab {
    margin-right: 3.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mr-36-sp {
    margin-right: 3.6rem !important;
  }
}
.u-mx-36 {
  margin-left: 3.6rem !important;
  margin-right: 3.6rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mx-36-tab {
    margin-left: 3.6rem !important;
    margin-right: 3.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mx-36-sp {
    margin-left: 3.6rem !important;
    margin-right: 3.6rem !important;
  }
}
.u-pl-36 {
  padding-left: 3.6rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pl-36-tab {
    padding-left: 3.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pl-36-sp {
    padding-left: 3.6rem !important;
  }
}
.u-pr-36 {
  padding-right: 3.6rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pr-36-tab {
    padding-right: 3.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pr-36-sp {
    padding-right: 3.6rem !important;
  }
}
.u-px-36 {
  padding-left: 3.6rem !important;
  padding-right: 3.6rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-px-36-tab {
    padding-left: 3.6rem !important;
    padding-right: 3.6rem !important;
  }
}
@media (max-width: 767px) {
  body .u-px-36-sp {
    padding-left: 3.6rem !important;
    padding-right: 3.6rem !important;
  }
}
.u-ml-40 {
  margin-left: 4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-ml-40-tab {
    margin-left: 4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-ml-40-sp {
    margin-left: 4rem !important;
  }
}
.u-mr-40 {
  margin-right: 4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mr-40-tab {
    margin-right: 4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mr-40-sp {
    margin-right: 4rem !important;
  }
}
.u-mx-40 {
  margin-left: 4rem !important;
  margin-right: 4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-mx-40-tab {
    margin-left: 4rem !important;
    margin-right: 4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-mx-40-sp {
    margin-left: 4rem !important;
    margin-right: 4rem !important;
  }
}
.u-pl-40 {
  padding-left: 4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pl-40-tab {
    padding-left: 4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pl-40-sp {
    padding-left: 4rem !important;
  }
}
.u-pr-40 {
  padding-right: 4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-pr-40-tab {
    padding-right: 4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-pr-40-sp {
    padding-right: 4rem !important;
  }
}
.u-px-40 {
  padding-left: 4rem !important;
  padding-right: 4rem !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body .u-px-40-tab {
    padding-left: 4rem !important;
    padding-right: 4rem !important;
  }
}
@media (max-width: 767px) {
  body .u-px-40-sp {
    padding-left: 4rem !important;
    padding-right: 4rem !important;
  }
}
.u-my-xs {
  margin-top: 0.8rem !important;
  margin-bottom: 0.8rem !important;
}
@media (max-width: 767px) {
  .u-my-xs {
    margin-top: 0.4rem !important;
    margin-bottom: 0.4rem !important;
  }
}

.u-mt-xs {
  margin-top: 0.8rem !important;
}
@media (max-width: 767px) {
  .u-mt-xs {
    margin-top: 0.4rem !important;
  }
}

.u-mb-xs {
  margin-bottom: 0.8rem !important;
}
@media (max-width: 767px) {
  .u-mb-xs {
    margin-bottom: 0.4rem !important;
  }
}

.u-py-xs {
  padding-top: 0.8rem !important;
  padding-bottom: 0.8rem !important;
}
@media (max-width: 767px) {
  .u-py-xs {
    padding-top: 0.4rem !important;
    padding-bottom: 0.4rem !important;
  }
}

.u-pt-xs {
  padding-top: 0.8rem !important;
}
@media (max-width: 767px) {
  .u-pt-xs {
    padding-top: 0.4rem !important;
  }
}

.u-pb-xs {
  padding-bottom: 0.8rem !important;
}
@media (max-width: 767px) {
  .u-pb-xs {
    padding-bottom: 0.4rem !important;
  }
}

.u-my-sm {
  margin-top: 1.6rem !important;
  margin-bottom: 1.6rem !important;
}
@media (max-width: 767px) {
  .u-my-sm {
    margin-top: 0.8rem !important;
    margin-bottom: 0.8rem !important;
  }
}

.u-mt-sm {
  margin-top: 1.6rem !important;
}
@media (max-width: 767px) {
  .u-mt-sm {
    margin-top: 0.8rem !important;
  }
}

.u-mb-sm {
  margin-bottom: 1.6rem !important;
}
@media (max-width: 767px) {
  .u-mb-sm {
    margin-bottom: 0.8rem !important;
  }
}

.u-py-sm {
  padding-top: 1.6rem !important;
  padding-bottom: 1.6rem !important;
}
@media (max-width: 767px) {
  .u-py-sm {
    padding-top: 0.8rem !important;
    padding-bottom: 0.8rem !important;
  }
}

.u-pt-sm {
  padding-top: 1.6rem !important;
}
@media (max-width: 767px) {
  .u-pt-sm {
    padding-top: 0.8rem !important;
  }
}

.u-pb-sm {
  padding-bottom: 1.6rem !important;
}
@media (max-width: 767px) {
  .u-pb-sm {
    padding-bottom: 0.8rem !important;
  }
}

.u-my-md {
  margin-top: 2.4rem !important;
  margin-bottom: 2.4rem !important;
}
@media (max-width: 767px) {
  .u-my-md {
    margin-top: 1.6rem !important;
    margin-bottom: 1.6rem !important;
  }
}

.u-mt-md {
  margin-top: 2.4rem !important;
}
@media (max-width: 767px) {
  .u-mt-md {
    margin-top: 1.6rem !important;
  }
}

.u-mb-md {
  margin-bottom: 2.4rem !important;
}
@media (max-width: 767px) {
  .u-mb-md {
    margin-bottom: 1.6rem !important;
  }
}

.u-py-md {
  padding-top: 2.4rem !important;
  padding-bottom: 2.4rem !important;
}
@media (max-width: 767px) {
  .u-py-md {
    padding-top: 1.6rem !important;
    padding-bottom: 1.6rem !important;
  }
}

.u-pt-md {
  padding-top: 2.4rem !important;
}
@media (max-width: 767px) {
  .u-pt-md {
    padding-top: 1.6rem !important;
  }
}

.u-pb-md {
  padding-bottom: 2.4rem !important;
}
@media (max-width: 767px) {
  .u-pb-md {
    padding-bottom: 1.6rem !important;
  }
}

.u-my-lg {
  margin-top: 4.8rem !important;
  margin-bottom: 4.8rem !important;
}
@media (max-width: 767px) {
  .u-my-lg {
    margin-top: 3.2rem !important;
    margin-bottom: 3.2rem !important;
  }
}

.u-mt-lg {
  margin-top: 4.8rem !important;
}
@media (max-width: 767px) {
  .u-mt-lg {
    margin-top: 3.2rem !important;
  }
}

.u-mb-lg {
  margin-bottom: 4.8rem !important;
}
@media (max-width: 767px) {
  .u-mb-lg {
    margin-bottom: 3.2rem !important;
  }
}

.u-py-lg {
  padding-top: 4.8rem !important;
  padding-bottom: 4.8rem !important;
}
@media (max-width: 767px) {
  .u-py-lg {
    padding-top: 3.2rem !important;
    padding-bottom: 3.2rem !important;
  }
}

.u-pt-lg {
  padding-top: 4.8rem !important;
}
@media (max-width: 767px) {
  .u-pt-lg {
    padding-top: 3.2rem !important;
  }
}

.u-pb-lg {
  padding-bottom: 4.8rem !important;
}
@media (max-width: 767px) {
  .u-pb-lg {
    padding-bottom: 3.2rem !important;
  }
}

.u-my-xl {
  margin-top: 7.2rem !important;
  margin-bottom: 7.2rem !important;
}
@media (max-width: 767px) {
  .u-my-xl {
    margin-top: 4.8rem !important;
    margin-bottom: 4.8rem !important;
  }
}

.u-mt-xl {
  margin-top: 7.2rem !important;
}
@media (max-width: 767px) {
  .u-mt-xl {
    margin-top: 4.8rem !important;
  }
}

.u-mb-xl {
  margin-bottom: 7.2rem !important;
}
@media (max-width: 767px) {
  .u-mb-xl {
    margin-bottom: 4.8rem !important;
  }
}

.u-py-xl {
  padding-top: 7.2rem !important;
  padding-bottom: 7.2rem !important;
}
@media (max-width: 767px) {
  .u-py-xl {
    padding-top: 4.8rem !important;
    padding-bottom: 4.8rem !important;
  }
}

.u-pt-xl {
  padding-top: 7.2rem !important;
}
@media (max-width: 767px) {
  .u-pt-xl {
    padding-top: 4.8rem !important;
  }
}

.u-pb-xl {
  padding-bottom: 7.2rem !important;
}
@media (max-width: 767px) {
  .u-pb-xl {
    padding-bottom: 4.8rem !important;
  }
}

.u-my-2xl {
  margin-top: 9.6rem !important;
  margin-bottom: 9.6rem !important;
}
@media (max-width: 767px) {
  .u-my-2xl {
    margin-top: 6.4rem !important;
    margin-bottom: 6.4rem !important;
  }
}

.u-mt-2xl {
  margin-top: 9.6rem !important;
}
@media (max-width: 767px) {
  .u-mt-2xl {
    margin-top: 6.4rem !important;
  }
}

.u-mb-2xl {
  margin-bottom: 9.6rem !important;
}
@media (max-width: 767px) {
  .u-mb-2xl {
    margin-bottom: 6.4rem !important;
  }
}

.u-py-2xl {
  padding-top: 9.6rem !important;
  padding-bottom: 9.6rem !important;
}
@media (max-width: 767px) {
  .u-py-2xl {
    padding-top: 6.4rem !important;
    padding-bottom: 6.4rem !important;
  }
}

.u-pt-2xl {
  padding-top: 9.6rem !important;
}
@media (max-width: 767px) {
  .u-pt-2xl {
    padding-top: 6.4rem !important;
  }
}

.u-pb-2xl {
  padding-bottom: 9.6rem !important;
}
@media (max-width: 767px) {
  .u-pb-2xl {
    padding-bottom: 6.4rem !important;
  }
}

.u-my-3xl {
  margin-top: 12.8rem !important;
  margin-bottom: 12.8rem !important;
}
@media (max-width: 767px) {
  .u-my-3xl {
    margin-top: 8rem !important;
    margin-bottom: 8rem !important;
  }
}

.u-mt-3xl {
  margin-top: 12.8rem !important;
}
@media (max-width: 767px) {
  .u-mt-3xl {
    margin-top: 8rem !important;
  }
}

.u-mb-3xl {
  margin-bottom: 12.8rem !important;
}
@media (max-width: 767px) {
  .u-mb-3xl {
    margin-bottom: 8rem !important;
  }
}

.u-py-3xl {
  padding-top: 12.8rem !important;
  padding-bottom: 12.8rem !important;
}
@media (max-width: 767px) {
  .u-py-3xl {
    padding-top: 8rem !important;
    padding-bottom: 8rem !important;
  }
}

.u-pt-3xl {
  padding-top: 12.8rem !important;
}
@media (max-width: 767px) {
  .u-pt-3xl {
    padding-top: 8rem !important;
  }
}

.u-pb-3xl {
  padding-bottom: 12.8rem !important;
}
@media (max-width: 767px) {
  .u-pb-3xl {
    padding-bottom: 8rem !important;
  }
}

/* コンポーネントやページのスタイルを追加する場合は、以下のように@useを追加してください。
 * 例: @use './components/button';
 *     @use './pages/home';
 *
 * 注意: 各ファイルはsrc/styles/components/やsrc/styles/pages/に配置してください。
 */
.mv-about {
  position: relative;
  --mv-fade: 1;
  --bg-bw: 0;
  --about-fade: 0;
}
.mv-about__pinned {
  position: sticky;
  top: 0;
  width: 100%;
  height: 100dvh;
  z-index: 1;
  clip-path: inset(0);
}
.mv-about__pinned::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  opacity: calc(var(--about-fade, 0) * 0.85);
  pointer-events: none;
  z-index: 0;
  will-change: opacity;
}
.mv-about__bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
}
.mv-about__bg-item {
  position: absolute;
  inset: -2px;
  opacity: 0;
  pointer-events: none;
  background-repeat: no-repeat;
  background-position: center right;
  background-size: cover;
  animation: mvBgFade 20s infinite;
  filter: grayscale(var(--bg-bw, 0));
}
@media (min-width: 768px) and (max-width: 1023px) {
  .mv-about__bg-item {
    top: 50%;
    left: 50%;
    width: calc(100vw + 6px);
    height: calc(100vh + 6px);
    transform: translate(-50%, -50%);
    animation: mvBgFadeSp 18s infinite;
  }
}
@media (max-width: 767px) {
  .mv-about__bg-item {
    top: 50%;
    left: 50%;
    width: calc(100vw + 4px);
    height: calc(100vh + 4px);
    transform: translate(-50%, -50%);
    animation: mvBgFadeSp 18s infinite;
  }
}
.mv-about__bg-item:nth-child(1) {
  background-image: url("../images/top/top-bg01.webp");
  animation-delay: 0s;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .mv-about__bg-item:nth-child(1) {
    background-image: url("../images/top/top-bg01_sp.webp");
  }
}
@media (max-width: 767px) {
  .mv-about__bg-item:nth-child(1) {
    background-image: url("../images/top/top-bg01_sp.webp");
  }
}
.mv-about__bg-item:nth-child(2) {
  background-image: url("../images/top/top-bg02.webp");
  background-position: center center;
  animation-delay: 5s;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .mv-about__bg-item:nth-child(2) {
    background-image: url("../images/top/top-bg02_sp.webp");
    animation-delay: 6s;
    background-position: 50% 50%;
  }
}
@media (max-width: 767px) {
  .mv-about__bg-item:nth-child(2) {
    background-image: url("../images/top/top-bg02_sp.webp");
    animation-delay: 6s;
    background-position: 50% 50%;
  }
}
.mv-about__bg-item:nth-child(3) {
  background-image: url("../images/top/top-bg03.webp");
  animation-delay: 10s;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .mv-about__bg-item:nth-child(3) {
    background-image: url("../images/top/top-bg03_sp.webp");
    animation-delay: 12s;
  }
}
@media (max-width: 767px) {
  .mv-about__bg-item:nth-child(3) {
    background-image: url("../images/top/top-bg03_sp.webp");
    animation-delay: 12s;
  }
}
.mv-about__bg-item:nth-child(4) {
  background-image: url("../images/top/top-bg04.webp");
  animation-delay: 15s;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .mv-about__bg-item:nth-child(4) {
    display: none;
  }
}
@media (max-width: 767px) {
  .mv-about__bg-item:nth-child(4) {
    display: none;
  }
}

@keyframes mvBgFade {
  0% {
    opacity: 0;
  }
  8% {
    opacity: 1;
  }
  25% {
    opacity: 1;
  }
  33% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes mvBgFadeSp {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  30% {
    opacity: 1;
  }
  43% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
.mv {
  height: 100vh;
}

.mv-logo {
  position: absolute;
  width: 95%;
  bottom: 5%;
  left: 50%;
  z-index: 1;
  transform: translateX(-50%);
  opacity: var(--mv-fade, 1);
  will-change: opacity;
}
@media (max-width: 767px) {
  .mv-logo {
    width: 90%;
    top: 50%;
    left: 50%;
    bottom: auto;
    transform: translate(-50%, -50%);
  }
}

.btn-A {
  font-family: var(--font-main-cjk);
  color: var(--color-base-white);
  font-size: 1.8229166667vw;
  font-weight: 500;
  border-bottom: 2px solid var(--color-base-white);
  transition: 0.2s;
  cursor: pointer;
}
@media (max-width: 767px) {
  .btn-A {
    font-size: 4.2666666667vw;
  }
}
.btn-A:hover {
  opacity: 0.8;
  transition: 0.2s;
}

.btn-B {
  font-size: 0.7291666667vw;
  font-weight: bold;
  color: var(--color-base-black);
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--color-base-white);
  padding: 0.5rem;
  max-height: 3.6rem;
  border-radius: 5rem;
  border: 1px solid var(--color-base-black);
  transition: 0.2s;
  cursor: pointer;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .btn-B {
    font-size: 1.3rem;
    max-height: none;
    width: 30rem;
  }
}
@media (max-width: 767px) {
  .btn-B {
    font-size: 1.2rem;
    max-height: none;
  }
}
.btn-B:hover {
  color: var(--color-base-white);
  background-color: var(--color-base-black);
  transition: 0.2s;
}

.header {
  position: absolute;
  top: 2rem;
  left: 2rem;
  z-index: 10;
  width: 17.6rem;
}
@media (max-width: 767px) {
  .header {
    width: 20%;
  }
}
.header__logo {
  width: 100%;
}

.footer {
  margin-top: 15rem;
  padding: 0 3.6rem;
  font-family: var(--font-main);
}
@media (max-width: 767px) {
  .footer {
    margin-top: 6rem;
    padding: 0 1.8rem;
  }
}
.footer__bottom {
  margin: 3rem 0;
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .footer__bottom {
    margin: 0 0 1rem;
  }
}
.footer__copy {
  font-size: 1.4rem;
}
@media (max-width: 767px) {
  .footer__copy {
    font-size: 1rem;
    width: 50%;
  }
}
@media (max-width: 767px) {
  .footer nav {
    width: 50%;
  }
}
.footer__list {
  display: flex;
  gap: 2rem;
  font-size: 1.4rem;
}
@media (max-width: 767px) {
  .footer__list {
    gap: 0.1rem 1rem;
    font-size: 1rem;
    flex-wrap: wrap;
  }
}
@media (max-width: 767px) {
  .footer__list li:first-child, .footer__list li:nth-child(2) {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .footer__list li:nth-child(3), .footer__list li:last-child {
    width: calc((100% - 1rem) / 2);
  }
}
.footer__list a:hover {
  color: var(--color-data-gray);
}

@media (max-width: 767px) {
  .wrap--item .footer {
    margin-bottom: 6rem;
  }
}

.loading {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  letter-spacing: 0.2em;
  font-family: var(--font-main);
  color: var(--color-base-white);
  background-color: var(--color-base-black);
  transition: opacity 0.6s ease;
}
@media (max-width: 767px) {
  .loading {
    letter-spacing: 0.1em;
  }
}
.loading.is-hidden {
  opacity: 0;
  pointer-events: none;
}
html.is-loaded .loading {
  display: none;
}
.loading__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
}
.loading__text {
  font-size: 1.4rem;
}
@media (max-width: 767px) {
  .loading__text {
    font-size: 1rem;
  }
}
.loading__scramble-char {
  color: #999;
}
.loading__logo {
  width: 25.6rem;
  filter: brightness(0) invert(1);
}
@media (max-width: 767px) {
  .loading__logo {
    width: 18rem;
  }
}
.loading__deco {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 46.875vw;
}
@media (max-width: 767px) {
  .loading__deco {
    width: 70%;
  }
}
.loading__deco-left {
  display: block;
  width: 4px;
  height: 2.0833333333vw;
  background: var(--color-base-white);
}
@media (max-width: 767px) {
  .loading__deco-left {
    width: 2px;
    height: 3.2vw;
  }
}
.loading__deco-cross {
  position: relative;
  width: 2.2916666667vw;
  height: 2.2916666667vw;
}
@media (max-width: 767px) {
  .loading__deco-cross {
    width: 3.7333333333vw;
    height: 3.7333333333vw;
  }
}
.loading__deco-cross > span {
  position: absolute;
  display: block;
  width: 2.2916666667vw;
  height: 1px;
  background: var(--color-base-white);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: "";
}
@media (max-width: 767px) {
  .loading__deco-cross > span {
    width: 3.7333333333vw;
  }
}
.loading__deco-cross > span:nth-child(2) {
  transform: translate(-50%, -50%) rotate(90deg);
}
.loading__deco-right {
  display: block;
  width: 4px;
  height: 2.0833333333vw;
  background: var(--color-base-white);
}
@media (max-width: 767px) {
  .loading__deco-right {
    width: 2px;
    height: 3.2vw;
  }
}
.loading__location {
  display: grid;
  grid-template-columns: repeat(4, auto);
  justify-content: space-between;
  align-items: flex-start;
  padding: 0 4rem;
  width: 100%;
  font-size: clamp(1rem, 0.7291666667vw, 1.4rem);
}
@media (max-width: 767px) {
  .loading__location {
    grid-template-columns: repeat(2, auto);
    row-gap: 6rem;
    column-gap: 1rem;
    padding: 0 5.3333333333vw;
    font-size: 0.8rem;
  }
}
.loading__bg {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0 4rem;
  pointer-events: none;
  padding: 5.46875vw 2.0833333333vw 7.2916666667vw;
}
@media (max-width: 767px) {
  .loading__bg {
    grid-template-rows: 30% 20% 15% 35%;
    gap: 0 2rem;
    padding: 10.6666666667vw 5.3333333333vw;
  }
}
.loading__dot {
  position: relative;
}
.loading__dot::before, .loading__dot::after,
.loading__dot span::before,
.loading__dot span::after {
  content: "";
  position: absolute;
  width: 0.6rem;
  aspect-ratio: 1/1;
  background: #B2B2B2;
  border-radius: 50%;
}
@media (max-width: 767px) {
  .loading__dot::before, .loading__dot::after,
  .loading__dot span::before,
  .loading__dot span::after {
    width: 0.3rem;
  }
}
.loading__dot::before {
  top: 0;
  left: 0;
}
.loading__dot::after {
  top: 0;
  right: 0;
}
.loading__dot span::before {
  bottom: 0;
  left: 0;
}
.loading__dot span::after {
  bottom: 0;
  right: 0;
}
@media (max-width: 767px) {
  .loading__dot:not(:nth-last-child(-n+4)) span {
    display: none;
  }
  .loading__dot:nth-child(n+9):nth-child(-n+12)::before, .loading__dot:nth-child(n+9):nth-child(-n+12)::after {
    opacity: 0;
  }
}

.about {
  height: 100vh;
}
.about__content {
  position: absolute;
  max-width: 46.875vw;
  color: var(--color-base-white);
  font-family: var(--font-main);
  top: 50%;
  left: 50%;
  z-index: 1;
  transform: translate(-50%, -50%);
  opacity: var(--about-fade, 0);
  will-change: opacity;
  line-height: 1.7;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .about__content {
    width: 80%;
    max-width: 78.125vw;
  }
}
@media (max-width: 767px) {
  .about__content {
    max-width: none;
    width: 100%;
    padding: 0 5.3333333333vw;
  }
}
.about__title {
  font-size: clamp(2.4rem, 1.5625vw, 3rem);
}
@media (min-width: 768px) and (max-width: 1023px) {
  .about__title {
    font-size: 2.6rem;
  }
}
@media (max-width: 767px) {
  .about__title {
    font-size: 1.7rem;
  }
}
.about__text {
  margin-top: 2rem;
  font-size: clamp(1.4rem, 1.0416666667vw, 2rem);
}
@media (min-width: 768px) and (max-width: 1023px) {
  .about__text {
    font-size: 1.6rem;
  }
}
@media (max-width: 767px) {
  .about__text {
    margin-top: 1rem;
    font-size: 1.2rem;
  }
}
.about__text-en {
  margin-top: 4rem;
  font-size: clamp(1.4rem, 1.0416666667vw, 2rem);
}
@media (min-width: 768px) and (max-width: 1023px) {
  .about__text-en {
    font-size: 1.6rem;
  }
}
@media (max-width: 767px) {
  .about__text-en {
    margin-top: 2rem;
    font-size: 1.2rem;
  }
}

.top-collabo {
  position: relative;
  padding: 0;
  margin: 3.6rem 0;
  overflow: hidden;
}
@media (max-width: 767px) {
  .top-collabo {
    margin: 1.8rem 0;
  }
}
.top-collabo:has(a:hover) .top-collabo__grid {
  transform: scale(1.03);
  transition: 1s;
}
.top-collabo:has(a:hover) .btn-A::after {
  animation: line-slide-in 0.45s ease forwards;
}
.top-collabo__grid {
  background-color: #E6E6E6;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  transform: scale(1);
  transition: 1s;
}
@media (max-width: 767px) {
  .top-collabo__grid {
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(3, 1fr);
  }
}
.top-collabo__item {
  order: 0;
}
.top-collabo__item:not(:has(img)) {
  background-color: #E6E6E6;
}
.top-collabo__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 767px) {
  .top-collabo .top-collabo__item:nth-child(1) {
    order: 1;
  }
  .top-collabo .top-collabo__item:nth-child(2) {
    order: 2;
  }
  .top-collabo .top-collabo__item:nth-child(3) {
    order: 4;
  }
  .top-collabo .top-collabo__item:nth-child(4) {
    order: 3;
  }
  .top-collabo .top-collabo__item:nth-child(5) {
    order: 6;
  }
  .top-collabo .top-collabo__item:nth-child(6) {
    order: 9;
  }
  .top-collabo .top-collabo__item:nth-child(7) {
    order: 7;
  }
  .top-collabo .top-collabo__item:nth-child(8) {
    order: 8;
  }
  .top-collabo .top-collabo__item:nth-child(9) {
    display: none;
  }
  .top-collabo .top-collabo__item:nth-child(10) {
    order: 5;
  }
}
.top-collabo__content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.top-collabo__title {
  width: 47.4rem;
  position: absolute;
  top: 46%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  padding: 3rem;
}
@media (max-width: 767px) {
  .top-collabo__title {
    width: 23rem;
    top: 55%;
    left: 5%;
    transform: translateY(-50%);
    text-align: left;
  }
}
.top-collabo__title a {
  cursor: pointer;
}
.top-collabo__title .btn-A {
  position: relative;
  display: inline-block;
  margin-top: 2rem;
  font-size: clamp(1.4rem, 1.0416666667vw, 2rem);
  border-bottom: none;
}
.top-collabo__title .btn-A::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.2rem;
  width: 100%;
  height: 2px;
  background: var(--color-base-white);
  transform-origin: left;
  transform: scaleX(1);
}
@media (min-width: 768px) and (max-width: 1023px) {
  .top-collabo__title .btn-A {
    font-size: 1.6rem;
  }
}
@media (max-width: 767px) {
  .top-collabo__title .btn-A {
    margin-top: 1rem;
    font-size: 1.2rem;
  }
}

@keyframes line-slide-in {
  0% {
    transform-origin: right;
    transform: scaleX(1);
    opacity: 0;
  }
  40% {
    transform-origin: right;
    transform: scaleX(0);
    opacity: 0;
  }
  41% {
    transform-origin: left;
    transform: scaleX(0);
    opacity: 0;
  }
  100% {
    transform-origin: left;
    transform: scaleX(1);
    opacity: 1;
  }
}
.ultra-container {
  position: relative;
}
.ultra-container__fixed {
  position: fixed;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 3.6rem;
  width: 100%;
  bottom: 3.6rem;
  z-index: 10;
  opacity: 0;
  pointer-events: none;
}
.ultra-container__fixed.is-visible {
  opacity: 1;
  pointer-events: auto;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .ultra-container__fixed {
    padding: 0 2.4rem;
    bottom: 2.4rem;
  }
}
@media (max-width: 767px) {
  .ultra-container__fixed {
    padding: 0 1rem;
    bottom: 1.2rem;
  }
}
.ultra-container__fixed > P {
  letter-spacing: 0.3em;
  font-family: var(--font-main);
  color: var(--color-data-gray);
  font-size: 1.3rem;
  font-weight: 300;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .ultra-container__fixed > P {
    font-size: 1.2rem;
  }
}
@media (max-width: 767px) {
  .ultra-container__fixed > P {
    font-size: 0.6rem;
    letter-spacing: 0.2em;
  }
}

.ultra-core {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
}
.ultra-core__grid {
  grid-area: 1/1;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3.6rem;
}
@media (max-width: 767px) {
  .ultra-core__grid {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
}
.ultra-core__image {
  position: relative;
  overflow: hidden;
}
.ultra-core__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.4s ease;
}
.ultra-core__img--hover {
  position: absolute;
  inset: 0;
  opacity: 0;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .ultra-core__img--hover {
    animation: ultraImageSwitch 8s infinite;
  }
}
@media (max-width: 767px) {
  .ultra-core__img--hover {
    animation: ultraImageSwitch 8s infinite;
  }
}
.ultra-core__item {
  position: relative;
}
.ultra-core__item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 0.2s;
}
.ultra-core__item a > div {
  overflow: hidden;
}
@media (hover: hover) {
  .ultra-core__item a:hover img {
    transition: 0.2s;
    transform: scale(1.03);
  }
  .ultra-core__item a:hover .ultra-core__img--default {
    opacity: 0;
    transform: scale(1.03);
  }
  .ultra-core__item a:hover .ultra-core__img--hover {
    opacity: 1;
    transform: scale(1.03);
  }
  .ultra-core__item a:hover .ultra-core__text {
    opacity: 0.8;
  }
}
.ultra-core__text {
  position: absolute;
  color: var(--color-base-white);
  font-family: var(--font-main);
  font-size: 2.6041666667vw;
  font-weight: bold;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scaleY(0.8);
  transition: 0.2s;
}
@media (max-width: 767px) {
  .ultra-core__text {
    font-size: 2.8rem;
  }
}

@keyframes ultraImageSwitch {
  0%, 35% {
    opacity: 0;
    transform: scale(1.01);
  }
  50%, 85% {
    opacity: 1;
    transform: scale(1.01);
  }
  100% {
    opacity: 0;
    transform: scale(1.01);
  }
}
.lineup {
  padding: 3.6rem;
}
@media (max-width: 767px) {
  .lineup {
    padding: 1rem;
  }
}
.lineup__inner {
  position: relative;
  padding: 13vw 0;
}
@media (max-width: 767px) {
  .lineup__inner {
    padding: 1rem 0;
    margin: 1rem 0;
  }
}
.lineup__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  align-items: center;
  text-align: center;
  gap: 3.6rem;
}
@media (max-width: 767px) {
  .lineup__grid {
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
  }
}
.lineup__grid > div {
  margin: 0 auto;
}
@media (max-width: 767px) {
  .lineup__grid > div {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
.lineup__grid > div img {
  display: block;
  margin: auto;
}
.lineup__grid div:first-child {
  width: 10vw;
}
@media (max-width: 767px) {
  .lineup__grid div:first-child {
    width: 20%;
  }
}
.lineup__grid div:first-child img {
  aspect-ratio: 237/316;
}
.lineup__grid div:nth-child(2) {
  width: 10vw;
  padding-right: 3rem;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .lineup__grid div:nth-child(2) {
    width: 8vw;
    padding-right: 0;
  }
}
@media (max-width: 767px) {
  .lineup__grid div:nth-child(2) {
    width: 17%;
    padding-right: 0;
    padding-bottom: 2rem;
  }
}
.lineup__grid div:nth-child(2) img {
  aspect-ratio: 174/214;
}
.lineup__grid div:nth-child(3) {
  width: 12vw;
}
@media (max-width: 767px) {
  .lineup__grid div:nth-child(3) {
    width: 33%;
    padding-bottom: 1rem;
  }
}
.lineup__grid div:nth-child(3) img {
  aspect-ratio: 265/197;
}
.lineup__grid div:nth-child(4) {
  width: 13vw;
}
@media (max-width: 767px) {
  .lineup__grid div:nth-child(4) {
    width: 25%;
    padding-bottom: 1rem;
  }
}
.lineup__grid div:nth-child(4) img {
  aspect-ratio: 287/273;
}
.lineup__text {
  position: absolute;
  letter-spacing: 0.2em;
  font-family: var(--font-main);
  font-size: 1.7rem;
  font-weight: 400;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
}
@media (max-width: 767px) {
  .lineup__text {
    width: 100%;
    font-size: 1.1rem;
    top: 46%;
    text-align: center;
  }
}
.lineup__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  text-align: center;
  gap: 0 3.6rem;
}
@media (max-width: 767px) {
  .lineup__bg {
    gap: 0 1rem;
  }
}
.lineup__dot {
  position: relative;
}
.lineup__dot::before, .lineup__dot::after,
.lineup__dot span::before,
.lineup__dot span::after {
  content: "";
  position: absolute;
  width: 0.8rem;
  aspect-ratio: 1/1;
  background: #B2B2B2;
  border-radius: 50%;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .lineup__dot::before, .lineup__dot::after,
  .lineup__dot span::before,
  .lineup__dot span::after {
    width: 0.5rem;
  }
}
@media (max-width: 767px) {
  .lineup__dot::before, .lineup__dot::after,
  .lineup__dot span::before,
  .lineup__dot span::after {
    width: 0.3rem;
  }
}
.lineup__dot::before {
  top: 0;
  left: 0;
}
.lineup__dot::after {
  top: 0;
  right: 0;
}
.lineup__dot span::before {
  bottom: 0;
  left: 0;
}
.lineup__dot span::after {
  bottom: 0;
  right: 0;
}
.lineup__dot:not(:nth-last-child(-n+4)) span {
  display: none;
}

.product {
  padding: 3.6rem;
  background-color: var(--color-base-black);
  position: relative;
  overflow: hidden;
}
@media (max-width: 767px) {
  .product {
    padding: 1.8rem 1rem;
  }
}
.product__wrapper {
  display: grid;
  grid-template-columns: 1fr 3fr;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .product__wrapper {
    display: flex;
    flex-direction: column;
  }
}
@media (max-width: 767px) {
  .product__wrapper {
    display: flex;
    flex-direction: column;
  }
}
.product__wrapper:has(.product__detail) {
  align-items: center;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .product__wrapper:has(.product__detail) {
    flex-direction: column-reverse;
    align-items: normal;
  }
}
@media (max-width: 767px) {
  .product__wrapper:has(.product__detail) {
    flex-direction: column-reverse;
    align-items: normal;
  }
}
.product__ttl {
  font-family: var(--font-main);
  color: #999;
  font-weight: bold;
  font-size: 1.3020833333vw;
}
@media screen and (max-width: 1440px) {
  .product__ttl {
    font-size: 1.875rem;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .product__ttl {
    font-size: 1.8229166667vw;
    margin-bottom: 2rem;
  }
}
.product__name {
  font-family: var(--font-main);
  color: #999;
  font-weight: bold;
  font-size: 2.1875vw;
  line-height: 1;
}
@media screen and (max-width: 1440px) {
  .product__name {
    font-size: 3.15rem;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .product__name {
    font-size: 2.6041666667vw;
  }
}
.product__name span {
  display: block;
  font-size: 1.3020833333vw;
  margin-top: 1rem;
}
@media screen and (max-width: 1440px) {
  .product__name span {
    font-size: 1.875rem;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .product__name span {
    font-size: 1.6927083333vw;
  }
}
.product__list {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.product__list li {
  font-family: var(--font-main);
  color: #4C4C4C;
  font-weight: bold;
  font-size: 1.40625vw;
  cursor: pointer;
}
@media screen and (max-width: 1440px) {
  .product__list li {
    font-size: 1.875rem;
    padding-right: 2rem;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .product__list li {
    font-size: 1.8229166667vw;
  }
}
@media (max-width: 767px) {
  .product__list li {
    font-size: 1.6rem;
  }
}
.product__list li.active {
  color: #999;
}
.product__annotation {
  font-family: var(--font-main);
  color: #999;
  font-weight: bold;
  font-size: 0.7291666667vw;
  line-height: 1;
  margin-top: 2rem;
}
@media screen and (max-width: 1440px) {
  .product__annotation {
    font-size: 1.05rem;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .product__annotation {
    font-size: 1.4322916667vw;
  }
}
@media (max-width: 767px) {
  .product__annotation {
    margin-top: 1rem;
    font-size: 1rem;
  }
}
.product__btn {
  margin-top: 15.625vw;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .product__btn {
    margin: 4rem 0;
  }
}
@media (max-width: 767px) {
  .product__btn {
    margin: 4rem 0;
  }
}
.product__btn a {
  font-family: var(--font-main);
  color: #999;
  font-weight: bold;
  font-size: 1.0416666667vw;
  line-height: 1;
}
@media screen and (max-width: 1440px) {
  .product__btn a {
    font-size: 1.5rem;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .product__btn a {
    font-size: 1.5625vw;
  }
}
@media (max-width: 767px) {
  .product__btn a {
    font-size: 1.5rem;
  }
}
.product__btn a:hover {
  text-decoration: underline;
}
.product__umb {
  position: relative;
  z-index: 10;
}
.product__bg {
  position: absolute;
  top: 42%;
  left: 49.5%;
  width: 104%;
  transform: translate(-50%, -50%) scaleY(0.98);
}
@media screen and (max-width: 1200px) {
  .product__bg {
    width: 105%;
    transform: translate(-50%, -50%);
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .product__bg {
    width: 101%;
  }
}
@media (max-width: 767px) {
  .product__bg {
    width: 101%;
    top: 41%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
.product__detail {
  width: 100%;
  height: 100%;
  position: relative;
}
@media (max-width: 767px) {
  .product__detail {
    width: 100%;
    margin: 0 auto;
  }
}
.product__detail .num {
  position: absolute;
  font-family: var(--font-main);
  color: #4c4c4c;
  font-weight: bold;
  font-size: 1.6145833333vw;
  line-height: 1;
}
@media screen and (max-width: 1440px) {
  .product__detail .num {
    font-size: 2.325rem;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .product__detail .num {
    font-size: 2.0833333333vw;
  }
}
@media (max-width: 767px) {
  .product__detail .num {
    font-size: 3.2vw;
  }
}
.product__detail .active .num {
  color: #999;
}
.product__detail .active img {
  filter: brightness(0) saturate(100%) invert(65%);
}
.product__detail--01 {
  position: absolute;
  top: 73%;
  left: 49%;
  width: 47%;
  transform-origin: right center;
  transform: translate(-100%, -50%);
  z-index: 20;
  cursor: pointer;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .product__detail--01 {
    width: 45%;
  }
}
@media (max-width: 767px) {
  .product__detail--01 {
    top: 70%;
    width: 43%;
  }
}
.product__detail--01 .num {
  top: 50%;
  left: 0;
  transform: translate(-120%, -40%);
}
@media (min-width: 768px) and (max-width: 1023px) {
  .product__detail--01 .num {
    transform: translate(-120%, -20%);
  }
}
@media (max-width: 767px) {
  .product__detail--01 .num {
    transform: translate(-120%, 0%);
  }
}
.product__detail--01 img {
  width: 100%;
  aspect-ratio: 613/5;
  vertical-align: sub;
}
.product__detail--02 {
  position: absolute;
  top: 21%;
  left: 39%;
  width: 37%;
  transform-origin: right top;
  transform: translate(-100%, 0);
  z-index: 20;
  cursor: pointer;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .product__detail--02 {
    width: 35%;
  }
}
@media (max-width: 767px) {
  .product__detail--02 {
    width: 33%;
  }
}
.product__detail--02 .num {
  top: 100%;
  left: 0;
  transform: translate(-120%, -90%);
}
@media (max-width: 767px) {
  .product__detail--02 .num {
    transform: translate(-120%, -110%);
  }
}
.product__detail--02 img {
  width: 100%;
  aspect-ratio: 468/224;
}
@media (max-width: 767px) {
  .product__detail--02 img {
    aspect-ratio: 118/87;
  }
}
.product__detail--03 {
  position: absolute;
  top: 13%;
  left: 33%;
  width: 31%;
  transform-origin: right bottom;
  transform: translate(-100%, -100%);
  z-index: 20;
  cursor: pointer;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .product__detail--03 {
    width: 29%;
  }
}
@media (max-width: 767px) {
  .product__detail--03 {
    top: 18%;
    left: 27%;
    width: 21%;
  }
}
.product__detail--03 .num {
  top: 0;
  left: 0;
  transform: translate(-120%, -50%);
}
.product__detail--03 img {
  width: 100%;
  aspect-ratio: 401/77;
}
@media (max-width: 767px) {
  .product__detail--03 img {
    aspect-ratio: 70/26;
  }
}
.product__detail--04 {
  position: absolute;
  top: 4%;
  left: 50%;
  width: 47%;
  transform-origin: left center;
  transform: translate(0, -50%);
  z-index: 20;
  cursor: pointer;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .product__detail--04 {
    width: 44%;
  }
}
@media (max-width: 767px) {
  .product__detail--04 {
    top: 0%;
    width: 44%;
  }
}
.product__detail--04 .num {
  top: 50%;
  right: 0;
  transform: translate(120%, -50%);
}
@media (max-width: 767px) {
  .product__detail--04 .num {
    transform: translate(120%, -30%);
  }
}
.product__detail--04 img {
  width: 100%;
  aspect-ratio: 634/5;
}
.product__detail--05 {
  position: absolute;
  top: 25%;
  left: 87%;
  width: 10%;
  transform-origin: left top;
  transform: translate(0, 0);
  z-index: 21;
  cursor: pointer;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .product__detail--05 {
    left: 88%;
    width: 6%;
  }
}
@media (max-width: 767px) {
  .product__detail--05 {
    left: 88%;
    width: 6%;
  }
}
.product__detail--05 .num {
  top: 100%;
  right: 0;
  transform: translate(120%, -100%);
}
@media (max-width: 767px) {
  .product__detail--05 .num {
    transform: translate(120%, -125%);
  }
}
.product__detail--05 img {
  width: 100%;
  aspect-ratio: 121/175;
}
@media (max-width: 767px) {
  .product__detail--05 img {
    aspect-ratio: 18/41;
  }
}
.product__detail--06 {
  position: absolute;
  top: 34%;
  left: 59%;
  width: 38%;
  transform-origin: left top;
  transform: translate(0, 0);
  z-index: 20;
  cursor: pointer;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .product__detail--06 {
    width: 35%;
  }
}
@media (max-width: 767px) {
  .product__detail--06 {
    width: 35%;
  }
}
.product__detail--06 .num {
  top: 100%;
  right: 0;
  transform: translate(120%, -100%);
}
@media (max-width: 767px) {
  .product__detail--06 .num {
    transform: translate(120%, -120%);
  }
}
.product__detail--06 img {
  width: 100%;
  aspect-ratio: 505/378;
}
@media (max-width: 767px) {
  .product__detail--06 img {
    aspect-ratio: 116/105;
  }
}
.product__fixed {
  align-self: end;
  position: absolute;
  margin: 3.6rem 0;
  padding: 0 3.6rem;
  width: 100%;
  left: 0;
  bottom: -1rem;
  overflow: hidden;
  contain: layout paint;
}
@media (max-width: 767px) {
  .product__fixed {
    margin: 0;
    bottom: 1rem;
  }
}
.product__fixed-track {
  display: flex;
  width: max-content;
  animation: loop 29.999s linear infinite;
  will-change: transform;
  transform: translateX(0);
  isolation: isolate;
  backface-visibility: hidden;
  perspective: 1000px;
}
.product__fixed-group {
  display: flex;
  align-items: center;
  padding-right: 6rem;
  white-space: nowrap;
  width: max-content;
  flex-shrink: 0;
  transform: translateZ(0);
}
.product__fixed-group P {
  letter-spacing: 0.3em;
  font-family: var(--font-main);
  color: #808080;
  font-size: 1.6rem;
  font-weight: light;
  transform: translateZ(0);
  backface-visibility: hidden;
  will-change: transform;
}
@media screen and (max-width: 1440px) {
  .product__fixed-group P {
    font-size: 1.2rem;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .product__fixed-group P {
    font-size: 1.3020833333vw;
  }
}
.product__fixed-group p + p {
  margin-left: 8rem;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .product__fixed-group p + p {
    margin-left: 6rem;
  }
}
@media (max-width: 767px) {
  .product__fixed-group p + p {
    margin-left: 6rem;
  }
}
.product + .product__fixed-group {
  margin-left: 8rem;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .product + .product__fixed-group {
    margin-left: 6rem;
  }
}
@media (max-width: 767px) {
  .product + .product__fixed-group {
    margin-left: 6rem;
  }
}

@keyframes loop {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-33.3333%);
  }
}
.philosophy {
  margin: 4rem 0 0;
}
@media (max-width: 767px) {
  .philosophy {
    margin: 2rem 0 0;
  }
}
.philosophy__up {
  display: flex;
  margin-bottom: 4rem;
  position: relative;
}
@media (max-width: 767px) {
  .philosophy__up {
    flex-direction: column;
    margin-bottom: 2rem;
  }
}
.philosophy__up > div {
  width: 50%;
  overflow: hidden;
}
@media (max-width: 767px) {
  .philosophy__up > div {
    width: 100%;
  }
}
.philosophy__up > div img {
  display: block;
  object-fit: cover;
  width: 100%;
  height: 100%;
  transform: scale(1.005);
}
.philosophy__txt {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 35%;
  transform: translate(-50%, -50%);
}
@media (max-width: 767px) {
  .philosophy__txt {
    width: 80%;
  }
}
.philosophy__down {
  display: block;
  width: 100%;
}
.philosophy__down img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.wrap--ran .ran-mv {
  width: 100%;
  height: 100dvh;
  background: url("../images/ran/ran-mv.webp") no-repeat center;
  background-size: cover;
  background-position-x: center;
  background-position-y: top;
  position: relative;
}
@media (max-width: 767px) {
  .wrap--ran .ran-mv {
    aspect-ratio: 390/760;
    background: url("../images/ran/ran-mv-sp.webp") no-repeat center;
    background-size: cover;
  }
}
.wrap--ran .ran-mv__txt {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.wrap--ran .ran-mv__txt--left {
  position: absolute;
  top: 50%;
  left: 2rem;
  transform: translateY(-50%);
  width: 23%;
  aspect-ratio: 462/88;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--ran .ran-mv__txt--left {
    top: 95%;
    width: 40%;
  }
}
.wrap--ran .ran-mv__txt--right {
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translateY(-50%);
  width: 23%;
  aspect-ratio: 416/88;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--ran .ran-mv__txt--right {
    top: 95%;
    width: 40%;
  }
}
.wrap--ran .ran-mv__txt--is-sp {
  position: absolute;
  left: 50%;
  bottom: 5%;
  transform: translateX(-50%);
  width: 75%;
  aspect-ratio: 269/121;
}
.wrap--ran .with-ran__wrapper {
  display: grid;
  grid-template-columns: repeat(40, minmax(0, 1fr));
}
.wrap--ran .with-ran__wrapper--01 {
  margin-top: 8vw;
  position: relative;
}
.wrap--ran .with-ran__wrapper--02 {
  margin-top: 7vw;
  position: relative;
}
@media (max-width: 767px) {
  .wrap--ran .with-ran__wrapper--02 {
    margin-top: 30vw;
  }
}
.wrap--ran .with-ran__wrapper--03 {
  margin-top: 13vw;
  background-image: url("../images/ran/ran-bg01.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 98%;
}
@media (max-width: 767px) {
  .wrap--ran .with-ran__wrapper--03 {
    margin-top: 20vw;
    background-image: url("../images/ran/ran-bg01_sp.svg");
    background-size: 95%;
  }
}
.wrap--ran .with-ran__wrapper--04 {
  margin-top: 15vw;
}
@media (max-width: 767px) {
  .wrap--ran .with-ran__wrapper--04 {
    margin-top: 20vw;
  }
}
.wrap--ran .with-ran__wrapper--05 {
  background-image: url("../images/ran/ran-bg02.svg");
  background-repeat: no-repeat;
  background-position: center 10%;
  background-size: 98%;
}
@media (max-width: 767px) {
  .wrap--ran .with-ran__wrapper--05 {
    margin-top: 5vw;
    background-size: 95%;
  }
}
.wrap--ran .with-ran__wrapper--06 {
  position: relative;
  margin-top: 7vw;
}
@media (max-width: 767px) {
  .wrap--ran .with-ran__wrapper--06 {
    margin-top: 30vw;
  }
}
.wrap--ran .with-ran__wrapper--07 {
  margin-top: -8vw;
}
@media (max-width: 767px) {
  .wrap--ran .with-ran__wrapper--07 {
    margin-top: 20vw;
  }
}
.wrap--ran .with-ran__wrapper--08 {
  margin-top: 13vw;
}
@media (max-width: 767px) {
  .wrap--ran .with-ran__wrapper--08 {
    margin-top: 30vw;
  }
}
.wrap--ran .with-ran__wrapper--09 {
  margin-top: 15vw;
  margin-bottom: 15vw;
}
@media (max-width: 767px) {
  .wrap--ran .with-ran__wrapper--09 {
    margin-top: 30vw;
    margin-bottom: 30vw;
  }
}
.wrap--ran .with-ran__image img {
  width: 100%;
  height: auto;
  display: block;
}
.wrap--ran .with-ran__image--01 {
  grid-column: 21/span 20;
}
@media (max-width: 767px) {
  .wrap--ran .with-ran__image--01 {
    margin-top: 37vw;
    grid-column: 11/span 30;
  }
}
.wrap--ran .with-ran__image--02 {
  margin-top: -19vw;
  grid-column: 1/span 18;
}
@media (max-width: 767px) {
  .wrap--ran .with-ran__image--02 {
    margin-top: 14vw;
    grid-column: 1/span 28;
  }
}
.wrap--ran .with-ran__image--03 {
  margin-top: 3.5vw;
  grid-column: 7/span 10;
}
@media (max-width: 767px) {
  .wrap--ran .with-ran__image--03 {
    margin-top: 10vw;
    grid-column: 1/span 16;
  }
}
.wrap--ran .with-ran__image--04 {
  grid-column: 27/span 11;
}
@media (max-width: 767px) {
  .wrap--ran .with-ran__image--04 {
    grid-column: 20/span 21;
  }
}
.wrap--ran .with-ran__image--05 {
  grid-column: 11/span 20;
  padding: 0 1rem;
}
@media (max-width: 767px) {
  .wrap--ran .with-ran__image--05 {
    grid-column: 7/span 28;
    padding: 0 1.4rem;
  }
}
.wrap--ran .with-ran__image--06 {
  margin-top: 1.5vw;
  grid-column: 11/span 20;
  padding: 0 1rem;
}
@media (max-width: 767px) {
  .wrap--ran .with-ran__image--06 {
    grid-column: 7/span 28;
    padding: 0 1.4rem;
  }
}
.wrap--ran .with-ran__image--07 {
  margin-top: 20vw;
  grid-column: 8/span 26;
}
@media (max-width: 767px) {
  .wrap--ran .with-ran__image--07 {
    margin-top: 28vw;
    grid-column: 1/span 40;
  }
}
.wrap--ran .with-ran__image--08 {
  grid-column: 5/span 11;
}
@media (max-width: 767px) {
  .wrap--ran .with-ran__image--08 {
    grid-column: 1/span 19;
  }
}
.wrap--ran .with-ran__image--09 {
  margin-top: 17vw;
  grid-column: 28/span 12;
}
@media (max-width: 767px) {
  .wrap--ran .with-ran__image--09 {
    margin-top: 36vw;
    grid-column: 25/span 14;
  }
}
.wrap--ran .with-ran__image--10 {
  grid-column: 1/span 25;
}
@media (max-width: 767px) {
  .wrap--ran .with-ran__image--10 {
    grid-column: 3/span 36;
  }
}
.wrap--ran .with-ran__movie {
  grid-column: 1/span 40;
}
.wrap--ran .with-ran__movie video {
  width: 100%;
  height: auto;
  display: block;
}
.wrap--ran .with-ran__txt {
  position: absolute;
  left: 6%;
  top: 0;
  width: 39%;
  font-family: var(--font-main);
}
@media (max-width: 767px) {
  .wrap--ran .with-ran__txt {
    left: 5%;
    top: 15vw;
    width: 67%;
  }
}
.wrap--ran .with-ran__txt h3 {
  margin-bottom: 2rem;
}
@media (max-width: 767px) {
  .wrap--ran .with-ran__txt h3 {
    margin-bottom: 0;
  }
}
.wrap--ran .with-ran__txt p {
  width: 100%;
  max-width: 95rem;
  font-size: clamp(1.4rem, 1.0416666667vw, 2rem);
  line-height: 1.8;
  font-weight: 500;
}
@media (max-width: 767px) {
  .wrap--ran .with-ran__txt p {
    font-size: 1.2rem;
  }
}
.wrap--ran .with-ran__mode {
  position: absolute;
  letter-spacing: 0.2em;
  font-family: var(--font-main);
  font-size: 1.7rem;
  font-weight: 400;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
}
@media (max-width: 767px) {
  .wrap--ran .with-ran__mode {
    width: 100%;
    font-size: 1.1rem;
    top: -15%;
    text-align: center;
  }
}
.wrap--ran .with-ran__gear {
  position: absolute;
  top: 37%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 13%;
  aspect-ratio: 263/39;
  z-index: 10;
}
@media (max-width: 767px) {
  .wrap--ran .with-ran__gear {
    top: 22%;
    right: 5%;
    left: auto;
    width: 34%;
    transform: translateY(-50%);
  }
}
.wrap--ran .with-ran__profile {
  grid-column: 12/span 18;
  grid-template-rows: 1fr 1fr;
  display: flex;
  justify-content: space-between;
  margin-bottom: 2rem;
}
@media (max-width: 767px) {
  .wrap--ran .with-ran__profile {
    grid-column: 3/span 36;
    gap: 1rem;
  }
}
.wrap--ran .with-ran__info {
  width: 52%;
  display: flex;
  flex-direction: column;
}
@media (max-width: 767px) {
  .wrap--ran .with-ran__info {
    width: 50%;
  }
}
.wrap--ran .with-ran__info--m {
  font-family: var(--font-main-cjk);
  font-size: clamp(1.4rem, 1.0416666667vw, 2rem);
  font-weight: bold;
}
@media (max-width: 767px) {
  .wrap--ran .with-ran__info--m {
    font-size: 0.8rem;
  }
}
.wrap--ran .with-ran__info--s {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 1;
  font-size: clamp(1rem, 0.7291666667vw, 1.4rem);
  text-align: justify;
  letter-spacing: 0.01rem;
  font-weight: 500;
  font-family: var(--font-main);
}
@media (max-width: 767px) {
  .wrap--ran .with-ran__info--s {
    font-size: 1rem;
    line-height: 1.3;
    letter-spacing: -0.03em;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 0.5rem;
  }
}
.wrap--ran .with-ran__info--s span {
  display: block;
}
.wrap--ran .with-ran__info--s a {
  margin-left: 0.5rem;
  text-decoration: underline;
}
.wrap--ran .with-ran__info--s a:hover {
  opacity: 0.8;
}
.wrap--ran .with-ran__name {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  font-family: var(--font-main-cjk);
  margin-bottom: 1rem;
  line-height: 1;
}
@media (max-width: 767px) {
  .wrap--ran .with-ran__name {
    line-height: 1;
    margin-bottom: 1rem;
  }
}
.wrap--ran .with-ran__name .en {
  font-size: clamp(3.3rem, 2.03125vw, 3.9rem);
  font-weight: bold;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--ran .with-ran__name .en {
    font-size: 2.6rem;
  }
}
@media (max-width: 767px) {
  .wrap--ran .with-ran__name .en {
    font-size: 1.9rem;
  }
}
.wrap--ran .with-ran__name .ja {
  font-size: clamp(2.3rem, 1.5625vw, 3rem);
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--ran .with-ran__name .ja {
    font-size: 1.8rem;
  }
}
@media (max-width: 767px) {
  .wrap--ran .with-ran__name .ja {
    font-size: 1.2rem;
  }
}
.wrap--ran .with-ran__profile-image {
  width: 30%;
}
.wrap--ran .with-ran__profile-image img {
  display: block;
}
@media (max-width: 767px) {
  .wrap--ran .with-ran__profile-image {
    width: 50%;
  }
}
.wrap--ran .with-ran__note {
  grid-column: 11/span 20;
  font-family: var(--font-main);
  font-size: clamp(1.2rem, 0.8333333333vw, 16rem);
  letter-spacing: -0.02rem;
  text-align: justify;
}
@media (max-width: 767px) {
  .wrap--ran .with-ran__note {
    grid-column: 3/span 36;
    font-size: 1rem;
  }
}
.wrap--ran .with-ran__note span {
  font-weight: bold;
}
.wrap--ran .with-ran__product {
  grid-column: 11/span 20;
}
@media (max-width: 767px) {
  .wrap--ran .with-ran__product {
    grid-column: 1/span 40;
  }
}
.wrap--ran .with-ran__product-head {
  font-family: var(--font-main-cjk);
  font-size: clamp(3.9rem, 2.34375vw, 45rem);
  font-weight: bold;
  text-align: center;
  line-height: 1.1;
  margin-bottom: 4rem;
}
@media (max-width: 767px) {
  .wrap--ran .with-ran__product-head {
    font-size: 1.8rem;
    margin-bottom: 2rem;
  }
}
.wrap--ran .with-ran__product-head span {
  display: block;
  font-size: clamp(2.9rem, 1.8229166667vw, 35rem);
  font-family: var(--font-main);
}
@media (max-width: 767px) {
  .wrap--ran .with-ran__product-head span {
    font-size: 1.4rem;
  }
}
.wrap--ran .with-ran__product-box {
  display: flex;
  justify-content: space-between;
  gap: 3.6rem;
}
@media (max-width: 767px) {
  .wrap--ran .with-ran__product-box {
    gap: 1rem;
  }
}
.wrap--ran .with-ran__product-item {
  width: 50%;
  font-family: var(--font-main);
}
.wrap--ran .with-ran__product-item a:hover {
  opacity: 0.8;
}
.wrap--ran .with-ran__product-item--m {
  font-size: clamp(1.9rem, 1.3020833333vw, 25rem);
  font-weight: 800;
  line-height: 1.3;
  margin-top: 1rem;
}
@media (max-width: 767px) {
  .wrap--ran .with-ran__product-item--m {
    font-size: 1rem;
    margin-top: 0.5rem;
    margin-left: 1rem;
  }
}
.wrap--ran .with-ran__product-item--m span {
  display: block;
}
.wrap--ran .with-ran__product-item--m sup {
  font-size: 1.2rem;
  vertical-align: super;
}
@media (max-width: 767px) {
  .wrap--ran .with-ran__product-item--m sup {
    font-size: 0.6rem;
  }
}
.wrap--ran .is-inview {
  opacity: 1;
  transform: translateY(0);
}

.wrap--item .item-mv {
  overflow: hidden;
  height: 100svh;
  max-height: 119rem;
  position: relative;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .item-mv {
    height: 80vh;
    max-height: auto;
  }
}
@media (max-width: 767px) {
  .wrap--item .item-mv {
    height: 80vh;
    max-height: auto;
  }
}
.wrap--item .item-mv__txt {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: var(--font-main);
  font-size: 3.125vw;
  font-weight: bold;
  color: #4C4C4C;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .item-mv__txt {
    font-size: 4.5rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .item-mv__txt {
    width: 90%;
    text-align: center;
    font-size: 3.1rem;
  }
}
.wrap--item .item-mv__txt sup {
  margin-left: 1rem;
  vertical-align: super;
  font-size: 1.5625vw;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .item-mv__txt sup {
    font-size: 2.8rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .item-mv__txt sup {
    width: 90%;
    text-align: center;
    font-size: 1.5rem;
  }
}
.wrap--item .item-mv__txt .white {
  color: var(--color-base-white);
}
.wrap--item .item-slide {
  overflow: hidden;
  width: 100%;
  height: 100%;
  position: relative;
  contain: layout paint;
}
.wrap--item .item-slide__track {
  display: flex;
  width: max-content;
  height: 100%;
  will-change: transform;
  transform: translateX(0);
  isolation: isolate;
  backface-visibility: hidden;
  perspective: 1000px;
  --loop-duration: 39.999s;
}
.wrap--item .item-slide__track.is-visible {
  animation: slideLoop var(--loop-duration) linear infinite;
}
@media (max-width: 767px) {
  .wrap--item .item-slide__track {
    --loop-duration: 29.999s;
  }
}
.wrap--item .item-slide__track > div {
  flex: 0 0 auto;
  height: 100%;
  display: flex;
  align-items: center;
  margin-left: -1px;
}
.wrap--item .item-slide__track img {
  display: block;
  width: auto;
  height: 100%;
  object-fit: contain;
  -webkit-user-drag: none;
  transform: translateZ(0);
}
@keyframes slideLoop {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
.wrap--item .item {
  margin-top: 3rem;
  display: flex;
  justify-content: space-between;
  gap: 3rem;
  position: relative;
  height: 100vh;
  overflow: hidden;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .item {
    overflow: visible;
    height: auto;
  }
}
@media (max-width: 767px) {
  .wrap--item .item {
    overflow: visible;
    height: auto;
  }
}
.wrap--item .item__sticky {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.2rem 3rem;
  height: 100dvh;
  overflow-y: auto;
  scrollbar-gutter: stable;
  font-family: var(--font-main);
}
@media (min-width: 1024px) {
  .wrap--item .item__sticky {
    grid-template-rows: auto auto auto auto auto 1fr auto;
  }
}
.wrap--item .item__sticky.is-draggable {
  cursor: grab;
}
.wrap--item .item__sticky.is-dragging {
  cursor: grabbing;
}
@media (min-width: 1024px) {
  @supports (-moz-appearance: none) {
    .wrap--item .item__sticky {
      scrollbar-width: thin;
      scrollbar-color: var(--color-data-gray) #f1f1f1;
    }
  }
  .wrap--item .item__sticky::-webkit-scrollbar-button {
    width: 0;
    height: 0;
    background-color: #f1f1f1;
  }
  .wrap--item .item__sticky::-webkit-scrollbar {
    width: 6px;
  }
  .wrap--item .item__sticky::-webkit-scrollbar-thumb {
    background-color: var(--color-data-gray);
    border-radius: 4px;
  }
  .wrap--item .item__sticky::-webkit-scrollbar-track {
    background: #f1f1f1;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .item__sticky {
    display: block;
    overflow: visible;
    height: auto;
  }
}
@media (max-width: 767px) {
  .wrap--item .item__sticky {
    display: block;
    overflow: visible;
    height: auto;
  }
}
.wrap--item .item__product, .wrap--item .item__color-area, .wrap--item .item__feature-area, .wrap--item .item__shop, .wrap--item .item__material-area, .wrap--item .item__spec {
  display: grid;
  padding-right: 3rem;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .item__product, .wrap--item .item__color-area, .wrap--item .item__feature-area, .wrap--item .item__shop, .wrap--item .item__material-area, .wrap--item .item__spec {
    padding: 0 3rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .item__product, .wrap--item .item__color-area, .wrap--item .item__feature-area, .wrap--item .item__shop, .wrap--item .item__material-area, .wrap--item .item__spec {
    padding: 0 1.5rem;
  }
}
@media (min-width: 1024px) {
  .wrap--item .item__product {
    padding-top: 3rem;
  }
}
@media (min-width: 1024px) {
  .wrap--item .item__spec {
    padding-bottom: 3rem;
  }
}
.wrap--item .item__product {
  order: 1;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .item__product {
    order: 1;
    margin-bottom: 3rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .item__product {
    order: 1;
    margin-bottom: 3rem;
  }
}
.wrap--item .item__color-area {
  order: 2;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .item__color-area {
    order: 2;
    margin-bottom: 3rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .item__color-area {
    order: 2;
    margin-bottom: 3rem;
  }
}
.wrap--item .item__image {
  cursor: default;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .item__image {
    order: 3;
    margin-bottom: 3rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .item__image {
    order: 3;
    margin-bottom: 3rem;
  }
}
.wrap--item .item__feature-area {
  order: 4;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .item__feature-area {
    order: 4;
    margin-bottom: 3rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .item__feature-area {
    order: 4;
    margin-bottom: 3rem;
  }
}
.wrap--item .item__shop {
  order: 5;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .item__shop {
    order: 5;
  }
}
@media (max-width: 767px) {
  .wrap--item .item__shop {
    display: none;
    order: 5;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .item__shop .btn-B {
    margin: 0 0 0 auto;
  }
}
.wrap--item .item__material-area {
  order: 3;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .item__material-area {
    order: 6;
    margin-bottom: 3rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .item__material-area {
    order: 6;
    margin-top: 3rem;
    margin-bottom: 3rem;
  }
}
.wrap--item .item__spec {
  order: 7;
}
@media (min-width: 1024px) {
  .wrap--item .item__spec {
    align-self: end;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .item__spec {
    order: 7;
    margin-bottom: 3rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .item__spec {
    order: 7;
    margin-bottom: 3rem;
  }
}
.wrap--item .item__box {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .item__box {
    display: flex;
    flex-direction: column;
  }
}
@media (max-width: 767px) {
  .wrap--item .item__box {
    display: flex;
    flex-direction: column;
  }
}
.wrap--item .item__info {
  width: 50%;
  padding-right: 2rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .item__info {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .wrap--item .item__info {
    width: 100%;
  }
}
.wrap--item .item__label {
  font-size: clamp(1rem, 0.7291666667vw, 1.4rem);
  font-weight: bold;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .item__label {
    font-size: 1.4rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .item__label {
    font-size: 1.2rem;
  }
}
.wrap--item .item__name {
  font-size: 2.1875vw;
  font-weight: bold;
  line-height: 1;
  font-family: var(--font-main);
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .item__name {
    font-size: 3.6rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .item__name {
    font-size: 3rem;
  }
}
.wrap--item .item__name span {
  display: block;
  font-size: 1.3020833333vw;
  margin-top: 1.4rem;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .item__name span {
    font-size: 2.2rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .item__name span {
    font-size: 2rem;
  }
}
.wrap--item .item__price {
  font-size: 1.3020833333vw;
  font-weight: 800;
  line-height: 1.4;
  font-family: var(--font-main);
  margin-top: 1rem;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .item__price {
    font-size: 2.2rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .item__price {
    font-size: 2rem;
  }
}
.wrap--item .item__price > sup {
  vertical-align: super;
  font-size: 0.7291666667vw;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .item__price > sup {
    font-size: 1.1rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .item__price > sup {
    font-size: 1.2rem;
  }
}
.wrap--item .item__txt {
  font-size: clamp(1rem, 0.7291666667vw, 1.4rem);
  font-family: var(--font-main);
  margin-top: 1.4rem;
  position: relative;
  text-align: justify;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .item__txt {
    font-size: 1.4rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .item__txt {
    font-size: 1.4rem;
    overflow: hidden;
    max-height: 4rem;
    transition: max-height 0.2s ease;
  }
}
.wrap--item .item__txt::after {
  opacity: 0;
  pointer-events: none;
}
@media (max-width: 767px) {
  .wrap--item .item__txt::after {
    content: "...";
    position: absolute;
    right: 0;
    bottom: 0;
    padding-right: 1.6rem;
    background: var(--color-base-white);
    transition: opacity 0.2s ease;
  }
}
.wrap--item .item__txt:not(.is-open)::after {
  opacity: 1;
}
.wrap--item .item__more {
  display: none;
}
@media (max-width: 767px) {
  .wrap--item .item__more {
    display: inline-block;
    margin-top: 1.2rem;
    font-size: 1.2rem;
    text-decoration: underline;
  }
}
.wrap--item .item__color {
  display: flex;
  gap: 1rem;
  align-items: baseline;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .item__color {
    margin-top: 1rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .item__color {
    margin-top: 1rem;
  }
}
.wrap--item .item__color--black, .wrap--item .item__color--blue, .wrap--item .item__color--pink, .wrap--item .item__color--brown {
  width: 2.5rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
}
.wrap--item .item__color--black {
  background-color: var(--color-base-black);
}
.wrap--item .item__color--blue {
  background-color: #C1C9CC;
}
.wrap--item .item__color--pink {
  background-color: #f6d8d3;
}
.wrap--item .item__color--brown {
  background-color: #f1ebe5;
}
.wrap--item .item__image {
  width: 100%;
  grid-column: 1;
  grid-row: 1/8;
  position: sticky;
  top: 0;
  height: 100dvh;
  overflow: hidden;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .item__image {
    position: relative;
    height: 65dvh;
    top: auto;
    grid-column: auto;
    grid-row: auto;
  }
}
@media (max-width: 767px) {
  .wrap--item .item__image {
    position: relative;
    height: 58dvh;
    top: auto;
    grid-column: auto;
    grid-row: auto;
  }
}
.wrap--item .item__image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  will-change: opacity, transform;
  backface-visibility: hidden;
  transform: translateZ(0);
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .item__image img {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.4s ease;
  }
}
@media (max-width: 767px) {
  .wrap--item .item__image img {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.4s ease;
  }
}
.wrap--item .item__image img.active {
  opacity: 1;
}
.wrap--item .item__image video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  will-change: opacity, transform;
  backface-visibility: hidden;
  transform: translateZ(0);
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .item__image video {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.4s ease;
  }
}
@media (max-width: 767px) {
  .wrap--item .item__image video {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.4s ease;
  }
}
.wrap--item .item__image video.active {
  opacity: 1;
}
.wrap--item .item__progress {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background: #ccc;
  overflow: hidden;
}
.wrap--item .item__progress-current {
  position: absolute;
  top: 0;
  left: 0;
  width: 16.6666666667%;
  height: 100%;
  background: #4C4C4C;
  transition: transform 0.4s ease;
}
.wrap--item .item__progress-current.item04 {
  width: 25%;
}
.wrap--item .item__feature-wrap {
  position: relative;
  min-height: 9.375vw;
}
@media screen and (max-width: 1249px) {
  .wrap--item .item__feature-wrap {
    min-height: 12rem;
  }
}
@media screen and (max-width: 1060px) {
  .wrap--item .item__feature-wrap {
    min-height: 13rem;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .item__feature-wrap {
    min-height: 14dvh;
  }
}
@media (max-width: 767px) {
  .wrap--item .item__feature-wrap {
    min-height: 30dvh;
  }
}
.wrap--item .item__feature-num {
  font-size: 0.7291666667vw;
  font-weight: bold;
  color: #CCC;
  margin-bottom: 1rem;
  transition: opacity 0.3s;
  display: flex;
  gap: 1rem;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .item__feature-num {
    font-size: 1.2rem;
    gap: 0.5rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .item__feature-num {
    font-size: 1.1rem;
    gap: 0.5rem;
  }
}
.wrap--item .item__feature-num span {
  cursor: pointer;
}
@media (min-width: 1024px) {
  .wrap--item .item__feature-num span:hover {
    color: #777;
  }
}
.wrap--item .item__feature-num .active {
  color: var(--color-base-black) !important;
  text-decoration: line-through;
  cursor: default;
}
.wrap--item .item__feature {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s;
  will-change: opacity, transform;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .item__feature {
    opacity: 0;
    pointer-events: none;
  }
}
@media (max-width: 767px) {
  .wrap--item .item__feature {
    opacity: 0;
    pointer-events: none;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .item__feature.active {
    opacity: 1;
    pointer-events: auto;
  }
}
@media (max-width: 767px) {
  .wrap--item .item__feature.active {
    opacity: 1;
    pointer-events: auto;
  }
}
.wrap--item .item__feature--l {
  font-size: 1.40625vw;
  margin-bottom: 0.8rem;
  font-weight: 500;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .item__feature--l {
    font-size: 2.2rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .item__feature--l {
    font-size: 2rem;
  }
}
.wrap--item .item__feature--m {
  font-size: clamp(1rem, 0.7291666667vw, 1.4rem);
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .item__feature--m {
    font-size: 1.3rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .item__feature--m {
    font-size: 1.2rem;
  }
}
.wrap--item .item__feature--m sup {
  vertical-align: super;
  font-size: 1rem;
}
.wrap--item .item__story {
  will-change: transform;
  transform: translateZ(0);
  backface-visibility: hidden;
}
@media (min-width: 1024px) {
  .wrap--item .item__story {
    display: contents;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .item__story {
    position: relative;
  }
}
@media (max-width: 767px) {
  .wrap--item .item__story {
    position: relative;
  }
}
@media (max-width: 767px) {
  .wrap--item .item__material-area .item__label {
    position: relative;
    cursor: pointer;
    padding-right: 2rem;
  }
  .wrap--item .item__material-area .item__label::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 6.5rem;
    border-bottom: solid 1px var(--color-data-gray);
    border-right: solid 1px var(--color-data-gray);
    width: 0.6rem;
    height: 0.6rem;
    transform: translateY(-75%) rotate(45deg);
    transition: transform 0.2s;
  }
  .wrap--item .item__material-area .item__label.is-open::after {
    transform: translateY(-25%) rotate(225deg);
  }
}
.wrap--item .item__accordion-content {
  overflow: hidden;
  height: 0;
  padding-top: 0.5rem;
  transition: height 0.4s ease;
}
@media (max-width: 767px) {
  .wrap--item .item__accordion-content-sp {
    overflow: hidden;
    height: 0;
    transition: height 0.4s ease;
  }
}
.wrap--item .item__material {
  display: grid;
  grid-template-columns: 1fr 2fr;
  align-items: center;
}
@media (max-width: 767px) {
  .wrap--item .item__material {
    margin-top: 1rem;
    grid-template-columns: 1fr 1fr;
  }
}
.wrap--item .item__material > dt {
  font-size: clamp(1rem, 0.7291666667vw, 1.4rem);
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .item__material > dt {
    font-size: 1.3rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .item__material > dt {
    font-size: 1.3rem;
  }
}
.wrap--item .item__material > dd {
  font-size: clamp(1rem, 0.7291666667vw, 1.4rem);
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .item__material > dd {
    font-size: 1.3rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .item__material > dd {
    font-size: 1.3rem;
  }
}
.wrap--item .item__material > dd > sup {
  vertical-align: super;
  font-size: 0.5208333333vw;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .item__material > dd > sup {
    font-size: 1rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .item__material > dd > sup {
    font-size: 1rem;
  }
}
.wrap--item .item__note {
  font-size: 1rem;
  margin-top: 1rem;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .item__note {
    font-size: 1.1rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .item__note {
    font-size: 1.1rem;
  }
}
.wrap--item .item__spec .item__label {
  position: relative;
  cursor: pointer;
  padding-right: 2rem;
}
.wrap--item .item__spec .item__label span {
  position: relative;
}
.wrap--item .item__spec .item__label span::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -1.5rem;
  border-bottom: solid 1px var(--color-data-gray);
  border-right: solid 1px var(--color-data-gray);
  width: 0.6rem;
  height: 0.6rem;
  transform: translateY(-75%) rotate(45deg);
  transition: transform 0.2s;
}
.wrap--item .item__spec .item__label.is-open span::after {
  transform: translateY(-25%) rotate(225deg);
}
.wrap--item .item__spec .item__label sup {
  font-size: 0.5208333333vw;
  vertical-align: super;
  margin-left: 0.2rem;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .item__spec .item__label sup {
    font-size: 0.8rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .item__spec .item__label sup {
    font-size: 0.8rem;
  }
}
.wrap--item .item__table {
  width: 100%;
  border-collapse: collapse;
}
.wrap--item .item__table tr {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-bottom: 1px solid #ccc;
  padding: 0.3rem 0;
}
.wrap--item .item__table tr:first-child {
  border-top: 1px solid var(--color-base-black);
}
.wrap--item .item__table th {
  font-size: clamp(1rem, 0.78125vw, 1.5rem);
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .item__table th {
    font-size: 1.3rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .item__table th {
    font-size: 1.2rem;
  }
}
.wrap--item .item__table td {
  font-size: clamp(1rem, 0.6770833333vw, 1.3rem);
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .item__table td {
    font-size: 1.2rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .item__table td {
    font-size: 1.2rem;
  }
}
.wrap--item .item__table td .border {
  display: block;
  border-bottom: 1px solid #ccc;
  padding-bottom: 0.3rem;
  margin-bottom: 0.3rem;
}
@media (max-width: 767px) {
  .wrap--item .item__table td .sp-border {
    display: block;
    border-bottom: 1px solid #ccc;
    padding-bottom: 0.3rem;
    margin-bottom: 0.3rem;
  }
}
.wrap--item .color {
  padding: 5rem 3rem;
  font-family: var(--font-main);
}
@media (max-width: 767px) {
  .wrap--item .color {
    padding: 5rem 1.5rem 10rem;
  }
}
.wrap--item .color__text {
  font-size: 2.1875vw;
  font-weight: bold;
  margin-bottom: 1rem;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .color__text {
    font-size: 2.2rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .color__text {
    font-size: 1.4rem;
  }
}
.wrap--item .color__wrapper {
  display: flex;
  justify-content: space-between;
  gap: 3rem;
}
@media (max-width: 767px) {
  .wrap--item .color__wrapper {
    flex-wrap: wrap;
    gap: 2rem;
  }
}
.wrap--item .color__item {
  width: calc((100% - 9rem) / 4);
}
@media (max-width: 767px) {
  .wrap--item .color__item {
    width: calc((100% - 2rem) / 2);
  }
}
.wrap--item .color__item figure {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (max-width: 767px) {
  .wrap--item .color__item figure {
    gap: 0.5rem;
  }
}
.wrap--item .color__item figcaption {
  font-size: clamp(1rem, 0.8333333333vw, 1.6rem);
  font-weight: bold;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .color__item figcaption {
    font-size: 1.2rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .color__item figcaption {
    font-size: 1rem;
  }
}
.wrap--item .color__item--black, .wrap--item .color__item--sand, .wrap--item .color__item--rose, .wrap--item .color__item--gray {
  display: inline-block;
  width: 1.4rem;
  vertical-align: middle;
  margin-right: 0.5rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
}
@media (max-width: 767px) {
  .wrap--item .color__item--black, .wrap--item .color__item--sand, .wrap--item .color__item--rose, .wrap--item .color__item--gray {
    vertical-align: sub;
  }
}
.wrap--item .color__item--black {
  background-color: var(--color-base-black);
}
.wrap--item .color__item--sand {
  background-color: #f1ebe5;
}
.wrap--item .color__item--rose {
  background-color: #f6d8d3;
}
.wrap--item .color__item--gray {
  background-color: #C1C9CC;
}
.wrap--item .caution {
  color: #999;
  background-color: var(--color-base-black);
  font-family: var(--font-main);
  padding: 3rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7.5rem 4rem;
  align-items: end;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .caution {
    align-items: center;
    grid-template-columns: 55% 40%;
    gap: 6rem 4rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .caution {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3rem;
    padding: 1.5rem 1.5rem 3rem;
  }
}
.wrap--item .caution__heading {
  font-size: 1.3020833333vw;
  font-weight: bold;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .caution__heading {
    font-size: 2rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .caution__heading {
    font-size: 1.2rem;
  }
}
.wrap--item .caution__nir {
  font-size: 2.1875vw;
  font-weight: bold;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .caution__nir {
    font-size: 3.6rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .caution__nir {
    font-size: 3rem;
  }
}
.wrap--item .caution__text {
  font-size: 1.0416666667vw;
  color: #ABABAB;
  font-weight: bold;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .caution__text {
    font-size: 1.6rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .caution__text {
    font-size: 1.4rem;
  }
}
.wrap--item .caution__text.--font-cjk {
  font-family: var(--font-main-cjk);
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .caution__text.--tab-nowrap {
    white-space: nowrap;
  }
}
.wrap--item .caution__desc {
  font-size: clamp(1rem, 0.7291666667vw, 1.4rem);
  text-align: justify;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .caution__desc {
    font-size: 1.2rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .caution__desc {
    font-size: 1.2rem;
  }
}
.wrap--item .caution__image {
  grid-column: 2;
  grid-row: 1/5;
  order: initial;
}
@media (max-width: 767px) {
  .wrap--item .caution__image {
    order: 3;
  }
}
.wrap--item .caution__box {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
@media (max-width: 767px) {
  .wrap--item .caution__box {
    grid-template-columns: 1fr;
  }
}
.wrap--item .caution__box:nth-child(1) {
  grid-column: 1;
  grid-row: 1;
}
@media (max-width: 767px) {
  .wrap--item .caution__box:nth-child(1) {
    order: 1;
  }
}
.wrap--item .caution__box:nth-child(2) {
  grid-column: 1;
  grid-row: 2;
}
@media (max-width: 767px) {
  .wrap--item .caution__box:nth-child(2) {
    order: 2;
  }
}
.wrap--item .caution__box:nth-child(3) {
  grid-column: 1;
  grid-row: 3;
}
@media (max-width: 767px) {
  .wrap--item .caution__box:nth-child(3) {
    order: 4;
  }
}
.wrap--item .caution__summary {
  grid-column: 1;
  grid-row: 4;
}
@media (max-width: 767px) {
  .wrap--item .caution__summary {
    order: 5;
  }
}
.wrap--item .spec {
  margin-top: 3rem;
}
.wrap--item .spec__image-box {
  display: flex;
  margin-bottom: 18rem;
}
@media (max-width: 767px) {
  .wrap--item .spec__image-box {
    flex-direction: column;
    margin-bottom: 11rem;
  }
}
.wrap--item .spec__image-box > div {
  width: 33.3333333333%;
  overflow: hidden;
}
@media (max-width: 767px) {
  .wrap--item .spec__image-box > div {
    width: 100%;
  }
}
.wrap--item .spec__image-box > div img {
  display: block;
  transform: scale(1.01);
}
.wrap--item .spec__link {
  width: 90rem;
  margin: 0 auto;
  position: relative;
  display: flex;
  gap: 3rem;
  transition: 0.2s;
}
.wrap--item .spec__link:hover {
  opacity: 0.8;
  transition: 0.2s;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .spec__link {
    width: 90%;
  }
}
@media (max-width: 767px) {
  .wrap--item .spec__link {
    gap: 1.5rem;
    width: 100%;
  }
}
.wrap--item .spec__link-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 1.5625vw;
  font-weight: bold;
  color: #4C4C4C;
  font-family: var(--font-main);
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .spec__link-text {
    font-size: 2.7rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .spec__link-text {
    font-size: 2rem;
    width: 90%;
    text-align: center;
  }
}
.wrap--item .spec__link-text sup {
  vertical-align: super;
  font-size: 0.78125vw;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .spec__link-text sup {
    font-size: 1.8rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .spec__link-text sup {
    font-size: 1.2rem;
  }
}
.wrap--item .spec__table {
  width: 100%;
  margin-top: 5rem;
  padding: 0 3rem;
  font-family: var(--font-main);
  position: relative;
}
@media (max-width: 767px) {
  .wrap--item .spec__table {
    padding: 0 1.5rem 6rem;
  }
}
.wrap--item .spec__table--note {
  font-size: 1rem;
  position: absolute;
  top: 1%;
  right: -1%;
  transform: translateX(-50%);
}
@media (max-width: 767px) {
  .wrap--item .spec__table--note {
    display: none;
  }
}
.wrap--item .spec__table table {
  width: 100%;
  table-layout: fixed;
}
.wrap--item .spec__table .col-th {
  width: 50%;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .spec__table .col-th {
    width: 40%;
  }
}
@media (max-width: 767px) {
  .wrap--item .spec__table .col-th {
    width: 26%;
  }
}
.wrap--item .spec__table .col-td {
  width: 25%;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .spec__table .col-td {
    width: 30%;
  }
}
@media (max-width: 767px) {
  .wrap--item .spec__table .col-td {
    width: 37%;
  }
}
.wrap--item .spec__table tr {
  border-bottom: 1px solid #ccc;
}
.wrap--item .spec__table tr:first-child {
  border-bottom: 1px solid var(--color-base-black);
}
.wrap--item .spec__table tr:first-child th {
  font-size: clamp(1rem, 0.7291666667vw, 1.4rem);
  font-weight: bold;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .spec__table tr:first-child th {
    font-size: 1.4rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .spec__table tr:first-child th {
    font-size: 1.4rem;
  }
}
.wrap--item .spec__table tr:first-child td {
  font-size: clamp(1rem, 0.7291666667vw, 1.4rem);
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .spec__table tr:first-child td {
    font-size: 1.4rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .spec__table tr:first-child td {
    font-size: 1.4rem;
  }
}
.wrap--item .spec__table th {
  font-size: clamp(1rem, 0.9375vw, 1.8rem);
  padding: 0.3rem 0;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .spec__table th {
    font-size: 1.5rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .spec__table th {
    font-size: 1rem;
  }
}
.wrap--item .spec__table td {
  font-size: clamp(1rem, 0.78125vw, 1.5rem);
  padding: 0.3rem 0;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .spec__table td {
    font-size: 1.3rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .spec__table td {
    font-size: 1rem;
  }
}
.wrap--item .spec__table td .border {
  display: block;
  border-bottom: 1px solid #ccc;
  padding-bottom: 0.3rem;
  margin-bottom: 0.3rem;
}
@media (max-width: 767px) {
  .wrap--item .spec__table td .sp-border {
    display: block;
    border-bottom: 1px solid #ccc;
    padding-bottom: 0.3rem;
    margin-bottom: 0.3rem;
  }
}
.wrap--item .spec__table td sup {
  vertical-align: super;
  font-size: 0.5208333333vw;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .spec__table td sup {
    font-size: 1rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .spec__table td sup {
    font-size: 0.8rem;
  }
}
.wrap--item .spec__note {
  margin-left: 1rem;
  font-size: 1rem;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .spec__note {
    font-size: 1rem;
    margin-left: 0;
    display: block;
  }
}
@media (max-width: 767px) {
  .wrap--item .spec__note {
    font-size: 1rem;
    margin-top: 1rem;
    margin-left: 0;
  }
}
.wrap--item .shop-modal {
  position: fixed;
  inset: 0;
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.4s, visibility 0.4s;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .shop-modal {
    overscroll-behavior: contain;
  }
}
@media (max-width: 767px) {
  .wrap--item .shop-modal {
    overscroll-behavior: contain;
  }
}
.wrap--item .shop-modal.is-open {
  opacity: 1;
  height: 100dvh;
  visibility: visible;
  pointer-events: auto;
}
.wrap--item .shop-modal.is-open .shop-modal__panel {
  transform: translateX(0);
}
.wrap--item .shop-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
}
.wrap--item .shop-modal__panel {
  position: absolute;
  top: 0;
  right: 0;
  width: 27%;
  height: 100dvh;
  padding: 3rem;
  background: var(--color-base-white);
  transform: translateX(100%);
  transition: transform 0.4s;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 3rem;
  font-family: var(--font-main);
}
.wrap--item .shop-modal__panel.is-draggable {
  cursor: grab;
}
.wrap--item .shop-modal__panel.is-dragging {
  cursor: grabbing;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .shop-modal__panel {
    width: 50%;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 767px) {
  .wrap--item .shop-modal__panel {
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    width: 100%;
    padding: 1.5rem;
    gap: 10rem;
  }
}
.wrap--item .shop-modal__text {
  font-size: clamp(1rem, 0.7291666667vw, 1.4rem);
  font-weight: bold;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .shop-modal__text {
    font-size: 1.4rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .shop-modal__text {
    font-size: 1.2rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .shop-modal__text .sp-super {
    font-size: 1rem;
    vertical-align: super;
    margin-left: 0.5rem;
  }
}
.wrap--item .shop-modal__text .tax {
  font-size: 0.5208333333vw;
  vertical-align: super;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .shop-modal__text .tax {
    font-size: 1rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .shop-modal__text .tax {
    font-size: 1rem;
    margin-left: 0.5rem;
  }
}
.wrap--item .shop-modal__close {
  position: absolute;
  top: 1.5rem;
  right: 2rem;
  width: 4.8rem;
  height: 4.8rem;
  border: none;
  background: transparent;
  cursor: pointer;
}
@media (max-width: 767px) {
  .wrap--item .shop-modal__close {
    top: 0;
    right: 0;
  }
}
.wrap--item .shop-modal__close::before, .wrap--item .shop-modal__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.4rem;
  height: 1px;
  background: #333;
}
.wrap--item .shop-modal__close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.wrap--item .shop-modal__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.wrap--item .shop-modal__image img {
  width: 100%;
}
.wrap--item .shop-modal__wrapper {
  margin-top: 0.5rem;
  display: flex;
  justify-content: space-between;
  margin-bottom: 1rem;
  gap: 0.5rem;
}
.wrap--item .shop-modal__color {
  display: flex;
  gap: 1rem;
  align-items: baseline;
}
@media (max-width: 767px) {
  .wrap--item .shop-modal__color {
    margin-top: 0.5rem;
    gap: 0.5rem;
  }
}
.wrap--item .shop-modal__color--black, .wrap--item .shop-modal__color--blue, .wrap--item .shop-modal__color--pink, .wrap--item .shop-modal__color--brown {
  width: clamp(2rem, 1.3020833333vw, 2.5rem);
  aspect-ratio: 1/1;
  border-radius: 50%;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .shop-modal__color--black, .wrap--item .shop-modal__color--blue, .wrap--item .shop-modal__color--pink, .wrap--item .shop-modal__color--brown {
    width: 2.5rem;
  }
}
@media (max-width: 767px) {
  .wrap--item .shop-modal__color--black, .wrap--item .shop-modal__color--blue, .wrap--item .shop-modal__color--pink, .wrap--item .shop-modal__color--brown {
    width: 2rem;
  }
}
.wrap--item .shop-modal__color--black {
  background-color: var(--color-base-black);
}
.wrap--item .shop-modal__color--blue {
  background-color: #C1C9CC;
}
.wrap--item .shop-modal__color--pink {
  background-color: #f6d8d3;
}
.wrap--item .shop-modal__color--brown {
  background-color: #f1ebe5;
}
.wrap--item .shop-modal__links {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .wrap--item .shop-modal__links .btn-B {
    width: 100%;
  }
}
.wrap--item .shop-modal__logo {
  max-width: 17.6rem;
  width: 50%;
  aspect-ratio: 176/34;
}
@media (max-width: 767px) {
  .wrap--item .shop-modal__logo {
    width: 7.2rem;
  }
}
.wrap--item .fixed-btn {
  position: fixed;
  left: 50%;
  bottom: 2%;
  transform: translateX(-50%) translateY(20px);
  width: 90%;
  margin-inline: auto;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.4s, transform 0.4s, visibility 0.4s;
}
.wrap--item .fixed-btn.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}
.wrap--item .fixed-btn .btn-B {
  width: 100%;
  display: block;
  padding: 1rem;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);
}

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