/*============================================================
テキスト関連（全般）
============================================================*/
/*====================================
配置
====================================*/
.--text-left {
  text-align: left;
}
.--text-center {
  text-align: center;
}
.--text-right {
  text-align: right;
}
/* SP
----------------------------------*/
@media screen and (max-width: 1200px) {
	.--text-center-sp {
		text-align: center;
	}
}


/*====================================
色
====================================*/
.--text-color-base {
	color: var(--font-color-base) !important;
}
.--text-color-secondary {
	color: var(--font-color-secondary);
}



/*============================================================
色関連（背景）
============================================================*/
.--gb-white {
  background-color: var(--back-color-Off-white);
}
.--gb-sand {
  background-color: var(--back-color-Sand);
}
.--gb-pale {
  background-color: var(--back-color-Pale);
}



/*============================================================
テキスト装飾
============================================================*/
.--text-underline {
  text-decoration: underline;
}




/*============================================================
スペーシング
============================================================*/
.--spacing-02 {
  padding-top: 2rem;
}
.--spacing-04 {
  padding-top: 4rem;
}
.--spacing-08 {
  padding-top: 8rem;
}
.--spacing-12 {
  padding-top: 12rem;
}
.--spacing-16 {
  padding-top: 16rem;
}
.--spacing-20 {
  padding-top: 20rem;
}
.--spacing-24 {
  padding-top: 24rem;
}
.--spacing-32 {
  padding-top: 32rem;
}
.--spacing-40 {
  padding-top: 40rem;
}
.--spacing-48 {
  padding-top: 48rem;
}
.--spacing-56 {
  padding-top: 56rem;
}
.--spacing-64 {
  padding-top: 64rem;
}
.--spacing-72 {
  padding-top: 72rem;
}
.--spacing-80 {
  padding-top: 80rem;
}
.--spacing-88 {
  padding-top: 88rem;
}
.--spacing-96 {
  padding-top: 96rem;
}
.--spacing-120 {
  padding-top: 120rem;
}
.--spacing-160 {
  padding-top: 160rem;
}
.--spacing-200 {
  padding-top: 200rem;
}
/* PC
----------------------------------*/
@media screen and (min-width: 1201px) {
	.--spacing-02-pc {
		padding-top: 2rem;
	}
	.--spacing-04-pc {
		padding-top: 4rem;
	}
	.--spacing-08-pc {
		padding-top: 8rem;
	}
	.--spacing-12-pc {
		padding-top: 12rem;
	}
	.--spacing-16-pc {
		padding-top: 16rem;
	}
	.--spacing-20-pc {
		padding-top: 20rem;
	}
	.--spacing-24-pc {
		padding-top: 24rem;
	}
	.--spacing-32-pc {
		padding-top: 32rem;
	}
	.--spacing-40-pc {
		padding-top: 40rem;
	}
	.--spacing-48-pc {
		padding-top: 48rem;
	}
	.--spacing-56-pc {
		padding-top: 56rem;
	}
	.--spacing-64-pc {
		padding-top: 64rem;
	}
	.--spacing-72-pc {
		padding-top: 72rem;
	}
	.--spacing-80-pc {
		padding-top: 80rem;
	}
	.--spacing-88-pc {
		padding-top: 88rem;
	}
	.--spacing-96-pc {
		padding-top: 96rem;
	}
	.--spacing-120-pc {
		padding-top: 120rem;
	}
	.--spacing-160-pc {
		padding-top: 160rem;
	}
	.--spacing-200-pc {
		padding-top: 200rem;
	}
}
/* SP
----------------------------------*/
@media screen and (max-width: 1200px) {
	.--spacing-02-sp {
		padding-top: 2rem;
	}
	.--spacing-04-sp {
		padding-top: 4rem;
	}
	.--spacing-08-sp {
		padding-top: 8rem;
	}
	.--spacing-12-sp {
		padding-top: 12rem;
	}
	.--spacing-16-sp {
		padding-top: 16rem;
	}
	.--spacing-20-sp {
		padding-top: 20rem;
	}
	.--spacing-24-sp {
		padding-top: 24rem;
	}
	.--spacing-32-sp {
		padding-top: 32rem;
	}
	.--spacing-40-sp {
		padding-top: 40rem;
	}
	.--spacing-48-sp {
		padding-top: 48rem;
	}
	.--spacing-56-sp {
		padding-top: 56rem;
	}
	.--spacing-64-sp {
		padding-top: 64rem;
	}
	.--spacing-72-sp {
		padding-top: 72rem;
	}
	.--spacing-80-sp {
		padding-top: 80rem;
	}
	.--spacing-88-sp {
		padding-top: 88rem;
	}
	.--spacing-96-sp {
		padding-top: 96rem;
	}
	.--spacing-120-sp {
		padding-top: 120rem;
	}
	.--spacing-160-sp {
		padding-top: 160rem;
	}
	.--spacing-200-sp {
		padding-top: 200rem;
	}
}

/*============================================================
フレックス関連(.l-grid)
============================================================*/
.--gap-0 {
  --grid-num: 0;
}
/*====================================
配置
====================================*/
.--content-center {
  justify-content: center;
}
.--content-between {
  justify-content: space-between;
}
.--content-start {
  justify-content: flex-start;
}
.--content-end {
  justify-content: flex-end;
}
.--items-center {
  align-items: center;
}
.--items-start {
  align-items: flex-start;
}
.--items-end {
  align-items: flex-end;
}
.--flex-column {
  flex-direction: column;
}
/* PC
----------------------------------*/
@media screen and (min-width: 1201px) {
  .--content-center-pc {
    justify-content: center;
  }
  .--content-between-pc {
    justify-content: space-between;
  }
  .--content-start-pc {
    justify-content: flex-start;
  }
  .--content-end-pc {
    justify-content: flex-end;
  }
  .--items-center-pc {
    align-items: center;
  }
  .--items-start-pc {
    align-items: flex-start;
  }
  .--items-end-pc {
    align-items: flex-end;
  }
  .--flex-column-pc {
    flex-direction: column;
  }
}
/* SP
----------------------------------*/
@media screen and (max-width: 1200px) {
  .--content-center-sp {
    justify-content: center;
  }
  .--content-between-sp {
    justify-content: space-between;
  }
  .--content-start-sp {
    justify-content: flex-start;
  }
  .--content-end-sp {
    justify-content: flex-end;
  }
  .--items-center-sp {
    align-items: center;
  }
  .--items-start-sp {
    align-items: flex-start;
  }
  .--items-end-sp {
    align-items: flex-end;
  }
  .--flex-column-sp {
    flex-direction: column;
  }
}

/*====================================
並び順
====================================*/
.--order-0 {
  order: 0 !important;
}
.--order-1 {
  order: 1 !important;
}
.--order-2 {
  order: 2 !important;
}
.--order-3 {
  order: 3 !important;
}
.--order-4 {
  order: 4 !important;
}
.--order-5 {
  order: 5 !important;
}
/*====================================
Panel数制御
====================================*/
.--panel-1 > * {
  width: 100%;
}
.--panel-2 > * {
  width: calc((100% / 2) - (var(--grid-num) / 2));
}
.--panel-3 > * {
  width: calc((100% / 3) - (var(--grid-num) * 2 / 3));
}
.--panel-4 > * {
  width: calc((100% / 4) - (var(--grid-num) * 3 / 4));
}
.--panel-5 > * {
  width: calc((100% / 5) - (var(--grid-num) * 4 / 5));
}
.--panel-6 > * {
  width: calc((100% / 6) - (var(--grid-num) * 5 / 6));
}
.--panel-7 > * {
  width: calc((100% / 7) - (var(--grid-num) * 6 / 7));
}
.--panel-8 > * {
  width: calc((100% / 8) - (var(--grid-num) * 7 / 8));
}
.--panel-9 > * {
  width: calc((100% / 9) - (var(--grid-num) * 8 / 9));
}
.--panel-10 > * {
  width: calc((100% / 10) - (var(--grid-num) * 9 / 10));
}
.--panel-11 > * {
  width: calc((100% / 11) - (var(--grid-num) * 10 / 11));
}
.--panel-12 > * {
  width: calc((100% / 12) - (var(--grid-num) * 11 / 12));
}
/* PC
----------------------------------*/
@media screen and (min-width: 1201px) {
  .--panel-1-pc > * {
    width: calc((100% / 1.5) - (var(--grid-num) / 1.5));
  }
  .--panel-2-pc > * {
    width: calc((100% / 2) - (var(--grid-num) / 2));
  }
  .--panel-3-pc > * {
    width: calc((100% / 3) - (var(--grid-num) * 2 / 3));
  }
  .--panel-4-pc > * {
    width: calc((100% / 4) - (var(--grid-num) * 3 / 4));
  }
  .--panel-5-pc > * {
    width: calc((100% / 5) - (var(--grid-num) * 4 / 5));
  }
  .--panel-6-pc > * {
    width: calc((100% / 6) - (var(--grid-num) * 5 / 6));
  }
  .--panel-7-pc > * {
    width: calc((100% / 7) - (var(--grid-num) * 6 / 7));
  }
  .--panel-8-pc > * {
    width: calc((100% / 8) - (var(--grid-num) * 7 / 8));
  }
  .--panel-9-pc > * {
    width: calc((100% / 9) - (var(--grid-num) * 8 / 9));
  }
  .--panel-10-pc > * {
    width: calc((100% / 10) - (var(--grid-num) * 9 / 10));
  }
  .--panel-11-pc > * {
    width: calc((100% / 11) - (var(--grid-num) * 10 / 11));
  }
  .--panel-12-pc > * {
    width: calc((100% / 12) - (var(--grid-num) * 11 / 12));
  }
}
/* SP
----------------------------------*/
@media screen and (max-width: 1200px) {
  .--panel-1-pc > * {
    width: 100%;
  }
  .--panel-1-pc,
  .--panel-2-pc,
  .--panel-3-pc,
  .--panel-4-pc,
  .--panel-5-pc,
  .--panel-6-pc,
  .--panel-7-pc,
  .--panel-8-pc,
  .--panel-9-pc,
  .--panel-10-pc,
  .--panel-11-pc,
  .--panel-12-pc {
    flex-direction: column;
  }
  .--panel-1-pc > *,
  .--panel-2-pc > *,
  .--panel-3-pc > *,
  .--panel-4-pc > *,
  .--panel-5-pc > *,
  .--panel-6-pc > *,
  .--panel-7-pc > *,
  .--panel-8-pc > *,
  .--panel-9-pc > *,
  .--panel-10-pc > *,
  .--panel-11-pc > *,
  .--panel-12-pc > * {
    width: 100%;
  }
  .--panel-2-sp > * {
    width: calc((100% / 2) - (var(--grid-num) / 2));
  }
  .--panel-3-sp > * {
    width: calc((100% / 3) - (var(--grid-num) * 2 / 3));
  }
  .--panel-4-sp > * {
    width: calc((100% / 4) - (var(--grid-num) * 3 / 4));
  }
}
/*====================================
PanelChild数制御（子要素）
====================================*/
.--panelChild-1 {
  width: calc(((100% - 176rem) / 12) * 1 + (0 * var(--grid-num)));
}
.--panelChild-2 {
  width: calc(((100% - 176rem) / 12) * 2 + (1 * var(--grid-num)));
}
.--panelChild-3 {
  width: calc(((100% - 176rem) / 12) * 3 + (2 * var(--grid-num)));
}
.--panelChild-4 {
  width: calc(((100% - 176rem) / 12) * 4 + (3 * var(--grid-num)));
}
.--panelChild-5 {
  width: calc(((100% - 176rem) / 12) * 5 + (4 * var(--grid-num)));
}
.--panelChild-6 {
  width: calc(((100% - 176rem) / 12) * 6 + (5 * var(--grid-num)));
}
.--panelChild-7 {
  width: calc(((100% - 176rem) / 12) * 7 + (6 * var(--grid-num)));
}
.--panelChild-8 {
  width: calc(((100% - 176rem) / 12) * 8 + (7 * var(--grid-num)));
}
.--panelChild-9 {
  width: calc(((100% - 176rem) / 12) * 9 + (8 * var(--grid-num)));
}
.--panelChild-10 {
  width: calc(((100% - 176rem) / 12) * 10 + (9 * var(--grid-num)));
}
.--panelChild-11 {
  width: calc(((100% - 176rem) / 12) * 11 + (10 * var(--grid-num)));
}
.--panelChild-12 {
  width: calc(((100% - 176rem) / 12) * 12 + (11 * var(--grid-num)));
}

/* PC
----------------------------------*/
@media screen and (min-width: 1201px) {
  .--panelChild-1-pc {
      width: calc(((100% - 176rem) / 12) * 1 + (0 * var(--grid-num)));
  }
  .--panelChild-2-pc {
      width: calc(((100% - 176rem) / 12) * 2 + (1 * var(--grid-num)));
  }
  .--panelChild-3-pc {
      width: calc(((100% - 176rem) / 12) * 3 + (2 * var(--grid-num)));
  }
  .--panelChild-4-pc {
      width: calc(((100% - 176rem) / 12) * 4 + (3 * var(--grid-num)));
  }
  .--panelChild-5-pc {
      width: calc(((100% - 176rem) / 12) * 5 + (4 * var(--grid-num)));
  }
  .--panelChild-6-pc {
      width: calc(((100% - 176rem) / 12) * 6 + (5 * var(--grid-num)));
  }
  .--panelChild-7-pc {
      width: calc(((100% - 176rem) / 12) * 7 + (6 * var(--grid-num)));
  }
  .--panelChild-8-pc {
      width: calc(((100% - 176rem) / 12) * 8 + (7 * var(--grid-num)));
  }
  .--panelChild-9-pc {
      width: calc(((100% - 176rem) / 12) * 9 + (8 * var(--grid-num)));
  }
  .--panelChild-10-pc {
      width: calc(((100% - 176rem) / 12) * 10 + (9 * var(--grid-num)));
  }
  .--panelChild-11-pc {
      width: calc(((100% - 176rem) / 12) * 11 + (10 * var(--grid-num)));
  }
  .--panelChild-12-pc {
      width: calc(((100% - 176rem) / 12) * 12 + (11 * var(--grid-num)));
  }
}
/* SP
----------------------------------*/
@media screen and (max-width: 1200px) {
  .--panelChild-1-pc,
  .--panelChild-2-pc,
  .--panelChild-3-pc,
  .--panelChild-4-pc,
  .--panelChild-5-pc,
  .--panelChild-6-pc,
  .--panelChild-7-pc,
  .--panelChild-8-pc,
  .--panelChild-9-pc,
  .--panelChild-10-pc,
  .--panelChild-11-pc,
  .--panelChild-12-pc {
      width: 100%;
    }
  .--panelChild-2-sp {
      width: calc((100% / 2) - (var(--grid-num) / 2));
    }
  .--panelChild-3-sp {
      width: calc((100% / 3) - (var(--grid-num) * 2 / 3));
    }
  .--panelChild-4-sp {
      width: calc((100% / 4) - (var(--grid-num) * 3 / 4));
    }
}
.--no-wrap {
  flex-wrap: nowrap !important;
}

/*============================================================
grid-num
============================================================*/
.--grid-num-16 {
	--grid-num: var(--spacing-16);
}
.--grid-num-8 {
	--grid-num: var(--spacing-08);
}

/* PC
----------------------------------*/
@media screen and (min-width: 1201px) {
  .--left-spacing-pc {
    padding-left: 104rem;
  }
  .--right-spacing-pc {
    padding-right: 104rem;
  }
  .--center-spacing-pc {
    padding-right: 52rem;
    padding-left: 52rem;
  }
  .--left-spacing-half-pc {
    padding-left: 52rem;
  }
  .--right-spacing-half-pc {
    padding-right: 52rem;
  }
  .--center-spacing-half-pc {
    padding-right: 26rem;
    padding-left: 26rem;
  }
}


.--spec-inr {
  margin-top: var(--spacing-08);
  padding-top: var(--spacing-08);
  border-top: 1px solid var(--font-color-secondary);
}
.--spec-inr:last-child {
  padding-bottom: var(--spacing-08);
}
/* SP
----------------------------------*/
@media screen and (max-width: 1200px) {
  .--spec-inr-pc {
    margin-top: var(--spacing-08);
    padding-top: var(--spacing-08);
    border-top: 1px solid var(--font-color-secondary);
  }
  .--spec-inr:last-child {
    padding-bottom: var(--spacing-08);
  }
}