/* ==========================================================================
  FONT
========================================================================== */

.u-font-jp{
  font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif;
}
.u-font-eng{
  font-family: "Cabin", sans-serif;
}

/* ==========================================================================
  COLOR
========================================================================== */

/* --------------------------------------------------------------------------
  BACK GROUND COLOR
-------------------------------------------------------------------------- */

/* -----------------------------
  BACK GROUND COLORー共通カラー
----------------------------- */
.u-bg-white-color {
  background-color: var(--color-white) !important;
}
.u-bg-black-color {
  background-color: var(--color-black) !important;
}
.u-bg-black-sub-color {
  background-color: var(--color-black-sub) !important;
}
.u-bg-gray-color-100 {
  background-color: var(--color-gray_100) !important;
}
.u-bg-gray-color-200 {
  background-color: var(--color-gray_200) !important;
}
.u-bg-gray-color-300 {
  background-color: var(--color-gray_300) !important;
}
.u-bg-gray-color-400 {
  background-color: var(--color-gray_400) !important;
}
.u-bg-gray-color-600 {
  background-color: var(--color-gray_600) !important;
}

.u-bg-main-color {
  background-color: var(--bg-main-color) !important;
}
.u-bg-sub-color {
  background-color: var(--sub-color) !important;
}
.u-bg-sub-color-02 {
  background-color: var(--sub-color-02) !important;
}
.u-bg-sub-color-03 {
  background-color: var(--sub-color-03) !important;
}
.u-bg-sub-color-04 {
  background-color: var(--sub-color-04) !important;
}

.u-bg-spare-color {
  background-color: var(--spare-color) !important;
}
.u-bg-spare-color-02 {
  background-color: var(--spare-color-02) !important;
}
.u-bg-spare-color-03 {
  background-color: var(--spare-color-03) !important;
}


.u-bg-attention-color-100{
  background-color: var(--color-attention_100) !important;
}
.u-bg-attention-color-200{
  background-color: var(--color-attention_200) !important;
}
.u-bg-attention-color-1000{
  background-color: var(--color-attention_1000) !important;
}


.u-bg-accent-color{
  background-color: var(--main-accent-color) !important;
}
.u-bg-sub-accent-color{
  background-color: var(--bg-accent-color) !important;
}
.u-bg-accent-sub-color{
  background-color: var(--sub-accent-color) !important;
}
.u-bg-sub-accent-color-gx{
  background-color: var(--bg-accent-color-gx) !important;
}
.u-bg-sub-accent-color-02{
  background-color: var(--bg-accent-color-02) !important;
}

.u-bg-navy-color {
  background: var(--navy-color) !important;
}


.u-bg-attention-color {
  background-color: var(--color-attention_1000) !important;
}
.u-bg-invalid-color {
  background-color: var(--color-gray_400) !important;
}
.u-bg-pickup-color {
  background-color: var(--pickup-color) !important;
}

/* -----------------------------
  TABLE BACKGROUND COLORーテーブル用バックカラー
----------------------------- */
/* 表頭or表側が１つのみの時 */
.u-bg-table-head-01 {
  border-color: var(--color-white) !important;
  background-color: var(--main-table-bg-color);
}
.u-bg-table-head-01-light {
  border-color: var(--color-white) !important;
  background-color: var(--color-gray_50);
}
.u-bg-table-head-01-jigyo02 {
  background-color: var(--sub-color-jigyo02);
}
.u-bg-table-head-01-kosodate-reform {
  background-color: var(--main-color-jigyo02-reform);
}
/* 表頭、表側2つの時、表側の色 */
.u-bg-table-head-02 {
  background-color: var(--sub-table-bg-color);
}
.u-bg-table-head-02-jigyo02 {
  background-color: var(--sub-color-jigyo02-02);
}
.u-bg-table-head-02-kosodate-reform {
  background-color: var(--sub-color-jigyo02-reform);
}
/* -----------------------------
  GX TABLE BACKGROUND COLORーGXテーブル用バックカラー
----------------------------- */
/* 表頭or表側が１つのみの時 */
.u-bg-table-head-01-gx {
  background-color: var(--main-table-bg-color-gx)!important;
}
/* 表頭、表側2つの時、表側の色 */
.u-bg-table-head-02-gx {
  background-color: var(--sub-table-bg-color-gx);
}

/* -----------------------------
  BACK GROUND COLORー事業別カラー
----------------------------- */
.u-bg-color-jigyo01 {
  background-color: var(--main-color-jigyo01) !important;
}
.u-bg-color-jigyo02 {
  background-color: var(--main-color-jigyo02) !important;
}
.u-bg-color-jigyo02-gx {
  background-color: var(--main-color-jigyo02-gx) !important;
}
.u-bg-color-jigyo03 {
  background-color: var(--main-color-jigyo03) !important;
}
.u-bg-color-jigyo04 {
  background-color: var(--main-color-jigyo04) !important;
}
.u-bg-color-jigyo05 {
  background-color: var(--main-color-jigyo05) !important;
}

/* -----------------------------
  BACK GROUND COLORーR4事業別カラー
----------------------------- */
.u-bg-color-jigyo01-r4 {
  background-color: var(--main-color-jigyo01-r4) !important;
}
.u-bg-color-jigyo02-r4 {
  background-color: var(--main-color-jigyo02-r4) !important;
}
.u-bg-color-jigyo03-r4 {
  background-color: var(--main-color-jigyo03-r4) !important;
}
.u-bg-color-jigyo04-r4 {
  background-color: var(--main-color-jigyo04-r4) !important;
}

/* -----------------------------
  BACK GROUND COLORー事業別アクセントカラー
----------------------------- */
.u-bg-accent-color-jigyo01 {
  background-color: var(--accent-color-jigyo01) !important;
}
.u-bg-accent-color-jigyo02 {
  background-color: var(--accent-color-jigyo02) !important;
}
.u-bg-accent-color-jigyo02-gx {
  background-color: var(--accent-color-jigyo02-gx) !important;
}
.u-bg-accent-color-jigyo03 {
  background-color: var(--accent-color-jigyo03) !important;
}
.u-bg-accent-color-jigyo04 {
  background-color: var(--accent-color-jigyo04) !important;
}
.u-bg-accent-color-jigyo05 {
  background-color: var(--accent-color-jigyo05) !important;
}

/* -----------------------------
  BACK GROUND COLORー事業別アクセントサブカラー
----------------------------- */
.u-bg-accent-sub-color-jigyo01 {
  background-color: var(--accent-sub-color-jigyo01) !important;
}
.u-bg-accent-sub-color-jigyo02 {
  background-color: var(--accent-sub-color-jigyo02) !important;
}
.u-bg-accent-sub-color-jigyo02-gx {
  background-color: var(--accent-sub-color-jigyo02-gx) !important;
}
.u-bg-accent-sub-color-jigyo03 {
  background-color: var(--accent-sub-color-jigyo03) !important;
}
.u-bg-accent-sub-color-jigyo04 {
  background-color: var(--accent-sub-color-jigyo04) !important;
}
.u-bg-accent-sub-color-jigyo05 {
  background-color: var(--accent-sub-color-jigyo05) !important;
}

/* -----------------------------
  BACK GROUND COLORー事業別サブカラー
----------------------------- */
.u-bg-sub-color-jigyo01 {
  background-color: var(--sub-color-jigyo01) !important;
}
.u-bg-sub-color-jigyo02 {
  background-color: var(--sub-color-jigyo02) !important;
}
.u-bg-sub-color-jigyo02-gx {
  background-color: var(--sub-color-jigyo02-gx) !important;
}
.u-bg-sub-color-jigyo03 {
  background-color: var(--sub-color-jigyo03) !important;
}
.u-bg-sub-color-jigyo04 {
  background-color: var(--sub-color-jigyo04) !important;
}
.u-bg-sub-color-jigyo05 {
  background-color: var(--sub-color-jigyo05) !important;
}

/* -----------------------------
  BACK GROUND COLORー事業別サブカラー02
----------------------------- */
.u-bg-sub-color-jigyo01-02 {
  background-color: var(--sub-color-jigyo01-02) !important;
}
.u-bg-sub-color-jigyo02-02 {
  background-color: var(--sub-color-jigyo02-02) !important;
}
.u-bg-sub-color-jigyo02-02-gx {
  background-color: var(--sub-color-jigyo02-02-gx) !important;
}
.u-bg-sub-color-jigyo03-02 {
  background-color: var(--sub-color-jigyo03-02) !important;
}
.u-bg-sub-color-jigyo04-02 {
  background-color: var(--sub-color-jigyo04-02) !important;
}
.u-bg-sub-color-jigyo05-02 {
  background-color: var(--sub-color-jigyo05-02) !important;
}

/* -----------------------------
  BACK GROUND COLORー事業別サブカラー03
----------------------------- */
.u-bg-sub-color-jigyo01-03 {
  background-color: var(--sub-color-jigyo01-03) !important;
}
.u-bg-sub-color-jigyo02-03 {
  background-color: var(--sub-color-jigyo02-03) !important;
}
.u-bg-sub-color-jigyo02-03-gx {
  background-color: var(--sub-color-jigyo02-03-gx) !important;
}
.u-bg-sub-color-jigyo03-03 {
  background-color: var(--sub-color-jigyo03-03) !important;
}
.u-bg-sub-color-jigyo04-03 {
  background-color: var(--sub-color-jigyo04-03) !important;
}
.u-bg-sub-color-jigyo05-03 {
  background-color: var(--sub-color-jigyo05-03) !important;
}


/* --------------------------------------------------------------------------
  BORDER
-------------------------------------------------------------------------- */
.u-border {
  border-width: 1px !important;
  border-style: solid !important;
}
/* -----------------------------
  BORDERー共通カラー
----------------------------- */
.u-border-main-color{
  border-color: var(--main-border-color) !important;
}

.u-border-sub-color{
  border-color: var(--sub-border-color) !important;
}

/* -----------------------------
  BORDERー左線
----------------------------- */
.u-border-left {
  border-left: 1px solid var(--main-border-color) !important;
}

/* -----------------------------
  BORDERー右線
----------------------------- */
.u-border-right {
  border-right: 1px solid var(--main-border-color) !important;
}

/* -----------------------------
  BORDERー下線
----------------------------- */
.u-border-bottom {
  border-bottom: 1px solid var(--main-border-color) !important;
}

/* -----------------------------
  BORDERー下線なし
----------------------------- */
.u-border-bottom-none {
  border-bottom: 0!important;
}

/* -----------------------------
  BORDERー線なし
----------------------------- */
.u-border-none {
  border: 0!important;
}

.u-text-marker{
  background: linear-gradient(transparent calc(14 / var(--font-size)* 1rem), var(--accent-sub-color-jigyo01) calc(14 / var(--font-size)* 1rem));
}

/* --------------------------------------------------------------------------
  COLOR
-------------------------------------------------------------------------- */

/* -----------------------------
  COLORー共通カラー
----------------------------- */
.u-white-color{
  color:#fff !important;
}
.u-main-color {
  color: var(--main-color) !important;
}
.u-sub-color {
  color: var(--sub-color) !important;
}
.u-gray-color-100 {
  color: var(--color-gray_100) !important;
}
.u-gray-color-200 {
  color: var(--color-gray_200) !important;
}
.u-gray-color-300 {
  color: var(--color-gray_300) !important;
}
.u-gray-color-400 {
  color: var(--color-gray_400) !important;
}
.u-gray-color-600 {
  color: var(--color-gray_600) !important;
}

.u-attention-color-100{
  color: var(--color-attention_100) !important;
}
.u-attention-color-200{
  color: var(--color-attention_200) !important;
}
.u-attention-color-1000{
  color: var(--color-attention_1000) !important;
}

.u-accent-color {
  color: var(--main-accent-color) !important;
}


.u-deep-color{
  color: var(--color-sub) !important;
}
.u-deep-color-100{
  color: var(--color-sub_100) !important;
}
.u-deep-color-200{
  color: var(--color-accent_200) !important;
}


.u-attention-color {
  color: var(--color-attention_1000) !important;
}
.u-invalid-color {
  color: var(--color-gray_400) !important;
}

.u-accent-color-jigyo01{
  color:var(--accent-color-jigyo01);
}
.u-accent-color-jigyo02{
  color:var(--accent-color-jigyo02);
}
.u-accent-color-jigyo03{
  color:var(--accent-color-jigyo03);
}
.u-accent-color-jigyo04{
  color:var(--accent-color-jigyo04);
}
.u-accent-color-jigyo05{
  color:var(--accent-color-jigyo05);
}

/* -----------------------------
  COLORー共通グラデカラー
----------------------------- */
.u-bg-color-sub-grade {
  background: linear-gradient(to right, var(--color-sub-grade-color__start), var(--color-sub-grade-color__end)) !important;
}

/* -----------------------------
  COLORー事業別カラー
----------------------------- */
.u-main-color-jigyo01 {
  color: var(--main-color-jigyo01) !important;
}
.u-main-color-jigyo02 {
  color: var(--main-color-jigyo02) !important;
}
.u-main-color-jigyo02-gx {
  color: var(--main-color-jigyo02-gx) !important;
}
.u-main-color-jigyo03 {
  color: var(--main-color-jigyo03) !important;
}
.u-main-color-jigyo04 {
  color: var(--main-color-jigyo04) !important;
}
.u-main-color-jigyo05 {
  color: var(--main-color-jigyo05) !important;
}

/* -----------------------------
  COLORーR4事業別カラー
----------------------------- */
.u-main-color-jigyo01-r4 {
  color: var(--main-color-jigyo01-r4) !important;
}
.u-main-color-jigyo02-r4 {
  color: var(--main-color-jigyo02-r4) !important;
}
.u-main-color-jigyo03-r4 {
  color: var(--main-color-jigyo03-r4) !important;
}
.u-main-color-jigyo04-r4 {
  color: var(--main-color-jigyo04-r4) !important;
}

/* -----------------------------
  COLORー事業別グラデカラー
----------------------------- */
.u-bg-main-grade-color {
  background: linear-gradient(to right, var(--main-grade-color__start), var(--main-grade-color__end)) !important;
}
.u-bg-main-grade-color-jigyo01 {
  background: linear-gradient(to right, var(--main-grade-color-jigyo01__start), var(--main-grade-color-jigyo01__end)) !important;
}
.u-bg-main-grade-color-jigyo02 {
  background: linear-gradient(to right, var(--main-grade-color-jigyo02__start), var(--main-grade-color-jigyo02__end)) !important;
}
.u-bg-main-grade-color-jigyo02-gx {
  background: linear-gradient(to right, var(--main-grade-color-jigyo02__start-gx), var(--main-grade-color-jigyo02__end-gx)) !important;
}
.u-bg-main-grade-color-jigyo03 {
  background: linear-gradient(to right, var(--main-grade-color-jigyo03__start), var(--main-grade-color-jigyo03__end)) !important;
}
.u-bg-main-grade-color-jigyo04 {
  background: linear-gradient(to right, var(--main-grade-color-jigyo04__start), var(--main-grade-color-jigyo04__end)) !important;
}
.u-bg-main-grade-color-jigyo05 {
  background: linear-gradient(to right, var(--main-grade-color-jigyo05__start), var(--main-grade-color-jigyo05__end)) !important;
}

/* -----------------------------
  COLORー事業別サブカラー
----------------------------- */
.u-sub-color-jigyo01 {
  color: var(--sub-color-jigyo01) !important;
}
.u-sub-color-jigyo02 {
  color: var(--sub-color-jigyo02) !important;
}
.u-sub-color-jigyo02-gx {
  color: var(--sub-color-jigyo02-gx) !important;
}
.u-sub-color-jigyo03 {
  color: var(--sub-color-jigyo03) !important;
}
.u-sub-color-jigyo04 {
  color: var(--sub-color-jigyo04) !important;
}
.u-sub-color-jigyo05 {
  color: var(--sub-color-jigyo05) !important;
}

/* -----------------------------
  COLORー事業別サブカラー02
----------------------------- */
.u-sub-color-jigyo01-02 {
  color: var(--sub-color-jigyo01-02) !important;
}
.u-sub-color-jigyo02-02 {
  color: var(--sub-color-jigyo02-02) !important;
}
.u-sub-color-jigyo02-02-gx {
  color: var(--sub-color-jigyo02-02-gx) !important;
}
.u-sub-color-jigyo03-02 {
  color: var(--sub-color-jigyo03-02) !important;
}
.u-sub-color-jigyo04-02 {
  color: var(--sub-color-jigyo04-02) !important;
}
.u-sub-color-jigyo05-02 {
  color: var(--sub-color-jigyo05-02) !important;
}

/* -----------------------------
  COLORー事業別サブグラデカラー02
----------------------------- */
.u-bg-sub-grade-color {
  background: linear-gradient(to right, var(--bg-sub-grade-color-02__start), var(--bg-sub-grade-color-02__end)) !important;
}
.u-bg-sub-grade-color-jigyo01 {
  background: linear-gradient(to right, var(--sub-grade-color-jigyo01-02__start), var(--sub-grade-color-jigyo01-02__end)) !important;
}
.u-bg-sub-grade-color-jigyo02 {
  background: linear-gradient(to right, var(--sub-grade-color-jigyo02-02__start), var(--sub-grade-color-jigyo02-02__end)) !important;
}
.u-bg-sub-grade-color-jigyo02-gx {
  background: linear-gradient(to right, var(--sub-grade-color-jigyo02-02__start-gx), var(--sub-grade-color-jigyo02-02__end-gx)) !important;
}
.u-bg-sub-grade-color-jigyo03 {
  background: linear-gradient(to right, var(--sub-grade-color-jigyo03-02__start), var(--sub-grade-color-jigyo03-02__end)) !important;
}
.u-bg-sub-grade-color-jigyo04 {
  background: linear-gradient(to right, var(--sub-grade-color-jigyo04-02__start), var(--sub-grade-color-jigyo04-02__end)) !important;
}
.u-bg-sub-grade-color-jigyo05 {
  background: linear-gradient(to right, var(--sub-grade-color-jigyo05-02__start), var(--sub-grade-color-jigyo05-02__end)) !important;
}

/* -----------------------------
  COLORー協調（カラー）
----------------------------- */
.u-main-strong-color {
  color:var(--main-strong-color);
}

/* -----------------------------
  COLORースペアカラー
----------------------------- */

.u-spare-color {
  color: var(--spare-color) !important;
}
.u-spare-color-02 {
  color: var(--spare-color-02) !important;
}
.u-spare-color-03 {
  color: var(--spare-color-03) !important;
}


/* --------------------------------------------------------------------------
  タイトル
-------------------------------------------------------------------------- */

/* -----------------------------
  タイトル
----------------------------- */
.u-title--xxxs{
  font-size: calc(12 / var(--font-size) * 1rem) !important;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4;
}
.u-title--xxs{
  font-size: calc(16 / var(--font-size) * 1rem) !important;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4;
}
.u-title--xs{
  font-size: calc(var(--title-size-xs) / var(--font-size) * 1rem) !important;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4;
}
.u-title--s{
  font-size: calc(var(--title-size-s) / var(--font-size) * 1rem) !important;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4;
}
.u-title--m{
  font-size: calc(var(--title-size-m) / var(--font-size) * 1rem) !important;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4;
}
.u-title--l{
  font-size: calc(var(--title-size-l) / var(--font-size) * 1rem) !important;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4;
}
.u-title--xl{
  font-size: calc(var(--title-size-xl) / var(--font-size) * 1rem) !important;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4;
}
.u-title--large{
  font-size: calc(var(--title-size-large) / var(--font-size) * 1rem) !important;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4;
}

@media all and (max-width: 767px) {
  .u-title--xs{
    font-size: calc(var(--title-size-xs) / var(--font-size) * 1rem) !important;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.4;
  }
  .u-title--s{
    font-size: calc(var(--title-size-s) / var(--font-size) * 1rem) !important;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.4;
  }
  .u-title--m{
    font-size: calc(var(--title-size-m) / var(--font-size) * 1rem) !important;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.4;
  }
  .u-title--l{
    font-size: calc(var(--title-size-l) / var(--font-size) * 1rem) !important;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.4;
  }
  .u-title--xl{
    font-size: calc(var(--title-size-xl) / var(--font-size) * 1rem) !important;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.4;
  }
  .u-title--large{
    font-size: calc(var(--title-size-large) / var(--font-size) * 1rem) !important;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.4;
  }

  .u-sp-title--xs{
    font-size: calc(var(--title-size-xs) / var(--font-size) * 1rem) !important;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.4;
  }

  .u-sp-title--l{
    font-size: calc(var(--title-size-l) / var(--font-size) * 1rem) !important;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.4;
  }
  .u-sp-title--m{
    font-size: calc(var(--title-size-m) / var(--font-size) * 1rem) !important;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.4;
  }

}


/* --------------------------------------------------------------------------
  テキスト
-------------------------------------------------------------------------- */

/* -----------------------------
  テキスト
----------------------------- */
.u-text--xxs{
  font-size: calc(var(--text-size-xxs) / var(--font-size) * 1rem) !important;
  line-height: 1.6;
}
.u-text--xs{
  font-size: calc(var(--text-size-xs) / var(--font-size) * 1rem) !important;
  line-height: 1.6;
}
.u-text--s{
  font-size: calc(var(--text-size-s) / var(--font-size) * 1rem) !important;
  line-height: 1.6;
}
.u-text--m{
  font-size: calc(var(--text-size-m) / var(--font-size) * 1rem) !important;
  line-height: 1.6;
}
.u-text--m--02{
  font-size: calc(var(--text-size-m) / var(--font-size) * 1rem) !important;
  line-height: 2;
}
.u-text--l{
  font-size: calc(var(--text-size-l) / var(--font-size) * 1rem) !important;
  line-height: 1.6;
}
.u-text--xl{
  font-size: calc(var(--text-size-xl) / var(--font-size) * 1rem) !important;
  line-height: 1.6;
}
.u-text--xxs sup,
.u-text--xs sup,
.u-text--s sup,
.u-text--m sup,
.u-text--m--02 sup,
.u-text--l sup,
.u-text--xl sup{
  white-space: nowrap;
}
@media all and (max-width: 767px) {
  .u-text--xxs{
    font-size: calc(var(--text-size-xxs) / var(--font-size) * 1rem) !important;
    line-height: 1.6;
  }
  .u-text--xs{
    font-size: calc(var(--text-size-xs) / var(--font-size) * 1rem) !important;
    line-height: 1.6;
  }
  .u-text--s{
    font-size: calc(var(--text-size-s) / var(--font-size) * 1rem) !important;
    line-height: 1.6;
  }
  .u-text--m{
    font-size: calc(var(--text-size-s) / var(--font-size) * 1rem) !important;
    line-height: 1.6;
  }
  .u-text--m--02{
    font-size: calc(var(--text-size-s) / var(--font-size) * 1rem) !important;
    line-height: 2;
  }
  .u-text--l{
    font-size: calc(var(--text-size-m) / var(--font-size) * 1rem) !important;
    line-height: 1.6;
  }
  .u-text--xl{
    font-size: calc(var(--text-size-l) / var(--font-size) * 1rem) !important;
    line-height: 1.6;
  }
  .u-text-sp--xxs {
    font-size: calc(var(--text-size-xxs) / var(--font-size) * 1rem) !important;
    line-height: 1.6;
  }
  .u-text-sp--xs {
    font-size: calc(var(--text-size-xs) / var(--font-size) * 1rem) !important;
    line-height: 1.6;
  }
  .u-text-sp--s {
    font-size: calc(var(--text-size-s) / var(--font-size) * 1rem) !important;
    line-height: 1.6;
  }
  .u-text-sp--m{
    font-size: calc(var(--text-size-s) / var(--font-size) * 1rem) !important;
    line-height: 1.6;
  }
  .u-text-sp--m--02{
    font-size: calc(var(--text-size-s) / var(--font-size) * 1rem) !important;
    line-height: 2;
  }
  .u-text-sp--l{
    font-size: calc(var(--text-size-m) / var(--font-size) * 1rem) !important;
    line-height: 1.6;
  }
  .u-text-sp--xl{
    font-size: calc(var(--text-size-l) / var(--font-size) * 1rem) !important;
    line-height: 1.6;
  }
}

/* -----------------------------
  テキストー下線
----------------------------- */
.u-text-underline{
  text-decoration: underline;
}
.u-text-underline-red{
  text-decoration: underline;
  text-decoration-color:var(--alert-color);
}

/* -----------------------------
  テキストー改行
----------------------------- */
.u-text-br::before {
  content: "\A" ;
  white-space: pre ;
}

/* -----------------------------
  テキストー通常
----------------------------- */
.u-text-normal {
  font-weight: 400 !important;
}

/* -----------------------------
  テキストー強調
----------------------------- */
.u-text-bold {
  font-weight: 700 !important;
}

/* -----------------------------
  テキストー左寄せ、中央寄せ、右寄せなど
----------------------------- */
.u-text-align-left {
  text-align: left !important;
}
.u-text-align-center {
  text-align: center !important;
}
.u-text-align-right {
  text-align: right !important;
}
.u-text-align-justify {
  text-align: justify !important;
  text-justify: inter-ideograph !important;
}
.u-text-align-combine {
  text-combine-upright: all;
  -webkit-text-combine: horizontal;
  -ms-text-combine-horizontal: all;
}
.u-text-indent {
  text-indent: -1em;
  padding-left: 1em;
}

@media all and (max-width: 767px) {
  .u-sp-text-align-left {
    text-align: left !important;
  }
  .u-sp-text-align-center {
    text-align: center !important;
  }
  .u-sp-text-align-right {
    text-align: right !important;
  }
  .u-sp-text-align-justify {
    text-align: justify !important;
    text-justify: inter-ideograph !important;
  }
  .u-sp-text-align-combine {
    text-combine-upright: all;
    -webkit-text-combine: horizontal;
    -ms-text-combine-horizontal: all;
  }
}

/* -----------------------------
  テキストーリンク 下線のみ
----------------------------- */
.u-text-border-link {
  text-decoration: underline;
}
@media all and (min-width: 768px) {
  .u-text-border-link:hover {
    text-decoration: none;
  }
}

/* -----------------------------
  テキストーリンク 色付き
----------------------------- */
.u-text-link {
  color: var(--main-accent-color);
  text-decoration: underline;
}
@media all and (min-width: 768px) {
  .u-text-link:hover {
    text-decoration: none;
  }
}
.u-text-link.--disable{
  color: var(--color-gray_600);
  pointer-events: none;
}

/* -----------------------------
  テキストーリンク アイコン
----------------------------- */
.u-text-link-icon{
  display: flex;
  align-items: start;
}
.u-text-link-icon--right{
  display: flex;
  align-items: start;
}
.u-text-link-icon--center{
  justify-content: center;
}
.u-text-link-icon:before{
  content:"";
  display: block;
  width:calc(20 / var(--font-size) * 1rem);
  height:calc(20 / var(--font-size) * 1rem);
  -webkit-mask-image: url("/assets/img/common/ico_cursor.svg");
    mask-image: url("/assets/img/common/ico_cursor.svg");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
    background: var(--main-color);
    flex-shrink: 0;
    margin-top: calc(2 / var(--font-size) * 1rem);
    margin-bottom: calc(2 / var(--font-size) * 1rem);
    margin-right: calc(4 / var(--font-size) * 1rem);
}
.u-text-link-icon--right:after{
  content:"";
  display: block;
  width:calc(20 / var(--font-size) * 1rem);
  height:calc(20 / var(--font-size) * 1rem);
  -webkit-mask-image: url("/assets/img/common/ico_cursor.svg");
    mask-image: url("/assets/img/common/ico_cursor.svg");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
    background: var(--main-color);
    flex-shrink: 0;
    margin-top: calc(2 / var(--font-size) * 1rem);
    margin-bottom: calc(2 / var(--font-size) * 1rem);
    margin-left: calc(4 / var(--font-size) * 1rem);
}
.u-text--s .u-text-link-icon:before {
  width:calc(16 / var(--font-size) * 1rem);
  height:calc(16 / var(--font-size) * 1rem);
}
.u-text--s .u-text-link-icon--right:after {
  width:calc(16 / var(--font-size) * 1rem);
  height:calc(16 / var(--font-size) * 1rem);
}
.u-text-link-icon.--text-link-s{

}
.u-text-link-icon.--text-link-s:before{
  width:calc(18 / var(--font-size) * 1rem);
  height:calc(18 / var(--font-size) * 1rem);
}

.u-text-link-icon.--text-link-xs{

}
.u-text-link-icon.--text-link-xs:before{
  width:calc(16 / var(--font-size) * 1rem);
  height:calc(16 / var(--font-size) * 1rem);
}
.u-text-link-icon.--white:before,
.u-text-link-icon.--white:after{
  border-color:var(--color-white);
}

.u-text-link-icon.--white:before,
.u-text-link-icon.--white:after{
  border-color:var(--color-white);
}

@media all and (max-width: 767px) {
  .u-text-link-icon:before{
    width:calc(20 / var(--font-size) * 0.875rem);
    height:calc(20 / var(--font-size) * 0.875rem);
  }
  .u-text-link-icon--right:after{
    width:calc(20 / var(--font-size) * 0.875rem);
    height:calc(20 / var(--font-size) * 0.875rem);
  }

  .sitemap__section--new .u-text-link-icon:after{
    display: none;
  }
  .sitemap__section--new .u-text-link-icon:before{
  }

  .u-text-link-icon:after{
    content:"";
    border: calc(2 / var(--font-size) * 0.875rem) solid var(--main-color);
    border-left: 0;
    border-bottom: 0;
    width: calc(6 / var(--font-size) * 0.875rem);
    min-width: calc(6 / var(--font-size) * 0.875rem);
    height: calc(6 / var(--font-size) * 0.875rem);
    position: absolute;
    top: calc(10 / var(--font-size) * 0.875rem);
    left: calc(6 / var(--font-size) * 0.875rem);
    transform: rotate(45deg);
  }
  .u-text-link-icon.--text-link-s:before{
    width:calc(18 / var(--font-size) * 0.875rem);
    height:calc(18 / var(--font-size) * 0.875rem);
  }
  .u-text-link-icon.--text-link-xs:before{
    width:calc(16 / var(--font-size) * 0.875rem);
    height:calc(16 / var(--font-size) * 0.875rem);
  }
}



.u-text-link-icon.--text-link-jigyo01{
  color:var(--main-color-jigyo01);
}
.u-text-link-icon.--text-link-jigyo01:before{
  background:var(--main-color-jigyo01);
}

.u-text-link-icon.--text-link-jigyo02{
  color:var(--main-color-jigyo02);
}
.u-text-link-icon.--text-link-jigyo02:before{
  background:var(--main-color-jigyo02);
}

.u-text-link-icon.--text-link-jigyo02-gx{
  color:var(--main-color-jigyo02-gx);
}
.u-text-link-icon.--text-link-jigyo02-gx:before{
  background:var(--main-color-jigyo02-gx);
}

.u-text-link-icon.--text-link-jigyo03{
  color:var(--main-color-jigyo03);
}
.u-text-link-icon.--text-link-jigyo03:before{
  background:var(--main-color-jigyo03);
}

.u-text-link-icon.--text-link-jigyo04{
  color:var(--main-color-jigyo04);
}
.u-text-link-icon.--text-link-jigyo04:before{
  background:var(--main-color-jigyo04);
}

.u-text-link-icon.--text-link-jigyo05{
  color:var(--main-color-jigyo05);
}
.u-text-link-icon.--text-link-jigyo05:before{
  background:var(--main-color-jigyo05);
}

@media all and (min-width: 768px), print {
  .u-text-link-icon{
    transition:0.3s ease !important;
  }
  .u-text-link-icon:hover{
    text-decoration: none !important;
    opacity:0.7;
  }
  .u-text-link-icon.--white-bk:before{
    background: var(--color-white);
  }
  .u-text-link-icon--center.--text-link-s{
    padding-left: 0;
  }
}

/* -----------------------------
  テキストーデコレーション
----------------------------- */
.u-text-decoration-circle--s,
.u-text-decoration-circle--xs,
.u-text-decoration-circle--xxs {
  display: flex;
}

.u-text-decoration-circle--s:before,
.u-text-decoration-circle--xs:before,
.u-text-decoration-circle--xxs:before {
  content: "";
  flex-shrink: 0;
  background-color: var(--main-color);
  display: block;
  width: calc(15 / var(--font-size) * 1rem);
  height: calc(15 / var(--font-size) * 1rem);
  border-radius: 100%;
  position: relative;
  top: calc(1.4 * .5em - 15 / var(--font-size) * .5rem);
  margin-right: calc(12 / var(--font-size) * 1rem);
}
.u-text-decoration-circle--xs:before {
  width: calc(15 / var(--font-size) * 1rem);
  height: calc(15 / var(--font-size) * 1rem);
}
.u-text-decoration-circle--xxs:before {
  width: calc(14 / var(--font-size) * 1rem);
  height: calc(14 / var(--font-size) * 1rem);
  margin-right: calc(8 / var(--font-size) * 1rem);
}

.u-text-decoration-circle--m {
  display: flex;
}

.u-text-decoration-circle--m:before {
  content: "";
  flex-shrink: 0;
  background-color: var(--main-color);
  display: block;
  width: calc(18 / var(--font-size) * 1rem);
  min-width: calc(18 / var(--font-size) * 1rem);
  height: calc(18 / var(--font-size) * 1rem);
  border-radius: 100%;
  position: relative;
  top: calc(1.4 * .5em - 18 / var(--font-size) * .5rem);
  margin-right: calc(10 / var(--font-size) * 1rem);
}
.u-text-decoration-circle-num--s,
.u-text-decoration-circle-num--m,
.u-text-decoration-circle-num--l {
  display: flex;
}
.u-text-decoration-circle-num__icon {
  flex-shrink: 0;
  color: #fff;
  background-color: var(--main-color);
  font-size: 0.8em;
  border-radius: 100%;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.u-text-decoration-circle-num--s .u-text-decoration-circle-num__icon {
  width: calc(22 / var(--font-size) * 1rem);
  height: calc(22 / var(--font-size) * 1rem);
  margin-top: calc(1.4 * .625em - 22 / var(--font-size) * .5rem);
  margin-right: calc(10 / var(--font-size) * 1rem);
}
.u-text-decoration-circle-num--m .u-text-decoration-circle-num__icon {
  width: calc(26 / var(--font-size) * 1rem);
  height: calc(26 / var(--font-size) * 1rem);
  margin-top: calc(1.4 * .625em - 26 / var(--font-size) * .5rem);
  margin-right: calc(10 / var(--font-size) * 1rem);
}
.u-text-decoration-circle-num--l .u-text-decoration-circle-num__icon {
  width: calc(30 / var(--font-size) * 1rem);
  height: calc(30 / var(--font-size) * 1rem);
  margin-top: calc(1.4 * .625em - 30 / var(--font-size) * .5rem);
  margin-right: calc(10 / var(--font-size) * 1rem);
}

.u-text-decoration-circle--m.--jigyo01:before {
  background-color: var(--main-color-jigyo01);
}
.u-text-decoration-circle--m.--jigyo02:before {
  background-color: var(--main-color-jigyo02);
}
.u-text-decoration-circle--m.--jigyo02-gx:before {
  background-color: var(--main-color-jigyo02-gx);
}
.u-text-decoration-circle--m.--jigyo03:before {
  background-color: var(--main-color-jigyo03);
}
.u-text-decoration-circle--m.--jigyo04:before {
  background-color: var(--main-color-jigyo04);
}
.u-text-decoration-circle--m.--jigyo05:before {
  background-color: var(--main-color-jigyo05);
}

.u-text-decoration-circle--s.--jigyo01:before {
  background-color: var(--main-color-jigyo01);
}
.u-text-decoration-circle--s.--jigyo02:before {
  background-color: var(--main-color-jigyo02);
}
.u-text-decoration-circle--s.--jigyo02-gx:before {
  background-color: var(--main-color-jigyo02-gx);
}
.u-text-decoration-circle--s.--jigyo03:before {
  background-color: var(--main-color-jigyo03);
}
.u-text-decoration-circle--s.--jigyo04:before {
  background-color: var(--main-color-jigyo04);
}
.u-text-decoration-circle--s.--jigyo05:before {
  background-color: var(--main-color-jigyo05);
}

.u-text-decoration-circle--xxs.--jigyo01:before {
  background-color: var(--main-color-jigyo01);
}
.u-text-decoration-circle--xxs.--jigyo02:before {
  background-color: var(--main-color-jigyo02);
}
.u-text-decoration-circle--xxs.--jigyo02-gx:before {
  background-color: var(--main-color-jigyo02-gx);
}
.u-text-decoration-circle--xxs.--jigyo03:before {
  background-color: var(--main-color-jigyo03);
}
.u-text-decoration-circle--xxs.--jigyo04:before {
  background-color: var(--main-color-jigyo04);
}
.u-text-decoration-circle--xxs.--jigyo05:before {
  background-color: var(--main-color-jigyo05);
}


@media all and (min-width: 768px) {
}

.u-text-decoration-circle--l {
  display: flex;
}

.u-text-decoration-circle--l:before {
  flex-shrink: 0;
  content: "";
  background-color: var(--main-color);
  display: block;
  width: calc(20 / var(--font-size) * 1rem);
  height: calc(20 / var(--font-size) * 1rem);
  border-radius: 100%;
  position: relative;
  top: calc(1.4 * .5em - 20 / var(--font-size) * .5rem);
  margin-right: calc(10 / var(--font-size) * 1rem);
}

@media all and (min-width: 768px) {
}

/* -----------------------------
  テキストー文中のナンバー
----------------------------- */

.u-number-icon{
  display: inline-block;
  width:calc(22 / var(--font-size) * 1rem);
  height:calc(22 / var(--font-size) * 1rem);
  margin:0 calc(4 / var(--font-size) * 1rem);
}

.u-number-icon + .u-number-icon{
  margin-left: 0;
}

.u-number-icon__text{
  background-color: var(--bg-main-color);
  border-radius:100%;
  color:var(--color-white);
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family: "Cabin", sans-serif;
}

.u-text--l .u-number-icon{
  width:calc(28 / var(--font-size) * 1rem);
  height:calc(28 / var(--font-size) * 1rem);
}
.u-text--m .u-number-icon{
  width:calc(26 / var(--font-size) * 1rem);
  height:calc(26 / var(--font-size) * 1rem);
}
.u-text--s .u-number-icon{
  width:calc(24 / var(--font-size) * 1rem);
  height:calc(24 / var(--font-size) * 1rem);
}
.u-text--xs .u-number-icon{
  width:calc(22 / var(--font-size) * 1rem);
  height:calc(22 / var(--font-size) * 1rem);
}
.u-text--xxs .u-number-icon{
  width:calc(20 / var(--font-size) * 1rem);
  height:calc(20 / var(--font-size) * 1rem);
}

@media all and (min-width: 768px) {
}

/* -----------------------------
  vertical-align
----------------------------- */
.u-vertical-align-top{
  vertical-align:top;
}
.u-vertical-align-middle{
  vertical-align:middle;
}
.u-vertical-align-bottom{
  vertical-align:bottom;
}


/* --------------------------------------------------------------------------
  マージン
-------------------------------------------------------------------------- */
.u-mb-0{
  margin-bottom: calc(0 / var(--font-size) * 1rem) !important;
}
.u-mb-0_25 {
  margin-bottom: calc(5 / var(--font-size) * 1rem);
}
.u-mb-0_5{
  margin-bottom: calc(10 / var(--font-size) * 1rem) !important;
}
.u-mb-1 {
  margin-bottom: calc(20 / var(--font-size) * 1rem) !important;
}
.u-mb-1_5 {
  margin-bottom: calc(25 / var(--font-size) * 1rem) !important;
}
.u-mb-2 {
  margin-bottom: calc(30 / var(--font-size) * 1rem) !important;
}
.u-mb-2_5 {
  margin-bottom: calc(35 / var(--font-size) * 1rem) !important;
}
.u-mb-3 {
  margin-bottom: calc(40 / var(--font-size) * 1rem) !important;
}
.u-mb-3_5 {
  margin-bottom: calc(45 / var(--font-size) * 1rem) !important;
}

@media all and (max-width: 767px) {
  .u-mb-0_5{
    margin-bottom: calc(10 / var(--font-size) * 0.875rem) !important;
  }
  .u-mb-1 {
    margin-bottom: calc(20 / var(--font-size) * 0.875rem) !important;
  }
  .u-mb-1_5 {
    margin-bottom: calc(25 / var(--font-size) * 0.875rem) !important;
  }
  .u-mb-2 {
    margin-bottom: calc(30 / var(--font-size) * 0.875rem) !important;
  }
  .u-mb-2_5 {
    margin-bottom: calc(35 / var(--font-size) * 0.875rem) !important;
  }
  .u-mb-3 {
    margin-bottom: calc(40 / var(--font-size) * 0.875rem) !important;
  }
  .u-mb-3_5 {
    margin-bottom: calc(45 / var(--font-size) * 0.875rem) !important;
  }
}

@media all and (min-width: 768px) {
  .u-pc-tab-mb-0_5{
    margin-bottom: calc(10 / var(--font-size) * 1rem) !important;
  }
  .u-pc-tab-mb-1 {
    margin-bottom: calc(20 / var(--font-size) * 1rem) !important;
  }
  .u-pc-tab-mb-1_5 {
    margin-bottom: calc(25 / var(--font-size) * 1rem) !important;
  }
  .u-pc-tab-mb-2 {
    margin-bottom: calc(30 / var(--font-size) * 1rem) !important;
  }
  .u-pc-tab-mb-2_5 {
    margin-bottom: calc(35 / var(--font-size) * 1rem) !important;
  }
  .u-pc-tab-mb-3 {
    margin-bottom: calc(40 / var(--font-size) * 1rem) !important;
  }
  .u-pc-tab-mb-3_5 {
    margin-bottom: calc(45 / var(--font-size) * 1rem) !important;
  }
}

@media all and (max-width: 767px) {
  .u-sp-mb-0_5{
    margin-bottom: calc(10 / var(--font-size) * 0.875rem) !important;
  }
  .u-sp-mb-1 {
    margin-bottom: calc(20 / var(--font-size) * 0.875rem) !important;
  }
  .u-sp-mb-1_5 {
    margin-bottom: calc(25 / var(--font-size) * 0.875rem) !important;
  }
  .u-sp-mb-2 {
    margin-bottom: calc(30 / var(--font-size) * 0.875rem) !important;
  }
  .u-sp-mb-2_5 {
    margin-bottom: calc(35 / var(--font-size) * 0.875rem) !important;
  }
  .u-sp-mb-3 {
    margin-bottom: calc(40 / var(--font-size) * 0.875rem) !important;
  }
  .u-sp-mb-3_5 {
    margin-bottom: calc(45 / var(--font-size) * 0.875rem) !important;
  }
}

.u-ml-0{
  margin-left: calc(0 / var(--font-size) * 1rem) !important;
}
.u-ml-0_5{
  margin-left: calc(10 / var(--font-size) * 1rem) !important;
}
.u-ml-1 {
  margin-left: calc(20 / var(--font-size) * 1rem) !important;
}
.u-ml-1_5 {
  margin-left: calc(25 / var(--font-size) * 1rem) !important;
}
.u-ml-2 {
  margin-left: calc(30 / var(--font-size) * 1rem) !important;
}
.u-ml-2_5 {
  margin-left: calc(35 / var(--font-size) * 1rem) !important;
}
.u-ml-3 {
  margin-left: calc(40 / var(--font-size) * 1rem) !important;
}
.u-ml-3_5 {
  margin-left: calc(45 / var(--font-size) * 1rem) !important;
}



/* --------------------------------------------------------------------------
  DISPLAY
-------------------------------------------------------------------------- */
.u-hide {
  display: none !important;
}
/* -----------------------------
  DISPLAYー非表示ーPCで非表示
----------------------------- */
@media all and (min-width: 1025px), print {
  .u-hide-pc {
    display: none !important;
  }
}

/* -----------------------------
  DISPLAYー非表示ーPC、タブレットで非表示
----------------------------- */
@media all and (min-width: 768px), print {
  .u-hide-tab-pc {
    display: none !important;
  }
}

/* -----------------------------
  DISPLAYー非表示ータブレットのみ非表示
----------------------------- */
@media all and (min-width: 768px) and (max-width: 1024px) {
  .u-hide-tab {
    display: none !important;
  }
}

/* -----------------------------
  DISPLAYー非表示ーSPで非表示
----------------------------- */
@media all and (max-width: 767px) {
  .u-hide-sp {
    display: none !important;
  }
}

/* -----------------------------
  DISPLAYーflex
----------------------------- */
.u-display-flex {
  display: flex !important;
}

/* -----------------------------
  DISPLAYーTAB,PCのみflex
----------------------------- */
@media all and (min-width: 768px), print {
  .u-display-flex-tab-pc {
    display: flex !important;
  }
}

/* -----------------------------
  DISPLAYーSPのみflex
----------------------------- */
@media all and (max-width: 767px) {
  .u-display-flex-sp {
    display: flex !important;
  }
}

.u-justify-content-flex-start {
  justify-content: flex-start !important;
}
.u-justify-content-center {
  justify-content: center !important;
}
.u-justify-content-flex-end {
  justify-content: flex-end !important;
}
.u-justify-content-flex-between {
  justify-content: space-between !important;
}

.u-align-items-center {
  align-items: center !important;
}
.u-align-items-flex-start {
  align-items: flex-start !important;
}
.u-align-items-flex-end {
  align-items: flex-end !important;
}



/* --------------------------------------------------------------------------
  画像置き換え
-------------------------------------------------------------------------- */

/* -----------------------------
  画像置き換え
----------------------------- */
.u-ir {
  display: block;
  overflow: hidden;
  font: 0/0 a;
  white-space: nowrap;
  text-indent: 100%;
}

/* -----------------------------
  画像置き換えーTAB,PCのみ
----------------------------- */
@media all and (min-width: 768px), print {
  .u-ir--tab-pc {
    display: block;
    overflow: hidden;
    font: 0/0 a;
    white-space: nowrap;
    text-indent: 100%;
  }
}

/* -----------------------------
  TABLE PADDING
----------------------------- */
@media all and (min-width: 768px), print {
  .u-table-padding-s {
    padding: calc(17 / var(--font-size) * 1rem) calc(17 / var(--font-size) * 1rem)!important;
  }
}

@media all and (max-width: 767px) {
  .u-table-padding-s {
    padding: calc(17 / var(--font-size) * 1rem) calc(17 / var(--font-size) * 1rem)!important;
  }
}