html,body{
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  /* cursor: none; */
}
html{
  font-size: 0px;
  background-color: #fff;
}
a{
  text-decoration: none;
}

#all_wrap{
  position: relative;
  width: 100%;
  height: auto;
  top: 0;
  left: 0;
  min-width: 1200px;
  max-width: 1920px;
  min-height: 100vh;
  margin: 0;
  margin-left: auto;
  margin-right: auto;
  padding: 0;
  overflow: hidden;
  /*
  background:repeating-linear-gradient(
  -45deg,
  #ffffff,
  #ffffff 7px,
  #fffbf0 0,
  #fffbf0 14px
  );
  */
  background-color: #ffffff;
}

#snsParts{
  position: relative;
  width: 100%;
  height: auto;
  margin: 0;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 500px;
  padding: 0;
  background-repeat: no-repeat;
  background-position: center top;
  text-align: center;
}

#snsParts > .headerBG{
  position: relative;
  width: 100%;
  height: 370px;
  top: 0;
  left: 0;
  margin: 0;
  margin-bottom: 70px;
  padding: 0;
  background-repeat: no-repeat;
  background-position: center;
}

#snsParts > img{
  position: relative;
  width: auto;
  height: auto;
  margin: 0;
  margin-bottom: 50px;
  padding: 0;
}

#snsParts > .icon{
  position: relative;
  width: 1200px;
  height: auto;
  margin: 0;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 100px;
  padding: 0;
  text-align: left;
}
#snsParts > .icon > img{
  position: relative;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
}
#snsParts > .icon > nav{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  position: relative;
  width: 1000px;
  height: auto;
  left: 0;
  right: 0;
  margin: 0;
  margin-left: auto;
  margin-right: auto;
  padding: 0;
}
#snsParts > .icon > nav > a{
  display: inline-block;
  position: relative;
  width: 180px;
  height: 180px;
  margin: 20px 10px;
  padding: 0;
  border-radius: 50%;
  border: 1px solid #2d0d0d;
  box-sizing: border-box;
  overflow: hidden;
  transition-duration: 1s;
  transform: translateY(0px);
  opacity: 1;
}
#snsParts > .icon > nav > a:hover{
  transform: translateY(-10px);
  opacity: 0.8;
}
#snsParts > .icon > nav > a > img{
  width: 180px;
  height: auto;
  transition-duration: 0.5s;
  transform: scale(1.0);
}
#snsParts > .icon > nav > a:hover > img{
  transform: scale(1.2);
}

#snsParts > .header{
  position: relative;
  width: 1200px;
  height: auto;
  margin: 0;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 100px;
  padding: 0;
  text-align: left;
}
#snsParts > .header > img{
  position: relative;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
}
#snsParts > .header > nav{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  position: relative;
  width: 1000px;
  height: auto;
  left: 0;
  right: 0;
  margin: 0;
  margin-left: auto;
  margin-right: auto;
  padding: 0;
}
#snsParts > .header > nav > a{
  display: inline-block;
  position: relative;
  width: 1000px;
  height: 333px;
  margin: 20px 0px;
  padding: 0;
  border: 1px solid #2d0d0d;
  box-sizing: border-box;
  overflow: hidden;
  transition-duration: 1s;
  transform: translateY(0px);
  opacity: 1;
}
#snsParts > .header > nav > a:hover{
  transform: translateY(-10px);
  opacity: 0.8;
}
#snsParts > .header > nav > a > img{
  width: 1000px;
  height: auto;
  transition-duration: 0.5s;
  transform: scale(1.0);
}
#snsParts > .header > nav > a:hover > img{
  transform: scale(1.1);
}

.snowWrap{
  position: fixed;
  width: 100%;
  height: 100vh;
  left: 0;
  top: 0;
  overflow: hidden;
  pointer-events: none;
}
.snow {
  /*雪の色*/
  color: snow;
  /*雪の大きさ*/
  font-size: 10px;
  /*初期位置*/
  position: fixed;
  top: -5%;
  /*雪を適当な幅で降らせる*/
  text-shadow:
  5vw   -100px 2px,
  10vw  -400px 3px,
  20vw  -500px 4px,
  30vw  -580px 1px,
  39vw  -250px 2px,
  42vw  -340px 5px,
  56vw  -150px 2px,
  63vw  -180px 0,
  78vw  -220px 4px,
  86vw  -320px 9px,
  94vw  -170px 7px;
  /*雪アニメーション1*/
  animation: roll 5s linear infinite;
}
  /*2つめの雪アニメーション*/
.snow2nd{animation: anim 8s linear infinite;}

@keyframes roll {
    0% {transform:rotate(0deg);}
   90% {opacity:1;}
   100% {transform:rotate(20deg);top:100%;opacity:0;}
}
@keyframes anim {
  100% {color:transparent;top:150%;}
}
