@charset "UTF-8";
.keyvisual_wrap {
  position: relative;
  width: 100%;
  background-image: url("../img/bg_kv_sp.png");
  background-size: 100% auto;
  background-position: top center;
  margin: 0 auto; }
  @media only screen and (min-width: 768px) {
    .keyvisual_wrap {
      background-image: url("../img/bg_kv_pc.png");
      background-size: auto 100%;
      background-position: top left;
      width: calc(50% + 36.7rem);
      transform: translateX(calc(50% - 36.7rem)); } }

.keyvisual {
  position: relative;
  width: 100%;
  height: 95rem;
  padding: 5.2rem 0 0 0; }
  @media only screen and (min-width: 768px) {
    .keyvisual {
      width: 99rem;
      height: 75.2rem;
      margin: 0 auto 0 0;
      padding: 5.4rem 0 0 0; } }

.keyvisual--title {
  width: 68rem;
  margin: 0 auto; }
  @media only screen and (min-width: 768px) {
    .keyvisual--title {
      width: 74.9rem; } }

.keyvisual--counter {
  width: 62.3rem;
  margin: 2.9rem auto 0; }
  @media only screen and (min-width: 768px) {
    .keyvisual--counter {
      width: 85.9rem;
      margin: 1.6rem auto 0; } }

.keyvisual--nyu {
  position: absolute;
  width: 14.2rem;
  top: 26.4rem;
  right: 2.2rem; }
  @media only screen and (min-width: 768px) {
    .keyvisual--nyu {
      width: 14.2rem;
      top: 20.5rem;
      right: 3.8rem; } }

.keyvisual--image {
  width: 41rem;
  margin: 3.2rem auto 0; }
  @media only screen and (min-width: 768px) {
    .keyvisual--image {
      position: absolute;
      bottom: 5.3rem;
      left: 6.6rem; } }

.keyvisual--lead {
  position: absolute;
  width: 67.2rem;
  bottom: 3.3rem;
  right: 2.9rem; }
  @media only screen and (min-width: 768px) {
    .keyvisual--lead {
      width: 46.9rem;
      bottom: 6rem;
      right: 3.1rem; } }
  .keyvisual--lead .lead {
    position: relative;
    width: 67.2rem; }
    @media only screen and (min-width: 768px) {
      .keyvisual--lead .lead {
        width: 46.9rem; } }
    .keyvisual--lead .lead .gif01 {
      position: absolute;
      width: 11.6rem;
      bottom: 9.6rem;
      left: 39rem; }
      @media only screen and (min-width: 768px) {
        .keyvisual--lead .lead .gif01 {
          width: 11.6rem;
          bottom: 11.1rem;
          left: 3.3rem; } }
    .keyvisual--lead .lead .gif02 {
      position: absolute;
      width: 25rem;
      bottom: 0.3rem;
      left: 20.6rem; }
      @media only screen and (min-width: 768px) {
        .keyvisual--lead .lead .gif02 {
          width: 25.3rem;
          bottom: 0.3rem;
          left: 2rem; } }

.keyvisual--bom {
  position: absolute;
  width: 21.7rem;
  top: 53.1rem;
  left: 3.4rem; }
  @media only screen and (min-width: 768px) {
    .keyvisual--bom {
      width: 21.7rem;
      top: 20rem;
      left: 2.1rem; } }

.kv_carousel_wrap {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
  margin: 13.3rem auto 0; }
  @media only screen and (min-width: 768px) {
    .kv_carousel_wrap {
      margin: 4.7rem auto 0; } }

.kv_carousel {
  display: flex;
  flex-wrap: nowrap; }
  .kv_carousel li {
    width: 106rem;
    height: 27.8rem; }
    @media only screen and (min-width: 768px) {
      .kv_carousel li {
        width: 206.5rem;
        height: 17.1rem; } }
    .kv_carousel li img {
      height: 100%;
      width: auto; }

.navi {
  background: #00ffff;
  width: 100%;
  padding: 3.7rem 0 5rem; }
  @media only screen and (min-width: 768px) {
    .navi {
      display: none; } }

.welcome {
  width: 12.8rem;
  margin: 0 auto; }

.store {
  width: 16.2rem;
  margin: 1.3rem auto 0; }

.navi--wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 65.3rem;
  margin: 3.1rem auto 0; }
  .navi--wrap li:nth-child(1) {
    width: 10.5rem; }
  .navi--wrap li:nth-child(2) {
    width: 17.7rem; }
    .navi--wrap li:nth-child(2) .fair {
      width: 15rem; }
    .navi--wrap li:nth-child(2) .bt-s {
      margin: 1.7rem auto 0 0.8rem; }
  .navi--wrap li:nth-child(3) {
    width: 17.4rem; }
  .navi--wrap li:nth-child(4) {
    width: 12.6rem; }
    .navi--wrap li:nth-child(4) .construction {
      width: 10.9rem;
      margin: 0 auto 5.3rem 0; }

.prod01_wrap {
  position: relative;
  width: 100%;
  background-color: #24ff00;
  background-image: url("../img/bg_prod_t.png"), url("../img/bg_prod_b.png"), url("../img/bg_prod_sp.png");
  background-repeat: repeat-x, repeat-x, no-repeat;
  background-position: top left, bottom left ,top left;
  background-size: 2rem auto, 2rem auto, 100% auto;
  margin: 0 auto; }
  @media only screen and (min-width: 768px) {
    .prod01_wrap {
      background-image: url("../img/bg_prod_t.png"), url("../img/bg_prod_b.png"), url("../img/bg_prod_pc.png");
      background-repeat: repeat-x, repeat-x, no-repeat;
      background-position: top left, bottom left ,top left;
      background-size: 2rem auto, 2rem auto, 137.6rem auto;
      width: calc(50% + 36.7rem);
      transform: translateX(calc(50% - 36.7rem)); } }

.prod01 {
  position: relative;
  width: 100%;
  padding: 2rem 0 7.2rem 0; }
  @media only screen and (min-width: 768px) {
    .prod01 {
      width: 99rem;
      margin: 0 auto 0 0;
      padding: 5.2rem 0 11.3rem 0; } }

.prod01_bom {
  width: 20.4rem;
  margin: 0 auto 0 2.6rem; }
  @media only screen and (min-width: 768px) {
    .prod01_bom {
      width: 24.4rem;
      margin: 0 auto 0 3.2rem; } }

.prod01_ti {
  position: absolute;
  width: 57.9rem;
  top: 11.4rem;
  right: 5rem; }
  @media only screen and (min-width: 768px) {
    .prod01_ti {
      width: 68.9rem;
      top: 7rem;
      right: 2.7rem; } }

.prod01_lead {
  width: 62.4rem;
  margin: 8.6rem auto 0; }
  @media only screen and (min-width: 768px) {
    .prod01_lead {
      width: 65rem;
      margin: 3rem auto 0; } }

.prod01_ph01 {
  position: absolute;
  width: 64.8rem;
  top: 44.5rem;
  left: 0;
  right: 0;
  margin: auto;
  filter: drop-shadow(0.7rem 0.7rem 1.5rem rgba(0, 0, 0, 0.75)); }
  @media only screen and (min-width: 768px) {
    .prod01_ph01 {
      width: 76.2rem;
      top: 44.2rem;
      filter: drop-shadow(0.8rem 0.8rem 1.7rem rgba(0, 0, 0, 0.75)); } }

.prod01_ph02 {
  background-image: url("../img/prod01_ph02_bg_sp.png");
  background-size: 100% auto;
  background-position: top center;
  width: 100%;
  margin: 50rem auto 0; }
  @media only screen and (min-width: 768px) {
    .prod01_ph02 {
      background-image: url("../img/prod01_ph02_bg_pc.png");
      width: 100%;
      margin: 60rem auto 0; } }

.prod01_panel {
  width: 63.1rem;
  margin: -0.2rem auto 0; }
  @media only screen and (min-width: 768px) {
    .prod01_panel {
      width: 79.1rem;
      margin: 10rem auto 0; } }

.prod02_wrap {
  position: relative;
  width: 100%;
  background-image: url("../img/bg_2000_sp.png");
  background-repeat: repeat-y;
  background-position: top left;
  background-size: 100% auto;
  margin: 0 auto; }
  @media only screen and (min-width: 768px) {
    .prod02_wrap {
      background-image: url("../img/bg_2000_pc.png");
      background-repeat: repeat;
      background-position: top left;
      background-size: 21.8rem auto;
      width: calc(50% + 36.7rem);
      transform: translateX(calc(50% - 36.7rem)); } }

.prod02 {
  position: relative;
  width: 100%;
  padding: 6.5rem 0 14rem 0; }
  @media only screen and (min-width: 768px) {
    .prod02 {
      width: 99rem;
      margin: 0 auto 0 0;
      padding: 9.8rem 0 14rem 0; } }

.prod02_bom {
  position: absolute;
  width: 22.8rem;
  top: 2.9rem;
  left: 4rem; }
  @media only screen and (min-width: 768px) {
    .prod02_bom {
      width: 28.4rem;
      top: 3.6rem;
      left: 2.3rem; } }

.prod02_ti_base {
  width: 41.1rem;
  margin: 0 auto; }
  @media only screen and (min-width: 768px) {
    .prod02_ti_base {
      width: 41.1rem; } }

.prod02_ti {
  position: absolute;
  width: 57.9rem;
  top: 9rem;
  left: 10.3rem; }
  @media only screen and (min-width: 768px) {
    .prod02_ti {
      width: 71.7rem;
      top: 10rem;
      left: 16.7rem; } }

.prod02_seal01 {
  position: absolute;
  width: 9.8rem;
  top: 20.1rem;
  right: 3.1rem; }
  @media only screen and (min-width: 768px) {
    .prod02_seal01 {
      width: 11.6rem;
      top: 21.8rem;
      right: 8.7rem; } }

.prod02_lead {
  width: 66rem;
  margin: 4rem auto 0; }
  @media only screen and (min-width: 768px) {
    .prod02_lead {
      width: 68.7rem;
      margin: 3.9rem auto 0; } }

.prod02_ph01 {
  position: relative;
  width: 64.8rem;
  margin: 8.3rem auto 0; }
  @media only screen and (min-width: 768px) {
    .prod02_ph01 {
      width: 76.2rem;
      margin: 7rem auto 0; } }
  .prod02_ph01 .ph01 {
    filter: drop-shadow(0.7rem 0.7rem 1.5rem rgba(0, 0, 0, 0.75)); }
    @media only screen and (min-width: 768px) {
      .prod02_ph01 .ph01 {
        filter: drop-shadow(0.8rem 0.8rem 1.7rem rgba(0, 0, 0, 0.75)); } }
  .prod02_ph01 .prod02_seal02 {
    position: absolute;
    width: 12.9rem;
    top: -6.7rem;
    left: -2rem;
    overflow: hidden; }
    @media only screen and (min-width: 768px) {
      .prod02_ph01 .prod02_seal02 {
        width: 15.1rem;
        top: -3rem;
        left: 3.5rem; } }
    .prod02_ph01 .prod02_seal02::before {
      content: '';
      position: absolute;
      top: -100px;
      left: 0;
      display: inline-block;
      width: 30px;
      height: 100%;
      background-color: #fff;
      animation: shine 3s ease-in-out infinite; }

@keyframes shine {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0; }
  85% {
    transform: scale(0) rotate(45deg);
    opacity: 0.5; }
  86% {
    transform: scale(4) rotate(45deg);
    opacity: 1; }
  100% {
    transform: scale(30) rotate(45deg);
    opacity: 0; } }
.prod02_ph02 {
  position: relative;
  width: 67.8rem;
  margin: 12.5rem auto 0; }
  @media only screen and (min-width: 768px) {
    .prod02_ph02 {
      width: 90.1rem;
      margin: 11.4rem auto 0 4.8rem; } }
  .prod02_ph02 .prod02_seal03 {
    position: absolute;
    width: 14.3rem;
    top: -9.5rem;
    right: 1.4rem;
    overflow: hidden; }
    @media only screen and (min-width: 768px) {
      .prod02_ph02 .prod02_seal03 {
        width: 16.7rem;
        top: -8.9rem;
        right: 4.4rem; } }
    .prod02_ph02 .prod02_seal03::before {
      content: '';
      position: absolute;
      top: -100px;
      left: 0;
      display: inline-block;
      width: 30px;
      height: 100%;
      background-color: #fff;
      animation: shine 3s ease-in-out infinite; }

.prod02_paper {
  position: relative;
  width: 64.8rem;
  margin: 8.4rem auto 0; }
  @media only screen and (min-width: 768px) {
    .prod02_paper {
      width: 81rem;
      margin: 0rem auto 0 11.3rem; } }
  .prod02_paper .prod02_seal04 {
    position: absolute;
    width: 15.5rem;
    bottom: -10.2rem;
    left: -5.3rem; }
    @media only screen and (min-width: 768px) {
      .prod02_paper .prod02_seal04 {
        width: 18rem;
        bottom: -10.1rem;
        left: -6.9rem; } }
  .prod02_paper .prod02_seal05 {
    position: absolute;
    width: 10.7rem;
    bottom: -6.9rem;
    right: -1.3rem; }
    @media only screen and (min-width: 768px) {
      .prod02_paper .prod02_seal05 {
        width: 12.4rem;
        bottom: -7.9rem;
        right: 2.6rem; } }

.prod03_wrap {
  position: relative;
  width: 100%;
  background-color: #24ff00;
  background-image: url("../img/bg_showa_sp.png");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  margin: 0 auto; }
  @media only screen and (min-width: 768px) {
    .prod03_wrap {
      background-color: #ccffa6;
      background-image: url("../img/bg_showa_pc.jpg");
      background-repeat: repeat;
      background-position: top left;
      background-size: 182.3rem auto;
      width: calc(50% + 36.7rem);
      transform: translateX(calc(50% - 36.7rem)); } }

.prod03 {
  position: relative;
  width: 100%;
  padding: 3.4rem 0 9rem 0; }
  @media only screen and (min-width: 768px) {
    .prod03 {
      width: 99rem;
      margin: 0 auto 0 0;
      padding: 2rem 0 10.8rem 0; } }

.prod03_bom {
  width: 20.7rem;
  margin: 0 auto 0 2.6rem; }
  @media only screen and (min-width: 768px) {
    .prod03_bom {
      width: 27.7rem;
      margin: 0 auto 0 1.1rem; } }

.prod03_ti {
  position: absolute;
  width: 56rem;
  top: 12.6rem;
  left: 9.1rem;
  filter: drop-shadow(0.56rem 0.56rem 0.46rem rgba(0, 0, 0, 0.75)); }
  @media only screen and (min-width: 768px) {
    .prod03_ti {
      width: 65.9rem;
      top: 14.1rem;
      left: 16.9rem;
      filter: drop-shadow(0.66rem 0.66rem 0.55rem rgba(0, 0, 0, 0.75)); } }

.prod03_lead {
  width: 53.6rem;
  margin: 5.4rem auto 0; }
  @media only screen and (min-width: 768px) {
    .prod03_lead {
      width: 63rem;
      margin: 7.5rem auto 0; } }

.prod03_ph01 {
  width: 64.8rem;
  margin: 7.4rem auto 0;
  filter: drop-shadow(0.7rem 0.7rem 1.5rem rgba(0, 0, 0, 0.75)); }
  @media only screen and (min-width: 768px) {
    .prod03_ph01 {
      width: 76.2rem;
      margin: 10rem auto 0;
      filter: drop-shadow(0.8rem 0.8rem 1.7rem rgba(0, 0, 0, 0.75)); } }

.prod03_ph02 {
  width: 63.8rem;
  margin: 12rem auto 0; }
  @media only screen and (min-width: 768px) {
    .prod03_ph02 {
      width: 88rem;
      margin: 11.2rem auto 0; } }

.campaign_wrap {
  position: relative;
  width: 100%;
  margin: 0 auto;
  background-color: #ffff00; }
  @media only screen and (min-width: 768px) {
    .campaign_wrap {
      width: calc(50% + 36.7rem);
      transform: translateX(calc(50% - 36.7rem)); } }

.campaign {
  position: relative;
  width: 100%;
  padding: 10.2rem 0 7rem 0; }
  @media only screen and (min-width: 768px) {
    .campaign {
      width: 99rem;
      margin: 0 auto 0 0;
      padding: 10.4rem 0 5.7rem 0; } }

.campaign--title {
  width: 63.7rem;
  margin: 0 auto; }
  @media only screen and (min-width: 768px) {
    .campaign--title {
      width: 78.8rem; } }

.campaign--bar {
  width: 45.6rem;
  margin: 2rem auto 0; }
  @media only screen and (min-width: 768px) {
    .campaign--bar {
      width: 56rem;
      margin: 2.4rem auto 0; } }

.campaign--lead {
  position: relative;
  width: 58rem;
  margin: 8.5rem auto 0;
  text-align: center;
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 1.7;
  text-decoration: underline;
  color: #000; }
  @media only screen and (min-width: 768px) {
    .campaign--lead {
      width: 82.7rem;
      margin: 3.5rem auto 0; } }

.campaign--arrow-left {
  position: absolute;
  top: 1.6rem;
  left: 0;
  width: 10rem;
  animation: shake-left 6s linear infinite; }

.campaign--arrow-right {
  position: absolute;
  top: 1.6rem;
  right: 0;
  width: 10rem;
  animation: shake-right 6s linear infinite; }

@keyframes shake-left {
  0%,
  100% {
    transform: translateX(0); }
  10%,
  30%,
  50%,
  70%,
  90% {
    transform: translateX(-2rem); }
  20%,
  40%,
  60%,
  80% {
    transform: translateX(2rem); } }
@keyframes shake-right {
  0%,
  100% {
    transform: translateX(0); }
  10%,
  30%,
  50%,
  70%,
  90% {
    transform: translateX(2rem); }
  20%,
  40%,
  60%,
  80% {
    transform: translateX(-2rem); } }
.campaign--icon {
  width: 22.4rem;
  margin: 7rem auto 0; }
  @media only screen and (min-width: 768px) {
    .campaign--icon {
      margin: 7.8rem auto 0; } }

.campaign--name {
  width: 54.8rem;
  margin: 3.8rem auto 0;
  text-align: center;
  font-size: 2.7rem;
  color: #000;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #000; }
  @media only screen and (min-width: 768px) {
    .campaign--name {
      margin: 3.5rem auto 0;
      font-size: 2.6rem;
      line-height: 1.6; } }

.campaign--profile {
  margin: 1.9rem auto 0;
  font-size: 2.4rem;
  line-height: 1.4;
  text-align: center; }
  @media only screen and (min-width: 768px) {
    .campaign--profile {
      margin: 2.3rem auto 0;
      font-size: 2.1rem;
      line-height: 1.6; } }

.campaign--prize01 {
  position: relative;
  width: 63.6rem;
  margin: 5.7rem auto 0; }
  @media only screen and (min-width: 768px) {
    .campaign--prize01 {
      width: 82.6rem;
      margin: 3.3rem auto 0; } }

.campaign--prize01--title {
  position: absolute;
  width: 45rem;
  top: 3.3rem;
  left: 8.8rem; }
  @media only screen and (min-width: 768px) {
    .campaign--prize01--title {
      width: 44.6rem;
      top: 10rem;
      left: 3.8rem; } }

.campaign--prize01--cont {
  width: 100%; }

.campaign--prize02 {
  position: relative;
  width: 100%;
  margin: 4.3rem auto 0 0rem; }
  @media only screen and (min-width: 768px) {
    .campaign--prize02 {
      width: 82.6rem;
      margin: 3.3rem auto 0; } }

.campaign--prize02--title {
  position: absolute;
  width: 45rem;
  top: 3.3rem;
  left: 15rem; }
  @media only screen and (min-width: 768px) {
    .campaign--prize02--title {
      width: 45rem;
      top: 3.5rem;
      left: 3.3rem; } }

.campaign--prize02--cont {
  width: 100%; }

.flipanime {
  animation: flip 3s ease-in-out infinite; }

@keyframes flip {
  from {
    transform: rotateY(0); }
  to {
    transform: rotateY(360deg); } }
.campaign--prod {
  margin: 6rem auto 0;
  text-align: center;
  font-size: 2rem;
  line-height: 1.4;
  font-weight: bold;
  color: #000; }
  @media only screen and (min-width: 768px) {
    .campaign--prod {
      margin: 5.6rem auto 0; } }
  .campaign--prod .small {
    font-size: 85%; }

.campaign--prod--btn01 {
  margin: 5rem auto 0 10rem; }
  @media only screen and (min-width: 768px) {
    .campaign--prod--btn01 {
      margin: 6.4rem auto 0 27rem; } }
  .campaign--prod--btn01 a {
    display: block;
    width: 57.6rem;
    height: 16.4rem;
    background-image: url("../img/cp_btn01.png");
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: top center;
    text-indent: -9999px; }
    @media only screen and (min-width: 768px) {
      .campaign--prod--btn01 a {
        width: 48rem;
        height: 13.7rem; } }
    .campaign--prod--btn01 a:hover {
      background-position: bottom center; }

.campaign--terms {
  margin: 9.5rem auto 0;
  padding: 11.7rem 0 0 3.5rem;
  width: 62.5rem;
  height: 80rem;
  background-image: url("../img/cp_terms_sp_bk.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center; }
  @media only screen and (min-width: 768px) {
    .campaign--terms {
      margin: 12rem auto 0;
      width: 81.2rem;
      height: 46rem;
      background-image: url("../img/cp_terms_pc_bk.png"); } }

.campaign--terms--cont {
  width: 55.7rem;
  height: 60rem;
  padding: 0.5em;
  overflow-y: scroll; }
  @media only screen and (min-width: 768px) {
    .campaign--terms--cont {
      width: 74.5rem;
      height: 27rem; } }
  .campaign--terms--cont h3 {
    font-size: 2.4rem;
    font-weight: bold;
    color: #000;
    margin-top: 2em; }
    .campaign--terms--cont h3:first-child {
      margin-top: 0; }
  .campaign--terms--cont p {
    font-size: 2rem;
    line-height: 1.4;
    color: #000;
    margin-top: 0.5em; }
    .campaign--terms--cont p.note {
      position: relative;
      padding-left: 1.5em; }
      .campaign--terms--cont p.note::before {
        content: "※";
        position: absolute;
        left: 0;
        top: 0;
        font-size: 2rem;
        color: #000; }
  .campaign--terms--cont li {
    font-size: 2rem;
    line-height: 1.4;
    color: #000;
    margin-bottom: 1rem; }
  .campaign--terms--cont ul.note li {
    position: relative;
    padding-left: 1.5em; }
    .campaign--terms--cont ul.note li::before {
      content: "※";
      position: absolute;
      left: 0;
      top: 0;
      font-size: 2rem;
      color: #000; }

.campaign--notetext {
  margin: 5rem auto 0;
  text-align: center;
  font-size: 2rem;
  color: #000; }
  @media only screen and (min-width: 768px) {
    .campaign--notetext {
      margin: 8.6rem auto 0; } }

.campaign--prod--btn02 {
  margin: 2rem auto 0 10rem; }
  @media only screen and (min-width: 768px) {
    .campaign--prod--btn02 {
      margin: 2rem auto 0 27rem; } }
  .campaign--prod--btn02 a {
    display: block;
    width: 57.6rem;
    height: 16.4rem;
    background-image: url("../img/cp_btn02.png");
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: top center;
    text-indent: -9999px; }
    @media only screen and (min-width: 768px) {
      .campaign--prod--btn02 a {
        width: 48rem;
        height: 13.7rem; } }
    .campaign--prod--btn02 a:hover {
      background-position: bottom center; }

.campaign--dash {
  width: 34.8rem;
  margin: 3rem auto 0; }
  @media only screen and (min-width: 768px) {
    .campaign--dash {
      width: 38.5rem;
      margin: 5rem auto 0; } }

.link_wrap {
  position: relative;
  width: 100%;
  background-image: url("../img/bg_link.png");
  background-size: 14.8rem auto;
  background-position: top center;
  margin: 0 auto; }
  @media only screen and (min-width: 768px) {
    .link_wrap {
      background-position: top left;
      width: calc(50% + 36.7rem);
      transform: translateX(calc(50% - 36.7rem)); } }

.link {
  position: relative;
  width: 100%;
  padding: 10.5rem 0 5rem 0; }
  @media only screen and (min-width: 768px) {
    .link {
      width: 99rem;
      margin: 0 auto 0 0;
      padding: 10rem 0 6.5rem 0; } }
  .link .link_dot {
    width: 56rem;
    margin: 0 auto; }
  .link .link_x {
    width: 50.9rem;
    margin: 4.2rem auto 6rem; }
    @media only screen and (min-width: 768px) {
      .link .link_x {
        width: 59.8rem;
        margin: 3.9rem auto 5.8rem; } }
    .link .link_x a:hover {
      opacity: 1;
      filter: hue-rotate(123deg); }
      .link .link_x a:hover img {
        opacity: 1; }
  .link .link_insta {
    width: 67.8rem;
    margin: 4.4rem auto 6rem; }
    @media only screen and (min-width: 768px) {
      .link .link_insta {
        width: 79.4rem;
        margin: 4rem auto 5.8rem; } }
    .link .link_insta a:hover {
      opacity: 1;
      filter: hue-rotate(123deg); }
      .link .link_insta a:hover img {
        opacity: 1; }
  .link .link_ti {
    width: 46.9rem;
    margin: 9rem auto 0; }
    @media only screen and (min-width: 768px) {
      .link .link_ti {
        width: 31.3rem;
        margin: 7.8rem auto 0; } }
  .link .link_area {
    width: 31.8rem;
    margin: 6rem auto 0; }
    @media only screen and (min-width: 768px) {
      .link .link_area {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        width: 50.2rem;
        margin: 4.5rem auto 0; } }
    .link .link_area li {
      margin-bottom: 3.8rem; }
      @media only screen and (min-width: 768px) {
        .link .link_area li {
          width: 24.5rem;
          margin-bottom: 1.7rem; } }
    .link .link_area a:hover {
      opacity: 1;
      filter: hue-rotate(58deg); }
      .link .link_area a:hover img {
        opacity: 1; }
  .link--note {
    text-align: center;
    font-size: 1.6rem;
    margin: 3.7rem auto 0; }
    @media only screen and (min-width: 768px) {
      .link--note {
        font-size: 1.4rem;
        margin: 7rem auto 0; } }

@keyframes fadeIn {
  from {
    opacity: 0.5; }
  to {
    opacity: 1; } }
.upin {
  opacity: 0; }
  .upin.active {
    animation: upin 0.35s ease-in 0.25s forwards; }

.upin-d {
  opacity: 0; }
  .upin-d.active {
    animation: upin 0.35s ease-in 0.5s forwards; }

@keyframes upin {
  from {
    opacity: 0;
    transform: translateY(10%); }
  to {
    opacity: 1;
    transform: translateY(0); } }
/*点滅*/
.blink {
  animation: blinking 1.2s linear infinite; }

@keyframes blinking {
  0% {
    opacity: 1; }
  49% {
    opacity: 1; }
  50% {
    opacity: 0; }
  99% {
    opacity: 0; }
  100% {
    opacity: 1; } }
/*反転*/
.flip-img {
  animation: flip 1.5s ease-in-out infinite; }

@keyframes flip {
  from {
    transform: rotateY(0); }
  to {
    transform: rotateY(360deg); } }
/*ふわふわ*/
.float-img {
  animation: float 2s ease-in-out infinite; }

@keyframes float {
  0%, 100% {
    transform: translateY(-4%); }
  50% {
    transform: translateY(4%); } }
/*ラバーバンド*/
.rubberBand-img {
  animation: rubberBand 3s ease-in-out infinite; }

@keyframes rubberBand {
  0%, 100% {
    transform: scaleX(1); }
  30% {
    transform: scaleX(1.25); }
  40% {
    transform: scaleX(0.75); }
  50% {
    transform: scaleX(1.15); }
  65% {
    transform: scaleX(0.95); }
  75% {
    transform: scaleX(1.05); } }
/*ハートビート*/
.heartbeat-img {
  animation: heartbeat 1.2s ease-in-out infinite; }

@keyframes heartbeat {
  0%, 100% {
    transform: scale(1); }
  50% {
    transform: scale(1.2); } }
/*揺れ*/
.shake-img {
  animation: shake 6s ease-in-out infinite; }

@keyframes shake {
  0%, 100% {
    transform: translateX(0); }
  10%, 30%, 50%, 70%, 90% {
    transform: translateX(-20px); }
  20%, 40%, 60%, 80% {
    transform: translateX(20px); } }
/*アニメーション*/
.infinity-scroll-left {
  animation: infinity-scroll-left 70s infinite linear 0.5s both; }

@keyframes infinity-scroll-left {
  from {
    transform: translateX(0%); }
  to {
    transform: translateX(-100%); } }
.fixedbtn {
  display: none; }
  @media only screen and (min-width: 768px) {
    .fixedbtn {
      display: block;
      position: fixed;
      background-color: #00ffff;
      background-image: url("../img/bg_fix_pc.png");
      background-size: 1.3rem auto;
      background-repeat: repeat-y;
      background-position: top right;
      width: calc(50% - 36.5rem);
      min-width: 26rem;
      height: 100%;
      left: 0;
      bottom: 0;
      transform: translateX(0%);
      padding: 8.7rem 1.3rem 0 0; } }
  .fixedbtn.active {
    bottom: 0; }
  @media only screen and (min-width: 768px) {
    .fixedbtn ul {
      display: block;
      width: 24.7rem;
      margin: 0 0 0 auto; } }
  .fixedbtn ul li {
    margin: 0 auto;
    text-align: center; }
  @media only screen and (min-width: 768px) {
    .fixedbtn ul .welcome {
      width: 12.8rem; } }
  @media only screen and (min-width: 768px) {
    .fixedbtn ul .store {
      width: 16.2rem;
      margin-top: 1.3rem; } }
  @media only screen and (min-width: 768px) {
    .fixedbtn ul .bt {
      height: 3.2rem;
      margin: 3.6rem auto 0; }
      .fixedbtn ul .bt img {
        height: 100%;
        width: auto; } }
  @media only screen and (min-width: 768px) {
    .fixedbtn ul .bt-s {
      height: auto;
      width: 20.3rem;
      margin: 2.7rem auto 0; } }

body {
  background: #ffffff;
  margin: 0 !important;
  color: #000;
  line-height: 1.5;
  letter-spacing: 0;
  word-wrap: break-word;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  padding: 0; }

html {
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch; }
  @media (max-width: 768px) {
    html {
      font-size: 1.3333333333vw; } }
  @media only screen and (min-width: 768px) {
    html {
      font-size: 0.8vw; } }
  @media only screen and (min-width: 1250px) {
    html {
      font-size: 10px; } }

*,
*::before,
*::after {
  box-sizing: border-box; }

h1, h2, h3, h4, section, nav, div, p, ul, li {
  margin: 0;
  padding: 0; }

li {
  list-style: none; }

img {
  width: 100%;
  height: auto;
  line-height: 0;
  vertical-align: bottom; }

a img {
  opacity: 1; }

a img:hover {
  opacity: 0.7; }

.pcOnly {
  display: none; }
  @media only screen and (min-width: 768px) {
    .pcOnly {
      display: inline-block; } }

.spOnly {
  display: inline-block; }
  @media only screen and (min-width: 768px) {
    .spOnly {
      display: none; } }
