/* mv
***********************************************************/
#mv {
  padding: 96px 0 0;
  position: relative;
}
.mvimg {
  padding: 0 4vw 3vw;
  z-index: 10;
  position: relative;
  width: 100%;
  box-sizing: border-box;
}
.mvimg img {
  display: block;
  width: 100%;
}
.mvtxt {
  position: absolute;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-size: 12px;
  color: #000;
  bottom: 3vw;
  right: 1.8vw;
  z-index: 10;
  letter-spacing: 4px;
  font-weight: 500;
}
.mv_bg {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 50%;
  height: 50%;
  z-index: 0;
  background: linear-gradient(-45deg, #ffeaea, #fffeec, #eefcfb);
  background-size: 400% 400%;
  animation: gradient 10s ease infinite;
}

@keyframes gradient {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}




/* sec01
***********************************************************/
#sec01 {
  padding: 3vw 40px 0;
}
#sec01 h2 {
  padding: 2vw 0 0;
  font-size: 22px;
  font-weight: normal;
  letter-spacing: 8px;
  color: #383838;
  line-height: 2;
}
#sec01 p {
  padding: 4vw 0 0;
  font-size: 16px;
  color: #888;
  line-height: 3;
}
#sec01 p.lead {
  line-height: 1;
  font-size: 20px;
  letter-spacing: 6px;
  background: -moz-linear-gradient(left,  #69d3eb 0%, #f6c5b8 45%, #dbc43a 100%);
  background: -webkit-linear-gradient(left,  #69d3eb 0%,#f6c5b8 45%,#dbc43a 100%);
  background: linear-gradient(to right,  #69d3eb 0%,#f6c5b8 45%,#dbc43a 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: all .4s;
  display: inline-block;
  font-weight: 500;
}

/* footer */
footer {
  margin: 10vw 0 0;
}



/*全体（1100px以下）
***********************************************************/
@media screen and (max-width:1100px) {

}




/*全体（820px以下）
***********************************************************/
@media screen and (max-width:820px) {

/* mv */
#mv {
  padding: 76px 0 0;
  position: relative;
}
.mvimg {
  padding: 0 8vw 10vw;
  z-index: 10;
  position: relative;
  width: 100%;
  box-sizing: border-box;
}
.mvimg img {
  display: block;
  width: 100%;
}
.mvtxt {
  position: absolute;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-size: 12px;
  color: #000;
  bottom: -10vw;
  right: 2.1vw;
  z-index: 10;
  letter-spacing: 4px;
  font-weight: 500;
}
.mv_bg {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 50%;
  height: 60%;
  z-index: 0;
  background: linear-gradient(-45deg, #ffeaea, #fffeec, #eefcfb);
  background-size: 400% 400%;
  animation: gradient 15s ease infinite;
}

/* sec01 */
#sec01 {
  padding: 10vw 30px 0;
}
#sec01 h2 {
  padding: 4vw 0 0;
  font-size: 16px;
  letter-spacing: 4px;
}
#sec01 p {
  padding: 8vw 0 0;
  font-size: 13px;
  letter-spacing: 0px;
}
#sec01 p.lead {
  font-size: 14px;
}

/* footer */
footer {
  margin: 18vw 0 0;
}

}
