@charset "utf-8";
/* CSS Document */
main {
  padding: 6.4em 4em;
}
h1 {
  display: block;
  position: relative;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  height: 20em;
  background: url(../img/sp_works_top.jpg) center center / cover no-repeat;
}
h1 > span {
  display: flex;
  position: absolute;
  top: 50%;
  left: 10%;
  transform: translateY(-50%);
  flex-direction: column;
  font-size: 2em;
  font-weight: 600;
  text-shadow: #fff 0.06em 0.06em 0.33em;
  
}
h1 span span:nth-child(2) {
  font-size: 75%;
  font-family: 'Noto sans JP';
  font-weight: 400;
  padding: 0.5em 0 0 0.2em;
}

main > div {
  padding: 2.66em 0 4em;
  margin: 0 auto;
}
main > div > p {
  display: block;
  text-align: center;
}
main > div p {
  display: block;
  text-align: center;
  margin-bottom: 2em;
}
form {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
input, textarea {
  width: 100%;
  border: 1px solid #404040;
  margin-bottom: 1.5em;
}
textarea {
  height: 6em;
}
form span {
  display: block;
  font-size: 0.9em;
  margin-right: auto;
  margin-bottom: 0.5em;
}
form button {
  margin-left: auto;
  padding: 0.5em 1em;
  color: #fff;
  background: #EF4573;
}

/* ---- 360px ---- */ 

@media screen and (max-width:374px) {
  body {
    font-size: 4vw;
  }
}

/* ---- TAB ---- */ 

@media screen and (min-width:768px) {
  main > div {
    max-width: 640px;
  }
  main > div p {
    margin: 2em 0 4em;
  }
  input, textarea {
    margin-bottom: 2em;
  }
  textarea {
    height: 10em;
  }
  form button {
    padding: 1em 2em;
  }
}

/* ---- PC ---- */ 

@media screen and (min-width:1024px) {
  main > section  {
    width: 1000px;
    margin: 0 auto;
  }

  h1 {
    height: 450px;
  }
  h1 > span {
    left: 22%;
    font-size: 4em;
  }
  main > div {
    max-width: 900px;
  }
}