@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%;
  height: auto;
}

table {
  border-collapse: collapse;
}

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

textarea {
  white-space: revert;
}

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

pre {
  all: revert;
}

::placeholder {
  color: unset;
}

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

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

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

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


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

html {
  scroll-behavior: smooth;
  font-size: 10px;
}
@media (max-width: 1000px) {
  html {
    font-size: 1vw; /* 10px / 1000px * 100 */
  }
}
@media (max-width: 767px) {
  html {
    font-size: 2.6667vw; /* 10px / 375px * 100 */
  }
}

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

img {
  vertical-align: bottom;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.u-input, .u-textarea {
  display: inline-block;
  width: 100%;
  padding: 0.4rem 0.8rem;
  border: 1px solid #ccc;
  border-radius: 4px;
  background-color: #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/に配置してください。
*/
.page-top .sip-bnr {
  text-align: center;
  margin: 4rem 0 6rem;
}
@media (max-width: 767px) {
  .page-top .sip-bnr {
    margin: 4rem 0;
  }
}
.page-top .sip-bnr a {
  transition: opacity 0.3s;
}
@media (hover: hover) and (pointer: fine) {
  .page-top .sip-bnr a:hover {
    opacity: 0.7;
  }
}
.page-top .news {
  padding-bottom: 6rem;
}
.page-top .news .heading-A {
  flex-shrink: 0;
}
.page-top .news__wrap {
  display: flex;
  gap: 7.5rem;
}
@media (max-width: 767px) {
  .page-top .news__wrap {
    flex-direction: column;
    gap: 4rem;
  }
}
.page-top .news__list-area {
  flex: 1;
}
.page-top .news__list-area .btn-A {
  text-align: right;
  margin-top: 3rem;
}
.page-top .philosophy {
  padding: 7rem 0;
  background: url("../images/top/philosophy-bg.webp") no-repeat center;
  background-size: cover;
}
@media (max-width: 767px) {
  .page-top .philosophy {
    background: url("../images/top/philosophy-bg-sp.webp") no-repeat center;
    background-size: cover;
    padding: 6rem 0;
  }
}
.page-top .philosophy__wrap {
  display: flex;
  align-items: center;
  gap: 6.6rem;
}
@media (max-width: 767px) {
  .page-top .philosophy__wrap {
    flex-direction: column;
    gap: 4rem;
  }
}
.page-top .philosophy .philosophy-cont {
  display: flex;
  flex-direction: column;
  gap: 1.8rem;
}
@media (hover: hover) and (pointer: fine) {
  .page-top .philosophy .philosophy-cont a:hover .philosophy-cont__img img {
    transform: scale(1.15);
  }
  .page-top .philosophy .philosophy-cont a:hover .philosophy-cont__ttl-area svg {
    transform: translateX(0.5rem);
  }
}
.page-top .philosophy .philosophy-cont .heading-A__en {
  font-size: 3.6rem;
}
.page-top .philosophy .philosophy-cont__img {
  overflow: hidden;
  border-radius: 2rem;
}
.page-top .philosophy .philosophy-cont__img img {
  transform: scale(1);
  transition: 0.4s all;
  width: 100%;
}
.page-top .philosophy .philosophy-cont__ttl-area {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 1rem;
}
.page-top .philosophy .philosophy-cont__ttl-area svg {
  width: 3.6rem;
  height: 3.6rem;
}
.page-top .philosophy__left {
  width: 60%;
}
@media (max-width: 767px) {
  .page-top .philosophy__left {
    width: 100%;
  }
}
.page-top .philosophy__left .philosophy-cont {
  width: 85%;
}
@media (max-width: 767px) {
  .page-top .philosophy__left .philosophy-cont {
    width: 100%;
  }
}
.page-top .philosophy__ttl {
  font-size: 5.6rem;
  font-weight: 500;
  line-height: 58px;
}
@media (max-width: 767px) {
  .page-top .philosophy__ttl {
    font-size: 2.7rem;
  }
}
.page-top .philosophy__txt {
  font-size: 1.8rem;
  line-height: 220%;
  font-weight: 500;
  margin: 4rem 0 4.5rem;
}
@media (max-width: 767px) {
  .page-top .philosophy__txt {
    font-size: 1.4rem;
    line-height: 220%;
    margin: 3rem 0 4rem;
  }
}
.page-top .philosophy__right {
  width: 40%;
}
@media (max-width: 767px) {
  .page-top .philosophy__right {
    width: 100%;
  }
}
.page-top .summary {
  background: url("../images/top/summary-bg.webp") no-repeat center;
  background-size: cover;
  padding: 10rem 0 13rem;
}
@media (max-width: 767px) {
  .page-top .summary {
    padding: 6rem 0;
  }
}
.page-top .summary .heading-A {
  margin-bottom: 1.6rem;
}
@media (max-width: 767px) {
  .page-top .summary .heading-A {
    margin-bottom: 4rem;
  }
}
@media (max-width: 767px) {
  .page-top .summary .heading-A__en {
    font-size: 5.6rem;
  }
}
.page-top .summary__cont {
  width: 80%;
  margin-left: auto;
  background: #fff;
  border-radius: 2rem;
  padding: 5rem 5.8rem;
}
@media (max-width: 767px) {
  .page-top .summary__cont {
    width: 100%;
    padding: 3rem 2rem;
  }
}
.page-top .summary .summary-item {
  padding-bottom: 3rem;
  border-bottom: 1px solid #E7E7E7;
}
.page-top .summary .summary-item:nth-of-type(2) {
  border-bottom: none;
  padding-top: 3rem;
  padding-bottom: 0;
}
.page-top .summary .summary-item__wrap {
  display: flex;
  gap: 2.5rem;
}
@media (max-width: 767px) {
  .page-top .summary .summary-item__wrap {
    gap: 1rem;
    position: relative;
  }
}
.page-top .summary .summary-item__icon {
  width: 7.5rem;
  flex-shrink: 0;
}
@media (max-width: 767px) {
  .page-top .summary .summary-item__icon {
    width: 5.7rem;
    position: absolute;
    top: 0;
    left: 0;
  }
}
.page-top .summary .summary-item__txt-area {
  display: flex;
  flex-direction: column;
  align-items: baseline;
  gap: 2rem;
}
@media (max-width: 767px) {
  .page-top .summary .summary-item__txt-area {
    gap: 1rem;
  }
}
.page-top .summary .summary-item__head {
  display: flex;
  flex-direction: column;
  align-items: baseline;
  gap: 2rem;
}
@media (max-width: 767px) {
  .page-top .summary .summary-item__head {
    gap: 1rem;
    padding-left: 7rem;
  }
}
.page-top .summary .summary-item__label {
  color: #4D4D4D;
  font-weight: 700;
  background: rgba(224, 240, 255, 0.6);
  border-radius: 0.5rem;
  padding: 0.3rem 1rem;
}
@media (max-width: 767px) {
  .page-top .summary .summary-item__label {
    font-size: 1.2rem;
    padding: 0 1rem;
  }
}
.page-top .summary .summary-item__ttl {
  color: var(--color-main);
  font-size: 2.2rem;
  font-weight: 500;
}
@media (max-width: 767px) {
  .page-top .summary .summary-item__ttl {
    font-size: 1.7rem;
  }
}
@media (max-width: 767px) {
  .page-top .summary .summary-item__txt {
    font-size: 1.4rem;
  }
}
.page-top .summary .summary-item .btn-A {
  text-align: right;
  margin-top: 2.8rem;
}
@media (max-width: 767px) {
  .page-top .summary .summary-item .btn-A {
    margin-top: 1.5rem;
  }
}
.page-top .recruit {
  position: relative;
  text-align: center;
  padding: 8rem 0 10rem;
  z-index: 1;
}
@media (max-width: 767px) {
  .page-top .recruit {
    padding: 3rem 0 14rem;
  }
}
.page-top .recruit::before {
  position: absolute;
  content: "";
  background: url("../images/top/recruit-bg.svg") no-repeat center;
  background-size: cover;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
}
@media (max-width: 767px) {
  .page-top .recruit::before {
    background-size: contain;
  }
}
.page-top .recruit__txt {
  margin: 2rem 0 5rem;
  font-weight: 500;
}
.page-top .recruit .btn-B a {
  display: inline-flex;
}
.page-top .recruit .recruit-img01 {
  position: absolute;
  top: 0;
  left: 18%;
  width: clamp(18rem, 11.5vw, 22.1rem);
}
@media (max-width: 767px) {
  .page-top .recruit .recruit-img01 {
    width: 10.1rem;
    top: auto;
    left: -5%;
    bottom: 4rem;
    z-index: 2;
  }
}
.page-top .recruit .recruit-img02 {
  position: absolute;
  bottom: 1.5rem;
  left: 10%;
  width: clamp(22rem, 13.8vw, 26.5rem);
}
@media (max-width: 767px) {
  .page-top .recruit .recruit-img02 {
    width: 8.9rem;
    bottom: 2rem;
    left: 12%;
  }
}
.page-top .recruit .recruit-img03 {
  position: absolute;
  top: 1.5rem;
  right: 12%;
  width: clamp(22.2rem, 13.75vw, 26.4rem);
}
@media (max-width: 767px) {
  .page-top .recruit .recruit-img03 {
    width: 9.12rem;
    top: auto;
    bottom: 1.6rem;
  }
}
.page-top .recruit .recruit-img04 {
  position: absolute;
  bottom: -2rem;
  right: 8%;
  width: clamp(20.6rem, 12.8vw, 24.6rem);
}
@media (max-width: 767px) {
  .page-top .recruit .recruit-img04 {
    width: 7.6rem;
    right: 0;
    bottom: 7.4rem;
  }
}

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

.m-inner {
  margin: 0 auto;
  width: 800px;
}
@media (max-width: 900px) {
  .m-inner {
    width: 90%;
  }
}
@media (max-width: 767px) {
  .m-inner {
    width: 100%;
    padding: 0 1.8rem;
    margin: 0;
  }
}

.inner {
  padding: 0 5rem;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .inner {
    padding: 0 3rem;
  }
}
@media (max-width: 767px) {
  .inner {
    padding: 0;
  }
}

.sec-deco {
  position: relative;
}

.sec-deco__bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
}

.sec-deco__item {
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 21.4rem;
  height: 45.3rem;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .sec-deco__item {
    width: 12rem;
    height: 27rem;
  }
}
@media (max-width: 767px) {
  .sec-deco__item {
    width: 11rem;
    height: 23rem;
  }
}

.contents {
  padding: 10rem 0;
}
@media (max-width: 767px) {
  .contents {
    padding: 4rem 0;
  }
}
.contents__txt {
  font-size: 1.6rem;
}
@media (max-width: 767px) {
  .contents__txt {
    font-size: 1.4rem;
    line-height: 190%;
  }
}

.simplebar-track.simplebar-horizontal {
  background-color: #e7e7e7 !important;
  height: 1rem !important;
  border-radius: 0.2rem;
}

.simplebar-scrollbar {
  background-color: var(--color-main) !important;
  border-radius: 5rem;
}
.simplebar-scrollbar::before {
  background: none !important;
}

[data-animation=fade-in] {
  opacity: 0;
  transform: translateY(80px);
  transition: opacity 1.2s ease, transform 1.2s ease;
}

.is-fadein {
  opacity: 1;
  transform: translateY(0);
}

.breakcrumb {
  padding: 2rem 0;
}
.breakcrumb__list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  row-gap: 0.5rem;
}
.breakcrumb__list li {
  position: relative;
  font-size: 1.2rem;
  font-weight: 500;
  padding-right: 2rem;
  line-height: 1.4;
}
.breakcrumb__list li::after {
  position: absolute;
  content: "";
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%227%22%20height%3D%2210%22%20viewBox%3D%220%200%207%2010%22%20fill%3D%22none%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M6.72168%204.44453L1.34415%200L0%201.11094L4.70546%205L0%208.88906L1.34415%2010L6.72168%205.55547C6.89989%205.40813%207%205.20833%207%205C7%204.79167%206.89989%204.59187%206.72168%204.44453Z%22%20fill%3D%22%23CCCCCC%22%2F%3E%3C%2Fsvg%3E") no-repeat center;
  background-size: contain;
  width: 7px;
  height: 10px;
  top: 50%;
  transform: translateY(-50%);
  right: 0.5rem;
}
.breakcrumb__list li:last-of-type {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.breakcrumb__list li:last-of-type::after {
  content: none;
}

@media (max-width: 767px) {
  .page-rdu-support .kv__img {
    width: 75%;
    top: 55%;
  }
}
.page-rdu-support section {
  padding: 6rem 0;
}
@media (max-width: 767px) {
  .page-rdu-support section {
    padding: 4rem 0;
  }
}
.page-rdu-support section:first-of-type {
  padding: 0 0 6rem;
}
@media (max-width: 767px) {
  .page-rdu-support section:first-of-type {
    padding: 0 0 4rem;
  }
}
.page-rdu-support section:last-of-type {
  padding: 6rem 0 0;
}
@media (max-width: 767px) {
  .page-rdu-support section:last-of-type {
    padding: 4rem 0 0;
  }
}
.page-rdu-support .overview .overview-cont {
  width: 95%;
  margin: 4rem auto 0;
  display: flex;
  align-items: center;
  gap: 2%;
}
@media (max-width: 1200px) {
  .page-rdu-support .overview .overview-cont {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .page-rdu-support .overview .overview-cont {
    flex-direction: column;
    gap: 2rem;
  }
}
.page-rdu-support .overview .overview-cont__box {
  border-radius: 2rem;
  padding: 1.5rem 3%;
}
@media (max-width: 767px) {
  .page-rdu-support .overview .overview-cont__box {
    padding: 1.2rem 1.5rem;
  }
}
.page-rdu-support .overview .overview-cont__box.--left {
  background: linear-gradient(0deg, #E8F1FF 0%, #E8F1FF 100%), #FFF;
  width: 55%;
}
@media (max-width: 767px) {
  .page-rdu-support .overview .overview-cont__box.--left {
    width: 100%;
  }
}
.page-rdu-support .overview .overview-cont__box.--left .overview-cont__ttl {
  color: var(--color-main);
}
.page-rdu-support .overview .overview-cont__box.--right {
  background: #FFFCE8;
  width: 30%;
}
@media (max-width: 767px) {
  .page-rdu-support .overview .overview-cont__box.--right {
    width: 100%;
  }
}
.page-rdu-support .overview .overview-cont__box.--right .overview-cont__ttl {
  color: #CA6806;
}
.page-rdu-support .overview .overview-cont__arrow {
  width: 4rem;
}
@media (max-width: 767px) {
  .page-rdu-support .overview .overview-cont__arrow {
    width: 3.5rem;
    transform: rotate(90deg);
  }
}
.page-rdu-support .overview .overview-cont__ttl {
  font-size: clamp(1.4rem, 1.8vw, 2.2rem);
  font-weight: 700;
  text-align: center;
  margin-bottom: 2.5rem;
  line-height: 140%;
}
@media (max-width: 767px) {
  .page-rdu-support .overview .overview-cont__ttl {
    font-size: 1.4rem;
    margin-bottom: 1.5rem;
  }
}
.page-rdu-support .overview .overview-cont__icon-box {
  background: #fff;
  border-radius: 2rem;
  padding: 2rem 6%;
}
@media (max-width: 767px) {
  .page-rdu-support .overview .overview-cont__icon-box {
    padding: 1.2rem;
  }
}
.page-rdu-support .overview .overview-cont__icon-box-ttl {
  text-align: center;
  font-weight: 700;
  margin-bottom: 2rem;
}
@media (max-width: 767px) {
  .page-rdu-support .overview .overview-cont__icon-box-ttl {
    font-size: 1.2rem;
    margin-bottom: 1rem;
  }
}
.page-rdu-support .overview .overview-cont__icon-area {
  display: flex;
  justify-content: center;
  gap: 3%;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .page-rdu-support .overview .overview-cont__icon-area {
    gap: 1.5%;
  }
}
@media (max-width: 767px) {
  .page-rdu-support .overview .overview-cont__icon-area {
    gap: 0.5rem;
  }
}
.page-rdu-support .overview .overview-cont__icon {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  align-items: center;
  height: auto;
  flex: 1;
}
.page-rdu-support .overview .overview-cont__icon img {
  width: 80%;
}
@media (max-width: 767px) {
  .page-rdu-support .overview .overview-cont__icon img {
    width: 70%;
  }
}
.page-rdu-support .overview .overview-cont__icon-txt {
  color: var(--color-main);
  font-size: clamp(0.8rem, 0.8vw, 1.2rem);
  font-weight: 600;
  line-height: 130%;
  text-align: center;
}
@media (max-width: 767px) {
  .page-rdu-support .overview .overview-cont__icon-txt {
    font-size: 0.8rem;
  }
}
.page-rdu-support .overview .overview-cont__txt-box-area {
  width: 90%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .page-rdu-support .overview .overview-cont__txt-box-area {
    width: 100%;
  }
}
.page-rdu-support .overview .overview-cont__txt-box {
  color: #CA6806;
  font-size: clamp(1.4rem, 1.33vw, 1.6rem);
  font-weight: 500;
  background: #fff;
  border: 2px solid #CA6806;
  border-radius: 1rem;
  text-align: center;
  padding: 1.8rem 0;
}
@media (max-width: 767px) {
  .page-rdu-support .overview .overview-cont__txt-box {
    font-size: 1.2rem;
    padding: 2rem 0;
  }
}
@media (max-width: 767px) {
  .page-rdu-support .overview .overview-description {
    padding-top: 2.5rem;
  }
}
.page-rdu-support .feature__cont-area {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 2rem;
}
.page-rdu-support .feature__cont {
  display: flex;
}
.page-rdu-support .feature__label {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  font-size: clamp(1.2rem, 1.33vw, 1.6rem);
  background: #0F58BC;
  color: #fff;
  padding: 0.5rem 0;
  border-radius: 5rem 0 0 5rem;
  text-align: center;
  width: 8%;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 1300px) {
  .page-rdu-support .feature__label {
    width: 13%;
  }
}
@media (max-width: 767px) {
  .page-rdu-support .feature__label {
    width: 23%;
    border-radius: 1.5rem 0 0 1.5rem;
    font-size: 1.4rem;
    gap: 1rem;
  }
}
.page-rdu-support .feature__label span {
  position: relative;
  color: #fff;
  font-size: clamp(1rem, 1.1vw, 1.3rem);
  font-weight: 600;
  line-height: 1;
  z-index: 1;
  margin-top: 0.3rem;
}
.page-rdu-support .feature__label span::before {
  display: block;
  position: absolute;
  content: "";
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
  width: clamp(1.5rem, 1.04vw, 2rem);
  height: clamp(1.5rem, 1.04vw, 2rem);
  background: var(--color-main);
  border: 1px solid #fff;
  border-radius: 50%;
  z-index: -1;
}
@media (max-width: 767px) {
  .page-rdu-support .feature__label span::before {
    top: 48%;
    border: 1px solid #fff;
  }
}
.page-rdu-support .feature__txt {
  font-size: clamp(1.2rem, 1.33vw, 1.6rem);
  border: 1px solid rgba(164, 193, 221, 0.6);
  padding: 0.5rem 0 0.5rem 1.3%;
  border-radius: 0 5rem 5rem 0;
  width: 70%;
}
@media (max-width: 1300px) {
  .page-rdu-support .feature__txt {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .page-rdu-support .feature__txt {
    border-radius: 0 1.5rem 1.5rem 0;
    line-height: 160%;
    font-size: 1.4rem;
  }
}
.page-rdu-support .feature__img {
  margin-top: 4rem;
}
@media (max-width: 767px) {
  .page-rdu-support .feature__img {
    overflow-x: scroll;
    margin-top: 3rem;
    padding-bottom: 3rem;
  }
}
@media (max-width: 767px) {
  .page-rdu-support .feature__img img {
    max-width: 60rem;
    width: 60rem;
  }
}
.page-rdu-support .example__img {
  text-align: center;
  margin: 4rem auto 0;
  padding-bottom: 3rem;
}
@media (max-width: 767px) {
  .page-rdu-support .example__img {
    width: 100%;
    overflow-x: scroll;
  }
}
@media (max-width: 767px) {
  .page-rdu-support .example__img img {
    max-width: 65.8rem;
    width: 65.8rem;
  }
}
@media (max-width: 767px) {
  .page-rdu-support .example .example-description {
    padding-top: 2.5rem;
  }
}
.page-rdu-support .analysis .analysis-cont {
  margin-bottom: 10rem;
}
@media (max-width: 767px) {
  .page-rdu-support .analysis .analysis-cont {
    margin-bottom: 5rem;
  }
}
.page-rdu-support .analysis .analysis-cont:last-of-type {
  margin-bottom: 0;
}
.page-rdu-support .analysis__ttl {
  color: var(--color-sub);
  font-size: 2.2rem;
  font-weight: 500;
  display: flex;
  gap: 1.5rem;
  margin-bottom: 3rem;
  line-height: 160%;
}
@media (max-width: 767px) {
  .page-rdu-support .analysis__ttl {
    font-size: 2rem;
    line-height: 140%;
  }
}
.page-rdu-support .analysis__ttl span {
  font-size: 2.5rem;
  line-height: 145%;
}
@media (max-width: 767px) {
  .page-rdu-support .analysis__ttl span {
    font-size: 2rem;
    line-height: 145%;
  }
}
.page-rdu-support .analysis__img-area {
  width: 95%;
  margin: 3rem auto 0;
}
@media (max-width: 767px) {
  .page-rdu-support .analysis__img-area {
    width: 100%;
  }
}
.page-rdu-support .analysis__img {
  text-align: center;
}
.page-rdu-support .analysis__note {
  color: #7B7B7B;
  font-size: 1.4rem;
  font-weight: 500;
  text-align: right;
  margin-top: 1.5rem;
}
@media (max-width: 767px) {
  .page-rdu-support .analysis__note {
    font-size: 1rem;
    line-height: 140%;
  }
}
.page-rdu-support .flow .flow-cont {
  display: flex;
  gap: 2%;
  height: 100%;
  margin-top: 4rem;
}
@media (max-width: 1000px) {
  .page-rdu-support .flow .flow-cont {
    justify-content: space-between;
  }
}
@media (max-width: 767px) {
  .page-rdu-support .flow .flow-cont {
    flex-direction: column;
    gap: 6rem;
  }
}
.page-rdu-support .flow .flow-cont__item {
  display: flex;
  flex-direction: column;
  text-align: center;
  height: auto;
  color: var(--color-main);
  flex: 1;
  position: relative;
}
@media (max-width: 767px) {
  .page-rdu-support .flow .flow-cont__item {
    gap: 2rem;
    align-items: center;
  }
}
.page-rdu-support .flow .flow-cont__item::after {
  position: absolute;
  content: "";
  background: url("../images/service/rdu/arrow.svg") no-repeat center;
  background-size: contain;
  width: 2.8vw;
  height: 1.2rem;
  top: 5rem;
  right: -20%;
}
@media (max-width: 767px) {
  .page-rdu-support .flow .flow-cont__item::after {
    transform: translateX(-50%) rotate(90deg);
    right: auto;
    left: 50%;
    top: auto;
    bottom: -3.5rem;
    width: 5rem;
    height: 1.2rem;
  }
}
@media (max-width: 767px) {
  .page-rdu-support .flow .flow-cont__item {
    width: 100%;
    flex-direction: row;
    text-align: left;
  }
}
.page-rdu-support .flow .flow-cont__item:last-of-type::after {
  background: none;
}
.page-rdu-support .flow .flow-cont__img {
  text-align: center;
}
@media (max-width: 767px) {
  .page-rdu-support .flow .flow-cont__img {
    flex-shrink: 0;
  }
}
.page-rdu-support .flow .flow-cont__img img {
  width: 12rem;
}
@media (min-width: 768px) and (max-width: 1023px) {
  .page-rdu-support .flow .flow-cont__img img {
    width: 10rem;
  }
}
@media (max-width: 767px) {
  .page-rdu-support .flow .flow-cont__img img {
    width: 12rem;
  }
}
.page-rdu-support .flow .flow-cont__ttl {
  display: flex;
  flex-direction: column;
  font-size: clamp(1.2rem, 1.4vw, 1.6rem);
  font-weight: 700;
  line-height: 110%;
  margin: 1rem 0;
}
@media (max-width: 767px) {
  .page-rdu-support .flow .flow-cont__ttl {
    font-size: 1.6rem;
  }
}
.page-rdu-support .flow .flow-cont__ttl span {
  font-size: clamp(0.7rem, 0.8vw, 1rem);
  font-weight: 500;
}
@media (max-width: 767px) {
  .page-rdu-support .flow .flow-cont__ttl span {
    font-size: 1.1rem;
  }
}
.page-rdu-support .flow .flow-cont__txt {
  font-size: clamp(1rem, 1.1vw, 1.3rem);
  line-height: 140%;
}
@media (max-width: 767px) {
  .page-rdu-support .flow .flow-cont__txt {
    font-size: 1.4rem;
  }
}

@media (max-width: 767px) {
  .page-pms-support .kv__img {
    width: 55%;
  }
}
.page-pms-support section {
  padding: 6rem 0;
}
@media (max-width: 767px) {
  .page-pms-support section {
    padding: 4rem 0;
  }
}
.page-pms-support section:first-of-type {
  padding: 0 0 6rem;
}
@media (max-width: 767px) {
  .page-pms-support section:first-of-type {
    padding: 0 0 4rem;
  }
}
.page-pms-support .about .about-description {
  padding-bottom: 2rem;
}
.page-pms-support .about .about-description:last-of-type {
  padding-bottom: 0;
}
.page-pms-support .about__img-area {
  width: 95%;
  margin: 4rem auto 0;
}
@media (max-width: 767px) {
  .page-pms-support .about__img-area {
    width: 100%;
  }
}
.page-pms-support .about__img-area img {
  width: 100%;
}
@media (max-width: 767px) {
  .page-pms-support .about__img {
    overflow-x: scroll;
    padding-bottom: 3rem;
  }
}
@media (max-width: 767px) {
  .page-pms-support .about__img img {
    max-width: 74.5rem;
    width: 74.5rem;
  }
}
.page-pms-support .overview__img-area {
  text-align: center;
  margin: 2rem auto 0;
}
@media (max-width: 767px) {
  .page-pms-support .overview__img-area {
    width: 100%;
  }
}
.page-pms-support .merit .merit-cont {
  margin-bottom: 5rem;
}
.page-pms-support .merit .merit-cont:last-of-type {
  margin-bottom: 0;
}
.page-pms-support .merit .merit-cont__label {
  display: inline-block;
  font-size: 1.8rem;
  font-weight: 700;
  background: #EDF6FF;
  padding: 0 1rem;
  border-radius: 0.5rem;
  margin-bottom: 1rem;
}
@media (max-width: 767px) {
  .page-pms-support .merit .merit-cont__label {
    font-size: 1.6rem;
  }
}
.page-pms-support .merit .merit-cont__img-area {
  width: 95%;
  margin: 2rem auto 0;
}
@media (max-width: 767px) {
  .page-pms-support .merit .merit-cont__img-area {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .page-pms-support .merit .merit-cont__img-area img {
    width: 100%;
  }
}
.page-pms-support .merit .merit-cont__note {
  margin-top: 2rem;
}

.page-philosophy .kv__img {
  width: 63rem;
}
@media (max-width: 767px) {
  .page-philosophy .kv__img {
    width: 65%;
    right: 0;
  }
}
@media (max-width: 767px) {
  .page-philosophy .kv__img img {
    -webkit-mask-image: none;
    mask-image: none;
  }
}
.page-philosophy .philosophy {
  padding: 0 0 6rem;
}
@media (max-width: 767px) {
  .page-philosophy .philosophy {
    padding: 0 0 4rem;
  }
}
.page-philosophy .philosophy .philosophy-about {
  background: linear-gradient(90deg, #E5EFFF 0%, #FDFFE8 100%);
  padding: 2rem;
  border-radius: 2rem;
}
@media (max-width: 767px) {
  .page-philosophy .philosophy .philosophy-about {
    padding: 1rem;
  }
}
.page-philosophy .philosophy .philosophy-about__wrap {
  background: #fff;
  border-radius: 1rem;
  text-align: center;
  padding: 4rem 0;
}
@media (max-width: 767px) {
  .page-philosophy .philosophy .philosophy-about__wrap {
    padding: 3rem 2rem;
  }
}
.page-philosophy .philosophy .philosophy-about__ttl {
  color: var(--color-main);
  font-size: 2.2rem;
  font-weight: 500;
  margin-bottom: 2rem;
}
@media (max-width: 767px) {
  .page-philosophy .philosophy .philosophy-about__ttl {
    font-size: 2rem;
  }
}
.page-philosophy .philosophy .philosophy-about__txt {
  font-weight: 700;
  line-height: 175%;
}
@media (max-width: 767px) {
  .page-philosophy .philosophy .philosophy-about__txt {
    font-size: 1.4rem;
  }
}
.page-philosophy .philosophy__img {
  margin: 5rem 0;
}
@media (max-width: 767px) {
  .page-philosophy .philosophy__img {
    margin: 4rem 0;
  }
}
.page-philosophy .philosophy__img img {
  display: block;
}
.page-philosophy .message {
  padding: 6rem 0;
}
@media (max-width: 767px) {
  .page-philosophy .message {
    padding: 4rem 0 6rem;
  }
}
.page-philosophy .message__wrap {
  display: flex;
  gap: 4rem;
}
@media (max-width: 767px) {
  .page-philosophy .message__wrap {
    flex-direction: column;
  }
}
.page-philosophy .message__img {
  width: 30rem;
  flex-shrink: 0;
}
@media (max-width: 767px) {
  .page-philosophy .message__img {
    width: 20rem;
    margin: 0 auto;
  }
}
.page-philosophy .message__txt {
  padding-bottom: 4rem;
}
@media (max-width: 767px) {
  .page-philosophy .message__txt {
    padding-bottom: 2.5rem;
  }
}
.page-philosophy .message__name-area {
  display: flex;
  flex-direction: column;
  font-weight: 700;
}
@media (max-width: 767px) {
  .page-philosophy .message__name-area {
    gap: 1rem;
  }
}
.page-philosophy .message__company {
  font-size: 1.6rem;
}
@media (max-width: 767px) {
  .page-philosophy .message__company {
    font-size: 1.4rem;
  }
}
.page-philosophy .message__name {
  font-size: 2.4rem;
}
@media (max-width: 767px) {
  .page-philosophy .message__name {
    font-size: 2rem;
  }
}

.page-company .kv__img {
  width: 63rem;
}
@media (max-width: 767px) {
  .page-company .kv__img {
    width: 60%;
    top: 50%;
    right: 0;
  }
}
@media (max-width: 767px) {
  .page-company .kv__img img {
    -webkit-mask-image: none;
    mask-image: none;
  }
}
.page-company .company {
  padding: 10rem 0 0;
}
@media (max-width: 767px) {
  .page-company .company {
    padding: 6rem 0 0;
  }
}
.page-company .company .company-item {
  display: flex;
}
.page-company .company .company-item:first-of-type {
  border-top: 1px solid rgba(181, 181, 181, 0.6);
}
.page-company .company .company-item dt, .page-company .company .company-item dd {
  font-size: 1.6rem;
  padding: 2.5rem 3rem;
  border-bottom: 1px solid rgba(181, 181, 181, 0.6);
}
@media (max-width: 767px) {
  .page-company .company .company-item dt, .page-company .company .company-item dd {
    font-size: 1.4rem;
    padding: 2.5rem 1rem;
  }
}
.page-company .company .company-item dt {
  width: 30%;
}
.page-company .company .company-item dd {
  width: 70%;
}
.page-company .company .company-item dd a {
  text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
  .page-company .company .company-item dd a:hover {
    text-decoration: none;
  }
}
.page-company .company .company-item .list-member li {
  display: flex;
  margin-bottom: 1rem;
}
@media (max-width: 767px) {
  .page-company .company .company-item .list-member li {
    flex-direction: column;
  }
}
.page-company .company .company-item .list-member li span {
  width: 20%;
}
@media (max-width: 1200px) {
  .page-company .company .company-item .list-member li span {
    width: 25%;
  }
}
@media (max-width: 767px) {
  .page-company .company .company-item .list-member li span {
    width: 100%;
  }
}
.page-company .company .company-item .list-service li {
  position: relative;
  padding-left: 2rem;
}
.page-company .company .company-item .list-service li::before {
  position: absolute;
  content: "・";
  left: 0;
}
.page-company .company-map {
  padding-bottom: 10rem;
}
@media (max-width: 767px) {
  .page-company .company-map {
    padding-bottom: 6rem;
  }
}
.page-company .company-map iframe {
  width: 100%;
  height: 100%;
}
.page-company .company-map p {
  font-size: 1.4rem;
}
@media (max-width: 767px) {
  .page-company .company-map p {
    font-size: 1.2rem;
  }
}

.page-newsrelease .kv__img {
  position: relative;
  width: 70%;
  top: -2rem;
}
@media (max-width: 767px) {
  .page-newsrelease .kv__img {
    position: absolute;
    width: 100%;
    top: 40%;
    right: -30%;
  }
}
@media (max-width: 767px) {
  .page-newsrelease .kv__img img {
    -webkit-mask-image: none;
    mask-image: none;
  }
}
.page-newsrelease .contents {
  padding: 10rem 0 6rem;
}
@media (max-width: 767px) {
  .page-newsrelease .contents {
    padding: 2rem 0 4rem;
  }
}
.page-newsrelease .news {
  padding: 0 0 6rem;
}
.page-newsrelease .news__head {
  display: flex;
  align-items: center;
  gap: 3rem;
  padding-bottom: 3rem;
}
@media (max-width: 767px) {
  .page-newsrelease .news__head {
    flex-direction: column;
    align-items: baseline;
    gap: 2rem;
  }
}
.page-newsrelease .news__head .news-search {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  width: 42rem;
  background: #F2F7FF;
  border-radius: 1rem;
  padding: 0.5rem 2rem;
}
@media (max-width: 767px) {
  .page-newsrelease .news__head .news-search {
    width: 100%;
  }
}
.page-newsrelease .news__head .news-search input[type=text] {
  width: 100%;
}
.page-newsrelease .news__head .news-search ::placeholder {
  color: #BFBEBE;
  font-size: 1.4rem;
  font-weight: 500;
}
.page-newsrelease .news__head .news-search__icon {
  width: 1.8rem;
  height: 1.8rem;
}
.page-newsrelease .news__head .cate-list {
  padding: 0;
  border: none;
}
.page-newsrelease .news .pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  margin-top: 5rem;
}
@media (max-width: 767px) {
  .page-newsrelease .news .pagination {
    gap: 1.5rem;
  }
}
.page-newsrelease .news .pagination li {
  position: relative;
  font-size: 1.6rem;
  font-weight: 600;
  cursor: pointer;
}
.page-newsrelease .news .pagination li.active {
  color: var(--color-sub);
}
.page-newsrelease .news .pagination li.active::before {
  position: absolute;
  bottom: 0;
  content: "";
  border-bottom: 1px solid var(--color-sub);
  width: 100%;
  padding-bottom: 0.5rem;
}
.page-newsrelease .news .pagination li.extend {
  cursor: default;
}
.page-newsrelease .news .page-arrow {
  width: 3.2rem;
  height: 3.2rem;
}
@media (max-width: 767px) {
  .page-newsrelease .news .page-arrow {
    width: 3rem;
    height: 3rem;
  }
}
.page-newsrelease .news .page-arrow svg {
  width: 100%;
  height: 100%;
}
.page-newsrelease .news .page-arrow.--right {
  transform: rotate(180deg);
}

.newsrelease-single .contents {
  padding: 10rem 0 11rem;
}
@media (max-width: 767px) {
  .newsrelease-single .contents {
    padding: 4rem 0 6rem;
  }
}
.newsrelease-single .news-head-time {
  font-size: 2rem;
}
@media (max-width: 767px) {
  .newsrelease-single .news-head-time {
    font-size: 1.8rem;
  }
}

.footer-pages .contents .link svg {
  width: 1.1rem;
  height: 1.3rem;
  margin-left: 0.5rem;
}
@media (max-width: 767px) {
  .footer-pages .contents .link svg {
    height: 1.2rem;
  }
}

.footer-section {
  margin: 10rem 0;
}
@media (max-width: 767px) {
  .footer-section {
    margin: 3rem 0;
  }
}
.footer-section:first-of-type {
  margin: 0 0 10rem;
}
@media (max-width: 767px) {
  .footer-section:first-of-type {
    margin: 0 0 3rem;
  }
}
.footer-section:last-of-type {
  margin: 10rem 0 0;
}
@media (max-width: 767px) {
  .footer-section:last-of-type {
    margin: 3rem 0 0;
  }
}

.page-security .contents__txt {
  padding-bottom: 4rem;
}
@media (max-width: 767px) {
  .page-security .contents__txt {
    padding-bottom: 7rem;
  }
}
.page-security .security__info {
  text-align: right;
  padding-top: 5rem;
}
@media (max-width: 767px) {
  .page-security .security__info {
    padding-top: 3rem;
  }
}

.page-privacy .privacy__ttl {
  font-size: 2rem;
  font-weight: 600;
  margin: 3rem 0 2rem;
}
@media (max-width: 767px) {
  .page-privacy .privacy__ttl {
    font-size: 1.8rem;
  }
}
.page-privacy .privacy__table th {
  width: 20%;
}

.page-ethics .archive {
  border-top: none;
}
.page-ethics .archive__head {
  display: flex;
  align-items: center;
  gap: 3rem;
}
@media (max-width: 767px) {
  .page-ethics .archive__head {
    flex-direction: column;
    gap: 1.5rem;
  }
}
.page-ethics .archive .archive-number {
  margin-top: 0;
}
.page-ethics .article-list {
  margin-top: 3rem;
}
.page-ethics .article-list li a {
  display: flex;
  text-align: left;
  padding: 3rem 0;
  border-bottom: 1px solid #E7E7E7;
}
@media (max-width: 767px) {
  .page-ethics .article-list li a {
    flex-direction: column;
  }
}
.page-ethics .article-list li a .date {
  width: 15%;
  color: #69727F;
  font-weight: 500;
}
.page-ethics .article-list li a .text {
  font-weight: 500;
  background: linear-gradient(90deg, var(--color-sub) 0%, var(--color-sub) 50%, #3F3F41 50%, #3F3F41 100%);
  background-size: 200% 100%;
  background-position: 100% 0;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: 0.9s;
}
@media (hover: hover) and (pointer: fine) {
  .page-ethics .article-list li a:hover .text {
    background-position: 0% 0;
  }
}
.page-ethics .article-list li:first-of-type a {
  border-top: 1px solid #E7E7E7;
}

.ethics-single .ethics-time {
  color: #69727F;
  font-size: 2rem;
  font-weight: 500;
}

.page-management .management__table {
  width: 100%;
  margin-top: 2rem;
}
.page-management .management__table tr {
  border-bottom: 1px solid var(--color-sub);
}
.page-management .management__table th {
  width: 33.3333333333%;
  text-align: center;
  font-weight: bold;
  vertical-align: middle;
}
.page-management .management__table td {
  text-align: center;
  vertical-align: middle;
}

.page-regulations .regulations__table {
  width: 100%;
  margin-top: 2rem;
}
.page-regulations .regulations__table tr {
  border-bottom: 1px solid var(--color-sub);
}
.page-regulations .regulations__table th {
  width: 25%;
  text-align: center;
  font-weight: bold;
  vertical-align: middle;
}
.page-regulations .regulations__table td {
  text-align: center;
  vertical-align: middle;
}

@media (max-width: 767px) {
  .page-recruit-contact .kv .l-inner,
  .page-contact .kv .l-inner {
    padding: 0 0 0 1.8rem;
  }
}
.page-recruit-contact .kv__img,
.page-contact .kv__img {
  width: 75.8rem;
}
@media (max-width: 767px) {
  .page-recruit-contact .kv__img,
  .page-contact .kv__img {
    width: 20.6rem;
    right: 0;
  }
}
@media (max-width: 767px) {
  .page-recruit-contact .kv__img img,
  .page-contact .kv__img img {
    -webkit-mask-image: none;
    mask-image: none;
    width: 100%;
  }
}
.page-recruit-contact .contact-about__ttl,
.page-contact .contact-about__ttl {
  margin-top: 6rem;
  font-size: 2.2rem;
  font-weight: 600;
}
@media (max-width: 767px) {
  .page-recruit-contact .contact-about__ttl,
  .page-contact .contact-about__ttl {
    margin-top: 4rem;
    font-size: 2rem;
  }
}
.page-recruit-contact .contact-about__text,
.page-contact .contact-about__text {
  margin-top: 2rem;
}
.page-recruit-contact .contact-about__btn,
.page-contact .contact-about__btn {
  margin: 6rem auto 0 auto;
  text-align: center;
  width: 32rem;
}
.page-recruit-contact .contact-flow,
.page-contact .contact-flow {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  margin-top: 4rem;
}
@media (max-width: 767px) {
  .page-recruit-contact .contact-flow,
  .page-contact .contact-flow {
    gap: 0.5rem;
  }
}
.page-recruit-contact .contact-flow__list,
.page-contact .contact-flow__list {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 3rem;
  background-color: #f2f7ff;
  border-radius: 1rem;
  counter-increment: number;
}
@media (max-width: 767px) {
  .page-recruit-contact .contact-flow__list,
  .page-contact .contact-flow__list {
    flex-direction: column;
    gap: 0.5rem;
    padding: 1rem;
  }
}
.page-recruit-contact .contact-flow__list::before,
.page-contact .contact-flow__list::before {
  display: block;
  font-family: "Kumbh Sans", sans-serif;
  color: var(--color-main);
  font-size: 1.6rem;
  content: "0" counter(number);
}
.page-recruit-contact .contact-flow__list.active,
.page-contact .contact-flow__list.active {
  color: #fff;
  background-color: var(--color-main);
}
.page-recruit-contact .contact-flow__list.active::before,
.page-contact .contact-flow__list.active::before {
  color: #fff;
}
.page-recruit-contact .recruit-contact-form,
.page-contact .recruit-contact-form {
  margin-top: 4rem;
}
.page-recruit-contact .recruit-contact-form__btn,
.page-contact .recruit-contact-form__btn {
  padding-top: 2rem;
  text-align: center;
}
.page-recruit-contact .contact-form,
.page-contact .contact-form {
  margin-top: 4rem;
}
.page-recruit-contact .contact-form__btn,
.page-contact .contact-form__btn {
  padding-top: 2rem;
  text-align: center;
}
.page-recruit-contact .form-item,
.page-contact .form-item {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  margin-bottom: 4rem;
  padding-bottom: 4rem;
  border-bottom: 1px solid #bfcee2;
}
.page-recruit-contact .form-item label,
.page-contact .form-item label {
  display: inline-flex;
  align-items: center;
  gap: 2rem;
  font-size: 1.8rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .page-recruit-contact .form-item label,
  .page-contact .form-item label {
    font-size: 1.6rem;
  }
}
.page-recruit-contact .form-item label .required,
.page-contact .form-item label .required {
  padding: 0.2rem 0.8rem;
  color: #dd1818;
  background-color: #ffe8e8;
  font-weight: normal;
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .page-recruit-contact .form-item label .required,
  .page-contact .form-item label .required {
    font-size: 1.4rem;
  }
}
.page-recruit-contact .form-item label .optional,
.page-contact .form-item label .optional {
  padding: 0.2rem 0.8rem;
  color: #3f3f41;
  background-color: #e7e7e7;
  font-weight: normal;
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .page-recruit-contact .form-item label .optional,
  .page-contact .form-item label .optional {
    font-size: 1.4rem;
  }
}
.page-recruit-contact .form-item input,
.page-contact .form-item input {
  padding: 1.5rem 2rem;
  width: 100%;
  border: 1px solid #bfcee2;
  border-radius: 1rem;
}
.page-recruit-contact .form-item input::placeholder,
.page-contact .form-item input::placeholder {
  color: #7b7b7b;
}
.page-recruit-contact .form-item select,
.page-contact .form-item select {
  padding: 1.5rem 2rem;
  width: 50%;
  border: 1px solid #bfcee2;
  border-radius: 1rem;
  color: #7b7b7b;
  background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTciIGhlaWdodD0iMTEiIHZpZXdCb3g9IjAgMCAxNyAxMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMS40MTQyMSAwLjU4NTc4Nkw4LjQ4NTI4IDcuNjU2ODVMMTUuNTU2MyAwLjU4NTc4NkwxNi45NzA2IDJMOC40ODUyOCAxMC40ODUzTDAgMkwxLjQxNDIxIDAuNTg1Nzg2WiIgZmlsbD0iIzAwNDA5OCIvPjwvc3ZnPg==") no-repeat;
  background-size: 1.7rem auto;
  background-position: right 2rem center;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}
@media (max-width: 767px) {
  .page-recruit-contact .form-item select,
  .page-contact .form-item select {
    width: 100%;
    background-size: 1.5rem auto;
  }
}
.page-recruit-contact .form-item select option,
.page-contact .form-item select option {
  color: #3f3f41;
}
.page-recruit-contact .form-item select.js-select,
.page-contact .form-item select.js-select {
  color: #3f3f41;
}
.page-recruit-contact .form-item textarea,
.page-contact .form-item textarea {
  padding: 1.5rem 2rem;
  border: 1px solid #bfcee2;
  border-radius: 1rem;
  width: 100%;
}
.page-recruit-contact .form-item textarea::placeholder,
.page-contact .form-item textarea::placeholder {
  color: #7b7b7b;
}
.page-recruit-contact .form-item__checkbox,
.page-contact .form-item__checkbox {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-top: 2rem;
}
.page-recruit-contact .form-item__checkbox label,
.page-contact .form-item__checkbox label {
  font-weight: normal;
}
.page-recruit-contact .form-item__checkbox input[type=checkbox],
.page-contact .form-item__checkbox input[type=checkbox] {
  position: relative;
  padding: 0;
  width: 2.6rem;
  height: 2.6rem;
  background-color: #fff;
  border: 1px solid #bfcee2;
  border-radius: 0.4rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.page-recruit-contact .form-item__checkbox input[type=checkbox]:checked:before,
.page-contact .form-item__checkbox input[type=checkbox]:checked:before {
  position: absolute;
  width: 7px;
  height: 10px;
  border-right: 3px solid var(--color-main);
  border-bottom: 3px solid var(--color-main);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(50deg);
  content: "";
}
.page-recruit-contact .form-item__radio,
.page-contact .form-item__radio {
  display: flex;
  align-items: center;
  gap: 4rem;
}
.page-recruit-contact .form-item__radio-text,
.page-contact .form-item__radio-text {
  display: inline-flex;
  align-items: center;
  gap: 2rem;
  font-size: 1.8rem;
  font-weight: bold;
}
@media (max-width: 767px) {
  .page-recruit-contact .form-item__radio-text,
  .page-contact .form-item__radio-text {
    font-size: 1.6rem;
  }
}
.page-recruit-contact .form-item__radio-text .required,
.page-contact .form-item__radio-text .required {
  padding: 0.2rem 0.8rem;
  color: #dd1818;
  background-color: #ffe8e8;
  font-weight: normal;
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .page-recruit-contact .form-item__radio-text .required,
  .page-contact .form-item__radio-text .required {
    font-size: 1.4rem;
  }
}
.page-recruit-contact .form-item__radio-text .optional,
.page-contact .form-item__radio-text .optional {
  padding: 0.2rem 0.8rem;
  color: #3f3f41;
  background-color: #e7e7e7;
  font-weight: normal;
  border-radius: 0.4rem;
}
@media (max-width: 767px) {
  .page-recruit-contact .form-item__radio-text .optional,
  .page-contact .form-item__radio-text .optional {
    font-size: 1.4rem;
  }
}
.page-recruit-contact .form-item__radio-item,
.page-contact .form-item__radio-item {
  display: flex;
  align-items: center;
}
.page-recruit-contact .form-item label,
.page-contact .form-item label {
  padding-left: 1rem;
  font-weight: normal;
  cursor: pointer;
}
.page-recruit-contact .form-item input[type=radio],
.page-contact .form-item input[type=radio] {
  position: relative;
  padding: 0;
  width: 2.6rem;
  height: 2.6rem;
  border: 1px solid #bfcee2;
  border-radius: 50%;
  vertical-align: -2px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.page-recruit-contact .form-item input[type=radio]:checked:before,
.page-contact .form-item input[type=radio]:checked:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 50%;
  background: var(--color-main);
  content: "";
}
.page-recruit-contact .form-policy,
.page-contact .form-policy {
  padding: 3rem;
  background-color: #f2f7ff;
  border-radius: 1rem;
}
.page-recruit-contact .contact-confirm,
.page-contact .contact-confirm {
  margin-top: 6rem;
}
.page-recruit-contact .contact-confirm__list,
.page-contact .contact-confirm__list {
  display: flex;
  flex-direction: column;
}
.page-recruit-contact .contact-confirm__list > .contact-confirm__item:last-child,
.page-contact .contact-confirm__list > .contact-confirm__item:last-child {
  border-bottom: 1px solid #bfcee2;
}
.page-recruit-contact .contact-confirm__item,
.page-contact .contact-confirm__item {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding: 2rem 0;
  border-top: 1px solid #bfcee2;
}
.page-recruit-contact .contact-confirm__entry,
.page-contact .contact-confirm__entry {
  font-size: 1.8rem;
  font-weight: bold;
}
.page-recruit-contact .contact-confirm__btns,
.page-contact .contact-confirm__btns {
  display: flex;
  justify-content: center;
  gap: 4rem;
  margin: 6rem auto 0;
  width: 90%;
}
@media (max-width: 767px) {
  .page-recruit-contact .contact-confirm__btns,
  .page-contact .contact-confirm__btns {
    flex-direction: column;
    gap: 2rem;
  }
}
.page-recruit-contact .contact-confirm__btns .btn-B,
.page-contact .contact-confirm__btns .btn-B {
  width: calc(50% - 6rem);
}
@media (max-width: 767px) {
  .page-recruit-contact .contact-confirm__btns .btn-B,
  .page-contact .contact-confirm__btns .btn-B {
    width: 100%;
  }
}

.contact-error-message {
  margin-bottom: 6rem !important;
}

.wpcf7-form[data-status=validating] .wpcf7-response-output {
  outline: none !important;
  border-color: transparent !important;
}

@media (max-width: 767px) {
  .page-recruit .kv .l-inner {
    padding: 0 0 0 1.8rem;
  }
}
.page-recruit .kv__img {
  width: 64.3rem;
}
@media (max-width: 767px) {
  .page-recruit .kv__img {
    width: 23.8rem;
    right: 0;
  }
}
.page-recruit .kv__img img {
  text-align: right;
}
@media (max-width: 767px) {
  .page-recruit .kv__img img {
    -webkit-mask-image: none;
    mask-image: none;
    width: 100%;
  }
}
.page-recruit .recruit-about__inner {
  margin: 0 auto;
  max-width: 1100px;
}
@media (max-width: 767px) {
  .page-recruit .recruit-about__inner {
    width: 100%;
  }
}
.page-recruit .recruit-about__img {
  margin-top: 5rem;
  aspect-ratio: 1100/380;
}
.page-recruit .recruit-about__img img {
  width: 100%;
  border-radius: 1rem;
}
@media (max-width: 767px) {
  .page-recruit .recruit-about__img {
    aspect-ratio: 340/240;
  }
}
.page-recruit .recruit-about__text {
  margin-top: 4rem;
}
.page-recruit .recruit-accepting {
  margin: 17rem 0 10rem;
}
@media (max-width: 767px) {
  .page-recruit .recruit-accepting {
    margin: 8rem 0 6rem;
  }
}
.page-recruit .recruit-accepting__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4rem;
  margin-top: 5rem;
}
@media (max-width: 767px) {
  .page-recruit .recruit-accepting__list {
    grid-template-columns: repeat(1, 1fr);
    gap: 3rem;
    margin-top: 3rem;
  }
}
.page-recruit .recruit-accepting__none {
  margin-top: 5rem;
}
@media (max-width: 767px) {
  .page-recruit .recruit-accepting__none {
    margin-top: 3rem;
  }
}
.page-recruit .accepting-item__thumbnail {
  border-radius: 1rem;
  overflow: hidden;
}
.page-recruit .accepting-item__thumbnail img {
  width: 100%;
  transition: all 0.4s ease;
  aspect-ratio: 29/17;
  object-fit: cover;
}
.page-recruit .accepting-item__body {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 2rem;
}
@media (max-width: 767px) {
  .page-recruit .accepting-item__body {
    gap: 1rem;
  }
}
.page-recruit .accepting-item__ttl {
  margin-top: 2rem;
  color: var(--color-main);
  font-size: 2.2rem;
  font-weight: 600;
}
@media (max-width: 767px) {
  .page-recruit .accepting-item__ttl {
    font-size: 1.7rem;
  }
}
.page-recruit .accepting-item__text {
  margin-top: 2rem;
}
@media (max-width: 767px) {
  .page-recruit .accepting-item__text {
    margin-top: 1rem;
  }
}
.page-recruit .accepting-item__btn {
  display: flex;
  align-items: center;
  justify-content: end;
  gap: 1rem;
}
.page-recruit .accepting-item__btn .btn-A__txt {
  background: linear-gradient(90deg, var(--color-sub) 0%, var(--color-sub) 50%, #3f3f41 50%, #3f3f41 100%);
  background-size: 200% 100%;
  background-position: 100% 0;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: 0.4s;
}
@media (hover: hover) and (pointer: fine) {
  .page-recruit .accepting-item a:hover .accepting-item__thumbnail img {
    transform: scale(1.15);
  }
  .page-recruit .accepting-item a:hover .btn-icon {
    transform: translateX(0.5rem);
  }
  .page-recruit .accepting-item a:hover .btn-A__txt {
    background-position: 0% 0;
  }
}
.page-recruit .recruit-entry {
  margin: 5rem 0;
}
.page-recruit .recruit-entry__box {
  position: relative;
  padding: 8rem 0;
  width: 100%;
  background: url("../images/recruit/recruit-entry-bg.webp") no-repeat center;
  background-size: cover;
  border-radius: 2rem;
  overflow: hidden;
}
@media (max-width: 767px) {
  .page-recruit .recruit-entry__box {
    padding: 4rem 0;
    text-align: center;
  }
}
.page-recruit .recruit-entry__text {
  margin-top: 4rem;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 600;
}
@media (max-width: 767px) {
  .page-recruit .recruit-entry__text {
    margin-top: 2rem;
  }
}
.page-recruit .recruit-entry__btn {
  margin-top: 4rem;
  text-align: center;
}
@media (max-width: 767px) {
  .page-recruit .recruit-entry__btn {
    margin-top: 2rem;
  }
}
.page-recruit .recruit-entry__btn a {
  display: inline-flex;
}

@media (max-width: 767px) {
  .single-recruit .contents {
    padding: 4rem 0 0;
  }
}

.btn-A a {
  display: flex;
  align-items: center;
  justify-content: end;
  gap: 1.5rem;
}
.btn-A a .btn-A__txt {
  background: linear-gradient(90deg, var(--color-sub) 0%, var(--color-sub) 50%, #3f3f41 50%, #3f3f41 100%);
  background-size: 200% 100%;
  background-position: 100% 0;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: 0.4s;
}
@media (hover: hover) and (pointer: fine) {
  .btn-A a:hover .btn-icon {
    transform: translateX(0.5rem);
  }
  .btn-A a:hover .btn-A__txt {
    background-position: 0% 0;
  }
}
.btn-A__txt {
  font-weight: 500;
}
.btn-A.--prev .btn-icon {
  transform: rotate(180deg);
}
@media (hover: hover) and (pointer: fine) {
  .btn-A.--prev:hover .btn-icon {
    transform: rotate(180deg) translateX(0.5rem);
  }
}

.btn-B {
  pointer-events: auto;
  position: relative;
}
.btn-B a, .btn-B span {
  position: relative;
  display: block;
  color: #fff;
  background: var(--grad-skyblue);
  padding: 1.5rem 7rem 1.5rem 5rem;
  text-align: center;
  border-radius: 5rem;
  cursor: pointer;
}
@media (hover: hover) and (pointer: fine) {
  .btn-B:hover .btn-B__icon {
    right: 0.8rem;
  }
}
.btn-B__icon {
  position: absolute;
  top: 50%;
  right: 1.2rem;
  transform: translateY(-50%);
  width: 3.2rem;
  height: 3.2rem;
  transition: 0.25s all;
}
@media (max-width: 767px) {
  .btn-B__icon {
    right: 1rem;
  }
}
.btn-B.--reverse a, .btn-B.--reverse span {
  padding: 1.5rem 5rem 1.5rem 7rem;
}
.btn-B.--reverse .btn-B__icon {
  right: auto;
  left: 1.2rem;
  transform: scale(-1, 1) translateY(-50%);
}
@media (max-width: 767px) {
  .btn-B.--reverse .btn-B__icon {
    left: 1rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .btn-B.--reverse:hover .btn-B__icon {
    left: 0.8rem;
  }
}
.btn-B.--disabled {
  pointer-events: none;
}
.btn-B.--disabled a, .btn-B.--disabled span {
  background: #bfbebe;
}
.btn-B.--back a, .btn-B.--back span {
  background: #bfbebe;
}

.btn-icon {
  width: 3.6rem;
  height: 3.6rem;
  position: relative;
  transform: translateX(0);
  transition: transform 0.4s ease;
}
@media (hover: hover) and (pointer: fine) {
  .btn-icon:hover {
    transform: translateX(0.5rem);
  }
}
.btn-icon.--reverse {
  transform: scale(-1, 1) translateX(0);
}

.x-icon {
  display: block;
}
.x-icon a {
  width: 5.2rem;
  height: 5.2rem;
  background: #333333;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.3s all;
}
@media (hover: hover) and (pointer: fine) {
  .x-icon a:hover {
    opacity: 0.7;
  }
}
@media (max-width: 767px) {
  .x-icon a {
    width: 4.6rem;
    height: 4.6rem;
  }
}
.x-icon a img {
  width: 2rem;
}
@media (max-width: 767px) {
  .x-icon a img {
    width: 1.7rem;
  }
}
.x-icon.active {
  display: none;
}

.pagetop {
  width: 7rem;
  height: 7rem;
  position: fixed;
  bottom: 2%;
  right: 2%;
  z-index: 999;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition: 0.25s all;
}
.pagetop.active {
  opacity: 1;
  pointer-events: all;
}

.hmb-btn {
  position: relative;
  cursor: pointer;
  height: 4.6rem;
  width: 4.6rem;
}
.hmb-btn__inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.hmb-btn__hmb {
  position: relative;
  width: 2.2rem;
  height: 1.5rem;
}
.hmb-btn__hmb span {
  display: inline-block;
  transition: all 0.25s;
  /* アニメーションの設定 */
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  height: 2px;
  background: #fff;
  width: 80%;
}
.hmb-btn__hmb span:nth-of-type(1) {
  top: 0;
}
.hmb-btn__hmb span:nth-of-type(2) {
  top: 50%;
  transform: translate(-50%, 0);
}
.hmb-btn__hmb span:nth-of-type(3) {
  top: 100%;
}

.hmb-btn.active .hmb-btn__hmb span:nth-of-type(1) {
  top: 50%;
  left: 50%;
  transform: translateX(-50%) rotate(-45deg);
  width: 90%;
}
.hmb-btn.active .hmb-btn__hmb span:nth-of-type(2) {
  width: 50%;
  opacity: 0;
  /* 真ん中の線は透過 */
}
.hmb-btn.active .hmb-btn__hmb span:nth-of-type(3) {
  top: 50%;
  left: 50%;
  width: 90%;
  transform: translateX(-50%) rotate(45deg);
}

.heading-A {
  display: inline-flex;
  flex-direction: column;
}
@media (max-width: 767px) {
  .heading-A {
    width: fit-content;
  }
}
.heading-A__en {
  font-family: "Kumbh Sans", sans-serif;
  font-size: 4.8rem;
  font-weight: 600;
  line-height: 130%;
}
.heading-A__en.--large {
  font-size: 6rem;
}
.heading-A__ja {
  font-size: 1.6rem;
  font-weight: 500;
}
.heading-A.--white {
  color: #fff;
}
.heading-A.--center {
  display: flex;
  text-align: center;
}
@media (max-width: 767px) {
  .heading-A.--center {
    width: 100%;
  }
}
.heading-A.--gradation .heading-A__en > span {
  background: var(--grad-blue);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.heading-B {
  font-size: 3rem;
  font-weight: 500;
  color: var(--color-main);
  padding-bottom: 4rem;
  border-bottom: 1px solid #b5b5b5;
  margin-bottom: 5rem;
  line-height: 125%;
}
@media (max-width: 767px) {
  .heading-B {
    font-size: 2.6rem;
    padding-bottom: 1.5rem;
    margin-bottom: 3rem;
    line-height: 140%;
  }
}
.heading-B.--contact {
  color: var(--color-sub);
  font-size: 2.2rem;
}
@media (max-width: 767px) {
  .heading-B.--contact {
    font-size: 2rem;
  }
}

.heading-C {
  position: relative;
  color: var(--color-main);
  font-size: 3.5rem;
  font-weight: 500;
  line-height: 125%;
  margin: 4rem 0 5rem;
}
@media (max-width: 767px) {
  .heading-C {
    font-size: 2.7rem;
    line-height: 140%;
    margin: 4rem 0;
  }
}
.heading-C::before {
  position: absolute;
  content: "";
  background: linear-gradient(90deg, #3f8cf6 0%, #99bdff 100%);
  width: 9rem;
  height: 0.3rem;
  top: -3rem;
  left: 0;
}
@media (max-width: 767px) {
  .heading-C::before {
    top: -2rem;
  }
}

.heading-square {
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  background: var(--color-main);
  padding: 1rem 0;
  text-align: center;
  margin-bottom: 3rem;
}
@media (max-width: 767px) {
  .heading-square {
    font-size: 1.3rem;
    line-height: 120%;
  }
}

.single-heading {
  font-size: 3rem;
  font-weight: 500;
  padding: 2rem 0 4rem;
  border-bottom: 1px solid #E7E7E7;
  line-height: 140%;
}
@media (max-width: 767px) {
  .single-heading {
    font-size: 2.2rem;
    padding: 1rem 0 2rem;
  }
}

.header {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  background: #fff;
  padding: 2rem 4rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 1000;
}
@media (max-width: 767px) {
  .header {
    padding: 1rem 1.8rem;
  }
}
.header__logo {
  width: 16.5rem;
}
@media (max-width: 767px) {
  .header__logo {
    width: 13.5rem;
  }
}
.header__logo a {
  display: block;
}
.header__nav-area {
  display: flex;
  align-items: center;
  gap: 3rem;
}
@media (max-width: 767px) {
  .header__nav-area {
    gap: 1rem;
  }
}
.header__nav {
  display: flex;
  align-items: center;
  gap: 3rem;
}
.header__nav li {
  font-weight: 500;
}
.header__nav li a {
  background: linear-gradient(90deg, var(--color-sub) 0%, var(--color-sub) 50%, #3F3F41 50%, #3F3F41 100%);
  background-size: 200% 100%;
  background-position: 100% 0;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: 0.5s;
}
@media (hover: hover) and (pointer: fine) {
  .header__nav li a:hover {
    background-position: 0% 0;
  }
}
.header__hmbbtn {
  background: var(--grad-skyblue);
  border-radius: 50%;
}
.header--clone {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  transform: translateY(0%);
  transition: transform 0.25s ease;
}
.header--clone.hidden {
  transform: translateY(-100%);
}
.header--clone.is-top {
  transform: translateY(-110%);
}
@media (max-width: 1050px) {
  .header .btn-B a {
    padding: 1.5rem 5rem 1.5rem 2rem;
  }
}

.has-header {
  position: relative;
  padding-right: 1.5rem;
}
.has-header::after {
  position: absolute;
  content: "";
  width: 1.2rem;
  height: 1.2rem;
  line-height: 1;
  color: var(--color-sub);
  transform: translateY(-50%);
  right: 0;
  top: 50%;
  background-image: linear-gradient(currentColor, currentColor), linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: center, center;
  background-size: 100% 2px, 2px 100%;
}
.has-header.active::after {
  content: "";
  background-size: 100% 2px, 0 100%;
}
.has-header.active::before {
  content: "";
  position: absolute;
  left: 0;
  top: 100%;
  width: 100%;
  height: 3rem;
}
.has-header .header-hover-menu {
  width: 35rem;
  position: absolute;
  top: 160%;
  left: -2rem;
  background: #fff;
  border-radius: 1.5rem;
  padding: 1rem 3rem;
  box-shadow: 0 0 10px 0 rgba(85, 126, 209, 0.2);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s linear, transform 0.25s ease;
}
.has-header .header-hover-menu::after {
  position: absolute;
  content: "";
  border-bottom: 1px solid rgba(191, 190, 190, 0.3);
  width: 85%;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
}
.has-header .header-hover-menu a {
  position: relative;
  display: block;
  padding: 1.8rem 0;
}
.has-header .header-hover-menu a::after {
  position: absolute;
  content: "";
  background: url("../images/common/header-arrow.svg") no-repeat center;
  background-size: contain;
  width: 1.9rem;
  height: 1.9rem;
  transform: translateY(-50%);
  top: 53%;
  right: 0;
}
.has-header .header-hover-menu.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.has-header .header-hover-menu.active .header-hover-menu::before {
  content: "";
  position: absolute;
  left: 0;
  top: 100%;
  width: 100%;
  height: 3rem;
}

.menu {
  position: fixed;
  top: 6.5rem;
  left: 0;
  width: 100%;
  height: 100vh;
  background: #fff;
  padding: 4rem 1.8rem 0 1.8rem;
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  transition: 0.4s all;
}
.menu.open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.menu__nav {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  font-size: 1.6rem;
}
.menu__nav a {
  display: block;
  padding-bottom: 1.6rem;
  border-bottom: 1px solid rgba(181, 181, 181, 0.4);
}
.menu__nav .menu-service {
  margin-top: 1.8rem;
  margin-left: 1rem;
}
.menu__nav .menu-service a {
  font-size: 1.4rem;
  padding-bottom: 0.5rem;
  border-bottom: 0;
}
.menu__contact-area {
  display: flex;
  align-items: center;
  gap: 2rem;
  margin-top: 4rem;
}
.menu__contact-area .btn-B a {
  font-size: 1.4rem;
  padding: 1.5rem 6.5rem 1.5rem 4rem;
}
.menu__contact-area .x-icon a {
  width: 4.8rem;
  height: 4.8rem;
}

.footer {
  background: #323B4D;
  color: #fff;
  padding: 7rem 0;
}
@media (max-width: 767px) {
  .footer {
    padding: 4rem 0;
  }
}
.footer__inner {
  margin: 0 auto;
  width: 1300px;
}
@media (max-width: 1400px) {
  .footer__inner {
    width: 90%;
  }
}
@media (max-width: 767px) {
  .footer__inner {
    width: 100%;
    padding: 0 1.8rem;
    margin: 0;
  }
}
.footer .footer-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 8rem;
}
@media (max-width: 767px) {
  .footer .footer-top {
    flex-direction: column;
    gap: 5rem;
    margin-bottom: 10rem;
  }
}
.footer .footer-top__logo {
  margin-bottom: 2rem;
}
@media (max-width: 767px) {
  .footer .footer-top__logo {
    width: 18rem;
  }
}
.footer .footer-top__company {
  font-weight: 300;
}
.footer .footer-top__company-name {
  font-size: 1.6rem;
}
@media (max-width: 767px) {
  .footer .footer-top__company-name {
    font-size: 1.5rem;
  }
}
.footer .footer-top__company-address {
  font-size: 1.4rem;
  margin-top: 2rem;
}
.footer .footer-top__sns a {
  display: inline-flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.1294117647);
  padding: 1rem 2rem;
  border-radius: 5rem;
  margin-top: 4.5rem;
  transition: 0.3s all;
}
@media (hover: hover) and (pointer: fine) {
  .footer .footer-top__sns a:hover {
    opacity: 0.7;
  }
}
@media (max-width: 767px) {
  .footer .footer-top__sns a {
    margin-top: 3.5rem;
    padding: 1rem 2rem;
  }
}
.footer .footer-top__sns a img {
  padding-right: 1rem;
  border-right: 1px solid rgba(255, 255, 255, 0.4);
}
.footer .footer-top__sns a span {
  position: relative;
  font-size: 1.4rem;
  padding: 0 3rem 0 1rem;
}
.footer .footer-top__sns a span::after {
  position: absolute;
  content: "";
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M5.5%200C4.83696%200%204.20107%200.263392%203.73223%200.732233C3.26339%201.20107%203%201.83696%203%202.5V10.5C3%2011.163%203.26339%2011.7989%203.73223%2012.2678C4.20107%2012.7366%204.83696%2013%205.5%2013H13.5C14.163%2013%2014.7989%2012.7366%2015.2678%2012.2678C15.7366%2011.7989%2016%2011.163%2016%2010.5V2.5C16%201.83696%2015.7366%201.20107%2015.2678%200.732233C14.7989%200.263392%2014.163%200%2013.5%200H5.5ZM15%202.5V3H8.5C8.36739%203%208.24021%202.94732%208.14645%202.85355C8.05268%202.75979%208%202.63261%208%202.5V1H13.5C13.8978%201%2014.2794%201.15804%2014.5607%201.43934C14.842%201.72064%2015%202.10218%2015%202.5ZM7%202.5C7%202.89782%207.15804%203.27936%207.43934%203.56066C7.72064%203.84196%208.10218%204%208.5%204H15V10.5C15%2010.8978%2014.842%2011.2794%2014.5607%2011.5607C14.2794%2011.842%2013.8978%2012%2013.5%2012H5.5C5.10218%2012%204.72064%2011.842%204.43934%2011.5607C4.15804%2011.2794%204%2010.8978%204%2010.5V2.5C4%202.10218%204.15804%201.72064%204.43934%201.43934C4.72064%201.15804%205.10218%201%205.5%201H7V2.5ZM10.5%2016C11.0763%2016.0001%2011.635%2015.8011%2012.0815%2015.4367C12.5279%2015.0722%2012.8347%2014.5647%2012.95%2014H11.915C11.8116%2014.2926%2011.6199%2014.5459%2011.3665%2014.725C11.1131%2014.9041%2010.8103%2015.0002%2010.5%2015H4C3.20435%2015%202.44129%2014.6839%201.87868%2014.1213C1.31607%2013.5587%201%2012.7956%201%2012V5.5C0.999837%205.18967%201.09593%204.88694%201.27503%204.63351C1.45413%204.38008%201.70742%204.18844%202%204.085V3.05C1.43532%203.16527%200.927802%203.47209%200.563347%203.91855C0.198892%204.36501%20-0.000117575%204.92367%205.21142e-08%205.5V12C5.21142e-08%2013.0609%200.421427%2014.0783%201.17157%2014.8284C1.92172%2015.5786%202.93913%2016%204%2016H10.5Z%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E") no-repeat center;
  background-size: contain;
  width: 1.6rem;
  height: 1.6rem;
  transform: translateY(-50%);
  top: 50%;
  right: 0;
}
.footer .footer-top__nav {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 0 4rem;
}
@media (max-width: 767px) {
  .footer .footer-top__nav {
    width: 100%;
    flex-direction: column;
    gap: 0 2rem;
  }
}
.footer .footer-top__nav li {
  width: 3.5rem;
  flex: 0 0 calc(50% - 2rem);
  margin-top: 3rem;
}
@media (max-width: 767px) {
  .footer .footer-top__nav li {
    margin-top: 2rem;
    margin-bottom: 2rem;
    width: 100%;
    flex: none;
    order: 5;
  }
}
@media (max-width: 767px) {
  .footer .footer-top__nav li:nth-child(1) {
    order: 1;
  }
}
@media (max-width: 767px) {
  .footer .footer-top__nav li:nth-child(2) {
    order: 2;
  }
}
@media (max-width: 767px) {
  .footer .footer-top__nav li:nth-child(3) {
    order: 3;
    margin-bottom: 1rem;
  }
}
.footer .footer-top__nav li a {
  display: block;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid rgba(181, 181, 181, 0.4);
  transition: 0.3s all;
}
@media (hover: hover) and (pointer: fine) {
  .footer .footer-top__nav li a:hover {
    opacity: 0.7;
  }
}
.footer .footer-top__nav .nav-service {
  padding-bottom: 1.5rem;
  border-bottom: 1px solid rgba(181, 181, 181, 0.4);
}
.footer .footer-top__nav .sp-service {
  margin-top: 0;
}
@media (max-width: 767px) {
  .footer .footer-top__nav .sp-service {
    order: 4;
  }
}
.footer .footer-top__nav-service {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.footer .footer-top__nav-service li {
  width: 100%;
  margin-top: 0;
}
@media (max-width: 767px) {
  .footer .footer-top__nav-service li {
    margin-bottom: 0;
    padding-left: 1rem;
  }
}
.footer .footer-top__nav-service li a {
  padding-bottom: 0;
  font-size: 1.4rem;
  color: #C5C5C5;
  border-bottom: none;
}
.footer .footer-bottom {
  padding-top: 2rem;
  border-top: 1px solid rgba(191, 190, 190, 0.3);
}
.footer .footer-bottom__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 2rem;
  font-size: 1.3rem;
  color: #BFBEBE;
}
.footer .footer-bottom__nav li a {
  transition: 0.3s all;
}
@media (hover: hover) and (pointer: fine) {
  .footer .footer-bottom__nav li a:hover {
    opacity: 0.7;
  }
}
.footer .footer-bottom__copy {
  font-size: 1.4rem;
  color: #7B7B7B;
  margin-top: 0.5rem;
}
@media (max-width: 767px) {
  .footer .footer-bottom__copy {
    margin-top: 3rem;
  }
}

.contact a {
  position: relative;
  display: block;
  color: #fff;
  padding: 7rem 0;
  z-index: 1;
  overflow: hidden;
}
@media (max-width: 767px) {
  .contact a {
    text-align: center;
    padding: 4rem 0 10rem;
  }
}
.contact a::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: url("../images/common/contact-bg.webp") no-repeat center/cover;
  transform: scale(1);
  transition: transform 0.4s ease;
  will-change: transform;
  z-index: -1;
}
@media (max-width: 767px) {
  .contact a::before {
    background: url("../images/common/contact-bg-sp.webp") no-repeat center;
    background-size: cover;
  }
}
.contact a::after {
  position: absolute;
  content: "";
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2244%22%20height%3D%2244%22%20viewBox%3D%220%200%2044%2044%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M26.0423%2021.6409L20.5215%2027.1617L19.1625%2025.8027L23.3244%2021.6409L19.1625%2017.4791L20.5215%2016.1201L26.0423%2021.6409Z%22%20fill%3D%22white%22%2F%3E%3Ccircle%20cx%3D%2222%22%20cy%3D%2222%22%20r%3D%2220.6%22%20stroke%3D%22white%22%20stroke-width%3D%220.8%22%2F%3E%3C%2Fsvg%3E") no-repeat center;
  background-size: contain;
  width: 7.5rem;
  height: 7.5rem;
  transform: translateY(-50%);
  top: 50%;
  right: 10%;
  transition: 0.4s all;
}
@media (max-width: 767px) {
  .contact a::after {
    width: 4.2rem;
    height: 4.2rem;
    right: auto;
    transform: translateX(-50%);
    top: 75%;
    left: 50%;
  }
}
@media (hover: hover) and (pointer: fine) {
  .contact a:hover::before {
    transform: scale(1.08);
  }
}
@media (max-width: 767px) {
  .contact .heading-A__en {
    font-size: 4.8rem;
  }
}
.contact__txt {
  font-size: 1.6rem;
  font-weight: 500;
  margin-top: 4rem;
}
@media (max-width: 767px) {
  .contact__txt {
    margin-top: 2rem;
    font-weight: 400;
  }
}

.mv .mv-bg,
.mv .mv__ttl-area,
.mv .mv-group {
  opacity: 0;
  visibility: hidden;
}

.mv {
  position: relative;
}
.mv__ttl-area {
  position: absolute;
  top: 7%;
  left: 7%;
  display: inline-flex;
  flex-direction: column;
}
@media (max-width: 767px) {
  .mv__ttl-area {
    width: 100%;
    gap: 16rem;
    top: 3rem;
    left: 0;
    padding: 0 1.8rem;
  }
}
.mv__ttl {
  font-size: 4.1666666667vw;
  font-weight: 500;
  margin-bottom: 2.4rem;
  line-height: normal;
}
@media (max-width: 767px) {
  .mv__ttl {
    font-size: 3rem;
    width: fit-content;
  }
}
.mv__txt {
  font-size: 0.9722222222vw;
  font-weight: 500;
  line-height: 1.9444444444vw;
}
@media (max-width: 767px) {
  .mv__txt {
    font-size: 1.4rem;
    line-height: 160%;
    text-align: right;
    font-feature-settings: "palt";
  }
}
.mv .mv-group {
  position: absolute;
  right: 6%;
  bottom: 10%;
  width: 33.3333333333vw;
  margin-left: auto;
}
@media (max-width: 767px) {
  .mv .mv-group {
    width: 100%;
    right: 0;
    bottom: 5%;
    padding: 0 1.8rem;
  }
}
.mv .mv-group__ttl {
  position: relative;
  font-size: 1.1111111111vw;
  font-weight: 500;
  width: 100%;
}
@media (max-width: 767px) {
  .mv .mv-group__ttl {
    font-size: 1.3rem;
  }
}
.mv .mv-group__ttl::after {
  content: "";
  position: absolute;
  width: 11.1111111111vw;
  height: 1.5px;
  background: var(--grad-skyblue);
  transform: translateY(-50%);
  top: 50%;
  right: 0;
}
@media (max-width: 767px) {
  .mv .mv-group__ttl::after {
    width: 8.4rem;
    height: 1px;
  }
}
.mv .mv-group__img-area {
  display: flex;
  gap: 2rem;
  margin: 0.6944444444vw 0 1.3888888889vw;
}
@media (max-width: 767px) {
  .mv .mv-group__img-area {
    gap: 1rem;
    margin: 0.5rem 0 2.5rem;
  }
}
.mv .mv-group__img-area a {
  width: calc((100% - 2rem) / 2);
  background: #fff;
  border-radius: 1rem;
  padding: 2rem 1.5rem;
  display: flex;
}
@media (max-width: 767px) {
  .mv .mv-group__img-area a {
    width: calc((100% - 1rem) / 2);
    padding: 1.7rem 1rem;
  }
}
.mv .mv-group__img-area img {
  width: 100%;
}
.mv .mv-group a {
  transition: 0.3s all;
  box-shadow: 0 0 10px 0 rgba(85, 126, 209, 0.2);
}
@media (max-width: 767px) {
  .mv .mv-group a {
    box-shadow: 0 0 7.063px 0 rgba(85, 126, 209, 0.2);
  }
}
@media (hover: hover) and (pointer: fine) {
  .mv .mv-group a:hover {
    opacity: 0.7;
  }
}

.kv {
  position: relative;
  width: 100%;
  background: url("../images/common/kv-bg.webp") no-repeat center;
  background-size: cover;
  height: 24rem;
  overflow: hidden;
}
@media (max-width: 767px) {
  .kv {
    background: url("../images/common/kv-bg-sp.webp") no-repeat center;
    background-size: cover;
    height: 20.4rem;
    overflow: hidden;
  }
}
.kv__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2.5rem;
  height: 100%;
}
.kv__txt-area {
  position: relative;
  z-index: 1;
}
.kv__label {
  display: inline-block;
  font-size: clamp(1rem, 1.2vw, 1.4rem);
  font-weight: 500;
  color: #fff;
  background: var(--grad-skyblue);
  border-radius: 0.5rem;
  padding: 0 1rem;
}
@media (max-width: 767px) {
  .kv__label {
    font-size: 1.2rem;
    padding: 0 1rem;
  }
}
.kv__ttl {
  font-size: clamp(2.2rem, 3.33vw, 4rem);
  font-weight: 500;
  line-height: 140%;
  padding: 1rem 0;
}
@media (max-width: 767px) {
  .kv__ttl {
    font-size: 2.8rem;
    line-height: 130%;
  }
}
.kv__ttl-en {
  font-family: "Kumbh Sans", sans-serif;
  color: var(--color-sub);
  font-size: clamp(1.2rem, 1.5vw, 1.8rem);
  font-weight: 600;
  line-height: 120%;
}
@media (max-width: 767px) {
  .kv__ttl-en {
    font-size: 1.3rem;
  }
}
.kv__img {
  width: 53rem;
}
@media (max-width: 767px) {
  .kv__img {
    position: absolute;
    width: 100%;
    right: 0;
    transform: translateY(-50%);
    top: 50%;
    z-index: 0;
  }
}
@media (max-width: 767px) {
  .kv__img img {
    display: block;
    -webkit-mask-image: linear-gradient(to left, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 90%);
    mask-image: linear-gradient(to left, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0) 90%);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
  }
}

.acc {
  margin: 2.5rem 0;
}
@media (max-width: 767px) {
  .acc {
    margin: 2rem 0;
  }
}
.acc__header {
  cursor: pointer;
}
.acc__body {
  max-height: 0;
  transition: 0.25s;
  transition-timing-function: linear;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
}
.acc__body.active {
  opacity: 1;
  visibility: visible;
  max-height: 10000px;
  height: auto;
}

sup {
  font-size: 1rem;
  vertical-align: super;
}

.font-kumbh {
  font-family: "Kumbh Sans", sans-serif;
}

.grad-txt-blue {
  display: inline-block;
  background-image: var(--grad-blue);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  -webkit-background-clip: text;
  /* Safari/Chrome */
  background-clip: text;
  -webkit-text-fill-color: transparent;
  /* Safari/Chrome */
  color: transparent;
}

.grad-txt-sky {
  display: inline-block;
  background-image: var(--grad-skyblue);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  -webkit-background-clip: text;
  /* Safari/Chrome */
  background-clip: text;
  -webkit-text-fill-color: transparent;
  /* Safari/Chrome */
  color: transparent;
}

.note-txt {
  color: #7b7b7b;
  font-size: 1.4rem;
  line-height: 175%;
}
@media (max-width: 767px) {
  .note-txt {
    font-size: 1.2rem;
  }
}

.link {
  color: var(--color-main);
  text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
  .link:hover {
    text-decoration: none;
  }
}

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

.u-ul-num-colon {
  list-style: none;
  padding-left: 0;
}
.u-ul-num-colon > li {
  position: relative;
  padding-left: 1.5em;
  counter-increment: number;
}
.u-ul-num-colon > li::before {
  content: counter(number) ".";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
}

.external-link {
  position: relative;
  padding-right: 2rem;
  text-decoration: underline;
}
.external-link::after {
  position: absolute;
  width: 1.6rem;
  height: 1.6rem;
  background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNS41IDBDNC44MzY5NiAwIDQuMjAxMDcgMC4yNjMzOTIgMy43MzIyMyAwLjczMjIzM0MzLjI2MzM5IDEuMjAxMDcgMyAxLjgzNjk2IDMgMi41VjEwLjVDMyAxMS4xNjMgMy4yNjMzOSAxMS43OTg5IDMuNzMyMjMgMTIuMjY3OEM0LjIwMTA3IDEyLjczNjYgNC44MzY5NiAxMyA1LjUgMTNIMTMuNUMxNC4xNjMgMTMgMTQuNzk4OSAxMi43MzY2IDE1LjI2NzggMTIuMjY3OEMxNS43MzY2IDExLjc5ODkgMTYgMTEuMTYzIDE2IDEwLjVWMi41QzE2IDEuODM2OTYgMTUuNzM2NiAxLjIwMTA3IDE1LjI2NzggMC43MzIyMzNDMTQuNzk4OSAwLjI2MzM5MiAxNC4xNjMgMCAxMy41IDBINS41Wk0xNSAyLjVWM0g4LjVDOC4zNjczOSAzIDguMjQwMjEgMi45NDczMiA4LjE0NjQ1IDIuODUzNTVDOC4wNTI2OCAyLjc1OTc5IDggMi42MzI2MSA4IDIuNVYxSDEzLjVDMTMuODk3OCAxIDE0LjI3OTQgMS4xNTgwNCAxNC41NjA3IDEuNDM5MzRDMTQuODQyIDEuNzIwNjQgMTUgMi4xMDIxOCAxNSAyLjVaTTcgMi41QzcgMi44OTc4MiA3LjE1ODA0IDMuMjc5MzYgNy40MzkzNCAzLjU2MDY2QzcuNzIwNjQgMy44NDE5NiA4LjEwMjE4IDQgOC41IDRIMTVWMTAuNUMxNSAxMC44OTc4IDE0Ljg0MiAxMS4yNzk0IDE0LjU2MDcgMTEuNTYwN0MxNC4yNzk0IDExLjg0MiAxMy44OTc4IDEyIDEzLjUgMTJINS41QzUuMTAyMTggMTIgNC43MjA2NCAxMS44NDIgNC40MzkzNCAxMS41NjA3QzQuMTU4MDQgMTEuMjc5NCA0IDEwLjg5NzggNCAxMC41VjIuNUM0IDIuMTAyMTggNC4xNTgwNCAxLjcyMDY0IDQuNDM5MzQgMS40MzkzNEM0LjcyMDY0IDEuMTU4MDQgNS4xMDIxOCAxIDUuNSAxSDdWMi41Wk0xMC41IDE2QzExLjA3NjMgMTYuMDAwMSAxMS42MzUgMTUuODAxMSAxMi4wODE1IDE1LjQzNjdDMTIuNTI3OSAxNS4wNzIyIDEyLjgzNDcgMTQuNTY0NyAxMi45NSAxNEgxMS45MTVDMTEuODExNiAxNC4yOTI2IDExLjYxOTkgMTQuNTQ1OSAxMS4zNjY1IDE0LjcyNUMxMS4xMTMxIDE0LjkwNDEgMTAuODEwMyAxNS4wMDAyIDEwLjUgMTVINEMzLjIwNDM1IDE1IDIuNDQxMjkgMTQuNjgzOSAxLjg3ODY4IDE0LjEyMTNDMS4zMTYwNyAxMy41NTg3IDEgMTIuNzk1NiAxIDEyVjUuNUMwLjk5OTgzNyA1LjE4OTY3IDEuMDk1OTMgNC44ODY5NCAxLjI3NTAzIDQuNjMzNTFDMS40NTQxMyA0LjM4MDA4IDEuNzA3NDIgNC4xODg0NCAyIDQuMDg1VjMuMDVDMS40MzUzMiAzLjE2NTI3IDAuOTI3ODAyIDMuNDcyMDkgMC41NjMzNDcgMy45MTg1NUMwLjE5ODg5MiA0LjM2NTAxIC0wLjAwMDExNzU3NSA0LjkyMzY3IDUuMjExNDJlLTA4IDUuNVYxMkM1LjIxMTQyZS0wOCAxMy4wNjA5IDAuNDIxNDI3IDE0LjA3ODMgMS4xNzE1NyAxNC44Mjg0QzEuOTIxNzIgMTUuNTc4NiAyLjkzOTEzIDE2IDQgMTZIMTAuNVoiIGZpbGw9IiMzRjNGNDEiLz48L3N2Zz4=") no-repeat;
  background-size: contain;
  top: 50%;
  right: 2px;
  transform: translateY(-50%);
  content: "";
}
.external-link:hover {
  opacity: 0.7;
}

.description {
  position: relative;
  border: 1px solid rgba(164, 193, 221, 0.6);
  border-radius: 1.5rem;
  padding: 2.5rem 3rem;
  margin-top: 6rem;
}
@media (max-width: 767px) {
  .description {
    padding: 2rem 2rem 2.5rem 2rem;
    margin-top: 7rem;
  }
}
.description__ttl {
  font-size: 2.2rem;
  font-weight: 500;
  position: absolute;
  top: -2.2rem;
  left: 2rem;
  background: #fff;
  padding: 0 0.5rem;
}
@media (max-width: 767px) {
  .description__ttl {
    font-size: 2rem;
    top: -2rem;
    left: 1.4rem;
    line-height: 140%;
  }
}
.description__txt {
  font-size: 1.6rem;
}
@media (max-width: 767px) {
  .description__txt {
    font-size: 1.4rem;
  }
}

.cate-list {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid #E7E7E7;
}
.cate-list .cate-item,
.cate-list .cate-item__newslist {
  position: relative;
  font-size: 1.4rem;
  font-weight: 500;
  border-radius: 5rem;
  padding: 0.3rem 2rem;
  cursor: pointer;
}
@media (max-width: 767px) {
  .cate-list .cate-item,
  .cate-list .cate-item__newslist {
    padding: 0.3rem 1.5rem;
  }
}
.cate-list .cate-item::before,
.cate-list .cate-item__newslist::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: var(--grad-skyblue);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  z-index: 0;
}
.cate-list .cate-item.active,
.cate-list .cate-item__newslist.active {
  color: #fff;
  -webkit-text-fill-color: #fff;
  background: var(--grad-skyblue);
}

.news-item a {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding: 3rem 0;
  border-bottom: 1px solid #E7E7E7;
  transition: 0.45s all;
}
@media (max-width: 767px) {
  .news-item a {
    padding: 2.5rem 0;
    gap: 1rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .news-item a:hover .news-ttl {
    background-position: 0% 0;
  }
}

.news-head {
  display: flex;
  align-items: center;
  gap: 3rem;
}
@media (max-width: 767px) {
  .news-head {
    gap: 1rem;
  }
}
.news-head-time {
  color: #69727F;
  font-weight: 500;
}
@media (max-width: 767px) {
  .news-head-time {
    font-size: 1.3rem;
  }
}
.news-head-cate {
  font-size: 1.4rem;
  font-weight: 500;
  background: rgba(191, 190, 190, 0.3);
  border-radius: 5rem;
  padding: 0.3rem 2rem;
}
@media (max-width: 767px) {
  .news-head-cate {
    font-size: 1.2rem;
    padding: 0 1rem;
  }
}

.news-ttl {
  font-weight: 500;
  background: linear-gradient(90deg, var(--color-sub) 0%, var(--color-sub) 50%, #3F3F41 50%, #3F3F41 100%);
  background-size: 200% 100%;
  background-position: 100% 0;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: 0.9s;
}

.news-search__keyword {
  margin-top: 2rem;
  padding-bottom: 2rem;
  border-bottom: #004098 1px solid;
  display: flex;
  align-items: baseline;
}
@media (max-width: 767px) {
  .news-search__keyword {
    flex-direction: column;
    gap: 1rem;
  }
}
.news-search__ttl {
  color: #3F3F41;
  font-size: 2rem;
  font-weight: 500;
  line-height: 3rem;
}
.news-search__ttl-result {
  font-size: 3rem;
  margin-right: 2rem;
  line-height: 3.5rem;
}
@media (max-width: 767px) {
  .news-search__ttl-result {
    font-size: 2.5rem;
    line-height: 3rem;
  }
}

.non_search {
  border-bottom: #E7E7E7 1px solid;
}

.faq__question {
  position: relative;
  background: #F2F7FF;
  padding: 3.5rem 9rem;
  border-radius: 1rem;
}
@media (max-width: 767px) {
  .faq__question {
    padding: 2rem 7rem;
  }
}
.faq__question::before {
  position: absolute;
  content: "Q";
  font-family: "Kumbh Sans", sans-serif;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1;
  color: #fff;
  background: var(--color-main);
  width: 4rem;
  height: 4rem;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translateY(-50%);
  left: 3rem;
  top: 50%;
}
@media (max-width: 767px) {
  .faq__question::before {
    width: 3.5rem;
    height: 3.5rem;
    left: 2rem;
  }
}
.faq__question::after {
  position: absolute;
  content: "";
  width: 2rem;
  height: 2rem;
  line-height: 1;
  color: var(--color-main);
  transform: translateY(-50%);
  right: 3rem;
  top: 50%;
  background-image: linear-gradient(currentColor, currentColor), linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: center, center;
  background-size: 100% 3px, 3px 100%;
}
@media (max-width: 767px) {
  .faq__question::after {
    right: 2rem;
  }
}
.faq__question.open {
  border-radius: 1rem 1rem 0 0;
}
.faq__question.open::after {
  content: "";
  background-size: 100% 3px, 0 100%;
}
.faq__answer {
  position: relative;
  background: #F2F7FF;
  padding: 0 9rem;
  border-radius: 0 0 1rem 1rem;
}
@media (max-width: 767px) {
  .faq__answer {
    padding: 0 2rem 0 7rem;
  }
}
.faq__answer::before {
  position: absolute;
  content: "A";
  font-family: "Kumbh Sans", sans-serif;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1;
  color: var(--color-main);
  background: #fff;
  border: 1px solid var(--color-main);
  width: 4rem;
  height: 4rem;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translateY(-50%);
  left: 3rem;
  top: 50%;
}
@media (max-width: 767px) {
  .faq__answer::before {
    width: 3.5rem;
    height: 3.5rem;
    left: 2rem;
    transform: none;
    top: 2rem;
  }
}
.faq__answer::after {
  position: absolute;
  content: "";
  border-top: 1px solid #BFCEE2;
  width: 95%;
  transform: translateX(-50%);
  top: 0;
  left: 50%;
}
@media (max-width: 767px) {
  .faq__answer::after {
    width: 90%;
  }
}
.faq__answer.active {
  padding: 3.5rem 9rem;
}
@media (max-width: 767px) {
  .faq__answer.active {
    padding: 2rem 2rem 2rem 7rem;
  }
}

.navigation {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 4rem 0 0;
}
.navigation li {
  flex: 1;
}
.navigation li .navi-back {
  display: flex;
  justify-content: left;
  align-items: center;
}
.navigation li .navi-back div {
  width: fit-content;
}
.navigation li .navi-list-back {
  display: flex;
  justify-content: center;
  align-items: center;
}
.navigation li .navi-list-back div {
  width: fit-content;
}
.navigation li .navi-next {
  display: flex;
  justify-content: right;
  align-items: center;
}
.navigation li .navi-next div {
  width: fit-content;
}

.article-contents {
  overflow: hidden;
  padding: 4rem 0 5rem;
  border-bottom: 1px solid #E7E7E7;
}
@media (max-width: 767px) {
  .article-contents {
    padding: 2rem 0;
  }
}
.article-contents h2 {
  position: relative;
  font-size: 3rem;
  font-weight: 500;
  padding-left: 2rem;
  margin: 4rem 0 3rem;
  line-height: 125%;
}
@media (max-width: 767px) {
  .article-contents h2 {
    font-size: 2.2rem;
    margin: 3rem 0 1.5rem;
    line-height: 140%;
  }
}
.article-contents h2::before {
  position: absolute;
  content: "";
  width: 5px;
  height: 100%;
  background: var(--color-base-black);
  transform: translateY(-50%);
  top: 50%;
  left: 0;
}
.article-contents h3 {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 140%;
  margin: 4rem 0 1.5rem;
}
@media (max-width: 767px) {
  .article-contents h3 {
    font-size: 2rem;
    margin: 3rem 0 1.5rem;
  }
}
.article-contents h4 {
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 140%;
  margin: 4rem 0 1.5rem;
}
@media (max-width: 767px) {
  .article-contents h4 {
    font-size: 1.8rem;
    margin: 3rem 0 1.5rem;
  }
}
.article-contents h5 {
  font-size: 2rem;
  font-weight: 500;
  line-height: 140%;
  margin: 4rem 0 1.5rem;
}
@media (max-width: 767px) {
  .article-contents h5 {
    font-size: 1.6rem;
    margin: 3rem 0 1.5rem;
  }
}
.article-contents p {
  margin: 1.5rem 0;
}
.article-contents strong {
  font-weight: 700;
}
.article-contents em {
  font-style: italic;
}
.article-contents img {
  margin: 2rem 0;
}
.article-contents a {
  color: var(--color-main);
  text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
  .article-contents a:hover {
    text-decoration: none;
  }
  .article-contents a:hover img {
    opacity: 0.8;
  }
}
.article-contents blockquote {
  position: relative;
  padding: 1rem 2rem 1rem 4.5rem;
  box-sizing: border-box;
  font-style: italic;
  background: #f6faff;
  margin: 2rem 0;
}
@media (max-width: 767px) {
  .article-contents blockquote {
    padding: 1rem 2rem 1rem 3rem;
    margin: 1rem 0;
  }
}
.article-contents blockquote::before {
  display: inline-block;
  position: absolute;
  top: -0.7rem;
  left: -1rem;
  content: "“";
  color: var(--color-sub);
  font-size: 7rem;
  line-height: 1;
  z-index: 2;
}
@media (max-width: 767px) {
  .article-contents blockquote::before {
    font-size: 5rem;
  }
}
.article-contents blockquote::after {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  border-width: 0 0 6.5rem 6.5rem;
  border-style: solid;
  border-color: transparent #ffffff;
}
@media (max-width: 767px) {
  .article-contents blockquote::after {
    border-width: 0 0 4.5rem 4.5rem;
  }
}
.article-contents blockquote p {
  position: relative;
  padding: 0;
  margin: 1rem 0;
  z-index: 3;
  line-height: 1.7;
}
.article-contents blockquote cite {
  display: block;
  text-align: right;
  color: #888888;
  font-size: 0.9em;
}
.article-contents ul {
  list-style: none;
  padding-left: 0;
  margin: 4rem 0;
}
@media (max-width: 767px) {
  .article-contents ul {
    margin: 2rem 0;
  }
}
.article-contents ul > li {
  position: relative;
  padding-left: 1em;
}
.article-contents ul > li::before {
  content: "・";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
}
.article-contents ol {
  list-style: none;
  padding-left: 0;
  margin: 4rem 0;
}
@media (max-width: 767px) {
  .article-contents ol {
    margin: 2rem 0;
  }
}
.article-contents ol > li {
  position: relative;
  padding-left: 1.5em;
  counter-increment: number;
}
.article-contents ol > li::before {
  content: counter(number) ".";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
}
.article-contents hr {
  border-top: 1px solid var(--color-sub);
}

.archive {
  text-align: center;
  border-top: 1px solid #E7E7E7;
  padding: 4rem 0;
}
.archive .archive-number {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 2rem;
}
.archive .archive-number a {
  position: relative;
  border-radius: 5rem;
  font-size: 1.4rem;
  font-weight: 500;
  padding: 0.5rem 2rem;
}
.archive .archive-number a::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: var(--grad-skyblue);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  pointer-events: none;
  z-index: 0;
}
.archive .archive-number a.active {
  color: #fff;
  -webkit-text-fill-color: #fff;
  background: var(--grad-skyblue);
}

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