/* bg */
.page__home .page__contents{
  position:relative;
  z-index:1;
}
.page__home .page__contents::before,
.page__home .page__contents::after {
  display: none;
}
.page__home .page__contents .contents__wrapper{
  position:relative;
  background:url(/assets/img/home/bg_front.png) no-repeat center top/ cover;
  z-index:-1;
}

/* footer */
.footer .wrapper{
  border-top: none;
}
.footer .wrapper::before {
  display:none;
}
/* common */
.page__home .content__header{
  margin-bottom:2.5em;
}
.page__home .content__header .title::before{
  display: block;
  content: attr(data-title);
  font-size:160%;
  font-weight: 700;
  color: #CCCCCC;
  border-bottom:2px solid #CCCCCC;
  margin-bottom:0.4em;
  padding-bottom:0.4em;
}
.page__home .page__contents section .section__title{
  margin-bottom:5em;
}

/* visual */
.page__home .visual{
  position:relative;
  z-index: 3;
}
.page__home .visual::before {
  display: block;
  content: "";
  width: 24vw;
  height: max(14.2vw,90px);
  background: var(--color-background4);
  clip-path: polygon(100% 0, 0 0, 0 100%);
  position: absolute;
  top: 100%;
  left: 0;
}
.page__home .visual::after {
  display: block;
  content: "";
  width: 24vw;
  height: max(14.2vw,90px);
  background-image: repeating-linear-gradient(0deg, var(--color-white-gray), var(--color-white-gray) 2px, var(--color-base) 2px, var(--color-base) 5px);
  clip-path: polygon(100% 0, 0 0, 100% 100%);
  position: absolute;
  top: 100%;
  right: 0;
}
.page__home .visual .wrapper {
  background:url(/assets/img/home/image_visual.jpg) no-repeat center bottom / cover;
}
.page__home .visual .wrapper::after {
  display: block;
  content: "";
  width:100%;
  height:min(16vw,180px);
  background:rgba(0,0,0,0.3);
  position:absolute;
  bottom:0;
  left:0;
}
.page__home .visual .content__block{
  padding-bottom: min(14vw,100px);
  background-image:url(/assets/img/home/image_visual2.png);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size:90% auto;
  position: relative;
  z-index: 3;
}
.page__home .visual .content__text {
  padding: 10px 5%;
}
.page__home .visual .content__text img {
  width: 50%;
}
.page__home .visual .content__text p {
  color:var(--color-white);
  margin-top: 1em;
}

.page__home .page__contents section .section__title{
  font-size:1.3rem;
}
.page__home .page__contents section .section__title[data-title]::before{
  padding-bottom: clamp(5.5rem , 7.5vw , 7.5rem);
}
.page__home .page__contents section .section__title[data-title]::after{
  font-size:clamp(4rem , 5.6vw , 6rem);
}
@media (min-width: 768px) {

  .page__home .visual .content__block{
    max-width: 1180px;
    height:min(72.5vw , 780px);
    margin: 0 auto;
  }
  .page__home .visual .content__text {
    width: 45%;
    padding:40px 0 0;
    position:absolute;
    top:0;
    left:5%;
  }
  .page__home .visual .content__text img {
    width: 100%;
  }
  .page__home .visual .content__text p {
    font-size:min(1.4vw,1.6rem);
    line-height:2.3;
    text-align:center;
    margin-top:2em;
  }
}
/* content */
.page__contents #content .wrapper {
  margin-bottom: min(15%, 120px);
}
.page__home .content .content__block .item {
  max-width: 500px;
  margin: 0 auto 50px;
}
.page__home .content .content__block{
  max-width:100%;
  display: grid;
  grid-template-columns: 32% 32% 32%;
  justify-content: space-between;
}
.page__home .content .content__block .item {
  display: flex;
  flex-direction: column;
}
.page__home .content .content__block .item_title {
  text-align: center;
  margin-bottom: 0.5em;
}
.page__home .content .content__block .img_wrap::after {
  display: block;
  color:var(--color-title);
  font-family:'851Gkktt_005';
  font-size:clamp(1.6rem, calc(0.8125000000000001rem + 2.1875vw), 3rem);
  font-weight:400;
  content:attr(data-title);
  line-height: 1;
  letter-spacing:-0.05em;
  white-space: nowrap;
  text-align: right;
}
.page__home .content .content__block .item p {
  display: none;
}
.page__home .content .content__block .item .content__link {
  width: 100%;
  padding-top: 1em;
}
.page__home .content .content__block .item .content__link .button {
  display: block;
  text-align: center;
  padding: 0.5em;
}
.page__home .content .content__block .item .content__link .button::before {
  display: none;
}
.page__home .content .content__block .item .content__link .button::after {
  display: none;
}
@media (min-width: 768px) {
  .page__home .content .content__block .item_title {
    text-align: left;
    order: 2;
    margin-bottom: 0;
  }
  .page__home .content .content__block .item .img_wrap{
    order: 1;
  }
  .page__home .content .content__block .item p {
    display: block;
    order: 3;
  }
  .page__home .content .content__block .img_wrap::after {
    margin-top: 6px;
  }
  .page__home .content .content__block .item .content__link{
    width: fit-content;
    order: 4;
    margin: auto 0 0 0;
    padding-top: 2em;
  }
  .page__home .content .content__block .item .content__link .button {
    padding: 0.5em 2em;
  }
  .page__home .content .content__block .item .content__link .button::before {
    display: block;
  }
  .page__home .content .content__block .item .content__link .button::after {
    display: block;
  }
}

/* solution */
.page__home .solution .wrapper {
  position: relative;
}
.page__home .solution .wrapper::after {
  display: block;
  content: "";
  width: 75vw;
  height: 49vw;
  background-image: repeating-linear-gradient(0deg, var(--color-white-gray), var(--color-white-gray) 1px, transparent 1px, transparent 4px);
  clip-path: polygon(0 0, 100% 100%, 0 100%);
  position: absolute;
  bottom: -100px;
  left: 0;
}
.page__home .solution .wrapper__inner {
  padding-bottom: 305px;
  background-image: url(/assets/img/home/solution_bg.png);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: min(73%,300px);
  position: relative;
  z-index: 3;
}
.page__home .solution .content__block .block__title {
  font-size:clamp(1.8rem , 2.34375vw , 2.5rem);
  margin-bottom: 1em;
}
.page__home .solution .content__block p {
  margin-bottom: 2em;
}
.page__home .solution .content__image{
  position:relative;
}
.page__home .solution .content__image::before{
  position:absolute;
  content:"";
  top:10px;
  left:10px;
  width:100%;
  height:100%;
  border-radius:1em;
  background-image:radial-gradient(#C8C8C8 20%, transparent 20%),radial-gradient(#C8C8C8 20%, transparent 20%);
  background-size:5px 5px;
  background-position:10px 10px;
  z-index:-1;
}
@media (min-width: 768px) {
  .page__home .solution .wrapper::after {
    width: 68vw;
    height: 41vw;
    bottom: -305px;
  }
  .page__home .solution .wrapper__inner {
    background-position: 90% bottom;
    background-size: min(54%,674px);
  }
  .page__home .page__contents section.solution .section__title{
    margin-bottom: 9em;
  }
  .page__home .solution .content__block {
    max-width: 380px;
  }
  .page__home .solution .content__block p {
    margin-bottom: 2em;
  }
}
@media (min-width: 1500px) {
  .page__home .solution .wrapper__inner {
    background-size: 674px;
  }
}

/* news */
.page__home .news .wrapper{
  margin-bottom:0;
  padding-bottom:min(18% ,120px);
  background: var(--color-background1);
  position: relative;
  overflow-x: clip;
}
.page__home .news .wrapper::before {
  display: block;
  content: "";
  width: 110%;
  height: 58vw;
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
  background:var(--color-background2);
  position: absolute;
  bottom: 100%;
  left: -5%;
}
.page__home .news .wrapper::after {
  display: block;
  content: "";
  width: 110%;
  height: 55vw;
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
  background:var(--color-background1);
  position: absolute;
  bottom: 98%;
  left: -5%;
}
.page__home .news .section__title {
  color: var(--color-white);
  position: relative;
  z-index: 5;
}
.page__home .recruit .section__title::after {
  color: var(--color-white);
}
.page__home .news .content__block {
  max-width: 700px;
  margin: 0 auto;
}
.page__home .news .news__link{
  width: 6em;
  margin:20px auto;
  position: relative;
}
.page__home .news .news__link::after{
  display: block;
  content:"";
  width:100%;
  height:1px;
  background:var(--color-white);
  position:absolute;
  bottom:0;
  left:0;
}
.page__home .news .news__link .button{
  color: var(--color-white);
}
.page__home .news .news__link .button::after {
  display: inline-block;
  content:"→";
}
.page__home .news .news__link:hover .button::after {
  animation:news-arrow 1s linear infinite;
}
/* post */
.post__list li.post__item {
  color: var(--color-white);
}
.post__list .post__item a{
  display: grid;
  align-items: center;
  grid-template-columns: 100px 1fr;
  border-bottom:1px solid var(--color-gray);
  gap:40px 20px;
  padding:1em 0;
}
.post__list li.post__item .title {
  font-size: 1.4rem;
}
.post__list .post__item .news_label {
  display: inline-block;
  color: var(--color-text);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  padding: 0.4em 1.5em 0;
  background: var(--color-background4);
  border-radius: 9999px;
}
@keyframes news-arrow {
  0% {
    transform: translateX(0);
  }
  49% {
    transform: translateX(1em);
  }
  50% {
    transform: translateX(-1em);
  }
  100% {
    transform: translateX(0);
  }
}

@media (min-width: 992px) {
  .page__home .news .news__link{
    margin-right:0;
  }
}

/* recruit */
.page__home .recruit .wrapper{
  margin-bottom:0;
  padding-bottom:min(18% ,120px);
  background: var(--color-background1);
}
.page__home .recruit .wrapper::after {
  display: block;
  content: "";
  width: 50vw;
  height: max(29vw,270px);
  background-image: repeating-linear-gradient(0deg, var(--color-white-gray), var(--color-white-gray) 1px, transparent 1px, transparent 4px);
  clip-path: polygon(100% 0, 100% 100%, 0 100%);
  opacity: 0.3;
  position: absolute;
  bottom: 0;
  right: 0;
}
.page__home .recruit .section__title {
  color: var(--color-white);
}
.page__home .recruit .section__title::after {
  color: var(--color-white);
}
.page__home .recruit .content__block ul {
  text-align: center;
  margin-bottom: 30px;
}
.page__home .recruit .content__block ul li {
  display: flex;
  color: var(--color-white);
  justify-content: center;
  padding-bottom: 306px;
  gap:0.5em;
  background-repeat:no-repeat;
  background-position:center 63%;
  background-size:auto 260px;
  position: relative;
}
.page__home .recruit .content__block ul li + li {
  margin-top: 50px;
}
.page__home .recruit .content__block ul li:nth-child(1) {
  background-image: url(/assets/img/home/recruit_img1.png);
}
.page__home .recruit .content__block ul li:nth-child(2) {
  background-image: url(/assets/img/home/recruit_img2.png);
}
.page__home .recruit .content__block ul li:nth-child(3) {
  background-image: url(/assets/img/home/recruit_img3.png);
}
.page__home .recruit .content__block ul li:nth-child(4) {
  background-image: url(/assets/img/home/recruit_img4.png);
}
.page__home .recruit .content__block ul li:nth-child(5) {
  background-image: url(/assets/img/home/recruit_img5.png);
}
.page__home .recruit .content__block ul li + li::before {
  display: block;
  content:"";
  width:57px;
  height:40px;
  background: url(/assets/img/common/section_decoration.png) no-repeat center / contain;
  position: absolute;
  bottom:calc(100% + 25px);
  left:50%;
  transform:translateX(-50%);
}
.page__home .recruit .content__block ul span {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap:10px;
}
.page__home .recruit .content__block ul span::before {
  display: block;
  content:"";
  width: 1px;
  height:100%;
  background:var(--color-white);
  transform: rotate(-8deg);
}
.page__home .recruit .content__block ul span::after {
  display: block;
  content:"";
  width: 1px;
  height: 100%;
  background:var(--color-white);
  transform: rotate(8deg);
}
.page__home .recruit .content__block .copy{
  color:var(--color-background4);
  text-align: center;
  margin-bottom:1em;
}
.page__home .recruit .content__block p {
  color: var(--color-white);
}
.page__home .recruit .content__link{
  text-align: center;
  margin:20px auto 0;
}
.page__home .recruit .content__link .button {
  color: var(--color-white);
  margin:20px auto 0;
}
.page__home .recruit .content__link .button::after {
  left:132%;
}
@media (min-width: 540px) {
  .page__home .recruit .content__block ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap:15px 0;
  }
  .page__home .recruit .content__block ul li {
    width: calc(100% / 2);
  }
  .page__home .recruit .content__block ul li + li {
    margin-top: 0;
  }
  .page__home .recruit .content__block ul li + li:before {
    bottom:33%;
    left:-28px;
    transform:initial;
  }
  .page__home .recruit .content__block ul li:nth-child(odd):before {
    display: none;
  }
}
@media (min-width: 768px) {
  .page__home .recruit .content__block ul li {
    width: calc(100% / 3);
  }
  .page__home .recruit .content__block ul li + li:before {
    width:75px;
    height:56px;
    left:-37px;
  }
  .page__home .recruit .content__block ul li:nth-child(odd):before {
    display: block;
  }
  .page__home .recruit .content__block ul li:nth-child(4):before {
    display: none;
  }
  .page__home .recruit .content__block p {
    text-align: center;
  }
}
@media (min-width: 1000px) {
  .page__home .recruit .content__block ul {
    justify-content: space-between;
  }
  .page__home .recruit .content__block ul li {
    width: calc(100% / 5);
    background-position:center 90%;
  }
  .page__home .recruit .content__block ul li:nth-child(4):before {
    display: block;
  }
}
