/* ==========================================================================
   parts
   ========================================================================== */
.p-txt.-mt2em {
  margin-top: 2em;
}

.-width10per {
  width: 10%;
}

.-width15per {
  width: 15%;
}

.-width20per {
  width: 20%;
}

.-width25per {
  width: 25%;
}

.-width30per {
  width: 30%;
}

.-width40per {
  width: 40%;
}

.-width45per {
  width: 45%;
}

.-width50per {
  width: 50%;
}

.-layoutFixed {
  table-layout: fixed;
}

.p-txt.-txtRight {
  text-align: right;
}

.m-shortTable .--v-writing {
  writing-mode: vertical-rl;
}

.m-shortTable .--very-high {
  background: #C65911;
}

.m-shortTable .--high {
  background: #ED7D31;
}

.m-shortTable .--middle {
  background: #F8CBAD;
}

.m-shortTable .--high-light {
  position: relative;
}

.m-shortTable .--high-light::before {
  background: #FDD000;
  content: '';
  height: 30%;
  margin: auto 0;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
}

.--line-red--t {
  border: 3px solid #f00;
  border-bottom: none;
}

.--line-red--b {
  border: 3px solid #f00;
  border-top: none;
}

@media print, screen and (min-width: 769px) {
  .c-carbonContainer .m-grid {
    margin-top: 40px;
  }
}

@media only screen and (max-width: 768px) {
  .c-carbonContainer .m-grid {
    margin-top: 30px;
  }
}

.m-shortTable-header.-bgGray {
  background-color: #f5f6f9;
}

.m-shortTable-data.-attention-small {
  background-color: #ffdcdd;
}

.m-shortTable-data.-attention-medium {
  background-color: #ff7c80;
}

.m-shortTable-data.-attention-large {
  background-color: #ff0000;
  color: #fff;
}

.m-shortTable-data.-opportunity-small {
  background-color: #B4D9FB;
}

.m-shortTable-data.-opportunity-medium {
  background-color: #5B9BD5;
}

.m-shortTable-data.-opportunity-large {
  background-color: #0070C0;
  color: #fff;
}

@media print, screen and (min-width: 769px) {
  .c-carbonContainer-item {
    margin-top: 60px;
  }
}

@media only screen and (max-width: 768px) {
  .c-carbonContainer-item {
    margin-top: 40px;
  }
}

@media print, screen and (min-width: 769px) {
  .c-carbonContainer-item.-mt-s {
    margin-top: 40px;
  }
}

@media only screen and (max-width: 768px) {
  .c-carbonContainer-item.-mt-s {
    margin-top: 20px;
  }
}

@media print, screen and (min-width: 769px) {
  .c-carbonContainer-item {
    margin-bottom: 80px;
  }
}

@media only screen and (max-width: 768px) {
  .c-carbonContainer-item {
    margin-bottom: 60px;
  }
}

@media print, screen and (min-width: 769px) {
  .c-carbonContainer-item.-mb-s {
    margin-bottom: 40px;
  }
}

@media only screen and (max-width: 768px) {
  .c-carbonContainer-item.-mb-s {
    margin-bottom: 20px;
  }
}

.m-noteList {
  margin-top: 10px;
}

.m-noteList-item {
  text-indent: -1.3em;
  padding-left: 1.3em;
}

.m-dotList-item {
  font-size: 1.6rem;
  line-height: 1.75;
  text-indent: -1.3em;
  padding-left: 1em;
}

.m-dotList-item::before {
  content: '・';
  display: inline;
  margin-right: 0.3em;
}

.table-fix {
  table-layout: fixed;
}

.table-fix .m-shortTable-header,
.table-fix .m-shortTable-data {
  padding: 8px 10px;
}

@media print, screen and (min-width: 769px) {
  .table-scenario .table-caption{
      display: none;
  }
}

@media print, screen and (max-width: 768px) {
  .table-scenario {
    overflow: auto;
    white-space: nowrap;
  }

  .table-scenario {
    overflow: auto;
    white-space: nowrap;
  }

  .table-scenario .m-shortTable {
    font-size: 1.4rem !important;
    margin: 0 0 10px;
  }

  .table-scenario .m-shortTable-header, .table-scenario .m-shortTable-data {
    padding: 8px 10px;
  }

.table-scenario::-webkit-scrollbar{
    height: 10px;
  }

  .table-scenario::-webkit-scrollbar-track{
      border-radius: 5px;
      background: #F1F1F1;
  }

  .table-scenario::-webkit-scrollbar-thumb {
      border-radius: 5px;
      background: #F3C81C;
  }

  .table-scenario .table-caption{
      font-size: 1.4rem;
      display: block;
      margin: 0 0 10px;
  }
}

@media print, screen and (min-width: 769px) {
  .m-topics-icon {
    display: -webkit-flex;
    display: flex;
    font-size: 1.6rem;
    margin: 0 0 15px;
  }

  .m-topics-icon dt {
    display: flex;
    align-items: center;
  }
  
  .m-topics-icon dd {
    margin: 0 20px 0 0;
    display: flex;
    align-items: center;
  }

  .m-topics-icon dd:last-child {
    margin: 0;
  }
}

@media print, screen and (max-width: 768px) {
  .m-topics-icon {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    font-size: 1.6rem;
    margin: 0 0 15px;
  }

  .m-topics-icon dt {
    display: flex;
    align-items: center;
    margin: 0 0 5px;
  }
  
  .m-topics-icon dd {
    margin: 0 7.5vw 5px 0;
    display: flex;
    align-items: center;
  }

  .m-topics-icon dd:last-child {
    margin: 0;
  }
}

@media print, screen and (min-width: 769px) {
  .p-ttl.-type03 {
    margin-top: 80px;
  }
}

@media only screen and (max-width: 768px) {
  .p-ttl.-type03 {
    margin-top: 60px;
  }
}

@media print, screen and (min-width: 769px) {
  .p-ttl.-type03.-mt-s {
    margin-top: 40px;
  }
}

@media only screen and (max-width: 768px) {
  .p-ttl.-type03.-mt-s {
    margin-top: 20px;
  }
}

/* ==========================================================================
   modules
   ========================================================================== */
.m-grid-img > .m-grid-figcap {
  text-align: center;
}

.m-rowImg {
  margin-top: 30px;
}

.m-rowImg img {
  max-width: 100%;
  height: auto;
}

.m-rowImg-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 15px;
}

@media only screen and (max-width: 768px) {
  .m-rowImg-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

@media only screen and (max-width: 768px) {
  .m-rowImg-img,
  .m-rowImgCol2-img {
    text-align: center;
  }
}

@media print, screen and (min-width: 769px) {
  .m-rowImg-img + .m-rowImg-img,
  .m-rowImgCol2-img + .m-rowImgCol2-img {
    margin-left: 20px;
  }
}

@media only screen and (max-width: 768px) {
  .m-rowImg-img + .m-rowImg-img,
  .m-rowImgCol2-img + .m-rowImgCol2-img {
    margin-top: 15px;
  }
}

.m-rowImg-cap,
.m-rowImgCol2-cap {
  color: #333;
  font-size: 1.4rem;
  text-align: center;
}

@media print, screen and (min-width: 769px) {
  .m-rowImg-cap,
  .m-rowImgCol2-cap {
    margin-top: 8px;
    line-height: 1.75;
  }
}

@media only screen and (max-width: 768px) {
  .m-rowImg-cap,
  .m-rowImgCol2-cap {
    margin-top: 6px;
    line-height: 1.5;
  }
}

.m-rowImgCol2 {
  max-width: 880px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 30px auto 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media only screen and (max-width: 768px) {
  .m-rowImgCol2 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.m-rowImgCol2 img {
  max-width: 100%;
  height: auto;
}

/* ==========================================================================
   components
   ========================================================================== */
.c-headdingContainer {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 80px;
}

@media print, screen and (min-width: 769px) {
  .c-headdingContainer {
    padding-left: 10px;
    padding-right: 10px;
    max-width: 1200px;
    min-width: 1000px;
  }
}

@media only screen and (max-width: 768px) {
  .c-headdingContainer {
    width: 92%;
  }
}

@media only screen and (max-width: 768px) {
  .c-headdingContainer {
    margin-bottom: 47px;
  }
}

.c-carbonContainer {
  position: relative;
  margin-left: auto;
  margin-right: auto;
}

@media print, screen and (min-width: 769px) {
  .c-carbonContainer {
    padding-left: 10px;
    padding-right: 10px;
    max-width: 1200px;
    min-width: 1000px;
  }
}

@media only screen and (max-width: 768px) {
  .c-carbonContainer {
    width: 92%;
  }
}

@media print, screen and (min-width: 769px) {
  .c-carbonContainer {
    margin-bottom: 80px;
  }
}

@media only screen and (max-width: 768px) {
  .c-carbonContainer {
    margin-bottom: 60px;
  }
}

.c-carbonContainer-contents {
  position: relative;
  margin: 0 auto;
  width: calc(100% - 100px);
  max-width: 1080px;
}

@media only screen and (max-width: 768px) {
  .c-carbonContainer-contents {
    width: 100%;
  }
}

@media print, screen and (min-width: 769px) {
  .c-carbonContainer-contents {
    margin-bottom: 80px;
  }
}

@media only screen and (max-width: 768px) {
  .c-carbonContainer-contents {
    margin-bottom: 60px;
  }
}

.c-systemContainer {
  max-width: 880px;
  margin: 60px auto 0;
}

.--narrow .m-shortTable-header,
.--narrow .m-shortTable-data {
  padding: 5px;
}

.m-dotList-legend {
  display: flex;
  font-size: 1.6rem;
  margin: 15px 0 0;
}

.m-dotList-legend-item {
  position: relative;
  padding: 0 0 0 2.5em;
}

.m-dotList-legend-item::before {
  border: 1px solid #ccc;
  content: '';
  height: 1.2em;
  margin: auto 0;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 2.0em;
}

.m-dotList-legend-item + .m-dotList-legend-item {
  margin: 0 0 0 50px;
}

.m-dotList-legend-item.--very-high::before {
  background: #C65911;
}

.m-dotList-legend-item.--high::before {
  background: #ED7D31;
}

.m-dotList-legend-item.--middle::before {
  background: #F8CBAD;
}

.m-dotList-legend-item.--low::before {
  background: #fff;
}

.p-sumTtl + .m-grid {
  margin-top: 10px;
}

.p-sumTtl:has(+ .m-grid) {
  margin-bottom: 0;
}