html {
  --zen-maru: "Zen Maru Gothic", sans-serif;
  --font-color: #835d57;
}
@media screen and (min-width: 1600px) {
  html {
    font-size: 13.3333333333px;
  }
}
@media screen and (min-width: 769px) {
  html {
    font-size: 0.8333333333vw;
  }
}
@media screen and (max-width: 768px) {
  html {
    font-size: 2.5vw;
  }
}

body {
  font-size: 1.6rem;
  font-feature-settings: "palt";
  margin: 0;
  overflow-x: hidden;
  width: 100%;
  color: var(--font-color);
}
body.is-loading {
  overflow: hidden;
}

a {
  color: #000;
  text-decoration: none;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

h1,
h2,
h3,
h4,
h5,
h6,
div,
dl,
dt,
dd,
p {
  padding: 0;
  margin: 0;
}

ul,
ol,
li {
  padding: 0;
  margin: 0;
}

li {
  list-style: none;
}

button {
  cursor: pointer;
  color: var(--font-color);
  background-color: transparent;
  border: none;
  outline: none;
}

img {
  vertical-align: bottom;
}

figure {
  padding: 0;
  margin: 0;
}

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
          appearance: none;
  margin: 0;
}

input[type=number] {
  -webkit-appearance: textfield;
     -moz-appearance: textfield;
          appearance: textfield;
}

svg,
img {
  max-width: 100%;
}

@media screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
}
@media screen and (min-width: 768px) {
  [href*="tel:"] {
    pointer-events: none;
  }
  .sp {
    display: none !important;
  }
}
[x-cloak] {
  display: none !important;
}

.icon-button {
  width: 16.2rem;
  height: 4.2rem;
  border-radius: 3rem;
  background-color: #e83c1e;
  border: solid 1px #e83c1e;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.icon-button__text {
  display: flex;
  align-items: center;
  padding-inline: 1.3rem;
  color: white;
  font-size: 1.3rem;
  font-weight: bold;
}
.icon-button__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  aspect-ratio: 1/1;
  border-radius: 100%;
  background-color: white;
}
.icon-button__icon img {
  width: 0.8rem;
}

.shuffle-button {
  width: 16.2rem;
  height: 4.2rem;
  border-radius: 3rem;
  background-color: white;
  border: solid 1px #e83c1e;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0);
  padding: 0;
  z-index: 201;
}
.shuffle-button__text {
  display: flex;
  align-items: center;
  padding-inline: 1.3rem;
  font-size: 1.3rem;
  font-weight: bold;
}
.shuffle-button__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  aspect-ratio: 1/1;
  border-radius: 100%;
  background-color: #e83c1e;
}
.shuffle-button__icon img {
  width: 2rem;
}

.main-container {
  display: flex;
  align-items: flex-start;
  width: 100%;
  background-image: url(../images/common/pc-bg.jpg);
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}

.pc-left-bg {
  width: 66rem;
  height: 100vh;
  position: sticky;
  top: 0;
  overflow: hidden;
}
.pc-left-bg .illust06 {
  position: absolute;
  width: 19.7rem;
  top: -1rem;
  left: 1rem;
  transform: rotate(135deg);
}
.pc-left-bg .illust03 {
  position: absolute;
  width: 19.3rem;
  bottom: -3.4rem;
  left: 1rem;
}
.pc-left-bg .illust02 {
  position: absolute;
  width: 16.5rem;
  bottom: -3.4rem;
  left: 18rem;
  transform: rotate(12deg);
}
.pc-left-bg .illust04 {
  position: absolute;
  width: 17.1rem;
  bottom: 7.7rem;
  left: 39.4rem;
  transform: rotate(12deg);
}
.pc-left-bg .illust05 {
  position: absolute;
  width: 19.7rem;
  bottom: 30rem;
  left: 50rem;
  transform: rotate(-37deg);
}
.pc-left-bg .logo {
  position: absolute;
  width: 27.4rem;
  bottom: 25rem;
  left: 17rem;
  transform: rotate(14deg);
}

.main {
  width: 39rem;
  flex-shrink: 0;
  max-width: 100%;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .main {
    width: 100%;
  }
}
.main__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.main__bg::before {
  content: "";
  display: block;
  width: 100%;
  height: 100vh;
  position: sticky;
  top: 0;
  background-image: url(../images/common/pc-bg.jpg);
  background-size: cover;
  background-position: center;
}
.main__inner {
  position: relative;
  z-index: 1;
}

.pc-right-bg {
  width: 15rem;
  height: 100vh;
  position: sticky;
  top: 0;
  overflow: hidden;
}
.pc-right-bg .illust01 {
  position: absolute;
  width: 7.8rem;
  bottom: 13rem;
  right: 9rem;
  transform: rotate(27deg);
}
.pc-right-bg .illust08 {
  position: absolute;
  width: 18rem;
  bottom: -10rem;
  right: -1rem;
  transform: rotate(30deg);
}
.pc-right-bg .share-button {
  position: absolute;
  bottom: -30rem;
  right: 0;
  overflow: hidden;
  width: 100%;
  height: 30rem;
}
.pc-right-bg .share-button .illust-share {
  width: 14.6rem;
  position: absolute;
  left: -1.5rem;
  top: 7rem;
}
.pc-right-bg .share-button .text-share {
  width: 10.4rem;
  position: absolute;
  top: 0;
  right: -1.5rem;
}

.mv {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100vh;
}
@media screen and (max-width: 768px) {
  .mv {
    overflow: hidden;
  }
}
.mv__logo {
  width: 29.4rem;
}
.mv__scroll {
  position: absolute;
  bottom: 4rem;
  left: 50%;
  transform: translate(-50%, 0);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: 0.7rem;
}
.mv__scroll img {
  width: 2.8rem;
}

.statement {
  padding-block: 17rem 11.4rem;
  display: flex;
  flex-direction: column;
  gap: 3.4rem;
  align-items: center;
  overflow: hidden;
}
.statement__text1 {
  width: 31.9rem;
}
.statement__text2 {
  width: 31.7rem;
}

.card-container {
  margin-top: -11rem;
  height: 150rem;
  position: relative;
}
.card-container__inner {
  position: sticky;
  top: -34rem;
  overflow: hidden;
  padding-top: 34rem;
}
@media screen and (max-width: 768px) {
  .card-container__inner {
    top: -25rem;
  }
}
.card-container__heading {
  width: 100%;
  text-align: center;
  margin-bottom: 3rem;
  transform-origin: center 60vh;
  filter: blur(10px);
  transform: scale(2) rotateZ(45deg);
  z-index: 101;
  position: absolute;
  top: -18rem;
  left: 0;
}
.card-container__heading img {
  width: 24rem;
}
.card-container__share-button {
  position: fixed;
  bottom: -20rem;
  right: 2rem;
  display: block;
  width: 15.4rem;
  z-index: 10;
}
.card-container__share-bg {
  position: relative;
  width: 10rem;
}
.card-container__share-bubble {
  position: relative;
  width: 16rem;
  z-index: 1;
  margin-top: -6rem;
}

.card-contents {
  position: relative;
  height: 70rem;
  perspective: 100rem;
}
.card-contents__blur-cover {
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 200;
  pointer-events: none;
  opacity: 0;
}
.card-contents::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 200;
}
.card-contents.is-active::after {
  display: none;
}

.bottom-section {
  position: relative;
  margin-top: 14rem;
}
.bottom-section__bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.bottom-section__bg::before {
  content: "";
  display: block;
  width: 100%;
  height: 100vh;
  position: sticky;
  top: 0;
  margin-top: 14rem;
  background-image: url(../images/common/inner-bottom-bg.jpg);
  background-size: cover;
  background-position: center;
}
.bottom-section__inner {
  position: relative;
  z-index: 1;
}

.qa__heading-wrapper {
  text-align: center;
}
.qa__heading {
  width: 100%;
}
.qa__icon {
  width: 14.4rem;
}
.qa__inner {
  margin-top: 5.8rem;
  padding-inline: 2rem;
}

.last-statement {
  margin-top: 5.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.5rem;
  overflow: hidden;
  max-width: 100%;
}
.last-statement__text1 {
  width: 20.9rem;
}
.last-statement__text2 {
  width: 33.8rem;
}
.last-statement__text3 {
  width: 27rem;
}

.footer {
  margin-top: 3.3rem;
}
.footer__logo {
  text-align: center;
}
.footer__logo img {
  width: 15.9rem;
}
.footer__illust {
  text-align: center;
  margin-top: 1.5rem;
}
.footer__illust img {
  width: 32.5rem;
}

.card-hint {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 1rem;
  pointer-events: none;
  width: 100%;
  height: 100%;
  z-index: 1001;
  position: fixed;
  top: 0;
  left: 0;
  opacity: 0;
}
.card-hint__inner-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
}
.card-hint__inner-wrapper {
  perspective: 80rem;
}
.card-hint__inner {
  position: relative;
  width: 24.5rem;
  height: 32rem;
  transform-style: preserve-3d;
}
.card-hint__omote {
  position: relative;
  border-radius: 2.5rem;
  background-color: rgba(255, 224, 208, 0.9);
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  text-align: center;
  font-family: var(--zen-maru);
  color: #373737;
  backface-visibility: hidden;
}
.card-hint__heading {
  text-align: center;
}
.card-hint__heading img {
  width: 6.5rem;
}
.card-hint__swipe-text {
  font-size: 2.3rem;
  font-weight: bold;
  line-height: 1.2;
}
.card-hint__arrow-wrapper {
  position: relative;
  width: 10rem;
  height: 9.1rem;
  margin-top: 0.5rem;
  perspective: 50rem;
}
.card-hint__arrow-wrapper > .in-arrow {
  width: 8.6rem;
  position: absolute;
  top: 0;
  left: 0;
}
.card-hint__arrow-wrapper > .in-finger {
  position: absolute;
  width: 6.8rem;
  left: 3.5rem;
  top: 0.5rem;
  transform-origin: 4rem 6rem;
}
.card-hint__arrow-wrapper > .in-tap {
  position: absolute;
  width: 1rem;
  aspect-ratio: 1/1;
  background-color: #e83c1e;
  border-radius: 100%;
  top: 2.2rem;
  left: 3.8rem;
  opacity: 0;
}
.card-hint__tap-text {
  font-size: 1.3rem;
  font-weight: bold;
}
.card-hint__ura {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(../images/card/shuffle.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  backface-visibility: hidden;
  transform: rotateY(180deg);
}
.card-hint__close {
  color: white;
  position: relative;
  font-size: 3rem;
  pointer-events: none;
}

.js-statement {
  transform-origin: center 50vh;
  filter: blur(10px);
  transform: scale(2) rotateZ(45deg);
}

.loading {
  background-color: #ffe0d0;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 1rem;
}
.loading__logo-wrapper {
  display: block;
  width: 41.2rem;
  aspect-ratio: 412/267;
  background-color: #fccfbe;
  -webkit-mask-image: url(../images/loading/loading-mask.png);
          mask-image: url(../images/loading/loading-mask.png);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  position: relative;
}
@media screen and (max-width: 768px) {
  .loading__logo-wrapper {
    width: 30rem;
  }
}
.loading__logo-color {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  background-color: #e83c1e;
  position: absolute;
  bottom: 0;
  left: 0;
}
.loading__text {
  text-align: center;
  font-size: 1.8rem;
  font-weight: bold;
  color: #e83c1e;
}

.share-modal {
  display: block;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10001;
  background-color: rgba(232, 60, 30, 0.75);
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3.8rem;
  overflow-y: scroll;
  max-height: 100vh;
  scrollbar-width: none;
  padding-left: 20rem;
  cursor: url(../images/common/ic-close.png) 4 4, auto;
}
.share-modal__desc-wrapper {
  width: 48rem;
  cursor: auto;
}
.share-modal__image {
  margin-bottom: 1rem;
  cursor: auto;
}
.share-modal__share-wrapper {
  padding-inline: 1.8rem;
  margin-top: 2rem;
}
.share-modal__share-button-wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.share-modal__share-button-wrapper > .in-download-link {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .share-modal__share-button-wrapper > .in-download-link:hover {
    opacity: 0.6;
  }
}
.share-modal__share-button-wrapper > .in-download-link img {
  width: 1.3rem;
}
.share-modal__share-button-wrapper > .in-download-link > .in-text {
  font-size: 1.2rem;
  color: white;
}
.share-modal__share-button-list {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.6rem;
}
.share-modal__share-button-wrapper {
  margin-top: 2rem;
}
.share-modal__share-button a,
.share-modal__share-button button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.4rem;
  aspect-ratio: 1/1;
  background-color: rgba(255, 255, 255, 0.2);
  border-radius: 100%;
  border: solid 1px transparent;
  transition: border-color 0.3s;
}
@media (hover: hover) {
  .share-modal__share-button a:hover,
  .share-modal__share-button button:hover {
    border-color: white;
  }
}
.share-modal__share-button a img,
.share-modal__share-button button img {
  width: 2rem;
}
.share-modal__illust-wrapper {
  width: 28.4rem;
}

.card {
  aspect-ratio: 3/5;
  width: 30rem;
  position: absolute;
  top: 3rem;
  left: calc(50% - 15rem);
  transform-style: preserve-3d;
  --text-width: 23.3rem;
}
.card__omote {
  width: 100%;
  height: 100%;
  background-image: var(--card-bg);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  backface-visibility: hidden;
  border-radius: 1rem;
  box-shadow: 0.2rem 1rem 0.5rem 1px rgba(93, 0, 0, 0.1019607843);
}
.card__omote-text {
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  width: var(--text-width);
  top: var(--text-top);
  pointer-events: none;
}
.card__ura {
  background-color: #ffe0d0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: rotateY(180deg);
  backface-visibility: hidden;
  border-radius: 1rem;
  box-shadow: 0.2rem 1rem 0.5rem 1px rgba(93, 0, 0, 0.1019607843);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  color: #835d57;
  font-family: var(--zen-maru);
}
.card__ura::after {
  content: "";
  display: block;
  width: calc(100% + 2px);
  height: calc(100% + 2px);
  background-image: url(../images/card/shuffle.png);
  background-size: 100% 100%;
  position: absolute;
  top: -1px;
  left: -1px;
  opacity: 0;
  pointer-events: none;
}
.card__ura::before {
  content: "";
  display: block;
  width: 10rem;
  height: 2.5rem;
  background-image: url(../images/main/m-logo.png);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 2.3rem;
  right: 1.9rem;
  opacity: 0.3;
}
.card__ura-heading {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}
.card__ura-item {
  width: 22rem;
}
.card__ura-desc {
  font-size: 1.2rem;
  width: 24rem;
  font-weight: bold;
}
.card__ura-button-wrapper {
  text-align: center;
  margin-top: 0.5rem;
}
.card.card1 {
  --card-bg: url(../images/card/card1-o-bg.jpg);
}
.card.card2 {
  --card-bg: url(../images/card/card2-o-bg.jpg);
}
.card.card3 {
  --card-bg: url(../images/card/card3-o-bg.jpg);
}
.card.card4 {
  --card-bg: url(../images/card/card4-o-bg.jpg);
}
.card.card5 {
  --card-bg: url(../images/card/card5-o-bg.jpg);
}
.card.card6 {
  --card-bg: url(../images/card/card6-o-bg.jpg);
}
.card.card7 {
  --card-bg: url(../images/card/card7-o-bg.jpg);
}
.card.card8 {
  --card-bg: url(../images/card/card8-o-bg.jpg);
}
.card.card9 {
  --card-bg: url(../images/card/card9-o-bg.jpg);
}
.card.card10 {
  --card-bg: url(../images/card/card10-o-bg.jpg);
}
.card.card11 {
  --card-bg: url(../images/card/card11-o-bg.jpg);
}
.card.card12 {
  --card-bg: url(../images/card/card12-o-bg.jpg);
}
.card.card13 {
  --card-bg: url(../images/card/card13-o-bg.jpg);
}
.card.card14 {
  --card-bg: url(../images/card/card14-o-bg.jpg);
}
.card.card15 {
  --card-bg: url(../images/card/card15-o-bg.jpg);
}
.card.card16 {
  --card-bg: url(../images/card/card16-o-bg.jpg);
}
.card.card1 {
  --text-top: 10.1rem;
}
.card.card2 {
  --text-top: 6.1rem;
}
.card.card3 {
  --text-top: 8.4rem;
}
.card.card4 {
  --text-top: 7.2rem;
}
.card.card5 {
  --text-top: 8.9rem;
}
.card.card6 {
  --text-top: 5.8rem;
}
.card.card7 {
  --text-top: 8.5rem;
}
.card.card8 {
  --text-top: 5.6rem;
}
.card.card9 {
  --text-top: 6.5rem;
}
.card.card10 {
  --text-top: 6.7rem;
}
.card.card11 {
  --text-top: 5.5rem;
  --text-width: 24.4rem;
}
.card.card12 {
  --text-top: 7.2rem;
  --text-width: 26.4rem;
}
.card.card13 {
  --text-top: 7.6rem;
  --text-width: 26.4rem;
}
.card.card14 {
  --text-top: 6.6rem;
  --text-width: 25.9rem;
}
.card.card15 {
  --text-top: 7.4rem;
  --text-width: 25.7rem;
}
.card.card16 {
  --text-top: 7.2rem;
  --text-width: 24.9rem;
}
.card.card-reset {
  --card-bg: url(../images/card/card-reset.jpg);
}
.card.is-shuffle .card__ura::after {
  opacity: 1;
}
.card.is-active {
  z-index: 1001 !important;
}/*# sourceMappingURL=style.css.map */