/* background設定 */
header {
  background: url(/img/top/back/fv1.png) 15% 17%,
    url(/img/top/back/fv3.png) 92% 49%,
    url(/img/top/back/fv2.png) 100% 0,
    url(/img/top/back/fv-bg.png) 0% 100%;
  background-size: 10%, 10%, 92% 54%, cover;
  background-attachment: local;
  background-repeat: no-repeat;
  width: 100%;
  margin: 0;
  padding-top: 56%;
}

#prototype {
  background: url(/img/top/back/prototype2.png) 9% 0,
    url(/img/top/back/prototype1.png) 3% 40%,
    url(/img/top/back/prototype4.png) 82% 7%,
    url(/img/top/back/prototype3.png) 90% 70%;
  background-size: 18%, 15%, 9%, 50%;
  margin-top: -6%;
  background-attachment: local;
  background-repeat: no-repeat;
}

#recruit {
  background: url(/img/top/back/recruit1.png) 0 0,
    url(/img/top/back/recruit2.png) 52% 81%,
    url(/img/top/back/recruit3.png) 95% 45%;
  background-size: contain, 7%, 22%;
  background-attachment: local;
  background-repeat: no-repeat;
  position: relative;
  padding-bottom: 8%;
}

#service {
  background: url(/img/top/back/service4.png) 81% 26%,
    url(/img/top/back/service3.png) 43% 9%,
    url(/img/top/back/service2.png) 9% 24%,
    url(/img/top/back/service5.png) 0% 100%;
  background-size: 35%, 48%, 10%, 20%;
  padding-bottom: 20%;
  background-attachment: local;
  background-repeat: no-repeat;
}

#news {
  background: url(/img/top/back/news1.png) 6% 60%,
    url(/img/top/back/news2.png) 13% 74%,
    url(/img/top/back/news3.png) 81% 11%,
    url(/img/top/back/news4.png) 85% 0%,
    url(/img/top/back/news5.png) 97% 97%;
  background-size: 14%, 11%, 9%, 9%, 18%;
  padding-top: 9%;
  padding-bottom: 7%;
  margin-top: -14%;
  background-attachment: local;
  background-repeat: no-repeat;
  background-color: rgba(0, 255, 255, 0);
}

#company {
  background: url(/img/top/back/company.png) 95% 20%;
  background-size: 70%;
  padding-bottom: 10%;
  padding-top: 3%;
  background-attachment: local;
  background-repeat: no-repeat;
}

.sp {
  display: none;
}

/* コンテンツ部分 */
.header_contents {
  margin: auto;
  width: 60%;
  min-width: 400px;
  max-width: 1000px;
  margin-top: -55%;
}

h1 {
  margin: 0;
  margin-top: 15%;
}

h1 img {
  width: 90%;
  margin: auto;
}

#title_name {
  letter-spacing: .1rem;
  width: 100%;
  line-height: 2;
}

#title_name p {
  width: 100%;
  font-size: min(max(1.3vw), 1rem);
}

.title {
  width: 70%;
  margin: auto;
  padding-top: 2%;
}

.title_jp {
  border-left: 0.3rem solid #000;
  padding-top: 4%;
  padding-left: 0.9rem;
  margin-left: -1.2rem;
  margin-bottom: 0;
  letter-spacing: .2rem;
  font-size: min(max(1.4vw), 0.7rem);
  text-shadow: 0 0 1px #666;
  width: 100%;
}

h2 {
  font-size: min(max(4vw), 2rem);
  margin-top: 5px;
  line-height: 1.138;
  letter-spacing: 0.3vw;
  margin-bottom: 0;
  font-weight: normal;
  text-shadow: 0 0 1px black;
}

.block {
  width: 100%;
  justify-content: space-between;
}

.contents {
  width: 100%;
  display: flex;
  justify-content: space-between;

}

.left_block {
  position: relative;
  width: 50%;
}

.right_block {
  width: 50%;
}

.more {
  background-color: #FFF;
  border: 3px solid #000;
  display: block;
  float: right;
  font-size: min(max(1.4vw), 0.7rem);
  font-weight: bold;
  letter-spacing: min(max(0.2vw), 0.1rem);
  padding: 0.5rem 1rem;
  margin-top: 1%;
  margin-right: 20%;
  transition: .05s;
}

.more::after {
  content: "　　▶";
  font-family: "Noto Sans JP";
}

.more:hover {
  background-color: black;
  border: 3px solid white;
  border-radius: 0px;
  color: white;
  box-shadow: 0px 0px 2px gray;
}

.contenst {
  display: flex;
}

.prototype-image {
  position: relative;
  border-radius: 50%;
  width: 40%;
  height: 20vw;
  max-height: 400px;
  margin: auto;
  margin-top: 6%;
  margin-right: 10%;
  overflow: hidden;
  box-shadow: 1px 1px 3px rgb(121, 121, 121);
}

.prototype-image img {
  height: 100%;
  margin: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.prototype_list {
  float: right;
  list-style: none;
  padding: 0;
  width: 80%;
  margin-right: 20%;
}

.prototype_list a {
  font-size: min(max(2vw), 1rem);
  display: flex;
  justify-content: flex-end;
}

.prototype_list li {
  margin: 5% 0;
}

.prototype_thumbnail {
  width: 20%;
}

.prototype_name {
  width: 60%;
  align-self: center;
  margin-left: 7%;
}

.prototype_list a::after {
  content: "▶";
  margin-right: 5%;
  align-self: center;
}

#slideshow {
  width: 75%;
  display: none;
}

.fadein {
  animation: fadeIn 0.5s;
}

.fadeout {
  animation: fadeOut 0.5s;
}

@keyframes fadeIn {

  /*animetion-nameで設定した値を書く*/
  0% {
    opacity: 0.5
  }

  /*アニメーション開始時は不透明度50%*/
  100% {
    opacity: 1
  }

  /*アニメーション終了時は不透明度100%*/
}

@keyframes fadeOut {

  /*animetion-nameで設定した値を書く*/
  0% {
    opacity: 1
  }

  100% {
    opacity: 0.5
  }
}

.recruit-image {
  margin-top: 2.5vw;
  width: 100%;
  height: 100%;
  box-shadow: 1px 1px 3px rgb(149, 149, 149);
}

.recruit_list {
  list-style: none;
  padding: 0;
  width: 74%;
  margin: auto;
  margin-right: 24%;
  font-size: min(max(2vw), 1rem);
}

.recruit_list li {
  font-weight: 700;
  display: flex;
  justify-content: space-between;
}

.requirements {
  list-style: none;
  padding: 0;
  float: right;
  width: 60%;
}

.requirements li a {
  margin-bottom: min(max(2vw), 100px);
  width: 100%;
  font-weight: 500;
  display: flex;
  justify-content: space-between;
}

.recruit_list a {
  display: flex;
  justify-content: space-between;
  width: 100%;
}

.recruit_list a:not(.list_title)::after {
  content: "▶";
}

.staff_list {
  list-style: none;
  padding: 0;
  width: 80%;
  font-weight: lighter;
  display: flex;
  justify-content: space-between;
  font-size: min(max(1.5vw), 0.8rem);
}

.staff_list a {
  display: block;
}

.staff_list a:hover {
  filter: drop-shadow(1px 1px 5px lightgray);
}

.staff_list li {
  margin-right: 3%;
  text-align: center;
}

.staff_list img {
  width: 80%;
  box-shadow: 1px 1px 3px lightgray;
}

.message {
  position: absolute;
  top: 103%;
  bottom: 0%;
  right: -5%;
  margin: 0;
  letter-spacing: 0.4rem;
  font-weight: lighter;
  font-size: min(max(2.5vw), 2rem);
}

.service_list {
  list-style: none;
  padding: 0;
  /* width: 74%; */
  margin-right: 22%;
  margin-bottom: 7%;
  font-size: min(max(2vw), 1rem);
}

.service_list li {
  width: 100%;
}

.service_list a {
  margin-top: 5%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.service_thumbnail {
  width: 8vw;
  max-width: 160px;
  height: 6vw;
  max-height: 120px;
}

.service_name {
  width: 100%;
  align-self: center;
  margin-left: 5%;
}

.service_list a::after {
  content: "▶";
}

#service .describe {
  line-height: 2;
  letter-spacing: .2rem;
  margin: auto;
  margin-top: 5%;
  margin-left: 30%;
  width: fit-content;
  font-size: min(max(2vw), 1rem);
}

#news .left_block {
  width: 30%;
  padding-left: 7%;
}

.news-date {
  font-size: min(max(1.4vw), 0.7rem);
}

.news-title {
  font-size: min(max(1.4vw), 0.7rem);
}

.news_list {
  list-style: none;
  padding: 0;
  margin-right: 18%;
  margin-top: -15%;
}

.news_list li {
  width: 95%
}

.news_list li>a {
  margin: 3% 0;
  display: flex;
  justify-content: flex-end;
}

.news_list li img {
  width: 12%;
}

.news_content {
  width: 80%;
  margin: 0 5%;
  align-self: center;
}

a .news_content a::after {
  content: "";
}

a .news_content a {
  pointer-events: none;
}

.news-date {
  color: gray;
  margin-bottom: 1%;
}

.news_list a::after {
  content: "▶";
  align-self: center;
  font-size: min(max(2vw), 1rem);
}


#company .describe {
  line-height: 2;
  letter-spacing: .3rem;
  font-size: min(max(2vw), 1rem);
  margin: auto;
  margin-top: 2%;
  margin-left: 30%;
  width: fit-content;
}

.company_list {
  width: 44%;
  margin-right: 24%;
  float: right;
  list-style: none;
  padding: 0;
  font-size: min(max(2vw), 1rem);
  display: flex;
  flex-direction: column;
}

.company_list a li:hover {
  color: #181818;
  transition: .1s;
}

.company_list li {
  margin: 4.2% 0;
}

.company_list a {
  display: flex;
  justify-content: space-between;
}

.company_list a::after {
  content: "▶";
}


/* Edge */
@supports (-ms-ime-align: auto) {
  header {
    padding-top: 53%;
  }

  .header_contents {
    width: 61%;
    margin-top: -46%;
  }

  .header_contents h1 {
    font-size: 4.38vw;
  }

  .header_contents span {
    top: 60%;
  }

  #title_name {
    font-size: 1.38vw;
    letter-spacing: 0.2vw;
    margin-top: 12%;
  }

  .title_jp {
    font-size: 1.3vw;
  }

  h2 {
    font-size: 3.5vw;
    margin-top: 1.5%;
  }

  .more::after {
    content: "　　▶";
    font-family: "Noto Sans JP";
  }

  .prototype_list li,
  .recruit_list li,
  .service_list li,
  .company_list li {
    font-size: 1.5vw;
  }

  .staff_list li,
  .news_content {
    font-size: 1.35vw;
  }

  .news-date {
    font-size: 1.3vw;
  }

  .news_list a::after {
    font-size: 1.6vw;
  }

  .message,
  .describe {
    font-size: 2.1vw;
  }

  #company .describe {
    font-size: 1.8vw;
  }

  .more {
    font-size: 1.5vw;
    padding: 2.5% 6%;
  }

  .recruit_list {
    width: 48%;
  }

  .requirements {
    width: 62%;
  }
}