@charset "utf-8";body {
     width: 100%;
      background-color:  #ffffff;
}

.top {
     width: 50%;
     margin: 0 auto;
     text-align: center;
     background-color:  #ffffff;
     padding: 3%  3% 0    
}

.headline0 {
     width: 90%;
     margin: 0 auto;
     font-size: 4.2em;
     line-height: 1.4em;
     color: #000000;
     padding-left: 0;
}

.headline {
     width: 100%;
     margin: 10% auto 0;
     font-size: 3.5em;
     line-height: 1.5em;
     color: #000000;
     padding-left: 5%;
     transition-property: opacity,transform;
     transition-duration: 4s;
     font-family: serif;
     font-style: italic;
}

.headline2 {
     border-bottom: thin solid #a9a9a9;
     width: 100%;
     margin: 10% auto 0;
     font-size: 4.0em;
     line-height: 1.5em;
     color: #000000;
     padding-left: 2%;
     transition-property: opacity,transform;
     transition-duration: 4s;
     font-style: italic
}

.intro {
     width: 50%;
      margin: 0 auto;
      padding: 4em 4em 0 4em;
      font-size: 2.0em;
      line-height: 2.0em;
      color: #000000;
      background-color: #ffffff;
}

.contents {
     width: 50%;
     margin: 0 auto;
     background-color:#ffffff;
     padding: 0 0 1% 0;
 }
 .contents img {
      width: 100%;
 }
 .contents .text {
       font-size: 2.0em;
       line-height: 2.0em;
       color: #000000;
       margin: 0 15% 0;
       width: 90%;
 }

 .contents .text0 {
       width:90%;
       font-size: 1.6em;
       line-height: 2.1em;
       color: #000000;
       margin: 5% auto 0;
       clear: both;
 }

.contents .flexbox0 {
      background: #fafafa;
      width:90%;
      display: flex;
      flex-wrap: wrap;
      flex-direction: row;
      justify-content: space-between;
      align-items: flex-end;
      margin: 0 auto;
      padding: 6% 4% 8%;
      clear: both;
 }

.contents .flexbox {
      display: flex;
      flex-wrap: wrap;
      flex-direction: row;
      justify-content: space-between;
      align-items: flex-start;
      margin: 0 auto ;
      clear: both;
 }

.contents .flexbox2 {
      width:100%;
      display: flex;
      flex-wrap: wrap;
      flex-direction: row;
      justify-content: space-between;
      align-items: flex-end;
      margin: 1% auto 0;
      clear: both;
 }

  .flexbox2:nth-child(odd) {
    flex-direction: row-reverse;
  }

.contents .flexbox2 .box1 {
      width: 38%;
      display: flex;
      margin: 0;
      vertical-align: bottom;
      font-size: 1.6em;
      line-height: 1.8em;
      color: #000000;
      background-color: #fafdff
      align-items: center
      border-style: groove
   }

.contents .flexbox3 {
      display: flex;
      flex-wrap: wrap;
      flex-direction: row;
      justify-content: center;
      align-items: flex-start;
      margin: 1% auto 5%;
 }


.contents .flexbox0 .box0 {
      width: 90%;
      margin: 0 auto;
 }

.contents .flexbox .box05 {
      width: 25%;
      margin: 0 2% 0;
　  justify-content:center
 }

.contents .flexbox .box1 {
      width: 70%;
      margin: 2% auto 0;
 }

.contents .flexbox .box4 {
      width: 20%;
      display: flex;
      flex-wrap: wrap;
      flex-direction: row;
      justify-content: center;
      align-items: flex-start;
      margin: 2% auto 0;
 }

.contents .flexbox .box5 {
      width: 25%;
      margin: 0 auto 5%;
 }

.contents .flexbox .box6 {
      width: 80%;
      margin: 8% auto 5%;
 }

.contents .flexbox2 .box2 {
      width: 60%;
      margin: 0;
      z-index:0;
 }

.contents .flexbox2 .box3 {
      width: 32%;
      margin: 0 auto;
}

.contents .flexbox3 .box3 {
      width: 20%;
      justify-content: center;
      margin:  5% 1% 0;
}

.contents .itemname  {
      color: #000000;
      font-size: 1.8em;
      text-align: center;
      margin-top: 5%;
}

.contents .itemprice  {
      color: #000000;
      font-size: 1.5em;
      text-align: center;
      margin-top: 0;
}

.outro {
      font-size: 2.2em;
      line-height: 2.2em;
      color: #000000;
      margin: 0 auto;
      padding: 2em;
      font-style: italic;
      background-color:  #ffffff;
}

   .scroll-fade {
        opacity: 0;
    }

.itemlink a{
  display: block;
  width: 60%;
  background: #444444;
  color: #fff;
  font-size: 1.6em;
  padding: 2% 4%;
  margin: 1% auto 5%;
  text-align: center;
}

.animation-box {
  
}
 
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
 
.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%;}
}

 @media screen and (max-width: 767px) {

 .top {
     width: 100%;
     margin: 0 auto 0;
     text-align: center;
 }

.headline0 {
     width: 100%;
     margin: 0 auto;
     font-size: 2.4em;
     line-height: 0.8em;
     color: #000000;
     padding-left: 0;
}

.headline {
     width: 100%;
     margin: 16% 5% 3%;
     font-size: 1.8em;
     line-height: 1.1em;
     color: #000000;
     font-style: italic;
     padding-left: 0;
}

.headline2 {
     border-bottom: thin solid #a9a9a9;
     width: 100%;
     margin: 10% auto 0;
     font-size: 1.8em;
     line-height: 1.5em;
     color: #696969;
     padding-left: 2%;
     transition-property: opacity,transform;
     transition-duration: 4s;
     font-style: italic
}

 .intro {
     width: 100%;
     font-size: 1.5em;
     line-height: 1.7em;
     color: #000000;
     margin: 0 0 0;
     background-color: #ffffff;
 }

 .contents {
     width: 100%;
     margin: 0 0 0;
     background-color: #ffffff;
 }

 .contents .text {
     font-size: 1.4em;
      line-height: 1.7em;
      color: #000000;
       margin: 0 auto 5%;
       width: 80%;
 }

 .contents .text0 {
      width: 100%;
      font-size: 1.3em;
      line-height: 1.7em;
      color: #696969;
      margin: 7% auto;
 }

.contents .flexbox {
      display: flex;
      flex-wrap: wrap;
      flex-direction: row;
      justify-content: space-between;
      align-items: flex-start;
      margin: 0 auto ;
      clear: both;
 }

.contents .flexbox3 {
      display: flex;
      flex-wrap: wrap;
      flex-direction: row;
      justify-content: center;
      align-items: flex-start;
      margin: 1% auto 5%;
 }

.contents .flexbox0 {
      background: #fafafa;
      width:100%;
      display: flex;
      flex-wrap: wrap;
      flex-direction: row;
      justify-content: space-between;
      align-items: flex-end;
      margin: 0 auto;
      padding: 9% 8% 4%;
      clear: both;
 }

.contents .flexbox0 .box0 {
      width: 100%;
      margin: 0 auto;
 }

.contents .flexbox .box1 {
      width: 100%;
      margin: 3% auto;
      padding: 0% 8% 4%;
 }

.contents .flexbox2 {
      width:80%;
      margin: 5% auto 18%;
 }

.contents .flexbox2 .box2 {
      width: 30%;
      margin: 0 auto;
}

.contents .flexbox2 .box3 {
      width: 32%;
      margin: 0 auto;
}

.contents .flexbox .box05 {
      width: 100%;
      margin: 5% auto;
 }

.contents .flexbox .box4 {
      width: 30%;
      display: flex;
      flex-wrap: wrap;
      flex-direction: row;
      justify-content: center;
      align-items: flex-start;
      margin: 2% auto 0;
 }

.contents .flexbox .box5 {
      width: 100%;
      margin: 0 auto 6%;
 }

.contents .flexbox .box6 {
      width: 100%;
      margin: 10% auto 6%;
 }

.contents .flexbox3 .box3 {
      width: 40%;
      margin: 0 1% 5%;
}

.contents .flexbox2 {
      width:100%;
      display: flex;
      flex-wrap: wrap;
      flex-direction: row;
      justify-content: space-between;
      align-items: flex-end;
      margin: 1% auto 0;
      clear: both;
 }

  .flexbox2:nth-child(odd) {
    flex-direction: row-reverse;
  }

.contents .flexbox2 .box1 {
      width: 38%;
      display: flex;
      margin: 0;
      vertical-align: bottom;
      font-size: 1.6em;
      line-height: 1.8em;
      color: #696969;
      background-color: #ffffff;
      align-items: center
      border-style: groove
   }
.contents .flexbox2 .box2 {
      width: 60%;
      margin: 0;
      z-index:0;
 }

.contents .itemname  {
      font-size: 1.2em;
      text-align: center;
      margin-top: 8%;
}

.contents .itemprice  {
      font-size: 1.0em;
      text-align: center;
      margin-top: 2%;
}

.itemlink a{
  display: block;
  width: 60%;
  background: #444444;
  color: #fff;
  font-size: 1.2em;
  padding: 5% 3%;
  margin: 15% auto;
  text-align: center;
}

.outro {
     width: 85%;
     font-size: 1.6em;
     line-height: 1.7em;
      color: #696969;
      margin: 0 auto;
      padding: 0 3em 0;
      font-style: italic;
}
}