@charset "utf-8";
/*------------------------------------------------------------------

  トップページ

------------------------------------------------------------------*/

/* PC以下サイズ------------------------------- */
.main_visual {
  height: 500px;
  padding: 0 3%;
  overflow: hidden;
  position: relative;
}
.main_visual video {
  object-fit: cover;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
}
.main_visual .kv {
  background: rgba(0,0,0, 0.5);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  align-content: center;
}
.main_visual .kv div {
  font-size: 38px;
  font-weight: bold;
  color: #fff;
  width: 94%;
}
.main_visual h1{
  font-size: 22px;
  font-weight: bold;
  display: block;
  margin: 20px 0 0;
  color: #fff;
}
.top_news {
  width: 94%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 55px 0 60px;
  overflow: hidden;
}
.top_news .title_area {
  width: 180px;
  float: left;
  padding: 15px 0 0;
}
.top_news .title {
  margin: 0 0 55px;
}
.top_news .news_list {
  width: calc(100% - 181px);
  max-width: 800px;
  float: right;
}
.top_news .news_list li {
  border: none;
}
.t_technology {
  padding: 300px 0 80px;
  position: relative;
}
.t_technology:before {
  content: "";
  width: 100%;
  height: 60%;
  position: absolute;
  background: url(../img/home/technology_bk.png) top center no-repeat;
  background-size: cover;
  top: 0;
  left: 0;
  z-index: -1;
}
.t_technology section {
  background: #fff;
  box-shadow: 0 3px 19px rgb(0 0 0 / 10%);
  z-index: 2;
  width: 94%;
  max-width: 1100px;
  padding: 55px 80px 45px;
  border-radius: 20px;
  margin: 0 auto;
  overflow: hidden;
}
.t_technology .left {
  text-align: center;
  float: left;
  width: calc(100% - 495px);
  padding: 20px 30px 0 0;
}
.t_technology .left img {
  width: 360px;
  margin: 0 0 30px;
  display: inline-block;
}
#home .cv {
  width: 280px;
  padding: 0 30px;
  text-align: left;
}
#home .t_technology .left .cv{
  padding: 15px 30px;
  line-height: 30px;
}
.t_technology .right {
  width: 495px;
  float: right;
}
.t_technology .title {
  margin: 0 0 25px;
}
.t_technology .right p {
  font-size: 16px;
  line-height: 1.8;
  margin: 0 0 15px;
}
.t_technology .right ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: start;
  align-items: stretch;
  gap: 25px 0;
  margin: 40px 0 0;
}
.t_technology .right li {
  flex: 0 0 33.333%;
  text-align: center;
  background: url(../img/home/technology_icon01.png) top center no-repeat;
  background-size: 68px;
  font-weight: bold;
  padding: 80px 0 0;
}
.t_technology .right li:nth-child(2) {
  background: url(../img/home/technology_icon02.png) top center no-repeat;
  background-size: 68px;
}
.t_technology .right li:nth-child(3) {
  background: url(../img/home/technology_icon03.png) top center no-repeat;
  background-size: 68px;
}
.t_technology .right li:nth-child(4) {
  background: url(../img/home/technology_icon04.png) top center no-repeat;
  background-size: 68px;
}
.t_technology .right li:nth-child(5) {
  background: url(../img/home/technology_icon05.png) top center no-repeat;
  background-size: 68px;
}
.t_model section {
  width: 94%;
  max-width: 1260px;
  margin: 0 auto;
  background: url(../img/home/model_img.png) right center no-repeat;
  background-size: 760px;
  padding: 55px 0 55px 80px;
  position: relative;
}
.t_model section:before {
  position: absolute;
  content: "";
  height: 100%;
  width: 130%;
  background: url(../img/home/model_bk.png) right center no-repeat;
  background-size: cover;
  right: 80px;
  top: 0;
  z-index: -1;
  border-radius: 0 300px 300px 0;
}
.t_model .title {
  margin: 0 0 50px;
}
.t_case {
  overflow: hidden;
}
.t_case section {
  width: 94%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 75px 0 70px;
  position: relative;
}
.t_case section:before {
  content: "";
  position: absolute;
  width: 1168px;
  height: 648px;
  background: url(../img/home/case_bk.png) center no-repeat;
  background-size: 1168px;
  left: 570px;
  top: 160px;
}
.t_case section > p {
  font-size: 16px;
  line-height: 1.8;
  margin: 0 0 15px;
  width: 400px;
}
.t_case .title {
  width: 430px;
  margin: 0 0 25px;
}
.t_case .cv {
  margin: 30px 0 0;
}
.slide {
  width: 2260px;
  position: absolute;
  left: 430px;
  top: 90px;
}
.slick-track {
  display: flex!important;
}
.slide .slick-slide {
  width: 380px!important;
  height: auto !important;
  padding: 5px 10px 10px;
}
.slide a {
  display: block;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 3px 10px rgb(0 0 0 / 10%);
  padding: 15px;
  height: 100%;
}
.slide .img_area {
  display: block;
  position: relative;
  margin: 0 0 10px;
}
.slide .img_area .play {
  position: absolute;
  width: 70px;
  top: 50%;
  margin-top: -35px;
  left: 50%;
  margin-left: -35px;
  z-index: 1;
}
.slide a p {
  font-weight: bold;
  font-size: 16px;
}
.slick-dots {
  text-align: left;
  padding-left: 10px;
}
.slick-dots li button:before {
  content: none;
}
.slick-dots li {
  width: 24px;
  height: 5px;
  margin: 0 4px;
}
.slick-dots li button {
  display: block;
  background: #808080;
  padding: 0;
  width: 100%;
  height: 100%;
}
.slick-dots .slick-active button {
  background: #de0e0e;
}



/* PCのみサイズ------------------------------- */
@media screen and (min-width:1025px) {
.slide a:hover {
  opacity: 0.8;
}
}

/* タブレット（iPad Pro）以下サイズ------------------------------- */
@media screen and (max-width:1024px) {
.t_model section {
  background: url(../img/home/model_img.png) right center no-repeat;
  background-size: 590px;
  padding: 55px 0;
}
}


/* タブレット（iPad）以下サイズ------------------------------- */
@media screen and (max-width:1023px) {
.top_news .title_area {
  width: 100%;
  float: none;
  padding: 0;
  overflow: hidden;
  margin: 0 0 20px;
}
.top_news {
  width: 92%;
}
.top_news .title {
  margin: 0;
  display: inline-block;
}
.view_all {
  float: right;
  margin: 10px 0 0;
}
.top_news .news_list {
  width: 100%;
  max-width: 100%;
  float: none;
}
.t_technology {
  padding: 200px 0 80px;
}
.t_technology section {
  width: 92%;
  padding: 55px 50px 45px;
}
.t_technology .right {
  width: 100%;
  float: none;
}
.t_technology .right li {
  flex: 0 0 20%;
}
.t_technology .left {
  float: none;
  width: 100%;
  padding: 20px 0 0;
}
.t_model section {
  width: 92%;
  background: url(../img/home/model_img.png) right -10px bottom 39px no-repeat;
  background-size: 437px;
}
.t_model section:before {
  width: 100%;
  background: url(../img/home/model_bk.png) left center no-repeat;
  background-size: cover;
  right: 80px;
}
.t_case section {
  width: 92%;
}

}


/* スマホサイズ------------------------------- */
@media screen and (max-width:767px) {
.main_visual {
  height: 400px;
  padding: 0 4%;
}
.main_visual .kv div {
  font-size: 26px;
}
.main_visual .kv div h1 {
  font-size: 21px;
}
.view_all {
  margin: 4px 0 0;
  font-size: 13px;
}
.top_news {
  padding: 45px 0 40px;
}
.news_list a,
.news_list div {
  padding: 19px 0;
}
.top_news .title_area {
  margin: 0 0 5px;
}
.t_technology {
  padding: 200px 0 50px;
}
.t_technology:before {
  height: 25%;
}
.t_technology section {
  padding: 40px 30px 45px;
}
.t_technology .right p {
  font-size: 14px;
}
.t_technology .right ul {
  gap: 20px 0;
  margin: 20px 0 0;
}
.t_technology .right li {
  flex: 0 0 33.333%;
  font-size: 13px;
}
.t_technology .left img {
  margin: 0 0 20px;
}
.t_model .title {
  margin: 0 0 25px;
}
.t_model section {
  width: 92%;
  background: url(../img/home/model_img.png) center bottom 5px no-repeat;
  background-size: 100%;
  padding: 45px 0 52%;
}
.t_model section:before {
  right: 50px;
}
.t_case section {
  padding: 55px 0 70px;
  width: 100%;
}
.t_case section:before {
  left: 0;
  top: 160px;
  z-index: -1;
}
.t_case .title {
  margin: 0 auto 20px;
  width: 92%;
}
.t_case section > p {
  font-size: 14px;
  width: 92%;
  margin: 0 auto 15px;
}
.t_case .cv {
  margin: 10px 4% 30px;
}
.slide {
  width: 100%;
  position: relative;
  top: 0;
  left: 0;
}
.slick-dotted.slick-slider {
  margin-bottom: 0;
}
.slide a {
  padding: 12px 12px 15px;
}
.slide a p {
  font-size: 14px;
}
.slide a p br {
  display: none;
}
.slide .img_area .play {
  width: 60px;
  margin-top: -30px;
  margin-left: -30px;
}


}