@-webkit-keyframes opacity {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes opacity {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/*******************************************************************/
@media only screen and (min-width: 961px) {
  .is-sp {
    display: none;
  }
  .is-pc {
    display: block;
  }
}

@media only screen and (max-width: 960px) {
  .is-pc {
    display: none;
  }
  .is-sp {
    display: block;
  }
}

body {
  font-family: YakuHanMP, "Shippori Mincho", serif;
  position: relative;
  background: #fff;
  z-index: -1;
  font-weight: 500;
  color: #333;
  font-size: 15px;
}

@media only screen and (max-width: 960px) {
  body {
    font-size: 13px;
  }
}

@media only screen and (min-width: 961px) {
  body {
    min-width: 1100px;
  }
}

a {
  color: #eb7da4;
}

@media only screen and (min-width: 961px) {
  a:hover {
    text-decoration: none;
  }
}

.design {
  position: absolute;
  top: 0;
  z-index: 10;
  opacity: 0.3;
}

/*******************************************************************/
.wrapper {
  position: relative;
  background-attachment: fixed;
  -webkit-animation: opacity 1s cubic-bezier(0.5, 1, 0.89, 1) 0.2s forwards;
          animation: opacity 1s cubic-bezier(0.5, 1, 0.89, 1) 0.2s forwards;
  opacity: 0;
  z-index: 1;
}

@media only screen and (max-width: 960px) {
  .wrapper {
    background-size: 250px;
  }
}

.bg_01 {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}

@media only screen and (min-width: 961px) {
  .bg_01 {
    top: -15%;
  }
}

.bg_02 {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: -1;
}

@media only screen and (min-width: 961px) {
  .bg_02 {
    bottom: -45%;
  }
}

@-webkit-keyframes bg_deco-01 {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 0 -122px;
  }
}

@keyframes bg_deco-01 {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 0 -122px;
  }
}

@-webkit-keyframes bg_deco-02 {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 0 122px;
  }
}

@keyframes bg_deco-02 {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 0 122px;
  }
}

.bg_deco::before {
  content: "";
  background: url(../img/bg_repeat.jpg) repeat-y;
  background-size: contain;
  width: 60px;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  -webkit-animation: bg_deco-01 5s linear infinite;
          animation: bg_deco-01 5s linear infinite;
}

@media only screen and (max-width: 960px) {
  .bg_deco::before {
    width: 30px;
  }
}

.bg_deco::after {
  content: "";
  background: url(../img/bg_repeat.jpg) repeat-y;
  background-size: contain;
  width: 60px;
  height: 100%;
  position: fixed;
  top: 0;
  right: 0;
  -webkit-animation: bg_deco-02 5s linear infinite;
          animation: bg_deco-02 5s linear infinite;
}

@media only screen and (max-width: 960px) {
  .bg_deco::after {
    width: 30px;
  }
}

.title {
  width: 20%;
  margin: 0 auto;
  padding-top: 70px;
  opacity: 0;
  -webkit-filter: blur(10px);
          filter: blur(10px);
  -webkit-transition: all 1.5s cubic-bezier(0.33, 1, 0.68, 1) 0.5s;
  transition: all 1.5s cubic-bezier(0.33, 1, 0.68, 1) 0.5s;
}

@media only screen and (max-width: 960px) {
  .title {
    width: 35%;
    padding-top: 60px;
  }
}

.is-load .title {
  opacity: 1;
  -webkit-filter: blur(0);
          filter: blur(0);
}

.lead {
  text-align: center;
  margin-top: 110px;
  line-height: 2em;
  font-size: 20px;
  opacity: 0;
  -webkit-filter: blur(10px);
          filter: blur(10px);
  -webkit-transition: all 1.5s cubic-bezier(0.33, 1, 0.68, 1) 1s;
  transition: all 1.5s cubic-bezier(0.33, 1, 0.68, 1) 1s;
}

@media only screen and (max-width: 960px) {
  .lead {
    font-size: 14px;
    margin-top: 40px;
  }
}

.is-load .lead {
  opacity: 1;
  -webkit-filter: blur(0);
          filter: blur(0);
}

.btn_camera {
  width: 16%;
  margin: 80px auto 0;
  opacity: 0;
  -webkit-filter: blur(10px);
          filter: blur(10px);
  -webkit-transition: all 1.5s cubic-bezier(0.33, 1, 0.68, 1) 1.5s;
  transition: all 1.5s cubic-bezier(0.33, 1, 0.68, 1) 1.5s;
}

@media only screen and (min-width: 961px) {
  .btn_camera img {
    -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.33, 1, 0.68, 1);
    transition: -webkit-transform 0.6s cubic-bezier(0.33, 1, 0.68, 1);
    transition: transform 0.6s cubic-bezier(0.33, 1, 0.68, 1);
    transition: transform 0.6s cubic-bezier(0.33, 1, 0.68, 1), -webkit-transform 0.6s cubic-bezier(0.33, 1, 0.68, 1);
  }
  .btn_camera img:hover {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}

@media only screen and (max-width: 960px) {
  .btn_camera {
    width: 35%;
    margin: 40px auto 0;
  }
}

.is-load .btn_camera {
  opacity: 1;
  -webkit-filter: blur(0);
          filter: blur(0);
}

.about_title {
  width: 42%;
  margin: 110px auto 0;
  opacity: 0;
  -webkit-filter: blur(10px);
          filter: blur(10px);
  -webkit-transition: all 1.5s cubic-bezier(0.33, 1, 0.68, 1) 2s;
  transition: all 1.5s cubic-bezier(0.33, 1, 0.68, 1) 2s;
}

@media only screen and (max-width: 960px) {
  .about_title {
    width: 75%;
    margin: 40px auto 0;
  }
}

.is-load .about_title {
  opacity: 1;
  -webkit-filter: blur(0);
          filter: blur(0);
}

.about_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: flex-start;
  width: 80%;
  margin: 60px auto 0;
  opacity: 0;
  -webkit-filter: blur(10px);
          filter: blur(10px);
  -webkit-transition: all 1.5s cubic-bezier(0.33, 1, 0.68, 1) 2.5s;
  transition: all 1.5s cubic-bezier(0.33, 1, 0.68, 1) 2.5s;
}

@media only screen and (min-width: 961px) {
  .about_list {
    min-width: 1000px;
  }
}

@media only screen and (max-width: 960px) {
  .about_list {
    display: block;
    width: 75%;
  }
}

.about_list .iphone,
.about_list .android {
  width: 48%;
  border-bottom: 1px solid #ccc;
}

@media only screen and (max-width: 960px) {
  .about_list .iphone,
  .about_list .android {
    width: 100%;
  }
}

@media only screen and (min-width: 961px) {
  .about_list .android {
    margin-left: 4%;
  }
}

@media only screen and (max-width: 960px) {
  .about_list .android {
    margin-top: 40px;
  }
}

.about_list .about_cap {
  text-align: center;
  color: #bca24b;
  font-weight: 700;
  font-size: 24px;
  margin-bottom: 30px;
}

@media only screen and (max-width: 960px) {
  .about_list .about_cap {
    font-size: 16px;
    margin-bottom: 20px;
  }
}

.about_list .about_item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-top: #ccc solid 1px;
  padding: 30px 0;
}

@media only screen and (max-width: 960px) {
  .about_list .about_item {
    padding: 20px 0;
  }
}

.about_list .about_item .no {
  width: 80px;
  position: relative;
  color: #fff;
  font-size: 30px;
  margin: 10px 0 0 30px;
}

@media only screen and (max-width: 960px) {
  .about_list .about_item .no {
    width: 45px;
    font-size: 20px;
    margin: 5px 0 0 20px;
  }
}

.about_list .about_item .no::after {
  content: "";
  width: 45px;
  height: 45px;
  background: #bca24b;
  position: absolute;
  top: -5px;
  left: -14px;
  z-index: -1;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

@media only screen and (max-width: 960px) {
  .about_list .about_item .no::after {
    width: 30px;
    height: 30px;
    top: -3px;
    left: -10px;
  }
}

.about_list .about_item .txt {
  width: calc(100% - 80px);
  line-height: 1.5em;
}

@media only screen and (max-width: 960px) {
  .about_list .about_item .txt {
    width: calc(100% - 45px);
  }
}

.is-load .about_list {
  opacity: 1;
  -webkit-filter: blur(0);
          filter: blur(0);
}

.footer {
  text-align: center;
  margin-top: 200px;
  font-size: 13px;
  line-height: 1.5em;
  padding-bottom: 80px;
}

@media only screen and (max-width: 960px) {
  .footer {
    width: calc(98% - 60px);
    margin: 100px auto 0;
    font-size: 8.5px;
    padding-bottom: 50px;
  }
}

.footer a {
  color: #333;
  text-decoration: none;
}

@media only screen and (min-width: 961px) {
  .footer a {
    -webkit-transition: color 0.6s cubic-bezier(0.33, 1, 0.68, 1);
    transition: color 0.6s cubic-bezier(0.33, 1, 0.68, 1);
  }
  .footer a:hover {
    color: #eb7da4;
  }
}

.footer .anime {
  width: 5%;
  margin: 0 auto;
}

@media only screen and (min-width: 961px) {
  .footer .anime {
    -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.33, 1, 0.68, 1);
    transition: -webkit-transform 0.6s cubic-bezier(0.33, 1, 0.68, 1);
    transition: transform 0.6s cubic-bezier(0.33, 1, 0.68, 1);
    transition: transform 0.6s cubic-bezier(0.33, 1, 0.68, 1), -webkit-transform 0.6s cubic-bezier(0.33, 1, 0.68, 1);
  }
  .footer .anime:hover {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}

@media only screen and (max-width: 960px) {
  .footer .anime {
    width: 18%;
  }
}

.footer .link {
  margin-top: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media only screen and (max-width: 960px) {
  .footer .link {
    margin-top: 30px;
  }
}

.footer .link li {
  margin-left: 20px;
}

.footer .link li:first-child {
  margin-left: 0;
}

@media only screen and (max-width: 960px) {
  .footer .link li {
    margin-left: 5px;
  }
}

.footer .text {
  margin-top: 5px;
}

.footer .copy {
  margin-top: 15px;
}

@media only screen and (max-width: 960px) {
  .footer .copy {
    margin-top: 10px;
  }
}


.note{
  width: 80%;
  margin: 100px auto 0px;
  line-height: 1.5em;
  font-size: 13px;
  -webkit-filter: blur(10px);
  filter: blur(10px);
  opacity: 0;
  transition: 1.5s cubic-bezier(0.33, 1, 0.68, 1) 3s;
}
.is-load .note {
    opacity: 1;
    -webkit-filter: blur(0);
    filter: blur(0);
}
@media only screen and (min-width: 961px) {
  .note{
    min-width: 1000px;
  }
}
.note_cap{
  text-align: center;
  margin-bottom: 30px;
  color: #eb7da4;
  font-size: 18px;
}
.note_list{
  margin-top: 10px;
}
.note_list li{
  text-indent: -0.5em;
  padding-left: 0.5em;
}
@media only screen and (max-width: 960px) {
  .note{
    width: 75%;
    margin: 80px auto 0px;
    font-size: 10px;
  }
  .note_cap{
    margin-bottom: 20px;
    font-size: 13px;
  }
}