@charset "UTF-8";

/* =============================================================================

Preferred CSS
※もしくはparts

・共通CSSでは優先度の最も高い単一パーツクラス「.p-×××」

上記はここに記述する

============================================================================= */

/* Display None
----------------------------------------------------------------------------- */
.p-hidden {
  display:none;
}
@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-1300 {
    width:130.0rem;
  }
  .p-w-pc-1200 {
    width:120.0rem;
  }
  .p-w-pc-1100 {
    width:110.0rem;
  }
  .p-w-pc-980 {
    width:98.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
----------------------------------------------------------------------------- */
/* DNPShueiMinPr6 */
.p-ff-dnp_shuei { /* Default */
  font-family:var(--ff-dnp_shuei);
}
.p-ff-dnp_shuei-400 { /* Regular */
  font-family:var(--ff-dnp_shuei);
  font-weight:400;
}
.p-ff-dnp_shuei-500 { /* Medium */
  font-family:var(--ff-dnp_shuei);
  font-weight:500;
}
.p-ff-dnp_shuei-600 { /* Bold */
  font-family:var(--ff-dnp_shuei);
  font-weight:600;
}

/* Noto Sans CJK JP */
.p-ff-noto-sans { /* Default */
  font-family:var(--ff-noto-sans);
}
.p-ff-noto-sans-400 { /* Regular */
  font-family:var(--ff-noto-sans);
  font-weight:400;
}
.p-ff-noto-sans-500 { /* Medium */
  font-family:var(--ff-noto-sans);
  font-weight:500;
}
.p-ff-noto-sans-700 { /* Bold */
  font-family:var(--ff-noto-sans);
  font-weight:700;
}

/* Bellefair */
.p-ff-bellefair { /* Default */
  font-family:var(--ff-bellefair);
  font-weight:400;
}
.p-ff-bellefair-400 { /* Default */
  font-family:var(--ff-bellefair);
  font-weight:400;
}


/* 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-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 Start .p-pbs
----------------------------------------------------------------------------- */
.p-pbs-0 {
  padding-block-start:0;
}
.p-pbs-A {
  padding-block-start:var(--mb-A);
}
.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 { /* Body Text Size */
  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);
}

.p-tg-text-B {
  font-family:var(--ff-noto-sans);
  font-size: 1.5rem;
  line-height:calc(30/15);
  letter-spacing:.05em;
}
@media (width <= 640px) {
  .p-tg-text-B {
    font-size: 1.4rem;
    line-height:calc(26/14);
  }
}

.p-tg-text-C {
  font-size: 1.8rem;
  line-height:2.4;
  letter-spacing:.05em;
}
@media (width <= 640px) {
  .p-tg-text-C {
    font-size: 1.4rem;
    line-height:2.24;
  }
}

/* date */
.p-tg-date-A {
  margin-top:.25em;
  font-size: 1.4rem;
  font-family:var(--ff-bellefair);
  line-height:1;
  letter-spacing:.1em;
}
@media (width <= 640px) {
  .p-tg-date-A {
    font-size: 1.2rem;
  }
}

/* Heading */
.p-tg-heading-A {
  font-size: 2.0rem;
  line-height:1;
  letter-spacing:.1em;
}
@media (width <= 640px) {
  .p-tg-heading-A {
    font-size: 1.8rem;
    line-height:2;
    letter-spacing:.12em;
  }
}

.p-tg-heading-B {
  font-size: 2.4rem;
  line-height:calc(50/24);
  letter-spacing:.2em;
}
@media (width <= 640px) {
  .p-tg-heading-B {
    font-size: 1.6rem;
    line-height:calc(36/16);
  }
}

.p-tg-heading-C {
  font-size: 2.8rem;
  line-height:2;
  letter-spacing:.12em;
}
@media (width <= 640px) {
  .p-tg-heading-C {
    font-size: 2.0rem;
  }
}

.p-tg-heading-D {
  font-family:var(--ff-bellefair);
  font-size: 2.4rem;
  line-height:1.2;
  letter-spacing:.12em;
}
@media (width <= 640px) {
  .p-tg-heading-D {
    font-size: 1.8rem;
  }
}

/* note */
.p-tg-note-A {
  font-size: 1.4rem;
  line-height:1.8;
  letter-spacing:.05em;
}
@media (width <= 640px) {
  .p-tg-note-A {
    font-size: 1.2rem;
    letter-spacing:.1em;
  }
}

.p-tg-note-B {
  font-size: 1.2rem;
  line-height:1.5;
  letter-spacing:.03em;
}
@media (width <= 640px) {
  .p-tg-note-A {
    font-size: 1.1rem;
  }
}

/* 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-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(--base-font-color);
}
.p-c-black-B {
  color:var(--cc-black-A-hex);
}
.p-c-white {
  color:#fff;
}
.p-c-green-A {
  color:var(--cc-green-A-hex);
}
.p-c-green-B {
  color:var(--cc-green-B-hex);
}
.p-c-orange-A {
  color:var(--cc-orange-A-hex);
}
.p-c-orange-B {
  color:var(--cc-orange-B-hex);
}
.p-c-red-A {
  color:var(--cc-red-A-hex);
}
.p-c-gray-A {
  color:var(--cc-gray-A-hex);
}
.p-c-gray-B {
  color:var(--cc-gray-B-hex);
}
.p-c-gray-C {
  color:var(--cc-gray-C-hex);
}
.p-c-gray-D {
  color:var(--cc-gray-D-hex);
}
.p-c-gray-E {
  color:var(--cc-gray-E-hex);
}
.p-c-gray-F {
  color:var(--cc-gray-F-hex);
}
.p-c-gold-A {
  color:var(--cc-gold-A-hex);
}
@media (width > 640px) {
  .p-c-pc-black-A {
    color:var(--base-font-color);
  }
  .p-c-pc-black-B {
    color:var(--cc-black-A-hex);
  }
  .p-c-pc-white {
    color:#fff;
  }
  .p-c-pc-green-A {
    color:var(--cc-green-A-hex);
  }
  .p-c-pc-green-B {
    color:var(--cc-green-B-hex);
  }
  .p-c-pc-orange-A {
    color:var(--cc-orange-A-hex);
  }
  .p-c-pc-orange-B {
    color:var(--cc-orange-B-hex);
  }
  .p-c-pc-red-A {
    color:var(--cc-red-A-hex);
  }
  .p-c-pc-gray-A {
    color:var(--cc-gray-A-hex);
  }
  .p-c-pc-gray-B {
    color:var(--cc-gray-B-hex);
  }
  .p-c-pc-gray-C {
    color:var(--cc-gray-C-hex);
  }
  .p-c-pc-gray-D {
    color:var(--cc-gray-D-hex);
  }
  .p-c-pc-gray-E {
    color:var(--cc-gray-E-hex);
  }
  .p-c-pc-gray-F {
    color:var(--cc-gray-F-hex);
  }
  .p-c-pc-gold-A {
    color:var(--cc-gold-A-hex);
  }
}
@media (width <= 640px) {
  .p-c-pc-black-A {
    color:var(--base-font-color);
  }
  .p-c-sp-black-B {
    color:var(--cc-black-A-hex);
  }
  .p-c-sp-white {
    color:#fff;
  }
  .p-c-sp-green-A {
    color:var(--cc-green-A-hex);
  }
  .p-c-sp-green-B {
    color:var(--cc-green-B-hex);
  }
  .p-c-sp-orange-A {
    color:var(--cc-orange-A-hex);
  }
  .p-c-sp-orange-B {
    color:var(--cc-orange-B-hex);
  }
  .p-c-sp-red-A {
    color:var(--cc-red-A-hex);
  }
  .p-c-sp-gray-A {
    color:var(--cc-gray-A-hex);
  }
  .p-c-sp-gray-B {
    color:var(--cc-gray-B-hex);
  }
  .p-c-sp-gray-C {
    color:var(--cc-gray-C-hex);
  }
  .p-c-sp-gray-D {
    color:var(--cc-gray-D-hex);
  }
  .p-c-sp-gray-E {
    color:var(--cc-gray-E-hex);
  }
  .p-c-sp-gray-F {
    color:var(--cc-gray-F-hex);
  }
  .p-c-sp-gold-A {
    color:var(--cc-gold-A-hex);
  }
}


/* Background .p-bg
----------------------------------------------------------------------------- */
.p-bg-white {
  color:var(--base-font-color);
  background-color:#fff;
}
.p-bg-black-A {
  color:#fff;
  background-color:var(--cc-black-A-hex);
}
.p-bg-black-B {
  color:#fff;
  background-color:var(--cc-black-B-hex);
}
.p-bg-green-A {
  background-color:var(--cc-green-A-hex);
  color:#fff;
}
.p-bg-green-B {
  color:#fff;
  background-color:var(--cc-green-B-hex);
}
.p-bg-orange-A {
  color:#fff;
  background-color:var(--cc-orange-A-hex);
}
.p-bg-orange-B {
  color:#fff;
  background-color:var(--cc-orange-B-hex);
}
.p-bg-red-A {
  color:#fff;
  background-color:var(--cc-red-A-hex);
}
.p-bg-gray-A {
  color:var(--base-font-color);
  background-color:var(--cc-gray-A-hex);
}
.p-bg-gray-B {
  color:var(--base-font-color);
  background-color:var(--cc-gray-B-hex);
}
.p-bg-gray-C {
  color:var(--base-font-color);
  background-color:var(--cc-gray-C-hex);
}
.p-bg-gray-D {
  color:var(--base-font-color);
  background-color:var(--cc-gray-D-hex);
}
.p-bg-gray-E {
  color:var(--base-font-color);
  background-color:var(--cc-gray-E-hex);
}
.p-bg-gray-F {
  color:var(--base-font-color);
  background-color:var(--cc-gray-F-hex);
}
.p-bg-gold-F {
  color:#fff;
  background-color:var(--cc-gold-A-hex);
}
@media (width > 640px) {
  .p-bg-pc-white {
    color:var(--base-font-color);
    background-color:#fff;
  }
  .p-bg-pc-black-A {
    color:#fff;
    background-color:var(--cc-black-A-hex);
  }
  .p-bg-pc-black-B {
    color:#fff;
    background-color:var(--cc-black-B-hex);
  }
  .p-bg-pc-green-A {
    background-color:var(--cc-green-A-hex);
    color:#fff;
  }
  .p-bg-pc-green-B {
    color:#fff;
    background-color:var(--cc-green-B-hex);
  }
  .p-bg-pc-orange-A {
    color:#fff;
    background-color:var(--cc-orange-A-hex);
  }
  .p-bg-pc-orange-B {
    color:#fff;
    background-color:var(--cc-orange-B-hex);
  }
  .p-bg-pc-red-A {
    color:#fff;
    background-color:var(--cc-red-A-hex);
  }
  .p-bg-pc-gray-A {
    color:var(--base-font-color);
    background-color:var(--cc-gray-A-hex);
  }
  .p-bg-pc-gray-B {
    color:var(--base-font-color);
    background-color:var(--cc-gray-B-hex);
  }
  .p-bg-pc-gray-C {
    color:var(--base-font-color);
    background-color:var(--cc-gray-C-hex);
  }
  .p-bg-pc-gray-D {
    color:var(--base-font-color);
    background-color:var(--cc-gray-D-hex);
  }
  .p-bg-pc-gray-E {
    color:var(--base-font-color);
    background-color:var(--cc-gray-E-hex);
  }
  .p-bg-pc-gray-F {
    color:var(--base-font-color);
    background-color:var(--cc-gray-F-hex);
  }
  .p-bg-pc-gold-F {
    color:#fff;
    background-color:var(--cc-gold-A-hex);
  }
}
@media (width <= 640px) {
  .p-bg-sp-white {
    color:var(--base-font-color);
    background-color:#fff;
  }
  .p-bg-sp-black-A {
    color:#fff;
    background-color:var(--cc-black-A-hex);
  }
  .p-bg-sp-black-B {
    color:#fff;
    background-color:var(--cc-black-B-hex);
  }
  .p-bg-sp-green-A {
    background-color:var(--cc-green-A-hex);
    color:#fff;
  }
  .p-bg-sp-green-B {
    color:#fff;
    background-color:var(--cc-green-B-hex);
  }
  .p-bg-sp-orange-A {
    color:#fff;
    background-color:var(--cc-orange-A-hex);
  }
  .p-bg-sp-orange-B {
    color:#fff;
    background-color:var(--cc-orange-B-hex);
  }
  .p-bg-sp-red-A {
    color:#fff;
    background-color:var(--cc-red-A-hex);
  }
  .p-bg-sp-gray-A {
    color:var(--base-font-color);
    background-color:var(--cc-gray-A-hex);
  }
  .p-bg-sp-gray-B {
    color:var(--base-font-color);
    background-color:var(--cc-gray-B-hex);
  }
  .p-bg-sp-gray-C {
    color:var(--base-font-color);
    background-color:var(--cc-gray-C-hex);
  }
  .p-bg-sp-gray-D {
    color:var(--base-font-color);
    background-color:var(--cc-gray-D-hex);
  }
  .p-bg-sp-gray-E {
    color:var(--base-font-color);
    background-color:var(--cc-gray-E-hex);
  }
  .p-bg-sp-gray-F {
    color:var(--base-font-color);
    background-color:var(--cc-gray-F-hex);
  }
  .p-bg-sp-gold-F {
    color:#fff;
    background-color:var(--cc-gold-A-hex);
  }
}


/* 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-bxsh-B {
  box-shadow:var(--shadow-B);
}
.p-fdsh-A {
  filter:drop-shadow(var(--shadow-A));
}
.p-fdsh-B {
  filter:drop-shadow(var(--shadow-B));
}


/* 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);
  }
}


/* Link .p-link
----------------------------------------------------------------------------- */
.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);
}