@charset "UTF-8";
body {
  color: #4A3636;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  background: #E9F6F8;
}
body.no-scroll {
  overflow: hidden;
}

.inner {
  width: 1064px;
  max-width: 100%;
  margin-inline: auto;
  padding-inline: 20px;
}

.pc-only {
  display: block;
}
@media (max-width: 767px) {
  .pc-only {
    display: none;
  }
}

.sp-only {
  display: none;
}
@media (max-width: 767px) {
  .sp-only {
    display: block;
  }
}

.section-title {
  text-align: center;
}

.section-title--en {
  font-family: "Courgette", cursive, sans-serif;
  font-size: 20px;
  text-align: center;
  color: #4A3636;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  padding-top: 56px;
  position: relative;
}
@media (max-width: 767px) {
  .section-title--en {
    font-size: 16px;
    padding-top: 43px;
  }
}
.section-title--en::after {
  position: absolute;
  content: "";
  width: 48px;
  height: 48px;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media (max-width: 767px) {
  .section-title--en::after {
    width: 37px;
    height: 37px;
  }
}

.section-title--ja {
  margin-top: 8px;
  font-family: "Kiwi Maru", sans-serif;
  font-weight: 500;
  font-size: 32px;
  display: inline-block;
  margin-inline: auto;
  padding-bottom: 8px;
  position: relative;
}
@media (max-width: 767px) {
  .section-title--ja {
    font-size: 20px;
  }
}
.section-title--ja::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 8px;
  bottom: 0;
  left: 0;
  background-color: #FFEE56;
}
@media (max-width: 767px) {
  .section-title--ja::after {
    height: 6px;
  }
}

.btn {
  border-radius: 40px;
  border: 3px solid #4A3636;
  font-weight: 700;
  font-size: 20px;
  color: #4A3636;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0px 4px 0px 0px #4A3636;
  background-color: #fff;
  padding: 10px 40px 12px;
  transition: all 0.3s ease 0s;
}
@media (max-width: 767px) {
  .btn {
    border: 2px solid #4A3636;
    font-size: 16px;
    padding: 6px 22px 8px;
  }
}
.btn:hover {
  background-color: #FFEE56;
}

.animated__fadeIn {
  opacity: 0;
  translate: 0 30px;
  transition: opacity 0.5s ease, translate 0.5s ease;
}
.animated__fadeIn.js-show {
  opacity: 1;
  translate: 0 0;
}

.fv-animation-1 .char {
  opacity: 0;
}

.fv-animation-2 {
  opacity: 0;
}

.fv-animation-3 {
  -webkit-animation: 0.5s 0s ease forwards slideUp1;
          animation: 0.5s 0s ease forwards slideUp1;
  translate: 0 30px;
  opacity: 0;
}

.fv-animation-4 {
  -webkit-animation: 0.5s 0.7s ease forwards slideUp2;
          animation: 0.5s 0.7s ease forwards slideUp2;
  translate: 0 30px;
  opacity: 0;
}

@-webkit-keyframes slideUp1 {
  0% {
    translate: 0 30px;
    opacity: 0;
  }
  100% {
    translate: 0 0;
    opacity: 1;
  }
}

@keyframes slideUp1 {
  0% {
    translate: 0 30px;
    opacity: 0;
  }
  100% {
    translate: 0 0;
    opacity: 1;
  }
}
@-webkit-keyframes slideUp2 {
  0% {
    translate: 0 30px;
    opacity: 0;
  }
  100% {
    translate: 0 0;
    opacity: 1;
  }
}
@keyframes slideUp2 {
  0% {
    translate: 0 30px;
    opacity: 0;
  }
  100% {
    translate: 0 0;
    opacity: 1;
  }
}
.header {
  width: 100%;
  height: 64px;
  background-color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 400;
}

.header__inner {
  padding-inline: 24px;
  height: inherit;
  display: flex;
  align-items: center;
}

.header__logo {
  height: inherit;
  display: flex;
  align-items: center;
}

.header-nav-container {
  margin-left: auto;
  height: inherit;
}
@media (max-width: 1023px) {
  .header-nav-container {
    display: none;
  }
}

.header__nav {
  height: inherit;
  display: flex;
  align-items: center;
}

.header-nav-list {
  display: flex;
}

.header__link:not(:first-child) {
  margin-left: 12px;
}
.header__link a {
  font-size: 12px;
  position: relative;
}
.header__link a::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  bottom: 0;
  left: 0;
  background-color: #67B0C7;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: all 0.3s ease 0s;
}
.header__link a:hover {
  color: #67B0C7;
}
.header__link a:hover::after {
  transform: scale(1, 1);
}

.header__btn {
  margin-left: 16px;
}
.header__btn a {
  width: 132px;
  height: 36px;
  border-radius: 40px;
  border: 2px solid #4A3636;
  font-weight: 700;
  font-size: 14px;
  color: #000;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0px 4px 0px 0px #4A3636;
  background-color: #fff;
  transition: all 0.3s ease 0s;
}
.header__btn a:hover {
  background-color: #FFEE56;
}

.drawer-icon {
  z-index: 300;
  margin-left: auto;
  display: none;
}
@media (max-width: 1023px) {
  .drawer-icon {
    display: block;
  }
}
.drawer-icon.is-active .drawer-icon__bar1 {
  display: none;
}
.drawer-icon.is-active .drawer-icon__bar2 {
  transform: rotate(-45deg);
  top: 11px;
}
.drawer-icon.is-active .drawer-icon__bar3 {
  transform: rotate(45deg);
  top: 11px;
}

.drawer-icon__bars {
  width: 32px;
  height: 28px;
  position: relative;
}

.drawer-icon__bar1,
.drawer-icon__bar2,
.drawer-icon__bar3 {
  position: absolute;
  width: 32px;
  height: 3px;
  top: 0;
  left: 0;
  transition: all 0.3s ease 0s;
}

.drawer-icon__bar1-1,
.drawer-icon__bar1-2,
.drawer-icon__bar2,
.drawer-icon__bar3 {
  background: #4A3636;
  border-radius: 4px;
}

.drawer-icon__bar1 {
  position: relative;
  top: 0;
}

.drawer-icon__bar1-1,
.drawer-icon__bar1-2 {
  position: absolute;
  top: 0;
  height: 3px;
}

.drawer-icon__bar1-1 {
  left: 0;
  width: 25.6px;
}

.drawer-icon__bar1-2 {
  right: 0;
  width: 4.8px;
}

.drawer-icon__bar2 {
  top: 12.5px;
}

.drawer-icon__bar3 {
  top: 25px;
}

.drawer-content {
  display: none;
  background-color: #fff;
  width: 100%;
  height: calc(100vh - 64px);
  position: fixed;
  top: 64px;
  left: 0;
  z-index: 300;
  padding-top: 82px;
  overflow-y: auto;
}

.drawer__nav {
  margin-inline: auto;
}

.drawer__link {
  text-align: center;
}
.drawer__link:not(:first-child) {
  margin-top: 40px;
}
.drawer__link a {
  font-size: 14px;
  position: relative;
}
.drawer__link a::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  bottom: 0;
  left: 0;
  background-color: #67B0C7;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: all 0.3s ease 0s;
}
.drawer__link a:hover {
  color: #67B0C7;
}
.drawer__link a:hover::after {
  transform: scale(1, 1);
}

.drawer__btn {
  margin-top: 40px;
}
.drawer__btn a {
  width: 132px;
  height: 36px;
  border-radius: 40px;
  border: 2px solid #4A3636;
  font-weight: 700;
  font-size: 14px;
  color: #000;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0px 4px 0px 0px #4A3636;
  background-color: #fff;
  margin-inline: auto;
  transition: all 0.3s ease 0s;
}
.drawer__btn a:hover {
  background-color: #FFEE56;
}

.fv {
  width: 100%;
  height: 740px;
  background: transparent url(../img/fv_bg.jpg) no-repeat center center/cover;
  border-radius: 0 0 40px 40px;
}
@media (max-width: 767px) {
  .fv {
    height: 618px;
    background: transparent url(../img/fv_bg_sp.jpg) no-repeat center center/cover;
    border-radius: 0 0 24px 24px;
  }
}

.fv__inner {
  width: 848px;
  max-width: 100%;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .fv__inner {
    padding-inline: 20px;
  }
}

.fv__read {
  padding-top: 99px;
  font-family: "Kiwi Maru", sans-serif;
  font-weight: 500;
  font-size: 24px;
  line-height: 1.25;
  text-align: center;
  color: #000;
}
@media (max-width: 767px) {
  .fv__read {
    padding-top: 81px;
    font-size: 14px;
  }
}

.fv__title {
  margin-top: 24px;
  text-align: center;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .fv__title {
    margin-top: 20px;
    max-width: 335px;
    height: auto;
    aspect-ratio: 520/158;
  }
}

.fv__deco-items {
  position: relative;
}
@media (max-width: 767px) {
  .fv__deco-items {
    margin-top: 10px;
    margin-inline: 20px;
  }
}

.fv-deco__smartPhone {
  padding-top: 33px;
  text-align: center;
  margin-inline: auto;
  position: relative;
  z-index: 2;
}
@media (max-width: 767px) {
  .fv-deco__smartPhone {
    padding-top: 100px;
    width: 200px;
    height: 408px;
  }
}

.fv__info {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 180px;
  width: 200px;
}
@media (max-width: 767px) {
  .fv__info {
    top: 222px;
    width: 160px;
  }
}

.fv-info__title {
  font-weight: 700;
  text-align: center;
  color: #fff;
  background: linear-gradient(265.18deg, #AC3790 -3.52%, #D65A5C 44.94%, #F4C06D 92.38%);
  padding-block: 8px;
  border-radius: 16px 16px 0 0;
}
@media (max-width: 767px) {
  .fv-info__title {
    font-size: 12.8px;
    border-radius: 12px 12px 0 0;
  }
}

.fv-info__body {
  padding-top: 16px;
  padding-bottom: 24px;
  background-color: #fff;
  border-radius: 0 0 16px 16px;
}
@media (max-width: 767px) {
  .fv-info__body {
    padding-top: 13px;
    padding-bottom: 19px;
    border-radius: 0 0 12px 12px;
  }
}

.fv-info__subTitle {
  font-size: 14px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  position: relative;
}
@media (max-width: 767px) {
  .fv-info__subTitle {
    font-size: 12px;
  }
}
.fv-info__subTitle::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 3px;
  bottom: -3px;
  left: 0;
  background-color: #CE2073;
}

.fv-info__period {
  margin-top: 4px;
  font-weight: 700;
}
@media (max-width: 767px) {
  .fv-info__period {
    font-size: 12px;
  }
}

.fv-info__btn {
  margin-top: 16px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 144px;
  height: 40px;
  margin-inline: auto;
  border: 2px solid #4A3636;
  border-radius: 40px;
  font-weight: 700;
  box-shadow: 0px 4px 0px 0px #4A3636;
  transition: all 0.3s ease 0s;
}
@media (max-width: 767px) {
  .fv-info__btn {
    margin-top: 12px;
    width: 132px;
    height: 32px;
  }
}
.fv-info__btn:hover {
  background-color: #FFEE56;
}

.fv-deco-1 {
  position: absolute;
  top: 0;
  left: 37px;
}
@media (max-width: 767px) {
  .fv-deco-1 {
    left: auto;
    right: calc(50% + 40px);
    width: 142px;
    height: 80px;
  }
}

.fv-deco-2 {
  position: absolute;
  top: 17px;
  left: calc(50% + 114px);
}
@media (max-width: 767px) {
  .fv-deco-2 {
    width: 110px;
    height: 110px;
    top: 0;
    left: calc(50% + 30px);
  }
}

.fv-deco-3 {
  position: absolute;
  top: 227px;
  left: 0;
  z-index: 3;
}
@media (max-width: 767px) {
  .fv-deco-3 {
    top: 380px;
    width: 86px;
    height: 141px;
    left: auto;
    right: calc(50% + 80px);
  }
}

.fv-deco__cats {
  position: absolute;
  top: 292px;
  right: 0;
  z-index: 3;
}
@media (max-width: 767px) {
  .fv-deco__cats {
    top: 390px;
    right: auto;
    left: calc(50% + 60px);
  }
}

.deco-cats1 {
  position: relative;
  width: 233px;
  height: 294px;
}
@media (max-width: 767px) {
  .deco-cats1 {
    width: 107px;
    height: 127px;
  }
}

.deco-cat1__1 {
  position: absolute;
  top: 0;
  right: 63px;
  width: 170px;
  height: auto;
  aspect-ratio: 170/190;
}
@media (max-width: 767px) {
  .deco-cat1__1 {
    right: 0;
    width: 62px;
  }
}

.deco-cat1__2 {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 233px;
  height: auto;
  aspect-ratio: 233/174;
}
@media (max-width: 767px) {
  .deco-cat1__2 {
    right: auto;
    left: 0;
    width: 98px;
  }
}

.about {
  padding-top: 177px;
  position: relative;
  overflow: hidden;
}
@media (max-width: 1023px) {
  .about {
    padding-top: 190px;
  }
}
@media (max-width: 767px) {
  .about {
    padding-top: 190px;
  }
}

.about__inner {
  width: 848px;
  max-width: 100%;
  margin-inline: auto;
}
@media (max-width: 1023px) {
  .about__inner {
    width: 570px;
  }
}
@media (max-width: 767px) {
  .about__inner {
    width: 335px;
  }
}

.about__content-wrap {
  border-radius: 40px;
  padding-block: 40px;
  background-color: #fff;
  text-align: center;
  position: relative;
}
@media (max-width: 767px) {
  .about__content-wrap {
    padding-inline: 42px;
  }
}
.about__content-wrap::after {
  position: absolute;
  content: "";
  width: 140px;
  height: 50px;
  bottom: -50px;
  left: 50%;
  transform: translateX(-50%);
  background: transparent url(../img/about_arrow.svg) no-repeat center center/contain;
}
@media (max-width: 767px) {
  .about__content-wrap::after {
    width: 100px;
    height: 36px;
    bottom: -36px;
  }
}

.section-title--about::after {
  background: transparent url(../img/title-icon_about.svg) no-repeat center center/contain;
}

.about-subTitle {
  margin-top: 32px;
  font-weight: 700;
}
@media (max-width: 767px) {
  .about-subTitle {
    margin-top: 24px;
    font-size: 14px;
  }
}

.about__text-box {
  margin-top: 32px;
}
@media (max-width: 767px) {
  .about__text-box {
    margin-top: 24px;
    font-size: 12px;
  }
}
.about__text-box p:not(:first-child) {
  margin-top: 30px;
}
.about__text-box a {
  text-decoration: underline;
}
.about__text-box a:hover {
  color: #67B0C7;
}
.about__text-box span {
  font-weight: 700;
}

.about__emphasis-text {
  margin-top: 32px;
  font-weight: 700;
  font-size: 20px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  padding-bottom: 8px;
  border-bottom: 2px dashed #9ED0E0;
}
@media (max-width: 767px) {
  .about__emphasis-text {
    margin-top: 24px;
    font-size: 14px;
  }
}

.about__btn {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 32px;
}
@media (max-width: 767px) {
  .about__btn {
    margin-top: 24px;
  }
}

.about__slider {
  margin-top: 258px;
}
@media (max-width: 767px) {
  .about__slider {
    margin-top: 174px;
  }
}

.swiper--about {
  width: 100%;
}

.about__slide-items .swiper-slide {
  width: 200px;
}
@media (max-width: 767px) {
  .about__slide-items .swiper-slide {
    width: 100px;
  }
}
.about__slide-items img {
  width: 100%;
  height: auto;
  border-radius: 24px;
}
@media (max-width: 767px) {
  .about__slide-items img {
    border-radius: 12px;
  }
}

.swiper--about .swiper-wrapper {
  transition-timing-function: linear;
}

.about > img {
  position: absolute;
  z-index: -1;
}
.about > img.about__deco8 {
  z-index: -2;
}

.about__deco1 {
  top: 167px;
  right: calc(50% + 424px + 70px);
}

.about__deco2 {
  top: 271px;
  right: calc(50% + 480px + 100px);
  border-radius: 40px;
}
@media (max-width: 1023px) {
  .about__deco2 {
    top: 560px;
    right: calc(50% + 200px);
    width: 300px;
    height: 300px;
  }
}
@media (max-width: 767px) {
  .about__deco2 {
    top: 609px;
    right: calc(50% + 127px);
    width: 200px;
    height: 200px;
    border-radius: 24px;
  }
}

.about__deco3 {
  top: 511px;
  right: calc(50% + 427px);
}
@media (max-width: 1023px) {
  .about__deco3 {
    width: 270px;
    height: auto;
    aspect-ratio: 427/817;
    top: 861px;
    right: calc(50% + 240px);
  }
}
@media (max-width: 767px) {
  .about__deco3 {
    width: 138px;
    aspect-ratio: 138/215;
    top: 960px;
    right: auto;
    left: 0;
  }
}

.about__deco4 {
  top: 95px;
  left: calc(50% + 424px + 100px);
}
@media (max-width: 1023px) {
  .about__deco4 {
    top: 180px;
    left: auto;
    right: 0;
  }
}
@media (max-width: 767px) {
  .about__deco4 {
    width: 54px;
    height: auto;
    aspect-ratio: 100/220;
  }
}

.about__deco5 {
  top: 271px;
  left: calc(50% + 424px + 180px);
  border-radius: 40px;
}
@media (max-width: 1023px) {
  .about__deco5 {
    top: 406px;
    left: calc(50% + 200px);
    width: 300px;
    height: 300px;
  }
}
@media (max-width: 767px) {
  .about__deco5 {
    top: 471px;
    left: calc(50% + 131px);
    width: 200px;
    height: 200px;
    border-radius: 24px;
  }
}

.about__deco6 {
  top: 947px;
  left: calc(50% + 424px - 20px);
}
@media (max-width: 1023px) {
  .about__deco6 {
    top: 1100px;
    left: calc(50% - 5px);
    width: 230px;
    height: auto;
    aspect-ratio: 308/151;
  }
}
@media (max-width: 767px) {
  .about__deco6 {
    top: 1017px;
    width: 133px;
  }
}

.about__deco7 {
  top: 777px;
  left: calc(50% + 424px + 90px);
}
@media (max-width: 1023px) {
  .about__deco7 {
    top: 1050px;
    left: calc(50% + 215px);
    width: 70px;
    height: auto;
    aspect-ratio: 101/101;
  }
}
@media (max-width: 767px) {
  .about__deco7 {
    top: 974px;
    left: calc(50% + 119px);
    width: 48px;
  }
}

.about__deco8 {
  top: 777px;
  left: calc(50% + 424px + 30px);
}

.about__deco9 {
  bottom: 194px;
  left: calc(50% - 445px - 2px);
  padding-inline: 10px;
}
@media (max-width: 1023px) {
  .about__deco9 {
    bottom: 97px;
    left: 50%;
    transform: translateX(-50%);
  }
}

.step__inner {
  padding-top: 120px;
  width: 1440px;
  max-width: 100%;
  margin-inline: auto;
  position: relative;
  overflow: hidden;
}
@media (max-width: 767px) {
  .step__inner {
    padding-top: 64px;
  }
}

.section-title--step::after {
  background: transparent url(../img/title-icon_step.svg) no-repeat center center/contain;
}

.step-items {
  margin-top: 40px;
  display: flex;
  justify-content: center;
  gap: 32px;
  position: relative;
  z-index: 1;
}
@media (max-width: 1023px) {
  .step-items {
    margin-top: 50px;
    flex-direction: column;
    align-items: center;
    gap: 70px;
  }
}
@media (max-width: 767px) {
  .step-items {
    margin-top: 32px;
    gap: 50px;
  }
}

.step-item {
  max-width: 320px;
}
.step-item:nth-child(1) {
  position: relative;
}
.step-item:nth-child(1)::after {
  position: absolute;
  content: "";
  width: 113px;
  height: 24px;
  top: 204px;
  right: -49px;
  background: transparent url(../img/step_line-red.svg) no-repeat center center/contain;
}
@media (max-width: 1023px) {
  .step-item:nth-child(1)::after {
    width: 11px;
    height: auto;
    aspect-ratio: 7/34;
    top: auto;
    bottom: -68px;
    right: auto;
    left: 50%;
    transform: translateX(-50%);
    background: transparent url(../img/step_line-red_sp.svg) no-repeat center center/contain;
  }
}
@media (max-width: 767px) {
  .step-item:nth-child(1)::after {
    width: 7px;
    bottom: -50px;
  }
}
.step-item:nth-child(2) {
  margin-top: 70px;
  position: relative;
}
@media (max-width: 1023px) {
  .step-item:nth-child(2) {
    margin-top: 0;
  }
}
.step-item:nth-child(2)::after {
  position: absolute;
  content: "";
  width: 113px;
  height: 24px;
  top: 136px;
  right: -62px;
  background: transparent url(../img/step_line-red.svg) no-repeat center center/contain;
}
@media (max-width: 1023px) {
  .step-item:nth-child(2)::after {
    width: 11px;
    height: auto;
    aspect-ratio: 7/34;
    top: auto;
    bottom: -68px;
    right: auto;
    left: 50%;
    transform: translateX(-50%);
    background: transparent url(../img/step_line-red_sp.svg) no-repeat center center/contain;
  }
}
@media (max-width: 767px) {
  .step-item:nth-child(2)::after {
    width: 7px;
    bottom: -50px;
  }
}

.step-item__img {
  text-align: center;
}
@media (max-width: 767px) {
  .step-item__img img {
    width: 196px;
    height: auto;
    aspect-ratio: 196/210;
  }
}

.step-item__title {
  margin-top: 24px;
  text-align: center;
  font-weight: 700;
  font-size: 20px;
}
@media (max-width: 767px) {
  .step-item__title {
    font-size: 16px;
  }
}

.step-item__text {
  margin-top: 16px;
  text-align: center;
}
@media (max-width: 767px) {
  .step-item__text {
    font-size: 12px;
  }
}
.step-item__text a {
  text-decoration: underline;
}
.step-item__text span {
  font-weight: 700;
}

.step-item__follow-btn {
  margin-top: 8px;
}
@media (max-width: 767px) {
  .step-item__follow-btn {
    margin-top: 16px;
  }
}

.follow-btn {
  display: block;
  width: 254px;
  background-color: #fff;
  font-weight: 700;
  color: #4A3636;
  padding: 8px 12px 8px 44px;
  margin-inline: auto;
  position: relative;
}
@media (max-width: 767px) {
  .follow-btn {
    font-size: 14px;
    width: 226px;
    padding: 8px 12px 8px 40px;
  }
}
.follow-btn::before {
  position: absolute;
  content: "";
  width: 24px;
  height: 24px;
  top: 50%;
  left: 12px;
  transform: translateY(-50%);
  background: transparent url(../img/step_icon-instagram.svg) no-repeat center center/contain;
}
@media (max-width: 767px) {
  .follow-btn::before {
    width: 20px;
    height: 20px;
  }
}

.step__btn {
  margin-top: 40px;
  padding-bottom: 4px;
}
@media (max-width: 767px) {
  .step__btn {
    margin-top: 16px;
  }
}

.step-deco-1 {
  position: absolute;
  top: 60px;
  right: calc(50% + 257px);
}
@media (max-width: 767px) {
  .step-deco-1 {
    top: 80px;
    right: calc(50% + 50px);
    width: 149px;
    height: 223px;
  }
}

.step-deco-2 {
  position: absolute;
  bottom: 40px;
  left: 0;
}
@media (max-width: 767px) {
  .step-deco-2 {
    left: 20px;
    width: 55px;
    bottom: auto;
    top: 650px;
    height: 120px;
  }
}

.step-deco__cats {
  position: absolute;
  top: 94px;
  left: calc(50% + 275px);
}
@media (max-width: 767px) {
  .step-deco__cats {
    top: 65px;
    left: calc(50% + 70px);
  }
}

.deco-cats2 {
  width: 364px;
  height: 190.97px;
  position: relative;
}
@media (max-width: 767px) {
  .deco-cats2 {
    width: 160px;
    height: 85px;
  }
}

.deco-cat2__1 {
  position: absolute;
  top: 0;
  left: 0;
}
@media (max-width: 767px) {
  .deco-cat2__1 {
    width: 105px;
    height: 63px;
  }
}

.deco-cat2__2 {
  position: absolute;
  bottom: 0;
  right: 0;
}
@media (max-width: 767px) {
  .deco-cat2__2 {
    width: 94px;
    height: 80px;
  }
}

.step-deco-3 {
  position: absolute;
  top: 268px;
  right: 0;
}
@media (max-width: 767px) {
  .step-deco-3 {
    top: 150px;
    right: 20px;
  }
}

.step-deco-4 {
  position: absolute;
}
@media (max-width: 767px) {
  .step-deco-4 {
    top: 970px;
    right: 20px;
  }
}

.prizes {
  margin-top: 120px;
  padding-bottom: 42.32804vw;
  position: relative;
}
@media (max-width: 767px) {
  .prizes {
    margin-top: 37px;
    padding-bottom: 57.59999vw;
  }
}
.prizes::after {
  position: absolute;
  content: "";
  width: 100%;
  height: auto;
  aspect-ratio: 1512/640;
  bottom: 0;
  left: 0;
  background: transparent url(../img/prizes_bg.jpg) no-repeat center center/cover;
}
@media (max-width: 767px) {
  .prizes::after {
    height: 260px;
    z-index: -2;
  }
}

.prizes__content {
  padding-top: 28px;
  padding-inline: 76px;
  padding-bottom: 53px;
  overflow: hidden;
  position: relative;
}
@media (max-width: 767px) {
  .prizes__content {
    padding-top: 20px;
    padding-inline: 20px;
    padding-bottom: 34px;
    width: 510px;
  }
}
.prizes__content::before {
  position: absolute;
  content: "";
  width: 365px;
  height: 148px;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background: transparent url(../img/deco_prizes1_pc.svg) no-repeat center center/contain;
}
@media (max-width: 767px) {
  .prizes__content::before {
    width: 237px;
    height: 83px;
    background: transparent url(../img/deco_prizes1_sp.svg) no-repeat center center/contain;
  }
}
.prizes__content::after {
  position: absolute;
  content: "";
  width: 100%;
  height: calc(100% - 148px);
  bottom: 0;
  left: 0;
  background-color: #fff;
  border-radius: 24px;
  z-index: -1;
}
@media (max-width: 767px) {
  .prizes__content::after {
    height: calc(100% - 83px);
  }
}

.prizes-bg-left {
  position: absolute;
  top: 20px;
  left: 0;
}
@media (max-width: 1023px) {
  .prizes-bg-left {
    top: 35px;
    left: auto;
    right: calc(50% + 235px);
    width: 280px;
    height: auto;
    aspect-ratio: 315/86;
  }
}
@media (max-width: 767px) {
  .prizes-bg-left {
    display: none;
  }
}

.prizes-bg-right {
  position: absolute;
  top: 20px;
  right: 0;
}
@media (max-width: 1023px) {
  .prizes-bg-right {
    top: 35px;
    right: auto;
    left: calc(50% + 235px);
    width: 280px;
    height: auto;
    aspect-ratio: 315/86;
  }
}
@media (max-width: 767px) {
  .prizes-bg-right {
    display: none;
  }
}

.section-title--prizes::after {
  background: transparent url(../img/title-icon_prizes.svg) no-repeat center center/contain;
}

.prizes__text {
  margin-top: 40px;
  text-align: center;
}
@media (max-width: 767px) {
  .prizes__text {
    margin-top: 16px;
    font-size: 12px;
  }
}

.prizes__cards {
  margin-top: 72px;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  grid-template-rows: repeat(2, auto);
  grid-row-gap: 80px;
  grid-column-gap: 32px;
}
@media screen and (max-width: 899px) {
  .prizes__cards {
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(3, auto);
  }
}
@media (max-width: 767px) {
  .prizes__cards {
    margin-top: 48px;
    grid-row-gap: 39px;
    grid-column-gap: 15px;
  }
}

.prizes__card {
  position: relative;
}
.prizes__card:nth-child(1) {
  grid-area: 1/1/2/4;
}
@media screen and (max-width: 899px) {
  .prizes__card:nth-child(1) {
    grid-area: 1/1/2/3;
  }
}
.prizes__card:nth-child(2) {
  grid-area: 1/4/2/7;
}
@media screen and (max-width: 899px) {
  .prizes__card:nth-child(2) {
    grid-area: 1/3/2/5;
  }
}
.prizes__card:nth-child(3) {
  grid-area: 2/1/3/3;
}
.prizes__card:nth-child(4) {
  grid-area: 2/3/3/5;
}
.prizes__card:nth-child(5) {
  grid-area: 2/5/3/7;
}
@media screen and (max-width: 899px) {
  .prizes__card:nth-child(5) {
    grid-area: 3/2/4/4;
  }
}

.prizes-card__line {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 4px solid transparent;
  border-radius: 24px;
  background-color: transparent;
  z-index: 1;
  cursor: pointer;
}
.prizes-card__line:hover {
  border: 4px solid #9ED0E0;
}
.prizes-card__line:hover ~ .prizes-card .prizes-card__img img {
  transform: scale(1.2);
}
.prizes-card__line:hover ~ .prizes-card .prizes-card__zoomIcon svg .background {
  fill: #9ED0E0;
}

.prizes-card {
  height: 100%;
  position: relative;
}

.prizes-card--large .prizes-card__title {
  font-size: 20px;
  min-height: 120px;
}
@media screen and (max-width: 899px) {
  .prizes-card--large .prizes-card__title {
    font-size: 16px;
  }
}
@media (max-width: 767px) {
  .prizes-card--large .prizes-card__title {
    font-size: 12px;
    min-height: 56px;
  }
}
.prizes-card--large .prizes-card__zoomIcon {
  width: 100px;
  height: 100px;
}
@media screen and (max-width: 899px) {
  .prizes-card--large .prizes-card__zoomIcon {
    width: 64px;
    height: 64px;
  }
}
@media (max-width: 767px) {
  .prizes-card--large .prizes-card__zoomIcon {
    width: 36px;
    height: 36px;
  }
}
.prizes-card--large .prizes-card__number {
  top: -50px;
}
@media screen and (max-width: 899px) {
  .prizes-card--large .prizes-card__number {
    top: -40px;
  }
}
@media (max-width: 767px) {
  .prizes-card--large .prizes-card__number {
    top: -24px;
  }
}

.prizes-card__number {
  position: absolute;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}
@media (max-width: 767px) {
  .prizes-card__number {
    top: -24px;
  }
}
@media screen and (max-width: 899px) {
  .prizes-card__number img {
    width: 80px;
  }
}
@media (max-width: 767px) {
  .prizes-card__number img {
    width: 48px;
  }
}

.prizes-card__body {
  height: 100%;
  border-radius: 24px;
  background-color: #f5f5f5;
}
@media (max-width: 767px) {
  .prizes-card__body {
    border-radius: 12px;
  }
}

.prizes-card__figure {
  height: 100%;
}

.prizes-card__img {
  border-top-left-radius: 24px;
  border-top-right-radius: 24px;
  overflow: hidden;
}
@media (max-width: 767px) {
  .prizes-card__img {
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
  }
}
.prizes-card__img img {
  transition: all 0.3s ease 0s;
}

.prizes-card__title {
  font-weight: 700;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 80px;
}
@media (max-width: 767px) {
  .prizes-card__title {
    min-height: 56px;
    font-size: 12px;
  }
}

.prizes-card__zoomIcon {
  position: absolute;
  width: 64px;
  height: 64px;
  bottom: 0;
  right: 0;
}
@media (max-width: 767px) {
  .prizes-card__zoomIcon {
    width: 36px;
    height: 36px;
  }
}
.prizes-card__zoomIcon svg {
  width: 100%;
  height: 100%;
  border-bottom-right-radius: 24px;
}
@media (max-width: 767px) {
  .prizes-card__zoomIcon svg {
    border-bottom-right-radius: 12px;
  }
}

.prizes__btn {
  margin-top: 40px;
  padding-bottom: 4px;
}
@media (max-width: 767px) {
  .prizes__btn {
    margin-top: 24px;
  }
}

.prizes__modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
}
.prizes__modal.is-active {
  display: block;
  z-index: 300;
}

.prizes-modal__bg {
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 767px) {
  .prizes-modal__bg {
    padding-inline: 20px;
  }
}

.prizes-modal__card {
  width: 480px;
  height: 650px;
  background-color: #fff;
  border-radius: 24px;
}
@media (max-width: 767px) {
  .prizes-modal__card {
    height: 480px;
  }
}

.prizes-modal__img {
  height: auto;
  aspect-ratio: 480/300;
}
.prizes-modal__img img {
  width: 100%;
  height: 100%;
  border-radius: 24px 24px 0 0;
}

.prizes-modal__body {
  padding: 32px 40px;
}
@media (max-width: 767px) {
  .prizes-modal__body {
    padding: 40px 20px;
  }
}

.prizes-modal__title {
  font-weight: 700;
  font-size: 20px;
  text-align: center;
}
@media (max-width: 767px) {
  .prizes-modal__title {
    font-size: 16px;
  }
}

.prizes-modal__text {
  margin-top: 12px;
  text-align: center;
  color: #000;
}
@media (max-width: 767px) {
  .prizes-modal__text {
    font-size: 12px;
  }
}

.prizes-modal__closeBtn {
  margin-top: 24px;
  padding: 6px 24px;
  cursor: pointer;
}
@media (max-width: 767px) {
  .prizes-modal__closeBtn {
    margin-top: 16px;
  }
}

.spots {
  background-color: #67B0C7;
  position: relative;
}
.spots::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 120px;
  top: -120px;
  left: 0;
  background-image: url(../img/img_bg_wave-top.svg);
  background-repeat: repeat-x;
}
@media (max-width: 767px) {
  .spots::before {
    height: 45px;
    top: -45px;
    background-size: 96px 46px;
  }
}
.spots::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 120px;
  bottom: -120px;
  left: 0;
  background-image: url(../img/img_bg_wave-bottom.svg);
  background-repeat: repeat-x;
}
@media (max-width: 767px) {
  .spots::after {
    height: 45px;
    bottom: -45px;
    background-size: 96px 46px;
  }
}

.spots-deco {
  position: absolute;
  bottom: 0;
  right: calc(50% + 620px);
}

.spots-content__top {
  padding-left: calc(50% - 512px);
  display: flex;
}
@media screen and (max-width: 1039px) {
  .spots-content__top {
    flex-direction: column;
  }
}

.spots__title-wrapper {
  width: 56px;
}
@media screen and (max-width: 1039px) {
  .spots__title-wrapper {
    width: auto;
  }
}

.section-title--spots {
  padding-top: 64px;
  font-family: "Kiwi Maru", sans-serif;
  font-weight: 500;
  font-size: 40px;
  writing-mode: vertical-lr;
  line-height: 1.25;
  letter-spacing: 0.25em;
  text-align: center;
  color: #fff;
  padding-left: 3px;
  padding-right: 3px;
  position: relative;
}
@media screen and (max-width: 1039px) {
  .section-title--spots {
    padding-top: 0;
    padding-left: 64px;
    writing-mode: horizontal-tb;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
  }
}
@media (max-width: 767px) {
  .section-title--spots {
    font-size: 28px;
    padding-left: 36px;
  }
}
.section-title--spots::before {
  position: absolute;
  content: "";
  width: 56px;
  height: 56px;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background: transparent url(../img/spots_icon-star.svg) no-repeat center center/contain;
}
@media screen and (max-width: 1039px) {
  .section-title--spots::before {
    top: 3px;
    left: 0;
    transform: none;
  }
}
@media (max-width: 767px) {
  .section-title--spots::before {
    width: 28px;
    height: 28px;
  }
}

.spots__slider {
  width: calc(100% - 56px - 32px);
  margin-left: 32px;
}
@media screen and (max-width: 1039px) {
  .spots__slider {
    margin-top: 36px;
    margin-left: 0;
    width: 100%;
  }
}
@media (max-width: 767px) {
  .spots__slider {
    margin-top: 24px;
  }
}

.spots__cards .swiper-slide {
  width: 29.152%;
  height: auto;
}
@media (max-width: 1023px) {
  .spots__cards .swiper-slide {
    width: 40%;
  }
}
@media (max-width: 767px) {
  .spots__cards .swiper-slide {
    width: 240px;
  }
}

.spots__card {
  height: 100%;
  background-color: #fff;
  border-radius: 24px;
}
@media (max-width: 767px) {
  .spots__card {
    border-radius: 12px;
  }
}

.spots-card__img {
  aspect-ratio: 344/240;
}
.spots-card__img img {
  border-radius: 24px 24px 0 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 767px) {
  .spots-card__img img {
    border-radius: 12px 12px 0 0;
  }
}

.spots-card__body {
  padding: 24px 32px 40px;
  border-radius: 0 0 24px 24px;
}
@media (max-width: 767px) {
  .spots-card__body {
    padding: 16px 24px;
    border-radius: 0 0 12px 12px;
  }
}

.spots-card__title {
  font-weight: 700;
  font-size: 20px;
  text-align: center;
}
@media (max-width: 767px) {
  .spots-card__title {
    font-size: 16px;
  }
}

.spots-card__text {
  margin-top: 24px;
  min-height: 182px;
}
@media (max-width: 767px) {
  .spots-card__text {
    margin-top: 16px;
    font-size: 12px;
    min-height: 133px;
  }
}

.spots__bottom-wrap {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 1039px) {
  .spots__bottom-wrap {
    flex-direction: column;
  }
}

@media screen and (max-width: 1039px) {
  .spots__title-en {
    text-align: center;
  }
}
@media (max-width: 767px) {
  .spots__title-en img {
    width: 255px;
    height: 55px;
  }
}

.spots__text-wrap p {
  color: #fff;
}
@media screen and (max-width: 1039px) {
  .spots__text-wrap p {
    margin-top: 16px;
    text-align: center;
  }
}
@media (max-width: 767px) {
  .spots__text-wrap p {
    font-size: 11.44px;
  }
}

.spots__btn {
  margin-top: 24px;
  padding-bottom: 4px;
}

.spots-swiper__arrows {
  max-width: 944px;
  margin-inline: auto;
  display: flex;
  justify-content: space-between;
  position: relative;
  top: -30px;
}
.spots-swiper__arrows .swiper-button-prev,
.spots-swiper__arrows .swiper-button-next {
  position: static;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background-color: #FFEE56;
  background-position: center center;
}
@media (max-width: 767px) {
  .spots-swiper__arrows .swiper-button-prev,
.spots-swiper__arrows .swiper-button-next {
    display: none;
  }
}
.spots-swiper__arrows .swiper-button-prev::after,
.spots-swiper__arrows .swiper-button-next::after {
  display: none;
}
.spots-swiper__arrows .swiper-button-prev {
  background-image: url(../img/icon-arrow_prev.svg);
}
.spots-swiper__arrows .swiper-button-next {
  background-image: url(../img/icon-arrow_next.svg);
}

.qa {
  padding-top: 240px;
}
@media (max-width: 767px) {
  .qa {
    padding-top: 85px;
  }
}

.section-title--qa::after {
  background: transparent url(../img/title-icon_qa.svg) no-repeat center center/contain;
}

.qa__list {
  margin-top: 40px;
}
@media (max-width: 767px) {
  .qa__list {
    margin-top: 24px;
  }
}

.qa-listItem {
  border: 2px solid #4A3636;
  border-radius: 16px;
  background-color: #fff;
}
@media (max-width: 767px) {
  .qa-listItem {
    border-radius: 12px;
  }
}
.qa-listItem:not(:first-child) {
  margin-top: 24px;
}
@media (max-width: 767px) {
  .qa-listItem:not(:first-child) {
    margin-top: 12px;
  }
}

.qa__q {
  position: relative;
}

.qa-list__title {
  font-weight: 700;
  font-size: 20px;
  padding: 30px 84px 30px 69px;
  border-radius: 16px 16px 0 0;
  position: relative;
}
@media (max-width: 767px) {
  .qa-list__title {
    font-size: 14px;
    padding: 12px 52px 12px 50px;
    border-radius: 12px 12px 0 0;
  }
}
.qa-list__title::before {
  position: absolute;
  content: "Q";
  width: 29px;
  height: 35px;
  top: 50%;
  left: 24px;
  transform: translateY(-50%);
  font-weight: 400;
  font-size: 32px;
  color: #9ED0E0;
  font-family: "Josefin Sans", sans-serif;
}
@media (max-width: 767px) {
  .qa-list__title::before {
    width: 22px;
    height: 30px;
    left: 16px;
    font-size: 24px;
  }
}

.qa-icon {
  background-color: #9ED0E0;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  right: 24px;
  transform: translateY(-50%);
}
@media (max-width: 767px) {
  .qa-icon {
    width: 24px;
    height: 24px;
    right: 22px;
  }
}

.qa-icon__bars {
  position: relative;
  width: 48px;
  height: 48px;
}
@media (max-width: 767px) {
  .qa-icon__bars {
    width: 24px;
    height: 24px;
  }
}
.qa-icon__bars::before {
  position: absolute;
  content: "";
  width: 19px;
  height: 3px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #fff;
}
@media (max-width: 767px) {
  .qa-icon__bars::before {
    width: 10px;
    height: 1.5px;
  }
}
.qa-icon__bars::after {
  position: absolute;
  content: "";
  width: 3px;
  height: 19px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #fff;
  transition: all 0.3s ease 0s;
}
@media (max-width: 767px) {
  .qa-icon__bars::after {
    width: 1.5px;
    height: 10px;
  }
}
.qa-icon__bars.is-open::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.qa__a {
  background-color: #F5F5F5;
  border-radius: 0 0 16px 16px;
  display: none;
}
@media (max-width: 767px) {
  .qa__a {
    border-radius: 0 0 12px 12px;
  }
}

.qa-listItem:first-child .qa__a {
  display: block;
}

.qa-list__answer {
  padding: 30px 24px 30px 63px;
  position: relative;
}
@media (max-width: 767px) {
  .qa-list__answer {
    padding: 16px 16px 16px 49px;
    font-size: 14px;
  }
}
.qa-list__answer::before {
  position: absolute;
  content: "A";
  width: 29px;
  height: 35px;
  top: 50%;
  left: 24px;
  transform: translateY(-50%);
  font-weight: 400;
  font-size: 32px;
  color: #9ED0E0;
  font-family: "Josefin Sans", sans-serif;
}
@media (max-width: 767px) {
  .qa-list__answer::before {
    width: 17px;
    height: 30px;
    left: 16px;
    font-size: 24px;
  }
}

.info {
  padding-top: 120px;
  padding-bottom: 120px;
}
@media (max-width: 767px) {
  .info {
    padding-top: 30px;
    padding-bottom: 32px;
  }
}

.info__content-wrap {
  background-color: rgba(255, 255, 255, 0.5019607843);
  border: 8px solid #fff;
  padding: 40px 56px;
}
@media (max-width: 767px) {
  .info__content-wrap {
    padding: 16px 14px;
  }
}

.section-title--info::after {
  background: transparent url(../img/title-icon_info.svg) no-repeat center center/contain;
}

.info__table {
  margin-top: 40px;
}
@media (max-width: 767px) {
  .info__table {
    margin-top: 24px;
  }
}

.info-table__row {
  display: flex;
}
@media (max-width: 767px) {
  .info-table__row {
    flex-direction: column;
  }
}
.info-table__row:not(:first-child) {
  padding-top: 12px;
  border-top: 1px solid #CCCCCC;
}
@media (max-width: 767px) {
  .info-table__row:not(:first-child) {
    padding-top: 16px;
  }
}
.info-table__row:not(:last-child) {
  padding-bottom: 12px;
}
@media (max-width: 767px) {
  .info-table__row:not(:last-child) {
    padding-bottom: 16px;
  }
}

.info-table__head {
  width: 240px;
  padding-left: 32px;
  text-align: left;
  font-weight: 700;
  position: relative;
}
@media (max-width: 767px) {
  .info-table__head {
    width: 100%;
    padding-left: 16px;
    font-size: 14px;
  }
}
.info-table__head::before {
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  top: 9px;
  left: 16px;
  background-color: #9ED0E0;
  border-radius: 50%;
}
@media (max-width: 767px) {
  .info-table__head::before {
    left: 0;
  }
}

.info-table__data {
  width: calc(100% - 240px);
}
@media (max-width: 767px) {
  .info-table__data {
    margin-top: 8px;
    width: 100%;
    font-size: 12px;
  }
}
.info-table__data a {
  text-decoration: underline;
}
.info-table__data a:hover {
  opacity: 0.7;
}

.info-data__list li {
  padding-left: 24px;
  position: relative;
}
@media (max-width: 767px) {
  .info-data__list li {
    padding-left: 12px;
  }
}
.info-data__list li::before {
  position: absolute;
  content: "・";
  width: 16px;
  height: 26px;
  top: 0;
  left: 0;
}

.info-picture__bg img {
  width: 100%;
  height: auto;
  aspect-ratio: 1512/520;
}

.contact {
  padding-top: 120px;
  padding-bottom: 120px;
  background-color: #fff;
}
@media (max-width: 767px) {
  .contact {
    padding-top: 39px;
    padding-bottom: 40px;
  }
}

.section-title--contact::after {
  background: transparent url(../img/title-icon_contact.svg) no-repeat center center/contain;
}

.contact__text {
  margin-top: 32px;
  text-align: center;
}
@media (max-width: 767px) {
  .contact__text {
    margin-top: 24px;
    font-size: 12px;
  }
}

.contact__form {
  margin-top: 40px;
  width: 848px;
  max-width: 100%;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .contact__form {
    margin-top: 24px;
  }
}

.contact-form__row {
  display: flex;
}
@media (max-width: 767px) {
  .contact-form__row {
    flex-direction: column;
  }
}
.contact-form__row:not(:first-child) {
  margin-top: 24px;
}

.contact-form__label {
  width: 220px;
}
@media (max-width: 767px) {
  .contact-form__label {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .contact-form__label label {
    font-size: 14px;
  }
}
.contact-form__label label.is-required {
  display: inline-block;
  position: relative;
}
.contact-form__label label.is-required::after {
  content: "必須";
  position: absolute;
  top: 0;
  right: -52px;
  font-weight: 700;
  font-size: 12px;
  color: #fff;
  padding: 4px 8px;
  background: #CE2073;
  border-radius: 4px;
}
.contact-form__label label.is-error {
  color: #CE2073;
}

.contact-form__input {
  width: calc(100% - 220px);
}
@media (max-width: 767px) {
  .contact-form__input {
    width: 100%;
    margin-top: 8px;
  }
}
.contact-form__input [type=text],
.contact-form__input [type=email] {
  width: 100%;
  padding: 16px 16px 14px;
  background: #F5F5F5;
  box-shadow: none;
  border: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 8px;
  color: inherit;
  font-family: inherit;
  font-size: 16px;
}
@media (max-width: 767px) {
  .contact-form__input [type=text],
.contact-form__input [type=email] {
    padding: 16px 16px 18px;
    font-size: 14px;
  }
}
.contact-form__input select {
  width: 100%;
  padding: 16px 0 14px 16px;
  box-shadow: none;
  border: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 8px;
  color: inherit;
  font-family: inherit;
  font-size: 16px;
  background-color: #F5F5F5; /* フォールバック用 */
  background-image: url("../img/icon-selectbox.svg"), linear-gradient(to right, #F5F5F5 calc(100% - 52px), #9ED0E0 52px);
  background-repeat: no-repeat, no-repeat;
  background-position: right 10.5px center, center center;
  background-size: 32px 32px, cover;
}
@media (max-width: 767px) {
  .contact-form__input select {
    padding: 16px 0 18px 16px;
    font-size: 14px;
  }
}
.contact-form__input textarea {
  width: 100%;
  height: 160px;
  padding: 16px 16px 14px;
  background: #F5F5F5;
  box-shadow: none;
  border: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 8px;
  color: inherit;
  font-family: inherit;
  font-size: 16px;
}
@media (max-width: 767px) {
  .contact-form__input textarea {
    padding: 16px 14px 19px 16px;
    font-size: 14px;
  }
}
.contact-form__input [type=text]::-moz-placeholder, .contact-form__input [type=email]::-moz-placeholder, .contact-form__input textarea::-moz-placeholder {
  color: #CCCCCC;
}
.contact-form__input [type=text]::placeholder,
.contact-form__input [type=email]::placeholder,
.contact-form__input textarea::placeholder {
  color: #CCCCCC;
}
.contact-form__input [type=text]:focus,
.contact-form__input [type=email]:focus,
.contact-form__input textarea:focus {
  background: #E9F6F8;
  outline: 1px solid #9ED0E0;
}
.contact-form__input [type=text].is-error,
.contact-form__input [type=email].is-error,
.contact-form__input textarea.is-error {
  background: #FFF0F7;
  outline: 1px solid #CE2073;
}
.contact-form__input select.is-error {
  background-image: url("../img/icon-selectbox.svg"), linear-gradient(to right, #FFF0F7 calc(100% - 52px), #CE2073 52px);
  outline: 1px solid #CE2073;
}

.contact-form__radio-wrap {
  display: inline-flex;
}

.contact__radio {
  position: relative;
}
.contact__radio [type=radio] {
  opacity: 0;
  position: absolute;
  left: 0;
  top: 0;
  width: 24px;
  height: 24px;
  cursor: pointer;
}
@media (max-width: 767px) {
  .contact__radio [type=radio] {
    font-size: 14px;
  }
}
.contact__radio:not(:first-child) {
  margin-left: 24px;
}
.contact__radio span {
  padding-left: 32px;
}
.contact__radio span::before {
  position: absolute;
  content: "";
  width: 24px;
  height: 24px;
  left: 0;
  top: 0;
  border: 1px solid #F5F5F5;
  background: #F5F5F5;
  border-radius: 50%;
}
.contact__radio span::after {
  position: absolute;
  content: "";
  width: 12px;
  height: 12px;
  left: 7px;
  top: 7px;
  background: #9ED0E0;
  border-radius: 50%;
  opacity: 0;
}
.contact__radio [type=radio]:focus + span::before {
  border-color: #9ED0E0;
}
.contact__radio [type=radio]:checked + span::after {
  opacity: 1;
}

.contact-form__check {
  margin-top: 40px;
  text-align: center;
}
@media (max-width: 767px) {
  .contact-form__check {
    margin-top: 24px;
    font-size: 14px;
  }
}
.contact-form__check [type=checkbox] {
  opacity: 0;
  position: relative;
  left: 0;
  top: 0;
  width: 24px;
  height: 24px;
}
.contact-form__check span {
  padding-left: 36px;
  position: relative;
}
.contact-form__check span::before {
  position: absolute;
  content: "";
  width: 24px;
  height: 24px;
  top: 0;
  left: 0;
  background-color: #F5F5F5;
  border-radius: 4px;
}
.contact-form__check span::after {
  position: absolute;
  content: "";
  width: 14px;
  height: 9px;
  left: 5px;
  top: 8px;
  background: transparent url(../img/icon-check.svg) no-repeat center center/contain;
  opacity: 0;
}
.contact-form__check [type=checkbox]:checked + span::after {
  opacity: 1;
}
.contact-form__check a {
  text-decoration: underline;
}

.contact-form__button {
  margin-top: 40px;
  padding-bottom: 4px;
}
@media (max-width: 767px) {
  .contact-form__button {
    margin-top: 24px;
  }
}

.footer {
  padding-top: 120px;
}
@media (max-width: 767px) {
  .footer {
    padding-top: 40px;
  }
}

.footer__info {
  padding-bottom: 120px;
}
@media (max-width: 767px) {
  .footer__info {
    padding-bottom: 24px;
  }
}

.footer-info__inner {
  width: 1352px;
  max-width: 100%;
  margin-inline: auto;
  position: relative;
}

.footer-deco__pawpads {
  position: absolute;
  top: 0;
  right: 0;
}
@media (max-width: 767px) {
  .footer-deco__pawpads {
    display: none;
  }
}

.footer-sns__text {
  text-align: center;
  font-family: "Josefin Sans", sans-serif;
  font-size: 24px;
}
@media (max-width: 767px) {
  .footer-sns__text {
    font-size: 20px;
  }
}

.footer-sns__items {
  margin-top: 24px;
  display: flex;
  justify-content: center;
  gap: 40px;
}

@media (max-width: 767px) {
  .footer-sns__item {
    width: 32px;
    height: 32px;
  }
}
.footer-sns__item a {
  transition: all 0.3s ease 0s;
}
.footer-sns__item a:hover {
  opacity: 0.7;
}

.footer-deco__onomichi {
  margin-top: 30px;
  text-align: center;
}
@media (max-width: 767px) {
  .footer-deco__onomichi {
    margin-top: 9px;
  }
}

.address-wrap {
  display: flex;
  background-color: #fff;
  border-radius: 16px;
}
@media (max-width: 767px) {
  .address-wrap {
    flex-direction: column-reverse;
  }
}

.address__body {
  width: 50%;
  padding: 106px 61.5px;
}
@media (max-width: 767px) {
  .address__body {
    width: 100%;
    padding: 24px 27.5px;
  }
}

@media (max-width: 767px) {
  .address__logo {
    text-align: center;
  }
}
@media (max-width: 767px) {
  .address__logo img {
    width: 153px;
    height: 20px;
  }
}

.address__info {
  margin-top: 24px;
}
@media (max-width: 767px) {
  .address__info {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
  }
}

.address__info-row {
  display: flex;
}
.address__info-row:not(:first-child) {
  margin-top: 12px;
}
@media (max-width: 767px) {
  .address__info-row:not(:first-child) {
    margin-top: 8px;
  }
}

.address-info__term {
  width: 104.5px;
  padding-left: 15.5px;
  font-weight: 700;
  position: relative;
}
@media (max-width: 767px) {
  .address-info__term {
    width: 80px;
    font-size: 12px;
  }
}
.address-info__term::before {
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background-color: #9ED0E0;
  border-radius: 50%;
}

@media (max-width: 767px) {
  .address-info__detail {
    font-size: 12px;
  }
}

.address__map {
  width: 50%;
}
@media (max-width: 767px) {
  .address__map {
    width: 100%;
    height: 271px;
  }
}
.address__map iframe {
  width: 100%;
  height: 100%;
  border-radius: 0 16px 16px 0;
}
@media (max-width: 767px) {
  .address__map iframe {
    border-radius: 16px 16px 0 0;
  }
}

.footer__copy {
  background-color: #67B0C7;
  margin-top: 120px;
  position: relative;
}
@media (max-width: 767px) {
  .footer__copy {
    margin-top: 45px;
  }
}
.footer__copy::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 120px;
  top: -120px;
  left: 0;
  background: transparent url(../img/img_bg_wave-top.svg) repeat-x center center/contain;
}
@media (max-width: 767px) {
  .footer__copy::before {
    height: 45px;
    top: -45px;
    background-size: 96px 46px;
  }
}

.footer-copy {
  text-align: center;
  font-size: 14px;
  color: #fff;
  padding-bottom: 32px;
}
@media (max-width: 767px) {
  .footer-copy {
    font-size: 10px;
  }
}

.page-top {
  position: fixed;
  bottom: 40px;
  right: 40px;
  z-index: 200;
}
@media (max-width: 767px) {
  .page-top {
    position: static;
    text-align: center;
    padding-bottom: 24px;
  }
}

.pageTop-btn {
  background-color: transparent;
  cursor: pointer;
  transition: all 0.3s ease 0s;
}
@media (max-width: 767px) {
  .pageTop-btn img {
    width: 75px;
    height: 78px;
  }
}
.pageTop-btn:hover {
  opacity: 0.7;
}

.js-pageTop-btn {
  display: none;
}