@charset "UTF-8";
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html,
body,
h1, h2, h3, h4, h5, h6,
p, figure, blockquote,
dl, dd, ol, ul {
  margin: 0;
  padding: 0;
}

ol,
ul {
  list-style: none;
}

img,
picture,
svg,
video {
  display: block;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
select,
textarea {
  font: inherit;
  color: inherit;
  background: none;
  border: none;
  border-radius: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

button {
  cursor: pointer;
}

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

address {
  font-style: normal;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    -webkit-animation-duration: 0.01ms !important;
            animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
            animation-iteration-count: 1 !important;
    -webkit-transition-duration: 0.01ms !important;
            transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
html {
  font-size: min(1.11vw, 16px);
  scroll-behavior: smooth;
  scroll-padding-top: 5.375rem;
}
@media screen and (min-width: 90rem) {
  html {
    font-size: 100%;
  }
}
@media screen and (max-width: 39.9375rem) {
  html {
    font-size: 100%;
    scroll-padding-top: 4.25rem;
  }
}

body {
  font-family: "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Hiragino Sans", "Yu Gothic", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.9;
  color: #0c0103;
  background-color: #fffdf7;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
}
body.is-fixed {
  overflow: hidden;
}

p,
li,
dd,
dt,
th,
td {
  word-break: normal;
  overflow-wrap: anywhere;
  line-break: strict;
}

::-moz-selection {
  color: #ffffff;
  background-color: #378a69;
}

::selection {
  color: #ffffff;
  background-color: #378a69;
}

:focus-visible {
  outline: 0.1875rem solid #3aa7c2;
  outline-offset: 0.125rem;
}

.l-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  background-color: #ffffff;
  -webkit-transition: -webkit-box-shadow 0.3s ease;
  transition: -webkit-box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease, -webkit-box-shadow 0.3s ease;
}
.l-header.is-scrolled {
  -webkit-box-shadow: 0 0.125rem 0.875rem rgba(12, 1, 3, 0.08);
          box-shadow: 0 0.125rem 0.875rem rgba(12, 1, 3, 0.08);
}
.l-header__topbar {
  height: 2.25rem;
  overflow: hidden;
  background-color: #2c6e54;
  color: rgba(255, 255, 255, 0.92);
  -webkit-transition: height 0.3s ease;
  transition: height 0.3s ease;
}
.l-header.is-scrolled .l-header__topbar {
  height: 0;
}
@media screen and (max-width: 39.9375rem) {
  .l-header__topbar {
    height: 2rem;
  }
}
.l-header__topbar-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 1.25rem;
  width: min(80rem, 94%);
  height: 2.25rem;
  margin-inline: auto;
}
@media screen and (max-width: 39.9375rem) {
  .l-header__topbar-inner {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    height: 2rem;
  }
}
.l-header__topbar-date {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 0.5rem;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.4;
  white-space: nowrap;
}
@media screen and (max-width: 39.9375rem) {
  .l-header__topbar-date {
    gap: 0.375rem;
    font-size: 0.75rem;
  }
}
.l-header__topbar-week {
  padding: 0.0625rem 0.4375rem;
  border-radius: 62.4375rem;
  background-color: #ed7987;
  color: #ffffff;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 39.9375rem) {
  .l-header__topbar-week {
    font-size: 0.625rem;
  }
}
.l-header__topbar-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.25rem;
}
@media screen and (max-width: 39.9375rem) {
  .l-header__topbar-right {
    display: none;
  }
}
.l-header__topbar-place {
  font-size: 0.8125rem;
  line-height: 1.4;
  white-space: nowrap;
  color: rgba(255, 255, 255, 0.82);
}
.l-header__topbar-sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.875rem;
}
.l-header__topbar-sns-link {
  display: grid;
  place-items: center;
  color: rgba(255, 255, 255, 0.82);
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media (hover: hover) {
  .l-header__topbar-sns-link:hover {
    color: #f7ce54;
  }
}
.l-header__topbar-sns-icon {
  width: 0.9375rem;
  height: 0.9375rem;
  fill: currentColor;
}
.l-header__main {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem;
  width: min(80rem, 94%);
  height: 6.5rem;
  margin-inline: auto;
  -webkit-transition: height 0.3s ease;
  transition: height 0.3s ease;
}
.l-header.is-scrolled .l-header__main {
  height: 4rem;
}
@media screen and (max-width: 63.9375rem) {
  .l-header__main {
    grid-template-columns: 1fr;
    justify-items: center;
  }
}
@media screen and (max-width: 39.9375rem) {
  .l-header__main {
    height: 4rem;
  }
  .l-header.is-scrolled .l-header__main {
    height: 3.25rem;
  }
}
.l-header__logo {
  display: block;
  height: 5rem;
  -webkit-transition: height 0.3s ease;
  transition: height 0.3s ease;
}
.l-header.is-scrolled .l-header__logo {
  height: 3rem;
}
@media screen and (max-width: 39.9375rem) {
  .l-header__logo {
    height: 3rem;
  }
  .l-header.is-scrolled .l-header__logo {
    height: 2.5rem;
  }
}
.l-header__logo-image {
  width: auto;
  height: 100%;
  max-height: 100%;
}
@media screen and (max-width: 63.9375rem) {
  .l-header__nav {
    display: none;
  }
}
.l-header__burger {
  position: absolute;
  top: 50%;
  right: 0;
  z-index: 110;
  display: none;
  translate: 0 -50%;
}
@media screen and (max-width: 63.9375rem) {
  .l-header__burger {
    display: grid;
  }
}
.l-header__strip {
  height: 0.375rem;
  background-image: -webkit-gradient(linear, left top, right top, from(#378a69), color-stop(25%, #3aa7c2), color-stop(50%, #f7ce54), color-stop(75%, #ed7987), to(#884798));
  background-image: linear-gradient(90deg, #378a69 0%, #3aa7c2 25%, #f7ce54 50%, #ed7987 75%, #884798 100%);
}
@media screen and (max-width: 39.9375rem) {
  .l-header__strip {
    height: 0.25rem;
  }
}

.l-gnav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem;
}
.l-header__nav--left .l-gnav__list {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.l-header__nav--right .l-gnav__list {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
@media screen and (max-width: 63.9375rem) {
  .l-gnav__list {
    gap: 1.6666666667vw;
  }
}
.l-gnav__link {
  position: relative;
  display: block;
  padding-block: 0.375rem;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.02em;
  white-space: nowrap;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
.l-gnav__link::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 0.1875rem;
  border-radius: 0.125rem;
  background-color: #ed7987;
  translate: -50% 0;
  -webkit-transition: width 0.3s ease;
  transition: width 0.3s ease;
}
@media (hover: hover) {
  .l-gnav__link:hover {
    color: #378a69;
  }
  .l-gnav__link:hover::after {
    width: 100%;
  }
}
@media screen and (max-width: 63.9375rem) {
  .l-gnav__link {
    font-size: 1.0416666667vw;
  }
}

.l-drawer {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: grid;
  place-items: center;
  padding: 7.75rem 1.5rem 3rem;
}
@media screen and (max-width: 39.9375rem) {
  .l-drawer {
    padding-top: 7.25rem;
  }
}
.l-drawer {
  overflow-y: auto;
  background-color: rgba(55, 138, 105, 0.97);
  color: #ffffff;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.4s ease, visibility 0.4s ease;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}
.l-drawer.is-open {
  opacity: 1;
  visibility: visible;
}
.l-drawer::before, .l-drawer::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
.l-drawer::before {
  top: -16vw;
  right: -18.6666666667vw;
  width: 58.6666666667vw;
  aspect-ratio: 1;
  background-color: rgba(247, 206, 84, 0.22);
}
.l-drawer::after {
  bottom: -21.3333333333vw;
  left: -16vw;
  width: 53.3333333333vw;
  aspect-ratio: 1;
  background-color: rgba(58, 167, 194, 0.25);
}
.l-drawer__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 26.25rem;
  text-align: center;
}
.l-drawer__list {
  margin-bottom: 2rem;
}
.l-drawer__item {
  border-bottom: 1px solid rgba(255, 255, 255, 0.28);
}
.l-drawer__link {
  display: block;
  padding: 1rem 0.5rem;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
}
@media (hover: hover) {
  .l-drawer__link:hover {
    color: #f7ce54;
  }
}
.l-drawer__sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.25rem;
}
.l-drawer__sns-link {
  display: grid;
  place-items: center;
  width: 2.75rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.16);
  color: #ffffff;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
@media (hover: hover) {
  .l-drawer__sns-link:hover {
    background-color: #f7ce54;
    color: #378a69;
  }
}
.l-drawer__sns-icon {
  width: 1.25rem;
  height: 1.25rem;
  fill: currentColor;
}

.l-footer {
  padding: 4rem 0 2rem;
  background-color: #378a69;
  color: #ffffff;
}
@media screen and (max-width: 39.9375rem) {
  .l-footer {
    padding: 3rem 0 1.5rem;
  }
}
.l-footer__inner {
  width: min(70rem, 88%);
  margin-inline: auto;
  text-align: center;
}
.l-footer__logo {
  width: 11.25rem;
  margin: 0 auto 1.5rem;
  padding: 1rem;
  border-radius: 1.25rem;
  background-color: #ffffff;
}
@media screen and (max-width: 39.9375rem) {
  .l-footer__logo {
    width: 9.375rem;
    margin-bottom: 1.25rem;
  }
}
.l-footer__sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.25rem;
  margin-bottom: 2rem;
}
.l-footer__sns-link {
  display: grid;
  place-items: center;
  width: 3rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.16);
  color: #ffffff;
  -webkit-transition: background-color 0.3s ease, color 0.3s ease;
  transition: background-color 0.3s ease, color 0.3s ease;
}
@media (hover: hover) {
  .l-footer__sns-link:hover {
    background-color: #f7ce54;
    color: #378a69;
  }
}
.l-footer__sns-icon {
  width: 1.375rem;
  height: 1.375rem;
  fill: currentColor;
}
.l-footer__credit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.625rem;
  margin-bottom: 1.75rem;
  padding-top: 1.75rem;
  border-top: 1px solid rgba(255, 255, 255, 0.22);
}
@media screen and (max-width: 39.9375rem) {
  .l-footer__credit {
    gap: 0.5rem;
    margin-bottom: 1.25rem;
    padding-top: 1.25rem;
  }
}
.l-footer__credit-label {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.8);
}
@media screen and (max-width: 39.9375rem) {
  .l-footer__credit-label {
    font-size: 0.6875rem;
  }
}
.l-footer__credit-link {
  display: block;
  padding: 0.75rem 1.375rem;
  border-radius: 0.75rem;
  background-color: #ffffff;
  -webkit-transition: translate 0.2s ease, -webkit-box-shadow 0.3s ease;
  transition: translate 0.2s ease, -webkit-box-shadow 0.3s ease;
  transition: translate 0.2s ease, box-shadow 0.3s ease;
  transition: translate 0.2s ease, box-shadow 0.3s ease, -webkit-box-shadow 0.3s ease;
}
@media (hover: hover) {
  .l-footer__credit-link:hover {
    translate: 0 -0.1875rem;
    -webkit-box-shadow: 0 0.375rem 1rem rgba(12, 1, 3, 0.24);
            box-shadow: 0 0.375rem 1rem rgba(12, 1, 3, 0.24);
  }
}
@media screen and (max-width: 39.9375rem) {
  .l-footer__credit-link {
    padding: 0.625rem 1.125rem;
  }
}
.l-footer__credit-logo {
  width: 8.75rem;
}
@media screen and (max-width: 39.9375rem) {
  .l-footer__credit-logo {
    width: 7.375rem;
  }
}
.l-footer__copyright {
  font-size: 0.8125rem;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.82);
}

.l-main {
  padding-top: 9.125rem;
}
@media screen and (max-width: 63.9375rem) {
  .l-main {
    padding-top: 10.1388888889vw;
  }
}
@media screen and (max-width: 39.9375rem) {
  .l-main {
    padding-top: 6.25rem;
  }
}

.l-inner {
  width: min(70rem, 88%);
  margin-inline: auto;
}
.l-inner--narrow {
  width: min(55rem, 88%);
}
.l-inner--wide {
  width: min(80rem, 92%);
}

.l-section {
  padding: 6rem 0;
}
@media screen and (max-width: 39.9375rem) {
  .l-section {
    padding: 3.5rem 0;
  }
}
.l-section--pale {
  background-color: #e8f3ee;
}
.l-section--white {
  background-color: #ffffff;
}

.c-heading {
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.02em;
}
.c-heading--section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.375rem;
  margin-bottom: 3rem;
  font-size: 2.25rem;
  text-align: center;
}
@media screen and (max-width: 39.9375rem) {
  .c-heading--section {
    margin-bottom: 2rem;
    font-size: 1.625rem;
  }
}
.c-heading__en {
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1;
  color: #ed7987;
  text-transform: uppercase;
}
@media screen and (max-width: 39.9375rem) {
  .c-heading__en {
    font-size: 0.75rem;
  }
}
.c-heading--wave::after {
  content: "";
  display: block;
  width: 5.5rem;
  height: 0.625rem;
  margin-top: 0.625rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 88 10'%3E%3Cpath d='M0 5c5.5-6 11-6 16.5 0S27.5 11 33 5s11-6 16.5 0S60.5 11 66 5s11-6 16.5 0L88 8' fill='none' stroke='%23f7ce54' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (max-width: 39.9375rem) {
  .c-heading--wave::after {
    width: 4.5rem;
  }
}
.c-heading--light {
  color: #ffffff;
}
.c-heading--light .c-heading__en {
  color: #f7ce54;
}
.c-heading--lg {
  margin-bottom: 1.25rem;
  font-size: 1.625rem;
}
@media screen and (max-width: 39.9375rem) {
  .c-heading--lg {
    margin-bottom: 0.875rem;
    font-size: 1.3125rem;
  }
}
.c-heading--md {
  margin-bottom: 0.75rem;
  font-size: 1.25rem;
}
@media screen and (max-width: 39.9375rem) {
  .c-heading--md {
    font-size: 1.0625rem;
  }
}
.c-heading--card {
  margin-bottom: 0.75rem;
  font-size: 1.375rem;
}
@media screen and (max-width: 39.9375rem) {
  .c-heading--card {
    font-size: 1.1875rem;
  }
}

.c-button {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.625rem;
  min-width: 17.5rem;
  padding: 1.125rem 2.5rem;
  border-radius: 62.4375rem;
  background-color: #ed7987;
  color: #ffffff;
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  -webkit-box-shadow: 0 0.25rem 0 rgba(12, 1, 3, 0.16);
          box-shadow: 0 0.25rem 0 rgba(12, 1, 3, 0.16);
  -webkit-transition: translate 0.2s ease, background-color 0.3s ease, -webkit-box-shadow 0.2s ease;
  transition: translate 0.2s ease, background-color 0.3s ease, -webkit-box-shadow 0.2s ease;
  transition: translate 0.2s ease, box-shadow 0.2s ease, background-color 0.3s ease;
  transition: translate 0.2s ease, box-shadow 0.2s ease, background-color 0.3s ease, -webkit-box-shadow 0.2s ease;
}
@media (hover: hover) {
  .c-button:hover {
    translate: 0 0.1875rem;
    -webkit-box-shadow: 0 0.0625rem 0 rgba(12, 1, 3, 0.16);
            box-shadow: 0 0.0625rem 0 rgba(12, 1, 3, 0.16);
  }
}
@media screen and (max-width: 39.9375rem) {
  .c-button {
    min-width: 15rem;
    padding: 0.9375rem 1.75rem;
    font-size: 0.9375rem;
  }
}
.c-button--main {
  background-color: #378a69;
}
.c-button--halloween {
  background-color: #f7ce54;
  color: #6d3879;
}
.c-button--outline {
  background-color: #ffffff;
  color: #378a69;
  border: 0.125rem solid #378a69;
}
.c-button__icon {
  width: 1.125rem;
  height: 1.125rem;
  fill: currentColor;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.c-badge {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.5rem 1.25rem;
  border-radius: 62.4375rem;
  background-color: #f7ce54;
  color: #0c0103;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap;
}
@media screen and (max-width: 39.9375rem) {
  .c-badge {
    padding: 0.375rem 1rem;
    font-size: 0.8125rem;
  }
}
.c-badge--main {
  background-color: #378a69;
  color: #ffffff;
}
.c-badge--accent {
  background-color: #ed7987;
  color: #ffffff;
}
.c-badge--sub {
  background-color: #3aa7c2;
  color: #ffffff;
}
.c-badge--halloween {
  background-color: #884798;
  color: #ffffff;
}
.c-badge--outline {
  background-color: transparent;
  border: 0.125rem solid currentColor;
  color: #378a69;
}
.c-badge--tbd {
  background-color: #e4ddd2;
  color: #5a5254;
  font-size: 0.8125rem;
}
@media screen and (max-width: 39.9375rem) {
  .c-badge--tbd {
    font-size: 0.75rem;
  }
}

.c-burger {
  --rotate: 0deg;
  --opacity: 1;
  --translate: 0.4375rem;
  place-items: center;
  width: 3rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: #378a69;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
.c-burger.is-active {
  --rotate: 135deg;
  --opacity: 0;
  --translate: 0;
  background-color: #ffffff;
}
@media screen and (max-width: 39.9375rem) {
  .c-burger {
    width: 2.625rem;
  }
}
.c-burger__bar {
  grid-area: 1/1/-1/-1;
  width: 1.25rem;
  height: 0.125rem;
  border-radius: 0.125rem;
  background-color: #ffffff;
  -webkit-transition: opacity 0.4s ease, rotate 0.4s ease, translate 0.4s ease, background-color 0.3s ease;
  transition: opacity 0.4s ease, rotate 0.4s ease, translate 0.4s ease, background-color 0.3s ease;
}
.c-burger.is-active .c-burger__bar {
  background-color: #378a69;
}
.c-burger__bar:nth-child(1) {
  translate: 0 calc(var(--translate) * -1);
  rotate: var(--rotate);
}
.c-burger__bar:nth-child(2) {
  opacity: var(--opacity);
}
.c-burger__bar:nth-child(3) {
  translate: 0 var(--translate);
  rotate: calc(var(--rotate) * -1);
}

.c-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  padding: 2rem 1.75rem 2.25rem;
  border-radius: 1.5rem;
  background-color: #ffffff;
  border: 0.1875rem solid #e4ddd2;
}
@media screen and (max-width: 39.9375rem) {
  .c-card {
    padding: 1.5rem 1.25rem 1.75rem;
    border-radius: 1.125rem;
  }
}
.c-card__icon {
  display: grid;
  place-items: center;
  width: 4rem;
  aspect-ratio: 1;
  margin-bottom: 1rem;
  border-radius: 50%;
  background-color: #e8f3ee;
}
@media screen and (max-width: 39.9375rem) {
  .c-card__icon {
    width: 3.25rem;
    margin-bottom: 0.75rem;
  }
}
.c-card__icon-image {
  width: 2.125rem;
  height: 2.125rem;
}
@media screen and (max-width: 39.9375rem) {
  .c-card__icon-image {
    width: 1.75rem;
    height: 1.75rem;
  }
}
.c-card__text {
  margin-bottom: 1.25rem;
  font-size: 0.9375rem;
  line-height: 1.9;
}
@media screen and (max-width: 39.9375rem) {
  .c-card__text {
    margin-bottom: 1rem;
    font-size: 0.875rem;
  }
}
.c-card__text:last-child {
  margin-bottom: 0;
}
.c-card__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: auto;
}
.c-card__tag {
  padding: 0.3125rem 0.875rem;
  border-radius: 62.4375rem;
  background-color: #e8f3ee;
  color: #2c6e54;
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 39.9375rem) {
  .c-card__tag {
    padding: 0.25rem 0.75rem;
    font-size: 0.75rem;
  }
}
.c-card--performance {
  border-color: #ed7987;
}
.c-card--performance .c-card__icon {
  background-color: #fdeef0;
}
.c-card--performance .c-card__tag {
  background-color: #fdeef0;
  color: #ed7987;
}
.c-card--activity {
  border-color: #3aa7c2;
}
.c-card--activity .c-card__icon {
  background-color: #e6f4f8;
}
.c-card--activity .c-card__tag {
  background-color: #e6f4f8;
  color: #3aa7c2;
}
.c-card--food {
  border-color: #f7ce54;
}
.c-card--food .c-card__icon {
  background-color: #fdf5e0;
}
.c-card--food .c-card__tag {
  background-color: #fdf5e0;
  color: #a97f12;
}

.p-fv {
  position: relative;
  overflow: hidden;
  min-height: calc(100svh - 9.125rem);
  padding: 3.5rem 0 4.5rem;
  background-color: #fffdf7;
  background-image: radial-gradient(circle at 22% 42%, rgba(237, 121, 135, 0.06), transparent 22%), radial-gradient(circle at 83% 25%, rgba(58, 167, 194, 0.09), transparent 20%);
}
@media screen and (max-width: 63.9375rem) {
  .p-fv {
    min-height: 0;
  }
}
@media screen and (max-width: 39.9375rem) {
  .p-fv {
    min-height: 0;
    padding: 2rem 0 3rem;
  }
}
.p-fv::before {
  content: "";
  position: absolute;
  inset: -2.5rem;
  z-index: 0;
  pointer-events: none;
  opacity: 0.5;
  background-image: radial-gradient(rgba(237, 121, 135, 0.18) 0.0875rem, transparent 0.1rem), radial-gradient(rgba(58, 167, 194, 0.16) 0.075rem, transparent 0.09375rem);
  background-position: 0.75rem 1.125rem, 2.75rem 0.5rem;
  background-size: 4.75rem 4.75rem, 5.75rem 5.75rem;
  -webkit-animation: fvDotDrift 22s linear infinite;
          animation: fvDotDrift 22s linear infinite;
}
.p-fv__stage {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 17rem 1fr auto;
  grid-template-areas: "pickup main strips";
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
  width: min(80rem, 92%);
  margin-inline: auto;
}
@media screen and (max-width: 63.9375rem) {
  .p-fv__stage {
    grid-template-columns: 1fr;
    grid-template-areas: "main" "strips" "pickup";
    justify-items: center;
    gap: 2.25rem;
  }
}
@media screen and (max-width: 39.9375rem) {
  .p-fv__stage {
    gap: 1.75rem;
  }
}
.p-fv__main {
  position: relative;
  grid-area: main;
  padding: 3rem 2.5rem 2.75rem;
  text-align: center;
  background-color: #ffffff;
  -webkit-filter: drop-shadow(0 1.25rem 2rem rgba(12, 1, 3, 0.09));
          filter: drop-shadow(0 1.25rem 2rem rgba(12, 1, 3, 0.09));
  clip-path: polygon(2% 6%, 12% 2%, 28% 5%, 44% 1%, 60% 4%, 76% 1%, 92% 5%, 98% 14%, 96% 30%, 99% 48%, 97% 64%, 100% 82%, 94% 95%, 78% 98%, 60% 95%, 42% 99%, 26% 96%, 10% 98%, 3% 88%, 5% 70%, 1% 52%, 4% 34%, 0 18%);
  -webkit-animation: fvMainIn 1.1s cubic-bezier(0.22, 1, 0.36, 1) both;
          animation: fvMainIn 1.1s cubic-bezier(0.22, 1, 0.36, 1) both;
}
@media screen and (max-width: 39.9375rem) {
  .p-fv__main {
    padding: 2rem 1.5rem 1.875rem;
  }
}
.p-fv__logo {
  width: min(22.5rem, 100%);
  margin: 0 auto 1.5rem;
  -webkit-animation: fvLogoFloat 8.2s ease-in-out 1.15s infinite;
          animation: fvLogoFloat 8.2s ease-in-out 1.15s infinite;
}
@media screen and (max-width: 39.9375rem) {
  .p-fv__logo {
    width: min(14.875rem, 100%);
    margin-bottom: 1.125rem;
  }
}
.p-fv__logo-image {
  width: 100%;
}
.p-fv__lead {
  margin-bottom: 1.125rem;
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.8;
  color: #2c6e54;
}
@media screen and (max-width: 39.9375rem) {
  .p-fv__lead {
    margin-bottom: 0.875rem;
    font-size: 0.875rem;
  }
}
.p-fv__date {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.25rem 0.75rem;
  margin-bottom: 0.5rem;
  font-size: 2.625rem;
  font-weight: 900;
  line-height: 1.25;
  color: #378a69;
}
@media screen and (max-width: 39.9375rem) {
  .p-fv__date {
    gap: 0.125rem 0.5rem;
    font-size: 1.6875rem;
  }
}
.p-fv__date-year {
  font-size: 1.375rem;
}
@media screen and (max-width: 39.9375rem) {
  .p-fv__date-year {
    font-size: 1rem;
  }
}
.p-fv__date-week {
  color: #ed7987;
}
.p-fv__time {
  margin-bottom: 1rem;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 39.9375rem) {
  .p-fv__time {
    margin-bottom: 0.75rem;
    font-size: 1.125rem;
  }
}
.p-fv__place {
  margin-bottom: 1.25rem;
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.7;
}
@media screen and (max-width: 39.9375rem) {
  .p-fv__place {
    margin-bottom: 1rem;
    font-size: 0.875rem;
  }
}
.p-fv__place-sub {
  display: block;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #5a5254;
}
@media screen and (max-width: 39.9375rem) {
  .p-fv__place-sub {
    font-size: 0.6875rem;
  }
}
.p-fv__badges {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.625rem;
  margin-bottom: 1rem;
}
@media screen and (max-width: 39.9375rem) {
  .p-fv__badges {
    gap: 0.375rem;
    margin-bottom: 0.75rem;
  }
}
.p-fv__note {
  font-size: 0.8125rem;
  line-height: 1.7;
  color: #5a5254;
}
@media screen and (max-width: 39.9375rem) {
  .p-fv__note {
    font-size: 0.75rem;
  }
}
.p-fv__strips {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  grid-area: strips;
  gap: 0.875rem;
}
@media screen and (max-width: 63.9375rem) {
  .p-fv__strips {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.625rem;
  }
}
@media screen and (max-width: 39.9375rem) {
  .p-fv__strips {
    gap: 0.5rem;
  }
}
.p-fv__strip {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 1.5rem 0.75rem;
  font-size: 2.5rem;
  font-weight: 900;
  line-height: 1.14;
  letter-spacing: 0.08em;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
  clip-path: polygon(9% 2%, 38% 0, 94% 5%, 98% 31%, 93% 61%, 100% 92%, 66% 98%, 18% 95%, 4% 71%, 7% 38%);
  -webkit-animation: fvStripIn 0.8s cubic-bezier(0.22, 1, 0.36, 1) both;
          animation: fvStripIn 0.8s cubic-bezier(0.22, 1, 0.36, 1) both;
}
@media screen and (max-width: 63.9375rem) {
  .p-fv__strip {
    padding: 1.125rem 0.625rem;
    font-size: 2rem;
  }
}
@media screen and (max-width: 39.9375rem) {
  .p-fv__strip {
    padding: 0.875rem 0.5rem;
    font-size: 1.5rem;
  }
}
.p-fv__strip--01 {
  height: 20.75rem;
  background-color: #884798;
  color: #ffffff;
  -webkit-animation: fvStripIn 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.42s both, fvStripBob 4.8s ease-in-out 1.6s infinite;
          animation: fvStripIn 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.42s both, fvStripBob 4.8s ease-in-out 1.6s infinite;
}
@media screen and (max-width: 63.9375rem) {
  .p-fv__strip--01 {
    height: 16.125rem;
  }
}
@media screen and (max-width: 39.9375rem) {
  .p-fv__strip--01 {
    height: 12.25rem;
  }
}
.p-fv__strip--02 {
  height: 16.75rem;
  background-color: #378a69;
  color: #ffffff;
  -webkit-animation: fvStripIn 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.56s both, fvStripBobAlt 5.1s ease-in-out 1.85s infinite;
          animation: fvStripIn 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.56s both, fvStripBobAlt 5.1s ease-in-out 1.85s infinite;
}
@media screen and (max-width: 63.9375rem) {
  .p-fv__strip--02 {
    height: 13.125rem;
  }
}
@media screen and (max-width: 39.9375rem) {
  .p-fv__strip--02 {
    height: 10rem;
  }
}
.p-fv__strip--03 {
  height: 13.5rem;
  background-color: #f7ce54;
  color: #0c0103;
  animation: fvStripIn 0.8s cubic-bezier(0.22, 1, 0.36, 1) 0.7s both, fvStripBob 4.4s ease-in-out 2.05s infinite reverse;
}
@media screen and (max-width: 63.9375rem) {
  .p-fv__strip--03 {
    height: 10.625rem;
  }
}
@media screen and (max-width: 39.9375rem) {
  .p-fv__strip--03 {
    height: 8.125rem;
  }
}
.p-fv__pickup {
  position: relative;
  grid-area: pickup;
  width: 17rem;
  padding: 1.75rem 1.625rem 1.5rem;
  background-color: #fdf5e0;
  rotate: -4deg;
  -webkit-filter: drop-shadow(0 1rem 1.75rem rgba(12, 1, 3, 0.12));
          filter: drop-shadow(0 1rem 1.75rem rgba(12, 1, 3, 0.12));
  clip-path: polygon(3% 5%, 19% 2%, 38% 4%, 61% 1%, 94% 5%, 99% 17%, 97% 45%, 100% 76%, 93% 98%, 55% 96%, 27% 99%, 2% 94%, 4% 66%, 0 36%);
  -webkit-animation: fvCardIn 0.95s cubic-bezier(0.22, 1, 0.36, 1) 0.34s both, fvCardFloat 5.6s ease-in-out 1.4s infinite;
          animation: fvCardIn 0.95s cubic-bezier(0.22, 1, 0.36, 1) 0.34s both, fvCardFloat 5.6s ease-in-out 1.4s infinite;
}
@media screen and (max-width: 39.9375rem) {
  .p-fv__pickup {
    width: min(17rem, 86%);
    padding: 1.5rem 1.375rem 1.25rem;
  }
}
.p-fv__pickup-pin {
  position: absolute;
  top: -0.5rem;
  left: 1.125rem;
  z-index: 1;
  width: 2.875rem;
  height: 2.875rem;
  color: #ed7987;
  rotate: -14deg;
  -webkit-animation: fvPinWave 3.6s ease-in-out 1.2s infinite;
          animation: fvPinWave 3.6s ease-in-out 1.2s infinite;
}
.p-fv__pickup-label {
  margin-bottom: 0.875rem;
  font-size: 0.8125rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.16em;
  color: #ed7987;
  text-align: right;
}
.p-fv__pickup-visual {
  position: relative;
  height: 6rem;
  margin-bottom: 1rem;
  border-radius: 0.5rem;
  background-image: radial-gradient(circle at 20% 20%, rgba(136, 71, 152, 0.5), transparent 24%), radial-gradient(circle at 82% 32%, rgba(247, 206, 84, 0.7), transparent 26%), radial-gradient(circle at 64% 88%, rgba(58, 167, 194, 0.5), transparent 30%), linear-gradient(135deg, #ffd9e0, #fff1c4 48%, #e2f1ea);
  background-size: 150% 150%, 145% 145%, 150% 150%, 100% 100%;
  -webkit-box-shadow: inset 0 0 0 1px rgba(12, 1, 3, 0.07);
          box-shadow: inset 0 0 0 1px rgba(12, 1, 3, 0.07);
  -webkit-animation: fvVisualGlow 6.5s ease-in-out infinite;
          animation: fvVisualGlow 6.5s ease-in-out infinite;
}
@media screen and (max-width: 39.9375rem) {
  .p-fv__pickup-visual {
    height: 5.25rem;
  }
}
.p-fv__pickup-visual-text {
  position: absolute;
  top: 1rem;
  left: 1rem;
  font-size: 1.375rem;
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: 0.04em;
  color: #6d3879;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6);
}
@media screen and (max-width: 39.9375rem) {
  .p-fv__pickup-visual-text {
    font-size: 1.1875rem;
  }
}
.p-fv__pickup-visual-time {
  position: absolute;
  right: 0.75rem;
  bottom: 0.625rem;
  padding: 0.25rem 0.625rem;
  border-radius: 62.4375rem;
  background-color: #0c0103;
  color: #ffffff;
  font-size: 0.6875rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  line-height: 1.4;
}
.p-fv__pickup-title {
  margin-bottom: 0.375rem;
  font-size: 0.9375rem;
  font-weight: 900;
  line-height: 1.5;
}
.p-fv__pickup-meta {
  margin-bottom: 1rem;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.7;
  color: #5a5254;
}
.p-fv__pickup-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 9.375rem;
  min-height: 2.375rem;
  margin-inline: auto;
  border-radius: 62.4375rem;
  background-color: #884798;
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  line-height: 1.4;
  -webkit-transition: background-color 0.3s ease, translate 0.2s ease;
  transition: background-color 0.3s ease, translate 0.2s ease;
}
@media (hover: hover) {
  .p-fv__pickup-link:hover {
    background-color: #6d3879;
    translate: 0 -0.125rem;
  }
}
.p-fv__deco {
  position: absolute;
  inset: 0;
  pointer-events: none;
  will-change: translate;
}
.p-fv__deco--illust {
  z-index: 1;
}
.p-fv__deco--shape {
  z-index: 1;
}
.p-fv__illust {
  position: absolute;
  -webkit-animation: fvIllustFloat 5.4s ease-in-out infinite;
          animation: fvIllustFloat 5.4s ease-in-out infinite;
}
.p-fv__illust--web {
  top: 0;
  left: 0;
  width: 7.25rem;
  -webkit-animation: none;
          animation: none;
}
@media screen and (max-width: 39.9375rem) {
  .p-fv__illust--web {
    width: 4.25rem;
  }
}
.p-fv__illust--moon {
  top: 5%;
  right: 4%;
  width: 5.75rem;
  -webkit-animation-duration: 7.2s;
          animation-duration: 7.2s;
}
@media screen and (max-width: 63.9375rem) {
  .p-fv__illust--moon {
    top: 0.75rem;
    right: 0.5rem;
    width: 4rem;
  }
}
@media screen and (max-width: 39.9375rem) {
  .p-fv__illust--moon {
    width: 3.125rem;
  }
}
.p-fv__illust--bat {
  top: 17%;
  right: 21%;
  width: 4.875rem;
  -webkit-animation-duration: 5.8s;
          animation-duration: 5.8s;
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}
@media screen and (max-width: 63.9375rem) {
  .p-fv__illust--bat {
    display: none;
  }
}
.p-fv__illust--ghost {
  right: 6%;
  bottom: 11%;
  width: 5.625rem;
  -webkit-animation-duration: 6.4s;
          animation-duration: 6.4s;
  -webkit-animation-delay: 1.1s;
          animation-delay: 1.1s;
}
@media screen and (max-width: 63.9375rem) {
  .p-fv__illust--ghost {
    right: 0.625rem;
    bottom: 0.75rem;
    width: 3.875rem;
  }
}
@media screen and (max-width: 39.9375rem) {
  .p-fv__illust--ghost {
    display: none;
  }
}
.p-fv__illust--pumpkin {
  bottom: 5%;
  left: 4%;
  width: 5.125rem;
  -webkit-animation-duration: 6s;
          animation-duration: 6s;
  -webkit-animation-delay: 0.35s;
          animation-delay: 0.35s;
}
@media screen and (max-width: 63.9375rem) {
  .p-fv__illust--pumpkin {
    bottom: 0.625rem;
    left: 0.625rem;
    width: 3.75rem;
  }
}
@media screen and (max-width: 39.9375rem) {
  .p-fv__illust--pumpkin {
    width: 3rem;
  }
}
.p-fv__illust--star-01 {
  top: 27%;
  left: 15%;
  width: 1.625rem;
  -webkit-animation-duration: 4.6s;
          animation-duration: 4.6s;
}
@media screen and (max-width: 63.9375rem) {
  .p-fv__illust--star-01 {
    top: 5rem;
    left: 1.25rem;
    width: 1.25rem;
  }
}
.p-fv__illust--star-02 {
  top: 60%;
  right: 27%;
  width: 1.375rem;
  -webkit-animation-duration: 5.1s;
          animation-duration: 5.1s;
  -webkit-animation-delay: 0.8s;
          animation-delay: 0.8s;
}
@media screen and (max-width: 63.9375rem) {
  .p-fv__illust--star-02 {
    display: none;
  }
}
.p-fv__shape {
  position: absolute;
  pointer-events: none;
  opacity: 0.86;
  -webkit-filter: drop-shadow(0 0.375rem 0.625rem rgba(12, 1, 3, 0.08));
          filter: drop-shadow(0 0.375rem 0.625rem rgba(12, 1, 3, 0.08));
  -webkit-animation: fvShapeDrift 8s ease-in-out infinite;
          animation: fvShapeDrift 8s ease-in-out infinite;
}
@media screen and (max-width: 39.9375rem) {
  .p-fv__shape {
    display: none;
  }
}
.p-fv__shape--01 {
  top: 12%;
  left: 42%;
  width: 1.375rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: #ed7987;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
.p-fv__shape--02 {
  bottom: 16%;
  left: 33%;
  width: 1.75rem;
  height: 1.125rem;
  border-radius: 62.4375rem;
  background-color: #3aa7c2;
  -webkit-animation-delay: 1.8s;
          animation-delay: 1.8s;
}
.p-fv__shape--03 {
  top: 66%;
  left: 78%;
  width: 1rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: #378a69;
  -webkit-animation-delay: 3.1s;
          animation-delay: 3.1s;
}

@-webkit-keyframes fvDotDrift {
  from {
    translate: 0 0;
  }
  to {
    translate: 4.75rem -4.75rem;
  }
}

@keyframes fvDotDrift {
  from {
    translate: 0 0;
  }
  to {
    translate: 4.75rem -4.75rem;
  }
}
@-webkit-keyframes fvMainIn {
  from {
    opacity: 0;
    translate: 0 1.125rem;
    scale: 0.985;
  }
  to {
    opacity: 1;
    translate: 0 0;
    scale: 1;
  }
}
@keyframes fvMainIn {
  from {
    opacity: 0;
    translate: 0 1.125rem;
    scale: 0.985;
  }
  to {
    opacity: 1;
    translate: 0 0;
    scale: 1;
  }
}
@-webkit-keyframes fvLogoFloat {
  0%, 100% {
    translate: 0 0;
    rotate: 0.2deg;
  }
  50% {
    translate: 0 -0.5625rem;
    rotate: -0.3deg;
  }
}
@keyframes fvLogoFloat {
  0%, 100% {
    translate: 0 0;
    rotate: 0.2deg;
  }
  50% {
    translate: 0 -0.5625rem;
    rotate: -0.3deg;
  }
}
@-webkit-keyframes fvStripIn {
  from {
    opacity: 0;
    translate: 0 1.875rem;
  }
  to {
    opacity: 1;
    translate: 0 0;
  }
}
@keyframes fvStripIn {
  from {
    opacity: 0;
    translate: 0 1.875rem;
  }
  to {
    opacity: 1;
    translate: 0 0;
  }
}
@-webkit-keyframes fvStripBob {
  0%, 100% {
    translate: 0 0;
    rotate: 0deg;
  }
  50% {
    translate: 0 -0.8125rem;
    rotate: -1.4deg;
  }
}
@keyframes fvStripBob {
  0%, 100% {
    translate: 0 0;
    rotate: 0deg;
  }
  50% {
    translate: 0 -0.8125rem;
    rotate: -1.4deg;
  }
}
@-webkit-keyframes fvStripBobAlt {
  0%, 100% {
    translate: 0 0;
    rotate: 0deg;
  }
  50% {
    translate: 0 0.75rem;
    rotate: 1deg;
  }
}
@keyframes fvStripBobAlt {
  0%, 100% {
    translate: 0 0;
    rotate: 0deg;
  }
  50% {
    translate: 0 0.75rem;
    rotate: 1deg;
  }
}
@-webkit-keyframes fvCardIn {
  from {
    opacity: 0;
    translate: 0 1.25rem;
  }
  to {
    opacity: 1;
    translate: 0 0;
  }
}
@keyframes fvCardIn {
  from {
    opacity: 0;
    translate: 0 1.25rem;
  }
  to {
    opacity: 1;
    translate: 0 0;
  }
}
@-webkit-keyframes fvCardFloat {
  0%, 100% {
    translate: 0 0;
  }
  50% {
    translate: 0 -0.75rem;
  }
}
@keyframes fvCardFloat {
  0%, 100% {
    translate: 0 0;
  }
  50% {
    translate: 0 -0.75rem;
  }
}
@-webkit-keyframes fvPinWave {
  0%, 100% {
    translate: 0 0;
    rotate: -14deg;
  }
  50% {
    translate: 0 -0.3125rem;
    rotate: -7deg;
  }
}
@keyframes fvPinWave {
  0%, 100% {
    translate: 0 0;
    rotate: -14deg;
  }
  50% {
    translate: 0 -0.3125rem;
    rotate: -7deg;
  }
}
@-webkit-keyframes fvVisualGlow {
  0%, 100% {
    background-position: 0% 40%, 100% 40%, 60% 100%, 0 0;
  }
  50% {
    background-position: 18% 28%, 82% 52%, 45% 76%, 0 0;
  }
}
@keyframes fvVisualGlow {
  0%, 100% {
    background-position: 0% 40%, 100% 40%, 60% 100%, 0 0;
  }
  50% {
    background-position: 18% 28%, 82% 52%, 45% 76%, 0 0;
  }
}
@-webkit-keyframes fvIllustFloat {
  0%, 100% {
    translate: 0 0;
    rotate: 0deg;
  }
  50% {
    translate: 0 -0.5625rem;
    rotate: 2.5deg;
  }
}
@keyframes fvIllustFloat {
  0%, 100% {
    translate: 0 0;
    rotate: 0deg;
  }
  50% {
    translate: 0 -0.5625rem;
    rotate: 2.5deg;
  }
}
@-webkit-keyframes fvShapeDrift {
  0%, 100% {
    translate: 0 0;
    rotate: 0deg;
  }
  33% {
    translate: 0.625rem -1.125rem;
    rotate: 9deg;
  }
  66% {
    translate: -0.5rem 0.625rem;
    rotate: -7deg;
  }
}
@keyframes fvShapeDrift {
  0%, 100% {
    translate: 0 0;
    rotate: 0deg;
  }
  33% {
    translate: 0.625rem -1.125rem;
    rotate: 9deg;
  }
  66% {
    translate: -0.5rem 0.625rem;
    rotate: -7deg;
  }
}
.p-outline__list {
  border-top: 1px solid #e4ddd2;
}
.p-outline__row {
  display: grid;
  grid-template-columns: 12.5rem 1fr;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  gap: 1.5rem;
  padding: 1.5rem 0.5rem;
  border-bottom: 1px solid #e4ddd2;
}
@media screen and (max-width: 39.9375rem) {
  .p-outline__row {
    grid-template-columns: 1fr;
    gap: 0.375rem;
    padding: 1.125rem 0.25rem;
  }
}
.p-outline__term {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.7;
  color: #2c6e54;
}
@media screen and (max-width: 39.9375rem) {
  .p-outline__term {
    font-size: 0.875rem;
  }
}
.p-outline__desc {
  font-size: 1rem;
  line-height: 1.9;
}
@media screen and (max-width: 39.9375rem) {
  .p-outline__desc {
    font-size: 0.9375rem;
  }
}
.p-outline__desc-note {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.875rem;
  color: #5a5254;
}
@media screen and (max-width: 39.9375rem) {
  .p-outline__desc-note {
    font-size: 0.8125rem;
  }
}

.p-area__lead {
  margin-bottom: 3rem;
  font-size: 1.0625rem;
  line-height: 1.9;
  text-align: center;
}
@media screen and (max-width: 39.9375rem) {
  .p-area__lead {
    margin-bottom: 2rem;
    font-size: 0.9375rem;
    text-align: left;
  }
}
.p-area__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.75rem;
}
@media screen and (max-width: 63.9375rem) {
  .p-area__list {
    gap: 1.25rem;
  }
}
@media screen and (max-width: 39.9375rem) {
  .p-area__list {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
}

.p-timetable__list {
  padding-left: 2rem;
}
@media screen and (max-width: 39.9375rem) {
  .p-timetable__list {
    padding-left: 1.375rem;
  }
}
.p-timetable__item {
  --dot-x: -1.375rem;
  --dot-size: 1rem;
  --rail-w: 0.25rem;
  --gap-y: 1rem;
  position: relative;
  display: grid;
  grid-template-columns: 11.25rem 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem;
  margin-bottom: var(--gap-y);
  padding: 1.25rem 1.75rem;
  border-radius: 1.125rem;
  background-color: #ffffff;
  border: 0.125rem solid #e4ddd2;
}
.p-timetable__item:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 39.9375rem) {
  .p-timetable__item {
    --dot-x: -0.9375rem;
    --dot-size: 0.75rem;
    --rail-w: 0.1875rem;
    --gap-y: 0.75rem;
    grid-template-columns: 1fr;
    gap: 0.375rem;
    padding: 1rem 1.125rem;
    border-radius: 0.875rem;
  }
}
.p-timetable__item::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: 0;
  bottom: calc(var(--gap-y) * -1);
  left: var(--dot-x);
  width: var(--rail-w);
  border-radius: var(--rail-w);
  background-color: #e8f3ee;
  translate: -50% 0;
}
.p-timetable__item:first-child::after {
  top: 50%;
}
.p-timetable__item:last-child::after {
  bottom: 50%;
}
.p-timetable__item::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 50%;
  left: var(--dot-x);
  width: var(--dot-size);
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: #378a69;
  border: 0.1875rem solid #fffdf7;
  translate: -50% -50%;
}
.p-timetable__item--highlight {
  border-color: #ed7987;
  background-color: #fdeef0;
}
.p-timetable__item--highlight::before {
  background-color: #ed7987;
}
.p-timetable__item--sub {
  border-color: #884798;
  background-color: rgba(136, 71, 152, 0.06);
}
.p-timetable__item--sub::before {
  background-color: #884798;
}
.p-timetable__item--tbd {
  border-style: dashed;
  background-color: transparent;
}
.p-timetable__item--tbd::before {
  background-color: #e4ddd2;
}
.p-timetable__time {
  font-size: 1.1875rem;
  font-weight: 700;
  line-height: 1.4;
  color: #2c6e54;
  white-space: nowrap;
}
@media screen and (max-width: 39.9375rem) {
  .p-timetable__time {
    font-size: 1rem;
  }
}
.p-timetable__item--highlight .p-timetable__time {
  color: #ed7987;
}
.p-timetable__item--sub .p-timetable__time {
  color: #884798;
}
.p-timetable__item--tbd .p-timetable__time {
  color: #5a5254;
}
.p-timetable__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem 0.75rem;
}
.p-timetable__title {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 39.9375rem) {
  .p-timetable__title {
    font-size: 1rem;
  }
}
.p-timetable__performer {
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.5;
  color: #5a5254;
}
@media screen and (max-width: 39.9375rem) {
  .p-timetable__performer {
    font-size: 0.8125rem;
  }
}
.p-timetable__note {
  margin-top: 1.5rem;
  font-size: 0.875rem;
  line-height: 1.8;
  color: #5a5254;
}
@media screen and (max-width: 39.9375rem) {
  .p-timetable__note {
    margin-top: 1.25rem;
    font-size: 0.8125rem;
  }
}

.p-contest {
  position: relative;
  overflow: hidden;
  background-color: #884798;
  color: #ffffff;
}
.p-contest::before, .p-contest::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
.p-contest::before {
  top: -5.625rem;
  right: -4.375rem;
  width: 17.5rem;
  aspect-ratio: 1;
  background-color: rgba(247, 206, 84, 0.18);
}
.p-contest::after {
  bottom: -6.875rem;
  left: -5rem;
  width: 16.25rem;
  aspect-ratio: 1;
  background-color: rgba(237, 121, 135, 0.2);
}
.p-contest__deco {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.p-contest__illust {
  position: absolute;
  opacity: 0.9;
  -webkit-animation: contestIllustFloat 6s ease-in-out infinite;
          animation: contestIllustFloat 6s ease-in-out infinite;
}
.p-contest__illust--ghost {
  top: 3rem;
  left: 2.5rem;
  width: 6.5rem;
}
@media screen and (max-width: 63.9375rem) {
  .p-contest__illust--ghost {
    top: 1.25rem;
    left: 0.75rem;
    width: 4.375rem;
  }
}
@media screen and (max-width: 39.9375rem) {
  .p-contest__illust--ghost {
    width: 3.25rem;
    opacity: 0.55;
  }
}
.p-contest__illust--skull {
  right: 3.5rem;
  bottom: 3.5rem;
  width: 4.5rem;
  -webkit-animation-duration: 7s;
          animation-duration: 7s;
  -webkit-animation-delay: 0.9s;
          animation-delay: 0.9s;
}
@media screen and (max-width: 63.9375rem) {
  .p-contest__illust--skull {
    right: 0.875rem;
    bottom: 1rem;
    width: 3.25rem;
  }
}
@media screen and (max-width: 39.9375rem) {
  .p-contest__illust--skull {
    width: 2.625rem;
    opacity: 0.55;
  }
}
.p-contest__illust--bat {
  top: 4.5rem;
  right: 3.25rem;
  width: 5.375rem;
  -webkit-animation-duration: 5.4s;
          animation-duration: 5.4s;
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}
@media screen and (max-width: 63.9375rem) {
  .p-contest__illust--bat {
    display: none;
  }
}
.p-contest__inner {
  position: relative;
  z-index: 1;
}
.p-contest__lead {
  margin-bottom: 2.5rem;
  font-size: 1.125rem;
  line-height: 1.9;
  text-align: center;
}
@media screen and (max-width: 39.9375rem) {
  .p-contest__lead {
    margin-bottom: 1.75rem;
    font-size: 0.9375rem;
    text-align: left;
  }
}
.p-contest__box {
  margin-bottom: 2rem;
  padding: 2.5rem;
  border-radius: 1.5rem;
  background-color: rgba(255, 255, 255, 0.1);
}
@media screen and (max-width: 39.9375rem) {
  .p-contest__box {
    margin-bottom: 1.5rem;
    padding: 1.5rem 1.25rem;
    border-radius: 1.125rem;
  }
}
.p-contest__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem 2.5rem;
}
@media screen and (max-width: 39.9375rem) {
  .p-contest__list {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
}
.p-contest__row {
  display: grid;
  grid-template-columns: 8.75rem 1fr;
  gap: 1rem;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  padding-bottom: 0.875rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.24);
}
@media screen and (max-width: 39.9375rem) {
  .p-contest__row {
    grid-template-columns: 6rem 1fr;
    gap: 0.625rem;
    padding-bottom: 0.625rem;
  }
}
.p-contest__term {
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.6;
  color: #f7ce54;
}
@media screen and (max-width: 39.9375rem) {
  .p-contest__term {
    font-size: 0.8125rem;
  }
}
.p-contest__desc {
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 39.9375rem) {
  .p-contest__desc {
    font-size: 0.9375rem;
  }
}
.p-contest__notes {
  margin-bottom: 2rem;
}
@media screen and (max-width: 39.9375rem) {
  .p-contest__notes {
    margin-bottom: 1.5rem;
  }
}
.p-contest__note-item {
  position: relative;
  margin-bottom: 0.5rem;
  padding-left: 1.25rem;
  font-size: 0.875rem;
  line-height: 1.8;
}
.p-contest__note-item:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 39.9375rem) {
  .p-contest__note-item {
    padding-left: 1rem;
    font-size: 0.8125rem;
  }
}
.p-contest__note-item::before {
  content: "";
  position: absolute;
  top: 0.6875rem;
  left: 0.25rem;
  width: 0.375rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: #f7ce54;
}
@media screen and (max-width: 39.9375rem) {
  .p-contest__note-item::before {
    top: 0.5625rem;
    left: 0;
    width: 0.3125rem;
  }
}
.p-contest__action {
  text-align: center;
}
.p-contest__action-note {
  margin-top: 0.875rem;
  font-size: 0.875rem;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.86);
}
@media screen and (max-width: 39.9375rem) {
  .p-contest__action-note {
    font-size: 0.8125rem;
  }
}

@-webkit-keyframes contestIllustFloat {
  0%, 100% {
    translate: 0 0;
    rotate: 0deg;
  }
  50% {
    translate: 0 -0.625rem;
    rotate: 3deg;
  }
}

@keyframes contestIllustFloat {
  0%, 100% {
    translate: 0 0;
    rotate: 0deg;
  }
  50% {
    translate: 0 -0.625rem;
    rotate: 3deg;
  }
}
.p-map__figure {
  margin-bottom: 1.5rem;
  padding: 1.5rem;
  border-radius: 1.5rem;
  background-color: #ffffff;
  border: 0.1875rem solid #e4ddd2;
}
@media screen and (max-width: 39.9375rem) {
  .p-map__figure {
    margin-bottom: 1.25rem;
    padding: 0.75rem;
    border-radius: 1rem;
  }
}
.p-map__image {
  width: 100%;
  border-radius: 0.75rem;
}
.p-map__placeholder {
  display: grid;
  place-items: center;
  gap: 0.625rem;
  aspect-ratio: 16/10;
  border-radius: 0.75rem;
  background-color: #e8f3ee;
  border: 0.1875rem dashed #378a69;
  text-align: center;
}
@media screen and (max-width: 39.9375rem) {
  .p-map__placeholder {
    aspect-ratio: 4/3;
  }
}
.p-map__placeholder-text {
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.7;
  color: #2c6e54;
}
@media screen and (max-width: 39.9375rem) {
  .p-map__placeholder-text {
    font-size: 0.875rem;
  }
}
.p-map__caption {
  font-size: 0.875rem;
  line-height: 1.8;
  color: #5a5254;
  text-align: center;
}
@media screen and (max-width: 39.9375rem) {
  .p-map__caption {
    font-size: 0.8125rem;
    text-align: left;
  }
}

.p-exhibitors__lead {
  margin-bottom: 2.5rem;
  font-size: 1.0625rem;
  line-height: 1.9;
  text-align: center;
}
@media screen and (max-width: 39.9375rem) {
  .p-exhibitors__lead {
    margin-bottom: 1.75rem;
    font-size: 0.9375rem;
    text-align: left;
  }
}
.p-exhibitors__group {
  margin-bottom: 3.5rem;
}
.p-exhibitors__group:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 39.9375rem) {
  .p-exhibitors__group {
    margin-bottom: 2.5rem;
  }
}
.p-exhibitors__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}
@media screen and (max-width: 63.9375rem) {
  .p-exhibitors__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 39.9375rem) {
  .p-exhibitors__list {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}
.p-exhibitors__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.625rem;
  height: 100%;
  padding: 1.5rem 1.375rem;
  border-radius: 1.125rem;
  background-color: #ffffff;
  border: 0.125rem solid #e4ddd2;
}
@media screen and (max-width: 39.9375rem) {
  .p-exhibitors__item {
    gap: 0.5rem;
    padding: 1.25rem 1.125rem;
    border-radius: 0.875rem;
  }
}
.p-exhibitors__item-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.625rem;
}
.p-exhibitors__item-name {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 39.9375rem) {
  .p-exhibitors__item-name {
    font-size: 1rem;
  }
}
.p-exhibitors__item-text {
  font-size: 0.875rem;
  line-height: 1.8;
  color: #5a5254;
}
@media screen and (max-width: 39.9375rem) {
  .p-exhibitors__item-text {
    font-size: 0.8125rem;
  }
}
.p-exhibitors__item-link {
  margin-top: auto;
  padding-top: 0.375rem;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.6;
  color: #378a69;
  text-decoration: underline;
  text-underline-offset: 0.1875rem;
}
@media (hover: hover) {
  .p-exhibitors__item-link:hover {
    color: #ed7987;
  }
}
@media screen and (max-width: 39.9375rem) {
  .p-exhibitors__item-link {
    font-size: 0.8125rem;
  }
}
.p-exhibitors__action {
  margin-top: 3rem;
  text-align: center;
}
@media screen and (max-width: 39.9375rem) {
  .p-exhibitors__action {
    margin-top: 2rem;
  }
}

.p-access__body {
  display: grid;
  gap: 2.25rem;
}
@media screen and (max-width: 39.9375rem) {
  .p-access__body {
    gap: 1.5rem;
  }
}
.p-access__info {
  display: grid;
  gap: 0.75rem;
}
.p-access__map {
  overflow: hidden;
  width: 100%;
  border-radius: 1.5rem;
  border: 0.1875rem solid #e4ddd2;
  aspect-ratio: 2/1;
}
@media screen and (max-width: 63.9375rem) {
  .p-access__map {
    aspect-ratio: 16/9;
  }
}
@media screen and (max-width: 39.9375rem) {
  .p-access__map {
    border-radius: 1rem;
    aspect-ratio: 1;
  }
}
.p-access__iframe {
  width: 100%;
  height: 100%;
  border: 0;
}
.p-access__route {
  margin-bottom: 0;
}
.p-access__route-item {
  position: relative;
  margin-bottom: 0.625rem;
  padding-left: 1.375rem;
  font-size: 1rem;
  line-height: 1.8;
}
.p-access__route-item:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 39.9375rem) {
  .p-access__route-item {
    padding-left: 1.125rem;
    font-size: 0.875rem;
  }
}
.p-access__route-item::before {
  content: "";
  position: absolute;
  top: 0.75rem;
  left: 0.25rem;
  width: 0.4375rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: #3aa7c2;
}
@media screen and (max-width: 39.9375rem) {
  .p-access__route-item::before {
    top: 0.625rem;
    left: 0;
    width: 0.375rem;
  }
}

.p-contact__lead {
  margin-bottom: 2rem;
  font-size: 1.0625rem;
  line-height: 1.9;
  text-align: center;
}
@media screen and (max-width: 39.9375rem) {
  .p-contact__lead {
    margin-bottom: 1.5rem;
    font-size: 0.9375rem;
    text-align: left;
  }
}
.p-contact__box {
  margin-bottom: 3rem;
  padding: 2.5rem;
  border-radius: 1.5rem;
  background-color: #ffffff;
  border: 0.1875rem solid #378a69;
  text-align: center;
}
@media screen and (max-width: 39.9375rem) {
  .p-contact__box {
    margin-bottom: 2rem;
    padding: 1.5rem 1.25rem;
    border-radius: 1.125rem;
  }
}
.p-contact__org {
  margin-bottom: 1rem;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 39.9375rem) {
  .p-contact__org {
    font-size: 1rem;
  }
}
.p-contact__link {
  display: inline-block;
  margin-bottom: 0.5rem;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.6;
  color: #378a69;
  text-decoration: underline;
  text-underline-offset: 0.25rem;
  word-break: break-all;
}
@media (hover: hover) {
  .p-contact__link:hover {
    color: #ed7987;
  }
}
@media screen and (max-width: 39.9375rem) {
  .p-contact__link {
    font-size: 1rem;
  }
}
.p-contact__tel {
  font-size: 1rem;
  line-height: 1.7;
}
@media screen and (max-width: 39.9375rem) {
  .p-contact__tel {
    font-size: 0.875rem;
  }
}

.p-credit__list {
  display: grid;
  gap: 1.25rem;
}
.p-credit__row {
  display: grid;
  grid-template-columns: 6rem 1fr;
  gap: 1.25rem;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  padding-bottom: 1rem;
  border-bottom: 1px solid #e4ddd2;
}
@media screen and (max-width: 39.9375rem) {
  .p-credit__row {
    grid-template-columns: 1fr;
    gap: 0.375rem;
    padding-bottom: 0.75rem;
  }
}
.p-credit__term {
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.6;
  color: #2c6e54;
}
@media screen and (max-width: 39.9375rem) {
  .p-credit__term {
    font-size: 0.8125rem;
  }
}
.p-credit__desc {
  font-size: 1rem;
  line-height: 1.9;
}
@media screen and (max-width: 39.9375rem) {
  .p-credit__desc {
    font-size: 0.875rem;
  }
}
.p-credit__orgs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
.p-credit__org:not(:last-child)::after {
  content: "／";
  margin-inline: 0.0625rem;
  color: #5a5254;
}

.p-sns {
  text-align: center;
}
.p-sns__lead {
  margin-bottom: 2rem;
  font-size: 1.0625rem;
  line-height: 1.9;
}
@media screen and (max-width: 39.9375rem) {
  .p-sns__lead {
    margin-bottom: 1.5rem;
    font-size: 0.9375rem;
  }
}
.p-sns__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.25rem;
}
.p-sns__link {
  display: grid;
  place-items: center;
  width: 4rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: #ffffff;
  border: 0.125rem solid #e4ddd2;
  -webkit-transition: border-color 0.3s ease, color 0.3s ease, translate 0.2s ease;
  transition: border-color 0.3s ease, color 0.3s ease, translate 0.2s ease;
}
@media (hover: hover) {
  .p-sns__link:hover {
    border-color: #378a69;
    color: #378a69;
    translate: 0 -0.1875rem;
  }
}
@media screen and (max-width: 39.9375rem) {
  .p-sns__link {
    width: 3.375rem;
  }
}
.p-sns__icon {
  width: 1.625rem;
  height: 1.625rem;
  fill: currentColor;
}
@media screen and (max-width: 39.9375rem) {
  .p-sns__icon {
    width: 1.375rem;
    height: 1.375rem;
  }
}

.p-pagehead {
  position: relative;
  overflow: hidden;
  padding: 4rem 0 3.5rem;
  background-color: #e8f3ee;
  text-align: center;
}
@media screen and (max-width: 39.9375rem) {
  .p-pagehead {
    padding: 2.25rem 0 2rem;
  }
}
.p-pagehead::before, .p-pagehead::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
.p-pagehead::before {
  top: -4.375rem;
  left: -3.75rem;
  width: 12.5rem;
  aspect-ratio: 1;
  background-color: rgba(247, 206, 84, 0.26);
}
.p-pagehead::after {
  right: -4.375rem;
  bottom: -5.625rem;
  width: 13.75rem;
  aspect-ratio: 1;
  background-color: rgba(58, 167, 194, 0.18);
}
.p-pagehead__inner {
  position: relative;
  z-index: 1;
}
.p-pagehead__lead {
  margin-top: 1rem;
  font-size: 1rem;
  line-height: 1.9;
}
@media screen and (max-width: 39.9375rem) {
  .p-pagehead__lead {
    margin-top: 0.75rem;
    font-size: 0.875rem;
  }
}

.p-breadcrumb {
  padding: 1rem 0;
}
.p-breadcrumb__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
  line-height: 1.6;
  color: #5a5254;
}
@media screen and (max-width: 39.9375rem) {
  .p-breadcrumb__list {
    font-size: 0.75rem;
  }
}
.p-breadcrumb__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
}
.p-breadcrumb__item:not(:last-child)::after {
  content: "";
  width: 0.375rem;
  height: 0.375rem;
  border-top: 0.125rem solid #e4ddd2;
  border-right: 0.125rem solid #e4ddd2;
  rotate: 45deg;
}
.p-breadcrumb__link {
  color: #378a69;
  text-decoration: underline;
  text-underline-offset: 0.1875rem;
}
@media (hover: hover) {
  .p-breadcrumb__link:hover {
    color: #ed7987;
  }
}

@media screen and (min-width: 48rem) {
  .u-dn-md-min {
    display: none;
  }
}

@media screen and (max-width: 47.9375rem) {
  .u-dn-md-max {
    display: none;
  }
}

.u-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}/*# sourceMappingURL=style.css.map */