@charset "UTF-8";
/* line 1, sass/_element.scss */
* {
  box-sizing: border-box;
}

/* line 5, sass/_element.scss */
html, body {
  margin: 0;
  padding: 0;
  line-height: 1.5;
  font-family: "メイリオ", "Mayrio", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "sans-serif";
  color: #05335e;
  width: 100%;
}
@media only screen and (max-width: 640px) {
  /* line 5, sass/_element.scss */
  html, body {
    font-size: 12px;
  }
}
@media screen and (min-width: 640px) {
  /* line 5, sass/_element.scss */
  html, body {
    font-size: 14px;
  }
}

/* line 19, sass/_element.scss */
html {
  height: auto;
  overflow: auto;
}
/* line 22, sass/_element.scss */
html body {
  height: auto;
  overflow: auto;
  -webkit-text-size-adjust: 100%;
  background-color: white;
  overflow-x: hidden;
}
/* line 29, sass/_element.scss */
html.is-loading {
  height: 100%;
  overflow: hidden;
}
/* line 32, sass/_element.scss */
html.is-loading body {
  height: 100%;
  overflow: hidden;
}

/* line 39, sass/_element.scss */
h1, h2, h3, h4, h5, h6, p {
  margin: 0;
  padding: 0;
  font-size: 1rem;
}

/* line 44, sass/_element.scss */
h1, h2, h3, th, em, strong {
  font-weight: bold;
}

/* line 48, sass/_element.scss */
ul, ol, dl {
  list-style: none;
  margin: 0;
  padding: 0;
}
/* line 12, ../../source/sass/_mixin.scss */
ul li, ol li, dl li {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* line 52, sass/_element.scss */
figure {
  margin: 0;
  padding: 0;
}

/* line 56, sass/_element.scss */
img, iframe {
  border: 0;
  vertical-align: bottom;
}

/* line 61, sass/_element.scss */
iframe, object, embed {
  outline: none;
  border: 0;
}

/* line 66, sass/_element.scss */
em {
  font-style: normal;
}

/* line 1, sass/mod/_section.scss */
.mod_section {
  position: relative;
  z-index: 30;
}
/* line 4, sass/mod/_section.scss */
.mod_section_wrapper {
  -webkit-transform: skewY(-6deg) translate3d(0, 0, 0);
  transform: skewY(-6deg) translate3d(0, 0, 0);
}
@media screen and (min-width: 640px) {
  /* line 4, sass/mod/_section.scss */
  .mod_section_wrapper {
    -webkit-transform: skewY(-3deg) translate3d(0, 0, 0);
    transform: skewY(-3deg) translate3d(0, 0, 0);
  }
}
/* line 12, sass/mod/_section.scss */
.mod_section_mask {
  overflow: hidden;
}
/* line 15, sass/mod/_section.scss */
.mod_section_content {
  position: absolute;
  top: 0;
  width: 100%;
}
/* line 20, sass/mod/_section.scss */
.mod_section_container {
  -webkit-transform: skewY(6deg) translate3d(0, 0, 0);
  transform: skewY(6deg) translate3d(0, 0, 0);
}
@media only screen and (max-width: 640px) {
  /* line 20, sass/mod/_section.scss */
  .mod_section_container {
    padding: 50px 20px;
  }
}
@media screen and (min-width: 640px) {
  /* line 20, sass/mod/_section.scss */
  .mod_section_container {
    margin-top: -6vw;
    padding-top: 6vw;
    -webkit-transform: skewY(3deg) translate3d(0, 0, 0);
    transform: skewY(3deg) translate3d(0, 0, 0);
  }
}
@media screen and (min-width: 640px) {
  /* line 32, sass/mod/_section.scss */
  .mod_section_container_main {
    position: relative;
    width: 960px;
    margin: auto;
  }
  /* line 37, sass/mod/_section.scss */
  .mod_section_container_main:after {
    content: "";
    display: block;
    clear: both;
  }
}
/* line 45, sass/mod/_section.scss */
.mod_section_heading {
  background-color: white;
  background: -moz-linear-gradient(left, #ffffff 0%, #ffffff 85%, rgba(255, 255, 255, 0));
  background: -webkit-linear-gradient(left, #ffffff 0%, #ffffff 85%, rgba(255, 255, 255, 0));
  background: linear-gradient(to right, #ffffff 0%, #ffffff 85%, rgba(255, 255, 255, 0));
}
@media only screen and (max-width: 640px) {
  /* line 45, sass/mod/_section.scss */
  .mod_section_heading {
    height: 65px;
    padding: 14px 20px;
    margin-left: -20px;
    margin-bottom: 1em;
  }
}
@media screen and (min-width: 640px) {
  /* line 45, sass/mod/_section.scss */
  .mod_section_heading {
    height: 130px;
    margin-bottom: 30px;
    padding: 30px 0;
    background: -moz-linear-gradient(left, #ffffff 0%, #ffffff 60%, rgba(255, 255, 255, 0) 70%);
    background: -webkit-linear-gradient(left, #ffffff 0%, #ffffff 60%, rgba(255, 255, 255, 0) 70%);
    background: linear-gradient(to right, #ffffff 0%, #ffffff 60%, rgba(255, 255, 255, 0) 70%);
  }
  /* line 60, sass/mod/_section.scss */
  .mod_section_heading span {
    display: block;
    width: 960px;
    margin: auto;
  }
}
/* line 66, sass/mod/_section.scss */
.mod_section_heading img {
  height: 100%;
}
/* line 70, sass/mod/_section.scss */
.mod_section_stamp {
  position: absolute;
  top: 0;
  right: 10px;
  width: 110px;
}
/* line 75, sass/mod/_section.scss */
.mod_section_stamp img {
  width: 100%;
}

/* line 1, sass/mod/_visual.scss */
.mod_visual {
  position: relative;
}
@media screen and (min-width: 640px) {
  /* line 1, sass/mod/_visual.scss */
  .mod_visual {
    height: 1020px;
    width: 960px;
    margin: auto;
    padding-top: 550px;
    margin-bottom: -70px;
    background: white url("/hatsunemiku/img/visual_miku.jpg") no-repeat;
    background-position: center 50px;
    background-attachment: fixed;
  }
}
@media only screen and (max-width: 640px) {
  /* line 1, sass/mod/_visual.scss */
  .mod_visual {
    padding-top: 50vw;
  }
  /* line 15, sass/mod/_visual.scss */
  .mod_visual:before {
    display: block;
    content: "";
    position: fixed;
    z-index: 1;
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
    background: white url("/hatsunemiku/img/bg_blank_miku.jpg") no-repeat;
    background-position: center 50px;
    background-size: 110%;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
/* line 32, sass/mod/_visual.scss */
.mod_visual_title {
  z-index: 50;
  border-style: solid;
  border-color: #7bcbe3;
  background: rgba(255, 255, 255, 0.7);
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  text-align: center;
}
/* line 40, sass/mod/_visual.scss */
.mod_visual_title img {
  width: 70%;
}
@media screen and (min-width: 640px) {
  /* line 40, sass/mod/_visual.scss */
  .mod_visual_title img {
    width: 100%;
  }
}
@media only screen and (max-width: 640px) {
  /* line 32, sass/mod/_visual.scss */
  .mod_visual_title {
    position: relative;
    width: 75%;
    margin: 0 auto;
    padding: 20px 0;
    border-width: 1.5px;
  }
}
@media screen and (min-width: 640px) {
  /* line 32, sass/mod/_visual.scss */
  .mod_visual_title {
    position: absolute;
    top: 140px;
    right: 56px;
    width: 370px;
    padding: 35px 40px;
    border-width: 3px;
  }
}
/* line 62, sass/mod/_visual.scss */
.mod_visual_logo {
  margin-bottom: 12px;
}
@media screen and (min-width: 640px) {
  /* line 62, sass/mod/_visual.scss */
  .mod_visual_logo {
    margin-bottom: 20px;
  }
}
/* line 68, sass/mod/_visual.scss */
.mod_visual_description {
  font-size: .85rem;
}
@media screen and (min-width: 640px) {
  /* line 68, sass/mod/_visual.scss */
  .mod_visual_description {
    font-size: 1rem;
  }
}
/* line 74, sass/mod/_visual.scss */
.mod_visual_stamp {
  position: absolute;
  z-index: 50;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
@media only screen and (max-width: 640px) {
  /* line 74, sass/mod/_visual.scss */
  .mod_visual_stamp {
    top: 5px;
    right: 10px;
    width: 110px;
  }
}
@media screen and (min-width: 640px) {
  /* line 74, sass/mod/_visual.scss */
  .mod_visual_stamp {
    top: 20px;
    right: 25px;
    width: 175px;
  }
}
/* line 89, sass/mod/_visual.scss */
.mod_visual_stamp img {
  width: 100%;
}
/* line 93, sass/mod/_visual.scss */
.mod_visual_image {
  position: relative;
  z-index: 50;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
/* line 98, sass/mod/_visual.scss */
.mod_visual_image img {
  width: 100%;
}
@media only screen and (max-width: 640px) {
  /* line 93, sass/mod/_visual.scss */
  .mod_visual_image {
    width: 87.5%;
    margin: -20px auto -20%;
  }
}
@media screen and (min-width: 640px) {
  /* line 93, sass/mod/_visual.scss */
  .mod_visual_image {
    width: 450px;
    margin-left: auto;
    margin-right: 30px;
  }
}

@media screen and (min-width: 640px) {
  /* line 3, sass/mod/_product.scss */
  .mod_product:before {
    display: block;
    content: "";
    position: absolute;
    top: -65px;
    right: 0;
    left: 0;
    z-index: 10;
    width: 900px;
    height: 170px;
    margin: auto;
    background: url("/hatsunemiku/img/item_stamp.png") no-repeat right top;
    background-size: 170px 170px;
  }
}
/* line 20, sass/mod/_product.scss */
.mod_product .mod_section_wrapper {
  background: #7bcbe3;
}
/* line 23, sass/mod/_product.scss */
.mod_product .mod_section_container {
  background-image: url("/hatsunemiku/img/bg_item_miku.png"), url("/hatsunemiku/img/bg_item_white.png");
  background-repeat: no-repeat;
}
@media only screen and (max-width: 640px) {
  /* line 23, sass/mod/_product.scss */
  .mod_product .mod_section_container {
    padding-top: 16vw;
    padding-bottom: 120vw;
    background-position: bottom -20vh right 33%;
    background-size: 300%;
  }
}
@media screen and (min-width: 640px) {
  /* line 23, sass/mod/_product.scss */
  .mod_product .mod_section_container {
    height: 1000px;
    background-position: top 60px center, bottom 280px center;
  }
  /* line 36, sass/mod/_product.scss */
  .mod_product .mod_section_container_main {
    background: url("/hatsunemiku/img/bg_cloud.png") no-repeat left 170px bottom 20px;
  }
}
@media screen and (min-width: 640px) {
  /* line 41, sass/mod/_product.scss */
  .mod_product_heading {
    margin-top: 100px;
  }
}
/* line 46, sass/mod/_product.scss */
.mod_product_stamp {
  top: auto;
  bottom: 90vw;
  right: 20px;
}
/* line 51, sass/mod/_product.scss */
.mod_product_description {
  margin-bottom: 1em;
}
/* line 56, sass/mod/_product.scss */
.mod_product_item img, .mod_product_image img {
  width: 100%;
}
/* line 60, sass/mod/_product.scss */
.mod_product_item {
  margin: 0 0 20px;
}
@media screen and (min-width: 640px) {
  /* line 60, sass/mod/_product.scss */
  .mod_product_item {
    float: left;
    width: 230px;
    margin-right: 20px;
  }
}
/* line 67, sass/mod/_product.scss */
.mod_product_item_name {
  margin-bottom: 10px;
}
/* line 70, sass/mod/_product.scss */
.mod_product_item_description {
  text-align: center;
}
@media only screen and (max-width: 640px) {
  /* line 70, sass/mod/_product.scss */
  .mod_product_item_description {
    margin: .3em 0 .5em;
    font-size: .85rem;
  }
}
@media screen and (min-width: 640px) {
  /* line 70, sass/mod/_product.scss */
  .mod_product_item_description {
    margin: 10px 0;
    font-size: .9rem;
  }
}

@media only screen and (max-width: 640px) {
  /* line 1, sass/mod/_clearfile.scss */
  .mod_clearfile {
    margin-top: -40px;
  }
}
@media screen and (min-width: 640px) {
  /* line 1, sass/mod/_clearfile.scss */
  .mod_clearfile {
    margin-top: -130px;
  }
}
/* line 8, sass/mod/_clearfile.scss */
.mod_clearfile .mod_section_wrapper {
  -webkit-transform: skewY(4deg) translate3d(0, 0, 0);
  transform: skewY(4deg) translate3d(0, 0, 0);
  z-index: 60;
  background: -moz-linear-gradient(left, #cceaff 0%, #dff2ff 33%, #ffbbd1 100%);
  background: -webkit-linear-gradient(left, #cceaff 0%, #dff2ff 33%, #ffbbd1 100%);
  background: linear-gradient(to right, #cceaff 0%, #dff2ff 33%, #ffbbd1 100%);
}
/* line 14, sass/mod/_clearfile.scss */
.mod_clearfile .mod_section_content {
  z-index: 70;
  padding-top: 70px;
}
/* line 18, sass/mod/_clearfile.scss */
.mod_clearfile .mod_section_container {
  position: relative;
  z-index: 10;
  -webkit-transform: skewY(-4deg) translate3d(0, 0, 0);
  transform: skewY(-4deg) translate3d(0, 0, 0);
  background-image: url("/hatsunemiku/img/bg_particle.png");
  background-repeat: no-repeat;
}
@media only screen and (max-width: 640px) {
  /* line 18, sass/mod/_clearfile.scss */
  .mod_clearfile .mod_section_container {
    padding-top: 40px;
    padding-bottom: 15px;
    background-position: 10% 55%;
    background-size: 170%;
  }
}
@media screen and (min-width: 640px) {
  /* line 18, sass/mod/_clearfile.scss */
  .mod_clearfile .mod_section_container {
    height: 800px;
    background-position: center 55%;
  }
}
/* line 36, sass/mod/_clearfile.scss */
.mod_clearfile_heading {
  background-color: #ffadcd;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
@media only screen and (max-width: 640px) {
  /* line 36, sass/mod/_clearfile.scss */
  .mod_clearfile_heading {
    background: -moz-linear-gradient(left, #ffadcd 0%, #ffadcd 70%, rgba(255, 173, 205, 0) 80%);
    background: -webkit-linear-gradient(left, #ffadcd 0%, #ffadcd 70%, rgba(255, 173, 205, 0) 80%);
    background: linear-gradient(to right, #ffadcd 0%, #ffadcd 70%, rgba(255, 173, 205, 0) 80%);
  }
}
@media screen and (min-width: 640px) {
  /* line 36, sass/mod/_clearfile.scss */
  .mod_clearfile_heading {
    background: -moz-linear-gradient(left, #ffadcd 0%, #ffadcd 50%, rgba(255, 173, 205, 0) 60%);
    background: -webkit-linear-gradient(left, #ffadcd 0%, #ffadcd 50%, rgba(255, 173, 205, 0) 60%);
    background: linear-gradient(to right, #ffadcd 0%, #ffadcd 50%, rgba(255, 173, 205, 0) 60%);
  }
}
@media screen and (min-width: 640px) {
  /* line 47, sass/mod/_clearfile.scss */
  .mod_clearfile_description {
    width: 480px;
    font-size: 1.15rem;
  }
  /* line 51, sass/mod/_clearfile.scss */
  .mod_clearfile_description strong {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 640px) {
  /* line 56, sass/mod/_clearfile.scss */
  .mod_clearfile_stamp {
    right: auto;
    top: auto;
    bottom: 33%;
    left: 10%;
    width: 32%;
  }
}
@media screen and (min-width: 640px) {
  /* line 56, sass/mod/_clearfile.scss */
  .mod_clearfile_stamp {
    width: 170px;
    top: -190px;
    right: 160px;
    z-index: 20;
  }
}
/* line 70, sass/mod/_clearfile.scss */
.mod_clearfile_stamp img {
  width: 100%;
}
@media only screen and (max-width: 640px) {
  /* line 74, sass/mod/_clearfile.scss */
  .mod_clearfile_image {
    width: 50%;
    margin: 30px 0 0 auto;
  }
  /* line 78, sass/mod/_clearfile.scss */
  .mod_clearfile_image img {
    width: 100%;
  }
}
@media screen and (min-width: 640px) {
  /* line 74, sass/mod/_clearfile.scss */
  .mod_clearfile_image {
    position: absolute;
    top: -130px;
    left: 0;
    right: 0;
    width: 960px;
    margin: auto;
    text-align: right;
  }
  /* line 90, sass/mod/_clearfile.scss */
  .mod_clearfile_image img {
    width: 25%;
  }
}
/* line 95, sass/mod/_clearfile.scss */
.mod_clearfile_miku {
  position: relative;
  width: 50%;
  margin-top: -45px;
  text-align: right;
}
@media screen and (min-width: 640px) {
  /* line 95, sass/mod/_clearfile.scss */
  .mod_clearfile_miku {
    width: 250px;
    margin-left: 450px;
  }
}
/* line 104, sass/mod/_clearfile.scss */
.mod_clearfile_miku img {
  width: 60%;
  -webkit-animation: miku 1.4s steps(2) 0s infinite;
  animation: miku 1.4s steps(2) 0s infinite;
}
/* line 109, sass/mod/_clearfile.scss */
.mod_clearfile_miku_pop {
  position: absolute;
  background: url("/hatsunemiku/img/clearfile_pop.png") no-repeat center;
}
@media only screen and (max-width: 640px) {
  /* line 109, sass/mod/_clearfile.scss */
  .mod_clearfile_miku_pop {
    width: 61px;
    height: 65.5px;
    background-size: 61px 65.5px;
  }
  /* line 116, sass/mod/_clearfile.scss */
  .mod_clearfile_miku_pop:before {
    width: 15px;
    height: 23px;
    background-size: 15px 23px;
  }
}
@media screen and (min-width: 640px) {
  /* line 109, sass/mod/_clearfile.scss */
  .mod_clearfile_miku_pop {
    width: 88px;
    height: 94px;
    background-size: 88px 94px;
  }
  /* line 126, sass/mod/_clearfile.scss */
  .mod_clearfile_miku_pop:before {
    width: 23px;
    height: 36px;
    background-size: 23px 36px;
  }
}
/* line 132, sass/mod/_clearfile.scss */
.mod_clearfile_miku_pop:before {
  position: absolute;
  content: "";
  display: block;
  top: -6px;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  background-repeat: no-repeat;
  background-position: center;
}
/* line 145, sass/mod/_clearfile.scss */
.mod_clearfile_miku_number3 {
  top: -30px;
  -webkit-animation: scale1 1.4s steps(2) 0s infinite;
  animation: scale1 1.4s steps(2) 0s infinite;
}
@media screen and (min-width: 640px) {
  /* line 145, sass/mod/_clearfile.scss */
  .mod_clearfile_miku_number3 {
    top: -50px;
    left: 30px;
  }
}
/* line 153, sass/mod/_clearfile.scss */
.mod_clearfile_miku_number3:before {
  background-image: url("/hatsunemiku/img/clearfile_number3.png");
  -webkit-transform: rotate(110deg);
  -moz-transform: rotate(110deg);
  transform: rotate(110deg);
}
/* line 159, sass/mod/_clearfile.scss */
.mod_clearfile_miku_number3 + .mod_clearfile_miku_number3 {
  top: -60px;
  left: 64%;
  -webkit-animation: scale2 1.4s steps(2) 0s infinite;
  animation: scale2 1.4s steps(2) 0s infinite;
}
@media screen and (min-width: 640px) {
  /* line 159, sass/mod/_clearfile.scss */
  .mod_clearfile_miku_number3 + .mod_clearfile_miku_number3 {
    top: -83px;
    left: 70%;
  }
}
/* line 168, sass/mod/_clearfile.scss */
.mod_clearfile_miku_number3 + .mod_clearfile_miku_number3:before {
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  transform: rotate(0deg);
}
/* line 175, sass/mod/_clearfile.scss */
.mod_clearfile_miku_number9 {
  top: -55px;
  left: 17%;
  -webkit-animation: scale3 1.4s steps(2) 0s reverse infinite;
  animation: scale3 1.4s steps(2) 0s reverse infinite;
}
@media screen and (min-width: 640px) {
  /* line 175, sass/mod/_clearfile.scss */
  .mod_clearfile_miku_number9 {
    top: -82px;
    left: 70px;
  }
}
/* line 184, sass/mod/_clearfile.scss */
.mod_clearfile_miku_number9:before {
  background-image: url("/hatsunemiku/img/clearfile_number9.png");
  -webkit-transform: rotate(60deg);
  -moz-transform: rotate(60deg);
  transform: rotate(60deg);
}
/* line 190, sass/mod/_clearfile.scss */
.mod_clearfile_miku_number9 + .mod_clearfile_miku_number9 {
  top: -20px;
  left: 90%;
  -webkit-animation: scale4 1.4s steps(2) 0s reverse infinite;
  animation: scale4 1.4s steps(2) 0s reverse infinite;
}
@media screen and (min-width: 640px) {
  /* line 190, sass/mod/_clearfile.scss */
  .mod_clearfile_miku_number9 + .mod_clearfile_miku_number9 {
    top: -25px;
    left: 225px;
  }
}
/* line 199, sass/mod/_clearfile.scss */
.mod_clearfile_miku_number9 + .mod_clearfile_miku_number9:before {
  -webkit-transform: rotate(-40deg);
  -moz-transform: rotate(-40deg);
  transform: rotate(-40deg);
}

@-webkit-keyframes miku {
  /* line 210, sass/mod/_clearfile.scss */
  0% {
    -webkit-transform: rotateY(0deg) translate3d(0, 0, 0);
    z-index: 10;
  }

  /* line 214, sass/mod/_clearfile.scss */
  100% {
    -webkit-transform: rotateY(360deg) translate3d(15px, 0, 0);
    z-index: 5;
  }
}
@keyframes miku {
  /* line 221, sass/mod/_clearfile.scss */
  0% {
    transform: rotateY(0deg) translate3d(0, 0, 0);
    z-index: 10;
  }

  /* line 225, sass/mod/_clearfile.scss */
  100% {
    transform: rotateY(360deg) translate3d(15px, 0, 0);
    z-index: 5;
  }
}
@-webkit-keyframes scale1 {
  /* line 232, sass/mod/_clearfile.scss */
  0% {
    -webkit-transform: scale(1) rotate(-110deg);
    z-index: 10;
  }

  /* line 236, sass/mod/_clearfile.scss */
  100% {
    -webkit-transform: scale(0.5) rotate(-110deg);
    z-index: 5;
  }
}
@keyframes scale1 {
  /* line 243, sass/mod/_clearfile.scss */
  0% {
    transform: scale(1) rotate(-110deg);
    z-index: 10;
  }

  /* line 247, sass/mod/_clearfile.scss */
  100% {
    transform: scale(0.5) rotate(-110deg);
    z-index: 5;
  }
}
@-webkit-keyframes scale2 {
  /* line 254, sass/mod/_clearfile.scss */
  0% {
    -webkit-transform: scale(1) rotate(0deg);
    z-index: 10;
  }

  /* line 258, sass/mod/_clearfile.scss */
  100% {
    -webkit-transform: scale(0.5) rotate(0deg);
    z-index: 5;
  }
}
@keyframes scale2 {
  /* line 265, sass/mod/_clearfile.scss */
  0% {
    transform: scale(1) rotate(0deg);
    z-index: 10;
  }

  /* line 269, sass/mod/_clearfile.scss */
  100% {
    transform: scale(0.5) rotate(0deg);
    z-index: 5;
  }
}
@-webkit-keyframes scale3 {
  /* line 276, sass/mod/_clearfile.scss */
  0% {
    -webkit-transform: scale(1) rotate(-60deg);
    z-index: 10;
  }

  /* line 280, sass/mod/_clearfile.scss */
  100% {
    -webkit-transform: scale(0.5) rotate(-60deg);
    z-index: 5;
  }
}
@keyframes scale3 {
  /* line 287, sass/mod/_clearfile.scss */
  0% {
    transform: scale(1) rotate(-60deg);
    z-index: 10;
  }

  /* line 291, sass/mod/_clearfile.scss */
  100% {
    transform: scale(0.5) rotate(-60deg);
    z-index: 5;
  }
}
@-webkit-keyframes scale4 {
  /* line 298, sass/mod/_clearfile.scss */
  0% {
    -webkit-transform: scale(1) rotate(40deg);
    z-index: 10;
  }

  /* line 302, sass/mod/_clearfile.scss */
  100% {
    -webkit-transform: scale(0.5) rotate(40deg);
    z-index: 5;
  }
}
@keyframes scale4 {
  /* line 309, sass/mod/_clearfile.scss */
  0% {
    transform: scale(1) rotate(40deg);
    z-index: 10;
  }

  /* line 313, sass/mod/_clearfile.scss */
  100% {
    transform: scale(0.5) rotate(40deg);
    z-index: 5;
  }
}
/* line 1, sass/mod/_memorial.scss */
.mod_memorial {
  margin-top: -40px;
  z-index: 70;
}
/* line 4, sass/mod/_memorial.scss */
.mod_memorial:before {
  content: "";
  display: block;
  position: absolute;
  z-index: 100;
  background: url("/hatsunemiku/img/memorial_stamp.png") no-repeat;
}
@media only screen and (max-width: 640px) {
  /* line 12, sass/mod/_memorial.scss */
  .mod_memorial:before {
    top: -50px;
    left: 30px;
    width: 114px;
    height: 99px;
    background-size: 114px 99px;
  }
}
@media screen and (min-width: 640px) {
  /* line 1, sass/mod/_memorial.scss */
  .mod_memorial {
    margin-top: -100px;
  }
  /* line 22, sass/mod/_memorial.scss */
  .mod_memorial:before {
    top: -85px;
    left: 0;
    right: 0;
    width: 960px;
    height: 151px;
    margin: auto;
    background-size: 174px 151px;
    background-position: left top;
  }
}
/* line 33, sass/mod/_memorial.scss */
.mod_memorial .mod_section_wrapper {
  -webkit-transform: skewY(6deg) translate3d(0, 0, 0);
  transform: skewY(6deg) translate3d(0, 0, 0);
}
/* line 37, sass/mod/_memorial.scss */
.mod_memorial .mod_section_content {
  z-index: 80;
  padding-top: 50px;
}
/* line 41, sass/mod/_memorial.scss */
.mod_memorial .mod_section_container {
  position: relative;
  z-index: 10;
  -webkit-transform: skewY(-6deg) translate3d(0, 0, 0);
  transform: skewY(-6deg) translate3d(0, 0, 0);
  margin-top: -20px;
  padding-top: 50px;
  padding-bottom: 70px;
  background: url("/hatsunemiku/img/bg_memorial_miku.jpg") no-repeat 70% 65%;
  background-size: 1500px auto;
}
@media screen and (min-width: 640px) {
  /* line 41, sass/mod/_memorial.scss */
  .mod_memorial .mod_section_container {
    height: 1130px;
    margin-top: -100px;
    padding-top: 160px;
    padding-bottom: 200px;
    background-position: top -340px center;
    background-size: auto;
  }
}
/* line 59, sass/mod/_memorial.scss */
.mod_memorial .mod_section_container_main {
  background-image: url("/hatsunemiku/img/memorial_crypton.png");
  background-repeat: no-repeat;
}
@media only screen and (max-width: 640px) {
  /* line 59, sass/mod/_memorial.scss */
  .mod_memorial .mod_section_container_main {
    background-position: right 0 bottom 140px;
    background-size: 75px 75px;
  }
}
@media screen and (min-width: 640px) {
  /* line 59, sass/mod/_memorial.scss */
  .mod_memorial .mod_section_container_main {
    width: 960px;
    margin: auto;
    background-position: left 0 bottom 110px;
  }
}
/* line 73, sass/mod/_memorial.scss */
.mod_memorial_heading {
  background: -moz-linear-gradient(left, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0.8) 50%, rgba(255, 255, 255, 0) 80%);
  background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0.8) 50%, rgba(255, 255, 255, 0) 80%);
  background: linear-gradient(to right, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0.8) 50%, rgba(255, 255, 255, 0) 80%);
}
@media screen and (min-width: 640px) {
  /* line 73, sass/mod/_memorial.scss */
  .mod_memorial_heading {
    position: relative;
    z-index: 5;
    margin-bottom: -40px;
    background: -moz-linear-gradient(left, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0.8) 35%, rgba(255, 255, 255, 0) 50%);
    background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0.8) 35%, rgba(255, 255, 255, 0) 50%);
    background: linear-gradient(to right, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0.8) 35%, rgba(255, 255, 255, 0) 50%);
  }
}
@media screen and (min-width: 640px) {
  /* line 82, sass/mod/_memorial.scss */
  .mod_memorial_image {
    width: 720px;
    margin: auto;
  }
}
/* line 87, sass/mod/_memorial.scss */
.mod_memorial_image img {
  width: 100%;
}
/* line 91, sass/mod/_memorial.scss */
.mod_memorial_description {
  margin: 1em 0;
}
@media screen and (min-width: 640px) {
  /* line 91, sass/mod/_memorial.scss */
  .mod_memorial_description {
    text-align: center;
  }
}
/* line 97, sass/mod/_memorial.scss */
.mod_memorial .mod_button {
  margin: 20px 0;
}
@media screen and (min-width: 640px) {
  /* line 97, sass/mod/_memorial.scss */
  .mod_memorial .mod_button {
    float: left;
    width: 350px;
    margin-left: 120px;
  }
  /* line 103, sass/mod/_memorial.scss */
  .mod_memorial .mod_button a {
    padding: 0;
    line-height: 64px;
  }
}
/* line 108, sass/mod/_memorial.scss */
.mod_memorial .mod_button_pink {
  border-color: #ff77b3;
  color: #ff77b3;
}
@media screen and (min-width: 640px) {
  /* line 108, sass/mod/_memorial.scss */
  .mod_memorial .mod_button_pink {
    float: right;
    margin-right: 120px;
    margin-left: 0;
  }
}

/* line 1, sass/mod/_aside.scss */
.mod_aside {
  margin-top: -40px;
  z-index: 80;
}
@media screen and (min-width: 640px) {
  /* line 1, sass/mod/_aside.scss */
  .mod_aside {
    margin-top: -160px;
  }
  /* line 6, sass/mod/_aside.scss */
  .mod_aside .mod_section_wrapper {
    -webkit-transform: skewY(-4deg) translate3d(0, 0, 0);
    transform: skewY(-4deg) translate3d(0, 0, 0);
  }
}
/* line 11, sass/mod/_aside.scss */
.mod_aside .mod_section_container {
  position: relative;
  z-index: 10;
  padding-top: 60px;
  padding-bottom: 20px;
  background: white;
}
@media only screen and (max-width: 640px) {
  /* line 11, sass/mod/_aside.scss */
  .mod_aside .mod_section_container {
    margin-top: -20px;
    margin-bottom: -30px;
    padding-bottom: 50px;
  }
}
@media screen and (min-width: 640px) {
  /* line 11, sass/mod/_aside.scss */
  .mod_aside .mod_section_container {
    height: 450px;
    margin-top: -100px;
    margin-bottom: -70px;
    -webkit-transform: skewY(4deg) translate3d(0, 0, 0);
    transform: skewY(4deg) translate3d(0, 0, 0);
  }
}
/* line 30, sass/mod/_aside.scss */
.mod_aside .mod_section_content {
  top: 70px;
}
/* line 25, ../../source/sass/_mixin.scss */
.mod_aside_website:after {
  content: "";
  display: block;
  clear: both;
}
@media screen and (min-width: 640px) {
  /* line 33, sass/mod/_aside.scss */
  .mod_aside_website {
    width: 720px;
    margin: auto;
  }
}
/* line 40, sass/mod/_aside.scss */
.mod_aside_button {
  float: left;
  width: 46.5%;
  text-align: center;
}
@media screen and (min-width: 640px) {
  /* line 40, sass/mod/_aside.scss */
  .mod_aside_button {
    width: 350px;
  }
}
/* line 47, sass/mod/_aside.scss */
.mod_aside_button a {
  display: block;
  background: #ff90c0;
  padding: 5px 0;
  box-shadow: 0 2px 0 #ee79a7;
  border-radius: 3px;
  font-size: 1.15rem;
  text-decoration: none;
  color: white;
}
@media screen and (min-width: 640px) {
  /* line 47, sass/mod/_aside.scss */
  .mod_aside_button a {
    height: 90px;
    border-radius: 5px;
    box-shadow: 0 8px 0 #ee79a7;
    line-height: 90px;
    font-size: 1.3rem;
  }
}
/* line 64, sass/mod/_aside.scss */
.mod_aside_button + .mod_aside_button {
  float: right;
}
/* line 68, sass/mod/_aside.scss */
.mod_aside_note {
  margin: 1em 0 0;
  font-size: .8rem;
}
@media screen and (min-width: 640px) {
  /* line 68, sass/mod/_aside.scss */
  .mod_aside_note {
    margin-top: 3em;
    text-align: center;
  }
}

/* line 1, sass/mod/_footer.scss */
.mod_footer {
  position: relative;
  z-index: 70;
  margin-top: -30px;
  padding: 50px 0 20px;
  text-align: center;
  color: white;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  background: -moz-linear-gradient(left, #ffbbd1 0%, #e1c4ff 44%, #7bcbe3 100%);
  background: -webkit-linear-gradient(left, #ffbbd1 0%, #e1c4ff 44%, #7bcbe3 100%);
  background: linear-gradient(to right, #ffbbd1 0%, #e1c4ff 44%, #7bcbe3 100%);
}
@media screen and (min-width: 640px) {
  /* line 1, sass/mod/_footer.scss */
  .mod_footer {
    margin-top: -100px;
    padding: 150px 0 30px;
  }
}
/* line 15, sass/mod/_footer.scss */
.mod_footer_logo {
  margin-bottom: 10px;
}
/* line 18, sass/mod/_footer.scss */
.mod_footer_copyright {
  font-size: .7rem;
}
@media screen and (min-width: 640px) {
  /* line 18, sass/mod/_footer.scss */
  .mod_footer_copyright {
    font-size: .8rem;
  }
}
/* line 23, sass/mod/_footer.scss */
.mod_footer_copyright img {
  width: 26.5px;
  margin-left: 5px;
  vertical-align: middle;
}

/* line 1, sass/mod/_blank.scss */
.mod_blank {
  position: relative;
  z-index: 70;
  margin-top: -50px;
}
@media screen and (min-width: 640px) {
  /* line 8, sass/mod/_blank.scss */
  .mod_blank .mod_section_wrapper {
    -webkit-transform: skewY(-5deg) translate3d(0, 0, 0);
    transform: skewY(-5deg) translate3d(0, 0, 0);
    background: white;
    margin-top: -200px;
  }
}
/* line 16, sass/mod/_blank.scss */
.mod_blank .mod_section_container {
  position: relative;
  z-index: 20;
  height: 350px;
  margin: -20px 0;
}
@media screen and (min-width: 640px) {
  /* line 16, sass/mod/_blank.scss */
  .mod_blank .mod_section_container {
    height: 580px;
    margin: -50px 0 0;
    -webkit-transform: skewY(5deg) translate3d(0, 0, 0);
    transform: skewY(5deg) translate3d(0, 0, 0);
    background: url("/hatsunemiku/img/bg_blank_miku.jpg") no-repeat top center;
    background-attachment: fixed;
  }
}
@media only screen and (max-width: 640px) {
  /* line 32, sass/mod/_blank.scss */
  .mod_blank_image {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: url("/hatsunemiku/img/bg_blank_miku.jpg") no-repeat top center;
    background-size: 200%;
  }
}

/* line 1, sass/mod/_button.scss */
.mod_button {
  border-style: solid;
  background: white;
  text-align: center;
}
@media only screen and (max-width: 640px) {
  /* line 1, sass/mod/_button.scss */
  .mod_button {
    height: 50px;
    line-height: 50px;
    font-size: 1.15rem;
    border-width: 1.5px;
  }
}
@media screen and (min-width: 640px) {
  /* line 1, sass/mod/_button.scss */
  .mod_button {
    height: 70px;
    border-width: 3px;
    -webkit-transition: all .25s ease-in-out;
    transition: all .25s ease-in-out;
  }
  /* line 16, sass/mod/_button.scss */
  .mod_button:hover {
    border-color: white;
    color: white;
  }
}
/* line 21, sass/mod/_button.scss */
.mod_button a {
  display: block;
  text-decoration: none;
  color: inherit;
  font-weight: bold;
}
@media screen and (min-width: 640px) {
  /* line 21, sass/mod/_button.scss */
  .mod_button a {
    padding: 10px 0;
  }
}
/* line 30, sass/mod/_button.scss */
.mod_button_blue {
  border-color: #0065b8;
  color: #0065b8;
}
@media screen and (min-width: 640px) {
  /* line 34, sass/mod/_button.scss */
  .mod_button_blue:hover {
    background: #0065b8;
  }
}
/* line 39, sass/mod/_button.scss */
.mod_button_pink {
  border-color: #ff90c0;
  color: #ff90c0;
}
@media screen and (min-width: 640px) {
  /* line 43, sass/mod/_button.scss */
  .mod_button_pink:hover {
    background: #ff90c0;
  }
}

/* line 1, ../../source/sass/_sns.scss */
.mod_sns {
  position: absolute;
  z-index: 50;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
@media only screen and (max-width: 640px) {
  /* line 1, ../../source/sass/_sns.scss */
  .mod_sns {
    top: 10px;
    left: 10px;
  }
}
@media screen and (min-width: 640px) {
  /* line 1, ../../source/sass/_sns.scss */
  .mod_sns {
    top: 30px;
    left: 0;
    right: 0;
    width: 960px;
    margin: auto;
  }
}
/* line 19, ../../source/sass/_sns.scss */
.mod_sns_button {
  display: inline-block;
  margin-right: 4px;
}
@media screen and (min-width: 640px) {
  /* line 19, ../../source/sass/_sns.scss */
  .mod_sns_button {
    margin-right: 5px;
  }
}
/* line 25, ../../source/sass/_sns.scss */
.mod_sns_button a {
  display: inline-block;
  background-image: url("../../img/sns.png");
  background-repeat: no-repeat;
}
@media only screen and (max-width: 640px) {
  /* line 25, ../../source/sass/_sns.scss */
  .mod_sns_button a {
    width: 28px;
    height: 28px;
    background-size: 112px 28px;
  }
}
@media screen and (min-width: 640px) {
  /* line 25, ../../source/sass/_sns.scss */
  .mod_sns_button a {
    width: 30px;
    height: 30px;
    background-size: 120px 30px;
  }
}
/* line 42, ../../source/sass/_sns.scss */
.mod_sns_twitter a {
  background-position: 0 0;
}
@media only screen and (max-width: 640px) {
  /* line 48, ../../source/sass/_sns.scss */
  .mod_sns_facebook a {
    background-position: -28px 0;
  }
  /* line 53, ../../source/sass/_sns.scss */
  .mod_sns_line a {
    background-position: -56px 0;
  }
  /* line 58, ../../source/sass/_sns.scss */
  .mod_sns_instagram a {
    background-position: -84px 0;
  }
}
@media screen and (min-width: 640px) {
  /* line 65, ../../source/sass/_sns.scss */
  .mod_sns_facebook a {
    background-position: -30px 0;
  }
  /* line 69, ../../source/sass/_sns.scss */
  .mod_sns_line {
    display: none;
  }
  /* line 73, ../../source/sass/_sns.scss */
  .mod_sns_instagram a {
    background-position: -90px 0;
  }
}

/* line 1, sass/_indefinite.scss */
.pagetop {
  display: block;
  position: fixed;
  bottom: 50px;
  right: 30px;
  z-index: 1000;
  opacity: 1;
  text-align: right;
  -webkit-transition: opacity .25s ease-in-out;
  transition: opacity .25s ease-in-out;
}
/* line 11, sass/_indefinite.scss */
.pagetop.is-hidden {
  display: block;
  height: auto;
  overflow: visible;
}
/* line 16, sass/_indefinite.scss */
.pagetop a {
  position: relative;
  display: block;
  border-radius: 100%;
  background: #888;
  overflow: hidden;
  color: #888;
}
/* line 23, sass/_indefinite.scss */
.pagetop a:before, .pagetop a:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
/* line 37, sass/_indefinite.scss */
.pagetop a:after {
  background: white;
}
/* line 40, sass/_indefinite.scss */
.pagetop a:before {
  background: #888;
  z-index: 5;
}
@media screen and (min-width: 640px) {
  /* line 16, sass/_indefinite.scss */
  .pagetop a {
    width: 50px;
    height: 50px;
  }
  /* line 47, sass/_indefinite.scss */
  .pagetop a:before, .pagetop a:after {
    width: 15px;
    height: 15px;
  }
  /* line 52, sass/_indefinite.scss */
  .pagetop a:before {
    top: 12px;
  }
  /* line 55, sass/_indefinite.scss */
  .pagetop a:after {
    top: 7px;
  }
}
@media only screen and (max-width: 640px) {
  /* line 16, sass/_indefinite.scss */
  .pagetop a {
    width: 38px;
    height: 38px;
  }
  /* line 62, sass/_indefinite.scss */
  .pagetop a:before, .pagetop a:after {
    width: 12px;
    height: 12px;
  }
  /* line 67, sass/_indefinite.scss */
  .pagetop a:before {
    top: 7px;
  }
  /* line 70, sass/_indefinite.scss */
  .pagetop a:after {
    top: 4px;
  }
}

/* line 77, sass/_indefinite.scss */
.is-desktop {
  display: block;
}
@media only screen and (max-width: 640px) {
  /* line 77, sass/_indefinite.scss */
  .is-desktop {
    display: none;
  }
}

/* line 84, sass/_indefinite.scss */
.is-mobile {
  display: none;
}
@media only screen and (max-width: 640px) {
  /* line 84, sass/_indefinite.scss */
  .is-mobile {
    display: block;
  }
}

/* line 91, sass/_indefinite.scss */
.is-hidden {
  display: none;
  opacity: 0;
  height: 0;
  overflow: hidden;
}

/* line 98, sass/_indefinite.scss */
#loading {
  position: fixed;
  top: 0;
  z-index: 2000;
  width: 100%;
  height: 100%;
  opacity: 1;
  background: white;
  -webkit-transition: opacity .5s ease-in-out;
  -moz-transition: opacity .5s ease-in-out;
  transition: opacity .5s ease-in-out;
}
/* line 109, sass/_indefinite.scss */
#loading.is-view {
  opacity: 0;
}
/* line 111, sass/_indefinite.scss */
#loading.is-view:before, #loading.is-view:after {
  opacity: 0;
}
/* line 116, sass/_indefinite.scss */
#loading:before, #loading:after {
  opacity: 1;
  content: "";
  display: block;
}
/* line 122, sass/_indefinite.scss */
#loading:before {
  position: fixed;
  content: "LOADING...";
  top: 50%;
  z-index: 2100;
  width: 100%;
  margin-top: 50px;
  background: white;
  text-align: center;
  letter-spacing: 2px;
  font-size: 10px;
  font-family: "Arial", "sans-serif";
}
@media screen and (min-width: 640px) {
  /* line 122, sass/_indefinite.scss */
  #loading:before {
    font-size: 12px;
    margin-top: 100px;
  }
}
/* line 139, sass/_indefinite.scss */
#loading:after {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  z-index: 3200;
  background: url("/hatsunemiku/img/loading_miku.png") no-repeat 0 0;
  -webkit-animation: loading 1.4s steps(2) 0s infinite;
  animation: loading 1.4s steps(2) 0s infinite;
}
@media only screen and (max-width: 640px) {
  /* line 139, sass/_indefinite.scss */
  #loading:after {
    width: 80px;
    height: 90.5px;
    background-size: 160px 90.5px;
  }
}
@media screen and (min-width: 640px) {
  /* line 139, sass/_indefinite.scss */
  #loading:after {
    width: 160px;
    height: 181px;
    background-size: 320px 181px;
  }
}

@-webkit-keyframes loading {
  /* line 165, sass/_indefinite.scss */
  0% {
    background-position: 0 0;
  }

  /* line 168, sass/_indefinite.scss */
  100% {
    background-position: 200% 0;
  }
}
@keyframes loading {
  /* line 174, sass/_indefinite.scss */
  0% {
    background-position: 0 0;
  }

  /* line 177, sass/_indefinite.scss */
  100% {
    background-position: 200% 0;
  }
}
