@charset "utf-8";body {
     width: 100%;
}

.top {
     width: 50%;
     margin: 0 auto 3%;
     text-align: center;
}

.headline {
     border-bottom: thin solid #a9a9a9;
     width: 100%;
     margin: 10% auto 2%;
     font-size: 2.8em;
     line-height: 2.0em;
     color: #696969;
     padding-left: 2%;
}

.intro {
     width: 50%;
     margin: auto;
      font-size: 2.0em;
      line-height: 2.0em;
      color: #696969;
      margin-bottom: 4%;
}

.contents {
     width: 50%;
     margin: auto;
 }
 .contents img {
      width: 100%;
 }
 .contents .text {
       font-size: 1.6em;
       line-height: 2.0em;
       color: #696969;
       margin: 2% auto 10%;
 }

 .contents .text0 {
       width:70%;
       font-size: 1.6em;
       line-height: 2.0em;
       color: #696969;
       margin: 3% auto 0;
 }

.contents .flexbox {
      width:100%;
      display: flex;
      flex-wrap: wrap;
      flex-direction: row;
      justify-content: space-between;
      align-items: flex-end;
      margin: 0 auto;
 }

.contents .flexbox2 {
      width:70%;
      display: flex;
      flex-wrap: wrap;
      flex-direction: row;
      justify-content: space-between;
      align-items: flex-start;
      margin: 0 auto;
 }

.contents .flexbox3 {
      width:46%;
      display: flex;
      flex-wrap: wrap;
      flex-direction: row;
      justify-content: space-between;
      align-items: flex-start;
      margin: 0 auto 15%;
 }

.contents .flexbox .box0 {
      width: 70%;
      margin: 3% auto 0;
 }

.contents .flexbox .box05 {
      width: 100%;
      margin: 0 auto 3%;
 }

.contents .flexbox .box1 {
      width: 49%;
      margin: 0 0 3% 0;
 }

.contents .flexbox .box4 {
      width: 32%;
      margin: 0 auto 3%;
 }

.contents .flexbox2 .box2 {
      width: 32%;
      margin: 0 0 5% 0;
}

.contents .flexbox3 .box3 {
      width: 48.5%;
      margin: 10% auto 0;
}

.contents .flexbox3 .box4 {
      width: 48.5%;
      margin: 0 0 5% 0;
}

.contents .itemname  {
      color: #696969;
      font-size: 1.4em;
      line-height: 1.6em;
      text-align: center;
      margin-top: 3%;
}


.itemlink a{
  display: block;
  width: 25%;
  background: #444444;
  color: #fff;
  font-size: 1.6em;
  padding: 2% 4%;
  margin: 0 auto 1%;
  text-align: center;
}

    .scroll-fade {
        opacity: 0;
    }

 @media screen and (max-width: 767px) {

 .top {
     width: 100%;
     margin: 0 auto 8%;
     text-align: center;
 }

.headline {
     border-bottom: thin solid #a9a9a9;
     width: 100%;
     margin: 10% auto 0;
     font-size: 2.0em;
     line-height: 2.0em;
     color: #696969;
}

 .intro {
     width: 80%;
     font-size: 1.6em;
     line-height: 1.8em;
     color: #696969;
     margin: 0 auto 12%;
 }

 .contents {
     width: 90%;
     margin: 0 auto;
 }

 .contents .text {
     font-size: 1.4em;
      line-height: 1.6em;
      color: #696969;
       margin: 5% auto 10%;
 }

.contents .flexbox {
     display: flex;
     width: 100%;
     margin: 5% auto;
 }

.contents .flexbox .box0 {
      width: 100%;
      margin: 0 auto 4%;
 }

 .contents .text0 {
      width: 100%;
      font-size: 1.4em;
      line-height: 1.6em;
      color: #696969;
      margin: 2% auto;
 }

contents .flexbox .box1 {
      width: 100%;
      margin: 5% auto 0;
 }

.contents .flexbox2 {
      width:80%;
      margin: 0 auto;
 }

.contents .flexbox3 {
      width:54%;;
      margin: 0 auto 10%;
 }

.contents .flexbox3 .box3 {
      width: 48%;
      margin: 10% auto;
}

.contents .flexbox3 .box4 {
      width: 48%;
      margin: 0 0 10% 0;
}

.contents .flexbox .box05 {
      width: 100%;
      margin: 0 auto;
 }

.contents .flexbox .box4 {
      width: 100%;
      margin: 0 auto 5%;
 }

.contents .itemname  {
      font-size: 1.0em;
      line-height: 1.4em;
      text-align: center;
      margin-top: 3%;
}

.contents .flexbox:last-child {
      margin: 5% 0 10% 0;
 }

.contents .flexbox .box1 {
     flex-direction: column;
     width: 100%;
     margin: 0 auto;
 }

.contents .flexbox .box1:nth-child(even) {
      width: 100%;
      margin: 5% 0 5%  0;
 }

.contents .flexbox .box2 {
     width: 100%;
 }

.contents .flexbox .box2:nth-child(even) {
      width: 90%;
      margin: 5% auto 10%;
 }

.itemlink a{
  display: block;
  width: 70%;
  background: #444444;
  color: #fff;
  font-size: 1.2em;
  padding: 5% 3%;
  margin: 3% auto;
  text-align: center;
}
}