@charset "UTF-8";
body {
  position: relative;
  font-size: 4vmin; }
  @media (min-width: 414px) {
    body {
      font-size: 16px; } }

/*ヘッダー*/
header {
  padding: 10vh 5vw;
  height: 30vh;
  overflow: hidden;
  box-sizing: border-box;
  position: relative;
  z-index: 2; }

#title {
  position: fixed;
  top: 10vh;
  left: 5vw;
  font-size: 14px; }

.navmanu {
  position: fixed;
  top: 10vh;
  right: 5vw;
  overflow: hidden;
  transition: .5s; }
  .navmanu li {
    float: left;
    margin-right: 5vw;
    font-size: 14px; }
  .navmanu.hide {
    opacity: 0; }

/*タイトル*/
#top {
  height: 70vh; }

.toptitle {
  font-size: 10vmin;
  width: 90vw;
  line-height: 40vh;
  margin-left: 5vw;
  display: none; }

/*プロフィール*/
#profile {
  height: 100vh;
  position: relative; }

.title {
  margin-left: 5vw;
  padding-top: 15vh;
  height: 20vh;
  font-size: 15vh;
  margin-bottom: 5vh; }
  @media (min-width: 414px) {
    .title {
      margin-bottom: 10vh; } }

.user {
  background-color: #e3e3e3;
  display: none;
  padding: 5vh 5vw;
  border-radius: 10px;
  overflow: hidden; }
  @media (max-width: 414px) {
    .user {
      width: 80vw;
      margin: auto; } }
  @media (min-width: 414px) {
    .user {
      position: absolute;
      top: 50%;
      right: 10vw;
      transform: translateY(-50%); } }
  .user tr {
    padding: 5px; }
  .user th {
    position: relative;
    left: 50vw;
    opacity: 0;
    min-width: 80px;
    text-align: left;
    line-height: 2; }
  .user td {
    position: relative;
    left: 50vw;
    opacity: 0;
    padding-left: 10px;
    max-width: 40vw; }

/*作品*/
#works {
  position: relative; }

.left {
  margin-left: 10vw; }
  @media (min-width: 414px) {
    .left {
      margin-top: -5vh; } }

@media (min-width: 414px) {
  .right {
    float: right;
    margin-right: 10vw;
    margin-top: -5vh; } }

@media (max-width: 414px) {
  .right {
    margin: 10vw 10vw; } }

.clear {
  clear: both; }

.panel {
  overflow: hidden;
  width: 35vw; }
  @media (max-width: 414px) {
    .panel {
      width: 80vw; } }

.frame {
  position: relative;
  top: 100vh; }

.panel img {
  width: 100%;
  max-height: 50vh;
  filter: grayscale(1);
  margin-top: 1vh; }
  .panel img:hover {
    transform: translateY(-1vh);
    filter: grayscale(0); }

.modal {
  display: none;
  position: absolute;
  top: 0px;
  left: 0px;
  background-color: #e3e3e3;
  overflow: hidden;
  padding: 10vh 10vw;
  width: 100%;
  box-sizing: border-box;
  z-index: 2; }
  .modal img {
    width: 50vw;
    margin: auto;
    vertical-align: middle;
    display: block; }
  .modal p {
    width: 50vw;
    margin: auto;
    padding-left: 2vw; }
  .modal-detail {
    font-size: 2vw;
    font-weight: bold;
    margin-left: -2vw; }

/*お問合わせフォーム*/
#contact {
  min-height: 80vh;
  margin-bottom: 10vh; }

form {
  margin: auto;
  vertical-align: top;
  overflow: hidden;
  width: 80vw; }
  @media (min-width: 414px) {
    form {
      width: 70vw; } }

.form-g {
  overflow: hidden; }

@media (min-width: 414px) {
  .err-msg {
    margin-left: 30vw; } }

.formtag {
  width: 60vw;
  display: block;
  line-height: 2;
  vertical-align: middle; }
  @media (min-width: 414px) {
    .formtag {
      float: left;
      margin-left: 10vw;
      margin-right: 5vw;
      width: 15vw; } }

input[type="text"] {
  width: 60vw;
  height: 10vh;
  min-height: 20px;
  max-height: 40px;
  margin-bottom: 5vh;
  border: 1px solid #dcdcdc; }
  @media (min-width: 414px) {
    input[type="text"] {
      float: left;
      width: 30vw; } }

textarea {
  width: 60vw;
  height: 25vh;
  min-height: 50px;
  max-height: 100px;
  margin-bottom: 5vh;
  border: 1px solid #dcdcdc; }
  @media (min-width: 414px) {
    textarea {
      float: left;
      width: 30vw; } }

input[type="submit"] {
  background: none;
  width: 60vw;
  height: 40px; }
  @media (min-width: 414px) {
    input[type="submit"] {
      margin-right: 10vw;
      float: right;
      width: 30vw; } }

.error {
  color: red; }

.error input,
.error textarea {
  border: 1px solid red; }

.success {
  color: black; }

.success input,
.success textarea {
  border: 1px solid black; }

footer {
  height: 10vh;
  text-align: center; }
