@charset "UTF-8";
/* common
=================================================================== */
@import url("https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;600;700;800&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;500;700&display=swap");
@font-face {
  font-family: "Alinaregular";
  src: url("/webfonts/38F0A3_0_0.eot");
  src: url("/webfonts/38F0A3_0_0.eot?#iefix") format("embedded-opentype"), url("/webfonts/38F0A3_0_0.woff2") format("woff2"), url("/webfonts/38F0A3_0_0.woff") format("woff"), url("/webfonts/38F0A3_0_0.ttf") format("truetype");
}
/* color
================================================*/
/* top opening animation
================================================*/
/* layout
=================================================================== */
/* animation delay
=================================================================== */
/* font
=================================================================== */
/* font-ag
================================================*/
/* vw font
=================================================================== */
/* vw
================================================*/
/* vh
================================================*/
body {
  animation: fadeIn 4s ease 0s 1 normal;
  -webkit-animation: fadeIn 4s ease 0s 1 normal;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.js-animation {
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all 2s;
}

.js-animation.is-show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0px);
}

.projectBlock {
  opacity: 0;
  -webkit-animation-name: fade01;
          animation-name: fade01;
  -webkit-animation-duration: 5s;
          animation-duration: 5s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

@-webkit-keyframes fade01 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fade01 {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
#control {
  position: fixed;
  bottom: 60vh;
  left: 0%;
  margin-left: 0;
  width: 550px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 101;
  transform: rotate(90deg);
  transform-origin: 70px 0vh;
}
#control:before {
  position: absolute;
  content: "部屋の音が聴けます";
  width: 24px;
  height: 160px;
  padding: 30px 0 30px 3px;
  background: rgba(244, 244, 244, 0.8);
  border-radius: 12px;
  transform: rotate(-90deg);
  top: -68px;
  left: 50px;
  text-align: center;
  line-height: 1.2;
  font-size: 1rem;
  box-sizing: border-box;
}
#control:after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 0 5px 8px;
  border-color: transparent transparent transparent #F4F4F4;
  top: 7px;
  left: 141px;
}

#contents .projectBlock {
  max-width: 53vw;
  margin: 0 auto;
  padding: 0 1vw;
}
#contents .projectBlock .title {
  margin: 90px auto 80px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
#contents .projectBlock h1 {
  height: 120px;
  line-height: 120px;
  font-size: 3.6rem;
  margin-bottom: 20px;
}
#contents .projectBlock h1 span {
  display: block;
  width: 100%;
}
#contents .projectBlock .area {
  display: inline-block;
  font-size: 1.2rem;
  line-height: 1;
  padding: 4px 1em;
  border: solid 1px #E3E3E3;
}
#contents .projectBlock .contentsWrap {
  margin-bottom: 110px;
}
#contents .projectBlock .txt {
  margin-bottom: 60px;
}
#contents .projectBlock .img {
  margin-bottom: 80px;
}
#contents .projectBlock .name {
  padding-top: 56px;
  text-align: right;
}

#gblFooter {
  width: 100vw;
  padding-bottom: 20px;
  font-size: 1rem;
  color: #868686;
  text-align: center;
}

@media (max-width: 1024px) {
  #contents .projectBlock {
    max-width: 70vw;
  }
}
@media (max-width: 767px) {
  #control {
    bottom: auto;
    top: 40%;
    left: auto;
    right: -470px;
  }

  #contents .projectBlock {
    max-width: 85vw;
    padding: 0 3vw 0 1vw;
  }
  #contents .projectBlock .title {
    margin: 90px auto 40px;
  }
  #contents .projectBlock h1 {
    font-size: 2.6rem;
    line-height: 40px;
    height: auto;
    padding-bottom: 20px;
  }
  #contents .projectBlock .txt {
    font-size: 1.4rem;
    margin-bottom: 40px;
  }
  #contents .projectBlock .img {
    margin-bottom: 30px;
  }

  #gblFooter {
    position: absolute;
    width: 100vw;
    background: #FFF;
  }
}