@charset "UTF-8";
/*ファイルインポート*/
/*変数*/
/*色の変数*/
/*キャッチ・本文テキスト・スマホ開閉メニュー背景*/
/*背景*/
/*強調・リンク*/
/*テキスト（グレー）*/
/*区切り線*/
/*背景*/
/*フッター*/
/*検索背景*/
/*メニュー罫線*/
/*リンク色*/
/*プレスリリース背景*/
/*closeBTN*/
/*下層ボーダー*/
/*下層btnボーダー*/
/*下層btn背景*/
/*下層リンク集背景*/
/*グループトピックスTAG*/
/*フッター*/
/*フッター*/
/*font*/
/*FONTサイズ*/
/*24px　相当*/
/*16px　相当*/
/*8px　相当*/
/*contentsサイズ*/
/*ディスプレイサイズ*/
/*ブレイクポイント*/
/* CSS Document */
/* CSS Document */
a.linktext {
  color: #0278c1; }

a.linktext:hover {
  color: #0278c1; }

.sustainability__text-right {
  text-align: right; }

.img-inline {
  position: relative;
  top: 1px;
  display: inline; }

.sustainability__btn-pdf {
  position: relative;
  display: block;
  width: 520px;
  height: 70px;
  margin: auto;
  background-color: #fff;
  border: 3px solid #e5002d;
  color: #e5002d;
  font: 400 1rem "NotoSansCJKjpBold", sans-serif;
  text-align: center;
  border-radius: 40px;
  overflow: hidden;
  z-index: 1;
  margin-top: 30px; }

@media screen and (max-width: 768px) {
  .sustainability__btn-pdf {
    width: 100%;
    margin-top: 0;
    font-size: 11px; } }
.sustainability__btn-pdf:hover {
  color: #e5002d; }

.sustainability__btn-pdf span {
  line-height: 64px;
  padding-left: 21px;
  padding-right: 21px;
  position: relative;
  z-index: 3; }

@media screen and (max-width: 768px) {
  .sustainability__btn-pdf span {
    padding-left: 0;
    padding-right: 0; } }
.sustainability__btn-pdf span:before {
  background: url("../img/common-rarrow.png") no-repeat;
  background-size: 16px 16px;
  width: 16px;
  height: 16px; }

.sustainability__btn-pdf:hover span:before {
  background: url("../img/common-rarrow.png") no-repeat;
  background-size: 16px 16px;
  width: 16px;
  height: 16px; }

.sustainability__btn-pdf:after {
  content: "";
  z-index: 2;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: -100%;
  background-color: #fdedf0;
  -webkit-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out; }

.sustainability__btn-pdf:hover:after {
  left: 0; }

/*共通下層パーツ*/
main {
  /*commonmvのSPスタイル*/ }
  main .commonmv {
    width: 100%;
    position: relative; }
    main .commonmv__mvimg {
      width: 100%; }
    main .commonmv .articleheader {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      z-index: 2;
      width: 90%; }
    main .commonmv__slider {
      width: 100%;
      margin-bottom: 0 !important; }
      main .commonmv__slider li {
        position: relative; }
        main .commonmv__slider li .articleheader {
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          z-index: 2; }
    main .commonmv__mv {
      width: 100%;
      position: relative;
      z-index: 1; }
    main .commonmv__mask {
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.2);
      position: absolute;
      top: 0;
      left: 0;
      z-index: 2; }
    main .commonmv__title {
      position: absolute;
      font: 400 3.75rem "NotoSansCJKjpBold", sans-serif;
      color: #fff;
      top: 50%;
      left: 12%;
      transform: translate(0, -50%);
      line-height: 1.7em;
      white-space: nowrap;
      z-index: 3; }
  @media screen and (max-width: 768px) {
    main .commonmv__title {
      font: 400 1.5rem "NotoSansCJKjpBold", sans-serif;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); } }
  @media screen and (max-width: 400px) {
    main .commonmv__title {
      font: 400 1.0625rem "NotoSansCJKjpBold", sans-serif;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); } }
  main .breadnavi {
    width: 100%;
    background-color: #f8f8f8;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 100px; }
    main .breadnavi-items {
      font: 400 0.875rem "NotoSansCJKjpRegular", sans-serif;
      color: #333;
      max-width: calc(100% - 210px); }
    main .breadnavi-print {
      display: block;
      width: 190px;
      height: 36px;
      line-height: 30px;
      box-sizing: border-box;
      background-color: #fff;
      border-radius: 20px;
      border: 2px solid #fff;
      text-align: center;
      font: 400 0.875rem "NotoSansCJKjpRegular", sans-serif;
      color: #333;
      position: relative;
      overflow: hidden;
      z-index: 1; }
      main .breadnavi-print__cursor {
        line-height: 30px;
        z-index: 3;
        position: relative;
        padding-right: 25px; }
      main .breadnavi-print__cursor:after {
        content: "";
        background: url("../img/common-printer.png") no-repeat;
        background-size: 20px 18px;
        width: 20px;
        height: 18px;
        position: absolute;
        top: 50%;
        right: 0;
        transform: translate(0, -50%); }
    main .breadnavi-print:after {
      content: "";
      z-index: 2;
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: -100%;
      background-color: #e5002d;
      -webkit-transition: all 0.3s ease-in-out;
      -o-transition: all 0.3s ease-in-out;
      transition: all 0.3s ease-in-out; }
    main .breadnavi-print:hover {
      color: #fff; }
    main .breadnavi-print:hover:after {
      left: 0; }
  @media screen and (max-width: 1300px) {
    main .breadnavi {
      padding: 10px 20px; } }
  @media screen and (max-width: 768px) {
    main .breadnavi {
      margin-top: 21.3vw;
      width: 100%; }
      main .breadnavi-items {
        width: 100%;
        max-width: none;
        font: 400 0.625rem "NotoSansCJKjpRegular", sans-serif;
        color: #333; } }
  main .commontitle {
    padding: 100px 0; }
  @media screen and (max-width: 768px) {
    main .commontitle {
      padding: 35px 0;
      border-bottom: 1px solid #e0e0e0; } }

main .contentsplit {
  width: calc(100% - 40px);
  max-width: 1200px;
  margin: auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding-bottom: 100px;
  margin-top: 100px; }
  main .contentsplit-main {
    width: calc(100% - 360px);
    margin-right: 40px; }
  main .contentsplit-submenu {
    width: 320px; }
    main .contentsplit-submenu .submenu-btn1 {
      text-align: right;
      margin-top: 30px; }
      main .contentsplit-submenu .submenu-btn1 a {
        font: 400 1rem "SourceHanSansJPBold", sans-serif;
        position: relative;
        padding-left: 21px; }
      main .contentsplit-submenu .submenu-btn1 a:before {
        content: "";
        background: url("../img/common-rarrow.png") no-repeat;
        background-size: 16px 16px;
        width: 16px;
        height: 16px;
        position: absolute;
        top: 50%;
        left: 0;
        transform: translate(0, -50%); }
    main .contentsplit-submenu .submenu001 {
      width: 100%;
      background-color: #f8f8f8;
      padding: 20px; }
      main .contentsplit-submenu .submenu001__title {
        text-align: center;
        font: 400 1.25rem "NotoSansCJKjpBold", sans-serif;
        color: #333; }
      main .contentsplit-submenu .submenu001__title:after {
        background: none; }
      main .contentsplit-submenu .submenu001__date {
        font: 400 1rem "NotoSansCJKjpRegular", sans-serif;
        color: #333;
        margin-top: 10px;
        margin-bottom: 20px; }
      main .contentsplit-submenu .submenu001-img {
        width: 100%;
        overflow: hidden;
        margin-top: 10px; }
        main .contentsplit-submenu .submenu001-img img {
          width: 305%; }
      main .contentsplit-submenu .submenu001-data {
        display: flex;
        justify-content: space-between;
        align-items: center;
        border-bottom: 1px solid #e0e0e0;
        padding: 5px 1px; }
        main .contentsplit-submenu .submenu001-data__title {
          font: 400 1rem "SourceHanSansJPBold", sans-serif;
          color: #333; }
        main .contentsplit-submenu .submenu001-data__item {
          font: 400 2.5rem "OpenSansRegular", sans-serif;
          color: #333;
          text-align: right; }
        main .contentsplit-submenu .submenu001-data__item2 {
          font: 400 1.5625rem "OpenSansRegular", sans-serif;
          color: #333;
          text-align: right; }
          main .contentsplit-submenu .submenu001-data__item2 .small {
            font-size: 1rem; }
    main .contentsplit-submenu .submenu002 {
      margin-top: 30px;
      border: 3px solid #f2f2f2;
      padding: 20px; }
      main .contentsplit-submenu .submenu002-list {
        width: 100%;
        margin-top: 30px; }
        main .contentsplit-submenu .submenu002-list__item {
          border-bottom: 1px solid #e0e0e0;
          padding: 5px 1px; }
          main .contentsplit-submenu .submenu002-list__item--date {
            font: 400 1rem "SourceHanSansJPBold", sans-serif;
            color: #333; }
          main .contentsplit-submenu .submenu002-list__item--date {
            font: 400 1rem "SourceHanSansJPNormal", sans-serif;
            color: #333;
            margin-top: 5px; }
        main .contentsplit-submenu .submenu002-list__item:first-child {
          border-top: 1px solid #e0e0e0; }
    main .contentsplit-submenu .submenu003 {
      margin-top: 30px; }
      main .contentsplit-submenu .submenu003__link {
        width: 100%;
        display: block;
        margin-top: 3px;
        background-color: #f8f8f8;
        padding: 10px;
        position: relative; }
        main .contentsplit-submenu .submenu003__link__cursor {
          padding-left: 21px;
          font: 400 1rem "SourceHanSansJPBold", sans-serif;
          color: #333;
          position: relative; }
        main .contentsplit-submenu .submenu003__link__cursor:before {
          content: "";
          background: url("../img/common-rarrow.png") no-repeat;
          background-size: 16px 16px;
          width: 16px;
          height: 16px;
          position: absolute;
          top: 50%;
          left: 0;
          transform: translate(0, -50%); }
      main .contentsplit-submenu .submenu003__link1:after {
        content: "";
        background: url("../img/common-smenu1.png") no-repeat;
        background-size: 20px 20px;
        width: 20px;
        height: 20px;
        position: absolute;
        top: 50%;
        right: 10px;
        transform: translate(0, -50%); }
      main .contentsplit-submenu .submenu003__link2:after {
        content: "";
        background: url("../img/common-smenu2.png") no-repeat;
        background-size: 18px 14px;
        width: 18px;
        height: 14px;
        position: absolute;
        top: 50%;
        right: 10px;
        transform: translate(0, -50%); }
      main .contentsplit-submenu .submenu003__link3:after {
        content: "";
        background: url("../img/common-smenu3.png") no-repeat;
        background-size: 15px 15px;
        width: 15px;
        height: 15px;
        position: absolute;
        top: 50%;
        right: 10px;
        transform: translate(0, -50%); }
    main .contentsplit-submenu .submenu004 {
      margin-top: 30px;
      border: 3px solid #f2f2f2;
      padding: 20px; }
      main .contentsplit-submenu .submenu004-list {
        width: 100%;
        margin-top: 30px; }
        main .contentsplit-submenu .submenu004-list__item {
          border-bottom: 1px solid #e0e0e0;
          padding: 7.5px 1px; }
          main .contentsplit-submenu .submenu004-list__item--link {
            font: 400 1rem "SourceHanSansJPNormal", sans-serif;
            color: #0278c1; }
            main .contentsplit-submenu .submenu004-list__item--link span {
              padding-right: 5px;
              color: #e5002d; }
          main .contentsplit-submenu .submenu004-list__item--link:hover {
            color: #e5002d; }
        main .contentsplit-submenu .submenu004-list__item:first-child {
          border-top: 1px solid #e0e0e0; }
@media screen and (max-width: 768px) {
  main .contentsplit {
    padding-bottom: 30px;
    margin-top: 30px; }
    main .contentsplit-main {
      width: 100%;
      margin-right: 0; } }

main {
  /*trianglelistのSPスタイル*/ }
  main .trianglelist-content {
    width: 100%;
    display: flex;
    justify-content: flex-start; }
    main .trianglelist-content-list {
      width: calc(100% / 3 - 2px);
      margin-right: 3px;
      position: relative; }
      main .trianglelist-content-list a {
        filter: alpha(opacity=100) !important;
        opacity: 1 !important; }
        main .trianglelist-content-list a img {
          filter: alpha(opacity=100) !important;
          opacity: 1 !important; }
      main .trianglelist-content-list img {
        width: 100%; }
      main .trianglelist-content-list__mask {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        background-color: rgba(0, 0, 0, 0.5); }
        main .trianglelist-content-list__mask__msg {
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          white-space: nowrap;
          text-align: center;
          font: 400 1.25rem "NotoSansCJKjpBold", sans-serif;
          color: #fff; }
      main .trianglelist-content-list__mask:after {
        content: "";
        position: absolute;
        bottom: 0;
        right: 0;
        background: url("../img/common-triangle.png") no-repeat;
        background-size: 40px 40px;
        width: 40px;
        height: 40px;
        transition: all 0.3s cubic-bezier(0, 0, 0, 1); }
      main .trianglelist-content-list__mask:hover {
        /*background-color: rgba(0, 0, 0, 0);*/
        background: rgba(255, 255, 255, 0.6);
        transition: all 0.3s cubic-bezier(0, 0, 0, 1); }
      main .trianglelist-content-list__mask:hover:after {
        transition: all 0.3s cubic-bezier(0, 0, 0, 1);
        background-size: calc(40px * 2) calc(40px * 2);
        width: calc(40px * 2);
        height: calc(40px * 2); }
    main .trianglelist-content-list:last-child {
      margin-right: 0; }
  @media screen and (max-width: 1000px) {
    main .trianglelist-content-list__mask__msg {
      font-size: 0.875rem; } }
  @media screen and (max-width: 768px) {
    main .trianglelist-content {
      width: 100%;
      display: block; }
      main .trianglelist-content-list {
        width: 100%;
        margin-right: 0;
        margin-top: 3px;
        position: relative; }
        main .trianglelist-content-list__mask__msg {
          font: 400 1.25rem "NotoSansCJKjpBold", sans-serif;
          color: #fff; }
        main .trianglelist-content-list__mask:after {
          background-size: 20px 20px;
          width: 20px;
          height: 20px; }
      main .trianglelist-content-list:first-child {
        margin-top: 0; }
    main .trianglelist__btn {
      width: 300px;
      height: 70px;
      margin-top: 30px; }
      main .trianglelist__btn__cursor {
        line-height: 64px; } }

.disc,
.decimal_parentheses li .disc {
  list-style-type: disc !important; }
  .disc li,
  .decimal_parentheses li .disc li {
    list-style-type: disc !important;
    text-indent: 0;
    margin-left: 2.5em;
    margin-bottom: .5em; }
    .disc li:before,
    .decimal_parentheses li .disc li:before {
      display: none; }

.decimal {
  list-style-type: decimal !important; }

.decimal_parentheses > li {
  list-style-type: none !important;
  list-style-position: inside !important;
  counter-increment: cnt !important;
  padding-left: 1.5em;
  text-indent: -1.4em;
  margin-bottom: 1.5em; }
  .decimal_parentheses > li:before {
    display: marker !important;
    content: "(" counter(cnt) ") " !important; }

.decimal-leading-zero {
  list-style-type: decimal-leading-zero !important; }

.lower-alpha {
  list-style-type: lower-alpha !important; }

.circled-decimal li {
  list-style-type: none !important;
  list-style-position: inside !important;
  counter-increment: cnt !important;
  padding-left: 1em;
  text-indent: -1em; }

ul.dash > li {
  list-style-type: none !important;
  text-indent: 0;
  margin-left: 2.5em;
  margin-bottom: .5em;
  position: relative; }
  ul.dash > li:before {
    display: block;
    position: absolute;
    left: -1.5em;
    top: 0.85em;
    content: '';
    width: .8em;
    height: 1px;
    background: #333; }

/*sustainability専用スタイル*/
/*title部は今後あるかわからないがTOPと同じものをひとまず入れておく*/
main {
  /* Download > zeomic*/ }
  main .link.top {
    text-align: right; }
    main .link.top .categorytitle__link {
      font: 400 0.875rem "NotoSansCJKjpRegular", sans-serif;
      cursor: pointer;
      margin-right: 1em;
      padding-left: 18px; }
      main .link.top .categorytitle__link:before {
        background-size: 14px 14px;
        width: 14px;
        height: 14px;
        top: 56%;
        transform: translate(0, -50%) rotate(270deg); }
  main .sustainability001.mb100 {
    margin-bottom: 40px; }
  main .sustainability001 {
    width: calc(100% - 40px);
    max-width: 1200px;
    margin: auto;
    margin-top: 100px; }
    main .sustainability001-list {
      margin-top: 70px;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
      main .sustainability001-list-item {
        width: calc(50% - 1px);
        margin-right: 2px;
        margin-top: 2px; }
        main .sustainability001-list-item__link {
          position: relative;
          display: block;
          z-index: 1; }
          main .sustainability001-list-item__link img {
            width: 100%;
            position: relative;
            z-index: 2; }
          main .sustainability001-list-item__link p {
            font: 400 1.625rem "NotoSansCJKjpMedium", sans-serif;
            color: #fff;
            position: absolute;
            white-space: nowrap;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            z-index: 4;
            text-align: center; }
          main .sustainability001-list-item__link__screen {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.4);
            z-index: 3; }
          main .sustainability001-list-item__link__screen:after {
            content: "";
            position: absolute;
            bottom: 0;
            right: 0;
            background: url("../img/common-triangle.png") no-repeat;
            background-size: 40px 40px;
            width: 40px;
            height: 40px;
            transition: all 0.3s cubic-bezier(0, 0, 0, 1); }
          main .sustainability001-list-item__link__screen:hover {
            background-color: rgba(0, 0, 0, 0);
            transition: all 0.3s cubic-bezier(0, 0, 0, 1); }
          main .sustainability001-list-item__link__screen:hover:after {
            transition: all 0.3s cubic-bezier(0, 0, 0, 1);
            background-size: calc(40px * 2) calc(40px * 2);
            width: calc(40px * 2);
            height: calc(40px * 2); }
        main .sustainability001-list-item__link:hover p {
          color: #e5002d; }
      main .sustainability001-list-item.col3 {
        width: calc(33% - 1px); }
        main .sustainability001-list-item.col3 p {
          font: 400 1.375rem "NotoSansCJKjpMedium", sans-serif;
          color: #fff;
          position: absolute;
          white-space: nowrap; }
        @media screen and (max-width: 1010px) {
          main .sustainability001-list-item.col3 p {
            white-space: normal; } }
      main .sustainability001-list-item:nth-child(2n) {
        margin-right: 0; }
    main .sustainability001-news {
      margin-top: 100px;
      display: flex;
      justify-content: space-around;
      align-items: flex-start; }
      main .sustainability001-news-list {
        width: 23%; }
        main .sustainability001-news-list img {
          width: 100%; }
        main .sustainability001-news-list__date {
          font: 400 1rem "NotoSansCJKjpBold", sans-serif;
          color: #999;
          margin-top: 10px; }
        main .sustainability001-news-list__desc {
          font: 400 1rem "NotoSansCJKjpRegular", sans-serif;
          color: #333;
          margin-top: 10px; }
        main .sustainability001-news-list-box {
          display: flex;
          justify-content: space-between;
          align-items: center;
          margin-top: 10px; }
          main .sustainability001-news-list-box__date {
            font: 400 1rem "NotoSansCJKjpRegular", sans-serif;
            color: #999 !important;
            width: calc(100% - 170px); }
          main .sustainability001-news-list-box__tag {
            display: block;
            width: 160px;
            height: 30px;
            border: 1px solid #e1e1e1;
            border-radius: 4px;
            background-color: #fafafa;
            line-height: 28px;
            text-align: center;
            font: 400 0.8125rem "NotoSansCJKjpMedium", sans-serif;
            color: #333; }
            main .sustainability001-news-list-box__tag span {
              line-height: 28px; }
      main .sustainability001-news-list:nth-child(4n) {
        margin-right: 0; }
    main .sustainability001__btn {
      position: relative;
      display: block;
      width: 360px;
      height: 70px;
      margin: auto;
      background-color: #e5002d;
      border: 3px solid #e5002d;
      color: #fff;
      font: 400 1.125rem "NotoSansCJKjpBold", sans-serif;
      text-align: center;
      border-radius: 40px;
      overflow: hidden;
      z-index: 1;
      margin-top: 60px;
      position: relative; }
      main .sustainability001__btn__cursor {
        line-height: 64px;
        padding-left: 21px;
        position: relative;
        z-index: 3; }
      main .sustainability001__btn__cursor:before {
        content: "";
        background: url("../img/common-warrow-r.png") no-repeat;
        background-size: 16px 16px;
        width: 16px;
        height: 16px;
        position: absolute;
        top: 50%;
        left: 0;
        transform: translate(0, -50%); }
    main .sustainability001__btn:after {
      content: "";
      z-index: 2;
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: -100%;
      background-color: #fff;
      -webkit-transition: all 0.3s ease-in-out;
      -o-transition: all 0.3s ease-in-out;
      transition: all 0.3s ease-in-out; }
    main .sustainability001__btn:hover {
      color: #e5002d; }
      main .sustainability001__btn:hover span:before {
        background: url("../img/common-rarrow.png") no-repeat;
        background-size: 16px 16px;
        width: 16px;
        height: 16px; }
    main .sustainability001__btn:hover:after {
      left: 0; }
  @media screen and (max-width: 768px) {
    main .sustainability001 {
      width: calc(100% - 40px);
      max-width: 1200px;
      margin: auto;
      margin-top: 25px; }
      main .sustainability001-list {
        display: block;
        margin-top: 35px; }
        main .sustainability001-list-item, main .sustainability001-list-item.col3 {
          width: 100%;
          margin-right: 0;
          margin-top: 2px; }
          main .sustainability001-list-item__link p, main .sustainability001-list-item.col3__link p {
            font: 400 1.25rem "NotoSansCJKjpMedium", sans-serif; }
        main .sustainability001-list-item:nth-child(2n) {
          margin-right: 0; }
      main .sustainability001-sliderinner {
        position: relative; }
        main .sustainability001-sliderinner__prev {
          width: 40px;
          position: absolute;
          top: 50%;
          left: 40px;
          transform: translate(0, -50%);
          cursor: pointer;
          opacity: .7; }
        main .sustainability001-sliderinner__next {
          width: 40px;
          position: absolute;
          top: 50%;
          right: 40px;
          transform: translate(0, -50%);
          cursor: pointer;
          opacity: .7; }
      main .sustainability001-news {
        margin-top: 35px;
        display: block; }
        main .sustainability001-news-list {
          width: 100%;
          margin-right: 0;
          padding: 0 10px; }
          main .sustainability001-news-list__img {
            width: 100%; }
          main .sustainability001-news-list__date {
            font: 400 0.8125rem "NotoSansCJKjpBold", sans-serif; }
          main .sustainability001-news-list__desc {
            font: 400 0.9375rem "NotoSansCJKjpRegular", sans-serif;
            margin-top: 5px; }
        main .sustainability001-news-list:nth-child(4n) {
          margin-right: 0; }
      main .sustainability001__btn {
        width: 300px;
        height: 70px;
        margin-top: 30px; }
        main .sustainability001__btn__cursor {
          line-height: 64px; } }
  main .sustainability002 {
    width: calc(100% - 40px);
    max-width: 1200px;
    margin: auto;
    margin-top: 120px;
    margin-bottom: 100px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    main .sustainability002 .categorytitle {
      width: 100%;
      margin-bottom: 70px; }
    main .sustainability002-frame {
      width: calc(100% / 3);
      position: relative; }
      main .sustainability002-frame__title {
        font: 400 1.5rem "NotoSansCJKjpMedium", sans-serif;
        text-align: center; }
      main .sustainability002-frame__sub {
        font: 400 1rem "NotoSansCJKjpRegular", sans-serif;
        text-align: left;
        margin-top: 5px;
        padding: 0 30px; }
      main .sustainability002-frame a {
        overflow: hidden; }
      main .sustainability002-frame-overflow {
        overflow: hidden; }
      main .sustainability002-frame img {
        transition: .5s;
        -webkit-transition: .5s; }
      main .sustainability002-frame__img1 {
        width: 10.8vw;
        max-width: 130px;
        margin: auto; }
      main .sustainability002-frame__img2 {
        width: 10.8vw;
        max-width: 130px;
        margin: auto; }
      main .sustainability002-frame__img3 {
        width: 10.8vw;
        max-width: 130px;
        margin: auto; }
      main .sustainability002-frame-linkdiv {
        width: calc(100% - 30px);
        text-align: right;
        margin-top: 10px;
        margin-right: 30px; }
        main .sustainability002-frame-linkdiv__link {
          font: 400 1.125rem "NotoSansCJKjpMedium", sans-serif;
          position: relative;
          padding-left: 21px; }
        main .sustainability002-frame-linkdiv__link:before {
          content: "";
          background: url("../img/common-rarrow.png") no-repeat;
          background-size: 16px 16px;
          width: 16px;
          height: 16px;
          position: absolute;
          top: 50%;
          left: 0;
          transform: translate(0, -50%); }
    main .sustainability002-frame:hover img {
      transform: scale(1.2); }
    main .sustainability002-frame:nth-child(2), main .sustainability002-frame:nth-child(3) {
      border-left: 1px solid #e0e0e0; }
  @media screen and (max-width: 768px) {
    main .sustainability002 {
      width: calc(100% + 40px);
      display: block;
      margin-top: 50px;
      margin-bottom: 50px;
      padding-right: 20px; }
      main .sustainability002-frame {
        width: 100%;
        position: relative;
        background-color: #f8f8f8;
        border-top: 1px solid #e0e0e0;
        padding: 15px 20px 15px 45px; }
        main .sustainability002-frame__title {
          font: 400 1.125rem "NotoSansCJKjpMedium", sans-serif;
          text-align: left; }
        main .sustainability002-frame__sub {
          font: 400 0.875rem "NotoSansCJKjpRegular", sans-serif;
          text-align: left;
          margin-top: 5px;
          padding: 0 20px 0 0; }
      main .sustainability002-frame:before {
        content: "";
        background: url("../img/common-rarrow.png") no-repeat;
        background-size: 15px 15px;
        width: 15px;
        height: 15px;
        position: absolute;
        top: 50%;
        left: 20px;
        transform: translate(0, -50%); }
      main .sustainability002-frame:nth-child(2n) {
        border-left: 1px solid #e0e0e0; }
      main .sustainability002-frame:last-child {
        border-bottom: 1px solid #e0e0e0; }
      main .sustainability002-frame:first-child {
        border-top: none; }
      main .sustainability002-frame:nth-child(3), main .sustainability002-frame:nth-child(5) {
        margin-top: 0; }
      main .sustainability002-frame:nth-child(1), main .sustainability002-frame:nth-child(2), main .sustainability002-frame:nth-child(5) {
        cursor: pointer; }
      main .sustainability002-subframe__link {
        padding: 10px 40px 10px 55px;
        display: block;
        border-top: 1px solid #e0e0e0;
        font: 400 0.9375rem "NotoSansCJKjpMedium", sans-serif;
        position: relative; }
      main .sustainability002-subframe__link:before {
        content: "";
        background: url("../img/common-arrow-r.png") no-repeat;
        background-size: 4.5px 7px;
        width: 4.5px;
        height: 7px;
        position: absolute;
        top: 50%;
        left: 40px;
        transform: translate(0, -50%); } }
  main .sustainability003 {
    width: calc(100% - 40px);
    max-width: 1200px;
    margin: auto;
    margin-top: 100px;
    margin-bottom: 100px; }
    main .sustainability003__msg1 {
      font: 400 1rem "NotoSansCJKjpRegular", sans-serif; }
    main .sustainability003-frame {
      width: 100%;
      display: flex;
      justify-content: space-between;
      margin-top: 50px; }
      main .sustainability003-frame-box {
        width: calc(100% / 3);
        border-right: 1px solid #e0e0e0; }
        main .sustainability003-frame-box__img {
          width: 50%;
          max-width: 200px;
          margin: auto; }
        main .sustainability003-frame-box__title {
          margin-top: 45px;
          font: 400 1.75rem "NotoSansCJKjpRegular", sans-serif;
          text-align: center;
          padding: 0 30px; }
        main .sustainability003-frame-box__msg {
          padding: 0 30px;
          margin-top: 20px;
          font: 400 1rem "NotoSansCJKjpRegular", sans-serif; }
        main .sustainability003-frame-box-list {
          width: 100%;
          padding: 0 30px;
          margin-top: 20px; }
          main .sustainability003-frame-box-list li {
            width: 100%;
            background-color: #f8f8f8;
            margin-top: 20px;
            font: 400 1rem "NotoSansCJKjpRegular", sans-serif;
            padding: 20px; }
      main .sustainability003-frame .sustainability003-frame-box--en .sustainability003-frame-box__msg {
        margin-top: 50px; }
      main .sustainability003-frame-box:last-child {
        border-right: none; }
  @media screen and (max-width: 768px) {
    main .sustainability003 {
      margin-top: 25px;
      margin-bottom: 35px; }
      main .sustainability003__msg1 {
        font: 400 0.9375rem "NotoSansCJKjpRegular", sans-serif; }
      main .sustainability003-frame {
        width: 100%;
        display: block;
        margin-top: 40px; }
        main .sustainability003-frame-box {
          width: 100%;
          border-right: none;
          border-top: 1px solid #e0e0e0;
          padding: 35px 0; }
          main .sustainability003-frame-box__img {
            width: 50%;
            margin: auto; }
          main .sustainability003-frame-box__title {
            margin-top: 35px;
            font: 400 1.25rem "NotoSansCJKjpRegular", sans-serif;
            text-align: left;
            padding: 0; }
          main .sustainability003-frame-box__msg {
            padding: 0;
            margin-top: 20px;
            font: 400 0.9375rem "NotoSansCJKjpRegular", sans-serif; }
          main .sustainability003-frame-box-list {
            width: 100%;
            padding: 0;
            margin-top: 10px; }
            main .sustainability003-frame-box-list li {
              width: 100%;
              background-color: #f8f8f8;
              margin-top: 10px;
              font: 400 0.9375rem "NotoSansCJKjpRegular", sans-serif;
              padding: 15px; }
        main .sustainability003-frame-box:last-child {
          border-right: none; } }
  main .sustainability004 {
    width: calc(100% - 40px);
    max-width: 1200px;
    margin: auto;
    margin-top: 70px; }
    main .sustainability004 .decimal {
      margin-left: 1em;
      margin-top: 1em; }
      main .sustainability004 .decimal li {
        margin-bottom: .5em; }
    main .sustainability004__title {
      margin-top: 40px;
      font: 400 1.25rem "NotoSansCJKjpMedium", sans-serif;
      padding-left: 24px;
      position: relative; }
      main .sustainability004__title2 {
        padding: 0 20px 10px; }
    main .sustainability004__title:before {
      content: "";
      width: 4px;
      height: 20px;
      position: absolute;
      top: 50%;
      left: 0;
      transform: translate(0, -50%);
      background-color: #999; }
    main .sustainability004__msg {
      margin-top: 20px;
      font: 400 1rem "NotoSansCJKjpRegular", sans-serif; }
      main .sustainability004__msg p {
        margin-bottom: .5em; }
    main .sustainability004__msg2 {
      margin-top: 40px;
      font: 400 1rem "NotoSansCJKjpRegular", sans-serif; }
    main .sustainability004-sdgs {
      display: flex;
      justify-content: space-between;
      margin: 40px 0; }
      main .sustainability004-sdgs .box-1 {
        padding-right: 2em; }
        main .sustainability004-sdgs .box-1 h3 {
          margin: 0 0 1em; }
        main .sustainability004-sdgs .box-1 p {
          line-height: 1.6em; }
    main .sustainability004__table {
      border-collapse: collapse;
      table-layout: fixed;
      width: 100%;
      margin-top: 1em; }
      main .sustainability004__table .left {
        text-align: left !important; }
      main .sustainability004__table .center {
        text-align: center !important; }
      main .sustainability004__table .bold {
        font-weight: 900; }
      main .sustainability004__table .w10 {
        width: 10em; }
      main .sustainability004__table th {
        font: 400 1rem "NotoSansCJKjpRegular", sans-serif;
        color: #333;
        padding: 15px;
        background-color: #f8f8f8;
        border: 1px solid #e0e0e0;
        text-align: left; }
      main .sustainability004__table td {
        font: 400 1rem "NotoSansCJKjpRegular", sans-serif;
        color: #333;
        padding: 15px;
        border: 1px solid #e0e0e0; }
      main .sustainability004__table.type1 {
        width: 60%; }
        main .sustainability004__table.type1 td {
          text-align: center;
          width: 9em; }
      main .sustainability004__table.type2 {
        width: 100%; }
        main .sustainability004__table.type2 th {
          text-align: center; }
          main .sustainability004__table.type2 th:nth-child(1) {
            width: 7em; }
          main .sustainability004__table.type2 th:nth-child(2), main .sustainability004__table.type2 th:nth-child(3) {
            width: 7em; }
        main .sustainability004__table.type2 td {
          text-align: center; }
          main .sustainability004__table.type2 td:nth-child(1) {
            text-align: center; }
          main .sustainability004__table.type2 td:nth-child(4) {
            text-align: left; }
      main .sustainability004__table.type3 {
        width: 100%; }
        main .sustainability004__table.type3 thead td {
          text-align: center; }
          main .sustainability004__table.type3 thead td:nth-child(1) {
            border: none; }
        main .sustainability004__table.type3 tbody th {
          text-align: left; }
        main .sustainability004__table.type3 tbody td {
          text-align: left; }
    main .sustainability004__diagram {
      text-align: center; }
      main .sustainability004__diagram img {
        width: 60%;
        margin: 0 auto; }
    main .sustainability004__link a {
      display: block;
      margin: 1em 0;
      color: #0278c1; }
      main .sustainability004__link a img {
        display: inline-block; }
    main .sustainability004__alink {
      width: 100%;
      background-color: #f8f8f8;
      padding: 20px; }
      main .sustainability004__alink li {
        padding: 3px 0; }
        main .sustainability004__alink li a {
          font: 400 1rem "NotoSansCJKjpRegular", sans-serif;
          position: relative;
          padding-left: 10px; }
          main .sustainability004__alink li a::before {
            content: "";
            background: url(/asset/img/common-arrow-r.png) no-repeat;
            background-size: 4.5px 7px;
            width: 4.5px;
            height: 7px;
            position: absolute;
            top: 50%;
            left: 0;
            transform: translate(0, -50%); }
      main .sustainability004__alink.flex {
        display: flex;
        justify-content: space-around; }
  @media screen and (max-width: 768px) {
    main .sustainability004.mt100 {
      margin-top: 35px; }
    main .sustainability004.mb100 {
      margin-top: 40px; }
    main .sustainability004 {
      margin-top: 35px; }
      main .sustainability004__title {
        margin-top: 25px;
        font: 400 1.125rem "NotoSansCJKjpMedium", sans-serif; }
      main .sustainability004__title:before {
        height: 100%; }
      main .sustainability004__msg {
        margin-top: 20px;
        font: 400 0.9375rem "NotoSansCJKjpRegular", sans-serif; }
      main .sustainability004__msg2 {
        margin-top: 30px;
        font: 400 0.9375rem "NotoSansCJKjpRegular", sans-serif; }
      main .sustainability004-sdgs {
        display: flex;
        flex-direction: column-reverse;
        margin: 20px 0 40px; }
        main .sustainability004-sdgs .box-1 {
          padding-right: 0; }
          main .sustainability004-sdgs .box-1 h3 {
            margin: 0 0 1em; }
          main .sustainability004-sdgs .box-1 p {
            line-height: 1.6em;
            text-align: justify; }
        main .sustainability004-sdgs .box-2 img {
          width: 100%;
          margin-bottom: 1em; }
      main .sustainability004__table .w10 {
        width: 10em; }
      main .sustainability004__table th {
        font: 400 1rem "NotoSansCJKjpRegular", sans-serif;
        color: #333;
        padding: 15px;
        background-color: #f8f8f8;
        border: 1px solid #e0e0e0;
        text-align: left; }
      main .sustainability004__table td {
        font: 400 1rem "NotoSansCJKjpRegular", sans-serif;
        color: #333;
        padding: 15px;
        border: 1px solid #e0e0e0; }
      main .sustainability004__table.type1 {
        width: 100%; }
        main .sustainability004__table.type1 td {
          text-align: center;
          width: 4em; }
      main .sustainability004__table.type2 {
        width: 1000px; }
      main .sustainability004__table.type3.scroll {
        width: 600px; }
      main .sustainability004__diagram img {
        width: 90%; }
      main .sustainability004__alink.flex {
        display: block; }
        main .sustainability004__alink.flex li {
          margin: .5em 0; } }
  main .sustainability005 {
    width: calc(100% - 40px);
    max-width: 1200px;
    margin: auto;
    margin-top: 100px;
    margin-bottom: 100px; }
    main .sustainability005__msg1 {
      font: 400 1rem "NotoSansCJKjpRegular", sans-serif; }
    main .sustainability005-frame {
      width: 100%;
      margin-top: 10px;
      display: flex;
      justify-content: flex-start;
      flex-wrap: wrap; }
      main .sustainability005-frame-box {
        width: calc(50% - 40px);
        margin-right: 80px;
        margin-top: 90px; }
        main .sustainability005-frame-box__title {
          font: 400 1.25rem "NotoSansCJKjpMedium", sans-serif;
          padding-left: 24px;
          position: relative; }
        main .sustainability005-frame-box__title:before {
          content: "";
          width: 4px;
          height: 20px;
          position: absolute;
          top: 50%;
          left: 0;
          transform: translate(0, -50%);
          background-color: #999; }
        main .sustainability005-frame-box img {
          width: 100%;
          margin-top: 15px; }
        main .sustainability005-frame-box__msg {
          margin-top: 25px;
          font: 400 1rem "NotoSansCJKjpRegular", sans-serif; }
      main .sustainability005-frame-box:nth-child(2n) {
        margin-right: 0; }
  @media screen and (max-width: 768px) {
    main .sustainability005 {
      width: calc(100% - 40px);
      max-width: 1200px;
      margin: auto;
      margin-top: 35px;
      margin-bottom: 40px; }
      main .sustainability005__msg1 {
        font: 400 0.9375rem "NotoSansCJKjpRegular", sans-serif; }
      main .sustainability005-frame {
        width: 100%;
        margin-top: 0;
        display: block; }
        main .sustainability005-frame-box {
          width: 100%;
          margin-right: 0;
          margin-top: 25px; }
          main .sustainability005-frame-box__title {
            font: 400 1.125rem "NotoSansCJKjpMedium", sans-serif; }
          main .sustainability005-frame-box__title:before {
            height: 100%; }
          main .sustainability005-frame-box img {
            margin-top: 15px; }
          main .sustainability005-frame-box__msg {
            margin-top: 15px;
            font: 400 0.9375rem "NotoSansCJKjpRegular", sans-serif; } }
  main .sustainability006 {
    width: calc(100% - 40px);
    max-width: 1200px;
    margin: auto;
    margin-top: 100px;
    margin-bottom: 100px; }
    main .sustainability006__msg1 {
      font: 400 1rem "NotoSansCJKjpRegular", sans-serif; }
    main .sustainability006__title {
      margin-top: 40px;
      font: 400 1.25rem "NotoSansCJKjpMedium", sans-serif;
      padding-left: 24px;
      position: relative; }
    main .sustainability006__title:before {
      content: "";
      width: 4px;
      height: 20px;
      position: absolute;
      top: 50%;
      left: 0;
      transform: translate(0, -50%);
      background-color: #999; }
    main .sustainability006__msg2 {
      margin-top: 15px;
      font: 400 1rem "NotoSansCJKjpRegular", sans-serif; }
    main .sustainability006__msg3 {
      margin-top: 70px;
      font: 400 1rem "NotoSansCJKjpRegular", sans-serif; }
    main .sustainability006-btnarea {
      margin-top: 20px;
      padding-left: 18px; }
      main .sustainability006-btnarea a {
        font: 400 1.125rem "NotoSansCJKjpMedium", sans-serif;
        position: relative; }
      main .sustainability006-btnarea a:before {
        content: "";
        background: url("../img/common-rarrow.png") no-repeat;
        background-size: 13px 13px;
        width: 13px;
        height: 13px;
        position: absolute;
        top: 50%;
        left: -18px;
        transform: translate(0, -50%); }
    main .sustainability006-imglist {
      width: 100%;
      margin: 10px 0 0;
      display: flex;
      justify-content: space-around;
      /*
      &__img:last-child {
      	margin-right: 0;
      }*/ }
      main .sustainability006-imglist a {
        margin-top: 40px;
        width: calc(100% / 3 - 20px); }
      main .sustainability006-imglist__img {
        /*width: 100%;*/
        /*
        margin-top: 40px;
        width: calc(100% / 3 - 20px);
        margin-right: 30px;*/ }
    main .sustainability006 .w33 {
      width: calc(100% / 3); }
    main .sustainability006 .w66 {
      width: calc(100% / 3 * 2); }
    main .sustainability006__kome1 {
      margin-top: 20px;
      font: 400 0.875rem "NotoSansCJKjpRegular", sans-serif; }
    main .sustainability006-list {
      margin-top: 40px;
      display: flex;
      justify-content: flex-start;
      flex-wrap: wrap; }
      main .sustainability006-list dt,
      main .sustainability006-list dd {
        display: -webkit-box;
        display: -moz-box;
        display: -o-box;
        display: -ms-box;
        display: box;
        -webkit-box-align: center;
        -moz-box-align: center;
        -o-box-align: center;
        -ms-box-align: center;
        box-align: center; }
      main .sustainability006-list__title1 {
        width: 140px;
        border-bottom: 1px solid #e0e0e0;
        padding: 15px 20px;
        font: 400 1rem "NotoSansCJKjpMedium", sans-serif;
        background-color: #f8f8f8; }
      main .sustainability006-list__msg1 {
        width: calc(100% - 140px);
        border-bottom: 1px solid #e0e0e0;
        padding: 15px 20px 15px 0px;
        font: 400 1rem "NotoSansCJKjpRegular", sans-serif;
        background-color: #f8f8f8; }
      main .sustainability006-list__title2 {
        width: 140px;
        border-bottom: 1px solid #e0e0e0;
        padding: 15px 20px;
        font: 400 1rem "NotoSansCJKjpMedium", sans-serif; }
      main .sustainability006-list__msg2 {
        width: calc(100% - 140px);
        border-bottom: 1px solid #e0e0e0;
        padding: 15px 20px 15px 0px;
        font: 400 1rem "NotoSansCJKjpRegular", sans-serif; }
  @media screen and (max-width: 768px) {
    main .sustainability006 {
      margin-top: 35px;
      margin-bottom: 40px; }
      main .sustainability006__msg1 {
        font: 400 0.9375rem "NotoSansCJKjpRegular", sans-serif; }
      main .sustainability006__title {
        margin-top: 30px;
        font: 400 1.125rem "NotoSansCJKjpMedium", sans-serif; }
      main .sustainability006__title:before {
        height: 100%; }
      main .sustainability006__msg2 {
        font: 400 0.9375rem "NotoSansCJKjpRegular", sans-serif; }
      main .sustainability006__msg3 {
        margin-top: 35px;
        font: 400 1rem "NotoSansCJKjpRegular", sans-serif; }
      main .sustainability006-btnarea {
        margin-top: 20px; }
        main .sustainability006-btnarea a {
          font: 400 0.9375rem "NotoSansCJKjpMedium", sans-serif; }
      main .sustainability006-imglist {
        width: 100%;
        display: block; }
        main .sustainability006-imglist a {
          margin-top: 15px;
          width: 100%;
          display: block;
          margin-right: 0; }
      main .sustainability006 .w33 {
        width: 100%; }
      main .sustainability006__kome1 {
        margin-top: 20px;
        font: 400 0.8125rem "NotoSansCJKjpRegular", sans-serif; }
      main .sustainability006-list {
        margin-top: 15px;
        display: block; }
        main .sustainability006-list dt,
        main .sustainability006-list dd {
          display: block;
          display: block;
          display: block;
          display: block;
          display: block; }
        main .sustainability006-list__title1 {
          width: 100%;
          border-bottom: none;
          padding: 15px 10px 5px;
          font: 400 0.9375rem "NotoSansCJKjpMedium", sans-serif;
          background-color: #f8f8f8; }
        main .sustainability006-list__msg1 {
          width: 100%;
          border-bottom: 1px solid #e0e0e0;
          padding: 0 10px 15px;
          font: 400 0.9375rem "NotoSansCJKjpRegular", sans-serif;
          background-color: #f8f8f8; }
        main .sustainability006-list__title2 {
          width: 100%;
          border-bottom: none;
          padding: 15px 10px 5px;
          font: 400 0.9375rem "NotoSansCJKjpRegular", sans-serif; }
        main .sustainability006-list__msg2 {
          width: 100%;
          border-bottom: 1px solid #e0e0e0;
          padding: 0 10px 15px;
          font: 400 0.9375rem "NotoSansCJKjpRegular", sans-serif; } }
  main .sustainability007 {
    width: calc(100% - 40px);
    max-width: 1200px;
    margin: auto;
    margin-top: 100px;
    margin-bottom: 100px; }
    main .sustainability007-frame {
      width: 100%;
      position: relative;
      margin-top: 40px;
      border: 1px solid #e0e0e0;
      padding: 30px 20px; }
      main .sustainability007-frame__img {
        width: 100%;
        max-width: 240px;
        margin-left: auto;
        margin-right: 0; }
      main .sustainability007-frame-msgarea {
        position: absolute;
        top: 50%;
        left: 50px;
        transform: translate(0, -50%); }
        main .sustainability007-frame-msgarea__title {
          font: 400 1.875rem "NotoSansCJKjpMedium", sans-serif;
          color: #333; }
        main .sustainability007-frame-msgarea__msg {
          font: 400 1rem "NotoSansCJKjpRegular", sans-serif;
          color: #333;
          margin-top: 30px; }
    main .sustainability007-topmsg {
      margin-top: 50px;
      font: 400 1rem "NotoSansCJKjpRegular", sans-serif; }
      main .sustainability007-topmsg .bold {
        font-family: "NotoSansCJKjpBold", sans-serif; }
      main .sustainability007-topmsg .boldtitle {
        font-family: "NotoSansCJKjpBold", sans-serif;
        display: block;
        margin-bottom: 10px; }
      main .sustainability007-topmsg .small {
        font-size: 0.875rem; }
    main .sustainability007-btnarea {
      margin-top: 40px; }
    main .sustainability007__btn1 {
      font: 400 0.9375rem "NotoSansCJKjpMedium", sans-serif;
      position: relative;
      padding-left: 18px; }
    main .sustainability007__btn1:before {
      content: "";
      background: url("../img/common-rarrow.png") no-repeat;
      background-size: 13px 13px;
      width: 13px;
      height: 13px;
      position: absolute;
      top: 50%;
      left: 0;
      transform: translate(0, -50%); }
    main .sustainability007-border {
      border-top: 1px solid #e0e0e0;
      padding-top: 50px; }
  @media screen and (max-width: 768px) {
    main .sustainability007 {
      margin-top: 35px;
      margin-bottom: 40px; }
      main .sustainability007__sptitle {
        margin-top: 25px;
        font: 400 1.25rem "NotoSansCJKjpMedium", sans-serif; }
      main .sustainability007-spimg {
        margin-top: 25px;
        margin-bottom: 50px; }
        main .sustainability007-spimg__img {
          width: 100%;
          max-width: 150px;
          margin: auto; }
        main .sustainability007-spimg__msg {
          margin-top: 20px;
          font: 400 0.9375rem "NotoSansCJKjpRegular", sans-serif;
          text-align: center; }
      main .sustainability007-topmsg {
        margin-top: 25px;
        font: 400 0.9375rem "NotoSansCJKjpRegular", sans-serif; }
        main .sustainability007-topmsg .bold {
          font-family: "NotoSansCJKjpBold", sans-serif; }
        main .sustainability007-topmsg .boldtitle {
          font-family: "NotoSansCJKjpBold", sans-serif;
          display: block;
          margin-bottom: 10px; }
        main .sustainability007-topmsg .small {
          font-size: 0.8125rem; }
      main .sustainability007-btnarea {
        margin-top: 40px; }
      main .sustainability007__btn1 {
        font: 400 0.875rem "NotoSansCJKjpMedium", sans-serif;
        position: relative;
        padding-left: 18px; }
      main .sustainability007__btn1:before {
        content: "";
        background: url("../img/common-rarrow.png") no-repeat;
        background-size: 13px 13px;
        width: 13px;
        height: 13px;
        position: absolute;
        top: 50%;
        left: 0;
        transform: translate(0, -50%); } }
  main .stbt008 {
    width: calc(100% - 40px);
    max-width: 1200px;
    margin: auto;
    margin-top: 100px;
    margin-bottom: 100px; }
    main .stbt008__title {
      /*font: 400 1.875rem "NotoSansCJKjpMedium", sans-serif;*/
      font: 400 1.75rem "NotoSansCJKjpRegular", sans-serif;
      text-align: center;
      color: #333;
      line-height: 1.6em; }
      main .stbt008__title__img {
        text-align: center; }
        main .stbt008__title__img img {
          margin: 4em auto; }
      main .stbt008__title__sub {
        font: 400 1rem "NotoSansCJKjpRegular", sans-serif;
        color: #333;
        margin-top: 30px;
        text-align: center;
        line-height: 1.8em; }
      main .stbt008__title span {
        color: #e5002d; }
    main .stbt008-frame {
      width: 100%;
      margin-top: 80px;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
      main .stbt008-frame li {
        flex: 0 1 49%;
        background: #F8F8F8;
        padding: 1em 1em 130px;
        margin-bottom: 2vw;
        position: relative; }
        main .stbt008-frame li .icon {
          position: absolute;
          left: 1em;
          bottom: 50px; }
          main .stbt008-frame li .icon img {
            width: 70px;
            display: inline-block;
            vertical-align: bottom; }
        main .stbt008-frame li .link {
          text-align: right;
          position: absolute;
          right: 1em;
          bottom: 1em; }
          main .stbt008-frame li .link .categorytitle__link {
            font: 400 0.875rem "NotoSansCJKjpRegular", sans-serif;
            cursor: pointer; }
      main .stbt008-frame.block {
        margin-top: 40px;
        background: #F8F8F8;
        padding: 1em; }
        main .stbt008-frame.block p {
          flex: 0 1 49%; }
          main .stbt008-frame.block p.icon {
            display: flex;
            justify-content: space-around; }
            main .stbt008-frame.block p.icon img {
              width: 24%;
              height: auto;
              align-self: center;
              vertical-align: bottom;
              display: inline-block; }
      main .stbt008-frame.block2 {
        margin-top: 0px;
        padding: 1em;
        flex-wrap: nowrap; }
        main .stbt008-frame.block2:nth-child(1) {
          margin-top: 20px; }
        main .stbt008-frame.block2 div.img {
          width: 360px; }
          main .stbt008-frame.block2 div.img img {
            width: 100%; }
        main .stbt008-frame.block2 div.text {
          flex: 0 1 99%;
          padding-left: 1.5em; }
          main .stbt008-frame.block2 div.text .sustainability004__title {
            margin: 0 0 .8em; }
            main .stbt008-frame.block2 div.text .sustainability004__title:before {
              height: 90%; }
          main .stbt008-frame.block2 div.text p {
            text-align: justify; }
            main .stbt008-frame.block2 div.text p span.f-s {
              font-size: 0.875rem;
              color: #555; }
            main .stbt008-frame.block2 div.text p a {
              text-decoration: underline; }
            main .stbt008-frame.block2 div.text p a img {
              display: inline-block; }
      main .stbt008-frame.block_3column {
        margin-top: 2em; }
        main .stbt008-frame.block_3column div.box {
          flex: 0 1 33%;
          background: #fff;
          padding: 0;
          margin-bottom: 2vw;
          position: relative; }
          main .stbt008-frame.block_3column div.box img {
            width: 100%;
            margin: 0 auto;
            display: block;
            vertical-align: bottom; }
        main .stbt008-frame.block_3column .frame__btn1 {
          position: relative;
          display: block;
          width: 360px;
          height: 70px;
          margin: auto;
          background-color: #e5002d;
          border: 3px solid #e5002d;
          color: #fff;
          font: 400 1.125rem "NotoSansCJKjpBold", sans-serif;
          text-align: center;
          border-radius: 40px;
          overflow: hidden;
          z-index: 1;
          margin: .5em auto 1.5em;
          width: 90%;
          position: relative; }
          main .stbt008-frame.block_3column .frame__btn1__cursor {
            line-height: 64px;
            padding-left: 21px;
            position: relative;
            z-index: 3; }
          main .stbt008-frame.block_3column .frame__btn1__cursor:before {
            content: "";
            background: url("../img/common-warrow-r.png") no-repeat;
            background-size: 16px 16px;
            width: 16px;
            height: 16px;
            position: absolute;
            top: 50%;
            left: 0;
            transform: translate(0, -50%); }
        main .stbt008-frame.block_3column .frame__btn1:after {
          content: "";
          z-index: 2;
          position: absolute;
          width: 100%;
          height: 100%;
          top: 0;
          left: -100%;
          background-color: #fff;
          -webkit-transition: all 0.3s ease-in-out;
          -o-transition: all 0.3s ease-in-out;
          transition: all 0.3s ease-in-out; }
        main .stbt008-frame.block_3column .frame__btn1:hover {
          color: #e5002d; }
          main .stbt008-frame.block_3column .frame__btn1:hover span:before {
            background: url("../img/common-rarrow.png") no-repeat;
            background-size: 16px 16px;
            width: 16px;
            height: 16px; }
        main .stbt008-frame.block_3column .frame__btn1:hover:after {
          left: 0; }
  @media screen and (max-width: 768px) {
    main .stbt008 {
      margin-top: 35px;
      margin-bottom: 40px; }
      main .stbt008 .sustainability004 {
        width: 100%; }
      main .stbt008__title {
        font: 400 1.125rem "NotoSansCJKjpRegular", sans-serif; }
        main .stbt008__title__img img {
          margin: 2em auto;
          width: 100%; }
      main .stbt008-frame {
        margin-top: 40px; }
        main .stbt008-frame li {
          flex: 0 1 100%;
          padding: 1em 1em 3em; }
          main .stbt008-frame li .icon {
            position: static;
            display: block;
            margin-top: 1em;
            							/*&::before {
            								content: "";
            								display: block;
            								width: 24%;
            								order: 1;
            							}
            
            							&::after {
            								content: "";
            								display: block;
            								width: 24%;
            							}*/ }
            main .stbt008-frame li .icon img {
              width: 24%; }
        main .stbt008-frame.block {
          margin-top: 40px;
          background: #F8F8F8;
          padding: 1em; }
          main .stbt008-frame.block p {
            flex: 0 1 100%; }
            main .stbt008-frame.block p.icon {
              display: block;
              margin-top: 1em; }
              main .stbt008-frame.block p.icon img {
                width: 24%; }
        main .stbt008-frame.block2 {
          margin-top: 1em;
          padding: 1em 0;
          flex-wrap: wrap; }
          main .stbt008-frame.block2:nth-child(1) {
            margin-top: 20px; }
          main .stbt008-frame.block2 div.img {
            width: 100%; }
            main .stbt008-frame.block2 div.img img {
              width: 100%; }
          main .stbt008-frame.block2 div.text {
            flex: 0 1 100%;
            padding-left: 0;
            margin-top: 1em; }
            main .stbt008-frame.block2 div.text .sustainability004__title {
              margin: 0 0 .8em; }
              main .stbt008-frame.block2 div.text .sustainability004__title:before {
                height: 90%; }
            main .stbt008-frame.block2 div.text p {
              text-align: justify; }
        main .stbt008-frame.block_3column {
          margin-top: 2em; }
          main .stbt008-frame.block_3column div.box {
            flex: 0 1 100%; }
          main .stbt008-frame.block_3column .frame__btn1 {
            position: relative;
            display: block;
            width: 360px;
            height: 70px;
            margin: auto;
            background-color: #e5002d;
            border: 3px solid #e5002d;
            color: #fff;
            font: 400 1.125rem "NotoSansCJKjpBold", sans-serif;
            text-align: center;
            border-radius: 40px;
            overflow: hidden;
            z-index: 1;
            margin: .5em auto 1.5em;
            width: 90%; }
            main .stbt008-frame.block_3column .frame__btn1__cursor {
              line-height: 64px;
              padding-left: 21px;
              position: relative;
              z-index: 3; }
            main .stbt008-frame.block_3column .frame__btn1__cursor:before {
              content: "";
              background: url("../img/common-warrow-r.png") no-repeat;
              background-size: 16px 16px;
              width: 16px;
              height: 16px;
              position: absolute;
              top: 50%;
              left: 0;
              transform: translate(0, -50%); } }
  main .stbt009 {
    width: calc(100% - 40px);
    max-width: 1200px;
    margin: auto;
    margin-top: 100px;
    margin-bottom: 100px; }
    main .stbt009 ruby {
      display: inline-table; }
      main .stbt009 ruby rt {
        margin-top: -4.2em;
        display: block; }
    main .stbt009 .aln-center img {
      margin: 0 auto;
      max-width: 98%; }
    main .stbt009 .aln-center.img-m img {
      margin: 0 auto;
      max-width: 80%; }
    main .stbt009 .video-wrap {
      width: 60%;
      margin: 0 auto;
      text-align: center;
      position: relative; }
    main .stbt009 .video {
      width: 100%;
      height: 0;
      padding-top: 56.25%;
      overflow: hidden; }
    main .stbt009 .video iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100% !important;
      height: 100% !important;
      z-index: 3; }
    main .stbt009 .video-bg1 {
      position: absolute;
      top: 20%;
      left: -30%;
      z-index: 1;
      width: 30%; }
    main .stbt009 .video-bg2 {
      position: absolute;
      bottom: 0;
      right: -30%;
      z-index: 0;
      width: 30%; }
    main .stbt009 .box-1 {
      background: #ededed;
      border: 1px solid #ddd;
      padding: 1.8em 1em 1em;
      background: #e8e8e8;
      background: -moz-linear-gradient(bottom left, #e3e3e3 0%, #dbdbdb 25%, #f2f2f2 41%, #d4d4d4 64%, #e8e8e8 100%);
      background: -webkit-gradient(linear, left bottom, right top, from(#e3e3e3), color-stop(25%, #dbdbdb), color-stop(41%, #f2f2f2), color-stop(64%, #d4d4d4), to(#e8e8e8));
      background: -webkit-linear-gradient(bottom left, #e3e3e3 0%, #dbdbdb 25%, #f2f2f2 41%, #d4d4d4 64%, #e8e8e8 100%);
      background: -o-linear-gradient(bottom left, #e3e3e3 0%, #dbdbdb 25%, #f2f2f2 41%, #d4d4d4 64%, #e8e8e8 100%);
      background: -ms-linear-gradient(bottom left, #e3e3e3 0%, #dbdbdb 25%, #f2f2f2 41%, #d4d4d4 64%, #e8e8e8 100%);
      background: linear-gradient(to top right, #e3e3e3 0%, #dbdbdb 25%, #f2f2f2 41%, #d4d4d4 64%, #e8e8e8 100%);
      filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#e3e3e3, endColorstr=#e8e8e8, GradientType=0);
      line-height: 1.5em; }
    main .stbt009 .box-2 {
      background: #efefef;
      border: 1px solid #eee;
      padding: 1.8em 1em 1em; }
    main .stbt009 .box-bg {
      border: 1px solid #ccc;
      background: #f5f5f5;
      padding: 2.5em 2em 2em; }
    main .stbt009 .flex-box-5 {
      display: flex;
      justify-content: space-around;
      flex-wrap: nowrap; }
      main .stbt009 .flex-box-5 .box-column {
        width: 18%; }
        main .stbt009 .flex-box-5 .box-column p {
          text-align: center; }
          main .stbt009 .flex-box-5 .box-column p.txt {
            line-height: 2em; }
            main .stbt009 .flex-box-5 .box-column p.txt span {
              display: block;
              margin-bottom: .5em;
              font-weight: 900; }
            main .stbt009 .flex-box-5 .box-column p.txt rt {
              margin-top: -5em; }
        main .stbt009 .flex-box-5 .box-column img {
          width: 100%; }
    main .stbt009 .flex-box-2,
    main .stbt009 .flex-box-2-2 {
      display: flex;
      justify-content: space-around;
      flex-wrap: nowrap;
      align-items: center; }
      main .stbt009 .flex-box-2.manabi,
      main .stbt009 .flex-box-2-2.manabi {
        align-items: flex-start; }
        main .stbt009 .flex-box-2.manabi .text,
        main .stbt009 .flex-box-2-2.manabi .text {
          font: 100 1.125rem "NotoSansCJKjpRegular", sans-serif;
          padding-right: 2em;
          line-height: 1.9em; }
          main .stbt009 .flex-box-2.manabi .text rt,
          main .stbt009 .flex-box-2-2.manabi .text rt {
            margin-top: -4.5em; }
      main .stbt009 .flex-box-2.c1 .icon,
      main .stbt009 .flex-box-2-2.c1 .icon {
        width: 20%;
        padding-left: 10%; }
        main .stbt009 .flex-box-2.c1 .icon img,
        main .stbt009 .flex-box-2-2.c1 .icon img {
          width: 100%; }
      main .stbt009 .flex-box-2.c1 .txt,
      main .stbt009 .flex-box-2-2.c1 .txt {
        width: 65%; }
      main .stbt009 .flex-box-2 .box-column,
      main .stbt009 .flex-box-2-2 .box-column {
        width: 48%; }
      main .stbt009 .flex-box-2 .icon,
      main .stbt009 .flex-box-2-2 .icon {
        width: 30%; }
        main .stbt009 .flex-box-2 .icon img,
        main .stbt009 .flex-box-2-2 .icon img {
          width: 100%; }
      main .stbt009 .flex-box-2 .txt.stbt008__title,
      main .stbt009 .flex-box-2-2 .txt.stbt008__title {
        text-align: left; }
      main .stbt009 .flex-box-2 .frame__btn1,
      main .stbt009 .flex-box-2-2 .frame__btn1 {
        position: relative;
        display: block;
        width: 360px;
        height: 70px;
        margin: auto;
        background-color: #e5002d;
        border: 3px solid #e5002d;
        color: #fff;
        font: 400 1.125rem "NotoSansCJKjpBold", sans-serif;
        text-align: center;
        border-radius: 40px;
        overflow: hidden;
        z-index: 1;
        margin: 2em auto 1.5em;
        width: 90%;
        position: relative; }
        main .stbt009 .flex-box-2 .frame__btn1__cursor,
        main .stbt009 .flex-box-2-2 .frame__btn1__cursor {
          line-height: 64px;
          padding-left: 21px;
          position: relative;
          z-index: 3; }
        main .stbt009 .flex-box-2 .frame__btn1__cursor:before,
        main .stbt009 .flex-box-2-2 .frame__btn1__cursor:before {
          content: "";
          background: url("../img/common-warrow-r.png") no-repeat;
          background-size: 16px 16px;
          width: 16px;
          height: 16px;
          position: absolute;
          top: 50%;
          left: 0;
          transform: translate(0, -50%); }
      main .stbt009 .flex-box-2 .frame__btn1:after,
      main .stbt009 .flex-box-2-2 .frame__btn1:after {
        content: "";
        z-index: 2;
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: -100%;
        background-color: #fff;
        -webkit-transition: all 0.3s ease-in-out;
        -o-transition: all 0.3s ease-in-out;
        transition: all 0.3s ease-in-out; }
      main .stbt009 .flex-box-2 .frame__btn1:hover,
      main .stbt009 .flex-box-2-2 .frame__btn1:hover {
        color: #e5002d; }
        main .stbt009 .flex-box-2 .frame__btn1:hover span:before,
        main .stbt009 .flex-box-2-2 .frame__btn1:hover span:before {
          background: url("../img/common-rarrow.png") no-repeat;
          background-size: 16px 16px;
          width: 16px;
          height: 16px; }
      main .stbt009 .flex-box-2 .frame__btn1:hover:after,
      main .stbt009 .flex-box-2-2 .frame__btn1:hover:after {
        left: 0; }
    main .stbt009 .stbt008__title {
      line-height: 1.8em; }
    main .stbt009 .quiz-wrap {
      /*background: #52C3F1;*/
      text-align: center;
      padding: 10px;
      width: 80%;
      margin: 0 auto; }
      main .stbt009 .quiz-wrap iframe {
        width: 100%;
        margin: 0 auto;
        height: 480px; }
  @media screen and (max-width: 768px) {
    main .stbt009 .flex-box-5 {
      justify-content: space-between;
      flex-wrap: wrap; }
      main .stbt009 .flex-box-5 .box-column {
        width: 48%;
        margin-bottom: 2em; }
        main .stbt009 .flex-box-5 .box-column p {
          text-align: center; }
          main .stbt009 .flex-box-5 .box-column p.txt {
            line-height: 2em; }
            main .stbt009 .flex-box-5 .box-column p.txt span {
              display: block;
              margin-bottom: .5em;
              font-weight: 900; }
            main .stbt009 .flex-box-5 .box-column p.txt rt {
              margin-top: -5em; }
        main .stbt009 .flex-box-5 .box-column img {
          width: 100%; }
    main .stbt009 .flex-box-2 {
      flex-wrap: wrap;
      align-items: center; }
      main .stbt009 .flex-box-2.manabi {
        flex-direction: column-reverse;
        align-items: flex-start; }
        main .stbt009 .flex-box-2.manabi .text {
          font: 100 1.125rem "NotoSansCJKjpRegular", sans-serif;
          padding-right: 0;
          margin-top: 1em; }
        main .stbt009 .flex-box-2.manabi .img,
        main .stbt009 .flex-box-2.manabi .img img {
          width: 100%; }
      main .stbt009 .flex-box-2 .box-column {
        width: 100%; }
      main .stbt009 .flex-box-2 .icon {
        width: 30%;
        padding-right: 10px; }
        main .stbt009 .flex-box-2 .icon img {
          width: 100%; }
    main .stbt009 .flex-box-2-2.c1 .icon {
      width: 19.5%;
      padding-left: 0; }
      main .stbt009 .flex-box-2-2.c1 .icon img {
        width: 100%; }
    main .stbt009 .flex-box-2-2.c1 .txt {
      width: 70%; }
    main .stbt009 .stbt008__title {
      font-weight: 900; }
    main .stbt009 .txt.stbt008__title {
      text-align: left; }
    main .stbt009 .frame__btn1 {
      margin-top: 1em !important; }
    main .stbt009 .video-wrap {
      width: 99%; }
    main .stbt009 .video-bg1,
    main .stbt009 .video-bg2 {
      display: none; }
    main .stbt009 .quiz-wrap {
      padding: 10px;
      width: 100%;
      margin: 0 auto; }
      main .stbt009 .quiz-wrap iframe {
        width: 100%;
        margin: 0 auto;
        height: 480px; } }
  main .ef-fade-in {
    opacity: 0;
    transform: translate(0, 40px);
    transition: all 1000ms; }
  main .ef-fade-in.scroll-in {
    opacity: 1;
    transform: translate(0, 0); }

/* ruby */
.articleheader__title ruby {
  font: 400 2.5rem "NotoSansCJKjpBold", sans-serif !important;
  color: #333;
  text-align: center;
  white-space: normal; }

/* 共通 */
.aln-center {
  text-align: center; }

.aln-left {
  text-align: left; }

.aln-right {
  text-align: right; }

/*# sourceMappingURL=sustainability.css.map */
