/* ---------------------------------------*/
/* keyvisual */
/* ---------------------------------------*/
#photogacha-keyvisual {
  aspect-ratio: 1363/896;
  margin-top: 75px;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  #photogacha-keyvisual {
    aspect-ratio: 375/477;
    margin-top: 60px;
  }
}

.photogacha-kv-img-title {
  width: 60.9vw;
  position: absolute;
  top: 1.46vw;
  left: calc(50% - 23.4vw);
  margin: auto;
  z-index: 2;
  opacity: 0;
  -webkit-animation: kvZoomFade-title 0.4s ease-in 1.2s forwards;
          animation: kvZoomFade-title 0.4s ease-in 1.2s forwards;
}
@media screen and (max-width: 768px) {
  .photogacha-kv-img-title {
    width: 88vw;
    top: 2.1vw;
    left: calc(50% - 42.6vw);
  }
}

@-webkit-keyframes kvZoomFade-title {
  from {
    opacity: 0;
    -webkit-transform: translateY(15px);
            transform: translateY(15px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes kvZoomFade-title {
  from {
    opacity: 0;
    -webkit-transform: translateY(15px);
            transform: translateY(15px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.photogacha-kv-img-field {
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: scale(4);
          transform: scale(4);
  opacity: 0;
  -webkit-animation: kvZoomFade-field 0.7s ease-in 0s forwards;
          animation: kvZoomFade-field 0.7s ease-in 0s forwards;
}

@-webkit-keyframes kvZoomFade-field {
  from {
    -webkit-transform: scale(4);
            transform: scale(4);
    opacity: 0;
  }
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}

@keyframes kvZoomFade-field {
  from {
    -webkit-transform: scale(4);
            transform: scale(4);
    opacity: 0;
  }
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
.photogacha-kv-img-west {
  width: 85.2vw;
  position: absolute;
  bottom: 1.4vw;
  left: 0;
  right: 0;
  margin: auto;
  -webkit-transform: scale(3);
          transform: scale(3);
  opacity: 0;
  -webkit-animation: kvZoomFade-west 0.2s ease-in 0.7s forwards;
          animation: kvZoomFade-west 0.2s ease-in 0.7s forwards;
}
@media screen and (max-width: 768px) {
  .photogacha-kv-img-west {
    width: 100%;
    bottom: 0;
  }
}

@-webkit-keyframes kvZoomFade-west {
  from {
    -webkit-transform: scale(3);
            transform: scale(3);
    opacity: 0;
  }
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}

@keyframes kvZoomFade-west {
  from {
    -webkit-transform: scale(3);
            transform: scale(3);
    opacity: 0;
  }
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
.photogacha-kv-img-decoration {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  -webkit-animation: kvZoomFade-decoration 0.2s ease-out 0.8s forwards;
          animation: kvZoomFade-decoration 0.2s ease-out 0.8s forwards;
}

@-webkit-keyframes kvZoomFade-decoration {
  from {
    -webkit-transform: scale(2);
            transform: scale(2);
    opacity: 0;
  }
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}

@keyframes kvZoomFade-decoration {
  from {
    -webkit-transform: scale(2);
            transform: scale(2);
    opacity: 0;
  }
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
/* ---------------------------------------*/
/* map */
/* ---------------------------------------*/
#photogacha-map {
  margin-top: -3.6vw;
  margin-bottom: 25px;
}
@media screen and (max-width: 768px) {
  #photogacha-map {
    margin-top: 0;
  }
}

.photogacha-map-heading {
  position: relative;
  z-index: 2;
}

.photogacha-map-map {
  margin: -30px 0 0;
}
@media screen and (max-width: 768px) {
  .photogacha-map-map {
    margin: -20px -30px 0;
  }
}

/* ---------------------------------------*/
/* attraction */
/* ---------------------------------------*/
#photogacha-attraction {
  margin-bottom: 67px;
}
@media screen and (max-width: 768px) {
  #photogacha-attraction {
    margin-bottom: 42px;
  }
  #photogacha-attraction .wrapper--1000 {
    padding: 0 15px;
  }
}

.photogache-attraction-heading {
  width: 40.9%;
  margin: 0 auto 23px;
}
@media screen and (max-width: 768px) {
  .photogache-attraction-heading {
    width: 76.8vw;
    margin: 0 auto 17px;
  }
}

.photogacha-attraction-list {
  width: 76%;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.9%;
}
@media screen and (max-width: 768px) {
  .photogacha-attraction-list {
    width: 100%;
  }
}

.photogacha-attraction-list__item {
  width: 23.4%;
  margin-bottom: 1.5%;
  -webkit-box-shadow: 0 5px 5px rgba(0, 0, 0, 0.2);
          box-shadow: 0 5px 5px rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 768px) {
  .photogacha-attraction-list__item {
    width: 48.9%;
  }
}

/* ---------------------------------------*/
/* prize */
/* ---------------------------------------*/
#photogacha-prize {
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  #photogacha-prize {
    margin-bottom: 50px;
  }
}

.photogacha-prize-heading {
  width: 15%;
  margin: 0 auto 10px;
}
@media screen and (max-width: 768px) {
  .photogacha-prize-heading {
    width: 47.6%;
    margin: 0 auto 20px;
  }
}

.photogacha-prize-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
}
@media screen and (max-width: 768px) {
  .photogacha-prize-list {
    display: block;
    margin: 0 -30px;
  }
}

.photogacha-prize-list__item:first-child {
  width: 37.3%;
}
.photogacha-prize-list__item:last-child {
  width: 61.5%;
}
@media screen and (max-width: 768px) {
  .photogacha-prize-list__item:first-child {
    width: 100%;
  }
  .photogacha-prize-list__item:last-child {
    width: 100%;
    padding: 0 30px;
  }
}

.photogacha-prize-list-02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .photogacha-prize-list-02 {
    display: block;
  }
}

li.photogacha-prize-list-02__item:nth-child(1), li.photogacha-prize-list-02__item:nth-child(4) {
  width: 33%;
}
li.photogacha-prize-list-02__item:nth-child(2), li.photogacha-prize-list-02__item:nth-child(5) {
  width: 34.3%;
}
li.photogacha-prize-list-02__item:nth-child(3), li.photogacha-prize-list-02__item:nth-child(6) {
  width: 31.9%;
}
@media screen and (max-width: 768px) {
  li.photogacha-prize-list-02__item {
    width: 100% !important;
  }
}

/* ---------------------------------------*/
/* apply */
/* ---------------------------------------*/
#photogacha-apply {
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  #photogacha-apply {
    margin-bottom: 0;
  }
}

.photogacha-aply-heading {
  width: 15%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .photogacha-aply-heading {
    width: 47.6%;
  }
}

.photogacha-aply-content {
  margin-top: -18px;
  padding: 77px 27px 30px 30px;
  background: url(../img/photogacha_aply_bg.webp) no-repeat center/cover;
  position: relative;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .photogacha-aply-content {
    padding: 58vw 30px 60px;
    margin: -18px -30px 0;
    background: url(../img/photogacha_aply_bg-sp.webp) no-repeat top/cover;
  }
}

.photogacha-aply-content-heading {
  width: 92.9%;
  position: absolute;
  top: -10px;
  left: 0;
  right: 0;
  margin: auto;
}
@media screen and (max-width: 768px) {
  .photogacha-aply-content-heading {
    width: 72vw;
    top: 33px;
  }
}

.photogacha-aply-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 5px;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .photogacha-aply-list {
    display: block;
  }
}

.photogacha-aply-list__item {
  margin-bottom: 10px;
}

.photogacha-aply-note {
  display: block;
  font-size: 1.1rem;
  text-align: justify;
  line-height: 1.4;
  letter-spacing: -0.095em;
}
@media screen and (max-width: 768px) {
  .photogacha-aply-note {
    font-size: 1.5rem;
  }
}