@charset "UTF-8";

a:link {
  text-decoration: underline;
  color: #ff0092;
}

a:visited {
  text-decoration: underline;
  color: #ff0092;
}

a:hover {
  text-decoration: underline;
  color: #fff;
}

body {
  color: #fff;
  font-family: "Roboto Condensed", sans-serif;
  font-optical-sizing: auto;
  font-size: 14px;
  font-weight: 300;
  font-style: normal;
  line-height: 1.4;
  letter-spacing: 0.01em;
  background-color: #000;
}

.wrap {
  position: relative;
  width: 100%;
  background-color: #000;
  overflow-x: hidden;
}

.header {
  width: 100%;
  padding: 0.3em 0 0.2em;
  background-color: #ff0092;
  text-align: center;
  font-size: 28px;
  font-weight: 600;
  line-height: 1;
}

.top {
  position: relative;
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
}

.top-inner {
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding: 0 0 3.5rem;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}

.top-text {
  width: 45%;
  padding: 2rem 0 0;
}

.logo {
  width: 70%;
  margin: 0 auto 2rem;
}

.top-anniversary {
  font-size: 32px;
  font-weight: 600;
  margin: 0 0 0.6rem;
  line-height: 1.2;
}

.top-title {
  color: #ff0092;
  font-size: 82px;
  font-weight: 600;
  line-height: 1;
}

.top-image {
  width: 55%;
}

.top-price {
  position: absolute;
  width: 100%;
  margin: 0 auto;
  bottom: 0;
  left: 0;
  z-index: 2;
}

.top-price p {
  font-size: 15px;
  font-weight: 300;
}

.period {
  width: 100%;
  margin: 1rem 0 0;
  padding: 0.2em;
  text-align: center;
  font-size: 24px;
  font-weight: 600;
  border: #fff solid 1px;
}

.inner {
  max-width: 750px;
  margin: 0 auto;
}

.overview {
  position: relative;
  width: 100%;
  margin: 3.5rem auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}

.overview-item {
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1 / 1;
  border: #ff0092 solid 1px;
  border-radius: 12px;
  text-align: center;
}

.overview-icon {
  width: 40%;
  margin: 0 auto;
}

.overview-head {
  color: #ff0092;
  font-size: 38px;
  font-weight: 900;
}

.overview-text {
  font-size: 20px;
  height: 3em;
}

.content {
  width: 100%;
  max-width: 900px;
  margin: 0 auto 3rem;
}

.series-title {
  text-align: center;
  color: #ff0092;
  font-size: 48px;
  font-weight: 700;
  margin: 0 0 1rem;
}

.series {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 20px;
}

.deluxe-title {
  width: 70%;
  margin: 0 auto 1.5rem;
}

.deluxe {
  width: 100%;
  margin: 0 0 1.5rem;
  padding: 1.5rem 0 1.5rem 2rem;
  border: #ff0092 solid 1px;
  border-radius: 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.deluxe-icon {
  width: 10%;
  margin: 0 5% 0 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.deluxe-text {
  width: 85%;
  line-height: 1.2;
}

.deluxe-text p span {
  display: block;
  color: #ff0092;
  font-size: 26px;
  font-weight: 700;
}

.deluxe-text p {
  font-size: 22px;
}

.note {
  width: 100%;
}

.note p {
  font-size: 16px;
  padding-left: 0.5em;
  text-indent: -0.45em;
}

.footer {
  width: 480px;
  margin: 3rem auto 0;
  text-align: center;
}

.faq {
  font-size: 30px;
  font-weight: 900;
  margin: 0 0 1rem;
}

a.faq-btn {
  display: inline-block;
  width: 100%;
  padding: 0.5em 0;
  color: #fff;
  font-size: 26px;
  font-weight: 600;
  margin: 0 0 1rem;
  border-radius: 100px;
  border: #fff solid 2px;
  background-image: url(../img/arrow.png);
  background-repeat: no-repeat;
  background-position: center right 5%;
  background-size: 12px auto;
  text-decoration: none;
  transition: all 0.2s;
}

.banner {
  width: 100%;
  margin: 2rem auto;
}

.social_text {
  width: 60%;
  margin: 0 auto 1.5rem;
}

.social {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 0 1.5rem;
}

.social_item {
  width: 60px;
  padding: 0 10px;
}

.copy {
  width: 100%;
  text-align: center;
  font-size: 12px;
  line-height: 1;
  margin: 0 0 7rem;
}

a.get-btn {
  position: fixed;
  z-index: 100;
  left: 50%;
  bottom: 1rem;
  display: block;
  width: min(370px, calc(100% - 32px));
  padding: 0.5em 0;
  transform: translateX(-50%);
  border-radius: 100px;
  background-image: linear-gradient(
    90deg,
    #ff7e46 0%,
    #ff00ff 50%,
    #6d1fd3 100%
  );
  color: #000;
  font-size: 26px;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  transition:
    color 0.3s ease,
    box-shadow 0.3s ease;
}

a.get-btn::before,
a.get-btn::after {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background-repeat: no-repeat;
  background-position: center right 5%;
  background-size: 12px auto;
  content: "";
  pointer-events: none;
  transition: opacity 0.3s ease;
}

a.get-btn::before {
  background-image: url("../img/arrow-b.png");
  opacity: 1;
}

a.get-btn::after {
  background-image: url("../img/arrow.png");
  opacity: 0;
}

a.get-btn:hover {
  color: #fff;
  box-shadow:
    0 0 12px rgba(255, 107, 255, 0.8),
    0 0 28px rgba(192, 144, 255, 0.7);
}

a.get-btn:hover::before {
  opacity: 0;
}

a.get-btn:hover::after {
  opacity: 1;
}

.events_none {
  pointer-events: none;
  user-drag: none;
  user-select: none;
  -webkit-user-drag: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  pointer-events: none;
}

@media screen and (min-width: 1px) and (max-width: 743px) {
  .pc_display {
    display: none;
  }

  .pc {
    display: none;
  }

  .header {
    font-size: 4.6154vw;
  }

  .top-inner {
    width: 90%;
    padding: 0 0 0;
    display: block;
  }

  .top-text {
    width: 100%;
    padding: 1.5rem 0 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
  }

  .logo {
    width: 28%;
    margin: 0 0 1rem;
  }

  .top-anniversary {
    width: 70%;
    font-size: 4.6154vw;
    margin: 0 0 0.6rem;
  }

  .top-title {
    width: 100%;
    text-align: center;
    font-size: 10.2vw;
  }

  .top-image {
    width: 100%;
  }

   .top-price {
    position: static;
  }

  .top-price p {
    position: static;
    font-size: 3.0769vw;
  }

  .period {
    width: 90%;
    margin: 0.6rem auto 0;
    padding: 0.2em;
    font-size: 4.1026vw;
  }

  .inner {
    width: 90%;
  }

  .overview {
    margin: 1.5rem auto;
    gap: 8px;
  }

  .overview-item {
    border-radius: 8px;
  }

  .overview-icon {
    width: 30%;
    margin: 0 auto;
  }

  .overview-head {
    color: #ff0092;
    font-size: 4.6154vw;
    font-weight: 900;
  }

  .overview-text {
    font-size: 2.8205vw;
    height: 2.5em;
    line-height: 1.2;
  }

  .content {
    margin: 0 auto 2rem;
  }

  .series-title {
    font-size: 6.6667vw;
    margin: 0 0 0.5rem;
  }

  .series {
    width: 90%;
    margin: 0 auto;
    gap: 5px;
  }

  .deluxe-title {
    width: 80%;
    margin: 0 auto 1rem;
  }

  .deluxe {
    width: 100%;
    min-height: 5.5rem;
    margin: 0 0 0.6rem;
    padding: 0 0 0 1rem;
    border-radius: 8px;
  }

  .deluxe-icon {
    width: 11%;
    margin: 0 4% 0 0;
  }

  .deluxe-text {
    width: 85%;
    line-height: 1.2;
  }

  .deluxe-text p span {
    font-size: 4.6154vw;
  }

  .deluxe-text p {
    font-size: 3.5897vw;
  }

  .note p {
    font-size: 3.0769vw;
  }

  .footer {
    width: 74%;
    margin: 2rem auto 0;
  }

  .faq {
    font-size: 6vw;
    margin: 0 0 0.8rem;
  }

  a.faq-btn {
    font-size: 4.1026vw;
    margin: 0 0 1rem;
    background-position: center right 10px;
    background-size: 8px;
  }

  .banner {
    margin: 0 auto 1.5rem;
  }

  .social_text {
    width: 80%;
    margin: 0 auto 1.5rem;
  }

  .social {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 0 1.5rem;
  }

  .social_item {
    width: 60px;
    padding: 0 10px;
  }

  .copy {
    margin: 0 0 6rem;
  }

  a.get-btn {
    width: 90%;
    font-size: 6.1538vw;
  }

}

@media screen and (min-width: 744px) and (max-width: 1024px) {
  .sp_display {
    display: none;
  }

  .sp {
    display: none;
  }

  .header {
    padding: 0.2em 0;
    font-size: 2.9268vw;
  }

  .top {
    width: 90%;
  }

  .top-inner {
    padding: 0 0 4.5rem;
  }

  .top-text {
    width: 45%;
    padding: 2rem 0 0;
  }

  .logo {
    margin: 0 auto 1.5rem;
  }

  .top-anniversary {
    font-size: 2.9268vw;
    margin: 0 0 0.6rem;
  }

  .top-title {
    font-size: 8vw;
  }

  .top-price p {
    font-size: 1.7073vw;
  }

  .period {
    font-size: 2.439vw;
  }

  .inner {
    max-width: 80%;
    margin: 0 auto;
  }

  .overview {
    margin: 2.5rem auto;
    gap: 30px;
  }

  .overview-icon {
    width: 35%;
  }

  .overview-head {
    font-size: 3.4146vw;
  }

  .overview-text {
    font-size: 1.9512vw;
    height: 3em;
  }

  .content {
    width: 90%;
    margin: 0 auto 2.5rem;
  }

  .series-title {
    font-size: 4.6341vw;
  }

  .deluxe {
    margin: 0 0 1rem;
    padding: 1.5rem 0 1.5rem 2rem;
  }

  .deluxe-text p span {
    font-size: 2.439vw;
  }

  .deluxe-text p {
    font-size: 2.1951vw;
  }

  .note p {
    font-size: 1.7073vw;
  }

  .footer {
    width: 50%;
    margin: 2.5rem auto 0;
  }

  .faq {
    font-size: 3.1707vw;
  }

  a.faq-btn {
    font-size: 2.6829vw;
  }

  .banner {
    margin: 1rem auto 1.5rem;
  }

  .social_text {
    width: 60%;
    margin: 0 auto 1.5rem;
  }

  .social {
    margin: 0 0 1.5rem;
  }

  .social_item {
    width: 60px;
    padding: 0 10px;
  }

  .copy {
    width: 100%;
    text-align: center;
    font-size: 1.4634vw;
    line-height: 1;
    margin: 0 0 7rem;
  }

  a.get-btn {
    width: 40%;
    font-size: 2.9268vw;
  }
}

@media screen and (min-width: 1025px) {
  .sp_display {
    display: none;
  }

  .sp {
    display: none;
  }

  a.faq-btn:hover {
    color: #ff0092;
    border: #ff0092 solid 2px;
    background-image: url(../img/arrow-h.png);
  }

  a.btn-hover img {
    -webkit-transition: -weblit-transform 0.3s;
    -o-transition: -o-transform 0.3s;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    -o-transition: transform 0.3s;
    transition: transform 0.3s;
    transition:
      transform 0.3s,
      -webkit-transform 0.3s;
  }

  a.btn-hover img:hover {
    -webkit-transform: scale(1.04);
    -ms-transform: scale(1.04);
    transform: scale(1.04);
  }
}
