/*************
FMT
*************/
.content_wrap {
  margin-top: 66px;
}

@media (min-width: 751px) {
  .content_wrap {
    margin-top: 90px;
  }
}
:root {
  --leading-trim: calc((1em - 1lh) / 2);
}

/**
 * 初期状態
 * @param {number} $dist 距離
 * @param {number} $spd 速度
 */
/**
 * 出現
 * @param {number} $delay ディレイ
 */
:root {
  --pc-header-height: 90px;
}

html {
  -webkit-text-size-adjust: 100%;
  scrollbar-gutter: stable;
}

body.fixed {
  position: fixed;
  width: 100%;
  left: 0;
}

.main-contents *,
.main-contents *::before,
.main-contents *::after {
  box-sizing: border-box;
}
.main-contents button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.main-contents button:not(:focus-visible) {
  outline: none;
}
.main-contents figure {
  margin: 0;
}
.main-contents a:hover img {
  opacity: 1;
}
.main-contents li {
  line-height: inherit;
}
@media (max-width: 750px) {
  .main-contents .only-pc {
    display: none;
  }
}
@media (min-width: 751px) {
  .main-contents .only-sp {
    display: none;
  }
}

.js-scroll-in.fade-in {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.js-scroll-in.fade-in.appeared {
  opacity: 1;
  transform: translate(0, 0);
  transition-delay: 0s;
}

.l-page {
  overflow: clip;
}

.l-shell {
  position: relative;
  display: grid;
}
@media (min-width: 751px) {
  .l-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 430px minmax(0, 1fr);
  }
}

.l-main {
  color: #000;
  container-type: inline-size;
  background-image: url("../img/bg-main.png");
  background-size: 100% auto;
  background-repeat: repeat-y;
  padding-bottom: 34.8837%;
}
@media (min-width: 751px) {
  .l-main {
    grid-column: 2;
  }
}
.l-main::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
@media (min-width: 751px) {
  .l-main::before {
    height: 106.976744186cqw;
    background-image: linear-gradient(180deg, rgb(170, 229, 175) 70%, rgba(170, 229, 175, 0) 100%);
  }
}
@media (max-width: 750px) {
  .l-main::before {
    height: 83.7209302326cqw;
    background-image: url("../img/bg-main-gradation.png");
    background-size: 100% 100%;
  }
}
.l-main .l-main__inner {
  position: relative;
  margin-inline: auto;
  width: 88.3720930233%;
}
@media (min-width: 751px) {
  .l-main .l-main__inner {
    padding-top: 6.976744186%;
  }
}

@media (min-width: 751px) {
  .l-side {
    padding-top: 100vh;
    display: grid;
    justify-items: center;
    min-width: 0;
  }
  .l-side .l-side__inner {
    position: sticky;
    width: min(100%, 454px);
    height: calc(100vh - 90px);
    height: calc(100vh - var(--pc-header-height));
    display: grid;
    place-items: center;
    top: 90px;
    top: var(--pc-header-height);
    pointer-events: none;
  }
  .l-side.l-side--left {
    grid-column: 1;
  }
  .l-side.l-side--right {
    grid-column: 3;
  }
}
@media (max-width: 1100px) {
  .l-side {
    display: none;
  }
}

.l-modal {
  position: fixed;
  display: none;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1000;
  --fade-duration: 0.3s;
}
@media (max-width: 750px) {
  body.ios-chrome .l-modal {
    --fade-duration: 0s;
  }
}
.l-modal.is-open {
  display: block;
}
.l-modal[aria-hidden=false] .l-modal__inner {
  animation: mmfadeIn var(--fade-duration) cubic-bezier(0, 0, 0.2, 1);
}
.l-modal[aria-hidden=true] .l-modal__inner {
  animation: mmfadeOut var(--fade-duration) cubic-bezier(0, 0, 0.2, 1);
}
.l-modal .l-modal__inner {
  text-align: center;
  width: 100%;
  height: 100%;
  overflow-y: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.l-modal .l-modal__inner::-webkit-scrollbar {
  display: none;
}
.l-modal .l-modal__inner {
  -webkit-overflow-scrolling: touch;
}
@media (min-width: 751px) {
  .l-modal .l-modal__inner {
    padding: 100px 0;
  }
}
@media (max-width: 750px) {
  .l-modal .l-modal__inner {
    padding: 23.2558139535vw 0;
  }
}
.l-modal .l-modal__inner:after, .l-modal .l-modal__inner:before {
  content: "";
  width: 0;
  height: 100%;
  display: inline-block;
  vertical-align: middle;
}
.l-modal .l-modal__overlay {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  transform: translate3d(0, 0, 0);
}
.l-modal .l-modal__container {
  position: relative;
  margin: auto;
  display: inline-block;
  vertical-align: middle;
  text-align: left;
  pointer-events: none;
}
.l-modal .l-modal__content {
  position: relative;
  pointer-events: all;
  container-type: inline-size;
}
@media (min-width: 751px) {
  .l-modal .l-modal__content {
    width: min(760px, 100vw - 40px);
  }
}
@media (max-width: 750px) {
  .l-modal .l-modal__content {
    width: 88.3720930233vw;
  }
}
@media (max-width: 750px) {
  .l-modal[id^=map] .l-modal__content {
    width: 79.0697674419vw;
  }
}
.l-modal .l-modal__x-btn {
  position: absolute;
  cursor: pointer;
  outline: none;
  aspect-ratio: 1/1;
  transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
@media (min-width: 751px) {
  .l-modal .l-modal__x-btn {
    right: 0;
    top: -58px;
    width: 48px;
    height: 48px;
  }
}
@media (max-width: 750px) {
  .l-modal .l-modal__x-btn {
    right: 0;
    top: -13.488372093vw;
    width: 11.1627906977vw;
    height: 11.1627906977vw;
  }
}
.l-modal .l-modal__x-btn::before, .l-modal .l-modal__x-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 133.3333%;
  background-color: #fff;
}
@media (min-width: 751px) {
  .l-modal .l-modal__x-btn::before, .l-modal .l-modal__x-btn::after {
    height: 3px;
  }
}
@media (max-width: 750px) {
  .l-modal .l-modal__x-btn::before, .l-modal .l-modal__x-btn::after {
    height: 0.6976744186vw;
  }
}
.l-modal .l-modal__x-btn::before {
  rotate: 45deg;
}
.l-modal .l-modal__x-btn::after {
  rotate: -45deg;
}
.l-modal .l-modal__x-btn:focus-visible {
  opacity: 0.8;
}
@media (hover: hover) and (pointer: fine) {
  .l-modal .l-modal__x-btn:hover {
    opacity: 0.8;
  }
}
.l-modal .l-modal__bottom {
  display: flex;
  justify-content: center;
}
@media (min-width: 751px) {
  .l-modal .l-modal__bottom {
    margin-top: 20px;
  }
}
@media (max-width: 750px) {
  .l-modal .l-modal__bottom {
    margin-top: 4.6511627907vw;
  }
}
.l-modal .l-modal__close-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #e85298;
  border-radius: 9999px;
  transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  pointer-events: all;
}
@media (min-width: 751px) {
  .l-modal .l-modal__close-btn {
    width: 220px;
    min-height: 72px;
    gap: 16px;
    padding-left: 10px;
  }
}
@media (max-width: 750px) {
  .l-modal .l-modal__close-btn {
    width: 25.5813953488vw;
    min-height: 8.3720930233vw;
    gap: 1.8604651163vw;
    padding-left: 1.1627906977vw;
  }
}
@media (min-width: 751px) {
  .l-modal .l-modal__close-btn img {
    width: 100px;
  }
}
@media (max-width: 750px) {
  .l-modal .l-modal__close-btn img {
    width: 11.6279069767vw;
  }
}
.l-modal .l-modal__close-btn::after {
  content: "";
  display: inline-block;
  aspect-ratio: 1/1;
  background-image: url("../img/icon-close.svg");
  background-size: contain;
  background-repeat: no-repeat;
}
@media (min-width: 751px) {
  .l-modal .l-modal__close-btn::after {
    width: 46px;
  }
}
@media (max-width: 750px) {
  .l-modal .l-modal__close-btn::after {
    width: 5.3488372093vw;
  }
}
.l-modal .l-modal__close-btn:focus-visible {
  opacity: 0.8;
}
@media (hover: hover) and (pointer: fine) {
  .l-modal .l-modal__close-btn:hover {
    opacity: 0.8;
  }
}
@keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

.c-anchor-btn {
  display: block;
  filter: drop-shadow(0 0.6976744186cqw 0 rgba(0, 0, 0, 0.2));
  transition: filter 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.c-anchor-btn:focus-visible {
  filter: drop-shadow(0 0 0 rgba(0, 0, 0, 0.2));
  transform: translate(0, 0.6976744186cqw);
}
@media (hover: hover) and (pointer: fine) {
  .c-anchor-btn:hover {
    filter: drop-shadow(0 0 0 rgba(0, 0, 0, 0.2));
    transform: translate(0, 0.6976744186cqw);
  }
}

.c-section {
  position: relative;
}
.c-section + .c-section {
  margin-top: 18.6046511628cqw;
}
.c-section .c-section__inner {
  position: relative;
  background-color: rgba(255, 255, 255, 0.7);
  color: #000;
  border-radius: 4.6511627907cqw;
  padding: 0 4.6511627907cqw 13.9534883721cqw;
}
.c-section .c-section__inner::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 66.976744186cqw;
  background-image: url("../img/sec-bg-gradation.png");
  background-size: 100% 100%;
}
.c-section .c-section__header {
  position: relative;
  padding-top: 22.0930232558cqw;
}
.c-section .c-section__character {
  position: absolute;
}
.c-section .c-section__character--01 {
  right: -10cqw;
  bottom: 0;
  width: 43.9534883721cqw;
}
.c-section .c-section__character--02 {
  right: -8.6046511628cqw;
  bottom: 0;
  width: 51.1627906977cqw;
}
.c-section .c-section__character--03 {
  right: -12.0930232558cqw;
  bottom: 0;
  width: 52.0930232558cqw;
}
.c-section .c-section__character--04 {
  right: -11.3953488372cqw;
  bottom: 0;
  width: 49.5348837209cqw;
}
.c-section .c-section__label {
  position: absolute;
  top: 9.3023255814cqw;
  left: -9.3023255814cqw;
  height: 9.3023255814cqw;
}
.c-section .c-section__label::before {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  width: 4.6511627907cqw;
  height: 4.6511627907cqw;
  background-color: #519b6f;
  clip-path: polygon(100% 0, 0 0, 100% 100%);
}
.c-section .c-section__label img {
  position: relative;
  height: 100%;
  width: auto;
  filter: drop-shadow(0 3px 3px rgba(0, 0, 0, 0.25));
}
.c-section .c-section__heading {
  position: relative;
  margin-inline: auto;
  margin-bottom: 3.488372093cqw;
}
.c-section .c-section__heading--01 {
  width: 67.2093023256cqw;
}
.c-section .c-section__heading--02 {
  width: 60cqw;
}
.c-section .c-section__heading--03 {
  width: 77.6744186047cqw;
}
.c-section .c-section__heading--04 {
  width: 60.2325581395cqw;
}

.c-lead-text {
  text-align: center;
  font-weight: 700;
  line-height: 1.6;
  font-size: 3.7209302326cqw;
}
.c-lead-text strong {
  font-weight: inherit;
  color: #e85298;
  font-size: 4.1860465116cqw;
}

.c-period {
  position: relative;
  background-color: #e85298;
  color: #fff;
  font-weight: 700;
  font-size: 3.7209302326cqw;
  line-height: 140%;
  border-radius: 9999px;
  min-height: 8.3720930233cqw;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.c-period .c-period__inner span {
  font-size: 5.1162790698cqw;
}

.c-step {
  font-size: 3.7209302326cqw;
  font-weight: 500;
  line-height: 1.3;
}
.c-step .c-step__list {
  display: grid;
  grid-gap: 5.5813953488cqw;
  gap: 5.5813953488cqw;
}
.c-step .c-step__item {
  position: relative;
  background-color: #fff;
  border-radius: 2.3255813953cqw;
  padding: 0.9302325581cqw 3.488372093cqw;
  display: flex;
  align-items: center;
  gap: 2.5581395349cqw;
  min-height: 12.3255813953cqw;
}
.c-step .c-step__item + .c-step__item::before {
  content: "";
  position: absolute;
  top: -3.7209302326cqw;
  left: 50%;
  transform: translate(-50%, 0);
  width: 5.5813953488cqw;
  height: 2.3255813953cqw;
  background-color: #e85298;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
}
.c-step .c-step__label {
  width: 9.3023255814cqw;
}

.c-box {
  border-radius: 4.6511627907cqw;
  background-color: #ffcae2;
  padding-top: 4.6511627907cqw;
}

.c-box__heading {
  text-align: center;
  position: relative;
}

.c-box__heading::before {
  content: "";
  position: absolute;
  top: 2.7906976744cqw;
  left: 0;
  width: 100%;
  height: 2.3255813953cqw;
  background-image: url("../img/box-heading-decoration.png");
  background-size: 100% 100%;
}

.c-box__heading img {
  position: relative;
  display: inline-block;
  height: 6.976744186cqw;
  width: auto;
  filter: drop-shadow(0 0.9302325581cqw 0 #ffa3ce);
}

.c-box__body {
  padding: 3.488372093cqw 3.7209302326cqw;
}

.c-box-secondary {
  border-radius: 2.3255813953cqw;
  padding: 4.6511627907cqw 3.488372093cqw;
  display: grid;
  grid-gap: 3.488372093cqw;
  gap: 3.488372093cqw;
  background-color: #fff;
}

.c-box-secondary__more {
  display: grid;
  grid-gap: 1.6279069767cqw;
  gap: 1.6279069767cqw;
}

.c-definition-list {
  font-size: 3.7209302326cqw;
  font-weight: 700;
  display: grid;
  grid-gap: 2.7906976744cqw;
  gap: 2.7906976744cqw;
}
.c-definition-list > div {
  display: flex;
}
.c-definition-list dt {
  font-weight: inherit;
  width: 17.2093023256cqw;
  line-height: 1.2;
}
.c-definition-list dd {
  flex: 1 1;
  line-height: 1.2;
}

.c-qr-code {
  border: 1.3953488372cqw solid #e85298;
  background-color: #ffcae2;
  border-radius: 3.7209302326cqw;
  padding: 3.2558139535cqw;
}

.c-qr-code__inner {
  display: flex;
  align-items: center;
  gap: 1.6279069767cqw;
}

.c-qr-code__body {
  flex: 1 1;
}

.c-qr-code__title {
  width: 36.0465116279cqw;
}

.c-qr-code__text {
  margin-top: 0.9302325581cqw;
  font-size: 2.5581395349cqw;
  font-weight: 500;
  line-height: 1.3;
  -webkit-text-stroke: 0.9302325581cqw #fff;
  paint-order: stroke;
}

.c-qr-code__image {
  width: 29.3023255814cqw;
}

.c-more__anchor {
  filter: drop-shadow(0 0.6976744186cqw 0 rgba(0, 0, 0, 0.2));
  display: block;
  transition: filter 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.c-more__anchor:focus-visible {
  filter: drop-shadow(0 0 0 rgba(0, 0, 0, 0.2));
  transform: translate(0, 0.6976744186cqw);
}
@media (hover: hover) and (pointer: fine) {
  .c-more__anchor:hover {
    filter: drop-shadow(0 0 0 rgba(0, 0, 0, 0.2));
    transform: translate(0, 0.6976744186cqw);
  }
}

.c-more__note {
  margin-top: 6.976744186cqw;
  display: grid;
  grid-gap: 3.7209302326cqw;
  gap: 3.7209302326cqw;
}

.c-more-access {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  background-color: #e85298;
  border-radius: 9999px;
  min-height: 8.6046511628cqw;
  transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.c-more-access img {
  width: 31.6279069767cqw;
}
.c-more-access::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 3.023255814cqw;
  transform: translate(0, -50%);
  width: 3.488372093cqw;
  height: 3.488372093cqw;
  background-image: url("../img/icon-new-window.svg");
  background-size: 100% 100%;
  background-repeat: no-repeat;
}
.c-more-access:focus-visible {
  opacity: 0.8;
}
@media (hover: hover) and (pointer: fine) {
  .c-more-access:hover {
    opacity: 0.8;
  }
}

.c-goods-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 2.3255813953cqw;
  gap: 2.3255813953cqw;
}
.c-goods-list li img {
  border-radius: 2.3255813953cqw;
}

.c-notes-list {
  font-size: 2.3255813953cqw;
  line-height: 1.6;
}
.c-notes-list > li::before {
  content: "※";
}

.c-details .c-details__summary {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 65.1162790698cqw;
  min-height: 8.3720930233cqw;
  background-color: #e85298;
  border-radius: 9999px;
  margin-inline: auto;
  cursor: pointer;
  transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  -webkit-tap-highlight-color: transparent;
  list-style: none;
}
.c-details .c-details__summary::-webkit-details-marker {
  display: none;
}
.c-details .c-details__summary .c-details__heading {
  position: relative;
  width: 16.7441860465cqw;
}
.c-details .c-details__summary .c-details__heading img {
  display: block;
}
.c-details .c-details__summary .c-details__icon {
  position: absolute;
  top: 50%;
  right: 2.3255813953cqw;
  transform: translate(0, -50%);
  width: 4.1860465116cqw;
  height: 4.1860465116cqw;
  background-color: #fff;
  border-radius: 50%;
  transition: background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.c-details .c-details__summary .c-details__icon::before, .c-details .c-details__summary .c-details__icon::after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  display: inline-block;
  width: 2.3255813953cqw;
  height: 0.4651162791cqw;
  background-color: #e85298;
  transition: transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.c-details .c-details__summary .c-details__icon::before {
  transform: rotate(90deg);
}
.c-details .c-details__summary:focus-visible {
  opacity: 0.8;
}
@media (hover: hover) and (pointer: fine) {
  .c-details .c-details__summary:hover {
    opacity: 0.8;
  }
}
.c-details .c-details__summary > * {
  margin: 0;
}
.c-details .c-details__content {
  padding-top: 4.6511627907cqw;
}
.c-details.is-open .c-details__summary .c-details__icon::before {
  transform: rotate(360deg);
}
.c-details.is-open .c-details__summary .c-details__icon::after {
  transform: rotate(360deg);
}

.c-zoom-btn {
  margin-top: 2.3255813953cqw;
  display: block;
  transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.c-zoom-btn:focus-visible {
  opacity: 0.8;
}
@media (hover: hover) and (pointer: fine) {
  .c-zoom-btn:hover {
    opacity: 0.8;
  }
}

.c-link-btn {
  background-color: #fff;
  filter: drop-shadow(0 0.9302325581cqw 0 rgba(0, 0, 0, 0.2));
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.8604651163cqw;
  min-height: 27.9069767442cqw;
  border-radius: 2.3255813953cqw;
  transition: filter 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.c-link-btn:focus-visible {
  filter: drop-shadow(0 0 0 rgba(0, 0, 0, 0.2));
  transform: translate(0, 0.6976744186cqw);
}
@media (hover: hover) and (pointer: fine) {
  .c-link-btn:hover {
    filter: drop-shadow(0 0 0 rgba(0, 0, 0, 0.2));
    transform: translate(0, 0.6976744186cqw);
  }
}

.c-link-btn__text {
  text-align: center;
  font-size: 5.1162790698cqw;
  line-height: 1.2;
  font-weight: 900;
  color: #e85298;
}

.c-link__note {
  text-align: center;
  font-size: 2.7906976744cqw;
  line-height: 1.6;
}

.c-plan-btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 81.3953488372cqw;
  min-height: 15.3488372093cqw;
  margin-inline: auto;
  padding: 1.8604651163cqw 10.6976744186cqw;
  background-color: #fff;
  border: 5px solid #000;
  border-radius: 13px;
  color: #000;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  transition: opacity 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  font-size: 3.1209302326cqw;
}
.c-plan-btn:focus-visible {
  opacity: 0.7;
}
@media (hover: hover) and (pointer: fine) {
  .c-plan-btn:hover {
    opacity: 0.7;
  }
}
.c-plan-btn::after {
  content: "";
  position: absolute;
  right: 5.1162790698cqw;
  top: 50%;
  width: 3.2558139535cqw;
  height: 3.2558139535cqw;
  border-top: 0.6976744186cqw solid #000;
  border-right: 0.6976744186cqw solid #000;
  transform: translateY(-50%) rotate(45deg);
}

.c-side-anchor-btn {
  filter: drop-shadow(0 0.5940594059cqw 0 rgba(0, 0, 0, 0.2));
}
@media (min-width: 751px) {
  .c-side-anchor-btn {
    display: block;
    transition: filter 0.3s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
}
.c-side-anchor-btn:focus-visible {
  filter: drop-shadow(0 0 0 rgba(0, 0, 0, 0.2));
  transform: translate(0, 0.5940594059cqw);
}
@media (hover: hover) and (pointer: fine) {
  .c-side-anchor-btn:hover {
    filter: drop-shadow(0 0 0 rgba(0, 0, 0, 0.2));
    transform: translate(0, 0.5940594059cqw);
  }
}

.c-card-map {
  margin-inline: auto;
  background-color: #fff;
  color: #333;
  border-radius: 5.8823529412cqw;
  padding: 7.3529411765cqw 4.4117647059cqw 4.4117647059cqw;
}

.c-card-map__heading {
  display: flex;
  align-items: center;
  gap: 2.9411764706cqw;
  font-weight: 700;
  font-size: 5.8823529412cqw;
  line-height: 1.2;
  color: #e85298;
}

.c-card-map__number {
  width: 5.8823529412cqw;
  flex-shrink: 0;
}

.c-card-map__heading-text {
  line-height: 1.2;
  display: inline-block;
}

.c-card-map__image {
  margin-top: 5.8823529412cqw;
}

.c-card-map__list {
  margin-top: 5cqw;
  display: grid;
  font-size: 4.7058823529cqw;
  grid-gap: 4.1176470588cqw;
  gap: 4.1176470588cqw;
  line-height: 1.2;
}
.c-card-map__list dt {
  font-weight: 700;
}
.c-card-map__list dd a {
  text-decoration: underline;
}
.c-card-map__list dd a:focus-visible {
  text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
  .c-card-map__list dd a:hover {
    text-decoration: none;
  }
}

.p-fixed-background {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  height: 100lvh;
  z-index: -1;
  background-position: center;
  background-size: cover;
}
@media (min-width: 751px) {
  .p-fixed-background {
    background-image: url("../img/bg.png");
  }
}

.sec-title {
  position: relative;
  background-repeat: no-repeat;
  background-position: center top;
}
@media (min-width: 751px) {
  .sec-title {
    background-image: url("../img/bg.png"), linear-gradient(#d1f8d4, #aae5af);
  }
}
@media (min-width: 1201px) {
  .sec-title {
    background-size: auto 100%;
  }
}
@media (min-width: 751px) and (max-width: 1200px) {
  .sec-title {
    aspect-ratio: 1440/840;
    background-size: cover;
  }
}
@media (max-width: 750px) {
  .sec-title {
    height: 190.6976744186vw;
    background-image: url("../img/title-bg-sp.png");
    background-size: cover;
    background-position: top;
  }
}
@media (max-width: 750px) {
  .sec-title::before {
    content: "";
    position: absolute;
    top: 146.511627907vw;
    left: 0;
    width: 100%;
    height: 127.9069767442vw;
    background-image: linear-gradient(180deg, #aae5af 65%, rgba(255, 255, 255, 0) 100%);
  }
}
.sec-title .sec-title__inner {
  position: relative;
  container-type: inline-size;
}
@media (min-width: 751px) {
  .sec-title .sec-title__inner {
    width: 100%;
    margin-inline: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 1440px;
    padding-bottom: 0.6944444444%;
  }
}
@media (max-width: 750px) {
  .sec-title .sec-title__inner {
    height: 100%;
  }
}
@media (min-width: 751px) {
  .sec-title .title-characters {
    margin-top: 1.1805555556%;
    width: 42.7777777778%;
  }
}
@media (max-width: 750px) {
  .sec-title .title-characters {
    position: absolute;
    top: 54.4186046512vw;
    left: 0vw;
    width: 100%;
  }
}
@media (min-width: 751px) {
  .sec-title .title {
    margin-top: -30.5555555556%;
    width: 100%;
    position: relative;
  }
}
@media (max-width: 750px) {
  .sec-title .title {
    position: absolute;
    top: 4.8837209302vw;
    left: 6.2790697674vw;
  }
}
.sec-title .title .title__collaboration {
  display: block;
}
@media (min-width: 751px) {
  .sec-title .title .title__collaboration {
    margin-inline: auto;
    width: 42.3611111111%;
  }
}
@media (max-width: 750px) {
  .sec-title .title .title__collaboration {
    width: 87.9069767442vw;
  }
}
@media (min-width: 751px) {
  .sec-title .title .title__collaboration img {
    filter: drop-shadow(0 0 min(20px, 1.3889vw) #71b88e);
  }
}
@media (max-width: 750px) {
  .sec-title .title .title__collaboration img {
    filter: drop-shadow(0 0 2.9069767442vw #71b88e);
  }
}
@media (min-width: 751px) {
  .sec-title .title-terms {
    margin-top: 4.5138888889%;
    width: 43.75%;
  }
}
@media (max-width: 750px) {
  .sec-title .title-terms {
    position: absolute;
    top: 116.7441860465vw;
    left: 10.4651162791vw;
    width: 79.0697674419vw;
  }
}
@media (min-width: 751px) {
  .sec-title .sub-title {
    margin-top: 1.1111111111%;
    width: 44.2361111111%;
  }
}
@media (max-width: 750px) {
  .sec-title .sub-title {
    position: absolute;
    top: 130.2325581395vw;
    left: 0;
    width: 100%;
    padding: 0 1.8604651163vw;
  }
}
@media (max-width: 750px) {
  .sec-title .sub-title__image {
    padding: 0 0.9302325581vw;
  }
}
.sec-title .sub-title__description {
  text-align: center;
  font-weight: 700;
  line-height: 1.4;
}
@media (min-width: 751px) {
  .sec-title .sub-title__description {
    margin-top: 0.8333333333%;
    font-size: 1.25cqw;
    color: #333;
  }
}
@media (max-width: 750px) {
  .sec-title .sub-title__description {
    margin-top: 1.8604651163vw;
    font-size: 4.1860465116vw;
    color: #fff;
    text-shadow: 0 0 6.976744186vw #3d404c;
  }
}
.sec-title.intro .title-characters {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.sec-title.intro .title__collaboration {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.sec-title.intro .title__campaign {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.sec-title.intro .title-terms {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.sec-title.intro .sub-title {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.sec-title.intro.ready .title-characters {
  opacity: 1;
  transform: translate(0, 0);
  transition-delay: 0s;
}
@media (min-width: 751px) {
  .sec-title.intro.ready .title__collaboration {
    opacity: 1;
    transform: translate(0, 0);
    transition-delay: 0.4s;
  }
}
@media (max-width: 750px) {
  .sec-title.intro.ready .title__collaboration {
    opacity: 1;
    transform: translate(0, 0);
    transition-delay: 0s;
  }
}
.sec-title.intro.ready .title__campaign {
  opacity: 1;
  transform: translate(0, 0);
  transition-delay: 0.5s;
}
@media (max-width: 750px) {
  .sec-title.intro.ready .title__campaign {
    opacity: 1;
    transform: translate(0, 0);
    transition-delay: 0.4s;
  }
}
.sec-title.intro.ready .title-terms {
  opacity: 1;
  transform: translate(0, 0);
  transition-delay: 0.6s;
}
@media (max-width: 750px) {
  .sec-title.intro.ready .title-terms {
    opacity: 1;
    transform: translate(0, 0);
    transition-delay: 0.5s;
  }
}
.sec-title.intro.ready .sub-title {
  opacity: 1;
  transform: translate(0, 0);
  transition-delay: 0.7s;
}
@media (max-width: 750px) {
  .sec-title.intro.ready .sub-title {
    opacity: 1;
    transform: translate(0, 0);
    transition-delay: 0.6s;
  }
}

@media (max-width: 750px) {
  .p-anchor-nav {
    margin-top: -23.2558139535cqw;
  }
}
.p-anchor-nav .p-anchor-nav__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 4.6511627907cqw;
  gap: 4.6511627907cqw;
}

.sec-01 {
  margin-top: 13.9534883721cqw;
}
.sec-01 .voice-drame-block {
  margin-top: 6.976744186cqw;
}
.sec-01 .voice-drame-lead {
  position: relative;
  padding-bottom: 5.8139534884cqw;
}
.sec-01 .voice-drame-lead > * + * {
  margin-top: 3.488372093cqw;
}
.sec-01 .voice-drame-lead::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.6976744186cqw;
  background-image: url("../img/dashed-line.svg");
  background-size: 100% auto;
  background-repeat: no-repeat;
}
.sec-01 .voice-drame-description {
  margin-top: 5.8139534884cqw;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-weight: 500;
  font-size: 3.2558139535cqw;
  row-gap: 2.3255813953cqw;
}
.sec-01 .voice-drame-description div {
  display: flex;
}
.sec-01 .voice-drama-list {
  margin-top: 5.8139534884cqw;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 3.488372093cqw;
}
.sec-01 .members {
  margin-top: 13.9534883721cqw;
}
.sec-01 .members::before {
  content: "";
  position: absolute;
  top: -4.8837209302cqw;
  right: -1.6279069767cqw;
  width: 77.2093023256cqw;
  height: 113.7209302326cqw;
  background-image: url("../img/vd-members-bg.png");
  background-size: 100% 100%;
}
.sec-01 .members::before {
  content: "";
  position: absolute;
  top: -4.8837209302cqw;
  right: -1.6279069767cqw;
  width: 77.2093023256cqw;
  height: 113.7209302326cqw;
  background-image: url("../img/vd-members-bg.png");
  background-size: 100% 100%;
}
.sec-01 .members-heading {
  width: 49.0697674419cqw;
  margin-inline: auto;
  position: relative;
}
.sec-01 .member-list {
  margin-top: 4.6511627907cqw;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 2.3255813953cqw;
  position: relative;
}
.sec-01 .member-item {
  width: 38.3720930233cqw;
  text-align: center;
}
.sec-01 .member-item__name {
  margin-top: -4.6511627907cqw;
  font-size: 5.1162790698cqw;
  font-weight: 900;
  -webkit-text-stroke: 1.3953488372cqw #fff;
  paint-order: stroke;
  line-height: 1.2;
}
.sec-01 .member-item__name--blue {
  color: #3fb1e7;
}
.sec-01 .member-item__name--red {
  color: #e85298;
}
.sec-01 .member-item__name--green {
  color: #519b6f;
}
.sec-01 .member-item__cv {
  color: #777;
  font-size: 3.2558139535cqw;
  font-weight: 700;
  line-height: 1.2;
}
.sec-01 .c-box {
  margin-top: 13.9534883721cqw;
}
.sec-01 .c-qr-code {
  margin-top: 6.976744186cqw;
}
@media (max-width: 750px) {
  .sec-01 .c-qr-code {
    display: none;
  }
}
.sec-01 .c-more {
  margin-top: 6.976744186cqw;
}
@media (min-width: 751px) {
  .sec-01 .c-more {
    display: none;
  }
}
.sec-01 .link-caution {
  margin-top: 6.976744186cqw;
  display: grid;
  grid-gap: 3.7209302326cqw;
  gap: 3.7209302326cqw;
}
.sec-01 .caution {
  margin-top: 13.9534883721cqw;
}

.sec-02 .intro {
  margin-top: 5.8139534884cqw;
}
.sec-02 .intro .c-lead-text {
  line-height: 1.8;
}
.sec-02 .novelty {
  margin-top: 4.6511627907cqw;
}
.sec-02 .novelty__note {
  margin-top: 2.3255813953cqw;
  font-size: 2.3255813953cqw;
  line-height: 1;
}
.sec-02 .box-join {
  margin-top: 13.9534883721cqw;
}
.sec-02 .box-redemption {
  margin-top: 6.976744186cqw;
}
.sec-02 .outro {
  margin-top: 6.976744186cqw;
}

.sec-03 .intro {
  margin-top: 4.6511627907cqw;
}
.sec-03 .stamprally-map {
  margin-top: 3.488372093cqw;
  position: relative;
}
.sec-03 .stamprally-map__btn {
  position: absolute;
  outline: revert;
  cursor: pointer;
}
.sec-03 .stamprally-map__btn--01 {
  top: 12.7906976744cqw;
  left: 1.6279069767cqw;
  width: 25.5813953488cqw;
  height: 6.976744186cqw;
}
.sec-03 .stamprally-map__btn--02 {
  top: 4.8837209302cqw;
  left: 14.1860465116cqw;
  width: 13.9534883721cqw;
  height: 4.6511627907cqw;
}
.sec-03 .stamprally-map__btn--03 {
  top: 43.2558139535cqw;
  left: 48.8372093023cqw;
  width: 17.4418604651cqw;
  height: 7.2093023256cqw;
}
.sec-03 .stamprally-map__btn--04 {
  top: 22.0930232558cqw;
  left: 48.8372093023cqw;
  width: 16.7441860465cqw;
  height: 6.976744186cqw;
}
.sec-03 .stamprally-map__btn--05 {
  top: 117.2093023256cqw;
  left: 1.6279069767cqw;
  width: 14.4186046512cqw;
  height: 6.976744186cqw;
}
.sec-03 .stamprally-map__btn--06 {
  top: 12.0930232558cqw;
  left: 28.6046511628cqw;
  width: 21.8604651163cqw;
  height: 6.976744186cqw;
}
.sec-03 .intro .c-notes-list {
  margin-top: 2.3255813953cqw;
}
.sec-03 .wallpaper {
  margin-top: 13.9534883721cqw;
}
.sec-03 .wallpaper::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 79.5348837209cqw;
  height: 106.7441860465cqw;
  background-image: url("../img/wallpaper-bg.png");
  background-size: 100% 100%;
}
.sec-03 .wallpaper__heading {
  width: 79.0697674419cqw;
  position: relative;
}
.sec-03 .wallpaper__image {
  width: 41.8604651163cqw;
  margin-top: 5.8139534884cqw;
  margin-inline: auto;
  position: relative;
}
.sec-03 .wallpaper__note {
  width: 41.8604651163cqw;
  margin-top: 1.6279069767cqw;
  margin-inline: auto;
  font-size: 2.3255813953cqw;
  line-height: 1.6;
  position: relative;
}
.sec-03 .c-box {
  margin-top: 13.9534883721cqw;
}
.sec-03 .c-qr-code {
  margin-top: 6.976744186cqw;
}
@media (max-width: 750px) {
  .sec-03 .c-qr-code {
    display: none;
  }
}
.sec-03 .c-more {
  margin-top: 6.976744186cqw;
}
@media (min-width: 751px) {
  .sec-03 .c-more {
    display: none;
  }
}
.sec-03 .link-caution {
  margin-top: 6.976744186cqw;
  display: grid;
  grid-gap: 3.7209302326cqw;
  gap: 3.7209302326cqw;
}
.sec-03 .caution {
  margin-top: 13.9534883721cqw;
}

.sec-04 .intro {
  margin-top: 6.976744186cqw;
}
.sec-04 .box-goods {
  margin-top: 13.9534883721cqw;
}
.sec-04 .box-sales-info {
  margin-top: 6.976744186cqw;
}
.sec-04 .outro {
  margin-top: 6.976744186cqw;
}
.sec-04 .contact {
  margin-top: 2.3255813953cqw;
}
.sec-04 .contact .c-notes-list {
  margin-top: 2.3255813953cqw;
}
.sec-04 .contact__heading {
  font-size: 3.2558139535cqw;
  line-height: 1.6;
  font-weight: 700;
}
.sec-04 .contact__description {
  margin-top: 2.3255813953cqw;
  font-size: 2.7906976744cqw;
  line-height: 1.2;
}
.sec-04 .contact__description a {
  text-decoration: underline;
  display: inline-block;
}
.sec-04 .contact__description a:focus-visible {
  text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
  .sec-04 .contact__description a:hover {
    text-decoration: none;
  }
}

@media (min-width: 751px) {
  .p-side-nav {
    position: relative;
    width: 100%;
    container-type: inline-size;
    pointer-events: all;
  }
  .p-side-nav .p-side-nav__decoration {
    position: absolute;
    width: 17.8217821782cqw;
    right: 8.7128712871cqw;
    top: -15.2475247525cqw;
  }
  .p-side-nav .p-side-nav__inner {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 12.2772277228cqw;
  }
  .p-side-nav .p-side-nav__heading {
    width: 75.2475247525cqw;
  }
  .p-side-nav .p-side-nav__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin-top: 11.8811881188cqw;
    grid-gap: 3.9603960396cqw;
    gap: 3.9603960396cqw;
  }
}

.sec-bottom .sec-bottom__container {
  margin-inline: auto;
  overflow: hidden;
  container-type: inline-size;
}
@media (min-width: 751px) {
  .sec-bottom .sec-bottom__container {
    max-width: 430px;
  }
}
.sec-bottom .sec-bottom__inner {
  position: relative;
  margin-inline: auto;
  width: 88.3720930233%;
}

.p-link {
  padding: 60px 0;
  background-color: #71b88e;
}
.p-link .p-link__copyright {
  margin-top: 4.6511627907cqw;
  text-align: center;
  font-size: 2.7906976744cqw;
  line-height: 1.6;
}

.p-plan-link {
  background-color: #fff;
  padding-block: 2.9534883721cqw 2.3720930233cqw;
}

.footer_container {
  background-color: #fff;
  overflow: hidden;
}

@media (min-width: 751px) {
  .p-side-decoration {
    position: relative;
    padding: 27.5247524752% 8.9108910891% 0;
  }
  .p-side-decoration::before {
    content: "";
    position: absolute;
    top: -12.8712871287%;
    left: 0.5940594059%;
    width: 89.900990099%;
    padding-top: 49.3069306931%;
    background-image: url("../img/side-bg.png");
    background-size: 100% 100%;
    background-repeat: no-repeat;
  }
  .p-side-decoration > img {
    position: relative;
  }
}

.u-mt-10 {
  margin-top: 2.3255813953cqw;
}

.u-mt-20 {
  margin-top: 4.6511627907cqw;
}

.u-mt-30 {
  margin-top: 6.976744186cqw;
}

.u-mt-40 {
  margin-top: 9.3023255814cqw;
}

.u-mt-50 {
  margin-top: 11.6279069767cqw;
}

.u-mt-0 {
  margin-top: 0;
}

.u-flex-center {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.u-container-narrow {
  width: 135.3488372093cqw;
  margin-inline: auto;
}

.u-text-link {
  color: inherit;
  text-decoration: underline;
  transition: color 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.u-text-link:focus-visible {
  color: #d60000;
}
@media (hover: hover) and (pointer: fine) {
  .u-text-link:hover {
    color: #d60000;
  }
}

@media (min-width: 751px) {
  .u-sp-only {
    display: none;
  }
}

.u-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}