body{
  font-family: 'Noto Sans JP', sans-serif;
  background-color: #F0F0F0;
}
p{
  font-size: 16px;
  font-weight: 500;
  line-height: 200%;
}
a{
  transition: .5s;
}
a:hover{
  opacity: .5;
}
h1, h2{
  font-weight: bold;
}
.container{
  max-width: 1140px;
  padding: 0 20px;
  margin: 0 auto;
}
.ttl{
  padding-bottom: 40px;
  margin-bottom: 40px;
  position: relative;
}
.ttl::after{
  content: '';
  position: absolute;
  width: 40px;
  height: 1px;
  background-color: #707070;
  bottom: 0;
  left: 0;
}
.ttl .en{
  font-size: 30px;
}
.ttl .ja{
  font-size: 14px;
  font-weight: 500;
  padding-top: 20px;
  line-height: 19px;
}
/* header */
header{
  height: 75px;
  background-color: #fff;
  display: flex;
  align-items: center;
  gap: 0 80px;
  padding: 0 40px;
}
header h1{
  font-size: 35px;
}
.header-nav ul{
  display: flex;
  gap: 0 40px;
}
.header-nav a{
  font-size: 18px;
}
/* kv */
.kv{
  width: 100%;
  height: 46vw;
  background-image: url(../img/kv.png);
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  margin-bottom: 120px;
}
.kv-content{
  width: 388px;
  padding: 20px;
  background-color: rgba(0, 0, 0, .57);
  color: #fff;
  position: absolute;
  bottom: 40px;
  right: 40px;
}
.kv-content strong{
  font-size: 20px;
}
.kv-content p{
  padding-top: 20px;
}
/* news */
.news{
  margin-bottom: 120px;
}
.news-list{
  display: flex;
}
.news-content{
  width: calc(100% / 3);
  padding-left: 40px;
  padding-right: 40px;
}
.news-list > div:first-of-type{
  padding-left: 0;
  border-right: solid 1px #707070;
}
.news-list > div:last-of-type{
  padding-right: 0;
  border-left: solid 1px #707070;
}
.data{
  font-size: 14px;
  margin-bottom: 20px;
}
.data span:first-of-type{
  padding-right: 16px;
}
.data span:last-of-type{
  background-color: #333333;
  color: #fff;
  padding: 0 5px;
}
/* about */
.about{
  display: flex;
  justify-content: space-between;
  margin-bottom: 120px;
}
.about .content{
  width: 40%;
}
.about > p{
  width: 55%;
}
.about > p img{
  width: 100%;
}
/* studio */
.studio{
  display: flex;
  justify-content: space-between;
  margin-bottom: 120px;
  flex-direction: row-reverse;
}
.studio .content{
  width: 40%;
}
.studio > p{
  width: 55%;
}
.studio > p img{
  width: 100%;
}
/* company */
.company{
  position: relative;
  margin-bottom: 120px;
}
.company .content{
  width: 55%;
  padding: 100px 8% 100px 6%;
  background-color: #fff;
}
.company > p{
  width: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%);
}
.company > p img{
  width: 100%;
}
footer{
  height: 100px;
  background-color: #fff;
}
footer small{
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
@media screen and (max-width: 900px){
  /* header */
  header{
    height: 80px;
    padding: 0 20px;
    gap: 0;
    flex-wrap: wrap;
    align-items: unset;
  }
  header nav{
    width: 100%;
  }
  /* kv */
  .kv{
    height: calc(100vh - 80px);
    background-position: center;
    margin-bottom: 80px;
  }
  .kv-content{
    width: calc(100% - 40px);
    right: 50%;
    transform: translate(50%);
  }
  /* news */
  .news{
    margin-bottom: 80px;
  }
  .news-list{
    flex-wrap: wrap;
    gap: 40px 0;
  }
  .news-content{
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
  .news-list > div:first-of-type{
    border-right: transparent;
  }
  .news-list > div:last-of-type{
    border-left: transparent;
  }
  /* about */
  .about{
    flex-wrap: wrap;
    margin-bottom: 80px;
    gap: 40px 0;
  }
  .about .content, .about > p{
    width: 100%;
  }
  /* studio */
  .studio{
    flex-wrap: wrap;
    margin-bottom: 80px;
    gap: 40px 0;
  }
  .studio .content, .studio > p{
    width: 100%;
  }
  /* company */
  .company{
    margin-bottom: 80px;
  }
  .company .content{
    width: 100%;
    padding: 80px 20px;
  }
  .company > p{
    width: 100%;
    position: static;
    transform: none;
  }
}