:root {
  --index_font_14: max(14px, 0.93vw);
  --index_font_55: max(55px, 3.67vw);
  --index_font_21: max(21px, 1.4vw);
  --index_font_31: max(31px, 2.07vw);
  --index_font_19: max(19px, 1.27vw);
  --index_margin_120: max(120px, 8vw);
  --index_margin_50: max(30px, 3.66vw);
  --index_font_16: max(16px, 1.07vw);
  --index_font_17: max(17px, 1.13vw);
  --index_font_37: max(37px, 2.47vw);
  --index_font_35: max(35px, 2.33vw);
  --index_font_14: max(14px, 0.93vw);
  --index_margin_20: max(20px, 1.33vw);
  --index_margin_60: max(60px, 4vw);
  --button_area_17: max(17px, 1.24vw);
  --button_area_10: max(10px, 0.67vw);
  --button_area_65: max(65px, 4.76vw);
}
@media screen and (max-width: 1000px) {
  :root {
    --index_margin_50: clamp(20px, -81.004px + 13.1vw, 50px);
  }
}
@media screen and (max-width: 770px) {
  :root {
    --index_font_14: max(13px, 3.47vw);
    --index_font_55: max(30px, 8vw);
    --index_font_21: max(13px, 3.47vw);
    --index_font_31: max(18px, 4.8vw);
    --index_font_19: max(15px, 3.73vw);
    --index_margin_120: max(60px, 16vw);
    --index_margin_50: max(20px, 5.33vw);
    --index_font_16: max(14px, 3.73vw);
    --index_font_17: max(15px, 3.73vw);
    --index_font_37: max(25px, 6.67vw);
    --index_font_35: max(21px, 5.6vw);
    --index_font_14: max(13px, 3.47vw);
    --index_margin_20: max(15px, 3.73vw);
    --index_margin_60: max(30px, 8vw);
    --button_area_17: max(14px, 3.73vw);
    --button_area_10: max(7px, 1.87vw);
    --button_area_65: max(55px, 14.67vw);
  }
}

main {
  position: relative;
  z-index: 0;
}
main img,
main picture {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
main section {
  width: 100%;
  height: auto;
}
main .container {
  width: 93%;
  max-width: max(1100px, 73.33vw);
  margin: 0 auto;
}
main .firstView {
  width: 100%;
  height: 85dvh;
  position: relative;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  background: url(../images/fv_pc.jpg) no-repeat center/cover;
  z-index: 0;
  margin-bottom: var(--index_margin_120);
  padding: 4.28vw 0;
}
@media screen and (max-width: 770px) {
  main .firstView {
    height: 74.93vw;
    background: url(../images/fv_sp.jpg) no-repeat center/cover;
  }
}
main .firstView div {
  width: 92.68vw;
  text-align: center;
}
@media screen and (max-width: 770px) {
  main .firstView div {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    bottom: unset;
  }
}
main .firstView h1 {
  color: #fff;
  font-size: var(--index_font_55);
  margin-bottom: var(--index_margin_20);
}
main .firstView p {
  color: #fff;
  font-size: var(--index_font_21);
}
main .sustainContent {
  margin-bottom: var(--section_margin);
}
main .sustainContent h2 {
  font-size: var(--index_font_31);
  margin-bottom: var(--block_margin);
  line-height: 1.69;
  letter-spacing: 0.15em;
}
main .sustainContent .insideContent {
  width: 100%;
}
main .sustainContent .insideContent ul {
  width: 100%;
  grid-template-columns: 1fr 1fr;
  display: grid;
}
main .sustainContent .insideContent ul li {
  position: relative;
}
main .sustainContent .insideContent ul li h3 {
  font-size: var(--index_font_19);
  margin-bottom: var(--list_margin);
  line-height: 1;
}
main .sustainContent .insideContent ul li p {
  line-height: 1.8;
  font-size: var(--index_font_14);
}
main .sustainContent .insideContent ul li:nth-child(odd)::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 1px;
  height: 100%;
  background-color: #DADDD8;
}
main .sustainContent .insideContent ul li:nth-child(-n+2)::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #DADDD8;
}
main .sustainContent .insideContent ul li:nth-child(even) {
  padding-left: var(--index_margin_50);
}
main .sustainContent .insideContent ul li:nth-child(odd) {
  padding: 0 var(--index_margin_50) var(--index_margin_50) 0;
}
main .sustainContent .insideContent ul li:nth-child(3), main .sustainContent .insideContent ul li:nth-child(4) {
  padding-top: var(--index_margin_50);
}
@media screen and (max-width: 770px) {
  main .sustainContent .insideContent ul {
    grid-template-columns: 1fr;
  }
  main .sustainContent .insideContent ul li {
    padding: 0;
  }
  main .sustainContent .insideContent ul li:nth-child(odd)::after {
    content: unset;
  }
  main .sustainContent .insideContent ul li:nth-child(even) {
    padding-left: 0;
  }
  main .sustainContent .insideContent ul li:nth-child(odd) {
    padding: 0;
  }
  main .sustainContent .insideContent ul li:nth-child(2), main .sustainContent .insideContent ul li:nth-child(3), main .sustainContent .insideContent ul li:nth-child(4) {
    padding: var(--list_margin) 0;
  }
  main .sustainContent .insideContent ul li:nth-child(3)::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #DADDD8;
  }
  main .sustainContent .insideContent ul li:nth-child(1) p {
    padding-bottom: var(--list_margin);
  }
}
main .buttonArea {
  margin-bottom: var(--section_margin);
}
main .buttonArea .arrowLinkArea {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-end;
  line-height: 1;
}
main .buttonArea .arrowLinkArea .arrowLink {
  width: fit-content;
  display: flex;
  align-items: center;
  text-decoration: none;
  margin: 0;
  margin-bottom: var(--list_margin);
}
main .buttonArea .arrowLinkArea .arrowLink img {
  width: var(--button_area_65);
  object-fit: contain;
  transition: opacity 0.35s ease;
  margin-left: var(--base_font);
  margin-bottom: 10px;
}
main .buttonArea .arrowLinkArea .arrowLink:hover span {
  color: #B0B2AF;
}
main .buttonArea .arrowLinkArea .arrowLink:hover img {
  opacity: 0.6;
}
main .buttonArea .arrowLinkArea .arrowLink .buttonTitleArea {
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
}
main .buttonArea .arrowLinkArea .arrowLink .buttonTitleArea p {
  font-size: var(--button_area_17);
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}
main .buttonArea .arrowLinkArea .arrowLink .buttonTitleArea p:first-child::after {
  content: "";
  display: block;
  width: 2px;
  height: var(--button_area_17);
  background-color: #000000;
  margin: 0 var(--small_font);
  transition: background-color 0.35s ease;
}
main .buttonArea .arrowLinkArea .arrowLink .buttonTitleArea:hover p {
  color: #B0B2AF;
}
main .buttonArea .arrowLinkArea .arrowLink .buttonTitleArea:hover p:first-child:after {
  background: #B0B2AF;
}
@media screen and (max-width: 770px) {
  main .buttonArea .arrowLinkArea .arrowLink {
    align-items: end;
  }
  main .buttonArea .arrowLinkArea .arrowLink .buttonTitleArea {
    flex-direction: column;
    align-items: end;
  }
  main .buttonArea .arrowLinkArea .arrowLink .buttonTitleArea p:first-child::after {
    content: unset;
  }
  main .buttonArea .arrowLinkArea .arrowLink .buttonTitleArea p:first-child {
    margin-bottom: var(--button_area_10);
  }
}/*# sourceMappingURL=index.css.map */