@charset "utf-8";
/* CSS Document */

.c-ttl-label {
    display: block;
}

.cpnbn_area_newlife {
    width: 100%;
    padding-bottom: 80px;
}

.cpnbn_area_newlife a img {
    text-align: center;
    margin: 0 auto;
    width: 100%;
}

@media screen and (max-width: 1024px) {
.cpnbn_area_newlife {
    padding-bottom: 40px;
}
}

@media screen and (max-width: 768px) {
.cpnbn_area_newlife {
    padding-bottom: 0;
}
}

/* 預り金 */

 .l-chart * {
    box-sizing: border-box;
  }
  .l-chart {
    background: #fff;
    display: flex;
    justify-content: center;
    padding: 40px 20px;
  }

  .chart-container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    max-width: 500px;
  }

  .top-row {
    display: flex;
    align-items: stretch;
    width: 100%;
  }

  .top-group {
    width: 60%;
    flex: 0 0 60%;
  }

  .bottom-group {
    width: 60%;
  }

  .block {
    color: #fff;
    text-align: center;
    margin-bottom: 6px;
  }

  .block .row {
    padding: 14px 10px;
  }

  .block .row.dashed-top {
    border-top: 1px dashed rgba(255,255,255,0.6);
  }

  .orange { background: #F08300; }
  .blue   { background: #0157AE; }
  .gray   { background: #a6a6a6; }
  .lightgray { background: #c9c9c9; }

  .main-label {
    font-size: 15px;
  }

  .sub-label {
    font-size: 14px;
  }

  .footer-label {
    text-align: center;
    font-weight: bold;
    font-size: 22px;
    padding: 16px 0;
    letter-spacing: 1px;
    width: 60%;
    margin-bottom: 10px;
  }

  .fuel-block {
    padding: 22px 10px;
    font-size: 14px;
  }

  .renewable-block {
    padding: 18px 10px;
    font-size: 14px;
    line-height: 1.6;
  }

  .annotation-area {
    display: flex;
    align-items: center;
    position: relative;
    width: 8%;
    min-width: 24px;
    flex: 0 0 auto;
  }

  .bracket {
    width: 20px;
    height: 100%;
    border-top: 2px solid #999;
    border-right: 2px solid #999;
    border-bottom: 2px solid #999;
    border-radius: 0 6px 6px 0;
  }

  .note {
    display: flex;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
    font-size: 14px;
    color: #333;
    line-height: 1.6;
    margin-left: 10px;
  }

  .note-highlight {
    color: #0157AE;
    font-weight: bold;
  }

  @media (max-width: 480px) {
    .l-chart {
      padding: 24px 16px;
    }

    .top-group {
        width: 80%;
        flex: 0 0 80%;
    }

    .bottom-group {
        width: 80%;
    }


    .annotation-area {
      width: 6%;
      min-width: 14px;
    }

    .note {
      writing-mode: vertical-rl;
      text-orientation: mixed;
      width: auto;
      min-width: 22px;
      margin-left: 0;
      font-size: 13px;
      line-height: 1.8;
      letter-spacing: 0.05em;
      justify-content: center;
    }

}
