.h3-sus {
  font-weight: 500;
  font-size: 1.4rem;
  padding-bottom: 1em; }

.wrap_graybox {
  background-color: rgba(0, 77, 57, 0.05);
  box-sizing: border-box;
  padding: 2rem; }

.line_t {
  border-top: 1px solid rgba(0, 0, 0, 0.05); }

.line_b {
  border-bottom: 1px solid rgba(0, 0, 0, 0.05); }

.line_b_k {
  border-bottom: 1px solid #004D39; }

.box_pkey {
  background-color: rgba(0, 77, 57, 0.1);
  box-sizing: border-box;
  padding: 1.5rem; }

.wrap_top_sus {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  .wrap_top_sus li {
    margin-bottom: 1rem; }
    .wrap_top_sus li a {
      display: block;
      position: relative;
      width: 100%;
      background-size: cover;
      background-position: center; }
      .wrap_top_sus li a img {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        height: 75px;
        width: auto; }
        @media (max-width: 1000px) {
          .wrap_top_sus li a img {
            height: 55px; } }
      .wrap_top_sus li a .bg {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: calc(100% - 30px);
        height: calc(100% - 30px);
        mix-blend-mode: multiply;
        transition: all 1s ease-out; }
        @media (max-width: 1000px) {
          .wrap_top_sus li a .bg {
            width: calc(100% - 20px);
            height: calc(100% - 20px); } }
      .wrap_top_sus li a:hover .bg {
        opacity: 0; }
    .wrap_top_sus li.sus1 {
      width: 48.5%; }
      @media (max-width: 560px) {
        .wrap_top_sus li.sus1 {
          width: 100%; } }
      .wrap_top_sus li.sus1 a {
        aspect-ratio: 505 / 368;
        background-image: url("../img/sustainability/top_bg_policy.jpg"); }
        @media (max-width: 560px) {
          .wrap_top_sus li.sus1 a {
            aspect-ratio: 100 / 40; } }
        .wrap_top_sus li.sus1 a .bg {
          background-color: #b5dbb8;
          height: calc(100% - 80px); }
          @media (max-width: 1000px) {
            .wrap_top_sus li.sus1 a .bg {
              height: calc(100% - 60px); } }
          @media (max-width: 560px) {
            .wrap_top_sus li.sus1 a .bg {
              height: calc(100% - 20px); } }
        .wrap_top_sus li.sus1 a img {
          height: 120px;
          width: auto; }
          @media (max-width: 1000px) {
            .wrap_top_sus li.sus1 a img {
              height: 90px; } }
    .wrap_top_sus li.sus2 {
      width: 48.5%; }
      @media (max-width: 560px) {
        .wrap_top_sus li.sus2 {
          width: 100%; } }
      .wrap_top_sus li.sus2 a {
        aspect-ratio: 505 / 368;
        background-image: url("../img/sustainability/top_bg_materiality.jpg"); }
        @media (max-width: 560px) {
          .wrap_top_sus li.sus2 a {
            aspect-ratio: 100 / 40; } }
        .wrap_top_sus li.sus2 a .bg {
          background-color: #8aa3d4;
          height: calc(100% - 80px); }
          @media (max-width: 1000px) {
            .wrap_top_sus li.sus2 a .bg {
              height: calc(100% - 60px); } }
          @media (max-width: 560px) {
            .wrap_top_sus li.sus2 a .bg {
              height: calc(100% - 20px); } }
        .wrap_top_sus li.sus2 a img {
          height: 80px;
          width: auto; }
          @media (max-width: 1000px) {
            .wrap_top_sus li.sus2 a img {
              height: 60px; } }
    .wrap_top_sus li.sus3 {
      width: 31.5%; }
      @media (max-width: 560px) {
        .wrap_top_sus li.sus3 {
          width: 100%; } }
      .wrap_top_sus li.sus3 a {
        aspect-ratio: 330 / 318;
        background-image: url("../img/sustainability/top_bg_environment.jpg"); }
        @media (max-width: 560px) {
          .wrap_top_sus li.sus3 a {
            aspect-ratio: 100 / 40; } }
        .wrap_top_sus li.sus3 a .bg {
          background-color: #b5dbb8; }
    .wrap_top_sus li.sus4 {
      width: 31.5%; }
      @media (max-width: 560px) {
        .wrap_top_sus li.sus4 {
          width: 100%; } }
      .wrap_top_sus li.sus4 a {
        aspect-ratio: 330 / 318;
        background-image: url("../img/sustainability/top_bg_society.jpg"); }
        @media (max-width: 560px) {
          .wrap_top_sus li.sus4 a {
            aspect-ratio: 100 / 40; } }
        .wrap_top_sus li.sus4 a .bg {
          background-color: #aea8a5; }
    .wrap_top_sus li.sus5 {
      width: 31.5%; }
      @media (max-width: 560px) {
        .wrap_top_sus li.sus5 {
          width: 100%; } }
      .wrap_top_sus li.sus5 a {
        aspect-ratio: 330 / 318;
        background-image: url("../img/sustainability/top_bg_governance.jpg"); }
        @media (max-width: 560px) {
          .wrap_top_sus li.sus5 a {
            aspect-ratio: 100 / 40; } }
        .wrap_top_sus li.sus5 a .bg {
          background-color: #8aa3d4; }

.wrap_sdgs {
  width: 100%;
  padding-top: 2rem; }
  .wrap_sdgs h5 {
    font-weight: bold;
    font-size: 1.1rem;
    margin-bottom: .5rem; }
  .wrap_sdgs > div {
    display: flex;
    align-items: center;
    margin-bottom: 3rem; }
    .wrap_sdgs > div .logo {
      width: 46%;
      text-align: left; }
      .wrap_sdgs > div .logo img {
        height: 120px;
        width: auto; }
    .wrap_sdgs > div ul.icon_sdgs {
      width: 55%;
      display: flex; }
      .wrap_sdgs > div ul.icon_sdgs li {
        width: 25%;
        box-sizing: border-box;
        padding-left: 10px; }
        .wrap_sdgs > div ul.icon_sdgs li img {
          width: 100%;
          height: auto; }
    @media (max-width: 560px) {
      .wrap_sdgs > div {
        flex-direction: column; }
        .wrap_sdgs > div .logo {
          width: 100%; }
        .wrap_sdgs > div ul.icon_sdgs {
          margin-top: 1rem;
          width: 100%; } }

.box_materiality h4 {
  width: 100%;
  box-sizing: border-box;
  padding: 1rem 0;
  background-color: #e6e6e6;
  margin-bottom: 1rem;
  line-height: 35px;
  font-size: 20px;
  font-weight: bold;
  color: #004D39; }
  .box_materiality h4 img {
    height: 35px;
    width: auto;
    margin-right: 1.5rem; }
    @media (max-width: 1000px) {
      .box_materiality h4 img {
        height: 32px; } }
    @media (max-width: 560px) {
      .box_materiality h4 img {
        height: 28px; } }

.materiality_themes {
  display: flex;
  justify-content: space-between; }
  @media (max-width: 560px) {
    .materiality_themes {
      flex-direction: column; } }
  .materiality_themes figure {
    width: 45%; }
    @media (max-width: 560px) {
      .materiality_themes figure {
        width: 100%;
        margin-bottom: 1rem; } }
  .materiality_themes > div {
    width: 53%; }
    @media (max-width: 560px) {
      .materiality_themes > div {
        width: 100%; } }
    .materiality_themes > div ul.themes4 {
      width: 100%;
      box-sizing: border-box;
      border: 1px solid #004D39; }
      .materiality_themes > div ul.themes4 li.title {
        background-color: #004D39;
        color: white;
        font-weight: bold;
        font-size: 1.4rem;
        padding: .8rem 0; }
      .materiality_themes > div ul.themes4 li.themes {
        display: flex;
        align-items: center;
        box-sizing: border-box;
        padding: .5rem .7rem;
        font-weight: bold;
        font-size: 1rem; }
        .materiality_themes > div ul.themes4 li.themes img {
          width: 4rem;
          height: auto;
          margin-right: .5rem; }
        .materiality_themes > div ul.themes4 li.themes:not(:last-child) {
          border-bottom: 1px solid #004D39; }

.sus_sp_memu {
  display: flex;
  flex-wrap: wrap;
  margin-top: 1rem;
  margin-bottom: 1rem; }
  @media (min-width: 561px) {
    .sus_sp_memu {
      display: none; } }
  .sus_sp_memu li {
    width: 50%;
    height: 3rem; }
    .sus_sp_memu li a {
      border: 1px solid white;
      box-sizing: border-box;
      display: block;
      width: 100%;
      height: 100%;
      background-color: #004D39;
      color: white;
      position: relative; }
      .sus_sp_memu li a p {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        white-space: nowrap;
        line-height: 1.2em;
        text-align: center; }
