@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-white: #fff;
  --color-primary: #007bff;
  --color-base-black: #2e2e2e;
  --color-gray: #cccccc;
  --color-link: #005cb0;
  --color-orange: #ee7800;
  --color-bgWhite: #fff;
  --color-bgGray: #f0f0f0;
  --color-bgGray02: #F5F5F5;
  --color-bgOrange: #ee7800;
  --color-bgLightBlue: #00a0e9;
  --color-bgFb: #4267b2;
  --color-bgX: #0f1419;
  --color-bgYt: #ff0000;
  --color-bgGradient: linear-gradient(
    270deg,
    rgba(238, 202, 0, 1) 0%,
    rgba(238, 120, 0, 1) 100%
  );
  --color-bgGradient02: linear-gradient(
    -50deg,
    rgba(238, 202, 0, 1) 0%,
    rgba(238, 120, 0, 1) 100%
  );
  --color-bgGradientMovie: linear-gradient(
    300deg,
    rgba(238, 202, 0, 1) 0%,
    rgba(238, 120, 0, 1) 100%
  );
  --border-gray: #f0f0f0;
  --border-darkGray: #2e2e2e;
  --border-lightGray: #cccccc;
  --border-orange: #ee7800;
}

html {
  scroll-behavior: smooth;
  font-size: 10px;
  overflow-x: hidden;
  scroll-padding-top: 8rem;
}
@media (max-width: 1000px) {
  html {
    font-size: 1vw; /* 10px / 1000px * 100 */
  }
}
@media (max-width: 767px) {
  html {
    scroll-padding-top: 6rem;
    font-size: 2.6667vw; /* 10px / 375px * 100 */
  }
}

body {
  color: var(--color-base-black);
  font-size: 1.6rem;
  font-family: "Noto Sans JP", sans-serif, "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", meiryo, sans-serif;
  line-height: 1.5;
}
@media (max-width: 767px) {
  body {
    font-size: 1.4rem;
  }
}

main {
  padding-top: 8rem;
}
@media (max-width: 767px) {
  main {
    padding-top: 4.8rem;
  }
}

.l-inner {
  margin: 0 auto;
  width: 1200px;
}
@media (max-width: 1300px) {
  .l-inner {
    width: 90%;
  }
}
@media (max-width: 767px) {
  .l-inner {
    margin: 0;
    padding: 0 2rem;
    width: 100%;
  }
}

.m-inner {
  margin: 0 auto;
  width: 1000px;
}
@media (max-width: 1200px) {
  .m-inner {
    width: 80%;
  }
}
@media (max-width: 767px) {
  .m-inner {
    margin: 0;
    padding: 0 2rem;
    width: 100%;
  }
}
@media (max-width: 767px) {
  .m-inner.--sp-s {
    padding: 0 1.5rem;
  }
}

.s-inner {
  margin: 0 auto;
  width: 980px;
}
@media (max-width: 1100px) {
  .s-inner {
    width: 85%;
  }
}
@media (max-width: 767px) {
  .s-inner {
    margin: 0;
    padding: 0 2rem;
    width: 100%;
  }
}

.is-link {
  color: var(--color-orange);
  text-decoration: underline;
}

sup {
  font-size: 65%;
  vertical-align: super;
}

.js-scrollable {
  display: block;
}
@media (max-width: 767px) {
  .js-scrollable {
    display: flex;
  }
}

.simplebar-track {
  background: rgba(201, 201, 201, 0.5) !important;
}

.simplebar-track.simplebar-vertical {
  width: 3px !important;
}

.simplebar-track.simplebar-horizontal .simplebar-scrollbar {
  height: 8px !important;
  top: 0px !important;
}

.simplebar-track.simplebar-horizontal {
  height: 8px !important;
}

.simplebar-visible::before {
  background: var(--color-bgOrange) !important;
  opacity: 1 !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  border-radius: 2px !important;
}

.simplebar-scrollbar:before {
  background-color: var(--color-bgOrange);
}

.simplebar-track {
  background-color: rgba(201, 201, 201, 0.5);
}

.project-movie {
  position: relative;
  padding: clamp(5rem, 5.21vw, 10rem) 0 clamp(6rem, 6.25vw, 12rem);
}
@media (max-width: 767px) {
  .project-movie {
    padding: 5rem 0 4rem;
  }
}
.project-movie::before {
  position: absolute;
  width: 100%;
  height: clamp(72.9rem, 95vw, 145.8rem);
  background: #eeca00;
  background: var(--color-bgGradientMovie);
  top: clamp(-15rem, 10.42vw, -20rem);
  z-index: -1;
  content: "";
}
@media (max-width: 767px) {
  .project-movie::before {
    height: 200%;
  }
}
.project-movie__ttl {
  margin: 0 auto;
  width: 100%;
}
.project-movie__text {
  margin-top: 5rem;
  text-align: center;
  color: var(--color-white);
  font-size: 1.8rem;
}
@media (max-width: 767px) {
  .project-movie__text {
    margin-top: 2.5rem;
    font-size: 1.2rem;
  }
}
.project-movie__iframe {
  position: relative;
  margin: 8rem auto 0;
  width: clamp(50rem, 70vw, 100rem);
}
@media (max-width: 1100px) {
  .project-movie__iframe {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .project-movie__iframe {
    margin: 3.5rem auto 0;
  }
}
.project-movie__iframe iframe {
  aspect-ratio: 560/315;
  width: 100%;
  height: auto;
}

/* --------------------
NEWS
-------------------- */
.news {
  padding-bottom: 3rem;
}
@media (max-width: 767px) {
  .news {
    padding-bottom: 2.5rem;
  }
}
.news__btn {
  margin-top: 3rem;
  text-align: right;
}

.news-box {
  padding: clamp(3.5rem, 3.65vw, 7rem) clamp(3rem, 3.125vw, 6rem);
  background: var(--color-white);
  box-shadow: 0 0 2rem 0 rgba(0, 0, 0, 0.05);
}
@media (max-width: 767px) {
  .news-box {
    padding: 4rem 2rem 2rem;
    box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.05);
  }
}
@media (max-width: 767px) {
  .news-box__left {
    display: grid;
    grid-template-areas: "news-ttl news-btn" "news-list news-list";
    gap: 2.5rem;
  }
}
@media (max-width: 767px) {
  .news-box__ttl {
    grid-area: news-ttl;
  }
}
@media (max-width: 767px) {
  .news-box__list {
    grid-area: news-list;
  }
}
@media (max-width: 767px) {
  .news-box__btn {
    grid-area: news-btn;
  }
}
.news-box__sns-x {
  text-align: right;
}
@media (max-width: 767px) {
  .news-box__sns-x {
    text-align: center;
  }
}
.news-box .news-list__text {
  font-weight: 400;
}

/* --------------------
REALTIME
-------------------- */
.realtime {
  padding: clamp(5rem, 5.21vw, 10rem) 0 clamp(6.5rem, 6.77vw, 13rem);
  background: linear-gradient(0deg, rgba(255, 255, 255, 0) 50%, rgb(255, 255, 255) 100%), url("/assets/images/top/realtime-bg.webp") no-repeat;
  background-position: bottom center;
  background-size: cover;
}
@media (max-width: 767px) {
  .realtime {
    padding: 2.5rem 0 5rem;
    background: linear-gradient(0deg, rgba(255, 255, 255, 0) 50%, rgb(255, 255, 255) 100%), url("/assets/images/top/realtime-bg_sp.webp") no-repeat;
    background-position: bottom;
    background-size: cover;
  }
}
.realtime__list {
  display: flex;
  flex-direction: column;
  gap: clamp(4rem, 6.67vw, 8rem);
}
@media (max-width: 767px) {
  .realtime__list {
    gap: 0;
  }
}

.realtime-box {
  display: grid;
  grid-template-areas: "realtime-head realtime-img" "realtime-detail realtime-img" "..... realtime-img";
  grid-template-columns: 40% 1fr;
  gap: 5rem 8rem;
  margin-top: clamp(2.5rem, 4.17vw, 5rem);
}
@media (max-width: 767px) {
  .realtime-box {
    grid-template-areas: "realtime-head" "realtime-img" "realtime-detail";
    grid-template-columns: 100%;
    gap: 2rem;
    margin-top: 4rem;
  }
}
.realtime-box.--reverse {
  grid-template-areas: "realtime-img realtime-head" "realtime-img realtime-detail" "realtime-img .....";
  grid-template-columns: 1fr 40%;
}
@media (max-width: 767px) {
  .realtime-box.--reverse {
    grid-template-areas: "realtime-head" "realtime-img" "realtime-detail";
    grid-template-columns: 100%;
    gap: 2.5rem;
  }
}
.realtime-box__head {
  position: relative;
  grid-area: realtime-head;
  margin-top: 4.5rem;
  z-index: 1;
}
@media (max-width: 767px) {
  .realtime-box__head {
    margin-top: 0;
  }
}
.realtime-box__img {
  grid-area: realtime-img;
  position: relative;
  display: inline-block;
  aspect-ratio: 670/441;
  overflow: hidden;
  z-index: 0;
}
@media (max-width: 767px) {
  .realtime-box__img {
    width: 100%;
  }
}
.realtime-box__img img {
  opacity: 0;
  position: relative;
  z-index: 1;
  aspect-ratio: 670/441;
  object-fit: cover;
  object-position: 50% 50%;
}
.realtime-box__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 0%;
  height: 100%;
  background: var(--color-bgGradient);
  z-index: 2;
}
.realtime-box__detail {
  grid-area: realtime-detail;
}
.realtime-box p {
  line-height: 1.8;
  font-size: 1.6rem;
}
@media (max-width: 767px) {
  .realtime-box p {
    line-height: 1.6;
    font-size: 1.35rem;
  }
}
.realtime-box__btn {
  margin-top: 5rem;
  text-align: right;
}
@media (max-width: 767px) {
  .realtime-box__btn {
    margin-top: 2rem;
  }
}

/* --------------------
STUDY
-------------------- */
.study {
  padding: clamp(6.5rem, 6.77vw, 13rem) 0;
}
@media (max-width: 767px) {
  .study {
    padding: 5rem 0;
  }
}
.study__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 5rem;
  margin-top: 8rem;
}
@media (max-width: 767px) {
  .study__list {
    flex-direction: column;
    gap: 4rem;
    margin-top: 4rem;
  }
}

.study-item {
  position: relative;
  width: clamp(33.5rem, 40vw, 57.5rem);
  aspect-ratio: 575/300;
  overflow: hidden;
}
.study-item a img {
  transition: all 0.4s ease;
}
.study-item a:hover img {
  transform: scale(1.1);
}
.study-item a:hover .btn-B {
  background: #fff;
  color: #ee7800;
}
.study-item a:hover .btn-B::after {
  content: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTMiIHZpZXdCb3g9IjAgMCAxNSAxMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMC4zNCA2TDEyLjU5IDZMNy4zNCAwLjc1TDggLTIuODQxMjRlLTA3TDE0LjUgNi41TDggMTNMNy4zNCAxMi4yNUwxMi41OSA3TDAuMzQgN0wwLjM0IDZaIiBmaWxsPSIjRUU3ODAwIi8+PC9zdmc+");
}
.study-item__content {
  position: absolute;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 85%;
  background: linear-gradient(0deg, rgba(238, 202, 0, 0.8) 0%, rgba(238, 120, 0, 0.7) 53%, rgba(238, 120, 0, 0) 88%);
  bottom: 0;
  left: 0;
}
@media (max-width: 767px) {
  .study-item__content {
    background: linear-gradient(0deg, rgba(238, 202, 0, 0.8) -10%, rgba(238, 120, 0, 0.7) 73%, rgba(238, 120, 0, 0) 98%);
    height: 75%;
  }
}
.study-item__text {
  line-height: 1;
  color: var(--color-white);
  font-size: 3.2rem;
  font-weight: 600;
}
@media (max-width: 767px) {
  .study-item__text {
    font-size: 2.3rem;
  }
}
.study-item__btn {
  margin-top: 5rem;
}
@media (max-width: 767px) {
  .study-item__btn {
    margin-top: 2.5rem;
  }
}

.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-ul-asterisk-num {
  padding-left: 0;
  list-style: none;
}
.u-ul-asterisk-num > li {
  position: relative;
  padding-left: 2.5em;
  counter-increment: number;
}
@media (max-width: 767px) {
  .u-ul-asterisk-num > li {
    padding-left: 2em;
  }
}
.u-ul-asterisk-num > li::before {
  position: absolute;
  display: inline-block;
  top: 0;
  left: 0;
  content: "※" counter(number);
}

.u-ul-dot {
  list-style: none;
  padding-left: 0;
}
.u-ul-dot > li {
  position: relative;
  padding-left: 1.5em;
  line-height: 1.4;
}
@media (max-width: 767px) {
  .u-ul-dot > li {
    padding-left: 1em;
  }
}
.u-ul-dot > li::before {
  position: absolute;
  display: inline-block;
  margin: 0.6rem 0;
  width: 1rem;
  height: 1rem;
  background: #ee7800;
  border-radius: 50%;
  top: 0;
  left: 0;
  content: "";
}
@media (max-width: 767px) {
  .u-ul-dot > li::before {
    width: 0.75rem;
    height: 0.75rem;
  }
}

.u-input, .u-textarea {
  display: inline-block;
  width: 100%;
  padding: 0.4rem 0.8rem;
  border: 1px solid #ccc;
  border-radius: 4px;
  background-color: #fff;
  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: #fff;
  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: #fff;
  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/に配置してください。
 */
.header {
  position: fixed;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2rem 0 2rem 4rem;
  height: 8rem;
  width: 100%;
  background: var(--color-bgWhite);
  top: 0;
  left: 0;
  z-index: 999;
}
@media (max-width: 767px) {
  .header {
    padding: 1.5rem 0 1.5rem 1.5rem;
    height: 4.8rem;
  }
}
.header__logo {
  width: clamp(13.55rem, 14.11vw, 27.1rem);
  height: auto;
}
@media (max-width: 767px) {
  .header__logo {
    width: 13.55rem;
  }
}
.header__logo a {
  display: block;
}
.header__nav {
  display: flex;
}
.header__nav a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 2rem;
  height: 8rem;
  font-size: clamp(0.8rem, 1.2vw, 1.6rem);
}
@media (max-width: 767px) {
  .header__nav a {
    height: 4.8rem;
  }
}
.header__nav a::before {
  position: absolute;
  width: 100%;
  height: 4px;
  background: var(--color-bgGradient);
  bottom: 0;
  left: 50%;
  transform: translateX(-50%) scale(0, 1);
  transform-origin: center top;
  transition: transform 0.25s;
  content: "";
}
.header__nav a:hover::before, .header__nav a:active::before {
  transform: translateX(-50%) scale(1, 1);
}
.header__nav a.is-active:before {
  transform: translateX(-50%) scale(1, 1);
}
.header__right {
  display: flex;
  align-items: center;
}
.header__sns {
  display: flex;
}

.footer {
  background: var(--color-bgGray);
}

.footer-upside {
  padding: 3rem 0 4rem;
}
@media (max-width: 767px) {
  .footer-upside {
    padding: 2rem 0 2.5rem;
  }
}
.footer-upside__layout {
  display: grid;
  grid-template-areas: "logo sns" "nav sns";
  grid-template-columns: 1fr auto;
  align-items: flex-end;
  gap: 1rem 0;
}
@media (max-width: 767px) {
  .footer-upside__layout {
    grid-template-areas: "logo" "nav" "sns";
    grid-template-columns: 100%;
    gap: 1rem;
  }
}
.footer-upside__logo {
  grid-area: logo;
  width: 16rem;
}
@media (max-width: 767px) {
  .footer-upside__logo {
    width: 11rem;
  }
}
.footer-upside__nav {
  grid-area: nav;
  display: flex;
}
.footer-upside__nav a {
  padding: 0 16px;
  line-height: 1.2;
  font-size: 1.2rem;
  border-left: 1px solid var(--border-darkGray);
}
@media (max-width: 767px) {
  .footer-upside__nav a {
    padding: 0 1rem;
    font-size: 1.05rem;
  }
}
.footer-upside__nav a:hover {
  opacity: 0.7;
}
.footer-upside__nav li:last-child a {
  border-right: 1px solid var(--border-darkGray);
}
.footer-upside__sns {
  grid-area: sns;
  display: flex;
  align-items: center;
  gap: 2rem;
  font-size: 1.2rem;
  font-weight: 600;
}
@media (max-width: 767px) {
  .footer-upside__sns {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.5rem;
    margin-top: 1rem;
    font-size: 1.1rem;
  }
}
.footer-upside__sns-list {
  display: flex;
}

.footer-bottom {
  padding: 3rem 0 4rem;
  border-top: 1px solid var(--border-lightGray);
}
@media (max-width: 767px) {
  .footer-bottom {
    padding: 2rem 0 2.5rem;
  }
}
.footer-bottom__layout {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .footer-bottom__layout {
    flex-direction: column;
    justify-content: flex-start;
    gap: 0.5rem;
  }
}
.footer-bottom__company {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  font-size: 1.1rem;
}
@media (max-width: 767px) {
  .footer-bottom__company {
    gap: 0.5rem;
  }
}
.footer-bottom__company::after {
  display: inline-block;
  width: 1.1rem;
  height: 1rem;
  background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAyMCAxNyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PHJlY3QgeT0iMC43NDA3MjMiIHdpZHRoPSIyMCIgaGVpZ2h0PSIxNiIgZmlsbD0idXJsKCNwYXR0ZXJuMF82MzgzXzEwNzIpIi8+PGRlZnM+PHBhdHRlcm4gaWQ9InBhdHRlcm4wXzYzODNfMTA3MiIgcGF0dGVybkNvbnRlbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giIHdpZHRoPSIxIiBoZWlnaHQ9IjEiPjx1c2UgeGxpbms6aHJlZj0iI2ltYWdlMF82MzgzXzEwNzIiIHRyYW5zZm9ybT0ibWF0cml4KDAuMDQ1NDU0NSAwIDAgMC4wNTY4MTgyIDAgLTAuMDExMzYzNikiLz48L3BhdHRlcm4+PGltYWdlIGlkPSJpbWFnZTBfNjM4M18xMDcyIiB3aWR0aD0iMjIiIGhlaWdodD0iMTgiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiIHhsaW5rOmhyZWY9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQllBQUFBU0NBWUFBQUJmSlM0dEFBQUFUa2xFUVZRNGpXTlVrbGRsUUFQLzBRWElBVXpVTUFRYllNRWp4MGltbWY4WkdHam9ZcG9hL0orQlNoR0diakJOd0tqQlE5aGdmRG1Qb2lSSVZ4ZVRXMGFnQUxxNG1KUXdKZWdybXJrWUFBR1hCbzhEam5xakFBQUFBRWxGVGtTdVFtQ0MiLz48L2RlZnM+PC9zdmc+") no-repeat center/contain;
  content: "";
}
@media (max-width: 767px) {
  .footer-bottom__company::after {
    width: 1rem;
    height: 0.9rem;
  }
}
.footer-bottom__company:hover {
  opacity: 0.7;
}
.footer-bottom__copyright {
  font-size: 1rem;
}
@media (max-width: 767px) {
  .footer-bottom__copyright {
    font-size: 0.9rem;
  }
}

.btn-A {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 3rem;
  line-height: 1;
  font-size: 1.6rem;
  font-weight: 600;
}
@media (max-width: 767px) {
  .btn-A {
    gap: 1.5rem;
    font-size: 1.4rem;
  }
}
.btn-A::after {
  display: block;
  width: 1.5rem;
  height: 1.3rem;
  background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTMiIHZpZXdCb3g9IjAgMCAxNSAxMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMC44NCA2TDEzLjA5IDZMNy44NCAwLjc1TDguNSAtMi44NDEyNGUtMDdMMTUgNi41TDguNSAxM0w3Ljg0IDEyLjI1TDEzLjA5IDdMMC44NCA3TDAuODQgNloiIGZpbGw9IiNFRTc4MDAiLz48L3N2Zz4=") no-repeat;
  background-size: contain;
  pointer-events: none;
  content: "";
}
@media (max-width: 767px) {
  .btn-A::after {
    width: 1rem;
    height: 1.1rem;
  }
}
.btn-A::before {
  position: absolute;
  width: 100%;
  height: 2px;
  background: var(--color-bgGradient);
  left: 0;
  bottom: -1rem;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.25s;
  content: "";
  pointer-events: none;
}
.btn-A:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
}
.btn-A.--prev {
  flex-direction: row-reverse;
}
.btn-A.--prev::after {
  background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTMiIHZpZXdCb3g9IjAgMCAxNSAxMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyB0cmFuc2Zvcm09InJvdGF0ZSgxODAgNy41IDYuNSkiPjxwYXRoIGQ9Ik0wLjg0IDZMMTMuMDkgNkw3Ljg0IDAuNzVMOC41IC0yLjg0MTI0ZS0wN0wxNSA2LjVMOC41IDEzTDcuODQgMTIuMjVMMTMuMDkgN0wwLjg0IDdMMC44NCA2WiIgZmlsbD0iI0VFNzgwMCIvPjwvZz48L3N2Zz4=") no-repeat;
  background-size: contain;
  pointer-events: none;
}
.btn-A.--prev::before {
  position: absolute;
  width: 100%;
  height: 2px;
  background: var(--color-bgGradient);
  left: auto;
  right: 0;
  bottom: -1rem;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform 0.25s;
  content: "";
  pointer-events: none;
}
.btn-A.--prev:hover::before {
  transform-origin: right top;
  transform: scale(1, 1);
}

.btn-B {
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.6rem 2rem;
  width: 25rem;
  line-height: 1;
  color: var(--color-white);
  font-size: 1.6rem;
  font-weight: 600;
  border: 2px solid var(--color-white);
  transition: all 0.2s ease;
}
@media (max-width: 767px) {
  .btn-B {
    padding: 1.2rem 1.4rem;
    width: 16rem;
    font-size: 1.4rem;
  }
}
.btn-B::after {
  display: block;
  width: 1.5rem;
  height: 1.3rem;
  content: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTMiIHZpZXdCb3g9IjAgMCAxNSAxMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMC4zNCA2TDEyLjU5IDZMNy4zNCAwLjc1TDggLTIuODQxMjRlLTA3TDE0LjUgNi41TDggMTNMNy4zNCAxMi4yNUwxMi41OSA3TDAuMzQgN0wwLjM0IDZaIiBmaWxsPSJ3aGl0ZSIvPjwvc3ZnPg==");
  transition: transform 0.2s;
}
.btn-B:hover {
  color: #ee7800;
  background: #fff;
}
.btn-B:hover::after {
  content: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTMiIHZpZXdCb3g9IjAgMCAxNSAxMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMC4zNCA2TDEyLjU5IDZMNy4zNCAwLjc1TDggLTIuODQxMjRlLTA3TDE0LjUgNi41TDggMTNMNy4zNCAxMi4yNUwxMi41OSA3TDAuMzQgN0wwLjM0IDZaIiBmaWxsPSIjRUU3ODAwIi8+PC9zdmc+");
}

.btn-C {
  position: relative;
  display: block;
  padding: 2rem 4.3rem;
  line-height: 1;
  color: var(--color-white);
  background: linear-gradient(90deg, rgb(238, 120, 0) 0%, rgb(238, 202, 0) 50%, rgb(238, 120, 0) 100%);
  background-size: 200% 100%;
  font-size: 1.4rem;
  border-radius: 8rem;
  transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
}
@media (max-width: 767px) {
  .btn-C {
    padding: 1.5rem 3rem;
    font-size: 1.1rem;
  }
}
.btn-C::after {
  position: absolute;
  width: 0.8rem;
  height: 1.4rem;
  background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDggMTQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTAuODY2MDQ5IDEuNTk3ODFMMS45MjcwNSAwLjUzNzgxNEw3LjcwNjA1IDYuMzE0ODFDNy43OTkyIDYuNDA3MzggNy44NzMxMyA2LjUxNzQ2IDcuOTIzNTggNi42Mzg3MUM3Ljk3NDAzIDYuNzU5OTYgOCA2Ljg4OTk5IDggNy4wMjEzMUM4IDcuMTUyNjQgNy45NzQwMyA3LjI4MjY3IDcuOTIzNTggNy40MDM5MkM3Ljg3MzEzIDcuNTI1MTcgNy43OTkyIDcuNjM1MjQgNy43MDYwNSA3LjcyNzgxTDEuOTI3MDUgMTMuNTA3OEwwLjg2NzA1IDEyLjQ0NzhMNi4yOTEwNSA3LjAyMjgxTDAuODY2MDQ5IDEuNTk3ODFaIiBmaWxsPSJ3aGl0ZSIvPjwvc3ZnPg==") no-repeat;
  background-size: contain;
  top: 50%;
  right: 2rem;
  transform: translateY(-50%);
  content: "";
}
@media (max-width: 767px) {
  .btn-C::after {
    width: 0.55rem;
    height: 0.95rem;
    right: 1.5rem;
  }
}
.btn-C:hover {
  background-position: 100% 0;
}

.btn-D {
  position: relative;
  display: block;
  padding: 2.5rem 2rem;
  line-height: 1;
  color: var(--color-white);
  background: linear-gradient(90deg, rgb(238, 120, 0) 0%, rgb(238, 202, 0) 50%, rgb(238, 120, 0) 100%);
  background-size: 200% 100%;
  font-size: 2.2rem;
  font-weight: bold;
  transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
}
@media (max-width: 767px) {
  .btn-D {
    padding: 1.75rem 1rem;
    font-size: 1.6rem;
  }
}
.btn-D::after {
  position: absolute;
  width: 1.3rem;
  height: 1.4rem;
  background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTMiIHZpZXdCb3g9IjAgMCAxNSAxMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMC4zNCA2TDEyLjU5IDZMNy4zNCAwLjc1TDggLTIuODQxMjRlLTA3TDE0LjUgNi41TDggMTNMNy4zNCAxMi4yNUwxMi41OSA3TDAuMzQgN0wwLjM0IDZaIiBmaWxsPSJ3aGl0ZSIvPjwvc3ZnPg==") no-repeat;
  background-size: contain;
  top: 50%;
  right: 2rem;
  transform: translateY(-50%);
  content: "";
}
@media (max-width: 767px) {
  .btn-D::after {
    width: 0.85rem;
    height: 0.95rem;
    right: 1.5rem;
  }
}
.btn-D:hover {
  background-position: 100% 0;
}

.btn-E {
  display: inline-flex;
  align-items: center;
  gap: 1.6rem;
  font-size: 1.8rem;
  transition: all 0.25s ease;
  cursor: pointer;
}
@media (max-width: 767px) {
  .btn-E {
    gap: 0.8rem;
    font-size: 1.4rem;
  }
}
.btn-E span {
  position: relative;
  width: 5rem;
  height: 5rem;
  background: var(--color-bgOrange);
  border-radius: 50%;
}
@media (max-width: 767px) {
  .btn-E span {
    width: 3rem;
    height: 3rem;
  }
}
.btn-E span::before, .btn-E span::after {
  position: absolute;
  width: 1.4rem;
  height: 2px;
  background: var(--color-bgWhite);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.25s ease;
  content: "";
}
@media (max-width: 767px) {
  .btn-E span::before, .btn-E span::after {
    width: 0.7rem;
    height: 0.1rem;
  }
}
.btn-E span::before {
  transform: translate(-50%, -50%) rotate(90deg);
}

.modal-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 4rem;
  height: 4rem;
  background-color: var(--color-white);
  border: 2px solid var(--border-orange);
  border-radius: 5px;
  box-shadow: 1.5px 1.5px 0 var(--color-orange);
  transition: all 0.25s ease;
  cursor: pointer;
}
@media (max-width: 767px) {
  .modal-btn {
    width: 3rem;
    height: 3rem;
    box-shadow: 0.75px 0.75px 0 var(--color-orange);
  }
}
.modal-btn svg {
  width: 2rem;
  height: auto;
}
@media (max-width: 767px) {
  .modal-btn svg {
    width: 1.5rem;
  }
}
.modal-btn:hover {
  transform: translate(1.5px, 1.5px);
  box-shadow: 0 0 0 var(--color-orange);
}
@media (max-width: 767px) {
  .modal-btn:hover {
    transform: translate(0.75px, 0.75px);
  }
}

.social-media-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1rem;
  width: 4rem;
  height: 4rem;
}
.social-media-btn:hover {
  opacity: 0.7;
}
.social-media-btn.--x {
  background: var(--color-bgX);
}
.social-media-btn.--yt {
  background: var(--color-bgYt);
}
.social-media-btn.--hmb-btn {
  padding: 1.5rem;
  width: 6rem;
  height: 6rem;
}
.social-media-btn.--header {
  padding: 2rem;
  width: 8rem;
  height: 8rem;
}
.social-media-btn.--header svg {
  width: 2rem;
  height: auto;
}

.hmb-btn {
  position: relative;
  height: 4.8rem;
  width: 4.8rem;
  color: var(--color-white);
  background: var(--color-bgOrange);
  z-index: 999;
  cursor: pointer;
}
.hmb-btn__inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.75rem;
  height: 100%;
}
.hmb-btn__trigger {
  position: relative;
  width: 2.25rem;
  height: 1.7rem;
}
.hmb-btn__trigger span {
  position: absolute;
  display: inline-block;
  width: 100%;
  height: 2px;
  background-color: var(--color-bgWhite);
  left: 0;
  transform: translateY(0) rotate(0);
}
.hmb-btn__trigger span:nth-of-type(1) {
  top: 0;
  animation: hmb-bar01 0.75s forwards;
}
.hmb-btn__trigger span:nth-of-type(2) {
  top: 50%;
  opacity: 1;
  transform: translateY(-50%);
  transition: opacity 0.25s 0.25s;
}
.hmb-btn__trigger span:nth-of-type(3) {
  bottom: 0;
  animation: hmb-bar03 0.75s forwards;
}
.hmb-btn__text {
  text-align: center;
  line-height: 1;
  font-size: 1.1rem;
}

.js-hmb-btn.active .hmb-btn__trigger span:nth-child(1) {
  animation: active-hmb-bar01 0.5s forwards;
}
.js-hmb-btn.active .hmb-btn__trigger span:nth-child(2) {
  opacity: 0;
}
.js-hmb-btn.active .hmb-btn__trigger span:nth-child(3) {
  animation: active-hmb-bar03 0.5s forwards;
}
.js-hmb-btn {
  /* 初期状態に戻す */
}
@keyframes hmb-bar01 {
  0% {
    transform: translateY(0.85rem) rotate(45deg);
  }
  50% {
    transform: translateY(0.85rem) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}
@keyframes hmb-bar03 {
  0% {
    transform: translateY(-0.75rem) rotate(-45deg);
  }
  50% {
    transform: translateY(-0.75rem) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}
.js-hmb-btn {
  /* ×にする */
}
@keyframes active-hmb-bar01 {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(0.85rem) rotate(0);
  }
  100% {
    transform: translateY(0.85rem) rotate(45deg);
  }
}
@keyframes active-hmb-bar03 {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(-0.75rem) rotate(0);
  }
  100% {
    transform: translateY(-0.75rem) rotate(-45deg);
  }
}

.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}
@media (max-width: 767px) {
  .pagination {
    gap: 0.5rem;
  }
}
.pagination .page {
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
  width: 3rem;
  height: 3rem;
  color: var(--color-orange);
  border: 2px solid var(--color-orange);
  font-family: "Urbanist", sans-serif;
  font-weight: bold;
  transition: all 0.25s ease;
  cursor: pointer;
}
.pagination .page.active, .pagination .page:hover {
  color: var(--color-white);
  background-color: var(--color-bgOrange);
}
.pagination .prev {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-right: 2rem;
  cursor: pointer;
  transition: all 0.25s ease;
  pointer-events: none;
  opacity: 0;
}
@media (max-width: 767px) {
  .pagination .prev {
    margin-right: 1.5rem;
  }
}
.pagination .prev::before {
  display: block;
  width: 0.8rem;
  height: 1.4rem;
  background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDggMTQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTcuNTY2NTcgMS41NzQ5OUw2LjUwNTU3IDAuNTE0OTg3TDAuNzI2NTY4IDYuMjkxOTlDMC42MzM0MTQgNi4zODQ1NSAwLjU1OTQ4NSA2LjQ5NDYzIDAuNTA5MDM3IDYuNjE1ODhDMC40NTg1ODkgNi43MzcxMyAwLjQzMjYxOCA2Ljg2NzE2IDAuNDMyNjE4IDYuOTk4NDlDMC40MzI2MTggNy4xMjk4MSAwLjQ1ODU4OSA3LjI1OTg0IDAuNTA5MDM3IDcuMzgxMDlDMC41NTk0ODUgNy41MDIzNCAwLjYzMzQxMyA3LjYxMjQyIDAuNzI2NTY4IDcuNzA0OTlMNi41MDU1NyAxMy40ODVMNy41NjU1NyAxMi40MjVMMi4xNDE1NyA2Ljk5OTk5TDcuNTY2NTcgMS41NzQ5OVoiIGZpbGw9IiMyRTJFMkUiLz48L3N2Zz4=") no-repeat;
  background-size: contain;
  content: "";
}
.pagination .prev.active {
  pointer-events: auto;
  opacity: 1;
}
.pagination .prev:hover {
  opacity: 0.7;
}
.pagination .next {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-left: 2rem;
  cursor: pointer;
  transition: all 0.25s ease;
  pointer-events: none;
  opacity: 0;
}
@media (max-width: 767px) {
  .pagination .next {
    margin-left: 1.5rem;
  }
}
.pagination .next::after {
  display: block;
  width: 0.8rem;
  height: 1.4rem;
  background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDggMTQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTcuNTY2NTcgMS41NzQ5OUw2LjUwNTU3IDAuNTE0OTg3TDAuNzI2NTY4IDYuMjkxOTlDMC42MzM0MTQgNi4zODQ1NSAwLjU1OTQ4NSA2LjQ5NDYzIDAuNTA5MDM3IDYuNjE1ODhDMC40NTg1ODkgNi43MzcxMyAwLjQzMjYxOCA2Ljg2NzE2IDAuNDMyNjE4IDYuOTk4NDlDMC40MzI2MTggNy4xMjk4MSAwLjQ1ODU4OSA3LjI1OTg0IDAuNTA5MDM3IDcuMzgxMDlDMC41NTk0ODUgNy41MDIzNCAwLjYzMzQxMyA3LjYxMjQyIDAuNzI2NTY4IDcuNzA0OTlMNi41MDU1NyAxMy40ODVMNy41NjU1NyAxMi40MjVMMi4xNDE1NyA2Ljk5OTk5TDcuNTY2NTcgMS41NzQ5OVoiIGZpbGw9IiMyRTJFMkUiLz48L3N2Zz4=") no-repeat;
  background-size: contain;
  transform: scale(-1, 1);
  content: "";
}
@media (max-width: 767px) {
  .pagination .next::after {
    width: 0.5rem;
    height: 0.9rem;
  }
}
.pagination .next.active {
  pointer-events: auto;
  opacity: 1;
}
.pagination .next:hover {
  opacity: 0.7;
}

.menu-sp {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  padding: 5rem 2.5rem;
  background: var(--color-bgWhite);
  pointer-events: none;
  z-index: 998;
  opacity: 0;
  transition: all 0.25s ease;
}
.menu-sp__nav {
  display: flex;
  flex-direction: column;
}
.menu-sp__nav li {
  line-height: 1;
  font-size: 1.6rem;
  border-bottom: 2px solid var(--border-gray);
}
.menu-sp__nav a {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 2.5rem 0;
}
.menu-sp__nav a::before {
  display: block;
  width: 0.8rem;
  height: 1.4rem;
  content: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDggMTQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTAuNSAxMi41MjExTDEuNjE1NDQgMTMuNjM1NUw3LjY5MDk3IDcuNTYyMDhDNy43ODg5IDcuNDY0NzYgNy44NjY2MiA3LjM0OTA0IDcuOTE5NjYgNy4yMjE1N0M3Ljk3MjcgNy4wOTQxIDggNi45NTczOSA4IDYuODE5MzNDOCA2LjY4MTI2IDcuOTcyNyA2LjU0NDU2IDcuOTE5NjYgNi40MTcwOUM3Ljg2NjYyIDYuMjg5NjIgNy43ODg5IDYuMTczOSA3LjY5MDk3IDYuMDc2NThMMS42MTU0NCAwTDAuNTAxMDUyIDEuMTE0MzlMNi4yMDMzNiA2LjgxNzc1TDAuNSAxMi41MjExWiIgZmlsbD0iI0VFNzgwMCIvPjwvc3ZnPg==");
}
.menu-sp__sns {
  margin-top: 7.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.menu-sp.open {
  opacity: 1;
  pointer-events: auto;
}

.mv {
  position: relative;
  overflow: hidden;
}
.mv__wrap {
  position: relative;
}
.mv__bg {
  width: 90vw;
  margin: 0 calc(50% - 40vw);
  opacity: 0;
}
.mv__head {
  position: absolute;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: clamp(1rem, 1.04vw, 2rem);
  top: 50%;
  left: 55%;
  transform: translate(-50%, -50%);
  opacity: 0;
}
@media (max-width: 767px) {
  .mv__head {
    gap: 1rem;
  }
}
.mv__img {
  width: clamp(26rem, 27.08vw, 52rem);
}
@media (max-width: 767px) {
  .mv__img {
    width: 26rem;
  }
}
.mv__text {
  color: var(--color-white);
  font-size: clamp(2rem, 2.08vw, 4rem);
  font-weight: bold;
  font-feature-settings: "palt" 1;
}
@media (max-width: 767px) {
  .mv__text {
    font-size: 2rem;
  }
}
.mv__text span {
  font-size: clamp(1.5rem, 1.5625vw, 3rem);
}
@media (max-width: 767px) {
  .mv__text span {
    font-size: 1.5rem;
  }
}
.mv__arrows {
  position: absolute;
  bottom: 0;
  left: 4.5%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  transition: opacity 0.3s ease-in-out;
}
@media (max-width: 767px) {
  .mv__arrows {
    left: 5%;
  }
}
.mv__arrows svg {
  width: 1px;
  height: clamp(20rem, 20.83vw, 40rem);
}
@media (max-width: 767px) {
  .mv__arrows svg {
    height: 14.5rem;
  }
}
.mv__arrows-txt {
  font-family: "Roboto", sans-serif;
  writing-mode: vertical-rl;
  color: #008765;
  font-size: 1.6rem;
  font-weight: 400;
}
@media (max-width: 767px) {
  .mv__arrows-txt {
    letter-spacing: 0.1rem;
    font-size: 1.3rem;
  }
}
.mv .arrowPath {
  animation: arrowStrokePath 1.5s linear infinite;
  stroke-dasharray: 600;
  stroke-dashoffset: 600;
}
@keyframes arrowStrokePath {
  0% {
    stroke-dashoffset: 600;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

.mv-sub {
  padding: 6rem 0;
  background: var(--color-bgGradient);
}
@media (max-width: 767px) {
  .mv-sub {
    padding: 3.85rem 0;
  }
}

.heading-A {
  display: inline-flex;
  flex-direction: column;
  gap: 2rem;
  line-height: 1;
  opacity: 0;
}
@media (max-width: 767px) {
  .heading-A {
    gap: 1.5rem;
  }
}
.heading-A__ja {
  font-size: clamp(2rem, 3.33vw, 4rem);
  font-weight: bold;
}
@media (max-width: 767px) {
  .heading-A__ja {
    font-size: 2.5rem;
  }
}
.heading-A__en {
  background: var(--color-bgGradient);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: clamp(1rem, 1.7vw, 2rem);
  font-weight: bold;
}
@media (max-width: 767px) {
  .heading-A__en {
    font-size: 1.5rem;
  }
}
.heading-A.--size-l .heading-A__ja {
  font-size: clamp(2.5rem, 4.17vw, 5rem);
}
@media (max-width: 767px) {
  .heading-A.--size-l .heading-A__ja {
    font-size: 3rem;
  }
}
.heading-A.--mv-sub .heading-A__ja {
  color: var(--color-white);
  font-size: clmap(2.25rem, 3.75vw, 4.5rem);
}
@media (max-width: 767px) {
  .heading-A.--mv-sub .heading-A__ja {
    font-size: 2.75rem;
  }
}
.heading-A.--mv-sub .heading-A__en {
  color: var(--color-white);
  background-color: transparent;
  -webkit-text-fill-color: var(--color-white);
}

.heading-B {
  display: flex;
  align-items: center;
  gap: 2.5rem;
  color: var(--color-white);
  font-size: 2.4rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .heading-B {
    gap: 1.5rem;
    font-size: 2.3rem;
  }
}
.heading-B::before {
  flex-grow: 1;
  height: 2px;
  background-color: var(--color-white);
  content: "";
}
.heading-B::after {
  flex-grow: 1;
  height: 2px;
  background-color: var(--color-white);
  content: "";
}

.heading-c {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 3rem;
  font-size: clamp(1.75rem, 2.92vw, 3.5rem);
  font-weight: bold;
  z-index: 1;
}
@media (max-width: 767px) {
  .heading-c {
    gap: 1.5rem;
    font-size: 2.25rem;
  }
}
.heading-c span {
  position: absolute;
  font-family: "Urbanist", sans-serif;
  line-height: 1;
  background: var(--color-bgGradient);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: clamp(5.5rem, 9.17vw, 11rem);
  font-weight: bold;
  top: 15%;
  left: 25%;
  transform: translate(0, -50%);
  opacity: 0.2;
  z-index: -1;
}
@media (max-width: 767px) {
  .heading-c span {
    font-size: 5.5rem;
    top: 25%;
    left: 15%;
  }
}
.heading-c::after {
  display: block;
  width: 140%;
  height: 2px;
  background: var(--color-bgGradient);
  content: "";
}
@media (max-width: 767px) {
  .heading-c::after {
    width: 100%;
  }
}
.heading-c.--reverse {
  align-items: flex-end;
}
@media (max-width: 767px) {
  .heading-c.--reverse {
    align-items: flex-start;
  }
}
.heading-c.--reverse span {
  left: auto;
  right: 18%;
}
@media (max-width: 767px) {
  .heading-c.--reverse span {
    right: 20%;
  }
}

.heading-D {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  line-height: 1;
  font-size: 2.8rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .heading-D {
    line-height: 1.6;
    gap: 1rem;
    font-size: 1.8rem;
  }
}
.heading-D::after {
  display: block;
  width: 100%;
  height: 2px;
  background: var(--color-bgGradient);
  content: "";
}

.heading-E {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  line-height: 1;
  font-size: 2.4rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .heading-E {
    font-size: 1.6rem;
    gap: 0.5rem;
  }
}
.heading-E::before {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  background: var(--color-bgOrange);
  content: "";
}
@media (max-width: 767px) {
  .heading-E::before {
    width: 0.75rem;
    height: 0.75rem;
  }
}

.heading-F {
  padding: 1.5rem;
  line-height: 1;
  color: var(--color-orange);
  background: rgba(238, 120, 0, 0.15);
  font-size: 1.8rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .heading-F {
    padding: 0.75rem;
    font-size: 1.4rem;
  }
}

.heading-G {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.5rem;
  line-height: 1.2;
  color: var(--color-white);
  background-color: var(--color-bgOrange);
  font-weight: bold;
}
@media (max-width: 767px) {
  .heading-G {
    gap: 0.75rem;
    padding: 0.75rem 1.25rem;
  }
}
.heading-G > span {
  position: relative;
  display: flex;
  justify-content: center;
  text-align: center;
  width: 2.5rem;
  height: 2.5rem;
  color: var(--color-orange);
  font-size: clamp(1.6rem, 1.67vw, 2rem);
  z-index: 1;
}
@media (max-width: 767px) {
  .heading-G > span {
    width: 1.75rem;
    height: 1.75rem;
    font-size: 1.4rem;
  }
}
.heading-G > span:before {
  position: absolute;
  width: 100%;
  height: 100%;
  background: var(--color-white);
  border-radius: 3px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
  content: "";
}
.heading-G.--size-l {
  font-size: 2.4rem;
}
@media (max-width: 767px) {
  .heading-G.--size-l {
    font-size: 1.6rem;
  }
}

.modal-a {
  position: absolute;
  padding: 2rem;
  width: 980px;
  background: var(--color-bgWhite);
  box-sizing: border-box;
  filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.25));
  top: 50%;
  left: 50%;
  z-index: 1;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
@media (max-width: 1200px) {
  .modal-a {
    width: 85%;
  }
}
@media (max-width: 767px) {
  .modal-a {
    padding: 3rem 2rem;
    width: 85%;
  }
}
.modal-a.--map {
  padding: 5.6rem 6rem;
}
@media (max-width: 767px) {
  .modal-a.--map {
    padding: 2rem;
  }
}
.modal-a.--youtube {
  padding: 0;
  background: transparent;
}
.modal-a.--youtube iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 575/323;
}
@media (max-width: 767px) {
  .modal-a__scroll-x {
    padding-bottom: 1.5rem;
    overflow-x: auto;
  }
}
.modal-a__scroll-y {
  margin: 3.2rem auto 0;
  width: 85%;
  height: clamp(28.8rem, 30vw, 57.6rem);
  overflow-y: auto;
}
@media (max-width: 1100px) {
  .modal-a__scroll-y {
    padding: 0 2rem;
  }
}
@media (max-width: 767px) {
  .modal-a__scroll-y {
    margin-top: 1.6rem;
    padding: 0 1.5rem;
    width: 100%;
    height: auto;
  }
}
@media (max-width: 767px) {
  .modal-a__scroll-img {
    width: 80rem;
  }
  .modal-a__scroll-img img {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .modal-a__scroll-img.--size-sm {
    width: 60rem;
  }
}
@media (max-width: 767px) {
  .modal-a__scroll-img.--size-m {
    width: 50rem;
  }
}
.modal-a__inner {
  position: relative;
}
.modal-a__ttl {
  margin-bottom: 3.5rem;
  font-size: 2.7rem;
}
@media (max-width: 767px) {
  .modal-a__ttl {
    margin-bottom: 2.5rem;
    font-size: 1.9rem;
  }
}
.modal-a__subttl {
  margin-bottom: 1rem;
}
.modal-a__txt {
  margin-bottom: 2rem;
}
@media (max-width: 767px) {
  .modal-a__txt {
    font-size: 1.35rem;
  }
}
.modal-a__txt.--align-c {
  text-align: center;
  font-weight: bold;
}
.modal-a__attention {
  font-size: 1.2rem;
}
.modal-a__btn {
  margin-top: 4rem;
}
@media (max-width: 767px) {
  .modal-a__btn {
    margin-top: 2rem;
    width: 100%;
  }
}
.modal-a__map {
  position: relative;
}
.modal-a__map .swiper-button-next,
.modal-a__map .swiper-button-prev {
  width: 6rem;
  height: 6rem;
}
@media (max-width: 767px) {
  .modal-a__map .swiper-button-next,
  .modal-a__map .swiper-button-prev {
    width: 4rem;
    height: 4rem;
  }
}
.modal-a__map .swiper-button-prev:after,
.modal-a__map .swiper-button-next:after {
  content: "";
}
.modal-a__map .swiper-button-prev {
  left: -3.5%;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzUiIGhlaWdodD0iNzUiIHZpZXdCb3g9IjAgMCA3NSA3NSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cmVjdCB4PSIxLjUiIHk9IjEuNSIgd2lkdGg9IjcyIiBoZWlnaHQ9IjcyIiByeD0iMzYiIGZpbGw9IndoaXRlIi8+PHJlY3QgeD0iMS41IiB5PSIxLjUiIHdpZHRoPSI3MiIgaGVpZ2h0PSI3MiIgcng9IjM2IiBzdHJva2U9IiNFRTc4MDAiIHN0cm9rZS13aWR0aD0iMyIvPjxwYXRoIGQ9Ik00NSA0OC43OTM0TDQyLjc2OTEgNTFMMzAuNjE4MSAzOC45NzM5QzMwLjQyMjIgMzguNzgxMiAzMC4yNjY4IDM4LjU1MiAzMC4xNjA3IDM4LjI5OTZDMzAuMDU0NiAzOC4wNDcyIDMwIDM3Ljc3NjUgMzAgMzcuNTAzMUMzMCAzNy4yMjk3IDMwLjA1NDYgMzYuOTU5MSAzMC4xNjA3IDM2LjcwNjZDMzAuMjY2OCAzNi40NTQyIDMwLjQyMjIgMzYuMjI1MSAzMC42MTgxIDM2LjAzMjRMNDIuNzY5MSAyNEw0NC45OTc5IDI2LjIwNjZMMzMuNTkzMyAzNy41TDQ1IDQ4Ljc5MzRaIiBmaWxsPSIjRUU3ODAwIi8+PC9zdmc+");
  background-size: contain;
  background-repeat: no-repeat;
}
@media (max-width: 767px) {
  .modal-a__map .swiper-button-prev {
    left: -10%;
  }
}
.modal-a__map .swiper-button-prev:hover {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzUiIGhlaWdodD0iNzUiIHZpZXdCb3g9IjAgMCA3NSA3NSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cmVjdCB3aWR0aD0iNzUiIGhlaWdodD0iNzUiIHJ4PSIzNy41IiBmaWxsPSIjRUU3ODAwIi8+PHBhdGggZD0iTTQ1IDQ4Ljc5MzRMNDIuNzY5MSA1MUwzMC42MTgxIDM4Ljk3MzlDMzAuNDIyMiAzOC43ODEyIDMwLjI2NjggMzguNTUyIDMwLjE2MDcgMzguMjk5NkMzMC4wNTQ2IDM4LjA0NzIgMzAgMzcuNzc2NSAzMCAzNy41MDMxQzMwIDM3LjIyOTcgMzAuMDU0NiAzNi45NTkxIDMwLjE2MDcgMzYuNzA2NkMzMC4yNjY4IDM2LjQ1NDIgMzAuNDIyMiAzNi4yMjUxIDMwLjYxODEgMzYuMDMyNEw0Mi43NjkxIDI0TDQ0Ljk5NzkgMjYuMjA2NkwzMy41OTMzIDM3LjVMNDUgNDguNzkzNFoiIGZpbGw9IndoaXRlIi8+PC9zdmc+");
}
.modal-a__map .swiper-button-next {
  right: -3.5%;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzUiIGhlaWdodD0iNzUiIHZpZXdCb3g9IjAgMCA3NSA3NSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cmVjdCB4PSIxLjUiIHk9IjEuNSIgd2lkdGg9IjcyIiBoZWlnaHQ9IjcyIiByeD0iMzYiIGZpbGw9IndoaXRlIi8+PHJlY3QgeD0iMS41IiB5PSIxLjUiIHdpZHRoPSI3MiIgaGVpZ2h0PSI3MiIgcng9IjM2IiBzdHJva2U9IiNFRTc4MDAiIHN0cm9rZS13aWR0aD0iMyIvPjxwYXRoIGQ9Ik00NSA0OC43OTM0TDQyLjc2OTEgNTFMMzAuNjE4MSAzOC45NzM5QzMwLjQyMjIgMzguNzgxMiAzMC4yNjY4IDM4LjU1MiAzMC4xNjA3IDM4LjI5OTZDMzAuMDU0NiAzOC4wNDcyIDMwIDM3Ljc3NjUgMzAgMzcuNTAzMUMzMCAzNy4yMjk3IDMwLjA1NDYgMzYuOTU5MSAzMC4xNjA3IDM2LjcwNjZDMzAuMjY2OCAzNi40NTQyIDMwLjQyMjIgMzYuMjI1MSAzMC42MTgxIDM2LjAzMjRMNDIuNzY5MSAyNEw0NC45OTc5IDI2LjIwNjZMMzMuNTkzMyAzNy41TDQ1IDQ4Ljc5MzRaIiBmaWxsPSIjRUU3ODAwIi8+PC9zdmc+");
  background-size: contain;
  background-repeat: no-repeat;
  transform: scale(-1, 1);
}
@media (max-width: 767px) {
  .modal-a__map .swiper-button-next {
    right: -10%;
  }
}
.modal-a__map .swiper-button-next:hover {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzUiIGhlaWdodD0iNzUiIHZpZXdCb3g9IjAgMCA3NSA3NSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cmVjdCB3aWR0aD0iNzUiIGhlaWdodD0iNzUiIHJ4PSIzNy41IiBmaWxsPSIjRUU3ODAwIi8+PHBhdGggZD0iTTQ1IDQ4Ljc5MzRMNDIuNzY5MSA1MUwzMC42MTgxIDM4Ljk3MzlDMzAuNDIyMiAzOC43ODEyIDMwLjI2NjggMzguNTUyIDMwLjE2MDcgMzguMjk5NkMzMC4wNTQ2IDM4LjA0NzIgMzAgMzcuNzc2NSAzMCAzNy41MDMxQzMwIDM3LjIyOTcgMzAuMDU0NiAzNi45NTkxIDMwLjE2MDcgMzYuNzA2NkMzMC4yNjY4IDM2LjQ1NDIgMzAuNDIyMiAzNi4yMjUxIDMwLjYxODEgMzYuMDMyNEw0Mi43NjkxIDI0TDQ0Ljk5NzkgMjYuMjA2NkwzMy41OTMzIDM3LjVMNDUgNDguNzkzNFoiIGZpbGw9IndoaXRlIi8+PC9zdmc+");
}
.modal-a__close {
  position: absolute;
  width: 5rem;
  height: 5rem;
  top: -2.5rem;
  right: -2.5rem;
  cursor: pointer;
}
@media (max-width: 767px) {
  .modal-a__close {
    width: 3rem;
    height: 3rem;
    top: -1.5rem;
    right: -1.5rem;
  }
}
.modal-a__close:hover {
  opacity: 0.7;
}

.modal-mapinfo__img {
  margin: 0 auto;
  width: 85%;
  text-align: center;
}
.modal-mapinfo__box {
  margin: 3.2rem auto 0;
  max-width: 60rem;
}
@media (max-width: 767px) {
  .modal-mapinfo__box {
    margin: 1.6rem auto 0;
  }
}
.modal-mapinfo__detail {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #c9c9c9;
}
.modal-mapinfo__detail dt {
  padding: 2.4rem;
  width: 30%;
  line-height: 1;
  font-size: 1.4rem;
}
@media (max-width: 767px) {
  .modal-mapinfo__detail dt {
    padding: 1.5rem;
    width: 35%;
  }
}
.modal-mapinfo__detail dd {
  width: 70%;
}
@media (max-width: 767px) {
  .modal-mapinfo__detail dd {
    width: 65%;
  }
}

.modal-a-wrap {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 10000;
}

.modal-a-layer {
  background: rgba(0, 0, 0, 0.7);
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.js-modal {
  opacity: 0;
  pointer-events: none;
  transition: 0.5s;
  z-index: -1;
}

.js-modal.modal-a {
  opacity: 0;
  pointer-events: none;
  transition: 0.5s;
  z-index: -1;
}

.js-modal.active {
  opacity: 1;
  pointer-events: auto;
  z-index: 10000;
}

.js-modal.active.modal-a {
  opacity: 1;
  pointer-events: auto;
  z-index: 1;
}

.wrap--status .opening-status {
  padding: clamp(4rem, 4.17vw, 8rem) 0 0;
}
@media (max-width: 767px) {
  .wrap--status .opening-status {
    padding: 5rem 0 0;
  }
}
.wrap--status .opening-status__text {
  margin-top: 4rem;
}
@media (max-width: 767px) {
  .wrap--status .opening-status__text {
    margin-top: 3rem;
  }
}
.wrap--status .opening-status__step {
  margin-top: 4rem;
}
@media (max-width: 767px) {
  .wrap--status .opening-status__step {
    margin-top: 2rem;
  }
}
.wrap--status .status-flow {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  text-align: center;
}
@media (max-width: 767px) {
  .wrap--status .status-flow {
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem 0;
  }
}
.wrap--status .status-flow__step {
  position: relative;
  counter-increment: number;
}
.wrap--status .status-flow__step::before {
  position: relative;
  display: block;
  width: 87%;
  font-family: "Urbanist", sans-serif;
  line-height: 1;
  color: var(--color-gray);
  font-size: 2.8rem;
  font-weight: bold;
  top: 0.5rem;
  content: "0" counter(number);
}
@media (max-width: 767px) {
  .wrap--status .status-flow__step::before {
    font-size: 1.6rem;
    top: 0.4rem;
  }
}
.wrap--status .status-flow__step::after {
  display: block;
  width: clamp(7rem, 12.73vw, 14rem);
  height: clamp(5.05rem, 9.18vw, 10.1rem);
  background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQwIiBoZWlnaHQ9IjEwMSIgdmlld0JveD0iMCAwIDE0MCAxMDEiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEwOS40MzQgMS44NTkzOEwxMzguODMzIDUwLjg1OTRMMTA5LjQzNCA5OS44NTk0SDEuNzY2NkwzMC44NTc0IDUxLjM3NEMzMS4wNDc0IDUxLjA1NzMgMzEuMDQ3NCA1MC42NjE0IDMwLjg1NzQgNTAuMzQ0N0wxLjc2NjYgMS44NTkzOEgxMDkuNDM0WiIgZmlsbD0id2hpdGUiIHN0cm9rZT0iI0NDQ0NDQyIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PC9zdmc+") no-repeat;
  background-size: contain;
  z-index: -1;
  content: "";
}
@media (max-width: 767px) {
  .wrap--status .status-flow__step::after {
    width: 9.5rem;
    height: 6.5rem;
  }
}
.wrap--status .status-flow__step:nth-child(n+2) {
  margin-left: -2rem;
}
@media (max-width: 767px) {
  .wrap--status .status-flow__step:nth-child(n+2) {
    margin-left: -1.5rem;
  }
}
@media (max-width: 767px) {
  .wrap--status .status-flow__step:nth-of-type(5) {
    margin-left: 0;
  }
}
.wrap--status .status-flow__text {
  position: absolute;
  width: 100%;
  line-height: 1.2;
  color: #919191;
  font-size: clamp(1.2rem, 1.27vw, 1.4rem);
  font-weight: 600;
  top: 60%;
  left: 52.5%;
  transform: translate(-50%, -50%);
  content: "";
}
@media (max-width: 767px) {
  .wrap--status .status-flow__text {
    font-size: 1rem;
    left: 50%;
  }
}
.wrap--status .status-flow__step.active::before {
  color: var(--color-orange);
}
.wrap--status .status-flow__step.active::after {
  background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQwIiBoZWlnaHQ9IjEwMSIgdmlld0JveD0iMCAwIDE0MCAxMDEiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTAgMC45Mzc1SDExMEwxNDAgNTAuOTM3NUwxMTAgMTAwLjkzOEgwTDMwIDUwLjkzNzVMMCAwLjkzNzVaIiBmaWxsPSIjRUU3ODAwIi8+PC9zdmc+") no-repeat;
  background-size: contain;
}
.wrap--status .status-flow__step.active .status-flow__text {
  color: var(--color-white);
}
.wrap--status .status-flow__note {
  position: relative;
  display: inline-flex;
  align-items: center;
  margin-top: 4rem;
  color: var(--color-link);
  font-size: 1.4rem;
  border-bottom: 1px solid var(--color-link);
}
@media (max-width: 767px) {
  .wrap--status .status-flow__note {
    margin-top: 2rem;
    font-size: 1.1rem;
  }
}
.wrap--status .status-flow__note:hover {
  opacity: 0.7;
}
.wrap--status .status-flow__note::after {
  position: absolute;
  width: 0.7rem;
  height: 1.3rem;
  background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDggMTQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTguMTkyODVlLTA1IDEuOTk3NDdMMS4wNjEwOCAwLjkzNzQ3Mkw2Ljg0MDA4IDYuNzE0NDdDNi45MzMyNCA2LjgwNzA0IDcuMDA3MTcgNi45MTcxMSA3LjA1NzYxIDcuMDM4MzZDNy4xMDgwNiA3LjE1OTYyIDcuMTM0MDMgNy4yODk2NCA3LjEzNDAzIDcuNDIwOTdDNy4xMzQwMyA3LjU1MjMgNy4xMDgwNiA3LjY4MjMzIDcuMDU3NjEgNy44MDM1OEM3LjAwNzE3IDcuOTI0ODMgNi45MzMyNCA4LjAzNDkgNi44NDAwOCA4LjEyNzQ3TDEuMDYxMDggMTMuOTA3NUwwLjAwMTA4MjggMTIuODQ3NUw1LjQyNTA4IDcuNDIyNDdMOC4xOTI4NWUtMDUgMS45OTc0N1oiIGZpbGw9IiMwMDVDQjAiLz48L3N2Zz4=") no-repeat center/contain;
  right: -2rem;
  content: "";
}
@media (max-width: 767px) {
  .wrap--status .status-flow__note::after {
    width: 0.6rem;
    height: 1rem;
    right: -1rem;
  }
}
.wrap--status .status-bridge {
  margin-top: 4rem;
}
@media (max-width: 767px) {
  .wrap--status .status-bridge {
    margin-top: 3rem;
  }
}
.wrap--status .status-tunnel {
  margin-top: 4rem;
}
@media (max-width: 767px) {
  .wrap--status .status-tunnel {
    margin-top: 3rem;
  }
}
.wrap--status .status-earthmoving {
  margin: 4rem 0 clamp(4rem, 4.17vw, 8rem);
}
@media (max-width: 767px) {
  .wrap--status .status-earthmoving {
    margin: 3rem 0 5rem;
  }
}
.wrap--status .status-table {
  margin-top: 4rem;
  width: 100%;
}
@media (max-width: 767px) {
  .wrap--status .status-table {
    margin-top: 3rem;
    width: 67rem;
    line-height: 1.4;
    font-size: 1.4rem;
  }
}
@media (max-width: 767px) {
  .wrap--status .status-table__scroll-x {
    padding-bottom: 1.6rem;
    overflow-x: auto;
  }
}
.wrap--status .status-table th, .wrap--status .status-table td {
  border: 1px solid var(--color-white);
}
.wrap--status .status-table thead {
  color: var(--color-white);
  background: var(--color-bgOrange);
}
.wrap--status .status-table thead th {
  padding: 1rem;
  vertical-align: middle;
  text-align: center;
}
@media (max-width: 767px) {
  .wrap--status .status-table thead th {
    padding: 0.5rem;
  }
}
.wrap--status .status-table thead th span {
  font-size: 1.4rem;
}
@media (max-width: 767px) {
  .wrap--status .status-table thead th span {
    font-size: 1.1rem;
  }
}
.wrap--status .status-table thead tr th:nth-of-type(1) {
  width: 14%;
}
@media (max-width: 767px) {
  .wrap--status .status-table thead tr th:nth-of-type(1) {
    width: 15%;
  }
}
.wrap--status .status-table thead tr th:nth-of-type(2) {
  width: 14%;
}
@media (max-width: 767px) {
  .wrap--status .status-table thead tr th:nth-of-type(2) {
    width: 15%;
  }
}
.wrap--status .status-table thead tr th:nth-of-type(3) {
  width: 14%;
}
@media (max-width: 767px) {
  .wrap--status .status-table thead tr th:nth-of-type(3) {
    width: 15%;
  }
}
.wrap--status .status-table thead tr th:nth-of-type(4) {
  width: 14%;
}
@media (max-width: 767px) {
  .wrap--status .status-table thead tr th:nth-of-type(4) {
    width: 15%;
  }
}
.wrap--status .status-table thead tr th:nth-of-type(5) {
  width: 44%;
}
@media (max-width: 767px) {
  .wrap--status .status-table thead tr th:nth-of-type(5) {
    width: 40%;
  }
}
.wrap--status .status-table tbody {
  background: var(--color-bgGray02);
}
.wrap--status .status-table tbody td {
  padding: 1rem;
  vertical-align: middle;
  text-align: center;
}
.wrap--status .status-table tbody td:first-of-type {
  color: var(--color-white);
  background: var(--color-bgOrange);
}
.wrap--status .status-table tbody td:last-of-type {
  text-align: left;
}
.wrap--status .status-table--earthmoving thead tr th:nth-of-type(1) {
  width: 18.6666666667%;
}
@media (max-width: 767px) {
  .wrap--status .status-table--earthmoving thead tr th:nth-of-type(1) {
    width: 20%;
  }
}
.wrap--status .status-table--earthmoving thead tr th:nth-of-type(2) {
  width: 18.6666666667%;
}
@media (max-width: 767px) {
  .wrap--status .status-table--earthmoving thead tr th:nth-of-type(2) {
    width: 20%;
  }
}
.wrap--status .status-table--earthmoving thead tr th:nth-of-type(3) {
  width: 18.6666666667%;
}
@media (max-width: 767px) {
  .wrap--status .status-table--earthmoving thead tr th:nth-of-type(3) {
    width: 20%;
  }
}
.wrap--status .status-table--earthmoving thead tr th:nth-of-type(4) {
  width: 44%;
}
@media (max-width: 767px) {
  .wrap--status .status-table--earthmoving thead tr th:nth-of-type(4) {
    width: 40%;
  }
}
.wrap--status .simplebar-track,
.wrap--status .simplebar-scrollbar::before {
  border-radius: 5px !important;
}
.wrap--status .status-map {
  padding: clamp(4rem, 4.17vw, 8rem) 0;
  background: var(--color-bgGradient02);
}
@media (max-width: 767px) {
  .wrap--status .status-map {
    padding: 5rem 0;
  }
}
.wrap--status .status-map__inner {
  padding: 0 4rem;
}
@media (max-width: 767px) {
  .wrap--status .status-map__inner {
    padding: 0 2rem;
  }
}
.wrap--status .status-map__text {
  text-align: center;
  color: var(--color-white);
  font-size: 1.8rem;
}
@media (max-width: 767px) {
  .wrap--status .status-map__text {
    font-size: 1.4rem;
  }
}
.wrap--status .status-map__wrap {
  position: relative;
}
@media (max-width: 767px) {
  .wrap--status .status-map__wrap {
    position: static;
    margin-top: 3rem;
  }
}
.wrap--status .status-map__map {
  margin-top: 4rem;
  width: 100%;
  height: auto;
}
@media (max-width: 767px) {
  .wrap--status .status-map__map {
    margin-top: 3rem;
  }
}
@media (max-width: 767px) {
  .wrap--status .status-map__scroll-x {
    max-width: 100%;
    overflow-x: scroll;
  }
}
@media (max-width: 767px) {
  .wrap--status .status-map__scroll-img {
    aspect-ratio: 1350/713;
    width: 46rem;
  }
}
.wrap--status .status-map__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
  margin-top: 4rem;
}
@media (max-width: 767px) {
  .wrap--status .status-map__list {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 0;
  }
}
@media (max-width: 767px) {
  .wrap--status .status-map__box {
    position: relative;
  }
}
.wrap--status .status-map__box .swiper-button-next,
.wrap--status .status-map__box .swiper-button-prev {
  width: 4rem;
  height: 4rem;
}
.wrap--status .status-map__box .swiper-button-prev:after,
.wrap--status .status-map__box .swiper-button-next:after {
  content: "";
}
.wrap--status .status-map__box .swiper-pagination {
  bottom: 0;
}
.wrap--status .status-map__box .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 8px);
  background-color: var(--color-bgWhite);
  opacity: 1;
}
.wrap--status .status-map__box .swiper-pagination-bullet-active {
  background-color: var(--color-bgOrange);
}
.wrap--status .status-map__box .swiper-button-prev {
  top: 50%;
  left: -0.5rem;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzUiIGhlaWdodD0iNzUiIHZpZXdCb3g9IjAgMCA3NSA3NSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cmVjdCB4PSIxLjUiIHk9IjEuNSIgd2lkdGg9IjcyIiBoZWlnaHQ9IjcyIiByeD0iMzYiIGZpbGw9IndoaXRlIi8+PHJlY3QgeD0iMS41IiB5PSIxLjUiIHdpZHRoPSI3MiIgaGVpZ2h0PSI3MiIgcng9IjM2IiBzdHJva2U9IiNFRTc4MDAiIHN0cm9rZS13aWR0aD0iMyIvPjxwYXRoIGQ9Ik00NSA0OC43OTM0TDQyLjc2OTEgNTFMMzAuNjE4MSAzOC45NzM5QzMwLjQyMjIgMzguNzgxMiAzMC4yNjY4IDM4LjU1MiAzMC4xNjA3IDM4LjI5OTZDMzAuMDU0NiAzOC4wNDcyIDMwIDM3Ljc3NjUgMzAgMzcuNTAzMUMzMCAzNy4yMjk3IDMwLjA1NDYgMzYuOTU5MSAzMC4xNjA3IDM2LjcwNjZDMzAuMjY2OCAzNi40NTQyIDMwLjQyMjIgMzYuMjI1MSAzMC42MTgxIDM2LjAzMjRMNDIuNzY5MSAyNEw0NC45OTc5IDI2LjIwNjZMMzMuNTkzMyAzNy41TDQ1IDQ4Ljc5MzRaIiBmaWxsPSIjRUU3ODAwIi8+PC9zdmc+");
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 5;
}
.wrap--status .status-map__box .swiper-button-prev:hover {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzUiIGhlaWdodD0iNzUiIHZpZXdCb3g9IjAgMCA3NSA3NSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cmVjdCB3aWR0aD0iNzUiIGhlaWdodD0iNzUiIHJ4PSIzNy41IiBmaWxsPSIjRUU3ODAwIi8+PHBhdGggZD0iTTQ1IDQ4Ljc5MzRMNDIuNzY5MSA1MUwzMC42MTgxIDM4Ljk3MzlDMzAuNDIyMiAzOC43ODEyIDMwLjI2NjggMzguNTUyIDMwLjE2MDcgMzguMjk5NkMzMC4wNTQ2IDM4LjA0NzIgMzAgMzcuNzc2NSAzMCAzNy41MDMxQzMwIDM3LjIyOTcgMzAuMDU0NiAzNi45NTkxIDMwLjE2MDcgMzYuNzA2NkMzMC4yNjY4IDM2LjQ1NDIgMzAuNDIyMiAzNi4yMjUxIDMwLjYxODEgMzYuMDMyNEw0Mi43NjkxIDI0TDQ0Ljk5NzkgMjYuMjA2NkwzMy41OTMzIDM3LjVMNDUgNDguNzkzNFoiIGZpbGw9IndoaXRlIi8+PC9zdmc+");
}
.wrap--status .status-map__box .swiper-button-next {
  top: 50%;
  right: -0.5rem;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzUiIGhlaWdodD0iNzUiIHZpZXdCb3g9IjAgMCA3NSA3NSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cmVjdCB4PSIxLjUiIHk9IjEuNSIgd2lkdGg9IjcyIiBoZWlnaHQ9IjcyIiByeD0iMzYiIGZpbGw9IndoaXRlIi8+PHJlY3QgeD0iMS41IiB5PSIxLjUiIHdpZHRoPSI3MiIgaGVpZ2h0PSI3MiIgcng9IjM2IiBzdHJva2U9IiNFRTc4MDAiIHN0cm9rZS13aWR0aD0iMyIvPjxwYXRoIGQ9Ik00NSA0OC43OTM0TDQyLjc2OTEgNTFMMzAuNjE4MSAzOC45NzM5QzMwLjQyMjIgMzguNzgxMiAzMC4yNjY4IDM4LjU1MiAzMC4xNjA3IDM4LjI5OTZDMzAuMDU0NiAzOC4wNDcyIDMwIDM3Ljc3NjUgMzAgMzcuNTAzMUMzMCAzNy4yMjk3IDMwLjA1NDYgMzYuOTU5MSAzMC4xNjA3IDM2LjcwNjZDMzAuMjY2OCAzNi40NTQyIDMwLjQyMjIgMzYuMjI1MSAzMC42MTgxIDM2LjAzMjRMNDIuNzY5MSAyNEw0NC45OTc5IDI2LjIwNjZMMzMuNTkzMyAzNy41TDQ1IDQ4Ljc5MzRaIiBmaWxsPSIjRUU3ODAwIi8+PC9zdmc+");
  background-size: contain;
  background-repeat: no-repeat;
  transform: scale(-1, 1);
  z-index: 5;
}
.wrap--status .status-map__box .swiper-button-next:hover {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzUiIGhlaWdodD0iNzUiIHZpZXdCb3g9IjAgMCA3NSA3NSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cmVjdCB3aWR0aD0iNzUiIGhlaWdodD0iNzUiIHJ4PSIzNy41IiBmaWxsPSIjRUU3ODAwIi8+PHBhdGggZD0iTTQ1IDQ4Ljc5MzRMNDIuNzY5MSA1MUwzMC42MTgxIDM4Ljk3MzlDMzAuNDIyMiAzOC43ODEyIDMwLjI2NjggMzguNTUyIDMwLjE2MDcgMzguMjk5NkMzMC4wNTQ2IDM4LjA0NzIgMzAgMzcuNzc2NSAzMCAzNy41MDMxQzMwIDM3LjIyOTcgMzAuMDU0NiAzNi45NTkxIDMwLjE2MDcgMzYuNzA2NkMzMC4yNjY4IDM2LjQ1NDIgMzAuNDIyMiAzNi4yMjUxIDMwLjYxODEgMzYuMDMyNEw0Mi43NjkxIDI0TDQ0Ljk5NzkgMjYuMjA2NkwzMy41OTMzIDM3LjVMNDUgNDguNzkzNFoiIGZpbGw9IndoaXRlIi8+PC9zdmc+");
}
.wrap--status .status-map .swiper-map {
  overflow: inherit;
}
@media (max-width: 767px) {
  .wrap--status .status-map .swiper-map {
    overflow: hidden;
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    padding-bottom: 3.75rem;
  }
}
@media (max-width: 767px) {
  .wrap--status .status-map .swiper-map .swiper-slide {
    opacity: 0.4;
  }
}
@media (max-width: 767px) {
  .wrap--status .status-map .swiper-map .swiper-slide-active {
    opacity: 1;
  }
}
.wrap--status .status-excavation {
  margin-top: 8rem;
}
@media (max-width: 767px) {
  .wrap--status .status-excavation {
    margin-top: 5rem;
  }
}
.wrap--status .status-excavation__wrap {
  margin-top: 4rem;
}
@media (max-width: 767px) {
  .wrap--status .status-excavation__wrap {
    margin-top: 2rem;
  }
}
.wrap--status .status-article {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  padding: 3rem;
  border: 1px solid var(--border-orange);
}
@media (max-width: 767px) {
  .wrap--status .status-article {
    gap: 1.5rem;
    padding: 1.5rem;
  }
}
.wrap--status .status-article__ttl {
  font-size: 2.4rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .wrap--status .status-article__ttl {
    font-size: 1.4rem;
  }
}
.wrap--status .status-article__gallery-head {
  text-align: right;
}
.wrap--status .status-article__gallery-head.active .btn-E span:before {
  transform: translate(-50%, -50%) rotate(0);
}
.wrap--status .status-article__gallery-body {
  margin-top: 3rem;
  display: none;
}
@media (max-width: 767px) {
  .wrap--status .status-article__gallery-body {
    margin-top: 1.5rem;
  }
}
.wrap--status .status-article__gallery-list {
  display: flex;
  text-align: center;
  gap: 3rem;
}
@media (max-width: 767px) {
  .wrap--status .status-article__gallery-list {
    gap: 1.5rem;
  }
}
@media (max-width: 767px) {
  .wrap--status .status-article__gallery-list figcaption {
    font-size: 1.2rem;
  }
}
.wrap--status .status-article.--no-modal {
  border: none;
}
.wrap--status .status-construction {
  margin: 8rem 0;
}
@media (max-width: 767px) {
  .wrap--status .status-construction {
    margin: 5rem 0;
  }
}
.wrap--status .status-construction__iframe {
  margin: 4rem auto 0;
  width: 90%;
}
@media (max-width: 767px) {
  .wrap--status .status-construction__iframe {
    margin: 2rem auto 0;
    width: 100%;
  }
}
.wrap--status .status-construction__iframe iframe {
  aspect-ratio: 900/506;
}
.wrap--status .const-place {
  position: relative;
  max-width: clamp(14rem, 28.57vw, 28rem);
  cursor: pointer;
}
@media (max-width: 767px) {
  .wrap--status .const-place {
    max-width: 100%;
  }
}
.wrap--status .const-place__ttl {
  aspect-ratio: 280/49;
  overflow: hidden;
}
@media (max-width: 767px) {
  .wrap--status .const-place__ttl {
    aspect-ratio: 500/75;
  }
}
.wrap--status .const-place__img {
  overflow: hidden;
}
.wrap--status .const-place__img img {
  aspect-ratio: 280/180;
  object-fit: cover;
  object-position: 50% 50%;
  overflow: hidden;
  transition: all 0.5s ease;
}
@media (max-width: 767px) {
  .wrap--status .const-place__img img {
    aspect-ratio: 500/350;
  }
}
.wrap--status .const-place__btn {
  position: absolute;
  right: -2.5rem;
  bottom: -2.5rem;
  transform: translate(-50%, -50%);
}
@media (max-width: 767px) {
  .wrap--status .const-place__btn {
    right: -2rem;
    bottom: -2rem;
  }
}
.wrap--status .const-place:hover .const-place__img img {
  transform: scale(1.2);
}

.wrap--about .about-project {
  padding: clamp(4rem, 4.17vw, 8rem) 0;
}
@media (max-width: 767px) {
  .wrap--about .about-project {
    padding: 5rem 0;
  }
}
.wrap--about .about-project__box {
  margin-top: 8rem;
}
@media (max-width: 767px) {
  .wrap--about .about-project__box {
    margin-top: 5rem;
  }
}
.wrap--about .about-project__text {
  margin-top: 4rem;
}
@media (max-width: 767px) {
  .wrap--about .about-project__text {
    margin-top: 3rem;
  }
}
.wrap--about .about-project__img {
  position: relative;
  margin-top: 4rem;
}
@media (max-width: 767px) {
  .wrap--about .about-project__img {
    margin-top: 3rem;
  }
}
.wrap--about .about-project__btn {
  position: absolute;
  right: 1rem;
  bottom: 1.5rem;
}
.wrap--about .about-project__btn-wrap {
  margin-top: 5rem;
}
@media (max-width: 767px) {
  .wrap--about .about-project__btn-wrap {
    margin-top: 3rem;
  }
}
.wrap--about .about-project__btn-wrap .btn-D {
  margin: 0 auto;
  width: 40%;
}
@media (max-width: 767px) {
  .wrap--about .about-project__btn-wrap .btn-D {
    width: 100%;
  }
}
.wrap--about .about-feature {
  padding: 0 0 clamp(4rem, 4.17vw, 8rem);
}
@media (max-width: 767px) {
  .wrap--about .about-feature {
    padding: 0 0 5rem;
  }
}
.wrap--about .about-feature__box {
  margin-top: 5rem;
}
@media (max-width: 767px) {
  .wrap--about .about-feature__box {
    margin-top: 5rem;
  }
}
@media (max-width: 767px) {
  .wrap--about .about-feature__box.--mt-m {
    margin-top: 3rem;
  }
}
.wrap--about .about-feature__btn {
  position: absolute;
  right: 1rem;
  bottom: 1.5rem;
}
.wrap--about .about-feature__btn.--congestion {
  bottom: 50%;
}
.wrap--about .about-feature__text {
  margin-top: 4rem;
}
@media (max-width: 767px) {
  .wrap--about .about-feature__text {
    margin-top: 3rem;
  }
}
.wrap--about .about-feature__text.--align-c {
  text-align: center;
}
@media (max-width: 767px) {
  .wrap--about .about-feature__text.--align-c {
    text-align: left;
  }
}
.wrap--about .about-feature__text.--feature {
  text-align: center;
  font-size: 2.2rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .wrap--about .about-feature__text.--feature {
    font-size: 1.3rem;
  }
}
.wrap--about .about-feature__img {
  position: relative;
  margin-top: 4rem;
  text-align: center;
}
@media (max-width: 767px) {
  .wrap--about .about-feature__img {
    margin-top: 3rem;
  }
}
.wrap--about .about-feature__img figcaption {
  margin-top: 1.5rem;
  text-align: center;
  font-size: 1.8rem;
}
@media (max-width: 767px) {
  .wrap--about .about-feature__img figcaption {
    margin-top: 1rem;
    font-size: 1.2rem;
  }
}
.wrap--about .about-feature__effort {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  text-align: center;
  gap: 3rem;
  margin-top: 4rem;
}
@media (max-width: 767px) {
  .wrap--about .about-feature__effort {
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem;
    margin-top: 3rem;
  }
}
.wrap--about .about-feature__ingenuity {
  padding: 1rem 0;
  line-height: 1.2;
  color: var(--color-orange);
  background: rgba(238, 120, 0, 0.15);
  font-size: 1.8rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .wrap--about .about-feature__ingenuity {
    padding: 0.75rem 0;
    font-size: 1.4rem;
  }
}
.wrap--about .about-feature__old-new {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3.5rem;
  margin-top: 3rem;
}
@media (max-width: 767px) {
  .wrap--about .about-feature__old-new {
    margin-top: 1.5rem;
  }
}
.wrap--about .about-feature__old-new li:first-child {
  position: relative;
}
.wrap--about .about-feature__old-new li:first-child::after {
  position: absolute;
  width: 1.1rem;
  height: 3rem;
  background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMzQiIHZpZXdCb3g9IjAgMCAxNSAzNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMiAzMS41ODY5TDEzIDE3LjM3NjFMMiAxLjU4NjkxIiBzdHJva2U9IiM4RThFOEUiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PC9zdmc+") no-repeat;
  background-size: contain;
  top: 50%;
  right: -2.5rem;
  transform: translateY(-50%);
  content: "";
}
.wrap--about .about-feature__old {
  padding: 0.5rem 0;
  line-height: 1.2;
  color: var(--color-white);
  background: var(--color-bgLightBlue);
  font-size: 1.8rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .wrap--about .about-feature__old {
    padding: 0.75rem 0;
    font-size: 1.2rem;
  }
}
.wrap--about .about-feature__new {
  padding: 0.5rem 0;
  line-height: 1.2;
  color: var(--color-white);
  background: var(--color-bgOrange);
  font-size: 1.8rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .wrap--about .about-feature__new {
    padding: 0.75rem 0;
    font-size: 1.2rem;
  }
}
.wrap--about .about-feature__flex {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4rem;
}
@media (max-width: 767px) {
  .wrap--about .about-feature__flex {
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem;
    margin: 3rem auto 0;
    width: 85%;
  }
}
.wrap--about .about-feature__tree {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.5rem;
}
@media (max-width: 767px) {
  .wrap--about .about-feature__tree {
    grid-template-columns: repeat(1, 1fr);
    gap: 2.5rem;
    margin: 3rem auto 0;
    width: 85%;
  }
}
.wrap--about .about-table {
  margin-top: 5rem;
  width: 100%;
}
@media (max-width: 767px) {
  .wrap--about .about-table {
    margin-top: 3rem;
  }
}
.wrap--about .about-table thead tr th:nth-of-type(1),
.wrap--about .about-table tbody tr td:nth-of-type(1) {
  width: 20%;
}
@media (max-width: 767px) {
  .wrap--about .about-table thead tr th:nth-of-type(1),
  .wrap--about .about-table tbody tr td:nth-of-type(1) {
    width: 25%;
  }
}
.wrap--about .about-table thead tr th:nth-of-type(2),
.wrap--about .about-table tbody tr td:nth-of-type(2) {
  width: 80%;
}
@media (max-width: 767px) {
  .wrap--about .about-table thead tr th:nth-of-type(2),
  .wrap--about .about-table tbody tr td:nth-of-type(2) {
    width: 75%;
  }
}
.wrap--about .about-table thead {
  text-align: center;
  color: var(--color-orange);
  background-color: rgba(238, 120, 0, 0.15);
  font-weight: bold;
}
.wrap--about .about-table thead th {
  padding: 0.8rem;
}
@media (max-width: 767px) {
  .wrap--about .about-table thead th {
    padding: 0.5rem;
  }
}
.wrap--about .about-table tbody {
  font-weight: 500;
}
@media (max-width: 767px) {
  .wrap--about .about-table tbody {
    font-size: 1.1rem;
  }
}
.wrap--about .about-table tbody tr {
  border: 1px solid var(--border-gray);
  border-left: none;
  border-right: none;
}
.wrap--about .about-table tbody tr td {
  padding: 0.8rem 2rem;
}
@media (max-width: 767px) {
  .wrap--about .about-table tbody tr td {
    padding: 0.5rem 1rem;
  }
}
.wrap--about .about-table tbody tr td:nth-of-type(1) {
  text-align: center;
  vertical-align: middle;
  border-right: 1px solid var(--border-gray);
}
.wrap--about .yt-gallery {
  padding: 0 0 8rem;
}
@media (max-width: 767px) {
  .wrap--about .yt-gallery {
    padding: 0 0 5rem;
  }
}
.wrap--about .yt-gallery__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(313px, 1fr));
  gap: 2rem;
  margin-top: 4rem;
}
@media (max-width: 767px) {
  .wrap--about .yt-gallery__list {
    display: flex;
    gap: 0;
  }
}
.wrap--about .yt-gallery__item img {
  aspect-ratio: 313/170;
  object-fit: cover;
  object-position: 50% 50%;
}
.wrap--about .yt-gallery__item figure {
  position: relative;
  cursor: pointer;
}
.wrap--about .yt-gallery__item figure::after {
  position: absolute;
  width: 7.5rem;
  height: 5.3rem;
  background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzUiIGhlaWdodD0iNTMiIHZpZXdCb3g9IjAgMCA3NSA1MyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNzMuMTk2IDguMzAxMDhDNzIuNzY2NyA2LjcxNDUgNzEuOTI5MiA1LjI2ODA2IDcwLjc2NyA0LjEwNTgxQzY5LjYwNDggMi45NDM1NSA2OC4xNTg0IDIuMTA2MDMgNjYuNTcxOSAxLjY3NjY0QzYwLjc2MzUgMC4wOTI1MjkzIDM3LjM4NjYgMC4wOTI1MjkzIDM3LjM4NjYgMC4wOTI1MjkzQzM3LjM4NjYgMC4wOTI1MjkzIDE0LjAwODUgMC4xNDA0NzkgOC4yMDAxMiAxLjcyNDU5QzYuNjEzNTMgMi4xNTQwMSA1LjE2NzExIDIuOTkxNTcgNC4wMDQ5IDQuMTUzODhDMi44NDI3IDUuMzE2MTkgMi4wMDUyNiA2Ljc2MjY5IDEuNTc1OTggOC4zNDkzMkMtMC4xODA5MjcgMTguNjY5NyAtMC44NjI0NjMgMzQuMzk1NiAxLjYyNDIyIDQ0LjMwMzJDMi4wNTM1NCA0NS44ODk4IDIuODkxIDQ3LjMzNjIgNC4wNTMyMSA0OC40OTg1QzUuMjE1NDEgNDkuNjYwNyA2LjY2MTgxIDUwLjQ5ODIgOC4yNDgzNyA1MC45Mjc2QzE0LjA1NjggNTIuNTExNyAzNy40MzQyIDUyLjUxMTcgMzcuNDM0MiA1Mi41MTE3QzM3LjQzNDIgNTIuNTExNyA2MC44MTE0IDUyLjUxMTcgNjYuNjE5NSA1MC45Mjc2QzY4LjIwNjIgNTAuNDk4MyA2OS42NTI2IDQ5LjY2MDggNzAuODE0OSA0OC40OTg1QzcxLjk3NzEgNDcuMzM2MyA3Mi44MTQ2IDQ1Ljg4OTggNzMuMjQ0IDQ0LjMwMzJDNzUuMDk3MSAzMy45NjgyIDc1LjY2ODEgMTguMjUxOSA3My4xOTYgOC4zMDEwOFoiIGZpbGw9IiNGRjAwMDAiLz48cGF0aCBkPSJNMjkuOTQ1OCAzNy41MzQ2TDQ5LjMzODcgMjYuMzAyTDI5Ljk0NTggMTUuMDY5M1YzNy41MzQ2WiIgZmlsbD0id2hpdGUiLz48L3N2Zz4=") no-repeat;
  background-size: contain;
  top: 25%;
  left: 50%;
  transform: translateX(-50%);
  transition: opacity 0.3s;
  content: "";
}
@media (max-width: 767px) {
  .wrap--about .yt-gallery__item figure::after {
    width: 3.75rem;
    height: 2.65rem;
  }
}
.wrap--about .yt-gallery__item:hover img {
  opacity: 0.7;
}
.wrap--about .yt-gallery__caption {
  margin-top: 1rem;
  font-size: 1.6rem;
}
@media (max-width: 767px) {
  .wrap--about .yt-gallery__box {
    position: relative;
  }
}
.wrap--about .yt-gallery__box .swiper-button-next,
.wrap--about .yt-gallery__box .swiper-button-prev {
  width: 4rem;
  height: 4rem;
}
.wrap--about .yt-gallery__box .swiper-button-prev:after,
.wrap--about .yt-gallery__box .swiper-button-next:after {
  content: "";
}
.wrap--about .yt-gallery__box .swiper-pagination {
  bottom: 0;
}
.wrap--about .yt-gallery__box .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 8px);
  background-color: var(--color-bgWhite);
  border: 1px solid var(--color-orange);
  opacity: 1;
}
.wrap--about .yt-gallery__box .swiper-pagination-bullet-active {
  background-color: var(--color-bgOrange);
}
.wrap--about .yt-gallery__box .swiper-button-prev {
  top: 25%;
  left: -1rem;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzUiIGhlaWdodD0iNzUiIHZpZXdCb3g9IjAgMCA3NSA3NSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cmVjdCB4PSIxLjUiIHk9IjEuNSIgd2lkdGg9IjcyIiBoZWlnaHQ9IjcyIiByeD0iMzYiIGZpbGw9IndoaXRlIi8+PHJlY3QgeD0iMS41IiB5PSIxLjUiIHdpZHRoPSI3MiIgaGVpZ2h0PSI3MiIgcng9IjM2IiBzdHJva2U9IiNFRTc4MDAiIHN0cm9rZS13aWR0aD0iMyIvPjxwYXRoIGQ9Ik00NSA0OC43OTM0TDQyLjc2OTEgNTFMMzAuNjE4MSAzOC45NzM5QzMwLjQyMjIgMzguNzgxMiAzMC4yNjY4IDM4LjU1MiAzMC4xNjA3IDM4LjI5OTZDMzAuMDU0NiAzOC4wNDcyIDMwIDM3Ljc3NjUgMzAgMzcuNTAzMUMzMCAzNy4yMjk3IDMwLjA1NDYgMzYuOTU5MSAzMC4xNjA3IDM2LjcwNjZDMzAuMjY2OCAzNi40NTQyIDMwLjQyMjIgMzYuMjI1MSAzMC42MTgxIDM2LjAzMjRMNDIuNzY5MSAyNEw0NC45OTc5IDI2LjIwNjZMMzMuNTkzMyAzNy41TDQ1IDQ4Ljc5MzRaIiBmaWxsPSIjRUU3ODAwIi8+PC9zdmc+");
  background-size: contain;
  background-repeat: no-repeat;
}
.wrap--about .yt-gallery__box .swiper-button-prev:hover {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzUiIGhlaWdodD0iNzUiIHZpZXdCb3g9IjAgMCA3NSA3NSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cmVjdCB3aWR0aD0iNzUiIGhlaWdodD0iNzUiIHJ4PSIzNy41IiBmaWxsPSIjRUU3ODAwIi8+PHBhdGggZD0iTTQ1IDQ4Ljc5MzRMNDIuNzY5MSA1MUwzMC42MTgxIDM4Ljk3MzlDMzAuNDIyMiAzOC43ODEyIDMwLjI2NjggMzguNTUyIDMwLjE2MDcgMzguMjk5NkMzMC4wNTQ2IDM4LjA0NzIgMzAgMzcuNzc2NSAzMCAzNy41MDMxQzMwIDM3LjIyOTcgMzAuMDU0NiAzNi45NTkxIDMwLjE2MDcgMzYuNzA2NkMzMC4yNjY4IDM2LjQ1NDIgMzAuNDIyMiAzNi4yMjUxIDMwLjYxODEgMzYuMDMyNEw0Mi43NjkxIDI0TDQ0Ljk5NzkgMjYuMjA2NkwzMy41OTMzIDM3LjVMNDUgNDguNzkzNFoiIGZpbGw9IndoaXRlIi8+PC9zdmc+");
}
.wrap--about .yt-gallery__box .swiper-button-next {
  top: 25%;
  right: -1rem;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzUiIGhlaWdodD0iNzUiIHZpZXdCb3g9IjAgMCA3NSA3NSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cmVjdCB4PSIxLjUiIHk9IjEuNSIgd2lkdGg9IjcyIiBoZWlnaHQ9IjcyIiByeD0iMzYiIGZpbGw9IndoaXRlIi8+PHJlY3QgeD0iMS41IiB5PSIxLjUiIHdpZHRoPSI3MiIgaGVpZ2h0PSI3MiIgcng9IjM2IiBzdHJva2U9IiNFRTc4MDAiIHN0cm9rZS13aWR0aD0iMyIvPjxwYXRoIGQ9Ik00NSA0OC43OTM0TDQyLjc2OTEgNTFMMzAuNjE4MSAzOC45NzM5QzMwLjQyMjIgMzguNzgxMiAzMC4yNjY4IDM4LjU1MiAzMC4xNjA3IDM4LjI5OTZDMzAuMDU0NiAzOC4wNDcyIDMwIDM3Ljc3NjUgMzAgMzcuNTAzMUMzMCAzNy4yMjk3IDMwLjA1NDYgMzYuOTU5MSAzMC4xNjA3IDM2LjcwNjZDMzAuMjY2OCAzNi40NTQyIDMwLjQyMjIgMzYuMjI1MSAzMC42MTgxIDM2LjAzMjRMNDIuNzY5MSAyNEw0NC45OTc5IDI2LjIwNjZMMzMuNTkzMyAzNy41TDQ1IDQ4Ljc5MzRaIiBmaWxsPSIjRUU3ODAwIi8+PC9zdmc+");
  background-size: contain;
  background-repeat: no-repeat;
  transform: scale(-1, 1);
}
.wrap--about .yt-gallery__box .swiper-button-next:hover {
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzUiIGhlaWdodD0iNzUiIHZpZXdCb3g9IjAgMCA3NSA3NSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cmVjdCB3aWR0aD0iNzUiIGhlaWdodD0iNzUiIHJ4PSIzNy41IiBmaWxsPSIjRUU3ODAwIi8+PHBhdGggZD0iTTQ1IDQ4Ljc5MzRMNDIuNzY5MSA1MUwzMC42MTgxIDM4Ljk3MzlDMzAuNDIyMiAzOC43ODEyIDMwLjI2NjggMzguNTUyIDMwLjE2MDcgMzguMjk5NkMzMC4wNTQ2IDM4LjA0NzIgMzAgMzcuNzc2NSAzMCAzNy41MDMxQzMwIDM3LjIyOTcgMzAuMDU0NiAzNi45NTkxIDMwLjE2MDcgMzYuNzA2NkMzMC4yNjY4IDM2LjQ1NDIgMzAuNDIyMiAzNi4yMjUxIDMwLjYxODEgMzYuMDMyNEw0Mi43NjkxIDI0TDQ0Ljk5NzkgMjYuMjA2NkwzMy41OTMzIDM3LjVMNDUgNDguNzkzNFoiIGZpbGw9IndoaXRlIi8+PC9zdmc+");
}
@media (max-width: 767px) {
  .wrap--about .swiper-gallery {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    padding-bottom: 3.75rem;
  }
}
@media (max-width: 767px) {
  .wrap--about .swiper-gallery .swiper-slide {
    opacity: 0.4;
  }
}
@media (max-width: 767px) {
  .wrap--about .swiper-gallery .swiper-slide-active {
    opacity: 1;
  }
}

.wrap--gallery .pr-gallery {
  padding: clamp(4rem, 4.17vw, 8rem) 0;
}
@media (max-width: 767px) {
  .wrap--gallery .pr-gallery {
    padding: 5rem 0;
  }
}
.wrap--gallery .pr-gallery__detail {
  margin-top: 4rem;
}
@media (max-width: 767px) {
  .wrap--gallery .pr-gallery__detail {
    margin-top: 3rem;
  }
}
.wrap--gallery .tab-area input[name=tab-area__category] {
  display: none;
}
.wrap--gallery .tab-area .industry-pr {
  display: none;
}
.wrap--gallery .tab-contents {
  margin-top: 8rem;
}
@media (max-width: 767px) {
  .wrap--gallery .tab-contents {
    margin-top: 5rem;
  }
}
.wrap--gallery .business-pr {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  margin-top: 8rem;
}
@media (max-width: 767px) {
  .wrap--gallery .business-pr {
    gap: 1rem;
    margin-top: 5rem;
  }
}
.wrap--gallery .business-pr__item label {
  position: relative;
  display: inline-flex;
  justify-content: center;
  padding: 2.5rem;
  width: 100%;
  line-height: 1;
  text-align: center;
  color: var(--color-orange);
  font-size: 2.2rem;
  font-weight: bold;
  border: 2px solid;
  border-image: linear-gradient(270deg, rgb(238, 202, 0) 0%, rgb(238, 120, 0) 100%) 1;
  cursor: pointer;
}
@media (max-width: 767px) {
  .wrap--gallery .business-pr__item label {
    padding: 1.5rem 0.8rem;
    font-size: 1.3rem;
  }
}
.wrap--gallery .business-pr__item label::before {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  outline: 1px solid;
  outline-color: linear-gradient(270deg, rgb(238, 202, 0) 0%, rgb(238, 120, 0) 100%) 1;
  outline-offset: 0;
  transition: all 1s cubic-bezier(0.2, 1, 0.2, 1);
  z-index: -2;
  content: "";
}
.wrap--gallery .business-pr__item label:hover::before {
  opacity: 0.8;
  box-shadow: inset 0 0 20px rgba(255, 255, 255, 0.5), 0 0 20px rgba(255, 255, 255, 0.2);
  outline-color: transparent;
  outline-offset: 12px;
}
.wrap--gallery .industry-pr__mv {
  position: relative;
  aspect-ratio: 980/300;
  overflow: hidden;
}
@media (max-width: 767px) {
  .wrap--gallery .industry-pr__mv {
    aspect-ratio: 670/300;
  }
}
.wrap--gallery .industry-pr__mv img {
  aspect-ratio: 980/300;
  object-fit: cover;
  object-position: 50% 60%;
}
@media (max-width: 767px) {
  .wrap--gallery .industry-pr__mv img {
    aspect-ratio: 670/300;
    object-position: 50% 50%;
  }
}
.wrap--gallery .industry-pr__mv-text {
  position: absolute;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-left: 10rem;
  width: 70%;
  height: 100%;
  color: var(--color-white);
  background: #eeca00;
  background: linear-gradient(90deg, rgba(238, 202, 0, 0.8) 0%, rgba(238, 120, 0, 0.7) 53%, rgba(238, 120, 0, 0) 88%);
  font-size: 4.6rem;
  font-weight: bold;
  top: 0;
  left: 0;
}
@media (max-width: 767px) {
  .wrap--gallery .industry-pr__mv-text {
    padding-left: 3rem;
    width: 70%;
    font-size: 2.3rem;
  }
}
.wrap--gallery .industry-pr__box {
  margin-top: 8rem;
}
@media (max-width: 767px) {
  .wrap--gallery .industry-pr__box {
    margin-top: 4rem;
  }
}
.wrap--gallery .industry-pr__box-text {
  margin-top: 4rem;
}
@media (max-width: 767px) {
  .wrap--gallery .industry-pr__box-text {
    margin-top: 2rem;
  }
}
@media (max-width: 767px) {
  .wrap--gallery .industry-pr__box-text.--horizontal {
    display: grid;
    grid-template-columns: 4.4rem auto;
    align-items: stretch;
    gap: 1.25rem;
  }
}
.wrap--gallery .industry-pr__list {
  margin-top: 4rem;
}
@media (max-width: 767px) {
  .wrap--gallery .industry-pr__list {
    margin-top: 2.5rem;
    font-size: 1.1rem;
  }
}
.wrap--gallery .industry-pr__item {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.5rem;
  margin-top: 4rem;
}
@media (max-width: 767px) {
  .wrap--gallery .industry-pr__item {
    grid-template-columns: repeat(1, 1fr);
    gap: 2.5rem;
    margin-top: 5.5rem;
  }
}
.wrap--gallery .industry-pr__item > li {
  position: relative;
  display: flex;
  flex-direction: column;
}
.wrap--gallery .industry-pr__item > li::after {
  position: absolute;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 6rem;
  height: 6rem;
  line-height: 1;
  font-family: "Urbanist", sans-serif;
  color: var(--color-white);
  background: var(--color-bgOrange);
  font-size: 2.8rem;
  font-weight: bold;
  top: -1rem;
  left: -1rem;
}
@media (max-width: 767px) {
  .wrap--gallery .industry-pr__item > li::after {
    width: 5rem;
    height: 5rem;
    font-size: 2.3rem;
  }
}
.wrap--gallery .industry-pr__item > li:nth-of-type(1)::after {
  content: "01";
}
.wrap--gallery .industry-pr__item > li:nth-of-type(2)::after {
  content: "02";
}
.wrap--gallery .industry-pr__item > li:nth-of-type(3)::after {
  content: "03";
}
.wrap--gallery .industry-pr__item-body {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 1.5rem;
  height: 100%;
  background-color: rgba(238, 120, 0, 0.1);
}
@media (max-width: 767px) {
  .wrap--gallery .industry-pr__item-body {
    padding: 2rem;
  }
}
.wrap--gallery .industry-pr__item-text {
  color: var(--color-orange);
  font-size: clamp(1.4rem, 1.45vw, 1.6rem);
  font-weight: bold;
  letter-spacing: -0.03em;
}
@media (max-width: 767px) {
  .wrap--gallery .industry-pr__item-text {
    font-size: 1.3rem;
  }
}
.wrap--gallery .industry-pr__box-address {
  display: inline-flex;
  align-items: center;
  margin-right: 1rem;
  padding: 0.4rem 1rem;
  line-height: 1;
  color: var(--color-white);
  background: var(--color-bgOrange);
  font-size: 1.8rem;
}
@media (max-width: 767px) {
  .wrap--gallery .industry-pr__box-address {
    margin-right: 0;
    font-size: 1.2rem;
  }
}
.wrap--gallery .industry-pr__access {
  position: relative;
  margin-top: 3rem;
}
@media (max-width: 767px) {
  .wrap--gallery .industry-pr__access {
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }
}
@media (max-width: 767px) {
  .wrap--gallery .industry-pr__access-map {
    margin: 0 auto;
    width: 90%;
  }
}
.wrap--gallery .industry-pr__access-list {
  position: absolute;
  width: 57.5%;
  bottom: 0;
  right: 0;
}
@media (max-width: 767px) {
  .wrap--gallery .industry-pr__access-list {
    position: static;
    width: 100%;
  }
}
.wrap--gallery .industry-pr__access-list li:not(:first-child) {
  margin-top: clamp(1rem, 1.82vw, 2rem);
}
.wrap--gallery .industry-pr__access-list span {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: clamp(1.6rem, 1.64vw, 1.8rem);
  font-weight: bold;
}
@media (max-width: 767px) {
  .wrap--gallery .industry-pr__access-list span {
    gap: 0.5rem;
    font-size: 1.4rem;
  }
}
.wrap--gallery .industry-pr__access-list span::before {
  display: block;
  width: 1rem;
  height: 1rem;
  background: var(--color-bgOrange);
  border-radius: 50%;
  content: "";
}
@media (max-width: 767px) {
  .wrap--gallery .industry-pr__access-list span::before {
    width: 0.75rem;
    height: 0.75rem;
  }
}
.wrap--gallery .industry-pr__access-text {
  margin-top: clamp(0.5rem, 0.91vw, 1rem);
  font-size: clamp(1.4rem, 1.45vw, 1.6rem);
}
@media (max-width: 767px) {
  .wrap--gallery .industry-pr__access-text {
    margin-top: 0.5rem;
  }
}
.wrap--gallery .industry-pr.--oyama .industry-pr__mv img {
  object-position: 50% 50%;
}
.wrap--gallery .industry-pr.--oyama .industry-pr__access-list {
  bottom: auto;
  top: 10%;
}
.wrap--gallery .industry-pr.--oyama .industry-pr-booking__text {
  margin-top: 0;
}
@media (max-width: 767px) {
  .wrap--gallery .industry-pr.--oyama .industry-pr-booking__text {
    font-size: 1.4rem;
  }
}
.wrap--gallery .industry-pr.--oyama .industry-pr-booking__tell {
  margin-top: 1.5rem;
  font-size: 1.8rem;
}
@media (max-width: 767px) {
  .wrap--gallery .industry-pr.--oyama .industry-pr-booking__tell {
    font-size: 1.6rem;
  }
}
.wrap--gallery .industry-pr.--oyama .industry-pr-booking__tell::before {
  width: 2.4rem;
  height: 1.9rem;
  background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMTkiIHZpZXdCb3g9IjAgMCAyNCAxOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMjMuOTk5OCAxMC44NjAxTDIwLjkwMjMgNy42NDI2MUwyMy45OTk4IDQuOTcyNjZWMTAuODYwMVoiIGZpbGw9IiNFRTc4MDAiLz48cGF0aCBkPSJNMy4xMDEyNSA3LjY0MjYxTDAgMTAuODYzOVY0Ljk3MjY2TDMuMTAxMjUgNy42NDI2MVoiIGZpbGw9IiNFRTc4MDAiLz48cGF0aCBkPSJNMjQgMTMuNzg1VjE2Ljc0NzVDMjQgMTcuNDYzOCAyMy40MTg4IDE4LjA0NTEgMjIuNzAyNSAxOC4wNDUxSDEuMjk3NUMwLjU4MTIwMyAxOC4wNDUxIDAgMTcuNDYzOCAwIDE2Ljc0NzVWMTMuNzg1TDQuNjM4NyA4Ljk2OTk3TDkuOTM3NSAxMy41MzM3QzEwLjQ4ODggMTQuMDA2MyAxMS4yMiAxNC4yNjg4IDEyIDE0LjI2ODhDMTIuNzggMTQuMjY4OCAxMy41MTUgMTQuMDA2MyAxNC4wNjYyIDEzLjUzMzdMMTkuMzYxMiA4Ljk2OTk3TDI0IDEzLjc4NVoiIGZpbGw9IiNFRTc4MDAiLz48cGF0aCBkPSJNMjQgMS4yOTM3NVYyLjU5MTI1TDEyLjY4MjQgMTIuMzQxMkMxMi4zMTg3IDEyLjY1NjIgMTEuNjgxMiAxMi42NTYyIDExLjMxNzUgMTIuMzQxMkwwIDIuNTkxMjVWMS4yOTM3NUMwIDAuNTc3NTQ3IDAuNTgxMTU2IDAgMS4yOTc1IDBIMjIuNzAyNUMyMy40MTg4IDAgMjQgMC41Nzc1NDcgMjQgMS4yOTM3NVoiIGZpbGw9IiNFRTc4MDAiLz48L3N2Zz4=") no-repeat;
  background-size: contain;
}
@media (max-width: 767px) {
  .wrap--gallery .industry-pr.--oyama .industry-pr-booking__tell::before {
    width: 1.6rem;
    height: 1.2rem;
  }
}
.wrap--gallery .industry-pr-tour {
  margin-top: 4rem;
}
@media (max-width: 767px) {
  .wrap--gallery .industry-pr-tour {
    margin-top: 3rem;
  }
}
.wrap--gallery .industry-pr-tour__schedule {
  margin-top: 4rem;
  width: 100%;
}
@media (max-width: 767px) {
  .wrap--gallery .industry-pr-tour__schedule {
    margin-top: 3rem;
    font-size: 1.1rem;
  }
}
.wrap--gallery .industry-pr-tour__schedule thead tr {
  border-bottom: 1px solid var(--color-bgGray);
}
.wrap--gallery .industry-pr-tour__schedule thead tr th:first-child {
  border-right: 1px solid var(--color-bgGray);
}
.wrap--gallery .industry-pr-tour__schedule tbody tr td:first-child {
  width: 8.6rem;
  border-right: 1px solid var(--color-bgGray);
}
@media (max-width: 767px) {
  .wrap--gallery .industry-pr-tour__schedule tbody tr td:first-child {
    width: 5.9rem;
  }
}
.wrap--gallery .industry-pr-tour__schedule th,
.wrap--gallery .industry-pr-tour__schedule td {
  padding: 0.5rem 1rem;
  text-align: center;
}
@media (max-width: 767px) {
  .wrap--gallery .industry-pr-tour__schedule th,
  .wrap--gallery .industry-pr-tour__schedule td {
    padding: 0.25rem 0.5rem;
  }
}
.wrap--gallery .industry-pr-tour__schedule th.is-vacancy,
.wrap--gallery .industry-pr-tour__schedule td.is-vacancy {
  color: var(--color-orange);
}
.wrap--gallery .industry-pr-tour__note {
  margin-top: 4rem;
}
@media (max-width: 767px) {
  .wrap--gallery .industry-pr-tour__note {
    margin-top: 3rem;
    font-size: 1.1rem;
  }
}
.wrap--gallery .industry-pr-considerations {
  margin-top: 4rem;
}
@media (max-width: 767px) {
  .wrap--gallery .industry-pr-considerations {
    margin-top: 3rem;
  }
}
.wrap--gallery .industry-pr-considerations__list {
  margin-top: 4rem;
}
@media (max-width: 767px) {
  .wrap--gallery .industry-pr-considerations__list {
    margin-top: 3rem;
  }
}
.wrap--gallery .industry-pr-considerations__list li:not(:first-child) {
  margin-top: 1rem;
}
@media (max-width: 767px) {
  .wrap--gallery .industry-pr-considerations__list li:not(:first-child) {
    margin-top: 0.5rem;
  }
}
.wrap--gallery .industry-pr-considerations__list a {
  color: #EE7800;
  text-decoration: underline;
  transition: opacity 0.2s ease;
}
.wrap--gallery .industry-pr-considerations__list a:hover {
  opacity: 0.7;
}
.wrap--gallery .industry-pr-considerations__attention {
  margin-top: 4rem;
}
@media (max-width: 767px) {
  .wrap--gallery .industry-pr-considerations__attention {
    margin-top: 3rem;
  }
}
.wrap--gallery .industry-pr-considerations__cancel {
  color: var(--color-orange);
  font-size: 1.4rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .wrap--gallery .industry-pr-considerations__cancel {
    font-size: 1.3rem;
  }
}
.wrap--gallery .industry-pr-considerations__cancel-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  margin-top: 1rem;
}
@media (max-width: 767px) {
  .wrap--gallery .industry-pr-considerations__cancel-list {
    gap: 0.5rem 0.75rem;
  }
}
.wrap--gallery .industry-pr-considerations__cancel-list li {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  font-size: 1.4rem;
}
@media (max-width: 767px) {
  .wrap--gallery .industry-pr-considerations__cancel-list li {
    gap: 0.75rem;
    font-size: 1.1rem;
  }
}
.wrap--gallery .industry-pr-considerations__cancel-list li::after {
  display: block;
  width: 0.8rem;
  height: 1.2rem;
  background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOCIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDggMTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGxpbmUgeDE9IjYuNzk3MjciIHkxPSIwLjI1IiB4Mj0iMC40MzMzMDkiIHkyPSIxMS4yNzI3IiBzdHJva2U9IiNDQ0NDQ0MiLz48L3N2Zz4=") no-repeat;
  background-size: contain;
  content: "";
}
@media (max-width: 767px) {
  .wrap--gallery .industry-pr-considerations__cancel-list li::after {
    width: 0.65rem;
    height: 1.05rem;
  }
}
.wrap--gallery .industry-pr-considerations__cancel-list span {
  font-weight: bold;
}
.wrap--gallery .industry-pr-booking {
  margin-top: 4rem;
}
@media (max-width: 767px) {
  .wrap--gallery .industry-pr-booking {
    margin-top: 3rem;
  }
}
.wrap--gallery .industry-pr-booking__wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4rem;
  margin-top: 4rem;
}
@media (max-width: 767px) {
  .wrap--gallery .industry-pr-booking__wrap {
    grid-template-columns: repeat(1, 1fr);
    gap: 2.5rem;
    margin-top: 3rem;
  }
}
.wrap--gallery .industry-pr-booking__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
  padding: 3rem;
  border: 1px solid var(--color-bgGray);
}
@media (max-width: 767px) {
  .wrap--gallery .industry-pr-booking__content {
    padding: 2.5rem 2rem;
  }
}
.wrap--gallery .industry-pr-booking__ttl {
  line-height: 1;
  font-size: 1.8rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .wrap--gallery .industry-pr-booking__ttl {
    font-size: 1.4rem;
  }
}
.wrap--gallery .industry-pr-booking__tell {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  line-height: 1;
  font-size: 3.2rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .wrap--gallery .industry-pr-booking__tell {
    gap: 0.5rem;
    font-size: 2.1rem;
  }
}
.wrap--gallery .industry-pr-booking__tell::before {
  display: block;
  width: 2.5rem;
  height: 2.4rem;
  background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjUiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNSAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMjQuMTExOCAxOC4zNjZDMjQuMDU2NCAxOC4wMjMyIDIzLjg0MTUgMTcuNzMwMyAyMy41MTk2IDE3LjU1NjJMMTguNzU4MyAxNC43NTFMMTguNzE5MiAxNC43MjlDMTguNTE5NSAxNC42MjkyIDE4LjI5OSAxNC41Nzc5IDE4LjA3NTggMTQuNTc5NkMxNy42NzY5IDE0LjU3OTYgMTcuMjk1OSAxNC43MzA3IDE3LjAzMTUgMTQuOTk1OEwxNS42MjYyIDE2LjQwMTdDMTUuNTY2MSAxNi40NTg4IDE1LjM3MDEgMTYuNTQxNSAxNS4zMTA3IDE2LjU0NDVDMTUuMjk0NCAxNi41NDMyIDEzLjY3NTUgMTYuNDI2NiAxMC42OTUyIDEzLjQ0NkM3LjcyMDIxIDEwLjQ3MTYgNy41OTM5OSA4Ljg0Nzc3IDcuNTkzIDguODQ3NzdDNy41OTQ2NiA4Ljc2NDczIDcuNjc2MzYgOC41Njk0MyA3LjczNDQ5IDguNTA4OThMOC45MzI4NiA3LjMxMDk0QzkuMzU1MDIgNi44ODc3OSA5LjQ4MTU3IDYuMTg2MyA5LjIzMTEzIDUuNjQyOTFMNi41ODQ2MSAwLjY2MzA3OEM2LjM5MjMgMC4yNjcxNjMgNi4wMTg2NCAwLjAyMjcwNTEgNS42MDQxMiAwLjAyMjcwNTFDNS4zMTA4NCAwLjAyMjcwNTEgNS4wMjc4NSAwLjE0NDI3IDQuODA2NjQgMC4zNjUxNDVMMS41NDAwMSAzLjYyNDQ3QzEuMjI2OCAzLjkzNjAyIDAuOTU3MDk1IDQuNDgwNzQgMC44OTgzMDUgNC45MTkxN0MwLjg2OTc0MSA1LjEyODc1IDAuMjkwMTUgMTAuMTMxNSA3LjE0ODkyIDE2Ljk5MTNDMTIuOTcxNyAyMi44MTM0IDE3LjUxMjEgMjMuMjY1OCAxOC43NjYgMjMuMjY1OEMxOC45MTg3IDIzLjI2NzUgMTkuMDcxMyAyMy4yNTk2IDE5LjIyMyAyMy4yNDIyQzE5LjY2MDEgMjMuMTgzOCAyMC4yMDQyIDIyLjkxNDcgMjAuNTE1NCAyMi42MDI4TDIzLjc3OTQgMTkuMzM5MkMyNC4wNDU3IDE5LjA3MTUgMjQuMTY3MyAxOC43MTc4IDI0LjExMTggMTguMzY2WiIgZmlsbD0iI0VFNzgwMCIvPjwvc3ZnPg==") no-repeat;
  background-size: contain;
  content: "";
}
@media (max-width: 767px) {
  .wrap--gallery .industry-pr-booking__tell::before {
    width: 1.65rem;
    height: 1.7rem;
  }
}
.wrap--gallery .industry-pr-booking__text {
  margin-top: 1rem;
  text-align: center;
}
.wrap--gallery .industry-pr-booking__btn {
  margin-top: 1.5rem;
}
@media (max-width: 767px) {
  .wrap--gallery .industry-pr-booking__btn {
    margin: 1rem auto 0;
    width: 90%;
  }
}
.wrap--gallery #yamakita:checked ~ .business-pr label[data-target=yamakita],
.wrap--gallery #matsuda:checked ~ .business-pr label[data-target=matsuda],
.wrap--gallery #oyama:checked ~ .business-pr label[data-target=oyama] {
  color: var(--color-white);
  background: var(--color-bgGradient);
}
.wrap--gallery #yamakita:checked ~ .tab-contents #tab-content01,
.wrap--gallery #matsuda:checked ~ .tab-contents #tab-content02,
.wrap--gallery #oyama:checked ~ .tab-contents #tab-content03 {
  display: block !important;
}

.wrap--news .news {
  padding: clamp(3rem, 6.12vw, 6rem) 0 clamp(4rem, 8.16vw, 8rem);
}
@media (max-width: 767px) {
  .wrap--news .news {
    padding: 5rem 0;
  }
}
.wrap--news .news__pagination {
  margin-top: 6rem;
}
@media (max-width: 767px) {
  .wrap--news .news__pagination {
    margin-top: 4rem;
  }
}

.news-list {
  display: flex;
  flex-direction: column;
  margin-top: 3rem;
}
@media (max-width: 767px) {
  .news-list {
    margin-top: 0;
  }
}
.news-list > li {
  border-bottom: 1px solid #f5f5f5;
}
.news-list > li a {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 2rem 0;
  transition: all 0.2s ease;
}
@media (max-width: 767px) {
  .news-list > li a {
    padding: 1rem 0;
  }
}
.news-list > li a:hover {
  color: #EE7800;
}
.news-list__day {
  font-size: 1.4rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .news-list__day {
    font-size: 1.1rem;
    font-weight: 400;
  }
}
.news-list__text {
  font-size: 1.6rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .news-list__text {
    font-size: 1.35rem;
  }
}
.news-list__wrap {
  display: flex;
  align-items: center;
  gap: 2rem;
}
@media (max-width: 767px) {
  .news-list__wrap {
    justify-content: space-between;
  }
}
.news-list__tag {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
@media (max-width: 767px) {
  .news-list__tag {
    gap: 0.75rem;
  }
}
.news-list__tag > li {
  padding: 5px 1rem;
  line-height: 1;
  color: var(--color-orange);
  font-size: 1.2rem;
  border: 1px solid var(--border-orange);
  border-radius: 5rem;
}
@media (max-width: 767px) {
  .news-list__tag > li {
    padding: 2.5px 0.5rem;
    font-size: 1rem;
  }
}

.nx-news-content {
  font-size: 1.6rem;
}
@media (max-width: 767px) {
  .nx-news-content {
    font-size: 1.2rem;
  }
}
.nx-news-content h1 {
  font-size: 2.8rem;
  font-weight: bold;
  line-height: 1;
  border-bottom: 2px solid #EE7800;
  padding-bottom: 2rem;
  margin-bottom: 4rem;
}
@media (max-width: 767px) {
  .nx-news-content h1 {
    font-size: 2rem;
    margin-bottom: 1rem;
  }
}
.nx-news-content h2 {
  font-size: 2.4rem;
  color: #1F1F1F;
  font-weight: bold;
  line-height: 1;
  position: relative;
  padding-left: 2.5rem;
  margin: 1em 0 1.5em 0;
}
@media (max-width: 767px) {
  .nx-news-content h2 {
    font-size: 1.6rem;
    padding-left: 1.3rem;
  }
}
.nx-news-content h2:after {
  content: "";
  width: 1.5rem;
  height: 1.5rem;
  background: #EE7800;
  position: absolute;
  top: 0.6rem;
  left: 0;
}
@media (max-width: 767px) {
  .nx-news-content h2:after {
    width: 0.8rem;
    height: 0.8rem;
  }
}
.nx-news-content h3 {
  font-size: 2rem;
  font-weight: bold;
  margin: 1em 0 1.5em 0;
}
@media (max-width: 767px) {
  .nx-news-content h3 {
    font-size: 1.4rem;
  }
}
.nx-news-content strong {
  font-weight: bold;
}
.nx-news-content img {
  margin-bottom: 4rem;
}
@media (max-width: 767px) {
  .nx-news-content img {
    margin-bottom: 2rem;
  }
}
.nx-news-content a {
  color: #0B82FB;
  text-decoration: underline;
  transition: 0.15s;
}
.nx-news-content a:hover {
  text-decoration: underline;
  opacity: 0.7;
}
.nx-news-content p {
  font-size: 1.6rem;
  margin-bottom: 2rem;
}
@media (max-width: 767px) {
  .nx-news-content p {
    font-size: 1.4rem;
    margin-bottom: 1rem;
  }
}

.nx-news {
  padding: 8rem 0;
}
@media (max-width: 767px) {
  .nx-news {
    padding: 4rem 0;
  }
}
.nx-news__ttl {
  font-size: 3.2rem;
  font-weight: bold;
  color: #2E2E2E;
  line-height: 1.7;
  margin-bottom: 3rem;
}
@media (max-width: 767px) {
  .nx-news__ttl {
    font-size: 1.8rem;
    margin-bottom: 2.5rem;
  }
}
.nx-news__data-area {
  display: flex;
  align-items: center;
  gap: 3rem;
  margin-bottom: 7rem;
}
@media (max-width: 767px) {
  .nx-news__data-area {
    justify-content: space-between;
    margin-bottom: 4rem;
  }
}
.nx-news__date {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .nx-news__date {
    font-size: 1.3rem;
  }
}
.nx-news__tags {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
@media (max-width: 767px) {
  .nx-news__tags {
    gap: 0.7rem;
  }
}
.nx-news__tags li {
  padding: 5px 1rem;
  line-height: 1;
  color: var(--color-orange);
  font-size: 1.2rem;
  border: 1px solid var(--border-orange);
  border-radius: 5rem;
}
.nx-news__btn a {
  text-decoration: none;
  color: #2E2E2E;
}
.nx-news__btn a:hover {
  text-decoration: none;
}

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