@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@600&family=Noto+Sans+JP:wght@100..900&display=swap");
/*rootに変数を登録*/
:root {
  --color-pink: #e3007e;
  --color-yellow: #fff102;
  --color-lightYellow: #faf693;
  --color-creem: #f7f6ef;
  --color-orange: #ec8800;
  --color-rightOrange: #ecb064;
  --color-green: #69d0bf;
  --hover-transition: all 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
  --font-sans: "Noto Sans JP", sans-serif;
  --font-yu: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  --font-mo: "Montserrat", sans-serif;
}

/*共通*/
body {
  font-family: var(--font-sans);
  color: #333;
  min-width: 750px;
}
body > .bg {
  background: url(../../assets/images/body-img_01.webp) no-repeat;
  width: 100%;
  height: 100vh;
  background-size: cover;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  -webkit-filter: saturate(0.8);
          filter: saturate(0.8);
}
@media (max-width: 750px) {
  body > .bg {
    display: none;
  }
}

/*reset*/
ol,
ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.lpCw {
  max-width: 750px;
  margin: 0 auto;
  background-color: #fff;
  overflow: hidden;
  -webkit-box-shadow: 0 10px 25px 0 #303030;
          box-shadow: 0 10px 25px 0 #303030;
  /*ヘッダー*/
}
.lpCw .lpCw__headfoot {
  height: 146px;
  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;
}
.lpCw .lpCw__headfoot img {
  width: 370px;
}
.lpCw .fv {
  background: url("../../assets/images/fv-bg_01.webp") center center/cover no-repeat;
  height: 943px;
  position: relative;
  padding: 280px 0 0;
}
.lpCw .fv .fv__txt {
  position: absolute;
  z-index: 2;
  top: -30px;
  left: -15px;
}
.lpCw .fv .fv__ttl {
  font-family: var(--font-yu);
  font-size: 75px;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  letter-spacing: 0.08em;
  line-height: 1.46;
  position: relative;
}
.lpCw .fv .fv__ttl .fv__ttl__img {
  position: absolute;
  left: 70px;
  bottom: -130px;
  z-index: 2;
  opacity: 0;
  visibility: hidden;
  -webkit-transform-origin: bottom left;
          transform-origin: bottom left;
}
.lpCw .fv .fv__ttl .line {
  position: relative;
  z-index: 1;
  padding: 0 8px 0 32px;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.lpCw .fv .fv__ttl .line::before {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 1.3em;
  background-color: rgba(255, 255, 255, 0.65);
  z-index: -1;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-animation: clip cubic-bezier(0.215, 0.61, 0.355, 1) 1s normal both;
          animation: clip cubic-bezier(0.215, 0.61, 0.355, 1) 1s normal both;
  -webkit-animation-delay: 1.25s;
          animation-delay: 1.25s;
}
@-webkit-keyframes clip {
  0% {
    -webkit-clip-path: inset(0 100% 0 0);
            clip-path: inset(0 100% 0 0);
  }
  100% {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
  }
}
@keyframes clip {
  0% {
    -webkit-clip-path: inset(0 100% 0 0);
            clip-path: inset(0 100% 0 0);
  }
  100% {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
  }
}
.lpCw .fv .fv__ttl .line.small {
  font-size: 50px;
}
.lpCw .fv .fv__circle {
  position: absolute;
  right: -15px;
  bottom: -43px;
  width: 390px;
  aspect-ratio: 1/1;
}
.lpCw .fv .fv__circle .fv__circle__bg {
  aspect-ratio: 1/1;
  width: 390px;
  background-color: rgba(255, 255, 255, 0.65);
  border-radius: 50%;
  position: absolute;
  -webkit-animation: blinkcircle 4s infinite;
          animation: blinkcircle 4s infinite;
}
@-webkit-keyframes blinkcircle {
  0% {
    opacity: 1;
    scale: 1;
  }
  10% {
    opacity: 1;
    scale: 1;
  }
  20% {
    opacity: 1;
    scale: 1;
  }
  30% {
    opacity: 1;
    scale: 1;
  }
  40% {
    opacity: 1;
    scale: 1;
  }
  50% {
    opacity: 1;
    scale: 1;
  }
  70% {
    opacity: 1;
    scale: 1;
  }
  80% {
    opacity: 1;
    scale: 1;
  }
  90% {
    scale: 0.9;
    opacity: 0;
  }
  100% {
    opacity: 1;
    scale: 1;
  }
}
@keyframes blinkcircle {
  0% {
    opacity: 1;
    scale: 1;
  }
  10% {
    opacity: 1;
    scale: 1;
  }
  20% {
    opacity: 1;
    scale: 1;
  }
  30% {
    opacity: 1;
    scale: 1;
  }
  40% {
    opacity: 1;
    scale: 1;
  }
  50% {
    opacity: 1;
    scale: 1;
  }
  70% {
    opacity: 1;
    scale: 1;
  }
  80% {
    opacity: 1;
    scale: 1;
  }
  90% {
    scale: 0.9;
    opacity: 0;
  }
  100% {
    opacity: 1;
    scale: 1;
  }
}
.lpCw .fv .fv__circle .fv__circle__txt {
  position: absolute;
  z-index: 1;
  left: 0;
  right: 0;
  margin: auto;
  top: 52px;
}
.lpCw .applyArea .applyArea__txt {
  font-size: 34px;
  font-weight: bold;
  text-align: center;
  line-height: 1.35;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  margin-bottom: 40px;
}
.lpCw .applyArea .applyArea__txt::before, .lpCw .applyArea .applyArea__txt::after {
  content: "";
  display: inline-block;
  width: 61px;
  height: 88px;
  background-image: url("../../assets/images/applyArea-img_01.svg");
  -webkit-animation: blink 1s step-end infinite;
          animation: blink 1s step-end infinite;
}
@-webkit-keyframes blink {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes blink {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.lpCw .applyArea .applyArea__txt::after {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}
.lpCw .applyArea .applyList {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 32px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
}
.lpCw .applyArea .applyList .applyList__item {
  max-width: 550px;
  width: 100%;
  margin: 0 auto;
  -webkit-box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.5);
          box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.5);
}
.lpCw .applyArea .applyList .applyList__item:nth-child(2n-1) .applyList__item__link {
  background-color: var(--color-green);
}
.lpCw .applyArea .applyList .applyList__item:nth-child(2n) .applyList__item__link {
  background-color: var(--color-orange);
}
.lpCw .applyArea .applyList .applyList__item.done {
  position: relative;
}
.lpCw .applyArea .applyList .applyList__item.done .applyList__item__link {
  background-color: #a7a7a7;
  pointer-events: none;
}
.lpCw .applyArea .applyList .applyList__item.done .applyList__item__done {
  opacity: 1;
  visibility: visible;
  display: block;
}
.lpCw .applyArea .applyList .applyList__item .applyList__item__done {
  display: block;
  position: absolute;
  top: 50%;
  right: -40px;
  aspect-ratio: 1/1;
  width: 126px;
  background-image: url("../../assets/images/applyArea-img_02.png");
  background-size: contain;
  z-index: 1;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  opacity: 0;
  visibility: hidden;
  display: none;
}
.lpCw .applyArea .applyList .applyList__item .applyList__item__link {
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  text-decoration: none;
  padding: 24px 24px 24px 32px;
  -webkit-transition: var(--hover-transition);
  transition: var(--hover-transition);
}
.lpCw .applyArea .applyList .applyList__item .applyList__item__link::after {
  content: "";
  display: block;
  width: 40px;
  aspect-ratio: 1/1;
  background: url("../../assets/images/common-arrow_01.svg") center center/contain no-repeat;
}
.lpCw .applyArea .applyList .applyList__item .applyList__item__link:hover {
  -webkit-filter: brightness(1.1);
          filter: brightness(1.1);
}
.lpCw .applyArea .applyList .applyList__item .applyList__item__link .day {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  font-size: 22px;
  font-weight: bold;
  gap: 4px;
  min-width: 152px;
}
.lpCw .applyArea .applyList .applyList__item .applyList__item__link .day .num {
  font-family: var(--font-mo);
  font-size: 36px;
}
.lpCw .applyArea .applyList .applyList__item .applyList__item__link .time {
  font-size: 34px;
  font-family: var(--font-mo);
  letter-spacing: 0.05em;
}
.lpCw .firstSec .applyArea {
  margin-top: 40px;
}
.lpCw .firstSec .firstSec__txt {
  font-size: 25px;
  margin-top: 80px;
  padding: 0 48px 48px;
}
.lpCw .sec5 {
  position: relative;
}
.lpCw .sec5 .sec5__txt {
  position: absolute;
  top: 163px;
  width: 100%;
  text-align: center;
  -webkit-transform: rotate(-3deg);
          transform: rotate(-3deg);
}
.lpCw .sec5 .sec5__txt .sec5__txt__bg {
  background-color: #fff;
  width: calc(750px + 40px);
  height: 67px;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  --clip: inset(0 0 100% 0);
  -webkit-clip-path: var(--clip);
          clip-path: var(--clip);
}
.lpCw .sec5 .sec5__txt .sec5__txt__txt {
  font-size: 33px;
  font-weight: 500;
  color: var(--color-rightOrange);
  position: relative;
}
.lpCw .sec6 {
  background-color: #fff;
  background-color: var(--color-lightYellow);
  padding-bottom: 72px;
}
.lpCw .sec7 {
  position: relative;
}
.lpCw .sec7 .sec7__img {
  position: relative;
  z-index: 1;
}
.lpCw .sec7 .sec7__fuki {
  position: absolute;
  top: 60px;
  left: -60px;
  -webkit-animation: fuki 2s infinite;
          animation: fuki 2s infinite;
}
@-webkit-keyframes fuki {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fuki {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.lpCw .sec7 .sec7__hatena {
  position: absolute;
  top: 141px;
  left: 97px;
  -webkit-transform-origin: center center;
          transform-origin: center center;
  -webkit-animation: swing 2s infinite;
          animation: swing 2s infinite;
}
@-webkit-keyframes swing {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  50% {
    -webkit-transform: rotate(15deg);
            transform: rotate(15deg);
  }
  100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
}
@keyframes swing {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  50% {
    -webkit-transform: rotate(15deg);
            transform: rotate(15deg);
  }
  100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
}
.lpCw .sec8 {
  background-color: var(--color-creem);
  position: relative;
}
.lpCw .sec8 .eventDate {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: -webkit-max-content 1em 1fr;
  -ms-grid-columns: max-content 1em 1fr;
  grid-template-columns: -webkit-max-content 1fr;
  grid-template-columns: max-content 1fr;
  font-size: 33px;
  gap: 0.25em 1em;
  position: absolute;
  top: 235px;
  left: 85px;
}
.lpCw .sec8 .eventDate dt.done,
.lpCw .sec8 .eventDate dd.done {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5em;
}
.lpCw .sec8 .eventDate dt.done span,
.lpCw .sec8 .eventDate dd.done span {
  position: relative;
}
.lpCw .sec8 .eventDate dt.done span::before,
.lpCw .sec8 .eventDate dd.done span::before {
  content: "";
  width: 100%;
  height: 2px;
  background-color: #000;
  display: block;
  top: 0;
  bottom: 0;
  margin: auto;
  position: absolute;
}
.lpCw .sec8 .eventDate dd.done::after {
  content: "受付終了";
  font-size: 33px;
  text-decoration: none;
}
.lpCw .sec9 .sec9__ttl {
  margin-top: 80px;
}
.lpCw .sec9 .tableGrid {
  display: -ms-grid;
  display: grid;
  max-width: calc(100% - 96px);
  margin: 40px auto 0;
  -ms-grid-columns: -webkit-max-content 1fr;
  -ms-grid-columns: max-content 1fr;
  grid-template-columns: -webkit-max-content 1fr;
  grid-template-columns: max-content 1fr;
}
.lpCw .sec9 .tableGrid dt,
.lpCw .sec9 .tableGrid dd {
  padding: 16px;
  font-size: 23px;
  background-color: #f8f6ef;
}
.lpCw .sec9 .tableGrid dt {
  font-weight: 500;
  border: 2px solid #000;
  background-color: var(--color-rightOrange);
}
.lpCw .sec9 .tableGrid dt:not(:first-child) {
  border-top: none;
}
.lpCw .sec9 .tableGrid dd {
  font-size: 23px;
  border: 2px solid #000;
  border-left: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 16px;
}
.lpCw .sec9 .tableGrid dd:not(:first-of-type) {
  border-top: none;
}
.lpCw .sec9 .tableGrid dd p.notion {
  font-size: 0.75em;
}
.lpCw .sec9 .tableGrid dd ul {
  list-style-type: disc;
  padding: 0 0 0 1em;
}
.lpCw .sec9 > .notion {
  font-size: 17.25px;
  margin-top: 16px;
  width: calc(100% - 96px);
  margin: 16px auto 0;
}

.btnArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  gap: 32px;
  margin-bottom: 80px;
}
.btnArea .btn {
  text-decoration: none;
  font-size: 33px;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  color: #fff;
  font-weight: 500;
  background-color: var(--color-pink);
  padding: 32px 40px;
  border-radius: 999em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  -webkit-box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.5);
          box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.5);
  -webkit-transition: var(--hover-transition);
  transition: var(--hover-transition);
}
.btnArea .btn:hover {
  -webkit-filter: brightness(1.1);
          filter: brightness(1.1);
}
.btnArea .btn::after {
  content: "";
  display: block;
  width: 40px;
  aspect-ratio: 1/1;
  background: url("../../assets/images/common-arrow_01.svg") center center/contain no-repeat;
}
.btnArea .btn.orange {
  background-color: var(--color-orange);
}
.btnArea .txtLink {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  font-size: 16px;
  font-size: 17.25px;
  color: #000;
}
.btnArea .txtLink:hover {
  text-decoration: none;
}