@charset "UTF-8";
.about-sustainability {
  /*キービジュアル テキスト部分*/
  /*カルーセル*/ }
  .about-sustainability .keyvisual-title-text {
    width: 20.4rem;
    margin: 2rem auto 0 0; }
    @media only screen and (min-width: 750px) {
      .about-sustainability .keyvisual-title-text {
        width: 43.56rem;
        margin: 4.4rem auto 0 0; } }
  .about-sustainability .vision01 {
    width: 68.6rem;
    margin: 0rem auto 0; }
    @media only screen and (min-width: 750px) {
      .about-sustainability .vision01 {
        width: 95.2rem;
        margin: 0rem auto 0; } }
  .about-sustainability .lead {
    font-size: 2.6rem;
    line-height: 2em;
    font-weight: bold;
    text-align: center;
    margin: 5.8rem auto 0; }
    @media only screen and (min-width: 750px) {
      .about-sustainability .lead {
        margin: 6.9rem auto 0;
        font-size: 2.4rem; } }
  .about-sustainability .vision02 {
    width: 69rem;
    margin: 5rem auto 0; }
    @media only screen and (min-width: 750px) {
      .about-sustainability .vision02 {
        width: 108rem;
        margin: 7.2rem auto 0; } }
  .about-sustainability .white_wrap {
    background: #FFF;
    margin: 8.8rem calc(50% - 50vw) 0;
    width: 100vw; }
    @media only screen and (min-width: 750px) {
      .about-sustainability .white_wrap {
        margin: 10.5rem calc(50% - 50vw) 0; } }
    .about-sustainability .white_wrap .sus_goal {
      width: 100%;
      margin: 0 auto;
      padding: 5.7rem 0 9rem; }
      @media only screen and (min-width: 750px) {
        .about-sustainability .white_wrap .sus_goal {
          width: 108rem;
          padding: 5.7rem 0 4.2rem; } }
      .about-sustainability .white_wrap .sus_goal .sus_goal_ti {
        width: 58.4rem;
        margin: 0 auto; }
        @media only screen and (min-width: 750px) {
          .about-sustainability .white_wrap .sus_goal .sus_goal_ti {
            width: 58.5rem; } }
      .about-sustainability .white_wrap .sus_goal .sus_goal_fig {
        width: 47.8rem;
        margin: 5.5rem auto 0; }
        @media only screen and (min-width: 750px) {
          .about-sustainability .white_wrap .sus_goal .sus_goal_fig {
            width: 108rem;
            margin: 4.5rem auto 0; } }
  .about-sustainability .sustainability_cont {
    width: 69rem;
    margin: 0 auto; }
    @media only screen and (min-width: 750px) {
      .about-sustainability .sustainability_cont {
        width: 108rem; } }
    .about-sustainability .sustainability_cont .h2_line {
      width: 69rem;
      color: #4f87bf;
      font-size: 4.4rem;
      font-weight: bold;
      text-align: center;
      margin: 10rem auto 0;
      border-bottom: #929292 solid 1px;
      padding-bottom: 0.5em;
      line-height: 1.3em; }
      @media only screen and (min-width: 750px) {
        .about-sustainability .sustainability_cont .h2_line {
          width: 108rem;
          font-size: 4.4rem;
          margin: 15rem auto 0;
          padding-bottom: 0.8em; } }
    .about-sustainability .sustainability_cont .sus_h3 {
      width: 100%;
      min-height: 6.1rem;
      background: #4f87bf;
      text-align: center;
      font-size: 3rem;
      font-weight: bold;
      color: #fff;
      border-radius: 0.8rem;
      display: flex;
      justify-content: center;
      align-items: center;
      margin: 8rem auto 0;
      padding: 0.7rem;
      line-height: 1.2em; }
    .about-sustainability .sustainability_cont .h2_line + .sus_h3 {
      margin: 7.2rem auto 0; }
    .about-sustainability .sustainability_cont .fig + h2 {
      margin-top: 10.8rem; }
      @media only screen and (min-width: 750px) {
        .about-sustainability .sustainability_cont .fig + h2 {
          margin-top: 11.8rem; } }
    .about-sustainability .sustainability_cont .sus_improvement_fig {
      width: 46.2rem;
      margin: 6.4rem auto 0; }
      @media only screen and (min-width: 750px) {
        .about-sustainability .sustainability_cont .sus_improvement_fig {
          width: 95.7rem;
          margin: 7.2rem auto 0; } }
    .about-sustainability .sustainability_cont p {
      width: 100%;
      margin: 3rem auto 0;
      font-size: 2.4rem;
      line-height: 1.8em; }
      @media only screen and (min-width: 750px) {
        .about-sustainability .sustainability_cont p {
          margin: 3rem auto 0;
          font-size: 2rem; } }
      .about-sustainability .sustainability_cont p.note {
        font-size: 2rem;
        margin-top: 1em; }
        @media only screen and (min-width: 750px) {
          .about-sustainability .sustainability_cont p.note {
            font-size: 1.6rem; } }
    .about-sustainability .sustainability_cont .csr_list {
      width: 69rem;
      font-size: 2.2rem;
      line-height: 1.5em;
      margin: 4.5rem auto 0; }
      @media only screen and (min-width: 750px) {
        .about-sustainability .sustainability_cont .csr_list {
          font-size: 2rem;
          width: 37em; } }
      .about-sustainability .sustainability_cont .csr_list li {
        text-align: left;
        text-indent: -1em;
        list-style: none;
        margin-top: 0.5em;
        padding-left: 1em; }
      .about-sustainability .sustainability_cont .csr_list span {
        color: #4f87bf; }
    .about-sustainability .sustainability_cont .sus_environmental {
      width: 69rem;
      margin: 17rem auto 0;
      padding: 0 0 0rem; }
      @media only screen and (min-width: 750px) {
        .about-sustainability .sustainability_cont .sus_environmental {
          width: 108rem;
          margin: 18rem auto 0;
          padding: 0 0 13rem; } }
      .about-sustainability .sustainability_cont .sus_environmental .md_l_line {
        margin: 7.5rem auto 0; }
        @media only screen and (min-width: 750px) {
          .about-sustainability .sustainability_cont .sus_environmental .md_l_line {
            margin: 7.5rem auto 0; } }
      .about-sustainability .sustainability_cont .sus_environmental .md_l_line + p {
        margin-top: 1em; }
      .about-sustainability .sustainability_cont .sus_environmental p {
        width: 100%;
        text-align: left;
        font-size: 2.2rem;
        margin: 1.8rem 0 0 0;
        line-height: 1.6em; }
        @media only screen and (min-width: 750px) {
          .about-sustainability .sustainability_cont .sus_environmental p {
            font-size: 2rem; } }
      .about-sustainability .sustainability_cont .sus_environmental .policy_list {
        list-style-type: decimal;
        margin-top: 3rem; }
        .about-sustainability .sustainability_cont .sus_environmental .policy_list li {
          list-style-type: decimal;
          margin-left: 1.5em;
          font-size: 2.2rem;
          line-height: 1.6em; }
          @media only screen and (min-width: 750px) {
            .about-sustainability .sustainability_cont .sus_environmental .policy_list li {
              font-size: 2rem; } }
        .about-sustainability .sustainability_cont .sus_environmental .policy_list li + li {
          margin-top: 0.8em; }
  .about-sustainability .sus-carousel_wrap {
    position: relative;
    width: 100%;
    overflow: hidden;
    margin: 7.5rem 0; }
    @media only screen and (min-width: 750px) {
      .about-sustainability .sus-carousel_wrap {
        width: 108rem;
        margin: 8.3rem auto 0; } }
  @media only screen and (min-width: 750px) {
    .about-sustainability .sus--phlist {
      width: 100%;
      max-width: 199.8rem; } }
  .about-sustainability .sus-carousel {
    position: relative;
    width: 100vw;
    margin: 0vw auto 0;
    /* Dots */ }
    @media only screen and (min-width: 750px) {
      .about-sustainability .sus-carousel {
        width: 82.9rem; } }
    @media only screen and (min-width: 750px) {
      .about-sustainability .sus-carousel .slick-list {
        overflow: hidden; } }
    @media only screen and (min-width: 2000px) {
      .about-sustainability .sus-carousel .slick-list {
        overflow: hidden; } }
    .about-sustainability .sus-carousel .slick-slide {
      padding: 0; }
      @media only screen and (min-width: 750px) {
        .about-sustainability .sus-carousel .slick-slide {
          display: flex;
          align-items: center;
          width: 82.9rem !important;
          padding: 0;
          height: 51.2rem; } }
      .about-sustainability .sus-carousel .slick-slide .ph {
        margin: 0 auto;
        border-radius: 4.7rem;
        overflow: hidden;
        transform: scale(0.8);
        opacity: 1;
        transition: all 0.5s ease; }
        @media only screen and (min-width: 750px) {
          .about-sustainability .sus-carousel .slick-slide .ph {
            border-radius: 6rem; } }
        .about-sustainability .sus-carousel .slick-slide .ph img {
          width: 100%;
          height: auto; }
    .about-sustainability .sus-carousel .slick-current {
      overflow: hidden; }
      @media only screen and (min-width: 750px) {
        .about-sustainability .sus-carousel .slick-current {
          width: 82.9rem !important;
          padding: 0; } }
      .about-sustainability .sus-carousel .slick-current .ph {
        opacity: 1;
        transform: scale(1);
        opacity: 1;
        transition: all 0.5s ease;
        border-radius: 6rem; }
        @media only screen and (min-width: 750px) {
          .about-sustainability .sus-carousel .slick-current .ph {
            border-radius: 6rem; } }
    @media only screen and (min-width: 750px) {
      .about-sustainability .sus-carousel li.nocl img {
        padding-top: 0;
        transform: scale(1);
        opacity: 1; } }
    .about-sustainability .sus-carousel .slick-prev,
    .about-sustainability .sus-carousel .slick-next {
      width: 4.1rem;
      height: 4.1rem;
      padding: 0;
      top: 52%;
      position: absolute;
      z-index: 999;
      background-color: transparent;
      border: none;
      cursor: pointer;
      outline: none;
      padding: 0;
      appearance: none;
      text-indent: -9999px; }
      @media only screen and (min-width: 750px) {
        .about-sustainability .sus-carousel .slick-prev,
        .about-sustainability .sus-carousel .slick-next {
          width: 5.7rem;
          height: 5.7rem; } }
    .about-sustainability .sus-carousel .slick-prev {
      background: url("../img/cal_arrow_l.svg") no-repeat;
      background-size: 100% auto;
      left: 13rem; }
      @media only screen and (min-width: 750px) {
        .about-sustainability .sus-carousel .slick-prev {
          left: calc(-35 / 1190 * 100vw); } }
      @media only screen and (min-width: 2000px) {
        .about-sustainability .sus-carousel .slick-prev {
          left: -35px; } }
      .about-sustainability .sus-carousel .slick-prev:hover, .about-sustainability .sus-carousel .slick-prev:focus {
        background: url("../img/cal_arrow_l.svg") no-repeat;
        background-size: 100% auto; }
    .about-sustainability .sus-carousel .slick-next {
      background: url("../img/cal_arrow_r.svg") no-repeat;
      background-size: 100% auto;
      right: 13rem; }
      @media only screen and (min-width: 750px) {
        .about-sustainability .sus-carousel .slick-next {
          right: calc(-35 / 1190 * 100vw); } }
      @media only screen and (min-width: 2000px) {
        .about-sustainability .sus-carousel .slick-next {
          right: -35px; } }
      .about-sustainability .sus-carousel .slick-next:hover, .about-sustainability .sus-carousel .slick-next:focus {
        background: url("../img/cal_arrow_r.svg") no-repeat;
        background-size: 100% auto; }
    .about-sustainability .sus-carousel .slick-dots {
      bottom: -12vw; }
      @media only screen and (min-width: 750px) {
        .about-sustainability .sus-carousel .slick-dots {
          bottom: calc(-65 / 1190 * 100vw); } }
      @media only screen and (min-width: 2000px) {
        .about-sustainability .sus-carousel .slick-dots {
          bottom: -65px; } }
    .about-sustainability .sus-carousel .slick-dots li {
      margin: 0;
      width: 3vw;
      height: 3vw;
      margin: 0 1.5vw; }
      @media only screen and (min-width: 750px) {
        .about-sustainability .sus-carousel .slick-dots li {
          width: calc(15 / 1190 * 100vw);
          height: calc(15 / 1190 * 100vw);
          margin: 0 calc(7 / 1190 * 100vw); } }
      @media only screen and (min-width: 2000px) {
        .about-sustainability .sus-carousel .slick-dots li {
          width: 15px;
          height: 15px;
          margin: 0 7px; } }
    .about-sustainability .sus-carousel .slick-dots li button {
      padding: 0;
      width: inherit;
      height: inherit; }
      @media only screen and (min-width: 750px) {
        .about-sustainability .sus-carousel .slick-dots li button {
          padding: 0; } }
      @media only screen and (min-width: 2000px) {
        .about-sustainability .sus-carousel .slick-dots li button {
          padding: 0; } }
    .about-sustainability .sus-carousel .slick-dots li button:before {
      opacity: 1;
      color: #ece2c3;
      font-size: 3vw; }
      @media only screen and (min-width: 750px) {
        .about-sustainability .sus-carousel .slick-dots li button:before {
          font-size: calc(16 / 1190 * 100vw); } }
      @media only screen and (min-width: 2000px) {
        .about-sustainability .sus-carousel .slick-dots li button:before {
          font-size: 16px; } }
    .about-sustainability .sus-carousel .slick-dots li.slick-active button:before {
      opacity: 1;
      color: #cc9d7e;
      font-size: 3vw; }
      @media only screen and (min-width: 750px) {
        .about-sustainability .sus-carousel .slick-dots li.slick-active button:before {
          font-size: calc(16 / 1190 * 100vw); } }
      @media only screen and (min-width: 2000px) {
        .about-sustainability .sus-carousel .slick-dots li.slick-active button:before {
          font-size: 16px; } }
  .about-sustainability .btb {
    margin: 6rem auto 0; }
    @media only screen and (min-width: 750px) {
      .about-sustainability .btb {
        margin: 8rem auto 0; } }
    .about-sustainability .btb .btb_md {
      width: 68.1rem;
      margin: 0 auto 0;
      filter: drop-shadow(0 0 0.7rem rgba(0, 0, 0, 0.5)); }
      @media only screen and (min-width: 750px) {
        .about-sustainability .btb .btb_md {
          width: 69.6rem; } }
    .about-sustainability .btb .btb_text {
      width: 69rem;
      margin: 3rem auto 0; }
      @media only screen and (min-width: 750px) {
        .about-sustainability .btb .btb_text {
          width: 100%;
          margin: 4rem auto 0; } }
      .about-sustainability .btb .btb_text .blue {
        color: #4f87bf;
        font-weight: bold;
        font-size: 2.7rem; }
        @media only screen and (min-width: 750px) {
          .about-sustainability .btb .btb_text .blue {
            font-size: 2.4rem; } }
    .about-sustainability .btb .btb_fig {
      width: 69rem;
      margin: 5rem auto 0;
      padding: 0; }
      @media only screen and (min-width: 750px) {
        .about-sustainability .btb .btb_fig {
          width: 108rem;
          margin: 5rem auto 0; } }
  .about-sustainability .ftp {
    margin: 15rem auto 0; }
    @media only screen and (min-width: 750px) {
      .about-sustainability .ftp {
        margin: 15rem auto 0; } }
    .about-sustainability .ftp .ftp_md {
      width: 68.1rem;
      margin: 0 auto 0;
      filter: drop-shadow(0 0 0.7rem rgba(0, 0, 0, 0.5)); }
      @media only screen and (min-width: 750px) {
        .about-sustainability .ftp .ftp_md {
          width: 69.6rem; } }
    .about-sustainability .ftp .ftp_fig01 {
      width: 67.5rem;
      margin: 5rem auto 0;
      padding: 0; }
      @media only screen and (min-width: 750px) {
        .about-sustainability .ftp .ftp_fig01 {
          width: 82rem;
          margin: 5rem auto 0; } }
    .about-sustainability .ftp .ftp_text {
      width: 69rem;
      margin: 3rem auto 0; }
      @media only screen and (min-width: 750px) {
        .about-sustainability .ftp .ftp_text {
          width: 100%;
          margin: 4rem auto 0; } }
      .about-sustainability .ftp .ftp_text .blue {
        color: #4f87bf;
        font-weight: bold;
        font-size: 2.7rem; }
        @media only screen and (min-width: 750px) {
          .about-sustainability .ftp .ftp_text .blue {
            font-size: 2.4rem; } }
    .about-sustainability .ftp .ftp_fig02 {
      width: 69rem;
      margin: 5rem auto 0;
      padding: 0; }
      @media only screen and (min-width: 750px) {
        .about-sustainability .ftp .ftp_fig02 {
          width: 108rem;
          margin: 5rem auto 0; } }
  .about-sustainability .note-in3em {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 5rem;
    font-size: 2rem; }
    @media only screen and (min-width: 750px) {
      .about-sustainability .note-in3em {
        margin-top: 4.5rem;
        font-size: 1.75rem !important; } }
    .about-sustainability .note-in3em dt {
      width: 3em; }
    .about-sustainability .note-in3em dd {
      width: calc(100% - 3em); }
  .about-sustainability .sus_zero {
    margin: 12rem auto 0; }
    @media only screen and (min-width: 750px) {
      .about-sustainability .sus_zero {
        margin: 10rem auto 0; } }
    .about-sustainability .sus_zero .sus_zero_ti {
      width: 68rem;
      margin: 0 auto; }
      @media only screen and (min-width: 750px) {
        .about-sustainability .sus_zero .sus_zero_ti {
          width: 70rem; } }
    .about-sustainability .sus_zero .sus_zero_fig {
      width: 100%;
      margin: 4rem auto 0; }
      @media only screen and (min-width: 750px) {
        .about-sustainability .sus_zero .sus_zero_fig {
          margin: 3.5rem auto 0; } }
