main html,
main body,
main div,
main span,
main object,
main iframe,
main h1,
main h2,
main h3,
main h4,
main h5,
main h6,
main p,
main blockquote,
main pre,
main abbr,
main address,
main cite,
main code,
main del,
main dfn,
main em,
main img,
main ins,
main kbd,
main q,
main samp,
main small,
main strong,
main sub,
main sup,
main var,
main b,
main i,
main dl,
main dt,
main dd,
main ol,
main ul,
main li,
main fieldset,
main form,
main label,
main legend,
main table,
main caption,
main tbody,
main tfoot,
main thead,
main tr,
main th,
main td,
main article,
main aside,
main canvas,
main details,
main figcaption,
main figure,
main footer,
main header,
main hgroup,
main menu,
main nav,
main section,
main summary,
main time,
main mark,
main audio,
main video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  list-style: none;
}
main body {
  line-height: 1;
}
main article,
main aside,
main details,
main figcaption,
main figure,
main footer,
main header,
main hgroup,
main menu,
main nav,
main section {
  display: block;
}
main nav ul {
  list-style: none;
}
main blockquote,
main q {
  quotes: none;
}
main blockquote:before,
main blockquote:after,
main q:before,
main q:after {
  content: '';
  content: none;
}
main a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none;
}
main ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}
main mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}
main del {
  text-decoration: line-through;
}
main abbr[title],
main dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}
main table {
  border-collapse: collapse;
  border-spacing: 0;
}
main hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}
main input,
main select {
  vertical-align: middle;
}
main img,
main video {
  font-size: 0;
  line-height: 0;
}
@media screen and (max-width: 960px) {
  .u-is-pc {
    display: none !important;
  }
}
@media screen and (min-width: 961px) {
  .u-is-sp {
    display: none !important;
  }
}
main img,
main svg {
  display: block;
  width: 100%;
}
@media screen and (min-width: 961px) {
  h2 {
    font-weight: bold;
  }
}
h3 {
  font-weight: bold;
}
footer {
  margin-top: 0 !important;
}
.area_bg_img {
  position: relative;
}
@media screen and (min-width: 961px) {
  .modal-open {
    -webkit-transition: opacity 0.4s;
    transition: opacity 0.4s;
  }
  .modal-open:hover {
    opacity: 0.7;
  }
}
@media screen and (min-width: 961px) {
  .l-section {
    margin-top: 10.322108345534406vw;
  }
}
@media screen and (max-width: 960px) {
  .l-section {
    margin-top: 26.400000000000002vw;
  }
}
.l-section.l-bg {
  background: #f0f2f4;
}
@media screen and (min-width: 961px) {
  .l-section.l-bg {
    padding: 9.66325036603221vw 0;
  }
}
@media screen and (max-width: 960px) {
  .l-section.l-bg {
    padding: 28.000000000000004vw 0 33.06666666666666vw;
  }
}
.l-container {
  position: relative;
}
@media screen and (min-width: 961px) {
  .l-container {
    width: 83.74816983894583vw;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 960px) {
  .l-container {
    padding-left: 5.333333333333334vw;
    padding-right: 5.333333333333334vw;
  }
}
@media screen and (min-width: 961px) {
  .ttl_01 {
    margin-bottom: 4.685212298682284vw;
  }
}
@media screen and (max-width: 960px) {
  .ttl_01 {
    margin-bottom: 11.200000000000001vw;
  }
}
@media screen and (min-width: 961px) {
  .ttl_02.ttl_03 {
    padding-top: 0.585651537335286vw;
    margin-bottom: 2.415812591508053vw;
  }
}
@media screen and (max-width: 960px) {
  .ttl_02.ttl_03 {
    font-weight: bold;
    padding-top: 1.866666666666667vw;
    margin-bottom: 8.799999999999999vw;
    font-size: 2.4rem;
  }
}
@media screen and (min-width: 961px) {
  .ttl_03 +.l-text {
    margin-top: 1.464128843338214vw;
  }
}
@media screen and (max-width: 960px) {
  .ttl_03 +.l-text {
    margin-top: 5.333333333333334vw;
  }
}
@media screen and (min-width: 961px) {
  .ttl_04 +.l-text {
    margin-top: 2.196193265007321vw;
  }
}
@media screen and (max-width: 960px) {
  .ttl_04 +.l-text {
    margin-top: 6.933333333333333vw;
  }
}
@media screen and (min-width: 961px) {
  .ttl_04_boxes {
    display: inline-block;
  }
}
@media screen and (max-width: 960px) {
  .ttl_04_boxes {
    margin-top: 0.4rem;
  }
}
.ttl_04_box {
  display: inline-block;
  border: 1px #8096a3 solid;
  padding: 0.2rem 1.2rem;
  border-radius: 0.6rem;
  font-size: 1.4rem;
}
@media screen and (min-width: 961px) {
  .ttl_04_box {
    margin-left: 1rem;
  }
}
@media screen and (max-width: 960px) {
  .ttl_04_box + .ttl_04_box {
    margin-left: 1rem;
  }
}
.l-text {
  letter-spacing: 0.05em;
  line-height: 1.7;
}
@media screen and (min-width: 961px) {
  .l-text {
    margin-bottom: 3.367496339677892vw;
  }
}
@media screen and (max-width: 960px) {
  .l-text {
    margin-bottom: 13.866666666666665vw;
  }
}
.c-en {
  font-family: Arial, sans-serif;
}
._en,
._en p {
  word-break: keep-all;
}
.p-kv {
  position: relative;
}
.p-kv__container {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 0;
  right: 0;
  margin: auto;
}
.p-kv__hdg._jp {
  margin: 0 auto;
}
@media screen and (min-width: 961px) {
  .p-kv__hdg._jp {
    width: 75.69692532942899vw;
  }
}
@media screen and (max-width: 960px) {
  .p-kv__hdg._jp {
    width: 73.512vw;
  }
}
.p-kv__hdg._en {
  margin: 0 auto;
}
@media screen and (min-width: 961px) {
  .p-kv__hdg._en {
    width: 53.656661786237194vw;
  }
}
@media screen and (max-width: 960px) {
  .p-kv__hdg._en {
    width: 79.87733333333334vw;
  }
}
.p-kv__text {
  color: #ebeef0;
  line-height: 2.0625;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 961px) {
  .p-kv__text {
    margin-top: 4.099560761346998vw;
  }
}
@media screen and (max-width: 960px) {
  .p-kv__text {
    margin-top: 7.466666666666668vw;
    margin-left: 11.733333333333333vw;
  }
}
.p-intro {
  overflow: hidden;
}
@media screen and (min-width: 961px) {
  .p-intro {
    width: 40.702781844802345vw;
    margin: 2.928257686676428vw auto 0;
    border-radius: 0.439238653001464vw;
  }
}
@media screen and (max-width: 960px) {
  .p-intro {
    margin-top: 10.666666666666668vw;
    border-radius: 1.6vw;
  }
}
.p-energy__img01 {
  background-color: #f0f2f4;
}
@media screen and (min-width: 961px) {
  .p-energy__img01 {
    margin: 2.342606149341142vw 0 7.027818448023426vw;
    padding: 4.685212298682284vw 5.27086383601757vw 3.513909224011713vw;
    border-radius: 0.439238653001464vw;
  }
}
@media screen and (max-width: 960px) {
  .p-energy__img01 {
    width: 292.26666666666665vw;
    margin: 8.533333333333333vw 0 23.466666666666665vw;
    padding: 12.8vw;
  }
}
.p-energy-history {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media screen and (min-width: 961px) {
  .p-energy-history {
    margin-top: 1.756954612005857vw;
  }
}
@media screen and (max-width: 960px) {
  .p-energy-history {
    margin-top: 6.4vw;
  }
}
.p-energy-history__item {
  position: relative;
  background-color: #fff;
}
@media screen and (min-width: 961px) {
  .p-energy-history__item {
    width: 22.986822840409957vw;
    border-radius: 0.439238653001464vw;
  }
}
@media screen and (max-width: 960px) {
  .p-energy-history__item {
    width: 83.91733333333333vw;
    border-radius: 1.6vw;
  }
}
.p-energy-history__number {
  position: absolute;
  right: 0;
  left: 0;
  margin: 0 auto;
}
@media screen and (min-width: 961px) {
  .p-energy-history__number {
    top: -1.866764275256223vw;
    width: 3.074670571010249vw;
  }
}
@media screen and (max-width: 960px) {
  .p-energy-history__number {
    top: -6.800000000000001vw;
    width: 11.200000000000001vw;
  }
}
.p-energy-history__pic {
  overflow: hidden;
}
@media screen and (min-width: 961px) {
  .p-energy-history__pic {
    border-radius: 0.439238653001464vw 0.439238653001464vw 0 0;
  }
}
@media screen and (max-width: 960px) {
  .p-energy-history__pic {
    border-radius: 1.6vw 1.6vw 0 0;
  }
}
@media screen and (min-width: 961px) {
  .p-energy-history__info {
    padding: 2.12298682284041vw 1.976573938506589vw 2.489019033674964vw;
  }
}
@media screen and (max-width: 960px) {
  .p-energy-history__info {
    padding: 7.733333333333333vw 7.199999999999999vw 9.066666666666666vw;
  }
}
.p-energy-history__text {
  position: relative;
  line-height: 1.714285714285714;
}
@media screen and (min-width: 961px) {
  .p-energy-history__text {
    padding-left: 1.171303074670571vw;
    font-size: 1.02489019033675vw;
  }
}
@media screen and (max-width: 960px) {
  .p-energy-history__text {
    padding-left: 4.266666666666667vw;
    font-size: 3.733333333333334vw;
  }
}
@media screen and (min-width: 961px) {
  .p-energy-history__text + .p-energy-history__text {
    margin-top: 1.171303074670571vw;
  }
}
@media screen and (max-width: 960px) {
  .p-energy-history__text + .p-energy-history__text {
    margin-top: 4.266666666666667vw;
  }
}
.p-energy-history__text::before {
  position: absolute;
  left: 0;
  background-color: #46545c;
  border-radius: 100%;
  content: '';
}
@media screen and (min-width: 961px) {
  .p-energy-history__text::before {
    top: 0.658857979502196vw;
    width: 0.439238653001464vw;
    height: 0.439238653001464vw;
  }
}
@media screen and (max-width: 960px) {
  .p-energy-history__text::before {
    top: 2.4vw;
    width: 1.6vw;
    height: 1.6vw;
  }
}
@media screen and (min-width: 961px) {
  .p-energy__img02 {
    margin: auto;
    margin-top: 3.513909224011713vw;
    width: 53.66032210834554vw;
  }
}
@media screen and (max-width: 960px) {
  .p-energy__img02 {
    margin-top: 14.399999999999999vw;
    width: 145.86666666666665vw;
  }
}
.p-energy-arrow {
  margin: auto;
}
@media screen and (min-width: 961px) {
  .p-energy-arrow {
    width: 65.15373352855052vw;
  }
}
.p-energy-purpose {
  font-weight: bold;
  text-align: center;
  line-height: 1.7;
  color: #d82531;
}
@media screen and (min-width: 961px) {
  .p-energy-purpose {
    width: 73.20644216691069vw;
    margin: 3.660322108345535vw auto 0;
    padding: 2.489019033674964vw 0;
    font-size: 1.464128843338214vw;
    border: 0.073206442166911vw solid #d52836;
    border-radius: 0.439238653001464vw;
  }
}
@media screen and (max-width: 960px) {
  .p-energy-purpose {
    margin-top: 7.199999999999999vw;
    padding: 8.799999999999999vw 6.133333333333333vw;
    font-size: 5.333333333333334vw;
    border: 0.266666666666667vw solid #d52836;
    border-radius: 1.6vw;
  }
}
@media screen and (max-width: 960px) {
  .p-vision__img {
    width: 294.4vw;
  }
}
@media screen and (max-width: 960px) {
  .p-objective__img {
    width: 305.3333333333333vw;
  }
}
.p-zeroemission {
  background: #000;
}
.p-zeroemission__lead {
  color: #fff;
}
@media screen and (min-width: 961px) {
  .p-zeroemission__hdg {
    margin-top: 2.928257686676428vw;
    width: 19.54612005856515vw;
  }
}
@media screen and (max-width: 960px) {
  .p-zeroemission__hdg {
    margin-top: 8vw;
    width: 71.2vw;
  }
}
.p-zeroemission__container {
  position: relative;
  margin: auto;
}
@media screen and (min-width: 961px) {
  .p-zeroemission__container {
    width: 67.7891654465593vw;
  }
}
.p-zeroemission__textarea {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 0;
}
@media screen and (max-width: 960px) {
  .p-zeroemission__textarea {
    right: 0;
    margin: auto;
    width: 69.86666666666666vw;
  }
}
.p-zeroemission__btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  letter-spacing: 0.03em;
  position: relative;
  background-color: #fff;
  color: #46545c;
}
@media screen and (min-width: 961px) {
  .p-zeroemission__btn {
    margin-top: 5.124450951683748vw;
    padding: 0.219619326500732vw 0 0 2.049780380673499vw;
    width: 19.1800878477306vw;
    height: 4.612005856515373vw;
    border-radius: 0.219619326500732vw;
    font-size: 1.09809663250366vw;
  }
}
@media screen and (max-width: 960px) {
  .p-zeroemission__btn {
    margin-top: 88vw;
    padding: 0.8vw 0 0 7.733333333333333vw;
    width: 100%;
    height: 16.8vw;
    border-radius: 0.8vw;
    font-size: 4vw;
  }
}
.p-zeroemission__btn::before,
.p-zeroemission__btn::after {
  content: "";
  display: block;
  background-image: url("/static/files/corporate/about/zeroemission/images/top/ico-link-arrow-gray.png");
  background-size: 100%;
  background-repeat: no-repeat;
  position: absolute;
}
@media screen and (min-width: 961px) {
  .p-zeroemission__btn::before,
  .p-zeroemission__btn::after {
    right: 0.878477306002928vw;
  }
}
@media screen and (max-width: 960px) {
  .p-zeroemission__btn::before,
  .p-zeroemission__btn::after {
    right: 6.4vw;
  }
}
@media screen and (min-width: 961px) {
  .p-zeroemission__btn::before {
    width: 1.244509516837482vw;
    height: 1.244509516837482vw;
    top: 1.683748169838946vw;
  }
}
@media screen and (max-width: 960px) {
  .p-zeroemission__btn::before {
    width: 4.533333333333333vw;
    height: 4.533333333333333vw;
    top: 5.600000000000001vw;
  }
}
.p-zeroemission__btn::after {
  opacity: 0;
  -webkit-transform: translateX(-3.367496339677892vw);
  transform: translateX(-3.367496339677892vw);
}
@media screen and (min-width: 961px) {
  .p-zeroemission__btn::after {
    width: 1.244509516837482vw;
    height: 1.244509516837482vw;
    top: 1.683748169838946vw;
  }
}
@media screen and (max-width: 960px) {
  .p-zeroemission__btn::after {
    width: 4.533333333333333vw;
    height: 4.533333333333333vw;
    top: 5.600000000000001vw;
  }
}
.p-zeroemission__btn:hover::before,
.p-zeroemission__btn:hover::after {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.p-zeroemission__btn:hover::before {
  opacity: 0;
}
.p-zeroemission__btn:hover::after {
  opacity: 1;
  -webkit-transform: translateX(0);
  transform: translateX(0);
}
.modal_conts {
  pointer-events: none;
  top: 0;
  right: auto;
  -webkit-transform: none;
  transform: none;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 960px) {
  .modal_conts .scroll-hint-icon {
    width: 120px;
    height: 80px;
    top: calc(50% - 25px);
    right: auto;
  }
}
.p-modal__base {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}
.p-modal__base_contents {
  position: relative;
  width: 100%;
  max-width: 100%;
  max-height: 100%;
  overflow-y: auto;
}
.p-modal__box {
  pointer-events: auto;
  background: #fff;
  position: relative;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
@media screen and (min-width: 961px) {
  .p-modal__box {
    padding: 5.124450951683748vw 5.856515373352855vw;
    margin: 3.660322108345535vw 0;
    width: 83.74816983894583vw;
    border-radius: 0.439238653001464vw;
  }
}
@media screen and (max-width: 960px) {
  .p-modal__box {
    margin: 34.66666666666667vw 0;
    padding: 13.333333333333334vw 5.333333333333334vw;
    width: 94.66666666666667vw;
    border-radius: 1.6vw;
  }
}
.modal-close {
  pointer-events: auto;
  cursor: pointer;
  display: block;
  position: fixed;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  z-index: 1001;
}
@media screen and (min-width: 961px) {
  .modal-close {
    width: 3.660322108345535vw;
    top: 2.196193265007321vw;
    right: 2.196193265007321vw;
  }
}
@media screen and (max-width: 960px) {
  .modal-close {
    width: 13.333333333333334vw;
    top: 5.333333333333334vw;
    right: 5.333333333333334vw;
  }
}
.modal-close:hover {
  opacity: 0.6;
}
.p-modal__section + .p-modal__section {
  border-top: 1px solid #d5e3eb;
}
@media screen and (min-width: 961px) {
  .p-modal__section + .p-modal__section {
    margin-top: 4.392386530014641vw;
    padding-top: 4.392386530014641vw;
  }
}
@media screen and (max-width: 960px) {
  .p-modal__section + .p-modal__section {
    margin-top: 16vw;
    padding-top: 16vw;
  }
}
.p-modal__list {
  background: #e9ecf0;
  font-weight: bold;
}
@media screen and (min-width: 961px) {
  .p-modal__list {
    padding: 2.928257686676428vw 4.172767203513909vw;
    border-radius: 0.439238653001464vw;
  }
}
@media screen and (max-width: 960px) {
  .p-modal__list {
    padding: 10.666666666666668vw 8vw;
    border-radius: 1.6vw;
  }
}
.p-modal__list_item {
  padding-left: 1em;
  position: relative;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 960px) {
  .p-modal__list_item {
    line-height: 1.875;
  }
}
.p-modal__list_item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.4em;
  background: #46545c;
  border-radius: 50%;
}
@media screen and (min-width: 961px) {
  .p-modal__list_item::before {
    width: 0.585651537335286vw;
    height: 0.585651537335286vw;
  }
}
@media screen and (max-width: 960px) {
  .p-modal__list_item::before {
    width: 2.133333333333333vw;
    height: 2.133333333333333vw;
  }
}
.p-modal__list_item:not(:nth-child(1)) {
  margin-top: 1rem;
}
.p-strategy-lead {
  font-weight: bold;
  line-height: 1.666666666666667;
}
@media screen and (min-width: 961px) {
  .p-strategy-lead {
    font-size: 1.317715959004393vw;
  }
}
@media screen and (max-width: 960px) {
  .p-strategy-lead {
    font-size: 4.8vw;
  }
}
@media screen and (min-width: 961px) {
  .p-strategy-list {
    margin: 1.756954612005857vw 0 2.562225475841874vw;
    font-size: 1.02489019033675vw;
    line-height: 1.942857142857143;
  }
}
@media screen and (max-width: 960px) {
  .p-strategy-list {
    margin: 8.799999999999999vw 0 6.4vw;
    font-size: 3.733333333333334vw;
    line-height: 1.8;
  }
}
.p-strategy-list__item {
  padding-left: 1em;
  text-indent: -1em;
}
.p-strategy-notice {
  padding-left: 1.25em;
  text-indent: -1.25em;
}
@media screen and (min-width: 961px) {
  .p-strategy-notice {
    margin-top: 1.756954612005857vw;
    font-size: 0.878477306002928vw;
  }
}
@media screen and (max-width: 960px) {
  .p-strategy-notice {
    margin-top: 3.466666666666666vw;
    font-size: 3.2vw;
  }
}
@media screen and (max-width: 960px) {
  .p-strategy__01_img {
    width: 224.00000000000003vw;
  }
}
@media screen and (max-width: 960px) {
  .p-strategy__02_img_02 {
    width: 241.06666666666666vw;
  }
}
.l-text a {
  text-decoration: underline;
}
.ttl_01 small {
  display: inline-block;
}
@media screen and (min-width: 961px) {
  .ttl_01 small {
    font-size: 1.903367496339678vw;
    vertical-align: middle;
  }
}
@media screen and (max-width: 960px) {
  .ttl_01 small {
    font-size: 4.8vw;
  }
}
@media screen and (min-width: 961px) {
  .ttl_01._en small {
    margin-left: 2.855051244509517vw;
  }
}
