.afSite-header::after {
  content: "";
  position: absolute;
  top: 120%;
  left: -2vw;
  width: 30%;
  aspect-ratio: 1;
  background: url(../img/decoration-02.svg) no-repeat left top/contain;
  z-index: 10;
  transform: rotate(-3deg)
}

@media(max-width: 767px)and (orientation: portrait) {
  .afSite-header::after {
    display: none
  }
}

.event-wrap {
  position: fixed;
  font-size: 1em;
  top: 50%;
  left: 50%;
  width: 768px;
  box-shadow: .5em .5em .5em rgba(0, 0, 0, .2);
  transform: translate(-50%, -115vh);
  opacity: 1;
  z-index: 10
}

@media(max-width: 767px)and (orientation: portrait) {
  .event-wrap {
    width: 100vw
  }
}

.event-wrap img {
  width: 100%
}

.event-wrap.active {
  transform: unset;
  opacity: 1;
  -webkit-animation-name: EventTopOpen;
  animation-name: EventTopOpen;
  -webkit-animation-duration: .8s;
  animation-duration: .8s;
  -webkit-animation-timing-function: cubic-bezier(0.34, 1.56, 0.64, 1);
  animation-timing-function: cubic-bezier(0.34, 1.56, 0.64, 1);
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards
}

@-webkit-keyframes EventTopOpen {
  0% {
    transform: translate(-50%, -150%);
    opacity: 0;
    -webkit-clip-path: inset(0 0 100% 0);
    clip-path: inset(0 0 100% 0)
  }
  1% {
    transform: translate(-50%, -150%);
    opacity: 0;
    -webkit-clip-path: inset(0 0 100% 0);
    clip-path: inset(0 0 100% 0)
  }
  100% {
    transform: translate(-50%, -50%);
    opacity: 1;
    -webkit-clip-path: inset(0);
    clip-path: inset(0)
  }
}

@keyframes EventTopOpen {
  0% {
    transform: translate(-50%, -150%);
    opacity: 0;
    -webkit-clip-path: inset(0 0 100% 0);
    clip-path: inset(0 0 100% 0)
  }
  1% {
    transform: translate(-50%, -150%);
    opacity: 0;
    -webkit-clip-path: inset(0 0 100% 0);
    clip-path: inset(0 0 100% 0)
  }
  100% {
    transform: translate(-50%, -50%);
    opacity: 1;
    -webkit-clip-path: inset(0);
    clip-path: inset(0)
  }
}

.event-wrap.close {
  -webkit-animation-name: EventTopClose;
  animation-name: EventTopClose;
  -webkit-animation-duration: .5s;
  animation-duration: .5s;
  -webkit-animation-timing-function: cubic-bezier(0.34, 1.56, 0.64, 1);
  animation-timing-function: cubic-bezier(0.34, 1.56, 0.64, 1);
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards
}

@-webkit-keyframes EventTopClose {
  0% {
    transform: translate(-50%, -50%);
    opacity: 1;
    -webkit-clip-path: inset(0);
    clip-path: inset(0)
  }
  1% {
    transform: translate(-50%, -50%);
    opacity: 1;
    -webkit-clip-path: inset(0);
    clip-path: inset(0)
  }
  100% {
    transform: translate(-50%, -150%);
    opacity: 0;
    -webkit-clip-path: inset(0 0 100% 0);
    clip-path: inset(0 0 100% 0)
  }
}

@keyframes EventTopClose {
  0% {
    transform: translate(-50%, -50%);
    opacity: 1;
    -webkit-clip-path: inset(0);
    clip-path: inset(0)
  }
  1% {
    transform: translate(-50%, -50%);
    opacity: 1;
    -webkit-clip-path: inset(0);
    clip-path: inset(0)
  }
  100% {
    transform: translate(-50%, -150%);
    opacity: 0;
    -webkit-clip-path: inset(0 0 100% 0);
    clip-path: inset(0 0 100% 0)
  }
}

main {
  width: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 1em
}

main section {
  position: relative;
  font-size: 1em;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 1
}

main .block01 {
  overflow: hidden
}

main .block01::before, main .block01::after {
  content: "";
  position: absolute;
  background: url(../img/decoration-01.svg) no-repeat left top/contain;
  z-index: 1;
  opacity: 1;
  mix-blend-mode: color-dodge;
  aspect-ratio: 1
}

main .block01::before {
  top: 0;
  left: -7vw;
  width: 50%
}

main .block01::after {
  top: 20%;
  right: -2vw;
  width: 25%
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block01::after {
    top: unset;
    bottom: -5 vw;
    width: 30%
  }
}

main .block01 .movie-box {
  position: relative;
  width: 100%
}

main .block01 .movie-box::before {
  display: none
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block01 .movie-box::before {
    content: "";
    display: block;
    position: absolute;
    bottom: -8vw;
    right: -5vw;
    width: 40%;
    aspect-ratio: 1.5;
    background: url(../img/decoration-11.svg) no-repeat right bottom/contain;
    mix-blend-mode: screen
  }
}

main .block01 .movie-box video {
  width: 100%
}

main .block01 .title-box {
  position: absolute;
  top: 55%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 1em;
  z-index: 1;
  width: 40%;
  display: flex;
  flex-direction: column;
  align-items: center;
  opacity: 1;
  mix-blend-mode: exclusion
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block01 .title-box {
    width: 70vw
  }
}

main .block01 .title-box h1 {
  width: 100%
}

main .block01 .title-box h1 img {
  width: 100%;
  filter: invert(99%) sepia(0%) saturate(162%) hue-rotate(233deg) brightness(114%) contrast(96%)
}

main .block01 .title-box .tel {
  font-size: 2.8125em;
  font-family: rubik, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-weight: 700;
  margin-top: .5em
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block01 .title-box .tel {
    display: none
  }
}

main .block01 .title-box .add {
  font-size: .875em;
  font-weight: 700;
  letter-spacing: .08em
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block01 .title-box .add {
    display: none
  }
}

main .block01 .object-head {
  font-size: 1em;
  position: absolute;
  top: -2px;
  left: -2em;
  z-index: 5;
  width: 105%
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block01 .object-head {
    top: -1vw;
    left: 50%;
    transform: translateX(-50%) scale(1, 0.7)
  }
}

main .block01 .object-head img {
  width: 100%;
  -o-object-fit: contain;
  object-fit: contain
}

main .block01 .object-head::before, main .block01 .object-head::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: url(../img/block01_movie_head-bk.svg) no-repeat top left/contain
}

main .block01 .object-head::before {
  top: .6em;
  left: 2.4em;
  z-index: -1;
  filter: invert(90%) sepia(45%) saturate(364%) hue-rotate(1deg) brightness(94%) contrast(98%)
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block01 .object-head::before {
    top: .8vw;
    left: 6vw
  }
}

main .block01 .object-head::after {
  top: 1em;
  left: 6em;
  z-index: -2;
  filter: invert(48%) sepia(100%) saturate(1407%) hue-rotate(311deg) brightness(88%) contrast(88%)
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block01 .object-head::after {
    top: 2vw;
    left: 9vw
  }
}

main .block01 .object-bottom {
  font-size: 1em;
  position: absolute;
  bottom: -2px;
  left: -2em;
  z-index: 5;
  width: 110%
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block01 .object-bottom {
    display: none
  }
}

main .block01 .object-bottom img {
  width: 100%;
  -o-object-fit: contain;
  object-fit: contain
}

main .block01 .object-bottom::before, main .block01 .object-bottom::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: url(../img/block01_movie_bottom-bk.svg) no-repeat bottom left/contain
}

main .block01 .object-bottom::before {
  bottom: 1.5rem;
  left: 1em;
  z-index: -2;
  filter: invert(90%) sepia(45%) saturate(364%) hue-rotate(1deg) brightness(94%) contrast(98%)
}

main .block01 .object-bottom::after {
  bottom: 0;
  left: -4em;
  z-index: -1;
  filter: invert(48%) sepia(100%) saturate(1407%) hue-rotate(311deg) brightness(88%) contrast(88%)
}

main .block02 {
  padding-bottom: 6em;
  padding-top: 2vw;
  padding-left: 1em;
  padding-right: 1em;
  background-color: #f091a9
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block02 {
    padding-top: 28vw;
    padding-left: 6vw;
    padding-right: 6vw;
    padding-bottom: 0
  }
}

main .block02::before {
  content: "";
  position: absolute;
  top: -15em;
  left: 50%;
  transform: translateX(-150%);
  width: 25em;
  aspect-ratio: 1;
  background: url(../img/decoration-03.svg) no-repeat right top/contain
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block02::before {
    top: 26vw;
    left: -14vw;
    width: 50%;
    transform: unset
  }
}

main .block02::after {
  content: "";
  position: absolute;
  bottom: 12em;
  right: -5em;
  width: 30%;
  aspect-ratio: 1;
  background: url(../img/decoration-06.svg) no-repeat right top/contain
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block02::after {
    bottom: -14vw;
    right: -5vw;
    width: 50%;
    z-index: -1
  }
}

main .block02 .decoration-box {
  position: absolute;
  top: 0;
  left: -11%;
  width: 30%;
  aspect-ratio: 1
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block02 .decoration-box {
    display: none
  }
}

main .block02 .decoration-box::after {
  content: "";
  position: absolute;
  left: 60%;
  top: 35%;
  width: 90%;
  aspect-ratio: 1;
  background: url(../img/decoration-05.svg) no-repeat right top/contain;
  opacity: .6
}

main .block02 .decoration-box img {
  width: 100%;
  -o-object-fit: contain;
  object-fit: contain
}

main .block02 .opening-event-box {
  position: absolute;
  font-size: 1em;
  left: 50%;
  transform: translateX(35%);
  top: -23em;
  width: 31em;
  aspect-ratio: 1;
  z-index: 2;
  background: url(../img/top_event-bg.webp) no-repeat left bottom/contain;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-left: 5em;
  padding-bottom: 6em
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block02 .opening-event-box {
    background: unset;
    top: -5vw;
    left: 50%;
    transform: translateX(-50%);
    padding: unset;
    aspect-ratio: unset;
    justify-content: center;
    width: unset
  }
}

main .block02 .opening-event-box::after {
  display: none
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block02 .opening-event-box::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    aspect-ratio: 2.3;
    transform: translate(-50%, -50%);
    background: url(../img/decoration-12.webp) no-repeat center center/contain;
    z-index: -1
  }
}

main .block02 .opening-event-box .opening-event-box__inner {
  position: relative;
  font-size: 1em;
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 14em;
  aspect-ratio: 1;
  background-color: #ff399c;
  border-radius: 50%;
  cursor: pointer;
  transition: .5s ease-out
}

@media(min-width: 1024px) {
  main .block02 .opening-event-box .opening-event-box__inner:hover {
    transition: .3s ease-out;
    filter: brightness(70%)
  }
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block02 .opening-event-box .opening-event-box__inner {
    aspect-ratio: unset;
    border-radius: 3em;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: .8em 3em .8em 7em;
    border: solid 2px #fafafa
  }
}

main .block02 .opening-event-box .opening-event-box__inner::after {
  content: "";
  position: absolute;
  font-size: 1em;
  bottom: 1em;
  left: 50%;
  transform: translateX(-50%);
  width: 1em;
  aspect-ratio: 1/.87;
  background-color: #fafafa;
  -webkit-clip-path: polygon(0 0, 50% 100%, 100% 0);
  clip-path: polygon(0 0, 50% 100%, 100% 0)
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block02 .opening-event-box .opening-event-box__inner::after {
    left: 3.6em;
    bottom: unset;
    top: 50%;
    transform: translate(0, -50%) rotate(-90deg)
  }
}

main .block02 .opening-event-box .opening-event-box__inner h3 {
  font-size: 1.125em;
  font-weight: 700;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  padding-bottom: 1em
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block02 .opening-event-box .opening-event-box__inner h3 {
    font-size: 3vw;
    padding-bottom: unset
  }
}

main .block02 .opening-event-box .opening-event-box__inner h3 span {
  font-size: 2em;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  font-family: rubik, sans-serif;
  font-weight: 400;
  font-style: normal;
  text-transform: uppercase;
  font-weight: 500;
  margin-bottom: .3em
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block02 .opening-event-box .opening-event-box__inner h3 span {
    flex-direction: row;
    margin-bottom: unset;
    letter-spacing: .08em
  }
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block02 h2.await {
    opacity: 1;
    transition: .8s cubic-bezier(0.34, 1.56, 0.64, 1);
    filter: blur(0);
    transform: scale(1)
  }
  main .block02 h2.await.show {
    opacity: 1;
    transition: .8s cubic-bezier(0.34, 1.56, 0.64, 1);
    filter: blur(0);
    transform: scale(1)
  }
}

main .block02 ul {
  position: relative;
  font-size: 1em;
  display: flex;
  flex-direction: column;
  width: calc(100% - 6em);
  max-width: 90rem;
  gap: 1.6em 0;
  transform: translateY(-3.2em);
  margin-bottom: -3.2em;
  z-index: 1
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block02 ul {
    max-width: unset;
    width: 100%;
    transform: translateY(-6vw);
    margin-bottom: -6vw
  }
}

main .block02 ul::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 108%;
  width: 20em;
  aspect-ratio: 1;
  background: url(../img/decoration-07.webp) no-repeat left bottom/contain;
  transform: rotate(10deg)
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block02 ul::after {
    bottom: unset;
    top: -15vw;
    right: -10vw;
    left: unset;
    width: 30%
  }
}

main .block02 ul li {
  position: relative;
  font-size: 1em;
  display: grid;
  grid-template-columns: 25% 1fr;
  border: 1px solid #ea73a5;
  background-color: #fafafa;
  padding: .5em;
  gap: 0 1.4em;
  filter: drop-shadow(0.3em 0.3em 0 #ea73a5)
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block02 ul li {
    display: flex;
    flex-direction: column;
    padding: 6vw;
    filter: drop-shadow(2vw 2vw 0 #ea73a5)
  }
}

main .block02 ul li:nth-of-type(2n-1) {
  transform: translateX(3em)
}

main .block02 ul li:nth-of-type(2n-1).await {
  transform: translateX(50%);
  opacity: 0
}

main .block02 ul li:nth-of-type(2n-1).await.show {
  transform: translate(3em);
  opacity: 1;
  transition: .8s cubic-bezier(0.16, 1, 0.3, 1)
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block02 ul li:nth-of-type(2n-1).await {
    transform: translateY(0);
    opacity: 1;
    transition: .8s cubic-bezier(0.16, 1, 0.3, 1)
  }
  main .block02 ul li:nth-of-type(2n-1).await.show {
    transform: translateY(0);
    opacity: 1;
    transition: .8s cubic-bezier(0.16, 1, 0.3, 1)
  }
}

main .block02 ul li:nth-of-type(2n) {
  transform: translateX(-3em)
}

main .block02 ul li:nth-of-type(2n).await {
  transform: translateX(-50%);
  opacity: 0
}

main .block02 ul li:nth-of-type(2n).await.show {
  transform: translate(-3em);
  opacity: 1;
  transition: .8s cubic-bezier(0.16, 1, 0.3, 1)
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block02 ul li:nth-of-type(2n) {
    transform: unset
  }
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block02 ul li:not(:first-of-type) {
    display: none
  }
}

main .block02 ul li .photo-box {
  position: relative;
  width: 100%;
  overflow: hidden
}

main .block02 ul li .photo-box img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}

main .block02 ul li .contents-box {
  position: relative;
  display: flex;
  font-size: 1em;
  flex-direction: column;
  color: #f091a9
}

main .block02 ul li .contents-box .date {
  align-self: flex-end;
  font-size: 1.125em;
  font-family: rubik, sans-serif;
  font-weight: 400;
  font-style: normal
}

main .block02 ul li .contents-box .date::after {
  content: "up"
}

main .block02 ul li .contents-box .date i {
  margin-left: .4em;
  margin-right: .3em
}

main .block02 ul li .contents-box .title {
  font-size: 1.25em;
  font-weight: 700;
  color: #ff399c;
  letter-spacing: .04em
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block02 ul li .contents-box .title {
    margin-top: 1em
  }
}

main .block02 ul li .contents-box p {
  font-size: 1em;
  font-weight: 500;
  margin-top: .8em;
  letter-spacing: .04em;
  line-height: 1.4em;
  text-align: justify;
  padding-right: 2em
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block02 ul li .contents-box p {
    padding-right: unset;
    line-height: 1.8em
  }
}

main .block03 {
  padding-left: 1em;
  padding-right: 1em
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block03 {
    padding-left: 6vw;
    padding-right: 6vw;
    padding-top: 22vw
  }
}

main .block03::before {
  content: "";
  position: absolute;
  top: 5em;
  left: 50%;
  width: 140%;
  height: 100%;
  background-color: #fafafa;
  z-index: -1;
  transform: translateX(-50%) rotate(-5deg)
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block03::before {
    height: 92%
  }
}

main .block03::after {
  content: "";
  position: absolute;
  bottom: -5em;
  left: 50%;
  width: 140%;
  height: 3em;
  transform: translateX(-50%) rotate(-5deg);
  background-color: #edee8f;
  z-index: -1
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block03::after {
    height: 4vw;
    bottom: -8vw
  }
}

main .block03.await::before, main .block03.await::after {
  transform: translateX(200vw) rotate(-5deg)
}

main .block03.await.show::before, main .block03.await.show::after {
  transform: translateX(-50%) rotate(-5deg);
  transition: .8s cubic-bezier(0.16, 1, 0.3, 1)
}

main .block03 .decoration-strawberry {
  position: absolute;
  font-size: 1em;
  top: -2em;
  left: -1.6em;
  width: 13vw;
  max-width: 23rem;
  min-width: 14rem;
  aspect-ratio: 1;
  background: url(../img/decoration-strawberry01.webp) no-repeat right top/contain;
  z-index: 1
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block03 .decoration-strawberry {
    width: 20vw;
    max-width: unset;
    min-width: unset;
    left: -2vw;
    top: 6vw
  }
}

main .block03 .decoration-circle {
  font-size: 1em;
  position: absolute;
  top: -6em;
  left: 50%;
  transform: translateX(calc(-50% + 35em));
  width: 14%;
  max-width: 30rem;
  min-width: 20rem;
  aspect-ratio: 1.15
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block03 .decoration-circle {
    display: none
  }
}

main .block03 .decoration-circle i {
  position: absolute;
  aspect-ratio: 1
}

main .block03 .decoration-circle i::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/decoration-circle.svg) no-repeat center center/contain
}

main .block03 .decoration-circle i::after {
  content: "";
  position: absolute;
  aspect-ratio: 1;
  border-radius: 50%
}

main .block03 .decoration-circle i:nth-of-type(1) {
  width: 45%;
  top: 5%;
  left: 0
}

main .block03 .decoration-circle i:nth-of-type(1)::before {
  filter: invert(96%) sepia(14%) saturate(1183%) hue-rotate(2deg) brightness(99%) contrast(91%)
}

main .block03 .decoration-circle i:nth-of-type(1)::after {
  width: 15%;
  background-color: #ff399c;
  right: -45%;
  bottom: 14%
}

main .block03 .decoration-circle i:nth-of-type(2) {
  width: 32%;
  bottom: 0;
  left: 25%
}

main .block03 .decoration-circle i:nth-of-type(2)::before {
  filter: invert(60%) sepia(39%) saturate(740%) hue-rotate(151deg) brightness(107%) contrast(105%)
}

main .block03 .decoration-circle i:nth-of-type(2)::after {
  width: 35%;
  background-color: #f29663;
  left: -45%;
  top: 10%
}

main .block03 .decoration-circle i:nth-of-type(3) {
  width: 38%;
  top: 0;
  right: 0
}

main .block03 .decoration-circle i:nth-of-type(3)::before {
  filter: invert(49%) sepia(88%) saturate(7445%) hue-rotate(280deg) brightness(90%) contrast(109%)
}

main .block03 .decoration-circle i:nth-of-type(3)::after {
  width: 35%;
  background-color: #ff399c;
  right: -45%;
  bottom: 14%
}

main .block03 ul {
  position: relative;
  width: 100%;
  max-width: 1020px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 3em;
  font-size: 1em;
  transform: translateY(-3em);
  margin-bottom: -3em
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block03 ul {
    max-width: unset;
    display: flex;
    flex-direction: column;
    gap: 4vw 0;
    transform: translateY(-7vw);
    margin-bottom: -7vw
  }
}

main .block03 ul li {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-size: 1em;
  padding: 3em 1em 1.6em 2em;
  border-radius: .5em;
  width: 100%;
  filter: drop-shadow(0.4em 0.4em 0 #ea73a5)
}

main .block03 ul li.await {
  transform: translateY(300px);
  opacity: 0
}

main .block03 ul li.await.show {
  transform: translateY(0);
  opacity: 1;
  transition: .8s cubic-bezier(0.34, 1.56, 0.64, 1)
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block03 ul li {
    padding: 6vw 4vw 4vw;
    filter: drop-shadow(2vw 2vw 0 #ea73a5)
  }
  main .block03 ul li.await {
    transform: translateY(200px);
    opacity: 0
  }
  main .block03 ul li.await.show {
    transform: translateY(0);
    opacity: 1;
    transition: .6s cubic-bezier(0.34, 1.56, 0.64, 1)
  }
}

main .block03 ul li * {
  width: 40%;
  min-width: 20rem
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block03 ul li * {
    min-width: unset;
    width: 50%
  }
}

main .block03 ul li h3 {
  font-size: 1.3125em;
  font-family: rubik, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .08em
}

main .block03 ul li p {
  font-size: .75em;
  margin-top: 1em;
  text-align: justify
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block03 ul li p {
    margin-top: .5em
  }
}

main .block03 ul li a, main .block03 ul li span {
  position: relative;
  font-size: 1.125em;
  font-family: rubik, sans-serif;
  font-weight: 400;
  font-style: normal;
  text-transform: uppercase;
  font-weight: 500;
  letter-spacing: .08em;
  border: 2px solid #272727;
  padding: .5em 0 .4em 5em;
  border-radius: 2em;
  margin-top: 1em
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block03 ul li a, main .block03 ul li span {
    padding: .8em 0 .6em 4em;
    margin-top: .5em
  }
}

main .block03 ul li a::after, main .block03 ul li span::after {
  content: "";
  position: absolute;
  left: 2em;
  top: 50%;
  transform: translateY(-50%);
  width: .7em;
  aspect-ratio: .87;
  background-color: #272727;
  -webkit-clip-path: polygon(0 0, 0 100%, 100% 50%);
  clip-path: polygon(0 0, 0 100%, 100% 50%)
}

main .block03 ul li:first-of-type {
  background: url(../img/job-offer-bg.webp) no-repeat right top/cover;
  color: #272727
}

main .block03 ul li:last-of-type {
  background: url(../img/event-bg.webp) no-repeat right top/cover;
  color: #fafafa;
  align-items: flex-end;
  padding-right: 2em
}

main .block03 ul li:last-of-type h3 {
  text-align: center
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block03 ul li:last-of-type h3 {
    text-align: right
  }
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block03 ul li:last-of-type p {
    text-align: right
  }
  main .block03 ul li:last-of-type p br {
    display: none
  }
}

main .block03 ul li:last-of-type span {
  cursor: pointer;
  display: block;
  border-color: #fafafa;
  background-color: rgba(255, 255, 255, .2)
}

main .block03 ul li:last-of-type span::after {
  background-color: #fafafa
}

main .block04 {
  padding-left: 1em;
  padding-right: 1em;
  margin-top: 10em;
  margin-bottom: 12em
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block04 {
    padding-left: 6vw;
    padding-right: 6vw;
    margin-top: 18vw;
    margin-bottom: 16vw
  }
}

main .block04::before, main .block04::after {
  content: "";
  position: absolute;
  aspect-ratio: 1/1.233;
  background: url(../img/decoration-block04-bg.svg) no-repeat center center/contain;
  width: 50%;
  min-width: 60rem;
  z-index: -1
}

main .block04::before {
  top: 5%;
  left: -30%;
  filter: invert(98%) sepia(22%) saturate(2084%) hue-rotate(286deg) brightness(100%) contrast(94%)
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block04::before {
    min-width: unset;
    width: 100vw;
    transform: rotate(180deg);
    top: 75vw;
    left: -15vw
  }
}

main .block04::after {
  top: 25%;
  right: -20%;
  filter: invert(92%) sepia(36%) saturate(463%) hue-rotate(0deg) brightness(93%) contrast(101%)
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block04::after {
    min-width: unset;
    top: unset;
    bottom: 0;
    right: -10vw;
    width: 100vw
  }
}

main .block04 .decoration-box {
  position: absolute;
  top: -14em;
  left: 0;
  width: 30%;
  aspect-ratio: 1.177
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block04 .decoration-box {
    top: 30vw;
    left: -10vw;
    width: 50%
  }
}

main .block04 .decoration-box::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/decoration-09.svg) no-repeat right bottom/contain;
  opacity: .6;
  z-index: -1
}

main .block04 .decoration-box i {
  position: absolute;
  background-color: #61c2cb;
  border-radius: 50%;
  aspect-ratio: 1
}

main .block04 .decoration-box i:nth-of-type(1) {
  width: 5%;
  top: 5%;
  right: 50%
}

main .block04 .decoration-box i:nth-of-type(2) {
  width: 25%;
  top: 8%;
  left: 20%
}

main .block04 .decoration-box i:nth-of-type(3) {
  width: 20%;
  top: 15%;
  right: 30%
}

main .block04__inner {
  width: 100%;
  max-width: 1024px;
  position: relative;
  display: flex;
  flex-direction: column;
  font-size: 1em;
  z-index: 1
}

main .block04__inner::before {
  content: "";
  position: absolute;
  left: -35%;
  bottom: -20%;
  width: 50%;
  aspect-ratio: 1;
  background: url(../img/decoration-04.svg) no-repeat right bottom/contain;
  opacity: .8
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block04__inner::before {
    left: -30vw;
    bottom: -30vw
  }
}

main .block04__inner::after {
  content: "";
  position: absolute;
  right: -30%;
  bottom: 0;
  width: 40%;
  aspect-ratio: 1;
  background: url(../img/decoration-06.svg) no-repeat right bottom/contain;
  z-index: -1
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block04__inner::after {
    display: none
  }
}

main .block04__inner h2 {
  text-transform: unset
}

main .block04__inner h2::before, main .block04__inner h2::after {
  content: "";
  position: absolute;
  aspect-ratio: 1
}

main .block04__inner h2::before {
  top: .5em;
  left: -1em;
  width: 1.4em;
  aspect-ratio: 1;
  background: url(../img/decoration-08.svg) no-repeat center center/cover;
  -webkit-clip-path: circle(50%);
  clip-path: circle(50%);
  z-index: -2
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block04__inner h2::before {
    top: unset;
    bottom: -68vw;
    width: 2em
  }
}

main .block04__inner h2::after {
  top: -0.3em;
  left: .3em;
  width: 1em;
  background: url(../img/decoration-06.svg) no-repeat right top/contain
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block04__inner h2::after {
    top: unset;
    bottom: -32vw;
    width: 1.3em;
    left: .8em
  }
}

main .block04__inner h2.await::before {
  opacity: 0
}

main .block04__inner h2.await::after {
  opacity: 0
}

main .block04__inner h2.await.show::before {
  opacity: 1;
  transition: .6s cubic-bezier(0.34, 1.56, 0.64, 1) 1s
}

main .block04__inner h2.await.show::after {
  opacity: 1;
  transition: .8s cubic-bezier(0.34, 1.56, 0.64, 1) 1.4s
}

main .block04__inner h2 i {
  display: block;
  line-height: .6em
}

main .block04__inner .date-box {
  position: absolute;
  top: -0.5em;
  right: 0;
  font-size: 5.125em;
  font-family: rubik, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-weight: 500;
  color: #ff399c;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 3.1em;
  aspect-ratio: 1;
  line-height: .8em;
  background-color: rgba(255, 255, 255, .8);
  border-radius: 50%;
  padding-top: .2em
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block04__inner .date-box {
    font-size: 3.75em;
    top: 18vw
  }
}

main .block04__inner .date-box::before, main .block04__inner .date-box::after {
  content: "";
  position: absolute;
  aspect-ratio: 1;
  background: url(../img/decoration-circle.svg) no-repeat center center/contain
}

main .block04__inner .date-box::before {
  width: .9em;
  bottom: .2em;
  left: -0.2em;
  filter: invert(35%) sepia(100%) saturate(5622%) hue-rotate(279deg) brightness(91%) contrast(108%)
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block04__inner .date-box::before {
    width: 1.2em;
    bottom: -2vw
  }
}

main .block04__inner .date-box::after {
  width: .7em;
  top: .2em;
  right: -0.8em;
  filter: invert(100%) sepia(12%) saturate(7500%) hue-rotate(188deg) brightness(111%) contrast(114%);
  opacity: .47
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block04__inner .date-box::after {
    display: none
  }
}

main .block04__inner .date-box span {
  font-size: .5em
}

main .block04__inner ul {
  position: relative;
  margin-top: 3em;
  width: 100%;
  font-size: 1em;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2em
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block04__inner ul {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 28vw
  }
}

main .block05 {
  padding: 5em 1em
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block05 {
    padding: 10vw 6vw
  }
}

main .block05::before {
  content: "";
  position: absolute;
  top: -4em;
  left: 1em;
  width: 20%;
  aspect-ratio: 1;
  background: url(../img/decoration-07.webp) no-repeat top right/contain;
  transform: rotate(-10deg)
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block05::before {
    top: -14vw;
    width: 36vw;
    left: -2vw
  }
}

main .block05::after {
  content: "";
  position: absolute;
  width: 140%;
  height: 100%;
  top: 0;
  left: 50%;
  transform: translateX(-50%) rotate(-5deg);
  background-color: #fafafa;
  z-index: -1
}

main .block05 .decoration-box {
  position: absolute;
  top: -20em;
  right: -2%;
  width: 25%;
  aspect-ratio: 1;
  background: url(../img/decoration-03.svg) no-repeat left top/contain
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block05 .decoration-box {
    width: 50%;
    top: -18vw;
    right: -14vw
  }
}

main .block05 .decoration-box::before {
  content: "";
  position: absolute;
  top: -10%;
  right: 10%;
  width: 45%;
  aspect-ratio: 1;
  background: url(../img/decoration-strawberry02.webp) no-repeat left top/contain
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block05 .decoration-box::before {
    display: none
  }
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block05 h2 {
    display: inline-flex;
    align-items: center;
    flex-direction: column
  }
  main .block05 h2 i {
    font-size: .45em;
    margin-bottom: -0.3em
  }
}

main .block05 ul {
  font-size: 1em;
  position: relative;
  width: 100%;
  max-width: 1000px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3em 1.6em;
  margin-top: 3em;
  z-index: 1
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block05 ul {
    display: flex;
    flex-direction: column;
    gap: 6vw 0
  }
}

main .block05 ul li {
  position: relative;
  width: 100%;
  font-size: 1em
}

main .block05 ul li:nth-of-type(2n - 1).await {
  transform: translateX(-20vw);
  opacity: 0
}

main .block05 ul li:nth-of-type(2n - 1).await.show {
  transform: translateX(0);
  opacity: 1;
  transition: .5s cubic-bezier(0.34, 1.56, 0.64, 1)
}

main .block05 ul li:nth-of-type(2n).await {
  transform: translateX(20vw);
  opacity: 0
}

main .block05 ul li:nth-of-type(2n).await.show {
  transform: translateX(0);
  opacity: 1;
  transition: .5s cubic-bezier(0.34, 1.56, 0.64, 1) .5s
}

main .block05 ul li a {
  width: 100%;
  position: relative;
  font-size: 1em;
  display: grid;
  grid-template-columns: 35% 1fr;
  gap: 0 1em
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block05 ul li a {
    grid-template-columns: 40% 1fr
  }
}

main .block05 ul li a .photo-box {
  font-size: 1em;
  position: relative;
  width: 100%
}

main .block05 ul li a .photo-box img {
  width: 100%;
  aspect-ratio: 1;
  -o-object-fit: cover;
  object-fit: cover;
  box-shadow: .5em .5em 0 #f9d2dc
}

main .block05 ul li a .contents-box {
  position: relative;
  font-size: 1em;
  display: flex;
  flex-direction: column;
  color: #000;
  margin-top: 1em;
  padding-top: 1em;
  padding-bottom: 1.6em
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block05 ul li a .contents-box {
    padding-top: 2em;
    margin-top: 1.6em
  }
}

main .block05 ul li a .contents-box::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: 140%;
  background-color: #efefef;
  z-index: -1
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block05 ul li a .contents-box::after {
    width: 170%
  }
}

main .block05 ul li a .contents-box .cutie {
  position: absolute;
  top: .2em;
  right: .2em;
  font-size: 1.25em;
  font-weight: 700;
  letter-spacing: .04em;
  color: #fff;
  width: 5.2em;
  aspect-ratio: 1.1325;
  display: flex;
  justify-content: center;
  align-items: center;
  background: url(../img/cast_new-bg.svg) no-repeat center center/contain
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block05 ul li a .contents-box .cutie {
    top: unset;
    bottom: 0;
    right: 110%;
    font-size: 1.75em
  }
}

main .block05 ul li a .contents-box .cutie::before {
  content: "cutie";
  font-weight: 500;
  font-size: .5em;
  text-transform: uppercase;
  position: absolute;
  top: 1.7em;
  left: 1.2em;
  letter-spacing: .01em
}

main .block05 ul li a .contents-box .name {
  font-size: 1.4375em;
  font-weight: 700
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block05 ul li a .contents-box .name {
    font-size: 1.75em
  }
}

main .block05 ul li a .contents-box .date {
  font-size: 1em;
  font-family: rubik, sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #f091a9;
  margin-top: .5em
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block05 ul li a .contents-box .date {
    margin-top: unset
  }
}

main .block05 ul li a .contents-box .date::after {
  content: "up"
}

main .block05 ul li a .contents-box .date i {
  margin-left: .4em;
  margin-right: .3em
}

main .block05 ul li a .contents-box p {
  font-size: .875em;
  margin-top: 1.6em;
  padding-right: 2em;
  letter-spacing: .04em;
  text-align: justify;
  line-height: 1.8em;
  height: 7.2em;
  overflow: hidden
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block05 ul li a .contents-box p {
    height: 9em;
    padding-right: 1em
  }
}

main .block06 {
  padding-left: 1em;
  padding-right: 1em
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block06 {
    padding-left: 6vw;
    padding-right: 6vw;
    padding-top: 14vw
  }
}

main .block06::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%) rotate(-5deg);
  width: 140%;
  height: 100%;
  border-top: 1em solid #6ab9d0;
  background-color: #fee6ec;
  z-index: -1;
  background-image: radial-gradient(#F7C1CA 15%, transparent 30%);
  background-size: 16px 16px
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block06::after {
    border-top-width: 2em;
    height: 75%
  }
}

main .block06 .job-offer {
  position: relative;
  width: 100%;
  max-width: 100rem;
  color: #272727;
  background: url(../img/job-offer-bg.webp) no-repeat right top/cover;
  font-size: 1em;
  padding: 4em 1em 2em 7%;
  display: flex;
  flex-direction: column;
  border-radius: .6em
}

main .block06 .job-offer.await {
  transform: translateY(30rem);
  opacity: 0
}

main .block06 .job-offer.await::after {
  opacity: 0;
  transform: scale(0)
}

main .block06 .job-offer.await.show {
  transform: translateY(0);
  opacity: 1;
  transition: .6s cubic-bezier(0.34, 1.56, 0.64, 1)
}

main .block06 .job-offer.await.show::after {
  transform: scale(1);
  transition: .6s cubic-bezier(0.34, 1.56, 0.64, 1) .6s;
  opacity: 1
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block06 .job-offer {
    padding: 4vw 4vw 6vw;
    height: 110vw;
    background-position: left 70% top;
    justify-content: flex-end
  }
}

main .block06 .job-offer::after {
  content: "";
  position: absolute;
  top: -5em;
  left: -10em;
  width: 15em;
  aspect-ratio: 1;
  background: url(../img/decoration-strawberry03.webp) no-repeat right top/contain
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block06 .job-offer::after {
    width: 10em;
    left: -4vw;
    background-position: left top
  }
}

main .block06 .job-offer::before {
  display: none
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block06 .job-offer::before {
    display: block;
    content: "";
    position: absolute;
    bottom: -3vw;
    right: -10vw;
    width: 30vw;
    aspect-ratio: 1;
    background: url(../img/decoration-strawberry02.webp) no-repeat right bottom/contain
  }
}

main .block06 .job-offer h3 {
  font-size: 2em;
  font-family: rubik, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .24em;
  width: 28%;
  min-width: 27rem
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block06 .job-offer h3 {
    font-size: 3em;
    line-height: 1em;
    min-width: unset;
    width: 60%
  }
}

main .block06 .job-offer p {
  font-size: 12px;
  margin-top: 1em;
  text-align: justify;
  width: 28%;
  min-width: 27rem
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block06 .job-offer p {
    min-width: unset;
    width: 54%;
    font-size: 3.6vw
  }
}

main .block06 .job-offer a {
  position: relative;
  font-size: 1.125em;
  font-family: rubik, sans-serif;
  font-weight: 400;
  font-style: normal;
  text-transform: uppercase;
  font-weight: 500;
  letter-spacing: .08em;
  border: 2px solid #272727;
  padding: .5em 0 .4em 5em;
  border-radius: 2em;
  margin-top: 1em;
  color: #272727;
  width: 25%
}

@media(max-width: 767px)and (orientation: portrait) {
  main .block06 .job-offer a {
    width: 50%;
    padding: .5em 0 .4em 4em;
    font-size: 1.25em;
    background-color: rgba(250, 250, 250, .5)
  }
}

main .block06 .job-offer a::after {
  content: "";
  position: absolute;
  left: 2em;
  top: 50%;
  transform: translateY(-50%);
  width: .7em;
  aspect-ratio: .87;
  background-color: #272727;
  -webkit-clip-path: polygon(0 0, 0 100%, 100% 50%);
  clip-path: polygon(0 0, 0 100%, 100% 50%)
}


/*# sourceMappingURL=top.min.css.map */