/*Mv
=======================================================*/
.mv{
  width: 100%;
  position: relative;
  margin-top: 60px;
}
.mv-wrap{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.mv-box{
  width: calc(50% - ((100% - 1000px) / 2));
  margin-left: auto;
}
.mv-box-detail{
  width: fit-content;
  margin: 0 auto;
}
.mv-box-detail-intro{
  width: fit-content;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
}
.mv-box-detail-intro::before{
  content: "";
  width: 10px;
  height: 1px;
  background: #000;
}
.mv-box-detail-ttl{
  width: fit-content;
  font-family: "Inter B", "NotoSansJP B";
  font-size: 40px;
  line-height: 1.3;
  margin-top: 10px;
}
.mv-box-detail-txt{
  margin-top: 30px;
  width: 70%;
}

img.mv-img{
  display: block;
  width: 50%;
  object-fit: cover;
  height: 70vh;
}

@media screen and (max-width: 1000px){
  .mv{
    height: 60vh;
    margin-top: 50px;
  }
  .mv-wrap{
    height: 60vh;
  }
  img.mv-img{
    height: 60vh;
  }
  .mv-box{
    margin: 0px auto 0 5%;
  }
}
@media screen and (max-width: 768px){
  img.mv-img{
    position: absolute;
    z-index: -1;
    right: 0;
    width: 70%;
    height: 100%;
  }
  .mv-box{
    margin: 0px auto;
  }
  .mv-box-detail{
    width: 90%;
  }
  .mv-box-detail-txt{
    width: 100%;
  }
}

/*about
=======================================================*/
.about{

}
.about-wrap{
  display: flex;
  gap: 50px;
  justify-content: space-between;
  align-items: center;
}
.about-box-img{
  width: 50%;
}
img.about-img01{
  width: 90%;
  display: block;
}
img.about-img02{
  width: 50%;
  margin-top: -40%;
  margin-left: auto;
  display: block;
}
.about-box{
  width: 42%;
}
.about-box-ttl-sub{
  width: fit-content;
	font-family: "Inter M","NotoSansJP M";
  font-size: 20px;
  line-height: 1.5;
  margin-top: 10px;
}
.about-box-txt{
  margin-top: 30px;
}

@media screen and (max-width: 768px){
  .about-wrap{
    flex-wrap: wrap;
  }
  .about-box-img{
    width: 100%;
    order: 2;
  }
  .about-box{
    width: 100%;
    order: 1;
  }
  img.about-img01{
    width: 65%;
  }
}

/*記事
=======================================================*/
.features-wrap{
  margin-top: 50px;
  display: flex;
  gap: 15px;
}
.features-box{
  width: calc(100% / 3);
}
img.features-box-img{
  display: block;
  object-fit: cover;
  width: 100%;
  height: 360px;
}
.features-box-ttl{
  margin-top: 10px;
  line-height: 1.5;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

@media screen and (max-width: 768px){
  .features-wrap{
    flex-wrap: wrap;
  }
  .features-box{
    width: 100%;
  }
  img.features-box-img{
    height: 250px;
  }
}

/*01class
=======================================================*/
.class{
  background: #EFF0F5;
}
.class-wrap{
  display: flex;
  align-items: center;
}
.class-box-detail{
  width: 40%;
}
.class-box-detail-inner{
  width: 65%;
  margin: 0 auto;
}
.class-box-detail-ttl-sub{
  width: fit-content;
  font-family: "Inter M", "NotoSansJP M";
  font-size: 20px;
  line-height: 1.5;
}
.class-box-detail-txt{
  margin-top: 30px;
  margin-bottom: 30px;
}

.class-box-img{
  display: flex;
  gap: 10px;
  width: 60%;
}
.class-box-img img{
  display: block;
  object-fit: cover;
}
img.class-box-img1{
  width: 40%;
}
img.class-box-img2{
  width: 60%;
}

@media screen and (max-width: 768px){
  .class-wrap{
    flex-wrap: wrap;
  }
  .class-box-detail{
    width: 100%;
  }
  .class-box-img{
    width: 100%;
    margin-top: 50px;
  }
  img.class-box-img2{
    width: calc(60% - 10px);
  }
}