@import url("https://fonts.googleapis.com/css?family=Nunito");
/* LINE内ブラウザ以外リダイレクト時のちらつき防止 */
html { visibility: hidden; }
/* CSS Reset */
body, div, section, article, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  text-align: center;
}

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th {
  text-align: left;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}

img, abbr, acronym, fieldset {
  border: 0;
}

li {
  list-style-type: none;
}

img {
  vertical-align: middle;
  margin: 0;
  padding: 0;
  border: 0;
  width: 100%;
  height: auto;
}

a {
  text-decoration: none;
  color: inherit;
  transition: all 0.4s;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  cursor: pointer;
}
@media screen and (min-width: 901px) {
  a:active, a:hover {
    transition: all 0.4s;
  }
}

button {
  cursor: pointer;
}

:focus {
  outline: none;
}

a:hover, a:active {
  transition: all 0.6s;
  text-decoration: none;
}

a:-webkit-any-link {
  cursor: pointer;
}

* {
  min-height: 0;
  min-width: 0;
}

body p {
  display: block;
  -webkit-margin-before: 0;
  -webkit-margin-after: 0;
  -webkit-margin-start: 0px;
  -webkit-margin-end: 0px;
}

/* General setting */
html {
  width: 100vw;
  height: 100%;
  -ms-overflow-style: none;
  -webkit-font-smoothing: antialiased;
  font-family: "Zen Maru Gothic", sans-serif;
}

html,
body {
  font-size: 62.5%;
  overflow-x: hidden;
}

body {
  width: 100%;
  overflow-y: hidden;
}

.pc_only {
  display: block;
}
@media screen and (max-width: 768px) {
  .pc_only {
    display: none !important;
  }
}

.sp_only {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp_only {
    display: block;
  }
}

.none {
  display: none;
}

.footer {
  background-color: #FEF7FA;
  text-align: center;
  max-width: 100%;
  padding: 3.6269430052vw 0 3.8860103627vw;
  box-sizing: border-box;
}
.footer .footer_logo {
  max-width: 31.0880829016vw;
  display: block;
  margin: 0 auto 2.3316062176vw;
}
.footer .footer_copylight {
  font-size: 2.3316062176vw;
  line-height: 1;
  margin: 0;
  font-weight: bold;
  color: #3e3a39;
}
.footer.not_padding {
  padding: 0 0 3.8860103627vw;
}

.top_bg {
  width: 100%;
  height: auto;
}

.ribbon_text {
  font-size: 2.8497409326vw;
  font-weight: 900;
  color: #231815;
  margin-top: 1.0362694301vw;
  line-height: 4.4041450777vw;
  letter-spacing: 0.1rem;
}

.link_diag {
  max-width: 37.8238341969vw;
  display: block;
  margin: 0 auto;
  margin-top: -2.5906735751vw;
  z-index: 1;
}

.top_ice {
  position: absolute;
  top: 123.8341968912vw;
  left: 18.1347150259vw;
  width: 11.1398963731vw;
  animation: yure 2.4s ease-in-out infinite;
}

.top_cake {
  position: absolute;
  top: 56.4766839378vw;
  right: 25.9067357513vw;
  width: 9.3264248705vw;
  animation: yure 1.6s ease-in-out infinite;
}

.top_roll {
  position: absolute;
  top: 65.5440414508vw;
  right: 19.4300518135vw;
  width: 7.2538860104vw;
  animation: yure 1.5s ease-in-out infinite;
}

.start_diag {
  max-width: 37.8238341969vw;
  display: block;
  margin: 0 auto;
  margin-top: -15.5440414508vw;
  z-index: 1;
}

.qx_page {
  background-image: url("../img/question/question_bg_01.png");
  background-size: contain;
  background-repeat: no-repeat;
}
.qx_page .step_bar_qx {
  max-width: 72.7979274611vw;
  width: 100%;
  padding: 17.3575129534vw 0 0;
  margin: 0 auto;
}
.qx_page .base_qx {
  margin: 38.8601036269vw 14.5077720207vw 0;
  position: relative;
  padding-bottom: 2.5906735751vw;
}
.qx_page .base_qx .base_qx_inner {
  padding: 6.4766839378vw 3.8860103627vw 0;
  color: #4A5E77;
}
.qx_page .base_qx .base_qx_inner.break {
  padding: 4.4041450777vw 3.8860103627vw 0;
}
.qx_page .base_qx .base_qx_inner .qx_logo {
  position: absolute;
  max-width: 23.8341968912vw;
  width: 100%;
  left: 50%;
  transform: translate(-50%, -100%);
  top: 3.1088082902vw;
}
.qx_page .base_qx .base_qx_inner .qx_title {
  font-family: "kozuka-gothic-pr6n", sans-serif;
  font-weight: bold;
  font-size: 3.6269430052vw;
  text-align: center;
  margin-bottom: 3.6269430052vw;
  height: 3em;
  display: flex;
  justify-content: center;
  align-items: center;
}
.qx_page .base_qx .base_qx_inner .qx_title.break {
  margin-bottom: 3.3678756477vw;
}
.qx_page .base_qx .base_qx_inner .qx_choices {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 2.8497409326vw;
  margin-bottom: 6.4766839378vw;
}
.qx_page .base_qx .base_qx_inner .qx_choices .qx_list {
  cursor: pointer;
}
.qx_page .base_qx .base_qx_inner .qx_choices .qx_list .qx_list_btn {
  width: 100%;
  display: block;
  padding: 0;
  border-radius: 2.5906735751vw;
  background-color: #fff;
  box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.25);
}
.qx_page .base_qx .base_qx_inner .qx_choices .qx_list .qx_list_btn .qx_items {
  display: flex;
  align-items: center;
  padding: 1.0362694301vw 1.0362694301vw 1.0362694301vw 2.8497409326vw;
  gap: 2.5906735751vw;
  min-height: 9.8445595855vw;
  max-height: 9.8445595855vw;
}
.qx_page .base_qx .base_qx_inner .qx_choices .qx_list .qx_list_btn .qx_items .qx_rabel {
  display: block;
  color: #D56A83;
  font-size: 3.6269430052vw;
  font-weight: bold;
  line-height: 1;
}
.qx_page .base_qx .base_qx_inner .qx_choices .qx_list .qx_list_btn .qx_items .qx_text {
  text-align: left;
  font-size: 2.5906735751vw;
  font-weight: bold;
  font-family: "kozuka-gothic-pr6n", sans-serif;
  letter-spacing: 0.075em;
  color: #4A5E77 !important;
}
.qx_page .base_qx .wave_bottom {
  background-color: #e1f3fb;
}
.qx_page .base_qx .question_kitty {
  position: absolute;
  left: -5.1813471503vw;
  top: 77.7202072539vw;
  width: 15.0259067358vw;
  animation: yure 1.9s ease-in-out infinite;
}
.qx_page .base_qx .question_shinamo {
  position: absolute;
  right: -5.1813471503vw;
  top: 77.7202072539vw;
  width: 16.0621761658vw;
  animation: yure 2s ease-in-out infinite;
}

.name_page {
  font-family: "kozuka-gothic-pr6n", sans-serif;
  color: #3e3a39;
  font-weight: bold;
  background-image: url("../img/name_bg.png");
  background-size: contain;
  background-repeat: no-repeat;
}
.name_page .name_entry .name_entry_form {
  padding: 79.0155440415vw 0 2.5906735751vw;
}
.name_page .name_entry .name_entry_form .name_entry_text {
  font-size: 4.6632124352vw;
  max-width: 69.9481865285vw;
  width: 100%;
  margin: 0 auto 5.1813471503vw;
  color: #fff;
}
.name_page .name_entry .name_entry_form .name_entry_input .name_entry_input_box {
  font-family: "kozuka-gothic-pr6n", sans-serif;
  border-radius: 2.5906735751vw;
  border: 1px solid #FFFFFF;
  max-width: 55.6994818653vw;
  width: 100%;
  height: 9.8445595855vw;
  font-size: 3.3678756477vw;
}
.name_page .name_entry .name_entry_form .name_entry_input .name_entry_input_box::placeholder {
  color: #d9d9d9;
  opacity: 1;
  font-size: 4.1450777202vw;
}
.name_page .name_entry .name_entry_form .name_entry_submit {
  max-width: 52.3316062176vw;
  width: 100%;
  margin: 0 auto 0;
}
.name_page .name_feature {
  max-width: 44.0414507772vw;
  width: 100%;
  margin: 0 auto;
  height: 28.4974093264vw;
  position: relative;
}
.name_page .name_feature .name_feature_01 {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 25.9067357513vw;
  z-index: 2;
  animation: yure2 2s ease-in-out infinite;
}
.name_page .name_feature .name_feature_02 {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 31.0880829016vw;
  z-index: 1;
  animation: yure2 1.9s ease-in-out infinite;
}

button {
  background-color: inherit;
  border: none;
}

.result {
  z-index: 2;
  padding-bottom: 2.5906735751vw;
}
.result .result_title {
  font-size: 8.2901554404vw;
  font-weight: 900;
  color: #4A5E77;
  margin-top: 5.1813471503vw;
  letter-spacing: 0.4rem;
  line-height: 1.4;
  padding-top: 38.8601036269vw;
}
.result .result_subtitle {
  font-size: 6.2176165803vw;
  font-weight: 900;
  color: #D56A83;
  margin-top: 2.5906735751vw;
  letter-spacing: 0.6rem;
  line-height: 1.4;
}

.result_btn {
  max-width: 52.3316062176vw;
  display: block;
  margin: -15.5440414508vw auto 5.1813471503vw;
  z-index: 10;
  position: relative;
}
.result_btn.opacity {
  animation: non 1.2s cubic-bezier(0.2, 0.8, 0.2, 1) 1 forwards;
}

.kitty_message_wrap {
  z-index: 1;
  margin: 8.2901554404vw auto 2.5906735751vw;
  max-width: 62.1761658031vw;
  padding-top: 10.3626943005vw;
}
.kitty_message_wrap .kitty_message {
  position: relative;
}
.kitty_message_wrap .kitty_message .result_top_box {
  position: absolute;
  top: -15%;
  z-index: 3;
}
.kitty_message_wrap .kitty_message .result_top_box.sway {
  animation: sway 1.3s ease-in-out infinite;
  transform-origin: center center;
  will-change: transform;
}
.kitty_message_wrap .kitty_message .result_top_box.jump {
  animation: jump 2s cubic-bezier(0.25, 0.8, 0.25, 1) 1 forwards;
  transform-origin: center bottom;
  will-change: transform;
}
.kitty_message_wrap .kitty_message .result_btm_box {
  position: relative;
  z-index: 1;
}
.kitty_message_wrap .kitty_message .name_message {
  position: absolute;
  opacity: 0;
  bottom: 0;
  z-index: 2;
}
.kitty_message_wrap .kitty_message .name_message.visible {
  animation: appear 1.5s cubic-bezier(0.2, 0.8, 0.2, 1) 1 forwards;
  transform-origin: center center;
}
.kitty_message_wrap .kitty_message .name_message .name {
  position: absolute;
  left: 50%;
  top: 45%;
  transform: translate(-50%, -50%) scale(0.95);
  width: 100%;
  text-align: center;
  font-size: 4.6632124352vw;
  font-weight: 700;
  letter-spacing: 0.2rem;
  color: #4A5E77;
}

@keyframes sway {
  0% {
    transform: translateX(0) rotate(0deg);
  }
  20% {
    transform: translateX(-2px) rotate(-2deg);
  }
  50% {
    transform: translateX(3px) rotate(2deg);
  }
  80% {
    transform: translateX(-1px) rotate(-1deg);
  }
  100% {
    transform: translateX(0) rotate(0deg);
  }
}
@keyframes jump {
  0% {
    transform: translateY(0) scaleY(1);
  }
  100% {
    transform: translateY(-60vw) translateX(20vw) scaleY(1) rotate(30deg);
  }
}
@keyframes appear {
  0% {
    opacity: 0;
    transform: scale(0.9);
  }
  60% {
    opacity: 1;
    transform: scale(1.4);
  }
  100% {
    opacity: 1;
    transform: scale(1.35);
  }
}
@keyframes non {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes yure {
  0% {
    transform: rotate(10deg);
  }
  50% {
    transform: rotate(-10deg);
  }
  100% {
    transform: rotate(10deg);
  }
}
@keyframes yure2 {
  0% {
    transform: rotate(6deg);
  }
  50% {
    transform: rotate(-6deg);
  }
  100% {
    transform: rotate(6deg);
  }
}
.modal_wrap {
  position: fixed;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.3);
  display: none;
  align-items: center;
  justify-content: center;
  transition: all 0.4s;
  z-index: -10;
}
.modal_wrap .modal {
  height: fit-content;
  max-height: 90%;
  max-width: 89.3333333333vw;
  width: 100%;
  background-color: #fff;
  padding: 5.3333333333vw;
  overflow-y: scroll;
}
.modal_wrap .modal .modal_inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: auto;
}
.modal_wrap .modal .modal_inner .modal_inner_title {
  text-align: center;
  color: #000;
  font-size: 5.3333333333vw;
  line-height: 1;
  font-weight: 900;
}
.modal_wrap .modal .modal_inner .modal_inner_sub_title {
  text-align: center;
  color: #D92531;
  font-size: 3.4666666667vw;
  line-height: 1;
  font-weight: 900;
  margin-top: 5.3333333333vw;
}
.modal_wrap .modal .modal_inner .modal_inner_detail {
  text-align: left;
  color: #D92531;
  font-size: 2.9333333333vw;
  line-height: 1.5;
  font-weight: 400;
  margin-top: 5.3333333333vw;
}
.modal_wrap .modal .modal_inner .modal_inner_detail span {
  font-weight: 900;
}
.modal_wrap .modal .modal_inner .tos_wrap {
  margin-top: 5.3333333333vw;
  height: 46.6666666667vw;
  overflow-y: scroll;
  background-color: #f4f4f4;
}
.modal_wrap .modal .modal_inner .tos_wrap .tos {
  padding: 5.3333333333vw 4vw;
}
.modal_wrap .modal .modal_inner .tos_wrap .tos h4 {
  text-align: left;
  font-size: 3.4666666667vw;
  line-height: 1;
  font-weight: 700;
  margin-top: 5.3333333333vw;
}
.modal_wrap .modal .modal_inner .tos_wrap .tos h4:first-of-type {
  margin-top: 0;
}
.modal_wrap .modal .modal_inner .tos_wrap .tos p {
  text-align: left;
  font-size: 2.9333333333vw;
  line-height: 1.5;
  font-weight: 500;
  margin-top: 1.3333333333vw;
}
.modal_wrap .modal .modal_inner .tos_wrap .tos p span {
  font-size: 3.2vw;
  line-height: 1.5;
  font-weight: 700;
}
.modal_wrap .modal .modal_inner .modal_inner_btn {
  background-color: #D92531;
  width: 55.7333333333vw;
  padding: 5.3333333333vw 0;
  color: #fff;
  font-size: 4.2666666667vw;
  line-height: 1;
  font-weight: 900;
  text-align: center;
  border-radius: 13.3333333333vw;
  margin-top: 5.3333333333vw;
}

.agreement {
  display: flex;
  z-index: 10;
}

.result_wrap {
  display: flex;
  flex-direction: column;
  min-height: 100dvh;
  justify-content: space-between;
  background-image: url("../img/result/result_bg.png");
  background-size: contain;
  background-repeat: no-repeat;
}

body {
  background-color: #FEF7FA;
  font-family: "kozuka-gothic-pr6n", sans-serif;
}

.wave_carousel {
  display: flex;
  width: 400vw;
  height: auto;
  overflow: hidden;
  background-color: #fff;
}
.wave_carousel .loop_1 {
  animation: loop 20s -10s linear infinite;
}
.wave_carousel .loop_2 {
  animation: loop2 20s linear infinite;
}

.wave_carousel_footer {
  height: 4vw;
}

.wave_carousel_footer_mail {
  height: 9.3333333333vw;
}

.wave_carousel_bottom .wave img {
  transform: rotate(180deg);
}

@keyframes loop {
  0% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
    transform-style: flat;
  }
  to {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}
@keyframes loop2 {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    transform-style: flat;
  }
  to {
    -webkit-transform: translateX(-200%);
    transform: translateX(-200%);
  }
}
.letter_01_active {
  animation: letter_01_anim 0.7s linear forwards;
}

@keyframes letter_01_anim {
  0% {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.letter_02_active {
  animation: letter_anim_open 1s linear forwards;
}

.letter_03_active {
  animation: letter_anim_open 0.8s linear forwards;
  animation-delay: 1.7s;
}

.letter_04_active {
  animation: letter_anim_open 0.1s linear forwards;
  animation-delay: 3.5s;
}

.letter_05_active {
  animation: letter_anim_open 0.1s linear forwards;
  animation-delay: 4.2s;
}

@keyframes letter_anim_open {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.wave_ride {
  animation: wave_ride_img 2s linear infinite;
}

@keyframes wave_ride_img {
  0% {
    background-image: url("../img/question/kitty_icon_1.png");
  }
  49% {
    background-image: url("../img/question/kitty_icon_1.png");
  }
  50% {
    background-image: url("../img/question/kitty_icon_2.png");
  }
  100% {
    background-image: url("../img/question/kitty_icon_2.png");
  }
}
.float_in {
  opacity: 0;
  visibility: hidden;
  transform: translateY(30px);
  transition: opacity 1s, visibility 1s, transform 1s;
}

.float_in_top {
  opacity: 0;
  visibility: hidden;
  transform: translateY(30px);
  transition: opacity 1s, visibility 1s, transform 1s;
}

.is_float_in {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}

.message {
  background-color: #FEF7FA;
}
.message .message_blue {
  padding: 6.6666666667vw 5.3333333333vw 0;
  background-image: url("../img/message/bg_top.jpg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center top;
}
.message .message_blue .message_inner {
  background-image: url("../img/message/message_bg.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.message .message_blue .message_inner .message_container {
  display: flex;
  align-items: center;
  flex-direction: column;
  padding: 18.6666666667vw 0 24vw;
}
.message .message_blue .message_inner .message_container .message_brand {
  width: 43.7333333333vw;
}
.message .message_blue .message_inner .message_container .message_kitty {
  width: 36vw;
  margin-top: 2.1333333333vw;
}
.message .message_blue .message_inner .message_container .message_name {
  font-size: 5.8666666667vw;
  font-weight: 900;
  color: #4A5E77;
  line-height: 1.25;
}
.message .message_blue .message_inner .message_container .message_heart {
  width: 44.5333333333vw;
  margin-bottom: 0.5333333333vw;
}
.message .message_blue .message_inner .message_container .message_text {
  font-size: 3.2vw;
  font-weight: 900;
  color: #4A5E77;
  margin-top: 3.4666666667vw;
  line-height: 1.5;
}
.message .message_blue .message_inner .message_container .text_pink {
  font-size: 4.2666666667vw;
  color: #E9ABB6;
}
.message .message_blue .message_inner .message_container .text_blue {
  font-size: 4.2666666667vw;
  color: #91ACD0;
}
.message .message_download .scroll {
  position: relative;
  max-width: 36.5333333333vw;
  margin: 6.6666666667vw auto 0;
}
.message .message_download .scroll .scroll_wrap {
  position: absolute;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
  animation: scroll 20s linear infinite;
}
@keyframes scroll {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  25% {
    transform: translate(-50%, -50%) rotate(90deg);
  }
  50% {
    transform: translate(-50%, -50%) rotate(180deg);
  }
  75% {
    transform: translate(-50%, -50%) rotate(270deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
.message .message_download .message_wrap {
  width: 100%;
  display: flex;
  align-items: center;
  flex-direction: column;
  background-image: url("../img/message/bg_ribbon.png");
  background-repeat: repeat-y;
  background-size: contain;
  background-position: center top;
  margin-top: -8vw;
  padding-top: 25.3333333333vw;
  padding-bottom: 21.3333333333vw;
}
.message .message_download .message_wrap .message_title {
  max-width: 69.3333333333vw;
  width: 100%;
}
.message .message_download .message_wrap .message_detail {
  font-size: 3.4666666667vw;
  font-weight: 900;
  color: #3E3A39;
  margin-top: 2.6666666667vw;
  line-height: 1.75;
}
.message .message_download .message_wrap .wall {
  max-width: 38.4vw;
  width: 100%;
  margin-top: 5.3333333333vw;
  box-shadow: 0 0 2.1333333333vw rgba(153, 119, 137, 0.3019607843);
}
.message .message_download .message_wrap .recommend_title {
  margin-top: 21.3333333333vw;
  max-width: 73.0666666667vw;
  width: 100%;
}
.message .message_download .message_wrap .recommend_detail {
  font-size: 3.4666666667vw;
  font-weight: 900;
  color: #3E3A39;
  margin-top: 2.6666666667vw;
  line-height: 1.75;
}
.message .message_download .message_wrap .box {
  max-width: 47.7333333333vw;
  width: 100%;
  margin-top: 2.6666666667vw;
}
.message .message_download .message_link_top {
  margin-top: 6.6666666667vw;
  width: 59.7333333333vw;
}
.message .message_download .message_link_bottom {
  width: 59.7333333333vw;
  margin-top: 0;
}

.footer_white {
  background-color: white;
}/*# sourceMappingURL=app.css.map */