@charset "UTF-8";
:root {
  --color-gray: #555;
  --color-white: #fff;
  --color-blue: #4d63a1;
  --bg-gradient: linear-gradient(to right, #596eb4, #00a2a4);
  --font-jp: "Shippori Mincho", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  --font-eng: "Cormorant", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  --ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1);
  --ease-out-cubic: cubic-bezier(0.33, 1, 0.68, 1);
  --ease-out-sine: cubic-bezier(0.61, 1, 0.88, 1);
}

.p-form__inner {
  width: 89.5%;
  margin: 0 auto;
  padding-top: 2.4rem;
}
.p-form__title {
  width: 41.4%;
  margin: 0 auto;
  transform: scale(1.1);
  filter: blur(5px);
  opacity: 0;
}
.on-load .p-form__title {
  transform: scale(1);
  filter: blur(0);
  opacity: 1;
  transition: transform 1s var(--ease-out-cubic), filter 1s var(--ease-out-cubic), opacity 0.5s var(--ease-out-cubic);
}
.p-form__body {
  margin-top: 3.2rem;
}
.p-form__block {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  pointer-events: none;
  opacity: 0;
}
.p-form__block.is-active, .--confirm .p-form__block {
  position: relative;
  pointer-events: auto;
  opacity: 1;
}
.p-form__block-head {
  transform: translateY(0.8rem);
  opacity: 0;
}
.on-load .p-form__block.--character.is-active .p-form__block-head, .on-load .p-form__block.--profile.is-active .p-form__block-head, .on-load .p-form.--confirm .p-form__block-head {
  transform: translateY(0);
  opacity: 1;
  transition: transform 1s var(--ease-out-cubic) 0.3s, opacity 0.5s var(--ease-out-cubic) 0.3s;
}
.p-form__block-title {
  position: relative;
  box-sizing: content-box;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding-bottom: 2.7rem;
  background: var(--bg-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  text-align: center;
  color: transparent;
  font-size: 2rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
.p-form__block-title::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 1rem;
  padding-top: 1.3173684211rem;
  background: url(../img/deco.svg) no-repeat center center/100% auto;
}
.p-form__block-body {
  margin-top: 1.7rem;
  transform: translateY(0.8rem);
  opacity: 0;
}
.on-load .p-form__block.--character.is-active .p-form__block-body, .on-load .p-form__block.--profile.is-active .p-form__block-body, .on-load .p-form.--confirm .p-form__block-body {
  transform: translateY(0);
  opacity: 1;
  transition: transform 1s var(--ease-out-cubic) 0.5s, opacity 0.5s var(--ease-out-cubic) 0.5s;
}

.p-form_character__list {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
}
.p-form_character__list-item {
  position: relative;
  width: 23.8%;
  margin-left: 1.6%;
}
.p-form_character__list-item:nth-child(4n-3) {
  margin-left: 0;
}
.p-form_character__list-item:nth-child(n+5) {
  margin-top: 1.1rem;
}
.p-form_character__thumbnail {
  z-index: 0;
  overflow: hidden;
}
.p-form_character__thumbnail::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--bg-gradient);
  opacity: 0;
  transition: opacity 0.5s var(--ease-out-cubic);
}
.p-form_character__radio:checked + .p-form_character__thumbnail::after {
  opacity: 0.5;
}

.p-form_character__thumbnail img {
  transition: transform 0.5s var(--ease-out-cubic);
}
@media (hover: hover) {
  .p-form_character__radio:hover + .p-form_character__thumbnail img {
    transform: scale(1.06);
  }
}

.p-form_character__name {
  margin-top: 0.2rem;
  text-align: center;
  font-size: 1.2rem;
  letter-spacing: 0.04em;
}
.p-form_character__radio {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}
.p-form_character__radio:checked {
  pointer-events: none;
}
.p-form_character__next {
  margin-top: 3.2rem;
}
.p-form_character__next-btn {
  width: 82%;
  margin: 0 auto;
}

.p-form_profile {
  margin-top: 2rem;
}
.p-form_profile__block:nth-child(n+2) {
  margin-top: 1.6rem;
}
.p-form_profile__label {
  color: var(--color-blue);
  line-height: 1.88;
  font-weight: 700;
}
.p-form_profile__text {
  line-height: 1.52;
  letter-spacing: 0.07em;
}
.p-form_profile__input {
  margin-top: 0.5rem;
}
.p-form_profile__input input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: block;
  box-sizing: border-box;
  width: 100%;
  padding: 1.3rem;
  background: var(--color-white);
  border: none;
  border-radius: 5px;
  box-shadow: 1px 1px 2px 0px rgba(180, 180, 180, 0.25);
  font-family: var(--font-jp);
  font-size: 1.2rem;
  transform: rotate(0.03deg);
}
.p-form_profile__select {
  margin-top: 0.5rem;
}
.p-form_profile__select::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 1.8rem;
  z-index: 1;
  width: 3%;
  height: 100%;
  background: url(../img/arrow.svg) no-repeat center center/100% auto;
  pointer-events: none;
}
.p-form_profile__select.episode-select-wrap::after {
  opacity: 0.3;
}

.p-form_profile__select.episode-select-wrap.is-active::after {
  opacity: 1;
}

.p-form_profile__select select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: block;
  box-sizing: border-box;
  width: 100%;
  padding: 1.3rem;
  background: var(--color-white);
  border: none;
  border-radius: 5px;
  box-shadow: 1px 1px 2px 0px rgba(180, 180, 180, 0.25);
  color: var(--color-gray);
  font-family: var(--font-jp);
  font-size: 1.2rem;
  transform: rotate(0.03deg);
}
.p-form_profile__select .episode-select {
  opacity: 0.2;
  pointer-events: none;
}
.p-form_profile__select .episode-select:nth-child(n+2) {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.p-form_profile__select .episode-select.is-active {
  display: block;
  z-index: 1;
  opacity: 1;
  pointer-events: auto;
}
.p-form_profile__notes {
  margin-top: 0.7rem;
}
.p-form_profile__notes-list-item {
  padding-left: 1em;
  text-indent: -1em;
  font-size: 1.1rem;
  line-height: 1.6;
  letter-spacing: 0.06em;
}
.p-form_profile__submit {
  width: 82%;
  margin: 0 auto;
  margin-top: 4.2rem;
}
.--confirm .p-form_profile__submit {
  margin-top: 5.8rem;
}
.p-form_profile__back {
  width: 82%;
  margin: 0 auto;
  margin-top: 1rem;
}

.p-complete__inner {
  width: 89.5%;
  margin: 0 auto;
  padding-top: 2.4rem;
}
.p-complete__title {
  width: 41.4%;
  margin: 0 auto;
  transform: scale(1.1);
  filter: blur(5px);
  opacity: 0;
}
.on-load .p-complete__title {
  transform: scale(1);
  filter: blur(0);
  opacity: 1;
  transition: transform 1s var(--ease-out-cubic), filter 1s var(--ease-out-cubic), opacity 0.5s var(--ease-out-cubic);
}
.p-complete__body {
  margin-top: 2.7rem;
}
.p-complete__content-head {
  transform: translateY(0.8rem);
  opacity: 0;
}
.on-load .p-complete__content-head {
  transform: translateY(0);
  opacity: 1;
  transition: transform 1s var(--ease-out-cubic) 0.3s, opacity 0.5s var(--ease-out-cubic) 0.3s;
}
.p-complete__content-body {
  transform: translateY(0.8rem);
  opacity: 0;
}
.on-load .p-complete__content-body {
  transform: translateY(0);
  opacity: 1;
  transition: transform 1s var(--ease-out-cubic) 0.5s, opacity 0.5s var(--ease-out-cubic) 0.5s;
}
.p-complete__heading {
  position: relative;
  box-sizing: content-box;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding-bottom: 2.5rem;
  background: var(--bg-gradient);
  -webkit-background-clip: text;
  background-clip: text;
  text-align: center;
  color: transparent;
  font-size: 2.9rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
.p-complete__heading::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 1rem;
  padding-top: 1.3173684211rem;
  background: url(../img/deco.svg) no-repeat center center/100% auto;
}
.p-complete__profile {
  margin-top: 2.2rem;
}
.p-complete__more {
  margin-top: 2.5rem;
}
.p-complete__more-btn {
  width: 82%;
  margin: 0 auto;
}
.p-complete__more-btn:nth-child(n+2) {
  margin-top: 1rem;
}