@charset "UTF-8";
main .food_item {
  position: relative;
  padding: 0 5%;
}
main .food_item .name, main .food_item .comment, main .food_item .shini_oshi {
  position: absolute;
  left: 0;
  top: 0;
}
main .food_item .name {
  position: absolute;
  top: 47%;
  left: 5%;
  width: 25%;
  display: flex;
  align-items: center;
  justify-content: center;
}
main .food_item .name a {
  display: block;
  position: relative;
  z-index: 3;
}
main .food_item .name a img {
  transition: filter 0.3s ease;
}
main .food_item .name a:hover img {
  filter: brightness(1.25);
}
main .food_item .comment {
  position: absolute;
  top: 10%;
  left: 5%;
  width: 40%;
  display: flex;
  align-items: center;
  justify-content: center;
}
main .food_item .image {
  position: relative;
  left: 45%;
  width: 50%;
}
main .food_item.js-target .shini_oshi {
  width: 18%;
  left: 12%;
  top: 16%;
  z-index: 2;
  transform: rotate(-20deg);
}
main .food_item.js-target .shini_oshi img {
  transition: 0.3s;
  opacity: 0;
}
main .food_item.js-target.js-active .shini_oshi img {
  opacity: 1;
  -webkit-animation: purun 0.6s linear 1s 1;
          animation: purun 0.6s linear 1s 1;
}
main .food_item.left_right.js-target img {
  opacity: 0;
}
main .food_item.left_right.js-active .onomatope img {
  -webkit-animation: right_left 1s ease-in-out 0.5s forwards;
          animation: right_left 1s ease-in-out 0.5s forwards;
}
main .food_item.left_right.js-active .name {
  justify-content: flex-start;
}
main .food_item.left_right.js-active .name img {
  -webkit-animation: left_right 0.3s ease-in-out 0.5s forwards;
          animation: left_right 0.3s ease-in-out 0.5s forwards;
}
main .food_item.left_right.js-active .comment {
  justify-content: flex-start;
}
main .food_item.left_right.js-active .comment img {
  -webkit-animation: left_right 0.3s ease-in-out 0.3s forwards;
          animation: left_right 0.3s ease-in-out 0.3s forwards;
}
main .food_item.left_right.js-active .image {
  justify-content: flex-start;
}
main .food_item.left_right.js-active .image img {
  -webkit-animation: left_right 0.3s ease-in-out 0s forwards;
          animation: left_right 0.3s ease-in-out 0s forwards;
}
main .food_item.right_left.js-target img {
  opacity: 0;
}
main .food_item.right_left .name, main .food_item.right_left .comment {
  justify-content: flex-end;
}
main .food_item.right_left.js-active .onomatope img {
  -webkit-animation: right_left 1s ease-in-out 0.5s forwards;
          animation: right_left 1s ease-in-out 0.5s forwards;
}
main .food_item.right_left.js-active .name img {
  -webkit-animation: right_left 0.3s ease-in-out 0.5s forwards;
          animation: right_left 0.3s ease-in-out 0.5s forwards;
}
main .food_item.right_left.js-active .comment img {
  -webkit-animation: right_left 0.3s ease-in-out 0.3s forwards;
          animation: right_left 0.3s ease-in-out 0.3s forwards;
}
main .food_item.right_left.js-active .image img {
  -webkit-animation: right_left 0.3s ease-in-out 0s forwards;
          animation: right_left 0.3s ease-in-out 0s forwards;
}
main .food_item.item01_01 .name {
  top: 55%;
  width: 35%;
}
@media all and (max-width: 530px) {
  main .food_item.item01_01 {
    padding-bottom: 5%;
  }
  main .food_item.item01_01 .comment {
    width: 45%;
  }
  main .food_item.item01_01 .name {
    width: 38%;
    top: 55%;
  }
  main .food_item.item01_01 .image {
    left: 48%;
    width: 55%;
  }
}
main .food_item.item01_02 .shini_oshi {
  left: 5%;
}
main .food_item.item01_02 .comment {
  left: inherit;
  right: 10%;
  width: 31%;
}
main .food_item.item01_02 .name {
  left: inherit;
  right: 8%;
  width: 30%;
  top: 59%;
}
main .food_item.item01_02 .image {
  left: 15%;
}
@media all and (max-width: 530px) {
  main .food_item.item01_02 {
    padding-bottom: 20%;
  }
  main .food_item.item01_02 .comment {
    width: 43%;
  }
  main .food_item.item01_02 .name {
    width: 38%;
    top: 45%;
  }
  main .food_item.item01_02 .image {
    left: 0;
    width: 55%;
  }
  main .food_item.item01_02 .image img {
    position: relative;
    top: 10vw;
  }
}
main .food_item.item01_03 .comment {
  width: 37%;
}
main .food_item.item01_03 .name {
  width: 30%;
}
main .food_item.item01_03 .image {
  left: 35%;
}
@media all and (max-width: 530px) {
  main .food_item.item01_03 .comment {
    width: 43%;
  }
  main .food_item.item01_03 .name {
    width: 38%;
    top: 45%;
  }
  main .food_item.item01_03 .image {
    left: 38%;
    width: 60%;
  }
}
main .food_item.item01_04 {
  padding: 5%;
}
main .food_item.item01_04 .comment {
  width: 60%;
  left: 35%;
  top: 0;
}
main .food_item.item01_04 .name {
  width: 55%;
  left: 40%;
  top: 70%;
}
main .food_item.item01_04 .image {
  width: 90%;
  left: 5%;
}
@media all and (max-width: 530px) {
  main .food_item.item01_04 {
    padding-top: 10%;
    padding-bottom: 20%;
  }
  main .food_item.item01_04 .comment {
    width: 77%;
    left: 15%;
  }
  main .food_item.item01_04 .name {
    width: 75%;
    left: 20%;
    top: 65%;
  }
}
main .food_item.item01_05 .comment {
  width: 37%;
}
main .food_item.item01_05 .name {
  width: 45%;
}
main .food_item.item01_05 .image {
  width: 60%;
  left: 35%;
}
@media all and (max-width: 530px) {
  main .food_item.item01_05 {
    padding-bottom: 10%;
  }
  main .food_item.item01_05 .comment {
    width: 46%;
  }
  main .food_item.item01_05 .name {
    width: 53%;
    top: 53%;
  }
  main .food_item.item01_05 .image {
    width: 50%;
    left: 50%;
    margin-top: 13%;
  }
}
main .food_item.item01_06 {
  padding: 5%;
}
main .food_item.item01_06 .comment {
  width: 50%;
  left: 43%;
  top: 16%;
}
main .food_item.item01_06 .name {
  width: 35%;
  left: 56%;
  top: 49%;
}
main .food_item.item01_06 .image {
  width: 35%;
  left: 18%;
}
@media all and (max-width: 530px) {
  main .food_item.item01_06 .comment {
    width: 61%;
    left: 31%;
    top: 16%;
  }
  main .food_item.item01_06 .name {
    width: 48%;
    left: 44%;
  }
  main .food_item.item01_06 .image {
    left: 5%;
    padding-top: 5%;
  }
}
main .food_item.item02_01 .shini_oshi {
  left: 76%;
  transform: rotate(22deg);
}
main .food_item.item02_01 .comment {
  width: 50%;
}
main .food_item.item02_01 .name {
  top: 70%;
  width: 50%;
}
main .food_item.item02_01 .image {
  width: 70%;
  padding-top: 12%;
  left: 34%;
}
@media all and (max-width: 530px) {
  main .food_item.item02_01 {
    padding-bottom: 5%;
  }
  main .food_item.item02_01 .comment {
    width: 55%;
  }
  main .food_item.item02_01 .name {
    width: 60%;
    top: 55%;
    z-index: 2;
  }
  main .food_item.item02_01 .image {
    left: 40%;
    width: 70%;
  }
}
main .food_item.item02_02 .comment {
  left: 55%;
  top: 20%;
  width: 43%;
}
main .food_item.item02_02 .name {
  width: 37%;
  left: 53%;
  top: 55%;
}
main .food_item.item02_02 .image {
  left: 24%;
  width: 30%;
  padding-top: 15%;
}
@media all and (max-width: 530px) {
  main .food_item.item02_02 {
    padding-bottom: 10%;
  }
  main .food_item.item02_02 .comment {
    width: 46%;
    left: 42%;
  }
  main .food_item.item02_02 .name {
    width: 43%;
    top: 59%;
    left: 40%;
  }
  main .food_item.item02_02 .image {
    left: 5%;
    padding-top: 0;
    width: 30%;
  }
  main .food_item.item02_02 .image img {
    position: relative;
    top: 10vw;
  }
}
main .food_item.item02_03 {
  padding-top: 10%;
}
main .food_item.item02_03 .comment {
  width: 45%;
  top: 15%;
}
main .food_item.item02_03 .name {
  width: 40%;
  top: 55%;
}
main .food_item.item02_03 .image {
  left: 40%;
  width: 60%;
}
@media all and (max-width: 530px) {
  main .food_item.item02_03 .comment {
    width: 43%;
  }
  main .food_item.item02_03 .name {
    width: 45%;
    top: 55%;
    left: 2%;
  }
  main .food_item.item02_03 .image {
    left: 40%;
    width: 65%;
  }
}
main .food_item.item02_04 {
  padding-top: 10%;
}
main .food_item.item02_04 .comment {
  width: 50%;
  top: 15%;
  left: 45%;
}
main .food_item.item02_04 .name {
  width: 60%;
  top: 75%;
  left: 35%;
}
main .food_item.item02_04 .image {
  left: 10%;
  width: 80%;
}
@media all and (max-width: 530px) {
  main .food_item.item02_04 .name {
    width: 75%;
    top: 72%;
    left: 20%;
  }
  main .food_item.item02_04 .image {
    left: 0;
  }
}
main .food_item.item02_05 {
  padding-top: 20%;
}
main .food_item.item02_05 .comment {
  top: 20%;
  width: 53%;
}
main .food_item.item02_05 .name {
  top: 55%;
  width: 32%;
}
main .food_item.item02_05 .image {
  width: 55%;
}
@media all and (max-width: 530px) {
  main .food_item.item02_05 .name {
    width: 40%;
  }
}
main .food_item.item02_06 {
  padding-top: 10%;
}
main .food_item.item02_06 .comment {
  width: 65%;
  top: 0;
  left: 28%;
}
main .food_item.item02_06 .name {
  width: 36%;
  top: 48%;
  left: 59%;
}
main .food_item.item02_06 .image {
  left: 0%;
  width: 60%;
}
@media all and (max-width: 530px) {
  main .food_item.item02_06 .name {
    width: 43%;
    top: 41%;
    left: 52%;
    z-index: 2;
  }
}
main .food_item.item03_01 {
  padding-bottom: 5%;
}
main .food_item.item03_01 .comment {
  width: 50%;
}
main .food_item.item03_01 .name {
  top: 40%;
  width: 35%;
}
main .food_item.item03_01 .image {
  width: 40%;
  padding-top: 10%;
}
@media all and (max-width: 530px) {
  main .food_item.item03_01 .image {
    width: 45%;
  }
}
main .food_item.item03_02 {
  padding-bottom: 5%;
}
main .food_item.item03_02 .comment {
  width: 50%;
  left: 45%;
  top: 0;
}
main .food_item.item03_02 .name {
  top: 45%;
  width: 40%;
  left: 51%;
}
main .food_item.item03_02 .image {
  width: 55%;
  padding-top: 10%;
  left: 13%;
}
@media all and (max-width: 530px) {
  main .food_item.item03_02 .comment {
    width: 55%;
    left: 40%;
  }
  main .food_item.item03_02 .name {
    top: 45%;
    width: 54%;
    left: 38%;
  }
  main .food_item.item03_02 .image {
    width: 60%;
    left: 0;
    padding-top: 7%;
  }
}
main .food_item.item03_03 {
  padding-bottom: 5%;
}
main .food_item.item03_03 .comment {
  width: 40%;
}
main .food_item.item03_03 .name {
  top: 59%;
  width: 30%;
}
main .food_item.item03_03 .image {
  width: 55%;
  padding-top: 18%;
  left: 31%;
}
@media all and (max-width: 530px) {
  main .food_item.item03_03 .name {
    top: 45%;
    width: 40%;
  }
  main .food_item.item03_03 .image {
    width: 60%;
    left: 38%;
  }
}
main .food_item.item03_04 {
  padding-bottom: 5%;
}
main .food_item.item03_04 .comment {
  width: 55%;
  left: 38%;
  top: 0;
}
main .food_item.item03_04 .name {
  top: 45%;
  width: 40%;
  left: 57%;
}
main .food_item.item03_04 .image {
  width: 55%;
  padding-top: 20%;
  left: 3%;
}
@media all and (max-width: 530px) {
  main .food_item.item03_04 .image {
    width: 50%;
  }
}
main .food_item.item03_05 .comment {
  width: 50%;
}
main .food_item.item03_05 .name {
  top: 59%;
  width: 36%;
}
main .food_item.item03_05 .image {
  width: 60%;
  padding-top: 10%;
  left: 30%;
}
main .food_item.item03_06 {
  padding-bottom: 5%;
}
main .food_item.item03_06 .comment {
  width: 45%;
  left: 50%;
  top: 5%;
}
main .food_item.item03_06 .name {
  top: 41%;
  width: 43%;
  left: 52%;
}
main .food_item.item03_06 .image {
  width: 38%;
  padding-top: 5%;
  left: 20%;
}
@media all and (max-width: 530px) {
  main .food_item.item03_06 .shini_oshi {
    width: 20%;
    left: 5%;
    top: 10%;
  }
  main .food_item.item03_06 .comment {
    width: 50%;
    left: 44%;
    top: 5%;
  }
  main .food_item.item03_06 .name {
    top: 44%;
    width: 47%;
    left: 47%;
  }
  main .food_item.item03_06 .image {
    width: 50%;
    left: 5%;
  }
}
main .food_item.item04_01 {
  padding-bottom: 5%;
}
main .food_item.item04_01 .comment {
  width: 70%;
}
main .food_item.item04_01 .name {
  top: 50%;
  width: 35%;
}
main .food_item.item04_01 .image {
  width: 60%;
  padding-top: 10%;
  left: 40%;
}
main .food_item.item04_02 {
  padding-bottom: 5%;
}
main .food_item.item04_02 .comment {
  width: 50%;
  left: 48%;
  z-index: 2;
}
main .food_item.item04_02 .name {
  top: 50%;
  width: 40%;
  left: 55%;
}
main .food_item.item04_02 .image {
  width: 50%;
  padding-top: 10%;
  left: 0%;
}
main .food_item.item04_03 .comment {
  width: 60%;
}
main .food_item.item04_03 .name {
  top: 35%;
  width: 45%;
}
main .food_item.item04_03 .image {
  width: 50%;
  padding-top: 10%;
  left: 50%;
  top: 0%;
  padding-bottom: 5%;
}
main .food_item.item04_04 {
  padding-bottom: 5%;
}
main .food_item.item04_04 .shini_oshi {
  left: 10%;
  top: 30%;
}
main .food_item.item04_04 .comment {
  width: 60%;
  left: 35%;
  z-index: 2;
}
main .food_item.item04_04 .name {
  top: 50%;
  width: 35%;
  left: 55%;
}
main .food_item.item04_04 .image {
  width: 50%;
  left: 5%;
  margin-top: -15%;
}
main .food_item.item04_05 .comment {
  width: 50%;
}
main .food_item.item04_05 .name {
  top: 45%;
  width: 40%;
}
main .food_item.item04_05 .image {
  width: 50%;
  padding-top: 10%;
  left: 46%;
  top: 0%;
  padding-bottom: 5%;
}
main .food_item.item04_06 {
  padding-top: 15%;
  padding-bottom: 5%;
}
main .food_item.item04_06 .comment {
  width: 65%;
  left: 30%;
  z-index: 2;
  top: 0;
}
main .food_item.item04_06 .name {
  top: 60%;
  width: 35%;
  left: 60%;
}
main .food_item.item04_06 .image {
  width: 65%;
  left: 0%;
}
main .food_item[class*=item05_] {
  position: absolute;
  left: 0;
  top: 0;
  width: 50%;
  padding-top: 50%;
}
main .food_item[class*=item05_] .onomatope,
main .food_item[class*=item05_] .name,
main .food_item[class*=item05_] .image {
  position: absolute;
}
main .food_item.item05_01 {
  width: 50%;
  top: 14%;
}
main .food_item.item05_01 .image {
  top: -20%;
  width: 100%;
  left: 20%;
}
main .food_item.item05_01 .name {
  width: 50%;
  left: 10%;
}
main .food_item.item05_01 .onomatope {
  top: -30%;
  width: 25%;
  left: 17%;
}
main .food_item.item05_02 {
  width: 50%;
  top: 13%;
  left: 50%;
}
main .food_item.item05_02 .image {
  top: -20%;
  width: 61%;
  left: 8%;
}
main .food_item.item05_02 .name {
  width: 50%;
  left: 45%;
  top: 20%;
  z-index: 2;
}
main .food_item.item05_02 .onomatope {
  top: -5%;
  width: 20%;
  left: 67%;
}
main .food_item.item05_03 {
  width: 70%;
  top: 20%;
  left: 30%;
}
main .food_item.item05_03 .image {
  top: -5%;
  width: 100%;
  left: 8%;
  z-index: 2;
}
main .food_item.item05_03 .name {
  width: 39%;
  left: -15%;
  top: 38%;
}
main .food_item.item05_03 .onomatope {
  top: -5%;
  width: 20%;
  left: 67%;
}
main .food_item.item05_04 {
  top: 33%;
  width: 35%;
}
main .food_item.item05_04 .image {
  top: -20%;
  left: 0;
  width: 80%;
}
main .food_item.item05_04 .name {
  width: 80%;
}
main .food_item.item05_04 .onomatope {
  width: 38%;
  top: -48%;
  left: 10%;
}
main .food_item.item05_05 {
  top: 30%;
  width: 30%;
  left: 38%;
}
main .food_item.item05_05 .image {
  top: -10%;
  left: -7%;
  width: 130%;
}
main .food_item.item05_05 .name {
  width: 95%;
  left: -25%;
  top: 43%;
}
main .food_item.item05_05 .onomatope {
  width: 53%;
  top: -12%;
  left: 80%;
  z-index: 2;
}
main .food_item.item05_06 {
  top: 32%;
  width: 35%;
  left: 65%;
}
main .food_item.item05_06 .image {
  width: 60%;
  left: 40%;
  top: -5%;
}
main .food_item.item05_06 .name {
  width: 80%;
  left: -16%;
  top: 40%;
}
main .food_item.item05_06 .onomatope {
  width: 38%;
  top: -48%;
  left: 10%;
}
main .food_item.item05_07 {
  top: 42%;
  width: 70%;
  left: 0%;
  padding-top: 35%;
}
main .food_item.item05_07 .image {
  top: 0;
  width: 75%;
  left: 32%;
}
main .food_item.item05_07 .name {
  width: 40%;
}
main .food_item.item05_07 .onomatope {
  top: -23%;
  width: 21%;
  left: 40%;
  z-index: 2;
}
main .food_item.item05_08 {
  top: 44%;
  width: 35%;
  left: 65%;
}
main .food_item.item05_08 .image {
  width: 90%;
  left: 10%;
  top: 20%;
}
main .food_item.item05_08 .name {
  width: 62%;
  left: -15%;
  top: 49%;
}
main .food_item.item05_08 .onomatope {
  width: 20%;
  top: 57%;
  left: 70%;
}
main .food_item.item05_09 {
  top: 50%;
  width: 60%;
  left: 0%;
  padding-top: 40%;
}
main .food_item.item05_09 .image {
  top: 0;
  width: 57%;
  left: 43%;
}
main .food_item.item05_09 .name {
  width: 45%;
  left: 10%;
  top: 30%;
}
main .food_item.item05_09 .onomatope {
  top: -7%;
  width: 17%;
  left: 73%;
  z-index: 2;
}
main .food_item.item05_10 {
  top: 55%;
  width: 35%;
  left: 65%;
  padding-top: 30%;
}
main .food_item.item05_10 .image {
  width: 70%;
  left: 30%;
  top: 0%;
}
main .food_item.item05_10 .name {
  width: 75%;
  left: -30%;
  top: 0%;
}
main .food_item.item05_10 .onomatope {
  width: 20%;
  top: 57%;
  left: 70%;
}
main .food_item.item05_11 {
  top: 59%;
  width: 50%;
  left: 0%;
  padding-top: 40%;
}
main .food_item.item05_11 .image {
  top: -5%;
  width: 100%;
  left: 0%;
}
main .food_item.item05_11 .name {
  width: 45%;
  left: 70%;
  top: 25%;
}
main .food_item.item05_11 .onomatope {
  top: 45%;
  width: 30%;
  left: 5%;
  z-index: 2;
}
main .food_item.item05_12 {
  top: 63%;
  width: 40%;
  left: 60%;
  padding-top: 65%;
}
main .food_item.item05_12 .image {
  width: 95%;
  left: 0;
  top: 0%;
}
main .food_item.item05_12 .name {
  top: 50%;
  left: 20%;
  width: 70%;
}
main .food_item.item05_12 .onomatope {
  width: 25%;
  top: 0%;
  left: -10%;
}
main .food_item.item05_13 {
  top: 69%;
  width: 65%;
  left: 0%;
  padding-top: 40%;
}
main .food_item.item05_13 .image {
  top: 0%;
  width: 76%;
  left: 32%;
}
main .food_item.item05_13 .name {
  width: 37%;
  left: 3%;
  top: 10%;
}
main .food_item.item05_14 {
  top: 76%;
  width: 65%;
  left: 0%;
  padding-top: 40%;
}
main .food_item.item05_14 .image {
  top: -19%;
  width: 110%;
  left: -13%;
}
main .food_item.item05_14 .name {
  width: 40%;
  left: 20%;
  top: 59%;
}
main .food_item.item05_15 {
  top: 85%;
  width: 38%;
  left: 38%;
  padding-top: 40%;
}
main .food_item.item05_15 .image {
  width: 85%;
  left: -5%;
  top: 0%;
}
main .food_item.item05_15 .name {
  top: 37%;
  left: 28%;
  width: 60%;
}
main .food_item.item05_15 .onomatope {
  width: 25%;
  top: 0%;
  left: -10%;
}
main .food_item.item05_16 {
  top: 81%;
  width: 40%;
  left: 60%;
  padding-top: 40%;
}
main .food_item.item05_16 .image {
  width: 127%;
  left: -30%;
  top: -25%;
}
main .food_item.item05_16 .name {
  top: 40%;
  left: 40%;
  width: 55%;
}
main .food_item.item05_16 .onomatope {
  width: 44%;
  top: -42%;
  left: -18%;
}
main .food_item.item05_17 {
  top: 87%;
  width: 40%;
  left: 0%;
  padding-top: 40%;
}
main .food_item.item05_17 .image {
  width: 85%;
  left: 0;
  top: 0%;
}
main .food_item.item05_17 .name {
  top: 32%;
  left: 65%;
  width: 57%;
}
main .food_item.js-target .onomatope img {
  opacity: 0;
}
main .food_item.js-target .onomatope.kyun img {
  transform: scale(0); /* 最初は表示されない */
  opacity: 0;
  filter: brightness(0); /* 最初は暗い */
}
main .food_item.js-target .onomatope.puku img, main .food_item.js-target .onomatope.bakinchu img {
  opacity: 0;
}
main .food_item.js-active .onomatope.gyu img, main .food_item.js-active .onomatope.batsu img {
  -webkit-animation: dokatto-pop 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55) 0.5s forwards;
          animation: dokatto-pop 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55) 0.5s forwards;
}
main .food_item.js-active .onomatope.kyun img {
  -webkit-animation: doon-kyun 0.7s ease-out 1s forwards;
          animation: doon-kyun 0.7s ease-out 1s forwards;
}
main .food_item.js-active .onomatope.pyokon img {
  -webkit-animation: pyokon-bounce 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1s forwards;
          animation: pyokon-bounce 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1s forwards;
  opacity: 0; /* 最初は非表示 */
  transform: translateY(20px); /* 少し下から開始 */
}
main .food_item.js-active .onomatope.bakinchu img {
  -webkit-animation: bakinchu 0.5s ease-out forwards;
          animation: bakinchu 0.5s ease-out forwards;
  transform: translateX(-100%); /* 最初は画面外の左から */
}
main .food_item.js-active .onomatope.puku img {
  -webkit-animation: pukutto 1.5s ease-in-out 1s forwards;
          animation: pukutto 1.5s ease-in-out 1s forwards;
}

@-webkit-keyframes doon-kyun {
  0% {
    opacity: 0;
    transform: scale(0);
    filter: brightness(0);
  }
  50% {
    opacity: 0.8;
    transform: scale(1.2); /* 少し大きく */
    filter: brightness(1.5); /* 明るく */
  }
  100% {
    opacity: 1;
    transform: scale(1); /* 定位置 */
    filter: brightness(1); /* 通常の明るさ */
  }
}

@keyframes doon-kyun {
  0% {
    opacity: 0;
    transform: scale(0);
    filter: brightness(0);
  }
  50% {
    opacity: 0.8;
    transform: scale(1.2); /* 少し大きく */
    filter: brightness(1.5); /* 明るく */
  }
  100% {
    opacity: 1;
    transform: scale(1); /* 定位置 */
    filter: brightness(1); /* 通常の明るさ */
  }
}
@-webkit-keyframes pyokon-bounce {
  0% {
    opacity: 0;
    transform: translateY(20px); /* 下から */
  }
  70% {
    opacity: 1;
    transform: translateY(-15px); /* 少し上に跳ね上がる */
  }
  100% {
    opacity: 1;
    transform: translateY(0); /* 定位置に戻る */
  }
}
@keyframes pyokon-bounce {
  0% {
    opacity: 0;
    transform: translateY(20px); /* 下から */
  }
  70% {
    opacity: 1;
    transform: translateY(-15px); /* 少し上に跳ね上がる */
  }
  100% {
    opacity: 1;
    transform: translateY(0); /* 定位置に戻る */
  }
}
@-webkit-keyframes bakinchu {
  0% {
    opacity: 0;
    transform: translateY(100%);
  }
  70% {
    opacity: 1;
    transform: translateY(-10px) scale(1.3); /* 少しオーバーシュートし、大きく */
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1); /* 定位置に戻る */
  }
}
@keyframes bakinchu {
  0% {
    opacity: 0;
    transform: translateY(100%);
  }
  70% {
    opacity: 1;
    transform: translateY(-10px) scale(1.3); /* 少しオーバーシュートし、大きく */
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1); /* 定位置に戻る */
  }
}
@-webkit-keyframes pukutto {
  0% {
    transform: scale(1, 1); /* 元のサイズ */
    opacity: 0;
  }
  50% {
    transform: scale(1.05, 1.15); /* 少し横に広がり、縦に大きく膨らむ */
  }
  100% {
    transform: scale(1, 1); /* 元のサイズに戻る */
    opacity: 1;
  }
}
@keyframes pukutto {
  0% {
    transform: scale(1, 1); /* 元のサイズ */
    opacity: 0;
  }
  50% {
    transform: scale(1.05, 1.15); /* 少し横に広がり、縦に大きく膨らむ */
  }
  100% {
    transform: scale(1, 1); /* 元のサイズに戻る */
    opacity: 1;
  }
}
body {
  font-family: "Noto Serif JP", "Noto Serif TC", serif;
}

img {
  max-width: 100%;
  vertical-align: bottom;
  -o-object-fit: cover;
     object-fit: cover;
}

main {
  width: 530px;
  position: absolute;
  z-index: 10;
  overflow-x: hidden;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  background-color: white;
  min-height: 100vh;
}
main section {
  min-height: 100vh;
  padding: 5% 0;
}
main img {
  max-width: 100%;
}
main header {
  background-color: #0068ac;
  position: relative;
}
main header h1 {
  overflow: hidden;
  position: absolute;
  left: 5%;
  top: 5%;
  width: 90%;
  padding-top: 70%;
}
main header h1 .view {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  -webkit-animation: logoview 0.1s ease-in-out 0.55s forwards;
          animation: logoview 0.1s ease-in-out 0.55s forwards;
}
main header h1 div[class^=slide] {
  background-image: url("../img/logo.webp");
  background-size: cover;
  width: 100%;
  padding-top: 24%;
  position: absolute;
  left: 0;
  top: 0;
}
main header h1 div[class^=slide].slide_top {
  -webkit-animation: left_right_none 0.61s ease-in-out 0s forwards;
          animation: left_right_none 0.61s ease-in-out 0s forwards;
}
main header h1 div[class^=slide].slide_middle {
  top: 30%;
  background-position: 100% 50%;
  -webkit-animation: right_left_none 0.61s ease-in-out 0s forwards;
          animation: right_left_none 0.61s ease-in-out 0s forwards;
}
main header h1 div[class^=slide].slide_bottom {
  top: 59%;
  background-position: 100% 100%;
  -webkit-animation: left_right_none 0.61s ease-in-out 0s forwards;
          animation: left_right_none 0.61s ease-in-out 0s forwards;
}
main header .copy {
  padding: 2%;
  position: absolute;
  bottom: 0;
  right: 0;
  max-width: 60%;
}
main .teru {
  background-color: #23de8a;
}
main .hina {
  background-color: #d94853;
}
main .kana {
  background-color: #b763c8;
}
main .shisa {
  background-color: #3fc1ff;
}
main .hako {
  background-color: #f293c3;
  padding: 0;
  min-height: 2300px;
  position: relative;
}
@media all and (max-width: 530px) {
  main .hako {
    min-height: 450vw;
  }
}
main .hako .catch_char {
  padding: 0;
  position: relative;
}
main .hako .catch_char .doka {
  position: absolute;
  width: 15%;
  left: 80%;
  top: 30%;
}
main .hako .catch_char .doka .js-target {
  opacity: 0; /* 最初は非表示 */
}
main .hako .catch_char .doka .js-active {
  -webkit-animation: dokatto-pop 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55) forwards;
          animation: dokatto-pop 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55) forwards;
}
main .hako .parco {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}
main .catch_char {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 5% 5%;
}
main .catch_char .js-active {
  -webkit-animation: purun 0.6s linear 0.3s 1;
          animation: purun 0.6s linear 0.3s 1;
}

footer {
  background-color: #0077c7;
  color: white;
}
footer .tips {
  padding: 10%;
  font-size: 8px;
  line-height: 2;
}
@media all and (max-width: 530px) {
  footer .tips {
    font-size: 45%;
  }
}
footer .comic_link {
  padding: 0 5% 5%;
}
footer .comic_link a {
  display: block;
  padding: 5%;
  border-top: 2px solid #ff85ca;
  border-bottom: 2px solid #ff85ca;
}
footer .footer-logo {
  padding: 0 0 10%;
  display: flex;
  align-items: center;
  justify-content: center;
}
footer .footer-logo img {
  max-width: 40%;
}
footer .footer-logo a {
  display: inline-block;
  text-align: center;
}

.pc_left {
  position: fixed;
  left: 0;
  top: 50%;
  height: 100vh;
  width: calc(50vw - 265px);
  transform: translateY(-50%);
  z-index: 5;
  color: white;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-image: url("../img/pc_back_left.webp");
  background-size: cover;
  background-position: bottom right;
}
.pc_left h2 {
  padding: 5% 10%;
  position: relative;
  max-height: 500px;
  text-align: center;
}
.pc_left h2 span {
  display: block;
  max-width: 80%;
}
.pc_left h2 span img {
  opacity: 0;
  -webkit-animation: popup 0.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
          animation: popup 0.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
.pc_left h2 strong {
  display: block;
  padding: 0;
  text-align: center;
}
.pc_left h2 strong img {
  max-width: 70%;
  -webkit-animation: purun 0.6s linear 1s 1;
          animation: purun 0.6s linear 1s 1;
}
.pc_left h2 p {
  text-align: center;
  position: relative;
  bottom: 10%;
  margin: auto;
  max-width: 70%;
}
.pc_left h2 p img {
  opacity: 0;
  -webkit-animation: popup 0.6s cubic-bezier(0.22, 1, 0.36, 1) 2s forwards;
          animation: popup 0.6s cubic-bezier(0.22, 1, 0.36, 1) 2s forwards;
}
@media all and (max-height: 820px) and (orientation: landscape) {
  .pc_left h2 span img {
    max-height: 15vh;
  }
  .pc_left h2 strong img {
    max-height: 30vh;
  }
  .pc_left h2 p img {
    max-height: 17vh;
  }
}

.pc_right {
  position: fixed;
  right: 0;
  top: 50%;
  height: 100vh;
  width: calc(50vw - 265px);
  transform: translateY(-50%);
  z-index: 5;
  color: white;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-image: url("../img/pc_back_right.webp");
  background-size: cover;
  background-position: bottom left;
}
.pc_right .menus {
  position: relative;
  max-height: 700px;
}
.pc_right .menus img {
  height: 100%;
  width: 100%;
}
.pc_right .menus a {
  display: inline-block;
  position: absolute;
  width: 60%;
  left: 5%;
  top: 5%;
  padding-top: 32%;
  transition: 0.3s;
  filter: blur(4px);
  background: rgba(0, 0, 0, 0.1);
}
.pc_right .menus a#menu02 {
  width: 60%;
  left: 31%;
  top: 27%;
  padding-top: 32%;
}
.pc_right .menus a#menu03 {
  width: 60%;
  left: 5%;
  top: 50%;
  padding-top: 32%;
}
.pc_right .menus a#menu04 {
  width: 60%;
  left: 31%;
  top: 73%;
  padding-top: 32%;
}
.pc_right .menus a:hover {
  filter: blur(0px);
  background: rgba(0, 0, 0, 0);
}
.pc_right .footer-logo {
  max-width: 45%;
  background: rgba(0, 0, 0, 0.2);
  padding: 3% 5%;
}

.hamburger-menu {
  display: block;
  display: none;
  position: fixed;
  transition: all 0.5s;
  z-index: 100;
  right: 0;
  top: 0;
}
.hamburger-menu p {
  position: absolute;
  font-size: 60%;
  top: 0;
}
.hamburger-menu .menu-btn.on span {
  background-color: rgba(255, 255, 255, 0); /*メニューオープン時は真ん中の線を透明にする*/
  box-shadow: none;
  width: 25px;
}
.hamburger-menu .menu-btn.on span::before {
  bottom: 0;
  transform: rotate(45deg);
  transition: all 0.5s;
  width: 25px;
}
.hamburger-menu .menu-btn.on span::after {
  top: 0;
  transform: rotate(-45deg);
  transition: all 0.5s;
  width: 25px;
}
.hamburger-menu .menu-btn {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  height: 50px;
  width: 50px;
  justify-content: center;
  align-items: center;
  z-index: 90;
  transition: all 0.5s;
}
.hamburger-menu .menu-btn span, .hamburger-menu .menu-btn span:before, .hamburger-menu .menu-btn span:after {
  content: "";
  display: block;
  height: 3px;
  width: 25px;
  border-radius: 3px;
  background-color: white;
  position: absolute;
  transition: all 0.5s;
}
.hamburger-menu .menu-btn span:before {
  bottom: 8px;
  right: 0;
}
.hamburger-menu .menu-btn span:after {
  top: 8px;
  right: 0;
}

.round_btn {
  display: block;
  position: relative;
  width: 30px;
  height: 30px;
  border: 2px solid #555; /* 枠の調整 */
  border-radius: 50%; /* 丸みの度合い */
  background: #fff; /* ボタンの背景色 */
}
.round_btn:before, .round_btn:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 3px; /* 棒の幅（太さ） */
  height: 22px; /* 棒の高さ */
  background: #555; /* バツ印の色 */
}
.round_btn:before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.round_btn:after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
@media all and (max-width: 530px) and (orientation: portrait) {
  .round_btn {
    width: 5vw;
    height: 5vw;
  }
  .round_btn:before, .round_btn:after {
    height: 3vw;
  }
}

#points {
  position: fixed;
  left: calc(50% - 362px);
  transform: translateX(-50%);
  width: 15%;
  bottom: 1%;
  max-width: 200px;
  z-index: 15;
  transition: 0.5s;
  cursor: pointer;
}
@media all and (max-height: 730px) and (orientation: landscape) {
  #points {
    width: 22vh;
  }
}
#points.hide {
  bottom: -50vh;
}
#points img {
  -webkit-animation: purun 0.6s linear 5s 1;
          animation: purun 0.6s linear 5s 1;
}
#points .round_btn {
  position: absolute;
  right: 1%;
  top: 1%;
  z-index: 5;
}

@media all and (max-width: 810px) {
  .pc_left h2 {
    display: none;
  }
  .pc_right .menus, .pc_right .footer-logo {
    display: none;
  }
  #points {
    left: inherit;
    right: 1%;
    transform: inherit;
    width: 45%;
  }
}
@media all and (max-width: 530px) and (orientation: portrait) {
  body {
    font-size: 3.5vw;
  }
  main {
    width: 100%;
  }
  nav {
    justify-content: flex-start;
  }
  nav div.js-target {
    width: 100%;
    padding: 5%;
  }
  nav h1 {
    padding: 3%;
    max-width: 80vw;
  }
  nav ul li a {
    padding: 3vw;
    padding-left: 25vw;
  }
  nav ul li a:before {
    width: 10vw;
    left: 10vw;
  }
  .btn a {
    margin: 5%;
  }
  .space {
    height: 5vw;
  }
  header #mv .logo {
    padding: 0 5%;
    padding-right: 20%;
  }
  header #mv .image img {
    height: 100vh;
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
  }
  header #mv .btn {
    bottom: 0;
  }
  #scroll_btn {
    width: 100%;
  }
  .pc_right {
    transition: 0.5s;
    left: -100vw;
    background-color: white;
  }
  .pc_right.on {
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 50;
    width: 100%;
  }
  .pc_right.on .menus {
    display: block;
  }
  .pc_right.on .footer-logo {
    display: block;
  }
  .hamburger-menu {
    display: block;
  }
  .hamburger-menu .menu-btn {
    background-color: rgba(255, 255, 255, 0.3);
  }
  .hamburger-menu .menu-btn span, .hamburger-menu .menu-btn span:before, .hamburger-menu .menu-btn span:after {
    background-color: white;
  }
  .hamburger-menu .menu-btn.on span:before, .hamburger-menu .menu-btn.on span:after {
    background-color: white;
  }
  #points.tophide {
    bottom: -50vh;
  }
}
@-webkit-keyframes logoview {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes logoview {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@-webkit-keyframes fuwatto {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fuwatto {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@-webkit-keyframes purun {
  0% {
    transform: scale(1, 1) translate(0%, 0%);
  }
  15% {
    transform: scale(0.9, 0.9) translate(0%, 5%);
  }
  30% {
    transform: scale(1.3, 0.8) translate(0%, 10%);
  }
  50% {
    transform: scale(0.8, 1.3) translate(0%, -10%);
  }
  70% {
    transform: scale(1.1, 0.9) translate(0%, 5%);
  }
  100% {
    transform: scale(1, 1) translate(0%, 0%);
  }
}
@keyframes purun {
  0% {
    transform: scale(1, 1) translate(0%, 0%);
  }
  15% {
    transform: scale(0.9, 0.9) translate(0%, 5%);
  }
  30% {
    transform: scale(1.3, 0.8) translate(0%, 10%);
  }
  50% {
    transform: scale(0.8, 1.3) translate(0%, -10%);
  }
  70% {
    transform: scale(1.1, 0.9) translate(0%, 5%);
  }
  100% {
    transform: scale(1, 1) translate(0%, 0%);
  }
}
@-webkit-keyframes popup {
  0% {
    transform: translateY(40px) scale(0.8);
    opacity: 0;
  }
  100% {
    transform: translateY(0) scale(1);
  }
  80%, 100% {
    opacity: 1;
  }
}
@keyframes popup {
  0% {
    transform: translateY(40px) scale(0.8);
    opacity: 0;
  }
  100% {
    transform: translateY(0) scale(1);
  }
  80%, 100% {
    opacity: 1;
  }
}
@-webkit-keyframes left_right {
  0% {
    opacity: 0;
    transform: translate(-100%);
  }
  100% {
    opacity: 1;
    transform: translate(0);
  }
}
@keyframes left_right {
  0% {
    opacity: 0;
    transform: translate(-100%);
  }
  100% {
    opacity: 1;
    transform: translate(0);
  }
}
@-webkit-keyframes right_left {
  0% {
    opacity: 0;
    transform: translate(100%);
  }
  100% {
    opacity: 1;
    transform: translate(0);
  }
}
@keyframes right_left {
  0% {
    opacity: 0;
    transform: translate(100%);
  }
  100% {
    opacity: 1;
    transform: translate(0);
  }
}
@-webkit-keyframes left_right_none {
  0% {
    opacity: 0;
    transform: translate(-100%);
  }
  99% {
    opacity: 1;
    transform: translate(0);
  }
  100% {
    opacity: 0;
    transform: translate(0);
  }
}
@keyframes left_right_none {
  0% {
    opacity: 0;
    transform: translate(-100%);
  }
  99% {
    opacity: 1;
    transform: translate(0);
  }
  100% {
    opacity: 0;
    transform: translate(0);
  }
}
@-webkit-keyframes right_left_none {
  0% {
    opacity: 0;
    transform: translate(100%);
  }
  99% {
    opacity: 1;
    transform: translate(0);
  }
  100% {
    opacity: 0;
    transform: translate(0);
  }
}
@keyframes right_left_none {
  0% {
    opacity: 0;
    transform: translate(100%);
  }
  99% {
    opacity: 1;
    transform: translate(0);
  }
  100% {
    opacity: 0;
    transform: translate(0);
  }
}
@-webkit-keyframes dokatto-pop {
  0% {
    opacity: 0;
    transform: scale(0.5) translateY(50px); /* 小さく、少し下から */
  }
  50% {
    opacity: 1;
    transform: scale(1.1) translateY(-10px); /* 一瞬大きく、少し上にオーバーシュート */
  }
  100% {
    opacity: 1;
    transform: scale(1) translateY(0); /* 定位置に戻る */
  }
}
@keyframes dokatto-pop {
  0% {
    opacity: 0;
    transform: scale(0.5) translateY(50px); /* 小さく、少し下から */
  }
  50% {
    opacity: 1;
    transform: scale(1.1) translateY(-10px); /* 一瞬大きく、少し上にオーバーシュート */
  }
  100% {
    opacity: 1;
    transform: scale(1) translateY(0); /* 定位置に戻る */
  }
}
/*# sourceMappingURL=style.css.map */