@charset "UTF-8";
#environment .wrap .contents .contents_inner {
  display: grid;
  grid-template-columns: 40% 1fr;
  grid-column-gap: 10%;
  margin-bottom: 60px;
}
#environment .wrap .contents .contents_inner .detail {
  order: 1;
}
#environment .wrap .contents .contents_inner .detail p:not(:last-child) {
  margin-bottom: 1em;
}
#environment .wrap .contents .contents_inner .img img {
  display: block;
  border-radius: 20px;
}
#environment .wrap .contents h3 {
  font-size: 2.4rem;
  text-align: center;
  margin-bottom: 1.5em;
}
#environment .wrap .contents h3 span {
  color: var(--color_main);
}
#environment .wrap .contents .attempt {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
#environment .wrap .contents .attempt .item {
  padding: 50px;
}
#environment .wrap .contents .attempt .item h4 {
  font-size: min(1.75vw, 2rem);
  background-color: #000000;
  color: #FFFFFF;
  text-align: center;
  margin-bottom: 1em;
  display: grid;
  grid-template-columns: auto 1fr;
  padding-left: 2em;
  align-items: center;
  -webkit-clip-path: polygon(2.5em 0, 100% 0, 100% 100%, 0 100%);
  clip-path: polygon(2.5em 0, 100% 0, 100% 100%, 0 100%);
}
#environment .wrap .contents .attempt .item h4 img {
  width: 4.5em;
}
#environment .wrap .contents .attempt .item:nth-child(2n) {
  border-left: 1px solid #B2B2B2;
}
#environment .wrap .contents .attempt .item:not(:nth-last-child(-n+2)) {
  border-bottom: 1px solid #B2B2B2;
}

#landscape .wrap .contents .contents_inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-column-gap: 2%;
}
#landscape .wrap .contents .contents_inner .img {
  position: relative;
}
#landscape .wrap .contents .contents_inner .img p {
  position: absolute;
  width: 100%;
  text-align: center;
  padding: 0.66em;
  left: 0;
  bottom: 0;
  background-color: rgba(255, 255, 255, 0.5);
}

#benefits .wrap .contents .contents_inner {
  background-color: #F5F5F5;
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 40px 5%;
  padding: 50px 0;
}
#benefits .wrap .contents .contents_inner .item {
  border: 3px solid var(--color_main);
  border-radius: 20px;
  padding: 40px;
  display: grid;
  grid-template-columns: 35% 1fr;
  grid-column-gap: 5%;
  align-items: center;
}
#benefits .wrap .contents .contents_inner .item ul {
  font-size: 1.6rem;
}
#benefits .wrap .contents .contents_inner .item ul li {
  text-indent: -1em;
  padding-left: 1em;
  line-height: 1.5;
  font-weight: 600;
}
#benefits .wrap .contents .contents_inner .item ul li::before {
  content: "・";
  margin: 0 0.25em;
}
#benefits .wrap .contents .contents_inner::before {
  content: "";
  display: block;
  width: 100vw;
  height: 100%;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  background-color: #F5F5F5;
  z-index: -1;
}

#oneday .wrap .contents .tab {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
#oneday .wrap .contents .tab li a {
  display: grid;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  color: var(--color_main);
  font-weight: 600;
  height: 5em;
  background-color: #D5D5D5;
  border: 2px solid var(--color_main);
  border-radius: 20px 20px 0 0;
  overflow: hidden;
}
#oneday .wrap .contents .tab li a.active {
  background-color: #FFFFFF;
  border-bottom: none;
  pointer-events: none;
}
#oneday .wrap .contents .tab_contents {
  padding: 50px;
  border: 2px solid var(--color_main);
  border-radius: 0 0 20px 20px;
  border-top: none;
}
#oneday .wrap .contents .tab_contents > div:not(.active) {
  display: none;
}
#oneday .wrap .contents .tab_contents dl {
  border-bottom: 2px solid #CECECE;
  padding: 30px 0;
  display: grid;
  grid-template-columns: auto auto 1fr;
  grid-column-gap: 40px;
  align-items: start;
  overflow: hidden;
}
#oneday .wrap .contents .tab_contents dl dt {
  font-size: 3.5rem;
  width: 5em;
  text-align: center;
  background-color: var(--color_main);
  color: #FFFFFF;
  font-weight: 600;
  padding: 0.2em;
  border-radius: 1em;
}
#oneday .wrap .contents .tab_contents dl .bar {
  margin-top: 25px;
  position: relative;
}
#oneday .wrap .contents .tab_contents dl .bar::before {
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  background-color: var(--color_main);
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-50%, -50%);
  z-index: 1;
}
#oneday .wrap .contents .tab_contents dl .bar::after {
  content: "";
  display: block;
  height: 100vh;
  width: 8px;
  background-color: #E5E5E5;
  z-index: 0;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(-50%, -50%);
}
#oneday .wrap .contents .tab_contents dl .action {
  display: grid;
  align-items: start;
}
#oneday .wrap .contents .tab_contents dl .action:has(.img) {
  grid-column-gap: 5%;
  grid-template-columns: 1fr 35%;
}
#oneday .wrap .contents .tab_contents dl .action .img img {
  display: block;
  border-radius: 20px;
}
#oneday .wrap .contents .tab_contents dl .action .detail h3 {
  font-size: 2.3rem;
  line-height: 1.3;
  margin: 0.5em 0 1em;
}
#oneday .wrap .contents .tab_contents dl:first-child .bar::after {
  transform: translate(-50%, 0);
}
#oneday .wrap .contents .tab_contents dl:last-child .bar::after {
  transform: translate(-50%, 0);
  top: auto;
  bottom: 0;
}

#linkbox .wrap .contents ul li:first-child a {
  background-image: url(../img/common/link-works.jpg);
}
#linkbox .wrap .contents ul li:last-child a {
  background-image: url(../img/common/link-people.jpg);
}
@media (hover: hover) {
  #oneday .wrap .contents .tab li a:not(.active):hover {
    opacity: 1;
    background-color: #FFFFFF;
  }
}
@media screen and (max-width: 1024px) {
  #environment .wrap .contents .contents_inner {
    grid-column-gap: 5%;
  }
  #environment .wrap .contents .attempt {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  #environment .wrap .contents .attempt .item {
    padding: 30px 20px;
  }
  #environment .wrap .contents .attempt .item h4 {
    font-size: min(2.1vw, 2rem);
  }
  #benefits .wrap .contents .contents_inner {
    grid-gap: 20px 3%;
  }
  #benefits .wrap .contents .contents_inner .item {
    padding: 20px;
  }
  #benefits .wrap .contents .contents_inner .item ul {
    font-size: 1.5rem;
  }
  #oneday .wrap .contents .tab li a {
    height: 4em;
  }
  #oneday .wrap .contents .tab_contents {
    padding: 30px;
  }
  #oneday .wrap .contents .tab_contents dl {
    grid-column-gap: 30px;
  }
  #oneday .wrap .contents .tab_contents dl dt {
    font-size: 2.5rem;
  }
  #oneday .wrap .contents .tab_contents dl .bar {
    margin-top: 20px;
  }
  #oneday .wrap .contents .tab_contents dl .action .detail h3 {
    font-size: 2rem;
    margin: 0.4em 0 1em;
  }
}
@media screen and (max-width: 768px) {
  section .wrap .contents h2.h2_circle {
    margin-bottom: 2em;
  }
  #environment .wrap .contents .contents_inner {
    grid-template-columns: 1fr;
    grid-row-gap: 20px;
    max-width: 500px;
    margin: 0 auto 50px;
  }
  #environment .wrap .contents h3 {
    font-size: 2rem;
  }
  #environment .wrap .contents .attempt {
    grid-template-columns: 1fr;
    max-width: 400px;
    margin: 0 auto;
  }
  #environment .wrap .contents .attempt .item {
    padding: 20px 0;
  }
  #environment .wrap .contents .attempt .item h4 {
    font-size: min(4.5vw, 2rem);
    padding-left: 1.5em;
    -webkit-clip-path: polygon(1.5em 0, 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(1.5em 0, 100% 0, 100% 100%, 0 100%);
  }
  #environment .wrap .contents .attempt .item:first-child {
    padding-top: 0;
  }
  #environment .wrap .contents .attempt .item:nth-child(2n) {
    border-left: none;
  }
  #environment .wrap .contents .attempt .item:not(:last-child) {
    border-bottom: 1px solid #B2B2B2;
  }
  #landscape .wrap .contents .contents_inner {
    grid-template-columns: 1fr;
    max-width: 500px;
    margin: 0 auto;
    grid-row-gap: 20px;
  }
  #landscape .wrap .contents .contents_inner .img p {
    font-size: 1.6rem;
  }
  #benefits .wrap .contents .contents_inner {
    grid-template-columns: 1fr;
    grid-row-gap: 20px;
    padding: 30px 0;
    max-width: 500px;
    margin: 0 auto;
  }
  #benefits .wrap .contents .contents_inner .item {
    padding: 30px 20px;
  }
  #oneday .wrap .contents .tab li a {
    font-size: 1.6rem;
    height: 3em;
    border-radius: 15px 15px 0 0;
  }
  #oneday .wrap .contents .tab_contents {
    padding: 30px 15px;
  }
  #oneday .wrap .contents .tab_contents dl {
    padding: 20px 0;
    grid-column-gap: 20px;
  }
  #oneday .wrap .contents .tab_contents dl dt {
    font-size: 1.8rem;
    width: 4.5em;
  }
  #oneday .wrap .contents .tab_contents dl .bar {
    margin-top: 15px;
  }
  #oneday .wrap .contents .tab_contents dl .bar::before {
    width: 12px;
    height: 12px;
  }
  #oneday .wrap .contents .tab_contents dl .bar::after {
    width: 5px;
  }
  #oneday .wrap .contents .tab_contents dl .action:has(.img) {
    grid-template-columns: 1fr;
    grid-row-gap: 20px;
  }
  #oneday .wrap .contents .tab_contents dl .action .img {
    max-width: 300px;
  }
  #oneday .wrap .contents .tab_contents dl .action .img img {
    border-radius: 15px;
  }
  #oneday .wrap .contents .tab_contents dl .action .detail h3 {
    font-size: 1.8rem;
    margin: 0.3em 0 0.66em;
  }
}