/* =========================================
   Header
   H2 / H3 / H4 / H5 / H6
   クラスごとに全タグ対応
   ========================================= */

h2.bl_layer3Body_lv2Heading,
h3.bl_layer3Body_lv2Heading,
h4.bl_layer3Body_lv2Heading,
h5.bl_layer3Body_lv2Heading,
h6.bl_layer3Body_lv2Heading {
  margin-top: 4rem !Important;
  padding: 12px 14px !Important;
  font-size: 2.2rem !Important;
  font-weight: bold !Important;
  color: #2e342f !Important;
  background: #f2f2f2 !Important;
  border-left: 10px solid #0d907d !Important;
}

h2.bl_layer3Body_lv3Heading,
h3.bl_layer3Body_lv3Heading,
h4.bl_layer3Body_lv3Heading,
h5.bl_layer3Body_lv3Heading,
h6.bl_layer3Body_lv3Heading {
  margin-top: 3rem !Important;
  padding: 6px 0 6px 12px !Important;
  font-size: 1.8rem !Important;
  font-weight: bold !Important;
  color: #2e342f !Important;
  border-left: 6px solid #0d907d !Important;
  border-bottom: 1px solid #ddd !Important;
}

h2.bl_layer3Body_lv4Heading,
h3.bl_layer3Body_lv4Heading,
h4.bl_layer3Body_lv4Heading,
h5.bl_layer3Body_lv4Heading,
h6.bl_layer3Body_lv4Heading {
  margin-top: 2rem !Important;
  padding-left: 10px !Important;
  font-size: 1.8rem !Important;
  font-weight: bold !Important;
  color: #0d907d !Important;
  border-left: 4px solid #0d907d !Important;
}

h2.bl_layer3Body_lv5Heading,
h3.bl_layer3Body_lv5Heading,
h4.bl_layer3Body_lv5Heading,
h5.bl_layer3Body_lv5Heading,
h6.bl_layer3Body_lv5Heading {
  margin-top: 2rem !Important;
  padding-left: 10px !Important;
  font-size: 1.6rem !Important;
  font-weight: bold !Important;
  color: #2e342f !Important;
  border-left: 4px solid #0d907d !Important;
}

h2.bl_layer3Body_lv6Heading,
h3.bl_layer3Body_lv6Heading,
h4.bl_layer3Body_lv6Heading,
h5.bl_layer3Body_lv6Heading,
h6.bl_layer3Body_lv6Heading {
  margin-top: 2rem !Important;
  font-size: 1.6rem !Important;
  font-weight: bold !Important;
  color: #2e342f !Important;
}

.bl_layer3Body_CaptionTitle {
  display: block !Important;
  width: fit-content !Important;
  margin: 2rem auto 0 auto !Important;
  padding-bottom: 4px !Important;
  font-size: 1.8rem !Important;
  color: #2e342f !Important;
  border-bottom: 2px solid #0d907d !Important;
}

@media screen and (max-width: 768px) {
  h2.bl_layer3Body_lv2Heading,
  h3.bl_layer3Body_lv2Heading,
  h4.bl_layer3Body_lv2Heading,
  h5.bl_layer3Body_lv2Heading,
  h6.bl_layer3Body_lv2Heading {
    margin-top: 6rem !Important;
    font-size: 2.6rem !Important;
  }

  h2.bl_layer3Body_lv3Heading,
  h3.bl_layer3Body_lv3Heading,
  h4.bl_layer3Body_lv3Heading,
  h5.bl_layer3Body_lv3Heading,
  h6.bl_layer3Body_lv3Heading {
    margin-top: 4rem !Important;
    font-size: 2.5rem !Important;
  }

  h2.bl_layer3Body_lv4Heading,
  h3.bl_layer3Body_lv4Heading,
  h4.bl_layer3Body_lv4Heading,
  h5.bl_layer3Body_lv4Heading,
  h6.bl_layer3Body_lv4Heading {
    margin-top: 3rem !Important;
    font-size: 2.5rem !Important;
  }

  h2.bl_layer3Body_lv5Heading,
  h3.bl_layer3Body_lv5Heading,
  h4.bl_layer3Body_lv5Heading,
  h5.bl_layer3Body_lv5Heading,
  h6.bl_layer3Body_lv5Heading {
    margin-top: 2rem !Important;
    font-size: 2.4rem !Important;
  }

  h2.bl_layer3Body_lv6Heading,
  h3.bl_layer3Body_lv6Heading,
  h4.bl_layer3Body_lv6Heading,
  h5.bl_layer3Body_lv6Heading,
  h6.bl_layer3Body_lv6Heading {
    margin-top: 2rem !Important;
    font-size: 2.4rem !Important;
  }

  .bl_layer3Body_CaptionTitle {
    font-size: 2.4rem !Important;
  }

}

/* =========================================
   margin utility classes
   Base / PC / SP
   0px - 8rem / 0.5rem step
   ========================================= */

/* margin-top */
.MT0  { margin-top: 0px !Important; }
.MT05  { margin-top: 0.5rem !Important; }
.MT10 { margin-top: 1rem !Important; }
.MT15 { margin-top: 1.5rem !Important; }
.MT20 { margin-top: 2rem !Important; }
.MT25 { margin-top: 2.5rem !Important; }
.MT30 { margin-top: 3rem !Important; }
.MT35 { margin-top: 3.5rem !Important; }
.MT40 { margin-top: 4rem !Important; }
.MT45 { margin-top: 4.5rem !Important; }
.MT50 { margin-top: 5rem !Important; }
.MT55 { margin-top: 5.5rem !Important; }
.MT60 { margin-top: 6rem !Important; }
.MT65 { margin-top: 6.5rem !Important; }
.MT70 { margin-top: 7rem !Important; }
.MT75 { margin-top: 7.5rem !Important; }
.MT80 { margin-top: 8rem !Important; }


@media screen and (min-width: 769px) {
  .MT0_PC  { margin-top: 0px !Important; }
  .MT05_PC  { margin-top: 0.5rem !Important; }
  .MT10_PC { margin-top: 1rem !Important; }
  .MT15_PC { margin-top: 1.5rem !Important; }
  .MT20_PC { margin-top: 2rem !Important; }
  .MT25_PC { margin-top: 2.5rem !Important; }
  .MT30_PC { margin-top: 3rem !Important; }
  .MT35_PC { margin-top: 3.5rem !Important; }
  .MT40_PC { margin-top: 4rem !Important; }
  .MT45_PC { margin-top: 4.5rem !Important; }
  .MT50_PC { margin-top: 5rem !Important; }
  .MT55_PC { margin-top: 5.5rem !Important; }
  .MT60_PC { margin-top: 6rem !Important; }
  .MT65_PC { margin-top: 6.5rem !Important; }
  .MT70_PC { margin-top: 7rem !Important; }
  .MT75_PC { margin-top: 7.5rem !Important; }
  .MT80_PC { margin-top: 8rem !Important; }
}

@media screen and (max-width: 768px) {
  .MT0_SP  { margin-top: 0px !Important; }
  .MT05_SP  { margin-top: 0.5rem !Important; }
  .MT10_SP { margin-top: 1rem !Important; }
  .MT15_SP { margin-top: 1.5rem !Important; }
  .MT20_SP { margin-top: 2rem !Important; }
  .MT25_SP { margin-top: 2.5rem !Important; }
  .MT30_SP { margin-top: 3rem !Important; }
  .MT35_SP { margin-top: 3.5rem !Important; }
  .MT40_SP { margin-top: 4rem !Important; }
  .MT45_SP { margin-top: 4.5rem !Important; }
  .MT50_SP { margin-top: 5rem !Important; }
  .MT55_SP { margin-top: 5.5rem !Important; }
  .MT60_SP { margin-top: 6rem !Important; }
  .MT65_SP { margin-top: 6.5rem !Important; }
  .MT70_SP { margin-top: 7rem !Important; }
  .MT75_SP { margin-top: 7.5rem !Important; }
  .MT80_SP { margin-top: 8rem !Important; }
}

/* margin-right */
.MR0  { margin-right: 0px !Important; }
.MR5  { margin-right: 0.5rem !Important; }
.MR10 { margin-right: 1rem !Important; }
.MR15 { margin-right: 1.5rem !Important; }
.MR20 { margin-right: 2rem !Important; }
.MR25 { margin-right: 2.5rem !Important; }
.MR30 { margin-right: 3rem !Important; }
.MR35 { margin-right: 3.5rem !Important; }
.MR40 { margin-right: 4rem !Important; }
.MR45 { margin-right: 4.5rem !Important; }
.MR50 { margin-right: 5rem !Important; }
.MR55 { margin-right: 5.5rem !Important; }
.MR60 { margin-right: 6rem !Important; }
.MR65 { margin-right: 6.5rem !Important; }
.MR70 { margin-right: 7rem !Important; }
.MR75 { margin-right: 7.5rem !Important; }
.MR80 { margin-right: 8rem !Important; }

@media screen and (min-width: 769px) {
  .MR0_PC  { margin-right: 0px !Important; }
  .MR5_PC  { margin-right: 0.5rem !Important; }
  .MR10_PC { margin-right: 1rem !Important; }
  .MR15_PC { margin-right: 1.5rem !Important; }
  .MR20_PC { margin-right: 2rem !Important; }
  .MR25_PC { margin-right: 2.5rem !Important; }
  .MR30_PC { margin-right: 3rem !Important; }
  .MR35_PC { margin-right: 3.5rem !Important; }
  .MR40_PC { margin-right: 4rem !Important; }
  .MR45_PC { margin-right: 4.5rem !Important; }
  .MR50_PC { margin-right: 5rem !Important; }
  .MR55_PC { margin-right: 5.5rem !Important; }
  .MR60_PC { margin-right: 6rem !Important; }
  .MR65_PC { margin-right: 6.5rem !Important; }
  .MR70_PC { margin-right: 7rem !Important; }
  .MR75_PC { margin-right: 7.5rem !Important; }
  .MR80_PC { margin-right: 8rem !Important; }
}

@media screen and (max-width: 768px) {
  .MR0_SP  { margin-right: 0px !Important; }
  .MR5_SP  { margin-right: 0.5rem !Important; }
  .MR10_SP { margin-right: 1rem !Important; }
  .MR15_SP { margin-right: 1.5rem !Important; }
  .MR20_SP { margin-right: 2rem !Important; }
  .MR25_SP { margin-right: 2.5rem !Important; }
  .MR30_SP { margin-right: 3rem !Important; }
  .MR35_SP { margin-right: 3.5rem !Important; }
  .MR40_SP { margin-right: 4rem !Important; }
  .MR45_SP { margin-right: 4.5rem !Important; }
  .MR50_SP { margin-right: 5rem !Important; }
  .MR55_SP { margin-right: 5.5rem !Important; }
  .MR60_SP { margin-right: 6rem !Important; }
  .MR65_SP { margin-right: 6.5rem !Important; }
  .MR70_SP { margin-right: 7rem !Important; }
  .MR75_SP { margin-right: 7.5rem !Important; }
  .MR80_SP { margin-right: 8rem !Important; }
}

/* margin-bottom */
.MB0  { margin-bottom: 0px !Important; }
.MB5  { margin-bottom: 0.5rem !Important; }
.MB10 { margin-bottom: 1rem !Important; }
.MB15 { margin-bottom: 1.5rem !Important; }
.MB20 { margin-bottom: 2rem !Important; }
.MB25 { margin-bottom: 2.5rem !Important; }
.MB30 { margin-bottom: 3rem !Important; }
.MB35 { margin-bottom: 3.5rem !Important; }
.MB40 { margin-bottom: 4rem !Important; }
.MB45 { margin-bottom: 4.5rem !Important; }
.MB50 { margin-bottom: 5rem !Important; }
.MB55 { margin-bottom: 5.5rem !Important; }
.MB60 { margin-bottom: 6rem !Important; }
.MB65 { margin-bottom: 6.5rem !Important; }
.MB70 { margin-bottom: 7rem !Important; }
.MB75 { margin-bottom: 7.5rem !Important; }
.MB80 { margin-bottom: 8rem !Important; }

@media screen and (min-width: 769px) {
  .MB0_PC  { margin-bottom: 0px !Important; }
  .MB5_PC  { margin-bottom: 0.5rem !Important; }
  .MB10_PC { margin-bottom: 1rem !Important; }
  .MB15_PC { margin-bottom: 1.5rem !Important; }
  .MB20_PC { margin-bottom: 2rem !Important; }
  .MB25_PC { margin-bottom: 2.5rem !Important; }
  .MB30_PC { margin-bottom: 3rem !Important; }
  .MB35_PC { margin-bottom: 3.5rem !Important; }
  .MB40_PC { margin-bottom: 4rem !Important; }
  .MB45_PC { margin-bottom: 4.5rem !Important; }
  .MB50_PC { margin-bottom: 5rem !Important; }
  .MB55_PC { margin-bottom: 5.5rem !Important; }
  .MB60_PC { margin-bottom: 6rem !Important; }
  .MB65_PC { margin-bottom: 6.5rem !Important; }
  .MB70_PC { margin-bottom: 7rem !Important; }
  .MB75_PC { margin-bottom: 7.5rem !Important; }
  .MB80_PC { margin-bottom: 8rem !Important; }
}

@media screen and (max-width: 768px) {
  .MB0_SP  { margin-bottom: 0px !Important; }
  .MB5_SP  { margin-bottom: 0.5rem !Important; }
  .MB10_SP { margin-bottom: 1rem !Important; }
  .MB15_SP { margin-bottom: 1.5rem !Important; }
  .MB20_SP { margin-bottom: 2rem !Important; }
  .MB25_SP { margin-bottom: 2.5rem !Important; }
  .MB30_SP { margin-bottom: 3rem !Important; }
  .MB35_SP { margin-bottom: 3.5rem !Important; }
  .MB40_SP { margin-bottom: 4rem !Important; }
  .MB45_SP { margin-bottom: 4.5rem !Important; }
  .MB50_SP { margin-bottom: 5rem !Important; }
  .MB55_SP { margin-bottom: 5.5rem !Important; }
  .MB60_SP { margin-bottom: 6rem !Important; }
  .MB65_SP { margin-bottom: 6.5rem !Important; }
  .MB70_SP { margin-bottom: 7rem !Important; }
  .MB75_SP { margin-bottom: 7.5rem !Important; }
  .MB80_SP { margin-bottom: 8rem !Important; }
}

/* margin-left */
.ML0  { margin-left: 0px !Important; }
.ML5  { margin-left: 0.5rem !Important; }
.ML10 { margin-left: 1rem !Important; }
.ML15 { margin-left: 1.5rem !Important; }
.ML20 { margin-left: 2rem !Important; }
.ML25 { margin-left: 2.5rem !Important; }
.ML30 { margin-left: 3rem !Important; }
.ML35 { margin-left: 3.5rem !Important; }
.ML40 { margin-left: 4rem !Important; }
.ML45 { margin-left: 4.5rem !Important; }
.ML50 { margin-left: 5rem !Important; }
.ML55 { margin-left: 5.5rem !Important; }
.ML60 { margin-left: 6rem !Important; }
.ML65 { margin-left: 6.5rem !Important; }
.ML70 { margin-left: 7rem !Important; }
.ML75 { margin-left: 7.5rem !Important; }
.ML80 { margin-left: 8rem !Important; }

@media screen and (min-width: 769px) {
  .ML0_PC  { margin-left: 0px !Important; }
  .ML5_PC  { margin-left: 0.5rem !Important; }
  .ML10_PC { margin-left: 1rem !Important; }
  .ML15_PC { margin-left: 1.5rem !Important; }
  .ML20_PC { margin-left: 2rem !Important; }
  .ML25_PC { margin-left: 2.5rem !Important; }
  .ML30_PC { margin-left: 3rem !Important; }
  .ML35_PC { margin-left: 3.5rem !Important; }
  .ML40_PC { margin-left: 4rem !Important; }
  .ML45_PC { margin-left: 4.5rem !Important; }
  .ML50_PC { margin-left: 5rem !Important; }
  .ML55_PC { margin-left: 5.5rem !Important; }
  .ML60_PC { margin-left: 6rem !Important; }
  .ML65_PC { margin-left: 6.5rem !Important; }
  .ML70_PC { margin-left: 7rem !Important; }
  .ML75_PC { margin-left: 7.5rem !Important; }
  .ML80_PC { margin-left: 8rem !Important; }
}

@media screen and (max-width: 768px) {
  .ML0_SP  { margin-left: 0px !Important; }
  .ML5_SP  { margin-left: 0.5rem !Important; }
  .ML10_SP { margin-left: 1rem !Important; }
  .ML15_SP { margin-left: 1.5rem !Important; }
  .ML20_SP { margin-left: 2rem !Important; }
  .ML25_SP { margin-left: 2.5rem !Important; }
  .ML30_SP { margin-left: 3rem !Important; }
  .ML35_SP { margin-left: 3.5rem !Important; }
  .ML40_SP { margin-left: 4rem !Important; }
  .ML45_SP { margin-left: 4.5rem !Important; }
  .ML50_SP { margin-left: 5rem !Important; }
  .ML55_SP { margin-left: 5.5rem !Important; }
  .ML60_SP { margin-left: 6rem !Important; }
  .ML65_SP { margin-left: 6.5rem !Important; }
  .ML70_SP { margin-left: 7rem !Important; }
  .ML75_SP { margin-left: 7.5rem !Important; }
  .ML80_SP { margin-left: 8rem !Important; }
}

/* =========================================
   padding utility classes
   Base / PC / SP
   0px - 50px / 5px step
   ========================================= */

/* padding-top */
.PT0  { padding-top: 0px !Important; }
.PT05  { padding-top: 0.5rem !Important; }
.PT10 { padding-top: 1rem !Important; }
.PT15 { padding-top: 1.5rem !Important; }
.PT20 { padding-top: 2rem !Important; }
.PT25 { padding-top: 2.5rem !Important; }
.PT30 { padding-top: 3rem !Important; }
.PT35 { padding-top: 3.5rem !Important; }
.PT40 { padding-top: 4rem !Important; }
.PT45 { padding-top: 4.5rem !Important; }
.PT50 { padding-top: 5rem !Important; }
.PT55 { padding-top: 5.5rem !Important; }
.PT60 { padding-top: 6rem !Important; }
.PT65 { padding-top: 6.5rem !Important; }
.PT70 { padding-top: 7rem !Important; }
.PT75 { padding-top: 7.5rem !Important; }
.PT80 { padding-top: 8rem !Important; }


@media screen and (min-width: 769px) {
  .PT0_PC  { padding-top: 0px !Important; }
  .PT05_PC  { padding-top: 0.5rem !Important; }
  .PT10_PC { padding-top: 1rem !Important; }
  .PT15_PC { padding-top: 1.5rem !Important; }
  .PT20_PC { padding-top: 2rem !Important; }
  .PT25_PC { padding-top: 2.5rem !Important; }
  .PT30_PC { padding-top: 3rem !Important; }
  .PT35_PC { padding-top: 3.5rem !Important; }
  .PT40_PC { padding-top: 4rem !Important; }
  .PT45_PC { padding-top: 4.5rem !Important; }
  .PT50_PC { padding-top: 5rem !Important; }
  .PT55_PC { padding-top: 5.5rem !Important; }
  .PT60_PC { padding-top: 6rem !Important; }
  .PT65_PC { padding-top: 6.5rem !Important; }
  .PT70_PC { padding-top: 7rem !Important; }
  .PT75_PC { padding-top: 7.5rem !Important; }
  .PT80_PC { padding-top: 8rem !Important; }
}

@media screen and (max-width: 768px) {
  .PT0_SP  { padding-top: 0px !Important; }
  .PT05_SP  { padding-top: 0.5rem !Important; }
  .PT10_SP { padding-top: 1rem !Important; }
  .PT15_SP { padding-top: 1.5rem !Important; }
  .PT20_SP { padding-top: 2rem !Important; }
  .PT25_SP { padding-top: 2.5rem !Important; }
  .PT30_SP { padding-top: 3rem !Important; }
  .PT35_SP { padding-top: 3.5rem !Important; }
  .PT40_SP { padding-top: 4rem !Important; }
  .PT45_SP { padding-top: 4.5rem !Important; }
  .PT50_SP { padding-top: 5rem !Important; }
  .PT55_SP { padding-top: 5.5rem !Important; }
  .PT60_SP { padding-top: 6rem !Important; }
  .PT65_SP { padding-top: 6.5rem !Important; }
  .PT70_SP { padding-top: 7rem !Important; }
  .PT75_SP { padding-top: 7.5rem !Important; }
  .PT80_SP { padding-top: 8rem !Important; }
}

/* padding-right */
.PR0  { padding-right: 0px !Important; }
.PR5  { padding-right: 0.5rem !Important; }
.PR10 { padding-right: 1rem !Important; }
.PR15 { padding-right: 1.5rem !Important; }
.PR20 { padding-right: 2rem !Important; }
.PR25 { padding-right: 2.5rem !Important; }
.PR30 { padding-right: 3rem !Important; }
.PR35 { padding-right: 3.5rem !Important; }
.PR40 { padding-right: 4rem !Important; }
.PR45 { padding-right: 4.5rem !Important; }
.PR50 { padding-right: 5rem !Important; }
.PR55 { padding-right: 5.5rem !Important; }
.PR60 { padding-right: 6rem !Important; }
.PR65 { padding-right: 6.5rem !Important; }
.PR70 { padding-right: 7rem !Important; }
.PR75 { padding-right: 7.5rem !Important; }
.PR80 { padding-right: 8rem !Important; }

@media screen and (min-width: 769px) {
  .PR0_PC  { padding-right: 0px !Important; }
  .PR5_PC  { padding-right: 0.5rem !Important; }
  .PR10_PC { padding-right: 1rem !Important; }
  .PR15_PC { padding-right: 1.5rem !Important; }
  .PR20_PC { padding-right: 2rem !Important; }
  .PR25_PC { padding-right: 2.5rem !Important; }
  .PR30_PC { padding-right: 3rem !Important; }
  .PR35_PC { padding-right: 3.5rem !Important; }
  .PR40_PC { padding-right: 4rem !Important; }
  .PR45_PC { padding-right: 4.5rem !Important; }
  .PR50_PC { padding-right: 5rem !Important; }
  .PR55_PC { padding-right: 5.5rem !Important; }
  .PR60_PC { padding-right: 6rem !Important; }
  .PR65_PC { padding-right: 6.5rem !Important; }
  .PR70_PC { padding-right: 7rem !Important; }
  .PR75_PC { padding-right: 7.5rem !Important; }
  .PR80_PC { padding-right: 8rem !Important; }
}

@media screen and (max-width: 768px) {
  .PR0_SP  { padding-right: 0px !Important; }
  .PR5_SP  { padding-right: 0.5rem !Important; }
  .PR10_SP { padding-right: 1rem !Important; }
  .PR15_SP { padding-right: 1.5rem !Important; }
  .PR20_SP { padding-right: 2rem !Important; }
  .PR25_SP { padding-right: 2.5rem !Important; }
  .PR30_SP { padding-right: 3rem !Important; }
  .PR35_SP { padding-right: 3.5rem !Important; }
  .PR40_SP { padding-right: 4rem !Important; }
  .PR45_SP { padding-right: 4.5rem !Important; }
  .PR50_SP { padding-right: 5rem !Important; }
  .PR55_SP { padding-right: 5.5rem !Important; }
  .PR60_SP { padding-right: 6rem !Important; }
  .PR65_SP { padding-right: 6.5rem !Important; }
  .PR70_SP { padding-right: 7rem !Important; }
  .PR75_SP { padding-right: 7.5rem !Important; }
  .PR80_SP { padding-right: 8rem !Important; }
}

/* padding-bottom */
.PB0  { padding-bottom: 0px !Important; }
.PB5  { padding-bottom: 0.5rem !Important; }
.PB10 { padding-bottom: 1rem !Important; }
.PB15 { padding-bottom: 1.5rem !Important; }
.PB20 { padding-bottom: 2rem !Important; }
.PB25 { padding-bottom: 2.5rem !Important; }
.PB30 { padding-bottom: 3rem !Important; }
.PB35 { padding-bottom: 3.5rem !Important; }
.PB40 { padding-bottom: 4rem !Important; }
.PB45 { padding-bottom: 4.5rem !Important; }
.PB50 { padding-bottom: 5rem !Important; }
.PB55 { padding-bottom: 5.5rem !Important; }
.PB60 { padding-bottom: 6rem !Important; }
.PB65 { padding-bottom: 6.5rem !Important; }
.PB70 { padding-bottom: 7rem !Important; }
.PB75 { padding-bottom: 7.5rem !Important; }
.PB80 { padding-bottom: 8rem !Important; }

@media screen and (min-width: 769px) {
  .PB0_PC  { padding-bottom: 0px !Important; }
  .PB5_PC  { padding-bottom: 0.5rem !Important; }
  .PB10_PC { padding-bottom: 1rem !Important; }
  .PB15_PC { padding-bottom: 1.5rem !Important; }
  .PB20_PC { padding-bottom: 2rem !Important; }
  .PB25_PC { padding-bottom: 2.5rem !Important; }
  .PB30_PC { padding-bottom: 3rem !Important; }
  .PB35_PC { padding-bottom: 3.5rem !Important; }
  .PB40_PC { padding-bottom: 4rem !Important; }
  .PB45_PC { padding-bottom: 4.5rem !Important; }
  .PB50_PC { padding-bottom: 5rem !Important; }
  .PB55_PC { padding-bottom: 5.5rem !Important; }
  .PB60_PC { padding-bottom: 6rem !Important; }
  .PB65_PC { padding-bottom: 6.5rem !Important; }
  .PB70_PC { padding-bottom: 7rem !Important; }
  .PB75_PC { padding-bottom: 7.5rem !Important; }
  .PB80_PC { padding-bottom: 8rem !Important; }
}

@media screen and (max-width: 768px) {
  .PB0_SP  { padding-bottom: 0px !Important; }
  .PB5_SP  { padding-bottom: 0.5rem !Important; }
  .PB10_SP { padding-bottom: 1rem !Important; }
  .PB15_SP { padding-bottom: 1.5rem !Important; }
  .PB20_SP { padding-bottom: 2rem !Important; }
  .PB25_SP { padding-bottom: 2.5rem !Important; }
  .PB30_SP { padding-bottom: 3rem !Important; }
  .PB35_SP { padding-bottom: 3.5rem !Important; }
  .PB40_SP { padding-bottom: 4rem !Important; }
  .PB45_SP { padding-bottom: 4.5rem !Important; }
  .PB50_SP { padding-bottom: 5rem !Important; }
  .PB55_SP { padding-bottom: 5.5rem !Important; }
  .PB60_SP { padding-bottom: 6rem !Important; }
  .PB65_SP { padding-bottom: 6.5rem !Important; }
  .PB70_SP { padding-bottom: 7rem !Important; }
  .PB75_SP { padding-bottom: 7.5rem !Important; }
  .PB80_SP { padding-bottom: 8rem !Important; }
}

/* padding-left */
.PL0  { padding-left: 0px !Important; }
.PL5  { padding-left: 0.5rem !Important; }
.PL10 { padding-left: 1rem !Important; }
.PL15 { padding-left: 1.5rem !Important; }
.PL20 { padding-left: 2rem !Important; }
.PL25 { padding-left: 2.5rem !Important; }
.PL30 { padding-left: 3rem !Important; }
.PL35 { padding-left: 3.5rem !Important; }
.PL40 { padding-left: 4rem !Important; }
.PL45 { padding-left: 4.5rem !Important; }
.PL50 { padding-left: 5rem !Important; }
.PL55 { padding-left: 5.5rem !Important; }
.PL60 { padding-left: 6rem !Important; }
.PL65 { padding-left: 6.5rem !Important; }
.PL70 { padding-left: 7rem !Important; }
.PL75 { padding-left: 7.5rem !Important; }
.PL80 { padding-left: 8rem !Important; }

@media screen and (min-width: 769px) {
  .PL0_PC  { padding-left: 0px !Important; }
  .PL5_PC  { padding-left: 0.5rem !Important; }
  .PL10_PC { padding-left: 1rem !Important; }
  .PL15_PC { padding-left: 1.5rem !Important; }
  .PL20_PC { padding-left: 2rem !Important; }
  .PL25_PC { padding-left: 2.5rem !Important; }
  .PL30_PC { padding-left: 3rem !Important; }
  .PL35_PC { padding-left: 3.5rem !Important; }
  .PL40_PC { padding-left: 4rem !Important; }
  .PL45_PC { padding-left: 4.5rem !Important; }
  .PL50_PC { padding-left: 5rem !Important; }
  .PL55_PC { padding-left: 5.5rem !Important; }
  .PL60_PC { padding-left: 6rem !Important; }
  .PL65_PC { padding-left: 6.5rem !Important; }
  .PL70_PC { padding-left: 7rem !Important; }
  .PL75_PC { padding-left: 7.5rem !Important; }
  .PL80_PC { padding-left: 8rem !Important; }
}

@media screen and (max-width: 768px) {
  .PL0_SP  { padding-left: 0px !Important; }
  .PL5_SP  { padding-left: 0.5rem !Important; }
  .PL10_SP { padding-left: 1rem !Important; }
  .PL15_SP { padding-left: 1.5rem !Important; }
  .PL20_SP { padding-left: 2rem !Important; }
  .PL25_SP { padding-left: 2.5rem !Important; }
  .PL30_SP { padding-left: 3rem !Important; }
  .PL35_SP { padding-left: 3.5rem !Important; }
  .PL40_SP { padding-left: 4rem !Important; }
  .PL45_SP { padding-left: 4.5rem !Important; }
  .PL50_SP { padding-left: 5rem !Important; }
  .PL55_SP { padding-left: 5.5rem !Important; }
  .PL60_SP { padding-left: 6rem !Important; }
  .PL65_SP { padding-left: 6.5rem !Important; }
  .PL70_SP { padding-left: 7rem !Important; }
  .PL75_SP { padding-left: 7.5rem !Important; }
  .PL80_SP { padding-left: 8rem !Important; }
}

/* =========================================
   width utility classes
   Base / PC / SP
   100% - 50% / 10% step
   centered
   ========================================= */

/* Base（出し分け不要な場合に使用） */
.W100 {
  width: 100% !Important;
  margin-left: auto !Important;
  margin-right: auto !Important;
}

.W90 {
  width: 90% !Important;
  margin-left: auto !Important;
  margin-right: auto !Important;
}

.W80 {
  width: 80% !Important;
  margin-left: auto !Important;
  margin-right: auto !Important;
}

.W70 {
  width: 70% !Important;
  margin-left: auto !Important;
  margin-right: auto !Important;
}

.W60 {
  width: 60% !Important;
  margin-left: auto !Important;
  margin-right: auto !Important;
}

.W50 {
  width: 50% !Important;
  margin-left: auto !Important;
  margin-right: auto !Important;
}

/* PC用（769px以上） */
@media screen and (min-width: 769px) {
  .W100_PC {
    width: 100% !Important;
    margin-left: auto !Important;
    margin-right: auto !Important;
  }

  .W90_PC {
    width: 90% !Important;
    margin-left: auto !Important;
    margin-right: auto !Important;
  }

  .W80_PC {
    width: 80% !Important;
    margin-left: auto !Important;
    margin-right: auto !Important;
  }

  .W70_PC {
    width: 70% !Important;
    margin-left: auto !Important;
    margin-right: auto !Important;
  }

  .W60_PC {
    width: 60% !Important;
    margin-left: auto !Important;
    margin-right: auto !Important;
  }

  .W50_PC {
    width: 50% !Important;
    margin-left: auto !Important;
    margin-right: auto !Important;
  }
}

/* SP用（768px以下） */
@media screen and (max-width: 768px) {
  .W100_SP {
    width: 100% !Important;
    margin-left: auto !Important;
    margin-right: auto !Important;
  }

  .W90_SP {
    width: 90% !Important;
    margin-left: auto !Important;
    margin-right: auto !Important;
  }

  .W80_SP {
    width: 80% !Important;
    margin-left: auto !Important;
    margin-right: auto !Important;
  }

  .W70_SP {
    width: 70% !Important;
    margin-left: auto !Important;
    margin-right: auto !Important;
  }

  .W60_SP {
    width: 60% !Important;
    margin-left: auto !Important;
    margin-right: auto !Important;
  }

  .W50_SP {
    width: 50% !Important;
    margin-left: auto !Important;
    margin-right: auto !Important;
  }
}

/* =========================================
   alignment utility classes
   Base / PC / SP
   ========================================= */

/* Base（出し分け不要な場合に使用） */

/* 左揃え */
.AL {
  display: flex !Important;
  justify-content: flex-start !Important;
}

/* 中央揃え */
.AC {
  display: flex !Important;
  justify-content: center !Important;
}

/* 右揃え */
.AR {
  display: flex !Important;
  justify-content: flex-end !Important;
}

/* 上端合わせ */
.AT {
  display: flex !Important;
  align-items: flex-start !Important;
}

/* 上下の中央合わせ */
.AM {
  display: flex !Important;
  align-items: center !Important;
}

/* 下端合わせ */
.AB {
  display: flex !Important;
  align-items: flex-end !Important;
}

/* PC用（769px以上） */
@media screen and (min-width: 769px) {
  .AL_PC {
    display: flex !Important;
    justify-content: flex-start !Important;
  }

  .AC_PC {
    display: flex !Important;
    justify-content: center !Important;
  }

  .AR_PC {
    display: flex !Important;
    justify-content: flex-end !Important;
  }

  .AT_PC {
    display: flex !Important;
    align-items: flex-start !Important;
  }

  .AM_PC {
    display: flex !Important;
    align-items: center !Important;
  }

  .AB_PC {
    display: flex !Important;
    align-items: flex-end !Important;
  }
}

/* SP用（768px以下） */
@media screen and (max-width: 768px) {
  .AL_SP {
    display: flex !Important;
    justify-content: flex-start !Important;
  }

  .AC_SP {
    display: flex !Important;
    justify-content: center !Important;
  }

  .AR_SP {
    display: flex !Important;
    justify-content: flex-end !Important;
  }

  .AT_SP {
    display: flex !Important;
    align-items: flex-start !Important;
  }

  .AM_SP {
    display: flex !Important;
    align-items: center !Important;
  }

  .AB_SP {
    display: flex !Important;
    align-items: flex-end !Important;
  }
}

/* =========================================
   text-align utility classes
   Base / PC / SP
   ========================================= */

/* Base（出し分け不要な場合に使用） */
.TL {
  text-align: left !Important;
}

.TC {
  text-align: center !Important;
}

.TR {
  text-align: right !Important;
}

/* PC用（769px以上） */
@media screen and (min-width: 769px) {
  .TL_PC {
    text-align: left !Important;
  }

  .TC_PC {
    text-align: center !Important;
  }

  .TR_PC {
    text-align: right !Important;
  }
}

/* SP用（768px以下） */
@media screen and (max-width: 768px) {
  .TL_SP {
    text-align: left !Important;
  }

  .TC_SP {
    text-align: center !Important;
  }

  .TR_SP {
    text-align: right !Important;
  }
}

/* =========================================
   spacer utility classes
   Base / PC / SP
   50px - 300px / 50px step
   ========================================= */

/* Base（出し分け不要な場合に使用） */
.SP50 {
  display: block;
  width: 100%;
  height: 50px;
}

.SP100 {
  display: block;
  width: 100%;
  height: 100px;
}

.SP150 {
  display: block;
  width: 100%;
  height: 150px;
}

.SP200 {
  display: block;
  width: 100%;
  height: 200px;
}

.SP250 {
  display: block;
  width: 100%;
  height: 250px;
}

.SP300 {
  display: block;
  width: 100%;
  height: 300px;
}

/* PC用（769px以上） */
@media screen and (min-width: 769px) {
  .SP50_PC {
    display: block;
    width: 100%;
    height: 50px;
  }

  .SP100_PC {
    display: block;
    width: 100%;
    height: 100px;
  }

  .SP150_PC {
    display: block;
    width: 100%;
    height: 150px;
  }

  .SP200_PC {
    display: block;
    width: 100%;
    height: 200px;
  }

  .SP250_PC {
    display: block;
    width: 100%;
    height: 250px;
  }

  .SP300_PC {
    display: block;
    width: 100%;
    height: 300px;
  }
}

/* SP用（768px以下） */
@media screen and (max-width: 768px) {
  .SP50_SP {
    display: block;
    width: 100%;
    height: 50px;
  }

  .SP100_SP {
    display: block;
    width: 100%;
    height: 100px;
  }

  .SP150_SP {
    display: block;
    width: 100%;
    height: 150px;
  }

  .SP200_SP {
    display: block;
    width: 100%;
    height: 200px;
  }

  .SP250_SP {
    display: block;
    width: 100%;
    height: 250px;
  }

  .SP300_SP {
    display: block;
    width: 100%;
    height: 300px;
  }
}

/* =========================================
   COLUMN LAYOUT
   ========================================= */

/* 共通 */
.Col2,
.Col3,
.Col4,
.Col19,
.Col28,
.Col37,
.Col46,
.Col64,
.Col73,
.Col82,
.Col2_NoSP,
.Col3_NoSP,
.Col4_NoSP,
.Col19_NoSP,
.Col28_NoSP,
.Col37_NoSP,
.Col46_NoSP,
.Col64_NoSP,
.Col73_NoSP,
.Col82_NoSP,
.Col4_2SP {
  box-sizing: border-box;
  min-width: 0;
}

/* 上下揃え */
.Col_AT { align-items: flex-start; }
.Col_AM { align-items: center; }
.Col_AB { align-items: flex-end; }

/* SP時の順番逆転（比率カラム用） */
@media screen and (max-width: 768px) {
  .Col19.Col_REV_SP,
  .Col28.Col_REV_SP,
  .Col37.Col_REV_SP,
  .Col46.Col_REV_SP,
  .Col64.Col_REV_SP,
  .Col73.Col_REV_SP,
  .Col82.Col_REV_SP {
    flex-direction: row-reverse !important;
  }
}

/* =========================================
   2 columns
========================================= */
.Col2,
.Col2_NoSP {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.Col2 > *,
.Col2_NoSP > * {
  flex: 1 1 calc((100% - 10px) / 2);
  width: calc((100% - 10px) / 2);
  box-sizing: border-box;
  min-width: 0;
}

@media screen and (max-width: 768px) {
  .Col2 > * {
    flex-basis: 100%;
    width: 100%;
  }
}

/* =========================================
   3 columns
   3 -> 2 -> 1
========================================= */
.Col3,
.Col3_NoSP {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.Col3 > *,
.Col3_NoSP > * {
  min-width: 0;
  box-sizing: border-box;
}

@media screen and (max-width: 880px) {
  .Col3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 620px) {
  .Col3 {
    grid-template-columns: 1fr;
  }

  .Col3_NoSP {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* =========================================
   4 columns
   4 -> 3 -> 2 -> 1
========================================= */
.Col4,
.Col4_NoSP {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.Col4 > *,
.Col4_NoSP > * {
  min-width: 0;
  box-sizing: border-box;
}

@media screen and (max-width: 880px) {
  .Col4 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media screen and (max-width: 720px) {
  .Col4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 520px) {
  .Col4 {
    grid-template-columns: 1fr;
  }

  .Col4_NoSP {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* 4カラムのSP時2カラム */
@media screen and (max-width: 768px) {
  .Col4_2SP {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
}

/* =========================================
   ratio columns
   1:9 / 2:8 / 3:7 / 4:6 / 6:4 / 7:3 / 8:2
========================================= */
.Col19,
.Col28,
.Col37,
.Col46,
.Col64,
.Col73,
.Col82,
.Col19_NoSP,
.Col28_NoSP,
.Col37_NoSP,
.Col46_NoSP,
.Col64_NoSP,
.Col73_NoSP,
.Col82_NoSP {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.Col19 > *,
.Col28 > *,
.Col37 > *,
.Col46 > *,
.Col64 > *,
.Col73 > *,
.Col82 > *,
.Col19_NoSP > *,
.Col28_NoSP > *,
.Col37_NoSP > *,
.Col46_NoSP > *,
.Col64_NoSP > *,
.Col73_NoSP > *,
.Col82_NoSP > * {
  box-sizing: border-box;
  min-width: 0;
}

/* 1:9 */
.Col19 > :first-child,
.Col19_NoSP > :first-child { width: calc((100% - 10px) * 0.1) !important; }
.Col19 > :nth-child(2),
.Col19_NoSP > :nth-child(2) { width: calc((100% - 10px) * 0.9) !important; }

/* 2:8 */
.Col28 > :first-child,
.Col28_NoSP > :first-child { width: calc((100% - 10px) * 0.2) !important; }
.Col28 > :nth-child(2),
.Col28_NoSP > :nth-child(2) { width: calc((100% - 10px) * 0.8) !important; }

/* 3:7 */
.Col37 > :first-child,
.Col37_NoSP > :first-child { width: calc((100% - 10px) * 0.3) !important; }
.Col37 > :nth-child(2),
.Col37_NoSP > :nth-child(2) { width: calc((100% - 10px) * 0.7) !important; }

/* 4:6 */
.Col46 > :first-child,
.Col46_NoSP > :first-child { width: calc((100% - 10px) * 0.4) !important; }
.Col46 > :nth-child(2),
.Col46_NoSP > :nth-child(2) { width: calc((100% - 10px) * 0.6) !important; }

/* 6:4 */
.Col64 > :first-child,
.Col64_NoSP > :first-child { width: calc((100% - 10px) * 0.6) !important; }
.Col64 > :nth-child(2),
.Col64_NoSP > :nth-child(2) { width: calc((100% - 10px) * 0.4) !important; }

/* 7:3 */
.Col73 > :first-child,
.Col73_NoSP > :first-child { width: calc((100% - 10px) * 0.7) !important; }
.Col73 > :nth-child(2),
.Col73_NoSP > :nth-child(2) { width: calc((100% - 10px) * 0.3) !important; }

/* 8:2 */
.Col82 > :first-child,
.Col82_NoSP > :first-child { width: calc((100% - 10px) * 0.8) !important; }
.Col82 > :nth-child(2),
.Col82_NoSP > :nth-child(2) { width: calc((100% - 10px) * 0.2) !important; }

/* SPで1カラム化（NoSPは除く） */
@media screen and (max-width: 768px) {
  .Col19 > *,
  .Col28 > *,
  .Col37 > *,
  .Col46 > *,
  .Col64 > *,
  .Col73 > *,
  .Col82 > * {
    width: 100% !important;
    flex-basis: 100% !important;
  }
}

/* NoSPはSPでも比率維持 */
@media screen and (max-width: 768px) {
  .Col19_NoSP > :first-child { width: calc((100% - 10px) * 0.1) !important; }
  .Col19_NoSP > :nth-child(2) { width: calc((100% - 10px) * 0.9) !important; }

  .Col28_NoSP > :first-child { width: calc((100% - 10px) * 0.2) !important; }
  .Col28_NoSP > :nth-child(2) { width: calc((100% - 10px) * 0.8) !important; }

  .Col37_NoSP > :first-child { width: calc((100% - 10px) * 0.3) !important; }
  .Col37_NoSP > :nth-child(2) { width: calc((100% - 10px) * 0.7) !important; }

  .Col46_NoSP > :first-child { width: calc((100% - 10px) * 0.4) !important; }
  .Col46_NoSP > :nth-child(2) { width: calc((100% - 10px) * 0.6) !important; }

  .Col64_NoSP > :first-child { width: calc((100% - 10px) * 0.6) !important; }
  .Col64_NoSP > :nth-child(2) { width: calc((100% - 10px) * 0.4) !important; }

  .Col73_NoSP > :first-child { width: calc((100% - 10px) * 0.7) !important; }
  .Col73_NoSP > :nth-child(2) { width: calc((100% - 10px) * 0.3) !important; }

  .Col82_NoSP > :first-child { width: calc((100% - 10px) * 0.8) !important; }
  .Col82_NoSP > :nth-child(2) { width: calc((100% - 10px) * 0.2) !important; }
}

/* =========================================
   text marker styles
   green / blue / yellow
   ========================================= */

.MK_G {
  background: linear-gradient(transparent 60%, #b7f7c1 60%);
}

.MK_B {
  background: linear-gradient(transparent 60%, #b7e3ff 60%);
}

.MK_Y {
  background: linear-gradient(transparent 60%, #fff3a6 60%);
}

/* =========================================
   badge styles
   green / red / purple / yellow
   ========================================= */

.Badge_G {
  background-color: #0d907d;
  border-radius: 5px;
  padding: 0.5px 6px 0.5px 6px;
  color: #fff;
  margin-right: 5px;
}

.Badge_R {
  background-color: #fa3e3b;
  border-radius: 5px;
  padding: 0.5px 6px 0.5px 6px;
  color: #fff;
  margin-right: 5px;
}

.Badge_P {
  background-color: #646be9;
  border-radius: 5px;
  padding: 0.5px 6px 0.5px 6px;
  color: #fff;
  margin-right: 5px;
}

.Badge_Y {
  background-color: #ffba1f;
  border-radius: 5px;
  padding: 0.5px 6px 0.5px 6px;
  margin-right: 5px;
}

/* =========================================
   LIST STYLES
   ul / ol にクラス付与前提
   入れ子対応
   ========================================= */

/* 共通 */
.List1,
.List2,
.List_G1,
.List_G2,
.List_L1,
.List_L2,
.List_Check,
.List_com,
.NList1,
.NList2,
.Nlist3,
.Nlist4,
.Nlist5,
.Nlist_com {
  margin: 0;
  padding-left: 1rem;
  list-style: none;
  box-sizing: border-box;
}

/* 入れ子 */
.List1 ul,
.List1 ol,
.List2 ul,
.List2 ol,
.List_G1 ul,
.List_G1 ol,
.List_G2 ul,
.List_G2 ol,
.List_L1 ul,
.List_L1 ol,
.List_L2 ul,
.List_L2 ol,
.List_Check ul,
.List_Check ol,
.List_com ul,
.List_com ol,
.NList1 ul,
.NList1 ol,
.NList2 ul,
.NList2 ol,
.Nlist3 ul,
.Nlist3 ol,
.Nlist4 ul,
.Nlist4 ol,
.Nlist5 ul,
.Nlist5 ol,
.Nlist_com ul,
.Nlist_com ol {
  margin-top: 5px;
  padding-left: 1.8em;
}

/* =========================================
   箇条書きリスト
   ========================================= */

/* 1. 小さめの■ */
.List1 li {
  position: relative;
  font-size: 1.6rem;
  line-height: 1.8;
  margin-top: 5px;
  padding-left: 1.5em;
}
.List1 li::before {
  content: "■";
  position: absolute;
  left: 0.4em;
  top: 1.15em;
  font-size: 0.8rem;
  line-height: 1.8;
}

/* 2. 小さめの● */
.List2 li {
  position: relative;
  font-size: 1.6rem;
  line-height: 1.8;
  margin-top: 5px;
  padding-left: 1.5em;
}
.List2 li::before {
  content: "●";
  position: absolute;
  left: 0.4em;
  top: 1.15em;
  font-size: 0.8rem;
  line-height: 1.8;
}

/* 3. グリーン ■ */
.List_G1 li {
  position: relative;
  font-size: 1.6rem;
  line-height: 1.8;
  margin-top: 5px;
  padding-left: 1.5em;
}
.List_G1 li::before {
  content: "■";
  color: #0d907d;
  position: absolute;
  left: 0;
  font-size: 1em;
  line-height: 1.8;
}

/* 4. グリーン ● */
.List_G2 li {
  position: relative;
  font-size: 1.6rem;
  line-height: 1.8;
  margin-top: 5px;
  padding-left: 1.5em;
}
.List_G2 li::before {
  content: "●";
  color: #0d907d;
  position: absolute;
  left: 0;
  font-size: 1em;
  line-height: 1.8;
}

/* 5. 大きめ、太字、グリーン ■ */
.List_L1 {
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: bold;
}
.List_L1 li {
  position: relative;
  margin-top: 8px;
  padding-left: 1.5em;
}
.List_L1 li::before {
  content: "■";
  color: #0d907d;
  position: absolute;
  left: 0;
  font-size: 1em;
  line-height: 1.6;
}

/* 6. 大きめ、太字、グリーン ● */
.List_L2 {
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: bold;
}
.List_L2 li {
  position: relative;
  margin-top: 8px;
  padding-left: 1.5em;
}
.List_L2 li::before {
  content: "●";
  color: #0d907d;
  position: absolute;
  left: 0;
  font-size: 1em;
  line-height: 1.6;
}

/* 7. チェックボックス型 */
.List_Check {
  font-size: 1.8rem;
  line-height: 1.6;
}
.List_Check li {
  position: relative;
  margin-top: 8px;
  padding-left: 1.5em;
}
.List_Check li::before {
  content: "☑";
  position: absolute;
  top: -0.2em;
  left: 0;
  font-size: 1.4em;
  line-height: 1.6;
}

/* 8. 小さめ (1.4rem)、・ */
.List_com {
  font-size: 1.4rem;
}
.List_com li {
  position: relative;
  padding-left: 1.5em;
  line-height: 1.6;
  margin-top: 5px;
}
.List_com li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
  line-height: 1.6;
}

/* Float option */
.List_Float ul {
  display: flex !Important;
  flex-wrap: wrap !Important;
  gap: 50px !Important;
  list-style: none !Important;
}

.List_Float li {
  display: inline-flex !Important;
  margin-right: 20px !Important;
  align-items: center !Important;
  white-space: nowrap !Important;
  box-sizing: border-box !Important;
}

@media screen and (max-width: 768px) {
  .List1 {
    line-height: 1.4;
  }
  .List1 li {
    font-size: 2.6rem;
    margin-top: 3px;
    line-height: 1.4;
  }
  .List1 li::before {
    font-size: 1.3rem;
    top: 1em;
    line-height: 1.4;
  }
  .List2 {
    line-height: 1.4;
  }
  .List2 li {
    font-size: 2.6rem;
    margin-top: 3px;
    line-height: 1.4;
  }
  .List2 li::before {
    font-size: 1.3rem;
    top: 1em;
    line-height: 1.4;
  }
  .List_G1 {
    line-height: 1.4;
  }
  .List_G1 li {
    font-size: 2.6rem;
    margin-top: 3px;
    line-height: 1.4;
  }
  .List_G1 li::before {
    line-height: 1.4;
  }
  .List_G2 {
    line-height: 1.4;
  }
  .List_G2 li {
    font-size: 2.6rem;
    margin-top: 3px;
    line-height: 1.4;
  }
  .List_G2 li::before {
    line-height: 1.4;
  }
  .List_L1 li {
    font-size: 2.6rem;
    margin-top: 3px;
    line-height: 1.6;
  }
  .List_L1 li::before {
    font-size: 2.6rem;
    line-height: 1.6;
  }
  .List_L2 li {
    font-size: 2.6rem;
    margin-top: 3px;
    line-height: 1.6;
  }
  .List_L2 li::before {
    font-size: 2.6rem;
    line-height: 1.6;
  }
  .List_Check li {
    font-size: 2.6rem;
    margin-top: 3px;
    line-height: 1.6;
  }
  .List_Check li::before {
    font-size: 3.2rem;
    top: -0.2em;
    line-height: 1.6;
  }
  .List_com {
    font-size: 2rem;
  }
}

/* =========================================
   番号順リスト
   ========================================= */

/* ① 用 */
@counter-style circled-decimal {
  system: numeric;
  symbols: "⓪" "①" "②" "③" "④" "⑤" "⑥" "⑦" "⑧" "⑩" "⑪" "⑫" "⑬" "⑭" "⑮" "⑯" "⑰" "⑱" "⑲" "⑳";
  suffix: "";
}

.NList1,
.NList2,
.Nlist3,
.Nlist4,
.Nlist5,
.Nlist_com {
  margin: 0;
  line-height: 1.8;
  list-style: none;
  counter-reset: item;
  box-sizing: border-box;
}

.NList1 li,
.NList2 li,
.Nlist3 li,
.Nlist4 li,
.Nlist5 li {
  position: relative;
  padding-left: 1.8em;
  box-sizing: border-box;
  min-width: 0;
}
.Nlist_com li {
  position: relative;
  padding-left: 2em;
  box-sizing: border-box;
  min-width: 0;
}

.NList1 li::before {
  position: absolute;
  left: -0.7em;
  top: 0em;
  line-height: 1.8;
  counter-increment: item;
}
.NList2 li::before {
  position: absolute;
  left: -0.7em;
  top: 0;
  line-height: 1.8;
  counter-increment: item;
}
.Nlist3 li::before {
  position: absolute;
  left: 0.3em;
  top: 0;
  line-height: 1.8;
  counter-increment: item;
}
.Nlist4 li::before {
  position: absolute;
  left: 0.3em;
  top: 0;
  line-height: 1.8;
  counter-increment: item;
}
.Nlist5 li::before {
  position: absolute;
  left: 0.3em;
  top: 0;
  line-height: 1.8;
  counter-increment: item;
}
.Nlist_com li::before {
  position: absolute;
  left: -0.5em;
  top: 0;
  line-height: 1.8;
  counter-increment: item;
}

/* 1. */
.NList1 li::before {
  counter-increment: item;
  content: "　"counter(item) ".";
}

/* （1） */
.NList2 li::before {
  counter-increment: item;
  content: "（" counter(item) "）";
}

/* ① */
.Nlist3 li::before {
  counter-increment: item;
  content: counter(item, circled-decimal);
}

/* A. */
.Nlist4 li::before {
  counter-increment: item;
  content: counter(item, upper-alpha) ".";
}

/* a） */
.Nlist5 li::before {
  counter-increment: item;
  content: counter(item, lower-alpha) "）";
}

/* ※1） */
.Nlist_com {
  font-size: 1.4rem;
}
.Nlist_com li::before {
  counter-increment: item;
  content: "※" counter(item) "）";
}

@media screen and (max-width: 768px) {
  .Nlist_com {
    font-size: 2rem;
  }
}

/* =========================================
   definition list (dl)
   class: Dlist
   ========================================= */

.Dlist {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 10px;
  margin-left: 1rem;
  box-sizing: border-box;
}

.Dlist dt {
  width: fit-content;
  max-width: 50%;
  box-sizing: border-box;
}

.Dlist dd {
  width: calc(100% - 50%);
  flex: 1;
  box-sizing: border-box;
}

/* SP：dtとddを改行 */
@media screen and (max-width: 768px) {
  .Dlist {
    gap: 1px;
    margin-top: 20px;
    margin-left: 1rem;
  }
  .Dlist dt {
    width: 100%;
    max-width: 100%;
  }
  .Dlist dd {
    fon-size: 1.8rem;
    margin-top: 5px;
    width: 100%;
    max-width: 100%;
  }
}

/* =========================================
   TABLE BASE
========================================= */
table {
  width: 100%;
  border-collapse: collapse;
  box-sizing: border-box;
}

table th,
table td {
  border: 1px solid #ccc;
  box-sizing: border-box;
  vertical-align: middle;
}

/* =========================================
   TABLE PATTERNS
   標準 / 圧縮
========================================= */

/* TableA */
.TableA th,
.TableA td {
  padding: 12px 14px;
}
.TableA thead th {
  background: #eee;
}
.TableA tbody th {
  background: #eee;
}
.TableA td {
  background: #fff;
}

/* TableB */
.TableB th,
.TableB td {
  padding: 12px 14px;
}
.TableB thead th {
  background: #eee;
}
.TableB tbody th {
  background: #eee;
}
.TableB tbody tr:nth-child(odd) td {
  background: #fff;
}
.TableB tbody tr:nth-child(even) td {
  background: #f5f5f5;
}

/* TableC */
.TableC th,
.TableC td {
  padding: 12px 14px;
}
.TableC thead th {
  background: #0d907d;
  color: #fff;
}
.TableC tbody th {
  background: #eee;
  color: #333;
}
.TableC td {
  background: #fff;
}

/* TableD */
.TableD th,
.TableD td {
  padding: 12px 14px;
}
.TableD thead th {
  background: #0d907d;
  color: #fff;
}
.TableD tbody th {
  background: #eee;
  color: #333;
}
.TableD tbody tr:nth-child(odd) td {
  background: #fff;
}
.TableD tbody tr:nth-child(even) td {
  background: #f5f5f5;
}

/* TableE */
.TableE th,
.TableE td {
  padding: 12px 14px;
}
.TableE thead th {
  background: #0d907d;
  color: #fff;
}
.TableE tbody th {
  background: #0d907d;
  color: #fff;
}
.TableE td {
  background: #fff;
}

/* TableF */
.TableF th,
.TableF td {
  padding: 12px 14px;
}
.TableF thead th {
  background: #0d907d;
  color: #fff;
}
.TableF tbody th {
  background: #0d907d;
  color: #fff;
}
.TableF tbody tr:nth-child(odd) td {
  background: #fff;
}
.TableF tbody tr:nth-child(even) td {
  background: #f5f5f5;
}

/* TableSA */
.TableSA th,
.TableSA td {
  padding: 6px 10px;
}
.TableSA thead th {
  background: #eee;
  color: #333;
}
.TableSA tbody th {
  background: #eee;
  color: #333;
}
.TableSA td {
  background: #fff;
}

/* TableSB */
.TableSB th,
.TableSB td {
  padding: 6px 10px;
}
.TableSB thead th {
  background: #eee;
  color: #333;
}
.TableSB tbody th {
  background: #eee;
  color: #333;
}
.TableSB tbody tr:nth-child(odd) td {
  background: #fff;
}
.TableSB tbody tr:nth-child(even) td {
  background: #f5f5f5;
}

/* TableSC */
.TableSC th,
.TableSC td {
  padding: 6px 10px;
}
.TableSC thead th {
  background: #0d907d;
  color: #fff;
}
.TableSC tbody th {
  background: #eee;
  color: #333;
}
.TableSC td {
  background: #fff;
}

/* TableSD */
.TableSD th,
.TableSD td {
  padding: 6px 10px;
}
.TableSD thead th {
  background: #0d907d;
  color: #fff;
}
.TableSD tbody th {
  background: #eee;
  color: #333;
}
.TableSD tbody tr:nth-child(odd) td {
  background: #fff;
}
.TableSD tbody tr:nth-child(even) td {
  background: #f5f5f5;
}

/* TableSE */
.TableSE th,
.TableSE td {
  padding: 6px 10px;
}
.TableSE thead th {
  background: #0d907d;
  color: #fff;
}
.TableSE tbody th {
  background: #0d907d;
  color: #fff;
}
.TableSE td {
  background: #fff;
}

/* TableSF */
.TableSF th,
.TableSF td {
  padding: 6px 10px;
}
.TableSF thead th {
  background: #0d907d;
  color: #fff;
}
.TableSF tbody th {
  background: #0d907d;
  color: #fff;
}
.TableSF tbody tr:nth-child(odd) td {
  background: #fff;
}
.TableSF tbody tr:nth-child(even) td {
  background: #f5f5f5;
}

/* =========================================
   OPTIONS
========================================= */

/* 横揃え */
.Table_AL_L th,
.Table_AL_L td {
  text-align: left !important;
}

.Table_AL_C th,
.Table_AL_C td {
  text-align: center !important;
}

.Table_AL_R th,
.Table_AL_R td {
  text-align: right !important;
}

/* セル内の上下揃え */
.Table_AL_T th,
.Table_AL_T td {
  vertical-align: top !important;
}

.Table_AL_M th,
.Table_AL_M td {
  vertical-align: middle !important;
}

.Table_AL_B th,
.Table_AL_B td {
  vertical-align: bottom !important;
}

/* テーブルスクロール（ラッパーに付与） */
.Table_Scroll {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.Table_Scroll table {
  max-width: 1200px;
}

@media screen and (max-width: 768px) {
  .Table_Scroll table {
    max-width: 600px;
  }
}

/* =========================================
   Modal
   :target method
   ========================================= */

.Modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9999;
}

.Modal:target {
  display: block;
}

.Modal_Overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.7);
  display: block;
}

.Modal_Content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: calc(100vw - 40px);
  max-height: calc(100vh - 40px);
  overflow: auto;
  background: #fff;
  padding: 20px;
  box-sizing: border-box;
}

.Modal_Close {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
  text-decoration: none;
  font-size: 2rem;
  line-height: 1;
  color: #333;
}

.Modal_Content img {
  display: block;
  max-width: 100%;
  height: auto;
}

#modal2:target {
  display: block !important;
}

