@media all and (-ms-high-contrast: none) {
  p {
    transform: scale(1) rotate(0.001deg);
    font-weight: 600;
    letter-spacing: -0.05em; } }
.area-cmn-skip.s-ultra {
  padding: 70px 40px; }

@media screen and (max-width: 799px) {
  .area-cmn-skip.s-ultra {
    padding: 40px 10px; } }
html {
  scroll-behavior: smooth; }

#sustainability {
  background: #edf1f4; }

.mt20 {
  margin-top: 20px; }

.mb40 {
  margin-bottom: 40px; }

.mb80 {
  margin-bottom: 80px; }

.mb100 {
  margin-bottom: 100px; }

.mb120 {
  margin-bottom: 120px; }

@media screen and (max-width: 799px) {
  .ps0 {
    padding-left: 0;
    padding-right: 0; } }

img {
  display: block;
  margin: 0 auto;
  -ms-interpolation-mode: bicubic; }

picture > source {
  vertical-align: top; }

.block {
  display: block;
  padding: 0 40px 120px 40px;
  margin: 0 auto; }
  @media screen and (max-width: 799px) {
    .block {
      padding: 0 6vw 80px 6vw; } }

.sustainability-concept-btn {
  margin-bottom: 120px; }
  .sustainability-concept-btn .btn-size:first-child {
    margin-bottom: 40px; }
  @media screen and (max-width: 799px) {
    .sustainability-concept-btn {
      margin-bottom: 80px; }
      .sustainability-concept-btn .btn-size {
        max-width: 75vw;
        margin: 0 auto; }
        .sustainability-concept-btn .btn-size:first-child {
          margin-bottom: 30px; } }

.sustainability-header {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  height: 130px; }
  .sustainability-header .sustainability-logo img {
    width: 540px;
    height: auto; }
  .sustainability-header .sustainability-orac {
    position: absolute;
    left: 0; }
    .sustainability-header .sustainability-orac img {
      width: 84px;
      height: auto;
      margin: 23px; }
  @media screen and (max-width: 799px) {
    .sustainability-header .sustainability-logo img {
      max-width: 40vw;
      max-height: 80px;
      width: auto; }
    .sustainability-header .sustainability-orac img {
      width: 106px;
      max-width: 20vw;
      margin: 12px; } }

.sustainability-kv {
  /*margin-bottom: 45px;*/
  text-align: center;
  width: 100%;
  max-height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  position: relative;
  overflow: hidden;
  z-index: 0; }

.sustainability-kv::after {
  content: "";
  position: absolute;
  top: -12px;
  left: -12px;
  right: -12px;
  bottom: -12px;
  background: inherit;
  filter: brightness(80%) blur(12px);
  z-index: -1; }

@media screen and (max-width: 799px) {
  .sustainability-kv {
    height: auto; } }
.sustainability-kv picture {
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1; }

@media screen and (min-width: 1440px) {
  .sustainability-kv {
    background-color: #081827;
    background-image: url("../img/kv-pc.jpg") !important; } }
.sustainability-concept {
  max-width: 730px;
  padding-top: 100px; }
  @media screen and (max-width: 799px) {
    .sustainability-concept {
      padding-top: 60px; } }

@media screen and (max-width: 799px) {
  .sustainability-quality, .sustainability-environment, .sustainability-society {
    padding-left: 0;
    padding-right: 0; } }

.sustainability-future {
  max-width: 820px;
  padding-top: 80px; }
  @media screen and (max-width: 799px) {
    .sustainability-future {
      padding-top: 20px; } }

.sustainability-totop-btn {
  max-width: 60vw; }

.sustainability-btn {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 60px;
  padding: 0 25px;
  gap: 20px; }
  @media screen and (max-width: 799px) {
    .sustainability-btn {
      margin-top: 20px;
      padding: 0;
      gap: 15px; } }

.sustainability-btn-item {
  position: relative;
  width: 185px;
  height: 185px;
  margin: 0 auto;
  display: block;
  overflow: hidden;
  cursor: pointer; }
  .sustainability-btn-item img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    display: block;
    -webkit-transition: .4s ease-in-out;
    transition: .4s ease-in-out; }
  .sustainability-btn-item:hover img:nth-of-type(2) {
    opacity: 0; }
