@charset "UTF-8";

/* contents
----------------------------------------*/
.contents{
  padding: 60px 0 100px;
}

@media screen and (max-width: 767px){
  .contents{
    padding: 40px 0 70px;
  }
}


/* mv
----------------------------------------*/
.mv{
  position: relative;
  height: min(50vw, 500px);
  background: #11004a url(bg-mv.jpg) no-repeat center;
  background-size: cover;
}
.mv::before{
  position: absolute;
  top: 0;
  left: 0;
  width: 60%;
  height: 100%;
  background-color: #11004a;
  clip-path: polygon(0 0, 100% 0, 88% 100%, 0 100%);
  content: "";
}
.mv-inner{
  max-width: 1000px;
  width: 94%;
  margin: 0 auto;
}
.mv .text{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: min(52vw, 520px);
  margin: 0;
}
.mv .text .subtitle{
  margin: 1.8em 0;
  color: #fff;
  font-feature-settings: "palt";
  font-size: min(2.3vw, 2.3rem);
  font-weight: bold;
  line-height: 1.9;
  letter-spacing: -0.03em;
}
.mv .text .detail{
  padding: 0.3em 0 0.3em 1.1em;
  border-left: solid 5px #e52ec7;
  color: #fff;
  font-feature-settings: "palt";
  font-size: min(1.8vw, 1.8rem);
  font-weight: bold;
  line-height: 2;
}

@media screen and (max-width: 767px){
  .mv{
    height: 70vw;
  }
  .mv::before{
    width: 75%;
  }
  .mv .text{
    width: 65%;
  }
  .mv .text .subtitle{
    font-size: 2.8vw;
  }
  .mv .text .detail{
    font-size: 2.4vw;
  }
}


/* lead
----------------------------------------*/
.lead{
  max-width: 850px;
  width: 90%;
  margin: 0 auto;
}
.lead p{
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 2;
}
.lead p + p{
  margin-top: 1em;
}


/* article
----------------------------------------*/
.article{
  max-width: 1000px;
  width: 94%;
  margin: 50px auto 100px;
}
.article-list{
  display: flex;
  flex-wrap: wrap;
  gap: 2%;
  justify-content: flex-start;
}
.article-list-item{
  position: relative;
  width: 32%;
  background-color: #fff;
}
.article-list-item:nth-of-type(n+4){
  margin-top: 20px;
}
.article-list-item a{
  display: block;
  text-decoration: none;
  transition: 0.5s;
}
.article-list-item .image{
  overflow: hidden;
}
.article-list-item .image img{
	transition: 0.5s;
}
.article-list-item a:hover{
	opacity: 0.8;
}
.article-list-item a:hover .image img{
  transform: scale(1.05);
}
.article-list-item .text{
  position: relative;
  padding: 15px 15px 35px;
}
.article-list-item::before{
  position: absolute;
  bottom: 15px;
  right: 15px;
  width: 40px;
  height: 2px;
  background-color: #e52ec7;
  content: "";
}
.article-list-item::after{
  position: absolute;
  bottom: 15px;
  right: 15px;
  width: 15px;
  height: 2px;
  background-color: #e52ec7;
  content: "";
  transform: rotate(45deg);
  transform-origin: calc(100% - 1px) 50%;
}
.article-list-item .text .company{
  position: relative;
  margin-bottom: 12px;
  padding-bottom: 10px;
  font-size: 2.0rem;
  font-weight: bold;
  line-height: 1.5;
}
.article-list-item .text .company::before{
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg,#e52ec7,#2e2ee5);
  content: "";
}
.article-list-item .text .theme{
  font-size: 1.4rem;
  line-height: 1.5;
}
.article-list-item .text .title{
  margin-top: 10px;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.5;
}
.article .caption{
  margin-top: 40px;
  color: #fff;
  font-size: 1.4rem;
  line-height: 1.6;
  text-align: center;
}
/*comingsoon*/
.comingsoon{
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
  background-color: #ccc;
}
.article-list-item.comingsoon::before,
.article-list-item.comingsoon::after{
  content: none;
}
.comingsoon p{
  padding: 15px;
  font-size: 2.0rem;
  font-weight: bold;
}

@media screen and (max-width: 900px){
  .article-list{
    justify-content: space-between;
  }
  .article-list-item{
    width: 48.5%;
  }
  .article-list-item:nth-of-type(n+3){
    margin-top: 20px;
  }
}

@media screen and (max-width: 767px){
  .article{
    margin: 40px auto 70px;
  }
  .article-list-item{
    width: 100%;
  }
  .article-list-item:nth-of-type(n+2){
    margin-top: 20px;
  }
  .article .caption br{
    display: block;
  }
  .article .caption{
    margin-top: 30px;
    text-align: left;
  }
}


/* info
----------------------------------------*/
.info{
  max-width: 850px;
  width: 90%;
  margin: 0 auto;
  padding: 15px 0 15px 20px;
  border-left: solid 5px #e52ec7;
}
.info + .info{
  margin-top: 60px;
}
.info-heading{
  margin-bottom: 15px;
  color: #fff;
  font-size: 2.2rem;
  font-weight: bold;
}
.info-text{
  color: #fff;
  font-size: 1.6rem;
  line-height: 1.6;
}
.info-text a{
  color: #fff;
}

@media screen and (max-width: 767px){
  .info{
    padding: 10px 0 10px 15px;
  }
  .info + .info{
    margin-top: 40px;
  }
  .info-heading{
    font-size: 2.0rem;
  }
}