@charset "UTF-8";

body.is-oy-lp .sp-fix-list,
body.is-oy-footer .sp-fix-list {
  display: none;
}

.p-oy-howto__btn:hover,
.p-oy-booth__card:hover,
.p-oy-reserve__btn:hover,
.p-oy-pickup__btn:hover {
  opacity: 0.8;
}
.p-oy-howto__btn img:hover,
.p-oy-booth__card img:hover,
.p-oy-reserve__btn img:hover,
.p-oy-pickup__btn img:hover {
  opacity: 1;
}
.p-oy-howto__btn.is-disabled:hover {
  opacity: 1;
}
.p-oy-howto__btn.is-disabled {
  background: #d9d9d9;
  box-shadow: none;
  color: #8a8a8a;
  cursor: default;
  pointer-events: none;
}

@keyframes oy-poyopoyo {
  0%,
  100% {
    transform: translateY(0) rotate(-1.2deg);
  }
  50% {
    transform: translateY(-14px) rotate(1.2deg);
  }
}

@keyframes oy-hanabi-burst {
  0% {
    opacity: 0;
    transform: scale(0.2);
  }
  14% {
    opacity: 1;
  }
  48% {
    opacity: 0.75;
  }
  100% {
    opacity: 0;
    transform: scale(1.38);
  }
}

.p-oy-fv .p-oy-fv__illust--right01,
.p-oy-fv .p-oy-fv__illust--right02,
.p-oy-fv .p-oy-fv__illust--right03,
.p-oy-fv .p-oy-fv__illust--left01,
.p-oy-fv .p-oy-fv__illust--left02,
.p-oy-fv .fv-panel-illust {
  animation: oy-poyopoyo 2s ease-in-out infinite;
  transform-origin: center bottom;
  will-change: transform;
}

.p-oy-fv .p-oy-fv__illust--right01 {
  /* animation-duration: 2s; */
  /* animation-delay: 0s; */
}

.p-oy-fv .p-oy-fv__illust--right02 {
  animation-duration: 2.3s;
  animation-delay: 0.15s;
}

.p-oy-fv .p-oy-fv__illust--right03 {
  animation-duration: 2.1s;
  animation-delay: 0.3s;
}

.p-oy-fv .p-oy-fv__illust--left01 {
  animation-duration: 2.2s;
  animation-delay: 0.1s;
}

.p-oy-fv .p-oy-fv__illust--left02 {
  animation-duration: 1.9s;
  animation-delay: 0.25s;
}

.p-oy-fv .fv-panel-illust {
  animation-duration: 2.15s;
  animation-delay: 0.4s;
}

.p-oy-rec .p-oy-rec__hanabi,
.p-oy-invite .p-oy-invite__illust--hanabi {
  animation: oy-hanabi-burst 2.2s cubic-bezier(0.22, 0.61, 0.36, 1) infinite;
  transform-origin: center center;
  will-change: opacity, transform;
}

.p-oy-rec .p-oy-rec__hanabi {
  animation-duration: 2.3s;
  animation-delay: 0.2s;
}

.p-oy-invite .p-oy-invite__illust--left,
.p-oy-invite .p-oy-invite__illust--right {
  animation: oy-poyopoyo 2.2s ease-in-out infinite;
  transform-origin: center bottom;
  will-change: transform;
}

.p-oy-reserve .p-oy-reserve__balloon {
  animation: oy-poyopoyo 2.4s ease-in-out infinite;
  transform-origin: center bottom;
  will-change: transform;
}

.p-oy-invite .p-oy-invite__illust--left {
  animation-duration: 2.1s;
  animation-delay: 0.1s;
}

.p-oy-invite .p-oy-invite__illust--right {
  animation-duration: 2.3s;
  animation-delay: 0.25s;
}

.p-oy-invite .p-oy-invite__illust--hanabi {
  animation-duration: 2.45s;
  animation-delay: 0.85s;
}

@media (prefers-reduced-motion: reduce) {
  .p-oy-fv .p-oy-fv__illust--right01,
  .p-oy-fv .p-oy-fv__illust--right02,
  .p-oy-fv .p-oy-fv__illust--right03,
  .p-oy-fv .p-oy-fv__illust--left01,
  .p-oy-fv .p-oy-fv__illust--left02,
  .p-oy-fv .fv-panel-illust,
  .p-oy-rec .p-oy-rec__hanabi,
  .p-oy-invite .p-oy-invite__illust--left,
  .p-oy-invite .p-oy-invite__illust--right,
  .p-oy-invite .p-oy-invite__illust--hanabi,
  .p-oy-reserve .p-oy-reserve__balloon {
    animation: none;
  }
  .p-oy-reserve .p-oy-reserve__gondola {
    transition: none !important;
  }
}

@keyframes oy-loop-slide {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}


/* ========================================
   @media screen and (min-width: 768px),print
======================================== */
@media screen and (min-width: 768px),print {
/* fv
-------------------------------------*/
.p-oy-fv {
  background: url(../images/oshigotoyuenchi/fv-bg.jpg) no-repeat center top / cover;
  position: relative;
  margin-bottom: -87px;
}
.p-oy-fv .p-oy-fv__cloud {
  left: 73px;
  mix-blend-mode: screen;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: min(95%, 1774px);
}
.p-oy-fv .p-oy-fv__cloud img {
  width: 100%;
  height: auto;
}

/* inner */
.p-oy-fv .p-oy-fv__inner {
  padding-block: 40px 128px;
  position: relative;
  z-index: 2;
  width: min(95%, 1774px);
  margin-inline: auto;
}
/* イラスト（右側） */
.p-oy-fv .p-oy-fv__illust--right01 {
  position: absolute;
  top: 51px;
  right: 219px;
  width: min(95%, 143px);
}
.p-oy-fv .p-oy-fv__illust--right01 img {
  width: 100%;
  height: auto;
}
.p-oy-fv .p-oy-fv__illust--right02 {
  position: absolute;
  top: 136px;
  right: 395px;
  width: min(95%, 150px);
}
.p-oy-fv .p-oy-fv__illust--right02 img {
  width: 100%;
  height: auto;
}
.p-oy-fv .p-oy-fv__illust--right03 {
  position: absolute;
  top: 406px;
  right: 258px;
  width: min(95%, 123px);
}
.p-oy-fv .p-oy-fv__illust--right03 img {
  width: 100%;
  height: auto;
}
.p-oy-fv .p-oy-fv__kids {
  position: absolute;
  top: 437px;
  right: 396px;
  width: min(95%, 120px);
  height: auto;
}
.p-oy-fv .p-oy-fv__kids img {
  width: 100%;
  height: auto;
}
/* イラスト（左側） */
.p-oy-fv .p-oy-fv__illust--left01 {
  left: 173px;
  position: absolute;
  top: 150px;
  width: min(95%, 226px);
}
.p-oy-fv .p-oy-fv__illust--left01 img {
  width: 100%;
  height: auto;
}
.p-oy-fv .p-oy-fv__illust--left02 {
  left: 267px;
  position: absolute;
  top: 424px;
  width: min(95%, 135px);
}
.p-oy-fv .p-oy-fv__illust--left02 img {
  width: 100%;
  height: auto;
}

/* ロゴ */
.p-oy-fv .p-oy-fv__logo {
  width: min(95%, 410px);
  margin-inline: auto;
  margin-bottom: 10px;
}
.p-oy-fv .p-oy-fv__logo img {
  width: 100%;
  height: auto;
}
.p-oy-fv .p-oy-fv__lead {
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
  text-align: center;
  margin-bottom: 53px;
}

/* キャッチコピー + タイトル */
.p-oy-fv .p-oy-fv__catch {
  width: min(95%, 594px);
  margin-inline: auto;
  margin-bottom: 15px;
  position: relative;
}
.p-oy-fv .p-oy-fv__catch img {
  width: 100%;
  height: auto;
}
.p-oy-fv .p-oy-fv__catch::before {
  position: absolute;
  content: "";
  background: url(../images/oshigotoyuenchi/fv-catch-deco.svg) no-repeat center center / contain;
  width: 95px;
  height: 44px;
  top: -37px;
  left: -108px;
}
.p-oy-fv .p-oy-fv__ttl {
  width: min(95%, 903px);
  margin-inline: auto;
  margin-bottom: 32px;
}
.p-oy-fv .p-oy-fv__ttl img {
  width: 100%;
  height: auto;
}
.p-oy-fv .p-oy-fv__sub {
  font-size: 28px;
  font-weight: 500;
  letter-spacing: 0.071em;
  line-height: 2;
  text-align: center;
  margin-bottom: 25px;
}

/* 開催日時 */
.p-oy-info__panel {
  position: relative;
  width: min(95%, 880px);
  margin-inline: auto;
}
.p-oy-info__panel .illust {
  position: absolute;
  top: -180px;
  left: 42px;
  width: min(95%, 90px);
}
.p-oy-info__panel .illust img {
  width: 100%;
  height: auto;
}
.p-oy-info__badge {
  align-content: center;
  background: #f6da1e;
  border-radius: 50%;
  display: grid;
  font-size: 32px;
  font-weight: 500;
  height: 200px;
  letter-spacing: 0.0625em;
  line-height: 1;
  place-items: center;
  position: absolute;
  right: -100px;
  text-align: center;
  top: -81px;
  width: 200px;
  z-index: 2;
}
.p-oy-info__badge span {
  display: block;
  position: relative;
}
.p-oy-info__badge span + span {
  margin-top: 16px;
}
.p-oy-info__badge span:before {
  background: #fff;
  content: "";
  height: 13px;
  left: 50%;
  position: absolute;
  top: calc(100% + -8px);
  transform: translateX(-50%);
  width: 135px;
  z-index: -1;
}
.p-oy-info__wrap {
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 20px 40px rgba(51, 51, 51, 0.2);
  overflow: hidden;
  width: min(100%, 880px);
}
.p-oy-info__head {
  background: #e88c34;
  color: #fff;
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.083em;
  line-height: 1;
  padding-block: 13px;
  text-align: center;
}
.p-oy-info__body {
  padding-block: 19px 33px;
  padding-inline: 102px 70px;
}
.p-oy-info__date {
  align-items: flex-end;
  display: flex;
  gap: 0 10px;
  margin-bottom: 17px;
}
.p-oy-info__date-ymd {
  align-items: baseline;
  display: flex;
  letter-spacing: 0.036em;
}
.p-oy-info__date-year,
.p-oy-info__date-slash {
  font-size: 32px;
  line-height: 1;
  letter-spacing: 0.0625em;
}
.p-oy-info__date-year {
  margin-right: -3px;
}
.p-oy-info__date-month,
.p-oy-info__date-day {
  font-size: 56px;
  line-height: 1;
  letter-spacing: 0.03571em;
}
.p-oy-info__date-slash {
  margin-inline: 3px 2px;
}
.p-oy-info__date-dot {
  font-size: 32px;
  line-height: 1;
  margin-left: -4px;
  position: relative;
  top: -5px;
}
.p-oy-info__week {
  align-items: center;
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  font-size: 18px;
  font-weight: 500;
  height: 32px;
  justify-content: center;
  letter-spacing: 0.111em;
  line-height: 1;
  margin-left: 2px;
  width: 32px;
  position: relative;
  top: -5px;
}
.p-oy-info__week--fri {
  background: #c18a5a;
}
.p-oy-info__week--sat {
  background: #687bb4;
}
.p-oy-info__time {
  border-bottom: 1px solid #3a3a3a;
  border-top: 1px solid #3a3a3a;
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.083em;
  line-height: 1;
  padding-block: 10px;
  white-space: nowrap;
  width: min(100%,241px);
  margin: 0 0 2px;
}
/* 開催場所 */
.p-oy-info__place {
  align-items: center;
  display: grid;
  gap: 0 14px;
  grid-template-columns: 22.02% 23.49% 1fr;
  width: min(100%,681px);
  margin-left: 51px;
  margin-bottom: 26px;
}
.p-oy-info__place-label {
  border: 1px solid #3a3a3a;
  border-radius: 2px;
  font-size: 24px;
  letter-spacing: 0.083em;
  line-height: 1;
  padding-block: 8px;
  text-align: center;
  white-space: nowrap;
}
.p-oy-info__place-name {
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.083em;
  line-height: 1;
  white-space: nowrap;
}
.p-oy-info__place-addr {
  font-size: 20px;
  letter-spacing: 0;
  line-height: 1.2;
}
/* 注意事項 */
.p-oy-info__note {
  line-height: 1;
  text-align: center;
  margin-left: 12px;
}
.p-oy-info__note .is-em {
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0;
}
.p-oy-info__note .is-sub {
  font-size: 18px;
  letter-spacing: 0;
}

/* ループ画像 */
.p-oy-bg-slide {
  overflow: hidden;
  position: relative;
}
.p-oy-bg-slide .loop__box {
  animation: oy-loop-slide 50s linear infinite;
  display: flex;
  width: max-content;
}
.p-oy-bg-slide .loop__box img {
  flex-shrink: 0;
  height: auto;
  width: 146.435vw;
}

/* recommend
-------------------------------------*/
.p-oy-rec {
  padding-block: 60px 180px;
  position: relative;
}
.p-oy-rec .p-oy-rec__box {
  background: #edecde;
  border-radius: 40px;
  margin-inline: auto;
  position: relative;
  width: min(95%, 1600px);
  padding-block: 90px 100px;
}
.p-oy-rec .p-oy-rec__illust {
  position: absolute;
  right: 445px;
  top: 30px;
  width: 92px;
  z-index: 2;
}
.p-oy-rec .p-oy-rec__illust img {
  height: auto;
  width: 100%;
}
.p-oy-rec .p-oy-rec__ttl {
  font-size: 40px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.4;
  margin-inline: auto;
  position: relative;
  text-align: center;
  width: fit-content;
  margin-bottom: 40px;
}
.p-oy-rec .p-oy-rec__dots {
  display: grid;
  gap: 32px;
  grid-template-columns: repeat(4, 10px);
  justify-content: end;
  pointer-events: none;
  position: absolute;
  right: 20px;
  top: -10px;
}
.p-oy-rec .p-oy-rec__dots span {
  background: #f6da1e;
  border-radius: 50%;
  display: block;
  height: 10px;
  width: 10px;
}
.p-oy-rec .p-oy-rec__rows {
  width: min(95%, 1400px);
  margin-inline: auto;
}
.p-oy-rec .p-oy-rec__row {
  column-gap: 2.857%;
  display: grid;
  grid-template-columns: repeat(3, 31.429%);
  justify-content: center;
}
.p-oy-rec .p-oy-rec__row--2 {
  grid-template-columns: 31.429% 31.429%;
  margin-top: 40px;
}
.p-oy-rec .p-oy-rec__item {
  align-items: center;
  background: #fbfaed;
  border-radius: 10px;
  color: #3a3a3a;
  display: grid;
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.083em;
  line-height: 1.5;
  min-height: 152px;
  padding: 22px 20px;
  text-align: center;
}
.p-oy-rec .p-oy-rec__hanabi {
  bottom: -180px;
  position: absolute;
  right: 10.25%;
  width: 15.375%;
  z-index: 2;
}
.p-oy-rec .p-oy-rec__hanabi img {
  height: auto;
  width: 100%;
}
.p-oy-rec .p-oy-rec__arrow {
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  height: 104px;
  letter-spacing: 0.1em;
  line-height: 1;
  margin: -25px auto 0;
  position: relative;
  text-align: center;
  width: min(95%, 260px);
  z-index: 3;
  background: url(../images/oshigotoyuenchi/rec-arrow-bg.svg) no-repeat center center / cover;
}
.p-oy-rec .p-oy-rec__arrow span {
  display: block;
  padding-top: 25px;
  position: relative;
}

/* invite
-------------------------------------*/
.p-oy-invite {
  margin-top: -173px;
  position: relative;
  z-index: 1;
}
.p-oy-invite .p-oy-invite__illust {
  position: absolute;
  z-index: 2;
}
.p-oy-invite .p-oy-invite__illust img {
  height: auto;
  width: 100%;
}
.p-oy-invite .p-oy-invite__illust--left {
  left: 320px;
  top: -15px;
  width: 144px;
}
.p-oy-invite .p-oy-invite__illust--hanabi {
  left: 20.104%;
  top: 312px;
  width: 175px;
}
.p-oy-invite .p-oy-invite__illust--right {
  right: 17.25%;
  top: 256px;
  width: 207px;
}
.p-oy-invite .p-oy-invite__catch {
  margin-inline: auto;
  margin-bottom: 17px;
  position: relative;
  width: min(95%, 594px);
  z-index: 3;
}
.p-oy-invite .p-oy-invite__catch img {
  height: auto;
  width: 100%;
}
.p-oy-invite .p-oy-invite__ttl {
  margin-inline: auto;
  position: relative;
  text-align: center;
  width: min(95%, 926px);
  z-index: 3;
  margin-bottom: 19px;
}
.p-oy-invite .p-oy-invite__ttl img {
  height: auto;
  width: 100%;
}
.p-oy-invite .p-oy-invite__wave img {
  display: block;
  height: auto;
  width: 100%;
}

/* howto
-------------------------------------*/
/* common */
.p-oy-howto {
  background: #fbfaed;
  margin-bottom: 155px;
  padding-block: 40px 120px;
  position: relative;
}
.p-oy-howto .p-oy-howto__head {
  text-align: center;
  margin-bottom: 160px;
}
.p-oy-howto .p-oy-howto__en {
  color: #c18a5a;
  display: block;
  font-size: 56px;
  font-weight: 700;
  letter-spacing: 0.036em;
  line-height: 1;
}
.p-oy-howto .p-oy-howto__ja {
  color: #3a3a3a;
  display: block;
  font-size: 32px;
  font-weight: 500;
  letter-spacing: 0.063em;
  line-height: 1;
  margin-top: 24px;
}
.p-oy-howto .p-oy-howto__step {
  background: #fff;
  border: 4px solid #78643f;
  border-radius: 40px;
  margin-inline: auto;
  padding-block: 116px 96px;
  position: relative;
  width: min(95%, 1440px);
}
.p-oy-howto .p-oy-howto__num {
  align-items: center;
  background: #7db6e8;
  border-radius: 50%;
  color: #fff;
  display: grid;
  font-size: 56px;
  font-weight: 700;
  height: 160px;
  justify-items: center;
  left: 50%;
  letter-spacing: 0.036em;
  line-height: 1;
  position: absolute;
  top: -84px;
  transform: translateX(-50%);
  width: 160px;
}
.p-oy-howto .p-oy-howto__step-ttl {
  font-size: 40px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.6;
  margin-bottom: 60px;
  text-align: center;
}
.p-oy-howto .p-oy-howto__step-ttl .is-mark {
  display: inline-block;
  font-size: 50px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.28;
  position: relative;
  z-index: 0;
}
.p-oy-howto .p-oy-howto__step-ttl .is-mark::after {
  background: #f6da1e;
  bottom: -3px;
  content: "";
  height: 24px;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 96.16%;
  z-index: -1;
}
.p-oy-howto .p-oy-howto__step-ttl .is-mark--lg::after {
  width: 96.43%;
}
.p-oy-howto .p-oy-howto__body {
  column-gap: 3.333%;
  display: grid;
  grid-template-columns: 43.333% 53.333%;
  align-items: start;
  width: min(95%, 1200px);
  margin-inline: auto;
}
.p-oy-howto .p-oy-howto__text {
  display: grid;
  gap: 24px;
}
.p-oy-howto .p-oy-howto__lead {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.083em;
  line-height: 1.667;
}
.p-oy-howto .p-oy-howto__text p:not(.p-oy-howto__lead) {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.063em;
  line-height: 1.75;
}
.p-oy-howto .p-oy-howto__text p:not(.p-oy-howto__lead) + p {
  margin-top: -8px;
}
.p-oy-howto .p-oy-howto__text p:not(.p-oy-howto__lead).p-oy-howto__note {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.071em;
  line-height: 1.857;
  text-align: left;
}
.p-oy-howto .p-oy-howto__text p:not(.p-oy-howto__lead).p-oy-howto__note span {
  display: block;
  line-height: 2;
}
.p-oy-howto .p-oy-howto__media {
  position: relative;
}
.p-oy-howto .p-oy-howto__media img {
  display: block;
  height: auto;
  width: 100%;
}
.p-oy-howto .p-oy-howto__btn {
  align-items: center;
  background: #f6da1e;
  border-radius: 2000px;
  box-shadow: 0 10px 20px rgba(58, 58, 58, 0.2);
  display: grid;
  font-size: 24px;
  font-weight: 700;
  grid-template-columns: 1fr auto;
  height: 100px;
  letter-spacing: 0.083em;
  line-height: 1.667;
  margin-inline: auto;
  margin-top: 60px;
  padding-inline: 30px;
  text-align: center;
  text-decoration: none;
  width: min(100%, 640px);
}
.p-oy-howto .p-oy-howto__btn span {
  grid-column: 1 / -1;
  grid-row: 1;
}
.p-oy-howto .p-oy-howto__btn img {
  grid-column: 2;
  grid-row: 1;
  height: auto;
  width: 40px;
}

/* step01 */
.p-oy-howto .p-oy-howto__sticker {
  position: absolute;
  right: -6.25%;
  text-align: center;
  top: -29.4%;
  width: min(95%, 200px);
}

/* step02 */
.p-oy-howto .p-oy-bg-slide {
  margin-top: 40px;
  margin-bottom: 30px;
}
.p-oy-howto .p-oy-bg-slide + .p-oy-howto__step {
  margin-top: 18px;
}
.p-oy-howto .p-oy-howto__step--02 {
  padding-block: 116px 74px;
}
.p-oy-howto .p-oy-howto__num--02 {
  background: #60c1c2;
}

/* zone */
.p-oy-howto .p-oy-howto__step,
.p-oy-howto .p-oy-howto__step--02,
.p-oy-howto .p-oy-howto__step--03,
.p-oy-howto .p-oy-howto__step--04 {
  z-index: 1;
}
.p-oy-howto .p-oy-howto__zone {
  line-height: 0;
  overflow: hidden;
  padding-block: 160px;
  position: relative;
  z-index: 0;
}
.p-oy-howto .p-oy-howto__zone .loop {
  transform: rotate(-6.9deg);
}
.p-oy-howto .p-oy-howto__zone--wakuwaku .loop {
  transform: rotate(6.8deg);
}
.p-oy-howto .p-oy-howto__zone .loop__box {
  animation: oy-loop-slide 50s linear infinite;
  display: flex;
  width: max-content;
}
.p-oy-howto .p-oy-howto__zone .loop__box img {
  display: block;
  flex-shrink: 0;
  height: auto;
  margin-right: 80px;
  width: 2173px;
}
.p-oy-howto .p-oy-howto__zone--attraction .loop__box img {
  width: 2196px;
}
.p-oy-howto .p-oy-howto__zone--wakuwaku {
  margin-bottom: -21px;
  margin-top: -84px;
  position: relative;
  z-index: 0;
}
.p-oy-howto .p-oy-howto__zone--attraction {
  position: relative;
  z-index: 0;
  margin: -197px 0 -96px;
}

/* step03 */
.p-oy-howto .p-oy-howto__step--03 {
  padding-block: 116px 96px;
}
.p-oy-howto .p-oy-howto__num--03 {
  background: #FAC83E;
}
.p-oy-howto .p-oy-howto__step-ttl--03 {
  font-size: 50px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.28;
  margin-bottom: 63px;
}
.p-oy-howto .p-oy-howto__step-ttl--03 .is-mark::after {
  left: 49%;
  width: 101.5%;
}
.p-oy-howto .p-oy-howto__types {
  display: grid;
  gap: 24px 3.125%;
  grid-template-columns: repeat(3, 31.25%);
  list-style: none;
  margin: 0;
  padding: 0;
}
.p-oy-howto .p-oy-howto__type {
  aspect-ratio: 10 / 9;
  background: #edecde;
  border-radius: 20px;
  display: grid;
  gap: 12px;
  grid-template-rows: auto 1fr;
  justify-items: center;
  overflow: hidden;
  padding-top: 20px;
}
.p-oy-howto .p-oy-howto__type-name {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.4;
  text-align: center;
}
.p-oy-howto .p-oy-howto__type img {
  align-self: end;
  display: block;
  height: auto;
  width: 50.5%;
  margin-inline: auto;
}
.p-oy-howto .p-oy-howto__btn--03 {
  background: #fff;
  border: 1px solid #3a3a3a;
  box-shadow: none;
}

/* step04 */
.p-oy-howto .p-oy-howto__step--04 {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 116px 0 0;
  width: 100%;
}
.p-oy-howto .p-oy-howto__num--04 {
  background: #EA5F4E;
}
.p-oy-howto .p-oy-howto__step--04 .p-oy-howto__step-ttl {
  margin-bottom: 38px;
}
.p-oy-howto .p-oy-howto__step--04 .p-oy-howto__step-ttl .is-mark::after {
  width: 74%;
  left: 1%;
  transform: translateX(0%);
}
.p-oy-howto .p-oy-howto__step--04 .p-oy-howto__body {
  display: block;
  text-align: center;
}
.p-oy-howto .p-oy-howto__illust {
  position: absolute;
  z-index: 1;
}
.p-oy-howto .p-oy-howto__illust img {
  display: block;
  height: auto;
  width: 100%;
}
.p-oy-howto .p-oy-howto__illust--left {
  left: 22.917%;
  top: 177px;
  width: 8.333%;
}
.p-oy-howto .p-oy-howto__illust--right {
  left: 70.677%;
  top: 122px;
  width: 4.635%;
}
.p-oy-howto .p-oy-howto__slide .loop__box img {
  margin-right: 8px;
  width: 131.667vw;
}
.p-oy-howto .p-oy-howto__btn--04 {
  background: #fff;
  border: 1px solid #3a3a3a;
  box-shadow: none;
  margin-top: 40px;
  margin-bottom: 16px;
}
.p-oy-howto .p-oy-howto__note {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.0625em;
  text-align: center;
}

/* step05 */
.p-oy-howto .p-oy-howto__step--05 {
  margin-top: 40px;
  overflow: visible;
  z-index: 1;
}
.p-oy-howto .p-oy-howto__num--05 {
  background: #78643f;
}
.p-oy-howto .p-oy-howto__step-ttl--05 {
  font-size: 50px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.28;
}
.p-oy-howto .p-oy-howto__step--05 .p-oy-howto__text p.p-oy-howto__deco-note {
  color: #625d52;
  font-size: min(11px, 0.76vw);
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.6;
  margin: 0;
  max-width: none;
  position: absolute;
  right: calc(16.5% - 200px);
  text-align: right;
  top: 156px;
  z-index: 2;
}
.p-oy-howto .p-oy-howto__step--05 .p-oy-howto__text p:nth-child(3) {
  margin: -13px 0px -1px;
}
.p-oy-howto .p-oy-howto__step--05 .p-oy-howto__note {
  font-size: 14px;
  letter-spacing: 0.071em;
  line-height: 2;
  text-align: left;
}
.p-oy-howto .p-oy-howto__sup {
  font-size: 10px;
  letter-spacing: 0.1em;
  line-height: 2.8;
}
.p-oy-howto .p-oy-howto__step--05 .p-oy-howto__media img {
  border-radius: 20px;
}
.p-oy-howto .p-oy-howto__deco {
  margin: 0;
  position: absolute;
  z-index: 2;
}
.p-oy-howto .p-oy-howto__deco img {
  display: block;
  height: auto;
  width: 100%;
}
.p-oy-howto .p-oy-howto__deco--omiyage {
  top: -70px;
  left: 83.5%;
  width: min(95%, 200px);
}
.p-oy-howto .p-oy-howto__deco--banana {
  top: -70px;
  left: 71%;
  width: min(95%, 200px);
}
.p-oy-howto .p-oy-howto__deco .p-oy-howto__deco-fruit {
  left: 61.5%;
  position: absolute;
  top: 63.5%;
  width: 51.5%;
}

/* wave */
.p-oy-howto .p-oy-howto__wave {
  left: 0;
  line-height: 0;
  margin: -20px 0 0;
  position: absolute;
  top: 100%;
  width: 100%;
  z-index: 2;
}
.p-oy-howto .p-oy-howto__wave img {
  display: block;
  height: auto;
  width: 100%;
}

/* pickup */
.p-oy-pickup {
  padding-block: 65px 120px;
}
.p-oy-pickup .p-oy-pickup__en {
  color: #c18a5a;
  font-size: 56px;
  font-weight: 700;
  letter-spacing: 0.0357em;
  line-height: 1;
  margin-bottom: -28px;
  position: relative;
  text-align: center;
  z-index: 1;
}
.p-oy-pickup .p-oy-pickup__box {
  background: #edecde;
  border-radius: 20px;
  margin-inline: auto;
  padding: 60px 80px;
  width: min(95%, 1200px);
  position: relative;
}
.p-oy-pickup .p-oy-pickup__sticker {
  position: absolute;
  right: 20px;
  text-align: center;
  top: -60px;
  width: min(95%, 200px);
}
.p-oy-pickup .p-oy-pickup__sticker img {
  display: block;
  height: auto;
  width: 100%;
}
.p-oy-pickup .p-oy-pickup__main {
  align-items: start;
  column-gap: 5.769%;
  display: grid;
  grid-template-columns: 23.077% 71.154%;
  margin-bottom: 40px;
}
.p-oy-pickup .p-oy-pickup__photo {
  margin: 0;
}
.p-oy-pickup .p-oy-pickup__photo img {
  width: 100%;
  height: auto;
}
.p-oy-pickup .p-oy-pickup__text {
  display: grid;
  gap: 16px;
  position: relative;
  margin-top: -6px;
}
.p-oy-pickup .p-oy-pickup__ttl {
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.083em;
  line-height: 1.667;
  margin-bottom: -8px;
}
.p-oy-pickup .p-oy-pickup__seminar span {
  font-size: 30px;
  font-weight: 700;
}
.p-oy-pickup .p-oy-pickup__text p {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.063em;
  line-height: 1.75;
}
.p-oy-pickup .p-oy-pickup__ttl + p {
  margin-top: 8px;
}
.p-oy-pickup .p-oy-pickup__profile {
  align-items: center;
  background: #fff;
  border-radius: 10px;
  /* column-gap: 8.333%; */
  display: grid;
  grid-template-columns: 29.1% 1fr;
  padding: 24px 40px;
  margin-bottom: 32px;
}
.p-oy-pickup .p-oy-pickup__person {
  display: grid;
  gap: 7px;
}
.p-oy-pickup .p-oy-pickup__role {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.071em;
  line-height: 1.857;
}
.p-oy-pickup .p-oy-pickup__name {
  align-items: center;
  display: flex;
  font-size: 24px;
  font-weight: 500;
  gap: 12px;
  letter-spacing: 0.042em;
  line-height: 1.083;
  justify-content: space-between;
  padding-right: 40px;
}
.p-oy-pickup .p-oy-pickup__ig {
  display: block;
  flex-shrink: 0;
  text-decoration: none;
  width: 20px;
}
.p-oy-pickup .p-oy-pickup__ig img {
  display: block;
  height: auto;
  width: 100%;
}
.p-oy-pickup .p-oy-pickup__bio {
  border-left: 1px solid #3a3a3a;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.071em;
  line-height: 1.857;
  padding-left: 40px;
  padding-block: 4px;
}
.p-oy-pickup .p-oy-pickup__meta {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.063em;
  line-height: 1.75;
}
.p-oy-pickup .p-oy-pickup__meta .is-u {
  border-bottom: 2px solid #3a3a3a;
  margin-left: 16px;
  padding-bottom: 2px;
}
.p-oy-pickup .p-oy-pickup__btn {
  align-items: center;
  background: #f6da1e;
  border-radius: 2000px;
  box-shadow: 0 6px 12px rgba(58, 58, 58, 0.15);
  display: grid;
  font-size: 18px;
  font-weight: 700;
  grid-template-columns: 1fr auto;
  height: 64px;
  letter-spacing: 0.083em;
  line-height: 1.667;
  margin-inline: auto;
  padding-inline: 24px;
  text-align: center;
  text-decoration: none;
  width: min(100%, 400px);
}
.p-oy-pickup .p-oy-pickup__btn span {
  grid-column: 1 / -1;
  grid-row: 1;
}
.p-oy-pickup .p-oy-pickup__btn img {
  grid-column: 2;
  grid-row: 1;
  height: auto;
  width: 28px;
}

/* booth
-------------------------------------*/
.p-oy-booth {
  background: #fff;
  padding-block: 60px 120px;
  position: relative;
  z-index: 1;
}
.p-oy-booth .p-oy-booth__head {
  margin-bottom: 64px;
  text-align: center;
}
.p-oy-booth .p-oy-booth__en {
  color: #c18a5a;
  display: block;
  font-size: 56px;
  font-weight: 700;
  letter-spacing: 0.035714em;
  line-height: 1;
  margin-bottom: 24px;
}
.p-oy-booth .p-oy-booth__ja {
  display: block;
  font-size: 32px;
  font-weight: 500;
  letter-spacing: 0.063em;
  line-height: 1;
}
.p-oy-booth .p-oy-booth__list {
  display: grid;
  gap: 64px 2.703%;
  grid-template-columns: repeat(4, 1fr);
  list-style: none;
  margin: 0 auto;
  padding: 0;
  width: min(95%, 1480px);
}
.p-oy-booth .p-oy-booth__item {
  min-width: 0;
}
.p-oy-booth .p-oy-booth__card {
  color: inherit;
  display: grid;
  gap: 24px;
  grid-template-rows: auto 1fr;
  height: 100%;
  text-decoration: none;
}
.p-oy-booth .p-oy-booth__pic {
  aspect-ratio: 340 / 240;
  margin: 0;
  overflow: hidden;
}
.p-oy-booth .p-oy-booth__pic img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.p-oy-booth .p-oy-booth__body {
  display: grid;
  gap: 24px;
  grid-template-rows: 1fr auto;
}
.p-oy-booth .p-oy-booth__content {
  display: grid;
  gap: 16px;
  align-content: start;
}
.p-oy-booth .p-oy-booth__meta {
  display: grid;
  gap: 8px;
}
.p-oy-booth .p-oy-booth__ttl {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.0625em;
  line-height: 1.75;
}
.p-oy-booth .p-oy-booth__cat {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.p-oy-booth .p-oy-booth__cat span {
  background: #fbfaed;
  display: inline-block;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.071em;
  line-height: 1.857;
  padding: 4px 8px;
}
.p-oy-booth .p-oy-booth__txt {
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.071em;
  line-height: 1.85714;
}
.p-oy-booth .p-oy-booth__btn {
  align-items: center;
  border: 1px solid #3a3a3a;
  border-radius: 2000px;
  display: grid;
  font-size: 14px;
  font-weight: 500;
  grid-template-columns: 1fr auto;
  height: 50px;
  letter-spacing: 0.142857em;
  line-height: 1;
  margin-top: auto;
  padding-inline: 16px;
  text-align: center;
}
.p-oy-booth .p-oy-booth__btn span {
  grid-column: 1 / -1;
  grid-row: 1;
}
.p-oy-booth .p-oy-booth__btn img {
  grid-column: 2;
  grid-row: 1;
  height: auto;
  width: 20px;
}

@supports (grid-template-rows: subgrid) {
.p-oy-booth .p-oy-booth__list {
  align-items: start;
  gap: 0 2.703%;
}
.p-oy-booth .p-oy-booth__item {
  display: grid;
  grid-row: span 6;
  grid-template-rows: subgrid;
}
.p-oy-booth .p-oy-booth__item::after {
  content: "";
  grid-row: 6;
  height: 64px;
}
.p-oy-booth .p-oy-booth__item:nth-last-child(-n + 4)::after {
  height: 0;
}
.p-oy-booth .p-oy-booth__card {
  align-items: start;
  gap: 0;
  grid-row: 1 / 6;
  grid-template-rows: subgrid;
  height: auto;
}
.p-oy-booth .p-oy-booth__pic {
  margin-bottom: 24px;
}
.p-oy-booth .p-oy-booth__body {
  align-items: start;
  display: grid;
  gap: 0;
  grid-row: 2 / 6;
  grid-template-rows: subgrid;
}
.p-oy-booth .p-oy-booth__content {
  align-content: start;
  gap: 0;
  grid-row: 1 / 4;
  grid-template-rows: subgrid;
}
.p-oy-booth .p-oy-booth__meta {
  gap: 0;
  grid-row: 1 / 3;
  grid-template-rows: subgrid;
}
.p-oy-booth .p-oy-booth__ttl {
  margin-bottom: 8px;
}
.p-oy-booth .p-oy-booth__cat {
  margin-bottom: 16px;
}
.p-oy-booth .p-oy-booth__txt {
  margin-bottom: 24px;
}
.p-oy-booth .p-oy-booth__btn {
  grid-row: 4;
  margin-top: 0;
}
}

/* reserve
-------------------------------------*/
.p-oy-reserve {
  --oy-gondola-h: 443px;
  --oy-gondola-scale: 1.54;
  --oy-gondola-gap: 20px;
  --oy-gondola-center-x: 0px;
  --oy-gondola-side-y: -120px;
  --oy-gondola-center-gap: 40px;
  --oy-gondola-left-ml: -181px;
  --oy-gondola-right-ml: -82.5px;
  --oy-gondola-ld2: 259px;
  --oy-gondola-ld3: 493px;
  --oy-gondola-rd2: 270px;
  --oy-gondola-rd3: 516px;
  --oy-gondola-n: 9;
  background: linear-gradient(to bottom, #fff 1090px, #fbfaed 1090px);
  overflow: visible;
  padding-block: 59px 51px;
  position: relative;
  z-index: 1;
}
.p-oy-reserve::before {
  background: #EDECDE;
  clip-path: polygon(0 20.7%, 100% 0, 100% 79.2%, 0 100%);
  content: "";
  height: 78.86%;
  left: 0;
  position: absolute;
  top: 230px;
  width: 100%;
  z-index: 0;
}
.p-oy-reserve .p-oy-reserve__air,
.p-oy-reserve .p-oy-reserve__flag,
.p-oy-reserve .p-oy-reserve__ttl,
.p-oy-reserve .p-oy-reserve__ride,
.p-oy-reserve .p-oy-reserve__fv,
.p-oy-reserve .p-oy-reserve__btn,
.p-oy-reserve .p-oy-reserve__links {
  position: relative;
  z-index: 1;
}
.p-oy-reserve .p-oy-reserve__air {
  position: absolute;
  right: 20%;
  top: -3%;
  width: min(18%, 269px);
  z-index: 2;
}
.p-oy-reserve .p-oy-reserve__balloon {
  margin: 0;
  position: relative;
  z-index: 1;
}
.p-oy-reserve .p-oy-reserve__balloon img {
  display: block;
  height: auto;
  width: 100%;
}
.p-oy-reserve .p-oy-reserve__cloud {
  left: 71%;
  margin: 0;
  position: absolute;
  top: 61.7%;
  width: 66.91%;
  z-index: 0;
}
.p-oy-reserve .p-oy-reserve__cloud img {
  display: block;
  height: auto;
  width: 100%;
}
.p-oy-reserve .p-oy-reserve__flag {
  left: 8.5%;
  position: absolute;
  top: 4.1%;
  width: min(12%, 189px);
  z-index: 2;
}
.p-oy-reserve .p-oy-reserve__flag img {
  display: block;
  height: auto;
  width: 100%;
}
.p-oy-reserve .p-oy-reserve__ttl {
  /* text-align: center; */
  width: min(95%, 1147px);
  margin-inline: auto;
  position: relative;
  left: -107px;
  margin-bottom: -43px;
}
.p-oy-reserve .p-oy-reserve__ttl img {
  display: block;
  height: auto;
  margin-inline: auto;
  width: 100%;
}
.p-oy-reserve .p-oy-reserve__ride {
  height: 680px;
  margin-bottom: -72px;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.p-oy-reserve .p-oy-reserve__gondolas {
  height: 100%;
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
}
.p-oy-reserve .p-oy-reserve__gondola {
  height: var(--oy-gondola-h);
  left: 50%;
  margin: 0;
  overflow: visible;
  position: absolute;
  bottom: 0;
  top: auto;
  transform: none;
  transform-origin: center bottom;
  transition: transform 2.5s ease-in-out;
  width: max-content;
  will-change: transform;
}
.p-oy-reserve .p-oy-reserve__gondola img {
  display: block;
  height: 100%;
  max-width: none;
  width: auto;
}

/* 開催日時 */
.p-oy-reserve .p-oy-info__fukidashi {
  position: absolute;
  top: -86px;
  left: -97px;
}
.p-oy-reserve .p-oy-info__fukidashi img {
  display: block;
  height: auto;
  width: 100%;
}
.p-oy-reserve .p-oy-info__badge {
  background: #E88C34;
  color: #fff;
  top: -104px;
  right: -70px;
}
.p-oy-reserve .p-oy-info__badge span:before {
  background: #CF741C;
}

.p-oy-reserve .p-oy-reserve__btn {
  align-items: center;
  background: #f6da1e;
  border-radius: 2000px;
  box-shadow: 0 10px 20px rgba(58, 58, 58, 0.3);
  color: inherit;
  display: grid;
  font-size: 24px;
  font-weight: 700;
  grid-template-columns: 1fr auto;
  height: 100px;
  letter-spacing: 0.083em;
  line-height: 1.667;
  margin-inline: auto;
  margin-top: 40px;
  padding-inline: 30px;
  text-align: center;
  text-decoration: none;
  width: min(95%, 640px);
}
.p-oy-reserve .p-oy-reserve__btn span {
  grid-column: 1 / -1;
  grid-row: 1;
}
.p-oy-reserve .p-oy-reserve__btn img {
  grid-column: 2;
  grid-row: 1;
  height: auto;
  width: 40px;
}
.p-oy-reserve .p-oy-reserve__links {
  align-items: flex-start;
  /* display: grid; */
  gap: 0 25px;
  /* grid-template-columns: 36.32% 1fr; */
  margin-inline: auto;
  /* width: min(95%, 880px); */
  justify-content: center;
  display: flex;
  margin-block: 24px 0;
  position: relative;
}
.p-oy-reserve .p-oy-reserve__about {
  border: 1px solid #3a3a3a;
  color: inherit;
  display: grid;
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.083em;
  line-height: 1;
  margin-bottom: 0;
  padding: 7px 14px;
  place-items: center;
  text-align: center;
}
.p-oy-reserve .p-oy-reserve__priority {
  font-weight: 500;
  letter-spacing: 0.083em;
  line-height: 1;
  text-align: left;
  padding-top: 3px;
}
.p-oy-reserve .p-oy-reserve__priority .is-u {
  border-bottom: 2px solid #3a3a3a;
  font-size: 24px;
  padding-bottom: 2px;
  letter-spacing: 0.09em;
}
.p-oy-reserve .p-oy-reserve__priority .is-sub {
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0.1em;
}

/* access
-------------------------------------*/
.p-oy-access {
  background: #fbfaed;
  padding-block: 0 100px;
}
.p-oy-access .p-oy-access__card {
  align-items: center;
  background: #fff;
  border-radius: 20px;
  box-shadow: 10px 10px 0 #e88c34;
  display: grid;
  gap: 40px;
  grid-template-columns: 51.85% 1fr;
  margin-inline: auto;
  padding: 60px;
  width: min(95%, 1200px);
}
.p-oy-access .p-oy-access__map {
  aspect-ratio: 560 / 381;
  overflow: hidden;
  position: relative;
}
.p-oy-access .p-oy-access__map iframe {
  aspect-ratio: auto;
  border: 0;
  display: block;
  height: 100%;
  left: 0;
  margin: 0;
  max-width: none;
  position: absolute;
  top: 0;
  width: 100%;
}
.p-oy-access .p-oy-access__head {
  border-bottom: 1px dashed #78643F;
  padding-bottom: 22px;
  margin-bottom: 40px;
}
.p-oy-access .p-oy-access__en {
  color: #c18a5a;
  font-size: 56px;
  font-weight: 700;
  letter-spacing: 0.035714em;
  line-height: 1;
  margin-bottom: 16px;
}
.p-oy-access .p-oy-access__ja {
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.083em;
  line-height: 1.333;
}
.p-oy-access .p-oy-access__info {
}
.p-oy-access .p-oy-access__name {
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.083em;
  line-height: 1.333;
  margin-bottom: 8px;
}
.p-oy-access .p-oy-access__addr {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.0625em;
  line-height: 1.75;
  margin-bottom: 24px;
}
.p-oy-access .p-oy-access__ways {
  display: grid;
  gap: 20px;
  grid-template-columns: 1fr 1fr;
}
.p-oy-access .p-oy-access__way-ttl {
  align-items: center;
  background: #67a163;
  color: #fff;
  display: grid;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.0714em;
  line-height: 1;
  min-height: 37px;
  padding-inline: 8px;
  place-items: center;
  text-align: center;
}
.p-oy-access .p-oy-access__way-txt {
  align-items: center;
  background: #fbfaed;
  display: grid;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.0714em;
  line-height: 1.857;
  min-height: 84px;
  padding: 16px 8px;
  place-items: center;
  text-align: center;
}

/* concept
-------------------------------------*/
.p-oy-concept {
  background: #fbfaed;
  color: #3a3a3a;
  overflow: hidden;
  padding-block: 120px 140px;
  position: relative;
  text-align: center;
}
.p-oy-concept .p-oy-concept__en {
  color: #edecde;
  font-size: 200px;
  font-weight: 700;
  left: 50%;
  letter-spacing: 0.034em;
  line-height: 1;
  pointer-events: none;
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  white-space: nowrap;
  z-index: 0;
}
.p-oy-concept .p-oy-concept__ttl {
  color: #67a163;
  font-size: 40px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.4;
  margin-inline: auto;
  position: relative;
  width: min(95%, 1200px);
  z-index: 1;
  margin-bottom: 40px;
}
.p-oy-concept .p-oy-concept__txt {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.08333em;
  line-height: 2.08333;
  margin-inline: auto;
  position: relative;
  width: min(95%, 1200px);
  z-index: 1;
}
.p-oy-concept .p-oy-concept__txt + .p-oy-concept__txt {
  margin-top: 32px;
}




}


/* ========================================
@media screen and (min-width:768px) and ( max-width:1919px)
======================================== */
@media screen and (min-width:768px) and ( max-width:1919px) {

/* fv */
.p-oy-fv {
  margin-bottom: -4.5336vw;
}
.p-oy-fv .p-oy-fv__cloud {
  bottom: 0;
  height: 100%;
  left: 3.804vw;
  top: 0;
  width: 92.4439vw;
}
.p-oy-fv .p-oy-fv__cloud picture,
.p-oy-fv .p-oy-fv__cloud img {
  display: block;
  height: 100%;
  object-fit: fill;
  width: 100%;
}
.p-oy-fv .p-oy-fv__inner {
  padding-block: 2.0844vw 6.6701vw;
  width: 92.4439vw;
}
.p-oy-fv .p-oy-fv__illust--right01 {
  right: 11.4121vw;
  top: 2.6576vw;
  width: 7.4517vw;
}
.p-oy-fv .p-oy-fv__illust--right02 {
  right: 20.5836vw;
  top: 7.087vw;
  width: 7.8165vw;
}
.p-oy-fv .p-oy-fv__illust--right03 {
  right: 13.4445vw;
  top: 21.1568vw;
  width: 6.4095vw;
}
.p-oy-fv .p-oy-fv__kids {
  right: 20.6357vw;
  top: 22.7722vw;
  width: 6.2532vw;
}
.p-oy-fv .p-oy-fv__illust--left01 {
  left: 9.0151vw;
  top: 7.8165vw;
  width: 11.7769vw;
}
.p-oy-fv .p-oy-fv__illust--left02 {
  left: 13.9134vw;
  top: 22.0948vw;
  width: 7.0349vw;
}
.p-oy-fv .p-oy-fv__logo {
  margin-bottom: 0.5211vw;
  width: 21.3652vw;
}
.p-oy-fv .p-oy-fv__lead {
  font-size: clamp(0.75rem, 0.583rem + 0.35vw, 1rem);
  margin-bottom: 2.7618vw;
}
.p-oy-fv .p-oy-fv__catch {
  margin-bottom: 0.7816vw;
  width: 30.9536vw;
}
.p-oy-fv .p-oy-fv__catch::before {
  height: 2.2928vw;
  left: -5.6279vw;
  top: -1.928vw;
  width: 4.9504vw;
}
.p-oy-fv .p-oy-fv__ttl {
  margin-bottom: 1.6675vw;
  width: 47.0557vw;
}
.p-oy-fv .p-oy-fv__sub {
  font-size: clamp(0.75rem, 0.083rem + 1.39vw, 1.75rem);
  margin-bottom: 1.3027vw;
}
.p-oy-fv .p-oy-info__panel,
.p-oy-reserve .p-oy-info__panel {
  width: 45.8572vw;
}
.p-oy-fv .p-oy-info__panel .illust {
  left: 2.1886vw;
  top: -9.3798vw;
  width: 4.6899vw;
}
.p-oy-fv .p-oy-info__badge,
.p-oy-reserve .p-oy-info__badge {
  font-size: 1.6675vw;
  height: 10.422vw;
  right: -3.6477vw;
  top: -5.4194vw;
  width: 10.422vw;
}
.p-oy-fv .p-oy-info__badge span + span,
.p-oy-reserve .p-oy-info__badge span + span {
  margin-top: 0.8337vw;
}
.p-oy-fv .p-oy-info__badge span:before,
.p-oy-reserve .p-oy-info__badge span:before {
  height: 0.6774vw;
  top: calc(100% + -0.4168vw);
  width: 7.0349vw;
}
.p-oy-fv .p-oy-info__wrap,
.p-oy-reserve .p-oy-info__wrap {
  border-radius: 1.0422vw;
  box-shadow: 0 1.0422vw 2.0844vw rgba(51, 51, 51, 0.2);
  width: 45.8572vw;
}
.p-oy-fv .p-oy-info__head,
.p-oy-reserve .p-oy-info__head {
  font-size: max(10px, 1.2506vw);
  padding-block: 0.6774vw;
}
.p-oy-fv .p-oy-info__body,
.p-oy-reserve .p-oy-info__body {
  padding-block: 0.99vw 1.7196vw;
  padding-inline: 5.3152vw 3.6477vw;
}
.p-oy-fv .p-oy-info__date,
.p-oy-reserve .p-oy-info__date {
  gap: 0 0.5211vw;
  margin-bottom: 0.8858vw;
}
.p-oy-fv .p-oy-info__date-year,
.p-oy-fv .p-oy-info__date-slash,
.p-oy-reserve .p-oy-info__date-year,
.p-oy-reserve .p-oy-info__date-slash {
  font-size: 1.6675vw;
}
.p-oy-fv .p-oy-info__date-year,
.p-oy-reserve .p-oy-info__date-year {
  margin-right: -0.1563vw;
}
.p-oy-fv .p-oy-info__date-month,
.p-oy-fv .p-oy-info__date-day,
.p-oy-reserve .p-oy-info__date-month,
.p-oy-reserve .p-oy-info__date-day {
  font-size: 2.9181vw;
}
.p-oy-fv .p-oy-info__date-slash,
.p-oy-reserve .p-oy-info__date-slash {
  margin-inline: 0.1563vw 0.1042vw;
}
.p-oy-fv .p-oy-info__date-dot,
.p-oy-reserve .p-oy-info__date-dot {
  font-size: 1.6675vw;
  margin-left: -0.2084vw;
  top: -0.2605vw;
}
.p-oy-fv .p-oy-info__week,
.p-oy-reserve .p-oy-info__week {
  font-size: max(10px, 0.9379vw);
  height: 1.6675vw;
  margin-left: 0.1042vw;
  top: -0.2605vw;
  width: 1.6675vw;
}
.p-oy-fv .p-oy-info__time,
.p-oy-reserve .p-oy-info__time {
  font-size: max(10px, 1.2506vw);
  margin: 0 0 0.1042vw;
  padding-block: 0.5211vw;
  width: 12.5586vw;
}
.p-oy-fv .p-oy-info__place,
.p-oy-reserve .p-oy-info__place {
  gap: 0 0.7295vw;
  margin-bottom: 1.3548vw;
  margin-left: 2.6576vw;
  width: 35.4872vw;
}
.p-oy-fv .p-oy-info__place-label,
.p-oy-reserve .p-oy-info__place-label {
  border-radius: 0.1042vw;
  font-size: max(10px, 1.2506vw);
  padding-block: 0.4168vw;
}
.p-oy-fv .p-oy-info__place-name,
.p-oy-reserve .p-oy-info__place-name {
  font-size: max(10px, 1.2506vw);
}
.p-oy-fv .p-oy-info__place-addr,
.p-oy-reserve .p-oy-info__place-addr {
  font-size: max(10px, 1.0422vw);
}
.p-oy-fv .p-oy-info__note,
.p-oy-reserve .p-oy-info__note {
  margin-left: 0.6253vw;
}
.p-oy-fv .p-oy-info__note .is-em,
.p-oy-reserve .p-oy-info__note .is-em {
  font-size: max(10px, 1.2506vw);
}
.p-oy-fv .p-oy-info__note .is-sub,
.p-oy-reserve .p-oy-info__note .is-sub {
  font-size: max(8px, 0.9379vw);
}

/* invite */
.p-oy-invite {
  margin-top: -9.0151vw;
}
.p-oy-invite .p-oy-invite__illust--left {
  left: 16.6753vw;
  top: -0.7816vw;
  width: 7.5039vw;
}
.p-oy-invite .p-oy-invite__illust--hanabi {
  top: 16.2584vw;
  width: 9.1193vw;
}
.p-oy-invite .p-oy-invite__illust--right {
  top: 13.3402vw;
  width: 10.7868vw;
}
.p-oy-invite .p-oy-invite__catch {
  margin-bottom: 0.8858vw;
  width: 30.9536vw;
}
.p-oy-invite .p-oy-invite__ttl {
  margin-bottom: 0.99vw;
  width: 48.2542vw;
}

/* reserve */
.p-oy-reserve {
  --oy-gondola-h: 23.0849vw;
  --oy-gondola-gap: 1.0422vw;
  --oy-gondola-center-x: 0;
  --oy-gondola-side-y: -6.2532vw;
  --oy-gondola-center-gap: 2.0844vw;
  --oy-gondola-left-ml: -9.4319vw;
  --oy-gondola-right-ml: -4.2991vw;
  --oy-gondola-ld2: 13.4966vw;
  --oy-gondola-ld3: 25.6904vw;
  --oy-gondola-rd2: 14.0698vw;
  --oy-gondola-rd3: 26.889vw;
  background: linear-gradient(to bottom, #fff 56.8004vw, #fbfaed 56.8004vw);
  padding-block: 3.0745vw 2.6576vw;
}
.p-oy-reserve::before {
  top: 11.9854vw;
}
.p-oy-reserve .p-oy-reserve__air {
  width: 14.0177vw;
}
.p-oy-reserve .p-oy-reserve__flag {
  width: 9.8488vw;
}
.p-oy-reserve .p-oy-reserve__ttl {
  left: -5.5758vw;
  margin-bottom: -2.2407vw;
  width: 59.7707vw;
}
.p-oy-reserve .p-oy-reserve__ride {
  height: 35.4351vw;
  margin-bottom: -3.7519vw;
}
.p-oy-reserve .p-oy-info__fukidashi {
  left: -6.5659vw;
  top: -5.4715vw;
  width: 9.1714vw;
}
.p-oy-reserve .p-oy-reserve__btn {
  box-shadow: 0 0.5211vw 1.0422vw rgba(58, 58, 58, 0.3);
  font-size: max(12px, 1.2506vw);
  height: 5.211vw;
  margin-top: 2.0844vw;
  padding-inline: 1.5633vw;
  width: 33.3507vw;
}
.p-oy-reserve .p-oy-reserve__btn img {
  width: 2.0844vw;
}
.p-oy-reserve .p-oy-reserve__links {
  gap: 0 1.3027vw;
  margin-block: 1.2506vw 0;
}
.p-oy-reserve .p-oy-reserve__about {
  font-size: max(14px, 1.2506vw);
  padding: 0.3647vw 0.7295vw;
}
.p-oy-reserve .p-oy-reserve__priority {
  padding-top: 0.1563vw;
}
.p-oy-reserve .p-oy-reserve__priority .is-u {
  border-bottom-width: 0.1042vw;
  font-size: max(14px, 1.2506vw);
  padding-bottom: 0.1042vw;
}
.p-oy-reserve .p-oy-reserve__priority .is-sub {
  font-size: max(12px, 1.0422vw);
}

}


/* ========================================
@media screen and (min-width:768px) and ( max-width:1660px)
======================================== */
@media screen and (min-width:768px) and ( max-width:1660px) {

/* recommend */
.p-oy-rec {
  padding-block: 3.6144vw 10.8433vw;
}
.p-oy-rec .p-oy-rec__box {
  border-radius: 2.4096vw;
  padding-block: 5.4216vw 6.024vw;
}
.p-oy-rec .p-oy-rec__illust {
  right: 26.8072vw;
  top: 1.8072vw;
  width: 5.5421vw;
}
.p-oy-rec .p-oy-rec__ttl {
  font-size: 2.4096vw;
  margin-bottom: 2.4096vw;
}
.p-oy-rec .p-oy-rec__dots {
  gap: 1.9277vw;
  grid-template-columns: repeat(4, 0.6024vw);
  right: 1.2048vw;
  top: -0.6024vw;
}
.p-oy-rec .p-oy-rec__dots span {
  height: 0.6024vw;
  width: 0.6024vw;
}
.p-oy-rec .p-oy-rec__rows {
  width: 84.3373vw;
}
.p-oy-rec .p-oy-rec__row--2 {
  margin-top: 2.4096vw;
}
.p-oy-rec .p-oy-rec__item {
  border-radius: 0.6024vw;
  font-size: 1.4457vw;
  min-height: 9.1566vw;
  padding: 1.3253vw 1.2048vw;
}
.p-oy-rec .p-oy-rec__hanabi {
  bottom: -10.8433vw;
}
.p-oy-rec .p-oy-rec__arrow {
  font-size: max(10px, 1.2048vw);
  height: 6.265vw;
  margin: -1.506vw auto 0;
  width: 15.6626vw;
}
.p-oy-rec .p-oy-rec__arrow span {
  padding-top: 1.506vw;
}

}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1740px)
======================================== */
@media screen and (min-width:768px) and ( max-width:1740px) {
  .p-oy-howto .p-oy-howto__illust--left {
    left: 15%;
  }
  .p-oy-howto .p-oy-howto__illust--right {
    left: 77%;
  }
}


/* ========================================
@media screen and (min-width:768px) and ( max-width:1480px)
======================================== */
@media screen and (min-width:768px) and ( max-width:1480px) {

/* howto */
.p-oy-howto {
  margin-bottom: 10.4729vw;
  padding-block: 2.7027vw 8.1081vw;
}
.p-oy-howto .p-oy-howto__head {
  margin-bottom: 10.8108vw;
}
.p-oy-howto .p-oy-howto__en {
  font-size: 3.7837vw;
}
.p-oy-howto .p-oy-howto__ja {
  font-size: 2.1621vw;
  margin-top: 1.6216vw;
}
.p-oy-howto .p-oy-howto__step {
  border-radius: 2.7027vw;
  border-width: 0.2702vw;
  padding-block: 7.8378vw 6.4864vw;
}
.p-oy-howto .p-oy-howto__num {
  font-size: 3.7837vw;
  height: 10.8108vw;
  top: -5.6756vw;
  width: 10.8108vw;
}
.p-oy-howto .p-oy-howto__step-ttl {
  font-size: 2.7027vw;
  margin-bottom: 4.054vw;
}
.p-oy-howto .p-oy-howto__step-ttl .is-mark {
  font-size: 3.3783vw;
}
.p-oy-howto .p-oy-howto__step-ttl .is-mark::after {
  bottom: -0.2027vw;
  height: 1.6216vw;
}
.p-oy-howto .p-oy-howto__body {
  width: 81.081vw;
}
.p-oy-howto .p-oy-howto__text {
  gap: 1.6216vw;
}
.p-oy-howto .p-oy-howto__lead {
  font-size: clamp(0.875rem, 0.201rem + 1.4vw, 1.5rem);
}
.p-oy-howto .p-oy-howto__text p:not(.p-oy-howto__lead) {
  font-size: clamp(0.75rem, 0.48rem + 0.56vw, 1rem);
}
.p-oy-howto .p-oy-howto__text p:not(.p-oy-howto__lead) + p {
  margin-top: -0.5405vw;
}
.p-oy-howto .p-oy-howto__text p:not(.p-oy-howto__lead).p-oy-howto__note {
  font-size: max(10px, 0.9459vw);
}
.p-oy-howto .p-oy-howto__btn {
  box-shadow: 0 0.6756vw 1.3513vw rgba(58, 58, 58, 0.2);
  font-size: 1.6216vw;
  height: 6.7567vw;
  margin-top: 4.054vw;
  padding-inline: 2.027vw;
  width: 43.2432vw;
}
.p-oy-howto .p-oy-howto__btn img {
  width: 2.7027vw;
}
.p-oy-howto .p-oy-howto__sticker {
  width: 13.5135vw;
}

/* step02 */
.p-oy-howto .p-oy-bg-slide {
  margin-top: 2.7027vw;
  margin-bottom: 2vw;
}
.p-oy-howto .p-oy-bg-slide + .p-oy-howto__step {
  margin-top: 1.2162vw;
}
.p-oy-howto .p-oy-howto__step--02 {
  padding-block: 7.8378vw 5vw;
}

/* zone */
.p-oy-howto .p-oy-howto__zone {
  padding-block: 10.8108vw;
}
.p-oy-howto .p-oy-howto__zone .loop__box img {
  margin-right: 5.4054vw;
  width: 146.8243vw;
}
.p-oy-howto .p-oy-howto__zone--attraction .loop__box img {
  width: 148.3783vw;
}
.p-oy-howto .p-oy-howto__zone--wakuwaku {
  margin-bottom: -1.4189vw;
  margin-top: -5.6756vw;
}
.p-oy-howto .p-oy-howto__zone--attraction {
  margin: -13.3108vw 0 -6.4864vw;
}

/* step03 */
.p-oy-howto .p-oy-howto__step-ttl--03 {
  font-size: 3.3783vw;
  margin-bottom: 4.2567vw;
}
.p-oy-howto .p-oy-howto__types {
  gap: 1.6216vw 3.125%;
}
.p-oy-howto .p-oy-howto__type {
  border-radius: 1.3513vw;
  gap: 0.8108vw;
  padding-top: 1.3513vw;
}
.p-oy-howto .p-oy-howto__type-name {
  font-size: 1.3513vw;
}

/* step04 */
.p-oy-howto .p-oy-howto__step--04 {
  padding: 7.8378vw 0 0;
}
.p-oy-howto .p-oy-howto__step--04 .p-oy-howto__step-ttl {
  margin-bottom: 2.5675vw;
}
.p-oy-howto .p-oy-howto__illust--left {
  top: 9.9594vw;
  left: 15%;
}
.p-oy-howto .p-oy-howto__illust--right {
  top: 8.2432vw;
  left: 77%;
}
.p-oy-howto .p-oy-howto__slide .loop__box img {
  margin-right: 0.5405vw;
}
.p-oy-howto .p-oy-howto__btn--04 {
  margin-bottom: 1.081vw;
  margin-top: 2.7027vw;
}
.p-oy-howto .p-oy-howto__note {
  font-size: max(10px, 1.081vw);
}

/* step05 */
.p-oy-howto .p-oy-howto__step--05 {
  margin-top: 2.7027vw;
}
.p-oy-howto .p-oy-howto__step-ttl--05 {
  font-size: 3.3783vw;
}
.p-oy-howto .p-oy-howto__step--05 .p-oy-howto__text p:nth-child(3) {
  margin: -0.8783vw 0 -0.0675vw;
}
.p-oy-howto .p-oy-howto__step--05 .p-oy-howto__note {
  font-size: max(10px, 0.9459vw);
}
.p-oy-howto .p-oy-howto__step--05 .p-oy-howto__text p.p-oy-howto__deco-note {
  font-size: max(7px, 0.9459vw);
  max-width: none;
  right: calc(16.5% - 13.5135vw);
  top: 10.6vw;
}
.p-oy-howto .p-oy-howto__step--05 .p-oy-howto__media img {
  border-radius: 1.3513vw;
}
.p-oy-howto .p-oy-howto__deco--omiyage,
.p-oy-howto .p-oy-howto__deco--banana {
  top: -4.7297vw;
  width: 13.5135vw;
}

/* wave */
.p-oy-howto .p-oy-howto__wave {
  margin: -1.3513vw 0 0;
}

/* pickup */
.p-oy-pickup {
  padding-block: 4.3918vw 8.1081vw;
}
.p-oy-pickup .p-oy-pickup__en {
  font-size: 3.7837vw;
  margin-bottom: -1.8918vw;
}
.p-oy-pickup .p-oy-pickup__box {
  border-radius: 1.3513vw;
  padding: 4.054vw 5.4054vw;
  width: 81.081vw;
}
.p-oy-pickup .p-oy-pickup__sticker {
  right: 1.3513vw;
  top: -4.054vw;
  width: 13.5135vw;
}
.p-oy-pickup .p-oy-pickup__main {
  margin-bottom: 2.7027vw;
}
.p-oy-pickup .p-oy-pickup__text {
  gap: 1.081vw;
  margin-top: -0.4054vw;
}
.p-oy-pickup .p-oy-pickup__ttl {
  font-size: 1.6216vw;
  margin-bottom: -0.5405vw;
}
.p-oy-pickup .p-oy-pickup__seminar span {
  font-size: 2.027vw;
}
.p-oy-pickup .p-oy-pickup__text p {
  font-size: max(10px, 1.081vw);
}
.p-oy-pickup .p-oy-pickup__ttl + p {
  margin-top: 0.5405vw;
}
.p-oy-pickup .p-oy-pickup__profile {
  border-radius: 0.6756vw;
  padding: 1.6216vw 2.7027vw;
  margin-bottom: 1.6216vw;
}
.p-oy-pickup .p-oy-pickup__person {
  gap: 0.4729vw;
}
.p-oy-pickup .p-oy-pickup__role {
  font-size: max(10px, 0.9459vw);
}
.p-oy-pickup .p-oy-pickup__name {
  font-size: 1.6216vw;
  gap: 0.8108vw;
  padding-right: 2.7027vw;
}
.p-oy-pickup .p-oy-pickup__ig {
  width: 1.3513vw;
}
.p-oy-pickup .p-oy-pickup__bio {
  font-size: max(10px, 0.9459vw);
  padding-block: 0.2702vw;
  padding-left: 2.7027vw;
}
.p-oy-pickup .p-oy-pickup__meta {
  font-size: max(10px, 0.8324vw);
  letter-spacing: 0.063em;
  line-height: 1.75;
}
.p-oy-pickup .p-oy-pickup__meta .is-u {
  border-bottom: 2px solid #3a3a3a;
  margin-left: 0.8324vw;
  padding-bottom: 2px;
}
.p-oy-pickup .p-oy-pickup__btn {
  font-size: max(12px, 0.9382vw);
  height: 3.3333vw;
  padding-inline: 1.2504vw;
  width: min(100%, 20.844vw);
}
.p-oy-pickup .p-oy-pickup__btn img {
  width: 1.459vw;
}

}


/* ========================================
@media screen and (min-width:768px) and ( max-width:1240px)
======================================== */
@media screen and (min-width:768px) and ( max-width:1240px) {

/* access */
.p-oy-access {
  padding-block: 0 8.0645vw;
}
.p-oy-access .p-oy-access__card {
  border-radius: 1.6129vw;
  box-shadow: 0.8064vw 0.8064vw 0 #e88c34;
  gap: 3.2258vw;
  padding: 4.8387vw;
  grid-template-columns: 47.85% 1fr;
}
.p-oy-access .p-oy-access__head {
  padding-bottom: 1.7741vw;
  margin-bottom: 3.2258vw;
}
.p-oy-access .p-oy-access__en {
  font-size: 4.5161vw;
  margin-bottom: 1.2903vw;
}
.p-oy-access .p-oy-access__ja {
  font-size: 1.9354vw;
}
.p-oy-access .p-oy-access__name {
  font-size: 1.9354vw;
  margin-bottom: 0.6451vw;
}
.p-oy-access .p-oy-access__addr {
  font-size: max(12px, 1.2903vw);
  margin-bottom: 1.9354vw;
}
.p-oy-access .p-oy-access__ways {
  gap: 1.6129vw;
}
.p-oy-access .p-oy-access__way-ttl {
  font-size: max(10px, 1.129vw);
  min-height: 2.9838vw;
  padding-inline: 0.6451vw;
}
.p-oy-access .p-oy-access__way-txt {
  font-size: max(10px, 1.129vw);
  min-height: 6.7741vw;
  padding: 1.2903vw 0.6451vw;
}

}


/* ========================================
@media screen and (min-width:768px) and ( max-width:1000px)
======================================== */
@media screen and (min-width:768px) and ( max-width:1000px) {

/* concept */
.p-oy-concept {
  padding-block: 12vw 14vw;
}
.p-oy-concept .p-oy-concept__en {
  font-size: 20vw;
}
.p-oy-concept .p-oy-concept__ttl {
  font-size: 4vw;
  margin-bottom: 4vw;
}
.p-oy-concept .p-oy-concept__txt {
  font-size: max(14px, 1.6vw);
}
.p-oy-concept .p-oy-concept__txt + .p-oy-concept__txt {
  margin-top: 3.2vw;
}

}


/* ========================================
   @media screen and (max-width: 767px)
======================================== */
@media screen and (max-width: 767px) {

.p-oy-fv {
  background: url(../images/oshigotoyuenchi/fv-bg_sp.png) no-repeat center top / contain;
  position: relative;
  margin-bottom: -2.5vw;
}
.p-oy-fv .p-oy-fv__cloud {
  left: 0;
  mix-blend-mode: screen;
  pointer-events: none;
  position: absolute;
  top: 7vw;
  width: 100%;
}
.p-oy-fv .p-oy-fv__cloud img {
  height: auto;
  width: 100%;
}

/* inner */
.p-oy-fv .p-oy-fv__inner {
  margin-inline: auto;
  padding-block: 9.662vw;
  position: relative;
  width: 100%;
  z-index: 2;
}
/* イラスト（右側） */
.p-oy-fv .p-oy-fv__illust--right01 {
  position: absolute;
  top: 23.2vw;
  right: 1vw;
  width: min(95%, 14.21vw);
}
.p-oy-fv .p-oy-fv__illust--right01 img {
  width: 100%;
  height: auto;
}
.p-oy-fv .p-oy-fv__illust--right02 {
  display: none;
}
.p-oy-fv .p-oy-fv__illust--right02 img {
  width: 100%;
  height: auto;
}
.p-oy-fv .p-oy-fv__illust--right03 {
  position: absolute;
  top: 57vw;
  right: 11vw;
  width: min(95%, 14.16vw);
}
.p-oy-fv .p-oy-fv__illust--right03 img {
  width: 100%;
  height: auto;
}
.p-oy-fv .p-oy-fv__kids {
  position: absolute;
  top: 84.5vw;
  left: 4vw;
  width: min(95%, 22.71vw);
  height: auto;
}
.p-oy-fv .p-oy-fv__kids img {
  width: 100%;
  height: auto;
}
/* イラスト（左側） */
.p-oy-fv .p-oy-fv__illust--left01 {
  left: 4vw;
  position: absolute;
  top: 4vw;
  width: min(95%, 17.84vw);
}
.p-oy-fv .p-oy-fv__illust--left01 img {
  width: 100%;
  height: auto;
}
.p-oy-fv .p-oy-fv__illust--left02 {
  left: 6.52vw;
  position: absolute;
  top: 56.96vw;
  width: min(95%, 10.14vw);
}
.p-oy-fv .p-oy-fv__illust--left02 img {
  width: 100%;
  height: auto;
}

/* ロゴ */
.p-oy-fv .p-oy-fv__logo {
  margin-bottom: 1.932vw;
  margin-inline: auto;
  position: relative;
  width: 56.1191vw;
  z-index: 1;
}
.p-oy-fv .p-oy-fv__logo img {
  height: auto;
  width: 100%;
}
.p-oy-fv .p-oy-fv__lead {
  font-size: 2.898vw;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.66667;
  margin-bottom: 4.572vw;
  position: relative;
  text-align: center;
  z-index: 1;
}

/* キャッチコピー + タイトル */
.p-oy-fv .p-oy-fv__catch {
  margin-bottom: 3.156vw;
  margin-inline: auto;
  position: relative;
  width: 72.536vw;
  z-index: 1;
}
.p-oy-fv .p-oy-fv__ttl {
  margin-bottom: 2.427vw;
  margin-inline: auto;
  position: relative;
  width: 91.546vw;
  z-index: 1;
}
.p-oy-fv .p-oy-fv__ttl img {
  height: auto;
  width: 100%;
}
.p-oy-fv .p-oy-fv__sub {
  font-size: 4.348vw;
  font-weight: 500;
  letter-spacing: 0.1111em;
  line-height: 1.6666;
  margin-bottom: 9.662vw;
  margin-inline: auto;
  position: relative;
  text-align: center;
  z-index: 1;
}

/* 開催日時 */
.p-oy-info__panel {
  margin-inline: auto;
  position: relative;
  width: 92.271vw;
}
.p-oy-info__panel .illust {
  position: absolute;
  width: min(95%, 9.59vw);
  left: 12.73vw;
  top: -38.1vw;
}
.p-oy-info__badge {
  align-content: center;
  background: #f6da1e;
  border-radius: 50%;
  color: #3a3a3a;
  display: grid;
  font-size: 3.942vw;
  font-weight: 500;
  height: 24.638vw;
  letter-spacing: 0.0625em;
  line-height: 1;
  place-items: center;
  position: absolute;
  right: -1.449vw;
  text-align: center;
  top: -16.667vw;
  width: 24.638vw;
  z-index: 2;
}
.p-oy-info__badge span {
  display: block;
  position: relative;
}
.p-oy-info__badge span + span {
  margin-top: 1.971vw;
}
.p-oy-info__badge span:before {
  background: #fff;
  content: "";
  height: 1.601vw;
  left: 50%;
  position: absolute;
  top: calc(100% + -0.986vw);
  transform: translateX(-50%);
  width: 16.63vw;
  z-index: -1;
}
.p-oy-info__wrap {
  background: #fff;
  border-radius: 2.415vw;
  box-shadow: 0 4.831vw 9.662vw rgba(51, 51, 51, 0.2);
  overflow: hidden;
  width: 100%;
}
.p-oy-info__head {
  align-items: center;
  background: #e88c34;
  color: #fff;
  display: grid;
  font-size: 4.831vw;
  font-weight: 500;
  height: 12.077vw;
  letter-spacing: 0.1em;
  line-height: 1;
  place-items: center;
  text-align: center;
}
.p-oy-info__body {
  padding-block: 5.065vw 5.314vw;
  padding-inline: 4.348vw;
}
.p-oy-info__date {
  align-items: center;
  display: flex;
  flex-direction: column;
  margin-bottom: 0;
  width: 100%;
}
.p-oy-info__date-ymd {
  align-items: flex-end;
  color: #3a3a3a;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  letter-spacing: 0;
  margin-bottom: 3.599vw;
  white-space: nowrap;
}
.p-oy-info__date-year,
.p-oy-info__date-slash {
  font-size: 5.797vw;
  letter-spacing: 0.0833em;
  line-height: 1.3333;
}
.p-oy-info__date-year {
  position: relative;
  left: 0.5vw;
}
.p-oy-info__date-month,
.p-oy-info__date-day {
  font-size: 11.111vw;
  letter-spacing: 0.0434em;
  line-height: 1;
}
.p-oy-info__date-slash {
  position: relative;
  left: 0.5vw;
  margin-right: 1vw;
}
.p-oy-info__date-dot {
  font-size: 5.797vw;
  letter-spacing: 0.0833em;
  line-height: 1;
  /* margin-inline: 1vw 0; */
  position: relative;
  top: -0.6vw;
  /* left: 0.6vw; */
}
.p-oy-info__week {
  align-items: center;
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  font-size: 4.348vw;
  font-weight: 500;
  height: 7.729vw;
  justify-content: center;
  letter-spacing: 0.1111em;
  line-height: 1;
  margin-left: 0.725vw;
  position: relative;
  top: 0;
  width: 7.729vw;
}
.p-oy-info__week--fri {
  background: #c18a5a;
}
.p-oy-info__week--sat {
  background: #687bb4;
  margin-left: -0.5vw;
}
.p-oy-info__time {
  border-bottom: 0.2vw solid #3a3a3a;
  border-top: 0.2vw solid #3a3a3a;
  font-size: 4.348vw;
  font-weight: 500;
  letter-spacing: 0.1111em;
  line-height: 1.3333;
  margin: 0 0 2.899vw;
  padding-block: 1.591vw;
  text-align: center;
  white-space: nowrap;
  width: 100%;
}
/* 開催場所 */
.p-oy-info__place {
  align-items: flex-end;
  display: grid;
  gap: 0 3.623vw;
  grid-template-columns: 38.70% 1fr;
  margin-bottom: 3.865vw;
  margin-left: 0;
  width: 74.88vw;
  margin-inline: auto;
}
.p-oy-info__place-label {
  align-items: center;
  border: 0.2vw solid #3a3a3a;
  border-radius: 0.483vw;
  display: grid;
  font-size: 4.348vw;
  grid-row: 1 / 3;
  height: 15.459vw;
  letter-spacing: 0.1111em;
  line-height: 1.3333;
  padding-block: 0;
  place-items: center;
  text-align: center;
  white-space: nowrap;
  width: 100%;
}
.p-oy-info__place-name {
  font-size: 5.797vw;
  font-weight: 500;
  grid-column: 2;
  letter-spacing: 0.0833em;
  line-height: 1;
  text-align: left;
  white-space: nowrap;
}
.p-oy-info__place-addr {
  font-size: 3.865vw;
  grid-column: 2;
  letter-spacing: 0;
  line-height: 1.5;
  text-align: left;
}
/* 注意事項 */
.p-oy-info__note {
  line-height: 1.3333;
  margin-left: 0;
  text-align: center;
}
.p-oy-info__note .is-em {
  display: block;
  font-size: 4.348vw;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.3333;
  margin-bottom: 0.75vw;
}
.p-oy-info__note .is-sub {
  display: block;
  font-size: 3.382vw;
  letter-spacing: 0;
  line-height: 1.7142;
}

/* ループ画像 */
.p-oy-bg-slide {
  overflow: hidden;
  position: relative;
}
.p-oy-bg-slide .loop__box {
  animation: oy-loop-slide 50s linear infinite;
  display: flex;
  width: max-content;
}
.p-oy-bg-slide .loop__box img {
  flex-shrink: 0;
  height: auto;
  width: 409.7vw;
}

/* recommend
-------------------------------------*/
.p-oy-rec {
  padding-bottom: 19.324vw;
  position: relative;
}
.p-oy-rec .p-oy-rec__box {
  background: #edecde;
  border-radius: 4.831vw;
  margin-inline: auto;
  padding: 12.077vw 3.865vw 14.493vw;
  position: relative;
  width: 96.135vw;
}
.p-oy-rec .p-oy-rec__illust {
  position: absolute;
  right: 6.31vw;
  top: 6.015vw;
  width: 12.56vw;
  z-index: 2;
}
.p-oy-rec .p-oy-rec__illust img {
  height: auto;
  width: 100%;
}
.p-oy-rec .p-oy-rec__ttl {
  font-size: 5.797vw;
  font-weight: 500;
  letter-spacing: 0.0833em;
  line-height: 1;
  margin-bottom: 7.246vw;
  margin-inline: auto;
  position: relative;
  text-align: center;
  width: fit-content;
}
.p-oy-rec .p-oy-rec__dots {
  display: grid;
  gap: 4.831vw;
  grid-template-columns: repeat(4, 1.449vw);
  justify-content: end;
  pointer-events: none;
  position: absolute;
  right: 2.415vw;
  top: -2.415vw;
}
.p-oy-rec .p-oy-rec__dots span {
  background: #f6da1e;
  border-radius: 50%;
  display: block;
  height: 1.449vw;
  width: 1.449vw;
}
.p-oy-rec .p-oy-rec__rows {
  margin-inline: auto;
  width: 100%;
}
.p-oy-rec .p-oy-rec__row {
  display: grid;
  grid-template-columns: 100%;
}
.p-oy-rec .p-oy-rec__row--2 {
  grid-template-columns: 100%;
  margin-top: 0;
}
.p-oy-rec .p-oy-rec__item {
  align-items: center;
  background: #fbfaed;
  border-radius: 2.415vw;
  display: grid;
  font-size: 3.865vw;
  font-weight: 500;
  letter-spacing: 0.125em;
  line-height: 1.875;
  margin-bottom: 1.932vw;
  min-height: 14.976vw;
  padding: 3.865vw 4.831vw;
  text-align: center;
}
.p-oy-rec .p-oy-rec__row--2 .p-oy-rec__item:last-child {
  margin-bottom: 0;
}
.p-oy-rec .p-oy-rec__hanabi {
  bottom: -27.493vw;
  position: absolute;
  right: 3.831vw;
  width: 20.77vw;
  z-index: 2;
}
.p-oy-rec .p-oy-rec__hanabi img {
  height: auto;
  width: 100%;
}
.p-oy-rec .p-oy-rec__arrow {
  background: url(../images/oshigotoyuenchi/rec-arrow-bg_sp.svg) no-repeat center center / 100% 100%;
  color: #fff;
  font-size: 4.831vw;
  font-weight: 700;
  height: 25.12vw;
  letter-spacing: 0.1em;
  line-height: 1;
  margin: -6.293vw auto 0;
  position: relative;
  text-align: center;
  width: 63.29vw;
  z-index: 3;
}
.p-oy-rec .p-oy-rec__arrow::before {
  content: none;
}
.p-oy-rec .p-oy-rec__arrow span {
  display: block;
  padding-top: 6.376vw;
  position: relative;
}

/* invite
-------------------------------------*/
.p-oy-invite {
  margin-top: -19vw;
  padding-top: 2.415vw;
  position: relative;
  z-index: 1;
}
.p-oy-invite .p-oy-invite__illust {
  position: absolute;
  z-index: 2;
}
.p-oy-invite .p-oy-invite__illust img {
  height: auto;
  width: 100%;
}
.p-oy-invite .p-oy-invite__illust--left {
  left: 5.915vw;
  top: -20.623vw;
  width: 14.70vw;
}
.p-oy-invite .p-oy-invite__illust--hanabi {
  left: 5.831vw;
  top: 43.956vw;
  width: 14.49vw;
}
.p-oy-invite .p-oy-invite__illust--right {
  right: 3.815vw;
  top: 45.309vw;
  width: 25.36vw;
}
.p-oy-invite .p-oy-invite__catch {
  margin-bottom: 1.932vw;
  margin-inline: auto;
  position: relative;
  width: 72.536vw;
  z-index: 3;
}
.p-oy-invite .p-oy-invite__catch img {
  height: auto;
  width: 100%;
}
.p-oy-invite .p-oy-invite__ttl {
  margin-bottom: 9.179vw;
  margin-inline: auto;
  position: relative;
  text-align: center;
  width: 91.546vw;
  z-index: 3;
}
.p-oy-invite .p-oy-invite__ttl img {
  height: auto;
  width: 100%;
}
.p-oy-invite .p-oy-invite__wave img {
  display: block;
  height: auto;
  width: 100%;
}

/* howto
-------------------------------------*/
/* common */
.p-oy-howto {
  background: #fbfaed;
  margin-bottom: 8.073vw;
  padding-bottom: 10.324vw;
  padding-top: 7.246vw;
  position: relative;
}
.p-oy-howto .p-oy-howto__head {
  margin-bottom: 16.908vw;
  text-align: center;
}
.p-oy-howto .p-oy-howto__en {
  color: #c18a5a;
  display: block;
  font-size: 7.729vw;
  font-weight: 700;
  letter-spacing: 0.0625em;
  line-height: 1;
  margin-bottom: 1.932vw;
}
.p-oy-howto .p-oy-howto__ja {
  display: block;
  font-size: 4.831vw;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.6;
  margin-top: 0;
}
.p-oy-howto .p-oy-howto__step {
  background: #fff;
  border: 0.5vw solid #78643f;
  border-radius: 4.831vw;
  margin-inline: auto;
  margin-top: 0;
  position: relative;
  width: 92.271vw;
  padding-block: 14.493vw 9.0vw;
}
.p-oy-howto .p-oy-howto__num {
  align-items: center;
  background: #7db6e8;
  border-radius: 50%;
  color: #fff;
  display: grid;
  font-size: 5.797vw;
  font-weight: 700;
  height: 19.324vw;
  justify-items: center;
  left: 50%;
  letter-spacing: 0.0833em;
  line-height: 1;
  position: absolute;
  top: -9.762vw;
  transform: translateX(-50%);
  width: 19.324vw;
}
.p-oy-howto .p-oy-howto__step-ttl {
  font-size: 4.831vw;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.85;
  margin-bottom: 5.797vw;
  text-align: center;
}
.p-oy-howto .p-oy-howto__step-ttl .is-mark {
  display: inline-block;
  font-size: 5.797vw;
  font-weight: 700;
  letter-spacing: 0.0833em;
  line-height: 1.5833;
  position: relative;
  z-index: 0;
}
.p-oy-howto .p-oy-howto__step-ttl .is-mark::after {
  background: #f6da1e;
  bottom: 0.1em;
  content: "";
  height: 2.899vw;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 96.16%;
  z-index: -1;
}
.p-oy-howto .p-oy-howto__step-ttl .is-mark--lg::after {
  width: 96.43%;
}
.p-oy-howto .p-oy-howto__body {
  display: grid;
  grid-template-columns: 100%;
  width: 82.61vw;
  margin-inline: auto;
}
.p-oy-howto .p-oy-howto__text {
  color: #3a3a3a;
}
.p-oy-howto .p-oy-howto__lead {
  font-size: 3.865vw;
  font-weight: 700;
  letter-spacing: 0.125em;
  line-height: 1.875;
  margin-bottom: 3.865vw;
}
.p-oy-howto .p-oy-howto__text p:not(.p-oy-howto__lead) {
  font-size: 3.382vw;
  font-weight: 500;
  letter-spacing: 0.0714em;
  line-height: 1.8571;
  margin-bottom: 1.932vw;
}
.p-oy-howto .p-oy-howto__text p:not(.p-oy-howto__lead) + p {
  margin-top: 0;
}
.p-oy-howto .p-oy-howto__text p:not(.p-oy-howto__lead):last-child {
  margin-bottom: 0;
}
.p-oy-howto .p-oy-howto__text p:not(.p-oy-howto__lead).p-oy-howto__note {
  font-size: 2.898vw;
  font-weight: 500;
  letter-spacing: 0.083333em;
  line-height: 2;
}
.p-oy-howto .p-oy-howto__media {
  margin-bottom: 5.797vw;
  order: -1;
  position: relative;
}
.p-oy-howto .p-oy-howto__media img {
  border-radius: 2.415vw;
  display: block;
  height: auto;
  width: 100%;
}
.p-oy-howto .p-oy-howto__btn {
  align-items: center;
  background: #f6da1e;
  border-radius: 483.09vw;
  box-shadow: 0 1.449vw 2.415vw rgba(58, 58, 58, 0.24);
  color: #3a3a3a;
  display: grid;
  font-size: 3.865vw;
  font-weight: 700;
  grid-template-columns: 1fr auto;
  height: 14.493vw;
  letter-spacing: 0.125em;
  line-height: 1;
  margin-inline: auto;
  margin-top: 5.797vw;
  padding-inline: 4.831vw;
  text-align: center;
  text-decoration: none;
  width: 82.61vw;
}
.p-oy-howto .p-oy-howto__btn span {
  grid-column: 1 / -1;
  grid-row: 1;
}
.p-oy-howto .p-oy-howto__btn img {
  grid-column: 2;
  grid-row: 1;
  height: auto;
  width: 4.831vw;
}

/* step01 */
.p-oy-howto .p-oy-howto__sticker {
  position: absolute;
  right: -2.415vw;
  top: -7.246vw;
  width: 24.155vw;
}
.p-oy-howto .p-oy-howto__sticker img {
  border-radius: 0;
  height: auto;
  width: 100%;
}

/* step02 */
.p-oy-howto .p-oy-bg-slide {
  margin-top: 7.246vw;
  margin-bottom: 3vw;
}
.p-oy-howto .p-oy-bg-slide + .p-oy-howto__step {
  margin-top: 3.608vw;
}
.p-oy-howto .p-oy-howto__step--02 {
  padding-bottom: 9.062vw;
}
.p-oy-howto .p-oy-howto__num--02 {
  background: #60c1c2;
}
.p-oy-howto .p-oy-howto__step--02 .p-oy-howto__step-ttl {
  margin-bottom: 5.197vw;
}
.p-oy-howto .p-oy-howto__step--02 .p-oy-howto__text p:not(.p-oy-howto__lead).p-oy-howto__note {
  font-size: 2.898vw;
  letter-spacing: 0.0833em;
  line-height: 2;
}

/* zone */
.p-oy-howto .p-oy-howto__step,
.p-oy-howto .p-oy-howto__step--02,
.p-oy-howto .p-oy-howto__step--03,
.p-oy-howto .p-oy-howto__step--04 {
  z-index: 1;
}
.p-oy-howto .p-oy-howto__zone {
  line-height: 0;
  overflow: hidden;
  padding-block: 15.535vw;
  position: relative;
  z-index: 0;
}
.p-oy-howto .p-oy-howto__zone .loop {
  transform: rotate(-6.9deg);
}
.p-oy-howto .p-oy-howto__zone--wakuwaku .loop {
  transform: rotate(6.8deg);
}
.p-oy-howto .p-oy-howto__zone .loop__box {
  animation: oy-loop-slide 50s linear infinite;
  display: flex;
  width: max-content;
}
.p-oy-howto .p-oy-howto__zone .loop__box img {
  display: block;
  flex-shrink: 0;
  height: auto;
  margin-right: 7.768vw;
  width: 211vw;
}
.p-oy-howto .p-oy-howto__zone--attraction .loop__box img {
  width: 213.156vw;
}
.p-oy-howto .p-oy-howto__zone--wakuwaku {
  margin-bottom: -3.637vw;
  margin-top: 0;
  position: relative;
  z-index: 0;
}
.p-oy-howto .p-oy-howto__zone--attraction {
  margin-bottom: -13.4vw;
  position: relative;
  z-index: 0;
}

/* step03 */
.p-oy-howto .p-oy-howto__step--03 {
  margin-top: 0;
  padding-bottom: 8.862vw;
}
.p-oy-howto .p-oy-howto__num--03 {
  background: #fac83e;
}
.p-oy-howto .p-oy-howto__step-ttl--03 {
  color: #3a3a3a;
  font-size: 5.797vw;
  font-weight: 700;
  letter-spacing: 0.0833em;
  line-height: 1.5833;
  margin-bottom: 5.797vw;
}
.p-oy-howto .p-oy-howto__step-ttl--03 .is-mark {
  font-size: 5.797vw;
  letter-spacing: 0.0833em;
  line-height: 1.5833;
}
.p-oy-howto .p-oy-howto__step-ttl--03 .is-mark::after {
  height: 2.899vw;
  left: 50%;
  width: 96.16%;
}
.p-oy-howto .p-oy-howto__step--03 .p-oy-howto__types {
  margin-bottom: 5.797vw;
  order: -1;
}
.p-oy-howto .p-oy-howto__types {
  display: grid;
  gap: 2.415vw;
  grid-template-columns: repeat(2, 1fr);
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
}
.p-oy-howto .p-oy-howto__type {
  background: #edecde;
  border-radius: 4.831vw;
  display: grid;
  grid-template-rows: auto 1fr;
  height: 36.232vw;
  justify-items: center;
  overflow: hidden;
  padding-top: 4.831vw;
  align-items: flex-end;
}
.p-oy-howto .p-oy-howto__type-name {
  font-size: 3.865vw;
  font-weight: 500;
  letter-spacing: 0.0625em;
  line-height: 1;
  text-align: center;
}
.p-oy-howto .p-oy-howto__type img {
  align-self: end;
  display: block;
  height: 24.15vw;
  width: 100%;
}
.p-oy-howto .p-oy-howto__btn--03 {
  background: #fff;
  border: 0.2vw solid #3a3a3a;
  box-shadow: none;
}
.p-oy-howto .p-oy-howto__step--03 .p-oy-howto__text p:not(.p-oy-howto__lead).p-oy-howto__note {
  font-size: 2.898vw;
  letter-spacing: 0.0833em;
  line-height: 2;
}

/* step04 */
.p-oy-howto .p-oy-howto__step--04 {
  background: transparent;
  border: 0;
  border-radius: 0;
  margin-top: 0;
  padding: 0;
  position: relative;
  width: 100%;
}
.p-oy-howto .p-oy-howto__num--04 {
  background: #ea5f4e;
  left: auto;
  margin-bottom: 4.831vw;
  margin-inline: auto;
  position: relative;
  top: 0;
  transform: none;
}
.p-oy-howto .p-oy-howto__step--04 .p-oy-howto__step-ttl {
  margin-bottom: 5.797vw;
}
.p-oy-howto .p-oy-howto__step--04 .p-oy-howto__step-ttl .is-mark::after {
  width: 77%;
  left: -1%;
  transform: translateX(0%);
}
.p-oy-howto .p-oy-howto__step--04 .p-oy-howto__body {
  display: block;
  margin-inline: auto;
  text-align: center;
  width: 82.609vw;
}
.p-oy-howto .p-oy-howto__illust {
  position: absolute;
  z-index: 1;
}
.p-oy-howto .p-oy-howto__illust img {
  display: block;
  height: auto;
  width: 100%;
}
.p-oy-howto .p-oy-howto__illust--left {
  left: 1.631vw;
  top: 69.054vw;
  width: 16.31vw;
}
.p-oy-howto .p-oy-howto__illust--right {
  right: 2.531vw;
  left: auto;
  top: 57.469vw;
  width: 9.662vw;
}
.p-oy-howto .p-oy-howto__slide {
  margin-top: 9.662vw;
}
.p-oy-howto .p-oy-howto__slide .loop__box img {
  margin-right: 0.932vw;
  width: 293.4vw;
}
.p-oy-howto .p-oy-howto__btn--04 {
  background: #fff;
  border: 0.242vw solid #3a3a3a;
  box-shadow: none;
  color: #3a3a3a;
  margin-bottom: 0;
  margin-top: 9.662vw;
  width: 82.609vw;
}
.p-oy-howto .p-oy-howto__step--04 > .p-oy-howto__note {
  font-size: 3.382vw;
  font-weight: 500;
  letter-spacing: 0.0714em;
  line-height: 1.8571;
  margin-inline: auto;
  margin-top: 5.797vw;
  text-align: center;
  width: 82.609vw;
}

/* step05 */
.p-oy-howto .p-oy-howto__step--05 {
  margin-top: 18.908vw;
  overflow: visible;
  position: relative;
  width: 92.271vw;
  z-index: 1;
  padding-block: 14.093vw 6.962vw;
}
.p-oy-howto .p-oy-howto__num--05 {
  background: #78643f;
}
.p-oy-howto .p-oy-howto__step-ttl--05 {
  font-size: 5.797vw;
  font-weight: 700;
  letter-spacing: 0.0833em;
  line-height: 1.5833;
  margin-bottom: 5.797vw;
}
.p-oy-howto .p-oy-howto__step--05 .p-oy-howto__text p:nth-child(3) {
  margin-bottom: 1.932vw;
  margin-top: 0;
}
.p-oy-howto .p-oy-howto__step--05 .p-oy-howto__note {
  font-size: 2.898vw;
  letter-spacing: 0.0833em;
  line-height: 2;
  text-align: left;
}
.p-oy-howto .p-oy-howto__step--05 .p-oy-howto__text p.p-oy-howto__deco-note {
  color: #625d52;
  font-size: 2.657vw;
  font-weight: 500;
  left: 4.43vw;
  letter-spacing: 0.083333em;
  line-height: 1.2;
  margin: 0;
  max-width: none;
  position: absolute;
  right: 4.43vw;
  text-align: right;
  top: 99.9vw;
  z-index: 2;
}
.p-oy-howto .p-oy-howto__step--05 .p-oy-howto__note span {
  display: block;
}
.p-oy-howto .p-oy-howto__step--05 .p-oy-howto__note:empty {
  display: none;
}
.p-oy-howto .p-oy-howto__step--05 .p-oy-howto__media {
  margin-bottom: 21.5vw;
}
.p-oy-howto .p-oy-howto__sup {
  font-size: 2.415vw;
  letter-spacing: 0.1em;
  line-height: 2.6;
}
.p-oy-howto .p-oy-howto__step--05 .p-oy-howto__media img {
  border-radius: 2.415vw;
}
.p-oy-howto .p-oy-howto__deco {
  margin: 0;
  position: absolute;
  z-index: 2;
}
.p-oy-howto .p-oy-howto__deco img {
  display: block;
  height: auto;
  width: 100%;
}
.p-oy-howto .p-oy-howto__deco--omiyage {
  left: 20.514vw;
  right: auto;
  top: 74.579vw;
  width: 24.155vw;
}
.p-oy-howto .p-oy-howto__deco--banana {
  left: 46.118vw;
  right: auto;
  top: 74.579vw;
  width: 21.98vw;
}
.p-oy-howto .p-oy-howto__deco .p-oy-howto__deco-fruit {
  left: 61.6%;
  position: absolute;
  top: 61.3%;
  width: 11.18vw;
}

/* wave */
.p-oy-howto .p-oy-howto__wave {
  left: 0;
  line-height: 0;
  margin: 0;
  position: absolute;
  top: 100%;
  width: 100%;
  z-index: 2;
}
.p-oy-howto .p-oy-howto__wave img {
  display: block;
  height: auto;
  width: 100%;
}

/* pickup */
.p-oy-pickup {
  background: transparent;
  padding-bottom: 0;
  padding-top: 9.662vw;
}
.p-oy-pickup .p-oy-pickup__en {
  color: #c18a5a;
  font-size: 7.729vw;
  font-weight: 700;
  letter-spacing: 0.0625em;
  line-height: 1;
  margin-bottom: -4.203vw;
  position: relative;
  text-align: center;
  z-index: 1;
}
.p-oy-pickup .p-oy-pickup__box {
  background: #edecde;
  border-radius: 4.831vw;
  margin-inline: auto;
  position: relative;
  width: 92.271vw;
  padding-block: 13.062vw 9.662vw;
}
.p-oy-pickup .p-oy-pickup__sticker {
  position: absolute;
  right: 2.415vw;
  top: -12.077vw;
  width: 24.155vw;
  z-index: 2;
}
.p-oy-pickup .p-oy-pickup__sticker img {
  display: block;
  height: auto;
  width: 100%;
}
.p-oy-pickup .p-oy-pickup__main {
  display: grid;
  gap: 5.797vw;
  grid-template-columns: 100%;
  justify-items: center;
  margin-bottom: 5.797vw;
  width: 82.61vw;
  margin-inline: auto;
}
.p-oy-pickup .p-oy-pickup__photo {
  margin: 0;
  order: 2;
  width: 72.464vw;
}
.p-oy-pickup .p-oy-pickup__photo img {
  display: block;
  height: auto;
  width: 100%;
}
.p-oy-pickup .p-oy-pickup__text {
  display: grid;
  gap: 1.932vw;
  order: 1;
  width: 100%;
}
.p-oy-pickup .p-oy-pickup__ttl {
  font-size: 3.865vw;
  font-weight: 500;
  letter-spacing: 0.125em;
  line-height: 2.5;
  margin-bottom: 0;
  text-align: center;
}
.p-oy-pickup .p-oy-pickup__seminar {
  font-size: 5.797vw;
  font-weight: 700;
  letter-spacing: 0.0833em;
  line-height: 1.25;
}
.p-oy-pickup .p-oy-pickup__seminar span {
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  line-height: inherit;
}
.p-oy-pickup .p-oy-pickup__text p {
  font-size: 3.382vw;
  font-weight: 500;
  letter-spacing: 0.0714em;
  line-height: 1.8571;
}
.p-oy-pickup .p-oy-pickup__ttl + p {
  margin-top: 2.097vw;
  margin-bottom: 4vw;
}
.p-oy-pickup .p-oy-pickup__profile {
  background: transparent;
  border-radius: 0;
  display: grid;
  gap: 3.865vw;
  grid-template-columns: 100%;
  margin-inline: auto;
  margin-top: 0;
  margin-bottom: 5.797vw;
  padding: 0;
  width: 72.464vw;
}
.p-oy-pickup .p-oy-pickup__person {
  display: grid;
  gap: 1.932vw;
}
.p-oy-pickup .p-oy-pickup__role {
  font-size: 3.382vw;
  font-weight: 500;
  letter-spacing: 0.0714em;
  line-height: 1.8571;
}
.p-oy-pickup .p-oy-pickup__name {
  align-items: center;
  display: flex;
  font-size: 5.797vw;
  font-weight: 500;
  gap: 2.415vw;
  justify-content: flex-start;
  letter-spacing: 0.0416em;
  line-height: 1.0833;
  padding-right: 0;
}
.p-oy-pickup .p-oy-pickup__ig {
  display: block;
  flex-shrink: 0;
  text-decoration: none;
  width: 5.80vw;
}
.p-oy-pickup .p-oy-pickup__ig img {
  display: block;
  height: auto;
  width: 100%;
}
.p-oy-pickup .p-oy-pickup__bio {
  border-left: 0;
  border-top: 0.2vw solid #3a3a3a;
  font-size: 3.382vw;
  font-weight: 500;
  letter-spacing: 0.0714em;
  line-height: 1.8571;
  padding-block: 0;
  padding-left: 0;
  padding-top: 3.865vw;
}
.p-oy-pickup .p-oy-pickup__meta {
  font-size: 3.382vw;
  font-weight: 700;
  letter-spacing: 0.0714em;
  line-height: 1.8571;
}
.p-oy-pickup .p-oy-pickup__meta .is-u {
  border-bottom: 0.4vw solid #3a3a3a;
  padding-bottom: 0.4vw;
}
.p-oy-pickup .p-oy-pickup__btn {
  align-items: center;
  background: #f6da1e;
  border-radius: 2000px;
  box-shadow: 0 1.449vw 2.898vw rgba(58, 58, 58, 0.15);
  display: grid;
  font-size: 3.865vw;
  font-weight: 700;
  grid-template-columns: 1fr auto;
  height: 15.459vw;
  letter-spacing: 0.083em;
  line-height: 1.667;
  margin-inline: auto;
  padding-inline: 5.797vw;
  text-align: center;
  text-decoration: none;
  width: min(100%, 72.464vw);
}
.p-oy-pickup .p-oy-pickup__btn span {
  grid-column: 1 / -1;
  grid-row: 1;
}
.p-oy-pickup .p-oy-pickup__btn img {
  grid-column: 2;
  grid-row: 1;
  height: auto;
  width: 6.763vw;
}

/* booth */
.p-oy-booth {
  background: #fff;
  padding-block: 23.524vw 14.486vw;
  position: relative;
  z-index: 1;
}
.p-oy-booth .p-oy-booth__head {
  margin-bottom: 9.662vw;
  text-align: center;
}
.p-oy-booth .p-oy-booth__en {
  color: #c18a5a;
  display: block;
  font-size: 7.729vw;
  font-weight: 700;
  letter-spacing: 0.0625em;
  line-height: 1;
  margin-bottom: 2.432vw;
}
.p-oy-booth .p-oy-booth__ja {
  display: block;
  font-size: 4.831vw;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.6;
  margin-top: 0;
}
.p-oy-booth .p-oy-booth__list {
  display: grid;
  gap: 9.662vw 3.141%;
  grid-template-columns: repeat(2, 1fr);
  list-style: none;
  margin: 0 auto;
  padding: 0;
  width: 92.271vw;
}
.p-oy-booth .p-oy-booth__item {
  min-width: 0;
}
.p-oy-booth .p-oy-booth__item:nth-child(n + 13) {
  display: none;
}
.p-oy-booth .p-oy-booth__card {
  color: #3a3a3a;
  display: grid;
  gap: 2.899vw;
  grid-template-rows: auto 1fr;
  height: 100%;
  text-decoration: none;
}
.p-oy-booth .p-oy-booth__pic {
  aspect-ratio: 185 / 130;
  margin: 0;
  overflow: hidden;
}
.p-oy-booth .p-oy-booth__pic img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.p-oy-booth .p-oy-booth__body {
  display: grid;
  gap: 3.865vw;
  grid-template-rows: 1fr auto;
}
.p-oy-booth .p-oy-booth__content {
  align-content: start;
  display: grid;
  gap: 2.899vw;
}
.p-oy-booth .p-oy-booth__meta {
  display: grid;
  gap: 1.932vw;
}
.p-oy-booth .p-oy-booth__ttl {
  font-size: 3.382vw;
  font-weight: 500;
  letter-spacing: 0.0714em;
  line-height: 1.8571;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.p-oy-booth .p-oy-booth__cat {
  display: flex;
  flex-wrap: wrap;
  gap: 1.932vw;
}
.p-oy-booth .p-oy-booth__cat span {
  background: #fbfaed;
  display: inline-block;
  font-size: 2.898vw;
  font-weight: 500;
  letter-spacing: 0.0833em;
  line-height: 1.6667;
  padding: 0.966vw 1.932vw;
}
.p-oy-booth .p-oy-booth__txt {
  font-size: 2.898vw;
  font-weight: 400;
  letter-spacing: 0.0833em;
  line-height: 1.6667;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.p-oy-booth .p-oy-booth__btn {
  align-items: center;
  border: 0.242vw solid #3a3a3a;
  border-radius: 483.09vw;
  display: grid;
  font-size: 2.898vw;
  font-weight: 500;
  grid-template-columns: 1fr auto;
  height: 7.246vw;
  letter-spacing: 0.1666em;
  line-height: 1;
  margin-top: auto;
  padding-inline: 1.932vw;
  text-align: center;
}
.p-oy-booth .p-oy-booth__btn span {
  grid-column: 1 / -1;
  grid-row: 1;
}
.p-oy-booth .p-oy-booth__btn img {
  grid-column: 2;
  grid-row: 1;
  height: auto;
  width: 3.382vw;
}

/* reserve */
.p-oy-reserve {
  --oy-gondola-h: 55.4vw;
  --oy-gondola-scale: 1.54;
  --oy-gondola-gap: 0;
  --oy-gondola-center-x: 0;
  --oy-gondola-side-y: -14.98vw;
  --oy-gondola-center-gap: 4.831vw;
  --oy-gondola-left-ml: -22.58vw;
  --oy-gondola-right-ml: -7.05vw;
  --oy-gondola-ld2: 32.449vw;
  --oy-gondola-ld3: 61.722vw;
  --oy-gondola-rd2: 33.79vw;
  --oy-gondola-rd3: 64.502vw;
  --oy-gondola-n: 9;
  background: linear-gradient(to bottom, #fff 77.42vw, #fbfaed 59.42vw);
  color: #3a3a3a;
  overflow: visible;
  padding-block: 0 7.729vw;
  position: relative;
  z-index: 1;
}
.p-oy-reserve::before {
  background: #EDECDE;
  clip-path: polygon(0 13.76%, 100% 0, 100% 86.24%, 0 100%);
  content: "";
  height: 191.304vw;
  left: 0;
  position: absolute;
  top: 51.02vw;
  width: 100%;
  z-index: 0;
}
.p-oy-reserve .p-oy-reserve__air,
.p-oy-reserve .p-oy-reserve__flag,
.p-oy-reserve .p-oy-reserve__ttl,
.p-oy-reserve .p-oy-reserve__ride,
.p-oy-reserve .p-oy-reserve__btn,
.p-oy-reserve .p-oy-reserve__links {
  position: relative;
  z-index: 1;
}
.p-oy-reserve .p-oy-reserve__air {
  position: absolute;
  right: 2.899vw;
  top: -8vw;
  width: 26.57vw;
  z-index: 2;
}
.p-oy-reserve .p-oy-reserve__balloon {
  margin: 0;
  position: relative;
  z-index: 1;
}
.p-oy-reserve .p-oy-reserve__balloon img {
  display: block;
  height: auto;
  width: 100%;
}
.p-oy-reserve .p-oy-reserve__cloud {
  right: -3%;
  margin: 0;
  position: absolute;
  bottom: -12.5%;
  width: 19.81vw;
  z-index: 0;
}
.p-oy-reserve .p-oy-reserve__cloud img {
  display: block;
  height: auto;
  width: 100%;
}
.p-oy-reserve .p-oy-reserve__flag {
  left: 1.932vw;
  position: absolute;
  top: -0.754vw;
  width: 18.357vw;
  z-index: 2;
}
.p-oy-reserve .p-oy-reserve__flag img {
  display: block;
  height: auto;
  width: 100%;
}
.p-oy-reserve .p-oy-reserve__ttl {
  left: auto;
  margin-bottom: 1.5vw;
  margin-inline: auto;
  position: relative;
  text-align: center;
  width: 97.101vw;
  z-index: 1;
}
.p-oy-reserve .p-oy-reserve__ttl img {
  display: block;
  height: auto;
  margin-inline: auto;
  width: 100%;
}
.p-oy-reserve .p-oy-reserve__ride {
  height: 85.024vw;
  margin-bottom: -2vw;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.p-oy-reserve .p-oy-reserve__gondolas {
  height: 100%;
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
}
.p-oy-reserve .p-oy-reserve__gondola {
  bottom: 0;
  height: var(--oy-gondola-h);
  left: 50%;
  margin: 0;
  overflow: visible;
  position: absolute;
  top: auto;
  transform: none;
  transform-origin: center bottom;
  transition: transform 2.5s ease-in-out;
  width: max-content;
  will-change: transform;
}
.p-oy-reserve .p-oy-reserve__gondola img {
  display: block;
  height: 100%;
  max-width: none;
  width: auto;
}
.p-oy-reserve .p-oy-info__panel {
  margin-bottom: 4.831vw;
  margin-inline: auto;
  position: relative;
  width: 92.271vw;
  z-index: 2;
}
.p-oy-reserve .p-oy-info__fukidashi {
  left: 0;
  margin: 0;
  position: absolute;
  top: -91.333vw;
  width: 30.918vw;
  z-index: 3;
  transform: rotate(4deg);
}
.p-oy-reserve .p-oy-info__fukidashi img {
  display: block;
  height: auto;
  width: 100%;
}
.p-oy-reserve .p-oy-info__badge {
  background: #e88c34;
  color: #fff;
  font-size: 3.942vw;
  height: 24.638vw;
  letter-spacing: 0.0625em;
  right: -1.449vw;
  top: -16.667vw;
  width: 24.638vw;
  filter: drop-shadow(0 0.97vw 0.97vw rgba(58, 58, 58, 0.20));
}
.p-oy-reserve .p-oy-info__badge span:before {
  background: #c18a5a;
}
.p-oy-reserve .p-oy-reserve__btn {
  align-items: center;
  background: #f6da1e;
  border-radius: 483.09vw;
  box-shadow: 0 1.449vw 2.415vw rgba(58, 58, 58, 0.24);
  color: #3a3a3a;
  display: grid;
  font-size: 3.865vw;
  font-weight: 700;
  grid-template-columns: 1fr auto;
  height: 14.493vw;
  letter-spacing: 0.125em;
  line-height: 1;
  margin-bottom: 3.865vw;
  margin-inline: auto;
  padding-inline: 4.831vw;
  text-align: center;
  text-decoration: none;
  width: 82.609vw;
}
.p-oy-reserve .p-oy-reserve__btn span {
  grid-column: 1 / -1;
  grid-row: 1;
}
.p-oy-reserve .p-oy-reserve__btn img {
  grid-column: 2;
  grid-row: 1;
  height: auto;
  width: 4.831vw;
}
.p-oy-reserve .p-oy-reserve__links {
  align-items: center;
  display: grid;
  gap: 0;
  justify-content: center;
  justify-items: center;
}
.p-oy-reserve .p-oy-reserve__about {
  border: 0.242vw solid #3a3a3a;
  display: grid;
  font-size: 3.865vw;
  font-weight: 500;
  letter-spacing: 0.125em;
  line-height: 1.5;
  margin-bottom: 1.932vw;
  padding: 1.732vw 3.4vw;
  place-items: center;
  text-align: center;
  width: max-content;
}
.p-oy-reserve .p-oy-reserve__priority {
  font-weight: 500;
  letter-spacing: 0.125em;
  line-height: 1.5;
  padding-top: 0;
  text-align: center;
}
.p-oy-reserve .p-oy-reserve__priority .is-u {
  border-bottom: 0.242vw solid #3a3a3a;
  display: inline-block;
  font-size: 3.865vw;
  letter-spacing: 0.125em;
  line-height: 1.5;
  padding-bottom: 0.242vw;
}
.p-oy-reserve .p-oy-reserve__priority .is-sub {
  display: block;
  font-size: 3.382vw;
  font-weight: 400;
  letter-spacing: 0.1428em;
  line-height: 1.7142;
}

/* access
-------------------------------------*/
.p-oy-access {
  background: #fbfaed;
  color: #3a3a3a;
  padding-block: 0 19.324vw;
}
.p-oy-access .p-oy-access__card {
  align-items: center;
  background: #fff;
  border-radius: 4.831vw;
  box-shadow: 0.966vw 0.966vw 0 #e88c34;
  display: grid;
  gap: 5.797vw;
  grid-template-columns: 1fr;
  justify-items: center;
  margin-inline: auto;
  padding: 9.662vw 4.831vw;
  width: 92.271vw;
}
.p-oy-access .p-oy-access__body {
  display: contents;
}
.p-oy-access .p-oy-access__head {
  border-bottom: none;
  margin-bottom: 0;
  order: 1;
  padding-bottom: 0;
  text-align: center;
  width: 100%;
}
.p-oy-access .p-oy-access__map {
  aspect-ratio: 342 / 240;
  height: 57.971vw;
  justify-self: stretch;
  order: 2;
  overflow: hidden;
  position: relative;
  width: 100%;
}
.p-oy-access .p-oy-access__map iframe {
  aspect-ratio: auto;
  border: 0;
  display: block;
  height: 100%;
  left: 0;
  margin: 0;
  max-width: none;
  position: absolute;
  top: 0;
  width: 100%;
}
.p-oy-access .p-oy-access__info {
  margin-top: 0;
  order: 3;
  text-align: center;
  width: 100%;
}
.p-oy-access .p-oy-access__en {
  color: #c18a5a;
  font-size: 7.729vw;
  font-weight: 700;
  letter-spacing: 0.0625em;
  line-height: 1;
  margin-bottom: 1.932vw;
}
.p-oy-access .p-oy-access__ja {
  font-size: 4.831vw;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.6;
  margin-top: 0;
}
.p-oy-access .p-oy-access__name {
  font-size: 5.797vw;
  font-weight: 500;
  letter-spacing: 0.0833em;
  line-height: 1.3333;
  margin-bottom: 1.932vw;
}
.p-oy-access .p-oy-access__addr {
  font-size: 3.865vw;
  font-weight: 500;
  letter-spacing: 0.0625em;
  line-height: 1.75;
  margin-bottom: 3.865vw;
  margin-top: 0;
}
.p-oy-access .p-oy-access__ways {
  display: grid;
  gap: 4.831vw;
  grid-template-columns: 1fr;
  justify-items: center;
  margin-inline: auto;
  margin-top: 0;
  width: 55.556vw;
}
.p-oy-access .p-oy-access__way {
  width: 100%;
}
.p-oy-access .p-oy-access__way-ttl {
  align-items: center;
  background: #67a163;
  color: #fff;
  display: grid;
  font-size: 3.382vw;
  font-weight: 500;
  letter-spacing: 0.0714em;
  line-height: 1;
  min-height: 8.937vw;
  padding: 0 1.932vw;
  place-items: center;
  text-align: center;
}
.p-oy-access .p-oy-access__way-txt {
  align-items: center;
  background: #fbfaed;
  display: grid;
  font-size: 3.382vw;
  font-weight: 500;
  letter-spacing: 0.0714em;
  line-height: 1.8571;
  min-height: 20.29vw;
  padding: 3.865vw 1.932vw;
  place-items: center;
  text-align: center;
}

/* concept
-------------------------------------*/
.p-oy-concept {
  background: #fbfaed;
  color: #3a3a3a;
  overflow: hidden;
  padding-block: 9.662vw 19.324vw;
  position: relative;
  text-align: center;
}
.p-oy-concept .p-oy-concept__en {
  color: #edecde;
  font-size: 16.908vw;
  font-weight: 700;
  left: 50%;
  letter-spacing: -0.0017em;
  line-height: 1;
  pointer-events: none;
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  white-space: nowrap;
  z-index: 0;
}
.p-oy-concept .p-oy-concept__ttl {
  color: #67a163;
  font-size: 5.797vw;
  font-weight: 700;
  letter-spacing: 0.0833em;
  line-height: 1.6666;
  margin-bottom: 5.797vw;
  margin-inline: auto;
  position: relative;
  width: 87.44vw;
  z-index: 1;
}
.p-oy-concept .p-oy-concept__txt {
  font-size: clamp(12px, 3.382vw, 14px);
  font-weight: 500;
  letter-spacing: 0.125em;
  line-height: 2;
  margin-inline: auto;
  margin-top: 0;
  position: relative;
  width: 87.44vw;
  z-index: 1;
}
.p-oy-concept .p-oy-concept__txt + .p-oy-concept__txt {
  margin-top: 5.797vw;
}


}
