@charset "UTF-8";

/* =============================================================================

Preferred CSS
※もしくはparts

・共通CSSでは優先度の最も高い単一パーツクラス「.p-×××」

上記はここに記述する

============================================================================= */

/* Display None
----------------------------------------------------------------------------- */
.p-hidden {
  display:none !important;
}
@media (width > 640px) {
  .p-sp {
    display:none !important;
  }
}
@media (width <= 640px) {
  .p-pc {
    display:none !important;
  }
}


/* PC Contents Width
----------------------------------------------------------------------------- */
@media (width > 640px) {
  :where([class*="p-w-pc-"]) {
    margin-inline:auto;
  }
  .p-w-pc-1440 {
    width:144.0rem;
  }
  .p-w-pc-1400 {
    width:140.0rem;
  }
  .p-w-pc-1360 {
    width:136.0rem;
  }
  .p-w-pc-1320 {
    width:132.0rem;
  }
  .p-w-pc-1300 {
    width:130.0rem;
  }
  .p-w-pc-1280 {
    width:128.0rem;
  }
  .p-w-pc-1200 {
    width:120.0rem;
  }
  .p-w-pc-1120 {
    width:112.0rem;
  }
  .p-w-pc-1100 {
    width:110.0rem;
  }
  .p-w-pc-1060 {
    width:106.0rem;
  }
  .p-w-pc-1050 {
    width:105.0rem;
  }
  .p-w-pc-1054 {
    width:105.4rem;
  }
  .p-w-pc-1080 {
    width:108.0rem;
  }
  .p-w-pc-1000 {
    width:100.0rem;
  }
  .p-w-pc-980 {
    width:98.0rem;
  }
  .p-w-pc-960 {
    width:96.0rem;
  }
  .p-w-pc-940 {
    width:94.0rem;
  }
  .p-w-pc-860 {
    width:86.0rem;
  }
}


/* PC Padding Inline
----------------------------------------------------------------------------- */
@media (width > 640px) {
  .p-pdi-pc-50 {
    padding-inline:5.0rem;
  }
  .p-pdi-pc-80 {
    padding-inline:8.0rem;
  }
  .p-pdi-pc-100 {
    padding-inline:10.0rem;
  }
  .p-pdi-pc-110 {
    padding-inline:11.0rem;
  }
  .p-pdi-pc-160 {
    padding-inline:16.0rem;
  }
  /* Negative Margin */
  .p-mi-n-pc-50 {
    margin-inline:-5.0rem;
  }
  .p-mi-n-pc-80 {
    margin-inline:-8.0rem;
  }
  .p-mi-n-pc-100 {
    margin-inline:-10.0rem;
  }
  .p-mi-n-pc-110 {
    margin-inline:-11.0rem;
  }
  .p-mi-n-pc-160 {
    margin-inline:-16.0rem;
  }
}


/* SP Padding & Negative Margin
----------------------------------------------------------------------------- */
@media (width <= 640px) {
  .p-pdi-sp-10 {
    padding-inline:var(--pdi-sp-10);
  }
  .p-mi-sp-10 {
    margin-inline:var(--pdi-sp-10);
  }
  .p-mi-n-sp-10 {
    margin-inline:calc(var(--pdi-sp-10) * -1);
  }
  .p-pdi-sp-15 {
    padding-inline:var(--pdi-sp-15);
  }
  .p-mi-sp-15 {
    margin-inline:var(--pdi-sp-15);
  }
  .p-mi-n-sp-15 {
    margin-inline:calc(var(--pdi-sp-15) * -1);
  }
  .p-pdi-sp-20 {
    padding-inline:var(--pdi-sp-20);
  }
  .p-mi-sp-20 {
    margin-inline:var(--pdi-sp-20);
  }
  .p-mi-n-sp-20 {
    margin-inline:calc(var(--pdi-sp-20) * -1);
  }
  .p-pdi-sp-25 {
    padding-inline:var(--pdi-sp-25);
  }
  .p-mi-sp-25 {
    margin-inline:var(--pdi-sp-25);
  }
  .p-mi-n-sp-25 {
    margin-inline:calc(var(--pdi-sp-25) * -1);
  }
  .p-pdi-sp-30 {
    padding-inline:var(--pdi-sp-30);
  }
  .p-mi-sp-30 {
    margin-inline:var(--pdi-sp-30);
  }
  .p-mi-n-sp-30 {
    margin-inline:calc(var(--pdi-sp-30) * -1);
  }
  .p-pdi-sp-35 {
    padding-inline:var(--pdi-sp-35);
  }
  .p-mi-sp-35 {
    margin-inline:var(--pdi-sp-35);
  }
  .p-mi-n-sp-35 {
    margin-inline:calc(var(--pdi-sp-35) * -1);
  }
  .p-pdi-sp-40 {
    padding-inline:var(--pdi-sp-40);
  }
  .p-mi-n-sp-40 {
    margin-inline:calc(var(--pdi-sp-40) * -1);
  }
}


/* Font Family
----------------------------------------------------------------------------- */
/* Default */
.p-ff-default {
  font-family:var(--ff-default);
}

/* DNP 秀英角ゴシック金 */
.p-ff-sgk {
  font-family:var(--ff-sgk);
  font-weight:500;
}
.p-ff-sgk-400 {
  font-family:var(--ff-sgk);
  font-weight:400;
}
.p-ff-sgk-500 {
  font-family:var(--ff-sgk);
  font-weight:500;
}
.p-ff-sgk-600 {
  font-family:var(--ff-sgk);
  font-weight:600;
}

/* Neue Haas Grotesk Display Pro */
.p-ff-nhgdp {
  font-family:var(--ff-nhgdp);
  font-weight:500;
}
.p-ff-nhgdp-45 { /* 45 Light */
  font-family:var(--ff-nhgdp);
  font-weight:400;
}
.p-ff-nhgdp-55 { /* 55 Roman */
  font-family:var(--ff-nhgdp);
  font-weight:500;
}
.p-ff-nhgdp-65 { /* 65 Medium */
  font-family:var(--ff-nhgdp);
  font-weight:600;
}

/* TT Commons Pro */
.p-ff-ttcp {
  font-family:var(--ff-ttcp);
  font-weight:400;
}
.p-ff-ttcp-400 { /* 400 Medium */
  font-family:var(--ff-ttcp);
  font-weight:400;
}
.p-ff-ttcp-500 { /* 500 Demi Bold */
  font-family:var(--ff-ttcp);
  font-weight:500;
}

/* Margin Block .p-mb
----------------------------------------------------------------------------- */
.p-mb-0 {
  margin-block:0;
}
.p-mb-A:not(:first-child) {
  margin-block:var(--mb-A);
}
.p-mb-B:not(:first-child) {
  margin-block:var(--mb-B);
}
.p-mb-C:not(:first-child) {
  margin-block:var(--mb-C);
}
.p-mb-D:not(:first-child) {
  margin-block:var(--mb-D);
}
.p-mb-E:not(:first-child) {
  margin-block:var(--mb-E);
}
.p-mb-F:not(:first-child) {
  margin-block:var(--mb-F);
}
.p-mb-G:not(:first-child) {
  margin-block:var(--mb-G);
}
.p-mb-H:not(:first-child) {
  margin-block:var(--mb-H);
}
.p-mb-I:not(:first-child) {
  margin-block:var(--mb-I);
}
@media (width > 640px) {
  .p-mb-pc-0 {
    margin-block:0;
  }
  .p-mb-pc-A:not(:first-child) {
    margin-block:var(--mb-A);
  }
  .p-mb-pc-B:not(:first-child) {
    margin-block:var(--mb-B);
  }
  .p-mb-pc-C:not(:first-child) {
    margin-block:var(--mb-C);
  }
  .p-mb-pc-D:not(:first-child) {
    margin-block:var(--mb-D);
  }
  .p-mb-pc-E:not(:first-child) {
    margin-block:var(--mb-E);
  }
  .p-mb-pc-F:not(:first-child) {
    margin-block:var(--mb-F);
  }
  .p-mb-pc-G:not(:first-child) {
    margin-block:var(--mb-G);
  }
  .p-mb-pc-H:not(:first-child) {
    margin-block:var(--mb-H);
  }
  .p-mb-pc-I:not(:first-child) {
    margin-block:var(--mb-I);
  }
}
@media (width <= 640px) {
  .p-mb-sp-0 {
    margin-block:0;
  }
  .p-mb-sp-A:not(:first-child) {
    margin-block:var(--mb-A);
  }
  .p-mb-sp-B:not(:first-child) {
    margin-block:var(--mb-B);
  }
  .p-mb-sp-C:not(:first-child) {
    margin-block:var(--mb-C);
  }
  .p-mb-sp-D:not(:first-child) {
    margin-block:var(--mb-D);
  }
  .p-mb-sp-E:not(:first-child) {
    margin-block:var(--mb-E);
  }
  .p-mb-sp-F:not(:first-child) {
    margin-block:var(--mb-F);
  }
  .p-mb-sp-G:not(:first-child) {
    margin-block:var(--mb-G);
  }
  .p-mb-sp-H:not(:first-child) {
    margin-block:var(--mb-H);
  }
  .p-mb-sp-I:not(:first-child) {
    margin-block:var(--mb-I);
  }
}


/* Margin Block Start .p-mbs
----------------------------------------------------------------------------- */
.p-mbs-0 {
  margin-block-start:0;
}
.p-mbs-A:not(:first-child) {
  margin-block-start:var(--mb-A);
}
.p-mbs-B:not(:first-child) {
  margin-block-start:var(--mb-B);
}
.p-mbs-C:not(:first-child) {
  margin-block-start:var(--mb-C);
}
.p-mbs-D:not(:first-child) {
  margin-block-start:var(--mb-D);
}
.p-mbs-E:not(:first-child) {
  margin-block-start:var(--mb-E);
}
.p-mbs-F:not(:first-child) {
  margin-block-start:var(--mb-F);
}
.p-mbs-G:not(:first-child) {
  margin-block-start:var(--mb-G);
}
.p-mbs-H:not(:first-child) {
  margin-block-start:var(--mb-H);
}
.p-mbs-I:not(:first-child) {
  margin-block-start:var(--mb-I);
}
@media (width > 640px) {
  .p-mbs-pc-0 {
    margin-block-start:0;
  }
  .p-mbs-pc-A:not(:first-child) {
    margin-block-start:var(--mb-A);
  }
  .p-mbs-pc-B:not(:first-child) {
    margin-block-start:var(--mb-B);
  }
  .p-mbs-pc-C:not(:first-child) {
    margin-block-start:var(--mb-C);
  }
  .p-mbs-pc-D:not(:first-child) {
    margin-block-start:var(--mb-D);
  }
  .p-mbs-pc-E:not(:first-child) {
    margin-block-start:var(--mb-E);
  }
  .p-mbs-pc-F:not(:first-child) {
    margin-block-start:var(--mb-F);
  }
  .p-mbs-pc-G:not(:first-child) {
    margin-block-start:var(--mb-G);
  }
  .p-mbs-pc-H:not(:first-child) {
    margin-block-start:var(--mb-H);
  }
  .p-mbs-pc-I:not(:first-child) {
    margin-block-start:var(--mb-I);
  }
}
@media (width <= 640px) {
  .p-mbs-sp-0 {
    margin-block-start:0;
  }
  .p-mbs-sp-A:not(:first-child) {
    margin-block-start:var(--mb-A);
  }
  .p-mbs-sp-B:not(:first-child) {
    margin-block-start:var(--mb-B);
  }
  .p-mbs-sp-C:not(:first-child) {
    margin-block-start:var(--mb-C);
  }
  .p-mbs-sp-D:not(:first-child) {
    margin-block-start:var(--mb-D);
  }
  .p-mbs-sp-E:not(:first-child) {
    margin-block-start:var(--mb-E);
  }
  .p-mbs-sp-F:not(:first-child) {
    margin-block-start:var(--mb-F);
  }
  .p-mbs-sp-G:not(:first-child) {
    margin-block-start:var(--mb-G);
  }
  .p-mbs-sp-H:not(:first-child) {
    margin-block-start:var(--mb-H);
  }
  .p-mbs-sp-I:not(:first-child) {
    margin-block-start:var(--mb-I);
  }
}


/* Margin Block Start > Negative Margin .p-mbs-n
----------------------------------------------------------------------------- */
.p-mbs-n-header {
  margin-block-start:calc(var(--header-height) * -1);
}
.p-mbs-n-A {
  margin-block-start:calc(var(--mb-A) * -1);
}
.p-mbs-n-B {
  margin-block-start:calc(var(--mb-B) * -1);
}
.p-mbs-n-C {
  margin-block-start:calc(var(--mb-C) * -1);
}
.p-mbs-n-D {
  margin-block-start:calc(var(--mb-D) * -1);
}
.p-mbs-n-E {
  margin-block-start:calc(var(--mb-E) * -1);
}
.p-mbs-n-F {
  margin-block-start:calc(var(--mb-F) * -1);
}
.p-mbs-n-G {
  margin-block-start:calc(var(--mb-G) * -1);
}
.p-mbs-n-H {
  margin-block-start:calc(var(--mb-H) * -1);
}
.p-mbs-n-I {
  margin-block-start:calc(var(--mb-I) * -1);
}
@media (width > 640px) {
  .p-mbs-pc-n-A {
    margin-block-start:calc(var(--mb-A) * -1);
  }
  .p-mbs-pc-n-B {
    margin-block-start:calc(var(--mb-B) * -1);
  }
  .p-mbs-pc-n-C {
    margin-block-start:calc(var(--mb-C) * -1);
  }
  .p-mbs-pc-n-D {
    margin-block-start:calc(var(--mb-D) * -1);
  }
  .p-mbs-pc-n-E {
    margin-block-start:calc(var(--mb-E) * -1);
  }
  .p-mbs-pc-n-F {
    margin-block-start:calc(var(--mb-F) * -1);
  }
  .p-mbs-pc-n-G {
    margin-block-start:calc(var(--mb-G) * -1);
  }
  .p-mbs-pc-n-H {
    margin-block-start:calc(var(--mb-H) * -1);
  }
  .p-mbs-pc-n-I {
    margin-block-start:calc(var(--mb-I) * -1);
  }
}
@media (width <= 640px) {
  .p-mbs-sp-n-A {
    margin-block-start:calc(var(--mb-A) * -1);
  }
  .p-mbs-sp-n-B {
    margin-block-start:calc(var(--mb-B) * -1);
  }
  .p-mbs-sp-n-C {
    margin-block-start:calc(var(--mb-C) * -1);
  }
  .p-mbs-sp-n-D {
    margin-block-start:calc(var(--mb-D) * -1);
  }
  .p-mbs-sp-n-E {
    margin-block-start:calc(var(--mb-E) * -1);
  }
  .p-mbs-sp-n-F {
    margin-block-start:calc(var(--mb-F) * -1);
  }
  .p-mbs-sp-n-G {
    margin-block-start:calc(var(--mb-G) * -1);
  }
  .p-mbs-sp-n-H {
    margin-block-start:calc(var(--mb-H) * -1);
  }
  .p-mbs-sp-n-I {
    margin-block-start:calc(var(--mb-I) * -1);
  }
}


/* Margin Block End .p-mbe
----------------------------------------------------------------------------- */
.p-mbe-0 {
  margin-block-end:0;
}
.p-mbe-A {
  margin-block-end:var(--mb-A);
}
.p-mbe-B {
  margin-block-end:var(--mb-B);
}
.p-mbe-C {
  margin-block-end:var(--mb-C);
}
.p-mbe-D {
  margin-block-end:var(--mb-D);
}
.p-mbe-E {
  margin-block-end:var(--mb-E);
}
.p-mbe-G {
  margin-block-end:var(--mb-G);
}
.p-mbe-H {
  margin-block-end:var(--mb-H);
}
.p-mbe-I {
  margin-block-end:var(--mb-I);
}
@media (width > 640px) {
  .p-mbe-pc-0 {
    margin-block-end:0;
  }
  .p-mbe-pc-A {
    margin-block-end:var(--mb-A);
  }
  .p-mbe-pc-B {
    margin-block-end:var(--mb-B);
  }
  .p-mbe-pc-C {
    margin-block-end:var(--mb-C);
  }
  .p-mbe-pc-D {
    margin-block-end:var(--mb-D);
  }
  .p-mbe-pc-E {
    margin-block-end:var(--mb-E);
  }
  .p-mbe-pc-F {
    margin-block-end:var(--mb-F);
  }
  .p-mbe-pc-G {
    margin-block-end:var(--mb-G);
  }
  .p-mbe-pc-H {
    margin-block-end:var(--mb-H);
  }
  .p-mbe-pc-I {
    margin-block-end:var(--mb-I);
  }
}
@media (width <= 640px) {
  .p-mbe-sp-0 {
    margin-block-end:0;
  }
  .p-mbe-sp-A {
    margin-block-end:var(--mb-A);
  }
  .p-mbe-sp-B {
    margin-block-end:var(--mb-B);
  }
  .p-mbe-sp-C {
    margin-block-end:var(--mb-C);
  }
  .p-mbe-sp-D {
    margin-block-end:var(--mb-D);
  }
  .p-mbe-sp-E {
    margin-block-end:var(--mb-E);
  }
  .p-mbe-sp-F {
    margin-block-end:var(--mb-F);
  }
  .p-mbe-sp-G {
    margin-block-end:var(--mb-G);
  }
  .p-mbe-sp-H {
    margin-block-end:var(--mb-H);
  }
  .p-mbe-sp-I {
    margin-block-end:var(--mb-I);
  }
}

/* Margin Block End > Negative Margin .p-mbe-n
----------------------------------------------------------------------------- */
.p-mbe-n-A {
  margin-block-end:calc(var(--mb-A) * -1);
}
.p-mbe-n-B {
  margin-block-end:calc(var(--mb-B) * -1);
}
.p-mbe-n-C {
  margin-block-end:calc(var(--mb-C) * -1);
}
.p-mbe-n-D {
  margin-block-end:calc(var(--mb-D) * -1);
}
.p-mbe-n-E {
  margin-block-end:calc(var(--mb-E) * -1);
}
.p-mbe-n-F {
  margin-block-end:calc(var(--mb-F) * -1);
}
.p-mbe-n-G {
  margin-block-end:calc(var(--mb-G) * -1);
}
.p-mbe-n-H {
  margin-block-end:calc(var(--mb-H) * -1);
}
.p-mbe-n-I {
  margin-block-end:calc(var(--mb-I) * -1);
}
@media (width > 640px) {
  .p-mbe-pc-n-A {
    margin-block-end:calc(var(--mb-A) * -1);
  }
  .p-mbe-pc-n-B {
    margin-block-end:calc(var(--mb-B) * -1);
  }
  .p-mbe-pc-n-C {
    margin-block-end:calc(var(--mb-C) * -1);
  }
  .p-mbe-pc-n-D {
    margin-block-end:calc(var(--mb-D) * -1);
  }
  .p-mbe-pc-n-E {
    margin-block-end:calc(var(--mb-E) * -1);
  }
  .p-mbe-pc-n-F {
    margin-block-end:calc(var(--mb-F) * -1);
  }
  .p-mbe-pc-n-G {
    margin-block-end:calc(var(--mb-G) * -1);
  }
  .p-mbe-pc-n-H {
    margin-block-end:calc(var(--mb-H) * -1);
  }
  .p-mbe-pc-n-I {
    margin-block-end:calc(var(--mb-I) * -1);
  }
}
@media (width <= 640px) {
  .p-mbe-sp-n-A {
    margin-block-end:calc(var(--mb-A) * -1);
  }
  .p-mbe-sp-n-B {
    margin-block-end:calc(var(--mb-B) * -1);
  }
  .p-mbe-sp-n-C {
    margin-block-end:calc(var(--mb-C) * -1);
  }
  .p-mbe-sp-n-D {
    margin-block-end:calc(var(--mb-D) * -1);
  }
  .p-mbe-sp-n-E {
    margin-block-end:calc(var(--mb-E) * -1);
  }
  .p-mbe-sp-n-F {
    margin-block-end:calc(var(--mb-F) * -1);
  }
  .p-mbe-sp-n-G {
    margin-block-end:calc(var(--mb-G) * -1);
  }
  .p-mbe-sp-n-H {
    margin-block-end:calc(var(--mb-H) * -1);
  }
  .p-mbe-sp-n-I {
    margin-block-end:calc(var(--mb-I) * -1);
  }
}


/* Padding Block .p-pb
----------------------------------------------------------------------------- */
.p-pb-0 {
  padding-block:0;
}
.p-pb-A {
  padding-block:var(--mb-A);
}
.l-lowerpage-kv-A + .p-pb-A {
  @media (width <= 640px) {
    padding-top:8.0rem;
  }
}
.p-pb-B {
  padding-block:var(--mb-B);
}
.p-pb-C {
  padding-block:var(--mb-C);
}
.p-pb-D {
  padding-block:var(--mb-D);
}
.p-pb-E {
  padding-block:var(--mb-E);
}
.p-pb-F {
  padding-block:var(--mb-F);
}
.p-pb-G {
  padding-block:var(--mb-G);
}
.p-pb-H {
  padding-block:var(--mb-H);
}
.p-pb-I {
  padding-block:var(--mb-I);
}
@media (width > 640px) {
  .p-pb-pc-0 {
    padding-block:0;
  }
  .p-pb-pc-A {
    padding-block:var(--mb-A);
  }
  .p-pb-pc-B {
    padding-block:var(--mb-B);
  }
  .p-pb-pc-C {
    padding-block:var(--mb-C);
  }
  .p-pb-pc-D {
    padding-block:var(--mb-D);
  }
  .p-pb-pc-E {
    padding-block:var(--mb-E);
  }
  .p-pb-pc-F {
    padding-block:var(--mb-F);
  }
  .p-pb-pc-G {
    padding-block:var(--mb-G);
  }
  .p-pb-pc-H {
    padding-block:var(--mb-H);
  }
  .p-pb-pc-I {
    padding-block:var(--mb-I);
  }
}
@media (width <= 640px) {
  .p-pb-sp-0 {
    padding-block:0;
  }
  .p-pb-sp-A {
    padding-block:var(--mb-A);
  }
  .p-pb-sp-B {
    padding-block:var(--mb-B);
  }
  .p-pb-sp-C {
    padding-block:var(--mb-C);
  }
  .p-pb-sp-D {
    padding-block:var(--mb-D);
  }
  .p-pb-sp-E {
    padding-block:var(--mb-E);
  }
  .p-pb-sp-F {
    padding-block:var(--mb-F);
  }
  .p-pb-sp-G {
    padding-block:var(--mb-G);
  }
  .p-pb-sp-H {
    padding-block:var(--mb-H);
  }
  .p-pb-sp-I {
    padding-block:var(--mb-I);
  }
}


/* Padding Block Start .p-pbs
----------------------------------------------------------------------------- */
.p-pbs-header {
  padding-block-start:var(--header-height);
}
.p-pbs-0 {
  padding-block-start:0;
}
.p-pbs-A {
  padding-block-start:var(--mb-A);
}
.l-lowerpage-kv-A + .p-pbs-A {
  @media (width <= 640px) {
    padding-top:8.0rem;
  }
}
.p-pbs-B {
  padding-block-start:var(--mb-B);
}
.p-pbs-C {
  padding-block-start:var(--mb-C);
}
.p-pbs-D {
  padding-block-start:var(--mb-D);
}
.p-pbs-E {
  padding-block-start:var(--mb-E);
}
.p-pbs-F {
  padding-block-start:var(--mb-F);
}
.p-pbs-G {
  padding-block-start:var(--mb-G);
}
.p-pbs-H {
  padding-block-start:var(--mb-H);
}
.p-pbs-I {
  padding-block-start:var(--mb-I);
}
@media (width > 640px) {
  .p-pbs-pc-0 {
    padding-block-start:0;
  }
  .p-pbs-pc-A {
    padding-block-start:var(--mb-A);
  }
  .p-pbs-pc-B {
    padding-block-start:var(--mb-B);
  }
  .p-pbs-pc-C {
    padding-block-start:var(--mb-C);
  }
  .p-pbs-pc-D {
    padding-block-start:var(--mb-D);
  }
  .p-pbs-pc-E {
    padding-block-start:var(--mb-E);
  }
  .p-pbs-pc-F {
    padding-block-start:var(--mb-F);
  }
  .p-pbs-pc-G {
    padding-block-start:var(--mb-G);
  }
  .p-pbs-pc-H {
    padding-block-start:var(--mb-H);
  }
  .p-pbs-pc-I {
    padding-block-start:var(--mb-I);
  }
}
@media (width <= 640px) {
  .p-pbs-sp-0 {
    padding-block-start:0;
  }
  .p-pbs-sp-A {
    padding-block-start:var(--mb-A);
  }
  .p-pbs-sp-B {
    padding-block-start:var(--mb-B);
  }
  .p-pbs-sp-C {
    padding-block-start:var(--mb-C);
  }
  .p-pbs-sp-D {
    padding-block-start:var(--mb-D);
  }
  .p-pbs-sp-E {
    padding-block-start:var(--mb-E);
  }
  .p-pbs-sp-F {
    padding-block-start:var(--mb-F);
  }
  .p-pbs-sp-G {
    padding-block-start:var(--mb-G);
  }
  .p-pbs-sp-H {
    padding-block-start:var(--mb-H);
  }
  .p-pbs-sp-I {
    padding-block-start:var(--mb-I);
  }
}

/* Padding Block End .p-pbe
----------------------------------------------------------------------------- */
.p-pbe-0 {
  padding-block-end:0;
}
.p-pbe-A {
  padding-block-end:var(--mb-A);
}
.p-pbe-B {
  padding-block-end:var(--mb-B);
}
.p-pbe-C {
  padding-block-end:var(--mb-C);
}
.p-pbe-D {
  padding-block-end:var(--mb-D);
}
.p-pbe-E {
  padding-block-end:var(--mb-E);
}
.p-pbe-F {
  padding-block-end:var(--mb-F);
}
.p-pbe-G {
  padding-block-end:var(--mb-G);
}
.p-pbe-H {
  padding-block-end:var(--mb-H);
}
.p-pbe-I {
  padding-block-end:var(--mb-I);
}
@media (width > 640px) {
  .p-pbe-pc-0 {
    padding-block-end:0;
  }
  .p-pbe-pc-A {
    padding-block-end:var(--mb-A);
  }
  .p-pbe-pc-B {
    padding-block-end:var(--mb-B);
  }
  .p-pbe-pc-C {
    padding-block-end:var(--mb-C);
  }
  .p-pbe-pc-D {
    padding-block-end:var(--mb-D);
  }
  .p-pbe-pc-E {
    padding-block-end:var(--mb-E);
  }
  .p-pbe-pc-F {
    padding-block-end:var(--mb-F);
  }
  .p-pbe-pc-G {
    padding-block-end:var(--mb-G);
  }
  .p-pbe-pc-H {
    padding-block-end:var(--mb-H);
  }
  .p-pbe-pc-I {
    padding-block-end:var(--mb-I);
  }
}
@media (width <= 640px) {
  .p-pbe-sp-0 {
    padding-block-end:0;
  }
  .p-pbe-sp-A {
    padding-block-end:var(--mb-A);
  }
  .p-pbe-sp-B {
    padding-block-end:var(--mb-B);
  }
  .p-pbe-sp-C {
    padding-block-end:var(--mb-C);
  }
  .p-pbe-sp-D {
    padding-block-end:var(--mb-D);
  }
  .p-pbe-sp-E {
    padding-block-end:var(--mb-E);
  }
  .p-pbe-sp-F {
    padding-block-end:var(--mb-F);
  }
  .p-pbe-sp-G {
    padding-block-end:var(--mb-G);
  }
  .p-pbe-sp-H {
    padding-block-end:var(--mb-H);
  }
  .p-pbe-sp-I {
    padding-block-end:var(--mb-I);
  }
}

/* Margin Inline
----------------------------------------------------------------------------- */
.p-mi-auto { /* center */
  margin-inline:auto;
}
.p-mis-auto { /* right */
  margin-left:auto;
}
@media (width > 640px) {
  .p-mi-pc-auto {
    margin-inline:auto;
  }
  .p-mis-pc-auto {
    margin-left:auto;
  }
}
@media (width <= 640px) {
  .p-mi-sp-auto {
    margin-inline:auto;
  }
  .p-mis-sp-auto {
    margin-left:auto;
  }
}

/* width .p-w-
----------------------------------------------------------------------------- */
.p-w-fit {
  width:fit-content;
}
@media (width > 640px) {
  .p-w-pc-fit {
    width:fit-content;
  }
}
@media (width <= 640px) {
  .p-w-sp-fit {
    width:fit-content;
  }
}


/* Text .p-t-
----------------------------------------------------------------------------- */
.p-t-justify {
  text-align: justify;
}
.p-t-justify-l {
  text-align-last: justify;
}
.p-t-left {
  text-align: left;
}
.p-t-right {
  text-align: right;
}
.p-t-right > img {
  margin-inline-start: auto;
}
.p-t-center {
  text-align: center;
}
.p-t-center > img {
  margin-inline: auto;
}
@media (width > 640px) {
  .p-t-pc-justify {
    text-align: justify;
  }
  .p-t-pc-justify-l {
    text-align-last: justify;
  }
  .p-t-pc-left {
    text-align: left;
  }
  .p-t-pc-right {
    text-align: right;
  }
  .p-t-pc-right > img {
    margin-inline-start: auto;
  }
  .p-t-pc-center {
    text-align: center;
  }
  .p-t-pc-center > img {
    margin-inline: auto;
  }
}
@media (width <= 640px) {
  .p-t-sp-justify {
    text-align: justify;
  }
  .p-t-sp-justify-l {
    text-align-last: justify;
  }
  .p-t-sp-left {
    text-align: left;
  }
  .p-t-sp-right {
    text-align: right;
  }
  .p-t-sp-right > img {
    margin-inline-start: auto;
  }
  .p-t-sp-center {
    text-align: center;
  }
  .p-t-sp-center > img {
    margin-inline: auto;
  }
}


/* .p-t-mb-n-lh
※テキストの上下のline-heightを潰す
----------------------------------------------------------------------------- */
.p-t-mb-n-lh {
  margin-block:calc(.5em - .5lh);
}
.p-t-mbs-n-lh {
  margin-block-start:calc(.5em - .5lh);
}
.p-t-mbe-n-lh {
  margin-block-end:calc(.5em - .5lh);
}


/* Typography .p-tg-
----------------------------------------------------------------------------- */

/* Text */
.p-tg-text-A { /* 基本テキスト */
  font-size: var(--tg-text-A-fs);
  font-weight:var(--tg-text-A-fw);
  line-height:var(--tg-text-A-lh);
  letter-spacing:var(--tg-text-A-ls);
}

/* Text */
.p-tg-text-B { /* リードコピー */
  font-size: 1.8rem;
  font-weight:500;
  line-height:2.4;
  letter-spacing:.25em;
  @media (width <= 640px) {
    font-size: 1.4rem;
    line-height:2.2;
  }
}
.p-tg-pc-text-B { /* PC リードコピー */
  @media (width > 640px) {
    font-size: 1.8rem;
    font-weight:500;
    line-height:2.4;
    letter-spacing:.25em;
  }
}
.p-tg-sp-text-B { /* SP リードコピー */
  @media (width <= 640px) {
    font-size: 1.4rem;
    font-weight:500;
    line-height:2.2;
    letter-spacing:.25em;
  }
}

/* Text */
.p-tg-text-C { /* リードコピー */
  font-size: 1.2rem;
  font-weight:500;
  line-height:1.5;
  letter-spacing:.15em;
  @media (width <= 640px) {
    font-size: 1.0rem;
  }
}
.p-tg-pc-text-C { /* PC リードコピー */
  @media (width > 640px) {
    font-size: 1.2rem;
    font-weight:500;
    line-height:1.5;
    letter-spacing:.15em;
  }
}
.p-tg-sp-text-C { /* SP リードコピー */
  @media (width <= 640px) {
    font-size: 1.0rem;
    font-weight:500;
    line-height:1.5;
    letter-spacing:.15em;
  }
}

/* Heading */
.p-tg-ja_heading-A { /* 和文大見出し */
  font-size: 3.2rem;
  font-weight:500;
  line-height:2;
  letter-spacing:.18em;
  @media (width <= 640px) {
    font-size: 2.4rem;
  }
}
.p-tg-pc-ja_heading-A { /* PC 和文大見出し */
  @media (width > 640px) {
    font-size: 3.2rem;
    font-weight:500;
    line-height:2;
    letter-spacing:.18em;
  }
}
.p-tg-sp-ja_heading-A { /* SP 和文大見出し */
  @media (width <= 640px) {
    font-size: 2.4rem;
    font-weight:500;
    line-height:2;
    letter-spacing:.18em;
  }
}

/* Heading */
.p-tg-ja_heading-B { /* 和文中見出し */
  font-size: 2.6rem;
  font-weight:500;
  line-height:2;
  letter-spacing:.2em;
  @media (width <= 640px) {
    font-size: 2.0rem;
  }
}
.p-tg-pc-ja_heading-B { /* PC 和文中見出し */
  @media (width > 640px) {
    font-size: 2.6rem;
    font-weight:500;
    line-height:2;
    letter-spacing:.2em;
  }
}
.p-tg-sp-ja_heading-B { /* SP 和文中見出し */
  @media (width <= 640px) {
    font-size: 2.0rem;
    font-weight:500;
    line-height:2;
    letter-spacing:.2em;
  }
}

/* Heading */
.p-tg-ja_heading-C { /* 和文小見出し (SPのみ?） */
  font-size: 1.8rem;
  font-weight:500;
  line-height:2;
  letter-spacing:.2em;
  @media (width <= 640px) {
  }
}
.p-tg-pc-ja_heading-C { /* PC 和文小見出し */
  @media (width > 640px) {
    font-size: 1.8rem;
    font-weight:500;
    line-height:2;
    letter-spacing:.2em;
  }
}
.p-tg-sp-ja_heading-C { /* SP 和文小見出し */
  @media (width <= 640px) {
    font-size: 1.8rem;
    font-weight:500;
    line-height:2;
    letter-spacing:.2em;
  }
}

/* Heading */
.p-tg-en_heading-A { /* 欧文大見出し */
  font-family:var(--ff-nhgdp);
  font-size: 16.8rem;
  font-weight:500;
  line-height:1.1;
  letter-spacing:.05em;
  @media (width <= 640px) {
    font-size: 7.2rem;
  }
}

/* Heading */
.p-tg-en_heading-B { /* 欧文中見出し */
  font-family:var(--ff-nhgdp);
  font-size: 6.4rem;
  font-weight:500;
  line-height:1.1;
  letter-spacing:.07em;
  @media (width <= 640px) {
    font-size: 3.2rem;
  }
}

/* note */
.p-tg-note-A {
  @media (width <= 640px) {
  }
}

/* リクルート設定
============================================================================= */
/* Text */
.p-r_tg-text-B { /* リードコピー */
  font-size: 1.8rem;
  font-weight:500;
  line-height:2.4;
  letter-spacing:.25em;
  @media (width <= 640px) {
    font-size: 1.6rem;
    line-height:2.2;
  }
}
.p-r_tg-pc-text-B { /* PC リードコピー */
  @media (width > 640px) {
    font-size: 1.8rem;
    font-weight:500;
    line-height:2.4;
    letter-spacing:.25em;
  }
}
.p-r_tg-sp-text-B { /* SP リードコピー */
  @media (width <= 640px) {
    font-size: 1.6rem;
    font-weight:500;
    line-height:2.2;
    letter-spacing:.25em;
  }
}

/* Heading */
.p-r_tg-ja_heading-A { /* 和文大見出し */
  font-size: 2.8rem;
  font-weight:600;
  line-height:1.7;
  letter-spacing:.18em;
  @media (width <= 640px) {
    font-size: 2.2rem;
  }
}
.p-r_tg-pc-ja_heading-A { /* PC 和文大見出し */
  @media (width > 640px) {
    font-size: 2.8rem;
    font-weight:600;
    line-height:1.7;
    letter-spacing:.18em;
  }
}
.p-r_tg-sp-ja_heading-A { /* SP 和文大見出し */
  @media (width <= 640px) {
    font-size: 2.2rem;
    font-weight:600;
    line-height:1.7;
    letter-spacing:.18em;
  }
}

/* Heading */
.p-r_tg-ja_heading-B { /* 和文中見出し */
  font-size: 2.3rem;
  font-weight:600;
  line-height:1.7;
  letter-spacing:.17em;
  @media (width <= 640px) {
    font-size: 1.7rem;
  }
}
.p-r_tg-pc-ja_heading-B { /* PC 和文中見出し */
  @media (width > 640px) {
    font-size: 2.3rem;
    font-weight:600;
    line-height:1.7;
    letter-spacing:.17em;
  }
}
.p-r_tg-sp-ja_heading-B { /* SP 和文中見出し */
  @media (width <= 640px) {
    font-size: 1.7rem;
    font-weight:600;
    line-height:1.7;
    letter-spacing:.17em;
  }
}

/* Heading */
.p-r_tg-ja_heading-C { /* 和文小見出し */
  font-size: 2.0rem;
  font-weight:600;
  line-height:1.8;
  letter-spacing:.15em;
  @media (width <= 640px) {
    font-size: 1.7rem;
    line-height:1.7;
    letter-spacing:.18em;
  }
}
.p-r_tg-pc-ja_heading-C { /* PC 和文小見出し */
  @media (width > 640px) {
    font-size: 2.0rem;
    font-weight:600;
    line-height:1.8;
    letter-spacing:.15em;
  }
}
.p-r_tg-sp-ja_heading-C { /* SP 和文小見出し */
  @media (width <= 640px) {
    font-size: 1.7rem;
    font-weight:600;
    line-height:1.7;
    letter-spacing:.18em;
  }
}

/* Heading */
.p-r_tg-en_heading-A { /* 欧文大見出し */
  font-family:var(--ff-ttcp);
  font-size: 14.4rem;
  font-weight:500;
  line-height:1.15;
  letter-spacing:.02em;
  @media (width <= 640px) {
    font-size: 7.2rem;
    line-height:1.1;
    letter-spacing:.03em;
  }
}

/* Heading */
.p-r_tg-en_heading-B { /* 欧文中見出し */
  font-family:var(--ff-ttcp);
  font-size: 6.4rem;
  font-weight:500;
  line-height:1.1;
  letter-spacing:.07em;
  @media (width <= 640px) {
    font-size: 3.2rem;
  }
}

/* line-clamp .p-lc
styleの場合
<p class="p-lc" style="--lc:2;">text</p> pcとspが同じ
<p class="p-lc" style="--lc-pc:2;--lc-sp:3;">text</p>  pcとspが別
----------------------------------------------------------------------------- */
[class*="p-lc"] {
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  overflow:hidden;
  -webkit-line-clamp: var(--lc);
  line-clamp: var(--lc);
}
.p-lc-1 {
  --lc:1;
}
.p-lc-2 {
  --lc:2;
}
.p-lc-3 {
  --lc:3;
}
.p-lc-4 {
  --lc:4;
}
.p-lc-5 {
  --lc:5;
}
.p-lc-6 {
  --lc:6;
}
@media (width > 640px) {
  .p-lc[style*=--lc-pc] {
    --lc:var(--lc-pc);
  }
  .p-lc-pc-1 {
    --lc:1;
  }
  .p-lc-pc-2 {
    --lc:2;
  }
  .p-lc-pc-3 {
    --lc:3;
  }
  .p-lc-pc-4 {
    --lc:4;
  }
  .p-lc-pc-5 {
    --lc:5;
  }
  .p-lc-pc-6 {
    --lc:6;
  }
}
@media (width <= 640px) {
  .p-lc[style*=--lc-sp] {
    --lc:var(--lc-sp);
  }
  .p-lc-sp-1 {
    --lc:1;
  }
  .p-lc-sp-2 {
    --lc:2;
  }
  .p-lc-sp-3 {
    --lc:3;
  }
  .p-lc-sp-4 {
    --lc:4;
  }
  .p-lc-sp-5 {
    --lc:5;
  }
  .p-lc-sp-6 {
    --lc:6;
  }
}


/* font-weight .p-fw
----------------------------------------------------------------------------- */
.p-fw-default-regular {
  font-weight:var(--fw-default-regular);
}
.p-fw-default-bold {
  font-weight:var(--fw-default-bold);
}
.p-fw-400 {
  font-weight:400;
}
.p-fw-500 {
  font-weight:500;
}
.p-fw-600 {
  font-weight:600;
}
.p-fw-700 {
  font-weight:700;
}

/* Color .p-c
----------------------------------------------------------------------------- */
.p-c-black-A {
  color:var(--cc-black-A);
}
.p-c-white-A {
  color:var(--cc-white-A);
}
.p-c-gray-A {
  color:var(--cc-gray-A);
}
.p-c-gray-B {
  color:var(--cc-gray-B);
}
.p-c-gray-C {
  color:var(--cc-gray-C);
}
.p-c-green-A {
  color:var(--cc-green-A);
}
.p-c-green-B {
  color:var(--cc-green-B);
}
.p-c-green-C {
  color:var(--cc-green-C);
}
.p-c-green-D {
  color:var(--cc-green-D);
}
.p-c-green-E {
  color:var(--cc-green-E);
}
.p-c-green-F {
  color:var(--cc-green-F);
}
@media (width > 640px) {
  .p-c-pc-black-A {
    color:var(--cc-black-A);
  }
  .p-c-pc-white-A {
    color:var(--cc-white-A);
  }
  .p-c-pc-gray-A {
    color:var(--cc-gray-A);
  }
  .p-c-pc-gray-B {
    color:var(--cc-gray-B);
  }
  .p-c-pc-gray-C {
    color:var(--cc-gray-C);
  }
  .p-c-pc-green-A {
    color:var(--cc-green-A);
  }
  .p-c-pc-green-B {
    color:var(--cc-green-B);
  }
  .p-c-pc-green-C {
    color:var(--cc-green-C);
  }
  .p-c-pc-green-D {
    color:var(--cc-green-D);
  }
  .p-c-pc-green-E {
    color:var(--cc-green-E);
  }
  .p-c-pc-green-F {
    color:var(--cc-green-F);
  }
}
@media (width <= 640px) {
  .p-c-sp-black-A {
    color:var(--cc-black-A);
  }
  .p-c-sp-white-A {
    color:var(--cc-white-A);
  }
  .p-c-sp-gray-A {
    color:var(--cc-gray-A);
  }
  .p-c-sp-gray-B {
    color:var(--cc-gray-B);
  }
  .p-c-sp-gray-C {
    color:var(--cc-gray-C);
  }
  .p-c-sp-green-A {
    color:var(--cc-green-A);
  }
  .p-c-sp-green-B {
    color:var(--cc-green-B);
  }
  .p-c-sp-green-C {
    color:var(--cc-green-C);
  }
  .p-c-sp-green-D {
    color:var(--cc-green-D);
  }
  .p-c-sp-green-E {
    color:var(--cc-green-E);
  }
  .p-c-sp-green-F {
    color:var(--cc-green-F);
  }
}


/* Background .p-bg
----------------------------------------------------------------------------- */
:where([class*="p-bg-"]:not([class*="p-bg-pc"],[class*="p-bg-sp"])) {
  background-color:var(--base-bg);
  color:var(--base-color);
}
.p-bg-white-A {
  --base-bg:var(--cc-white-A);
  --base-color:var(--cc-black-A);
  --base-bg-reverse:var(--cc-black-A);
  --base-color-reverse:var(--cc-white-A);
}
.p-bg-black-A {
  --base-bg:var(--cc-black-A);
  --base-color:var(--cc-white-A);
  --base-bg-reverse:var(--cc-white-A);
  --base-color-reverse:var(--cc-black-A);
}
.p-bg-gray-A {
  --base-bg:var(--cc-gray-A);
  --base-color:var(--cc-white-A);
}
.p-bg-gray-B {
  --base-bg:var(--cc-gray-B);
  --base-color:var(--cc-white-A);
}
.p-bg-gray-C {
  --base-bg:var(--cc-gray-C);
  --base-color:var(--cc-black-A);
}
@media (width > 640px) {
  :where([class*="p-bg-pc"]) {
    background-color:var(--base-bg);
    color:var(--base-color);
  }
  .p-bg-pc-white-A {
    --base-bg:var(--cc-white-A);
    --base-color:var(--cc-black-A);
  }
  .p-bg-pc-black-A {
    --base-bg:var(--cc-black-A);
    --base-color:var(--cc-white-A);
  }
  .p-bg-pc-gray-A {
    --base-bg:var(--cc-gray-A);
    --base-color:var(--cc-white-A);
  }
  .p-bg-pc-gray-B {
    --base-bg:var(--cc-gray-B);
    --base-color:var(--cc-white-A);
  }
  .p-bg-pc-gray-C {
    --base-bg:var(--cc-gray-C);
    --base-color:var(--cc-black-A);
  }
}
@media (width <= 640px) {
  :where([class*="p-bg-sp"]) {
    background-color:var(--base-bg);
    color:var(--base-color);
  }
  .p-bg-sp-white-A {
    --base-bg:var(--cc-white-A);
    --base-color:var(--cc-black-A);
  }
  .p-bg-sp-black-A {
    --base-bg:var(--cc-black-A);
    --base-color:var(--cc-white-A);
  }
  .p-bg-sp-gray-A {
    --base-bg:var(--cc-gray-A);
    --base-color:var(--cc-white-A);
  }
  .p-bg-sp-gray-B {
    --base-bg:var(--cc-gray-B);
    --base-color:var(--cc-white-A);
  }
  .p-bg-sp-gray-C {
    --base-bg:var(--cc-gray-C);
    --base-color:var(--cc-black-A);
  }
}


/* column
.p-col-pc
.p-col-sp
--col-××：カラム数
--col-gtc-××：grid-templage-columnsを指定
--col-gap-××：grid-gapを指定
----------------------------------------------------------------------------- */
@media (width > 640px) {
  .p-col-pc {
    display:grid;
    grid-template-columns:var(--col-gtc);
    gap:var(--col-pc-gap);
  }
  .p-col-pc[style*="--col-pc"] {
    --col-gtc:repeat(var(--col-pc),1fr);
  }
  .p-col-pc[style*="--col-gtc-pc"] {
    --col-gtc:var(--col-gtc-pc);
  }
}
@media (width <= 640px) {
  .p-col-sp {
    display:grid;
    grid-template-columns:var(--col-gtc);
    grid-auto-flow: column;
    gap:var(--col-pc-gap);
  }
  .p-col-sp[style*="--col-sp"] {
    --col-gtc:repeat(var(--col-sp),1fr);
  }
  .p-col-sp[style*="--col-gtc-sp"] {
    --col-gtc:var(--col-gtc-pc);
  }
}


/* Shadow .p-bxsh (box-shadow) or .p-fdsh (filter-shadow)
----------------------------------------------------------------------------- */
.p-bxsh-A {
  box-shadow:var(--shadow-A);
}
.p-fdsh-A {
  filter:drop-shadow(var(--shadow-A));
}


/* Radius
----------------------------------------------------------------------------- */
.p-radius-A {
  border-radius:var(--radius-A);
}
.p-radius-B {
  border-radius:var(--radius-B);
}
.p-radius-C {
  border-radius:var(--radius-C);
}
@media (width > 640px) {
  .p-radius-pc-A {
    border-radius:var(--radius-A);
  }
  .p-radius-pc-B {
    border-radius:var(--radius-B);
  }
  .p-radius-pc-C {
    border-radius:var(--radius-C);
  }
}
@media (width <= 640px) {
  .p-radius-sp-A {
    border-radius:var(--radius-A);
  }
  .p-radius-sp-B {
    border-radius:var(--radius-B);
  }
  .p-radius-sp-C {
    border-radius:var(--radius-C);
  }
}


/* Indent p-indent_list
----------------------------------------------------------------------------- */
.p-indent_list-A {
  > .item {
    display:flex;
    align-items: flex-start;
    gap:.2em;

    .it {
      flex-shrink: 0;
    }
  }
}
.p-indent_text-A {
  display:flex;
  align-items: flex-start;
  gap:.2em;

  .it {
    flex-shrink: 0;
  }
}


/* Link .p-link
----------------------------------------------------------------------------- */
.p-link_text-A {
  color:var(--cc-gray-A);
  text-decoration: underline;
  transition-property: color;
  transition-duration: var(--duration-hover-A);

  @media (hover) {
    &:hover {
      color:var(--cc-black-A);
      text-decoration: none;
    }
  }
}

.p-link-external-A::after {
  content:"";
  display:inline-block;
  margin-inline:.3em .1em;
  width:1.0rem;
  height:1.0rem;
  background-size:contain;
  background-repeat:no-repeat;
  background-color:var(--cc-black-A-hex);
}


/* Sticky .p-sticky
----------------------------------------------------------------------------- */
.p-sticky-A {
  @media (width > 640px) {
    position:sticky;
    top:8.0rem; /* calc(var(--header-height) + 4.0rem); */
  }
}