@charset "UTF-8";

/* product.css */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  padding: 0;
  margin: 0;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  overflow: scroll;
}

img {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
}

ul,
ol,
dl,
dt,
dd {
  list-style: none;
  padding: 0;
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
}

a {
  color: inherit;
  text-decoration: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* hamburger */
@media (max-width: 767.98px) {
  .header nav.is-open {
    box-sizing: unset;
  }
}

/* contact */
@media (max-width: 767.98px) {
  .contact__item {
    box-sizing: content-box;
  }
}

@media (max-width: 767.98px) {
  .contact__item .label {
    box-sizing: content-box;
  }
}

/*======================================================================================
# product.css
====================================================================================== */
.top-image {
  background: url("../images/product/top-image.jpg") no-repeat right center/cover;
}

.quality {
  background: url("../images/product/quality-back.jpg") no-repeat center center/cover;
}

@media (max-width: 767.98px) {
  .quality {
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.7)), url(../images/product/sp_quality-back.jpg) no-repeat left center/cover;
  }
}

.quality_Area {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  margin-top: 64px;
  width: 84%;
}


.quality_Area>div {
  max-width: 640px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.quality_Area h3 {
  font-family: "Times New Roman", serif;
  color: #ffffff;
  font-size: 7rem;
  line-height: 1.2;
  letter-spacing: 4px;
  margin-bottom: 40px;
}

@media (max-width: 767.98px) {
  .quality_Area {
    margin-top: 32px;
    width: 100%;
  }

  .quality_Area h3 {
    font-size: 5rem;
    margin-bottom: 24px;
  }
}

.quality_Area h3 span {
  color: #DCE405;
  display: block;
  font-size: 2.6rem;
  letter-spacing: normal;
}

.quality_Area .txt h4 {
  font-weight: bold;
  text-align: left;
  font-size: 2.2rem;
  margin-bottom: 24px;
  line-height: 1.4;
  text-shadow: 0px 0px 10px #ffffff;
}

.quality_Area .txt p {
  text-align: justify;
}

.quality_Area .txt p:not(:last-child) {
  margin-bottom: 16px;
}

.product .heading-2 {
  text-align: center;
  margin: 36px 0 64px;
}

.product .heading-2 .eng {
  display: block;
  padding: 0;
}

.product .card {
  margin: -24px 0 0 -24px;
  flex-wrap: wrap;
}

.product .card li {
  border: none;
  padding: 24px 0 0 24px;
  margin: 0;
  width: 33.3333333333%;
}

@media (min-width: 767.99px) and (max-width: 1100px) {
  .product .card li {
    width: 50%;
  }
}

@media (max-width: 767.98px) {

  .product .heading-2 {
    margin-top: 24px;
  }

  .product .card {
    display: block;
  }

  .product .card li {
    width: 100%;
  }
}

.product .card li:not(:last-child) {
  margin-bottom: 40px;
}

.product .card li>div {
  box-shadow: 0px 6px 10px #00000029;
}

.product .card li .ico_sdgs {
  position: relative;
}

.product .card li .ico_sdgs::after {
  position: absolute;
  content: "";
  background: url("../images/top/product_ico_SDGs.png") no-repeat center center/contain;
  width: 96px;
  height: 96px;
  display: block;
  top: -35px;
  right: 5%;
  transform: translateX(-5%);
  image-rendering: -webkit-optimize-contrast;
}

.product .card__detail {
  padding: 8px 16px 24px;
  /* min-height: 253px; */
}

.product .card__detail .card__heading {
  min-height: 71px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.product .card__detail h4 {
  font-weight: bold;
  font-size: 2.2rem;
  margin-bottom: 8px;
  line-height: 1.4;
}

.product .card__detail h4 span {
  display: block;
  font-size: 1.6rem;
}

.product .card__detail .txt {
  margin-bottom: 24px;
  min-height: 84px;
}

.product .card__figure {
  height: 200px;
  /* 
  img {
      &:hover {
          cursor: pointer;
          transform: scale(1.2);
      }
  } */
}

.ico_sdgs::after {
  padding-top: 0 !important;
}
