@charset "UTF-8";
body {
  background-color: #f5f5f5;
}

body .loading {
  width: 100vw;
  height: 100vh;
  background-color: #f5f5f5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  opacity: 1;
  z-index: 3;
  -webkit-animation-name: loadingAnime1;
          animation-name: loadingAnime1;
  -webkit-animation-delay: 4s;
          animation-delay: 4s;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

@-webkit-keyframes loadingAnime1 {
  0% {
    opacity: 1;
    z-index: 3;
  }
  99% {
    z-index: 3;
  }
  100% {
    opacity: 0;
    z-index: -2;
  }
}

@keyframes loadingAnime1 {
  0% {
    opacity: 1;
    z-index: 3;
  }
  99% {
    z-index: 3;
  }
  100% {
    opacity: 0;
    z-index: -2;
  }
}

body .loading svg {
  width: 200px;
  height: 200px;
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-45%, -50%) rotate(-90deg);
          transform: translate(-45%, -50%) rotate(-90deg);
}

body .loading svg circle {
  fill: transparent;
  stroke: #000;
  stroke-width: .25px;
  -webkit-animation-name: loadingAnime2;
          animation-name: loadingAnime2;
  -webkit-animation-duration: 5s;
          animation-duration: 5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

@-webkit-keyframes loadingAnime2 {
  from {
    stroke-dasharray: 0 1000;
  }
  to {
    stroke-dasharray: 1000 0;
  }
}

@keyframes loadingAnime2 {
  from {
    stroke-dasharray: 0 1000;
  }
  to {
    stroke-dasharray: 1000 0;
  }
}

body .loading img {
  width: 50px;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

body .loading p {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: .75em 0 0 1.25em;
  font-family: 'M PLUS Rounded 1c', sans-serif;
  font-size: .5em;
  color: rgba(34, 34, 34, 0.75);
  letter-spacing: .1em;
}

body #particles-js {
  position: fixed;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-color: #f5f5f5;
}

body #indexHeader {
  width: 100%;
  height: 100vh;
  position: relative;
  z-index: 2;
}

body #indexHeader .headerIcon {
  width: 50px;
  height: 50px;
  border: solid 1px rgba(34, 34, 34, 0.75);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: fixed;
  top: 5px;
  left: 5px;
}

body #indexHeader .headerIcon::after {
  content: '';
  width: 50px;
  height: 50px;
  border-right: solid 1px rgba(34, 34, 34, 0.75);
  border-bottom: solid 1px rgba(34, 34, 34, 0.75);
  position: absolute;
  top: -5px;
  left: -5px;
}

body #indexHeader .headerIcon a {
  width: 65%;
  height: 65%;
  -webkit-transform: translate(-1.5px, -1.5px);
          transform: translate(-1.5px, -1.5px);
  z-index: 3;
  -webkit-transition-duration: .5s;
          transition-duration: .5s;
}

body #indexHeader .headerIcon a img {
  width: 100%;
  height: 100%;
  opacity: 0;
  -webkit-transform: translateY(25px);
          transform: translateY(25px);
  -webkit-animation-name: headerAnime;
          animation-name: headerAnime;
  -webkit-animation-delay: 5s;
          animation-delay: 5s;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

@-webkit-keyframes headerAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(25px);
            transform: translateY(25px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes headerAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(25px);
            transform: translateY(25px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

body #indexHeader .headerIcon a:hover {
  opacity: .5;
}

body #indexHeader .headerContents {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  position: fixed;
  bottom: 5vh;
  right: 5%;
  opacity: 0;
  -webkit-transform: translateY(25px);
          transform: translateY(25px);
  -webkit-animation-name: headerAnime;
          animation-name: headerAnime;
  -webkit-animation-delay: 5s;
          animation-delay: 5s;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

@keyframes headerAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(25px);
            transform: translateY(25px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

body #indexHeader .headerContents .headerContentsH1 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 25px;
}

body #indexHeader .headerContents .headerContentsH1 img {
  width: 100%;
  height: 100%;
}

body #indexHeader .headerContents .headerContentsH1:hover {
  cursor: text;
}

body #indexHeader .headerContents ul {
  margin-top: .25em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

body #indexHeader .headerContents ul li {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: .75em;
  font-family: 'M PLUS Rounded 1c', sans-serif;
  font-weight: 300;
  color: rgba(34, 34, 34, 0.75);
  letter-spacing: .1em;
  -webkit-transition-duration: .5s;
          transition-duration: .5s;
  cursor: pointer;
}

body #indexHeader .headerContents ul li:hover {
  opacity: .5;
}

body #indexHeader .headerScroll {
  width: 1px;
  height: 200px;
  background-color: rgba(34, 34, 34, 0.75);
  position: fixed;
  bottom: 0;
  left: 1%;
}

body #indexHeader .headerScroll::after {
  content: '';
  width: 3px;
  height: 3px;
  background-color: #222;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-animation-name: headerScrollAnime;
          animation-name: headerScrollAnime;
  -webkit-animation-duration: 5s;
          animation-duration: 5s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
}

@-webkit-keyframes headerScrollAnime {
  0% {
    top: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    top: 200px;
    opacity: 0;
  }
}

@keyframes headerScrollAnime {
  0% {
    top: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    top: 200px;
    opacity: 0;
  }
}

body #indexMain {
  width: 100%;
}

body #indexMain .mainFlexBgImg {
  width: 90%;
  height: 75vh;
  background-image: url(../images/mainFlexBgImg.webp);
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  margin: 0 auto;
  position: relative;
}

body #indexMain .mainFlexBgImg .fadeOut3 {
  width: 100%;
  height: 100%;
  background-color: #f5f5f5;
  opacity: 1;
  z-index: 2;
}

body #indexMain .mainH1, body #indexMain .mainH2 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 50vh 0 0 5%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

body #indexMain .mainH1 svg, body #indexMain .mainH2 svg {
  width: 760px;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  fill: transparent;
  stroke-width: .1px;
  stroke: rgba(34, 34, 34, 0.75);
  opacity: .5;
}

body #indexMain .mainH1 h2, body #indexMain .mainH2 h2 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 1em;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: bold;
  color: #222;
  letter-spacing: .1em;
}

body #indexMain .mainContents h3 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 15vh 0 0 10%;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.5em;
  font-weight: bold;
  color: #222;
  letter-spacing: .1em;
}

body #indexMain .mainContents p:nth-of-type(1) {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 5vh 0 0 10%;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 300;
  color: #222;
  letter-spacing: .1em;
  line-height: 1.5em;
}

body #indexMain .mainContents p:nth-of-type(2) {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-bottom: solid 1px #0000ff;
  margin: 5vh 0 0 10%;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 300;
  color: #0000ff;
  letter-spacing: .1em;
  line-height: 1.5em;
  -webkit-transition-duration: .5s;
          transition-duration: .5s;
}

body #indexMain .mainContents p:nth-of-type(2):hover {
  opacity: .5;
}

body #indexMain .mainWorks1, body #indexMain .mainWorks2, body #indexMain .mainWorks3, body #indexMain .mainWorks4 {
  width: 75%;
  margin: 25vh auto 0 auto;
  position: relative;
}

body #indexMain .mainWorks1 svg, body #indexMain .mainWorks2 svg, body #indexMain .mainWorks3 svg, body #indexMain .mainWorks4 svg {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 100px;
  fill: transparent;
  stroke-width: .1px;
  stroke: rgba(34, 34, 34, 0.75);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

body #indexMain .mainWorks1 .mainWorksContents .mainWorksContentsImg, body #indexMain .mainWorks2 .mainWorksContents .mainWorksContentsImg, body #indexMain .mainWorks3 .mainWorksContents .mainWorksContentsImg, body #indexMain .mainWorks4 .mainWorksContents .mainWorksContentsImg {
  width: 100%;
  -webkit-box-shadow: 0 5px 15px #808080;
          box-shadow: 0 5px 15px #808080;
  margin: 10px auto 0 auto;
  position: relative;
}

body #indexMain .mainWorks1 .mainWorksContents .mainWorksContentsImg a, body #indexMain .mainWorks2 .mainWorksContents .mainWorksContentsImg a, body #indexMain .mainWorks3 .mainWorksContents .mainWorksContentsImg a, body #indexMain .mainWorks4 .mainWorksContents .mainWorksContentsImg a {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
}

body #indexMain .mainWorks1 .mainWorksContents .mainWorksContentsImg a::after, body #indexMain .mainWorks2 .mainWorksContents .mainWorksContentsImg a::after, body #indexMain .mainWorks3 .mainWorksContents .mainWorksContentsImg a::after, body #indexMain .mainWorks4 .mainWorksContents .mainWorksContentsImg a::after {
  content: '｜Digging　';
  width: 100%;
  height: 100%;
  background-color: transparent;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: right;
      -ms-flex-pack: right;
          justify-content: right;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.5em;
  font-weight: 300;
  color: transparent;
  letter-spacing: .1em;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  -webkit-transition-duration: .5s;
          transition-duration: .5s;
}

body #indexMain .mainWorks1 .mainWorksContents .mainWorksContentsImg a:hover::after, body #indexMain .mainWorks2 .mainWorksContents .mainWorksContentsImg a:hover::after, body #indexMain .mainWorks3 .mainWorksContents .mainWorksContentsImg a:hover::after, body #indexMain .mainWorks4 .mainWorksContents .mainWorksContentsImg a:hover::after {
  background-color: rgba(34, 34, 34, 0.75);
  color: #f5f5f5;
}

body #indexMain .mainWorks1 .mainWorksContents .mainWorksContentsImg img, body #indexMain .mainWorks2 .mainWorksContents .mainWorksContentsImg img, body #indexMain .mainWorks3 .mainWorksContents .mainWorksContentsImg img, body #indexMain .mainWorks4 .mainWorksContents .mainWorksContentsImg img {
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

body #indexMain .mainWorks1 .mainWorksContents .mainWorksContentsImg ul, body #indexMain .mainWorks2 .mainWorksContents .mainWorksContentsImg ul, body #indexMain .mainWorks3 .mainWorksContents .mainWorksContentsImg ul, body #indexMain .mainWorks4 .mainWorksContents .mainWorksContentsImg ul {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  bottom: -35px;
  right: 1%;
}

body #indexMain .mainWorks1 .mainWorksContents .mainWorksContentsImg ul li, body #indexMain .mainWorks2 .mainWorksContents .mainWorksContentsImg ul li, body #indexMain .mainWorks3 .mainWorksContents .mainWorksContentsImg ul li, body #indexMain .mainWorks4 .mainWorksContents .mainWorksContentsImg ul li {
  width: 25px;
  height: 25px;
  margin-left: 10px;
}

body #indexMain .mainWorks1 .mainWorksContents .mainWorksContentsImg ul li img, body #indexMain .mainWorks2 .mainWorksContents .mainWorksContentsImg ul li img, body #indexMain .mainWorks3 .mainWorksContents .mainWorksContentsImg ul li img, body #indexMain .mainWorks4 .mainWorksContents .mainWorksContentsImg ul li img {
  width: 100%;
  height: 100%;
}

body #indexMain .mainWorks1 .mainWorksContents .mainWorksContentsImg ul li:nth-of-type(4), body #indexMain .mainWorks2 .mainWorksContents .mainWorksContentsImg ul li:nth-of-type(4), body #indexMain .mainWorks3 .mainWorksContents .mainWorksContentsImg ul li:nth-of-type(4), body #indexMain .mainWorks4 .mainWorksContents .mainWorksContentsImg ul li:nth-of-type(4) {
  margin-top: 5px;
}

body #indexMain .mainWorks1 .mainWorksContents .mainWorksContentsImg ul li:nth-of-type(5), body #indexMain .mainWorks2 .mainWorksContents .mainWorksContentsImg ul li:nth-of-type(5), body #indexMain .mainWorks3 .mainWorksContents .mainWorksContentsImg ul li:nth-of-type(5), body #indexMain .mainWorks4 .mainWorksContents .mainWorksContentsImg ul li:nth-of-type(5) {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 22.5px;
  margin: 2.5px 0 0 15px;
}

body #indexMain .mainWorks1 .mainWorksContents h4, body #indexMain .mainWorks2 .mainWorksContents h4, body #indexMain .mainWorks3 .mainWorksContents h4, body #indexMain .mainWorks4 .mainWorksContents h4 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin: .25em 0 0 5%;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 2em;
  font-weight: bold;
  color: #222;
  letter-spacing: .1em;
  line-height: 1em;
}

body #indexMain .mainWorks1 .mainWorksContents h4 span, body #indexMain .mainWorks2 .mainWorksContents h4 span, body #indexMain .mainWorks3 .mainWorksContents h4 span, body #indexMain .mainWorks4 .mainWorksContents h4 span {
  font-size: .5em;
  color: rgba(34, 34, 34, 0.5);
}

body #indexMain .mainWorks1 .mainWorksContents p, body #indexMain .mainWorks2 .mainWorksContents p, body #indexMain .mainWorks3 .mainWorksContents p, body #indexMain .mainWorks4 .mainWorksContents p {
  width: 90%;
  margin: 15px 0 0 5%;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 300;
  color: #222;
  letter-spacing: .1em;
  line-height: 1.5em;
}

body #indexMain .mainWorks1 .mainWorksContents .mainWorksContentsImg ul li:nth-of-type(2), body #indexMain .mainWorks2 .mainWorksContents .mainWorksContentsImg ul li:nth-of-type(2) {
  width: 21px;
  height: 21.5px;
  margin-top: 5px;
}

body footer {
  width: 100%;
  height: 2.5vh;
  margin-top: 50vh;
  background-color: rgba(34, 34, 34, 0.9);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

body footer p {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: .75em;
  font-weight: 300;
  color: #f5f5f5;
  letter-spacing: .1em;
}

body .fadeOut1_1, body .fadeOut1_4 {
  stroke: transparent;
  stroke-dasharray: 0 100;
}

body .fadeIn1_1, body .fadeIn1_4 {
  stroke: rgba(34, 34, 34, 0.75);
  stroke-dasharray: 0 100;
  -webkit-animation-name: fadeInAnime;
          animation-name: fadeInAnime;
  -webkit-animation-duration: 5s;
          animation-duration: 5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

@-webkit-keyframes fadeInAnime {
  0% {
    stroke-dasharray: 0 100;
  }
  50% {
    stroke-dasharray: 75 0;
  }
  100% {
    stroke-dasharray: 100 0;
  }
}

@keyframes fadeInAnime {
  0% {
    stroke-dasharray: 0 100;
  }
  50% {
    stroke-dasharray: 75 0;
  }
  100% {
    stroke-dasharray: 100 0;
  }
}

body .fadeOut1_2, body .fadeOut1_5 {
  opacity: 0;
}

body .fadeIn1_2, body .fadeIn1_5 {
  opacity: 1;
  -webkit-transition-delay: 1s;
          transition-delay: 1s;
  -webkit-transition-duration: 2s;
          transition-duration: 2s;
}

body .fadeOut1_3, body .fadeOut1_6 {
  -webkit-transform: translateY(25px);
          transform: translateY(25px);
  opacity: 0;
}

body .fadeIn1_3, body .fadeIn1_6 {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
  -webkit-transition-delay: 2s;
          transition-delay: 2s;
  -webkit-transition-duration: 1s;
          transition-duration: 1s;
}

body .fadeOut2_1, body .fadeOut2_3, body .fadeOut2_5, body .fadeOut2_7 {
  stroke: transparent;
  stroke-dasharray: 0 100;
}

body .fadeIn2_1, body .fadeIn2_3, body .fadeIn2_5, body .fadeIn2_7 {
  stroke: rgba(34, 34, 34, 0.75);
  stroke-dasharray: 0 100;
  -webkit-animation-name: fadeInAnime;
          animation-name: fadeInAnime;
  -webkit-animation-duration: 5s;
          animation-duration: 5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

@keyframes fadeInAnime {
  0% {
    stroke-dasharray: 0 100;
  }
  50% {
    stroke-dasharray: 75 0;
  }
  100% {
    stroke-dasharray: 100 0;
  }
}

body .fadeOut2_2, body .fadeOut2_4, body .fadeOut2_6, body .fadeOut2_8 {
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
  opacity: 0;
}

body .fadeIn2_2, body .fadeIn2_4, body .fadeIn2_6, body .fadeIn2_8 {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
  -webkit-transition-delay: 1s;
          transition-delay: 1s;
  -webkit-transition-duration: 2s;
          transition-duration: 2s;
}

body .fadeIn3 {
  -webkit-animation-name: fadeIn3Anime;
          animation-name: fadeIn3Anime;
  -webkit-animation-duration: 3s;
          animation-duration: 3s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

@-webkit-keyframes fadeIn3Anime {
  from {
    background-color: #f5f5f5;
    opacity: 1;
    z-index: 2;
  }
  to {
    opacity: 0;
    z-index: -1;
  }
}

@keyframes fadeIn3Anime {
  from {
    background-color: #f5f5f5;
    opacity: 1;
    z-index: 2;
  }
  to {
    opacity: 0;
    z-index: -1;
  }
}
/*# sourceMappingURL=style.css.map */